1
0
2025-02-01 11:36:55 +01:00

81 lines
6.5 KiB
HTML

<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Creative Crafter</title>
<script type="module" src="https://cdn.jsdelivr.net/npm/ldrs/dist/auto/quantum.js"></script>
<link href="" rel="stylesheet">
<style>
@font-face { font-family: "Titillium"; src: url("/Titillium-Web-Regular.ttf"); }
body, html { font-family: 'Titillium'; height: 100%; margin: 0; display: flex; flex-direction: column; align-items: center; text-align: center; background-color: #e6f7ff; }
h1, h2 { text-align: center; }
.loader-container { display: none; justify-content: center; align-items: center; height: 100%; width: 100%; position: fixed; top: 0; left: 0; background-color: rgba(173, 216, 230, 0.8); z-index: 9999; }
.loading .loader-container { display: flex; }
.button { --white: #fff; cursor: pointer; background: linear-gradient(to bottom, #6e3bff, #7e51ff); color: #fff; border: 1px solid #af93ff; border-radius: 8px; position: relative; font-family: Arial, Helvetica, sans-serif; text-shadow: 0 2px 0 rgba(0, 0, 0, 0.25); box-shadow: 0 8px 10px -4px #503b89, 0 0 0 2px #562cce; font-size: 25px; display: inline-flex; align-items: center; gap: 8px; margin-top: 20px; }
.icon path.bm { stroke-dasharray: 3; stroke-dashoffset: 3; stroke-width: 1px; transform: translateX(-23px) translateY(16px) scale(2) rotate(-44deg); }
.toggle-checkbox:checked + .button .icon path.bm { animation: bump 1s ease forwards; }
.toggle-checkbox:checked + .button .icon { animation: beat 1s ease-in-out forwards; }
.letters span:nth-child(5) { margin-left: 5px; }
.letters span:nth-child(6) { margin-left: 1px; }
.button:active .content { box-shadow: inset -1px 12px 8px -5px rgba(71, 0, 137, 0.4), inset 0px -3px 8px 0px #d190ff; }
@keyframes bump { 20% { stroke-dasharray: 3; stroke-dashoffset: 3; } 30% { stroke-dasharray: 5; stroke-dashoffset: 3; } 30.1% { stroke-dasharray: 3; stroke-dashoffset: 6; } 75% { stroke-dasharray: 3; stroke-dashoffset: 3; } 100% { stroke-dasharray: 3; stroke-dashoffset: 3; } }
@keyframes beat { 0% { transform: scale(1); } 50% { transform: scale(1.1); } 100% { transform: scale(1); } }
.icon-container { display: flex; align-items: center; justify-content: center; padding: 8px 10px; background-color: #fff; border-radius: 50%; box-shadow: inset 0 -2px 4px 0 #c6c6c6, 0 3px 6px rgba(0, 0, 0, 0.25); text-align: center; z-index: 10; }
.icon-container .icon { width: 25px; height: 30px; stroke: #592cd6; margin-top: -2px; z-index: 4; transform: rotate(180deg); }
.content { pointer-events: none; display: flex; align-items: center; justify-content: center; z-index: 1; position: relative; height: 100%; width: 100%; padding: 4px; gap: 16px; border-radius: 7px; font-weight: 600; transition: all 0.3s ease; }
.content::before { content: ""; inset: 0; position: absolute; z-index: 10; width: 80%; top: 45%; bottom: 35%; opacity: 0.7; margin: auto; background: linear-gradient(to bottom, transparent, var(--purple-400)); filter: brightness(1.3) blur(5px); }
.letters { transition: all 0.3s ease; display: flex; align-items: center; justify-content: center; padding: 4px; }
.letters span { display: block; color: transparent; position: relative; left: 6px; animation: letterShow 1.2s ease backwards calc(var(--i) * 0.03s); }
.letters span::before, .letters span::after { content: attr(data-label); position: absolute; color: var(--white); text-shadow: -1px 1px 2px var(--purple-500); left: 0; }
.letters span::before { opacity: 0; transform: translateY(-100%); }
.button:hover .words { opacity: 1; }
.button:hover .letters span::before { animation: letterShow 0.7s ease calc(var(--i) * 0.03s); }
.button:hover .letters span::after { opacity: 1; animation: letterHide 0.7s ease calc(var(--i) * 0.03s); }
@keyframes letterShow { 0% { transform: translateY(50%); opacity: 0; filter: blur(20px); } 20% { transform: translateY(70%); opacity: 1; } 50% { transform: translateY(-15%); opacity: 1; filter: blur(0); } 100% { transform: translateY(0); opacity: 1; } }
@keyframes letterHide { 0% { transform: translateY(0); opacity: 1; } 100% { transform: translateY(-70%); opacity: 0; filter: blur(3px); } }
</style>
</head>
<body>
<!-- Ladeanimation -->
<div class="loader-container">
<l-quantum size="90" speed="1.75" color="black"></l-quantum>
</div>
<h1><img src="/icons/Controller.png" height="150svh"><br/>Creative Crafter</h1>
<h1>Flappy Witch</h1>
<div align='center'><img src="/programmieren/spiele/Flappy-Witch/logo.png" width="250vh"></div>
<br/>
<div align='center'><a href="/programmieren/spiele/Flappy-Witch/FlappyWitch.html">
<button class="button">
<div class="icon-container">
<svg viewBox="0 0 24 24" fill="none" class="icon">
<path d="M12 2v20m10-10H2" stroke="currentColor" stroke-width="2"/>
<path class="bm" d="M3 3h18v18H3z" stroke="currentColor"/>
</svg>
</div>
<div class="content">
<div class="letters">
<span data-label="P" style="--i:0;">P</span>
<span data-label="l" style="--i:1;">l</span>
<span data-label="a" style="--i:2;">a</span>
<span data-label="y" style="--i:3;">y</span>
</div>
</div>
</button>
</a>
<br/><br/>
<button class="button" onclick="navigator.clipboard.writeText('www.creative-crafter.de/programmieren/spiele/Flappy-Witch/'); alert('copied')">
<div class="icon-container">
<svg viewBox="0 0 24 24" fill="none" class="icon">
<path d="M12 2v20m10-10H2" stroke="currentColor" stroke-width="2"/>
<path class="bm" d="M3 3h18v18H3z" stroke="currentColor"/>
</svg>
</div>
<div class="content">
<div class="letters">
<span data-label="C" style="--i:0;">C</span>
<span data-label="o" style="--i:1;">o</span>
<span data-label="p" style="--i:2;">p</span>
<span data-label="y" style="--i:3;">y</span>
</[_{{{CITATION{{{_1{](https://github.com/hd-code/pandoc-docker/tree/07f83c6deeafbff1710c5f7992a97955c298ad61/example%2Fexample.md)[_{{{CITATION{{{_2{](https://github.com/AndreasHeine/opcua-sub-to-websocket/tree/b272dca8c8abf371e5e35f05ce93949bdb775723/README.md)