Browse Source

redesign the entire site

IllusionMan1212 4 năm trước cách đây
mục cha
commit
d5f43c7bc6
45 tập tin đã thay đổi với 1936 bổ sung409 xóa
  1. 16 0
      css/discord.css
  2. 124 11
      css/global.css
  3. 233 48
      css/index.css
  4. 29 0
      css/ko-fi.css
  5. 32 71
      discord.html
  6. 65 0
      imprint_de.html
  7. 64 0
      imprint_en.html
  8. 164 69
      index.html
  9. 253 8
      js/index.js
  10. 15 0
      js/redirect.js
  11. 20 0
      ko-fi.html
  12. 398 0
      privacypolicy_de.html
  13. 420 0
      privacypolicy_en.html
  14. BIN
      resources/audio/spooktune.mp3
  15. 0 0
      resources/favicons/android-chrome-192x192.png
  16. 0 0
      resources/favicons/android-chrome-512x512.png
  17. 0 0
      resources/favicons/apple-touch-icon.png
  18. 0 0
      resources/favicons/browserconfig.xml
  19. 0 0
      resources/favicons/favicon-16x16.png
  20. 0 0
      resources/favicons/favicon-32x32.png
  21. 0 0
      resources/favicons/favicon.ico
  22. 0 0
      resources/favicons/mstile-150x150.png
  23. 0 0
      resources/favicons/safari-pinned-tab.svg
  24. 0 0
      resources/favicons/site.webmanifest
  25. BIN
      resources/fonts/OpenSans-Bold.ttf
  26. BIN
      resources/fonts/OpenSans-Italic.ttf
  27. BIN
      resources/fonts/OpenSans-Regular.ttf
  28. 0 202
      resources/fonts/OpenSans_LICENSE.txt
  29. 51 0
      resources/images/cloudflare-dark.svg
  30. 52 0
      resources/images/cloudflare-light.svg
  31. BIN
      resources/images/codersrank.webp
  32. BIN
      resources/images/discord.webp
  33. BIN
      resources/images/email.webp
  34. BIN
      resources/images/flappy_switch.webp
  35. BIN
      resources/images/github.webp
  36. BIN
      resources/images/itch.webp
  37. BIN
      resources/images/jokeapi.webp
  38. BIN
      resources/images/ko-fi_blue.webp
  39. BIN
      resources/images/ko-fi_button.webp
  40. BIN
      resources/images/langapplier.webp
  41. BIN
      resources/images/linkedin.webp
  42. BIN
      resources/images/npm.webp
  43. BIN
      resources/images/sv443.gif
  44. BIN
      resources/images/ttp.webp
  45. BIN
      resources/images/twitter.webp

+ 16 - 0
css/discord.css

@@ -0,0 +1,16 @@
+html {
+    height: 100%;
+}
+
+body {
+    height: 100%;
+}
+
+main {
+    display: flex;
+    flex-direction: column;
+    min-height: 100%;
+    justify-content: center;
+    align-items: center;
+    text-align: center;
+}

+ 124 - 11
css/global.css

@@ -1,19 +1,132 @@
-:root {
-    --font-color: #fafafafa;
-    --bg-color: #272a2e;
-    --bg-color-darker-shade: #18191b;
+* {
+    font-family: ubuntu, sans-serif;
 }
 
-@font-face {
-    font-family: 'OpenSans';
-    src: URL('../resources/fonts/OpenSans-Regular.ttf') format('truetype');
+html {
+    font-size: 18px;
 }
 
 body {
-    font-family: "OpenSans", "Segoe UI", sans-serif;
-    background-color: var(--bg-color);
-    color: var(--font-color);
-    font-size: 17px;
+    margin: 0;
+    padding: 0;
+}
+
+body[data-theme="light"] {
+    background-color: white;
+    color: black;
+}
+
+body[data-theme="dark"] {
+    background-color: #101010;
+    color: white;
+}
+
+body[data-theme="spooky"] {
+    background-color: #f9ac59;
+}
+
+body[data-theme="light"] #themebtn {
+    background-color: #D8D8D8;
+}
+
+body[data-theme="dark"] #themebtn {
+    background-color: #202020;
+}
+
+body[data-theme="spooky"] #themebtn {
+    background-color: #a15605;
+    color: white;
+}
+
+body[data-theme="light"] #langbtn {
+    background-color: #D8D8D8;
+}
+
+body[data-theme="dark"] #langbtn {
+    background-color: #202020;
+}
+
+body[data-theme="spooky"] #langbtn {
+    background-color: #a15605;
+    color: white;
+}
+
+body[data-theme="light"] #themebtn:hover {
+    color: #fd8c04;
+}
+
+body[data-theme="dark"] #themebtn:hover {
+    color: #0475FD;
+}
+
+body[data-theme="light"] .list-header {
+    border-top: 2px solid black;
+    border-bottom: 2px solid black;
+}
+
+body[data-theme="dark"] .list-header {
+    border-top: 2px solid white;
+    border-bottom: 2px solid white;
+}
+
+body[data-theme="light"] footer {
+    background-color: #fff;
+}
+
+body[data-theme="dark"] footer {
+    background-color: #101010;
+}
+
+body[data-theme="spooky"] footer {
+    background-color: #f9ac59;
+}
+
+body[data-theme="light"] h1 {
+    color: black;
+}
+
+body[data-theme="light"] h2 {
+    color: black;
+}
+
+body[data-theme="light"] :not(#notifs h3) {
+    color: black;
+}
+
+body[data-theme="light"] h4 {
+    color: black;
+}
+
+body[data-theme="light"] h5 {
+    color: black;
+}
+
+body[data-theme="light"] h6 {
+    color: black;
+}
+
+body[data-theme="dark"] h1 {
+    color: white;
+}
+
+body[data-theme="dark"] h2 {
+    color: white;
+}
+
+body[data-theme="dark"] :not(#notifs h3) {
+    color: white;
+}
+
+body[data-theme="dark"] h4 {
+    color: white;
+}
+
+body[data-theme="dark"] h5 {
+    color: white;
+}
+
+body[data-theme="dark"] h6 {
+    color: white;
 }
 
 a {

+ 233 - 48
css/index.css

@@ -1,78 +1,263 @@
-body {
-    margin: 0;
+.img-link {
+    text-decoration: none;
+    color: initial;
+    transition: transform 0.2s;
+    cursor: pointer;
+}
+
+.img-link:hover {
+    transform: scale(1.1);
+    transition: transform 0.5s;
+    color: initial;
+    text-decoration: initial;
+}
+
+.img-link:visited {
+    color: initial;
+
+}
+
+p {
+    word-wrap: break-word;
 }
 
-/* #MARKER header */
 header {
-    background-color: var(--bg-color-darker-shade);
-    cursor: default;
+    text-align: center;
+}
+
+#title {
+    text-align: center;
+    font-size: 40px;
+    margin: 30px 0;
+}
+
+#options {
     display: flex;
-    flex-flow: row nowrap;
-    align-content: stretch;
-    padding: 5px;
+    justify-content: space-between;
+}
+
+#themebtn {
+    display: flex;
+    justify-content: center;
+    align-items: center;
+    font-size: 30px;
+    background-color: #D8D8D8;
+    border-radius: 50px;
+    width: 50px;
+    height: 50px;
+    transition: transform 0.3s, box-shadow 0.1s;
+}
+
+#themebtn:hover {
+    transform: scale(1.1);
+    transition: transform 0.3s;
+    cursor: pointer;
+    color: #fd8c04;
 }
 
-header > .flexItem {
-    flex-shrink: 1;
-    align-self: stretch;
+#langbtn {
+    display: flex;
+    justify-content: center;
+    align-items: center;
+    font-size: 30px;
+    background-color: #D8D8D8;
+    border-radius: 50px;
+    width: 50px;
+    height: 50px;
+    transition: transform 0.3s, box-shadow 0.1s;
 }
 
-/* #SECTION page title */
-header h1 {
-    font-size: 35px;
-    margin-top: 3px;
-    margin-bottom: 3px;
-    margin-right: 50px;
+#langbtn:hover {
+    transform: scale(1.1);
+    transition: transform 0.3s;
+    cursor: pointer;
+    color: #5c6e91;
 }
 
-/* #SECTION nav */
-header nav {
-    display: block;
-    flex-grow: 100;
+.icon {
+    height: 30px;
+    display: inherit;
 }
 
-header nav ul {
-    background-color: #123;
+main {
+    margin: 1em 20%;
+}
 
-    display: inline-flex;
-    justify-content: flex-end;
-    align-items: flex-end;
+#synopsis {
+    margin: 0 10%;
+    display: flex;
+    flex-wrap: wrap;
+}
 
-    list-style-type: none;
-    padding-left: 20px;
-    padding-right: 20px;
-    margin: 0;
-    height: 100%;
+#synopsis > div {
+    margin: auto;
+    flex-basis: 40%;
 }
 
-header nav ul:hover {
-    color: #fff;
-    position: fixed;
+#logo {
+    width: 200px;
+    height: 200px;
+    border-radius: 50%;
+    background-image: url(../resources/images/sv443.gif);
+    background-size: cover;
+    margin: auto;
 }
 
-header nav ul li {
-    display: none;
+#projects {
+    display: flex;
+    flex-wrap: wrap;
+    margin: 2em 0;
+    justify-content: space-evenly;
 }
 
-header nav ul:hover li {
-    display: block;
+#games, #scripts-websites {
+    display: flex;
+    flex-direction: column;
+    flex-basis: 45%;
+    margin-top: 2em;
+    box-sizing: border-box;
 }
 
-header nav ul li:first-of-type {
-    margin-top: 10px;
+#contact {
+    display: flex;
+    flex-direction: column;
+    margin: 2em 0;
+    box-sizing: border-box;
 }
 
-header nav a {
-    cursor: pointer;
+.list-header {
+    justify-content: center;
+    border-top: 2px solid black;
+    border-bottom: 2px solid black;
+    text-align: center;
 }
 
-/* #SECTION lang switch */
-header select.flexItem {
-    align-self: flex-start;
+.list {
+    display: flex;
+    padding: 15px;
+    flex-wrap: wrap;
+    justify-content: space-evenly;
 }
 
-/* #MARKER main */
+.list-item-container {
+    display: flex;
+    flex-direction: column;
+    align-items: center;
+}
 
-main {
+.list-item-container > h4 {
+    margin: 0;
+}
+
+.circle {
+    width: 100px;
+    height: 100px;
+    margin: 10px;
+    border-radius: 50%;
+    box-sizing: border-box;
+    background-size: cover;
+}
+
+footer {
+    position: sticky;
+    bottom: 0;
+    display: flex;
+    flex-wrap: wrap;
+    justify-content: space-between;
+    background-color: #fff;
+}
+
+footer a {
+    color: #4b67fc;
+}
+
+footer a:hover {
+    color: #6f85fc;
+}
+
+#cloudflare {
+    display: flex;
+    justify-content: center;
+    align-items: center;
+    margin-left: 20px;
+}
+
+#legal {
+    display: flex;
+    flex-direction: column;
+    justify-content: stretch;
+}
+
+#legal h4 {
+    padding: 0px;
     margin: 15px;
-}
+    text-align: right;
+    font-weight: normal;
+}
+
+#notif {
+    position: fixed;
+    top: 50px;
+    left: 0;
+    right: 0;
+    margin: 0 auto;
+    z-index: 1;
+    background-color: #cce5ff;
+    border-color: #b8daff;
+    color: #004085;
+    width: fit-content;
+    width: -moz-fit-content;
+    height: fit-content;
+    height: -moz-fit-content;
+    padding: 20px;
+    border-radius: 10px;
+    display: flex;
+    justify-content: center;
+    align-items: center;
+    text-align: center;
+    visibility: hidden;
+    opacity: 0;
+    transition: all 0.5s;
+}
+
+#notif h3 {
+    margin: 0;
+}
+
+@media (max-width: 512px) {
+    footer {
+        flex-direction: column;
+    }
+
+    #legal > h4 {
+        font-size: 14px;
+        margin: 15px 5px;
+    }
+
+    #legal {
+        flex-direction: row;
+        justify-content: center;
+    }
+}
+
+@media (max-width: 800px) {
+    main {
+        margin: 1rem;
+    }
+}
+
+@media (max-width: 512px) {
+    #synopsis {
+        margin: 0;
+    }
+    
+    #synopsis > div {
+        flex-basis: 80%;
+    }
+}
+
+@media (max-width: 512px) {
+    #games, #scripts-websites {
+        flex-basis: 100%;
+    }
+}

+ 29 - 0
css/ko-fi.css

@@ -0,0 +1,29 @@
+html {
+    height: 100%;
+}
+
+body {
+    height: 100%;
+}
+
+main {
+    display: flex;
+    flex-direction: column;
+    min-height: 100%;
+    justify-content: center;
+    align-items: center;
+    text-align: center;
+}
+
+a {
+    text-decoration: none;
+    color: initial;
+    transition: transform 0.2s;
+}
+
+a:hover {
+    transform: scale(1.1);
+    transition: transform 0.5s;
+    color: initial;
+    text-decoration: initial;
+}

+ 32 - 71
discord.html

@@ -1,75 +1,36 @@
 <!DOCTYPE html>
-<html>
-	<head>
-		<meta charset="UTF-8">
+<html lang="en">
+<head>
+    <meta charset="UTF-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <meta name="pagename" content="Sv443 Network Discord Server">
+    <meta name="application-name" content="Sv443 Network Discord Server">
+    <meta property="og:title" content="Sv443 Network Discord Server">
+    <meta name="description" content="Visit this website to join the official Sv443 Network Discord server.">
+    <meta name="twitter:card" content="Visit this website to join the official Sv443 Network Discord server.">
+    <meta property="og:description" content="Visit this website to join the official Sv443 Network Discord server.">
 
-		<meta name="pagename" content="Sv443 Network Discord Server"> <!--#SECTION-->
-		<meta name="application-name" content="Sv443 Network Discord Server"> <!--#SECTION-->
-		<meta property="og:title" content="Sv443 Network Discord Server"> <!--#SECTION-->
-		<meta name="description" content="Visit this website to join the official Sv443 Network Discord server."> <!--#SECTION-->
-		<meta name="twitter:card" content="Visit this website to join the official Sv443 Network Discord server."> <!--#SECTION-->
-		<meta property="og:description" content="Visit this website to join the official Sv443 Network Discord server."> <!--#SECTION-->
+    <meta name="HandheldFriendly" content="true">
+    <meta name="copyright" content="Sv443 - Licensed under the MIT license ( https://sv443.net/LICENSE )">
+    <meta name="author" content="Sv443 Network ([email protected] - https://github.com/Sv443-Network)">
+    <meta property="og:url" content="https://sv443.net/">
+    <meta property="og:type" content="profile">
 
-		<meta name="viewport" content="width=device-width, initial-scale=1.0">
-		<meta name="HandheldFriendly" content="true">
-		<meta name="copyright" content="Sv443 - Licensed under the MIT license ( https://sv443.net/LICENSE )">
-		<meta name="author" content="Sv443 Network ([email protected] - https://github.com/Sv443-Network)">
-		<meta property="og:url" content="https://sv443.net/">
-		<meta property="og:type" content="profile">
+    <meta property="og:image" content="cdn/other/icons_v3/Sv443NetworkIcon.jpg">
+    <link rel="icon" href="cdn/other/icons_v3/Sv443NetworkIcon.jpg">
 
