ixbrl-viewer 1.4.1__py3-none-any.whl → 1.4.86__py3-none-any.whl

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 (190) hide show
  1. iXBRLViewerPlugin/__init__.py +231 -127
  2. iXBRLViewerPlugin/_version.py +33 -3
  3. iXBRLViewerPlugin/constants.py +96 -2
  4. iXBRLViewerPlugin/featureConfig.py +8 -1
  5. iXBRLViewerPlugin/iXBRLViewer.py +356 -214
  6. iXBRLViewerPlugin/plugin.py +12 -0
  7. iXBRLViewerPlugin/ui.py +81 -50
  8. iXBRLViewerPlugin/viewer/dist/ixbrlviewer.js +1 -1
  9. iXBRLViewerPlugin/viewer/dist/ixbrlviewer.js.LICENSE.txt +12 -5
  10. iXBRLViewerPlugin/viewer/i18next-parser.config.js +1 -1
  11. iXBRLViewerPlugin/viewer/src/data/utr.json +1244 -0
  12. iXBRLViewerPlugin/viewer/src/html/fact-details.html +69 -38
  13. iXBRLViewerPlugin/viewer/src/html/footer-logo.html +4 -0
  14. iXBRLViewerPlugin/viewer/src/html/footnote-details.html +2 -2
  15. iXBRLViewerPlugin/viewer/src/html/inspector.html +352 -197
  16. iXBRLViewerPlugin/viewer/src/i18n/cy/balancetypes.json +1 -0
  17. iXBRLViewerPlugin/viewer/src/i18n/cy/currencies.json +13 -0
  18. iXBRLViewerPlugin/viewer/src/i18n/cy/datatypes.json +9 -0
  19. iXBRLViewerPlugin/viewer/src/i18n/cy/labelroles.json +24 -0
  20. iXBRLViewerPlugin/viewer/src/i18n/cy/referenceparts.json +10 -0
  21. iXBRLViewerPlugin/viewer/src/i18n/cy/scale.json +16 -0
  22. iXBRLViewerPlugin/viewer/src/i18n/cy/tooltips.json +17 -0
  23. iXBRLViewerPlugin/viewer/src/i18n/cy/translation.json +179 -0
  24. iXBRLViewerPlugin/viewer/src/i18n/da/balancetypes.json +4 -0
  25. iXBRLViewerPlugin/viewer/src/i18n/da/currencies.json +13 -0
  26. iXBRLViewerPlugin/viewer/src/i18n/da/datatypes.json +9 -0
  27. iXBRLViewerPlugin/viewer/src/i18n/da/labelroles.json +24 -0
  28. iXBRLViewerPlugin/viewer/src/i18n/da/referenceparts.json +10 -0
  29. iXBRLViewerPlugin/viewer/src/i18n/da/scale.json +15 -0
  30. iXBRLViewerPlugin/viewer/src/i18n/da/tooltips.json +17 -0
  31. iXBRLViewerPlugin/viewer/src/i18n/da/translation.json +179 -0
  32. iXBRLViewerPlugin/viewer/src/i18n/de/balancetypes.json +4 -0
  33. iXBRLViewerPlugin/viewer/src/i18n/de/currencies.json +13 -0
  34. iXBRLViewerPlugin/viewer/src/i18n/de/datatypes.json +9 -0
  35. iXBRLViewerPlugin/viewer/src/i18n/de/labelroles.json +24 -0
  36. iXBRLViewerPlugin/viewer/src/i18n/de/referenceparts.json +10 -0
  37. iXBRLViewerPlugin/viewer/src/i18n/de/scale.json +15 -0
  38. iXBRLViewerPlugin/viewer/src/i18n/de/tooltips.json +17 -0
  39. iXBRLViewerPlugin/viewer/src/i18n/de/translation.json +179 -0
  40. iXBRLViewerPlugin/viewer/src/i18n/en/balancetypes.json +4 -0
  41. iXBRLViewerPlugin/viewer/src/i18n/en/datatypes.json +10 -0
  42. iXBRLViewerPlugin/viewer/src/i18n/en/labelroles.json +4 -0
  43. iXBRLViewerPlugin/viewer/src/i18n/en/scale.json +16 -0
  44. iXBRLViewerPlugin/viewer/src/i18n/en/tooltips.json +17 -0
  45. iXBRLViewerPlugin/viewer/src/i18n/en/translation.json +73 -23
  46. iXBRLViewerPlugin/viewer/src/i18n/es/balancetypes.json +4 -0
  47. iXBRLViewerPlugin/viewer/src/i18n/es/datatypes.json +10 -0
  48. iXBRLViewerPlugin/viewer/src/i18n/es/labelroles.json +24 -0
  49. iXBRLViewerPlugin/viewer/src/i18n/es/scale.json +16 -0
  50. iXBRLViewerPlugin/viewer/src/i18n/es/tooltips.json +17 -0
  51. iXBRLViewerPlugin/viewer/src/i18n/es/translation.json +87 -37
  52. iXBRLViewerPlugin/viewer/src/i18n/fr/balancetypes.json +4 -0
  53. iXBRLViewerPlugin/viewer/src/i18n/fr/currencies.json +13 -0
  54. iXBRLViewerPlugin/viewer/src/i18n/fr/datatypes.json +9 -0
  55. iXBRLViewerPlugin/viewer/src/i18n/fr/labelroles.json +24 -0
  56. iXBRLViewerPlugin/viewer/src/i18n/fr/referenceparts.json +10 -0
  57. iXBRLViewerPlugin/viewer/src/i18n/fr/scale.json +15 -0
  58. iXBRLViewerPlugin/viewer/src/i18n/fr/tooltips.json +17 -0
  59. iXBRLViewerPlugin/viewer/src/i18n/fr/translation.json +179 -0
  60. iXBRLViewerPlugin/viewer/src/i18n/nl/balancetypes.json +4 -0
  61. iXBRLViewerPlugin/viewer/src/i18n/nl/currencies.json +13 -0
  62. iXBRLViewerPlugin/viewer/src/i18n/nl/datatypes.json +9 -0
  63. iXBRLViewerPlugin/viewer/src/i18n/nl/labelroles.json +24 -0
  64. iXBRLViewerPlugin/viewer/src/i18n/nl/referenceparts.json +10 -0
  65. iXBRLViewerPlugin/viewer/src/i18n/nl/scale.json +15 -0
  66. iXBRLViewerPlugin/viewer/src/i18n/nl/tooltips.json +17 -0
  67. iXBRLViewerPlugin/viewer/src/i18n/nl/translation.json +179 -0
  68. iXBRLViewerPlugin/viewer/src/i18n/uk/balancetypes.json +4 -0
  69. iXBRLViewerPlugin/viewer/src/i18n/uk/currencies.json +13 -0
  70. iXBRLViewerPlugin/viewer/src/i18n/uk/datatypes.json +9 -0
  71. iXBRLViewerPlugin/viewer/src/i18n/uk/labelroles.json +24 -0
  72. iXBRLViewerPlugin/viewer/src/i18n/uk/referenceparts.json +10 -0
  73. iXBRLViewerPlugin/viewer/src/i18n/uk/scale.json +15 -0
  74. iXBRLViewerPlugin/viewer/src/i18n/uk/tooltips.json +17 -0
  75. iXBRLViewerPlugin/viewer/src/i18n/uk/translation.json +179 -0
  76. iXBRLViewerPlugin/viewer/src/icons/calculator.svg +13 -0
  77. iXBRLViewerPlugin/viewer/src/icons/circle-cross.svg +11 -0
  78. iXBRLViewerPlugin/viewer/src/icons/circle-tick.svg +11 -0
  79. iXBRLViewerPlugin/viewer/src/icons/dark-mode.svg +4 -0
  80. iXBRLViewerPlugin/viewer/src/icons/dimension.svg +1 -5
  81. iXBRLViewerPlugin/viewer/src/icons/member.svg +2 -5
  82. iXBRLViewerPlugin/viewer/src/icons/multi-tag.svg +10 -0
  83. iXBRLViewerPlugin/viewer/src/img/arelle-dark.svg +179 -0
  84. iXBRLViewerPlugin/viewer/src/img/inline-viewer-dark.svg +59 -0
  85. iXBRLViewerPlugin/viewer/src/js/accordian.js +5 -4
  86. iXBRLViewerPlugin/viewer/src/js/aspect.js +29 -10
  87. iXBRLViewerPlugin/viewer/src/js/aspect.test.js +40 -31
  88. iXBRLViewerPlugin/viewer/src/js/balance.js +14 -0
  89. iXBRLViewerPlugin/viewer/src/js/calculation.js +213 -0
  90. iXBRLViewerPlugin/viewer/src/js/calculation.test.js +306 -0
  91. iXBRLViewerPlugin/viewer/src/js/calculationInspector.js +187 -0
  92. iXBRLViewerPlugin/viewer/src/js/chart.js +26 -24
  93. iXBRLViewerPlugin/viewer/src/js/chart.test.js +10 -9
  94. iXBRLViewerPlugin/viewer/src/js/concept.js +37 -4
  95. iXBRLViewerPlugin/viewer/src/js/concept.test.js +30 -6
  96. iXBRLViewerPlugin/viewer/src/js/datatype.js +20 -0
  97. iXBRLViewerPlugin/viewer/src/js/datatype.test.js +62 -0
  98. iXBRLViewerPlugin/viewer/src/js/dialog.js +6 -4
  99. iXBRLViewerPlugin/viewer/src/js/docOrderIndex.js +7 -7
  100. iXBRLViewerPlugin/viewer/src/js/fact.js +156 -59
  101. iXBRLViewerPlugin/viewer/src/js/fact.test.js +160 -29
  102. iXBRLViewerPlugin/viewer/src/js/factset.js +64 -15
  103. iXBRLViewerPlugin/viewer/src/js/factset.test.js +102 -31
  104. iXBRLViewerPlugin/viewer/src/js/footnote.js +8 -2
  105. iXBRLViewerPlugin/viewer/src/js/index.js +11 -3
  106. iXBRLViewerPlugin/viewer/src/js/inspector.js +747 -221
  107. iXBRLViewerPlugin/viewer/src/js/inspector.test.js +143 -25
  108. iXBRLViewerPlugin/viewer/src/js/interval.js +70 -0
  109. iXBRLViewerPlugin/viewer/src/js/interval.test.js +153 -0
  110. iXBRLViewerPlugin/viewer/src/js/ixbrlviewer.js +391 -262
  111. iXBRLViewerPlugin/viewer/src/js/ixbrlviewer.test.js +134 -20
  112. iXBRLViewerPlugin/viewer/src/js/ixnode.js +1 -1
  113. iXBRLViewerPlugin/viewer/src/js/menu.js +25 -7
  114. iXBRLViewerPlugin/viewer/src/js/number-matcher.js +7 -3
  115. iXBRLViewerPlugin/viewer/src/js/number-matcher.test.js +4 -0
  116. iXBRLViewerPlugin/viewer/src/js/outline.js +34 -13
  117. iXBRLViewerPlugin/viewer/src/js/outline.test.js +97 -91
  118. iXBRLViewerPlugin/viewer/src/js/period.js +0 -1
  119. iXBRLViewerPlugin/viewer/src/js/report.js +260 -351
  120. iXBRLViewerPlugin/viewer/src/js/report.test.js +95 -27
  121. iXBRLViewerPlugin/viewer/src/js/reportset.js +264 -0
  122. iXBRLViewerPlugin/viewer/src/js/reportset.test.js +357 -0
  123. iXBRLViewerPlugin/viewer/src/js/search.js +72 -38
  124. iXBRLViewerPlugin/viewer/src/js/search.test.js +184 -84
  125. iXBRLViewerPlugin/viewer/src/js/summary.js +34 -8
  126. iXBRLViewerPlugin/viewer/src/js/summary.test.js +69 -25
  127. iXBRLViewerPlugin/viewer/src/js/tableExport.js +9 -9
  128. iXBRLViewerPlugin/viewer/src/js/taxonomynamer.js +34 -0
  129. iXBRLViewerPlugin/viewer/src/js/taxonomynamer.test.js +32 -0
  130. iXBRLViewerPlugin/viewer/src/js/test-utils.js +46 -0
  131. iXBRLViewerPlugin/viewer/src/js/theme.js +50 -0
  132. iXBRLViewerPlugin/viewer/src/js/unit.js +90 -32
  133. iXBRLViewerPlugin/viewer/src/js/unit.test.js +62 -25
  134. iXBRLViewerPlugin/viewer/src/js/util.js +94 -0
  135. iXBRLViewerPlugin/viewer/src/js/util.test.js +33 -1
  136. iXBRLViewerPlugin/viewer/src/js/utr.js +27 -0
  137. iXBRLViewerPlugin/viewer/src/js/viewer.js +205 -181
  138. iXBRLViewerPlugin/viewer/src/js/viewerOptions.js +0 -2
  139. iXBRLViewerPlugin/viewer/src/less/accordian.less +10 -6
  140. iXBRLViewerPlugin/viewer/src/less/block-list.less +16 -5
  141. iXBRLViewerPlugin/viewer/src/less/calculation-inspector.less +83 -0
  142. iXBRLViewerPlugin/viewer/src/less/chart.less +8 -5
  143. iXBRLViewerPlugin/viewer/src/less/colours-dark-mode.less +40 -0
  144. iXBRLViewerPlugin/viewer/src/less/colours.less +32 -20
  145. iXBRLViewerPlugin/viewer/src/less/common.less +3 -3
  146. iXBRLViewerPlugin/viewer/src/less/components.less +6 -4
  147. iXBRLViewerPlugin/viewer/src/less/core.less +2 -0
  148. iXBRLViewerPlugin/viewer/src/less/dialog.less +21 -14
  149. iXBRLViewerPlugin/viewer/src/less/form-controls.less +33 -11
  150. iXBRLViewerPlugin/viewer/src/less/inspector.less +1045 -726
  151. iXBRLViewerPlugin/viewer/src/less/loader.less +2 -2
  152. iXBRLViewerPlugin/viewer/src/less/menu.less +33 -15
  153. iXBRLViewerPlugin/viewer/src/less/summary.less +16 -6
  154. iXBRLViewerPlugin/viewer/src/less/tabs.less +9 -9
  155. iXBRLViewerPlugin/viewer/src/less/text-block-viewer.less +2 -0
  156. iXBRLViewerPlugin/viewer/src/less/text-mixins.less +2 -1
  157. iXBRLViewerPlugin/viewer/src/less/validation-report.less +2 -3
  158. iXBRLViewerPlugin/viewer/src/less/viewer.less +105 -74
  159. iXBRLViewerPlugin/viewer/webpack.common.js +19 -9
  160. iXBRLViewerPlugin/xhtmlserialize.py +59 -45
  161. {ixbrl_viewer-1.4.1.dist-info → ixbrl_viewer-1.4.86.dist-info}/METADATA +181 -50
  162. ixbrl_viewer-1.4.86.dist-info/RECORD +217 -0
  163. {ixbrl_viewer-1.4.1.dist-info → ixbrl_viewer-1.4.86.dist-info}/WHEEL +1 -1
  164. ixbrl_viewer-1.4.1.dist-info/LICENSE → ixbrl_viewer-1.4.86.dist-info/licenses/LICENSE.md +8 -14
  165. {ixbrl_viewer-1.4.1.dist-info → ixbrl_viewer-1.4.86.dist-info}/top_level.txt +0 -1
  166. iXBRLViewerPlugin/viewer/src/js/calculations.js +0 -111
  167. iXBRLViewerPlugin/viewer/src/js/interact.min.js +0 -6
  168. ixbrl_viewer-1.4.1.dist-info/RECORD +0 -155
  169. tests/__init__.py +0 -0
  170. tests/puppeteer/framework/core_elements.js +0 -117
  171. tests/puppeteer/framework/page_objects/doc_frame.js +0 -105
  172. tests/puppeteer/framework/page_objects/fact_details_panel.js +0 -80
  173. tests/puppeteer/framework/page_objects/search_panel.js +0 -76
  174. tests/puppeteer/framework/page_objects/toolbar.js +0 -18
  175. tests/puppeteer/framework/utils.js +0 -3
  176. tests/puppeteer/framework/viewer_page.js +0 -103
  177. tests/puppeteer/puppeteer_test_run_via_intellij.jpg +0 -0
  178. tests/puppeteer/test_filings/filing_documents_smoke_test.zip +0 -0
  179. tests/puppeteer/test_filings/highlights.zip +0 -0
  180. tests/puppeteer/tests/fact_properties.test.js +0 -78
  181. tests/puppeteer/tests/highlight.test.js +0 -186
  182. tests/puppeteer/tests/search.test.js +0 -86
  183. tests/puppeteer/tools/generate.sh +0 -15
  184. tests/unit_tests/__init__.py +0 -0
  185. tests/unit_tests/iXBRLViewerPlugin/__init__.py +0 -0
  186. tests/unit_tests/iXBRLViewerPlugin/mock_arelle.py +0 -39
  187. tests/unit_tests/iXBRLViewerPlugin/test_iXBRLViewer.py +0 -641
  188. tests/unit_tests/iXBRLViewerPlugin/test_xhtmlserialize.py +0 -310
  189. {ixbrl_viewer-1.4.1.dist-info → ixbrl_viewer-1.4.86.dist-info}/entry_points.txt +0 -0
  190. {ixbrl_viewer-1.4.1.dist-info → ixbrl_viewer-1.4.86.dist-info/licenses}/NOTICE +0 -0
