pageflow 16.0.0 → 16.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (145) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +210 -33
  3. data/README.md +0 -1
  4. data/Rakefile +1 -1
  5. data/admins/pageflow/entry.rb +0 -1
  6. data/admins/pageflow/sites.rb +3 -0
  7. data/app/assets/javascripts/pageflow/dist/ui.js +298 -72
  8. data/app/assets/stylesheets/pageflow/admin/permalink_input.scss +10 -0
  9. data/app/assets/stylesheets/pageflow/editor/drop_down_button.scss +6 -1
  10. data/app/assets/stylesheets/pageflow/editor/file_thumbnails.scss +4 -0
  11. data/app/assets/stylesheets/pageflow/editor/help.scss +3 -3
  12. data/app/assets/stylesheets/pageflow/editor/info_box.scss +7 -0
  13. data/app/assets/stylesheets/pageflow/editor/inputs/file_input.scss +0 -5
  14. data/app/assets/stylesheets/pageflow/ui/forms.scss +1 -1
  15. data/app/controllers/pageflow/chapters_controller.rb +2 -2
  16. data/app/controllers/pageflow/editor/files_controller.rb +1 -1
  17. data/app/controllers/pageflow/entries_controller.rb +10 -0
  18. data/app/controllers/pageflow/feeds_controller.rb +18 -0
  19. data/app/controllers/pageflow/pages_controller.rb +2 -2
  20. data/app/controllers/pageflow/sitemaps_controller.rb +15 -0
  21. data/app/controllers/pageflow/storylines_controller.rb +2 -2
  22. data/app/helpers/pageflow/entries_helper.rb +2 -1
  23. data/app/helpers/pageflow/feeds_helper.rb +66 -0
  24. data/app/helpers/pageflow/page_types_helper.rb +9 -9
  25. data/app/inputs/pageflow_permalink_input.rb +15 -3
  26. data/app/models/concerns/pageflow/reusable_file.rb +3 -3
  27. data/app/models/pageflow/account.rb +8 -0
  28. data/app/models/pageflow/audio_file_url_templates.rb +2 -1
  29. data/app/models/pageflow/draft_entry.rb +1 -1
  30. data/app/models/pageflow/entries_feed.rb +32 -0
  31. data/app/models/pageflow/image_file.rb +14 -3
  32. data/app/models/pageflow/membership.rb +3 -2
  33. data/app/models/pageflow/other_file.rb +5 -0
  34. data/app/models/pageflow/other_file_url_templates.rb +16 -0
  35. data/app/models/pageflow/published_entry.rb +6 -0
  36. data/app/models/pageflow/revision.rb +4 -0
  37. data/app/models/pageflow/site.rb +8 -0
  38. data/app/models/pageflow/sitemaps.rb +13 -0
  39. data/app/models/pageflow/used_file.rb +2 -2
  40. data/app/models/pageflow/video_file_url_templates.rb +3 -1
  41. data/app/models/pageflow/widget.rb +9 -1
  42. data/app/views/admin/entries/_permalink_inputs.html.erb +1 -2
  43. data/app/views/admin/sites/_attributes_table.html.arb +3 -0
  44. data/app/views/admin/sites/_fields.html.erb +6 -0
  45. data/app/views/components/pageflow/admin/extensible_attributes_table.rb +8 -2
  46. data/app/views/components/pageflow/admin/sites_tab.rb +3 -0
  47. data/app/views/pageflow/editor/config/_seeds.json.jbuilder +1 -0
  48. data/app/views/pageflow/feeds/index.atom.builder +20 -0
  49. data/app/views/pageflow/sitemaps/index.xml.builder +9 -0
  50. data/config/initializers/features.rb +1 -0
  51. data/config/initializers/paperclip.rb +4 -0
  52. data/config/locales/de.yml +27 -6
  53. data/config/locales/en.yml +30 -4
  54. data/config/routes.rb +3 -0
  55. data/config/spring.rb +1 -1
  56. data/db/migrate/20230120092923_create_other_files.rb +23 -0
  57. data/db/migrate/20230323115745_add_feeds_enabled_to_sites.rb +5 -0
  58. data/db/migrate/20230323154323_add_sitemap_enabled_to_sites.rb +5 -0
  59. data/db/migrate/20230331103823_add_title_to_sites.rb +5 -0
  60. data/db/migrate/20230405103612_add_custom_feed_url_to_sites.rb +5 -0
  61. data/entry_types/paged/app/assets/javascripts/pageflow_paged/dist/editor.js +445 -109
  62. data/entry_types/paged/app/assets/javascripts/pageflow_paged/dist/frontend.js +26 -3
  63. data/entry_types/paged/app/controllers/pageflow_paged/editor/entries_controller.rb +0 -2
  64. data/entry_types/paged/app/controllers/pageflow_paged/entries_controller.rb +1 -0
  65. data/entry_types/paged/app/views/pageflow_paged/entries/show.html.erb +1 -0
  66. data/entry_types/paged/config/initializers/features.rb +0 -1
  67. data/entry_types/paged/lib/pageflow_paged/engine.rb +17 -1
  68. data/entry_types/scrolled/app/controllers/pageflow_scrolled/editor/chapters_controller.rb +2 -2
  69. data/entry_types/scrolled/app/controllers/pageflow_scrolled/editor/content_elements_controller.rb +3 -4
  70. data/entry_types/scrolled/app/controllers/pageflow_scrolled/editor/sections_controller.rb +13 -6
  71. data/entry_types/scrolled/app/controllers/pageflow_scrolled/entries_controller.rb +2 -0
  72. data/entry_types/scrolled/app/helpers/pageflow_scrolled/cache_helper.rb +11 -0
  73. data/entry_types/scrolled/app/helpers/pageflow_scrolled/editor/entry_json_seed_helper.rb +42 -0
  74. data/entry_types/scrolled/app/helpers/pageflow_scrolled/editor/seed_html_helper.rb +3 -0
  75. data/entry_types/scrolled/app/helpers/pageflow_scrolled/packs_helper.rb +31 -10
  76. data/entry_types/scrolled/app/helpers/pageflow_scrolled/react_server_side_rendering_helper.rb +9 -1
  77. data/entry_types/scrolled/app/helpers/pageflow_scrolled/themes_helper.rb +3 -1
  78. data/entry_types/scrolled/app/models/pageflow_scrolled/chapter.rb +23 -0
  79. data/entry_types/scrolled/app/views/pageflow_scrolled/editor/entries/_head.html.erb +6 -1
  80. data/entry_types/scrolled/app/views/pageflow_scrolled/editor/entries/_seed.json.jbuilder +1 -5
  81. data/entry_types/scrolled/app/views/pageflow_scrolled/editor/sections/_section_with_content_elements.json.jbuilder +10 -0
  82. data/entry_types/scrolled/app/views/pageflow_scrolled/entries/show.html.erb +44 -41
  83. data/entry_types/scrolled/app/views/pageflow_scrolled/entry_json_seed/_consent_vendors.json.jbuilder +16 -0
  84. data/entry_types/scrolled/app/views/pageflow_scrolled/entry_json_seed/_entry.json.jbuilder +3 -0
  85. data/entry_types/scrolled/config/initializers/features.rb +5 -0
  86. data/entry_types/scrolled/config/locales/consent_widget.de.yml +4 -0
  87. data/entry_types/scrolled/config/locales/consent_widget.en.yml +4 -0
  88. data/entry_types/scrolled/config/locales/de.yml +189 -8
  89. data/entry_types/scrolled/config/locales/en.yml +207 -2
  90. data/entry_types/scrolled/config/routes.rb +4 -0
  91. data/entry_types/scrolled/lib/generators/pageflow_scrolled/install/install_generator.rb +97 -5
  92. data/entry_types/scrolled/lib/pageflow_scrolled/additional_seed_data.rb +1 -1
  93. data/entry_types/scrolled/lib/pageflow_scrolled/configuration.rb +96 -0
  94. data/entry_types/scrolled/lib/pageflow_scrolled/content_element_consent_vendors.rb +38 -0
  95. data/entry_types/scrolled/lib/pageflow_scrolled/engine.rb +17 -1
  96. data/entry_types/scrolled/lib/pageflow_scrolled/plugin.rb +24 -0
  97. data/entry_types/scrolled/lib/pageflow_scrolled/react_widget_type.rb +6 -1
  98. data/entry_types/scrolled/lib/tasks/pageflow_scrolled/storybook.rake +1 -2
  99. data/entry_types/scrolled/package/contentElements-editor.js +307 -22
  100. data/entry_types/scrolled/package/contentElements-frontend.css +1 -1
  101. data/entry_types/scrolled/package/contentElements-frontend.js +690 -71
  102. data/entry_types/scrolled/package/editor.js +616 -220
  103. data/entry_types/scrolled/package/frontend/{EditableInlineText.module-14c7b097.js → EditableInlineText.module-fa9e3aff.js} +1669 -1674
  104. data/entry_types/scrolled/package/frontend/PhonePlatformContext-10a1d600.js +32 -0
  105. data/entry_types/scrolled/package/frontend/ToggleFullscreenCornerButton-727cce0d.js +107 -0
  106. data/entry_types/scrolled/package/frontend/Viewer-169e14ca.js +154 -0
  107. data/entry_types/scrolled/package/frontend/{Viewer-b6becc57.js → Viewer-ee1aa590.js} +32 -161
  108. data/entry_types/scrolled/package/frontend/arrowRight-92a34ccc.js +77 -0
  109. data/entry_types/scrolled/package/frontend/{components-b3160dd7.js → components-4a09bfa3.js} +185 -45
  110. data/entry_types/scrolled/package/frontend/{PhonePlatformContext-f6093cc6.js → i18n-ddd92820.js} +149 -107
  111. data/entry_types/scrolled/package/frontend/index-02378634.js +118 -0
  112. data/entry_types/scrolled/package/frontend/index.css +1 -1
  113. data/entry_types/scrolled/package/frontend/index.js +206 -54
  114. data/entry_types/scrolled/package/frontend/useContentElementEditorState-63045393.js +52 -0
  115. data/entry_types/scrolled/package/package.json +2 -1
  116. data/entry_types/scrolled/package/testHelpers.js +9 -2
  117. data/entry_types/scrolled/package/values/colors.module.css +15 -0
  118. data/entry_types/scrolled/package/widgets/consentBar.css +1 -0
  119. data/entry_types/scrolled/package/widgets/consentBar.js +426 -0
  120. data/entry_types/scrolled/package/widgets/defaultNavigation.css +1 -1
  121. data/lib/generators/pageflow/resque/resque_generator.rb +1 -1
  122. data/lib/pageflow/ability_mixin.rb +5 -5
  123. data/lib/pageflow/active_admin_can_can_fix.rb +2 -2
  124. data/lib/pageflow/built_in_file_type.rb +7 -0
  125. data/lib/pageflow/configuration.rb +21 -0
  126. data/lib/pageflow/engine.rb +60 -39
  127. data/lib/pageflow/entry_export_import/revision_serialization.rb +1 -1
  128. data/lib/pageflow/file_type.rb +2 -2
  129. data/lib/pageflow/global_config_api.rb +2 -2
  130. data/lib/pageflow/nested_revision_component.rb +23 -5
  131. data/lib/pageflow/rails_version.rb +19 -0
  132. data/lib/pageflow/seeds.rb +10 -7
  133. data/lib/pageflow/version.rb +1 -1
  134. data/lib/pageflow/widget_types.rb +4 -0
  135. data/package/config/webpack5.js +14 -0
  136. data/package/editor.js +141 -30
  137. data/package/frontend.js +26 -2
  138. data/package/testHelpers.js +1 -1
  139. data/package/ui.js +296 -71
  140. data/spec/factories/entries.rb +17 -3
  141. data/spec/factories/sites.rb +3 -0
  142. data/vendor/assets/javascripts/iscroll.js +4 -7
  143. metadata +65 -49
  144. data/app/helpers/pageflow/admin/permalinks_helper.rb +0 -15
  145. data/entry_types/scrolled/package/frontend/arrowRight-78a7cee4.js +0 -42