-		<meta property="og:image" content="cdn/other/icons_v3/Sv443NetworkIcon.jpg">
-		<link rel="icon" href="cdn/other/icons_v3/Sv443NetworkIcon.jpg">
-
-		<meta http-equiv="refresh" content="2; URL=https://discord.gg/aBH4uRG"> <!--#SECTION-->
-
-
-		<style>
-		body {
-			font-family: "Segoe UI", "Arial", "Calibri", sans-serif;
-			background-color: #36393f;
-			color: #fff;
-			text-align: center;
-		}
-		main {
-			display: inline-block;
-			font-size: 20px;
-		}
-		a {
-			color: #8c9eff;
-			text-decoration: none;
-		}
-		a:hover {
-			color: #acb8ff;
-			text-decoration: underline;
-		}
-		</style>
-	</head>
-	<body>
-		<br><br><br>
-		<main>
-			You are being redirected to Discord.<br>
-			If not, please <a href="https://discord.gg/aBH4uRG" target="_self">click here.</a> <!--#SECTION-->
-		</main>
-		<script>
-			var redirectURL = "https://discord.gg/aBH4uRG"; //#SECTION
-
-			try
-			{
-                setTimeout(function() {
-                    window.location.replace(redirectURL);
-                }, 2000);
-			}
-			catch(err)
-			{
-                try
-                {
-                    window.location.href = redirectURL;
-                }
-                catch(err2)
-                {
-                    window.alert("Couldn't automatically redirect - Please visit this link manually: https://discord.gg/aBH4uRG"); //#SECTION
-                }
-			}
-		</script>
-	</body>
-</html>
+    <meta http-equiv="refresh" content="2; URL=https://discord.gg/aBH4uRG">
+    <title>Sv443 - Discord</title>
+    <link rel="stylesheet" href="css/global.css">
+    <link rel="stylesheet" href="css/discord.css">
+    <script src="https://cdn.jsdelivr.net/npm/js-cookie@rc/dist/js.cookie.min.js"></script>
+    <script type="text/javascript" src="js/redirect.js"></script>
+    <script type="text/javascript" src="js/index.js"></script>
+</head>
+<body onload="otheronload(); redirect('https://discord.gg/aBH4uRG');">
+    <main>
+        <h2>You are being redirected to Discord.</h2>
+        <h3>If not, please <a href="https://discord.gg/aBH4uRG" target="_self">click here</a></h3>
+    </main>
+</body>
+</html>

+ 65 - 0
imprint_de.html

@@ -0,0 +1,65 @@
+<!DOCTYPE html>
+<html lang="de">
+<head>
+    <meta charset="UTF-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <script src="https://unpkg.com/phosphor-icons"></script>
+    <title>Sv443 - Impressum</title>
+    <link rel="stylesheet" href="css/global.css">
+    <link rel="stylesheet" href="css/index.css">
+    <script src="https://cdn.jsdelivr.net/npm/js-cookie@rc/dist/js.cookie.min.js"></script>
+    <script type="text/javascript" src="js/index.js"></script>
+</head>
+<body onload="otheronload();">
+    <header>
+        <p id="title">Impressum</p>
+    </header>
+    <main>
+        <h2>Angaben gemäß § 5 TMG</h2>
+        <p>Sven Fehler<br>
+            Käthe-Kollwitz-Weg 15<br>
+            70569 Stuttgart</p>
+        <h2>Kontakt</h2>
+        <p>Telefon: +49 1577 5200016<br>
+            E-Mail: [email protected]</p>
+        <h3>Haftung für Inhalte</h3>
+        <p>Als Diensteanbieter sind wir gemäß § 7 Abs.1 TMG für eigene Inhalte auf diesen Seiten nach den
+            allgemeinen
+            Gesetzen verantwortlich. Nach §§ 8 bis 10 TMG sind wir als Diensteanbieter jedoch nicht verpflichtet,
+            übermittelte oder gespeicherte fremde Informationen zu überwachen oder nach Umständen zu forschen, die
+            auf
+            eine rechtswidrige Tätigkeit hinweisen.</p>
+        <p>Verpflichtungen zur Entfernung oder Sperrung der Nutzung von Informationen nach den allgemeinen Gesetzen
+            bleiben
+            hiervon unberührt. Eine diesbezügliche Haftung ist jedoch erst ab dem Zeitpunkt der Kenntnis einer
+            konkreten
+            Rechtsverletzung möglich. Bei Bekanntwerden von entsprechenden Rechtsverletzungen werden wir diese Inhalte
+            umgehend entfernen.</p>
+        <h3>Haftung für Links</h3>
+        <p>Unser Angebot enthält Links zu externen Websites Dritter, auf deren Inhalte wir keinen Einfluss haben.
+            Deshalb
+            können wir für diese fremden Inhalte auch keine Gewähr übernehmen. Für die Inhalte der verlinkten
+            Seiten
+            ist stets der jeweilige Anbieter oder Betreiber der Seiten verantwortlich. Die verlinkten Seiten wurden zum
+            Zeitpunkt der Verlinkung auf mögliche Rechtsverstöße überprüft. Rechtswidrige Inhalte waren zum
+            Zeitpunkt
+            der Verlinkung nicht erkennbar.</p>
+        <p>Eine permanente inhaltliche Kontrolle der verlinkten Seiten ist jedoch ohne konkrete Anhaltspunkte einer
+            Rechtsverletzung nicht zumutbar. Bei Bekanntwerden von Rechtsverletzungen werden wir derartige Links
+            umgehend
+            entfernen.</p>
+        <h3>Urheberrecht</h3>
+        <p>Die durch die Seitenbetreiber erstellten Inhalte und Werke auf diesen Seiten unterliegen dem deutschen
+            Urheberrecht. Die Vervielfältigung, Bearbeitung, Verbreitung und jede Art der Verwertung außerhalb der
+            Grenzen
+            des Urheberrechtes bedürfen der schriftlichen Zustimmung des jeweiligen Autors bzw. Erstellers. Downloads
+            und
+            Kopien dieser Seite sind nur für den privaten, nicht kommerziellen Gebrauch gestattet.</p>
+        <p>Soweit die Inhalte auf dieser Seite nicht vom Betreiber erstellt wurden, werden die Urheberrechte Dritter
+            beachtet. Insbesondere werden Inhalte Dritter als solche gekennzeichnet. Sollten Sie trotzdem auf eine
+            Urheberrechtsverletzung aufmerksam werden, bitten wir um einen entsprechenden Hinweis. Bei Bekanntwerden von
+            Rechtsverletzungen werden wir derartige Inhalte umgehend entfernen.</p>
+        <script src="/cdn-cgi/apps/head/5pPzH2kRN5hr-QFaZq4KkAWkfiU.js"></script>
+    </main>
+</body>
+</html>

+ 64 - 0
imprint_en.html

@@ -0,0 +1,64 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+    <meta charset="UTF-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <script src="https://unpkg.com/phosphor-icons"></script>
+    <title>Sv443 - Legal Information</title>
+    <link rel="stylesheet" href="css/global.css">
+    <link rel="stylesheet" href="css/index.css">
+    <script src="https://cdn.jsdelivr.net/npm/js-cookie@rc/dist/js.cookie.min.js"></script>
+    <script type="text/javascript" src="js/index.js"></script>
+</head>
+<body onload="otheronload();">
+    <header>
+        <p id="title">Site Notice</p>
+    </header>
+    <main>
+        <h2>Information pursuant to § 5 TMG</h2>
+        <p>Sven Fehler<br>
+            Käthe-Kollwitz-Weg 15<br>
+            70569 Stuttgart</p>
+        <h2>Contact</h2>
+        <p>Phone: +49 1577 5200016<br>
+            E-mail: [email protected]</p>
+        <h3>Liability for Contents</h3>
+        <p>As service providers, we are liable for own contents of these websites according to Paragraph 7, Sect. 1
+            German
+            Telemedia Act (TMG). However, according to Paragraphs 8 to 10 German Telemedia Act (TMG), service providers
+            are
+            not obligated to permanently monitor submitted or stored information or to search for evidences that
+            indicate
+            illegal activities.</p>
+        <p>Legal obligations to removing information or to blocking the use of information remain unchallenged. In this
+            case, liability is only possible at the time of knowledge about a specific violation of law. Illegal
+            contents
+            will be removed immediately at the time we get knowledge of them.</p>
+        <h3>Liability for Links</h3>
+        <p>Our offer includes links to external third party websites. We have no influence on the contents of those
+            websites, therefore we cannot guarantee for those contents. Providers or administrators of linked websites
+            are
+            always responsible for their own contents.</p>
+        <p>The linked websites had been checked for possible violations of law at the time of the establishment of the
+            link.
+            Illegal contents were not detected at the time of the linking. A permanent monitoring of the contents of
+            linked
+            websites cannot be imposed without reasonable indications that there has been a violation of law. Illegal
+            links
+            will be removed immediately at the time we get knowledge of them.</p>
+        <h3>Copyright</h3>
+        <p>Contents and compilations published on these websites by the providers are subject to German copyright laws.
+            Reproduction, editing, distribution as well as the use of any kind outside the scope of the copyright law
+            require a written permission of the author or originator. Downloads and copies of these websites are
+            permitted
+            for private use only.<br> The commercial use of our contents without permission of the originator is
+            prohibited.
+        </p>
+        <p>Copyright laws of third parties are respected as long as the contents on these websites do not originate from
+            the
+            provider. Contributions of third parties on this site are indicated as such. However, if you notice any
+            violations of copyright law, please inform us. Such contents will be removed immediately.</p>
+    </main>
+    <script src="/cdn-cgi/apps/head/5pPzH2kRN5hr-QFaZq4KkAWkfiU.js"></script>
+</body>
+</html>

+ 164 - 69
index.html

@@ -1,72 +1,167 @@
 <!DOCTYPE html>
-<html>
-    <head>
-        <title>Home - Sv443 Network</title>
+<html lang="en">
+<head>
+    <meta charset="UTF-8">
+    <meta name="pagename" content="Sv443 Network - Homepage">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <meta name="HandheldFriendly" content="true">
+    <meta name="description" content="Sv443 Network Homepage - This is the main page of Sv443 and the Sv443 Network. Here you will find all my projects and contact information.">
+    <meta name="twitter:card" content="Sv443 Network Homepage - This is the main page of Sv443 and the Sv443 Network. Here you will find all my projects and contact information.">
+    <meta name="subject" content="Video Games">
+    <meta name="copyright" content="Sv443 - Licensed under the MIT license ( https://sv443.net/LICENSE )">
+    <meta name="author" content="Sv443 ( [email protected] - https://sv443.net/ )">
+    <meta name="msvalidate.01" content="E7F67DC0A96E1B4B82A133B38600F151">
+    <meta property="og:title" content="Sv443 Network - Homepage">
+    <meta property="og:url" content="https://sv443.net/">
+    <meta property="og:description" content="Sv443 Network Homepage - This is the main page of Sv443 and the Sv443 Network. Here you will find all my projects and contact information.">
+    <meta property="og:image" content="https://sv443.net/favicon.png">
+    <meta property="og:type" content="profile"> 
+    <meta property="og:locale" content="en_US">
+    <meta property="og:locale:alternate" content="en_GB">
+    <meta property="og:locale:alternate" content="de_DE">
+    <meta property="og:locale:alternate" content="de_CH">
+    <meta property="og:locale:alternate" content="de_AT">
+    <meta name="application-name" content="Sv443 Network - Homepage">
+    <meta name="theme-color" content="#101747">
 
