@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
@@ -19,17 +19,19 @@ const autosuggestCss = ".sc-dso-autosuggest-h{display:block;position:relative}ul
19
19
  let Autosuggest = class {
20
20
  constructor(hostRef) {
21
21
  registerInstance(this, hostRef);
22
- this.selectEmitter = createEvent(this, "dsoSelect", 7);
23
- this.changeEmitter = createEvent(this, "dsoChange", 7);
24
- this.searchEmitter = createEvent(this, "dsoSearch", 7);
22
+ this.dsoSelect = createEvent(this, "dsoSelect", 7);
23
+ this.dsoChange = createEvent(this, "dsoChange", 7);
24
+ this.dsoSearch = createEvent(this, "dsoSearch", 7);
25
25
  /**
26
26
  * The suggestions for the value of the slotted input element. Optionally a
27
27
  * Suggestion can have a `type` and `item`.
28
28
  *
29
29
  * The `type` is used to style the suggestion. `item` can be use to reference
30
30
  * the original object that was used to create the suggestion.
31
+ *
32
+ * The value should be null when no suggestions have been fetched.
31
33
  */
32
- this.suggestions = [];
34
+ this.suggestions = null;
33
35
  /**
34
36
  * Shows progress indicator when fetching results.
35
37
  */
@@ -49,7 +51,7 @@ let Autosuggest = class {
49
51
  this.inputId = v4();
50
52
  this.labelId = v4();
51
53
  this.debouncedEmitValue = debounce_1((value) => {
52
- this.changeEmitter.emit(value);
54
+ this.dsoChange.emit(value);
53
55
  this.debouncedShowLoading();
54
56
  }, 200);
55
57
  this.debouncedShowLoading = debounce_1(() => {
@@ -186,12 +188,18 @@ let Autosuggest = class {
186
188
  this.input.setAttribute("aria-activedescendant", this.listboxItemId(suggestion));
187
189
  }
188
190
  selectFirstSuggestion() {
191
+ if (!this.suggestions) {
192
+ return;
193
+ }
189
194
  this.selectedSuggestion = this.suggestions[0];
190
195
  if (this.selectedSuggestion) {
191
196
  this.input.setAttribute('aria-activedescendant', this.listboxItemId(this.selectedSuggestion));
192
197
  }
193
198
  }
194
199
  selectLastSuggestion() {
200
+ if (!this.suggestions) {
201
+ return;
202
+ }
195
203
  this.selectedSuggestion = this.suggestions[this.suggestions.length - 1];
196
204
  if (this.selectedSuggestion) {
197
205
  this.input.setAttribute('aria-activedescendant', this.listboxItemId(this.selectedSuggestion));
@@ -199,6 +207,9 @@ let Autosuggest = class {
199
207
  }
200
208
  selectNextSuggestion() {
201
209
  var _a;
210
+ if (!this.suggestions) {
211
+ return;
212
+ }
202
213
  const index = this.selectedSuggestion ? this.suggestions.indexOf(this.selectedSuggestion) : -1;
203
214
  this.selectedSuggestion = (_a = this.suggestions[index + 1]) !== null && _a !== void 0 ? _a : this.suggestions[0];
204
215
  if (this.selectedSuggestion) {
@@ -207,6 +218,9 @@ let Autosuggest = class {
207
218
  }
208
219
  selectPreviousSuggestion() {
209
220
  var _a;
221
+ if (!this.suggestions) {
222
+ return;
223
+ }
210
224
  const index = this.selectedSuggestion ? this.suggestions.indexOf(this.selectedSuggestion) : 0;
211
225
  this.selectedSuggestion = (_a = this.suggestions[index - 1]) !== null && _a !== void 0 ? _a : this.suggestions[this.suggestions.length - 1];
212
226
  if (this.selectedSuggestion) {
@@ -215,12 +229,14 @@ let Autosuggest = class {
215
229
  }
216
230
  resetSelectedSuggestion() {
217
231
  this.showLoading = !this.loadingDelayed;
232
+ this.notFound = false;
218
233
  this.selectedSuggestion = undefined;
219
234
  this.input.setAttribute('aria-activedescendant', '');
220
235
  }
221
236
  openSuggestions(selectSuggestion) {
222
- this.showSuggestions = this.suggestions.length > 0;
223
- this.notFound = this.suggestions.length === 0;
237
+ var _a, _b, _c;
238
+ this.showSuggestions = (_a = (this.suggestions && this.suggestions.length > 0)) !== null && _a !== void 0 ? _a : false;
239
+ this.notFound = (_c = ((_b = this.suggestions) === null || _b === void 0 ? void 0 : _b.length) === 0) !== null && _c !== void 0 ? _c : false;
224
240
  this.input.setAttribute("aria-expanded", (this.showSuggestions || this.notFound).toString());
225
241
  if (this.showSuggestions && selectSuggestion === 'first') {
226
242
  this.selectFirstSuggestion();
@@ -237,21 +253,24 @@ let Autosuggest = class {
237
253
  }
238
254
  pickSelectedValue() {
239
255
  if (this.selectedSuggestion && this.showSuggestions) {
240
- this.selectEmitter.emit(this.selectedSuggestion);
256
+ this.dsoSelect.emit(this.selectedSuggestion);
241
257
  }
242
258
  else {
243
- this.searchEmitter.emit(this.input.value);
259
+ this.dsoSearch.emit(this.input.value);
244
260
  }
245
261
  this.closeSuggestions();
246
262
  }
247
263
  listboxItemId(suggestion) {
264
+ if (!this.suggestions) {
265
+ return '';
266
+ }
248
267
  return `${this.inputId}-${this.suggestions.indexOf(suggestion) + 1}`;
249
268
  }
250
269
  render() {
251
270
  const terms = this.input.value.split(' ').filter(t => t);
252
271
  return (h(Fragment, null, h("slot", null), this.loading && this.showLoading
253
272
  ? h("div", { class: "autosuggest-progress-box" }, h("dso-progress-indicator", { label: this.loadingLabel }))
254
- : h("ul", { role: "listbox", id: this.listboxId, "aria-labelledby": this.labelId, ref: element => this.listbox = element, hidden: !this.showSuggestions && !this.notFound }, this.showSuggestions
273
+ : 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
255
274
  ? this.suggestions.map((suggestion) => (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 }, h("span", { class: "value" }, this.markTerms(suggestion.value, terms)), suggestion.type
256
275
  ? (h("span", { class: "type" }, suggestion.type))
257
276
  : undefined)))
@@ -1,7 +1,7 @@
1
1
  import { r as registerInstance, h } from './index-1602fde1.js';
2
2
  import { c as clsx } from './clsx.m-071989db.js';
3
3
 
4
- 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}";
4
+ 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}";
5
5
 
6
6
  let Badge = class {
7
7
  constructor(hostRef) {
@@ -283,7 +283,7 @@ function cleanValue(input, regex) {
283
283
  let DsoDatePicker = class {
284
284
  constructor(hostRef) {
285
285
  registerInstance(this, hostRef);
286
- this.dateChange = createEvent(this, "dateChange", 7);
286
+ this.dsoDateChange = createEvent(this, "dsoDateChange", 7);
287
287
  this.dsoBlur = createEvent(this, "dsoBlur", 7);
288
288
  this.dsoKeyUp = createEvent(this, "dsoKeyUp", 7);
289
289
  this.dsoKeyDown = createEvent(this, "dsoKeyDown", 7);
@@ -632,7 +632,7 @@ let DsoDatePicker = class {
632
632
  const event = this.prepareEvent(value);
633
633
  this.value = typeof value === 'string' ? value : event.value;
634
634
  if (this.value !== this.previousValue) {
635
- this.dateChange.emit(event);
635
+ this.dsoDateChange.emit(event);
636
636
  this.previousValue = this.value;
637
637
  }
638
638
  }
@@ -2,18 +2,17 @@ import { r as registerInstance, c as createEvent, h, F as Fragment, g as getElem
2
2
  import { c as clsx } from './clsx.m-071989db.js';
3
3
  import { d as debounce_1 } from './index-f2bf58ce.js';
4
4
 
5
- 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}";
5
+ 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}";
6
6
 
7
7
  const minDesktopViewportWidth = 992;
8
8
  let Header = class {
9
9
  constructor(hostRef) {
10
10
  registerInstance(this, hostRef);
11
- this.headerClick = createEvent(this, "headerClick", 7);
11
+ this.dsoHeaderClick = createEvent(this, "dsoHeaderClick", 7);
12
12
  this.mainMenu = [];
13
13
  this.useDropDownMenu = "auto";
14
14
  /** Used to show the login/logout option. 'none' renders nothing. */
15
15
  this.authStatus = 'none';
16
- this.showDropDown = false;
17
16
  this.hasSubLogo = false;
18
17
  this.overflowMenuItems = 0;
19
18
  this.onWindowResize = debounce_1(() => {
@@ -26,7 +25,7 @@ let Header = class {
26
25
  }
27
26
  clickHandler(e, type, options) {
28
27
  var _a, _b;
29
- this.headerClick.emit({
28
+ this.dsoHeaderClick.emit({
30
29
  originalEvent: e,
31
30
  isModifiedEvent: e.button !== 0 || e.ctrlKey || e.shiftKey || e.altKey || e.metaKey,
32
31
  type,
@@ -35,7 +34,7 @@ let Header = class {
35
34
  });
36
35
  }
37
36
  ;
38
- watchUseDropDownMenu(value) {
37
+ setShowDropDown(value) {
39
38
  if (value === "auto") {
40
39
  this.setDropDownMenu();
41
40
  return;
@@ -63,6 +62,9 @@ let Header = class {
63
62
  }
64
63
  window.setTimeout(() => this.shrinkMenuToFit(), 0);
65
64
  }
65
+ componentDidLoad() {
66
+ this.setShowDropDown(this.useDropDownMenu);
67
+ }
66
68
  setOverflowMenu() {
67
69
  if (this.showDropDown) {
68
70
  return;
@@ -86,6 +88,10 @@ let Header = class {
86
88
  window.removeEventListener("resize", this.onWindowResize);
87
89
  }
88
90
  render() {
91
+ // Prevent 'flickering' when useDropDownMenu = 'always'
92
+ if (this.showDropDown === undefined) {
93
+ return;
94
+ }
89
95
  return (h(Fragment, null, h("div", { class: clsx("dso-header", {
90
96
  ["use-drop-down"]: this.showDropDown,
91
97
  ["has-sub-logo"]: this.hasSubLogo,
@@ -109,7 +115,7 @@ let Header = class {
109
115
  }
110
116
  get host() { return getElement(this); }
111
117
  static get watchers() { return {
112
- "useDropDownMenu": ["watchUseDropDownMenu"]
118
+ "useDropDownMenu": ["setShowDropDown"]
113
119
  }; }
114
120
  };
115
121
  Header.style = headerCss;
@@ -3,7 +3,7 @@ import { d as debounce_1 } from './index-f2bf58ce.js';
3
3
  import { c as createFocusTrap } from './focus-trap.esm-a01ad6c9.js';
4
4
  import './index.esm-45465af7.js';
5
5
 
6
- 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}";
6
+ 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}";
7
7
 
8
8
  let ImageOverlay = class {
9
9
  constructor(hostRef) {
@@ -6,7 +6,7 @@ const infoButtonCss = ":host{display:inline-block;--di-info:url(\"data:image/svg
6
6
  let InfoButton = class {
7
7
  constructor(hostRef) {
8
8
  registerInstance(this, hostRef);
9
- this.toggle = createEvent(this, "toggle", 7);
9
+ this.dsoToggle = createEvent(this, "dsoToggle", 7);
10
10
  this.label = 'Toelichting bij optie';
11
11
  }
12
12
  async setFocus() {
@@ -15,7 +15,7 @@ let InfoButton = class {
15
15
  }
16
16
  handleToggle(e) {
17
17
  this.active = !this.active;
18
- this.toggle.emit({ originalEvent: e, active: this.active });
18
+ this.dsoToggle.emit({ originalEvent: e, active: this.active });
19
19
  }
20
20
  render() {
21
21
  return (h("button", { type: "button", class: 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) }, h("span", { class: "sr-only" }, this.label)));