@@ -3,6 +3,7 @@
3
3
  @import url("core.less");
4
4
  @import url("fonts.less");
5
5
  @import url("colours.less");
6
+ @import url("colours-dark-mode.less");
6
7
  @import url("common.less");
7
8
  @import (reference) "components.less";
8
9
  @import url("form-controls.less");
@@ -15,522 +16,652 @@
15
16
  @import (reference) "text-mixins.less";
16
17
  @import url("block-list.less");
17
18
  @import url("validation-report.less");
19
+ @import url("calculation-inspector.less");
18
20
  @import url("text-block-viewer.less");
19
21
  @import url("summary.less");
20
22
 
21
23
  @top-bar-height: 3.5rem;
22
24
 
23
- #ixv {
24
- /* Specify these here, not on body in case the iXBRL document has its own
25
- * style attribute */
26
- &,
27
- table {
28
- .default-font();
29
- .text-md();
25
+ :root {
26
+ --colour-bg-selected: @colour-bg-selected;
27
+ --colour-bg-tag: @colour-bg-tag;
28
+ --colour-bg: @colour-bg;
29
+ --colour-bg-fade: @colour-bg-fade;
30
+ --colour-border-grey: @colour-border-grey;
31
+ --colour-button-bg: @colour-button-bg;
32
+ --colour-button-primary-bg: @colour-button-primary-bg;
33
+ --colour-button-primary-border: @colour-button-primary-border;
34
+ --colour-foreground: @colour-foreground;
35
+ --colour-highlight-1: @colour-highlight-1;
36
+ --colour-highlight-2: @colour-highlight-2;
37
+ --colour-highlight-3: @colour-highlight-3;
38
+ --colour-highlight-4: @colour-highlight-4;
39
+ --colour-highlight-5: @colour-highlight-5;
40
+ --colour-highlight-default: @colour-highlight-default;
41
+ --colour-icon-grey: @colour-icon-grey;
42
+ --colour-linked-fact: @colour-linked-fact;
43
+ --colour-loader: @colour-loader;
44
+ --colour-primary-focus: @colour-primary-focus;
45
+ --colour-primary: @colour-primary;
46
+ --colour-related-fact: @colour-related-fact;
47
+ --colour-row-odd: @colour-row-odd;
48
+ --colour-row-hover: @colour-row-hover;
49
+ --colour-text-form-value: @colour-text-form-value;
50
+ --colour-text-light: @colour-text-light;
51
+ --colour-text-title: @colour-text-title;
52
+ --colour-text: @colour-text;
53
+ --colour-warning: @colour-warning;
54
+ --top-bar-height: @top-bar-height;
55
+
56
+ .only-dark {
57
+ display: none;
30
58
  }
59
+ }
31
60
 
32
- #ixv-progress {
33
- position: fixed;
34
- top: 20px;
35
- left: 20px;
36
- width: 500px;
37
- height: 200px;
38
- background-color: #fff;
39
- border: solid #000 1px;
40
- text-align: center;
61
+ :root[data-ixbrl-viewer-theme="dark"] {
62
+ --colour-bg-selected: @colour-bg-selected-d;
63
+ --colour-bg-tag: @colour-bg-tag-d;
64
+ --colour-bg: @colour-bg-d;
65
+ --colour-bg-fade: @colour-bg-fade-d;
66
+ --colour-border-grey: @colour-border-grey-d;
67
+ --colour-button-bg: @colour-button-bg-d;
68
+ --colour-button-primary-bg: @colour-button-primary-bg-d;
69
+ --colour-button-primary-border: @colour-button-primary-border-d;
70
+ --colour-foreground: @colour-foreground-d;
71
+ --colour-highlight-1: @colour-highlight-1-d;
72
+ --colour-highlight-2: @colour-highlight-2-d;
73
+ --colour-highlight-default: @colour-highlight-default-d;
74
+ --colour-icon-grey: @colour-icon-grey-d;
75
+ --colour-linked-fact: @colour-linked-fact-d;
76
+ --colour-loader: @colour-loader-d;
77
+ --colour-primary-focus: @colour-primary-focus-d;
78
+ --colour-primary: @colour-primary-d;
79
+ --colour-related-fact: @colour-related-fact-d;
80
+ --colour-row-odd: @colour-row-odd-d;
81
+ --colour-row-hover: @colour-row-hover-d;
82
+ --colour-text-form-value: @colour-text-form-value-d;
83
+ --colour-text-light: @colour-text-light-d;
84
+ --colour-text-title: @colour-text-title-d;
85
+ --colour-text: @colour-text-d;
86
+ --colour-warning: @colour-warning-d;
87
+ --top-bar-height: @top-bar-height;
88
+
89
+ .only-dark {
90
+ display: initial;
41
91
  }
42
92
 
43
- #viewer-pane {
44
- width: 75%;
45
- box-sizing: border-box;
46
- position: fixed;
47
- left: 0;
48
- top: @top-bar-height;
49
- bottom: 0;
50
- z-index: 0;
51
- display: flex;
52
- flex-flow: column;
93
+ .only-light {
94
+ display: none;
95
+ }
96
+ }
53
97
 
54
- .ixds-tabs {
55
- display: none;
56
- flex: 0 1 auto;
57
- }
98
+ body,
99
+ table,
100
+ dialog,
101
+ button {
102
+ .default-font();
103
+ .text-md();
104
+ }
58
105
 
59
- #iframe-container {
60
- position: relative;
61
- flex: 1 1 auto;
106
+ a {
107
+ text-decoration: none;
108
+ color: var(--colour-primary);
62
109
 
63
- & > iframe {
64
- width: 100%;
65
- height: 100%;
66
- box-sizing: border-box;
67
- border: none;
68
- }
110
+ &:hover {
111
+ text-decoration: underline;
112
+ }
113
+ }
69
114
 
70
- .zoom-in,
71
- .zoom-out,
72
- .print {
73
- position: absolute;
74
- right: 30px;
75
- width: 20px;
76
- height: 20px;
77
- border: solid 1px #bbb;
78
- background-color: rgb(225 225 225 / 70%);
79
- justify-content: center;
80
- display: flex;
81
- align-items: center;
82
- color: #777;
83
- cursor: pointer;
84
- user-select: none;
85
- }
115
+ #ixv-progress {
116
+ position: fixed;
117
+ top: 20px;
118
+ left: 20px;
119
+ width: 500px;
120
+ height: 200px;
121
+ background-color: var(--colour-bg);
122
+ border: solid #000 1px;
123
+ text-align: center;
124
+ }
86
125
 
