@muze-nl/simplystore 0.1.2

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 (366) hide show
  1. package/.dockerignore +8 -0
  2. package/.github/workflows/docker-build.yml +45 -0
  3. package/.gitignore~ +1 -0
  4. package/Dockerfile +60 -0
  5. package/LICENSE +21 -0
  6. package/README.md +99 -0
  7. package/data.jsontag +20 -0
  8. package/design/access-management.md +25 -0
  9. package/design/acid.md +31 -0
  10. package/design/commands.md +25 -0
  11. package/design/identity.md +71 -0
  12. package/design/immutability.md +26 -0
  13. package/design/jsontag-selector.md +365 -0
  14. package/design/multitasking.md +13 -0
  15. package/design/thoughts.md +32 -0
  16. package/docs/docker.md +129 -0
  17. package/package.json +29 -0
  18. package/package.json~ +29 -0
  19. package/src/run.mjs +3 -0
  20. package/src/server.mjs +323 -0
  21. package/src/triplestore.mjs +182 -0
  22. package/www/assets/css/style.css +2296 -0
  23. package/www/assets/feather-sprite.svg +1 -0
  24. package/www/assets/img/simplystore-narrow-white.svg +138 -0
  25. package/www/assets/img/simplystore-narrow.svg +138 -0
  26. package/www/assets/img/simplystore-white.svg +153 -0
  27. package/www/assets/img/simplystore.svg +153 -0
  28. package/www/codemirror/AUTHORS +979 -0
  29. package/www/codemirror/CHANGELOG.md +2208 -0
  30. package/www/codemirror/CONTRIBUTING.md +92 -0
  31. package/www/codemirror/LICENSE +21 -0
  32. package/www/codemirror/README.md +47 -0
  33. package/www/codemirror/addon/comment/comment.js +211 -0
  34. package/www/codemirror/addon/comment/continuecomment.js +114 -0
  35. package/www/codemirror/addon/dialog/dialog.css +32 -0
  36. package/www/codemirror/addon/dialog/dialog.js +163 -0
  37. package/www/codemirror/addon/display/autorefresh.js +47 -0
  38. package/www/codemirror/addon/display/fullscreen.css +6 -0
  39. package/www/codemirror/addon/display/fullscreen.js +41 -0
  40. package/www/codemirror/addon/display/panel.js +133 -0
  41. package/www/codemirror/addon/display/placeholder.js +78 -0
  42. package/www/codemirror/addon/display/rulers.js +51 -0
  43. package/www/codemirror/addon/edit/closebrackets.js +201 -0
  44. package/www/codemirror/addon/edit/closetag.js +185 -0
  45. package/www/codemirror/addon/edit/continuelist.js +101 -0
  46. package/www/codemirror/addon/edit/matchbrackets.js +160 -0
  47. package/www/codemirror/addon/edit/matchtags.js +66 -0
  48. package/www/codemirror/addon/edit/trailingspace.js +27 -0
  49. package/www/codemirror/addon/fold/brace-fold.js +119 -0
  50. package/www/codemirror/addon/fold/comment-fold.js +59 -0
  51. package/www/codemirror/addon/fold/foldcode.js +159 -0
  52. package/www/codemirror/addon/fold/foldgutter.css +20 -0
  53. package/www/codemirror/addon/fold/foldgutter.js +169 -0
  54. package/www/codemirror/addon/fold/indent-fold.js +48 -0
  55. package/www/codemirror/addon/fold/markdown-fold.js +49 -0
  56. package/www/codemirror/addon/fold/xml-fold.js +184 -0
  57. package/www/codemirror/addon/hint/anyword-hint.js +41 -0
  58. package/www/codemirror/addon/hint/css-hint.js +66 -0
  59. package/www/codemirror/addon/hint/html-hint.js +351 -0
  60. package/www/codemirror/addon/hint/javascript-hint.js +162 -0
  61. package/www/codemirror/addon/hint/show-hint.css +37 -0
  62. package/www/codemirror/addon/hint/show-hint.js +523 -0
  63. package/www/codemirror/addon/hint/sql-hint.js +304 -0
  64. package/www/codemirror/addon/hint/xml-hint.js +132 -0
  65. package/www/codemirror/addon/lint/coffeescript-lint.js +47 -0
  66. package/www/codemirror/addon/lint/css-lint.js +40 -0
  67. package/www/codemirror/addon/lint/html-lint.js +59 -0
  68. package/www/codemirror/addon/lint/javascript-lint.js +65 -0
  69. package/www/codemirror/addon/lint/json-lint.js +40 -0
  70. package/www/codemirror/addon/lint/lint.css +79 -0
  71. package/www/codemirror/addon/lint/lint.js +291 -0
  72. package/www/codemirror/addon/lint/yaml-lint.js +41 -0
  73. package/www/codemirror/addon/merge/merge.css +119 -0
  74. package/www/codemirror/addon/merge/merge.js +1018 -0
  75. package/www/codemirror/addon/mode/loadmode.js +66 -0
  76. package/www/codemirror/addon/mode/multiplex.js +136 -0
  77. package/www/codemirror/addon/mode/multiplex_test.js +49 -0
  78. package/www/codemirror/addon/mode/overlay.js +90 -0
  79. package/www/codemirror/addon/mode/simple.js +216 -0
  80. package/www/codemirror/addon/runmode/colorize.js +40 -0
  81. package/www/codemirror/addon/runmode/runmode-standalone.js +334 -0
  82. package/www/codemirror/addon/runmode/runmode.js +76 -0
  83. package/www/codemirror/addon/runmode/runmode.node.js +329 -0
  84. package/www/codemirror/addon/scroll/annotatescrollbar.js +128 -0
  85. package/www/codemirror/addon/scroll/scrollpastend.js +48 -0
  86. package/www/codemirror/addon/scroll/simplescrollbars.css +66 -0
  87. package/www/codemirror/addon/scroll/simplescrollbars.js +152 -0
  88. package/www/codemirror/addon/search/jump-to-line.js +53 -0
  89. package/www/codemirror/addon/search/match-highlighter.js +167 -0
  90. package/www/codemirror/addon/search/matchesonscrollbar.css +8 -0
  91. package/www/codemirror/addon/search/matchesonscrollbar.js +97 -0
  92. package/www/codemirror/addon/search/search.js +295 -0
  93. package/www/codemirror/addon/search/searchcursor.js +305 -0
  94. package/www/codemirror/addon/selection/active-line.js +72 -0
  95. package/www/codemirror/addon/selection/mark-selection.js +119 -0
  96. package/www/codemirror/addon/selection/selection-pointer.js +98 -0
  97. package/www/codemirror/addon/tern/tern.css +87 -0
  98. package/www/codemirror/addon/tern/tern.js +756 -0
  99. package/www/codemirror/addon/tern/worker.js +44 -0
  100. package/www/codemirror/addon/wrap/hardwrap.js +160 -0
  101. package/www/codemirror/bin/source-highlight +48 -0
  102. package/www/codemirror/keymap/emacs.js +545 -0
  103. package/www/codemirror/keymap/sublime.js +720 -0
  104. package/www/codemirror/keymap/vim.js +5978 -0
  105. package/www/codemirror/lib/codemirror.css +344 -0
  106. package/www/codemirror/lib/codemirror.js +9874 -0
  107. package/www/codemirror/mode/apl/apl.js +174 -0
  108. package/www/codemirror/mode/asciiarmor/asciiarmor.js +74 -0
  109. package/www/codemirror/mode/asn.1/asn.1.js +204 -0
  110. package/www/codemirror/mode/asterisk/asterisk.js +220 -0
  111. package/www/codemirror/mode/brainfuck/brainfuck.js +85 -0
  112. package/www/codemirror/mode/clike/clike.js +940 -0
  113. package/www/codemirror/mode/clojure/clojure.js +292 -0
  114. package/www/codemirror/mode/cmake/cmake.js +97 -0
  115. package/www/codemirror/mode/cobol/cobol.js +255 -0
  116. package/www/codemirror/mode/coffeescript/coffeescript.js +359 -0
  117. package/www/codemirror/mode/commonlisp/commonlisp.js +125 -0
  118. package/www/codemirror/mode/crystal/crystal.js +433 -0
  119. package/www/codemirror/mode/css/css.js +862 -0
  120. package/www/codemirror/mode/cypher/cypher.js +152 -0
  121. package/www/codemirror/mode/d/d.js +223 -0
  122. package/www/codemirror/mode/dart/dart.js +166 -0
  123. package/www/codemirror/mode/diff/diff.js +47 -0
  124. package/www/codemirror/mode/django/django.js +356 -0
  125. package/www/codemirror/mode/dockerfile/dockerfile.js +211 -0
  126. package/www/codemirror/mode/dtd/dtd.js +142 -0
  127. package/www/codemirror/mode/dylan/dylan.js +352 -0
  128. package/www/codemirror/mode/ebnf/ebnf.js +195 -0
  129. package/www/codemirror/mode/ecl/ecl.js +206 -0
  130. package/www/codemirror/mode/eiffel/eiffel.js +160 -0
  131. package/www/codemirror/mode/elm/elm.js +245 -0
  132. package/www/codemirror/mode/erlang/erlang.js +619 -0
  133. package/www/codemirror/mode/factor/factor.js +85 -0
  134. package/www/codemirror/mode/fcl/fcl.js +173 -0
  135. package/www/codemirror/mode/forth/forth.js +180 -0
  136. package/www/codemirror/mode/fortran/fortran.js +188 -0
  137. package/www/codemirror/mode/gas/gas.js +353 -0
  138. package/www/codemirror/mode/gfm/gfm.js +129 -0
  139. package/www/codemirror/mode/gherkin/gherkin.js +178 -0
  140. package/www/codemirror/mode/go/go.js +187 -0
  141. package/www/codemirror/mode/groovy/groovy.js +247 -0
  142. package/www/codemirror/mode/haml/haml.js +161 -0
  143. package/www/codemirror/mode/handlebars/handlebars.js +70 -0
  144. package/www/codemirror/mode/haskell/haskell.js +268 -0
  145. package/www/codemirror/mode/haskell-literate/haskell-literate.js +43 -0
  146. package/www/codemirror/mode/haxe/haxe.js +515 -0
  147. package/www/codemirror/mode/htmlembedded/htmlembedded.js +37 -0
  148. package/www/codemirror/mode/htmlmixed/htmlmixed.js +153 -0
  149. package/www/codemirror/mode/http/http.js +113 -0
  150. package/www/codemirror/mode/idl/idl.js +290 -0
  151. package/www/codemirror/mode/javascript/javascript.js +960 -0
  152. package/www/codemirror/mode/jinja2/jinja2.js +193 -0
  153. package/www/codemirror/mode/jsx/jsx.js +148 -0
  154. package/www/codemirror/mode/julia/julia.js +390 -0
  155. package/www/codemirror/mode/livescript/livescript.js +280 -0
  156. package/www/codemirror/mode/lua/lua.js +160 -0
  157. package/www/codemirror/mode/markdown/markdown.js +886 -0
  158. package/www/codemirror/mode/mathematica/mathematica.js +176 -0
  159. package/www/codemirror/mode/mbox/mbox.js +129 -0
  160. package/www/codemirror/mode/meta.js +221 -0
  161. package/www/codemirror/mode/mirc/mirc.js +193 -0
  162. package/www/codemirror/mode/mllike/mllike.js +359 -0
  163. package/www/codemirror/mode/modelica/modelica.js +245 -0
  164. package/www/codemirror/mode/mscgen/mscgen.js +175 -0
  165. package/www/codemirror/mode/mumps/mumps.js +148 -0
  166. package/www/codemirror/mode/nginx/nginx.js +178 -0
  167. package/www/codemirror/mode/nsis/nsis.js +95 -0
  168. package/www/codemirror/mode/ntriples/ntriples.js +195 -0
  169. package/www/codemirror/mode/octave/octave.js +139 -0
  170. package/www/codemirror/mode/oz/oz.js +252 -0
  171. package/www/codemirror/mode/pascal/pascal.js +136 -0
  172. package/www/codemirror/mode/pegjs/pegjs.js +111 -0
  173. package/www/codemirror/mode/perl/perl.js +836 -0
  174. package/www/codemirror/mode/php/php.js +234 -0
  175. package/www/codemirror/mode/pig/pig.js +178 -0
  176. package/www/codemirror/mode/powershell/powershell.js +398 -0
  177. package/www/codemirror/mode/properties/properties.js +78 -0
  178. package/www/codemirror/mode/protobuf/protobuf.js +72 -0
  179. package/www/codemirror/mode/pug/pug.js +591 -0
  180. package/www/codemirror/mode/puppet/puppet.js +220 -0
  181. package/www/codemirror/mode/python/python.js +402 -0
  182. package/www/codemirror/mode/q/q.js +139 -0
  183. package/www/codemirror/mode/r/r.js +190 -0
  184. package/www/codemirror/mode/rpm/changes/index.html +66 -0
  185. package/www/codemirror/mode/rpm/rpm.js +109 -0
  186. package/www/codemirror/mode/rst/rst.js +557 -0
  187. package/www/codemirror/mode/ruby/ruby.js +303 -0
  188. package/www/codemirror/mode/rust/rust.js +72 -0
  189. package/www/codemirror/mode/sas/sas.js +303 -0
  190. package/www/codemirror/mode/sass/sass.js +459 -0
  191. package/www/codemirror/mode/scheme/scheme.js +284 -0
  192. package/www/codemirror/mode/shell/shell.js +168 -0
  193. package/www/codemirror/mode/sieve/sieve.js +193 -0
  194. package/www/codemirror/mode/slim/slim.js +575 -0
  195. package/www/codemirror/mode/smalltalk/smalltalk.js +168 -0
  196. package/www/codemirror/mode/smarty/smarty.js +225 -0
  197. package/www/codemirror/mode/solr/solr.js +104 -0
  198. package/www/codemirror/mode/soy/soy.js +665 -0
  199. package/www/codemirror/mode/sparql/sparql.js +184 -0
  200. package/www/codemirror/mode/spreadsheet/spreadsheet.js +112 -0
  201. package/www/codemirror/mode/sql/sql.js +525 -0
  202. package/www/codemirror/mode/stex/stex.js +264 -0
  203. package/www/codemirror/mode/stylus/stylus.js +775 -0
  204. package/www/codemirror/mode/swift/swift.js +221 -0
  205. package/www/codemirror/mode/tcl/tcl.js +140 -0
  206. package/www/codemirror/mode/textile/textile.js +469 -0
  207. package/www/codemirror/mode/tiddlywiki/tiddlywiki.css +14 -0
  208. package/www/codemirror/mode/tiddlywiki/tiddlywiki.js +308 -0
  209. package/www/codemirror/mode/tiki/tiki.css +26 -0
  210. package/www/codemirror/mode/tiki/tiki.js +312 -0
  211. package/www/codemirror/mode/toml/toml.js +88 -0
  212. package/www/codemirror/mode/tornado/tornado.js +68 -0
  213. package/www/codemirror/mode/troff/troff.js +84 -0
  214. package/www/codemirror/mode/ttcn/ttcn.js +283 -0
  215. package/www/codemirror/mode/ttcn-cfg/ttcn-cfg.js +214 -0
  216. package/www/codemirror/mode/turtle/turtle.js +162 -0
  217. package/www/codemirror/mode/twig/twig.js +141 -0
  218. package/www/codemirror/mode/vb/vb.js +275 -0
  219. package/www/codemirror/mode/vbscript/vbscript.js +350 -0
  220. package/www/codemirror/mode/velocity/velocity.js +202 -0
  221. package/www/codemirror/mode/verilog/verilog.js +781 -0
  222. package/www/codemirror/mode/vhdl/vhdl.js +189 -0
  223. package/www/codemirror/mode/vue/vue.js +77 -0
  224. package/www/codemirror/mode/wast/wast.js +132 -0
  225. package/www/codemirror/mode/webidl/webidl.js +195 -0
  226. package/www/codemirror/mode/xml/xml.js +417 -0
  227. package/www/codemirror/mode/xquery/xquery.js +448 -0
  228. package/www/codemirror/mode/yacas/yacas.js +204 -0
  229. package/www/codemirror/mode/yaml/yaml.js +120 -0
  230. package/www/codemirror/mode/yaml-frontmatter/yaml-frontmatter.js +72 -0
  231. package/www/codemirror/mode/z80/z80.js +116 -0
  232. package/www/codemirror/package.json +52 -0
  233. package/www/codemirror/rollup.config.js +52 -0
  234. package/www/codemirror/src/addon/runmode/codemirror-standalone.js +24 -0
  235. package/www/codemirror/src/addon/runmode/codemirror.node.js +21 -0
  236. package/www/codemirror/src/addon/runmode/runmode-standalone.js +2 -0
  237. package/www/codemirror/src/addon/runmode/runmode.node.js +2 -0
  238. package/www/codemirror/src/codemirror.js +3 -0
  239. package/www/codemirror/src/display/Display.js +116 -0
  240. package/www/codemirror/src/display/focus.js +50 -0
  241. package/www/codemirror/src/display/gutters.js +44 -0
  242. package/www/codemirror/src/display/highlight_worker.js +55 -0
  243. package/www/codemirror/src/display/line_numbers.js +48 -0
  244. package/www/codemirror/src/display/mode_state.js +22 -0
  245. package/www/codemirror/src/display/operations.js +206 -0
  246. package/www/codemirror/src/display/scroll_events.js +132 -0
  247. package/www/codemirror/src/display/scrollbars.js +194 -0
  248. package/www/codemirror/src/display/scrolling.js +186 -0
  249. package/www/codemirror/src/display/selection.js +173 -0
  250. package/www/codemirror/src/display/update_display.js +267 -0
  251. package/www/codemirror/src/display/update_line.js +189 -0
  252. package/www/codemirror/src/display/update_lines.js +82 -0
  253. package/www/codemirror/src/display/view_tracking.js +153 -0
  254. package/www/codemirror/src/edit/CodeMirror.js +217 -0
  255. package/www/codemirror/src/edit/commands.js +178 -0
  256. package/www/codemirror/src/edit/deleteNearSelection.js +30 -0
  257. package/www/codemirror/src/edit/drop_events.js +130 -0
  258. package/www/codemirror/src/edit/fromTextArea.js +61 -0
  259. package/www/codemirror/src/edit/global_events.js +45 -0
  260. package/www/codemirror/src/edit/key_events.js +163 -0
  261. package/www/codemirror/src/edit/legacy.js +62 -0
  262. package/www/codemirror/src/edit/main.js +69 -0
  263. package/www/codemirror/src/edit/methods.js +555 -0
  264. package/www/codemirror/src/edit/mouse_events.js +417 -0
  265. package/www/codemirror/src/edit/options.js +194 -0
  266. package/www/codemirror/src/edit/utils.js +7 -0
  267. package/www/codemirror/src/input/ContentEditableInput.js +546 -0
  268. package/www/codemirror/src/input/TextareaInput.js +380 -0
  269. package/www/codemirror/src/input/indent.js +71 -0
  270. package/www/codemirror/src/input/input.js +134 -0
  271. package/www/codemirror/src/input/keymap.js +147 -0
  272. package/www/codemirror/src/input/keynames.js +17 -0
  273. package/www/codemirror/src/input/movement.js +111 -0
  274. package/www/codemirror/src/line/highlight.js +284 -0
  275. package/www/codemirror/src/line/line_data.js +349 -0
  276. package/www/codemirror/src/line/pos.js +40 -0
  277. package/www/codemirror/src/line/saw_special_spans.js +10 -0
  278. package/www/codemirror/src/line/spans.js +390 -0
  279. package/www/codemirror/src/line/utils_line.js +85 -0
  280. package/www/codemirror/src/measurement/position_measurement.js +702 -0
  281. package/www/codemirror/src/measurement/widgets.js +26 -0
  282. package/www/codemirror/src/model/Doc.js +436 -0
  283. package/www/codemirror/src/model/change_measurement.js +61 -0
  284. package/www/codemirror/src/model/changes.js +339 -0
  285. package/www/codemirror/src/model/chunk.js +167 -0
  286. package/www/codemirror/src/model/document_data.js +112 -0
  287. package/www/codemirror/src/model/history.js +228 -0
  288. package/www/codemirror/src/model/line_widget.js +78 -0
  289. package/www/codemirror/src/model/mark_text.js +293 -0
  290. package/www/codemirror/src/model/selection.js +84 -0
  291. package/www/codemirror/src/model/selection_updates.js +216 -0
  292. package/www/codemirror/src/modes.js +96 -0
  293. package/www/codemirror/src/util/StringStream.js +90 -0
  294. package/www/codemirror/src/util/bidi.js +215 -0
  295. package/www/codemirror/src/util/browser.js +34 -0
  296. package/www/codemirror/src/util/dom.js +101 -0
  297. package/www/codemirror/src/util/event.js +103 -0
  298. package/www/codemirror/src/util/feature_detection.js +84 -0
  299. package/www/codemirror/src/util/misc.js +168 -0
  300. package/www/codemirror/src/util/operation_group.js +72 -0
  301. package/www/codemirror/theme/3024-day.css +41 -0
  302. package/www/codemirror/theme/3024-night.css +39 -0
  303. package/www/codemirror/theme/abbott.css +268 -0
  304. package/www/codemirror/theme/abcdef.css +32 -0
  305. package/www/codemirror/theme/ambiance-mobile.css +5 -0
  306. package/www/codemirror/theme/ambiance.css +74 -0
  307. package/www/codemirror/theme/ayu-dark.css +44 -0
  308. package/www/codemirror/theme/ayu-mirage.css +45 -0
  309. package/www/codemirror/theme/base16-dark.css +40 -0
  310. package/www/codemirror/theme/base16-light.css +38 -0
  311. package/www/codemirror/theme/bespin.css +34 -0
  312. package/www/codemirror/theme/blackboard.css +32 -0
  313. package/www/codemirror/theme/cobalt.css +25 -0
  314. package/www/codemirror/theme/colorforth.css +33 -0
  315. package/www/codemirror/theme/darcula.css +53 -0
  316. package/www/codemirror/theme/dracula.css +40 -0
  317. package/www/codemirror/theme/duotone-dark.css +35 -0
  318. package/www/codemirror/theme/duotone-light.css +36 -0
  319. package/www/codemirror/theme/eclipse.css +23 -0
  320. package/www/codemirror/theme/elegant.css +13 -0
  321. package/www/codemirror/theme/erlang-dark.css +34 -0
  322. package/www/codemirror/theme/gruvbox-dark.css +39 -0
  323. package/www/codemirror/theme/hopscotch.css +34 -0
  324. package/www/codemirror/theme/icecoder.css +43 -0
  325. package/www/codemirror/theme/idea.css +42 -0
  326. package/www/codemirror/theme/isotope.css +34 -0
  327. package/www/codemirror/theme/juejin.css +30 -0
  328. package/www/codemirror/theme/lesser-dark.css +47 -0
  329. package/www/codemirror/theme/liquibyte.css +95 -0
  330. package/www/codemirror/theme/lucario.css +37 -0
  331. package/www/codemirror/theme/material-darker.css +135 -0
  332. package/www/codemirror/theme/material-ocean.css +141 -0
  333. package/www/codemirror/theme/material-palenight.css +141 -0
  334. package/www/codemirror/theme/material.css +141 -0
  335. package/www/codemirror/theme/mbo.css +37 -0
  336. package/www/codemirror/theme/mdn-like.css +46 -0
  337. package/www/codemirror/theme/midnight.css +39 -0
  338. package/www/codemirror/theme/monokai.css +41 -0
  339. package/www/codemirror/theme/moxer.css +143 -0
  340. package/www/codemirror/theme/neat.css +12 -0
  341. package/www/codemirror/theme/neo.css +43 -0
  342. package/www/codemirror/theme/night.css +27 -0
  343. package/www/codemirror/theme/nord.css +42 -0
  344. package/www/codemirror/theme/oceanic-next.css +46 -0
  345. package/www/codemirror/theme/panda-syntax.css +85 -0
  346. package/www/codemirror/theme/paraiso-dark.css +38 -0
  347. package/www/codemirror/theme/paraiso-light.css +38 -0
  348. package/www/codemirror/theme/pastel-on-dark.css +52 -0
  349. package/www/codemirror/theme/railscasts.css +34 -0
  350. package/www/codemirror/theme/rubyblue.css +25 -0
  351. package/www/codemirror/theme/seti.css +44 -0
  352. package/www/codemirror/theme/shadowfox.css +52 -0
  353. package/www/codemirror/theme/solarized.css +165 -0
  354. package/www/codemirror/theme/ssms.css +16 -0
  355. package/www/codemirror/theme/the-matrix.css +30 -0
  356. package/www/codemirror/theme/tomorrow-night-bright.css +35 -0
  357. package/www/codemirror/theme/tomorrow-night-eighties.css +38 -0
  358. package/www/codemirror/theme/ttcn.css +64 -0
  359. package/www/codemirror/theme/twilight.css +32 -0
  360. package/www/codemirror/theme/vibrant-ink.css +34 -0
  361. package/www/codemirror/theme/xq-dark.css +53 -0
  362. package/www/codemirror/theme/xq-light.css +43 -0
  363. package/www/codemirror/theme/yeti.css +44 -0
  364. package/www/codemirror/theme/yonce.css +59 -0
  365. package/www/codemirror/theme/zenburn.css +37 -0
  366. package/www/index.html +216 -0
