@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes spin-reverse{0%{transform:rotate(360deg)}to{transform:rotate(0)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.2)}}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-10px)}60%{transform:translateY(-5px)}}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-5px)}20%,40%,60%,80%{transform:translate(5px)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideOut{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-20px)}}.spin{animation-name:spin;animation-timing-function:linear;animation-iteration-count:infinite}.spin-reverse{animation-name:spin-reverse;animation-timing-function:linear;animation-iteration-count:infinite}.pulse{animation-name:pulse;animation-timing-function:ease-in-out;animation-iteration-count:infinite}.bounce{animation-name:bounce;animation-timing-function:ease-in-out}.shake{animation-name:shake;animation-timing-function:ease-in-out}.fade-in{animation-name:fadeIn;animation-timing-function:ease-in-out}.fade-out{animation-name:fadeOut;animation-timing-function:ease-in-out}.slide-in{animation-name:slideIn;animation-timing-function:ease-in-out}.slide-out{animation-name:slideOut;animation-timing-function:ease-in-out}