87
- .zoom-in {
88
- top: 15px;
89
- }
126
+ #viewer-pane {
127
+ width: 75%;
128
+ box-sizing: border-box;
129
+ position: fixed;
130
+ left: 0;
131
+ top: var(--top-bar-height);
132
+ bottom: 0;
133
+ z-index: 1;
134
+ display: flex;
135
+ flex-flow: column;
136
+
137
+ .ixds-tabs {
138
+ display: none;
139
+ flex: 0 1 auto;
140
+ }
90
141
 
91
- .zoom-out {
92
- top: 40px;
93
- }
142
+ #iframe-container {
143
+ background-color:white;
144
+ color:black;
145
+ position: relative;
146
+ flex: 1 1 auto;
94
147
 
95
- .print {
96
- top: 75px;
148
+ & > iframe {
149
+ width: 100%;
150
+ height: 100%;
151
+ box-sizing: border-box;
152
+ border: none;
153
+ }
97
154
 
98
- &::after {
99
- .icon-print();
155
+ .zoom-in,
156
+ .zoom-out,
157
+ .print {
158
+ position: absolute;
159
+ right: 30px;
160
+ width: 20px;
161
+ height: 20px;
162
+ border: solid 1px #bbb;
163
+ background-color: rgb(225 225 225 / 70%);
164
+ justify-content: center;
165
+ display: flex;
166
+ align-items: center;
167
+ color: #777;
168
+ cursor: pointer;
169
+ user-select: none;
170
+ }
100
171
 
101
- font-size: 20px;
102
- }
103
- }
172
+ .zoom-in {
173
+ top: 15px;
174
+ }
104
175
 
105
- .zoom-in:hover,
106
- .zoom-out:hover,
107
- .print:hover {
108
- background-color: rgb(128 128 128 / 70%);
109
- }
176
+ .zoom-out {
177
+ top: 40px;
110
178
  }
111
179
 
112
- .resize {
113
- position: absolute;
114
- top: 0;
115
- width: 5px;
116
- right: -5px;
117
- bottom: 0;
118
- z-index: 20;
180
+ .print {
181
+ top: 75px;
182
+
183
+ &::after {
184
+ .icon-print();
185
+
186
+ font-size: 20px;
187
+ }
119
188
  }
120
189
 
121
- /* This spacer stops drag events getting lost to the iframe */
122
- .resize-spacer {
123
- position: absolute;
124
- top: 0;
125
- width: 3px;
126
- right: 0;
127
- bottom: 0;
128
- z-index: 20;
190
+ .zoom-in:hover,
191
+ .zoom-out:hover,
192
+ .print:hover {
193
+ background-color: rgb(128 128 128 / 70%);
129
194
  }
130
195
  }
131
196
 
132
- #top-bar {
133
- .default-font();
134
- .text-md();
197
+ .resize {
198
+ position: absolute;
199
+ top: 0;
200
+ width: 5px;
201
+ right: -5px;
202
+ bottom: 0;
203
+ z-index: 20;
204
+ }
135
205
 
136
- color: @text;
137
- position: fixed;
206
+ /* This spacer stops drag events getting lost to the iframe */
207
+ .resize-spacer {
208
+ position: absolute;
138
209
  top: 0;
139
- left: 0;
210
+ width: 3px;
140
211
  right: 0;
141
- height: @top-bar-height;
142
- border-bottom: solid 1px #ccc;
143
- z-index: 5;
212
+ bottom: 0;
213
+ z-index: 20;
214
+ }
215
+ }
144
216
 
145
- .header {
146
- position: absolute;
147
- top: 0;
148
- left: 0;
149
- bottom: 0;
150
- height: 100%;
151
- }
217
+ #top-bar {
218
+ .default-font();
219
+ .text-md();
220
+
221
+ display: flex;
222
+ align-items: center;
223
+ color: var(--colour-text);
224
+ position: fixed;
225
+ top: 0;
226
+ left: 0;
227
+ right: 0;
228
+ height: var(--top-bar-height);
229
+ border-bottom: solid 1px #ccc;
230
+ z-index: 5;
231
+
232
+ #home-link {
233
+ font-size: 2.2rem;
234
+ font-weight: bold;
235
+ margin-left: 1rem;
236
+ margin-right: 1rem;
237
+ }
152
238
 
153
- .document-title {
154
- position: absolute;
155
- box-sizing: border-box;
156
- left: 160px;
157
- top: 0;
158
- padding-right: 1.6rem;
159
- padding-top: 1.3rem;
160
- border-right: solid 0.1rem #ccc;
161
- height: @top-bar-height;
162
- overflow: hidden;
163
- }
239
+ .header {
240
+ height: 100%;
241
+ }
164
242
 
