kibana-sinatra 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (239) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +18 -0
  3. data/Gemfile +4 -0
  4. data/LICENSE.txt +22 -0
  5. data/README.md +29 -0
  6. data/Rakefile +1 -0
  7. data/kibana-sinatra.gemspec +24 -0
  8. data/lib/kibana/assets/app/app.js +140 -0
  9. data/lib/kibana/assets/app/components/extend-jquery.js +46 -0
  10. data/lib/kibana/assets/app/components/kbn.js +332 -0
  11. data/lib/kibana/assets/app/components/require.config.js +90 -0
  12. data/lib/kibana/assets/app/components/settings.js +27 -0
  13. data/lib/kibana/assets/app/components/underscore.extended.js +32 -0
  14. data/lib/kibana/assets/app/controllers/all.js +5 -0
  15. data/lib/kibana/assets/app/controllers/dash.js +91 -0
  16. data/lib/kibana/assets/app/controllers/dashLoader.js +123 -0
  17. data/lib/kibana/assets/app/controllers/row.js +76 -0
  18. data/lib/kibana/assets/app/dashboards/blank.json +42 -0
  19. data/lib/kibana/assets/app/dashboards/default.json +89 -0
  20. data/lib/kibana/assets/app/dashboards/guided.json +274 -0
  21. data/lib/kibana/assets/app/dashboards/logstash.js +181 -0
  22. data/lib/kibana/assets/app/dashboards/logstash.json +222 -0
  23. data/lib/kibana/assets/app/dashboards/noted.json +202 -0
  24. data/lib/kibana/assets/app/directives/addPanel.js +30 -0
  25. data/lib/kibana/assets/app/directives/all.js +10 -0
  26. data/lib/kibana/assets/app/directives/arrayJoin.js +34 -0
  27. data/lib/kibana/assets/app/directives/confirmClick.js +26 -0
  28. data/lib/kibana/assets/app/directives/dashUpload.js +37 -0
  29. data/lib/kibana/assets/app/directives/kibanaPanel.js +103 -0
  30. data/lib/kibana/assets/app/directives/ngBlur.js +20 -0
  31. data/lib/kibana/assets/app/directives/ngModelOnBlur.js +25 -0
  32. data/lib/kibana/assets/app/directives/tip.js +20 -0
  33. data/lib/kibana/assets/app/filters/all.js +110 -0
  34. data/lib/kibana/assets/app/panels/bettermap/editor.html +17 -0
  35. data/lib/kibana/assets/app/panels/bettermap/leaflet/images/layers-2x.png +0 -0
  36. data/lib/kibana/assets/app/panels/bettermap/leaflet/images/layers.png +0 -0
  37. data/lib/kibana/assets/app/panels/bettermap/leaflet/images/marker-icon-2x.png +0 -0
  38. data/lib/kibana/assets/app/panels/bettermap/leaflet/images/marker-icon.png +0 -0
  39. data/lib/kibana/assets/app/panels/bettermap/leaflet/images/marker-shadow.png +0 -0
  40. data/lib/kibana/assets/app/panels/bettermap/leaflet/leaflet-src.js +8724 -0
  41. data/lib/kibana/assets/app/panels/bettermap/leaflet/leaflet.css +463 -0
  42. data/lib/kibana/assets/app/panels/bettermap/leaflet/leaflet.ie.css +51 -0
  43. data/lib/kibana/assets/app/panels/bettermap/leaflet/leaflet.js +8 -0
  44. data/lib/kibana/assets/app/panels/bettermap/leaflet/plugins.css +75 -0
  45. data/lib/kibana/assets/app/panels/bettermap/leaflet/plugins.js +16 -0
  46. data/lib/kibana/assets/app/panels/bettermap/module.css +4 -0
  47. data/lib/kibana/assets/app/panels/bettermap/module.html +6 -0
  48. data/lib/kibana/assets/app/panels/bettermap/module.js +232 -0
  49. data/lib/kibana/assets/app/panels/column/editor.html +36 -0
  50. data/lib/kibana/assets/app/panels/column/module.html +16 -0
  51. data/lib/kibana/assets/app/panels/column/module.js +105 -0
  52. data/lib/kibana/assets/app/panels/column/panelgeneral.html +11 -0
  53. data/lib/kibana/assets/app/panels/dashcontrol/editor.html +44 -0
  54. data/lib/kibana/assets/app/panels/dashcontrol/load.html +40 -0
  55. data/lib/kibana/assets/app/panels/dashcontrol/module.html +6 -0
  56. data/lib/kibana/assets/app/panels/dashcontrol/module.js +198 -0
  57. data/lib/kibana/assets/app/panels/dashcontrol/save.html +30 -0
  58. data/lib/kibana/assets/app/panels/dashcontrol/share.html +11 -0
  59. data/lib/kibana/assets/app/panels/derivequeries/editor.html +23 -0
  60. data/lib/kibana/assets/app/panels/derivequeries/module.html +33 -0
  61. data/lib/kibana/assets/app/panels/derivequeries/module.js +160 -0
  62. data/lib/kibana/assets/app/panels/fields/editor.html +10 -0
  63. data/lib/kibana/assets/app/panels/fields/micropanel.html +25 -0
  64. data/lib/kibana/assets/app/panels/fields/module.html +3 -0
  65. data/lib/kibana/assets/app/panels/fields/module.js +37 -0
  66. data/lib/kibana/assets/app/panels/filtering/editor.html +7 -0
  67. data/lib/kibana/assets/app/panels/filtering/meta.html +15 -0
  68. data/lib/kibana/assets/app/panels/filtering/module.html +78 -0
  69. data/lib/kibana/assets/app/panels/filtering/module.js +66 -0
  70. data/lib/kibana/assets/app/panels/histogram/editor.html +74 -0
  71. data/lib/kibana/assets/app/panels/histogram/interval.js +57 -0
  72. data/lib/kibana/assets/app/panels/histogram/module.html +91 -0
  73. data/lib/kibana/assets/app/panels/histogram/module.js +511 -0
  74. data/lib/kibana/assets/app/panels/histogram/timeSeries.js +179 -0
  75. data/lib/kibana/assets/app/panels/hits/editor.html +29 -0
  76. data/lib/kibana/assets/app/panels/hits/module.html +44 -0
  77. data/lib/kibana/assets/app/panels/hits/module.js +270 -0
  78. data/lib/kibana/assets/app/panels/map/editor.html +15 -0
  79. data/lib/kibana/assets/app/panels/map/lib/jquery.jvectormap.min.js +8 -0
  80. data/lib/kibana/assets/app/panels/map/lib/map.europe.js +1 -0
  81. data/lib/kibana/assets/app/panels/map/lib/map.usa.js +1 -0
  82. data/lib/kibana/assets/app/panels/map/lib/map.world.js +1 -0
  83. data/lib/kibana/assets/app/panels/map/module.html +63 -0
  84. data/lib/kibana/assets/app/panels/map/module.js +185 -0
  85. data/lib/kibana/assets/app/panels/pie/editor.html +49 -0
  86. data/lib/kibana/assets/app/panels/pie/module.html +12 -0
  87. data/lib/kibana/assets/app/panels/pie/module.js +297 -0
  88. data/lib/kibana/assets/app/panels/query/editor.html +7 -0
  89. data/lib/kibana/assets/app/panels/query/meta.html +21 -0
  90. data/lib/kibana/assets/app/panels/query/module.html +25 -0
  91. data/lib/kibana/assets/app/panels/query/module.js +69 -0
  92. data/lib/kibana/assets/app/panels/query/query.css +39 -0
  93. data/lib/kibana/assets/app/panels/table/editor.html +48 -0
  94. data/lib/kibana/assets/app/panels/table/micropanel.html +44 -0
  95. data/lib/kibana/assets/app/panels/table/module.html +104 -0
  96. data/lib/kibana/assets/app/panels/table/module.js +389 -0
  97. data/lib/kibana/assets/app/panels/table/pagination.html +27 -0
  98. data/lib/kibana/assets/app/panels/terms/editor.html +51 -0
  99. data/lib/kibana/assets/app/panels/terms/module.html +55 -0
  100. data/lib/kibana/assets/app/panels/terms/module.js +307 -0
  101. data/lib/kibana/assets/app/panels/text/editor.html +16 -0
  102. data/lib/kibana/assets/app/panels/text/lib/showdown.js +1454 -0
  103. data/lib/kibana/assets/app/panels/text/module.html +10 -0
  104. data/lib/kibana/assets/app/panels/text/module.js +85 -0
  105. data/lib/kibana/assets/app/panels/timepicker/editor.html +34 -0
  106. data/lib/kibana/assets/app/panels/timepicker/module.html +73 -0
  107. data/lib/kibana/assets/app/panels/timepicker/module.js +268 -0
  108. data/lib/kibana/assets/app/panels/timepicker/refreshctrl.html +5 -0
  109. data/lib/kibana/assets/app/panels/trends/editor.html +20 -0
  110. data/lib/kibana/assets/app/panels/trends/module.html +11 -0
  111. data/lib/kibana/assets/app/panels/trends/module.js +232 -0
  112. data/lib/kibana/assets/app/partials/dashLoader.html +78 -0
  113. data/lib/kibana/assets/app/partials/dashLoaderShare.html +11 -0
  114. data/lib/kibana/assets/app/partials/dashboard.html +77 -0
  115. data/lib/kibana/assets/app/partials/dasheditor.html +151 -0
  116. data/lib/kibana/assets/app/partials/inspector.html +15 -0
  117. data/lib/kibana/assets/app/partials/load.html +4 -0
  118. data/lib/kibana/assets/app/partials/modal.html +12 -0
  119. data/lib/kibana/assets/app/partials/paneladd.html +6 -0
  120. data/lib/kibana/assets/app/partials/paneleditor.html +23 -0
  121. data/lib/kibana/assets/app/partials/panelgeneral.html +22 -0
  122. data/lib/kibana/assets/app/partials/querySelect.html +24 -0
  123. data/lib/kibana/assets/app/partials/roweditor.html +65 -0
  124. data/lib/kibana/assets/app/services/alertSrv.js +49 -0
  125. data/lib/kibana/assets/app/services/all.js +11 -0
  126. data/lib/kibana/assets/app/services/dashboard.js +417 -0
  127. data/lib/kibana/assets/app/services/fields.js +96 -0
  128. data/lib/kibana/assets/app/services/filterSrv.js +200 -0
  129. data/lib/kibana/assets/app/services/kbnIndex.js +101 -0
  130. data/lib/kibana/assets/app/services/panelMove.js +83 -0
  131. data/lib/kibana/assets/app/services/querySrv.js +147 -0
  132. data/lib/kibana/assets/app/services/timer.js +34 -0
  133. data/lib/kibana/assets/css/animate.min.css +3270 -0
  134. data/lib/kibana/assets/css/bootstrap-responsive.min.css +9 -0
  135. data/lib/kibana/assets/css/bootstrap.dark.min.css +9 -0
  136. data/lib/kibana/assets/css/bootstrap.light.min.css +9 -0
  137. data/lib/kibana/assets/css/font-awesome.min.css +403 -0
  138. data/lib/kibana/assets/css/main.css +193 -0
  139. data/lib/kibana/assets/css/normalize.min.css +1 -0
  140. data/lib/kibana/assets/css/timepicker.css +423 -0
  141. data/lib/kibana/assets/font/FontAwesome.otf +0 -0
  142. data/lib/kibana/assets/font/fontawesome-webfont.eot +0 -0
  143. data/lib/kibana/assets/font/fontawesome-webfont.svg +399 -0
  144. data/lib/kibana/assets/font/fontawesome-webfont.ttf +0 -0
  145. data/lib/kibana/assets/font/fontawesome-webfont.woff +0 -0
  146. data/lib/kibana/assets/img/glyphicons-halflings-white.png +0 -0
  147. data/lib/kibana/assets/img/glyphicons-halflings.png +0 -0
  148. data/lib/kibana/assets/img/kibana.png +0 -0
  149. data/lib/kibana/assets/img/load.gif +0 -0
  150. data/lib/kibana/assets/img/load_big.gif +0 -0
  151. data/lib/kibana/assets/index.html +49 -0
  152. data/lib/kibana/assets/vendor/angular/angular-dragdrop.js +304 -0
  153. data/lib/kibana/assets/vendor/angular/angular-sanitize.js +556 -0
  154. data/lib/kibana/assets/vendor/angular/angular-strap.js +875 -0
  155. data/lib/kibana/assets/vendor/angular/angular.js +15158 -0
  156. data/lib/kibana/assets/vendor/angular/datepicker.js +1046 -0
  157. data/lib/kibana/assets/vendor/angular/timepicker.js +888 -0
  158. data/lib/kibana/assets/vendor/bootstrap/bootstrap.js +2280 -0
  159. data/lib/kibana/assets/vendor/bootstrap/less/accordion.less +34 -0
  160. data/lib/kibana/assets/vendor/bootstrap/less/alerts.less +79 -0
  161. data/lib/kibana/assets/vendor/bootstrap/less/bootstrap.dark.less +4 -0
  162. data/lib/kibana/assets/vendor/bootstrap/less/bootstrap.less +63 -0
  163. data/lib/kibana/assets/vendor/bootstrap/less/bootstrap.light.less +4 -0
  164. data/lib/kibana/assets/vendor/bootstrap/less/bootswatch.dark.less +554 -0
  165. data/lib/kibana/assets/vendor/bootstrap/less/bootswatch.light.less +9 -0
  166. data/lib/kibana/assets/vendor/bootstrap/less/breadcrumbs.less +24 -0
  167. data/lib/kibana/assets/vendor/bootstrap/less/button-groups.less +229 -0
  168. data/lib/kibana/assets/vendor/bootstrap/less/buttons.less +228 -0
  169. data/lib/kibana/assets/vendor/bootstrap/less/carousel.less +158 -0
  170. data/lib/kibana/assets/vendor/bootstrap/less/close.less +32 -0
  171. data/lib/kibana/assets/vendor/bootstrap/less/code.less +61 -0
  172. data/lib/kibana/assets/vendor/bootstrap/less/component-animations.less +22 -0
  173. data/lib/kibana/assets/vendor/bootstrap/less/dropdowns.less +248 -0
  174. data/lib/kibana/assets/vendor/bootstrap/less/forms.less +690 -0
  175. data/lib/kibana/assets/vendor/bootstrap/less/grid.less +21 -0
  176. data/lib/kibana/assets/vendor/bootstrap/less/hero-unit.less +25 -0
  177. data/lib/kibana/assets/vendor/bootstrap/less/labels-badges.less +84 -0
  178. data/lib/kibana/assets/vendor/bootstrap/less/layouts.less +16 -0
  179. data/lib/kibana/assets/vendor/bootstrap/less/media.less +55 -0
  180. data/lib/kibana/assets/vendor/bootstrap/less/mixins.less +702 -0
  181. data/lib/kibana/assets/vendor/bootstrap/less/modals.less +95 -0
  182. data/lib/kibana/assets/vendor/bootstrap/less/navbar.less +497 -0
  183. data/lib/kibana/assets/vendor/bootstrap/less/navs.less +409 -0
  184. data/lib/kibana/assets/vendor/bootstrap/less/overrides.less +237 -0
  185. data/lib/kibana/assets/vendor/bootstrap/less/pager.less +43 -0
  186. data/lib/kibana/assets/vendor/bootstrap/less/pagination.less +123 -0
  187. data/lib/kibana/assets/vendor/bootstrap/less/popovers.less +133 -0
  188. data/lib/kibana/assets/vendor/bootstrap/less/progress-bars.less +122 -0
  189. data/lib/kibana/assets/vendor/bootstrap/less/reset.less +216 -0
  190. data/lib/kibana/assets/vendor/bootstrap/less/responsive-1200px-min.less +28 -0
  191. data/lib/kibana/assets/vendor/bootstrap/less/responsive-767px-max.less +193 -0
  192. data/lib/kibana/assets/vendor/bootstrap/less/responsive-768px-979px.less +19 -0
  193. data/lib/kibana/assets/vendor/bootstrap/less/responsive-navbar.less +189 -0
  194. data/lib/kibana/assets/vendor/bootstrap/less/responsive-utilities.less +59 -0
  195. data/lib/kibana/assets/vendor/bootstrap/less/responsive.less +48 -0
  196. data/lib/kibana/assets/vendor/bootstrap/less/scaffolding.less +53 -0
  197. data/lib/kibana/assets/vendor/bootstrap/less/sprites.less +197 -0
  198. data/lib/kibana/assets/vendor/bootstrap/less/tables.less +244 -0
  199. data/lib/kibana/assets/vendor/bootstrap/less/tests/buttons.html +139 -0
  200. data/lib/kibana/assets/vendor/bootstrap/less/tests/css-tests.css +150 -0
  201. data/lib/kibana/assets/vendor/bootstrap/less/tests/css-tests.html +1399 -0
  202. data/lib/kibana/assets/vendor/bootstrap/less/tests/forms-responsive.html +71 -0
  203. data/lib/kibana/assets/vendor/bootstrap/less/tests/forms.html +179 -0
  204. data/lib/kibana/assets/vendor/bootstrap/less/tests/navbar-fixed-top.html +104 -0
  205. data/lib/kibana/assets/vendor/bootstrap/less/tests/navbar-static-top.html +107 -0
  206. data/lib/kibana/assets/vendor/bootstrap/less/tests/navbar.html +107 -0
  207. data/lib/kibana/assets/vendor/bootstrap/less/thumbnails.less +53 -0
  208. data/lib/kibana/assets/vendor/bootstrap/less/tooltip.less +70 -0
  209. data/lib/kibana/assets/vendor/bootstrap/less/type.less +247 -0
  210. data/lib/kibana/assets/vendor/bootstrap/less/utilities.less +30 -0
  211. data/lib/kibana/assets/vendor/bootstrap/less/variables.dark.less +304 -0
  212. data/lib/kibana/assets/vendor/bootstrap/less/variables.less +301 -0
  213. data/lib/kibana/assets/vendor/bootstrap/less/variables.light.less +301 -0
  214. data/lib/kibana/assets/vendor/bootstrap/less/wells.less +29 -0
  215. data/lib/kibana/assets/vendor/elasticjs/elastic-angular-client.js +81 -0
  216. data/lib/kibana/assets/vendor/elasticjs/elastic.js +19993 -0
  217. data/lib/kibana/assets/vendor/filesaver.js +216 -0
  218. data/lib/kibana/assets/vendor/jquery/jquery-1.8.0.js +2 -0
  219. data/lib/kibana/assets/vendor/jquery/jquery-ui-1.10.3.js +5253 -0
  220. data/lib/kibana/assets/vendor/jquery/jquery.flot.js +3060 -0
  221. data/lib/kibana/assets/vendor/jquery/jquery.flot.pie.js +817 -0
  222. data/lib/kibana/assets/vendor/jquery/jquery.flot.selection.js +360 -0
  223. data/lib/kibana/assets/vendor/jquery/jquery.flot.stack.js +188 -0
  224. data/lib/kibana/assets/vendor/jquery/jquery.flot.stackpercent.js +126 -0
  225. data/lib/kibana/assets/vendor/jquery/jquery.flot.time.js +431 -0
  226. data/lib/kibana/assets/vendor/modernizr-2.6.1.js +4 -0
  227. data/lib/kibana/assets/vendor/moment.js +1662 -0
  228. data/lib/kibana/assets/vendor/require/css-build.js +78 -0
  229. data/lib/kibana/assets/vendor/require/css.js +23 -0
  230. data/lib/kibana/assets/vendor/require/require.js +2024 -0
  231. data/lib/kibana/assets/vendor/require/text.js +386 -0
  232. data/lib/kibana/assets/vendor/require/tmpl.js +17 -0
  233. data/lib/kibana/assets/vendor/timezone.js +993 -0
  234. data/lib/kibana/assets/vendor/underscore.js +1246 -0
  235. data/lib/kibana/sinatra.rb +3 -0
  236. data/lib/kibana/sinatra/version.rb +5 -0
  237. data/lib/kibana/sinatra/web.rb +28 -0
  238. data/lib/kibana/views/config.erb +54 -0
  239. metadata +325 -0