-        <!-- #SECTION meta -->
-        <meta charset="UTF-8">
-        <meta name="viewport" content="width=device-width, initial-scale=1.0">
-        <meta name="HandheldFriendly" content="true">
-
-        <!-- page name -->
-        <meta name="pagename" content="Sv443 Network">
-        <meta property="og:title" content="Sv443 Network">
-        <meta name="application-name" content="Sv443 Network">
-        <meta name="description" content="A small network offering free to use and open source applications and services">
-        <meta name="twitter:card" content="A small network offering free to use and open source applications and services">
-        <meta property="og:description" content="A small network offering free to use and open source applications and services">
-
-        <!-- other -->
-        <meta name="copyright" content="Sv443 - MIT license ( https://sv443.net/LICENSE )">
-        <meta name="author" content="Sv443 ([email protected])">
-        <meta name="google-site-verification" content="_oYMGw_A8atIEi97sffInQNpEVrgp25lgCH2uDZ9WUs">
-        <meta name="msvalidate.01" content="E7F67DC0A96E1B4B82A133B38600F151">
-        <meta property="og:url" content="https://sv443.net/">
-        <meta property="og:image" content="https://sv443.net/favicon.png">
-        <meta property="og:type" content="profile"> 
-        <meta property="og:locale" content="en_US">
-        <meta property="og:locale:alternate" content="en_GB">
-        <meta property="og:locale:alternate" content="de_DE">
-        <meta property="og:locale:alternate" content="de_CH">
-        <meta property="og:locale:alternate" content="de_AT">
-
-        <!-- icon -->
-        <link rel="apple-touch-icon" sizes="180x180" href="/resources/icons/apple-touch-icon.png">
-        <link rel="icon" type="image/png" sizes="32x32" href="/resources/icons/favicon-32x32.png">
-        <link rel="icon" type="image/png" sizes="16x16" href="/resources/icons/favicon-16x16.png">
-        <link rel="manifest" href="/resources/icons/site.webmanifest">
-        <link rel="mask-icon" href="/resources/icons/safari-pinned-tab.svg" color="#000000">
-        <link rel="shortcut icon" href="/resources/icons/favicon.ico">
-        <meta name="msapplication-TileColor" content="#000000">
-        <meta name="msapplication-config" content="/resources/icons/browserconfig.xml">
-        <meta name="theme-color" content="#000000">
-
-        <!-- #SECTION scripts -->
-        <script src="./js/index.js"></script>
-
-        <!-- #SECTION styles -->
-        <link rel="stylesheet" href="./css/global.css">
-        <link rel="stylesheet" href="./css/index.css">
-    </head>
-    <body data-lang="en">
-        <header>
-            <h1 class="flexItem">Sv443 Network</h1>
-            <nav id="menu" class="flexItem">
-                <ul class="menuOptionContainer">
-                    <div class="menuOption menuMainOption"><a>MainOpt</a></div>
-                    <li class="menuOption menuSubOption"><a>Opt 1</a></li>
-                    <li class="menuOption menuSubOption"><a>Opt 2</a></li>
-                </ul>
-            </nav>
-            <select id="switchLang" class="flexItem" value="en" onchange="switchLang(this.value)">
-                <option value="en" selected>English</option>
-                <option value="de">Deutsch</option>
-            </select>
-        </header>
-        <main>
-            Ipsum consequat mollit ea Lorem ea est et ea dolore do aliqua. Dolor nisi esse mollit Lorem. Eiusmod dolor minim laborum ex dolor minim pariatur quis reprehenderit adipisicing velit laboris do. Pariatur pariatur ut proident amet aute irure veniam ipsum officia tempor dolor. Dolor enim proident quis amet non sit sit do pariatur duis excepteur amet labore. Amet non nulla reprehenderit ea duis enim tempor nulla. Ex aute veniam proident nisi excepteur consectetur pariatur commodo aliquip nostrud irure.<br>
-            Ipsum consequat mollit ea Lorem ea est et ea dolore do aliqua. Dolor nisi esse mollit Lorem. Eiusmod dolor minim laborum ex dolor minim pariatur quis reprehenderit adipisicing velit laboris do. Pariatur pariatur ut proident amet aute irure veniam ipsum officia tempor dolor. Dolor enim proident quis amet non sit sit do pariatur duis excepteur amet labore. Amet non nulla reprehenderit ea duis enim tempor nulla. Ex aute veniam proident nisi excepteur consectetur pariatur commodo aliquip nostrud irure.<br>
-            Ipsum consequat mollit ea Lorem ea est et ea dolore do aliqua. Dolor nisi esse mollit Lorem. Eiusmod dolor minim laborum ex dolor minim pariatur quis reprehenderit adipisicing velit laboris do. Pariatur pariatur ut proident amet aute irure veniam ipsum officia tempor dolor. Dolor enim proident quis amet non sit sit do pariatur duis excepteur amet labore. Amet non nulla reprehenderit ea duis enim tempor nulla. Ex aute veniam proident nisi excepteur consectetur pariatur commodo aliquip nostrud irure.<br>
-        </main>
-    </body>
+    <link rel="stylesheet" href="css/global.css">
+    <link rel="stylesheet" href="css/index.css">
+    <title>Sv443 Network - Homepage</title>
+    <script src="https://unpkg.com/phosphor-icons"></script>
+    <script src="https://cdn.jsdelivr.net/npm/js-cookie@rc/dist/js.cookie.min.js"></script>
+    <script type="text/javascript" src="js/index.js"></script>
+        
+    <link rel="apple-touch-icon" sizes="180x180" href="/resources/favicons/apple-touch-icon.png">
+    <link rel="icon" type="image/png" sizes="32x32" href="/resources/favicons/favicon-32x32.png">
+    <link rel="icon" type="image/png" sizes="194x194" href="/resources/favicons/favicon-194x194.png">
+    <link rel="icon" type="image/png" sizes="192x192" href="/resources/favicons/android-chrome-192x192.png">
+    <link rel="icon" type="image/png" sizes="16x16" href="/resources/favicons/favicon-16x16.png">
+    <link rel="mask-icon" href="/resources/favicons/safari-pinned-tab.svg" color="#101747">
+    <link rel="shortcut icon" href="/resources/favicons/favicon.ico">
+    <meta name="msapplication-TileColor" content="#000000">
+    <meta name="msapplication-config" content="/resources/favicons/browserconfig.xml">
+    <meta name="theme-color" content="#101747">
+</head>
+<body onload="indexonload();">
+    <header>
+        <p id="title">Sv443 Network&trade;</p>
+    </header>
+    <main>
+        <div id="options">
+            <div id="themebtn" onclick="theme.change();">
+                <i class="ph-sun icon"></i>
+            </div>
+            <div id="langbtn" title="Wechsle zu Deutsch" onclick="switchLang();">
+                <i class="ph-translate icon"></i>
+            </div>
+        </div>
+        <div id="synopsis">
+            <div>
+                <div id="logo"></div>
+            </div>
+            <div style="display: flex; flex-direction: column;">
+                <p>A small network offering free to use and open source applications and services</p>
+                <a href="/ko-fi" class="img-link" target="_blank"><div>
+                    <img style="max-width: 100%;" src="resources/images/ko-fi_button.webp" alt="Ko-fi button">
+                </div></a>
+            </div>
+        </div>
+        <div id="projects">
+            <div id="scripts-websites">
+                <div class="list-header">
+                    <h1>Scripts/Websites</h1>
+                </div>
+                <div class="list">
+                    <a href="https://sv443.net/jokeapi/v2/" id="jokeapi" rel="noopener" class="img-link" title="Visit the JokeAPI Website" target="_blank"><div class="list-item-container">
+                        <img src="resources/images/jokeapi.webp" alt="JokeAPI icon" class="circle"></img>
+                        <h4>JokeAPI</h4>
+                    </div></a>
+                    <a href="https://github.com/Sv443/JSLib" id="jslib" rel="noopener" class="img-link" title="Visit the JSLib Github Repository" target="_blank"><div class="list-item-container">
+                        <img src="https://raw.githubusercontent.com/Sv443/JSLib/master/icon_v1.png" alt="JSLib icon" class="circle"></img>
+                        <h4>JSLib</h4>
+                    </div></a>
+                    <a href="https://github.com/Sv443/LangApplier" id="langapplier" rel="noopener" class="img-link" title="Visit the LangApplier Gitub Repository" target="_blank"><div class="list-item-container">
+                        <img src="resources/images/langapplier.webp" alt="LangApplier icon" class="circle"></img>
+                        <h4>LangApplier</h4>
+                    </div></a>
+                    <a href="https://github.com/Sv443/TamperTubePlus" id="ttp" rel="noopener" class="img-link" title="Visit the TamperTubePlus Github Repository" target="_blank"><div class="list-item-container">
+                        <img src="resources/images/ttp.webp" alt="TamperTubePlus icon" class="circle"></img>
+                        <h4>TamperTubePlus</h4>
+                    </div></a>
+                    <a href="https://github.com/Sv443/skribbl.io-plus" id="skribbl" rel="noopener" class="img-link" title="Visit the Skribbl.io+ Github Repository" target="_blank"><div class="list-item-container">
+                        <img src="https://raw.githubusercontent.com/Sv443/code/master/resources/favicons/skribbl.io%2B%20icon.png" alt="Skribbl.io icon" class="circle"></img>
+                        <h4>skribbl.io+</h4>
+                    </div></a>
+                </div>
+            </div>
+            <div id="games">
+                <div class="list-header">
+                    <h1 id="gamestitle">My Games</h1>
+                </div>
+                <div class="list">
+                    <a href="https://sv443.net/games/flappy_switch/index.html" id="flappyswitch" rel="noopener class="img-link" title="Play Flappy Switch" target="_blank"><div class="list-item-container">
+                        <img src="resources/images/flappy_switch.webp" alt="Flappy Switch icon" class="circle"></img>
+                        <h4>Flappy Switch</h4>
+                    </div></a>
+                    <a href="https://sv443.github.io/TextAdventureGame/TextAdventureGame" id="textisland" rel="noopener" class="img-link" title="Play Text Island" target="_blank"><div class="list-item-container">
+                        <img src="https://raw.githubusercontent.com/Sv443/TextAdventureGame/master/icon_160x160.png" alt="Text Island icon" class="circle"></img>
+                        <h4>Text Island</h4>
+                    </div></a>
+                </div>
+            </div>
+        </div>
+        <div id="contact">
+            <div class="list-header">
+                <h1>Contact</h1>
+            </div>
+            <div class="list">
+                <a href="https://github.com/Sv443" id="github" rel="noopener" class="img-link" title="Sv443 on Github" target="_blank"><div class="list-item-container">
+                    <img src="resources/images/github.webp" alt="Github icon" class="circle"></img>
+                    <h4>Github</h4>
+                </div></a>
+                <a href="https://www.npmjs.com/~sv443" id="npm" rel="noopener" class="img-link" title="Sv443 on npm" target="_blank"><div class="list-item-container">
+                    <img src="resources/images/npm.webp" alt="npm icon" class="circle"></img>
+                    <h4>npm</h4>
+                </div></a>
+                <a href="https://sv443.itch.io/" id="itch" rel="noopener" class="img-link" title="Sv443 on Itch.io" target="_blank"><div class="list-item-container">
+                    <img src="resources/images/itch.webp" alt="Itch.io icon" class="circle"></img>
+                    <h4>itch.io</h4>
+                </div></a>
+                <a href="https://www.linkedin.com/in/sven-fehler/" rel="noopener" class="img-link" title="My LinkedIn profile" target="_blank"><div class="list-item-container">
+                    <img src="resources/images/linkedin.webp" alt="LinkedIn icon" class="circle"></img>
+                    <h4>LinkedIn</h4>
+                </div></a>
+                <a href="https://profile.codersrank.io/user/sv443" rel="noopener" class="img-link" title="My CodersRank profile" target="_blank"><div class="list-item-container">
+                    <img src="resources/images/codersrank.webp" alt="CodersRank icon" class="circle"></img>
+                    <h4>CodersRank</h4>
+                </div></a>
+                <a href="https://twitter.com/Sv443_dev" id="twitter" rel="noopener" class="img-link" title="Sv443 on Twitter" target="_blank"><div class="list-item-container">
+                    <img src="resources/images/twitter.webp" alt="Twitter icon" class="circle"></img>
+                    <h4>Twitter</h4>
+                </div></a>
+                <a onclick="copyemail();" id="email" class="img-link" title="Copies Sv443's E-Mail address to your clipboard"><div class="list-item-container">
+                    <img src="resources/images/email.webp" alt="Email icon" class="circle"></img>
+                    <h4>Email</h4>
+                </div></a>
+                <a href="/discord" id="discord" class="img-link" title="Join The Sv443 Network Discord Server" target="_blank"><div class="list-item-container">
+                    <img src="resources/images/discord.webp" alt="Discord icon" class="circle"></img>
+                    <h4>Discord</h4>
+                </div></a>
+            </div>
+        </div>
+    </main>
+    <footer>
+        <div id="cloudflare">
+            <a href="https://www.cloudflare.com" rel="noopener" class="img-link" target="_blank">
+            <img src="resources/images/cloudflare-light.svg" alt="Cloudflare icon" width="150px"></img>
+            </a>
+        </div>
+        <div id="legal">
+            <h4><a id="privacypolicy" href="/privacypolicy/en" target="_blank">Privacy Policy</a> • <a id="imprint" href="/imprint/en" target="_blank">Legal Information</a></h4>
+        </div>
+    </footer>
+    <div id="notif">
+        <h3>Email copied</h3>
+    </div>
+</body>
 </html>

+ 253 - 8
js/index.js

@@ -1,8 +1,253 @@
-/**
- * Gets called when the user changes the value of the `select#switchLang`
- * @param {"en"|"de"} code 
- */
-function switchLang(code)
-{
-
-}
+"use-strict";
+
+let langValues = {
+    en: {
+        games_title: "My Games",
+        email_copied: "(E-Mail address copied to clipboard)",
+        about_title: "About me:",
+        github_title: "Sv443 on Github",
+        npm_title: "Sv443 on npm",
+        twitter_title: "Sv443 on Twitter",
+        itch_title: "Sv443 on itch.io",
+        email_title: "Copies Sv443's E-Mail address to your clipboard",
+        discord_title: "Join the Sv443 Network Discord server",
+        flappy_switch_title: "Play Flappy Switch",
+        langbtn_title: "Wecshle zu Deutsch",
+        privacy_policy: "Privacy Policy",
+        imprint: "Legal Information",
+        jslib_title: "Visit the JSLib Github repository",
+        langapplier_title: "Visit the LangApplier Github repository",
+        ttp_title: "Visit the TamperTubePlus Github repository",
+        skribbl_title: "Visit the skribbl.io Github repository",
+        text_island_title: "Play Text Island",
+        jokeapi_title: "Visit the JokeAPI Website",
+    },
+    de: {
+        games_title: "Meine Spiele",
+        email_copied: "(E-Mail Adresse in die Zwischenablage kopiert)",
+        about_title: "Über mich:",
+        github_title: "Sv443 auf GitHub",
+        npm_title: "Sv443 auf npm",
+        twitter_title: "Sv443 auf Twitter",
+        itch_title: "Sv443 auf itch.io",
+        email_title: "Kopiert Sv443's E-Mail Adresse in deine Zwischenablage",
+        discord_title: "Betrete den Discord-Server vom Sv443 Network",
+        flappy_switch_title: "Spiele Flappy Switch",
+        langbtn_title: "Switch to English",
+        privacy_policy: "Datenschutzerklärung",
+        imprint: "Impressum",
+        jslib_title: "Besuche die JSLib GitHub-Seite",
+        langapplier_title: "Besuche die LangApplier GitHub-Seite",
+        ttp_title: "Besuche die TamperTubePlus GitHub-Seite",
+        skribbl_title: "Besuche die skribbl.io+ GitHub-Seite",
+        text_island_title: "Spiele Text Island",
+        jokeapi_title: "Besuche die JokeAPI Website",
+    }
+};
+
+function otheronload() {
+    if (!Cookies.get("theme_pref")) {
+        setCookie("theme_pref", "light", 7);
+        theme.select("light");
+    } else if (Cookies.get("theme_pref") == "dark")
+        theme.select("dark");
+    else {
+        theme.select("light");
+    }
+}
+
+function indexonload() {
+    loadchanges();
+    if (Cookies.get("lang_pref") != "de" && Cookies.get("lang_pref") != "en") {
+        Cookies.remove("lang_pref");
+        reload();
+    }
+    if (!Cookies.get("theme_pref")) {
+        setCookie("theme_pref", "light", 7);
+        theme.select("light");
+    } else if (Cookies.get("theme_pref") == "dark")
+        theme.select("dark");
+    else {
+        theme.select("light");
+    }
+
+    if (window.location.search.substring(1).includes("epilepsy"))
+        theme.epilepsy();
+    if (window.location.search.substring(1).includes("wtf"))
+        rbow({
+            "keyCode": 16
+        });
+    if (window.location.search.substring(1).includes("spook_mode"))
+        getspooked();
+}
+
+function reload() {
+    window.location.reload();
+}
+
+function loadchanges() {
+    if (getLang() == "de") {
+        document.getElementById("privacypolicy").href = "/privacypolicy/de";
+        document.getElementById("imprint").href = "/imprint/de";
+
+        document.getElementById("github").title = langValues.de.github_title;
+        document.getElementById("npm").title = langValues.de.npm_title;
+        document.getElementById("itch").title = langValues.de.itch_title;
+        document.getElementById("twitter").title = langValues.de.twitter_title;
+        document.getElementById("email").title = langValues.de.email_title;
+        document.getElementById("discord").title = langValues.de.discord_title;
+        document.getElementById("jslib").title = langValues.de.jslib_title;
+        document.getElementById("langapplier").title = langValues.de.langapplier_title;
+        document.getElementById("ttp").title = langValues.de.ttp_title;
+        document.getElementById("skribbl").title = langValues.de.skribbl_title;
+        document.getElementById("jokeapi").title = langValues.de.jokeapi_title;
+        document.getElementById("textisland").title = langValues.de.text_island_title;
+        document.getElementById("gamestitle").innerHTML = langValues.de.games_title;
+        document.getElementById("flappyswitch").title = langValues.de.flappy_switch_title;
+        document.getElementById("langbtn").title = langValues.de.langbtn_title;
+        document.getElementById("notif").querySelector("h3").textContent = langValues.de.email_copied;
+        document.getElementById("privacypolicy").textContent = langValues.de.privacy_policy;
+        document.getElementById("imprint").textContent = langValues.de.imprint;
+    } else {
+        document.getElementById("privacypolicy").href = "/privacypolicy/en";
+        document.getElementById("imprint").href = "/imprint/en";
+
+        document.getElementById("github").title = langValues.en.github_title;
+        document.getElementById("npm").title = langValues.en.npm_title;
+        document.getElementById("itch").title = langValues.en.itch_title;
+        document.getElementById("twitter").title = langValues.en.twitter_title;
+        document.getElementById("email").title = langValues.en.email_title;
+        document.getElementById("discord").title = langValues.en.discord_title;
+        document.getElementById("jslib").title = langValues.en.jslib_title;
+        document.getElementById("langapplier").title = langValues.en.langapplier_title;
+        document.getElementById("ttp").title = langValues.en.ttp_title;
+        document.getElementById("skribbl").title = langValues.en.skribbl_title;
+        document.getElementById("jokeapi").title = langValues.en.jokeapi_title;
+        document.getElementById("textisland").title = langValues.en.text_island_title;
+        document.getElementById("gamestitle").innerHTML = langValues.en.games_title;
+        document.getElementById("flappyswitch").title = langValues.en.flappy_switch_title;
+        document.getElementById("langbtn").title = langValues.en.langbtn_title;
+        document.getElementById("notif").querySelector("h3").textContent = langValues.en.email_copied;
+        document.getElementById("privacypolicy").textContent = langValues.en.privacy_policy;
+        document.getElementById("imprint").textContent = langValues.en.imprint;
+    }
+}
+
+function getLang() {
+    var browserlang = navigator.language || navigator.userLanguage;
+    if (Cookies.get("lang_pref"))
+        return Cookies.get("lang_pref");
+    if (browserlang.includes("de")) {
+        setCookie("lang_pref", "de", 31);
+        return "de";
+    } else {
+        setCookie("lang_pref", "en", 31);
+        return "en";
+    }
+}
+
+function switchLang() {
+    var oldlang = getLang();
+    if (oldlang == "en")
+        setCookie("lang_pref", "de", 31);
+    if (oldlang == "de")
+        setCookie("lang_pref", "en", 31);
+    reload();
+}
+
+const theme = new function () {
+    this.change = function () {
+        var oldtheme = document.body.dataset.theme;
+        if (oldtheme == "dark") {
+            var newtheme = "light";
+        } else {
+            var newtheme = "dark";
+        }
+        theme.select(newtheme);
+    }
+    this.select = function (newtheme) {
+        setCookie("theme_pref", newtheme, 7);
+        if (newtheme == "light") {
+            if (document.getElementsByClassName("ph-moon")[0]) {
+                document.getElementsByClassName("ph-moon")[0].classList.add("ph-sun");
+                document.getElementsByClassName("ph-moon")[0].classList.remove("ph-moon");
+                document.getElementById("cloudflare").querySelector("img").src = "resources/images/cloudflare-light.svg";
+            }
+        } else {
+            if (document.getElementsByClassName("ph-sun")[0]) {
+                document.getElementsByClassName("ph-sun")[0].classList.add("ph-moon");
+                document.getElementsByClassName("ph-sun")[0].classList.remove("ph-sun");
+                document.getElementById("cloudflare").querySelector("img").src = "resources/images/cloudflare-dark.svg";
+            }
+        }
+        document.body.dataset.theme = newtheme;
+    }
+    this.epilepsy = function () {
+        setInterval(theme.change, 250);
+    }
+    this.spooky = function () {
+        document.body.dataset.theme = "spooky";
+    }
+}
+
+function copyemail() {
+    var text = atob("Y29udGFjdEBzdjQ0My5uZXQ=");
+    var copyelem = document.createElement("textarea");
+    copyelem.id = "copy";
+    copyelem.innerHTML = text;
+    document.body.appendChild(copyelem);
+    document.getElementById("copy").select();
+    document.execCommand("copy");
+    copyelem.remove();
+    document.getElementById("notif").style.visibility = "visible";
+    document.getElementById("notif").style.opacity = "1";
+    setTimeout(() => {
+        document.getElementById("notif").style.opacity = "0";
+        document.getElementById("notif").style.visibility = "hidden";
+    }, 2000);
+}
+
+var donce = false;
+function rbow(e) {
+    if (e.keyCode == 16 && !donce) {
+        donce = true;
+        document.getElementById("title").dataset.disco = "true";
+        let stel = document.createElement("style");
+        stel.innerHTML = "*{transform:rotate(1900deg);transition:transform 1000s linear;}";
+        document.head.appendChild(stel);
+    }
+}
+
+function getspooked() {
+    theme.spooky();
+    var audio = new Audio("resources/audio/spooktune.mp3");
+    audio.play();
+    audio.loop = true;
+
+    let spook1 = document.createElement("img");
+    spook1.style.height = "10em";
+    spook1.src = "https://78.media.tumblr.com/828ab575b1894f3901ae7a05bb27f2cc/tumblr_n6hhknZQv91r2vz4uo1_400.gif"
+    document.getElementsByTagName("header")[0].prepend(spook1);
+
+    let spook2 = document.createElement("img");
+    spook2.style.height = "10em";
+    spook2.src = "https://i.kym-cdn.com/entries/icons/facebook/000/011/121/SKULL_TRUMPET_0-1_screenshot.jpg";
+    document.getElementById("projects").appendChild(spook2);
+
+    let spook3div = document.createElement("div");
+    spook3div.style.textAlign = "center";
+    let spook3 = document.createElement("img");
+    spook3.style.height = "10em";
+    spook3.src = "https://cdn03.plentymarkets.com/chg0wln2n7ix/item/images/102979/full/Jack-O-Lantern-Halloween-Kuerbis-Windlicht-21x19-c.jpg";
+    spook3div.appendChild(spook3);
+    document.getElementsByTagName("main")[0].append(spook3div);
+
+    document.getElementById("title").innerHTML = "🎃 Spook443 🎃";
+}
+
+function setCookie(key, value, expires) {
+    Cookies.set(key, value, {
+        expires: expires,
+        SameSite: "Strict"
+    })
+}

