diff --git a/.rspec b/.rspec index 7dd4b932e..5902dd3af 100644 --- a/.rspec +++ b/.rspec @@ -1 +1 @@ ---colour --drb --format Fuubar +--colour --drb diff --git a/Gemfile b/Gemfile index a0a88ec4b..c01caf6db 100644 --- a/Gemfile +++ b/Gemfile @@ -4,7 +4,8 @@ source "http://gems.github.com" ruby '2.1.5' gem 'rails', "= 3.2.11" -gem 'sass-rails', '= 3.2.4' +gem 'sass-rails' +gem "sprockets", ">= 2.2.2" # API gem 'sinatra', "= 1.2.7" @@ -13,6 +14,7 @@ gem 'rack-cache', '= 1.2' # For caching gem 'dalli', '= 1.1.5' # memcache client, for caching gem 'acts_as_api', '= 0.3.11' gem 'barometer', '= 0.8.0' #for weather forecasts +gem "compass-rails" # ActiveRecord gem 'sunspot_rails', "= 1.3.0" @@ -21,7 +23,7 @@ gem 'pg', '= 0.13.2' # for postgres gem 'permanent_records', '= 2.1.2' # adds soft-delete if a model has a deleted_at column gem 'cocaine', '= 0.3.2' gem 'paperclip', "= 2.4.5" # we use this to store avatars -gem 'rmagick' +gem 'rmagick', '~> 2.15.4' gem 'geocoder', '= 1.0.5' # we use geocoder to find user latlngs from addresses gem 'glebm-geokit', '= 1.5.2', :require => 'geokit' # use this to find latlngs from address again. try to remove in favor of geocoder @@ -45,7 +47,7 @@ gem 'aws-s3', :require => 'aws/s3' # storing avatars and stuff gem 'amazon-ec2', '= 0.9.17', :require => 'AWS' # managing instances # Worker Jobs -gem 'mock_redis', :git => "https://github.com/causes/mock_redis.git", :ref => "fe01880" +# gem 'mock_redis', :git => "https://github.com/causes/mock_redis.git", :ref => "fe01880" gem 'redis', '= 2.2.2' # for queueing with resque gem 'redis-namespace', '= 1.0.3', :require => false # resque wants it, we don't need to require it gem 'mcbean' # We use this to pull data from rss feeds for import @@ -59,21 +61,22 @@ gem 'resque-scheduler', '= 1.9.9' # we use this to queue jobs at specific times gem 'resque-cleaner', '= 0.2.7' # Mail -gem 'mail', '= 2.4.4' # Used for mail +gem 'mail' gem 'mustache', '= 0.99.4' # used for mail gem 'premailer', '= 1.7.3' # we use this to inline css in our emails # ActionView gem 'sanitize', '= 2.0.3' # used in app/controllers/posts_controller.rb (which is dead code) ! remove -gem 'haml', '= 3.1.4' # used for view templates +gem 'haml' gem 'formtastic', '= 2.0.2' # used for view templates -gem 'sass', '= 3.1.15' # used for stylesheets +gem 'sass', "= 3.2.19" # Admin gem 'rails_admin', :git => 'https://github.com/sferik/rails_admin.git', :ref => "1eda06e" gem 'rest-client', '= 1.6.7' gem 'leftronic', :git => 'https://github.com/Jberlinsky/leftronic-gem.git', :ref => "a090bf1d49004f501c9164d5dcd51761b48803e4" + # Tech admin gem 'newrelic_rpm' gem 'honeybadger' @@ -98,8 +101,7 @@ gem 'km', '= 1.1.2' gem 'km-db', :git => "https://github.com/Jberlinsky/km-db.git", :ref => "65bf2c5ffc203a773c9cc2d491306924a6c78cd2" group :assets do - gem 'uglifier', '= 1.2.3' - gem 'compass', '= 0.12.alpha.0' + gem 'uglifier' end group :development do @@ -123,15 +125,14 @@ group :development, :test, :remote_worker do end group :test do - gem 'rspec-resque', :github => "Jberlinsky/rspec-resque", ref: "eba6f41cc57102a91d208cd71a6507034a59efd0" - gem 'rspec-rails' # we use rspec-rails for tests - gem 'fuubar', '= 1.0.0' # we use fuubar for pretty rspec output + gem "capybara-screenshot" + gem "resque_spec" + gem "rspec-mocks" + gem "rspec-rails", "~> 3.2.1" gem 'spork', '= 0.9.2' - gem 'rr', '= 1.0.4' - gem 'capybara', '= 1.1.2' + gem 'capybara' gem 'launchy', '= 2.1.0' # we use launchy to launch a browser during integration testing - gem 'database_cleaner', '= 0.7.1' # we use database_cleaner to clean the database between tests - gem 'jasmine', '= 1.2.1' # we use jasmine for javascript tests + gem 'database_cleaner' gem 'cucumber-rails', '= 1.1.1' end @@ -140,14 +141,13 @@ gem 'acts-as-taggable-on', '= 2.3.1' gem 'amatch', '= 0.2.10' gem 'builder', '= 3.0.0' -gem 'i18n', '= 0.6.0' +gem 'i18n' gem 'journey', :git => "git://github.com/Jberlinsky/journey.git", :ref => "v1.0.3-shim"# :ref => "cd6aa3e" gem 'multi_json', '= 1.2.0' gem 'rack', '= 1.4.5' gem 'rack-ssl', '= 1.3.2' gem 'rack-test', '= 0.6.1' gem 'rake', '= 0.9.2.2' -gem 'sprockets', '= 2.2.1' gem 'treetop', '= 1.4.10' gem 'tzinfo', '= 0.3.32' gem 'area', '= 0.9.0', :require => false diff --git a/Gemfile.lock b/Gemfile.lock index 3642d9703..be0861929 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -5,15 +5,6 @@ GIT specs: journey (1.0.4.20120222115248) -GIT - remote: git://github.com/Jberlinsky/rspec-resque.git - revision: eba6f41cc57102a91d208cd71a6507034a59efd0 - ref: eba6f41cc57102a91d208cd71a6507034a59efd0 - specs: - rspec-resque (0.0.1) - resque (~> 1.19.0) - rspec (>= 2.6.0) - GIT remote: https://github.com/Jberlinsky/heroku_san.git revision: 3ad7d89733bc9aa82a514b9557d51f0486f0177f @@ -44,13 +35,6 @@ GIT specs: leftronic (0.0.4) -GIT - remote: https://github.com/causes/mock_redis.git - revision: fe0188048dad03c9e18d2ae199c0992b7bd48e27 - ref: fe01880 - specs: - mock_redis (0.6.3) - GIT remote: https://github.com/sferik/rails_admin.git revision: 1eda06e225b021febe3de6a543235c818dfa8150 @@ -146,7 +130,8 @@ GEM bcrypt (3.1.7) bcrypt-ruby (3.1.5) bcrypt (>= 3.1.3) - bootstrap-sass (2.1.1.0) + bootstrap-sass (2.3.2.2) + sass (~> 3.2) brakeman (1.8.2) activesupport erubis (~> 2.6) @@ -164,30 +149,32 @@ GEM bson (~> 1.6.1) builder (3.0.0) cancan (1.6.7) - capybara (1.1.2) + capybara (2.5.0) mime-types (>= 1.16) nokogiri (>= 1.3.3) rack (>= 1.0.0) rack-test (>= 0.5.4) - selenium-webdriver (~> 2.0) - xpath (~> 0.1.4) - childprocess (0.5.2) - ffi (~> 1.0, >= 1.0.11) - chunky_png (1.3.0) + xpath (~> 2.0) + capybara-screenshot (1.0.11) + capybara (>= 1.0, < 3) + launchy + chunky_png (1.3.5) cocaine (0.3.2) coderay (1.0.9) coffee-rails (3.2.2) coffee-script (>= 2.2.0) railties (~> 3.2.0) - coffee-script (2.2.0) + coffee-script (2.4.1) coffee-script-source execjs - coffee-script-source (1.7.0) + coffee-script-source (1.10.0) colored (1.2) - compass (0.12.alpha.0) + compass (0.12.7) chunky_png (~> 1.2) fssm (>= 0.2.7) - sass (~> 3.1) + sass (~> 3.2.19) + compass-rails (1.1.6) + compass (>= 0.12.2) crack (0.4.2) safe_yaml (~> 1.0.0) creole (0.5.0) @@ -218,7 +205,7 @@ GEM escape (0.0.4) eventmachine (1.0.3) excon (0.15.5) - execjs (2.0.2) + execjs (2.6.0) factory_girl (2.6.3) activesupport (>= 2.3.9) faraday (0.7.6) @@ -226,7 +213,6 @@ GEM multipart-post (~> 1.1) rack (~> 1.1) fastercsv (1.5.5) - ffi (1.9.3) foreman (0.40.0) term-ansicolor (~> 1.0.7) thor (>= 0.13.6) @@ -234,10 +220,6 @@ GEM formtastic (2.0.2) rails (~> 3.0) fssm (0.2.10) - fuubar (1.0.0) - rspec (~> 2.0) - rspec-instafail (~> 0.2.0) - ruby-progressbar (~> 0.0.10) geocoder (1.0.5) gherkin (2.5.4) json (>= 1.4.6) @@ -249,7 +231,7 @@ GEM oauth2 (~> 0.5.2) glebm-geokit (1.5.2) guardrail_notifier (0.2.12) - haml (3.1.4) + haml (3.1.8) hashie (1.2.0) heroku (2.28.7) heroku-api (~> 0.2.6) @@ -268,16 +250,10 @@ GEM httparty (0.11.0) multi_json (~> 1.0) multi_xml (>= 0.5.2) - i18n (0.6.0) + i18n (0.7.0) iconv (1.0.4) jar_wrapper (0.1.8) zip - jasmine (1.2.1) - jasmine-core (>= 1.2.0) - rack (~> 1.0) - rspec (>= 1.3.1) - selenium-webdriver (>= 0.1.3) - jasmine-core (2.0.0) jeweler (2.0.1) builder bundler (>= 1.0) @@ -287,7 +263,7 @@ GEM nokogiri (>= 1.5.10) rake rdoc - jquery-rails (3.1.0) + jquery-rails (3.1.4) railties (>= 3.0, < 5.0) thor (>= 0.14, < 2.0) jquery-ui-rails (0.2.2) @@ -295,7 +271,7 @@ GEM railties (>= 3.1.0) json (1.6.6) json_pure (1.8.1) - kaminari (0.15.1) + kaminari (0.16.3) actionpack (>= 3.0.0) activesupport (>= 3.0.0) km (1.1.2) @@ -352,7 +328,7 @@ GEM pg (0.13.2) plucky (0.4.4) mongo (~> 1.5) - polyglot (0.3.4) + polyglot (0.3.5) pr_geohash (1.0.0) premailer (1.7.3) css_parser (>= 1.1.9) @@ -367,9 +343,9 @@ GEM rack (>= 0.4) rack-contrib (1.1.0) rack (>= 0.9.1) - rack-pjax (0.7.0) + rack-pjax (0.8.0) nokogiri (~> 1.5) - rack (~> 1.3) + rack (~> 1.1) rack-ssl (1.3.2) rack rack-test (0.6.1) @@ -415,55 +391,53 @@ GEM redis (>= 2.0.1) resque (>= 1.8.0) rufus-scheduler + resque_spec (0.17.0) + resque (>= 1.19.0) + rspec-core (>= 3.0.0) + rspec-expectations (>= 3.0.0) + rspec-mocks (>= 3.0.0) rest-client (1.6.7) mime-types (>= 1.16) - rmagick (2.13.2) - rr (1.0.4) + rmagick (2.15.4) rsolr (1.0.10) builder (>= 2.1.2) - rspec (2.14.1) - rspec-core (~> 2.14.0) - rspec-expectations (~> 2.14.0) - rspec-mocks (~> 2.14.0) - rspec-core (2.14.8) - rspec-expectations (2.14.5) - diff-lcs (>= 1.1.3, < 2.0) - rspec-instafail (0.2.4) - rspec-mocks (2.14.6) - rspec-rails (2.14.2) - actionpack (>= 3.0) - activemodel (>= 3.0) - activesupport (>= 3.0) - railties (>= 3.0) - rspec-core (~> 2.14.0) - rspec-expectations (~> 2.14.0) - rspec-mocks (~> 2.14.0) + rspec-core (3.2.3) + rspec-support (~> 3.2.0) + rspec-expectations (3.2.1) + diff-lcs (>= 1.2.0, < 2.0) + rspec-support (~> 3.2.0) + rspec-mocks (3.2.1) + diff-lcs (>= 1.2.0, < 2.0) + rspec-support (~> 3.2.0) + rspec-rails (3.2.3) + actionpack (>= 3.0, < 4.3) + activesupport (>= 3.0, < 4.3) + railties (>= 3.0, < 4.3) + rspec-core (~> 3.2.0) + rspec-expectations (~> 3.2.0) + rspec-mocks (~> 3.2.0) + rspec-support (~> 3.2.0) + rspec-support (3.2.2) ruby-hmac (0.4.0) - ruby-progressbar (0.0.10) ruby2ruby (1.3.1) ruby_parser (~> 2.0) sexp_processor (~> 3.0) ruby_parser (2.3.1) sexp_processor (~> 3.0) - rubyzip (1.1.2) + rubyzip (1.1.7) rufus-scheduler (3.0.7) tzinfo safe_yaml (1.0.2) sanitize (2.0.3) nokogiri (>= 1.4.4, < 1.6) - sass (3.1.15) - sass-rails (3.2.4) + sass (3.2.19) + sass-rails (3.2.6) railties (~> 3.2.0) sass (>= 3.1.10) tilt (~> 1.3) selenium (0.2.5) jar_wrapper jeweler - selenium-webdriver (2.41.0) - childprocess (>= 0.5.0) - multi_json (~> 1.0) - rubyzip (~> 1.0) - websocket (~> 1.0.4) sexp_processor (3.2.0) simplecov (0.6.4) multi_json (~> 1.0) @@ -474,7 +448,7 @@ GEM tilt (>= 1.2.2, < 2.0) slop (3.5.0) spork (0.9.2) - sprockets (2.2.1) + sprockets (2.2.3) hike (~> 1.2) multi_json (~> 1.0) rack (~> 1.0) @@ -502,16 +476,15 @@ GEM polyglot (>= 0.3.1) trollop (1.16.2) tzinfo (0.3.32) - uglifier (1.2.3) + uglifier (2.2.1) execjs (>= 0.3.0) - multi_json (>= 1.0.2) + multi_json (~> 1.0, >= 1.0.2) vegas (0.1.11) rack (>= 1.0.0) warden (1.1.1) rack (>= 1.0) - websocket (1.0.7) xml-simple (1.1.4) - xpath (0.1.4) + xpath (2.0.0) nokogiri (~> 1.3) yajl-ruby (1.2.0) zip (2.0.2) @@ -532,32 +505,31 @@ DEPENDENCIES bson_ext builder (= 3.0.0) cancan (= 1.6.7) - capybara (= 1.1.2) + capybara + capybara-screenshot cocaine (= 0.3.2) colored (= 1.2) - compass (= 0.12.alpha.0) + compass-rails cucumber (= 1.1.0) cucumber-rails (= 1.1.1) dalli (= 1.1.5) - database_cleaner (= 0.7.1) + database_cleaner deadweight (= 0.2.1) devise (= 2.0.5) factory_girl (= 2.6.3) foreman (= 0.40.0) forgery (= 0.5.0) formtastic (= 2.0.2) - fuubar (= 1.0.0) geocoder (= 1.0.5) glebm-geokit (= 1.5.2) guardrail_notifier (= 0.2.12) - haml (= 3.1.4) + haml heroku (= 2.28.7) heroku_san! honeybadger hpricot (= 0.8.6) - i18n (= 0.6.0) + i18n iconv - jasmine (= 1.2.1) journey! json (= 1.6.6) km (= 1.1.2) @@ -565,9 +537,8 @@ DEPENDENCIES launchy (= 2.1.0) leftronic! loofah - mail (= 2.4.4) + mail mcbean - mock_redis! mongo_mapper (= 0.11.0) multi_json (= 1.2.0) mustache (= 0.99.4) @@ -598,19 +569,19 @@ DEPENDENCIES resque-cleaner (= 0.2.7) resque-honeybadger resque-scheduler (= 1.9.9) + resque_spec rest-client (= 1.6.7) - rmagick - rr (= 1.0.4) - rspec-rails - rspec-resque! + rmagick (~> 2.15.4) + rspec-mocks + rspec-rails (~> 3.2.1) sanitize (= 2.0.3) - sass (= 3.1.15) - sass-rails (= 3.2.4) + sass (= 3.2.19) + sass-rails selenium (= 0.2.5) simplecov (= 0.6.4) sinatra (= 1.2.7) spork (= 0.9.2) - sprockets (= 2.2.1) + sprockets (>= 2.2.2) sunspot_rails (= 1.3.0) sunspot_solr (= 1.3.0) thin (= 1.3.1) @@ -618,4 +589,4 @@ DEPENDENCIES trollop (= 1.16.2) turing-contacts! tzinfo (= 0.3.32) - uglifier (= 1.2.3) + uglifier diff --git a/app/models/announcement.rb b/app/models/announcement.rb index dd83c04e2..43a5512ea 100644 --- a/app/models/announcement.rb +++ b/app/models/announcement.rb @@ -27,7 +27,7 @@ class Announcement < ActiveRecord::Base scope :this_week, :conditions => ["announcements.created_at between ? and ?", DateTime.now.at_beginning_of_week, DateTime.now] - default_scope where(:deleted_at => nil) + # default_scope where(:deleted_at => nil) after_create :update_user_announcements_counter def has_reply diff --git a/app/models/event.rb b/app/models/event.rb index 498c4829f..2e2c54232 100644 --- a/app/models/event.rb +++ b/app/models/event.rb @@ -44,7 +44,7 @@ class Event < ActiveRecord::Base scope :created_on, lambda { |date| { :conditions => ["events.created_at between ? and ?", date.utc.beginning_of_day, date.utc.end_of_day] } } - default_scope where(:deleted_at => nil) + # default_scope where(:deleted_at => nil) acts_as_api diff --git a/app/models/post.rb b/app/models/post.rb index a9ca52a22..3486c93b5 100644 --- a/app/models/post.rb +++ b/app/models/post.rb @@ -17,7 +17,7 @@ class Post < ActiveRecord::Base validates_presence_of :subject, :message => "Please enter a subject for your post" validates_presence_of :body, :message => "Please enter some text for your post" - default_scope where(:deleted_at => nil) + # default_scope where(:deleted_at => nil) attr_accessor :post_to_facebook diff --git a/app/models/resident.rb b/app/models/resident.rb index ad8337121..7968cc7ef 100644 --- a/app/models/resident.rb +++ b/app/models/resident.rb @@ -263,7 +263,6 @@ def add_type_tags(tag_or_tags) string :type_tags, :multiple => true string :first_name string :last_name - text :full_name end # If a correlation is found, then stuff has to be merged into one file diff --git a/app/models/transaction.rb b/app/models/transaction.rb index 5bda13b91..0c21d09e5 100644 --- a/app/models/transaction.rb +++ b/app/models/transaction.rb @@ -90,14 +90,15 @@ def sell_confirmed end searchable do - text :title, :description - text :author_name do + string :title + string :description + string :author_name do owner.name end - text :replies do + string :replies do replies.map &:body end - text :reply_author do + string :reply_author do replies.map { |r| r.user.name } end integer :community_id diff --git a/app/styles/_header.css.sass b/app/styles/_header.css.sass index 331936a9f..210c59ca7 100644 --- a/app/styles/_header.css.sass +++ b/app/styles/_header.css.sass @@ -63,12 +63,12 @@ $black-shadow: 0px 2px 1px black background-position: 0px -42px .red-button box-shadow: inset 0px 1px 0px rgba(255,255,255,0.35) - +linear-gradient(color-stops(#ee5a56, #b53633), top) + +linear-gradient(#ee5a56, #b53633, top) &:active background-position: 0px -82px .red-button box-shadow: inset 0px 1px 0px rgba(255,255,255,0.20) - +linear-gradient(color-stops(#d64541, #ac322f), bottom) + +linear-gradient(#d64541, #ac322f, bottom) text-shadow: 0px 1px 0px #64100D .red-button width: 170px @@ -429,7 +429,7 @@ $black-shadow: 0px 2px 1px black text-transform: capitalize border-radius: 5px top: 17px - +linear-gradient(color-stops(#2e5274, #1b334a), top) + +linear-gradient(#2e5274, #1b334a, top) box-shadow: 0px 1px 3px rgba(0,0,0,0.25), inset -0px -1px 0px rgba(255,255,255,0.15) //text-shadow: 1px 1px 0px rgba(0,0,0,0.75) cursor: pointer @@ -446,7 +446,7 @@ $black-shadow: 0px 2px 1px black border-bottom: 0px box-shadow: 0px 2px 2px rgba(0,0,0,0.40) //box-shadow: inset 0px 1px 0px rgba(255,255,255,0.12) - //+linear-gradient(color-stops(#2e5274, #1b334a), bottom) + //+linear-gradient(#2e5274, #1b334a, bottom) //text-shadow: 1px 2px 3px rgba(0,0,0,.65) //box-shadow: 0px 1px 2px rgba(0,0,0,.15), inset 0px 1px 0px rgba(255,255,255,0.15) +border-bottom-right-radius(0px) @@ -468,7 +468,7 @@ $black-shadow: 0px 2px 1px black text-shadow: -1px -1px 0px rgba(0,0,0, 0.85) //&:active color: #fff - +linear-gradient(color-stops(#2e5274, #1b334a), bottom) + +linear-gradient(#2e5274, #1b334a, bottom) text-shadow: -1px -1px -1px rgba(0,0,0,.65) box-shadow: 1px 1px 1px rgba(0,0,0,.25) span.arrow @@ -484,7 +484,7 @@ $black-shadow: 0px 2px 1px black position: absolute display: none background-color: #1b334a - //+linear-gradient(color-stops(#2e5274, #1b334a), bottom) + //+linear-gradient(#2e5274, #1b334a, bottom) box-shadow: 0px 2px 2px rgba(0,0,0,0.40), inset 0px -1px 0px rgba(255,255,255,0.15) width: 155px margin-top: 15px @@ -581,24 +581,24 @@ $black-shadow: 0px 2px 1px black text-shadow: 0px 2px 0px #424242 .blue margin-right: 20px - +linear-gradient(color-stops(#2e5274, #1b334a)) + +linear-gradient(#2e5274, #1b334a) &:hover, &:focus color: #fff - +linear-gradient(color-stops(#3e6b96, #1b334a), top) + +linear-gradient(#3e6b96, #1b334a, top) box-shadow: inset 0 1px 1px rgba(255,255,255,.5) &:active color: #fff - +linear-gradient(color-stops(#2e5274, #1b334a), bottom) + +linear-gradient(#2e5274, #1b334a, bottom) .red background: $red - +linear-gradient(color-stops(#cc4441, #ac322f)) + +linear-gradient(#cc4441, #ac322f) &:hover, &:focus color: #fff - +linear-gradient(color-stops(#ea4e4a, #ac322f), top) + +linear-gradient(#ea4e4a, #ac322f, top) box-shadow: inset 0 1px 1px rgba(255,255,255,.5) &:active color: #fff - +linear-gradient(color-stops(#cc4441, #ac322f), bottom) + +linear-gradient(#cc4441, #ac322f, bottom) .dropdown width: 300px background: #EEECDF @@ -644,7 +644,7 @@ $black-shadow: 0px 2px 1px black text-align: center float: right width: 110px - +linear-gradient(color-stops(#2e5274, #1b334a)) + +linear-gradient(#2e5274, #1b334a) font-weight: bold font-size: 16px margin-right: 15px @@ -657,28 +657,28 @@ $black-shadow: 0px 2px 1px black text-shadow: 0px 2px 0px #333 &:hover, &:focus color: #fff - +linear-gradient(color-stops(#3e6b96, #1b334a), top) + +linear-gradient(#3e6b96, #1b334a, top) box-shadow: inset 0 1px 1px rgba(255,255,255,.5) &:active color: #fff - +linear-gradient(color-stops(#2e5274, #1b334a), bottom) + +linear-gradient(#2e5274, #1b334a, bottom) button.signin.facebook width: 148px height: auto margin-right: 12px font-size: 16px padding: 10px 0 8px 0 - +linear-gradient(color-stops(#4e6fb6, #3b5998)) + +linear-gradient(#4e6fb6, #3b5998) -webkit-font-smoothing: antialiased background-color: #3b5998 text-shadow: 0px 2px 0px #333 &:hover, &:focus color: #fff - +linear-gradient(color-stops(#5c83d7, #3b5998), top) + +linear-gradient(#5c83d7, #3b5998, top) box-shadow: inset 0 1px 1px rgba(255,255,255,.5) &:active color: #fff - +linear-gradient(color-stops(#4e6fb6, #3b5998), bottom) + +linear-gradient(#4e6fb6, #3b5998, bottom) p clear: both margin-left: 14px diff --git a/app/styles/_measurements.css.sass b/app/styles/_measurements.css.sass index e0882f399..1940f3c9f 100644 --- a/app/styles/_measurements.css.sass +++ b/app/styles/_measurements.css.sass @@ -1,3 +1,3 @@ $defaultRadius: 5px $inputBoxWidth: 300px -$labelWidth: 75px \ No newline at end of file +$labelWidth: 75px diff --git a/app/styles/_mixins.css.sass b/app/styles/_mixins.css.sass index d7f2cc198..003519d28 100644 --- a/app/styles/_mixins.css.sass +++ b/app/styles/_mixins.css.sass @@ -59,3 +59,8 @@ &:hover border-color: #888 +@mixin border-radius($radius) + +border-top-radius($radius) + +border-right-radius($radius) + +border-bottom-radius($radius) + +border-left-radius($radius) diff --git a/app/styles/_notification.css.sass b/app/styles/_notification.css.sass index b44290853..142ac125a 100644 --- a/app/styles/_notification.css.sass +++ b/app/styles/_notification.css.sass @@ -8,4 +8,4 @@ border: 5px solid #1B334A z-index: 3000 +border-radius(5px) - text-align: center \ No newline at end of file + text-align: center diff --git a/app/styles/_site_info.css.sass b/app/styles/_site_info.css.sass index ebfc15fca..cf806fb4e 100644 --- a/app/styles/_site_info.css.sass +++ b/app/styles/_site_info.css.sass @@ -30,4 +30,4 @@ body.site.terms, .site.privacy, .site.dmca h1, h2, h3, h4 font-weight: bold margin-bottom: 0.5em - width: auto \ No newline at end of file + width: auto diff --git a/app/styles/about.css.sass b/app/styles/about.css.sass index 8cafb20e6..0596f24e2 100644 --- a/app/styles/about.css.sass +++ b/app/styles/about.css.sass @@ -122,24 +122,24 @@ em text-align: center .blue margin-right: 20px - +linear-gradient(color-stops(#2e5274, #1b334a)) + +linear-gradient(#2e5274, #1b334a) &:hover, &:focus color: #fff - +linear-gradient(color-stops(#3e6b96, #1b334a), top) + +linear-gradient(#3e6b96, #1b334a, top) box-shadow: inset 0 1px 1px rgba(255,255,255,.5) &:active color: #fff - +linear-gradient(color-stops(#2e5274, #1b334a), bottom) + +linear-gradient(#2e5274, #1b334a, bottom) .red background: $red - +linear-gradient(color-stops(#cc4441, #ac322f)) + +linear-gradient(#cc4441, #ac322f) &:hover, &:focus color: #fff - +linear-gradient(color-stops(#ea4e4a, #ac322f), top) + +linear-gradient(#ea4e4a, #ac322f, top) box-shadow: inset 0 1px 1px rgba(255,255,255,.5) &:active color: #fff - +linear-gradient(color-stops(#cc4441, #ac322f), bottom) + +linear-gradient(#cc4441, #ac322f, bottom) .dropdown width: 300px background: #EEECDF @@ -186,7 +186,7 @@ em text-align: center float: right width: 110px - +linear-gradient(color-stops(#2e5274, #1b334a)) + +linear-gradient(#2e5274, #1b334a) font-weight: bold font-size: 16px margin-right: 15px @@ -199,28 +199,28 @@ em text-shadow: 0px 2px 0px #333 &:hover, &:focus color: #fff - +linear-gradient(color-stops(#3e6b96, #1b334a), top) + +linear-gradient(#3e6b96, #1b334a, top) box-shadow: inset 0 1px 1px rgba(255,255,255,.5) &:active color: #fff - +linear-gradient(color-stops(#2e5274, #1b334a), bottom) + +linear-gradient(#2e5274, #1b334a, bottom) button.signin.facebook width: 148px height: auto margin-right: 12px font-size: 16px padding: 10px 0 8px 0 - +linear-gradient(color-stops(#4e6fb6, #3b5998)) + +linear-gradient(#4e6fb6, #3b5998) -webkit-font-smoothing: antialiased background-color: #3b5998 text-shadow: 0px 2px 0px #333 &:hover, &:focus color: #fff - +linear-gradient(color-stops(#5c83d7, #3b5998), top) + +linear-gradient(#5c83d7, #3b5998, top) box-shadow: inset 0 1px 1px rgba(255,255,255,.5) &:active color: #fff - +linear-gradient(color-stops(#4e6fb6, #3b5998), bottom) + +linear-gradient(#4e6fb6, #3b5998, bottom) p clear: both margin-left: 14px @@ -592,19 +592,19 @@ em border: 1px solid #151f28 color: white text-transform: uppercase - +linear-gradient(color-stops(#2e5274, #1b334a), top) + +linear-gradient(#2e5274, #1b334a, top) box-shadow: 1px 1px 1px rgba(0,0,0,.25) text-shadow: 1px 2px 3px rgba(0,0,0,.65) cursor: pointer margin-top: 12px &:hover, &:focus color: #fff - +linear-gradient(color-stops(#2e5274, #1b334a), top) + +linear-gradient(#2e5274, #1b334a, top) text-shadow: 1px 2px 3px rgba(0,0,0,.65) box-shadow: 0px 2px 4px rgba(0,0,0,.65) &:active color: #fff - +linear-gradient(color-stops(#2e5274, #1b334a), bottom) + +linear-gradient(#2e5274, #1b334a, bottom) text-shadow: -1px -1px -1px rgba(0,0,0,.65) box-shadow: 1px 1px 1px rgba(0,0,0,.25) .facebook, .leader-button @@ -692,19 +692,19 @@ span#apply-btn, span#nominate-btn, .register-btn border: 1px solid #151f28 color: white text-transform: uppercase - +linear-gradient(color-stops(#2e5274, #1b334a), top) + +linear-gradient(#2e5274, #1b334a, top) box-shadow: 1px 1px 1px rgba(0,0,0,.25) text-shadow: 1px 2px 3px rgba(0,0,0,.65) cursor: pointer margin-top: 12px &:hover, &:focus color: #fff - +linear-gradient(color-stops(#2e5274, #1b334a), top) + +linear-gradient(#2e5274, #1b334a, top) text-shadow: 1px 2px 3px rgba(0,0,0,.65) box-shadow: 0px 2px 4px rgba(0,0,0,.65) &:active color: #fff - +linear-gradient(color-stops(#2e5274, #1b334a), bottom) + +linear-gradient(#2e5274, #1b334a, bottom) text-shadow: -1px -1px -1px rgba(0,0,0,.65) box-shadow: 1px 1px 1px rgba(0,0,0,.25) .bottom @@ -854,7 +854,7 @@ li.ui-menu-item:last-child border: 1px solid #151f28 color: white text-transform: uppercase - +linear-gradient(color-stops(#2e5274, #1b334a), top) + +linear-gradient(#2e5274, #1b334a, top) box-shadow: 1px 1px 1px rgba(0,0,0,.25) text-shadow: 1px 2px 3px rgba(0,0,0,.65) cursor: pointer @@ -863,12 +863,12 @@ li.ui-menu-item:last-child text-align: center &:hover, &:focus color: #fff - +linear-gradient(color-stops(#2e5274, #1b334a), top) + +linear-gradient(#2e5274, #1b334a, top) text-shadow: 1px 2px 3px rgba(0,0,0,.65) box-shadow: 0px 2px 4px rgba(0,0,0,.65) &:active color: #fff - +linear-gradient(color-stops(#2e5274, #1b334a), bottom) + +linear-gradient(#2e5274, #1b334a, bottom) text-shadow: -1px -1px -1px rgba(0,0,0,.65) box-shadow: 1px 1px 1px rgba(0,0,0,.25) #dk_container_hear @@ -999,4 +999,4 @@ li.ui-menu-item margin: 0px auto 15px auto #header #sign_in_form - position: static \ No newline at end of file + position: static diff --git a/app/styles/accounts/_delete.css.sass b/app/styles/accounts/_delete.css.sass index f60069cff..e2c796a1f 100644 --- a/app/styles/accounts/_delete.css.sass +++ b/app/styles/accounts/_delete.css.sass @@ -14,4 +14,4 @@ body.application.accounts.delete display: block margin: 50px 0 text-align: center - \ No newline at end of file + diff --git a/app/styles/administration.css.sass b/app/styles/administration.css.sass index 3af483e93..466a8f3b3 100644 --- a/app/styles/administration.css.sass +++ b/app/styles/administration.css.sass @@ -75,4 +75,4 @@ div[data-map] float: left width: 300px - \ No newline at end of file + diff --git a/app/styles/application.css.sass b/app/styles/application.css.sass index 7f00c5b7f..5539a5ba2 100644 --- a/app/styles/application.css.sass +++ b/app/styles/application.css.sass @@ -10,9 +10,6 @@ @import footer @import date_picker @import neutral_notification -@import "compass/reset" -@import "compass/css3/gradient" -@import "compass/css3/pie" @import pie @import shared/wire diff --git a/app/styles/base.sass b/app/styles/base.sass index 128275d98..bcbf8d4b1 100644 --- a/app/styles/base.sass +++ b/app/styles/base.sass @@ -34,7 +34,7 @@ font-weight: bold height: 18px font-family: $heading - +linear-gradient(color-stops(#62AF46, #569E3F), top) + +linear-gradient(#62AF46, #569E3F, top) display: block font-size: 20px text-decoration: none @@ -46,11 +46,11 @@ bottom: 13px &:hover, &:focus color: #fff - +linear-gradient(color-stops(#62AF46, #569E3F), top) + +linear-gradient(#62AF46, #569E3F, top) box-shadow: 0px 2px 4px #adab9f &:active color: #fff - +linear-gradient(color-stops(#62AF46, #569E3F), bottom) + +linear-gradient(#62AF46, #569E3F, bottom) /* Overall Styles */ .right diff --git a/app/styles/feeds/delete.css.scss b/app/styles/feeds/delete.css.scss index c0b169de3..fd49899ee 100644 --- a/app/styles/feeds/delete.css.scss +++ b/app/styles/feeds/delete.css.scss @@ -12,4 +12,4 @@ body.application.feeds.delete { .buttons li { display: block ; margin: 50px 0 ; text-align: center } } -} \ No newline at end of file +} diff --git a/app/styles/feeds/edit_owner.css.scss b/app/styles/feeds/edit_owner.css.scss index d8056c2b1..5996dd993 100644 --- a/app/styles/feeds/edit_owner.css.scss +++ b/app/styles/feeds/edit_owner.css.scss @@ -13,4 +13,4 @@ body.application.feeds.edit_owner, body.application.feeds.update_owner { .buttons { display: block ; margin: 50px 0 ; text-align: center } } -} \ No newline at end of file +} diff --git a/app/styles/main_page/community_resources_navigation.css.sass b/app/styles/main_page/community_resources_navigation.css.sass index 8a0127efb..53354e9c4 100644 --- a/app/styles/main_page/community_resources_navigation.css.sass +++ b/app/styles/main_page/community_resources_navigation.css.sass @@ -107,4 +107,4 @@ &.users padding-left: 0px &:first-child - padding-left: 0 \ No newline at end of file + padding-left: 0 diff --git a/app/styles/pie.scss b/app/styles/pie.scss index 26a89a810..1e00754d4 100644 --- a/app/styles/pie.scss +++ b/app/styles/pie.scss @@ -71,4 +71,4 @@ $pie-base-class: pie-element; .has-gradient { @include pie-element(relative); @include background(linear-gradient(#f00, #00f)); -} \ No newline at end of file +} diff --git a/app/styles/registration/base.sass b/app/styles/registration/base.sass index 2e7f9dd6b..45558ba99 100644 --- a/app/styles/registration/base.sass +++ b/app/styles/registration/base.sass @@ -45,7 +45,7 @@ $black-shadow: 0px 2px 1px black font-weight: bold height: 18px font-family: $heading - +linear-gradient(color-stops(#d0413d, #ac322f), top) + +linear-gradient(#d0413d, #ac322f, top) display: block font-size: 21px text-decoration: none @@ -57,11 +57,11 @@ $black-shadow: 0px 2px 1px black bottom: 16px &:hover, &:focus color: #fff - +linear-gradient(color-stops(#ee5a56, #b53633), top) + +linear-gradient(#ee5a56, #b53633, top) box-shadow: 0px 2px 4px #adab9f &:active color: #fff - +linear-gradient(color-stops(#d64541, #ac322f), bottom) + +linear-gradient(#d64541, #ac322f, bottom) text-shadow: -1px -1px -1px #cb5450 .green-button @@ -72,7 +72,7 @@ $black-shadow: 0px 2px 1px black font-weight: bold height: 18px font-family: $heading - +linear-gradient(color-stops(#62AF46, #569E3F), top) + +linear-gradient(#62AF46, #569E3F, top) display: block font-size: 20px text-decoration: none @@ -84,11 +84,11 @@ $black-shadow: 0px 2px 1px black bottom: 13px &:hover, &:focus color: #fff - +linear-gradient(color-stops(#62AF46, #569E3F), top) + +linear-gradient(#62AF46, #569E3F, top) box-shadow: 0px 2px 4px #adab9f &:active color: #fff - +linear-gradient(color-stops(#62AF46, #569E3F), bottom) + +linear-gradient(#62AF46, #569E3F, bottom) /* Overall Styles */ .right diff --git a/app/styles/registration/find_neighbors.sass b/app/styles/registration/find_neighbors.sass index c320d9c24..546638421 100644 --- a/app/styles/registration/find_neighbors.sass +++ b/app/styles/registration/find_neighbors.sass @@ -97,4 +97,4 @@ div#RealFindNeighbors div#find_bottom #invite_friends margin-left: 31px div#RealFindNeighbors div#find_bottom - margin-top: -20px \ No newline at end of file + margin-top: -20px diff --git a/app/styles/registration/registration.sass b/app/styles/registration/registration.sass index 3f610e4cb..9e97ae079 100644 --- a/app/styles/registration/registration.sass +++ b/app/styles/registration/registration.sass @@ -121,4 +121,4 @@ body font-size: 24px font-weight: bold margin-left: 8px - text-shadow: 1px 1px 1px black \ No newline at end of file + text-shadow: 1px 1px 1px black diff --git a/app/styles/registration/sidebar.sass b/app/styles/registration/sidebar.sass index 5af3532e6..0d5ceaa18 100644 --- a/app/styles/registration/sidebar.sass +++ b/app/styles/registration/sidebar.sass @@ -23,4 +23,4 @@ input.neighbors_search #your-pages-list div.page a p height: 27px - overflow: hidden \ No newline at end of file + overflow: hidden diff --git a/app/styles/registration/signup_welcome.sass b/app/styles/registration/signup_welcome.sass index b3c404bb5..4c293bffa 100644 --- a/app/styles/registration/signup_welcome.sass +++ b/app/styles/registration/signup_welcome.sass @@ -69,19 +69,19 @@ li div.check span.page_text border: 1px solid #151f28 color: white text-transform: uppercase - +linear-gradient(color-stops(#2e5274, #1b334a), top) + +linear-gradient(#2e5274, #1b334a, top) box-shadow: 1px 1px 1px rgba(0,0,0,.25) text-shadow: 1px 2px 3px rgba(0,0,0,.65) cursor: pointer margin-top: 0px &:hover, &:focus color: #fff - +linear-gradient(color-stops(#2e5274, #1b334a), top) + +linear-gradient(#2e5274, #1b334a, top) text-shadow: 1px 2px 3px rgba(0,0,0,.65) box-shadow: 0px 2px 4px rgba(0,0,0,.65) &:active color: #fff - +linear-gradient(color-stops(#2e5274, #1b334a), bottom) + +linear-gradient(#2e5274, #1b334a, bottom) text-shadow: -1px -1px -1px rgba(0,0,0,.65) box-shadow: 1px 1px 1px rgba(0,0,0,.25) #buttons a @@ -261,4 +261,4 @@ img.page_img float: left #subscribe_pages a h2 - color: #e9ded0 \ No newline at end of file + color: #e9ded0 diff --git a/app/styles/registration/starter-site.sass b/app/styles/registration/starter-site.sass index 1e428f3c6..db81718b4 100644 --- a/app/styles/registration/starter-site.sass +++ b/app/styles/registration/starter-site.sass @@ -81,24 +81,24 @@ em text-shadow: 0px 2px 0px #424242 .blue margin-right: 20px - +linear-gradient(color-stops(#2e5274, #1b334a)) + +linear-gradient(#2e5274, #1b334a) &:hover, &:focus color: #fff - +linear-gradient(color-stops(#3e6b96, #1b334a), top) + +linear-gradient(#3e6b96, #1b334a, top) box-shadow: inset 0 1px 1px rgba(255,255,255,.5) &:active color: #fff - +linear-gradient(color-stops(#2e5274, #1b334a), bottom) + +linear-gradient(#2e5274, #1b334a, bottom) .red background: $red - +linear-gradient(color-stops(#cc4441, #ac322f)) + +linear-gradient(#cc4441, #ac322f) &:hover, &:focus color: #fff - +linear-gradient(color-stops(#ea4e4a, #ac322f), top) + +linear-gradient(#ea4e4a, #ac322f, top) box-shadow: inset 0 1px 1px rgba(255,255,255,.5) &:active color: #fff - +linear-gradient(color-stops(#cc4441, #ac322f), bottom) + +linear-gradient(#cc4441, #ac322f, bottom) .dropdown width: 300px background: #EEECDF @@ -144,7 +144,7 @@ em text-align: center float: right width: 110px - +linear-gradient(color-stops(#2e5274, #1b334a)) + +linear-gradient(#2e5274, #1b334a) font-weight: bold font-size: 16px margin-right: 15px @@ -157,28 +157,28 @@ em text-shadow: 0px 2px 0px #333 &:hover, &:focus color: #fff - +linear-gradient(color-stops(#3e6b96, #1b334a), top) + +linear-gradient(#3e6b96, #1b334a, top) box-shadow: inset 0 1px 1px rgba(255,255,255,.5) &:active color: #fff - +linear-gradient(color-stops(#2e5274, #1b334a), bottom) + +linear-gradient(#2e5274, #1b334a, bottom) button.signin.facebook width: 148px height: auto margin-right: 12px font-size: 16px padding: 10px 0 8px 0 - +linear-gradient(color-stops(#4e6fb6, #3b5998)) + +linear-gradient(#4e6fb6, #3b5998) -webkit-font-smoothing: antialiased background-color: #3b5998 text-shadow: 0px 2px 0px #333 &:hover, &:focus color: #fff - +linear-gradient(color-stops(#5c83d7, #3b5998), top) + +linear-gradient(#5c83d7, #3b5998, top) box-shadow: inset 0 1px 1px rgba(255,255,255,.5) &:active color: #fff - +linear-gradient(color-stops(#4e6fb6, #3b5998), bottom) + +linear-gradient(#4e6fb6, #3b5998, bottom) p clear: both margin-left: 14px @@ -384,19 +384,19 @@ em border: 1px solid #151f28 color: white text-transform: uppercase - +linear-gradient(color-stops(#2e5274, #1b334a), top) + +linear-gradient(#2e5274, #1b334a, top) box-shadow: 1px 1px 1px rgba(0,0,0,.25) text-shadow: 1px 2px 3px rgba(0,0,0,.65) cursor: pointer margin-top: 12px &:hover, &:focus color: #fff - +linear-gradient(color-stops(#2e5274, #1b334a), top) + +linear-gradient(#2e5274, #1b334a, top) text-shadow: 1px 2px 3px rgba(0,0,0,.65) box-shadow: 0px 2px 4px rgba(0,0,0,.65) &:active color: #fff - +linear-gradient(color-stops(#2e5274, #1b334a), bottom) + +linear-gradient(#2e5274, #1b334a, bottom) text-shadow: -1px -1px -1px rgba(0,0,0,.65) box-shadow: 1px 1px 1px rgba(0,0,0,.25) .facebook diff --git a/app/styles/shared/_replies.css.sass b/app/styles/shared/_replies.css.sass index 6198d2bfe..43988646e 100644 --- a/app/styles/shared/_replies.css.sass +++ b/app/styles/shared/_replies.css.sass @@ -219,7 +219,7 @@ font-weight: bold letter-spacing: 1px font-family: $body - +linear-gradient(color-stops(#d0413d, #ac322f), top) + +linear-gradient(#d0413d, #ac322f, top) display: block font-size: 11px text-decoration: none @@ -236,12 +236,12 @@ margin: 0px 0px 10px 0px &:hover, &:focus color: #fff - +linear-gradient(color-stops(#ee5a56, #b53633), top) + +linear-gradient(#ee5a56, #b53633, top) box-shadow: 0px 2px 4px #adab9f cursor: pointer &:active color: #fff - +linear-gradient(color-stops(#d64541, #ac322f), bottom) + +linear-gradient(#d64541, #ac322f, bottom) text-shadow: 0px 1px 0px #64100D behavior: url("/assets/PIE.htc") @@ -283,4 +283,4 @@ #submit_text display: none .waiting - cursor: wait !important \ No newline at end of file + cursor: wait !important diff --git a/app/styles/shared/_wire.css.sass b/app/styles/shared/_wire.css.sass index 37c4d35da..364885472 100644 --- a/app/styles/shared/_wire.css.sass +++ b/app/styles/shared/_wire.css.sass @@ -607,4 +607,4 @@ div.post-action.clear ul.actions li ul li display: table-cell img - width: 100% \ No newline at end of file + width: 100% diff --git a/app/styles/shared/buttons.css.sass b/app/styles/shared/buttons.css.sass index 4602cc445..094d5a0b8 100644 --- a/app/styles/shared/buttons.css.sass +++ b/app/styles/shared/buttons.css.sass @@ -35,7 +35,7 @@ text-shadow: 0px -1px 0px #64100D font-weight: bold font-family: $heading - +linear-gradient(color-stops(#d0413d, #ac322f), top) + +linear-gradient(#d0413d, #ac322f, top) display: block font-size: 21px text-decoration: none @@ -44,11 +44,11 @@ padding: 10px 15px &:hover, &:focus color: #fff - +linear-gradient(color-stops(#ee5a56, #b53633), top) + +linear-gradient(#ee5a56, #b53633, top) box-shadow: 0px 2px 4px rgba(0,0,0,0.5) &:active color: #fff - +linear-gradient(color-stops(#d64541, #ac322f), bottom) + +linear-gradient(#d64541, #ac322f, bottom) text-shadow: 0px 1px 0px #64100D //@mixin red-button +shiny-button diff --git a/app/styles/starter_site.css.sass b/app/styles/starter_site.css.sass index 674802600..453b40590 100644 --- a/app/styles/starter_site.css.sass +++ b/app/styles/starter_site.css.sass @@ -69,4 +69,4 @@ z-index: 10000 position: absolute right: 0px - top: 22px \ No newline at end of file + top: 22px diff --git a/app/styles/starter_site/_colors.css.sass b/app/styles/starter_site/_colors.css.sass index 28087ffe0..e6e3ae976 100644 --- a/app/styles/starter_site/_colors.css.sass +++ b/app/styles/starter_site/_colors.css.sass @@ -10,4 +10,4 @@ $frontPageBlue: #3b6085 $lightGray: #ddd $mediumGray: #888 $darkGray: #444545 -$textColor: #222 \ No newline at end of file +$textColor: #222 diff --git a/app/styles/starter_site/_measurements.css.sass b/app/styles/starter_site/_measurements.css.sass index 5a885472e..bd3a878a0 100644 --- a/app/styles/starter_site/_measurements.css.sass +++ b/app/styles/starter_site/_measurements.css.sass @@ -1,2 +1,2 @@ $inputBoxWidth: 350px -$labelWidth: 80px \ No newline at end of file +$labelWidth: 80px diff --git a/app/styles/starter_site/_mixins.css.sass b/app/styles/starter_site/_mixins.css.sass index b0ed571d5..7a1e5b049 100644 --- a/app/styles/starter_site/_mixins.css.sass +++ b/app/styles/starter_site/_mixins.css.sass @@ -9,4 +9,4 @@ @mixin headline_font font-family: 'Rockwell', 'AdelleBasicBold', Georgia, Times, serif - word-spacing: 2px \ No newline at end of file + word-spacing: 2px diff --git a/app/styles/starter_site/_reset.css.sass b/app/styles/starter_site/_reset.css.sass index 81dc5a19e..d32973e3d 100644 --- a/app/styles/starter_site/_reset.css.sass +++ b/app/styles/starter_site/_reset.css.sass @@ -41,4 +41,4 @@ del table :border-collapse collapse - :border-spacing 0 \ No newline at end of file + :border-spacing 0 diff --git a/app/styles/starter_site/_tabs.css.sass b/app/styles/starter_site/_tabs.css.sass index 63fdd5f93..199d67864 100644 --- a/app/styles/starter_site/_tabs.css.sass +++ b/app/styles/starter_site/_tabs.css.sass @@ -116,4 +116,4 @@ font-size: 14px li margin: 15px 0px - \ No newline at end of file + diff --git a/app/styles/tour.sass b/app/styles/tour.sass index 13af694c7..7ea638a4f 100644 --- a/app/styles/tour.sass +++ b/app/styles/tour.sass @@ -45,7 +45,7 @@ strong font-weight: bold height: 18px font-family: $heading - +linear-gradient(color-stops(#d0413d, #ac322f), top) + +linear-gradient(#d0413d, #ac322f, top) display: block font-size: 21px text-decoration: none @@ -57,11 +57,11 @@ strong bottom: 16px &:hover, &:focus color: #fff - +linear-gradient(color-stops(#ee5a56, #b53633), top) + +linear-gradient(#ee5a56, #b53633, top) box-shadow: 0px 2px 4px #adab9f &:active color: #fff - +linear-gradient(color-stops(#d64541, #ac322f), bottom) + +linear-gradient(#d64541, #ac322f, bottom) text-shadow: -1px -1px -1px #cb5450 .green-button @@ -72,7 +72,7 @@ strong font-weight: bold height: 18px font-family: $heading - +linear-gradient(color-stops(#62AF46, #569E3F), top) + +linear-gradient(#62AF46, #569E3F, top) display: block font-size: 20px text-decoration: none @@ -84,11 +84,11 @@ strong bottom: 13px &:hover, &:focus color: #fff - +linear-gradient(color-stops(#62AF46, #569E3F), top) + +linear-gradient(#62AF46, #569E3F, top) box-shadow: 0px 2px 4px #adab9f &:active color: #fff - +linear-gradient(color-stops(#62AF46, #569E3F), bottom) + +linear-gradient(#62AF46, #569E3F, bottom) .blue-button -webkit-font-smoothing: antialiased @@ -101,19 +101,19 @@ strong border: 1px solid #151f28 color: white text-transform: uppercase - +linear-gradient(color-stops(#2e5274, #1b334a), top) + +linear-gradient(#2e5274, #1b334a, top) box-shadow: 1px 1px 1px rgba(0,0,0,.25) text-shadow: 1px 2px 3px rgba(0,0,0,.65) cursor: pointer margin-top: 0px &:hover, &:focus color: #fff - +linear-gradient(color-stops(#2e5274, #1b334a), top) + +linear-gradient(#2e5274, #1b334a, top) text-shadow: 1px 2px 3px rgba(0,0,0,.65) box-shadow: 0px 2px 4px rgba(0,0,0,.65) &:active color: #fff - +linear-gradient(color-stops(#2e5274, #1b334a), bottom) + +linear-gradient(#2e5274, #1b334a, bottom) text-shadow: -1px -1px -1px rgba(0,0,0,.65) box-shadow: 1px 1px 1px rgba(0,0,0,.25) @@ -818,18 +818,18 @@ img.page_img font: bold 16px/0 $heading margin-left: 10px border: 1px solid #151f28 - +linear-gradient(color-stops(#2e5274, #1b334a), top) + +linear-gradient(#2e5274, #1b334a, top) box-shadow: 1px 1px 1px rgba(0,0,0,.25) text-shadow: 1px 2px 3px rgba(0,0,0,.65) cursor: pointer &:hover, &:focus color: #fff - +linear-gradient(color-stops(#2e5274, #1b334a), top) + +linear-gradient(#2e5274, #1b334a, top) text-shadow: 1px 2px 3px rgba(0,0,0,.65) box-shadow: 0px 2px 4px rgba(0,0,0,.65) &:active color: #fff - +linear-gradient(color-stops(#2e5274, #1b334a), bottom) + +linear-gradient(#2e5274, #1b334a, bottom) text-shadow: -1px -1px -1px rgba(0,0,0,.65) box-shadow: 1px 1px 1px rgba(0,0,0,.25) img diff --git a/app/stylesheets/application.sass b/app/stylesheets/application.sass index 44f7d1fa2..3420893b4 100644 --- a/app/stylesheets/application.sass +++ b/app/stylesheets/application.sass @@ -1,30 +1,18 @@ -/************************************************************************************** -/** Requires self -/************************************************************************************** - -= require_self - - -/************************************************************************************** -/** Main Compass extensions -/************************************************************************************** - -@import "compass" - - /************************************************************************************** /** Base files include overall skinning, resets, global, and foundation styling /** These are very generic and overall, no really specific rules should go in here /************************************************************************************** +@import compass/css3 + @import "base/reset" @import "base/colors" @import "base/gradients" @import "base/typography" +@import "base/mixins" @import "base/buttons" @import "base/inputs" @import "base/dropkick" -@import "base/mixins" @import "base/modals" @import "base/chosen" // @import "base/pie" @@ -103,4 +91,4 @@ //Logged In @import "non-modular/inbox" @import "non-modular/account-page" -@import "non-modular/settings" \ No newline at end of file +@import "non-modular/settings" diff --git a/app/stylesheets/base/_chosen.scss b/app/stylesheets/base/_chosen.scss index 37fc5b6e5..a3c51d13a 100644 --- a/app/stylesheets/base/_chosen.scss +++ b/app/stylesheets/base/_chosen.scss @@ -396,4 +396,4 @@ background-size: 52px 37px !important; } } -/* @end */ \ No newline at end of file +/* @end */ diff --git a/app/stylesheets/base/_colors.sass b/app/stylesheets/base/_colors.sass index eaa3dab01..7e294736e 100644 --- a/app/stylesheets/base/_colors.sass +++ b/app/stylesheets/base/_colors.sass @@ -57,4 +57,4 @@ $baseBlue: #4880b1 $baseGray: #eee $baseText: #656565 $textColor: #444 -$titleColor: #222 \ No newline at end of file +$titleColor: #222 diff --git a/app/stylesheets/base/_mixins.sass b/app/stylesheets/base/_mixins.sass index 18645e03b..cc0a5c17f 100644 --- a/app/stylesheets/base/_mixins.sass +++ b/app/stylesheets/base/_mixins.sass @@ -28,8 +28,8 @@ @mixin starBullet margin: 0 3px 15px 0px - background: image-url('bullet-star.png') - background-position: 0px 0px + background: image-url('bullet-star.png') + background-position: 0px 0px background-repeat: no-repeat line-height: 1.5 font-weight: normal @@ -56,7 +56,7 @@ padding: 4px 7px background-color: $offWhite border: 1px solid $lightGray - &:hover + &:hover border-color: #888 @mixin seam @@ -79,3 +79,15 @@ resize: none -webkit-font-smoothing: antialiased @include box-shadow(0 0 0 1px #8b2324, 2px 2px 5px #ccc inset) + +@mixin border-radius($radius) + +border-top-radius($radius) + +border-right-radius($radius) + +border-bottom-radius($radius) + +border-left-radius($radius) + +@mixin linear-gradient($c1, $c2, $direction:"") + @if $direction != "" + +background-image(linear-gradient($direction, $c1, $c2)) + @else + +background-image(linear-gradient($c1, $c2)) diff --git a/app/stylesheets/base/_pie.scss b/app/stylesheets/base/_pie.scss index 26a89a810..1e00754d4 100644 --- a/app/stylesheets/base/_pie.scss +++ b/app/stylesheets/base/_pie.scss @@ -71,4 +71,4 @@ $pie-base-class: pie-element; .has-gradient { @include pie-element(relative); @include background(linear-gradient(#f00, #00f)); -} \ No newline at end of file +} diff --git a/app/stylesheets/base/_typography.sass b/app/stylesheets/base/_typography.sass index ffeaaf28f..1056fbe6d 100644 --- a/app/stylesheets/base/_typography.sass +++ b/app/stylesheets/base/_typography.sass @@ -6,4 +6,4 @@ $heading: 'Rokkitt', RockwellSTD, Rockwell, sans-serif $body: Helvetica Neue, Helvetica, Tahoma, serif $Ultra: 'Ultra' $Yellowtail: 'Yellowtail' -$Rokkitt: 'Rokkitt' \ No newline at end of file +$Rokkitt: 'Rokkitt' diff --git a/app/stylesheets/layout/_inbox.sass b/app/stylesheets/layout/_inbox.sass index 02419e4c7..bc8fe193f 100644 --- a/app/stylesheets/layout/_inbox.sass +++ b/app/stylesheets/layout/_inbox.sass @@ -33,7 +33,7 @@ body.inbox, body.feed_inbox, body.outbox height: 50px ul.list - +min-height(500px) + min-height: 500px .clear clear: both diff --git a/app/stylesheets/layout/_registration.sass b/app/stylesheets/layout/_registration.sass index cbf536e8d..808cc1623 100644 --- a/app/stylesheets/layout/_registration.sass +++ b/app/stylesheets/layout/_registration.sass @@ -98,7 +98,7 @@ border: 1px solid #151f28 color: white text-transform: uppercase - +linear-gradient(color-stops(#2e5274, #1b334a), top) + +linear-gradient(#2e5274, #1b334a, top) box-shadow: 1px 1px 1px rgba(0,0,0,.25) text-shadow: 1px 2px 3px rgba(0,0,0,.65) cursor: pointer @@ -107,12 +107,12 @@ text-align: center &:hover, &:focus color: #fff - +linear-gradient(color-stops(#2e5274, #1b334a), top) + +linear-gradient(#2e5274, #1b334a, top) text-shadow: 1px 2px 3px rgba(0,0,0,.65) box-shadow: 0px 2px 4px rgba(0,0,0,.65) &:active color: #fff - +linear-gradient(color-stops(#2e5274, #1b334a), bottom) + +linear-gradient(#2e5274, #1b334a, bottom) text-shadow: -1px -1px -1px rgba(0,0,0,.65) box-shadow: 1px 1px 1px rgba(0,0,0,.25) #dk_container_hear diff --git a/app/stylesheets/layout/_replies.sass b/app/stylesheets/layout/_replies.sass index df47e22d4..c5f77323f 100644 --- a/app/stylesheets/layout/_replies.sass +++ b/app/stylesheets/layout/_replies.sass @@ -107,4 +107,4 @@ display: none clear: both width: 55px - margin: 0px 0px 10px 0px \ No newline at end of file + margin: 0px 0px 10px 0px diff --git a/app/stylesheets/layout/_sidebar.sass b/app/stylesheets/layout/_sidebar.sass index 7ba302975..db6a680bf 100644 --- a/app/stylesheets/layout/_sidebar.sass +++ b/app/stylesheets/layout/_sidebar.sass @@ -118,4 +118,4 @@ float: left img width: 100% - height: 100% \ No newline at end of file + height: 100% diff --git a/app/stylesheets/login.scss b/app/stylesheets/login.scss index 917e16714..43efee149 100644 --- a/app/stylesheets/login.scss +++ b/app/stylesheets/login.scss @@ -1 +1 @@ -html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline}body{line-height:1}ol,ul{list-style:none}table{border-collapse:collapse;border-spacing:0}caption,th,td{text-align:left;font-weight:normal;vertical-align:middle}q,blockquote{quotes:none}q:before,q:after,blockquote:before,blockquote:after{content:"";content:none}a img{border:none}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section,summary{display:block}body{text-rendering:optimizeLegibility}#win,#fail{padding:7px 10px;font-family:Helvetica,Arial,Verdana,sans-serif;font-size:12px;font-weight:bold;margin-bottom:10px;-moz-border-radius:5px;-webkit-border-radius:5px;-o-border-radius:5px;-ms-border-radius:5px;-khtml-border-radius:5px;border-radius:5px}#win{background-color:#249c3a;color:#fff}nav,header,footer,aside{display:block}hr.staple{width:40px;margin:20px auto}strong{font-weight:bold}em{font-style:italic}#header{background-color:#1b334a;height:31px;padding:15px 0px;margin:0;height:30px;width:100%;padding:18px 0px;z-index:1000;position:fixed;top:0px;left:0px;right:0px;box-shadow:0px 3px 5px rgba(0,0,0,0.25);border-bottom:1px solid #000}#header .community-name{width:260px;float:left;height:67px;position:relative;border-left:1px solid #31465b;box-shadow:inset -1px 1px 0 0 #151f28;border-right:1px solid #31465b}#header .community-name .button-wrapper{background-image:url("shared/redesign/button-tail.png");background-color:transparent;background-repeat:no-repeat;background-position:0px -2px;overflow:hidden;width:195px;height:35px;margin:16px 15px 0px 0px;float:right}#header .community-name .button-wrapper:hover{background-position:0px -42px}#header .community-name .button-wrapper:hover .red-button{box-shadow:inset 0px 1px 0px rgba(255,255,255,0.35);background-image:-webkit-gradient(linear,50% 0%,50% 100%,color-stop(0%,#ee5a56),color-stop(100%,#b53633));background-image:-webkit-linear-gradient(top,#ee5a56,#b53633);background-image:-moz-linear-gradient(top,#ee5a56,#b53633);background-image:-o-linear-gradient(top,#ee5a56,#b53633);background-image:-ms-linear-gradient(top,#ee5a56,#b53633);background-image:linear-gradient(top,#ee5a56,#b53633)}#header .community-name .button-wrapper:active{background-position:0px -82px}#header .community-name .button-wrapper:active .red-button{box-shadow:inset 0px 1px 0px rgba(255,255,255,0.2);background-image:-webkit-gradient(linear,50% 100%,50% 0%,color-stop(0%,#d64541),color-stop(100%,#ac322f));background-image:-webkit-linear-gradient(bottom,#d64541,#ac322f);background-image:-moz-linear-gradient(bottom,#d64541,#ac322f);background-image:-o-linear-gradient(bottom,#d64541,#ac322f);background-image:-ms-linear-gradient(bottom,#d64541,#ac322f);background-image:linear-gradient(bottom,#d64541,#ac322f);text-shadow:0px 1px 0px #64100d}#header .community-name .button-wrapper .red-button{width:170px;font-size:17px;text-align:center;padding:10px 9px 6px;font-weight:normal;float:right;border:0px;border-bottom:2px solid rgba(0,0,0,0.75);box-shadow:inset 0px -1px 0px rgba(255,255,255,0.25);behavior:url("/assets/PIE.htc")}#header .community-name .button-wrapper .red-button:hover,#header .community-name .button-wrapper .red-button:focus{box-shadow:inset 0px 1px 0px rgba(255,255,255,0.35)}#header .community-name .button-wrapper .red-button:active{box-shadow:inset 0px 1px 0px rgba(255,255,255,0.2)}#header .community-name h1{color:#fff;text-shadow:0px 2px 1px #000;font-size:32px;letter-spacing:-2px;margin-top:21px;font-family:"Rokkitt",RockwellSTD,Rockwell,sans-serif;float:left;text-align:left;font-weight:bold;margin-left:20px;width:auto}#header .community-name h1 a{text-decoration:none;color:#fff}#header .community-name h1 .cp_logo{width:25px}#header #nav_wrapper{width:910px;margin:0 auto;position:relative;top:-19px;height:67px;border-left:1px solid #151f28;border-right:1px solid #31465b;box-shadow:inset -1px 1px 0 0 #151f28;behavior:url("/assets/PIE.htc")}#header #nav_wrapper #logo{margin-top:10px;text-decoration:none;text-align:left;color:#fff;font-size:30px;line-height:30px;text-shadow:#000 -1px 1px 0}#header #nav_wrapper #logo span{font-family:"Rokkitt",RockwellSTD,Rockwell,sans-serif;color:#ac322f;font-size:25px;position:relative;bottom:1px}#header #nav_wrapper #logo img{vertical-align:bottom}#header #nav_wrapper .nav{float:right;width:647px}#header #nav_wrapper .nav #search-header{margin-left:15px;margin-right:10px;margin-top:16px;width:463px;font-size:18px;padding:7px 10px 5px;border-radius:4px;background-color:rgba(0,0,0,0.1);color:#fcfaf4;font-weight:bold;font-family:"Rokkitt",RockwellSTD,Rockwell,sans-serif;text-shadow:1px 1px 0px rgba(0,0,0,0.65);-webkit-font-smoothing:antialiased;border:1px solid #151f28;box-shadow:0px 1px 0px rgba(255,255,255,0.15),inset 1px 1px 3px rgba(0,0,0,0.2);behavior:url("/assets/PIE.htc");float:left}#header #nav_wrapper .nav #search-header:active,#header #nav_wrapper .nav #search-header:focus{outline:none;background-color:rgba(92,143,189,0.15);color:#fff;text-shadow:none;box-shadow:inset 2px 2px 4px rgba(0,0,0,0.2),0px 1px 0px rgba(255,255,255,0.15);behavior:url("/assets/PIE.htc")}#header #nav_wrapper .nav #search-header:active:focus::-webkit-input-placeholder,#header #nav_wrapper .nav #search-header:focus:focus::-webkit-input-placeholder{color:#fff!important;text-shadow:none;behavior:url("/assets/PIE.htc")}#header #nav_wrapper .nav #search-header::-webkit-input-placeholder{color:#fcfaf4!important;text-shadow:1px 1px 0px rgba(0,0,0,0.65);behavior:url("/assets/PIE.htc")}#header #nav_wrapper .nav li{margin-top:5px;height:30px;vertical-align:middle;padding-top:12px;float:left;margin-right:16px;display:block}#header #nav_wrapper .nav li.my-activity{position:relative;padding-right:9px}#header #nav_wrapper .nav li.my-activity .my-activity-sub{position:absolute;display:none;background:#fff;color:#505250;width:240px;margin-top:13px;padding:10px;font-family:Helvetica Neue,Helvetica,Tahoma,serif;font-size:13px;right:-1px;border:1px solid #d7d7d7;border-top:0px;-moz-border-radius-bottomright:5px;-webkit-border-bottom-right-radius:5px;-o-border-bottom-right-radius:5px;-ms-border-bottom-right-radius:5px;-khtml-border-bottom-right-radius:5px;border-bottom-right-radius:5px;-moz-border-radius-topleft:5px;-webkit-border-top-left-radius:5px;-o-border-top-left-radius:5px;-ms-border-top-left-radius:5px;-khtml-border-top-left-radius:5px;border-top-left-radius:5px;-moz-border-radius-bottomleft:5px;-webkit-border-bottom-left-radius:5px;-o-border-bottom-left-radius:5px;-ms-border-bottom-left-radius:5px;-khtml-border-bottom-left-radius:5px;border-bottom-left-radius:5px;z-index:9999}#header #nav_wrapper .nav li.my-activity .my-activity-sub li{padding:5px 0 5px 0;margin:0;height:auto;line-height:20px;width:100%;border-bottom:1px solid #bac0c6}#header #nav_wrapper .nav li.my-activity .my-activity-sub li:last-child{border-bottom:3px solid #bac0c6}#header #nav_wrapper .nav li.my-activity .my-activity-sub li.community-percent{padding:5px;font-weight:bold;width:230px}#header #nav_wrapper .nav li.my-activity .my-activity-sub .percent-layer{background:url(/assets/house-overlay.png) no-repeat;position:absolute;height:23px;width:40px}#header #nav_wrapper .nav li.my-activity .my-activity-sub li.community-percent{background:none}#header #nav_wrapper .nav li.my-activity .my-activity-sub li.community-percent p{margin-bottom:15px}#header #nav_wrapper .nav li.my-activity .my-activity-sub div.block{background:#bac0c6;padding:6px 0;margin:4px}#header #nav_wrapper .nav li.my-activity .my-activity-sub li.invite:hover{background:#fff}#header #nav_wrapper .nav li.my-activity .my-activity-sub span.this-week{float:right}#header #nav_wrapper .nav li.my-activity .my-activity-sub span.all-time{float:right}#header #nav_wrapper .nav li.my-activity .my-activity-sub span.percent{float:right;font-weight:bold;font-size:22px;font-family:Helvetica Neue,Helvetica,Tahoma,serif;margin-top:-4px;padding:5px;color:#fff;background:#1b334a;-moz-border-radius:3px;-webkit-border-radius:3px;-o-border-radius:3px;-ms-border-radius:3px;-khtml-border-radius:3px;border-radius:3px}#header #nav_wrapper .nav li.my-activity .my-activity-sub span.sub-total-title{text-transform:uppercase;font-weight:bold;padding-left:5px}#header #nav_wrapper .nav li.my-activity .my-activity-sub span.sub-total-all{float:right;width:27px;margin-right:5px;font-weight:bold;font-size:14px;text-align:center!importantt}#header #nav_wrapper .nav li.my-activity .my-activity-sub span.sub-total-week{float:right;width:27px;margin-right:16px;text-align:center!important;font-size:14px;font-weight:bold}#header #nav_wrapper .nav li.my-activity .my-activity-sub span.invite{color:#ac322f;text-decoration:underline}#header #nav_wrapper .nav li.my-activity .my-activity-sub p{line-height:19px;margin-bottom:13px}#header #nav_wrapper .nav li.my-activity .my-activity-sub .red{color:#ac322f;font-weight:bold}#header #nav_wrapper .nav li.my-activity .my-activity-sub h4{font-size:11px;font-weight:bold;text-transform:uppercase;border-bottom:3px solid #abb1b7;padding-bottom:7px;color:#3b3b3b}#header #nav_wrapper .nav li.my-activity .my-activity-sub .sub-left{float:left;width:240px;line-height:10px;font-size:12px}#header #nav_wrapper .nav li.my-activity .my-activity-sub .sub-right{float:left;width:240px;font-size:12px;line-height:10px;margin-top:20px}#header #nav_wrapper .nav li.my-activity .my-activity-sub .sub-title{padding-left:5px;font-weight:bold;color:#1b334a}#header #nav_wrapper .nav li.my-activity .my-activity-sub .sub-notif{float:right;font-weight:bold;color:#1b334a;padding:0 4px;-moz-border-radius:3px;-webkit-border-radius:3px;-o-border-radius:3px;-ms-border-radius:3px;-khtml-border-radius:3px;border-radius:3px}#header #nav_wrapper .nav li.my-activity .my-activity-sub .this-week,#header #nav_wrapper .nav li.my-activity .my-activity-sub .all-time{font-size:10px;margin-top:-27px;float:right;text-align:center}#header #nav_wrapper .nav li.my-activity .my-activity-sub .this-week{width:27px;margin-right:48px}#header #nav_wrapper .nav li.my-activity .my-activity-sub .all-time{width:22px;margin-right:9px}#header #nav_wrapper .nav li.my-activity .my-activity-sub .sub-notif.one{margin-right:3px;width:27px;text-align:center!important}#header #nav_wrapper .nav li.my-activity .my-activity-sub .sub-notif.two{margin-right:7px;width:27px;text-align:center!important}#header #nav_wrapper .nav li.my-activity:hover{border:1px solid #d7d7d7}#header #nav_wrapper .nav li.selected-nav{border:#1b334a 1px solid}#header #nav_wrapper .nav li.selected-nav:hover{background:#fff;color:#1b334a;border:#fff 1px solid;border:1px solid #d7d7d7;border-bottom:0px;-moz-border-radius:5px 5px 0 0;-webkit-border-radius:5px 5px 0 0;-o-border-radius:5px 5px 0 0;-ms-border-radius:5px 5px 0 0;-khtml-border-radius:5px 5px 0 0;border-radius:5px 5px 0 0}#header #nav_wrapper .nav li.selected-nav:hover a{text-shadow:none;color:#1b334a}#header #nav_wrapper .nav li.selected-nav:hover .my-activity-sub{display:block}#header #nav_wrapper .nav li.invite{padding-right:9px}#header #nav_wrapper .nav li.invite a{padding:3px 0px 3px 9px}#header #nav_wrapper .nav li.inbox .inbox-sub{display:none;width:500px;-moz-border-radius:5px 0 5px 5px;-webkit-border-radius:5px 0 5px 5px;-o-border-radius:5px 0 5px 5px;-ms-border-radius:5px 0 5px 5px;-khtml-border-radius:5px 0 5px 5px;border-radius:5px 0 5px 5px;font-family:Helvetica Neue,Helvetica,Tahoma,serif;overflow-x:hidden;position:relative;left:-425px;z-index:9999;height:250px;padding:10px;background:#fff}#header #nav_wrapper .nav li.inbox .inbox-sub .inbox-left{float:left;width:110px}#header #nav_wrapper .nav li.inbox .inbox-sub .inbox-left .inbox-nav li{margin:0;padding:0;float:left;font-size:11px;height:11px;font-weight:bold;text-transform:uppercase}#header #nav_wrapper .nav li.inbox .inbox-sub .inbox-right{float:right}#header #nav_wrapper .nav li.register_feed{margin-right:35px}#header #nav_wrapper .nav .avatar-container{height:18px;width:18px;margin-right:8px;float:left;border-radius:2px;margin-top:-1px;background-size:cover;background-position:center center;behavior:url("/assets/PIE.htc")}#header #nav_wrapper .nav li.account{-webkit-font-smoothing:antialiased;background:#1b334a;width:100px;padding:10px 8px 6px 8px;height:20px;float:right;margin-right:16px;margin-top:-2px!important;font-family:"Rokkitt",RockwellSTD,Rockwell,sans-serif;font-size:16px;font-weight:normal;border:1px solid #151f28!important;color:rgba(255,255,255,0.65);text-transform:capitalize;border-radius:5px;top:17px;background-image:-webkit-gradient(linear,50% 0%,50% 100%,color-stop(0%,#2e5274),color-stop(100%,#1b334a));background-image:-webkit-linear-gradient(top,#2e5274,#1b334a);background-image:-moz-linear-gradient(top,#2e5274,#1b334a);background-image:-o-linear-gradient(top,#2e5274,#1b334a);background-image:-ms-linear-gradient(top,#2e5274,#1b334a);background-image:linear-gradient(top,#2e5274,#1b334a);box-shadow:0px 1px 3px rgba(0,0,0,0.25),inset 0px -1px 0px rgba(255,255,255,0.15);cursor:pointer;position:relative;z-index:800;behavior:url("/assets/PIE.htc")}#header #nav_wrapper .nav li.account a{color:#fff;text-shadow:none}#header #nav_wrapper .nav li.account:hover,#header #nav_wrapper .nav li.account:focus{color:rgba(255,255,255,0.65);height:25px;border-bottom:0px;box-shadow:0px 2px 2px rgba(0,0,0,0.4);-moz-border-radius-bottomright:0px;-webkit-border-bottom-right-radius:0px;-o-border-bottom-right-radius:0px;-ms-border-bottom-right-radius:0px;-khtml-border-bottom-right-radius:0px;border-bottom-right-radius:0px;-moz-border-radius-bottomleft:0px;-webkit-border-bottom-left-radius:0px;-o-border-bottom-left-radius:0px;-ms-border-bottom-left-radius:0px;-khtml-border-bottom-left-radius:0px;border-bottom-left-radius:0px;z-index:900;behavior:url("/assets/PIE.htc")}#header #nav_wrapper .nav li.account:hover ul.account-sub,#header #nav_wrapper .nav li.account:focus ul.account-sub{display:block;z-index:100}#header #nav_wrapper .nav li.account:hover span.arrow,#header #nav_wrapper .nav li.account:focus span.arrow{color:rgba(255,255,255,0.65);text-shadow:-1px -1px 0px rgba(0,0,0,0.85)}#header #nav_wrapper .nav li.account span.arrow{font-size:17px;position:absolute;top:9px;right:10px;color:rgba(0,0,0,0.8);font-weight:bold;text-shadow:1px 1px 0px rgba(255,255,255,0.25);-webkit-font-smoothing:antialiased}#header #nav_wrapper .nav li.account ul.account-sub{position:absolute;display:none;background-color:#1b334a;box-shadow:0px 2px 2px rgba(0,0,0,0.4),inset 0px -1px 0px rgba(255,255,255,0.15);width:155px;margin-top:15px;font-family:"Rokkitt",RockwellSTD,Rockwell,sans-serif;text-shadow:1px 1px 1px #000;right:-1px;border:1px solid #151f28;-moz-border-radius-topright:0px;-webkit-border-top-right-radius:0px;-o-border-top-right-radius:0px;-ms-border-top-right-radius:0px;-khtml-border-top-right-radius:0px;border-top-right-radius:0px;-moz-border-radius-bottomright:5px;-webkit-border-bottom-right-radius:5px;-o-border-bottom-right-radius:5px;-ms-border-bottom-right-radius:5px;-khtml-border-bottom-right-radius:5px;border-bottom-right-radius:5px;-moz-border-radius-topleft:5px;-webkit-border-top-left-radius:5px;-o-border-top-left-radius:5px;-ms-border-top-left-radius:5px;-khtml-border-top-left-radius:5px;border-top-left-radius:5px;-moz-border-radius-bottomleft:5px;-webkit-border-bottom-left-radius:5px;-o-border-bottom-left-radius:5px;-ms-border-bottom-left-radius:5px;-khtml-border-bottom-left-radius:5px;border-bottom-left-radius:5px;z-index:100;padding:0;behavior:url("/assets/PIE.htc")}#header #nav_wrapper .nav li.account ul.account-sub li{margin:0;height:auto;float:none;width:155px;padding:0;border-bottom:1px solid rgba(0,0,0,0.4);border-top:1px solid rgba(255,255,255,0.1)}#header #nav_wrapper .nav li.account ul.account-sub li:first-child{border-top:0px none;-moz-border-radius-topleft:5px;-webkit-border-top-left-radius:5px;-o-border-top-left-radius:5px;-ms-border-top-left-radius:5px;-khtml-border-top-left-radius:5px;border-top-left-radius:5px;box-shadow:inset 0px 1px 0px rgba(255,255,255,0.1);padding-top:2px}#header #nav_wrapper .nav li.account ul.account-sub li:last-child{border-bottom:0px none}#header #nav_wrapper .nav li.account ul.account-sub li:hover{background-color:rgba(92,143,189,0.3)}#header #nav_wrapper .nav li.account ul.account-sub li a{margin:0;padding:10px 10px 9px 10px;font-family:"Rokkitt",RockwellSTD,Rockwell,sans-serif;font-size:16px;font-weight:normal;color:rgba(255,255,255,0.65);display:block;width:135px;height:100%;position:relative}#header #nav_wrapper .nav li.account ul.account-sub li a span.inbox_number{color:rgba(255,255,255,0.65);border-radius:30px;padding:3px 4px 4px 4px;float:right;right:10px;top:7px;text-align:center;min-width:15px;margin-right:0px;background-color:rgba(0,0,0,0.25);box-shadow:0px 1px 0px rgba(255,255,255,0.15),inset 1px 1px 1px rgba(0,0,0,0.45);font-size:11px;font-weight:bold;font-family:Helvetica Neue,Helvetica,Tahoma,serif;position:absolute}#header #nav_wrapper .nav li.account ul.account-sub li a:hover{color:#fff}#header #nav_wrapper .nav li.account ul.account-sub li a:hover span.inbox_number{color:#fff;text-shadow:1px 1px 0px #000}#header #nav_wrapper .nav .number{background:#d5d5d5;color:#ac322f;font-family:Helvetica Neue,Helvetica,Tahoma,serif;font-size:13px;text-shadow:1px #fff;margin-left:9px;font-weight:bold;float:left;padding:3px 5px;-moz-border-radius:3px;-webkit-border-radius:3px;-o-border-radius:3px;-ms-border-radius:3px;-khtml-border-radius:3px;border-radius:3px;text-align:center}#header #nav_wrapper .nav .letter{background:url(/assets/mail-3e9f7fa838fe20febc6baf539662142c.png) no-repeat;height:25px;width:28px;float:left;margin-top:-5px}#header #nav_wrapper .nav .file{background:url(/assets/file-dc4556c7a4920b72423843b77d8c6af0.png) no-repeat;height:25px;width:21px;float:left}#header #nav_wrapper .nav img.avatar{float:left;margin-top:-2px;border-radius:5px;margin-left:8px}#header #nav_wrapper .nav div.user-feeds{display:inline;position:relative;padding-top:13px;height:22px;vertical-align:top}#header #nav_wrapper .nav div.user-feeds h4{font-size:14px;color:#cee7fe;font-weight:normal;height:20px;width:66px;font-family:"Rokkitt",RockwellSTD,Rockwell,sans-serif;display:inline;vertical-align:top;padding:3px 10px;text-decoration:none;text-shadow:#000 1px 1px 0px}#header #nav_wrapper .nav div.user-feeds ul{display:none;top:30px;right:4px;position:absolute;z-index:1000;width:148px;background-color:#fff;color:#3b6085!important;border:1px solid #3b6085;-moz-border-radius-bottomleft:5px;-webkit-border-bottom-left-radius:5px;-o-border-bottom-left-radius:5px;-ms-border-bottom-left-radius:5px;-khtml-border-bottom-left-radius:5px;border-bottom-left-radius:5px;-moz-border-radius-bottomright:5px;-webkit-border-bottom-right-radius:5px;-o-border-bottom-right-radius:5px;-ms-border-bottom-right-radius:5px;-khtml-border-bottom-right-radius:5px;border-bottom-right-radius:5px;-moz-border-radius-topleft:5px;-webkit-border-top-left-radius:5px;-o-border-top-left-radius:5px;-ms-border-top-left-radius:5px;-khtml-border-top-left-radius:5px;border-top-left-radius:5px}#header #nav_wrapper .nav div.user-feeds ul li{padding:5px 5px 3px;border-bottom:1px solid #3b6085}#header #nav_wrapper .nav div.user-feeds ul li:first-child{-moz-border-radius-topleft:5px;-webkit-border-top-left-radius:5px;-o-border-top-left-radius:5px;-ms-border-top-left-radius:5px;-khtml-border-top-left-radius:5px;border-top-left-radius:5px}#header #nav_wrapper .nav div.user-feeds ul li:last-child{-moz-border-radius-bottomleft:5px;-webkit-border-bottom-left-radius:5px;-o-border-bottom-left-radius:5px;-ms-border-bottom-left-radius:5px;-khtml-border-bottom-left-radius:5px;border-bottom-left-radius:5px;-moz-border-radius-bottomright:5px;-webkit-border-bottom-right-radius:5px;-o-border-bottom-right-radius:5px;-ms-border-bottom-right-radius:5px;-khtml-border-bottom-right-radius:5px;border-bottom-right-radius:5px;border-bottom:0px}#header #nav_wrapper .nav div.user-feeds ul li:hover{background-color:#eee}#header #nav_wrapper .nav div.user-feeds ul li:hover a{color:#3b6085;text-shadow:#aaa 0px 0px 1px;background:#eee}#header #nav_wrapper .nav div.user-feeds ul li a{display:block;color:#3b6085;text-shadow:#aaa 0px 0px 1px}#header #nav_wrapper .nav div.user-feeds:hover h4{color:#fff;position:relative;z-index:4;background:#2e4b67;-moz-border-radius:5px;-webkit-border-radius:5px;-o-border-radius:5px;-ms-border-radius:5px;-khtml-border-radius:5px;border-radius:5px;cursor:default}#header #nav_wrapper .nav div.user-feeds:hover ul{display:block}#header .remove_border{border-top:1px solid #ccc;border-bottom:none!important;border-left:1px solid #ccc;border-right:1px solid #ccc;-moz-border-radius:5px 5px 0px 0px;-webkit-border-radius:5px 5px 0px 0px;-o-border-radius:5px 5px 0px 0px;-ms-border-radius:5px 5px 0px 0px;-khtml-border-radius:5px 5px 0px 0px;border-radius:5px 5px 0px 0px}#header .border{border:1px solid #ccc;-moz-border-radius:5px;-webkit-border-radius:5px;-o-border-radius:5px;-ms-border-radius:5px;-khtml-border-radius:5px;border-radius:5px}#header #user_sign_in{float:right;margin-top:2px;position:relative;font-family:"Rokkitt",RockwellSTD,Rockwell,sans-serif}#header #user_sign_in>li{margin:0 5px;display:-moz-inline-box;-moz-box-orient:vertical;display:inline-block;vertical-align:middle;*vertical-align:auto;font-size:13px;font-weight:300}#header #user_sign_in>li{*display:inline}#header #user_sign_in>li:first-child{color:#bcd5ec}#header #sign_in_button{background:url(/assets/nav-down-arrow-432e292b998b22e26e1f0db9d1351b7e.png) no-repeat 95% 40% #fff;padding:2px 27px 3px 10px;line-height:22px;position:relative;color:#1b334a;font-size:13px;z-index:100;cursor:pointer;border:1px solid #ccc;-moz-border-radius:5px;-webkit-border-radius:5px;-o-border-radius:5px;-ms-border-radius:5px;-khtml-border-radius:5px;border-radius:5px}#header #sign_in_button.open{border-bottom:0px;-moz-border-radius:5px 5px 0px 0px;-webkit-border-radius:5px 5px 0px 0px;-o-border-radius:5px 5px 0px 0px;-ms-border-radius:5px 5px 0px 0px;-khtml-border-radius:5px 5px 0px 0px;border-radius:5px 5px 0px 0px}#header #sign_in_form{z-index:10000;position:absolute;right:0px;top:22px}#header form.user{width:211px;background:#fff;border:1px solid #ccc;border-top:0;-moz-border-radius:5px 0px 5px 5px;-webkit-border-radius:5px 0px 5px 5px;-o-border-radius:5px 0px 5px 5px;-ms-border-radius:5px 0px 5px 5px;-khtml-border-radius:5px 0px 5px 5px;border-radius:5px 0px 5px 5px;padding-top:5px}#header form.user .facebook{padding-top:0px!important}#header form.user a{margin-top:0!important}#header form.user li{margin:0;width:180px;padding:2px 10px;text-align:right;display:block}#header form.user li label{display:block;padding:4px 2px;color:#b3b3b3;font-family:Helvetica,Arial,Verdana,sans-serif;text-align:left;font-weight:bold;font-size:11px}#header form.user li label.error{color:red}#header form.user li input[type=text],#header form.user li input[type=password]{-moz-border-radius:5px;-webkit-border-radius:5px;-o-border-radius:5px;-ms-border-radius:5px;-khtml-border-radius:5px;border-radius:5px;width:165px;outline:none;padding:5px;font-size:0.9em;-moz-box-shadow:#ccc 1px 1px 2px 0 inset;-webkit-box-shadow:#ccc 1px 1px 2px 0 inset;-o-box-shadow:#ccc 1px 1px 2px 0 inset;box-shadow:#ccc 1px 1px 2px 0 inset;margin:0;border:1px solid #ddd}#header form.user a{margin-top:3px;padding:12px 9px 12px 12px}#header form.user .submit{float:right}#header form.user .forgot{text-align:right;display:block;padding:0 14px 10px;font-size:12px;color:#3b6085}#header form.user ul.errors li{margin:0px;text-align:right;padding:0 10px 10px;color:#b7403c;font-size:13px}#header form.user .facebook{padding-top:1px;float:right}div#footer,footer{background:#1b334a;height:30px;border-top:4px solid #fff;padding:20px 10px 0px;margin:20px 0 0 0;width:auto;clear:both;color:#fff}div#footer #cont,footer #cont{font-family:Georgia,Times,serif;font-family:Rockwell,Georgia,Times,"Times New Roman",serif;width:980px;margin:0 auto;font-size:12px;color:#3b6085}div#footer #cont a,footer #cont a{color:#5d82a7;font-weight:normal;text-decoration:none}div#footer #cont .left_text,footer #cont .left_text{float:left}div#footer #cont .right_text,footer #cont .right_text{float:right;font-size:30px;line-height:12px}div#footer #cont .right_text a,footer #cont .right_text a{display:inline-block;vertical-align:middle;margin-top:-8px;margin-left:3px;font-size:12px}body{background-color:#cee7fe;font-family:Rockwell,Georgia,Times,"Times New Roman",serif}html,body{height:100%}#wrapper{clear:both;min-height:100%;height:auto!important;height:100%;margin-bottom:-74px}#wrapper #wrapper-footer{height:74px}#footer{clear:both;position:relative;height:74px}h1{font-size:44px;color:#1b334a;padding:20px 0px 10px;font-weight:bold;text-align:center}#main{width:800px;margin:auto}#main form{position:relative;margin:50px auto 40px;background-color:#ac322f;-moz-border-radius:4px;-webkit-border-radius:4px;-o-border-radius:4px;-ms-border-radius:4px;-khtml-border-radius:4px;border-radius:4px;padding:24px;box-shadow:0 0 18px 4px #f6fbeb;-webkit-box-shadow:0 0 18px 4px #f6fbeb;-moz-box-shadow:0 0 18px 4px #f6fbeb;padding:14px 24px 26px 24px;width:360px;z-index:2;overflow:hidden;*zoom:1}#main form abbr[title=required]{display:none}#main form h2.notice{color:#fff}#main form h2.notice a{color:#fff}#main form .inline-errors{width:360px;margin:0px 0px 0px 0px;padding:0px;text-align:left;font-size:13px;color:#fff}#main form .errors{display:block;width:360px;margin:0px 0px 0px 0px;padding:0px;text-align:left;font-size:13px;color:#fff}#main form h4{text-align:center;margin-top:10px}#main form fieldset.inputs li.hidden{display:none}#main form fieldset.inputs li{min-height:60px;margin:10px auto 20px auto}#main form fieldset.inputs li label{display:block;text-align:left;color:#fff;font-weight:normal;font-size:17px;text-shadow:#000 1px 1px 1px;word-spacing:1px;margin-bottom:8px}#main form fieldset.inputs li input{-moz-border-radius:5px;-webkit-border-radius:5px;-o-border-radius:5px;-ms-border-radius:5px;-khtml-border-radius:5px;border-radius:5px;-moz-box-shadow:#ccc 1px 1px 2px 0 inset;-webkit-box-shadow:#ccc 1px 1px 2px 0 inset;-o-box-shadow:#ccc 1px 1px 2px 0 inset;box-shadow:#ccc 1px 1px 2px 0 inset;border:1px solid #ccc;padding:0px 5px;font-size:22px;width:340px;display:block;font-family:Georgia,Times,serif;font-family:Rockwell,Georgia,Times,"Times New Roman",serif}#main form fieldset.buttons #user_session_submit{width:377px;margin-top:10px;margin-bottom:10px}#main form .forgot-password{float:left;color:#fff;margin-top:15px}#main form .facebook{margin-top:15px;float:right;margin-right:6px}#main form.forgot-password .buttons{text-align:center} \ No newline at end of file +html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline}body{line-height:1}ol,ul{list-style:none}table{border-collapse:collapse;border-spacing:0}caption,th,td{text-align:left;font-weight:normal;vertical-align:middle}q,blockquote{quotes:none}q:before,q:after,blockquote:before,blockquote:after{content:"";content:none}a img{border:none}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section,summary{display:block}body{text-rendering:optimizeLegibility}#win,#fail{padding:7px 10px;font-family:Helvetica,Arial,Verdana,sans-serif;font-size:12px;font-weight:bold;margin-bottom:10px;-moz-border-radius:5px;-webkit-border-radius:5px;-o-border-radius:5px;-ms-border-radius:5px;-khtml-border-radius:5px;border-radius:5px}#win{background-color:#249c3a;color:#fff}nav,header,footer,aside{display:block}hr.staple{width:40px;margin:20px auto}strong{font-weight:bold}em{font-style:italic}#header{background-color:#1b334a;height:31px;padding:15px 0px;margin:0;height:30px;width:100%;padding:18px 0px;z-index:1000;position:fixed;top:0px;left:0px;right:0px;box-shadow:0px 3px 5px rgba(0,0,0,0.25);border-bottom:1px solid #000}#header .community-name{width:260px;float:left;height:67px;position:relative;border-left:1px solid #31465b;box-shadow:inset -1px 1px 0 0 #151f28;border-right:1px solid #31465b}#header .community-name .button-wrapper{background-image:url("shared/redesign/button-tail.png");background-color:transparent;background-repeat:no-repeat;background-position:0px -2px;overflow:hidden;width:195px;height:35px;margin:16px 15px 0px 0px;float:right}#header .community-name .button-wrapper:hover{background-position:0px -42px}#header .community-name .button-wrapper:hover .red-button{box-shadow:inset 0px 1px 0px rgba(255,255,255,0.35);background-image:-webkit-gradient(linear,50% 0%,50% 100%,color-stop(0%,#ee5a56),color-stop(100%,#b53633));background-image:-webkit-linear-gradient(top,#ee5a56,#b53633);background-image:-moz-linear-gradient(top,#ee5a56,#b53633);background-image:-o-linear-gradient(top,#ee5a56,#b53633);background-image:-ms-linear-gradient(top,#ee5a56,#b53633);background-image:linear-gradient(top,#ee5a56,#b53633)}#header .community-name .button-wrapper:active{background-position:0px -82px}#header .community-name .button-wrapper:active .red-button{box-shadow:inset 0px 1px 0px rgba(255,255,255,0.2);background-image:-webkit-gradient(linear,50% 100%,50% 0%,color-stop(0%,#d64541),color-stop(100%,#ac322f));background-image:-webkit-linear-gradient(bottom,#d64541,#ac322f);background-image:-moz-linear-gradient(bottom,#d64541,#ac322f);background-image:-o-linear-gradient(bottom,#d64541,#ac322f);background-image:-ms-linear-gradient(bottom,#d64541,#ac322f);background-image:linear-gradient(bottom,#d64541,#ac322f);text-shadow:0px 1px 0px #64100d}#header .community-name .button-wrapper .red-button{width:170px;font-size:17px;text-align:center;padding:10px 9px 6px;font-weight:normal;float:right;border:0px;border-bottom:2px solid rgba(0,0,0,0.75);box-shadow:inset 0px -1px 0px rgba(255,255,255,0.25);behavior:url("/assets/PIE.htc")}#header .community-name .button-wrapper .red-button:hover,#header .community-name .button-wrapper .red-button:focus{box-shadow:inset 0px 1px 0px rgba(255,255,255,0.35)}#header .community-name .button-wrapper .red-button:active{box-shadow:inset 0px 1px 0px rgba(255,255,255,0.2)}#header .community-name h1{color:#fff;text-shadow:0px 2px 1px #000;font-size:32px;letter-spacing:-2px;margin-top:21px;font-family:"Rokkitt",RockwellSTD,Rockwell,sans-serif;float:left;text-align:left;font-weight:bold;margin-left:20px;width:auto}#header .community-name h1 a{text-decoration:none;color:#fff}#header .community-name h1 .cp_logo{width:25px}#header #nav_wrapper{width:910px;margin:0 auto;position:relative;top:-19px;height:67px;border-left:1px solid #151f28;border-right:1px solid #31465b;box-shadow:inset -1px 1px 0 0 #151f28;behavior:url("/assets/PIE.htc")}#header #nav_wrapper #logo{margin-top:10px;text-decoration:none;text-align:left;color:#fff;font-size:30px;line-height:30px;text-shadow:#000 -1px 1px 0}#header #nav_wrapper #logo span{font-family:"Rokkitt",RockwellSTD,Rockwell,sans-serif;color:#ac322f;font-size:25px;position:relative;bottom:1px}#header #nav_wrapper #logo img{vertical-align:bottom}#header #nav_wrapper .nav{float:right;width:647px}#header #nav_wrapper .nav #search-header{margin-left:15px;margin-right:10px;margin-top:16px;width:463px;font-size:18px;padding:7px 10px 5px;border-radius:4px;background-color:rgba(0,0,0,0.1);color:#fcfaf4;font-weight:bold;font-family:"Rokkitt",RockwellSTD,Rockwell,sans-serif;text-shadow:1px 1px 0px rgba(0,0,0,0.65);-webkit-font-smoothing:antialiased;border:1px solid #151f28;box-shadow:0px 1px 0px rgba(255,255,255,0.15),inset 1px 1px 3px rgba(0,0,0,0.2);behavior:url("/assets/PIE.htc");float:left}#header #nav_wrapper .nav #search-header:active,#header #nav_wrapper .nav #search-header:focus{outline:none;background-color:rgba(92,143,189,0.15);color:#fff;text-shadow:none;box-shadow:inset 2px 2px 4px rgba(0,0,0,0.2),0px 1px 0px rgba(255,255,255,0.15);behavior:url("/assets/PIE.htc")}#header #nav_wrapper .nav #search-header:active:focus::-webkit-input-placeholder,#header #nav_wrapper .nav #search-header:focus:focus::-webkit-input-placeholder{color:#fff!important;text-shadow:none;behavior:url("/assets/PIE.htc")}#header #nav_wrapper .nav #search-header::-webkit-input-placeholder{color:#fcfaf4!important;text-shadow:1px 1px 0px rgba(0,0,0,0.65);behavior:url("/assets/PIE.htc")}#header #nav_wrapper .nav li{margin-top:5px;height:30px;vertical-align:middle;padding-top:12px;float:left;margin-right:16px;display:block}#header #nav_wrapper .nav li.my-activity{position:relative;padding-right:9px}#header #nav_wrapper .nav li.my-activity .my-activity-sub{position:absolute;display:none;background:#fff;color:#505250;width:240px;margin-top:13px;padding:10px;font-family:Helvetica Neue,Helvetica,Tahoma,serif;font-size:13px;right:-1px;border:1px solid #d7d7d7;border-top:0px;-moz-border-radius-bottomright:5px;-webkit-border-bottom-right-radius:5px;-o-border-bottom-right-radius:5px;-ms-border-bottom-right-radius:5px;-khtml-border-bottom-right-radius:5px;border-bottom-right-radius:5px;-moz-border-radius-topleft:5px;-webkit-border-top-left-radius:5px;-o-border-top-left-radius:5px;-ms-border-top-left-radius:5px;-khtml-border-top-left-radius:5px;border-top-left-radius:5px;-moz-border-radius-bottomleft:5px;-webkit-border-bottom-left-radius:5px;-o-border-bottom-left-radius:5px;-ms-border-bottom-left-radius:5px;-khtml-border-bottom-left-radius:5px;border-bottom-left-radius:5px;z-index:9999}#header #nav_wrapper .nav li.my-activity .my-activity-sub li{padding:5px 0 5px 0;margin:0;height:auto;line-height:20px;width:100%;border-bottom:1px solid #bac0c6}#header #nav_wrapper .nav li.my-activity .my-activity-sub li:last-child{border-bottom:3px solid #bac0c6}#header #nav_wrapper .nav li.my-activity .my-activity-sub li.community-percent{padding:5px;font-weight:bold;width:230px}#header #nav_wrapper .nav li.my-activity .my-activity-sub .percent-layer{background:url(/assets/house-overlay.png) no-repeat;position:absolute;height:23px;width:40px}#header #nav_wrapper .nav li.my-activity .my-activity-sub li.community-percent{background:none}#header #nav_wrapper .nav li.my-activity .my-activity-sub li.community-percent p{margin-bottom:15px}#header #nav_wrapper .nav li.my-activity .my-activity-sub div.block{background:#bac0c6;padding:6px 0;margin:4px}#header #nav_wrapper .nav li.my-activity .my-activity-sub li.invite:hover{background:#fff}#header #nav_wrapper .nav li.my-activity .my-activity-sub span.this-week{float:right}#header #nav_wrapper .nav li.my-activity .my-activity-sub span.all-time{float:right}#header #nav_wrapper .nav li.my-activity .my-activity-sub span.percent{float:right;font-weight:bold;font-size:22px;font-family:Helvetica Neue,Helvetica,Tahoma,serif;margin-top:-4px;padding:5px;color:#fff;background:#1b334a;-moz-border-radius:3px;-webkit-border-radius:3px;-o-border-radius:3px;-ms-border-radius:3px;-khtml-border-radius:3px;border-radius:3px}#header #nav_wrapper .nav li.my-activity .my-activity-sub span.sub-total-title{text-transform:uppercase;font-weight:bold;padding-left:5px}#header #nav_wrapper .nav li.my-activity .my-activity-sub span.sub-total-all{float:right;width:27px;margin-right:5px;font-weight:bold;font-size:14px;text-align:center!importantt}#header #nav_wrapper .nav li.my-activity .my-activity-sub span.sub-total-week{float:right;width:27px;margin-right:16px;text-align:center!important;font-size:14px;font-weight:bold}#header #nav_wrapper .nav li.my-activity .my-activity-sub span.invite{color:#ac322f;text-decoration:underline}#header #nav_wrapper .nav li.my-activity .my-activity-sub p{line-height:19px;margin-bottom:13px}#header #nav_wrapper .nav li.my-activity .my-activity-sub .red{color:#ac322f;font-weight:bold}#header #nav_wrapper .nav li.my-activity .my-activity-sub h4{font-size:11px;font-weight:bold;text-transform:uppercase;border-bottom:3px solid #abb1b7;padding-bottom:7px;color:#3b3b3b}#header #nav_wrapper .nav li.my-activity .my-activity-sub .sub-left{float:left;width:240px;line-height:10px;font-size:12px}#header #nav_wrapper .nav li.my-activity .my-activity-sub .sub-right{float:left;width:240px;font-size:12px;line-height:10px;margin-top:20px}#header #nav_wrapper .nav li.my-activity .my-activity-sub .sub-title{padding-left:5px;font-weight:bold;color:#1b334a}#header #nav_wrapper .nav li.my-activity .my-activity-sub .sub-notif{float:right;font-weight:bold;color:#1b334a;padding:0 4px;-moz-border-radius:3px;-webkit-border-radius:3px;-o-border-radius:3px;-ms-border-radius:3px;-khtml-border-radius:3px;border-radius:3px}#header #nav_wrapper .nav li.my-activity .my-activity-sub .this-week,#header #nav_wrapper .nav li.my-activity .my-activity-sub .all-time{font-size:10px;margin-top:-27px;float:right;text-align:center}#header #nav_wrapper .nav li.my-activity .my-activity-sub .this-week{width:27px;margin-right:48px}#header #nav_wrapper .nav li.my-activity .my-activity-sub .all-time{width:22px;margin-right:9px}#header #nav_wrapper .nav li.my-activity .my-activity-sub .sub-notif.one{margin-right:3px;width:27px;text-align:center!important}#header #nav_wrapper .nav li.my-activity .my-activity-sub .sub-notif.two{margin-right:7px;width:27px;text-align:center!important}#header #nav_wrapper .nav li.my-activity:hover{border:1px solid #d7d7d7}#header #nav_wrapper .nav li.selected-nav{border:#1b334a 1px solid}#header #nav_wrapper .nav li.selected-nav:hover{background:#fff;color:#1b334a;border:#fff 1px solid;border:1px solid #d7d7d7;border-bottom:0px;-moz-border-radius:5px 5px 0 0;-webkit-border-radius:5px 5px 0 0;-o-border-radius:5px 5px 0 0;-ms-border-radius:5px 5px 0 0;-khtml-border-radius:5px 5px 0 0;border-radius:5px 5px 0 0}#header #nav_wrapper .nav li.selected-nav:hover a{text-shadow:none;color:#1b334a}#header #nav_wrapper .nav li.selected-nav:hover .my-activity-sub{display:block}#header #nav_wrapper .nav li.invite{padding-right:9px}#header #nav_wrapper .nav li.invite a{padding:3px 0px 3px 9px}#header #nav_wrapper .nav li.inbox .inbox-sub{display:none;width:500px;-moz-border-radius:5px 0 5px 5px;-webkit-border-radius:5px 0 5px 5px;-o-border-radius:5px 0 5px 5px;-ms-border-radius:5px 0 5px 5px;-khtml-border-radius:5px 0 5px 5px;border-radius:5px 0 5px 5px;font-family:Helvetica Neue,Helvetica,Tahoma,serif;overflow-x:hidden;position:relative;left:-425px;z-index:9999;height:250px;padding:10px;background:#fff}#header #nav_wrapper .nav li.inbox .inbox-sub .inbox-left{float:left;width:110px}#header #nav_wrapper .nav li.inbox .inbox-sub .inbox-left .inbox-nav li{margin:0;padding:0;float:left;font-size:11px;height:11px;font-weight:bold;text-transform:uppercase}#header #nav_wrapper .nav li.inbox .inbox-sub .inbox-right{float:right}#header #nav_wrapper .nav li.register_feed{margin-right:35px}#header #nav_wrapper .nav .avatar-container{height:18px;width:18px;margin-right:8px;float:left;border-radius:2px;margin-top:-1px;background-size:cover;background-position:center center;behavior:url("/assets/PIE.htc")}#header #nav_wrapper .nav li.account{-webkit-font-smoothing:antialiased;background:#1b334a;width:100px;padding:10px 8px 6px 8px;height:20px;float:right;margin-right:16px;margin-top:-2px!important;font-family:"Rokkitt",RockwellSTD,Rockwell,sans-serif;font-size:16px;font-weight:normal;border:1px solid #151f28!important;color:rgba(255,255,255,0.65);text-transform:capitalize;border-radius:5px;top:17px;background-image:-webkit-gradient(linear,50% 0%,50% 100%,color-stop(0%,#2e5274),color-stop(100%,#1b334a));background-image:-webkit-linear-gradient(top,#2e5274,#1b334a);background-image:-moz-linear-gradient(top,#2e5274,#1b334a);background-image:-o-linear-gradient(top,#2e5274,#1b334a);background-image:-ms-linear-gradient(top,#2e5274,#1b334a);background-image:linear-gradient(top,#2e5274,#1b334a);box-shadow:0px 1px 3px rgba(0,0,0,0.25),inset 0px -1px 0px rgba(255,255,255,0.15);cursor:pointer;position:relative;z-index:800;behavior:url("/assets/PIE.htc")}#header #nav_wrapper .nav li.account a{color:#fff;text-shadow:none}#header #nav_wrapper .nav li.account:hover,#header #nav_wrapper .nav li.account:focus{color:rgba(255,255,255,0.65);height:25px;border-bottom:0px;box-shadow:0px 2px 2px rgba(0,0,0,0.4);-moz-border-radius-bottomright:0px;-webkit-border-bottom-right-radius:0px;-o-border-bottom-right-radius:0px;-ms-border-bottom-right-radius:0px;-khtml-border-bottom-right-radius:0px;border-bottom-right-radius:0px;-moz-border-radius-bottomleft:0px;-webkit-border-bottom-left-radius:0px;-o-border-bottom-left-radius:0px;-ms-border-bottom-left-radius:0px;-khtml-border-bottom-left-radius:0px;border-bottom-left-radius:0px;z-index:900;behavior:url("/assets/PIE.htc")}#header #nav_wrapper .nav li.account:hover ul.account-sub,#header #nav_wrapper .nav li.account:focus ul.account-sub{display:block;z-index:100}#header #nav_wrapper .nav li.account:hover span.arrow,#header #nav_wrapper .nav li.account:focus span.arrow{color:rgba(255,255,255,0.65);text-shadow:-1px -1px 0px rgba(0,0,0,0.85)}#header #nav_wrapper .nav li.account span.arrow{font-size:17px;position:absolute;top:9px;right:10px;color:rgba(0,0,0,0.8);font-weight:bold;text-shadow:1px 1px 0px rgba(255,255,255,0.25);-webkit-font-smoothing:antialiased}#header #nav_wrapper .nav li.account ul.account-sub{position:absolute;display:none;background-color:#1b334a;box-shadow:0px 2px 2px rgba(0,0,0,0.4),inset 0px -1px 0px rgba(255,255,255,0.15);width:155px;margin-top:15px;font-family:"Rokkitt",RockwellSTD,Rockwell,sans-serif;text-shadow:1px 1px 1px #000;right:-1px;border:1px solid #151f28;-moz-border-radius-topright:0px;-webkit-border-top-right-radius:0px;-o-border-top-right-radius:0px;-ms-border-top-right-radius:0px;-khtml-border-top-right-radius:0px;border-top-right-radius:0px;-moz-border-radius-bottomright:5px;-webkit-border-bottom-right-radius:5px;-o-border-bottom-right-radius:5px;-ms-border-bottom-right-radius:5px;-khtml-border-bottom-right-radius:5px;border-bottom-right-radius:5px;-moz-border-radius-topleft:5px;-webkit-border-top-left-radius:5px;-o-border-top-left-radius:5px;-ms-border-top-left-radius:5px;-khtml-border-top-left-radius:5px;border-top-left-radius:5px;-moz-border-radius-bottomleft:5px;-webkit-border-bottom-left-radius:5px;-o-border-bottom-left-radius:5px;-ms-border-bottom-left-radius:5px;-khtml-border-bottom-left-radius:5px;border-bottom-left-radius:5px;z-index:100;padding:0;behavior:url("/assets/PIE.htc")}#header #nav_wrapper .nav li.account ul.account-sub li{margin:0;height:auto;float:none;width:155px;padding:0;border-bottom:1px solid rgba(0,0,0,0.4);border-top:1px solid rgba(255,255,255,0.1)}#header #nav_wrapper .nav li.account ul.account-sub li:first-child{border-top:0px none;-moz-border-radius-topleft:5px;-webkit-border-top-left-radius:5px;-o-border-top-left-radius:5px;-ms-border-top-left-radius:5px;-khtml-border-top-left-radius:5px;border-top-left-radius:5px;box-shadow:inset 0px 1px 0px rgba(255,255,255,0.1);padding-top:2px}#header #nav_wrapper .nav li.account ul.account-sub li:last-child{border-bottom:0px none}#header #nav_wrapper .nav li.account ul.account-sub li:hover{background-color:rgba(92,143,189,0.3)}#header #nav_wrapper .nav li.account ul.account-sub li a{margin:0;padding:10px 10px 9px 10px;font-family:"Rokkitt",RockwellSTD,Rockwell,sans-serif;font-size:16px;font-weight:normal;color:rgba(255,255,255,0.65);display:block;width:135px;height:100%;position:relative}#header #nav_wrapper .nav li.account ul.account-sub li a span.inbox_number{color:rgba(255,255,255,0.65);border-radius:30px;padding:3px 4px 4px 4px;float:right;right:10px;top:7px;text-align:center;min-width:15px;margin-right:0px;background-color:rgba(0,0,0,0.25);box-shadow:0px 1px 0px rgba(255,255,255,0.15),inset 1px 1px 1px rgba(0,0,0,0.45);font-size:11px;font-weight:bold;font-family:Helvetica Neue,Helvetica,Tahoma,serif;position:absolute}#header #nav_wrapper .nav li.account ul.account-sub li a:hover{color:#fff}#header #nav_wrapper .nav li.account ul.account-sub li a:hover span.inbox_number{color:#fff;text-shadow:1px 1px 0px #000}#header #nav_wrapper .nav .number{background:#d5d5d5;color:#ac322f;font-family:Helvetica Neue,Helvetica,Tahoma,serif;font-size:13px;text-shadow:1px #fff;margin-left:9px;font-weight:bold;float:left;padding:3px 5px;-moz-border-radius:3px;-webkit-border-radius:3px;-o-border-radius:3px;-ms-border-radius:3px;-khtml-border-radius:3px;border-radius:3px;text-align:center}#header #nav_wrapper .nav .letter{background:url(/assets/mail-3e9f7fa838fe20febc6baf539662142c.png) no-repeat;height:25px;width:28px;float:left;margin-top:-5px}#header #nav_wrapper .nav .file{background:url(/assets/file-dc4556c7a4920b72423843b77d8c6af0.png) no-repeat;height:25px;width:21px;float:left}#header #nav_wrapper .nav img.avatar{float:left;margin-top:-2px;border-radius:5px;margin-left:8px}#header #nav_wrapper .nav div.user-feeds{display:inline;position:relative;padding-top:13px;height:22px;vertical-align:top}#header #nav_wrapper .nav div.user-feeds h4{font-size:14px;color:#cee7fe;font-weight:normal;height:20px;width:66px;font-family:"Rokkitt",RockwellSTD,Rockwell,sans-serif;display:inline;vertical-align:top;padding:3px 10px;text-decoration:none;text-shadow:#000 1px 1px 0px}#header #nav_wrapper .nav div.user-feeds ul{display:none;top:30px;right:4px;position:absolute;z-index:1000;width:148px;background-color:#fff;color:#3b6085!important;border:1px solid #3b6085;-moz-border-radius-bottomleft:5px;-webkit-border-bottom-left-radius:5px;-o-border-bottom-left-radius:5px;-ms-border-bottom-left-radius:5px;-khtml-border-bottom-left-radius:5px;border-bottom-left-radius:5px;-moz-border-radius-bottomright:5px;-webkit-border-bottom-right-radius:5px;-o-border-bottom-right-radius:5px;-ms-border-bottom-right-radius:5px;-khtml-border-bottom-right-radius:5px;border-bottom-right-radius:5px;-moz-border-radius-topleft:5px;-webkit-border-top-left-radius:5px;-o-border-top-left-radius:5px;-ms-border-top-left-radius:5px;-khtml-border-top-left-radius:5px;border-top-left-radius:5px}#header #nav_wrapper .nav div.user-feeds ul li{padding:5px 5px 3px;border-bottom:1px solid #3b6085}#header #nav_wrapper .nav div.user-feeds ul li:first-child{-moz-border-radius-topleft:5px;-webkit-border-top-left-radius:5px;-o-border-top-left-radius:5px;-ms-border-top-left-radius:5px;-khtml-border-top-left-radius:5px;border-top-left-radius:5px}#header #nav_wrapper .nav div.user-feeds ul li:last-child{-moz-border-radius-bottomleft:5px;-webkit-border-bottom-left-radius:5px;-o-border-bottom-left-radius:5px;-ms-border-bottom-left-radius:5px;-khtml-border-bottom-left-radius:5px;border-bottom-left-radius:5px;-moz-border-radius-bottomright:5px;-webkit-border-bottom-right-radius:5px;-o-border-bottom-right-radius:5px;-ms-border-bottom-right-radius:5px;-khtml-border-bottom-right-radius:5px;border-bottom-right-radius:5px;border-bottom:0px}#header #nav_wrapper .nav div.user-feeds ul li:hover{background-color:#eee}#header #nav_wrapper .nav div.user-feeds ul li:hover a{color:#3b6085;text-shadow:#aaa 0px 0px 1px;background:#eee}#header #nav_wrapper .nav div.user-feeds ul li a{display:block;color:#3b6085;text-shadow:#aaa 0px 0px 1px}#header #nav_wrapper .nav div.user-feeds:hover h4{color:#fff;position:relative;z-index:4;background:#2e4b67;-moz-border-radius:5px;-webkit-border-radius:5px;-o-border-radius:5px;-ms-border-radius:5px;-khtml-border-radius:5px;border-radius:5px;cursor:default}#header #nav_wrapper .nav div.user-feeds:hover ul{display:block}#header .remove_border{border-top:1px solid #ccc;border-bottom:none!important;border-left:1px solid #ccc;border-right:1px solid #ccc;-moz-border-radius:5px 5px 0px 0px;-webkit-border-radius:5px 5px 0px 0px;-o-border-radius:5px 5px 0px 0px;-ms-border-radius:5px 5px 0px 0px;-khtml-border-radius:5px 5px 0px 0px;border-radius:5px 5px 0px 0px}#header .border{border:1px solid #ccc;-moz-border-radius:5px;-webkit-border-radius:5px;-o-border-radius:5px;-ms-border-radius:5px;-khtml-border-radius:5px;border-radius:5px}#header #user_sign_in{float:right;margin-top:2px;position:relative;font-family:"Rokkitt",RockwellSTD,Rockwell,sans-serif}#header #user_sign_in>li{margin:0 5px;display:-moz-inline-box;-moz-box-orient:vertical;display:inline-block;vertical-align:middle;*vertical-align:auto;font-size:13px;font-weight:300}#header #user_sign_in>li{*display:inline}#header #user_sign_in>li:first-child{color:#bcd5ec}#header #sign_in_button{background:url(/assets/nav-down-arrow-432e292b998b22e26e1f0db9d1351b7e.png) no-repeat 95% 40% #fff;padding:2px 27px 3px 10px;line-height:22px;position:relative;color:#1b334a;font-size:13px;z-index:100;cursor:pointer;border:1px solid #ccc;-moz-border-radius:5px;-webkit-border-radius:5px;-o-border-radius:5px;-ms-border-radius:5px;-khtml-border-radius:5px;border-radius:5px}#header #sign_in_button.open{border-bottom:0px;-moz-border-radius:5px 5px 0px 0px;-webkit-border-radius:5px 5px 0px 0px;-o-border-radius:5px 5px 0px 0px;-ms-border-radius:5px 5px 0px 0px;-khtml-border-radius:5px 5px 0px 0px;border-radius:5px 5px 0px 0px}#header #sign_in_form{z-index:10000;position:absolute;right:0px;top:22px}#header form.user{width:211px;background:#fff;border:1px solid #ccc;border-top:0;-moz-border-radius:5px 0px 5px 5px;-webkit-border-radius:5px 0px 5px 5px;-o-border-radius:5px 0px 5px 5px;-ms-border-radius:5px 0px 5px 5px;-khtml-border-radius:5px 0px 5px 5px;border-radius:5px 0px 5px 5px;padding-top:5px}#header form.user .facebook{padding-top:0px!important}#header form.user a{margin-top:0!important}#header form.user li{margin:0;width:180px;padding:2px 10px;text-align:right;display:block}#header form.user li label{display:block;padding:4px 2px;color:#b3b3b3;font-family:Helvetica,Arial,Verdana,sans-serif;text-align:left;font-weight:bold;font-size:11px}#header form.user li label.error{color:red}#header form.user li input[type=text],#header form.user li input[type=password]{-moz-border-radius:5px;-webkit-border-radius:5px;-o-border-radius:5px;-ms-border-radius:5px;-khtml-border-radius:5px;border-radius:5px;width:165px;outline:none;padding:5px;font-size:0.9em;-moz-box-shadow:#ccc 1px 1px 2px 0 inset;-webkit-box-shadow:#ccc 1px 1px 2px 0 inset;-o-box-shadow:#ccc 1px 1px 2px 0 inset;box-shadow:#ccc 1px 1px 2px 0 inset;margin:0;border:1px solid #ddd}#header form.user a{margin-top:3px;padding:12px 9px 12px 12px}#header form.user .submit{float:right}#header form.user .forgot{text-align:right;display:block;padding:0 14px 10px;font-size:12px;color:#3b6085}#header form.user ul.errors li{margin:0px;text-align:right;padding:0 10px 10px;color:#b7403c;font-size:13px}#header form.user .facebook{padding-top:1px;float:right}div#footer,footer{background:#1b334a;height:30px;border-top:4px solid #fff;padding:20px 10px 0px;margin:20px 0 0 0;width:auto;clear:both;color:#fff}div#footer #cont,footer #cont{font-family:Georgia,Times,serif;font-family:Rockwell,Georgia,Times,"Times New Roman",serif;width:980px;margin:0 auto;font-size:12px;color:#3b6085}div#footer #cont a,footer #cont a{color:#5d82a7;font-weight:normal;text-decoration:none}div#footer #cont .left_text,footer #cont .left_text{float:left}div#footer #cont .right_text,footer #cont .right_text{float:right;font-size:30px;line-height:12px}div#footer #cont .right_text a,footer #cont .right_text a{display:inline-block;vertical-align:middle;margin-top:-8px;margin-left:3px;font-size:12px}body{background-color:#cee7fe;font-family:Rockwell,Georgia,Times,"Times New Roman",serif}html,body{height:100%}#wrapper{clear:both;min-height:100%;height:auto!important;height:100%;margin-bottom:-74px}#wrapper #wrapper-footer{height:74px}#footer{clear:both;position:relative;height:74px}h1{font-size:44px;color:#1b334a;padding:20px 0px 10px;font-weight:bold;text-align:center}#main{width:800px;margin:auto}#main form{position:relative;margin:50px auto 40px;background-color:#ac322f;-moz-border-radius:4px;-webkit-border-radius:4px;-o-border-radius:4px;-ms-border-radius:4px;-khtml-border-radius:4px;border-radius:4px;padding:24px;box-shadow:0 0 18px 4px #f6fbeb;-webkit-box-shadow:0 0 18px 4px #f6fbeb;-moz-box-shadow:0 0 18px 4px #f6fbeb;padding:14px 24px 26px 24px;width:360px;z-index:2;overflow:hidden;*zoom:1}#main form abbr[title=required]{display:none}#main form h2.notice{color:#fff}#main form h2.notice a{color:#fff}#main form .inline-errors{width:360px;margin:0px 0px 0px 0px;padding:0px;text-align:left;font-size:13px;color:#fff}#main form .errors{display:block;width:360px;margin:0px 0px 0px 0px;padding:0px;text-align:left;font-size:13px;color:#fff}#main form h4{text-align:center;margin-top:10px}#main form fieldset.inputs li.hidden{display:none}#main form fieldset.inputs li{min-height:60px;margin:10px auto 20px auto}#main form fieldset.inputs li label{display:block;text-align:left;color:#fff;font-weight:normal;font-size:17px;text-shadow:#000 1px 1px 1px;word-spacing:1px;margin-bottom:8px}#main form fieldset.inputs li input{-moz-border-radius:5px;-webkit-border-radius:5px;-o-border-radius:5px;-ms-border-radius:5px;-khtml-border-radius:5px;border-radius:5px;-moz-box-shadow:#ccc 1px 1px 2px 0 inset;-webkit-box-shadow:#ccc 1px 1px 2px 0 inset;-o-box-shadow:#ccc 1px 1px 2px 0 inset;box-shadow:#ccc 1px 1px 2px 0 inset;border:1px solid #ccc;padding:0px 5px;font-size:22px;width:340px;display:block;font-family:Georgia,Times,serif;font-family:Rockwell,Georgia,Times,"Times New Roman",serif}#main form fieldset.buttons #user_session_submit{width:377px;margin-top:10px;margin-bottom:10px}#main form .forgot-password{float:left;color:#fff;margin-top:15px}#main form .facebook{margin-top:15px;float:right;margin-right:6px}#main form.forgot-password .buttons{text-align:center} diff --git a/app/stylesheets/modules/_header.sass b/app/stylesheets/modules/_header.sass index 1111028f4..0846b75cf 100644 --- a/app/stylesheets/modules/_header.sass +++ b/app/stylesheets/modules/_header.sass @@ -48,24 +48,24 @@ text-align: center text-shadow: -1px -1px 0px #64100D .blue - +linear-gradient(color-stops(#2e5274, #1b334a)) + +linear-gradient(#2e5274, #1b334a) &:hover, &:focus color: #fff - +linear-gradient(color-stops(#3e6b96, #1b334a), top) + +linear-gradient(#3e6b96, #1b334a, top) box-shadow: inset 0 1px 1px rgba(255,255,255,.5) &:active color: #fff - +linear-gradient(color-stops(#2e5274, #1b334a), bottom) + +linear-gradient(#2e5274, #1b334a, bottom) .red background: $red - +linear-gradient(color-stops(#cc4441, #ac322f)) + +linear-gradient(#cc4441, #ac322f) &:hover, &:focus color: #fff - +linear-gradient(color-stops(#ea4e4a, #ac322f), top) + +linear-gradient(#ea4e4a, #ac322f, top) box-shadow: inset 0 1px 0px rgba(255,255,255,0.5) &:active color: #fff - +linear-gradient(color-stops(#cc4441, #ac322f), bottom) + +linear-gradient(#cc4441, #ac322f, bottom) .dropdown background: #EEECDF background-image: url("shared/redesign/tan-bg.png") @@ -94,7 +94,7 @@ color: #555 button.signin text-align: center - +linear-gradient(color-stops(#2e5274, #1b334a)) + +linear-gradient(#2e5274, #1b334a) font-weight: bold font-size: 16px padding-top: 10px @@ -104,25 +104,25 @@ text-shadow: -1px -1px 0px #333 &:hover, &:focus color: #fff - +linear-gradient(color-stops(#3e6b96, #1b334a), top) + +linear-gradient(#3e6b96, #1b334a, top) box-shadow: inset 0 1px 0px rgba(255,255,255,0.5) &:active color: #fff - +linear-gradient(color-stops(#2e5274, #1b334a), bottom) + +linear-gradient(#2e5274, #1b334a, bottom) button.signin.facebook font-size: 16px padding: 10px 0 8px 0 - +linear-gradient(color-stops(#4e6fb6, #3b5998)) + +linear-gradient(#4e6fb6, #3b5998) -webkit-font-smoothing: antialiased background-color: #3b5998 text-shadow: -1px -1px 0px #333 &:hover, &:focus color: #fff - +linear-gradient(color-stops(#5c83d7, #3b5998), top) + +linear-gradient(#5c83d7, #3b5998, top) box-shadow: inset 0 1px 0px rgba(255,255,255,.5) &:active color: #fff - +linear-gradient(color-stops(#4e6fb6, #3b5998), bottom) + +linear-gradient(#4e6fb6, #3b5998, bottom) p padding: 12px 0px 13px 0px text-align: left @@ -177,13 +177,13 @@ background-position: 0px -42px .red-button box-shadow: inset 0px 1px 0px rgba(255,255,255,0.35) - +linear-gradient(color-stops(#ee5a56, #b53633), top) + +linear-gradient(#ee5a56, #b53633, top) behavior: url("assets/PIE.htc") &:active background-position: 0px -82px .red-button box-shadow: inset 0px 1px 0px rgba(255,255,255,0.20) - +linear-gradient(color-stops(#d64541, #ac322f), bottom) + +linear-gradient(#d64541, #ac322f, bottom) text-shadow: 0px 1px 0px #64100D behavior: url("assets/PIE.htc") .red-button @@ -273,7 +273,7 @@ color: rgba(255,255,255,0.65) text-transform: capitalize border-radius: 5px - +linear-gradient(color-stops(#2e5274, #1b334a), top) + +linear-gradient(#2e5274, #1b334a, top) box-shadow: 0px 1px 3px rgba(0,0,0,0.25), inset 0px 1px 0px rgba(255,255,255,0.2) text-shadow: 1px 1px 0px rgba(0,0,0,0.75) cursor: pointer @@ -298,7 +298,7 @@ text-shadow: -1px -1px 0px rgba(0,0,0, 0.85) //&:active color: #fff - +linear-gradient(color-stops(#2e5274, #1b334a), bottom) + +linear-gradient(#2e5274, #1b334a, bottom) text-shadow: -1px -1px -1px rgba(0,0,0,.65) box-shadow: 1px 1px 1px rgba(0,0,0,.25) diff --git a/app/stylesheets/modules/_replies.sass b/app/stylesheets/modules/_replies.sass index dbae07237..021084bab 100644 --- a/app/stylesheets/modules/_replies.sass +++ b/app/stylesheets/modules/_replies.sass @@ -162,7 +162,7 @@ font-weight: bold letter-spacing: 1px font-family: $body - +linear-gradient(color-stops(#d0413d, #ac322f), top) + +linear-gradient(#d0413d, #ac322f, top) font-size: 11px text-decoration: none border: 1px solid @@ -173,10 +173,10 @@ text-transform: uppercase &:hover, &:focus color: #fff - +linear-gradient(color-stops(#ee5a56, #b53633), top) + +linear-gradient(#ee5a56, #b53633, top) box-shadow: 0px 2px 4px #adab9f cursor: pointer &:active color: #fff - +linear-gradient(color-stops(#d64541, #ac322f), bottom) + +linear-gradient(#d64541, #ac322f, bottom) text-shadow: 0px 1px 0px #64100D diff --git a/app/stylesheets/modules/_tour.sass b/app/stylesheets/modules/_tour.sass index c6b0447be..43565d6eb 100644 --- a/app/stylesheets/modules/_tour.sass +++ b/app/stylesheets/modules/_tour.sass @@ -751,18 +751,18 @@ img.page_img font: bold 16px/0 $heading margin-left: 10px border: 1px solid #151f28 - +linear-gradient(color-stops(#2e5274, #1b334a), top) + +linear-gradient(#2e5274, #1b334a, top) box-shadow: 1px 1px 1px rgba(0,0,0,.25) text-shadow: 1px 2px 3px rgba(0,0,0,.65) cursor: pointer &:hover, &:focus color: #fff - +linear-gradient(color-stops(#2e5274, #1b334a), top) + +linear-gradient(#2e5274, #1b334a, top) text-shadow: 1px 2px 3px rgba(0,0,0,.65) box-shadow: 0px 2px 4px rgba(0,0,0,.65) &:active color: #fff - +linear-gradient(color-stops(#2e5274, #1b334a), bottom) + +linear-gradient(#2e5274, #1b334a, bottom) text-shadow: -1px -1px -1px rgba(0,0,0,.65) box-shadow: 1px 1px 1px rgba(0,0,0,.25) img @@ -1040,19 +1040,19 @@ div#RealFindNeighbors div#find_bottom color: white text-transform: uppercase border-radius: 4px - +linear-gradient(color-stops(#2e5274, #1b334a), top) + +linear-gradient(#2e5274, #1b334a, top) box-shadow: 1px 1px 1px rgba(0,0,0,.25), inset 0px 1px 0px rgba(255,255,255,0.25) text-shadow: 1px 2px 3px rgba(0,0,0,.65) cursor: pointer margin-top: 0px &:hover, &:focus color: #fff - +linear-gradient(color-stops(#2e5274, #1b334a), top) + +linear-gradient(#2e5274, #1b334a, top) text-shadow: 1px 2px 3px rgba(0,0,0,.65) box-shadow: 0px 2px 4px rgba(0,0,0,.65), inset 0px 1px 0px rgba(255,255,255,0.25) &:active color: #fff - +linear-gradient(color-stops(#2e5274, #1b334a), bottom) + +linear-gradient(#2e5274, #1b334a, bottom) text-shadow: -1px -1px -1px rgba(0,0,0,.65) box-shadow: 1px 1px 1px rgba(0,0,0,.25) #buttons a @@ -1108,7 +1108,7 @@ div#RealFindNeighbors div#find_bottom top: -1px position: absolute &:hover - +linear-gradient(color-stops(#3e6b96, #1b334a), top) + +linear-gradient(#3e6b96, #1b334a, top) box-shadow: inset 0 1px 0px rgba(255,255,255,.25) &:active color: rgba(255,255,255,0.4) !important diff --git a/app/stylesheets/non-modular/_about.sass b/app/stylesheets/non-modular/_about.sass index 9e8a97905..f71975dbd 100644 --- a/app/stylesheets/non-modular/_about.sass +++ b/app/stylesheets/non-modular/_about.sass @@ -123,7 +123,7 @@ border: 1px solid #151f28 color: white text-transform: uppercase - +linear-gradient(color-stops(#2e5274, #1b334a), top) + +linear-gradient(#2e5274, #1b334a, top) // -pie-background: linear-gradient(top center, #2e4b67, #1b334a) // behavior: url("assets/PIE.htc") box-shadow: 1px 1px 1px rgba(0,0,0,.25), inset 0px 1px 0px rgba(255,255,255,0.25) @@ -132,12 +132,12 @@ border-radius: 5px &:hover, &:focus color: #fff - +linear-gradient(color-stops(#2e5274, #1b334a), top) + +linear-gradient(#2e5274, #1b334a, top) text-shadow: 1px 2px 3px rgba(0,0,0,.65) box-shadow: 0px 2px 4px rgba(0,0,0,.65), inset 0px 1px 0px rgba(255,255,255,0.25) &:active color: #fff - +linear-gradient(color-stops(#2e5274, #1b334a), bottom) + +linear-gradient(#2e5274, #1b334a, bottom) text-shadow: -1px -1px -1px rgba(0,0,0,.65) box-shadow: 1px 1px 1px rgba(0,0,0,.25) .facebook diff --git a/app/stylesheets/non-modular/_info.sass b/app/stylesheets/non-modular/_info.sass index 265513166..c6033d544 100644 --- a/app/stylesheets/non-modular/_info.sass +++ b/app/stylesheets/non-modular/_info.sass @@ -192,18 +192,18 @@ border: 1px solid #151f28 color: white text-transform: uppercase - +linear-gradient(color-stops(#2e5274, #1b334a), top) + +linear-gradient(#2e5274, #1b334a, top) box-shadow: 1px 1px 1px rgba(0,0,0,.25) text-shadow: 1px 2px 3px rgba(0,0,0,.65) cursor: pointer &:hover, &:focus color: #fff - +linear-gradient(color-stops(#2e5274, #1b334a), top) + +linear-gradient(#2e5274, #1b334a, top) text-shadow: 1px 2px 3px rgba(0,0,0,.65) box-shadow: 0px 2px 4px rgba(0,0,0,.65) &:active color: #fff - +linear-gradient(color-stops(#2e5274, #1b334a), bottom) + +linear-gradient(#2e5274, #1b334a, bottom) text-shadow: -1px -1px -1px rgba(0,0,0,.65) box-shadow: 1px 1px 1px rgba(0,0,0,.25) .facebook, .leader-button @@ -218,4 +218,4 @@ color: #555 font-family: $Rokkitt padding-top: 6px - font-size: 20px \ No newline at end of file + font-size: 20px diff --git a/app/stylesheets/non-modular/_verification.sass b/app/stylesheets/non-modular/_verification.sass index 95f55d140..8bd5853ef 100644 --- a/app/stylesheets/non-modular/_verification.sass +++ b/app/stylesheets/non-modular/_verification.sass @@ -143,7 +143,7 @@ top: -1px position: absolute &:hover - +linear-gradient(color-stops(#3e6b96, #1b334a), top) + +linear-gradient(#3e6b96, #1b334a, top) box-shadow: inset 0 1px 0px rgba(255,255,255,.25) &:active color: rgba(255,255,255,0.4) !important diff --git a/config/application.rb b/config/application.rb index 1ef927694..6982cf465 100644 --- a/config/application.rb +++ b/config/application.rb @@ -85,5 +85,6 @@ class Application < Rails::Application # Set the logger # This makes Heroku logging with Unicorn work # config.logger = Logger.new(STDOUT) + config.secret_token = ENV.fetch("SECRET_TOKEN", "commonplace_default_secret_token") end end diff --git a/config/environments/production.rb b/config/environments/production.rb index 340f6472d..c0835f3c9 100644 --- a/config/environments/production.rb +++ b/config/environments/production.rb @@ -11,7 +11,6 @@ # config.assets.manifest = YOUR_PATH config.assets.js_compressor = :uglifier - config.assets.css_compressor = :scss # Don't compile on the fly # config.assets.compile = false diff --git a/config/initializers/load_organizer_app_rules.rb b/config/initializers/load_organizer_app_rules.rb index 6cd9f42fa..f7747c9fe 100644 --- a/config/initializers/load_organizer_app_rules.rb +++ b/config/initializers/load_organizer_app_rules.rb @@ -1,3 +1,4 @@ +require "csv" Flag.clear diff --git a/config/initializers/load_resque.rb b/config/initializers/load_resque.rb index 593e096b7..adc6a5524 100644 --- a/config/initializers/load_resque.rb +++ b/config/initializers/load_resque.rb @@ -2,20 +2,13 @@ require 'resque_scheduler' # require 'resque-job-stats/server' -uri = if Rails.env.development? - URI.parse("localhost:6379") - elsif ENV["OPENREDIS_URL"].present? - URI.parse(ENV["OPENREDIS_URL"]) - else - "" - end +uri = URI.parse(ENV.fetch("OPENREDIS_URL", "localhost:6379")) if uri.present? Resque.redis = Redis.new(:host => uri.host, :port => uri.port, :password => uri.password, :thread_safe => true) -else - Resque.redis = MockRedis.new end + Resque.schedule = YAML.load_file(File.join(File.dirname(__FILE__), '../resque_schedule.yml')) diff --git a/db/migrate/20100901152819_add_cached_tags_columns_to_taggables.rb b/db/migrate/20100901152819_add_cached_tags_columns_to_taggables.rb index e9cfe3fa4..30898f264 100644 --- a/db/migrate/20100901152819_add_cached_tags_columns_to_taggables.rb +++ b/db/migrate/20100901152819_add_cached_tags_columns_to_taggables.rb @@ -13,30 +13,15 @@ def self.up end add_column :events, :cached_tag_list, :string - - Event.reset_column_information - Event.all.each do |e| - e.cached_tag_list = e.tag_list.join(",") - e.save - end - add_column :organizations, :cached_tag_list, :string - - Organization.reset_column_information - Organization.all.each do |o| - o.cached_tag_list = o.tag_list.join(",") - o.save - end - end def self.down remove_column :users, :cached_skill_list remove_column :users, :cached_interest_list remove_column :users, :cached_good_list - - remove_column :events, :cached_tag_list + remove_column :events, :cached_tag_list remove_column :organizations, :cached_tag_list end end diff --git a/db/migrate/20100928230144_remove_avatar_columns_from_users_and_orgs.rb b/db/migrate/20100928230144_remove_avatar_columns_from_users_and_orgs.rb index 0e1405f3d..59369296f 100644 --- a/db/migrate/20100928230144_remove_avatar_columns_from_users_and_orgs.rb +++ b/db/migrate/20100928230144_remove_avatar_columns_from_users_and_orgs.rb @@ -4,8 +4,6 @@ def self.up remove_column :users, :avatar_content_type remove_column :organizations, :avatar_file_name remove_column :organizations, :avatar_content_type - User.all.each {|u| u.avatar = Avatar.new; u.save} - Organization.all.each {|o| o.avatar = Avatar.new; o.save} end def self.down diff --git a/db/migrate/20101023225835_create_locations.rb b/db/migrate/20101023225835_create_locations.rb index 32caa8817..991c50749 100644 --- a/db/migrate/20101023225835_create_locations.rb +++ b/db/migrate/20101023225835_create_locations.rb @@ -10,25 +10,25 @@ def self.up t.timestamps end - Location.reset_column_information - - [User,Event,Organization].each do |klass| - klass.all.each do |k| - Location.create(:locatable_id => k.id, - :locatable_type => klass.to_s, - :street_address => k.address ? k.address.split(",").first : "", - :zip_code => k.address ? k.address.scan(/\d{5}/).first : "", - :lat => k.lat, - :lng => k.lng) - end - end + # Location.reset_column_information + + # [User,Event,Organization].each do |klass| + # klass.all.each do |k| + # Location.create(:locatable_id => k.id, + # :locatable_type => klass.to_s, + # :street_address => k.address ? k.address.split(",").first : "", + # :zip_code => k.address ? k.address.scan(/\d{5}/).first : "", + # :lat => k.lat, + # :lng => k.lng) + # end + # end + + # [:users, :events, :organizations].each do |t| + # remove_column t, :address + # remove_column t, :lat + # remove_column t, :lng + # end - [:users, :events, :organizations].each do |t| - remove_column t, :address - remove_column t, :lat - remove_column t, :lng - end - end def self.down diff --git a/db/migrate/20101106152905_rename_organizations_to_feeds.rb b/db/migrate/20101106152905_rename_organizations_to_feeds.rb index 3ce4ee46b..abb98f9c7 100644 --- a/db/migrate/20101106152905_rename_organizations_to_feeds.rb +++ b/db/migrate/20101106152905_rename_organizations_to_feeds.rb @@ -3,40 +3,18 @@ class Role < ActiveRecord::Base end def self.up - Avatar.all.select {|a| a.owner_type == "Organization"}.each do |a| - a.owner_type = "Feed" - a.save - end - - ActsAsTaggableOn::Tagging.all.select {|t| t.taggable_type == "Organization"}.each do |t| - t.taggable_type = "Feed" - t.save - end - + execute "UPDATE avatars SET owner_type = 'Feed' WHERE owner_type = 'Organization'" + execute "UPDATE taggings SET taggable_type = 'Feed' WHERE taggable_type = 'Organization'" add_column :organizations, :user_id, :integer - - Role.all.each do |r| - begin - o = Organization.find(r.organization_id) - o.user_id = r.user_id - o.save - rescue - end - end - + execute "UPDATE organizations SET user_id = (SELECT user_id FROM roles WHERE roles.organization_id = organizations.id)" rename_column :announcements, :organization_id, :feed_id rename_column :events, :organization_id, :feed_id rename_column :profile_fields, :organization_id, :feed_id rename_column :subscriptions, :organization_id, :feed_id - rename_table :organizations, :feeds - drop_table :roles - drop_table :links - drop_table :platform_updates - end def self.down diff --git a/db/migrate/20110111190559_update_feed_fields.rb b/db/migrate/20110111190559_update_feed_fields.rb index 0e82869ec..cc0fe5b1d 100644 --- a/db/migrate/20110111190559_update_feed_fields.rb +++ b/db/migrate/20110111190559_update_feed_fields.rb @@ -1,11 +1,11 @@ class UpdateFeedFields < ActiveRecord::Migration def self.up add_column :feeds, :avatar_file_name, :string - add_column :feeds, :address, :string + # add_column :feeds, :address, :string add_column :feeds, :hours, :string Feed.reset_column_information - + Feed.all.each do |feed| avatar = Avatar.find_by_owner_type_and_owner_id('Feed', feed.id) feed.avatar = avatar.image @@ -16,7 +16,7 @@ def self.up def self.down remove_column :feeds, :avatar_file_name - remove_column :feeds, :address + # remove_column :feeds, :address remove_column :feeds, :hours end end diff --git a/db/migrate/20110113184940_move_street_address_to_users.rb b/db/migrate/20110113184940_move_street_address_to_users.rb index ce757a9d8..a9aa3cb0a 100644 --- a/db/migrate/20110113184940_move_street_address_to_users.rb +++ b/db/migrate/20110113184940_move_street_address_to_users.rb @@ -1,6 +1,6 @@ class MoveStreetAddressToUsers < ActiveRecord::Migration def self.up - add_column :users, :address, :string + # add_column :users, :address, :string User.reset_column_information User.find_each do |user| @@ -12,13 +12,13 @@ def self.up def self.down User.find_each do |user| - location = Location.new(:street_address => user.address, + location = Location.new(:street_address => user.address, :zip_code => user.community.zip_code, - :locatable_type => 'User', + :locatable_type => 'User', :locatable_id => user.id) location.save! end - - remove_column :user, :address + + # remove_column :user, :address end end diff --git a/db/migrate/20110114054438_move_address_to_events.rb b/db/migrate/20110114054438_move_address_to_events.rb index d6f2404cd..b763f2cc6 100644 --- a/db/migrate/20110114054438_move_address_to_events.rb +++ b/db/migrate/20110114054438_move_address_to_events.rb @@ -1,9 +1,9 @@ class MoveAddressToEvents < ActiveRecord::Migration def self.up - add_column :events, :address, :string - + # add_column :events, :address, :string + Event.reset_column_information - + Event.find_each do |event| location = Location.find_by_locatable_type_and_locatable_id('Event', event.id) event.address = location.street_address if location @@ -13,6 +13,6 @@ def self.up end def self.down - remove_column :events, :address + # remove_column :events, :address end end diff --git a/db/migrate/20110331213831_rework_email_options.rb b/db/migrate/20110331213831_rework_email_options.rb index be6681da3..94127f934 100644 --- a/db/migrate/20110331213831_rework_email_options.rb +++ b/db/migrate/20110331213831_rework_email_options.rb @@ -1,11 +1,11 @@ class ReworkEmailOptions < ActiveRecord::Migration def self.up add_column :users, :post_receive_method, :string - + User.reset_column_information - + User.find_each do |user| - user.post_receive_method = + user.post_receive_method = if user.receive_digests user.post_receive_method = "Daily" elsif user.receive_posts @@ -16,18 +16,18 @@ def self.up user.save! end - remove_column :users, :receive_digests + # remove_column :users, :receive_digests remove_column :users, :receive_posts end def self.down - add_column :users, :receive_digest, :boolean + # add_column :users, :receive_digest, :boolean add_column :users, :receive_posts, :boolean User.reset_column_information - + User.find_each do |user| - user.receive_digests = + user.receive_digests = user.post_receive_method == "Daily" user.receive_posts = user.post_receive_method == "Live" user.save! diff --git a/db/migrate/20110619194213_move_admin_notes_to_comments.rb b/db/migrate/20110619194213_move_admin_notes_to_comments.rb deleted file mode 100644 index 8e37ec46e..000000000 --- a/db/migrate/20110619194213_move_admin_notes_to_comments.rb +++ /dev/null @@ -1,25 +0,0 @@ -class MoveAdminNotesToComments < ActiveRecord::Migration - def self.up - remove_index :admin_notes, [:admin_user_type, :admin_user_id] - rename_table :admin_notes, :active_admin_comments - rename_column :active_admin_comments, :admin_user_type, :author_type - rename_column :active_admin_comments, :admin_user_id, :author_id - add_column :active_admin_comments, :namespace, :string - add_index :active_admin_comments, [:namespace] - add_index :active_admin_comments, [:author_type, :author_id] - - # Update all the existing comments to the default namespace - say "Updating any existing comments to the #{ActiveAdmin.default_namespace} namespace." - execute "UPDATE active_admin_comments SET namespace='#{ActiveAdmin.default_namespace}'" - end - - def self.down - remove_index :active_admin_comments, :column => [:author_type, :author_id] - remove_index :active_admin_comments, :column => [:namespace] - remove_column :active_admin_comments, :namespace - rename_column :active_admin_comments, :author_id, :admin_user_id - rename_column :active_admin_comments, :author_type, :admin_user_type - rename_table :active_admin_comments, :admin_notes - add_index :admin_notes, [:admin_user_type, :admin_user_id] - end -end diff --git a/db/schema.rb b/db/schema.rb index 8dc644fe1..5f9d4d581 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -11,32 +11,36 @@ # # It's strongly recommended to check this file into your version control system. -ActiveRecord::Schema.define(:version => 20130617194417) do +ActiveRecord::Schema.define(:version => 20151221013838) do create_table "active_admin_comments", :force => true do |t| - t.integer "resource_id", :null => false - t.string "resource_type", :null => false - t.integer "author_id" - t.string "author_type" + t.string "namespace", :limit => nil t.text "body" + t.string "resource_id", :limit => nil, :null => false + t.string "resource_type", :limit => nil, :null => false + t.integer "author_id" + t.string "author_type", :limit => nil t.datetime "created_at" t.datetime "updated_at" - t.string "namespace" end add_index "active_admin_comments", ["author_type", "author_id"], :name => "index_active_admin_comments_on_author_type_and_author_id" add_index "active_admin_comments", ["namespace"], :name => "index_active_admin_comments_on_namespace" - add_index "active_admin_comments", ["resource_type", "resource_id"], :name => "index_admin_notes_on_resource_type_and_resource_id" + add_index "active_admin_comments", ["resource_type", "resource_id"], :name => "index_active_admin_comments_on_resource_type_and_resource_id" - create_table "addresses", :force => true do |t| - t.string "name" - t.string "primary" - t.decimal "lat" - t.decimal "lng" - t.datetime "created_at", :null => false - t.datetime "updated_at", :null => false + create_table "admin_notes", :force => true do |t| + t.integer "resource_id", :null => false + t.string "resource_type", :null => false + t.integer "admin_user_id" + t.string "admin_user_type" + t.text "body" + t.datetime "created_at", :null => false + t.datetime "updated_at", :null => false end + add_index "admin_notes", ["admin_user_type", "admin_user_id"], :name => "index_admin_notes_on_admin_user_type_and_admin_user_id" + add_index "admin_notes", ["resource_type", "resource_id"], :name => "index_admin_notes_on_resource_type_and_resource_id" + create_table "admin_users", :force => true do |t| t.string "email", :default => "", :null => false t.string "encrypted_password", :limit => 128, :default => "", :null => false @@ -48,8 +52,8 @@ t.datetime "last_sign_in_at" t.string "current_sign_in_ip" t.string "last_sign_in_ip" - t.datetime "created_at" - t.datetime "updated_at" + t.datetime "created_at", :null => false + t.datetime "updated_at", :null => false end add_index "admin_users", ["email"], :name => "index_admin_users_on_email", :unique => true @@ -58,8 +62,8 @@ create_table "announcement_cross_postings", :force => true do |t| t.integer "announcement_id" t.integer "group_id" - t.datetime "created_at" - t.datetime "updated_at" + t.datetime "created_at", :null => false + t.datetime "updated_at", :null => false end create_table "announcements", :force => true do |t| @@ -78,20 +82,6 @@ t.datetime "replied_at" end - create_table "archived_posts", :id => false, :force => true do |t| - t.integer "id", :null => false - t.text "body", :null => false - t.integer "user_id", :null => false - t.datetime "created_at" - t.datetime "updated_at" - t.string "subject" - t.string "category" - t.integer "community_id" - t.boolean "sent_to_community" - t.boolean "published" - t.datetime "deleted_at" - end - create_table "attendances", :force => true do |t| t.integer "event_id", :null => false t.integer "user_id", :null => false @@ -99,16 +89,6 @@ t.datetime "updated_at" end - create_table "avatars", :force => true do |t| - t.integer "owner_id" - t.string "owner_type" - t.string "image_file_name" - t.string "image_content_type" - t.string "image_file_size" - t.datetime "created_at", :null => false - t.datetime "updated_at", :null => false - end - create_table "civic_hero_nominations", :force => true do |t| t.string "nominee_name" t.string "nominee_email" @@ -160,17 +140,13 @@ t.string "geckoboard_population_chart_id" end - create_table "conversation_memberships", :force => true do |t| - t.integer "user_id", :null => false - t.integer "conversation_id", :null => false - t.datetime "created_at" - t.datetime "updated_at" - end - - create_table "conversations", :force => true do |t| - t.string "subject", :null => false - t.datetime "created_at" - t.datetime "updated_at" + create_table "connections", :force => true do |t| + t.integer "requester_id", :null => false + t.integer "target_id", :null => false + t.text "personal_message" + t.datetime "created_at", :null => false + t.datetime "updated_at", :null => false + t.boolean "sent", :default => false, :null => false end create_table "delayed_jobs", :force => true do |t| @@ -182,17 +158,8 @@ t.datetime "locked_at" t.datetime "failed_at" t.text "locked_by" - t.datetime "created_at" - t.datetime "updated_at" - end - - create_table "essays", :force => true do |t| - t.string "subject" - t.text "body" - t.integer "user_id" - t.integer "feed_id" - t.datetime "created_at", :null => false - t.datetime "updated_at", :null => false + t.datetime "created_at", :null => false + t.datetime "updated_at", :null => false end create_table "event_checkins", :force => true do |t| @@ -205,8 +172,8 @@ create_table "event_cross_postings", :force => true do |t| t.integer "event_id" t.integer "group_id" - t.datetime "created_at" - t.datetime "updated_at" + t.datetime "created_at", :null => false + t.datetime "updated_at", :null => false end create_table "event_notes", :force => true do |t| @@ -219,9 +186,12 @@ create_table "events", :force => true do |t| t.string "name", :null => false + t.string "address" t.text "description", :null => false t.datetime "created_at" t.datetime "updated_at" + t.decimal "lat" + t.decimal "lng" t.integer "owner_id" t.string "cached_tag_list" t.date "date" @@ -229,7 +199,6 @@ t.time "end_time" t.string "owner_type" t.string "source_feed_id" - t.string "address" t.string "venue" t.string "type" t.string "host_group_name" @@ -243,14 +212,17 @@ create_table "feed_owners", :force => true do |t| t.integer "feed_id" t.integer "user_id" - t.datetime "created_at" - t.datetime "updated_at" + t.datetime "created_at", :null => false + t.datetime "updated_at", :null => false end create_table "feeds", :force => true do |t| t.string "name", :null => false + t.string "address" t.datetime "created_at" t.datetime "updated_at" + t.decimal "lat" + t.decimal "lng" t.text "about" t.string "phone" t.string "website" @@ -263,7 +235,6 @@ t.string "type", :default => "Feed" t.string "feed_url" t.string "avatar_file_name" - t.string "address" t.string "hours" t.string "slug" t.string "twitter_name" @@ -282,13 +253,26 @@ t.datetime "updated_at", :null => false end + create_table "friendly_id_slugs", :force => true do |t| + t.string "slug", :limit => nil, :null => false + t.integer "sluggable_id", :null => false + t.string "sluggable_type", :limit => 50 + t.string "scope", :limit => nil + t.datetime "created_at" + end + + add_index "friendly_id_slugs", ["slug", "sluggable_type", "scope"], :name => "index_friendly_id_slugs_on_slug_and_sluggable_type_and_scope", :unique => true + add_index "friendly_id_slugs", ["slug", "sluggable_type"], :name => "index_friendly_id_slugs_on_slug_and_sluggable_type" + add_index "friendly_id_slugs", ["sluggable_id"], :name => "index_friendly_id_slugs_on_sluggable_id" + add_index "friendly_id_slugs", ["sluggable_type"], :name => "index_friendly_id_slugs_on_sluggable_type" + create_table "group_posts", :force => true do |t| t.string "subject" t.text "body" t.integer "user_id" t.integer "group_id" - t.datetime "created_at" - t.datetime "updated_at" + t.datetime "created_at", :null => false + t.datetime "updated_at", :null => false t.datetime "deleted_at" t.datetime "replied_at" end @@ -299,8 +283,8 @@ t.string "about" t.integer "community_id" t.string "avatar_file_name" - t.datetime "created_at" - t.datetime "updated_at" + t.datetime "created_at", :null => false + t.datetime "updated_at", :null => false end create_table "half_users", :force => true do |t| @@ -310,8 +294,8 @@ t.string "street_address" t.string "email" t.string "single_access_token" - t.datetime "created_at" - t.datetime "updated_at" + t.datetime "created_at", :null => false + t.datetime "updated_at", :null => false t.string "middle_name" t.integer "community_id" end @@ -335,8 +319,8 @@ t.string "college" t.integer "graduation_year" t.text "essay" - t.datetime "created_at" - t.datetime "updated_at" + t.datetime "created_at", :null => false + t.datetime "updated_at", :null => false end create_table "invites", :force => true do |t| @@ -349,20 +333,11 @@ t.integer "invitee_id" end - create_table "links", :force => true do |t| - t.integer "linkable_id", :null => false - t.string "linkable_type", :null => false - t.integer "linker_id", :null => false - t.string "linker_type", :null => false - t.datetime "created_at" - t.datetime "updated_at" - end - create_table "memberships", :force => true do |t| t.integer "user_id" t.integer "group_id" - t.datetime "created_at" - t.datetime "updated_at" + t.datetime "created_at", :null => false + t.datetime "updated_at", :null => false t.string "receive_method", :default => "Live" end @@ -389,58 +364,24 @@ create_table "neighborhoods", :force => true do |t| t.string "name", :null => false t.integer "community_id", :null => false - t.datetime "created_at" - t.datetime "updated_at" + t.datetime "created_at", :null => false + t.datetime "updated_at", :null => false t.text "bounds" t.decimal "latitude" t.decimal "longitude" end - create_table "notifications", :force => true do |t| - t.integer "user_id", :null => false - t.integer "notifiable_id", :null => false - t.string "notifiable_type", :null => false - t.datetime "created_at" - t.datetime "updated_at" - end - - create_table "organizations", :force => true do |t| - t.string "name", :null => false - t.string "address" - t.string "avatar_file_name" - t.string "avatar_content_type" - t.datetime "created_at" - t.datetime "updated_at" - t.decimal "lat" - t.decimal "lng" - t.text "about" - t.string "phone" - t.string "website" - t.integer "community_id" - t.string "category" - t.string "cached_tag_list" - t.string "code" - t.boolean "claimed", :default => true - end - create_table "organizer_data_points", :force => true do |t| t.integer "organizer_id" t.string "address" t.string "status" - t.datetime "created_at" - t.datetime "updated_at" + t.datetime "created_at", :null => false + t.datetime "updated_at", :null => false t.float "lat" t.float "lng" t.boolean "attempted_geolocating" end - create_table "platform_updates", :force => true do |t| - t.string "subject", :null => false - t.text "body", :null => false - t.datetime "created_at" - t.datetime "updated_at" - end - create_table "posts", :force => true do |t| t.text "body", :null => false t.integer "user_id", :null => false @@ -448,35 +389,13 @@ t.datetime "updated_at" t.string "subject" t.string "category" + t.boolean "published", :default => true t.integer "community_id" t.boolean "sent_to_community" - t.boolean "published", :default => true t.datetime "deleted_at" t.datetime "replied_at" end - create_table "profile_fields", :force => true do |t| - t.string "subject", :null => false - t.text "body", :null => false - t.integer "organization_id", :null => false - t.integer "position", :null => false - t.datetime "created_at" - t.datetime "updated_at" - end - - create_table "rails_admin_histories", :force => true do |t| - t.text "message" - t.string "username" - t.integer "item" - t.string "table" - t.integer "month" - t.integer "year", :limit => 8 - t.datetime "created_at", :null => false - t.datetime "updated_at", :null => false - end - - add_index "rails_admin_histories", ["item", "table", "month", "year"], :name => "index_rails_admin_histories" - create_table "referrals", :force => true do |t| t.integer "event_id", :null => false t.integer "referee_id", :null => false @@ -485,6 +404,13 @@ t.datetime "updated_at" end + create_table "releases", :force => true do |t| + t.text "details" + t.datetime "created_at", :null => false + t.datetime "updated_at", :null => false + t.integer "requester_type" + end + create_table "replies", :force => true do |t| t.text "body", :null => false t.integer "repliable_id", :null => false @@ -500,8 +426,8 @@ t.string "name" t.string "email" t.string "sponsor_organization" - t.datetime "created_at" - t.datetime "updated_at" + t.datetime "created_at", :null => false + t.datetime "updated_at", :null => false end create_table "residents", :force => true do |t| @@ -534,20 +460,6 @@ t.datetime "updated_at" end - create_table "roles", :force => true do |t| - t.integer "user_id", :null => false - t.integer "organization_id", :null => false - t.datetime "created_at" - t.datetime "updated_at" - end - - create_table "sent_emails", :force => true do |t| - t.string "tag" - t.integer "community_id" - t.datetime "created_at", :null => false - t.datetime "updated_at", :null => false - end - create_table "stories", :force => true do |t| t.string "title" t.integer "community_id" @@ -648,6 +560,9 @@ t.datetime "updated_at" t.string "first_name", :null => false t.string "last_name", :null => false + t.string "address", :null => false + t.decimal "lat" + t.decimal "lng" t.text "about" t.integer "neighborhood_id", :null => false t.text "interests" @@ -656,7 +571,6 @@ t.boolean "admin", :default => false t.string "state" t.string "avatar_file_name" - t.string "address" t.string "facebook_uid" t.string "oauth2_token" t.integer "community_id" diff --git a/mail/daily_bulletin.rb b/mail/daily_bulletin.rb index e6baa1963..870134ab1 100644 --- a/mail/daily_bulletin.rb +++ b/mail/daily_bulletin.rb @@ -249,7 +249,7 @@ def paid_advertisement_img_url def paid_advertisement_url2 if community.slug.downcase == 'fallschurch' return 'http://www.fallschurchshelterfriends.org/' - if community.slug.downcase == 'vienna' + elsif community.slug.downcase == 'vienna' return 'http://bit.ly/spotcrimem' else return nil diff --git a/spec/acceptance/logging_in_spec.rb b/spec/acceptance/logging_in_spec.rb deleted file mode 100644 index afd7bdaea..000000000 --- a/spec/acceptance/logging_in_spec.rb +++ /dev/null @@ -1,38 +0,0 @@ -require 'spec_helper' - -feature "Logging in", %q{ - In order to interact with CommonPlace - As a registered user - I want to log in -} do - - background do - community = @community = FactoryGirl.create(:community, :slug => "testing") - neighborhood = FactoryGirl.create(:neighborhood, :community => community, - :coordinates => Forgery(:latlng).random) - - stub_geocoder("100 Example Way, #{community.name}", - :latlng => Forgery(:latlng).random(:within => 15, :miles_of => neighborhood.coordinates)) - - FactoryGirl.create(:user, :email => "test@example.com", :password => "password", - :neighborhood_id => neighborhood.id, :community_id => community.id, - :address => "100 Example Way", :referral_source => "Other") - Capybara.app_host = "http://localhost:#{Capybara.server_port}" - end - - - scenario "logging in from the landing page" do - #visit "/#{@community.slug}" - #find("#sign_in_button").click - - #find("form.user").should be_visible - - #within("form.user") do - # fill_in "user[email]", :with => "test@example.com" - # fill_in "user[password]", :with => "password" - # find("input.submit").click - #end - - #current_path.should == "/" - end -end diff --git a/spec/acceptance/support/helpers.rb b/spec/acceptance/support/helpers.rb deleted file mode 100644 index 8f6064b3c..000000000 --- a/spec/acceptance/support/helpers.rb +++ /dev/null @@ -1,23 +0,0 @@ -module Helpers - - def stub_geocoder(address, options) - stub(Geocoder).search(address) { - [OpenStruct.new(:coordinates => options[:latlng], - :latitude => options[:latlng].first, - :longitude => options[:latlng].last)] - } - end - - def login_as(user) - visit '/' - within("form.user_session") do - fill_in "user_session[email]", :with => "test@example.com" - fill_in "user_session[password]", :with => "password" - find("#user_session_submit").click - end - end - -end - -RSpec.configure { |c| c.include Helpers, :type => :request } - diff --git a/spec/bulletins/daily_bulletin_spec.rb b/spec/bulletins/daily_bulletin_spec.rb index a17444bcd..709d03fd5 100644 --- a/spec/bulletins/daily_bulletin_spec.rb +++ b/spec/bulletins/daily_bulletin_spec.rb @@ -17,28 +17,35 @@ let!(:user10) { FactoryGirl.create(:user, community: community_3, neighborhood: FactoryGirl.create(:neighborhood, community_id: community_3.id)) } let!(:user11) { FactoryGirl.create(:user, community: community_3, neighborhood: FactoryGirl.create(:neighborhood, community_id: community_3.id)) } let!(:user12) { FactoryGirl.create(:user, community: community_3, neighborhood: FactoryGirl.create(:neighborhood, community_id: community_3.id)) } + before do - Community.count.should == 4 - User.count.should == 12 - RspecResque.reset! - Resque.enqueue(DailyDigestJob); + expect(Community.count).to eq 4 + expect(User.count).to eq 12 end + describe "Running the job" do it "should enqueue DailyDigestJob" do - DailyDigestJob.should have_queue_size_of(1) + Resque.enqueue(DailyDigestJob) + expect(DailyDigestJob).to have_queue_size_of(1) end it "should enqueue multiple community jobs" do - run_resque(:daily_digest) + DailyDigestJob.perform + CommunityDailyBulletinJob.should have_queue_size_of(Community.count) end it "should enqueue lots of specific daily bulletins" do - run_resque(:daily_digest) - run_resque(:community_daily_bulletin) + [ + community_1, + community_2, + community_3, + community_4, + ].each do |community| + CommunityDailyBulletinJob.perform(community.id, DateTime.current.to_s) + end + DailyBulletin.should have_queue_size_of(User.count) end - end - end diff --git a/spec/factories/user.rb b/spec/factories/user.rb index 933c8ffae..e3a5681d7 100644 --- a/spec/factories/user.rb +++ b/spec/factories/user.rb @@ -6,6 +6,7 @@ longitude 0.0 community_id 1 end + factory :community do name "Test Community" slug "testCommunity" @@ -13,11 +14,11 @@ community.neighborhoods << Factory.build(:neighborhood, :community => community) } end + factory :user do community sequence(:first_name) { |n| "User#{n}" } sequence(:last_name) { |n| "Doe#{n}" } - sequence(:address) { |n| "#{n} Any Lane"} password "foobar" email { "#{first_name}@example.com" } admin false diff --git a/spec/features/nomination/guests_can_nominate_civic_heroes_spec.rb b/spec/features/nomination/guests_can_nominate_civic_heroes_spec.rb new file mode 100644 index 000000000..8faa0f62d --- /dev/null +++ b/spec/features/nomination/guests_can_nominate_civic_heroes_spec.rb @@ -0,0 +1,23 @@ +require "spec_helper" + +feature "Civic hero nomination" do + it "works" do + community = FactoryGirl.create( + :community, + slug: "test", + ) + + page.visit "/#{Community.first.slug}/nominate" + + page.fill_in "Their Full Name", with: "John Doe" + page.fill_in "Their Email Address", with: "jdoe@gmail.com" + page.fill_in "Tell us why you are nominating this person.", with: "Because" + page.fill_in "Your Full Name", with: "Jason Berlinsky" + page.fill_in "Your Email Address", with: "jberlinsky@gmail.com" + + page.click_button "Nominate this person" + + expect(page).to have_content "Thanks for Nominating!" + # expect(CivicHeroNomination.count).to eq 0 + end +end diff --git a/spec/javascripts/helpers/SpecHelper.js b/spec/javascripts/helpers/SpecHelper.js deleted file mode 100644 index e9b8284d6..000000000 --- a/spec/javascripts/helpers/SpecHelper.js +++ /dev/null @@ -1,9 +0,0 @@ -beforeEach(function() { - this.addMatchers({ - toBePlaying: function(expectedSong) { - var player = this.actual; - return player.currentlyPlayingSong === expectedSong && - player.isPlaying; - } - }); -}); diff --git a/spec/javascripts/namespace_spec.js b/spec/javascripts/namespace_spec.js deleted file mode 100644 index 565cc9c6a..000000000 --- a/spec/javascripts/namespace_spec.js +++ /dev/null @@ -1,26 +0,0 @@ -describe("Namespace Sanity", function() { - beforeEach(function() { - }); - - it("CommonPlace namespace should be defined", function() { - expect(CommonPlace).toBeDefined(); - }); - it("CommonPlace.main namespace should be defined", function() { - expect(CommonPlace.main).toBeDefined(); - }); - it("CommonPlace.pages namespace should be defined", function() { - expect(CommonPlace.pages).toBeDefined(); - }); - it("CommonPlace.shared namespace should be defined", function() { - expect(CommonPlace.shared).toBeDefined(); - }); - it("CommonPlace.registration namespace should be defined", function() { - expect(CommonPlace.registration).toBeDefined(); - }); - it("CommonPlace.views namespace should be defined", function() { - expect(CommonPlace.views).toBeDefined(); - }); - it("CommonPlace.wire_item namespace should be defined", function() { - expect(CommonPlace.wire_item).toBeDefined(); - }); -}); diff --git a/spec/javascripts/support/jasmine.yml b/spec/javascripts/support/jasmine.yml deleted file mode 100644 index 961f948a6..000000000 --- a/spec/javascripts/support/jasmine.yml +++ /dev/null @@ -1,81 +0,0 @@ -# src_files -# -# Return an array of filepaths relative to src_dir to include before jasmine specs. -# Default: [] -# -# EXAMPLE: -# -# src_files: -# - lib/source1.js -# - lib/source2.js -# - dist/**/*.js -# -src_files: - - app/javascripts/*.js - - app/javascripts/**/*.js - - app/javascripts/**/**/*.js - - app/javascripts/*.coffee - - app/javascripts/**/*.coffee - - app/javascripts/**/**/*.coffee - -# stylesheets -# -# Return an array of stylesheet filepaths relative to src_dir to include before jasmine specs. -# Default: [] -# -# EXAMPLE: -# -# stylesheets: -# - css/style.css -# - stylesheets/*.css -# -stylesheets: - - stylesheets/**/*.css - -# helpers -# -# Return an array of filepaths relative to spec_dir to include before jasmine specs. -# Default: ["helpers/**/*.js"] -# -# EXAMPLE: -# -# helpers: -# - helpers/**/*.js -# -helpers: - - helpers/**/*.js - -# spec_files -# -# Return an array of filepaths relative to spec_dir to include. -# Default: ["**/*[sS]pec.js"] -# -# EXAMPLE: -# -# spec_files: -# - **/*[sS]pec.js -# -spec_files: - - '**/*[sS]pec.js' - -# src_dir -# -# Source directory path. Your src_files must be returned relative to this path. Will use root if left blank. -# Default: project root -# -# EXAMPLE: -# -# src_dir: public -# -src_dir: - -# spec_dir -# -# Spec directory path. Your spec_files must be returned relative to this path. -# Default: spec/javascripts -# -# EXAMPLE: -# -# spec_dir: spec/javascripts -# -spec_dir: spec/javascripts diff --git a/spec/javascripts/support/jasmine_config.rb b/spec/javascripts/support/jasmine_config.rb deleted file mode 100644 index 47286f230..000000000 --- a/spec/javascripts/support/jasmine_config.rb +++ /dev/null @@ -1,23 +0,0 @@ -module Jasmine - class Config - - # Add your overrides or custom config code here - - end -end - - -# Note - this is necessary for rspec2, which has removed the backtrace -module Jasmine - class SpecBuilder - def declare_spec(parent, spec) - me = self - example_name = spec["name"] - @spec_ids << spec["id"] - backtrace = @example_locations[parent.description + " " + example_name] - parent.it example_name, {} do - me.report_spec(spec["id"]) - end - end - end -end diff --git a/spec/javascripts/support/jasmine_runner.rb b/spec/javascripts/support/jasmine_runner.rb deleted file mode 100644 index f3944f370..000000000 --- a/spec/javascripts/support/jasmine_runner.rb +++ /dev/null @@ -1,32 +0,0 @@ -$:.unshift(ENV['JASMINE_GEM_PATH']) if ENV['JASMINE_GEM_PATH'] # for gem testing purposes - -require 'rubygems' -require 'jasmine' -jasmine_config_overrides = File.expand_path(File.join(File.dirname(__FILE__), 'jasmine_config.rb')) -require jasmine_config_overrides if File.exist?(jasmine_config_overrides) -if Jasmine::Dependencies.rspec2? - require 'rspec' -else - require 'spec' -end - -jasmine_config = Jasmine::Config.new -spec_builder = Jasmine::SpecBuilder.new(jasmine_config) - -should_stop = false - -if Jasmine::Dependencies.rspec2? - RSpec.configuration.after(:suite) do - spec_builder.stop if should_stop - end -else - Spec::Runner.configure do |config| - config.after(:suite) do - spec_builder.stop if should_stop - end - end -end - -spec_builder.start -should_stop = true -spec_builder.declare_suites diff --git a/spec/lib/api_spec.rb b/spec/lib/api_spec.rb index 1cd21a814..f69baf61a 100644 --- a/spec/lib/api_spec.rb +++ b/spec/lib/api_spec.rb @@ -18,17 +18,17 @@ end } - let(:community) { mock_model(Community) } + let(:community) { double("Community", id: 1) } shared_examples "A JSON endpoint" do it "returns a valid JSON response" do - lambda {JSON.parse(last_response.body)}.should_not raise_error(JSON::ParserError) + lambda {JSON.parse(last_response.body)}.should_not raise_error end end before do - stub(User).find_by_authentication_token { true } - stub(Community).find(community.id.to_s) { community } + allow(Community).to receive(:find).with(community.id.to_s).and_return(community) + allow(User).to receive(:find_by_authentication_token).and_return(true) end describe "GET /" do @@ -37,22 +37,4 @@ last_response.should_not be_ok end end - - describe "GET /contacts/authorization_url/yahoo" do - # before do - # stub_request(:post, "https://api.login.yahoo.com/oauth/v2/get_request_token"). - # to_return(:status => 200, :body => "AUTH_TOKEN") - # end - it_behaves_like "A JSON endpoint" do - let(:uri) { "/contacts/authorization_url/yahoo" } - end - - it "receives a valid authentication url" do - #post "/contacts/authorization_url/yahoo", {:return_url => "ourcommonplace.com"} - #@json = JSON.parse last_response.body - #@json.should_not be_nil - #@json[:authentication_url].should_not be_nil - end - end - end diff --git a/spec/lib/community_daily_bulletin_job_spec.rb b/spec/lib/community_daily_bulletin_job_spec.rb index 4efcfddec..c2dee0463 100644 --- a/spec/lib/community_daily_bulletin_job_spec.rb +++ b/spec/lib/community_daily_bulletin_job_spec.rb @@ -2,10 +2,10 @@ describe CommunityDailyBulletinJob do describe "default values" do - subject { CommunityDailyBulletinJob } - its(instance_variable_get("@queue")) { should_not be_nil } + it "has a queue specified" do + expect(CommunityDailyBulletinJob.instance_variable_get("@queue")).not_to be_nil + end end - # TODO: Test perform describe "#perform" do before do diff --git a/spec/lib/cp_credits_calculator_spec.rb b/spec/lib/cp_credits_calculator_spec.rb deleted file mode 100644 index 005c6fadd..000000000 --- a/spec/lib/cp_credits_calculator_spec.rb +++ /dev/null @@ -1,9 +0,0 @@ -require 'spec_helper' - -describe CpCreditsCalculator do - describe "default values" do - subject { CpCreditsCalculator } - its(instance_variable_get("@queue")) { should_not be_nil } - end - # TODO: Test perform -end diff --git a/spec/lib/daily_digest_job_spec.rb b/spec/lib/daily_digest_job_spec.rb index e18cbbc46..0c152365b 100644 --- a/spec/lib/daily_digest_job_spec.rb +++ b/spec/lib/daily_digest_job_spec.rb @@ -1,11 +1,6 @@ require 'spec_helper' describe DailyDigestJob do - describe "default values" do - subject { DailyDigestJob } - its(instance_variable_get("@queue")) { should_not be_nil } - end - describe "#perform" do before do ResqueSpec.reset! diff --git a/spec/lib/email_count_resetter_spec.rb b/spec/lib/email_count_resetter_spec.rb deleted file mode 100644 index 870e63d35..000000000 --- a/spec/lib/email_count_resetter_spec.rb +++ /dev/null @@ -1,9 +0,0 @@ -require 'spec_helper' - -describe EmailCountResetter do - describe "default values" do - subject { EmailCountResetter } - its(instance_variable_get("@queue")) { should_not be_nil } - end - # TODO: Test perform -end diff --git a/spec/lib/heroku_resque_spec.rb b/spec/lib/heroku_resque_spec.rb deleted file mode 100644 index 32cc76354..000000000 --- a/spec/lib/heroku_resque_spec.rb +++ /dev/null @@ -1,17 +0,0 @@ -require 'spec_helper' - -describe HerokuResque::WorkerScaler do - describe "default values" do - subject { HerokuResque::WorkerScaler } - its(instance_variable_get("@queue")) { should_not be_nil } - end - # TODO: Test perform -end - -describe HerokuResque::WebScaler do - describe "default values" do - subject { HerokuResque::WebScaler } - its(instance_variable_get("@queue")) { should_not be_nil } - end - # TODO: Test perform -end diff --git a/spec/lib/rss_importer_spec.rb b/spec/lib/rss_importer_spec.rb deleted file mode 100644 index 90dbc3072..000000000 --- a/spec/lib/rss_importer_spec.rb +++ /dev/null @@ -1,9 +0,0 @@ -require 'spec_helper' - -describe RssImporter do - describe "default values" do - subject { RssImporter } - its(instance_variable_get("@queue")) { should_not be_nil } - end - # TODO: Test perform -end diff --git a/spec/models/message_spec.rb b/spec/models/message_spec.rb index b74313cf9..810a2afdb 100644 --- a/spec/models/message_spec.rb +++ b/spec/models/message_spec.rb @@ -2,34 +2,43 @@ describe Message do describe "#valid?" do - subject { Message.new } - before { subject.valid? } + it "requires certain fields" do + message = Message.new - it { should have(1).errors_on(:subject) } - it { should have(1).errors_on(:body) } - it { should have(1).errors_on(:user) } - it { should have(1).errors_on(:messagable) } + message.valid? + + expect(message.errors.keys).to include :subject + expect(message.errors.keys).to include :body + expect(message.errors.keys).to include :user + expect(message.errors.keys).to include :messagable + end end describe "#most_recent_body" do - let(:message) { mock_model(Message, :body => Forgery(:basic).text) } - context "given a message with no replies" do - before { stub(message).replies { [] } } - - subject { message.most_recent_body } + it "is the message body" do + message = Message.new + allow(message).to receive(:body).and_return(Forgery(:basic).text) + allow(message).to receive(:replies).and_return([]) - it { should == message.body } + expect(message.most_recent_body).to eq message.body + end end context "given a message with replies" do - let(:replies) { Array.new(3) { |i| mock_model(Reply, :body => "body #{i}")} } - - subject { message.most_recent_body } - - before { stub(message).replies { replies } } + it "is the most recent reply" do + message = Message.new + allow(message).to receive(:body).and_return(Forgery(:basic).text) + replies = Array.new(3) do |i| + double( + "Reply", + body: "Body #{i}", + ) + end + allow(message).to receive(:replies).and_return(replies) - it { should == replies.last.body } + expect(message.most_recent_body).to eq message.replies.last.body + end end end diff --git a/spec/models/resident_spec.rb b/spec/models/resident_spec.rb new file mode 100644 index 000000000..f38c81ee7 --- /dev/null +++ b/spec/models/resident_spec.rb @@ -0,0 +1,5 @@ +require "spec_helper" + +describe Resident do + +end diff --git a/spec/models/user_spec.rb b/spec/models/user_spec.rb index 842de4710..48c5468ce 100644 --- a/spec/models/user_spec.rb +++ b/spec/models/user_spec.rb @@ -1,139 +1,108 @@ require 'spec_helper' describe User do - - let(:user) { User.new } - describe "#valid?" do - - before { user.valid? } - - subject { user } - - it { should have_at_least(1).errors_on(:community) } - it { should have_at_least(1).errors_on(:email) } - it { should have_at_least(1).errors_on(:first_name) } - it { should have_at_least(1).errors_on(:first_name) } - it { should have_at_least(1).errors_on(:full_name) } + it "requires certain fields" do + user = User.new - context "on update" do - before { stub(user).new_record? { false } ; user.valid? } + user.valid? - it { should have_at_least(1).errors_on(:address) } - end - - context "on create" do - before { stub(user).new_record? { true } ; user.valid? } - - it { should have_at_least(1).errors_on(:address) } + expect(user.errors.keys).to include :address + expect(user.errors.keys).to include :community + expect(user.errors.keys).to include :email + expect(user.errors.keys).to include :first_name + expect(user.errors.keys).to include :last_name + expect(user.errors.keys).to include :full_name end end describe "#full_name" do it "is composed of first and last names" do - user.first_name = "Bob" - user.last_name = "Joe" - user.full_name.should == "Bob Joe" + user = User.new( + first_name: "Bob", + last_name: "Joe", + ) + + expect(user.full_name).to eq "Bob Joe" end it "is composed of first, middle and last names" do - user.first_name = "Bob" - user.middle_name = "Robert" - user.last_name = "Joe" - user.full_name.should == "Bob Robert Joe" + user = User.new( + first_name: "Bob", + middle_name: "Robert", + last_name: "Joe", + ) + + expect(user.full_name).to eq "Bob Robert Joe" end it "capitalizes the first name and last name" do + user = User.new user.full_name = "billy joel" - user.first_name.should == "Billy" - user.last_name.should == "Joel" + + expect(user.first_name).to eq "Billy" + expect(user.last_name).to eq "Joel" end it "capitalizes first, middle and last names" do + user = User.new user.full_name = "jason ross berlinsky" - user.first_name.should == "Jason" - user.middle_name.should == "Ross" - user.last_name.should == "Berlinsky" + + expect(user.first_name).to eq "Jason" + expect(user.middle_name).to eq "Ross" + expect(user.last_name).to eq "Berlinsky" end it "successfully handles changing away from a middle-named name" do - user.first_name = "Max" - user.middle_name = "Forrest" - user.last_name = "Tilford" - user.full_name.should == "Max Forrest Tilford" + user = User.new( + first_name: "Max", + middle_name: "Forrest", + last_name: "Tilford", + ) user.full_name = "Billy Joel" - user.first_name.should == "Billy" - user.middle_name.should be_empty - user.last_name.should == "Joel" - user.full_name.should == "Billy Joel" + + expect(user.first_name).to eq "Billy" + expect(user.middle_name).to be_empty + expect(user.last_name).to eq "Joel" + expect(user.full_name).to eq "Billy Joel" end it "comprehensively handles a complex middle name" do + user = User.new user.full_name = "jason r w berlinsky" - user.first_name.should == "Jason" - user.last_name.should == "Berlinsky" - user.middle_name.should == "R W" + + expect(user.first_name).to eq "Jason" + expect(user.last_name).to eq "Berlinsky" + expect(user.middle_name).to eq "R W" end - + it "handles =(nil) gracefully" do + user = User.new user.full_name = nil - user.first_name.should == "" - user.last_name.should == "" + + expect(user.first_name).to eq "" + expect(user.last_name).to eq "" end - + it "handles =('') gracefully" do + user = User.new user.full_name = "" - user.first_name.should == "" - user.last_name.should == "" - end - end - - describe "#inbox" do - let(:user) do - u = User.new do |u| - stub(u).received_messages = Array.new(3) { - mock_model(Message, :updated_at => rand(10).hours.ago) - } - stub(u).messages = Array.new(3) { - mock_model(Message, :updated_at => rand(10).hours.ago) - } - end - end - it "includes received messages" do - user.inbox.should include(*user.received_messages) + expect(user.first_name).to eq "" + expect(user.last_name).to eq "" end - - it "includes sent messages" do - user.inbox.should include(*user.messages) - end - - it "orders messages most recently updated first" do - user.inbox.should == user.inbox.sort {|m,n| n.updated_at <=> m.updated_at } - end - end describe "#send_reset_password_instructions" do - let(:user) { User.new {|u| - u.kickoff = kickoff - stub(u).generate_reset_password_token! - } - } - let(:kickoff) { - KickOff.new.tap {|k| - stub(k).deliver_password_reset - } - } - before { user.send_reset_password_instructions } - it "regenerates reset_password_token" do - user.should have_received.generate_reset_password_token! - end + user = User.new + allow(user).to receive(:generate_reset_password_token!) + allow_any_instance_of(KickOff).to receive(:deliver_password_reset) + + user.send_reset_password_instructions - it "sends a reset password email" do - kickoff.should have_received.deliver_password_reset(user) + expect(user).to have_received(:generate_reset_password_token!).exactly(1).times end end diff --git a/spec/nanny/gemfile_spec.rb b/spec/nanny/gemfile_spec.rb deleted file mode 100644 index 05e53ef66..000000000 --- a/spec/nanny/gemfile_spec.rb +++ /dev/null @@ -1,24 +0,0 @@ -require "spec_helper" - -describe "The bundler Gemfile", :nanny => true do - let(:gemfile_contents) { File.read(Rails.root.join("Gemfile")) } - - describe "the contents" do - it "should use hashrock syntax only" do - gemfile_contents.split("\n").each do |line| - fail(line) if line=~ /\s(require|git|version|branch|path):\s/ - end - end - it "should only reference public git urls so deploys do not break" do - gemfile_contents.split("\n").each do |line| - fail(line) if line=~ /@github.com/ - end - end - - it "should contain exact version numbers for all gems" do - gemfile_contents.split("\n").select { |l| l.include? 'gem "' or l.include? "gem '" }.each do |line| - fail(line) unless line =~ /(["']= (.*)["']|ref)/ - end - end - end -end diff --git a/spec/rr_patch.rb b/spec/rr_patch.rb deleted file mode 100644 index cec3d3a13..000000000 --- a/spec/rr_patch.rb +++ /dev/null @@ -1,106 +0,0 @@ -module RSpec::Rails::Mocks - - module NullObject - include ::RR::Space::Reader - - def method_missing(method_name, *args, &block) - space.record_call(self, method_name, args, block) - nil - end - end - - # Creates a mock object instance for a +model_class+ with common - # methods stubbed out. Additional methods may be easily stubbed (via - # add_stubs) if +stubs+ is passed. - def mock_model(model_class, options_and_stubs = {}) - @options = parse_options(options_and_stubs) - - m = model_class.new - id = next_id - - # our equivalent to Rspecs :errors => ''# stub("errors", :count => 0) - stub(errors_stub = Object.new).count{0} - - options_and_stubs.reverse_merge!( - :id => id, - :to_param => "#{id}", - :new_record? => false, - :errors => errors_stub - ) - - m.extend NullObject if null_object? - - options_and_stubs.each do |method,value| - stub(m).__send__(method) { value } - end - - yield m if block_given? - m - end - - def stub_model(model_class, stubs={}) - stubs = {:id => next_id}.merge(stubs) - @options = parse_options(stubs) - - returning model_class.new do |model| - model.extend NullObject if null_object? - - model.id = stubs.delete(:id) - model.extend Spec::Rails::Mocks::ModelStubber - stubs.each do |k,v| - if model.has_attribute?(k) - model[k] = stubs.delete(k) - end - end - stubs.each do |k,v| - stub(model).__send__(k) { v } - end - yield model if block_given? - end - end - - private - def parse_options(options) - options.has_key?(:null_object) ? {:null_object => options.delete(:null_object)} : {} - end - - def null_object? - @options[:null_object] - end - -end - -module RR - module Adapters - module RSpec2 - include RRMethods - - def setup_mocks_for_rspec - RR.reset - end - - def verify_mocks_for_rspec - RR.verify - end - def teardown_mocks_for_rspec - RR.reset - end - - def have_received(method = nil) - RR::Adapters::Rspec::InvocationMatcher.new(method) - end - - end - end -end - -RSpec.configuration.backtrace_clean_patterns.push(RR::Errors::BACKTRACE_IDENTIFIER) - -module RSpec - module Core - module MockFrameworkAdapter - include RR::Adapters::RSpec2 - end - end -end - diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb index 69efe9d84..2dc1fccc1 100644 --- a/spec/spec_helper.rb +++ b/spec/spec_helper.rb @@ -1,43 +1,32 @@ +require File.expand_path("../../config/environment", __FILE__) +# require 'rspec/rails' +require 'rspec/rails' +require 'capybara/rspec' +require "capybara-screenshot/rspec" +require "database_cleaner" +require "resque_spec" -require 'spork' +include Capybara::DSL -Spork.prefork do - ENV["RAILS_ENV"] ||= 'test' - require File.expand_path("../../config/environment", __FILE__) - require 'rspec/rails' - require 'capybara/rspec' - require 'capybara/rails' - require 'rr_patch' +Dir[Rails.root.join("spec/support/**/*.rb")].each {|f| require f} +Dir[Rails.root.join("spec/acceptance/support/**/*.rb")].each {|f| require f} - Dir[Rails.root.join("spec/support/**/*.rb")].each {|f| require f} - Dir[Rails.root.join("spec/acceptance/support/**/*.rb")].each {|f| require f} +RSpec.configure do |config| + config.include Features, type: :feature + config.include FactoryGirl::Syntax::Methods - RSpec.configure do |config| - config.use_transactional_examples = false + config.infer_spec_type_from_file_location! + config.use_transactional_fixtures = false - config.mock_with :rr - - config.before :all do - stub(Geocoder).search - end - - config.before :suite do - DatabaseCleaner.strategy = :transaction - # DatabaseCleaner.clean_with(:truncation) - end - - config.before :each do - DatabaseCleaner.start - end - - config.after :each do - DatabaseCleaner.clean - end + config.before :suite do + DatabaseCleaner.strategy = :transaction + end - config.include Matchers - config.include Helpers, :type => :request + config.before :each do + DatabaseCleaner.start end + config.after :each do + DatabaseCleaner.clean + end end - -Spork.each_run { } diff --git a/spec/support/factories.rb b/spec/support/factories.rb index 3e4914c8f..b42b8235e 100644 --- a/spec/support/factories.rb +++ b/spec/support/factories.rb @@ -4,12 +4,11 @@ f.time_zone { "Eastern Time (US & Canada)" } f.zip_code { "02132" } f.slug { Forgery(:address).city } - f.network_type { "type" } end factory :neighborhood do |f| f.name { Forgery(:address).street_name } - f.association :community + f.association :community end @@ -45,7 +44,7 @@ f.name { Forgery(:name).company_name } f.about { Forgery(:basic).text } end - + factory :message do |f| f.association :user f.association :recipient, :factory => :user diff --git a/spec/support/features.rb b/spec/support/features.rb new file mode 100644 index 000000000..7b07ca311 --- /dev/null +++ b/spec/support/features.rb @@ -0,0 +1,3 @@ +module Features + +end diff --git a/spec/support/matchers.rb b/spec/support/matchers.rb deleted file mode 100644 index 5c829fc58..000000000 --- a/spec/support/matchers.rb +++ /dev/null @@ -1,12 +0,0 @@ -module Matchers - - def have_queued(*args) - have_received.enqueue(*args) - end - - - def have_received(method = nil) - RR::Adapters::Rspec::InvocationMatcher.new(method) - end - -end diff --git a/vendor/cache/bootstrap-sass-2.1.1.0.gem b/vendor/cache/bootstrap-sass-2.1.1.0.gem deleted file mode 100644 index 2f8ad0538..000000000 Binary files a/vendor/cache/bootstrap-sass-2.1.1.0.gem and /dev/null differ diff --git a/vendor/cache/bootstrap-sass-2.3.2.2.gem b/vendor/cache/bootstrap-sass-2.3.2.2.gem new file mode 100644 index 000000000..7f26fc592 Binary files /dev/null and b/vendor/cache/bootstrap-sass-2.3.2.2.gem differ diff --git a/vendor/cache/capybara-1.1.2.gem b/vendor/cache/capybara-1.1.2.gem deleted file mode 100644 index bc1c496d4..000000000 Binary files a/vendor/cache/capybara-1.1.2.gem and /dev/null differ diff --git a/vendor/cache/capybara-2.5.0.gem b/vendor/cache/capybara-2.5.0.gem new file mode 100644 index 000000000..3b559dc17 Binary files /dev/null and b/vendor/cache/capybara-2.5.0.gem differ diff --git a/vendor/cache/capybara-screenshot-1.0.11.gem b/vendor/cache/capybara-screenshot-1.0.11.gem new file mode 100644 index 000000000..30677bbc4 Binary files /dev/null and b/vendor/cache/capybara-screenshot-1.0.11.gem differ diff --git a/vendor/cache/childprocess-0.5.2.gem b/vendor/cache/childprocess-0.5.2.gem deleted file mode 100644 index dd76150f8..000000000 Binary files a/vendor/cache/childprocess-0.5.2.gem and /dev/null differ diff --git a/vendor/cache/chunky_png-1.3.0.gem b/vendor/cache/chunky_png-1.3.0.gem deleted file mode 100644 index 46efa636b..000000000 Binary files a/vendor/cache/chunky_png-1.3.0.gem and /dev/null differ diff --git a/vendor/cache/chunky_png-1.3.5.gem b/vendor/cache/chunky_png-1.3.5.gem new file mode 100644 index 000000000..098c11e4a Binary files /dev/null and b/vendor/cache/chunky_png-1.3.5.gem differ diff --git a/vendor/cache/coffee-script-2.2.0.gem b/vendor/cache/coffee-script-2.2.0.gem deleted file mode 100644 index c33f4d951..000000000 Binary files a/vendor/cache/coffee-script-2.2.0.gem and /dev/null differ diff --git a/vendor/cache/coffee-script-2.4.1.gem b/vendor/cache/coffee-script-2.4.1.gem new file mode 100644 index 000000000..7e4066d15 Binary files /dev/null and b/vendor/cache/coffee-script-2.4.1.gem differ diff --git a/vendor/cache/coffee-script-source-1.10.0.gem b/vendor/cache/coffee-script-source-1.10.0.gem new file mode 100644 index 000000000..0bc7d0283 Binary files /dev/null and b/vendor/cache/coffee-script-source-1.10.0.gem differ diff --git a/vendor/cache/coffee-script-source-1.7.0.gem b/vendor/cache/coffee-script-source-1.7.0.gem deleted file mode 100644 index 69e25933e..000000000 Binary files a/vendor/cache/coffee-script-source-1.7.0.gem and /dev/null differ diff --git a/vendor/cache/compass-0.12.7.gem b/vendor/cache/compass-0.12.7.gem new file mode 100644 index 000000000..5205dbf39 Binary files /dev/null and b/vendor/cache/compass-0.12.7.gem differ diff --git a/vendor/cache/compass-0.12.alpha.0.gem b/vendor/cache/compass-0.12.alpha.0.gem deleted file mode 100644 index 12d7b881c..000000000 Binary files a/vendor/cache/compass-0.12.alpha.0.gem and /dev/null differ diff --git a/vendor/cache/compass-rails-1.1.6.gem b/vendor/cache/compass-rails-1.1.6.gem new file mode 100644 index 000000000..7955b0e0b Binary files /dev/null and b/vendor/cache/compass-rails-1.1.6.gem differ diff --git a/vendor/cache/execjs-2.0.2.gem b/vendor/cache/execjs-2.0.2.gem deleted file mode 100644 index fdfcb2ec1..000000000 Binary files a/vendor/cache/execjs-2.0.2.gem and /dev/null differ diff --git a/vendor/cache/execjs-2.6.0.gem b/vendor/cache/execjs-2.6.0.gem new file mode 100644 index 000000000..6b4c33561 Binary files /dev/null and b/vendor/cache/execjs-2.6.0.gem differ diff --git a/vendor/cache/ffi-1.9.3.gem b/vendor/cache/ffi-1.9.3.gem deleted file mode 100644 index 9def69d60..000000000 Binary files a/vendor/cache/ffi-1.9.3.gem and /dev/null differ diff --git a/vendor/cache/fuubar-1.0.0.gem b/vendor/cache/fuubar-1.0.0.gem deleted file mode 100644 index de1e93855..000000000 Binary files a/vendor/cache/fuubar-1.0.0.gem and /dev/null differ diff --git a/vendor/cache/haml-3.1.4.gem b/vendor/cache/haml-3.1.4.gem deleted file mode 100644 index de1366155..000000000 Binary files a/vendor/cache/haml-3.1.4.gem and /dev/null differ diff --git a/vendor/cache/haml-3.1.8.gem b/vendor/cache/haml-3.1.8.gem new file mode 100644 index 000000000..e43a14677 Binary files /dev/null and b/vendor/cache/haml-3.1.8.gem differ diff --git a/vendor/cache/i18n-0.6.0.gem b/vendor/cache/i18n-0.6.0.gem deleted file mode 100644 index 1ad8176f1..000000000 Binary files a/vendor/cache/i18n-0.6.0.gem and /dev/null differ diff --git a/vendor/cache/i18n-0.7.0.gem b/vendor/cache/i18n-0.7.0.gem new file mode 100644 index 000000000..6f8cf7357 Binary files /dev/null and b/vendor/cache/i18n-0.7.0.gem differ diff --git a/vendor/cache/jasmine-1.2.1.gem b/vendor/cache/jasmine-1.2.1.gem deleted file mode 100644 index d41ccecda..000000000 Binary files a/vendor/cache/jasmine-1.2.1.gem and /dev/null differ diff --git a/vendor/cache/jasmine-core-2.0.0.gem b/vendor/cache/jasmine-core-2.0.0.gem deleted file mode 100644 index 8327bbdce..000000000 Binary files a/vendor/cache/jasmine-core-2.0.0.gem and /dev/null differ diff --git a/vendor/cache/jquery-rails-3.1.0.gem b/vendor/cache/jquery-rails-3.1.0.gem deleted file mode 100644 index 0fcb39e2c..000000000 Binary files a/vendor/cache/jquery-rails-3.1.0.gem and /dev/null differ diff --git a/vendor/cache/jquery-rails-3.1.4.gem b/vendor/cache/jquery-rails-3.1.4.gem new file mode 100644 index 000000000..47f23b6ce Binary files /dev/null and b/vendor/cache/jquery-rails-3.1.4.gem differ diff --git a/vendor/cache/kaminari-0.15.1.gem b/vendor/cache/kaminari-0.15.1.gem deleted file mode 100644 index a4ea35bab..000000000 Binary files a/vendor/cache/kaminari-0.15.1.gem and /dev/null differ diff --git a/vendor/cache/kaminari-0.16.3.gem b/vendor/cache/kaminari-0.16.3.gem new file mode 100644 index 000000000..8c4393300 Binary files /dev/null and b/vendor/cache/kaminari-0.16.3.gem differ diff --git a/vendor/cache/polyglot-0.3.4.gem b/vendor/cache/polyglot-0.3.4.gem deleted file mode 100644 index 21e7fa61f..000000000 Binary files a/vendor/cache/polyglot-0.3.4.gem and /dev/null differ diff --git a/vendor/cache/polyglot-0.3.5.gem b/vendor/cache/polyglot-0.3.5.gem new file mode 100644 index 000000000..5e43bae97 Binary files /dev/null and b/vendor/cache/polyglot-0.3.5.gem differ diff --git a/vendor/cache/rack-pjax-0.7.0.gem b/vendor/cache/rack-pjax-0.7.0.gem deleted file mode 100644 index 5ca20f714..000000000 Binary files a/vendor/cache/rack-pjax-0.7.0.gem and /dev/null differ diff --git a/vendor/cache/rack-pjax-0.8.0.gem b/vendor/cache/rack-pjax-0.8.0.gem new file mode 100644 index 000000000..71d347832 Binary files /dev/null and b/vendor/cache/rack-pjax-0.8.0.gem differ diff --git a/vendor/cache/resque_spec-0.17.0.gem b/vendor/cache/resque_spec-0.17.0.gem new file mode 100644 index 000000000..8c8a9fb04 Binary files /dev/null and b/vendor/cache/resque_spec-0.17.0.gem differ diff --git a/vendor/cache/rmagick-2.13.2.gem b/vendor/cache/rmagick-2.13.2.gem deleted file mode 100644 index b208397a2..000000000 Binary files a/vendor/cache/rmagick-2.13.2.gem and /dev/null differ diff --git a/vendor/cache/rmagick-2.15.4.gem b/vendor/cache/rmagick-2.15.4.gem new file mode 100644 index 000000000..0951577be Binary files /dev/null and b/vendor/cache/rmagick-2.15.4.gem differ diff --git a/vendor/cache/rr-1.0.4.gem b/vendor/cache/rr-1.0.4.gem deleted file mode 100644 index 0def665a8..000000000 Binary files a/vendor/cache/rr-1.0.4.gem and /dev/null differ diff --git a/vendor/cache/rspec-2.14.1.gem b/vendor/cache/rspec-2.14.1.gem deleted file mode 100644 index ea2c04a53..000000000 Binary files a/vendor/cache/rspec-2.14.1.gem and /dev/null differ diff --git a/vendor/cache/rspec-core-2.14.8.gem b/vendor/cache/rspec-core-2.14.8.gem deleted file mode 100644 index e3e1bc65f..000000000 Binary files a/vendor/cache/rspec-core-2.14.8.gem and /dev/null differ diff --git a/vendor/cache/rspec-core-3.2.3.gem b/vendor/cache/rspec-core-3.2.3.gem new file mode 100644 index 000000000..7ed2dcff9 Binary files /dev/null and b/vendor/cache/rspec-core-3.2.3.gem differ diff --git a/vendor/cache/rspec-expectations-2.14.5.gem b/vendor/cache/rspec-expectations-2.14.5.gem deleted file mode 100644 index 227956382..000000000 Binary files a/vendor/cache/rspec-expectations-2.14.5.gem and /dev/null differ diff --git a/vendor/cache/rspec-expectations-3.2.1.gem b/vendor/cache/rspec-expectations-3.2.1.gem new file mode 100644 index 000000000..c8cbc6cea Binary files /dev/null and b/vendor/cache/rspec-expectations-3.2.1.gem differ diff --git a/vendor/cache/rspec-instafail-0.2.4.gem b/vendor/cache/rspec-instafail-0.2.4.gem deleted file mode 100644 index 05a61db63..000000000 Binary files a/vendor/cache/rspec-instafail-0.2.4.gem and /dev/null differ diff --git a/vendor/cache/rspec-mocks-2.14.6.gem b/vendor/cache/rspec-mocks-2.14.6.gem deleted file mode 100644 index 569ae48be..000000000 Binary files a/vendor/cache/rspec-mocks-2.14.6.gem and /dev/null differ diff --git a/vendor/cache/rspec-mocks-3.2.1.gem b/vendor/cache/rspec-mocks-3.2.1.gem new file mode 100644 index 000000000..12eec5c16 Binary files /dev/null and b/vendor/cache/rspec-mocks-3.2.1.gem differ diff --git a/vendor/cache/rspec-rails-2.14.2.gem b/vendor/cache/rspec-rails-2.14.2.gem deleted file mode 100644 index a85bc7674..000000000 Binary files a/vendor/cache/rspec-rails-2.14.2.gem and /dev/null differ diff --git a/vendor/cache/rspec-rails-3.2.3.gem b/vendor/cache/rspec-rails-3.2.3.gem new file mode 100644 index 000000000..12b20a6f6 Binary files /dev/null and b/vendor/cache/rspec-rails-3.2.3.gem differ diff --git a/vendor/cache/rspec-support-3.2.2.gem b/vendor/cache/rspec-support-3.2.2.gem new file mode 100644 index 000000000..612a74c6c Binary files /dev/null and b/vendor/cache/rspec-support-3.2.2.gem differ diff --git a/vendor/cache/ruby-progressbar-0.0.10.gem b/vendor/cache/ruby-progressbar-0.0.10.gem deleted file mode 100644 index 0fe57054a..000000000 Binary files a/vendor/cache/ruby-progressbar-0.0.10.gem and /dev/null differ diff --git a/vendor/cache/rubyzip-1.1.2.gem b/vendor/cache/rubyzip-1.1.2.gem deleted file mode 100644 index e6f9e87e4..000000000 Binary files a/vendor/cache/rubyzip-1.1.2.gem and /dev/null differ diff --git a/vendor/cache/rubyzip-1.1.7.gem b/vendor/cache/rubyzip-1.1.7.gem new file mode 100644 index 000000000..5bcdc90b1 Binary files /dev/null and b/vendor/cache/rubyzip-1.1.7.gem differ diff --git a/vendor/cache/sass-3.1.15.gem b/vendor/cache/sass-3.1.15.gem deleted file mode 100644 index fe10c1583..000000000 Binary files a/vendor/cache/sass-3.1.15.gem and /dev/null differ diff --git a/vendor/cache/sass-3.2.19.gem b/vendor/cache/sass-3.2.19.gem new file mode 100644 index 000000000..fe0af43d4 Binary files /dev/null and b/vendor/cache/sass-3.2.19.gem differ diff --git a/vendor/cache/sass-rails-3.2.4.gem b/vendor/cache/sass-rails-3.2.4.gem deleted file mode 100644 index 85a4f6ceb..000000000 Binary files a/vendor/cache/sass-rails-3.2.4.gem and /dev/null differ diff --git a/vendor/cache/sass-rails-3.2.6.gem b/vendor/cache/sass-rails-3.2.6.gem new file mode 100644 index 000000000..6158bf4be Binary files /dev/null and b/vendor/cache/sass-rails-3.2.6.gem differ diff --git a/vendor/cache/selenium-webdriver-2.41.0.gem b/vendor/cache/selenium-webdriver-2.41.0.gem deleted file mode 100644 index 3c37f0b98..000000000 Binary files a/vendor/cache/selenium-webdriver-2.41.0.gem and /dev/null differ diff --git a/vendor/cache/sprockets-2.2.1.gem b/vendor/cache/sprockets-2.2.1.gem deleted file mode 100644 index ac27482f9..000000000 Binary files a/vendor/cache/sprockets-2.2.1.gem and /dev/null differ diff --git a/vendor/cache/sprockets-2.2.3.gem b/vendor/cache/sprockets-2.2.3.gem new file mode 100644 index 000000000..e49b90bde Binary files /dev/null and b/vendor/cache/sprockets-2.2.3.gem differ diff --git a/vendor/cache/uglifier-1.2.3.gem b/vendor/cache/uglifier-1.2.3.gem deleted file mode 100644 index a48cf6fe9..000000000 Binary files a/vendor/cache/uglifier-1.2.3.gem and /dev/null differ diff --git a/vendor/cache/uglifier-2.2.1.gem b/vendor/cache/uglifier-2.2.1.gem new file mode 100644 index 000000000..ad04b527c Binary files /dev/null and b/vendor/cache/uglifier-2.2.1.gem differ diff --git a/vendor/cache/websocket-1.0.7.gem b/vendor/cache/websocket-1.0.7.gem deleted file mode 100644 index d1d22d6e1..000000000 Binary files a/vendor/cache/websocket-1.0.7.gem and /dev/null differ diff --git a/vendor/cache/xpath-0.1.4.gem b/vendor/cache/xpath-0.1.4.gem deleted file mode 100644 index 2fc7bffe6..000000000 Binary files a/vendor/cache/xpath-0.1.4.gem and /dev/null differ diff --git a/vendor/cache/xpath-2.0.0.gem b/vendor/cache/xpath-2.0.0.gem new file mode 100644 index 000000000..fedf0e2de Binary files /dev/null and b/vendor/cache/xpath-2.0.0.gem differ