decidim 0.4.4 → 0.5.0

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of decidim might be problematic. Click here for more details.

Files changed (1154) hide show
  1. checksums.yaml +4 -4
  2. data/.babelrc +1 -1
  3. data/.circleci/config.yml +1 -1
  4. data/.codeclimate.yml +4 -11
  5. data/.dockerignore +1 -1
  6. data/.editorconfig +9 -0
  7. data/.gitattributes +2 -0
  8. data/.rubocop.yml +1 -0
  9. data/.simplecov +12 -0
  10. data/.yardopts +1 -1
  11. data/CHANGELOG.md +31 -1
  12. data/Gemfile.lock +91 -87
  13. data/Rakefile +0 -1
  14. data/codecov.yml +3 -0
  15. data/decidim-admin/app/assets/javascripts/decidim/admin/application.js.es6 +3 -0
  16. data/decidim-admin/app/assets/javascripts/decidim/admin/participatory_processes.js.es6 +12 -0
  17. data/decidim-admin/app/assets/javascripts/decidim/admin/scopes.js.es6 +20 -0
  18. data/decidim-admin/app/assets/javascripts/decidim/admin/select2.js.es6 +8 -0
  19. data/decidim-admin/app/assets/stylesheets/decidim/admin/_decidim.scss +2 -0
  20. data/decidim-admin/app/assets/stylesheets/decidim/admin/extra/_categories.scss +1 -1
  21. data/decidim-admin/app/assets/stylesheets/decidim/admin/extra/_login.scss +1 -1
  22. data/decidim-admin/app/assets/stylesheets/decidim/admin/extra/_sort.scss +1 -1
  23. data/decidim-admin/app/assets/stylesheets/decidim/admin/modules/_buttons.scss +3 -0
  24. data/decidim-admin/app/assets/stylesheets/decidim/admin/modules/_callouts.scss +0 -1
  25. data/decidim-admin/app/assets/stylesheets/decidim/admin/modules/_cards.scss +47 -0
  26. data/decidim-admin/app/assets/stylesheets/decidim/admin/modules/_secondary-nav.scss +2 -2
  27. data/decidim-admin/app/assets/stylesheets/decidim/admin/modules/_typography.scss +1 -1
  28. data/decidim-admin/app/assets/stylesheets/decidim/admin/plugins/_select2.scss +27 -0
  29. data/decidim-admin/app/assets/stylesheets/decidim/admin/utils/_toggle-expand.scss +1 -1
  30. data/decidim-admin/app/commands/decidim/admin/close_session_managed_user.rb +44 -0
  31. data/decidim-admin/app/commands/decidim/admin/create_feature.rb +2 -1
  32. data/decidim-admin/app/commands/decidim/admin/create_managed_user.rb +61 -0
  33. data/decidim-admin/app/commands/decidim/admin/create_scope.rb +7 -2
  34. data/decidim-admin/app/commands/decidim/admin/create_scope_type.rb +40 -0
  35. data/decidim-admin/app/commands/decidim/admin/impersonate_managed_user.rb +61 -0
  36. data/decidim-admin/app/commands/decidim/admin/promote_managed_user.rb +56 -0
  37. data/decidim-admin/app/commands/decidim/admin/update_participatory_process.rb +3 -1
  38. data/decidim-admin/app/commands/decidim/admin/update_scope.rb +4 -1
  39. data/decidim-admin/app/commands/decidim/admin/update_scope_type.rb +45 -0
  40. data/decidim-admin/app/controllers/decidim/admin/application_controller.rb +2 -1
  41. data/decidim-admin/app/controllers/decidim/admin/categories_controller.rb +3 -3
  42. data/decidim-admin/app/controllers/decidim/admin/exports_controller.rb +1 -1
  43. data/decidim-admin/app/controllers/decidim/admin/managed_users/impersonations_controller.rb +78 -0
  44. data/decidim-admin/app/controllers/decidim/admin/managed_users/promotions_controller.rb +43 -0
  45. data/decidim-admin/app/controllers/decidim/admin/managed_users_controller.rb +69 -0
  46. data/decidim-admin/app/controllers/decidim/admin/moderations_controller.rb +4 -4
  47. data/decidim-admin/app/controllers/decidim/admin/newsletters_controller.rb +1 -1
  48. data/decidim-admin/app/controllers/decidim/admin/participatory_processes_controller.rb +0 -5
  49. data/decidim-admin/app/controllers/decidim/admin/scope_types_controller.rb +79 -0
  50. data/decidim-admin/app/controllers/decidim/admin/scopes_controller.rb +22 -7
  51. data/decidim-admin/app/controllers/decidim/admin/user_groups_controller.rb +1 -1
  52. data/decidim-admin/app/controllers/decidim/admin/users_controller.rb +1 -2
  53. data/decidim-admin/app/forms/decidim/admin/impersonate_managed_user_form.rb +20 -0
  54. data/decidim-admin/app/forms/decidim/admin/managed_user_form.rb +35 -0
  55. data/decidim-admin/app/forms/decidim/admin/managed_user_promotion_form.rb +13 -0
  56. data/decidim-admin/app/forms/decidim/admin/participatory_process_form.rb +2 -0
  57. data/decidim-admin/app/forms/decidim/admin/scope_form.rb +17 -6
  58. data/decidim-admin/app/forms/decidim/admin/scope_type_form.rb +21 -0
  59. data/decidim-admin/app/helpers/decidim/admin/scopes_helper.rb +46 -0
  60. data/decidim-admin/app/helpers/decidim/admin/settings_helper.rb +12 -1
  61. data/decidim-admin/app/jobs/decidim/admin/expire_impersonation_job.rb +16 -0
  62. data/decidim-admin/app/models/decidim/admin/abilities/admin_ability.rb +17 -0
  63. data/decidim-admin/app/models/decidim/admin/abilities/user_manager_ability.rb +30 -0
  64. data/decidim-admin/app/views/decidim/admin/categories/_form.html.erb +1 -1
  65. data/decidim-admin/app/views/decidim/admin/categories/edit.html.erb +1 -1
  66. data/decidim-admin/app/views/decidim/admin/categories/index.html.erb +7 -7
  67. data/decidim-admin/app/views/decidim/admin/categories/new.html.erb +1 -1
  68. data/decidim-admin/app/views/decidim/admin/features/_form.html.erb +6 -3
  69. data/decidim-admin/app/views/decidim/admin/features/_settings_fields.html.erb +2 -1
  70. data/decidim-admin/app/views/decidim/admin/managed_users/_form.html.erb +12 -0
  71. data/decidim-admin/app/views/decidim/admin/managed_users/impersonations/_form.html.erb +10 -0
  72. data/decidim-admin/app/views/decidim/admin/managed_users/impersonations/index.html.erb +34 -0
  73. data/decidim-admin/app/views/decidim/admin/managed_users/impersonations/new.html.erb +15 -0
  74. data/decidim-admin/app/views/decidim/admin/managed_users/index.html.erb +44 -0
  75. data/decidim-admin/app/views/decidim/admin/managed_users/new.html.erb +47 -0
  76. data/decidim-admin/app/views/decidim/admin/managed_users/promotions/_form.html.erb +3 -0
  77. data/decidim-admin/app/views/decidim/admin/managed_users/promotions/new.html.erb +21 -0
  78. data/decidim-admin/app/views/decidim/admin/moderations/index.html.erb +4 -4
  79. data/decidim-admin/app/views/decidim/admin/participatory_process_copies/_form.html.erb +1 -1
  80. data/decidim-admin/app/views/decidim/admin/participatory_process_user_roles/edit.html.erb +1 -1
  81. data/decidim-admin/app/views/decidim/admin/participatory_processes/_form.html.erb +13 -8
  82. data/decidim-admin/app/views/decidim/admin/participatory_processes/index.html.erb +1 -1
  83. data/decidim-admin/app/views/decidim/admin/scope_types/_form.html.erb +7 -0
  84. data/decidim-admin/app/views/decidim/admin/scope_types/edit.html.erb +13 -0
  85. data/decidim-admin/app/views/decidim/admin/scope_types/index.html.erb +40 -0
  86. data/decidim-admin/app/views/decidim/admin/scope_types/new.html.erb +13 -0
  87. data/decidim-admin/app/views/decidim/admin/scopes/_form.html.erb +12 -2
  88. data/decidim-admin/app/views/decidim/admin/scopes/index.html.erb +19 -7
  89. data/decidim-admin/app/views/decidim/admin/scopes/new.html.erb +1 -1
  90. data/decidim-admin/app/views/decidim/admin/users/_form.html.erb +4 -0
  91. data/decidim-admin/app/views/decidim/admin/users/index.html.erb +2 -0
  92. data/decidim-admin/app/views/layouts/decidim/admin/newsletters.erb +1 -1
  93. data/decidim-admin/app/views/layouts/decidim/admin/pages.html.erb +1 -1
  94. data/decidim-admin/app/views/layouts/decidim/admin/participatory_process.html.erb +4 -4
  95. data/decidim-admin/app/views/layouts/decidim/admin/participatory_process_groups.html.erb +1 -1
  96. data/decidim-admin/app/views/layouts/decidim/admin/settings.html.erb +4 -1
  97. data/decidim-admin/app/views/layouts/decidim/admin/users.html.erb +8 -3
  98. data/decidim-admin/config/i18n-tasks.yml +2 -1
  99. data/decidim-admin/config/locales/ca.yml +80 -3
  100. data/decidim-admin/config/locales/en.yml +82 -2
  101. data/decidim-admin/config/locales/es.yml +80 -3
  102. data/decidim-admin/config/locales/eu.yml +44 -7
  103. data/decidim-admin/config/locales/fi.yml +0 -7
  104. data/decidim-admin/config/locales/fr.yml +21 -6
  105. data/decidim-admin/config/locales/it.yml +0 -10
  106. data/decidim-admin/config/locales/nl.yml +1 -1
  107. data/decidim-admin/config/locales/pl.yml +7 -0
  108. data/decidim-admin/config/routes.rb +24 -11
  109. data/decidim-admin/decidim-admin.gemspec +1 -0
  110. data/decidim-admin/lib/decidim/admin/engine.rb +6 -3
  111. data/decidim-admin/lib/decidim/admin/test/manage_attachments_examples.rb +77 -79
  112. data/decidim-admin/spec/commands/close_session_managed_user_spec.rb +33 -0
  113. data/decidim-admin/spec/commands/create_category_spec.rb +1 -1
  114. data/decidim-admin/spec/commands/create_feature_spec.rb +6 -0
  115. data/decidim-admin/spec/commands/create_managed_user_spec.rb +68 -0
  116. data/decidim-admin/spec/commands/create_newsletter_spec.rb +1 -1
  117. data/decidim-admin/spec/commands/create_scope_spec.rb +35 -2
  118. data/decidim-admin/spec/commands/create_scope_type_spec.rb +39 -0
  119. data/decidim-admin/spec/commands/create_static_page_spec.rb +1 -1
  120. data/decidim-admin/spec/commands/deliver_newsletter_spec.rb +1 -1
  121. data/decidim-admin/spec/commands/destroy_category_spec.rb +1 -1
  122. data/decidim-admin/spec/commands/impersonate_managed_user_spec.rb +75 -0
  123. data/decidim-admin/spec/commands/promote_managed_user_spec.rb +66 -0
  124. data/decidim-admin/spec/commands/update_category_spec.rb +1 -1
  125. data/decidim-admin/spec/commands/update_newsletter_spec.rb +1 -1
  126. data/decidim-admin/spec/commands/update_organization_spec.rb +1 -2
  127. data/decidim-admin/spec/commands/update_participatory_process_spec.rb +2 -2
  128. data/decidim-admin/spec/commands/update_scope_spec.rb +26 -2
  129. data/decidim-admin/spec/commands/update_scope_type_spec.rb +44 -0
  130. data/decidim-admin/spec/commands/update_static_page_spec.rb +1 -1
  131. data/decidim-admin/spec/features/admin_invite_spec.rb +1 -3
  132. data/decidim-admin/spec/features/admin_manages_features_spec.rb +52 -0
  133. data/decidim-admin/spec/features/admin_manages_managed_users_spec.rb +15 -0
  134. data/decidim-admin/spec/features/admin_manages_organization_admins_spec.rb +24 -1
  135. data/decidim-admin/spec/features/admin_manages_organization_scopes_spec.rb +39 -5
  136. data/decidim-admin/spec/features/admin_manages_participatory_process_groups_spec.rb +1 -2
  137. data/decidim-admin/spec/features/admin_manages_participatory_processes_spec.rb +2 -2
  138. data/decidim-admin/spec/features/admin_manages_user_groups_spec.rb +3 -2
  139. data/decidim-admin/spec/features/participatory_process_admin_manages_participatory_process_admins_spec.rb +1 -1
  140. data/decidim-admin/spec/features/participatory_process_admin_manages_participatory_processes_spec.rb +3 -2
  141. data/decidim-admin/spec/features/static_pages_spec.rb +1 -1
  142. data/decidim-admin/spec/features/user_manager_managed_users_spec.rb +14 -0
  143. data/decidim-admin/spec/forms/impersonate_managed_user_form_spec.rb +33 -0
  144. data/decidim-admin/spec/forms/managed_user_form_spec.rb +53 -0
  145. data/decidim-admin/spec/forms/managed_user_promotion_form_spec.rb +30 -0
  146. data/decidim-admin/spec/forms/organization_form_spec.rb +1 -6
  147. data/decidim-admin/spec/forms/participatory_process_form_spec.rb +0 -3
  148. data/decidim-admin/spec/forms/participatory_process_group_form_spec.rb +0 -4
  149. data/decidim-admin/spec/forms/scope_form_spec.rb +15 -11
  150. data/decidim-admin/spec/helpers/settings_helper_spec.rb +1 -1
  151. data/decidim-admin/spec/i18n_spec.rb +1 -1
  152. data/decidim-admin/spec/jobs/expire_impersonation_job_spec.rb +29 -0
  153. data/decidim-admin/spec/models/abilities/admin_ability_spec.rb +1 -0
  154. data/decidim-admin/spec/models/abilities/participatory_process_admin_ability_spec.rb +3 -9
  155. data/decidim-admin/spec/models/abilities/user_manager_ability_spec.rb +20 -0
  156. data/decidim-admin/spec/shared/manage_managed_users_examples.rb +173 -0
  157. data/decidim-admin/spec/shared/manage_process_admins_examples.rb +2 -2
  158. data/decidim-admin/spec/shared/manage_process_attachments_examples.rb +1 -2
  159. data/decidim-admin/spec/shared/manage_process_categories_examples.rb +3 -4
  160. data/decidim-admin/spec/shared/manage_process_steps_examples.rb +2 -2
  161. data/decidim-admin/spec/shared/manage_processes_examples.rb +54 -26
  162. data/decidim-admin/spec/shared/participatory_process_administration_by_admin_shared_context.rb +1 -1
  163. data/decidim-admin/spec/shared/participatory_process_administration_by_process_admin_shared_context.rb +1 -1
  164. data/decidim-admin/spec/shared/participatory_process_administration_shared_context.rb +1 -1
  165. data/decidim-api/app/controllers/decidim/api/application_controller.rb +8 -0
  166. data/decidim-api/app/controllers/decidim/api/documentation_controller.rb +2 -0
  167. data/decidim-api/app/controllers/decidim/api/queries_controller.rb +2 -0
  168. data/decidim-api/lib/decidim/api/test/type_context.rb +1 -1
  169. data/decidim-api/spec/i18n_spec.rb +1 -1
  170. data/decidim-api/spec/spec_helper.rb +0 -2
  171. data/decidim-budgets/app/assets/stylesheets/decidim/budgets/_budgets.scss +1 -1
  172. data/decidim-budgets/app/forms/decidim/budgets/admin/project_form.rb +1 -1
  173. data/decidim-budgets/app/views/decidim/budgets/admin/projects/_form.html.erb +3 -3
  174. data/decidim-budgets/app/views/decidim/budgets/projects/_budget_excess.html.erb +1 -1
  175. data/decidim-budgets/app/views/decidim/budgets/projects/_filters.html.erb +2 -2
  176. data/decidim-budgets/app/views/decidim/budgets/projects/_filters_small_view.html.erb +1 -1
  177. data/decidim-budgets/app/views/decidim/budgets/projects/_project.html.erb +1 -1
  178. data/decidim-budgets/app/views/decidim/budgets/projects/index.html.erb +2 -0
  179. data/decidim-budgets/app/views/decidim/budgets/projects/show.html.erb +1 -1
  180. data/decidim-budgets/config/i18n-tasks.yml +2 -1
  181. data/decidim-budgets/config/locales/ca.yml +2 -1
  182. data/decidim-budgets/config/locales/en.yml +3 -0
  183. data/decidim-budgets/config/locales/es.yml +2 -1
  184. data/decidim-budgets/config/locales/eu.yml +2 -1
  185. data/decidim-budgets/config/locales/fi.yml +1 -1
  186. data/decidim-budgets/config/locales/fr.yml +1 -1
  187. data/decidim-budgets/config/locales/it.yml +1 -1
  188. data/decidim-budgets/config/locales/nl.yml +1 -1
  189. data/decidim-budgets/config/locales/pl.yml +5 -0
  190. data/decidim-budgets/lib/decidim/budgets/feature.rb +2 -0
  191. data/decidim-budgets/spec/features/admin_manages_projects_spec.rb +1 -0
  192. data/decidim-budgets/spec/features/orders_spec.rb +5 -5
  193. data/decidim-budgets/spec/features/process_admin_manages_projects_spec.rb +1 -0
  194. data/decidim-budgets/spec/i18n_spec.rb +1 -1
  195. data/decidim-budgets/spec/shared/manage_attachments_examples.rb +1 -1
  196. data/decidim-budgets/spec/shared/manage_projects_examples.rb +3 -4
  197. data/decidim-comments/app/assets/javascripts/decidim/comments/bundle.js +0 -0
  198. data/decidim-comments/app/frontend/fragments/add_comment_form_commentable.fragment.graphql +1 -1
  199. data/decidim-comments/app/frontend/fragments/add_comment_form_session.fragment.graphql +1 -1
  200. data/decidim-comments/app/frontend/fragments/comment.fragment.graphql +1 -1
  201. data/decidim-comments/app/frontend/fragments/comment_data.fragment.graphql +1 -1
  202. data/decidim-comments/app/frontend/fragments/comment_thread.fragment.graphql +1 -1
  203. data/decidim-comments/app/frontend/fragments/down_vote_button.fragment.graphql +1 -1
  204. data/decidim-comments/app/frontend/fragments/up_vote_button.fragment.graphql +1 -1
  205. data/decidim-comments/app/frontend/mutations/add_comment.mutation.graphql +1 -1
  206. data/decidim-comments/app/frontend/mutations/down_vote.mutation.graphql +1 -1
  207. data/decidim-comments/app/frontend/mutations/up_vote.mutation.graphql +1 -1
  208. data/decidim-comments/app/frontend/queries/comments.query.graphql +1 -1
  209. data/decidim-comments/app/views/decidim/comments/comment_notification_mailer/reply_created.html.erb +1 -1
  210. data/decidim-comments/config/locales/ca.yml +1 -1
  211. data/decidim-comments/config/locales/es.yml +1 -1
  212. data/decidim-comments/config/locales/eu.yml +1 -1
  213. data/decidim-comments/config/locales/fi.yml +1 -1
  214. data/decidim-comments/config/locales/fr.yml +1 -1
  215. data/decidim-comments/config/locales/it.yml +1 -1
  216. data/decidim-comments/config/locales/nl.yml +1 -1
  217. data/decidim-comments/config/locales/pl.yml +6 -0
  218. data/decidim-comments/spec/commands/create_comment_spec.rb +1 -1
  219. data/decidim-comments/spec/commands/vote_comment_spec.rb +1 -1
  220. data/decidim-comments/spec/features/notifications_spec.rb +2 -8
  221. data/decidim-comments/spec/i18n_spec.rb +1 -1
  222. data/decidim-comments/spec/mailers/comment_notification_mailer_spec.rb +0 -1
  223. data/decidim-core/README.md +28 -0
  224. data/decidim-core/Rakefile +3 -0
  225. data/decidim-core/app/assets/config/decidim_core_manifest.js +10 -0
  226. data/decidim-core/app/assets/fonts/decidim/Source_Sans_Pro_400.eot +0 -0
  227. data/decidim-core/app/assets/fonts/decidim/Source_Sans_Pro_400.svg +345 -0
  228. data/decidim-core/app/assets/fonts/decidim/Source_Sans_Pro_400.ttf +0 -0
  229. data/decidim-core/app/assets/fonts/decidim/Source_Sans_Pro_400.woff +0 -0
  230. data/decidim-core/app/assets/fonts/decidim/Source_Sans_Pro_400.woff2 +0 -0
  231. data/decidim-core/app/assets/fonts/decidim/Source_Sans_Pro_600.eot +0 -0
  232. data/decidim-core/app/assets/fonts/decidim/Source_Sans_Pro_600.svg +339 -0
  233. data/decidim-core/app/assets/fonts/decidim/Source_Sans_Pro_600.ttf +0 -0
  234. data/decidim-core/app/assets/fonts/decidim/Source_Sans_Pro_600.woff +0 -0
  235. data/decidim-core/app/assets/fonts/decidim/Source_Sans_Pro_600.woff2 +0 -0
  236. data/decidim-core/app/assets/fonts/decidim/Source_Sans_Pro_900.eot +0 -0
  237. data/decidim-core/app/assets/fonts/decidim/Source_Sans_Pro_900.svg +342 -0
  238. data/decidim-core/app/assets/fonts/decidim/Source_Sans_Pro_900.ttf +0 -0
  239. data/decidim-core/app/assets/fonts/decidim/Source_Sans_Pro_900.woff +0 -0
  240. data/decidim-core/app/assets/fonts/decidim/Source_Sans_Pro_900.woff2 +0 -0
  241. data/decidim-core/app/assets/images/decidim/.keep +0 -0
  242. data/decidim-core/app/assets/images/decidim/cc-badge.png +0 -0
  243. data/{decidim-dev/spec/support/avatar.svg → decidim-core/app/assets/images/decidim/default-avatar.svg} +0 -0
  244. data/decidim-core/app/assets/images/decidim/icons.svg +1 -0
  245. data/decidim-core/app/assets/images/decidim/process.svg +10 -0
  246. data/decidim-core/app/assets/javascripts/decidim.js.es6 +27 -0
  247. data/decidim-core/app/assets/javascripts/decidim/account_form.js.es6 +27 -0
  248. data/decidim-core/app/assets/javascripts/decidim/append_elements.js.es6 +8 -0
  249. data/decidim-core/app/assets/javascripts/decidim/editor.js.es6 +51 -0
  250. data/decidim-core/app/assets/javascripts/decidim/filters.js.es6 +16 -0
  251. data/decidim-core/app/assets/javascripts/decidim/form_filter.component.js.es6 +237 -0
  252. data/decidim-core/app/assets/javascripts/decidim/form_filter.component.test.js +112 -0
  253. data/decidim-core/app/assets/javascripts/decidim/foundation.js.es6 +18 -0
  254. data/decidim-core/app/assets/javascripts/decidim/history.js.es6 +38 -0
  255. data/decidim-core/app/assets/javascripts/decidim/impersonation.js.es6 +16 -0
  256. data/decidim-core/app/assets/javascripts/decidim/map.js.es6.erb +95 -0
  257. data/decidim-core/app/assets/javascripts/decidim/orders.js.es6 +28 -0
  258. data/decidim-core/app/assets/javascripts/decidim/select2.field.js.es6 +47 -0
  259. data/decidim-core/app/assets/javascripts/decidim/select2.js.es6 +8 -0
  260. data/decidim-core/app/assets/javascripts/decidim/user_registrations.js.es6 +21 -0
  261. data/decidim-core/app/assets/javascripts/decidim/widget.js.es6 +14 -0
  262. data/decidim-core/app/assets/stylesheets/decidim/_decidim.scss +12 -0
  263. data/decidim-core/app/assets/stylesheets/decidim/_variables.scss +16 -0
  264. data/decidim-core/app/assets/stylesheets/decidim/application.scss.erb +6 -0
  265. data/decidim-core/app/assets/stylesheets/decidim/editor.sass +4 -0
  266. data/decidim-core/app/assets/stylesheets/decidim/email.css +1395 -0
  267. data/decidim-core/app/assets/stylesheets/decidim/extras/_add_comments.scss +9 -0
  268. data/decidim-core/app/assets/stylesheets/decidim/extras/_announcement.scss +3 -0
  269. data/decidim-core/app/assets/stylesheets/decidim/extras/_callout.scss +5 -0
  270. data/decidim-core/app/assets/stylesheets/decidim/extras/_collection-sort-controls.scss +5 -0
  271. data/decidim-core/app/assets/stylesheets/decidim/extras/_embed.scss +32 -0
  272. data/decidim-core/app/assets/stylesheets/decidim/extras/_impersonation-bar.scss +22 -0
  273. data/decidim-core/app/assets/stylesheets/decidim/extras/_label-required.scss +3 -0
  274. data/decidim-core/app/assets/stylesheets/decidim/extras/_leaflet.scss +15 -0
  275. data/decidim-core/app/assets/stylesheets/decidim/extras/_process_stats.scss +38 -0
  276. data/decidim-core/app/assets/stylesheets/decidim/extras/_proposal_form.scss +7 -0
  277. data/decidim-core/app/assets/stylesheets/decidim/extras/_quill.scss +8 -0
  278. data/decidim-core/app/assets/stylesheets/decidim/extras/_reference.scss +3 -0
  279. data/decidim-core/app/assets/stylesheets/decidim/extras/_register_form.scss +9 -0
  280. data/decidim-core/app/assets/stylesheets/decidim/extras/_results-per-page.scss +66 -0
  281. data/decidim-core/app/assets/stylesheets/decidim/extras/_social_icons_mini.scss +10 -0
  282. data/decidim-core/app/assets/stylesheets/decidim/extras/_status-labels.scss +3 -0
  283. data/decidim-core/app/assets/stylesheets/decidim/layouts/_home.scss +244 -0
  284. data/decidim-core/app/assets/stylesheets/decidim/layouts/_user.scss +24 -0
  285. data/decidim-core/app/assets/stylesheets/decidim/layouts/_view.scss +22 -0
  286. data/decidim-core/app/assets/stylesheets/decidim/map.css +3 -0
  287. data/decidim-core/app/assets/stylesheets/decidim/modules/_address.scss +26 -0
  288. data/decidim-core/app/assets/stylesheets/decidim/modules/_author-avatar.scss +119 -0
  289. data/decidim-core/app/assets/stylesheets/decidim/modules/_buttons.scss +142 -0
  290. data/decidim-core/app/assets/stylesheets/decidim/modules/_callout.scss +25 -0
  291. data/decidim-core/app/assets/stylesheets/decidim/modules/_card-grid.scss +25 -0
  292. data/decidim-core/app/assets/stylesheets/decidim/modules/_cards.scss +504 -0
  293. data/decidim-core/app/assets/stylesheets/decidim/modules/_comments.scss +141 -0
  294. data/decidim-core/app/assets/stylesheets/decidim/modules/_cookie-bar.scss +22 -0
  295. data/decidim-core/app/assets/stylesheets/decidim/modules/_datepicker.scss +224 -0
  296. data/decidim-core/app/assets/stylesheets/decidim/modules/_definition-data.scss +54 -0
  297. data/decidim-core/app/assets/stylesheets/decidim/modules/_extra.scss +43 -0
  298. data/decidim-core/app/assets/stylesheets/decidim/modules/_filter-tags.scss +24 -0
  299. data/decidim-core/app/assets/stylesheets/decidim/modules/_filters.scss +96 -0
  300. data/decidim-core/app/assets/stylesheets/decidim/modules/_flag.scss +9 -0
  301. data/decidim-core/app/assets/stylesheets/decidim/modules/_footer.scss +90 -0
  302. data/decidim-core/app/assets/stylesheets/decidim/modules/_forms.scss +30 -0
  303. data/decidim-core/app/assets/stylesheets/decidim/modules/_help.scss +14 -0
  304. data/decidim-core/app/assets/stylesheets/decidim/modules/_icons.scss +32 -0
  305. data/decidim-core/app/assets/stylesheets/decidim/modules/_layout.scss +56 -0
  306. data/decidim-core/app/assets/stylesheets/decidim/modules/_list-docs.scss +30 -0
  307. data/decidim-core/app/assets/stylesheets/decidim/modules/_main-container.scss +66 -0
  308. data/decidim-core/app/assets/stylesheets/decidim/modules/_map.scss +72 -0
  309. data/decidim-core/app/assets/stylesheets/decidim/modules/_margins.scss +16 -0
  310. data/decidim-core/app/assets/stylesheets/decidim/modules/_modules.scss +58 -0
  311. data/decidim-core/app/assets/stylesheets/decidim/modules/_navbar.scss +270 -0
  312. data/decidim-core/app/assets/stylesheets/decidim/modules/_opinion-toggle.scss +50 -0
  313. data/decidim-core/app/assets/stylesheets/decidim/modules/_order-by.scss +66 -0
  314. data/decidim-core/app/assets/stylesheets/decidim/modules/_pagination.scss +5 -0
  315. data/decidim-core/app/assets/stylesheets/decidim/modules/_process-header.scss +88 -0
  316. data/decidim-core/app/assets/stylesheets/decidim/modules/_process-info.scss +44 -0
  317. data/decidim-core/app/assets/stylesheets/decidim/modules/_process-nav.scss +97 -0
  318. data/decidim-core/app/assets/stylesheets/decidim/modules/_process-phase.scss +83 -0
  319. data/decidim-core/app/assets/stylesheets/decidim/modules/_reference.scss +6 -0
  320. data/decidim-core/app/assets/stylesheets/decidim/modules/_reveal.scss +20 -0
  321. data/decidim-core/app/assets/stylesheets/decidim/modules/_share.scss +28 -0
  322. data/decidim-core/app/assets/stylesheets/decidim/modules/_signup.scss +39 -0
  323. data/decidim-core/app/assets/stylesheets/decidim/modules/_static-pages.scss +46 -0
  324. data/decidim-core/app/assets/stylesheets/decidim/modules/_status-labels.scss +20 -0
  325. data/decidim-core/app/assets/stylesheets/decidim/modules/_tags.scss +29 -0
  326. data/decidim-core/app/assets/stylesheets/decidim/modules/_timeline.scss +171 -0
  327. data/decidim-core/app/assets/stylesheets/decidim/modules/_title-action.scss +28 -0
  328. data/decidim-core/app/assets/stylesheets/decidim/modules/_typography.scss +122 -0
  329. data/decidim-core/app/assets/stylesheets/decidim/modules/_user-form.scss +14 -0
  330. data/decidim-core/app/assets/stylesheets/decidim/modules/_video.scss +18 -0
  331. data/decidim-core/app/assets/stylesheets/decidim/plugins/_select2.scss +63 -0
  332. data/decidim-core/app/assets/stylesheets/decidim/utils/_fontface.scss +27 -0
  333. data/decidim-core/app/assets/stylesheets/decidim/utils/_helpers.scss +25 -0
  334. data/decidim-core/app/assets/stylesheets/decidim/utils/_keyframes.scss +21 -0
  335. data/decidim-core/app/assets/stylesheets/decidim/utils/_mixins.scss +41 -0
  336. data/decidim-core/app/assets/stylesheets/decidim/utils/_settings.scss +575 -0
  337. data/decidim-core/app/assets/stylesheets/decidim/utils/_toggle-expand.scss +8 -0
  338. data/decidim-core/app/commands/decidim/authorize_user.rb +59 -0
  339. data/decidim-core/app/commands/decidim/create_omniauth_registration.rb +96 -0
  340. data/decidim-core/app/commands/decidim/create_registration.rb +55 -0
  341. data/decidim-core/app/commands/decidim/create_report.rb +91 -0
  342. data/decidim-core/app/commands/decidim/destroy_account.rb +47 -0
  343. data/decidim-core/app/commands/decidim/invite_user.rb +56 -0
  344. data/decidim-core/app/commands/decidim/invite_user_again.rb +26 -0
  345. data/decidim-core/app/commands/decidim/remove_admin.rb +25 -0
  346. data/decidim-core/app/commands/decidim/update_account.rb +52 -0
  347. data/decidim-core/app/commands/decidim/update_notifications_settings.rb +32 -0
  348. data/decidim-core/app/constraints/decidim/current_feature.rb +42 -0
  349. data/decidim-core/app/constraints/decidim/current_participatory_process.rb +35 -0
  350. data/decidim-core/app/controllers/concerns/decidim/action_authorization.rb +74 -0
  351. data/decidim-core/app/controllers/concerns/decidim/devise_controllers.rb +36 -0
  352. data/decidim-core/app/controllers/concerns/decidim/filter_resource.rb +71 -0
  353. data/decidim-core/app/controllers/concerns/decidim/form_factory.rb +83 -0
  354. data/decidim-core/app/controllers/concerns/decidim/impersonate_users.rb +67 -0
  355. data/decidim-core/app/controllers/concerns/decidim/locale_switcher.rb +60 -0
  356. data/decidim-core/app/controllers/concerns/decidim/needs_authorization.rb +46 -0
  357. data/decidim-core/app/controllers/concerns/decidim/needs_organization.rb +42 -0
  358. data/decidim-core/app/controllers/concerns/decidim/needs_participatory_process.rb +46 -0
  359. data/decidim-core/app/controllers/concerns/decidim/paginable.rb +24 -0
  360. data/decidim-core/app/controllers/concerns/decidim/payload_info.rb +23 -0
  361. data/decidim-core/app/controllers/concerns/decidim/settings.rb +23 -0
  362. data/decidim-core/app/controllers/concerns/decidim/user_profile.rb +33 -0
  363. data/decidim-core/app/controllers/decidim/account_controller.rb +70 -0
  364. data/decidim-core/app/controllers/decidim/application_controller.rb +56 -0
  365. data/decidim-core/app/controllers/decidim/authorizations_controller.rb +90 -0
  366. data/decidim-core/app/controllers/decidim/cookie_policy_controller.rb +19 -0
  367. data/decidim-core/app/controllers/decidim/devise/confirmations_controller.rb +10 -0
  368. data/decidim-core/app/controllers/decidim/devise/invitations_controller.rb +30 -0
  369. data/decidim-core/app/controllers/decidim/devise/omniauth_registrations_controller.rb +95 -0
  370. data/decidim-core/app/controllers/decidim/devise/passwords_controller.rb +25 -0
  371. data/decidim-core/app/controllers/decidim/devise/registrations_controller.rb +67 -0
  372. data/decidim-core/app/controllers/decidim/devise/sessions_controller.rb +32 -0
  373. data/decidim-core/app/controllers/decidim/errors_controller.rb +15 -0
  374. data/decidim-core/app/controllers/decidim/features/base_controller.rb +56 -0
  375. data/decidim-core/app/controllers/decidim/locales_controller.rb +27 -0
  376. data/decidim-core/app/controllers/decidim/notifications_settings_controller.rb +30 -0
  377. data/decidim-core/app/controllers/decidim/own_user_groups_controller.rb +13 -0
  378. data/decidim-core/app/controllers/decidim/pages_controller.rb +42 -0
  379. data/decidim-core/app/controllers/decidim/participatory_process_groups_controller.rb +26 -0
  380. data/decidim-core/app/controllers/decidim/participatory_process_steps_controller.rb +18 -0
  381. data/decidim-core/app/controllers/decidim/participatory_process_widgets_controller.rb +19 -0
  382. data/decidim-core/app/controllers/decidim/participatory_processes_controller.rb +49 -0
  383. data/decidim-core/app/controllers/decidim/reports_controller.rb +33 -0
  384. data/decidim-core/app/controllers/decidim/scopes_controller.rb +29 -0
  385. data/decidim-core/app/controllers/decidim/static_map_controller.rb +17 -0
  386. data/decidim-core/app/controllers/decidim/widgets_controller.rb +34 -0
  387. data/decidim-core/app/forms/decidim/account_form.rb +42 -0
  388. data/decidim-core/app/forms/decidim/attachment_form.rb +14 -0
  389. data/decidim-core/app/forms/decidim/delete_account_form.rb +8 -0
  390. data/decidim-core/app/forms/decidim/form.rb +16 -0
  391. data/decidim-core/app/forms/decidim/invite_user_form.rb +48 -0
  392. data/decidim-core/app/forms/decidim/notifications_settings_form.rb +17 -0
  393. data/decidim-core/app/forms/decidim/omniauth_registration_form.rb +24 -0
  394. data/decidim-core/app/forms/decidim/registration_form.rb +55 -0
  395. data/decidim-core/app/forms/decidim/report_form.rb +13 -0
  396. data/decidim-core/app/forms/translatable_presence_validator.rb +31 -0
  397. data/decidim-core/app/helpers/decidim/action_authorization_helper.rb +88 -0
  398. data/decidim-core/app/helpers/decidim/application_helper.rb +28 -0
  399. data/decidim-core/app/helpers/decidim/aria_selected_link_to_helper.rb +27 -0
  400. data/decidim-core/app/helpers/decidim/attachments_helper.rb +27 -0
  401. data/decidim-core/app/helpers/decidim/authorization_form_helper.rb +26 -0
  402. data/decidim-core/app/helpers/decidim/cookies_helper.rb +11 -0
  403. data/decidim-core/app/helpers/decidim/decidim_form_helper.rb +116 -0
  404. data/decidim-core/app/helpers/decidim/feature_path_helper.rb +35 -0
  405. data/decidim-core/app/helpers/decidim/feature_reference_helper.rb +25 -0
  406. data/decidim-core/app/helpers/decidim/filters_helper.rb +21 -0
  407. data/decidim-core/app/helpers/decidim/humanize_booleans_helper.rb +15 -0
  408. data/decidim-core/app/helpers/decidim/icon_helper.rb +30 -0
  409. data/decidim-core/app/helpers/decidim/language_chooser_helper.rb +19 -0
  410. data/decidim-core/app/helpers/decidim/layout_helper.rb +78 -0
  411. data/decidim-core/app/helpers/decidim/localized_locales_helper.rb +44 -0
  412. data/decidim-core/app/helpers/decidim/map_helper.rb +42 -0
  413. data/decidim-core/app/helpers/decidim/menu_helper.rb +16 -0
  414. data/decidim-core/app/helpers/decidim/meta_tags_helper.rb +105 -0
  415. data/decidim-core/app/helpers/decidim/omniauth_helper.rb +24 -0
  416. data/decidim-core/app/helpers/decidim/orders_helper.rb +29 -0
  417. data/decidim-core/app/helpers/decidim/paginate_helper.rb +22 -0
  418. data/decidim-core/app/helpers/decidim/participatory_process_helper.rb +17 -0
  419. data/decidim-core/app/helpers/decidim/participatory_process_steps_helper.rb +18 -0
  420. data/decidim-core/app/helpers/decidim/replace_buttons_helper.rb +43 -0
  421. data/decidim-core/app/helpers/decidim/resource_helper.rb +73 -0
  422. data/decidim-core/app/helpers/decidim/scopes_helper.rb +15 -0
  423. data/decidim-core/app/helpers/decidim/translations_helper.rb +34 -0
  424. data/decidim-core/app/helpers/decidim/user_profile_helper.rb +24 -0
  425. data/decidim-core/app/helpers/decidim/widget_urls_helper.rb +11 -0
  426. data/decidim-core/app/jobs/decidim/application_job.rb +6 -0
  427. data/decidim-core/app/jobs/decidim/export_job.rb +22 -0
  428. data/decidim-core/app/mailers/concerns/decidim/localised_mailer.rb +30 -0
  429. data/decidim-core/app/mailers/decidim/application_mailer.rb +12 -0
  430. data/decidim-core/app/mailers/decidim/decidim_devise_mailer.rb +39 -0
  431. data/decidim-core/app/mailers/decidim/export_mailer.rb +30 -0
  432. data/decidim-core/app/mailers/decidim/newsletter_mailer.rb +25 -0
  433. data/decidim-core/app/mailers/decidim/reported_mailer.rb +42 -0
  434. data/decidim-core/app/middleware/decidim/current_organization.rb +55 -0
  435. data/decidim-core/app/models/decidim/abilities/admin_ability.rb +30 -0
  436. data/decidim-core/app/models/decidim/abilities/base_ability.rb +34 -0
  437. data/decidim-core/app/models/decidim/abilities/everyone_ability.rb +26 -0
  438. data/decidim-core/app/models/decidim/abilities/participatory_process_admin_ability.rb +28 -0
  439. data/decidim-core/app/models/decidim/abilities/participatory_process_collaborator_ability.rb +28 -0
  440. data/decidim-core/app/models/decidim/abilities/participatory_process_moderator_ability.rb +15 -0
  441. data/decidim-core/app/models/decidim/abilities/user_manager_ability.rb +35 -0
  442. data/decidim-core/app/models/decidim/application_record.rb +8 -0
  443. data/decidim-core/app/models/decidim/attachment.rb +57 -0
  444. data/decidim-core/app/models/decidim/authorization.rb +26 -0
  445. data/decidim-core/app/models/decidim/categorization.rb +8 -0
  446. data/decidim-core/app/models/decidim/category.rb +41 -0
  447. data/decidim-core/app/models/decidim/feature.rb +39 -0
  448. data/decidim-core/app/models/decidim/identity.rb +21 -0
  449. data/decidim-core/app/models/decidim/impersonation_log.rb +35 -0
  450. data/decidim-core/app/models/decidim/moderation.rb +12 -0
  451. data/decidim-core/app/models/decidim/newsletter.rb +26 -0
  452. data/decidim-core/app/models/decidim/organization.rb +37 -0
  453. data/decidim-core/app/models/decidim/participatory_process.rb +61 -0
  454. data/decidim-core/app/models/decidim/participatory_process_group.rb +15 -0
  455. data/decidim-core/app/models/decidim/participatory_process_step.rb +39 -0
  456. data/decidim-core/app/models/decidim/participatory_process_user_role.rb +22 -0
  457. data/decidim-core/app/models/decidim/report.rb +24 -0
  458. data/decidim-core/app/models/decidim/resource_link.rb +28 -0
  459. data/decidim-core/app/models/decidim/scope.rb +79 -0
  460. data/decidim-core/app/models/decidim/scope_type.rb +16 -0
  461. data/decidim-core/app/models/decidim/static_page.rb +57 -0
  462. data/decidim-core/app/models/decidim/user.rb +106 -0
  463. data/decidim-core/app/models/decidim/user_group.rb +45 -0
  464. data/decidim-core/app/models/decidim/user_group_membership.rb +9 -0
  465. data/decidim-core/app/presenters/decidim/home_stats_presenter.rb +81 -0
  466. data/decidim-core/app/presenters/decidim/menu_item_presenter.rb +57 -0
  467. data/decidim-core/app/presenters/decidim/menu_presenter.rb +47 -0
  468. data/decidim-core/app/presenters/decidim/participatory_process_stats_presenter.rb +50 -0
  469. data/decidim-core/app/presenters/decidim/resource_locator_presenter.rb +90 -0
  470. data/decidim-core/app/queries/decidim/freetext_scopes.rb +39 -0
  471. data/decidim-core/app/queries/decidim/highlighted_participatory_processes.rb +10 -0
  472. data/decidim-core/app/queries/decidim/organization_participatory_process_groups.rb +14 -0
  473. data/decidim-core/app/queries/decidim/organization_participatory_processes.rb +14 -0
  474. data/decidim-core/app/queries/decidim/organization_prioritized_participatory_processes.rb +18 -0
  475. data/decidim-core/app/queries/decidim/organization_published_participatory_processes.rb +17 -0
  476. data/decidim-core/app/queries/decidim/participatory_processes_with_user_role.rb +46 -0
  477. data/decidim-core/app/queries/decidim/prioritized_participatory_processes.rb +11 -0
  478. data/decidim-core/app/queries/decidim/promoted_participatory_processes.rb +10 -0
  479. data/decidim-core/app/queries/decidim/published_participatory_processes.rb +10 -0
  480. data/decidim-core/app/queries/decidim/stats_users_count.rb +25 -0
  481. data/decidim-core/app/services/decidim/action_authorizer.rb +103 -0
  482. data/decidim-core/app/services/decidim/authorization_handler.rb +92 -0
  483. data/decidim-core/app/services/decidim/resource_search.rb +69 -0
  484. data/decidim-core/app/services/decidim/static_map_generator.rb +48 -0
  485. data/decidim-core/app/uploaders/decidim/application_uploader.rb +17 -0
  486. data/decidim-core/app/uploaders/decidim/attachment_uploader.rb +73 -0
  487. data/decidim-core/app/uploaders/decidim/avatar_uploader.rb +22 -0
  488. data/decidim-core/app/uploaders/decidim/banner_image_uploader.rb +8 -0
  489. data/decidim-core/app/uploaders/decidim/hero_image_uploader.rb +8 -0
  490. data/decidim-core/app/uploaders/decidim/homepage_image_uploader.rb +16 -0
  491. data/decidim-core/app/uploaders/decidim/image_uploader.rb +47 -0
  492. data/decidim-core/app/uploaders/decidim/official_image_footer_uploader.rb +9 -0
  493. data/decidim-core/app/uploaders/decidim/official_image_header_uploader.rb +9 -0
  494. data/decidim-core/app/uploaders/decidim/organization_favicon_uploader.rb +18 -0
  495. data/decidim-core/app/uploaders/decidim/organization_logo_uploader.rb +10 -0
  496. data/decidim-core/app/validators/etiquette_validator.rb +42 -0
  497. data/decidim-core/app/validators/geocoding_validator.rb +22 -0
  498. data/decidim-core/app/views/decidim/account/_password_fields.html.erb +2 -0
  499. data/decidim-core/app/views/decidim/account/_user_groups.html.erb +0 -0
  500. data/decidim-core/app/views/decidim/account/delete.html.erb +30 -0
  501. data/decidim-core/app/views/decidim/account/show.html.erb +25 -0
  502. data/decidim-core/app/views/decidim/application/_attachments.html.erb +8 -0
  503. data/decidim-core/app/views/decidim/application/_documents.html.erb +28 -0
  504. data/decidim-core/app/views/decidim/application/_photos.html.erb +16 -0
  505. data/decidim-core/app/views/decidim/authorizations/first_login.html.erb +22 -0
  506. data/decidim-core/app/views/decidim/authorizations/index.html.erb +49 -0
  507. data/decidim-core/app/views/decidim/authorizations/new.html.erb +31 -0
  508. data/decidim-core/app/views/decidim/cookie_policy/accept.js.erb +3 -0
  509. data/decidim-core/app/views/decidim/devise/confirmations/new.html.erb +33 -0
  510. data/decidim-core/app/views/decidim/devise/invitations/edit.html.erb +29 -0
  511. data/decidim-core/app/views/decidim/devise/omniauth_registrations/new.html.erb +40 -0
  512. data/decidim-core/app/views/decidim/devise/passwords/edit.html.erb +35 -0
  513. data/decidim-core/app/views/decidim/devise/passwords/new.html.erb +31 -0
  514. data/decidim-core/app/views/decidim/devise/registrations/edit.html.erb +40 -0
  515. data/decidim-core/app/views/decidim/devise/registrations/new.html.erb +87 -0
  516. data/decidim-core/app/views/decidim/devise/sessions/new.html.erb +45 -0
  517. data/decidim-core/app/views/decidim/devise/shared/_links.html.erb +29 -0
  518. data/decidim-core/app/views/decidim/devise/shared/_omniauth_buttons.html.erb +21 -0
  519. data/decidim-core/app/views/decidim/devise/shared/_omniauth_buttons_mini.html.erb +20 -0
  520. data/decidim-core/app/views/decidim/errors/internal_server_error.html.erb +10 -0
  521. data/decidim-core/app/views/decidim/errors/not_found.html.erb +13 -0
  522. data/decidim-core/app/views/decidim/export_mailer/export.html.erb +1 -0
  523. data/decidim-core/app/views/decidim/newsletter_mailer/newsletter.html.erb +5 -0
  524. data/decidim-core/app/views/decidim/notifications_settings/show.html.erb +26 -0
  525. data/decidim-core/app/views/decidim/own_user_groups/index.html.erb +26 -0
  526. data/decidim-core/app/views/decidim/pages/index.html.erb +34 -0
  527. data/decidim-core/app/views/decidim/participatory_process_groups/_participatory_process_group.html.erb +22 -0
  528. data/decidim-core/app/views/decidim/participatory_process_groups/show.html.erb +11 -0
  529. data/decidim-core/app/views/decidim/participatory_process_steps/_participatory_process_step.html.erb +16 -0
  530. data/decidim-core/app/views/decidim/participatory_process_steps/_timeline.html.erb +7 -0
  531. data/decidim-core/app/views/decidim/participatory_process_steps/index.html.erb +14 -0
  532. data/decidim-core/app/views/decidim/participatory_process_widgets/show.html.erb +17 -0
  533. data/decidim-core/app/views/decidim/participatory_processes/_no_processes_yet.html.erb +3 -0
  534. data/decidim-core/app/views/decidim/participatory_processes/_order_by_processes.html.erb +3 -0
  535. data/decidim-core/app/views/decidim/participatory_processes/_participatory_process.html.erb +28 -0
  536. data/decidim-core/app/views/decidim/participatory_processes/_promoted_process.html.erb +32 -0
  537. data/decidim-core/app/views/decidim/participatory_processes/_statistics.html.erb +10 -0
  538. data/decidim-core/app/views/decidim/participatory_processes/index.html.erb +17 -0
  539. data/decidim-core/app/views/decidim/participatory_processes/show.html.erb +85 -0
  540. data/decidim-core/app/views/decidim/reported_mailer/hide.html.erb +9 -0
  541. data/decidim-core/app/views/decidim/reported_mailer/report.html.erb +9 -0
  542. data/decidim-core/app/views/decidim/shared/_action_authorization_modal.html.erb +55 -0
  543. data/decidim-core/app/views/decidim/shared/_address_details.html.erb +9 -0
  544. data/decidim-core/app/views/decidim/shared/_announcement.html.erb +5 -0
  545. data/decidim-core/app/views/decidim/shared/_comments.html.erb +0 -0
  546. data/decidim-core/app/views/decidim/shared/_embed_modal.html.erb +19 -0
  547. data/decidim-core/app/views/decidim/shared/_feature_announcement.html.erb +5 -0
  548. data/decidim-core/app/views/decidim/shared/_flag_modal.html.erb +20 -0
  549. data/decidim-core/app/views/decidim/shared/_login_modal.html.erb +33 -0
  550. data/decidim-core/app/views/decidim/shared/_orders.html.erb +16 -0
  551. data/decidim-core/app/views/decidim/shared/_results_per_page.html.erb +18 -0
  552. data/decidim-core/app/views/decidim/shared/_share_modal.html.erb +33 -0
  553. data/decidim-core/app/views/decidim/shared/_static_map.html.erb +17 -0
  554. data/decidim-core/app/views/decidim/shared/_tags.html.erb +10 -0
  555. data/decidim-core/app/views/decidim/widgets/show.js.erb +32 -0
  556. data/decidim-core/app/views/devise/mailer/confirmation_instructions.html.erb +4 -0
  557. data/decidim-core/app/views/devise/mailer/invitation_instructions.html.erb +13 -0
  558. data/decidim-core/app/views/devise/mailer/invitation_instructions.text.erb +11 -0
  559. data/decidim-core/app/views/devise/mailer/invite_admin.html.erb +17 -0
  560. data/decidim-core/app/views/devise/mailer/invite_admin.text.erb +15 -0
  561. data/decidim-core/app/views/devise/mailer/invite_collaborator.html.erb +17 -0
  562. data/decidim-core/app/views/devise/mailer/invite_collaborator.text.erb +15 -0
  563. data/decidim-core/app/views/devise/mailer/organization_admin_invitation_instructions.html.erb +10 -0
  564. data/decidim-core/app/views/devise/mailer/organization_admin_invitation_instructions.text.erb +11 -0
  565. data/decidim-core/app/views/devise/mailer/password_change.html.erb +3 -0
  566. data/decidim-core/app/views/devise/mailer/reset_password_instructions.html.erb +8 -0
  567. data/decidim-core/app/views/kaminari/decidim/_first_page.html.erb +11 -0
  568. data/decidim-core/app/views/kaminari/decidim/_gap.html.erb +8 -0
  569. data/decidim-core/app/views/kaminari/decidim/_last_page.html.erb +11 -0
  570. data/decidim-core/app/views/kaminari/decidim/_next_page.html.erb +11 -0
  571. data/decidim-core/app/views/kaminari/decidim/_page.html.erb +12 -0
  572. data/decidim-core/app/views/kaminari/decidim/_paginator.html.erb +25 -0
  573. data/decidim-core/app/views/kaminari/decidim/_prev_page.html.erb +11 -0
  574. data/decidim-core/app/views/layouts/decidim/_application.html.erb +26 -0
  575. data/decidim-core/app/views/layouts/decidim/_cookie_warning.html.erb +8 -0
  576. data/decidim-core/app/views/layouts/decidim/_head.html.erb +24 -0
  577. data/decidim-core/app/views/layouts/decidim/_head_extra.html.erb +7 -0
  578. data/decidim-core/app/views/layouts/decidim/_impersonation_warning.html.erb +10 -0
  579. data/decidim-core/app/views/layouts/decidim/_language_chooser.html.erb +14 -0
  580. data/decidim-core/app/views/layouts/decidim/_logo.html.erb +31 -0
  581. data/decidim-core/app/views/layouts/decidim/_mailer_logo.html.erb +31 -0
  582. data/decidim-core/app/views/layouts/decidim/_process_header.html.erb +65 -0
  583. data/decidim-core/app/views/layouts/decidim/_process_header_steps.html.erb +27 -0
  584. data/decidim-core/app/views/layouts/decidim/_social_media_links.html.erb +39 -0
  585. data/decidim-core/app/views/layouts/decidim/_user_menu.html.erb +5 -0
  586. data/decidim-core/app/views/layouts/decidim/_wrapper.html.erb +110 -0
  587. data/decidim-core/app/views/layouts/decidim/application.html.erb +3 -0
  588. data/decidim-core/app/views/layouts/decidim/mailer.html.erb +119 -0
  589. data/decidim-core/app/views/layouts/decidim/participatory_process.html.erb +30 -0
  590. data/decidim-core/app/views/layouts/decidim/user_profile.html.erb +37 -0
  591. data/decidim-core/app/views/layouts/decidim/widget.html.erb +69 -0
  592. data/decidim-core/app/views/pages/decidim_page.html.erb +17 -0
  593. data/decidim-core/app/views/pages/home.html.erb +17 -0
  594. data/decidim-core/app/views/pages/home/_extended.html.erb +48 -0
  595. data/decidim-core/app/views/pages/home/_footer_sub_hero.html.erb +12 -0
  596. data/decidim-core/app/views/pages/home/_hero.html.erb +20 -0
  597. data/decidim-core/app/views/pages/home/_highlighted_processes.html.erb +37 -0
  598. data/decidim-core/app/views/pages/home/_statistics.html.erb +14 -0
  599. data/decidim-core/app/views/pages/home/_sub_hero.html.erb +11 -0
  600. data/decidim-core/bin/rails +15 -0
  601. data/decidim-core/config/i18n-tasks.yml +138 -0
  602. data/decidim-core/config/initializers/devise.rb +342 -0
  603. data/decidim-core/config/initializers/foundation_rails_helper.rb +3 -0
  604. data/decidim-core/config/initializers/invisible_captcha.rb +11 -0
  605. data/decidim-core/config/initializers/mail_previews.rb +5 -0
  606. data/decidim-core/config/locales/ca.yml +449 -0
  607. data/decidim-core/config/locales/en.yml +450 -0
  608. data/decidim-core/config/locales/es.yml +449 -0
  609. data/decidim-core/config/locales/eu.yml +404 -0
  610. data/decidim-core/config/locales/fi.yml +361 -0
  611. data/decidim-core/config/locales/fr.yml +443 -0
  612. data/decidim-core/config/locales/it.yml +325 -0
  613. data/decidim-core/config/locales/nl.yml +361 -0
  614. data/decidim-core/config/locales/pl.yml +91 -0
  615. data/decidim-core/config/routes.rb +69 -0
  616. data/decidim-core/config/secrets.yml +36 -0
  617. data/decidim-core/db/migrate/20160817115213_devise_create_decidim_users.rb +43 -0
  618. data/decidim-core/db/migrate/20160919104837_create_decidim_organizations.rb +19 -0
  619. data/decidim-core/db/migrate/20160920140207_devise_invitable_add_to_decidim_users.rb +25 -0
  620. data/decidim-core/db/migrate/20160920141039_user_belongs_to_organization.rb +7 -0
  621. data/decidim-core/db/migrate/20160920141151_user_has_roles.rb +7 -0
  622. data/decidim-core/db/migrate/20161005130108_add_participatory_processes.rb +19 -0
  623. data/decidim-core/db/migrate/20161005153007_add_description_to_organizations.rb +9 -0
  624. data/decidim-core/db/migrate/20161006085629_add_confirmable_to_devise.rb +16 -0
  625. data/decidim-core/db/migrate/20161010085443_add_name_to_users.rb +7 -0
  626. data/decidim-core/db/migrate/20161010102356_translate_processes.rb +17 -0
  627. data/decidim-core/db/migrate/20161010131544_add_locale_to_users.rb +7 -0
  628. data/decidim-core/db/migrate/20161011125616_add_hero_image_to_processes.rb +7 -0
  629. data/decidim-core/db/migrate/20161011141033_add_banner_image_to_processes.rb +7 -0
  630. data/decidim-core/db/migrate/20161013134732_add_promoted_flag_to_processes.rb +7 -0
  631. data/decidim-core/db/migrate/20161017085822_add_participatory_process_steps.rb +18 -0
  632. data/decidim-core/db/migrate/20161018091013_create_decidim_authorizations.rb +15 -0
  633. data/decidim-core/db/migrate/20161019072016_add_active_flag_to_step.rb +13 -0
  634. data/decidim-core/db/migrate/20161020080756_add_position_to_steps.rb +9 -0
  635. data/decidim-core/db/migrate/20161025125300_add_published_at_to_processes.rb +7 -0
  636. data/decidim-core/db/migrate/20161107152228_remove_not_null_on_step_position.rb +7 -0
  637. data/decidim-core/db/migrate/20161108093802_create_decidim_static_pages.rb +13 -0
  638. data/decidim-core/db/migrate/20161110092735_add_index_for_process_slug_organization.rb +10 -0
  639. data/decidim-core/db/migrate/20161110105712_create_decidim_features.rb +11 -0
  640. data/decidim-core/db/migrate/20161116115156_create_attachments.rb +18 -0
  641. data/decidim-core/db/migrate/20161123085134_add_categories.rb +12 -0
  642. data/decidim-core/db/migrate/20161130105257_create_decidim_scopes.rb +11 -0
  643. data/decidim-core/db/migrate/20161209134715_make_organization_description_optional.rb +7 -0
  644. data/decidim-core/db/migrate/20161213094244_add_avatar_to_users.rb +7 -0
  645. data/decidim-core/db/migrate/20161214152811_add_logo_to_organizations.rb +7 -0
  646. data/decidim-core/db/migrate/20170110133113_add_configuration_to_features.rb +9 -0
  647. data/decidim-core/db/migrate/20170110153807_add_handler_to_organization.rb +7 -0
  648. data/decidim-core/db/migrate/20170113150627_create_resource_links.rb +12 -0
  649. data/decidim-core/db/migrate/20170116110851_create_identities.rb +13 -0
  650. data/decidim-core/db/migrate/20170116135237_loosen_step_requirements.rb +8 -0
  651. data/decidim-core/db/migrate/20170117142904_add_uniqueness_field_to_authorizations.rb +9 -0
  652. data/decidim-core/db/migrate/20170119145359_create_user_groups.rb +13 -0
  653. data/decidim-core/db/migrate/20170119150255_create_user_group_memberships.rb +14 -0
  654. data/decidim-core/db/migrate/20170119150649_add_show_statistics_to_organization.rb +7 -0
  655. data/decidim-core/db/migrate/20170120120733_add_user_groups_verified.rb +7 -0
  656. data/decidim-core/db/migrate/20170123134023_make_attachments_polymorphic.rb +20 -0
  657. data/decidim-core/db/migrate/20170123140857_add_avatar_to_user_groups.rb +7 -0
  658. data/decidim-core/db/migrate/20170125135937_rename_attachable_to_attached_to.rb +13 -0
  659. data/decidim-core/db/migrate/20170125152026_add_weight_to_features.rb +7 -0
  660. data/decidim-core/db/migrate/20170126151123_add_extra_info_to_processes.rb +10 -0
  661. data/decidim-core/db/migrate/20170128140553_add_timestamps_to_identities.rb +7 -0
  662. data/decidim-core/db/migrate/20170130132833_add_favicon_to_decidim_organizations.rb +7 -0
  663. data/decidim-core/db/migrate/20170131134349_add_action_permissions_to_decidim_features.rb +7 -0
  664. data/decidim-core/db/migrate/20170202084913_add_comments_and_replies_notifications_to_users.rb +8 -0
  665. data/decidim-core/db/migrate/20170203150545_add_newsletter_notifications_to_users.rb +7 -0
  666. data/decidim-core/db/migrate/20170206083118_rename_extra_info_on_processes.rb +14 -0
  667. data/decidim-core/db/migrate/20170206142116_add_published_at_to_decidim_features.rb +8 -0
  668. data/decidim-core/db/migrate/20170207091021_add_social_media_handlers_to_organization.rb +10 -0
  669. data/decidim-core/db/migrate/20170207093048_add_organization_logo_and_url.rb +9 -0
  670. data/decidim-core/db/migrate/20170213081133_create_decidim_newsletters.rb +17 -0
  671. data/decidim-core/db/migrate/20170215115407_add_organization_custom_reference.rb +13 -0
  672. data/decidim-core/db/migrate/20170220110740_remove_steps_short_description.rb +23 -0
  673. data/decidim-core/db/migrate/20170221094835_add_scopes_to_processes.rb +8 -0
  674. data/decidim-core/db/migrate/20170228142440_add_participatory_process_groups.rb +17 -0
  675. data/decidim-core/db/migrate/20170306144354_add_secondary_hosts_to_organizations.rb +7 -0
  676. data/decidim-core/db/migrate/20170307084957_create_reports.rb +17 -0
  677. data/decidim-core/db/migrate/20170308091316_create_moderations.rb +14 -0
  678. data/decidim-core/db/migrate/20170313095436_add_available_authorizations_to_organization.rb +12 -0
  679. data/decidim-core/db/migrate/20170404132616_change_steps_end_and_start_date_to_date.rb +8 -0
  680. data/decidim-core/db/migrate/20170405091801_change_decidim_user_email_index_uniqueness.rb +8 -0
  681. data/decidim-core/db/migrate/20170405094028_add_organization_to_identities.rb +7 -0
  682. data/decidim-core/db/migrate/20170405094258_change_decidim_identities_provider_uid_index_uniqueness.rb +14 -0
  683. data/decidim-core/db/migrate/20170529150743_add_rejected_at_to_user_groups.rb +7 -0
  684. data/decidim-core/db/migrate/20170605140421_add_deleted_fields_to_users.rb +8 -0
  685. data/decidim-core/db/migrate/20170605162500_add_hierarchy_to_scopes.rb +70 -0
  686. data/decidim-core/db/migrate/20170606102659_set_email_unique_in_organization_conditional.rb +8 -0
  687. data/decidim-core/db/migrate/20170608142521_add_organization_to_user_groups.rb +27 -0
  688. data/decidim-core/db/migrate/20170612070905_add_uniqueness_to_name_and_document_number_to_user_groups.rb +8 -0
  689. data/decidim-core/db/migrate/20170612100253_create_decidim_categorizations.rb +12 -0
  690. data/decidim-core/db/migrate/20170713131206_add_admin_to_users.rb +13 -0
  691. data/decidim-core/db/migrate/20170713131308_migrate_user_roles_to_participatory_process_roles.rb +28 -0
  692. data/decidim-core/db/migrate/20170720135441_add_managed_to_users.rb +7 -0
  693. data/decidim-core/db/migrate/20170720140610_set_email_unique_in_organization_condition_for_managed_users.rb +12 -0
  694. data/decidim-core/db/migrate/20170724130558_create_impersonation_logs.rb +15 -0
  695. data/decidim-core/db/migrate/20170725085104_add_show_statistics_to_participatory_processes.rb +7 -0
  696. data/decidim-core/db/migrate/20170727125445_add_roles_to_users.rb +7 -0
  697. data/decidim-core/db/migrate/20170804125402_attachment_description_nullable.rb +7 -0
  698. data/decidim-core/db/migrate/20170808080905_add_announcement_to_participatory_processes.rb +7 -0
  699. data/decidim-core/db/migrate/20170809084005_add_scopes_enabled_to_participatory_processes.rb +7 -0
  700. data/decidim-core/db/seeds.rb +200 -0
  701. data/{decidim-dev/spec/support → decidim-core/db/seeds}/Exampledocument.pdf +0 -0
  702. data/{decidim-dev/spec/support → decidim-core/db/seeds}/city.jpeg +0 -0
  703. data/{decidim-dev/spec/support → decidim-core/db/seeds}/city2.jpeg +0 -0
  704. data/decidim-core/db/seeds/homepage_image.jpg +0 -0
  705. data/decidim-core/decidim-core.gemspec +60 -0
  706. data/decidim-core/lib/decidim/abilities.rb +7 -0
  707. data/decidim-core/lib/decidim/abilities/participatory_process_role_ability.rb +62 -0
  708. data/decidim-core/lib/decidim/attributes.rb +7 -0
  709. data/decidim-core/lib/decidim/attributes/time_with_zone.rb +14 -0
  710. data/decidim-core/lib/decidim/authorable.rb +33 -0
  711. data/decidim-core/lib/decidim/authorization_form_builder.rb +71 -0
  712. data/decidim-core/lib/decidim/core.rb +204 -0
  713. data/decidim-core/lib/decidim/core/api.rb +13 -0
  714. data/decidim-core/lib/decidim/core/api/author_interface.rb +18 -0
  715. data/decidim-core/lib/decidim/core/api/decidim_type.rb +17 -0
  716. data/decidim-core/lib/decidim/core/api/localized_string_type.rb +12 -0
  717. data/decidim-core/lib/decidim/core/api/process_step_type.rb +19 -0
  718. data/decidim-core/lib/decidim/core/api/process_type.rb +17 -0
  719. data/decidim-core/lib/decidim/core/api/session_type.rb +17 -0
  720. data/decidim-core/lib/decidim/core/api/translated_field_type.rb +43 -0
  721. data/decidim-core/lib/decidim/core/api/user_group_type.rb +35 -0
  722. data/decidim-core/lib/decidim/core/api/user_type.rb +33 -0
  723. data/decidim-core/lib/decidim/core/engine.rb +161 -0
  724. data/decidim-core/lib/decidim/core/test.rb +18 -0
  725. data/decidim-core/lib/decidim/core/test/factories.rb +360 -0
  726. data/decidim-core/lib/decidim/core/test/shared_examples/announcements_examples.rb +58 -0
  727. data/decidim-core/lib/decidim/core/test/shared_examples/authorable.rb +32 -0
  728. data/decidim-core/lib/decidim/core/test/shared_examples/comments_examples.rb +203 -0
  729. data/decidim-core/lib/decidim/core/test/shared_examples/errors.rb +21 -0
  730. data/decidim-core/lib/decidim/core/test/shared_examples/has_attachments.rb +25 -0
  731. data/decidim-core/lib/decidim/core/test/shared_examples/has_category.rb +11 -0
  732. data/decidim-core/lib/decidim/core/test/shared_examples/has_feature.rb +21 -0
  733. data/decidim-core/lib/decidim/core/test/shared_examples/has_reference.rb +43 -0
  734. data/decidim-core/lib/decidim/core/test/shared_examples/has_scope.rb +11 -0
  735. data/decidim-core/lib/decidim/core/test/shared_examples/localised_email.rb +25 -0
  736. data/decidim-core/lib/decidim/core/test/shared_examples/manage_moderations_examples.rb +69 -0
  737. data/decidim-core/lib/decidim/core/test/shared_examples/paginated_resource_examples.rb +26 -0
  738. data/decidim-core/lib/decidim/core/test/shared_examples/process_announcements_examples.rb +33 -0
  739. data/decidim-core/lib/decidim/core/test/shared_examples/publicable.rb +27 -0
  740. data/decidim-core/lib/decidim/core/test/shared_examples/reportable.rb +45 -0
  741. data/decidim-core/lib/decidim/core/test/shared_examples/reports_examples.rb +64 -0
  742. data/decidim-core/lib/decidim/core/version.rb +25 -0
  743. data/decidim-core/lib/decidim/devise_failure_app.rb +36 -0
  744. data/decidim-core/lib/decidim/exporters.rb +11 -0
  745. data/decidim-core/lib/decidim/exporters/csv.rb +55 -0
  746. data/decidim-core/lib/decidim/exporters/export_data.rb +23 -0
  747. data/decidim-core/lib/decidim/exporters/exporter.rb +29 -0
  748. data/decidim-core/lib/decidim/exporters/json.rb +23 -0
  749. data/decidim-core/lib/decidim/exporters/serializer.rb +30 -0
  750. data/decidim-core/lib/decidim/faker/localized.rb +163 -0
  751. data/decidim-core/lib/decidim/feature_manifest.rb +193 -0
  752. data/decidim-core/lib/decidim/feature_validator.rb +22 -0
  753. data/decidim-core/lib/decidim/features.rb +9 -0
  754. data/decidim-core/lib/decidim/features/export_manifest.rb +52 -0
  755. data/decidim-core/lib/decidim/features/namer.rb +35 -0
  756. data/decidim-core/lib/decidim/file_zipper.rb +29 -0
  757. data/decidim-core/lib/decidim/filter_form_builder.rb +64 -0
  758. data/decidim-core/lib/decidim/form_builder.rb +499 -0
  759. data/decidim-core/lib/decidim/has_attachments.rb +33 -0
  760. data/decidim-core/lib/decidim/has_category.rb +24 -0
  761. data/decidim-core/lib/decidim/has_feature.rb +22 -0
  762. data/decidim-core/lib/decidim/has_reference.rb +40 -0
  763. data/decidim-core/lib/decidim/has_scope.rb +25 -0
  764. data/decidim-core/lib/decidim/has_settings.rb +66 -0
  765. data/decidim-core/lib/decidim/i18n_exceptions.rb +17 -0
  766. data/decidim-core/lib/decidim/manifest_registry.rb +45 -0
  767. data/decidim-core/lib/decidim/menu.rb +61 -0
  768. data/decidim-core/lib/decidim/menu_item.rb +31 -0
  769. data/decidim-core/lib/decidim/menu_registry.rb +65 -0
  770. data/decidim-core/lib/decidim/notifiable.rb +22 -0
  771. data/decidim-core/lib/decidim/page_finder.rb +49 -0
  772. data/decidim-core/lib/decidim/publicable.rb +49 -0
  773. data/decidim-core/lib/decidim/query_extensions.rb +38 -0
  774. data/decidim-core/lib/decidim/reportable.rb +47 -0
  775. data/decidim-core/lib/decidim/resource_manifest.rb +74 -0
  776. data/decidim-core/lib/decidim/resourceable.rb +112 -0
  777. data/decidim-core/lib/decidim/scopable.rb +33 -0
  778. data/decidim-core/lib/decidim/settings_manifest.rb +104 -0
  779. data/decidim-core/lib/decidim/stats_registry.rb +111 -0
  780. data/decidim-core/lib/decidim/translatable_attributes.rb +64 -0
  781. data/decidim-core/lib/devise/models/decidim_validatable.rb +68 -0
  782. data/decidim-core/lib/tasks/decidim_tasks.rake +6 -0
  783. data/decidim-core/spec/assets/avatar.jpg +0 -0
  784. data/decidim-core/spec/commands/decidim/authorize_user_spec.rb +74 -0
  785. data/decidim-core/spec/commands/decidim/create_omniauth_registration_spec.rb +131 -0
  786. data/decidim-core/spec/commands/decidim/create_registration_spec.rb +131 -0
  787. data/decidim-core/spec/commands/decidim/create_report_spec.rb +99 -0
  788. data/decidim-core/spec/commands/decidim/destroy_account_spec.rb +74 -0
  789. data/decidim-core/spec/commands/decidim/invite_user_again_spec.rb +43 -0
  790. data/decidim-core/spec/commands/decidim/invite_user_spec.rb +100 -0
  791. data/decidim-core/spec/commands/decidim/remove_admin_spec.rb +31 -0
  792. data/decidim-core/spec/commands/decidim/update_account_spec.rb +122 -0
  793. data/decidim-core/spec/commands/decidim/update_notifications_settings_spec.rb +49 -0
  794. data/decidim-core/spec/controllers/authorizations_controller_spec.rb +36 -0
  795. data/decidim-core/spec/controllers/concerns/form_factory_spec.rb +92 -0
  796. data/decidim-core/spec/controllers/concerns/settings_spec.rb +45 -0
  797. data/decidim-core/spec/controllers/locales_controller_spec.rb +70 -0
  798. data/decidim-core/spec/controllers/omniauth_registrations_controller_spec.rb +44 -0
  799. data/decidim-core/spec/controllers/pages_controller_spec.rb +38 -0
  800. data/decidim-core/spec/controllers/participatory_processes_controller_spec.rb +117 -0
  801. data/decidim-core/spec/controllers/registrations_controller_spec.rb +57 -0
  802. data/decidim-core/spec/controllers/scopes_controller_spec.rb +97 -0
  803. data/decidim-core/spec/controllers/sessions_controller_spec.rb +60 -0
  804. data/decidim-core/spec/controllers/static_map_controller_spec.rb +37 -0
  805. data/decidim-core/spec/factories.rb +7 -0
  806. data/decidim-core/spec/factory_lint_spec.rb +9 -0
  807. data/decidim-core/spec/features/account_spec.rb +159 -0
  808. data/decidim-core/spec/features/authentication_spec.rb +433 -0
  809. data/decidim-core/spec/features/authorizations_spec.rb +139 -0
  810. data/decidim-core/spec/features/components_spec.rb +23 -0
  811. data/decidim-core/spec/features/cookies_spec.rb +25 -0
  812. data/decidim-core/spec/features/homepage_spec.rb +172 -0
  813. data/decidim-core/spec/features/locales_spec.rb +53 -0
  814. data/decidim-core/spec/features/menu_spec.rb +59 -0
  815. data/decidim-core/spec/features/participatory_process_groups_spec.rb +80 -0
  816. data/decidim-core/spec/features/participatory_process_steps_spec.rb +34 -0
  817. data/decidim-core/spec/features/participatory_processes_spec.rb +151 -0
  818. data/decidim-core/spec/features/user_groups_spec.rb +65 -0
  819. data/decidim-core/spec/forms/account_form_spec.rb +71 -0
  820. data/decidim-core/spec/forms/attachment_form_spec.rb +43 -0
  821. data/decidim-core/spec/forms/invite_user_form_spec.rb +64 -0
  822. data/decidim-core/spec/forms/notifications_settings_form_spec.rb +53 -0
  823. data/decidim-core/spec/forms/omniauth_registration_form_spec.rb +57 -0
  824. data/decidim-core/spec/forms/registration_form_spec.rb +125 -0
  825. data/decidim-core/spec/forms/report_form_spec.rb +29 -0
  826. data/decidim-core/spec/forms/translatable_presence_validator_spec.rb +52 -0
  827. data/decidim-core/spec/helpers/decidim/action_authorization_helper_spec.rb +151 -0
  828. data/decidim-core/spec/helpers/decidim/application_helper_spec.rb +40 -0
  829. data/decidim-core/spec/helpers/decidim/authorization_form_helper_spec.rb +44 -0
  830. data/decidim-core/spec/helpers/decidim/decidim_form_helper_spec.rb +51 -0
  831. data/decidim-core/spec/helpers/decidim/feature_path_helper_spec.rb +26 -0
  832. data/decidim-core/spec/helpers/decidim/filters_helper_spec.rb +44 -0
  833. data/decidim-core/spec/helpers/decidim/icon_helper_spec.rb +31 -0
  834. data/decidim-core/spec/helpers/decidim/omniauth_helper_spec.rb +50 -0
  835. data/decidim-core/spec/helpers/decidim/participatory_process_helper_spec.rb +41 -0
  836. data/decidim-core/spec/helpers/decidim/replace_buttons_helper_spec.rb +26 -0
  837. data/decidim-core/spec/helpers/decidim/resource_helper_spec.rb +76 -0
  838. data/decidim-core/spec/helpers/decidim/scopes_helper_spec.rb +40 -0
  839. data/decidim-core/spec/helpers/decidim/translations_helper_spec.rb +49 -0
  840. data/decidim-core/spec/helpers/decidim/widget_urls_helper_spec.rb +14 -0
  841. data/decidim-core/spec/i18n_spec.rb +7 -0
  842. data/decidim-core/spec/lib/attributes/time_with_timezone_spec.rb +41 -0
  843. data/decidim-core/spec/lib/authorization_form_builder_spec.rb +63 -0
  844. data/decidim-core/spec/lib/decidim_spec.rb +9 -0
  845. data/decidim-core/spec/lib/exporters/csv_spec.rb +39 -0
  846. data/decidim-core/spec/lib/exporters/json_spec.rb +34 -0
  847. data/decidim-core/spec/lib/exporters/serializer_spec.rb +14 -0
  848. data/decidim-core/spec/lib/faker_localized_spec.rb +70 -0
  849. data/decidim-core/spec/lib/feature_manifest_spec.rb +109 -0
  850. data/decidim-core/spec/lib/features/current_feature_spec.rb +102 -0
  851. data/decidim-core/spec/lib/features/export_manifest_spec.rb +42 -0
  852. data/decidim-core/spec/lib/file_zipper_spec.rb +29 -0
  853. data/decidim-core/spec/lib/filter_form_builder_spec.rb +68 -0
  854. data/decidim-core/spec/lib/form_builder_spec.rb +479 -0
  855. data/decidim-core/spec/lib/page_finder_spec.rb +58 -0
  856. data/decidim-core/spec/lib/resource_manifest_spec.rb +58 -0
  857. data/decidim-core/spec/lib/resourceable_spec.rb +105 -0
  858. data/decidim-core/spec/lib/seed_spec.rb +40 -0
  859. data/decidim-core/spec/lib/settings_manifest_spec.rb +79 -0
  860. data/decidim-core/spec/lib/stats_registry_spec.rb +111 -0
  861. data/decidim-core/spec/lib/translatable_attributes_spec.rb +58 -0
  862. data/decidim-core/spec/mailers/decidim_devise_mailer_spec.rb +54 -0
  863. data/decidim-core/spec/mailers/export_mailer_spec.rb +40 -0
  864. data/decidim-core/spec/mailers/newsletter_mailer_spec.rb +37 -0
  865. data/decidim-core/spec/mailers/previews/devise_mailer_preview.rb +13 -0
  866. data/decidim-core/spec/mailers/reported_mailer_spec.rb +38 -0
  867. data/decidim-core/spec/middleware/decidim/current_organization_spec.rb +42 -0
  868. data/decidim-core/spec/models/decidim/abilities/admin_ability_spec.rb +23 -0
  869. data/decidim-core/spec/models/decidim/abilities/base_ability_spec.rb +45 -0
  870. data/decidim-core/spec/models/decidim/abilities/everyone_ability_spec.rb +17 -0
  871. data/decidim-core/spec/models/decidim/abilities/participatory_process_admin_ability_spec.rb +23 -0
  872. data/decidim-core/spec/models/decidim/abilities/participatory_process_collaborator_ability_spec.rb +25 -0
  873. data/decidim-core/spec/models/decidim/attachment_spec.rb +89 -0
  874. data/decidim-core/spec/models/decidim/authorization_spec.rb +13 -0
  875. data/decidim-core/spec/models/decidim/category_spec.rb +40 -0
  876. data/decidim-core/spec/models/decidim/feature_spec.rb +14 -0
  877. data/decidim-core/spec/models/decidim/identity_spec.rb +56 -0
  878. data/decidim-core/spec/models/decidim/impersonation_log_spec.rb +28 -0
  879. data/decidim-core/spec/models/decidim/organization_spec.rb +39 -0
  880. data/decidim-core/spec/models/decidim/participatory_process_spec.rb +29 -0
  881. data/decidim-core/spec/models/decidim/participatory_process_step_spec.rb +120 -0
  882. data/decidim-core/spec/models/decidim/participatory_process_user_role_spec.rb +62 -0
  883. data/decidim-core/spec/models/decidim/resource_link_spec.rb +56 -0
  884. data/decidim-core/spec/models/decidim/scope_spec.rb +87 -0
  885. data/decidim-core/spec/models/decidim/scope_type_spec.rb +28 -0
  886. data/decidim-core/spec/models/decidim/static_page_spec.rb +104 -0
  887. data/decidim-core/spec/models/decidim/user_group_membership_spec.rb +21 -0
  888. data/decidim-core/spec/models/decidim/user_group_spec.rb +59 -0
  889. data/decidim-core/spec/models/decidim/user_spec.rb +91 -0
  890. data/decidim-core/spec/presenters/decidim/home_stats_presenter_spec.rb +76 -0
  891. data/decidim-core/spec/presenters/decidim/menu_item_presenter_spec.rb +19 -0
  892. data/decidim-core/spec/presenters/decidim/menu_presenter_spec.rb +60 -0
  893. data/decidim-core/spec/presenters/decidim/participatory_process_stats_presenter.spec.rb +44 -0
  894. data/decidim-core/spec/presenters/decidim/resource_locator_presenter_spec.rb +33 -0
  895. data/decidim-core/spec/queries/decidim/organization_participatory_process_groups_spec.rb +27 -0
  896. data/decidim-core/spec/queries/decidim/organization_participatory_processes_spec.rb +26 -0
  897. data/decidim-core/spec/queries/decidim/organization_prioritized_participatory_processes_spec.rb +48 -0
  898. data/decidim-core/spec/queries/decidim/organization_published_participatory_processes_spec.rb +40 -0
  899. data/decidim-core/spec/queries/decidim/participatory_processes_with_user_role_spec.rb +31 -0
  900. data/decidim-core/spec/queries/decidim/stats_users_count_spec.rb +42 -0
  901. data/decidim-core/spec/routing/feature_routes_spec.rb +15 -0
  902. data/decidim-core/spec/services/decidim/action_authorizer_spec.rb +130 -0
  903. data/decidim-core/spec/services/decidim/authorization_handler_spec.rb +72 -0
  904. data/decidim-core/spec/services/decidim/dummy_authorization_handler_spec.rb +43 -0
  905. data/decidim-core/spec/services/decidim/static_map_generator_spec.rb +28 -0
  906. data/decidim-core/spec/shared/with_promoted_participatory_processes_examples.rb +58 -0
  907. data/decidim-core/spec/spec_helper.rb +9 -0
  908. data/decidim-core/spec/types/decidim_type_spec.rb +30 -0
  909. data/decidim-core/spec/types/localized_string_type_spec.rb +30 -0
  910. data/decidim-core/spec/types/process_step_type_spec.rb +42 -0
  911. data/decidim-core/spec/types/process_type_spec.rb +39 -0
  912. data/decidim-core/spec/types/translated_field_type_spec.rb +68 -0
  913. data/decidim-core/spec/types/user_group_type_spec.rb +56 -0
  914. data/decidim-core/spec/types/user_type_spec.rb +44 -0
  915. data/decidim-core/spec/validators/etiquette_validator_spec.rb +63 -0
  916. data/decidim-core/spec/validators/geocoding_validator_spec.rb +57 -0
  917. data/decidim-core/spec/views/decidim/authorizations/new.html.erb_spec.rb +37 -0
  918. data/decidim-core/vendor/assets/javascripts/appendAround.js +41 -0
  919. data/decidim-core/vendor/assets/javascripts/datepicker-locales/foundation-datepicker.ca.js +17 -0
  920. data/decidim-core/vendor/assets/javascripts/datepicker-locales/foundation-datepicker.es.js +14 -0
  921. data/decidim-core/vendor/assets/javascripts/datepicker-locales/foundation-datepicker.eu.js +15 -0
  922. data/decidim-core/vendor/assets/javascripts/datepicker-locales/foundation-datepicker.fi.js +14 -0
  923. data/decidim-core/vendor/assets/javascripts/datepicker-locales/foundation-datepicker.fr.js +14 -0
  924. data/decidim-core/vendor/assets/javascripts/datepicker-locales/foundation-datepicker.it.js +14 -0
  925. data/decidim-core/vendor/assets/javascripts/datepicker-locales/foundation-datepicker.nl.js +14 -0
  926. data/decidim-core/vendor/assets/javascripts/form_datepicker.js.es6 +32 -0
  927. data/decidim-core/vendor/assets/javascripts/foundation-datepicker.js +1417 -0
  928. data/decidim-core/vendor/assets/javascripts/leaflet-svg-icon.js +179 -0
  929. data/decidim-core/vendor/assets/javascripts/leaflet-tilelayer-here.js +166 -0
  930. data/decidim-core/vendor/assets/javascripts/leaflet.js +9 -0
  931. data/decidim-core/vendor/assets/javascripts/leaflet.markercluster.js +7 -0
  932. data/decidim-core/vendor/assets/javascripts/modernizr.js +3 -0
  933. data/decidim-core/vendor/assets/javascripts/morphdom.js +679 -0
  934. data/decidim-core/vendor/assets/javascripts/quill.min.js +8 -0
  935. data/decidim-core/vendor/assets/javascripts/quill.min.js.map +1 -0
  936. data/decidim-core/vendor/assets/javascripts/svg4everybody.min.js +2 -0
  937. data/decidim-core/vendor/assets/stylesheets/MarkerCluster.Default.css +60 -0
  938. data/decidim-core/vendor/assets/stylesheets/MarkerCluster.css +14 -0
  939. data/decidim-core/vendor/assets/stylesheets/leaflet.css +624 -0
  940. data/decidim-core/vendor/assets/stylesheets/quill.bubble.css +938 -0
  941. data/decidim-core/vendor/assets/stylesheets/quill.core.css +387 -0
  942. data/decidim-core/vendor/assets/stylesheets/quill.snow.css +931 -0
  943. data/decidim-dev/config/locales/ca.yml +1 -1
  944. data/decidim-dev/config/locales/es.yml +1 -1
  945. data/decidim-dev/config/locales/eu.yml +1 -1
  946. data/decidim-dev/config/locales/fi.yml +1 -1
  947. data/decidim-dev/config/locales/fr.yml +1 -1
  948. data/decidim-dev/config/locales/it.yml +1 -1
  949. data/decidim-dev/config/locales/nl.yml +1 -1
  950. data/decidim-dev/config/locales/pl.yml +6 -0
  951. data/decidim-dev/decidim-dev.gemspec +1 -1
  952. data/decidim-dev/lib/decidim/dev/test/authorization_shared_examples.rb +1 -7
  953. data/decidim-dev/lib/decidim/dev/test/base_spec_helper.rb +5 -27
  954. data/decidim-dev/lib/decidim/dev/test/i18n_shared_examples.rb +1 -1
  955. data/decidim-dev/lib/decidim/dev/test/rspec_support/attachments.rb +13 -0
  956. data/decidim-dev/lib/decidim/dev/test/rspec_support/authenticated_controller_context.rb +1 -1
  957. data/decidim-dev/lib/decidim/dev/test/rspec_support/capybara.rb +3 -9
  958. data/decidim-dev/lib/decidim/dev/test/rspec_support/capybara_select2.rb +35 -0
  959. data/decidim-dev/lib/decidim/dev/test/rspec_support/comments.rb +19 -0
  960. data/decidim-dev/lib/decidim/dev/test/rspec_support/feature.rb +2 -0
  961. data/decidim-dev/lib/decidim/dev/test/rspec_support/feature_context.rb +12 -3
  962. data/decidim-dev/lib/decidim/dev/test/rspec_support/helpers.rb +0 -10
  963. data/decidim-dev/lib/decidim/dev/test/rspec_support/phantomjs_polyfills/phantomjs-getOwnPropertyNames.js +1 -1
  964. data/decidim-dev/lib/decidim/dev/test/rspec_support/phantomjs_polyfills/phantomjs-shim.js +10 -0
  965. data/decidim-dev/lib/decidim/dev/test/rspec_support/translation_helpers.rb +21 -5
  966. data/decidim-dev/lib/decidim/dev/test/spec_helper.rb +2 -1
  967. data/decidim-dev/lib/generators/decidim/dummy_generator.rb +12 -0
  968. data/decidim-dev/lib/generators/decidim/templates/no_animations.rb +54 -0
  969. data/decidim-dev/spec/i18n_spec.rb +1 -1
  970. data/decidim-meetings/app/assets/images/decidim/meetings/icon.svg +1 -1
  971. data/decidim-meetings/app/controllers/decidim/meetings/admin/meeting_closes_controller.rb +0 -1
  972. data/decidim-meetings/app/controllers/decidim/meetings/meeting_widgets_controller.rb +0 -5
  973. data/decidim-meetings/app/forms/decidim/meetings/admin/meeting_form.rb +3 -5
  974. data/decidim-meetings/app/views/decidim/meetings/admin/meetings/_form.html.erb +3 -3
  975. data/decidim-meetings/app/views/decidim/meetings/meetings/_datetime.html.erb +1 -1
  976. data/decidim-meetings/app/views/decidim/meetings/meetings/_filters.html.erb +2 -2
  977. data/decidim-meetings/app/views/decidim/meetings/meetings/_filters_small_view.html.erb +1 -1
  978. data/decidim-meetings/app/views/decidim/meetings/meetings/_meetings.html.erb +1 -1
  979. data/decidim-meetings/app/views/decidim/meetings/meetings/index.html.erb +2 -0
  980. data/decidim-meetings/app/views/decidim/meetings/meetings/index.js.erb +4 -0
  981. data/decidim-meetings/app/views/decidim/meetings/meetings/show.html.erb +1 -1
  982. data/decidim-meetings/config/i18n-tasks.yml +3 -0
  983. data/decidim-meetings/config/locales/ca.yml +2 -1
  984. data/decidim-meetings/config/locales/en.yml +6 -0
  985. data/decidim-meetings/config/locales/es.yml +2 -1
  986. data/decidim-meetings/config/locales/eu.yml +1 -1
  987. data/decidim-meetings/config/locales/fi.yml +1 -1
  988. data/decidim-meetings/config/locales/fr.yml +1 -1
  989. data/decidim-meetings/config/locales/it.yml +1 -1
  990. data/decidim-meetings/config/locales/nl.yml +1 -1
  991. data/decidim-meetings/config/locales/pl.yml +63 -0
  992. data/decidim-meetings/lib/decidim/meetings/feature.rb +17 -1
  993. data/decidim-meetings/spec/features/admin_manages_meetings_spec.rb +1 -0
  994. data/decidim-meetings/spec/features/explore_meetings_spec.rb +5 -5
  995. data/decidim-meetings/spec/features/process_admin_manages_meetings_spec.rb +1 -0
  996. data/decidim-meetings/spec/forms/close_meeting_form_spec.rb +0 -3
  997. data/decidim-meetings/spec/i18n_spec.rb +1 -1
  998. data/decidim-meetings/spec/shared/manage_attachments_examples.rb +1 -1
  999. data/decidim-meetings/spec/shared/manage_meetings_examples.rb +4 -5
  1000. data/decidim-pages/app/assets/images/decidim/pages/icon.svg +1 -1
  1001. data/decidim-pages/app/views/decidim/pages/admin/pages/_form.html.erb +1 -1
  1002. data/decidim-pages/app/views/decidim/pages/application/show.html.erb +2 -0
  1003. data/decidim-pages/config/locales/ca.yml +1 -1
  1004. data/decidim-pages/config/locales/en.yml +2 -0
  1005. data/decidim-pages/config/locales/es.yml +1 -1
  1006. data/decidim-pages/config/locales/eu.yml +1 -1
  1007. data/decidim-pages/config/locales/fi.yml +1 -1
  1008. data/decidim-pages/config/locales/fr.yml +1 -1
  1009. data/decidim-pages/config/locales/it.yml +1 -1
  1010. data/decidim-pages/config/locales/nl.yml +1 -1
  1011. data/decidim-pages/config/locales/pl.yml +5 -0
  1012. data/decidim-pages/lib/decidim/pages/feature.rb +2 -0
  1013. data/decidim-pages/spec/commands/copy_page_spec.rb +1 -1
  1014. data/decidim-pages/spec/commands/create_page_spec.rb +1 -1
  1015. data/decidim-pages/spec/commands/destroy_page_spec.rb +1 -1
  1016. data/decidim-pages/spec/commands/update_page_spec.rb +1 -1
  1017. data/decidim-pages/spec/features/admin_spec.rb +8 -0
  1018. data/decidim-pages/spec/i18n_spec.rb +1 -1
  1019. data/decidim-proposals/app/assets/images/decidim/proposals/icon.svg +1 -1
  1020. data/decidim-proposals/app/assets/javascripts/decidim/proposals/add_proposal.js.es6 +2 -0
  1021. data/decidim-proposals/app/commands/decidim/proposals/admin/create_proposal.rb +44 -3
  1022. data/decidim-proposals/app/commands/decidim/proposals/create_proposal.rb +43 -2
  1023. data/decidim-proposals/app/controllers/decidim/proposals/admin/proposals_controller.rb +3 -1
  1024. data/decidim-proposals/app/controllers/decidim/proposals/proposals_controller.rb +3 -1
  1025. data/decidim-proposals/app/forms/decidim/proposals/admin/proposal_form.rb +2 -1
  1026. data/decidim-proposals/app/forms/decidim/proposals/proposal_form.rb +2 -1
  1027. data/decidim-proposals/app/models/decidim/proposals/proposal.rb +1 -0
  1028. data/decidim-proposals/app/views/decidim/proposals/admin/proposals/_form.html.erb +19 -2
  1029. data/decidim-proposals/app/views/decidim/proposals/admin/proposals/index.html.erb +12 -8
  1030. data/decidim-proposals/app/views/decidim/proposals/proposals/_filters.html.erb +2 -2
  1031. data/decidim-proposals/app/views/decidim/proposals/proposals/_filters_small_view.html.erb +1 -1
  1032. data/decidim-proposals/app/views/decidim/proposals/proposals/_proposal.html.erb +1 -1
  1033. data/decidim-proposals/app/views/decidim/proposals/proposals/index.html.erb +2 -0
  1034. data/decidim-proposals/app/views/decidim/proposals/proposals/index.js.erb +1 -1
  1035. data/decidim-proposals/app/views/decidim/proposals/proposals/new.html.erb +22 -2
  1036. data/decidim-proposals/app/views/decidim/proposals/proposals/show.html.erb +2 -1
  1037. data/decidim-proposals/config/i18n-tasks.yml +1 -1
  1038. data/decidim-proposals/config/locales/ca.yml +2 -1
  1039. data/decidim-proposals/config/locales/en.yml +7 -0
  1040. data/decidim-proposals/config/locales/es.yml +2 -1
  1041. data/decidim-proposals/config/locales/eu.yml +1 -1
  1042. data/decidim-proposals/config/locales/fi.yml +1 -1
  1043. data/decidim-proposals/config/locales/fr.yml +1 -1
  1044. data/decidim-proposals/config/locales/it.yml +1 -1
  1045. data/decidim-proposals/config/locales/nl.yml +1 -1
  1046. data/decidim-proposals/config/locales/pl.yml +5 -0
  1047. data/decidim-proposals/lib/decidim/proposals/feature.rb +13 -3
  1048. data/decidim-proposals/lib/decidim/proposals/test/factories.rb +8 -0
  1049. data/decidim-proposals/spec/controllers/concerns/{orderable_test.rb → orderable_spec.rb} +1 -1
  1050. data/decidim-proposals/spec/controllers/decidim/admin/proposal_answers_controller_spec.rb +0 -1
  1051. data/decidim-proposals/spec/features/admin_manages_proposals_spec.rb +2 -0
  1052. data/decidim-proposals/spec/features/process_admin_manages_proposals_spec.rb +2 -0
  1053. data/decidim-proposals/spec/features/proposals_spec.rb +97 -30
  1054. data/decidim-proposals/spec/i18n_spec.rb +1 -1
  1055. data/decidim-proposals/spec/services/decidim/proposals/proposal_search_spec.rb +25 -6
  1056. data/decidim-proposals/spec/shared/create_proposal_examples.rb +35 -3
  1057. data/decidim-proposals/spec/shared/export_proposals_examples.rb +1 -2
  1058. data/decidim-proposals/spec/shared/manage_proposals_examples.rb +37 -6
  1059. data/decidim-proposals/spec/shared/proposal_form_examples.rb +13 -3
  1060. data/decidim-proposals/spec/shared/proposals_help_texts_examples.rb +33 -0
  1061. data/decidim-results/app/assets/images/decidim/results/icon.svg +1 -1
  1062. data/decidim-results/app/forms/decidim/results/admin/result_form.rb +1 -1
  1063. data/decidim-results/app/views/decidim/results/admin/results/_form.html.erb +4 -4
  1064. data/decidim-results/app/views/decidim/results/results/_filters.html.erb +2 -2
  1065. data/decidim-results/app/views/decidim/results/results/_filters_small_view.html.erb +1 -1
  1066. data/decidim-results/app/views/decidim/results/results/_results.html.erb +1 -1
  1067. data/decidim-results/app/views/decidim/results/results/index.html.erb +2 -0
  1068. data/decidim-results/app/views/decidim/results/results/index.js.erb +3 -0
  1069. data/decidim-results/app/views/decidim/results/results/show.html.erb +1 -1
  1070. data/decidim-results/config/i18n-tasks.yml +2 -0
  1071. data/decidim-results/config/locales/ca.yml +2 -1
  1072. data/decidim-results/config/locales/en.yml +3 -0
  1073. data/decidim-results/config/locales/es.yml +2 -1
  1074. data/decidim-results/config/locales/eu.yml +1 -1
  1075. data/decidim-results/config/locales/fi.yml +1 -1
  1076. data/decidim-results/config/locales/fr.yml +1 -1
  1077. data/decidim-results/config/locales/it.yml +1 -1
  1078. data/decidim-results/config/locales/nl.yml +1 -1
  1079. data/decidim-results/config/locales/pl.yml +5 -0
  1080. data/decidim-results/lib/decidim/results/feature.rb +2 -0
  1081. data/decidim-results/spec/controllers/results_controller_spec.rb +0 -1
  1082. data/decidim-results/spec/features/admin_manages_results_spec.rb +1 -0
  1083. data/decidim-results/spec/features/explore_results_spec.rb +6 -6
  1084. data/decidim-results/spec/features/process_admin_manages_results_spec.rb +1 -0
  1085. data/decidim-results/spec/i18n_spec.rb +1 -1
  1086. data/decidim-results/spec/shared/manage_results_examples.rb +3 -4
  1087. data/decidim-surveys/app/assets/images/decidim/surveys/icon.svg +1 -1
  1088. data/decidim-surveys/app/views/decidim/surveys/admin/surveys/_answer_option.html.erb +7 -3
  1089. data/decidim-surveys/app/views/decidim/surveys/admin/surveys/_form.html.erb +1 -1
  1090. data/decidim-surveys/app/views/decidim/surveys/admin/surveys/_question.html.erb +12 -5
  1091. data/decidim-surveys/app/views/decidim/surveys/surveys/show.html.erb +2 -0
  1092. data/decidim-surveys/config/i18n-tasks.yml +0 -2
  1093. data/decidim-surveys/config/locales/ca.yml +1 -1
  1094. data/decidim-surveys/config/locales/en.yml +3 -0
  1095. data/decidim-surveys/config/locales/es.yml +1 -1
  1096. data/decidim-surveys/config/locales/eu.yml +67 -1
  1097. data/decidim-surveys/config/locales/fi.yml +1 -1
  1098. data/decidim-surveys/config/locales/fr.yml +64 -1
  1099. data/decidim-surveys/config/locales/it.yml +1 -1
  1100. data/decidim-surveys/config/locales/nl.yml +1 -1
  1101. data/decidim-surveys/config/locales/pl.yml +5 -0
  1102. data/decidim-surveys/lib/decidim/surveys/feature.rb +4 -5
  1103. data/decidim-surveys/spec/commands/decidim/surveys/admin/update_survey_spec.rb +1 -1
  1104. data/decidim-surveys/spec/commands/decidim/surveys/answer_survey_spec.rb +1 -1
  1105. data/decidim-surveys/spec/commands/decidim/surveys/create_survey_spec.rb +1 -1
  1106. data/decidim-surveys/spec/features/admin_manages_surveys_spec.rb +1 -0
  1107. data/decidim-surveys/spec/features/process_admin_manages_surveys_spec.rb +1 -0
  1108. data/decidim-surveys/spec/features/survey_spec.rb +12 -12
  1109. data/decidim-surveys/spec/shared/edit_survey_examples.rb +5 -6
  1110. data/decidim-surveys/spec/shared/export_survey_user_answers_examples.rb +1 -2
  1111. data/decidim-system/app/assets/stylesheets/decidim/system/_actions.scss +1 -1
  1112. data/decidim-system/app/assets/stylesheets/decidim/system/_layout.scss +1 -1
  1113. data/decidim-system/app/assets/stylesheets/decidim/system/_login.scss +1 -1
  1114. data/decidim-system/app/assets/stylesheets/decidim/system/_tables.scss +1 -1
  1115. data/decidim-system/app/commands/decidim/system/create_default_pages.rb +1 -1
  1116. data/decidim-system/app/commands/decidim/system/register_organization.rb +1 -1
  1117. data/decidim-system/config/locales/ca.yml +1 -1
  1118. data/decidim-system/config/locales/es.yml +1 -1
  1119. data/decidim-system/config/locales/eu.yml +5 -1
  1120. data/decidim-system/config/locales/fi.yml +1 -1
  1121. data/decidim-system/config/locales/fr.yml +1 -1
  1122. data/decidim-system/config/locales/it.yml +1 -1
  1123. data/decidim-system/config/locales/nl.yml +1 -1
  1124. data/decidim-system/config/locales/pl.yml +5 -0
  1125. data/decidim-system/spec/commands/decidim/system/create_admin_spec.rb +1 -1
  1126. data/decidim-system/spec/commands/decidim/system/register_organization_spec.rb +1 -1
  1127. data/decidim-system/spec/commands/decidim/system/update_organization_spec.rb +1 -1
  1128. data/decidim-system/spec/features/manage_admins_spec.rb +1 -1
  1129. data/decidim-system/spec/features/sessions_spec.rb +1 -1
  1130. data/decidim-system/spec/i18n_spec.rb +1 -1
  1131. data/decidim-system/spec/models/admin_spec.rb +1 -1
  1132. data/decidim-system/spec/spec_helper.rb +0 -2
  1133. data/decidim.gemspec +1 -1
  1134. data/jsconfig.json +1 -1
  1135. data/lib/generators/decidim/install_generator.rb +1 -0
  1136. data/lib/generators/decidim/templates/Gemfile.erb +1 -1
  1137. data/lib/generators/decidim/templates/initializer.rb +2 -3
  1138. data/package-lock.json +3947 -564
  1139. data/package.json +2 -1
  1140. metadata +809 -43
  1141. data/.mention-bot +0 -9
  1142. data/decidim-admin/app/views/decidim/admin/participatory_processes/show.html.erb +0 -54
  1143. data/decidim-admin/spec/controllers/participatory_processes_controller_spec.rb +0 -31
  1144. data/decidim-budgets/app/views/decidim/budgets/projects/_tags.html.erb +0 -10
  1145. data/decidim-dev/lib/decidim/dev/assets/Exampledocument.docx +0 -0
  1146. data/decidim-dev/lib/decidim/dev/assets/Exampledocument.odt +0 -0
  1147. data/decidim-dev/lib/decidim/dev/test/rspec_support/i18n.rb +0 -9
  1148. data/decidim-dev/spec/support/Exampledocument.docx +0 -0
  1149. data/decidim-dev/spec/support/Exampledocument.odt +0 -0
  1150. data/decidim-dev/spec/support/city3.jpeg +0 -0
  1151. data/decidim-dev/spec/support/malicious.jpg +0 -0
  1152. data/decidim-meetings/app/views/decidim/meetings/meetings/_tags.html.erb +0 -10
  1153. data/decidim-proposals/app/views/decidim/proposals/proposals/_tags.html.erb +0 -10
  1154. data/decidim-results/app/views/decidim/results/results/_tags.html.erb +0 -10