165
- .top-bar-controls {
166
- position: absolute;
167
- right: 1.8rem;
168
- top: 0;
169
- line-height: @top-bar-height;
243
+ .document-title {
244
+ box-sizing: border-box;
245
+ padding-right: 1.6rem;
246
+ line-height: var(--top-bar-height);
247
+ border-right: solid 0.1rem #ccc;
248
+ height: var(--top-bar-height);
249
+ overflow: hidden;
250
+ font-size: inherit;
251
+ font-weight: inherit;
252
+ margin: 0;
253
+ }
254
+
255
+ .top-bar-controls {
256
+ position: absolute;
257
+ display: flex;
258
+ right: 0;
259
+ top: 0;
260
+ line-height: var(--top-bar-height);
261
+ height: var(--top-bar-height);
262
+ background: var(--colour-bg);
263
+ padding-left: 1.8rem;
264
+
265
+ & > * {
266
+ margin-right: 0.8rem;
267
+ }
170
268
 
269
+ .horizontal-menu {
171
270
  * {
172
271
  vertical-align: middle;
173
272
  }
174
273
 
175
- .content {
176
- input {
177
- position: relative;
178
- top: -0.1rem;
179
- margin-right: 0.6rem;
180
- }
274
+ .content > * {
275
+ position: relative;
276
+ top: -0.1rem;
277
+ margin-right: 0.6rem;
181
278
  }
279
+ }
182
280
 
183
- .highlight-key {
184
- margin-left: 0.6rem;
185
- margin-right: 1.5rem;
186
- position: relative;
187
281
 
188
- &::before {
189
- .icon-question();
282
+ .highlight-key {
283
+ margin-left: 0.6rem;
284
+ margin-right: 1.5rem;
285
+ position: relative;
190
286
 
191
- font-size: 1.6rem;
192
- }
287
+ &::before {
288
+ .icon-question();
193
289
 
194
- .popup-content {
290
+ font-size: 1.6rem;
291
+ }
292
+
293
+ .popup-content {
294
+ position: absolute;
295
+ top: 3.2rem;
296
+ left: -2rem;
297
+ background: white;
298
+ color: black;
299
+ border: solid 1px black;
300
+ border-radius: 0.3rem;
301
+ line-height: 1.6rem;
302
+
303
+ .arrow {
195
304
  position: absolute;
196
- top: 3.2rem;
197
- left: -2rem;
198
- background: #fff;
199
- border: solid 1px @text;
200
- border-radius: 0.3rem;
201
- line-height: 1.6rem;
202
-
203
- .arrow {
204
- position: absolute;
205
- top: 0;
206
- left: 1.1rem;
207
- width: 1.5rem;
208
- height: 1.5rem;
209
- border-top: solid 0.1rem @text;
210
- border-left: solid 0.1rem @text;
211
- transform: translate(50%, -50%) rotate(45deg);
212
- background: #fff;
305
+ top: 0;
306
+ left: 1.1rem;
307
+ width: 1.5rem;
308
+ height: 1.5rem;
309
+ border-top: solid 0.1rem black;
310
+ border-left: solid 0.1rem black;
311
+ transform: translate(50%, -50%) rotate(45deg);
312
+ background: white;
313
+ }
314
+
315
+ .item {
316
+ white-space: nowrap;
317
+ margin: 1rem;
318
+ position: relative;
319
+
320
+ .sample {
321
+ display: inline-block;
322
+ width: 3.2rem;
323
+ height: 1.6rem;
324
+ margin-right: 1rem;
213
325
  }
214
326
 
215
- .item {
216
- white-space: nowrap;
217
- margin: 1rem;
218
- position: relative;
219
-
220
- .sample {
221
- display: inline-block;
222
- width: 3.2rem;
223
- height: 1.6rem;
224
- margin-right: 1rem;
225
- }
327
+ .sample-0 {
328
+ background: var(--colour-highlight-default);
329
+ }
226
330
 
227
- .sample-0 {
228
- background: @highlight-default;
229
- }
331
+ .sample-1 {
332
+ background: var(--colour-highlight-1);
333
+ }
230
334
 
231
- .sample-1 {
232
- background: @highlight-1;
233
- }
335
+ .sample-2 {
336
+ background: var(--colour-highlight-2);
337
+ }
234
338
 
235
- .sample-2 {
236
- background: @highlight-2;
237
- }
339
+ .sample-3 {
340
+ background: var(--colour-highlight-3);
238
341
  }
239
- }
240
- }
241
342
 
242
- .validation-warning {
243
- margin-left: 0.5rem;
244
- font-size: 1.6rem;
245
- display: none;
246
- cursor: pointer;
343
+ .sample-4 {
344
+ background: var(--colour-highlight-4);
345
+ }
247
346
 
248
- &::before {
249
- .icon-warning();
347
+ .sample-5 {
348
+ background: var(--colour-highlight-5);
349
+ }
250
350
  }
251
351
  }
252
352
  }
253
- }
254
353
 
255
- #inspector {
256
- display: flex;
257
- flex-direction: column;
354
+ .validation-warning {
355
+ margin-left: 0.5rem;
356
+ font-size: 1.6rem;
357
+ display: none;
358
+ cursor: pointer;
258
359
 
259
- h1,
260
- h2,
261
- h3 {
262
- font-weight: normal;
263
- border-bottom: solid 1px @border-grey;
264
- width: 100%;
265
- box-sizing: border-box;
266
- padding-bottom: 5px;
267
- color: @text-title;
360
+ &::before {
361
+ .icon-warning();
362
+ }
268
363
  }
269
364
 
270
- h2 {
271
- text-align: center;
272
- }
365
+ #toggle-dark-mode {
366
+ border: none;
273
367
 
274
- h3 {
275
- .text-md();
276
- }
368
+ &::before {
369
+ .icon-dark-mode();
277
370
 
278
- h4 {
279
- font-weight: bold;
280
- color: @text-title;
281
- margin-bottom: 1.4em;
371
+ cursor: pointer;
372
+ }
282
373
  }
283
374
 
284
- #inspector-head {
285
- padding: 0;
286
- position: relative;
287
- border-bottom: solid 1px @border-grey;
375
+ .menu .menu-title::before {
376
+ .icon-cog();
288
377
 
289
- .title {
290
- text-align: center;
291
- position: relative;
292
- border-bottom: @simple-border;
378
+ font-size: 2rem;
379
+ }
380
+ }
381
+ }
293
382
 
294
- h1 {
295
- margin: 0.8rem 0;
296
- border: none;
297
- padding: 0;
298
- font-size: 1.8rem;
299
- line-height: 3.2rem;
300
- }
383
+ #inspector {
384
+ display: flex;
385
+ flex-direction: column;
301
386
 
302
- .back {
303
- .square-button-bare();
387
+ h1,
388
+ h2,
389
+ h3 {
390
+ font-weight: normal;
391
+ width: 100%;
392
+ box-sizing: border-box;
393
+ color: var(--colour-text-title);
394
+ }
304
395
 
305
- top: 0;
306
- left: 0;
307
- position: absolute;
396
+ h2 {
397
+ text-align: center;
398
+ font-size: 1.8rem;
399
+ line-height: 3.2rem;
400
+ margin: 0.8rem 0;
401
+ }
308
402
 
309
- &::before {
310
- .icon-chevron-left();
311
- }
312
- }
403
+ h3 {
404
+ .text-md();
405
+ }
313
406
 
314
- .menu {
315
- top: 0;
316
- right: 0;
317
- position: absolute;
407
+ h4 {
408
+ font-weight: bold;
409
+ color: var(--colour-text-title);
410
+ margin-bottom: 1.4em;
411
+ }
318
412
 
319
- .menu-title::before {
320
- .icon-cog();
413
+ #inspector-head {
414
+ padding: 0;
415
+ position: relative;
416
+ border-bottom: solid 1px var(--colour-border-grey);
321
417
 
322
- font-size: 2rem;
323
- }
324
- }
325
- }
418
+ .controls {
419
+ position: relative;
420
+ height: 3.2rem;
421
+ padding: 0.8rem 0.9rem;
422
+ display: flex;
326
423
 
327
- .controls {
328
- position: relative;
329
- height: 3.2rem;
424
+ & > * {
330
425
  margin: 0.8rem 0.9rem;
426
+ }
331
427
 
332
- .search-button {
333
- .square-button();
334
-
335
- position: absolute;
336
- top: 0;
337
- left: 7.7rem;
428
+ .search-button {
429
+ .square-button();
338
430
 
339
- &::before {
340
- .icon-search();
431
+ &::before {
432
+ .icon-search();
341
433
 
342
- position: relative;
343
- }
434
+ position: relative;
344
435
  }
436
+ }
345
437
 
346
- .outline-button {
347
- .square-button();
438
+ .outline-button {
439
+ .square-button();
348
440
 
349
- position: absolute;
350
- top: 0;
351
- left: 3.6rem;
441
+ &::before {
442
+ .icon-outline();
352
443
 
353
- &::before {
354
- .icon-outline();
444
+ position: relative;
445
+ }
446
+ }
355
447
 
356
- position: relative;
357
- }
448
+ .summary-button {
449
+ .square-button();
450
+
451
+ &::before {
452
+ .icon-summary();
453
+
454
+ position: relative;
358
455
  }
456
+ }
359
457
 
360
- .summary-button {
361
- .square-button();
458
+ .ixbrl-prev-tag {
459
+ .square-button();
362
460
 
363
- position: absolute;
364
- top: 0;
365
- left: 0;
461
+ margin-left: auto;
366
462
 
367
- &::before {
368
- .icon-summary();
463
+ &::before {
464
+ .icon-chevron-left();
465
+ }
466
+ }
369
467
 
370
- position: relative;
371
- }
468
+ .ixbrl-next-tag {
469
+ .square-button();
470
+
471
+ &::before {
472
+ .icon-chevron-right();
372
473
  }
474
+ }
475
+ }
476
+ }
373
477
 
374
- .next-prev {
375
- position: absolute;
376
- top: 0;
377
- right: 0;
478
+ .inspector-container {
479
+ flex-grow: 1;
480
+ overflow: hidden;
481
+ display: flex;
482
+ flex-direction: column;
378
483
 
379
- .ixbrl-next-tag,
380
- .ixbrl-prev-tag {
381
- .square-button();
484
+ .inspector-title {
485
+ text-align: center;
486
+ position: relative;
487
+ margin: 0.8rem 0;
382
488
 
383
- position: relative;
384
- display: inline-block;
385
- }
489
+ h2 {
490
+ margin: 0;
491
+ padding: 0;
492
+ }
386
493
 
387
- .ixbrl-next-tag::before {
388
- .icon-chevron-right();
389
- }
494
+ .back {
495
+ .square-button-bare();
390
496
 
391
- .ixbrl-prev-tag::before {
392
- .icon-chevron-left();
393
- }
497
+ top: 0;
498
+ left: 0.9rem;
499
+ position: absolute;
500
+
501
+ &::before {
502
+ .icon-chevron-left();
394
503
  }
395
504
  }
505
+ }
396
506
 
397
- .search-controls {
398
- margin: 0.8rem 0.9rem;
507
+ .search-controls {
508
+ margin: 0 0 0.8rem;
399
509
 
400
- .search-input {
401
- display: flex;
402
- padding: 0;
510
+ .search-input {
511
+ display: flex;
512
+ padding: 0 0.9rem;
403
513
 
404
- input#ixbrl-search {
405
- flex-grow: 1;
406
- margin-right: 1rem;
407
- }
514
+ input#ixbrl-search {
515
+ flex-grow: 1;
516
+ margin-right: 1rem;
517
+ }
408
518
 
409
- .filter-toggle {
410
- .square-button();
519
+ .filter-toggle {
520
+ .square-button();
411
521
 
412
- &::before {
413
- .icon-filter();
414
- }
522
+ &::before {
523
+ .icon-filter();
415
524
  }
416
525
  }
526
+ }
417
527
 
418
- &:not(.show-filters) .search-filters {
419
- display: none;
420
- }
528
+ .filter-info {
529
+ text-align: center;
530
+ font-style: italic;
531
+ margin-top: 0.8rem;
532
+ position: relative;
533
+
534
+ .reset {
535
+ .bare-button();
536
+ .text-md();
421
537
 
422
- &.show-filters .filter-toggle {
423
- color: @primary;
538
+ position: absolute;
539
+ right: 0.8rem;
540
+ top: -0.3rem;
424
541
  }
542
+ }
425
543
 
426
- .search-filters {
427
- position: relative;
428
- // Ensure the filter pane never grows too large to hide the results pane
429
- max-height: 60vh;
430
- overflow-y: auto;
544
+ &:not(.show-filters) .search-filters {
545
+ display: none;
546
+ }
431
547
 
432
- .reset {
433
- .clickable();
548
+ &.active-filters .filter-toggle {
549
+ color: var(--colour-primary);
550
+ }
434
551
 
435
- position: absolute;
436
- right: 0;
437
- top: 0;
438
- }
552
+ &:not(.active-filters) .reset {
553
+ display: none;
554
+ }
439
555
 
440
- h3 {
441
- border: none;
442
- font-weight: bold;
443
- padding-bottom: 0;
444
- }
556
+ .search-filters {
557
+ position: relative;
558
+ // Ensure the filter pane never grows too large to hide the results pane
559
+ max-height: 60vh;
560
+ overflow-y: auto;
561
+ padding: 0 0.9rem;
445
562
 
446
- .filter-group {
447
- display: flex;
448
- flex-wrap: wrap;
449
- justify-content: space-between;
450
- margin-bottom: 0.4em;
451
563
 
452
- .control-label {
453
- white-space: nowrap;
454
- margin-right: 2em;
455
- width: 6em;
456
- }
564
+ h3 {
565
+ border: none;
566
+ font-weight: bold;
567
+ padding-bottom: 0;
457
568
 
458
- input,
459
- select,
460
- textarea {
461
- flex-basis: 12em;
462
- flex-grow: 2;
463
- }
569
+ button {
570
+ font-weight: inherit;
464
571
  }
572
+ }
573
+
574
+ .filter-group {
575
+ display: flex;
576
+ flex-wrap: wrap;
577
+ justify-content: space-between;
578
+ margin-bottom: 0.4em;
465
579
 
466
580
  .control-label {
467
- font-weight: bold;
468
- margin-bottom: 0.6em;
469
- margin-top: 0.8em;
581
+ white-space: nowrap;
582
+ margin-right: 2em;
583
+ width: 6em;
470
584
  }
471
585
 
472
- select {
473
- width: 100%;
586
+ input,
587
+ select,
588
+ textarea {
589
+ flex-basis: 12em;
590
+ flex-grow: 2;
474
591
  }
592
+ }
475
593
 
476
- .checkboxes {
477
- display: flex;
478
- flex-wrap: wrap;
594
+ .control-label {
595
+ font-weight: bold;
596
+ margin-bottom: 0.6em;
597
+ margin-top: 0.8em;
598
+ }
479
599
 
480
- & > div {
481
- margin: 1.2rem 0;
482
- flex-grow: 1;
600
+ select {
601
+ width: 100%;
602
+ }
483
603
 
484
- input {
485
- vertical-align: middle;
486
- }
604
+ .checkboxes {
605
+ display: flex;
606
+ flex-wrap: wrap;
607
+
608
+ & > div {
609
+ margin: 1.2rem 0;
610
+ flex-grow: 1;
611
+
612
+ input {
613
+ vertical-align: middle;
487
614
  }
488
615
  }
616
+ }
489
617
 
490
- .filter-info {
491
- text-align: center;
492
- font-style: italic;
493
- font-size: 1.1rem;
494
- }
618
+
619
+ .datatype-conflict-warning {
620
+ margin: 1rem 0;
621
+ color: var(--colour-warning);
622
+ display: none;
495
623
  }
496
624
  }
497
625
  }
498
626
 
499
627
  .inspector-body {
500
- flex-grow: 1;
628
+ border-top: solid 1px var(--colour-border-grey);
501
629
  width: 100%;
502
630
  position: relative;
503
- overflow: hidden;
631
+ overflow-y: auto;
632
+ flex-grow: 1;
504
633
 
505
634
  .no-fact-overlay,
506
635
  .no-outline-overlay {
507
- display: block;
508
636
  position: absolute;
509
637
  left: 50%;
510
638
  top: 50%;
511
639
  transform: translate(-50%, -50%);
512
640
  width: 80%;
513
641
  text-align: center;
514
- color: @text-light;
642
+ color: var(--colour-text-light);
515
643
 
516
644
  .no-fact-overlay-icon::before {
517
645
  .icon-tag();
518
646
 
519
647
  font-size: 10rem;
648
+ line-height: normal;
520
649
  }
521
650
 
522
651
  .no-outline-overlay-icon::before {
523
652
  .icon-outline();
524
653
 
525
654
  font-size: 10rem;
655
+ line-height: normal;
526
656
  }
527
657
 
528
658
  .title {
529
659
  font-size: x-large;
660
+ line-height: normal;
530
661
  }
531
662
  }
532
663
 
533
- .inspector-body-fact {
664
+ .inspector-body {
534
665
  overflow-y: auto;
535
666
  height: 100%;
536
667
  position: relative;
@@ -546,12 +677,13 @@
546
677
  position: absolute;
547
678
  top: 50%;
548
679
  left: 50%;
549
- color: @text-light;
680
+ color: var(--colour-text-light);
550
681
  width: 85%;
551
682
 
552
683
  .search-overlay-icon {
553
684
  text-align: center;
554
685
  font-size: 10rem;
686
+ line-height: normal;
555
687
 
556
688
  &::before {
557
689
  .icon-search();
@@ -561,26 +693,15 @@
561
693
  .search-overlay-text {
562
694
  text-align: center;
563
695
  font-size: medium;
696
+ line-height: normal;
564
697
 
565
698
  .title {
566
699
  font-size: x-large;
700
+ line-height: normal;
567
701
  }
568
702
  }
569
703
  }
570
704
 
571
- .select-icon {
572
- float: right;
573
- .square-button();
574
- .clickable();
575
-
576
- &:first-of-type {
577
- margin-left: 0.5rem;
578
- }
579
-
580
- &::before {
581
- .icon-select();
582
- }
583
- }
584
705
 
585
706
  .more-results {
586
707
  .clickable();
@@ -604,296 +725,330 @@
604
725
  .panel-indent();
605
726
  }
606
727
  } /* inspector body */
728
+ } /* inspector container */
607
729
 
608
- .std-label {
609
- margin-left: 30px;
610
- min-height: 20px;
611
- position: relative;
730
+ .std-label {
731
+ margin-left: 30px;
732
+ min-height: 20px;
733
+ position: relative;
612
734
 
613
- &::before {
614
- color: @primary;
615
- content: "\2022";
616
- position: absolute;
617
- top: -5px;
618
- left: -20px;
619
- font-size: x-large;
620
- }
735
+ &::before {
736
+ color: var(--colour-primary);
737
+ content: "\2022";
738
+ position: absolute;
739
+ left: -20px;
740
+ font-size: x-large;
621
741
  }
742
+ }
622
743
 
623
- #concept {
624
- margin-top: 20px;
625
- font-size: small;
626
- min-height: 25px;
627
- }
744
+ dt {
745
+ font-weight: bold;
746
+ color: var(--colour-text-title);
747
+ margin-bottom: 1.4rem;
748
+ margin-top: 1.4rem;
749
+ }
628
750
 
629
- #dimensions {
630
- margin-left: 2rem;
631
- margin-right: 2rem;
632
- margin-bottom: 1rem;
751
+ dd {
752
+ margin-inline-start: 2rem;
753
+ }
633
754
 
634
- .dimension {
635
- position: relative;
636
- margin: 1.5rem 0 1.5rem 1rem;
755
+ #concept {
756
+ margin-top: 20px;
757
+ font-size: small;
758
+ min-height: 25px;
759
+ }
637
760
 
638
- &::before {
639
- .icon-dimension();
761
+ #dimensions {
762
+ margin-left: 2rem;
763
+ margin-right: 2rem;
764
+ margin-bottom: 1rem;
640
765
 
641
- color: @primary;
642
- position: absolute;
643
- top: 0;
644
- left: -2.3rem;
645
- font-size: 120%;
646
- }
766
+ .dimension {
767
+ position: relative;
768
+ margin: 1.5rem 0 1.5rem 1rem;
769
+
770
+ &::before {
771
+ .icon-dimension();
772
+
773
+ color: var(--colour-primary);
774
+ position: absolute;
775
+ top: 0;
776
+ left: -2.3rem;
777
+ font-size: 120%;
647
778
  }
779
+ }
648
780
 
649
- .dimension-value {
650
- position: relative;
651
- margin: 1.5rem 0 1.5rem 3.5rem;
781
+ .dimension-value {
782
+ position: relative;
783
+ margin: 1.5rem 0 1.5rem 3.5rem;
652
784
 
653
- &::before {
654
- .icon-dimension-member();
785
+ &::before {
786
+ .icon-dimension-member();
655
787
 
656
- position: absolute;
657
- color: @primary;
658
- top: 0;
659
- left: -2.3rem;
660
- font-size: 120%;
661
- }
788
+ position: absolute;
789
+ color: var(--colour-primary);
790
+ top: 0;
791
+ left: -2.3rem;
792
+ font-size: 120%;
662
793
  }
663
794
  }
795
+ }
664
796
 
665
- .analyse {
666
- cursor: pointer;
667
- padding-left: 0.7rem;
668
- color: @primary;
669
- }
797
+ .inline-button {
798
+ display: inline;
799
+ cursor: pointer;
800
+ color: var(--colour-primary);
801
+ padding: 0.3rem;
802
+ border: none;
803
+ }
670
804
 
671
- .analyse::before {
672
- .icon-graph();
805
+ .analyse {
806
+ margin-left: 0.4rem;
807
+ }
673
808
 
674
- position: relative;
675
- top: 1px;
676
- }
809
+ .analyse::before {
810
+ .icon-graph();
677
811
 
678
- .hidden-fact-tag,
679
- .html-hidden-fact-tag {
680
- .tag();
812
+ position: relative;
813
+ top: 1px;
814
+ }
681
815
 
682
- position: absolute;
683
- top: 1.5rem;
684
- right: 0.9rem;
816
+ .inspector-body .tags {
817
+ position: absolute;
818
+ top: 1.5rem;
819
+ right: 0.9rem;
820
+ }
685
821
 
686
- &.html-hidden-fact-tag {
687
- background-color: #c63018;
688
- }
689
- }
822
+ .target-document-tag {
823
+ .tag();
824
+ }
690
825
 
691
- table.fact-properties {
692
- table-layout: fixed;
693
- width: 100%;
826
+ .hidden-fact-tag,
827
+ .html-hidden-fact-tag {
828
+ .tag();
694
829
 
695
- th {
696
- width: 75px;
697
- text-align: right;
698
- padding-right: 20px;
699
- color: @text-title;
700
- }
830
+ &.html-hidden-fact-tag {
831
+ background-color: #c63018;
832
+ }
833
+ }
701
834
 
702
- th,
703
- td {
704
- padding-top: 2px;
705
- padding-bottom: 2px;
706
- }
707
835
 
708
- tr.value {
709
- .show-all {
710
- color: @primary;
711
- cursor: pointer;
712
- }
836
+ .duplicates {
837
+ text-align: center;
838
+ width: 100%;
839
+ height: 3.2rem;
840
+ line-height: 3.2rem;
713
841
 
714
- &:not(.truncated) .show-all {
715
- display: none;
716
- }
842
+ & > * {
843
+ vertical-align: middle;
844
+ }
717
845
 
718
- &.text-block .expand-text-block {
719
- color: @primary;
720
- cursor: pointer;
846
+ .text {
847
+ margin: 0 5px;
848
+ }
721
849
 
722
- &::before {
723
- .icon-text-block();
724
- }
725
- }
726
- }
850
+ .next,
851
+ .prev {
852
+ .square-button-bare();
727
853
 
728
- td {
729
- overflow: hidden;
730
- text-overflow: ellipsis;
731
- color: @text-form-value;
732
- }
854
+ position: relative;
855
+ display: inline-block;
856
+ }
733
857
 
734
- tr.uri > td {
735
- white-space: nowrap;
736
- }
858
+ .prev::before {
859
+ .icon-chevron-left();
737
860
  }
738
861
 
739
- .duplicates {
740
- text-align: center;
741
- width: 100%;
742
- height: 3.2rem;
743
- line-height: 3.2rem;
862
+ .next::before {
863
+ .icon-chevron-right();
864
+ }
865
+ }
744
866
 
745
- & > * {
746
- vertical-align: middle;
747
- }
867
+ .concept td > div {
868
+ display: flex;
869
+
870
+ span.text {
871
+ white-space: nowrap;
872
+ position: relative;
873
+ flex-shrink: 1;
874
+ overflow: hidden;
875
+ text-overflow: ellipsis;
876
+ }
748
877
 
749
- .text {
750
- margin: 0 5px;
751
- }
878
+ span.filler {
879
+ width: 0.7rem;
880
+ display: inline-block;
881
+ flex-shrink: 1000;
882
+ }
752
883
 
753
- .next,
754
- .prev {
755
- .square-button-bare();
884
+ span.copy-icon {
885
+ flex-shrink: 0;
886
+ }
887
+ }
756
888
 
757
- position: relative;
758
- display: inline-block;
759
- }
889
+ .documentation {
890
+ margin-top: 10px;
891
+ margin-left: 30px;
892
+ font-style: italic;
893
+ font-family: serif;
894
+ }
760
895
 
761
- .prev::before {
762
- .icon-chevron-left();
763
- }
896
+ width: 25%;
897
+ position: absolute;
898
+ top: var(--top-bar-height);
899
+ right: 0;
900
+ bottom: 0;
901
+ box-sizing: border-box;
902
+ overflow: hidden;
903
+ border-left: solid 0.1rem var(--colour-border-grey);
904
+
905
+ .inspector-section {
906
+ padding-left: 0.9rem;
907
+ padding-right: 0.9rem;
908
+ }
764
909
 
765
- .next::before {
766
- .icon-chevron-right();
767
- }
910
+ .collapsible-section {
911
+ .collapsible-body {
912
+ .panel-indent();
768
913
  }
769
914
 
770
- .concept td > div {
771
- display: flex;
915
+ .collapsible-header {
916
+ position: relative;
917
+ padding: 0 0 0.5rem 1.2rem;
918
+ cursor: pointer;
919
+ user-select: none;
920
+ white-space: nowrap;
921
+ border-bottom: solid 1px var(--colour-border-grey);
772
922
 
773
- span.text {
774
- white-space: nowrap;
775
- position: relative;
776
- flex-shrink: 1;
777
- overflow: hidden;
778
- text-overflow: ellipsis;
779
- }
923
+ button:first-of-type {
924
+ .text-md();
780
925
 
781
- span.filler {
782
- width: 0.7rem;
783
- display: inline-block;
784
- flex-shrink: 1000;
785
- }
926
+ border: none;
927
+ color: var(--colour-text-title);
928
+ text-align: left;
929
+ position: relative;
930
+ padding: 0.4rem 0.9rem 0.4rem 2.3rem;
931
+
932
+ &::before {
933
+ .icon-chevron-right();
786
934
 
787
- span.copy-icon {
788
- flex-shrink: 0;
935
+ font-size: 1.8rem;
936
+ position: absolute;
937
+ top: 0.4rem;
938
+ left: 0;
939
+ transform: rotate(90deg);
940
+ transition: all 0.25s ease;
941
+ display: inline-block;
942
+ }
789
943
  }
790
- }
791
944
 
792
- .documentation {
793
- margin-top: 10px;
794
- margin-left: 30px;
795
- font-style: italic;
796
- font-family: serif;
945
+ .collapsible-subheader {
946
+ user-select: none;
947
+ font-weight: normal;
948
+ font-style: italic;
949
+ font-size: 1.3rem;
950
+ color: var(--colour-text-form-value);
951
+ }
797
952
  }
798
953
 
799
- width: 25%;
800
- position: absolute;
801
- top: @top-bar-height;
802
- right: 0;
803
- bottom: 0;
804
- box-sizing: border-box;
805
- overflow: hidden;
806
- border-left: @simple-border;
807
-
808
- a {
809
- text-decoration: none;
810
- color: @primary;
954
+ &.collapsed {
955
+ .collapsible-header button::before {
956
+ transform: rotate(0);
957
+ top: 0.3rem;
958
+ left: -0.2rem;
959
+ }
811
960
 
812
- &:hover {
813
- text-decoration: underline;
961
+ .collapsible-subheader {
962
+ color: var(--colour-primary);
814
963
  }
815
964
  }
816
965
 
817
- .inspector-section {
818
- padding-left: 0.9rem;
819
- padding-right: 0.9rem;
966
+ .footnote-details {
967
+ display: none;
820
968
  }
821
969
 
822
- .collapsible-section {
823
- .collapsible-body {
824
- .panel-indent();
825
- }
826
-
827
- .collapsible-header {
970
+ .calculations {
971
+ .card .title {
828
972
  position: relative;
829
- padding-left: 12px;
830
- cursor: pointer;
831
- user-select: none;
832
- white-space: nowrap;
833
973
 
834
- &::before {
835
- .icon-chevron-right();
836
-
837
- font-size: 1.8rem;
974
+ .inconsistent-flag {
975
+ padding-right: 0.75rem;
838
976
  position: relative;
839
- top: 0.4rem;
840
- left: -0.3rem;
841
- transform: rotate(90deg);
842
- transition: all 0.25s ease;
843
- display: inline-block;
844
- }
977
+ top: 0.2rem;
978
+ color: var(--colour-warning);
845
979
 
846
- .collapsible-subheader {
847
- user-select: none;
848
- font-weight: normal;
849
- font-style: italic;
850
- font-size: 1.3rem;
851
- color: @text-form-value;
980
+ &::before {
981
+ .icon-circle-cross();
982
+ }
852
983
  }
853
- }
854
984
 
855
- &.collapsed {
856
- .collapsible-header::before {
857
- transform: rotate(0);
858
- top: 0.3rem;
859
- left: -0.2rem;
985
+ .consistent-flag {
986
+ padding-right: 0.75rem;
987
+ position: relative;
988
+ top: 0.2rem;
989
+ color: var(--colour-primary);
990
+
991
+ &::before {
992
+ .icon-circle-tick();
993
+ }
860
994
  }
861
995
 
862
- .collapsible-subheader {
863
- color: @primary;
996
+ .unchecked-flag {
997
+ padding-right: 0.5rem;
998
+ position: relative;
999
+ top: 0.2rem;
1000
+
1001
+ &::before {
1002
+ .icon-question();
1003
+ }
864
1004
  }
865
- }
866
1005
 
867
- .footnote-details {
868
- display: none;
869
1006
  }
870
1007
 
871
- .calculations {
872
- .item {
873
- padding: 5px 0;
874
- position: relative;
875
- line-height: 1.8rem;
1008
+ table.calculation-table {
1009
+ width: 100%;
1010
+ border-collapse: collapse;
1011
+
1012
+ tr.item {
1013
+ td {
1014
+ padding: 0.2rem 0;
1015
+ line-height: 1.8rem;
1016
+
1017
+ &.weight {
1018
+ text-align: center;
1019
+ }
1020
+
1021
+ &.value {
1022
+ text-align: right;
1023
+ }
1024
+ }
876
1025
 
877
1026
  &:not(.calc-fact-link, .total) .concept-name {
878
1027
  color: #777;
879
1028
  }
880
1029
 
881
- .concept-name {
882
- display: block;
883
- margin-left: 15px;
1030
+ &:not(.calc-fact-link) {
1031
+ td {
1032
+ .text-md();
1033
+
1034
+ &.concept-name {
1035
+ // Compensate for padding that gets added by button on clickable rows.
1036
+ padding: 0.3rem;
1037
+ }
1038
+ }
884
1039
  }
885
1040
 
886
1041
  &.calc-fact-link {
887
1042
  cursor: pointer;
888
1043
 
889
- .concept-name {
890
- color: @primary;
891
- }
892
- }
1044
+ .concept-name,
1045
+ .value {
1046
+ color: var(--colour-primary);
893
1047
 
894
- .weight {
895
- display: block;
896
- position: absolute;
1048
+ button {
1049
+ .text-md();
1050
+ }
1051
+ }
897
1052
  }
898
1053
 
899
1054
  &.linked-highlight,
@@ -901,229 +1056,393 @@
901
1056
  .linked-highlight-text();
902
1057
  }
903
1058
 
904
- &.total {
905
- border-top: solid 1px @border-grey;
1059
+ &.total td {
1060
+ border-top: solid 1px var(--colour-border-grey);
906
1061
  padding-bottom: 1.2rem;
907
1062
  }
908
1063
  }
909
1064
  }
1065
+
1066
+ .calculation-details-link {
1067
+ .inline-button();
1068
+ .text-md();
1069
+ }
910
1070
  }
1071
+ }
1072
+
1073
+ .resetable-multiselect {
1074
+ position: relative;
911
1075
 
912
1076
  .reset-multiselect {
913
- float: right;
914
- line-height: 0;
915
- position: relative;
916
- bottom: 1rem;
1077
+ position: absolute;
1078
+ top: -2.5rem;
1079
+ right: -0.5rem;
917
1080
  cursor: pointer;
1081
+ border: none;
1082
+ padding: 0.3rem;
1083
+
918
1084
 
919
1085
  &::after {
920
1086
  .icon-close();
921
1087
  }
922
1088
  }
1089
+ }
923
1090
 
924
- &:not(.no-fact-selected) {
925
- .no-fact-overlay {
926
- display: none;
927
- }
1091
+ &:not(.no-fact-selected) {
1092
+ .no-fact-overlay {
1093
+ display: none;
928
1094
  }
1095
+ }
929
1096
 
930
- &.no-fact-selected {
931
- .fact-selected-only {
932
- display: none;
933
- }
1097
+ &.no-fact-selected {
1098
+ .fact-selected-only {
1099
+ display: none;
934
1100
  }
1101
+ }
935
1102
 
936
- &:not(.hidden-fact) {
937
- .hidden-fact-tag {
938
- display: none;
939
- }
1103
+ &:not(.hidden-fact) {
1104
+ .hidden-fact-tag {
1105
+ display: none;
940
1106
  }
1107
+ }
941
1108
 
942
- &:not(.html-hidden-fact) {
943
- .html-hidden-fact-tag {
944
- display: none;
945
- }
1109
+ &:not(.html-hidden-fact) {
1110
+ .html-hidden-fact-tag {
1111
+ display: none;
946
1112
  }
1113
+ }
947
1114
 
948
- &.search-mode {
949
- #inspector-head {
950
- .controls {
951
- .search-button {
952
- .square-button.primary();
953
- }
1115
+ &.search-mode {
1116
+ #inspector-head {
1117
+ .controls {
1118
+ .search-button {
1119
+ .square-button.primary();
954
1120
  }
955
1121
  }
956
1122
  }
1123
+ }
957
1124
 
958
- &.outline-mode {
959
- #inspector-head {
960
- .controls {
961
- .outline-button {
962
- .square-button.primary();
963
- }
1125
+ &.outline-mode {
1126
+ #inspector-head {
1127
+ .controls {
1128
+ .outline-button {
1129
+ .square-button.primary();
964
1130
  }
965
1131
  }
966
1132
  }
1133
+ }
967
1134
 
968
- &.summary-mode {
969
- #inspector-head {
970
- .controls {
971
- .summary-button {
972
- .square-button.primary();
973
- }
1135
+ &.summary-mode {
1136
+ #inspector-head {
1137
+ .controls {
1138
+ .summary-button {
1139
+ .square-button.primary();
974
1140
  }
975
1141
  }
976
1142
  }
1143
+ }
977
1144
 
978
- .powered-by {
979
- .text-sm();
980
-
981
- text-align: center;
982
- flex-shrink: 0;
983
- background: #fff;
984
- width: 100%;
985
- height: 3rem;
986
- margin: 0;
987
- box-sizing: border-box;
988
- border-top: @simple-border;
989
- position: relative;
1145
+ .powered-by {
1146
+ .text-sm();
990
1147
 
991
- img {
992
- box-sizing: border-box;
993
- height: 3rem;
994
- padding: 0.5rem;
995
- }
1148
+ text-align: center;
1149
+ flex-shrink: 0;
1150
+ background: var(--colour-bg);
1151
+ width: 100%;
1152
+ height: 3rem;
1153
+ margin: 0;
1154
+ box-sizing: border-box;
1155
+ border-top: solid 0.1rem var(--colour-border-grey);
1156
+ position: relative;
996
1157
 
997
- .version {
998
- position: absolute;
999
- top: 0;
1000
- right: 5px;
1001
- font-size: small;
1002
- line-height: 3rem;
1003
- color: #999;
1004
- }
1158
+ img {
1159
+ box-sizing: border-box;
1160
+ height: 3rem;
1161
+ padding: 0.5rem;
1005
1162
  }
1006
1163
 
1007
- &:not(.search-mode) .search-mode-only {
1008
- display: none;
1164
+ .version {
1165
+ position: absolute;
1166
+ top: 0;
1167
+ right: 5px;
1168
+ font-size: small;
1169
+ line-height: 3rem;
1170
+ color: var(--colour-text-light);
1009
1171
  }
1172
+ }
1010
1173
 
1011
- &:not(.outline-mode) .outline-mode-only {
1012
- display: none;
1013
- }
1174
+ &:not(.search-mode) .search-mode-only {
1175
+ display: none;
1176
+ }
1014
1177
 
1015
- &:not(.summary-mode) .summary-mode-only {
1016
- display: none;
1017
- }
1178
+ &:not(.outline-mode) .outline-mode-only {
1179
+ display: none;
1180
+ }
1018
1181
 
1019
- &.search-mode .fact-mode-only,
1020
- &.summary-mode .fact-mode-only,
1021
- &.outline-mode .fact-mode-only {
1022
- display: none;
1023
- }
1182
+ &:not(.summary-mode) .summary-mode-only {
1183
+ display: none;
1184
+ }
1024
1185
 
1025
- &:not(.footnote-mode) .footnote-mode-only {
1026
- display: none;
1027
- }
1186
+ &.search-mode .fact-mode-only,
1187
+ &.summary-mode .fact-mode-only,
1188
+ &.outline-mode .fact-mode-only {
1189
+ display: none;
1190
+ }
1191
+
1192
+ &:not(.footnote-mode) .footnote-mode-only {
1193
+ display: none;
1194
+ }
1195
+
1196
+ &.footnote-mode .footnote-mode-off {
1197
+ display: none;
1198
+ }
1199
+
1200
+ .failed-to-load-mask {
1201
+ display: none;
1202
+ }
1028
1203
 
1029
- &.footnote-mode .footnote-mode-off {
1204
+ &.failed-to-load .failed-to-load-mask {
1205
+ display: block;
1206
+ background-color: var(--colour-bg-fade);
1207
+ position: absolute;
1208
+ width: 100%;
1209
+ height: 100%;
1210
+ }
1211
+
1212
+ &.search-ready {
1213
+ .search-not-ready-only {
1030
1214
  display: none;
1031
1215
  }
1216
+ }
1032
1217
 
1033
- .failed-to-load-mask {
1218
+ &:not(.search-ready) {
1219
+ .search-ready-only {
1034
1220
  display: none;
1035
1221
  }
1036
1222
 
1037
- &.failed-to-load .failed-to-load-mask {
1038
- display: block;
1223
+ .search-results {
1039
1224
  background-color: rgb(0 0 0 / 50%);
1040
- position: absolute;
1225
+ }
1226
+ }
1227
+
1228
+ table.property-table {
1229
+ &:not(.numeric) {
1230
+ table-layout: fixed;
1041
1231
  width: 100%;
1042
- height: 100%;
1043
1232
  }
1044
1233
 
1045
- &.search-ready {
1046
- .search-not-ready-only {
1047
- display: none;
1234
+ td, th {
1235
+ padding: 0;
1236
+ line-height: 2.6rem;
1237
+ }
1238
+
1239
+ th {
1240
+ width: 90px;
1241
+ text-align: right;
1242
+ padding-right: 30px;
1243
+ color: var(--colour-text-title);
1244
+
1245
+ &.has-tooltip {
1246
+ padding-right: 10px;
1048
1247
  }
1049
1248
  }
1050
1249
 
1051
- &:not(.search-ready) {
1052
- .search-ready-only {
1250
+ tr.value {
1251
+ .show-all {
1252
+ color: var(--colour-primary);
1253
+ cursor: pointer;
1254
+ }
1255
+
1256
+ &:not(.truncated) .show-all {
1053
1257
  display: none;
1054
1258
  }
1055
1259
 
1056
- .search-results {
1057
- background-color: rgb(0 0 0 / 50%);
1260
+ &.text-block .expand-text-block {
1261
+ color: var(--colour-primary);
1262
+ cursor: pointer;
1263
+
1264
+ &::before {
1265
+ .icon-text-block();
1266
+ }
1058
1267
  }
1059
1268
  }
1060
- }
1061
1269
 
1062
- .fact-link {
1063
- cursor: pointer;
1064
- color: @primary;
1270
+ td {
1271
+ overflow: clip visible;
1272
+ text-overflow: ellipsis;
1273
+ color: var(--colour-text-form-value);
1274
+ }
1275
+
1276
+ tr.uri > td {
1277
+ white-space: nowrap;
1278
+ }
1065
1279
 
1066
- &:hover {
1067
- outline: solid 2px @linked-fact;
1068
- outline-offset: 1px;
1280
+ &.numeric td {
1281
+ text-align: right;
1069
1282
  }
1070
1283
  }
1284
+ }
1285
+
1286
+ .fact-link {
1287
+ cursor: pointer;
1288
+ color: var(--colour-primary);
1289
+
1290
+ &:hover {
1291
+ outline: solid 0.125em var(--colour-linked-fact);
1292
+ outline-offset: 0.0625em;
1293
+ }
1294
+ }
1295
+
1296
+ .fact-list {
1297
+ .fact-list-item {
1298
+ .block-list-item();
1299
+
1300
+ .select-icon {
1301
+ float: right;
1302
+ .square-button();
1303
+ .clickable();
1304
+
1305
+ &:first-of-type {
1306
+ margin-left: 0.5rem;
1307
+ }
1308
+
1309
+ &::before {
1310
+ .icon-select();
1311
+ }
1312
+ }
1313
+
1314
+ .title {
1315
+ color: var(--colour-text-title);
1316
+ font-weight: bold;
1317
+ }
1318
+
1319
+ .dimension {
1320
+ color: var(--colour-text);
1321
+ margin: 0.6rem 0;
1322
+ }
1071
1323
 
1072
- .fact-list {
1073
- .fact-list-item {
1074
- .block-list-item();
1324
+ .datatype {
1325
+ color: var(--colour-text);
1326
+ margin: 0.6rem 0;
1327
+ font-style: italic;
1328
+ }
1329
+
1330
+ .hidden {
1331
+ .tag();
1332
+ }
1075
1333
 
1334
+ &.selected {
1076
1335
  .title {
1077
- color: @text-title;
1078
1336
  font-weight: bold;
1079
1337
  }
1080
1338
 
1081
1339
  .dimension {
1082
- color: @text;
1083
- margin: 0.6rem 0;
1340
+ color: var(--colour-text);
1084
1341
  }
1342
+ }
1085
1343
 
1086
- .hidden {
1087
- .tag();
1088
- }
1344
+ }
1345
+ }
1089
1346
 
1090
- &.selected {
1091
- .title {
1092
- font-weight: bold;
1093
- }
1094
1347
 
1095
- .dimension {
1096
- color: @text;
1097
- }
1098
- }
1099
- }
1348
+ .dialog-mask {
1349
+ background-color: var(--colour-bg-fade);
1350
+ position: fixed;
1351
+ inset: 0;
1352
+ z-index: 10;
1353
+ display: none;
1354
+ }
1355
+
1356
+ .popup-content {
1357
+ display: none;
1358
+ }
1359
+
1360
+ .copy-icon {
1361
+ color: var(--colour-primary);
1362
+ border-radius: 0.3rem;
1363
+
1364
+ &:active {
1365
+ background-color: var(--colour-primary);
1366
+ color: var(--colour-bg);
1100
1367
  }
1101
1368
 
1102
- .dialog-mask {
1103
- background-color: rgb(0 0 0 / 60%);
1104
- position: fixed;
1105
- inset: 0;
1106
- z-index: 10;
1107
- display: none;
1369
+ &::before {
1370
+ .icon-clipboard();
1371
+
1372
+ cursor: pointer;
1108
1373
  }
1374
+ }
1109
1375
 
1110
- .popup-content {
1111
- display: none;
1376
+ .has-tooltip {
1377
+ white-space: nowrap;
1378
+
1379
+ & > * {
1380
+ vertical-align: middle;
1112
1381
  }
1113
1382
 
1114
- .copy-icon {
1115
- color: @primary;
1116
- border-radius: 0.3rem;
1383
+ .tooltip-icon {
1384
+ .inline-button();
1385
+
1386
+ cursor: help;
1387
+ margin-left: -0.3rem;
1388
+ vertical-align: middle;
1117
1389
 
1118
- &:active {
1119
- background-color: @primary;
1120
- color: #fff;
1390
+ &::after {
1391
+ content: "\24d8";
1121
1392
  }
1393
+ }
1122
1394
 
1123
- &::before {
1124
- .icon-clipboard();
1395
+ button + .tooltip-icon {
1396
+ margin-left: -1rem;
1397
+ }
1398
+ }
1125
1399
 
1126
- cursor: pointer;
1127
- }
1400
+ .tooltip {
1401
+ position: fixed;
1402
+ visibility: hidden;
1403
+ transition: all 0.5s ease;
1404
+ background-color: var(--colour-bg);
1405
+ z-index: 1;
1406
+ border: solid 0.1rem var(--colour-border-grey);
1407
+ border-radius: 0.4rem;
1408
+ padding: 0.8rem;
1409
+ box-shadow: rgb(0 0 0 / 30%) 0.2rem 0.2rem 0.2rem;
1410
+ font-weight: normal;
1411
+ opacity: 0;
1412
+ cursor: default;
1413
+ color: var(--colour-text);
1414
+ text-align: left;
1415
+
1416
+ &.show,
1417
+ &.hover-show {
1418
+ visibility: visible;
1419
+ opacity: 1;
1420
+ transition: opacity 0.5s ease;
1421
+ }
1422
+
1423
+ &.with-glossary-link .glossary-link {
1424
+ display: block;
1425
+ }
1426
+
1427
+ .glossary-link {
1428
+ margin-top: 0.8rem;
1429
+ font-size: smaller;
1430
+ display: none;
1431
+ }
1432
+ }
1433
+
1434
+ .fact-value {
1435
+ &.fact-value-invalid {
1436
+ font-style: italic;
1437
+ color: #f00;
1438
+ }
1439
+
1440
+ &.fact-value-nil {
1441
+ font-style: italic;
1442
+ }
1443
+
1444
+ .measure {
1445
+ border-bottom: 1px dotted @colour-text-form-value;
1446
+ cursor: help;
1128
1447
  }
1129
1448
  }