nivo-rails 0.0.1 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 13060e7dd2b7d307b03802890cae83f518fb99df
4
+ data.tar.gz: 719dabb72098692c0448a126cffb748110c0f9d2
5
+ SHA512:
6
+ metadata.gz: 9cae638085d55133bdafac1b074f5494e2306642b74b35bf30a469d36bfda6d85bd90f68ffa8a1952c936f060d5e90fe095475c819d67e1c3cbbdba8e70c3b04
7
+ data.tar.gz: 531f7208310f905ba96c1f3f7bc42e7163d7d5c3d0837f3c81ed1a6bb31abf81e2e40768b8f1a4c99bd0583213e1175addf844f8ec6e5a2a34a642c92c99d9f3
data/.gitignore CHANGED
@@ -15,3 +15,6 @@ spec/reports
15
15
  test/tmp
16
16
  test/version_tmp
17
17
  tmp
18
+
19
+ # ignore idea files
20
+ .idea/*
data/README.md CHANGED
@@ -1,24 +1,80 @@
1
- # Nivo::Rails
1
+ # Nivo Slider with Ruby on Rails
2
2
 
3
- TODO: Write a gem description
3
+ Nivo Slider is one of the most popular JavaScript slider. This gem provides
4
+ integration with Ruby on Rails.
4
5
 
5
6
  ## Installation
6
7
 
7
- Add this line to your application's Gemfile:
8
+ First, add this to your Gemfile:
8
9
 
9
- gem 'nivo-rails'
10
+ ~~~ruby
11
+ gem 'nivo-rails'
12
+ ~~~
10
13
 
11
- And then execute:
14
+ Then run the `bundle` command to install the gem.
12
15
 
13
- $ bundle
16
+ ## Usage
14
17
 
15
- Or install it yourself as:
18
+ This gem provides files required to setup correctly NivoSlider on your site.
19
+ It requires a few lines of code to setup a slideshow. First, make sure to
20
+ import the CSS file:
16
21
 
17
- $ gem install nivo-rails
22
+ ~~~css
23
+ /* Inside a normal application.css file
24
+ *= require nivo
25
+ */
26
+ ~~~
18
27
 
19
- ## Usage
28
+ ~~~sass
29
+ // Inside an application.scss or application.sass
30
+ @import "nivo";
31
+ ~~~
32
+
33
+ And then import the JavaScript file as well:
34
+
35
+ ~~~javascript
36
+ //= require nivo
37
+ ~~~
38
+
39
+ You can now easily add slideshows in your web pages. To avoid writing all the
40
+ boilerplate needed by Nivo Slider, you can rely on the `nivo_slider` tag:
41
+
42
+ ~~~erb
43
+ <%= nivo_slider id: "slider" do %>
44
+ <%= image_tag "foo.png", title: "A very nice photo!" %>
45
+ <%= image_tag "bar.png" %>
46
+ <% end %>
47
+ ~~~
48
+
49
+ This helper behaves like Action View's `content_tag` helper apart from the fact that
50
+ it **doesn't** escape the provided content by default. It also sets the div's id
51
+ to `"slider"` by default and adds a `nivoSlider` class as well.
20
52
 
21
- TODO: Write usage instructions here
53
+ If you want to set a theme, you should wrap the `nivo_slider` call with a `div` element
54
+ with the proper class:
55
+
56
+ ~~~erb
57
+ <div class="theme-dark">
58
+ <%= nivo_slider id: "slider" do %>
59
+ <!-- ... ->
60
+ <% end %>
61
+ </div>
62
+ ~~~
63
+
64
+ Make sure then to initialize Nivo Slider on the given element:
65
+
66
+ ~~~javascript
67
+ $(window).load(function() {
68
+ $('#slider').nivoSlider();
69
+ });
70
+
71
+ // Or if you are using Turbolinks
72
+ $(document).on('page:change', function () {
73
+ $('#slider').nivoSlider();
74
+ });
75
+ ~~~
76
+
77
+ Enjoy!
22
78
 
23
79
  ## Contributing
