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,133 @@
1
+ .floating-helper {
2
+ position: absolute;
3
+ width: 100%;
4
+ top: 0;
5
+ left: 0;
6
+ }
7
+
8
+ .floating-helper__layout {
9
+ position: relative;
10
+ }
11
+
12
+ .floating-helper__trigger {
13
+ position: fixed;
14
+ right: 0;
15
+ display: inline-flex;
16
+ cursor: pointer;
17
+ background-color: $white;
18
+ border-bottom-left-radius: 100px;
19
+ border-top-left-radius: 100px;
20
+
21
+ &:active,
22
+ &:focus {
23
+ outline: $anchor-outline-focus;
24
+ outline-color: var(--highlight);
25
+ outline-offset: $anchor-outline-offset;
26
+ }
27
+
28
+ @include breakpoint(small only) {
29
+ bottom: $global-margin * 2;
30
+ }
31
+
32
+ @include breakpoint(medium) {
33
+ top: 4.5rem;
34
+ position: absolute;
35
+ }
36
+ }
37
+
38
+ .floating-helper__text {
39
+ color: var(--primary);
40
+ background-color: var(--primary-10);
41
+ @extend .body-5;
42
+ font-weight: $global-weight-bold;
43
+ border-bottom-left-radius: 100px;
44
+ border-top-left-radius: 100px;
45
+ padding: 0.3rem 0.3rem 0.3rem 0.6rem;
46
+ }
47
+
48
+ .floating-helper__icon {
49
+ color: $white;
50
+ background-color: var(--primary);
51
+ padding: 0.21rem $global-padding * 0.5;
52
+ }
53
+
54
+ .floating-helper__wrapper {
55
+ @include flex;
56
+ margin-right: 2rem;
57
+ }
58
+
59
+ .floating-helper__content {
60
+ background-color: var(--primary-10);
61
+ border-top: 5px solid transparent;
62
+ margin-bottom: $global-margin * 3;
63
+ padding: 2rem 1rem;
64
+ width: 100%;
65
+
66
+ @include breakpoint(medium) {
67
+ padding: 3rem 2rem;
68
+ }
69
+ .mb-s,
70
+ p:last-child {
71
+ margin-bottom: 0 !important;
72
+ }
73
+ }
74
+
75
+ .floating-helper__content-inner {
76
+ position: relative;
77
+ align-items: center;
78
+ @include breakpoint(medium) {
79
+ & > * {
80
+ margin: 0;
81
+ }
82
+ }
83
+ }
84
+
85
+ .floating-helper__icon-big {
86
+ border-radius: 50%;
87
+ background-color: rgba(var(--secondary-rgb), 0.1);
88
+ flex-shrink: 0;
89
+ color: var(--secondary);
90
+
91
+ @include flex;
92
+ @include flex-align($x: center, $y: middle);
93
+ @include square(70px);
94
+ margin-right: 2rem;
95
+ }
96
+
97
+ .floating-helper__bottom {
98
+ text-align: right;
99
+
100
+ @include breakpoint(medium) {
101
+ position: absolute;
102
+ bottom: 0;
103
+ right: 0;
104
+ }
105
+ }
106
+
107
+ .floating-helper__link {
108
+ font-weight: $global-weight-bold;
109
+ text-decoration: underline;
110
+ }
111
+
112
+ a.floating-helper__content-close {
113
+ background-color: transparent;
114
+ color: var(--primary) !important;
115
+ flex-shrink: 0;
116
+ cursor: pointer;
117
+
118
+ @include flex;
119
+ @include flex-align($x: center, $y: middle);
120
+ @include square(1.125rem);
121
+ transform: translate(-25px, 5px);
122
+ border-radius: 50%;
123
+ &:hover {
124
+ opacity: 0.6;
125
+ color: var(--primary) !important;
126
+ background-color: transparent !important;
127
+ text-decoration: none !important;
128
+ }
129
+ &:active,
130
+ &:focus {
131
+ color: var(--white) !important;
132
+ }
133
+ }
@@ -0,0 +1,176 @@
1
+ /* Froms foundation overwrites */
2
+
3
+ $checkboxes-minimum-width: 200px;
4
+ $help-text-margin-top: -0.9rem;
5
+ .input-group {
6
+ .input-group-field {
7
+ &:focus {
8
+ // To raise the focus border on top of any other nearby elements
9
+ position: relative;
10
+ z-index: 10;
11
+ }
12
+ }
13
+ }
14
+ .remaining-character-count {
15
+ @extend .body-5;
16
+ color: var(--emphasis-low);
17
+ }
18
+ .input-group-button button {
19
+ height: 2.5rem;
20
+ padding: 0.5rem 1rem;
21
+ }
22
+
23
+ label,
24
+ .field {
25
+ &.has-tribute {
26
+ position: relative;
27
+
28
+ .tribute-container {
29
+ top: auto;
30
+ margin-top: -$form-spacing;
31
+ max-width: none;
32
+ width: 100%;
33
+ }
34
+ }
35
+ }
36
+
37
+ .help-text {
38
+ display: block;
39
+ line-height: 1.2;
40
+ margin: 0 0 0.875rem;
41
+ &.help-text-form-required-fields {
42
+ margin-top: 0;
43
+ }
44
+ label > & {
45
+ margin-top: -0.8rem;
46
+ }
47
+ }
48
+
49
+ .form-input-extra-before,
50
+ .form-input-extra-after {
51
+ display: block;
52
+ font-size: $input-error-font-size;
53
+ font-weight: normal;
54
+ margin-top: $form-spacing * -1;
55
+ @extend .body-5;
56
+ color: var(--emphasis-low);
57
+ }
58
+
59
+ #registration_user_nickname_characters {
60
+ margin-top: 1rem;
61
+ }
62
+
63
+ .form-input-extra-before {
64
+ margin-bottom: $form-spacing * 0.5;
65
+ @extend .body-5;
66
+ color: var(--emphasis-low);
67
+ }
68
+
69
+ .form-input-extra-after {
70
+ margin-bottom: $form-spacing;
71
+ }
72
+
73
+ label > [type="checkbox"],
74
+ label > [type="radio"] {
75
+ margin-bottom: 0; //fixes some problems with line-height in double-line labels
76
+ }
77
+
78
+ /* Switch additional styles */
79
+
80
+ .switch-with-label {
81
+ > label {
82
+ display: flex;
83
+ align-items: center;
84
+ line-height: 1.2;
85
+ }
86
+
87
+ .switch-paddle {
88
+ display: inline-block;
89
+ margin-right: 1rem;
90
+ flex-shrink: 0;
91
+ }
92
+
93
+ &,
94
+ &.tiny {
95
+ height: auto;
96
+ }
97
+ }
98
+
99
+ .switch {
100
+ input.switch-input {
101
+ &:active,
102
+ &:focus {
103
+ & + .switch-paddle {
104
+ outline: $input-outline-focus;
105
+ outline-color: var(--highlight);
106
+ outline-offset: $input-outline-offset;
107
+ }
108
+ }
109
+ }
110
+ }
111
+
112
+ .checkboxes {
113
+ margin-bottom: 1rem;
114
+ display: flex;
115
+ flex-wrap: wrap;
116
+ justify-content: space-between;
117
+
118
+ &::after {
119
+ /* Align last row to left */
120
+ min-width: $checkboxes-minimum-width;
121
+ content: "";
122
+ }
123
+
124
+ label {
125
+ min-width: $checkboxes-minimum-width;
126
+
127
+ input[type="checkbox"] {
128
+ vertical-align: middle;
129
+ }
130
+ }
131
+ }
132
+
133
+ #{text-inputs()},
134
+ input[type="file"] {
135
+ height: 3rem;
136
+ }
137
+
138
+ #{text-inputs()},
139
+ textarea,
140
+ label > textarea,
141
+ select,
142
+ input[type="file"],
143
+ input[type="checkbox"],
144
+ input[type="radio"] {
145
+ outline: $input-outline;
146
+ @extend .body-4;
147
+
148
+ &:active,
149
+ &:focus {
150
+ outline: $input-outline-focus;
151
+ outline-color: var(--highlight);
152
+ outline-offset: $input-outline-offset;
153
+ }
154
+ }
155
+
156
+ .emoji {
157
+ &__container {
158
+ position: relative;
159
+ }
160
+
161
+ &__trigger {
162
+ position: relative;
163
+ top: -$form-spacing;
164
+ }
165
+
166
+ &__button {
167
+ position: absolute;
168
+ bottom: $global-margin * 0.5;
169
+ right: $global-margin;
170
+ cursor: pointer;
171
+ }
172
+
173
+ &__button svg {
174
+ width: 1em;
175
+ }
176
+ }
@@ -0,0 +1,416 @@
1
+ // Home
2
+
3
+ .hero {
4
+ background-size: cover;
5
+ position: relative;
6
+ z-index: 0;
7
+
8
+ &::after {
9
+ content: "";
10
+ display: block;
11
+ position: absolute;
12
+ top: 0;
13
+ width: 100%;
14
+ height: 100%;
15
+ background-color: rgba($black, 0.6);
16
+ }
17
+
18
+ a {
19
+ &:focus {
20
+ outline-color: var(--highlight-alternative);
21
+ }
22
+ }
23
+ }
24
+
25
+ .hero__container {
26
+ position: relative;
27
+ z-index: 1;
28
+ text-align: center;
29
+ padding: 3rem 1rem;
30
+
31
+ @include breakpoint(medium) {
32
+ padding: 4rem 0;
33
+ }
34
+
35
+ @include breakpoint(mediumlarge) {
36
+ padding: 5rem 0;
37
+ }
38
+
39
+ @include breakpoint(large) {
40
+ padding: 6rem 0;
41
+ }
42
+ }
43
+
44
+ .hero__boxes {
45
+ text-align: center;
46
+ border-radius: 4px;
47
+ background-color: rgba($black, 0.5);
48
+ color: $white;
49
+ margin-top: 1rem;
50
+ padding: $global-padding;
51
+
52
+ @include breakpoint(medium) {
53
+ text-align: left;
54
+ padding: 2rem 1.5rem;
55
+ margin-top: 2rem;
56
+ }
57
+
58
+ @include breakpoint(mediumlarge) {
59
+ margin-top: 3rem;
60
+ }
61
+
62
+ @include breakpoint(large) {
63
+ margin-top: 4rem;
64
+ }
65
+
66
+ p {
67
+ font-size: rem-calc(17);
68
+ color: var(--emphasis-low);
69
+ }
70
+
71
+ .button {
72
+ display: block;
73
+ margin: 0 auto;
74
+ }
75
+
76
+ .box__search {
77
+ position: relative;
78
+ margin: 0 auto;
79
+
80
+ $color: rgba($body-font-color, 0.3);
81
+
82
+ input,
83
+ input:focus {
84
+ color: $body-font-color;
85
+ margin: 0;
86
+ box-shadow: none;
87
+ background: $white;
88
+
89
+ // NOTE: Input height same as button height
90
+ line-height: 1;
91
+ padding: $button-padding;
92
+ padding-left: $input-padding * 4;
93
+ height: auto;
94
+ border: 1px solid transparent;
95
+
96
+ &::-webkit-input-placeholder {
97
+ /* Chrome/Opera/Safari */
98
+ color: $color;
99
+ }
100
+
101
+ &::-moz-placeholder {
102
+ /* Firefox 19+ */
103
+ color: $color;
104
+ }
105
+
106
+ &:-ms-input-placeholder {
107
+ /* IE 10+ */
108
+ color: $color;
109
+ }
110
+
111
+ &:-moz-placeholder {
112
+ /* Firefox 18- */
113
+ color: $color;
114
+ }
115
+ }
116
+
117
+ svg {
118
+ color: $color;
119
+ position: absolute;
120
+ top: 50%;
121
+ left: $input-padding;
122
+ transform: translateY(-50%);
123
+ opacity: 0.5;
124
+ }
125
+ }
126
+ }
127
+
128
+ .hero-heading {
129
+ margin-bottom: 0;
130
+ font-size: 2rem;
131
+ line-height: 1;
132
+ text-shadow: 0 0 5px rgba(black, 0.25);
133
+
134
+ br {
135
+ display: none;
136
+ }
137
+
138
+ @include breakpoint(medium) {
139
+ font-size: 2.5rem;
140
+
141
+ br {
142
+ display: block;
143
+ }
144
+ }
145
+
146
+ @include breakpoint(mediumlarge) {
147
+ font-size: 3.5rem;
148
+ }
149
+
150
+ @include breakpoint(large) {
151
+ font-size: 4.5rem;
152
+ }
153
+ }
154
+
155
+ .hero-cta {
156
+ margin-top: rem-calc(48);
157
+ @extend .btn--primary;
158
+ @extend .btn--large;
159
+ padding: 1.2rem 1rem;
160
+
161
+ @include breakpoint(medium) {
162
+ margin-top: rem-calc(48);
163
+ }
164
+
165
+ @include breakpoint(mediumlarge) {
166
+ margin-top: rem-calc(48);
167
+ }
168
+
169
+ @include breakpoint(large) {
170
+ margin-top: rem-calc(48);
171
+ }
172
+ }
173
+
174
+ .wrapper-home {
175
+ padding: 4rem 1rem;
176
+
177
+ @include breakpoint(medium) {
178
+ padding-left: 1.5rem;
179
+ padding-right: 1.5rem;
180
+ }
181
+
182
+ @include breakpoint(large) {
183
+ padding-left: 4rem;
184
+ padding-right: 4rem;
185
+ }
186
+ }
187
+
188
+ .wrapper-home--mini {
189
+ padding-top: 1rem;
190
+ padding-bottom: 1rem;
191
+ }
192
+
193
+ .home-section {
194
+ background-color: var(--grey-1);
195
+ background-size: cover;
196
+ background-position: center;
197
+ background-repeat: no-repeat;
198
+ .small-centered {
199
+ text-align: center;
200
+ }
201
+ }
202
+ .home-section .heading3 {
203
+ @extend .heading-4;
204
+ color: var(--emphasis-med);
205
+ margin-bottom: 1rem;
206
+ @include breakpoint(medium down) {
207
+ font-size: 26px;
208
+ }
209
+ }
210
+ .home-section .heading2 {
211
+ @extend .body-1;
212
+ @include breakpoint(medium down) {
213
+ font-size: 23px;
214
+ }
215
+ }
216
+
217
+ .home-section p {
218
+ @extend .body-4;
219
+ }
220
+
221
+ .home-section .heading4 {
222
+ @extend .body-1;
223
+ @include breakpoint(medium down) {
224
+ font-size: 23px;
225
+ }
226
+ }
227
+
228
+ .subhero {
229
+ padding: 4rem 0;
230
+ text-align: center;
231
+ .heading2 {
232
+ max-width: 40rem;
233
+ margin: 0 auto;
234
+ }
235
+ ul,
236
+ ol {
237
+ list-style-position: inside;
238
+ }
239
+ }
240
+
241
+ .subhero-cta {
242
+ margin-top: 2rem;
243
+ color: var(--primary);
244
+ display: inline-block;
245
+ position: relative;
246
+
247
+ @extend .body-4;
248
+ @extend .body-4-medium;
249
+ @extend .body-4-caps;
250
+ @extend .body-4-link;
251
+
252
+ .icon {
253
+ position: absolute;
254
+ top: 0;
255
+ right: -8px;
256
+ transform: translateX(100%) translateY(15%);
257
+ transition: none;
258
+ width: rem-calc(15);
259
+ height: rem-calc(15);
260
+ }
261
+
262
+ &:hover .icon {
263
+ text-decoration: none;
264
+ right: -8px;
265
+ }
266
+ }
267
+
268
+ .subhero-cta--secondary {
269
+ margin-top: 0;
270
+ }
271
+
272
+ .home-section__cta {
273
+ margin-top: rem-calc(64);
274
+ @extend .body-4-nocaps;
275
+ }
276
+
277
+ .home-bullets {
278
+ margin: rem-calc(64) auto;
279
+ max-width: $global-width * 0.73;
280
+ @include breakpoint(mediumlarge) {
281
+ margin: rem-calc(64) auto;
282
+ }
283
+ }
284
+
285
+ .home-bullet {
286
+ overflow: hidden;
287
+ }
288
+
289
+ .home-bullet__icon {
290
+ float: left;
291
+ //width: 15%;
292
+ text-align: right;
293
+
294
+ svg {
295
+ width: 25px;
296
+ height: 25px;
297
+ fill: var(--primary);
298
+ }
299
+ }
300
+
301
+ .home-bullet__desc {
302
+ float: right;
303
+ width: 85%;
304
+ width: calc(100% - 30px);
305
+ padding-left: 1rem;
306
+ }
307
+
308
+ .home-map {
309
+ .wrapper-home {
310
+ padding-bottom: 0;
311
+ }
312
+
313
+ #google-map {
314
+ margin-bottom: 0;
315
+ }
316
+ }
317
+
318
+ /* Home Statistics */
319
+ #statistics.home-section {
320
+ h3.heading3 {
321
+ @extend .heading-4;
322
+ margin: 0;
323
+ }
324
+ }
325
+ .home-stats {
326
+ overflow: hidden;
327
+ margin-top: rem-calc(100);
328
+ margin-bottom: rem-calc(64);
329
+
330
+ @include breakpoint(mediumlarge) {
331
+ margin: 5rem 0;
332
+ }
333
+
334
+ .statistics-cell {
335
+ margin: 0;
336
+ }
337
+ }
338
+
339
+ .home-stats__highlight,
340
+ .home-stats__lowlight {
341
+ .statistic__data {
342
+ &::after {
343
+ display: none;
344
+ }
345
+ }
346
+ }
347
+ .home-stats__lowlight {
348
+ .statistic__data,
349
+ .statistic__data:nth-child(odd) {
350
+ border: none;
351
+ text-align: center;
352
+ min-width: 33.33%;
353
+ }
354
+ }
355
+
356
+ .home-stats__highlight .statistics-cell {
357
+ @include breakpoint(medium) {
358
+ display: flex;
359
+ }
360
+
361
+ .statistic__data {
362
+ margin: 0;
363
+ padding: 1rem 2rem;
364
+
365
+ @include breakpoint(medium) {
366
+ width: 50%;
367
+ border-bottom: 1px solid var(--black-6);
368
+
369
+ &:nth-child(odd):nth-last-child(2) {
370
+ border-bottom: 0;
371
+ }
372
+ }
373
+ &:last-child {
374
+ border-bottom: 0;
375
+ }
376
+ &:nth-child(odd),
377
+ &:last-child {
378
+ border-right: 1px solid var(--black-6);
379
+ }
380
+
381
+ &:nth-child(even):last-child {
382
+ border-right: 0px;
383
+ }
384
+ }
385
+
386
+ .statistic__number {
387
+ font-size: 4rem;
388
+ line-height: 1;
389
+ color: var(--emphasis-med);
390
+ }
391
+ }
392
+
393
+ .home-stats__lowlight {
394
+ margin-top: rem-calc(6);
395
+ .statistic__data {
396
+ padding: 0.25rem;
397
+ width: 33%;
398
+
399
+ @include breakpoint(mediumlarge) {
400
+ text-align: center;
401
+ &:first-child,
402
+ &:last-child {
403
+ padding-left: 0;
404
+ }
405
+ }
406
+ }
407
+
408
+ .statistic__number {
409
+ @extend .body-3;
410
+ @extend .body-3-medium;
411
+ @extend .body-3-caps;
412
+ color: var(--emphasis-high);
413
+ transform: translateY(2px);
414
+ display: inline-block;
415
+ }
416
+ }