+ 15 - 0
js/redirect.js

@@ -0,0 +1,15 @@
+function redirect(redirectURL) {
+    try {
+        setTimeout(function () {
+            window.location.replace(redirectURL);
+        }, 2000);
+    }
+    catch (err) {
+        try {
+            window.location.href = redirectURL;
+        }
+        catch (err2) {
+            window.alert(`Couldn't automatically redirect - Please visit this link manually: ${redirectURL}`);
+        }
+    }
+}

+ 20 - 0
ko-fi.html

@@ -0,0 +1,20 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+    <meta charset="UTF-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <title>Sv443 - Support me by buying me a coffee</title>
+    <link rel="stylesheet" href="css/global.css">
+    <link rel="stylesheet" href="css/ko-fi.css">
+    <script src="https://cdn.jsdelivr.net/npm/js-cookie@rc/dist/js.cookie.min.js"></script>
+    <script type="text/javascript" src="js/redirect.js"></script>
+    <script type="text/javascript" src="js/index.js"></script>
+</head>
+<body onload="otheronload(); redirect('https://ko-fi.com/Sv443_')">
+    <main>
+        <a href="https://ko-fi.com/Sv443_"><img src="resources/images/ko-fi_blue.webp" width="200px" height="200px"></a>
+        <h1>Thank you for donating!</h1>
+        <h3>If you don't get redirected automatically, please click the icon at the top instead.</h3>
+    </main>
+</body>
+</html>

+ 398 - 0
privacypolicy_de.html

