* { box-sizing: border-box; margin: 0; padding: 0; } body { font-family: sans-serif; } .particles { background: rgba(102, 51, 153, 0.1); box-shadow: 2px 2px 0 #aaa; height: 600px; margin: 10px auto; position: relative; width: 600px; } .palette { background: url(../res/palette.svg); background-size: 167px 100px; height: 100px; position: absolute; width: 167px; } .highlight { animation: pulse 0.5s 1; border-radius: 15px; position: absolute; } @keyframes pulse { from { border: 4px solid lightgreen; height: 30px; margin: -15px 0 0 -15px; width: 30px; } to { height: 0px; margin: 0; width: 0px; } } .anim2-particle { background: url(../res/seahorse.svg) no-repeat center center; background-size: 20px 20px; border-color: salmon; border-style: dashed; border-radius: 50px; border-width: 1px; height: 100px; position: absolute; width: 100px; } .anim3-particle { background: url(../res/seahorse.svg) no-repeat center center #aaa; background-size: 20px 20px; border-radius: 10px; color: #fff; height: 20px; line-height: 20px; margin: -10px 0 0 -10px; position: absolute; text-align: center; width: 20px; z-index: 1; } .anim3-particle::after { border: 50px solid; border-color: lightgreen transparent transparent turquoise; border-radius: 50px; content: ' '; height: 0; left: -50px; margin: 10px 0 0 10px; opacity: 0.5; position: absolute; transform: rotate(45deg); top: -50px; width: 0; } .anim3-movement-circle { border: 2px dotted darkturquoise; position: absolute; transition: left 0.2s, top 0.2s, height 0.2s, width 0.2s; z-index: 0; } .anim3-movement-circle:after { background: darkturquoise; border-radius: 2px; content: ' '; height: 4px; left: 50%; margin-left: -2px; margin-top: -2px; position: absolute; top: 50%; width: 4px; } .anim3-vision-grid { height: 100px; position: absolute; transform-origin: left top; width: 100px; z-index: 99; } .anim3-dot { background: red; height: 2px; position: absolute; width: 2px; z-index: 99; } .anim3-dot.removed { background: yellow; } .anim3-particle { background: url(../res/seahorse.svg) no-repeat center top #aaa; background-size: 20px 20px; border-color: purple; color: #fff; border-radius: 10px; height: 20px; line-height: 20px; position: absolute; text-align: center; width: 20px; } .anim3-particle.scared { background: #f00; }