@dso-toolkit/core 44.0.0 → 45.0.1

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 (138) hide show
  1. package/dist/cjs/dso-autosuggest.cjs.entry.js +29 -10
  2. package/dist/cjs/dso-badge.cjs.entry.js +1 -1
  3. package/dist/cjs/dso-date-picker.cjs.entry.js +2 -2
  4. package/dist/cjs/dso-header.cjs.entry.js +12 -6
  5. package/dist/cjs/dso-image-overlay.cjs.entry.js +1 -1
  6. package/dist/cjs/dso-info-button.cjs.entry.js +2 -2
  7. package/dist/cjs/dso-info_2.cjs.entry.js +5 -5
  8. package/dist/cjs/dso-label.cjs.entry.js +3 -3
  9. package/dist/cjs/dso-map-base-layers.cjs.entry.js +2 -2
  10. package/dist/cjs/dso-map-controls.cjs.entry.js +5 -4
  11. package/dist/cjs/dso-map-overlays.cjs.entry.js +2 -2
  12. package/dist/cjs/dso-ozon-content.cjs.entry.js +3 -3
  13. package/dist/cjs/dso-pagination.cjs.entry.js +2 -2
  14. package/dist/cjs/dso-progress-bar.cjs.entry.js +2 -2
  15. package/dist/cjs/dso-progress-indicator.cjs.entry.js +2 -2
  16. package/dist/cjs/dso-tree-view.cjs.entry.js +6 -6
  17. package/dist/cjs/dso-viewer-grid.cjs.entry.js +11 -11
  18. package/dist/collection/components/autosuggest/autosuggest.js +33 -14
  19. package/dist/collection/components/autosuggest/autosuggest.template.js +4 -4
  20. package/dist/collection/components/badge/badge.css +8 -3
  21. package/dist/collection/components/banner/banner.template.js +1 -1
  22. package/dist/collection/components/date-picker/date-picker.js +3 -3
  23. package/dist/collection/components/date-picker/date-picker.template.js +2 -2
  24. package/dist/collection/components/header/header.css +24 -0
  25. package/dist/collection/components/header/header.js +12 -6
  26. package/dist/collection/components/header/header.template.js +2 -2
  27. package/dist/collection/components/image-overlay/image-overlay.css +1040 -0
  28. package/dist/collection/components/info/info.css +1040 -0
  29. package/dist/collection/components/info/info.js +5 -5
  30. package/dist/collection/components/info/info.template.js +2 -2
  31. package/dist/collection/components/info-button/info-button.js +3 -3
  32. package/dist/collection/components/info-button/info-button.template.js +2 -2
  33. package/dist/collection/components/label/label.css +1 -0
  34. package/dist/collection/components/label/label.js +3 -3
  35. package/dist/collection/components/label/label.template.js +2 -2
  36. package/dist/collection/components/map-base-layers/map-base-layers.js +3 -3
  37. package/dist/collection/components/map-controls/map-controls.css +1041 -0
  38. package/dist/collection/components/map-controls/map-controls.js +11 -8
  39. package/dist/collection/components/map-controls/map-controls.template.js +5 -5
  40. package/dist/collection/components/map-overlays/map-overlays.js +3 -3
  41. package/dist/collection/components/ozon-content/ozon-content.css +11 -0
  42. package/dist/collection/components/ozon-content/ozon-content.js +3 -3
  43. package/dist/collection/components/ozon-content/ozon-content.template.js +3 -3
  44. package/dist/collection/components/pagination/pagination.js +3 -3
  45. package/dist/collection/components/pagination/pagination.template.js +2 -2
  46. package/dist/collection/components/progress-bar/progress-bar.css +9 -13
  47. package/dist/collection/components/progress-bar/progress-bar.js +4 -3
  48. package/dist/collection/components/progress-indicator/progress-indicator.css +0 -4
  49. package/dist/collection/components/progress-indicator/progress-indicator.js +1 -1
  50. package/dist/collection/components/selectable/selectable.js +4 -4
  51. package/dist/collection/components/selectable/selectable.template.js +2 -2
  52. package/dist/collection/components/tree-view/tree-view.js +9 -9
  53. package/dist/collection/components/tree-view/tree-view.template.js +4 -4
  54. package/dist/collection/components/viewer-grid/viewer-grid.css +1067 -0
  55. package/dist/collection/components/viewer-grid/viewer-grid.js +14 -14
  56. package/dist/collection/components/viewer-grid/viewer-grid.template.js +5 -5
  57. package/dist/custom-elements/index.js +90 -64
  58. package/dist/dso-toolkit/dso-toolkit.css +1 -1
  59. package/dist/dso-toolkit/dso-toolkit.esm.js +1 -1
  60. package/dist/dso-toolkit/p-10a6db1a.entry.js +1 -0
  61. package/dist/dso-toolkit/p-1450f113.entry.js +1 -0
  62. package/dist/dso-toolkit/p-16635f4b.entry.js +1 -0
  63. package/dist/dso-toolkit/p-25f8dbc6.entry.js +1 -0
  64. package/dist/dso-toolkit/p-361528b4.entry.js +1 -0
  65. package/dist/dso-toolkit/p-375a2523.entry.js +1 -0
  66. package/dist/dso-toolkit/p-3799366e.entry.js +1 -0
  67. package/dist/dso-toolkit/p-3b5f957e.entry.js +1 -0
  68. package/dist/dso-toolkit/p-6bc71e48.entry.js +1 -0
  69. package/dist/dso-toolkit/p-91b6a181.entry.js +1 -0
  70. package/dist/dso-toolkit/p-b95bc2c7.entry.js +1 -0
  71. package/dist/dso-toolkit/p-c1070a58.entry.js +1 -0
  72. package/dist/dso-toolkit/p-d780f9ff.entry.js +1 -0
  73. package/dist/dso-toolkit/p-e4bcafc4.entry.js +1 -0
  74. package/dist/dso-toolkit/p-e7888d49.entry.js +1 -0
  75. package/dist/dso-toolkit/p-eb17d45e.entry.js +1 -0
  76. package/dist/dso-toolkit/p-fd8a8509.entry.js +1 -0
  77. package/dist/esm/dso-autosuggest.entry.js +29 -10
  78. package/dist/esm/dso-badge.entry.js +1 -1
  79. package/dist/esm/dso-date-picker.entry.js +2 -2
  80. package/dist/esm/dso-header.entry.js +12 -6
  81. package/dist/esm/dso-image-overlay.entry.js +1 -1
  82. package/dist/esm/dso-info-button.entry.js +2 -2
  83. package/dist/esm/dso-info_2.entry.js +5 -5
  84. package/dist/esm/dso-label.entry.js +3 -3
  85. package/dist/esm/dso-map-base-layers.entry.js +2 -2
  86. package/dist/esm/dso-map-controls.entry.js +5 -4
  87. package/dist/esm/dso-map-overlays.entry.js +2 -2
  88. package/dist/esm/dso-ozon-content.entry.js +3 -3
  89. package/dist/esm/dso-pagination.entry.js +2 -2
  90. package/dist/esm/dso-progress-bar.entry.js +2 -2
  91. package/dist/esm/dso-progress-indicator.entry.js +2 -2
  92. package/dist/esm/dso-tree-view.entry.js +6 -6
  93. package/dist/esm/dso-viewer-grid.entry.js +11 -11
  94. package/dist/types/components/autosuggest/autosuggest.d.ts +6 -4
  95. package/dist/types/components/autosuggest/autosuggest.template.d.ts +1 -1
  96. package/dist/types/components/date-picker/date-picker.d.ts +1 -1
  97. package/dist/types/components/date-picker/date-picker.template.d.ts +1 -1
  98. package/dist/types/components/header/header.d.ts +4 -3
  99. package/dist/types/components/header/header.template.d.ts +1 -1
  100. package/dist/types/components/info/info.d.ts +1 -1
  101. package/dist/types/components/info/info.template.d.ts +1 -1
  102. package/dist/types/components/info-button/info-button.d.ts +1 -1
  103. package/dist/types/components/info-button/info-button.template.d.ts +1 -1
  104. package/dist/types/components/label/label.d.ts +1 -1
  105. package/dist/types/components/label/label.template.d.ts +1 -1
  106. package/dist/types/components/map-base-layers/map-base-layers.d.ts +1 -1
  107. package/dist/types/components/map-controls/map-controls.d.ts +3 -2
  108. package/dist/types/components/map-controls/map-controls.template.d.ts +1 -1
  109. package/dist/types/components/map-overlays/map-overlays.d.ts +1 -1
  110. package/dist/types/components/ozon-content/ozon-content.d.ts +1 -1
  111. package/dist/types/components/ozon-content/ozon-content.template.d.ts +1 -1
  112. package/dist/types/components/pagination/pagination.d.ts +1 -1
  113. package/dist/types/components/pagination/pagination.template.d.ts +1 -1
  114. package/dist/types/components/selectable/selectable.d.ts +1 -1
  115. package/dist/types/components/selectable/selectable.template.d.ts +1 -1
  116. package/dist/types/components/tree-view/tree-view.d.ts +3 -3
  117. package/dist/types/components/tree-view/tree-view.template.d.ts +1 -1
  118. package/dist/types/components/viewer-grid/viewer-grid.d.ts +4 -4
  119. package/dist/types/components/viewer-grid/viewer-grid.template.d.ts +1 -1
  120. package/dist/types/components.d.ts +25 -25
  121. package/package.json +2 -1
  122. package/dist/dso-toolkit/p-19b5fae2.entry.js +0 -1
  123. package/dist/dso-toolkit/p-202bd676.entry.js +0 -1
  124. package/dist/dso-toolkit/p-336bf5b9.entry.js +0 -1
  125. package/dist/dso-toolkit/p-363b56b1.entry.js +0 -1
  126. package/dist/dso-toolkit/p-3ad06d9d.entry.js +0 -1
  127. package/dist/dso-toolkit/p-446dba5a.entry.js +0 -1
  128. package/dist/dso-toolkit/p-6505be7d.entry.js +0 -1
  129. package/dist/dso-toolkit/p-7bfc5267.entry.js +0 -1
  130. package/dist/dso-toolkit/p-80b5c915.entry.js +0 -1
  131. package/dist/dso-toolkit/p-814d9d78.entry.js +0 -1
  132. package/dist/dso-toolkit/p-b86128b3.entry.js +0 -1
  133. package/dist/dso-toolkit/p-ba835421.entry.js +0 -1
  134. package/dist/dso-toolkit/p-bd1ee63c.entry.js +0 -1
  135. package/dist/dso-toolkit/p-ca3a1440.entry.js +0 -1
  136. package/dist/dso-toolkit/p-cc45ecdf.entry.js +0 -1
  137. package/dist/dso-toolkit/p-d84c166c.entry.js +0 -1
  138. package/dist/dso-toolkit/p-e98f049e.entry.js +0 -1