@@ -0,0 +1,398 @@
+<!DOCTYPE html>
+<html lang="de">
+<head>
+    <meta charset="UTF-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <title>Sv443 - Datenschutzerklärung</title>
+    <link rel="stylesheet" href="css/global.css">
+    <link rel="stylesheet" href="css/index.css">
+    <script src="https://cdn.jsdelivr.net/npm/js-cookie@rc/dist/js.cookie.min.js"></script>
+    <script type="text/javascript" src="js/index.js"></script>
+</head>
+
+<body onload="otheronload();">
+    <header>
+        <p id="title">Datenschutzerklärung</p>
+    </header>
+    <main>
+        <h2>1. Datenschutz auf einen Blick</h2>
+        <h3>Allgemeine Hinweise</h3>
+        <p>Die folgenden Hinweise geben einen einfachen Überblick darüber, was mit Ihren personenbezogenen Daten
+            passiert,
+            wenn Sie diese Website besuchen. Personenbezogene Daten sind alle Daten, mit denen Sie persönlich
+            identifiziert
+            werden können. Ausführliche Informationen zum Thema Datenschutz entnehmen Sie unserer unter diesem Text
+            aufgeführten Datenschutzerklärung.</p>
+        <h3>Datenerfassung auf dieser Website</h3>
+        <p><strong>Wer ist verantwortlich für die Datenerfassung auf dieser Website?</strong></p>
+        <p>Die Datenverarbeitung auf dieser Website erfolgt durch den Websitebetreiber. Dessen Kontaktdaten können Sie
+            dem
+            Impressum dieser Website entnehmen.</p>
+        <p><strong>Wie erfassen wir Ihre Daten?</strong></p>
+        <p>Ihre Daten werden zum einen dadurch erhoben, dass Sie uns diese mitteilen. Hierbei kann es sich z.&nbsp;B. um
+            Daten handeln, die Sie in ein Kontaktformular eingeben.</p>
+        <p>Andere Daten werden automatisch beim Besuch der Website durch unsere IT-Systeme erfasst. Das sind vor allem
+            technische Daten (z.&nbsp;B. Internetbrowser, Betriebssystem oder Uhrzeit des Seitenaufrufs). Die Erfassung
+            dieser Daten erfolgt automatisch, sobald Sie diese Website betreten.</p>
+        <p><strong>Wofür nutzen wir Ihre Daten?</strong></p>
+        <p>Ein Teil der Daten wird erhoben, um eine fehlerfreie Bereitstellung der Website zu gewährleisten. Andere
+            Daten
+            können zur Analyse Ihres Nutzerverhaltens verwendet werden.</p>
+        <p><strong>Welche Rechte haben Sie bezüglich Ihrer Daten?</strong></p>
+        <p>Sie haben jederzeit das Recht unentgeltlich Auskunft über Herkunft, Empfänger und Zweck Ihrer gespeicherten
+            personenbezogenen Daten zu erhalten. Sie haben außerdem ein Recht, die Berichtigung oder Löschung dieser
+            Daten
+            zu verlangen. Hierzu sowie zu weiteren Fragen zum Thema Datenschutz können Sie sich jederzeit unter der im
+            Impressum angegebenen Adresse an uns wenden. Des Weiteren steht Ihnen ein Beschwerderecht bei der
+            zuständigen
+            Aufsichtsbehörde zu.</p>
+        <p>Außerdem haben Sie das Recht, unter bestimmten Umständen die Einschränkung der Verarbeitung Ihrer
+            personenbezogenen Daten zu verlangen. Details hierzu entnehmen Sie der Datenschutzerklärung unter „Recht auf
+            Einschränkung der Verarbeitung“.</p>
+        <h3>Analyse-Tools und Tools von Drittanbietern</h3>
+        <p>Beim Besuch dieser Website kann Ihr Surf-Verhalten statistisch ausgewertet werden. Das geschieht vor allem
+            mit
+            Cookies und mit sogenannten Analyseprogrammen. Die Analyse Ihres Surf-Verhaltens erfolgt in der Regel
+            anonym;
+            das Surf-Verhalten kann nicht zu Ihnen zurückverfolgt werden.</p>
+        <p>Sie können dieser Analyse widersprechen oder sie durch die Nichtbenutzung bestimmter Tools verhindern.
+            Detaillierte Informationen zu diesen Tools und über Ihre Widerspruchsmöglichkeiten finden Sie in der
+            folgenden
+            Datenschutzerklärung.</p>
+        <h2>2. Hosting und Content Delivery Networks (CDN)</h2>
+        <h3>Cloudflare</h3>
+        <p>Wir nutzen den Service „Cloudflare“. Anbieter ist die Cloudflare, Inc. 665 3rd St. #200, San Francisco, CA
+            94107,
+            USA (im Folgenden „Cloudflare”).</p>
+        <p>Cloudflare bietet ein weltweit verteiltes Content Delivery Network mit DNS an. Dabei wird technisch der
+            Informationstransfer zwischen Ihrem Browser und unserer Webseite über das Netzwerk von Cloudflare geleitet.
+            Das
+            versetzt Cloudflare in die Lage, den Datenverkehr zwischen Ihrem Browser und unserer Webseite zu analysieren
+            und
+            als Filter zwischen unseren Servern und potenziell bösartigem Datenverkehr aus dem Internet zu dienen.
+            Hierbei
+            kann Cloudflare auch Cookies einsetzen, die jedoch allein zum hier beschriebenen Zweck eingesetzt werden.
+        </p>
+        <p>Wir haben mit Cloudflare einen Vertrag über Auftragsverarbeitung abgeschlossen. Cloudflare ist zudem
+            zertifizierter Teilnehmer des „EU-US Privacy Shield Frameworks“. Cloudflare hat sich dazu verpflichtet,
+            sämtliche aus den Mitgliedstaaten der Europäischen Union (EU) erhaltenen personenbezogenen Daten gemäß dem
+            „Privacy Shield Framework“ zu handhaben.</p>
+        <p>Der Einsatz von Cloudflare beruht auf unserem berechtigten Interesse an einer möglichst fehlerfreien und
+            sicheren
+            Bereitstellung unseres Webangebotes (Art. 6 Abs. 1 lit. f DSGVO).</p>
+        <p>Weitere Informationen zum Thema Sicherheit und Datenschutz bei Cloudflare finden Sie hier: <a
+                href="https://www.cloudflare.com/privacypolicy/" target="_blank"
+                rel="noopener noreferrer">https://www.cloudflare.com/privacypolicy/</a>.</p>
+        <h2>3. Allgemeine Hinweise und Pflichtinformationen</h2>
+        <h3>Datenschutz</h3>
+        <p>Die Betreiber dieser Seiten nehmen den Schutz Ihrer persönlichen Daten sehr ernst. Wir behandeln Ihre
+            personenbezogenen Daten vertraulich und entsprechend der gesetzlichen Datenschutzvorschriften sowie dieser
+            Datenschutzerklärung.</p>
+        <p>Wenn Sie diese Website benutzen, werden verschiedene personenbezogene Daten erhoben. Personenbezogene Daten
+            sind
+            Daten, mit denen Sie persönlich identifiziert werden können. Die vorliegende Datenschutzerklärung erläutert,
+            welche Daten wir erheben und wofür wir sie nutzen. Sie erläutert auch, wie und zu welchem Zweck das
+            geschieht.
+        </p>
+        <p>Wir weisen darauf hin, dass die Datenübertragung im Internet (z.&nbsp;B. bei der Kommunikation per E-Mail)
+            Sicherheitslücken aufweisen kann. Ein lückenloser Schutz der Daten vor dem Zugriff durch Dritte ist nicht
+            möglich.</p>
+        <h3>Hinweis zur verantwortlichen Stelle</h3>
+        <p>Die verantwortliche Stelle für die Datenverarbeitung auf dieser Website ist:</p>
+        <p>Sven Fehler<br>
+            Käthe-Kollwitz-Weg 15<br>
+            70569 Stuttgart <br>
+            Deutschland</p>
+        <p>Telefon: +49 1577 5200016<br>
+            E-Mail: [email protected]</p>
+        <p>Verantwortliche Stelle ist die natürliche oder juristische Person, die allein oder gemeinsam mit anderen über
+            die
+            Zwecke und Mittel der Verarbeitung von personenbezogenen Daten (z.&nbsp;B. Namen, E-Mail-Adressen o. Ä.)
+            entscheidet.</p>
+        <h3>Widerruf Ihrer Einwilligung zur Datenverarbeitung</h3>
+        <p>Viele Datenverarbeitungsvorgänge sind nur mit Ihrer ausdrücklichen Einwilligung möglich. Sie können eine
+            bereits
+            erteilte Einwilligung jederzeit widerrufen. Dazu reicht eine formlose Mitteilung per E-Mail an uns. Die
+            Rechtmäßigkeit der bis zum Widerruf erfolgten Datenverarbeitung bleibt vom Widerruf unberührt.</p>
+        <h3>Widerspruchsrecht gegen die Datenerhebung in besonderen Fällen sowie gegen Direktwerbung (Art. 21 DSGVO)
+        </h3>
+        <p>WENN DIE DATENVERARBEITUNG AUF GRUNDLAGE VON ART. 6 ABS. 1 LIT. E ODER F DSGVO ERFOLGT, HABEN SIE JEDERZEIT
+            DAS
+            RECHT, AUS GRÜNDEN, DIE SICH AUS IHRER BESONDEREN SITUATION ERGEBEN, GEGEN DIE VERARBEITUNG IHRER
+            PERSONENBEZOGENEN DATEN WIDERSPRUCH EINZULEGEN; DIES GILT AUCH FÜR EIN AUF DIESE BESTIMMUNGEN GESTÜTZTES
+            PROFILING. DIE JEWEILIGE RECHTSGRUNDLAGE, AUF DENEN EINE VERARBEITUNG BERUHT, ENTNEHMEN SIE DIESER
+            DATENSCHUTZERKLÄRUNG. WENN SIE WIDERSPRUCH EINLEGEN, WERDEN WIR IHRE BETROFFENEN PERSONENBEZOGENEN DATEN
+            NICHT
+            MEHR VERARBEITEN, ES SEI DENN, WIR KÖNNEN ZWINGENDE SCHUTZWÜRDIGE GRÜNDE FÜR DIE VERARBEITUNG NACHWEISEN,
+            DIE
+            IHRE INTERESSEN, RECHTE UND FREIHEITEN ÜBERWIEGEN ODER DIE VERARBEITUNG DIENT DER GELTENDMACHUNG, AUSÜBUNG
+            ODER
+            VERTEIDIGUNG VON RECHTSANSPRÜCHEN (WIDERSPRUCH NACH ART. 21 ABS. 1 DSGVO).</p>
+        <p>WERDEN IHRE PERSONENBEZOGENEN DATEN VERARBEITET, UM DIREKTWERBUNG ZU BETREIBEN, SO HABEN SIE DAS RECHT,
+            JEDERZEIT
+            WIDERSPRUCH GEGEN DIE VERARBEITUNG SIE BETREFFENDER PERSONENBEZOGENER DATEN ZUM ZWECKE DERARTIGER WERBUNG
+            EINZULEGEN; DIES GILT AUCH FÜR DAS PROFILING, SOWEIT ES MIT SOLCHER DIREKTWERBUNG IN VERBINDUNG STEHT. WENN
+            SIE
+            WIDERSPRECHEN, WERDEN IHRE PERSONENBEZOGENEN DATEN ANSCHLIESSEND NICHT MEHR ZUM ZWECKE DER DIREKTWERBUNG
+            VERWENDET (WIDERSPRUCH NACH ART. 21 ABS. 2 DSGVO).</p>
+        <h3>Beschwerderecht bei der zuständigen Aufsichtsbehörde</h3>
+        <p>Im Falle von Verstößen gegen die DSGVO steht den Betroffenen ein Beschwerderecht bei einer Aufsichtsbehörde,
+            insbesondere in dem Mitgliedstaat ihres gewöhnlichen Aufenthalts, ihres Arbeitsplatzes oder des Orts des
+            mutmaßlichen Verstoßes zu. Das Beschwerderecht besteht unbeschadet anderweitiger verwaltungsrechtlicher oder
+            gerichtlicher Rechtsbehelfe.</p>
+        <h3>Recht auf Datenübertragbarkeit</h3>
+        <p>Sie haben das Recht, Daten, die wir auf Grundlage Ihrer Einwilligung oder in Erfüllung eines Vertrags
+            automatisiert verarbeiten, an sich oder an einen Dritten in einem gängigen, maschinenlesbaren Format
+            aushändigen
+            zu lassen. Sofern Sie die direkte Übertragung der Daten an einen anderen Verantwortlichen verlangen, erfolgt
+            dies nur, soweit es technisch machbar ist.</p>
+        <h3>SSL- bzw. TLS-Verschlüsselung</h3>
+        <p>Diese Seite nutzt aus Sicherheitsgründen und zum Schutz der Übertragung vertraulicher Inhalte, wie zum
+            Beispiel
+            Bestellungen oder Anfragen, die Sie an uns als Seitenbetreiber senden, eine SSL- bzw. TLS-Verschlüsselung.
+            Eine
+            verschlüsselte Verbindung erkennen Sie daran, dass die Adresszeile des Browsers von „http://“ auf „https://“
+            wechselt und an dem Schloss-Symbol in Ihrer Browserzeile.</p>
+        <p>Wenn die SSL- bzw. TLS-Verschlüsselung aktiviert ist, können die Daten, die Sie an uns übermitteln, nicht von
+            Dritten mitgelesen werden.</p>
+        <h3>Auskunft, Löschung und Berichtigung</h3>
+        <p>Sie haben im Rahmen der geltenden gesetzlichen Bestimmungen jederzeit das Recht auf unentgeltliche Auskunft
+            über
+            Ihre gespeicherten personenbezogenen Daten, deren Herkunft und Empfänger und den Zweck der Datenverarbeitung
+            und
+            ggf. ein Recht auf Berichtigung oder Löschung dieser Daten. Hierzu sowie zu weiteren Fragen zum Thema
+            personenbezogene Daten können Sie sich jederzeit unter der im Impressum angegebenen Adresse an uns wenden.
+        </p>
+        <h3>Recht auf Einschränkung der Verarbeitung</h3>
+        <p>Sie haben das Recht, die Einschränkung der Verarbeitung Ihrer personenbezogenen Daten zu verlangen. Hierzu
+            können
+            Sie sich jederzeit unter der im Impressum angegebenen Adresse an uns wenden. Das Recht auf Einschränkung der
+            Verarbeitung besteht in folgenden Fällen:</p>
+        <ul>
+            <li>Wenn Sie die Richtigkeit Ihrer bei uns gespeicherten personenbezogenen Daten bestreiten, benötigen wir
+                in
+                der Regel Zeit, um dies zu überprüfen. Für die Dauer der Prüfung haben Sie das Recht, die Einschränkung
+                der
+                Verarbeitung Ihrer personenbezogenen Daten zu verlangen.</li>
+            <li>Wenn die Verarbeitung Ihrer personenbezogenen Daten unrechtmäßig geschah/geschieht, können Sie statt der
+                Löschung die Einschränkung der Datenverarbeitung verlangen.</li>
+            <li>Wenn wir Ihre personenbezogenen Daten nicht mehr benötigen, Sie sie jedoch zur Ausübung, Verteidigung
+                oder
+                Geltendmachung von Rechtsansprüchen benötigen, haben Sie das Recht, statt der Löschung die Einschränkung
+                der
+                Verarbeitung Ihrer personenbezogenen Daten zu verlangen.</li>
+            <li>Wenn Sie einen Widerspruch nach Art. 21 Abs. 1 DSGVO eingelegt haben, muss eine Abwägung zwischen Ihren
+                und
+                unseren Interessen vorgenommen werden. Solange noch nicht feststeht, wessen Interessen überwiegen, haben
+                Sie
+                das Recht, die Einschränkung der Verarbeitung Ihrer personenbezogenen Daten zu verlangen.</li>
+        </ul>
+        <p>Wenn Sie die Verarbeitung Ihrer personenbezogenen Daten eingeschränkt haben, dürfen diese Daten – von ihrer
+            Speicherung abgesehen – nur mit Ihrer Einwilligung oder zur Geltendmachung, Ausübung oder Verteidigung von
+            Rechtsansprüchen oder zum Schutz der Rechte einer anderen natürlichen oder juristischen Person oder aus
+            Gründen
+            eines wichtigen öffentlichen Interesses der Europäischen Union oder eines Mitgliedstaats verarbeitet werden.
+        </p>
+        <h2>4. Datenerfassung auf dieser Website</h2>
+        <h3>Cookies</h3>
+        <p>Unsere Internetseiten verwenden so genannte „Cookies“. Cookies sind kleine Textdateien und richten auf Ihrem
+            Endgerät keinen Schaden an. Sie werden entweder vorübergehend für die Dauer einer Sitzung (Session-Cookies)
+            oder
+            dauerhaft (permanente Cookies) auf Ihrem Endgerät gespeichert. Session-Cookies werden nach Ende Ihres
+            Besuchs
+            automatisch gelöscht. Permanente Cookies bleiben auf Ihrem Endgerät gespeichert bis Sie diese selbst
+            löschen&nbsp;oder eine automatische Lösung durch Ihren Webbrowser erfolgt.</p>
+        <p>Teilweise können auch Cookies von Drittunternehmen auf Ihrem Endgerät gespeichert werden, wenn Sie unsere
+            Seite
+            betreten (Third-Party-Cookies). Diese ermöglichen uns oder Ihnen die Nutzung bestimmter Dienstleistungen des
+            Drittunternehmens (z.B. Cookies zur Abwicklung von Zahlungsdienstleistungen).</p>
+        <p>Cookies haben verschiedene Funktionen. Zahlreiche Cookies sind technisch notwendig, da bestimmte
+            Webseitenfunktionen ohne diese nicht funktionieren würden (z.B. die Warenkorbfunktion oder die Anzeige von
+            Videos). Andere Cookies dienen dazu das Nutzerverhalten auszuwerten&nbsp;oder Werbung anzuzeigen.</p>
+        <p>Technisch notwendige Cookies (z.B. Warenkorb-Cookies) werden auf Grundlage von Art. 6 Abs. 1 lit. f DSGVO
+            gespeichert. Wir haben ein berechtigtes Interesse an der Speicherung von Cookies zur technisch fehlerfreien
+            und
+            optimierten Bereitstellung unserer Dienste. Andere Cookies werden nur mit Ihrer Einwilligung auf Grundlage
+            von
+            Art. 6 Abs. 1 lit. a DSGVO gespeichert. Die Einwilligung ist jederzeit für die Zukunft widerrufbar.</p>
+        <p>Sie können Ihren Browser so einstellen, dass Sie über das Setzen von Cookies informiert werden und Cookies
+            nur im
+            Einzelfall erlauben, die Annahme von Cookies für bestimmte Fälle oder generell ausschließen sowie das
+            automatische Löschen der Cookies beim Schließen des Browsers aktivieren. Bei der Deaktivierung von Cookies
+            kann
+            die Funktionalität dieser Website eingeschränkt sein.</p>
+        <p>Soweit Cookies von Drittunternehmen oder zu Analysezwecken eingesetzt werden, werden wir Sie hierüber im
+            Rahmen
+            dieser Datenschutzerklärung gesondert informieren und ggf. eine Einwilligung abfragen.</p>
+        <h3>Cookie-Einwilligung mit Consent Manager Provider</h3>
+        <p>Unsere Website nutzt die Cookie-Consent-Technologie von Consent Manager Provider, um Ihre Einwilligung zur
+            Speicherung bestimmter Cookies auf Ihrem Endgerät einzuholen und diese datenschutzkonform zu dokumentieren.
+            Anbieter dieser Technologie ist die Jaohawi AB, Håltegelvägen 1b, 72348 Västerås, Schweden, Webseite: <a
+                href="https://www.consentmanager.de" target="_blank"
+                rel="noopener noreferrer">https://www.consentmanager.de</a> (im Folgenden „Consent Manager Provider“).
+        </p>
+        <p>Wenn Sie unsere Website betreten, wird eine Verbindung zu den Servern von Consent Manager Provider
+            hergestellt,
+            um Ihre Einwilligungen und sonstigen Erklärungen zur Cookie-Nutzung einzuholen. Anschließend speichert
+            Consent
+            Manager Provider ein Cookie in Ihrem Browser, um Ihnen die erteilten Einwilligungen bzw. deren Widerruf
+            zuordnen
+            zu können. Die so erfassten Daten werden gespeichert, bis Sie uns zur Löschung auffordern, den
+            Consent-Manager-Provider-Cookie selbst löschen oder der Zweck für die Datenspeicherung entfällt. Zwingende
+            gesetzliche Aufbewahrungspflichten bleiben unberührt.</p>
+        <p>Der Einsatz von Consent Manager Provider erfolgt, um die gesetzlich vorgeschriebenen Einwilligungen für den
+            Einsatz von Cookies einzuholen. Rechtsgrundlage hierfür ist Art. 6 Abs. 1 S. 1 lit. c DSGVO.</p>
+        <p><strong>Vertrag über Auftragsverarbeitung</strong></p>
+        <p>Wir haben einen Vertrag über Auftragsverarbeitung mit Consent Manager Provider geschlossen. Hierbei handelt
+            es
+            sich um einen datenschutzrechtlich vorgeschriebenen Vertrag, der gewährleistet, dass Consent Manager
+            Provider
+            die personenbezogenen Daten unserer Websitebesucher nur nach unseren Weisungen und unter Einhaltung der der
+            DSGVO verarbeitet.</p>
+        <h3>Server-Log-Dateien</h3>
+        <p>Der Provider der Seiten erhebt und speichert automatisch Informationen in so genannten Server-Log-Dateien,
+            die
+            Ihr Browser automatisch an uns übermittelt. Dies sind:</p>
+        <ul>
+            <li>Browsertyp und Browserversion</li>
+            <li>verwendetes Betriebssystem</li>
+            <li>Referrer URL</li>
+            <li>Hostname des zugreifenden Rechners</li>
+            <li>Uhrzeit der Serveranfrage</li>
+            <li>IP-Adresse</li>
+        </ul>
+        <p>Eine Zusammenführung dieser Daten mit anderen Datenquellen wird nicht vorgenommen.</p>
+        <p>Die Erfassung dieser Daten erfolgt auf Grundlage von Art. 6 Abs. 1 lit. f DSGVO. Der Websitebetreiber hat ein
+            berechtigtes Interesse an der technisch fehlerfreien Darstellung und der Optimierung seiner Website – hierzu
+            müssen die Server-Log-Files erfasst werden.</p>
+        <h3>Anfrage per E-Mail, Telefon oder Telefax</h3>
+        <p>Wenn Sie uns per E-Mail, Telefon oder Telefax kontaktieren, wird Ihre Anfrage inklusive aller daraus
+            hervorgehenden personenbezogenen Daten (Name, Anfrage) zum Zwecke der Bearbeitung Ihres Anliegens bei uns
+            gespeichert und verarbeitet. Diese Daten geben wir nicht ohne Ihre Einwilligung weiter.</p>
+        <p>Die Verarbeitung dieser Daten erfolgt auf Grundlage von Art. 6 Abs. 1 lit. b DSGVO, sofern Ihre Anfrage mit
+            der
+            Erfüllung eines Vertrags zusammenhängt oder zur Durchführung vorvertraglicher Maßnahmen erforderlich ist. In
+            allen übrigen Fällen beruht die Verarbeitung auf Ihrer Einwilligung (Art. 6 Abs. 1 lit. a DSGVO) und/oder
+            auf
+            unseren berechtigten Interessen (Art. 6 Abs. 1 lit. f DSGVO), da wir ein berechtigtes Interesse an der
+            effektiven Bearbeitung der an uns gerichteten Anfragen haben.</p>
+        <p>Die von Ihnen an uns per Kontaktanfragen übersandten Daten verbleiben bei uns, bis Sie uns zur Löschung
+            auffordern, Ihre Einwilligung zur Speicherung widerrufen oder der Zweck für die Datenspeicherung entfällt
+            (z.&nbsp;B. nach abgeschlossener Bearbeitung Ihres Anliegens). Zwingende gesetzliche Bestimmungen –
+            insbesondere
+            gesetzliche Aufbewahrungsfristen – bleiben unberührt.</p>
+        <h2>5. Analyse-Tools und Werbung</h2>
+        <h3>Google Analytics</h3>
+        <p>Diese Website nutzt Funktionen des Webanalysedienstes Google Analytics. Anbieter ist die Google Ireland
+            Limited
+            („Google“), Gordon House, Barrow Street, Dublin 4, Irland.</p>
+        <p>Google Analytics verwendet so genannte „Cookies“. Das sind Textdateien, die auf Ihrem Computer gespeichert
+            werden
+            und die eine Analyse der Benutzung der Website durch Sie ermöglichen. Die durch den Cookie erzeugten
+            Informationen über Ihre Benutzung dieser Website werden in der Regel an einen Server von Google in den USA
+            übertragen und dort gespeichert.</p>
+        <p>Die Speicherung von Google-Analytics-Cookies und die Nutzung dieses Analyse-Tools erfolgen auf Grundlage von
+            Art.
+            6 Abs. 1 lit. f DSGVO. Der Websitebetreiber hat ein berechtigtes Interesse an der Analyse des
+            Nutzerverhaltens,
+            um sowohl sein Webangebot als auch seine Werbung zu optimieren. Sofern eine entsprechende Einwilligung
+            abgefragt
+            wurde (z. B. eine Einwilligung zur Speicherung von Cookies), erfolgt die Verarbeitung ausschließlich auf
+            Grundlage von Art. 6 Abs. 1 lit. a DSGVO; die Einwilligung ist jederzeit widerrufbar.</p>
+        <p><strong>IP Anonymisierung</strong></p>
+        <p>Wir haben auf dieser Website die Funktion IP-Anonymisierung aktiviert. Dadurch wird Ihre IP-Adresse von
+            Google
+            innerhalb von Mitgliedstaaten der Europäischen Union oder in anderen Vertragsstaaten des Abkommens über den
+            Europäischen Wirtschaftsraum vor der Übermittlung in die USA gekürzt. Nur in Ausnahmefällen wird die volle
+            IP-Adresse an einen Server von Google in den USA übertragen und dort gekürzt. Im Auftrag des Betreibers
+            dieser
+            Website wird Google diese Informationen benutzen, um Ihre Nutzung der Website auszuwerten, um Reports über
+            die
+            Websiteaktivitäten zusammenzustellen und um weitere mit der Websitenutzung und der Internetnutzung
+            verbundene
+            Dienstleistungen gegenüber dem Websitebetreiber zu erbringen. Die im Rahmen von Google Analytics von Ihrem
+            Browser übermittelte IP-Adresse wird nicht mit anderen Daten von Google zusammengeführt.</p>
+        <p><strong>Browser Plugin</strong></p>
+        <p>Sie können die Speicherung der Cookies durch eine entsprechende Einstellung Ihrer Browser-Software
+            verhindern;
+            wir weisen Sie jedoch darauf hin, dass Sie in diesem Fall gegebenenfalls nicht sämtliche Funktionen dieser
+            Website vollumfänglich werden nutzen können. Sie können darüber hinaus die Erfassung der durch den Cookie
+            erzeugten und auf Ihre Nutzung der Website bezogenen Daten (inkl. Ihrer IP-Adresse) an Google sowie die
+            Verarbeitung dieser Daten durch Google verhindern, indem Sie das unter dem folgenden Link verfügbare
+            Browser-Plugin herunterladen und installieren: <a href="https://tools.google.com/dlpage/gaoptout?hl=de"
+                target="_blank" rel="noopener noreferrer">https://tools.google.com/dlpage/gaoptout?hl=de</a>.</p>
+        <p><strong>Widerspruch gegen Datenerfassung</strong></p>
+        <p>Sie können die Erfassung Ihrer Daten durch Google Analytics verhindern, indem Sie auf folgenden Link klicken.
+            Es
+            wird ein Opt-Out-Cookie gesetzt, der die Erfassung Ihrer Daten bei zukünftigen Besuchen dieser Website
+            verhindert: <a href="javascript:gaOptout();">Google Analytics deaktivieren</a>.</p>
+        <p>Mehr Informationen zum Umgang mit Nutzerdaten bei Google Analytics finden Sie in der Datenschutzerklärung von
+            Google: <a href="https://support.google.com/analytics/answer/6004245?hl=de" target="_blank"
+                rel="noopener noreferrer">https://support.google.com/analytics/answer/6004245?hl=de</a>.</p>
+        <p><strong>Auftragsverarbeitung</strong></p>
+        <p>Wir haben mit Google einen Vertrag zur Auftragsverarbeitung abgeschlossen und setzen die strengen Vorgaben
+            der
+            deutschen Datenschutzbehörden bei der Nutzung von Google Analytics vollständig um.</p>
+        <p><strong>Speicherdauer</strong></p>
+        <p>Bei Google gespeicherte Daten auf Nutzer- und Ereignisebene, die mit Cookies, Nutzerkennungen (z.&nbsp;B.
+            User
+            ID) oder Werbe-IDs (z.&nbsp;B. DoubleClick-Cookies, Android-Werbe-ID) verknüpft sind, werden nach 14 Monaten
+            anonymisiert bzw. gelöscht. Details hierzu ersehen Sie unter folgendem Link: <a
+                href="https://support.google.com/analytics/answer/7667196?hl=de" target="_blank"
+                rel="noopener noreferrer">https://support.google.com/analytics/answer/7667196?hl=de</a></p>
+        <h2>6. Plugins und Tools</h2>
+        <h3>YouTube mit erweitertem Datenschutz</h3>
+        <p>Diese Website bindet Videos der YouTube ein. Betreiber der Seiten ist die Google Ireland Limited („Google“),
+            Gordon House, Barrow Street, Dublin 4, Irland.</p>
+        <p>Wir nutzen YouTube im erweiterten Datenschutzmodus. Dieser Modus bewirkt laut YouTube, dass YouTube keine
+            Informationen über die Besucher auf dieser Website speichert, bevor diese sich das Video ansehen. Die
+            Weitergabe
+            von Daten an YouTube-Partner wird durch den erweiterten Datenschutzmodus hingegen nicht zwingend
+            ausgeschlossen.
+            So stellt YouTube – unabhängig davon, ob Sie sich ein Video ansehen – eine Verbindung zum Google
+            DoubleClick-Netzwerk her.</p>
+        <p>Sobald Sie ein YouTube-Video auf dieser Website starten, wird eine Verbindung zu den Servern von YouTube
+            hergestellt. Dabei wird dem YouTube-Server mitgeteilt, welche unserer Seiten Sie besucht haben. Wenn Sie in
+            Ihrem YouTube-Account eingeloggt sind, ermöglichen Sie YouTube, Ihr Surfverhalten direkt Ihrem persönlichen
+            Profil zuzuordnen. Dies können Sie verhindern, indem Sie sich aus Ihrem YouTube-Account ausloggen.</p>
+        <p>Des Weiteren kann YouTube nach Starten eines Videos verschiedene Cookies auf Ihrem Endgerät speichern. Mit
+            Hilfe
+            dieser Cookies kann YouTube Informationen über Besucher dieser Website erhalten. Diese Informationen werden
+            u.
+            a. verwendet, um Videostatistiken zu erfassen, die Anwenderfreundlichkeit zu verbessern und Betrugsversuchen
+            vorzubeugen. Die Cookies verbleiben auf Ihrem Endgerät, bis Sie sie löschen.</p>
+        <p>Gegebenenfalls können nach dem Start eines YouTube-Videos weitere Datenverarbeitungsvorgänge ausgelöst
+            werden,
+            auf die wir keinen Einfluss haben.</p>
+        <p>Die Nutzung von YouTube erfolgt im Interesse einer ansprechenden Darstellung unserer Online-Angebote. Dies
+            stellt
+            ein berechtigtes Interesse im Sinne von Art. 6 Abs. 1 lit. f DSGVO dar. Sofern eine entsprechende
+            Einwilligung
+            abgefragt wurde (z. B. eine Einwilligung zur Speicherung von Cookies), erfolgt die Verarbeitung
+            ausschließlich
+            auf Grundlage von Art. 6 Abs. 1 lit. a DSGVO; die Einwilligung ist jederzeit widerrufbar.</p>
+        <p>Weitere Informationen über Datenschutz bei YouTube finden Sie in deren Datenschutzerklärung unter: <a
+                href="https://policies.google.com/privacy?hl=de" target="_blank"
+                rel="noopener noreferrer">https://policies.google.com/privacy?hl=de</a>.</p>
+        <h3>Google Web Fonts</h3>
+        <p>Diese Seite nutzt zur einheitlichen Darstellung von Schriftarten so genannte Web Fonts, die von Google
+            bereitgestellt werden. Beim Aufruf einer Seite lädt Ihr Browser die benötigten Web Fonts in ihren
+            Browsercache,
+            um Texte und Schriftarten korrekt anzuzeigen.</p>
+        <p>Zu diesem Zweck muss der von Ihnen verwendete Browser Verbindung zu den Servern von Google aufnehmen.
+            Hierdurch
+            erlangt Google Kenntnis darüber, dass über Ihre IP-Adresse diese Website aufgerufen wurde. Die Nutzung von
+            Google WebFonts erfolgt auf Grundlage von Art. 6 Abs. 1 lit. f DSGVO. Der Webseitenbetreiber hat ein
+            berechtigtes Interesse an der einheitlichen Darstellung des Schriftbildes auf seiner Webseite. Sofern eine
+            entsprechende Einwilligung abgefragt wurde (z. B. eine Einwilligung zur Speicherung von Cookies), erfolgt
+            die
+            Verarbeitung ausschließlich auf Grundlage von Art. 6 Abs. 1 lit. a DSGVO; die Einwilligung ist jederzeit
+            widerrufbar.</p>
+        <p>Wenn Ihr Browser Web Fonts nicht unterstützt, wird eine Standardschrift von Ihrem Computer genutzt.</p>
+        <p>Weitere Informationen zu Google Web Fonts finden Sie unter <a href="https://developers.google.com/fonts/faq"
+                target="_blank" rel="noopener noreferrer">https://developers.google.com/fonts/faq</a> und in der
+            Datenschutzerklärung von Google: <a href="https://policies.google.com/privacy?hl=de" target="_blank"
+                rel="noopener noreferrer">https://policies.google.com/privacy?hl=de</a>.</p>
+    </main>
+</body>
+</html>