@@ -0,0 +1,2296 @@
1
+
2
+
3
+ /* Simply Branding
4
+ : Brands */
5
+
6
+
7
+
8
+ /* Basic styles: Reset */
9
+
10
+ body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,p,blockquote,th,td {
11
+ margin:0;
12
+ padding:0;
13
+ }
14
+ img {
15
+ max-width: 100%;
16
+ display: block;
17
+ }
18
+ * {
19
+ box-sizing: border-box;
20
+ }
21
+
22
+ /* Basic styles: Colors */
23
+
24
+ .ds-color {
25
+ display: flex;
26
+ text-align: center;
27
+ font-size: 0.8em;
28
+ align-items: center;
29
+ justify-content: center;
30
+ }
31
+ :root {
32
+ --ds-black: #000;
33
+ --ds-white: #FFF;
34
+ --ds-primary: var(--ds-simplycode);
35
+ --ds-primary-dark: var(--ds-simplycode-dark);
36
+ --ds-primary-contrast: var(--ds-white);
37
+ --ds-primary-light: var(--ds-simplycode-light);
38
+ --ds-primary-gradient: var(--ds-simplycode-gradient);
39
+ --ds-primary-gradient-bump: var(--ds-simplycode-gradient-bump);
40
+ --ds-support: #06CC06;
41
+ --ds-support-dark: #05BB05;
42
+ --ds-support-light: #07DE07;
43
+ --ds-support-contrast: #FFF;
44
+ --ds-support-gradient: linear-gradient( to left, var(--ds-support-light), var(--ds-support-dark) );
45
+ /* http://www.colorbox.io/#steps=11#hue_start=198#hue_end=198#hue_curve=linear#sat_start=15#sat_end=15#sat_curve=linear#sat_rate=130#lum_start=98#lum_end=0#lum_curve=easeOutQuad#lock_hex=eef1f8#minor_steps_map=0 */
46
+ --ds-grey-0: #eef1f8;
47
+ --ds-grey-5: #e9edf6;
48
+ --ds-grey-10: #e4eaf4;
49
+ --ds-grey-20: #dae2ed;
50
+ --ds-grey-30: #cdd7e3;
51
+ --ds-grey-40: #bdc8d4;
52
+ --ds-grey-50: #a8b4c0;
53
+ --ds-grey-60: #8f9ba6;
54
+ --ds-grey-70: #707c84;
55
+ --ds-grey-80: #4d565c;
56
+ --ds-grey-90: #262c2f;
57
+ --ds-grey-100: #000000;
58
+ --ds-grey-dark: var(--ds-grey-90);
59
+ --ds-grey-medium: var(--ds-grey-60);
60
+ --ds-grey-light: var(--ds-grey-0);
61
+ }
62
+
63
+
64
+ /* Basic styles: Available colors
65
+ */
66
+
67
+ :root {
68
+ --ds-simplyview: #0083CA;
69
+ --ds-simplyview-dark: #0083CA;
70
+ --ds-simplyview-contrast: var(--ds-white);
71
+ --ds-simplyview-light: #04A7FF;
72
+ --ds-simplyview-bump: #039FF4;
73
+ --ds-simplyview-gradient: linear-gradient( 180deg, var(--ds-simplyview-light), var(--ds-simplyview-dark) );
74
+ --ds-simplyview-gradient-bump: linear-gradient( 180deg, var(--ds-simplyview-bump), var(--ds-simplyview-light) 95%, var(--ds-simplyview-dark) 100%);
75
+
76
+ --ds-simplyedit: #F26522;
77
+ --ds-simplyedit-light: #F47B3E;
78
+ --ds-simplyedit-dark: #D74B14;
79
+ --ds-simplyedit-bump: #EA5922;
80
+ --ds-simplyedit-contrast: var(--ds-white);
81
+ --ds-simplyedit-gradient: linear-gradient( 180deg, var(--ds-simplyedit-light), var(--ds-simplyedit-dark) );
82
+ --ds-simplyedit-gradient-bump: linear-gradient( 180deg, var(--ds-simplyedit-bump), var(--ds-simplyedit-light) 95%, var(--ds-simplyedit-dark) 100%);
83
+
84
+ --ds-simplycode: #ae47ff;
85
+ --ds-simplycode-light:#c880ff;
86
+ --ds-simplycode-dark:#8d00f8;
87
+ --ds-simplycode-bump:#b65cfc;
88
+ --ds-simplycode-contrast: var(--ds-white);
89
+ --ds-simplycode-gradient: linear-gradient( 180deg, var(--ds-simplycode-light), var(--ds-simplycode-dark) );
90
+ --ds-simplycode-gradient-bump: linear-gradient( 180deg, var(--ds-simplycode-bump), var(--ds-simplycode-light) 95%, var(--ds-simplycode-dark) 100%);
91
+
92
+ --ds-simplypresent: #00d455;
93
+ --ds-simplypresent-light:#02da58;;
94
+ --ds-simplypresent-dark:#01973d;
95
+ --ds-simplypresent-bump:#00b865;
96
+ --ds-simplypresent-contrast: var(--ds-white);
97
+ --ds-simplypresent-gradient: linear-gradient( 180deg, var(--ds-simplypresent-light), var(--ds-simplypresent-dark) );
98
+ --ds-simplypresent-gradient-bump: linear-gradient( 180deg, var(--ds-simplypresent-bump), var(--ds-simplypresent-light) 95%, var(--ds-simplypresent-dark) 100%);
99
+
100
+ --ds-simplystore: #ffcc00;
101
+ --ds-simplystore-light: #ffe680;
102
+ --ds-simplystore-dark: #e4a802;
103
+ --ds-simplystore-bump: #ffbb00;
104
+ --ds-simplystore-contrast: var(--ds-black);
105
+ --ds-simplystore-gradient: linear-gradient( 180deg, var(--ds-simplystore-light), var(--ds-simplystore-dark));
106
+ --ds-simplystore-gradient-bump: linear-gradient( 180deg, var(--ds-simplystore-bump), var(--ds-simplystore-light) 95%, var(--ds-simplystore-dark) 100%);
107
+ }
108
+ .ds-bg-simplyview {
109
+ background-color: var(--ds-simplyview);
110
+ color: var(--ds-simplyview-contrast);
111
+ }
112
+ .ds-bg-simplyview-gradient {
113
+ color: var(--ds-simplyview-contrast);
114
+ background: var(--ds-simplyview-gradient);
115
+ }
116
+ .ds-bg-simplyview-gradient-bump {
117
+ color: var(--ds-simplyview-contrast);
118
+ background: var(--ds-simplyview-gradient-bump);
119
+ }
120
+
121
+ .ds-bg-simplyedit {
122
+ background-color: var(--ds-simplyedit);
123
+ color: var(--ds-simplyedit-contrast);
124
+ }
125
+ .ds-bg-simplyedit-gradient {
126
+ color: var(--ds-simplyview-contrast);
127
+ background: var(--ds-simplyedit-gradient);
128
+ }
129
+ .ds-bg-simplyedit-gradient-bump {
130
+ color: var(--ds-simplyview-contrast);
131
+ background: var(--ds-simplyedit-gradient-bump);
132
+ }
133
+
134
+ .ds-bg-simplycode {
135
+ background-color: var(--ds-simplycode);
136
+ color: var(--ds-simplycode-contrast);
137
+ }
138
+ .ds-bg-simplycode-gradient {
139
+ color: var(--ds-simplycode-contrast);
140
+ background: var(--ds-simplycode-gradient);
141
+ }
142
+ .ds-bg-simplycode-gradient-bump {
143
+ color: var(--ds-simplycode-contrast);
144
+ background: var(--ds-simplycode-gradient-bump);
145
+ }
146
+
147
+ .ds-bg-simplypresent {
148
+ background-color: var(--ds-simplypresent);
149
+ color: var(--ds-simplypresent-contrast);
150
+ }
151
+ .ds-bg-simplypresent-gradient {
152
+ color: var(--ds-simplypresent-contrast);
153
+ background: var(--ds-simplypresent-gradient);
154
+ }
155
+ .ds-bg-simplypresent-gradient-bump {
156
+ color: var(--ds-simplypresent-contrast);
157
+ background: var(--ds-simplypresent-gradient-bump);
158
+ }
159
+
160
+ .ds-bg-simplystore {
161
+ background-color: var(--ds-simplystore);
162
+ color: var(--ds-simplystore-contrast);
163
+ }
164
+ .ds-bg-simplystore-gradient {
165
+ color: var(--ds-simplystore-contrast);
166
+ background: var(--ds-simplystore-gradient);
167
+ }
168
+ .ds-bg-simplystore-gradient-bump {
169
+ color: var(--ds-simplystore-contrast);
170
+ background: var(--ds-simplystore-gradient-bump);
171
+ }
172
+
173
+ /* Basic styles: Alert Colors
174
+ */
175
+
176
+
177
+
178
+ /* Basic styles: Typography
179
+ */
180
+
181
+ @import url('https://fonts.googleapis.com/css2?family=Lato:ital,wght@0,300;1,300&family=Roboto+Condensed:ital@0;1&display=swap');
182
+ :root {
183
+ --ds-body-font: 'Lato', sans-serif;
184
+ --ds-heading-font: 'Roboto Condensed', Helvetica, sans-serif;
185
+ }
186
+
187
+
188
+ /* Basic styles: Typography
189
+ */
190
+
191
+ :root {
192
+ --ds-font-size: 1rem;
193
+ --ds-font-weight: 300;
194
+ --ds-line-height: calc(1.6 * var(--ds-font-size));
195
+ --ds-color: var(--ds-black);
196
+ --ds-color-transparent: rgba(0,0,0,0);
197
+ --ds-contrast: var(--ds-grey-dark);
198
+ --ds-background: var(--ds-white);
199
+ --ds-background-transparent: rgba(255,255,255,0);
200
+ --ds-heading-weight: 400;
201
+ --ds-heading-multiplier: 1.27201965;
202
+ --ds-spacing: var(--ds-line-height);
203
+ }
204
+ :root, html, body {
205
+ background-color: var(--ds-background);
206
+ color: var(--ds-color);
207
+ }
208
+ body {
209
+ font-family: var(--ds-body-font);
210
+ font-size: var(--ds-font-size);
211
+ font-weight: var(--ds-font-weight);
212
+ line-height: var(--ds-line-height);
213
+ }
214
+ h1 {
215
+ --ds-font-size: calc(1em * var(--ds-heading-multiplier) * var(--ds-heading-multiplier) * var(--ds-heading-multiplier));
216
+ line-height: calc(2 * var(--ds-line-height));
217
+ }
218
+ h2 {
219
+ --ds-font-size: calc(1em * var(--ds-heading-multiplier) * var(--ds-heading-multiplier));
220
+ line-height: calc(2 * var(--ds-line-height));
221
+ }
222
+ h3 {
223
+ --ds-font-size: calc(1em * var(--ds-heading-multiplier));
224
+ }
225
+ h1, h2, h3, h4, h5, h6 {
226
+ font-size: var(--ds-font-size);
227
+ font-weight: var(--ds-heading-weight);
228
+ font-family: var(--ds-heading-font);
229
+ }
230
+ h4, h5, h6 {
231
+ font-size: 1em;
232
+ }
233
+ h1, h2, h3, h4, h5, h6, p, ol, ul, dl {
234
+ margin: var(--ds-spacing) 0;
235
+ }
236
+ dd, li, blockquote {
237
+ margin-left: var(--ds-spacing);
238
+ }
239
+ a:link {
240
+ color: var(--ds-primary-dark);
241
+ }
242
+ a:visited {
243
+ color: var(--ds-support-dark);
244
+ }
245
+ a.ds-link-hover,
246
+ a:hover {
247
+ color: var(--ds-primary-light);
248
+ }
249
+ a.ds-link-active,
250
+ a:active {
251
+ color: var(--ds-primary-light);
252
+ }
253
+
254
+ /* Basic styles: Feather Icons */
255
+
256
+ .ds-icon {
257
+ display: inline-block;
258
+ height: var(--ds-line-height);
259
+ width: 1em;
260
+ vertical-align: bottom;
261
+ }
262
+
263
+ .ds-icon-feather {
264
+ stroke: currentColor;
265
+ stroke-width: 2;
266
+ stroke-linecap: square;
267
+ stroke-linejoin: square;
268
+ fill: none;
269
+ }
270
+
271
+ /* Basic styles: Feather Icons */
272
+
273
+ :root {
274
+ --ds-icon-arrow-updown-black: url('data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIGlkPSJDYXBhXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IiB4bWw6c3BhY2U9InByZXNlcnZlIiB3aWR0aD0iMTBweCIgdmlld0JveD0iMCAwIDQwMS45OTggNDAxLjk5OCIgaGVpZ2h0PSIyMHB4Ij4KPHBhdGggZD0iTTczLjA5MiwxNjQuNDUyaDI1NS44MTNjNC45NDksMCw5LjIzMy0xLjgwNywxMi44NDgtNS40MjRjMy42MTMtMy42MTYsNS40MjctNy44OTgsNS40MjctMTIuODQ3ICAgIGMwLTQuOTQ5LTEuODEzLTkuMjI5LTUuNDI3LTEyLjg1TDIxMy44NDYsNS40MjRDMjEwLjIzMiwxLjgxMiwyMDUuOTUxLDAsMjAwLjk5OSwwcy05LjIzMywxLjgxMi0xMi44NSw1LjQyNEw2MC4yNDIsMTMzLjMzMSAgICBjLTMuNjE3LDMuNjE3LTUuNDI0LDcuOTAxLTUuNDI0LDEyLjg1YzAsNC45NDgsMS44MDcsOS4yMzEsNS40MjQsMTIuODQ3QzYzLjg2MywxNjIuNjQ1LDY4LjE0NCwxNjQuNDUyLDczLjA5MiwxNjQuNDUyeiIvPgo8cGF0aCBkPSJNMzI4LjkwNSwyMzcuNTQ5SDczLjA5MmMtNC45NTIsMC05LjIzMywxLjgwOC0xMi44NSw1LjQyMWMtMy42MTcsMy42MTctNS40MjQsNy44OTgtNS40MjQsMTIuODQ3ICAgIGMwLDQuOTQ5LDEuODA3LDkuMjMzLDUuNDI0LDEyLjg0OEwxODguMTQ5LDM5Ni41N2MzLjYyMSwzLjYxNyw3LjkwMiw1LjQyOCwxMi44NSw1LjQyOHM5LjIzMy0xLjgxMSwxMi44NDctNS40MjhsMTI3LjkwNy0xMjcuOTA2ICAgIGMzLjYxMy0zLjYxNCw1LjQyNy03Ljg5OCw1LjQyNy0xMi44NDhjMC00Ljk0OC0xLjgxMy05LjIyOS01LjQyNy0xMi44NDdDMzM4LjEzOSwyMzkuMzUzLDMzMy44NTQsMjM3LjU0OSwzMjguOTA1LDIzNy41NDl6Ii8+Cjwvc3ZnPg==');
275
+ --ds-icon-arrow-up-black: url('data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSIgd2lkdGg9IjEwcHgiIGhlaWdodD0iMjBweCIgdmlld0JveD0iMCAwIDQwMS45OTggNDAxLjk5OCI+CjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAsMTIwKSI+CjxwYXRoIGQ9Ik03My4wOTIsMTY0LjQ1MiBoMjU1LjgxMyBjNC45NDksMCw5LjIzMy0xLjgwNywxMi44NDgtNS40MjQgYzMuNjEzLTMuNjE2LDUuNDI3LTcuODk4LDUuNDI3LTEyLjg0NyAgICBjMC00Ljk0OS0xLjgxMy05LjIyOS01LjQyNy0xMi44NUwyMTMuODQ2LDUuNDI0QzIxMC4yMzIsMS44MTIsMjA1Ljk1MSwwLDIwMC45OTksMHMtOS4yMzMsMS44MTItMTIuODUsNS40MjRMNjAuMjQyLDEzMy4zMzEgICAgYy0zLjYxNywzLjYxNy01LjQyNCw3LjkwMS01LjQyNCwxMi44NWMwLDQuOTQ4LDEuODA3LDkuMjMxLDUuNDI0LDEyLjg0N0M2My44NjMsMTYyLjY0NSw2OC4xNDQsMTY0LjQ1Miw3My4wOTIsMTY0LjQ1MnoiLz4KPC9nPjwvc3ZnPg==');
276
+ --ds-icon-arrow-down-black: url('data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSIgd2lkdGg9IjEwcHgiIGhlaWdodD0iMjBweCIgdmlld0JveD0iMCAwIDQwMS45OTggNDAxLjk5OCI+CjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAsLTEyMCkiPgogICAgPHBhdGggZD0iTTMyOC45MDUsMjM3LjU0OUg3My4wOTJjLTQuOTUyLDAtOS4yMzMsMS44MDgtMTIuODUsNS40MjFjLTMuNjE3LDMuNjE3LTUuNDI0LDcuODk4LTUuNDI0LDEyLjg0NyAgICBjMCw0Ljk0OSwxLjgwNyw5LjIzMyw1LjQyNCwxMi44NDhMMTg4LjE0OSwzOTYuNTdjMy42MjEsMy42MTcsNy45MDIsNS40MjgsMTIuODUsNS40MjhzOS4yMzMtMS44MTEsMTIuODQ3LTUuNDI4bDEyNy45MDctMTI3LjkwNiAgICBjMy42MTMtMy42MTQsNS40MjctNy44OTgsNS40MjctMTIuODQ4YzAtNC45NDgtMS44MTMtOS4yMjktNS40MjctMTIuODQ3QzMzOC4xMzksMjM5LjM1MywzMzMuODU0LDIzNy41NDksMzI4LjkwNSwyMzcuNTQ5eiIvPgo8L2c+Cjwvc3ZnPgo=');
277
+ }
278
+
279
+
280
+ /* Grid: 12 column grid */
281
+
282
+ :root {
283
+ --ds-grid-spacing: var(--ds-spacing);
284
+ --ds-grid-spacing-column: var(--ds-grid-spacing);
285
+ --ds-grid-spacing-row: var(--ds-grid-spacing);
286
+ --ds-grid-columns: 1;
287
+ --ds-screen-size: tiny;
288
+ }
289
+ .ds-grid-fixed {
290
+ display: grid;
291
+ grid-column-gap: var(--ds-grid-spacing-column);
292
+ grid-row-gap: var(--ds-grid-spacing-row);
293
+ /* add row-gap/column-gap or gap */
294
+ grid-auto-flow: row;
295
+ grid-template-rows: repeat(1, auto);
296
+ grid-template-columns: repeat(var(--ds-grid-columns), 1fr);
297
+ }
298
+ .ds-grid-dense {
299
+ grid-auto-flow: dense;
300
+ }
301
+ .ds-grid-fixed > * { /* FIXME: only target grid items */
302
+ max-width: 100%;
303
+ overflow: hidden; /* FIXME: better alternative? */
304
+ }
305
+ .ds-grid-span-2 {
306
+ grid-column: auto / span 2;
307
+ }
308
+ .ds-grid-span-3 {
309
+ grid-column: auto / span 3;
310
+ }
311
+ .ds-grid-span-4 {
312
+ grid-column: auto / span 4;
313
+ }
314
+ .ds-grid-span-5 {
315
+ grid-column: auto / span 5;
316
+ }
317
+ .ds-grid-span-6 {
318
+ grid-column: auto / span 6;
319
+ }
320
+ .ds-grid-span-7 {
321
+ grid-column: auto / span 7;
322
+ }
323
+ .ds-grid-span-8 {
324
+ grid-column: auto / span 8;
325
+ }
326
+ .ds-grid-span-9 {
327
+ grid-column: auto / span 9;
328
+ }
329
+ .ds-grid-span-10 {
330
+ grid-column: auto / span 10;
331
+ }
332
+ .ds-grid-span-11 {
333
+ grid-column: auto / span 11;
334
+ }
335
+ .ds-grid-span-6 {
336
+ grid-column: auto / span 12;
337
+ }
338
+ .ds-grid-span-all {
339
+ grid-column: 1 / -1;
340
+ }
341
+ .ds-grid-row-2 {
342
+ grid-row: auto / span 2;
343
+ }
344
+ .ds-grid-row-3 {
345
+ grid-row: auto / span 3;
346
+ }
347
+ .ds-grid-row-4 {
348
+ grid-row: auto / span 4;
349
+ }
350
+ .ds-grid-row-5 {
351
+ grid-row: auto / span 5;
352
+ }
353
+ .ds-grid-row-6 {
354
+ grid-row: auto / span 6;
355
+ }
356
+ .ds-grid-row-7 {
357
+ grid-row: auto / span 7;
358
+ }
359
+ .ds-grid-row-8 {
360
+ grid-row: auto / span 8;
361
+ }
362
+ .ds-grid-row-9 {
363
+ grid-row: auto / span 9;
364
+ }
365
+ .ds-grid-row-10 {
366
+ grid-row: auto / span 10;
367
+ }
368
+ :root {
369
+ --ds-screen-size: tiny;
370
+ --ds-grid-columns: 1;
371
+ }
372
+ @media (min-width: 480px) {
373
+ :root {
374
+ --ds-screen-size: small;
375
+ }
376
+ :root,
377
+ .ds-grid-2,
378
+ .ds-grid-3,
379
+ .ds-grid-4,
380
+ .ds-grid-6,
381
+ .ds-grid-12 {
382
+ --ds-grid-columns: 2;
383
+ }
384
+ }
385
+ @media (min-width: 640px) {
386
+ :root {
387
+ --ds-screen-size: tablet;
388
+ }
389
+ :root,
390
+ .ds-grid-4,
391
+ .ds-grid-6,
392
+ .ds-grid-12 {
393
+ --ds-grid-columns: 4;
394
+ }
395
+ .ds-grid-3 {
396
+ --ds-grid-columns: 3;
397
+ }
398
+ }
399
+ @media (min-width: 992px) {
400
+ :root {
401
+ --ds-screen-size: medium;
402
+ }
403
+ :root,
404
+ .ds-grid-6,
405
+ .ds-grid-12 {
406
+ --ds-grid-columns: 6;
407
+ }
408
+ .ds-grid-6,
409
+ .ds-grid-12 {
410
+ --ds-grid-columns: 6;
411
+ }
412
+ }
413
+ @media (min-width: 1200px) {
414
+ :root {
415
+ --ds-screen-size: large;
416
+ }
417
+ .ds-grid-12 {
418
+ --ds-grid-columns: 12;
419
+ }
420
+ }
421
+ @media (min-width: 1800px) {
422
+ :root {
423
+ --ds-screen-size: extra-large;
424
+ }
425
+ }
426
+
427
+
428
+ /* Grid: Flexible grid
429
+ */
430
+
431
+ :root {
432
+ --ds-grid-min-colwidth: 15rem;
433
+ }
434
+ .ds-grid {
435
+ --ds-grid-spacing-column: var(--ds-grid-spacing);
436
+ --ds-grid-spacing-row: var(--ds-grid-spacing);
437
+ display: grid;
438
+ grid-column-gap: var(--ds-grid-spacing-column);
439
+ grid-row-gap: var(--ds-grid-spacing-row);
440
+ grid-template-columns: repeat(auto-fit, minmax(var(--ds-grid-min-colwidth), 1fr));
441
+ }
442
+
443
+ /* Forms: Buttons */
444
+
445
+ :root {
446
+ --ds-button-spacing: calc(0.5 * var(--ds-input-spacing));
447
+ --ds-button-bg-color: var(--ds-grey-light);
448
+ --ds-button-default-bg-color: var(--ds-white);
449
+ --ds-button-border-color: var(--ds-grey-light);
450
+ --ds-button-disabled-color: var(--ds-grey-medium);
451
+ --ds-button-disabled-bg-color: var(--ds-white);
452
+ --ds-button-primary-bg-color: var(--ds-primary);
453
+ --ds-button-primary-color: var(--ds-primary-contrast);
454
+ --ds-button-primary-border-color: var(--ds-primary);
455
+ --ds-button-line-height: calc(var(--ds-line-height) * 1.5);
456
+ --ds-button-shadow: var(--ds-shadow-tiny);
457
+ --ds-button-shadow-hover: var(--ds-shadow-small);
458
+ --ds-button-radius: 3px;
459
+ }
460
+ :root .ds-button {
461
+ line-height: var(--ds-button-line-height);
462
+ min-height: var(--ds-button-line-height);
463
+ }
464
+ .ds-button {
465
+ margin: 0 var(--ds-button-spacing) var(--ds-button-spacing) 0;
466
+ overflow: visible;
467
+ font: inherit;
468
+ color: inherit;
469
+ display: inline-block;
470
+ box-sizing: border-box;
471
+ padding: 0 calc(0.5 * var(--ds-line-height));
472
+ vertical-align: middle;
473
+ font-size: calc(0.875 * var(--ds-font-size));
474
+ text-align: center;
475
+ text-decoration: none;
476
+ text-transform: uppercase;
477
+ background-color: var(--ds-button-bg-color);
478
+ outline: 1px solid var(--ds-button-border-color);
479
+ border: 0;
480
+ white-space: nowrap;
481
+ box-shadow: var(--ds-button-shadow);
482
+ border-radius: var(--ds-button-radius);
483
+ }
484
+ .ds-button::-moz-focus-inner {
485
+ border: 0;
486
+ }
487
+ .ds-button:hover,
488
+ .ds-button:focus {
489
+ cursor: pointer;
490
+ text-decoration: none;
491
+ color: inherit;
492
+ box-shadow: var(--ds-button-shadow-hover);
493
+ }
494
+ a.ds-button,
495
+ a.ds-button:hover,
496
+ a.ds-button:active,
497
+ a.ds-button:visited {
498
+ color: inherit;
499
+ }
500
+ .ds-button-default {
501
+ background-color: var(--ds-button-default-bg-color);
502
+ }
503
+ a.ds-button-primary, a.ds-button-primary:hover,
504
+ a.ds-button-primary:active, a.ds-button-primary:visited,
505
+ .ds-button-primary, .ds-button-primary:hover {
506
+ background-color: var(--ds-button-primary-bg-color);
507
+ color: var(--ds-button-primary-color);
508
+ border-color: var(--ds-button-primary-border-color);
509
+ }
510
+ a.ds-button-support, a.ds-button-support:hover,
511
+ a.ds-button-support:active, a.ds-button-support:visited,
512
+ .ds-button-support, .ds-button-support:hover {
513
+ background-color: var(--ds-button-support-bg-color);
514
+ color: var(--ds-button-support-color);
515
+ border-color: var(--ds-button-support-border-color);
516
+ }
517
+ .ds-button:disabled {
518
+ background-color: var(--ds-button-disabled-bg-color);
519
+ color: var(--ds-button-disabled-color);
520
+ }
521
+ .ds-button:disabled:hover {
522
+ cursor: not-allowed;
523
+ box-shadow: 0 0 0;
524
+ }
525
+ .ds-button-group {
526
+ display: flex;
527
+ flex-wrap: wrap;
528
+ }
529
+ .ds-button-light {
530
+ background: none;
531
+ outline: 0;
532
+ padding: 0;
533
+ }
534
+ .ds-button-naked {
535
+ background: none;
536
+ outline: 0;
537
+ }
538
+ .ds-button-close {
539
+ position: absolute;
540
+ right: var(--ds-spacing);
541
+ margin: 0;
542
+ }
543
+
544
+ .ds-button-grow {
545
+ display: block;
546
+ width: 100%;
547
+ }
548
+
549
+ /* Forms: Icon Buttons
550
+ */
551
+
552
+ .ds-button {
553
+ position: relative;
554
+ }
555
+ .ds-button .ds-icon {
556
+ height: var(--ds-button-line-height);
557
+ }
558
+
559
+ .ds-button-bar .ds-button:not(:last-child):not(:only-child) {
560
+ margin-right: 0;
561
+ border-right: 0;
562
+ }
563
+ .ds-button-icon {
564
+ height: 60px;
565
+ border-top: 1px solid transparent;
566
+ border-bottom: 2px solid transparent;
567
+ transition: background 0.2s ease;
568
+ font-size: 11px;
569
+ letter-spacing: 0;
570
+ font-family: arial, helvetica, sans-serif;
571
+ white-space: nowrap;
572
+ user-select: none;
573
+ vertical-align: top;
574
+ min-width: 50px;
575
+ text-align: center;
576
+ cursor: pointer;
577
+ padding: 0 4px;
578
+ text-transform: none;
579
+ background: transparent;
580
+ outline: none;
581
+ box-shadow: none;
582
+ border-radius: 0;
583
+ color: #333;
584
+ }
585
+
586
+ .ds-button-icon:hover,
587
+ .ds-button-icon:active {
588
+ border-bottom: 2px solid var(--ds-primary);
589
+ box-shadow: none;
590
+ }
591
+ .ds-button-icon .ds-icon {
592
+ height: 26px;
593
+ font-size: 26px;
594
+ padding: 0 4px;
595
+ display: block;
596
+ margin: 6px auto -14px;
597
+ position: relative;
598
+ }
599
+ .ds-button-icon.ds-selected {
600
+ border-top-color: var(--ds-grey-40);
601
+ background-color: var(--ds-grey-light);
602
+ border-left: 1px solid var(--ds-grey-40);
603
+ border-right: 1px solid var(--ds-white);
604
+ }
605
+ .ds-toolbar {
606
+ position: absolute;
607
+ top: 0;
608
+ border-top: 1px solid var(--ds-primary);
609
+ background: linear-gradient(180deg, var(--ds-white) 0, var(--ds-white) 95%, var(--ds-grey-40) 100%);
610
+ white-space: nowrap;
611
+ min-width: 100%;
612
+ min-height: 60px;
613
+ display: flex;
614
+ }
615
+ .ds-toolbar .ds-button {
616
+ margin: 0;
617
+ }
618
+ .ds-toolbar-title {
619
+ padding: 0 10px;
620
+ font-size: 16px;
621
+ width: auto;
622
+ font-family: 'Varela Round', sans-serif;
623
+ text-transform: none;
624
+ background: var(--ds-primary-gradient-bump);
625
+ color: var(--ds-primary-contrast);
626
+ border: 0;
627
+ height: 60px;
628
+ cursor: default;
629
+ border-radius: 0;
630
+ box-shadow: 0;
631
+ outline: 0;
632
+ display: flex;
633
+ flex-direction: column;
634
+ justify-content: center;
635
+ }
636
+ .ds-toolbar .ds-toolbar-title {
637
+ margin-top: 0;
638
+ }
639
+ .ds-toolbar-spacer {
640
+ border-left: 1px solid #ccc;
641
+ height: 60px;
642
+ position: absolute;
643
+ display: inline-block;
644
+ }
645
+ .ds-button-expands:not(.ds-selected)::after {
646
+ content: "";
647
+ display: block;
648
+ position: absolute;
649
+ bottom: 6px;
650
+ left: 50%;
651
+ margin-left: -3px;
652
+ width: 0;
653
+ border-top: 3px solid #888;
654
+ border-bottom: 0;
655
+ border-left: 3px solid transparent;
656
+ border-right: 3px solid transparent;
657
+ }
658
+ .ds-toolbar .ds-push-right {
659
+ margin-left: auto;
660
+ }
661
+
662
+ /* Forms: Nightmode */
663
+
664
+ .ds-toolbar-title img {
665
+ height: 40px;
666
+ }
667
+ .ds-nightmode {
668
+ background-color: var(--ds-grey-80);
669
+ color: var(--ds-white);
670
+ }
671
+ .ds-nightmode a:link,
672
+ .ds-nightmode a:visited,
673
+ .ds-nightmode a.ds-link-hover,
674
+ .ds-nightmode a:hover,
675
+ .ds-nightmode a.ds-link-active,
676
+ .ds-nightmode a:active {
677
+ color: var(--ds-primary-light);
678
+ }
679
+
680
+ .ds-nightmode .ds-toolbar {
681
+ background: linear-gradient(180deg, var(--ds-grey-90) 0, var(--ds-grey-80) 95%, var(--ds-black) 100%);
682
+ color: var(--ds-white);
683
+ }
684
+ .ds-nightmode .ds-button-icon {
685
+ color: var(--ds-white);
686
+ }
687
+ .ds-nightmode .ds-button-icon.ds-selected {
688
+ background-color: var(--ds-grey-80);
689
+ border-left-color: var(--ds-black);
690
+ border-top-color: var(--ds-black);
691
+ border-right-color: var(--ds-grey-60);
692
+ }
693
+ .ds-nightmode .ds-button[disabled] {
694
+ background-color: transparent;
695
+ color: var(--ds-grey-60);
696
+ }
697
+
698
+ /* Forms: Icon Buttons with State
699
+ */
700
+
701
+ .ds-button[data-simply-state] {
702
+ height: var(--ds-button-line-height);
703
+ overflow: hidden;
704
+ box-sizing: content-box;
705
+ white-space: normal;
706
+ }
707
+ .ds-button[data-simply-state] .ds-button-state {
708
+ height: var(--ds-button-line-height);
709
+ transform: translateY(calc(-1 * var(--ds-button-line-height)));
710
+ transition: transform 0.2s ease;
711
+ display: block;
712
+ margin: 0;
713
+ }
714
+ .ds-button[data-simply-state="open"] .ds-button-state,
715
+ label[data-simply-state] > input[type="checkbox"]:checked ~ .ds-button-state {
716
+ transform: translateY(0);
717
+ }
718
+ label[data-simply-state] > input[type="checkbox"],
719
+ label[data-simply-state] > input[type="radio"] {
720
+ display: none;
721
+ }
722
+
723
+
724
+ /* Forms: Icon Buttons with State
725
+ */
726
+
727
+
728
+
729
+ /* Forms: Inputs */
730
+
731
+ :root {
732
+ --ds-input-border: var(--ds-grey-light);
733
+ --ds-input-spacing: var(--ds-spacing);
734
+ --ds-input-font: var(--ds-font-family);
735
+ --ds-radio-spacing: 0.2em;
736
+ }
737
+ .ds-form-group {
738
+ margin: var(--ds-input-spacing) 0;
739
+ }
740
+ label {
741
+ display: block;
742
+ }
743
+ form.ds-grid-fixed label,
744
+ form.ds-grid label,
745
+ form .ds-grid-fixed label,
746
+ form .ds-grid label {
747
+ margin: 0;
748
+ }
749
+ input[type="text"],
750
+ input[type="number"],
751
+ input[type="email"],
752
+ input[type="date"],
753
+ input[type="datetime-local"],
754
+ input[type="time"],
755
+ input[type="week"],
756
+ input[type="file"],
757
+ input[type="password"],
758
+ input[type="search"],
759
+ input[type="tel"],
760
+ input[type="url"],
761
+ select {
762
+ width: 100%;
763
+ display: block;
764
+ height: calc(var(--ds-line-height) * 1.5);
765
+ margin: 0;
766
+ margin-bottom: calc(var(--ds-line-height) * 0.5);
767
+ box-sizing: border-box;
768
+ background: inherit;
769
+ border: 0px;
770
+ outline: 1px solid var(--ds-input-border);
771
+ padding: 0 0.5em;
772
+ font-family: var(--ds-input-font);
773
+ font-size: inherit;
774
+ line-height: inherit;
775
+ color: inherit;
776
+ }
777
+ textarea {
778
+ width: 100%;
779
+ border: 0;
780
+ outline: 1px solid var(--ds-input-border);
781
+ padding: 0 0.5em;
782
+ font-family: var(--ds-input-font);
783
+ font-size: inherit;
784
+ line-height: inherit;
785
+ margin: 0;
786
+ height: calc(3 * var(--ds-line-height));
787
+ margin-bottom: cal(0.5 * var(--ds-line-height));
788
+ display: block;
789
+ color: inherit;
790
+ background: inherit;
791
+ }
792
+ input[type="radio"],
793
+ input[type="checkbox"] {
794
+ width: auto;
795
+ height: auto;
796
+ padding: 0;
797
+ }
798
+ .ds-form-radio label {
799
+ margin: 0;
800
+ }
801
+ select {
802
+ -webkit-appearance: none;
803
+ -moz-appearance: none;
804
+ appearance: none;
805
+ background: url('data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIGlkPSJDYXBhXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IiB4bWw6c3BhY2U9InByZXNlcnZlIiB3aWR0aD0iMTBweCIgdmlld0JveD0iMCAwIDQwMS45OTggNDAxLjk5OCIgaGVpZ2h0PSIyMHB4Ij4KPHBhdGggZD0iTTczLjA5MiwxNjQuNDUyaDI1NS44MTNjNC45NDksMCw5LjIzMy0xLjgwNywxMi44NDgtNS40MjRjMy42MTMtMy42MTYsNS40MjctNy44OTgsNS40MjctMTIuODQ3ICAgIGMwLTQuOTQ5LTEuODEzLTkuMjI5LTUuNDI3LTEyLjg1TDIxMy44NDYsNS40MjRDMjEwLjIzMiwxLjgxMiwyMDUuOTUxLDAsMjAwLjk5OSwwcy05LjIzMywxLjgxMi0xMi44NSw1LjQyNEw2MC4yNDIsMTMzLjMzMSAgICBjLTMuNjE3LDMuNjE3LTUuNDI0LDcuOTAxLTUuNDI0LDEyLjg1YzAsNC45NDgsMS44MDcsOS4yMzEsNS40MjQsMTIuODQ3QzYzLjg2MywxNjIuNjQ1LDY4LjE0NCwxNjQuNDUyLDczLjA5MiwxNjQuNDUyeiIvPgo8cGF0aCBkPSJNMzI4LjkwNSwyMzcuNTQ5SDczLjA5MmMtNC45NTIsMC05LjIzMywxLjgwOC0xMi44NSw1LjQyMWMtMy42MTcsMy42MTctNS40MjQsNy44OTgtNS40MjQsMTIuODQ3ICAgIGMwLDQuOTQ5LDEuODA3LDkuMjMzLDUuNDI0LDEyLjg0OEwxODguMTQ5LDM5Ni41N2MzLjYyMSwzLjYxNyw3LjkwMiw1LjQyOCwxMi44NSw1LjQyOHM5LjIzMy0xLjgxMSwxMi44NDctNS40MjhsMTI3LjkwNy0xMjcuOTA2ICAgIGMzLjYxMy0zLjYxNCw1LjQyNy03Ljg5OCw1LjQyNy0xMi44NDhjMC00Ljk0OC0xLjgxMy05LjIyOS01LjQyNy0xMi44NDdDMzM4LjEzOSwyMzkuMzUzLDMzMy44NTQsMjM3LjU0OSwzMjguOTA1LDIzNy41NDl6Ii8+Cjwvc3ZnPg==');
806
+ background-repeat: no-repeat;
807
+ background-position: right 1em center;
808
+ }
809
+ select[multiple] {
810
+ height: auto;
811
+ background: none;
812
+ -webkit-appearance: menulist;
813
+ -moz-appearance: menulist;
814
+ appearance: menulist;
815
+ }
816
+
817
+
818
+ /* Components: Accordion */
819
+
820
+ .ds-accordion summary {
821
+ outline: none;
822
+ cursor: pointer;
823
+ border-top: 1px solid var(--ds-contrast);
824
+ padding: calc(0.5 * var(--ds-spacing)) var(--ds-spacing);
825
+ margin-bottom: -1px; /* to collapse the borders */
826
+ }
827
+ .ds-accordion summary:last-of-type {
828
+ border-bottom: 1px solid var(--ds-contrast);
829
+ }
830
+ .ds-accordion summary.ds-grey-light {
831
+ border-color: var(--ds-grey-medium);
832
+ }
833
+
834
+ .ds-accordion details[open] summary ~ * {
835
+ animation: ds-animate-grow 0.5s ease-in-out;
836
+ }
837
+ @keyframes ds-animate-grow {
838
+ 0% { max-height: 0; overflow: hidden;}
839
+ 99% { overflow: hidden;}
840
+ 100% { max-height: 10em; overflow: auto;}
841
+ }
842
+ @keyframes ds-animate-sweep {
843
+ 0% { opacity: 0; margin-left: -10px}
844
+ 100% { opacity: 1; margin-left: 0px}
845
+ }
846
+ .ds-accordion section {
847
+ box-sizing: border-box;
848
+ padding: var(--ds-spacing);
849
+ }
850
+
851
+
852
+ /* Components: Alert */
853
+
854
+ :root {
855
+ --ds-error-color: rgb(253, 143, 143);
856
+ --ds-warning-color: #FFFFCC;
857
+ --ds-info-color: rgb(140, 180, 250);
858
+ }
859
+ .ds-alert {
860
+ padding: 0.05px; /* contain child margins */
861
+ }
862
+ @supports (display: flow-root) {
863
+ .ds-alert {
864
+ display: flow-root;
865
+ padding: 0;
866
+ }
867
+ }
868
+ .ds-alert-error {
869
+ background-color: var(--ds-error-color);
870
+ }
871
+ .ds-alert-warning {
872
+ background-color: var(--ds-warning-color);
873
+ }
874
+ .ds-alert-info {
875
+ background-color: var(--ds-info-color);
876
+ }
877
+
878
+ /* Components: Badge */
879
+
880
+ .ds-badge {
881
+ --ds-badge-color: var(--ds-grey-50);
882
+ --ds-badge-font-color: var(--ds-white);
883
+ --ds-badge-label-color: var(--ds-primary);
884
+ --ds-badge-label-contrast-color: var(--ds-primary-contrast);
885
+ --ds-badge-font-size: 0.66em;
886
+ --ds-badge-height: 2em;
887
+ font-size: var(--ds-badge-font-size);
888
+ display: inline-block;
889
+ align-items: center;
890
+ background: var(--ds-badge-color);
891
+ color: var(--ds-badge-font-color);
892
+ border-radius: 0.3em;
893
+ padding: 0 0.6em;
894
+ text-align: center;
895
+ margin: 0.05em 0;
896
+ margin-right: 0.3em;
897
+ line-height: var(--ds-badge-height);
898
+ max-height: var(--ds-badge-height);
899
+ position: relative;
900
+ }
901
+ .ds-badge-label,
902
+ .ds-badge > label {
903
+ display: inline-flex;
904
+ margin: 0;
905
+ margin-left: -0.6em;
906
+ margin-right: 0.6em;
907
+ padding: 0 0.5em;
908
+ background: var(--ds-badge-label-color);
909
+ color: var(--ds-badge-label-contrast-color);
910
+ float: left;
911
+ min-height: var(--ds-badge-height);
912
+ align-items: center;
913
+ border-radius: 0.3em 0 0 0.3em;
914
+ }
915
+ a.ds-badge {
916
+ color: inherit;
917
+ }
918
+ .ds-badge label .ds-icon,
919
+ .ds-badge-label .ds-icon {
920
+ margin-top: 0;
921
+ height: var(--ds-badge-height);
922
+ }
923
+ .ds-badge-inline {
924
+ display: inline;
925
+ }
926
+ .ds-badge-inverted {
927
+ background: var(--ds-badge-label-color);
928
+ color: var(--ds-badge-label-contrast-color);
929
+ }
930
+ .ds-badge-inverted .ds-badge-label {
931
+ background: var(--ds-badge-color);
932
+ color: var(--ds-badge-font-color);
933
+ }
934
+ .ds-badge-tag {
935
+ position: relative;
936
+ border-radius: 0.3em 0 0 0.3em;
937
+ padding-right: 0.2em;
938
+ margin-right: 0.6em;
939
+ }
940
+ .ds-badge-tag::after {
941
+ content: "";
942
+ display: block;
943
+ border: calc(0.5 * var(--ds-badge-height)) solid transparent;
944
+ border-left: 0.8em solid var(--ds-badge-color);
945
+ position: absolute;
946
+ top: 0;
947
+ left: 100%;
948
+ }
949
+ .ds-badge-tag-reverse {
950
+ position: relative;
951
+ border-radius: 0 5px 5px 0;
952
+ padding-left: 0.2em;
953
+ margin-left: 0.6em;
954
+ }
955
+ .ds-badge-tag-reverse::before {
956
+ content: "";
957
+ display: block;
958
+ border: calc(0.5 * var(--ds-badge-height)) solid transparent;
959
+ border-right: 0.8em solid var(--ds-badge-color);
960
+ position: absolute;
961
+ top: 0;
962
+ right: 100%;
963
+ }
964
+ .ds-badge-inverted.ds-badge-tag::after {
965
+ border-left-color: var(--ds-badge-label-color);
966
+ }
967
+ .ds-badge-inverted.ds-badge-tag-reverse::before {
968
+ border-right-color: var(--ds-badge-label-color);
969
+ }
970
+
971
+
972
+ /* Components: Box */
973
+
974
+ :root {
975
+ --ds-box-radius: 3px;
976
+ --ds-box-shadow: var(--ds-shadow-small);
977
+ }
978
+ .ds-box {
979
+ border-radius: var(--ds-box-radius);
980
+ box-shadow: var(--ds-box-shadow);
981
+ position: relative;
982
+ break-inside: avoid;
983
+ }
984
+ @supports (display: flow-root) {
985
+ .ds-box {
986
+ display: flow-root;
987
+ padding: 0;
988
+ }
989
+ }
990
+ .ds-box-top {
991
+ border-top-left-radius: var(--ds-box-radius);
992
+ border-top-right-radius: var(--ds-box-radius);
993
+ }
994
+ .ds-box-bottom {
995
+ border-bottom-left-radius: var(--ds-box-radius);
996
+ border-bottom-right-radius: var(--ds-box-radius);
997
+ }
998
+ .ds-dark-background {
999
+ color: white;
1000
+ text-shadow: 0 0 2px var(--ds-black);
1001
+ }
1002
+
1003
+
1004
+ /* Components: Card */
1005
+
1006
+ :root {
1007
+ --ds-card-radius: var(--ds-box-radius);
1008
+ --ds-card-padding: var(--ds-spacing);
1009
+ --ds-card-shadow: var(--ds-box-shadow);
1010
+ }
1011
+ .ds-card {
1012
+ display: flex;
1013
+ flex-direction: column;
1014
+ box-shadow: var(--ds-card-shadow);
1015
+ border-radius: var(--ds-card-radius);
1016
+ position: relative;
1017
+ break-inside: avoid;
1018
+ padding: 0.05px;
1019
+ }
1020
+ .ds-card-header,
1021
+ .ds-card-header-image > img {
1022
+ border-radius: var(--ds-card-radius) var(--ds-card-radius) 0 0;
1023
+ }
1024
+ .ds-card-footer,
1025
+ .ds-card-footer-image > img {
1026
+ border-radius: 0 0 var(--ds-card-radius) var(--ds-card-radius);
1027
+ }
1028
+ .ds-card-header,
1029
+ .ds-card-footer {
1030
+ flex-grow: 0;
1031
+ }
1032
+ .ds-card-header,
1033
+ .ds-card-footer,
1034
+ .ds-card-content {
1035
+ position: relative;
1036
+ }
1037
+ .ds-card-header-image,
1038
+ .ds-card-footer-image {
1039
+ min-height: calc(var(--ds-line-height) * 6);
1040
+ color: white;
1041
+ text-shadow: 0 0 3px var(--ds-black);
1042
+ }
1043
+ .ds-card-content {
1044
+ flex-grow: 1;
1045
+ }
1046
+ .ds-card img {
1047
+ max-width: 100%;
1048
+ max-height: 100%;
1049
+ object-fit: cover;
1050
+ }
1051
+ .ds-background-image {
1052
+ position: absolute;
1053
+ top: 0;
1054
+ left: 0;
1055
+ width: 100%;
1056
+ height: 100%;
1057
+ object-fit: cover;
1058
+ z-index: -1;
1059
+ }
1060
+
1061
+ /* Components: Datatable */
1062
+
1063
+ :root {
1064
+ --ds-datatable-heading-color: var(--ds-primary);
1065
+ --ds-datatable-heading-contrast: var(--ds-primary-contrast);
1066
+ --ds-datatable-ruler-color: var(--ds-grey-70);
1067
+ --ds-datatable-ruler: calc(3 * var(--ds-line-height) - 1px);
1068
+ --ds-datatable-ruler-end: calc(var(--ds-datatable-ruler) + 1px);
1069
+ }
1070
+ .ds-datatable {
1071
+ table-layout: fixed;
1072
+ width: 100%;
1073
+ border-collapse: collapse;
1074
+ }
1075
+ .ds-datatable thead {
1076
+ background: linear-gradient(to top, var(--ds-primary) 0px, var(--ds-primary) 2px, transparent 2px, transparent);
1077
+ line-height: var(--ds-line-height);
1078
+ text-align: left;
1079
+ }
1080
+ .ds-datatable th {
1081
+ padding: 0 0.5em;
1082
+ cursor: pointer;
1083
+ }
1084
+ .ds-datatable th::after {
1085
+ background-position: center right;
1086
+ background-repeat: no-repeat;
1087
+ background-image: var(--ds-icon-arrow-updown-black);
1088
+ content: "";
1089
+ display: inline-block;
1090
+ width: 1em;
1091
+ height: var(--ds-line-height);
1092
+ position: absolute;
1093
+ margin-left: 0.5em;
1094
+ line-height: calc(0.3 * var(--ds-line-height));
1095
+ opacity: 0.6;
1096
+ }
1097
+ .ds-datatable th.ds-datatable-disable-sort {
1098
+ cursor: default;
1099
+ }
1100
+ .ds-datatable th.ds-datatable-disable-sort::after {
1101
+ display: none;
1102
+ }
1103
+ .ds-datatable td {
1104
+ line-height: var(--ds-line-height);
1105
+ padding: 0 0.5em;
1106
+ white-space: nowrap;
1107
+ overflow: hidden;
1108
+ text-overflow: ellipsis;
1109
+ }
1110
+
1111
+ .ds-datatable th.ds-datatable-sorted-descending::after {
1112
+ background-image: var(--ds-icon-arrow-down-black);
1113
+ opacity: 1;
1114
+ }
1115
+ .ds-datatable th.ds-datatable-sorted-ascending::after {
1116
+ background-image: var(--ds-icon-arrow-up-black);
1117
+ opacity: 1;
1118
+ }
1119
+
1120
+ .ds-datatable-rulers tbody tr:nth-child(3n) {
1121
+ border-bottom: 1px solid var(--ds-datatable-ruler-color);
1122
+ }
1123
+
1124
+ .ds-datatable-sticky-header thead {
1125
+ position: sticky;
1126
+ top: 0px;
1127
+ background-color: var(--ds-datatable-heading-contrast);
1128
+ transform: scale(0.9999999);
1129
+ background-clip: padding-box;
1130
+ }
1131
+
1132
+ /* Components: Dialog */
1133
+
1134
+ :root {
1135
+ --ds-dialog-radius: calc( 2 * var(--ds-box-radius));
1136
+ --ds-dialog-shadow: var(--ds-shadow-large);
1137
+ }
1138
+ .ds-dialog {
1139
+ border: 0;
1140
+ width: calc( 50% - (1/2 * var(--ds-spacing)));
1141
+ min-width: 30em;
1142
+ box-shadow: var(--ds-dialog-shadow);
1143
+ padding: 0;
1144
+ z-index: 101;
1145
+ border-radius: calc(2px + var(--ds-dialog-radius));
1146
+ }
1147
+
1148
+ .ds-dialog-narrow {
1149
+ width: calc( 33% - (1/2 * var(--ds-spacing)));
1150
+ min-width: 20em;
1151
+ }
1152
+
1153
+ .ds-dialog-header,
1154
+ .ds-dialog-header-image > img {
1155
+ border-radius: var(--ds-dialog-radius) var(--ds-dialog-radius) 0 0;
1156
+ }
1157
+ .ds-dialog-footer,
1158
+ .ds-dialog-footer-image > img {
1159
+ border-radius: 0 0 var(--ds-dialog-radius) var(--ds-dialog-radius);
1160
+ }
1161
+
1162
+ .ds-dialog-header,
1163
+ .ds-dialog-footer {
1164
+ flex-grow: 0;
1165
+ }
1166
+
1167
+ .ds-dialog-header,
1168
+ .ds-dialog-footer,
1169
+ .ds-dialog-content {
1170
+ position: relative;
1171
+ padding: 0.05px;
1172
+ }
1173
+
1174
+ .ds-dialog-header-image,
1175
+ .ds-dialog-footer-image {
1176
+ min-height: calc(var(--ds-line-height) * 6);
1177
+ color: var(--ds-white);
1178
+ text-shadow: 0 0 3px var(--ds-black);
1179
+ }
1180
+ .ds-dialog-content {
1181
+ flex-grow: 1;
1182
+ }
1183
+
1184
+ .ds-dialog-content .ds-alert {
1185
+ margin: calc(-1 * var(--ds-dialog-padding));
1186
+ margin-bottom: var(--ds-dialog-padding);
1187
+ }
1188
+
1189
+ .ds-dialog-overlay {
1190
+ position: fixed;
1191
+ top: 0;
1192
+ left: 0;
1193
+ height: 100%;
1194
+ width: 100%;
1195
+ background-color: rgba(0,0,0,0.5);
1196
+ z-index: 11;
1197
+ display: none;
1198
+ }
1199
+ dialog[open] ~ .ds-dialog-overlay {
1200
+ display: block;
1201
+ }
1202
+
1203
+
1204
+
1205
+ /* Components: Dropdown */
1206
+
1207
+ :root {
1208
+ --ds-dropdown-background: var(--ds-white);
1209
+ --ds-dropdown-color: var(--ds-black);
1210
+ --ds-dropdown-width: 200px;
1211
+ }
1212
+ .ds-dropdown {
1213
+ margin: 0;
1214
+ padding: 0;
1215
+ outline: none;
1216
+ box-shadow: none;
1217
+ display: inline;
1218
+ position: relative;
1219
+ }
1220
+ .ds-dropdown-icon {
1221
+ padding: 0 0.25em;
1222
+ width: 1.5em;
1223
+ border-radius: 2px;
1224
+ }
1225
+ .ds-dropdown-icon:hover {
1226
+ background: var(--ds-grey-40);
1227
+ }
1228
+ .ds-dropdown-nav {
1229
+ width: var(--ds-dropdown-width);
1230
+ background: var(--ds-dropdown-background);
1231
+ color: var(--ds-dropdown-color);
1232
+ display: none;
1233
+ position: absolute;
1234
+ left: 0;
1235
+ box-shadow: var(--ds-shadow-medium);
1236
+ border-radius: var(--ds-box-radius);
1237
+ z-index: 101;
1238
+ text-align: left;
1239
+ }
1240
+ .ds-dropdown-nav::before {
1241
+ content: "";
1242
+ display: block;
1243
+ width: 0.5rem;
1244
+ height: 0.5rem;
1245
+ background: var(--ds-dropdown-background);
1246
+ position: absolute;
1247
+ top: -0.2rem;
1248
+ left: 0.75rem;
1249
+ transform: rotate(45deg);
1250
+ filter: drop-shadow(-1px -1px 2px #DDD);
1251
+ clip-path: polygon(-2px 0.6rem, -2px -2px, 0.6rem -2px);
1252
+ }
1253
+ .ds-dropdown-state {
1254
+ display: none;
1255
+ }
1256
+ .ds-dropdown-state:checked ~ .ds-dropdown-nav {
1257
+ display: block;
1258
+ }
1259
+ .ds-dropdown-list {
1260
+ list-style: none;
1261
+ margin: 0;
1262
+ padding: calc(0.25 * var(--ds-spacing)) calc(0.5 * var(--ds-spacing));
1263
+ }
1264
+ .ds-dropdown-item {
1265
+ list-style: none;
1266
+ margin: 0;
1267
+ padding: 0;
1268
+ }
1269
+ .ds-dropdown-right {
1270
+ left: auto;
1271
+ right: 0;
1272
+ }
1273
+
1274
+ .ds-dropdown-right::before {
1275
+ left: auto;
1276
+ right: 0.5rem;
1277
+ top: -0.15rem;
1278
+ }
1279
+
1280
+ .ds-dropdown-up {
1281
+ bottom: 1.5em
1282
+ }
1283
+ .ds-dropdown-nav.ds-dropdown-up::before {
1284
+ transform: rotate(-135deg);
1285
+ top: auto;
1286
+ bottom: -0.2rem;
1287
+ filter: drop-shadow(1px 1px 2px #000);
1288
+ }
1289
+
1290
+ .ds-dropdown-center {
1291
+ margin-left: calc(-0.5 * var(--ds-dropdown-width) + 50%);
1292
+ }
1293
+ .ds-dropdown-nav.ds-dropdown-center::before {
1294
+ left: calc(50% - 0.25rem);
1295
+ }
1296
+
1297
+
1298
+ /* Components: Media */
1299
+
1300
+ :root {
1301
+ --ds-media-radius: var(--ds-box-radius);
1302
+ --ds-media-shadow: var(--ds-box-shadow);
1303
+ --ds-media-media-size: 100px;
1304
+ }
1305
+ .ds-media {
1306
+ display: flex;
1307
+ align-items: flex-start;
1308
+ position: relative;
1309
+ }
1310
+
1311
+ .ds-media-media {
1312
+ width: var(--ds-media-media-size);
1313
+ margin: var(--ds-spacing);
1314
+ }
1315
+ .ds-media-nospace > .ds-media-media {
1316
+ margin-top: 0;
1317
+ margin-left: 0;
1318
+ }
1319
+ .ds-media-media img {
1320
+ width: 100%;
1321
+ }
1322
+ .ds-media-content {
1323
+ flex: 1;
1324
+ }
1325
+ .ds-media-nospace > .ds-media-content > :first-child {
1326
+ margin-top: 0;
1327
+ }
1328
+
1329
+ /* Components: Scrollbox */
1330
+
1331
+ .ds-scrollbox {
1332
+ --ds-scrollbox-height: calc(8 * var(--ds-line-height));
1333
+ max-height: var(--ds-scrollbox-height);
1334
+ overflow: auto;
1335
+ background:
1336
+ /* Shadow covers */
1337
+ linear-gradient(var(--ds-background) 30%, var(--ds-background-transparent)),
1338
+ linear-gradient(var(--ds-background-transparent), var(--ds-background) 70%) 0 100%,
1339
+
1340
+ /* Shadows */
1341
+ radial-gradient(50% 0, farthest-side, rgba(0,0,0,.2), rgba(0,0,0,0)),
1342
+ radial-gradient(50% 100%,farthest-side, rgba(0,0,0,.2), rgba(0,0,0,0)) 0 100%;
1343
+ background:
1344
+ /* Shadow covers */
1345
+ linear-gradient(var(--ds-background) 30%, var(--ds-background-transparent)),
1346
+ linear-gradient(var(--ds-background-transparent), var(--ds-background) 70%) 0 100%,
1347
+
1348
+ /* Shadows */
1349
+ radial-gradient(farthest-side at 50% 0, rgba(0,0,0,.2), rgba(0,0,0,0)),
1350
+ radial-gradient(farthest-side at 50% 100%, rgba(0,0,0,.2), rgba(0,0,0,0)) 0 100%;
1351
+ background-repeat: no-repeat;
1352
+ background-color: white;
1353
+ background-size: 100% 40px, 100% 40px, 100% 14px, 100% 14px;
1354
+ /* Opera doesn't support this in the shorthand */
1355
+ background-attachment: local, local, scroll, scroll;
1356
+ }
1357
+
1358
+
1359
+ /* Components: Slides */
1360
+
1361
+ .ds-slides {
1362
+ display: flex;
1363
+ width: 100%;
1364
+ height: 100%;
1365
+ position: relative;
1366
+ overflow-y: hidden;
1367
+ overflow-x: scroll;
1368
+ /* IE10 (touch only) + Edge*/
1369
+ -ms-scroll-snap-type: mandatory;
1370
+ /* safari 9 */
1371
+ -webkit-scroll-snap-type: mandatory;
1372
+ -webkit-scroll-snap-points-x: repeat(100%);
1373
+ -webkit-overflow-scrolling: touch;
1374
+ /* firefox */
1375
+ scroll-snap-destination: 0% 100%;
1376
+ scroll-snap-points-x: repeat(100%);
1377
+ scroll-snap-type: mandatory;
1378
+ /* standard */
1379
+ scroll-snap-type: x mandatory;
1380
+ scroll-behavior: smooth;
1381
+ }
1382
+ .ds-slides-slide {
1383
+ flex-shrink: 0;
1384
+ width: 100%;
1385
+ height: 100%;
1386
+ overflow: hidden;
1387
+ /* standard */
1388
+ scroll-snap-align: start;
1389
+ }
1390
+ .ds-slides-slide {
1391
+ position: relative;
1392
+ text-align: center;
1393
+ display: flex;
1394
+ flex-direction: column;
1395
+ align-items: center;
1396
+ justify-content: center;
1397
+ }
1398
+ .ds-slides-slide:not(:first-child)::before {
1399
+ content: "\3008";
1400
+ position: absolute;
1401
+ top: 50%;
1402
+ left: 1em;
1403
+ color: var(--ds-white);
1404
+ font-size: var(--ds-line-height);
1405
+ font-weight: bold;
1406
+ margin-top: calc(-0.5 * var(--ds-line-height));
1407
+ text-shadow: 0 0 2px var(--ds-black);
1408
+ }
1409
+ .ds-slides-slide:not(:last-child)::after {
1410
+ content: "\3009";
1411
+ text-shadow: 0 0 3px var(--ds-black);
1412
+ position: absolute;
1413
+ z-index: 10;
1414
+ top: 50%;
1415
+ right: 1em;
1416
+ color: var(--ds-white);
1417
+ font-size: var(--ds-line-height);
1418
+ font-weight: bold;
1419
+ margin-top: calc(-0.5 * var(--ds-line-height));
1420
+ }
1421
+ img.ds-cover {
1422
+ display: block;
1423
+ width: 100%;
1424
+ height: 100%;
1425
+ object-fit: cover;
1426
+ }
1427
+
1428
+ /* Components: Slides Vertical
1429
+ */
1430
+
1431
+ .ds-slides-vertical {
1432
+ flex-direction: column;
1433
+ overflow-x: hidden;
1434
+ overflow-y: scroll;
1435
+ /* safari 9 */
1436
+ -webkit-scroll-snap-points-x: none;
1437
+ -webkit-scroll-snap-points-y: repeat(100%);
1438
+ /* firefox */
1439
+ scroll-snap-points-x: none;
1440
+ scroll-snap-points-y: repeat(100%);
1441
+ /* standard */
1442
+ scroll-snap-type: y mandatory;
1443
+ scroll-behavior: smooth;
1444
+ }
1445
+ .ds-slides-vertical .ds-slides-slide:not(:first-child)::before {
1446
+ transform: rotate(90deg);
1447
+ top: 1em;
1448
+ left: 50%;
1449
+ margin-left: -0.5em;
1450
+ }
1451
+ .ds-slides-vertical .ds-slides-slide:not(:last-child)::after {
1452
+ transform: rotate(90deg);
1453
+ top: auto;
1454
+ right: auto;
1455
+ bottom: 1em;
1456
+ left: 50%;
1457
+ margin-left: -0.5em;
1458
+ }
1459
+
1460
+ /* Components: Tabs */
1461
+
1462
+ :root {
1463
+ --ds-tabs-spacing: var(--ds-button-spacing);
1464
+ --ds-tabs-bg-color: var(--ds-background);
1465
+ --ds-tabs-color: var(--ds-color);
1466
+ --ds-tabs-default-bg-color: transparent;
1467
+ --ds-tabs-primary-bg-color: var(--ds-primary);
1468
+ --ds-tabs-primary-color: var(--ds-primary-contrast);
1469
+ --ds-tabs-line-height: var(--ds-button-line-height);
1470
+ --ds-tabs-border-color: var(--ds-primary);
1471
+ --ds-tabs-direction: row;
1472
+ --ds-tabs-border-alignment: top;
1473
+ --ds-tabs-radius: var(--ds-button-radius);
1474
+ }
1475
+
1476
+ .ds-tabs {
1477
+ display: flex;
1478
+ flex-direction: var(--ds-tabs-direction);
1479
+ margin: 0;
1480
+ list-style: none;
1481
+ padding: 0 0 1px 0;
1482
+ flex-wrap: wrap;
1483
+ justify-content: center;
1484
+ }
1485
+ .ds-tabs li {
1486
+ margin: 0;
1487
+ padding: 0;
1488
+ }
1489
+ :root .ds-tabs-tab {
1490
+ line-height: var(--ds-tabs-line-height);
1491
+ min-height: var(--ds-tabs-line-height);
1492
+ }
1493
+
1494
+ .ds-tabs-tab {
1495
+ display: block;
1496
+ margin: 0;
1497
+ overflow: visible;
1498
+ box-sizing: border-box;
1499
+ margin: 0 var(--ds-tabs-spacing) 0 0;
1500
+ padding: 0 calc(0.5 * var(--ds-tabs-line-height));
1501
+ vertical-align: middle;
1502
+ font-size: calc(0.875 * var(--ds-font-size));
1503
+ text-align: center;
1504
+ text-decoration: none;
1505
+ background-color: transparent;
1506
+ border: 0;
1507
+ white-space: nowrap;
1508
+ border-radius: var(--ds-tabs-radius) var(--ds-tabs-radius) 0 0;
1509
+ }
1510
+ .ds-tabs-tab:hover,
1511
+ .ds-tabs-tab:focus {
1512
+ cursor: pointer;
1513
+ text-decoration: none;
1514
+ }
1515
+ a.ds-tabs-tab,
1516
+ a.ds-tabs-tab:hover,
1517
+ a.ds-tabs-tab:active,
1518
+ a.ds-tabs-tab:visited {
1519
+ color: inherit;
1520
+ }
1521
+ .ds-tabs-support {
1522
+ --ds-tabs-border-color: var(--ds-support);
1523
+ }
1524
+ .ds-tabs-primary {
1525
+ --ds-tabs-border-color: var(--ds-primary);
1526
+ }
1527
+ .ds-tabs-primary .ds-tabs-tab,
1528
+ .ds-tabs a.ds-tabs-primary, .ds-tabs a.ds-tabs-primary:hover,
1529
+ .ds-tabs a.ds-tabs-primary:active, .ds-tabs a.ds-tabs-primary:visited {
1530
+ background-color: var(--ds-primary);
1531
+ color: var(--ds-primary-contrast);
1532
+ border-color: var(--ds-tabs-border-color);
1533
+ }
1534
+ .ds-tabs-support .ds-tabs-tab,
1535
+ .ds-tabs a.ds-tabs-support, .ds-tabs a.ds-tabs-support:hover,
1536
+ .ds-tabs a.ds-tabs-support:active, .ds-tabs a.ds-tabs-support:visited {
1537
+ background-color: var(--ds-support);
1538
+ color: var(--ds-support-contrast);
1539
+ border-color: var(--ds-tabs-border-color);
1540
+ }
1541
+ .ds-tabs-border li {
1542
+ background: linear-gradient(to var(--ds-tabs-border-alignment), var(--ds-tabs-border-color) 0px, var(--ds-tabs-border-color) 1px, transparent 1px);
1543
+ padding-bottom: 1px;
1544
+ }
1545
+ .ds-tabs-border .ds-tabs-tab-selected {
1546
+ border: 1px solid var(--ds-tabs-border-color);
1547
+ border-bottom: 0;
1548
+ position: relative;
1549
+ top: 1px;
1550
+ line-height: calc(var(--ds-tabs-line-height) - 1px);
1551
+ background: var(--ds-tabs-bg-color);
1552
+ }
1553
+ .ds-tabs-border .ds-tabs-tab-selected {
1554
+ position: relative;
1555
+ top: 1px;
1556
+ line-height: calc(var(--ds-tabs-line-height) - 1px);
1557
+ }
1558
+ .ds-tabs-border-bottom li {
1559
+ background: linear-gradient(to var(--ds-tabs-border-alignment), var(--ds-tabs-border-color) 0px, var(--ds-tabs-border-color) 1px, transparent 1px);
1560
+ }
1561
+ .ds-tabs-border-bottom .ds-tabs-tab-selected {
1562
+ background: linear-gradient(to var(--ds-tabs-border-alignment), var(--ds-tabs-border-color) 0px, var(--ds-tabs-border-color) 2px, transparent 2px);
1563
+ }
1564
+ .ds-tabs-border-color li {
1565
+ background: linear-gradient(to var(--ds-tabs-border-alignment), var(--ds-grey-20) 0px, var(--ds-grey-20) 1px, transparent 1px);
1566
+ }
1567
+ .ds-tabs-border-color .ds-tabs-tab-selected {
1568
+ background: linear-gradient(to var(--ds-tabs-border-alignment), var(--ds-tabs-border-color) 0px, var(--ds-tabs-border-color) 1px, transparent 1px);
1569
+ }
1570
+
1571
+ .ds-tabs-vertical {
1572
+ --ds-tabs-direction: column;
1573
+ --ds-tabs-border-alignment: right;
1574
+ flex-direction: var(--ds-tabs-direction);
1575
+ }
1576
+ .ds-tabs-vertical .ds-tabs-tab {
1577
+ text-align: left;
1578
+ }
1579
+ .ds-tabs-vertical.ds-tabs-border-color li {
1580
+ background: linear-gradient(to var(--ds-tabs-border-alignment), var(--ds-grey-20) 0px, var(--ds-grey-20) 1px, transparent 1px);
1581
+ }
1582
+ .ds-tabs-vertical.ds-tabs-border-color .ds-tabs-tab-selected {
1583
+ background: linear-gradient(to var(--ds-tabs-border-alignment), var(--ds-tabs-border-color) 0px, var(--ds-tabs-border-color) 1px, transparent 1px);
1584
+ }
1585
+
1586
+
1587
+ /* Components: Looping tabs
1588
+ */
1589
+
1590
+ .dsc-loopingtabs {
1591
+ display: grid;
1592
+ grid-template-areas: "tabs" "text" "media";
1593
+ }
1594
+ .dsc-loopingtabs-panel {
1595
+ display: contents;
1596
+ }
1597
+ .dsc-loopingtabs-tabs {
1598
+ grid-area: tabs;
1599
+ }
1600
+ .dsc-loopingtabs-text {
1601
+ grid-area: text;
1602
+ text-align: center;
1603
+ }
1604
+ .dsc-loopingtabs-media {
1605
+ grid-area: media;
1606
+ margin: 0 var(--ds-spacing);
1607
+ }
1608
+ .dsc-loopingtabs-panel {
1609
+ display: none;
1610
+ }
1611
+ .dsc-loopingtabs-panel.dsc-loopingtabs-selected {
1612
+ display: contents;
1613
+ }
1614
+ @media only screen and (min-width: 500px) {
1615
+ .dsc-loopingtabs {
1616
+ grid-template-areas:
1617
+ "media text"
1618
+ "media tabs";
1619
+ --ds-tabs-direction: column;
1620
+ --ds-tabs-border-alignment: right;
1621
+ }
1622
+ .ds-tabs-tab {
1623
+ text-align: left;
1624
+ }
1625
+ .dsc-loopingtabs-text {
1626
+ text-align: left;
1627
+ margin: 0;
1628
+ }
1629
+ }
1630
+
1631
+ /* Components: Toast */
1632
+
1633
+
1634
+ :root {
1635
+ --ds-toast-height: 60px;
1636
+ --ds-toast-hide-delay: 3s; /* 5 seems better */
1637
+ --ds-toast-show-duration: 0.3s;
1638
+ --ds-toast-hide-duration: 0.5s;
1639
+ --ds-toast-margin: 20px;
1640
+ --ds-toast-shadow: var(--ds-shadow-medium);
1641
+ }
1642
+
1643
+ ul.ds-toasts,
1644
+ ol.ds-toasts,
1645
+ .ds-toasts {
1646
+ position: absolute;
1647
+ right: 0;
1648
+ top: 0;
1649
+ z-index: 101;
1650
+ display: block;
1651
+ list-style: none;
1652
+ margin: 0;
1653
+ padding: 0;
1654
+ max-width: 50%;
1655
+ min-width: 300px;
1656
+ }
1657
+ .ds-toast,
1658
+ li.ds-toast {
1659
+ min-width: 300px;
1660
+ float: right;
1661
+ clear: both;
1662
+ margin-top: var(--ds-spacing);
1663
+ margin-right: var(--ds-spacing);
1664
+ background-color: var(--ds-grey-80);
1665
+ color: var(--ds-white);
1666
+ display: block;
1667
+ border-left: 10px solid var(--ds-grey-50);
1668
+ box-shadow: var(--ds-toast-shadow);
1669
+ }
1670
+ .ds-toast-error,
1671
+ li.ds-toast-error {
1672
+ border-color: var(--ds-error-color);
1673
+ }
1674
+ .ds-toast-info,
1675
+ li.ds-toast-info {
1676
+ border-color: var(--ds-info-color);
1677
+ }
1678
+ .ds-toast-warning,
1679
+ li.ds-toast-warning {
1680
+ border-color: var(--ds-warning-color);
1681
+ }
1682
+
1683
+ @keyframes ds-toast-show {
1684
+ 0% {
1685
+ transform: scaleX(0);
1686
+ transform-origin: right;
1687
+ opacity: 0;
1688
+ }
1689
+ 50% {
1690
+ opacity: 1;
1691
+ }
1692
+ 100% {
1693
+ transform: scaleX(1);
1694
+ transform-origin: right;
1695
+ opacity: 1;
1696
+ }
1697
+ }
1698
+ @keyframes ds-toast-hide {
1699
+ 0% {
1700
+ transform: scaleX(1);
1701
+ transform-origin: right;
1702
+ opacity: 1;
1703
+ }
1704
+ 50% {
1705
+ opacity: 1;
1706
+ }
1707
+ 100% {
1708
+ transform: scaleX(0);
1709
+ transform-origin: right;
1710
+ opacity: 0;
1711
+ }
1712
+ }
1713
+ @keyframes ds-toast-move {
1714
+ 0% {
1715
+ transform: translateY(-80px); /* toast-height + toast-margin */
1716
+ }
1717
+ 100% {
1718
+ transform: translateY(0px);
1719
+ }
1720
+ }
1721
+ .ds-toast[data-state="new"] {
1722
+ animation: ds-toast-show var(--ds-toast-show-duration) forwards;
1723
+ }
1724
+ .ds-toast-autohide[data-state="new"] {
1725
+ animation: ds-toast-show var(--ds-toast-show-duration);
1726
+ animation-delay: 0s;
1727
+ }
1728
+ .ds-toast-autohide.ds-toast-animated[data-state="shown"] {
1729
+ animation: ds-toast-hide var(--ds-toast-hide-duration) forwards;
1730
+ animation-delay: calc(var(--ds-toast-hide-delay) - var(--ds-toast-show-duration));
1731
+ }
1732
+ .ds-toast-autohide:not(.ds-toast-animated)[data-state="shown"] {
1733
+ animation: ds-toast-move var(--ds-toast-show-duration), ds-toast-hide var(--ds-toast-hide-duration) forwards;
1734
+ animation-delay: 0s, var(--ds-toast-hide-delay);
1735
+ }
1736
+
1737
+
1738
+ /* Components: Tooltip */
1739
+
1740
+ :root {
1741
+ --ds-tooltip-shadow: var(--ds-shadow-small);
1742
+ --ds-tooltip-background: var(--ds-support);
1743
+ --ds-tooltip-color: var(--ds-support-contrast);
1744
+ --ds-tooltip-radius: var(--ds-box-radius);
1745
+ --ds-tooltip-width: 20em;
1746
+ --ds-tooltip-font-size: 0.7em;
1747
+ --ds-tooltip-line-height: 1.3em;
1748
+ }
1749
+ .ds-tooltip {
1750
+ position: relative;
1751
+ cursor: help;
1752
+ }
1753
+ .ds-tooltip::after {
1754
+ content: attr(data-title);
1755
+ display: block;
1756
+ position: absolute;
1757
+ left: -9999px;
1758
+ top: calc(100% + 0.5em);
1759
+ background-color: var(--ds-tooltip-background);
1760
+ color: var(--ds-tooltip-color);
1761
+ padding: 0.5em;
1762
+ border-radius: var(--ds-tooltip-radius);
1763
+ width: var(--ds-tooltip-width);
1764
+ margin-left: calc((-0.5 * var(--ds-tooltip-width)) - 0.5em);
1765
+ font-size: var(--ds-tooltip-font-size);
1766
+ line-height: var(--ds-tooltip-line-height);
1767
+ opacity: 0;
1768
+ z-index: -1;
1769
+ transition: opacity 0.2s ease-in;
1770
+ box-shadow: var(--ds-shadow-small);
1771
+ }
1772
+ .ds-tooltip::before {
1773
+ content: "";
1774
+ border-style: solid;
1775
+ border-width: 0 0.6em 0.6em 0.6em;
1776
+ border-color: transparent transparent var(--ds-tooltip-background) transparent;
1777
+ position: absolute;
1778
+ top: 100%;
1779
+ left: -9999px;
1780
+ margin-left: -0.6em;
1781
+ opacity: 0;
1782
+ z-index: 112 !important;
1783
+ transition: opacity 0.2s ease-in;
1784
+ font-size: var(--ds-tooltip-font-size);
1785
+ }
1786
+ .ds-tooltip:hover::after,
1787
+ .ds-tooltip:focus::after,
1788
+ .ds-tooltip:hover::before,
1789
+ .ds-tooltip:focus::before,
1790
+ .ds-tooltip.ds-tooltip-open::after,
1791
+ .ds-tooltip.ds-tooltip-open::before {
1792
+ opacity: 1;
1793
+ z-index: 111;
1794
+ left: 50%;
1795
+ }
1796
+
1797
+ .ds-tooltip-top::after {
1798
+ top: unset;
1799
+ bottom: calc(100% + 0.7em);
1800
+ }
1801
+ .ds-tooltip-top::before {
1802
+ top: unset;
1803
+ bottom: calc(100% + 0.2em);
1804
+ border-width: 0.6em 0.6em 0 0.6em;
1805
+ border-color: var(--ds-tooltip-background) transparent transparent transparent;
1806
+ }
1807
+ .ds-super {
1808
+ font-size: small;
1809
+ position: relative;
1810
+ bottom: 0.5em;
1811
+ }
1812
+
1813
+ /* Components: Navigation */
1814
+
1815
+ :root {
1816
+ --ds-navbar-shadow: var(--ds-shadow-small);
1817
+ }
1818
+ .ds-navbar {
1819
+ display: flex;
1820
+ box-shadow: var(--ds-navbar-shadow);
1821
+ justify-content: space-between;
1822
+ flex-wrap: wrap;
1823
+ }
1824
+ .ds-navbar-left {
1825
+ order: -1;
1826
+ display: flex;
1827
+ justify-content: flex-start;
1828
+ }
1829
+ .ds-navbar-right {
1830
+ display: flex;
1831
+ justify-content: flex-end;
1832
+ order: 1;
1833
+ }
1834
+ .ds-navbar-right *:last-child {
1835
+ margin-right:0;
1836
+ }
1837
+ .ds-navbar-center {
1838
+ display: flex;
1839
+ justify-content: center;
1840
+ }
1841
+ .ds-navbar > * {
1842
+ flex: 1;
1843
+ }
1844
+ ul.ds-navbar {
1845
+ list-style: none;
1846
+ margin-left: 0;
1847
+ padding-left: 0;
1848
+ }
1849
+ .ds-navbar .ds-button,
1850
+ .ds-navbar input,
1851
+ .ds-navbar select {
1852
+ border-top: 0;
1853
+ border-bottom: 0;
1854
+ outline: 0;
1855
+ margin-bottom: 0;
1856
+ }
1857
+ .ds-navbar-nav {
1858
+ margin: 0;
1859
+ padding: 0;
1860
+ display: flex;
1861
+ }
1862
+ .ds-navbar-nav li {
1863
+ margin: 0;
1864
+ padding: 0;
1865
+ list-style: none;
1866
+ }
1867
+ .ds-navbar-nav a {
1868
+ text-decoration: none;
1869
+ color: inherit;
1870
+ }
1871
+ .ds-navbar-nav .ds-button {
1872
+ margin-bottom: 0;
1873
+ }
1874
+ .ds-navbar-nav .ds-button:last-child {
1875
+ margin-right: 0;
1876
+ }
1877
+
1878
+ /* Components: Navigation Static Menu
1879
+ */
1880
+
1881
+ .ds-navbar-fullwidth {
1882
+ order: 2;
1883
+ flex-shrink:0;
1884
+ max-width: 100%;
1885
+ }
1886
+ .ds-navbar-fullwidth .ds-navbar-nav {
1887
+ width: max-content;
1888
+ max-width: 100%;
1889
+ overflow: auto;
1890
+ }
1891
+
1892
+ /* Components: Navigation Sidebar
1893
+ */
1894
+
1895
+ .ds-navbar-side,
1896
+ .ds-navbar-side .ds-navbar-nav {
1897
+ flex-direction: column;
1898
+ }
1899
+ .ds-navbar-side .ds-nav {
1900
+ display: block;
1901
+ position: relative;
1902
+ padding: calc(0.5 * var(--ds-line-height));
1903
+ text-align: left;
1904
+ }
1905
+ .ds-navbar-side .ds-nav .ds-icon {
1906
+ margin-right: calc(0.3 * var(--ds-spacing));
1907
+ }
1908
+ .ds-navbar-side .ds-selected,
1909
+ .ds-navbar-side .ds-nav:hover,
1910
+ .ds-navbar-side .ds-nav-hover {
1911
+ background: rgba(0,0,0,0.2);
1912
+ }
1913
+
1914
+ /* Components: Paging */
1915
+
1916
+ .ds-navbar-nav.ds-paging {
1917
+ display: none;
1918
+ line-height: var(--ds-button-line-height);
1919
+ }
1920
+ .ds-paging .ds-navbar-nav.ds-paging {
1921
+ display: flex;
1922
+ }
1923
+ .ds-paging .ds-paging-info {
1924
+ padding: 0 1em;
1925
+ }
1926
+ .ds-paging .ds-button {
1927
+ display: block;
1928
+ }
1929
+ .ds-paging li:first-child .ds-button {
1930
+ margin-right: 0;
1931
+ }
1932
+
1933
+ /* SimplyCode: Home */
1934
+
1935
+ header {
1936
+ position: sticky;
1937
+ top: 0;
1938
+ z-index: 100;
1939
+ }
1940
+ .ds-toolbar .simply-title {
1941
+ display: flex;
1942
+ flex-direction: column;
1943
+ justify-content: center;
1944
+ padding: 0 20px;
1945
+ }
1946
+ .ds-toolbar .simply-title img {
1947
+ height: 30px;
1948
+ }
1949
+ header .ds-toolbar {
1950
+ border-top-width: 5px;
1951
+ }
1952
+ main {
1953
+ margin-top: 75px;
1954
+ margin-bottom: 75px;
1955
+ padding: 0 var(--ds-spacing);
1956
+ }
1957
+ @media screen and (max-width: 720px) {
1958
+ :root {
1959
+ --ds-spacing: calc(0.5 * var(--ds-line-height));
1960
+ }
1961
+ }
1962
+ a.simply-component,
1963
+ a.simply-component * {
1964
+ text-decoration: none;
1965
+ color: white;
1966
+ }
1967
+ a.simply-component:hover,
1968
+ a.simply-component:active {
1969
+ background-color: var(--ds-grey-70);
1970
+ }
1971
+ .simply-component {
1972
+ background-color: var(--ds-grey-90);
1973
+ }
1974
+ .simply-components {
1975
+ --ds-grid-min-colwidth: 10rem;
1976
+ --ds-grid-spacing-row: calc(0.5 * var(--ds-spacing));
1977
+ --ds-grid-spacing-column: calc(0.5 * var(--ds-spacing));
1978
+ font-size: small;
1979
+ line-height: 1.6em;
1980
+ margin-bottom: calc(0.5 * var(--ds-spacing));
1981
+ }
1982
+ .simply-component {
1983
+ padding: calc(0.5 * var(--ds-spacing));
1984
+ }
1985
+ .simply-component > :first-child {
1986
+ margin-top: 0;
1987
+ }
1988
+ .simply-component > :last-child {
1989
+ margin-bottom: 0;
1990
+ }
1991
+ .simply-component > .ds-button .ds-icon {
1992
+ margin-bottom: -10px;
1993
+ }
1994
+ input.simply-input-small {
1995
+ width: 7em;
1996
+ }
1997
+ .ds-toolbar input[type="text"] {
1998
+ margin-right:0;
1999
+ margin-bottom: 0;
2000
+ margin-top: 10px;
2001
+ font-size: small;
2002
+ line-height: 1.2em;
2003
+ height: 35px;
2004
+ }
2005
+ .ds-nightmode {
2006
+ --ds-input-border: var(--ds-grey-70);
2007
+ }
2008
+ .simply-component {
2009
+ flex: 1 1 0;
2010
+ }
2011
+ .simply-component .ds-button-icon {
2012
+ margin: 0;
2013
+ }
2014
+ .simply-component .ds-button-icon:hover {
2015
+ border-bottom: 0;
2016
+ }
2017
+
2018
+
2019
+ /* SimplyCode: Add Component
2020
+ */
2021
+
2022
+ form .ds-button {
2023
+ background-color: var(--ds-grey-80);
2024
+ }
2025
+
2026
+ /* SimplyCode: Edit Component
2027
+ */
2028
+
2029
+ .CodeMirror{font-family:monospace;height:300px;color:#000;direction:ltr}.CodeMirror-lines{padding:4px 0}.CodeMirror pre.CodeMirror-line,.CodeMirror pre.CodeMirror-line-like{padding:0 4px}.CodeMirror-gutter-filler,.CodeMirror-scrollbar-filler{background-color:#fff}.CodeMirror-gutters{border-right:1px solid #ddd;background-color:#f7f7f7;white-space:nowrap}.CodeMirror-linenumber{padding:0 3px 0 5px;min-width:20px;text-align:right;color:#999;white-space:nowrap}.CodeMirror-guttermarker{color:#000}.CodeMirror-guttermarker-subtle{color:#999}.CodeMirror-cursor{border-left:1px solid #000;border-right:none;width:0}.CodeMirror div.CodeMirror-secondarycursor{border-left:1px solid silver}.cm-fat-cursor .CodeMirror-cursor{width:auto;border:0!important;background:#7e7}.cm-fat-cursor div.CodeMirror-cursors{z-index:1}.cm-fat-cursor .CodeMirror-line::selection,.cm-fat-cursor .CodeMirror-line>span::selection,.cm-fat-cursor .CodeMirror-line>span>span::selection{background:0 0}.cm-fat-cursor .CodeMirror-line::-moz-selection,.cm-fat-cursor .CodeMirror-line>span::-moz-selection,.cm-fat-cursor .CodeMirror-line>span>span::-moz-selection{background:0 0}.cm-fat-cursor{caret-color:transparent}@-moz-keyframes blink{50%{background-color:transparent}}@-webkit-keyframes blink{50%{background-color:transparent}}@keyframes blink{50%{background-color:transparent}}.cm-tab{display:inline-block;text-decoration:inherit}.CodeMirror-rulers{position:absolute;left:0;right:0;top:-50px;bottom:0;overflow:hidden}.CodeMirror-ruler{border-left:1px solid #ccc;top:0;bottom:0;position:absolute}.cm-s-default .cm-header{color:#00f}.cm-s-default .cm-quote{color:#090}.cm-negative{color:#d44}.cm-positive{color:#292}.cm-header,.cm-strong{font-weight:700}.cm-em{font-style:italic}.cm-link{text-decoration:underline}.cm-strikethrough{text-decoration:line-through}.cm-s-default .cm-keyword{color:#708}.cm-s-default .cm-atom{color:#219}.cm-s-default .cm-number{color:#164}.cm-s-default .cm-def{color:#00f}.cm-s-default .cm-variable-2{color:#05a}.cm-s-default .cm-type,.cm-s-default .cm-variable-3{color:#085}.cm-s-default .cm-comment{color:#a50}.cm-s-default .cm-string{color:#a11}.cm-s-default .cm-string-2{color:#f50}.cm-s-default .cm-meta{color:#555}.cm-s-default .cm-qualifier{color:#555}.cm-s-default .cm-builtin{color:#30a}.cm-s-default .cm-bracket{color:#997}.cm-s-default .cm-tag{color:#170}.cm-s-default .cm-attribute{color:#00c}.cm-s-default .cm-hr{color:#999}.cm-s-default .cm-link{color:#00c}.cm-s-default .cm-error{color:red}.cm-invalidchar{color:red}.CodeMirror-composing{border-bottom:2px solid}div.CodeMirror span.CodeMirror-matchingbracket{color:#0b0}div.CodeMirror span.CodeMirror-nonmatchingbracket{color:#a22}.CodeMirror-matchingtag{background:rgba(255,150,0,.3)}.CodeMirror-activeline-background{background:#e8f2ff}.CodeMirror{position:relative;overflow:hidden;background:#fff}.CodeMirror-scroll{overflow:scroll!important;margin-bottom:-50px;margin-right:-50px;padding-bottom:50px;height:100%;outline:0;position:relative;z-index:0}.CodeMirror-sizer{position:relative;border-right:50px solid transparent}.CodeMirror-gutter-filler,.CodeMirror-hscrollbar,.CodeMirror-scrollbar-filler,.CodeMirror-vscrollbar{position:absolute;z-index:6;display:none;outline:0}.CodeMirror-vscrollbar{right:0;top:0;overflow-x:hidden;overflow-y:scroll}.CodeMirror-hscrollbar{bottom:0;left:0;overflow-y:hidden;overflow-x:scroll}.CodeMirror-scrollbar-filler{right:0;bottom:0}.CodeMirror-gutter-filler{left:0;bottom:0}.CodeMirror-gutters{position:absolute;left:0;top:0;min-height:100%;z-index:3}.CodeMirror-gutter{white-space:normal;height:100%;display:inline-block;vertical-align:top;margin-bottom:-50px}.CodeMirror-gutter-wrapper{position:absolute;z-index:4;background:0 0!important;border:none!important}.CodeMirror-gutter-background{position:absolute;top:0;bottom:0;z-index:4}.CodeMirror-gutter-elt{position:absolute;cursor:default;z-index:4}.CodeMirror-gutter-wrapper ::selection{background-color:transparent}.CodeMirror-gutter-wrapper ::-moz-selection{background-color:transparent}.CodeMirror-lines{cursor:text;min-height:1px}.CodeMirror pre.CodeMirror-line,.CodeMirror pre.CodeMirror-line-like{-moz-border-radius:0;-webkit-border-radius:0;border-radius:0;border-width:0;background:0 0;font-family:inherit;font-size:inherit;margin:0;white-space:pre;word-wrap:normal;line-height:inherit;color:inherit;z-index:2;position:relative;overflow:visible;-webkit-tap-highlight-color:transparent;-webkit-font-variant-ligatures:contextual;font-variant-ligatures:contextual}.CodeMirror-wrap pre.CodeMirror-line,.CodeMirror-wrap pre.CodeMirror-line-like{word-wrap:break-word;white-space:pre-wrap;word-break:normal}.CodeMirror-linebackground{position:absolute;left:0;right:0;top:0;bottom:0;z-index:0}.CodeMirror-linewidget{position:relative;z-index:2;padding:.1px}.CodeMirror-rtl pre{direction:rtl}.CodeMirror-code{outline:0}.CodeMirror-gutter,.CodeMirror-gutters,.CodeMirror-linenumber,.CodeMirror-scroll,.CodeMirror-sizer{-moz-box-sizing:content-box;box-sizing:content-box}.CodeMirror-measure{position:absolute;width:100%;height:0;overflow:hidden;visibility:hidden}.CodeMirror-cursor{position:absolute;pointer-events:none}.CodeMirror-measure pre{position:static}div.CodeMirror-cursors{visibility:hidden;position:relative;z-index:3}div.CodeMirror-dragcursors{visibility:visible}.CodeMirror-focused div.CodeMirror-cursors{visibility:visible}.CodeMirror-selected{background:#d9d9d9}.CodeMirror-focused .CodeMirror-selected{background:#d7d4f0}.CodeMirror-crosshair{cursor:crosshair}.CodeMirror-line::selection,.CodeMirror-line>span::selection,.CodeMirror-line>span>span::selection{background:#d7d4f0}.CodeMirror-line::-moz-selection,.CodeMirror-line>span::-moz-selection,.CodeMirror-line>span>span::-moz-selection{background:#d7d4f0}.cm-searching{background-color:#ffa;background-color:rgba(255,255,0,.4)}.cm-force-border{padding-right:.1px}@media print{.CodeMirror div.CodeMirror-cursors{visibility:hidden}}.cm-tab-wrap-hack:after{content:''}span.CodeMirror-selectedtext{background:0 0}
2030
+ .cm-s-base16-dark.CodeMirror{background:#151515;color:#e0e0e0}.cm-s-base16-dark div.CodeMirror-selected{background:#303030}.cm-s-base16-dark .CodeMirror-line::selection,.cm-s-base16-dark .CodeMirror-line>span::selection,.cm-s-base16-dark .CodeMirror-line>span>span::selection{background:rgba(48,48,48,.99)}.cm-s-base16-dark .CodeMirror-line::-moz-selection,.cm-s-base16-dark .CodeMirror-line>span::-moz-selection,.cm-s-base16-dark .CodeMirror-line>span>span::-moz-selection{background:rgba(48,48,48,.99)}.cm-s-base16-dark .CodeMirror-gutters{background:#151515;border-right:0}.cm-s-base16-dark .CodeMirror-guttermarker{color:#ac4142}.cm-s-base16-dark .CodeMirror-guttermarker-subtle{color:#505050}.cm-s-base16-dark .CodeMirror-linenumber{color:#505050}.cm-s-base16-dark .CodeMirror-cursor{border-left:1px solid #b0b0b0}.cm-s-base16-dark.cm-fat-cursor .CodeMirror-cursor{background-color:#8e8d8875!important}.cm-s-base16-dark .cm-animate-fat-cursor{background-color:#8e8d8875!important}.cm-s-base16-dark span.cm-comment{color:#8f5536}.cm-s-base16-dark span.cm-atom{color:#aa759f}.cm-s-base16-dark span.cm-number{color:#aa759f}.cm-s-base16-dark span.cm-attribute,.cm-s-base16-dark span.cm-property{color:#90a959}.cm-s-base16-dark span.cm-keyword{color:#ac4142}.cm-s-base16-dark span.cm-string{color:#f4bf75}.cm-s-base16-dark span.cm-variable{color:#90a959}.cm-s-base16-dark span.cm-variable-2{color:#6a9fb5}.cm-s-base16-dark span.cm-def{color:#d28445}.cm-s-base16-dark span.cm-bracket{color:#e0e0e0}.cm-s-base16-dark span.cm-tag{color:#ac4142}.cm-s-base16-dark span.cm-link{color:#aa759f}.cm-s-base16-dark span.cm-error{background:#ac4142;color:#b0b0b0}.cm-s-base16-dark .CodeMirror-activeline-background{background:#202020}.cm-s-base16-dark .CodeMirror-matchingbracket{text-decoration:underline;color:#fff!important}
2031
+ .sb-html-valid,
2032
+ .sb-html-invalid {
2033
+ padding: 4px 10px;
2034
+ background-color: #D2E0E6;
2035
+ color: #2B81AF;
2036
+ }
2037
+ .sb-html-valid {
2038
+ border-top: 5px solid #C6E746; /* pass color from qunit */
2039
+ border-bottom-left-radius: 8px;
2040
+ border-bottom-right-radius: 8px;
2041
+ margin-bottom: 10px;
2042
+ }
2043
+ .sb-html-invalid {
2044
+ border-top: 5px solid #EE5757; /* fail color from qunit */
2045
+ }
2046
+ .sb-html-messages:not(.simply-empty) {
2047
+ padding: 4px 10px;
2048
+ border-bottom-left-radius: 8px;
2049
+ border-bottom-right-radius: 8px;
2050
+ margin-bottom: 10px;
2051
+ background-color: #D2E0E6;
2052
+ color: #2B81AF;
2053
+ }
2054
+ .sb-html-message:not(:last-child) {
2055
+ border-bottom: 1px solid #2B81AF;
2056
+ }
2057
+ .sb-html-message [data-simply-field=firstLine]:not(:empty):after {
2058
+ content: " - ";
2059
+ }
2060
+ .sb-editor-code {
2061
+ font-size: 13px;
2062
+ border-radius: 8px;
2063
+ overflow: hidden;
2064
+ }
2065
+
2066
+ .simply-component-single {
2067
+ display: inline-block;
2068
+ padding-top: 0;
2069
+ padding-bottom: 0;
2070
+ }
2071
+
2072
+ :root .ds-button-inline {
2073
+ margin: 0;
2074
+ line-height: var(--ds-line-height);
2075
+ min-height: unset;
2076
+ min-width: unset;
2077
+ height: unset;
2078
+ font-size: inherit;
2079
+ color: var(--ds-grey-40);
2080
+ }
2081
+ .ds-button-inline:hover {
2082
+ border-bottom: 0px;
2083
+ color: var(--ds-white);
2084
+ }
2085
+ .ds-button-inline .ds-icon {
2086
+ display: inline-block;
2087
+ margin: 0;
2088
+ padding: 0;
2089
+ font-size: inherit;
2090
+ height: 1em;
2091
+ width: 1em;
2092
+ }
2093
+
2094
+ /* SimplyCode: Search Components
2095
+ */
2096
+
2097
+
2098
+
2099
+ /* Utility: Alignment */
2100
+
2101
+ .ds-center {
2102
+ text-align: center;
2103
+ margin-left: auto;
2104
+ margin-right: auto;
2105
+ }
2106
+ .ds-center-middle {
2107
+ display: flex;
2108
+ align-items: center;
2109
+ justify-content: center;
2110
+ }
2111
+ .ds-align-right {
2112
+ float: right;
2113
+ }
2114
+
2115
+ /* Utility: Background Image
2116
+ */
2117
+
2118
+ .ds-background-image {
2119
+ position: absolute;
2120
+ top: 0;
2121
+ left: 0;
2122
+ width: 100%;
2123
+ height: 100%;
2124
+ object-fit: cover;
2125
+ z-index: -1;
2126
+ }
2127
+
2128
+
2129
+ /* Utility: Color classes
2130
+ */
2131
+
2132
+ .ds-bg-primary {
2133
+ background: var(--ds-primary);
2134
+ color: var(--ds-primary-contrast);
2135
+ --ds-contrast: var(--ds-primary-contrast);
2136
+ }
2137
+ .ds-bg-primary-gradient {
2138
+ background: var(--ds-primary-gradient);
2139
+ color: var(--ds-primary-contrast);
2140
+ --ds-contrast: var(--ds-primary-contrast);
2141
+ }
2142
+ .ds-bg-support {
2143
+ background: var(--ds-support);
2144
+ color: var(--ds-support-contrast);
2145
+ --ds-contrast: var(--ds-support-contrast);
2146
+ }
2147
+ .ds-bg-support-gradient {
2148
+ background: var(--ds-support-gradient);
2149
+ color: var(--ds-support-contrast);
2150
+ --ds-contrast: var(--ds-support-contrast);
2151
+ }
2152
+ .ds-bg-grey-dark {
2153
+ background: var(--ds-grey-dark);
2154
+ color: var(--ds-white);
2155
+ --ds-contrast: var(--ds-white);
2156
+ }
2157
+ .ds-bg-grey-medium {
2158
+ background: var(--ds-grey-medium);
2159
+ color: var(--ds-white);
2160
+ --ds-contrast: var(--ds-white);
2161
+ }
2162
+ .ds-bg-grey-light {
2163
+ background: var(--ds-grey-light);
2164
+ color: var(--ds-black);
2165
+ --ds-contrast: var(--ds-black);
2166
+ }
2167
+ .ds-color-primary {
2168
+ color: var(--ds-primary);
2169
+ }
2170
+ .ds-color-support {
2171
+ color: var(--ds-support);
2172
+ }
2173
+
2174
+ /* Utility: Contain Margins
2175
+ */
2176
+
2177
+ .ds-contain {
2178
+ padding: 0.05px; /* IE fallback */
2179
+ }
2180
+ @supports (display: flow-root) {
2181
+ .ds-contain {
2182
+ padding: 0;
2183
+ display: flow-root;
2184
+ }
2185
+ }
2186
+
2187
+ /* Utility: Hide items
2188
+ */
2189
+
2190
+ .ds-hidden {
2191
+ max-height: 0;
2192
+ overflow: hidden;
2193
+ }
2194
+
2195
+ /* Utility: Shadows
2196
+ */
2197
+
2198
+ :root {
2199
+ --ds-shadow-light: rgba(0,0,0,0.07);
2200
+ --ds-shadow-middle: rgba(0,0,0,0.09);
2201
+ --ds-shadow-dark: rgba(0,0,0,0.11);
2202
+ --ds-shadow-tiny:
2203
+ 0 1px 1px var(--ds-shadow-dark)
2204
+ ;
2205
+ --ds-shadow-small:
2206
+ 0 1px 1px var(--ds-shadow-dark),
2207
+ 0 2px 2px var(--ds-shadow-middle),
2208
+ 0 4px 4px var(--ds-shadow-light)
2209
+ ;
2210
+ --ds-shadow-medium:
2211
+ 0 1px 1px var(--ds-shadow-middle),
2212
+ 0 2px 2px var(--ds-shadow-middle),
2213
+ 0 4px 4px var(--ds-shadow-middle),
2214
+ 0 6px 8px var(--ds-shadow-middle),
2215
+ 0 8px 16px var(--ds-shadow-middle)
2216
+ ;
2217
+ --ds-shadow-large:
2218
+ 0 2px 1px var(--ds-shadow-light),
2219
+ 0 4px 2px var(--ds-shadow-light),
2220
+ 0 8px 4px var(--ds-shadow-light),
2221
+ 0 16px 8px var(--ds-shadow-light),
2222
+ 0 32px 16px var(--ds-shadow-light)
2223
+ ;
2224
+ }
2225
+ .ds-shadow-tiny {
2226
+ box-shadow: var(--ds-shadow-tiny);
2227
+ }
2228
+ .ds-shadow-small {
2229
+ box-shadow: var(--ds-shadow-small);
2230
+ }
2231
+ .ds-shadow-medium {
2232
+ box-shadow: var(--ds-shadow-medium);
2233
+ }
2234
+ .ds-shadow-large {
2235
+ box-shadow: var(--ds-shadow-large);
2236
+ }
2237
+
2238
+ /* Utility: Space */
2239
+
2240
+ .ds-margin-up {
2241
+ margin-top: calc(-1 * var(--ds-spacing));
2242
+ }
2243
+
2244
+ .ds-no-space {
2245
+ margin: 0;
2246
+ }
2247
+ .ds-space {
2248
+ margin: var(--ds-line-height);
2249
+ }
2250
+ .ds-space-vertical {
2251
+ margin: var(--ds-line-height) 0;
2252
+ }
2253
+ .ds-space-horizontal {
2254
+ margin-left: var(--ds-spacing);
2255
+ margin-right: var(--ds-spacing);
2256
+ }
2257
+ .ds-space-left {
2258
+ margin-left: var(--ds-spacing);
2259
+ }
2260
+ .ds-space-right {
2261
+ margin-right: var(--ds-spacing);
2262
+ }
2263
+ .ds-space-top {
2264
+ margin-top: var(--ds-spacing);
2265
+ }
2266
+ .ds-space-bottom {
2267
+ margin-bottom: var(--ds-spacing);
2268
+ }
2269
+
2270
+ .ds-space-inside {
2271
+ padding: 0 var(--ds-spacing);
2272
+ }
2273
+ .ds-space-inside::before,
2274
+ .ds-space-inside::after {
2275
+ content: "";
2276
+ display: block;
2277
+ height: 0;
2278
+ }
2279
+ .ds-space-inside::before {
2280
+ margin-bottom: var(--ds-spacing);
2281
+ }
2282
+ .ds-space-inside::after {
2283
+ margin-top: var(--ds-spacing);
2284
+ }
2285
+
2286
+ /* Utility: Text on dark and light backgrounds
2287
+ */
2288
+
2289
+ .ds-dark-background {
2290
+ color: white;
2291
+ text-shadow: 0 0 2px var(--ds-black);
2292
+ }
2293
+ .ds-light-background {
2294
+ color: var(--ds-color);
2295
+ text-shadow: 0 0 3px white;
2296
+ }