1. @keyframes fade-in {
    2. from {
    3. opacity: 0;
    4. }
    5. to {
    6. opacity: 1;
    7. }
    8. }
    9. @keyframes fade-out {
    10. from {
    11. opacity: 1;
    12. }
    13. to {
    14. opacity: 0;
    15. }
    16. }
    17. @keyframes fadeInDown {
    18. 0% {
    19. opacity: 0;
    20. transform: translate3d(0, -100%, 0);
    21. }
    22. 100% {
    23. opacity: 1;
    24. transform: none;
    25. }
    26. }
    27. @keyframes fadeOutDown {
    28. 0% {
    29. opacity: 1;
    30. }
    31. 100% {
    32. opacity: 0;
    33. transform: translate3d(0, 100%, 0);
    34. }
    35. }
    36. @keyframes fadeInUp {
    37. 0% {
    38. opacity: 0;
    39. transform: translate3d(0, 100%, 0);
    40. }
    41. 100% {
    42. opacity: 1;
    43. transform: none;
    44. }
    45. }
    46. @keyframes fadeOutUp {
    47. 0% {
    48. opacity: 1;
    49. }
    50. 100% {
    51. opacity: 0;
    52. transform: translate3d(0, -100%, 0);
    53. }
    54. }
    55. @keyframes fadeInLeft {
    56. 0% {
    57. opacity: 0;
    58. transform: translate3d(-100%, 0, 0);
    59. }
    60. 100% {
    61. opacity: 1;
    62. transform: none;
    63. }
    64. }
    65. @keyframes fadeOutLeft {
    66. 0% {
    67. opacity: 1
    68. }
    69. 100% {
    70. opacity: 0;
    71. transform: translate3d(-100%, 0, 0);
    72. }
    73. }
    74. @keyframes fadeInRight {
    75. 0% {
    76. opacity: 0;
    77. transform: translate3d(100%, 0, 0);
    78. }
    79. 100% {
    80. opacity: 1;
    81. transform: none;
    82. }
    83. }
    84. @keyframes fadeOutRight {
    85. 0% {
    86. opacity: 1;
    87. }
    88. 100% {
    89. opacity: 0;
    90. transform: translate3d(100%, 0, 0);
    91. }
    92. }
    93. @keyframes rollIn {
    94. 0% {
    95. opacity: 0;
    96. transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
    97. }
    98. 100% {
    99. opacity: 1;
    100. transform: none;
    101. }
    102. }
    103. @keyframes rotate {
    104. from {
    105. transform: rotate(0deg);
    106. }
    107. to {
    108. transform: rotate(360deg);
    109. }
    110. }
    111. @keyframes bounce {
    112. 0%, 100%, 20%, 53%, 80% {
    113. transition-timing-function: cubic-bezier(0.215, .61, .355, 1);
    114. transform: translate3d(0, 0, 0);
    115. }
    116. 40%,
    117. 43% {
    118. transition-timing-function: cubic-bezier(0.755, .050, .855, .060);
    119. transform: translate3d(0, -30px, 0);
    120. }
    121. 70% {
    122. transition-timing-function: cubic-bezier(0.755, .050, .855, .060);
    123. transform: translate3d(0, -15px, 0);
    124. }
    125. 90% {
    126. transform: translate3d(0, -4px, 0);
    127. }
    128. }
    129. .bounce {
    130. animation-name: bounce;
    131. transform-origin: center bottom;
    132. }
    133. @keyframes pulse {
    134. 0% {
    135. transform: scale3d(1, 1, 1);
    136. }
    137. 50% {
    138. transform: scale3d(1.05, 1.05, 1.05);
    139. }
    140. 100% {
    141. transform: scale3d(1, 1, 1);
    142. }
    143. }
    144. @keyframes rubberBand {
    145. 0% {
    146. transform: scale3d(1, 1, 1);
    147. }
    148. 30% {
    149. transform: scale3d(1.25, .75, 1);
    150. }
    151. 40% {
    152. transform: scale3d(0.75, 1.25, 1);
    153. }
    154. 50% {
    155. transform: scale3d(1.15, .85, 1);
    156. }
    157. 65% {
    158. transform: scale3d(.95, 1.05, 1);
    159. }
    160. 75% {
    161. transform: scale3d(1.05, .95, 1);
    162. }
    163. 100% {
    164. transform: scale3d(1, 1, 1);
    165. }
    166. }
    167. @keyframes shake {
    168. 0%, 100% {
    169. transform: translate3d(0, 0, 0);
    170. }
    171. 10%,
    172. 30%,
    173. 50%,
    174. 70%,
    175. 90% {
    176. transform: translate3d(-10px, 0, 0);
    177. }
    178. 20%,
    179. 40%,
    180. 60%,
    181. 80% {
    182. transform: translate3d(10px, 0, 0);
    183. }
    184. }
    185. @keyframes swing {
    186. 20% {
    187. transform: rotate3d(0, 0, 1, 15deg);
    188. }
    189. 40% {
    190. transform: rotate3d(0, 0, 1, -10deg);
    191. }
    192. 60% {
    193. transform: rotate3d(0, 0, 1, 5deg);
    194. }
    195. 80% {
    196. transform: rotate3d(0, 0, 1, -5deg);
    197. }
    198. 100% {
    199. transform: rotate3d(0, 0, 1, 0deg);
    200. }
    201. }
    202. @keyframes tada {
    203. 0% {
    204. transform: scale3d(1, 1, 1);
    205. }
    206. 10%,
    207. 20% {
    208. transform: scale3d(.9, .9, .9) rotate3d(0, 0, 1, -3deg);
    209. }
    210. 30%,
    211. 50%,
    212. 70%,
    213. 90% {
    214. transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
    215. }
    216. 40%,
    217. 60%,
    218. 80% {
    219. transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
    220. }
    221. 100% {
    222. transform: scale3d(1, 1, 1);
    223. }
    224. }
    225. @keyframes bounceIn {
    226. 0%, 100%, 20%, 40%, 60%, 80% {
    227. transition-timing-function: cubic-bezier(0.215, .61, .355, 1);
    228. }
    229. 0% {
    230. opacity: 0;
    231. transform: scale3d(.3, .3, .3);
    232. }
    233. 20% {
    234. transform: scale3d(1.1, 1.1, 1.1);
    235. }
    236. 40% {
    237. transform: scale3d(.9, .9, .9);
    238. }
    239. 60% {
    240. opacity: 1;
    241. transform: scale3d(1.03, 1.03, 1.03);
    242. }
    243. 80% {
    244. transform: scale3d(.97, .97, .97);
    245. }
    246. 100% {
    247. opacity: 1;
    248. transform: scale3d(1, 1, 1);
    249. }
    250. }
    251. @keyframes bounceOut {
    252. 20% {
    253. transform: scale3d(.9, .9, .9);
    254. }
    255. 50%,
    256. 55% {
    257. opacity: 1;
    258. transform: scale3d(1.1, 1.1, 1.1);
    259. }
    260. 100% {
    261. transform: scale3d(.3, .3, .3);
    262. }
    263. }
    264. @keyframes bounceInDown {
    265. 0%, 100%, 60%, 75%, 90% {
    266. transition-timing-function: cubic-bezier(0.215, .61, .355, 1);
    267. }
    268. 0% {
    269. opacity: 0;
    270. transform: translate3d(0, -100%, 0);
    271. }
    272. 60% {
    273. opacity: 1;
    274. transform: translate3d(0, 25px, 0);
    275. }
    276. 75% {
    277. transform: translate3d(0, -10px, 0);
    278. }
    279. 90% {
    280. transform: translate3d(0, 5px, 0);
    281. }
    282. 100% {
    283. transform: none;
    284. }
    285. }
    286. @keyframes bounceOutDown {
    287. 20% {
    288. transform: translate3d(0, 10px, 0);
    289. }
    290. 40%,
    291. 45% {
    292. opacity: 1;
    293. transform: translate3d(0, -20px, 0);
    294. }
    295. 100% {
    296. opacity: 0;
    297. transform: translate3d(0, 100%, 0);
    298. }
    299. }
    300. @keyframes zoomIn {
    301. 0% {
    302. opacity: 0;
    303. transform: scale3d(.3, .3, .3);
    304. }
    305. 50% {
    306. opacity: 1;
    307. }
    308. }
    309. @keyframes zoomOut {
    310. 0% {
    311. opacity: 1;
    312. }
    313. 50% {
    314. opacity: 0;
    315. transform: scale3d(.3, .3, .3);
    316. }
    317. 100% {
    318. opacity: 0;
    319. }
    320. }
    321. @keyframes zoomInDown {
    322. 0% {
    323. opacity: 0;
    324. transform: scale3d(.2, .2, .2) translate3d(0, -1000px, 0);
    325. animation-timing-function: cubic-bezier(0.55, .055, .675, .19);
    326. }
    327. 60% {
    328. opacity: 1;
    329. transform: scale3d(.5, .5, .5) translate3d(0, 60px, 0);
    330. animation-timing-function: cubic-bezier(0.175, .885, .32, 1);
    331. }
    332. }
    333. @keyframes zoomOutDown {
    334. 40% {
    335. opacity: 1;
    336. transform: scale3d(.5, .5, .5) translate3d(0, 60px, 0);
    337. animation-timing-function: cubic-bezier(0.55, .055, .675, .19);
    338. }
    339. 100% {
    340. opacity: 0;
    341. transform: scale3d(.2, .2, .2) translate3d(0, 2000px, 0);
    342. transform-origin: center bottom;
    343. animation-timing-function: cubic-bezier(0.175, .885, .32, 1);
    344. }
    345. }