+ 420 - 0
privacypolicy_en.html

@@ -0,0 +1,420 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+    <meta charset="UTF-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <title>Sv443 - Privacy Policy</title>
+    <link rel="stylesheet" href="css/global.css">
+    <link rel="stylesheet" href="css/index.css">
+    <script src="https://cdn.jsdelivr.net/npm/js-cookie@rc/dist/js.cookie.min.js"></script>
+    <script type="text/javascript" src="js/index.js"></script>
+</head>
+
+<body onload="otheronload();">
+    <header>
+        <p id="title">Privacy Policy</p>
+    </header>
+    <main>
+        <h2>1. An overview of data protection</h2>
+        <h3>General information</h3>
+        <p>The following information will provide you with an easy to navigate overview of what will happen with your
+            personal data when you visit this website. The term “personal data” comprises all data that can be used to
+            personally identify you. For detailed information about the subject matter of data protection, please
+            consult
+            our Data Protection Declaration, which we have included beneath this copy.</p>
+        <h3>Data recording on this website</h3>
+        <p><strong>Who is the responsible party for the recording of data on this website (i.e. the
+                “controller”)?</strong>
+        </p>
+        <p>The data on this website is processed by the operator of the website, whose contact information is available
+            under section “Information Required by Law” on this website.</p>
+        <p><strong>How do we record your data?</strong></p>
+        <p>We collect your data as a result of your sharing of your data with us. This may, for instance be information
+            you
+            enter into our contact form.</p>
+        <p>Our IT systems automatically record other data when you visit our website. This data comprises primarily
+            technical information (e.g. web browser, operating system or time the site was accessed). This information
+            is
+            recorded automatically when you access this website.</p>
+        <p><strong>What are the purposes we use your data for?</strong></p>
+        <p>A portion of the information is generated to guarantee the error free provision of the website. Other data
+            may be
+            used to analyse your user patterns.</p>
+        <p><strong>What rights do you have as far as your information is concerned?</strong></p>
+        <p>You have the right to receive information about the source, recipients and purposes of your archived personal
+            data at any time without having to pay a fee for such disclosures. You also have the right to demand that
+            your
+            data are rectified or eradicated. Please do not hesitate to contact us at any time under the address
+            disclosed
+            in section “Information Required by Law” on this website if you have questions about this or any other data
+            protection related issues. You also have the right to log a complaint with the competent supervising agency.
+        </p>
+        <p>Moreover, under certain circumstances, you have the right to demand the restriction of the processing of your
+            personal data. For details, please consult the Data Protection Declaration under section “Right to
+            Restriction
+            of Data Processing.”</p>
+        <h3>Analysis tools and tools provided by third parties</h3>
+        <p>There is a possibility that your browsing patterns will be statistically analysed when your visit this
+            website.
+            Such analyses are performed primarily with cookies and with what we refer to as analysis programmes. As a
+            rule,
+            the analyses of your browsing patterns are conducted anonymously; i.e. the browsing patterns cannot be
+            traced
+            back to you.</p>
+        <p>You have the option to object to such analyses or you can prevent their performance by not using certain
+            tools.
+            For detailed information about the tools and about your options to object, please consult our Data
+            Protection
+            Declaration below.</p>
+        <h2>2. Hosting and Content Delivery Networks (CDN)</h2>
+        <h3>Cloudflare</h3>
+        <p>We use the “Cloudflare” service provided by Cloudflare, Inc. 665 3rd St. #200, San Francisco, CA 94107, USA.
+            (hereinafter referred to as “Cloudflare”).</p>
+        <p>Cloudflare offers a content delivery network with DNS that is available worldwide. As a result, the
+            information
+            transfer that occurs between your browser and our website is technically routed via Cloudflare’s network.
+            This
+            enables Cloudflare to analyze data transactions between your browser and our website and to work as a filter
+            between our servers and potentially malicious data traffic from the Internet. In conjunction with this,
+            Cloudflare may also use cookies. However, these cookies will only be used for the purpose described
+            herein.&nbsp;</p>
+        <p>We have executed a contract processing agreement with Cloudflare. Cloudflare is also a certified participant
+            of
+            the “EU-US Privacy Shield Framework.” Cloudflare has undertaken to handle all personal data originating from
+            the
+            member states of the European Union (EU) in compliance with the “Privacy Shield Framework.”</p>
+        <p>The use of Cloudflare is based on our legitimate interest in a provision of our website offerings that is as
+            error free and secure as possible (Art. 6 Sect. 1 lit. f GDPR).</p>
+        <p>For more information on Cloudflare’s security precautions and data privacy policies, please follow this link:
+            <a href="https://www.cloudflare.com/privacypolicy/" target="_blank"
+                rel="noopener">https://www.cloudflare.com/privacypolicy/</a>.</p>
+        <h2>3. General information and mandatory information</h2>
+        <h3>Data protection</h3>
+        <p>The operators of this website and its pages take the protection of your personal data very seriously. Hence,
+            we
+            handle your personal data as confidential information and in compliance with the statutory data protection
+            regulations and this Data Protection Declaration.</p>
+        <p>Whenever you use this website, a variety of personal information will be collected. Personal data comprises
+            data
+            that can be used to personally identify you. This Data Protection Declaration explains which data we collect
+            as
+            well as the purposes we use this data for. It also explains how, and for which purpose the information is
+            collected.</p>
+        <p>We herewith advise you that the transmission of data via the Internet (i.e. through e-mail communications)
+            may be
+            prone to security gaps. It is not possible to completely protect data against third party access.</p>
+        <h3>Information about the responsible party (referred to as the “controller” in the GDPR)</h3>
+        <p>The data processing controller on this website is:</p>
+        <p>Sven Fehler<br>
+            Käthe-Kollwitz-Weg 15<br>
+            70569 Stuttgart <br>
+            Deutschland</p>
+        <p>Phone: +49 1577 5200016<br>
+            E-mail: [email protected]</p>
+        <p>The controller is the natural person or legal entity that single-handedly or jointly with others makes
+            decisions
+            as to the purposes of and resources for the processing of personal data (e.g. names, e-mail addresses,
+            etc.).
+        </p>
+        <h3>Revocation of your consent to the processing of data</h3>
+        <p>A wide range of data processing transactions are possible only subject to your express consent. You can also
+            revoke at any time any consent you have already given us. To do so, all you are required to do is sent us an
+            informal notification via e-mail. This shall be without prejudice to the lawfulness of any data collection
+            that
+            occurred prior to your revocation.</p>
+        <h3>Right to object to the collection of data in special cases; right to object to direct advertising (Art. 21
+            GDPR)
+        </h3>
+        <p>IN THE EVENT THAT DATA ARE PROCESSED ON THE BASIS OF ART. 6 SECT. 1 LIT. E OR F GDPR, YOU HAVE THE RIGHT TO
+            AT
+            ANY TIME OBJECT TO THE PROCESSING OF YOUR PERSONAL DATA BASED ON GROUNDS ARISING FROM YOUR UNIQUE SITUATION.
+            THIS ALSO APPLIES TO ANY PROFILING BASED ON THESE PROVISIONS. TO DETERMINE THE LEGAL BASIS, ON WHICH ANY
+            PROCESSING OF DATA IS BASED, PLEASE CONSULT THIS DATA PROTECTION DECLARATION. IF YOU LOG AN OBJECTION, WE
+            WILL
+            NO LONGER PROCESS YOUR AFFECTED PERSONAL DATA, UNLESS WE ARE IN A POSITION TO PRESENT COMPELLING PROTECTION
+            WORTHY GROUNDS FOR THE PROCESSING OF YOUR DATA, THAT OUTWEIGH YOUR INTERESTS, RIGHTS AND FREEDOMS OR IF THE
+            PURPOSE OF THE PROCESSING IS THE CLAIMING, EXERCISING OR DEFENCE OF LEGAL ENTITLEMENTS (OBJECTION PURSUANT
+            TO
+            ART. 21 SECT. 1 GDPR).</p>
+        <p>IF YOUR PERSONAL DATA IS BEING PROCESSED IN ORDER TO ENGAGE IN DIRECT ADVERTISING, YOU HAVE THE RIGHT TO AT
+            ANY
+            TIME OBJECT TO THE PROCESSING OF YOUR AFFECTED PERSONAL DATA FOR THE PURPOSES OF SUCH ADVERTISING. THIS ALSO
+            APPLIES TO PROFILING TO THE EXTENT THAT IT IS AFFILIATED WITH SUCH DIRECT ADVERTISING. IF YOU OBJECT, YOUR
+            PERSONAL DATA WILL SUBSEQUENTLY NO LONGER BE USED FOR DIRECT ADVERTISING PURPOSES (OBJECTION PURSUANT TO
+            ART. 21
+            SECT. 2 GDPR).</p>
+        <h3>Right to log a complaint with the competent supervisory agency</h3>
+        <p>In the event of violations of the GDPR, data subjects are entitled to log a complaint with a supervisory
+            agency,
+            in particular in the member state where they usually maintain their domicile, place of work or at the place
+            where the alleged violation occurred. The right to log a complaint is in effect regardless of any other
+            administrative or court proceedings available as legal recourses.</p>
+        <h3>Right to data portability</h3>
+        <p>You have the right to demand that we hand over any data we automatically process on the basis of your consent
+            or
+            in order to fulfil a contract be handed over to you or a third party in a commonly used, machine readable
+            format. If you should demand the direct transfer of the data to another controller, this will be done only
+            if it
+            is technically feasible.</p>
+        <h3>SSL and/or TLS encryption</h3>
+        <p>For security reasons and to protect the transmission of confidential content, such as purchase orders or
+            inquiries you submit to us as the website operator, this website uses either an SSL or a TLS encryption
+            programme. You can recognise an encrypted connection by checking whether the address line of the browser
+            switches from “http://” to “https://” and also by the appearance of the lock icon in the browser line.</p>
+        <p>If the SSL or TLS encryption is activated, data you transmit to us cannot be read by third parties.</p>
+        <h3>Information about, rectification and eradication of data</h3>
+        <p>Within the scope of the applicable statutory provisions, you have the right to at any time demand information
+            about your archived personal data, their source and recipients as well as the purpose of the processing of
+            your
+            data. You may also have a right to have your data rectified or eradicated. If you have questions about this
+            subject matter or any other questions about personal data, please do not hesitate to contact us at any time
+            at
+            the address provided in section “Information Required by Law.”</p>
+        <h3>Right to demand processing restrictions</h3>
+        <p>You have the right to demand the imposition of restrictions as far as the processing of your personal data is
+            concerned. To do so, you may contact us at any time at the address provided in section “Information Required
+            by
+            Law.” The right to demand restriction of processing applies in the following cases:</p>
+        <ul>
+            <li>In the event that you should dispute the correctness of your data archived by us, we will usually need
+                some
+                time to verify this claim. During the time that this investigation is ongoing, you have the right to
+                demand
+                that we restrict the processing of your personal data.</li>
+            <li>If the processing of your personal data was/is conducted in an unlawful manner, you have the option to
+                demand the restriction of the processing of your data in lieu of demanding the eradication of this data.
+            </li>
+            <li>If we do not need your personal data any longer and you need it to exercise, defend or claim legal
+                entitlements, you have the right to demand the restriction of the processing of your personal data
+                instead
+                of its eradication.</li>
+            <li>If you have raised an objection pursuant to Art. 21 Sect. 1 GDPR, your rights and our rights will have
+                to be
+                weighed against each other. As long as it has not been determined whose interests prevail, you have the
+                right to demand a restriction of the processing of your personal data.</li>
+        </ul>
+        <p>If you have restricted the processing of your personal data, these data – with the exception of their
+            archiving –
+            may be processed only subject to your consent or to claim, exercise or defend legal entitlements or to
+            protect
+            the rights of other natural persons or legal entities or for important public interest reasons cited by the
+            European Union or a member state of the EU.</p>
+        <h2>4. Recording of data on this website</h2>
+        <h3>Cookies</h3>
+        <p>Our websites and pages use what the industry refers to as “cookies.” Cookies are small text files that do not
+            cause any damage to your device. They are either stored temporarily for the duration of a session (session
+            cookies) or they are permanently archived on your device (permanent cookies). Session cookies are
+            automatically
+            deleted once you terminate your visit. Permanent cookies remain archived on your device until you actively
+            delete them or they are automatically eradicated by your web browser.</p>
+        <p>In some cases it is possible that third party cookies are stored on your device once you enter our site
+            (third
+            party cookies). These cookies enable you or us to take advantage of certain services offered by the third
+            party
+            (e.g. cookies for the processing of payment services).</p>
+        <p>Cookies have a variety of functions. Many cookies are technically essential since certain website functions
+            would
+            not work in the absence of the cookies (e.g. the shopping cart function or the display of videos). The
+            purpose
+            of other cookies may be the analysis of user patterns or the display of promotional messages.</p>
+        <p>Technically essential cookies (e.g. shopping cart cookies) are archived on the basis of Art. 6 Sect. 1 lit. f
+            GDPR. We have a legitimate interest in storing these cookies to ensure the technically error-free and
+            optimized
+            delivery of our services. Other cookies are stored only subject to your consent on the basis of Art. 6 Sect.
+            1
+            lit. a GDPR. You do have the right to revoke such consent at any time, which will affect all future data
+            transactions.</p>
+        <p>You have the option to set up your browser in such a manner that you will be notified any time cookies are
+            placed
+            and to permit the acceptance of cookies only in specific cases. You may also exclude the acceptance of
+            cookies
+            in certain cases or in general or activate the delete function for the automatic eradication of cookies when
+            the
+            browser closes. If cookies are deactivated, the functions of this website may be limited.</p>
+        <p>In the event that third party cookies are used or if cookies are used for analytical purposes, we will
+            separately
+            notify you in conjunction with this Data Protection Policy and, if applicable, ask for your consent.</p>
+        <h3>Cookie Consent with Consent Manager Provider</h3>
+        <p>Our website uses the Consent Manager Provider cookie consent technology to obtain your consent to the storage
+            of
+            certain cookies on your device and data protection legislation compliant documentation of the former. The
+            party
+            offering this technology is Jaohawi AB, Håltegelvägen 1b, 72348 Västerås, Schweden, website: <a
+                href="https://www.consentmanager.de" target="_blank"
+                rel="noopener noreferrer">https://www.consentmanager.de</a> (hereinafter referred to as “Consent Manager
+            Provider”).</p>
+        <p>Whenever you visit our website, a connection with the Consent Manager Provider’s servers will be established
+            to
+            obtain your consent and other declarations regarding the use of cookies.</p>
+        <p>Moreover, Consent Manager Provider shall store a cookie in your browser to be able to allocate your
+            declaration(s) of consent or any revocations of the former. The data that are recorded in this manner shall
+            be
+            stored until you ask us to eradicate them, delete the Consent Manager Provider cookie or until the purpose
+            for
+            archiving the data no longer exists. This shall be without prejudice to any mandatory legal retention
+            periods.
+        </p>
+        <p>Consent Manager Provider uses cookies to obtain the declarations of consent mandated by law. The legal basis
+            for
+            the use of such cookies is Art. 6 Sect. 1 Sentence 1 lit.&nbsp; c GDPR.</p>
+        <p><strong>Contract data processing agreement</strong></p>
+        <p>Our company has executed a Contract Data Processing Agreement with Consent Manager Provider. This is an
+            Agreement
+            mandated by data privacy protection legislation that warrants that Consent Manager Provider processes all
+            personal data of our website visitors exclusively in compliance with our instructions and in compliance with
+            the
+            GDPR.</p>
+        <h3>Server log files</h3>
+        <p>The provider of this website and its pages automatically collects and stores information in so-called server
+            log
+            files, which your browser communicates to us automatically. The information comprises:</p>
+        <ul>
+            <li>The type and version of browser used</li>
+            <li>The used operating system</li>
+            <li>Referrer URL</li>
+            <li>The hostname of the accessing computer</li>
+            <li>The time of the server inquiry</li>
+            <li>The IP address</li>
+        </ul>
+        <p>This data is not merged with other data sources.</p>
+        <p>This data is recorded on the basis of Art. 6 Sect. 1 lit. f GDPR. The operator of the website has a
+            legitimate
+            interest in the technically error free depiction and the optimization of the operator’s website. In order to
+            achieve this, server log files must be recorded.</p>
+        <h3>Request by e-mail, telephone or fax</h3>
+        <p>If you contact us by e-mail, telephone or fax, your request, including all resulting personal data (name,
+            request) will be stored and processed by us for the purpose of processing your request. We do not pass these
+            data on without your consent.</p>
+        <p>The processing of these data is based on Art. 6 para. 1 lit. b GDPR, if your request is related to the
+            execution
+            of a contract or if it is necessary to carry out pre-contractual measures. In all other cases, the
+            processing is
+            based on your consent (Article 6 (1) a GDPR) and/or on our legitimate interests (Article 6 (1) (f) GDPR),
+            since
+            we have a legitimate interest in the effective processing of requests addressed to us.</p>
+        <p>The data sent by you to us via contact requests remain with us until you request us to delete, revoke your
+            consent to the storage or the purpose for the data storage lapses (e.g. after completion of your request).
+            Mandatory statutory provisions - in particular statutory retention periods - remain unaffected.</p>
+        <h2>5. Analysis tools and advertising</h2>
+        <h3>Google Analytics</h3>
+        <p>This website uses functions of the web analysis service Google Analytics. The provider of this service is
+            Google
+            Ireland Limited (“Google”), Gordon House, Barrow Street, Dublin 4, Ireland.</p>
+        <p>Google Analytics uses so-called cookies. Cookies are text files, which are stored on your computer and that
+            enable an analysis of the use of the website by users. The information generated by cookies on your use of
+            this
+            website is usually transferred to a Google server in the United States, where it is stored.</p>
+        <p>The storage of Google Analytics cookies and the utilization of this analysis tool are based on Art. 6 Sect. 1
+            lit. f GDPR. The operator of this website has a legitimate interest in the analysis of user patterns to
+            optimize
+            both, the services offered online and the operator’s advertising activities. If a corresponding agreement
+            has
+            been requested (e.g. an agreement to the storage of cookies), the processing takes place exclusively on the
+            basis of Art. 6 para. 1 lit. a GDPR; the agreement can be revoked at any time.</p>
+        <p><strong>IP anonymization</strong></p>
+        <p>On this website, we have activated the IP anonymization function. As a result, your IP address will be
+            abbreviated by Google within the member states of the European Union or in other states that have ratified
+            the
+            Convention on the European Economic Area prior to its transmission to the United States. The full IP address
+            will be transmitted to one of Google’s servers in the United States and abbreviated there only in
+            exceptional
+            cases. On behalf of the operator of this website, Google shall use this information to analyse your use of
+            this
+            website to generate reports on website activities and to render other services to the operator of this
+            website
+            that are related to the use of the website and the Internet. The IP address transmitted in conjunction with
+            Google Analytics from your browser shall not be merged with other data in Google’s possession.</p>
+        <p><strong>Browser plug-in</strong></p>
+        <p>You do have the option to prevent the archiving of cookies by making pertinent changes to the settings of
+            your
+            browser software. However, we have to point out that in this case you may not be able to use all of the
+            functions of this website to their fullest extent. Moreover, you have the option prevent the recording of
+            the
+            data generated by the cookie and affiliated with your use of the website (including your IP address) by
+            Google
+            as well as the processing of this data by Google by downloading and installing the browser plug-in available
+            under the following link: <a href="https://tools.google.com/dlpage/gaoptout?hl=en" target="_blank"
+                rel="noopener noreferrer">https://tools.google.com/dlpage/gaoptout?hl=en</a>.</p>
+        <p><strong>Objection to the recording of data</strong></p>
+        <p>You have the option to prevent the recording of your data by Google Analytics by clicking on the following
+            link.
+            This will result in the placement of an opt out cookie, which prevents the recording of your data during
+            future
+            visits to this website: <a href="javascript:gaOptout();">Google Analytics deactivation</a>.</p>
+        <p>For more information about the handling of user data by Google Analytics, please consult Google’s Data
+            Privacy Declaration at: <a href="https://support.google.com/analytics/answer/6004245?hl=en" target="_blank"
+                rel="noopener noreferrer">https://support.google.com/analytics/answer/6004245?hl=en</a>.</p>
+        <p><strong>Contract data processing</strong></p>
+        <p>We have executed a contract data processing agreement with Google and are implementing the stringent
+            provisions of the German data protection agencies to the fullest when using Google Analytics.</p>
+        <p><strong>Archiving period</strong></p>
+        <p>Data on the user or incident level stored by Google linked to cookies, user IDs or advertising IDs (e.g.
+            DoubleClick cookies, Android advertising ID) will be anonymized or deleted after 14 month. For details
+            please click the following link: <a href="https://support.google.com/analytics/answer/7667196?hl=en"
+                target="_blank" rel="noopener noreferrer">https://support.google.com/analytics/answer/7667196?hl=en</a>
+        </p>
+        <h2>6. Plug-ins and Tools</h2>
+        <h3>YouTube with expanded data protection integration</h3>
+        <p>Our website embeds videos of the website YouTube. The website operator is Google Ireland Limited (“Google”),
+            Gordon House, Barrow Street, Dublin 4, Ireland.</p>
+        <p>We use YouTube in the expanded data protection mode. According to YouTube, this mode ensures that YouTube
+            does
+            not store any information about visitors to this website before they watch the video. Nevertheless, this
+            does
+            not necessarily mean that the sharing of data with YouTube partners can be ruled out as a result of the
+            expanded
+            data protection mode. For instance, regardless of whether you are watching a video, YouTube will always
+            establish a connection with the Google DoubleClick network.</p>
+        <p>As soon as you start to play a YouTube video on this website, a connection to YouTube’s servers will be
+            established. As a result, the YouTube server will be notified, which of our pages you have visited. If you
+            are
+            logged into your YouTube account while you visit our site, you enable YouTube to directly allocate your
+            browsing
+            patterns to your personal profile. You have the option to prevent this by logging out of your YouTube
+            account.
+        </p>
+        <p>Furthermore, after you have started to play a video, YouTube will be able to place various cookies on your
+            device. With the assistance of these cookies, YouTube will be able to obtain information about our website's
+            visitors. Among other things, this information will be used to generate video statistics with the aim of
+            improving the user friendliness of the site and to prevent attempts to commit fraud. These cookies will stay
+            on
+            your device until you delete them.</p>
+        <p>Under certain circumstances, additional data processing transactions may be triggered after you have started
+            to
+            play a YouTube video, which are beyond our control.</p>
+        <p>The use of YouTube is based on our interest in presenting our online content in an appealing manner. Pursuant
+            to
+            Art. 6 Sect. 1 lit. f GDPR, this is a legitimate interest. If a corresponding agreement has been requested
+            (e.g.
+            an agreement to the storage of cookies), the processing takes place exclusively on the basis of Art. 6 para.
+            1
+            lit. a GDPR; the agreement can be revoked at any time.</p>
+        <p>For more information on how YouTube handles user data, please consult the YouTube Data Privacy Policy under:
+            <a href="https://policies.google.com/privacy?hl=en" target="_blank"
+                rel="noopener noreferrer">https://policies.google.com/privacy?hl=en</a>.</p>
+        <h3>Google Web Fonts</h3>
+        <p>To ensure that fonts used on this website are uniform, this website uses so-called Web Fonts provided by
+            Google.
+            When you access a page on our website, your browser will load the required web fonts into your browser cache
+            to
+            correctly display text and fonts.</p>
+        <p>To do this, the browser you use will have to establish a connection with Google’s servers. As a result,
+            Google
+            will learn that your IP address was used to access this website. The use of Google Web Fonts is based on
+            Art. 6
+            Sect. 1 lit. f GDPR. The website operator has a legitimate interest in a uniform presentation of the font on
+            the
+            operator’s website. If a respective declaration of consent has been obtained (e.g. consent to the archiving
+            of
+            cookies), the data will be processed exclusively on the basis of Art. 6 Sect. 1 lit. a DGDPR. Any such
+            consent
+            may be revoked at any time.</p>
+        <p>If your browser should not support Web Fonts, a standard font installed on your computer will be used.</p>
+        <p>For more information on Google Web Fonts, please follow this link: <a
+                href="https://developers.google.com/fonts/faq" target="_blank"
+                rel="noopener noreferrer">https://developers.google.com/fonts/faq</a> and consult Google’s Data Privacy
+            Declaration under: <a href="https://policies.google.com/privacy?hl=en" target="_blank"
+                rel="noopener noreferrer">https://policies.google.com/privacy?hl=en</a>.</p>
+    </main>
+</body>
+</html>