@@ -1,8 +1,8 @@
1
1
  import I18n from 'i18n-js';
2
2
  import { editor, NoOptionsHintView, buttonStyles } from 'pageflow-scrolled/editor';
3
- import { SelectInputView, SeparatorView, LabelOnlyView, ColorInputView, UrlInputView, CheckBoxInputView as CheckBoxInputView$1, TextInputView, SliderInputView, ConfigurationEditorView, cssModulesUtils } from 'pageflow/ui';
3
+ import { contentElementWidths, utils } from 'pageflow-scrolled/frontend';
4
+ import { SelectInputView, SeparatorView, LabelOnlyView, ColorInputView, UrlInputView, CheckBoxInputView as CheckBoxInputView$1, TextInputView, SliderInputView, ConfigurationEditorView, cssModulesUtils, NumberInputView } from 'pageflow/ui';
4
5
  import { InfoBoxView, FileInputView, CheckBoxInputView, ColorInputView as ColorInputView$1, editor as editor$1, transientReferences, ListView, SliderInputView as SliderInputView$1, SelectInputView as SelectInputView$1, EnumTableCellView } from 'pageflow/editor';
5
- import { utils } from 'pageflow-scrolled/frontend';
6
6
  import Marionette from 'backbone.marionette';
7
7
  import Backbone from 'backbone';
8
8
  import _ from 'underscore';
@@ -60,20 +60,26 @@ var img = "data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox=
60
60
 