@@ -0,0 +1,18 @@
1
+ // = require foundation.core.js
2
+ // = require foundation.dropdown.js
3
+ // = require foundation.dropdownMenu.js
4
+ // = require foundation.offcanvas.js
5
+ // = require foundation.responsiveMenu.js
6
+ // = require foundation.responsiveToggle.js
7
+ // = require foundation.reveal.js
8
+ // = require foundation.sticky.js
9
+ // = require foundation.tabs.js
10
+ // = require foundation.toggler.js
11
+ // = require foundation.util.box.js
12
+ // = require foundation.util.keyboard.js
13
+ // = require foundation.util.mediaQuery.js
14
+ // = require foundation.util.motion.js
15
+ // = require foundation.util.nest.js
16
+ // = require foundation.util.touch.js
17
+ // = require foundation.util.triggers.js
18
+ // = require foundation.abide.js
@@ -0,0 +1,38 @@
1
+ /* eslint-disable no-prototype-builtins, no-restricted-syntax, no-param-reassign */
2
+ // require self
3
+
4
+ ((exports) => {
5
+ let callbacks = {};
6
+
7
+ exports.onpopstate = (event) => {
8
+ // Ensure the event is caused by user action
9
+ if (event.isTrusted) {
10
+ for (let callbackId in callbacks) {
11
+ if (callbacks.hasOwnProperty(callbackId)) {
12
+ callbacks[callbackId]();
13
+ }
14
+ }
15
+ }
16
+ };
17
+
18
+ const registerCallback = (callbackId, callback) => {
19
+ callbacks[callbackId] = callback;
20
+ };
21
+
22
+ const unregisterCallback = (callbackId) => {
23
+ callbacks[callbackId] = null;
24
+ }
25
+
26
+ const pushState = (url) => {
27
+ if (window.history) {
28
+ window.history.pushState(null, null, url);
29
+ }
30
+ };
31
+
32
+ exports.Decidim = exports.Decidim || {};
33
+ exports.Decidim.History = {
34
+ registerCallback,
35
+ unregisterCallback,
36
+ pushState
37
+ };
38
+ })(window);
@@ -0,0 +1,16 @@
1
+ ((exports) => {
2
+ exports.$(() => {
3
+ const $impersonationWarning = $('.impersonation-warning');
4
+ const endsAt = exports.moment($impersonationWarning.data('session-ends-at'));
5
+
6
+ setInterval(() => {
7
+ const diff = (endsAt - exports.moment()) / 60000;
8
+ const diffInMinutes = Math.round(diff);
9
+ $impersonationWarning.find('.minutes').html(diffInMinutes);
10
+
11
+ if (diff <= 0) {
12
+ window.location.reload();
13
+ }
14
+ }, 1000);
15
+ });
16
+ })(window);
@@ -0,0 +1,95 @@
1
+ // = require leaflet
2
+ // = require leaflet-tilelayer-here
3
+ // = require leaflet-svg-icon
4
+ // = require leaflet.markercluster
5
+ // = require jquery-tmpl
6
+ // = require_self
7
+
8
+ L.DivIcon.SVGIcon.DecidimIcon = L.DivIcon.SVGIcon.extend({
9
+ options: {
10
+ fillColor: '#ef604d',
11
+ opacity: 0
12
+ },
13
+ _createPathDescription: function() {
14
+ return 'M14 1.17a11.685 11.685 0 0 0-11.685 11.685c0 11.25 10.23 20.61 10.665 21a1.5 1.5 0 0 0 2.025 0c0.435-.435 10.665-9.81 10.665-21A11.685 11.685 0 0 0 14 1.17Zm0 17.415A5.085 5.085 0 1 1 19.085 13.5 5.085 5.085 0 0 1 14 18.585Z';
15
+ },
16
+ _createCircle: function() {
17
+ return ""
18
+ }
19
+ });
20
+
21
+ const popupTemplateId = 'marker-popup';
22
+ $.template(popupTemplateId, $(`#${popupTemplateId}`).html());
23
+
24
+ const addMarkers = (markersData, markerClusters, map) => {
25
+ const bounds = new L.LatLngBounds(markersData.map((markerData) => [markerData.latitude, markerData.longitude]));
26
+
27
+ markersData.forEach((markerData) => {
28
+ let marker = L.marker([markerData.latitude, markerData.longitude], {
29
+ icon: new L.DivIcon.SVGIcon.DecidimIcon()
30
+ });
31
+ let node = document.createElement('div');
32
+
33
+ $.tmpl(popupTemplateId, markerData).appendTo(node);
34
+
35
+ marker.bindPopup(node, {
36
+ maxwidth: 640,
37
+ minWidth: 500,
38
+ keepInView: true,
39
+ className: 'map-info'
40
+ }).openPopup();
41
+
42
+ markerClusters.addLayer(marker);
43
+ });
44
+
45
+ map.addLayer(markerClusters);
46
+ map.fitBounds(bounds, { padding: [100, 100] });
47
+ };
48
+
49
+ const loadMap = (mapId, markersData) => {
50
+ let markerClusters = L.markerClusterGroup();
51
+ const { hereAppId, hereAppCode } = window.Decidim.mapConfiguration;
52
+
53
+ if (window.Decidim.currentMap) {
54
+ window.Decidim.currentMap.remove();
55
+ window.Decidim.currentMap = null;
56
+ }
57
+
58
+ const map = L.map(mapId);
59
+
60
+ L.tileLayer.here({
61
+ appId: hereAppId,
62
+ appCode: hereAppCode
63
+ }).addTo(map);
64
+
65
+ if (markersData.length > 0) {
66
+ addMarkers(markersData, markerClusters, map);
67
+ } else {
68
+ map.fitWorld();
69
+ }
70
+
71
+ map.scrollWheelZoom.disable();
72
+
73
+ return map;
74
+ };
75
+
76
+ window.Decidim = window.Decidim || {};
77
+
78
+ window.Decidim.loadMap = loadMap;
79
+ window.Decidim.currentMap = null;
80
+ window.Decidim.mapConfiguration = {};
81
+
82
+ $(() => {
83
+ const mapId = 'map';
84
+ const $map = $(`#${mapId}`);
85
+
86
+ const markersData = $map.data('markers-data');
87
+ const hereAppId = $map.data('here-app-id');
88
+ const hereAppCode = $map.data('here-app-code');
89
+
90
+ window.Decidim.mapConfiguration = { hereAppId, hereAppCode };
91
+
92
+ if ($map.length > 0) {
93
+ window.Decidim.currentMap = loadMap(mapId, markersData);
94
+ }
95
+ });
@@ -0,0 +1,28 @@
1
+ // = require_self
2
+
3
+ $(() => {
4
+ const { pushState, registerCallback } = window.Decidim.History;
5
+
6
+ $(document).on("click", ".order-by a", (event) => {
7
+ const $target = $(event.target);
8
+
9
+ $target.parents('.menu').find('a:first').text($target.text());
10
+
11
+ pushState($target.attr('href'));
12
+ })
13
+
14
+ registerCallback("orders", () => {
15
+ const url = window.location.toString();
16
+ const match = url.match(/order=([^&]*)/);
17
+ const $orderMenu = $('.order-by .menu');
18
+ let order = $orderMenu.find('.menu a:first').data('order');
19
+
20
+ if (match) {
21
+ order = match[1];
22
+ }
23
+
24
+ const linkText = $orderMenu.find(`.menu a[data-order="${order}"]`).text();
25
+
26
+ $orderMenu.find('a:first').text(linkText);
27
+ });
28
+ });
@@ -0,0 +1,47 @@
1
+ /**
2
+ * Select2 filter component.
3
+ */
4
+
5
+ ((exports) => {
6
+ class Select2Field {
7
+ constructor(element) {
8
+ const selectedLang = $("html").attr('lang') || 'en';
9
+
10
+ let $element = $(element);
11
+
12
+ let options = {
13
+ language: selectedLang,
14
+ multiple: $element.attr("multiple")==="multiple",
15
+ width: "100%",
16
+ allowClear: true
17
+ };
18
+ if ($element.data("remote-path")) {
19
+ options.ajax = {
20
+ url: $element.data("remote-path"),
21
+ delay: 250,
22
+ cache: true
23
+ };
24
+ }
25
+ $element.select2(options);
26
+
27
+ // Avoid opening dropdown after clearing selection: https://github.com/select2/select2/issues/3320
28
+ $element.on('select2:unselecting', function() {
29
+ $element.data('unselecting', true);
30
+ }).on('select2:open', function() {
31
+ if ($element.data('unselecting')) {
32
+ $element.removeData('unselecting');
33
+ $element.select2('close');
34
+ }
35
+ });
36
+
37
+ this.$element = $element;
38
+ }
39
+
40
+ destroy() {
41
+ this.$element.select2("destroy");
42
+ }
43
+ }
44
+
45
+ exports.Decidim = exports.Decidim || {};
46
+ exports.Decidim.Select2Field = Select2Field;
47
+ })(window);
@@ -0,0 +1,8 @@
1
+ // = require select2
2
+ // = require select2_locale_es
3
+ // = require select2_locale_eu
4
+ // = require select2_locale_ca
5
+ // = require select2_locale_fi
6
+ // = require select2_locale_fr
7
+ // = require select2_locale_it
8
+ // = require select2_locale_nl
@@ -0,0 +1,21 @@
1
+ $(() => {
2
+ const $userRegistrationForm = $('.register-form');
3
+ const $userGroupFields = $userRegistrationForm.find('.user-group-fields');
4
+ const inputSelector = 'input[name="user[sign_up_as]"]';
5
+
6
+ const setGroupFieldsVisibility = (value) => {
7
+ if (value === 'user') {
8
+ $userGroupFields.hide();
9
+ } else {
10
+ $userGroupFields.show();
11
+ }
12
+ }
13
+
14
+ setGroupFieldsVisibility($userRegistrationForm.find(`${inputSelector}:checked`).val());
15
+
16
+ $userRegistrationForm.on('change', inputSelector, (event) => {
17
+ const value = event.target.value;
18
+
19
+ setGroupFieldsVisibility(value);
20
+ });
21
+ });
@@ -0,0 +1,14 @@
1
+ window.addEventListener("message", (event) => {
2
+ if (event.data.type === "GET_HEIGHT") {
3
+ const body = document.body;
4
+ const html = document.documentElement;
5
+ const height = Math.max(body.scrollHeight, body.offsetHeight, html.clientHeight, html.scrollHeight, html.offsetHeight);
6
+
7
+ parent.postMessage({ type: "SET_HEIGHT", height: height }, "*");
8
+ }
9
+ });
10
+
11
+ $(() => {
12
+ // Set target blank for all widget links.
13
+ $('a').attr('target', '_blank');
14
+ });
@@ -0,0 +1,12 @@
1
+ @import "variables";
2
+ @import "utils/*";
3
+
4
+ @import "foundation";
5
+ @include foundation-everything;
6
+
7
+ @import "select2";
8
+ @import "plugins/select2";
9
+
10
+ @import "modules/modules";
11
+ @import "layouts/*";
12
+ @import "extras/*";
@@ -0,0 +1,16 @@
1
+ // Variables
2
+
3
+ $primary: #ef604d !default;
4
+ $secondary: #599aa6 !default;
5
+ $success: #57d685 !default;
6
+ $warning: #ffae00 !default;
7
+ $alert: #ec5840 !default;
8
+
9
+ $proposals: #238FF7 !default;
10
+ $actions: #57D685 !default;
11
+ $debates: #FA6C96 !default;
12
+ $meetings: #FABC6C !default;
13
+
14
+ $twitter: #55acee !default;
15
+ $facebook: #3b5998 !default;
16
+ $google: #dd4b39 !default;
@@ -0,0 +1,6 @@
1
+ @import "decidim";
2
+ @import "editor";
3
+
4
+ <% Decidim.feature_manifests.map(&:stylesheet).compact.each do |stylesheet| %>
5
+ @import "<%= stylesheet %>";
6
+ <% end %>
@@ -0,0 +1,4 @@
1
+ @import "quill.snow"
2
+
3
+ .editor-container
4
+ margin-bottom: 1.5rem
@@ -0,0 +1,1395 @@
1
+ /* Index:
2
+ 1 - Foundation settings
3
+ 2 - Custom styles
4
+ */
5
+
6
+
7
+ /* 1 - Foundation settings ---------*/
8
+
9
+ .wrapper {
10
+ width: 100%; }
11
+
12
+ #outlook a {
13
+ padding: 0; }
14
+
15
+ body {
16
+ width: 100% !important;
17
+ min-width: 100%;
18
+ -webkit-text-size-adjust: 100%;
19
+ -ms-text-size-adjust: 100%;
20
+ margin: 0;
21
+ Margin: 0;
22
+ padding: 0;
23
+ -moz-box-sizing: border-box;
24
+ -webkit-box-sizing: border-box;
25
+ box-sizing: border-box; }
26
+
27
+ .ExternalClass {
28
+ width: 100%; }
29
+ .ExternalClass,
30
+ .ExternalClass p,
31
+ .ExternalClass span,
32
+ .ExternalClass font,
33
+ .ExternalClass td,
34
+ .ExternalClass div {
35
+ line-height: 100%; }
36
+
37
+ #backgroundTable {
38
+ margin: 0;
39
+ Margin: 0;
40
+ padding: 0;
41
+ width: 100% !important;
42
+ line-height: 100% !important; }
43
+
44
+ img {
45
+ outline: none;
46
+ text-decoration: none;
47
+ -ms-interpolation-mode: bicubic;
48
+ width: auto;
49
+ max-width: 100%;
50
+ clear: both;
51
+ display: block; }
52
+
53
+ center {
54
+ width: 100%;
55
+ min-width: 580px; }
56
+
57
+ a img {
58
+ border: none; }
59
+
60
+ p {
61
+ margin: 0 0 0 10px;
62
+ Margin: 0 0 0 10px; }
63
+
64
+ table {
65
+ border-spacing: 0;
66
+ border-collapse: collapse; }
67
+
68
+ td {
69
+ word-wrap: break-word;
70
+ -webkit-hyphens: auto;
71
+ -moz-hyphens: auto;
72
+ hyphens: auto;
73
+ border-collapse: collapse !important; }
74
+
75
+ table, tr, td {
76
+ padding: 0;
77
+ vertical-align: top;
78
+ text-align: left; }
79
+
80
+ @media only screen {
81
+ html {
82
+ min-height: 100%;
83
+ background: #f3f3f3; } }
84
+
85
+ table.body {
86
+ background: #f3f3f3;
87
+ height: 100%;
88
+ width: 100%; }
89
+
90
+ table.container {
91
+ width: 580px;
92
+ margin: 0 auto;
93
+ Margin: 0 auto;
94
+ text-align: inherit; }
95
+
96
+ table.row {
97
+ padding: 0;
98
+ width: 100%;
99
+ position: relative; }
100
+
101
+ table.spacer {
102
+ width: 100%; }
103
+ table.spacer td {
104
+ mso-line-height-rule: exactly; }
105
+
106
+ table.container table.row {
107
+ display: table; }
108
+
109
+ td.columns,
110
+ td.column,
111
+ th.columns,
112
+ th.column {
113
+ margin: 0 auto;
114
+ Margin: 0 auto;
115
+ padding-left: 16px;
116
+ padding-bottom: 16px; }
117
+ td.columns .column,
118
+ td.columns .columns,
119
+ td.column .column,
120
+ td.column .columns,
121
+ th.columns .column,
122
+ th.columns .columns,
123
+ th.column .column,
124
+ th.column .columns {
125
+ padding-left: 0 !important;
126
+ padding-right: 0 !important; }
127
+ td.columns .column center,
128
+ td.columns .columns center,
129
+ td.column .column center,
130
+ td.column .columns center,
131
+ th.columns .column center,
132
+ th.columns .columns center,
133
+ th.column .column center,
134
+ th.column .columns center {
135
+ min-width: none !important; }
136
+
137
+ td.columns.last,
138
+ td.column.last,
139
+ th.columns.last,
140
+ th.column.last {
141
+ padding-right: 16px; }
142
+
143
+ td.columns table:not(.button),
144
+ td.column table:not(.button),
145
+ th.columns table:not(.button),
146
+ th.column table:not(.button) {
147
+ width: 100%; }
148
+
149
+ td.large-1,
150
+ th.large-1 {
151
+ width: 32.33333px;
152
+ padding-left: 8px;
153
+ padding-right: 8px; }
154
+
155
+ td.large-1.first,
156
+ th.large-1.first {
157
+ padding-left: 16px; }
158
+
159
+ td.large-1.last,
160
+ th.large-1.last {
161
+ padding-right: 16px; }
162
+
163
+ .collapse > tbody > tr > td.large-1,
164
+ .collapse > tbody > tr > th.large-1 {
165
+ padding-right: 0;
166
+ padding-left: 0;
167
+ width: 48.33333px; }
168
+
169
+ .collapse td.large-1.first,
170
+ .collapse th.large-1.first,
171
+ .collapse td.large-1.last,
172
+ .collapse th.large-1.last {
173
+ width: 56.33333px; }
174
+
175
+ td.large-1 center,
176
+ th.large-1 center {
177
+ min-width: 0.33333px; }
178
+
179
+ .body .columns td.large-1,
180
+ .body .column td.large-1,
181
+ .body .columns th.large-1,
182
+ .body .column th.large-1 {
183
+ width: 8.33333%; }
184
+
185
+ td.large-2,
186
+ th.large-2 {
187
+ width: 80.66667px;
188
+ padding-left: 8px;
189
+ padding-right: 8px; }
190
+
191
+ td.large-2.first,
192
+ th.large-2.first {
193
+ padding-left: 16px; }
194
+
195
+ td.large-2.last,
196
+ th.large-2.last {
197
+ padding-right: 16px; }
198
+
199
+ .collapse > tbody > tr > td.large-2,
200
+ .collapse > tbody > tr > th.large-2 {
201
+ padding-right: 0;
202
+ padding-left: 0;
203
+ width: 96.66667px; }
204
+
205
+ .collapse td.large-2.first,
206
+ .collapse th.large-2.first,
207
+ .collapse td.large-2.last,
208
+ .collapse th.large-2.last {
209
+ width: 104.66667px; }
210
+
211
+ td.large-2 center,
212
+ th.large-2 center {
213
+ min-width: 48.66667px; }
214
+
215
+ .body .columns td.large-2,
216
+ .body .column td.large-2,
217
+ .body .columns th.large-2,
218
+ .body .column th.large-2 {
219
+ width: 16.66667%; }
220
+
221
+ td.large-3,
222
+ th.large-3 {
223
+ width: 129px;
224
+ padding-left: 8px;
225
+ padding-right: 8px; }
226
+
227
+ td.large-3.first,
228
+ th.large-3.first {
229
+ padding-left: 16px; }
230
+
231
+ td.large-3.last,
232
+ th.large-3.last {
233
+ padding-right: 16px; }
234
+
235
+ .collapse > tbody > tr > td.large-3,
236
+ .collapse > tbody > tr > th.large-3 {
237
+ padding-right: 0;
238
+ padding-left: 0;
239
+ width: 145px; }
240
+
241
+ .collapse td.large-3.first,
242
+ .collapse th.large-3.first,
243
+ .collapse td.large-3.last,
244
+ .collapse th.large-3.last {
245
+ width: 153px; }
246
+
247
+ td.large-3 center,
248
+ th.large-3 center {
249
+ min-width: 97px; }
250
+
251
+ .body .columns td.large-3,
252
+ .body .column td.large-3,
253
+ .body .columns th.large-3,
254
+ .body .column th.large-3 {
255
+ width: 25%; }
256
+
257
+ td.large-4,
258
+ th.large-4 {
259
+ width: 177.33333px;
260
+ padding-left: 8px;
261
+ padding-right: 8px; }
262
+
263
+ td.large-4.first,
264
+ th.large-4.first {
265
+ padding-left: 16px; }
266
+
267
+ td.large-4.last,
268
+ th.large-4.last {
269
+ padding-right: 16px; }
270
+
271
+ .collapse > tbody > tr > td.large-4,
272
+ .collapse > tbody > tr > th.large-4 {
273
+ padding-right: 0;
274
+ padding-left: 0;
275
+ width: 193.33333px; }
276
+
277
+ .collapse td.large-4.first,
278
+ .collapse th.large-4.first,
279
+ .collapse td.large-4.last,
280
+ .collapse th.large-4.last {
281
+ width: 201.33333px; }
282
+
283
+ td.large-4 center,
284
+ th.large-4 center {
285
+ min-width: 145.33333px; }
286
+
287
+ .body .columns td.large-4,
288
+ .body .column td.large-4,
289
+ .body .columns th.large-4,
290
+ .body .column th.large-4 {
291
+ width: 33.33333%; }
292
+
293
+ td.large-5,
294
+ th.large-5 {
295
+ width: 225.66667px;
296
+ padding-left: 8px;
297
+ padding-right: 8px; }
298
+
299
+ td.large-5.first,
300
+ th.large-5.first {
301
+ padding-left: 16px; }
302
+
303
+ td.large-5.last,
304
+ th.large-5.last {
305
+ padding-right: 16px; }
306
+
307
+ .collapse > tbody > tr > td.large-5,
308
+ .collapse > tbody > tr > th.large-5 {
309
+ padding-right: 0;
310
+ padding-left: 0;
311
+ width: 241.66667px; }
312
+
313
+ .collapse td.large-5.first,
314
+ .collapse th.large-5.first,
315
+ .collapse td.large-5.last,
316
+ .collapse th.large-5.last {
317
+ width: 249.66667px; }
318
+
319
+ td.large-5 center,
320
+ th.large-5 center {
321
+ min-width: 193.66667px; }
322
+
323
+ .body .columns td.large-5,
324
+ .body .column td.large-5,
325
+ .body .columns th.large-5,
326
+ .body .column th.large-5 {
327
+ width: 41.66667%; }
328
+
329
+ td.large-6,
330
+ th.large-6 {
331
+ width: 274px;
332
+ padding-left: 8px;
333
+ padding-right: 8px; }
334
+
335
+ td.large-6.first,
336
+ th.large-6.first {
337
+ padding-left: 16px; }
338
+
339
+ td.large-6.last,
340
+ th.large-6.last {
341
+ padding-right: 16px; }
342
+
343
+ .collapse > tbody > tr > td.large-6,
344
+ .collapse > tbody > tr > th.large-6 {
345
+ padding-right: 0;
346
+ padding-left: 0;
347
+ width: 290px; }
348
+
349
+ .collapse td.large-6.first,
350
+ .collapse th.large-6.first,
351
+ .collapse td.large-6.last,
352
+ .collapse th.large-6.last {
353
+ width: 298px; }
354
+
355
+ td.large-6 center,
356
+ th.large-6 center {
357
+ min-width: 242px; }
358
+
359
+ .body .columns td.large-6,
360
+ .body .column td.large-6,
361
+ .body .columns th.large-6,
362
+ .body .column th.large-6 {
363
+ width: 50%; }
364
+
365
+ td.large-7,
366
+ th.large-7 {
367
+ width: 322.33333px;
368
+ padding-left: 8px;
369
+ padding-right: 8px; }
370
+
371
+ td.large-7.first,
372
+ th.large-7.first {
373
+ padding-left: 16px; }
374
+
375
+ td.large-7.last,
376
+ th.large-7.last {
377
+ padding-right: 16px; }
378
+
379
+ .collapse > tbody > tr > td.large-7,
380
+ .collapse > tbody > tr > th.large-7 {
381
+ padding-right: 0;
382
+ padding-left: 0;
383
+ width: 338.33333px; }
384
+
385
+ .collapse td.large-7.first,
386
+ .collapse th.large-7.first,
387
+ .collapse td.large-7.last,
388
+ .collapse th.large-7.last {
389
+ width: 346.33333px; }
390
+
391
+ td.large-7 center,
392
+ th.large-7 center {
393
+ min-width: 290.33333px; }
394
+
395
+ .body .columns td.large-7,
396
+ .body .column td.large-7,
397
+ .body .columns th.large-7,
398
+ .body .column th.large-7 {
399
+ width: 58.33333%; }
400
+
401
+ td.large-8,
402
+ th.large-8 {
403
+ width: 370.66667px;
404
+ padding-left: 8px;
405
+ padding-right: 8px; }
406
+
407
+ td.large-8.first,
408
+ th.large-8.first {
409
+ padding-left: 16px; }
410
+
411
+ td.large-8.last,
412
+ th.large-8.last {
413
+ padding-right: 16px; }
414
+
415
+ .collapse > tbody > tr > td.large-8,
416
+ .collapse > tbody > tr > th.large-8 {
417
+ padding-right: 0;
418
+ padding-left: 0;
419
+ width: 386.66667px; }
420
+
421
+ .collapse td.large-8.first,
422
+ .collapse th.large-8.first,
423
+ .collapse td.large-8.last,
424
+ .collapse th.large-8.last {
425
+ width: 394.66667px; }
426
+
427
+ td.large-8 center,
428
+ th.large-8 center {
429
+ min-width: 338.66667px; }
430
+
431
+ .body .columns td.large-8,
432
+ .body .column td.large-8,
433
+ .body .columns th.large-8,
434
+ .body .column th.large-8 {
435
+ width: 66.66667%; }
436
+
437
+ td.large-9,
438
+ th.large-9 {
439
+ width: 419px;
440
+ padding-left: 8px;
441
+ padding-right: 8px; }
442
+
443
+ td.large-9.first,
444
+ th.large-9.first {
445
+ padding-left: 16px; }
446
+
447
+ td.large-9.last,
448
+ th.large-9.last {
449
+ padding-right: 16px; }
450
+
451
+ .collapse > tbody > tr > td.large-9,
452
+ .collapse > tbody > tr > th.large-9 {
453
+ padding-right: 0;
454
+ padding-left: 0;
455
+ width: 435px; }
456
+
457
+ .collapse td.large-9.first,
458
+ .collapse th.large-9.first,
459
+ .collapse td.large-9.last,
460
+ .collapse th.large-9.last {
461
+ width: 443px; }
462
+
463
+ td.large-9 center,
464
+ th.large-9 center {
465
+ min-width: 387px; }
466
+
467
+ .body .columns td.large-9,
468
+ .body .column td.large-9,
469
+ .body .columns th.large-9,
470
+ .body .column th.large-9 {
471
+ width: 75%; }
472
+
473
+ td.large-10,
474
+ th.large-10 {
475
+ width: 467.33333px;
476
+ padding-left: 8px;
477
+ padding-right: 8px; }
478
+
479
+ td.large-10.first,
480
+ th.large-10.first {
481
+ padding-left: 16px; }
482
+
483
+ td.large-10.last,
484
+ th.large-10.last {
485
+ padding-right: 16px; }
486
+
487
+ .collapse > tbody > tr > td.large-10,
488
+ .collapse > tbody > tr > th.large-10 {
489
+ padding-right: 0;
490
+ padding-left: 0;
491
+ width: 483.33333px; }
492
+
493
+ .collapse td.large-10.first,
494
+ .collapse th.large-10.first,
495
+ .collapse td.large-10.last,
496
+ .collapse th.large-10.last {
497
+ width: 491.33333px; }
498
+
499
+ td.large-10 center,
500
+ th.large-10 center {
501
+ min-width: 435.33333px; }
502
+
503
+ .body .columns td.large-10,
504
+ .body .column td.large-10,
505
+ .body .columns th.large-10,
506
+ .body .column th.large-10 {
507
+ width: 83.33333%; }
508
+
509
+ td.large-11,
510
+ th.large-11 {
511
+ width: 515.66667px;
512
+ padding-left: 8px;
513
+ padding-right: 8px; }
514
+
515
+ td.large-11.first,
516
+ th.large-11.first {
517
+ padding-left: 16px; }
518
+
519
+ td.large-11.last,
520
+ th.large-11.last {
521
+ padding-right: 16px; }
522
+
523
+ .collapse > tbody > tr > td.large-11,
524
+ .collapse > tbody > tr > th.large-11 {
525
+ padding-right: 0;
526
+ padding-left: 0;
527
+ width: 531.66667px; }
528
+
529
+ .collapse td.large-11.first,
530
+ .collapse th.large-11.first,
531
+ .collapse td.large-11.last,
532
+ .collapse th.large-11.last {
533
+ width: 539.66667px; }
534
+
535
+ td.large-11 center,
536
+ th.large-11 center {
537
+ min-width: 483.66667px; }
538
+
539
+ .body .columns td.large-11,
540
+ .body .column td.large-11,
541
+ .body .columns th.large-11,
542
+ .body .column th.large-11 {
543
+ width: 91.66667%; }
544
+
545
+ td.large-12,
546
+ th.large-12 {
547
+ width: 564px;
548
+ padding-left: 8px;
549
+ padding-right: 8px; }
550
+
551
+ td.large-12.first,
552
+ th.large-12.first {
553
+ padding-left: 16px; }
554
+
555
+ td.large-12.last,
556
+ th.large-12.last {
557
+ padding-right: 16px; }
558
+
559
+ .collapse > tbody > tr > td.large-12,
560
+ .collapse > tbody > tr > th.large-12 {
561
+ padding-right: 0;
562
+ padding-left: 0;
563
+ width: 580px; }
564
+
565
+ .collapse td.large-12.first,
566
+ .collapse th.large-12.first,
567
+ .collapse td.large-12.last,
568
+ .collapse th.large-12.last {
569
+ width: 588px; }
570
+
571
+ td.large-12 center,
572
+ th.large-12 center {
573
+ min-width: 532px; }
574
+
575
+ .body .columns td.large-12,
576
+ .body .column td.large-12,
577
+ .body .columns th.large-12,
578
+ .body .column th.large-12 {
579
+ width: 100%; }
580
+
581
+ td.large-offset-1,
582
+ td.large-offset-1.first,
583
+ td.large-offset-1.last,
584
+ th.large-offset-1,
585
+ th.large-offset-1.first,
586
+ th.large-offset-1.last {
587
+ padding-left: 64.33333px; }
588
+
589
+ td.large-offset-2,
590
+ td.large-offset-2.first,
591
+ td.large-offset-2.last,
592
+ th.large-offset-2,
593
+ th.large-offset-2.first,
594
+ th.large-offset-2.last {
595
+ padding-left: 112.66667px; }
596
+
597
+ td.large-offset-3,
598
+ td.large-offset-3.first,
599
+ td.large-offset-3.last,
600
+ th.large-offset-3,
601
+ th.large-offset-3.first,
602
+ th.large-offset-3.last {
603
+ padding-left: 161px; }
604
+
605
+ td.large-offset-4,
606
+ td.large-offset-4.first,
607
+ td.large-offset-4.last,
608
+ th.large-offset-4,
609
+ th.large-offset-4.first,
610
+ th.large-offset-4.last {
611
+ padding-left: 209.33333px; }
612
+
613
+ td.large-offset-5,
614
+ td.large-offset-5.first,
615
+ td.large-offset-5.last,
616
+ th.large-offset-5,
617
+ th.large-offset-5.first,
618
+ th.large-offset-5.last {
619
+ padding-left: 257.66667px; }
620
+
621
+ td.large-offset-6,
622
+ td.large-offset-6.first,
623
+ td.large-offset-6.last,
624
+ th.large-offset-6,
625
+ th.large-offset-6.first,
626
+ th.large-offset-6.last {
627
+ padding-left: 306px; }
628
+
629
+ td.large-offset-7,
630
+ td.large-offset-7.first,
631
+ td.large-offset-7.last,
632
+ th.large-offset-7,
633
+ th.large-offset-7.first,
634
+ th.large-offset-7.last {
635
+ padding-left: 354.33333px; }
636
+
637
+ td.large-offset-8,
638
+ td.large-offset-8.first,
639
+ td.large-offset-8.last,
640
+ th.large-offset-8,
641
+ th.large-offset-8.first,
642
+ th.large-offset-8.last {
643
+ padding-left: 402.66667px; }
644
+
645
+ td.large-offset-9,
646
+ td.large-offset-9.first,
647
+ td.large-offset-9.last,
648
+ th.large-offset-9,
649
+ th.large-offset-9.first,
650
+ th.large-offset-9.last {
651
+ padding-left: 451px; }
652
+
653
+ td.large-offset-10,
654
+ td.large-offset-10.first,
655
+ td.large-offset-10.last,
656
+ th.large-offset-10,
657
+ th.large-offset-10.first,
658
+ th.large-offset-10.last {
659
+ padding-left: 499.33333px; }
660
+
661
+ td.large-offset-11,
662
+ td.large-offset-11.first,
663
+ td.large-offset-11.last,
664
+ th.large-offset-11,
665
+ th.large-offset-11.first,
666
+ th.large-offset-11.last {
667
+ padding-left: 547.66667px; }
668
+
669
+ td.expander,
670
+ th.expander {
671
+ visibility: hidden;
672
+ width: 0;
673
+ padding: 0 !important; }
674
+
675
+ table.container.radius {
676
+ border-radius: 0;
677
+ border-collapse: separate; }
678
+
679
+ .block-grid {
680
+ width: 100%;
681
+ max-width: 580px; }
682
+ .block-grid td {
683
+ display: inline-block;
684
+ padding: 8px; }
685
+
686
+ .up-2 td {
687
+ width: 274px !important; }
688
+
689
+ .up-3 td {
690
+ width: 177px !important; }
691
+
692
+ .up-4 td {
693
+ width: 129px !important; }
694
+
695
+ .up-5 td {
696
+ width: 100px !important; }
697
+
698
+ .up-6 td {
699
+ width: 80px !important; }
700
+
701
+ .up-7 td {
702
+ width: 66px !important; }
703
+
704
+ .up-8 td {
705
+ width: 56px !important; }
706
+
707
+ table.text-center,
708
+ th.text-center,
709
+ td.text-center,
710
+ h1.text-center,
711
+ h2.text-center,
712
+ h3.text-center,
713
+ h4.text-center,
714
+ h5.text-center,
715
+ h6.text-center,
716
+ p.text-center,
717
+ span.text-center {
718
+ text-align: center; }
719
+
720
+ table.text-left,
721
+ th.text-left,
722
+ td.text-left,
723
+ h1.text-left,
724
+ h2.text-left,
725
+ h3.text-left,
726
+ h4.text-left,
727
+ h5.text-left,
728
+ h6.text-left,
729
+ p.text-left,
730
+ span.text-left {
731
+ text-align: left; }
732
+
733
+ table.text-right,
734
+ th.text-right,
735
+ td.text-right,
736
+ h1.text-right,
737
+ h2.text-right,
738
+ h3.text-right,
739
+ h4.text-right,
740
+ h5.text-right,
741
+ h6.text-right,
742
+ p.text-right,
743
+ span.text-right {
744
+ text-align: right; }
745
+
746
+ span.text-center {
747
+ display: block;
748
+ width: 100%;
749
+ text-align: center; }
750
+
751
+ @media only screen and (max-width: 596px) {
752
+ .small-float-center {
753
+ margin: 0 auto !important;
754
+ float: none !important;
755
+ text-align: center !important; }
756
+ .small-text-center {
757
+ text-align: center !important; }
758
+ .small-text-left {
759
+ text-align: left !important; }
760
+ .small-text-right {
761
+ text-align: right !important; } }
762
+
763
+ img.float-left {
764
+ float: left;
765
+ text-align: left; }
766
+
767
+ img.float-right {
768
+ float: right;
769
+ text-align: right; }
770
+
771
+ img.float-center,
772
+ img.text-center {
773
+ margin: 0 auto;
774
+ Margin: 0 auto;
775
+ float: none;
776
+ text-align: center; }
777
+
778
+ table.float-center,
779
+ td.float-center,
780
+ th.float-center {
781
+ margin: 0 auto;
782
+ Margin: 0 auto;
783
+ float: none;
784
+ text-align: center; }
785
+
786
+ .hide-for-large {
787
+ display: none !important;
788
+ mso-hide: all;
789
+ overflow: hidden;
790
+ max-height: 0;
791
+ font-size: 0;
792
+ width: 0;
793
+ line-height: 0; }
794
+ @media only screen and (max-width: 596px) {
795
+ .hide-for-large {
796
+ display: block !important;
797
+ width: auto !important;
798
+ overflow: visible !important;
799
+ max-height: none !important;
800
+ font-size: inherit !important;
801
+ line-height: inherit !important; } }
802
+
803
+ table.body table.container .hide-for-large * {
804
+ mso-hide: all; }
805
+
806
+ @media only screen and (max-width: 596px) {
807
+ table.body table.container .hide-for-large,
808
+ table.body table.container .row.hide-for-large {
809
+ display: table !important;
810
+ width: 100% !important; } }
811
+
812
+ @media only screen and (max-width: 596px) {
813
+ table.body table.container .callout-inner.hide-for-large {
814
+ display: table-cell !important;
815
+ width: 100% !important; } }
816
+
817
+ @media only screen and (max-width: 596px) {
818
+ table.body table.container .show-for-large {
819
+ display: none !important;
820
+ width: 0;
821
+ mso-hide: all;
822
+ overflow: hidden; } }
823
+
824
+ body,
825
+ table.body,
826
+ h1,
827
+ h2,
828
+ h3,
829
+ h4,
830
+ h5,
831
+ h6,
832
+ p,
833
+ td,
834
+ th,
835
+ a {
836
+ color: #0a0a0a;
837
+ font-family: Helvetica, Arial, sans-serif;
838
+ font-weight: normal;
839
+ padding: 0;
840
+ margin: 0;
841
+ Margin: 0;
842
+ text-align: left;
843
+ line-height: 1.3; }
844
+
845
+ h1,
846
+ h2,
847
+ h3,
848
+ h4,
849
+ h5,
850
+ h6 {
851
+ color: inherit;
852
+ word-wrap: normal;
853
+ font-family: Helvetica, Arial, sans-serif;
854
+ font-weight: normal;
855
+ margin-bottom: 10px;
856
+ Margin-bottom: 10px; }
857
+
858
+ h1 {
859
+ font-size: 34px; }
860
+
861
+ h2 {
862
+ font-size: 30px; }
863
+
864
+ h3 {
865
+ font-size: 28px; }
866
+
867
+ h4 {
868
+ font-size: 24px; }
869
+
870
+ h5 {
871
+ font-size: 20px; }
872
+
873
+ h6 {
874
+ font-size: 18px; }
875
+
876
+ body,
877
+ table.body,
878
+ p,
879
+ td,
880
+ th {
881
+ font-size: 16px;
882
+ line-height: 1.3; }
883
+
884
+ p {
885
+ margin-bottom: 10px;
886
+ Margin-bottom: 10px; }
887
+ p.lead {
888
+ font-size: 20px;
889
+ line-height: 1.6; }
890
+ p.subheader {
891
+ margin-top: 4px;
892
+ margin-bottom: 8px;
893
+ Margin-top: 4px;
894
+ Margin-bottom: 8px;
895
+ font-weight: normal;
896
+ line-height: 1.4;
897
+ color: #8a8a8a; }
898
+
899
+ small {
900
+ font-size: 80%;
901
+ color: #cacaca; }
902
+
903
+ a {
904
+ color: #5295ad;
905
+ text-decoration: none; }
906
+ a:hover {
907
+ color: #147dc2; }
908
+ a:active {
909
+ color: #147dc2; }
910
+ a:visited {
911
+ color: #5295ad; }
912
+
913
+ h1 a,
914
+ h1 a:visited,
915
+ h2 a,
916
+ h2 a:visited,
917
+ h3 a,
918
+ h3 a:visited,
919
+ h4 a,
920
+ h4 a:visited,
921
+ h5 a,
922
+ h5 a:visited,
923
+ h6 a,
924
+ h6 a:visited {
925
+ color: #5295ad; }
926
+
927
+ pre {
928
+ background: #f3f3f3;
929
+ margin: 30px 0;
930
+ Margin: 30px 0; }
931
+ pre code {
932
+ color: #cacaca; }
933
+ pre code span.callout {
934
+ color: #8a8a8a;
935
+ font-weight: bold; }
936
+ pre code span.callout-strong {
937
+ color: #ff6908;
938
+ font-weight: bold; }
939
+
940
+ table.hr {
941
+ width: 100%; }
942
+ table.hr th {
943
+ height: 0;
944
+ max-width: 580px;
945
+ border-top: 0;
946
+ border-right: 0;
947
+ border-bottom: 1px solid #0a0a0a;
948
+ border-left: 0;
949
+ margin: 20px auto;
950
+ Margin: 20px auto;
951
+ clear: both; }
952
+
953
+ .stat {
954
+ font-size: 40px;
955
+ line-height: 1; }
956
+ p + .stat {
957
+ margin-top: -16px;
958
+ Margin-top: -16px; }
959
+
960
+ span.preheader {
961
+ display: none !important;
962
+ visibility: hidden;
963
+ mso-hide: all !important;
964
+ font-size: 1px;
965
+ color: #f3f3f3;
966
+ line-height: 1px;
967
+ max-height: 0px;
968
+ max-width: 0px;
969
+ opacity: 0;
970
+ overflow: hidden; }
971
+
972
+ table.button {
973
+ width: auto;
974
+ margin: 0 0 16px 0;
975
+ Margin: 0 0 16px 0; }
976
+ table.button table td {
977
+ text-align: left;
978
+ color: #fefefe;
979
+ background: #c24b29;
980
+ border: 2px solid #c24b29; }
981
+ table.button table td a {
982
+ font-family: Helvetica, Arial, sans-serif;
983
+ font-size: 16px;
984
+ font-weight: bold;
985
+ color: #fefefe;
986
+ text-decoration: none;
987
+ display: inline-block;
988
+ padding: 8px 16px 8px 16px;
989
+ border: 0 solid #c24b29;
990
+ border-radius: 3px; }
991
+ table.button.radius table td {
992
+ border-radius: 3px;
993
+ border: none; }
994
+ table.button.rounded table td {
995
+ border-radius: 500px;
996
+ border: none; }
997
+
998
+ table.button:hover table tr td a,
999
+ table.button:active table tr td a,
1000
+ table.button table tr td a:visited,
1001
+ table.button.tiny:hover table tr td a,
1002
+ table.button.tiny:active table tr td a,
1003
+ table.button.tiny table tr td a:visited,
1004
+ table.button.small:hover table tr td a,
1005
+ table.button.small:active table tr td a,
1006
+ table.button.small table tr td a:visited,
1007
+ table.button.large:hover table tr td a,
1008
+ table.button.large:active table tr td a,
1009
+ table.button.large table tr td a:visited {
1010
+ color: #fefefe; }
1011
+
1012
+ table.button.tiny table td,
1013
+ table.button.tiny table a {
1014
+ padding: 4px 8px 4px 8px; }
1015
+
1016
+ table.button.tiny table a {
1017
+ font-size: 10px;
1018
+ font-weight: normal; }
1019
+
1020
+ table.button.small table td,
1021
+ table.button.small table a {
1022
+ padding: 5px 10px 5px 10px;
1023
+ font-size: 12px; }
1024
+
1025
+ table.button.large table a {
1026
+ padding: 10px 20px 10px 20px;
1027
+ font-size: 20px; }
1028
+
1029
+ table.button.expand,
1030
+ table.button.expanded {
1031
+ width: 100% !important; }
1032
+ table.button.expand table,
1033
+ table.button.expanded table {
1034
+ width: 100%; }
1035
+ table.button.expand table a,
1036
+ table.button.expanded table a {
1037
+ text-align: center;
1038
+ width: 100%;
1039
+ padding-left: 0;
1040
+ padding-right: 0; }
1041
+ table.button.expand center,
1042
+ table.button.expanded center {
1043
+ min-width: 0; }
1044
+
1045
+ table.button:hover table td,
1046
+ table.button:visited table td,
1047
+ table.button:active table td {
1048
+ background: #147dc2;
1049
+ color: #fefefe; }
1050
+
1051
+ table.button:hover table a,
1052
+ table.button:visited table a,
1053
+ table.button:active table a {
1054
+ border: 0 solid #147dc2; }
1055
+
1056
+ table.button.secondary table td {
1057
+ background: #777777;
1058
+ color: #fefefe;
1059
+ border: 0px solid #777777; }
1060
+
1061
+ table.button.secondary table a {
1062
+ color: #fefefe;
1063
+ border: 0 solid #777777; }
1064
+
1065
+ table.button.secondary:hover table td {
1066
+ background: #919191;
1067
+ color: #fefefe; }
1068
+
1069
+ table.button.secondary:hover table a {
1070
+ border: 0 solid #919191; }
1071
+
1072
+ table.button.secondary:hover table td a {
1073
+ color: #fefefe; }
1074
+
1075
+ table.button.secondary:active table td a {
1076
+ color: #fefefe; }
1077
+
1078
+ table.button.secondary table td a:visited {
1079
+ color: #fefefe; }
1080
+
1081
+ table.button.success table td {
1082
+ background: #3adb76;
1083
+ border: 0px solid #3adb76; }
1084
+
1085
+ table.button.success table a {
1086
+ border: 0 solid #3adb76; }
1087
+
1088
+ table.button.success:hover table td {
1089
+ background: #23bf5d; }
1090
+
1091
+ table.button.success:hover table a {
1092
+ border: 0 solid #23bf5d; }
1093
+
1094
+ table.button.alert table td {
1095
+ background: #ec5840;
1096
+ border: 0px solid #ec5840; }
1097
+
1098
+ table.button.alert table a {
1099
+ border: 0 solid #ec5840; }
1100
+
1101
+ table.button.alert:hover table td {
1102
+ background: #e23317; }
1103
+
1104
+ table.button.alert:hover table a {
1105
+ border: 0 solid #e23317; }
1106
+
1107
+ table.button.warning table td {
1108
+ background: #ffae00;
1109
+ border: 0px solid #ffae00; }
1110
+
1111
+ table.button.warning table a {
1112
+ border: 0px solid #ffae00; }
1113
+
1114
+ table.button.warning:hover table td {
1115
+ background: #cc8b00; }
1116
+
1117
+ table.button.warning:hover table a {
1118
+ border: 0px solid #cc8b00; }
1119
+
1120
+ table.callout {
1121
+ margin-bottom: 16px;
1122
+ Margin-bottom: 16px; }
1123
+
1124
+ th.callout-inner {
1125
+ width: 100%;
1126
+ border: 1px solid #cbcbcb;
1127
+ padding: 10px;
1128
+ background: #fefefe; }
1129
+ th.callout-inner.primary {
1130
+ background: #def0fc;
1131
+ border: 1px solid #444444;
1132
+ color: #0a0a0a; }
1133
+ th.callout-inner.secondary {
1134
+ background: #ebebeb;
1135
+ border: 1px solid #444444;
1136
+ color: #0a0a0a; }
1137
+ th.callout-inner.success {
1138
+ background: #e1faea;
1139
+ border: 1px solid #1b9448;
1140
+ color: #fefefe; }
1141
+ th.callout-inner.warning {
1142
+ background: #fff3d9;
1143
+ border: 1px solid #996800;
1144
+ color: #fefefe; }
1145
+ th.callout-inner.alert {
1146
+ background: #fce6e2;
1147
+ border: 1px solid #b42912;
1148
+ color: #fefefe; }
1149
+
1150
+ .thumbnail {
1151
+ border: solid 4px #fefefe;
1152
+ box-shadow: 0 0 0 1px rgba(10, 10, 10, 0.2);
1153
+ display: inline-block;
1154
+ line-height: 0;
1155
+ max-width: 100%;
1156
+ transition: box-shadow 200ms ease-out;
1157
+ border-radius: 3px;
1158
+ margin-bottom: 16px; }
1159
+ .thumbnail:hover, .thumbnail:focus {
1160
+ box-shadow: 0 0 6px 1px rgba(33, 153, 232, 0.5); }
1161
+
1162
+ table.menu {
1163
+ width: 580px; }
1164
+ table.menu td.menu-item,
1165
+ table.menu th.menu-item {
1166
+ padding: 10px;
1167
+ padding-right: 10px; }
1168
+ table.menu td.menu-item a,
1169
+ table.menu th.menu-item a {
1170
+ color: #5295ad; }
1171
+
1172
+ table.menu.vertical td.menu-item,
1173
+ table.menu.vertical th.menu-item {
1174
+ padding: 10px;
1175
+ padding-right: 0;
1176
+ display: block; }
1177
+ table.menu.vertical td.menu-item a,
1178
+ table.menu.vertical th.menu-item a {
1179
+ width: 100%; }
1180
+
1181
+ table.menu.vertical td.menu-item table.menu.vertical td.menu-item,
1182
+ table.menu.vertical td.menu-item table.menu.vertical th.menu-item,
1183
+ table.menu.vertical th.menu-item table.menu.vertical td.menu-item,
1184
+ table.menu.vertical th.menu-item table.menu.vertical th.menu-item {
1185
+ padding-left: 10px; }
1186
+
1187
+ table.menu.text-center a {
1188
+ text-align: center; }
1189
+
1190
+ .menu[align="center"] {
1191
+ width: auto !important; }
1192
+
1193
+ body.outlook p {
1194
+ display: inline !important; }
1195
+
1196
+ @media only screen and (max-width: 596px) {
1197
+ table.body img {
1198
+ width: auto;
1199
+ height: auto; }
1200
+ table.body center {
1201
+ min-width: 0 !important; }
1202
+ table.body .container {
1203
+ width: 95% !important; }
1204
+ table.body .columns,
1205
+ table.body .column {
1206
+ height: auto !important;
1207
+ -moz-box-sizing: border-box;
1208
+ -webkit-box-sizing: border-box;
1209
+ box-sizing: border-box;
1210
+ padding-left: 16px !important;
1211
+ padding-right: 16px !important; }
1212
+ table.body .columns .column,
1213
+ table.body .columns .columns,
1214
+ table.body .column .column,
1215
+ table.body .column .columns {
1216
+ padding-left: 0 !important;
1217
+ padding-right: 0 !important; }
1218
+ table.body .collapse .columns,
1219
+ table.body .collapse .column {
1220
+ padding-left: 0 !important;
1221
+ padding-right: 0 !important; }
1222
+ td.small-1,
1223
+ th.small-1 {
1224
+ display: inline-block !important;
1225
+ width: 8.33333% !important; }
1226
+ td.small-2,
1227
+ th.small-2 {
1228
+ display: inline-block !important;
1229
+ width: 16.66667% !important; }
1230
+ td.small-3,
1231
+ th.small-3 {
1232
+ display: inline-block !important;
1233
+ width: 25% !important; }
1234
+ td.small-4,
1235
+ th.small-4 {
1236
+ display: inline-block !important;
1237
+ width: 33.33333% !important; }
1238
+ td.small-5,
1239
+ th.small-5 {
1240
+ display: inline-block !important;
1241
+ width: 41.66667% !important; }
1242
+ td.small-6,
1243
+ th.small-6 {
1244
+ display: inline-block !important;
1245
+ width: 50% !important; }
1246
+ td.small-7,
1247
+ th.small-7 {
1248
+ display: inline-block !important;
1249
+ width: 58.33333% !important; }
1250
+ td.small-8,
1251
+ th.small-8 {
1252
+ display: inline-block !important;
1253
+ width: 66.66667% !important; }
1254
+ td.small-9,
1255
+ th.small-9 {
1256
+ display: inline-block !important;
1257
+ width: 75% !important; }
1258
+ td.small-10,
1259
+ th.small-10 {
1260
+ display: inline-block !important;
1261
+ width: 83.33333% !important; }
1262
+ td.small-11,
1263
+ th.small-11 {
1264
+ display: inline-block !important;
1265
+ width: 91.66667% !important; }
1266
+ td.small-12,
1267
+ th.small-12 {
1268
+ display: inline-block !important;
1269
+ width: 100% !important; }
1270
+ .columns td.small-12,
1271
+ .column td.small-12,
1272
+ .columns th.small-12,
1273
+ .column th.small-12 {
1274
+ display: block !important;
1275
+ width: 100% !important; }
1276
+ table.body td.small-offset-1,
1277
+ table.body th.small-offset-1 {
1278
+ margin-left: 8.33333% !important;
1279
+ Margin-left: 8.33333% !important; }
1280
+ table.body td.small-offset-2,
1281
+ table.body th.small-offset-2 {
1282
+ margin-left: 16.66667% !important;
1283
+ Margin-left: 16.66667% !important; }
1284
+ table.body td.small-offset-3,
1285
+ table.body th.small-offset-3 {
1286
+ margin-left: 25% !important;
1287
+ Margin-left: 25% !important; }
1288
+ table.body td.small-offset-4,
1289
+ table.body th.small-offset-4 {
1290
+ margin-left: 33.33333% !important;
1291
+ Margin-left: 33.33333% !important; }
1292
+ table.body td.small-offset-5,
1293
+ table.body th.small-offset-5 {
1294
+ margin-left: 41.66667% !important;
1295
+ Margin-left: 41.66667% !important; }
1296
+ table.body td.small-offset-6,
1297
+ table.body th.small-offset-6 {
1298
+ margin-left: 50% !important;
1299
+ Margin-left: 50% !important; }
1300
+ table.body td.small-offset-7,
1301
+ table.body th.small-offset-7 {
1302
+ margin-left: 58.33333% !important;
1303
+ Margin-left: 58.33333% !important; }
1304
+ table.body td.small-offset-8,
1305
+ table.body th.small-offset-8 {
1306
+ margin-left: 66.66667% !important;
1307
+ Margin-left: 66.66667% !important; }
1308
+ table.body td.small-offset-9,
1309
+ table.body th.small-offset-9 {
1310
+ margin-left: 75% !important;
1311
+ Margin-left: 75% !important; }
1312
+ table.body td.small-offset-10,
1313
+ table.body th.small-offset-10 {
1314
+ margin-left: 83.33333% !important;
1315
+ Margin-left: 83.33333% !important; }
1316
+ table.body td.small-offset-11,
1317
+ table.body th.small-offset-11 {
1318
+ margin-left: 91.66667% !important;
1319
+ Margin-left: 91.66667% !important; }
1320
+ table.body table.columns td.expander,
1321
+ table.body table.columns th.expander {
1322
+ display: none !important; }
1323
+ table.body .right-text-pad,
1324
+ table.body .text-pad-right {
1325
+ padding-left: 10px !important; }
1326
+ table.body .left-text-pad,
1327
+ table.body .text-pad-left {
1328
+ padding-right: 10px !important; }
1329
+ table.menu {
1330
+ width: 100% !important; }
1331
+ table.menu td,
1332
+ table.menu th {
1333
+ width: auto !important;
1334
+ display: inline-block !important; }
1335
+ table.menu.vertical td,
1336
+ table.menu.vertical th, table.menu.small-vertical td,
1337
+ table.menu.small-vertical th {
1338
+ display: block !important; }
1339
+ table.menu[align="center"] {
1340
+ width: auto !important; }
1341
+ table.button.small-expand,
1342
+ table.button.small-expanded {
1343
+ width: 100% !important; }
1344
+ table.button.small-expand table,
1345
+ table.button.small-expanded table {
1346
+ width: 100%; }
1347
+ table.button.small-expand table a,
1348
+ table.button.small-expanded table a {
1349
+ text-align: center !important;
1350
+ width: 100% !important;
1351
+ padding-left: 0 !important;
1352
+ padding-right: 0 !important; }
1353
+ table.button.small-expand center,
1354
+ table.button.small-expanded center {
1355
+ min-width: 0; } }
1356
+
1357
+
1358
+ /* 2 - Custom styles ---------*/
1359
+
1360
+ table.body th.decidim-bar, table.body td.decidim-bar{
1361
+ padding: 10px 0;
1362
+ background-color: #1a181d;
1363
+ }
1364
+
1365
+ table.body{
1366
+ background-color: #f3f3f3;
1367
+ margin: 20px 0;
1368
+ }
1369
+
1370
+ .decidim-logo{
1371
+ margin-top: 16px;
1372
+ }
1373
+
1374
+ .decidim-logo a{
1375
+ display: inline-block;
1376
+ height: 30px;
1377
+ }
1378
+
1379
+ .cityhall-bar{
1380
+ background-color: #2c2930;
1381
+ }
1382
+
1383
+ .cityhall-logo{
1384
+ width: 150px;
1385
+ margin-top: 16px;
1386
+ }
1387
+
1388
+ .footnote {
1389
+ padding-top: 10px;
1390
+ color: #666;
1391
+ }
1392
+
1393
+ table.container.main {
1394
+ background: #fefefe;
1395
+ }