pageflow 16.0.0 → 16.1.0

Sign up to get free protection for your applications and to get access to all the features.
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}