BIN
resources/audio/spooktune.mp3


+ 0 - 0
resources/icons/android-chrome-192x192.png → resources/favicons/android-chrome-192x192.png


+ 0 - 0
resources/icons/android-chrome-512x512.png → resources/favicons/android-chrome-512x512.png


+ 0 - 0
resources/icons/apple-touch-icon.png → resources/favicons/apple-touch-icon.png


+ 0 - 0
resources/icons/browserconfig.xml → resources/favicons/browserconfig.xml


+ 0 - 0
resources/icons/favicon-16x16.png → resources/favicons/favicon-16x16.png


+ 0 - 0
resources/icons/favicon-32x32.png → resources/favicons/favicon-32x32.png


+ 0 - 0
resources/icons/favicon.ico → resources/favicons/favicon.ico


+ 0 - 0
resources/icons/mstile-150x150.png → resources/favicons/mstile-150x150.png


+ 0 - 0
resources/icons/safari-pinned-tab.svg → resources/favicons/safari-pinned-tab.svg


+ 0 - 0
resources/icons/site.webmanifest → resources/favicons/site.webmanifest


BIN
resources/fonts/OpenSans-Bold.ttf


BIN
resources/fonts/OpenSans-Italic.ttf


BIN
resources/fonts/OpenSans-Regular.ttf


