aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Gemfile28
-rw-r--r--Gemfile.lock120
-rw-r--r--app/assets/images/icons/accept.pngbin0 -> 781 bytes
-rw-r--r--app/assets/images/icons/add-small.pngbin0 -> 401 bytes
-rw-r--r--app/assets/images/icons/add.pngbin0 -> 733 bytes
-rw-r--r--app/assets/images/icons/alert.pngbin0 -> 598 bytes
-rw-r--r--app/assets/images/icons/download.pngbin0 -> 1089 bytes
-rw-r--r--app/assets/images/icons/edit-small.pngbin0 -> 344 bytes
-rw-r--r--app/assets/images/icons/edit.pngbin0 -> 450 bytes
-rw-r--r--app/assets/images/icons/export.pngbin0 -> 1509 bytes
-rw-r--r--app/assets/images/icons/remove-small.pngbin0 -> 371 bytes
-rw-r--r--app/assets/images/icons/remove.pngbin0 -> 868 bytes
-rw-r--r--app/assets/images/icons/viewer.pngbin0 -> 1307 bytes
-rw-r--r--app/assets/images/icons/warning.pngbin0 -> 666 bytes
-rw-r--r--app/assets/images/logo_chouette.pngbin8860 -> 7148 bytes
-rw-r--r--app/assets/javascripts/application.js1
-rw-r--r--app/assets/javascripts/plugins/bootstrap.min.js11
-rw-r--r--app/assets/javascripts/plugins/jquery.ui.datepicker-i18n.js78
-rw-r--r--app/assets/stylesheets/application.css11
-rw-r--r--app/assets/stylesheets/application.css.scss41
-rw-r--r--app/assets/stylesheets/common.css.scss4
-rw-r--r--app/assets/stylesheets/common/mixins.css.scss81
-rw-r--r--app/assets/stylesheets/layout.css.scss129
-rw-r--r--app/assets/stylesheets/legacy.css.scss207
-rw-r--r--app/assets/stylesheets/main/access_links.css.scss (renamed from app/assets/stylesheets/access_links.css.scss)2
-rw-r--r--app/assets/stylesheets/main/access_points.css.scss (renamed from app/assets/stylesheets/access_points.css.scss)12
-rw-r--r--app/assets/stylesheets/main/api_keys.css.scss (renamed from app/assets/stylesheets/api_keys.css.scss)9
-rw-r--r--app/assets/stylesheets/main/calendar.css.scss (renamed from app/assets/stylesheets/calendar.css.scss)0
-rw-r--r--app/assets/stylesheets/main/companies.css.scss (renamed from app/assets/stylesheets/companies.css.scss)10
-rw-r--r--app/assets/stylesheets/main/compliance_check_tasks.css.scss (renamed from app/assets/stylesheets/compliance_check_tasks.css.scss)22
-rw-r--r--app/assets/stylesheets/main/connection_links.css.scss (renamed from app/assets/stylesheets/connection_links.css.scss)19
-rw-r--r--app/assets/stylesheets/main/errors.css.scss (renamed from app/assets/stylesheets/errors.css.scss)0
-rw-r--r--app/assets/stylesheets/main/exports.css.scss (renamed from app/assets/stylesheets/exports.css.scss)20
-rw-r--r--app/assets/stylesheets/main/group_of_lines.css.scss (renamed from app/assets/stylesheets/group_of_lines.css.scss)20
-rw-r--r--app/assets/stylesheets/main/help.css.scss (renamed from app/assets/stylesheets/help.css.scss)0
-rw-r--r--app/assets/stylesheets/main/import_tasks.css.scss (renamed from app/assets/stylesheets/import_tasks.css.scss)23
-rw-r--r--app/assets/stylesheets/main/journey_patterns.css.scss (renamed from app/assets/stylesheets/journey_patterns.css.scss)18
-rw-r--r--app/assets/stylesheets/main/layout.css.scss408
-rw-r--r--app/assets/stylesheets/main/lines.css.scss (renamed from app/assets/stylesheets/lines.css.scss)32
-rw-r--r--app/assets/stylesheets/main/multiple_selection.scss (renamed from app/assets/stylesheets/multiple_selection.scss)0
-rw-r--r--app/assets/stylesheets/main/networks.css.scss (renamed from app/assets/stylesheets/networks.css.scss)11
-rw-r--r--app/assets/stylesheets/main/organisations.css.scss (renamed from app/assets/stylesheets/organisations.css.scss)9
-rw-r--r--app/assets/stylesheets/main/referentials.css.scss (renamed from app/assets/stylesheets/referentials.css.scss)9
-rw-r--r--app/assets/stylesheets/main/routes.css.scss (renamed from app/assets/stylesheets/routes.css.scss)39
-rw-r--r--app/assets/stylesheets/main/rule_parameter_sets.css.scss (renamed from app/assets/stylesheets/rule_parameter_sets.css.scss)10
-rw-r--r--app/assets/stylesheets/main/stop_areas.css.scss (renamed from app/assets/stylesheets/stop_areas.css.scss)31
-rw-r--r--app/assets/stylesheets/main/stop_points.css.scss (renamed from app/assets/stylesheets/stop_points.css.scss)10
-rw-r--r--app/assets/stylesheets/main/subscriptions.css.scss (renamed from app/assets/stylesheets/subscriptions.css.scss)1
-rw-r--r--app/assets/stylesheets/main/time_tables.css.scss (renamed from app/assets/stylesheets/time_tables.css.scss)9
-rw-r--r--app/assets/stylesheets/main/token-input.css (renamed from app/assets/stylesheets/token-input.css)0
-rw-r--r--app/assets/stylesheets/main/users.css.scss (renamed from app/assets/stylesheets/users.css.scss)1
-rw-r--r--app/assets/stylesheets/main/vehicle_journey_imports.css.scss (renamed from app/assets/stylesheets/vehicle_journey_imports.css.scss)2
-rw-r--r--app/assets/stylesheets/main/vehicle_journeys.css.scss79
-rw-r--r--app/assets/stylesheets/main/welcome.css.scss (renamed from app/assets/stylesheets/welcome.css.scss)0
-rw-r--r--app/assets/stylesheets/pagination.css.scss57
-rw-r--r--app/assets/stylesheets/plugins/bootstrap.min.css11
-rw-r--r--app/assets/stylesheets/plugins/formtastic.css.scss34
-rw-r--r--app/assets/stylesheets/vehicle_journeys.css.scss199
-rw-r--r--app/assets/stylesheets/vendor/formtastic.css.scss29
-rw-r--r--app/assets/stylesheets/vendor/jquery.qtip.min.css (renamed from app/assets/stylesheets/jquery.qtip.min.css)0
-rw-r--r--app/assets/stylesheets/vendor/openlayers_framedCloud.css (renamed from app/assets/stylesheets/openlayers_framedCloud.css)0
-rw-r--r--app/assets/stylesheets/vendor/openlayers_google.css (renamed from app/assets/stylesheets/openlayers_google.css)0
-rw-r--r--app/assets/stylesheets/vendor/openlayers_ie6-style.css (renamed from app/assets/stylesheets/openlayers_ie6-style.css)0
-rw-r--r--app/assets/stylesheets/vendor/openlayers_style.css (renamed from app/assets/stylesheets/openlayers_style.css)0
-rw-r--r--app/assets/stylesheets/vendor/pagination.css.scss22
-rw-r--r--app/assets/stylesheets/vendor/tipsy.css (renamed from app/assets/stylesheets/plugins/tipsy.css)0
-rw-r--r--app/helpers/pagination_helper.rb14
-rw-r--r--app/helpers/stop_areas_helper.rb4
-rw-r--r--app/helpers/tabs_helper.rb9
-rw-r--r--app/views/companies/index.html.erb6
-rw-r--r--app/views/compliance_check_tasks/index.html.erb4
-rw-r--r--app/views/connection_links/_form.erb30
-rw-r--r--app/views/connection_links/index.html.erb4
-rw-r--r--app/views/devise/_links.erb41
-rw-r--r--app/views/devise/confirmations/new.html.erb13
-rw-r--r--app/views/devise/mailer/confirmation_instructions.fr.html.erb6
-rw-r--r--app/views/devise/mailer/confirmation_instructions.html.erb5
-rw-r--r--app/views/devise/mailer/invitation_instructions.fr.html.erb8
-rw-r--r--app/views/devise/mailer/reset_password_instructions.fr.html.erb9
-rw-r--r--app/views/devise/mailer/reset_password_instructions.html.erb8
-rw-r--r--app/views/devise/mailer/unlock_instructions.html.erb7
-rw-r--r--app/views/devise/passwords/edit.html.erb17
-rw-r--r--app/views/devise/passwords/new.html.erb13
-rw-r--r--app/views/devise/registrations/edit.html.erb27
-rw-r--r--app/views/devise/registrations/new.html.erb16
-rw-r--r--app/views/devise/sessions/new.html.erb19
-rw-r--r--app/views/devise/shared/links.erb32
-rw-r--r--app/views/devise/unlocks/new.html.erb12
-rw-r--r--app/views/exports/index.html.erb14
-rw-r--r--app/views/group_of_lines/index.html.erb4
-rw-r--r--app/views/import_tasks/index.html.erb4
-rw-r--r--app/views/journey_patterns/_stop_points_detail.html.erb10
-rw-r--r--app/views/journey_patterns/show.html.erb4
-rw-r--r--app/views/layouts/application.html.erb67
-rw-r--r--app/views/lines/index.html.erb14
-rw-r--r--app/views/lines/show.html.erb10
-rw-r--r--app/views/networks/index.html.erb23
-rw-r--r--app/views/referentials/_form.erb6
-rw-r--r--app/views/referentials/show.html.erb2
-rw-r--r--app/views/routes/show.html.erb48
-rw-r--r--app/views/stop_areas/_form.html.erb81
-rw-r--r--app/views/stop_areas/edit.html.erb3
-rw-r--r--app/views/stop_areas/index.html.erb23
-rw-r--r--app/views/stop_areas/show.html.erb10
-rw-r--r--app/views/time_tables/index.html.erb4
-rw-r--r--app/views/vehicle_journeys/_time_table.html.erb5
-rw-r--r--app/views/vehicle_journeys/index.html.erb12
-rw-r--r--app/views/vehicle_journeys/show.html.erb59
-rw-r--r--config/locales/devise.en.yml94
-rw-r--r--config/locales/devise.fr.yml59
-rw-r--r--config/locales/devise_invitable.en.yml21
-rw-r--r--config/locales/devise_invitable.fr.yml21
-rw-r--r--config/locales/journey_patterns.yml12
-rw-r--r--config/locales/time_tables.yml12
114 files changed, 1337 insertions, 1458 deletions
diff --git a/Gemfile b/Gemfile
index 69df059b2..207672326 100644
--- a/Gemfile
+++ b/Gemfile
@@ -1,6 +1,6 @@
source 'http://rubygems.org'
-gem 'rails', '3.2.6'
+gem 'rails', '3.2.18'
platforms :jruby do
gem 'activerecord-jdbcpostgresql-adapter', '1.2.9'
@@ -25,20 +25,27 @@ gem 'devise_invitable'
# Map, Geolocalization
gem "map_layers", "0.0.4"
gem "georuby-ext", "0.0.5"
-#gem "georuby-ext", "0.0.2"
# User interface
-gem 'user_interface', "0.0.5"
+gem 'language_engine', '0.0.4'
gem 'gravatar_image_tag'
gem 'calendar_helper', "0.2.5"
gem 'cocoon', "1.1.2"
gem 'formtastic'
gem 'RedCloth'
+
+# Javascript
gem 'jquery-rails', '2.2.1'
+gem 'jquery-ui-sass-rails'
gem "modernizr-rails", "~> 2.0.6"
gem 'morrisjs-rails'
gem 'raphael-rails'
+
+# Use twitter bootstrap resources
+gem 'bootstrap-sass', '~> 3.1.1'
+gem 'bootswatch-rails'
gem 'font-awesome-sass'
+gem 'will_paginate-bootstrap'
# Format Output
gem 'json'
@@ -53,28 +60,25 @@ gem 'google-analytics-rails'
gem 'will_paginate', '~> 3.0'
gem 'ransack'
gem 'squeel'
-#gem 'ninoxe', :git => 'https://github.com/afimb/ninoxe.git'
+gem 'ninoxe', :git => 'https://github.com/afimb/ninoxe.git'
#gem 'ninoxe',:path => '~/projects/ninoxe'
-gem 'ninoxe', '~> 1.0.1'
+#gem 'ninoxe', '~> 1.0.1'
gem 'acts_as_list', '0.1.6'
gem "acts_as_tree-1.8", '1.1.0', :require => "acts_as_tree"
gem "active_enum"
+gem 'rabl'
+
gem 'delayed_job_active_record'
gem 'dr-apartment', :require => "apartment"
# some views use coffee script
gem 'coffee-rails', '~> 3.2.1'
gem 'coffee-script-source'
-gem 'rabl'
-# Gems used only for assets and not required
-# in production environments by default.
-group :assets do
- gem 'sass-rails', '~> 3.2.3'
- gem 'uglifier', '>= 1.0.3'
-end
+gem 'sass-rails', '~> 3.2.3'
+gem 'uglifier', '>= 1.0.3'
group :development do
gem 'capistrano'
diff --git a/Gemfile.lock b/Gemfile.lock
index 6b4792a8e..21da94f80 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -1,30 +1,40 @@
+GIT
+ remote: https://github.com/afimb/ninoxe.git
+ revision: 81104810ace190584d6b445de0d0948bc204b7b5
+ specs:
+ ninoxe (1.0.1)
+ activerecord (>= 3.1.3)
+ acts_as_list (~> 0.1.6)
+ foreigner (= 1.6.0)
+ georuby-ext (= 0.0.5)
+
GEM
remote: http://rubygems.org/
specs:
RedCloth (4.2.9)
RedCloth (4.2.9-java)
SyslogLogger (1.4.1)
- actionmailer (3.2.6)
- actionpack (= 3.2.6)
- mail (~> 2.4.4)
- actionpack (3.2.6)
- activemodel (= 3.2.6)
- activesupport (= 3.2.6)
+ actionmailer (3.2.18)
+ actionpack (= 3.2.18)
+ mail (~> 2.5.4)
+ actionpack (3.2.18)
+ activemodel (= 3.2.18)
+ activesupport (= 3.2.18)
builder (~> 3.0.0)
erubis (~> 2.7.0)
- journey (~> 1.0.1)
- rack (~> 1.4.0)
+ journey (~> 1.0.4)
+ rack (~> 1.4.5)
rack-cache (~> 1.2)
rack-test (~> 0.6.1)
- sprockets (~> 2.1.3)
+ sprockets (~> 2.2.1)
active_enum (0.9.12)
activesupport (~> 3.0)
- activemodel (3.2.6)
- activesupport (= 3.2.6)
+ activemodel (3.2.18)
+ activesupport (= 3.2.18)
builder (~> 3.0.0)
- activerecord (3.2.6)
- activemodel (= 3.2.6)
- activesupport (= 3.2.6)
+ activerecord (3.2.18)
+ activemodel (= 3.2.18)
+ activesupport (= 3.2.18)
arel (~> 3.0.2)
tzinfo (~> 0.3.29)
activerecord-jdbc-adapter (1.2.9)
@@ -34,11 +44,11 @@ GEM
activerecord-jdbcsqlite3-adapter (1.2.1)
activerecord-jdbc-adapter (~> 1.2.1)
jdbc-sqlite3 (~> 3.7.2)
- activeresource (3.2.6)
- activemodel (= 3.2.6)
- activesupport (= 3.2.6)
- activesupport (3.2.6)
- i18n (~> 0.6)
+ activeresource (3.2.18)
+ activemodel (= 3.2.18)
+ activesupport (= 3.2.18)
+ activesupport (3.2.18)
+ i18n (~> 0.6, >= 0.6.4)
multi_json (~> 1.0)
acts_as_list (0.1.6)
acts_as_tree-1.8 (1.1.0)
@@ -47,6 +57,10 @@ GEM
arel (3.0.3)
bcrypt-ruby (3.0.1)
bcrypt-ruby (3.0.1-java)
+ bootstrap-sass (3.1.1.1)
+ sass (~> 3.2)
+ bootswatch-rails (3.1.1.1)
+ railties (>= 3.1)
bouncy-castle-java (1.5.0146.1)
builder (3.0.4)
calendar_helper (0.2.5)
@@ -152,6 +166,13 @@ GEM
jquery-rails (2.2.1)
railties (>= 3.0, < 5.0)
thor (>= 0.14, < 2.0)
+ jquery-ui-rails (4.0.3)
+ jquery-rails
+ railties (>= 3.1.0)
+ jquery-ui-sass-rails (4.0.3.0)
+ jquery-rails
+ jquery-ui-rails (= 4.0.3)
+ railties (>= 3.1.0)
jruby-jars (1.6.7.2)
jruby-openssl (0.7.7)
bouncy-castle-java (>= 1.5.0146.1)
@@ -160,6 +181,8 @@ GEM
jruby-rack (>= 1.1.1)
json (1.8.1)
json (1.8.1-java)
+ language_engine (0.0.4)
+ rails (~> 3.2.18)
launchy (2.3.0)
addressable (~> 2.3)
libv8 (3.3.10.4)
@@ -167,8 +190,7 @@ GEM
rb-fchange (~> 0.0.5)
rb-fsevent (~> 0.9.1)
rb-inotify (~> 0.8.8)
- mail (2.4.4)
- i18n (>= 0.4.0)
+ mail (2.5.4)
mime-types (~> 1.16)
treetop (~> 1.4.8)
map_layers (0.0.4)
@@ -176,7 +198,7 @@ GEM
modernizr-rails (2.0.6)
morrisjs-rails (0.4.3)
railties (> 3.1, < 5)
- multi_json (1.10.0)
+ multi_json (1.10.1)
net-scp (1.0.4)
net-ssh (>= 1.99.1)
net-sftp (2.0.5)
@@ -184,11 +206,6 @@ GEM
net-ssh (2.6.2)
net-ssh-gateway (1.1.0)
net-ssh (>= 1.99.1)
- ninoxe (1.0.1)
- activerecord (>= 3.1.3, < 3.2.14)
- acts_as_list (~> 0.1.6)
- foreigner (= 1.6.0)
- georuby-ext (= 0.0.5)
nokogiri (1.5.10)
nokogiri (1.5.10-java)
open4 (1.3.0)
@@ -196,7 +213,7 @@ GEM
pg (0.11.0)
polyamorous (0.5.0)
activerecord (~> 3.0)
- polyglot (0.3.3)
+ polyglot (0.3.5)
rabl (0.7.8)
activesupport (>= 2.3.14)
multi_json (~> 1.0)
@@ -207,22 +224,22 @@ GEM
rack
rack-test (0.6.2)
rack (>= 1.0)
- rails (3.2.6)
- actionmailer (= 3.2.6)
- actionpack (= 3.2.6)
- activerecord (= 3.2.6)
- activeresource (= 3.2.6)
- activesupport (= 3.2.6)
+ rails (3.2.18)
+ actionmailer (= 3.2.18)
+ actionpack (= 3.2.18)
+ activerecord (= 3.2.18)
+ activeresource (= 3.2.18)
+ activesupport (= 3.2.18)
bundler (~> 1.0)
- railties (= 3.2.6)
+ railties (= 3.2.18)
rails-erd (1.1.0)
activerecord (>= 3.0)
activesupport (>= 3.0)
choice (~> 0.1.6)
ruby-graphviz (~> 1.0.4)
- railties (3.2.6)
- actionpack (= 3.2.6)
- activesupport (= 3.2.6)
+ railties (3.2.18)
+ actionpack (= 3.2.18)
+ activesupport (= 3.2.18)
rack-ssl (~> 1.3.2)
rake (>= 0.8.7)
rdoc (~> 3.4)
@@ -252,6 +269,10 @@ GEM
responders (1.0.0)
railties (>= 3.2, < 5)
rgeo (0.3.20)
+ roo (1.13.2)
+ nokogiri
+ rubyzip
+ spreadsheet (> 0.6.4)
rspec (2.13.0)
rspec-core (~> 2.13.0)
rspec-expectations (~> 2.13.0)
@@ -268,6 +289,7 @@ GEM
rspec-expectations (~> 2.13.0)
rspec-mocks (~> 2.13.0)
ruby-graphviz (1.0.9)
+ ruby-ole (1.2.11.7)
rubyzip (0.9.9)
sass (3.3.7)
sass-rails (3.2.6)
@@ -281,8 +303,11 @@ GEM
websocket (~> 1.0.4)
shoulda-matchers (1.2.0)
activesupport (>= 3.0.0)
- sprockets (2.1.3)
+ spreadsheet (0.9.7)
+ ruby-ole (>= 1.0)
+ sprockets (2.2.2)
hike (~> 1.2)
+ multi_json (~> 1.0)
rack (~> 1.0)
tilt (~> 1.1, != 1.3.0)
sqlite3 (1.3.6)
@@ -300,12 +325,10 @@ GEM
treetop (1.4.15)
polyglot
polyglot (>= 0.3.1)
- tzinfo (0.3.38)
+ tzinfo (0.3.39)
uglifier (1.2.7)
execjs (>= 0.3.0)
multi_json (~> 1.3)
- user_interface (0.0.5)
- rails (> 3.1.0)
warbler (1.3.6)
jruby-jars (>= 1.4.0)
jruby-rack (>= 1.0.0)
@@ -315,6 +338,8 @@ GEM
rack (>= 1.0)
websocket (1.0.7)
will_paginate (3.0.5)
+ will_paginate-bootstrap (1.0.0)
+ will_paginate (>= 3.0.3)
xpath (0.1.4)
nokogiri (~> 1.3)
@@ -330,6 +355,8 @@ DEPENDENCIES
activerecord-jdbcsqlite3-adapter
acts_as_list (= 0.1.6)
acts_as_tree-1.8 (= 1.1.0)
+ bootstrap-sass (~> 3.1.1)
+ bootswatch-rails
calendar_helper (= 0.2.5)
capistrano
capistrano-ext
@@ -353,17 +380,19 @@ DEPENDENCIES
guard-rspec
inherited_resources
jquery-rails (= 2.2.1)
+ jquery-ui-sass-rails
jruby-openssl
jruby-rack-worker
json
+ language_engine (= 0.0.4)
launchy
map_layers (= 0.0.4)
modernizr-rails (~> 2.0.6)
morrisjs-rails
- ninoxe (~> 1.0.1)
+ ninoxe!
pg (~> 0.11.0)
rabl
- rails (= 3.2.6)
+ rails (= 3.2.18)
rails-erd
ransack
raphael-rails
@@ -371,6 +400,7 @@ DEPENDENCIES
rb-inotify
remarkable (~> 4.0.0.alpha4)
remarkable_activerecord (~> 4.0.0.alpha4)
+ roo
rspec-rails (~> 2.0)
rubyzip
sass-rails (~> 3.2.3)
@@ -380,6 +410,6 @@ DEPENDENCIES
therubyracer (~> 0.10.2)
therubyrhino
uglifier (>= 1.0.3)
- user_interface (= 0.0.5)
warbler
will_paginate (~> 3.0)
+ will_paginate-bootstrap
diff --git a/app/assets/images/icons/accept.png b/app/assets/images/icons/accept.png
new file mode 100644
index 000000000..89c8129a4
--- /dev/null
+++ b/app/assets/images/icons/accept.png
Binary files differ
diff --git a/app/assets/images/icons/add-small.png b/app/assets/images/icons/add-small.png
new file mode 100644
index 000000000..02ad261d2
--- /dev/null
+++ b/app/assets/images/icons/add-small.png
Binary files differ
diff --git a/app/assets/images/icons/add.png b/app/assets/images/icons/add.png
new file mode 100644
index 000000000..6332fefea
--- /dev/null
+++ b/app/assets/images/icons/add.png
Binary files differ
diff --git a/app/assets/images/icons/alert.png b/app/assets/images/icons/alert.png
new file mode 100644
index 000000000..d8702d61d
--- /dev/null
+++ b/app/assets/images/icons/alert.png
Binary files differ
diff --git a/app/assets/images/icons/download.png b/app/assets/images/icons/download.png
new file mode 100644
index 000000000..14c7839a6
--- /dev/null
+++ b/app/assets/images/icons/download.png
Binary files differ
diff --git a/app/assets/images/icons/edit-small.png b/app/assets/images/icons/edit-small.png
new file mode 100644
index 000000000..c599d0813
--- /dev/null
+++ b/app/assets/images/icons/edit-small.png
Binary files differ
diff --git a/app/assets/images/icons/edit.png b/app/assets/images/icons/edit.png
new file mode 100644
index 000000000..0bfecd50e
--- /dev/null
+++ b/app/assets/images/icons/edit.png
Binary files differ
diff --git a/app/assets/images/icons/export.png b/app/assets/images/icons/export.png
new file mode 100644
index 000000000..1235e4d28
--- /dev/null
+++ b/app/assets/images/icons/export.png
Binary files differ
diff --git a/app/assets/images/icons/remove-small.png b/app/assets/images/icons/remove-small.png
new file mode 100644
index 000000000..d85f7d7bb
--- /dev/null
+++ b/app/assets/images/icons/remove-small.png
Binary files differ
diff --git a/app/assets/images/icons/remove.png b/app/assets/images/icons/remove.png
new file mode 100644
index 000000000..7404ecc5b
--- /dev/null
+++ b/app/assets/images/icons/remove.png
Binary files differ
diff --git a/app/assets/images/icons/viewer.png b/app/assets/images/icons/viewer.png
new file mode 100644
index 000000000..12b266c20
--- /dev/null
+++ b/app/assets/images/icons/viewer.png
Binary files differ
diff --git a/app/assets/images/icons/warning.png b/app/assets/images/icons/warning.png
new file mode 100644
index 000000000..628cf2dae
--- /dev/null
+++ b/app/assets/images/icons/warning.png
Binary files differ
diff --git a/app/assets/images/logo_chouette.png b/app/assets/images/logo_chouette.png
index 61eaaa0dd..9bdff022c 100644
--- a/app/assets/images/logo_chouette.png
+++ b/app/assets/images/logo_chouette.png
Binary files differ
diff --git a/app/assets/javascripts/application.js b/app/assets/javascripts/application.js
index 6b7b38a3a..fa99d193c 100644
--- a/app/assets/javascripts/application.js
+++ b/app/assets/javascripts/application.js
@@ -11,4 +11,5 @@
//= require cocoon
//= require raphael
//= require morris
+//= require bootstrap
//= require_directory .
diff --git a/app/assets/javascripts/plugins/bootstrap.min.js b/app/assets/javascripts/plugins/bootstrap.min.js
deleted file mode 100644
index fb820c1a2..000000000
--- a/app/assets/javascripts/plugins/bootstrap.min.js
+++ /dev/null
@@ -1,11 +0,0 @@
-/*!
- * Bootstrap v3.0.3
- *
- * Copyright 2013 Twitter, Inc
- * Licensed under the Apache License v2.0
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Designed and built with all the love in the world @twitter by @mdo and @fat.
- */
-
-+function(a){"use strict";var b='[data-dismiss="alert"]',c=function(c){a(c).on("click",b,this.close)};c.prototype.close=function(b){function f(){e.trigger("closed.bs.alert").remove()}var c=a(this),d=c.attr("data-target");d||(d=c.attr("href"),d=d&&d.replace(/.*(?=#[^\s]*$)/,""));var e=a(d);b&&b.preventDefault(),e.length||(e=c.hasClass("alert")?c:c.parent()),e.trigger(b=a.Event("close.bs.alert"));if(b.isDefaultPrevented())return;e.removeClass("in"),a.support.transition&&e.hasClass("fade")?e.one(a.support.transition.end,f).emulateTransitionEnd(150):f()};var d=a.fn.alert;a.fn.alert=function(b){return this.each(function(){var d=a(this),e=d.data("bs.alert");e||d.data("bs.alert",e=new c(this)),typeof b=="string"&&e[b].call(d)})},a.fn.alert.Constructor=c,a.fn.alert.noConflict=function(){return a.fn.alert=d,this},a(document).on("click.bs.alert.data-api",b,c.prototype.close)}(jQuery),+function(a){"use strict";var b=function(c,d){this.$element=a(c),this.options=a.extend({},b.DEFAULTS,d)};b.DEFAULTS={loadingText:"loading..."},b.prototype.setState=function(a){var b="disabled",c=this.$element,d=c.is("input")?"val":"html",e=c.data();a+="Text",e.resetText||c.data("resetText",c[d]()),c[d](e[a]||this.options[a]),setTimeout(function(){a=="loadingText"?c.addClass(b).attr(b,b):c.removeClass(b).removeAttr(b)},0)},b.prototype.toggle=function(){var a=this.$element.closest('[data-toggle="buttons"]'),b=!0;if(a.length){var c=this.$element.find("input");c.prop("type")==="radio"&&(c.prop("checked")&&this.$element.hasClass("active")?b=!1:a.find(".active").removeClass("active")),b&&c.prop("checked",!this.$element.hasClass("active")).trigger("change")}b&&this.$element.toggleClass("active")};var c=a.fn.button;a.fn.button=function(c){return this.each(function(){var d=a(this),e=d.data("bs.button"),f=typeof c=="object"&&c;e||d.data("bs.button",e=new b(this,f)),c=="toggle"?e.toggle():c&&e.setState(c)})},a.fn.button.Constructor=b,a.fn.button.noConflict=function(){return a.fn.button=c,this},a(document).on("click.bs.button.data-api","[data-toggle^=button]",function(b){var c=a(b.target);c.hasClass("btn")||(c=c.closest(".btn")),c.button("toggle"),b.preventDefault()})}(jQuery),+function(a){function e(){a(b).remove(),a(c).each(function(b){var c=f(a(this));if(!c.hasClass("open"))return;c.trigger(b=a.Event("hide.bs.dropdown"));if(b.isDefaultPrevented())return;c.removeClass("open").trigger("hidden.bs.dropdown")})}function f(b){var c=b.attr("data-target");c||(c=b.attr("href"),c=c&&/#/.test(c)&&c.replace(/.*(?=#[^\s]*$)/,""));var d=c&&a(c);return d&&d.length?d:b.parent()}"use strict";var b=".dropdown-backdrop",c="[data-toggle=dropdown]",d=function(b){a(b).on("click.bs.dropdown",this.toggle)};d.prototype.toggle=function(b){var c=a(this);if(c.is(".disabled, :disabled"))return;var d=f(c),g=d.hasClass("open");e();if(!g){"ontouchstart"in document.documentElement&&!d.closest(".navbar-nav").length&&a('<div class="dropdown-backdrop"/>').insertAfter(a(this)).on("click",e),d.trigger(b=a.Event("show.bs.dropdown"));if(b.isDefaultPrevented())return;d.toggleClass("open").trigger("shown.bs.dropdown"),c.focus()}return!1},d.prototype.keydown=function(b){if(!/(38|40|27)/.test(b.keyCode))return;var d=a(this);b.preventDefault(),b.stopPropagation();if(d.is(".disabled, :disabled"))return;var e=f(d),g=e.hasClass("open");if(!g||g&&b.keyCode==27)return b.which==27&&e.find(c).focus(),d.click();var h=a("[role=menu] li:not(.divider):visible a",e);if(!h.length)return;var i=h.index(h.filter(":focus"));b.keyCode==38&&i>0&&i--,b.keyCode==40&&i<h.length-1&&i++,~i||(i=0),h.eq(i).focus()};var g=a.fn.dropdown;a.fn.dropdown=function(b){return this.each(function(){var c=a(this),e=c.data("bs.dropdown");e||c.data("bs.dropdown",e=new d(this)),typeof b=="string"&&e[b].call(c)})},a.fn.dropdown.Constructor=d,a.fn.dropdown.noConflict=function(){return a.fn.dropdown=g,this},a(document).on("click.bs.dropdown.data-api",e).on("click.bs.dropdown.data-api",".dropdown form",function(a){a.stopPropagation()}).on("click.bs.dropdown.data-api",c,d.prototype.toggle).on("keydown.bs.dropdown.data-api",c+", [role=menu]",d.prototype.keydown)}(jQuery),+function(a){"use strict";var b=function(b,c){this.options=c,this.$element=a(b),this.$backdrop=this.isShown=null,this.options.remote&&this.$element.load(this.options.remote)};b.DEFAULTS={backdrop:!0,keyboard:!0,show:!0},b.prototype.toggle=function(a){return this[this.isShown?"hide":"show"](a)},b.prototype.show=function(b){var c=this,d=a.Event("show.bs.modal",{relatedTarget:b});this.$element.trigger(d);if(this.isShown||d.isDefaultPrevented())return;this.isShown=!0,this.escape(),this.$element.on("click.dismiss.modal",'[data-dismiss="modal"]',a.proxy(this.hide,this)),this.backdrop(function(){var d=a.support.transition&&c.$element.hasClass("fade");c.$element.parent().length||c.$element.appendTo(document.body),c.$element.show(),d&&c.$element[0].offsetWidth,c.$element.addClass("in").attr("aria-hidden",!1),c.enforceFocus();var e=a.Event("shown.bs.modal",{relatedTarget:b});d?c.$element.find(".modal-dialog").one(a.support.transition.end,function(){c.$element.focus().trigger(e)}).emulateTransitionEnd(300):c.$element.focus().trigger(e)})},b.prototype.hide=function(b){b&&b.preventDefault(),b=a.Event("hide.bs.modal"),this.$element.trigger(b);if(!this.isShown||b.isDefaultPrevented())return;this.isShown=!1,this.escape(),a(document).off("focusin.bs.modal"),this.$element.removeClass("in").attr("aria-hidden",!0).off("click.dismiss.modal"),a.support.transition&&this.$element.hasClass("fade")?this.$element.one(a.support.transition.end,a.proxy(this.hideModal,this)).emulateTransitionEnd(300):this.hideModal()},b.prototype.enforceFocus=function(){a(document).off("focusin.bs.modal").on("focusin.bs.modal",a.proxy(function(a){this.$element[0]!==a.target&&!this.$element.has(a.target).length&&this.$element.focus()},this))},b.prototype.escape=function(){this.isShown&&this.options.keyboard?this.$element.on("keyup.dismiss.bs.modal",a.proxy(function(a){a.which==27&&this.hide()},this)):this.isShown||this.$element.off("keyup.dismiss.bs.modal")},b.prototype.hideModal=function(){var a=this;this.$element.hide(),this.backdrop(function(){a.removeBackdrop(),a.$element.trigger("hidden.bs.modal")})},b.prototype.removeBackdrop=function(){this.$backdrop&&this.$backdrop.remove(),this.$backdrop=null},b.prototype.backdrop=function(b){var c=this,d=this.$element.hasClass("fade")?"fade":"";if(this.isShown&&this.options.backdrop){var e=a.support.transition&&d;this.$backdrop=a('<div class="modal-backdrop '+d+'" />').appendTo(document.body),this.$element.on("click.dismiss.modal",a.proxy(function(a){if(a.target!==a.currentTarget)return;this.options.backdrop=="static"?this.$element[0].focus.call(this.$element[0]):this.hide.call(this)},this)),e&&this.$backdrop[0].offsetWidth,this.$backdrop.addClass("in");if(!b)return;e?this.$backdrop.one(a.support.transition.end,b).emulateTransitionEnd(150):b()}else!this.isShown&&this.$backdrop?(this.$backdrop.removeClass("in"),a.support.transition&&this.$element.hasClass("fade")?this.$backdrop.one(a.support.transition.end,b).emulateTransitionEnd(150):b()):b&&b()};var c=a.fn.modal;a.fn.modal=function(c,d){return this.each(function(){var e=a(this),f=e.data("bs.modal"),g=a.extend({},b.DEFAULTS,e.data(),typeof c=="object"&&c);f||e.data("bs.modal",f=new b(this,g)),typeof c=="string"?f[c](d):g.show&&f.show(d)})},a.fn.modal.Constructor=b,a.fn.modal.noConflict=function(){return a.fn.modal=c,this},a(document).on("click.bs.modal.data-api",'[data-toggle="modal"]',function(b){var c=a(this),d=c.attr("href"),e=a(c.attr("data-target")||d&&d.replace(/.*(?=#[^\s]+$)/,"")),f=e.data("modal")?"toggle":a.extend({remote:!/#/.test(d)&&d},e.data(),c.data());b.preventDefault(),e.modal(f,this).one("hide",function(){c.is(":visible")&&c.focus()})}),a(document).on("show.bs.modal",".modal",function(){a(document.body).addClass("modal-open")}).on("hidden.bs.modal",".modal",function(){a(document.body).removeClass("modal-open")})}(jQuery),+function(a){"use strict";var b=function(a,b){this.type=this.options=this.enabled=this.timeout=this.hoverState=this.$element=null,this.init("tooltip",a,b)};b.DEFAULTS={animation:!0,placement:"top",selector:!1,template:'<div class="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!1,container:!1},b.prototype.init=function(b,c,d){this.enabled=!0,this.type=b,this.$element=a(c),this.options=this.getOptions(d);var e=this.options.trigger.split(" ");for(var f=e.length;f--;){var g=e[f];if(g=="click")this.$element.on("click."+this.type,this.options.selector,a.proxy(this.toggle,this));else if(g!="manual"){var h=g=="hover"?"mouseenter":"focus",i=g=="hover"?"mouseleave":"blur";this.$element.on(h+"."+this.type,this.options.selector,a.proxy(this.enter,this)),this.$element.on(i+"."+this.type,this.options.selector,a.proxy(this.leave,this))}}this.options.selector?this._options=a.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},b.prototype.getDefaults=function(){return b.DEFAULTS},b.prototype.getOptions=function(b){return b=a.extend({},this.getDefaults(),this.$element.data(),b),b.delay&&typeof b.delay=="number"&&(b.delay={show:b.delay,hide:b.delay}),b},b.prototype.getDelegateOptions=function(){var b={},c=this.getDefaults();return this._options&&a.each(this._options,function(a,d){c[a]!=d&&(b[a]=d)}),b},b.prototype.enter=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget)[this.type](this.getDelegateOptions()).data("bs."+this.type);clearTimeout(c.timeout),c.hoverState="in";if(!c.options.delay||!c.options.delay.show)return c.show();c.timeout=setTimeout(function(){c.hoverState=="in"&&c.show()},c.options.delay.show)},b.prototype.leave=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget)[this.type](this.getDelegateOptions()).data("bs."+this.type);clearTimeout(c.timeout),c.hoverState="out";if(!c.options.delay||!c.options.delay.hide)return c.hide();c.timeout=setTimeout(function(){c.hoverState=="out"&&c.hide()},c.options.delay.hide)},b.prototype.show=function(){var b=a.Event("show.bs."+this.type);if(this.hasContent()&&this.enabled){this.$element.trigger(b);if(b.isDefaultPrevented())return;var c=this.tip();this.setContent(),this.options.animation&&c.addClass("fade");var d=typeof this.options.placement=="function"?this.options.placement.call(this,c[0],this.$element[0]):this.options.placement,e=/\s?auto?\s?/i,f=e.test(d);f&&(d=d.replace(e,"")||"top"),c.detach().css({top:0,left:0,display:"block"}).addClass(d),this.options.container?c.appendTo(this.options.container):c.insertAfter(this.$element);var g=this.getPosition(),h=c[0].offsetWidth,i=c[0].offsetHeight;if(f){var j=this.$element.parent(),k=d,l=document.documentElement.scrollTop||document.body.scrollTop,m=this.options.container=="body"?window.innerWidth:j.outerWidth(),n=this.options.container=="body"?window.innerHeight:j.outerHeight(),o=this.options.container=="body"?0:j.offset().left;d=d=="bottom"&&g.top+g.height+i-l>n?"top":d=="top"&&g.top-l-i<0?"bottom":d=="right"&&g.right+h>m?"left":d=="left"&&g.left-h<o?"right":d,c.removeClass(k).addClass(d)}var p=this.getCalculatedOffset(d,g,h,i);this.applyPlacement(p,d),this.$element.trigger("shown.bs."+this.type)}},b.prototype.applyPlacement=function(a,b){var c,d=this.tip(),e=d[0].offsetWidth,f=d[0].offsetHeight,g=parseInt(d.css("margin-top"),10),h=parseInt(d.css("margin-left"),10);isNaN(g)&&(g=0),isNaN(h)&&(h=0),a.top=a.top+g,a.left=a.left+h,d.offset(a).addClass("in");var i=d[0].offsetWidth,j=d[0].offsetHeight;b=="top"&&j!=f&&(c=!0,a.top=a.top+f-j);if(/bottom|top/.test(b)){var k=0;a.left<0&&(k=a.left*-2,a.left=0,d.offset(a),i=d[0].offsetWidth,j=d[0].offsetHeight),this.replaceArrow(k-e+i,i,"left")}else this.replaceArrow(j-f,j,"top");c&&d.offset(a)},b.prototype.replaceArrow=function(a,b,c){this.arrow().css(c,a?50*(1-a/b)+"%":"")},b.prototype.setContent=function(){var a=this.tip(),b=this.getTitle();a.find(".tooltip-inner")[this.options.html?"html":"text"](b),a.removeClass("fade in top bottom left right")},b.prototype.hide=function(){function e(){b.hoverState!="in"&&c.detach()}var b=this,c=this.tip(),d=a.Event("hide.bs."+this.type);this.$element.trigger(d);if(d.isDefaultPrevented())return;return c.removeClass("in"),a.support.transition&&this.$tip.hasClass("fade")?c.one(a.support.transition.end,e).emulateTransitionEnd(150):e(),this.$element.trigger("hidden.bs."+this.type),this},b.prototype.fixTitle=function(){var a=this.$element;(a.attr("title")||typeof a.attr("data-original-title")!="string")&&a.attr("data-original-title",a.attr("title")||"").attr("title","")},b.prototype.hasContent=function(){return this.getTitle()},b.prototype.getPosition=function(){var b=this.$element[0];return a.extend({},typeof b.getBoundingClientRect=="function"?b.getBoundingClientRect():{width:b.offsetWidth,height:b.offsetHeight},this.$element.offset())},b.prototype.getCalculatedOffset=function(a,b,c,d){return a=="bottom"?{top:b.top+b.height,left:b.left+b.width/2-c/2}:a=="top"?{top:b.top-d,left:b.left+b.width/2-c/2}:a=="left"?{top:b.top+b.height/2-d/2,left:b.left-c}:{top:b.top+b.height/2-d/2,left:b.left+b.width}},b.prototype.getTitle=function(){var a,b=this.$element,c=this.options;return a=b.attr("data-original-title")||(typeof c.title=="function"?c.title.call(b[0]):c.title),a},b.prototype.tip=function(){return this.$tip=this.$tip||a(this.options.template)},b.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".tooltip-arrow")},b.prototype.validate=function(){this.$element[0].parentNode||(this.hide(),this.$element=null,this.options=null)},b.prototype.enable=function(){this.enabled=!0},b.prototype.disable=function(){this.enabled=!1},b.prototype.toggleEnabled=function(){this.enabled=!this.enabled},b.prototype.toggle=function(b){var c=b?a(b.currentTarget)[this.type](this.getDelegateOptions()).data("bs."+this.type):this;c.tip().hasClass("in")?c.leave(c):c.enter(c)},b.prototype.destroy=function(){this.hide().$element.off("."+this.type).removeData("bs."+this.type)};var c=a.fn.tooltip;a.fn.tooltip=function(c){return this.each(function(){var d=a(this),e=d.data("bs.tooltip"),f=typeof c=="object"&&c;e||d.data("bs.tooltip",e=new b(this,f)),typeof c=="string"&&e[c]()})},a.fn.tooltip.Constructor=b,a.fn.tooltip.noConflict=function(){return a.fn.tooltip=c,this}}(jQuery),+function(a){"use strict";var b=function(a,b){this.init("popover",a,b)};if(!a.fn.tooltip)throw new Error("Popover requires tooltip.js");b.DEFAULTS=a.extend({},a.fn.tooltip.Constructor.DEFAULTS,{placement:"right",trigger:"click",content:"",template:'<div class="popover"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>'}),b.prototype=a.extend({},a.fn.tooltip.Constructor.prototype),b.prototype.constructor=b,b.prototype.getDefaults=function(){return b.DEFAULTS},b.prototype.setContent=function(){var a=this.tip(),b=this.getTitle(),c=this.getContent();a.find(".popover-title")[this.options.html?"html":"text"](b),a.find(".popover-content")[this.options.html?"html":"text"](c),a.removeClass("fade top bottom left right in"),a.find(".popover-title").html()||a.find(".popover-title").hide()},b.prototype.hasContent=function(){return this.getTitle()||this.getContent()},b.prototype.getContent=function(){var a=this.$element,b=this.options;return a.attr("data-content")||(typeof b.content=="function"?b.content.call(a[0]):b.content)},b.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".arrow")},b.prototype.tip=function(){return this.$tip||(this.$tip=a(this.options.template)),this.$tip};var c=a.fn.popover;a.fn.popover=function(c){return this.each(function(){var d=a(this),e=d.data("bs.popover"),f=typeof c=="object"&&c;e||d.data("bs.popover",e=new b(this,f)),typeof c=="string"&&e[c]()})},a.fn.popover.Constructor=b,a.fn.popover.noConflict=function(){return a.fn.popover=c,this}}(jQuery),+function(a){"use strict";var b=function(b){this.element=a(b)};b.prototype.show=function(){var b=this.element,c=b.closest("ul:not(.dropdown-menu)"),d=b.data("target");d||(d=b.attr("href"),d=d&&d.replace(/.*(?=#[^\s]*$)/,""));if(b.parent("li").hasClass("active"))return;var e=c.find(".active:last a")[0],f=a.Event("show.bs.tab",{relatedTarget:e});b.trigger(f);if(f.isDefaultPrevented())return;var g=a(d);this.activate(b.parent("li"),c),this.activate(g,g.parent(),function(){b.trigger({type:"shown.bs.tab",relatedTarget:e})})},b.prototype.activate=function(b,c,d){function g(){e.removeClass("active").find("> .dropdown-menu > .active").removeClass("active"),b.addClass("active"),f?(b[0].offsetWidth,b.addClass("in")):b.removeClass("fade"),b.parent(".dropdown-menu")&&b.closest("li.dropdown").addClass("active"),d&&d()}var e=c.find("> .active"),f=d&&a.support.transition&&e.hasClass("fade");f?e.one(a.support.transition.end,g).emulateTransitionEnd(150):g(),e.removeClass("in")};var c=a.fn.tab;a.fn.tab=function(c){return this.each(function(){var d=a(this),e=d.data("bs.tab");e||d.data("bs.tab",e=new b(this)),typeof c=="string"&&e[c]()})},a.fn.tab.Constructor=b,a.fn.tab.noConflict=function(){return a.fn.tab=c,this},a(document).on("click.bs.tab.data-api",'[data-toggle="tab"], [data-toggle="pill"]',function(b){b.preventDefault(),a(this).tab("show")})}(jQuery) \ No newline at end of file
diff --git a/app/assets/javascripts/plugins/jquery.ui.datepicker-i18n.js b/app/assets/javascripts/plugins/jquery.ui.datepicker-i18n.js
deleted file mode 100644
index ef2bfb631..000000000
--- a/app/assets/javascripts/plugins/jquery.ui.datepicker-i18n.js
+++ /dev/null
@@ -1,78 +0,0 @@
-/* French initialisation for the jQuery UI date picker plugin. */
-/* Written by Keith Wood (kbwood{at}iinet.com.au) and Stéphane Nahmani (sholby@sholby.net). */
-jQuery(function($){
-
- $.datepicker.regional['fr'] = {
- closeText: 'Fermer',
- prevText: '&#x3c;Préc',
- nextText: 'Suiv&#x3e;',
- currentText: 'Courant',
- monthNames: ['Janvier','Février','Mars','Avril','Mai','Juin',
- 'Juillet','Août','Septembre','Octobre','Novembre','Décembre'],
- monthNamesShort: ['Jan','Fév','Mar','Avr','Mai','Jun',
- 'Jul','Aoû','Sep','Oct','Nov','Déc'],
- dayNames: ['Dimanche','Lundi','Mardi','Mercredi','Jeudi','Vendredi','Samedi'],
- dayNamesShort: ['Dim','Lun','Mar','Mer','Jeu','Ven','Sam'],
- dayNamesMin: ['Di','Lu','Ma','Me','Je','Ve','Sa'],
- weekHeader: 'Sm',
- dateFormat: 'dd/mm/yy',
- firstDay: 1,
- isRTL: false,
- showMonthAfterYear: false,
- yearSuffix: ''};
-
- $.datepicker.regional['en'] = {
- closeText: 'Done',
- prevText: 'Prev',
- nextText: 'Next',
- currentText: 'Today',
- monthNames: ['January','February','March','April','May','June',
- 'July','August','September','October','November','December'],
- monthNamesShort: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun',
- 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],
- dayNames: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'],
- dayNamesShort: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],
- dayNamesMin: ['Su','Mo','Tu','We','Th','Fr','Sa'],
- weekHeader: 'Wk',
- dateFormat: 'dd/mm/yy',
- firstDay: 1,
- isRTL: false,
- showMonthAfterYear: false,
- yearSuffix: ''};
-
- if(!(Modernizr.inputtypes && Modernizr.inputtypes.date))
- {
- $.datepicker.setDefaults($.datepicker.regional[ "" ]);
- $("input[type='date']").each( function(index, element)
- {
- $(element).datepicker(
- {
- dateFormat: "dd/mm/yy",
- dayNamesShort: $.datepicker.regional[ $('html').attr('lang') ].dayNamesShort,
- dayNames: $.datepicker.regional[ $('html').attr('lang') ].dayNames,
- monthNamesShort: $.datepicker.regional[ $('html').attr('lang') ].monthNamesShort,
- monthNames: $.datepicker.regional[ $('html').attr('lang') ].monthNames
- } );
- if ($(element).val().indexOf('/') >= 0)
- {
- $(element).datepicker("setDate", $.datepicker.parseDate('dd/mm/yy', $(element).val() ) );
- }
- else
- {
- $(element).datepicker("setDate", $.datepicker.parseDate('yy-mm-dd', $(element).val() ) );
- }
- });
-
- $("form").submit(function(event) {
- var $this = $(event.target);
- $this.find("input[type='date']").each(
- function(index, element)
- {
- var date = $.datepicker.formatDate('yy-mm-dd', $.datepicker.parseDate('dd/mm/yy', $(element).val() ) );
- $(element).val(date);
- }
- );
- });
- }
-
-});
diff --git a/app/assets/stylesheets/application.css b/app/assets/stylesheets/application.css
deleted file mode 100644
index b773f970a..000000000
--- a/app/assets/stylesheets/application.css
+++ /dev/null
@@ -1,11 +0,0 @@
-/*
- * This is a manifest file that'll automatically include all the stylesheets available in this directory
- * and any sub-directories. You're free to add application-wide styles to this file and they'll appear at
- * the top of the compiled file, but it's generally better to create a new file per style scope.
- *= require_self
- *= require formtastic
- *= require jquery-ui
- *= require morris
- *= require font-awesome
- *= require_tree .
-*/ \ No newline at end of file
diff --git a/app/assets/stylesheets/application.css.scss b/app/assets/stylesheets/application.css.scss
new file mode 100644
index 000000000..7efb05b0d
--- /dev/null
+++ b/app/assets/stylesheets/application.css.scss
@@ -0,0 +1,41 @@
+// First import journal variables
+// @import "bootswatch/cerulean/variables";
+
+// Then bootstrap itself
+@import "bootstrap";
+
+// Bootstrap body padding for fixed navbar
+// body { padding-top: 60px; }
+
+// And finally bootswatch style itself
+@import "bootswatch/cerulean/bootswatch";
+
+// Whatever application styles you have go last
+// Modules and Variables
+// @import "modules/base";
+
+// Partials
+// @import "partials/reset";
+
+// Third-party
+@import "font-awesome";
+@import "jquery.ui.all";
+@import "morris";
+@import "formtastic";
+
+@import "vendor/openlayers_style";
+@import "vendor/openlayers_ie6-style";
+@import "vendor/openlayers_google";
+@import "vendor/openlayers_framedCloud";
+@import "vendor/formtastic";
+@import "vendor/jquery.qtip.min";
+@import "vendor/tipsy";
+@import "vendor/pagination";
+
+// Main css
+@import "main/*";
+
+// Hack to make li simple
+li{
+ list-style: none;
+}
diff --git a/app/assets/stylesheets/common.css.scss b/app/assets/stylesheets/common.css.scss
deleted file mode 100644
index 950004ec8..000000000
--- a/app/assets/stylesheets/common.css.scss
+++ /dev/null
@@ -1,4 +0,0 @@
-/*
- *= require_tree ./common
- *= require_tree ./plugins
-*/
diff --git a/app/assets/stylesheets/common/mixins.css.scss b/app/assets/stylesheets/common/mixins.css.scss
deleted file mode 100644
index 91050771e..000000000
--- a/app/assets/stylesheets/common/mixins.css.scss
+++ /dev/null
@@ -1,81 +0,0 @@
-@mixin div_for_object {
- margin-bottom: 10px;
- background-color: #DEFFA8;
- padding-top: 10px;
- padding-bottom: 10px;
- margin-right: 10px;
- padding-left: 10px;
-
- .color {
- width: 64px;
- height: 64px;
- float: left;
- margin-right: 10px;
- }
-
- img {
- float: left;
- margin-right: 10px;
- }
-
- img.preview {
- width: 90px;
- height: 70px;
- }
-
- a {
- display:block;
- text-decoration: underline;
- margin: 5px 0px 0px 0px;
- }
-
- .info {
- font-size: 10px;
- color: #777;
- font-weight: normal;
- line-height: 14px;
- margin-top: 5px;
-
- a {
- display:inline;
- color: #777;
- }
-
- .actions {
- margin-top: 10px;
- a {
- color: #666;
- padding-left: 12px;
- }
-
- a.link {
- background: url(image-path('icons/link-small.png')) no-repeat 0% 50%;
- }
- a.edit {
- background: url(image-path('user_interface/ui/edit-small.png')) no-repeat 0% 50%;
- }
- a.remove {
- background: url(image-path('user_interface/ui/remove-small.png')) no-repeat 0% 50%;
- }
- a.download {
- background: url(image-path('download-small.png')) no-repeat 0% 50%;
- }
- }
-
- p {
- margin:0;
- }
- }
-}
-
-@mixin content_to_clear {
- content: " ";
- display: block;
- height: 0;
- clear: both;
- visibility: hidden;
-}
-
-@mixin after_div_for_object {
- @include content_to_clear;
-}
diff --git a/app/assets/stylesheets/layout.css.scss b/app/assets/stylesheets/layout.css.scss
deleted file mode 100644
index 0505512fe..000000000
--- a/app/assets/stylesheets/layout.css.scss
+++ /dev/null
@@ -1,129 +0,0 @@
-/* Green theme */
-$header_background: #61970b;
-$header_color: white;
-$tabs_background: #86b41d;
-$tabs_color: white;
-$text_color: #222;
-
-@import "user_interface/layout";
-
-// Override user_interface/layout
-b { font-weight: bold; }
-
-// Add margin-top to alert
-.alert { margin-top: 10px;}
-
-p.after_map {
- clear: both;
-}
-
-#header .infos div.version
-{
- float: left;
- padding: 50px 0 0 0;
- font-weight: bold;
- color: white;
-}
-
-#header .infos div.title
-{
- padding: 20px 0 0 150px;
- h1 {
- font-family: Arial, Verdana, Helvetica, sans-serif;
- font-size: 32px;
- font-weight: bold;
- padding: 0px;
- }
-}
-ul.user li.language.selected
-{
- border-bottom: 2px solid black;
-}
-
-#sidebar ul {
- padding: 0 8px;
-
- li {
- margin: 4px 0;
- }
-}
-
-#sidebar div#compact_form {
- form {
- border-bottom: 1px solid #BBB;
- fieldset {
- padding: 0;
- border: 0;
- li {
- padding: 0;
- label { padding-left: 20px;
- width: 70%;}
- input { width: 20px; }
- }
- }
- fieldset.actions {
- margin-bottom: 0;
- padding-left: 20px;
- }
- fieldset.inputs {
- padding-top: 16px;
- }
- }
-}
-
-#sidebar ul.selection li {
- a {
- padding-left: 20px;
- }
- a.current {
- text-decoration: none;
- color: black !important;
- background: url(image-path('user_interface/ui/accept.png')) no-repeat;
- }
- a.all {
- background-image: none;
- }
-}
-
-
-#map {
- float: right;
- width: 400px;
- height: 400px;
-}
-
-.actions {
- a.add_children {
- background: url(image-path('user_interface/ui/add.png')) no-repeat;
- }
-
- a.add_fields {
- background: url(image-path('user_interface/ui/add.png')) no-repeat;
- }
-
- a.link {
- background: url(image-path('icons/link.png')) no-repeat;
- }
-
- a.select_parent {
- background: url(image-path('icons/select_parent.png')) no-repeat;
- }
-
- a.select_areas {
- background: url(image-path('icons/select_parent.png')) no-repeat;
- }
-
- a.calculator_edit {
- background: url(image-path('icons/calculator_edit.png')) no-repeat;
- }
- a.import {
- background: url(image-path('icons/import-small.png')) no-repeat;
- }
- a.export {
- background: url(image-path('icons/export-small.png')) no-repeat;
- }
- a.kml {
- background: url(image-path('icons/kml.png')) no-repeat;
- }
-
-}
diff --git a/app/assets/stylesheets/legacy.css.scss b/app/assets/stylesheets/legacy.css.scss
deleted file mode 100644
index 565195023..000000000
--- a/app/assets/stylesheets/legacy.css.scss
+++ /dev/null
@@ -1,207 +0,0 @@
-/* @mixin div_for_object { */
-/* margin-bottom: 20px; */
-
-/* a.preview { */
-/* text-decoration: none; */
-/* } */
-
-/* img { */
-/* float: left; */
-/* margin-right: 10px; */
-/* } */
-/* a { */
-/* display:block; */
-/* text-decoration: underline; */
-/* margin-bottom: 3px; */
-/* } */
-/* .info { */
-/* font-size: 12px; */
-/* color: #777; */
-/* font-weight: normal; */
-/* line-height: 18px; */
-
-/* a { */
-/* display:inline; */
-/* color: #095495; */
-/* } */
-/* } */
-/* } */
-
-/* @mixin after_div_for_object { */
-/* content: " "; */
-/* display: block; */
-/* height: 0; */
-/* clear: left; */
-/* visibility: hidden; */
-/* } */
-
-/* .line, .line_group, .stop_area, .service_link, .network, .service_link_stop_point, .indicator { */
-/* @include div_for_object; */
-/* } */
-
-/* .line:after, .line_group:after, .stop_area:after, .service_link:after, .network:after, .service_link_stop_point:after, .journey_pattern:after, .indicator:after { */
-/* @include after_div_for_object; */
-/* } */
-
-/* .line_show .summary{ */
-/* height: 250px; */
-/* min-height: 250px; */
-/* } */
-
-/* fieldset.buttons{ */
-/* margin: 10px; */
-/* } */
-
-/* .line { */
-/* .color { */
-/* width: 64px; */
-/* height: 64px; */
-/* float: left; */
-/* margin-right: 10px; */
-/* a { */
-/* text-decoration: none; */
-/* } */
-/* } */
-
-/* .code { */
-/* font-size: 16px; */
-/* text-align: center; */
-/* color: white; */
-/* font-weight: bold; */
-/* padding-top: 21px; */
-/* } */
-
-/* .number { */
-/* font-size: 16px; */
-/* text-align: center; */
-/* color: white; */
-/* font-weight: bold; */
-/* padding-top: 21px; */
-/* } */
-/* } */
-
-/* .journey_pattern{ */
-/* float: left; */
-/* padding: 10px; */
-
-/* .headers{ */
-/* background-color: #b78db7; */
-/* text-align: center; */
-/* padding: 5px; */
-
-/* img{ */
-/* vertical-align: text-bottom; */
-/* margin-left: 5px; */
-/* } */
-/* } */
-
-/* .even{ */
-/* background-color: #eed7f1; */
-/* padding: 5px; */
-
-/* img{ */
-/* vertical-align: text-bottom; */
-/* margin-right: 5px; */
-/* } */
-/* } */
-
-/* .odd{ */
-/* padding: 5px; */
-
-/* img{ */
-/* vertical-align: text-bottom; */
-/* margin-right: 5px; */
-/* } */
-/* } */
-/* } */
-
-/* .network */
-/* { */
-/* .map{ */
-/* width: 50px; */
-/* height: 50px; */
-/* float: left; */
-/* margin-right: 10px; */
-/* background: image-url("user_interface/ui/viewer.png") no-repeat; */
-/* } */
-
-/* a.viewer { */
-/* background: image-url("user_interface/ui/viewer.png") no-repeat; */
-/* } */
-/* } */
-
-/* .stop_area { */
-/* .info { */
-/* .warning { */
-/* background: image-url("user_interface/ui/warning.png") 0 100% no-repeat; */
-/* padding-left: 20px; */
-/* } */
-/* } */
-/* } */
-
-/* #map.stop_area, #map.service_link, #map.line { */
-/* float: right; */
-/* width: 400px; */
-/* height: 250px; */
-/* } */
-
-/* .service_link { */
-
-/* #service_link_stop_points { */
-/* li { */
-/* margin-bottom: 1.5em; */
-/* } */
-/* li.stop_area { */
-/* padding-left: 26px; */
-/* } */
-/* fieldset > ol > li { */
-/* margin-bottom: 0; */
-/* } */
-/* } */
-
-/* a { */
-/* display: inline; */
-/* } */
-
-/* a.remove { */
-/* float: left; */
-/* img { */
-/* margin: 4px 10px 0 0; */
-/* } */
-/* } */
-
-/* .buttons{ */
-/* margin-top: 20px; */
-/* } */
-
-
-/* } */
-
-/* .indicator{ */
-
-/* } */
-
-/* div.auto_complete { */
-/* width: 350px; */
-/* background: #fff; */
-
-/* ul { */
-/* border:1px solid #888; */
-/* margin:0; */
-/* padding:0; */
-/* width:100%; */
-/* list-style-type:none; */
-/* } */
-/* ul li { */
-/* margin:0; */
-/* padding:3px; */
-/* } */
-/* ul li.selected { */
-/* background-color: #ffb; */
-/* } */
-/* ul strong.highlight { */
-/* color: #800; */
-/* margin:0; */
-/* padding:0; */
-/* } */
-/* } */
diff --git a/app/assets/stylesheets/access_links.css.scss b/app/assets/stylesheets/main/access_links.css.scss
index b9b207de6..1511b06a0 100644
--- a/app/assets/stylesheets/access_links.css.scss
+++ b/app/assets/stylesheets/main/access_links.css.scss
@@ -1,8 +1,6 @@
// Place all the styles related to the lines controller here.
// They will automatically be included in application.css.
// You can use Sass (SCSS) here: http://sass-lang.com/
-@import "common/mixins";
-
#workspace.access_links.show
{
diff --git a/app/assets/stylesheets/access_points.css.scss b/app/assets/stylesheets/main/access_points.css.scss
index 6e5ea502f..7be2cb39b 100644
--- a/app/assets/stylesheets/access_points.css.scss
+++ b/app/assets/stylesheets/main/access_points.css.scss
@@ -1,20 +1,10 @@
// Place all the styles related to the lines controller here.
// They will automatically be included in application.css.
// You can use Sass (SCSS) here: http://sass-lang.com/
-@import "common/mixins";
#workspace.access_points.index
-{
- .access_point:after {
- @include after_div_for_object;
- }
-
- .access_points:after {
- @include content_to_clear;
- }
-
+{
.access_point {
- @include div_for_object;
/* to create multi-column index */
width: 250px;
float: left;
diff --git a/app/assets/stylesheets/api_keys.css.scss b/app/assets/stylesheets/main/api_keys.css.scss
index 2c1c45cdb..e78c7bda0 100644
--- a/app/assets/stylesheets/api_keys.css.scss
+++ b/app/assets/stylesheets/main/api_keys.css.scss
@@ -1,24 +1,15 @@
// Place all the styles related to the routes controller here.
// They will automatically be included in application.css.
// You can use Sass (SCSS) here: http://sass-lang.com/
-@import "common/mixins";
#workspace.referentials.show
{
- .api_key:after {
- @include after_div_for_object;
- }
.api_keys {
margin-top: 20px;
}
-
- .api_keys:after {
- @include content_to_clear;
- }
.api_key {
- @include div_for_object;
/* to create multi-column index */
width: 350px;
diff --git a/app/assets/stylesheets/calendar.css.scss b/app/assets/stylesheets/main/calendar.css.scss
index f9f5fd913..f9f5fd913 100644
--- a/app/assets/stylesheets/calendar.css.scss
+++ b/app/assets/stylesheets/main/calendar.css.scss
diff --git a/app/assets/stylesheets/companies.css.scss b/app/assets/stylesheets/main/companies.css.scss
index c3569c4fd..7f058d643 100644
--- a/app/assets/stylesheets/companies.css.scss
+++ b/app/assets/stylesheets/main/companies.css.scss
@@ -1,25 +1,15 @@
// Place all the styles related to the lines controller here.
// They will automatically be included in application.css.
// You can use Sass (SCSS) here: http://sass-lang.com/
-@import "common/mixins";
#workspace.companies.index
{
- .company:after {
- @include after_div_for_object;
- }
.companies {
margin-top: 20px;
}
-
- .companies:after {
- @include content_to_clear;
- }
.company {
- @include div_for_object;
-
/* to create multi-column index */
width: 350px;
float: left;
diff --git a/app/assets/stylesheets/compliance_check_tasks.css.scss b/app/assets/stylesheets/main/compliance_check_tasks.css.scss
index e5df5e844..e9f141758 100644
--- a/app/assets/stylesheets/compliance_check_tasks.css.scss
+++ b/app/assets/stylesheets/main/compliance_check_tasks.css.scss
@@ -1,4 +1,3 @@
-@import "common/mixins";
.status {
margin-left: 10px;
@@ -11,27 +10,12 @@
#workspace.compliance_check_tasks.index
{
- .compliance_check_task:after {
- @include after_div_for_object;
- }
.compliance_check_tasks {
margin-top: 20px;
}
- .compliance_check_tasks:after {
- @include content_to_clear;
- }
-
.compliance_check_task {
- width: 300px;
- float: left;
- padding: 5px;
- margin: 0 10px 10px 0px;
- background-color: #DEFFA8;
- border: 1px solid #61970b;
- -moz-border-radius: 3px;
- -webkit-border-radius: 3px;
div.icon{
display: inline-block;
@@ -68,12 +52,6 @@
img { margin-right: 10px;}
}
-
- .history {
- margin-top: 10px;
- font-size: 10px;
- color: #777;
- }
}
}
}
diff --git a/app/assets/stylesheets/connection_links.css.scss b/app/assets/stylesheets/main/connection_links.css.scss
index 243df6da6..b1691ccf1 100644
--- a/app/assets/stylesheets/connection_links.css.scss
+++ b/app/assets/stylesheets/main/connection_links.css.scss
@@ -1,24 +1,15 @@
// Place all the styles related to the lines controller here.
// They will automatically be included in application.css.
// You can use Sass (SCSS) here: http://sass-lang.com/
-@import "common/mixins";
#workspace.connection_links.index
{
- .connection_link:after {
- @include after_div_for_object;
- }
.connection_links {
margin-top: 20px;
}
-
- .connection_links:after {
- @include content_to_clear;
- }
.connection_link {
- @include div_for_object;
/* to create multi-column index */
width: 350px;
@@ -54,11 +45,9 @@
}
}
-#workspace.connection_links.edit,#workspace.connection_links.new,#workspace.connection_links.create,#workspace.connection_links.update
-{
- .time_select ol {
- padding: 0 0 0 40%;
- width: 100%;
- }
+#workspace.connection_links.edit,#workspace.connection_links.new,#workspace.connection_links.create,#workspace.connection_links.update{
+ legend { border: 0px; }
+
+ panel{ margin-left: 25%; }
}
diff --git a/app/assets/stylesheets/errors.css.scss b/app/assets/stylesheets/main/errors.css.scss
index b314da37a..b314da37a 100644
--- a/app/assets/stylesheets/errors.css.scss
+++ b/app/assets/stylesheets/main/errors.css.scss
diff --git a/app/assets/stylesheets/exports.css.scss b/app/assets/stylesheets/main/exports.css.scss
index d26ef2c8d..59273ecfc 100644
--- a/app/assets/stylesheets/exports.css.scss
+++ b/app/assets/stylesheets/main/exports.css.scss
@@ -2,30 +2,12 @@
// They will automatically be included in application.css.
// You can use Sass (SCSS) here: http://sass-lang.com/
-@import "common/mixins";
-
#workspace.exports.index
{
- .export:after {
- @include after_div_for_object;
- }
.exports {
margin-top: 20px;
- }
-
- .exports:after {
- @include content_to_clear;
- }
-
- .export {
- @include div_for_object;
-
- /* to create multi-column index */
- width: 300px;
- float: left;
- padding-right: 10px;
- }
+ }
}
#workspace.exports.show {
diff --git a/app/assets/stylesheets/group_of_lines.css.scss b/app/assets/stylesheets/main/group_of_lines.css.scss
index bcfca6f4e..ea943eb0f 100644
--- a/app/assets/stylesheets/group_of_lines.css.scss
+++ b/app/assets/stylesheets/main/group_of_lines.css.scss
@@ -1,25 +1,15 @@
// Place all the styles related to the lines controller here.
// They will automatically be included in application.css.
// You can use Sass (SCSS) here: http://sass-lang.com/
-@import "common/mixins";
#workspace.group_of_lines.index
{
- .group_of_line:after {
- @include after_div_for_object;
- }
.group_of_lines {
margin-top: 20px;
}
-
- .group_of_lines:after {
- @include content_to_clear;
- }
.group_of_line {
- @include div_for_object;
-
/* to create multi-column index */
width: 350px;
float: left;
@@ -35,19 +25,12 @@
}
.lines_detail div.page_info {
margin-top: 0px;
- }
-
- .line:after {
- @include after_div_for_object;
- }
+ }
.lines {
margin-top: 10px;
}
- .lines:after {
- @include content_to_clear;
- }
.group_of_line_lines {
clear: both;
margin: 0px;
@@ -58,7 +41,6 @@
}
.line {
- @include div_for_object;
/* to create multi-column index */
width: 250px;
float: left;
diff --git a/app/assets/stylesheets/help.css.scss b/app/assets/stylesheets/main/help.css.scss
index 2597222cd..2597222cd 100644
--- a/app/assets/stylesheets/help.css.scss
+++ b/app/assets/stylesheets/main/help.css.scss
diff --git a/app/assets/stylesheets/import_tasks.css.scss b/app/assets/stylesheets/main/import_tasks.css.scss
index 610b9827b..3e82e5c5d 100644
--- a/app/assets/stylesheets/import_tasks.css.scss
+++ b/app/assets/stylesheets/main/import_tasks.css.scss
@@ -1,5 +1,3 @@
-@import "common/mixins";
-
.status {
margin-left: 10px;
}
@@ -11,27 +9,12 @@
#workspace.import_tasks.index
{
- .import_task:after {
- @include after_div_for_object;
- }
.import_tasks {
margin-top: 20px;
}
- .import_tasks:after {
- @include content_to_clear;
- }
-
.import_task {
- width: 300px;
- float: left;
- padding: 5px;
- margin: 0 10px 10px 0px;
- background-color: #DEFFA8;
- border: 1px solid #61970b;
- -moz-border-radius: 3px;
- -webkit-border-radius: 3px;
div.icon{
display: inline-block;
@@ -67,12 +50,6 @@
img { margin-right: 10px;}
}
-
- .history {
- margin-top: 10px;
- font-size: 10px;
- color: #777;
- }
}
}
}
diff --git a/app/assets/stylesheets/journey_patterns.css.scss b/app/assets/stylesheets/main/journey_patterns.css.scss
index 232a9fa66..07ed52b9e 100644
--- a/app/assets/stylesheets/journey_patterns.css.scss
+++ b/app/assets/stylesheets/main/journey_patterns.css.scss
@@ -1,7 +1,6 @@
// Place all the styles related to the routes controller here.
// They will automatically be included in application.css.
// You can use Sass (SCSS) here: http://sass-lang.com/
-@import "common/mixins";
#workspace.journey_patterns.edit, #workspace.journey_patterns.new, #workspace.journey_patterns.create, #workspace.journey_patterns.update
{
@@ -26,18 +25,10 @@
.stop_points_detail div.page_info {
margin-top: 0px;
}
-
- .stop_point:after {
- @include after_div_for_object;
- }
-
+
.stop_points {
margin-top: 20px;
}
-
- .stop_points:after {
- @include content_to_clear;
- }
.journey_pattern_stop_points {
clear: both;
@@ -46,12 +37,7 @@
}
.stop_point {
- @include div_for_object;
- /* to create multi-column index */
- width: 250px;
- float: left;
- padding-right: 10px;
-
+
.position {
width: 25px;
height: 20px;
diff --git a/app/assets/stylesheets/main/layout.css.scss b/app/assets/stylesheets/main/layout.css.scss
new file mode 100644
index 000000000..d1c42668e
--- /dev/null
+++ b/app/assets/stylesheets/main/layout.css.scss
@@ -0,0 +1,408 @@
+/* Green theme */
+$header_background: #61970b;
+$header_color: white;
+$tabs_background: #86b41d;
+$tabs_color: white;
+$text_color: #222;
+
+/* Old layout */
+
+body {
+ background: #E5E5E5;
+}
+
+h1, .h1, h2, .h2, h3, .h3 {
+ margin-bottom: 20px;
+}
+
+a, a:visited {
+ color: $text_color;
+ }
+
+p.after_map {
+ clear: both;
+}
+
+#map {
+ float: right;
+ width: 400px;
+ height: 400px;
+}
+
+
+#header {
+ background: $header_background url(image-path('header.png')) no-repeat;
+
+ div.logo {
+ padding: 15px 0 0 30px;
+
+ .version
+ {
+ margin-left: 10px;
+ vertical-align: bottom;
+ font-weight: bold;
+ color: white;
+ }
+ }
+
+ div.title
+ {
+ h1 {
+ text-align: center
+ }
+ }
+
+ div.interaction{
+ text-align: right;
+ margin: 0 20px 0 0;
+
+ a.back_to_upper_menu {
+ color: $tabs_color;
+ text-decoration: underline;
+ font-size: 0.8em;
+ display: block;
+ }
+
+ ul.user {
+ color: $tabs_color;
+
+ li {
+ font-size: 13px;
+ display: inline;
+ margin: 0 3px;
+ }
+
+ a {
+ color: $tabs_color;
+ text-decoration: underline;
+ line-height: 55px;
+ }
+
+ li.language, li.home {
+ margin: 0 1px;
+ text-decoration: none;
+ }
+
+ li.language.selected
+ {
+ border-bottom: 2px solid black;
+ }
+
+ span.help {
+ color: $header_background;
+ font-size: 11px;
+ border-radius:6px;
+ -moz-border-radius: 6px;
+ background-color: white;
+ padding: 3px 5px;
+ }
+ }
+ }
+
+ .tabs {
+ margin: 10px 30px 0 30px;
+
+ // Override bootsrap default
+
+ .nav-tabs {
+ border: none;
+
+ li { margin-bottom: 0px;}
+ }
+
+ li {
+
+ a:link, a:visited {
+ background-color: $tabs_background;
+ color: $tabs_color;
+ }
+
+ a.current {
+ color: $text_color;
+ font-weight: bold;
+ background: -webkit-gradient(linear, left top, left bottom, from(#E5E5E5), to(white));
+ background: -moz-linear-gradient(top, #E5E5E5, white);
+ }
+ }
+
+ li.admin {
+ float: right;
+ }
+ }
+}
+
+.actions {
+ a {
+ padding-left: 20px;
+ text-decoration: underline;
+ }
+
+ a.visit_site{
+ background: url(image-path('icons/site.png')) no-repeat;
+ }
+
+ a.visit_event{
+ background: url(image-path('icons/event.png')) no-repeat;
+ }
+
+ a.visit_page{
+ background: url(image-path('icons/page.png')) no-repeat;
+ }
+
+ a.add {
+ background: url(image-path('icons/add.png')) no-repeat;
+ }
+ a.edit {
+ background: url(image-path('icons/edit.png')) no-repeat;
+ }
+ a.remove {
+ background: url(image-path('icons/remove.png')) no-repeat;
+ }
+ a.export {
+ background: url(image-path('icons/export.png')) no-repeat;
+ }
+ li {
+ margin: 10px 0;
+ }
+}
+
+#body {
+ min-width: 1000px;
+
+ a{ text-decoration: underline;}
+
+ #workspace, #sidebar {
+ float: left;
+ }
+}
+
+#body #workspace {
+ width: 70%;
+ background: white;
+ margin: 15px 30px;
+ padding: 0 15px 10px 15px;
+
+ -moz-box-shadow: 3px 3px 4px #BBB;
+ -webkit-box-shadow: 3px 3px 4px #BBB;
+ box-shadow: 3px 3px 4px #BBB;
+ border-right: 1px solid #BBB;
+ border-bottom: 1px solid #BBB;
+
+ li span.author {
+ float: right;
+ font-size: 12px;
+ }
+
+ .site_summary {
+ float: left;
+ margin-bottom: 20px;
+ width: 100%;
+
+ img {
+ float: left;
+ margin-right: 20px;
+ }
+ a {
+ display: block;
+ margin: 25px 0 0;
+ }
+ }
+ .site_summary:after {
+ content: " ";
+ display: block;
+ height: 0;
+ clear: both;
+ visibility: hidden;
+ }
+
+ fieldset.buttons{
+ margin: 10px;
+ }
+
+ form {
+ label {
+ color: #555555;
+ font-size: 100%;
+ text-align: right;
+ }
+
+
+ }
+
+}
+
+#body #flash {
+ width: 72%;
+ margin: 15px 0 0 30px;
+
+ div {
+ padding: 10px 10px 10px 50px;
+ }
+ .alert {
+ color: #c01100;
+ background: #ffbdbd url(image-path('icons/alert.png')) no-repeat 15px;
+ }
+ .notice {
+ background: #EDF3FE url(image-path('icons/notice.png')) no-repeat 15px;
+ }
+}
+
+#body #sidebar {
+ width: 20%;
+ padding-top: 20px;
+
+ label {
+ color: #555555;
+ font-weight: normal;
+ font-size: 100%;
+ }
+
+ a {
+ color: #666;
+ }
+
+ .actions {
+ margin-bottom: 20px;
+ }
+
+ p {
+ font-size: 12px;
+ }
+
+ fieldset
+ {
+ border-color: white;
+
+ p{
+ margin-top: 5px;
+ label{ font-size: 12px;}
+ span{
+ font-style: oblique;
+ font-size:12px;
+ }
+ }
+ }
+
+ ol {
+ padding: 0px;
+
+ li {
+ list-style: none;
+ }
+ }
+
+ ul {
+ padding: 0px;
+
+ li {
+ list-style: none;
+ }
+ }
+
+ ul.selection li {
+ a {
+ padding-left: 20px;
+ }
+ a.current {
+ text-decoration: none;
+ color: black !important;
+ background: url(image-path('icons/accept.png')) no-repeat;
+ }
+ a.all {
+ background-image: none;
+ }
+ }
+
+ div#compact_form {
+ form {
+ border-bottom: 1px solid #BBB;
+ fieldset {
+ padding: 0;
+ border: 0;
+ li {
+ padding: 0;
+ label { padding-left: 20px;
+ width: 70%;}
+ input { width: 20px; }
+ }
+ }
+ fieldset.actions {
+ margin-bottom: 0;
+ padding-left: 20px;
+ }
+ fieldset.inputs {
+ padding-top: 16px;
+ }
+ }
+ }
+}
+
+.info {
+ font-size: 10px;
+ color: #777;
+ font-weight: normal;
+ line-height: 14px;
+ margin-top: 5px;
+
+ a {
+ display:inline;
+ color: #777;
+ }
+
+ .actions {
+ margin-top: 10px;
+ a {
+ color: #666;
+ padding-left: 12px;
+ }
+
+ a.link {
+ background: url(image-path('icons/link-small.png')) no-repeat 0% 50%;
+ }
+ a.edit {
+ background: url(image-path('icons/edit-small.png')) no-repeat 0% 50%;
+ }
+ a.remove {
+ background: url(image-path('icons/remove-small.png')) no-repeat 0% 50%;
+ }
+ a.download {
+ background: url(image-path('download-small.png')) no-repeat 0% 50%;
+ }
+ }
+}
+
+.actions {
+ a.add_children {
+ background: url(image-path('icons/add.png')) no-repeat;
+ }
+
+ a.add_fields {
+ background: url(image-path('icons/add.png')) no-repeat;
+ }
+
+ a.link {
+ background: url(image-path('icons/link.png')) no-repeat;
+ }
+
+ a.select_parent {
+ background: url(image-path('icons/select_parent.png')) no-repeat;
+ }
+
+ a.select_areas {
+ background: url(image-path('icons/select_parent.png')) no-repeat;
+ }
+
+ a.calculator_edit {
+ background: url(image-path('icons/calculator_edit.png')) no-repeat;
+ }
+ a.import {
+ background: url(image-path('icons/import-small.png')) no-repeat;
+ }
+ a.export {
+ background: url(image-path('icons/export-small.png')) no-repeat;
+ }
+ a.kml {
+ background: url(image-path('icons/kml.png')) no-repeat;
+ }
+
+}
diff --git a/app/assets/stylesheets/lines.css.scss b/app/assets/stylesheets/main/lines.css.scss
index f3ce676e2..2817ec19d 100644
--- a/app/assets/stylesheets/lines.css.scss
+++ b/app/assets/stylesheets/main/lines.css.scss
@@ -1,30 +1,15 @@
// Place all the styles related to the lines controller here.
// They will automatically be included in application.css.
// You can use Sass (SCSS) here: http://sass-lang.com/
-@import "common/mixins";
#workspace.lines.index
{
- .line:after {
- @include after_div_for_object;
- }
.lines {
margin-top: 20px;
}
-
- .lines:after {
- @include content_to_clear;
- }
.line {
- @include div_for_object;
-
- /* to create multi-column index */
- width: 350px;
- float: left;
- padding-right: 10px;
- position: relative;
.color {
background-color: white;
@@ -64,25 +49,10 @@
font-weight: bold;
padding: 0 5px 0 5px;}
- .route {
- @include div_for_object;
- /* to create multi-column index */
- width: 350px;
- height: 65;
- float: left;
- padding-right: 10px;
- margin-bottom: 0px;
- }
-
.summary p label {
font-weight: bold;
}
- .group_of_line {
- @include div_for_object;
- /* to create multi-column index */
- width: 250px;
- float: left;
- padding-right: 10px;
+ .group_of_line {
.position {
width: 25px;
diff --git a/app/assets/stylesheets/multiple_selection.scss b/app/assets/stylesheets/main/multiple_selection.scss
index 6a5bdd54f..6a5bdd54f 100644
--- a/app/assets/stylesheets/multiple_selection.scss
+++ b/app/assets/stylesheets/main/multiple_selection.scss
diff --git a/app/assets/stylesheets/networks.css.scss b/app/assets/stylesheets/main/networks.css.scss
index dafe42c98..df5665f36 100644
--- a/app/assets/stylesheets/networks.css.scss
+++ b/app/assets/stylesheets/main/networks.css.scss
@@ -1,25 +1,14 @@
// Place all the styles related to the lines controller here.
// They will automatically be included in application.css.
// You can use Sass (SCSS) here: http://sass-lang.com/
-@import "common/mixins";
#workspace.networks.index
{
- .network:after {
- @include after_div_for_object;
- }
-
.networks {
margin-top: 20px;
}
-
- .networks:after {
- @include content_to_clear;
- }
.network {
- @include div_for_object;
-
/* to create multi-column index */
width: 350px;
float: left;
diff --git a/app/assets/stylesheets/organisations.css.scss b/app/assets/stylesheets/main/organisations.css.scss
index 4ce671436..aaecbe30f 100644
--- a/app/assets/stylesheets/organisations.css.scss
+++ b/app/assets/stylesheets/main/organisations.css.scss
@@ -1,24 +1,15 @@
// Place all the styles related to the lines controller here.
// They will automatically be included in application.css.
// You can use Sass (SCSS) here: http://sass-lang.com/
-@import "common/mixins";
#workspace.organisations.show
{
- .user:after {
- @include after_div_for_object;
- }
.users {
margin-top: 20px;
}
-
- .users:after {
- @include content_to_clear;
- }
.user {
- @include div_for_object;
/* to create multi-column index */
width: 350px;
diff --git a/app/assets/stylesheets/referentials.css.scss b/app/assets/stylesheets/main/referentials.css.scss
index e7874711f..bb4661405 100644
--- a/app/assets/stylesheets/referentials.css.scss
+++ b/app/assets/stylesheets/main/referentials.css.scss
@@ -1,24 +1,15 @@
// Place all the styles related to the referentials controller here.
// They will automatically be included in application.css.
// You can use Sass (SCSS) here: http://sass-lang.com/
-@import "common/mixins";
#workspace.referentials.index
{
- .referentials:after {
- @include after_div_for_object;
- }
.referentials {
margin-top: 20px;
}
-
- .referentials:after {
- @include content_to_clear;
- }
.referential {
- @include div_for_object;
/* to create multi-column index */
width: 350px;
diff --git a/app/assets/stylesheets/routes.css.scss b/app/assets/stylesheets/main/routes.css.scss
index 77d84ee87..027cde222 100644
--- a/app/assets/stylesheets/routes.css.scss
+++ b/app/assets/stylesheets/main/routes.css.scss
@@ -1,25 +1,15 @@
// Place all the styles related to the routes controller here.
// They will automatically be included in application.css.
// You can use Sass (SCSS) here: http://sass-lang.com/
-@import "common/mixins";
#workspace.lines.show
{
- .route:after {
- @include after_div_for_object;
- }
.routes {
margin-top: 20px;
}
-
- .routes:after {
- @include content_to_clear;
- }
.route {
- @include div_for_object;
-
/* to create multi-column index */
width: 350px;
padding-right: 10px;
@@ -72,6 +62,10 @@
#workspace.routes.show
{
+ .page_info {
+ margin: 10px 0 10px 0;
+ }
+
.route_color{ color: white;
font-weight: bold;
padding: 0 5px 0 5px;}
@@ -82,19 +76,11 @@
.stop_points_detail div.page_info {
margin-top: 0px;
- }
-
- .stop_point:after {
- @include after_div_for_object;
- }
+ }
.stop_points {
margin-top: 10px;
}
-
- .stop_points:after {
- @include content_to_clear;
- }
.route_journey_patterns {
a {
@@ -112,7 +98,6 @@
}
.stop_point {
- @include div_for_object;
/* to create multi-column index */
width: 250px;
float: left;
@@ -130,25 +115,11 @@
}
}
-}
-
-#workspace.routes.show
-{
- .jouerney_pattern:after {
- @include after_div_for_object;
- }
-
.journey_patterns {
margin-top: 10px;
}
-
- .journey_patterns:after {
- @include content_to_clear;
- }
.journey_pattern {
- @include div_for_object;
-
/* to create multi-column index */
width: 350px;
padding-right: 10px;
diff --git a/app/assets/stylesheets/rule_parameter_sets.css.scss b/app/assets/stylesheets/main/rule_parameter_sets.css.scss
index 8f9688d85..682631ce5 100644
--- a/app/assets/stylesheets/rule_parameter_sets.css.scss
+++ b/app/assets/stylesheets/main/rule_parameter_sets.css.scss
@@ -1,24 +1,14 @@
// Place all the styles related to the rule_parameter_sets controller here.
// They will automatically be included in application.css.
// You can use Sass (SCSS) here: http://sass-lang.com/
-@import "common/mixins";
#workspace.rule_parameter_sets.index
{
- .rule_parameter_set:after {
- @include after_div_for_object;
- }
-
.rule_parameter_sets {
margin-top: 20px;
}
- .rule_parameter_sets:after {
- @include content_to_clear;
- }
-
.rule_parameter_set {
- @include div_for_object;
/* to create multi-column index */
width: 350px;
diff --git a/app/assets/stylesheets/stop_areas.css.scss b/app/assets/stylesheets/main/stop_areas.css.scss
index 8e5dc8fd9..384b412a7 100644
--- a/app/assets/stylesheets/stop_areas.css.scss
+++ b/app/assets/stylesheets/main/stop_areas.css.scss
@@ -1,24 +1,11 @@
// Place all the styles related to the lines controller here.
// They will automatically be included in application.css.
// You can use Sass (SCSS) here: http://sass-lang.com/
-@import "common/mixins";
#workspace.stop_areas.index
{
- .stop_area:after {
- @include after_div_for_object;
- }
-
- .stop_areas:after {
- @include content_to_clear;
- }
.stop_area {
- @include div_for_object;
- /* to create multi-column index */
- width: 250px;
- float: left;
- padding-right: 10px;
.area_type {
width: 25px;
@@ -36,7 +23,12 @@
}
#workspace.stop_areas.edit {
- legend { padding-bottom: 20px; }
+ legend { padding-bottom: 20px; }
+
+ #map{
+ float:none;
+ width: 100%;
+ }
}
#workspace.stop_areas.show
@@ -58,7 +50,6 @@
border: 2px solid black;
float: left;
padding: 3px 15px 3px 3px;
- height: 25px;
* { vertical-align:middle; }
span { margin-left: 7px; }
img { margin: 0px 5px 0px 5px;}
@@ -79,7 +70,6 @@
.no_parent{
float: left;
padding: 3px 15px 3px 3px;
- height: 25px;
width: 150px;
}
@@ -87,7 +77,6 @@
border: 2px solid #86b41d;
float: left;
padding: 3px 15px 3px 3px;
- height: 25px;
font-weight: bold;
* { vertical-align:middle; }
span { margin-left: 7px; }
@@ -100,7 +89,6 @@
.child{
border: 2px solid black;
padding: 3px 15px 3px 3px;
- height: 25px;
margin-bottom: 5px;
* { vertical-align:middle; }
span { margin-left: 7px; }
@@ -116,12 +104,7 @@
height: 25px;
}
}
- .access_point {
- @include div_for_object;
- /* to create multi-column index */
- width: 250px;
- float: left;
- padding-right: 10px;
+ .access_point {
.access_type {
width: 25px;
diff --git a/app/assets/stylesheets/stop_points.css.scss b/app/assets/stylesheets/main/stop_points.css.scss
index 6f1ea505a..b1ba9ff50 100644
--- a/app/assets/stylesheets/stop_points.css.scss
+++ b/app/assets/stylesheets/main/stop_points.css.scss
@@ -1,23 +1,13 @@
// Place all the styles related to the lines controller here.
// They will automatically be included in application.css.
// You can use Sass (SCSS) here: http://sass-lang.com/
-@import "common/mixins";
#workspace.stop_points.index
{
- .stop_point:after {
- @include after_div_for_object;
- }
-
.stop_points {
}
-
- .stop_points:after {
- @include content_to_clear;
- }
#sortable_stop_points .stop_point {
- @include div_for_object;
/* to create multi-column index */
width: 350px;
padding-right: 10px;
diff --git a/app/assets/stylesheets/subscriptions.css.scss b/app/assets/stylesheets/main/subscriptions.css.scss
index e1877cb69..58a272cbd 100644
--- a/app/assets/stylesheets/subscriptions.css.scss
+++ b/app/assets/stylesheets/main/subscriptions.css.scss
@@ -1,7 +1,6 @@
// Place all the styles related to the lines controller here.
// They will automatically be included in application.css.
// You can use Sass (SCSS) here: http://sass-lang.com/
-@import "common/mixins";
#workspace.subscriptions.create, #workspace.subscriptions.new
{
diff --git a/app/assets/stylesheets/time_tables.css.scss b/app/assets/stylesheets/main/time_tables.css.scss
index ddd27b691..071b16b52 100644
--- a/app/assets/stylesheets/time_tables.css.scss
+++ b/app/assets/stylesheets/main/time_tables.css.scss
@@ -1,24 +1,15 @@
// Place all the styles related to the lines controller here.
// They will automatically be included in application.css.
// You can use Sass (SCSS) here: http://sass-lang.com/
-@import "common/mixins";
#workspace.time_tables.index
{
- .time_table:after {
- @include after_div_for_object;
- }
.time_tables {
margin-top: 20px;
}
-
- .time_tables:after {
- @include content_to_clear;
- }
.time_table {
- @include div_for_object;
/* to create multi-column index */
width: 350px;
diff --git a/app/assets/stylesheets/token-input.css b/app/assets/stylesheets/main/token-input.css
index 55a7f5656..55a7f5656 100644
--- a/app/assets/stylesheets/token-input.css
+++ b/app/assets/stylesheets/main/token-input.css
diff --git a/app/assets/stylesheets/users.css.scss b/app/assets/stylesheets/main/users.css.scss
index 4ae0571ea..daaae0132 100644
--- a/app/assets/stylesheets/users.css.scss
+++ b/app/assets/stylesheets/main/users.css.scss
@@ -1,7 +1,6 @@
// Place all the styles related to the lines controller here.
// They will automatically be included in application.css.
// You can use Sass (SCSS) here: http://sass-lang.com/
-@import "common/mixins";
#workspace.users.edit, #workspace.lines.new
{
diff --git a/app/assets/stylesheets/vehicle_journey_imports.css.scss b/app/assets/stylesheets/main/vehicle_journey_imports.css.scss
index 6aab362d1..ece81080b 100644
--- a/app/assets/stylesheets/vehicle_journey_imports.css.scss
+++ b/app/assets/stylesheets/main/vehicle_journey_imports.css.scss
@@ -1,5 +1,3 @@
-@import "common/mixins";
-
#workspace.vehicle_journey_imports.new
{
.export{
diff --git a/app/assets/stylesheets/main/vehicle_journeys.css.scss b/app/assets/stylesheets/main/vehicle_journeys.css.scss
new file mode 100644
index 000000000..143feada2
--- /dev/null
+++ b/app/assets/stylesheets/main/vehicle_journeys.css.scss
@@ -0,0 +1,79 @@
+// Place all the styles related to the routes controller here.
+// They will automatically be included in application.css.
+// You can use Sass (SCSS) here: http://sass-lang.com/
+
+#workspace.vehicle_journeys.edit, #workspace.vehicle_journeys.update, #workspace.vehicle_journeys.create, #workspace.vehicle_journeys.new
+{
+ #route_color{ width: 100px;
+ color: white;
+ font-weight: bold;}
+ .journey_pattern_dependent_list {
+ tr.no_stop { display: none; }
+ }
+ .time_table_list { padding-left: 25%; }
+ .vehicle_journey_at_stops { margin-left: 25%; }
+}
+
+#workspace.vehicle_journeys.index
+{
+ table{ margin: 20px 0 0 0; }
+
+
+
+}
+
+#workspace.vehicle_journeys.show, #workspace.vehicle_journeys.edit, #workspace.vehicle_journeys.update, #workspace.vehicle_journeys.create, #workspace.vehicle_journeys.new {
+
+ .to_departures {
+ cursor: pointer;
+ }
+
+ .to_arrivals {
+ cursor: pointer;
+ }
+
+}
+
+#workspace.vehicle_journeys.show
+{
+ .summary p label {
+ font-weight: bold;
+ }
+
+ .time_tables {
+ margin-top: 20px;
+ }
+
+ .time_table {
+ span.included_day_type {
+ font-weight: bolder;
+ color: black;
+ }
+ span.excluded_day_type {
+ }
+ }
+}
+
+#workspace.vehicle_journeys.timeless
+{
+ .summary p label {
+ font-weight: bold;
+ }
+
+ .vehicle_journeys {
+ margin-top: 20px;
+ }
+
+ .vehicle_journey {
+
+ span.included_day_type {
+ font-weight: bolder;
+ color: black;
+ }
+ span.excluded_day_type {
+ }
+ }
+}
+
+
+
diff --git a/app/assets/stylesheets/welcome.css.scss b/app/assets/stylesheets/main/welcome.css.scss
index 77ce11a74..77ce11a74 100644
--- a/app/assets/stylesheets/welcome.css.scss
+++ b/app/assets/stylesheets/main/welcome.css.scss
diff --git a/app/assets/stylesheets/pagination.css.scss b/app/assets/stylesheets/pagination.css.scss
deleted file mode 100644
index e9f6b7235..000000000
--- a/app/assets/stylesheets/pagination.css.scss
+++ /dev/null
@@ -1,57 +0,0 @@
-.page_info {
- margin: 30px 0 10px 0;
- height: 30px;
- line-height: 30px;
- color: #777777;
- border-bottom: solid 1px #cdc9c0;
- border-top: solid 1px #cdc9c0;
-
- .search{
- margin: 0 20px 0 10px;
- color: #61970b;
- font-weight:bold;
- }
-
- b {
- padding: 0.1em 0.25em;
- }
-}
-
-.pagination {
- background: white;
- cursor: default;
- margin-top: 10px;
- text-align: center;
-
- /* self-clearing method: */
- a, span, em {
- padding: 0.2em 0.5em;
- }
- .disabled {
- color: #999999;
- border: 1px solid #dddddd; }
- .current {
- font-style: normal;
- font-weight: bold;
- background: #61970b;
- color: white;
- border: 1px solid #61970b; }
- a {
- text-decoration: none;
- color: #86b41d;
- border: 1px solid #86b41d; }
- a:hover, a:focus {
- color: #000033;
- border-color: #000033; }
-}
-
-.pagination:after {
- content: ".";
- display: block;
- height: 0;
- clear: both;
- visibility: hidden; }
-* html .pagination{
- height: 1%; }
-*:first-child + html .pagination {
- overflow: hidden; } \ No newline at end of file
diff --git a/app/assets/stylesheets/plugins/bootstrap.min.css b/app/assets/stylesheets/plugins/bootstrap.min.css
deleted file mode 100644
index 145037827..000000000
--- a/app/assets/stylesheets/plugins/bootstrap.min.css
+++ /dev/null
@@ -1,11 +0,0 @@
-/*!
- * Bootstrap v3.0.3
- *
- * Copyright 2013 Twitter, Inc
- * Licensed under the Apache License v2.0
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Designed and built with all the love in the world @twitter by @mdo and @fat.
- */
-
-article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block;}audio,canvas,video{display:inline-block;}audio:not([controls]){display:none;height:0;}[hidden],template{display:none;}html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;}body{margin:0;}a{background:transparent;}a:focus{outline:thin dotted;}a:active,a:hover{outline:0;}h1{font-size:2em;margin:0.67em 0;}abbr[title]{border-bottom:1px dotted;}b,strong{font-weight:bold;}dfn{font-style:italic;}hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0;}mark{background:#ff0;color:#000;}code,kbd,pre,samp{font-family:monospace, serif;font-size:1em;}pre{white-space:pre-wrap;}q{quotes:"\201C" "\201D" "\2018" "\2019";}small{font-size:80%;}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline;}sup{top:-0.5em;}sub{bottom:-0.25em;}img{border:0;}svg:not(:root){overflow:hidden;}figure{margin:0;}fieldset{border:1px solid #c0c0c0;margin:0 2px;padding:0.35em 0.625em 0.75em;}legend{border:0;padding:0;}button,input,select,textarea{font-family:inherit;font-size:100%;margin:0;}button,input{line-height:normal;}button,select{text-transform:none;}button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer;}button[disabled],html input[disabled]{cursor:default;}input[type="checkbox"],input[type="radio"]{box-sizing:border-box;padding:0;}input[type="search"]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box;}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none;}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0;}textarea{overflow:auto;vertical-align:top;}table{border-collapse:collapse;border-spacing:0;}@media print{*{text-shadow:none !important;color:#000 !important;background:transparent !important;box-shadow:none !important;} a,a:visited{text-decoration:underline;} a[href]:after{content:" (" attr(href) ")";} abbr[title]:after{content:" (" attr(title) ")";} a[href^="javascript:"]:after,a[href^="#"]:after{content:"";} pre,blockquote{border:1px solid #999;page-break-inside:avoid;} thead{display:table-header-group;} tr,img{page-break-inside:avoid;} img{max-width:100% !important;} @page {margin:2cm .5cm;}p,h2,h3{orphans:3;widows:3;} h2,h3{page-break-after:avoid;} select{background:#fff !important;} .navbar{display:none;} .table td,.table th{background-color:#fff !important;} .btn>.caret,.dropup>.btn>.caret{border-top-color:#000 !important;} .label{border:1px solid #000;} .table{border-collapse:collapse !important;} .table-bordered th,.table-bordered td{border:1px solid #ddd !important;}}*,*:before,*:after{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;}html{font-size:62.5%;-webkit-tap-highlight-color:rgba(0, 0, 0, 0);}body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.428571429;color:#333333;background-color:#ffffff;}input,button,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit;}a{color:#428bca;text-decoration:none;}a:hover,a:focus{color:#2a6496;text-decoration:underline;}a:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px;}img{vertical-align:middle;}.img-responsive{display:block;max-width:100%;height:auto;}.img-rounded{border-radius:6px;}.img-thumbnail{padding:4px;line-height:1.428571429;background-color:#ffffff;border:1px solid #dddddd;border-radius:4px;-webkit-transition:all 0.2s ease-in-out;transition:all 0.2s ease-in-out;display:inline-block;max-width:100%;height:auto;}.img-circle{border-radius:50%;}hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eeeeee;}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0, 0, 0, 0);border:0;}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace;}code{padding:2px 4px;font-size:90%;color:#c7254e;background-color:#f9f2f4;white-space:nowrap;border-radius:4px;}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:1.428571429;word-break:break-all;word-wrap:break-word;color:#333333;background-color:#f5f5f5;border:1px solid #cccccc;border-radius:4px;}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0;}.pre-scrollable{max-height:340px;overflow-y:scroll;}.container{margin-right:auto;margin-left:auto;padding-left:15px;padding-right:15px;}.container:before,.container:after{content:" ";display:table;}.container:after{clear:both;}.container:before,.container:after{content:" ";display:table;}.container:after{clear:both;}@media (min-width:768px){.container{width:750px;}}@media (min-width:992px){.container{width:970px;}}@media (min-width:1200px){.container{width:1170px;}}.row{margin-left:-15px;margin-right:-15px;}.row:before,.row:after{content:" ";display:table;}.row:after{clear:both;}.row:before,.row:after{content:" ";display:table;}.row:after{clear:both;}.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12{position:relative;min-height:1px;padding-left:15px;padding-right:15px;}.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12{float:left;}.col-xs-12{width:100%;}.col-xs-11{width:91.66666666666666%;}.col-xs-10{width:83.33333333333334%;}.col-xs-9{width:75%;}.col-xs-8{width:66.66666666666666%;}.col-xs-7{width:58.333333333333336%;}.col-xs-6{width:50%;}.col-xs-5{width:41.66666666666667%;}.col-xs-4{width:33.33333333333333%;}.col-xs-3{width:25%;}.col-xs-2{width:16.666666666666664%;}.col-xs-1{width:8.333333333333332%;}.col-xs-pull-12{right:100%;}.col-xs-pull-11{right:91.66666666666666%;}.col-xs-pull-10{right:83.33333333333334%;}.col-xs-pull-9{right:75%;}.col-xs-pull-8{right:66.66666666666666%;}.col-xs-pull-7{right:58.333333333333336%;}.col-xs-pull-6{right:50%;}.col-xs-pull-5{right:41.66666666666667%;}.col-xs-pull-4{right:33.33333333333333%;}.col-xs-pull-3{right:25%;}.col-xs-pull-2{right:16.666666666666664%;}.col-xs-pull-1{right:8.333333333333332%;}.col-xs-pull-0{right:0%;}.col-xs-push-12{left:100%;}.col-xs-push-11{left:91.66666666666666%;}.col-xs-push-10{left:83.33333333333334%;}.col-xs-push-9{left:75%;}.col-xs-push-8{left:66.66666666666666%;}.col-xs-push-7{left:58.333333333333336%;}.col-xs-push-6{left:50%;}.col-xs-push-5{left:41.66666666666667%;}.col-xs-push-4{left:33.33333333333333%;}.col-xs-push-3{left:25%;}.col-xs-push-2{left:16.666666666666664%;}.col-xs-push-1{left:8.333333333333332%;}.col-xs-push-0{left:0%;}.col-xs-offset-12{margin-left:100%;}.col-xs-offset-11{margin-left:91.66666666666666%;}.col-xs-offset-10{margin-left:83.33333333333334%;}.col-xs-offset-9{margin-left:75%;}.col-xs-offset-8{margin-left:66.66666666666666%;}.col-xs-offset-7{margin-left:58.333333333333336%;}.col-xs-offset-6{margin-left:50%;}.col-xs-offset-5{margin-left:41.66666666666667%;}.col-xs-offset-4{margin-left:33.33333333333333%;}.col-xs-offset-3{margin-left:25%;}.col-xs-offset-2{margin-left:16.666666666666664%;}.col-xs-offset-1{margin-left:8.333333333333332%;}.col-xs-offset-0{margin-left:0%;}@media (min-width:768px){.col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12{float:left;} .col-sm-12{width:100%;} .col-sm-11{width:91.66666666666666%;} .col-sm-10{width:83.33333333333334%;} .col-sm-9{width:75%;} .col-sm-8{width:66.66666666666666%;} .col-sm-7{width:58.333333333333336%;} .col-sm-6{width:50%;} .col-sm-5{width:41.66666666666667%;} .col-sm-4{width:33.33333333333333%;} .col-sm-3{width:25%;} .col-sm-2{width:16.666666666666664%;} .col-sm-1{width:8.333333333333332%;} .col-sm-pull-12{right:100%;} .col-sm-pull-11{right:91.66666666666666%;} .col-sm-pull-10{right:83.33333333333334%;} .col-sm-pull-9{right:75%;} .col-sm-pull-8{right:66.66666666666666%;} .col-sm-pull-7{right:58.333333333333336%;} .col-sm-pull-6{right:50%;} .col-sm-pull-5{right:41.66666666666667%;} .col-sm-pull-4{right:33.33333333333333%;} .col-sm-pull-3{right:25%;} .col-sm-pull-2{right:16.666666666666664%;} .col-sm-pull-1{right:8.333333333333332%;} .col-sm-pull-0{right:0%;} .col-sm-push-12{left:100%;} .col-sm-push-11{left:91.66666666666666%;} .col-sm-push-10{left:83.33333333333334%;} .col-sm-push-9{left:75%;} .col-sm-push-8{left:66.66666666666666%;} .col-sm-push-7{left:58.333333333333336%;} .col-sm-push-6{left:50%;} .col-sm-push-5{left:41.66666666666667%;} .col-sm-push-4{left:33.33333333333333%;} .col-sm-push-3{left:25%;} .col-sm-push-2{left:16.666666666666664%;} .col-sm-push-1{left:8.333333333333332%;} .col-sm-push-0{left:0%;} .col-sm-offset-12{margin-left:100%;} .col-sm-offset-11{margin-left:91.66666666666666%;} .col-sm-offset-10{margin-left:83.33333333333334%;} .col-sm-offset-9{margin-left:75%;} .col-sm-offset-8{margin-left:66.66666666666666%;} .col-sm-offset-7{margin-left:58.333333333333336%;} .col-sm-offset-6{margin-left:50%;} .col-sm-offset-5{margin-left:41.66666666666667%;} .col-sm-offset-4{margin-left:33.33333333333333%;} .col-sm-offset-3{margin-left:25%;} .col-sm-offset-2{margin-left:16.666666666666664%;} .col-sm-offset-1{margin-left:8.333333333333332%;} .col-sm-offset-0{margin-left:0%;}}@media (min-width:992px){.col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12{float:left;} .col-md-12{width:100%;} .col-md-11{width:91.66666666666666%;} .col-md-10{width:83.33333333333334%;} .col-md-9{width:75%;} .col-md-8{width:66.66666666666666%;} .col-md-7{width:58.333333333333336%;} .col-md-6{width:50%;} .col-md-5{width:41.66666666666667%;} .col-md-4{width:33.33333333333333%;} .col-md-3{width:25%;} .col-md-2{width:16.666666666666664%;} .col-md-1{width:8.333333333333332%;} .col-md-pull-12{right:100%;} .col-md-pull-11{right:91.66666666666666%;} .col-md-pull-10{right:83.33333333333334%;} .col-md-pull-9{right:75%;} .col-md-pull-8{right:66.66666666666666%;} .col-md-pull-7{right:58.333333333333336%;} .col-md-pull-6{right:50%;} .col-md-pull-5{right:41.66666666666667%;} .col-md-pull-4{right:33.33333333333333%;} .col-md-pull-3{right:25%;} .col-md-pull-2{right:16.666666666666664%;} .col-md-pull-1{right:8.333333333333332%;} .col-md-pull-0{right:0%;} .col-md-push-12{left:100%;} .col-md-push-11{left:91.66666666666666%;} .col-md-push-10{left:83.33333333333334%;} .col-md-push-9{left:75%;} .col-md-push-8{left:66.66666666666666%;} .col-md-push-7{left:58.333333333333336%;} .col-md-push-6{left:50%;} .col-md-push-5{left:41.66666666666667%;} .col-md-push-4{left:33.33333333333333%;} .col-md-push-3{left:25%;} .col-md-push-2{left:16.666666666666664%;} .col-md-push-1{left:8.333333333333332%;} .col-md-push-0{left:0%;} .col-md-offset-12{margin-left:100%;} .col-md-offset-11{margin-left:91.66666666666666%;} .col-md-offset-10{margin-left:83.33333333333334%;} .col-md-offset-9{margin-left:75%;} .col-md-offset-8{margin-left:66.66666666666666%;} .col-md-offset-7{margin-left:58.333333333333336%;} .col-md-offset-6{margin-left:50%;} .col-md-offset-5{margin-left:41.66666666666667%;} .col-md-offset-4{margin-left:33.33333333333333%;} .col-md-offset-3{margin-left:25%;} .col-md-offset-2{margin-left:16.666666666666664%;} .col-md-offset-1{margin-left:8.333333333333332%;} .col-md-offset-0{margin-left:0%;}}@media (min-width:1200px){.col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12{float:left;} .col-lg-12{width:100%;} .col-lg-11{width:91.66666666666666%;} .col-lg-10{width:83.33333333333334%;} .col-lg-9{width:75%;} .col-lg-8{width:66.66666666666666%;} .col-lg-7{width:58.333333333333336%;} .col-lg-6{width:50%;} .col-lg-5{width:41.66666666666667%;} .col-lg-4{width:33.33333333333333%;} .col-lg-3{width:25%;} .col-lg-2{width:16.666666666666664%;} .col-lg-1{width:8.333333333333332%;} .col-lg-pull-12{right:100%;} .col-lg-pull-11{right:91.66666666666666%;} .col-lg-pull-10{right:83.33333333333334%;} .col-lg-pull-9{right:75%;} .col-lg-pull-8{right:66.66666666666666%;} .col-lg-pull-7{right:58.333333333333336%;} .col-lg-pull-6{right:50%;} .col-lg-pull-5{right:41.66666666666667%;} .col-lg-pull-4{right:33.33333333333333%;} .col-lg-pull-3{right:25%;} .col-lg-pull-2{right:16.666666666666664%;} .col-lg-pull-1{right:8.333333333333332%;} .col-lg-pull-0{right:0%;} .col-lg-push-12{left:100%;} .col-lg-push-11{left:91.66666666666666%;} .col-lg-push-10{left:83.33333333333334%;} .col-lg-push-9{left:75%;} .col-lg-push-8{left:66.66666666666666%;} .col-lg-push-7{left:58.333333333333336%;} .col-lg-push-6{left:50%;} .col-lg-push-5{left:41.66666666666667%;} .col-lg-push-4{left:33.33333333333333%;} .col-lg-push-3{left:25%;} .col-lg-push-2{left:16.666666666666664%;} .col-lg-push-1{left:8.333333333333332%;} .col-lg-push-0{left:0%;} .col-lg-offset-12{margin-left:100%;} .col-lg-offset-11{margin-left:91.66666666666666%;} .col-lg-offset-10{margin-left:83.33333333333334%;} .col-lg-offset-9{margin-left:75%;} .col-lg-offset-8{margin-left:66.66666666666666%;} .col-lg-offset-7{margin-left:58.333333333333336%;} .col-lg-offset-6{margin-left:50%;} .col-lg-offset-5{margin-left:41.66666666666667%;} .col-lg-offset-4{margin-left:33.33333333333333%;} .col-lg-offset-3{margin-left:25%;} .col-lg-offset-2{margin-left:16.666666666666664%;} .col-lg-offset-1{margin-left:8.333333333333332%;} .col-lg-offset-0{margin-left:0%;}}table{max-width:100%;background-color:transparent;}th{text-align:left;}.table{width:100%;margin-bottom:20px;}.table>thead>tr>th,.table>tbody>tr>th,.table>tfoot>tr>th,.table>thead>tr>td,.table>tbody>tr>td,.table>tfoot>tr>td{padding:8px;line-height:1.428571429;vertical-align:top;border-top:1px solid #dddddd;}.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #dddddd;}.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>th,.table>caption+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>td,.table>thead:first-child>tr:first-child>td{border-top:0;}.table>tbody+tbody{border-top:2px solid #dddddd;}.table .table{background-color:#ffffff;}.table-condensed>thead>tr>th,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>tbody>tr>td,.table-condensed>tfoot>tr>td{padding:5px;}.table-bordered{border:1px solid #dddddd;}.table-bordered>thead>tr>th,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>tbody>tr>td,.table-bordered>tfoot>tr>td{border:1px solid #dddddd;}.table-bordered>thead>tr>th,.table-bordered>thead>tr>td{border-bottom-width:2px;}.table-striped>tbody>tr:nth-child(odd)>td,.table-striped>tbody>tr:nth-child(odd)>th{background-color:#f9f9f9;}.table-hover>tbody>tr:hover>td,.table-hover>tbody>tr:hover>th{background-color:#f5f5f5;}table col[class*="col-"]{position:static;float:none;display:table-column;}table td[class*="col-"],table th[class*="col-"]{float:none;display:table-cell;}.table>thead>tr>.active,.table>tbody>tr>.active,.table>tfoot>tr>.active,.table>thead>.active>td,.table>tbody>.active>td,.table>tfoot>.active>td,.table>thead>.active>th,.table>tbody>.active>th,.table>tfoot>.active>th{background-color:#f5f5f5;}.table-hover>tbody>tr>.active:hover,.table-hover>tbody>.active:hover>td,.table-hover>tbody>.active:hover>th{background-color:#e8e8e8;}.table>thead>tr>.success,.table>tbody>tr>.success,.table>tfoot>tr>.success,.table>thead>.success>td,.table>tbody>.success>td,.table>tfoot>.success>td,.table>thead>.success>th,.table>tbody>.success>th,.table>tfoot>.success>th{background-color:#dff0d8;}.table-hover>tbody>tr>.success:hover,.table-hover>tbody>.success:hover>td,.table-hover>tbody>.success:hover>th{background-color:#d0e9c6;}.table>thead>tr>.danger,.table>tbody>tr>.danger,.table>tfoot>tr>.danger,.table>thead>.danger>td,.table>tbody>.danger>td,.table>tfoot>.danger>td,.table>thead>.danger>th,.table>tbody>.danger>th,.table>tfoot>.danger>th{background-color:#f2dede;}.table-hover>tbody>tr>.danger:hover,.table-hover>tbody>.danger:hover>td,.table-hover>tbody>.danger:hover>th{background-color:#ebcccc;}.table>thead>tr>.warning,.table>tbody>tr>.warning,.table>tfoot>tr>.warning,.table>thead>.warning>td,.table>tbody>.warning>td,.table>tfoot>.warning>td,.table>thead>.warning>th,.table>tbody>.warning>th,.table>tfoot>.warning>th{background-color:#fcf8e3;}.table-hover>tbody>tr>.warning:hover,.table-hover>tbody>.warning:hover>td,.table-hover>tbody>.warning:hover>th{background-color:#faf2cc;}@media (max-width:767px){.table-responsive{width:100%;margin-bottom:15px;overflow-y:hidden;overflow-x:scroll;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #dddddd;-webkit-overflow-scrolling:touch;}.table-responsive>.table{margin-bottom:0;}.table-responsive>.table>thead>tr>th,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tfoot>tr>td{white-space:nowrap;} .table-responsive>.table-bordered{border:0;}.table-responsive>.table-bordered>thead>tr>th:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0;} .table-responsive>.table-bordered>thead>tr>th:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0;} .table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>th,.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>td{border-bottom:0;}}fieldset{padding:0;margin:0;border:0;}label{display:inline-block;margin-bottom:5px;font-weight:bold;}input[type="search"]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;}input[type="radio"],input[type="checkbox"]{margin:4px 0 0;margin-top:1px \9;line-height:normal;}select[multiple],select[size]{height:auto;}select optgroup{font-size:inherit;font-style:inherit;font-family:inherit;}input[type="file"]:focus,input[type="radio"]:focus,input[type="checkbox"]:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px;}input[type="number"]::-webkit-outer-spin-button,input[type="number"]::-webkit-inner-spin-button{height:auto;}output{display:block;padding-top:7px;font-size:14px;line-height:1.428571429;color:#555555;vertical-align:middle;}.form-control{display:block;width:100%;height:34px;padding:6px 12px;font-size:14px;line-height:1.428571429;color:#555555;vertical-align:middle;background-color:#ffffff;background-image:none;border:1px solid #cccccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);-webkit-transition:border-color ease-in-out .15s, box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s, box-shadow ease-in-out .15s;}.form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);}.form-control:-moz-placeholder{color:#999999;}.form-control::-moz-placeholder{color:#999999;opacity:1;}.form-control:-ms-input-placeholder{color:#999999;}.form-control::-webkit-input-placeholder{color:#999999;}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{cursor:not-allowed;background-color:#eeeeee;}textarea.form-control{height:auto;}.form-group{margin-bottom:15px;}.radio,.checkbox{display:block;min-height:20px;margin-top:10px;margin-bottom:10px;padding-left:20px;vertical-align:middle;}.radio label,.checkbox label{display:inline;margin-bottom:0;font-weight:normal;cursor:pointer;}.radio input[type="radio"],.radio-inline input[type="radio"],.checkbox input[type="checkbox"],.checkbox-inline input[type="checkbox"]{float:left;margin-left:-20px;}.radio+.radio,.checkbox+.checkbox{margin-top:-5px;}.radio-inline,.checkbox-inline{display:inline-block;padding-left:20px;margin-bottom:0;vertical-align:middle;font-weight:normal;cursor:pointer;}.radio-inline+.radio-inline,.checkbox-inline+.checkbox-inline{margin-top:0;margin-left:10px;}input[type="radio"][disabled],input[type="checkbox"][disabled],.radio[disabled],.radio-inline[disabled],.checkbox[disabled],.checkbox-inline[disabled],fieldset[disabled] input[type="radio"],fieldset[disabled] input[type="checkbox"],fieldset[disabled] .radio,fieldset[disabled] .radio-inline,fieldset[disabled] .checkbox,fieldset[disabled] .checkbox-inline{cursor:not-allowed;}.input-sm{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px;}select.input-sm{height:30px;line-height:30px;}textarea.input-sm{height:auto;}.input-lg{height:46px;padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px;}select.input-lg{height:46px;line-height:46px;}textarea.input-lg{height:auto;}.has-warning .help-block,.has-warning .control-label,.has-warning .radio,.has-warning .checkbox,.has-warning .radio-inline,.has-warning .checkbox-inline{color:#8a6d3b;}.has-warning .form-control{border-color:#8a6d3b;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);}.has-warning .form-control:focus{border-color:#66512c;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075),0 0 6px #c0a16b;box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075),0 0 6px #c0a16b;}.has-warning .input-group-addon{color:#8a6d3b;border-color:#8a6d3b;background-color:#fcf8e3;}.has-error .help-block,.has-error .control-label,.has-error .radio,.has-error .checkbox,.has-error .radio-inline,.has-error .checkbox-inline{color:#a94442;}.has-error .form-control{border-color:#a94442;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);}.has-error .form-control:focus{border-color:#843534;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075),0 0 6px #ce8483;box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075),0 0 6px #ce8483;}.has-error .input-group-addon{color:#a94442;border-color:#a94442;background-color:#f2dede;}.has-success .help-block,.has-success .control-label,.has-success .radio,.has-success .checkbox,.has-success .radio-inline,.has-success .checkbox-inline{color:#3c763d;}.has-success .form-control{border-color:#3c763d;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);}.has-success .form-control:focus{border-color:#2b542c;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075),0 0 6px #67b168;box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075),0 0 6px #67b168;}.has-success .input-group-addon{color:#3c763d;border-color:#3c763d;background-color:#dff0d8;}.form-control-static{margin-bottom:0;}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#737373;}@media (min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle;} .form-inline .form-control{display:inline-block;} .form-inline select.form-control{width:auto;} .form-inline .radio,.form-inline .checkbox{display:inline-block;margin-top:0;margin-bottom:0;padding-left:0;} .form-inline .radio input[type="radio"],.form-inline .checkbox input[type="checkbox"]{float:none;margin-left:0;}}.form-horizontal .control-label,.form-horizontal .radio,.form-horizontal .checkbox,.form-horizontal .radio-inline,.form-horizontal .checkbox-inline{margin-top:0;margin-bottom:0;padding-top:7px;}.form-horizontal .radio,.form-horizontal .checkbox{min-height:27px;}.form-horizontal .form-group{margin-left:-15px;margin-right:-15px;}.form-horizontal .form-group:before,.form-horizontal .form-group:after{content:" ";display:table;}.form-horizontal .form-group:after{clear:both;}.form-horizontal .form-group:before,.form-horizontal .form-group:after{content:" ";display:table;}.form-horizontal .form-group:after{clear:both;}.form-horizontal .form-control-static{padding-top:7px;}@media (min-width:768px){.form-horizontal .control-label{text-align:right;}}.btn{display:inline-block;margin-bottom:0;font-weight:normal;text-align:center;vertical-align:middle;cursor:pointer;background-image:none;border:1px solid transparent;white-space:nowrap;padding:6px 12px;font-size:14px;line-height:1.428571429;border-radius:4px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.btn:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px;}.btn:hover,.btn:focus{color:#333333;text-decoration:none;}.btn:active,.btn.active{outline:0;background-image:none;-webkit-box-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);box-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{cursor:not-allowed;pointer-events:none;opacity:0.65;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none;}.btn-default{color:#333333;background-color:#ffffff;border-color:#cccccc;}.btn-default:hover,.btn-default:focus,.btn-default:active,.btn-default.active,.open .dropdown-toggle.btn-default{color:#333333;background-color:#ebebeb;border-color:#adadad;}.btn-default:active,.btn-default.active,.open .dropdown-toggle.btn-default{background-image:none;}.btn-default.disabled,.btn-default[disabled],fieldset[disabled] .btn-default,.btn-default.disabled:hover,.btn-default[disabled]:hover,fieldset[disabled] .btn-default:hover,.btn-default.disabled:focus,.btn-default[disabled]:focus,fieldset[disabled] .btn-default:focus,.btn-default.disabled:active,.btn-default[disabled]:active,fieldset[disabled] .btn-default:active,.btn-default.disabled.active,.btn-default[disabled].active,fieldset[disabled] .btn-default.active{background-color:#ffffff;border-color:#cccccc;}.btn-default .badge{color:#ffffff;background-color:#fff;}.btn-primary{color:#ffffff;background-color:#428bca;border-color:#357ebd;}.btn-primary:hover,.btn-primary:focus,.btn-primary:active,.btn-primary.active,.open .dropdown-toggle.btn-primary{color:#ffffff;background-color:#3276b1;border-color:#285e8e;}.btn-primary:active,.btn-primary.active,.open .dropdown-toggle.btn-primary{background-image:none;}.btn-primary.disabled,.btn-primary[disabled],fieldset[disabled] .btn-primary,.btn-primary.disabled:hover,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary:hover,.btn-primary.disabled:focus,.btn-primary[disabled]:focus,fieldset[disabled] .btn-primary:focus,.btn-primary.disabled:active,.btn-primary[disabled]:active,fieldset[disabled] .btn-primary:active,.btn-primary.disabled.active,.btn-primary[disabled].active,fieldset[disabled] .btn-primary.active{background-color:#428bca;border-color:#357ebd;}.btn-primary .badge{color:#428bca;background-color:#fff;}.btn-warning{color:#ffffff;background-color:#f0ad4e;border-color:#eea236;}.btn-warning:hover,.btn-warning:focus,.btn-warning:active,.btn-warning.active,.open .dropdown-toggle.btn-warning{color:#ffffff;background-color:#ed9c28;border-color:#d58512;}.btn-warning:active,.btn-warning.active,.open .dropdown-toggle.btn-warning{background-image:none;}.btn-warning.disabled,.btn-warning[disabled],fieldset[disabled] .btn-warning,.btn-warning.disabled:hover,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning:hover,.btn-warning.disabled:focus,.btn-warning[disabled]:focus,fieldset[disabled] .btn-warning:focus,.btn-warning.disabled:active,.btn-warning[disabled]:active,fieldset[disabled] .btn-warning:active,.btn-warning.disabled.active,.btn-warning[disabled].active,fieldset[disabled] .btn-warning.active{background-color:#f0ad4e;border-color:#eea236;}.btn-warning .badge{color:#f0ad4e;background-color:#fff;}.btn-danger{color:#ffffff;background-color:#d9534f;border-color:#d43f3a;}.btn-danger:hover,.btn-danger:focus,.btn-danger:active,.btn-danger.active,.open .dropdown-toggle.btn-danger{color:#ffffff;background-color:#d2322d;border-color:#ac2925;}.btn-danger:active,.btn-danger.active,.open .dropdown-toggle.btn-danger{background-image:none;}.btn-danger.disabled,.btn-danger[disabled],fieldset[disabled] .btn-danger,.btn-danger.disabled:hover,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger:hover,.btn-danger.disabled:focus,.btn-danger[disabled]:focus,fieldset[disabled] .btn-danger:focus,.btn-danger.disabled:active,.btn-danger[disabled]:active,fieldset[disabled] .btn-danger:active,.btn-danger.disabled.active,.btn-danger[disabled].active,fieldset[disabled] .btn-danger.active{background-color:#d9534f;border-color:#d43f3a;}.btn-danger .badge{color:#d9534f;background-color:#fff;}.btn-success{color:#ffffff;background-color:#5cb85c;border-color:#4cae4c;}.btn-success:hover,.btn-success:focus,.btn-success:active,.btn-success.active,.open .dropdown-toggle.btn-success{color:#ffffff;background-color:#47a447;border-color:#398439;}.btn-success:active,.btn-success.active,.open .dropdown-toggle.btn-success{background-image:none;}.btn-success.disabled,.btn-success[disabled],fieldset[disabled] .btn-success,.btn-success.disabled:hover,.btn-success[disabled]:hover,fieldset[disabled] .btn-success:hover,.btn-success.disabled:focus,.btn-success[disabled]:focus,fieldset[disabled] .btn-success:focus,.btn-success.disabled:active,.btn-success[disabled]:active,fieldset[disabled] .btn-success:active,.btn-success.disabled.active,.btn-success[disabled].active,fieldset[disabled] .btn-success.active{background-color:#5cb85c;border-color:#4cae4c;}.btn-success .badge{color:#5cb85c;background-color:#fff;}.btn-info{color:#ffffff;background-color:#5bc0de;border-color:#46b8da;}.btn-info:hover,.btn-info:focus,.btn-info:active,.btn-info.active,.open .dropdown-toggle.btn-info{color:#ffffff;background-color:#39b3d7;border-color:#269abc;}.btn-info:active,.btn-info.active,.open .dropdown-toggle.btn-info{background-image:none;}.btn-info.disabled,.btn-info[disabled],fieldset[disabled] .btn-info,.btn-info.disabled:hover,.btn-info[disabled]:hover,fieldset[disabled] .btn-info:hover,.btn-info.disabled:focus,.btn-info[disabled]:focus,fieldset[disabled] .btn-info:focus,.btn-info.disabled:active,.btn-info[disabled]:active,fieldset[disabled] .btn-info:active,.btn-info.disabled.active,.btn-info[disabled].active,fieldset[disabled] .btn-info.active{background-color:#5bc0de;border-color:#46b8da;}.btn-info .badge{color:#5bc0de;background-color:#fff;}.btn-link{color:#428bca;font-weight:normal;cursor:pointer;border-radius:0;}.btn-link,.btn-link:active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none;}.btn-link,.btn-link:hover,.btn-link:focus,.btn-link:active{border-color:transparent;}.btn-link:hover,.btn-link:focus{color:#2a6496;text-decoration:underline;background-color:transparent;}.btn-link[disabled]:hover,fieldset[disabled] .btn-link:hover,.btn-link[disabled]:focus,fieldset[disabled] .btn-link:focus{color:#999999;text-decoration:none;}.btn-lg{padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px;}.btn-sm{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px;}.btn-xs{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px;}.btn-block{display:block;width:100%;padding-left:0;padding-right:0;}.btn-block+.btn-block{margin-top:5px;}input[type="submit"].btn-block,input[type="reset"].btn-block,input[type="button"].btn-block{width:100%;}@font-face{font-family:'Glyphicons Halflings';src:url('../fonts/glyphicons-halflings-regular.eot');src:url('../fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'),url('../fonts/glyphicons-halflings-regular.woff') format('woff'),url('../fonts/glyphicons-halflings-regular.ttf') format('truetype'),url('../fonts/glyphicons-halflings-regular.svg#glyphicons-halflingsregular') format('svg');}.glyphicon{position:relative;top:1px;display:inline-block;font-family:'Glyphicons Halflings';font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;}.glyphicon:empty{width:1em;}.glyphicon-asterisk:before{content:"\2a";}.glyphicon-plus:before{content:"\2b";}.glyphicon-euro:before{content:"\20ac";}.glyphicon-minus:before{content:"\2212";}.glyphicon-cloud:before{content:"\2601";}.glyphicon-envelope:before{content:"\2709";}.glyphicon-pencil:before{content:"\270f";}.glyphicon-glass:before{content:"\e001";}.glyphicon-music:before{content:"\e002";}.glyphicon-search:before{content:"\e003";}.glyphicon-heart:before{content:"\e005";}.glyphicon-star:before{content:"\e006";}.glyphicon-star-empty:before{content:"\e007";}.glyphicon-user:before{content:"\e008";}.glyphicon-film:before{content:"\e009";}.glyphicon-th-large:before{content:"\e010";}.glyphicon-th:before{content:"\e011";}.glyphicon-th-list:before{content:"\e012";}.glyphicon-ok:before{content:"\e013";}.glyphicon-remove:before{content:"\e014";}.glyphicon-zoom-in:before{content:"\e015";}.glyphicon-zoom-out:before{content:"\e016";}.glyphicon-off:before{content:"\e017";}.glyphicon-signal:before{content:"\e018";}.glyphicon-cog:before{content:"\e019";}.glyphicon-trash:before{content:"\e020";}.glyphicon-home:before{content:"\e021";}.glyphicon-file:before{content:"\e022";}.glyphicon-time:before{content:"\e023";}.glyphicon-road:before{content:"\e024";}.glyphicon-download-alt:before{content:"\e025";}.glyphicon-download:before{content:"\e026";}.glyphicon-upload:before{content:"\e027";}.glyphicon-inbox:before{content:"\e028";}.glyphicon-play-circle:before{content:"\e029";}.glyphicon-repeat:before{content:"\e030";}.glyphicon-refresh:before{content:"\e031";}.glyphicon-list-alt:before{content:"\e032";}.glyphicon-lock:before{content:"\e033";}.glyphicon-flag:before{content:"\e034";}.glyphicon-headphones:before{content:"\e035";}.glyphicon-volume-off:before{content:"\e036";}.glyphicon-volume-down:before{content:"\e037";}.glyphicon-volume-up:before{content:"\e038";}.glyphicon-qrcode:before{content:"\e039";}.glyphicon-barcode:before{content:"\e040";}.glyphicon-tag:before{content:"\e041";}.glyphicon-tags:before{content:"\e042";}.glyphicon-book:before{content:"\e043";}.glyphicon-bookmark:before{content:"\e044";}.glyphicon-print:before{content:"\e045";}.glyphicon-camera:before{content:"\e046";}.glyphicon-font:before{content:"\e047";}.glyphicon-bold:before{content:"\e048";}.glyphicon-italic:before{content:"\e049";}.glyphicon-text-height:before{content:"\e050";}.glyphicon-text-width:before{content:"\e051";}.glyphicon-align-left:before{content:"\e052";}.glyphicon-align-center:before{content:"\e053";}.glyphicon-align-right:before{content:"\e054";}.glyphicon-align-justify:before{content:"\e055";}.glyphicon-list:before{content:"\e056";}.glyphicon-indent-left:before{content:"\e057";}.glyphicon-indent-right:before{content:"\e058";}.glyphicon-facetime-video:before{content:"\e059";}.glyphicon-picture:before{content:"\e060";}.glyphicon-map-marker:before{content:"\e062";}.glyphicon-adjust:before{content:"\e063";}.glyphicon-tint:before{content:"\e064";}.glyphicon-edit:before{content:"\e065";}.glyphicon-share:before{content:"\e066";}.glyphicon-check:before{content:"\e067";}.glyphicon-move:before{content:"\e068";}.glyphicon-step-backward:before{content:"\e069";}.glyphicon-fast-backward:before{content:"\e070";}.glyphicon-backward:before{content:"\e071";}.glyphicon-play:before{content:"\e072";}.glyphicon-pause:before{content:"\e073";}.glyphicon-stop:before{content:"\e074";}.glyphicon-forward:before{content:"\e075";}.glyphicon-fast-forward:before{content:"\e076";}.glyphicon-step-forward:before{content:"\e077";}.glyphicon-eject:before{content:"\e078";}.glyphicon-chevron-left:before{content:"\e079";}.glyphicon-chevron-right:before{content:"\e080";}.glyphicon-plus-sign:before{content:"\e081";}.glyphicon-minus-sign:before{content:"\e082";}.glyphicon-remove-sign:before{content:"\e083";}.glyphicon-ok-sign:before{content:"\e084";}.glyphicon-question-sign:before{content:"\e085";}.glyphicon-info-sign:before{content:"\e086";}.glyphicon-screenshot:before{content:"\e087";}.glyphicon-remove-circle:before{content:"\e088";}.glyphicon-ok-circle:before{content:"\e089";}.glyphicon-ban-circle:before{content:"\e090";}.glyphicon-arrow-left:before{content:"\e091";}.glyphicon-arrow-right:before{content:"\e092";}.glyphicon-arrow-up:before{content:"\e093";}.glyphicon-arrow-down:before{content:"\e094";}.glyphicon-share-alt:before{content:"\e095";}.glyphicon-resize-full:before{content:"\e096";}.glyphicon-resize-small:before{content:"\e097";}.glyphicon-exclamation-sign:before{content:"\e101";}.glyphicon-gift:before{content:"\e102";}.glyphicon-leaf:before{content:"\e103";}.glyphicon-fire:before{content:"\e104";}.glyphicon-eye-open:before{content:"\e105";}.glyphicon-eye-close:before{content:"\e106";}.glyphicon-warning-sign:before{content:"\e107";}.glyphicon-plane:before{content:"\e108";}.glyphicon-calendar:before{content:"\e109";}.glyphicon-random:before{content:"\e110";}.glyphicon-comment:before{content:"\e111";}.glyphicon-magnet:before{content:"\e112";}.glyphicon-chevron-up:before{content:"\e113";}.glyphicon-chevron-down:before{content:"\e114";}.glyphicon-retweet:before{content:"\e115";}.glyphicon-shopping-cart:before{content:"\e116";}.glyphicon-folder-close:before{content:"\e117";}.glyphicon-folder-open:before{content:"\e118";}.glyphicon-resize-vertical:before{content:"\e119";}.glyphicon-resize-horizontal:before{content:"\e120";}.glyphicon-hdd:before{content:"\e121";}.glyphicon-bullhorn:before{content:"\e122";}.glyphicon-bell:before{content:"\e123";}.glyphicon-certificate:before{content:"\e124";}.glyphicon-thumbs-up:before{content:"\e125";}.glyphicon-thumbs-down:before{content:"\e126";}.glyphicon-hand-right:before{content:"\e127";}.glyphicon-hand-left:before{content:"\e128";}.glyphicon-hand-up:before{content:"\e129";}.glyphicon-hand-down:before{content:"\e130";}.glyphicon-circle-arrow-right:before{content:"\e131";}.glyphicon-circle-arrow-left:before{content:"\e132";}.glyphicon-circle-arrow-up:before{content:"\e133";}.glyphicon-circle-arrow-down:before{content:"\e134";}.glyphicon-globe:before{content:"\e135";}.glyphicon-wrench:before{content:"\e136";}.glyphicon-tasks:before{content:"\e137";}.glyphicon-filter:before{content:"\e138";}.glyphicon-briefcase:before{content:"\e139";}.glyphicon-fullscreen:before{content:"\e140";}.glyphicon-dashboard:before{content:"\e141";}.glyphicon-paperclip:before{content:"\e142";}.glyphicon-heart-empty:before{content:"\e143";}.glyphicon-link:before{content:"\e144";}.glyphicon-phone:before{content:"\e145";}.glyphicon-pushpin:before{content:"\e146";}.glyphicon-usd:before{content:"\e148";}.glyphicon-gbp:before{content:"\e149";}.glyphicon-sort:before{content:"\e150";}.glyphicon-sort-by-alphabet:before{content:"\e151";}.glyphicon-sort-by-alphabet-alt:before{content:"\e152";}.glyphicon-sort-by-order:before{content:"\e153";}.glyphicon-sort-by-order-alt:before{content:"\e154";}.glyphicon-sort-by-attributes:before{content:"\e155";}.glyphicon-sort-by-attributes-alt:before{content:"\e156";}.glyphicon-unchecked:before{content:"\e157";}.glyphicon-expand:before{content:"\e158";}.glyphicon-collapse-down:before{content:"\e159";}.glyphicon-collapse-up:before{content:"\e160";}.glyphicon-log-in:before{content:"\e161";}.glyphicon-flash:before{content:"\e162";}.glyphicon-log-out:before{content:"\e163";}.glyphicon-new-window:before{content:"\e164";}.glyphicon-record:before{content:"\e165";}.glyphicon-save:before{content:"\e166";}.glyphicon-open:before{content:"\e167";}.glyphicon-saved:before{content:"\e168";}.glyphicon-import:before{content:"\e169";}.glyphicon-export:before{content:"\e170";}.glyphicon-send:before{content:"\e171";}.glyphicon-floppy-disk:before{content:"\e172";}.glyphicon-floppy-saved:before{content:"\e173";}.glyphicon-floppy-remove:before{content:"\e174";}.glyphicon-floppy-save:before{content:"\e175";}.glyphicon-floppy-open:before{content:"\e176";}.glyphicon-credit-card:before{content:"\e177";}.glyphicon-transfer:before{content:"\e178";}.glyphicon-cutlery:before{content:"\e179";}.glyphicon-header:before{content:"\e180";}.glyphicon-compressed:before{content:"\e181";}.glyphicon-earphone:before{content:"\e182";}.glyphicon-phone-alt:before{content:"\e183";}.glyphicon-tower:before{content:"\e184";}.glyphicon-stats:before{content:"\e185";}.glyphicon-sd-video:before{content:"\e186";}.glyphicon-hd-video:before{content:"\e187";}.glyphicon-subtitles:before{content:"\e188";}.glyphicon-sound-stereo:before{content:"\e189";}.glyphicon-sound-dolby:before{content:"\e190";}.glyphicon-sound-5-1:before{content:"\e191";}.glyphicon-sound-6-1:before{content:"\e192";}.glyphicon-sound-7-1:before{content:"\e193";}.glyphicon-copyright-mark:before{content:"\e194";}.glyphicon-registration-mark:before{content:"\e195";}.glyphicon-cloud-download:before{content:"\e197";}.glyphicon-cloud-upload:before{content:"\e198";}.glyphicon-tree-conifer:before{content:"\e199";}.glyphicon-tree-deciduous:before{content:"\e200";}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px solid;border-right:4px solid transparent;border-left:4px solid transparent;}.dropdown{position:relative;}.dropdown-toggle:focus{outline:0;}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;list-style:none;font-size:14px;background-color:#ffffff;border:1px solid #cccccc;border:1px solid rgba(0, 0, 0, 0.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0, 0, 0, 0.175);box-shadow:0 6px 12px rgba(0, 0, 0, 0.175);background-clip:padding-box;}.dropdown-menu.pull-right{right:0;left:auto;}.dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5;}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:normal;line-height:1.428571429;color:#333333;white-space:nowrap;}.dropdown-menu>li>a:hover,.dropdown-menu>li>a:focus{text-decoration:none;color:#262626;background-color:#f5f5f5;}.dropdown-menu>.active>a,.dropdown-menu>.active>a:hover,.dropdown-menu>.active>a:focus{color:#ffffff;text-decoration:none;outline:0;background-color:#428bca;}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{color:#999999;}.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{text-decoration:none;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);cursor:not-allowed;}.open>.dropdown-menu{display:block;}.open>a{outline:0;}.dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.428571429;color:#999999;}.dropdown-backdrop{position:fixed;left:0;right:0;bottom:0;top:0;z-index:990;}.pull-right>.dropdown-menu{right:0;left:auto;}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{border-top:0;border-bottom:4px solid;content:"";}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:1px;}@media (min-width:768px){.navbar-right .dropdown-menu{right:0;left:auto;}}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle;}.btn-group>.btn,.btn-group-vertical>.btn{position:relative;float:left;}.btn-group>.btn:hover,.btn-group-vertical>.btn:hover,.btn-group>.btn:focus,.btn-group-vertical>.btn:focus,.btn-group>.btn:active,.btn-group-vertical>.btn:active,.btn-group>.btn.active,.btn-group-vertical>.btn.active{z-index:2;}.btn-group>.btn:focus,.btn-group-vertical>.btn:focus{outline:none;}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px;}.btn-toolbar:before,.btn-toolbar:after{content:" ";display:table;}.btn-toolbar:after{clear:both;}.btn-toolbar:before,.btn-toolbar:after{content:" ";display:table;}.btn-toolbar:after{clear:both;}.btn-toolbar .btn-group{float:left;}.btn-toolbar>.btn+.btn,.btn-toolbar>.btn-group+.btn,.btn-toolbar>.btn+.btn-group,.btn-toolbar>.btn-group+.btn-group{margin-left:5px;}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0;}.btn-group>.btn:first-child{margin-left:0;}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-top-right-radius:0;}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0;}.btn-group>.btn-group{float:left;}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0;}.btn-group>.btn-group:first-child>.btn:last-child,.btn-group>.btn-group:first-child>.dropdown-toggle{border-bottom-right-radius:0;border-top-right-radius:0;}.btn-group>.btn-group:last-child>.btn:first-child{border-bottom-left-radius:0;border-top-left-radius:0;}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0;}.btn-group-xs>.btn{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px;}.btn-group-sm>.btn{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px;}.btn-group-lg>.btn{padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px;}.btn-group>.btn+.dropdown-toggle{padding-left:8px;padding-right:8px;}.btn-group>.btn-lg+.dropdown-toggle{padding-left:12px;padding-right:12px;}.btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);box-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);}.btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none;}.btn .caret{margin-left:0;}.btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0;}.dropup .btn-lg .caret{border-width:0 5px 5px;}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%;}.btn-group-vertical>.btn-group:before,.btn-group-vertical>.btn-group:after{content:" ";display:table;}.btn-group-vertical>.btn-group:after{clear:both;}.btn-group-vertical>.btn-group:before,.btn-group-vertical>.btn-group:after{content:" ";display:table;}.btn-group-vertical>.btn-group:after{clear:both;}.btn-group-vertical>.btn-group>.btn{float:none;}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0;}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0;}.btn-group-vertical>.btn:first-child:not(:last-child){border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0;}.btn-group-vertical>.btn:last-child:not(:first-child){border-bottom-left-radius:4px;border-top-right-radius:0;border-top-left-radius:0;}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0;}.btn-group-vertical>.btn-group:first-child>.btn:last-child,.btn-group-vertical>.btn-group:first-child>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0;}.btn-group-vertical>.btn-group:last-child>.btn:first-child{border-top-right-radius:0;border-top-left-radius:0;}.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate;}.btn-group-justified>.btn,.btn-group-justified>.btn-group{float:none;display:table-cell;width:1%;}.btn-group-justified>.btn-group .btn{width:100%;}[data-toggle="buttons"]>.btn>input[type="radio"],[data-toggle="buttons"]>.btn>input[type="checkbox"]{display:none;}.input-group{position:relative;display:table;border-collapse:separate;}.input-group[class*="col-"]{float:none;padding-left:0;padding-right:0;}.input-group .form-control{width:100%;margin-bottom:0;}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:46px;padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px;}select.input-group-lg>.form-control,select.input-group-lg>.input-group-addon,select.input-group-lg>.input-group-btn>.btn{height:46px;line-height:46px;}textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon,textarea.input-group-lg>.input-group-btn>.btn{height:auto;}.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px;}select.input-group-sm>.form-control,select.input-group-sm>.input-group-addon,select.input-group-sm>.input-group-btn>.btn{height:30px;line-height:30px;}textarea.input-group-sm>.form-control,textarea.input-group-sm>.input-group-addon,textarea.input-group-sm>.input-group-btn>.btn{height:auto;}.input-group-addon,.input-group-btn,.input-group .form-control{display:table-cell;}.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child),.input-group .form-control:not(:first-child):not(:last-child){border-radius:0;}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle;}.input-group-addon{padding:6px 12px;font-size:14px;font-weight:normal;line-height:1;color:#555555;text-align:center;background-color:#eeeeee;border:1px solid #cccccc;border-radius:4px;}.input-group-addon.input-sm{padding:5px 10px;font-size:12px;border-radius:3px;}.input-group-addon.input-lg{padding:10px 16px;font-size:18px;border-radius:6px;}.input-group-addon input[type="radio"],.input-group-addon input[type="checkbox"]{margin-top:0;}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-top-right-radius:0;}.input-group-addon:first-child{border-right:0;}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:last-child>.btn,.input-group-btn:last-child>.dropdown-toggle,.input-group-btn:first-child>.btn:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0;}.input-group-addon:last-child{border-left:0;}.input-group-btn{position:relative;white-space:nowrap;}.input-group-btn:first-child>.btn{margin-right:-1px;}.input-group-btn:last-child>.btn{margin-left:-1px;}.input-group-btn>.btn{position:relative;}.input-group-btn>.btn+.btn{margin-left:-4px;}.input-group-btn>.btn:hover,.input-group-btn>.btn:active{z-index:2;}.nav{margin-bottom:0;padding-left:0;list-style:none;}.nav:before,.nav:after{content:" ";display:table;}.nav:after{clear:both;}.nav:before,.nav:after{content:" ";display:table;}.nav:after{clear:both;}.nav>li{position:relative;display:block;}.nav>li>a{position:relative;display:block;padding:10px 15px;}.nav>li>a:hover,.nav>li>a:focus{text-decoration:none;background-color:#eeeeee;}.nav>li.disabled>a{color:#999999;}.nav>li.disabled>a:hover,.nav>li.disabled>a:focus{color:#999999;text-decoration:none;background-color:transparent;cursor:not-allowed;}.nav .open>a,.nav .open>a:hover,.nav .open>a:focus{background-color:#eeeeee;border-color:#428bca;}.nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5;}.nav>li>a>img{max-width:none;}.nav-tabs{border-bottom:1px solid #dddddd;}.nav-tabs>li{float:left;margin-bottom:-1px;}.nav-tabs>li>a{margin-right:2px;line-height:1.428571429;border:1px solid transparent;border-radius:4px 4px 0 0;}.nav-tabs>li>a:hover{border-color:#eeeeee #eeeeee #dddddd;}.nav-tabs>li.active>a,.nav-tabs>li.active>a:hover,.nav-tabs>li.active>a:focus{color:#555555;background-color:#ffffff;border:1px solid #dddddd;border-bottom-color:transparent;cursor:default;}.nav-tabs.nav-justified{width:100%;border-bottom:0;}.nav-tabs.nav-justified>li{float:none;}.nav-tabs.nav-justified>li>a{text-align:center;margin-bottom:5px;}.nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto;}@media (min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%;}.nav-tabs.nav-justified>li>a{margin-bottom:0;}}.nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px;}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:focus{border:1px solid #dddddd;}@media (min-width:768px){.nav-tabs.nav-justified>li>a{border-bottom:1px solid #dddddd;border-radius:4px 4px 0 0;} .nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:focus{border-bottom-color:#ffffff;}}.nav-pills>li{float:left;}.nav-pills>li>a{border-radius:4px;}.nav-pills>li+li{margin-left:2px;}.nav-pills>li.active>a,.nav-pills>li.active>a:hover,.nav-pills>li.active>a:focus{color:#ffffff;background-color:#428bca;}.nav-stacked>li{float:none;}.nav-stacked>li+li{margin-top:2px;margin-left:0;}.nav-justified{width:100%;}.nav-justified>li{float:none;}.nav-justified>li>a{text-align:center;margin-bottom:5px;}.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto;}@media (min-width:768px){.nav-justified>li{display:table-cell;width:1%;}.nav-justified>li>a{margin-bottom:0;}}.nav-tabs-justified{border-bottom:0;}.nav-tabs-justified>li>a{margin-right:0;border-radius:4px;}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus{border:1px solid #dddddd;}@media (min-width:768px){.nav-tabs-justified>li>a{border-bottom:1px solid #dddddd;border-radius:4px 4px 0 0;} .nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus{border-bottom-color:#ffffff;}}.tab-content>.tab-pane{display:none;}.tab-content>.active{display:block;}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-right-radius:0;border-top-left-radius:0;}.navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid transparent;}.navbar:before,.navbar:after{content:" ";display:table;}.navbar:after{clear:both;}.navbar:before,.navbar:after{content:" ";display:table;}.navbar:after{clear:both;}@media (min-width:768px){.navbar{border-radius:4px;}}.navbar-header:before,.navbar-header:after{content:" ";display:table;}.navbar-header:after{clear:both;}.navbar-header:before,.navbar-header:after{content:" ";display:table;}.navbar-header:after{clear:both;}@media (min-width:768px){.navbar-header{float:left;}}.navbar-collapse{max-height:340px;overflow-x:visible;padding-right:15px;padding-left:15px;border-top:1px solid transparent;box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.1);-webkit-overflow-scrolling:touch;}.navbar-collapse:before,.navbar-collapse:after{content:" ";display:table;}.navbar-collapse:after{clear:both;}.navbar-collapse:before,.navbar-collapse:after{content:" ";display:table;}.navbar-collapse:after{clear:both;}.navbar-collapse.in{overflow-y:auto;}@media (min-width:768px){.navbar-collapse{width:auto;border-top:0;box-shadow:none;}.navbar-collapse.collapse{display:block !important;height:auto !important;padding-bottom:0;overflow:visible !important;} .navbar-collapse.in{overflow-y:visible;} .navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{padding-left:0;padding-right:0;}}.container>.navbar-header,.container>.navbar-collapse{margin-right:-15px;margin-left:-15px;}@media (min-width:768px){.container>.navbar-header,.container>.navbar-collapse{margin-right:0;margin-left:0;}}.navbar-static-top{z-index:1000;border-width:0 0 1px;}@media (min-width:768px){.navbar-static-top{border-radius:0;}}.navbar-fixed-top,.navbar-fixed-bottom{position:fixed;right:0;left:0;z-index:1030;}@media (min-width:768px){.navbar-fixed-top,.navbar-fixed-bottom{border-radius:0;}}.navbar-fixed-top{top:0;border-width:0 0 1px;}.navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0;}.navbar-brand{float:left;padding:15px 15px;font-size:18px;line-height:20px;}.navbar-brand:hover,.navbar-brand:focus{text-decoration:none;}@media (min-width:768px){.navbar>.container .navbar-brand{margin-left:-15px;}}.navbar-toggle{position:relative;float:right;margin-right:15px;padding:9px 10px;margin-top:8px;margin-bottom:8px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px;}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px;}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px;}@media (min-width:768px){.navbar-toggle{display:none;}}.navbar-nav{margin:7.5px -15px;}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px;}@media (max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;box-shadow:none;}.navbar-nav .open .dropdown-menu>li>a,.navbar-nav .open .dropdown-menu .dropdown-header{padding:5px 15px 5px 25px;} .navbar-nav .open .dropdown-menu>li>a{line-height:20px;}.navbar-nav .open .dropdown-menu>li>a:hover,.navbar-nav .open .dropdown-menu>li>a:focus{background-image:none;}}@media (min-width:768px){.navbar-nav{float:left;margin:0;}.navbar-nav>li{float:left;}.navbar-nav>li>a{padding-top:15px;padding-bottom:15px;} .navbar-nav.navbar-right:last-child{margin-right:-15px;}}@media (min-width:768px){.navbar-left{float:left !important;} .navbar-right{float:right !important;}}.navbar-form{margin-left:-15px;margin-right:-15px;padding:10px 15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.1),0 1px 0 rgba(255, 255, 255, 0.1);box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.1),0 1px 0 rgba(255, 255, 255, 0.1);margin-top:8px;margin-bottom:8px;}@media (min-width:768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle;} .navbar-form .form-control{display:inline-block;} .navbar-form select.form-control{width:auto;} .navbar-form .radio,.navbar-form .checkbox{display:inline-block;margin-top:0;margin-bottom:0;padding-left:0;} .navbar-form .radio input[type="radio"],.navbar-form .checkbox input[type="checkbox"]{float:none;margin-left:0;}}@media (max-width:767px){.navbar-form .form-group{margin-bottom:5px;}}@media (min-width:768px){.navbar-form{width:auto;border:0;margin-left:0;margin-right:0;padding-top:0;padding-bottom:0;-webkit-box-shadow:none;box-shadow:none;}.navbar-form.navbar-right:last-child{margin-right:-15px;}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-right-radius:0;border-top-left-radius:0;}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{border-bottom-right-radius:0;border-bottom-left-radius:0;}.navbar-nav.pull-right>li>.dropdown-menu,.navbar-nav>li>.dropdown-menu.pull-right{left:auto;right:0;}.navbar-btn{margin-top:8px;margin-bottom:8px;}.navbar-btn.btn-sm{margin-top:10px;margin-bottom:10px;}.navbar-btn.btn-xs{margin-top:14px;margin-bottom:14px;}.navbar-text{margin-top:15px;margin-bottom:15px;}@media (min-width:768px){.navbar-text{float:left;margin-left:15px;margin-right:15px;}.navbar-text.navbar-right:last-child{margin-right:0;}}.navbar-default{background-color:#f8f8f8;border-color:#e7e7e7;}.navbar-default .navbar-brand{color:#777777;}.navbar-default .navbar-brand:hover,.navbar-default .navbar-brand:focus{color:#5e5e5e;background-color:transparent;}.navbar-default .navbar-text{color:#777777;}.navbar-default .navbar-nav>li>a{color:#777777;}.navbar-default .navbar-nav>li>a:hover,.navbar-default .navbar-nav>li>a:focus{color:#333333;background-color:transparent;}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:hover,.navbar-default .navbar-nav>.active>a:focus{color:#555555;background-color:#e7e7e7;}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:hover,.navbar-default .navbar-nav>.disabled>a:focus{color:#cccccc;background-color:transparent;}.navbar-default .navbar-toggle{border-color:#dddddd;}.navbar-default .navbar-toggle:hover,.navbar-default .navbar-toggle:focus{background-color:#dddddd;}.navbar-default .navbar-toggle .icon-bar{background-color:#cccccc;}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#e7e7e7;}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:hover,.navbar-default .navbar-nav>.open>a:focus{background-color:#e7e7e7;color:#555555;}@media (max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777777;}.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus{color:#333333;background-color:transparent;} .navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus{color:#555555;background-color:#e7e7e7;} .navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#cccccc;background-color:transparent;}}.navbar-default .navbar-link{color:#777777;}.navbar-default .navbar-link:hover{color:#333333;}.navbar-inverse{background-color:#222222;border-color:#080808;}.navbar-inverse .navbar-brand{color:#999999;}.navbar-inverse .navbar-brand:hover,.navbar-inverse .navbar-brand:focus{color:#ffffff;background-color:transparent;}.navbar-inverse .navbar-text{color:#999999;}.navbar-inverse .navbar-nav>li>a{color:#999999;}.navbar-inverse .navbar-nav>li>a:hover,.navbar-inverse .navbar-nav>li>a:focus{color:#ffffff;background-color:transparent;}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:hover,.navbar-inverse .navbar-nav>.active>a:focus{color:#ffffff;background-color:#080808;}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:hover,.navbar-inverse .navbar-nav>.disabled>a:focus{color:#444444;background-color:transparent;}.navbar-inverse .navbar-toggle{border-color:#333333;}.navbar-inverse .navbar-toggle:hover,.navbar-inverse .navbar-toggle:focus{background-color:#333333;}.navbar-inverse .navbar-toggle .icon-bar{background-color:#ffffff;}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#101010;}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:hover,.navbar-inverse .navbar-nav>.open>a:focus{background-color:#080808;color:#ffffff;}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#080808;} .navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#080808;} .navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#999999;}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus{color:#ffffff;background-color:transparent;} .navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus{color:#ffffff;background-color:#080808;} .navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#444444;background-color:transparent;}}.navbar-inverse .navbar-link{color:#999999;}.navbar-inverse .navbar-link:hover{color:#ffffff;}.breadcrumb{padding:8px 15px;margin-bottom:20px;list-style:none;background-color:#f5f5f5;border-radius:4px;}.breadcrumb>li{display:inline-block;}.breadcrumb>li+li:before{content:"/\00a0";padding:0 5px;color:#cccccc;}.breadcrumb>.active{color:#999999;}.pagination{display:inline-block;padding-left:0;margin:20px 0;border-radius:4px;}.pagination>li{display:inline;}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:6px 12px;line-height:1.428571429;text-decoration:none;background-color:#ffffff;border:1px solid #dddddd;margin-left:-1px;}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-bottom-left-radius:4px;border-top-left-radius:4px;}.pagination>li:last-child>a,.pagination>li:last-child>span{border-bottom-right-radius:4px;border-top-right-radius:4px;}.pagination>li>a:hover,.pagination>li>span:hover,.pagination>li>a:focus,.pagination>li>span:focus{background-color:#eeeeee;}.pagination>.active>a,.pagination>.active>span,.pagination>.active>a:hover,.pagination>.active>span:hover,.pagination>.active>a:focus,.pagination>.active>span:focus{z-index:2;color:#ffffff;background-color:#428bca;border-color:#428bca;cursor:default;}.pagination>.disabled>span,.pagination>.disabled>span:hover,.pagination>.disabled>span:focus,.pagination>.disabled>a,.pagination>.disabled>a:hover,.pagination>.disabled>a:focus{color:#999999;background-color:#ffffff;border-color:#dddddd;cursor:not-allowed;}.pagination-lg>li>a,.pagination-lg>li>span{padding:10px 16px;font-size:18px;}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-bottom-left-radius:6px;border-top-left-radius:6px;}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-bottom-right-radius:6px;border-top-right-radius:6px;}.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:12px;}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-bottom-left-radius:3px;border-top-left-radius:3px;}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-bottom-right-radius:3px;border-top-right-radius:3px;}.pager{padding-left:0;margin:20px 0;list-style:none;text-align:center;}.pager:before,.pager:after{content:" ";display:table;}.pager:after{clear:both;}.pager:before,.pager:after{content:" ";display:table;}.pager:after{clear:both;}.pager li{display:inline;}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#ffffff;border:1px solid #dddddd;border-radius:15px;}.pager li>a:hover,.pager li>a:focus{text-decoration:none;background-color:#eeeeee;}.pager .next>a,.pager .next>span{float:right;}.pager .previous>a,.pager .previous>span{float:left;}.pager .disabled>a,.pager .disabled>a:hover,.pager .disabled>a:focus,.pager .disabled>span{color:#999999;background-color:#ffffff;cursor:not-allowed;}.label[href]:hover,.label[href]:focus{color:#ffffff;text-decoration:none;cursor:pointer;}.label:empty{display:none;}.btn .label{position:relative;top:-1px;}.label-default{background-color:#999999;}.label-default[href]:hover,.label-default[href]:focus{background-color:#808080;}.label-primary{background-color:#428bca;}.label-primary[href]:hover,.label-primary[href]:focus{background-color:#3071a9;}.label-success{background-color:#5cb85c;}.label-success[href]:hover,.label-success[href]:focus{background-color:#449d44;}.label-info{background-color:#5bc0de;}.label-info[href]:hover,.label-info[href]:focus{background-color:#31b0d5;}.label-warning{background-color:#f0ad4e;}.label-warning[href]:hover,.label-warning[href]:focus{background-color:#ec971f;}.label-danger{background-color:#d9534f;}.label-danger[href]:hover,.label-danger[href]:focus{background-color:#c9302c;}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;font-weight:bold;color:#ffffff;line-height:1;vertical-align:baseline;white-space:nowrap;text-align:center;background-color:#999999;border-radius:10px;}.badge:empty{display:none;}.btn .badge{position:relative;top:-1px;}a.badge:hover,a.badge:focus{color:#ffffff;text-decoration:none;cursor:pointer;}a.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#428bca;background-color:#ffffff;}.nav-pills>li>a>.badge{margin-left:3px;}.jumbotron{padding:30px;margin-bottom:30px;font-size:21px;font-weight:200;line-height:2.1428571435;color:inherit;background-color:#eeeeee;}.jumbotron h1,.jumbotron .h1{line-height:1;color:inherit;}.jumbotron p{line-height:1.4;}.container .jumbotron{border-radius:6px;}.jumbotron .container{max-width:100%;}@media screen and (min-width:768px){.jumbotron{padding-top:48px;padding-bottom:48px;}.container .jumbotron{padding-left:60px;padding-right:60px;} .jumbotron h1,.jumbotron .h1{font-size:63px;}}.thumbnail{display:block;padding:4px;margin-bottom:20px;line-height:1.428571429;background-color:#ffffff;border:1px solid #dddddd;border-radius:4px;-webkit-transition:all 0.2s ease-in-out;transition:all 0.2s ease-in-out;}.thumbnail>img,.thumbnail a>img{display:block;max-width:100%;height:auto;margin-left:auto;margin-right:auto;}a.thumbnail:hover,a.thumbnail:focus,a.thumbnail.active{border-color:#428bca;}.thumbnail .caption{padding:9px;color:#333333;}.alert{padding:15px;margin-bottom:20px;border:1px solid transparent;border-radius:4px;}.alert h4{margin-top:0;color:inherit;}.alert .alert-link{font-weight:bold;}.alert>p,.alert>ul{margin-bottom:0;}.alert>p+p{margin-top:5px;}.alert-dismissable{padding-right:35px;}.alert-dismissable .close{position:relative;top:-2px;right:-21px;color:inherit;}.alert-success{background-color:#dff0d8;border-color:#d6e9c6;color:#3c763d;}.alert-success hr{border-top-color:#c9e2b3;}.alert-success .alert-link{color:#2b542c;}.alert-info{background-color:#d9edf7;border-color:#bce8f1;color:#31708f;}.alert-info hr{border-top-color:#a6e1ec;}.alert-info .alert-link{color:#245269;}.alert-warning{background-color:#fcf8e3;border-color:#faebcc;color:#8a6d3b;}.alert-warning hr{border-top-color:#f7e1b5;}.alert-warning .alert-link{color:#66512c;}.alert-danger{background-color:#f2dede;border-color:#ebccd1;color:#a94442;}.alert-danger hr{border-top-color:#e4b9c0;}.alert-danger .alert-link{color:#843534;}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0;} to{background-position:0 0;}}@keyframes progress-bar-stripes{from{background-position:40px 0;} to{background-position:0 0;}}.progress{overflow:hidden;height:20px;margin-bottom:20px;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1);box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1);}.progress-bar{float:left;width:0%;height:100%;font-size:12px;line-height:20px;color:#ffffff;text-align:center;background-color:#428bca;-webkit-box-shadow:inset 0 -1px 0 rgba(0, 0, 0, 0.15);box-shadow:inset 0 -1px 0 rgba(0, 0, 0, 0.15);-webkit-transition:width 0.6s ease;transition:width 0.6s ease;}.progress-striped .progress-bar{background-image:-webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-size:40px 40px;}.progress.active .progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite;}.progress-bar-success{background-color:#5cb85c;}.progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);}.progress-bar-info{background-color:#5bc0de;}.progress-striped .progress-bar-info{background-image:-webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);}.progress-bar-warning{background-color:#f0ad4e;}.progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);}.progress-bar-danger{background-color:#d9534f;}.progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);}.media,.media-body{overflow:hidden;zoom:1;}.media,.media .media{margin-top:15px;}.media:first-child{margin-top:0;}.media-object{display:block;}.media-heading{margin:0 0 5px;}.media>.pull-left{margin-right:10px;}.media>.pull-right{margin-left:10px;}.media-list{padding-left:0;list-style:none;}.list-group{margin-bottom:20px;padding-left:0;}.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#ffffff;border:1px solid #dddddd;}.list-group-item:first-child{border-top-right-radius:4px;border-top-left-radius:4px;}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px;}.list-group-item>.badge{float:right;}.list-group-item>.badge+.badge{margin-right:5px;}a.list-group-item{color:#555555;}a.list-group-item .list-group-item-heading{color:#333333;}a.list-group-item:hover,a.list-group-item:focus{text-decoration:none;background-color:#f5f5f5;}a.list-group-item.active,a.list-group-item.active:hover,a.list-group-item.active:focus{z-index:2;color:#ffffff;background-color:#428bca;border-color:#428bca;}a.list-group-item.active .list-group-item-heading,a.list-group-item.active:hover .list-group-item-heading,a.list-group-item.active:focus .list-group-item-heading{color:inherit;}a.list-group-item.active .list-group-item-text,a.list-group-item.active:hover .list-group-item-text,a.list-group-item.active:focus .list-group-item-text{color:#e1edf7;}.list-group-item-heading{margin-top:0;margin-bottom:5px;}.list-group-item-text{margin-bottom:0;line-height:1.3;}.panel{margin-bottom:20px;background-color:#ffffff;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0, 0, 0, 0.05);box-shadow:0 1px 1px rgba(0, 0, 0, 0.05);}.panel-body{padding:15px;}.panel-body:before,.panel-body:after{content:" ";display:table;}.panel-body:after{clear:both;}.panel-body:before,.panel-body:after{content:" ";display:table;}.panel-body:after{clear:both;}.panel>.list-group{margin-bottom:0;}.panel>.list-group .list-group-item{border-width:1px 0;}.panel>.list-group .list-group-item:first-child{border-top-right-radius:0;border-top-left-radius:0;}.panel>.list-group .list-group-item:last-child{border-bottom:0;}.panel-heading+.list-group .list-group-item:first-child{border-top-width:0;}.panel>.table,.panel>.table-responsive>.table{margin-bottom:0;}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive{border-top:1px solid #dddddd;}.panel>.table>tbody:first-child th,.panel>.table>tbody:first-child td{border-top:0;}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0;}.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0;}.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0;}.panel>.table-bordered>thead>tr:last-child>th,.panel>.table-responsive>.table-bordered>thead>tr:last-child>th,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th,.panel>.table-bordered>thead>tr:last-child>td,.panel>.table-responsive>.table-bordered>thead>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td{border-bottom:0;}.panel>.table-responsive{border:0;margin-bottom:0;}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-right-radius:3px;border-top-left-radius:3px;}.panel-heading>.dropdown .dropdown-toggle{color:inherit;}.panel-title{margin-top:0;margin-bottom:0;font-size:16px;color:inherit;}.panel-title>a{color:inherit;}.panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #dddddd;border-bottom-right-radius:3px;border-bottom-left-radius:3px;}.panel-group .panel{margin-bottom:0;border-radius:4px;overflow:hidden;}.panel-group .panel+.panel{margin-top:5px;}.panel-group .panel-heading{border-bottom:0;}.panel-group .panel-heading+.panel-collapse .panel-body{border-top:1px solid #dddddd;}.panel-group .panel-footer{border-top:0;}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #dddddd;}.panel-default{border-color:#dddddd;}.panel-default>.panel-heading{color:#333333;background-color:#f5f5f5;border-color:#dddddd;}.panel-default>.panel-heading+.panel-collapse .panel-body{border-top-color:#dddddd;}.panel-default>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#dddddd;}.panel-primary{border-color:#428bca;}.panel-primary>.panel-heading{color:#ffffff;background-color:#428bca;border-color:#428bca;}.panel-primary>.panel-heading+.panel-collapse .panel-body{border-top-color:#428bca;}.panel-primary>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#428bca;}.panel-success{border-color:#d6e9c6;}.panel-success>.panel-heading{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6;}.panel-success>.panel-heading+.panel-collapse .panel-body{border-top-color:#d6e9c6;}.panel-success>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#d6e9c6;}.panel-warning{border-color:#faebcc;}.panel-warning>.panel-heading{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc;}.panel-warning>.panel-heading+.panel-collapse .panel-body{border-top-color:#faebcc;}.panel-warning>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#faebcc;}.panel-danger{border-color:#ebccd1;}.panel-danger>.panel-heading{color:#a94442;background-color:#f2dede;border-color:#ebccd1;}.panel-danger>.panel-heading+.panel-collapse .panel-body{border-top-color:#ebccd1;}.panel-danger>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#ebccd1;}.panel-info{border-color:#bce8f1;}.panel-info>.panel-heading{color:#31708f;background-color:#d9edf7;border-color:#bce8f1;}.panel-info>.panel-heading+.panel-collapse .panel-body{border-top-color:#bce8f1;}.panel-info>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#bce8f1;}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.05);box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.05);}.well blockquote{border-color:#ddd;border-color:rgba(0, 0, 0, 0.15);}.well-lg{padding:24px;border-radius:6px;}.well-sm{padding:9px;border-radius:3px;}.close{float:right;font-size:21px;font-weight:bold;line-height:1;color:#000000;text-shadow:0 1px 0 #ffffff;opacity:0.2;filter:alpha(opacity=20);}.close:hover,.close:focus{color:#000000;text-decoration:none;cursor:pointer;opacity:0.5;filter:alpha(opacity=50);}button.close{padding:0;cursor:pointer;background:transparent;border:0;-webkit-appearance:none;}.modal-open{overflow:hidden;}.modal{display:none;overflow:auto;overflow-y:scroll;position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;}.modal.fade .modal-dialog{-webkit-transform:translate(0, -25%);-ms-transform:translate(0, -25%);transform:translate(0, -25%);-webkit-transition:-webkit-transform 0.3s ease-out;-moz-transition:-moz-transform 0.3s ease-out;-o-transition:-o-transform 0.3s ease-out;transition:transform 0.3s ease-out;}.modal.in .modal-dialog{-webkit-transform:translate(0, 0);-ms-transform:translate(0, 0);transform:translate(0, 0);}.modal-dialog{position:relative;width:auto;margin:10px;z-index:1050;}.modal-content{position:relative;background-color:#ffffff;border:1px solid #999999;border:1px solid rgba(0, 0, 0, 0.2);border-radius:6px;-webkit-box-shadow:0 3px 9px rgba(0, 0, 0, 0.5);box-shadow:0 3px 9px rgba(0, 0, 0, 0.5);background-clip:padding-box;outline:none;}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1030;background-color:#000000;}.modal-backdrop.fade{opacity:0;filter:alpha(opacity=0);}.modal-backdrop.in{opacity:0.5;filter:alpha(opacity=50);}.modal-header{padding:15px;border-bottom:1px solid #e5e5e5;min-height:16.428571429px;}.modal-header .close{margin-top:-2px;}.modal-title{margin:0;line-height:1.428571429;}.modal-body{position:relative;padding:20px;}.modal-footer{margin-top:15px;padding:19px 20px 20px;text-align:right;border-top:1px solid #e5e5e5;}.modal-footer:before,.modal-footer:after{content:" ";display:table;}.modal-footer:after{clear:both;}.modal-footer:before,.modal-footer:after{content:" ";display:table;}.modal-footer:after{clear:both;}.modal-footer .btn+.btn{margin-left:5px;margin-bottom:0;}.modal-footer .btn-group .btn+.btn{margin-left:-1px;}.modal-footer .btn-block+.btn-block{margin-left:0;}@media screen and (min-width:768px){.modal-dialog{width:600px;margin:30px auto;} .modal-content{-webkit-box-shadow:0 5px 15px rgba(0, 0, 0, 0.5);box-shadow:0 5px 15px rgba(0, 0, 0, 0.5);}}.tooltip{position:absolute;z-index:1030;display:block;visibility:visible;font-size:12px;line-height:1.4;opacity:0;filter:alpha(opacity=0);}.tooltip.in{opacity:0.9;filter:alpha(opacity=90);}.tooltip.top{margin-top:-3px;padding:5px 0;}.tooltip.right{margin-left:3px;padding:0 5px;}.tooltip.bottom{margin-top:3px;padding:5px 0;}.tooltip.left{margin-left:-3px;padding:0 5px;}.tooltip-inner{max-width:200px;padding:3px 8px;color:#ffffff;text-align:center;text-decoration:none;background-color:#000000;border-radius:4px;}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid;}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000000;}.tooltip.top-left .tooltip-arrow{bottom:0;left:5px;border-width:5px 5px 0;border-top-color:#000000;}.tooltip.top-right .tooltip-arrow{bottom:0;right:5px;border-width:5px 5px 0;border-top-color:#000000;}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000000;}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000000;}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000000;}.tooltip.bottom-left .tooltip-arrow{top:0;left:5px;border-width:0 5px 5px;border-bottom-color:#000000;}.tooltip.bottom-right .tooltip-arrow{top:0;right:5px;border-width:0 5px 5px;border-bottom-color:#000000;}.popover{position:absolute;top:0;left:0;z-index:1010;display:none;max-width:276px;padding:1px;text-align:left;background-color:#ffffff;background-clip:padding-box;border:1px solid #cccccc;border:1px solid rgba(0, 0, 0, 0.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0, 0, 0, 0.2);box-shadow:0 5px 10px rgba(0, 0, 0, 0.2);white-space:normal;}.popover.top{margin-top:-10px;}.popover.right{margin-left:10px;}.popover.bottom{margin-top:10px;}.popover.left{margin-left:-10px;}.popover-title{margin:0;padding:8px 14px;font-size:14px;font-weight:normal;line-height:18px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0;}.popover-content{padding:9px 14px;}.popover .arrow,.popover .arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid;}.popover .arrow{border-width:11px;}.popover .arrow:after{border-width:10px;content:"";}.popover.top .arrow{left:50%;margin-left:-11px;border-bottom-width:0;border-top-color:#999999;border-top-color:rgba(0, 0, 0, 0.25);bottom:-11px;}.popover.top .arrow:after{content:" ";bottom:1px;margin-left:-10px;border-bottom-width:0;border-top-color:#ffffff;}.popover.right .arrow{top:50%;left:-11px;margin-top:-11px;border-left-width:0;border-right-color:#999999;border-right-color:rgba(0, 0, 0, 0.25);}.popover.right .arrow:after{content:" ";left:1px;bottom:-10px;border-left-width:0;border-right-color:#ffffff;}.popover.bottom .arrow{left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999999;border-bottom-color:rgba(0, 0, 0, 0.25);top:-11px;}.popover.bottom .arrow:after{content:" ";top:1px;margin-left:-10px;border-top-width:0;border-bottom-color:#ffffff;}.popover.left .arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999999;border-left-color:rgba(0, 0, 0, 0.25);}.popover.left .arrow:after{content:" ";right:1px;border-right-width:0;border-left-color:#ffffff;bottom:-10px;}.clearfix:before,.clearfix:after{content:" ";display:table;}.clearfix:after{clear:both;}.center-block{display:block;margin-left:auto;margin-right:auto;}.pull-right{float:right !important;}.pull-left{float:left !important;}.hide{display:none !important;}.show{display:block !important;}.invisible{visibility:hidden;}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0;}.hidden{display:none !important;visibility:hidden !important;}.affix{position:fixed;} \ No newline at end of file
diff --git a/app/assets/stylesheets/plugins/formtastic.css.scss b/app/assets/stylesheets/plugins/formtastic.css.scss
deleted file mode 100644
index bded68974..000000000
--- a/app/assets/stylesheets/plugins/formtastic.css.scss
+++ /dev/null
@@ -1,34 +0,0 @@
-fieldset.inputs {
-
- li.number input { width: 100px; }
- li.string input { width: 500px; }
-
- fieldset.inputs{
- border: 2px groove threedface;
- margin-bottom: 20px;
- padding: 10px;
-
- legend span{
- font-weight: bold;
- padding: 5px;
- }
-
- li.special {
- display: inline-block;
- width: 40%;
-
- label.label {
- width: 60%;
- margin-right: 10px;
- }
-
- input {
- width: 20%;
- }
-
- }
-
- a.action { float: right; }
-
- }
-} \ No newline at end of file
diff --git a/app/assets/stylesheets/vehicle_journeys.css.scss b/app/assets/stylesheets/vehicle_journeys.css.scss
deleted file mode 100644
index f11c6c1db..000000000
--- a/app/assets/stylesheets/vehicle_journeys.css.scss
+++ /dev/null
@@ -1,199 +0,0 @@
-// Place all the styles related to the routes controller here.
-// They will automatically be included in application.css.
-// You can use Sass (SCSS) here: http://sass-lang.com/
-@import "common/mixins";
-
-#workspace.vehicle_journeys.edit, #workspace.vehicle_journeys.update, #workspace.vehicle_journeys.create, #workspace.vehicle_journeys.new
-{
- #route_color{ width: 100px;
- color: white;
- font-weight: bold;}
- .journey_pattern_dependent_list {
- tr.no_stop { display: none; }
- }
- .time_table_list { padding-left: 25%; }
- .vehicle_journey_at_stops { margin-left: 25%; }
-}
-
-#workspace.vehicle_journeys.index
-{
- table{ margin: 20px 0 0 0; }
-
- tr.odd{}
- tr.even{ background-color: #DEFFA8; }
-
- thead tr{ background-color: #95CB3E; }
-
- tbody { margin: 10px;}
-
- tr{
-
- th{
- padding: 5px 7px 5px 7px;
- text-align: center;
- }
-
- th.calendars {
- font-size: 11px;
- }
-
- th.title {
- text-align: left;
- }
-
- td{
- padding: 5px 7px 5px 7px;
- text-align: center;
- }
-
- td.hours {
- font-size: 12px;
- color: #516a29;
- }
-
- td.missing {
- background-color: orange;
- }
-
- td.stop_area{
- text-align: left;
- font-size: 12px;
- font-weight: bold;
- }
- }
-
-}
-
-#workspace.vehicle_journeys.show, #workspace.vehicle_journeys.edit, #workspace.vehicle_journeys.update, #workspace.vehicle_journeys.create, #workspace.vehicle_journeys.new {
-
- h3 {
- .vehicle_journey_at_stops {
- cursor: pointer;
- }
- }
-
- .to_departures {
- cursor: pointer;
- }
-
- .to_arrivals {
- cursor: pointer;
- }
-
- .vehicle_journey_at_stops {
- thead {
- th { text-align: center; }
- th.hour { width: 130px; }
- tr {
- background-color: #95CB3E;
- color: white;
- }
- }
- tbody {
- td.hour { text-align: center; }
- td.departure_time, td.arrival_time { padding-left: 15px; }
- td.missing { background-color: orange; }
- td.invalid_position { background-color: red; }
- tr label { width: 100% }
- tr.odd { }
- tr.even { background-color: #DEFFA8; }
- }
- tfoot {
- tr {
- background-color: #95CB3E;
- }
- td {
- text-align: center;
- a {
-
- color: white;
- }
- }
- }
-
- }
-}
-
-#workspace.vehicle_journeys.show
-{
- .summary p label {
- font-weight: bold;
- }
-
- .time_table:after {
- @include after_div_for_object;
- }
-
- .time_tables {
- margin-top: 20px;
- }
-
- .time_tables:after {
- @include content_to_clear;
- }
-
- h3 {
- .vehicle_journey_time_tables {
- cursor: pointer;
- }
- }
- .vehicle_journey_time_tables {
- clear: both;
- margin: 0px;
- padding: 0px;
- }
-
- .time_table {
- @include div_for_object;
- /* to create multi-column index */
- width: 350px;
- height: 40px;
- float: left;
- padding-right: 10px;
-
- span.included_day_type {
- font-weight: bolder;
- color: black;
- }
- span.excluded_day_type {
- }
- }
-}
-
-#workspace.vehicle_journeys.timeless
-{
- .summary p label {
- font-weight: bold;
- }
-
- .vehicle_journey:after {
- @include after_div_for_object;
- }
-
- .vehicle_journeys {
- margin-top: 20px;
- }
-
- .vehicle_journeys:after {
- @include content_to_clear;
- }
-
- .vehicle_journey {
- @include div_for_object;
- /* to create multi-column index */
- width: 350px;
- height: 65;
- float: left;
- padding-right: 10px;
-
- span.included_day_type {
- font-weight: bolder;
- color: black;
- }
- span.excluded_day_type {
- }
- }
-}
-
-
-
diff --git a/app/assets/stylesheets/vendor/formtastic.css.scss b/app/assets/stylesheets/vendor/formtastic.css.scss
new file mode 100644
index 000000000..e852e65e4
--- /dev/null
+++ b/app/assets/stylesheets/vendor/formtastic.css.scss
@@ -0,0 +1,29 @@
+fieldset.inputs {
+
+ li.string input { width: 500px; }
+
+ fieldset.inputs{
+ /* border: 2px groove threedface; */
+ /* margin-bottom: 20px; */
+ /* padding: 10px; */
+
+ /* legend span{ */
+ /* font-weight: bold; */
+ /* padding: 5px; */
+ /* } */
+
+ /* li.special { */
+ /* display: inline-block; */
+ /* width: 40%; */
+
+ /* label.label { */
+ /* width: 60%; */
+ /* margin-right: 10px; */
+ /* } */
+
+ /* } */
+
+ a.action { float: right; }
+
+ }
+} \ No newline at end of file
diff --git a/app/assets/stylesheets/jquery.qtip.min.css b/app/assets/stylesheets/vendor/jquery.qtip.min.css
index 9e1ab087d..9e1ab087d 100644
--- a/app/assets/stylesheets/jquery.qtip.min.css
+++ b/app/assets/stylesheets/vendor/jquery.qtip.min.css
diff --git a/app/assets/stylesheets/openlayers_framedCloud.css b/app/assets/stylesheets/vendor/openlayers_framedCloud.css
index e69de29bb..e69de29bb 100644
--- a/app/assets/stylesheets/openlayers_framedCloud.css
+++ b/app/assets/stylesheets/vendor/openlayers_framedCloud.css
diff --git a/app/assets/stylesheets/openlayers_google.css b/app/assets/stylesheets/vendor/openlayers_google.css
index 3ee757c47..3ee757c47 100644
--- a/app/assets/stylesheets/openlayers_google.css
+++ b/app/assets/stylesheets/vendor/openlayers_google.css
diff --git a/app/assets/stylesheets/openlayers_ie6-style.css b/app/assets/stylesheets/vendor/openlayers_ie6-style.css
index 61e6ece57..61e6ece57 100644
--- a/app/assets/stylesheets/openlayers_ie6-style.css
+++ b/app/assets/stylesheets/vendor/openlayers_ie6-style.css
diff --git a/app/assets/stylesheets/openlayers_style.css b/app/assets/stylesheets/vendor/openlayers_style.css
index 0e3a67108..0e3a67108 100644
--- a/app/assets/stylesheets/openlayers_style.css
+++ b/app/assets/stylesheets/vendor/openlayers_style.css
diff --git a/app/assets/stylesheets/vendor/pagination.css.scss b/app/assets/stylesheets/vendor/pagination.css.scss
new file mode 100644
index 000000000..b0c524084
--- /dev/null
+++ b/app/assets/stylesheets/vendor/pagination.css.scss
@@ -0,0 +1,22 @@
+.pagination {
+ margin: 10px 0 0 20px;
+
+}
+
+.page_info{
+ margin: 20px 0 0 0;
+}
+
+.paginated_content > .row {
+ margin-top: 10px;
+
+ .col-md-4 > div{
+ padding: 5px;
+ background-color: $gray-lighter;
+ border: 1px solid $brand-primary;
+ @include border-top-radius(5px);
+ @include border-right-radius(5px);
+ @include border-left-radius(5px);
+ @include border-bottom-radius(5px);
+ }
+} \ No newline at end of file
diff --git a/app/assets/stylesheets/plugins/tipsy.css b/app/assets/stylesheets/vendor/tipsy.css
index f170fb710..f170fb710 100644
--- a/app/assets/stylesheets/plugins/tipsy.css
+++ b/app/assets/stylesheets/vendor/tipsy.css
diff --git a/app/helpers/pagination_helper.rb b/app/helpers/pagination_helper.rb
new file mode 100644
index 000000000..0ad70f26e
--- /dev/null
+++ b/app/helpers/pagination_helper.rb
@@ -0,0 +1,14 @@
+module PaginationHelper
+ def paginated_content(models, default_partial_name = nil)
+ html = ""
+ models.each_slice(3) do |row_models|
+ html += '<div class="row">'
+ row_models.each do |model|
+ partial_name = default_partial_name || model.class.name.underscore.gsub("chouette/", "")
+ html += '<div class="col-md-4">' + (render :partial => partial_name, :object => model).to_s + '</div>'
+ end
+ html += '</div>'
+ end
+ html.html_safe
+ end
+end
diff --git a/app/helpers/stop_areas_helper.rb b/app/helpers/stop_areas_helper.rb
index e654857a8..e287af7f3 100644
--- a/app/helpers/stop_areas_helper.rb
+++ b/app/helpers/stop_areas_helper.rb
@@ -1,7 +1,7 @@
module StopAreasHelper
def genealogical_title
- return t("genealogical_routing") if @stop_area.stop_area_type == 'itl'
- t("genealogical")
+ return t(".stop_areas.genealogical.genealogical_routing") if @stop_area.stop_area_type == 'itl'
+ t("stop_areas.genealogical.genealogical")
end
def show_map?
diff --git a/app/helpers/tabs_helper.rb b/app/helpers/tabs_helper.rb
new file mode 100644
index 000000000..3883f4683
--- /dev/null
+++ b/app/helpers/tabs_helper.rb
@@ -0,0 +1,9 @@
+module TabsHelper
+
+ def tab_link_to(model_or_name, link, current=nil)
+ model_or_name = model_or_name.model_name.human(:count => 2).capitalize if Class === model_or_name
+ current ||= request.path.start_with?(link)
+ link_to model_or_name, link, :class => ("current" if current)
+ end
+
+end
diff --git a/app/views/companies/index.html.erb b/app/views/companies/index.html.erb
index 8d96b0e65..74f5790d4 100644
--- a/app/views/companies/index.html.erb
+++ b/app/views/companies/index.html.erb
@@ -12,14 +12,12 @@
<span class="search"> <%= t("will_paginate.page_entries_info.search") %></span> <%= page_entries_info @companies %>
</div>
<div class="companies paginated_content">
- <%= render :partial => "company", :collection => @companies %>
+ <%= paginated_content(@companies) %>
</div>
<div class="pagination">
- <%= will_paginate @companies, :container => false %>
+ <%= will_paginate @companies, :container => false, renderer: BootstrapPagination::Rails %>
</div>
-
-
<% content_for :sidebar do %>
<ul class="actions">
<li><%= link_to t('companies.actions.new'), new_referential_company_path(@referential), :class => "add" %></li>
diff --git a/app/views/compliance_check_tasks/index.html.erb b/app/views/compliance_check_tasks/index.html.erb
index e28d98f1a..8a659070c 100644
--- a/app/views/compliance_check_tasks/index.html.erb
+++ b/app/views/compliance_check_tasks/index.html.erb
@@ -4,10 +4,10 @@
<span class="search"> <%= t("will_paginate.page_entries_info.search") %></span> <%= page_entries_info @compliance_check_tasks %>
</div>
<div class="compliance_check_tasks paginated_content">
- <%= render :partial => "compliance_check_task", :collection => @compliance_check_tasks %>
+ <%= paginated_content @compliance_check_tasks %>
</div>
<div class="pagination">
- <%= will_paginate @compliance_check_tasks, :container => false %>
+ <%= will_paginate @compliance_check_tasks, :container => false, renderer: BootstrapPagination::Rails %>
</div>
<% content_for :sidebar do %>
diff --git a/app/views/connection_links/_form.erb b/app/views/connection_links/_form.erb
index a0a29d954..72d3b2046 100644
--- a/app/views/connection_links/_form.erb
+++ b/app/views/connection_links/_form.erb
@@ -4,31 +4,19 @@
<%= form.input :name %>
<%= form.input :connection_link_type, :as => :select, :collection => Chouette::ConnectionLink.connection_link_types, :include_blank => false, :member_label => Proc.new { |type| t("connection_link_types.label.#{type}") } %>
<%= form.input :comment %>
- <%= form.input :link_distance %>
- <%= form.inputs :name => t('connection_links.show.durations') do %>
- <%= form.input "default_duration(1i)", :as => :hidden ,:input_html => { :value => "2000" } %>
- <%= form.input "default_duration(2i)", :as => :hidden ,:input_html => { :value => "1" } %>
- <%= form.input "default_duration(3i)", :as => :hidden ,:input_html => { :value => "1" } %>
- <%= form.input :default_duration, :ignore_date=>true,:include_seconds=>true, :label => @connection_link.human_attribute_name("default_duration")%>
- <%= form.input "frequent_traveller_duration(1i)", :as => :hidden ,:input_html => { :value => "2000" } %>
- <%= form.input "frequent_traveller_duration(2i)", :as => :hidden ,:input_html => { :value => "1" } %>
- <%= form.input "frequent_traveller_duration(3i)", :as => :hidden ,:input_html => { :value => "1" } %>
- <%= form.input :frequent_traveller_duration, :ignore_date=>true,:include_seconds=>true, :label => @connection_link.human_attribute_name("frequent_traveller_duration")%>
- <%= form.input "occasional_traveller_duration(1i)", :as => :hidden ,:input_html => { :value => "2000" } %>
- <%= form.input "occasional_traveller_duration(2i)", :as => :hidden ,:input_html => { :value => "1" } %>
- <%= form.input "occasional_traveller_duration(3i)", :as => :hidden ,:input_html => { :value => "1" } %>
- <%= form.input :occasional_traveller_duration, :ignore_date=>true,:include_seconds=>true, :label => @connection_link.human_attribute_name("occasional_traveller_duration")%>
- <%= form.input "mobility_restricted_traveller_duration(1i)", :as => :hidden ,:input_html => { :value => "2000" } %>
- <%= form.input "mobility_restricted_traveller_duration(2i)", :as => :hidden ,:input_html => { :value => "1" } %>
- <%= form.input "mobility_restricted_traveller_duration(3i)", :as => :hidden ,:input_html => { :value => "1" } %>
- <%= form.input :mobility_restricted_traveller_duration, :ignore_date=>true,:include_seconds=>true, :label => @connection_link.human_attribute_name("mobility_restricted_traveller_duration")%>
- <% end %>
- <%= form.input :mobility_restricted_suitability,:as => :boolean %>
+ <%= form.input :link_distance %>
+ <%= form.input :mobility_restricted_suitability,:as => :boolean %>
<%= form.input :stairs_availability,:as => :boolean %>
<%= form.input :lift_availability,:as => :boolean %>
- <%= form.input :objectid, :required => !@connection_link.new_record?, :input_html => { :disabled => !@connection_link.new_record? } %>
+ <%= form.input :objectid, :required => !@connection_link.new_record?, :input_html => { :disabled => !@connection_link.new_record? } %>
<% end %>
+ <%= form.inputs :name => t('connection_links.show.durations') do %>
+ <%= form.input :default_duration, :as => :time_picker, :ignore_date=>true,:include_seconds=>true, :label => @connection_link.human_attribute_name("default_duration"), :input_html => { :placeholder => "HH:MM" } %>
+ <%= form.input :frequent_traveller_duration, :as => :time_picker, :ignore_date=>true,:include_seconds=>true, :label => @connection_link.human_attribute_name("frequent_traveller_duration"), :input_html => { :placeholder => "HH:MM" } %>
+ <%= form.input :occasional_traveller_duration, :as => :time_picker, :ignore_date=>true,:include_seconds=>true, :label => @connection_link.human_attribute_name("occasional_traveller_duration"), :input_html => { :placeholder => "HH:MM" } %>
+ <%= form.input :mobility_restricted_traveller_duration, :as => :time_picker, :ignore_date=>true,:include_seconds=>true, :label => @connection_link.human_attribute_name("mobility_restricted_traveller_duration"), :input_html => { :placeholder => "HH:MM" } %>
+ <% end %>
<%= form.actions do %>
<%= form.action :submit, :as => :button %>
diff --git a/app/views/connection_links/index.html.erb b/app/views/connection_links/index.html.erb
index 8a19559ce..5f4ec09d4 100644
--- a/app/views/connection_links/index.html.erb
+++ b/app/views/connection_links/index.html.erb
@@ -31,10 +31,10 @@
<span class="search"> <%= t("will_paginate.page_entries_info.search") %></span> <%= page_entries_info @connection_links %>
</div>
<div class="connection_links paginated_content">
- <%= render :partial => "connection_link", :collection => @connection_links %>
+ <%= paginated_content(@connection_links) %>
</div>
<div class="pagination">
- <%= will_paginate @connection_links, :container => false %>
+ <%= will_paginate @connection_links, :container => false, renderer: BootstrapPagination::Rails %>
</div>
<% content_for :sidebar do %>
diff --git a/app/views/devise/_links.erb b/app/views/devise/_links.erb
new file mode 100644
index 000000000..3381b2e8e
--- /dev/null
+++ b/app/views/devise/_links.erb
@@ -0,0 +1,41 @@
+<% content_for :sidebar do %>
+<ul class="actions">
+ <li>
+ <%- if controller_name != 'sessions' %>
+ <%= link_to t(".sign_in"), new_session_path(resource_name) %><br />
+ <% end -%>
+ </li>
+
+ <li>
+ <%- if devise_mapping.registerable? && controller_name != 'registrations' %>
+ <%= link_to t(".sign_up"), new_registration_path(resource_name) %><br />
+ <% end -%>
+ </li>
+
+ <li>
+ <%- if devise_mapping.recoverable? && controller_name != 'passwords' %>
+ <%= link_to t(".new_password"), new_password_path(resource_name) %><br />
+ <% end -%>
+ </li>
+
+ <li>
+ <%- if devise_mapping.confirmable? && controller_name != 'confirmations' %>
+ <%= link_to t(".new_confirmation"), new_confirmation_path(resource_name) %><br />
+ <% end -%>
+ </li>
+
+ <li>
+ <%- if devise_mapping.lockable? && resource_class.unlock_strategy_enabled?(:email) && controller_name != 'unlocks' %>
+ <%= link_to "Didn't receive unlock instructions?", new_unlock_path(resource_name) %><br />
+ <% end -%>
+ </li>
+
+ <li>
+ <%- if devise_mapping.omniauthable? %>
+ <%- resource_class.omniauth_providers.each do |provider| %>
+ <%= link_to "Sign in with #{provider.to_s.titleize}", omniauth_authorize_path(resource_name, provider) %><br />
+ <% end -%>
+ <% end -%>
+ </li>
+</ul>
+<% end %>
diff --git a/app/views/devise/confirmations/new.html.erb b/app/views/devise/confirmations/new.html.erb
new file mode 100644
index 000000000..1e221155c
--- /dev/null
+++ b/app/views/devise/confirmations/new.html.erb
@@ -0,0 +1,13 @@
+<%= title_tag t('.title') %>
+
+<%= semantic_form_for(resource, :as => resource_name, :url => confirmation_path(resource_name), :html => { :method => :post }) do |form| %>
+
+ <%= form.input :email %>
+
+ <%= form.actions do %>
+ <%= form.action :submit, :as => :button, :label => t('.title') %>
+ <%= form.action :cancel, :as => :link %>
+ <% end %>
+<% end %>
+
+<%= render "links" %>
diff --git a/app/views/devise/mailer/confirmation_instructions.fr.html.erb b/app/views/devise/mailer/confirmation_instructions.fr.html.erb
new file mode 100644
index 000000000..035ee5af5
--- /dev/null
+++ b/app/views/devise/mailer/confirmation_instructions.fr.html.erb
@@ -0,0 +1,6 @@
+<p>Bonjour <%= @resource.email %>!</p>
+
+<p>Vous pouvez confirmer votre compte email en cliquant sur le lien suivant:</p>
+
+<p><%= link_to 'Confirmer mon compte', confirmation_url(@resource, :confirmation_token => @resource.confirmation_token) %></p>
+
diff --git a/app/views/devise/mailer/confirmation_instructions.html.erb b/app/views/devise/mailer/confirmation_instructions.html.erb
new file mode 100644
index 000000000..a5c4585e8
--- /dev/null
+++ b/app/views/devise/mailer/confirmation_instructions.html.erb
@@ -0,0 +1,5 @@
+<p>Welcome <%= @resource.email %>!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><%= link_to 'Confirm my account', confirmation_url(@resource, :confirmation_token => @resource.confirmation_token) %></p>
diff --git a/app/views/devise/mailer/invitation_instructions.fr.html.erb b/app/views/devise/mailer/invitation_instructions.fr.html.erb
new file mode 100644
index 000000000..7ef4e6c99
--- /dev/null
+++ b/app/views/devise/mailer/invitation_instructions.fr.html.erb
@@ -0,0 +1,8 @@
+<p>Bonjour <%= @resource.email %>,</p>
+
+<p>Ce message est une invitation pour accéder à <%= link_to nil, root_url %>, vous pouvez l'accepter en cliquant sur le lien suivant :</p>
+
+<p><%= link_to "Accepter l'invitation", accept_invitation_url(@resource, :invitation_token => @resource.invitation_token) %></p>
+
+<p>Si vous ne souhaitez pas accepter cette invitation, ignorez ce message.<br />
+Votre compte ne sera pas créé tant que vous n'accédez pas au lien ci-dessus et que vous ne définissez un mot de passe.</p>
diff --git a/app/views/devise/mailer/reset_password_instructions.fr.html.erb b/app/views/devise/mailer/reset_password_instructions.fr.html.erb
new file mode 100644
index 000000000..a69d10ae5
--- /dev/null
+++ b/app/views/devise/mailer/reset_password_instructions.fr.html.erb
@@ -0,0 +1,9 @@
+<p>Bonjour <%= @resource.email %>!</p>
+
+<p>Une demande de changement de mot de passe a été reçue, vous pouvez modifier votre mot de passe en suivant le lien ci-dessous.</p>
+
+<p><%= link_to 'Modifier mon mot de passe', edit_password_url(@resource, :reset_password_token => @resource.reset_password_token) %></p>
+
+<p>Si vous ne souhaitez pas modifier votre mot de passe, ignorez ce message.</p>
+<p>Votre mot de passe est conservé jusqu'à ce que vous suiviez le lien ci-dessus et que vous définissiez un nouveau mot de passe.</p>
+
diff --git a/app/views/devise/mailer/reset_password_instructions.html.erb b/app/views/devise/mailer/reset_password_instructions.html.erb
new file mode 100644
index 000000000..ae9e888ab
--- /dev/null
+++ b/app/views/devise/mailer/reset_password_instructions.html.erb
@@ -0,0 +1,8 @@
+<p>Hello <%= @resource.email %>!</p>
+
+<p>Someone has requested a link to change your password, and you can do this through the link below.</p>
+
+<p><%= link_to 'Change my password', edit_password_url(@resource, :reset_password_token => @resource.reset_password_token) %></p>
+
+<p>If you didn't request this, please ignore this email.</p>
+<p>Your password won't change until you access the link above and create a new one.</p>
diff --git a/app/views/devise/mailer/unlock_instructions.html.erb b/app/views/devise/mailer/unlock_instructions.html.erb
new file mode 100644
index 000000000..2263c2195
--- /dev/null
+++ b/app/views/devise/mailer/unlock_instructions.html.erb
@@ -0,0 +1,7 @@
+<p>Hello <%= @resource.email %>!</p>
+
+<p>Your account has been locked due to an excessive amount of unsuccessful sign in attempts.</p>
+
+<p>Click the link below to unlock your account:</p>
+
+<p><%= link_to 'Unlock my account', unlock_url(@resource, :unlock_token => @resource.unlock_token) %></p>
diff --git a/app/views/devise/passwords/edit.html.erb b/app/views/devise/passwords/edit.html.erb
new file mode 100644
index 000000000..421339b5d
--- /dev/null
+++ b/app/views/devise/passwords/edit.html.erb
@@ -0,0 +1,17 @@
+<%= title_tag t('.title') %>
+
+<%= semantic_form_for(resource, :as => resource_name, :url => password_path(resource_name), :html => { :method => :put }) do |f| %>
+
+ <%= f.inputs do %>
+ <%= f.input :reset_password_token, :as => :hidden %>
+ <%= f.input :password, :as => :password %>
+ <%= f.input :password_confirmation, :as => :password %>
+ <% end %>
+
+ <%= f.actions do %>
+ <%= f.action :submit, :as => :button, :label => t('.commit') %>
+ <%= f.action :cancel, :as => :link %>
+ <% end %>
+<% end %>
+
+<%= render "links" %>
diff --git a/app/views/devise/passwords/new.html.erb b/app/views/devise/passwords/new.html.erb
new file mode 100644
index 000000000..f285a0f6d
--- /dev/null
+++ b/app/views/devise/passwords/new.html.erb
@@ -0,0 +1,13 @@
+<%= title_tag t('.title') %>
+
+<%= semantic_form_for(resource, :as => resource_name, :url => password_path(resource_name)) do |form| %>
+ <%= form.inputs :email %>
+
+ <%= form.actions do %>
+ <%= form.action :submit, :as => :button, :label => t('.commit') %>
+ <%= form.action :cancel, :as => :link %>
+ <% end %>
+
+<% end %>
+
+<%= render "links" %>
diff --git a/app/views/devise/registrations/edit.html.erb b/app/views/devise/registrations/edit.html.erb
new file mode 100644
index 000000000..c11b37893
--- /dev/null
+++ b/app/views/devise/registrations/edit.html.erb
@@ -0,0 +1,27 @@
+<%= title_tag t('.title') %>
+
+<%= semantic_form_for(resource, :as => resource_name, :url => registration_path(resource_name)) do |form| %>
+ <%= form.inputs do %>
+ <% if resource.respond_to?( :name) %>
+ <%= form.input :name %>
+ <% end %>
+ <%= form.input :email %>
+ <%= form.input :password, :as => :password %>
+ <%= form.input :password_confirmation, :as => :password %>
+
+ <%= form.input :current_password, :as => :password, :required => true %>
+ <% end %>
+
+ <%= form.actions do %>
+ <%= form.action :submit, :as => :button, :label => t('.commit') %>
+ <%= form.action :cancel, :as => :link %>
+ <% end %>
+<% end %>
+
+<% content_for :sidebar do %>
+<ul class="actions">
+ <%= link_to t('.actions.destroy'), registration_path(resource_name), :confirm => t('.actions.destroy_confirm'), :method => :delete, :class => "remove" %>
+</ul>
+<% end %>
+
+
diff --git a/app/views/devise/registrations/new.html.erb b/app/views/devise/registrations/new.html.erb
new file mode 100644
index 000000000..f699ae6f9
--- /dev/null
+++ b/app/views/devise/registrations/new.html.erb
@@ -0,0 +1,16 @@
+<%= title_tag t('.title') %>
+
+<%= semantic_form_for(resource, :as => resource_name, :url => registration_path(resource_name)) do |form| %>
+ <%= form.inputs do %>
+ <%= form.input :email %>
+ <%= form.input :password, :as => :password %>
+ <%= form.input :password_confirmation, :as => :password %>
+ <% end %>
+
+ <%= form.actions do %>
+ <%= form.action :submit, :as => :button, :label => t('.commit') %>
+ <%= form.action :cancel, :as => :link %>
+ <% end %>
+<% end %>
+
+<%= render "links" %>
diff --git a/app/views/devise/sessions/new.html.erb b/app/views/devise/sessions/new.html.erb
new file mode 100644
index 000000000..a6c13df5d
--- /dev/null
+++ b/app/views/devise/sessions/new.html.erb
@@ -0,0 +1,19 @@
+<%= title_tag t('.title') %>
+
+<%= semantic_form_for(resource, :as => resource_name, :url => session_path(resource_name)) do |form| %>
+ <%= form.inputs do %>
+ <%= form.input :email %>
+ <%= form.input :password, :as => :password %>
+
+ <% if devise_mapping.rememberable? -%>
+ <%= form.input :remember_me, :as => :boolean %>
+ <% end %>
+ <% end %>
+
+
+ <%= form.actions do %>
+ <%= form.action :submit, :as => :button, :label => t('.commit') %>
+ <% end %>
+<% end %>
+
+<%= render "links" %>
diff --git a/app/views/devise/shared/links.erb b/app/views/devise/shared/links.erb
new file mode 100644
index 000000000..9d74c7a0e
--- /dev/null
+++ b/app/views/devise/shared/links.erb
@@ -0,0 +1,32 @@
+<% content_for :sidebar do %>
+<ul class="actions">
+
+ <%- if controller_name != 'sessions' %>
+ <li>
+ <%= link_to t('devise.sessions.actions.new'), new_session_path(resource_name) %>
+ </li>
+ <% end -%>
+
+ <li>
+ <%= link_to t('subscriptions.actions.new'), new_subscription_path %>
+ </li>
+
+ <%- if devise_mapping.recoverable? && controller_name != 'passwords' %>
+ <li>
+ <%= link_to t('devise.passwords.actions.new'), new_password_path(resource_name) %>
+ </li>
+ <% end -%>
+
+ <%- if devise_mapping.confirmable? && controller_name != 'confirmations' %>
+ <li>
+ <%= link_to t('devise.confirmations.actions.new'), new_confirmation_path(resource_name) %>
+ </li>
+ <% end -%>
+
+ <%- if devise_mapping.lockable? && resource_class.unlock_strategy_enabled?(:email) && controller_name != 'unlocks' %>
+ <li>
+ <%= link_to t('devise.unlocks.actions.new'), new_unlock_path(resource_name) %>
+ </li>
+ <% end -%>
+</ul>
+<% end %>
diff --git a/app/views/devise/unlocks/new.html.erb b/app/views/devise/unlocks/new.html.erb
new file mode 100644
index 000000000..572fea1c6
--- /dev/null
+++ b/app/views/devise/unlocks/new.html.erb
@@ -0,0 +1,12 @@
+<h2>Resend unlock instructions</h2>
+
+<%= form_for(resource, :as => resource_name, :url => unlock_path(resource_name), :html => { :method => :post }) do |f| %>
+ <%= devise_error_messages! %>
+
+ <p><%= f.label :email %><br />
+ <%= f.text_field :email %></p>
+
+ <p><%= f.submit "Resend unlock instructions" %></p>
+<% end %>
+
+<%= render "links" %> \ No newline at end of file
diff --git a/app/views/exports/index.html.erb b/app/views/exports/index.html.erb
index b7847b70e..2f89b9458 100644
--- a/app/views/exports/index.html.erb
+++ b/app/views/exports/index.html.erb
@@ -4,10 +4,18 @@
<span class="search"> <%= t("will_paginate.page_entries_info.search") %></span> <%= page_entries_info @exports %>
</div>
<div class="exports paginated_content">
- <%= render :partial => "export", :collection => @exports %>
+ <% @exports.each_slice(3) do |row_exports| %>
+ <div class="row">
+ <% row_exports.each do |export| %>
+ <div class="col-md-4">
+ <%= render :partial => "export", locals: { export: export } %>
+ </div>
+ <% end %>
+ </div>
+ <% end %>
</div>
-<div class="pagination">
- <%= will_paginate @exports, :container => false %>
+<div class="pagination">
+ <%= will_paginate @exports, :container => false, renderer: BootstrapPagination::Rails %>
</div>
<% content_for :sidebar do %>
diff --git a/app/views/group_of_lines/index.html.erb b/app/views/group_of_lines/index.html.erb
index 6f01455b8..25bf782a2 100644
--- a/app/views/group_of_lines/index.html.erb
+++ b/app/views/group_of_lines/index.html.erb
@@ -12,10 +12,10 @@
<span class="search"> <%= t("will_paginate.page_entries_info.search") %></span> <%= page_entries_info @group_of_lines %>
</div>
<div class="group_of_lines paginated_content">
- <%= render :partial => "group_of_line", :collection => @group_of_lines %>
+ <%= paginated_content(@group_of_lines) %>
</div>
<div class="pagination">
- <%= will_paginate @group_of_lines, :container => false %>
+ <%= will_paginate @group_of_lines, :container => false, renderer: BootstrapPagination::Rails %>
</div>
<% content_for :sidebar do %>
diff --git a/app/views/import_tasks/index.html.erb b/app/views/import_tasks/index.html.erb
index df70120b5..f19c84929 100644
--- a/app/views/import_tasks/index.html.erb
+++ b/app/views/import_tasks/index.html.erb
@@ -4,10 +4,10 @@
<span class="search"> <%= t("will_paginate.page_entries_info.search") %></span> <%= page_entries_info @import_tasks %>
</div>
<div class="import_tasks paginated_content">
- <%= render :partial => "import_task", :collection => @import_tasks %>
+ <%= paginated_content @import_tasks %>
</div>
<div class="pagination">
- <%= will_paginate @import_tasks, :container => false %>
+ <%= will_paginate @import_tasks, :container => false, renderer: BootstrapPagination::Rails %>
</div>
<% content_for :sidebar do %>
diff --git a/app/views/journey_patterns/_stop_points_detail.html.erb b/app/views/journey_patterns/_stop_points_detail.html.erb
deleted file mode 100644
index 6c9e4afae..000000000
--- a/app/views/journey_patterns/_stop_points_detail.html.erb
+++ /dev/null
@@ -1,10 +0,0 @@
- <div class="page_info">
- <span class="search"> <%= t("will_paginate.page_entries_info.list") %></span> <%= page_entries_info @stop_points %>
- </div>
- <div class="stop_points paginated_content">
- <%= render :partial => "stop_points/stop_point", :collection => @stop_points %>
- </div>
- <div class="pagination">
- <%= will_paginate @stop_points, :container => false %>
- </div>
-
diff --git a/app/views/journey_patterns/show.html.erb b/app/views/journey_patterns/show.html.erb
index eb8f40cc1..1bdd5cc5e 100644
--- a/app/views/journey_patterns/show.html.erb
+++ b/app/views/journey_patterns/show.html.erb
@@ -38,8 +38,8 @@
<p class="after_map" />
<h3 class="journey_pattern_stop_points"><%= t('.stop_points') %></h3>
-<div class="stop_points_detail" >
- <%= render :partial => "stop_points_detail" %>
+<div class="stop_points paginated_content" >
+ <%= paginated_content @stop_points, "stop_points/stop_point" %>
</div>
<% content_for :sidebar do %>
diff --git a/app/views/layouts/application.html.erb b/app/views/layouts/application.html.erb
index 0f0d95a4b..d0428dd9f 100644
--- a/app/views/layouts/application.html.erb
+++ b/app/views/layouts/application.html.erb
@@ -18,48 +18,51 @@
</head>
<body>
<div id="header">
- <div class="infos">
- <div class="logo">
- <%= link_to image_tag("logo_chouette.png"), referentials_path %>
- </div>
- <div class="version">
- <%= APP_VERSION %>
- </div>
- <div class="title">
- <% if selected_referential? %>
+ <div class="row">
+ <div class="col-md-4">
+ <div class="logo">
+ <%= link_to image_tag("logo_chouette.png"), referentials_path %>
+ <span class="version"><%= APP_VERSION %></span>
+ </div>
+ </div>
+ <div class="col-md-4">
+ <div class="title">
+ <% if selected_referential? %>
<h1><%= @referential.name %></h1>
- <% elsif help_page? %>
+ <% elsif help_page? %>
<h1>Guide d'utilisation</h1>
- <% end %>
- </div>
- <div class="interaction">
- <%= render "layouts/user_links" %>
+ <% end %>
+ </div>
</div>
+ <div class="col-md-4">
+ <div class="interaction">
+ <%= render "layouts/user_links" %>
+ </div>
+ </div>
</div>
<div class="tabs">
- <ul class="main">
+ <ul class="nav nav-tabs">
<% if help_page? %>
- <li><%= link_to "Aide", help_path, :class =>("current" if help_page?) %></li>
+ <li><%= link_to "Aide", help_path, :class =>("current" if help_page?) %></li>
<% elsif ! selected_referential? %>
- <% if user_signed_in? %>
- <li><%= link_to Referential.model_name.human(:count=>2), referentials_path, :class => ("current" if current_page?(referentials_path) || current_page?(root_url)) %></li>
- <li class="admin"><%= tab_link_to Organisation.model_name.human, organisation_path %></li>
- <% end %>
+ <% if user_signed_in? %>
+ <li><%= link_to Referential.model_name.human(:count=>2), referentials_path, :class => ("current" if current_page?(referentials_path) || current_page?(root_url)) %></li>
+ <li class="admin"><%= tab_link_to Organisation.model_name.human, organisation_path %></li>
+ <% end %>
<% else %>
- <li><%= link_to t("layouts.tabs.dashboard").capitalize, referential_path(@referential), :class => ("current" if current_page?(referential_path(@referential)) || request.path.start_with?(referential_rule_parameter_sets_path(@referential))) %></li>
- <li><%= tab_link_to Chouette::Network, referential_networks_path(@referential) %></li>
- <li><%= tab_link_to Chouette::Company, referential_companies_path(@referential) %></li>
- <li><%= tab_link_to Chouette::GroupOfLine, referential_group_of_lines_path(@referential) %></li>
- <li><%= tab_link_to Chouette::Line, referential_lines_path(@referential) %></li>
- <li><%= tab_link_to Chouette::StopArea, referential_stop_areas_path(@referential) %></li>
- <li><%= tab_link_to Chouette::ConnectionLink, referential_connection_links_path(@referential) %></li>
- <li><%= tab_link_to Chouette::TimeTable, referential_time_tables_path(@referential) %></li>
- <li><%= tab_link_to ImportTask, referential_import_tasks_path(@referential) %></li>
- <li><%= tab_link_to Export, referential_exports_path(@referential) %></li>
- <li><%= tab_link_to ComplianceCheckTask, referential_compliance_check_tasks_path(@referential) %></li>
+ <li><%= link_to t("layouts.tabs.dashboard").capitalize, referential_path(@referential), :class => ("current" if current_page?(referential_path(@referential)) || request.path.start_with?(referential_rule_parameter_sets_path(@referential))) %></li>
+ <li><%= tab_link_to Chouette::Network, referential_networks_path(@referential) %></li>
+ <li><%= tab_link_to Chouette::Company, referential_companies_path(@referential) %></li>
+ <li><%= tab_link_to Chouette::GroupOfLine, referential_group_of_lines_path(@referential) %></li>
+ <li><%= tab_link_to Chouette::Line, referential_lines_path(@referential) %></li>
+ <li><%= tab_link_to Chouette::StopArea, referential_stop_areas_path(@referential) %></li>
+ <li><%= tab_link_to Chouette::ConnectionLink, referential_connection_links_path(@referential) %></li>
+ <li><%= tab_link_to Chouette::TimeTable, referential_time_tables_path(@referential) %></li>
+ <li><%= tab_link_to ImportTask, referential_import_tasks_path(@referential) %></li>
+ <li><%= tab_link_to Export, referential_exports_path(@referential) %></li>
+ <li><%= tab_link_to ComplianceCheckTask, referential_compliance_check_tasks_path(@referential) %></li>
<% end %>
</ul>
- </div>
</div>
<div id="body">
<div id="workspace" class="<%= controller_name %> <%= action_name %>">
diff --git a/app/views/lines/index.html.erb b/app/views/lines/index.html.erb
index 0eed3e63b..5a910d6e2 100644
--- a/app/views/lines/index.html.erb
+++ b/app/views/lines/index.html.erb
@@ -34,10 +34,10 @@
<span class="search"> <%= t("will_paginate.page_entries_info.search") %></span> <%= page_entries_info @lines %>
</div>
<div class="lines paginated_content">
- <%= render :partial => "line", :collection => @lines %>
+ <%= paginated_content(@lines) %>
</div>
<div class="pagination">
- <%= will_paginate @lines, :container => false %>
+ <%= will_paginate @lines, :container => false, renderer: BootstrapPagination::Rails %>
</div>
<% content_for :sidebar do %>
@@ -45,9 +45,9 @@
<li><%= link_to t('lines.actions.new'), new_referential_line_path(@referential), :class => "add" %></li>
</ul>
-<h3><%= t(".selection") %></h3>
+<h4><%= t(".selection") %></h4>
-<h4><%= Chouette::Company.model_name.human.pluralize %></h4>
+<h5><%= Chouette::Company.model_name.human.pluralize %></h5>
<ul class="selection">
<% @referential.companies.each do |company| %>
@@ -56,7 +56,7 @@
<li><%= link_with_search t(".selection_all"), {"company_id_eq" => nil}, :class => "all" %></li>
</ul>
-<h4><%= Chouette::Network.model_name.human.pluralize %></h4>
+<h5><%= Chouette::Network.model_name.human.pluralize %></h5>
<ul class="selection">
<% @referential.networks.each do |network| %>
@@ -66,7 +66,7 @@
</ul>
<% if @referential.group_of_lines.count > 0 %>
- <h4><%= Chouette::GroupOfLine.model_name.human.pluralize %></h4>
+ <h5><%= Chouette::GroupOfLine.model_name.human.pluralize %></h5>
<ul class="selection">
<% @referential.group_of_lines.each do |group_of_line| %>
@@ -77,7 +77,7 @@
<% end %>
<div id="multiple_selection_menu">
- <h3><%= t(".multi_selection") %> </h3>
+ <h4><%= t(".multi_selection") %> </h4>
<div class="disabled">
<a class="enable" href="#"><%= t(".multi_selection_enable") %></a>
</div>
diff --git a/app/views/lines/show.html.erb b/app/views/lines/show.html.erb
index 6b3fb84a7..d62be2066 100644
--- a/app/views/lines/show.html.erb
+++ b/app/views/lines/show.html.erb
@@ -53,16 +53,14 @@
<p class="after_map" />
<h3 class="routes"><%= t('.itineraries') %></h3>
-
<div class="routes paginated_content">
- <%= render :partial => "routes/route", :collection => @routes %>
+ <%= paginated_content @routes, "routes/route" %>
</div>
<% if @line.group_of_lines.any? %>
- <h3 class="line_group_of_lines"><%= t('.group_of_lines') %>
- </h3>
- <div class="group_of_lines_detail">
- <%= render :partial => "group_of_lines/group_of_line", :collection => @group_of_lines %>
+ <h3 class="line_group_of_lines"><%= t('.group_of_lines') %></h3>
+ <div class="group_of_lines paginated_content">
+ <%= paginated_content @group_of_lines, "group_of_lines/group_of_line" %>
</div>
<% end %>
diff --git a/app/views/networks/index.html.erb b/app/views/networks/index.html.erb
index f3502f1e6..704d9e9bb 100644
--- a/app/views/networks/index.html.erb
+++ b/app/views/networks/index.html.erb
@@ -1,21 +1,24 @@
<%= title_tag t('networks.index.title') %>
-
-<%= search_form_for @q, :url => referential_networks_path(@referential), :html => {:method => :get} do |f| %>
- <%= f.label :name_cont, "#{t('.name')} :" %>
- <%= f.text_field :name_cont %>
-
- <%= f.submit t('actions.search') %> <%= t("or") %>
- <%= link_to t("cancel"), referential_networks_path(@referential) %>
-<% end %>
+<div class="container-fluid">
+ <form class="navbar-form navbar-left" role="search">
+ <%= search_form_for @q, :url => referential_networks_path(@referential), :html => {:method => :get} do |f| %>
+ <div class="form-group">
+ <%= f.text_field :name_cont, :class => "form-control", :placeholder => "#{t('.name')}" %>
+ </div>
+ <%= f.submit t('actions.search'), :class => "btn btn-default" %> <%= t("or") %>
+ <%= link_to t("cancel"), referential_networks_path(@referential) %>
+ <% end %>
+ </form>
+</div>
<div class="page_info">
<span class="search"> <%= t("will_paginate.page_entries_info.search") %></span> <%= page_entries_info @networks %>
</div>
<div class="networks paginated_content">
- <%= render :partial => "network", :collection => @networks %>
+ <%= paginated_content(@networks) %>
</div>
<div class="pagination">
- <%= will_paginate @networks, :container => false %>
+ <%= will_paginate @networks, :container => false, renderer: BootstrapPagination::Rails %>
</div>
<% content_for :sidebar do %>
diff --git a/app/views/referentials/_form.erb b/app/views/referentials/_form.erb
index 58cefa925..60f5cacf3 100644
--- a/app/views/referentials/_form.erb
+++ b/app/views/referentials/_form.erb
@@ -1,11 +1,11 @@
-<%= semantic_form_for @referential do |form| %>
+<%= semantic_form_for @referential, :class => "form-horizontal" do |form| %>
<%= form.inputs do %>
<%= form.input :name %>
<% if @referential.new_record? %>
<%= form.input :slug%>
<% else %>
- <li>
- <label><%= @referential.human_attribute_name("slug") %></label>
+ <li class="input">
+ <label class="label" ><%= @referential.human_attribute_name("slug") %></label>
<%= @referential.slug %>
</li>
<% end %>
diff --git a/app/views/referentials/show.html.erb b/app/views/referentials/show.html.erb
index b2df5b2db..1e63ccf99 100644
--- a/app/views/referentials/show.html.erb
+++ b/app/views/referentials/show.html.erb
@@ -57,7 +57,7 @@
<br>
</ul>
- <h3><%= t('.clean_up') %></h3>
+ <h4><%= t('.clean_up') %></h4>
<%= render "clean" %>
diff --git a/app/views/routes/show.html.erb b/app/views/routes/show.html.erb
index 6642f2bd7..9c1913e51 100644
--- a/app/views/routes/show.html.erb
+++ b/app/views/routes/show.html.erb
@@ -57,26 +57,40 @@
</div>
<p class="after_map" />
-<h3 class="route_stop_points">
- <a class="stop_points"><%= t('.stop_points') %>
- <%= image_tag("icons/plus.png" , :class => "switcher") %>
- <%= image_tag("icons/minus.png" , :class => "switcher" , :style => "display: none;") %>
- </a>
- </h3>
-<div class="stop_points_detail" style="display: none;">
- <%= render :partial => "stop_points_detail" %>
-</div>
-<h3 class="route_journey_patterns">
- <a class="journey_patterns"><%= t('.journey_patterns') %>
- <%= image_tag("icons/plus.png" , :class => "switcher") %>
- <%= image_tag("icons/minus.png" , :class => "switcher" , :style => "display: none;") %>
- </a>
-</h3>
-<div class="journey_patterns content" style="display: none;">
- <%= render :partial => "journey_patterns/journey_pattern", :collection => @route.journey_patterns %>
+<div class="panel-group" id="accordion">
+ <div class="panel panel-default">
+ <div class="panel-heading">
+ <h4 class="panel-title">
+ <a data-toggle="collapse" data-parent="#accordion" href="#stop_points">
+ <%= t('.stop_points') %>
+ </a>
+ </h4>
+ </div>
+ <div id="stop_points" class="panel-collapse collapse">
+ <div class="panel-body">
+ <%= render :partial => "stop_points_detail" %>
+ </div>
+ </div>
+ </div>
</div>
+<div class="panel-group" id="accordion">
+ <div class="panel panel-default">
+ <div class="panel-heading">
+ <h4 class="panel-title">
+ <a data-toggle="collapse" data-parent="#accordion" href="#journey_patterns">
+ <%= t('.journey_patterns') %>
+ </a>
+ </h4>
+ </div>
+ <div id="journey_patterns" class="panel-collapse collapse">
+ <div class="panel-body">
+ <%= render :partial => "journey_patterns/journey_pattern", :collection => @route.journey_patterns %>
+ </div>
+ </div>
+ </div>
+</div>
<% content_for :sidebar do %>
<ul class="actions">
diff --git a/app/views/stop_areas/_form.html.erb b/app/views/stop_areas/_form.html.erb
index 279ab67f5..24800159a 100644
--- a/app/views/stop_areas/_form.html.erb
+++ b/app/views/stop_areas/_form.html.erb
@@ -1,37 +1,52 @@
-<%= semantic_form_for [@referential, @stop_area] do |form| %>
- <%= form.inputs do %>
- <%= form.input :id, :as => :hidden %>
- <%= form.input :name %>
- <%= form.input :stop_area_type, :as => :select, :input_html => { :disabled => !@stop_area.new_record? },
- :collection => Chouette::StopArea.stop_area_types, :include_blank => false, :member_label => Proc.new { |stop_area_type| t("area_types.label.#{stop_area_type}") } %>
- <%= form.input :registration_number %>
- <%= form.input :street_name %>
- <%= form.input :country_code %>
- <%= form.input :fare_code %>
- <%= form.input :nearest_topic_name %>
- <%= form.input :comment %>
- <% if !manage_itl %>
- <%= form.input :mobility_restricted_suitability,:as => :boolean %>
- <%= form.input :stairs_availability,:as => :boolean %>
- <%= form.input :lift_availability,:as => :boolean %>
- <%= form.inputs :name => t('stop_areas.show.geographic_data') do %>
- <% if ! @referential.projection_type_label.empty? %>
- <%= form.inputs :name => @referential.projection_type_label do %>
- <%= form.input :projection_x %>
- <%= form.input :projection_y %>
- <% end %>
+<div class="container-fluid">
+ <div class="col-md-8">
+ <%= semantic_form_for [@referential, @stop_area] do |form| %>
+ <%= form.inputs do %>
+ <%= form.input :id, :as => :hidden %>
+ <%= form.input :name %>
+ <%= form.input :stop_area_type, :as => :select, :input_html => { :disabled => !@stop_area.new_record? },
+ :collection => Chouette::StopArea.stop_area_types, :include_blank => false, :member_label => Proc.new { |stop_area_type| t("area_types.label.#{stop_area_type}") } %>
+ <% if ! @referential.projection_type_label.empty? %>
+ <div class="panel panel-default">
+ <div class="panel-heading">@referential.projection_type_label</div>
+ <div class="panel-body">
+ <%= form.input :projection_x %>
+ <%= form.input :projection_y %>
+ </div>
+ </div>
<% end %>
- <%= form.inputs :name => "WGS84" do %>
- <%= form.input :longitude %>
- <%= form.input :latitude %>
- <% end %>
- <% end %>
+ <div class="panel panel-default">
+ <div class="panel-heading">WGS84</div>
+ <div class="panel-body">
+ <%= form.input :longitude %>
+ <%= form.input :latitude %>
+ </div>
+ </div>
+ <%= form.input :registration_number %>
+ <%= form.input :street_name %>
+ <%= form.input :country_code %>
+ <%= form.input :fare_code %>
+ <%= form.input :nearest_topic_name %>
+ <%= form.input :comment, :as => :text %>
+
+ <% if !manage_itl %>
+ <%= form.input :mobility_restricted_suitability,:as => :boolean %>
+ <%= form.input :stairs_availability,:as => :boolean %>
+ <%= form.input :lift_availability,:as => :boolean %>
+ <% end %>
+
+ <%= form.input :objectid, :required => !@stop_area.new_record?, :input_html => { :disabled => !@stop_area.new_record? } %>
+ <% end %>
+
+ <%= form.actions do %>
+ <%= form.action :submit, :as => :button %>
+ <%= form.action :cancel, :as => :link %>
<% end %>
- <%= form.input :objectid, :required => !@stop_area.new_record?, :input_html => { :disabled => !@stop_area.new_record? } %>
<% end %>
- <%= form.actions do %>
- <%= form.action :submit, :as => :button %>
- <%= form.action :cancel, :as => :link %>
- <% end %>
-<% end %>
+ </div>
+ <div class="col-md-4">
+ <% if !manage_itl && @map %>
+ <%= @map.to_html %>
+ <% end %>
+ </div>
diff --git a/app/views/stop_areas/edit.html.erb b/app/views/stop_areas/edit.html.erb
index d08949104..10d937050 100644
--- a/app/views/stop_areas/edit.html.erb
+++ b/app/views/stop_areas/edit.html.erb
@@ -1,6 +1,3 @@
<%= title_tag t('stop_areas.edit.title', :stop_area => @stop_area.name ) %>
-<% if !manage_itl %>
- <%= @map.to_html %>
-<% end %>
<%= render "form" %>
diff --git a/app/views/stop_areas/index.html.erb b/app/views/stop_areas/index.html.erb
index 982895a29..5519ea55e 100644
--- a/app/views/stop_areas/index.html.erb
+++ b/app/views/stop_areas/index.html.erb
@@ -1,22 +1,25 @@
<%= title_tag t('stop_areas.index.title') %>
-<%= search_form_for @q, :url => referential_stop_areas_path(@referential), :html => {:method => :get} do |f| %>
- <%= f.label :name_or_country_code_cont, "#{t('.name_or_country_code')} :" %>
- <%= f.text_field :name_or_country_code_cont %>
- <%= f.hidden_field :area_type_eq %>
-
+<form class="navbar-form" role="search">
+ <%= search_form_for @q, :url => referential_stop_areas_path(@referential), :html => {:method => :get} do |f| %>
+ <div class="form-group">
+ <%= f.label :name_or_country_code_cont, "#{t('.name_or_country_code')} :" %>
+ <%= f.text_field :name_or_country_code_cont %>
+ <%= f.hidden_field :area_type_eq %>
+ </div>
<%= f.submit t('actions.search') %> <%= t("or") %>
<%= link_to t("cancel"), referential_stop_areas_path(@referential) %>
-<% end %>
+ <% end %>
+</form>
<div class="page_info">
<span class="search"> <%= t("will_paginate.page_entries_info.search") %></span> <%= page_entries_info @stop_areas %>
</div>
<div class="stop_areas paginated_content">
- <%= render :partial => "stop_area", :collection => @stop_areas %>
+ <%= paginated_content(@stop_areas) %>
</div>
<div class="pagination">
- <%= will_paginate @stop_areas, :container => false %>
+ <%= will_paginate @stop_areas, :container => false, renderer: BootstrapPagination::Rails %>
</div>
<% content_for :sidebar do %>
@@ -25,9 +28,9 @@
<li><%= link_to t('stop_areas.actions.default_geometry'), default_geometry_referential_stop_areas_path(@referential), :method => :put, :class => "calculator_edit" %></li>
</ul>
-<h3><%= t(".selection") %></h3>
+<h4><%= t(".selection") %></h4>
-<h4><%= t(".area_type") %></h4>
+<h5><%= t(".area_type") %></h5>
<ul class="selection">
<% Chouette::StopArea.stop_area_types.each do |area_type| %>
diff --git a/app/views/stop_areas/show.html.erb b/app/views/stop_areas/show.html.erb
index d4e812ace..25510b10f 100644
--- a/app/views/stop_areas/show.html.erb
+++ b/app/views/stop_areas/show.html.erb
@@ -93,7 +93,7 @@
<p class="after_map" />
<div class="genealogical">
- <%= render "stop_areas/genealogical" %>
+ <%= render "stop_areas/genealogical" %>
</div>
@@ -104,7 +104,7 @@
<h3><%= t('.access_points') %></h3>
<div class="access_points paginated_content">
- <%= render :partial => "access_points/access_point", :collection => @access_points %>
+ <%= paginated_content @access_points, "access_points/access_point" %>
</div>
</div>
<% end %>
@@ -119,7 +119,7 @@
</td></tr>
<% if manage_itl %>
<tr><td>
- <h3><%= t(".itl_managment") %></h3>
+ <h4><%= t(".itl_managment") %></h4>
<ul class="actions">
<li><%= link_to t('stop_areas.actions.add_routing_lines'), add_routing_lines_referential_stop_area_path(@referential, @stop_area), :class => "add_routing_lines" %></li>
<li><%= link_to t('stop_areas.actions.add_routing_stops'), add_routing_stops_referential_stop_area_path(@referential, @stop_area), :class => "add_routing_stops" %></li>
@@ -127,7 +127,7 @@
</td></tr>
<% else %>
<tr><td>
- <h3><%= t(".stop_managment") %></h3>
+ <h4><%= t(".stop_managment") %></h4>
<ul class="actions">
<li><%= link_to t('stop_areas.actions.select_parent'), select_parent_referential_stop_area_path(@referential, @stop_area), :class => "select_parent" %></li>
<% if manage_children %>
@@ -138,7 +138,7 @@
<% if manage_access_points %>
<tr><td>
- <h3><%= t(".access_managment") %></h3>
+ <h4><%= t(".access_managment") %></h4>
<ul class="actions">
<li><%= link_to t('access_points.actions.new'), new_referential_stop_area_access_point_path(@referential,@stop_area), :class => "add" %></li>
<li><%= link_to t('stop_areas.actions.manage_access_links'), access_links_referential_stop_area_path(@referential,@stop_area), :class => "select_parent" %></li>
diff --git a/app/views/time_tables/index.html.erb b/app/views/time_tables/index.html.erb
index 1ae58e393..d08476b79 100644
--- a/app/views/time_tables/index.html.erb
+++ b/app/views/time_tables/index.html.erb
@@ -12,10 +12,10 @@
<span class="search"> <%= t("will_paginate.page_entries_info.search") %></span> <%= page_entries_info @time_tables %>
</div>
<div class="time_tables paginated_content">
- <%= render :partial => "time_table", :collection => @time_tables %>
+ <%= paginated_content(@time_tables) %>
</div>
<div class="pagination">
- <%= will_paginate @time_tables, :container => false %>
+ <%= will_paginate @time_tables, :container => false, renderer: BootstrapPagination::Rails %>
</div>
diff --git a/app/views/vehicle_journeys/_time_table.html.erb b/app/views/vehicle_journeys/_time_table.html.erb
index 5879b7f69..61043ab3b 100644
--- a/app/views/vehicle_journeys/_time_table.html.erb
+++ b/app/views/vehicle_journeys/_time_table.html.erb
@@ -10,11 +10,6 @@
<% end %>
<% end %> -
<%= bounding_info(time_table) %>
- <!--
- <div class="actions">
- <%= link_to t("actions.edit"), edit_referential_time_table_path(@referential, time_table), :class => "edit" %>
- </div>
- -->
</div>
<% end %>
diff --git a/app/views/vehicle_journeys/index.html.erb b/app/views/vehicle_journeys/index.html.erb
index 6f650892d..d32c9f02f 100644
--- a/app/views/vehicle_journeys/index.html.erb
+++ b/app/views/vehicle_journeys/index.html.erb
@@ -17,10 +17,10 @@
<span class="search"> <%= t("will_paginate.page_entries_info.search") %></span> <%= page_entries_info @vehicle_journeys %>
</div>
<div class="pagination">
- <%= will_paginate @vehicle_journeys, :container => false %>
+ <%= will_paginate @vehicle_journeys, :container => false, renderer: BootstrapPagination::Rails %>
</div>
<div class="vehicle_journeys paginated_content">
- <table>
+ <table class="table table-hover">
<thead>
<tr>
<th class="title"><%= Chouette::JourneyPattern.model_name.human.pluralize %> :</th>
@@ -58,7 +58,7 @@
</table>
</div>
<div class="pagination">
- <%= will_paginate @vehicle_journeys, :container => false %>
+ <%= will_paginate @vehicle_journeys, :container => false, renderer: BootstrapPagination::Rails %>
</div>
<% content_for :sidebar do %>
<ul class="actions">
@@ -69,9 +69,9 @@
<%= link_to t('.timeless'), timeless_referential_line_route_vehicle_journeys_path(@referential, @line, @route), :class => "link" %>
</li>
</ul>
- <h3><%= t(".selection") %></h3>
+ <h4><%= t(".selection") %></h4>
- <h4><%= Chouette::JourneyPattern.model_name.human.pluralize %></h4>
+ <h5><%= Chouette::JourneyPattern.model_name.human.pluralize %></h5>
<ul class="selection">
<% @route.journey_patterns.each do |journey_pattern| %>
@@ -80,7 +80,7 @@
<li><%= link_with_search t(".selection_all"), {"journey_pattern_id_eq" => nil}, :class => "all" %></li>
</ul>
- <h4><%= Chouette::TimeTable.model_name.human.pluralize %></h4>
+ <h5><%= Chouette::TimeTable.model_name.human.pluralize %></h5>
<ul class="selection">
<% @route.time_tables.each do |time_table| %>
diff --git a/app/views/vehicle_journeys/show.html.erb b/app/views/vehicle_journeys/show.html.erb
index b6203c2bc..e083e81e6 100644
--- a/app/views/vehicle_journeys/show.html.erb
+++ b/app/views/vehicle_journeys/show.html.erb
@@ -44,50 +44,41 @@
</p>
</div>
</div>
-<h3>
-<a class="vehicle_journey_at_stops"><%= @vehicle_journey.human_attribute_name(:vehicle_journey_at_stop_ids) %>
- <%= image_tag("icons/plus.png" , :class => "switcher") %>
- <%= image_tag("icons/minus.png" , :class => "switcher" , :style => "display: none;") %>
-</a>
-</h3>
-<div class="vehicle_journey_at_stops content" style="display: none;">
- <table border="0" >
- <thead>
- <tr>
- <th class="hour title"><%= t('.arrival') %></th>
- <th class="stop title" ><%= t('.stop_title') %></th>
- <th class="hour title"><%= t('.departure') %></th>
- </tr>
- <thead>
- <tbody>
- <% @vehicle_journey.vehicle_journey_at_stops.each_with_index do |vjas, index| %>
- <tr class="<%= index%2==0 ? "odd" : "even" %>">
- <td class="hour <%= vjas.arrival_time.nil? ? "missing" : "" %>"><%= vjas.arrival_time ? l( vjas.arrival_time, :format => :hour) : "" %></td>
- <td><%= link_to vjas.stop_point.stop_area.name, [@referential, vjas.stop_point.stop_area] %></td>
- <td class="hour <%= vjas.departure_time.nil? ? "missing" : "" %>"><%= vjas.departure_time ? l( vjas.departure_time, :format => :hour) : "" %></td>
+<h3><%= @vehicle_journey.human_attribute_name(:vehicle_journey_at_stop_ids) %></h3>
+<div class="vehicle_journey_at_stops content">
+ <table class="table table-hover">
+ <thead>
+ <tr>
+ <th class="hour title"><%= t('.arrival') %></th>
+ <th class="stop title" ><%= t('.stop_title') %></th>
+ <th class="hour title"><%= t('.departure') %></th>
</tr>
- <% end %>
- </tbody>
+ <thead>
+ <tbody>
+ <% @vehicle_journey.vehicle_journey_at_stops.each_with_index do |vjas, index| %>
+ <tr class="<%= index%2==0 ? "odd" : "even" %>">
+ <td class="hour <%= vjas.arrival_time.nil? ? "missing" : "" %>"><%= vjas.arrival_time ? l( vjas.arrival_time, :format => :hour) : "" %></td>
+ <td><%= link_to vjas.stop_point.stop_area.name, [@referential, vjas.stop_point.stop_area] %></td>
+ <td class="hour <%= vjas.departure_time.nil? ? "missing" : "" %>"><%= vjas.departure_time ? l( vjas.departure_time, :format => :hour) : "" %></td>
+ </tr>
+ <% end %>
+ </tbody>
</table>
</div>
-<h3>
-<a class="vehicle_journey_time_tables"><%= t('.time_tables') %>
- <%= image_tag("icons/plus.png" , :class => "switcher") %>
- <%= image_tag("icons/minus.png" , :class => "switcher" , :style => "display: none;") %>
-</a>
-</h3>
-<div class="vehicle_journey_time_tables content" style="display: none;">
- <%= render :partial => "vehicle_journeys/time_table", :collection => @vehicle_journey.time_tables %>
- </div>
- <% content_for :sidebar do %>
+<h3><%= t('.time_tables') %></h3>
+<div class="time_tables paginated_content">
+ <%= paginated_content @vehicle_journey.time_tables, "time_table" %>
+</div>
+
+<% content_for :sidebar do %>
<ul class="actions">
<li><%= link_to t('vehicle_journeys.actions.edit'), edit_referential_line_route_vehicle_journey_path(@referential, @line, @route, @vehicle_journey), :class => "edit" %></li>
<li><%= link_to t('vehicle_journeys.actions.destroy'), referential_line_route_vehicle_journey_path(@referential, @line, @route, @vehicle_journey), :method => :delete, :data => {:confirm => t('vehicle_journeys.actions.destroy_confirm')}, :class => "remove" %></li>
</ul>
<% unless @vehicle_journey.vehicle_journey_at_stops.empty? ||
@vehicle_journey.vehicle_journey_at_stops.any? { |vjas| vjas.departure_time.nil? } %>
- <h3><%= t('.translation_form') %></h3>
+ <h4><%= t('.translation_form') %></h4>
<div id="compact_form" >
<%= semantic_form_for [@referential, @line, @route, @vehicle_journey, VehicleTranslation.new] do |form| %>
<%= form.inputs do %>
diff --git a/config/locales/devise.en.yml b/config/locales/devise.en.yml
index 73df488c3..d01f375c5 100644
--- a/config/locales/devise.en.yml
+++ b/config/locales/devise.en.yml
@@ -1,57 +1,59 @@
# Additional translations at https://github.com/plataformatec/devise/wiki/I18n
en:
+ devise:
+ confirmations:
+ confirmed: "Your account was successfully confirmed. You are now signed in."
+ send_instructions: "You will receive an email with instructions about how to confirm your account in a few minutes."
+ send_paranoid_instructions: "If your email address exists in our database, you will receive an email with instructions about how to confirm your account in a few minutes."
+ failure:
+ already_authenticated: "You are already signed in."
+ inactive: "Your account was not activated yet."
+ invalid: "Invalid email or password."
+ invalid_token: "Invalid authentication token."
+ locked: "Your account is locked."
+ not_found_in_database: "Invalid email or password."
+ timeout: "Your session expired, please sign in again to continue."
+ unauthenticated: "You need to sign in or sign up before continuing."
+ unconfirmed: "You have to confirm your account before continuing."
+ mailer:
+ confirmation_instructions:
+ subject: "Confirmation instructions"
+ reset_password_instructions:
+ subject: "Reset password instructions"
+ unlock_instructions:
+ subject: "Unlock Instructions"
+ omniauth_callbacks:
+ failure: "Could not authenticate you from %{kind} because \"%{reason}\"."
+ success: "Successfully authenticated from %{kind} account."
+ passwords:
+ no_token: "You can't access this page without coming from a password reset email. If you do come from a password reset email, please make sure you used the full URL provided."
+ send_instructions: "You will receive an email with instructions about how to reset your password in a few minutes."
+ send_paranoid_instructions: "If your email address exists in our database, you will receive a password recovery link at your email address in a few minutes."
+ updated: "Your password was changed successfully. You are now signed in."
+ updated_not_active: "Your password was changed successfully."
+ registrations:
+ destroyed: "Bye! Your account was successfully cancelled. We hope to see you again soon."
+ signed_up: "Welcome! You have signed up successfully."
+ signed_up_but_inactive: "You have signed up successfully. However, we could not sign you in because your account is not yet activated."
+ signed_up_but_locked: "You have signed up successfully. However, we could not sign you in because your account is locked."
+ signed_up_but_unconfirmed: "A message with a confirmation link has been sent to your email address. Please open the link to activate your account."
+ update_needs_confirmation: "You updated your account successfully, but we need to verify your new email address. Please check your email and click on the confirm link to finalize confirming your new email address."
+ updated: "You updated your account successfully."
+ sessions:
+ signed_in: "Signed in successfully."
+ signed_out: "Signed out successfully."
+ unlocks:
+ send_instructions: "You will receive an email with instructions about how to unlock your account in a few minutes."
+ send_paranoid_instructions: "If your account exists, you will receive an email with instructions about how to unlock it in a few minutes."
+ unlocked: "Your account has been unlocked successfully. Please sign in to continue."
errors:
messages:
+ already_confirmed: "was already confirmed, please try signing in"
+ confirmation_period_expired: "needs to be confirmed within %{period}, please request a new one"
expired: "has expired, please request a new one"
not_found: "not found"
- already_confirmed: "was already confirmed, please try signing in"
not_locked: "was not locked"
not_saved:
one: "1 error prohibited this %{resource} from being saved:"
other: "%{count} errors prohibited this %{resource} from being saved:"
-
- devise:
- failure:
- already_authenticated: 'You are already signed in.'
- unauthenticated: 'You need to sign in or sign up before continuing.'
- unconfirmed: 'You have to confirm your account before continuing.'
- locked: 'Your account is locked.'
- invalid: 'Invalid email or password.'
- invalid_token: 'Invalid authentication token.'
- timeout: 'Your session expired, please sign in again to continue.'
- inactive: 'Your account was not activated yet.'
- sessions:
- signed_in: 'Signed in successfully.'
- signed_out: 'Signed out successfully.'
- passwords:
- send_instructions: 'You will receive an email with instructions about how to reset your password in a few minutes.'
- updated: 'Your password was changed successfully. You are now signed in.'
- updated_not_active: 'Your password was changed successfully.'
- send_paranoid_instructions: "If your e-mail exists on our database, you will receive a password recovery link on your e-mail"
- confirmations:
- send_instructions: 'You will receive an email with instructions about how to confirm your account in a few minutes.'
- send_paranoid_instructions: 'If your e-mail exists on our database, you will receive an email with instructions about how to confirm your account in a few minutes.'
- confirmed: 'Your account was successfully confirmed. You are now signed in.'
- registrations:
- signed_up: 'Welcome! You have signed up successfully.'
- signed_up_but_unconfirmed: 'A message with a confirmation link has been sent to your email address. Please open the link to activate your account.'
- signed_up_but_inactive: 'You have signed up successfully. However, we could not sign you in because your account is not yet activated.'
- signed_up_but_locked: 'You have signed up successfully. However, we could not sign you in because your account is locked.'
- updated: 'You updated your account successfully.'
- update_needs_confirmation: "You updated your account successfully, but we need to verify your new email address. Please check your email and click on the confirm link to finalize confirming your new email address."
- destroyed: 'Bye! Your account was successfully cancelled. We hope to see you again soon.'
- unlocks:
- send_instructions: 'You will receive an email with instructions about how to unlock your account in a few minutes.'
- unlocked: 'Your account has been unlocked successfully. Please sign in to continue.'
- send_paranoid_instructions: 'If your account exists, you will receive an email with instructions about how to unlock it in a few minutes.'
- omniauth_callbacks:
- success: 'Successfully authorized from %{kind} account.'
- failure: 'Could not authorize you from %{kind} because "%{reason}".'
- mailer:
- confirmation_instructions:
- subject: 'Confirmation instructions'
- reset_password_instructions:
- subject: 'Reset password instructions'
- unlock_instructions:
- subject: 'Unlock Instructions'
diff --git a/config/locales/devise.fr.yml b/config/locales/devise.fr.yml
index 7fc3ff5ee..27b338de3 100644
--- a/config/locales/devise.fr.yml
+++ b/config/locales/devise.fr.yml
@@ -1,5 +1,64 @@
+# Additional translations at https://github.com/plataformatec/devise/wiki/I18n
+
+
fr:
devise:
+ confirmations:
+ confirmed: 'Votre compte a été validé.'
+ send_instructions: 'Vous allez recevoir les instructions nécessaires à la confirmation de votre compte dans quelques minutes.'
+ send_paranoid_instructions: 'Si votre e-mail existe dans notre base de données, vous allez bientôt recevoir un e-mail contenant les instructions de confirmation de votre compte.'
+ failure:
+ already_authenticated: "Vous êtes déjà connecté !"
+ inactive: "Votre compte n'est pas encore activé."
+ invalid: "Email ou mot de passe incorrect."
+ invalid_token: "Jeton d'authentification incorrect."
+ locked: "Votre compte est verrouillé."
+ not_found_in_database: "Email ou mot de passe invalide."
+ timeout: "Votre session est expirée, veuillez vous reconnecter pour continuer."
+ unauthenticated: "Vous devez vous connecter ou vous inscrire pour continuer."
+ unconfirmed: "Vous devez valider votre compte pour continuer."
+ mailer:
+ confirmation_instructions:
+ subject: "Instructions de confirmation"
+ reset_password_instructions:
+ subject: "Instructions pour changer le mot de passe"
+ unlock_instructions:
+ subject: "Instructions pour déverrouiller le compte"
+ omniauth_callbacks:
+ failure: "Nous n'avons pas pu vous authentifier via %{kind} : '%{reason}'."
+ success: 'Authentifié avec succès via %{kind}.'
+ passwords:
+ no_token: "Vous ne pouvez accéder à cette page sans passer par un e-mail de réinitialisation de mot de passe. Si vous êtes passé par un e-mail de ce type, assurez-vous d'utiliser l'URL complète."
+ send_instructions: 'Vous allez recevoir les instructions de réinitialisation du mot de passe dans quelques instants'
+ send_paranoid_instructions: "Si votre e-mail existe dans notre base de données, vous allez recevoir un lien de réinitialisation par e-mail"
+ updated: 'Votre mot de passe a été édité avec succès, vous êtes maintenant connecté'
+ updated_not_active: 'Votre mot de passe a été changé avec succès.'
+ registrations:
+ destroyed: 'Votre compte a été supprimé avec succès. Nous espérons vous revoir bientôt.'
+ signed_up: 'Bienvenu, vous êtes connecté'
+ signed_up_but_inactive: "Vous êtes bien enregistré. Vous ne pouvez cependant pas vous connecter car votre compte n'est pas encore activé."
+ signed_up_but_locked: "Vous êtes bien enregistré. Vous ne pouvez cependant pas vous connecter car votre compte est verrouillé."
+ signed_up_but_unconfirmed: 'Un message contenant un lien de confirmation a été envoyé à votre adresse email. Ouvrez ce lien pour activer votre compte.'
+ update_needs_confirmation: "Votre compte a bien été mis à jour mais nous devons vérifier votre nouvelle adresse email. Merci de vérifier vos emails et de cliquer sur le lien de confirmation pour finaliser la validation de votre nouvelle adresse."
+ updated: 'Votre compte a été modifié avec succès.'
+ sessions:
+ signed_in: "Connecté."
+ signed_out: "Déconnecté."
+ unlocks:
+ send_instructions: 'Vous allez recevoir les instructions nécessaires au déverrouillage de votre compte dans quelques instants'
+ send_paranoid_instructions: 'Si votre compte existe, vous allez bientôt recevoir un email contenant les instructions pour le déverrouiller.'
+ unlocked: 'Votre compte a été déverrouillé avec succès, vous êtes maintenant connecté.'
+ errors:
+ messages:
+ already_confirmed: "a déjà été validé(e)"
+ confirmation_period_expired: "à confirmer dans les %{period}, merci de faire une nouvelle demande"
+ expired: "a expiré, merci d'en faire une nouvelle demande"
+ not_found: "n'a pas été trouvé(e)"
+ not_locked: "n'était pas verrouillé(e)"
+ not_saved:
+ one: "1 erreur a empêché ce(tte) %{resource} d'être sauvegardé(e) :"
+ other: "%{count} erreurs ont empêché ce(tte) %{resource} d'être sauvegardé(e) :"
+ devise:
mailer:
invitation_instructions:
subject: "Invitation sur l'application Chouette"
diff --git a/config/locales/devise_invitable.en.yml b/config/locales/devise_invitable.en.yml
new file mode 100644
index 000000000..e5024e605
--- /dev/null
+++ b/config/locales/devise_invitable.en.yml
@@ -0,0 +1,21 @@
+en:
+ devise:
+ invitations:
+ send_instructions: 'An invitation email has been sent to %{email}.'
+ invitation_token_invalid: 'The invitation token provided is not valid!'
+ updated: 'Your password was set successfully. You are now signed in.'
+ no_invitations_remaining: "No invitations remaining"
+ invitation_removed: 'Your invitation was removed.'
+ new:
+ header: "Send invitation"
+ submit_button: "Send an invitation"
+ edit:
+ header: "Set your password"
+ submit_button: "Set my password"
+ mailer:
+ invitation_instructions:
+ subject: 'Invitation instructions'
+ hello: 'Hello %{email}'
+ someone_invited_you: 'Someone has invited you to %{url}, you can accept it through the link below.'
+ accept: 'Accept invitation'
+ ignore: "If you don't want to accept the invitation, please ignore this email.<br />Your account won't be created until you access the link above and set your password." \ No newline at end of file
diff --git a/config/locales/devise_invitable.fr.yml b/config/locales/devise_invitable.fr.yml
new file mode 100644
index 000000000..23a88aa16
--- /dev/null
+++ b/config/locales/devise_invitable.fr.yml
@@ -0,0 +1,21 @@
+fr:
+ devise:
+ invitations:
+ send_instructions: "Un email d'invitation a été envoyé à %{email}."
+ invitation_token_invalid: "L'invitation fourni n'est pas valide!"
+ updated: 'Votre mot de passe a été enregistré avec succés. Vous êtes maintenant connecté.'
+ no_invitations_remaining: "Pas d'invitations restantes."
+ invitation_removed: 'Votre invitation a été supprimé.'
+ new:
+ header: "Envoyer une invitation"
+ submit_button: "Envoyer une invitation"
+ edit:
+ header: "Entrer votre mot de passe"
+ submit_button: "Valider mon mot de passe"
+ mailer:
+ invitation_instructions:
+ subject: "Invitation sur l'appication Chouette"
+ hello: 'Bonjour %{email}'
+ someone_invited_you: "Ce message est une invitation pour accéder à %{url}, , vous pouvez l'accepter en cliquant sur le lien suivant :"
+ accept: "Accepter l'invitation"
+ ignore: "Si vous ne souhaitez pas accepter cette invitation, ignorez ce message.<br />Votre compte ne sera pas créé tant que vous n'accédez pas au lien ci-dessus et que vous ne définissez un mot de passe." \ No newline at end of file
diff --git a/config/locales/journey_patterns.yml b/config/locales/journey_patterns.yml
index e4a961f4e..3c781d656 100644
--- a/config/locales/journey_patterns.yml
+++ b/config/locales/journey_patterns.yml
@@ -24,9 +24,9 @@ en:
activerecord:
models:
journey_pattern:
- zero: "journey pattern"
- one: "journey pattern"
- other: "journey patterns"
+ zero: "Journey pattern"
+ one: "Journey pattern"
+ other: "Journey patterns"
attributes:
journey_pattern:
route: "Route"
@@ -70,9 +70,9 @@ fr:
activerecord:
models:
journey_pattern:
- zero: "mission"
- one: "mission"
- other: "missions"
+ zero: "Mission"
+ one: "Mission"
+ other: "Missions"
attributes:
journey_pattern:
route: "Séquence d'arrêts"
diff --git a/config/locales/time_tables.yml b/config/locales/time_tables.yml
index 5e54bff90..85d268daf 100644
--- a/config/locales/time_tables.yml
+++ b/config/locales/time_tables.yml
@@ -37,9 +37,9 @@ en:
activerecord:
models:
time_table:
- zero: "timetable"
- one: "timetable"
- other: "timetables"
+ zero: "Timetable"
+ one: "Timetable"
+ other: "Timetables"
attributes:
time_table:
comment: "Comment"
@@ -108,9 +108,9 @@ fr:
activerecord:
models:
time_table:
- zero: "calendrier"
- one: "calendrier"
- other: "calendriers"
+ zero: "Calendrier"
+ one: "Calendrier"
+ other: "Calendriers"
attributes:
time_table:
comment: "Description"