61
61
  editor.contentElementTypes.register('heading', {
62
62
  pictogram: img,
63
- supportedPositions: ['inline', 'wide'],
63
+ supportedPositions: ['inline'],
64
+ supportedWidthRange: ['md', 'xl'],
64
65
  defaultConfig: {
65
- position: 'wide',
66
+ width: contentElementWidths.xl,
66
67
  marginTop: 'none'
67
68
  },
68
69
  configurationEditor: function configurationEditor(_ref) {
69
70
  var entry = _ref.entry;
70
71
  this.listenTo(this.model, 'change:hyphens', this.refresh);
72
+ var modelDelegator = entry.createLegacyTypographyVariantDelegator({
73
+ model: this.model,
74
+ paletteColorPropertyName: 'color'
75
+ });
71
76
  this.tab('general', function () {
72
77
  this.input('textSize', SelectInputView, {
73
78
  values: ['auto', 'large', 'medium', 'small']
74
79
  });
75
80
  this.group('ContentElementTypographyVariant', {
76
81
  entry: entry,
82
+ model: modelDelegator,
77
83
  getPreviewConfiguration: function getPreviewConfiguration(configuration, typographyVariant) {
78
84
  return _objectSpread2(_objectSpread2({}, configuration), {}, {
79
85
  textSize: 'small',
@@ -81,7 +87,11 @@ editor.contentElementTypes.register('heading', {
81
87
  });
82
88
  }
83
89
  });
84
- this.group('ContentElementPosition');
90
+ this.group('PaletteColor', {
91
+ entry: entry,
92
+ model: modelDelegator,
93
+ propertyName: 'color'
94
+ });
85
95
  this.input('hyphens', SelectInputView, {
86
96
  values: ['auto', 'manual']
87
97
  });
@@ -91,6 +101,9 @@ editor.contentElementTypes.register('heading', {
91
101
  text: I18n.t('pageflow_scrolled.editor.content_elements.heading.help_texts.shortcuts')
92
102
  });
93
103
  }
104
+
105
+ this.view(SeparatorView);
106
+ this.group('ContentElementPosition');
94
107
  });
95
108
  }
96
109
  });
@@ -110,9 +123,13 @@ editor.contentElementTypes.register('textBlock', {
110
123
  });
111
124
  this.tab('general', function () {
112
125
  var exampleNode = ensureTextContent(contentElement.transientState.get('exampleNode'));
126
+ var modelDelegator = entry.createLegacyTypographyVariantDelegator({
127
+ model: contentElement.transientState,
128
+ paletteColorPropertyName: 'color'
129
+ });
113
130
  this.group('ContentElementTypographyVariant', {
114
131
  entry: entry,
115
- model: contentElement.transientState,
132
+ model: modelDelegator,
116
133
  prefix: exampleNode ? utils.camelize(exampleNode.type) : 'none',
117
134
  getPreviewConfiguration: function getPreviewConfiguration(configuration, variant) {
118
135
  return exampleNode ? _objectSpread2(_objectSpread2({}, configuration), {}, {
@@ -134,6 +151,11 @@ editor.contentElementTypes.register('textBlock', {
134
151
  }) : configuration;
135
152
  }
136
153
  });
154
+ this.group('PaletteColor', {
155
+ entry: entry,
156
+ model: modelDelegator,
157
+ propertyName: 'color'
158
+ });
137
159
  this.view(SeparatorView);
138
160
  this.view(InfoBoxView, {
139
161
  text: I18n.t('pageflow_scrolled.editor.content_elements.textBlock.help_texts.shortcuts')
@@ -196,8 +218,10 @@ var img$2 = "data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBo
196
218
  editor.contentElementTypes.register('inlineImage', {
197
219
  pictogram: img$2,
198
220
  category: 'media',
199
- supportedPositions: ['inline', 'sticky', 'left', 'right', 'wide', 'full'],
200
- configurationEditor: function configurationEditor() {
221
+ supportedPositions: ['inline', 'sticky', 'left', 'right'],
222
+ supportedWidthRange: ['xxs', 'full'],
223
+ configurationEditor: function configurationEditor(_ref) {
224
+ var contentElement = _ref.contentElement;
201
225
  this.tab('general', function () {
202
226
  this.input('id', FileInputView, {
203
227
  collection: 'image_files',
@@ -209,7 +233,13 @@ editor.contentElementTypes.register('inlineImage', {
209
233
  fileSelectionHandler: 'contentElementConfiguration',
210
234
  positioning: false
211
235
  });
212
- this.group('ContentElementCaption');
236
+ this.input('enableFullscreen', CheckBoxInputView, {
237
+ disabledBinding: ['position', 'width'],
238
+ disabled: function disabled() {
239
+ return contentElement.getWidth() === contentElementWidths.full;
240
+ },
241
+ displayUncheckedIfDisabled: true
242
+ });
213
243
  this.group('ContentElementPosition');
214
244
  });
215
245
  }
@@ -278,10 +308,13 @@ var img$3 = "data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBo
278
308
  editor.contentElementTypes.register('inlineVideo', {
279
309
  pictogram: img$3,
280
310
  category: 'media',
281
- supportedPositions: ['inline', 'sticky', 'left', 'right', 'wide', 'full'],
311
+ supportedPositions: ['inline', 'sticky', 'left', 'right'],
312
+ supportedWidthRange: ['xxs', 'full'],
282
313
  configurationEditor: function configurationEditor() {
283
314
  migrateLegacyAutoplay(this.model);
284
315
  this.tab('general', function () {
316
+ var _this = this;
317
+
285
318
  this.input('id', FileInputView, {
286
319
  collection: 'video_files',
287
320
  fileSelectionHandler: 'contentElementConfiguration',
@@ -293,6 +326,21 @@ editor.contentElementTypes.register('inlineVideo', {
293
326
  fileSelectionHandler: 'contentElementConfiguration',
294
327
  positioning: false
295
328
  });
329
+ this.input('portraitId', FileInputView, {
330
+ collection: 'video_files',
331
+ fileSelectionHandler: 'contentElementConfiguration',
332
+ positioning: false,
333
+ defaultTextTrackFilePropertyName: 'defaultTextTrackFileId'
334
+ });
335
+ this.input('portraitPosterId', FileInputView, {
336
+ collection: 'image_files',
337
+ fileSelectionHandler: 'contentElementConfiguration',
338
+ positioning: false,
339
+ visibleBinding: 'portraitId',
340
+ visible: function visible() {
341
+ return _this.model.getReference('portraitId', 'video_files');
342
+ }
343
+ });
296
344
  this.view(SeparatorView);
297
345
  this.input('playbackMode', SelectInputView, {
298
346
  values: ['manual', 'autoplay', 'loop']
@@ -324,7 +372,6 @@ editor.contentElementTypes.register('inlineVideo', {
324
372
  values: ['play', 'mute', 'turnDown']
325
373
  });
326
374
  this.view(SeparatorView);
327
- this.group('ContentElementCaption');
328
375
  this.group('ContentElementPosition');
329
376
  });
330
377
  }
@@ -343,7 +390,8 @@ var img$4 = "data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBo
343
390
  editor.contentElementTypes.register('inlineAudio', {
344
391
  pictogram: img$4,
345
392
  category: 'media',
346
- supportedPositions: ['inline', 'sticky', 'left', 'right', 'full'],
393
+ supportedPositions: ['inline', 'sticky', 'left', 'right'],
394
+ supportedWidthRange: ['xxs', 'full'],
347
395
  defaultConfig: {
348
396
  playerControlVariant: 'waveformBars'
349
397
  },
@@ -379,7 +427,6 @@ editor.contentElementTypes.register('inlineAudio', {
379
427
  defaultValue: entry.getTheme().get('options').colors.accent
380
428
  });
381
429
  this.view(SeparatorView);
382
- this.group('ContentElementCaption');
383
430
  this.group('ContentElementPosition');
384
431
  });
385
432
  }
@@ -390,7 +437,8 @@ var img$5 = "data:image/svg+xml,%3c%3fxml version='1.0' encoding='utf-8'%3f%3e%3
390
437
  editor.contentElementTypes.register('videoEmbed', {
391
438
  pictogram: img$5,
392
439
  category: 'media',
393
- supportedPositions: ['inline', 'sticky', 'left', 'right', 'wide', 'full'],
440
+ supportedPositions: ['inline', 'sticky', 'left', 'right'],
441
+ supportedWidthRange: ['xxs', 'full'],
394
442
  configurationEditor: function configurationEditor() {
395
443
  this.tab('general', function () {
396
444
  this.input('videoSource', UrlInputView, {
@@ -414,7 +462,6 @@ editor.contentElementTypes.register('videoEmbed', {
414
462
  values: ['play', 'mute', 'turnDown']
415
463
  });
416
464
  this.view(SeparatorView);
417
- this.group('ContentElementCaption');
418
465
  this.group('ContentElementPosition');
419
466
  });
420
467
  }
@@ -445,7 +492,8 @@ var img$7 = "data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBo
445
492
  editor.contentElementTypes.register('dataWrapperChart', {
446
493
  category: 'data',
447
494
  pictogram: img$7,
448
- supportedPositions: ['inline', 'sticky', 'left', 'right', 'wide', 'full'],
495
+ supportedPositions: ['inline', 'sticky', 'left', 'right'],
496
+ supportedWidthRange: ['xxs', 'full'],
449
497
  configurationEditor: function configurationEditor() {
450
498
  this.tab('general', function () {
451
499
  this.input('url', UrlInputView, {
@@ -461,7 +509,6 @@ editor.contentElementTypes.register('dataWrapperChart', {
461
509
  this.input('backgroundColor', ColorInputView, {
462
510
  defaultValue: '#323d4d'
463
511
  });
464
- this.group('ContentElementCaption');
465
512
  this.group('ContentElementPosition');
466
513
  });
467
514
  }
@@ -472,7 +519,8 @@ var img$8 = "data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBo
472
519
  editor.contentElementTypes.register('inlineBeforeAfter', {
473
520
  pictogram: img$8,
474
521
  category: 'interactive',
475
- supportedPositions: ['inline', 'sticky', 'left', 'right', 'wide', 'full'],
522
+ supportedPositions: ['inline', 'sticky', 'left', 'right'],
523
+ supportedWidthRange: ['xxs', 'full'],
476
524
  configurationEditor: function configurationEditor() {
477
525
  this.tab('general', function () {
478
526
  this.input('before_id', FileInputView, {
@@ -746,6 +794,8 @@ var img$a = "data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBo
746
794
  editor.contentElementTypes.register('vrImage', {
747
795
  pictogram: img$a,
748
796
  category: 'interactive',
797
+ supportedPositions: ['inline', 'sticky', 'left', 'right'],
798
+ supportedWidthRange: ['xxs', 'full'],
749
799
  configurationEditor: function configurationEditor() {
750
800
  this.tab('general', function () {
751
801
  this.input('image', FileInputView, {
@@ -764,7 +814,6 @@ editor.contentElementTypes.register('vrImage', {
764
814
  minValue: -60,
765
815
  maxValue: 60
766
816
  });
767
- this.group('ContentElementCaption');
768
817
  this.group('ContentElementPosition');
769
818
  });
770
819
  }
@@ -800,10 +849,25 @@ editor.contentElementTypes.register('iframeEmbed', {
800
849
  pictogram: img$b,
801
850
  category: 'interactive',
802
851
  featureName: 'iframe_embed_content_element',
803
- supportedPositions: ['inline', 'sticky', 'left', 'right', 'wide', 'full'],
804
- configurationEditor: function configurationEditor() {
852
+ supportedPositions: ['inline', 'sticky', 'left', 'right'],
853
+ supportedWidthRange: ['xxs', 'full'],
854
+ configurationEditor: function configurationEditor(_ref) {
855
+ var entry = _ref.entry;
805
856
  this.tab('general', function () {
806
857
  this.input('source', TextInputView);
858
+ this.input('requireConsent', CheckBoxInputView$1);
859
+ this.view(InfoBoxView, {
860
+ level: 'error',
861
+ text: I18n.t('pageflow_scrolled.editor.content_elements.iframeEmbed.help_texts.missingConsentVendor'),
862
+ visibleBinding: ['source', 'requireConsent'],
863
+ visible: function visible(_ref2) {
864
+ var _ref3 = _slicedToArray(_ref2, 2),
865
+ source = _ref3[0],
866
+ requireConsent = _ref3[1];
867
+
868
+ return source && requireConsent && !entry.consentVendors.fromUrl(source);
869
+ }
870
+ });
807
871
  this.input('title', TextInputView);
808
872
  this.input('aspectRatio', SelectInputView, {
809
873
  values: aspectRatios
@@ -816,7 +880,6 @@ editor.contentElementTypes.register('iframeEmbed', {
816
880
  this.input('scale', SelectInputView, {
817
881
  values: ['p100', 'p75', 'p50', 'p33']
818
882
  });
819
- this.group('ContentElementCaption');
820
883
  this.group('ContentElementPosition');
821
884
  });
822
885
  }
@@ -859,3 +922,225 @@ editor.contentElementTypes.register('question', {
859
922
  });
860
923
  }
861
924
  });
925
+
926
+ var img$e = "data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3e%3cpath fill='white' d='M181.3 32.4c17.4 2.9 29.2 19.4 26.3 36.8L197.8 128h95.1l11.5-69.3c2.9-17.4 19.4-29.2 36.8-26.3s29.2 19.4 26.3 36.8L357.8 128H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H347.1L325.8 320H384c17.7 0 32 14.3 32 32s-14.3 32-32 32H315.1l-11.5 69.3c-2.9 17.4-19.4 29.2-36.8 26.3s-29.2-19.4-26.3-36.8l9.8-58.7H155.1l-11.5 69.3c-2.9 17.4-19.4 29.2-36.8 26.3s-29.2-19.4-26.3-36.8L90.2 384H32c-17.7 0-32-14.3-32-32s14.3-32 32-32h68.9l21.3-128H64c-17.7 0-32-14.3-32-32s14.3-32 32-32h68.9l11.5-69.3c2.9-17.4 19.4-29.2 36.8-26.3zM187.1 192L165.8 320h95.1l21.3-128H187.1z'/%3e%3c/svg%3e";
927
+
928
+ editor.contentElementTypes.register('counter', {
929
+ category: 'data',
930
+ pictogram: img$e,
931
+ supportedPositions: ['inline', 'sticky', 'left', 'right'],
932
+ supportedWidthRange: ['xxs', 'full'],
933
+ defaultConfig: {
934
+ targetValue: 100,
935
+ countingSpeed: 'medium',
936
+ textSize: 'medium'
937
+ },
938
+ configurationEditor: function configurationEditor(_ref) {
939
+ var entry = _ref.entry;
940
+ var locale = entry.metadata.get('locale');
941
+ this.tab('general', function () {
942
+ this.input('targetValue', NumberInputView, {
943
+ locale: locale
944
+ });
945
+ this.input('decimalPlaces', SelectInputView, {
946
+ values: [0, 1, 2, 3],
947
+ texts: [0, 1, 2, 3].map(function (i) {
948
+ return 0 .toLocaleString(locale, {
949
+ minimumFractionDigits: i
950
+ });
951
+ })
952
+ });
953
+ this.input('unit', TextInputView);
954
+ this.input('unitPlacement', SelectInputView, {
955
+ values: ['trailing', 'leading']
956
+ });
957
+ this.view(SeparatorView);
958
+ this.input('entranceAnimation', SelectInputView, {
959
+ values: ['none', 'fadeIn', 'fadeInFromBelow', 'fadeInFromAbove', 'fadeInScaleUp', 'fadeInScaleDown']
960
+ });
961
+ this.input('countingSpeed', SelectInputView, {
962
+ values: ['none', 'slow', 'medium', 'fast']
963
+ });
964
+ this.input('startValue', NumberInputView, {
965
+ locale: locale,
966
+ visibleBinding: 'countingSpeed',
967
+ visible: function visible(countingSpeed) {
968
+ return countingSpeed !== 'none';
969
+ }
970
+ });
971
+ this.view(SeparatorView);
972
+ this.input('textSize', SelectInputView, {
973
+ values: ['large', 'medium', 'small', 'verySmall']
974
+ });
975
+ this.group('ContentElementTypographyVariant', {
976
+ entry: entry,
977
+ getPreviewConfiguration: function getPreviewConfiguration(configuration, typographyVariant) {
978
+ return _objectSpread2(_objectSpread2({}, configuration), {}, {
979
+ typographyVariant: typographyVariant,
980
+ entranceAnimation: 'none',
981
+ countingSpeed: 'none',
982
+ textSize: 'small',
983
+ position: 'inline'
984
+ });
985
+ }
986
+ });
987
+ this.group('PaletteColor', {
988
+ propertyName: 'numberColor',
989
+ entry: entry
990
+ });
991
+ this.group('ContentElementPosition');
992
+ });
993
+ }
994
+ });
995
+
996
+ var img$f = "data:image/svg+xml,%3csvg aria-hidden='true' focusable='false' data-prefix='fas' data-icon='quote-right' class='svg-inline--fa fa-quote-right fa-w-16' role='img' xmlns='http://www.w3.org/2000/svg' viewBox='-50 -50 612 612'%3e%3cpath fill='white' d='M464 32H336c-26.5 0-48 21.5-48 48v128c0 26.5 21.5 48 48 48h80v64c0 35.3-28.7 64-64 64h-8c-13.3 0-24 10.7-24 24v48c0 13.3 10.7 24 24 24h8c88.4 0 160-71.6 160-160V80c0-26.5-21.5-48-48-48zm-288 0H48C21.5 32 0 53.5 0 80v128c0 26.5 21.5 48 48 48h80v64c0 35.3-28.7 64-64 64h-8c-13.3 0-24 10.7-24 24v48c0 13.3 10.7 24 24 24h8c88.4 0 160-71.6 160-160V80c0-26.5-21.5-48-48-48z'%3e%3c/path%3e%3c/svg%3e";
997
+
998
+ editor.contentElementTypes.register('quote', {
999
+ pictogram: img$f,
1000
+ supportedPositions: ['inline', 'sticky', 'left', 'right'],
1001
+ supportedWidthRange: ['xs', 'xl'],
1002
+ defaultConfig: {
1003
+ textSize: 'medium'
1004
+ },
1005
+ configurationEditor: function configurationEditor(_ref) {
1006
+ var entry = _ref.entry;
1007
+ this.tab('general', function () {
1008
+ this.group('ContentElementVariant', {
1009
+ entry: entry
1010
+ });
1011
+ this.input('textSize', SelectInputView, {
1012
+ values: ['large', 'medium', 'small', 'verySmall']
1013
+ });
1014
+ this.group('ContentElementPosition');
1015
+ this.group('PaletteColor', {
1016
+ propertyName: 'color',
1017
+ entry: entry
1018
+ });
1019
+ this.view(SeparatorView);
1020
+ this.view(InfoBoxView, {
1021
+ text: I18n.t('pageflow_scrolled.editor.content_elements.textBlock.help_texts.shortcuts')
1022
+ });
1023
+ });
1024
+ }
1025
+ });
1026
+
1027
+ var css$1 = ".ItemsListView-module_listContainer__2XDCy {\n}\n";
1028
+ var styles$1 = {"listContainer":"ItemsListView-module_listContainer__2XDCy"};
1029
+ styleInject(css$1);
1030
+
1031
+ var ItemsListView = Marionette.Layout.extend({
1032
+ template: function template(data) {
1033
+ return "\n <div class='".concat(styles$1.listContainer, "'></div>\n <button class=\"").concat(buttonStyles.addButton, "\">\n ").concat(I18n.t('pageflow_scrolled.editor.content_elements.imageGallery.items.add'), "\n </button>\n ");
1034
+ },
1035
+ regions: cssModulesUtils.ui(styles$1, 'listContainer'),
1036
+ events: cssModulesUtils.events(buttonStyles, {
1037
+ 'click addButton': function clickAddButton() {
1038
+ this.collection.selectImage();
1039
+ }
1040
+ }),
1041
+ onRender: function onRender() {
1042
+ var _this = this;
1043
+
1044
+ this.listContainer.show(new ListView({
1045
+ label: I18n.t('pageflow_scrolled.editor.content_elements.imageGallery.items.label'),
1046
+ collection: this.collection,
1047
+ sortable: true,
1048
+ onRemove: function onRemove(model) {
1049
+ return _this.collection.remove(model);
1050
+ }
1051
+ }));
1052
+ }
1053
+ });
1054
+
1055
+ var Item = Backbone.Model.extend({
1056
+ mixins: [transientReferences],
1057
+ thumbnailFile: function thumbnailFile() {
1058
+ var _this$imageFile;
1059
+
1060
+ return (_this$imageFile = this.imageFile()) === null || _this$imageFile === void 0 ? void 0 : _this$imageFile.thumbnailFile();
1061
+ },
1062
+ title: function title() {
1063
+ var _this$imageFile2;
1064
+
1065
+ return (_this$imageFile2 = this.imageFile()) === null || _this$imageFile2 === void 0 ? void 0 : _this$imageFile2.title();
1066
+ },
1067
+ imageFile: function imageFile() {
1068
+ return this.collection.entry.imageFiles.getByPermaId(this.get('image'));
1069
+ }
1070
+ });
1071
+
1072
+ var ItemsCollection = Backbone.Collection.extend({
1073
+ model: Item,
1074
+ comparator: 'position',
1075
+ initialize: function initialize(models, options) {
1076
+ this.entry = options.entry;
1077
+ this.contentElement = options.contentElement;
1078
+ this.listenTo(this, 'add remove sort', this.updateConfiguration);
1079
+ this.listenTo(this, 'remove', this.pruneCaptions);
1080
+ },
1081
+ updateConfiguration: function updateConfiguration() {
1082
+ this.contentElement.configuration.set('items', this.toJSON());
1083
+ },
1084
+ pruneCaptions: function pruneCaptions() {
1085
+ this.contentElement.configuration.set('captions', _.pick.apply(_, [this.contentElement.configuration.get('captions') || {}].concat(_toConsumableArray(this.pluck('id')))));
1086
+ },
1087
+ selectImage: function selectImage() {
1088
+ editor$1.selectFile('image_files', 'newImageGalleryItem', {
1089
+ id: this.contentElement.id
1090
+ });
1091
+ },
1092
+ addWithId: function addWithId(imageFile) {
1093
+ this.add({
1094
+ id: this.length ? Math.max.apply(Math, _toConsumableArray(this.pluck('id'))) + 1 : 1,
1095
+ image: imageFile.get('perma_id')
1096
+ });
1097
+ },
1098
+ saveOrder: function saveOrder() {}
1099
+ });
1100
+
1101
+ ItemsCollection.forContentElement = function (contentElement, entry) {
1102
+ return new ItemsCollection(contentElement.configuration.get('items') || [], {
1103
+ entry: entry,
1104
+ contentElement: contentElement
1105
+ });
1106
+ };
1107
+
1108
+ var FileSelectionHandler = function FileSelectionHandler(options) {
1109
+ var contentElement = options.entry.contentElements.get(options.id);
1110
+
1111
+ this.call = function (file) {
1112
+ ItemsCollection.forContentElement(contentElement).addWithId(file);
1113
+ };
1114
+
1115
+ this.getReferer = function () {
1116
+ return '/scrolled/content_elements/' + contentElement.id;
1117
+ };
1118
+ };
1119
+
1120
+ editor$1.registerFileSelectionHandler('newImageGalleryItem', FileSelectionHandler);
1121
+
1122
+ var img$g = "data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'%3e%3c!--! Font Awesome Pro 6.4.0 by %40fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons%2c Inc. --%3e%3cpath fill='white' d='M160 32c-35.3 0-64 28.7-64 64V320c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H160zM396 138.7l96 144c4.9 7.4 5.4 16.8 1.2 24.6S480.9 320 472 320H328 280 200c-9.2 0-17.6-5.3-21.6-13.6s-2.9-18.2 2.9-25.4l64-80c4.6-5.7 11.4-9 18.7-9s14.2 3.3 18.7 9l17.3 21.6 56-84C360.5 132 368 128 376 128s15.5 4 20 10.7zM192 128a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM48 120c0-13.3-10.7-24-24-24S0 106.7 0 120V344c0 75.1 60.9 136 136 136H456c13.3 0 24-10.7 24-24s-10.7-24-24-24H136c-48.6 0-88-39.4-88-88V120z'/%3e%3c/svg%3e";
1123
+
1124
+ editor.contentElementTypes.register('imageGallery', {
1125
+ pictogram: img$g,
1126
+ category: 'media',
1127
+ supportedPositions: ['inline', 'sticky', 'left', 'right'],
1128
+ supportedWidthRange: ['xxs', 'full'],
1129
+ configurationEditor: function configurationEditor(_ref) {
1130
+ var entry = _ref.entry,
1131
+ contentElement = _ref.contentElement;
1132
+ this.tab('general', function () {
1133
+ this.view(ItemsListView, {
1134
+ collection: ItemsCollection.forContentElement(this.model.parent, entry)
1135
+ });
1136
+ this.input('enableFullscreenOnDesktop', CheckBoxInputView, {
1137
+ disabledBinding: ['position', 'width'],
1138
+ disabled: function disabled() {
1139
+ return contentElement.getWidth() === contentElementWidths.full;
1140
+ },
1141
+ displayUncheckedIfDisabled: true
1142
+ });
1143
+ this.group('ContentElementPosition');
1144
+ });
1145
+ }
1146
+ });
@@ -1 +1 @@
1
- .Heading-module_root__33TFw{margin-top:.2em;margin-bottom:0;padding-top:.3em}@media (min-width:951px){.Heading-module_right__1TJKF{text-align:right}}.Heading-module_center__38lDY,.Heading-module_centerRagged__388sq{text-align:center}@media (orientation:landscape){.Heading-module_forcePaddingTop__30Juh{padding-top:var(--theme-first-heading-landscape-padding-top,25%)}}.BeforeAfter-module_sliderStart__2C5cN{background-color:#fff;position:absolute;z-index:1}.BeforeAfter-module_container__2Lm06{height:100%;--frame1pos:-8;--frame2pos:16;--frame3pos:-32;--frame4pos:32;--frame1px:calc(var(--frame1pos)*1px);--frame2px:calc(var(--frame2pos)*1px);--frame3px:calc(var(--frame3pos)*1px);--frame4px:calc(var(--frame4pos)*1px)}.BeforeAfter-module_container__2Lm06>div{height:100%!important}.BeforeAfter-module_container__2Lm06.BeforeAfter-module_wiggle__3nVSe>div>div:nth-child(3){-webkit-animation:BeforeAfter-module_SliderLeftRightShake__2mcn5 1.5s cubic-bezier(.36,.07,.19,.97);animation:BeforeAfter-module_SliderLeftRightShake__2mcn5 1.5s cubic-bezier(.36,.07,.19,.97)}.BeforeAfter-module_container__2Lm06.BeforeAfter-module_wiggle__3nVSe div img:nth-child(2){-webkit-animation:BeforeAfter-module_BeforeImageLeftRightShake__38m9V 1.5s cubic-bezier(.36,.07,.19,.97);animation:BeforeAfter-module_BeforeImageLeftRightShake__38m9V 1.5s cubic-bezier(.36,.07,.19,.97)}.BeforeAfter-module_container__2Lm06 div div:nth-child(4) div{transition:opacity .1s ease-out .3s!important}.BeforeAfter-module_container__2Lm06.BeforeAfter-module_wiggle__3nVSe div img:first-child{-webkit-animation:BeforeAfter-module_AfterImageLeftRightShake__3WMf1 1.5s cubic-bezier(.36,.07,.19,.97);animation:BeforeAfter-module_AfterImageLeftRightShake__3WMf1 1.5s cubic-bezier(.36,.07,.19,.97)}.BeforeAfter-module_container__2Lm06 div div:nth-child(5) div{transition:opacity .1s ease-out .3s!important}@-webkit-keyframes BeforeAfter-module_BeforeImageLeftRightShake__38m9V{0%,to{clip:rect(auto,var(--initial-rect-width),auto,auto)}10%,90%{clip:rect(auto,calc(var(--initial-rect-width) + var(--frame1px)),auto,auto)}20%,80%{clip:rect(auto,calc(var(--initial-rect-width) + var(--frame2px)),auto,auto)}30%,50%,70%{clip:rect(auto,calc(var(--initial-rect-width) + var(--frame3px)),auto,auto)}40%,60%{clip:rect(auto,calc(var(--initial-rect-width) + var(--frame4px)),auto,auto)}}@keyframes BeforeAfter-module_BeforeImageLeftRightShake__38m9V{0%,to{clip:rect(auto,var(--initial-rect-width),auto,auto)}10%,90%{clip:rect(auto,calc(var(--initial-rect-width) + var(--frame1px)),auto,auto)}20%,80%{clip:rect(auto,calc(var(--initial-rect-width) + var(--frame2px)),auto,auto)}30%,50%,70%{clip:rect(auto,calc(var(--initial-rect-width) + var(--frame3px)),auto,auto)}40%,60%{clip:rect(auto,calc(var(--initial-rect-width) + var(--frame4px)),auto,auto)}}@-webkit-keyframes BeforeAfter-module_AfterImageLeftRightShake__3WMf1{0%,to{clip:rect(auto,auto,auto,var(--initial-rect-width))}10%,90%{clip:rect(auto,auto,auto,calc(var(--initial-rect-width) + var(--frame1px)))}20%,80%{clip:rect(auto,auto,auto,calc(var(--initial-rect-width) + var(--frame2px)))}30%,50%,70%{clip:rect(auto,auto,auto,calc(var(--initial-rect-width) + var(--frame3px)))}40%,60%{clip:rect(auto,auto,auto,calc(var(--initial-rect-width) + var(--frame4px)))}}@keyframes BeforeAfter-module_AfterImageLeftRightShake__3WMf1{0%,to{clip:rect(auto,auto,auto,var(--initial-rect-width))}10%,90%{clip:rect(auto,auto,auto,calc(var(--initial-rect-width) + var(--frame1px)))}20%,80%{clip:rect(auto,auto,auto,calc(var(--initial-rect-width) + var(--frame2px)))}30%,50%,70%{clip:rect(auto,auto,auto,calc(var(--initial-rect-width) + var(--frame3px)))}40%,60%{clip:rect(auto,auto,auto,calc(var(--initial-rect-width) + var(--frame4px)))}}@-webkit-keyframes BeforeAfter-module_SliderLeftRightShake__2mcn5{0%,to{margin-left:0}10%,90%{margin-left:var(--frame1px)}20%,80%{margin-left:var(--frame2px)}30%,50%,70%{margin-left:var(--frame3px)}40%,60%{margin-left:var(--frame4px)}}@keyframes BeforeAfter-module_SliderLeftRightShake__2mcn5{0%,to{margin-left:0}10%,90%{margin-left:var(--frame1px)}20%,80%{margin-left:var(--frame2px)}30%,50%,70%{margin-left:var(--frame3px)}40%,60%{margin-left:var(--frame4px)}}.MutedIndicator-module_wrapper__17JUY{position:absolute;right:0;top:0;color:#fff;background:linear-gradient(30deg,transparent,transparent 60%,rgba(0,0,0,.65));padding:5px 5px 40px 70px;pointer-events:none;opacity:0;transition:opacity .2s;z-index:1;will-change:transform}.MutedIndicator-module_visible__3qARn{opacity:1}.MutedIndicator-module_eqBar__1cMDE{transform:scaleY(-1) translateY(-24px);fill:#fff}.MutedIndicator-module_eqBar1__2Ap_R{-webkit-animation-name:MutedIndicator-module_short-eq__1OYlk;animation-name:MutedIndicator-module_short-eq__1OYlk;-webkit-animation-duration:.5s;animation-duration:.5s;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;-webkit-animation-delay:0s;animation-delay:0s}.MutedIndicator-module_eqBar2__2QTgX{-webkit-animation-name:MutedIndicator-module_tall-eq__6gm0B;animation-name:MutedIndicator-module_tall-eq__6gm0B;-webkit-animation-duration:.5s;animation-duration:.5s;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;-webkit-animation-delay:.17s;animation-delay:.17s}.MutedIndicator-module_eqBar3__2S-y3{-webkit-animation-name:MutedIndicator-module_short-eq__1OYlk;animation-name:MutedIndicator-module_short-eq__1OYlk;-webkit-animation-duration:.5s;animation-duration:.5s;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;-webkit-animation-delay:.34s;animation-delay:.34s}@-webkit-keyframes MutedIndicator-module_short-eq__1OYlk{0%{height:8px}50%{height:4px}to{height:8px}}@keyframes MutedIndicator-module_short-eq__1OYlk{0%{height:8px}50%{height:4px}to{height:8px}}@-webkit-keyframes MutedIndicator-module_tall-eq__6gm0B{0%{height:16px}50%{height:6px}to{height:16px}}@keyframes MutedIndicator-module_tall-eq__6gm0B{0%{height:16px}50%{height:6px}to{height:16px}}.SoundDisclaimer-module_soundDisclaimer__31hWh{display:grid;border:1px solid;border-radius:4px;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.SoundDisclaimer-module_unmute__1V4Ab,.SoundDisclaimer-module_unmuted__22CJ5{grid-column:1;grid-row:1;display:flex;align-items:center;transition-property:opacity,visibility;transition-duration:.09s;transition-timing-function:ease-out;opacity:0;visibility:hidden;padding:0 15px}.SoundDisclaimer-module_unmute__1V4Ab{position:relative;border:0;background-color:transparent;font:inherit;color:currentColor;text-align:initial;width:100%;z-index:1;cursor:pointer}.SoundDisclaimer-module_active__11_kc{opacity:1;visibility:visible;transition-delay:.09s;transition-duration:.21s;transition-timing-function:ease-in}.SoundDisclaimer-module_soundDisclaimer__31hWh svg{flex:0 0 25px;fill:currentColor;margin-right:15px}.TextBlock-module_text__21Hk4 li,.TextBlock-module_text__21Hk4 p{margin:1.375rem 0 0}.TextBlock-module_text__21Hk4 a{color:var(--theme-text-block-dark-link-color,var(--theme-text-block-link-color,currentColor));word-wrap:break-word}.TextBlock-module_darkBackground__22pEl a{color:var(--theme-text-block-light-link-color,var(--theme-text-block-link-color,currentColor))}.TextBlock-module_text__21Hk4 ol,.TextBlock-module_text__21Hk4 ul{margin:0;padding-left:20px;clear:both}.TextBlock-module_text__21Hk4 ul{list-style-type:var(--theme-text-block-unordered-list-style-type)}.TextBlock-module_text__21Hk4 blockquote{padding:.5em .5em .5em 1.6em;margin:1.375rem 0 0;position:relative;overflow:hidden}.TextBlock-module_text__21Hk4 blockquote:before{content:"\201C";font-size:2.5em;font-weight:700;position:absolute;top:.1em;left:0;line-height:1em;opacity:.5}@media screen and (min-width:640px){.TextBlock-module_text__21Hk4 blockquote{margin-left:.6875rem;padding-left:2em;padding-right:1.375rem}.TextBlock-module_text__21Hk4 blockquote:before{font-size:3em;top:0}}.TextBlock-module_layout-centerRagged__1tjoI{text-align:center}.TextBlock-module_layout-centerRagged__1tjoI ol,.TextBlock-module_layout-centerRagged__1tjoI ul{padding-left:0;list-style-position:inside}.VideoEmbed-module_embedPlayer__54NKG{position:absolute;top:0;left:0;bottom:0;right:0;background-color:#000;color:#fff}.ExternalLink-module_hidden__3jer0{display:none}.ExternalLink-module_link_item__Blypv{width:45%;vertical-align:top;margin:2% auto;background-color:var(--theme-light-content-surface-color,#fff);color:var(--theme-dark-content-text-color,#222);text-decoration:none;transition:transform .3s;border-radius:var(--theme-content-element-box-border-radius);overflow:hidden;will-change:transform}.ExternalLink-module_link_item__Blypv.ExternalLink-module_invert__1zrgN{background-color:var(--theme-dark-content-surface-color,#101010);color:var(--theme-light-content-text-color,#fff)}.ExternalLink-module_link_item__Blypv.ExternalLink-module_layout_center__3NRpQ{width:29%}.ExternalLink-module_link_item__Blypv:hover{transform:scale(1.05)}.ExternalLink-module_link_item__Blypv:hover .ExternalLink-module_link_title__FZJ-0{text-decoration:underline}.ExternalLink-module_link_thumbnail__2_BHq{width:auto;background-repeat:no-repeat;background-size:cover;padding-top:56.25%;position:relative}.ExternalLink-module_link_details__lRhKU{margin:20px}.ExternalLink-module_link_details__lRhKU>.ExternalLink-module_link_title__FZJ-0{font-size:1.2em;font-weight:700;margin-bottom:20px}.ExternalLink-module_link_details__lRhKU>p{width:100%;white-space:normal;line-height:1.3em}.ExternalLink-module_tooltip__18MpC{position:absolute;left:50%;top:80px;width:180px;padding:5px;margin-left:-95px;background-color:#444;color:#fff;opacity:.9;font-size:13px;text-align:center;white-space:normal}.ExternalLink-module_tooltip__18MpC>span{display:block;color:#fff;text-decoration:underline}@media only screen and (max-width:600px){.ExternalLink-module_link_item__Blypv.ExternalLink-module_layout_center__3NRpQ{width:45%}}@media only screen and (max-width:350px){.ExternalLink-module_link_item__Blypv,.ExternalLink-module_link_item__Blypv.ExternalLink-module_layout_center__3NRpQ{width:85%}}.ExternalLinkList-module_ext_links_container__16IIo{display:flex;flex-wrap:wrap;border-collapse:separate;border-spacing:10px;min-height:240px;width:auto;height:auto;pointer-events:auto;position:relative;transition:opacity .5s;transition-timing-function:cubic-bezier(.1,.57,.1,1);transition-duration:0ms}.DataWrapperChart-module_container__2eZ15{min-height:200px;padding:20px 5%}.DataWrapperChart-module_container__2eZ15>iframe{width:100%;height:100%;position:relative;top:0;border:0}.IframeEmbed-module_wrapper__3w_LN{overflow:hidden}.IframeEmbed-module_iframe__3QVCA{width:100%;height:100%;border:none;transform-origin:0 0}.IframeEmbed-module_scale-p33__MRjVy{width:300%;height:300%;transform:scale(.333)}.IframeEmbed-module_scale-p50__1EKxu{width:200%;height:200%;transform:scale(.5)}.IframeEmbed-module_scale-p75__1yT4D{width:133.333%;height:133.333%;transform:scale(.75)}.Placeholder-module_wrapper__jRFYE{border-radius:12px;background-color:#fff;color:#000;display:flex;flex-direction:column;padding:12px 16px 30px;margin:10px auto;border:1px solid #cfd9de;max-width:550px;box-sizing:border-box}.Placeholder-module_wrapper__jRFYE svg{fill:#eee}.Placeholder-module_row__1SBRB{display:flex;margin-bottom:12px}.Placeholder-module_item__RozmQ{-webkit-animation:Placeholder-module_load__uFpxr 2s linear infinite;animation:Placeholder-module_load__uFpxr 2s linear infinite;background:linear-gradient(-75deg,transparent 30%,#ddd 50%,transparent 70%) 0 0/200% 100%,#eee;background-attachment:fixed}.Placeholder-module_avatar__2VeHz{width:48px;height:48px;border-radius:100%}.Placeholder-module_info__37csK{flex:1;margin-left:7px}.Placeholder-module_handle__2WwoF,.Placeholder-module_name__2T6as,.Placeholder-module_text__DWLME{border-radius:2px}.Placeholder-module_handle__2WwoF,.Placeholder-module_name__2T6as{height:14px;margin:6px 0}.Placeholder-module_name__2T6as{width:40%}.Placeholder-module_handle__2WwoF{width:35%}.Placeholder-module_text__DWLME{height:200px;flex-grow:1;margin-bottom:10px}@-webkit-keyframes Placeholder-module_load__uFpxr{to{background-position:-200% 0}}@keyframes Placeholder-module_load__uFpxr{to{background-position:-200% 0}}.TwitterEmbed-module_loadingContainer__3Ozs_>div{margin-top:0!important;margin-bottom:0!important}.TwitterEmbed-module_container__380cX>div{margin:0 auto}.Question-module_details__3FxH-{position:relative;padding-left:22px;margin:1.375rem 0 0}.Question-module_details__3FxH- summary{display:inline-flex;oveflow:hidden;font-weight:700;cursor:pointer}.Question-module_details__3FxH- summary::-webkit-details-marker{display:none}.Question-module_details__3FxH- summary>svg{position:absolute;left:-11px;top:0;width:30px;height:30px;transition:transform .2s ease}.Question-module_details__3FxH-[open] summary>svg{transform:rotate(90deg)}.Question-module_details__3FxH- p{margin:1.375rem 0 0}.Question-module_layout-centerRagged__1hovs{text-align:center}
1
+ .colors-module_contentColorScope__7XjIS{--theme-light-content-surface-color:var(--root-light-content-surface-color);--theme-dark-content-surface-color:var(--root-dark-content-surface-color);--theme-light-content-text-color:var(--root-light-content-text-color);--theme-dark-content-text-color:var(--root-dark-content-text-color)}.Heading-module_root__33TFw{margin-top:.2em;margin-bottom:0;padding-top:.3em}@media (min-width:951px){.Heading-module_right__1TJKF{text-align:right}}.Heading-module_light__1TQE8{color:var(--theme-light-content-text-color,#fff)}.Heading-module_dark__18iWa{color:var(--theme-dark-content-text-color,#222)}.Heading-module_center__38lDY,.Heading-module_centerRagged__388sq{text-align:center}@media (orientation:landscape){.Heading-module_forcePaddingTop__30Juh{padding-top:var(--theme-first-heading-landscape-padding-top,25%)}}.BeforeAfter-module_sliderStart__2C5cN{background-color:#fff;position:absolute;z-index:1}.BeforeAfter-module_container__2Lm06{height:100%;--frame1pos:-8;--frame2pos:16;--frame3pos:-32;--frame4pos:32;--frame1px:calc(var(--frame1pos)*1px);--frame2px:calc(var(--frame2pos)*1px);--frame3px:calc(var(--frame3pos)*1px);--frame4px:calc(var(--frame4pos)*1px)}.BeforeAfter-module_container__2Lm06>div{height:100%!important}.BeforeAfter-module_container__2Lm06.BeforeAfter-module_wiggle__3nVSe>div>div:nth-child(3){-webkit-animation:BeforeAfter-module_SliderLeftRightShake__2mcn5 1.5s cubic-bezier(.36,.07,.19,.97);animation:BeforeAfter-module_SliderLeftRightShake__2mcn5 1.5s cubic-bezier(.36,.07,.19,.97)}.BeforeAfter-module_container__2Lm06.BeforeAfter-module_wiggle__3nVSe div img:nth-child(2){-webkit-animation:BeforeAfter-module_BeforeImageLeftRightShake__38m9V 1.5s cubic-bezier(.36,.07,.19,.97);animation:BeforeAfter-module_BeforeImageLeftRightShake__38m9V 1.5s cubic-bezier(.36,.07,.19,.97)}.BeforeAfter-module_container__2Lm06 div div:nth-child(4) div{transition:opacity .1s ease-out .3s!important}.BeforeAfter-module_container__2Lm06.BeforeAfter-module_wiggle__3nVSe div img:first-child{-webkit-animation:BeforeAfter-module_AfterImageLeftRightShake__3WMf1 1.5s cubic-bezier(.36,.07,.19,.97);animation:BeforeAfter-module_AfterImageLeftRightShake__3WMf1 1.5s cubic-bezier(.36,.07,.19,.97)}.BeforeAfter-module_container__2Lm06 div div:nth-child(5) div{transition:opacity .1s ease-out .3s!important}@-webkit-keyframes BeforeAfter-module_BeforeImageLeftRightShake__38m9V{0%,to{clip:rect(auto,var(--initial-rect-width),auto,auto)}10%,90%{clip:rect(auto,calc(var(--initial-rect-width) + var(--frame1px)),auto,auto)}20%,80%{clip:rect(auto,calc(var(--initial-rect-width) + var(--frame2px)),auto,auto)}30%,50%,70%{clip:rect(auto,calc(var(--initial-rect-width) + var(--frame3px)),auto,auto)}40%,60%{clip:rect(auto,calc(var(--initial-rect-width) + var(--frame4px)),auto,auto)}}@keyframes BeforeAfter-module_BeforeImageLeftRightShake__38m9V{0%,to{clip:rect(auto,var(--initial-rect-width),auto,auto)}10%,90%{clip:rect(auto,calc(var(--initial-rect-width) + var(--frame1px)),auto,auto)}20%,80%{clip:rect(auto,calc(var(--initial-rect-width) + var(--frame2px)),auto,auto)}30%,50%,70%{clip:rect(auto,calc(var(--initial-rect-width) + var(--frame3px)),auto,auto)}40%,60%{clip:rect(auto,calc(var(--initial-rect-width) + var(--frame4px)),auto,auto)}}@-webkit-keyframes BeforeAfter-module_AfterImageLeftRightShake__3WMf1{0%,to{clip:rect(auto,auto,auto,var(--initial-rect-width))}10%,90%{clip:rect(auto,auto,auto,calc(var(--initial-rect-width) + var(--frame1px)))}20%,80%{clip:rect(auto,auto,auto,calc(var(--initial-rect-width) + var(--frame2px)))}30%,50%,70%{clip:rect(auto,auto,auto,calc(var(--initial-rect-width) + var(--frame3px)))}40%,60%{clip:rect(auto,auto,auto,calc(var(--initial-rect-width) + var(--frame4px)))}}@keyframes BeforeAfter-module_AfterImageLeftRightShake__3WMf1{0%,to{clip:rect(auto,auto,auto,var(--initial-rect-width))}10%,90%{clip:rect(auto,auto,auto,calc(var(--initial-rect-width) + var(--frame1px)))}20%,80%{clip:rect(auto,auto,auto,calc(var(--initial-rect-width) + var(--frame2px)))}30%,50%,70%{clip:rect(auto,auto,auto,calc(var(--initial-rect-width) + var(--frame3px)))}40%,60%{clip:rect(auto,auto,auto,calc(var(--initial-rect-width) + var(--frame4px)))}}@-webkit-keyframes BeforeAfter-module_SliderLeftRightShake__2mcn5{0%,to{margin-left:0}10%,90%{margin-left:var(--frame1px)}20%,80%{margin-left:var(--frame2px)}30%,50%,70%{margin-left:var(--frame3px)}40%,60%{margin-left:var(--frame4px)}}@keyframes BeforeAfter-module_SliderLeftRightShake__2mcn5{0%,to{margin-left:0}10%,90%{margin-left:var(--frame1px)}20%,80%{margin-left:var(--frame2px)}30%,50%,70%{margin-left:var(--frame3px)}40%,60%{margin-left:var(--frame4px)}}.MutedIndicator-module_wrapper__17JUY{position:absolute;right:0;top:0;color:#fff;background:linear-gradient(30deg,transparent,transparent 60%,rgba(0,0,0,.65));padding:5px 5px 40px 70px;pointer-events:none;opacity:0;transition:opacity .2s;z-index:1;will-change:transform}.MutedIndicator-module_visible__3qARn{opacity:1}.MutedIndicator-module_eqBar__1cMDE{transform:scaleY(-1) translateY(-24px);fill:#fff}.MutedIndicator-module_eqBar1__2Ap_R{-webkit-animation-name:MutedIndicator-module_short-eq__1OYlk;animation-name:MutedIndicator-module_short-eq__1OYlk;-webkit-animation-duration:.5s;animation-duration:.5s;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;-webkit-animation-delay:0s;animation-delay:0s}.MutedIndicator-module_eqBar2__2QTgX{-webkit-animation-name:MutedIndicator-module_tall-eq__6gm0B;animation-name:MutedIndicator-module_tall-eq__6gm0B;-webkit-animation-duration:.5s;animation-duration:.5s;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;-webkit-animation-delay:.17s;animation-delay:.17s}.MutedIndicator-module_eqBar3__2S-y3{-webkit-animation-name:MutedIndicator-module_short-eq__1OYlk;animation-name:MutedIndicator-module_short-eq__1OYlk;-webkit-animation-duration:.5s;animation-duration:.5s;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;-webkit-animation-delay:.34s;animation-delay:.34s}@-webkit-keyframes MutedIndicator-module_short-eq__1OYlk{0%{height:8px}50%{height:4px}to{height:8px}}@keyframes MutedIndicator-module_short-eq__1OYlk{0%{height:8px}50%{height:4px}to{height:8px}}@-webkit-keyframes MutedIndicator-module_tall-eq__6gm0B{0%{height:16px}50%{height:6px}to{height:16px}}@keyframes MutedIndicator-module_tall-eq__6gm0B{0%{height:16px}50%{height:6px}to{height:16px}}.SoundDisclaimer-module_soundDisclaimer__31hWh{display:grid;border:1px solid;border-radius:4px;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.SoundDisclaimer-module_unmute__1V4Ab,.SoundDisclaimer-module_unmuted__22CJ5{grid-column:1;grid-row:1;display:flex;align-items:center;transition-property:opacity,visibility;transition-duration:.09s;transition-timing-function:ease-out;opacity:0;visibility:hidden;padding:0 15px}.SoundDisclaimer-module_unmute__1V4Ab{position:relative;border:0;background-color:transparent;font:inherit;color:currentColor;text-align:initial;width:100%;z-index:1;cursor:pointer}.SoundDisclaimer-module_active__11_kc{opacity:1;visibility:visible;transition-delay:.09s;transition-duration:.21s;transition-timing-function:ease-in}.SoundDisclaimer-module_soundDisclaimer__31hWh svg{flex:0 0 25px;fill:currentColor;margin-right:15px}.colors-module_contentColorScope__2zqbk{--theme-light-content-surface-color:var(--root-light-content-surface-color);--theme-dark-content-surface-color:var(--root-dark-content-surface-color);--theme-light-content-text-color:var(--root-light-content-text-color);--theme-dark-content-text-color:var(--root-dark-content-text-color)}.TextBlock-module_text__21Hk4{--block-quote-padding-left:0}.TextBlock-module_quoteDesign-hanging__1c9AW{--block-quote-padding-left:var(--theme-text-block-block-quote-hanging-indent,1em)}.TextBlock-module_quoteDesign-largeHanging__2VkIW{--block-quote-padding-left:var(--theme-text-block-block-quote-hanging-indent,1.6em)}.TextBlock-module_text__21Hk4 p{margin:1.375rem 0 0}.TextBlock-module_text__21Hk4 li{margin:var(--theme-text-block-first-list-item-margin-top,1.375rem) 0 0 0}.TextBlock-module_text__21Hk4 li+li{margin-top:var(--theme-text-block-list-item-margin-top,.6875rem)}.TextBlock-module_text__21Hk4 a{color:var(--content-link-color);word-wrap:break-word}.TextBlock-module_text__21Hk4 ol,.TextBlock-module_text__21Hk4 ul{margin:0;padding-left:0;padding-right:var(--list-indent,25px);position:relative;left:var(--list-indent,25px)}.TextBlock-module_text__21Hk4 ul{list-style-type:var(--theme-text-block-unordered-list-style-type);--list-indent:var(--theme-text-block-unordered-list-indent)}.TextBlock-module_text__21Hk4 ol{--list-indent:var(--theme-text-block-ordered-list-indent)}.TextBlock-module_text__21Hk4 ul li::marker{color:var(--theme-text-block-unordered-list-marker-color)}.TextBlock-module_text__21Hk4 blockquote{padding:.5em .5em .5em var(--block-quote-padding-left);margin:1.375rem 0 0;position:relative;overflow:hidden}.TextBlock-module_text__21Hk4 blockquote:after,.TextBlock-module_text__21Hk4 blockquote:before{font-weight:var(--theme-quote-mark-font-weight,bold);opacity:var(--theme-quote-mark-opacity,.5);width:var(--theme-quote-mark-width)}.TextBlock-module_text__21Hk4 blockquote:before{content:var(--theme-quote-left-mark,"\201C")}.TextBlock-module_text__21Hk4 blockquote:after{content:var(--theme-quote-right-mark,"\201D")}.TextBlock-module_quoteDesign-hanging__1c9AW blockquote:before,.TextBlock-module_quoteDesign-largeHanging__2VkIW blockquote:before{position:absolute}.TextBlock-module_quoteDesign-largeHanging__2VkIW blockquote:before{font-size:var(--theme-quote-large-mark-font-size,2.5em);line-height:1em;top:var(--theme-quote-large-mark-top,-.2em);padding-top:inherit;left:0}.TextBlock-module_quoteDesign-largeHanging__2VkIW blockquote:after{display:none}.TextBlock-module_quoteDesign-hanging__1c9AW blockquote:before{right:calc(100% - var(--block-quote-padding-left) + var(--theme-quote-hanging-mark-spacing, .05em))}.TextBlock-module_quoteDesign-hanging__1c9AW blockquote:after{padding-left:var(--theme-quote-hanging-mark-spacing,.05em)}@media screen and (min-width:640px){.TextBlock-module_quoteDesign-largeHanging__2VkIW{--block-quote-padding-left:var(--theme-text-block-block-quote-hanging-indent,2em)}.TextBlock-module_text__21Hk4 blockquote{margin-left:.6875rem;padding-right:1.375rem}.TextBlock-module_quoteDesign-largeHanging__2VkIW blockquote:before{font-size:var(--theme-quote-large-mark-font-size,3em)}}.TextBlock-module_layout-centerRagged__1tjoI{text-align:center}.TextBlock-module_layout-centerRagged__1tjoI ol,.TextBlock-module_layout-centerRagged__1tjoI ul{padding-left:0;list-style-position:inside}.VideoEmbed-module_embedPlayer__54NKG{position:absolute;top:0;left:0;bottom:0;right:0;background-color:#000;color:#fff}.ExternalLink-module_hidden__3jer0{display:none}.ExternalLink-module_link_item__Blypv{display:flex;flex-direction:column;width:45%;vertical-align:top;margin:2% auto;text-decoration:none;transition:transform .3s;border-radius:var(--theme-content-element-box-border-radius);overflow:hidden;will-change:transform}.ExternalLink-module_link_item__Blypv.ExternalLink-module_layout_center__3NRpQ{width:29%}.ExternalLink-module_link_item__Blypv:hover{transform:scale(1.05)}.ExternalLink-module_link_item__Blypv:hover .ExternalLink-module_link_title__FZJ-0{text-decoration:underline}.ExternalLink-module_link_thumbnail__2_BHq{width:auto;background-repeat:no-repeat;background-size:cover;padding-top:56.25%;position:relative}.ExternalLink-module_link_details__lRhKU{flex:1;padding:20px;color:var(--theme-dark-content-text-color,#222);background-color:var(--theme-light-content-surface-color,#fff)}.ExternalLink-module_invert__1zrgN>.ExternalLink-module_link_details__lRhKU{background-color:var(--theme-dark-content-surface-color,#101010);color:var(--theme-light-content-text-color,#fff)}.ExternalLink-module_link_details__lRhKU>.ExternalLink-module_link_title__FZJ-0{font-weight:700;margin:0 0 20px}@media screen and (min-width:640px){.ExternalLink-module_link_details__lRhKU>.ExternalLink-module_link_title__FZJ-0{font-size:1.2em}}.ExternalLink-module_link_details__lRhKU>p{width:100%;white-space:normal;line-height:1.3em;margin-bottom:0}.ExternalLink-module_tooltip__18MpC{position:absolute;left:50%;top:80px;width:180px;padding:5px;margin-left:-95px;background-color:#444;color:#fff;opacity:.9;font-size:13px;text-align:center;white-space:normal}.ExternalLink-module_tooltip__18MpC>span{display:block;color:#fff;text-decoration:underline}@media only screen and (max-width:600px){.ExternalLink-module_link_item__Blypv.ExternalLink-module_layout_center__3NRpQ{width:45%}}@media only screen and (max-width:350px){.ExternalLink-module_link_item__Blypv,.ExternalLink-module_link_item__Blypv.ExternalLink-module_layout_center__3NRpQ{width:85%}}.colors-module_contentColorScope__3zLO1{--theme-light-content-surface-color:var(--root-light-content-surface-color);--theme-dark-content-surface-color:var(--root-dark-content-surface-color);--theme-light-content-text-color:var(--root-light-content-text-color);--theme-dark-content-text-color:var(--root-dark-content-text-color)}.ExternalLinkList-module_ext_links_container__16IIo{display:flex;flex-wrap:wrap;border-collapse:separate;border-spacing:10px;min-height:240px;width:auto;height:auto;pointer-events:auto;position:relative;transition:opacity .5s;transition-timing-function:cubic-bezier(.1,.57,.1,1);transition-duration:0ms}.DataWrapperChart-module_container__2eZ15{min-height:200px;padding:20px 5%}.DataWrapperChart-module_container__2eZ15>iframe{width:100%;height:100%;position:relative;top:0;border:0}.IframeEmbed-module_wrapper__3w_LN{overflow:hidden}.IframeEmbed-module_iframe__3QVCA{width:100%;height:100%;border:none;transform-origin:0 0}.IframeEmbed-module_scale-p33__MRjVy{width:300%;height:300%;transform:scale(.333)}.IframeEmbed-module_scale-p50__1EKxu{width:200%;height:200%;transform:scale(.5)}.IframeEmbed-module_scale-p75__1yT4D{width:133.333%;height:133.333%;transform:scale(.75)}.Placeholder-module_wrapper__jRFYE{border-radius:12px;background-color:#fff;color:#000;display:flex;flex-direction:column;padding:12px 16px 30px;margin:10px auto;border:1px solid #cfd9de;max-width:550px;box-sizing:border-box}.Placeholder-module_wrapper__jRFYE svg{fill:#eee}.Placeholder-module_row__1SBRB{display:flex;margin-bottom:12px}.Placeholder-module_item__RozmQ{-webkit-animation:Placeholder-module_load__uFpxr 2s linear infinite;animation:Placeholder-module_load__uFpxr 2s linear infinite;background:linear-gradient(-75deg,transparent 30%,#ddd 50%,transparent 70%) 0 0/200% 100%,#eee;background-attachment:fixed}.Placeholder-module_avatar__2VeHz{width:48px;height:48px;border-radius:100%}.Placeholder-module_info__37csK{flex:1;margin-left:7px}.Placeholder-module_handle__2WwoF,.Placeholder-module_name__2T6as,.Placeholder-module_text__DWLME{border-radius:2px}.Placeholder-module_handle__2WwoF,.Placeholder-module_name__2T6as{height:14px;margin:6px 0}.Placeholder-module_name__2T6as{width:40%}.Placeholder-module_handle__2WwoF{width:35%}.Placeholder-module_text__DWLME{height:200px;flex-grow:1;margin-bottom:10px}@-webkit-keyframes Placeholder-module_load__uFpxr{to{background-position:-200% 0}}@keyframes Placeholder-module_load__uFpxr{to{background-position:-200% 0}}.TwitterEmbed-module_loadingContainer__3Ozs_>div{margin-top:0!important;margin-bottom:0!important}.TwitterEmbed-module_container__380cX>div{margin:0 auto}.colors-module_contentColorScope__33Qhb{--theme-light-content-surface-color:var(--root-light-content-surface-color);--theme-dark-content-surface-color:var(--root-dark-content-surface-color);--theme-light-content-text-color:var(--root-light-content-text-color);--theme-dark-content-text-color:var(--root-dark-content-text-color)}.Question-module_details__3FxH-{position:relative;padding-left:22px;margin:1.375rem 0 0}.Question-module_details__3FxH- summary{display:inline-flex;oveflow:hidden;font-weight:700;cursor:pointer}.Question-module_details__3FxH- summary::-webkit-details-marker{display:none}.Question-module_details__3FxH- summary>svg{position:absolute;left:-11px;top:0;width:30px;height:30px;transition:transform .2s ease}.Question-module_details__3FxH-[open] summary>svg{transform:rotate(90deg)}.Question-module_answer__2jMt6 p{margin:1.375rem 0 0}.Question-module_answer__2jMt6 a{color:var(--content-link-color)}.Question-module_layout-centerRagged__1hovs{text-align:center}.colors-module_contentColorScope__1IORS{--theme-light-content-surface-color:var(--root-light-content-surface-color);--theme-dark-content-surface-color:var(--root-dark-content-surface-color);--theme-light-content-text-color:var(--root-light-content-text-color);--theme-dark-content-text-color:var(--root-dark-content-text-color)}.Counter-module_wrapper__3XTil p{margin:0}.Counter-module_wrapper__3XTil a{color:var(--content-link-color)}.Counter-module_number__1Y4AV{display:inline-block;word-break:break-word;color:var(--palette-color)}.Counter-module_centerRagged__3Va0Y{text-align:center}.Counter-module_center__1SCJY,.Counter-module_center__1SCJY .Counter-module_wrapper__3XTil{display:flex;flex-direction:column;align-items:center}.Counter-module_animation-fadeIn__3Hyky{opacity:0}.Counter-module_animation-fadeIn-active__16DIk{transition:opacity 1s linear;opacity:1}.Counter-module_animation-fadeInFromBelow__3l1qX{opacity:0;transform:translateY(20px)}.Counter-module_animation-fadeInFromAbove__3iGf-{opacity:0;transform:translateY(-20px)}.Counter-module_animation-fadeInFromAbove-active__37UsW,.Counter-module_animation-fadeInFromBelow-active__2CSjv{transition:opacity 1s linear,transform 1s ease-out;transform:translateY(0);opacity:1}.Counter-module_animation-fadeInScaleUp__1ngk5{opacity:0;transform:scale(.8)}.Counter-module_animation-fadeInScaleDown__SpNGu{opacity:0;transform:scale(1.2)}.Counter-module_animation-fadeInScaleDown-active__3gaYM,.Counter-module_animation-fadeInScaleUp-active__1GEXn{transition:opacity 1s linear,transform var(--counting-duration) ease-out;transform:scale(1);opacity:1}.colors-module_contentColorScope__26MUe{--theme-light-content-surface-color:var(--root-light-content-surface-color);--theme-dark-content-surface-color:var(--root-dark-content-surface-color);--theme-light-content-text-color:var(--root-light-content-text-color);--theme-dark-content-text-color:var(--root-dark-content-text-color)}.Quote-module_figure__1Q3tJ{margin:0;display:flex;flex-direction:column;align-items:flex-end;padding-bottom:1.375rem;color:var(--palette-color)}.Quote-module_design-largeCentered__2f6qW{text-align:center;align-items:center}.Quote-module_figure__1Q3tJ a{color:var(--palette-color,var(--content-link-color))}.Quote-module_text__C0md2{--quote-indent:var(--theme-quote-indent,0);--quote-large-mark-font-size:var(--theme-quote-large-mark-font-size,2em);width:100%;box-sizing:border-box;margin:0;padding:1em 0 var(--theme-quote-text-padding-bottom,.5em) 0}.Quote-module_design-hanging__4aDVU .Quote-module_text__C0md2,.Quote-module_design-largeHanging__1TVQh .Quote-module_text__C0md2{--quote-indent:var(--theme-quote-indent,1em)}.Quote-module_text__C0md2 p{margin:1.375rem 0 0 var(--quote-indent)}.Quote-module_text__C0md2 br{display:none}.Quote-module_centerRagged__1CeFH .Quote-module_text__C0md2 p{text-align:center;margin-right:var(--quote-indent)}.Quote-module_text__C0md2 p:first-child{position:relative}.Quote-module_text__C0md2 p:first-child:before,.Quote-module_text__C0md2 p:last-child:after{font-family:var(--theme-quote-mark-font-family);font-weight:var(--theme-quote-mark-font-weight,bold);opacity:var(--theme-quote-mark-opacity,.5);color:var(--theme-quote-mark-color);width:var(--theme-quote-mark-width)}.Quote-module_text__C0md2 p:first-child:before{content:var(--theme-quote-left-mark,"\201C")}.Quote-module_maskedMark__2n08e .Quote-module_text__C0md2 p:first-child:before{-webkit-mask:var(--theme-quote-left-mark-mask-image) 50% 50% no-repeat;mask:var(--theme-quote-left-mark-mask-image) 50% 50% no-repeat;background-color:var(--palette-color,var(--theme-quote-mark-color));color:transparent}.Quote-module_text__C0md2 p:last-child:after{content:var(--theme-quote-right-mark,"\201D")}.Quote-module_design-hanging__4aDVU .Quote-module_text__C0md2 p:first-child:before,.Quote-module_design-largeHanging__1TVQh .Quote-module_text__C0md2 p:first-child:before{position:absolute;right:calc(100% + var(--theme-quote-hanging-mark-spacing, .05em))}.Quote-module_design-largeCentered__2f6qW .Quote-module_text__C0md2 p:first-child:before,.Quote-module_design-largeHanging__1TVQh .Quote-module_text__C0md2 p:first-child:before{font-size:var(--quote-large-mark-font-size);line-height:1em}.Quote-module_design-largeCentered__2f6qW .Quote-module_text__C0md2 p:first-child:before{font-size:var(--quote-large-mark-font-size);margin-top:var(--theme-quote-large-mark-margin-top,-.1em);margin-bottom:var(--theme-quote-large-mark-margin-bottom,-.3em);display:block}.Quote-module_design-largeHanging__1TVQh .Quote-module_text__C0md2 p:first-child:before{top:var(--theme-quote-large-mark-top,-.2em)}.Quote-module_design-largeCentered__2f6qW .Quote-module_text__C0md2 p:last-child:after,.Quote-module_design-largeHanging__1TVQh .Quote-module_text__C0md2 p:last-child:after{display:none}.Quote-module_design-hanging__4aDVU .Quote-module_text__C0md2 p:first-child:after{padding-left:var(--theme-quote-hanging-mark-spacing,.05em)}.Quote-module_attribution__3iXxu{min-width:var(--theme-quote-attribution-min-width)}.Quote-module_attribution__3iXxu p:first-child{position:relative}.Quote-module_attribution__3iXxu p:first-child:before{content:var(--quote-attribution-prefix,"\2014");position:absolute;right:100%;margin-right:.5em}.Quote-module_design-largeCentered__2f6qW .Quote-module_attribution__3iXxu p:first-child:before{display:none}.Quote-module_attribution__3iXxu p{margin:0}.Quote-module_attribution__3iXxu p:first-child{font-weight:700}@media screen and (min-width:640px){.Quote-module_design-largeHanging__1TVQh .Quote-module_text__C0md2{--quote-indent:var(--theme-quote-indent,1.5em);--quote-large-mark-font-size:var(--theme-quote-large-mark-font-size,2.5em)}}.ScrollButton-module_button__3DeL7{padding:0;background-color:transparent;border:0;color:inherit}.ScrollButton-module_left__3uACk{text-align:left}.ScrollButton-module_right__25CLO{text-align:right}.ScrollButton-module_button__3DeL7 svg{transition:transform .2s ease}.ScrollButton-module_button__3DeL7:not(.ScrollButton-module_disabled__3fQR1):focus svg,.ScrollButton-module_button__3DeL7:not(.ScrollButton-module_disabled__3fQR1):hover svg{transform:scale(1.2)}.ScrollButton-module_icon__35w1l{display:inline-block;position:relative;transition:opacity .2s linear}.ScrollButton-module_disabled__3fQR1 .ScrollButton-module_icon__35w1l{opacity:0}.ScrollButton-module_icon__35w1l:before{content:" ";position:absolute;top:50%;left:50%;width:50px;height:50px;transform:translate(-50%,-50%);background:radial-gradient(rgba(0,0,0,.3),transparent 60%);z-index:-1}.colors-module_contentColorScope__39my1{--theme-light-content-surface-color:var(--root-light-content-surface-color);--theme-dark-content-surface-color:var(--root-dark-content-surface-color);--theme-light-content-text-color:var(--root-light-content-text-color);--theme-dark-content-text-color:var(--root-dark-content-text-color)}.ImageGallery-module_wrapper__2H9en{--overlap:20px;--gutter:8%;display:grid;grid-template-columns:1fr 84% 1fr;align-items:center;height:100%;margin:0 auto;color:var(--theme-light-content-text-color,#fff)}@media (min-width:1000px){.ImageGallery-module_wide__xGLuJ{--overlap:40px}}.ImageGallery-module_customMargin__1VxM6{--gutter:max(var(--content-margin),(100% - var(--content-max-width))/2);grid-template-columns:var(--content-margin) minmax(0,var(--content-max-width)) var(--content-margin);justify-content:center}.ImageGallery-module_button__35bDf{grid-row:1;z-index:2;display:flex;justify-content:center;overflow:hidden}.ImageGallery-module_leftButton__3V-J6{grid-column:1}.ImageGallery-module_rightButton__ba0q5{grid-column:3}.ImageGallery-module_items__1q4QG{grid-row:1;grid-column:1/-1;display:grid;grid-auto-columns:100%;grid-auto-flow:column;align-items:center;overflow-x:auto;overscroll-behavior-x:contain;-ms-scroll-snap-type:x mandatory;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:0 calc(var(--overlap) + var(--gutter));scrollbar-width:none}.ImageGallery-module_items__1q4QG::-webkit-scrollbar{display:none}.ImageGallery-module_item__iqvfP{scroll-snap-stop:always;scroll-snap-align:center;margin:0 calc(-1*var(--overlap))}.ImageGallery-module_current__2Mm11{z-index:1}.ImageGallery-module_figure__3zkJb{transition:transform .2s ease,filter .2s linear;transform:scale(.9);filter:brightness(.5)}.ImageGallery-module_current__2Mm11 .ImageGallery-module_figure__3zkJb{transform:scale(1);filter:none}.ImageGallery-module_placeholder__39Vq4{opacity:.2}