decidim-theme 0.1.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (186) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE-AGPLv3.txt +661 -0
  3. data/README.md +104 -0
  4. data/Rakefile +9 -0
  5. data/app/cells/decidim/meetings/meeting_cell.rb +65 -0
  6. data/app/cells/decidim/meetings/meeting_s_overrides/show.erb +25 -0
  7. data/app/cells/decidim/meetings/meeting_s_overrides_cell.rb +53 -0
  8. data/app/controllers/decidim/theme/admin/application_controller.rb +15 -0
  9. data/app/controllers/decidim/theme/application_controller.rb +13 -0
  10. data/app/helpers/decidim/theme/application_helper.rb +10 -0
  11. data/app/models/decidim/theme/application_record.rb +10 -0
  12. data/app/overrides/insert_javascript_tag.rb +6 -0
  13. data/app/overrides/language_chooser_icon.rb +4 -0
  14. data/app/overrides/layouts/decidim/_main_footer/replace_content.html.erb.deface +96 -0
  15. data/app/overrides/layouts/decidim/_mini_footer/replace_content.html.erb.deface +25 -0
  16. data/app/overrides/mailer_styles.rb +36 -0
  17. data/app/overrides/prefix_body.rb +10 -0
  18. data/app/overrides/prefix_classes.rb +63 -0
  19. data/app/overrides/prefix_processes_wrapper.rb +10 -0
  20. data/app/packs/entrypoints/decidim_theme_email.js +1 -0
  21. data/app/packs/entrypoints/decidim_theme_email.scss +2 -0
  22. data/app/packs/entrypoints/decidim_theme_polyfill.js +5 -0
  23. data/app/packs/fonts/decidim/Inter-Black.woff +0 -0
  24. data/app/packs/fonts/decidim/Inter-Black.woff2 +0 -0
  25. data/app/packs/fonts/decidim/Inter-BlackItalic.woff +0 -0
  26. data/app/packs/fonts/decidim/Inter-BlackItalic.woff2 +0 -0
  27. data/app/packs/fonts/decidim/Inter-Bold.woff +0 -0
  28. data/app/packs/fonts/decidim/Inter-Bold.woff2 +0 -0
  29. data/app/packs/fonts/decidim/Inter-BoldItalic.woff +0 -0
  30. data/app/packs/fonts/decidim/Inter-BoldItalic.woff2 +0 -0
  31. data/app/packs/fonts/decidim/Inter-ExtraBold.woff +0 -0
  32. data/app/packs/fonts/decidim/Inter-ExtraBold.woff2 +0 -0
  33. data/app/packs/fonts/decidim/Inter-ExtraBoldItalic.woff +0 -0
  34. data/app/packs/fonts/decidim/Inter-ExtraBoldItalic.woff2 +0 -0
  35. data/app/packs/fonts/decidim/Inter-ExtraLight.woff +0 -0
  36. data/app/packs/fonts/decidim/Inter-ExtraLight.woff2 +0 -0
  37. data/app/packs/fonts/decidim/Inter-ExtraLightItalic.woff +0 -0
  38. data/app/packs/fonts/decidim/Inter-ExtraLightItalic.woff2 +0 -0
  39. data/app/packs/fonts/decidim/Inter-Italic.woff +0 -0
  40. data/app/packs/fonts/decidim/Inter-Italic.woff2 +0 -0
  41. data/app/packs/fonts/decidim/Inter-Light.woff +0 -0
  42. data/app/packs/fonts/decidim/Inter-Light.woff2 +0 -0
  43. data/app/packs/fonts/decidim/Inter-LightItalic.woff +0 -0
  44. data/app/packs/fonts/decidim/Inter-LightItalic.woff2 +0 -0
  45. data/app/packs/fonts/decidim/Inter-Medium.woff +0 -0
  46. data/app/packs/fonts/decidim/Inter-Medium.woff2 +0 -0
  47. data/app/packs/fonts/decidim/Inter-MediumItalic.woff +0 -0
  48. data/app/packs/fonts/decidim/Inter-MediumItalic.woff2 +0 -0
  49. data/app/packs/fonts/decidim/Inter-Regular.woff +0 -0
  50. data/app/packs/fonts/decidim/Inter-Regular.woff2 +0 -0
  51. data/app/packs/fonts/decidim/Inter-SemiBold.woff +0 -0
  52. data/app/packs/fonts/decidim/Inter-SemiBold.woff2 +0 -0
  53. data/app/packs/fonts/decidim/Inter-SemiBoldItalic.woff +0 -0
  54. data/app/packs/fonts/decidim/Inter-SemiBoldItalic.woff2 +0 -0
  55. data/app/packs/fonts/decidim/Inter-Thin.woff +0 -0
  56. data/app/packs/fonts/decidim/Inter-Thin.woff2 +0 -0
  57. data/app/packs/fonts/decidim/Inter-ThinItalic.woff +0 -0
  58. data/app/packs/fonts/decidim/Inter-ThinItalic.woff2 +0 -0
  59. data/app/packs/fonts/decidim/Inter-italic.var.woff2 +0 -0
  60. data/app/packs/fonts/decidim/Inter-roman.var.woff2 +0 -0
  61. data/app/packs/fonts/decidim/Inter.var.woff2 +0 -0
  62. data/app/packs/images/decidim/cc-by-sa-4.svg +8 -0
  63. data/app/packs/images/decidim/decidim-initial.svg +9 -0
  64. data/app/packs/images/decidim/theme/icon.svg +1 -0
  65. data/app/packs/javascripts/empty.polyfill.js +7 -0
  66. data/app/packs/javascripts/has.polyfill.js +30 -0
  67. data/app/packs/stylesheets/decidim/theme/_font_face.scss +180 -0
  68. data/app/packs/stylesheets/decidim/theme/_theme.scss +121 -0
  69. data/app/packs/stylesheets/decidim/theme/_theme_settings.scss +923 -0
  70. data/app/packs/stylesheets/decidim/theme/_theme_variables.scss +80 -0
  71. data/app/packs/stylesheets/decidim/theme/atoms/Buttons/_Generic.scss +98 -0
  72. data/app/packs/stylesheets/decidim/theme/atoms/Buttons/_Misc.scss +115 -0
  73. data/app/packs/stylesheets/decidim/theme/atoms/Buttons/_Navigation.scss +83 -0
  74. data/app/packs/stylesheets/decidim/theme/atoms/Typography/_Body.scss +88 -0
  75. data/app/packs/stylesheets/decidim/theme/atoms/Typography/_Headline.scss +98 -0
  76. data/app/packs/stylesheets/decidim/theme/atoms/Typography/_mixins.scss +109 -0
  77. data/app/packs/stylesheets/decidim/theme/email.scss +41 -0
  78. data/app/packs/stylesheets/decidim/theme/molecules/Callouts/_default.scss +41 -0
  79. data/app/packs/stylesheets/decidim/theme/molecules/Cards/_card_process.scss +24 -0
  80. data/app/packs/stylesheets/decidim/theme/molecules/Cards/_data-item.scss +31 -0
  81. data/app/packs/stylesheets/decidim/theme/molecules/Cards/_documents.scss +46 -0
  82. data/app/packs/stylesheets/decidim/theme/molecules/Cards/_extra.scss +32 -0
  83. data/app/packs/stylesheets/decidim/theme/molecules/Cards/_upcoming_meetings.scss +47 -0
  84. data/app/packs/stylesheets/decidim/theme/organisms/_account.scss +129 -0
  85. data/app/packs/stylesheets/decidim/theme/organisms/_accountability.scss +119 -0
  86. data/app/packs/stylesheets/decidim/theme/organisms/_assembly.scss +5 -0
  87. data/app/packs/stylesheets/decidim/theme/organisms/_authorizations.scss +25 -0
  88. data/app/packs/stylesheets/decidim/theme/organisms/_blog.scss +77 -0
  89. data/app/packs/stylesheets/decidim/theme/organisms/_budgets.scss +221 -0
  90. data/app/packs/stylesheets/decidim/theme/organisms/_cookie_warning.scss +6 -0
  91. data/app/packs/stylesheets/decidim/theme/organisms/_debate.scss +65 -0
  92. data/app/packs/stylesheets/decidim/theme/organisms/_footer.scss +145 -0
  93. data/app/packs/stylesheets/decidim/theme/organisms/_groups.scss +49 -0
  94. data/app/packs/stylesheets/decidim/theme/organisms/_logins.scss +45 -0
  95. data/app/packs/stylesheets/decidim/theme/organisms/_meetings.scss +214 -0
  96. data/app/packs/stylesheets/decidim/theme/organisms/_members.scss +6 -0
  97. data/app/packs/stylesheets/decidim/theme/organisms/_messaging.scss +118 -0
  98. data/app/packs/stylesheets/decidim/theme/organisms/_metrics.scss +31 -0
  99. data/app/packs/stylesheets/decidim/theme/organisms/_notifications.scss +20 -0
  100. data/app/packs/stylesheets/decidim/theme/organisms/_processes.scss +12 -0
  101. data/app/packs/stylesheets/decidim/theme/organisms/_proposals.scss +150 -0
  102. data/app/packs/stylesheets/decidim/theme/organisms/_search.scss +12 -0
  103. data/app/packs/stylesheets/decidim/theme/organisms/_sortitions.scss +65 -0
  104. data/app/packs/stylesheets/decidim/theme/organisms/_surveys.scss +65 -0
  105. data/app/packs/stylesheets/decidim/theme/organisms/_text_page.scss +115 -0
  106. data/app/packs/stylesheets/decidim/theme/organisms/_user_conversations.scss +7 -0
  107. data/app/packs/stylesheets/decidim/theme/reset/_author.scss +36 -0
  108. data/app/packs/stylesheets/decidim/theme/reset/_author_avatar.scss +182 -0
  109. data/app/packs/stylesheets/decidim/theme/reset/_badges.scss +159 -0
  110. data/app/packs/stylesheets/decidim/theme/reset/_base.scss +543 -0
  111. data/app/packs/stylesheets/decidim/theme/reset/_budget-list.scss +202 -0
  112. data/app/packs/stylesheets/decidim/theme/reset/_budget-meter.scss +85 -0
  113. data/app/packs/stylesheets/decidim/theme/reset/_buttons.scss +538 -0
  114. data/app/packs/stylesheets/decidim/theme/reset/_callout.scss +37 -0
  115. data/app/packs/stylesheets/decidim/theme/reset/_card.scss +1480 -0
  116. data/app/packs/stylesheets/decidim/theme/reset/_categories.scss +130 -0
  117. data/app/packs/stylesheets/decidim/theme/reset/_collapsible.scss +59 -0
  118. data/app/packs/stylesheets/decidim/theme/reset/_columns.scss +8 -0
  119. data/app/packs/stylesheets/decidim/theme/reset/_comments.scss +320 -0
  120. data/app/packs/stylesheets/decidim/theme/reset/_conversation.scss +158 -0
  121. data/app/packs/stylesheets/decidim/theme/reset/_data-consent.scss +133 -0
  122. data/app/packs/stylesheets/decidim/theme/reset/_data-picker.scss +243 -0
  123. data/app/packs/stylesheets/decidim/theme/reset/_definition_data.scss +93 -0
  124. data/app/packs/stylesheets/decidim/theme/reset/_docs-manager.scss +16 -0
  125. data/app/packs/stylesheets/decidim/theme/reset/_dropdown_menu.scss +312 -0
  126. data/app/packs/stylesheets/decidim/theme/reset/_errors.scss +87 -0
  127. data/app/packs/stylesheets/decidim/theme/reset/_extra.scss +56 -0
  128. data/app/packs/stylesheets/decidim/theme/reset/_filters.scss +224 -0
  129. data/app/packs/stylesheets/decidim/theme/reset/_floating_helper.scss +133 -0
  130. data/app/packs/stylesheets/decidim/theme/reset/_form.scss +176 -0
  131. data/app/packs/stylesheets/decidim/theme/reset/_home.scss +416 -0
  132. data/app/packs/stylesheets/decidim/theme/reset/_home_section.scss +23 -0
  133. data/app/packs/stylesheets/decidim/theme/reset/_horizontal-tabs.scss +130 -0
  134. data/app/packs/stylesheets/decidim/theme/reset/_icons.scss +3 -0
  135. data/app/packs/stylesheets/decidim/theme/reset/_inline-filters.scss +77 -0
  136. data/app/packs/stylesheets/decidim/theme/reset/_label.scss +79 -0
  137. data/app/packs/stylesheets/decidim/theme/reset/_labels.scss +53 -0
  138. data/app/packs/stylesheets/decidim/theme/reset/_layout.scss +82 -0
  139. data/app/packs/stylesheets/decidim/theme/reset/_lines_breadcrumb.scss +38 -0
  140. data/app/packs/stylesheets/decidim/theme/reset/_login.scss +3 -0
  141. data/app/packs/stylesheets/decidim/theme/reset/_logo_wrapper.scss +28 -0
  142. data/app/packs/stylesheets/decidim/theme/reset/_main_container.scss +96 -0
  143. data/app/packs/stylesheets/decidim/theme/reset/_metric-chart.scss +25 -0
  144. data/app/packs/stylesheets/decidim/theme/reset/_navbar.scss +763 -0
  145. data/app/packs/stylesheets/decidim/theme/reset/_opinion_toggle.scss +55 -0
  146. data/app/packs/stylesheets/decidim/theme/reset/_order-by.scss +34 -0
  147. data/app/packs/stylesheets/decidim/theme/reset/_org-chart.scss +6 -0
  148. data/app/packs/stylesheets/decidim/theme/reset/_pagination.scss +195 -0
  149. data/app/packs/stylesheets/decidim/theme/reset/_process.scss +20 -0
  150. data/app/packs/stylesheets/decidim/theme/reset/_process_header.scss +97 -0
  151. data/app/packs/stylesheets/decidim/theme/reset/_process_header_phase.scss +13 -0
  152. data/app/packs/stylesheets/decidim/theme/reset/_process_nav.scss +317 -0
  153. data/app/packs/stylesheets/decidim/theme/reset/_progress_bar.scss +89 -0
  154. data/app/packs/stylesheets/decidim/theme/reset/_quill.scss +47 -0
  155. data/app/packs/stylesheets/decidim/theme/reset/_result_per_page.scss +82 -0
  156. data/app/packs/stylesheets/decidim/theme/reset/_results.scss +158 -0
  157. data/app/packs/stylesheets/decidim/theme/reset/_reveal.scss +210 -0
  158. data/app/packs/stylesheets/decidim/theme/reset/_scope-picker.scss +10 -0
  159. data/app/packs/stylesheets/decidim/theme/reset/_select.scss +92 -0
  160. data/app/packs/stylesheets/decidim/theme/reset/_signup.scss +179 -0
  161. data/app/packs/stylesheets/decidim/theme/reset/_statistics.scss +42 -0
  162. data/app/packs/stylesheets/decidim/theme/reset/_switch.scss +272 -0
  163. data/app/packs/stylesheets/decidim/theme/reset/_tabs.scss +4 -0
  164. data/app/packs/stylesheets/decidim/theme/reset/_tags.scss +47 -0
  165. data/app/packs/stylesheets/decidim/theme/reset/_thumbnail.scss +66 -0
  166. data/app/packs/stylesheets/decidim/theme/reset/_timeline.scss +183 -0
  167. data/app/packs/stylesheets/decidim/theme/reset/_title_bar.scss +89 -0
  168. data/app/packs/stylesheets/decidim/theme/reset/_toggle.scss +14 -0
  169. data/app/packs/stylesheets/decidim/theme/reset/_tooltip.scss +173 -0
  170. data/app/packs/stylesheets/decidim/theme/reset/_typography.scss +283 -0
  171. data/app/packs/stylesheets/decidim/theme/reset/_upload_modal.scss +140 -0
  172. data/app/packs/stylesheets/decidim/theme/reset/_user-form.scss +15 -0
  173. data/app/packs/stylesheets/decidim/theme/reset/_user.scss +184 -0
  174. data/app/packs/stylesheets/decidim/theme/reset/_versions.scss +82 -0
  175. data/app/packs/stylesheets/decidim/theme/reset/_wrapper.scss +3 -0
  176. data/config/assets.rb +17 -0
  177. data/config/i18n-tasks.yml +10 -0
  178. data/config/locales/en.yml +62 -0
  179. data/config/locales/fr.yml +11 -0
  180. data/lib/decidim/theme/admin.rb +10 -0
  181. data/lib/decidim/theme/admin_engine.rb +27 -0
  182. data/lib/decidim/theme/engine.rb +29 -0
  183. data/lib/decidim/theme/test/factories.rb +13 -0
  184. data/lib/decidim/theme/version.rb +13 -0
  185. data/lib/decidim/theme.rb +12 -0
  186. metadata +271 -0