@@ -0,0 +1,147 @@
1
+ define([
2
+ 'angular',
3
+ 'underscore',
4
+ 'config'
5
+ ],
6
+ function (angular, _, config) {
7
+ 'use strict';
8
+
9
+ var module = angular.module('kibana.services');
10
+
11
+ module.service('querySrv', function(dashboard, ejsResource) {
12
+ // Create an object to hold our service state on the dashboard
13
+ dashboard.current.services.query = dashboard.current.services.query || {};
14
+ _.defaults(dashboard.current.services.query,{
15
+ idQueue : [],
16
+ list : {},
17
+ ids : [],
18
+ });
19
+
20
+ // Defaults for query objects
21
+ var _query = {
22
+ query: '*',
23
+ alias: '',
24
+ pin: false,
25
+ type: 'lucene'
26
+ };
27
+
28
+ // For convenience
29
+ var ejs = ejsResource(config.elasticsearch);
30
+ var _q = dashboard.current.services.query;
31
+
32
+ this.colors = [
33
+ "#7EB26D","#EAB839","#6ED0E0","#EF843C","#E24D42","#1F78C1","#BA43A9","#705DA0", //1
34
+ "#508642","#CCA300","#447EBC","#C15C17","#890F02","#0A437C","#6D1F62","#584477", //2
35
+ "#B7DBAB","#F4D598","#70DBED","#F9BA8F","#F29191","#82B5D8","#E5A8E2","#AEA2E0", //3
36
+ "#629E51","#E5AC0E","#64B0C8","#E0752D","#BF1B00","#0A50A1","#962D82","#614D93", //4
37
+ "#9AC48A","#F2C96D","#65C5DB","#F9934E","#EA6460","#5195CE","#D683CE","#806EB7", //5
38
+ "#3F6833","#967302","#2F575E","#99440A","#58140C","#052B51","#511749","#3F2B5B", //6
39
+ "#E0F9D7","#FCEACA","#CFFAFF","#F9E2D2","#FCE2DE","#BADFF4","#F9D9F9","#DEDAF7" //7
40
+ ];
41
+
42
+
43
+ // Save a reference to this
44
+ var self = this;
45
+
46
+ this.init = function() {
47
+ _q = dashboard.current.services.query;
48
+ self.list = dashboard.current.services.query.list;
49
+ self.ids = dashboard.current.services.query.ids;
50
+
51
+ // Check each query object, populate its defaults
52
+ _.each(self.list,function(query,id) {
53
+ _.defaults(query,_query);
54
+ query.color = query.color || colorAt(id);
55
+ });
56
+
57
+ if (self.ids.length === 0) {
58
+ self.set({});
59
+ }
60
+ };
61
+
62
+ // This is used both for adding queries and modifying them. If an id is passed, the query at that id is updated
63
+ this.set = function(query,id) {
64
+ if(!_.isUndefined(id)) {
65
+ if(!_.isUndefined(self.list[id])) {
66
+ _.extend(self.list[id],query);
67
+ return id;
68
+ } else {
69
+ return false;
70
+ }
71
+ } else {
72
+ var _id = query.id || nextId();
73
+ query.id = _id;
74
+ query.color = query.color || colorAt(_id);
75
+ _.defaults(query,_query);
76
+
77
+ self.list[_id] = query;
78
+ self.ids.push(_id);
79
+ return _id;
80
+ }
81
+ };
82
+
83
+ this.remove = function(id) {
84
+ if(!_.isUndefined(self.list[id])) {
85
+ delete self.list[id];
86
+ // This must happen on the full path also since _.without returns a copy
87
+ self.ids = dashboard.current.services.query.ids = _.without(self.ids,id);
88
+ _q.idQueue.unshift(id);
89
+ _q.idQueue.sort(function(v,k){
90
+ return v-k;
91
+ });
92
+ return true;
93
+ } else {
94
+ return false;
95
+ }
96
+ };
97
+
98
+ this.getEjsObj = function(id) {
99
+ return self.toEjsObj(self.list[id]);
100
+ };
101
+
102
+ this.toEjsObj = function (q) {
103
+ switch(q.type)
104
+ {
105
+ case 'lucene':
106
+ return ejs.QueryStringQuery(q.query || '*');
107
+ default:
108
+ return _.isUndefined(q.query) ? false : ejs.QueryStringQuery(q.query || '*');
109
+ }
110
+ };
111
+
112
+ this.findQuery = function(queryString) {
113
+ return _.findWhere(self.list,{query:queryString});
114
+ };
115
+
116
+ this.idsByMode = function(config) {
117
+ switch(config.mode)
118
+ {
119
+ case 'all':
120
+ return self.ids;
121
+ case 'pinned':
122
+ return _.pluck(_.where(self.list,{pin:true}),'id');
123
+ case 'unpinned':
124
+ return _.difference(self.ids,_.pluck(_.where(self.list,{pin:true}),'id'));
125
+ case 'selected':
126
+ return _.intersection(self.ids,config.ids);
127
+ default:
128
+ return self.ids;
129
+ }
130
+ };
131
+
132
+ var nextId = function() {
133
+ if(_q.idQueue.length > 0) {
134
+ return _q.idQueue.shift();
135
+ } else {
136
+ return self.ids.length;
137
+ }
138
+ };
139
+
140
+ var colorAt = function(id) {
141
+ return self.colors[id % self.colors.length];
142
+ };
143
+
144
+ self.init();
145
+ });
146
+
147
+ });
@@ -0,0 +1,34 @@
1
+ define([
2
+ 'angular',
3
+ 'underscore'
4
+ ],
5
+ function (angular, _) {
6
+ 'use strict';
7
+
8
+ var module = angular.module('kibana.services');
9
+
10
+ module.service('timer', function($timeout) {
11
+ // This service really just tracks a list of $timeout promises to give us a
12
+ // method for cancelling them all when we need to
13
+
14
+ var timers = [];
15
+
16
+ this.register = function(promise) {
17
+ timers.push(promise);
18
+ return promise;
19
+ };
20
+
21
+ this.cancel = function(promise) {
22
+ timers = _.without(timers,promise);
23
+ $timeout.cancel(promise);
24
+ };
25
+
26
+ this.cancel_all = function() {
27
+ _.each(timers, function(t){
28
+ $timeout.cancel(t);
29
+ });
30
+ timers = [];
31
+ };
32
+ });
33
+
34
+ });
@@ -0,0 +1,3270 @@
1
+ @charset "UTF-8";
2
+ /*
3
+ Animate.css - http://daneden.me/animate
4
+ Licensed under the MIT license
5
+
6
+ Copyright (c) 2013 Daniel Eden
7
+
8
+ Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
9
+
10
+ The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
11
+
12
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
13
+ */
14
+ body { /* Addresses a small issue in webkit: http://bit.ly/NEdoDq */
15
+ -webkit-backface-visibility: hidden;
16
+ }
17
+ .animated {
18
+ -webkit-animation-duration: 1s;
19
+ -moz-animation-duration: 1s;
20
+ -o-animation-duration: 1s;
21
+ animation-duration: 1s;
22
+ -webkit-animation-fill-mode: both;
23
+ -moz-animation-fill-mode: both;
24
+ -o-animation-fill-mode: both;
25
+ animation-fill-mode: both;
26
+ }
27
+
28
+ .infinite {
29
+ -webkit-animation-iteration-count: infinite;
30
+ -moz-animation-iteration-count: infinite;
31
+ -o-animation-iteration-count: infinite;
32
+ animation-iteration-count: infinite;
33
+ }
34
+
35
+ .animated.hinge {
36
+ -webkit-animation-duration: 2s;
37
+ -moz-animation-duration: 2s;
38
+ -o-animation-duration: 2s;
39
+ animation-duration: 2s;
40
+ }
41
+
42
+ @-webkit-keyframes flash {
43
+ 0%, 50%, 100% {opacity: 1;}
44
+ 25%, 75% {opacity: 0;}
45
+ }
46
+
47
+ @-moz-keyframes flash {
48
+ 0%, 50%, 100% {opacity: 1;}
49
+ 25%, 75% {opacity: 0;}
50
+ }
51
+
52
+ @-o-keyframes flash {
53
+ 0%, 50%, 100% {opacity: 1;}
54
+ 25%, 75% {opacity: 0;}
55
+ }
56
+
57
+ @keyframes flash {
58
+ 0%, 50%, 100% {opacity: 1;}
59
+ 25%, 75% {opacity: 0;}
60
+ }
61
+
62
+ .flash {
63
+ -webkit-animation-name: flash;
64
+ -moz-animation-name: flash;
65
+ -o-animation-name: flash;
66
+ animation-name: flash;
67
+ }
68
+ @-webkit-keyframes shake {
69
+ 0%, 100% {-webkit-transform: translateX(0);}
70
+ 10%, 30%, 50%, 70%, 90% {-webkit-transform: translateX(-10px);}
71
+ 20%, 40%, 60%, 80% {-webkit-transform: translateX(10px);}
72
+ }
73
+
74
+ @-moz-keyframes shake {
75
+ 0%, 100% {-moz-transform: translateX(0);}
76
+ 10%, 30%, 50%, 70%, 90% {-moz-transform: translateX(-10px);}
77
+ 20%, 40%, 60%, 80% {-moz-transform: translateX(10px);}
78
+ }
79
+
80
+ @-o-keyframes shake {
81
+ 0%, 100% {-o-transform: translateX(0);}
82
+ 10%, 30%, 50%, 70%, 90% {-o-transform: translateX(-10px);}
83
+ 20%, 40%, 60%, 80% {-o-transform: translateX(10px);}
84
+ }
85
+
86
+ @keyframes shake {
87
+ 0%, 100% {transform: translateX(0);}
88
+ 10%, 30%, 50%, 70%, 90% {transform: translateX(-10px);}
89
+ 20%, 40%, 60%, 80% {transform: translateX(10px);}
90
+ }
91
+
92
+ .shake {
93
+ -webkit-animation-name: shake;
94
+ -moz-animation-name: shake;
95
+ -o-animation-name: shake;
96
+ animation-name: shake;
97
+ }
98
+ @-webkit-keyframes bounce {
99
+ 0%, 20%, 50%, 80%, 100% {-webkit-transform: translateY(0);}
100
+ 40% {-webkit-transform: translateY(-30px);}
101
+ 60% {-webkit-transform: translateY(-15px);}
102
+ }
103
+
104
+ @-moz-keyframes bounce {
105
+ 0%, 20%, 50%, 80%, 100% {-moz-transform: translateY(0);}
106
+ 40% {-moz-transform: translateY(-30px);}
107
+ 60% {-moz-transform: translateY(-15px);}
108
+ }
109
+
110
+ @-o-keyframes bounce {
111
+ 0%, 20%, 50%, 80%, 100% {-o-transform: translateY(0);}
112
+ 40% {-o-transform: translateY(-30px);}
113
+ 60% {-o-transform: translateY(-15px);}
114
+ }
115
+ @keyframes bounce {
116
+ 0%, 20%, 50%, 80%, 100% {transform: translateY(0);}
117
+ 40% {transform: translateY(-30px);}
118
+ 60% {transform: translateY(-15px);}
119
+ }
120
+
121
+ .bounce {
122
+ -webkit-animation-name: bounce;
123
+ -moz-animation-name: bounce;
124
+ -o-animation-name: bounce;
125
+ animation-name: bounce;
126
+ }
127
+ @-webkit-keyframes tada {
128
+ 0% {-webkit-transform: scale(1);}
129
+ 10%, 20% {-webkit-transform: scale(0.9) rotate(-3deg);}
130
+ 30%, 50%, 70%, 90% {-webkit-transform: scale(1.1) rotate(3deg);}
131
+ 40%, 60%, 80% {-webkit-transform: scale(1.1) rotate(-3deg);}
132
+ 100% {-webkit-transform: scale(1) rotate(0);}
133
+ }
134
+
135
+ @-moz-keyframes tada {
136
+ 0% {-moz-transform: scale(1);}
137
+ 10%, 20% {-moz-transform: scale(0.9) rotate(-3deg);}
138
+ 30%, 50%, 70%, 90% {-moz-transform: scale(1.1) rotate(3deg);}
139
+ 40%, 60%, 80% {-moz-transform: scale(1.1) rotate(-3deg);}
140
+ 100% {-moz-transform: scale(1) rotate(0);}
141
+ }
142
+
143
+ @-o-keyframes tada {
144
+ 0% {-o-transform: scale(1);}
145
+ 10%, 20% {-o-transform: scale(0.9) rotate(-3deg);}
146
+ 30%, 50%, 70%, 90% {-o-transform: scale(1.1) rotate(3deg);}
147
+ 40%, 60%, 80% {-o-transform: scale(1.1) rotate(-3deg);}
148
+ 100% {-o-transform: scale(1) rotate(0);}
149
+ }
150
+
151
+ @keyframes tada {
152
+ 0% {transform: scale(1);}
153
+ 10%, 20% {transform: scale(0.9) rotate(-3deg);}
154
+ 30%, 50%, 70%, 90% {transform: scale(1.1) rotate(3deg);}
155
+ 40%, 60%, 80% {transform: scale(1.1) rotate(-3deg);}
156
+ 100% {transform: scale(1) rotate(0);}
157
+ }
158
+
159
+ .tada {
160
+ -webkit-animation-name: tada;
161
+ -moz-animation-name: tada;
162
+ -o-animation-name: tada;
163
+ animation-name: tada;
164
+ }
165
+ @-webkit-keyframes swing {
166
+ 20%, 40%, 60%, 80%, 100% { -webkit-transform-origin: top center; }
167
+ 20% { -webkit-transform: rotate(15deg); }
168
+ 40% { -webkit-transform: rotate(-10deg); }
169
+ 60% { -webkit-transform: rotate(5deg); }
170
+ 80% { -webkit-transform: rotate(-5deg); }
171
+ 100% { -webkit-transform: rotate(0deg); }
172
+ }
173
+
174
+ @-moz-keyframes swing {
175
+ 20% { -moz-transform: rotate(15deg); }
176
+ 40% { -moz-transform: rotate(-10deg); }
177
+ 60% { -moz-transform: rotate(5deg); }
178
+ 80% { -moz-transform: rotate(-5deg); }
179
+ 100% { -moz-transform: rotate(0deg); }
180
+ }
181
+
182
+ @-o-keyframes swing {
183
+ 20% { -o-transform: rotate(15deg); }
184
+ 40% { -o-transform: rotate(-10deg); }
185
+ 60% { -o-transform: rotate(5deg); }
186
+ 80% { -o-transform: rotate(-5deg); }
187
+ 100% { -o-transform: rotate(0deg); }
188
+ }
189
+
190
+ @keyframes swing {
191
+ 20% { transform: rotate(15deg); }
192
+ 40% { transform: rotate(-10deg); }
193
+ 60% { transform: rotate(5deg); }
194
+ 80% { transform: rotate(-5deg); }
195
+ 100% { transform: rotate(0deg); }
196
+ }
197
+
198
+ .swing {
199
+ -webkit-transform-origin: top center;
200
+ -moz-transform-origin: top center;
201
+ -o-transform-origin: top center;
202
+ transform-origin: top center;
203
+ -webkit-animation-name: swing;
204
+ -moz-animation-name: swing;
205
+ -o-animation-name: swing;
206
+ animation-name: swing;
207
+ }
208
+ /* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
209
+
210
+ @-webkit-keyframes wobble {
211
+ 0% { -webkit-transform: translateX(0%); }
212
+ 15% { -webkit-transform: translateX(-25%) rotate(-5deg); }
213
+ 30% { -webkit-transform: translateX(20%) rotate(3deg); }
214
+ 45% { -webkit-transform: translateX(-15%) rotate(-3deg); }
215
+ 60% { -webkit-transform: translateX(10%) rotate(2deg); }
216
+ 75% { -webkit-transform: translateX(-5%) rotate(-1deg); }
217
+ 100% { -webkit-transform: translateX(0%); }
218
+ }
219
+
220
+ @-moz-keyframes wobble {
221
+ 0% { -moz-transform: translateX(0%); }
222
+ 15% { -moz-transform: translateX(-25%) rotate(-5deg); }
223
+ 30% { -moz-transform: translateX(20%) rotate(3deg); }
224
+ 45% { -moz-transform: translateX(-15%) rotate(-3deg); }
225
+ 60% { -moz-transform: translateX(10%) rotate(2deg); }
226
+ 75% { -moz-transform: translateX(-5%) rotate(-1deg); }
227
+ 100% { -moz-transform: translateX(0%); }
228
+ }
229
+
230
+ @-o-keyframes wobble {
231
+ 0% { -o-transform: translateX(0%); }
232
+ 15% { -o-transform: translateX(-25%) rotate(-5deg); }
233
+ 30% { -o-transform: translateX(20%) rotate(3deg); }
234
+ 45% { -o-transform: translateX(-15%) rotate(-3deg); }
235
+ 60% { -o-transform: translateX(10%) rotate(2deg); }
236
+ 75% { -o-transform: translateX(-5%) rotate(-1deg); }
237
+ 100% { -o-transform: translateX(0%); }
238
+ }
239
+
240
+ @keyframes wobble {
241
+ 0% { transform: translateX(0%); }
242
+ 15% { transform: translateX(-25%) rotate(-5deg); }
243
+ 30% { transform: translateX(20%) rotate(3deg); }
244
+ 45% { transform: translateX(-15%) rotate(-3deg); }
245
+ 60% { transform: translateX(10%) rotate(2deg); }
246
+ 75% { transform: translateX(-5%) rotate(-1deg); }
247
+ 100% { transform: translateX(0%); }
248
+ }
249
+
250
+ .wobble {
251
+ -webkit-animation-name: wobble;
252
+ -moz-animation-name: wobble;
253
+ -o-animation-name: wobble;
254
+ animation-name: wobble;
255
+ }
256
+ /* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
257
+
258
+ @-webkit-keyframes pulse {
259
+ 0% { -webkit-transform: scale(1); }
260
+ 50% { -webkit-transform: scale(1.1); }
261
+ 100% { -webkit-transform: scale(1); }
262
+ }
263
+ @-moz-keyframes pulse {
264
+ 0% { -moz-transform: scale(1); }
265
+ 50% { -moz-transform: scale(1.1); }
266
+ 100% { -moz-transform: scale(1); }
267
+ }
268
+ @-o-keyframes pulse {
269
+ 0% { -o-transform: scale(1); }
270
+ 50% { -o-transform: scale(1.1); }
271
+ 100% { -o-transform: scale(1); }
272
+ }
273
+ @keyframes pulse {
274
+ 0% { transform: scale(1); }
275
+ 50% { transform: scale(1.1); }
276
+ 100% { transform: scale(1); }
277
+ }
278
+
279
+ .pulse {
280
+ -webkit-animation-name: pulse;
281
+ -moz-animation-name: pulse;
282
+ -o-animation-name: pulse;
283
+ animation-name: pulse;
284
+ }
285
+ @-webkit-keyframes flip {
286
+ 0% {
287
+ -webkit-transform: perspective(400px) rotateY(0);
288
+ -webkit-animation-timing-function: ease-out;
289
+ }
290
+ 40% {
291
+ -webkit-transform: perspective(400px) translateZ(150px) rotateY(170deg);
292
+ -webkit-animation-timing-function: ease-out;
293
+ }
294
+ 50% {
295
+ -webkit-transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1);
296
+ -webkit-animation-timing-function: ease-in;
297
+ }
298
+ 80% {
299
+ -webkit-transform: perspective(400px) rotateY(360deg) scale(.95);
300
+ -webkit-animation-timing-function: ease-in;
301
+ }
302
+ 100% {
303
+ -webkit-transform: perspective(400px) scale(1);
304
+ -webkit-animation-timing-function: ease-in;
305
+ }
306
+ }
307
+ @-moz-keyframes flip {
308
+ 0% {
309
+ -moz-transform: perspective(400px) rotateY(0);
310
+ -moz-animation-timing-function: ease-out;
311
+ }
312
+ 40% {
313
+ -moz-transform: perspective(400px) translateZ(150px) rotateY(170deg);
314
+ -moz-animation-timing-function: ease-out;
315
+ }
316
+ 50% {
317
+ -moz-transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1);
318
+ -moz-animation-timing-function: ease-in;
319
+ }
320
+ 80% {
321
+ -moz-transform: perspective(400px) rotateY(360deg) scale(.95);
322
+ -moz-animation-timing-function: ease-in;
323
+ }
324
+ 100% {
325
+ -moz-transform: perspective(400px) scale(1);
326
+ -moz-animation-timing-function: ease-in;
327
+ }
328
+ }
329
+ @-o-keyframes flip {
330
+ 0% {
331
+ -o-transform: perspective(400px) rotateY(0);
332
+ -o-animation-timing-function: ease-out;
333
+ }
334
+ 40% {
335
+ -o-transform: perspective(400px) translateZ(150px) rotateY(170deg);
336
+ -o-animation-timing-function: ease-out;
337
+ }
338
+ 50% {
339
+ -o-transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1);
340
+ -o-animation-timing-function: ease-in;
341
+ }
342
+ 80% {
343
+ -o-transform: perspective(400px) rotateY(360deg) scale(.95);
344
+ -o-animation-timing-function: ease-in;
345
+ }
346
+ 100% {
347
+ -o-transform: perspective(400px) scale(1);
348
+ -o-animation-timing-function: ease-in;
349
+ }
350
+ }
351
+ @keyframes flip {
352
+ 0% {
353
+ transform: perspective(400px) rotateY(0);
354
+ animation-timing-function: ease-out;
355
+ }
356
+ 40% {
357
+ transform: perspective(400px) translateZ(150px) rotateY(170deg);
358
+ animation-timing-function: ease-out;
359
+ }
360
+ 50% {
361
+ transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1);
362
+ animation-timing-function: ease-in;
363
+ }
364
+ 80% {
365
+ transform: perspective(400px) rotateY(360deg) scale(.95);
366
+ animation-timing-function: ease-in;
367
+ }
368
+ 100% {
369
+ transform: perspective(400px) scale(1);
370
+ animation-timing-function: ease-in;
371
+ }
372
+ }
373
+
374
+ .flip {
375
+ -webkit-backface-visibility: visible !important;
376
+ -webkit-animation-name: flip;
377
+ -moz-backface-visibility: visible !important;
378
+ -moz-animation-name: flip;
379
+ -o-backface-visibility: visible !important;
380
+ -o-animation-name: flip;
381
+ backface-visibility: visible !important;
382
+ animation-name: flip;
383
+ }
384
+ @-webkit-keyframes flipInX {
385
+ 0% {
386
+ -webkit-transform: perspective(400px) rotateX(90deg);
387
+ opacity: 0;
388
+ }
389
+
390
+ 40% {
391
+ -webkit-transform: perspective(400px) rotateX(-10deg);
392
+ }
393
+
394
+ 70% {
395
+ -webkit-transform: perspective(400px) rotateX(10deg);
396
+ }
397
+
398
+ 100% {
399
+ -webkit-transform: perspective(400px) rotateX(0deg);
400
+ opacity: 1;
401
+ }
402
+ }
403
+ @-moz-keyframes flipInX {
404
+ 0% {
405
+ -moz-transform: perspective(400px) rotateX(90deg);
406
+ opacity: 0;
407
+ }
408
+
409
+ 40% {
410
+ -moz-transform: perspective(400px) rotateX(-10deg);
411
+ }
412
+
413
+ 70% {
414
+ -moz-transform: perspective(400px) rotateX(10deg);
415
+ }
416
+
417
+ 100% {
418
+ -moz-transform: perspective(400px) rotateX(0deg);
419
+ opacity: 1;
420
+ }
421
+ }
422
+ @-o-keyframes flipInX {
423
+ 0% {
424
+ -o-transform: perspective(400px) rotateX(90deg);
425
+ opacity: 0;
426
+ }
427
+
428
+ 40% {
429
+ -o-transform: perspective(400px) rotateX(-10deg);
430
+ }
431
+
432
+ 70% {
433
+ -o-transform: perspective(400px) rotateX(10deg);
434
+ }
435
+
436
+ 100% {
437
+ -o-transform: perspective(400px) rotateX(0deg);
438
+ opacity: 1;
439
+ }
440
+ }
441
+ @keyframes flipInX {
442
+ 0% {
443
+ transform: perspective(400px) rotateX(90deg);
444
+ opacity: 0;
445
+ }
446
+
447
+ 40% {
448
+ transform: perspective(400px) rotateX(-10deg);
449
+ }
450
+
451
+ 70% {
452
+ transform: perspective(400px) rotateX(10deg);
453
+ }
454
+
455
+ 100% {
456
+ transform: perspective(400px) rotateX(0deg);
457
+ opacity: 1;
458
+ }
459
+ }
460
+
461
+ .flipInX {
462
+ -webkit-backface-visibility: visible !important;
463
+ -webkit-animation-name: flipInX;
464
+ -moz-backface-visibility: visible !important;
465
+ -moz-animation-name: flipInX;
466
+ -o-backface-visibility: visible !important;
467
+ -o-animation-name: flipInX;
468
+ backface-visibility: visible !important;
469
+ animation-name: flipInX;
470
+ }
471
+ @-webkit-keyframes flipOutX {
472
+ 0% {
473
+ -webkit-transform: perspective(400px) rotateX(0deg);
474
+ opacity: 1;
475
+ }
476
+ 100% {
477
+ -webkit-transform: perspective(400px) rotateX(90deg);
478
+ opacity: 0;
479
+ }
480
+ }
481
+
482
+ @-moz-keyframes flipOutX {
483
+ 0% {
484
+ -moz-transform: perspective(400px) rotateX(0deg);
485
+ opacity: 1;
486
+ }
487
+ 100% {
488
+ -moz-transform: perspective(400px) rotateX(90deg);
489
+ opacity: 0;
490
+ }
491
+ }
492
+
493
+ @-o-keyframes flipOutX {
494
+ 0% {
495
+ -o-transform: perspective(400px) rotateX(0deg);
496
+ opacity: 1;
497
+ }
498
+ 100% {
499
+ -o-transform: perspective(400px) rotateX(90deg);
500
+ opacity: 0;
501
+ }
502
+ }
503
+
504
+ @keyframes flipOutX {
505
+ 0% {
506
+ transform: perspective(400px) rotateX(0deg);
507
+ opacity: 1;
508
+ }
509
+ 100% {
510
+ transform: perspective(400px) rotateX(90deg);
511
+ opacity: 0;
512
+ }
513
+ }
514
+
515
+ .flipOutX {
516
+ -webkit-animation-name: flipOutX;
517
+ -webkit-backface-visibility: visible !important;
518
+ -moz-animation-name: flipOutX;
519
+ -moz-backface-visibility: visible !important;
520
+ -o-animation-name: flipOutX;
521
+ -o-backface-visibility: visible !important;
522
+ animation-name: flipOutX;
523
+ backface-visibility: visible !important;
524
+ }
525
+ @-webkit-keyframes flipInY {
526
+ 0% {
527
+ -webkit-transform: perspective(400px) rotateY(90deg);
528
+ opacity: 0;
529
+ }
530
+
531
+ 40% {
532
+ -webkit-transform: perspective(400px) rotateY(-10deg);
533
+ }
534
+
535
+ 70% {
536
+ -webkit-transform: perspective(400px) rotateY(10deg);
537
+ }
538
+
539
+ 100% {
540
+ -webkit-transform: perspective(400px) rotateY(0deg);
541
+ opacity: 1;
542
+ }
543
+ }
544
+ @-moz-keyframes flipInY {
545
+ 0% {
546
+ -moz-transform: perspective(400px) rotateY(90deg);
547
+ opacity: 0;
548
+ }
549
+
550
+ 40% {
551
+ -moz-transform: perspective(400px) rotateY(-10deg);
552
+ }
553
+
554
+ 70% {
555
+ -moz-transform: perspective(400px) rotateY(10deg);
556
+ }
557
+
558
+ 100% {
559
+ -moz-transform: perspective(400px) rotateY(0deg);
560
+ opacity: 1;
561
+ }
562
+ }
563
+ @-o-keyframes flipInY {
564
+ 0% {
565
+ -o-transform: perspective(400px) rotateY(90deg);
566
+ opacity: 0;
567
+ }
568
+
569
+ 40% {
570
+ -o-transform: perspective(400px) rotateY(-10deg);
571
+ }
572
+
573
+ 70% {
574
+ -o-transform: perspective(400px) rotateY(10deg);
575
+ }
576
+
577
+ 100% {
578
+ -o-transform: perspective(400px) rotateY(0deg);
579
+ opacity: 1;
580
+ }
581
+ }
582
+ @keyframes flipInY {
583
+ 0% {
584
+ transform: perspective(400px) rotateY(90deg);
585
+ opacity: 0;
586
+ }
587
+
588
+ 40% {
589
+ transform: perspective(400px) rotateY(-10deg);
590
+ }
591
+
592
+ 70% {
593
+ transform: perspective(400px) rotateY(10deg);
594
+ }
595
+
596
+ 100% {
597
+ transform: perspective(400px) rotateY(0deg);
598
+ opacity: 1;
599
+ }
600
+ }
601
+
602
+ .flipInY {
603
+ -webkit-backface-visibility: visible !important;
604
+ -webkit-animation-name: flipInY;
605
+ -moz-backface-visibility: visible !important;
606
+ -moz-animation-name: flipInY;
607
+ -o-backface-visibility: visible !important;
608
+ -o-animation-name: flipInY;
609
+ backface-visibility: visible !important;
610
+ animation-name: flipInY;
611
+ }
612
+ @-webkit-keyframes flipOutY {
613
+ 0% {
614
+ -webkit-transform: perspective(400px) rotateY(0deg);
615
+ opacity: 1;
616
+ }
617
+ 100% {
618
+ -webkit-transform: perspective(400px) rotateY(90deg);
619
+ opacity: 0;
620
+ }
621
+ }
622
+ @-moz-keyframes flipOutY {
623
+ 0% {
624
+ -moz-transform: perspective(400px) rotateY(0deg);
625
+ opacity: 1;
626
+ }
627
+ 100% {
628
+ -moz-transform: perspective(400px) rotateY(90deg);
629
+ opacity: 0;
630
+ }
631
+ }
632
+ @-o-keyframes flipOutY {
633
+ 0% {
634
+ -o-transform: perspective(400px) rotateY(0deg);
635
+ opacity: 1;
636
+ }
637
+ 100% {
638
+ -o-transform: perspective(400px) rotateY(90deg);
639
+ opacity: 0;
640
+ }
641
+ }
642
+ @keyframes flipOutY {
643
+ 0% {
644
+ transform: perspective(400px) rotateY(0deg);
645
+ opacity: 1;
646
+ }
647
+ 100% {
648
+ transform: perspective(400px) rotateY(90deg);
649
+ opacity: 0;
650
+ }
651
+ }
652
+
653
+ .flipOutY {
654
+ -webkit-backface-visibility: visible !important;
655
+ -webkit-animation-name: flipOutY;
656
+ -moz-backface-visibility: visible !important;
657
+ -moz-animation-name: flipOutY;
658
+ -o-backface-visibility: visible !important;
659
+ -o-animation-name: flipOutY;
660
+ backface-visibility: visible !important;
661
+ animation-name: flipOutY;
662
+ }
663
+ @-webkit-keyframes fadeIn {
664
+ 0% {opacity: 0;}
665
+ 100% {opacity: 1;}
666
+ }
667
+
668
+ @-moz-keyframes fadeIn {
669
+ 0% {opacity: 0;}
670
+ 100% {opacity: 1;}
671
+ }
672
+
673
+ @-o-keyframes fadeIn {
674
+ 0% {opacity: 0;}
675
+ 100% {opacity: 1;}
676
+ }
677
+
678
+ @keyframes fadeIn {
679
+ 0% {opacity: 0;}
680
+ 100% {opacity: 1;}
681
+ }
682
+
683
+ .fadeIn {
684
+ -webkit-animation-name: fadeIn;
685
+ -moz-animation-name: fadeIn;
686
+ -o-animation-name: fadeIn;
687
+ animation-name: fadeIn;
688
+ }
689
+ @-webkit-keyframes fadeInUp {
690
+ 0% {
691
+ opacity: 0;
692
+ -webkit-transform: translateY(20px);
693
+ }
694
+
695
+ 100% {
696
+ opacity: 1;
697
+ -webkit-transform: translateY(0);
698
+ }
699
+ }
700
+
701
+ @-moz-keyframes fadeInUp {
702
+ 0% {
703
+ opacity: 0;
704
+ -moz-transform: translateY(20px);
705
+ }
706
+
707
+ 100% {
708
+ opacity: 1;
709
+ -moz-transform: translateY(0);
710
+ }
711
+ }
712
+
713
+ @-o-keyframes fadeInUp {
714
+ 0% {
715
+ opacity: 0;
716
+ -o-transform: translateY(20px);
717
+ }
718
+
719
+ 100% {
720
+ opacity: 1;
721
+ -o-transform: translateY(0);
722
+ }
723
+ }
724
+
725
+ @keyframes fadeInUp {
726
+ 0% {
727
+ opacity: 0;
728
+ transform: translateY(20px);
729
+ }
730
+
731
+ 100% {
732
+ opacity: 1;
733
+ transform: translateY(0);
734
+ }
735
+ }
736
+
737
+ .fadeInUp {
738
+ -webkit-animation-name: fadeInUp;
739
+ -moz-animation-name: fadeInUp;
740
+ -o-animation-name: fadeInUp;
741
+ animation-name: fadeInUp;
742
+ }
743
+ @-webkit-keyframes fadeInDown {
744
+ 0% {
745
+ opacity: 0;
746
+ -webkit-transform: translateY(-20px);
747
+ }
748
+
749
+ 100% {
750
+ opacity: 1;
751
+ -webkit-transform: translateY(0);
752
+ }
753
+ }
754
+
755
+ @-moz-keyframes fadeInDown {
756
+ 0% {
757
+ opacity: 0;
758
+ -moz-transform: translateY(-20px);
759
+ }
760
+
761
+ 100% {
762
+ opacity: 1;
763
+ -moz-transform: translateY(0);
764
+ }
765
+ }
766
+
767
+ @-o-keyframes fadeInDown {
768
+ 0% {
769
+ opacity: 0;
770
+ -o-transform: translateY(-20px);
771
+ }
772
+
773
+ 100% {
774
+ opacity: 1;
775
+ -o-transform: translateY(0);
776
+ }
777
+ }
778
+
779
+ @keyframes fadeInDown {
780
+ 0% {
781
+ opacity: 0;
782
+ transform: translateY(-20px);
783
+ }
784
+
785
+ 100% {
786
+ opacity: 1;
787
+ transform: translateY(0);
788
+ }
789
+ }
790
+
791
+ .fadeInDown {
792
+ -webkit-animation-name: fadeInDown;
793
+ -moz-animation-name: fadeInDown;
794
+ -o-animation-name: fadeInDown;
795
+ animation-name: fadeInDown;
796
+ }
797
+ @-webkit-keyframes fadeInLeft {
798
+ 0% {
799
+ opacity: 0;
800
+ -webkit-transform: translateX(-20px);
801
+ }
802
+
803
+ 100% {
804
+ opacity: 1;
805
+ -webkit-transform: translateX(0);
806
+ }
807
+ }
808
+
809
+ @-moz-keyframes fadeInLeft {
810
+ 0% {
811
+ opacity: 0;
812
+ -moz-transform: translateX(-20px);
813
+ }
814
+
815
+ 100% {
816
+ opacity: 1;
817
+ -moz-transform: translateX(0);
818
+ }
819
+ }
820
+
821
+ @-o-keyframes fadeInLeft {
822
+ 0% {
823
+ opacity: 0;
824
+ -o-transform: translateX(-20px);
825
+ }
826
+
827
+ 100% {
828
+ opacity: 1;
829
+ -o-transform: translateX(0);
830
+ }
831
+ }
832
+
833
+ @keyframes fadeInLeft {
834
+ 0% {
835
+ opacity: 0;
836
+ transform: translateX(-20px);
837
+ }
838
+
839
+ 100% {
840
+ opacity: 1;
841
+ transform: translateX(0);
842
+ }
843
+ }
844
+
845
+ .fadeInLeft {
846
+ -webkit-animation-name: fadeInLeft;
847
+ -moz-animation-name: fadeInLeft;
848
+ -o-animation-name: fadeInLeft;
849
+ animation-name: fadeInLeft;
850
+ }
851
+ @-webkit-keyframes fadeInRight {
852
+ 0% {
853
+ opacity: 0;
854
+ -webkit-transform: translateX(20px);
855
+ }
856
+
857
+ 100% {
858
+ opacity: 1;
859
+ -webkit-transform: translateX(0);
860
+ }
861
+ }
862
+
863
+ @-moz-keyframes fadeInRight {
864
+ 0% {
865
+ opacity: 0;
866
+ -moz-transform: translateX(20px);
867
+ }
868
+
869
+ 100% {
870
+ opacity: 1;
871
+ -moz-transform: translateX(0);
872
+ }
873
+ }
874
+
875
+ @-o-keyframes fadeInRight {
876
+ 0% {
877
+ opacity: 0;
878
+ -o-transform: translateX(20px);
879
+ }
880
+
881
+ 100% {
882
+ opacity: 1;
883
+ -o-transform: translateX(0);
884
+ }
885
+ }
886
+
887
+ @keyframes fadeInRight {
888
+ 0% {
889
+ opacity: 0;
890
+ transform: translateX(20px);
891
+ }
892
+
893
+ 100% {
894
+ opacity: 1;
895
+ transform: translateX(0);
896
+ }
897
+ }
898
+
899
+ .fadeInRight {
900
+ -webkit-animation-name: fadeInRight;
901
+ -moz-animation-name: fadeInRight;
902
+ -o-animation-name: fadeInRight;
903
+ animation-name: fadeInRight;
904
+ }
905
+ @-webkit-keyframes fadeInUpBig {
906
+ 0% {
907
+ opacity: 0;
908
+ -webkit-transform: translateY(2000px);
909
+ }
910
+
911
+ 100% {
912
+ opacity: 1;
913
+ -webkit-transform: translateY(0);
914
+ }
915
+ }
916
+
917
+ @-moz-keyframes fadeInUpBig {
918
+ 0% {
919
+ opacity: 0;
920
+ -moz-transform: translateY(2000px);
921
+ }
922
+
923
+ 100% {
924
+ opacity: 1;
925
+ -moz-transform: translateY(0);
926
+ }
927
+ }
928
+
929
+ @-o-keyframes fadeInUpBig {
930
+ 0% {
931
+ opacity: 0;
932
+ -o-transform: translateY(2000px);
933
+ }
934
+
935
+ 100% {
936
+ opacity: 1;
937
+ -o-transform: translateY(0);
938
+ }
939
+ }
940
+
941
+ @keyframes fadeInUpBig {
942
+ 0% {
943
+ opacity: 0;
944
+ transform: translateY(2000px);
945
+ }
946
+
947
+ 100% {
948
+ opacity: 1;
949
+ transform: translateY(0);
950
+ }
951
+ }
952
+
953
+ .fadeInUpBig {
954
+ -webkit-animation-name: fadeInUpBig;
955
+ -moz-animation-name: fadeInUpBig;
956
+ -o-animation-name: fadeInUpBig;
957
+ animation-name: fadeInUpBig;
958
+ }
959
+ @-webkit-keyframes fadeInDownBig {
960
+ 0% {
961
+ opacity: 0;
962
+ -webkit-transform: translateY(-2000px);
963
+ }
964
+
965
+ 100% {
966
+ opacity: 1;
967
+ -webkit-transform: translateY(0);
968
+ }
969
+ }
970
+
971
+ @-moz-keyframes fadeInDownBig {
972
+ 0% {
973
+ opacity: 0;
974
+ -moz-transform: translateY(-2000px);
975
+ }
976
+
977
+ 100% {
978
+ opacity: 1;
979
+ -moz-transform: translateY(0);
980
+ }
981
+ }
982
+
983
+ @-o-keyframes fadeInDownBig {
984
+ 0% {
985
+ opacity: 0;
986
+ -o-transform: translateY(-2000px);
987
+ }
988
+
989
+ 100% {
990
+ opacity: 1;
991
+ -o-transform: translateY(0);
992
+ }
993
+ }
994
+
995
+ @keyframes fadeInDownBig {
996
+ 0% {
997
+ opacity: 0;
998
+ transform: translateY(-2000px);
999
+ }
1000
+
1001
+ 100% {
1002
+ opacity: 1;
1003
+ transform: translateY(0);
1004
+ }
1005
+ }
1006
+
1007
+ .fadeInDownBig {
1008
+ -webkit-animation-name: fadeInDownBig;
1009
+ -moz-animation-name: fadeInDownBig;
1010
+ -o-animation-name: fadeInDownBig;
1011
+ animation-name: fadeInDownBig;
1012
+ }
1013
+ @-webkit-keyframes fadeInLeftBig {
1014
+ 0% {
1015
+ opacity: 0;
1016
+ -webkit-transform: translateX(-2000px);
1017
+ }
1018
+
1019
+ 100% {
1020
+ opacity: 1;
1021
+ -webkit-transform: translateX(0);
1022
+ }
1023
+ }
1024
+ @-moz-keyframes fadeInLeftBig {
1025
+ 0% {
1026
+ opacity: 0;
1027
+ -moz-transform: translateX(-2000px);
1028
+ }
1029
+
1030
+ 100% {
1031
+ opacity: 1;
1032
+ -moz-transform: translateX(0);
1033
+ }
1034
+ }
1035
+ @-o-keyframes fadeInLeftBig {
1036
+ 0% {
1037
+ opacity: 0;
1038
+ -o-transform: translateX(-2000px);
1039
+ }
1040
+
1041
+ 100% {
1042
+ opacity: 1;
1043
+ -o-transform: translateX(0);
1044
+ }
1045
+ }
1046
+ @keyframes fadeInLeftBig {
1047
+ 0% {
1048
+ opacity: 0;
1049
+ transform: translateX(-2000px);
1050
+ }
1051
+
1052
+ 100% {
1053
+ opacity: 1;
1054
+ transform: translateX(0);
1055
+ }
1056
+ }
1057
+
1058
+ .fadeInLeftBig {
1059
+ -webkit-animation-name: fadeInLeftBig;
1060
+ -moz-animation-name: fadeInLeftBig;
1061
+ -o-animation-name: fadeInLeftBig;
1062
+ animation-name: fadeInLeftBig;
1063
+ }
1064
+ @-webkit-keyframes fadeInRightBig {
1065
+ 0% {
1066
+ opacity: 0;
1067
+ -webkit-transform: translateX(2000px);
1068
+ }
1069
+
1070
+ 100% {
1071
+ opacity: 1;
1072
+ -webkit-transform: translateX(0);
1073
+ }
1074
+ }
1075
+
1076
+ @-moz-keyframes fadeInRightBig {
1077
+ 0% {
1078
+ opacity: 0;
1079
+ -moz-transform: translateX(2000px);
1080
+ }
1081
+
1082
+ 100% {
1083
+ opacity: 1;
1084
+ -moz-transform: translateX(0);
1085
+ }
1086
+ }
1087
+
1088
+ @-o-keyframes fadeInRightBig {
1089
+ 0% {
1090
+ opacity: 0;
1091
+ -o-transform: translateX(2000px);
1092
+ }
1093
+
1094
+ 100% {
1095
+ opacity: 1;
1096
+ -o-transform: translateX(0);
1097
+ }
1098
+ }
1099
+
1100
+ @keyframes fadeInRightBig {
1101
+ 0% {
1102
+ opacity: 0;
1103
+ transform: translateX(2000px);
1104
+ }
1105
+
1106
+ 100% {
1107
+ opacity: 1;
1108
+ transform: translateX(0);
1109
+ }
1110
+ }
1111
+
1112
+ .fadeInRightBig {
1113
+ -webkit-animation-name: fadeInRightBig;
1114
+ -moz-animation-name: fadeInRightBig;
1115
+ -o-animation-name: fadeInRightBig;
1116
+ animation-name: fadeInRightBig;
1117
+ }
1118
+ @-webkit-keyframes fadeOut {
1119
+ 0% {opacity: 1;}
1120
+ 100% {opacity: 0;}
1121
+ }
1122
+
1123
+ @-moz-keyframes fadeOut {
1124
+ 0% {opacity: 1;}
1125
+ 100% {opacity: 0;}
1126
+ }
1127
+
1128
+ @-o-keyframes fadeOut {
1129
+ 0% {opacity: 1;}
1130
+ 100% {opacity: 0;}
1131
+ }
1132
+
1133
+ @keyframes fadeOut {
1134
+ 0% {opacity: 1;}
1135
+ 100% {opacity: 0;}
1136
+ }
1137
+
1138
+ .fadeOut {
1139
+ -webkit-animation-name: fadeOut;
1140
+ -moz-animation-name: fadeOut;
1141
+ -o-animation-name: fadeOut;
1142
+ animation-name: fadeOut;
1143
+ }
1144
+ @-webkit-keyframes fadeOutUp {
1145
+ 0% {
1146
+ opacity: 1;
1147
+ -webkit-transform: translateY(0);
1148
+ }
1149
+
1150
+ 100% {
1151
+ opacity: 0;
1152
+ -webkit-transform: translateY(-20px);
1153
+ }
1154
+ }
1155
+ @-moz-keyframes fadeOutUp {
1156
+ 0% {
1157
+ opacity: 1;
1158
+ -moz-transform: translateY(0);
1159
+ }
1160
+
1161
+ 100% {
1162
+ opacity: 0;
1163
+ -moz-transform: translateY(-20px);
1164
+ }
1165
+ }
1166
+ @-o-keyframes fadeOutUp {
1167
+ 0% {
1168
+ opacity: 1;
1169
+ -o-transform: translateY(0);
1170
+ }
1171
+
1172
+ 100% {
1173
+ opacity: 0;
1174
+ -o-transform: translateY(-20px);
1175
+ }
1176
+ }
1177
+ @keyframes fadeOutUp {
1178
+ 0% {
1179
+ opacity: 1;
1180
+ transform: translateY(0);
1181
+ }
1182
+
1183
+ 100% {
1184
+ opacity: 0;
1185
+ transform: translateY(-20px);
1186
+ }
1187
+ }
1188
+
1189
+ .fadeOutUp {
1190
+ -webkit-animation-name: fadeOutUp;
1191
+ -moz-animation-name: fadeOutUp;
1192
+ -o-animation-name: fadeOutUp;
1193
+ animation-name: fadeOutUp;
1194
+ }
1195
+ @-webkit-keyframes fadeOutDown {
1196
+ 0% {
1197
+ opacity: 1;
1198
+ -webkit-transform: translateY(0);
1199
+ }
1200
+
1201
+ 100% {
1202
+ opacity: 0;
1203
+ -webkit-transform: translateY(20px);
1204
+ }
1205
+ }
1206
+
1207
+ @-moz-keyframes fadeOutDown {
1208
+ 0% {
1209
+ opacity: 1;
1210
+ -moz-transform: translateY(0);
1211
+ }
1212
+
1213
+ 100% {
1214
+ opacity: 0;
1215
+ -moz-transform: translateY(20px);
1216
+ }
1217
+ }
1218
+
1219
+ @-o-keyframes fadeOutDown {
1220
+ 0% {
1221
+ opacity: 1;
1222
+ -o-transform: translateY(0);
1223
+ }
1224
+
1225
+ 100% {
1226
+ opacity: 0;
1227
+ -o-transform: translateY(20px);
1228
+ }
1229
+ }
1230
+
1231
+ @keyframes fadeOutDown {
1232
+ 0% {
1233
+ opacity: 1;
1234
+ transform: translateY(0);
1235
+ }
1236
+
1237
+ 100% {
1238
+ opacity: 0;
1239
+ transform: translateY(20px);
1240
+ }
1241
+ }
1242
+
1243
+ .fadeOutDown {
1244
+ -webkit-animation-name: fadeOutDown;
1245
+ -moz-animation-name: fadeOutDown;
1246
+ -o-animation-name: fadeOutDown;
1247
+ animation-name: fadeOutDown;
1248
+ }
1249
+ @-webkit-keyframes fadeOutLeft {
1250
+ 0% {
1251
+ opacity: 1;
1252
+ -webkit-transform: translateX(0);
1253
+ }
1254
+
1255
+ 100% {
1256
+ opacity: 0;
1257
+ -webkit-transform: translateX(-20px);
1258
+ }
1259
+ }
1260
+
1261
+ @-moz-keyframes fadeOutLeft {
1262
+ 0% {
1263
+ opacity: 1;
1264
+ -moz-transform: translateX(0);
1265
+ }
1266
+
1267
+ 100% {
1268
+ opacity: 0;
1269
+ -moz-transform: translateX(-20px);
1270
+ }
1271
+ }
1272
+
1273
+ @-o-keyframes fadeOutLeft {
1274
+ 0% {
1275
+ opacity: 1;
1276
+ -o-transform: translateX(0);
1277
+ }
1278
+
1279
+ 100% {
1280
+ opacity: 0;
1281
+ -o-transform: translateX(-20px);
1282
+ }
1283
+ }
1284
+
1285
+ @keyframes fadeOutLeft {
1286
+ 0% {
1287
+ opacity: 1;
1288
+ transform: translateX(0);
1289
+ }
1290
+
1291
+ 100% {
1292
+ opacity: 0;
1293
+ transform: translateX(-20px);
1294
+ }
1295
+ }
1296
+
1297
+ .fadeOutLeft {
1298
+ -webkit-animation-name: fadeOutLeft;
1299
+ -moz-animation-name: fadeOutLeft;
1300
+ -o-animation-name: fadeOutLeft;
1301
+ animation-name: fadeOutLeft;
1302
+ }
1303
+ @-webkit-keyframes fadeOutRight {
1304
+ 0% {
1305
+ opacity: 1;
1306
+ -webkit-transform: translateX(0);
1307
+ }
1308
+
1309
+ 100% {
1310
+ opacity: 0;
1311
+ -webkit-transform: translateX(20px);
1312
+ }
1313
+ }
1314
+
1315
+ @-moz-keyframes fadeOutRight {
1316
+ 0% {
1317
+ opacity: 1;
1318
+ -moz-transform: translateX(0);
1319
+ }
1320
+
1321
+ 100% {
1322
+ opacity: 0;
1323
+ -moz-transform: translateX(20px);
1324
+ }
1325
+ }
1326
+
1327
+ @-o-keyframes fadeOutRight {
1328
+ 0% {
1329
+ opacity: 1;
1330
+ -o-transform: translateX(0);
1331
+ }
1332
+
1333
+ 100% {
1334
+ opacity: 0;
1335
+ -o-transform: translateX(20px);
1336
+ }
1337
+ }
1338
+
1339
+ @keyframes fadeOutRight {
1340
+ 0% {
1341
+ opacity: 1;
1342
+ transform: translateX(0);
1343
+ }
1344
+
1345
+ 100% {
1346
+ opacity: 0;
1347
+ transform: translateX(20px);
1348
+ }
1349
+ }
1350
+
1351
+ .fadeOutRight {
1352
+ -webkit-animation-name: fadeOutRight;
1353
+ -moz-animation-name: fadeOutRight;
1354
+ -o-animation-name: fadeOutRight;
1355
+ animation-name: fadeOutRight;
1356
+ }
1357
+ @-webkit-keyframes fadeOutUpBig {
1358
+ 0% {
1359
+ opacity: 1;
1360
+ -webkit-transform: translateY(0);
1361
+ }
1362
+
1363
+ 100% {
1364
+ opacity: 0;
1365
+ -webkit-transform: translateY(-2000px);
1366
+ }
1367
+ }
1368
+
1369
+ @-moz-keyframes fadeOutUpBig {
1370
+ 0% {
1371
+ opacity: 1;
1372
+ -moz-transform: translateY(0);
1373
+ }
1374
+
1375
+ 100% {
1376
+ opacity: 0;
1377
+ -moz-transform: translateY(-2000px);
1378
+ }
1379
+ }
1380
+
1381
+ @-o-keyframes fadeOutUpBig {
1382
+ 0% {
1383
+ opacity: 1;
1384
+ -o-transform: translateY(0);
1385
+ }
1386
+
1387
+ 100% {
1388
+ opacity: 0;
1389
+ -o-transform: translateY(-2000px);
1390
+ }
1391
+ }
1392
+
1393
+ @keyframes fadeOutUpBig {
1394
+ 0% {
1395
+ opacity: 1;
1396
+ transform: translateY(0);
1397
+ }
1398
+
1399
+ 100% {
1400
+ opacity: 0;
1401
+ transform: translateY(-2000px);
1402
+ }
1403
+ }
1404
+
1405
+ .fadeOutUpBig {
1406
+ -webkit-animation-name: fadeOutUpBig;
1407
+ -moz-animation-name: fadeOutUpBig;
1408
+ -o-animation-name: fadeOutUpBig;
1409
+ animation-name: fadeOutUpBig;
1410
+ }
1411
+ @-webkit-keyframes fadeOutDownBig {
1412
+ 0% {
1413
+ opacity: 1;
1414
+ -webkit-transform: translateY(0);
1415
+ }
1416
+
1417
+ 100% {
1418
+ opacity: 0;
1419
+ -webkit-transform: translateY(2000px);
1420
+ }
1421
+ }
1422
+
1423
+ @-moz-keyframes fadeOutDownBig {
1424
+ 0% {
1425
+ opacity: 1;
1426
+ -moz-transform: translateY(0);
1427
+ }
1428
+
1429
+ 100% {
1430
+ opacity: 0;
1431
+ -moz-transform: translateY(2000px);
1432
+ }
1433
+ }
1434
+
1435
+ @-o-keyframes fadeOutDownBig {
1436
+ 0% {
1437
+ opacity: 1;
1438
+ -o-transform: translateY(0);
1439
+ }
1440
+
1441
+ 100% {
1442
+ opacity: 0;
1443
+ -o-transform: translateY(2000px);
1444
+ }
1445
+ }
1446
+
1447
+ @keyframes fadeOutDownBig {
1448
+ 0% {
1449
+ opacity: 1;
1450
+ transform: translateY(0);
1451
+ }
1452
+
1453
+ 100% {
1454
+ opacity: 0;
1455
+ transform: translateY(2000px);
1456
+ }
1457
+ }
1458
+
1459
+ .fadeOutDownBig {
1460
+ -webkit-animation-name: fadeOutDownBig;
1461
+ -moz-animation-name: fadeOutDownBig;
1462
+ -o-animation-name: fadeOutDownBig;
1463
+ animation-name: fadeOutDownBig;
1464
+ }
1465
+ @-webkit-keyframes fadeOutLeftBig {
1466
+ 0% {
1467
+ opacity: 1;
1468
+ -webkit-transform: translateX(0);
1469
+ }
1470
+
1471
+ 100% {
1472
+ opacity: 0;
1473
+ -webkit-transform: translateX(-2000px);
1474
+ }
1475
+ }
1476
+
1477
+ @-moz-keyframes fadeOutLeftBig {
1478
+ 0% {
1479
+ opacity: 1;
1480
+ -moz-transform: translateX(0);
1481
+ }
1482
+
1483
+ 100% {
1484
+ opacity: 0;
1485
+ -moz-transform: translateX(-2000px);
1486
+ }
1487
+ }
1488
+
1489
+ @-o-keyframes fadeOutLeftBig {
1490
+ 0% {
1491
+ opacity: 1;
1492
+ -o-transform: translateX(0);
1493
+ }
1494
+
1495
+ 100% {
1496
+ opacity: 0;
1497
+ -o-transform: translateX(-2000px);
1498
+ }
1499
+ }
1500
+
1501
+ @keyframes fadeOutLeftBig {
1502
+ 0% {
1503
+ opacity: 1;
1504
+ transform: translateX(0);
1505
+ }
1506
+
1507
+ 100% {
1508
+ opacity: 0;
1509
+ transform: translateX(-2000px);
1510
+ }
1511
+ }
1512
+
1513
+ .fadeOutLeftBig {
1514
+ -webkit-animation-name: fadeOutLeftBig;
1515
+ -moz-animation-name: fadeOutLeftBig;
1516
+ -o-animation-name: fadeOutLeftBig;
1517
+ animation-name: fadeOutLeftBig;
1518
+ }
1519
+ @-webkit-keyframes fadeOutRightBig {
1520
+ 0% {
1521
+ opacity: 1;
1522
+ -webkit-transform: translateX(0);
1523
+ }
1524
+
1525
+ 100% {
1526
+ opacity: 0;
1527
+ -webkit-transform: translateX(2000px);
1528
+ }
1529
+ }
1530
+ @-moz-keyframes fadeOutRightBig {
1531
+ 0% {
1532
+ opacity: 1;
1533
+ -moz-transform: translateX(0);
1534
+ }
1535
+
1536
+ 100% {
1537
+ opacity: 0;
1538
+ -moz-transform: translateX(2000px);
1539
+ }
1540
+ }
1541
+ @-o-keyframes fadeOutRightBig {
1542
+ 0% {
1543
+ opacity: 1;
1544
+ -o-transform: translateX(0);
1545
+ }
1546
+
1547
+ 100% {
1548
+ opacity: 0;
1549
+ -o-transform: translateX(2000px);
1550
+ }
1551
+ }
1552
+ @keyframes fadeOutRightBig {
1553
+ 0% {
1554
+ opacity: 1;
1555
+ transform: translateX(0);
1556
+ }
1557
+
1558
+ 100% {
1559
+ opacity: 0;
1560
+ transform: translateX(2000px);
1561
+ }
1562
+ }
1563
+
1564
+ .fadeOutRightBig {
1565
+ -webkit-animation-name: fadeOutRightBig;
1566
+ -moz-animation-name: fadeOutRightBig;
1567
+ -o-animation-name: fadeOutRightBig;
1568
+ animation-name: fadeOutRightBig;
1569
+ }
1570
+ @-webkit-keyframes bounceIn {
1571
+ 0% {
1572
+ opacity: 0;
1573
+ -webkit-transform: scale(.3);
1574
+ }
1575
+
1576
+ 50% {
1577
+ opacity: 1;
1578
+ -webkit-transform: scale(1.05);
1579
+ }
1580
+
1581
+ 70% {
1582
+ -webkit-transform: scale(.9);
1583
+ }
1584
+
1585
+ 100% {
1586
+ -webkit-transform: scale(1);
1587
+ }
1588
+ }
1589
+
1590
+ @-moz-keyframes bounceIn {
1591
+ 0% {
1592
+ opacity: 0;
1593
+ -moz-transform: scale(.3);
1594
+ }
1595
+
1596
+ 50% {
1597
+ opacity: 1;
1598
+ -moz-transform: scale(1.05);
1599
+ }
1600
+
1601
+ 70% {
1602
+ -moz-transform: scale(.9);
1603
+ }
1604
+
1605
+ 100% {
1606
+ -moz-transform: scale(1);
1607
+ }
1608
+ }
1609
+
1610
+ @-o-keyframes bounceIn {
1611
+ 0% {
1612
+ opacity: 0;
1613
+ -o-transform: scale(.3);
1614
+ }
1615
+
1616
+ 50% {
1617
+ opacity: 1;
1618
+ -o-transform: scale(1.05);
1619
+ }
1620
+
1621
+ 70% {
1622
+ -o-transform: scale(.9);
1623
+ }
1624
+
1625
+ 100% {
1626
+ -o-transform: scale(1);
1627
+ }
1628
+ }
1629
+
1630
+ @keyframes bounceIn {
1631
+ 0% {
1632
+ opacity: 0;
1633
+ transform: scale(.3);
1634
+ }
1635
+
1636
+ 50% {
1637
+ opacity: 1;
1638
+ transform: scale(1.05);
1639
+ }
1640
+
1641
+ 70% {
1642
+ transform: scale(.9);
1643
+ }
1644
+
1645
+ 100% {
1646
+ transform: scale(1);
1647
+ }
1648
+ }
1649
+
1650
+ .bounceIn {
1651
+ -webkit-animation-name: bounceIn;
1652
+ -moz-animation-name: bounceIn;
1653
+ -o-animation-name: bounceIn;
1654
+ animation-name: bounceIn;
1655
+ }
1656
+ @-webkit-keyframes bounceInUp {
1657
+ 0% {
1658
+ opacity: 0;
1659
+ -webkit-transform: translateY(2000px);
1660
+ }
1661
+
1662
+ 60% {
1663
+ opacity: 1;
1664
+ -webkit-transform: translateY(-30px);
1665
+ }
1666
+
1667
+ 80% {
1668
+ -webkit-transform: translateY(10px);
1669
+ }
1670
+
1671
+ 100% {
1672
+ -webkit-transform: translateY(0);
1673
+ }
1674
+ }
1675
+ @-moz-keyframes bounceInUp {
1676
+ 0% {
1677
+ opacity: 0;
1678
+ -moz-transform: translateY(2000px);
1679
+ }
1680
+
1681
+ 60% {
1682
+ opacity: 1;
1683
+ -moz-transform: translateY(-30px);
1684
+ }
1685
+
1686
+ 80% {
1687
+ -moz-transform: translateY(10px);
1688
+ }
1689
+
1690
+ 100% {
1691
+ -moz-transform: translateY(0);
1692
+ }
1693
+ }
1694
+
1695
+ @-o-keyframes bounceInUp {
1696
+ 0% {
1697
+ opacity: 0;
1698
+ -o-transform: translateY(2000px);
1699
+ }
1700
+
1701
+ 60% {
1702
+ opacity: 1;
1703
+ -o-transform: translateY(-30px);
1704
+ }
1705
+
1706
+ 80% {
1707
+ -o-transform: translateY(10px);
1708
+ }
1709
+
1710
+ 100% {
1711
+ -o-transform: translateY(0);
1712
+ }
1713
+ }
1714
+
1715
+ @keyframes bounceInUp {
1716
+ 0% {
1717
+ opacity: 0;
1718
+ transform: translateY(2000px);
1719
+ }
1720
+
1721
+ 60% {
1722
+ opacity: 1;
1723
+ transform: translateY(-30px);
1724
+ }
1725
+
1726
+ 80% {
1727
+ transform: translateY(10px);
1728
+ }
1729
+
1730
+ 100% {
1731
+ transform: translateY(0);
1732
+ }
1733
+ }
1734
+
1735
+ .bounceInUp {
1736
+ -webkit-animation-name: bounceInUp;
1737
+ -moz-animation-name: bounceInUp;
1738
+ -o-animation-name: bounceInUp;
1739
+ animation-name: bounceInUp;
1740
+ }
1741
+ @-webkit-keyframes bounceInDown {
1742
+ 0% {
1743
+ opacity: 0;
1744
+ -webkit-transform: translateY(-2000px);
1745
+ }
1746
+
1747
+ 60% {
1748
+ opacity: 1;
1749
+ -webkit-transform: translateY(30px);
1750
+ }
1751
+
1752
+ 80% {
1753
+ -webkit-transform: translateY(-10px);
1754
+ }
1755
+
1756
+ 100% {
1757
+ -webkit-transform: translateY(0);
1758
+ }
1759
+ }
1760
+
1761
+ @-moz-keyframes bounceInDown {
1762
+ 0% {
1763
+ opacity: 0;
1764
+ -moz-transform: translateY(-2000px);
1765
+ }
1766
+
1767
+ 60% {
1768
+ opacity: 1;
1769
+ -moz-transform: translateY(30px);
1770
+ }
1771
+
1772
+ 80% {
1773
+ -moz-transform: translateY(-10px);
1774
+ }
1775
+
1776
+ 100% {
1777
+ -moz-transform: translateY(0);
1778
+ }
1779
+ }
1780
+
1781
+ @-o-keyframes bounceInDown {
1782
+ 0% {
1783
+ opacity: 0;
1784
+ -o-transform: translateY(-2000px);
1785
+ }
1786
+
1787
+ 60% {
1788
+ opacity: 1;
1789
+ -o-transform: translateY(30px);
1790
+ }
1791
+
1792
+ 80% {
1793
+ -o-transform: translateY(-10px);
1794
+ }
1795
+
1796
+ 100% {
1797
+ -o-transform: translateY(0);
1798
+ }
1799
+ }
1800
+
1801
+ @keyframes bounceInDown {
1802
+ 0% {
1803
+ opacity: 0;
1804
+ transform: translateY(-2000px);
1805
+ }
1806
+
1807
+ 60% {
1808
+ opacity: 1;
1809
+ transform: translateY(30px);
1810
+ }
1811
+
1812
+ 80% {
1813
+ transform: translateY(-10px);
1814
+ }
1815
+
1816
+ 100% {
1817
+ transform: translateY(0);
1818
+ }
1819
+ }
1820
+
1821
+ .bounceInDown {
1822
+ -webkit-animation-name: bounceInDown;
1823
+ -moz-animation-name: bounceInDown;
1824
+ -o-animation-name: bounceInDown;
1825
+ animation-name: bounceInDown;
1826
+ }
1827
+ @-webkit-keyframes bounceInLeft {
1828
+ 0% {
1829
+ opacity: 0;
1830
+ -webkit-transform: translateX(-2000px);
1831
+ }
1832
+
1833
+ 60% {
1834
+ opacity: 1;
1835
+ -webkit-transform: translateX(30px);
1836
+ }
1837
+
1838
+ 80% {
1839
+ -webkit-transform: translateX(-10px);
1840
+ }
1841
+
1842
+ 100% {
1843
+ -webkit-transform: translateX(0);
1844
+ }
1845
+ }
1846
+
1847
+ @-moz-keyframes bounceInLeft {
1848
+ 0% {
1849
+ opacity: 0;
1850
+ -moz-transform: translateX(-2000px);
1851
+ }
1852
+
1853
+ 60% {
1854
+ opacity: 1;
1855
+ -moz-transform: translateX(30px);
1856
+ }
1857
+
1858
+ 80% {
1859
+ -moz-transform: translateX(-10px);
1860
+ }
1861
+
1862
+ 100% {
1863
+ -moz-transform: translateX(0);
1864
+ }
1865
+ }
1866
+
1867
+ @-o-keyframes bounceInLeft {
1868
+ 0% {
1869
+ opacity: 0;
1870
+ -o-transform: translateX(-2000px);
1871
+ }
1872
+
1873
+ 60% {
1874
+ opacity: 1;
1875
+ -o-transform: translateX(30px);
1876
+ }
1877
+
1878
+ 80% {
1879
+ -o-transform: translateX(-10px);
1880
+ }
1881
+
1882
+ 100% {
1883
+ -o-transform: translateX(0);
1884
+ }
1885
+ }
1886
+
1887
+ @keyframes bounceInLeft {
1888
+ 0% {
1889
+ opacity: 0;
1890
+ transform: translateX(-2000px);
1891
+ }
1892
+
1893
+ 60% {
1894
+ opacity: 1;
1895
+ transform: translateX(30px);
1896
+ }
1897
+
1898
+ 80% {
1899
+ transform: translateX(-10px);
1900
+ }
1901
+
1902
+ 100% {
1903
+ transform: translateX(0);
1904
+ }
1905
+ }
1906
+
1907
+ .bounceInLeft {
1908
+ -webkit-animation-name: bounceInLeft;
1909
+ -moz-animation-name: bounceInLeft;
1910
+ -o-animation-name: bounceInLeft;
1911
+ animation-name: bounceInLeft;
1912
+ }
1913
+ @-webkit-keyframes bounceInRight {
1914
+ 0% {
1915
+ opacity: 0;
1916
+ -webkit-transform: translateX(2000px);
1917
+ }
1918
+
1919
+ 60% {
1920
+ opacity: 1;
1921
+ -webkit-transform: translateX(-30px);
1922
+ }
1923
+
1924
+ 80% {
1925
+ -webkit-transform: translateX(10px);
1926
+ }
1927
+
1928
+ 100% {
1929
+ -webkit-transform: translateX(0);
1930
+ }
1931
+ }
1932
+
1933
+ @-moz-keyframes bounceInRight {
1934
+ 0% {
1935
+ opacity: 0;
1936
+ -moz-transform: translateX(2000px);
1937
+ }
1938
+
1939
+ 60% {
1940
+ opacity: 1;
1941
+ -moz-transform: translateX(-30px);
1942
+ }
1943
+
1944
+ 80% {
1945
+ -moz-transform: translateX(10px);
1946
+ }
1947
+
1948
+ 100% {
1949
+ -moz-transform: translateX(0);
1950
+ }
1951
+ }
1952
+
1953
+ @-o-keyframes bounceInRight {
1954
+ 0% {
1955
+ opacity: 0;
1956
+ -o-transform: translateX(2000px);
1957
+ }
1958
+
1959
+ 60% {
1960
+ opacity: 1;
1961
+ -o-transform: translateX(-30px);
1962
+ }
1963
+
1964
+ 80% {
1965
+ -o-transform: translateX(10px);
1966
+ }
1967
+
1968
+ 100% {
1969
+ -o-transform: translateX(0);
1970
+ }
1971
+ }
1972
+
1973
+ @keyframes bounceInRight {
1974
+ 0% {
1975
+ opacity: 0;
1976
+ transform: translateX(2000px);
1977
+ }
1978
+
1979
+ 60% {
1980
+ opacity: 1;
1981
+ transform: translateX(-30px);
1982
+ }
1983
+
1984
+ 80% {
1985
+ transform: translateX(10px);
1986
+ }
1987
+
1988
+ 100% {
1989
+ transform: translateX(0);
1990
+ }
1991
+ }
1992
+
1993
+ .bounceInRight {
1994
+ -webkit-animation-name: bounceInRight;
1995
+ -moz-animation-name: bounceInRight;
1996
+ -o-animation-name: bounceInRight;
1997
+ animation-name: bounceInRight;
1998
+ }
1999
+ @-webkit-keyframes bounceOut {
2000
+ 0% {
2001
+ -webkit-transform: scale(1);
2002
+ }
2003
+
2004
+ 25% {
2005
+ -webkit-transform: scale(.95);
2006
+ }
2007
+
2008
+ 50% {
2009
+ opacity: 1;
2010
+ -webkit-transform: scale(1.1);
2011
+ }
2012
+
2013
+ 100% {
2014
+ opacity: 0;
2015
+ -webkit-transform: scale(.3);
2016
+ }
2017
+ }
2018
+
2019
+ @-moz-keyframes bounceOut {
2020
+ 0% {
2021
+ -moz-transform: scale(1);
2022
+ }
2023
+
2024
+ 25% {
2025
+ -moz-transform: scale(.95);
2026
+ }
2027
+
2028
+ 50% {
2029
+ opacity: 1;
2030
+ -moz-transform: scale(1.1);
2031
+ }
2032
+
2033
+ 100% {
2034
+ opacity: 0;
2035
+ -moz-transform: scale(.3);
2036
+ }
2037
+ }
2038
+
2039
+ @-o-keyframes bounceOut {
2040
+ 0% {
2041
+ -o-transform: scale(1);
2042
+ }
2043
+
2044
+ 25% {
2045
+ -o-transform: scale(.95);
2046
+ }
2047
+
2048
+ 50% {
2049
+ opacity: 1;
2050
+ -o-transform: scale(1.1);
2051
+ }
2052
+
2053
+ 100% {
2054
+ opacity: 0;
2055
+ -o-transform: scale(.3);
2056
+ }
2057
+ }
2058
+
2059
+ @keyframes bounceOut {
2060
+ 0% {
2061
+ transform: scale(1);
2062
+ }
2063
+
2064
+ 25% {
2065
+ transform: scale(.95);
2066
+ }
2067
+
2068
+ 50% {
2069
+ opacity: 1;
2070
+ transform: scale(1.1);
2071
+ }
2072
+
2073
+ 100% {
2074
+ opacity: 0;
2075
+ transform: scale(.3);
2076
+ }
2077
+ }
2078
+
2079
+ .bounceOut {
2080
+ -webkit-animation-name: bounceOut;
2081
+ -moz-animation-name: bounceOut;
2082
+ -o-animation-name: bounceOut;
2083
+ animation-name: bounceOut;
2084
+ }
2085
+ @-webkit-keyframes bounceOutUp {
2086
+ 0% {
2087
+ -webkit-transform: translateY(0);
2088
+ }
2089
+
2090
+ 20% {
2091
+ opacity: 1;
2092
+ -webkit-transform: translateY(20px);
2093
+ }
2094
+
2095
+ 100% {
2096
+ opacity: 0;
2097
+ -webkit-transform: translateY(-2000px);
2098
+ }
2099
+ }
2100
+
2101
+ @-moz-keyframes bounceOutUp {
2102
+ 0% {
2103
+ -moz-transform: translateY(0);
2104
+ }
2105
+
2106
+ 20% {
2107
+ opacity: 1;
2108
+ -moz-transform: translateY(20px);
2109
+ }
2110
+
2111
+ 100% {
2112
+ opacity: 0;
2113
+ -moz-transform: translateY(-2000px);
2114
+ }
2115
+ }
2116
+
2117
+ @-o-keyframes bounceOutUp {
2118
+ 0% {
2119
+ -o-transform: translateY(0);
2120
+ }
2121
+
2122
+ 20% {
2123
+ opacity: 1;
2124
+ -o-transform: translateY(20px);
2125
+ }
2126
+
2127
+ 100% {
2128
+ opacity: 0;
2129
+ -o-transform: translateY(-2000px);
2130
+ }
2131
+ }
2132
+
2133
+ @keyframes bounceOutUp {
2134
+ 0% {
2135
+ transform: translateY(0);
2136
+ }
2137
+
2138
+ 20% {
2139
+ opacity: 1;
2140
+ transform: translateY(20px);
2141
+ }
2142
+
2143
+ 100% {
2144
+ opacity: 0;
2145
+ transform: translateY(-2000px);
2146
+ }
2147
+ }
2148
+
2149
+ .bounceOutUp {
2150
+ -webkit-animation-name: bounceOutUp;
2151
+ -moz-animation-name: bounceOutUp;
2152
+ -o-animation-name: bounceOutUp;
2153
+ animation-name: bounceOutUp;
2154
+ }
2155
+ @-webkit-keyframes bounceOutDown {
2156
+ 0% {
2157
+ -webkit-transform: translateY(0);
2158
+ }
2159
+
2160
+ 20% {
2161
+ opacity: 1;
2162
+ -webkit-transform: translateY(-20px);
2163
+ }
2164
+
2165
+ 100% {
2166
+ opacity: 0;
2167
+ -webkit-transform: translateY(2000px);
2168
+ }
2169
+ }
2170
+
2171
+ @-moz-keyframes bounceOutDown {
2172
+ 0% {
2173
+ -moz-transform: translateY(0);
2174
+ }
2175
+
2176
+ 20% {
2177
+ opacity: 1;
2178
+ -moz-transform: translateY(-20px);
2179
+ }
2180
+
2181
+ 100% {
2182
+ opacity: 0;
2183
+ -moz-transform: translateY(2000px);
2184
+ }
2185
+ }
2186
+
2187
+ @-o-keyframes bounceOutDown {
2188
+ 0% {
2189
+ -o-transform: translateY(0);
2190
+ }
2191
+
2192
+ 20% {
2193
+ opacity: 1;
2194
+ -o-transform: translateY(-20px);
2195
+ }
2196
+
2197
+ 100% {
2198
+ opacity: 0;
2199
+ -o-transform: translateY(2000px);
2200
+ }
2201
+ }
2202
+
2203
+ @keyframes bounceOutDown {
2204
+ 0% {
2205
+ transform: translateY(0);
2206
+ }
2207
+
2208
+ 20% {
2209
+ opacity: 1;
2210
+ transform: translateY(-20px);
2211
+ }
2212
+
2213
+ 100% {
2214
+ opacity: 0;
2215
+ transform: translateY(2000px);
2216
+ }
2217
+ }
2218
+
2219
+ .bounceOutDown {
2220
+ -webkit-animation-name: bounceOutDown;
2221
+ -moz-animation-name: bounceOutDown;
2222
+ -o-animation-name: bounceOutDown;
2223
+ animation-name: bounceOutDown;
2224
+ }
2225
+ @-webkit-keyframes bounceOutLeft {
2226
+ 0% {
2227
+ -webkit-transform: translateX(0);
2228
+ }
2229
+
2230
+ 20% {
2231
+ opacity: 1;
2232
+ -webkit-transform: translateX(20px);
2233
+ }
2234
+
2235
+ 100% {
2236
+ opacity: 0;
2237
+ -webkit-transform: translateX(-2000px);
2238
+ }
2239
+ }
2240
+
2241
+ @-moz-keyframes bounceOutLeft {
2242
+ 0% {
2243
+ -moz-transform: translateX(0);
2244
+ }
2245
+
2246
+ 20% {
2247
+ opacity: 1;
2248
+ -moz-transform: translateX(20px);
2249
+ }
2250
+
2251
+ 100% {
2252
+ opacity: 0;
2253
+ -moz-transform: translateX(-2000px);
2254
+ }
2255
+ }
2256
+
2257
+ @-o-keyframes bounceOutLeft {
2258
+ 0% {
2259
+ -o-transform: translateX(0);
2260
+ }
2261
+
2262
+ 20% {
2263
+ opacity: 1;
2264
+ -o-transform: translateX(20px);
2265
+ }
2266
+
2267
+ 100% {
2268
+ opacity: 0;
2269
+ -o-transform: translateX(-2000px);
2270
+ }
2271
+ }
2272
+
2273
+ @keyframes bounceOutLeft {
2274
+ 0% {
2275
+ transform: translateX(0);
2276
+ }
2277
+
2278
+ 20% {
2279
+ opacity: 1;
2280
+ transform: translateX(20px);
2281
+ }
2282
+
2283
+ 100% {
2284
+ opacity: 0;
2285
+ transform: translateX(-2000px);
2286
+ }
2287
+ }
2288
+
2289
+ .bounceOutLeft {
2290
+ -webkit-animation-name: bounceOutLeft;
2291
+ -moz-animation-name: bounceOutLeft;
2292
+ -o-animation-name: bounceOutLeft;
2293
+ animation-name: bounceOutLeft;
2294
+ }
2295
+ @-webkit-keyframes bounceOutRight {
2296
+ 0% {
2297
+ -webkit-transform: translateX(0);
2298
+ }
2299
+
2300
+ 20% {
2301
+ opacity: 1;
2302
+ -webkit-transform: translateX(-20px);
2303
+ }
2304
+
2305
+ 100% {
2306
+ opacity: 0;
2307
+ -webkit-transform: translateX(2000px);
2308
+ }
2309
+ }
2310
+
2311
+ @-moz-keyframes bounceOutRight {
2312
+ 0% {
2313
+ -moz-transform: translateX(0);
2314
+ }
2315
+
2316
+ 20% {
2317
+ opacity: 1;
2318
+ -moz-transform: translateX(-20px);
2319
+ }
2320
+
2321
+ 100% {
2322
+ opacity: 0;
2323
+ -moz-transform: translateX(2000px);
2324
+ }
2325
+ }
2326
+
2327
+ @-o-keyframes bounceOutRight {
2328
+ 0% {
2329
+ -o-transform: translateX(0);
2330
+ }
2331
+
2332
+ 20% {
2333
+ opacity: 1;
2334
+ -o-transform: translateX(-20px);
2335
+ }
2336
+
2337
+ 100% {
2338
+ opacity: 0;
2339
+ -o-transform: translateX(2000px);
2340
+ }
2341
+ }
2342
+
2343
+ @keyframes bounceOutRight {
2344
+ 0% {
2345
+ transform: translateX(0);
2346
+ }
2347
+
2348
+ 20% {
2349
+ opacity: 1;
2350
+ transform: translateX(-20px);
2351
+ }
2352
+
2353
+ 100% {
2354
+ opacity: 0;
2355
+ transform: translateX(2000px);
2356
+ }
2357
+ }
2358
+
2359
+ .bounceOutRight {
2360
+ -webkit-animation-name: bounceOutRight;
2361
+ -moz-animation-name: bounceOutRight;
2362
+ -o-animation-name: bounceOutRight;
2363
+ animation-name: bounceOutRight;
2364
+ }
2365
+ @-webkit-keyframes rotateIn {
2366
+ 0% {
2367
+ -webkit-transform-origin: center center;
2368
+ -webkit-transform: rotate(-200deg);
2369
+ opacity: 0;
2370
+ }
2371
+
2372
+ 100% {
2373
+ -webkit-transform-origin: center center;
2374
+ -webkit-transform: rotate(0);
2375
+ opacity: 1;
2376
+ }
2377
+ }
2378
+ @-moz-keyframes rotateIn {
2379
+ 0% {
2380
+ -moz-transform-origin: center center;
2381
+ -moz-transform: rotate(-200deg);
2382
+ opacity: 0;
2383
+ }
2384
+
2385
+ 100% {
2386
+ -moz-transform-origin: center center;
2387
+ -moz-transform: rotate(0);
2388
+ opacity: 1;
2389
+ }
2390
+ }
2391
+ @-o-keyframes rotateIn {
2392
+ 0% {
2393
+ -o-transform-origin: center center;
2394
+ -o-transform: rotate(-200deg);
2395
+ opacity: 0;
2396
+ }
2397
+
2398
+ 100% {
2399
+ -o-transform-origin: center center;
2400
+ -o-transform: rotate(0);
2401
+ opacity: 1;
2402
+ }
2403
+ }
2404
+ @keyframes rotateIn {
2405
+ 0% {
2406
+ transform-origin: center center;
2407
+ transform: rotate(-200deg);
2408
+ opacity: 0;
2409
+ }
2410
+
2411
+ 100% {
2412
+ transform-origin: center center;
2413
+ transform: rotate(0);
2414
+ opacity: 1;
2415
+ }
2416
+ }
2417
+
2418
+ .rotateIn {
2419
+ -webkit-animation-name: rotateIn;
2420
+ -moz-animation-name: rotateIn;
2421
+ -o-animation-name: rotateIn;
2422
+ animation-name: rotateIn;
2423
+ }
2424
+ @-webkit-keyframes rotateInUpLeft {
2425
+ 0% {
2426
+ -webkit-transform-origin: left bottom;
2427
+ -webkit-transform: rotate(90deg);
2428
+ opacity: 0;
2429
+ }
2430
+
2431
+ 100% {
2432
+ -webkit-transform-origin: left bottom;
2433
+ -webkit-transform: rotate(0);
2434
+ opacity: 1;
2435
+ }
2436
+ }
2437
+
2438
+ @-moz-keyframes rotateInUpLeft {
2439
+ 0% {
2440
+ -moz-transform-origin: left bottom;
2441
+ -moz-transform: rotate(90deg);
2442
+ opacity: 0;
2443
+ }
2444
+
2445
+ 100% {
2446
+ -moz-transform-origin: left bottom;
2447
+ -moz-transform: rotate(0);
2448
+ opacity: 1;
2449
+ }
2450
+ }
2451
+
2452
+ @-o-keyframes rotateInUpLeft {
2453
+ 0% {
2454
+ -o-transform-origin: left bottom;
2455
+ -o-transform: rotate(90deg);
2456
+ opacity: 0;
2457
+ }
2458
+
2459
+ 100% {
2460
+ -o-transform-origin: left bottom;
2461
+ -o-transform: rotate(0);
2462
+ opacity: 1;
2463
+ }
2464
+ }
2465
+
2466
+ @keyframes rotateInUpLeft {
2467
+ 0% {
2468
+ transform-origin: left bottom;
2469
+ transform: rotate(90deg);
2470
+ opacity: 0;
2471
+ }
2472
+
2473
+ 100% {
2474
+ transform-origin: left bottom;
2475
+ transform: rotate(0);
2476
+ opacity: 1;
2477
+ }
2478
+ }
2479
+
2480
+ .rotateInUpLeft {
2481
+ -webkit-animation-name: rotateInUpLeft;
2482
+ -moz-animation-name: rotateInUpLeft;
2483
+ -o-animation-name: rotateInUpLeft;
2484
+ animation-name: rotateInUpLeft;
2485
+ }
2486
+ @-webkit-keyframes rotateInDownLeft {
2487
+ 0% {
2488
+ -webkit-transform-origin: left bottom;
2489
+ -webkit-transform: rotate(-90deg);
2490
+ opacity: 0;
2491
+ }
2492
+
2493
+ 100% {
2494
+ -webkit-transform-origin: left bottom;
2495
+ -webkit-transform: rotate(0);
2496
+ opacity: 1;
2497
+ }
2498
+ }
2499
+
2500
+ @-moz-keyframes rotateInDownLeft {
2501
+ 0% {
2502
+ -moz-transform-origin: left bottom;
2503
+ -moz-transform: rotate(-90deg);
2504
+ opacity: 0;
2505
+ }
2506
+
2507
+ 100% {
2508
+ -moz-transform-origin: left bottom;
2509
+ -moz-transform: rotate(0);
2510
+ opacity: 1;
2511
+ }
2512
+ }
2513
+
2514
+ @-o-keyframes rotateInDownLeft {
2515
+ 0% {
2516
+ -o-transform-origin: left bottom;
2517
+ -o-transform: rotate(-90deg);
2518
+ opacity: 0;
2519
+ }
2520
+
2521
+ 100% {
2522
+ -o-transform-origin: left bottom;
2523
+ -o-transform: rotate(0);
2524
+ opacity: 1;
2525
+ }
2526
+ }
2527
+
2528
+ @keyframes rotateInDownLeft {
2529
+ 0% {
2530
+ transform-origin: left bottom;
2531
+ transform: rotate(-90deg);
2532
+ opacity: 0;
2533
+ }
2534
+
2535
+ 100% {
2536
+ transform-origin: left bottom;
2537
+ transform: rotate(0);
2538
+ opacity: 1;
2539
+ }
2540
+ }
2541
+
2542
+ .rotateInDownLeft {
2543
+ -webkit-animation-name: rotateInDownLeft;
2544
+ -moz-animation-name: rotateInDownLeft;
2545
+ -o-animation-name: rotateInDownLeft;
2546
+ animation-name: rotateInDownLeft;
2547
+ }
2548
+ @-webkit-keyframes rotateInUpRight {
2549
+ 0% {
2550
+ -webkit-transform-origin: right bottom;
2551
+ -webkit-transform: rotate(-90deg);
2552
+ opacity: 0;
2553
+ }
2554
+
2555
+ 100% {
2556
+ -webkit-transform-origin: right bottom;
2557
+ -webkit-transform: rotate(0);
2558
+ opacity: 1;
2559
+ }
2560
+ }
2561
+
2562
+ @-moz-keyframes rotateInUpRight {
2563
+ 0% {
2564
+ -moz-transform-origin: right bottom;
2565
+ -moz-transform: rotate(-90deg);
2566
+ opacity: 0;
2567
+ }
2568
+
2569
+ 100% {
2570
+ -moz-transform-origin: right bottom;
2571
+ -moz-transform: rotate(0);
2572
+ opacity: 1;
2573
+ }
2574
+ }
2575
+
2576
+ @-o-keyframes rotateInUpRight {
2577
+ 0% {
2578
+ -o-transform-origin: right bottom;
2579
+ -o-transform: rotate(-90deg);
2580
+ opacity: 0;
2581
+ }
2582
+
2583
+ 100% {
2584
+ -o-transform-origin: right bottom;
2585
+ -o-transform: rotate(0);
2586
+ opacity: 1;
2587
+ }
2588
+ }
2589
+
2590
+ @keyframes rotateInUpRight {
2591
+ 0% {
2592
+ transform-origin: right bottom;
2593
+ transform: rotate(-90deg);
2594
+ opacity: 0;
2595
+ }
2596
+
2597
+ 100% {
2598
+ transform-origin: right bottom;
2599
+ transform: rotate(0);
2600
+ opacity: 1;
2601
+ }
2602
+ }
2603
+
2604
+ .rotateInUpRight {
2605
+ -webkit-animation-name: rotateInUpRight;
2606
+ -moz-animation-name: rotateInUpRight;
2607
+ -o-animation-name: rotateInUpRight;
2608
+ animation-name: rotateInUpRight;
2609
+ }
2610
+ @-webkit-keyframes rotateInDownRight {
2611
+ 0% {
2612
+ -webkit-transform-origin: right bottom;
2613
+ -webkit-transform: rotate(90deg);
2614
+ opacity: 0;
2615
+ }
2616
+
2617
+ 100% {
2618
+ -webkit-transform-origin: right bottom;
2619
+ -webkit-transform: rotate(0);
2620
+ opacity: 1;
2621
+ }
2622
+ }
2623
+
2624
+ @-moz-keyframes rotateInDownRight {
2625
+ 0% {
2626
+ -moz-transform-origin: right bottom;
2627
+ -moz-transform: rotate(90deg);
2628
+ opacity: 0;
2629
+ }
2630
+
2631
+ 100% {
2632
+ -moz-transform-origin: right bottom;
2633
+ -moz-transform: rotate(0);
2634
+ opacity: 1;
2635
+ }
2636
+ }
2637
+
2638
+ @-o-keyframes rotateInDownRight {
2639
+ 0% {
2640
+ -o-transform-origin: right bottom;
2641
+ -o-transform: rotate(90deg);
2642
+ opacity: 0;
2643
+ }
2644
+
2645
+ 100% {
2646
+ -o-transform-origin: right bottom;
2647
+ -o-transform: rotate(0);
2648
+ opacity: 1;
2649
+ }
2650
+ }
2651
+
2652
+ @keyframes rotateInDownRight {
2653
+ 0% {
2654
+ transform-origin: right bottom;
2655
+ transform: rotate(90deg);
2656
+ opacity: 0;
2657
+ }
2658
+
2659
+ 100% {
2660
+ transform-origin: right bottom;
2661
+ transform: rotate(0);
2662
+ opacity: 1;
2663
+ }
2664
+ }
2665
+
2666
+ .rotateInDownRight {
2667
+ -webkit-animation-name: rotateInDownRight;
2668
+ -moz-animation-name: rotateInDownRight;
2669
+ -o-animation-name: rotateInDownRight;
2670
+ animation-name: rotateInDownRight;
2671
+ }
2672
+ @-webkit-keyframes rotateOut {
2673
+ 0% {
2674
+ -webkit-transform-origin: center center;
2675
+ -webkit-transform: rotate(0);
2676
+ opacity: 1;
2677
+ }
2678
+
2679
+ 100% {
2680
+ -webkit-transform-origin: center center;
2681
+ -webkit-transform: rotate(200deg);
2682
+ opacity: 0;
2683
+ }
2684
+ }
2685
+
2686
+ @-moz-keyframes rotateOut {
2687
+ 0% {
2688
+ -moz-transform-origin: center center;
2689
+ -moz-transform: rotate(0);
2690
+ opacity: 1;
2691
+ }
2692
+
2693
+ 100% {
2694
+ -moz-transform-origin: center center;
2695
+ -moz-transform: rotate(200deg);
2696
+ opacity: 0;
2697
+ }
2698
+ }
2699
+
2700
+ @-o-keyframes rotateOut {
2701
+ 0% {
2702
+ -o-transform-origin: center center;
2703
+ -o-transform: rotate(0);
2704
+ opacity: 1;
2705
+ }
2706
+
2707
+ 100% {
2708
+ -o-transform-origin: center center;
2709
+ -o-transform: rotate(200deg);
2710
+ opacity: 0;
2711
+ }
2712
+ }
2713
+
2714
+ @keyframes rotateOut {
2715
+ 0% {
2716
+ transform-origin: center center;
2717
+ transform: rotate(0);
2718
+ opacity: 1;
2719
+ }
2720
+
2721
+ 100% {
2722
+ transform-origin: center center;
2723
+ transform: rotate(200deg);
2724
+ opacity: 0;
2725
+ }
2726
+ }
2727
+
2728
+ .rotateOut {
2729
+ -webkit-animation-name: rotateOut;
2730
+ -moz-animation-name: rotateOut;
2731
+ -o-animation-name: rotateOut;
2732
+ animation-name: rotateOut;
2733
+ }
2734
+ @-webkit-keyframes rotateOutUpLeft {
2735
+ 0% {
2736
+ -webkit-transform-origin: left bottom;
2737
+ -webkit-transform: rotate(0);
2738
+ opacity: 1;
2739
+ }
2740
+
2741
+ 100% {
2742
+ -webkit-transform-origin: left bottom;
2743
+ -webkit-transform: rotate(-90deg);
2744
+ opacity: 0;
2745
+ }
2746
+ }
2747
+
2748
+ @-moz-keyframes rotateOutUpLeft {
2749
+ 0% {
2750
+ -moz-transform-origin: left bottom;
2751
+ -moz-transform: rotate(0);
2752
+ opacity: 1;
2753
+ }
2754
+
2755
+ 100% {
2756
+ -moz-transform-origin: left bottom;
2757
+ -moz-transform: rotate(-90deg);
2758
+ opacity: 0;
2759
+ }
2760
+ }
2761
+
2762
+ @-o-keyframes rotateOutUpLeft {
2763
+ 0% {
2764
+ -o-transform-origin: left bottom;
2765
+ -o-transform: rotate(0);
2766
+ opacity: 1;
2767
+ }
2768
+
2769
+ 100% {
2770
+ -o-transform-origin: left bottom;
2771
+ -o-transform: rotate(-90deg);
2772
+ opacity: 0;
2773
+ }
2774
+ }
2775
+
2776
+ @keyframes rotateOutUpLeft {
2777
+ 0% {
2778
+ transform-origin: left bottom;
2779
+ transform: rotate(0);
2780
+ opacity: 1;
2781
+ }
2782
+
2783
+ 100% {
2784
+ transform-origin: left bottom;
2785
+ transform: rotate(-90deg);
2786
+ opacity: 0;
2787
+ }
2788
+ }
2789
+
2790
+ .rotateOutUpLeft {
2791
+ -webkit-animation-name: rotateOutUpLeft;
2792
+ -moz-animation-name: rotateOutUpLeft;
2793
+ -o-animation-name: rotateOutUpLeft;
2794
+ animation-name: rotateOutUpLeft;
2795
+ }
2796
+ @-webkit-keyframes rotateOutDownLeft {
2797
+ 0% {
2798
+ -webkit-transform-origin: left bottom;
2799
+ -webkit-transform: rotate(0);
2800
+ opacity: 1;
2801
+ }
2802
+
2803
+ 100% {
2804
+ -webkit-transform-origin: left bottom;
2805
+ -webkit-transform: rotate(90deg);
2806
+ opacity: 0;
2807
+ }
2808
+ }
2809
+
2810
+ @-moz-keyframes rotateOutDownLeft {
2811
+ 0% {
2812
+ -moz-transform-origin: left bottom;
2813
+ -moz-transform: rotate(0);
2814
+ opacity: 1;
2815
+ }
2816
+
2817
+ 100% {
2818
+ -moz-transform-origin: left bottom;
2819
+ -moz-transform: rotate(90deg);
2820
+ opacity: 0;
2821
+ }
2822
+ }
2823
+
2824
+ @-o-keyframes rotateOutDownLeft {
2825
+ 0% {
2826
+ -o-transform-origin: left bottom;
2827
+ -o-transform: rotate(0);
2828
+ opacity: 1;
2829
+ }
2830
+
2831
+ 100% {
2832
+ -o-transform-origin: left bottom;
2833
+ -o-transform: rotate(90deg);
2834
+ opacity: 0;
2835
+ }
2836
+ }
2837
+
2838
+ @keyframes rotateOutDownLeft {
2839
+ 0% {
2840
+ transform-origin: left bottom;
2841
+ transform: rotate(0);
2842
+ opacity: 1;
2843
+ }
2844
+
2845
+ 100% {
2846
+ transform-origin: left bottom;
2847
+ transform: rotate(90deg);
2848
+ opacity: 0;
2849
+ }
2850
+ }
2851
+
2852
+ .rotateOutDownLeft {
2853
+ -webkit-animation-name: rotateOutDownLeft;
2854
+ -moz-animation-name: rotateOutDownLeft;
2855
+ -o-animation-name: rotateOutDownLeft;
2856
+ animation-name: rotateOutDownLeft;
2857
+ }
2858
+ @-webkit-keyframes rotateOutUpRight {
2859
+ 0% {
2860
+ -webkit-transform-origin: right bottom;
2861
+ -webkit-transform: rotate(0);
2862
+ opacity: 1;
2863
+ }
2864
+
2865
+ 100% {
2866
+ -webkit-transform-origin: right bottom;
2867
+ -webkit-transform: rotate(90deg);
2868
+ opacity: 0;
2869
+ }
2870
+ }
2871
+
2872
+ @-moz-keyframes rotateOutUpRight {
2873
+ 0% {
2874
+ -moz-transform-origin: right bottom;
2875
+ -moz-transform: rotate(0);
2876
+ opacity: 1;
2877
+ }
2878
+
2879
+ 100% {
2880
+ -moz-transform-origin: right bottom;
2881
+ -moz-transform: rotate(90deg);
2882
+ opacity: 0;
2883
+ }
2884
+ }
2885
+
2886
+ @-o-keyframes rotateOutUpRight {
2887
+ 0% {
2888
+ -o-transform-origin: right bottom;
2889
+ -o-transform: rotate(0);
2890
+ opacity: 1;
2891
+ }
2892
+
2893
+ 100% {
2894
+ -o-transform-origin: right bottom;
2895
+ -o-transform: rotate(90deg);
2896
+ opacity: 0;
2897
+ }
2898
+ }
2899
+
2900
+ @keyframes rotateOutUpRight {
2901
+ 0% {
2902
+ transform-origin: right bottom;
2903
+ transform: rotate(0);
2904
+ opacity: 1;
2905
+ }
2906
+
2907
+ 100% {
2908
+ transform-origin: right bottom;
2909
+ transform: rotate(90deg);
2910
+ opacity: 0;
2911
+ }
2912
+ }
2913
+
2914
+ .rotateOutUpRight {
2915
+ -webkit-animation-name: rotateOutUpRight;
2916
+ -moz-animation-name: rotateOutUpRight;
2917
+ -o-animation-name: rotateOutUpRight;
2918
+ animation-name: rotateOutUpRight;
2919
+ }
2920
+ @-webkit-keyframes rotateOutDownRight {
2921
+ 0% {
2922
+ -webkit-transform-origin: right bottom;
2923
+ -webkit-transform: rotate(0);
2924
+ opacity: 1;
2925
+ }
2926
+
2927
+ 100% {
2928
+ -webkit-transform-origin: right bottom;
2929
+ -webkit-transform: rotate(-90deg);
2930
+ opacity: 0;
2931
+ }
2932
+ }
2933
+
2934
+ @-moz-keyframes rotateOutDownRight {
2935
+ 0% {
2936
+ -moz-transform-origin: right bottom;
2937
+ -moz-transform: rotate(0);
2938
+ opacity: 1;
2939
+ }
2940
+
2941
+ 100% {
2942
+ -moz-transform-origin: right bottom;
2943
+ -moz-transform: rotate(-90deg);
2944
+ opacity: 0;
2945
+ }
2946
+ }
2947
+
2948
+ @-o-keyframes rotateOutDownRight {
2949
+ 0% {
2950
+ -o-transform-origin: right bottom;
2951
+ -o-transform: rotate(0);
2952
+ opacity: 1;
2953
+ }
2954
+
2955
+ 100% {
2956
+ -o-transform-origin: right bottom;
2957
+ -o-transform: rotate(-90deg);
2958
+ opacity: 0;
2959
+ }
2960
+ }
2961
+
2962
+ @keyframes rotateOutDownRight {
2963
+ 0% {
2964
+ transform-origin: right bottom;
2965
+ transform: rotate(0);
2966
+ opacity: 1;
2967
+ }
2968
+
2969
+ 100% {
2970
+ transform-origin: right bottom;
2971
+ transform: rotate(-90deg);
2972
+ opacity: 0;
2973
+ }
2974
+ }
2975
+
2976
+ .rotateOutDownRight {
2977
+ -webkit-animation-name: rotateOutDownRight;
2978
+ -moz-animation-name: rotateOutDownRight;
2979
+ -o-animation-name: rotateOutDownRight;
2980
+ animation-name: rotateOutDownRight;
2981
+ }
2982
+ @-webkit-keyframes hinge {
2983
+ 0% { -webkit-transform: rotate(0); -webkit-transform-origin: top left; -webkit-animation-timing-function: ease-in-out; }
2984
+ 20%, 60% { -webkit-transform: rotate(80deg); -webkit-transform-origin: top left; -webkit-animation-timing-function: ease-in-out; }
2985
+ 40% { -webkit-transform: rotate(60deg); -webkit-transform-origin: top left; -webkit-animation-timing-function: ease-in-out; }
2986
+ 80% { -webkit-transform: rotate(60deg) translateY(0); opacity: 1; -webkit-transform-origin: top left; -webkit-animation-timing-function: ease-in-out; }
2987
+ 100% { -webkit-transform: translateY(700px); opacity: 0; }
2988
+ }
2989
+
2990
+ @-moz-keyframes hinge {
2991
+ 0% { -moz-transform: rotate(0); -moz-transform-origin: top left; -moz-animation-timing-function: ease-in-out; }
2992
+ 20%, 60% { -moz-transform: rotate(80deg); -moz-transform-origin: top left; -moz-animation-timing-function: ease-in-out; }
2993
+ 40% { -moz-transform: rotate(60deg); -moz-transform-origin: top left; -moz-animation-timing-function: ease-in-out; }
2994
+ 80% { -moz-transform: rotate(60deg) translateY(0); opacity: 1; -moz-transform-origin: top left; -moz-animation-timing-function: ease-in-out; }
2995
+ 100% { -moz-transform: translateY(700px); opacity: 0; }
2996
+ }
2997
+
2998
+ @-o-keyframes hinge {
2999
+ 0% { -o-transform: rotate(0); -o-transform-origin: top left; -o-animation-timing-function: ease-in-out; }
3000
+ 20%, 60% { -o-transform: rotate(80deg); -o-transform-origin: top left; -o-animation-timing-function: ease-in-out; }
3001
+ 40% { -o-transform: rotate(60deg); -o-transform-origin: top left; -o-animation-timing-function: ease-in-out; }
3002
+ 80% { -o-transform: rotate(60deg) translateY(0); opacity: 1; -o-transform-origin: top left; -o-animation-timing-function: ease-in-out; }
3003
+ 100% { -o-transform: translateY(700px); opacity: 0; }
3004
+ }
3005
+
3006
+ @keyframes hinge {
3007
+ 0% { transform: rotate(0); transform-origin: top left; animation-timing-function: ease-in-out; }
3008
+ 20%, 60% { transform: rotate(80deg); transform-origin: top left; animation-timing-function: ease-in-out; }
3009
+ 40% { transform: rotate(60deg); transform-origin: top left; animation-timing-function: ease-in-out; }
3010
+ 80% { transform: rotate(60deg) translateY(0); opacity: 1; transform-origin: top left; animation-timing-function: ease-in-out; }
3011
+ 100% { transform: translateY(700px); opacity: 0; }
3012
+ }
3013
+
3014
+ .hinge {
3015
+ -webkit-animation-name: hinge;
3016
+ -moz-animation-name: hinge;
3017
+ -o-animation-name: hinge;
3018
+ animation-name: hinge;
3019
+ }
3020
+ /* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
3021
+
3022
+ @-webkit-keyframes rollIn {
3023
+ 0% { opacity: 0; -webkit-transform: translateX(-100%) rotate(-120deg); }
3024
+ 100% { opacity: 1; -webkit-transform: translateX(0px) rotate(0deg); }
3025
+ }
3026
+
3027
+ @-moz-keyframes rollIn {
3028
+ 0% { opacity: 0; -moz-transform: translateX(-100%) rotate(-120deg); }
3029
+ 100% { opacity: 1; -moz-transform: translateX(0px) rotate(0deg); }
3030
+ }
3031
+
3032
+ @-o-keyframes rollIn {
3033
+ 0% { opacity: 0; -o-transform: translateX(-100%) rotate(-120deg); }
3034
+ 100% { opacity: 1; -o-transform: translateX(0px) rotate(0deg); }
3035
+ }
3036
+
3037
+ @keyframes rollIn {
3038
+ 0% { opacity: 0; transform: translateX(-100%) rotate(-120deg); }
3039
+ 100% { opacity: 1; transform: translateX(0px) rotate(0deg); }
3040
+ }
3041
+
3042
+ .rollIn {
3043
+ -webkit-animation-name: rollIn;
3044
+ -moz-animation-name: rollIn;
3045
+ -o-animation-name: rollIn;
3046
+ animation-name: rollIn;
3047
+ }
3048
+ /* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
3049
+
3050
+ @-webkit-keyframes rollOut {
3051
+ 0% {
3052
+ opacity: 1;
3053
+ -webkit-transform: translateX(0px) rotate(0deg);
3054
+ }
3055
+
3056
+ 100% {
3057
+ opacity: 0;
3058
+ -webkit-transform: translateX(100%) rotate(120deg);
3059
+ }
3060
+ }
3061
+
3062
+ @-moz-keyframes rollOut {
3063
+ 0% {
3064
+ opacity: 1;
3065
+ -moz-transform: translateX(0px) rotate(0deg);
3066
+ }
3067
+
3068
+ 100% {
3069
+ opacity: 0;
3070
+ -moz-transform: translateX(100%) rotate(120deg);
3071
+ }
3072
+ }
3073
+
3074
+ @-o-keyframes rollOut {
3075
+ 0% {
3076
+ opacity: 1;
3077
+ -o-transform: translateX(0px) rotate(0deg);
3078
+ }
3079
+
3080
+ 100% {
3081
+ opacity: 0;
3082
+ -o-transform: translateX(100%) rotate(120deg);
3083
+ }
3084
+ }
3085
+
3086
+ @keyframes rollOut {
3087
+ 0% {
3088
+ opacity: 1;
3089
+ transform: translateX(0px) rotate(0deg);
3090
+ }
3091
+
3092
+ 100% {
3093
+ opacity: 0;
3094
+ transform: translateX(100%) rotate(120deg);
3095
+ }
3096
+ }
3097
+
3098
+ .rollOut {
3099
+ -webkit-animation-name: rollOut;
3100
+ -moz-animation-name: rollOut;
3101
+ -o-animation-name: rollOut;
3102
+ animation-name: rollOut;
3103
+ }
3104
+
3105
+ /* originally authored by Angelo Rohit - https://github.com/angelorohit */
3106
+
3107
+ @-webkit-keyframes lightSpeedIn {
3108
+ 0% { -webkit-transform: translateX(100%) skewX(-30deg); opacity: 0; }
3109
+ 60% { -webkit-transform: translateX(-20%) skewX(30deg); opacity: 1; }
3110
+ 80% { -webkit-transform: translateX(0%) skewX(-15deg); opacity: 1; }
3111
+ 100% { -webkit-transform: translateX(0%) skewX(0deg); opacity: 1; }
3112
+ }
3113
+
3114
+ @-moz-keyframes lightSpeedIn {
3115
+ 0% { -moz-transform: translateX(100%) skewX(-30deg); opacity: 0; }
3116
+ 60% { -moz-transform: translateX(-20%) skewX(30deg); opacity: 1; }
3117
+ 80% { -moz-transform: translateX(0%) skewX(-15deg); opacity: 1; }
3118
+ 100% { -moz-transform: translateX(0%) skewX(0deg); opacity: 1; }
3119
+ }
3120
+
3121
+ @-o-keyframes lightSpeedIn {
3122
+ 0% { -o-transform: translateX(100%) skewX(-30deg); opacity: 0; }
3123
+ 60% { -o-transform: translateX(-20%) skewX(30deg); opacity: 1; }
3124
+ 80% { -o-transform: translateX(0%) skewX(-15deg); opacity: 1; }
3125
+ 100% { -o-transform: translateX(0%) skewX(0deg); opacity: 1; }
3126
+ }
3127
+
3128
+ @keyframes lightSpeedIn {
3129
+ 0% { transform: translateX(100%) skewX(-30deg); opacity: 0; }
3130
+ 60% { transform: translateX(-20%) skewX(30deg); opacity: 1; }
3131
+ 80% { transform: translateX(0%) skewX(-15deg); opacity: 1; }
3132
+ 100% { transform: translateX(0%) skewX(0deg); opacity: 1; }
3133
+ }
3134
+
3135
+ .lightSpeedIn {
3136
+ -webkit-animation-name: lightSpeedIn;
3137
+ -moz-animation-name: lightSpeedIn;
3138
+ -o-animation-name: lightSpeedIn;
3139
+ animation-name: lightSpeedIn;
3140
+
3141
+ -webkit-animation-timing-function: ease-out;
3142
+ -moz-animation-timing-function: ease-out;
3143
+ -o-animation-timing-function: ease-out;
3144
+ animation-timing-function: ease-out;
3145
+ }
3146
+
3147
+ .animated.lightSpeedIn {
3148
+ -webkit-animation-duration: 0.5s;
3149
+ -moz-animation-duration: 0.5s;
3150
+ -o-animation-duration: 0.5s;
3151
+ animation-duration: 0.5s;
3152
+ }
3153
+
3154
+ /* originally authored by Angelo Rohit - https://github.com/angelorohit */
3155
+
3156
+ @-webkit-keyframes lightSpeedOut {
3157
+ 0% { -webkit-transform: translateX(0%) skewX(0deg); opacity: 1; }
3158
+ 100% { -webkit-transform: translateX(100%) skewX(-30deg); opacity: 0; }
3159
+ }
3160
+
3161
+ @-moz-keyframes lightSpeedOut {
3162
+ 0% { -moz-transform: translateX(0%) skewX(0deg); opacity: 1; }
3163
+ 100% { -moz-transform: translateX(100%) skewX(-30deg); opacity: 0; }
3164
+ }
3165
+
3166
+ @-o-keyframes lightSpeedOut {
3167
+ 0% { -o-transform: translateX(0%) skewX(0deg); opacity: 1; }
3168
+ 100% { -o-transform: translateX(100%) skewX(-30deg); opacity: 0; }
3169
+ }
3170
+
3171
+ @keyframes lightSpeedOut {
3172
+ 0% { transform: translateX(0%) skewX(0deg); opacity: 1; }
3173
+ 100% { transform: translateX(100%) skewX(-30deg); opacity: 0; }
3174
+ }
3175
+
3176
+ .lightSpeedOut {
3177
+ -webkit-animation-name: lightSpeedOut;
3178
+ -moz-animation-name: lightSpeedOut;
3179
+ -o-animation-name: lightSpeedOut;
3180
+ animation-name: lightSpeedOut;
3181
+
3182
+ -webkit-animation-timing-function: ease-in;
3183
+ -moz-animation-timing-function: ease-in;
3184
+ -o-animation-timing-function: ease-in;
3185
+ animation-timing-function: ease-in;
3186
+ }
3187
+
3188
+ .animated.lightSpeedOut {
3189
+ -webkit-animation-duration: 0.25s;
3190
+ -moz-animation-duration: 0.25s;
3191
+ -o-animation-duration: 0.25s;
3192
+ animation-duration: 0.25s;
3193
+ }
3194
+
3195
+ /* originally authored by Angelo Rohit - https://github.com/angelorohit */
3196
+
3197
+ @-webkit-keyframes wiggle {
3198
+ 0% { -webkit-transform: skewX(9deg); }
3199
+ 10% { -webkit-transform: skewX(-8deg); }
3200
+ 20% { -webkit-transform: skewX(7deg); }
3201
+ 30% { -webkit-transform: skewX(-6deg); }
3202
+ 40% { -webkit-transform: skewX(5deg); }
3203
+ 50% { -webkit-transform: skewX(-4deg); }
3204
+ 60% { -webkit-transform: skewX(3deg); }
3205
+ 70% { -webkit-transform: skewX(-2deg); }
3206
+ 80% { -webkit-transform: skewX(1deg); }
3207
+ 90% { -webkit-transform: skewX(0deg); }
3208
+ 100% { -webkit-transform: skewX(0deg); }
3209
+ }
3210
+
3211
+ @-moz-keyframes wiggle {
3212
+ 0% { -moz-transform: skewX(9deg); }
3213
+ 10% { -moz-transform: skewX(-8deg); }
3214
+ 20% { -moz-transform: skewX(7deg); }
3215
+ 30% { -moz-transform: skewX(-6deg); }
3216
+ 40% { -moz-transform: skewX(5deg); }
3217
+ 50% { -moz-transform: skewX(-4deg); }
3218
+ 60% { -moz-transform: skewX(3deg); }
3219
+ 70% { -moz-transform: skewX(-2deg); }
3220
+ 80% { -moz-transform: skewX(1deg); }
3221
+ 90% { -moz-transform: skewX(0deg); }
3222
+ 100% { -moz-transform: skewX(0deg); }
3223
+ }
3224
+
3225
+ @-o-keyframes wiggle {
3226
+ 0% { -o-transform: skewX(9deg); }
3227
+ 10% { -o-transform: skewX(-8deg); }
3228
+ 20% { -o-transform: skewX(7deg); }
3229
+ 30% { -o-transform: skewX(-6deg); }
3230
+ 40% { -o-transform: skewX(5deg); }
3231
+ 50% { -o-transform: skewX(-4deg); }
3232
+ 60% { -o-transform: skewX(3deg); }
3233
+ 70% { -o-transform: skewX(-2deg); }
3234
+ 80% { -o-transform: skewX(1deg); }
3235
+ 90% { -o-transform: skewX(0deg); }
3236
+ 100% { -o-transform: skewX(0deg); }
3237
+ }
3238
+
3239
+ @keyframes wiggle {
3240
+ 0% { transform: skewX(9deg); }
3241
+ 10% { transform: skewX(-8deg); }
3242
+ 20% { transform: skewX(7deg); }
3243
+ 30% { transform: skewX(-6deg); }
3244
+ 40% { transform: skewX(5deg); }
3245
+ 50% { transform: skewX(-4deg); }
3246
+ 60% { transform: skewX(3deg); }
3247
+ 70% { transform: skewX(-2deg); }
3248
+ 80% { transform: skewX(1deg); }
3249
+ 90% { transform: skewX(0deg); }
3250
+ 100% { transform: skewX(0deg); }
3251
+ }
3252
+
3253
+ .wiggle {
3254
+ -webkit-animation-name: wiggle;
3255
+ -moz-animation-name: wiggle;
3256
+ -o-animation-name: wiggle;
3257
+ animation-name: wiggle;
3258
+
3259
+ -webkit-animation-timing-function: ease-in;
3260
+ -moz-animation-timing-function: ease-in;
3261
+ -o-animation-timing-function: ease-in;
3262
+ animation-timing-function: ease-in;
3263
+ }
3264
+
3265
+ .animated.wiggle {
3266
+ -webkit-animation-duration: 0.75s;
3267
+ -moz-animation-duration: 0.75s;
3268
+ -o-animation-duration: 0.75s;
3269
+ animation-duration: 0.75s;
3270
+ }