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,763 @@
1
+ /* Variables */
2
+
3
+ $navbar-bg: var(--grey1);
4
+ $navbar-bg-hover: var(--grey2);
5
+ $navbar-bg-focus: transparent;
6
+ $navbar-color: var(--emphasis-lowest);
7
+ $navbar-color-hover: var(--primary);
8
+ $navbar-active-color: var(--emphasis-lowest);
9
+ $navbar-active-bg: transparent;
10
+ $navbar-active-shadow-small: unset;
11
+ $navbar-active-shadow-medium: unset;
12
+
13
+ /* Navigation */
14
+
15
+ .navbar {
16
+ background: $navbar-bg;
17
+
18
+ a,
19
+ .button {
20
+ &:focus {
21
+ outline-color: var(--secondary);
22
+ }
23
+ }
24
+ }
25
+
26
+ /* Title bar */
27
+
28
+ .title-bar {
29
+ position: relative;
30
+ background-color: var(--grey1);
31
+
32
+ @include breakpoint(small medium down) {
33
+ border-top: unset;
34
+ }
35
+ .language-choose {
36
+ border: 1px solid transparent;
37
+ & > ul > li > a {
38
+ padding: 8px 9px !important;
39
+ margin-right: 6px;
40
+ border-radius: 50px;
41
+ text-align: center;
42
+ &::after {
43
+ display: none !important;
44
+ }
45
+ &:hover,
46
+ &:focus {
47
+ background: var(--primary-10);
48
+ fill: var(--primary);
49
+ }
50
+ }
51
+
52
+ .language-chooser-controltext {
53
+ text-align: center;
54
+ .icon {
55
+ width: 16px;
56
+ height: 16px;
57
+ transform: translate(1px, 2px);
58
+ }
59
+ & > span[aria-hidden="true"] {
60
+ display: none;
61
+ }
62
+ }
63
+ }
64
+
65
+ .skip {
66
+ @include skip-button;
67
+
68
+ &:focus {
69
+ outline-color: var(--secondary);
70
+ }
71
+ }
72
+
73
+ a,
74
+ .button {
75
+ &:focus {
76
+ outline-color: var(--secondary);
77
+ }
78
+ }
79
+ }
80
+
81
+ .logo-cityhall {
82
+ position: absolute;
83
+ z-index: 1;
84
+ right: 0;
85
+ top: 0;
86
+ margin-top: -1.95rem;
87
+ text-align: right;
88
+
89
+ img {
90
+ width: auto;
91
+ height: 22px !important;
92
+ }
93
+
94
+ @include breakpoint(medium) {
95
+ top: 50%;
96
+ margin-top: -19px;
97
+
98
+ img {
99
+ height: 38px !important;
100
+ }
101
+ }
102
+ }
103
+ input#input-search {
104
+ height: 100%;
105
+ }
106
+ .topbar__search {
107
+ position: relative;
108
+ max-width: 220px; // Safari fix
109
+
110
+ input {
111
+ color: var(--emphasis-med);
112
+ border-color: transparent;
113
+ box-shadow: none;
114
+ background: var(--white);
115
+ margin-top: rem-calc(10);
116
+ display: inline-block;
117
+ border-radius: 4px 0 0 4px;
118
+ transition: none;
119
+ height: rem-calc(40); //matches input group button height
120
+
121
+ &:focus {
122
+ color: var(--emphasis-high);
123
+ box-shadow: none;
124
+ background: var(--white);
125
+ outline-color: var(--secondary);
126
+ }
127
+
128
+ @include breakpoint(medium) {
129
+ background: var(--white);
130
+ }
131
+ }
132
+
133
+ .input-group-button {
134
+ position: relative;
135
+ height: 1px; // Fix for Safari and Firefox
136
+ vertical-align: top;
137
+ }
138
+
139
+ // Fix for Safari and Firefox
140
+ .button-wrapper {
141
+ position: relative;
142
+ width: 100%;
143
+ top: 0;
144
+ bottom: 0;
145
+ left: 0;
146
+ right: 0;
147
+ button {
148
+ min-height: rem-calc(40);
149
+ border-radius: 0 4px 4px 0;
150
+ }
151
+ }
152
+
153
+ button {
154
+ padding: 5px 10px;
155
+ transition: none;
156
+ }
157
+
158
+ form:first-child {
159
+ display: inline-flex;
160
+ }
161
+
162
+ .input-group {
163
+ margin-bottom: 0;
164
+ padding: 0;
165
+ .input-group-field {
166
+ padding: 5px 10px;
167
+ }
168
+ }
169
+
170
+ &:not(:focus-within) {
171
+ button {
172
+ background-color: var(--white);
173
+ color: var(--emphasis-med);
174
+
175
+ @include breakpoint(medium) {
176
+ background: var(--white);
177
+ }
178
+ }
179
+ }
180
+
181
+ &:focus-within {
182
+ input {
183
+ background-color: var(--white);
184
+ color: var(--emphasis-med);
185
+ border: 0;
186
+
187
+ &::placeholder {
188
+ color: var(--emphasis-lowest);
189
+ font-size: 14px;
190
+ }
191
+ }
192
+ }
193
+ }
194
+
195
+ // Hack to fix the top bar display for IE11
196
+ // This cannot be applied to other browsers as the focus borders would be
197
+ // invisible if overflow is hidden on the search element.
198
+ @media all and (-ms-high-contrast: none) {
199
+ *::-ms-backdrop,
200
+ .topbar__search {
201
+ overflow: hidden;
202
+ }
203
+ }
204
+
205
+ /* Top bar */
206
+ .topbar {
207
+ display: flex;
208
+ align-items: center;
209
+ justify-content: flex-end;
210
+ padding-left: 0;
211
+ &.row {
212
+ padding-top: 20px;
213
+ padding-bottom: 20px;
214
+ padding-left:20px;
215
+
216
+ max-width: 100%;
217
+ }
218
+ .topbar__edit__link {
219
+ margin-left: 1rem;
220
+ & > a {
221
+ @extend .btn;
222
+ @extend .btn--secondary;
223
+ @extend .btn--small;
224
+ }
225
+ }
226
+ .topbar__search {
227
+ min-height: 39px;
228
+ label,
229
+ input {
230
+ margin-bottom: 0;
231
+ min-height: 39px;
232
+ }
233
+ input {
234
+ color: var(--emphasis-med);
235
+ letter-spacing: normal;
236
+ @extend .body-4;
237
+ &::placeholder,
238
+ &:focus-within::placeholder {
239
+ @extend .body-4;
240
+ color: var(--grey2);
241
+ letter-spacing: normal;
242
+ }
243
+ }
244
+ }
245
+ // Fix for Safari
246
+ > div {
247
+ flex: 0 0 auto;
248
+ display: flex;
249
+ margin-left: 1rem;
250
+
251
+ &.logo-wrapper {
252
+ flex: 1;
253
+ }
254
+ }
255
+ }
256
+
257
+ .logo-wrapper {
258
+ line-height: 0;
259
+ @include breakpoint(smallmedium down) {
260
+ max-width: 100%;
261
+ margin-right: 0;
262
+ }
263
+ a {
264
+ display: inline-block;
265
+
266
+ span {
267
+ @extend .heading-4;
268
+ @extend .heading-4-bold;
269
+ @extend .heading-4-link;
270
+ color: var(--emphasis-high) !important;
271
+ }
272
+ }
273
+
274
+ img {
275
+ display: block;
276
+ max-height: 33px;
277
+
278
+ @include breakpoint(medium large) {
279
+ max-height: 45px;
280
+ }
281
+ }
282
+ }
283
+
284
+ /* Dropmenus in topbar */
285
+ .topbar__dropmenu {
286
+ display: inline-block;
287
+ vertical-align: middle;
288
+ padding-top: 0;
289
+ margin-left: 0;
290
+
291
+ .dropdown > li > a {
292
+ background: transparent;
293
+ padding-left: 0.25rem;
294
+ }
295
+
296
+ .dropdown {
297
+ display: inline-block;
298
+ vertical-align: middle;
299
+ }
300
+ .dropdown.menu > li.is-dropdown-submenu-parent > a {
301
+ transform: none;
302
+ }
303
+ .dropdown.menu > li.opens-right > .is-dropdown-submenu {
304
+ top: 110%;
305
+ }
306
+ .is-dropdown-submenu {
307
+ z-index: 701;
308
+ text-align: left;
309
+ padding: 0;
310
+ background-color: var(--white);
311
+ border: 1px solid var(--grey1);
312
+ border-radius: 4px;
313
+ box-shadow: 0 3px 5px rgba(0, 0, 0, 0.3);
314
+ min-width: 180px;
315
+
316
+ &::after,
317
+ &::before {
318
+ bottom: 100%;
319
+ left: 50%;
320
+ border: solid transparent;
321
+ content: "";
322
+ display: none;
323
+ height: 0;
324
+ width: 0;
325
+ position: absolute;
326
+ pointer-events: none;
327
+ color: transparent;
328
+ }
329
+
330
+ &::after {
331
+ border-color: rgba(var(--emphasis-med), 0);
332
+ border-bottom-color: $white;
333
+ border-width: 10px;
334
+ margin-left: -10px;
335
+ background: transparent;
336
+ }
337
+
338
+ &::before {
339
+ border-color: rgba(var(--grey1), 0);
340
+ border-bottom-color: $white;
341
+ border-width: 11px;
342
+ margin-left: -11px;
343
+ }
344
+
345
+ li {
346
+ padding: 0;
347
+
348
+ a {
349
+ @extend .body-4;
350
+ padding: 1rem 0.25rem;
351
+ padding-left: rem-calc(12px);
352
+ color: var(--emphasis-med) !important;
353
+
354
+ &:hover,
355
+ &:focus {
356
+ color: var(--primary) !important;
357
+ background: var(--primary-10);
358
+ text-decoration: none !important;
359
+ }
360
+ }
361
+
362
+ &:not(:last-child) {
363
+ border-bottom: $border;
364
+ }
365
+
366
+ &:hover,
367
+ &:focus {
368
+ cursor: pointer;
369
+ background-color: var(--primary-10);
370
+ text-decoration: none;
371
+ color: var(--primary);
372
+ }
373
+ }
374
+ }
375
+
376
+ // Arrow center position
377
+ #topbar__language-choose .is-dropdown-submenu {
378
+ transform: translateX(-12%);
379
+ top: 110%;
380
+ }
381
+
382
+ #topbar__user-notifications .is-dropdown-submenu {
383
+ transform: translateX(-47%);
384
+ top: 110%;
385
+ }
386
+
387
+ #topbar__user-profile .is-dropdown-submenu {
388
+ transform: translateX(-40%);
389
+ top: 110%;
390
+ }
391
+
392
+ #user-menu-control {
393
+ @extend .body-4;
394
+ .topbar__dropmenu {
395
+ color: var(--txt-emph-med-color);
396
+ &:hover {
397
+ color: var(--primary);
398
+ background-color: var(--primary-10);
399
+ }
400
+ & > ul > li > a::after {
401
+ border-top-color: var(--emphasis-med);
402
+ }
403
+ }
404
+ }
405
+ }
406
+
407
+ //Foundation overwrites
408
+ .topbar__dropmenu > ul > li.is-active > a::after {
409
+ border-top-color: var(--primary) !important;
410
+ }
411
+ .topbar__dropmenu > ul > li > a {
412
+ color: var(--emphasis-med) !important;
413
+
414
+ &:hover {
415
+ text-decoration: none !important;
416
+ color: var(--primary) !important;
417
+ &::after {
418
+ border-top-color: var(--primary) !important;
419
+ }
420
+ }
421
+
422
+ &::after {
423
+ margin-top: -1px !important;
424
+ border-top-color: var(--emphasis-med) !important;
425
+ }
426
+ }
427
+
428
+ .language-choose {
429
+ @include breakpoint(small medium down) {
430
+ font-size: 0.8rem;
431
+ position: static;
432
+ top: 0;
433
+ left: 0;
434
+ margin-left: 0;
435
+
436
+ &:hover,
437
+ &:focus {
438
+ text-decoration: none;
439
+ }
440
+
441
+ .dropdown.menu > li.is-dropdown-submenu-parent > a::after {
442
+ border-width: 3px;
443
+ right: 10px;
444
+ margin-top: 0;
445
+
446
+ &:hover,
447
+ &:focus {
448
+ text-decoration: underline;
449
+ }
450
+ }
451
+ }
452
+ }
453
+
454
+ .topbar__user {
455
+ display: inline-block;
456
+ padding-right: 2.5rem;
457
+ margin-left: 2rem;
458
+
459
+ @media (min-width: (1300 * 0.0625) + em) {
460
+ padding-right: 0;
461
+ }
462
+ }
463
+
464
+ .topbar__user__logged {
465
+ text-align: right;
466
+ display: none;
467
+
468
+ // hide caret down
469
+ .dropdown.menu > li.is-dropdown-submenu-parent > a::after {
470
+ display: none;
471
+ }
472
+
473
+ @include breakpoint(medium) {
474
+ display: block;
475
+
476
+ .dropdown.menu > li.is-dropdown-submenu-parent > a::after {
477
+ display: block;
478
+
479
+ &:hover,
480
+ &:focus {
481
+ text-decoration: underline;
482
+ }
483
+ }
484
+ }
485
+ }
486
+
487
+ .topbar__user__logged__picture {
488
+ width: 2rem;
489
+ height: 2rem;
490
+ border-radius: 50%;
491
+ border: $border;
492
+ object-fit: cover;
493
+ }
494
+
495
+ .topbar__user__logged__name {
496
+ color: var(--primary);
497
+
498
+ > * {
499
+ display: block;
500
+ }
501
+ }
502
+
503
+ .topbar__notifications,
504
+ .topbar__conversations {
505
+ display: inline-flex;
506
+ margin-right: 0;
507
+ vertical-align: -3px;
508
+ padding: 13px;
509
+ border: 1px solid transparent;
510
+ border-radius: 40px;
511
+ &:hover,
512
+ &:focus {
513
+ background: var(--primary-10);
514
+ .icon {
515
+ fill: var(--primary);
516
+ }
517
+ }
518
+ .icon {
519
+ fill: var(--emphasis-med);
520
+ opacity: 1;
521
+ }
522
+
523
+ &.is-active .icon {
524
+ fill: var(--primary);
525
+ opacity: 1;
526
+ }
527
+ }
528
+
529
+ .topbar__notifications__item {
530
+ display: flex;
531
+ align-items: center;
532
+ justify-content: space-between;
533
+ color: $muted;
534
+ width: 250px;
535
+
536
+ @include flexgap(1rem);
537
+
538
+ strong {
539
+ color: $anchor-color;
540
+ }
541
+
542
+ :last-child {
543
+ flex: 1;
544
+
545
+ > * {
546
+ display: block;
547
+ }
548
+ }
549
+ }
550
+
551
+ .topbar__notifications__item--more {
552
+ text-align: center;
553
+ background-color: var(--grey1);
554
+ color: var(--emphasis-med);
555
+ }
556
+
557
+ .topbar__user__login {
558
+ text-align: right;
559
+ line-height: 1.2;
560
+
561
+ a:not(.sign-up-link) {
562
+ @extend .body-4;
563
+ @extend .body-4-link;
564
+ color: var(--emphasis-med);
565
+ &:hover,
566
+ &:focus {
567
+ color: var(--emphasis-high);
568
+ }
569
+ @include breakpoint(medium) {
570
+ margin-left: rem-calc(32);
571
+ }
572
+ }
573
+ & > a.sign-up-link {
574
+ @extend .btn;
575
+ @extend .btn--small;
576
+ @extend .btn--primary;
577
+ font-weight: normal;
578
+ font-size: 16px;
579
+ }
580
+ a:first-of-type {
581
+ @include breakpoint(medium) {
582
+ margin-left: 0;
583
+ }
584
+
585
+ &::before {
586
+ display: none;
587
+ }
588
+ }
589
+ a::before {
590
+ content: none;
591
+ margin-left: 0;
592
+ margin-right: 0;
593
+ display: none;
594
+ width: 0;
595
+ height: 0;
596
+ border-left: unset;
597
+ vertical-align: middle;
598
+
599
+ @include breakpoint(medium) {
600
+ display: none;
601
+ }
602
+ }
603
+ }
604
+
605
+ /* Menu icon and off-canvas */
606
+ .topbar__menu {
607
+ text-align: right;
608
+ font-size: 20px;
609
+ margin-right: 0.1rem;
610
+
611
+ button {
612
+ color: var(--emphasis-med);
613
+ &:hover {
614
+ background: var(--primary-10);
615
+ color: var(--primary);
616
+ }
617
+ }
618
+ }
619
+
620
+ .topbar__admin__link {
621
+ a {
622
+ color: var(--emphasis-med);
623
+
624
+ &:hover {
625
+ background: var(--primary-10);
626
+ color: var(--primary);
627
+ }
628
+ }
629
+
630
+ ~ .topbar__admin__link {
631
+ margin-left: rem-calc(32);
632
+ }
633
+ }
634
+
635
+ .usermenu-off-canvas-holder .usermenu-off-canvas {
636
+ border-top: 0;
637
+ border-bottom: 0;
638
+
639
+ &.is-dropdown-submenu {
640
+ display: block;
641
+ position: static;
642
+ background: transparent;
643
+ border-left: 0;
644
+ border-right: 0;
645
+ }
646
+
647
+ a {
648
+ display: block;
649
+ padding: 1rem 3.8125rem;
650
+ padding-left: 1.5rem;
651
+ margin-bottom: 0.9375rem;
652
+ color: var(--emphasis-med);
653
+
654
+ &:hover,
655
+ &:focus {
656
+ background: var(--primary-10);
657
+ color: var(--primary);
658
+ text-decoration: none;
659
+ }
660
+ }
661
+ }
662
+
663
+ .off-canvas {
664
+ .main-nav {
665
+ padding-top: 3rem;
666
+ }
667
+ .main-nav__link,
668
+ .main-nav__link a {
669
+ width: 100%;
670
+ text-align: left;
671
+ margin-bottom: 0;
672
+ }
673
+ .main-nav__link a {
674
+ &,
675
+ &:hover,
676
+ &:focus {
677
+ justify-content: flex-start;
678
+ padding-left: 1rem;
679
+ }
680
+ }
681
+ .main-nav__link--active a {
682
+ box-shadow: none;
683
+ }
684
+ .input-group {
685
+ border: 1px solid var(--grey2);
686
+ label {
687
+ margin-bottom: 0;
688
+ }
689
+ }
690
+ .topbar__user__login {
691
+ text-align: center;
692
+ margin-top: 1rem;
693
+ padding-top: 1rem;
694
+ padding-bottom: 1rem;
695
+ border-top: 0 transparent;
696
+ border-bottom: 0 transparent;
697
+ display: flex;
698
+ flex-direction: column;
699
+ & > a {
700
+ @extend .body-4-link;
701
+ padding: 1rem 1.5rem;
702
+ }
703
+
704
+ }
705
+ }
706
+
707
+ /* Main nav */
708
+ .main-nav ul {
709
+ position: relative;
710
+ padding: 0;
711
+ margin: 0;
712
+ list-style: none;
713
+
714
+ @include breakpoint(medium) {
715
+ -webkit-overflow-scrolling: touch;
716
+ white-space: nowrap;
717
+ display: flex;
718
+
719
+ > li {
720
+ display: inline-block;
721
+ flex: 1;
722
+ text-align: center;
723
+ margin-left: rem-calc(22);
724
+ &:first-of-type {
725
+ margin-left: 0;
726
+ }
727
+ }
728
+ }
729
+ }
730
+ .main-nav__link {
731
+ margin-bottom: rem-calc(15);
732
+ }
733
+ .main-nav__link a {
734
+ @extend .btn;
735
+ @extend .btn--secondary;
736
+ background-color: transparent;
737
+ color: var(--emphasis-med);
738
+ border: 1px solid transparent;
739
+ border-radius: 8px;
740
+ padding: rem-calc(16) rem-calc(61);
741
+
742
+ &:hover {
743
+ text-decoration: none !important;
744
+ }
745
+ @include breakpoint(medium) {
746
+ padding: rem-calc(16) rem-calc(61);
747
+ }
748
+ }
749
+
750
+ .main-nav__link--active a {
751
+ &,
752
+ &:hover,
753
+ &:focus {
754
+ background-color: var(--primary-10);
755
+ color: var(--primary);
756
+ border-radius: 4px;
757
+ padding: rem-calc(16) rem-calc(61);
758
+ @include breakpoint(medium) {
759
+ box-shadow: unset;
760
+ }
761
+ cursor: default;
762
+ }
763
+ }