1
0
2025-02-01 11:11:49 +01:00

265 lines
8.2 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>
<link href="" rel="stylesheet">
<style>
@font-face {
font-family: "Titillium";
src: url("/Titillium-Web-Regular.ttf");
}
body {
font-family: 'Titillium';
height: 100%;
margin: 0;
display: flex;
flex-direction: column;
align-items: center;
text-align: center;
background-color: #e6f7ff; /* Leichtes Blau */
}
h1 {
text-align: center;
}
h2 {
text-align: center;
}
/* Ladeanimation */
.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); /* Halbtransparenter bläulicher Hintergrund */
z-index: 9999; /* Sicherstellen, dass die Ladeanimation immer im Vordergrund ist */
}
.loading .loader-container {
display: flex;
}
/* Button Styles */
.button {
--white: #ffffff;
cursor: pointer;
background: linear-gradient(to bottom, #6e3bff, #7e51ff);
color: #ffffff;
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: #ffffff;
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;
}
.letters span {
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"><img src="/icons/spielen-button.png" width="500vh"></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[_{{{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)