ratings, home slider etc.
1
.gitignore
vendored
|
@ -15,3 +15,4 @@ public/thumbs
|
||||||
public/uploads
|
public/uploads
|
||||||
vendor/cache
|
vendor/cache
|
||||||
.idea
|
.idea
|
||||||
|
.sass-cache
|
1
Gemfile
|
@ -9,6 +9,7 @@ gem 'princely'
|
||||||
gem 'jquery-rails'
|
gem 'jquery-rails'
|
||||||
gem 'jquery-ui-rails'
|
gem 'jquery-ui-rails'
|
||||||
gem 'twitter-bootstrap-rails', :git => 'git://github.com/seyhunak/twitter-bootstrap-rails.git'
|
gem 'twitter-bootstrap-rails', :git => 'git://github.com/seyhunak/twitter-bootstrap-rails.git'
|
||||||
|
gem 'ajaxful_rating_jquery', :git => 'git://github.com/baxang/ajaxful_rating_jquery.git'#, :branch => 'rails3'
|
||||||
gem 'configatron', :git => 'git://github.com/markbates/configatron.git'
|
gem 'configatron', :git => 'git://github.com/markbates/configatron.git'
|
||||||
gem 'plupload-rails', :git => 'git://github.com/bryanmig/plupload-rails.git'
|
gem 'plupload-rails', :git => 'git://github.com/bryanmig/plupload-rails.git'
|
||||||
gem 'sequel', :git => 'git://github.com/jeremyevans/sequel.git'
|
gem 'sequel', :git => 'git://github.com/jeremyevans/sequel.git'
|
||||||
|
|
|
@ -1,3 +1,9 @@
|
||||||
|
GIT
|
||||||
|
remote: git://github.com/baxang/ajaxful_rating_jquery.git
|
||||||
|
revision: b4a2c760cdbad9cd865fb18667d14045018287ed
|
||||||
|
specs:
|
||||||
|
ajaxful_rating_jquery (3.0.0.beta3)
|
||||||
|
|
||||||
GIT
|
GIT
|
||||||
remote: git://github.com/bryanmig/plupload-rails.git
|
remote: git://github.com/bryanmig/plupload-rails.git
|
||||||
revision: 6d07d0f7e05d0b3fdc9b03b49d3a7c3aa1cd703b
|
revision: 6d07d0f7e05d0b3fdc9b03b49d3a7c3aa1cd703b
|
||||||
|
@ -251,6 +257,7 @@ PLATFORMS
|
||||||
ruby
|
ruby
|
||||||
|
|
||||||
DEPENDENCIES
|
DEPENDENCIES
|
||||||
|
ajaxful_rating_jquery!
|
||||||
cancan
|
cancan
|
||||||
carrierwave (= 0.6.2)
|
carrierwave (= 0.6.2)
|
||||||
coffee-rails
|
coffee-rails
|
||||||
|
|
BIN
app/assets/images/ajaxful_rating/star.png
Normal file
After Width: | Height: | Size: 1.6 KiB |
BIN
app/assets/images/ajaxful_rating/star_small.png
Normal file
After Width: | Height: | Size: 302 B |
Before Width: | Height: | Size: 6.5 KiB |
|
@ -6,6 +6,7 @@
|
||||||
//
|
//
|
||||||
//= require jquery
|
//= require jquery
|
||||||
//= require jquery_ujs
|
//= require jquery_ujs
|
||||||
|
//= require jquery.easing.1.3
|
||||||
//= require twitter/bootstrap
|
//= require twitter/bootstrap
|
||||||
//= require plupload
|
//= require plupload
|
||||||
//= require jquery.plupload.queue
|
//= require jquery.plupload.queue
|
||||||
|
|
91
app/assets/stylesheets/ajaxful_rating.css.scss
Normal file
|
@ -0,0 +1,91 @@
|
||||||
|
/*
|
||||||
|
* Style by Rogie http://www.komodomedia.com/blog/2007/01/css-star-rating-redux/
|
||||||
|
*/
|
||||||
|
|
||||||
|
.ajaxful-rating,
|
||||||
|
.ajaxful-rating a:hover,
|
||||||
|
.ajaxful-rating a:active,
|
||||||
|
.ajaxful-rating a:focus,
|
||||||
|
.ajaxful-rating .show-value {
|
||||||
|
background: url("/assets/ajaxful_rating/star.png") left -1000px repeat-x;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ajaxful-rating {
|
||||||
|
position: relative;
|
||||||
|
/*width: 125px; this is setted dynamically */
|
||||||
|
height: 25px;
|
||||||
|
overflow: hidden;
|
||||||
|
list-style: none;
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
background-position: left top;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ajaxful-rating li {
|
||||||
|
display: inline;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ajaxful-rating a,
|
||||||
|
.ajaxful-rating span,
|
||||||
|
.ajaxful-rating .show-value {
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
text-indent: -1000em;
|
||||||
|
height: 25px;
|
||||||
|
line-height: 25px;
|
||||||
|
outline: none;
|
||||||
|
overflow: hidden;
|
||||||
|
border: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ajaxful-rating a:hover,
|
||||||
|
.ajaxful-rating a:active,
|
||||||
|
.ajaxful-rating a:focus {
|
||||||
|
background-position: left bottom;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* This section is generated dynamically.
|
||||||
|
Just add a call to the helper method 'ajaxful_rating_style' within
|
||||||
|
the head tags in your main layout
|
||||||
|
.ajaxful-rating .stars-1{
|
||||||
|
width: 20%;
|
||||||
|
z-index: 6;
|
||||||
|
}
|
||||||
|
.ajaxful-rating .stars-2{
|
||||||
|
width: 40%;
|
||||||
|
z-index: 5;
|
||||||
|
}
|
||||||
|
.ajaxful-rating .stars-3{
|
||||||
|
width: 60%;
|
||||||
|
z-index: 4;
|
||||||
|
}
|
||||||
|
.ajaxful-rating .stars-4{
|
||||||
|
width: 80%;
|
||||||
|
z-index: 3;
|
||||||
|
}
|
||||||
|
.ajaxful-rating .stars-5{
|
||||||
|
width: 100%;
|
||||||
|
z-index: 2;
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
.ajaxful-rating .show-value {
|
||||||
|
z-index: 1;
|
||||||
|
background-position: left center;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* smaller star */
|
||||||
|
.ajaxful-rating.small {
|
||||||
|
/*width: 50px; this is setted dynamically */
|
||||||
|
height: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ajaxful-rating.small,
|
||||||
|
.ajaxful-rating.small a:hover,
|
||||||
|
.ajaxful-rating.small a:active,
|
||||||
|
.ajaxful-rating.small a:focus,
|
||||||
|
.ajaxful-rating.small .show-value {
|
||||||
|
background-image: url("/assets/ajaxful_rating/star_small.png");
|
||||||
|
line-height: 10px;
|
||||||
|
height: 10px;
|
||||||
|
}
|
|
@ -4,3 +4,11 @@
|
||||||
*= require jquery.plupload.queue
|
*= require jquery.plupload.queue
|
||||||
*= require bootstrap_and_overrides
|
*= require bootstrap_and_overrides
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
.ajaxful-rating-wrapper{
|
||||||
|
float: right;
|
||||||
|
}
|
||||||
|
|
||||||
|
.view-btn{
|
||||||
|
display: inline;
|
||||||
|
}
|
|
@ -4,7 +4,9 @@ class CollectionsController < ApplicationController
|
||||||
|
|
||||||
|
|
||||||
def index
|
def index
|
||||||
@collections = Collection.joins(:albums => :photos).group_for.order('collections.title')
|
@collections = Collection.includes(:albums => :photos).where("photos.id NOT NULL").group_for.order('collections.title')
|
||||||
|
@popular_photos = Photo.visible.order('rating_average asc').limit(10)
|
||||||
|
|
||||||
respond_to do |format|
|
respond_to do |format|
|
||||||
format.html
|
format.html
|
||||||
format.json { render :json => @collections }
|
format.json { render :json => @collections }
|
||||||
|
@ -60,4 +62,10 @@ class CollectionsController < ApplicationController
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def rate
|
||||||
|
@collection = Collection.find(params[:id])
|
||||||
|
@collection.rate(params[:stars], current_user, params[:dimension])
|
||||||
|
render :json => {:id => @collection.wrapper_dom_id(params), :width => 125}
|
||||||
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
|
@ -1,6 +1,8 @@
|
||||||
class Album < ActiveRecord::Base
|
class Album < ActiveRecord::Base
|
||||||
extend Ext::GroupFor
|
extend Ext::GroupFor
|
||||||
|
|
||||||
|
ajaxful_rateable :stars => 5, :cache_column => :rating_average
|
||||||
|
|
||||||
has_many :photos, :dependent => :destroy
|
has_many :photos, :dependent => :destroy
|
||||||
has_many :collection_albums
|
has_many :collection_albums
|
||||||
has_many :collections, :through => :collection_albums
|
has_many :collections, :through => :collection_albums
|
||||||
|
|
|
@ -1,6 +1,8 @@
|
||||||
class Collection < ActiveRecord::Base
|
class Collection < ActiveRecord::Base
|
||||||
extend Ext::GroupFor
|
extend Ext::GroupFor
|
||||||
|
|
||||||
|
ajaxful_rateable :stars => 5, :cache_column => :rating_average
|
||||||
|
|
||||||
has_many :collection_albums
|
has_many :collection_albums
|
||||||
has_many :albums, :through => :collection_albums
|
has_many :albums, :through => :collection_albums
|
||||||
attr_accessor :album_list
|
attr_accessor :album_list
|
||||||
|
|
|
@ -1,19 +1,21 @@
|
||||||
class Photo < ActiveRecord::Base
|
class Photo < ActiveRecord::Base
|
||||||
extend Ext::GroupFor
|
extend Ext::GroupFor
|
||||||
|
|
||||||
|
ajaxful_rateable :stars => 5, :cache_column => :rating_average
|
||||||
|
|
||||||
belongs_to :album
|
belongs_to :album
|
||||||
has_many :photo_tags, :dependent => :destroy
|
has_many :photo_tags, :dependent => :destroy
|
||||||
has_many :tags, :through => :photo_tags
|
has_many :tags, :through => :photo_tags
|
||||||
|
|
||||||
mount_uploader :attachment, FileUploader
|
mount_uploader :attachment, FileUploader
|
||||||
|
|
||||||
|
|
||||||
before_create :exif_read
|
before_create :exif_read
|
||||||
before_update :exif_write
|
before_update :exif_write
|
||||||
after_create :set_title
|
after_create :set_title
|
||||||
|
|
||||||
attr_accessor :tag_list
|
attr_accessor :tag_list
|
||||||
|
|
||||||
|
scope :visible, where(:public => true)
|
||||||
scope :untouched, :conditions => "photos.description IS NULL AND photos.id NOT IN ( SELECT photo_id FROM photo_tags)", :include => :album
|
scope :untouched, :conditions => "photos.description IS NULL AND photos.id NOT IN ( SELECT photo_id FROM photo_tags)", :include => :album
|
||||||
scope :previous, lambda { |p,a| { :conditions => ["id < :id AND album_Id = :album ", { :id => p, :album => a } ], :limit => 1, :order => "id DESC"} }
|
scope :previous, lambda { |p,a| { :conditions => ["id < :id AND album_Id = :album ", { :id => p, :album => a } ], :limit => 1, :order => "id DESC"} }
|
||||||
scope :next, lambda { |p,a| { :conditions => ["id > :id AND album_Id = :album ", { :id => p, :album => a } ], :limit => 1, :order => "id ASC"} }
|
scope :next, lambda { |p,a| { :conditions => ["id > :id AND album_Id = :album ", { :id => p, :album => a } ], :limit => 1, :order => "id ASC"} }
|
||||||
|
|
7
app/models/rate.rb
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
class Rate < ActiveRecord::Base
|
||||||
|
belongs_to :rater, :class_name => "User"
|
||||||
|
belongs_to :rateable, :polymorphic => true
|
||||||
|
validates_numericality_of :stars, :minimum => 1
|
||||||
|
|
||||||
|
attr_accessible :rate, :dimension
|
||||||
|
end
|
7
app/models/secret_link_observer.rb
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
class SecretLinkObserver < ActiveRecord::Observer
|
||||||
|
observe :collection, :album, :photo
|
||||||
|
|
||||||
|
def before_create(record)
|
||||||
|
record.url = ::SecureRandom.hex(16)
|
||||||
|
end
|
||||||
|
end
|
|
@ -4,6 +4,8 @@ class User < ActiveRecord::Base
|
||||||
|
|
||||||
attr_accessible :id, :name, :second_name, :surname, :email, :password, :password_confirmation, :remember_me, :userpic
|
attr_accessible :id, :name, :second_name, :surname, :email, :password, :password_confirmation, :remember_me, :userpic
|
||||||
|
|
||||||
|
ajaxful_rater
|
||||||
|
|
||||||
mount_uploader :userpic, UserpicUploader
|
mount_uploader :userpic, UserpicUploader
|
||||||
|
|
||||||
has_and_belongs_to_many :roles
|
has_and_belongs_to_many :roles
|
||||||
|
|
|
@ -64,22 +64,38 @@ class FileUploader < CarrierWave::Uploader::Base
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
version :preview do
|
######################################################################################################################
|
||||||
process :resize_to_fit => [210, 210]
|
# Note
|
||||||
|
# The default grid system provided in Bootstrap utilizes 12 columns that
|
||||||
|
# render out at widths of 724px, 940px (default without responsive CSS included), and 1170px.
|
||||||
|
# Below 767px viewports, the columns become fluid and stack vertically.
|
||||||
|
|
||||||
|
version :middle do
|
||||||
|
process :resize_to_fit => [724, 500]
|
||||||
|
|
||||||
def store_dir
|
def store_dir
|
||||||
ENV['STORAGE_PATH'] + "/thumbs/#{model.album.path}/#{model.id}"
|
ENV['STORAGE_PATH'] + "/thumbs/#{model.album.path}/#{model.id}"
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
version :single do
|
version :large do
|
||||||
process :resize_to_limit => [950, 950]
|
process :resize_to_fit => [940, 500]
|
||||||
|
|
||||||
def store_dir
|
def store_dir
|
||||||
ENV['STORAGE_PATH'] + "/thumbs/#{model.album.path}/#{model.id}"
|
ENV['STORAGE_PATH'] + "/thumbs/#{model.album.path}/#{model.id}"
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
version :largest do
|
||||||
|
process :resize_to_fit => [1170, 500]
|
||||||
|
|
||||||
|
def store_dir
|
||||||
|
ENV['STORAGE_PATH'] + "/thumbs/#{model.album.path}/#{model.id}"
|
||||||
|
end
|
||||||
|
end
|
||||||
|
######################################################################################################################
|
||||||
|
|
||||||
|
|
||||||
# Add a white list of extensions which are allowed to be uploaded,
|
# Add a white list of extensions which are allowed to be uploaded,
|
||||||
# for images you might use something like this:
|
# for images you might use something like this:
|
||||||
def extension_white_list
|
def extension_white_list
|
||||||
|
|
|
@ -9,6 +9,13 @@ class UserpicUploader < CarrierWave::Uploader::Base
|
||||||
"#{::SecureRandom.hex(8)}#{File.extname(original_filename).downcase}" if original_filename
|
"#{::SecureRandom.hex(8)}#{File.extname(original_filename).downcase}" if original_filename
|
||||||
end
|
end
|
||||||
|
|
||||||
|
version :mini do
|
||||||
|
process :resize_to_fit => [50, 50]
|
||||||
|
|
||||||
|
def store_dir
|
||||||
|
"#{ENV['STORAGE_PATH']}/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}/mini"
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
version :small do
|
version :small do
|
||||||
process :resize_to_fit => [100, 100]
|
process :resize_to_fit => [100, 100]
|
||||||
|
|
|
@ -1,25 +1,31 @@
|
||||||
<% @collections.in_groups_of(4).compact.each do |group| %>
|
<div class="row">
|
||||||
<% unless group.compact.empty? %>
|
<%= render 'shared/home_slider' %>
|
||||||
|
</div>
|
||||||
|
<div class="clearfix"></div>
|
||||||
|
<div class="row">
|
||||||
|
<div class="span12">
|
||||||
|
<% @collections.in_groups_of(4).each do |group| %>
|
||||||
|
<% unless group.empty? %>
|
||||||
<ul class="thumbnails">
|
<ul class="thumbnails">
|
||||||
<% group.compact.each do |collection| %>
|
<% group.compact.each_with_index do |collection, index| %>
|
||||||
<% unless collection.albums.empty? %>
|
|
||||||
<% unless collection.albums.first.photos.empty? %>
|
|
||||||
<li class="span3">
|
<li class="span3">
|
||||||
<div class="thumbnail">
|
<div class="thumbnail">
|
||||||
<%= image_tag collection.albums.first.photos.first.attachment.collection.url %>
|
<%= image_tag collection.albums.first.photos.first.attachment.collection.url %>
|
||||||
<div class="caption">
|
<div class="caption">
|
||||||
<h5><%= collection.title %></h5>
|
<h5><%= collection.title %></h5>
|
||||||
<p><%= collection.description %></p>
|
<p><%= collection.description %></p>
|
||||||
<p><%= link_to 'View', (collection_path(collection) unless collection.albums.empty? || collection.albums.first.photos.empty?), {:class => 'btn btn-primary'} %></p>
|
<p class="view-btn"><%= link_to 'View', (collection_path(collection) unless collection.albums.empty? || collection.albums.first.photos.empty?), {:class => 'btn btn-primary'} %></p>
|
||||||
|
<%= ratings_for collection %>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</li>
|
</li>
|
||||||
<% end %>
|
<% end %>
|
||||||
<% end %>
|
|
||||||
<% end %>
|
|
||||||
</ul>
|
</ul>
|
||||||
<% end %>
|
<% end %>
|
||||||
<% end %>
|
<% end %>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<%= content_for :action_links do %>
|
<%= content_for :action_links do %>
|
||||||
|
|
|
@ -6,24 +6,16 @@
|
||||||
<body>
|
<body>
|
||||||
<%= render :partial => 'shared/nav_bar' %>
|
<%= render :partial => 'shared/nav_bar' %>
|
||||||
<div class="container">
|
<div class="container">
|
||||||
<!-- Main hero unit for a primary marketing message or call to action -->
|
|
||||||
<div class="hero-unit">
|
|
||||||
<h1>Hello, world!</h1>
|
|
||||||
<p>This is a template for a simple marketing or informational website. It includes a large callout called the hero
|
|
||||||
unit and three supporting pieces of content. Use it as a starting point to create something more unique.</p>
|
|
||||||
<p><a class="btn btn-primary btn-large">Learn more »</a></p>
|
|
||||||
</div>
|
|
||||||
<!-- Example row of columns -->
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
|
<div class="span12 notice"><%= flash[:notice] %></div>
|
||||||
<div class="span12">
|
<div class="span12">
|
||||||
<%= yield %>
|
<%= yield %>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<hr>
|
<hr>
|
||||||
<footer>
|
<footer>
|
||||||
<p>© Company 2012</p>
|
<p>© Photomix 2012</p>
|
||||||
</footer>
|
</footer>
|
||||||
</div>
|
</div>
|
||||||
<!-- /container -->
|
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|
|
@ -34,3 +34,5 @@
|
||||||
|
|
||||||
<%= yield :head %>
|
<%= yield :head %>
|
||||||
<%= yield :javascript %>
|
<%= yield :javascript %>
|
||||||
|
<%= raw ajaxful_rating_style %>
|
||||||
|
<%= raw ajaxful_rating_script %>
|
38
app/views/shared/_home_slider.html.erb
Normal file
|
@ -0,0 +1,38 @@
|
||||||
|
<%= content_for :head do %>
|
||||||
|
<%= stylesheet_link_tag "anythingslider/anythingslider" %>
|
||||||
|
<%= javascript_include_tag "anythingslider/jquery.anythingslider.min" %>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
$(function () {
|
||||||
|
$('#home-slider').anythingSlider({
|
||||||
|
// theme:'metallic',
|
||||||
|
expand:true,
|
||||||
|
//resizeContents: false,
|
||||||
|
autoPlay:true
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style type="text/css">
|
||||||
|
#home-slider {
|
||||||
|
height: 1000px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.slider-wrapper {
|
||||||
|
width: 100%;
|
||||||
|
height: 1000px;
|
||||||
|
margin: 0 auto;
|
||||||
|
margin-bottom: 20px;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
<% end %>
|
||||||
|
|
||||||
|
<div class="span12 slider-wrapper">
|
||||||
|
<ul id="home-slider">
|
||||||
|
<% @popular_photos.each do |photo| %>
|
||||||
|
<li><%= image_tag photo.attachment.large.url %></li>
|
||||||
|
<% end %>
|
||||||
|
</ul>
|
||||||
|
</div>
|
8
app/views/shared/_screen_resolution.html.erb
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
<a href="javascript:alert('Your screen resolution is '+screen.width+'x'+screen.height);">Click for your screen resolution</a>
|
||||||
|
<input type="hidden" id="resolution_screen" name="resolution_screen">
|
||||||
|
|
||||||
|
<%= content_for :action_links do %>
|
||||||
|
<% if current_user and current_user.has_role?("admin") %>
|
||||||
|
<%= link_to "New collection", new_collection_path %>
|
||||||
|
<% end %>
|
||||||
|
<% end %>
|
BIN
assets/images/ajaxful_rating/star.png
Normal file
After Width: | Height: | Size: 1.6 KiB |
BIN
assets/images/ajaxful_rating/star_small.png
Normal file
After Width: | Height: | Size: 302 B |
84
assets/stylesheets/ajaxful_rating.css.scss
Normal file
|
@ -0,0 +1,84 @@
|
||||||
|
/*
|
||||||
|
* Style by Rogie http://www.komodomedia.com/blog/2007/01/css-star-rating-redux/
|
||||||
|
*/
|
||||||
|
|
||||||
|
.ajaxful-rating,
|
||||||
|
.ajaxful-rating a:hover,
|
||||||
|
.ajaxful-rating a:active,
|
||||||
|
.ajaxful-rating a:focus,
|
||||||
|
.ajaxful-rating .show-value{
|
||||||
|
background: image-url("ajaxful_rating/star.png") left -1000px repeat-x;
|
||||||
|
}
|
||||||
|
.ajaxful-rating{
|
||||||
|
position: relative;
|
||||||
|
/*width: 125px; this is setted dynamically */
|
||||||
|
height: 25px;
|
||||||
|
overflow: hidden;
|
||||||
|
list-style: none;
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
background-position: left top;
|
||||||
|
}
|
||||||
|
.ajaxful-rating li{ display: inline; }
|
||||||
|
.ajaxful-rating a,
|
||||||
|
.ajaxful-rating span,
|
||||||
|
.ajaxful-rating .show-value{
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
text-indent: -1000em;
|
||||||
|
height: 25px;
|
||||||
|
line-height: 25px;
|
||||||
|
outline: none;
|
||||||
|
overflow: hidden;
|
||||||
|
border: none;
|
||||||
|
}
|
||||||
|
.ajaxful-rating a:hover,
|
||||||
|
.ajaxful-rating a:active,
|
||||||
|
.ajaxful-rating a:focus{
|
||||||
|
background-position: left bottom;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* This section is generated dynamically.
|
||||||
|
Just add a call to the helper method 'ajaxful_rating_style' within
|
||||||
|
the head tags in your main layout
|
||||||
|
.ajaxful-rating .stars-1{
|
||||||
|
width: 20%;
|
||||||
|
z-index: 6;
|
||||||
|
}
|
||||||
|
.ajaxful-rating .stars-2{
|
||||||
|
width: 40%;
|
||||||
|
z-index: 5;
|
||||||
|
}
|
||||||
|
.ajaxful-rating .stars-3{
|
||||||
|
width: 60%;
|
||||||
|
z-index: 4;
|
||||||
|
}
|
||||||
|
.ajaxful-rating .stars-4{
|
||||||
|
width: 80%;
|
||||||
|
z-index: 3;
|
||||||
|
}
|
||||||
|
.ajaxful-rating .stars-5{
|
||||||
|
width: 100%;
|
||||||
|
z-index: 2;
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
.ajaxful-rating .show-value{
|
||||||
|
z-index: 1;
|
||||||
|
background-position: left center;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* smaller star */
|
||||||
|
.ajaxful-rating.small{
|
||||||
|
/*width: 50px; this is setted dynamically */
|
||||||
|
height: 10px;
|
||||||
|
}
|
||||||
|
.ajaxful-rating.small,
|
||||||
|
.ajaxful-rating.small a:hover,
|
||||||
|
.ajaxful-rating.small a:active,
|
||||||
|
.ajaxful-rating.small a:focus,
|
||||||
|
.ajaxful-rating.small .show-value{
|
||||||
|
background-image: image-url("ajaxful_rating/star_small.png");
|
||||||
|
line-height: 10px;
|
||||||
|
height: 10px;
|
||||||
|
}
|
|
@ -12,7 +12,7 @@ module Photomix
|
||||||
# Custom directories with classes and modules you want to be autoloadable.
|
# Custom directories with classes and modules you want to be autoloadable.
|
||||||
# config.autoload_paths += %W(#{config.root}/
|
# config.autoload_paths += %W(#{config.root}/
|
||||||
config.autoload_paths += %W(#{config.root}/lib #{config.root}/app/middleware/)
|
config.autoload_paths += %W(#{config.root}/lib #{config.root}/app/middleware/)
|
||||||
|
config.active_record.observers = :secret_link_observer
|
||||||
config.encoding = "utf-8"
|
config.encoding = "utf-8"
|
||||||
config.i18n.default_locale = :ru
|
config.i18n.default_locale = :ru
|
||||||
config.time_zone = 'Moscow'
|
config.time_zone = 'Moscow'
|
||||||
|
|
|
@ -14,6 +14,10 @@ Photomix::Application.routes.draw do
|
||||||
resource :account, :controller => :users
|
resource :account, :controller => :users
|
||||||
|
|
||||||
resources :photos do
|
resources :photos do
|
||||||
|
member do
|
||||||
|
post :rate
|
||||||
|
end
|
||||||
|
|
||||||
collection do
|
collection do
|
||||||
get :untouched
|
get :untouched
|
||||||
post :edit_multiple
|
post :edit_multiple
|
||||||
|
@ -22,10 +26,16 @@ Photomix::Application.routes.draw do
|
||||||
get :scan
|
get :scan
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
resources :albums do
|
resources :albums do
|
||||||
|
member do
|
||||||
|
post :rate
|
||||||
|
end
|
||||||
|
|
||||||
collection do
|
collection do
|
||||||
get :untouched
|
get :untouched
|
||||||
end
|
end
|
||||||
|
|
||||||
resources :tags do
|
resources :tags do
|
||||||
resources :photos do
|
resources :photos do
|
||||||
collection do
|
collection do
|
||||||
|
@ -35,6 +45,7 @@ Photomix::Application.routes.draw do
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
resources :photos do
|
resources :photos do
|
||||||
collection do
|
collection do
|
||||||
get :untouched
|
get :untouched
|
||||||
|
@ -43,7 +54,12 @@ Photomix::Application.routes.draw do
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
resources :collections do
|
resources :collections do
|
||||||
|
member do
|
||||||
|
post :rate
|
||||||
|
end
|
||||||
|
|
||||||
resources :albums do
|
resources :albums do
|
||||||
resources :photos do
|
resources :photos do
|
||||||
collection do
|
collection do
|
||||||
|
|
|
@ -3,6 +3,10 @@ class CreateAlbum < ActiveRecord::Migration
|
||||||
create_table :albums do |t|
|
create_table :albums do |t|
|
||||||
t.string :title, :length => 250, :null => false
|
t.string :title, :length => 250, :null => false
|
||||||
t.text :description
|
t.text :description
|
||||||
|
t.decimal :rating_average, :default => 0, :precision => 6, :scale => 2
|
||||||
|
t.string :url
|
||||||
|
t.boolean :public
|
||||||
|
|
||||||
t.timestamps
|
t.timestamps
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -4,6 +4,10 @@ class CreatePhotos < ActiveRecord::Migration
|
||||||
t.string :title, :length => 250
|
t.string :title, :length => 250
|
||||||
t.text :description
|
t.text :description
|
||||||
t.references :album
|
t.references :album
|
||||||
|
t.decimal :rating_average, :default => 0, :precision => 6, :scale => 2
|
||||||
|
t.string :url
|
||||||
|
t.boolean :public
|
||||||
|
|
||||||
t.timestamps
|
t.timestamps
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -3,6 +3,9 @@ class CreateCollections < ActiveRecord::Migration
|
||||||
create_table :collections do |t|
|
create_table :collections do |t|
|
||||||
t.string :title, :null => false
|
t.string :title, :null => false
|
||||||
t.string :description
|
t.string :description
|
||||||
|
t.decimal :rating_average, :default => 0, :precision => 6, :scale => 2
|
||||||
|
t.string :url
|
||||||
|
t.boolean :public, :default => false
|
||||||
|
|
||||||
t.timestamps
|
t.timestamps
|
||||||
end
|
end
|
||||||
|
|
18
db/migrate/20120724213209_create_rates.rb
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
class CreateRates < ActiveRecord::Migration
|
||||||
|
def self.up
|
||||||
|
create_table :rates do |t|
|
||||||
|
t.belongs_to :rater
|
||||||
|
t.belongs_to :rateable, :polymorphic => true
|
||||||
|
t.integer :stars, :null => false
|
||||||
|
t.string :dimension
|
||||||
|
t.timestamps
|
||||||
|
end
|
||||||
|
|
||||||
|
add_index :rates, :rater_id
|
||||||
|
add_index :rates, [:rateable_id, :rateable_type]
|
||||||
|
end
|
||||||
|
|
||||||
|
def self.down
|
||||||
|
drop_table :rates
|
||||||
|
end
|
||||||
|
end
|
24
db/schema.rb
|
@ -11,11 +11,14 @@
|
||||||
#
|
#
|
||||||
# It's strongly recommended to check this file into your version control system.
|
# It's strongly recommended to check this file into your version control system.
|
||||||
|
|
||||||
ActiveRecord::Schema.define(:version => 20100412220801) do
|
ActiveRecord::Schema.define(:version => 20120724213209) do
|
||||||
|
|
||||||
create_table "albums", :force => true do |t|
|
create_table "albums", :force => true do |t|
|
||||||
t.string "title", :null => false
|
t.string "title", :null => false
|
||||||
t.text "description"
|
t.text "description"
|
||||||
|
t.decimal "rating_average", :precision => 6, :scale => 2, :default => 0.0
|
||||||
|
t.string "url"
|
||||||
|
t.boolean "public"
|
||||||
t.datetime "created_at", :null => false
|
t.datetime "created_at", :null => false
|
||||||
t.datetime "updated_at", :null => false
|
t.datetime "updated_at", :null => false
|
||||||
t.text "path"
|
t.text "path"
|
||||||
|
@ -40,6 +43,9 @@ ActiveRecord::Schema.define(:version => 20100412220801) do
|
||||||
create_table "collections", :force => true do |t|
|
create_table "collections", :force => true do |t|
|
||||||
t.string "title", :null => false
|
t.string "title", :null => false
|
||||||
t.string "description"
|
t.string "description"
|
||||||
|
t.decimal "rating_average", :precision => 6, :scale => 2, :default => 0.0
|
||||||
|
t.string "url"
|
||||||
|
t.boolean "public", :default => false
|
||||||
t.datetime "created_at", :null => false
|
t.datetime "created_at", :null => false
|
||||||
t.datetime "updated_at", :null => false
|
t.datetime "updated_at", :null => false
|
||||||
end
|
end
|
||||||
|
@ -60,6 +66,9 @@ ActiveRecord::Schema.define(:version => 20100412220801) do
|
||||||
t.string "title"
|
t.string "title"
|
||||||
t.text "description"
|
t.text "description"
|
||||||
t.integer "album_id"
|
t.integer "album_id"
|
||||||
|
t.decimal "rating_average", :precision => 6, :scale => 2, :default => 0.0
|
||||||
|
t.string "url"
|
||||||
|
t.boolean "public"
|
||||||
t.datetime "created_at", :null => false
|
t.datetime "created_at", :null => false
|
||||||
t.datetime "updated_at", :null => false
|
t.datetime "updated_at", :null => false
|
||||||
t.text "path"
|
t.text "path"
|
||||||
|
@ -71,6 +80,19 @@ ActiveRecord::Schema.define(:version => 20100412220801) do
|
||||||
add_index "photos", ["album_id"], :name => "index_photos_on_album_id"
|
add_index "photos", ["album_id"], :name => "index_photos_on_album_id"
|
||||||
add_index "photos", ["id"], :name => "index_photos_on_id", :unique => true
|
add_index "photos", ["id"], :name => "index_photos_on_id", :unique => true
|
||||||
|
|
||||||
|
create_table "rates", :force => true do |t|
|
||||||
|
t.integer "rater_id"
|
||||||
|
t.integer "rateable_id"
|
||||||
|
t.string "rateable_type"
|
||||||
|
t.integer "stars", :null => false
|
||||||
|
t.string "dimension"
|
||||||
|
t.datetime "created_at", :null => false
|
||||||
|
t.datetime "updated_at", :null => false
|
||||||
|
end
|
||||||
|
|
||||||
|
add_index "rates", ["rateable_id", "rateable_type"], :name => "index_rates_on_rateable_id_and_rateable_type"
|
||||||
|
add_index "rates", ["rater_id"], :name => "index_rates_on_rater_id"
|
||||||
|
|
||||||
create_table "roles", :force => true do |t|
|
create_table "roles", :force => true do |t|
|
||||||
t.string "name"
|
t.string "name"
|
||||||
t.datetime "created_at", :null => false
|
t.datetime "created_at", :null => false
|
||||||
|
|
|
@ -19,4 +19,8 @@ user.roles << Role.make!(name: 'admin')
|
||||||
20.times.map { Photo.make! }
|
20.times.map { Photo.make! }
|
||||||
10.times.map { CollectionAlbum.make! }
|
10.times.map { CollectionAlbum.make! }
|
||||||
|
|
||||||
|
20.times.map{ Rate.make!(:collections) }
|
||||||
|
20.times.map{ Rate.make!(:albums) }
|
||||||
|
20.times.map{ Rate.make!(:photos) }
|
||||||
|
|
||||||
FileUtils.rm_rf "#{Rails.root}/tmp/attachments"
|
FileUtils.rm_rf "#{Rails.root}/tmp/attachments"
|
||||||
|
|
|
@ -20,7 +20,6 @@ User.blueprint {
|
||||||
surname { Faker::NameRU.last_name(sex) }
|
surname { Faker::NameRU.last_name(sex) }
|
||||||
confirmed_at { Time.now + rand(1..4) }
|
confirmed_at { Time.now + rand(1..4) }
|
||||||
confirmation_sent_at { Time.now + rand(5..9) }
|
confirmation_sent_at { Time.now + rand(5..9) }
|
||||||
# TODO migrate from paperclip to carrier_wave
|
|
||||||
userpic {
|
userpic {
|
||||||
file_name = ::SecureRandom.hex(8)
|
file_name = ::SecureRandom.hex(8)
|
||||||
file = open("http://lorempixel.com/800/500/abstract/")
|
file = open("http://lorempixel.com/800/500/abstract/")
|
||||||
|
@ -39,11 +38,15 @@ Album.blueprint {
|
||||||
title { Faker::Lorem.sentence(rand(3)) }
|
title { Faker::Lorem.sentence(rand(3)) }
|
||||||
description { Faker::Lorem.sentence }
|
description { Faker::Lorem.sentence }
|
||||||
path { "my_album_#{sn}" }
|
path { "my_album_#{sn}" }
|
||||||
|
rating_average { rand(1..5) }
|
||||||
|
public { true }
|
||||||
}
|
}
|
||||||
|
|
||||||
Collection.blueprint {
|
Collection.blueprint {
|
||||||
title { Faker::Lorem.sentence(rand(3)) }
|
title { Faker::Lorem.sentence(rand(3)) }
|
||||||
description { Faker::Lorem.sentence }
|
description { Faker::Lorem.sentence }
|
||||||
|
rating_average { rand(1..5) }
|
||||||
|
public { true }
|
||||||
}
|
}
|
||||||
|
|
||||||
CollectionAlbum.blueprint {
|
CollectionAlbum.blueprint {
|
||||||
|
@ -55,9 +58,11 @@ Photo.blueprint {
|
||||||
title { Faker::Lorem.sentence(rand(3)) }
|
title { Faker::Lorem.sentence(rand(3)) }
|
||||||
description { Faker::Lorem.sentence }
|
description { Faker::Lorem.sentence }
|
||||||
album { Album.find(rand(1..20)) }
|
album { Album.find(rand(1..20)) }
|
||||||
|
rating_average { rand(1..5) }
|
||||||
|
public { true }
|
||||||
attachment {
|
attachment {
|
||||||
file_name = ::SecureRandom.hex(8)
|
file_name = ::SecureRandom.hex(8)
|
||||||
file = open("http://lorempixel.com/800/500/abstract/")
|
file = open("http://lorempixel.com/1300/1000/people/")
|
||||||
if file.kind_of? Tempfile
|
if file.kind_of? Tempfile
|
||||||
name = File.basename(file.path)
|
name = File.basename(file.path)
|
||||||
FileUtils.move(file.path, "#{Rails.root}/tmp/attachments/#{name}.jpeg")
|
FileUtils.move(file.path, "#{Rails.root}/tmp/attachments/#{name}.jpeg")
|
||||||
|
@ -69,3 +74,22 @@ Photo.blueprint {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Rate.blueprint(:collections) {
|
||||||
|
rateable { Collection.find(rand(1..20)) }
|
||||||
|
rater { User.find(rand(1..20)) }
|
||||||
|
stars { rand(1..5) }
|
||||||
|
}
|
||||||
|
|
||||||
|
Rate.blueprint(:albums) {
|
||||||
|
rateable { Album.find(rand(1..20)) }
|
||||||
|
rater { User.find(rand(1..20)) }
|
||||||
|
stars { rand(1..5) }
|
||||||
|
}
|
||||||
|
|
||||||
|
Rate.blueprint(:photos) {
|
||||||
|
rateable { Photo.find(rand(1..20)) }
|
||||||
|
rater { User.find(rand(1..20)) }
|
||||||
|
stars { rand(1..5) }
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
7
test/unit/secret_link_observer_test.rb
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
require 'test_helper'
|
||||||
|
|
||||||
|
class SecretLinkObserverTest < ActiveSupport::TestCase
|
||||||
|
# test "the truth" do
|
||||||
|
# assert true
|
||||||
|
# end
|
||||||
|
end
|
3813
vendor/assets/javascripts/anythingslider/animate.css
vendored
Normal file
291
vendor/assets/javascripts/anythingslider/anythingslider.css
vendored
Normal file
|
@ -0,0 +1,291 @@
|
||||||
|
/*
|
||||||
|
AnythingSlider v1.8+ Default theme
|
||||||
|
By Chris Coyier: http://css-tricks.com
|
||||||
|
with major improvements by Doug Neiner: http://pixelgraphics.us/
|
||||||
|
based on work by Remy Sharp: http://jqueryfordesigners.com/
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*****************************
|
||||||
|
SET DEFAULT DIMENSIONS HERE
|
||||||
|
*****************************/
|
||||||
|
/* change the ID & dimensions to match your slider */
|
||||||
|
#slider {
|
||||||
|
width: 700px;
|
||||||
|
height: 390px;
|
||||||
|
list-style: none;
|
||||||
|
/* Prevent FOUC (see FAQ page) and keep things readable if javascript is disabled */
|
||||||
|
overflow-y: auto;
|
||||||
|
overflow-x: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
/******************
|
||||||
|
SET STYLING HERE
|
||||||
|
******************
|
||||||
|
=================================
|
||||||
|
Default state (no keyboard focus)
|
||||||
|
==================================*/
|
||||||
|
/* Overall Wrapper */
|
||||||
|
.anythingSlider-default {
|
||||||
|
margin: 0 auto;
|
||||||
|
/* 45px right & left padding for the arrows, 28px @ bottom for navigation */
|
||||||
|
padding: 0 45px 28px 45px;
|
||||||
|
}
|
||||||
|
/* slider window - top & bottom borders, default state */
|
||||||
|
.anythingSlider-default .anythingWindow {
|
||||||
|
border-top: 3px solid #777;
|
||||||
|
border-bottom: 3px solid #777;
|
||||||
|
}
|
||||||
|
/* Navigation buttons + start/stop button, default state */
|
||||||
|
.anythingSlider-default .anythingControls a {
|
||||||
|
/* top shadow */
|
||||||
|
background: #777 url(../images/default.png) center -288px repeat-x;
|
||||||
|
color: #000;
|
||||||
|
border-radius: 0 0 5px 5px;
|
||||||
|
-moz-border-radius: 0 0 5px 5px;
|
||||||
|
-webkit-border-radius: 0 0 5px 5px;
|
||||||
|
}
|
||||||
|
/* Make sure navigation text is visible */
|
||||||
|
.anythingSlider-default .anythingControls a span {
|
||||||
|
visibility: visible;
|
||||||
|
}
|
||||||
|
/* Navigation current button, default state */
|
||||||
|
.anythingSlider-default .anythingControls a.cur {
|
||||||
|
background: #888;
|
||||||
|
color: #000;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* start-stop button, stopped, default state */
|
||||||
|
.anythingSlider-default .anythingControls a.start-stop {
|
||||||
|
background-color: #040;
|
||||||
|
color: #ddd;
|
||||||
|
}
|
||||||
|
/* start-stop button, playing, default state */
|
||||||
|
.anythingSlider-default .anythingControls a.start-stop.playing {
|
||||||
|
background-color: #800;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* start-stop button, default hovered text color (when visible) */
|
||||||
|
/* hide nav/start-stop background image shadow on hover - makes the button appear to come forward */
|
||||||
|
.anythingSlider-default .anythingControls a.start-stop:hover,
|
||||||
|
.anythingSlider-default .anythingControls a.start-stop.hover,
|
||||||
|
.anythingSlider-default .anythingControls a.start-stop .anythingControls ul a:hover {
|
||||||
|
background-image: none;
|
||||||
|
color: #ddd;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
=================================
|
||||||
|
Active State (has keyboard focus)
|
||||||
|
=================================
|
||||||
|
*/
|
||||||
|
/* slider window - top & bottom borders, active state */
|
||||||
|
.anythingSlider-default.activeSlider .anythingWindow {
|
||||||
|
border-color: #7C9127;
|
||||||
|
}
|
||||||
|
/* Navigation buttons, active state */
|
||||||
|
.anythingSlider-default.activeSlider .anythingControls a {
|
||||||
|
/* background image = top shadow */
|
||||||
|
background-color: #7C9127;
|
||||||
|
}
|
||||||
|
/* Navigation current & hovered button, active state */
|
||||||
|
.anythingSlider-default.activeSlider .anythingControls a.cur,
|
||||||
|
.anythingSlider-default.activeSlider .anythingControls a:hover {
|
||||||
|
/* background image removed */
|
||||||
|
background: #7C9127;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* start-stop button, stopped, active state */
|
||||||
|
.anythingSlider-default.activeSlider .anythingControls a.start-stop {
|
||||||
|
background-color: #080;
|
||||||
|
color: #fff;
|
||||||
|
}
|
||||||
|
/* start-stop button, playing, active state */
|
||||||
|
.anythingSlider-default.activeSlider .anythingControls a.start-stop.playing {
|
||||||
|
background-color: #d00;
|
||||||
|
color: #fff;
|
||||||
|
}
|
||||||
|
/* start-stop button, active slider hovered text color (when visible) */
|
||||||
|
.anythingSlider-default.activeSlider .start-stop:hover,
|
||||||
|
.anythingSlider-default.activeSlider .start-stop.hover {
|
||||||
|
color: #fff;
|
||||||
|
}
|
||||||
|
|
||||||
|
/************************
|
||||||
|
NAVIGATION POSITIONING
|
||||||
|
************************/
|
||||||
|
/* Navigation Arrows */
|
||||||
|
.anythingSlider-default .arrow {
|
||||||
|
top: 50%;
|
||||||
|
position: absolute;
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
|
||||||
|
.anythingSlider-default .arrow a {
|
||||||
|
display: block;
|
||||||
|
width: 45px;
|
||||||
|
height: 140px;
|
||||||
|
margin: -70px 0 0 0; /* half height of image */
|
||||||
|
text-align: center;
|
||||||
|
outline: 0;
|
||||||
|
background: url(../images/default.png) no-repeat;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* back arrow */
|
||||||
|
.anythingSlider-default .back { left: 0; }
|
||||||
|
.anythingSlider-default .back a { background-position: left top; }
|
||||||
|
.anythingSlider-default .back a:hover,
|
||||||
|
.anythingSlider-default .back a.hover { background-position: left -140px; }
|
||||||
|
/* forward arrow */
|
||||||
|
.anythingSlider-default .forward { right: 0; }
|
||||||
|
.anythingSlider-default .forward a { background-position: right top; }
|
||||||
|
.anythingSlider-default .forward a:hover,
|
||||||
|
.anythingSlider-default .forward a.hover { background-position: right -140px; }
|
||||||
|
|
||||||
|
/* Navigation Links */
|
||||||
|
.anythingSlider-default .anythingControls { outline: 0; display: none; }
|
||||||
|
.anythingSlider-default .anythingControls ul { margin: 0; padding: 0; float: left; }
|
||||||
|
.anythingSlider-default .anythingControls ul li { display: inline; }
|
||||||
|
.anythingSlider-default .anythingControls ul a {
|
||||||
|
font: 11px/18px Georgia, Serif;
|
||||||
|
display: inline-block;
|
||||||
|
text-decoration: none;
|
||||||
|
padding: 2px 8px;
|
||||||
|
height: 18px;
|
||||||
|
margin: 0 5px 0 0;
|
||||||
|
text-align: center;
|
||||||
|
outline: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* navigationSize window */
|
||||||
|
.anythingSlider-default .anythingControls .anythingNavWindow {
|
||||||
|
overflow: hidden;
|
||||||
|
float: left;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Autoplay Start/Stop button */
|
||||||
|
.anythingSlider-default .anythingControls .start-stop {
|
||||||
|
padding: 2px 5px;
|
||||||
|
width: 40px;
|
||||||
|
text-align: center;
|
||||||
|
text-decoration: none;
|
||||||
|
float: right;
|
||||||
|
z-index: 100;
|
||||||
|
outline: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/***********************
|
||||||
|
IE8 AND OLDER STYLING
|
||||||
|
***********************/
|
||||||
|
|
||||||
|
/* Navigation Arrows */
|
||||||
|
.as-oldie .anythingSlider-default .arrow {
|
||||||
|
top: 30%;
|
||||||
|
}
|
||||||
|
.as-oldie .anythingSlider-default .arrow a {
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* margin between nav buttons just looks better */
|
||||||
|
.as-oldie .anythingSlider-default .anythingControls li {
|
||||||
|
margin-left: 3px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* When using the navigationSize option, the side margins need to be zero
|
||||||
|
None of the navigation panels look good in IE7 now =( */
|
||||||
|
.as-oldie .anythingSlider-default .anythingControls a {
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
.as-oldie .anythingSlider-default .anythingNavWindow {
|
||||||
|
margin: 0 2px;
|
||||||
|
}
|
||||||
|
.as-oldie .anythingSlider-default .anythingNavWindow li {
|
||||||
|
padding: 3px 0 0 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/***********************
|
||||||
|
COMMON SLIDER STYLING
|
||||||
|
***********************/
|
||||||
|
/* Overall Wrapper */
|
||||||
|
.anythingSlider {
|
||||||
|
display: block;
|
||||||
|
overflow: visible !important;
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
/* anythingSlider viewport window */
|
||||||
|
.anythingSlider .anythingWindow {
|
||||||
|
overflow: hidden;
|
||||||
|
position: relative;
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
|
/* anythingSlider base (original element) */
|
||||||
|
.anythingSlider .anythingBase {
|
||||||
|
background: transparent;
|
||||||
|
list-style: none;
|
||||||
|
position: absolute;
|
||||||
|
overflow: visible !important;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Navigation arrow text; indent moved to span inside "a", for IE7;
|
||||||
|
apparently, a negative text-indent on an "a" link moves the link as well as the text */
|
||||||
|
.anythingSlider .arrow span {
|
||||||
|
display: block;
|
||||||
|
visibility: hidden;
|
||||||
|
}
|
||||||
|
/* disabled arrows, hide or reduce opacity: opacity: .5; filter: alpha(opacity=50); */
|
||||||
|
.anythingSlider .arrow.disabled {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
/* all panels inside the slider; horizontal mode */
|
||||||
|
.anythingSlider .panel {
|
||||||
|
background: transparent;
|
||||||
|
display: block;
|
||||||
|
overflow: hidden;
|
||||||
|
float: left;
|
||||||
|
padding: 0;
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
/* vertical mode */
|
||||||
|
.anythingSlider .vertical .panel {
|
||||||
|
float: none;
|
||||||
|
}
|
||||||
|
/* fade mode */
|
||||||
|
.anythingSlider .fade .panel {
|
||||||
|
float: none;
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
z-index: -1;
|
||||||
|
}
|
||||||
|
/* fade mode active page - visible & on top */
|
||||||
|
.anythingSlider .fade .activePage {
|
||||||
|
z-index: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/***********************
|
||||||
|
RTL STYLING
|
||||||
|
***********************/
|
||||||
|
/* slider autoplay right-to-left, reverse order of nav links to look better */
|
||||||
|
.anythingSlider.rtl .anythingWindow {
|
||||||
|
direction: ltr;
|
||||||
|
unicode-bidi: bidi-override;
|
||||||
|
}
|
||||||
|
.anythingSlider.rtl .anythingControls ul { float: left; } /* move nav link group to left */
|
||||||
|
.anythingSlider.rtl .anythingControls ul a { float: right; } /* reverse order of nav links */
|
||||||
|
.anythingSlider.rtl .start-stop { /* float: right; */ } /* move start/stop button - in case you want to switch sides */
|
||||||
|
|
||||||
|
/* probably not necessary, but added just in case */
|
||||||
|
.anythingSlider,
|
||||||
|
.anythingSlider .anythingWindow,
|
||||||
|
.anythingSlider .anythingControls ul a,
|
||||||
|
.anythingSlider .arrow a,
|
||||||
|
.anythingSlider .start-stop {
|
||||||
|
transition-duration: 0;
|
||||||
|
-o-transition-duration: 0;
|
||||||
|
-moz-transition-duration: 0;
|
||||||
|
-webkit-transition-duration: 0;
|
||||||
|
}
|
BIN
vendor/assets/javascripts/anythingslider/images/arrows-metallic.png
vendored
Normal file
After Width: | Height: | Size: 17 KiB |
BIN
vendor/assets/javascripts/anythingslider/images/arrows-minimalist.png
vendored
Normal file
After Width: | Height: | Size: 5.5 KiB |
BIN
vendor/assets/javascripts/anythingslider/images/construction.gif
vendored
Normal file
After Width: | Height: | Size: 21 KiB |
BIN
vendor/assets/javascripts/anythingslider/images/cs-portfolio.png
vendored
Normal file
After Width: | Height: | Size: 12 KiB |
BIN
vendor/assets/javascripts/anythingslider/images/default.png
vendored
Normal file
After Width: | Height: | Size: 15 KiB |
6
vendor/assets/javascripts/anythingslider/jquery.anythingslider.fx.min.js
vendored
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
/*
|
||||||
|
* AnythingSlider Slide FX 1.6 minified for AnythingSlider v1.7.11+
|
||||||
|
* By Rob Garrison (aka Mottie & Fudgey)
|
||||||
|
* Dual licensed under the MIT and GPL licenses.
|
||||||
|
*/
|
||||||
|
(function(h){h.fn.anythingSliderFx=function(q,r){var n=h(this).closest(".anythingSlider"),i=n.width(),o=n.height(),p=function(a){var b=a,l;a&&"string"===typeof a&&0<a.indexOf(",")&&(a=a.split(","),b=h.trim(a[0]),l=h.trim(a[1]));return{top:[{inFx:{top:0},outFx:{top:"-"+(b||o)}}],bottom:[{inFx:{top:0},outFx:{top:b||o}}],left:[{inFx:{left:0},outFx:{left:"-"+(b||i)}}],right:[{inFx:{left:0},outFx:{left:b||i}}],fade:[{inFx:{opacity:b||1},outFx:{opacity:0}}],expand:[{inFx:{width:l||"100%",height:l||"100%", top:"0%",left:"0%"},outFx:{width:b||"10%",height:b||"10%",top:"50%",left:"50%"}}],grow:[{inFx:{top:0,fontSize:b||"16px",opacity:1},outFx:{top:"-200px",fontSize:l||"80px",opacity:0}}],listLR:[{inFx:{left:0,opacity:1},outFx:[{left:b||i,opacity:0},{left:"-"+(b||i),opacity:0}],selector:[":odd",":even"]}],listRL:[{inFx:{left:0,opacity:1},outFx:[{left:b||i,opacity:0},{left:"-"+(b||i),opacity:0}],selector:[":even",":odd"]}],"caption-Top":[{inFx:{top:0,opacity:0.8},outFx:{top:"-"+b||-50,opacity:0}}],"caption-Right":[{inFx:{right:0, opacity:0.8},outFx:{right:"-"+b||-150,opacity:0}}],"caption-Bottom":[{inFx:{bottom:0,opacity:0.8},outFx:{bottom:"-"+b||-50,opacity:0}}],"caption-Left":[{inFx:{left:0,opacity:0.8},outFx:{left:"-"+b||-150,opacity:0}}]}};return this.each(function(){h(this).data("AnythingSlider").fx=q;var a=h.extend({easing:"swing",timeIn:400,timeOut:350,stopRepeat:!1,outFxBind:"slide_init",inFxBind:"slide_complete",dataAnimate:"data-animate"},r),b=p(),l=function(a,c,d,b){if(!(0===a.length||"undefined"===typeof c)){var f= c[0]||c,e=f[1]||"",b=b||parseInt(""===e?f.duration:f[0].duration,10);if(d&&("absolute"!==a.css("position")&&a.css({position:"relative"}),a.stop(),""!==e)){a.filter(c[1][0]).animate(f[0],{queue:!1,duration:b,easing:f[0].easing});a.filter(c[1][1]).animate(e,{queue:!0,duration:b,easing:f[0].easing});return}a.animate(f,{queue:!0,duration:b,easing:f.easing})}},i=function(k,c){var d,j=c?"outFx":"inFx",f={},e=c?a.timeOut:a.timeIn,g=h.trim(k[0].replace(/\s+/g," ")).split(" ");if(c&&1===g.length&&b.hasOwnProperty(g)&& "undefined"!==typeof b[g][0].selector)return d=b[g][0].outFx,d[0].duration=k[2]||a.timeOut,d[0].easing=k[3]||a.easing,[d,b[g][0].selector||[]];h.each(g,function(d,g){if(b.hasOwnProperty(g)){var i="undefined"===typeof k[1]||""===k[1],i=i?b:p(k[1]);h.extend(!0,f,i[g][0][j]);i=k[2]||f.duration||e;f.duration=c?i/2:i;f.easing=isNaN(k[3])?k[3]||a.easing:k[4]||a.easing}});return[f]},m=h(this).bind(a.outFxBind,function(b,c){if(!(a.stopRepeat&&c.$lastPage[0]===c.$targetPage[0])){var d,j,f,e=c.$lastPage.add(c.$items.eq(c.exactPage)).add(c.$targetPage), g=c.fx;0===c.exactPage&&(e=e.add(c.$items.eq(c.pages)));c.options.animationTime<a.timeOut&&(f=c.options.animationTime||a.timeOut);e=e.find("*").andSelf();for(d in g)if("outFx"===d)for(j in g.outFx)e.filter(j).length&&l(e.filter(j),g.outFx[j],!0);else"inFx"!==d&&h.isArray(g[d])&&e.filter(d).length&&l(e.filter(d),i(g[d],!0),!0,f);d=e.filter("["+a.dataAnimate+"]");d.length&&d.each(function(){g=h(this).attr(a.dataAnimate).split(",");""!==g[0]&&h(this).removeClass(g[0]).addClass(g[1]||g[0])})}}).bind(a.inFxBind, function(b,c){if(!(a.stopRepeat&&c.$lastPage[0]===c.$targetPage[0])){var d,j,f=c.$currentPage.add(c.$items.eq(c.exactPage)),e=c.fx,f=f.find("*").andSelf();for(d in e)if("inFx"===d)for(j in e.inFx)f.filter(j).length&&l(f.filter(j),e.inFx[j],!1);else"outFx"!==d&&h.isArray(e[d])&&f.filter(d).length&&l(f.filter(d),i(e[d],!1),!1);d=f.filter("["+a.dataAnimate+"]");d.length&&d.each(function(){e=h(this).attr(a.dataAnimate).split(",");""!==e[0]&&h(this).removeClass(e[1]||e[0]).addClass(e[0])})}}).data("AnythingSlider"); h(window).load(function(){m.gotoPage(m.currentPage,m.playing)})})}})(jQuery);
|
6
vendor/assets/javascripts/anythingslider/jquery.anythingslider.min.js
vendored
Normal file
8
vendor/assets/javascripts/anythingslider/jquery.anythingslider.video.min.js
vendored
Normal file
299
vendor/assets/javascripts/anythingslider/theme-construction.css
vendored
Normal file
|
@ -0,0 +1,299 @@
|
||||||
|
/*
|
||||||
|
AnythingSlider v1.8+ Construction theme
|
||||||
|
By Rob Garrison
|
||||||
|
*/
|
||||||
|
/*****************************
|
||||||
|
SET DEFAULT DIMENSIONS HERE
|
||||||
|
*****************************/
|
||||||
|
/* change the ID & dimensions to match your slider */
|
||||||
|
#slider {
|
||||||
|
width: 700px;
|
||||||
|
height: 390px;
|
||||||
|
list-style: none;
|
||||||
|
/* Prevent FOUC (see FAQ page) and keep things readable if javascript is disabled */
|
||||||
|
overflow-y: auto;
|
||||||
|
overflow-x: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
/******************
|
||||||
|
SET STYLING HERE
|
||||||
|
******************
|
||||||
|
=================================
|
||||||
|
Default state (no keyboard focus)
|
||||||
|
=================================*/
|
||||||
|
/* Overall Wrapper */
|
||||||
|
.anythingSlider-construction {
|
||||||
|
margin: 0 auto;
|
||||||
|
/* 45px right & left padding for the navigation arrows */
|
||||||
|
padding: 0 45px;
|
||||||
|
}
|
||||||
|
/* slider window - top & bottom borders, default state */
|
||||||
|
.anythingSlider-construction .anythingWindow {
|
||||||
|
border-top: 3px solid #333;
|
||||||
|
border-bottom: 3px solid #333;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Navigation buttons + start/stop button, default state */
|
||||||
|
.anythingSlider-construction .anythingControls a {
|
||||||
|
background: transparent url(../images/construction.gif) -52px top no-repeat;
|
||||||
|
color: #fff;
|
||||||
|
}
|
||||||
|
/* Navigation current button, default state */
|
||||||
|
.anythingSlider-construction .anythingControls a.cur,
|
||||||
|
.anythingSlider-construction .anythingControls a:hover {
|
||||||
|
background-position: -52px -18px;
|
||||||
|
color: #000;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* start-stop button, stopped, default state */
|
||||||
|
.anythingSlider-construction .anythingControls a.start-stop {
|
||||||
|
background-position: -52px -35px;
|
||||||
|
}
|
||||||
|
/* start-stop button, playing, default state */
|
||||||
|
.anythingSlider-construction .anythingControls a.start-stop.playing {
|
||||||
|
background-position: -52px -52px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* start-stop button, default hovered text color (when visible) */
|
||||||
|
/* hide nav/start-stop background image shadow on hover - makes the button appear to come forward */
|
||||||
|
.anythingSlider-construction .anythingControls a.start-stop:hover,
|
||||||
|
.anythingSlider-construction .anythingControls a.start-stop.hover,
|
||||||
|
.anythingSlider-construction .anythingControls a.start-stop .anythingControls ul a:hover {
|
||||||
|
background-position: -52px -18px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
=================================
|
||||||
|
Active State (has keyboard focus)
|
||||||
|
=================================
|
||||||
|
*/
|
||||||
|
/* slider window - top & bottom borders, active state */
|
||||||
|
.anythingSlider-construction.activeSlider .anythingWindow {
|
||||||
|
border-color: #d0aa0d;
|
||||||
|
}
|
||||||
|
|
||||||
|
/************************
|
||||||
|
NAVIGATION POSITIONING
|
||||||
|
************************/
|
||||||
|
/* Navigation Arrows */
|
||||||
|
.anythingSlider-construction .arrow {
|
||||||
|
top: 50%;
|
||||||
|
position: absolute;
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
|
||||||
|
.anythingSlider-construction .arrow a {
|
||||||
|
display: block;
|
||||||
|
width: 45px;
|
||||||
|
height: 200px;
|
||||||
|
margin: -100px 0 0 0; /* half height of image */
|
||||||
|
text-align: center;
|
||||||
|
outline: 0;
|
||||||
|
background: url(../images/construction.gif) no-repeat;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* back arrow */
|
||||||
|
.anythingSlider-construction .back { left: 0; }
|
||||||
|
.anythingSlider-construction .back a {
|
||||||
|
background-position: left center;
|
||||||
|
border-radius: 5px 0 0 5px;
|
||||||
|
-moz-border-radius: 5px 0 0 5px;
|
||||||
|
-webkit-border-radius: 5px 0 0 5px;
|
||||||
|
}
|
||||||
|
.anythingSlider-construction .back a:hover,
|
||||||
|
.anythingSlider-construction .back a.hover {
|
||||||
|
background-position: -5px center;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* forward arrow */
|
||||||
|
.anythingSlider-construction .forward { right: 0; }
|
||||||
|
.anythingSlider-construction .forward a {
|
||||||
|
background-position: right center;
|
||||||
|
border-radius: 0 5px 5px 0;
|
||||||
|
-moz-border-radius: 0 5px 5px 0;
|
||||||
|
-webkit-border-radius: 0 5px 5px 0;
|
||||||
|
}
|
||||||
|
.anythingSlider-construction .forward a:hover,
|
||||||
|
.anythingSlider-construction .forward a.hover {
|
||||||
|
background-position: -67px center;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Navigation Links */
|
||||||
|
.anythingSlider-construction .anythingControls {
|
||||||
|
height: 22px; /* limit height, needed for IE9 of all things */
|
||||||
|
outline: 0;
|
||||||
|
display: none;
|
||||||
|
float: right;
|
||||||
|
position: absolute;
|
||||||
|
bottom: 5px;
|
||||||
|
right: 20px;
|
||||||
|
margin: 0 45px; /* needed for IE */
|
||||||
|
z-index: 100;
|
||||||
|
opacity: 0.90;
|
||||||
|
filter: alpha(opacity=90);
|
||||||
|
}
|
||||||
|
|
||||||
|
.anythingSlider-construction .anythingControls ul {
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
float: left;
|
||||||
|
}
|
||||||
|
.anythingSlider-construction .anythingControls ul li {
|
||||||
|
list-style: none;
|
||||||
|
float: left;
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
.anythingSlider-construction .anythingControls ul a {
|
||||||
|
display: inline-block;
|
||||||
|
width: 15px;
|
||||||
|
height: 15px;
|
||||||
|
margin: 3px;
|
||||||
|
padding: 0;
|
||||||
|
text-decoration: none;
|
||||||
|
text-align: center;
|
||||||
|
outline: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.anythingSlider-construction .anythingControls span {
|
||||||
|
display: block;
|
||||||
|
visibility: hidden; /* needed for IE8, instead of text-indent: -9999px */
|
||||||
|
}
|
||||||
|
|
||||||
|
/* navigationSize window */
|
||||||
|
.anythingSlider-construction .anythingControls .anythingNavWindow {
|
||||||
|
overflow: hidden;
|
||||||
|
float: left;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* navigationSize arrows */
|
||||||
|
.anythingSlider-construction .anythingControls li.next a,
|
||||||
|
.anythingSlider-construction .anythingControls li.prev a {
|
||||||
|
width: 14px;
|
||||||
|
height: 14px;
|
||||||
|
margin: 4px;
|
||||||
|
}
|
||||||
|
/* navigationSize nav arrow positioning */
|
||||||
|
.anythingSlider-construction .anythingControls li.next a {
|
||||||
|
background-position: -92px -143px;
|
||||||
|
}
|
||||||
|
.anythingSlider-construction .anythingControls li.next a:hover {
|
||||||
|
background-position: -90px -143px;
|
||||||
|
}
|
||||||
|
.anythingSlider-construction .anythingControls li.prev a {
|
||||||
|
background-position: -11px -143px;
|
||||||
|
}
|
||||||
|
.anythingSlider-construction .anythingControls li.prev a:hover {
|
||||||
|
background-position: -13px -143px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Autoplay Start/Stop button */
|
||||||
|
.anythingSlider-construction .anythingControls .start-stop {
|
||||||
|
display: inline-block;
|
||||||
|
width: 15px;
|
||||||
|
height: 15px;
|
||||||
|
margin: 3px;
|
||||||
|
padding: 0;
|
||||||
|
text-decoration: none;
|
||||||
|
z-index: 100;
|
||||||
|
outline: 0;
|
||||||
|
}
|
||||||
|
/***********************
|
||||||
|
IE8 AND OLDER STYLING
|
||||||
|
***********************/
|
||||||
|
/* Navigation Arrows */
|
||||||
|
.as-oldie .anythingSlider-construction .arrow {
|
||||||
|
top: 14%;
|
||||||
|
}
|
||||||
|
.as-oldie .anythingSlider-construction .arrow a {
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/***********************
|
||||||
|
COMMON SLIDER STYLING
|
||||||
|
***********************/
|
||||||
|
/* Overall Wrapper */
|
||||||
|
.anythingSlider {
|
||||||
|
display: block;
|
||||||
|
overflow: visible !important;
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
/* anythingSlider viewport window */
|
||||||
|
.anythingSlider .anythingWindow {
|
||||||
|
overflow: hidden;
|
||||||
|
position: relative;
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
|
/* anythingSlider base (original element) */
|
||||||
|
.anythingSlider .anythingBase {
|
||||||
|
background: transparent;
|
||||||
|
list-style: none;
|
||||||
|
position: absolute;
|
||||||
|
overflow: visible !important;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Navigation arrow text; indent moved to span inside "a", for IE7;
|
||||||
|
apparently, a negative text-indent on an "a" link moves the link as well as the text */
|
||||||
|
.anythingSlider .arrow span {
|
||||||
|
display: block;
|
||||||
|
visibility: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* disabled arrows, hide or reduce opacity: opacity: .5; filter: alpha(opacity=50); */
|
||||||
|
.anythingSlider .arrow.disabled {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
/* all panels inside the slider; horizontal mode */
|
||||||
|
.anythingSlider .panel {
|
||||||
|
background: transparent;
|
||||||
|
display: block;
|
||||||
|
overflow: hidden;
|
||||||
|
float: left;
|
||||||
|
padding: 0;
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
/* vertical mode */
|
||||||
|
.anythingSlider .vertical .panel {
|
||||||
|
float: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* fade mode */
|
||||||
|
.anythingSlider .fade .panel {
|
||||||
|
float: none;
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
z-index: -1;
|
||||||
|
}
|
||||||
|
/* fade mode active page - visible & on top */
|
||||||
|
.anythingSlider .fade .activePage {
|
||||||
|
z-index: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/***********************
|
||||||
|
RTL STYLING
|
||||||
|
***********************/
|
||||||
|
/* slider autoplay right-to-left, reverse order of nav links to look better */
|
||||||
|
.anythingSlider.rtl .anythingWindow {
|
||||||
|
direction: ltr;
|
||||||
|
unicode-bidi: bidi-override;
|
||||||
|
}
|
||||||
|
.anythingSlider.rtl .anythingControls ul { float: left; } /* move nav link group to left */
|
||||||
|
.anythingSlider.rtl .anythingControls ul a { float: right; } /* reverse order of nav links */
|
||||||
|
.anythingSlider.rtl .start-stop { /* float: right; */ } /* move start/stop button - in case you want to switch sides */
|
||||||
|
|
||||||
|
/* probably not necessary, but added just in case */
|
||||||
|
.anythingSlider .anythingWindow,
|
||||||
|
.anythingSlider .anythingControls ul a,
|
||||||
|
.anythingSlider .arrow a,
|
||||||
|
.anythingSlider .start-stop {
|
||||||
|
transition-duration: 0;
|
||||||
|
-o-transition-duration: 0;
|
||||||
|
-moz-transition-duration: 0;
|
||||||
|
-webkit-transition-duration: 0;
|
||||||
|
}
|
277
vendor/assets/javascripts/anythingslider/theme-cs-portfolio.css
vendored
Normal file
|
@ -0,0 +1,277 @@
|
||||||
|
/*
|
||||||
|
AnythingSlider v1.8+ cs-portfolio theme
|
||||||
|
By Curtis Scott (http://www.curtisscott.com/portfolio.html)
|
||||||
|
***
|
||||||
|
Note: the nav-cs-portfolio.png used for navigation and slideshow buttons uses a semi-transparent png,
|
||||||
|
through which the background color is seen... so colors set will turn out darker than normal
|
||||||
|
***/
|
||||||
|
|
||||||
|
/*****************************
|
||||||
|
SET DEFAULT DIMENSIONS HERE
|
||||||
|
*****************************/
|
||||||
|
/* change the ID & dimensions to match your slider */
|
||||||
|
#slider {
|
||||||
|
width: 700px;
|
||||||
|
height: 390px;
|
||||||
|
list-style: none;
|
||||||
|
/* Prevent FOUC (see FAQ page) and keep things readable if javascript is disabled */
|
||||||
|
overflow-y: auto;
|
||||||
|
overflow-x: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
/******************
|
||||||
|
SET STYLING HERE
|
||||||
|
******************
|
||||||
|
=================================
|
||||||
|
Default state (no keyboard focus)
|
||||||
|
==================================*/
|
||||||
|
/* Overall Wrapper */
|
||||||
|
.anythingSlider-cs-portfolio {
|
||||||
|
margin: 0 auto;
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* slider window - top & bottom borders, default state */
|
||||||
|
.anythingSlider-cs-portfolio .anythingWindow {
|
||||||
|
border: 0;
|
||||||
|
}
|
||||||
|
/* Navigation buttons + start/stop button, default state */
|
||||||
|
.anythingSlider-cs-portfolio .anythingControls a {
|
||||||
|
background: #fff url(../images/cs-portfolio.png) right -20px no-repeat;
|
||||||
|
color: #000;
|
||||||
|
}
|
||||||
|
/* Navigation current button, default state */
|
||||||
|
.anythingSlider-cs-portfolio .anythingControls a.cur,
|
||||||
|
.anythingSlider-cs-portfolio .anythingControls a:hover {
|
||||||
|
background-color: #0d5c9f;
|
||||||
|
color: #000;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* start-stop button, stopped, default state */
|
||||||
|
.anythingSlider-cs-portfolio .anythingControls a.start-stop {
|
||||||
|
background-color: #080;
|
||||||
|
background-position: right top;
|
||||||
|
color: #ddd;
|
||||||
|
}
|
||||||
|
/* start-stop button, default hovered text color (when visible) */
|
||||||
|
.anythingSlider-cs-portfolio .anythingControls a.start-stop:hover,
|
||||||
|
.anythingSlider-cs-portfolio .anythingControls a.start-stop.hover {
|
||||||
|
background-color: #0f0;
|
||||||
|
color: #fff;
|
||||||
|
}
|
||||||
|
/* start-stop button, playing, default state */
|
||||||
|
.anythingSlider-cs-portfolio .anythingControls a.start-stop.playing {
|
||||||
|
background-color: #800;
|
||||||
|
}
|
||||||
|
.anythingSlider-cs-portfolio .anythingControls a.start-stop.playing:hover {
|
||||||
|
background-color: #f00;
|
||||||
|
}
|
||||||
|
|
||||||
|
/************************
|
||||||
|
NAVIGATION POSITIONING
|
||||||
|
************************/
|
||||||
|
/* Navigation Arrows */
|
||||||
|
.anythingSlider-cs-portfolio .arrow {
|
||||||
|
display: block;
|
||||||
|
position: absolute;
|
||||||
|
bottom: -38px;
|
||||||
|
z-index: 100;
|
||||||
|
}
|
||||||
|
.anythingSlider-cs-portfolio .arrow a {
|
||||||
|
display: block;
|
||||||
|
width: 26px;
|
||||||
|
height: 27px;
|
||||||
|
text-align: center;
|
||||||
|
outline: 0;
|
||||||
|
background: url(../images/cs-portfolio.png) no-repeat;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* back arrow */
|
||||||
|
.anythingSlider-cs-portfolio .back { left: 20px; }
|
||||||
|
.anythingSlider-cs-portfolio .back a { background-position: left top; }
|
||||||
|
.anythingSlider-cs-portfolio .back a:hover,
|
||||||
|
.anythingSlider-cs-portfolio .back a.hover { background-position: left -27px; }
|
||||||
|
|
||||||
|
/* forward arrow */
|
||||||
|
.anythingSlider-cs-portfolio .forward { right: 20px; }
|
||||||
|
.anythingSlider-cs-portfolio .forward a { background-position: -24px top; }
|
||||||
|
.anythingSlider-cs-portfolio .forward a:hover,
|
||||||
|
.anythingSlider-cs-portfolio .forward a.hover { background-position: -24px -27px; }
|
||||||
|
|
||||||
|
/* Navigation Links */
|
||||||
|
.anythingSlider-cs-portfolio .anythingControls {
|
||||||
|
position: relative;
|
||||||
|
background: url(../images/cs-portfolio.png) repeat-x bottom center;
|
||||||
|
height: 49px;
|
||||||
|
margin: 0 auto;
|
||||||
|
padding-left: 75px;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
.anythingSlider-cs-portfolio .anythingControls ul {
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
z-index: 100;
|
||||||
|
}
|
||||||
|
.anythingSlider-cs-portfolio .anythingControls ul.thumbNav {
|
||||||
|
padding-top: 18px;
|
||||||
|
}
|
||||||
|
.anythingSlider-cs-portfolio .anythingControls ul li {
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
display: inline;
|
||||||
|
}
|
||||||
|
.anythingSlider-cs-portfolio .anythingControls ul a {
|
||||||
|
font: 11px/18px Georgia, Serif;
|
||||||
|
width: 17px;
|
||||||
|
height: 17px;
|
||||||
|
margin: 0 5px 0 0;
|
||||||
|
padding: 0;
|
||||||
|
float: left;
|
||||||
|
text-decoration: none;
|
||||||
|
text-align: center;
|
||||||
|
outline: 0;
|
||||||
|
border: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* navigationSize window */
|
||||||
|
.anythingSlider-cs-portfolio .anythingControls .anythingNavWindow {
|
||||||
|
margin: 0 5px 0 0;
|
||||||
|
overflow: hidden;
|
||||||
|
float: left;
|
||||||
|
}
|
||||||
|
.anythingSlider-cs-portfolio .anythingControls li.next a,
|
||||||
|
.anythingSlider-cs-portfolio .anythingControls li.prev a {
|
||||||
|
margin: 19px 5px 0 5px;
|
||||||
|
width: 16px;
|
||||||
|
height: 15px;
|
||||||
|
background: url(../images/cs-portfolio.png) -25px -54px no-repeat;
|
||||||
|
}
|
||||||
|
.anythingSlider-cs-portfolio .anythingControls li.prev a {
|
||||||
|
background-position: -9px -54px;
|
||||||
|
}
|
||||||
|
.anythingSlider-cs-portfolio .anythingControls li.next a:hover {
|
||||||
|
background-position: -56px -54px;
|
||||||
|
}
|
||||||
|
.anythingSlider-cs-portfolio .anythingControls li.prev a:hover {
|
||||||
|
background-position: -41px -54px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Autoplay Start/Stop button */
|
||||||
|
.anythingSlider-cs-portfolio .anythingControls .start-stop {
|
||||||
|
right: 60px;
|
||||||
|
top: 15px;
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
position: absolute;
|
||||||
|
text-align: center;
|
||||||
|
width: 20px;
|
||||||
|
height: 20px;
|
||||||
|
z-index: 100;
|
||||||
|
border: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/***********************
|
||||||
|
IE8 AND OLDER STYLING
|
||||||
|
***********************/
|
||||||
|
|
||||||
|
/* Navigation Arrows */
|
||||||
|
.as-oldie .anythingSlider-cs-portfolio .anythingControls a span {
|
||||||
|
line-height: 1px; /* needed for IE7 */
|
||||||
|
}
|
||||||
|
|
||||||
|
/* IE7 png fix*/
|
||||||
|
.as-oldie .anythingSlider-cs-portfolio .arrow a,
|
||||||
|
.as-oldie .anythingSlider-cs-portfolio .anythingControls,
|
||||||
|
.as-oldie .anythingSlider-cs-portfolio .anythingControls a {
|
||||||
|
_background:none;
|
||||||
|
_filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='../images/cs-portfolio.png',sizingMethod='crop');
|
||||||
|
}
|
||||||
|
|
||||||
|
/***********************
|
||||||
|
COMMON SLIDER STYLING
|
||||||
|
***********************/
|
||||||
|
/* Overall Wrapper */
|
||||||
|
.anythingSlider {
|
||||||
|
display: block;
|
||||||
|
overflow: visible !important;
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
/* anythingSlider viewport window */
|
||||||
|
.anythingSlider .anythingWindow {
|
||||||
|
overflow: hidden;
|
||||||
|
position: relative;
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
|
/* anythingSlider base (original element) */
|
||||||
|
.anythingSlider .anythingBase {
|
||||||
|
background: transparent;
|
||||||
|
list-style: none;
|
||||||
|
position: absolute;
|
||||||
|
overflow: visible !important;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Navigation arrow text; indent moved to span inside "a", for IE7;
|
||||||
|
apparently, a negative text-indent on an "a" link moves the link as well as the text */
|
||||||
|
.anythingSlider .arrow span,
|
||||||
|
.anythingSlider .anythingControls span {
|
||||||
|
display: block;
|
||||||
|
visibility: hidden;
|
||||||
|
}
|
||||||
|
/* disabled arrows, hide or reduce opacity: opacity: .5; filter: alpha(opacity=50); */
|
||||||
|
.anythingSlider .arrow.disabled {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
/* all panels inside the slider; horizontal mode */
|
||||||
|
.anythingSlider .panel {
|
||||||
|
background: transparent;
|
||||||
|
display: block;
|
||||||
|
overflow: hidden;
|
||||||
|
float: left;
|
||||||
|
padding: 0;
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
/* vertical mode */
|
||||||
|
.anythingSlider .vertical .panel {
|
||||||
|
float: none;
|
||||||
|
}
|
||||||
|
/* fade mode */
|
||||||
|
.anythingSlider .fade .panel {
|
||||||
|
float: none;
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
z-index: -1;
|
||||||
|
}
|
||||||
|
/* fade mode active page - visible & on top */
|
||||||
|
.anythingSlider .fade .activePage {
|
||||||
|
z-index: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/***********************
|
||||||
|
RTL STYLING
|
||||||
|
***********************/
|
||||||
|
/* slider autoplay right-to-left, reverse order of nav links to look better */
|
||||||
|
.anythingSlider.rtl .anythingWindow {
|
||||||
|
direction: ltr;
|
||||||
|
unicode-bidi: bidi-override;
|
||||||
|
}
|
||||||
|
.anythingSlider.rtl .anythingControls ul { float: left; } /* move nav link group to left */
|
||||||
|
.anythingSlider.rtl .anythingControls ul a { float: right; } /* reverse order of nav links */
|
||||||
|
.anythingSlider.rtl .start-stop { /* float: right; */ } /* move start/stop button - in case you want to switch sides */
|
||||||
|
|
||||||
|
/* probably not necessary, but added just in case */
|
||||||
|
.anythingSlider,
|
||||||
|
.anythingSlider .anythingWindow,
|
||||||
|
.anythingSlider .anythingControls ul a,
|
||||||
|
.anythingSlider .arrow a,
|
||||||
|
.anythingSlider .start-stop {
|
||||||
|
transition-duration: 0;
|
||||||
|
-o-transition-duration: 0;
|
||||||
|
-moz-transition-duration: 0;
|
||||||
|
-webkit-transition-duration: 0;
|
||||||
|
}
|
313
vendor/assets/javascripts/anythingslider/theme-metallic.css
vendored
Normal file
|
@ -0,0 +1,313 @@
|
||||||
|
/*
|
||||||
|
AnythingSlider v1.8+ Metallic theme
|
||||||
|
By Rob Garrison
|
||||||
|
*/
|
||||||
|
/*****************************
|
||||||
|
SET DEFAULT DIMENSIONS HERE
|
||||||
|
*****************************/
|
||||||
|
/* change the ID & dimensions to match your slider */
|
||||||
|
#slider {
|
||||||
|
width: 700px;
|
||||||
|
height: 390px;
|
||||||
|
list-style: none;
|
||||||
|
/* Prevent FOUC (see FAQ page) and keep things readable if javascript is disabled */
|
||||||
|
overflow-y: auto;
|
||||||
|
overflow-x: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
/******************
|
||||||
|
SET STYLING HERE
|
||||||
|
******************
|
||||||
|
=================================
|
||||||
|
Default state (no keyboard focus)
|
||||||
|
==================================*/
|
||||||
|
/* Overall Wrapper */
|
||||||
|
.anythingSlider-metallic {
|
||||||
|
margin: 0 auto;
|
||||||
|
/* 23px right & left padding for the navigation arrows */
|
||||||
|
padding: 0 23px;
|
||||||
|
}
|
||||||
|
/* slider window - top & bottom borders, default state */
|
||||||
|
.anythingSlider-metallic .anythingWindow {
|
||||||
|
border-top: 3px solid #333;
|
||||||
|
border-bottom: 3px solid #333;
|
||||||
|
}
|
||||||
|
/* Navigation buttons + start/stop button, default state */
|
||||||
|
.anythingSlider-metallic .anythingControls a {
|
||||||
|
background: transparent url(../images/arrows-metallic.png) -68px -40px repeat-x;
|
||||||
|
color: #000;
|
||||||
|
border: #000 1px solid;
|
||||||
|
border-radius: 5px;
|
||||||
|
-moz-border-radius: 5px;
|
||||||
|
-webkit-border-radius: 5px;
|
||||||
|
}
|
||||||
|
/* Navigation current button, default state */
|
||||||
|
.anythingSlider-metallic .anythingControls a.cur,
|
||||||
|
.anythingSlider-metallic .anythingControls a:hover {
|
||||||
|
background-position: -70px -137px;
|
||||||
|
background-color: #888;
|
||||||
|
color: #000;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* start-stop button, stopped, default state */
|
||||||
|
.anythingSlider-metallic .anythingControls a.start-stop {
|
||||||
|
background: #040;
|
||||||
|
color: #ddd;
|
||||||
|
/* top shadow */
|
||||||
|
-moz-box-shadow: inset 1px 2px 5px rgba(0, 0, 0, 0.5);
|
||||||
|
-webkit-box-shadow: inset 1px 2px 5px rgba(0, 0, 0, 0.5);
|
||||||
|
box-shadow: inset 1px 2px 5px rgba(0, 0, 0, 0.5);
|
||||||
|
}
|
||||||
|
/* start-stop button, playing, default state */
|
||||||
|
.anythingSlider-metallic .anythingControls a.start-stop.playing {
|
||||||
|
background-color: #800;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* start-stop button, default hovered text color (when visible) */
|
||||||
|
/* hide nav/start-stop background image shadow on hover - makes the button appear to come forward */
|
||||||
|
.anythingSlider-metallic .anythingControls a.start-stop:hover,
|
||||||
|
.anythingSlider-metallic .anythingControls a.start-stop.hover,
|
||||||
|
.anythingSlider-metallic .anythingControls a.start-stop .anythingControls ul a:hover {
|
||||||
|
color: #fff;
|
||||||
|
/* clear top shadow */
|
||||||
|
-moz-box-shadow: inset 0 0 0 #000000;
|
||||||
|
-webkit-box-shadow: inset 0 0 0 #000000;
|
||||||
|
box-shadow: inset 0 0 0 #000000;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
=================================
|
||||||
|
Active State (has keyboard focus)
|
||||||
|
=================================
|
||||||
|
*/
|
||||||
|
/* slider window - top & bottom borders, active state */
|
||||||
|
.anythingSlider-metallic.activeSlider .anythingWindow {
|
||||||
|
border-color: #0355a3;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Navigation buttons, active state */
|
||||||
|
.anythingSlider-metallic.activeSlider .anythingControls a {
|
||||||
|
background-color: transparent;
|
||||||
|
}
|
||||||
|
/* Navigation current button, active state */
|
||||||
|
.anythingSlider-metallic.activeSlider .anythingControls a.cur,
|
||||||
|
.anythingSlider-metallic.activeSlider .anythingControls a:hover {
|
||||||
|
background-position: -76px -57px;
|
||||||
|
background-color: #ccc;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* start-stop button, stopped, active state */
|
||||||
|
.anythingSlider-metallic.activeSlider .anythingControls a.start-stop {
|
||||||
|
background: #080;
|
||||||
|
color: #fff;
|
||||||
|
}
|
||||||
|
/* start-stop button, playing, active state */
|
||||||
|
.anythingSlider-metallic.activeSlider .anythingControls a.start-stop.playing {
|
||||||
|
color: #fff;
|
||||||
|
background: #d00;
|
||||||
|
}
|
||||||
|
/* start-stop button, active slider hovered text color (when visible) */
|
||||||
|
.anythingSlider-metallic.activeSlider .start-stop:hover,
|
||||||
|
.anythingSlider-metallic.activeSlider .start-stop.hover {
|
||||||
|
color: #fff;
|
||||||
|
}
|
||||||
|
|
||||||
|
/************************
|
||||||
|
NAVIGATION POSITIONING
|
||||||
|
************************/
|
||||||
|
/* Navigation Arrows */
|
||||||
|
.anythingSlider-metallic .arrow {
|
||||||
|
top: 50%;
|
||||||
|
position: absolute;
|
||||||
|
display: block;
|
||||||
|
z-index: 100;
|
||||||
|
}
|
||||||
|
|
||||||
|
.anythingSlider-metallic .arrow a {
|
||||||
|
display: block;
|
||||||
|
width: 45px;
|
||||||
|
height: 95px;
|
||||||
|
margin: -47.5px 0 0 0; /* half height of image */
|
||||||
|
text-align: center;
|
||||||
|
outline: 0;
|
||||||
|
background: url(../images/arrows-metallic.png) no-repeat;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* back arrow */
|
||||||
|
.anythingSlider-metallic .back { left: 0; }
|
||||||
|
.anythingSlider-metallic .back a { background-position: left bottom; }
|
||||||
|
.anythingSlider-metallic .back a:hover,
|
||||||
|
.anythingSlider-metallic .back a.hover { background-position: left top; }
|
||||||
|
/* forward arrow */
|
||||||
|
.anythingSlider-metallic .forward { right: 0; }
|
||||||
|
.anythingSlider-metallic .forward a { background-position: right bottom; }
|
||||||
|
.anythingSlider-metallic .forward a:hover,
|
||||||
|
.anythingSlider-metallic .forward a.hover { background-position: right top; }
|
||||||
|
|
||||||
|
/* Navigation Links */
|
||||||
|
.anythingSlider-metallic .anythingControls {
|
||||||
|
height: 15px; /* limit height, needed for IE9 of all things */
|
||||||
|
outline: 0;
|
||||||
|
display: none;
|
||||||
|
float: right;
|
||||||
|
position: absolute;
|
||||||
|
bottom: 5px;
|
||||||
|
right: 20px;
|
||||||
|
margin: 0 45px;
|
||||||
|
z-index: 100;
|
||||||
|
opacity: 0.90;
|
||||||
|
filter: alpha(opacity=90);
|
||||||
|
}
|
||||||
|
|
||||||
|
.anythingSlider-metallic .anythingControls ul {
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
float: left;
|
||||||
|
}
|
||||||
|
.anythingSlider-metallic .anythingControls ul li {
|
||||||
|
list-style: none;
|
||||||
|
float: left;
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
.anythingSlider-metallic .anythingControls ul a {
|
||||||
|
display: inline-block;
|
||||||
|
width: 10px;
|
||||||
|
height: 10px;
|
||||||
|
margin: 3px;
|
||||||
|
padding: 0;
|
||||||
|
text-decoration: none;
|
||||||
|
text-align: center;
|
||||||
|
outline: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.anythingSlider-metallic .anythingControls span {
|
||||||
|
display: block;
|
||||||
|
visibility: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* navigationSize window */
|
||||||
|
.anythingSlider-metallic .anythingControls .anythingNavWindow {
|
||||||
|
overflow: hidden;
|
||||||
|
float: left;
|
||||||
|
}
|
||||||
|
/* navigationSize nav arrow positioning */
|
||||||
|
.anythingSlider-metallic .anythingControls li.prev a span,
|
||||||
|
.anythingSlider-metallic .anythingControls li.next a span {
|
||||||
|
visibility: visible;
|
||||||
|
position: relative;
|
||||||
|
top: -6px; /* bring navigationSize text arrows into view */
|
||||||
|
color: #fff;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Autoplay Start/Stop button */
|
||||||
|
.anythingSlider-metallic .anythingControls .start-stop {
|
||||||
|
display: inline-block;
|
||||||
|
width: 10px;
|
||||||
|
height: 10px;
|
||||||
|
margin: 3px;
|
||||||
|
padding: 0;
|
||||||
|
text-align: center;
|
||||||
|
text-decoration: none;
|
||||||
|
z-index: 100;
|
||||||
|
outline: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/***********************
|
||||||
|
IE8 AND OLDER STYLING
|
||||||
|
***********************/
|
||||||
|
/* Navigation Arrows */
|
||||||
|
.as-oldie .anythingSlider-metallic .arrow {
|
||||||
|
top: 40%;
|
||||||
|
}
|
||||||
|
.as-oldie .anythingSlider-metallic .arrow a {
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/***********************
|
||||||
|
COMMON SLIDER STYLING
|
||||||
|
***********************/
|
||||||
|
/* Overall Wrapper */
|
||||||
|
.anythingSlider {
|
||||||
|
display: block;
|
||||||
|
overflow: visible !important;
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
/* anythingSlider viewport window */
|
||||||
|
.anythingSlider .anythingWindow {
|
||||||
|
overflow: hidden;
|
||||||
|
position: relative;
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
|
/* anythingSlider base (original element) */
|
||||||
|
.anythingSlider .anythingBase {
|
||||||
|
background: transparent;
|
||||||
|
list-style: none;
|
||||||
|
position: absolute;
|
||||||
|
overflow: visible !important;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Navigation arrow text; indent moved to span inside "a", for IE7;
|
||||||
|
apparently, a negative text-indent on an "a" link moves the link as well as the text */
|
||||||
|
.anythingSlider .arrow span {
|
||||||
|
display: block;
|
||||||
|
visibility: hidden;
|
||||||
|
}
|
||||||
|
/* disabled arrows, hide or reduce opacity: opacity: .5; filter: alpha(opacity=50); */
|
||||||
|
.anythingSlider .arrow.disabled {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
/* all panels inside the slider; horizontal mode */
|
||||||
|
.anythingSlider .panel {
|
||||||
|
background: transparent;
|
||||||
|
display: block;
|
||||||
|
overflow: hidden;
|
||||||
|
float: left;
|
||||||
|
padding: 0;
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
/* vertical mode */
|
||||||
|
.anythingSlider .vertical .panel {
|
||||||
|
float: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* fade mode */
|
||||||
|
.anythingSlider .fade .panel {
|
||||||
|
float: none;
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
z-index: -1;
|
||||||
|
}
|
||||||
|
/* fade mode active page - visible & on top */
|
||||||
|
.anythingSlider .fade .activePage {
|
||||||
|
z-index: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/***********************
|
||||||
|
RTL STYLING
|
||||||
|
***********************/
|
||||||
|
/* slider autoplay right-to-left, reverse order of nav links to look better */
|
||||||
|
.anythingSlider.rtl .anythingWindow {
|
||||||
|
direction: ltr;
|
||||||
|
unicode-bidi: bidi-override;
|
||||||
|
}
|
||||||
|
.anythingSlider.rtl .anythingControls ul { float: left; } /* move nav link group to left */
|
||||||
|
.anythingSlider.rtl .anythingControls ul a { float: right; } /* reverse order of nav links */
|
||||||
|
.anythingSlider.rtl .start-stop { /* float: right; */ } /* move start/stop button - in case you want to switch sides */
|
||||||
|
|
||||||
|
/* probably not necessary, but added just in case */
|
||||||
|
.anythingSlider .anythingWindow,
|
||||||
|
.anythingSlider .anythingControls ul a,
|
||||||
|
.anythingSlider .arrow a,
|
||||||
|
.anythingSlider .start-stop {
|
||||||
|
transition-duration: 0;
|
||||||
|
-o-transition-duration: 0;
|
||||||
|
-moz-transition-duration: 0;
|
||||||
|
-webkit-transition-duration: 0;
|
||||||
|
}
|
311
vendor/assets/javascripts/anythingslider/theme-minimalist-round.css
vendored
Normal file
|
@ -0,0 +1,311 @@
|
||||||
|
/*
|
||||||
|
AnythingSlider v1.8+ Minimalist Round theme
|
||||||
|
By Rob Garrison
|
||||||
|
*/
|
||||||
|
/*****************************
|
||||||
|
SET DEFAULT DIMENSIONS HERE
|
||||||
|
*****************************/
|
||||||
|
/* change the ID & dimensions to match your slider */
|
||||||
|
#slider {
|
||||||
|
width: 700px;
|
||||||
|
height: 390px;
|
||||||
|
list-style: none;
|
||||||
|
/* Prevent FOUC (see FAQ page) and keep things readable if javascript is disabled */
|
||||||
|
overflow-y: auto;
|
||||||
|
overflow-x: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
/******************
|
||||||
|
SET STYLING HERE
|
||||||
|
******************
|
||||||
|
=================================
|
||||||
|
Default state (no keyboard focus)
|
||||||
|
==================================*/
|
||||||
|
/* Overall Wrapper */
|
||||||
|
.anythingSlider-minimalist-round {
|
||||||
|
margin: 0 auto;
|
||||||
|
/* 30px right & left padding for the navigation arrows */
|
||||||
|
padding: 0 30px;
|
||||||
|
}
|
||||||
|
/* slider window - top & bottom borders, default state */
|
||||||
|
.anythingSlider-minimalist-round .anythingWindow {
|
||||||
|
border-top: 3px solid #333;
|
||||||
|
border-bottom: 3px solid #333;
|
||||||
|
}
|
||||||
|
/* Navigation buttons + start/stop button, default state */
|
||||||
|
.anythingSlider-minimalist-round .anythingControls a {
|
||||||
|
background-color: #333;
|
||||||
|
color: #fff;
|
||||||
|
border: #000 1px solid;
|
||||||
|
border-radius: 5px;
|
||||||
|
-moz-border-radius: 5px;
|
||||||
|
-webkit-border-radius: 5px;
|
||||||
|
}
|
||||||
|
/* Navigation current button, default state */
|
||||||
|
.anythingSlider-minimalist-round .anythingControls a.cur,
|
||||||
|
.anythingSlider-minimalist-round .anythingControls a:hover {
|
||||||
|
background-color: #777;
|
||||||
|
color: #000;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* start-stop button, stopped, default state */
|
||||||
|
.anythingSlider-minimalist-round .anythingControls a.start-stop {
|
||||||
|
background: #040;
|
||||||
|
color: #ddd;
|
||||||
|
/* top shadow */
|
||||||
|
-moz-box-shadow: inset 1px 2px 5px rgba(0, 0, 0, 0.5);
|
||||||
|
-webkit-box-shadow: inset 1px 2px 5px rgba(0, 0, 0, 0.5);
|
||||||
|
box-shadow: inset 1px 2px 5px rgba(0, 0, 0, 0.5);
|
||||||
|
}
|
||||||
|
/* start-stop button, playing, default state */
|
||||||
|
.anythingSlider-minimalist-round .anythingControls a.start-stop.playing {
|
||||||
|
background-color: #800;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* start-stop button, default hovered text color (when visible) */
|
||||||
|
/* hide nav/start-stop background image shadow on hover - makes the button appear to come forward */
|
||||||
|
.anythingSlider-minimalist-round .anythingControls a.start-stop:hover,
|
||||||
|
.anythingSlider-minimalist-round .anythingControls a.start-stop.hover,
|
||||||
|
.anythingSlider-minimalist-round .anythingControls a.start-stop .anythingControls ul a:hover {
|
||||||
|
color: #fff;
|
||||||
|
/* clear top shadow */
|
||||||
|
-moz-box-shadow: inset 0 0 0 #000000;
|
||||||
|
-webkit-box-shadow: inset 0 0 0 #000000;
|
||||||
|
box-shadow: inset 0 0 0 #000000;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
=================================
|
||||||
|
Active State (has keyboard focus)
|
||||||
|
=================================
|
||||||
|
*/
|
||||||
|
/* slider window - top & bottom borders, active state */
|
||||||
|
.anythingSlider-minimalist-round.activeSlider .anythingWindow {
|
||||||
|
border-color: #164054;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Navigation buttons, active state */
|
||||||
|
.anythingSlider-minimalist-round.activeSlider .anythingControls a {
|
||||||
|
background-color: #164054;
|
||||||
|
color: #fff;
|
||||||
|
}
|
||||||
|
/* Navigation current button, active state */
|
||||||
|
.anythingSlider-minimalist-round.activeSlider .anythingControls a.cur,
|
||||||
|
.anythingSlider-minimalist-round.activeSlider .anythingControls a:hover {
|
||||||
|
background-color: #fff;
|
||||||
|
color: #000;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* start-stop button, stopped, active state */
|
||||||
|
.anythingSlider-minimalist-round.activeSlider .anythingControls a.start-stop {
|
||||||
|
background: #080;
|
||||||
|
color: #fff;
|
||||||
|
}
|
||||||
|
/* start-stop button, playing, active state */
|
||||||
|
.anythingSlider-minimalist-round.activeSlider .anythingControls a.start-stop.playing {
|
||||||
|
color: #fff;
|
||||||
|
background: #f00;
|
||||||
|
}
|
||||||
|
/* start-stop button, active slider hovered text color (when visible) */
|
||||||
|
.anythingSlider-minimalist-round.activeSlider .start-stop:hover,
|
||||||
|
.anythingSlider-minimalist-round.activeSlider .start-stop.hover {
|
||||||
|
color: #fff;
|
||||||
|
}
|
||||||
|
|
||||||
|
/************************
|
||||||
|
NAVIGATION POSITIONING
|
||||||
|
************************/
|
||||||
|
/* Navigation Arrows */
|
||||||
|
.anythingSlider-minimalist-round .arrow {
|
||||||
|
top: 50%;
|
||||||
|
position: absolute;
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
|
||||||
|
.anythingSlider-minimalist-round .arrow a {
|
||||||
|
display: block;
|
||||||
|
width: 30px;
|
||||||
|
height: 40px;
|
||||||
|
margin: -20px 0 0 0; /* half height of image */
|
||||||
|
text-align: center;
|
||||||
|
outline: 0;
|
||||||
|
background: url(../images/arrows-minimalist.png) no-repeat;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* back arrow */
|
||||||
|
.anythingSlider-minimalist-round .back { left: 0; }
|
||||||
|
.anythingSlider-minimalist-round .back a { background-position: left bottom; }
|
||||||
|
.anythingSlider-minimalist-round .back a:hover,
|
||||||
|
.anythingSlider-minimalist-round .back a.hover { background-position: left top; }
|
||||||
|
/* forward arrow */
|
||||||
|
.anythingSlider-minimalist-round .forward { right: 0; }
|
||||||
|
.anythingSlider-minimalist-round .forward a { background-position: right bottom; }
|
||||||
|
.anythingSlider-minimalist-round .forward a:hover,
|
||||||
|
.anythingSlider-minimalist-round .forward a.hover { background-position: right top; }
|
||||||
|
|
||||||
|
/* Navigation Links */
|
||||||
|
.anythingSlider-minimalist-round .anythingControls {
|
||||||
|
height: 15px; /* limit height, needed for IE9 of all things */
|
||||||
|
outline: 0;
|
||||||
|
display: none;
|
||||||
|
float: right;
|
||||||
|
position: absolute;
|
||||||
|
bottom: 5px;
|
||||||
|
right: 20px;
|
||||||
|
margin: 0 45px;
|
||||||
|
z-index: 100;
|
||||||
|
opacity: 0.90;
|
||||||
|
filter: alpha(opacity=90);
|
||||||
|
}
|
||||||
|
|
||||||
|
.anythingSlider-minimalist-round .anythingControls ul {
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
float: left;
|
||||||
|
}
|
||||||
|
.anythingSlider-minimalist-round .anythingControls ul li {
|
||||||
|
list-style: none;
|
||||||
|
float: left;
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
.anythingSlider-minimalist-round .anythingControls ul a {
|
||||||
|
display: inline-block;
|
||||||
|
width: 10px;
|
||||||
|
height: 10px;
|
||||||
|
margin: 3px;
|
||||||
|
padding: 0;
|
||||||
|
text-decoration: none;
|
||||||
|
text-align: center;
|
||||||
|
outline: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.anythingSlider-minimalist-round .anythingControls span {
|
||||||
|
display: block;
|
||||||
|
visibility: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* navigationSize window */
|
||||||
|
.anythingSlider-minimalist-round .anythingControls .anythingNavWindow {
|
||||||
|
overflow: hidden;
|
||||||
|
float: left;
|
||||||
|
}
|
||||||
|
/* navigationSize nav arrow positioning */
|
||||||
|
.anythingSlider-minimalist-round .anythingControls li.prev span,
|
||||||
|
.anythingSlider-minimalist-round .anythingControls li.next span {
|
||||||
|
visibility: visible;
|
||||||
|
position: relative;
|
||||||
|
top: -6px; /* bring navigationSize text arrows into view */
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Autoplay Start/Stop button */
|
||||||
|
.anythingSlider-minimalist-round .anythingControls .start-stop {
|
||||||
|
display: inline-block;
|
||||||
|
width: 10px;
|
||||||
|
height: 10px;
|
||||||
|
margin: 3px;
|
||||||
|
padding: 0;
|
||||||
|
text-align: center;
|
||||||
|
text-decoration: none;
|
||||||
|
z-index: 100;
|
||||||
|
outline: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/***********************
|
||||||
|
IE8 AND OLDER STYLING
|
||||||
|
***********************/
|
||||||
|
/* Navigation Arrows */
|
||||||
|
.as-oldie .anythingSlider-minimalist-round .arrow {
|
||||||
|
top: 45%;
|
||||||
|
}
|
||||||
|
.as-oldie .anythingSlider-minimalist-round .arrow a {
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/***********************
|
||||||
|
COMMON SLIDER STYLING
|
||||||
|
***********************/
|
||||||
|
/* Overall Wrapper */
|
||||||
|
.anythingSlider {
|
||||||
|
display: block;
|
||||||
|
overflow: visible !important;
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
/* anythingSlider viewport window */
|
||||||
|
.anythingSlider .anythingWindow {
|
||||||
|
overflow: hidden;
|
||||||
|
position: relative;
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
|
/* anythingSlider base (original element) */
|
||||||
|
.anythingSlider .anythingBase {
|
||||||
|
background: transparent;
|
||||||
|
list-style: none;
|
||||||
|
position: absolute;
|
||||||
|
overflow: visible !important;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Navigation arrow text; indent moved to span inside "a", for IE7;
|
||||||
|
apparently, a negative text-indent on an "a" link moves the link as well as the text */
|
||||||
|
.anythingSlider .arrow span {
|
||||||
|
display: block;
|
||||||
|
visibility: hidden;
|
||||||
|
}
|
||||||
|
/* disabled arrows, hide or reduce opacity: opacity: .5; filter: alpha(opacity=50); */
|
||||||
|
.anythingSlider .arrow.disabled {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
/* all panels inside the slider; horizontal mode */
|
||||||
|
.anythingSlider .panel {
|
||||||
|
background: transparent;
|
||||||
|
display: block;
|
||||||
|
overflow: hidden;
|
||||||
|
float: left;
|
||||||
|
padding: 0;
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
/* vertical mode */
|
||||||
|
.anythingSlider .vertical .panel {
|
||||||
|
float: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* fade mode */
|
||||||
|
.anythingSlider .fade .panel {
|
||||||
|
float: none;
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
z-index: -1;
|
||||||
|
}
|
||||||
|
/* fade mode active page - visible & on top */
|
||||||
|
.anythingSlider .fade .activePage {
|
||||||
|
z-index: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/***********************
|
||||||
|
RTL STYLING
|
||||||
|
***********************/
|
||||||
|
/* slider autoplay right-to-left, reverse order of nav links to look better */
|
||||||
|
.anythingSlider.rtl .anythingWindow {
|
||||||
|
direction: ltr;
|
||||||
|
unicode-bidi: bidi-override;
|
||||||
|
}
|
||||||
|
.anythingSlider.rtl .anythingControls ul { float: left; } /* move nav link group to left */
|
||||||
|
.anythingSlider.rtl .anythingControls ul a { float: right; } /* reverse order of nav links */
|
||||||
|
.anythingSlider.rtl .start-stop { /* float: right; */ } /* move start/stop button - in case you want to switch sides */
|
||||||
|
|
||||||
|
/* probably not necessary, but added just in case */
|
||||||
|
.anythingSlider .anythingWindow,
|
||||||
|
.anythingSlider .anythingControls ul a,
|
||||||
|
.anythingSlider .arrow a,
|
||||||
|
.anythingSlider .start-stop {
|
||||||
|
transition-duration: 0;
|
||||||
|
-o-transition-duration: 0;
|
||||||
|
-moz-transition-duration: 0;
|
||||||
|
-webkit-transition-duration: 0;
|
||||||
|
}
|
309
vendor/assets/javascripts/anythingslider/theme-minimalist-square.css
vendored
Normal file
|
@ -0,0 +1,309 @@
|
||||||
|
/*
|
||||||
|
AnythingSlider v1.8+ Minimalist Square theme
|
||||||
|
By Rob Garrison
|
||||||
|
*/
|
||||||
|
/*****************************
|
||||||
|
SET DEFAULT DIMENSIONS HERE
|
||||||
|
*****************************/
|
||||||
|
/* change the ID & dimensions to match your slider */
|
||||||
|
#slider {
|
||||||
|
width: 700px;
|
||||||
|
height: 390px;
|
||||||
|
list-style: none;
|
||||||
|
/* Prevent FOUC (see FAQ page) and keep things readable if javascript is disabled */
|
||||||
|
overflow-y: auto;
|
||||||
|
overflow-x: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
/******************
|
||||||
|
SET STYLING HERE
|
||||||
|
******************
|
||||||
|
=================================
|
||||||
|
Default state (no keyboard focus)
|
||||||
|
==================================*/
|
||||||
|
/* Overall Wrapper */
|
||||||
|
.anythingSlider-minimalist-square {
|
||||||
|
margin: 0 auto;
|
||||||
|
/* 30px right & left padding for the navigation arrows */
|
||||||
|
padding: 0 30px;
|
||||||
|
}
|
||||||
|
/* slider window - top & bottom borders, default state */
|
||||||
|
.anythingSlider-minimalist-square .anythingWindow {
|
||||||
|
border-top: 3px solid #333;
|
||||||
|
border-bottom: 3px solid #333;
|
||||||
|
}
|
||||||
|
/* Navigation buttons + start/stop button, default state */
|
||||||
|
.anythingSlider-minimalist-square .anythingControls a {
|
||||||
|
background-color: #333;
|
||||||
|
color: #fff;
|
||||||
|
border: #000 1px solid;
|
||||||
|
}
|
||||||
|
/* Navigation current button, default state */
|
||||||
|
.anythingSlider-minimalist-square .anythingControls a.cur,
|
||||||
|
.anythingSlider-minimalist-square .anythingControls a:hover {
|
||||||
|
background-color: #777;
|
||||||
|
color: #000;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* start-stop button, stopped, default state */
|
||||||
|
.anythingSlider-minimalist-square .anythingControls a.start-stop {
|
||||||
|
background: #040;
|
||||||
|
color: #ddd;
|
||||||
|
/* top shadow */
|
||||||
|
-moz-box-shadow: inset 1px 2px 5px rgba(0, 0, 0, 0.5);
|
||||||
|
-webkit-box-shadow: inset 1px 2px 5px rgba(0, 0, 0, 0.5);
|
||||||
|
box-shadow: inset 1px 2px 5px rgba(0, 0, 0, 0.5);
|
||||||
|
}
|
||||||
|
/* start-stop button, playing, default state */
|
||||||
|
.anythingSlider-minimalist-square .anythingControls a.start-stop.playing {
|
||||||
|
background-color: #800;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* start-stop button, default hovered text color (when visible) */
|
||||||
|
/* hide nav/start-stop background image shadow on hover - makes the button appear to come forward */
|
||||||
|
.anythingSlider-minimalist-square .anythingControls a.start-stop:hover,
|
||||||
|
.anythingSlider-minimalist-square .anythingControls a.start-stop.hover,
|
||||||
|
.anythingSlider-minimalist-square .anythingControls a.start-stop .anythingControls ul a:hover {
|
||||||
|
color: #fff;
|
||||||
|
/* clear top shadow */
|
||||||
|
-moz-box-shadow: inset 0 0 0 #000000;
|
||||||
|
-webkit-box-shadow: inset 0 0 0 #000000;
|
||||||
|
box-shadow: inset 0 0 0 #000000;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
=================================
|
||||||
|
Active State (has keyboard focus)
|
||||||
|
=================================
|
||||||
|
*/
|
||||||
|
/* slider window - top & bottom borders, active state */
|
||||||
|
.anythingSlider-minimalist-square.activeSlider .anythingWindow {
|
||||||
|
border-color: #164054;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Navigation buttons, active state */
|
||||||
|
.anythingSlider-minimalist-square.activeSlider .anythingControls a {
|
||||||
|
background-color: #164054;
|
||||||
|
color: #fff;
|
||||||
|
}
|
||||||
|
/* Navigation current button, active state */
|
||||||
|
.anythingSlider-minimalist-square.activeSlider .anythingControls a.cur,
|
||||||
|
.anythingSlider-minimalist-square.activeSlider .anythingControls a:hover {
|
||||||
|
background-color: #fff;
|
||||||
|
color: #000;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* start-stop button, stopped, active state */
|
||||||
|
.anythingSlider-minimalist-square.activeSlider .anythingControls a.start-stop {
|
||||||
|
background: #080;
|
||||||
|
color: #fff;
|
||||||
|
}
|
||||||
|
/* start-stop button, playing, active state */
|
||||||
|
.anythingSlider-minimalist-square.activeSlider .anythingControls a.start-stop.playing {
|
||||||
|
color: #fff;
|
||||||
|
background: #f00;
|
||||||
|
}
|
||||||
|
/* start-stop button, active slider hovered text color (when visible) */
|
||||||
|
.anythingSlider-minimalist-square.activeSlider .start-stop:hover,
|
||||||
|
.anythingSlider-minimalist-square.activeSlider .start-stop.hover {
|
||||||
|
color: #fff;
|
||||||
|
}
|
||||||
|
|
||||||
|
/************************
|
||||||
|
NAVIGATION POSITIONING
|
||||||
|
************************/
|
||||||
|
/* Navigation Arrows */
|
||||||
|
.anythingSlider-minimalist-square .arrow {
|
||||||
|
top: 50%;
|
||||||
|
position: absolute;
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
|
||||||
|
.anythingSlider-minimalist-square .arrow a {
|
||||||
|
display: block;
|
||||||
|
width: 30px;
|
||||||
|
height: 40px;
|
||||||
|
margin: -20px 0 0 0; /* half height of image */
|
||||||
|
text-align: center;
|
||||||
|
outline: 0;
|
||||||
|
background: url(../images/arrows-minimalist.png) no-repeat;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* back arrow */
|
||||||
|
.anythingSlider-minimalist-square .back { left: 0; }
|
||||||
|
.anythingSlider-minimalist-square .back a { background-position: left bottom; }
|
||||||
|
.anythingSlider-minimalist-square .back a:hover,
|
||||||
|
.anythingSlider-minimalist-square .back a.hover { background-position: left top; }
|
||||||
|
/* forward arrow */
|
||||||
|
.anythingSlider-minimalist-square .forward { right: 0; }
|
||||||
|
.anythingSlider-minimalist-square .forward a { background-position: right bottom; }
|
||||||
|
.anythingSlider-minimalist-square .forward a:hover,
|
||||||
|
.anythingSlider-minimalist-square .forward a.hover { background-position: right top; }
|
||||||
|
|
||||||
|
/* Navigation Links */
|
||||||
|
.anythingSlider-minimalist-square .anythingControls {
|
||||||
|
height: 15px; /* limit height, needed for IE9 of all things */
|
||||||
|
outline: 0;
|
||||||
|
display: none;
|
||||||
|
float: right;
|
||||||
|
position: absolute;
|
||||||
|
bottom: 5px;
|
||||||
|
right: 20px;
|
||||||
|
margin: 0 45px;
|
||||||
|
z-index: 100;
|
||||||
|
opacity: 0.90;
|
||||||
|
filter: alpha(opacity=90);
|
||||||
|
}
|
||||||
|
|
||||||
|
.anythingSlider-minimalist-square .anythingControls ul {
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
float: left;
|
||||||
|
}
|
||||||
|
.anythingSlider-minimalist-square .anythingControls ul li {
|
||||||
|
list-style: none;
|
||||||
|
float: left;
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
.anythingSlider-minimalist-square .anythingControls ul a {
|
||||||
|
display: inline-block;
|
||||||
|
width: 10px;
|
||||||
|
height: 10px;
|
||||||
|
margin: 3px;
|
||||||
|
padding: 0;
|
||||||
|
text-decoration: none;
|
||||||
|
text-align: center;
|
||||||
|
outline: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.anythingSlider-minimalist-square .anythingControls span {
|
||||||
|
display: block;
|
||||||
|
visibility: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* navigationSize window */
|
||||||
|
.anythingSlider-minimalist-square .anythingControls .anythingNavWindow {
|
||||||
|
|
||||||
|
overflow: hidden;
|
||||||
|
float: left;
|
||||||
|
}
|
||||||
|
/* navigationSize nav arrow positioning */
|
||||||
|
.anythingSlider-minimalist-square .anythingControls li.prev span,
|
||||||
|
.anythingSlider-minimalist-square .anythingControls li.next span {
|
||||||
|
visibility: visible;
|
||||||
|
position: relative;
|
||||||
|
top: -6px; /* bring navigationSize text arrows into view */
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Autoplay Start/Stop button */
|
||||||
|
.anythingSlider-minimalist-square .anythingControls .start-stop {
|
||||||
|
margin: 3px;
|
||||||
|
padding: 0;
|
||||||
|
display: inline-block;
|
||||||
|
width: 10px;
|
||||||
|
height: 10px;
|
||||||
|
text-align: center;
|
||||||
|
text-decoration: none;
|
||||||
|
z-index: 100;
|
||||||
|
outline: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/***********************
|
||||||
|
IE8 AND OLDER STYLING
|
||||||
|
***********************/
|
||||||
|
/* Navigation Arrows */
|
||||||
|
.as-oldie .anythingSlider-minimalist-square .arrow {
|
||||||
|
top: 45%;
|
||||||
|
}
|
||||||
|
.as-oldie .anythingSlider-minimalist-square .arrow a {
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/***********************
|
||||||
|
COMMON SLIDER STYLING
|
||||||
|
***********************/
|
||||||
|
/* Overall Wrapper */
|
||||||
|
.anythingSlider {
|
||||||
|
display: block;
|
||||||
|
overflow: visible !important;
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
/* anythingSlider viewport window */
|
||||||
|
.anythingSlider .anythingWindow {
|
||||||
|
overflow: hidden;
|
||||||
|
position: relative;
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
|
/* anythingSlider base (original element) */
|
||||||
|
.anythingSlider .anythingBase {
|
||||||
|
background: transparent;
|
||||||
|
list-style: none;
|
||||||
|
position: absolute;
|
||||||
|
overflow: visible !important;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Navigation arrow text; indent moved to span inside "a", for IE7;
|
||||||
|
apparently, a negative text-indent on an "a" link moves the link as well as the text */
|
||||||
|
.anythingSlider .arrow span {
|
||||||
|
display: block;
|
||||||
|
visibility: hidden;
|
||||||
|
}
|
||||||
|
/* disabled arrows, hide or reduce opacity: opacity: .5; filter: alpha(opacity=50); */
|
||||||
|
.anythingSlider .arrow.disabled {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
/* all panels inside the slider; horizontal mode */
|
||||||
|
.anythingSlider .panel {
|
||||||
|
background: transparent;
|
||||||
|
display: block;
|
||||||
|
overflow: hidden;
|
||||||
|
float: left;
|
||||||
|
padding: 0;
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
/* vertical mode */
|
||||||
|
.anythingSlider .vertical .panel {
|
||||||
|
float: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* fade mode */
|
||||||
|
.anythingSlider .fade .panel {
|
||||||
|
float: none;
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
z-index: -1;
|
||||||
|
}
|
||||||
|
/* fade mode active page - visible & on top */
|
||||||
|
.anythingSlider .fade .activePage {
|
||||||
|
z-index: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/***********************
|
||||||
|
RTL STYLING
|
||||||
|
***********************/
|
||||||
|
/* slider autoplay right-to-left, reverse order of nav links to look better */
|
||||||
|
.anythingSlider.rtl .anythingWindow {
|
||||||
|
direction: ltr;
|
||||||
|
unicode-bidi: bidi-override;
|
||||||
|
}
|
||||||
|
.anythingSlider.rtl .anythingControls ul { float: left; } /* move nav link group to left */
|
||||||
|
.anythingSlider.rtl .anythingControls ul a { float: right; } /* reverse order of nav links */
|
||||||
|
.anythingSlider.rtl .start-stop { /* float: right; */ } /* move start/stop button - in case you want to switch sides */
|
||||||
|
|
||||||
|
/* probably not necessary, but added just in case */
|
||||||
|
.anythingSlider .anythingWindow,
|
||||||
|
.anythingSlider .anythingControls ul a,
|
||||||
|
.anythingSlider .arrow a,
|
||||||
|
.anythingSlider .start-stop {
|
||||||
|
transition-duration: 0;
|
||||||
|
-o-transition-duration: 0;
|
||||||
|
-moz-transition-duration: 0;
|
||||||
|
-webkit-transition-duration: 0;
|
||||||
|
}
|
205
vendor/assets/javascripts/jquery.easing.1.3.js
vendored
Normal file
|
@ -0,0 +1,205 @@
|
||||||
|
/*
|
||||||
|
* jQuery Easing v1.3 - http://gsgd.co.uk/sandbox/jquery/easing/
|
||||||
|
*
|
||||||
|
* Uses the built in easing capabilities added In jQuery 1.1
|
||||||
|
* to offer multiple easing options
|
||||||
|
*
|
||||||
|
* TERMS OF USE - jQuery Easing
|
||||||
|
*
|
||||||
|
* Open source under the BSD License.
|
||||||
|
*
|
||||||
|
* Copyright © 2008 George McGinley Smith
|
||||||
|
* All rights reserved.
|
||||||
|
*
|
||||||
|
* Redistribution and use in source and binary forms, with or without modification,
|
||||||
|
* are permitted provided that the following conditions are met:
|
||||||
|
*
|
||||||
|
* Redistributions of source code must retain the above copyright notice, this list of
|
||||||
|
* conditions and the following disclaimer.
|
||||||
|
* Redistributions in binary form must reproduce the above copyright notice, this list
|
||||||
|
* of conditions and the following disclaimer in the documentation and/or other materials
|
||||||
|
* provided with the distribution.
|
||||||
|
*
|
||||||
|
* Neither the name of the author nor the names of contributors may be used to endorse
|
||||||
|
* or promote products derived from this software without specific prior written permission.
|
||||||
|
*
|
||||||
|
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
|
||||||
|
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||||
|
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||||
|
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
|
||||||
|
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
|
||||||
|
* GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
|
||||||
|
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
||||||
|
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
|
||||||
|
* OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
// t: current time, b: begInnIng value, c: change In value, d: duration
|
||||||
|
jQuery.easing['jswing'] = jQuery.easing['swing'];
|
||||||
|
|
||||||
|
jQuery.extend( jQuery.easing,
|
||||||
|
{
|
||||||
|
def: 'easeOutQuad',
|
||||||
|
swing: function (x, t, b, c, d) {
|
||||||
|
//alert(jQuery.easing.default);
|
||||||
|
return jQuery.easing[jQuery.easing.def](x, t, b, c, d);
|
||||||
|
},
|
||||||
|
easeInQuad: function (x, t, b, c, d) {
|
||||||
|
return c*(t/=d)*t + b;
|
||||||
|
},
|
||||||
|
easeOutQuad: function (x, t, b, c, d) {
|
||||||
|
return -c *(t/=d)*(t-2) + b;
|
||||||
|
},
|
||||||
|
easeInOutQuad: function (x, t, b, c, d) {
|
||||||
|
if ((t/=d/2) < 1) return c/2*t*t + b;
|
||||||
|
return -c/2 * ((--t)*(t-2) - 1) + b;
|
||||||
|
},
|
||||||
|
easeInCubic: function (x, t, b, c, d) {
|
||||||
|
return c*(t/=d)*t*t + b;
|
||||||
|
},
|
||||||
|
easeOutCubic: function (x, t, b, c, d) {
|
||||||
|
return c*((t=t/d-1)*t*t + 1) + b;
|
||||||
|
},
|
||||||
|
easeInOutCubic: function (x, t, b, c, d) {
|
||||||
|
if ((t/=d/2) < 1) return c/2*t*t*t + b;
|
||||||
|
return c/2*((t-=2)*t*t + 2) + b;
|
||||||
|
},
|
||||||
|
easeInQuart: function (x, t, b, c, d) {
|
||||||
|
return c*(t/=d)*t*t*t + b;
|
||||||
|
},
|
||||||
|
easeOutQuart: function (x, t, b, c, d) {
|
||||||
|
return -c * ((t=t/d-1)*t*t*t - 1) + b;
|
||||||
|
},
|
||||||
|
easeInOutQuart: function (x, t, b, c, d) {
|
||||||
|
if ((t/=d/2) < 1) return c/2*t*t*t*t + b;
|
||||||
|
return -c/2 * ((t-=2)*t*t*t - 2) + b;
|
||||||
|
},
|
||||||
|
easeInQuint: function (x, t, b, c, d) {
|
||||||
|
return c*(t/=d)*t*t*t*t + b;
|
||||||
|
},
|
||||||
|
easeOutQuint: function (x, t, b, c, d) {
|
||||||
|
return c*((t=t/d-1)*t*t*t*t + 1) + b;
|
||||||
|
},
|
||||||
|
easeInOutQuint: function (x, t, b, c, d) {
|
||||||
|
if ((t/=d/2) < 1) return c/2*t*t*t*t*t + b;
|
||||||
|
return c/2*((t-=2)*t*t*t*t + 2) + b;
|
||||||
|
},
|
||||||
|
easeInSine: function (x, t, b, c, d) {
|
||||||
|
return -c * Math.cos(t/d * (Math.PI/2)) + c + b;
|
||||||
|
},
|
||||||
|
easeOutSine: function (x, t, b, c, d) {
|
||||||
|
return c * Math.sin(t/d * (Math.PI/2)) + b;
|
||||||
|
},
|
||||||
|
easeInOutSine: function (x, t, b, c, d) {
|
||||||
|
return -c/2 * (Math.cos(Math.PI*t/d) - 1) + b;
|
||||||
|
},
|
||||||
|
easeInExpo: function (x, t, b, c, d) {
|
||||||
|
return (t==0) ? b : c * Math.pow(2, 10 * (t/d - 1)) + b;
|
||||||
|
},
|
||||||
|
easeOutExpo: function (x, t, b, c, d) {
|
||||||
|
return (t==d) ? b+c : c * (-Math.pow(2, -10 * t/d) + 1) + b;
|
||||||
|
},
|
||||||
|
easeInOutExpo: function (x, t, b, c, d) {
|
||||||
|
if (t==0) return b;
|
||||||
|
if (t==d) return b+c;
|
||||||
|
if ((t/=d/2) < 1) return c/2 * Math.pow(2, 10 * (t - 1)) + b;
|
||||||
|
return c/2 * (-Math.pow(2, -10 * --t) + 2) + b;
|
||||||
|
},
|
||||||
|
easeInCirc: function (x, t, b, c, d) {
|
||||||
|
return -c * (Math.sqrt(1 - (t/=d)*t) - 1) + b;
|
||||||
|
},
|
||||||
|
easeOutCirc: function (x, t, b, c, d) {
|
||||||
|
return c * Math.sqrt(1 - (t=t/d-1)*t) + b;
|
||||||
|
},
|
||||||
|
easeInOutCirc: function (x, t, b, c, d) {
|
||||||
|
if ((t/=d/2) < 1) return -c/2 * (Math.sqrt(1 - t*t) - 1) + b;
|
||||||
|
return c/2 * (Math.sqrt(1 - (t-=2)*t) + 1) + b;
|
||||||
|
},
|
||||||
|
easeInElastic: function (x, t, b, c, d) {
|
||||||
|
var s=1.70158;var p=0;var a=c;
|
||||||
|
if (t==0) return b; if ((t/=d)==1) return b+c; if (!p) p=d*.3;
|
||||||
|
if (a < Math.abs(c)) { a=c; var s=p/4; }
|
||||||
|
else var s = p/(2*Math.PI) * Math.asin (c/a);
|
||||||
|
return -(a*Math.pow(2,10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )) + b;
|
||||||
|
},
|
||||||
|
easeOutElastic: function (x, t, b, c, d) {
|
||||||
|
var s=1.70158;var p=0;var a=c;
|
||||||
|
if (t==0) return b; if ((t/=d)==1) return b+c; if (!p) p=d*.3;
|
||||||
|
if (a < Math.abs(c)) { a=c; var s=p/4; }
|
||||||
|
else var s = p/(2*Math.PI) * Math.asin (c/a);
|
||||||
|
return a*Math.pow(2,-10*t) * Math.sin( (t*d-s)*(2*Math.PI)/p ) + c + b;
|
||||||
|
},
|
||||||
|
easeInOutElastic: function (x, t, b, c, d) {
|
||||||
|
var s=1.70158;var p=0;var a=c;
|
||||||
|
if (t==0) return b; if ((t/=d/2)==2) return b+c; if (!p) p=d*(.3*1.5);
|
||||||
|
if (a < Math.abs(c)) { a=c; var s=p/4; }
|
||||||
|
else var s = p/(2*Math.PI) * Math.asin (c/a);
|
||||||
|
if (t < 1) return -.5*(a*Math.pow(2,10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )) + b;
|
||||||
|
return a*Math.pow(2,-10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )*.5 + c + b;
|
||||||
|
},
|
||||||
|
easeInBack: function (x, t, b, c, d, s) {
|
||||||
|
if (s == undefined) s = 1.70158;
|
||||||
|
return c*(t/=d)*t*((s+1)*t - s) + b;
|
||||||
|
},
|
||||||
|
easeOutBack: function (x, t, b, c, d, s) {
|
||||||
|
if (s == undefined) s = 1.70158;
|
||||||
|
return c*((t=t/d-1)*t*((s+1)*t + s) + 1) + b;
|
||||||
|
},
|
||||||
|
easeInOutBack: function (x, t, b, c, d, s) {
|
||||||
|
if (s == undefined) s = 1.70158;
|
||||||
|
if ((t/=d/2) < 1) return c/2*(t*t*(((s*=(1.525))+1)*t - s)) + b;
|
||||||
|
return c/2*((t-=2)*t*(((s*=(1.525))+1)*t + s) + 2) + b;
|
||||||
|
},
|
||||||
|
easeInBounce: function (x, t, b, c, d) {
|
||||||
|
return c - jQuery.easing.easeOutBounce (x, d-t, 0, c, d) + b;
|
||||||
|
},
|
||||||
|
easeOutBounce: function (x, t, b, c, d) {
|
||||||
|
if ((t/=d) < (1/2.75)) {
|
||||||
|
return c*(7.5625*t*t) + b;
|
||||||
|
} else if (t < (2/2.75)) {
|
||||||
|
return c*(7.5625*(t-=(1.5/2.75))*t + .75) + b;
|
||||||
|
} else if (t < (2.5/2.75)) {
|
||||||
|
return c*(7.5625*(t-=(2.25/2.75))*t + .9375) + b;
|
||||||
|
} else {
|
||||||
|
return c*(7.5625*(t-=(2.625/2.75))*t + .984375) + b;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
easeInOutBounce: function (x, t, b, c, d) {
|
||||||
|
if (t < d/2) return jQuery.easing.easeInBounce (x, t*2, 0, c, d) * .5 + b;
|
||||||
|
return jQuery.easing.easeOutBounce (x, t*2-d, 0, c, d) * .5 + c*.5 + b;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
/*
|
||||||
|
*
|
||||||
|
* TERMS OF USE - EASING EQUATIONS
|
||||||
|
*
|
||||||
|
* Open source under the BSD License.
|
||||||
|
*
|
||||||
|
* Copyright © 2001 Robert Penner
|
||||||
|
* All rights reserved.
|
||||||
|
*
|
||||||
|
* Redistribution and use in source and binary forms, with or without modification,
|
||||||
|
* are permitted provided that the following conditions are met:
|
||||||
|
*
|
||||||
|
* Redistributions of source code must retain the above copyright notice, this list of
|
||||||
|
* conditions and the following disclaimer.
|
||||||
|
* Redistributions in binary form must reproduce the above copyright notice, this list
|
||||||
|
* of conditions and the following disclaimer in the documentation and/or other materials
|
||||||
|
* provided with the distribution.
|
||||||
|
*
|
||||||
|
* Neither the name of the author nor the names of contributors may be used to endorse
|
||||||
|
* or promote products derived from this software without specific prior written permission.
|
||||||
|
*
|
||||||
|
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
|
||||||
|
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||||
|
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||||
|
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
|
||||||
|
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
|
||||||
|
* GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
|
||||||
|
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
||||||
|
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
|
||||||
|
* OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
*
|
||||||
|
*/
|