commit 84c45ba6bbfa4d0d0780f03b331ea7ea12b63a9f
Author: xbl <xbl@6bit.ch>
Date:   Thu Mar 13 19:21:37 2025 +0100

    initial commit

diff --git a/html/index.html b/html/index.html
new file mode 100644
index 0000000..80c741f
--- /dev/null
+++ b/html/index.html
@@ -0,0 +1,63 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+	<title>6bit.ch</title>
+	<link rel="shortcut icon" type="image/png" href="img/favicon.png"/>
+	<link rel="stylesheet" href="style.css">
+	<link rel="author" type="text/plain" href="humans.txt">
+	<meta charset="utf-8">
+	<meta name="viewport" content="width=device-width, initial-scale=1">
+	<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
+	<script type="text/javascript" src="js/sparks.js"></script>
+	<script type="text/javascript" src="js/hearts.js"></script>
+</head>
+<body style="background-color:#101010;">
+	<div class="main">
+	<div id="starshine">
+		    <div class="template shine"></div>
+	</div>
+		<section class=headerimg>
+			<a href="https://6bit.ch"><img src="img/6bitnobg.png"></a>
+		</section>
+		<div class="col left">
+			<section class="navblock">
+			<h4>๐Ÿก here</h4>
+			<ul><li><a href=https://6bit.ch/snek.html>๐Ÿ Snek</a></li></ul>
+			<ul><li><a href=https://6bit.ch/things.html>๐ŸŽจ Things</a></li></ul>
+			<ul><li><a href=https://6bit.ch/slamp.html>๐Ÿ’ก slamp</a></li></ul>
+			</section>
+			</br>
+			<section class="navblock">
+			<h4>โœจ there</h4>
+			<ul><li><a href=https://hardbrugg.ch target=_blank>๐Ÿ“ฝ๏ธ Hardbrugg.ch</a></li></ul>
+			<ul><li><a href=https://ravemitherz.li target=_blank>๐Ÿ’— RAVEmitHerz.li</a></li></ul>
+			<ul><li><a href=https://rumpelkist.li target=_blank>๐Ÿ›ธ Rumpelkist.li</a></li></ul>
+			</section>
+			</br>
+			<section class="navblock">
+			<h4>๐Ÿ‘ญ everywhere</h4>
+			<ul><li><a href=https://ausliebemusik.ch target=_blank>Aus Liebe</a></li></ul>
+			<ul><li><a href=https://instagram.com/catcallsofzrh target=_blank>Catcalls of Zurich</a></li></ul>
+			<ul><li><a href=https://marcp.xyz target=_blank>cramp</a></li></ul>
+			<ul><li><a href=https://le-lan.ch target=_blank>LeLAN</a></li></ul>
+			<ul><li><a href=https://jar.band target=_blank>JAR</a></li></ul>
+			</section>
+			</br>
+		</div>
+		<div class="col right">
+			<section class=contentindex>
+			<img src=img/gosu.png>
+			<p>The trajectory of this <a href=https://wikipedia.org/wiki/Earth target=_blank>ship</a> is unchanging.</p>
+			<form method="get" id="ddgSearch" action="https://duckduckgo.com/">
+				<input type="text" name="q" placeholder="DuckDuck">
+				<button type="submit">Go!</button>
+			</form>
+			</br>
+			</section>
+		</div>
+	</div>
+	<div id="" class="footer">
+		<p>Gmacht mit ๐Ÿ”ฎ z'Zรผri. | <a href=humans.txt>humans.txt</a></p>
+	</div>
+</body>
+</html>
diff --git a/html/slamp.html b/html/slamp.html
new file mode 100644
index 0000000..6ebb507
--- /dev/null
+++ b/html/slamp.html
@@ -0,0 +1,68 @@
+<!DOCTYPE html>
+<head>
+	<title>6bit.ch | slamp</title>
+	<link rel="shortcut icon" type="image/png" href="img/favicon.png"/>
+	<script>
+	function changeColorBlack() {
+		var color = document.getElementById("body");
+		color.style.backgroundColor = "#000000";
+	}
+	function changeColorWhite() {
+		var color = document.getElementById("body");
+		color.style.backgroundColor = "#FFFFFF";
+	}
+	function changeColorBlue() {
+		var color = document.getElementById("body");
+		color.style.backgroundColor = "blue";
+	}
+	function changeColorGreen() {
+		var color = document.getElementById("body");
+		color.style.backgroundColor = "green";
+	}
+	function changeColorMagenta() {
+		var color = document.getElementById("body");
+		color.style.backgroundColor = "magenta";
+	}
+	function changeColorPink() {
+		var color = document.getElementById("body");
+		color.style.backgroundColor = "pink";
+	}
+	function changeColorRed() {
+		var color = document.getElementById("body");
+		color.style.backgroundColor = "red";
+	}
+	function changeColor420() {
+		var color = document.getElementById("body");
+		color.style.backgroundColor = "#000420";
+	}
+	function changeColor69() {
+		var color = document.getElementById("body");
+		color.style.backgroundColor = "#000069";
+	}
+	function changeColor42069() {
+		var color = document.getElementById("body");
+		color.style.backgroundColor = "#042069";
+	}
+	</script>
+</head>
+<body id='body'>
+	<center>
+	<h1>slamp</h1>
+	<h4>a most inefficient screenlamp</h4>
+	</br>
+	<button onclick="changeColorBlack();">Black</button>
+	<button onclick="changeColorWhite();">White</button>
+	<button onclick="changeColorBlue();">Blue</button>
+	<button onclick="changeColorGreen();">Green</button>
+	<button onclick="changeColorMagenta();">Magenta</button>
+	<button onclick="changeColorPink();">Pink</button>
+	<button onclick="changeColorRed();">Red</button>
+	<button onclick="changeColor420();">420</button>
+	<button onclick="changeColor69();">69</button>
+	<button onclick="changeColor42069();">42069</button>
+	</br>
+	</br>
+	</br>
+	<a HREF=https://6bit.ch>Back</a>
+</body>
+</html>
diff --git a/html/snek.html b/html/snek.html
new file mode 100644
index 0000000..3c02ee6
--- /dev/null
+++ b/html/snek.html
@@ -0,0 +1,198 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+	<title>6bit.ch | Snek</title>
+	<link rel="shortcut icon" type="image/png" href="img/favicon.png"/>
+	<link rel="stylesheet" href="style.css">
+	<link rel="author" type="text/plain" href="humans.txt">
+	<meta charset="utf-8">
+	<meta name="viewport" content="width=device-width, initial-scale=1">
+	<script type="text/javascript" src="js/hearts.js"></script>
+</head>
+<body style="background-color:#101010;">
+	<div class="main">
+		<section class=headerimg>
+			<a href="https://6bit.ch"><img src="img/6bitnobg.png"></a>
+		</section>
+		<div class="col left">
+			<section class="navblock">
+			<h4>๐Ÿก here</h4>
+			<ul><li><a class=active href=https://6bit.ch/snek.html>๐Ÿ Snek</a></li></ul>
+			<ul><li><a href=https://6bit.ch/things.html>๐ŸŽจ Things</a></li></ul>
+			<ul><li><a href=https://6bit.ch/slamp.html>๐Ÿ’ก slamp</a></li></ul>
+			</section>
+			</br>
+			<section class="navblock">
+			<h4>โœจ there</h4>
+			<ul><li><a href=https://hardbrugg.ch target=_blank>๐Ÿ“ฝ๏ธ Hardbrugg.ch</a></li></ul>
+			<ul><li><a href=https://ravemitherz.li target=_blank>๐Ÿ’— RAVEmitHerz.li</a></li></ul>
+			<ul><li><a href=https://rumpelkist.li target=_blank>๐Ÿ›ธ Rumpelkist.li</a></li></ul>
+			</section>
+			</br>
+			<section class="navblock">
+			<h4>๐Ÿ‘ญ everywhere</h4>
+			<ul><li><a href=https://ausliebemusik.ch target=_blank>Aus Liebe</a></li></ul>
+			<ul><li><a href=https://instagram.com/catcallsofzrh target=_blank>Catcalls of Zurich</a></li></ul>
+			<ul><li><a href=https://marcp.xyz target=_blank>cramp</a></li></ul>
+			<ul><li><a href=https://le-lan.ch target=_blank>LeLAN</a></li></ul>
+			<ul><li><a href=https://jar.band target=_blank>JAR</a></li></ul>
+			</section>
+			</br>
+		</div>
+		<div class="col right">
+<canvas width="640" height="320" id="game" class="snake-box"></canvas>
+<script>
+
+var canvas = document.getElementById('game');
+var context = canvas.getContext('2d');
+
+var grid = 8;
+var count = 8;
+
+var snake = {
+  x: 160,
+  y: 160,
+
+  // snake velocity. moves one grid length every frame in either the x or y direction
+  dx: grid,
+  dy: 0,
+
+  // keep track of all grids the snake body occupies
+  cells: [],
+
+  // length of the snake. grows when eating an apple
+  maxCells: 4
+};
+var apple = {
+  x: 320,
+  y: 160,
+};
+
+// get random whole numbers in a specific range
+// @see https://stackoverflow.com/a/1527820/2124254
+function getRandomInt(min, max) {
+  return Math.floor(Math.random() * (max - min)) + min;
+}
+
+// game loop
+function loop() {
+  requestAnimationFrame(loop);
+
+  // slow game loop to 15 fps instead of 60 (60/15 = 4)
+  if (++count < 11) {
+    return;
+  }
+
+  count = 0;
+  context.clearRect(0,0,canvas.width,canvas.height);
+
+  context.font = '9px sans-serif';
+  context.fillText(snake.maxCells, 500, 75);
+
+  // move snake by it's velocity
+  snake.x += snake.dx;
+  snake.y += snake.dy;
+
+  // wrap snake position horizontally on edge of screen
+  if (snake.x < 0) {
+    snake.x = canvas.width - grid;
+  }
+  else if (snake.x >= canvas.width) {
+    snake.x = 0;
+  }
+
+  // wrap snake position vertically on edge of screen
+  if (snake.y < 0) {
+    snake.y = canvas.height - grid;
+  }
+  else if (snake.y >= canvas.height) {
+    snake.y = 0;
+  }
+
+  // keep track of where snake has been. front of the array is always the head
+  snake.cells.unshift({x: snake.x, y: snake.y});
+
+  // remove cells as we move away from them
+  if (snake.cells.length > snake.maxCells) {
+    snake.cells.pop();
+  }
+
+  // draw apple
+  context.fillStyle = 'cyan';
+  context.fillRect(apple.x, apple.y, grid-1, grid-1);
+
+  // draw snake one cell at a time
+  context.fillStyle = 'magenta';
+  snake.cells.forEach(function(cell, index) {
+
+    // drawing 1 px smaller than the grid creates a grid effect in the snake body so you can see how long it is
+    context.fillRect(cell.x, cell.y, grid-1, grid-1);
+
+    // snake ate apple
+    if (cell.x === apple.x && cell.y === apple.y) {
+      snake.maxCells++;
+
+      // canvas is 400x400 which is 25x25 grids
+      apple.x = getRandomInt(0, 25) * grid;
+      apple.y = getRandomInt(0, 25) * grid;
+    }
+
+    // check collision with all cells after this one (modified bubble sort)
+    for (var i = index + 1; i < snake.cells.length; i++) {
+
+      // snake occupies same space as a body part. reset game
+      if (cell.x === snake.cells[i].x && cell.y === snake.cells[i].y) {
+        snake.x = 160;
+        snake.y = 160;
+        snake.cells = [];
+        snake.maxCells = 4;
+        snake.dx = grid;
+        snake.dy = 0;
+
+        apple.x = getRandomInt(0, 25) * grid;
+        apple.y = getRandomInt(0, 25) * grid;
+      }
+    }
+  });
+}
+
+// listen to keyboard events to move the snake
+document.addEventListener('keydown', function(e) {
+  // prevent snake from backtracking on itself by checking that it's
+  // not already moving on the same axis (pressing left while moving
+  // left won't do anything, and pressing right while moving left
+  // shouldn't let you collide with your own body)
+
+  // left arrow key
+  if (e.which === 37 && snake.dx === 0) {
+    snake.dx = -grid;
+    snake.dy = 0;
+  }
+  // up arrow key
+  else if (e.which === 38 && snake.dy === 0) {
+    snake.dy = -grid;
+    snake.dx = 0;
+  }
+  // right arrow key
+  else if (e.which === 39 && snake.dx === 0) {
+    snake.dx = grid;
+    snake.dy = 0;
+  }
+  // down arrow key
+  else if (e.which === 40 && snake.dy === 0) {
+    snake.dy = grid;
+    snake.dx = 0;
+  }
+});
+
+// start the game
+requestAnimationFrame(loop);
+</script>
+			<p>Arrow keys required.</p>
+		</div>
+	</div>
+	<div id="" class="footer">
+		<p>Gmacht mit ๐Ÿ”ฎ z'Zรผri. | <a href=humans.txt>humans.txt</a></p>
+	</div>
+</body>
+</html>
diff --git a/html/style.css b/html/style.css
new file mode 100644
index 0000000..03e4a52
--- /dev/null
+++ b/html/style.css
@@ -0,0 +1,390 @@
+* {
+	margin: 0;
+	padding: 0;
+	font-family: "FiraSans", sans-serif;
+}
+
+body {
+	padding: 0;
+	margin:0;
+	background-color: #101010
+}
+
+div {box-sizing: border-box;}
+
+#starshine {
+	position: absolute;
+	top: 0;
+	left: 0;
+	width: 100%;
+	height: 100%;
+	z-index: -5;
+	overflow: hidden;
+}    
+         
+.shine {
+	display: block;
+	position: absolute;
+	top: 50%;
+	left: 50%;
+	background-image: url(https://6bit.ch/spark.png);
+	background-repeat: no-repeat;
+	background-position:center;
+	background-size: 100% 100%;
+	overflow: hidden;
+	z-index: 2;
+	color: transparent;
+	-moz-opacity: 0.0;
+	opacity: 0.0;
+	animation: glitter 6s linear 0s infinite normal;
+	-webkit-animation: glitter 6s linear 0s infinite normal;
+	-moz-animation: glitter 8s linear 0s infinite normal;
+	-ms-animation: glitter 8s linear 0s infinite normal;
+	-o-animation: glitter 8s linear 0s infinite normal;
+}
+
+.shine.small {
+	width: 1px;
+	height: 1px;
+}
+
+.shine.medium {
+	width: 3px;
+	height: 3px;
+}
+
+.shine.large {
+	width: 5px;
+	height: 5px;
+}
+
+/*CSS3 keyframes for glittering effect*/
+@-webkit-keyframes glitter {
+	0% {
+		-webkit-transform: scale(0.3) rotate(0deg);
+		opacity: 0;
+	}
+	25% {
+		-webkit-transform: scale(1) rotate(360deg);
+		opacity: 1;
+	}
+	50% {
+		-webkit-transform: scale(0.3) rotate(720deg);
+		opacity: 0;
+	}
+	100% {
+		-webkit-transform: scale(0.3) rotate(0deg);
+		opacity: 0;
+	}
+}
+
+.snake-box {
+	width: 99%;
+	position: relative;
+	top: 0px;
+	text-align: center;
+	margin-bottom: 1%;
+	z-index: 500;
+	text-align: center;
+	margin-bottom: 1%;
+	border: 1px cyan dotted;
+}
+
+.footer {
+	width: 100%;
+	color: #101010;
+	position: relative;
+	text-align: center;
+	padding-top: 3%;
+	background-color: #101010;
+}
+	
+.footer p {
+	font-size: 13px;
+	color: #FFFFFF;
+	padding: 0px;
+	margin-top: 0px;
+}
+
+.footer a {
+	font-size: 13px;
+	color: #FFFFFF;
+	text-decoration: none;
+	padding: 0px;
+	margin-top: 0px;
+}
+
+.headerimg img {
+	width: auto;
+	margin: 50px;
+	height: auto;
+	max-height: 125px;
+}
+
+.main {
+	width: 100%;
+	height: auto;
+}
+
+.main:after {
+	content:"";
+	display: table;
+	clear: both;
+}
+
+.col {
+	position: relative;
+	color: white;
+}
+
+.navblock {
+	border: 1px;
+	border-style: dotted;
+	border-color: magenta;
+	padding-right: 25px;
+	padding-bottom: 5px;
+}
+
+.active {
+	background: linear-gradient(90deg, rgba(255,0,255,0.2) 0%, rgba(10,10,10,0) 100%);
+
+}
+
+.left {
+	width: 15%;
+	float: left;
+	left: 3%;
+}
+
+.left h4 {
+	text-decoration: none;
+	padding-right: 50px;
+	padding-left: 5px;
+	padding-bottom: 2px;
+	margin-right: 0px;
+	margin-left: 0px;
+	margin-bottom: 3px;
+	color: #101010;
+	background: rgb(0,255,255);
+	background: linear-gradient(90deg, rgba(255,0,255,1) 0%, rgba(10,10,10,0) 100%);
+	font-size: 17px;
+	font-weight: 500;
+}
+
+.left ul {
+	display: flex;
+	width: auto;
+	padding: 5px;
+	color: #FFFFFF;
+	text-decoration: none;
+	padding-left: 15px;
+	font-size: 15px;
+	list-style-type: none;
+}
+
+.left li {
+	width: 100%;
+	text-decoration: none;
+}
+
+.left a {
+	color: #FFFFFF;
+	text-decoration: none;
+	display: block;
+	padding-top: 2px;
+	padding-bottom: 2px;
+	padding-left: 5px;
+}
+
+.left a:hover {	
+	background: linear-gradient(90deg, rgba(255,0,255,0.2) 0%, rgba(10,10,10,0) 100%);
+}
+
+.right {
+	position: relative;
+	width: 69%;
+	float: left;
+	left: 7%;
+}
+
+.contentindex {
+	padding: 3%;
+	width: 100%;
+	z-index: 2200;
+	text-align: left;
+	border: 1px;
+	border-style: dotted;
+	border-color: cyan;
+	text-align: center;
+}
+
+.contentindexart {
+	padding: 3%;
+	width: 100%;
+	z-index: 2200;
+	text-align: left;
+	border: 1px;
+	border-style: dotted;
+	border-color: cyan;
+	text-align: center;
+	display: flex;
+	flex-wrap: wrap;
+	gap: 50px;
+}
+
+.contentindex img {
+	width: 250px;
+	height: auto;
+	padding-top: 25px;
+	padding-bottom: 25px;
+	margin: auto;
+	display: block;
+}
+
+.contentindex p {
+	margin-top: 5px;
+	margin-bottom: 5px;
+	padding-bottom: 25px;
+}
+
+.contentindex a {
+	margin-top: 5px;
+	margin-bottom: 5px;
+	color: white;
+	text-decoration: none;
+	border-bottom: 1px dotted magenta; 
+}
+
+.contentindex a:hover {
+	color: magenta;
+}
+
+.break {
+	width: 100%;
+	height: 0;
+	margin: 0;
+	padding: 0;
+}
+
+.artdesc {
+	text-align: center;
+	font-size: 13px;
+}
+
+.artitem img {
+	padding: 0;
+	height: 150px;
+	width: auto;
+}
+
+.artitem p {
+	animation: glow 1s ease-in-out infinite alternate;
+}
+
+@-webkit-keyframes glow {
+  from {
+    text-shadow: 0 0 5px magenta;
+  }
+
+  to {
+    text-shadow: 0 0 5px magenta;
+  }
+}
+
+#@-webkit-keyframes glow {
+#  from {
+#    text-shadow: 0 0 10px #fff, 0 0 20px #fff, 0 0 30px #e60073, 0 0 40px #e60073, 0 0 50px #e60073, 0 0 60px #e60073, 0 0 70px #e60073;
+#  }
+#
+#  to {
+#    text-shadow: 0 0 20px #fff, 0 0 30px #ff4da6, 0 0 40px #ff4da6, 0 0 50px #ff4da6, 0 0 60px #ff4da6, 0 0 70px #ff4da6, 0 0 80px #ff4da6;
+#  }
+#}
+
+@font-face {
+	font-family: FiraSans;
+	src: url("fonts/FiraSans-Medium.otf") format: ("opentype");
+}
+
+@media(max-width: 1350px) {
+	.main {
+		overflow: hidden;
+		padding: 0;
+		margin: 0;
+	}
+	.headerimg {
+		width 248px;
+		margin-left: 5%;
+		margin-right: 5%;
+	}
+	.headerimg img {
+		display: block;
+		position: center;
+		margin: 0;
+		padding-top: 33px;
+		padding-bottom: 33px;
+		width: auto;
+		height: auto;
+		max-height: 69px;
+		margin: auto;
+	}
+	.col {
+		overflow: hidden;
+		width: 100%;
+		left: 0;
+		right: 0;
+	}
+	.left {
+		overflow: hidden;
+		width: 100%;
+	}
+	.navblock h4 {
+		font-size: 14px;
+	}
+	.navblock ul {
+		font-size: 14px;
+	}
+	.right {
+		overflow: hidden;
+		margin-top: 100px;
+		border: 1px cyan dotted;
+		width: 100%;
+		overflow: hidden;
+	}
+	.contentindex {
+		overflow: hidden;
+		border: none;
+		padding: 0;
+		margin: 0;
+	}
+	.contentindexart {
+		overflow: hidden;
+		border: none;
+		margin: 0;
+		padding: 0;
+		display: block;
+		justify-content: center;
+	}
+	.artitem {
+		padding-top: 25px;
+		padding-bottom: 25px;
+	}
+	.artitem img {
+		padding: 0;
+		height: auto;
+		width: 69%;
+	}
+	.right p {
+		margin: auto;
+		font-size: 12px;
+	}
+	.footer {
+		margin-top: 100px;
+	}
+	.footer a {
+		font-size: 11px;
+	}
+	.footer p {
+		font-size: 11px;
+	}
+}
diff --git a/html/things.html b/html/things.html
new file mode 100644
index 0000000..37b5dd7
--- /dev/null
+++ b/html/things.html
@@ -0,0 +1,150 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+	<title>6bit.ch | Things</title>
+	<link rel="shortcut icon" type="image/png" href="img/favicon.png"/>
+	<link rel="stylesheet" href="style.css">
+	<link rel="author" type="text/plain" href="humans.txt">
+	<meta charset="utf-8">
+	<meta name="viewport" content="width=device-width, initial-scale=1">
+	<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
+	<script type="text/javascript" src="js/sparks.js"></script>
+	<script type="text/javascript" src="js/hearts.js"></script>
+</head>
+<body style="background-color:#101010;">
+	<div class="main">
+	<div id="starshine">
+		    <div class="template shine"></div>
+	</div>
+		<section class=headerimg>
+			<a href="https://6bit.ch"><img src="img/6bitnobg.png"></a>
+		</section>
+		<div class="col left">
+			<section class="navblock">
+			<h4>๐Ÿก here</h4>
+			<ul><li><a href=https://6bit.ch/snek.html>๐Ÿ Snek</a></li></ul>
+			<ul><li><a class=active href=https://6bit.ch/things.html>๐ŸŽจ Things</a></li></ul>
+			<ul><li><a href=https://6bit.ch/slamp.html>๐Ÿ’ก slamp</a></li></ul>
+			</section>
+			</br>
+			<section class="navblock">
+			<h4>โœจ there</h4>
+			<ul><li><a href=https://hardbrugg.ch target=_blank>๐Ÿ“ฝ๏ธ Hardbrugg.ch</a></li></ul>
+			<ul><li><a href=https://ravemitherz.li target=_blank>๐Ÿ’— RAVEmitHerz.li</a></li></ul>
+			<ul><li><a href=https://rumpelkist.li target=_blank>๐Ÿ›ธ Rumpelkist.li</a></li></ul>
+			</section>
+			</br>
+			<section class="navblock">
+			<h4>๐Ÿ‘ญ everywhere</h4>
+			<ul><li><a href=https://ausliebemusik.ch target=_blank>Aus Liebe</a></li></ul>
+			<ul><li><a href=https://instagram.com/catcallsofzrh target=_blank>Catcalls of Zurich</a></li></ul>
+			<ul><li><a href=https://marcp.xyz target=_blank>cramp</a></li></ul>
+			<ul><li><a href=https://le-lan.ch target=_blank>LeLAN</a></li></ul>
+			<ul><li><a href=https://jar.band target=_blank>JAR</a></li></ul>
+			</section>
+			</br>
+		</div>
+		<div class="col right">
+			<section class=contentindexart>
+				<div class=artitem>
+					<a href=art/clicktoris.png target=_blank><img src=art/clicktoris.png></a>
+					<p>clicktoris.org</p>
+					<p class=artdesc>image, logo</p>
+				</div>
+				<div class=artitem>
+					<a href=art/hb.png target=_blank><img src=art/hb.png></a>
+					<p>Hardbrugg.ch</p>
+					<p class=artdesc>image, logo</p>
+				</div>
+				<div class=artitem>
+					<a href=art/lelogo.png target=_blank><img src=art/lelogo.png></a>
+					<p>LeLAN</p>
+					<p class=artdesc>image, logo</p>
+				</div>
+				<div class=break></div>
+				<div class=artitem>
+					<a href=art/raverave.png target=_blank><img src=art/raverave.png></a>
+					<p>RAVE Rave</p>
+					<p class=artdesc>image, postcard</p>
+				</div>
+				<div class=artitem>
+					<a href=art/rerave.png target=_blank><img src=art/rerave.png></a>
+					<p>RAVE Re-Rave</p>
+					<p class=artdesc>image, postcard</p>
+				</div>
+				<div class=artitem>
+					<a href=art/fbn.png target=_blank><img src=art/fbn.png></a>
+					<p>RAVE Fernbedienung Nebel</p>
+					<p class=artdesc>image, postcard</p>
+				</div>
+				<div class=artitem>
+					<a href=art/bsin.png target=_blank><img src=art/bsin.png></a>
+					<p>RAVE Blazerstuhl des Lebens</p>
+					<p class=artdesc>image, postcard</p>
+				</div>
+				<div class=artitem>
+					<a href=art/dgk.png target=_blank><img src=art/dgk.png></a>
+					<p>RAVE Durchgangskonzept</p>
+					<p class=artdesc>image, postcard</p>
+				</div>
+				<div class=break></div>
+				<div class=artitem>
+					<a href=art/ccofz.png target=_blank><img src=art/ccofz.png></a>
+					<p>C of Z</p>
+					<p class=artdesc>image, sticker</p>
+				</div>
+				<div class=artitem>
+					<a href=art/1312.png target=_blank><img src=art/1312.png></a>
+					<p>Gleis 1312</p>
+					<p class=artdesc>image, sticker</p>
+				</div>
+				<div class=artitem>
+					<a href=art/grzh.png target=_blank><img src=art/grzh.png></a>
+					<p>GrZH</p>
+					<p class=artdesc>image, sticker</p>
+				</div>
+				<div class=artitem>
+					<a href=art/plan.png target=_blank><img src=art/plan.png></a>
+					<p>planlos</p>
+					<p class=artdesc>image, sticker</p>
+				</div>
+				<div class=artitem>
+					<a href=art/viv.png target=_blank><img src=art/viv.png></a>
+					<p>ViV</p>
+					<p class=artdesc>image, sticker</p>
+				</div>
+				<div class=artitem>
+					<a href=art/zbb.png target=_blank><img src=art/zbb.png></a>
+					<p>ZBB</p>
+					<p class=artdesc>image, sticker</p>
+				</div>
+				<div class=break></div>
+				<div class=artitem>
+					<a href=art/alho100.png target=_blank><img src=art/alho100.png></a>
+					<p>AlHo100</p>
+					<p class=artdesc>image, money</p>
+				</div>
+				<div class=artitem>
+					<a href=art/donot.png target=_blank><img src=art/donot.png></a>
+					<p>don't blender</p>
+					<p class=artdesc>image, 3d</p>
+				</div>
+				<div class=artitem>
+					<a href=https://www.youtube.com/watch?v=lMSjd6HNQdY target=_blank><img src=art/eve.png></a>
+					<p>EVE Online FaLiHSS (2006)</p>
+					<p class=artdesc>video, youtube</p>
+				</div>
+				<div class=artitem>
+					<a href=art/pp.pdf target=_blank><img src=art/pp.png></a>
+					<p>Postparade</p>
+					<p class=artdesc>pdf, text</p>
+				</div>
+			</br>
+			</section>
+		</div>
+	</div>
+	<div id="" class="footer">
+		<p>Gmacht mit ๐Ÿ”ฎ z'Zรผri. | <a href=humans.txt>humans.txt</a></p>
+	</div>
+</body>
+</html>