@@ -23,17 +23,19 @@ const autosuggestCss = ".sc-dso-autosuggest-h{display:block;position:relative}ul
23
23
  let Autosuggest = class {
24
24
  constructor(hostRef) {
25
25
  index.registerInstance(this, hostRef);
26
- this.selectEmitter = index.createEvent(this, "dsoSelect", 7);
27
- this.changeEmitter = index.createEvent(this, "dsoChange", 7);
28
- this.searchEmitter = index.createEvent(this, "dsoSearch", 7);
26
+ this.dsoSelect = index.createEvent(this, "dsoSelect", 7);
27
+ this.dsoChange = index.createEvent(this, "dsoChange", 7);
28
+ this.dsoSearch = index.createEvent(this, "dsoSearch", 7);
29
29
  /**
30
30
  * The suggestions for the value of the slotted input element. Optionally a
31
31
  * Suggestion can have a `type` and `item`.
32
32
  *
33
33
  * The `type` is used to style the suggestion. `item` can be use to reference
34
34
  * the original object that was used to create the suggestion.
35
+ *
36
+ * The value should be null when no suggestions have been fetched.
35
37
  */
36
- this.suggestions = [];
38
+ this.suggestions = null;
37
39
  /**
38
40
  * Shows progress indicator when fetching results.
39
41
  */
@@ -53,7 +55,7 @@ let Autosuggest = class {
53
55
  this.inputId = v4.v4();
54
56
  this.labelId = v4.v4();
55
57
  this.debouncedEmitValue = index$1.debounce_1((value) => {
56
- this.changeEmitter.emit(value);
58
+ this.dsoChange.emit(value);
57
59
  this.debouncedShowLoading();
58
60
  }, 200);
59
61
  this.debouncedShowLoading = index$1.debounce_1(() => {
@@ -190,12 +192,18 @@ let Autosuggest = class {
190
192
  this.input.setAttribute("aria-activedescendant", this.listboxItemId(suggestion));
191
193
  }
192
194
  selectFirstSuggestion() {
195
+ if (!this.suggestions) {
196
+ return;
197
+ }
193
198
  this.selectedSuggestion = this.suggestions[0];
194
199
  if (this.selectedSuggestion) {
195
200
  this.input.setAttribute('aria-activedescendant', this.listboxItemId(this.selectedSuggestion));
196
201
  }
197
202
  }
198
203
  selectLastSuggestion() {
204
+ if (!this.suggestions) {
205
+ return;
206
+ }
199
207
  this.selectedSuggestion = this.suggestions[this.suggestions.length - 1];
200
208
  if (this.selectedSuggestion) {
201
209
  this.input.setAttribute('aria-activedescendant', this.listboxItemId(this.selectedSuggestion));
@@ -203,6 +211,9 @@ let Autosuggest = class {
203
211
  }
204
212
  selectNextSuggestion() {
205
213
  var _a;
214
+ if (!this.suggestions) {
215
+ return;
216
+ }
206
217
  const index = this.selectedSuggestion ? this.suggestions.indexOf(this.selectedSuggestion) : -1;
207
218
  this.selectedSuggestion = (_a = this.suggestions[index + 1]) !== null && _a !== void 0 ? _a : this.suggestions[0];
208
219
  if (this.selectedSuggestion) {
@@ -211,6 +222,9 @@ let Autosuggest = class {
211
222
  }
212
223
  selectPreviousSuggestion() {
213
224
  var _a;
225
+ if (!this.suggestions) {
226
+ return;
227
+ }
214
228
  const index = this.selectedSuggestion ? this.suggestions.indexOf(this.selectedSuggestion) : 0;
215
229
  this.selectedSuggestion = (_a = this.suggestions[index - 1]) !== null && _a !== void 0 ? _a : this.suggestions[this.suggestions.length - 1];
216
230
  if (this.selectedSuggestion) {
@@ -219,12 +233,14 @@ let Autosuggest = class {
219
233
  }
220
234
  resetSelectedSuggestion() {
221
235
  this.showLoading = !this.loadingDelayed;
236
+ this.notFound = false;
222
237
  this.selectedSuggestion = undefined;
223
238
  this.input.setAttribute('aria-activedescendant', '');
224
239
  }
225
240
  openSuggestions(selectSuggestion) {
226
- this.showSuggestions = this.suggestions.length > 0;
227
- this.notFound = this.suggestions.length === 0;
241
+ var _a, _b, _c;
242
+ this.showSuggestions = (_a = (this.suggestions && this.suggestions.length > 0)) !== null && _a !== void 0 ? _a : false;
243
+ this.notFound = (_c = ((_b = this.suggestions) === null || _b === void 0 ? void 0 : _b.length) === 0) !== null && _c !== void 0 ? _c : false;
228
244
  this.input.setAttribute("aria-expanded", (this.showSuggestions || this.notFound).toString());
229
245
  if (this.showSuggestions && selectSuggestion === 'first') {
230
246
  this.selectFirstSuggestion();
@@ -241,21 +257,24 @@ let Autosuggest = class {
241
257
  }
242
258
  pickSelectedValue() {
243
259
  if (this.selectedSuggestion && this.showSuggestions) {
244
- this.selectEmitter.emit(this.selectedSuggestion);
260
+ this.dsoSelect.emit(this.selectedSuggestion);
245
261
  }
246
262
  else {
247
- this.searchEmitter.emit(this.input.value);
263
+ this.dsoSearch.emit(this.input.value);
248
264
  }
249
265
  this.closeSuggestions();
250
266
  }
251
267
  listboxItemId(suggestion) {
268
+ if (!this.suggestions) {
269
+ return '';
270
+ }
252
271
  return `${this.inputId}-${this.suggestions.indexOf(suggestion) + 1}`;
253
272
  }
254
273
  render() {
255
274
  const terms = this.input.value.split(' ').filter(t => t);
256
275
  return (index.h(index.Fragment, null, index.h("slot", null), this.loading && this.showLoading
257
276
  ? index.h("div", { class: "autosuggest-progress-box" }, index.h("dso-progress-indicator", { label: this.loadingLabel }))
258
- : index.h("ul", { role: "listbox", id: this.listboxId, "aria-labelledby": this.labelId, ref: element => this.listbox = element, hidden: !this.showSuggestions && !this.notFound }, this.showSuggestions
277
+ : index.h("ul", { role: "listbox", id: this.listboxId, "aria-labelledby": this.labelId, ref: element => this.listbox = element, hidden: !this.showSuggestions && !this.notFound }, this.showSuggestions && this.suggestions
259
278
  ? this.suggestions.map((suggestion) => (index.h("li", { role: "option", id: this.listboxItemId(suggestion), key: suggestion.value, onMouseEnter: () => this.selectSuggestion(suggestion), onMouseLeave: () => this.resetSelectedSuggestion(), onClick: () => this.pickSelectedValue(), "aria-selected": (suggestion === this.selectedSuggestion).toString(), "aria-label": suggestion.value }, index.h("span", { class: "value" }, this.markTerms(suggestion.value, terms)), suggestion.type
260
279
  ? (index.h("span", { class: "type" }, suggestion.type))
261
280
  : undefined)))
@@ -5,7 +5,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  const index = require('./index-0a7c679a.js');
6
6
  const clsx_m = require('./clsx.m-b00fa5e1.js');
7
7
 
8
- const badgeCss = ":host{display:inline-block}*,*::after,*::before{box-sizing:border-box}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}.dso-badge{background-color:#666;border-radius:1em;color:#fff;display:inline-block;font-size:0.875em;line-height:1;min-width:calc(1 + 8px);padding:4px 8px;text-align:center}.dso-badge.badge-info{background-color:#6ca4d9;color:#191919}.dso-badge.badge-primary{background-color:#275937;color:#fff}.dso-badge.badge-success{background-color:#39870c;color:#fff}.dso-badge.badge-warning{background-color:#dcd400;color:#191919}.dso-badge.badge-danger{background-color:#ce3f51;color:#fff}.dso-badge.badge-outline{background-color:#fff;color:#191919;outline:1px solid #191919;outline-offset:-1px}";
8
+ const badgeCss = ":host{display:inline-block}*,*::after,*::before{box-sizing:border-box}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}.dso-badge{background-color:#666;border:1px solid #666;border-radius:1em;color:#fff;display:inline-block;font-size:0.875em;line-height:1;min-width:1.5rem;padding:4px 8px;text-align:center}.dso-badge.badge-info{background-color:#6ca4d9;border-color:#6ca4d9;color:#191919}.dso-badge.badge-primary{background-color:#275937;border-color:#275937;color:#fff}.dso-badge.badge-success{background-color:#39870c;border-color:#39870c;color:#fff}.dso-badge.badge-warning{background-color:#dcd400;border-color:#dcd400;color:#191919}.dso-badge.badge-danger{background-color:#ce3f51;border-color:#ce3f51;color:#fff}.dso-badge.badge-outline{background-color:#fff;border-color:#191919;color:#191919}";
9
9
 
10
10
  let Badge = class {
11
11
  constructor(hostRef) {
@@ -287,7 +287,7 @@ function cleanValue(input, regex) {
287
287
  let DsoDatePicker = class {
288
288
  constructor(hostRef) {
289
289
  index.registerInstance(this, hostRef);
290
- this.dateChange = index.createEvent(this, "dateChange", 7);
290
+ this.dsoDateChange = index.createEvent(this, "dsoDateChange", 7);
291
291
  this.dsoBlur = index.createEvent(this, "dsoBlur", 7);
292
292
  this.dsoKeyUp = index.createEvent(this, "dsoKeyUp", 7);
293
293
  this.dsoKeyDown = index.createEvent(this, "dsoKeyDown", 7);
@@ -636,7 +636,7 @@ let DsoDatePicker = class {
636
636
  const event = this.prepareEvent(value);
637
637
  this.value = typeof value === 'string' ? value : event.value;
638
638
  if (this.value !== this.previousValue) {
639
- this.dateChange.emit(event);
639
+ this.dsoDateChange.emit(event);
640
640
  this.previousValue = this.value;
641
641
  }
642
642
  }
@@ -6,18 +6,17 @@ const index = require('./index-0a7c679a.js');
6
6
  const clsx_m = require('./clsx.m-b00fa5e1.js');
7
7
  const index$1 = require('./index-794ad37a.js');
8
8
 
9
- const headerCss = ":host {\n --di-chevron-down-bosgroen: url(\"data:image/svg+xml,%3csvg id='chevron-down' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' style='color: %23275937%3b'%3e %3cpath fill='currentColor' d='M12%2c16%2c5.29%2c9.63a.93.93%2c0%2c0%2c1%2c0-1.35%2c1%2c1%2c0%2c0%2c1%2c1.42%2c0l5.29%2c5%2c5.29-5a1%2c1%2c0%2c0%2c1%2c1.42%2c0%2c.91.91%2c0%2c0%2c1%2c0%2c1.34Z'/%3e %3c/svg%3e\");\n --di-chevron-up-bosgroen: url(\"data:image/svg+xml,%3csvg id='chevron-up' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' style='color: %23275937%3b'%3e %3cpath fill='currentColor' d='M18%2c16a1%2c1%2c0%2c0%2c1-.71-.28l-5.29-5-5.29%2c5a1%2c1%2c0%2c0%2c1-1.42%2c0%2c.93.93%2c0%2c0%2c1%2c0-1.35L12%2c8l6.71%2c6.38a.91.91%2c0%2c0%2c1%2c0%2c1.34A1%2c1%2c0%2c0%2c1%2c18%2c16Z'/%3e %3c/svg%3e\");\n display: block;\n}\n\n.dso-header {\n border-bottom: 1px solid #ccc;\n display: flex;\n flex-wrap: wrap;\n padding: 0 16px;\n position: relative;\n}\n@media screen and (min-width: 768px) {\n .dso-header {\n align-items: center;\n }\n}\n@media screen and (max-width: 991px) {\n .dso-header.use-drop-down {\n flex-wrap: nowrap;\n }\n}\n\n.logo-container {\n display: flex;\n flex-wrap: wrap;\n padding-bottom: 16px;\n padding-top: 16px;\n}\n@media screen and (max-width: 767px) {\n .logo-container {\n max-width: 200px;\n }\n}\n.logo-container + .dropdown dso-dropdown-menu {\n position: static;\n}\n\n@media screen and (min-width: 768px) {\n .sub-logo {\n margin-left: 24px;\n }\n}\n@media screen and (max-width: 767px) {\n .sub-logo {\n flex-basis: 100%;\n }\n}\n\n.login,\n.logout {\n margin-right: 16px;\n}\n.login .dso-tertiary,\n.logout .dso-tertiary {\n display: inline-block;\n font-size: 1em;\n font-weight: 500;\n margin-bottom: 0;\n text-decoration: none;\n touch-action: manipulation;\n text-align: left;\n user-select: none;\n vertical-align: middle;\n border: 0;\n color: #39870c;\n line-height: 1;\n padding: 0;\n background-color: transparent;\n cursor: pointer;\n font-family: Asap, sans-serif;\n font-weight: 600;\n vertical-align: text-bottom;\n}\n.login .dso-tertiary:focus, .login .dso-tertiary:focus-visible,\n.logout .dso-tertiary:focus,\n.logout .dso-tertiary:focus-visible {\n outline-offset: 2px;\n}\n.login .dso-tertiary:active,\n.logout .dso-tertiary:active {\n outline: 0;\n}\n.login .dso-tertiary.extern::after, .login .dso-tertiary.download::after,\n.logout .dso-tertiary.extern::after,\n.logout .dso-tertiary.download::after {\n content: \"\";\n display: inline-block;\n height: 1.5em;\n margin-left: 8px;\n vertical-align: top;\n width: 1.5em;\n}\n.login .dso-tertiary[disabled],\n.logout .dso-tertiary[disabled] {\n color: #afcf9d;\n}\n.login .dso-tertiary[disabled].dso-spinner-left, .login .dso-tertiary[disabled].dso-spinner-right,\n.logout .dso-tertiary[disabled].dso-spinner-left,\n.logout .dso-tertiary[disabled].dso-spinner-right {\n color: #39870c;\n}\n.login .dso-tertiary:not([disabled]):hover,\n.logout .dso-tertiary:not([disabled]):hover {\n color: #676cb0;\n text-decoration: underline;\n}\n.login .dso-tertiary:not([disabled]):active,\n.logout .dso-tertiary:not([disabled]):active {\n color: #676cb0;\n}\n.login .dso-tertiary.btn-align,\n.logout .dso-tertiary.btn-align {\n line-height: calc(1.5em - 1px);\n padding: 11px 0;\n position: relative;\n}\n.login .dso-tertiary.extern::after, .login .dso-tertiary.download::after,\n.logout .dso-tertiary.extern::after,\n.logout .dso-tertiary.download::after {\n position: relative;\n top: -2px;\n}\n.login .dso-tertiary.download::after,\n.logout .dso-tertiary.download::after {\n background: var(--dso-icon, var(--di-download)) no-repeat;\n background-position: center;\n background-size: cover;\n height: 24px;\n vertical-align: top;\n width: 24px;\n}\n.login .dso-tertiary.download[disabled]::after,\n.logout .dso-tertiary.download[disabled]::after {\n --dso-icon: var(--di-download-grasgroen-40);\n}\n.login .dso-tertiary.download:not([disabled]):hover::after, .login .dso-tertiary.download:not([disabled]):active::after,\n.logout .dso-tertiary.download:not([disabled]):hover::after,\n.logout .dso-tertiary.download:not([disabled]):active::after {\n --dso-icon: var(--di-download-scampi);\n}\n.login .dso-tertiary.extern::after,\n.logout .dso-tertiary.extern::after {\n background: var(--dso-icon, var(--di-external-link)) no-repeat;\n background-position: center;\n background-size: cover;\n height: 24px;\n vertical-align: top;\n width: 24px;\n}\n.login .dso-tertiary.extern[disabled]::after,\n.logout .dso-tertiary.extern[disabled]::after {\n --dso-icon: var(--di-external-link-grasgroen-40);\n}\n.login .dso-tertiary.extern:not([disabled]):hover::after, .login .dso-tertiary.extern:not([disabled]):active::after,\n.logout .dso-tertiary.extern:not([disabled]):hover::after,\n.logout .dso-tertiary.extern:not([disabled]):active::after {\n --dso-icon: var(--di-external-link-scampi);\n}\n.login .dso-tertiary.dso-spinner-left::before,\n.logout .dso-tertiary.dso-spinner-left::before {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %2339870c; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n height: 24px;\n vertical-align: middle;\n width: 24px;\n margin-right: 8px;\n}\n.login .dso-tertiary.dso-spinner-right::after,\n.logout .dso-tertiary.dso-spinner-right::after {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %2339870c; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n height: 24px;\n vertical-align: middle;\n width: 24px;\n margin-left: 8px;\n}\n.login .dso-tertiary dso-icon + span:not(.sr-only),\n.login .dso-tertiary svg.di + span:not(.sr-only),\n.login .dso-tertiary span:not(.sr-only) + dso-icon,\n.login .dso-tertiary span:not(.sr-only) + svg.di,\n.logout .dso-tertiary dso-icon + span:not(.sr-only),\n.logout .dso-tertiary svg.di + span:not(.sr-only),\n.logout .dso-tertiary span:not(.sr-only) + dso-icon,\n.logout .dso-tertiary span:not(.sr-only) + svg.di {\n margin-left: 8px;\n}\n.login .dso-tertiary dso-icon,\n.login .dso-tertiary svg.di,\n.login .dso-tertiary span,\n.logout .dso-tertiary dso-icon,\n.logout .dso-tertiary svg.di,\n.logout .dso-tertiary span {\n vertical-align: middle;\n}\n\n.profile a,\n.logout a,\n.login a {\n text-decoration: none;\n color: #39870c;\n font-weight: 600;\n}\n.profile a:hover, .profile a:focus,\n.logout a:hover,\n.logout a:focus,\n.login a:hover,\n.login a:focus {\n text-decoration: none;\n}\n.profile a:active,\n.logout a:active,\n.login a:active {\n text-decoration: underline;\n}\n\n.dso-header-session {\n display: flex;\n margin-left: auto;\n}\n.dso-header-session .profile a {\n margin-left: 8px;\n}\n.dso-header-session .profile + .logout {\n border-left: 3px solid #ccc;\n margin-left: 16px;\n padding-left: 16px;\n}\n\n.dso-navbar {\n flex-basis: 100%;\n}\n\ndso-dropdown-menu > .dso-primary::after,\ndso-dropdown-menu > .dso-secondary::after,\ndso-dropdown-menu > .dso-tertiary::after,\ndso-dropdown-menu > .btn::after {\n content: \"\";\n display: inline-block;\n margin-left: 8px;\n}\ndso-dropdown-menu > .dso-primary::after,\ndso-dropdown-menu > .btn-primary::after {\n background: var(--dso-icon, var(--di-chevron-down-wit)) no-repeat;\n background-position: center;\n background-size: cover;\n height: 24px;\n vertical-align: top;\n width: 24px;\n}\ndso-dropdown-menu > .dso-secondary::after,\ndso-dropdown-menu > .btn-default::after {\n background: var(--dso-icon, var(--di-chevron-down)) no-repeat;\n background-position: center;\n background-size: cover;\n height: 24px;\n vertical-align: top;\n width: 24px;\n}\ndso-dropdown-menu > .dso-secondary:hover::after,\ndso-dropdown-menu > .btn-default:hover::after {\n --dso-icon: var(--di-chevron-down-wit);\n}\ndso-dropdown-menu > .dso-tertiary::after,\ndso-dropdown-menu > .btn-link::after {\n background: var(--dso-icon, var(--di-chevron-down)) no-repeat;\n background-position: center;\n background-size: cover;\n height: 24px;\n vertical-align: top;\n width: 24px;\n position: relative;\n top: -2px;\n}\ndso-dropdown-menu > .dso-tertiary:hover::after,\ndso-dropdown-menu > .btn-link:hover::after {\n --dso-icon: var(--di-chevron-down-scampi);\n}\ndso-dropdown-menu .dso-group-label {\n color: #999;\n font-size: 0.875em;\n font-weight: 400;\n margin: 0;\n padding: 4px 20px 2px;\n text-transform: uppercase;\n}\ndso-dropdown-menu ul {\n margin: 0;\n padding: 0;\n}\ndso-dropdown-menu ul:not(:last-child) {\n border-bottom: 1px solid #e5e5e5;\n margin-bottom: 11px;\n padding-bottom: 11px;\n}\ndso-dropdown-menu .dso-dropdown-options {\n background-clip: padding-box;\n background-color: #fff;\n border-radius: 4px;\n border: 1px solid rgba(0, 0, 0, 0.15);\n box-shadow: 0 8px 10px 1px rgba(0, 0, 0, 0.4);\n font-size: 1rem;\n margin: 2px 0 0;\n min-width: 160px;\n padding: 5px 0;\n position: absolute;\n text-align: left;\n top: 100%;\n z-index: 220;\n}\ndso-dropdown-menu .dso-dropdown-options li {\n list-style: none;\n}\ndso-dropdown-menu .dso-dropdown-options li a:visited {\n color: #191919;\n}\ndso-dropdown-menu .dso-dropdown-options li a,\ndso-dropdown-menu .dso-dropdown-options li button {\n text-decoration: none;\n clear: both;\n color: #191919;\n display: block;\n font-weight: 400;\n line-height: 1.5;\n padding: 3px 20px;\n text-decoration: none;\n white-space: nowrap;\n}\ndso-dropdown-menu .dso-dropdown-options li a:hover, dso-dropdown-menu .dso-dropdown-options li a:focus, dso-dropdown-menu .dso-dropdown-options li a:active,\ndso-dropdown-menu .dso-dropdown-options li button:hover,\ndso-dropdown-menu .dso-dropdown-options li button:focus,\ndso-dropdown-menu .dso-dropdown-options li button:active {\n text-decoration: underline;\n}\ndso-dropdown-menu .dso-dropdown-options li a:hover, dso-dropdown-menu .dso-dropdown-options li a:focus,\ndso-dropdown-menu .dso-dropdown-options li button:hover,\ndso-dropdown-menu .dso-dropdown-options li button:focus {\n background-color: #39870c;\n border-color: #39870c;\n color: #fff;\n text-decoration: none;\n}\ndso-dropdown-menu .dso-dropdown-options li button {\n background-color: transparent;\n border: 0;\n border-radius: 0;\n text-align: inherit;\n width: 100%;\n}\ndso-dropdown-menu[dropdown-align=right] .dso-dropdown-options {\n right: 0;\n}\ndso-dropdown-menu[open] > .dso-primary::after,\ndso-dropdown-menu[open] > .btn-primary::after {\n --dso-icon: var(--di-chevron-up-wit);\n}\ndso-dropdown-menu[open] > .dso-secondary::after,\ndso-dropdown-menu[open] > .btn-default::after {\n --dso-icon: var(--di-chevron-up);\n}\ndso-dropdown-menu[open] > .dso-secondary:hover::after,\ndso-dropdown-menu[open] > .btn-default:hover::after {\n --dso-icon: var(--di-chevron-up-wit);\n}\ndso-dropdown-menu[open] > .dso-tertiary::after,\ndso-dropdown-menu[open] > .btn-link::after {\n --dso-icon: var(--di-chevron-up);\n}\ndso-dropdown-menu[open] > .dso-tertiary:hover::after,\ndso-dropdown-menu[open] > .btn-link:hover::after {\n --dso-icon: var(--di-chevron-up-scampi);\n}\ndso-dropdown-menu[open] button::after {\n background: var(--dso-icon, var(--di-chevron-up-bosgroen)) no-repeat;\n background-position: center;\n background-size: cover;\n height: 1.2em;\n vertical-align: top;\n width: 1.2em;\n}\ndso-dropdown-menu[checkable] .dso-group-label {\n padding-left: 40px;\n}\ndso-dropdown-menu[checkable] li a,\ndso-dropdown-menu[checkable] li button {\n padding-left: 40px;\n}\ndso-dropdown-menu[checkable] li.dso-checked a:not(:focus),\ndso-dropdown-menu[checkable] li.dso-checked button:not(:focus) {\n background-color: #39870c;\n border-color: #39870c;\n color: #fff;\n}\ndso-dropdown-menu[checkable] li.dso-checked a::before,\ndso-dropdown-menu[checkable] li.dso-checked button::before {\n background: var(--dso-icon, var(--di-check-wit)) no-repeat;\n background-position: center;\n background-size: cover;\n height: 24px;\n vertical-align: top;\n width: 24px;\n content: \"\";\n display: block;\n float: left;\n margin-left: -32px;\n margin-right: 8px;\n}\ndso-dropdown-menu button {\n align-items: flex-end;\n background-color: transparent;\n border: 0;\n display: flex;\n font-family: Asap, sans-serif;\n padding-right: 32px;\n}\ndso-dropdown-menu button::after {\n background: var(--dso-icon, var(--di-chevron-down-bosgroen)) no-repeat;\n background-position: center;\n background-size: cover;\n height: 1.2em;\n vertical-align: top;\n width: 1.2em;\n content: \"\";\n display: inline-block;\n margin-left: 8px;\n position: absolute;\n right: 0;\n top: 50%;\n transform: translateY(-50%);\n}\n@media screen and (max-width: 767px) {\n dso-dropdown-menu {\n top: 12px;\n }\n}\ndso-dropdown-menu .dso-dropdown-options {\n border: 0;\n border-radius: 0;\n}\ndso-dropdown-menu .dso-dropdown-options dso-dropdown-options ul {\n width: 320px;\n}\n@media screen and (max-width: 991px) {\n dso-dropdown-menu .dso-dropdown-options dso-dropdown-options ul {\n width: 100%;\n }\n}\ndso-dropdown-menu .dso-dropdown-options dso-dropdown-options li a {\n color: #275937;\n font-size: 1.25rem;\n padding: 16px;\n}\ndso-dropdown-menu .dso-dropdown-options dso-dropdown-options li a:hover {\n background-color: #fff;\n color: #275937;\n text-decoration: underline;\n}\ndso-dropdown-menu .dso-dropdown-options dso-dropdown-options li.dso-active a {\n font-weight: 600;\n}\ndso-dropdown-menu .dso-dropdown-options dso-dropdown-options li + li {\n border-top: 1px solid #ccc;\n}\n\n.dropdown {\n margin-left: auto;\n}\n@media screen and (max-width: 767px) {\n .dropdown dso-dropdown-menu {\n margin-top: 28px;\n }\n}\n.dropdown dso-dropdown-menu .dso-dropdown-options {\n left: 0;\n right: 0;\n top: 100%;\n}\n.dropdown dso-dropdown-menu[open] button::after {\n background: var(--dso-icon, var(--di-chevron-up)) no-repeat;\n background-position: center;\n background-size: cover;\n height: 1.5em;\n vertical-align: top;\n width: 1.5em;\n}\n.dropdown dso-dropdown-menu button {\n color: #39870c;\n font-size: 1rem;\n font-weight: 600;\n position: relative;\n}\n.dropdown dso-dropdown-menu button:hover, .dropdown dso-dropdown-menu button:active {\n cursor: pointer;\n text-decoration: underline;\n}\n.dropdown dso-dropdown-menu button::after {\n background: var(--dso-icon, var(--di-chevron-down)) no-repeat;\n background-position: center;\n background-size: cover;\n height: 1.5em;\n vertical-align: top;\n width: 1.5em;\n}\n\n.dso-nav {\n align-items: end;\n column-gap: 32px;\n display: flex;\n list-style: none;\n margin-bottom: 0;\n margin-top: 0;\n padding-left: 0;\n}\n.dso-nav > li {\n margin-bottom: 4px;\n}\n.dso-nav > li > a {\n display: block;\n}\n.dso-nav > li > a, .dso-nav > li > a:hover, .dso-nav > li > a:focus, .dso-nav > li > a:visited {\n color: #275937;\n}\n.dso-nav > li.dso-active, .dso-nav > li.is-active {\n margin-bottom: 0;\n}\n.dso-nav > li.dso-active > a, .dso-nav > li.is-active > a {\n border-bottom: 4px solid #8b4a6a;\n font-weight: bold;\n}\n.dso-nav.dso-nav-main > li > a {\n text-decoration: none;\n font-size: 1.25em;\n line-height: 1;\n margin-top: 8px;\n padding: 16px 0;\n white-space: nowrap;\n}\n.dso-nav.dso-nav-main > li > a:hover, .dso-nav.dso-nav-main > li > a:focus, .dso-nav.dso-nav-main > li > a:active {\n text-decoration: underline;\n}\n.dso-nav.dso-nav-main dso-dropdown-menu .dso-dropdown-options {\n top: calc(100% + 3px);\n}\n.dso-nav.dso-nav-main dso-dropdown-menu button {\n font-size: 1.25em;\n line-height: 1;\n margin-top: 8px;\n padding: 16px 0;\n align-items: center;\n color: #275937;\n padding-right: 32px;\n}\n.dso-nav.dso-nav-main dso-dropdown-menu button:hover, .dso-nav.dso-nav-main dso-dropdown-menu button:active {\n cursor: pointer;\n text-decoration: underline;\n}\n.dso-nav.dso-nav-main dso-dropdown-menu button::after {\n top: auto;\n transform: none;\n}\n.dso-nav.dso-nav-sub > li {\n display: inline-block;\n}\n.dso-nav.dso-nav-sub > li > a {\n text-decoration: none;\n font-size: 1rem;\n margin-top: 4px;\n padding: 4px 8px 3px;\n}\n.dso-nav.dso-nav-sub > li > a:hover, .dso-nav.dso-nav-sub > li > a:focus, .dso-nav.dso-nav-sub > li > a:active {\n text-decoration: underline;\n}\n.dso-nav .menu-user-home {\n margin-left: auto;\n}\n.dso-nav .menu-user-home dso-icon {\n height: 1em;\n margin-right: 8px;\n position: relative;\n top: -2px;\n width: 1.2em;\n}";
9
+ const headerCss = ":host {\n --di-chevron-down-bosgroen: url(\"data:image/svg+xml,%3csvg id='chevron-down' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' style='color: %23275937%3b'%3e %3cpath fill='currentColor' d='M12%2c16%2c5.29%2c9.63a.93.93%2c0%2c0%2c1%2c0-1.35%2c1%2c1%2c0%2c0%2c1%2c1.42%2c0l5.29%2c5%2c5.29-5a1%2c1%2c0%2c0%2c1%2c1.42%2c0%2c.91.91%2c0%2c0%2c1%2c0%2c1.34Z'/%3e %3c/svg%3e\");\n --di-chevron-up-bosgroen: url(\"data:image/svg+xml,%3csvg id='chevron-up' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' style='color: %23275937%3b'%3e %3cpath fill='currentColor' d='M18%2c16a1%2c1%2c0%2c0%2c1-.71-.28l-5.29-5-5.29%2c5a1%2c1%2c0%2c0%2c1-1.42%2c0%2c.93.93%2c0%2c0%2c1%2c0-1.35L12%2c8l6.71%2c6.38a.91.91%2c0%2c0%2c1%2c0%2c1.34A1%2c1%2c0%2c0%2c1%2c18%2c16Z'/%3e %3c/svg%3e\");\n display: block;\n}\n\n.dso-header {\n border-bottom: 1px solid #ccc;\n display: flex;\n flex-wrap: wrap;\n padding: 0 16px;\n position: relative;\n}\n@media screen and (min-width: 768px) {\n .dso-header {\n align-items: center;\n }\n}\n@media screen and (max-width: 991px) {\n .dso-header.use-drop-down {\n flex-wrap: nowrap;\n }\n}\n\n.logo-container {\n display: flex;\n flex-wrap: wrap;\n padding-bottom: 16px;\n padding-top: 16px;\n}\n@media screen and (max-width: 767px) {\n .logo-container {\n max-width: 200px;\n }\n}\n.logo-container + .dropdown dso-dropdown-menu {\n position: static;\n}\n\n@media screen and (min-width: 768px) {\n .sub-logo {\n margin-left: 24px;\n }\n}\n@media screen and (max-width: 767px) {\n .sub-logo {\n flex-basis: 100%;\n }\n}\n\n.login,\n.logout {\n margin-right: 16px;\n}\n.login .dso-tertiary,\n.logout .dso-tertiary {\n display: inline-block;\n font-size: 1em;\n font-weight: 500;\n margin-bottom: 0;\n text-decoration: none;\n touch-action: manipulation;\n text-align: left;\n user-select: none;\n vertical-align: middle;\n border: 0;\n color: #39870c;\n line-height: 1;\n padding: 0;\n background-color: transparent;\n cursor: pointer;\n font-family: Asap, sans-serif;\n font-weight: 600;\n vertical-align: text-bottom;\n}\n.login .dso-tertiary:focus, .login .dso-tertiary:focus-visible,\n.logout .dso-tertiary:focus,\n.logout .dso-tertiary:focus-visible {\n outline-offset: 2px;\n}\n.login .dso-tertiary:active,\n.logout .dso-tertiary:active {\n outline: 0;\n}\n.login .dso-tertiary.extern::after, .login .dso-tertiary.download::after,\n.logout .dso-tertiary.extern::after,\n.logout .dso-tertiary.download::after {\n content: \"\";\n display: inline-block;\n height: 1.5em;\n margin-left: 8px;\n vertical-align: top;\n width: 1.5em;\n}\n.login .dso-tertiary[disabled],\n.logout .dso-tertiary[disabled] {\n color: #afcf9d;\n}\n.login .dso-tertiary[disabled].dso-spinner-left, .login .dso-tertiary[disabled].dso-spinner-right,\n.logout .dso-tertiary[disabled].dso-spinner-left,\n.logout .dso-tertiary[disabled].dso-spinner-right {\n color: #39870c;\n}\n.login .dso-tertiary:not([disabled]):hover,\n.logout .dso-tertiary:not([disabled]):hover {\n color: #676cb0;\n text-decoration: underline;\n text-underline-position: under;\n}\n.login .dso-tertiary:not([disabled]):active,\n.logout .dso-tertiary:not([disabled]):active {\n color: #676cb0;\n}\n.login .dso-tertiary.btn-align,\n.logout .dso-tertiary.btn-align {\n line-height: calc(1.5em - 1px);\n padding: 11px 0;\n position: relative;\n}\n.login .dso-tertiary.extern::after, .login .dso-tertiary.download::after,\n.logout .dso-tertiary.extern::after,\n.logout .dso-tertiary.download::after {\n position: relative;\n top: -2px;\n}\n.login .dso-tertiary.download::after,\n.logout .dso-tertiary.download::after {\n background: var(--dso-icon, var(--di-download)) no-repeat;\n background-position: center;\n background-size: cover;\n height: 24px;\n vertical-align: top;\n width: 24px;\n}\n.login .dso-tertiary.download[disabled]::after,\n.logout .dso-tertiary.download[disabled]::after {\n --dso-icon: var(--di-download-grasgroen-40);\n}\n.login .dso-tertiary.download:not([disabled]):hover::after, .login .dso-tertiary.download:not([disabled]):active::after,\n.logout .dso-tertiary.download:not([disabled]):hover::after,\n.logout .dso-tertiary.download:not([disabled]):active::after {\n --dso-icon: var(--di-download-scampi);\n}\n.login .dso-tertiary.extern::after,\n.logout .dso-tertiary.extern::after {\n background: var(--dso-icon, var(--di-external-link)) no-repeat;\n background-position: center;\n background-size: cover;\n height: 24px;\n vertical-align: top;\n width: 24px;\n}\n.login .dso-tertiary.extern[disabled]::after,\n.logout .dso-tertiary.extern[disabled]::after {\n --dso-icon: var(--di-external-link-grasgroen-40);\n}\n.login .dso-tertiary.extern:not([disabled]):hover::after, .login .dso-tertiary.extern:not([disabled]):active::after,\n.logout .dso-tertiary.extern:not([disabled]):hover::after,\n.logout .dso-tertiary.extern:not([disabled]):active::after {\n --dso-icon: var(--di-external-link-scampi);\n}\n.login .dso-tertiary.dso-spinner-left::before,\n.logout .dso-tertiary.dso-spinner-left::before {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %2339870c; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n height: 24px;\n vertical-align: middle;\n width: 24px;\n margin-right: 8px;\n}\n.login .dso-tertiary.dso-spinner-right::after,\n.logout .dso-tertiary.dso-spinner-right::after {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %2339870c; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n height: 24px;\n vertical-align: middle;\n width: 24px;\n margin-left: 8px;\n}\n.login .dso-tertiary dso-icon + span:not(.sr-only),\n.login .dso-tertiary svg.di + span:not(.sr-only),\n.login .dso-tertiary span:not(.sr-only) + dso-icon,\n.login .dso-tertiary span:not(.sr-only) + svg.di,\n.logout .dso-tertiary dso-icon + span:not(.sr-only),\n.logout .dso-tertiary svg.di + span:not(.sr-only),\n.logout .dso-tertiary span:not(.sr-only) + dso-icon,\n.logout .dso-tertiary span:not(.sr-only) + svg.di {\n margin-left: 8px;\n}\n.login .dso-tertiary dso-icon[icon=chevron-left] + span:not(.sr-only),\n.login .dso-tertiary dso-icon[icon=chevron-right] + span:not(.sr-only),\n.login .dso-tertiary svg.di.di-angle-down + span:not(.sr-only),\n.login .dso-tertiary svg.di.di-angle-up + span:not(.sr-only),\n.login .dso-tertiary span:not(.sr-only) + svg.di.di-angle-down,\n.login .dso-tertiary span:not(.sr-only) + svg.di.di-angle-up,\n.login .dso-tertiary span:not(.sr-only) + dso-icon[icon=chevron-left],\n.login .dso-tertiary span:not(.sr-only) + dso-icon[icon=chevron-right],\n.logout .dso-tertiary dso-icon[icon=chevron-left] + span:not(.sr-only),\n.logout .dso-tertiary dso-icon[icon=chevron-right] + span:not(.sr-only),\n.logout .dso-tertiary svg.di.di-angle-down + span:not(.sr-only),\n.logout .dso-tertiary svg.di.di-angle-up + span:not(.sr-only),\n.logout .dso-tertiary span:not(.sr-only) + svg.di.di-angle-down,\n.logout .dso-tertiary span:not(.sr-only) + svg.di.di-angle-up,\n.logout .dso-tertiary span:not(.sr-only) + dso-icon[icon=chevron-left],\n.logout .dso-tertiary span:not(.sr-only) + dso-icon[icon=chevron-right] {\n margin-left: 0;\n}\n.login .dso-tertiary dso-icon,\n.login .dso-tertiary svg.di,\n.login .dso-tertiary span,\n.logout .dso-tertiary dso-icon,\n.logout .dso-tertiary svg.di,\n.logout .dso-tertiary span {\n vertical-align: middle;\n}\n\n.profile a,\n.logout a,\n.login a {\n text-decoration: none;\n color: #39870c;\n font-weight: 600;\n}\n.profile a:hover, .profile a:focus,\n.logout a:hover,\n.logout a:focus,\n.login a:hover,\n.login a:focus {\n text-decoration: none;\n}\n.profile a:active,\n.logout a:active,\n.login a:active {\n text-decoration: underline;\n}\n\n.dso-header-session {\n display: flex;\n margin-left: auto;\n}\n.dso-header-session .profile a {\n margin-left: 8px;\n}\n.dso-header-session .profile + .logout {\n border-left: 3px solid #ccc;\n margin-left: 16px;\n padding-left: 16px;\n}\n\n.dso-navbar {\n flex-basis: 100%;\n}\n\ndso-dropdown-menu > .dso-primary::after,\ndso-dropdown-menu > .dso-secondary::after,\ndso-dropdown-menu > .dso-tertiary::after,\ndso-dropdown-menu > .btn::after {\n content: \"\";\n display: inline-block;\n}\ndso-dropdown-menu > .dso-primary::after,\ndso-dropdown-menu > .dso-secondary::after,\ndso-dropdown-menu > .btn::after {\n margin-left: 8px;\n}\ndso-dropdown-menu > .dso-primary::after,\ndso-dropdown-menu > .btn-primary::after {\n background: var(--dso-icon, var(--di-chevron-down-wit)) no-repeat;\n background-position: center;\n background-size: cover;\n height: 24px;\n vertical-align: top;\n width: 24px;\n}\ndso-dropdown-menu > .dso-secondary::after,\ndso-dropdown-menu > .btn-default::after {\n background: var(--dso-icon, var(--di-chevron-down)) no-repeat;\n background-position: center;\n background-size: cover;\n height: 24px;\n vertical-align: top;\n width: 24px;\n}\ndso-dropdown-menu > .dso-secondary:hover::after,\ndso-dropdown-menu > .btn-default:hover::after {\n --dso-icon: var(--di-chevron-down-wit);\n}\ndso-dropdown-menu > .dso-tertiary::after,\ndso-dropdown-menu > .btn-link::after {\n background: var(--dso-icon, var(--di-chevron-down)) no-repeat;\n background-position: center;\n background-size: cover;\n height: 24px;\n vertical-align: top;\n width: 24px;\n margin-left: 4px;\n position: relative;\n top: -2px;\n}\ndso-dropdown-menu > .dso-tertiary:hover::after,\ndso-dropdown-menu > .btn-link:hover::after {\n --dso-icon: var(--di-chevron-down-scampi);\n}\ndso-dropdown-menu .dso-group-label {\n color: #999;\n font-size: 0.875em;\n font-weight: 400;\n margin: 0;\n padding: 4px 20px 2px;\n text-transform: uppercase;\n}\ndso-dropdown-menu ul {\n margin: 0;\n padding: 0;\n}\ndso-dropdown-menu ul:not(:last-child) {\n border-bottom: 1px solid #e5e5e5;\n margin-bottom: 11px;\n padding-bottom: 11px;\n}\ndso-dropdown-menu .dso-dropdown-options {\n background-clip: padding-box;\n background-color: #fff;\n border-radius: 4px;\n border: 1px solid rgba(0, 0, 0, 0.15);\n box-shadow: 0 8px 10px 1px rgba(0, 0, 0, 0.4);\n font-size: 1rem;\n margin: 2px 0 0;\n min-width: 160px;\n padding: 5px 0;\n position: absolute;\n text-align: left;\n top: 100%;\n z-index: 220;\n}\ndso-dropdown-menu .dso-dropdown-options li {\n list-style: none;\n}\ndso-dropdown-menu .dso-dropdown-options li a:visited {\n color: #191919;\n}\ndso-dropdown-menu .dso-dropdown-options li a,\ndso-dropdown-menu .dso-dropdown-options li button {\n text-decoration: none;\n clear: both;\n color: #191919;\n display: block;\n font-weight: 400;\n line-height: 1.5;\n padding: 3px 20px;\n text-decoration: none;\n white-space: nowrap;\n}\ndso-dropdown-menu .dso-dropdown-options li a:hover, dso-dropdown-menu .dso-dropdown-options li a:focus, dso-dropdown-menu .dso-dropdown-options li a:active,\ndso-dropdown-menu .dso-dropdown-options li button:hover,\ndso-dropdown-menu .dso-dropdown-options li button:focus,\ndso-dropdown-menu .dso-dropdown-options li button:active {\n text-decoration: underline;\n}\ndso-dropdown-menu .dso-dropdown-options li a:hover, dso-dropdown-menu .dso-dropdown-options li a:focus,\ndso-dropdown-menu .dso-dropdown-options li button:hover,\ndso-dropdown-menu .dso-dropdown-options li button:focus {\n background-color: #39870c;\n border-color: #39870c;\n color: #fff;\n text-decoration: none;\n}\ndso-dropdown-menu .dso-dropdown-options li button {\n background-color: transparent;\n border: 0;\n border-radius: 0;\n text-align: inherit;\n width: 100%;\n}\ndso-dropdown-menu[dropdown-align=right] .dso-dropdown-options {\n right: 0;\n}\ndso-dropdown-menu[open] > .dso-primary::after,\ndso-dropdown-menu[open] > .btn-primary::after {\n --dso-icon: var(--di-chevron-up-wit);\n}\ndso-dropdown-menu[open] > .dso-secondary::after,\ndso-dropdown-menu[open] > .btn-default::after {\n --dso-icon: var(--di-chevron-up);\n}\ndso-dropdown-menu[open] > .dso-secondary:hover::after,\ndso-dropdown-menu[open] > .btn-default:hover::after {\n --dso-icon: var(--di-chevron-up-wit);\n}\ndso-dropdown-menu[open] > .dso-tertiary::after,\ndso-dropdown-menu[open] > .btn-link::after {\n --dso-icon: var(--di-chevron-up);\n}\ndso-dropdown-menu[open] > .dso-tertiary:hover::after,\ndso-dropdown-menu[open] > .btn-link:hover::after {\n --dso-icon: var(--di-chevron-up-scampi);\n}\ndso-dropdown-menu[open] button::after {\n background: var(--dso-icon, var(--di-chevron-up-bosgroen)) no-repeat;\n background-position: center;\n background-size: cover;\n height: 1.2em;\n vertical-align: top;\n width: 1.2em;\n}\ndso-dropdown-menu[checkable] .dso-group-label {\n padding-left: 40px;\n}\ndso-dropdown-menu[checkable] li a,\ndso-dropdown-menu[checkable] li button {\n padding-left: 40px;\n}\ndso-dropdown-menu[checkable] li.dso-checked a:not(:focus),\ndso-dropdown-menu[checkable] li.dso-checked button:not(:focus) {\n background-color: #39870c;\n border-color: #39870c;\n color: #fff;\n}\ndso-dropdown-menu[checkable] li.dso-checked a::before,\ndso-dropdown-menu[checkable] li.dso-checked button::before {\n background: var(--dso-icon, var(--di-check-wit)) no-repeat;\n background-position: center;\n background-size: cover;\n height: 24px;\n vertical-align: top;\n width: 24px;\n content: \"\";\n display: block;\n float: left;\n margin-left: -32px;\n margin-right: 8px;\n}\ndso-dropdown-menu button {\n align-items: flex-end;\n background-color: transparent;\n border: 0;\n display: flex;\n font-family: Asap, sans-serif;\n padding-right: 32px;\n}\ndso-dropdown-menu button::after {\n background: var(--dso-icon, var(--di-chevron-down-bosgroen)) no-repeat;\n background-position: center;\n background-size: cover;\n height: 1.2em;\n vertical-align: top;\n width: 1.2em;\n content: \"\";\n display: inline-block;\n margin-left: 8px;\n position: absolute;\n right: 0;\n top: 50%;\n transform: translateY(-50%);\n}\n@media screen and (max-width: 767px) {\n dso-dropdown-menu {\n top: 12px;\n }\n}\ndso-dropdown-menu .dso-dropdown-options {\n border: 0;\n border-radius: 0;\n}\ndso-dropdown-menu .dso-dropdown-options dso-dropdown-options ul {\n width: 320px;\n}\n@media screen and (max-width: 991px) {\n dso-dropdown-menu .dso-dropdown-options dso-dropdown-options ul {\n width: 100%;\n }\n}\ndso-dropdown-menu .dso-dropdown-options dso-dropdown-options li a {\n color: #275937;\n font-size: 1.25rem;\n padding: 16px;\n}\ndso-dropdown-menu .dso-dropdown-options dso-dropdown-options li a:hover {\n background-color: #fff;\n color: #275937;\n text-decoration: underline;\n}\ndso-dropdown-menu .dso-dropdown-options dso-dropdown-options li.dso-active a {\n font-weight: 600;\n}\ndso-dropdown-menu .dso-dropdown-options dso-dropdown-options li + li {\n border-top: 1px solid #ccc;\n}\n\n.dropdown {\n margin-left: auto;\n}\n@media screen and (max-width: 767px) {\n .dropdown dso-dropdown-menu {\n margin-top: 28px;\n }\n}\n.dropdown dso-dropdown-menu .dso-dropdown-options {\n left: 0;\n right: 0;\n top: 100%;\n}\n.dropdown dso-dropdown-menu[open] button::after {\n background: var(--dso-icon, var(--di-chevron-up)) no-repeat;\n background-position: center;\n background-size: cover;\n height: 1.5em;\n vertical-align: top;\n width: 1.5em;\n}\n.dropdown dso-dropdown-menu button {\n color: #39870c;\n font-size: 1rem;\n font-weight: 600;\n position: relative;\n}\n.dropdown dso-dropdown-menu button:hover, .dropdown dso-dropdown-menu button:active {\n cursor: pointer;\n text-decoration: underline;\n}\n.dropdown dso-dropdown-menu button::after {\n background: var(--dso-icon, var(--di-chevron-down)) no-repeat;\n background-position: center;\n background-size: cover;\n height: 1.5em;\n vertical-align: top;\n width: 1.5em;\n}\n\n.dso-nav {\n align-items: end;\n column-gap: 32px;\n display: flex;\n list-style: none;\n margin-bottom: 0;\n margin-top: 0;\n padding-left: 0;\n}\n.dso-nav > li {\n margin-bottom: 4px;\n}\n.dso-nav > li > a {\n display: block;\n}\n.dso-nav > li > a, .dso-nav > li > a:hover, .dso-nav > li > a:focus, .dso-nav > li > a:visited {\n color: #275937;\n}\n.dso-nav > li.dso-active, .dso-nav > li.is-active {\n margin-bottom: 0;\n}\n.dso-nav > li.dso-active > a, .dso-nav > li.is-active > a {\n border-bottom: 4px solid #8b4a6a;\n font-weight: bold;\n}\n.dso-nav.dso-nav-main > li > a {\n text-decoration: none;\n font-size: 1.25em;\n line-height: 1;\n margin-top: 8px;\n padding: 16px 0;\n white-space: nowrap;\n}\n.dso-nav.dso-nav-main > li > a:hover, .dso-nav.dso-nav-main > li > a:focus, .dso-nav.dso-nav-main > li > a:active {\n text-decoration: underline;\n}\n.dso-nav.dso-nav-main dso-dropdown-menu .dso-dropdown-options {\n top: calc(100% + 3px);\n}\n.dso-nav.dso-nav-main dso-dropdown-menu button {\n font-size: 1.25em;\n line-height: 1;\n margin-top: 8px;\n padding: 16px 0;\n align-items: center;\n color: #275937;\n padding-right: 32px;\n}\n.dso-nav.dso-nav-main dso-dropdown-menu button:hover, .dso-nav.dso-nav-main dso-dropdown-menu button:active {\n cursor: pointer;\n text-decoration: underline;\n}\n.dso-nav.dso-nav-main dso-dropdown-menu button::after {\n top: auto;\n transform: none;\n}\n.dso-nav.dso-nav-sub > li {\n display: inline-block;\n}\n.dso-nav.dso-nav-sub > li > a {\n text-decoration: none;\n font-size: 1rem;\n margin-top: 4px;\n padding: 4px 8px 3px;\n}\n.dso-nav.dso-nav-sub > li > a:hover, .dso-nav.dso-nav-sub > li > a:focus, .dso-nav.dso-nav-sub > li > a:active {\n text-decoration: underline;\n}\n.dso-nav .menu-user-home {\n margin-left: auto;\n}\n.dso-nav .menu-user-home dso-icon {\n height: 1em;\n margin-right: 8px;\n position: relative;\n top: -2px;\n width: 1.2em;\n}";
10
10
 
11
11
  const minDesktopViewportWidth = 992;
12
12
  let Header = class {
13
13
  constructor(hostRef) {
14
14
  index.registerInstance(this, hostRef);
15
- this.headerClick = index.createEvent(this, "headerClick", 7);
15
+ this.dsoHeaderClick = index.createEvent(this, "dsoHeaderClick", 7);
16
16
  this.mainMenu = [];
17
17
  this.useDropDownMenu = "auto";
18
18
  /** Used to show the login/logout option. 'none' renders nothing. */
19
19
  this.authStatus = 'none';
20
- this.showDropDown = false;
21
20
  this.hasSubLogo = false;
22
21
  this.overflowMenuItems = 0;
23
22
  this.onWindowResize = index$1.debounce_1(() => {
@@ -30,7 +29,7 @@ let Header = class {
30
29
  }
31
30
  clickHandler(e, type, options) {
32
31
  var _a, _b;
33
- this.headerClick.emit({
32
+ this.dsoHeaderClick.emit({
34
33
  originalEvent: e,
35
34
  isModifiedEvent: e.button !== 0 || e.ctrlKey || e.shiftKey || e.altKey || e.metaKey,
36
35
  type,
@@ -39,7 +38,7 @@ let Header = class {
39
38
  });
40
39
  }
41
40
  ;
42
- watchUseDropDownMenu(value) {
41
+ setShowDropDown(value) {
43
42
  if (value === "auto") {
44
43
  this.setDropDownMenu();
45
44
  return;
@@ -67,6 +66,9 @@ let Header = class {
67
66
  }
68
67
  window.setTimeout(() => this.shrinkMenuToFit(), 0);
69
68
  }
69
+ componentDidLoad() {
70
+ this.setShowDropDown(this.useDropDownMenu);
71
+ }
70
72
  setOverflowMenu() {
71
73
  if (this.showDropDown) {
72
74
  return;
@@ -90,6 +92,10 @@ let Header = class {
90
92
  window.removeEventListener("resize", this.onWindowResize);
91
93
  }
92
94
  render() {
95
+ // Prevent 'flickering' when useDropDownMenu = 'always'
96
+ if (this.showDropDown === undefined) {
97
+ return;
98
+ }
93
99
  return (index.h(index.Fragment, null, index.h("div", { class: clsx_m.clsx("dso-header", {
94
100
  ["use-drop-down"]: this.showDropDown,
95
101
  ["has-sub-logo"]: this.hasSubLogo,
@@ -113,7 +119,7 @@ let Header = class {
113
119
  }
114
120
  get host() { return index.getElement(this); }
115
121
  static get watchers() { return {
116
- "useDropDownMenu": ["watchUseDropDownMenu"]
122
+ "useDropDownMenu": ["setShowDropDown"]
117
123
  }; }
118
124
  };
119
125
  Header.style = headerCss;
@@ -7,7 +7,7 @@ const index$1 = require('./index-794ad37a.js');
7
7
  const focusTrap_esm = require('./focus-trap.esm-a85643b0.js');
8
8
  require('./index.esm-3520a2a6.js');
9
9
 
10
- const imageOverlayCss = "button {\n -webkit-appearance: button;\n color: inherit;\n cursor: pointer;\n font: inherit;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n margin: 0;\n overflow: visible;\n text-transform: none;\n}\nbutton[disabled] {\n cursor: default;\n}\nbutton::-moz-focus-inner {\n border: 0;\n padding: 0;\n}\n\n:host {\n display: inline-block;\n position: relative;\n}\n\n:host(:hover) .open,\n.open:focus {\n opacity: 1;\n}\n\n.open {\n display: inline-block;\n font-size: 1em;\n font-weight: 500;\n margin-bottom: 0;\n text-decoration: none;\n touch-action: manipulation;\n text-align: left;\n user-select: none;\n vertical-align: middle;\n background-color: #fff;\n border-color: #39870c;\n color: #39870c;\n border-width: 1px;\n border-style: solid;\n border-radius: 4px;\n line-height: 1.5;\n min-width: 56px;\n padding: 11px 15px;\n border: 0;\n box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.5);\n min-width: auto;\n padding: 8px;\n opacity: 0;\n position: absolute;\n right: 16px;\n top: 16px;\n}\n.open:focus, .open:focus-visible {\n outline-offset: 2px;\n}\n.open:active {\n outline: 0;\n}\n.open.extern::after, .open.download::after {\n content: \"\";\n display: inline-block;\n height: 1.5em;\n margin-left: 8px;\n vertical-align: top;\n width: 1.5em;\n}\n.open:hover {\n background-color: #39870c;\n border-color: #39870c;\n color: #fff;\n}\n.open:active {\n background-color: #275937;\n border-color: #275937;\n color: #fff;\n}\n.open[disabled], .open[disabled]:hover {\n background-color: #fff;\n border-color: #afcf9d;\n color: #afcf9d;\n}\n.open.btn-sm {\n line-height: 1rem;\n}\n.open.btn-sm dso-icon,\n.open.btn-sm svg.di, .open.btn-sm.extern::after, .open.btn-sm.download::after, .open.btn-sm.dso-spinner::before {\n margin-bottom: -4px;\n margin-top: -4px;\n}\n.open.btn-sm.dso-spinner-left::before {\n height: 16px;\n width: 16px;\n}\n.open.btn-sm.dso-spinner-right::after {\n height: 16px;\n width: 16px;\n}\n.open.download::after {\n background: var(--dso-icon, var(--di-download)) no-repeat;\n background-position: center;\n background-size: cover;\n height: 24px;\n vertical-align: top;\n width: 24px;\n}\n.open.download:hover::after {\n --dso-icon: var(--di-download-wit);\n}\n.open.download[disabled]::after {\n --dso-icon: var(--di-download-grasgroen-40);\n}\n.open.extern::after {\n background: var(--dso-icon, var(--di-external-link)) no-repeat;\n background-position: center;\n background-size: cover;\n height: 24px;\n vertical-align: top;\n width: 24px;\n}\n.open.extern:hover::after {\n --dso-icon: var(--di-external-link-wit);\n}\n.open.extern[disabled]::after {\n --dso-icon: var(--di-external-link-grasgroen-40);\n}\n.open > span {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n border: 0;\n}\n.open.dso-spinner-left[disabled], .open.dso-spinner-right[disabled] {\n background-color: #fff;\n border-color: #39870c;\n color: #39870c;\n}\n.open.dso-spinner-left::before {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %2339870c; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n height: 24px;\n vertical-align: top;\n width: 24px;\n margin-right: 8px;\n}\n.open.dso-spinner-left:not([disabled]):hover::before {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %23fff; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n height: 24px;\n vertical-align: top;\n width: 24px;\n margin-right: 8px;\n}\n.open.dso-spinner-left:not([disabled]).btn-sm:hover::before {\n height: 16px;\n width: 16px;\n}\n.open.dso-spinner-right::after {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %2339870c; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n height: 24px;\n vertical-align: top;\n width: 24px;\n margin-left: 8px;\n}\n.open.dso-spinner-right:not([disabled]):hover::after {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %23fff; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n height: 24px;\n vertical-align: top;\n width: 24px;\n margin-left: 8px;\n}\n.open.dso-spinner-right:not([disabled]).btn-sm:hover::after {\n height: 16px;\n width: 16px;\n}\n\n.dimmer {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n z-index: 19;\n display: flex;\n padding: 32px;\n background-color: rgba(255, 255, 255, 0.8);\n justify-content: center;\n}\n\n.wrapper {\n box-shadow: 0 8px 24px 0 rgba(25, 25, 25, 0.4);\n position: relative;\n z-index: 20;\n align-self: center;\n line-height: 0;\n}\n.wrapper img {\n width: auto;\n height: auto;\n max-width: 100%;\n max-height: calc(100vh - 64px);\n}\n\n.close {\n display: inline-block;\n font-size: 1em;\n font-weight: 500;\n margin-bottom: 0;\n text-decoration: none;\n touch-action: manipulation;\n text-align: left;\n user-select: none;\n vertical-align: middle;\n background-color: #fff;\n border-color: #39870c;\n color: #39870c;\n border-width: 1px;\n border-style: solid;\n border-radius: 4px;\n line-height: 1.5;\n min-width: 56px;\n padding: 11px 15px;\n border: 0;\n box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.5);\n min-width: auto;\n padding: 8px;\n position: absolute;\n top: 16px;\n right: 16px;\n}\n.close:focus, .close:focus-visible {\n outline-offset: 2px;\n}\n.close:active {\n outline: 0;\n}\n.close.extern::after, .close.download::after {\n content: \"\";\n display: inline-block;\n height: 1.5em;\n margin-left: 8px;\n vertical-align: top;\n width: 1.5em;\n}\n.close:hover {\n background-color: #39870c;\n border-color: #39870c;\n color: #fff;\n}\n.close:active {\n background-color: #275937;\n border-color: #275937;\n color: #fff;\n}\n.close[disabled], .close[disabled]:hover {\n background-color: #fff;\n border-color: #afcf9d;\n color: #afcf9d;\n}\n.close.btn-sm {\n line-height: 1rem;\n}\n.close.btn-sm dso-icon,\n.close.btn-sm svg.di, .close.btn-sm.extern::after, .close.btn-sm.download::after, .close.btn-sm.dso-spinner::before {\n margin-bottom: -4px;\n margin-top: -4px;\n}\n.close.btn-sm.dso-spinner-left::before {\n height: 16px;\n width: 16px;\n}\n.close.btn-sm.dso-spinner-right::after {\n height: 16px;\n width: 16px;\n}\n.close.download::after {\n background: var(--dso-icon, var(--di-download)) no-repeat;\n background-position: center;\n background-size: cover;\n height: 24px;\n vertical-align: top;\n width: 24px;\n}\n.close.download:hover::after {\n --dso-icon: var(--di-download-wit);\n}\n.close.download[disabled]::after {\n --dso-icon: var(--di-download-grasgroen-40);\n}\n.close.extern::after {\n background: var(--dso-icon, var(--di-external-link)) no-repeat;\n background-position: center;\n background-size: cover;\n height: 24px;\n vertical-align: top;\n width: 24px;\n}\n.close.extern:hover::after {\n --dso-icon: var(--di-external-link-wit);\n}\n.close.extern[disabled]::after {\n --dso-icon: var(--di-external-link-grasgroen-40);\n}\n.close > span {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n border: 0;\n}\n.close.dso-spinner-left[disabled], .close.dso-spinner-right[disabled] {\n background-color: #fff;\n border-color: #39870c;\n color: #39870c;\n}\n.close.dso-spinner-left::before {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %2339870c; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n height: 24px;\n vertical-align: top;\n width: 24px;\n margin-right: 8px;\n}\n.close.dso-spinner-left:not([disabled]):hover::before {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %23fff; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n height: 24px;\n vertical-align: top;\n width: 24px;\n margin-right: 8px;\n}\n.close.dso-spinner-left:not([disabled]).btn-sm:hover::before {\n height: 16px;\n width: 16px;\n}\n.close.dso-spinner-right::after {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %2339870c; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n height: 24px;\n vertical-align: top;\n width: 24px;\n margin-left: 8px;\n}\n.close.dso-spinner-right:not([disabled]):hover::after {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %23fff; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n height: 24px;\n vertical-align: top;\n width: 24px;\n margin-left: 8px;\n}\n.close.dso-spinner-right:not([disabled]).btn-sm:hover::after {\n height: 16px;\n width: 16px;\n}";
10
+ const imageOverlayCss = "button {\n -webkit-appearance: button;\n color: inherit;\n cursor: pointer;\n font: inherit;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n margin: 0;\n overflow: visible;\n text-transform: none;\n}\nbutton[disabled] {\n cursor: default;\n}\nbutton::-moz-focus-inner {\n border: 0;\n padding: 0;\n}\n\n.btn {\n display: inline-block;\n font-size: 1em;\n font-weight: 500;\n margin-bottom: 0;\n text-decoration: none;\n touch-action: manipulation;\n text-align: left;\n user-select: none;\n vertical-align: middle;\n}\n.btn:focus, .btn:focus-visible {\n outline-offset: 2px;\n}\n.btn:active {\n outline: 0;\n}\n.btn.extern::after, .btn.download::after {\n content: \"\";\n display: inline-block;\n height: 1.5em;\n margin-left: 8px;\n vertical-align: top;\n width: 1.5em;\n}\n\n.btn-primary {\n background-color: #39870c;\n border-color: #39870c;\n color: #fff;\n border-width: 1px;\n border-style: solid;\n border-radius: 4px;\n line-height: 1.5;\n min-width: 56px;\n padding: 11px 15px;\n background-color: #b62f41;\n}\n.btn-primary:hover {\n background-color: #275937;\n border-color: #275937;\n color: #fff;\n}\n.btn-primary:active {\n background-color: #15301e;\n border-color: #15301e;\n color: #fff;\n}\n.btn-primary[disabled], .btn-primary[disabled]:hover {\n background-color: #afcf9d;\n border-color: #afcf9d;\n color: #fff;\n}\n.btn-primary.btn-sm {\n line-height: 1rem;\n}\n.btn-primary.btn-sm dso-icon,\n.btn-primary.btn-sm svg.di, .btn-primary.btn-sm.extern::after, .btn-primary.btn-sm.download::after, .btn-primary.btn-sm.dso-spinner::before {\n margin-bottom: -4px;\n margin-top: -4px;\n}\n.btn-primary.btn-sm.dso-spinner-left::before {\n height: 16px;\n width: 16px;\n}\n.btn-primary.btn-sm.dso-spinner-right::after {\n height: 16px;\n width: 16px;\n}\n.btn-primary.download::after {\n background: var(--dso-icon, var(--di-download-wit)) no-repeat;\n background-position: center;\n background-size: cover;\n height: 24px;\n vertical-align: top;\n width: 24px;\n}\n.btn-primary.extern::after {\n background: var(--dso-icon, var(--di-external-link-wit)) no-repeat;\n background-position: center;\n background-size: cover;\n height: 24px;\n vertical-align: top;\n width: 24px;\n}\n.btn-primary dso-icon,\n.btn-primary svg.di {\n margin-left: -8px;\n margin-right: 8px;\n}\n.btn-primary span + dso-icon,\n.btn-primary span + svg.di {\n margin-left: 8px;\n margin-right: -8px;\n}\n.btn-primary.dso-spinner-left[disabled], .btn-primary.dso-spinner-right[disabled] {\n background-color: #39870c;\n border-color: #39870c;\n color: #fff;\n}\n.btn-primary.dso-spinner-left::before {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %23fff; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n height: 24px;\n vertical-align: top;\n width: 24px;\n margin-right: 8px;\n}\n.btn-primary.dso-spinner-right::after {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %23fff; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n height: 24px;\n vertical-align: top;\n width: 24px;\n margin-left: 8px;\n}\n\na.btn-primary {\n text-decoration: none;\n background-color: #b62f41;\n}\na.btn-primary, a.btn-primary:visited {\n color: #fff;\n}\n\n.btn-default {\n background-color: #fff;\n border-color: #39870c;\n color: #39870c;\n border-width: 1px;\n border-style: solid;\n border-radius: 4px;\n line-height: 1.5;\n min-width: 56px;\n padding: 11px 15px;\n background-color: #b62f41;\n}\n.btn-default:hover {\n background-color: #39870c;\n border-color: #39870c;\n color: #fff;\n}\n.btn-default:active {\n background-color: #275937;\n border-color: #275937;\n color: #fff;\n}\n.btn-default[disabled], .btn-default[disabled]:hover {\n background-color: #fff;\n border-color: #afcf9d;\n color: #afcf9d;\n}\n.btn-default.btn-sm {\n line-height: 1rem;\n}\n.btn-default.btn-sm dso-icon,\n.btn-default.btn-sm svg.di, .btn-default.btn-sm.extern::after, .btn-default.btn-sm.download::after, .btn-default.btn-sm.dso-spinner::before {\n margin-bottom: -4px;\n margin-top: -4px;\n}\n.btn-default.btn-sm.dso-spinner-left::before {\n height: 16px;\n width: 16px;\n}\n.btn-default.btn-sm.dso-spinner-right::after {\n height: 16px;\n width: 16px;\n}\n.btn-default.download::after {\n background: var(--dso-icon, var(--di-download)) no-repeat;\n background-position: center;\n background-size: cover;\n height: 24px;\n vertical-align: top;\n width: 24px;\n}\n.btn-default.download:hover::after {\n --dso-icon: var(--di-download-wit);\n}\n.btn-default.download[disabled]::after {\n --dso-icon: var(--di-download-grasgroen-40);\n}\n.btn-default.extern::after {\n background: var(--dso-icon, var(--di-external-link)) no-repeat;\n background-position: center;\n background-size: cover;\n height: 24px;\n vertical-align: top;\n width: 24px;\n}\n.btn-default.extern:hover::after {\n --dso-icon: var(--di-external-link-wit);\n}\n.btn-default.extern[disabled]::after {\n --dso-icon: var(--di-external-link-grasgroen-40);\n}\n.btn-default dso-icon,\n.btn-default svg.di {\n margin-left: -8px;\n margin-right: 8px;\n}\n.btn-default span + dso-icon,\n.btn-default span + svg.di {\n margin-left: 8px;\n margin-right: -8px;\n}\n.btn-default.dso-spinner-left[disabled], .btn-default.dso-spinner-right[disabled] {\n background-color: #fff;\n border-color: #39870c;\n color: #39870c;\n}\n.btn-default.dso-spinner-left::before {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %2339870c; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n height: 24px;\n vertical-align: top;\n width: 24px;\n margin-right: 8px;\n}\n.btn-default.dso-spinner-left:not([disabled]):hover::before {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %23fff; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n height: 24px;\n vertical-align: top;\n width: 24px;\n margin-right: 8px;\n}\n.btn-default.dso-spinner-left:not([disabled]).btn-sm:hover::before {\n height: 16px;\n width: 16px;\n}\n.btn-default.dso-spinner-right::after {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %2339870c; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n height: 24px;\n vertical-align: top;\n width: 24px;\n margin-left: 8px;\n}\n.btn-default.dso-spinner-right:not([disabled]):hover::after {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %23fff; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n height: 24px;\n vertical-align: top;\n width: 24px;\n margin-left: 8px;\n}\n.btn-default.dso-spinner-right:not([disabled]).btn-sm:hover::after {\n height: 16px;\n width: 16px;\n}\n\na.btn-default {\n text-decoration: none;\n background-color: #b62f41;\n}\na.btn-default, a.btn-default:visited {\n color: #39870c;\n}\na.btn-default:hover, a.btn-default:visited:hover {\n color: #fff;\n}\n\n.btn-link {\n border: 0;\n color: #39870c;\n line-height: 1;\n padding: 0;\n background-color: transparent;\n background-color: #b62f41;\n}\n.btn-link[disabled] {\n color: #afcf9d;\n}\n.btn-link[disabled].dso-spinner-left, .btn-link[disabled].dso-spinner-right {\n color: #39870c;\n}\n.btn-link:not([disabled]):hover {\n color: #676cb0;\n text-decoration: underline;\n text-underline-position: under;\n}\n.btn-link:not([disabled]):active {\n color: #676cb0;\n}\n.btn-link.btn-align {\n line-height: calc(1.5em - 1px);\n padding: 11px 0;\n position: relative;\n}\n.btn-link.extern::after, .btn-link.download::after {\n position: relative;\n top: -2px;\n}\n.btn-link.download::after {\n background: var(--dso-icon, var(--di-download)) no-repeat;\n background-position: center;\n background-size: cover;\n height: 24px;\n vertical-align: top;\n width: 24px;\n}\n.btn-link.download[disabled]::after {\n --dso-icon: var(--di-download-grasgroen-40);\n}\n.btn-link.download:not([disabled]):hover::after, .btn-link.download:not([disabled]):active::after {\n --dso-icon: var(--di-download-scampi);\n}\n.btn-link.extern::after {\n background: var(--dso-icon, var(--di-external-link)) no-repeat;\n background-position: center;\n background-size: cover;\n height: 24px;\n vertical-align: top;\n width: 24px;\n}\n.btn-link.extern[disabled]::after {\n --dso-icon: var(--di-external-link-grasgroen-40);\n}\n.btn-link.extern:not([disabled]):hover::after, .btn-link.extern:not([disabled]):active::after {\n --dso-icon: var(--di-external-link-scampi);\n}\n.btn-link.dso-spinner-left::before {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %2339870c; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n height: 24px;\n vertical-align: middle;\n width: 24px;\n margin-right: 8px;\n}\n.btn-link.dso-spinner-right::after {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %2339870c; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n height: 24px;\n vertical-align: middle;\n width: 24px;\n margin-left: 8px;\n}\n.btn-link dso-icon + span:not(.sr-only),\n.btn-link svg.di + span:not(.sr-only),\n.btn-link span:not(.sr-only) + dso-icon,\n.btn-link span:not(.sr-only) + svg.di {\n margin-left: 8px;\n}\n.btn-link dso-icon[icon=chevron-left] + span:not(.sr-only),\n.btn-link dso-icon[icon=chevron-right] + span:not(.sr-only),\n.btn-link svg.di.di-angle-down + span:not(.sr-only),\n.btn-link svg.di.di-angle-up + span:not(.sr-only),\n.btn-link span:not(.sr-only) + svg.di.di-angle-down,\n.btn-link span:not(.sr-only) + svg.di.di-angle-up,\n.btn-link span:not(.sr-only) + dso-icon[icon=chevron-left],\n.btn-link span:not(.sr-only) + dso-icon[icon=chevron-right] {\n margin-left: 0;\n}\n.btn-link dso-icon,\n.btn-link svg.di,\n.btn-link span {\n vertical-align: middle;\n}\n\na.btn-link {\n text-decoration: none;\n background-color: #b62f41;\n}\na.btn-link, a.btn-link:visited {\n color: #39870c;\n}\n\n.btn-block {\n display: block;\n width: 100%;\n}\n.btn-block + .btn-block {\n margin-top: 5px;\n}\n\ninput[type=submit].btn-block,\ninput[type=reset].btn-block,\ninput[type=button].btn-block {\n width: 100%;\n}\n\na.dso-primary,\nbutton.dso-primary,\nlabel.dso-primary {\n display: inline-block;\n font-size: 1em;\n font-weight: 500;\n margin-bottom: 0;\n text-decoration: none;\n touch-action: manipulation;\n text-align: left;\n user-select: none;\n vertical-align: middle;\n background-color: #39870c;\n border-color: #39870c;\n color: #fff;\n border-width: 1px;\n border-style: solid;\n border-radius: 4px;\n line-height: 1.5;\n min-width: 56px;\n padding: 11px 15px;\n}\na.dso-primary:focus, a.dso-primary:focus-visible,\nbutton.dso-primary:focus,\nbutton.dso-primary:focus-visible,\nlabel.dso-primary:focus,\nlabel.dso-primary:focus-visible {\n outline-offset: 2px;\n}\na.dso-primary:active,\nbutton.dso-primary:active,\nlabel.dso-primary:active {\n outline: 0;\n}\na.dso-primary.extern::after, a.dso-primary.download::after,\nbutton.dso-primary.extern::after,\nbutton.dso-primary.download::after,\nlabel.dso-primary.extern::after,\nlabel.dso-primary.download::after {\n content: \"\";\n display: inline-block;\n height: 1.5em;\n margin-left: 8px;\n vertical-align: top;\n width: 1.5em;\n}\na.dso-primary:hover,\nbutton.dso-primary:hover,\nlabel.dso-primary:hover {\n background-color: #275937;\n border-color: #275937;\n color: #fff;\n}\na.dso-primary:active,\nbutton.dso-primary:active,\nlabel.dso-primary:active {\n background-color: #15301e;\n border-color: #15301e;\n color: #fff;\n}\na.dso-primary[disabled], a.dso-primary[disabled]:hover,\nbutton.dso-primary[disabled],\nbutton.dso-primary[disabled]:hover,\nlabel.dso-primary[disabled],\nlabel.dso-primary[disabled]:hover {\n background-color: #afcf9d;\n border-color: #afcf9d;\n color: #fff;\n}\na.dso-primary.btn-sm,\nbutton.dso-primary.btn-sm,\nlabel.dso-primary.btn-sm {\n line-height: 1rem;\n}\na.dso-primary.btn-sm dso-icon,\na.dso-primary.btn-sm svg.di, a.dso-primary.btn-sm.extern::after, a.dso-primary.btn-sm.download::after, a.dso-primary.btn-sm.dso-spinner::before,\nbutton.dso-primary.btn-sm dso-icon,\nbutton.dso-primary.btn-sm svg.di,\nbutton.dso-primary.btn-sm.extern::after,\nbutton.dso-primary.btn-sm.download::after,\nbutton.dso-primary.btn-sm.dso-spinner::before,\nlabel.dso-primary.btn-sm dso-icon,\nlabel.dso-primary.btn-sm svg.di,\nlabel.dso-primary.btn-sm.extern::after,\nlabel.dso-primary.btn-sm.download::after,\nlabel.dso-primary.btn-sm.dso-spinner::before {\n margin-bottom: -4px;\n margin-top: -4px;\n}\na.dso-primary.btn-sm.dso-spinner-left::before,\nbutton.dso-primary.btn-sm.dso-spinner-left::before,\nlabel.dso-primary.btn-sm.dso-spinner-left::before {\n height: 16px;\n width: 16px;\n}\na.dso-primary.btn-sm.dso-spinner-right::after,\nbutton.dso-primary.btn-sm.dso-spinner-right::after,\nlabel.dso-primary.btn-sm.dso-spinner-right::after {\n height: 16px;\n width: 16px;\n}\na.dso-primary.download::after,\nbutton.dso-primary.download::after,\nlabel.dso-primary.download::after {\n background: var(--dso-icon, var(--di-download-wit)) no-repeat;\n background-position: center;\n background-size: cover;\n height: 24px;\n vertical-align: top;\n width: 24px;\n}\na.dso-primary.extern::after,\nbutton.dso-primary.extern::after,\nlabel.dso-primary.extern::after {\n background: var(--dso-icon, var(--di-external-link-wit)) no-repeat;\n background-position: center;\n background-size: cover;\n height: 24px;\n vertical-align: top;\n width: 24px;\n}\na.dso-primary dso-icon,\na.dso-primary svg.di,\nbutton.dso-primary dso-icon,\nbutton.dso-primary svg.di,\nlabel.dso-primary dso-icon,\nlabel.dso-primary svg.di {\n margin-left: -8px;\n margin-right: 8px;\n}\na.dso-primary span + dso-icon,\na.dso-primary span + svg.di,\nbutton.dso-primary span + dso-icon,\nbutton.dso-primary span + svg.di,\nlabel.dso-primary span + dso-icon,\nlabel.dso-primary span + svg.di {\n margin-left: 8px;\n margin-right: -8px;\n}\na.dso-primary.dso-spinner-left[disabled], a.dso-primary.dso-spinner-right[disabled],\nbutton.dso-primary.dso-spinner-left[disabled],\nbutton.dso-primary.dso-spinner-right[disabled],\nlabel.dso-primary.dso-spinner-left[disabled],\nlabel.dso-primary.dso-spinner-right[disabled] {\n background-color: #39870c;\n border-color: #39870c;\n color: #fff;\n}\na.dso-primary.dso-spinner-left::before,\nbutton.dso-primary.dso-spinner-left::before,\nlabel.dso-primary.dso-spinner-left::before {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %23fff; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n height: 24px;\n vertical-align: top;\n width: 24px;\n margin-right: 8px;\n}\na.dso-primary.dso-spinner-right::after,\nbutton.dso-primary.dso-spinner-right::after,\nlabel.dso-primary.dso-spinner-right::after {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %23fff; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n height: 24px;\n vertical-align: top;\n width: 24px;\n margin-left: 8px;\n}\na.dso-secondary,\nbutton.dso-secondary,\nlabel.dso-secondary {\n display: inline-block;\n font-size: 1em;\n font-weight: 500;\n margin-bottom: 0;\n text-decoration: none;\n touch-action: manipulation;\n text-align: left;\n user-select: none;\n vertical-align: middle;\n background-color: #fff;\n border-color: #39870c;\n color: #39870c;\n border-width: 1px;\n border-style: solid;\n border-radius: 4px;\n line-height: 1.5;\n min-width: 56px;\n padding: 11px 15px;\n}\na.dso-secondary:focus, a.dso-secondary:focus-visible,\nbutton.dso-secondary:focus,\nbutton.dso-secondary:focus-visible,\nlabel.dso-secondary:focus,\nlabel.dso-secondary:focus-visible {\n outline-offset: 2px;\n}\na.dso-secondary:active,\nbutton.dso-secondary:active,\nlabel.dso-secondary:active {\n outline: 0;\n}\na.dso-secondary.extern::after, a.dso-secondary.download::after,\nbutton.dso-secondary.extern::after,\nbutton.dso-secondary.download::after,\nlabel.dso-secondary.extern::after,\nlabel.dso-secondary.download::after {\n content: \"\";\n display: inline-block;\n height: 1.5em;\n margin-left: 8px;\n vertical-align: top;\n width: 1.5em;\n}\na.dso-secondary:hover,\nbutton.dso-secondary:hover,\nlabel.dso-secondary:hover {\n background-color: #39870c;\n border-color: #39870c;\n color: #fff;\n}\na.dso-secondary:active,\nbutton.dso-secondary:active,\nlabel.dso-secondary:active {\n background-color: #275937;\n border-color: #275937;\n color: #fff;\n}\na.dso-secondary[disabled], a.dso-secondary[disabled]:hover,\nbutton.dso-secondary[disabled],\nbutton.dso-secondary[disabled]:hover,\nlabel.dso-secondary[disabled],\nlabel.dso-secondary[disabled]:hover {\n background-color: #fff;\n border-color: #afcf9d;\n color: #afcf9d;\n}\na.dso-secondary.btn-sm,\nbutton.dso-secondary.btn-sm,\nlabel.dso-secondary.btn-sm {\n line-height: 1rem;\n}\na.dso-secondary.btn-sm dso-icon,\na.dso-secondary.btn-sm svg.di, a.dso-secondary.btn-sm.extern::after, a.dso-secondary.btn-sm.download::after, a.dso-secondary.btn-sm.dso-spinner::before,\nbutton.dso-secondary.btn-sm dso-icon,\nbutton.dso-secondary.btn-sm svg.di,\nbutton.dso-secondary.btn-sm.extern::after,\nbutton.dso-secondary.btn-sm.download::after,\nbutton.dso-secondary.btn-sm.dso-spinner::before,\nlabel.dso-secondary.btn-sm dso-icon,\nlabel.dso-secondary.btn-sm svg.di,\nlabel.dso-secondary.btn-sm.extern::after,\nlabel.dso-secondary.btn-sm.download::after,\nlabel.dso-secondary.btn-sm.dso-spinner::before {\n margin-bottom: -4px;\n margin-top: -4px;\n}\na.dso-secondary.btn-sm.dso-spinner-left::before,\nbutton.dso-secondary.btn-sm.dso-spinner-left::before,\nlabel.dso-secondary.btn-sm.dso-spinner-left::before {\n height: 16px;\n width: 16px;\n}\na.dso-secondary.btn-sm.dso-spinner-right::after,\nbutton.dso-secondary.btn-sm.dso-spinner-right::after,\nlabel.dso-secondary.btn-sm.dso-spinner-right::after {\n height: 16px;\n width: 16px;\n}\na.dso-secondary.download::after,\nbutton.dso-secondary.download::after,\nlabel.dso-secondary.download::after {\n background: var(--dso-icon, var(--di-download)) no-repeat;\n background-position: center;\n background-size: cover;\n height: 24px;\n vertical-align: top;\n width: 24px;\n}\na.dso-secondary.download:hover::after,\nbutton.dso-secondary.download:hover::after,\nlabel.dso-secondary.download:hover::after {\n --dso-icon: var(--di-download-wit);\n}\na.dso-secondary.download[disabled]::after,\nbutton.dso-secondary.download[disabled]::after,\nlabel.dso-secondary.download[disabled]::after {\n --dso-icon: var(--di-download-grasgroen-40);\n}\na.dso-secondary.extern::after,\nbutton.dso-secondary.extern::after,\nlabel.dso-secondary.extern::after {\n background: var(--dso-icon, var(--di-external-link)) no-repeat;\n background-position: center;\n background-size: cover;\n height: 24px;\n vertical-align: top;\n width: 24px;\n}\na.dso-secondary.extern:hover::after,\nbutton.dso-secondary.extern:hover::after,\nlabel.dso-secondary.extern:hover::after {\n --dso-icon: var(--di-external-link-wit);\n}\na.dso-secondary.extern[disabled]::after,\nbutton.dso-secondary.extern[disabled]::after,\nlabel.dso-secondary.extern[disabled]::after {\n --dso-icon: var(--di-external-link-grasgroen-40);\n}\na.dso-secondary dso-icon,\na.dso-secondary svg.di,\nbutton.dso-secondary dso-icon,\nbutton.dso-secondary svg.di,\nlabel.dso-secondary dso-icon,\nlabel.dso-secondary svg.di {\n margin-left: -8px;\n margin-right: 8px;\n}\na.dso-secondary span + dso-icon,\na.dso-secondary span + svg.di,\nbutton.dso-secondary span + dso-icon,\nbutton.dso-secondary span + svg.di,\nlabel.dso-secondary span + dso-icon,\nlabel.dso-secondary span + svg.di {\n margin-left: 8px;\n margin-right: -8px;\n}\na.dso-secondary.dso-spinner-left[disabled], a.dso-secondary.dso-spinner-right[disabled],\nbutton.dso-secondary.dso-spinner-left[disabled],\nbutton.dso-secondary.dso-spinner-right[disabled],\nlabel.dso-secondary.dso-spinner-left[disabled],\nlabel.dso-secondary.dso-spinner-right[disabled] {\n background-color: #fff;\n border-color: #39870c;\n color: #39870c;\n}\na.dso-secondary.dso-spinner-left::before,\nbutton.dso-secondary.dso-spinner-left::before,\nlabel.dso-secondary.dso-spinner-left::before {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %2339870c; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n height: 24px;\n vertical-align: top;\n width: 24px;\n margin-right: 8px;\n}\na.dso-secondary.dso-spinner-left:not([disabled]):hover::before,\nbutton.dso-secondary.dso-spinner-left:not([disabled]):hover::before,\nlabel.dso-secondary.dso-spinner-left:not([disabled]):hover::before {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %23fff; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n height: 24px;\n vertical-align: top;\n width: 24px;\n margin-right: 8px;\n}\na.dso-secondary.dso-spinner-left:not([disabled]).btn-sm:hover::before,\nbutton.dso-secondary.dso-spinner-left:not([disabled]).btn-sm:hover::before,\nlabel.dso-secondary.dso-spinner-left:not([disabled]).btn-sm:hover::before {\n height: 16px;\n width: 16px;\n}\na.dso-secondary.dso-spinner-right::after,\nbutton.dso-secondary.dso-spinner-right::after,\nlabel.dso-secondary.dso-spinner-right::after {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %2339870c; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n height: 24px;\n vertical-align: top;\n width: 24px;\n margin-left: 8px;\n}\na.dso-secondary.dso-spinner-right:not([disabled]):hover::after,\nbutton.dso-secondary.dso-spinner-right:not([disabled]):hover::after,\nlabel.dso-secondary.dso-spinner-right:not([disabled]):hover::after {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %23fff; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n height: 24px;\n vertical-align: top;\n width: 24px;\n margin-left: 8px;\n}\na.dso-secondary.dso-spinner-right:not([disabled]).btn-sm:hover::after,\nbutton.dso-secondary.dso-spinner-right:not([disabled]).btn-sm:hover::after,\nlabel.dso-secondary.dso-spinner-right:not([disabled]).btn-sm:hover::after {\n height: 16px;\n width: 16px;\n}\na.dso-tertiary,\nbutton.dso-tertiary,\nlabel.dso-tertiary {\n display: inline-block;\n font-size: 1em;\n font-weight: 500;\n margin-bottom: 0;\n text-decoration: none;\n touch-action: manipulation;\n text-align: left;\n user-select: none;\n vertical-align: middle;\n border: 0;\n color: #39870c;\n line-height: 1;\n padding: 0;\n background-color: transparent;\n}\na.dso-tertiary:focus, a.dso-tertiary:focus-visible,\nbutton.dso-tertiary:focus,\nbutton.dso-tertiary:focus-visible,\nlabel.dso-tertiary:focus,\nlabel.dso-tertiary:focus-visible {\n outline-offset: 2px;\n}\na.dso-tertiary:active,\nbutton.dso-tertiary:active,\nlabel.dso-tertiary:active {\n outline: 0;\n}\na.dso-tertiary.extern::after, a.dso-tertiary.download::after,\nbutton.dso-tertiary.extern::after,\nbutton.dso-tertiary.download::after,\nlabel.dso-tertiary.extern::after,\nlabel.dso-tertiary.download::after {\n content: \"\";\n display: inline-block;\n height: 1.5em;\n margin-left: 8px;\n vertical-align: top;\n width: 1.5em;\n}\na.dso-tertiary[disabled],\nbutton.dso-tertiary[disabled],\nlabel.dso-tertiary[disabled] {\n color: #afcf9d;\n}\na.dso-tertiary[disabled].dso-spinner-left, a.dso-tertiary[disabled].dso-spinner-right,\nbutton.dso-tertiary[disabled].dso-spinner-left,\nbutton.dso-tertiary[disabled].dso-spinner-right,\nlabel.dso-tertiary[disabled].dso-spinner-left,\nlabel.dso-tertiary[disabled].dso-spinner-right {\n color: #39870c;\n}\na.dso-tertiary:not([disabled]):hover,\nbutton.dso-tertiary:not([disabled]):hover,\nlabel.dso-tertiary:not([disabled]):hover {\n color: #676cb0;\n text-decoration: underline;\n text-underline-position: under;\n}\na.dso-tertiary:not([disabled]):active,\nbutton.dso-tertiary:not([disabled]):active,\nlabel.dso-tertiary:not([disabled]):active {\n color: #676cb0;\n}\na.dso-tertiary.btn-align,\nbutton.dso-tertiary.btn-align,\nlabel.dso-tertiary.btn-align {\n line-height: calc(1.5em - 1px);\n padding: 11px 0;\n position: relative;\n}\na.dso-tertiary.extern::after, a.dso-tertiary.download::after,\nbutton.dso-tertiary.extern::after,\nbutton.dso-tertiary.download::after,\nlabel.dso-tertiary.extern::after,\nlabel.dso-tertiary.download::after {\n position: relative;\n top: -2px;\n}\na.dso-tertiary.download::after,\nbutton.dso-tertiary.download::after,\nlabel.dso-tertiary.download::after {\n background: var(--dso-icon, var(--di-download)) no-repeat;\n background-position: center;\n background-size: cover;\n height: 24px;\n vertical-align: top;\n width: 24px;\n}\na.dso-tertiary.download[disabled]::after,\nbutton.dso-tertiary.download[disabled]::after,\nlabel.dso-tertiary.download[disabled]::after {\n --dso-icon: var(--di-download-grasgroen-40);\n}\na.dso-tertiary.download:not([disabled]):hover::after, a.dso-tertiary.download:not([disabled]):active::after,\nbutton.dso-tertiary.download:not([disabled]):hover::after,\nbutton.dso-tertiary.download:not([disabled]):active::after,\nlabel.dso-tertiary.download:not([disabled]):hover::after,\nlabel.dso-tertiary.download:not([disabled]):active::after {\n --dso-icon: var(--di-download-scampi);\n}\na.dso-tertiary.extern::after,\nbutton.dso-tertiary.extern::after,\nlabel.dso-tertiary.extern::after {\n background: var(--dso-icon, var(--di-external-link)) no-repeat;\n background-position: center;\n background-size: cover;\n height: 24px;\n vertical-align: top;\n width: 24px;\n}\na.dso-tertiary.extern[disabled]::after,\nbutton.dso-tertiary.extern[disabled]::after,\nlabel.dso-tertiary.extern[disabled]::after {\n --dso-icon: var(--di-external-link-grasgroen-40);\n}\na.dso-tertiary.extern:not([disabled]):hover::after, a.dso-tertiary.extern:not([disabled]):active::after,\nbutton.dso-tertiary.extern:not([disabled]):hover::after,\nbutton.dso-tertiary.extern:not([disabled]):active::after,\nlabel.dso-tertiary.extern:not([disabled]):hover::after,\nlabel.dso-tertiary.extern:not([disabled]):active::after {\n --dso-icon: var(--di-external-link-scampi);\n}\na.dso-tertiary.dso-spinner-left::before,\nbutton.dso-tertiary.dso-spinner-left::before,\nlabel.dso-tertiary.dso-spinner-left::before {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %2339870c; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n height: 24px;\n vertical-align: middle;\n width: 24px;\n margin-right: 8px;\n}\na.dso-tertiary.dso-spinner-right::after,\nbutton.dso-tertiary.dso-spinner-right::after,\nlabel.dso-tertiary.dso-spinner-right::after {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %2339870c; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n height: 24px;\n vertical-align: middle;\n width: 24px;\n margin-left: 8px;\n}\na.dso-tertiary dso-icon + span:not(.sr-only),\na.dso-tertiary svg.di + span:not(.sr-only),\na.dso-tertiary span:not(.sr-only) + dso-icon,\na.dso-tertiary span:not(.sr-only) + svg.di,\nbutton.dso-tertiary dso-icon + span:not(.sr-only),\nbutton.dso-tertiary svg.di + span:not(.sr-only),\nbutton.dso-tertiary span:not(.sr-only) + dso-icon,\nbutton.dso-tertiary span:not(.sr-only) + svg.di,\nlabel.dso-tertiary dso-icon + span:not(.sr-only),\nlabel.dso-tertiary svg.di + span:not(.sr-only),\nlabel.dso-tertiary span:not(.sr-only) + dso-icon,\nlabel.dso-tertiary span:not(.sr-only) + svg.di {\n margin-left: 8px;\n}\na.dso-tertiary dso-icon[icon=chevron-left] + span:not(.sr-only),\na.dso-tertiary dso-icon[icon=chevron-right] + span:not(.sr-only),\na.dso-tertiary svg.di.di-angle-down + span:not(.sr-only),\na.dso-tertiary svg.di.di-angle-up + span:not(.sr-only),\na.dso-tertiary span:not(.sr-only) + svg.di.di-angle-down,\na.dso-tertiary span:not(.sr-only) + svg.di.di-angle-up,\na.dso-tertiary span:not(.sr-only) + dso-icon[icon=chevron-left],\na.dso-tertiary span:not(.sr-only) + dso-icon[icon=chevron-right],\nbutton.dso-tertiary dso-icon[icon=chevron-left] + span:not(.sr-only),\nbutton.dso-tertiary dso-icon[icon=chevron-right] + span:not(.sr-only),\nbutton.dso-tertiary svg.di.di-angle-down + span:not(.sr-only),\nbutton.dso-tertiary svg.di.di-angle-up + span:not(.sr-only),\nbutton.dso-tertiary span:not(.sr-only) + svg.di.di-angle-down,\nbutton.dso-tertiary span:not(.sr-only) + svg.di.di-angle-up,\nbutton.dso-tertiary span:not(.sr-only) + dso-icon[icon=chevron-left],\nbutton.dso-tertiary span:not(.sr-only) + dso-icon[icon=chevron-right],\nlabel.dso-tertiary dso-icon[icon=chevron-left] + span:not(.sr-only),\nlabel.dso-tertiary dso-icon[icon=chevron-right] + span:not(.sr-only),\nlabel.dso-tertiary svg.di.di-angle-down + span:not(.sr-only),\nlabel.dso-tertiary svg.di.di-angle-up + span:not(.sr-only),\nlabel.dso-tertiary span:not(.sr-only) + svg.di.di-angle-down,\nlabel.dso-tertiary span:not(.sr-only) + svg.di.di-angle-up,\nlabel.dso-tertiary span:not(.sr-only) + dso-icon[icon=chevron-left],\nlabel.dso-tertiary span:not(.sr-only) + dso-icon[icon=chevron-right] {\n margin-left: 0;\n}\na.dso-tertiary dso-icon,\na.dso-tertiary svg.di,\na.dso-tertiary span,\nbutton.dso-tertiary dso-icon,\nbutton.dso-tertiary svg.di,\nbutton.dso-tertiary span,\nlabel.dso-tertiary dso-icon,\nlabel.dso-tertiary svg.di,\nlabel.dso-tertiary span {\n vertical-align: middle;\n}\n\na.dso-primary {\n text-decoration: none;\n}\na.dso-primary, a.dso-primary:visited {\n color: #fff;\n}\na.dso-secondary {\n text-decoration: none;\n}\na.dso-secondary, a.dso-secondary:visited {\n color: #39870c;\n}\na.dso-secondary:hover, a.dso-secondary:visited:hover {\n color: #fff;\n}\na.dso-tertiary {\n text-decoration: none;\n}\na.dso-tertiary, a.dso-tertiary:visited {\n color: #39870c;\n}\n\n.btn:not(.dso-list-button) + .btn:not(.dso-list-button),\n.btn:not(.dso-list-button) + .dso-primary,\n.btn:not(.dso-list-button) + .dso-secondary,\n.btn:not(.dso-list-button) + .dso-tertiary,\n.dso-primary + .btn:not(.dso-list-button),\n.dso-primary + .dso-primary,\n.dso-primary + .dso-secondary,\n.dso-primary + .dso-tertiary,\n.dso-secondary + .btn:not(.dso-list-button),\n.dso-secondary + .dso-primary,\n.dso-secondary + .dso-secondary,\n.dso-secondary + .dso-tertiary,\n.dso-tertiary + .btn:not(.dso-list-button),\n.dso-tertiary + .dso-primary,\n.dso-tertiary + .dso-secondary,\n.dso-tertiary + .dso-tertiary {\n margin-left: 16px;\n}\n\n:host {\n display: inline-block;\n position: relative;\n}\n\n:host(:hover) .open,\n.open:focus {\n opacity: 1;\n}\n\n.open {\n display: inline-block;\n font-size: 1em;\n font-weight: 500;\n margin-bottom: 0;\n text-decoration: none;\n touch-action: manipulation;\n text-align: left;\n user-select: none;\n vertical-align: middle;\n background-color: #fff;\n border-color: #39870c;\n color: #39870c;\n border-width: 1px;\n border-style: solid;\n border-radius: 4px;\n line-height: 1.5;\n min-width: 56px;\n padding: 11px 15px;\n border: 0;\n box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.5);\n min-width: auto;\n padding: 8px;\n opacity: 0;\n position: absolute;\n right: 16px;\n top: 16px;\n}\n.open:focus, .open:focus-visible {\n outline-offset: 2px;\n}\n.open:active {\n outline: 0;\n}\n.open.extern::after, .open.download::after {\n content: \"\";\n display: inline-block;\n height: 1.5em;\n margin-left: 8px;\n vertical-align: top;\n width: 1.5em;\n}\n.open:hover {\n background-color: #39870c;\n border-color: #39870c;\n color: #fff;\n}\n.open:active {\n background-color: #275937;\n border-color: #275937;\n color: #fff;\n}\n.open[disabled], .open[disabled]:hover {\n background-color: #fff;\n border-color: #afcf9d;\n color: #afcf9d;\n}\n.open.btn-sm {\n line-height: 1rem;\n}\n.open.btn-sm dso-icon,\n.open.btn-sm svg.di, .open.btn-sm.extern::after, .open.btn-sm.download::after, .open.btn-sm.dso-spinner::before {\n margin-bottom: -4px;\n margin-top: -4px;\n}\n.open.btn-sm.dso-spinner-left::before {\n height: 16px;\n width: 16px;\n}\n.open.btn-sm.dso-spinner-right::after {\n height: 16px;\n width: 16px;\n}\n.open.download::after {\n background: var(--dso-icon, var(--di-download)) no-repeat;\n background-position: center;\n background-size: cover;\n height: 24px;\n vertical-align: top;\n width: 24px;\n}\n.open.download:hover::after {\n --dso-icon: var(--di-download-wit);\n}\n.open.download[disabled]::after {\n --dso-icon: var(--di-download-grasgroen-40);\n}\n.open.extern::after {\n background: var(--dso-icon, var(--di-external-link)) no-repeat;\n background-position: center;\n background-size: cover;\n height: 24px;\n vertical-align: top;\n width: 24px;\n}\n.open.extern:hover::after {\n --dso-icon: var(--di-external-link-wit);\n}\n.open.extern[disabled]::after {\n --dso-icon: var(--di-external-link-grasgroen-40);\n}\n.open > span {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n border: 0;\n}\n.open.dso-spinner-left[disabled], .open.dso-spinner-right[disabled] {\n background-color: #fff;\n border-color: #39870c;\n color: #39870c;\n}\n.open.dso-spinner-left::before {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %2339870c; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n height: 24px;\n vertical-align: top;\n width: 24px;\n margin-right: 8px;\n}\n.open.dso-spinner-left:not([disabled]):hover::before {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %23fff; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n height: 24px;\n vertical-align: top;\n width: 24px;\n margin-right: 8px;\n}\n.open.dso-spinner-left:not([disabled]).btn-sm:hover::before {\n height: 16px;\n width: 16px;\n}\n.open.dso-spinner-right::after {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %2339870c; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n height: 24px;\n vertical-align: top;\n width: 24px;\n margin-left: 8px;\n}\n.open.dso-spinner-right:not([disabled]):hover::after {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %23fff; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n height: 24px;\n vertical-align: top;\n width: 24px;\n margin-left: 8px;\n}\n.open.dso-spinner-right:not([disabled]).btn-sm:hover::after {\n height: 16px;\n width: 16px;\n}\n\n.dimmer {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n z-index: 19;\n display: flex;\n padding: 32px;\n background-color: rgba(255, 255, 255, 0.8);\n justify-content: center;\n}\n\n.wrapper {\n box-shadow: 0 8px 24px 0 rgba(25, 25, 25, 0.4);\n position: relative;\n z-index: 20;\n align-self: center;\n line-height: 0;\n}\n.wrapper img {\n width: auto;\n height: auto;\n max-width: 100%;\n max-height: calc(100vh - 64px);\n}\n\n.close {\n display: inline-block;\n font-size: 1em;\n font-weight: 500;\n margin-bottom: 0;\n text-decoration: none;\n touch-action: manipulation;\n text-align: left;\n user-select: none;\n vertical-align: middle;\n background-color: #fff;\n border-color: #39870c;\n color: #39870c;\n border-width: 1px;\n border-style: solid;\n border-radius: 4px;\n line-height: 1.5;\n min-width: 56px;\n padding: 11px 15px;\n border: 0;\n box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.5);\n min-width: auto;\n padding: 8px;\n position: absolute;\n top: 16px;\n right: 16px;\n}\n.close:focus, .close:focus-visible {\n outline-offset: 2px;\n}\n.close:active {\n outline: 0;\n}\n.close.extern::after, .close.download::after {\n content: \"\";\n display: inline-block;\n height: 1.5em;\n margin-left: 8px;\n vertical-align: top;\n width: 1.5em;\n}\n.close:hover {\n background-color: #39870c;\n border-color: #39870c;\n color: #fff;\n}\n.close:active {\n background-color: #275937;\n border-color: #275937;\n color: #fff;\n}\n.close[disabled], .close[disabled]:hover {\n background-color: #fff;\n border-color: #afcf9d;\n color: #afcf9d;\n}\n.close.btn-sm {\n line-height: 1rem;\n}\n.close.btn-sm dso-icon,\n.close.btn-sm svg.di, .close.btn-sm.extern::after, .close.btn-sm.download::after, .close.btn-sm.dso-spinner::before {\n margin-bottom: -4px;\n margin-top: -4px;\n}\n.close.btn-sm.dso-spinner-left::before {\n height: 16px;\n width: 16px;\n}\n.close.btn-sm.dso-spinner-right::after {\n height: 16px;\n width: 16px;\n}\n.close.download::after {\n background: var(--dso-icon, var(--di-download)) no-repeat;\n background-position: center;\n background-size: cover;\n height: 24px;\n vertical-align: top;\n width: 24px;\n}\n.close.download:hover::after {\n --dso-icon: var(--di-download-wit);\n}\n.close.download[disabled]::after {\n --dso-icon: var(--di-download-grasgroen-40);\n}\n.close.extern::after {\n background: var(--dso-icon, var(--di-external-link)) no-repeat;\n background-position: center;\n background-size: cover;\n height: 24px;\n vertical-align: top;\n width: 24px;\n}\n.close.extern:hover::after {\n --dso-icon: var(--di-external-link-wit);\n}\n.close.extern[disabled]::after {\n --dso-icon: var(--di-external-link-grasgroen-40);\n}\n.close > span {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n border: 0;\n}\n.close.dso-spinner-left[disabled], .close.dso-spinner-right[disabled] {\n background-color: #fff;\n border-color: #39870c;\n color: #39870c;\n}\n.close.dso-spinner-left::before {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %2339870c; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n height: 24px;\n vertical-align: top;\n width: 24px;\n margin-right: 8px;\n}\n.close.dso-spinner-left:not([disabled]):hover::before {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %23fff; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n height: 24px;\n vertical-align: top;\n width: 24px;\n margin-right: 8px;\n}\n.close.dso-spinner-left:not([disabled]).btn-sm:hover::before {\n height: 16px;\n width: 16px;\n}\n.close.dso-spinner-right::after {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %2339870c; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n height: 24px;\n vertical-align: top;\n width: 24px;\n margin-left: 8px;\n}\n.close.dso-spinner-right:not([disabled]):hover::after {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %23fff; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n height: 24px;\n vertical-align: top;\n width: 24px;\n margin-left: 8px;\n}\n.close.dso-spinner-right:not([disabled]).btn-sm:hover::after {\n height: 16px;\n width: 16px;\n}";
11
11
 
12
12
  let ImageOverlay = class {
13
13
  constructor(hostRef) {
@@ -10,7 +10,7 @@ const infoButtonCss = ":host{display:inline-block;--di-info:url(\"data:image/svg
10
10
  let InfoButton = class {
11
11
  constructor(hostRef) {
12
12
  index.registerInstance(this, hostRef);
13
- this.toggle = index.createEvent(this, "toggle", 7);
13
+ this.dsoToggle = index.createEvent(this, "dsoToggle", 7);
14
14
  this.label = 'Toelichting bij optie';
15
15
  }
16
16
  async setFocus() {
@@ -19,7 +19,7 @@ let InfoButton = class {
19
19
  }
20
20
  handleToggle(e) {
21
21
  this.active = !this.active;
22
- this.toggle.emit({ originalEvent: e, active: this.active });
22
+ this.dsoToggle.emit({ originalEvent: e, active: this.active });
23
23
  }
24
24
  render() {
25
25
  return (index.h("button", { type: "button", class: clsx_m.clsx('btn', { 'dso-open': !!this.active, 'dso-info-secondary': !!this.secondary }), "aria-expanded": typeof this.active === 'boolean' ? this.active.toString() : undefined, onClick: e => this.handleToggle(e), ref: element => (this.button = element) }, index.h("span", { class: "sr-only" }, this.label)));