@@ -0,0 +1,1480 @@
1
+ /* Variables */
2
+
3
+ $card-bg: var(--white);
4
+ $card-secondary-bg: var(--grey1);
5
+ $card-border: $border;
6
+ $card-border-radius: var(--card-corner-radius);
7
+ $card-border-top-width: 8px;
8
+ $card-shadow: var(--card-shadow);
9
+ $card-id: var(--grey2);
10
+
11
+ $card-padding-small: 1rem;
12
+ $card-padding: 1.5rem;
13
+ $card-margin-bottom: map-get($grid-column-gutter, medium);
14
+
15
+ $card-footer-bg: var(--white);
16
+
17
+ $card-proposal: var(--proposals);
18
+ $card-action: var(--actions);
19
+ $card-debate: var(--debates);
20
+ $card-meeting: var(--meetings);
21
+ $card-spaces: var(--meetings);
22
+
23
+ $datetime-bg: var(--primary);
24
+
25
+ @mixin data-item-with-label {
26
+ @extend .body-5;
27
+ // @extend .body-5-medium;
28
+ color: var(--emphasis-med) !important;
29
+ & > strong {
30
+ letter-spacing: normal;
31
+ text-transform: uppercase;
32
+ font-weight: 400;
33
+ letter-spacing: 0.03em;
34
+ @extend .body-6;
35
+ color: var(--emphasis-low);
36
+ }
37
+ }
38
+
39
+ /* Cards */
40
+ .card {
41
+ position: relative;
42
+ margin-bottom: $card-margin-bottom;
43
+ background: $card-bg;
44
+ border: $card-border;
45
+ border-radius: $card-border-radius;
46
+ // Keep visible for accessibility (active/focused card as a link)
47
+ overflow: visible;
48
+ overflow-wrap: break-word;
49
+ hyphens: auto;
50
+
51
+ @include modifiers(
52
+ border-top-color,
53
+ (
54
+ muted: rgba($muted, 0.3),
55
+ )
56
+ ) {
57
+ border-top-width: $card-border-top-width;
58
+ }
59
+ }
60
+
61
+ .card--nomargin {
62
+ margin-bottom: 0;
63
+ }
64
+
65
+ .card--secondary {
66
+ background: $card-secondary-bg;
67
+ box-shadow: none;
68
+ }
69
+
70
+ .card__content {
71
+ padding: 0;
72
+ display: flex;
73
+ flex: 1;
74
+ flex-direction: column;
75
+ align-items: flex-start;
76
+ justify-content: flex-start;
77
+
78
+ &:not(:only-child) {
79
+ padding-bottom: 0;
80
+ }
81
+
82
+ @include breakpoint(medium) {
83
+ padding: 0;
84
+
85
+ &:not(:only-child) {
86
+ padding-bottom: 0;
87
+ }
88
+ }
89
+ }
90
+
91
+ .card__content--center {
92
+ text-align: center;
93
+ }
94
+
95
+ .card__extra {
96
+ background: $card-secondary-bg;
97
+ padding: $card-padding-small;
98
+ }
99
+
100
+ .card__title {
101
+ @extend .body-3;
102
+ @extend .body-3-medium;
103
+ }
104
+
105
+ a.card__title,
106
+ a .card__title {
107
+ &:hover {
108
+ text-decoration: underline;
109
+ }
110
+ }
111
+
112
+ .card--assembly,
113
+ .card--proposal,
114
+ .card--debate {
115
+ .card__text--paragraph {
116
+ .card__text--status {
117
+ display: inline-block;
118
+ float: none;
119
+ }
120
+ & > div {
121
+ display: inline;
122
+ }
123
+ }
124
+ & > .card__content > .card__header {
125
+ margin-top: 1.5rem;
126
+ width: 100%;
127
+ }
128
+ }
129
+
130
+ .card__header {
131
+ padding-left: $card-padding;
132
+ padding-bottom: $card-padding-small;
133
+ padding-top: 0;
134
+ width: 100%;
135
+ .card__title {
136
+ max-width: 95%;
137
+ margin-bottom: 0.5rem;
138
+ }
139
+
140
+ &.collapse {
141
+ margin-bottom: 0;
142
+ }
143
+
144
+ &.mb-none {
145
+ //used on coments cards (see homepage)
146
+ padding: 0 $card-padding $card-padding $card-padding !important;
147
+ }
148
+ }
149
+ .btn--card__button {
150
+ @extend .body-4;
151
+ @extend .body-4-link;
152
+ height: auto;
153
+ flex: 0;
154
+ min-width: fit-content;
155
+ text-align: right;
156
+ justify-content: flex-end;
157
+ text-wrap: nowrap;
158
+ @include breakpoint(smallmedium down) {
159
+ white-space: nowrap;
160
+ text-overflow: ellipsis;
161
+ overflow: hidden;
162
+ max-width: 95%;
163
+ }
164
+
165
+ &,
166
+ &:focus,
167
+ &:hover {
168
+ margin: 0;
169
+ cursor: pointer;
170
+ align-items: flex-end !important;
171
+ padding: 0 !important;
172
+ border-radius: 0 !important;
173
+ background-color: transparent !important;
174
+ border-width: 0 !important;
175
+ }
176
+ }
177
+ .card__button,
178
+ a.card__button {
179
+ @extend .btn--card__button;
180
+ }
181
+
182
+ .card .card__footer a.card__button,
183
+ .card .card__footer a.button {
184
+ @extend .btn--card__button;
185
+ }
186
+
187
+ .card.card--process {
188
+ & > .card__footer:not(.card__footer--spaces) {
189
+ & > .card__support {
190
+ flex-direction: column;
191
+ align-items: flex-end;
192
+ }
193
+ }
194
+ .card__footer .card__support {
195
+ flex-direction: row;
196
+ align-items: center;
197
+ }
198
+ }
199
+ .card__header {
200
+ margin-bottom: 0.62rem;
201
+ }
202
+ .card__type {
203
+ background: var(--grey1);
204
+ padding: 0.1rem 1rem;
205
+ margin-top: 0.5rem;
206
+ margin-bottom: -0.75rem;
207
+ font-size: 80%;
208
+ font-weight: var(--font-weight-bold);
209
+ letter-spacing: 0.05em;
210
+ text-transform: uppercase;
211
+ color: var(--grey2);
212
+ display: flex;
213
+ align-self: flex-start;
214
+ align-items: center;
215
+
216
+ .icon {
217
+ width: 14px;
218
+ height: 14px;
219
+ fill: $muted;
220
+ margin-right: 0.2rem;
221
+ }
222
+ }
223
+ .card .tags {
224
+ padding: $card-padding-small $card-padding;
225
+ }
226
+ .card__text {
227
+ //Changed from padding-top = 0 to card-padding-small in order to fix wrongly wrapped texts in cards
228
+ padding: $card-padding-small $card-padding;
229
+ margin-bottom: 0;
230
+ &:first-child {
231
+ margin-top: -0.25em; //balances top alignment in card
232
+ }
233
+ p {
234
+ margin-bottom: 0;
235
+ }
236
+ a:hover {
237
+ color: var(--secondary);
238
+ text-decoration: underline;
239
+ }
240
+
241
+ .card__text--status {
242
+ @extend .body-4;
243
+ @extend .body-4-bold;
244
+ @extend .body-4-caps;
245
+ float: left;
246
+ margin-bottom: 0;
247
+ padding-bottom: 0;
248
+ line-height: 1.2;
249
+ margin-right: 0.25rem;
250
+ &::after {
251
+ content: " ";
252
+ }
253
+
254
+ @include modifiers(
255
+ color,
256
+ (
257
+ muted: $muted,
258
+ )
259
+ );
260
+ }
261
+
262
+ &:not(:last-child) {
263
+ margin-bottom: $global-margin * 0.5;
264
+ }
265
+
266
+ &.card--picture-offset {
267
+ // _author-avatar.scss:58 (.author-data--big .author__avatar img)
268
+ // _author-avatar.scss:133 padding (.author__avatar)
269
+ margin-left: calc(#{rem-calc(32)} + 0.5rem);
270
+ }
271
+ }
272
+
273
+ .card__text--category,
274
+ .tags {
275
+ padding: $card-padding-small $card-padding;
276
+ display: block;
277
+ margin-top: 0;
278
+ }
279
+
280
+ .card__text--separated-mid-dot {
281
+ @include inline-separator(" · ");
282
+ }
283
+ a:has(.card__image img, .card__image-top
284
+ img, img.card__image, img.card__image-top),
285
+ a.js-link-with-image,
286
+ a.js-link-image {
287
+ position: relative;
288
+ padding-bottom: 42.6315%;
289
+ overflow: hidden;
290
+ }
291
+
292
+ .card:not(.alert) a:has(.card__image-top),
293
+ .card:not(.alert) a:has(img.card__image),
294
+ .card:not(.alert) a.js-link-with-image {
295
+ border-top-left-radius: var(--card-corner-radius);
296
+ border-top-right-radius: var(--card-corner-radius);
297
+ }
298
+
299
+ .card.card--meeting, .card.card--proposal {
300
+ &:not(.alert) a:has(.card__image-top),
301
+ &:not(.alert) a:has(img.card__image),
302
+ &:not(.alert) a.js-link-with-image {
303
+ border-top-left-radius: 0;
304
+ border-top-right-radius: 0;
305
+ }
306
+ }
307
+
308
+ .card__image {
309
+ background: var(--grey1);
310
+ position: absolute;
311
+ top: 0;
312
+ bottom: 0;
313
+ left: 0;
314
+ right: 0;
315
+ width: 100%;
316
+ height: 100%;
317
+ object-fit: cover;
318
+ background-size: cover !important;
319
+ background-position: center !important;
320
+
321
+ &.card__image--smaller,
322
+ &.card__image--larger {
323
+ max-height: auto;
324
+ min-height: auto;
325
+ }
326
+ }
327
+
328
+ /* Card datetime */
329
+ // NOTE: Possible deprecated
330
+ .card__datetime {
331
+ flex-shrink: 0;
332
+ text-align: center;
333
+ margin-bottom: 1rem;
334
+ padding: 0.5rem;
335
+ font-weight: var(--font-weight-semibold);
336
+ display: flex;
337
+ align-items: baseline;
338
+ border-left: 4px solid var(--primary);
339
+ background: $card-secondary-bg;
340
+ line-height: 1;
341
+ }
342
+
343
+ .card__datetime__date {
344
+ font-size: 1.4rem;
345
+ margin-right: 1rem;
346
+ }
347
+
348
+ .card__datetime__month {
349
+ text-transform: lowercase;
350
+ font-variant: small-caps;
351
+ font-size: 1.2rem;
352
+ }
353
+
354
+ .card__datetime__time {
355
+ font-size: 0.8rem;
356
+ }
357
+
358
+ /* Card footer */
359
+ .card__footer {
360
+ background: $card-footer-bg;
361
+ border-top: $card-border;
362
+ border-radius: 0 0 $card-border-radius $card-border-radius;
363
+ clear: both;
364
+
365
+ .card__content {
366
+ display: flex;
367
+ }
368
+ & > .card__support > .card__button,
369
+ .card__button,
370
+ .card__button.button.button--sc.secondary.light.small {
371
+ @extend .btn--card__button;
372
+ }
373
+ }
374
+
375
+ .card__footer--transparent {
376
+ background: transparent;
377
+ }
378
+
379
+ .card__footer--data {
380
+ display: flex;
381
+ align-items: center;
382
+
383
+ .card__content {
384
+ flex-grow: 0;
385
+ }
386
+
387
+ .card-data {
388
+ flex-grow: 1;
389
+ flex-direction: column;
390
+ }
391
+
392
+ .card-data__item {
393
+ flex-basis: auto;
394
+ border-right: none;
395
+ border-left: $border;
396
+ border-bottom: $border;
397
+
398
+ &:last-of-type {
399
+ border-bottom: none;
400
+ }
401
+ }
402
+ }
403
+
404
+ .card.card--activity .card__author.inline-block {
405
+ padding-top: 0;
406
+ }
407
+
408
+ .card__author {
409
+ margin-bottom: 1rem;
410
+ margin-left: 1.5rem;
411
+ line-height: 1.8;
412
+ //Used in blog component
413
+ padding: 0.6rem 0;
414
+
415
+ // Hack when there's a toggler list
416
+ [data-toggler] {
417
+ margin-bottom: -0.5rem;
418
+ }
419
+
420
+ &.inline-block {
421
+ display: inline-block;
422
+ padding: 0;
423
+ }
424
+ }
425
+
426
+ .card__voting {
427
+ display: inline-block;
428
+ text-align: center;
429
+ }
430
+
431
+ .card__vote-number {
432
+ font-size: 1.3rem;
433
+ font-weight: var(--font-weight-semibold);
434
+ line-height: 1;
435
+ }
436
+ .card.card--activity {
437
+ padding-top: 1rem;
438
+ .card__content {
439
+ margin: 0;
440
+ }
441
+ .card__text {
442
+ top: 0;
443
+ padding-top: 0;
444
+ padding-bottom: 0;
445
+ margin: 0;
446
+ position: relative;
447
+ }
448
+ .card__text .text-medium {
449
+ @extend .body-5;
450
+ }
451
+ }
452
+ /* Card activity date */
453
+ .card__activity-date {
454
+ margin-bottom: 0rem;
455
+ .text-medium {
456
+ @extend .body-5;
457
+ }
458
+ &.inline-block {
459
+ display: inline-block;
460
+ padding-left: 1.5rem;
461
+ &.before-content::before {
462
+ content: "";
463
+ margin-right: 0.8rem;
464
+ border-right: $border;
465
+ height: 0;
466
+ display: none;
467
+ vertical-align: middle;
468
+ }
469
+ }
470
+ }
471
+
472
+ /* Card data */
473
+ .card-data {
474
+ list-style: none;
475
+ margin: 0;
476
+ padding-left: 0.5rem;
477
+ padding-right: 0.5rem;
478
+ display: flex;
479
+ flex-wrap: wrap;
480
+ //removed after padding modifications
481
+ //border-top: var(--divider-border);
482
+
483
+ &:empty,
484
+ &:blank {
485
+ border-top: 0;
486
+ }
487
+
488
+ a:hover {
489
+ text-decoration: underline;
490
+ }
491
+ }
492
+
493
+ .card-data__item--centerblock {
494
+ @extend .card__data-item;
495
+ margin: 0 auto;
496
+ text-align: center;
497
+
498
+ & > .text-left {
499
+ padding: $card-padding;
500
+ text-align: left;
501
+ }
502
+ }
503
+
504
+ .card-data__item {
505
+ @extend .card__data-item;
506
+ flex-basis: 33.33%;
507
+ flex-grow: 1;
508
+ text-align: inherit;
509
+ color: $muted;
510
+ padding: 1rem 1px 1rem $card-padding;
511
+ border-right: $border;
512
+ margin-right: -1px;
513
+ border-top: $border;
514
+ margin-top: -1px;
515
+ font-weight: normal;
516
+ strong {
517
+ width: 100%;
518
+ display: inline-block;
519
+ font-weight: normal !important;
520
+ }
521
+
522
+ &.card-data__item--expand {
523
+ line-height: $global-lineheight;
524
+ }
525
+
526
+ [data-toggle] {
527
+ margin-bottom: 0;
528
+ }
529
+
530
+ > div {
531
+ @include data-item-with-label;
532
+ }
533
+ }
534
+
535
+ .card-data__item__number {
536
+ display: block;
537
+ line-height: 1;
538
+ font-weight: var(--font-weight-semibold);
539
+ font-size: rem-calc(20);
540
+ color: var(--emphasis-med);
541
+ margin-bottom: 0.2rem;
542
+ }
543
+
544
+ .card-data__item--multiple {
545
+ display: flex;
546
+ justify-content: space-between;
547
+ align-items: center;
548
+
549
+ @include flexgap(1rem);
550
+
551
+ > div {
552
+ text-align: left;
553
+ display: inline-flex;
554
+ align-items: center;
555
+ gap: 0.25rem;
556
+ }
557
+ }
558
+
559
+ /* Card popularity */
560
+
561
+ .card__popularity {
562
+ padding: $card-padding;
563
+ text-align: center;
564
+
565
+ .icon {
566
+ fill: var(--grey2);
567
+ }
568
+ }
569
+
570
+ .card__popularity__data {
571
+ text-align: center;
572
+ font-size: 85%;
573
+ line-height: 1;
574
+ margin-bottom: 0.2rem;
575
+ color: $muted;
576
+ }
577
+
578
+ /* Card support */
579
+
580
+ .card__support {
581
+ display: flex;
582
+ flex-wrap: wrap;
583
+ align-items: center;
584
+ border-top: var(--divider-border);
585
+ padding: 1rem;
586
+ margin-left: auto;
587
+ justify-content: flex-end;
588
+ &:has(div) {
589
+ justify-content: space-between;
590
+ }
591
+ & > :last-child {
592
+ justify-self: flex-end;
593
+ }
594
+ &:empty {
595
+ display: none;
596
+ }
597
+
598
+ & > *:only-child {
599
+ flex: 1;
600
+ align-items: flex-end;
601
+ justify-content: flex-end;
602
+ }
603
+
604
+ @include breakpoint(medium) {
605
+ padding: 1rem;
606
+ }
607
+
608
+ & > .card__button:first-child {
609
+ margin-left: auto;
610
+ }
611
+
612
+ .card__button {
613
+ @extend .btn--card__button;
614
+ text-wrap: pretty;
615
+ text-align: left;
616
+ }
617
+
618
+ > .author-data {
619
+ margin-bottom: 0;
620
+ }
621
+ }
622
+
623
+ .card__support__data {
624
+ text-align: center;
625
+ font-size: 85%;
626
+ line-height: 1;
627
+ margin-bottom: 0.2rem;
628
+ color: $muted;
629
+ }
630
+
631
+ .card__support__data--left {
632
+ @extend .card__support__data;
633
+ margin-right: auto;
634
+ text-align: left;
635
+ text-transform: none;
636
+ margin-bottom: 0;
637
+ color: $muted;
638
+ max-width: 60%;
639
+
640
+ strong {
641
+ font-size: rem-calc(16);
642
+ white-space: nowrap;
643
+ overflow: hidden;
644
+ text-overflow: ellipsis;
645
+ }
646
+ }
647
+
648
+ .card__support__number {
649
+ line-height: 1;
650
+ font-weight: var(--font-weight-semibold);
651
+ font-size: rem-calc(20);
652
+ color: var(--primary);
653
+ }
654
+
655
+ /* Card with image */
656
+ .card__img {
657
+ text-align: center;
658
+
659
+ @include breakpoint(large) {
660
+ float: right;
661
+ width: 35%;
662
+ }
663
+ }
664
+
665
+ .card__content--img {
666
+ @include breakpoint(large) {
667
+ float: left;
668
+ width: 60%;
669
+ }
670
+ }
671
+
672
+ /* Card Link */
673
+ .card__link {
674
+ color: var(--primary);
675
+ &:hover {
676
+ color: var(--primary);
677
+ text-decoration: none;
678
+ > :first-child {
679
+ text-decoration: underline;
680
+ }
681
+ }
682
+ }
683
+
684
+ .card__link--block {
685
+ display: block;
686
+ }
687
+
688
+ /* Card list */
689
+ .card--list {
690
+ .card--list__item:not(:last-child),
691
+ *:not(:last-child) .card--list__item {
692
+ border-bottom: 1px solid var(--grey2);
693
+ }
694
+ }
695
+
696
+ .card--list__item {
697
+ display: flex;
698
+ align-items: center;
699
+ padding-left: $card-padding-small;
700
+
701
+ .card--list--mini & {
702
+ padding-left: $card-padding-small;
703
+
704
+ .card__link {
705
+ display: flex;
706
+ align-items: center;
707
+ }
708
+ }
709
+
710
+ @include breakpoint(medium) {
711
+ padding-left: $card-padding;
712
+ }
713
+
714
+ svg {
715
+ flex-basis: 15%;
716
+ flex-shrink: 0;
717
+ }
718
+
719
+ svg + div {
720
+ max-width: calc(85% - #{$global-margin});
721
+ overflow-wrap: break-word;
722
+ }
723
+ }
724
+
725
+ .card--list__icon {
726
+ display: none;
727
+ fill: $anchor-color;
728
+
729
+ @include modifiers(fill);
730
+
731
+ @include breakpoint(medium) {
732
+ margin-right: 1rem;
733
+ display: block;
734
+ width: 30px;
735
+ height: 30px;
736
+ flex-shrink: 0;
737
+ }
738
+ }
739
+
740
+ .card--list__text {
741
+ flex-grow: 1;
742
+ flex-shrink: 1;
743
+ display: inline-flex;
744
+ align-items: center;
745
+ padding: 1rem 1rem 1rem 0;
746
+ // Keep visible for accessibility (active/focused card as a link)
747
+ overflow: visible;
748
+
749
+ &.card--list__text--top {
750
+ align-items: start;
751
+ }
752
+
753
+ .card--list--mini & {
754
+ padding: 0.5rem 0.5rem 0.5rem 0;
755
+
756
+ > * {
757
+ flex-grow: 1;
758
+ }
759
+ }
760
+
761
+ .author {
762
+ margin-top: 0.3rem;
763
+ margin-right: 1rem;
764
+ }
765
+ }
766
+
767
+ .card--list__heading {
768
+ margin-bottom: 0;
769
+ display: block;
770
+
771
+ &.heading6 {
772
+ text-transform: unset;
773
+ letter-spacing: unset;
774
+ font-weight: unset;
775
+ }
776
+ }
777
+
778
+ .card--list .tags {
779
+ font-size: initial;
780
+ > li > a {
781
+ @extend .chip;
782
+ padding-left: 0 !important;
783
+ }
784
+
785
+ @include breakpoint(medium down) {
786
+ display: none;
787
+ }
788
+ }
789
+
790
+ .card--list__data {
791
+ flex-shrink: 0;
792
+ align-self: stretch;
793
+ display: flex;
794
+ flex-direction: column;
795
+ align-items: center;
796
+ justify-content: center;
797
+ text-align: center;
798
+ font-size: 85%;
799
+ min-width: 7rem;
800
+ line-height: 1;
801
+ color: var(--emphasis-med);
802
+ padding: $card-padding-small;
803
+ background: var(--white);
804
+
805
+ @include breakpoint(medium) {
806
+ padding: 1rem $card-padding;
807
+ }
808
+
809
+ .card--list--mini & {
810
+ padding: 0.5rem $card-padding-small;
811
+ }
812
+ }
813
+
814
+ .card--list__data-added {
815
+ background-color: tint($success, 80%);
816
+
817
+ a {
818
+ color: var(--primary);
819
+ }
820
+ }
821
+
822
+ .card--list__check {
823
+ margin-bottom: 0;
824
+ border-radius: 50%;
825
+ align-self: center;
826
+ flex-shrink: 0;
827
+ width: 2em;
828
+ height: 2em;
829
+ padding: 0;
830
+ display: flex;
831
+ justify-content: center;
832
+ align-items: center;
833
+ margin-left: auto;
834
+
835
+ &--disabled {
836
+ pointer-events: none;
837
+ }
838
+
839
+ &--inline {
840
+ display: inline-block;
841
+ }
842
+
843
+ svg {
844
+ flex-basis: auto;
845
+ }
846
+ }
847
+
848
+ .card--list__data__icon {
849
+ .icon {
850
+ width: 20px;
851
+ height: 20px;
852
+ fill: $muted;
853
+ }
854
+
855
+ &:hover {
856
+ .icon {
857
+ fill: $anchor-color;
858
+ }
859
+ }
860
+ }
861
+
862
+ .card--list__data__icon--lg {
863
+ @extend .card--list__data__icon;
864
+
865
+ .icon {
866
+ width: 36px;
867
+ height: 36px;
868
+ }
869
+ }
870
+
871
+ .card--list__data__number {
872
+ @extend .card-data__item__number;
873
+
874
+ font-size: 1.5rem;
875
+ }
876
+
877
+ .card--list__titled-text {
878
+ @extend .card--list__text;
879
+
880
+ flex-wrap: wrap;
881
+
882
+ $date-width: 28px;
883
+
884
+ .card--list__heading {
885
+ margin-bottom: 5px;
886
+ width: calc(100% - #{$date-width});
887
+ }
888
+
889
+ .card--list__annotation {
890
+ letter-spacing: 0.03em;
891
+ font-size: 0.7em;
892
+ font-weight: var(--font-weight-semibold);
893
+ text-transform: uppercase;
894
+ width: $date-width;
895
+ }
896
+
897
+ .card--list__counter {
898
+ $counter-size: 20px;
899
+ $counter-font-size: $counter-size - 8px;
900
+
901
+ background-color: var(--secondary);
902
+ border-radius: 50%;
903
+ color: var(--white);
904
+ font-size: $counter-font-size;
905
+ font-weight: var(--font-weight-semibold);
906
+ margin-left: auto;
907
+ width: $counter-size;
908
+
909
+ span {
910
+ display: block;
911
+ line-height: $counter-size;
912
+ text-align: center;
913
+ }
914
+ }
915
+ }
916
+
917
+ .card--list__author {
918
+ @extend .card--list__titled-text;
919
+
920
+ padding: 0.5rem 1rem 0.5rem 0;
921
+ margin-left: -0.5rem;
922
+
923
+ .author {
924
+ margin: 0;
925
+ }
926
+
927
+ .author__avatar img {
928
+ border-radius: 2px;
929
+ }
930
+ }
931
+
932
+ /* Card full width variant */
933
+ .card--full {
934
+ margin-bottom: $card-margin-bottom * 2;
935
+
936
+ &:last-child {
937
+ margin-bottom: 0;
938
+ }
939
+
940
+ .card__title {
941
+ @extend .heading3;
942
+
943
+ &:hover {
944
+ text-decoration: underline;
945
+ }
946
+ }
947
+
948
+ .card__content {
949
+ padding: $card-padding;
950
+ padding-bottom: 0;
951
+ @include breakpoint(large) {
952
+ padding: $card-padding * 2;
953
+ padding-bottom: 0;
954
+ }
955
+ }
956
+ }
957
+
958
+ .card--full__image {
959
+ background-size: cover;
960
+ background-position: center;
961
+ background-repeat: no-repeat;
962
+ position: relative;
963
+ border-radius: 0 $card-border-radius $card-border-radius 0;
964
+ background-color: var(--grey1);
965
+
966
+ @include breakpoint(medium only) {
967
+ min-height: 15rem;
968
+ display: flex;
969
+ align-items: center;
970
+ justify-content: center;
971
+ }
972
+ .button.expanded {
973
+ @extend .btn;
974
+ @extend .btn--medium;
975
+ width: 100%;
976
+ text-wrap: nowrap;
977
+ }
978
+ > .card__content {
979
+ position: relative;
980
+ z-index: 1;
981
+
982
+ @include breakpoint(medium only) {
983
+ min-width: 50%;
984
+ }
985
+
986
+ @include breakpoint(medium large) {
987
+ position: absolute;
988
+ top: 0;
989
+ width: 100%;
990
+ }
991
+ }
992
+ }
993
+
994
+ //small card with top image
995
+ .card__image-top {
996
+ background-size: cover !important;
997
+ background-position: center;
998
+ background-repeat: no-repeat;
999
+ background-color: var(--grey2);
1000
+
1001
+ height: 10rem;
1002
+ border-top-left-radius: $card-border-radius;
1003
+ border-top-right-radius: $card-border-radius;
1004
+ overflow: hidden;
1005
+ .card--process & {
1006
+ display: none;
1007
+
1008
+ @include breakpoint(medium large) {
1009
+ display: block;
1010
+ }
1011
+ }
1012
+ }
1013
+
1014
+ /* Card full width process variant */
1015
+ .card--process__row {
1016
+ flex-direction: row;
1017
+ .card--process__column:last-child {
1018
+ display: flex;
1019
+ visibility: visible;
1020
+ }
1021
+ @include breakpoint(small only) {
1022
+ display: flex;
1023
+ flex-direction: column;
1024
+ .card--process__column:last-child {
1025
+ display: none;
1026
+ visibility: hidden;
1027
+ }
1028
+ }
1029
+ }
1030
+
1031
+ @include breakpoint(medium large) {
1032
+ .card--process__row {
1033
+ display: flex;
1034
+ }
1035
+
1036
+ .card--process__column {
1037
+ position: relative;
1038
+
1039
+ .card--full__image-wrapper {
1040
+ height: 100%;
1041
+ overflow: hidden;
1042
+ }
1043
+
1044
+ .card--full__image {
1045
+ height: 100%;
1046
+ position: absolute;
1047
+ right: -1px;
1048
+ left: 0;
1049
+
1050
+ > img {
1051
+ min-height: 100%;
1052
+ max-width: initial;
1053
+ position: absolute;
1054
+ }
1055
+ }
1056
+ }
1057
+ }
1058
+
1059
+ .card--process__small {
1060
+ font-size: $small-font-size;
1061
+
1062
+ &:last-child {
1063
+ margin-bottom: 0;
1064
+ }
1065
+ }
1066
+
1067
+ // card mini
1068
+ .card--mini {
1069
+ .card__content {
1070
+ padding: $card-padding $card-padding-small;
1071
+ display: flex;
1072
+ flex-direction: column;
1073
+ flex-grow: 1;
1074
+ }
1075
+
1076
+ .card__image-top {
1077
+ display: block;
1078
+ height: 8rem;
1079
+ background: var(--grey2);
1080
+ }
1081
+
1082
+ .card--process__small {
1083
+ margin-top: auto;
1084
+ }
1085
+ }
1086
+
1087
+ // card status
1088
+ .card__status {
1089
+ //fix after card-data modifications
1090
+ padding: 0;
1091
+ margin: 0;
1092
+ border-top: var(--divider-border);
1093
+
1094
+ text-align: center;
1095
+ &:not(:has(li)) {
1096
+ display: none;
1097
+ }
1098
+ .card-data__item {
1099
+ text-align: center;
1100
+ flex-basis: 20%;
1101
+ flex-basis: initial;
1102
+ flex: 1;
1103
+ //was used by ?
1104
+ //padding: $card-padding;
1105
+ //used by proposal card
1106
+ padding-left: 0;
1107
+
1108
+ //used after padding modifications
1109
+ padding-top: $card-padding-small;
1110
+ padding-bottom: $card-padding-small;
1111
+
1112
+ //-------F
1113
+ //Used in participitory process cards created at item
1114
+ @include data-item-with-label;
1115
+ //-------
1116
+
1117
+ &:empty {
1118
+ border-right: 0;
1119
+ display: none;
1120
+ & + .card-data__item:not(:empty) {
1121
+ border-left: $border;
1122
+ }
1123
+ }
1124
+ &.creation_date_status,
1125
+ & > div.card-data__item--centerblock {
1126
+ @include data-item-with-label;
1127
+ display: inline-flex;
1128
+ align-items: center;
1129
+ > strong {
1130
+ display: inline-block;
1131
+ margin-bottom: 0.25rem;
1132
+ }
1133
+ &:nth-child(1):nth-last-child(1) {
1134
+ text-align: left;
1135
+ align-items: flex-start !important;
1136
+ }
1137
+ }
1138
+
1139
+ &.follow_status {
1140
+ padding-top: 1rem;
1141
+ padding-bottom: 1rem;
1142
+ padding-right: 0;
1143
+ text-align: center;
1144
+ display: inline-flex;
1145
+ align-items: center;
1146
+ .text-wrap {
1147
+ text-transform: none !important;
1148
+ }
1149
+ &.card--meeting {
1150
+ text-align: left;
1151
+ }
1152
+ }
1153
+
1154
+ &.comments_count_status,
1155
+ &.endorsements_count_status {
1156
+ padding: $card-padding $card-padding-small !important;
1157
+ padding-top: calc($card-padding) !important;
1158
+ flex: 0.25;
1159
+ }
1160
+ }
1161
+ }
1162
+
1163
+ // card label
1164
+ .card__label {
1165
+ @extend .body-5;
1166
+ @extend .body-5-bold;
1167
+ color: $muted;
1168
+ text-shadow: none;
1169
+ line-height: 50%;
1170
+
1171
+ position: absolute;
1172
+ display: inline-block;
1173
+ background-color: $body-background;
1174
+ height: 8px;
1175
+ margin-top: 0 !important;
1176
+ padding: 0 6px;
1177
+
1178
+ left: 18px;
1179
+ top: -8px;
1180
+ z-index: 1;
1181
+
1182
+ &::before {
1183
+ display: none;
1184
+ height: 0;
1185
+ }
1186
+
1187
+ .icon {
1188
+ // Reduces some icon space
1189
+ margin-left: -0.25rem;
1190
+ }
1191
+
1192
+ @include modifiers(
1193
+ color,
1194
+ (
1195
+ muted: tint($muted, 50),
1196
+ )
1197
+ );
1198
+
1199
+ @include breakpoint(medium) {
1200
+ margin-left: 0;
1201
+ }
1202
+ }
1203
+
1204
+ // card metadata with icon
1205
+ .card__icondata {
1206
+ //was used by ?
1207
+ //padding: $card-padding;
1208
+ //used by participatory process card
1209
+ padding: 0;
1210
+ padding-right: 0.5em;
1211
+ //remove after padding modifications
1212
+ &:has(li) {
1213
+ border-top: var(--divider-border);
1214
+ }
1215
+ ul {
1216
+ //Used by meetings card to add padding to adress and location
1217
+ padding: 0 $card-padding;
1218
+
1219
+ align-items: stretch;
1220
+ border-top: 0;
1221
+
1222
+ li {
1223
+ border-top: 0;
1224
+ display: flex;
1225
+ align-items: center;
1226
+ justify-content: center;
1227
+
1228
+ > * {
1229
+ margin: 0.5rem;
1230
+ }
1231
+ }
1232
+
1233
+ li:first-child {
1234
+ display: none;
1235
+ }
1236
+
1237
+ li:not(:first-child) {
1238
+ @extend .card__data-item;
1239
+ padding-left: 0 !important;
1240
+ > div:not(.card-data__item--centerblock) strong:not(.heading4) {
1241
+ display: inline-block;
1242
+ width: auto;
1243
+ margin: 0;
1244
+ color: var(--emphasis-low);
1245
+ }
1246
+ > div {
1247
+ @include data-item-with-label;
1248
+ margin: 0 !important;
1249
+ }
1250
+
1251
+ .card__icondata--address {
1252
+ color: var(--primary);
1253
+ line-height: 120%;
1254
+
1255
+ & + a {
1256
+ display: block;
1257
+ margin-top: $global-margin;
1258
+ }
1259
+ }
1260
+ }
1261
+ }
1262
+ }
1263
+ .card__block {
1264
+ align-self: flex-end;
1265
+ width: 100%;
1266
+ flex-direction: column;
1267
+ display: flex;
1268
+ align-items: flex-start;
1269
+ flex: 1;
1270
+ border-top: 0;
1271
+ .card__icondata {
1272
+ &:has(li) {
1273
+ border-top: 0;
1274
+ }
1275
+ }
1276
+ }
1277
+ .card__block {
1278
+ @extend .card__icondata;
1279
+
1280
+ margin-bottom: 0;
1281
+ padding-top: 0.5rem;
1282
+ flex-grow: 1;
1283
+ align-items: flex-start;
1284
+ justify-content: center;
1285
+
1286
+ ul {
1287
+ border: $border;
1288
+ //removed after padding modifications
1289
+ //border-top: var(--divider-border);
1290
+
1291
+ li {
1292
+ padding: 0.25em;
1293
+ }
1294
+ }
1295
+
1296
+ > .text-small {
1297
+ @extend .body-6;
1298
+ @extend .body-6-caps;
1299
+ color: var(--emphasis-lowest);
1300
+ padding: 0 $card-padding;
1301
+ }
1302
+ }
1303
+ .o-profiles--following .card__label.card--assembly.card--stack {
1304
+ align-self: flex-start;
1305
+ z-index: 10;
1306
+ }
1307
+ .o-profiles--following .card-grid .card {
1308
+ border-top: 8px solid var(--grey2);
1309
+ .card__label {
1310
+ color: var(--emphasis-lowest);
1311
+ }
1312
+ &.muted {
1313
+ border-top-color: var(--emphasis-lowest);
1314
+ .card__label {
1315
+ color: var(--emphasis-lowest);
1316
+ }
1317
+ }
1318
+ &.sucess {
1319
+ border-top-color: var(--green);
1320
+ .card__label {
1321
+ color: var(--green);
1322
+ }
1323
+ }
1324
+ &.warning {
1325
+ border-top-color: var(--yellow);
1326
+ .card__label {
1327
+ color: var(--yellow);
1328
+ }
1329
+ }
1330
+ &.alert {
1331
+ border-top-color: var(--red);
1332
+ .card__label {
1333
+ color: var(--red);
1334
+ }
1335
+ }
1336
+
1337
+ & > a {
1338
+ border-radius: 0 !important;
1339
+ }
1340
+ }
1341
+
1342
+ // card stack
1343
+ .card--stack {
1344
+ overflow: visible;
1345
+ z-index: 0;
1346
+
1347
+ &,
1348
+ &::after,
1349
+ &::before {
1350
+ /* Add shadow to distinguish sheets from one another */
1351
+ box-shadow: none;
1352
+ }
1353
+
1354
+ &::after,
1355
+ &::before {
1356
+ content: "";
1357
+ position: absolute;
1358
+ width: 100%;
1359
+ height: 100%;
1360
+ border-radius: $card-border-radius;
1361
+ }
1362
+
1363
+ /* Second sheet of paper */
1364
+ &::before {
1365
+ left: 3px;
1366
+ top: 3px;
1367
+ z-index: -1;
1368
+ }
1369
+
1370
+ /* Third sheet of paper */
1371
+ &::after {
1372
+ left: 5px;
1373
+ top: 5px;
1374
+ z-index: -2;
1375
+ }
1376
+ }
1377
+
1378
+ .card--widget {
1379
+ .card-data {
1380
+ flex-wrap: inherit;
1381
+
1382
+ .card-data__item {
1383
+ @extend .body-5;
1384
+ @extend .body-5-link;
1385
+ color: var(--primary);
1386
+ text-transform: none;
1387
+ text-align: left;
1388
+ padding: 0;
1389
+ padding-top: $card-padding-small;
1390
+ padding-bottom: $card-padding-small;
1391
+
1392
+ @include modifiers(color);
1393
+
1394
+ @include breakpoint(medium) {
1395
+ padding: $card-padding;
1396
+ }
1397
+
1398
+ &:first-child {
1399
+ flex-grow: 0;
1400
+ flex-basis: 12%;
1401
+ background-color: $card-secondary-bg;
1402
+ position: relative;
1403
+
1404
+ > div {
1405
+ display: flex;
1406
+ flex-direction: column;
1407
+ align-items: center;
1408
+ @include absolute-center;
1409
+ }
1410
+ }
1411
+ }
1412
+ }
1413
+ }
1414
+
1415
+ // card - participatory space
1416
+ .card__top {
1417
+ @extend .card__footer;
1418
+
1419
+ border-top: 0;
1420
+
1421
+ .card__content {
1422
+ line-height: $global-lineheight;
1423
+ padding: $card-padding-small * 0.25 $card-padding-small;
1424
+ margin-bottom: 0;
1425
+ flex-direction: row;
1426
+ > :first-child {
1427
+ flex-shrink: 0;
1428
+ }
1429
+
1430
+ @include breakpoint(medium) {
1431
+ padding: $card-padding * 0.25 $card-padding;
1432
+ }
1433
+ }
1434
+ }
1435
+
1436
+ // card row
1437
+ .card__row {
1438
+ @include flex;
1439
+ @include flex-align($x: left, $y: null);
1440
+
1441
+ flex-direction: column;
1442
+
1443
+ @include breakpoint(medium) {
1444
+ flex-direction: row;
1445
+ }
1446
+
1447
+ > * {
1448
+ padding: $global-margin;
1449
+ flex: 0 0 25%;
1450
+
1451
+ &:not(:nth-child(4n)) {
1452
+ border-right: 0;
1453
+ border-bottom: $card-border;
1454
+
1455
+ @include breakpoint(medium) {
1456
+ border-bottom: 0;
1457
+ border-right: $card-border;
1458
+ }
1459
+ }
1460
+ }
1461
+ }
1462
+
1463
+ .card--post {
1464
+ > .card__content {
1465
+ > .card__header {
1466
+ > .card__link {
1467
+ > .card__title {
1468
+ @extend .body-2;
1469
+ @extend .body-2-medium;
1470
+ }
1471
+ }
1472
+ }
1473
+ }
1474
+ }
1475
+
1476
+ .endorsements_count_status,
1477
+ .comments_count_status {
1478
+ padding: $card-padding $card-padding-small !important;
1479
+ padding-top: calc($card-padding) !important;
1480
+ }