active_admin_multi_upload 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (49) hide show
  1. checksums.yaml +7 -0
  2. data/MIT-LICENSE +20 -0
  3. data/README.rdoc +56 -0
  4. data/Rakefile +32 -0
  5. data/app/assets/stylesheets/active_admin_multi_upload/jquery_upload.scss +1105 -0
  6. data/app/models/concerns/active_admin_multi_upload/uploadable.rb +26 -0
  7. data/app/views/active_admin_multi_upload/_upload_form.html.erb +158 -0
  8. data/config/routes.rb +2 -0
  9. data/lib/active_admin_multi_upload.rb +7 -0
  10. data/lib/active_admin_multi_upload/dsl.rb +49 -0
  11. data/lib/active_admin_multi_upload/engine.rb +5 -0
  12. data/lib/active_admin_multi_upload/version.rb +3 -0
  13. data/lib/generators/active_admin_multi_upload/resource/USAGE +5 -0
  14. data/lib/generators/active_admin_multi_upload/resource/resource_generator.rb +16 -0
  15. data/lib/tasks/active_admin_multi_upload_tasks.rake +4 -0
  16. data/test/active_admin_multi_upload_test.rb +7 -0
  17. data/test/dummy/README.rdoc +28 -0
  18. data/test/dummy/Rakefile +6 -0
  19. data/test/dummy/app/assets/javascripts/application.js +13 -0
  20. data/test/dummy/app/assets/stylesheets/application.css +13 -0
  21. data/test/dummy/app/controllers/application_controller.rb +5 -0
  22. data/test/dummy/app/helpers/application_helper.rb +2 -0
  23. data/test/dummy/app/views/layouts/application.html.erb +14 -0
  24. data/test/dummy/bin/bundle +3 -0
  25. data/test/dummy/bin/rails +4 -0
  26. data/test/dummy/bin/rake +4 -0
  27. data/test/dummy/config.ru +4 -0
  28. data/test/dummy/config/application.rb +28 -0
  29. data/test/dummy/config/boot.rb +5 -0
  30. data/test/dummy/config/environment.rb +5 -0
  31. data/test/dummy/config/environments/development.rb +27 -0
  32. data/test/dummy/config/environments/production.rb +80 -0
  33. data/test/dummy/config/environments/test.rb +36 -0
  34. data/test/dummy/config/initializers/backtrace_silencers.rb +7 -0
  35. data/test/dummy/config/initializers/filter_parameter_logging.rb +4 -0
  36. data/test/dummy/config/initializers/inflections.rb +16 -0
  37. data/test/dummy/config/initializers/mime_types.rb +5 -0
  38. data/test/dummy/config/initializers/secret_token.rb +12 -0
  39. data/test/dummy/config/initializers/session_store.rb +3 -0
  40. data/test/dummy/config/initializers/wrap_parameters.rb +9 -0
  41. data/test/dummy/config/locales/en.yml +23 -0
  42. data/test/dummy/config/routes.rb +56 -0
  43. data/test/dummy/public/404.html +58 -0
  44. data/test/dummy/public/422.html +58 -0
  45. data/test/dummy/public/500.html +57 -0
  46. data/test/dummy/public/favicon.ico +0 -0
  47. data/test/integration/navigation_test.rb +9 -0
  48. data/test/test_helper.rb +15 -0
  49. metadata +151 -0
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 0dc8427bdb39330b47afc1f6ad2952d1b3fa670b
4
+ data.tar.gz: 46ad944860f272f63383f45b5347ec2f1a450d54
5
+ SHA512:
6
+ metadata.gz: 82f3e958f1158f9f7a30bf300b3183dd153d460ce3794c64eecc81593c95475a6f7965ded3eb2753d632bd09e739e234499f4f8dec754341e4d0449f724e3f94
7
+ data.tar.gz: e69265b3fdc8aa5bf7a194d650c73bad64f1da65c0de21ace0ac8391dc576508f900e1e3c71bb505bf37a20bb547b201fe2bff2b1b690e1ee0ed1907948e0fd1
data/MIT-LICENSE ADDED
@@ -0,0 +1,20 @@
1
+ Copyright 2014 YOURNAME
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining
4
+ a copy of this software and associated documentation files (the
5
+ "Software"), to deal in the Software without restriction, including
6
+ without limitation the rights to use, copy, modify, merge, publish,
7
+ distribute, sublicense, and/or sell copies of the Software, and to
8
+ permit persons to whom the Software is furnished to do so, subject to
9
+ the following conditions:
10
+
11
+ The above copyright notice and this permission notice shall be
12
+ included in all copies or substantial portions of the Software.
13
+
14
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/README.rdoc ADDED
@@ -0,0 +1,56 @@
1
+ ActiveAdminMultiUpload
2
+ ========
3
+
4
+ ### Support for multiple image upload for a nested resource in ActiveAdmin
5
+
6
+ _This gem was built to work with Carrierwave & ActiveAdmin, and is based on the excellent jquery-fileupload-system._
7
+
8
+ ActiveAdminMultiUpload is a version of jquery-fileupload-ui built to work with nested objects and ActiveAdmin 1.0. It supports all major features including file-previews and progress bars, and has been built so as to have the simplest implentation possible. It has been tested with Rails 4.0.2 and Ruby 2.1.0
9
+
10
+ Getting Started
11
+ ========
12
+
13
+ Carrierwave
14
+ --------
15
+
16
+ This gem relies on [Carrierwave](https://github.com/carrierwaveuploader/carrierwave) to work. If you are unfamiliar with Carrierwave then I recommend have a look through it before using this gem. You can also check out [This Railscast](http://railscasts.com/episodes/253-carrierwave-file-uploads) by Ryan Bates to help you get started.
17
+
18
+ Installation
19
+ --------
20
+
21
+ Add the gem to your Gemfile
22
+
23
+ `gem "active_admin_multi_upload"`
24
+
25
+ and then run `bundle install`
26
+
27
+ Setup
28
+ --------
29
+
30
+ For the sake of simplification for all examples below I am going to use the sample data.
31
+
32
+ * `Picture` will be the model that has an uploader associated with its `:image` attribute
33
+ * `Gallery` has many `:pictures`
34
+
35
+ You can also assume the `@gallery` refers to the current gallery that we are creating/editing.
36
+
37
+ **Substitute these with your own models and associations**
38
+
39
+ ### Allow the Params
40
+
41
+ In `/admin/gallery.rb` add `permit_params picture_ids: []`
42
+
43
+ ### Add the uploader
44
+
45
+ Within your form render the `active_admin_multi_upload/upload_form`
46
+
47
+ <%= f.inputs "Pictures" do %>
48
+ <%= render "active_admin_multi_upload/upload_form", :resource => @gallery, :association => "pictures", attribute: "image" %>
49
+ <% end %>
50
+
51
+ Options
52
+ ---------
53
+
54
+
55
+
56
+ This project rocks and uses MIT-LICENSE.
data/Rakefile ADDED
@@ -0,0 +1,32 @@
1
+ begin
2
+ require 'bundler/setup'
3
+ rescue LoadError
4
+ puts 'You must `gem install bundler` and `bundle install` to run rake tasks'
5
+ end
6
+
7
+ require 'rdoc/task'
8
+
9
+ RDoc::Task.new(:rdoc) do |rdoc|
10
+ rdoc.rdoc_dir = 'rdoc'
11
+ rdoc.title = 'ActiveAdminMultiUpload'
12
+ rdoc.options << '--line-numbers'
13
+ rdoc.rdoc_files.include('README.rdoc')
14
+ rdoc.rdoc_files.include('lib/**/*.rb')
15
+ end
16
+
17
+
18
+
19
+
20
+ Bundler::GemHelper.install_tasks
21
+
22
+ require 'rake/testtask'
23
+
24
+ Rake::TestTask.new(:test) do |t|
25
+ t.libs << 'lib'
26
+ t.libs << 'test'
27
+ t.pattern = 'test/**/*_test.rb'
28
+ t.verbose = false
29
+ end
30
+
31
+
32
+ task default: :test
@@ -0,0 +1,1105 @@
1
+ // This is mostly just imported Bootstrap, slightly edited to not interfere with Active Admin.
2
+ .row {
3
+ margin-right: -15px;
4
+ margin-left: -15px;
5
+ }
6
+
7
+ .row:before,
8
+ .row:after {
9
+ display: table;
10
+ content: " ";
11
+ }
12
+
13
+ .row:after {
14
+ clear: both;
15
+ }
16
+
17
+ .row:before,
18
+ .row:after {
19
+ display: table;
20
+ content: " ";
21
+ }
22
+
23
+ .row:after {
24
+ clear: both;
25
+ }
26
+
27
+ .btn-default,
28
+ .btn-primary,
29
+ .btn-success,
30
+ .btn-info,
31
+ .btn-warning,
32
+ .btn-danger {
33
+ text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2);
34
+ -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);
35
+ box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);
36
+ }
37
+
38
+ .btn-default:active,
39
+ .btn-primary:active,
40
+ .btn-success:active,
41
+ .btn-info:active,
42
+ .btn-warning:active,
43
+ .btn-danger:active,
44
+ .btn-default.active,
45
+ .btn-primary.active,
46
+ .btn-success.active,
47
+ .btn-info.active,
48
+ .btn-warning.active,
49
+ .btn-danger.active {
50
+ -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
51
+ box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
52
+ }
53
+
54
+ .btn:active,
55
+ .btn.active {
56
+ background-image: none;
57
+ }
58
+
59
+ .btn-default:active,
60
+ .btn-default.active {
61
+ background-color: #e6e6e6;
62
+ border-color: #e0e0e0;
63
+ }
64
+
65
+ .btn-primary { // Start Upload
66
+ }
67
+
68
+ .btn-primary:active,
69
+ .btn-primary.active {
70
+ background-color: #3071a9;
71
+ border-color: #2d6ca2;
72
+ }
73
+
74
+ .btn-success { // Add Files
75
+ }
76
+
77
+ .btn-success:active,
78
+ .btn-success.active {
79
+ background-color: #449d44;
80
+ border-color: #419641;
81
+ }
82
+
83
+ .btn-warning { // Cancel Upload
84
+
85
+ }
86
+
87
+ .btn-warning:active,
88
+ .btn-warning.active {
89
+ background-color: #ec971f;
90
+ border-color: #eb9316;
91
+ }
92
+
93
+ .btn-danger { // Delete
94
+
95
+ }
96
+
97
+ .btn-danger:active,
98
+ .btn-danger.active {
99
+ background-color: #c9302c;
100
+ border-color: #c12e2a;
101
+ }
102
+
103
+ .btn-info {
104
+ background-image: -webkit-gradient(linear, left 0%, left 100%, from(#5bc0de), to(#31b0d5));
105
+ background-image: -webkit-linear-gradient(top, #5bc0de, 0%, #31b0d5, 100%);
106
+ background-image: -moz-linear-gradient(top, #5bc0de 0%, #31b0d5 100%);
107
+ background-image: linear-gradient(to bottom, #5bc0de 0%, #31b0d5 100%);
108
+ background-repeat: repeat-x;
109
+ border-color: #2aabd2;
110
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff31b0d5', GradientType=0);
111
+ }
112
+
113
+ .btn-info:active,
114
+ .btn-info.active {
115
+ background-color: #31b0d5;
116
+ border-color: #2aabd2;
117
+ }
118
+
119
+ .thumbnail,
120
+ .img-thumbnail {
121
+ -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075);
122
+ box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075);
123
+ }
124
+
125
+ .dropdown-menu > li > a:hover,
126
+ .dropdown-menu > li > a:focus,
127
+ .dropdown-menu > .active > a,
128
+ .dropdown-menu > .active > a:hover,
129
+ .dropdown-menu > .active > a:focus {
130
+ background-color: #357ebd;
131
+ background-image: -webkit-gradient(linear, left 0%, left 100%, from(#428bca), to(#357ebd));
132
+ background-image: -webkit-linear-gradient(top, #428bca, 0%, #357ebd, 100%);
133
+ background-image: -moz-linear-gradient(top, #428bca 0%, #357ebd 100%);
134
+ background-image: linear-gradient(to bottom, #428bca 0%, #357ebd 100%);
135
+ background-repeat: repeat-x;
136
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff357ebd', GradientType=0);
137
+ }
138
+
139
+ .navbar {
140
+ background-image: -webkit-gradient(linear, left 0%, left 100%, from(#ffffff), to(#f8f8f8));
141
+ background-image: -webkit-linear-gradient(top, #ffffff, 0%, #f8f8f8, 100%);
142
+ background-image: -moz-linear-gradient(top, #ffffff 0%, #f8f8f8 100%);
143
+ background-image: linear-gradient(to bottom, #ffffff 0%, #f8f8f8 100%);
144
+ background-repeat: repeat-x;
145
+ border-radius: 4px;
146
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff8f8f8', GradientType=0);
147
+ -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 5px rgba(0, 0, 0, 0.075);
148
+ box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 5px rgba(0, 0, 0, 0.075);
149
+ }
150
+
151
+ .navbar .navbar-nav > .active > a {
152
+ background-color: #f8f8f8;
153
+ }
154
+
155
+ .navbar-brand,
156
+ .navbar-nav > li > a {
157
+ text-shadow: 0 1px 0 rgba(255, 255, 255, 0.25);
158
+ }
159
+
160
+ .navbar-inverse {
161
+ background-image: -webkit-gradient(linear, left 0%, left 100%, from(#3c3c3c), to(#222222));
162
+ background-image: -webkit-linear-gradient(top, #3c3c3c, 0%, #222222, 100%);
163
+ background-image: -moz-linear-gradient(top, #3c3c3c 0%, #222222 100%);
164
+ background-image: linear-gradient(to bottom, #3c3c3c 0%, #222222 100%);
165
+ background-repeat: repeat-x;
166
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff3c3c3c', endColorstr='#ff222222', GradientType=0);
167
+ }
168
+
169
+ .navbar-inverse .navbar-nav > .active > a {
170
+ background-color: #222222;
171
+ }
172
+
173
+ .navbar-inverse .navbar-brand,
174
+ .navbar-inverse .navbar-nav > li > a {
175
+ text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
176
+ }
177
+
178
+ .navbar-static-top,
179
+ .navbar-fixed-top,
180
+ .navbar-fixed-bottom {
181
+ border-radius: 0;
182
+ }
183
+
184
+ .alert {
185
+ text-shadow: 0 1px 0 rgba(255, 255, 255, 0.2);
186
+ -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 1px 2px rgba(0, 0, 0, 0.05);
187
+ box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 1px 2px rgba(0, 0, 0, 0.05);
188
+ }
189
+
190
+ .alert-success {
191
+ background-image: -webkit-gradient(linear, left 0%, left 100%, from(#dff0d8), to(#c8e5bc));
192
+ background-image: -webkit-linear-gradient(top, #dff0d8, 0%, #c8e5bc, 100%);
193
+ background-image: -moz-linear-gradient(top, #dff0d8 0%, #c8e5bc 100%);
194
+ background-image: linear-gradient(to bottom, #dff0d8 0%, #c8e5bc 100%);
195
+ background-repeat: repeat-x;
196
+ border-color: #b2dba1;
197
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffc8e5bc', GradientType=0);
198
+ }
199
+
200
+ .alert-info {
201
+ background-image: -webkit-gradient(linear, left 0%, left 100%, from(#d9edf7), to(#b9def0));
202
+ background-image: -webkit-linear-gradient(top, #d9edf7, 0%, #b9def0, 100%);
203
+ background-image: -moz-linear-gradient(top, #d9edf7 0%, #b9def0 100%);
204
+ background-image: linear-gradient(to bottom, #d9edf7 0%, #b9def0 100%);
205
+ background-repeat: repeat-x;
206
+ border-color: #9acfea;
207
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffb9def0', GradientType=0);
208
+ }
209
+
210
+ .alert-warning {
211
+ background-image: -webkit-gradient(linear, left 0%, left 100%, from(#fcf8e3), to(#f8efc0));
212
+ background-image: -webkit-linear-gradient(top, #fcf8e3, 0%, #f8efc0, 100%);
213
+ background-image: -moz-linear-gradient(top, #fcf8e3 0%, #f8efc0 100%);
214
+ background-image: linear-gradient(to bottom, #fcf8e3 0%, #f8efc0 100%);
215
+ background-repeat: repeat-x;
216
+ border-color: #f5e79e;
217
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fff8efc0', GradientType=0);
218
+ }
219
+
220
+ .alert-danger {
221
+ background-image: -webkit-gradient(linear, left 0%, left 100%, from(#f2dede), to(#e7c3c3));
222
+ background-image: -webkit-linear-gradient(top, #f2dede, 0%, #e7c3c3, 100%);
223
+ background-image: -moz-linear-gradient(top, #f2dede 0%, #e7c3c3 100%);
224
+ background-image: linear-gradient(to bottom, #f2dede 0%, #e7c3c3 100%);
225
+ background-repeat: repeat-x;
226
+ border-color: #dca7a7;
227
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffe7c3c3', GradientType=0);
228
+ }
229
+
230
+ .progress {
231
+ background-image: -webkit-gradient(linear, left 0%, left 100%, from(#ebebeb), to(#f5f5f5));
232
+ background-image: -webkit-linear-gradient(top, #ebebeb, 0%, #f5f5f5, 100%);
233
+ background-image: -moz-linear-gradient(top, #ebebeb 0%, #f5f5f5 100%);
234
+ background-image: linear-gradient(to bottom, #ebebeb 0%, #f5f5f5 100%);
235
+ background-repeat: repeat-x;
236
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff5f5f5', GradientType=0);
237
+ }
238
+
239
+ .progress-bar {
240
+ background-image: -webkit-gradient(linear, left 0%, left 100%, from(#428bca), to(#3071a9));
241
+ background-image: -webkit-linear-gradient(top, #428bca, 0%, #3071a9, 100%);
242
+ background-image: -moz-linear-gradient(top, #428bca 0%, #3071a9 100%);
243
+ background-image: linear-gradient(to bottom, #428bca 0%, #3071a9 100%);
244
+ background-repeat: repeat-x;
245
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff3071a9', GradientType=0);
246
+ }
247
+
248
+ .progress-bar-success {
249
+ background-image: -webkit-gradient(linear, left 0%, left 100%, from(#5cb85c), to(#449d44));
250
+ background-image: -webkit-linear-gradient(top, #5cb85c, 0%, #449d44, 100%);
251
+ background-image: -moz-linear-gradient(top, #5cb85c 0%, #449d44 100%);
252
+ background-image: linear-gradient(to bottom, #5cb85c 0%, #449d44 100%);
253
+ background-repeat: repeat-x;
254
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff449d44', GradientType=0);
255
+ }
256
+
257
+ .progress-bar-info {
258
+ background-image: -webkit-gradient(linear, left 0%, left 100%, from(#5bc0de), to(#31b0d5));
259
+ background-image: -webkit-linear-gradient(top, #5bc0de, 0%, #31b0d5, 100%);
260
+ background-image: -moz-linear-gradient(top, #5bc0de 0%, #31b0d5 100%);
261
+ background-image: linear-gradient(to bottom, #5bc0de 0%, #31b0d5 100%);
262
+ background-repeat: repeat-x;
263
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff31b0d5', GradientType=0);
264
+ }
265
+
266
+ .progress-bar-warning {
267
+ background-image: -webkit-gradient(linear, left 0%, left 100%, from(#f0ad4e), to(#ec971f));
268
+ background-image: -webkit-linear-gradient(top, #f0ad4e, 0%, #ec971f, 100%);
269
+ background-image: -moz-linear-gradient(top, #f0ad4e 0%, #ec971f 100%);
270
+ background-image: linear-gradient(to bottom, #f0ad4e 0%, #ec971f 100%);
271
+ background-repeat: repeat-x;
272
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffec971f', GradientType=0);
273
+ }
274
+
275
+ .progress-bar-danger {
276
+ background-image: -webkit-gradient(linear, left 0%, left 100%, from(#d9534f), to(#c9302c));
277
+ background-image: -webkit-linear-gradient(top, #d9534f, 0%, #c9302c, 100%);
278
+ background-image: -moz-linear-gradient(top, #d9534f 0%, #c9302c 100%);
279
+ background-image: linear-gradient(to bottom, #d9534f 0%, #c9302c 100%);
280
+ background-repeat: repeat-x;
281
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc9302c', GradientType=0);
282
+ }
283
+
284
+ .list-group {
285
+ border-radius: 4px;
286
+ -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075);
287
+ box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075);
288
+ }
289
+
290
+ .list-group-item.active,
291
+ .list-group-item.active:hover,
292
+ .list-group-item.active:focus {
293
+ text-shadow: 0 -1px 0 #3071a9;
294
+ background-image: -webkit-gradient(linear, left 0%, left 100%, from(#428bca), to(#3278b3));
295
+ background-image: -webkit-linear-gradient(top, #428bca, 0%, #3278b3, 100%);
296
+ background-image: -moz-linear-gradient(top, #428bca 0%, #3278b3 100%);
297
+ background-image: linear-gradient(to bottom, #428bca 0%, #3278b3 100%);
298
+ background-repeat: repeat-x;
299
+ border-color: #3278b3;
300
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff3278b3', GradientType=0);
301
+ }
302
+
303
+ .panel {
304
+ -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
305
+ box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
306
+ }
307
+
308
+ .panel-default > .panel-heading {
309
+ background-image: -webkit-gradient(linear, left 0%, left 100%, from(#f5f5f5), to(#e8e8e8));
310
+ background-image: -webkit-linear-gradient(top, #f5f5f5, 0%, #e8e8e8, 100%);
311
+ background-image: -moz-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);
312
+ background-image: linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%);
313
+ background-repeat: repeat-x;
314
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);
315
+ }
316
+
317
+ .panel-primary > .panel-heading {
318
+ background-image: -webkit-gradient(linear, left 0%, left 100%, from(#428bca), to(#357ebd));
319
+ background-image: -webkit-linear-gradient(top, #428bca, 0%, #357ebd, 100%);
320
+ background-image: -moz-linear-gradient(top, #428bca 0%, #357ebd 100%);
321
+ background-image: linear-gradient(to bottom, #428bca 0%, #357ebd 100%);
322
+ background-repeat: repeat-x;
323
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff357ebd', GradientType=0);
324
+ }
325
+
326
+ .panel-success > .panel-heading {
327
+ background-image: -webkit-gradient(linear, left 0%, left 100%, from(#dff0d8), to(#d0e9c6));
328
+ background-image: -webkit-linear-gradient(top, #dff0d8, 0%, #d0e9c6, 100%);
329
+ background-image: -moz-linear-gradient(top, #dff0d8 0%, #d0e9c6 100%);
330
+ background-image: linear-gradient(to bottom, #dff0d8 0%, #d0e9c6 100%);
331
+ background-repeat: repeat-x;
332
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffd0e9c6', GradientType=0);
333
+ }
334
+
335
+ .panel-info > .panel-heading {
336
+ background-image: -webkit-gradient(linear, left 0%, left 100%, from(#d9edf7), to(#c4e3f3));
337
+ background-image: -webkit-linear-gradient(top, #d9edf7, 0%, #c4e3f3, 100%);
338
+ background-image: -moz-linear-gradient(top, #d9edf7 0%, #c4e3f3 100%);
339
+ background-image: linear-gradient(to bottom, #d9edf7 0%, #c4e3f3 100%);
340
+ background-repeat: repeat-x;
341
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffc4e3f3', GradientType=0);
342
+ }
343
+
344
+ .panel-warning > .panel-heading {
345
+ background-image: -webkit-gradient(linear, left 0%, left 100%, from(#fcf8e3), to(#faf2cc));
346
+ background-image: -webkit-linear-gradient(top, #fcf8e3, 0%, #faf2cc, 100%);
347
+ background-image: -moz-linear-gradient(top, #fcf8e3 0%, #faf2cc 100%);
348
+ background-image: linear-gradient(to bottom, #fcf8e3 0%, #faf2cc 100%);
349
+ background-repeat: repeat-x;
350
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fffaf2cc', GradientType=0);
351
+ }
352
+
353
+ .panel-danger > .panel-heading {
354
+ background-image: -webkit-gradient(linear, left 0%, left 100%, from(#f2dede), to(#ebcccc));
355
+ background-image: -webkit-linear-gradient(top, #f2dede, 0%, #ebcccc, 100%);
356
+ background-image: -moz-linear-gradient(top, #f2dede 0%, #ebcccc 100%);
357
+ background-image: linear-gradient(to bottom, #f2dede 0%, #ebcccc 100%);
358
+ background-repeat: repeat-x;
359
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffebcccc', GradientType=0);
360
+ }
361
+
362
+ .well {
363
+ background-image: -webkit-gradient(linear, left 0%, left 100%, from(#e8e8e8), to(#f5f5f5));
364
+ background-image: -webkit-linear-gradient(top, #e8e8e8, 0%, #f5f5f5, 100%);
365
+ background-image: -moz-linear-gradient(top, #e8e8e8 0%, #f5f5f5 100%);
366
+ background-image: linear-gradient(to bottom, #e8e8e8 0%, #f5f5f5 100%);
367
+ background-repeat: repeat-x;
368
+ border-color: #dcdcdc;
369
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe8e8e8', endColorstr='#fff5f5f5', GradientType=0);
370
+ -webkit-box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.05), 0 1px 0 rgba(255, 255, 255, 0.1);
371
+ box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.05), 0 1px 0 rgba(255, 255, 255, 0.1);
372
+ }
373
+
374
+ .btn {
375
+ display: inline-block;
376
+ padding: 6px 12px;
377
+ margin-bottom: 0;
378
+ font-size: 14px;
379
+ font-weight: normal;
380
+ line-height: 1.428571429;
381
+ text-align: center;
382
+ white-space: nowrap;
383
+ vertical-align: middle;
384
+ cursor: pointer;
385
+ border: 1px solid transparent;
386
+ border-radius: 4px;
387
+ -webkit-user-select: none;
388
+ -moz-user-select: none;
389
+ -ms-user-select: none;
390
+ -o-user-select: none;
391
+ user-select: none;
392
+ }
393
+
394
+ .btn:focus {
395
+ outline: thin dotted #333;
396
+ outline: 5px auto -webkit-focus-ring-color;
397
+ outline-offset: -2px;
398
+ }
399
+
400
+ .btn:hover,
401
+ .btn:focus {
402
+ color: #333333;
403
+ text-decoration: none;
404
+ }
405
+
406
+ .btn:active,
407
+ .btn.active {
408
+ background-image: none;
409
+ outline: 0;
410
+ -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
411
+ box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
412
+ }
413
+
414
+ .btn.disabled,
415
+ .btn[disabled],
416
+ fieldset[disabled] .btn {
417
+ pointer-events: none;
418
+ cursor: not-allowed;
419
+ opacity: 0.65;
420
+ filter: alpha(opacity=65);
421
+ -webkit-box-shadow: none;
422
+ box-shadow: none;
423
+ }
424
+
425
+ .btn-default {
426
+ color: #333333;
427
+ background-color: #ffffff;
428
+ border-color: #cccccc;
429
+ }
430
+
431
+ .btn-default:hover,
432
+ .btn-default:focus,
433
+ .btn-default:active,
434
+ .btn-default.active,
435
+ .open .dropdown-toggle.btn-default {
436
+ color: #333333;
437
+ background-color: #ebebeb;
438
+ border-color: #adadad;
439
+ }
440
+
441
+ .btn-default:active,
442
+ .btn-default.active,
443
+ .open .dropdown-toggle.btn-default {
444
+ background-image: none;
445
+ }
446
+
447
+ .btn-default.disabled,
448
+ .btn-default[disabled],
449
+ fieldset[disabled] .btn-default,
450
+ .btn-default.disabled:hover,
451
+ .btn-default[disabled]:hover,
452
+ fieldset[disabled] .btn-default:hover,
453
+ .btn-default.disabled:focus,
454
+ .btn-default[disabled]:focus,
455
+ fieldset[disabled] .btn-default:focus,
456
+ .btn-default.disabled:active,
457
+ .btn-default[disabled]:active,
458
+ fieldset[disabled] .btn-default:active,
459
+ .btn-default.disabled.active,
460
+ .btn-default[disabled].active,
461
+ fieldset[disabled] .btn-default.active {
462
+ background-color: #ffffff;
463
+ border-color: #cccccc;
464
+ }
465
+
466
+ .btn-primary {
467
+ color: #ffffff;
468
+ background-color: #428bca;
469
+ border-color: #357ebd;
470
+ }
471
+
472
+ .btn-primary:hover,
473
+ .btn-primary:focus,
474
+ .btn-primary:active,
475
+ .btn-primary.active,
476
+ .open .dropdown-toggle.btn-primary {
477
+ color: #ffffff;
478
+ background-color: #3276b1;
479
+ border-color: #285e8e;
480
+ }
481
+
482
+ .btn-primary:active,
483
+ .btn-primary.active,
484
+ .open .dropdown-toggle.btn-primary {
485
+ background-image: none;
486
+ }
487
+
488
+ .btn-primary.disabled,
489
+ .btn-primary[disabled],
490
+ fieldset[disabled] .btn-primary,
491
+ .btn-primary.disabled:hover,
492
+ .btn-primary[disabled]:hover,
493
+ fieldset[disabled] .btn-primary:hover,
494
+ .btn-primary.disabled:focus,
495
+ .btn-primary[disabled]:focus,
496
+ fieldset[disabled] .btn-primary:focus,
497
+ .btn-primary.disabled:active,
498
+ .btn-primary[disabled]:active,
499
+ fieldset[disabled] .btn-primary:active,
500
+ .btn-primary.disabled.active,
501
+ .btn-primary[disabled].active,
502
+ fieldset[disabled] .btn-primary.active {
503
+ background-color: #428bca;
504
+ border-color: #357ebd;
505
+ }
506
+
507
+ .btn-warning {
508
+ color: #ffffff;
509
+ background-color: #f0ad4e;
510
+ border-color: #eea236;
511
+ }
512
+
513
+ .btn-warning:hover,
514
+ .btn-warning:focus,
515
+ .btn-warning:active,
516
+ .btn-warning.active,
517
+ .open .dropdown-toggle.btn-warning {
518
+ color: #ffffff;
519
+ background-color: #ed9c28;
520
+ border-color: #d58512;
521
+ }
522
+
523
+ .btn-warning:active,
524
+ .btn-warning.active,
525
+ .open .dropdown-toggle.btn-warning {
526
+ background-image: none;
527
+ }
528
+
529
+ .btn-warning.disabled,
530
+ .btn-warning[disabled],
531
+ fieldset[disabled] .btn-warning,
532
+ .btn-warning.disabled:hover,
533
+ .btn-warning[disabled]:hover,
534
+ fieldset[disabled] .btn-warning:hover,
535
+ .btn-warning.disabled:focus,
536
+ .btn-warning[disabled]:focus,
537
+ fieldset[disabled] .btn-warning:focus,
538
+ .btn-warning.disabled:active,
539
+ .btn-warning[disabled]:active,
540
+ fieldset[disabled] .btn-warning:active,
541
+ .btn-warning.disabled.active,
542
+ .btn-warning[disabled].active,
543
+ fieldset[disabled] .btn-warning.active {
544
+ background-color: #f0ad4e;
545
+ border-color: #eea236;
546
+ }
547
+
548
+ .btn-danger {
549
+ color: #ffffff;
550
+ background-color: #d9534f;
551
+ border-color: #d43f3a;
552
+ }
553
+
554
+ .btn-danger:hover,
555
+ .btn-danger:focus,
556
+ .btn-danger:active,
557
+ .btn-danger.active,
558
+ .open .dropdown-toggle.btn-danger {
559
+ color: #ffffff;
560
+ background-color: #d2322d;
561
+ border-color: #ac2925;
562
+ }
563
+
564
+ .btn-danger:active,
565
+ .btn-danger.active,
566
+ .open .dropdown-toggle.btn-danger {
567
+ background-image: none;
568
+ }
569
+
570
+ .btn-danger.disabled,
571
+ .btn-danger[disabled],
572
+ fieldset[disabled] .btn-danger,
573
+ .btn-danger.disabled:hover,
574
+ .btn-danger[disabled]:hover,
575
+ fieldset[disabled] .btn-danger:hover,
576
+ .btn-danger.disabled:focus,
577
+ .btn-danger[disabled]:focus,
578
+ fieldset[disabled] .btn-danger:focus,
579
+ .btn-danger.disabled:active,
580
+ .btn-danger[disabled]:active,
581
+ fieldset[disabled] .btn-danger:active,
582
+ .btn-danger.disabled.active,
583
+ .btn-danger[disabled].active,
584
+ fieldset[disabled] .btn-danger.active {
585
+ background-color: #d9534f;
586
+ border-color: #d43f3a;
587
+ }
588
+
589
+ .btn-success {
590
+ color: #ffffff;
591
+ background-color: #5cb85c;
592
+ border-color: #4cae4c;
593
+ }
594
+
595
+ .btn-success:hover,
596
+ .btn-success:focus,
597
+ .btn-success:active,
598
+ .btn-success.active,
599
+ .open .dropdown-toggle.btn-success {
600
+ color: #ffffff;
601
+ background-color: #47a447;
602
+ border-color: #398439;
603
+ }
604
+
605
+ .btn-success:active,
606
+ .btn-success.active,
607
+ .open .dropdown-toggle.btn-success {
608
+ background-image: none;
609
+ }
610
+
611
+ .btn-success.disabled,
612
+ .btn-success[disabled],
613
+ fieldset[disabled] .btn-success,
614
+ .btn-success.disabled:hover,
615
+ .btn-success[disabled]:hover,
616
+ fieldset[disabled] .btn-success:hover,
617
+ .btn-success.disabled:focus,
618
+ .btn-success[disabled]:focus,
619
+ fieldset[disabled] .btn-success:focus,
620
+ .btn-success.disabled:active,
621
+ .btn-success[disabled]:active,
622
+ fieldset[disabled] .btn-success:active,
623
+ .btn-success.disabled.active,
624
+ .btn-success[disabled].active,
625
+ fieldset[disabled] .btn-success.active {
626
+ background-color: #5cb85c;
627
+ border-color: #4cae4c;
628
+ }
629
+
630
+ .btn-info {
631
+ color: #ffffff;
632
+ background-color: #5bc0de;
633
+ border-color: #46b8da;
634
+ }
635
+
636
+ .btn-info:hover,
637
+ .btn-info:focus,
638
+ .btn-info:active,
639
+ .btn-info.active,
640
+ .open .dropdown-toggle.btn-info {
641
+ color: #ffffff;
642
+ background-color: #39b3d7;
643
+ border-color: #269abc;
644
+ }
645
+
646
+ .btn-info:active,
647
+ .btn-info.active,
648
+ .open .dropdown-toggle.btn-info {
649
+ background-image: none;
650
+ }
651
+
652
+ .btn-info.disabled,
653
+ .btn-info[disabled],
654
+ fieldset[disabled] .btn-info,
655
+ .btn-info.disabled:hover,
656
+ .btn-info[disabled]:hover,
657
+ fieldset[disabled] .btn-info:hover,
658
+ .btn-info.disabled:focus,
659
+ .btn-info[disabled]:focus,
660
+ fieldset[disabled] .btn-info:focus,
661
+ .btn-info.disabled:active,
662
+ .btn-info[disabled]:active,
663
+ fieldset[disabled] .btn-info:active,
664
+ .btn-info.disabled.active,
665
+ .btn-info[disabled].active,
666
+ fieldset[disabled] .btn-info.active {
667
+ background-color: #5bc0de;
668
+ border-color: #46b8da;
669
+ }
670
+
671
+ .btn-link {
672
+ font-weight: normal;
673
+ color: #428bca;
674
+ cursor: pointer;
675
+ border-radius: 0;
676
+ }
677
+
678
+ .btn-link,
679
+ .btn-link:active,
680
+ .btn-link[disabled],
681
+ fieldset[disabled] .btn-link {
682
+ background-color: transparent;
683
+ -webkit-box-shadow: none;
684
+ box-shadow: none;
685
+ }
686
+
687
+ .btn-link,
688
+ .btn-link:hover,
689
+ .btn-link:focus,
690
+ .btn-link:active {
691
+ border-color: transparent;
692
+ }
693
+
694
+ .btn-link:hover,
695
+ .btn-link:focus {
696
+ color: #2a6496;
697
+ text-decoration: underline;
698
+ background-color: transparent;
699
+ }
700
+
701
+ .btn-link[disabled]:hover,
702
+ fieldset[disabled] .btn-link:hover,
703
+ .btn-link[disabled]:focus,
704
+ fieldset[disabled] .btn-link:focus {
705
+ color: #999999;
706
+ text-decoration: none;
707
+ }
708
+
709
+ .btn-lg {
710
+ padding: 10px 16px;
711
+ font-size: 18px;
712
+ line-height: 1.33;
713
+ border-radius: 6px;
714
+ }
715
+
716
+ .btn-sm,
717
+ .btn-xs {
718
+ padding: 5px 10px;
719
+ font-size: 12px;
720
+ line-height: 1.5;
721
+ border-radius: 3px;
722
+ }
723
+
724
+ .btn-xs {
725
+ padding: 1px 5px;
726
+ }
727
+
728
+ .btn-block {
729
+ display: block;
730
+ width: 100%;
731
+ padding-right: 0;
732
+ padding-left: 0;
733
+ }
734
+
735
+ .btn-block + .btn-block {
736
+ margin-top: 5px;
737
+ }
738
+
739
+ table {
740
+ max-width: 100%;
741
+ background-color: transparent;
742
+ }
743
+
744
+ th {
745
+ text-align: left;
746
+ }
747
+
748
+ .table {
749
+ width: 100%;
750
+ margin-bottom: 20px;
751
+ }
752
+
753
+ .table thead > tr > th,
754
+ .table tbody > tr > th,
755
+ .table tfoot > tr > th,
756
+ .table thead > tr > td,
757
+ .table tbody > tr > td,
758
+ .table tfoot > tr > td {
759
+ padding: 8px;
760
+ line-height: 1.428571429;
761
+ vertical-align: top;
762
+ border-top: 1px solid #dddddd;
763
+ }
764
+
765
+ .table thead > tr > th {
766
+ vertical-align: bottom;
767
+ border-bottom: 2px solid #dddddd;
768
+ }
769
+
770
+ .table caption + thead tr:first-child th,
771
+ .table colgroup + thead tr:first-child th,
772
+ .table thead:first-child tr:first-child th,
773
+ .table caption + thead tr:first-child td,
774
+ .table colgroup + thead tr:first-child td,
775
+ .table thead:first-child tr:first-child td {
776
+ border-top: 0;
777
+ }
778
+
779
+ .table tbody + tbody {
780
+ border-top: 2px solid #dddddd;
781
+ }
782
+
783
+ .table .table {
784
+ background-color: #ffffff;
785
+ }
786
+
787
+ .table-condensed thead > tr > th,
788
+ .table-condensed tbody > tr > th,
789
+ .table-condensed tfoot > tr > th,
790
+ .table-condensed thead > tr > td,
791
+ .table-condensed tbody > tr > td,
792
+ .table-condensed tfoot > tr > td {
793
+ padding: 5px;
794
+ }
795
+
796
+ .table-bordered {
797
+ border: 1px solid #dddddd;
798
+ }
799
+
800
+ .table-bordered > thead > tr > th,
801
+ .table-bordered > tbody > tr > th,
802
+ .table-bordered > tfoot > tr > th,
803
+ .table-bordered > thead > tr > td,
804
+ .table-bordered > tbody > tr > td,
805
+ .table-bordered > tfoot > tr > td {
806
+ border: 1px solid #dddddd;
807
+ }
808
+
809
+ .table-bordered > thead > tr > th,
810
+ .table-bordered > thead > tr > td {
811
+ border-bottom-width: 2px;
812
+ }
813
+
814
+ .table-striped > tbody > tr:nth-child(odd) > td,
815
+ .table-striped > tbody > tr:nth-child(odd) > th {
816
+ background-color: #f9f9f9;
817
+ }
818
+
819
+ .table-hover > tbody > tr:hover > td,
820
+ .table-hover > tbody > tr:hover > th {
821
+ background-color: #f5f5f5;
822
+ }
823
+
824
+ table col[class*="col-"] {
825
+ display: table-column;
826
+ float: none;
827
+ }
828
+
829
+ table td[class*="col-"],
830
+ table th[class*="col-"] {
831
+ display: table-cell;
832
+ float: none;
833
+ }
834
+
835
+ .table > thead > tr > td.active,
836
+ .table > tbody > tr > td.active,
837
+ .table > tfoot > tr > td.active,
838
+ .table > thead > tr > th.active,
839
+ .table > tbody > tr > th.active,
840
+ .table > tfoot > tr > th.active,
841
+ .table > thead > tr.active > td,
842
+ .table > tbody > tr.active > td,
843
+ .table > tfoot > tr.active > td,
844
+ .table > thead > tr.active > th,
845
+ .table > tbody > tr.active > th,
846
+ .table > tfoot > tr.active > th {
847
+ background-color: #f5f5f5;
848
+ }
849
+
850
+ .table > thead > tr > td.success,
851
+ .table > tbody > tr > td.success,
852
+ .table > tfoot > tr > td.success,
853
+ .table > thead > tr > th.success,
854
+ .table > tbody > tr > th.success,
855
+ .table > tfoot > tr > th.success,
856
+ .table > thead > tr.success > td,
857
+ .table > tbody > tr.success > td,
858
+ .table > tfoot > tr.success > td,
859
+ .table > thead > tr.success > th,
860
+ .table > tbody > tr.success > th,
861
+ .table > tfoot > tr.success > th {
862
+ background-color: #dff0d8;
863
+ border-color: #d6e9c6;
864
+ }
865
+
866
+ .table-hover > tbody > tr > td.success:hover,
867
+ .table-hover > tbody > tr > th.success:hover,
868
+ .table-hover > tbody > tr.success:hover > td {
869
+ background-color: #d0e9c6;
870
+ border-color: #c9e2b3;
871
+ }
872
+
873
+ .table > thead > tr > td.danger,
874
+ .table > tbody > tr > td.danger,
875
+ .table > tfoot > tr > td.danger,
876
+ .table > thead > tr > th.danger,
877
+ .table > tbody > tr > th.danger,
878
+ .table > tfoot > tr > th.danger,
879
+ .table > thead > tr.danger > td,
880
+ .table > tbody > tr.danger > td,
881
+ .table > tfoot > tr.danger > td,
882
+ .table > thead > tr.danger > th,
883
+ .table > tbody > tr.danger > th,
884
+ .table > tfoot > tr.danger > th {
885
+ background-color: #f2dede;
886
+ border-color: #eed3d7;
887
+ }
888
+
889
+ .table-hover > tbody > tr > td.danger:hover,
890
+ .table-hover > tbody > tr > th.danger:hover,
891
+ .table-hover > tbody > tr.danger:hover > td {
892
+ background-color: #ebcccc;
893
+ border-color: #e6c1c7;
894
+ }
895
+
896
+ .table > thead > tr > td.warning,
897
+ .table > tbody > tr > td.warning,
898
+ .table > tfoot > tr > td.warning,
899
+ .table > thead > tr > th.warning,
900
+ .table > tbody > tr > th.warning,
901
+ .table > tfoot > tr > th.warning,
902
+ .table > thead > tr.warning > td,
903
+ .table > tbody > tr.warning > td,
904
+ .table > tfoot > tr.warning > td,
905
+ .table > thead > tr.warning > th,
906
+ .table > tbody > tr.warning > th,
907
+ .table > tfoot > tr.warning > th {
908
+ background-color: #fcf8e3;
909
+ border-color: #fbeed5;
910
+ }
911
+
912
+ .table-hover > tbody > tr > td.warning:hover,
913
+ .table-hover > tbody > tr > th.warning:hover,
914
+ .table-hover > tbody > tr.warning:hover > td {
915
+ background-color: #faf2cc;
916
+ border-color: #f8e5be;
917
+ }
918
+
919
+ @media (max-width: 768px) {
920
+ .table-responsive {
921
+ width: 100%;
922
+ margin-bottom: 15px;
923
+ overflow-x: scroll;
924
+ overflow-y: hidden;
925
+ border: 1px solid #dddddd;
926
+ }
927
+ .table-responsive > .table {
928
+ margin-bottom: 0;
929
+ background-color: #fff;
930
+ }
931
+ .table-responsive > .table > thead > tr > th,
932
+ .table-responsive > .table > tbody > tr > th,
933
+ .table-responsive > .table > tfoot > tr > th,
934
+ .table-responsive > .table > thead > tr > td,
935
+ .table-responsive > .table > tbody > tr > td,
936
+ .table-responsive > .table > tfoot > tr > td {
937
+ white-space: nowrap;
938
+ }
939
+ .table-responsive > .table-bordered {
940
+ border: 0;
941
+ }
942
+ .table-responsive > .table-bordered > thead > tr > th:first-child,
943
+ .table-responsive > .table-bordered > tbody > tr > th:first-child,
944
+ .table-responsive > .table-bordered > tfoot > tr > th:first-child,
945
+ .table-responsive > .table-bordered > thead > tr > td:first-child,
946
+ .table-responsive > .table-bordered > tbody > tr > td:first-child,
947
+ .table-responsive > .table-bordered > tfoot > tr > td:first-child {
948
+ border-left: 0;
949
+ }
950
+ .table-responsive > .table-bordered > thead > tr > th:last-child,
951
+ .table-responsive > .table-bordered > tbody > tr > th:last-child,
952
+ .table-responsive > .table-bordered > tfoot > tr > th:last-child,
953
+ .table-responsive > .table-bordered > thead > tr > td:last-child,
954
+ .table-responsive > .table-bordered > tbody > tr > td:last-child,
955
+ .table-responsive > .table-bordered > tfoot > tr > td:last-child {
956
+ border-right: 0;
957
+ }
958
+ .table-responsive > .table-bordered > thead > tr:last-child > th,
959
+ .table-responsive > .table-bordered > tbody > tr:last-child > th,
960
+ .table-responsive > .table-bordered > tfoot > tr:last-child > th,
961
+ .table-responsive > .table-bordered > thead > tr:last-child > td,
962
+ .table-responsive > .table-bordered > tbody > tr:last-child > td,
963
+ .table-responsive > .table-bordered > tfoot > tr:last-child > td {
964
+ border-bottom: 0;
965
+ }
966
+ }
967
+
968
+ @-webkit-keyframes progress-bar-stripes {
969
+ from {
970
+ background-position: 40px 0;
971
+ }
972
+ to {
973
+ background-position: 0 0;
974
+ }
975
+ }
976
+
977
+ @-moz-keyframes progress-bar-stripes {
978
+ from {
979
+ background-position: 40px 0;
980
+ }
981
+ to {
982
+ background-position: 0 0;
983
+ }
984
+ }
985
+
986
+ @-o-keyframes progress-bar-stripes {
987
+ from {
988
+ background-position: 0 0;
989
+ }
990
+ to {
991
+ background-position: 40px 0;
992
+ }
993
+ }
994
+
995
+ @keyframes progress-bar-stripes {
996
+ from {
997
+ background-position: 40px 0;
998
+ }
999
+ to {
1000
+ background-position: 0 0;
1001
+ }
1002
+ }
1003
+
1004
+ .progress {
1005
+ height: 20px;
1006
+ margin-bottom: 20px;
1007
+ overflow: hidden;
1008
+ background-color: #f5f5f5;
1009
+ border-radius: 4px;
1010
+ -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
1011
+ box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
1012
+ }
1013
+
1014
+ .progress-bar {
1015
+ float: left;
1016
+ width: 0;
1017
+ height: 100%;
1018
+ font-size: 12px;
1019
+ color: #ffffff;
1020
+ text-align: center;
1021
+ background-color: #428bca;
1022
+ -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
1023
+ box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
1024
+ -webkit-transition: width 0.6s ease;
1025
+ transition: width 0.6s ease;
1026
+ }
1027
+
1028
+ .progress-striped .progress-bar {
1029
+ background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));
1030
+ background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
1031
+ background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
1032
+ background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
1033
+ background-size: 40px 40px;
1034
+ }
1035
+
1036
+ .progress.active .progress-bar {
1037
+ -webkit-animation: progress-bar-stripes 2s linear infinite;
1038
+ -moz-animation: progress-bar-stripes 2s linear infinite;
1039
+ -ms-animation: progress-bar-stripes 2s linear infinite;
1040
+ -o-animation: progress-bar-stripes 2s linear infinite;
1041
+ animation: progress-bar-stripes 2s linear infinite;
1042
+ }
1043
+
1044
+ .progress-bar-success {
1045
+ background-color: #5cb85c;
1046
+ }
1047
+
1048
+ .progress-striped .progress-bar-success {
1049
+ background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));
1050
+ background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
1051
+ background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
1052
+ background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
1053
+ }
1054
+
1055
+ .progress-bar-info {
1056
+ background-color: #5bc0de;
1057
+ }
1058
+
1059
+ .progress-striped .progress-bar-info {
1060
+ background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));
1061
+ background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
1062
+ background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
1063
+ background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
1064
+ }
1065
+
1066
+ .progress-bar-warning {
1067
+ background-color: #f0ad4e;
1068
+ }
1069
+
1070
+ .progress-striped .progress-bar-warning {
1071
+ background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));
1072
+ background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
1073
+ background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
1074
+ background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
1075
+ }
1076
+
1077
+ .progress-bar-danger {
1078
+ background-color: #d9534f;
1079
+ }
1080
+
1081
+ .progress-striped .progress-bar-danger {
1082
+ background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));
1083
+ background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
1084
+ background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
1085
+ background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
1086
+ }
1087
+
1088
+
1089
+ .fade {
1090
+ opacity: 0;
1091
+ -webkit-transition: opacity 0.15s linear;
1092
+ transition: opacity 0.15s linear;
1093
+ }
1094
+
1095
+ .fade.in {
1096
+ opacity: 1;
1097
+ }
1098
+
1099
+ #uploader {
1100
+ margin: 10px 30px 10px 30px;
1101
+ }
1102
+
1103
+ .fileinput-button {
1104
+ margin-top: 2px;
1105
+ }