* * * Magic! * * *
How do I make an * * * magic! * * *?
Cast spells like a wizard from the world of Harry Potter.This is some stuff I made for a presentation my wife is giving at NCDevCon on jQuery widgets. She needed "something that wasn't boring.". What is a * * * magic! * * *? How do you make a * * * magic! * * *? This script and codes were developed by Brandon Kennedy on 18 September 2022, Sunday.
* * * Magic! * * * - Script Codes HTML Codes
<!DOCTYPE html>
<html >
<head> <meta charset="UTF-8"> <title>* * * Magic! * * *</title> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/normalize/5.0.0/normalize.min.css"> <link rel="stylesheet" href="css/style.css">
</head>
<body> <header> <h2>Select a spell hold the mouse down near the wand to charge it up.</h2> <label><input type="radio" name="spell" value="expeliarmus" checked>expeliarmus</label> <label><input type="radio" name="spell" value="stupify">stupify</label> <label><input type="radio" name="spell" value="levicorpus">levicorpus</label> <label><input type="radio" name="spell" value="avada">avada kedavra</label> <button id="reset" type="button">reset</button>
</header>
<div class="arena"> <div class="my-wand"></div> <div class="spell"></div> <div class="opponent"> <figure> <div class="body"> <div class="head"></div> <div class="arms"> <div class="arm left"> <div class="wand"></div> </div> <div class="arm right"></div> </div> <div class="legs"> <div class="leg left"></div> <div class="leg right"></div> </div> </div> </figure> </div>
</div> <script src='http://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js'></script> <script src="js/index.js"></script>
</body>
</html>
* * * Magic! * * * - Script Codes CSS Codes
/* start pen display only */
header { text-align: center;
}
label { margin-right: .5em;
}
input { margin: 0 .2em;
}
/* end pen display only */
.arena { height: 340px; position: relative;
}
.my-wand { background: brown; height: 50px; left: 10%; position: absolute; top: 160px; -webkit-transform: rotate(60deg); transform: rotate(60deg); width: 3px;
}
.spell { border-radius: 50%; display: block; -webkit-filter: blur(0.05em); filter: blur(0.05em); font-size: .05em; height: 1em; left: calc(10% + 30px); opacity: 0; position: absolute; top: 170px; -webkit-transform: translateX(-50%) translateY(-50%); transform: translateX(-50%) translateY(-50%); width: 1em;
}
.spell.expeliarmus { background: whitesmoke;
}
.spell.expeliarmus:before, .spell.expeliarmus:after { background: white;
}
.spell.expeliarmus.build:before, .spell.expeliarmus.build:after { background: whitesmoke; box-shadow: 0 -0.24641em 0.2em 0.05em white, -0.2em 0.07321em 0.2em 0.05em white, 0.2em 0.07321em 0.2em 0.05em white;
}
.spell.expeliarmus.build:after { -webkit-animation-name: rotate, box-shadow-exp; animation-name: rotate, box-shadow-exp;
}
.spell.expeliarmus.travel { -webkit-animation-name: travel-exp; animation-name: travel-exp; box-shadow: inset -0.1em 0 0 0.05em #f8f8f8, -0.8em 0 0.4em -0.35em #f9f9f9, -0.6em 0 0.3em -0.3em #f8f8f8, -0.4em 0 0.2em -0.2em whitesmoke, -0.2em 0 0.1em -0.1em #f8f8f8, inset -0.1em 0 0.3em 0.05em whitesmoke;
}
@-webkit-keyframes box-shadow-exp { 0% { box-shadow: -0.45em 0.2em 0 white, 0 0.45em 0.2em 0 white, 0.45em 0 0.2em 0 white, -0.45em 0 0.2em 0 white; } 25% { box-shadow: -0.35em 0.2em 0 white, 0 0.35em 0.2em 0 white, 0.35em 0 0.2em 0 white, -0.35em 0 0.2em 0 white; } 50% { box-shadow: -0.25em 0.2em 0 white, 0 0.25em 0.2em 0 white, 0.25em 0 0.2em 0 white, -0.25em 0 0.2em 0 white; }
}
@keyframes box-shadow-exp { 0% { box-shadow: -0.45em 0.2em 0 white, 0 0.45em 0.2em 0 white, 0.45em 0 0.2em 0 white, -0.45em 0 0.2em 0 white; } 25% { box-shadow: -0.35em 0.2em 0 white, 0 0.35em 0.2em 0 white, 0.35em 0 0.2em 0 white, -0.35em 0 0.2em 0 white; } 50% { box-shadow: -0.25em 0.2em 0 white, 0 0.25em 0.2em 0 white, 0.25em 0 0.2em 0 white, -0.25em 0 0.2em 0 white; }
}
@-webkit-keyframes travel-exp { 0% { box-shadow: inset 0 0 0 0 #f8f8f8, 0 0 0 0 #f9f9f9, 0 0 0 0 #f8f8f8, 0 0 0 0 whitesmoke, 0 0 0 0 #f8f8f8, inset -0.1em 0 0.3em 0.05em whitesmoke; opacity: 1; -webkit-transform: scale(1) translateX(-50%) translateY(-50%); transform: scale(1) translateX(-50%) translateY(-50%); } 20% { box-shadow: inset -0.1em 0 0 0.05em #f8f8f8, -0.8em 0 0.4em -0.35em #f9f9f9, -0.6em 0 0.3em -0.3em #f8f8f8, -0.4em 0 0.2em -0.2em whitesmoke, -0.2em 0 0.1em -0.1em #f8f8f8, inset -0.1em 0 0.3em 0.05em whitesmoke; opacity: 1; -webkit-transform: scale(1) translateX(-50%) translateY(-50%); transform: scale(1) translateX(-50%) translateY(-50%); } 70% { box-shadow: inset -0.1em 0 0 0.05em #f8f8f8, -0.8em 0 0.4em -0.35em #f9f9f9, -0.6em 0 0.3em -0.3em #f8f8f8, -0.4em 0 0.2em -0.2em whitesmoke, -0.2em 0 0.1em -0.1em #f8f8f8, inset -0.1em 0 0.3em 0.05em whitesmoke; opacity: 1; -webkit-transform: scale(1) translateX(-50%) translateY(-50%); transform: scale(1) translateX(-50%) translateY(-50%); } 100% { box-shadow: inset -0.1em 0 0 0.05em #f8f8f8, -0.8em 0 0.4em -0.35em #f9f9f9, -0.6em 0 0.3em -0.3em #f8f8f8, -0.4em 0 0.2em -0.2em whitesmoke, -0.2em 0 0.1em -0.1em #f8f8f8, inset -0.1em 0 0.3em 0.05em whitesmoke; opacity: 0; -webkit-transform: scale(30) translateX(0%) translateY(0%); transform: scale(30) translateX(0%) translateY(0%); }
}
@keyframes travel-exp { 0% { box-shadow: inset 0 0 0 0 #f8f8f8, 0 0 0 0 #f9f9f9, 0 0 0 0 #f8f8f8, 0 0 0 0 whitesmoke, 0 0 0 0 #f8f8f8, inset -0.1em 0 0.3em 0.05em whitesmoke; opacity: 1; -webkit-transform: scale(1) translateX(-50%) translateY(-50%); transform: scale(1) translateX(-50%) translateY(-50%); } 20% { box-shadow: inset -0.1em 0 0 0.05em #f8f8f8, -0.8em 0 0.4em -0.35em #f9f9f9, -0.6em 0 0.3em -0.3em #f8f8f8, -0.4em 0 0.2em -0.2em whitesmoke, -0.2em 0 0.1em -0.1em #f8f8f8, inset -0.1em 0 0.3em 0.05em whitesmoke; opacity: 1; -webkit-transform: scale(1) translateX(-50%) translateY(-50%); transform: scale(1) translateX(-50%) translateY(-50%); } 70% { box-shadow: inset -0.1em 0 0 0.05em #f8f8f8, -0.8em 0 0.4em -0.35em #f9f9f9, -0.6em 0 0.3em -0.3em #f8f8f8, -0.4em 0 0.2em -0.2em whitesmoke, -0.2em 0 0.1em -0.1em #f8f8f8, inset -0.1em 0 0.3em 0.05em whitesmoke; opacity: 1; -webkit-transform: scale(1) translateX(-50%) translateY(-50%); transform: scale(1) translateX(-50%) translateY(-50%); } 100% { box-shadow: inset -0.1em 0 0 0.05em #f8f8f8, -0.8em 0 0.4em -0.35em #f9f9f9, -0.6em 0 0.3em -0.3em #f8f8f8, -0.4em 0 0.2em -0.2em whitesmoke, -0.2em 0 0.1em -0.1em #f8f8f8, inset -0.1em 0 0.3em 0.05em whitesmoke; opacity: 0; -webkit-transform: scale(30) translateX(0%) translateY(0%); transform: scale(30) translateX(0%) translateY(0%); }
}
.spell.stupify { background: crimson;
}
.spell.stupify:before, .spell.stupify:after { background: red;
}
.spell.stupify.build:before, .spell.stupify.build:after { background: crimson; box-shadow: 0 -0.24641em 0.2em 0.05em red, -0.2em 0.07321em 0.2em 0.05em red, 0.2em 0.07321em 0.2em 0.05em red;
}
.spell.stupify.build:after { -webkit-animation-name: rotate, box-shadow-stu; animation-name: rotate, box-shadow-stu;
}
.spell.stupify.travel { -webkit-animation-name: travel-stu; animation-name: travel-stu; box-shadow: inset -0.1em 0 0 0.05em #e54f6d, -0.8em 0 0.4em -0.35em #ea728a, -0.6em 0 0.3em -0.3em #e54f6d, -0.4em 0 0.2em -0.2em crimson, -0.2em 0 0.1em -0.1em #e54f6d, inset -0.1em 0 0.3em 0.05em crimson;
}
@-webkit-keyframes box-shadow-stu { 0% { box-shadow: -0.45em 0.2em 0 red, 0 0.45em 0.2em 0 red, 0.45em 0 0.2em 0 red, -0.45em 0 0.2em 0 red; } 25% { box-shadow: -0.35em 0.2em 0 red, 0 0.35em 0.2em 0 red, 0.35em 0 0.2em 0 red, -0.35em 0 0.2em 0 red; } 50% { box-shadow: -0.25em 0.2em 0 red, 0 0.25em 0.2em 0 red, 0.25em 0 0.2em 0 red, -0.25em 0 0.2em 0 red; }
}
@keyframes box-shadow-stu { 0% { box-shadow: -0.45em 0.2em 0 red, 0 0.45em 0.2em 0 red, 0.45em 0 0.2em 0 red, -0.45em 0 0.2em 0 red; } 25% { box-shadow: -0.35em 0.2em 0 red, 0 0.35em 0.2em 0 red, 0.35em 0 0.2em 0 red, -0.35em 0 0.2em 0 red; } 50% { box-shadow: -0.25em 0.2em 0 red, 0 0.25em 0.2em 0 red, 0.25em 0 0.2em 0 red, -0.25em 0 0.2em 0 red; }
}
@-webkit-keyframes travel-stu { 0% { box-shadow: inset 0 0 0 0 #e54f6d, 0 0 0 0 #ea728a, 0 0 0 0 #e54f6d, 0 0 0 0 crimson, 0 0 0 0 #e54f6d, inset -0.1em 0 0.3em 0.05em crimson; opacity: 1; -webkit-transform: scale(1) translateX(-50%) translateY(-50%); transform: scale(1) translateX(-50%) translateY(-50%); } 20% { box-shadow: inset -0.1em 0 0 0.05em #e54f6d, -0.8em 0 0.4em -0.35em #ea728a, -0.6em 0 0.3em -0.3em #e54f6d, -0.4em 0 0.2em -0.2em crimson, -0.2em 0 0.1em -0.1em #e54f6d, inset -0.1em 0 0.3em 0.05em crimson; opacity: 1; -webkit-transform: scale(1) translateX(-50%) translateY(-50%); transform: scale(1) translateX(-50%) translateY(-50%); } 70% { box-shadow: inset -0.1em 0 0 0.05em #e54f6d, -0.8em 0 0.4em -0.35em #ea728a, -0.6em 0 0.3em -0.3em #e54f6d, -0.4em 0 0.2em -0.2em crimson, -0.2em 0 0.1em -0.1em #e54f6d, inset -0.1em 0 0.3em 0.05em crimson; opacity: 1; -webkit-transform: scale(1) translateX(-50%) translateY(-50%); transform: scale(1) translateX(-50%) translateY(-50%); } 100% { box-shadow: inset -0.1em 0 0 0.05em #e54f6d, -0.8em 0 0.4em -0.35em #ea728a, -0.6em 0 0.3em -0.3em #e54f6d, -0.4em 0 0.2em -0.2em crimson, -0.2em 0 0.1em -0.1em #e54f6d, inset -0.1em 0 0.3em 0.05em crimson; opacity: 0; -webkit-transform: scale(30) translateX(0%) translateY(0%); transform: scale(30) translateX(0%) translateY(0%); }
}
@keyframes travel-stu { 0% { box-shadow: inset 0 0 0 0 #e54f6d, 0 0 0 0 #ea728a, 0 0 0 0 #e54f6d, 0 0 0 0 crimson, 0 0 0 0 #e54f6d, inset -0.1em 0 0.3em 0.05em crimson; opacity: 1; -webkit-transform: scale(1) translateX(-50%) translateY(-50%); transform: scale(1) translateX(-50%) translateY(-50%); } 20% { box-shadow: inset -0.1em 0 0 0.05em #e54f6d, -0.8em 0 0.4em -0.35em #ea728a, -0.6em 0 0.3em -0.3em #e54f6d, -0.4em 0 0.2em -0.2em crimson, -0.2em 0 0.1em -0.1em #e54f6d, inset -0.1em 0 0.3em 0.05em crimson; opacity: 1; -webkit-transform: scale(1) translateX(-50%) translateY(-50%); transform: scale(1) translateX(-50%) translateY(-50%); } 70% { box-shadow: inset -0.1em 0 0 0.05em #e54f6d, -0.8em 0 0.4em -0.35em #ea728a, -0.6em 0 0.3em -0.3em #e54f6d, -0.4em 0 0.2em -0.2em crimson, -0.2em 0 0.1em -0.1em #e54f6d, inset -0.1em 0 0.3em 0.05em crimson; opacity: 1; -webkit-transform: scale(1) translateX(-50%) translateY(-50%); transform: scale(1) translateX(-50%) translateY(-50%); } 100% { box-shadow: inset -0.1em 0 0 0.05em #e54f6d, -0.8em 0 0.4em -0.35em #ea728a, -0.6em 0 0.3em -0.3em #e54f6d, -0.4em 0 0.2em -0.2em crimson, -0.2em 0 0.1em -0.1em #e54f6d, inset -0.1em 0 0.3em 0.05em crimson; opacity: 0; -webkit-transform: scale(30) translateX(0%) translateY(0%); transform: scale(30) translateX(0%) translateY(0%); }
}
.spell.levicorpus { background: gold;
}
.spell.levicorpus:before, .spell.levicorpus:after { background: #ffeb00;
}
.spell.levicorpus.build:before, .spell.levicorpus.build:after { background: gold; box-shadow: 0 -0.24641em 0.2em 0.05em #ffeb00, -0.2em 0.07321em 0.2em 0.05em #ffeb00, 0.2em 0.07321em 0.2em 0.05em #ffeb00;
}
.spell.levicorpus.build:after { -webkit-animation-name: rotate, box-shadow-lev; animation-name: rotate, box-shadow-lev;
}
.spell.levicorpus.travel { -webkit-animation-name: travel-lev; animation-name: travel-lev; box-shadow: inset -0.1em 0 0 0.05em #ffe140, -0.8em 0 0.4em -0.35em #ffe766, -0.6em 0 0.3em -0.3em #ffe140, -0.4em 0 0.2em -0.2em gold, -0.2em 0 0.1em -0.1em #ffe140, inset -0.1em 0 0.3em 0.05em gold;
}
@-webkit-keyframes box-shadow-lev { 0% { box-shadow: -0.45em 0.2em 0 #ffeb00, 0 0.45em 0.2em 0 #ffeb00, 0.45em 0 0.2em 0 #ffeb00, -0.45em 0 0.2em 0 #ffeb00; } 25% { box-shadow: -0.35em 0.2em 0 #ffeb00, 0 0.35em 0.2em 0 #ffeb00, 0.35em 0 0.2em 0 #ffeb00, -0.35em 0 0.2em 0 #ffeb00; } 50% { box-shadow: -0.25em 0.2em 0 #ffeb00, 0 0.25em 0.2em 0 #ffeb00, 0.25em 0 0.2em 0 #ffeb00, -0.25em 0 0.2em 0 #ffeb00; }
}
@keyframes box-shadow-lev { 0% { box-shadow: -0.45em 0.2em 0 #ffeb00, 0 0.45em 0.2em 0 #ffeb00, 0.45em 0 0.2em 0 #ffeb00, -0.45em 0 0.2em 0 #ffeb00; } 25% { box-shadow: -0.35em 0.2em 0 #ffeb00, 0 0.35em 0.2em 0 #ffeb00, 0.35em 0 0.2em 0 #ffeb00, -0.35em 0 0.2em 0 #ffeb00; } 50% { box-shadow: -0.25em 0.2em 0 #ffeb00, 0 0.25em 0.2em 0 #ffeb00, 0.25em 0 0.2em 0 #ffeb00, -0.25em 0 0.2em 0 #ffeb00; }
}
@-webkit-keyframes travel-lev { 0% { box-shadow: inset 0 0 0 0 #ffe140, 0 0 0 0 #ffe766, 0 0 0 0 #ffe140, 0 0 0 0 gold, 0 0 0 0 #ffe140, inset -0.1em 0 0.3em 0.05em gold; opacity: 1; -webkit-transform: scale(1) translateX(-50%) translateY(-50%); transform: scale(1) translateX(-50%) translateY(-50%); } 20% { box-shadow: inset -0.1em 0 0 0.05em #ffe140, -0.8em 0 0.4em -0.35em #ffe766, -0.6em 0 0.3em -0.3em #ffe140, -0.4em 0 0.2em -0.2em gold, -0.2em 0 0.1em -0.1em #ffe140, inset -0.1em 0 0.3em 0.05em gold; opacity: 1; -webkit-transform: scale(1) translateX(-50%) translateY(-50%); transform: scale(1) translateX(-50%) translateY(-50%); } 70% { box-shadow: inset -0.1em 0 0 0.05em #ffe140, -0.8em 0 0.4em -0.35em #ffe766, -0.6em 0 0.3em -0.3em #ffe140, -0.4em 0 0.2em -0.2em gold, -0.2em 0 0.1em -0.1em #ffe140, inset -0.1em 0 0.3em 0.05em gold; opacity: 1; -webkit-transform: scale(1) translateX(-50%) translateY(-50%); transform: scale(1) translateX(-50%) translateY(-50%); } 100% { box-shadow: inset -0.1em 0 0 0.05em #ffe140, -0.8em 0 0.4em -0.35em #ffe766, -0.6em 0 0.3em -0.3em #ffe140, -0.4em 0 0.2em -0.2em gold, -0.2em 0 0.1em -0.1em #ffe140, inset -0.1em 0 0.3em 0.05em gold; opacity: 0; -webkit-transform: scale(30) translateX(0%) translateY(0%); transform: scale(30) translateX(0%) translateY(0%); }
}
@keyframes travel-lev { 0% { box-shadow: inset 0 0 0 0 #ffe140, 0 0 0 0 #ffe766, 0 0 0 0 #ffe140, 0 0 0 0 gold, 0 0 0 0 #ffe140, inset -0.1em 0 0.3em 0.05em gold; opacity: 1; -webkit-transform: scale(1) translateX(-50%) translateY(-50%); transform: scale(1) translateX(-50%) translateY(-50%); } 20% { box-shadow: inset -0.1em 0 0 0.05em #ffe140, -0.8em 0 0.4em -0.35em #ffe766, -0.6em 0 0.3em -0.3em #ffe140, -0.4em 0 0.2em -0.2em gold, -0.2em 0 0.1em -0.1em #ffe140, inset -0.1em 0 0.3em 0.05em gold; opacity: 1; -webkit-transform: scale(1) translateX(-50%) translateY(-50%); transform: scale(1) translateX(-50%) translateY(-50%); } 70% { box-shadow: inset -0.1em 0 0 0.05em #ffe140, -0.8em 0 0.4em -0.35em #ffe766, -0.6em 0 0.3em -0.3em #ffe140, -0.4em 0 0.2em -0.2em gold, -0.2em 0 0.1em -0.1em #ffe140, inset -0.1em 0 0.3em 0.05em gold; opacity: 1; -webkit-transform: scale(1) translateX(-50%) translateY(-50%); transform: scale(1) translateX(-50%) translateY(-50%); } 100% { box-shadow: inset -0.1em 0 0 0.05em #ffe140, -0.8em 0 0.4em -0.35em #ffe766, -0.6em 0 0.3em -0.3em #ffe140, -0.4em 0 0.2em -0.2em gold, -0.2em 0 0.1em -0.1em #ffe140, inset -0.1em 0 0.3em 0.05em gold; opacity: 0; -webkit-transform: scale(30) translateX(0%) translateY(0%); transform: scale(30) translateX(0%) translateY(0%); }
}
.spell.avada { background: limegreen;
}
.spell.avada:before, .spell.avada:after { background: chartreuse;
}
.spell.avada.build:before, .spell.avada.build:after { background: limegreen; box-shadow: 0 -0.24641em 0.2em 0.05em chartreuse, -0.2em 0.07321em 0.2em 0.05em chartreuse, 0.2em 0.07321em 0.2em 0.05em chartreuse;
}
.spell.avada.build:after { -webkit-animation-name: rotate, box-shadow-ava; animation-name: rotate, box-shadow-ava;
}
.spell.avada.travel { -webkit-animation-name: travel-ava; animation-name: travel-ava; box-shadow: inset -0.1em 0 0 0.05em #65da65, -0.8em 0 0.4em -0.35em #84e184, -0.6em 0 0.3em -0.3em #65da65, -0.4em 0 0.2em -0.2em limegreen, -0.2em 0 0.1em -0.1em #65da65, inset -0.1em 0 0.3em 0.05em limegreen;
}
@-webkit-keyframes box-shadow-ava { 0% { box-shadow: -0.45em 0.2em 0 chartreuse, 0 0.45em 0.2em 0 chartreuse, 0.45em 0 0.2em 0 chartreuse, -0.45em 0 0.2em 0 chartreuse; } 25% { box-shadow: -0.35em 0.2em 0 chartreuse, 0 0.35em 0.2em 0 chartreuse, 0.35em 0 0.2em 0 chartreuse, -0.35em 0 0.2em 0 chartreuse; } 50% { box-shadow: -0.25em 0.2em 0 chartreuse, 0 0.25em 0.2em 0 chartreuse, 0.25em 0 0.2em 0 chartreuse, -0.25em 0 0.2em 0 chartreuse; }
}
@keyframes box-shadow-ava { 0% { box-shadow: -0.45em 0.2em 0 chartreuse, 0 0.45em 0.2em 0 chartreuse, 0.45em 0 0.2em 0 chartreuse, -0.45em 0 0.2em 0 chartreuse; } 25% { box-shadow: -0.35em 0.2em 0 chartreuse, 0 0.35em 0.2em 0 chartreuse, 0.35em 0 0.2em 0 chartreuse, -0.35em 0 0.2em 0 chartreuse; } 50% { box-shadow: -0.25em 0.2em 0 chartreuse, 0 0.25em 0.2em 0 chartreuse, 0.25em 0 0.2em 0 chartreuse, -0.25em 0 0.2em 0 chartreuse; }
}
@-webkit-keyframes travel-ava { 0% { box-shadow: inset 0 0 0 0 #65da65, 0 0 0 0 #84e184, 0 0 0 0 #65da65, 0 0 0 0 limegreen, 0 0 0 0 #65da65, inset -0.1em 0 0.3em 0.05em limegreen; opacity: 1; -webkit-transform: scale(1) translateX(-50%) translateY(-50%); transform: scale(1) translateX(-50%) translateY(-50%); } 20% { box-shadow: inset -0.1em 0 0 0.05em #65da65, -0.8em 0 0.4em -0.35em #84e184, -0.6em 0 0.3em -0.3em #65da65, -0.4em 0 0.2em -0.2em limegreen, -0.2em 0 0.1em -0.1em #65da65, inset -0.1em 0 0.3em 0.05em limegreen; opacity: 1; -webkit-transform: scale(1) translateX(-50%) translateY(-50%); transform: scale(1) translateX(-50%) translateY(-50%); } 70% { box-shadow: inset -0.1em 0 0 0.05em #65da65, -0.8em 0 0.4em -0.35em #84e184, -0.6em 0 0.3em -0.3em #65da65, -0.4em 0 0.2em -0.2em limegreen, -0.2em 0 0.1em -0.1em #65da65, inset -0.1em 0 0.3em 0.05em limegreen; opacity: 1; -webkit-transform: scale(1) translateX(-50%) translateY(-50%); transform: scale(1) translateX(-50%) translateY(-50%); } 100% { box-shadow: inset -0.1em 0 0 0.05em #65da65, -0.8em 0 0.4em -0.35em #84e184, -0.6em 0 0.3em -0.3em #65da65, -0.4em 0 0.2em -0.2em limegreen, -0.2em 0 0.1em -0.1em #65da65, inset -0.1em 0 0.3em 0.05em limegreen; opacity: 0; -webkit-transform: scale(30) translateX(0%) translateY(0%); transform: scale(30) translateX(0%) translateY(0%); }
}
@keyframes travel-ava { 0% { box-shadow: inset 0 0 0 0 #65da65, 0 0 0 0 #84e184, 0 0 0 0 #65da65, 0 0 0 0 limegreen, 0 0 0 0 #65da65, inset -0.1em 0 0.3em 0.05em limegreen; opacity: 1; -webkit-transform: scale(1) translateX(-50%) translateY(-50%); transform: scale(1) translateX(-50%) translateY(-50%); } 20% { box-shadow: inset -0.1em 0 0 0.05em #65da65, -0.8em 0 0.4em -0.35em #84e184, -0.6em 0 0.3em -0.3em #65da65, -0.4em 0 0.2em -0.2em limegreen, -0.2em 0 0.1em -0.1em #65da65, inset -0.1em 0 0.3em 0.05em limegreen; opacity: 1; -webkit-transform: scale(1) translateX(-50%) translateY(-50%); transform: scale(1) translateX(-50%) translateY(-50%); } 70% { box-shadow: inset -0.1em 0 0 0.05em #65da65, -0.8em 0 0.4em -0.35em #84e184, -0.6em 0 0.3em -0.3em #65da65, -0.4em 0 0.2em -0.2em limegreen, -0.2em 0 0.1em -0.1em #65da65, inset -0.1em 0 0.3em 0.05em limegreen; opacity: 1; -webkit-transform: scale(1) translateX(-50%) translateY(-50%); transform: scale(1) translateX(-50%) translateY(-50%); } 100% { box-shadow: inset -0.1em 0 0 0.05em #65da65, -0.8em 0 0.4em -0.35em #84e184, -0.6em 0 0.3em -0.3em #65da65, -0.4em 0 0.2em -0.2em limegreen, -0.2em 0 0.1em -0.1em #65da65, inset -0.1em 0 0.3em 0.05em limegreen; opacity: 0; -webkit-transform: scale(30) translateX(0%) translateY(0%); transform: scale(30) translateX(0%) translateY(0%); }
}
.spell:before, .spell:after { border-radius: 50%; content: ""; position: absolute; top: 50%; -webkit-transform: translateY(-50%); transform: translateY(-50%); -webkit-transition: all .2s ease-in-out; transition: all .2s ease-in-out;
}
.spell.build { -webkit-transform-origin: center; transform-origin: center; -webkit-transition: opacity .3s ease-out; transition: opacity .3s ease-out;
}
.spell.build:before, .spell.build:after { -webkit-animation: rotate .5s linear infinite; animation: rotate .5s linear infinite; height: .4em; left: 50%; top: 50%; -webkit-transform: translateX(-50%) translateY(-50%); transform: translateX(-50%) translateY(-50%); -webkit-transform-origin: 0 0; transform-origin: 0 0; -webkit-transition: all .2s ease-in-out; transition: all .2s ease-in-out; width: .4em;
}
.spell.build:after { -webkit-animation-delay: -1s, 0; animation-delay: -1s, 0; -webkit-animation-direction: reverse, alternate; animation-direction: reverse, alternate; -webkit-animation-duration: .3s, .4s; animation-duration: .3s, .4s; height: .2em; width: .2em;
}
.spell.travel { -webkit-animation: .3s ease-in forwards; animation: .3s ease-in forwards;
}
@-webkit-keyframes rotate { from { -webkit-transform: rotate(0) translateX(-50%) translateY(-50%); transform: rotate(0) translateX(-50%) translateY(-50%); } to { -webkit-transform: rotate(360deg) translateX(-50%) translateY(-50%); transform: rotate(360deg) translateX(-50%) translateY(-50%); }
}
@keyframes rotate { from { -webkit-transform: rotate(0) translateX(-50%) translateY(-50%); transform: rotate(0) translateX(-50%) translateY(-50%); } to { -webkit-transform: rotate(360deg) translateX(-50%) translateY(-50%); transform: rotate(360deg) translateX(-50%) translateY(-50%); }
}
.opponent { box-shadow: inset 0 -5px 0 0 black; margin: 150px 0 0; position: absolute; right: 0; width: 230px;
}
figure { display: inline-block; font-size: 30px; margin: .8em 2.2em 3em; -webkit-transform-origin: center; transform-origin: center; -webkit-transition: -webkit-transform .4s ease-in; transition: -webkit-transform .4s ease-in; transition: transform .4s ease-in; transition: transform .4s ease-in, -webkit-transform .4s ease-in;
}
.body { height: 2em; position: relative; width: 2px;
}
.body, .body div { -webkit-animation-fill-mode: forwards; animation-fill-mode: forwards; -webkit-animation-iteration-count: infinite; animation-iteration-count: infinite; -webkit-animation-play-state: paused; animation-play-state: paused; -webkit-animation-timing-function: ease-in-out; animation-timing-function: ease-in-out; background: dodgerblue; -webkit-transition: all .3 ease-in-out; transition: all .3 ease-in-out;
}
.head { border-radius: 50%; height: .8em; left: 0; position: absolute; top: 0; -webkit-transform: translateX(-50%) translateY(-100%); transform: translateX(-50%) translateY(-100%); width: .8em;
}
.head:before, .head:after { background: black; border-radius: 50%; box-shadow: 0 0 0 0.03em black, inset -0.01em 0 0 0.06em dodgerblue; content: ""; height: .2em; left: .11em; position: absolute; top: .16em; width: .2em;
}
.head:after { left: auto; right: .11em;
}
.arms, .arm, .legs, .leg { left: 0; position: absolute; -webkit-transform-origin: top center; transform-origin: top center; width: 2px;
}
.arms { top: .15em; -webkit-transition: -webkit-transform .4s ease-in; transition: -webkit-transform .4s ease-in; transition: transform .4s ease-in; transition: transform .4s ease-in, -webkit-transform .4s ease-in;
}
.arm { height: 2.2em;
}
.arm.left { -webkit-transform: rotate(40deg); transform: rotate(40deg);
}
.arm.right { -webkit-transform: rotate(-10deg); transform: rotate(-10deg);
}
.wand { background: brown !important; bottom: 0; height: 1em; position: absolute; -webkit-transform: rotate(-105deg); transform: rotate(-105deg); -webkit-transform-origin: bottom center; transform-origin: bottom center; width: 2px;
}
.legs { top: 2em;
}
.leg { height: 3em;
}
.leg.left { -webkit-transform: rotate(10deg); transform: rotate(10deg);
}
.leg.right { -webkit-transform: rotate(-10deg); transform: rotate(-10deg);
}
figure.exp div.body { -webkit-transform-origin: .5em 4.85em; transform-origin: .5em 4.85em;
}
figure.exp div.head { -webkit-transform: rotate(15deg) translateX(-50%) translateY(-77%); transform: rotate(15deg) translateX(-50%) translateY(-77%); -webkit-transform-origin: bottom; transform-origin: bottom; -webkit-transition: -webkit-transform .2s ease-out 2.8s; transition: -webkit-transform .2s ease-out 2.8s; transition: transform .2s ease-out 2.8s; transition: transform .2s ease-out 2.8s, -webkit-transform .2s ease-out 2.8s;
}
figure.exp div.head:before, figure.exp div.head:after { -webkit-animation: exp-eyes 3s cubic-bezier(0.15, 0.5, 0.85, 0.5) forwards; animation: exp-eyes 3s cubic-bezier(0.15, 0.5, 0.85, 0.5) forwards;
}
figure.exp div.arms { -webkit-transform: rotate(-30deg); transform: rotate(-30deg); -webkit-transition: -webkit-transform 1.5s cubic-bezier(0.15, 0.5, 0.85, 0.5) 0.1s; transition: -webkit-transform 1.5s cubic-bezier(0.15, 0.5, 0.85, 0.5) 0.1s; transition: transform 1.5s cubic-bezier(0.15, 0.5, 0.85, 0.5) 0.1s; transition: transform 1.5s cubic-bezier(0.15, 0.5, 0.85, 0.5) 0.1s, -webkit-transform 1.5s cubic-bezier(0.15, 0.5, 0.85, 0.5) 0.1s;
}
figure.exp div.arm.right { -webkit-transform: rotate(20deg); transform: rotate(20deg); -webkit-transition: -webkit-transform .2s ease-out 2.8s; transition: -webkit-transform .2s ease-out 2.8s; transition: transform .2s ease-out 2.8s; transition: transform .2s ease-out 2.8s, -webkit-transform .2s ease-out 2.8s;
}
figure.exp div.wand { -webkit-animation: exp-wand 1.8s cubic-bezier(0.15, 0.5, 0.85, 0.5) 0.1s forwards; animation: exp-wand 1.8s cubic-bezier(0.15, 0.5, 0.85, 0.5) 0.1s forwards; -webkit-transform-origin: center; transform-origin: center;
}
figure.exp.exp-bend div { -webkit-transition: -webkit-transform .6s ease-out .2s; transition: -webkit-transform .6s ease-out .2s; transition: transform .6s ease-out .2s; transition: transform .6s ease-out .2s, -webkit-transform .6s ease-out .2s;
}
figure.exp.exp-bend div.body { -webkit-transform: rotate(115deg); transform: rotate(115deg); -webkit-transform-origin: bottom center; transform-origin: bottom center;
}
figure.exp.exp-bend div.head { -webkit-transform: rotate(0deg) translateX(-50%) translateY(-100%); transform: rotate(0deg) translateX(-50%) translateY(-100%);
}
figure.exp.exp-bend div.arm.left { -webkit-transform: rotate(-85deg); transform: rotate(-85deg);
}
figure.exp.exp-bend div.arm.right { -webkit-transform: rotate(20deg); transform: rotate(20deg);
}
figure.exp.exp-bend div.legs { -webkit-transform: rotate(-115deg); transform: rotate(-115deg); -webkit-transform-origin: top center; transform-origin: top center;
}
figure.exp.exp-bend div.leg.left { -webkit-transform: rotate(55deg); transform: rotate(55deg); -webkit-transition: -webkit-transform .3s ease-out .2s; transition: -webkit-transform .3s ease-out .2s; transition: transform .3s ease-out .2s; transition: transform .3s ease-out .2s, -webkit-transform .3s ease-out .2s;
}
figure.exp.exp-return div { -webkit-transition: -webkit-transform .6s ease-out; transition: -webkit-transform .6s ease-out; transition: transform .6s ease-out; transition: transform .6s ease-out, -webkit-transform .6s ease-out;
}
figure.exp.exp-return div.body { -webkit-transform: rotate(0deg); transform: rotate(0deg); -webkit-transform-origin: bottom center; transform-origin: bottom center;
}
figure.exp.exp-return div.arms { -webkit-transform: rotate(0deg); transform: rotate(0deg);
}
figure.exp.exp-return div.arm.left { -webkit-transform: rotate(40deg); transform: rotate(40deg);
}
figure.exp.exp-return div.arm.right { -webkit-transform: rotate(-10deg); transform: rotate(-10deg);
}
figure.exp.exp-return div.wand { -webkit-animation: exp-r-wand .6s ease-out forwards; animation: exp-r-wand .6s ease-out forwards; opacity: 1; -webkit-transform-origin: bottom center; transform-origin: bottom center;
}
figure.exp.exp-return div.legs { -webkit-transform: rotate(0deg); transform: rotate(0deg); -webkit-transform-origin: top center; transform-origin: top center;
}
figure.exp.exp-return div.leg.left { -webkit-transform: rotate(10deg); transform: rotate(10deg); -webkit-transition: -webkit-transform .3s ease-out; transition: -webkit-transform .3s ease-out; transition: transform .3s ease-out; transition: transform .3s ease-out, -webkit-transform .3s ease-out;
}
figure.stu div.body { -webkit-animation: stu-body 2s linear .2s forwards; animation: stu-body 2s linear .2s forwards; left: 1em; -webkit-transform-origin: .5em 4.85em; transform-origin: .5em 4.85em; -webkit-transition: left .2s linear .2s; transition: left .2s linear .2s;
}
figure.stu div.head:before, figure.stu div.head:after { -webkit-animation: stu-eyes .2s linear .2s forwards; animation: stu-eyes .2s linear .2s forwards; box-shadow: 0 -0.01em 0 0.01em black, inset 0.01em 0 0 0.06em dodgerblue;
}
figure.stu div.arm.left { -webkit-transform: rotate(120deg); transform: rotate(120deg); -webkit-transition: -webkit-transform .2s ease-in .2s; transition: -webkit-transform .2s ease-in .2s; transition: transform .2s ease-in .2s; transition: transform .2s ease-in .2s, -webkit-transform .2s ease-in .2s;
}
figure.stu div.arm.right { -webkit-transform: rotate(-105deg); transform: rotate(-105deg); -webkit-transition: -webkit-transform .2s ease-in .2s; transition: -webkit-transform .2s ease-in .2s; transition: transform .2s ease-in .2s; transition: transform .2s ease-in .2s, -webkit-transform .2s ease-in .2s;
}
figure.stu.stu-return div.body { left: 0; -webkit-transition: all .5s ease-in-out; transition: all .5s ease-in-out;
}
figure.stu.stu-return div.head:before, figure.stu.stu-return div.head:after { -webkit-animation: stu-eyes .5s linear reverse forwards; animation: stu-eyes .5s linear reverse forwards;
}
figure.stu.stu-return div.arm { -webkit-transition: all .5s ease-in-out; transition: all .5s ease-in-out;
}
figure.stu.stu-return div.arm.left { -webkit-transform: rotate(40deg); transform: rotate(40deg);
}
figure.stu.stu-return div.arm.right { -webkit-transform: rotate(-10deg); transform: rotate(-10deg);
}
figure.stu.stu-return div.leg { -webkit-transition: all .5s ease-in-out; transition: all .5s ease-in-out;
}
figure.stu.stu-return div.leg.left { -webkit-transform: rotate(-10deg); transform: rotate(-10deg);
}
figure.stu.stu-return div.leg.right { -webkit-transform: rotate(10deg); transform: rotate(10deg);
}
figure.lev { -webkit-transform: rotate(-170deg) translateY(4.2em); transform: rotate(-170deg) translateY(4.2em); -webkit-transform-origin: bottom center; transform-origin: bottom center;
}
figure.lev div.body { -webkit-animation: lev-body 1s ease-in-out .2s infinite alternate forwards running; animation: lev-body 1s ease-in-out .2s infinite alternate forwards running; -webkit-transform-origin: .5em 4.85em; transform-origin: .5em 4.85em; -webkit-transition: all .3s ease-in-out .2s; transition: all .3s ease-in-out .2s;
}
figure.lev div.head:before, figure.lev div.head:after { -webkit-transform: rotate(90deg) scaleX(0.7); transform: rotate(90deg) scaleX(0.7); -webkit-transition: -webkit-transform .3s ease-in .2s; transition: -webkit-transform .3s ease-in .2s; transition: transform .3s ease-in .2s; transition: transform .3s ease-in .2s, -webkit-transform .3s ease-in .2s;
}
figure.lev div.arms { -webkit-transform: rotate(180deg); transform: rotate(180deg);
}
figure.lev div.arm { -webkit-animation: 1s ease-in-out -.3s infinite alternate forwards running; animation: 1s ease-in-out -.3s infinite alternate forwards running;
}
figure.lev div.arm.left { -webkit-animation-name: lev-arms-left; animation-name: lev-arms-left;
}
figure.lev div.arm.right { -webkit-animation-name: lev-arms-right; animation-name: lev-arms-right;
}
figure.lev div.wand { -webkit-transform: rotate(-165deg); transform: rotate(-165deg); -webkit-transition: -webkit-transform .2s ease-in .2s; transition: -webkit-transform .2s ease-in .2s; transition: transform .2s ease-in .2s; transition: transform .2s ease-in .2s, -webkit-transform .2s ease-in .2s;
}
figure.lev div.leg.left { -webkit-animation: lev-legs .2s ease-in .2s forwards running; animation: lev-legs .2s ease-in .2s forwards running;
}
figure.ava { -webkit-transform: rotate(82deg) translateX(1.12em) translateY(2em); transform: rotate(82deg) translateX(1.12em) translateY(2em); -webkit-transform-origin: 1em 4.85em; transform-origin: 1em 4.85em; -webkit-transition: -webkit-transform 1s cubic-bezier(0.85, 0.3, 0.95, 0.7) 0.2s; transition: -webkit-transform 1s cubic-bezier(0.85, 0.3, 0.95, 0.7) 0.2s; transition: transform 1s cubic-bezier(0.85, 0.3, 0.95, 0.7) 0.2s; transition: transform 1s cubic-bezier(0.85, 0.3, 0.95, 0.7) 0.2s, -webkit-transform 1s cubic-bezier(0.85, 0.3, 0.95, 0.7) 0.2s;
}
figure.ava div.head:before, figure.ava div.head:after { -webkit-animation: ava-eyes 1.2s linear .2s forwards; animation: ava-eyes 1.2s linear .2s forwards;
}
figure.ava div.arms { -webkit-animation: ava-arms .5s ease-out .2s 2 alternate forwards; animation: ava-arms .5s ease-out .2s 2 alternate forwards;
}
figure.ava div.arm, figure.ava div.leg, figure.ava div.wand { -webkit-transform: rotate(2deg); transform: rotate(2deg); -webkit-transition: -webkit-transform 1s ease-in .2s; transition: -webkit-transform 1s ease-in .2s; transition: transform 1s ease-in .2s; transition: transform 1s ease-in .2s, -webkit-transform 1s ease-in .2s;
}
figure.ava div.leg { -webkit-transform: rotate(8deg); transform: rotate(8deg);
}
figure.ava div.wand { -webkit-transform: rotate(-174deg); transform: rotate(-174deg);
}
figure.ava div.legs { -webkit-animation: ava-legs .5s ease-out .2s 2 alternate forwards; animation: ava-legs .5s ease-out .2s 2 alternate forwards;
}
@-webkit-keyframes exp-eyes { 0% { -webkit-transform: scaleY(0); transform: scaleY(0); } 10% { -webkit-transform: scaleY(1) rotate(0); transform: scaleY(1) rotate(0); } 50% { -webkit-transform: scaleY(1) rotate(245deg); transform: scaleY(1) rotate(245deg); } 90% { border-radius: 50%; -webkit-transform: scaleY(1) rotate(245deg); transform: scaleY(1) rotate(245deg); } 100% { border-radius: 50% 50% 0 0; -webkit-transform: scaleY(0.4) rotate(180deg); transform: scaleY(0.4) rotate(180deg); }
}
@keyframes exp-eyes { 0% { -webkit-transform: scaleY(0); transform: scaleY(0); } 10% { -webkit-transform: scaleY(1) rotate(0); transform: scaleY(1) rotate(0); } 50% { -webkit-transform: scaleY(1) rotate(245deg); transform: scaleY(1) rotate(245deg); } 90% { border-radius: 50%; -webkit-transform: scaleY(1) rotate(245deg); transform: scaleY(1) rotate(245deg); } 100% { border-radius: 50% 50% 0 0; -webkit-transform: scaleY(0.4) rotate(180deg); transform: scaleY(0.4) rotate(180deg); }
}
@-webkit-keyframes exp-wand { 0% { bottom: 0; left: 0; -webkit-transform: rotate(-105deg); transform: rotate(-105deg); } 30% { bottom: 15em; left: -4em; -webkit-transform: rotate(1160deg); transform: rotate(1160deg); } 60% { bottom: 15em; left: .5em; -webkit-transform: rotate(0deg); transform: rotate(0deg); } 90% { bottom: -2.6em; left: 4em; -webkit-transform: rotate(1160deg); transform: rotate(1160deg); } 95% { bottom: -1.6em; left: 3.5em; -webkit-transform: rotate(620deg); transform: rotate(620deg); } 99.9% { bottom: -2.6em; left: 3em; opacity: 1; -webkit-transform: rotate(80deg); transform: rotate(80deg); } 100% { bottom: 0; left: 0; opacity: 0; -webkit-transform: rotate(90deg); transform: rotate(90deg); }
}
@keyframes exp-wand { 0% { bottom: 0; left: 0; -webkit-transform: rotate(-105deg); transform: rotate(-105deg); } 30% { bottom: 15em; left: -4em; -webkit-transform: rotate(1160deg); transform: rotate(1160deg); } 60% { bottom: 15em; left: .5em; -webkit-transform: rotate(0deg); transform: rotate(0deg); } 90% { bottom: -2.6em; left: 4em; -webkit-transform: rotate(1160deg); transform: rotate(1160deg); } 95% { bottom: -1.6em; left: 3.5em; -webkit-transform: rotate(620deg); transform: rotate(620deg); } 99.9% { bottom: -2.6em; left: 3em; opacity: 1; -webkit-transform: rotate(80deg); transform: rotate(80deg); } 100% { bottom: 0; left: 0; opacity: 0; -webkit-transform: rotate(90deg); transform: rotate(90deg); }
}
@-webkit-keyframes exp-r-wand { from { -webkit-transform: rotate(90deg); transform: rotate(90deg); } to { -webkit-transform: rotate(-105deg); transform: rotate(-105deg); }
}
@keyframes exp-r-wand { from { -webkit-transform: rotate(90deg); transform: rotate(90deg); } to { -webkit-transform: rotate(-105deg); transform: rotate(-105deg); }
}
@-webkit-keyframes stu-body { 0% { -webkit-transform: rotate(0) translateX(0) translateY(0); transform: rotate(0) translateX(0) translateY(0); } 10% { -webkit-transform: rotate(10deg) translateX(0) translateY(-1em); transform: rotate(10deg) translateX(0) translateY(-1em); } 30% { -webkit-transform: rotate(10deg) translateX(0) translateY(-1em); transform: rotate(10deg) translateX(0) translateY(-1em); } 40% { -webkit-transform: rotate(10deg) translateX(0) translateY(0); transform: rotate(10deg) translateX(0) translateY(0); } 52% { -webkit-transform: rotate(0deg) translateX(0) translateY(-0.6em); transform: rotate(0deg) translateX(0) translateY(-0.6em); } 62% { -webkit-transform: rotate(-7.5deg) translateX(0) translateY(0); transform: rotate(-7.5deg) translateX(0) translateY(0); } 72% { -webkit-transform: rotate(0deg) translateX(0) translateY(-0.3em); transform: rotate(0deg) translateX(0) translateY(-0.3em); } 80% { -webkit-transform: rotate(5deg) translateX(0) translateY(0); transform: rotate(5deg) translateX(0) translateY(0); } 88% { -webkit-transform: rotate(0deg) translateX(0) translateY(-0.1em); transform: rotate(0deg) translateX(0) translateY(-0.1em); } 94% { -webkit-transform: rotate(-2.5deg) translateX(0) translateY(0); transform: rotate(-2.5deg) translateX(0) translateY(0); } 100% { -webkit-transform: rotate(0) translateX(0) translateY(0); transform: rotate(0) translateX(0) translateY(0); }
}
@keyframes stu-body { 0% { -webkit-transform: rotate(0) translateX(0) translateY(0); transform: rotate(0) translateX(0) translateY(0); } 10% { -webkit-transform: rotate(10deg) translateX(0) translateY(-1em); transform: rotate(10deg) translateX(0) translateY(-1em); } 30% { -webkit-transform: rotate(10deg) translateX(0) translateY(-1em); transform: rotate(10deg) translateX(0) translateY(-1em); } 40% { -webkit-transform: rotate(10deg) translateX(0) translateY(0); transform: rotate(10deg) translateX(0) translateY(0); } 52% { -webkit-transform: rotate(0deg) translateX(0) translateY(-0.6em); transform: rotate(0deg) translateX(0) translateY(-0.6em); } 62% { -webkit-transform: rotate(-7.5deg) translateX(0) translateY(0); transform: rotate(-7.5deg) translateX(0) translateY(0); } 72% { -webkit-transform: rotate(0deg) translateX(0) translateY(-0.3em); transform: rotate(0deg) translateX(0) translateY(-0.3em); } 80% { -webkit-transform: rotate(5deg) translateX(0) translateY(0); transform: rotate(5deg) translateX(0) translateY(0); } 88% { -webkit-transform: rotate(0deg) translateX(0) translateY(-0.1em); transform: rotate(0deg) translateX(0) translateY(-0.1em); } 94% { -webkit-transform: rotate(-2.5deg) translateX(0) translateY(0); transform: rotate(-2.5deg) translateX(0) translateY(0); } 100% { -webkit-transform: rotate(0) translateX(0) translateY(0); transform: rotate(0) translateX(0) translateY(0); }
}
@-webkit-keyframes stu-eyes { from { box-shadow: 0 0 0 0.03em black, inset -0.01em 0 0 0.06em dodgerblue; } to { box-shadow: 0 0 0 0.03em black, inset 0 0 0 0.06em dodgerblue; }
}
@keyframes stu-eyes { from { box-shadow: 0 0 0 0.03em black, inset -0.01em 0 0 0.06em dodgerblue; } to { box-shadow: 0 0 0 0.03em black, inset 0 0 0 0.06em dodgerblue; }
}
@-webkit-keyframes ava-eyes { 0% { border-radius: 50%; box-shadow: 0 0 0 0.03em black, inset 0 0 0 0 dodgerblue, inset 0 0 0 0 dodgerblue, inset 0 0 0 0 dodgerblue, inset 0 0 0 0 dodgerblue, inset -0.01em 0 0 0.06em dodgerblue; -webkit-transform: scaleY(1); transform: scaleY(1); } 70% { border-radius: 50%; box-shadow: 0 0 0 0.03em black, inset 0 0 0 0 dodgerblue, inset 0 0 0 0 dodgerblue, inset 0 0 0 0 dodgerblue, inset 0 0 0 0 dodgerblue, inset -0.01em 0 0 0.06em dodgerblue; -webkit-transform: scaleY(0.1); transform: scaleY(0.1); } 70.01% { border-radius: 0; box-shadow: 0 0 0 0 black, inset 0 0 0 0 dodgerblue, inset 0 0 0 0 dodgerblue, inset 0 0 0 0 dodgerblue, inset 0 0 0 0 dodgerblue, inset -0.01em 0 0 0.06em dodgerblue; -webkit-transform: rotate(45deg) scaleX(0.1) scaleY(0.1); transform: rotate(45deg) scaleX(0.1) scaleY(0.1); } 100% { border-radius: 0; box-shadow: 0 0 0 0 black, 0.23em 0 0 0 black, 0 0.23em 0 0 black, -0.23em 0 0 0 black, 0 -0.23em 0 0 black; -webkit-transform: rotate(45deg) scaleX(0.4) scaleY(0.4); transform: rotate(45deg) scaleX(0.4) scaleY(0.4); }
}
@keyframes ava-eyes { 0% { border-radius: 50%; box-shadow: 0 0 0 0.03em black, inset 0 0 0 0 dodgerblue, inset 0 0 0 0 dodgerblue, inset 0 0 0 0 dodgerblue, inset 0 0 0 0 dodgerblue, inset -0.01em 0 0 0.06em dodgerblue; -webkit-transform: scaleY(1); transform: scaleY(1); } 70% { border-radius: 50%; box-shadow: 0 0 0 0.03em black, inset 0 0 0 0 dodgerblue, inset 0 0 0 0 dodgerblue, inset 0 0 0 0 dodgerblue, inset 0 0 0 0 dodgerblue, inset -0.01em 0 0 0.06em dodgerblue; -webkit-transform: scaleY(0.1); transform: scaleY(0.1); } 70.01% { border-radius: 0; box-shadow: 0 0 0 0 black, inset 0 0 0 0 dodgerblue, inset 0 0 0 0 dodgerblue, inset 0 0 0 0 dodgerblue, inset 0 0 0 0 dodgerblue, inset -0.01em 0 0 0.06em dodgerblue; -webkit-transform: rotate(45deg) scaleX(0.1) scaleY(0.1); transform: rotate(45deg) scaleX(0.1) scaleY(0.1); } 100% { border-radius: 0; box-shadow: 0 0 0 0 black, 0.23em 0 0 0 black, 0 0.23em 0 0 black, -0.23em 0 0 0 black, 0 -0.23em 0 0 black; -webkit-transform: rotate(45deg) scaleX(0.4) scaleY(0.4); transform: rotate(45deg) scaleX(0.4) scaleY(0.4); }
}
@-webkit-keyframes ava-arms { from { -webkit-transform: rotate(0deg); transform: rotate(0deg); } to { -webkit-transform: rotate(30deg); transform: rotate(30deg); }
}
@keyframes ava-arms { from { -webkit-transform: rotate(0deg); transform: rotate(0deg); } to { -webkit-transform: rotate(30deg); transform: rotate(30deg); }
}
@-webkit-keyframes ava-legs { from { -webkit-transform: rotate(0deg); transform: rotate(0deg); } to { -webkit-transform: rotate(20deg); transform: rotate(20deg); }
}
@keyframes ava-legs { from { -webkit-transform: rotate(0deg); transform: rotate(0deg); } to { -webkit-transform: rotate(20deg); transform: rotate(20deg); }
}
@-webkit-keyframes lev-body { from { -webkit-transform: rotate(10deg); transform: rotate(10deg); } to { -webkit-transform: rotate(-10deg); transform: rotate(-10deg); }
}
@keyframes lev-body { from { -webkit-transform: rotate(10deg); transform: rotate(10deg); } to { -webkit-transform: rotate(-10deg); transform: rotate(-10deg); }
}
@-webkit-keyframes lev-arms-left { from { -webkit-transform: rotate(-20deg); transform: rotate(-20deg); } to { -webkit-transform: rotate(20deg); transform: rotate(20deg); }
}
@keyframes lev-arms-left { from { -webkit-transform: rotate(-20deg); transform: rotate(-20deg); } to { -webkit-transform: rotate(20deg); transform: rotate(20deg); }
}
@-webkit-keyframes lev-arms-right { from { -webkit-transform: rotate(-40deg); transform: rotate(-40deg); } to { -webkit-transform: rotate(0deg); transform: rotate(0deg); }
}
@keyframes lev-arms-right { from { -webkit-transform: rotate(-40deg); transform: rotate(-40deg); } to { -webkit-transform: rotate(0deg); transform: rotate(0deg); }
}
@-webkit-keyframes lev-legs { from { -webkit-transform: rotate(10deg); transform: rotate(10deg); } to { -webkit-transform: rotate(40deg); transform: rotate(40deg); }
}
@keyframes lev-legs { from { -webkit-transform: rotate(10deg); transform: rotate(10deg); } to { -webkit-transform: rotate(40deg); transform: rotate(40deg); }
}
* * * Magic! * * * - Script Codes JS Codes
var $fig = $('figure'), buildPower;
var actions = { "expeliarmus": function() { $fig.addClass("exp"); setTimeout(function() { $fig.addClass("exp-bend"); setTimeout(function() { $fig.removeClass("exp-bend").addClass("exp-return"); setTimeout(function() { $fig.removeClass("exp exp-return"); }, 600); }, 600); }, 4000); }, "stupify": function() { $fig.addClass("stu"); setTimeout(function() { $fig.addClass("stu-return"); setTimeout(function() { $fig.removeClass("stu stu-return"); }, 500); }, 4000); }, "levicorpus": function() { $fig.addClass("lev"); setTimeout(function() { $fig.removeClass("lev"); }, 4000); }, "avada": function() { $fig.addClass("ava"); }
}
$('body') .on('mousedown', '.arena', function(e) { var $obj = $(this).find('.spell'), power = .05; $obj.addClass("build"); // get spell class from whatever it is you are using to set this... a drop down maybe??? var spellClass = $('input[name=spell]:checked').val(); $obj.addClass(spellClass); buildPower = setInterval(function() { power += .05; $obj.css({ fontSize: power + "em", opacity: power }); }, 100); }) .on('mouseup', '.arena', function(e) { var $obj = $(this).find('.spell'), spellClass = $('input[name=spell]:checked').val(); clearInterval(buildPower); $obj.addClass("travel"); spellAnimation($obj); actions[spellClass](); setTimeout(function() { $obj .removeClass("travel build expeliarmus stupify levicorpus avada") .css({ fontSize: .05 + "em", opacity: 0 }); }, 1500); })
;
function spellAnimation($spell) { var $victim = $spell.siblings('.opponent'), $origLeft = $spell.css("left"), $origTop = $spell.css("top"); $spell.animate({ left: $victim.offset().left + 300, top: $victim.offset().top + 100 }, 400, function() { setTimeout(function() { $spell.css({ left: $origLeft, top: $origTop }); }, 200); });
}
// original button controls
$('body') .on('click', '#exp', function(e) { e.preventDefault(); $fig.addClass("exp"); setTimeout(function() { $fig.addClass("exp-bend"); setTimeout(function() { $fig.removeClass("exp-bend").addClass("exp-return"); setTimeout(function() { $fig.removeClass("exp exp-return"); }, 1000); }, 1000); }, 4000); }) .on('click', '#stu', function(e) { e.preventDefault(); $fig.addClass("stu"); setTimeout(function() { $fig.addClass("stu-return"); setTimeout(function() { $fig.removeClass("stu stu-return"); }, 500); }, 4000); }) .on('click', '#lev', function(e) { e.preventDefault(); $fig.addClass("lev"); setTimeout(function() { $fig.removeClass("lev"); }, 4000); }) .on('click', '#ava', function(e) { e.preventDefault(); $fig.addClass("ava"); }) .on('click', '#reset', function(e) { e.preventDefault(); $fig.animate({opacity: 0}, 500); setTimeout(function() { $fig.removeClass("exp stu lev ava"); setTimeout(function() { $fig.animate({opacity: 1}, 500); }, 500); }, 500); })
;
Developer | Brandon Kennedy |
Username | brandonkennedy |
Uploaded | September 18, 2022 |
Rating | 3.5 |
Size | 9,415 Kb |
Views | 16,192 |
Find the perfect freelance services for your business! Fiverr's mission is to change how the world works together. Fiverr connects businesses with freelancers offering digital services in 500+ categories. Find Developer!
Name | Size |
Browser Detection | 3,803 Kb |
Crooked section dividers | 4,708 Kb |
CSS Only Banner Rotation | 3,959 Kb |
Digital Static Search Box | 4,148 Kb |
And yet another box shadow loader | 7,615 Kb |
Lazyload.js | 4,007 Kb |
Button disabled and loading states | 3,677 Kb |
SCSS Tick Marks Function | 3,630 Kb |
Slug loader | 3,481 Kb |
CSS Animated Search Box Concepts | 7,072 Kb |
Jasper is the AI Content Generator that helps you and your team break through creative blocks to create amazing, original content 10X faster. Discover all the ways the Jasper AI Content Platform can help streamline your creative workflows. Start For Free!
Name | Username | Size |
Parallax.js | Zmeeey5 | 2,330 Kb |
Scroll to view if element partially out of view port height | ChrisMaki | 2,104 Kb |
Click handler test | Snapson | 2,329 Kb |
Clock with full screen background | Owebboy | 2,415 Kb |
Basic HTML Slideshow | Tomhodgins | 3,386 Kb |
Velocity.js custom stagger | Tommiehansen | 4,805 Kb |
Pattern lab logo | TimPietrusky | 3,666 Kb |
JS Beispiel getElementsByClassName 3 | HSZG-Frontend-Kurs | 1,988 Kb |
Process Accordion | Devilskitchen | 31,432 Kb |
A Pen by Kevin | Kevinkenger | 2,642 Kb |
Surf anonymously, prevent hackers from acquiring your IP address, send anonymous email, and encrypt your Internet connection. High speed, ultra secure, and easy to use. Instant setup. Hide Your IP Now!