summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--README.md (renamed from readme.md)0
-rw-r--r--data/awshit.pngbin607878 -> 0 bytes
-rw-r--r--data/bean.webpbin27804 -> 0 bytes
-rw-r--r--data/bisexual.webpbin28838 -> 0 bytes
-rw-r--r--data/counter.pngbin77977 -> 0 bytes
-rw-r--r--data/cursor.pngbin13269 -> 0 bytes
-rw-r--r--data/election.pngbin265918 -> 0 bytes
-rw-r--r--data/girl.pngbin177985 -> 0 bytes
-rw-r--r--data/gracies.pngbin97273 -> 0 bytes
-rw-r--r--data/obama.pngbin408970 -> 0 bytes
-rw-r--r--data/onion.webpbin48946 -> 0 bytes
-rw-r--r--data/pepsi.pngbin493116 -> 0 bytes
-rw-r--r--data/phone.webpbin49176 -> 0 bytes
-rw-r--r--data/rats.pngbin310979 -> 0 bytes
-rw-r--r--data/recharge.webpbin31134 -> 0 bytes
-rw-r--r--data/rit.webpbin2200 -> 0 bytes
-rw-r--r--data/roo.webpbin71466 -> 0 bytes
-rw-r--r--data/silence.webpbin36924 -> 0 bytes
-rw-r--r--data/twitter.webpbin28926 -> 0 bytes
-rw-r--r--data/ul.pngbin18408 -> 0 bytes
-rw-r--r--data/umbrella.webpbin117768 -> 0 bytes
-rw-r--r--index.html152
-rw-r--r--index.php166
-rw-r--r--public/buttons/amd.gif (renamed from data/amd.gif)bin3251 -> 3251 bytes
-rw-r--r--public/buttons/apocalypse.gif (renamed from data/apocalypse.gif)bin1297 -> 1297 bytes
-rw-r--r--public/buttons/dither.gif (renamed from data/dither.gif)bin18074 -> 18074 bytes
-rw-r--r--public/buttons/download.gif (renamed from data/free.gif)bin5158 -> 5158 bytes
-rw-r--r--public/buttons/html.gif (renamed from data/html.gif)bin1280 -> 1280 bytes
-rw-r--r--public/buttons/ie.gif (renamed from data/ie.gif)bin16100 -> 16100 bytes
-rw-r--r--public/buttons/netscape.gif (renamed from data/netscape.gif)bin8881 -> 8881 bytes
-rw-r--r--public/css/anim.css115
-rw-r--r--public/css/error.css36
-rw-r--r--public/css/fire.css12
-rw-r--r--public/css/gallery.css41
-rw-r--r--public/css/home.css108
-rw-r--r--public/css/main.css177
-rw-r--r--public/fires/battery.jpg (renamed from data/battery.jpg)bin100966 -> 100966 bytes
-rw-r--r--public/fires/gosnell.jpgbin0 -> 142882 bytes
-rw-r--r--public/fires/sol.jpgbin0 -> 143886 bytes
-rw-r--r--public/fires/stadium.jpgbin0 -> 128722 bytes
-rw-r--r--public/images/rit.jpgbin0 -> 3772 bytes
-rw-r--r--public/images/rotchie.jpg (renamed from data/rotchie.png)bin7860 -> 6273 bytes
-rw-r--r--public/memes/awshit.jpgbin0 -> 132533 bytes
-rw-r--r--public/memes/bean.jpgbin0 -> 65709 bytes
-rw-r--r--public/memes/bisexual.jpgbin0 -> 63329 bytes
-rw-r--r--public/memes/counter.jpgbin0 -> 26558 bytes
-rw-r--r--public/memes/election.jpgbin0 -> 77368 bytes
-rw-r--r--public/memes/girl.jpgbin0 -> 63965 bytes
-rw-r--r--public/memes/gracies.jpgbin0 -> 83800 bytes
-rw-r--r--public/memes/obama.jpgbin0 -> 161492 bytes
-rw-r--r--public/memes/onion.jpgbin0 -> 112568 bytes
-rw-r--r--public/memes/pepsi.jpgbin0 -> 136049 bytes
-rw-r--r--public/memes/phone.jpgbin0 -> 76792 bytes
-rw-r--r--public/memes/rats.jpgbin0 -> 80661 bytes
-rw-r--r--public/memes/recharge.jpgbin0 -> 89352 bytes
-rw-r--r--public/memes/roo.jpgbin0 -> 496150 bytes
-rw-r--r--public/memes/silence.jpgbin0 -> 88487 bytes
-rw-r--r--public/memes/twitter.jpgbin0 -> 60633 bytes
-rw-r--r--public/memes/ul.jpgbin0 -> 4983 bytes
-rw-r--r--public/memes/umbrella.jpgbin0 -> 217559 bytes
-rw-r--r--public/munson/1.jpg (renamed from data/munson/1.jpg)bin301807 -> 301807 bytes
-rw-r--r--public/munson/10.jpg (renamed from data/munson/10.jpg)bin30832 -> 30832 bytes
-rw-r--r--public/munson/3.jpg (renamed from data/munson/3.jpg)bin41768 -> 41768 bytes
-rw-r--r--public/munson/4.jpg (renamed from data/munson/4.jpg)bin41740 -> 41740 bytes
-rw-r--r--public/munson/5.jpg (renamed from data/munson/5.jpg)bin191624 -> 191624 bytes
-rw-r--r--public/munson/6.jpg (renamed from data/munson/6.jpg)bin181061 -> 181061 bytes
-rw-r--r--public/munson/7.jpg (renamed from data/munson/7.jpg)bin32450 -> 32450 bytes
-rw-r--r--public/munson/8.jpg (renamed from data/munson/8.jpg)bin8863 -> 8863 bytes
-rw-r--r--public/munson/9.jpg (renamed from data/munson/9.jpg)bin40200 -> 40200 bytes
-rw-r--r--public/sanders/1.jpgbin0 -> 23654 bytes
-rw-r--r--public/sanders/2.jpgbin0 -> 228432 bytes
-rw-r--r--public/sanders/3.jpgbin0 -> 242253 bytes
-rw-r--r--public/text/counting.gif (renamed from data/counting.gif)bin53549 -> 53549 bytes
-rw-r--r--public/text/education.gif (renamed from data/education.gif)bin61186 -> 61186 bytes
-rw-r--r--public/text/food.gif (renamed from data/food.gif)bin33252 -> 33252 bytes
-rw-r--r--public/text/housing.gif (renamed from data/housing.gif)bin49906 -> 49906 bytes
-rw-r--r--public/videos/2012 - Rap in Review.mp4bin0 -> 37804689 bytes
-rw-r--r--public/videos/2015 - The Return of the Holiday Rap: A Jedi's Chant.mp4 (renamed from data/raiders.webm)bin63331697 -> 55456188 bytes
-rw-r--r--public/videos/2022 - In the Brick of Time.mp4 (renamed from data/munson.mp4)bin80138051 -> 86790258 bytes
-rw-r--r--public/videos/2023 - Raiders of the Golden Brick.mp4bin0 -> 91737126 bytes
-rw-r--r--public/videos/2024 - The Wonderful Wizard of RIT.mp4bin0 -> 185659381 bytes
-rw-r--r--style.css450
-rw-r--r--web/error.php14
-rw-r--r--web/fire.php22
-rw-r--r--web/gallery.php57
-rw-r--r--web/home.php86
-rw-r--r--web/parts/footer.php22
-rw-r--r--web/parts/head.php14
-rw-r--r--web/parts/header.php35
89 files changed, 905 insertions, 602 deletions
diff --git a/readme.md b/README.md
index 1bf8b4f..1bf8b4f 100644
--- a/readme.md
+++ b/README.md
diff --git a/data/awshit.png b/data/awshit.png
deleted file mode 100644
index 3076374..0000000
--- a/data/awshit.png
+++ /dev/null
Binary files differ
diff --git a/data/bean.webp b/data/bean.webp
deleted file mode 100644
index 554b2c5..0000000
--- a/data/bean.webp
+++ /dev/null
Binary files differ
diff --git a/data/bisexual.webp b/data/bisexual.webp
deleted file mode 100644
index a17a418..0000000
--- a/data/bisexual.webp
+++ /dev/null
Binary files differ
diff --git a/data/counter.png b/data/counter.png
deleted file mode 100644
index 5bfd2f0..0000000
--- a/data/counter.png
+++ /dev/null
Binary files differ
diff --git a/data/cursor.png b/data/cursor.png
deleted file mode 100644
index 7dde816..0000000
--- a/data/cursor.png
+++ /dev/null
Binary files differ
diff --git a/data/election.png b/data/election.png
deleted file mode 100644
index f10ba68..0000000
--- a/data/election.png
+++ /dev/null
Binary files differ
diff --git a/data/girl.png b/data/girl.png
deleted file mode 100644
index 9a45223..0000000
--- a/data/girl.png
+++ /dev/null
Binary files differ
diff --git a/data/gracies.png b/data/gracies.png
deleted file mode 100644
index 5c37724..0000000
--- a/data/gracies.png
+++ /dev/null
Binary files differ
diff --git a/data/obama.png b/data/obama.png
deleted file mode 100644
index 61ceb68..0000000
--- a/data/obama.png
+++ /dev/null
Binary files differ
diff --git a/data/onion.webp b/data/onion.webp
deleted file mode 100644
index f2e05fc..0000000
--- a/data/onion.webp
+++ /dev/null
Binary files differ
diff --git a/data/pepsi.png b/data/pepsi.png
deleted file mode 100644
index 9ed6667..0000000
--- a/data/pepsi.png
+++ /dev/null
Binary files differ
diff --git a/data/phone.webp b/data/phone.webp
deleted file mode 100644
index 8fe9a6a..0000000
--- a/data/phone.webp
+++ /dev/null
Binary files differ
diff --git a/data/rats.png b/data/rats.png
deleted file mode 100644
index bac5c06..0000000
--- a/data/rats.png
+++ /dev/null
Binary files differ
diff --git a/data/recharge.webp b/data/recharge.webp
deleted file mode 100644
index ac7cf47..0000000
--- a/data/recharge.webp
+++ /dev/null
Binary files differ
diff --git a/data/rit.webp b/data/rit.webp
deleted file mode 100644
index b5086c8..0000000
--- a/data/rit.webp
+++ /dev/null
Binary files differ
diff --git a/data/roo.webp b/data/roo.webp
deleted file mode 100644
index e4c443f..0000000
--- a/data/roo.webp
+++ /dev/null
Binary files differ
diff --git a/data/silence.webp b/data/silence.webp
deleted file mode 100644
index 614f488..0000000
--- a/data/silence.webp
+++ /dev/null
Binary files differ
diff --git a/data/twitter.webp b/data/twitter.webp
deleted file mode 100644
index 90e4aa7..0000000
--- a/data/twitter.webp
+++ /dev/null
Binary files differ
diff --git a/data/ul.png b/data/ul.png
deleted file mode 100644
index 6a4063d..0000000
--- a/data/ul.png
+++ /dev/null
Binary files differ
diff --git a/data/umbrella.webp b/data/umbrella.webp
deleted file mode 100644
index 1e87b3d..0000000
--- a/data/umbrella.webp
+++ /dev/null
Binary files differ
diff --git a/index.html b/index.html
deleted file mode 100644
index 5aca8f7..0000000
--- a/index.html
+++ /dev/null
@@ -1,152 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
- <link rel="stylesheet" href="style.css">
- <title>munson</title>
- </head>
- <body><div><div><div id="mainBod">
- <menu class="flashy"></menu>
- <p class="title">
- <span style="display:inline-block;animation:1s title linear infinite;animation-delay:-1.42s">r</span>
- <span style="display:inline-block;animation:1s title linear infinite;animation-delay:-1.22s">i</span>
- <span style="display:inline-block;animation:1s title linear infinite;animation-delay:-1.01s">t</span>
- <span style="display:inline-block;animation:1s title linear infinite;animation-delay:-0.81s">.</span>
- <span style="display:inline-block;animation:1s title linear infinite;animation-delay:-0.61s">w</span>
- <span style="display:inline-block;animation:1s title linear infinite;animation-delay:-0.41s">t</span>
- <span style="display:inline-block;animation:1s title linear infinite;animation-delay:-0.21s">f</span>
- </p>
- <table class="top">
- <tr>
- <td style="animation-delay:-0.61s">
- <a href="http://munsonmakesamillion.com/" target="_blank">
- 💸 Munson Money 💸
- </a>
- </td>
- <td style="animation-delay:0s">
- <a href="https://www.rit.edu/news/umbrella-mistaken-as-weapon-campus" target="_blank">
- Got an umbrella? ☂️
- </a>
- </td>
- <td style="animation-delay:+0.21s">
- <a href="data/gracies.png" target="_blank">
- Gracies dinner time theater
- </a>
- </td>
- </tr>
- </table>
- <marquee behavior="alternate">
- <img src="data/awshit.png" loading="lazy"/>
- <img src="data/counter.png" loading="lazy"/>
- <img src="data/election.png" loading="lazy"/>
- <img src="data/girl.png" loading="lazy"/>
- <img src="data/pepsi.png" loading="lazy"/>
- <img src="data/rats.png" loading="lazy"/>
- <img src="data/roo.webp" loading="lazy"/>
- <img src="data/bisexual.webp" loading="lazy"/>
- <img src="data/onion.webp" loading="lazy"/>
- <img src="data/twitter.webp" loading="lazy"/>
- <img src="data/silence.webp" loading="lazy" />
- <img src="data/recharge.webp" loading="lazy" />
- <img src="data/phone.webp" loading="lazy" />
- <img src="data/obama.png" loading="lazy" />
- <img src="data/bean.webp" loading="lazy" />
- </marquee>
- <p class="sprinkler">
- Call 1-800-1ST-YEAR to get a sprinkler to go off in a dorm near you!
- </p>
- <div class="center">
- <div id="webring">
- <p>
- The
- <a class="spread" href="https://wr.stationery.faith">Stationery</a>
- Webring
- </p>
- <div class="links">
- <a href="https://wr.stationery.faith/prev/rit.wtf">&lt; Prev</a>
- <a href="https://wr.stationery.faith/random">Random</a>
- <a href="https://wr.stationery.faith/next/rit.wtf">Next &gt;</a>
- </div>
- </div>
- </div>
- <p id="middle">
- important stuff
- </p>
- <table class="middle">
- <tr>
- <td>
- <a href="http://rochesterapex.com/" target="_blank">
- <img src="data/housing.gif"/>
- </a>
- </td>
- </tr>
- <tr>
- <td>
- <a href="https://www.reveddit.com/v/rit/comments/z719e8/theyre_lying_to_us_about_the_females_here_blowing/?utm_source=share&utm_medium=ios_app&utm_name=iossmf" target="_blank">
- <img src="data/counting.gif"/>
- </a>
- </td>
- </tr>
- <tr>
- <td>
- <a href="https://www.democratandchronicle.com/story/news/2021/08/31/peter-kiwitt-former-rit-professor-sex-trafficking/5589597001/" target="_blank">
- <img src="data/education.gif"/>
- </a>
- </td>
- </tr>
- <tr>
- <td>
- <a href="https://www.rit.edu/fa/diningservices/gracies#1" target="_blank">
- <img src="data/food.gif"/>
- </a>
- </td>
- </tr>
- </table>
- <iframe src="https://john.citrons.xyz/embed?ref=rit.wtf" class="john"></iframe>
- <p class=munson>
- The munson art gallery
- </p>
- <div id="munson">
- <img src="data/munson/1.jpg" loading="lazy"/>
- <img src="data/munson/3.jpg" loading="lazy"/>
- <img src="data/munson/4.jpg" loading="lazy"/>
- <img src="data/munson/5.jpg" loading="lazy"/>
- <img src="data/munson/6.jpg" loading="lazy"/>
- <img src="data/munson/7.jpg" loading="lazy"/>
- <img src="data/munson/8.jpg" loading="lazy"/>
- <img src="data/munson/9.jpg" loading="lazy"/>
- <img src="data/munson/10.jpg" loading="lazy"/>
- </div>
- <div id="batterys">
- <p style="--rot: 0deg;">Lithium Ion Battery's</p>
- <p style="--rot: 270deg;">Lithium Ion Battery's</p>
- </div>
- <div id="batterys" style="margin-bottom: 30vw;">
- <img style="--rot: 0deg;" src="data/battery.jpg" loading="lazy"/>
- <img style="--rot: 270deg;" src="data/battery.jpg" loading="lazy"/>
- </div>
- <div class="thicc"></div>
- <div class="buttons">
- <img src="data/apocalypse.gif" loading="lazy" class="clickable" onclick="document.documentElement.classList.toggle('wank')"/>
- <img src="data/amd.gif" loading="lazy"/>
- <img src="data/dither.gif" loading="lazy" class="clickable" onclick="document.documentElement.classList.toggle('dither')"/>
- <a class="clickable" href="https://validator.w3.org/nu/?doc=https%3A%2F%2Frit.wtf" target="_blank">
- <img src="data/html.gif" loading="lazy"/>
- </a>
- <img src="data/ie.gif" loading="lazy" class="clickable" onclick="document.documentElement.classList.toggle('flash')"/>
- <img src="data/netscape.gif" loading="lazy"/>
- <a class="clickable" href="https://g.freya.cat/freya/rit.wtf" target="_blank">
- <img src="data/free.gif" loading="lazy"/>
- </a>
- </div>
- <footer>
- <video autoplay muted loop>
- <source src="data/raiders.webm" type="video/mp4">
- </video>
- <video autoplay muted loop>
- <source src="data/munson.mp4" type="video/mp4">
- </video>
- </footer>
- </div></div></div></div></body>
-</html>
diff --git a/index.php b/index.php
new file mode 100644
index 0000000..447b300
--- /dev/null
+++ b/index.php
@@ -0,0 +1,166 @@
+<?php
+/// RIT.WTF --- Daddy munson
+/// Copyright © 2024 Freya Murphy <freya@freyacat.org>
+
+
+// Create global assets object
+
+function __make_assets(): object {
+ $assets = array(
+ // 80x33 buttons
+ 'buttons' => array(
+ 'amd' => 'amd.gif',
+ 'apocalypse' => 'apocalypse.gif',
+ 'dither' => 'dither.gif',
+ 'download' => 'download.gif',
+ 'html' => 'html.gif',
+ 'ie' => 'ie.gif',
+ 'netscape' => 'netscape.gif',
+ ),
+ // css styles
+ 'css' => array(
+ 'main' => 'main.css', // main style
+ 'anim' => 'anim.css', // animations
+
+ 'home' => 'home.css',
+ 'fire' => 'fire.css',
+ 'gallery' => 'gallery.css',
+ 'error' => 'error.css',
+ ),
+ // why does rit keep catching on fire!
+ 'fires' => array(
+ 'battery' => 'battery.jpg',
+ 'gosnell' => 'gosnell.jpg',
+ 'sol' => 'sol.jpg',
+ 'stadium' => 'stadium.jpg',
+ ),
+ // standard imaged images
+ 'images' => array(
+ 'rit' => 'rit.jpg',
+ 'rotchie' => 'rotchie.jpg',
+ ),
+ // goofy ahh memes
+ 'memes' => array(
+ 'awshit' => 'awshit.jpg',
+ 'bean' => 'bean.jpg',
+ 'bisexual' => 'bisexual.jpg',
+ 'counter' => 'counter.jpg',
+ 'election' => 'election.jpg',
+ 'girl' => 'girl.jpg',
+ 'gracies' => 'gracies.jpg',
+ 'obama' => 'obama.jpg',
+ 'onion' => 'onion.jpg',
+ 'pepsi' => 'pepsi.jpg',
+ 'phone' => 'phone.jpg',
+ 'rats' => 'rats.jpg',
+ 'recharge' => 'recharge.jpg',
+ 'roo' => 'roo.jpg',
+ 'silence' => 'silence.jpg',
+ 'twitter' => 'twitter.jpg',
+ 'ul' => 'ul.jpg',
+ 'umbrella' => 'umbrella.jpg',
+ ),
+ // munson art gallery
+ 'munson' => array(
+ '1.jpg',
+ '3.jpg',
+ '4.jpg',
+ '5.jpg',
+ '6.jpg',
+ '7.jpg',
+ '8.jpg',
+ '9.jpg',
+ '10.jpg',
+ ),
+ // sanders art gallery
+ 'sanders' => array(
+ '1.jpg',
+ '2.jpg',
+ '3.jpg',
+ ),
+ // text gifs
+ 'text' => array(
+ 'counting' => 'counting.gif',
+ 'education' => 'education.gif',
+ 'food' => 'food.gif',
+ 'housing' => 'housing.gif',
+ ),
+ // feature films
+ 'videos' => array(
+ 'review' => '2012 - Rap in Review.mp4',
+ 'jedi' => '2015 - The Return of the Holiday Rap: A Jedi\'s Chant.mp4',
+ 'brick' => '2022 - In the Brick of Time.mp4',
+ 'raiders' => '2023 - Raiders of the Golden Brick.mp4',
+ 'wizard' => '2024 - The Wonderful Wizard of RIT.mp4',
+ ),
+ );
+
+ function update_paths(&$data, $path) {
+ foreach ($data as $key => $value) {
+ if (is_array($value)) {
+ update_paths($value, "$path/$key");
+ $data[$key] = $value;
+ } else {
+ $data[$key] = "$path/$value?rev=1";
+ }
+ }
+ $data = (object) $data;
+ }
+ update_paths($assets, 'public');
+ return $assets;
+}
+
+define('ASSETS', __make_assets());
+
+// Helper functions
+
+// Parse request route
+
+function __get_route() {
+ $method = $_SERVER['REQUEST_METHOD'];
+ $uri_str = $_SERVER['REQUEST_URI'];
+ $uri = parse_url($uri_str);
+
+ $path = '/';
+ if ($uri && array_key_exists('path', $uri))
+ $path = $uri['path'];
+
+ return [$method, $path];
+}
+
+define('ROUTE', __get_route());
+
+// Pages
+
+function home() {
+ $css = ASSETS->css->home;
+ include('web/home.php');
+}
+
+function fire() {
+ $css = ASSETS->css->fire;
+ include('web/fire.php');
+}
+
+function gallery() {
+ $css = ASSETS->css->gallery;
+ include('web/gallery.php');
+}
+
+function error($code) {
+ $css = ASSETS->css->error;
+ include('web/error.php');
+}
+
+// Dispatch
+
+try {
+ match (ROUTE) {
+ ['GET', '/'] => home(),
+ ['GET', '/fire'] => fire(),
+ ['GET', '/gallery'] => gallery(),
+ default => error(404)
+ };
+} catch (Throwable $e) {
+ error(500);
+}
diff --git a/data/amd.gif b/public/buttons/amd.gif
index 344cda4..344cda4 100644
--- a/data/amd.gif
+++ b/public/buttons/amd.gif
Binary files differ
diff --git a/data/apocalypse.gif b/public/buttons/apocalypse.gif
index 650ea88..650ea88 100644
--- a/data/apocalypse.gif
+++ b/public/buttons/apocalypse.gif
Binary files differ
diff --git a/data/dither.gif b/public/buttons/dither.gif
index 27c8f78..27c8f78 100644
--- a/data/dither.gif
+++ b/public/buttons/dither.gif
Binary files differ
diff --git a/data/free.gif b/public/buttons/download.gif
index 6391de5..6391de5 100644
--- a/data/free.gif
+++ b/public/buttons/download.gif
Binary files differ
diff --git a/data/html.gif b/public/buttons/html.gif
index 8ff4129..8ff4129 100644
--- a/data/html.gif
+++ b/public/buttons/html.gif
Binary files differ
diff --git a/data/ie.gif b/public/buttons/ie.gif
index 9aee848..9aee848 100644
--- a/data/ie.gif
+++ b/public/buttons/ie.gif
Binary files differ
diff --git a/data/netscape.gif b/public/buttons/netscape.gif
index 3a54dbc..3a54dbc 100644
--- a/data/netscape.gif
+++ b/public/buttons/netscape.gif
Binary files differ
diff --git a/public/css/anim.css b/public/css/anim.css
new file mode 100644
index 0000000..d46feb4
--- /dev/null
+++ b/public/css/anim.css
@@ -0,0 +1,115 @@
+
+/* used for background */
+@keyframes diag {
+ from {
+ background-position: 0 0;
+ }
+ to {
+ background-position: 10% 10%;
+ }
+}
+
+/* used for title */
+@keyframes bounce {
+ 0%,
+ 100% {
+ transform:translateY(-25%);
+ animation-timing-function:cubic-bezier(.8,0,1,1)
+ }
+ 50% {
+ transform:none;
+ animation-timing-function:cubic-bezier(0,0,.2,1)
+ }
+}
+
+/* used in footer videos */
+@keyframes flip {
+ 0%, 100% {
+ transform: rotateY(0deg) rotateX(0deg);
+ }
+ 50% {
+ transform: rotateY(3000deg) rotateX(3000deg);
+ }
+}
+
+/* used in ie button */
+@keyframes strobe {
+ 0%, 100% {
+ background-color: rgba(255,0,0,.4);
+ }
+ 20% {
+ background-color: rgba(255,255,0,.4);
+ }
+ 40% {
+ background-color: rgba(0,255,0,.4);
+ }
+ 60% {
+ background-color: rgba(0,255,255,.4);
+ }
+ 80% {
+ background-color: rgba(0,0,255,.4);
+ }
+}
+
+/* LITHIUM ION BATTERIES!!! */
+@keyframes cube {
+ from {
+ transform: translateX(-50%) rotateY(var(--rot)) translateZ(calc(var(--width)/2));
+ }
+ to {
+ transform: translateX(-50%) rotateY(calc(var(--rot) + 90deg)) translateZ(calc(var(--width)/2));
+ }
+}
+
+/* used in motd */
+@keyframes flash {
+ 50% {
+ opacity: 0;
+ }
+}
+
+@keyframes colorflash {
+ 0%, 100%, 49% {
+ border: 5px solid orange;
+ background-color: black;
+ color: orange;
+ }
+ 50%, 99% {
+ border: 5px solid black;
+ background-color: orange;
+ color: black;
+ }
+}
+
+@keyframes border {
+ 0%,
+ 100% {
+ border: 2px solid rgb(255, 0, 0);
+ }
+ 33% {
+ border: 2px solid rgb(0, 255, 0);
+ }
+ 66% {
+ border: 2px solid rgb(0, 0, 255);
+ }
+}
+
+@keyframes across {
+ 0%,
+ 100% {
+ transform: translateX(0%);
+ }
+ 50% {
+ transform: translateX(calc(80vw - 100%));
+ }
+}
+
+@keyframes scale {
+ from {
+ transform: scale3d(100%, 100%, 100%);
+ }
+ to {
+ transform: scale3d(120%, 120%, 120%);
+ }
+}
+
diff --git a/public/css/error.css b/public/css/error.css
new file mode 100644
index 0000000..b43bb65
--- /dev/null
+++ b/public/css/error.css
@@ -0,0 +1,36 @@
+#error {
+ color: white;
+ margin: 100px 0;
+
+ * {
+ display: block;
+ width: fit-content;
+ margin: 0 auto;
+ }
+
+ .code {
+ color: yellow;
+ font-size: 80px;
+ text-shadow: 0px 0px 0 rgb(240,248,0),
+ 1px 1px 0 rgb(234,242,0),
+ 2px 2px 0 rgb(227,235,0),
+ 3px 3px 0 rgb(221,229,0),
+ 4px 4px 0 rgb(214,222,0),
+ 5px 5px 0 rgb(208,216,0),
+ 6px 6px 0 rgb(201,209,0),
+ 7px 7px 0 rgb(194,202,0),
+ 8px 8px 0 rgb(188,196,0),
+ 9px 9px 0 rgb(181,189,0),
+ 10px 10px 0 rgb(175,183,0),
+ 11px 11px 0 rgb(168,176,0),
+ 12px 12px 0 rgb(161,169,0),
+ 13px 13px 0 rgb(155,163,0),
+ 14px 14px 0 rgb(148,156,0),
+ 15px 15px 0 rgb(142,150,0),
+ 16px 16px 0 rgb(135,143,0),
+ 17px 17px 0 rgb(129,137,0),
+ 18px 18px 0 rgb(122,130,0),
+ 19px 19px 0 rgb(115,123,0),
+ 20px 20px 0 rgb(109,117,0);
+ }
+}
diff --git a/public/css/fire.css b/public/css/fire.css
new file mode 100644
index 0000000..ecf5dff
--- /dev/null
+++ b/public/css/fire.css
@@ -0,0 +1,12 @@
+
+#fires {
+ marquee {
+ margin: 20px auto;
+ display: block;
+
+ img {
+ width: fit-content;
+ height: 400px;
+ }
+ }
+}
diff --git a/public/css/gallery.css b/public/css/gallery.css
new file mode 100644
index 0000000..ff64c88
--- /dev/null
+++ b/public/css/gallery.css
@@ -0,0 +1,41 @@
+.title {
+ text-align: center;
+ width: 80%;
+ font-size: 5vh;
+ padding: 0;
+ margin: 0;
+ margin-bottom: 1em;
+ animation: colorflash 1s linear infinite;
+ margin-left: 10%;
+}
+
+#munson {
+ margin-top: 40px;
+
+ .gallery {
+ display: grid;
+ grid-template-columns: repeat(3, 1fr);
+
+ img {
+ height: 20vh;
+ width: 100%;
+
+ &:hover {
+ animation: scale 0.3s linear;
+ animation-fill-mode: forwards;
+ }
+ }
+ }
+}
+
+#films, #raps {
+ margin-top: 40px;
+
+ video {
+ display: block;
+ margin: 0 auto;
+ padding: 10px;
+ max-width: 900px;
+ width: 80%;
+ }
+}
diff --git a/public/css/home.css b/public/css/home.css
new file mode 100644
index 0000000..1310db1
--- /dev/null
+++ b/public/css/home.css
@@ -0,0 +1,108 @@
+
+#memes {
+ margin-top: 40px;
+
+ img {
+ height: 200px;
+ }
+}
+
+#motd {
+ margin-top: 40px;
+ text-align: center;
+ font-size: 30px;
+ font-weight: 1000;
+ color: aqua;
+ animation: flash 1s linear infinite;
+ background-color: black;
+}
+
+#links {
+ .title {
+ width: fit-content;
+ background-color: black;
+ color: orange;
+ font-size: 30px;
+ margin-left: 10%;
+ margin-bottom: 10px;
+ animation: across 2s linear infinite;
+ }
+
+ .btn {
+ width: 600px;
+ margin: 0 auto;
+
+ img {
+ display: block;
+ margin: 0 auto;
+ }
+ }
+}
+
+#battery {
+ margin: 0 auto;
+ width: fit-content;
+ margin-top: 40px;
+ perspective: infinite;
+
+ * {
+ --width: 500px;
+ width: var(--width);
+ }
+
+ .title, .battery {
+ position: relative;
+
+ >* {
+ position: absolute;
+ left: 50%;
+ animation: cube 2.5s linear infinite;
+ }
+ }
+
+ .title {
+ height: 95px;
+ >* {
+ background-color: #232323;
+ color: #fff;
+ font-size: 40px;
+ text-align: center;
+ text-shadow: 0 0 5px #fff, 0 0 10px #fff, 0 0 15px #fff, 0 0 20px #49ff18, 0 0 30px #49ff18, 0 0 40px #49ff18, 0 0 55px #49ff18, 0 0 75px #49ff18;
+ }
+ }
+
+ .battery {
+ height: 280px;
+ }
+}
+
+#sanders {
+ margin-top: 40px;
+
+ .title {
+ text-align: center;
+ width: 80%;
+ font-size: 5vh;
+ padding: 0;
+ margin: 0;
+ margin-bottom: 1em;
+ animation: colorflash 1s linear infinite;
+ margin-left: 10%;
+ }
+
+ .gallery {
+ display: grid;
+ grid-template-columns: repeat(3, 1fr);
+
+ img {
+ height: 20vh;
+ width: 100%;
+
+ &:hover {
+ animation: scale 0.3s linear;
+ animation-fill-mode: forwards;
+ }
+ }
+ }
+}
+
diff --git a/public/css/main.css b/public/css/main.css
new file mode 100644
index 0000000..c2cba8b
--- /dev/null
+++ b/public/css/main.css
@@ -0,0 +1,177 @@
+/* elements */
+
+html {
+ overflow: auto;
+}
+
+body {
+ margin: 0;
+ min-width: 800px;
+ min-height: 100vh;
+ position: relative;
+ font-family: "Comic Sans", "Comic Sans MS", sans-serif;
+ cursor: url("../images/rotchie.jpg"), auto;
+ background-image: url("../images/rit.jpg");
+ animation: diag 1s linear infinite alternate;
+}
+
+a {
+ color: yellow;
+}
+
+a:hover, [onclick]:hover {
+ cursor: url("../images/cursor.png"), pointer !important;
+}
+
+.btn {
+ background: black;
+ color: yellow;
+ padding: 5px;
+ margin: 5px auto;
+ border: 3px solid yellow;
+ width: fit-content;
+
+ &:hover {
+ background: orange;
+ color: black;
+ border-color: black;
+ }
+}
+
+/* header */
+
+header#header {
+
+ /* goofy bouncy title :3 */
+ div#title {
+ margin-top: 40px;
+ width: 100%;
+ text-align: center;
+ font-size: 75px;
+ color: #f7ff07;
+ font-family: Courier New;
+ text-shadow: 0px 0px 0 rgb(240,248,0),
+ 1px 1px 0 rgb(234,242,0),
+ 2px 2px 0 rgb(227,235,0),
+ 3px 3px 0 rgb(221,229,0),
+ 4px 4px 0 rgb(214,222,0),
+ 5px 5px 0 rgb(208,216,0),
+ 6px 6px 0 rgb(201,209,0),
+ 7px 7px 0 rgb(194,202,0),
+ 8px 8px 0 rgb(188,196,0),
+ 9px 9px 0 rgb(181,189,0),
+ 10px 10px 0 rgb(175,183,0),
+ 11px 11px 0 rgb(168,176,0),
+ 12px 12px 0 rgb(161,169,0),
+ 13px 13px 0 rgb(155,163,0),
+ 14px 14px 0 rgb(148,156,0),
+ 15px 15px 0 rgb(142,150,0),
+ 16px 16px 0 rgb(135,143,0),
+ 17px 17px 0 rgb(129,137,0),
+ 18px 18px 0 rgb(122,130,0),
+ 19px 19px 0 rgb(115,123,0),
+ 20px 20px 0 rgb(109,117,0),
+ 21px 21px 0 rgb(102,110,0),
+ 22px 22px 0 rgb(96,104,0),
+ 23px 23px 0 rgb(89,97,0),
+ 24px 24px 0 rgb(83,91,0),
+ 25px 25px 0 rgb(76,84,0),
+ 26px 26px 0 rgb(69,77,0),
+ 27px 27px 0 rgb(63,71,0),
+ 28px 28px 0 rgb(56,64,0),
+ 29px 29px 0 rgb(50,58,0),
+ 30px 30px 0 rgb(43,51,0),
+ 31px 31px 0 rgb(36,44,0),
+ 32px 32px 0 rgb(30,38,0),
+ 33px 33px 0 rgb(23,31,0),
+ 34px 34px 0 rgb(17,25,0),
+ 35px 35px 0 rgb(10,18,0),
+ 36px 36px 0 rgb(4,12,0),
+ 37px 37px 0 rgb(-3,5,0),
+ 38px 38px 0 rgb(-10,-2,0),
+ 39px 39px 38px rgba(255,0,0,1),
+ 39px 39px 1px rgba(255,0,0,0.5),
+ 0px 0px 38px rgba(255,0,0,.2);
+
+ span {
+ display: inline-block;
+ animation: 1s bounce linear infinite;
+ }
+ }
+
+ /* nav bar */
+ nav#nav {
+ margin-top: 40px;
+ margin-left: auto;
+ margin-right: auto;
+ width: fit-content;
+ }
+
+}
+
+/* footer */
+
+footer#footer {
+ margin-top: 40px;
+
+ #buttons {
+ display: block;
+ margin: 0 auto;
+ width: fit-content;
+
+ img {
+ height: 33px;
+ }
+ }
+
+ #john {
+ display: block;
+ margin: 0 auto;
+ max-width: 732px;
+ height: 94px;
+ width: 100%;
+ border: none;
+ background: white;
+ }
+}
+
+/* dither */
+
+html.dither {
+
+ #ditherMask {
+ background: url("data:image/webp;base64,UklGRjAAAABXRUJQVlA4TCQAAAAvA8AAAIVS27ahb3uzOUmSJoqqrOq6P47of8DQdcprYdP8/VY=");
+ filter: contrast(2000);
+ image-rendering: crisp-edges;
+ }
+
+ #ditherFilter {
+ filter: initial;
+ mix-blend-mode: soft-light;
+ isolation: isolate;
+ image-rendering: initial;
+ }
+}
+
+/* flip */
+
+html.flip {
+ transform: rotateZ(180deg);
+}
+
+/* strobe */
+
+#strobe {
+ pointer-events: none;
+ position: sticky;
+ top: 0;
+ left: 0;
+ height: 100%;
+ width: 100vw;
+}
+
+html.strobe {
+ #strobe {
+ animation: strobe .25s linear infinite;
+ }
+}
diff --git a/data/battery.jpg b/public/fires/battery.jpg
index 018eacc..018eacc 100644
--- a/data/battery.jpg
+++ b/public/fires/battery.jpg
Binary files differ
diff --git a/public/fires/gosnell.jpg b/public/fires/gosnell.jpg
new file mode 100644
index 0000000..7e737fb
--- /dev/null
+++ b/public/fires/gosnell.jpg
Binary files differ
diff --git a/public/fires/sol.jpg b/public/fires/sol.jpg
new file mode 100644
index 0000000..bc74472
--- /dev/null
+++ b/public/fires/sol.jpg
Binary files differ
diff --git a/public/fires/stadium.jpg b/public/fires/stadium.jpg
new file mode 100644
index 0000000..4adc767
--- /dev/null
+++ b/public/fires/stadium.jpg
Binary files differ
diff --git a/public/images/rit.jpg b/public/images/rit.jpg
new file mode 100644
index 0000000..9b1766f
--- /dev/null
+++ b/public/images/rit.jpg
Binary files differ
diff --git a/data/rotchie.png b/public/images/rotchie.jpg
index 31828ed..ba19441 100644
--- a/data/rotchie.png
+++ b/public/images/rotchie.jpg
Binary files differ
diff --git a/public/memes/awshit.jpg b/public/memes/awshit.jpg
new file mode 100644
index 0000000..6c5f65c
--- /dev/null
+++ b/public/memes/awshit.jpg
Binary files differ
diff --git a/public/memes/bean.jpg b/public/memes/bean.jpg
new file mode 100644
index 0000000..3e1d9ee
--- /dev/null
+++ b/public/memes/bean.jpg
Binary files differ
diff --git a/public/memes/bisexual.jpg b/public/memes/bisexual.jpg
new file mode 100644
index 0000000..1252b7b
--- /dev/null
+++ b/public/memes/bisexual.jpg
Binary files differ
diff --git a/public/memes/counter.jpg b/public/memes/counter.jpg
new file mode 100644
index 0000000..8ba677f
--- /dev/null
+++ b/public/memes/counter.jpg
Binary files differ
diff --git a/public/memes/election.jpg b/public/memes/election.jpg
new file mode 100644
index 0000000..49cff44
--- /dev/null
+++ b/public/memes/election.jpg
Binary files differ
diff --git a/public/memes/girl.jpg b/public/memes/girl.jpg
new file mode 100644
index 0000000..8f7f8f0
--- /dev/null
+++ b/public/memes/girl.jpg
Binary files differ
diff --git a/public/memes/gracies.jpg b/public/memes/gracies.jpg
new file mode 100644
index 0000000..4bf6c07
--- /dev/null
+++ b/public/memes/gracies.jpg
Binary files differ
diff --git a/public/memes/obama.jpg b/public/memes/obama.jpg
new file mode 100644
index 0000000..14c0aa6
--- /dev/null
+++ b/public/memes/obama.jpg
Binary files differ
diff --git a/public/memes/onion.jpg b/public/memes/onion.jpg
new file mode 100644
index 0000000..a2c7587
--- /dev/null
+++ b/public/memes/onion.jpg
Binary files differ
diff --git a/public/memes/pepsi.jpg b/public/memes/pepsi.jpg
new file mode 100644
index 0000000..6e3136f
--- /dev/null
+++ b/public/memes/pepsi.jpg
Binary files differ
diff --git a/public/memes/phone.jpg b/public/memes/phone.jpg
new file mode 100644
index 0000000..ab11938
--- /dev/null
+++ b/public/memes/phone.jpg
Binary files differ
diff --git a/public/memes/rats.jpg b/public/memes/rats.jpg
new file mode 100644
index 0000000..bb34a7d
--- /dev/null
+++ b/public/memes/rats.jpg
Binary files differ
diff --git a/public/memes/recharge.jpg b/public/memes/recharge.jpg
new file mode 100644
index 0000000..1aaf2ea
--- /dev/null
+++ b/public/memes/recharge.jpg
Binary files differ
diff --git a/public/memes/roo.jpg b/public/memes/roo.jpg
new file mode 100644
index 0000000..b6d253c
--- /dev/null
+++ b/public/memes/roo.jpg
Binary files differ
diff --git a/public/memes/silence.jpg b/public/memes/silence.jpg
new file mode 100644
index 0000000..85263d2
--- /dev/null
+++ b/public/memes/silence.jpg
Binary files differ
diff --git a/public/memes/twitter.jpg b/public/memes/twitter.jpg
new file mode 100644
index 0000000..81228b3
--- /dev/null
+++ b/public/memes/twitter.jpg
Binary files differ
diff --git a/public/memes/ul.jpg b/public/memes/ul.jpg
new file mode 100644
index 0000000..c9d0d63
--- /dev/null
+++ b/public/memes/ul.jpg
Binary files differ
diff --git a/public/memes/umbrella.jpg b/public/memes/umbrella.jpg
new file mode 100644
index 0000000..2833327
--- /dev/null
+++ b/public/memes/umbrella.jpg
Binary files differ
diff --git a/data/munson/1.jpg b/public/munson/1.jpg
index 9b3d142..9b3d142 100644
--- a/data/munson/1.jpg
+++ b/public/munson/1.jpg
Binary files differ
diff --git a/data/munson/10.jpg b/public/munson/10.jpg
index 2fedc35..2fedc35 100644
--- a/data/munson/10.jpg
+++ b/public/munson/10.jpg
Binary files differ
diff --git a/data/munson/3.jpg b/public/munson/3.jpg
index 02a373e..02a373e 100644
--- a/data/munson/3.jpg
+++ b/public/munson/3.jpg
Binary files differ
diff --git a/data/munson/4.jpg b/public/munson/4.jpg
index aa1330d..aa1330d 100644
--- a/data/munson/4.jpg
+++ b/public/munson/4.jpg
Binary files differ
diff --git a/data/munson/5.jpg b/public/munson/5.jpg
index d5323e2..d5323e2 100644
--- a/data/munson/5.jpg
+++ b/public/munson/5.jpg
Binary files differ
diff --git a/data/munson/6.jpg b/public/munson/6.jpg
index 9dfbf9b..9dfbf9b 100644
--- a/data/munson/6.jpg
+++ b/public/munson/6.jpg
Binary files differ
diff --git a/data/munson/7.jpg b/public/munson/7.jpg
index 9dceba6..9dceba6 100644
--- a/data/munson/7.jpg
+++ b/public/munson/7.jpg
Binary files differ
diff --git a/data/munson/8.jpg b/public/munson/8.jpg
index b7cd7d8..b7cd7d8 100644
--- a/data/munson/8.jpg
+++ b/public/munson/8.jpg
Binary files differ
diff --git a/data/munson/9.jpg b/public/munson/9.jpg
index 043377c..043377c 100644
--- a/data/munson/9.jpg
+++ b/public/munson/9.jpg
Binary files differ
diff --git a/public/sanders/1.jpg b/public/sanders/1.jpg
new file mode 100644
index 0000000..cf06886
--- /dev/null
+++ b/public/sanders/1.jpg
Binary files differ
diff --git a/public/sanders/2.jpg b/public/sanders/2.jpg
new file mode 100644
index 0000000..e75954f
--- /dev/null
+++ b/public/sanders/2.jpg
Binary files differ
diff --git a/public/sanders/3.jpg b/public/sanders/3.jpg
new file mode 100644
index 0000000..8c76c43
--- /dev/null
+++ b/public/sanders/3.jpg
Binary files differ
diff --git a/data/counting.gif b/public/text/counting.gif
index 32ed841..32ed841 100644
--- a/data/counting.gif
+++ b/public/text/counting.gif
Binary files differ
diff --git a/data/education.gif b/public/text/education.gif
index 24012ff..24012ff 100644
--- a/data/education.gif
+++ b/public/text/education.gif
Binary files differ
diff --git a/data/food.gif b/public/text/food.gif
index ce0fdbf..ce0fdbf 100644
--- a/data/food.gif
+++ b/public/text/food.gif
Binary files differ
diff --git a/data/housing.gif b/public/text/housing.gif
index 118e71c..118e71c 100644
--- a/data/housing.gif
+++ b/public/text/housing.gif
Binary files differ
diff --git a/public/videos/2012 - Rap in Review.mp4 b/public/videos/2012 - Rap in Review.mp4
new file mode 100644
index 0000000..6ebe71f
--- /dev/null
+++ b/public/videos/2012 - Rap in Review.mp4
Binary files differ
diff --git a/data/raiders.webm b/public/videos/2015 - The Return of the Holiday Rap: A Jedi's Chant.mp4
index c462adf..c584476 100644
--- a/data/raiders.webm
+++ b/public/videos/2015 - The Return of the Holiday Rap: A Jedi's Chant.mp4
Binary files differ
diff --git a/data/munson.mp4 b/public/videos/2022 - In the Brick of Time.mp4
index cc158f5..9de4e8e 100644
--- a/data/munson.mp4
+++ b/public/videos/2022 - In the Brick of Time.mp4
Binary files differ
diff --git a/public/videos/2023 - Raiders of the Golden Brick.mp4 b/public/videos/2023 - Raiders of the Golden Brick.mp4
new file mode 100644
index 0000000..9a6cd10
--- /dev/null
+++ b/public/videos/2023 - Raiders of the Golden Brick.mp4
Binary files differ
diff --git a/public/videos/2024 - The Wonderful Wizard of RIT.mp4 b/public/videos/2024 - The Wonderful Wizard of RIT.mp4
new file mode 100644
index 0000000..c1197a6
--- /dev/null
+++ b/public/videos/2024 - The Wonderful Wizard of RIT.mp4
Binary files differ
diff --git a/style.css b/style.css
deleted file mode 100644
index 19add7a..0000000
--- a/style.css
+++ /dev/null
@@ -1,450 +0,0 @@
-html, body, #mainBod {
- margin: 0;
- padding: 0;
-}
-
-#mainBod {
- cursor: url("data/rotchie.png"), auto;
- top: 0; bottom: 0;
- left: 0; right: 0;
- overflow: auto;
- background-image: url("data/rit.webp");
- width: 100vw;
- min-height: 100vh;
- height: 100vh;
- animation: bg 1s linear infinite alternate;
- display: flex;
- flex-direction: column;
- font-family: "Comic Sans", "Comic Sans MS", "Chalkboard", "ChalkboardSE-Regular", sans-serif;
-}
-
-.wank {
- transform: rotateZ(180deg);
-}
-
-.thicc {
- flex: 1;
-}
-
-.top {
- width: 50%;
- background-color: black;
- color: white;
- align-self: center;
- text-align: center;
-}
-
-#middle {
- font-size: 2em;
- width: fit-content;
- background-color: black;
- color: orange;
- animation: across 2s linear infinite;
- margin-left: 10%;
-}
-
-a {
- cursor: url("data/cursor.png"), pointer !important;
-}
-
-td a {
- color: yellow;
-}
-
-.clickable:hover {
- cursor: url("data/cursor.png"), pointer !important;
-}
-
-td:hover {
- background-color: orange;
-}
-
-td:hover a {
- color: black;
-}
-
-.top td {
- animation: border 1s linear infinite alternate;
-}
-
-.middle {
- width: 75%;
- align-self: center;
- text-align: center;
- background-color: black;
- margin-bottom: 2em;
-}
-
-.middle td {
- border: .25vw solid orange;
- height: 5vw;
-}
-
-.middle td:hover {
- border: 2px solid black;
- background-color: orange;
-}
-
-footer {
- background-size: cover;
- position: sticky;
- display: flex;
- flex-direction: column;
- bottom: 0;
- height: 20%;
- min-height: 20%;
- margin: 0;
- overflow: auto;
-}
-
-.buttons {
- position: sticky;
- bottom: 20%;
- align-self: center;
- margin: 0;
- margin-top: 1em;
-}
-
-.buttons img {
- height: 2em;
-}
-
-footer video {
- width: 100%;
- height: 100%;
- object-fit: fill;
- margin: 0;
- animation: spin 10s linear infinite;
-}
-
-marquee {
- margin-top: 2em;
- display: block;
- height: 12em;
- flex-shrink: 0;
-}
-
-marquee img {
- height: 12em;
-}
-
-.title {
- width: 100%;
- text-align: center;
- font-size: 75px;
- margin: 0.75em 0em;
- color: #f7ff07;
- font-family: Courier New;
- text-shadow: 0px 0px 0 rgb(240,248,0),
- 1px 1px 0 rgb(234,242,0),
- 2px 2px 0 rgb(227,235,0),
- 3px 3px 0 rgb(221,229,0),
- 4px 4px 0 rgb(214,222,0),
- 5px 5px 0 rgb(208,216,0),
- 6px 6px 0 rgb(201,209,0),
- 7px 7px 0 rgb(194,202,0),
- 8px 8px 0 rgb(188,196,0),
- 9px 9px 0 rgb(181,189,0),
- 10px 10px 0 rgb(175,183,0),
- 11px 11px 0 rgb(168,176,0),
- 12px 12px 0 rgb(161,169,0),
- 13px 13px 0 rgb(155,163,0),
- 14px 14px 0 rgb(148,156,0),
- 15px 15px 0 rgb(142,150,0),
- 16px 16px 0 rgb(135,143,0),
- 17px 17px 0 rgb(129,137,0),
- 18px 18px 0 rgb(122,130,0),
- 19px 19px 0 rgb(115,123,0),
- 20px 20px 0 rgb(109,117,0),
- 21px 21px 0 rgb(102,110,0),
- 22px 22px 0 rgb(96,104,0),
- 23px 23px 0 rgb(89,97,0),
- 24px 24px 0 rgb(83,91,0),
- 25px 25px 0 rgb(76,84,0),
- 26px 26px 0 rgb(69,77,0),
- 27px 27px 0 rgb(63,71,0),
- 28px 28px 0 rgb(56,64,0),
- 29px 29px 0 rgb(50,58,0),
- 30px 30px 0 rgb(43,51,0),
- 31px 31px 0 rgb(36,44,0),
- 32px 32px 0 rgb(30,38,0),
- 33px 33px 0 rgb(23,31,0),
- 34px 34px 0 rgb(17,25,0),
- 35px 35px 0 rgb(10,18,0),
- 36px 36px 0 rgb(4,12,0),
- 37px 37px 0 rgb(-3,5,0),
- 38px 38px 0 rgb(-10,-2,0),
- 39px 39px 38px rgba(255,0,0,1),
- 39px 39px 1px rgba(255,0,0,0.5),
- 0px 0px 38px rgba(255,0,0,.2);
- }
-
-html.dither>body>div{
- background: url("data:image/webp;base64,UklGRjAAAABXRUJQVlA4TCQAAAAvA8AAAIVS27ahb3uzOUmSJoqqrOq6P47of8DQdcprYdP8/VY=");
- filter: contrast(2000);
- image-rendering: crisp-edges;
-}
-
-html.dither>body>div>div{
- filter: initial;
- mix-blend-mode: soft-light;
- isolation: isolate;
- image-rendering: initial;
-}
-
-.sprinkler {
- margin-top: 2.5em;
- text-align: center;
- font-size: 2.5em;
- font-weight: 1000;
- color: aqua;
- animation: flash 0.3s linear infinite;
-}
-
-.munson {
- text-align: center;
- width: 80%;
- font-size: 5vh;
- padding: 0;
- margin: 0;
- margin-bottom: 1em;
- animation: colorflash 1s linear infinite;
- margin-left: 10%;
-}
-
-#munson {
- display: grid;
- grid-template-columns: repeat(3, 1fr);
-}
-
-#munson img {
- height: 20vh;
- width: 100%;
-}
-
-#munson img:hover {
- animation: scale 0.3s linear;
- animation-fill-mode: forwards;
-}
-
-.john {
- margin-left: auto;
- display: block;
- margin-right: auto;
- max-width: 732px;
- width: 100%;
- height: 94px;
- border: none;
- margin-bottom: 2em;
-}
-
-#batterys {
- perspective: infinite;
- position: relative;
- height: 2em;
- width: 100%;
- overflow-x: visible;
- margin-bottom: 13vw;
-}
-
-#batterys p {
- text-align: center;
- font-size: 4vw;
- color: #fff;
- width: 50.1vw;
- background-color: #232323;
- text-shadow: 0 0 5px #fff, 0 0 10px #fff, 0 0 15px #fff, 0 0 20px #49ff18, 0 0 30px #49ff18, 0 0 40px #49ff18, 0 0 55px #49ff18, 0 0 75px #49ff18;
- display: inline-block;
- position: absolute;
- left: 50%;
- animation: spincube 2.5s linear infinite;
-}
-
-
-#batterys img {
- display: inline-block;
- text-shadow: 0 0 5px #fff, 0 0 10px #fff, 0 0 15px #fff, 0 0 20px #49ff18, 0 0 30px #49ff18, 0 0 40px #49ff18, 0 0 55px #49ff18, 0 0 75px #49ff18;
- display: inline-block;
- position: absolute;
- left: 50%;
- width: 48.1vw;
- border: black 1vw solid;
- animation: spincube 2.5s linear infinite;
-}
-
-
-@keyframes spincube {
- from {
- transform: translateX(-50%) rotateY(var(--rot)) translateZ(25vw);
- }
- to {
- transform: translateX(-50%) rotateY(calc(var(--rot) + 90deg)) translateZ(25vw);
- }
-}
-
-@keyframes bg {
- from {
- background-position: 0 0;
- }
- to {
- background-position: 10% 10%;
- }
-}
-
-@keyframes spin {
- 0%, 100% {
- transform: rotateY(0deg) rotateX(0deg);
- }
- 50% {
- transform: rotateY(3000deg) rotateX(3000deg);
- }
-}
-
-@keyframes title {
- 0%,
- 100% {
- transform:translateY(-25%);
- animation-timing-function:cubic-bezier(.8,0,1,1)
- }
- 50% {
- transform:none;
- animation-timing-function:cubic-bezier(0,0,.2,1)
- }
-}
-
-@keyframes flash {
- 50% {
- opacity: 0;
- }
-}
-
-@keyframes colorflash {
- 0%, 100%, 49% {
- border: 5px solid orange;
- background-color: black;
- color: orange;
- }
- 50%, 99% {
- border: 5px solid black;
- background-color: orange;
- color: black;
- }
-}
-
-@keyframes border {
- 0%,
- 100% {
- border: 2px solid rgb(255, 0, 0);
- }
- 33% {
- border: 2px solid rgb(0, 255, 0);
- }
- 66% {
- border: 2px solid rgb(0, 0, 255);
- }
-}
-
-@keyframes across {
- 0%,
- 100% {
- transform: translateX(0%);
- }
- 50% {
- transform: translateX(calc(80vw - 100%));
- }
-}
-
-@keyframes scale {
- from {
- transform: scale3d(100%, 100%, 100%);
- }
- to {
- transform: scale3d(120%, 120%, 120%);
- }
-}
-
-html.flash>body>div>div>div>menu {
- animation: epilepsy .25s linear infinite;
-}
-
-.flashy {
- margin: 0;
- padding: 0;
- list-style:none;
- position: absolute;
- width: 100%;
- height: 100%;
- z-index: 10;
- overflow: scroll;
- pointer-events: none;
-}
-
-@keyframes epilepsy {
- 0%, 100% {
- background-color: rgba(255,0,0,.4);
- }
- 20% {
- background-color: rgba(255,255,0,.4);
- }
- 40% {
- background-color: rgba(0,255,0,.4);
- }
- 60% {
- background-color: rgba(0,255,255,.4);
- }
- 80% {
- background-color: rgba(0,0,255,.4);
- }
-}
-
-.center {
- width: 100%;
- display: flex;
- justify-content: center;
- align-items: center;
-}
-
-#webring {
- min-width: 25%;
- padding: .5rem;
- border: solid 5px orange;
- background-color: black;
- color: white;
- display: flex;
- flex-direction: row;
-}
-
-#webring .links {
- display: flex;
- flex-direction: row;
- justify-content: space-between;
- min-width: 30%;
- padding: 0 .5rem;
-}
-
-#webring .links a {
- margin: 0;
- height: auto;
- margin-left: .25rem;
-}
-
-#webring p {
- margin: 0;
- flex: 1;
-}
-
-.spread {
- animation: 3s infinite ease-in-out alternate kurn;
- font-style: italic;
- text-decoration: underline;
-}
-
-@keyframes kurn {
- from {
- letter-spacing: .05rem;
- }
-
- to {
- letter-spacing: .25rem;
- }
-}
diff --git a/web/error.php b/web/error.php
new file mode 100644
index 0000000..f7a2f4e
--- /dev/null
+++ b/web/error.php
@@ -0,0 +1,14 @@
+<?php
+ // home page of rit.wtf
+ $title = "rit.wtf - $code";
+ include('parts/head.php');
+ include('parts/header.php');
+?>
+
+<div id="error">
+ <p class="code"><?=$code?></p>
+</div>
+
+<?php
+ include('parts/footer.php');
+?>
diff --git a/web/fire.php b/web/fire.php
new file mode 100644
index 0000000..b40262b
--- /dev/null
+++ b/web/fire.php
@@ -0,0 +1,22 @@
+<?php
+ // home page of rit.wtf
+ $title = "rit.wtf - 🔥🔥🔥";
+ include('parts/head.php');
+ include('parts/header.php');
+?>
+
+<? /* fires */ ?>
+<div id="fires">
+ <?php
+ $rev = FALSE;
+ foreach (ASSETS->fires as $_key => $link) {
+ $dir = ($rev) ? "left" : "right";
+ echo "<marquee truespeed scrolldelay=\"10\" direction=\"{$dir}\"><img src=\"{$link}\" loading=\"lazy\"></marquee>";
+ $rev = !$rev;
+ }
+ ?>
+</div>
+
+<?php
+ include('parts/footer.php');
+?>
diff --git a/web/gallery.php b/web/gallery.php
new file mode 100644
index 0000000..f35634c
--- /dev/null
+++ b/web/gallery.php
@@ -0,0 +1,57 @@
+<?php
+ // home page of rit.wtf
+ $title = "rit.wtf - RIP Munson";
+ include('parts/head.php');
+ include('parts/header.php');
+?>
+
+<? /* munson */ ?>
+<div id="munson"?>
+ <div class="title"?>
+ <span>The munson art gallery</span>
+ </div>
+ <div class="gallery">
+ <?php
+ foreach (ASSETS->munson as $_key => $link) {
+ echo "<img src=\"{$link}\" loading=\"lazy\"/>";
+ }
+ ?>
+ </div>
+</div>
+
+<? /* films */ ?>
+<div id="films"?>
+ <div class="title"?>
+ <span>Munson's sick films!</span>
+ </div>
+ <div class="films">
+ <video autoplay muted loop>
+ <source src="<?=ASSETS->videos->wizard?>" type="video/mp4">
+ </video>
+ <video autoplay muted loop>
+ <source src="<?=ASSETS->videos->raiders?>" type="video/mp4">
+ </video>
+ <video autoplay muted loop>
+ <source src="<?=ASSETS->videos->brick?>" type="video/mp4">
+ </video>
+ </div>
+</div>
+
+<? /* raps */ ?>
+<div id="raps"?>
+ <div class="title"?>
+ <span>Munson's sick raps!</span>
+ </div>
+ <div class="raps">
+ <video autoplay muted loop>
+ <source src="<?=ASSETS->videos->review?>" type="video/mp4">
+ </video>
+ <video autoplay muted loop>
+ <source src="<?=ASSETS->videos->jedi?>" type="video/mp4">
+ </video>
+ </div>
+</div>
+
+<?php
+ include('parts/footer.php');
+?>
diff --git a/web/home.php b/web/home.php
new file mode 100644
index 0000000..3f1083e
--- /dev/null
+++ b/web/home.php
@@ -0,0 +1,86 @@
+<?php
+ // home page of rit.wtf
+ $title = 'rit.wtf - home';
+ include('parts/head.php');
+ include('parts/header.php');
+?>
+
+<? /* memes */ ?>
+<marquee id="memes" behavior="alternate">
+ <?php
+ $memes = (array) ASSETS->memes;
+ shuffle($memes);
+ foreach ($memes as $_key => $link) {
+ echo "<img src=\"{$link}\" loading=\"lazy\"/>";
+ }
+ ?>
+</marquee>
+
+<? /* motd */ ?>
+<div id="motd">
+ <p><?php
+ $messages = [
+ "Call 1-800-1ST-YEAR to get a sprinkler to go off in a dorm near you!",
+ "#1 in Lithium-ion battery fires!",
+ "Welcome daddy Sanders",
+ "Make sure to not be seen by the counter",
+ "Disfunctionally operating since 1829",
+ ];
+ echo $messages[array_rand($messages)];
+ ?></p>
+</div>
+
+<? /* links */ ?>
+<div id="links">
+ <div class="title">
+ <span>important stuff</span>
+ </div>
+ <div class="btn">
+ <a href="http://rochesterapex.com/" target="_blank">
+ <img src="<?=ASSETS->text->housing?>"/>
+ </a>
+ </div>
+ <div class="btn">
+ <a href="https://www.democratandchronicle.com/story/news/2021/08/31/peter-kiwitt-former-rit-professor-sex-trafficking/5589597001/" target="_blank">
+ <img src="<?=ASSETS->text->education?>"/>
+ </a>
+ </div>
+ <div class="btn">
+ <a href="https://www.rit.edu/fa/diningservices/gracies#1" target="_blank">
+ <img src="<?=ASSETS->text->food?>"/>
+ </a>
+ </div>
+</div>
+
+<? /* battery */ ?>
+<div id="battery">
+ <div class="title">
+ <p style="--rot: 0deg;">Lithium Ion Battery's</p>
+ <p style="--rot: 270deg;">Lithium Ion Battery's</p>
+ </div>
+ <div class="battery">
+ <img style="--rot: 0deg;" src="<?=ASSETS->fires->battery?>" loading="lazy"/>
+ <img style="--rot: 270deg;" src="<?=ASSETS->fires->battery?>" loading="lazy"/>
+ </div>
+</div>
+<div class="btn">
+ <a href="fire">See more 🔥</a>
+</div>
+
+<? /*sanders */ ?>
+<div id="sanders">
+ <div class="title"?>
+ <span>Welcome our new president!</span>
+ </div>
+ <div class="gallery">
+ <?php
+ foreach (ASSETS->sanders as $_key => $link) {
+ echo "<img src=\"{$link}\" loading=\"lazy\"/>";
+ }
+ ?>
+ </div>
+</div>
+
+<?php
+ include('parts/footer.php');
+?>
diff --git a/web/parts/footer.php b/web/parts/footer.php
new file mode 100644
index 0000000..88ab860
--- /dev/null
+++ b/web/parts/footer.php
@@ -0,0 +1,22 @@
+<footer id="footer">
+ <div id="buttons">
+ <img src="<?=ASSETS->buttons->apocalypse?>" loading="lazy" onclick="document.documentElement.classList.toggle('flip')"/>
+ <img src="<?=ASSETS->buttons->amd?>" loading="lazy"/>
+ <img src="<?=ASSETS->buttons->dither?>" loading="lazy" onclick="document.documentElement.classList.toggle('dither')"/>
+ <a href="https://validator.w3.org/nu/?doc=https%3A%2F%2Frit.wtf" target="_blank">
+ <img src="<?=ASSETS->buttons->html?>" loading="lazy"/>
+ </a>
+ <img src="<?=ASSETS->buttons->ie?>" loading="lazy" onclick="document.documentElement.classList.toggle('strobe')"/>
+ <img src="<?=ASSETS->buttons->netscape?>" loading="lazy"/>
+ <a href="https://g.freya.cat/freya/rit.wtf" target="_blank">
+ <img src="<?=ASSETS->buttons->download?>" loading="lazy"/>
+ </a>
+ </div>
+ <iframe
+ height="94"
+ id="john"
+ <? /* hack to disable firefox cookie warning*/?>
+ sandbox="allow-scripts"
+ src="https://john.citrons.xyz/embed?ref=rit.wtf"
+ ></iframe>
+</footer>
diff --git a/web/parts/head.php b/web/parts/head.php
new file mode 100644
index 0000000..c5d6f78
--- /dev/null
+++ b/web/parts/head.php
@@ -0,0 +1,14 @@
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
+ <base target="_blank" />
+ <link rel="stylesheet" href="<?=ASSETS->css->main?>">
+ <link rel="stylesheet" href="<?=ASSETS->css->anim?>">
+ <?php if(isset($css)): ?>
+ <link rel="stylesheet" href="<?=$css?>">
+ <?php endif; ?>
+ <title><?=$title?></title>
+ </head>
+ <body>
diff --git a/web/parts/header.php b/web/parts/header.php
new file mode 100644
index 0000000..801ecfc
--- /dev/null
+++ b/web/parts/header.php
@@ -0,0 +1,35 @@
+
+<? /* needed for screen dither */ ?>
+<div id="ditherMask">
+<div id="ditherFilter">
+
+<? /* needed for screen strobe */ ?>
+<menu id="strobe"></menu>
+
+<header id="header">
+
+ <? /* rit.wtf title */?>
+ <div id="title">
+ <span style="animation-delay:-1.42s">r</span>
+ <span style="animation-delay:-1.22s">i</span>
+ <span style="animation-delay:-1.01s">t</span>
+ <span style="animation-delay:-0.81s">.</span>
+ <span style="animation-delay:-0.61s">w</span>
+ <span style="animation-delay:-0.41s">t</span>
+ <span style="animation-delay:-0.21s">f</span>
+ </div>
+
+ <? /* nav bar */ ?>
+ <nav id="nav">
+ <a href="/" class="btn">
+ rit.wtf Home 🐯
+ </a>
+ <a href="/gallery" class="btn">
+ Munson Memorial 💀
+ </a>
+ <a href="http://munsonmakesamillion.com/" target="_blank" class="btn">
+ Munson Money 💸
+ </a>
+ </nav>
+
+</header>