+ 0 - 202
resources/fonts/OpenSans_LICENSE.txt

@@ -1,202 +0,0 @@
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-   APPENDIX: How to apply the Apache License to your work.
-
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "[]"
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same "printed page" as the copyright notice for easier
-      identification within third-party archives.
-
-   Copyright [yyyy] [name of copyright owner]
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.

+ 51 - 0
resources/images/cloudflare-dark.svg

@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 21.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+	 viewBox="0 0 1239.3 310.1" style="enable-background:new 0 0 1239.3 310.1;" xml:space="preserve">
+<style type="text/css">
+	.st0{fill:#FFFFFF;}
+	.st1{fill:#F38020;}
+	.st2{fill:#FAAE40;}
+</style>
+<g>
+	<g>
+		<path class="st0" d="M1158.5,187.7c-3.4,0-6.1-2.7-6.1-6.1c0-3.3,2.7-6.1,6.1-6.1c3.3,0,6.1,2.7,6.1,6.1
+			C1164.6,185,1161.8,187.7,1158.5,187.7 M1158.5,176.7c-2.7,0-4.9,2.2-4.9,4.9c0,2.7,2.2,4.9,4.9,4.9c2.7,0,4.9-2.2,4.9-4.9
+			C1163.4,178.9,1161.2,176.7,1158.5,176.7 M1161.6,184.8h-1.4l-1.2-2.3h-1.6v2.3h-1.3v-6.7h3.2c1.4,0,2.3,0.9,2.3,2.2
+			c0,1-0.6,1.7-1.4,2L1161.6,184.8z M1159.2,181.3c0.5,0,1-0.3,1-1c0-0.8-0.4-1-1-1h-2v2L1159.2,181.3L1159.2,181.3z"/>
+		<polygon class="st0" points="523,174.9 538.6,174.9 538.6,217.4 565.7,217.4 565.7,231 523,231 		"/>
+		<path class="st0" d="M581.8,203.1V203c0-16.1,13-29.2,30.3-29.2s30.1,12.9,30.1,29v0.2c0,16.1-13,29.2-30.3,29.2
+			C594.7,232.1,581.8,219.2,581.8,203.1 M626.4,203.1V203c0-8.1-5.8-15.1-14.4-15.1c-8.5,0-14.2,6.9-14.2,15v0.2
+			c0,8.1,5.8,15.1,14.3,15.1C620.7,218.1,626.4,211.2,626.4,203.1"/>
+		<path class="st0" d="M661.3,206.4v-31.5h15.8v31.2c0,8.1,4.1,11.9,10.3,11.9s10.3-3.7,10.3-11.5v-31.6h15.8V206
+			c0,18.1-10.3,26-26.3,26C671.3,232.1,661.3,224,661.3,206.4"/>
+		<path class="st0" d="M737.3,174.9H759c20,0,31.7,11.5,31.7,27.7v0.2c0,16.2-11.8,28.2-32,28.2h-21.3L737.3,174.9L737.3,174.9z
+			 M759.2,217.2c9.3,0,15.5-5.1,15.5-14.2v-0.2c0-9-6.2-14.2-15.5-14.2h-6.3v28.5L759.2,217.2L759.2,217.2z"/>
+		<polygon class="st0" points="813.2,174.9 858.1,174.9 858.1,188.6 828.7,188.6 828.7,198.1 855.3,198.1 855.3,211 828.7,211 
+			828.7,231 813.2,231 		"/>
+		<polygon class="st0" points="879.7,174.9 895.2,174.9 895.2,217.4 922.4,217.4 922.4,231 879.7,231 		"/>
+		<path class="st0" d="M963,174.5h15l23.9,56.5h-16.7l-4.1-10h-21.6l-4,10h-16.3L963,174.5z M976.7,208.9l-6.2-15.9l-6.3,15.9H976.7
+			z"/>
+		<path class="st0" d="M1021.9,174.9h26.5c8.6,0,14.5,2.2,18.3,6.1c3.3,3.2,5,7.5,5,13.1v0.2c0,8.6-4.6,14.3-11.5,17.2l13.4,19.6
+			h-18l-11.3-17h-6.8v17h-15.5L1021.9,174.9L1021.9,174.9z M1047.7,201.9c5.3,0,8.3-2.6,8.3-6.6V195c0-4.4-3.2-6.6-8.4-6.6h-10.2
+			v13.5L1047.7,201.9L1047.7,201.9z"/>
+		<polygon class="st0" points="1094.1,174.9 1139.2,174.9 1139.2,188.2 1109.5,188.2 1109.5,196.6 1136.4,196.6 1136.4,208.9 
+			1109.5,208.9 1109.5,217.8 1139.6,217.8 1139.6,231 1094.1,231 		"/>
+		<path class="st0" d="M489,209.7c-2.2,4.9-6.8,8.4-12.8,8.4c-8.5,0-14.3-7.1-14.3-15.1v-0.2c0-8.1,5.7-15,14.2-15
+			c6.4,0,11.3,3.9,13.3,9.3h16.4c-2.6-13.4-14.4-23.3-29.6-23.3c-17.3,0-30.3,13.1-30.3,29.2v0.2c0,16.1,12.8,29,30.1,29
+			c14.8,0,26.4-9.6,29.4-22.4L489,209.7L489,209.7z"/>
+	</g>
+	<g>
+		<polygon class="st0" points="391.1,169.6 348.2,145 340.8,141.8 165.3,143.1 165.3,232.1 391.1,232.2 		"/>
+		<path class="st1" d="M313,224c2.1-7.2,1.3-13.8-2.2-18.7c-3.2-4.5-8.6-7.1-15.1-7.4l-123.1-1.6c-0.8,0-1.5-0.4-1.9-1
+			c-0.4-0.6-0.5-1.4-0.3-2.2c0.4-1.2,1.6-2.1,2.9-2.2l124.2-1.6c14.7-0.7,30.7-12.6,36.3-27.2l7.1-18.5c0.3-0.8,0.4-1.6,0.2-2.4
+			c-8-36.2-40.3-63.2-78.9-63.2c-35.6,0-65.8,23-76.6,54.9c-7-5.2-15.9-8-25.5-7.1c-17.1,1.7-30.8,15.4-32.5,32.5
+			c-0.4,4.4-0.1,8.7,0.9,12.7c-27.9,0.8-50.2,23.6-50.2,51.7c0,2.5,0.2,5,0.5,7.5c0.2,1.2,1.2,2.1,2.4,2.1l227.2,0
+			c1.3,0,2.5-0.9,2.9-2.2L313,224z"/>
+		<path class="st2" d="M352.2,144.9c-1.1,0-2.3,0-3.4,0.1c-0.8,0-1.5,0.6-1.8,1.4l-4.8,16.7c-2.1,7.2-1.3,13.8,2.2,18.7
+			c3.2,4.5,8.6,7.1,15.1,7.4l26.2,1.6c0.8,0,1.5,0.4,1.9,1c0.4,0.6,0.5,1.5,0.3,2.2c-0.4,1.2-1.6,2.1-2.9,2.2l-27.3,1.6
+			c-14.8,0.7-30.7,12.6-36.3,27.2l-2,5.1c-0.4,1,0.3,2,1.4,2h93.8c1.1,0,2.1-0.7,2.4-1.8c1.6-5.8,2.5-11.9,2.5-18.2
+			C419.5,175,389.4,144.9,352.2,144.9"/>
+	</g>
+</g>
+</svg>

+ 52 - 0
resources/images/cloudflare-light.svg

@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 21.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+	 viewBox="0 0 1239.3 310.1" style="enable-background:new 0 0 1239.3 310.1;" xml:space="preserve">
+<style type="text/css">
+	.st0{fill:#404041;}
+	.st1{fill:#FFFFFF;}
+	.st2{fill:#F38020;}
+	.st3{fill:#FAAE40;}
+</style>
+<g>
+	<g>
+		<path class="st0" d="M1158.5,187.7c-3.4,0-6.1-2.7-6.1-6.1c0-3.3,2.7-6.1,6.1-6.1c3.3,0,6.1,2.7,6.1,6.1
+			C1164.6,185,1161.8,187.7,1158.5,187.7 M1158.5,176.7c-2.7,0-4.9,2.2-4.9,4.9c0,2.7,2.2,4.9,4.9,4.9c2.7,0,4.9-2.2,4.9-4.9
+			C1163.4,178.9,1161.2,176.7,1158.5,176.7 M1161.6,184.8h-1.4l-1.2-2.3h-1.6v2.3h-1.3v-6.7h3.2c1.4,0,2.3,0.9,2.3,2.2
+			c0,1-0.6,1.7-1.4,2L1161.6,184.8z M1159.2,181.3c0.5,0,1-0.3,1-1c0-0.8-0.4-1-1-1h-2v2L1159.2,181.3L1159.2,181.3z"/>
+		<polygon class="st0" points="523,174.9 538.6,174.9 538.6,217.4 565.7,217.4 565.7,231 523,231 		"/>
+		<path class="st0" d="M581.8,203.1V203c0-16.1,13-29.2,30.3-29.2s30.1,12.9,30.1,29v0.2c0,16.1-13,29.2-30.3,29.2
+			C594.7,232.1,581.8,219.2,581.8,203.1 M626.4,203.1V203c0-8.1-5.8-15.1-14.4-15.1c-8.5,0-14.2,6.9-14.2,15v0.2
+			c0,8.1,5.8,15.1,14.3,15.1C620.7,218.1,626.4,211.2,626.4,203.1"/>
+		<path class="st0" d="M661.3,206.4v-31.5h15.8v31.2c0,8.1,4.1,11.9,10.3,11.9s10.3-3.7,10.3-11.5v-31.6h15.8V206
+			c0,18.1-10.3,26-26.3,26C671.3,232.1,661.3,224,661.3,206.4"/>
+		<path class="st0" d="M737.3,174.9H759c20,0,31.7,11.5,31.7,27.7v0.2c0,16.2-11.8,28.2-32,28.2h-21.3L737.3,174.9L737.3,174.9z
+			 M759.2,217.2c9.3,0,15.5-5.1,15.5-14.2v-0.2c0-9-6.2-14.2-15.5-14.2h-6.3v28.5L759.2,217.2L759.2,217.2z"/>
+		<polygon class="st0" points="813.2,174.9 858.1,174.9 858.1,188.6 828.7,188.6 828.7,198.1 855.3,198.1 855.3,211 828.7,211 
+			828.7,231 813.2,231 		"/>
+		<polygon class="st0" points="879.7,174.9 895.2,174.9 895.2,217.4 922.4,217.4 922.4,231 879.7,231 		"/>
+		<path class="st0" d="M963,174.5h15l23.9,56.5h-16.7l-4.1-10h-21.6l-4,10h-16.3L963,174.5z M976.7,208.9l-6.2-15.9l-6.3,15.9H976.7
+			z"/>
+		<path class="st0" d="M1021.9,174.9h26.5c8.6,0,14.5,2.2,18.3,6.1c3.3,3.2,5,7.5,5,13.1v0.2c0,8.6-4.6,14.3-11.5,17.2l13.4,19.6
+			h-18l-11.3-17h-6.8v17h-15.5L1021.9,174.9L1021.9,174.9z M1047.7,201.9c5.3,0,8.3-2.6,8.3-6.6V195c0-4.4-3.2-6.6-8.4-6.6h-10.2
+			v13.5L1047.7,201.9L1047.7,201.9z"/>
+		<polygon class="st0" points="1094.1,174.9 1139.2,174.9 1139.2,188.2 1109.5,188.2 1109.5,196.6 1136.4,196.6 1136.4,208.9 
+			1109.5,208.9 1109.5,217.8 1139.6,217.8 1139.6,231 1094.1,231 		"/>
+		<path class="st0" d="M489,209.7c-2.2,4.9-6.8,8.4-12.8,8.4c-8.5,0-14.3-7.1-14.3-15.1v-0.2c0-8.1,5.7-15,14.2-15
+			c6.4,0,11.3,3.9,13.3,9.3h16.4c-2.6-13.4-14.4-23.3-29.6-23.3c-17.3,0-30.3,13.1-30.3,29.2v0.2c0,16.1,12.8,29,30.1,29
+			c14.8,0,26.4-9.6,29.4-22.4L489,209.7L489,209.7z"/>
+	</g>
+	<g>
+		<polygon class="st1" points="391.1,169.6 348.2,145 340.8,141.8 165.3,143.1 165.3,232.1 391.1,232.2 		"/>
+		<path class="st2" d="M313,224c2.1-7.2,1.3-13.8-2.2-18.7c-3.2-4.5-8.6-7.1-15.1-7.4l-123.1-1.6c-0.8,0-1.5-0.4-1.9-1
+			c-0.4-0.6-0.5-1.4-0.3-2.2c0.4-1.2,1.6-2.1,2.9-2.2l124.2-1.6c14.7-0.7,30.7-12.6,36.3-27.2l7.1-18.5c0.3-0.8,0.4-1.6,0.2-2.4
+			c-8-36.2-40.3-63.2-78.9-63.2c-35.6,0-65.8,23-76.6,54.9c-7-5.2-15.9-8-25.5-7.1c-17.1,1.7-30.8,15.4-32.5,32.5
+			c-0.4,4.4-0.1,8.7,0.9,12.7c-27.9,0.8-50.2,23.6-50.2,51.7c0,2.5,0.2,5,0.5,7.5c0.2,1.2,1.2,2.1,2.4,2.1l227.2,0
+			c1.3,0,2.5-0.9,2.9-2.2L313,224z"/>
+		<path class="st3" d="M352.2,144.9c-1.1,0-2.3,0-3.4,0.1c-0.8,0-1.5,0.6-1.8,1.4l-4.8,16.7c-2.1,7.2-1.3,13.8,2.2,18.7
+			c3.2,4.5,8.6,7.1,15.1,7.4l26.2,1.6c0.8,0,1.5,0.4,1.9,1c0.4,0.6,0.5,1.5,0.3,2.2c-0.4,1.2-1.6,2.1-2.9,2.2l-27.3,1.6
+			c-14.8,0.7-30.7,12.6-36.3,27.2l-2,5.1c-0.4,1,0.3,2,1.4,2h93.8c1.1,0,2.1-0.7,2.4-1.8c1.6-5.8,2.5-11.9,2.5-18.2
+			C419.5,175,389.4,144.9,352.2,144.9"/>
+	</g>
+</g>
+</svg>

BIN
resources/images/codersrank.webp


BIN
resources/images/discord.webp


BIN
resources/images/email.webp


BIN
resources/images/flappy_switch.webp


BIN
resources/images/github.webp


BIN
resources/images/itch.webp


BIN
resources/images/jokeapi.webp


BIN
resources/images/ko-fi_blue.webp


BIN
resources/images/ko-fi_button.webp


BIN
resources/images/langapplier.webp


BIN
resources/images/linkedin.webp


BIN
resources/images/npm.webp


BIN
resources/images/sv443.gif


BIN
resources/images/ttp.webp


BIN
resources/images/twitter.webp