.emotewrapper { position: relative; display: inline-flex; object-fit: contain; margin: -0.1em 0.05em -0.2em 0.1em; vertical-align: top; } .emotewrapper.jumboable { margin-bottom: 0; margin-top: 0.2em; vertical-align: -0.3em; } .emote { height: 1.45em; } .emote.jumboable { height: 2rem; } .fav { display: none; position: absolute; width: 15px; height: 15px; right: -7px; background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAzFBMVEUAAABQUFBMTExLS0tNTU1MTExNTU1NTU1MTExMTExNTU1LS0tEREBEREBEREBEREBJSUhLS0tLS0tEREBNTU1NTU1NTU1EREArKyhNTU1NTU0AAABMTExKSklMTExNTU1NTU1NTU1KSkpMTExKSkhNTU1KSkpISEZNTU1LS0tAQDxOTk5KSkpLS0tNTU1MTExMTEx/f39MTExMTExLS0pLS0tMTExNTU1NTU1LS0pNTU1NTU1NTU1NTU1NTU1NTUxNTU1NTU1NTUxMTEzB8C/5AAAAOnRSTlMAI8X96oWAgYSF68QBAg0PMCb9BIuLgQUD4N0Bh0mKhZSOQ4gcrKscaW8QRE6fmJyjAshASceG7cIpqQOxTQAAALVJREFUGFddx6FOA0EYAOGZvd07Qm6vVCAAgUUgQEDfX/YZMAigqaFN7iC5tsmPqGPUN/AvUVeoEbGOCElJz08Uzeixqu4AqomVVSNngOVjTqDGZSl3UFtPGV2ot2zaq96YM9p5Ddzcf/nTTAlj+/sNtNu8OcwkIsbPBtrUfMQeEhGQmHbmGIFMwLPzu6UMIwBNgToshgq8Nr2ki+Oy7ebDHp70LRPWB6OZgfWLWei7fJonOOsPCGA9kVlssOoAAAAASUVORK5CYII="); border: none; background-size: 100% 100%; background-repeat: no-repeat; background-color: #303030; border-radius: 5px; top: -7px; cursor: pointer; } .fav.active { background-color: yellow; } .emotewrapper:hover .fav { display: block; } .emote.stop-animation { animation: none; } .emoteflip, .emotespinflip { transform: scaleX(-1); } .emotespin { animation: 1s emote-spin infinite linear; } .emote1spin { animation: 1s emote-spin-reverse infinite linear; } .emotespin2 { animation: 0.5s emote-spin infinite linear; } .emote2spin { animation: 0.5s emote-spin-reverse infinite linear; } .emotespin3 { animation: 0.2s emote-spin infinite linear; } .emote3spin { animation: 0.2s emote-spin-reverse infinite linear; } .emotepulse { animation: 1s emote-pulse infinite linear; } .emotetr { transform: translateX(-3px); } .emotebl { transform: translateY(-3px); } .emotebr { transform: translate(-3px, -3px); } .emoteshake { animation: 1s emote-shake infinite linear; } .emoteflap { transform: scaleY(-1); } .emoteshake2 { animation: emote-shake2 0.3s linear infinite; } .emoteshake3 { animation: emote-shake3 0.1s linear infinite; } @keyframes emote-shake2 { 25% { transform: translate(-1px, -1px); } 50% { transform: translate(-1px, 1px); } 75% { transform: translate(1px, 1px); } 75% { transform: translate(1px, -1px); } } @keyframes emote-shake3 { 25% { transform: translate(-1px, -1px); } 50% { transform: translate(-1px, 1px); } 75% { transform: translate(1px, 1px); } 75% { transform: translate(1px, -1px); } } @keyframes emote-spin { from { transform: rotate(0deg); } to { transform: rotate(360deg); } } @keyframes emote-spin-reverse { from { transform: rotate(0deg); } to { transform: rotate(-360deg); } } @keyframes emote-pulse { 0% { -webkit-transform: scale(1, 1); } 50% { -webkit-transform: scale(1.2, 1.2); } 100% { -webkit-transform: scale(1, 1); } } @keyframes emote-shake { 10%, 90% { transform: translate3d(-1px, 0, 0); } 20%, 80% { transform: translate3d(2px, 0, 0); } 30%, 50%, 70% { transform: translate3d(-4px, 0, 0); } 40%, 60% { transform: translate3d(4px, 0, 0); } }