diff --git a/app/assets/stylesheets/application.scss b/app/assets/stylesheets/application.scss
index fe57dab83..e49fb0e52 100644
--- a/app/assets/stylesheets/application.scss
+++ b/app/assets/stylesheets/application.scss
@@ -38,7 +38,9 @@
@import "tags";
@import "admin/**/*";
@import "budgets/**/*";
+@import "debates/**/*";
@import "layout/**/*";
+@import "proposals/**/*";
@import "sdg/**/*";
@import "sdg_management/*";
@import "sdg_management/**/*";
diff --git a/app/assets/stylesheets/debates/form.scss b/app/assets/stylesheets/debates/form.scss
new file mode 100644
index 000000000..3945c2686
--- /dev/null
+++ b/app/assets/stylesheets/debates/form.scss
@@ -0,0 +1,13 @@
+.debate-form {
+
+ .globalize-languages,
+ .translatable-fields {
+ @include grid-row-nest;
+ @include grid-column-gutter;
+ }
+
+ .sdg-related-list-selector {
+ padding-left: 0;
+ padding-right: 0;
+ }
+}
diff --git a/app/assets/stylesheets/proposals/form.scss b/app/assets/stylesheets/proposals/form.scss
new file mode 100644
index 000000000..df5d1d880
--- /dev/null
+++ b/app/assets/stylesheets/proposals/form.scss
@@ -0,0 +1,14 @@
+.proposal-form {
+
+ .globalize-languages,
+ .translatable-fields {
+ @include grid-row-nest;
+ @include grid-column-gutter;
+ }
+
+ .sdg-related-list-selector {
+ padding-left: 0;
+ padding-right: 0;
+ }
+}
+
diff --git a/app/components/debates/form_component.html.erb b/app/components/debates/form_component.html.erb
index f486a499e..fa034ed14 100644
--- a/app/components/debates/form_component.html.erb
+++ b/app/components/debates/form_component.html.erb
@@ -1,49 +1,47 @@
-<%= translatable_form_for(debate) do |f| %>
+<%= translatable_form_for(debate, html: { class: "debate-form" }) do |f| %>
<%= render "shared/errors", resource: debate %>
<%= render "shared/globalize_locales", resource: debate %>
-
- <%= f.translatable_fields do |translations_form| %>
-
- <%= translations_form.text_field :title,
- maxlength: Debate.title_max_length,
- data: suggest_data(debate) %>
-
-
+ <%= f.translatable_fields do |translations_form| %>
+
+ <%= translations_form.text_field :title,
+ maxlength: Debate.title_max_length,
+ data: suggest_data(debate) %>
+
+
-
- <%= translations_form.text_area :description,
- maxlength: Debate.description_max_length,
- class: "html-area" %>
-
+
+ <%= translations_form.text_area :description,
+ maxlength: Debate.description_max_length,
+ class: "html-area" %>
+
+ <% end %>
+
+ <%= f.invisible_captcha :subtitle %>
+
+
+ <%= f.text_field :tag_list, value: debate.tag_list.to_s,
+ hint: t("debates.form.tags_instructions"),
+ placeholder: t("debates.form.tags_placeholder"),
+ data: { js_url: suggest_tags_path },
+ class: "tag-autocomplete" %>
+
+
+ <%= render SDG::RelatedListSelectorComponent.new(f) %>
+
+
+ <% if debate.new_record? %>
+ <%= f.check_box :terms_of_service,
+ title: t("form.accept_terms_title"),
+ label: t("form.accept_terms",
+ policy: link_to(t("form.policy"), "/privacy", target: "blank"),
+ conditions: link_to(t("form.conditions"), "/conditions", target: "blank")
+ ) %>
<% end %>
+
- <%= f.invisible_captcha :subtitle %>
-
-
- <%= f.text_field :tag_list, value: debate.tag_list.to_s,
- hint: t("debates.form.tags_instructions"),
- placeholder: t("debates.form.tags_placeholder"),
- data: { js_url: suggest_tags_path },
- class: "tag-autocomplete" %>
-
-
- <%= render SDG::RelatedListSelectorComponent.new(f) %>
-
-
- <% if debate.new_record? %>
- <%= f.check_box :terms_of_service,
- title: t("form.accept_terms_title"),
- label: t("form.accept_terms",
- policy: link_to(t("form.policy"), "/privacy", target: "blank"),
- conditions: link_to(t("form.conditions"), "/conditions", target: "blank")
- ) %>
- <% end %>
-
-
-
- <%= f.submit(class: "button", value: t("debates.#{action_name}.form.submit_button")) %>
-
+
+ <%= f.submit(class: "button", value: t("debates.#{action_name}.form.submit_button")) %>
<% end %>
diff --git a/app/components/proposals/form_component.html.erb b/app/components/proposals/form_component.html.erb
index 3a71dc95f..3831a6f5c 100644
--- a/app/components/proposals/form_component.html.erb
+++ b/app/components/proposals/form_component.html.erb
@@ -1,108 +1,106 @@
-<%= translatable_form_for(proposal, url: url) do |f| %>
+<%= translatable_form_for(proposal, url: url, html: { class: "proposal-form" }) do |f| %>
<%= render "shared/errors", resource: proposal %>
<%= render "shared/globalize_locales", resource: proposal %>
-
- <%= f.translatable_fields do |translations_form| %>
-
- <%= translations_form.text_field :title,
- maxlength: Proposal.title_max_length,
- data: suggest_data(proposal) %>
-
-
+ <%= f.translatable_fields do |translations_form| %>
+
+ <%= translations_form.text_field :title,
+ maxlength: Proposal.title_max_length,
+ data: suggest_data(proposal) %>
+
+
-
- <%= translations_form.text_area :summary,
- rows: 4, maxlength: 200,
- hint: t("proposals.form.proposal_summary_note") %>
-
-
-
- <%= translations_form.text_area :description,
- maxlength: Proposal.description_max_length,
- class: "html-area" %>
-
- <% end %>
-
- <%= f.invisible_captcha :subtitle %>
-
-
- <%= f.text_field :video_url, hint: t("proposals.form.proposal_video_url_note") %>
+
+ <%= translations_form.text_area :summary,
+ rows: 4, maxlength: 200,
+ hint: t("proposals.form.proposal_summary_note") %>
- <% if feature?(:allow_images) %>
-
- <%= render "images/nested_image", imageable: proposal, f: f %>
-
- <% end %>
-
- <% if feature?(:allow_attached_documents) %>
-
- <%= render "documents/nested_documents", documentable: proposal, f: f %>
-
- <% end %>
-
-
- <%= f.select :geozone_id, geozone_select_options,
- include_blank: t("geozones.none") %>
+
+ <%= translations_form.text_area :description,
+ maxlength: Proposal.description_max_length,
+ class: "html-area" %>
+ <% end %>
- <% if feature?(:map) %>
-
- <%= render "map_locations/form_fields",
- form: f,
- map_location: proposal.map_location || MapLocation.new,
- label: t("proposals.form.map_location"),
- help: t("proposals.form.map_location_instructions"),
- remove_marker_label: t("proposals.form.map_remove_marker"),
- parent_class: "proposal",
- i18n_namespace: "proposals" %>
-
- <% end %>
+ <%= f.invisible_captcha :subtitle %>
-
- <%= f.label :tag_list, t("proposals.form.tags_label") %>
-
<%= t("proposals.form.tags_instructions") %>
+
+ <%= f.text_field :video_url, hint: t("proposals.form.proposal_video_url_note") %>
+
-
-
-
- <%= f.text_field :tag_list, value: proposal.tag_list.to_s,
- label: false,
- placeholder: t("proposals.form.tags_placeholder"),
- class: "js-tag-list tag-autocomplete",
- aria: { describedby: "tag-list-help-text" },
- data: { js_url: suggest_tags_path } %>
+ <% if feature?(:allow_images) %>
+
+ <%= render "images/nested_image", imageable: proposal, f: f %>
+ <% end %>
- <% if current_user.unverified? %>
-
- <%= f.text_field :responsible_name,
- hint: t("proposals.form.proposal_responsible_name_note") %>
-
- <% end %>
+ <% if feature?(:allow_attached_documents) %>
+
+ <%= render "documents/nested_documents", documentable: proposal, f: f %>
+
+ <% end %>
- <%= render SDG::RelatedListSelectorComponent.new(f) %>
+
+ <%= f.select :geozone_id, geozone_select_options,
+ include_blank: t("geozones.none") %>
+
-
- <% if proposal.new_record? %>
- <%= f.check_box :terms_of_service,
- title: t("form.accept_terms_title"),
- label: t("form.accept_terms",
- policy: link_to(t("form.policy"), "/privacy", target: "blank"),
- conditions: link_to(t("form.conditions"), "/conditions", target: "blank")
- ) %>
+ <% if feature?(:map) %>
+
+ <%= render "map_locations/form_fields",
+ form: f,
+ map_location: proposal.map_location || MapLocation.new,
+ label: t("proposals.form.map_location"),
+ help: t("proposals.form.map_location_instructions"),
+ remove_marker_label: t("proposals.form.map_remove_marker"),
+ parent_class: "proposal",
+ i18n_namespace: "proposals" %>
+
+ <% end %>
+
+
+ <%= f.label :tag_list, t("proposals.form.tags_label") %>
+
<%= t("proposals.form.tags_instructions") %>
+
+
-
- <%= f.submit(class: "button", value: t("proposals.#{action_name}.form.submit_button")) %>
+
+ <%= f.text_field :tag_list, value: proposal.tag_list.to_s,
+ label: false,
+ placeholder: t("proposals.form.tags_placeholder"),
+ class: "js-tag-list tag-autocomplete",
+ aria: { describedby: "tag-list-help-text" },
+ data: { js_url: suggest_tags_path } %>
+
+
+ <% if current_user.unverified? %>
+
+ <%= f.text_field :responsible_name,
+ hint: t("proposals.form.proposal_responsible_name_note") %>
+ <% end %>
+
+ <%= render SDG::RelatedListSelectorComponent.new(f) %>
+
+
+ <% if proposal.new_record? %>
+ <%= f.check_box :terms_of_service,
+ title: t("form.accept_terms_title"),
+ label: t("form.accept_terms",
+ policy: link_to(t("form.policy"), "/privacy", target: "blank"),
+ conditions: link_to(t("form.conditions"), "/conditions", target: "blank")
+ ) %>
+ <% end %>
+
+
+
+ <%= f.submit(class: "button", value: t("proposals.#{action_name}.form.submit_button")) %>
<% end %>
diff --git a/app/views/debates/edit.html.erb b/app/views/debates/edit.html.erb
index 129cdd8a0..da1a51e05 100644
--- a/app/views/debates/edit.html.erb
+++ b/app/views/debates/edit.html.erb
@@ -1,4 +1,4 @@
-
+
<%= back_link_to %>
diff --git a/app/views/debates/new.html.erb b/app/views/debates/new.html.erb
index ba8a3d1cf..f7da8c74c 100644
--- a/app/views/debates/new.html.erb
+++ b/app/views/debates/new.html.erb
@@ -1,4 +1,4 @@
-
+
<%= back_link_to debates_path %>
diff --git a/app/views/proposals/edit.html.erb b/app/views/proposals/edit.html.erb
index a615dda37..a66bd0ce8 100644
--- a/app/views/proposals/edit.html.erb
+++ b/app/views/proposals/edit.html.erb
@@ -1,4 +1,4 @@
-
+
<%= back_link_to %>
diff --git a/app/views/proposals/new.html.erb b/app/views/proposals/new.html.erb
index 1179be8c1..721e7cee4 100644
--- a/app/views/proposals/new.html.erb
+++ b/app/views/proposals/new.html.erb
@@ -1,4 +1,4 @@
-