24
80
 
@@ -27,3 +83,8 @@ TODO: Write usage instructions here
27
83
  3. Commit your changes (`git commit -am 'Add some feature'`)
28
84
  4. Push to the branch (`git push origin my-new-feature`)
29
85
  5. Create new Pull Request
86
+
87
+ ## License
88
+
89
+ This project is released under the MIT license. Please see the `LICENSE` file for
90
+ more information.
data/Rakefile CHANGED
@@ -1 +1,9 @@
1
1
  require "bundler/gem_tasks"
2
+ require "rake/testtask"
3
+
4
+ Rake::TestTask.new("test") do |t|
5
+ t.libs << "test"
6
+ t.pattern = 'test/**/*_test.rb'
7
+ t.verbose = true
8
+ t.description = "Run the unit tests"
9
+ end
@@ -1,15 +1,24 @@
1
1
  module NivoHelper
2
- def nivo_slider(hash = {}, &block)
3
- options = { :theme => :default, :id => "" }
4
- options.merge!(hash)
5
- klass = "slide-wrapper theme-#{options[:theme]}"
6
- id = options[:id]
7
-
8
- content_tag(:div, :class => klass) do
9
- content_tag(:div, :id => id, :class => "nivoSlider #{options[:class]}") do
10
- yield
11
- end
2
+ # Convenient helper to create a div for your slider. The method's
3
+ # definition is similar to Action View's `content_tag` helper.
4
+ # It doesn't escape the given content by default though.
5
+ def nivo_slider(content_or_options = nil, options = {}, escape = false, &block)
6
+ # We are just keeping the two arguments to match Action View's
7
+ # definition of `content_tag` but the first argument isn't
8
+ # considered as the content if it's a Hash object.
9
+ if content_or_options.kind_of?(Hash)
10
+ options.merge!(content_or_options)
12
11
  end
13
12
 
13
+ options[:class] ? options[:class] << " nivoSlider" : options[:class] = "nivoSlider"
14
+ options[:id] ||= "slider"
15
+
16
+ if content_or_options.kind_of?(Hash) && !block_given?
17
+ content_tag_string(:div, "", options, escape)
18
+ elsif block_given?
19
+ content_tag_string(:div, capture(&block), options, escape)
20
+ else
21
+ content_tag_string(:div, content_or_options, options, escape)
22
+ end
14
23
  end
15
- end
24
+ end
@@ -1,6 +1,12 @@
1
1
  module Nivo
2
2
  module Rails
3
3
  class Engine < ::Rails::Engine
4
+ initializer 'nivo-rails.assets.precompile' do |app|
5
+ app.config.assets.precompile += %w(default/arrows.png default/bullets.png default/loading.gif)
6
+ app.config.assets.precompile += %w(dark/arrows.png dark/bullets.png dark/loading.gif)
7
+ app.config.assets.precompile += %w(bar/arrows.png bar/bullets.png bar/loading.gif)
8
+ app.config.assets.precompile += %w(light/arrows.png light/bullets.png light/loading.gif)
9
+ end
4
10
  end
5
11
  end
6
12
  end
data/lib/nivo/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  module Nivo
2
2
  module Rails
3
- VERSION = "0.0.1"
3
+ VERSION = "1.0.0"
4
4
  end
5
5
  end
data/nivo-rails.gemspec CHANGED
@@ -10,7 +10,7 @@ Gem::Specification.new do |gem|
10
10
  gem.email = ["robin.dupret@gmail.com"]
11
11
  gem.description = %q{Nivo slider with Ruby on Rails}
12
12
  gem.summary = %q{This gem allows you to use Nivo slider with Ruby on Rails}
13
- gem.homepage = ""
13
+ gem.homepage = "https://github.com/robin850/nivo-rails"
14
14
 
15
15
  gem.files = `git ls-files`.split($/)
16
16
  gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
@@ -18,4 +18,5 @@ Gem::Specification.new do |gem|
18
18
  gem.require_paths = ["lib"]
19
19
 
20
20
  gem.add_development_dependency("rake")
