abstracted 0.0.6 → 0.0.14

Sign up to get free protection for your applications and to get access to all the features.
Files changed (224) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +1 -1
  3. data/Gemfile.lock +11 -8
  4. data/app/assets/javascripts/abstract_resources.js +29 -25
  5. data/app/assets/javascripts/crud.js.coffee +174 -29
  6. data/app/assets/javascripts/initializers.js.coffee +403 -58
  7. data/app/assets/javascripts/pagescrolling.js.coffee +92 -0
  8. data/app/assets/stylesheets/abstract_resources.css +5 -0
  9. data/app/assets/stylesheets/scaffold.css +4 -2
  10. data/app/assets/stylesheets/selectize.css.scss +0 -0
  11. data/app/controllers/abstract_resources_controller.rb +473 -134
  12. data/app/controllers/application_controller.rb +22 -7
  13. data/app/helpers/abstract_resources_helper.rb +515 -9
  14. data/app/helpers/fab_button_helper.rb +82 -0
  15. data/app/models/abstract_resource.rb +141 -89
  16. data/app/models/ancestry_abstract_resource.rb +27 -0
  17. data/app/models/concerns/roleable.rb +1 -1
  18. data/app/policies/abstract_resource_policy.rb +25 -0
  19. data/app/views/abstract_resources/_title.html.haml +2 -0
  20. data/app/views/abstract_resources/activate.html.haml +5 -0
  21. data/app/views/abstract_resources/attach.html.haml +6 -0
  22. data/app/views/abstract_resources/deactivate.html.haml +5 -0
  23. data/app/views/abstract_resources/defer.html.haml +5 -0
  24. data/app/views/abstract_resources/destroy.js.haml +2 -1
  25. data/app/views/abstract_resources/detach.html.haml +5 -0
  26. data/app/views/abstract_resources/edit.html.haml +4 -9
  27. data/app/views/abstract_resources/error.html.haml +2 -0
  28. data/app/views/abstract_resources/error.js.haml +2 -0
  29. data/app/views/abstract_resources/index.html.haml +27 -0
  30. data/app/views/abstract_resources/index.js.haml +2 -0
  31. data/app/views/abstract_resources/new.html.haml +4 -10
  32. data/app/views/abstract_resources/prefer.html.haml +5 -0
  33. data/app/views/abstract_resources/print.html.haml +2 -0
  34. data/app/views/abstract_resources/print.js.haml +2 -0
  35. data/app/views/abstract_resources/show.html.haml +5 -11
  36. data/app/views/layouts/_messages.html.haml +1 -0
  37. data/app/views/layouts/_navigation.html.haml +13 -0
  38. data/bower.json +34 -0
  39. data/config/initializers/exception.rb +19 -0
  40. data/config/initializers/pundit.rb +22 -0
  41. data/config/routes.rb +24 -0
  42. data/lib/abstracted.rb +3 -0
  43. data/lib/abstracted/version.rb +1 -1
  44. data/lib/abstracted_responder.rb +1 -0
  45. data/lib/exceptions.rb +61 -0
  46. data/vendor/assets/components/jquery/.bower.json +38 -0
  47. data/vendor/assets/components/jquery/MIT-LICENSE.txt +21 -0
  48. data/vendor/assets/components/jquery/bower.json +28 -0
  49. data/vendor/assets/components/jquery/dist/jquery.js +9210 -0
  50. data/vendor/assets/components/jquery/dist/jquery.min.js +5 -0
  51. data/vendor/assets/components/jquery/dist/jquery.min.map +1 -0
  52. data/vendor/assets/components/jquery/src/ajax.js +786 -0
  53. data/vendor/assets/components/jquery/src/ajax/jsonp.js +89 -0
  54. data/vendor/assets/components/jquery/src/ajax/load.js +75 -0
  55. data/vendor/assets/components/jquery/src/ajax/parseJSON.js +13 -0
  56. data/vendor/assets/components/jquery/src/ajax/parseXML.js +28 -0
  57. data/vendor/assets/components/jquery/src/ajax/script.js +64 -0
  58. data/vendor/assets/components/jquery/src/ajax/var/nonce.js +5 -0
  59. data/vendor/assets/components/jquery/src/ajax/var/rquery.js +3 -0
  60. data/vendor/assets/components/jquery/src/ajax/xhr.js +136 -0
  61. data/vendor/assets/components/jquery/src/attributes.js +11 -0
  62. data/vendor/assets/components/jquery/src/attributes/attr.js +141 -0
  63. data/vendor/assets/components/jquery/src/attributes/classes.js +158 -0
  64. data/vendor/assets/components/jquery/src/attributes/prop.js +94 -0
  65. data/vendor/assets/components/jquery/src/attributes/support.js +35 -0
  66. data/vendor/assets/components/jquery/src/attributes/val.js +161 -0
  67. data/vendor/assets/components/jquery/src/callbacks.js +205 -0
  68. data/vendor/assets/components/jquery/src/core.js +502 -0
  69. data/vendor/assets/components/jquery/src/core/access.js +60 -0
  70. data/vendor/assets/components/jquery/src/core/init.js +123 -0
  71. data/vendor/assets/components/jquery/src/core/parseHTML.js +39 -0
  72. data/vendor/assets/components/jquery/src/core/ready.js +97 -0
  73. data/vendor/assets/components/jquery/src/core/var/rsingleTag.js +4 -0
  74. data/vendor/assets/components/jquery/src/css.js +450 -0
  75. data/vendor/assets/components/jquery/src/css/addGetHookIf.js +22 -0
  76. data/vendor/assets/components/jquery/src/css/curCSS.js +57 -0
  77. data/vendor/assets/components/jquery/src/css/defaultDisplay.js +70 -0
  78. data/vendor/assets/components/jquery/src/css/hiddenVisibleSelectors.js +15 -0
  79. data/vendor/assets/components/jquery/src/css/support.js +96 -0
  80. data/vendor/assets/components/jquery/src/css/swap.js +28 -0
  81. data/vendor/assets/components/jquery/src/css/var/cssExpand.js +3 -0
  82. data/vendor/assets/components/jquery/src/css/var/getStyles.js +12 -0
  83. data/vendor/assets/components/jquery/src/css/var/isHidden.js +13 -0
  84. data/vendor/assets/components/jquery/src/css/var/rmargin.js +3 -0
  85. data/vendor/assets/components/jquery/src/css/var/rnumnonpx.js +5 -0
  86. data/vendor/assets/components/jquery/src/data.js +178 -0
  87. data/vendor/assets/components/jquery/src/data/Data.js +181 -0
  88. data/vendor/assets/components/jquery/src/data/accepts.js +20 -0
  89. data/vendor/assets/components/jquery/src/data/var/data_priv.js +5 -0
  90. data/vendor/assets/components/jquery/src/data/var/data_user.js +5 -0
  91. data/vendor/assets/components/jquery/src/deferred.js +149 -0
  92. data/vendor/assets/components/jquery/src/deprecated.js +13 -0
  93. data/vendor/assets/components/jquery/src/dimensions.js +50 -0
  94. data/vendor/assets/components/jquery/src/effects.js +648 -0
  95. data/vendor/assets/components/jquery/src/effects/Tween.js +114 -0
  96. data/vendor/assets/components/jquery/src/effects/animatedSelector.js +13 -0
  97. data/vendor/assets/components/jquery/src/event.js +868 -0
  98. data/vendor/assets/components/jquery/src/event/ajax.js +13 -0
  99. data/vendor/assets/components/jquery/src/event/alias.js +39 -0
  100. data/vendor/assets/components/jquery/src/event/support.js +9 -0
  101. data/vendor/assets/components/jquery/src/exports/amd.js +24 -0
  102. data/vendor/assets/components/jquery/src/exports/global.js +32 -0
  103. data/vendor/assets/components/jquery/src/intro.js +44 -0
  104. data/vendor/assets/components/jquery/src/jquery.js +37 -0
  105. data/vendor/assets/components/jquery/src/manipulation.js +580 -0
  106. data/vendor/assets/components/jquery/src/manipulation/_evalUrl.js +18 -0
  107. data/vendor/assets/components/jquery/src/manipulation/support.js +32 -0
  108. data/vendor/assets/components/jquery/src/manipulation/var/rcheckableType.js +3 -0
  109. data/vendor/assets/components/jquery/src/offset.js +207 -0
  110. data/vendor/assets/components/jquery/src/outro.js +1 -0
  111. data/vendor/assets/components/jquery/src/queue.js +142 -0
  112. data/vendor/assets/components/jquery/src/queue/delay.js +22 -0
  113. data/vendor/assets/components/jquery/src/selector-native.js +172 -0
  114. data/vendor/assets/components/jquery/src/selector-sizzle.js +14 -0
  115. data/vendor/assets/components/jquery/src/selector.js +1 -0
  116. data/vendor/assets/components/jquery/src/serialize.js +111 -0
  117. data/vendor/assets/components/jquery/src/sizzle/dist/sizzle.js +2067 -0
  118. data/vendor/assets/components/jquery/src/sizzle/dist/sizzle.min.js +3 -0
  119. data/vendor/assets/components/jquery/src/sizzle/dist/sizzle.min.map +1 -0
  120. data/vendor/assets/components/jquery/src/traversing.js +199 -0
  121. data/vendor/assets/components/jquery/src/traversing/findFilter.js +100 -0
  122. data/vendor/assets/components/jquery/src/traversing/var/rneedsContext.js +6 -0
  123. data/vendor/assets/components/jquery/src/var/arr.js +3 -0
  124. data/vendor/assets/components/jquery/src/var/class2type.js +4 -0
  125. data/vendor/assets/components/jquery/src/var/concat.js +5 -0
  126. data/vendor/assets/components/jquery/src/var/hasOwn.js +5 -0
  127. data/vendor/assets/components/jquery/src/var/indexOf.js +5 -0
  128. data/vendor/assets/components/jquery/src/var/pnum.js +3 -0
  129. data/vendor/assets/components/jquery/src/var/push.js +5 -0
  130. data/vendor/assets/components/jquery/src/var/rnotwhite.js +3 -0
  131. data/vendor/assets/components/jquery/src/var/slice.js +5 -0
  132. data/vendor/assets/components/jquery/src/var/strundefined.js +3 -0
  133. data/vendor/assets/components/jquery/src/var/support.js +4 -0
  134. data/vendor/assets/components/jquery/src/var/toString.js +5 -0
  135. data/vendor/assets/components/jquery/src/wrap.js +79 -0
  136. data/vendor/assets/components/microplugin/.bower.json +38 -0
  137. data/vendor/assets/components/microplugin/.gitignore +2 -0
  138. data/vendor/assets/components/microplugin/.npmignore +3 -0
  139. data/vendor/assets/components/microplugin/README.md +115 -0
  140. data/vendor/assets/components/microplugin/bower.json +22 -0
  141. data/vendor/assets/components/microplugin/package.json +15 -0
  142. data/vendor/assets/components/microplugin/src/microplugin.js +135 -0
  143. data/vendor/assets/components/selectize/.bower.json +60 -0
  144. data/vendor/assets/components/selectize/.gitignore +5 -0
  145. data/vendor/assets/components/selectize/LICENSE +202 -0
  146. data/vendor/assets/components/selectize/README.md +105 -0
  147. data/vendor/assets/components/selectize/bower.json +40 -0
  148. data/vendor/assets/components/selectize/dist/css/selectize.bootstrap2.css +487 -0
  149. data/vendor/assets/components/selectize/dist/css/selectize.bootstrap3.css +401 -0
  150. data/vendor/assets/components/selectize/dist/css/selectize.css +317 -0
  151. data/vendor/assets/components/selectize/dist/css/selectize.default.css +387 -0
  152. data/vendor/assets/components/selectize/dist/css/selectize.legacy.css +364 -0
  153. data/vendor/assets/components/selectize/dist/js/selectize.js +3058 -0
  154. data/vendor/assets/components/selectize/dist/js/selectize.min.js +3 -0
  155. data/vendor/assets/components/selectize/dist/js/standalone/selectize.js +3667 -0
  156. data/vendor/assets/components/selectize/dist/js/standalone/selectize.min.js +3 -0
  157. data/vendor/assets/components/selectize/dist/less/plugins/drag_drop.less +16 -0
  158. data/vendor/assets/components/selectize/dist/less/plugins/dropdown_header.less +20 -0
  159. data/vendor/assets/components/selectize/dist/less/plugins/optgroup_columns.less +17 -0
  160. data/vendor/assets/components/selectize/dist/less/plugins/remove_button.less +37 -0
  161. data/vendor/assets/components/selectize/dist/less/selectize.bootstrap2.less +161 -0
  162. data/vendor/assets/components/selectize/dist/less/selectize.bootstrap3.less +150 -0
  163. data/vendor/assets/components/selectize/dist/less/selectize.default.less +84 -0
  164. data/vendor/assets/components/selectize/dist/less/selectize.legacy.less +75 -0
  165. data/vendor/assets/components/selectize/dist/less/selectize.less +295 -0
  166. data/vendor/assets/components/selectize/karma.conf.js +107 -0
  167. data/vendor/assets/components/sifter/.bower.json +44 -0
  168. data/vendor/assets/components/sifter/.gitignore +3 -0
  169. data/vendor/assets/components/sifter/.npmignore +4 -0
  170. data/vendor/assets/components/sifter/README.md +149 -0
  171. data/vendor/assets/components/sifter/bower.json +23 -0
  172. data/vendor/assets/components/sifter/package.json +48 -0
  173. data/vendor/assets/components/sifter/sifter.js +471 -0
  174. data/vendor/assets/components/sifter/sifter.min.js +2 -0
  175. data/vendor/assets/components/sweetalert/.bower.json +36 -0
  176. data/vendor/assets/components/sweetalert/.editorconfig +11 -0
  177. data/vendor/assets/components/sweetalert/.gitignore +5 -0
  178. data/vendor/assets/components/sweetalert/.jshintrc +11 -0
  179. data/vendor/assets/components/sweetalert/.travis.yml +6 -0
  180. data/vendor/assets/components/sweetalert/LICENSE +22 -0
  181. data/vendor/assets/components/sweetalert/README.md +157 -0
  182. data/vendor/assets/components/sweetalert/bower.json +25 -0
  183. data/vendor/assets/components/sweetalert/dev/gulpfile-wrap-template.js +18 -0
  184. data/vendor/assets/components/sweetalert/dev/ie9.css +23 -0
  185. data/vendor/assets/components/sweetalert/dev/loader-animation.css +209 -0
  186. data/vendor/assets/components/sweetalert/dev/modules/default-params.js +26 -0
  187. data/vendor/assets/components/sweetalert/dev/modules/handle-click.js +128 -0
  188. data/vendor/assets/components/sweetalert/dev/modules/handle-dom.js +161 -0
  189. data/vendor/assets/components/sweetalert/dev/modules/handle-key.js +73 -0
  190. data/vendor/assets/components/sweetalert/dev/modules/handle-swal-dom.js +148 -0
  191. data/vendor/assets/components/sweetalert/dev/modules/injected-html.js +69 -0
  192. data/vendor/assets/components/sweetalert/dev/modules/set-params.js +221 -0
  193. data/vendor/assets/components/sweetalert/dev/modules/utils.js +71 -0
  194. data/vendor/assets/components/sweetalert/dev/sweetalert.es6.js +311 -0
  195. data/vendor/assets/components/sweetalert/dev/sweetalert.scss +648 -0
  196. data/vendor/assets/components/sweetalert/dist/sweetalert-dev.js +1281 -0
  197. data/vendor/assets/components/sweetalert/dist/sweetalert.css +932 -0
  198. data/vendor/assets/components/sweetalert/dist/sweetalert.min.js +1 -0
  199. data/vendor/assets/components/sweetalert/example/example.css +442 -0
  200. data/vendor/assets/components/sweetalert/example/example.scss +580 -0
  201. data/vendor/assets/components/sweetalert/example/images/logo_big.png +0 -0
  202. data/vendor/assets/components/sweetalert/example/images/logo_big@2x.png +0 -0
  203. data/vendor/assets/components/sweetalert/example/images/logo_small.png +0 -0
  204. data/vendor/assets/components/sweetalert/example/images/logo_small@2x.png +0 -0
  205. data/vendor/assets/components/sweetalert/example/images/te-logo-small.svg +12 -0
  206. data/vendor/assets/components/sweetalert/example/images/thumbs-up.jpg +0 -0
  207. data/vendor/assets/components/sweetalert/example/images/vs_icon.png +0 -0
  208. data/vendor/assets/components/sweetalert/example/images/vs_icon@2x.png +0 -0
  209. data/vendor/assets/components/sweetalert/gulpfile.js +97 -0
  210. data/vendor/assets/components/sweetalert/index.html +584 -0
  211. data/vendor/assets/components/sweetalert/package.json +45 -0
  212. data/vendor/assets/components/sweetalert/sweetalert.gif +0 -0
  213. data/vendor/assets/components/sweetalert/test/index.html +20 -0
  214. data/vendor/assets/components/sweetalert/test/tests.js +143 -0
  215. data/vendor/assets/components/sweetalert/themes/facebook/facebook.css +111 -0
  216. data/vendor/assets/components/sweetalert/themes/facebook/facebook.scss +146 -0
  217. data/vendor/assets/components/sweetalert/themes/google/google.css +115 -0
  218. data/vendor/assets/components/sweetalert/themes/google/google.scss +148 -0
  219. data/vendor/assets/components/sweetalert/themes/twitter/twitter.css +140 -0
  220. data/vendor/assets/components/sweetalert/themes/twitter/twitter.scss +177 -0
  221. metadata +214 -5
  222. data/abstracted-0.0.4.gem +0 -0
  223. data/abstracted.gemspec +0 -51
  224. data/app/views/abstract_resources/index.html.erb +0 -1