21
+ gem.add_development_dependency("actionview", ">= 4.2.0")
21
22
  end
@@ -0,0 +1,30 @@
1
+ require 'test_helper'
2
+
3
+ class NivoSliderHelperTest < Minitest::Test
4
+ attr_accessor :output_buffer
5
+
6
+ include ActionView::Helpers::TagHelper
7
+ include NivoHelper
8
+
9
+ def test_with_content_tag_options
10
+ assert_match 'class="foo', nivo_slider(class: "foo")
11
+ assert_match 'id="bar"', nivo_slider(id: "bar")
12
+ end
13
+
14
+ def test_automatically_includes_nivoSlider_class
15
+ assert_match 'class="nivoSlider"', nivo_slider
16
+ end
17
+
18
+ def test_automatically_includes_slider_id
19
+ assert_match 'id="slider"', nivo_slider
20
+ end
21
+
22
+ def test_with_a_block
23
+ assert_match 'foo', nivo_slider { "foo" }
24
+ end
25
+
26
+ def test_with_options_and_block
27
+ expected = '<div id="foo" class="nivoSlider">Bar</div>'
28
+ assert_equal expected, nivo_slider(id: "foo") { "Bar" }
29
+ end
30
+ end
@@ -0,0 +1,5 @@
1
+ $:.unshift File.expand_path("../../app", __FILE__)
2
+
3
+ require 'minitest/autorun'
4
+ require 'action_view'
5
+ require 'helpers/nivo_helper'
@@ -0,0 +1,583 @@
1
+ /*
2
+ * jQuery Nivo Slider v3.2
3
+ * http://nivo.dev7studios.com
4
+ *
5
+ * Copyright 2012, Dev7studios
6
+ * Free to use and abuse under the MIT license.
7
+ * http://www.opensource.org/licenses/mit-license.php
8
+ */
9
+
10
+ /* The Nivo Slider styles */
11
+ .nivoSlider {
12
+ position: relative;
13
+ width: 100%;
14
+ height: auto;
15
+ overflow: hidden;
16
+ }
17
+
18
+ .nivoSlider img {
19
+ position: absolute;
20
+ top: 0px;
21
+ left: 0px;
22
+ max-width: none;
23
+ }
24
+
25
+ .nivo-main-image {
26
+ display: block !important;
27
+ position: relative !important;
28
+ width: 100% !important;
29
+ }
30
+
31
+ /* If an image is wrapped in a link */
32
+ .nivoSlider a.nivo-imageLink {
33
+ position: absolute;
34
+ top: 0px;
35
+ left: 0px;
36
+ width: 100%;
37
+ height: 100%;
38
+ border: 0;
39
+ padding: 0;
40
+ margin: 0;
41
+ z-index: 6;
42
+ display: none;
43
+ background: white;
44
+ filter: alpha(opacity=0);
45
+ opacity: 0;
46
+ }
47
+
48
+ /* The slices and boxes in the Slider */
49
+ .nivo-slice {
50
+ display: block;
51
+ position: absolute;
52
+ z-index: 5;
53
+ height: 100%;
54
+ top: 0;
55
+ }
56
+
57
+ .nivo-box {
58
+ display: block;
59
+ position: absolute;
60
+ z-index: 5;
61
+ overflow: hidden;
62
+ }
63
+
64
+ .nivo-box img {
65
+ display: block;
66
+ }
67
+
68
+ /* Caption styles */
69
+ .nivo-caption {
70
+ position: absolute;
71
+ left: 0px;
72
+ bottom: 0px;
73
+ background: #000;
74
+ color: #fff;
75
+ width: 100%;
76
+ z-index: 8;
77
+ padding: 5px 10px;
78
+ opacity: 0.8;
79
+ overflow: hidden;
80
+ display: none;
81
+ -moz-opacity: 0.8;
82
+ filter: alpha(opacity=8);
83
+ -webkit-box-sizing: border-box; /* Safari/Chrome, other WebKit */
84
+ -moz-box-sizing: border-box; /* Firefox, other Gecko */
85
+ box-sizing: border-box; /* Opera/IE 8+ */
86
+ }
87
+
88
+ .nivo-caption p {
89
+ padding: 5px;
90
+ margin: 0;
91
+ }
92
+
93
+ .nivo-caption a {
94
+ display: inline !important;
95
+ }
96
+
97
+ .nivo-html-caption {
98
+ display: none;
99
+ }
100
+
101
+ /* Direction nav styles (e.g. Next & Prev) */
102
+ .nivo-directionNav a {
103
+ position: absolute;
104
+ top: 45%;
105
+ z-index: 9;
106
+ cursor: pointer;
107
+ }
108
+
109
+ .nivo-prevNav {
110
+ left: 0px;
111
+ }
112
+
113
+ .nivo-nextNav {
114
+ right: 0px;
115
+ }
116
+
117
+ /* Control nav styles (e.g. 1,2,3...) */
118
+ .nivo-controlNav {
119
+ text-align: center;
120
+ padding: 15px 0;
121
+ }
122
+
123
+ .nivo-controlNav a {
124
+ cursor: pointer;
125
+ }
126
+
127
+ .nivo-controlNav a.active {
128
+ font-weight: bold;
129
+ }
130
+
131
+ /* Themes */
132
+
133
+ .theme-light.slider-wrapper {
134
+ background: #fff;
135
+ padding: 10px;
136
+ }
137
+
138
+ .theme-light .nivoSlider {
139
+ position: relative;
140
+ background: #fff image_url("light/loading.gif") no-repeat 50% 50%;
141
+ margin-bottom: 10px;
142
+ overflow: visible;
143
+ }
144
+
145
+ .theme-light .nivoSlider img {
146
+ position: absolute;
147
+ top: 0px;
148
+ left: 0px;
149
+ display: none;
150
+ }
151
+
152
+ .theme-light .nivoSlider a {
153
+ border: 0;
154
+ display: block;
155
+ }
156
+
157
+ .theme-light .nivo-controlNav {
158
+ text-align: left;
159
+ padding: 0;
160
+ position: relative;
161
+ z-index: 10;
162
+ }
163
+
164
+ .theme-light .nivo-controlNav a {
165
+ display: inline-block;
166
+ width: 10px;
167
+ height: 10px;
168
+ background: image_url("light/bullets.png") no-repeat;
169
+ text-indent: -9999px;
170
+ border: 0;
171
+ margin: 0 2px;
172
+ }
173
+
174
+ .theme-light .nivo-controlNav a.active {
175
+ background-position: 0 100%;
176
+ }
177
+
178
+ .theme-light .nivo-directionNav a {
179
+ display: block;
180
+ width: 30px;
181
+ height: 30px;
182
+ background: image_url("light/arrows.png") no-repeat;
183
+ text-indent: -9999px;
184
+ border: 0;
185
+ top: auto;
186
+ bottom: -36px;
187
+ z-index: 11;
188
+ }
189
+
190
+ .theme-light .nivo-directionNav a:hover {
191
+ background-color: #eee;
192
+ -webkit-border-radius: 2px;
193
+ -moz-border-radius: 2px;
194
+ border-radius: 2px;
195
+ }
196
+
197
+ .theme-light a.nivo-nextNav {
198
+ background-position: 160% 50%;
199
+ right: 0px;
200
+ }
201
+
202
+ .theme-light a.nivo-prevNav {
203
+ background-position: -60% 50%;
204
+ left: auto;
205
+ right: 35px;
206
+ }
207
+
208
+ .theme-light .nivo-caption {
209
+ font-family: Helvetica, Arial, sans-serif;
210
+ }
211
+
212
+ .theme-light .nivo-caption a {
213
+ color: #fff;
214
+ border-bottom: 1px dotted #fff;
215
+ }
216
+
217
+ .theme-light .nivo-caption a:hover {
218
+ color: #fff;
219
+ }
220
+
221
+ .theme-light .nivo-controlNav.nivo-thumbs-enabled {
222
+ width: 80%;
223
+ }
224
+
225
+ .theme-light .nivo-controlNav.nivo-thumbs-enabled a {
226
+ width: auto;
227
+ height: auto;
228
+ background: none;
229
+ margin-bottom: 5px;
230
+ }
231
+
232
+ .theme-light .nivo-controlNav.nivo-thumbs-enabled img {
233
+ display: block;
234
+ width: 120px;
235
+ height: auto;
236
+ }
237
+
238
+ .theme-default .nivoSlider {
239
+ position: relative;
240
+ background: #fff image_url("default/loading.gif") no-repeat 50% 50%;
241
+ margin-bottom: 10px;
242
+ -webkit-box-shadow: 0px 1px 5px 0px #4a4a4a;
243
+ -moz-box-shadow: 0px 1px 5px 0px #4a4a4a;
244
+ box-shadow: 0px 1px 5px 0px #4a4a4a;
245
+ }
246
+
247
+ .theme-default .nivoSlider img {
248
+ position: absolute;
249
+ top: 0px;
250
+ left: 0px;
251
+ display: none;
252
+ }
253
+
254
+ .theme-default .nivoSlider a {
255
+ border: 0;
256
+ display: block;
257
+ }
258
+
259
+ .theme-default .nivo-controlNav {
260
+ text-align: center;
261
+ padding: 20px 0;
262
+ }
263
+
264
+ .theme-default .nivo-controlNav a {
265
+ display: inline-block;
266
+ width: 22px;
267
+ height: 22px;
268
+ background: image_url("default/bullets.png") no-repeat;
269
+ text-indent: -9999px;
270
+ border: 0;
271
+ margin: 0 2px;
272
+ }
273
+
274
+ .theme-default .nivo-controlNav a.active {
275
+ background-position: 0 -22px;
276
+ }
277
+
278
+ .theme-default .nivo-directionNav a {
279
+ display: block;
280
+ width: 30px;
281
+ height: 30px;
282
+ background: image_url("default/arrows.png") no-repeat;
283
+ text-indent: -9999px;
284
+ border: 0;
285
+ opacity: 0;
286
+ -webkit-transition: all 200ms ease-in-out;
287
+ -moz-transition: all 200ms ease-in-out;
288
+ -o-transition: all 200ms ease-in-out;
289
+ transition: all 200ms ease-in-out;
290
+ }
291
+
292
+ .theme-default:hover .nivo-directionNav a {
293
+ opacity: 1;
294
+ }
295
+
296
+ .theme-default a.nivo-nextNav {
297
+ background-position: -30px 0;
298
+ right: 15px;
299
+ }
300
+
301
+ .theme-default a.nivo-prevNav {
302
+ left: 15px;
303
+ }
304
+
305
+ .theme-default .nivo-caption {
306
+ font-family: Helvetica, Arial, sans-serif;
307
+ }
308
+
309
+ .theme-default .nivo-caption a {
310
+ color: #fff;
311
+ border-bottom: 1px dotted #fff;
312
+ }
313
+
314
+ .theme-default .nivo-caption a:hover {
315
+ color: #fff;
316
+ }
317
+
318
+ .theme-default .nivo-controlNav.nivo-thumbs-enabled {
319
+ width: 100%;
320
+ }
321
+
322
+ .theme-default .nivo-controlNav.nivo-thumbs-enabled a {
323
+ width: auto;
324
+ height: auto;
325
+ background: none;
326
+ margin-bottom: 5px;
327
+ }
328
+
329
+ .theme-default .nivo-controlNav.nivo-thumbs-enabled img {
330
+ display: block;
331
+ width: 120px;
332
+ height: auto;
333
+ }
334
+
335
+ .theme-dark.slider-wrapper {
336
+ background: #222;
337
+ padding: 10px;
338
+ }
339
+
340
+ .theme-dark .nivoSlider {
341
+ position: relative;
342
+ background: #fff image_url("dark/loading.gif") no-repeat 50% 50%;
343
+ margin-bottom: 10px;
344
+ overflow: visible;
345
+ }
346
+
347
+ .theme-dark .nivoSlider img {
348
+ position: absolute;
349
+ top: 0px;
350
+ left: 0px;
351
+ display: none;
352
+ }
353
+
354
+ .theme-dark .nivoSlider a {
355
+ border: 0;
356
+ display: block;
357
+ }
358
+
359
+ .theme-dark .nivo-controlNav {
360
+ text-align: left;
361
+ padding: 0;
362
+ position: relative;
363
+ z-index: 10;
364
+ }
365
+
366
+ .theme-dark .nivo-controlNav a {
367
+ display: inline-block;
368
+ width: 10px;
369
+ height: 10px;
370
+ background: image_url("dark/bullets.png") no-repeat 0 2px;
371
+ text-indent: -9999px;
372
+ border: 0;
373
+ margin: 0 2px;
374
+ }
375
+
376
+ .theme-dark .nivo-controlNav a.active {
377
+ background-position: 0 100%;
378
+ }
379
+
380
+ .theme-dark .nivo-directionNav a {
381
+ display: block;
382
+ width: 30px;
383
+ height: 30px;
384
+ background: image_url("dark/arrows.png") no-repeat;
385
+ text-indent: -9999px;
386
+ border: 0;
387
+ top: auto;
388
+ bottom: -36px;
389
+ z-index: 11;
390
+ }
391
+
392
+ .theme-dark .nivo-directionNav a:hover {
393
+ background-color: #333;
394
+ -webkit-border-radius: 2px;
395
+ -moz-border-radius: 2px;
396
+ border-radius: 2px;
397
+ }
398
+
399
+ .theme-dark a.nivo-nextNav {
400
+ background-position: -16px 50%;
401
+ right: 0px;
402
+ }
403
+
404
+ .theme-dark a.nivo-prevNav {
405
+ background-position: 11px 50%;
406
+ left: auto;
407
+ right: 35px;
408
+ }
409
+
410
+ .theme-dark .nivo-caption {
411
+ font-family: Helvetica, Arial, sans-serif;
412
+ }
413
+
414
+ .theme-dark .nivo-caption a {
415
+ color: #fff;
416
+ border-bottom: 1px dotted #fff;
417
+ }
418
+
419
+ .theme-dark .nivo-caption a:hover {
420
+ color: #fff;
421
+ }
422
+
423
+ .theme-dark .nivo-controlNav.nivo-thumbs-enabled {
424
+ width: 80%;
425
+ }
426
+
427
+ .theme-dark .nivo-controlNav.nivo-thumbs-enabled a {
428
+ width: auto;
429
+ height: auto;
430
+ background: none;
431
+ margin-bottom: 5px;
432
+ }
433
+
434
+ .theme-dark .nivo-controlNav.nivo-thumbs-enabled img {
435
+ display: block;
436
+ width: 120px;
437
+ height: auto;
438
+ }
439
+
440
+ .theme-bar.slider-wrapper {
441
+ position: relative;
442
+ border: 1px solid #333;
443
+ overflow: hidden;
444
+ }
445
+
446
+ .theme-bar .nivoSlider {
447
+ position: relative;
448
+ background: #fff image_url("bar/loading.gif") no-repeat 50% 50%;
449
+ }
450
+
451
+ .theme-bar .nivoSlider img {
452
+ position: absolute;
453
+ top: 0px;
454
+ left: 0px;
455
+ display: none;
456
+ }
457
+
458
+ .theme-bar .nivoSlider a {
459
+ border: 0;
460
+ display: block;
461
+ }
462
+
463
+ .theme-bar .nivo-controlNav {
464
+ position: absolute;
465
+ left: 0;
466
+ bottom: -41px;
467
+ z-index: 10;
468
+ width: 100%;
469
+ height: 30px;
470
+ text-align: center;
471
+ padding: 5px 0;
472
+ border-top: 1px solid #333;
473
+ background: #333;
474
+ background: -moz-linear-gradient(top, #565656 0%, #333333 100%); /* FF3.6+ */
475
+ background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #565656), color-stop(100%, #333333)); /* Chrome,Safari4+ */
476
+ background: -webkit-linear-gradient(top, #565656 0%, #333333 100%); /* Chrome10+,Safari5.1+ */
477
+ background: -o-linear-gradient(top, #565656 0%, #333333 100%); /* Opera 11.10+ */
478
+ background: -ms-linear-gradient(top, #565656 0%, #333333 100%); /* IE10+ */
479
+ background: linear-gradient(to bottom, #565656 0%, #333333 100%); /* W3C */
480
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#565656', endColorstr='#333333', GradientType=0); /* IE6-9 */
481
+ opacity: 0.5;
482
+ -webkit-transition: all 200ms ease-in-out;
483
+ -moz-transition: all 200ms ease-in-out;
484
+ -o-transition: all 200ms ease-in-out;
485
+ transition: all 200ms ease-in-out;
486
+ }
487
+
488
+ .theme-bar:hover .nivo-controlNav {
489
+ bottom: 0;
490
+ opacity: 1;
491
+ }
492
+
493
+ .theme-bar .nivo-controlNav a {
494
+ display: inline-block;
495
+ width: 22px;
496
+ height: 22px;
497
+ background: image_url("bar/bullets.png") no-repeat;
498
+ text-indent: -9999px;
499
+ border: 0;
500
+ margin: 5px 2px 0 2px;
501
+ }
502
+
503
+ .theme-bar .nivo-controlNav a.active {
504
+ background-position: 0 -22px;
505
+ }
506
+
507
+ .theme-bar .nivo-directionNav a {
508
+ display: block;
509
+ border: 0;
510
+ color: #fff;
511
+ text-transform: uppercase;
512
+ top: auto;
513
+ bottom: 10px;
514
+ z-index: 11;
515
+ font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
516
+ font-size: 13px;
517
+ line-height: 20px;
518
+ opacity: 0.5;
519
+ -webkit-transition: all 200ms ease-in-out;
520
+ -moz-transition: all 200ms ease-in-out;
521
+ -o-transition: all 200ms ease-in-out;
522
+ transition: all 200ms ease-in-out;
523
+ }
524
+
525
+ .theme-bar a.nivo-nextNav {
526
+ right: -50px;
527
+ }
528
+
529
+ .theme-bar a.nivo-prevNav {
530
+ left: -50px;
531
+ }
532
+
533
+ .theme-bar:hover a.nivo-nextNav {
534
+ right: 15px;
535
+ opacity: 1;
536
+ }
537
+
538
+ .theme-bar:hover a.nivo-prevNav {
539
+ left: 15px;
540
+ opacity: 1;
541
+ }
542
+
543
+ .theme-bar .nivo-directionNav a:hover {
544
+ color: #ddd;
545
+ }
546
+
547
+ .theme-bar .nivo-caption {
548
+ font-family: Helvetica, Arial, sans-serif;
549
+ -webkit-transition: all 200ms ease-in-out;
550
+ -moz-transition: all 200ms ease-in-out;
551
+ -o-transition: all 200ms ease-in-out;
552
+ transition: all 200ms ease-in-out;
553
+ }
554
+
555
+ .theme-bar:hover .nivo-caption {
556
+ bottom: 41px;
557
+ }
558
+
559
+ .theme-bar .nivo-caption a {
560
+ color: #fff;
561
+ border-bottom: 1px dotted #fff;
562
+ }
563
+
564
+ .theme-bar .nivo-caption a:hover {
565
+ color: #fff;
566
+ }
567
+
568
+ .theme-bar .nivo-controlNav.nivo-thumbs-enabled {
569
+ width: 100%;
570
+ }
571
+
572
+ .theme-bar .nivo-controlNav.nivo-thumbs-enabled a {
573
+ width: auto;
574
+ height: auto;
575
+ background: none;
576
+ margin-bottom: 5px;
577
+ }
578
+
579
+ .theme-bar .nivo-controlNav.nivo-thumbs-enabled img {
580
+ display: block;
581
+ width: 120px;
582
+ height: auto;
583
+ }