@@ -0,0 +1,932 @@
1
+ body.stop-scrolling {
2
+ height: 100%;
3
+ overflow: hidden; }
4
+
5
+ .sweet-overlay {
6
+ background-color: black;
7
+ /* IE8 */
8
+ -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=40)";
9
+ /* IE8 */
10
+ background-color: rgba(0, 0, 0, 0.4);
11
+ position: fixed;
12
+ left: 0;
13
+ right: 0;
14
+ top: 0;
15
+ bottom: 0;
16
+ display: none;
17
+ z-index: 10000; }
18
+
19
+ .sweet-alert {
20
+ background-color: white;
21
+ font-family: 'Open Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif;
22
+ width: 478px;
23
+ padding: 17px;
24
+ border-radius: 5px;
25
+ text-align: center;
26
+ position: fixed;
27
+ left: 50%;
28
+ top: 50%;
29
+ margin-left: -256px;
30
+ margin-top: -200px;
31
+ overflow: hidden;
32
+ display: none;
33
+ z-index: 99999; }
34
+ @media all and (max-width: 540px) {
35
+ .sweet-alert {
36
+ width: auto;
37
+ margin-left: 0;
38
+ margin-right: 0;
39
+ left: 15px;
40
+ right: 15px; } }
41
+ .sweet-alert h2 {
42
+ color: #575757;
43
+ font-size: 30px;
44
+ text-align: center;
45
+ font-weight: 600;
46
+ text-transform: none;
47
+ position: relative;
48
+ margin: 25px 0;
49
+ padding: 0;
50
+ line-height: 40px;
51
+ display: block; }
52
+ .sweet-alert p {
53
+ color: #797979;
54
+ font-size: 16px;
55
+ text-align: center;
56
+ font-weight: 300;
57
+ position: relative;
58
+ text-align: inherit;
59
+ float: none;
60
+ margin: 0;
61
+ padding: 0;
62
+ line-height: normal; }
63
+ .sweet-alert fieldset {
64
+ border: none;
65
+ position: relative; }
66
+ .sweet-alert .sa-error-container {
67
+ background-color: #f1f1f1;
68
+ margin-left: -17px;
69
+ margin-right: -17px;
70
+ overflow: hidden;
71
+ padding: 0 10px;
72
+ max-height: 0;
73
+ webkit-transition: padding 0.15s, max-height 0.15s;
74
+ transition: padding 0.15s, max-height 0.15s; }
75
+ .sweet-alert .sa-error-container.show {
76
+ padding: 10px 0;
77
+ max-height: 100px;
78
+ webkit-transition: padding 0.2s, max-height 0.2s;
79
+ transition: padding 0.25s, max-height 0.25s; }
80
+ .sweet-alert .sa-error-container .icon {
81
+ display: inline-block;
82
+ width: 24px;
83
+ height: 24px;
84
+ border-radius: 50%;
85
+ background-color: #ea7d7d;
86
+ color: white;
87
+ line-height: 24px;
88
+ text-align: center;
89
+ margin-right: 3px; }
90
+ .sweet-alert .sa-error-container p {
91
+ display: inline-block; }
92
+ .sweet-alert .sa-input-error {
93
+ position: absolute;
94
+ top: 29px;
95
+ right: 26px;
96
+ width: 20px;
97
+ height: 20px;
98
+ opacity: 0;
99
+ -webkit-transform: scale(0.5);
100
+ transform: scale(0.5);
101
+ -webkit-transform-origin: 50% 50%;
102
+ transform-origin: 50% 50%;
103
+ -webkit-transition: all 0.1s;
104
+ transition: all 0.1s; }
105
+ .sweet-alert .sa-input-error::before, .sweet-alert .sa-input-error::after {
106
+ content: "";
107
+ width: 20px;
108
+ height: 6px;
109
+ background-color: #f06e57;
110
+ border-radius: 3px;
111
+ position: absolute;
112
+ top: 50%;
113
+ margin-top: -4px;
114
+ left: 50%;
115
+ margin-left: -9px; }
116
+ .sweet-alert .sa-input-error::before {
117
+ -webkit-transform: rotate(-45deg);
118
+ transform: rotate(-45deg); }
119
+ .sweet-alert .sa-input-error::after {
120
+ -webkit-transform: rotate(45deg);
121
+ transform: rotate(45deg); }
122
+ .sweet-alert .sa-input-error.show {
123
+ opacity: 1;
124
+ -webkit-transform: scale(1);
125
+ transform: scale(1); }
126
+ .sweet-alert input {
127
+ width: 100%;
128
+ box-sizing: border-box;
129
+ border-radius: 3px;
130
+ border: 1px solid #d7d7d7;
131
+ height: 43px;
132
+ margin-top: 10px;
133
+ margin-bottom: 17px;
134
+ font-size: 18px;
135
+ box-shadow: inset 0px 1px 1px rgba(0, 0, 0, 0.06);
136
+ padding: 0 12px;
137
+ display: none;
138
+ -webkit-transition: all 0.3s;
139
+ transition: all 0.3s; }
140
+ .sweet-alert input:focus {
141
+ outline: none;
142
+ box-shadow: 0px 0px 3px #c4e6f5;
143
+ border: 1px solid #b4dbed; }
144
+ .sweet-alert input:focus::-moz-placeholder {
145
+ transition: opacity 0.3s 0.03s ease;
146
+ opacity: 0.5; }
147
+ .sweet-alert input:focus:-ms-input-placeholder {
148
+ transition: opacity 0.3s 0.03s ease;
149
+ opacity: 0.5; }
150
+ .sweet-alert input:focus::-webkit-input-placeholder {
151
+ transition: opacity 0.3s 0.03s ease;
152
+ opacity: 0.5; }
153
+ .sweet-alert input::-moz-placeholder {
154
+ color: #bdbdbd; }
155
+ .sweet-alert input:-ms-input-placeholder {
156
+ color: #bdbdbd; }
157
+ .sweet-alert input::-webkit-input-placeholder {
158
+ color: #bdbdbd; }
159
+ .sweet-alert.show-input input {
160
+ display: block; }
161
+ .sweet-alert .sa-confirm-button-container {
162
+ display: inline-block;
163
+ position: relative; }
164
+ .sweet-alert .la-ball-fall {
165
+ position: absolute;
166
+ left: 50%;
167
+ top: 50%;
168
+ margin-left: -27px;
169
+ margin-top: 4px;
170
+ opacity: 0;
171
+ visibility: hidden; }
172
+ .sweet-alert button {
173
+ background-color: #8CD4F5;
174
+ color: white;
175
+ border: none;
176
+ box-shadow: none;
177
+ font-size: 17px;
178
+ font-weight: 500;
179
+ -webkit-border-radius: 4px;
180
+ border-radius: 5px;
181
+ padding: 10px 32px;
182
+ margin: 26px 5px 0 5px;
183
+ cursor: pointer; }
184
+ .sweet-alert button:focus {
185
+ outline: none;
186
+ box-shadow: 0 0 2px rgba(128, 179, 235, 0.5), inset 0 0 0 1px rgba(0, 0, 0, 0.05); }
187
+ .sweet-alert button:hover {
188
+ background-color: #7ecff4; }
189
+ .sweet-alert button:active {
190
+ background-color: #5dc2f1; }
191
+ .sweet-alert button.cancel {
192
+ background-color: #C1C1C1; }
193
+ .sweet-alert button.cancel:hover {
194
+ background-color: #b9b9b9; }
195
+ .sweet-alert button.cancel:active {
196
+ background-color: #a8a8a8; }
197
+ .sweet-alert button.cancel:focus {
198
+ box-shadow: rgba(197, 205, 211, 0.8) 0px 0px 2px, rgba(0, 0, 0, 0.0470588) 0px 0px 0px 1px inset !important; }
199
+ .sweet-alert button[disabled] {
200
+ opacity: .6;
201
+ cursor: default; }
202
+ .sweet-alert button.confirm[disabled] {
203
+ color: transparent; }
204
+ .sweet-alert button.confirm[disabled] ~ .la-ball-fall {
205
+ opacity: 1;
206
+ visibility: visible;
207
+ transition-delay: 0s; }
208
+ .sweet-alert button::-moz-focus-inner {
209
+ border: 0; }
210
+ .sweet-alert[data-has-cancel-button=false] button {
211
+ box-shadow: none !important; }
212
+ .sweet-alert[data-has-confirm-button=false][data-has-cancel-button=false] {
213
+ padding-bottom: 40px; }
214
+ .sweet-alert .sa-icon {
215
+ width: 80px;
216
+ height: 80px;
217
+ border: 4px solid gray;
218
+ -webkit-border-radius: 40px;
219
+ border-radius: 40px;
220
+ border-radius: 50%;
221
+ margin: 20px auto;
222
+ padding: 0;
223
+ position: relative;
224
+ box-sizing: content-box; }
225
+ .sweet-alert .sa-icon.sa-error {
226
+ border-color: #F27474; }
227
+ .sweet-alert .sa-icon.sa-error .sa-x-mark {
228
+ position: relative;
229
+ display: block; }
230
+ .sweet-alert .sa-icon.sa-error .sa-line {
231
+ position: absolute;
232
+ height: 5px;
233
+ width: 47px;
234
+ background-color: #F27474;
235
+ display: block;
236
+ top: 37px;
237
+ border-radius: 2px; }
238
+ .sweet-alert .sa-icon.sa-error .sa-line.sa-left {
239
+ -webkit-transform: rotate(45deg);
240
+ transform: rotate(45deg);
241
+ left: 17px; }
242
+ .sweet-alert .sa-icon.sa-error .sa-line.sa-right {
243
+ -webkit-transform: rotate(-45deg);
244
+ transform: rotate(-45deg);
245
+ right: 16px; }
246
+ .sweet-alert .sa-icon.sa-warning {
247
+ border-color: #F8BB86; }
248
+ .sweet-alert .sa-icon.sa-warning .sa-body {
249
+ position: absolute;
250
+ width: 5px;
251
+ height: 47px;
252
+ left: 50%;
253
+ top: 10px;
254
+ -webkit-border-radius: 2px;
255
+ border-radius: 2px;
256
+ margin-left: -2px;
257
+ background-color: #F8BB86; }
258
+ .sweet-alert .sa-icon.sa-warning .sa-dot {
259
+ position: absolute;
260
+ width: 7px;
261
+ height: 7px;
262
+ -webkit-border-radius: 50%;
263
+ border-radius: 50%;
264
+ margin-left: -3px;
265
+ left: 50%;
266
+ bottom: 10px;
267
+ background-color: #F8BB86; }
268
+ .sweet-alert .sa-icon.sa-info {
269
+ border-color: #C9DAE1; }
270
+ .sweet-alert .sa-icon.sa-info::before {
271
+ content: "";
272
+ position: absolute;
273
+ width: 5px;
274
+ height: 29px;
275
+ left: 50%;
276
+ bottom: 17px;
277
+ border-radius: 2px;
278
+ margin-left: -2px;
279
+ background-color: #C9DAE1; }
280
+ .sweet-alert .sa-icon.sa-info::after {
281
+ content: "";
282
+ position: absolute;
283
+ width: 7px;
284
+ height: 7px;
285
+ border-radius: 50%;
286
+ margin-left: -3px;
287
+ top: 19px;
288
+ background-color: #C9DAE1; }
289
+ .sweet-alert .sa-icon.sa-success {
290
+ border-color: #A5DC86; }
291
+ .sweet-alert .sa-icon.sa-success::before, .sweet-alert .sa-icon.sa-success::after {
292
+ content: '';
293
+ -webkit-border-radius: 40px;
294
+ border-radius: 40px;
295
+ border-radius: 50%;
296
+ position: absolute;
297
+ width: 60px;
298
+ height: 120px;
299
+ background: white;
300
+ -webkit-transform: rotate(45deg);
301
+ transform: rotate(45deg); }
302
+ .sweet-alert .sa-icon.sa-success::before {
303
+ -webkit-border-radius: 120px 0 0 120px;
304
+ border-radius: 120px 0 0 120px;
305
+ top: -7px;
306
+ left: -33px;
307
+ -webkit-transform: rotate(-45deg);
308
+ transform: rotate(-45deg);
309
+ -webkit-transform-origin: 60px 60px;
310
+ transform-origin: 60px 60px; }
311
+ .sweet-alert .sa-icon.sa-success::after {
312
+ -webkit-border-radius: 0 120px 120px 0;
313
+ border-radius: 0 120px 120px 0;
314
+ top: -11px;
315
+ left: 30px;
316
+ -webkit-transform: rotate(-45deg);
317
+ transform: rotate(-45deg);
318
+ -webkit-transform-origin: 0px 60px;
319
+ transform-origin: 0px 60px; }
320
+ .sweet-alert .sa-icon.sa-success .sa-placeholder {
321
+ width: 80px;
322
+ height: 80px;
323
+ border: 4px solid rgba(165, 220, 134, 0.2);
324
+ -webkit-border-radius: 40px;
325
+ border-radius: 40px;
326
+ border-radius: 50%;
327
+ box-sizing: content-box;
328
+ position: absolute;
329
+ left: -4px;
330
+ top: -4px;
331
+ z-index: 2; }
332
+ .sweet-alert .sa-icon.sa-success .sa-fix {
333
+ width: 5px;
334
+ height: 90px;
335
+ background-color: white;
336
+ position: absolute;
337
+ left: 28px;
338
+ top: 8px;
339
+ z-index: 1;
340
+ -webkit-transform: rotate(-45deg);
341
+ transform: rotate(-45deg); }
342
+ .sweet-alert .sa-icon.sa-success .sa-line {
343
+ height: 5px;
344
+ background-color: #A5DC86;
345
+ display: block;
346
+ border-radius: 2px;
347
+ position: absolute;
348
+ z-index: 2; }
349
+ .sweet-alert .sa-icon.sa-success .sa-line.sa-tip {
350
+ width: 25px;
351
+ left: 14px;
352
+ top: 46px;
353
+ -webkit-transform: rotate(45deg);
354
+ transform: rotate(45deg); }
355
+ .sweet-alert .sa-icon.sa-success .sa-line.sa-long {
356
+ width: 47px;
357
+ right: 8px;
358
+ top: 38px;
359
+ -webkit-transform: rotate(-45deg);
360
+ transform: rotate(-45deg); }
361
+ .sweet-alert .sa-icon.sa-custom {
362
+ background-size: contain;
363
+ border-radius: 0;
364
+ border: none;
365
+ background-position: center center;
366
+ background-repeat: no-repeat; }
367
+
368
+ /*
369
+ * Animations
370
+ */
371
+ @-webkit-keyframes showSweetAlert {
372
+ 0% {
373
+ transform: scale(0.7);
374
+ -webkit-transform: scale(0.7); }
375
+ 45% {
376
+ transform: scale(1.05);
377
+ -webkit-transform: scale(1.05); }
378
+ 80% {
379
+ transform: scale(0.95);
380
+ -webkit-transform: scale(0.95); }
381
+ 100% {
382
+ transform: scale(1);
383
+ -webkit-transform: scale(1); } }
384
+
385
+ @keyframes showSweetAlert {
386
+ 0% {
387
+ transform: scale(0.7);
388
+ -webkit-transform: scale(0.7); }
389
+ 45% {
390
+ transform: scale(1.05);
391
+ -webkit-transform: scale(1.05); }
392
+ 80% {
393
+ transform: scale(0.95);
394
+ -webkit-transform: scale(0.95); }
395
+ 100% {
396
+ transform: scale(1);
397
+ -webkit-transform: scale(1); } }
398
+
399
+ @-webkit-keyframes hideSweetAlert {
400
+ 0% {
401
+ transform: scale(1);
402
+ -webkit-transform: scale(1); }
403
+ 100% {
404
+ transform: scale(0.5);
405
+ -webkit-transform: scale(0.5); } }
406
+
407
+ @keyframes hideSweetAlert {
408
+ 0% {
409
+ transform: scale(1);
410
+ -webkit-transform: scale(1); }
411
+ 100% {
412
+ transform: scale(0.5);
413
+ -webkit-transform: scale(0.5); } }
414
+
415
+ @-webkit-keyframes slideFromTop {
416
+ 0% {
417
+ top: 0%; }
418
+ 100% {
419
+ top: 50%; } }
420
+
421
+ @keyframes slideFromTop {
422
+ 0% {
423
+ top: 0%; }
424
+ 100% {
425
+ top: 50%; } }
426
+
427
+ @-webkit-keyframes slideToTop {
428
+ 0% {
429
+ top: 50%; }
430
+ 100% {
431
+ top: 0%; } }
432
+
433
+ @keyframes slideToTop {
434
+ 0% {
435
+ top: 50%; }
436
+ 100% {
437
+ top: 0%; } }
438
+
439
+ @-webkit-keyframes slideFromBottom {
440
+ 0% {
441
+ top: 70%; }
442
+ 100% {
443
+ top: 50%; } }
444
+
445
+ @keyframes slideFromBottom {
446
+ 0% {
447
+ top: 70%; }
448
+ 100% {
449
+ top: 50%; } }
450
+
451
+ @-webkit-keyframes slideToBottom {
452
+ 0% {
453
+ top: 50%; }
454
+ 100% {
455
+ top: 70%; } }
456
+
457
+ @keyframes slideToBottom {
458
+ 0% {
459
+ top: 50%; }
460
+ 100% {
461
+ top: 70%; } }
462
+
463
+ .showSweetAlert[data-animation=pop] {
464
+ -webkit-animation: showSweetAlert 0.3s;
465
+ animation: showSweetAlert 0.3s; }
466
+
467
+ .showSweetAlert[data-animation=none] {
468
+ -webkit-animation: none;
469
+ animation: none; }
470
+
471
+ .showSweetAlert[data-animation=slide-from-top] {
472
+ -webkit-animation: slideFromTop 0.3s;
473
+ animation: slideFromTop 0.3s; }
474
+
475
+ .showSweetAlert[data-animation=slide-from-bottom] {
476
+ -webkit-animation: slideFromBottom 0.3s;
477
+ animation: slideFromBottom 0.3s; }
478
+
479
+ .hideSweetAlert[data-animation=pop] {
480
+ -webkit-animation: hideSweetAlert 0.2s;
481
+ animation: hideSweetAlert 0.2s; }
482
+
483
+ .hideSweetAlert[data-animation=none] {
484
+ -webkit-animation: none;
485
+ animation: none; }
486
+
487
+ .hideSweetAlert[data-animation=slide-from-top] {
488
+ -webkit-animation: slideToTop 0.4s;
489
+ animation: slideToTop 0.4s; }
490
+
491
+ .hideSweetAlert[data-animation=slide-from-bottom] {
492
+ -webkit-animation: slideToBottom 0.3s;
493
+ animation: slideToBottom 0.3s; }
494
+
495
+ @-webkit-keyframes animateSuccessTip {
496
+ 0% {
497
+ width: 0;
498
+ left: 1px;
499
+ top: 19px; }
500
+ 54% {
501
+ width: 0;
502
+ left: 1px;
503
+ top: 19px; }
504
+ 70% {
505
+ width: 50px;
506
+ left: -8px;
507
+ top: 37px; }
508
+ 84% {
509
+ width: 17px;
510
+ left: 21px;
511
+ top: 48px; }
512
+ 100% {
513
+ width: 25px;
514
+ left: 14px;
515
+ top: 45px; } }
516
+
517
+ @keyframes animateSuccessTip {
518
+ 0% {
519
+ width: 0;
520
+ left: 1px;
521
+ top: 19px; }
522
+ 54% {
523
+ width: 0;
524
+ left: 1px;
525
+ top: 19px; }
526
+ 70% {
527
+ width: 50px;
528
+ left: -8px;
529
+ top: 37px; }
530
+ 84% {
531
+ width: 17px;
532
+ left: 21px;
533
+ top: 48px; }
534
+ 100% {
535
+ width: 25px;
536
+ left: 14px;
537
+ top: 45px; } }
538
+
539
+ @-webkit-keyframes animateSuccessLong {
540
+ 0% {
541
+ width: 0;
542
+ right: 46px;
543
+ top: 54px; }
544
+ 65% {
545
+ width: 0;
546
+ right: 46px;
547
+ top: 54px; }
548
+ 84% {
549
+ width: 55px;
550
+ right: 0px;
551
+ top: 35px; }
552
+ 100% {
553
+ width: 47px;
554
+ right: 8px;
555
+ top: 38px; } }
556
+
557
+ @keyframes animateSuccessLong {
558
+ 0% {
559
+ width: 0;
560
+ right: 46px;
561
+ top: 54px; }
562
+ 65% {
563
+ width: 0;
564
+ right: 46px;
565
+ top: 54px; }
566
+ 84% {
567
+ width: 55px;
568
+ right: 0px;
569
+ top: 35px; }
570
+ 100% {
571
+ width: 47px;
572
+ right: 8px;
573
+ top: 38px; } }
574
+
575
+ @-webkit-keyframes rotatePlaceholder {
576
+ 0% {
577
+ transform: rotate(-45deg);
578
+ -webkit-transform: rotate(-45deg); }
579
+ 5% {
580
+ transform: rotate(-45deg);
581
+ -webkit-transform: rotate(-45deg); }
582
+ 12% {
583
+ transform: rotate(-405deg);
584
+ -webkit-transform: rotate(-405deg); }
585
+ 100% {
586
+ transform: rotate(-405deg);
587
+ -webkit-transform: rotate(-405deg); } }
588
+
589
+ @keyframes rotatePlaceholder {
590
+ 0% {
591
+ transform: rotate(-45deg);
592
+ -webkit-transform: rotate(-45deg); }
593
+ 5% {
594
+ transform: rotate(-45deg);
595
+ -webkit-transform: rotate(-45deg); }
596
+ 12% {
597
+ transform: rotate(-405deg);
598
+ -webkit-transform: rotate(-405deg); }
599
+ 100% {
600
+ transform: rotate(-405deg);
601
+ -webkit-transform: rotate(-405deg); } }
602
+
603
+ .animateSuccessTip {
604
+ -webkit-animation: animateSuccessTip 0.75s;
605
+ animation: animateSuccessTip 0.75s; }
606
+
607
+ .animateSuccessLong {
608
+ -webkit-animation: animateSuccessLong 0.75s;
609
+ animation: animateSuccessLong 0.75s; }
610
+
611
+ .sa-icon.sa-success.animate::after {
612
+ -webkit-animation: rotatePlaceholder 4.25s ease-in;
613
+ animation: rotatePlaceholder 4.25s ease-in; }
614
+
615
+ @-webkit-keyframes animateErrorIcon {
616
+ 0% {
617
+ transform: rotateX(100deg);
618
+ -webkit-transform: rotateX(100deg);
619
+ opacity: 0; }
620
+ 100% {
621
+ transform: rotateX(0deg);
622
+ -webkit-transform: rotateX(0deg);
623
+ opacity: 1; } }
624
+
625
+ @keyframes animateErrorIcon {
626
+ 0% {
627
+ transform: rotateX(100deg);
628
+ -webkit-transform: rotateX(100deg);
629
+ opacity: 0; }
630
+ 100% {
631
+ transform: rotateX(0deg);
632
+ -webkit-transform: rotateX(0deg);
633
+ opacity: 1; } }
634
+
635
+ .animateErrorIcon {
636
+ -webkit-animation: animateErrorIcon 0.5s;
637
+ animation: animateErrorIcon 0.5s; }
638
+
639
+ @-webkit-keyframes animateXMark {
640
+ 0% {
641
+ transform: scale(0.4);
642
+ -webkit-transform: scale(0.4);
643
+ margin-top: 26px;
644
+ opacity: 0; }
645
+ 50% {
646
+ transform: scale(0.4);
647
+ -webkit-transform: scale(0.4);
648
+ margin-top: 26px;
649
+ opacity: 0; }
650
+ 80% {
651
+ transform: scale(1.15);
652
+ -webkit-transform: scale(1.15);
653
+ margin-top: -6px; }
654
+ 100% {
655
+ transform: scale(1);
656
+ -webkit-transform: scale(1);
657
+ margin-top: 0;
658
+ opacity: 1; } }
659
+
660
+ @keyframes animateXMark {
661
+ 0% {
662
+ transform: scale(0.4);
663
+ -webkit-transform: scale(0.4);
664
+ margin-top: 26px;
665
+ opacity: 0; }
666
+ 50% {
667
+ transform: scale(0.4);
668
+ -webkit-transform: scale(0.4);
669
+ margin-top: 26px;
670
+ opacity: 0; }
671
+ 80% {
672
+ transform: scale(1.15);
673
+ -webkit-transform: scale(1.15);
674
+ margin-top: -6px; }
675
+ 100% {
676
+ transform: scale(1);
677
+ -webkit-transform: scale(1);
678
+ margin-top: 0;
679
+ opacity: 1; } }
680
+
681
+ .animateXMark {
682
+ -webkit-animation: animateXMark 0.5s;
683
+ animation: animateXMark 0.5s; }
684
+
685
+ @-webkit-keyframes pulseWarning {
686
+ 0% {
687
+ border-color: #F8D486; }
688
+ 100% {
689
+ border-color: #F8BB86; } }
690
+
691
+ @keyframes pulseWarning {
692
+ 0% {
693
+ border-color: #F8D486; }
694
+ 100% {
695
+ border-color: #F8BB86; } }
696
+
697
+ .pulseWarning {
698
+ -webkit-animation: pulseWarning 0.75s infinite alternate;
699
+ animation: pulseWarning 0.75s infinite alternate; }
700
+
701
+ @-webkit-keyframes pulseWarningIns {
702
+ 0% {
703
+ background-color: #F8D486; }
704
+ 100% {
705
+ background-color: #F8BB86; } }
706
+
707
+ @keyframes pulseWarningIns {
708
+ 0% {
709
+ background-color: #F8D486; }
710
+ 100% {
711
+ background-color: #F8BB86; } }
712
+
713
+ .pulseWarningIns {
714
+ -webkit-animation: pulseWarningIns 0.75s infinite alternate;
715
+ animation: pulseWarningIns 0.75s infinite alternate; }
716
+
717
+ @-webkit-keyframes rotate-loading {
718
+ 0% {
719
+ transform: rotate(0deg); }
720
+ 100% {
721
+ transform: rotate(360deg); } }
722
+
723
+ @keyframes rotate-loading {
724
+ 0% {
725
+ transform: rotate(0deg); }
726
+ 100% {
727
+ transform: rotate(360deg); } }
728
+
729
+ /* Internet Explorer 9 has some special quirks that are fixed here */
730
+ /* The icons are not animated. */
731
+ /* This file is automatically merged into sweet-alert.min.js through Gulp */
732
+ /* Error icon */
733
+ .sweet-alert .sa-icon.sa-error .sa-line.sa-left {
734
+ -ms-transform: rotate(45deg) \9; }
735
+
736
+ .sweet-alert .sa-icon.sa-error .sa-line.sa-right {
737
+ -ms-transform: rotate(-45deg) \9; }
738
+
739
+ /* Success icon */
740
+ .sweet-alert .sa-icon.sa-success {
741
+ border-color: transparent\9; }
742
+
743
+ .sweet-alert .sa-icon.sa-success .sa-line.sa-tip {
744
+ -ms-transform: rotate(45deg) \9; }
745
+
746
+ .sweet-alert .sa-icon.sa-success .sa-line.sa-long {
747
+ -ms-transform: rotate(-45deg) \9; }
748
+
749
+ /*!
750
+ * Load Awesome v1.1.0 (http://github.danielcardoso.net/load-awesome/)
751
+ * Copyright 2015 Daniel Cardoso <@DanielCardoso>
752
+ * Licensed under MIT
753
+ */
754
+ .la-ball-fall,
755
+ .la-ball-fall > div {
756
+ position: relative;
757
+ -webkit-box-sizing: border-box;
758
+ -moz-box-sizing: border-box;
759
+ box-sizing: border-box; }
760
+
761
+ .la-ball-fall {
762
+ display: block;
763
+ font-size: 0;
764
+ color: #fff; }
765
+
766
+ .la-ball-fall.la-dark {
767
+ color: #333; }
768
+
769
+ .la-ball-fall > div {
770
+ display: inline-block;
771
+ float: none;
772
+ background-color: currentColor;
773
+ border: 0 solid currentColor; }
774
+
775
+ .la-ball-fall {
776
+ width: 54px;
777
+ height: 18px; }
778
+
779
+ .la-ball-fall > div {
780
+ width: 10px;
781
+ height: 10px;
782
+ margin: 4px;
783
+ border-radius: 100%;
784
+ opacity: 0;
785
+ -webkit-animation: ball-fall 1s ease-in-out infinite;
786
+ -moz-animation: ball-fall 1s ease-in-out infinite;
787
+ -o-animation: ball-fall 1s ease-in-out infinite;
788
+ animation: ball-fall 1s ease-in-out infinite; }
789
+
790
+ .la-ball-fall > div:nth-child(1) {
791
+ -webkit-animation-delay: -200ms;
792
+ -moz-animation-delay: -200ms;
793
+ -o-animation-delay: -200ms;
794
+ animation-delay: -200ms; }
795
+
796
+ .la-ball-fall > div:nth-child(2) {
797
+ -webkit-animation-delay: -100ms;
798
+ -moz-animation-delay: -100ms;
799
+ -o-animation-delay: -100ms;
800
+ animation-delay: -100ms; }
801
+
802
+ .la-ball-fall > div:nth-child(3) {
803
+ -webkit-animation-delay: 0ms;
804
+ -moz-animation-delay: 0ms;
805
+ -o-animation-delay: 0ms;
806
+ animation-delay: 0ms; }
807
+
808
+ .la-ball-fall.la-sm {
809
+ width: 26px;
810
+ height: 8px; }
811
+
812
+ .la-ball-fall.la-sm > div {
813
+ width: 4px;
814
+ height: 4px;
815
+ margin: 2px; }
816
+
817
+ .la-ball-fall.la-2x {
818
+ width: 108px;
819
+ height: 36px; }
820
+
821
+ .la-ball-fall.la-2x > div {
822
+ width: 20px;
823
+ height: 20px;
824
+ margin: 8px; }
825
+
826
+ .la-ball-fall.la-3x {
827
+ width: 162px;
828
+ height: 54px; }
829
+
830
+ .la-ball-fall.la-3x > div {
831
+ width: 30px;
832
+ height: 30px;
833
+ margin: 12px; }
834
+
835
+ /*
836
+ * Animation
837
+ */
838
+ @-webkit-keyframes ball-fall {
839
+ 0% {
840
+ opacity: 0;
841
+ -webkit-transform: translateY(-145%);
842
+ transform: translateY(-145%); }
843
+ 10% {
844
+ opacity: .5; }
845
+ 20% {
846
+ opacity: 1;
847
+ -webkit-transform: translateY(0);
848
+ transform: translateY(0); }
849
+ 80% {
850
+ opacity: 1;
851
+ -webkit-transform: translateY(0);
852
+ transform: translateY(0); }
853
+ 90% {
854
+ opacity: .5; }
855
+ 100% {
856
+ opacity: 0;
857
+ -webkit-transform: translateY(145%);
858
+ transform: translateY(145%); } }
859
+
860
+ @-moz-keyframes ball-fall {
861
+ 0% {
862
+ opacity: 0;
863
+ -moz-transform: translateY(-145%);
864
+ transform: translateY(-145%); }
865
+ 10% {
866
+ opacity: .5; }
867
+ 20% {
868
+ opacity: 1;
869
+ -moz-transform: translateY(0);
870
+ transform: translateY(0); }
871
+ 80% {
872
+ opacity: 1;
873
+ -moz-transform: translateY(0);
874
+ transform: translateY(0); }
875
+ 90% {
876
+ opacity: .5; }
877
+ 100% {
878
+ opacity: 0;
879
+ -moz-transform: translateY(145%);
880
+ transform: translateY(145%); } }
881
+
882
+ @-o-keyframes ball-fall {
883
+ 0% {
884
+ opacity: 0;
885
+ -o-transform: translateY(-145%);
886
+ transform: translateY(-145%); }
887
+ 10% {
888
+ opacity: .5; }
889
+ 20% {
890
+ opacity: 1;
891
+ -o-transform: translateY(0);
892
+ transform: translateY(0); }
893
+ 80% {
894
+ opacity: 1;
895
+ -o-transform: translateY(0);
896
+ transform: translateY(0); }
897
+ 90% {
898
+ opacity: .5; }
899
+ 100% {
900
+ opacity: 0;
901
+ -o-transform: translateY(145%);
902
+ transform: translateY(145%); } }
903
+
904
+ @keyframes ball-fall {
905
+ 0% {
906
+ opacity: 0;
907
+ -webkit-transform: translateY(-145%);
908
+ -moz-transform: translateY(-145%);
909
+ -o-transform: translateY(-145%);
910
+ transform: translateY(-145%); }
911
+ 10% {
912
+ opacity: .5; }
913
+ 20% {
914
+ opacity: 1;
915
+ -webkit-transform: translateY(0);
916
+ -moz-transform: translateY(0);
917
+ -o-transform: translateY(0);
918
+ transform: translateY(0); }
919
+ 80% {
920
+ opacity: 1;
921
+ -webkit-transform: translateY(0);
922
+ -moz-transform: translateY(0);
923
+ -o-transform: translateY(0);
924
+ transform: translateY(0); }
925
+ 90% {
926
+ opacity: .5; }
927
+ 100% {
928
+ opacity: 0;
929
+ -webkit-transform: translateY(145%);
930
+ -moz-transform: translateY(145%);
931
+ -o-transform: translateY(145%);
932
+ transform: translateY(145%); } }