summaryrefslogtreecommitdiff
path: root/searx/static
diff options
context:
space:
mode:
Diffstat (limited to 'searx/static')
-rw-r--r--searx/static/themes/simple/css/searxng-rtl.min.css.map2
-rw-r--r--searx/static/themes/simple/css/searxng.min.css.map2
-rw-r--r--searx/static/themes/simple/js/searxng.min.js4
-rw-r--r--searx/static/themes/simple/js/searxng.min.js.map2
-rw-r--r--searx/static/themes/simple/package.json2
-rw-r--r--searx/static/themes/simple/src/generated/pygments.less2
-rw-r--r--searx/static/themes/simple/src/js/main/search.js37
7 files changed, 44 insertions, 7 deletions
diff --git a/searx/static/themes/simple/css/searxng-rtl.min.css.map b/searx/static/themes/simple/css/searxng-rtl.min.css.map
index 886eaffc1..21923a32c 100644
--- a/searx/static/themes/simple/css/searxng-rtl.min.css.map
+++ b/searx/static/themes/simple/css/searxng-rtl.min.css.map
@@ -1 +1 @@
-{"version":3,"sources":["node_modules/normalize.css/normalize.css","src/less/definitions.less","src/less/code.less","src/generated/pygments.less","src/less/toolkit.less","src/less/mixins.less","src/less/style-rtl.less","src/less/autocomplete.less","src/less/detail.less","src/less/animations.less","src/less/embedded.less","src/less/info.less","src/less/new_issue.less","src/less/stats.less","src/less/result_templates.less","src/less/index.less","src/less/preferences.less","src/less/search.less","src/less/style-center.less","src/less/style.less"],"names":[],"mappings":"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,aAGF,eACE,OAAA,IAAA,MAAA,QACA,OAAA,IAAA,EAGF,kBACE,OAAA,IAAA,MAAA,QACA,OAAA,IAAA,EACA,MAAA,KAGF,kBACE,OAAA,IAAA,MAAA,QACA,OAAA,IAAA,EACA,MAAA,KAGF,MACE,MAAA,EACA,OAAA,EV/FD,MUsGG,MAAA,GVtGH,MUsGG,MAAA,GVtGH,MUsGG,MAAA,GVtGH,MUsGG,MAAA,GVtGH,MUsGG,MAAA,GVtGH,MUsGG,MAAA,GVtGH,MUsGG,MAAA,GVtGH,MUsGG,MAAA,GVtGH,MUsGG,MAAA,GVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,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","sourcesContent":["/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */\n\n/* Document\n ========================================================================== */\n\n/**\n * 1. Correct the line height in all browsers.\n * 2. Prevent adjustments of font size after orientation changes in iOS.\n */\n\nhtml {\n line-height: 1.15; /* 1 */\n -webkit-text-size-adjust: 100%; /* 2 */\n}\n\n/* Sections\n ========================================================================== */\n\n/**\n * Remove the margin in all browsers.\n */\n\nbody {\n margin: 0;\n}\n\n/**\n * Render the `main` element consistently in IE.\n */\n\nmain {\n display: block;\n}\n\n/**\n * Correct the font size and margin on `h1` elements within `section` and\n * `article` contexts in Chrome, Firefox, and Safari.\n */\n\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\n\n/* Grouping content\n ========================================================================== */\n\n/**\n * 1. Add the correct box sizing in Firefox.\n * 2. Show the overflow in Edge and IE.\n */\n\nhr {\n box-sizing: content-box; /* 1 */\n height: 0; /* 1 */\n overflow: visible; /* 2 */\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\npre {\n font-family: monospace, monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/* Text-level semantics\n ========================================================================== */\n\n/**\n * Remove the gray background on active links in IE 10.\n */\n\na {\n background-color: transparent;\n}\n\n/**\n * 1. Remove the bottom border in Chrome 57-\n * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n */\n\nabbr[title] {\n border-bottom: none; /* 1 */\n text-decoration: underline; /* 2 */\n text-decoration: underline dotted; /* 2 */\n}\n\n/**\n * Add the correct font weight in Chrome, Edge, and Safari.\n */\n\nb,\nstrong {\n font-weight: bolder;\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\ncode,\nkbd,\nsamp {\n font-family: monospace, monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/**\n * Add the correct font size in all browsers.\n */\n\nsmall {\n font-size: 80%;\n}\n\n/**\n * Prevent `sub` and `sup` elements from affecting the line height in\n * all browsers.\n */\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\n/* Embedded content\n ========================================================================== */\n\n/**\n * Remove the border on images inside links in IE 10.\n */\n\nimg {\n border-style: none;\n}\n\n/* Forms\n ========================================================================== */\n\n/**\n * 1. Change the font styles in all browsers.\n * 2. Remove the margin in Firefox and Safari.\n */\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: inherit; /* 1 */\n font-size: 100%; /* 1 */\n line-height: 1.15; /* 1 */\n margin: 0; /* 2 */\n}\n\n/**\n * Show the overflow in IE.\n * 1. Show the overflow in Edge.\n */\n\nbutton,\ninput { /* 1 */\n overflow: visible;\n}\n\n/**\n * Remove the inheritance of text transform in Edge, Firefox, and IE.\n * 1. Remove the inheritance of text transform in Firefox.\n */\n\nbutton,\nselect { /* 1 */\n text-transform: none;\n}\n\n/**\n * Correct the inability to style clickable types in iOS and Safari.\n */\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\n/**\n * Remove the inner border and padding in Firefox.\n */\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n border-style: none;\n padding: 0;\n}\n\n/**\n * Restore the focus styles unset by the previous rule.\n */\n\nbutton:-moz-focusring,\n[type=\"button\"]:-moz-focusring,\n[type=\"reset\"]:-moz-focusring,\n[type=\"submit\"]:-moz-focusring {\n outline: 1px dotted ButtonText;\n}\n\n/**\n * Correct the padding in Firefox.\n */\n\nfieldset {\n padding: 0.35em 0.75em 0.625em;\n}\n\n/**\n * 1. Correct the text wrapping in Edge and IE.\n * 2. Correct the color inheritance from `fieldset` elements in IE.\n * 3. Remove the padding so developers are not caught out when they zero out\n * `fieldset` elements in all browsers.\n */\n\nlegend {\n box-sizing: border-box; /* 1 */\n color: inherit; /* 2 */\n display: table; /* 1 */\n max-width: 100%; /* 1 */\n padding: 0; /* 3 */\n white-space: normal; /* 1 */\n}\n\n/**\n * Add the correct vertical alignment in Chrome, Firefox, and Opera.\n */\n\nprogress {\n vertical-align: baseline;\n}\n\n/**\n * Remove the default vertical scrollbar in IE 10+.\n */\n\ntextarea {\n overflow: auto;\n}\n\n/**\n * 1. Add the correct box sizing in IE 10.\n * 2. Remove the padding in IE 10.\n */\n\n[type=\"checkbox\"],\n[type=\"radio\"] {\n box-sizing: border-box; /* 1 */\n padding: 0; /* 2 */\n}\n\n/**\n * Correct the cursor style of increment and decrement buttons in Chrome.\n */\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n/**\n * 1. Correct the odd appearance in Chrome and Safari.\n * 2. Correct the outline style in Safari.\n */\n\n[type=\"search\"] {\n -webkit-appearance: textfield; /* 1 */\n outline-offset: -2px; /* 2 */\n}\n\n/**\n * Remove the inner padding in Chrome and Safari on macOS.\n */\n\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n/**\n * 1. Correct the inability to style clickable types in iOS and Safari.\n * 2. Change font properties to `inherit` in Safari.\n */\n\n::-webkit-file-upload-button {\n -webkit-appearance: button; /* 1 */\n font: inherit; /* 2 */\n}\n\n/* Interactive\n ========================================================================== */\n\n/*\n * Add the correct display in Edge, IE 10+, and Firefox.\n */\n\ndetails {\n display: block;\n}\n\n/*\n * Add the correct display in all browsers.\n */\n\nsummary {\n display: list-item;\n}\n\n/* Misc\n ========================================================================== */\n\n/**\n * Add the correct display in IE 10+.\n */\n\ntemplate {\n display: none;\n}\n\n/**\n * Add the correct display in IE 10.\n */\n\n[hidden] {\n display: none;\n}\n","/*\n * SearXNG, A privacy-respecting, hackable metasearch engine\n *\n * To change the colors of the site, simple edit this variables\n */\n\n/// Light Theme\n:root {\n /// Base Colors\n --color-base-font: #444;\n --color-base-font-rgb: 68, 68, 68;\n --color-base-background: #fff;\n --color-base-background-mobile: #f2f5f8;\n --color-url-font: #334999;\n --color-url-visited-font: #9822c3;\n /// Header Colors\n --color-header-background: #fdfbff;\n --color-header-border: #ddd;\n /// Footer Colors\n --color-footer-background: #fdfbff;\n --color-footer-border: #ddd;\n /// Sidebar Colors\n --color-sidebar-border: #ddd;\n --color-sidebar-font: #000;\n --color-sidebar-background: #fff;\n /// BackToTop Colors\n --color-backtotop-font: #444;\n --color-backtotop-border: #ddd;\n --color-backtotop-background: #fff;\n /// Button Colors\n --color-btn-background: #3050ff;\n --color-btn-font: #fff;\n --color-show-btn-background: #bbb;\n --color-show-btn-font: #000;\n /// Search Input Colors\n --color-search-border: #bbb;\n --color-search-shadow: 0 2px 8px rgb(34 38 46 / 25%);\n --color-search-background: #fff;\n --color-search-font: #222;\n --color-search-background-hover: #3050ff;\n /// Modal Colors\n --color-error: #db3434;\n --color-error-background: lighten(#db3434, 40%);\n --color-warning: #dbba34;\n --color-warning-background: lighten(#dbba34, 40%);\n --color-success: #42db34;\n --color-success-background: lighten(#42db34, 40%);\n /// Categories Colors\n --color-categories-item-selected-font: #3050ff;\n --color-categories-item-border-selected: #3050ff;\n /// Autocomplete Colors\n --color-autocomplete-font: #000;\n --color-autocomplete-border: #bbb;\n --color-autocomplete-shadow: 0 2px 8px rgb(34 38 46 / 25%);\n --color-autocomplete-background: #fff;\n --color-autocomplete-background-hover: #e3e3e3;\n /// Answer Colors\n --color-answer-font: #444; // same as --color-base-font\n --color-answer-background: #fff;\n /// Results Colors\n --color-result-background: #fff;\n --color-result-border: #ddd;\n --color-result-url-font: #000;\n --color-result-vim-selected: #f7f7f7;\n --color-result-vim-arrow: #000bbb;\n --color-result-description-highlight-font: #000;\n --color-result-link-font: #000bbb;\n --color-result-link-font-highlight: #000bbb;\n --color-result-link-visited-font: #9822c3;\n --color-result-publishdate-font: #777;\n --color-result-engines-font: #545454;\n --color-result-search-url-border: #ddd;\n --color-result-search-url-font: #000;\n // Images Colors\n --color-result-image-span-font: #444;\n --color-result-image-span-font-selected: #fff;\n --color-result-image-background: #fff;\n /// Settings Colors\n --color-settings-tr-hover: #ebebeb;\n --color-settings-engine-description-font: #545454;\n --color-settings-engine-group-background: #0001;\n /// Detail modal\n --color-result-detail-font: #fff;\n --color-result-detail-label-font: lightgray;\n --color-result-detail-background: #242424;\n --color-result-detail-hr: #555;\n --color-result-detail-link: #8af;\n --color-result-detail-loader-border: rgba(255, 255, 255, 0.2);\n --color-result-detail-loader-borderleft: rgba(0, 0, 0, 0);\n /// Toolkit Colors\n --color-toolkit-badge-font: #fff;\n --color-toolkit-badge-background: #545454;\n --color-toolkit-kbd-font: #fff;\n --color-toolkit-kbd-background: #000;\n --color-toolkit-dialog-border: #ddd;\n --color-toolkit-dialog-background: #fff;\n --color-toolkit-tabs-label-border: #fff;\n --color-toolkit-tabs-section-border: #ddd;\n --color-toolkit-select-background: #e1e1e1;\n --color-toolkit-select-border: #ddd;\n --color-toolkit-select-background-hover: #bbb;\n --color-toolkit-input-text-font: #222;\n --color-toolkit-checkbox-onoff-off-background: #ddd;\n --color-toolkit-checkbox-onoff-on-background: #ddd;\n --color-toolkit-checkbox-onoff-on-mark-background: #3050ff;\n --color-toolkit-checkbox-onoff-on-mark-color: #fff;\n --color-toolkit-checkbox-onoff-off-mark-background: #aaa;\n --color-toolkit-checkbox-onoff-off-mark-color: #fff;\n --color-toolkit-checkbox-label-background: #ddd;\n --color-toolkit-checkbox-label-border: #ddd;\n --color-toolkit-checkbox-input-border: #3050ff;\n --color-toolkit-engine-tooltip-border: #ddd;\n --color-toolkit-engine-tooltip-background: #fff;\n --color-toolkit-loader-border: rgba(0, 0, 0, 0.2);\n --color-toolkit-loader-borderleft: rgba(255, 255, 255, 0);\n --color-doc-code: #300;\n --color-doc-code-background: #fdd;\n}\n\n.dark-themes() {\n /// Base Colors\n --color-base-font: #bbb;\n --color-base-font-rgb: 187, 187, 187;\n --color-base-background: #222428;\n --color-base-background-mobile: #222428;\n --color-url-font: #8af;\n --color-url-visited-font: #c09cd9;\n /// Header Colors\n --color-header-background: #1e1e22;\n --color-header-border: #333;\n /// Footer Colors\n --color-footer-background: #1e1e22;\n --color-footer-border: #333;\n /// Sidebar Colors\n --color-sidebar-border: #555;\n --color-sidebar-font: #fff;\n --color-sidebar-background: #292c34;\n /// BackToTop Colors\n --color-backtotop-font: #bbb;\n --color-backtotop-border: #333;\n --color-backtotop-background: #2b2e36;\n /// Button Colors\n --color-btn-background: #58f;\n --color-btn-font: #222;\n --color-show-btn-background: #555;\n --color-show-btn-font: #fff;\n /// Search Input Colors\n --color-search-border: #555;\n --color-search-shadow: 0 2px 8px rgb(34 38 46 / 25%);\n --color-search-background: #2b2e36;\n --color-search-font: #fff;\n --color-search-background-hover: #58f;\n /// Modal Colors\n --color-error: #f55b5b;\n --color-error-background: darken(#db3434, 40%);\n --color-warning: #f1d561;\n --color-warning-background: darken(#dbba34, 40%);\n --color-success: #79f56e;\n --color-success-background: darken(#42db34, 40%);\n /// Categories Colors\n --color-categories-item-selected-font: #58f;\n --color-categories-item-border-selected: #58f;\n /// Autocomplete Colors\n --color-autocomplete-font: #fff;\n --color-autocomplete-border: #555;\n --color-autocomplete-shadow: 0 2px 8px rgb(34 38 46 / 25%);\n --color-autocomplete-background: #2b2e36;\n --color-autocomplete-background-hover: #1e1e22;\n /// Answer Colors\n --color-answer-font: #bbb; // same as --color-base-font\n --color-answer-background: #26292f;\n /// Results Colors\n --color-result-background: #26292f;\n --color-result-border: #333;\n --color-result-url-font: #fff;\n --color-result-vim-selected: #1f1f23cc;\n --color-result-vim-arrow: #8af;\n --color-result-description-highlight-font: #fff;\n --color-result-link-font: #8af;\n --color-result-link-font-highlight: #8af;\n --color-result-link-visited-font: #c09cd9;\n --color-result-publishdate-font: #888;\n --color-result-engines-font: #a4a4a4;\n --color-result-search-url-border: #555;\n --color-result-search-url-font: #fff;\n /// Detail modal : same as the light version\n --color-result-detail-font: #fff;\n --color-result-detail-label-font: lightgray;\n --color-result-detail-background: #1a1a1c;\n --color-result-detail-hr: #555;\n --color-result-detail-link: #8af;\n --color-result-detail-loader-border: rgba(255, 255, 255, 0.2);\n --color-result-detail-loader-borderleft: rgba(0, 0, 0, 0);\n // Images Colors\n --color-result-image-span-font: #bbb;\n --color-result-image-span-font-selected: #222;\n --color-result-image-background: #222;\n /// Settings Colors\n --color-settings-tr-hover: #2c2c32;\n --color-settings-engine-description-font: darken(#dcdcdc, 30%);\n --color-settings-engine-group-background: #1b1b21;\n /// Toolkit Colors\n --color-toolkit-badge-font: #fff;\n --color-toolkit-badge-background: #555;\n --color-toolkit-kbd-font: #000;\n --color-toolkit-kbd-background: #fff;\n --color-toolkit-dialog-border: #555;\n --color-toolkit-dialog-background: #1e1e22;\n --color-toolkit-tabs-label-border: #222;\n --color-toolkit-tabs-section-border: #555;\n --color-toolkit-select-background: #313338;\n --color-toolkit-select-border: #555;\n --color-toolkit-select-background-hover: #373b49;\n --color-toolkit-input-text-font: #fff;\n --color-toolkit-checkbox-onoff-off-background: #313338;\n --color-toolkit-checkbox-onoff-on-background: #313338;\n --color-toolkit-checkbox-onoff-on-mark-background: #58f;\n --color-toolkit-checkbox-onoff-on-mark-color: #222;\n --color-toolkit-checkbox-onoff-off-mark-background: #ddd;\n --color-toolkit-checkbox-onoff-off-mark-color: #222;\n --color-toolkit-checkbox-label-background: #222;\n --color-toolkit-checkbox-label-border: #333;\n --color-toolkit-checkbox-input-border: #58f;\n --color-toolkit-engine-tooltip-border: #333;\n --color-toolkit-engine-tooltip-background: #222;\n --color-toolkit-loader-border: rgba(255, 255, 255, 0.2);\n --color-toolkit-loader-borderleft: rgba(0, 0, 0, 0);\n --color-doc-code: #fdd;\n --color-doc-code-background: #300;\n}\n\n/// Dark Theme (autoswitch based on device pref)\n@media (prefers-color-scheme: dark) {\n :root.theme-auto {\n .dark-themes();\n }\n}\n\n// Dark Theme by preferences\n:root.theme-dark {\n .dark-themes();\n}\n\n/// General Size\n@results-width: 45rem;\n@results-sidebar-width: 25rem;\n@results-offset: 10rem;\n@results-tablet-offset: 0.5rem;\n@results-gap: 5rem;\n@results-margin: 0.125rem;\n@result-padding: 1rem;\n@results-image-row-height: 12rem;\n@results-image-row-height-phone: 6rem;\n@search-width: 44rem;\n// heigh of #search, see detail.less\n@search-height: 7.6rem;\n\n/// Device Size\n/// @desktop > @tablet\n@tablet: 79.75em; // see https://github.com/searxng/searxng/issues/874\n@phone: 50em;\n@small-phone: 35em;\n@ultra-small-phone: 20rem;\n\n/// From style.less\n@stacked-bar-chart: rgb(0, 0, 0);\n\n/// Load fonts from this directory.\n@icon-font-path: \"../../../fonts/\";\n//** File name for all font files.\n@icon-font-name: \"glyphicons-halflings-regular\";\n//** Element ID within SVG icon file.\n@icon-font-svg-id: \"glyphicons_halflingsregular\";\n\n// decoration of the select HTML elements\n@select-light-svg-path: \"../svg/select-light.svg\";\n@select-dark-svg-path: \"../svg/select-dark.svg\";\n",".code-highlight pre {\n overflow: auto;\n background-color: inherit;\n color: inherit;\n border: inherit;\n}\n\n// stylelint-disable no-invalid-position-at-import-rule\n@import \"../generated/pygments.less\";\n","/*\n this file is generated automatically by searxng_extra/update/update_pygments.py\n using pygments version 2.12.0\n*/\n\n.code-highlight .linenos {\n -webkit-touch-callout: none;\n -webkit-user-select: none;\n -khtml-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n cursor: default;\n\n &::selection {\n background: transparent; /* WebKit/Blink Browsers */\n }\n &::-moz-selection {\n background: transparent; /* Gecko Browsers */\n }\n\n margin-right: 8px;\n text-align: right;\n}\n\n.code-highlight pre { line-height: 125%; }\n.code-highlight td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }\n.code-highlight span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }\n.code-highlight td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }\n.code-highlight span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }\n.code-highlight .hll { background-color: #ffffcc }\n.code-highlight { background: #f8f8f8; }\n.code-highlight .c { color: #3D7B7B; font-style: italic } /* Comment */\n.code-highlight .err { border: 1px solid #FF0000 } /* Error */\n.code-highlight .k { color: #008000; font-weight: bold } /* Keyword */\n.code-highlight .o { color: #666666 } /* Operator */\n.code-highlight .ch { color: #3D7B7B; font-style: italic } /* Comment.Hashbang */\n.code-highlight .cm { color: #3D7B7B; font-style: italic } /* Comment.Multiline */\n.code-highlight .cp { color: #9C6500 } /* Comment.Preproc */\n.code-highlight .cpf { color: #3D7B7B; font-style: italic } /* Comment.PreprocFile */\n.code-highlight .c1 { color: #3D7B7B; font-style: italic } /* Comment.Single */\n.code-highlight .cs { color: #3D7B7B; font-style: italic } /* Comment.Special */\n.code-highlight .gd { color: #A00000 } /* Generic.Deleted */\n.code-highlight .ge { font-style: italic } /* Generic.Emph */\n.code-highlight .gr { color: #E40000 } /* Generic.Error */\n.code-highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */\n.code-highlight .gi { color: #008400 } /* Generic.Inserted */\n.code-highlight .go { color: #717171 } /* Generic.Output */\n.code-highlight .gp { color: #000080; font-weight: bold } /* Generic.Prompt */\n.code-highlight .gs { font-weight: bold } /* Generic.Strong */\n.code-highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */\n.code-highlight .gt { color: #0044DD } /* Generic.Traceback */\n.code-highlight .kc { color: #008000; font-weight: bold } /* Keyword.Constant */\n.code-highlight .kd { color: #008000; font-weight: bold } /* Keyword.Declaration */\n.code-highlight .kn { color: #008000; font-weight: bold } /* Keyword.Namespace */\n.code-highlight .kp { color: #008000 } /* Keyword.Pseudo */\n.code-highlight .kr { color: #008000; font-weight: bold } /* Keyword.Reserved */\n.code-highlight .kt { color: #B00040 } /* Keyword.Type */\n.code-highlight .m { color: #666666 } /* Literal.Number */\n.code-highlight .s { color: #BA2121 } /* Literal.String */\n.code-highlight .na { color: #687822 } /* Name.Attribute */\n.code-highlight .nb { color: #008000 } /* Name.Builtin */\n.code-highlight .nc { color: #0000FF; font-weight: bold } /* Name.Class */\n.code-highlight .no { color: #880000 } /* Name.Constant */\n.code-highlight .nd { color: #AA22FF } /* Name.Decorator */\n.code-highlight .ni { color: #717171; font-weight: bold } /* Name.Entity */\n.code-highlight .ne { color: #CB3F38; font-weight: bold } /* Name.Exception */\n.code-highlight .nf { color: #0000FF } /* Name.Function */\n.code-highlight .nl { color: #767600 } /* Name.Label */\n.code-highlight .nn { color: #0000FF; font-weight: bold } /* Name.Namespace */\n.code-highlight .nt { color: #008000; font-weight: bold } /* Name.Tag */\n.code-highlight .nv { color: #19177C } /* Name.Variable */\n.code-highlight .ow { color: #AA22FF; font-weight: bold } /* Operator.Word */\n.code-highlight .w { color: #bbbbbb } /* Text.Whitespace */\n.code-highlight .mb { color: #666666 } /* Literal.Number.Bin */\n.code-highlight .mf { color: #666666 } /* Literal.Number.Float */\n.code-highlight .mh { color: #666666 } /* Literal.Number.Hex */\n.code-highlight .mi { color: #666666 } /* Literal.Number.Integer */\n.code-highlight .mo { color: #666666 } /* Literal.Number.Oct */\n.code-highlight .sa { color: #BA2121 } /* Literal.String.Affix */\n.code-highlight .sb { color: #BA2121 } /* Literal.String.Backtick */\n.code-highlight .sc { color: #BA2121 } /* Literal.String.Char */\n.code-highlight .dl { color: #BA2121 } /* Literal.String.Delimiter */\n.code-highlight .sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */\n.code-highlight .s2 { color: #BA2121 } /* Literal.String.Double */\n.code-highlight .se { color: #AA5D1F; font-weight: bold } /* Literal.String.Escape */\n.code-highlight .sh { color: #BA2121 } /* Literal.String.Heredoc */\n.code-highlight .si { color: #A45A77; font-weight: bold } /* Literal.String.Interpol */\n.code-highlight .sx { color: #008000 } /* Literal.String.Other */\n.code-highlight .sr { color: #A45A77 } /* Literal.String.Regex */\n.code-highlight .s1 { color: #BA2121 } /* Literal.String.Single */\n.code-highlight .ss { color: #19177C } /* Literal.String.Symbol */\n.code-highlight .bp { color: #008000 } /* Name.Builtin.Pseudo */\n.code-highlight .fm { color: #0000FF } /* Name.Function.Magic */\n.code-highlight .vc { color: #19177C } /* Name.Variable.Class */\n.code-highlight .vg { color: #19177C } /* Name.Variable.Global */\n.code-highlight .vi { color: #19177C } /* Name.Variable.Instance */\n.code-highlight .vm { color: #19177C } /* Name.Variable.Magic */\n.code-highlight .il { color: #666666 } /* Literal.Number.Integer.Long */\n","// other solution : http://stackoverflow.com/questions/1577598/how-to-hide-parts-of-html-when-javascript-is-disabled/13857783#13857783\n\n// stylelint-disable no-descending-specificity\n\nhtml.no-js .hide_if_nojs {\n display: none;\n}\n\nhtml.js .show_if_nojs {\n display: none;\n}\n\n.center {\n text-align: center;\n}\n\n.right {\n float: right;\n}\n\n.left {\n float: left;\n}\n\n.invisible {\n display: none !important;\n}\n\n.list-unstyled {\n list-style-type: none;\n\n li {\n margin-top: 4px;\n margin-bottom: 4px;\n }\n}\n\n.danger {\n background-color: var(--color-error-background);\n}\n\n.warning {\n background: var(--color-warning-background);\n}\n\n.success {\n background: var(--color-success-background);\n}\n\n.badge {\n display: inline-block;\n color: var(--color-toolkit-badge-font);\n background-color: var(--color-toolkit-badge-background);\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n min-width: 10px;\n padding: 1px 5px;\n border-radius: 5px;\n}\n\n// kbd\nkbd {\n padding: 2px 4px;\n margin: 1px;\n font-size: 90%;\n color: var(--color-toolkit-kbd-font);\n background: var(--color-toolkit-kbd-background);\n}\n\n// table\ntable {\n width: 100%;\n\n &.striped {\n tr {\n border-bottom: 1px solid var(--color-settings-tr-hover);\n }\n }\n}\n\nth {\n padding: 0.4em;\n}\n\ntd {\n padding: 0 4px;\n}\n\ntr {\n &:hover {\n background: var(--color-settings-tr-hover) !important;\n }\n}\n\n// pre\n.pre() {\n display: block;\n font-size: 0.8em;\n word-break: break-all;\n margin: 0.1em;\n user-select: all;\n}\n\ndiv.selectable_url {\n display: block;\n border: 1px solid var(--color-result-search-url-border);\n padding: 4px;\n color: var(--color-result-search-url-font);\n margin: 0.1em;\n overflow: hidden;\n height: 1.2em;\n line-height: 1.2em;\n .rounded-corners-tiny;\n\n pre {\n .pre();\n }\n}\n\n// dialog\n.dialog() {\n position: relative;\n display: flex;\n padding: 1rem;\n margin: 0 0 1em 0;\n border: 1px solid var(--color-toolkit-dialog-border);\n .ltr-text-align-left();\n .rounded-corners;\n\n .close {\n .ltr-float-right();\n position: relative;\n top: -3px;\n color: inherit;\n font-size: 1.5em;\n }\n\n ul,\n ol,\n p {\n margin: 1px 0 0 0;\n }\n\n table {\n width: auto;\n }\n\n tr {\n vertical-align: text-top;\n\n &:hover {\n background: transparent !important;\n }\n }\n\n td {\n padding: 0 1em 0 0;\n padding-top: 0;\n .ltr-padding-right(1rem);\n padding-bottom: 0;\n .ltr-padding-left(0);\n }\n\n h4 {\n margin-top: 0.3em;\n margin-bottom: 0.3em;\n }\n}\n\n.dialog-error {\n .dialog();\n\n color: var(--color-error);\n background: var(--color-error-background);\n border-color: var(--color-error);\n}\n\n.dialog-warning {\n .dialog();\n\n color: var(--color-warning);\n background: var(--color-warning-background);\n border-color: var(--color-warning);\n}\n\n.dialog-modal {\n .dialog();\n\n display: block;\n background: var(--color-toolkit-dialog-background);\n position: fixed;\n top: 50%;\n left: 50%;\n margin: 0 auto;\n transform: translate(-50%, -50%);\n z-index: 10000000;\n\n h3 {\n margin-top: 0;\n }\n}\n\n// btn-collapse\n.btn-collapse {\n cursor: pointer;\n}\n\n//\n.scrollx {\n overflow-x: auto;\n overflow-y: hidden;\n display: block;\n padding: 0;\n margin: 0;\n border: none;\n}\n\n/* -- tabs -- */\n.tabs .tabs > label {\n font-size: 90%;\n}\n\nul.tabs {\n border-bottom: 1px solid var(--color-toolkit-tabs-section-border);\n list-style: none;\n padding-left: 0;\n\n li {\n display: flex;\n }\n}\n\n.tabs {\n display: flex;\n flex-wrap: wrap;\n width: 100%;\n min-width: 100%;\n\n & > * {\n order: 2;\n }\n\n & > input[type=radio] {\n display: none;\n }\n\n & > label,\n & > li > a {\n order: 1;\n padding: 0.7em;\n margin: 0 0.7em;\n letter-spacing: 0.5px;\n text-transform: uppercase;\n border: solid var(--color-toolkit-tabs-label-border);\n border-width: 0 0 2px 0;\n color: unset;\n\n .disable-user-select();\n\n cursor: pointer;\n\n &.active {\n border-bottom: 2px solid var(--color-categories-item-border-selected);\n background: var(--color-categories-item-selected);\n color: var(--color-categories-item-selected-font);\n }\n }\n\n & > label:hover,\n & > li > a:hover {\n border-bottom: 2px solid var(--color-categories-item-border-selected);\n }\n\n & > section {\n min-width: 100%;\n padding: 0.7rem 0;\n box-sizing: border-box;\n border-top: 1px solid var(--color-toolkit-tabs-section-border);\n display: none;\n }\n\n // default selection\n & > label:last-of-type {\n border-bottom: 2px solid var(--color-categories-item-border-selected);\n background: var(--color-categories-item-selected);\n color: var(--color-categories-item-selected-font);\n letter-spacing: -0.1px;\n }\n\n & > section:last-of-type {\n display: block;\n }\n}\n\nhtml body .tabs > input:checked {\n ~ section {\n display: none;\n }\n\n ~ label {\n position: inherited;\n background: inherit;\n border-bottom: 2px solid transparent;\n font-weight: normal;\n color: inherit;\n\n &:hover {\n border-bottom: 2px solid var(--color-categories-item-border-selected);\n }\n }\n\n + label {\n border-bottom: 2px solid var(--color-categories-item-border-selected);\n background: var(--color-categories-item-selected);\n color: var(--color-categories-item-selected-font);\n }\n\n + label + section {\n display: block;\n }\n}\n\n/* -- select -- */\nselect {\n height: 2.4rem;\n margin-top: 0;\n .ltr-margin-right(1rem);\n margin-bottom: 0;\n .ltr-margin-left(0);\n padding: 0.2rem !important;\n color: var(--color-search-font);\n font-size: 0.9rem;\n z-index: 2;\n\n &:hover,\n &:focus {\n cursor: pointer;\n }\n}\n\n@supports ((background-position-x: 100%) and ((appearance: none) or (-webkit-appearance: none) or (-moz-appearance: none))) {\n select {\n appearance: none;\n -webkit-appearance: none;\n -moz-appearance: none;\n border-width: 0 2rem 0 0;\n border-color: transparent;\n background: data-uri('image/svg+xml;charset=UTF-8', @select-light-svg-path) no-repeat;\n background-position-x: calc(100% + 2rem);\n background-size: 2rem;\n background-origin: content-box;\n background-color: var(--color-toolkit-select-background);\n outline: medium none;\n text-overflow: ellipsis;\n .rounded-corners-tiny;\n\n &:hover,\n &:focus {\n background-color: var(--color-toolkit-select-background-hover);\n }\n\n option {\n background-color: var(--color-base-background);\n }\n }\n\n @media (prefers-color-scheme: dark) {\n html.theme-auto select,\n html.theme-dark select {\n background-image: data-uri('image/svg+xml;charset=UTF-8', @select-dark-svg-path);\n }\n }\n\n html.theme-dark select {\n background-image: data-uri('image/svg+xml;charset=UTF-8', @select-dark-svg-path);\n }\n}\n\n/* -- checkbox-onoff -- */\ninput.checkbox-onoff[type=\"checkbox\"] {\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n cursor: pointer;\n display: inline-block;\n width: 2.5em;\n height: 0.7em;\n box-shadow: none !important;\n margin: 0 16px;\n border-radius: 10px;\n position: relative;\n\n /* focus & hover */\n &:focus,\n &:hover {\n outline: none;\n }\n\n &:focus::after {\n content: \"\";\n position: absolute;\n width: 3.5em;\n height: 1.65em;\n border: 1px solid var(--color-btn-background);\n border-radius: 12px;\n box-shadow: var(--color-btn-background) 0 0 3px;\n z-index: 10000;\n top: -0.55em;\n left: -0.6em;\n }\n\n &::before {\n position: absolute;\n top: -0.5em;\n display: flex;\n justify-content: center;\n align-items: center;\n font-size: 0.75em;\n width: 1.875em;\n height: 1.875em;\n border-radius: 50%;\n }\n}\n\n/* check mark\nreversed-checkbox displays unchecked checkedboxes as checked, and vice versa.\nsee https://github.com/searxng/searxng/blob/3408d061aab9abc6168fec9bbc6deab71b236dac/searx/templates/simple/preferences.html#L313\n*/\ninput.checkbox-onoff[type=\"checkbox\"],\n.reversed-checkbox input.checkbox-onoff[type=\"checkbox\"]:checked {\n background: var(--color-toolkit-checkbox-onoff-off-background);\n\n &::before {\n left: -0.5em;\n content: \"\\2715\";\n color: var(--color-toolkit-checkbox-onoff-off-mark-color);\n background: var(--color-toolkit-checkbox-onoff-off-mark-background);\n }\n}\n\ninput.checkbox-onoff[type=\"checkbox\"]:checked,\n.reversed-checkbox input.checkbox-onoff[type=\"checkbox\"] {\n background: var(--color-toolkit-checkbox-onoff-on-background);\n\n &::before {\n left: calc(100% - 1.5em);\n content: \"\\2713\";\n color: var(--color-toolkit-checkbox-onoff-on-mark-color);\n background: var(--color-toolkit-checkbox-onoff-on-mark-background);\n }\n}\n\n/* -- checkbox -- */\n@supports (transform: rotate(-45deg)) {\n input[type=checkbox]:not(.checkbox-onoff) {\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n\n width: 20px;\n height: 20px;\n cursor: pointer;\n position: relative;\n top: 0;\n left: 0;\n border: 2px solid var(--color-toolkit-checkbox-input-border);\n .rounded-corners(0.3em);\n\n &::after {\n content: '';\n width: 9px;\n height: 5px;\n position: absolute;\n top: 3px;\n left: 2px;\n border: 3px solid var(--color-toolkit-checkbox-label-border);\n border-top: none;\n border-right: none;\n background: transparent;\n opacity: 0;\n transform: rotate(-45deg);\n }\n\n &:checked::after {\n border-color: var(--color-toolkit-checkbox-input-border);\n opacity: 1;\n }\n }\n\n // disabled : can't be focused, show only the check mark\n input[type=checkbox][disabled]:not(.checkbox-onoff) {\n border: inherit;\n background-color: transparent !important;\n cursor: inherit;\n }\n\n // if not checked and possible to checked then display a \"light\" check mark on hover\n input.checkbox[type=checkbox]:not(:checked):not([disabled]):not(.checkbox-onoff):hover::after {\n opacity: 0.5;\n }\n}\n\n@media screen and (max-width: @phone) {\n .tabs > label {\n width: 100%;\n }\n}\n\n/* -- loader -- */\n.loader,\n.loader::after {\n border-radius: 50%;\n width: 2em;\n height: 2em;\n}\n\n.loader {\n margin: 1em auto;\n font-size: 10px;\n position: relative;\n text-indent: -9999em;\n border-top: 0.5em solid var(--color-toolkit-loader-border);\n border-right: 0.5em solid var(--color-toolkit-loader-border);\n border-bottom: 0.5em solid var(--color-toolkit-loader-border);\n border-left: 0.5em solid var(--color-toolkit-loader-borderleft);\n -webkit-transform: translateZ(0);\n -ms-transform: translateZ(0);\n transform: translateZ(0);\n -webkit-animation: load8 1.2s infinite linear;\n animation: load8 1.2s infinite linear;\n}\n\n@-webkit-keyframes load8 {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n\n 100% {\n -webkit-transform: rotate(360deg);\n transform: rotate(360deg);\n }\n}\n\n@keyframes load8 {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n\n 100% {\n -webkit-transform: rotate(360deg);\n transform: rotate(360deg);\n }\n}\n\n/* -- engine-tooltip -- */\n.engine-tooltip {\n display: none;\n position: absolute;\n padding: 0.5rem 1rem;\n margin: 0 0 0 2rem;\n border: 1px solid var(--color-toolkit-engine-tooltip-border);\n background: var(--color-toolkit-engine-tooltip-background);\n font-size: 14px;\n font-weight: normal;\n z-index: 1000000;\n text-align: left;\n .rounded-corners;\n}\n\nth:hover .engine-tooltip,\ntd:hover .engine-tooltip,\n.engine-tooltip:hover {\n display: inline-block;\n}\n\n/* -- stacked bar chart -- */\n.stacked-bar-chart {\n margin: 0;\n padding: 0 0.125rem 0 4rem;\n width: 100%;\n width: -moz-available;\n width: -webkit-fill-available;\n width: fill;\n flex-direction: row;\n flex-wrap: nowrap;\n align-items: center;\n display: inline-flex;\n}\n\n.stacked-bar-chart-value {\n width: 3rem;\n display: inline-block;\n position: absolute;\n padding: 0 0.5rem;\n text-align: right;\n}\n\n.stacked-bar-chart-base {\n display: flex;\n flex-shrink: 0;\n flex-grow: 0;\n flex-basis: unset;\n}\n\n.stacked-bar-chart-median {\n .stacked-bar-chart-base();\n\n background: var(--color-base-font);\n border: 1px solid rgba(var(--color-base-font-rgb), 0.9);\n padding: 0.3rem 0;\n}\n\n.stacked-bar-chart-rate80 {\n .stacked-bar-chart-base();\n\n background: transparent;\n border: 1px solid rgba(var(--color-base-font-rgb), 0.3);\n padding: 0.3rem 0;\n}\n\n.stacked-bar-chart-rate95 {\n .stacked-bar-chart-base();\n\n background: transparent;\n border-bottom: 1px dotted rgba(var(--color-base-font-rgb), 0.5);\n padding: 0;\n}\n\n.stacked-bar-chart-rate100 {\n .stacked-bar-chart-base();\n\n background: transparent;\n border-left: 1px solid rgba(var(--color-base-font-rgb), 0.9);\n padding: 0.4rem 0;\n width: 1px;\n}\n","// SPDX-License-Identifier: AGPL-3.0-or-later\n\n// Mixins\n.text-size-adjust (@property: 100%) {\n -webkit-text-size-adjust: @property;\n -ms-text-size-adjust: @property;\n -moz-text-size-adjust: @property;\n text-size-adjust: @property;\n}\n\n.rounded-corners (@radius: 10px) {\n border-radius: @radius;\n}\n\n.rounded-right-corners (@radius: 0 10px 10px 0) {\n border-radius: @radius;\n}\n\n.rounded-corners-tiny (@radius: 5px) {\n border-radius: @radius;\n}\n\n// disable user selection\n.disable-user-select () {\n -webkit-touch-callout: none;\n user-select: none;\n}\n\n.show-content-button() {\n padding: 5px 10px;\n .rounded-corners-tiny;\n background: var(--color-show-btn-background);\n color: var(--color-show-btn-font);\n cursor: pointer;\n\n &:hover {\n background: var(--color-btn-background);\n color: var(--color-btn-font);\n }\n}\n",".ltr-left(@offset) {\n right: @offset;\n}\n\n.ltr-right(@offset) {\n left: @offset;\n}\n\n.ltr-margin-right(@offset) {\n margin-left: @offset;\n}\n\n.ltr-margin-left(@offset) {\n margin-right: @offset;\n}\n\n.ltr-border-right(@offset) {\n border-left: @offset;\n}\n\n.ltr-border-left(@offset) {\n border-right: @offset;\n}\n\n.ltr-padding-right(@offset) {\n padding-left: @offset;\n}\n\n.ltr-padding-left(@offset) {\n padding-right: @offset;\n}\n\n.ltr-float-left() {\n float: right;\n}\n\n.ltr-float-right() {\n float: left;\n}\n\n.ltr-text-align-right() {\n text-align: left;\n}\n\n.ltr-rounded-left-corners(@radius) {\n border-radius: 0 @radius @radius 0;\n}\n\n.ltr-rounded-top-left-corners(@radius) {\n border-radius: 0 @radius 0 0;\n}\n\n.ltr-rounded-bottom-left-corners(@radius) {\n border-radius: 0 0 @radius 0;\n}\n\n.ltr-rounded-right-corners(@radius) {\n border-radius: @radius 0 0 @radius;\n}\n\n.ltr-rounded-top-right-corners(@radius) {\n border-radius: @radius 0 0 0;\n}\n\n.ltr-rounded-bottom-right-corners(@radius) {\n border-radius: 0 0 0 @radius;\n}\n\n.ltr-text-align-left() {\n text-align: right;\n}\n\n.ltr-border-left-width(@offset) {\n border-right-width: @offset;\n}\n\n.ltr-border-right-width(@offset) {\n border-left-width: @offset;\n}\n\n.ltr-transform() {\n transform: scale(-1, 1);\n}\n\n@import \"style.less\";\n\n#q,\n#sidebar .infobox dt bdi {\n direction: rtl;\n}\n\n// URL are displayed LTR but align on the right\n#urls {\n direction: initial;\n text-align: right;\n\n .result .url_wrapper {\n justify-content: end;\n }\n}\n\n// Image flexbox\n#main_results div#results.only_template_images #urls {\n direction: rtl;\n}\n\n// Image detail\n#results.image-detail-open article.result-images[data-vim-selected] .detail .result-images-labels p {\n direction: rtl;\n\n &.result-url {\n // Display URL using the LTR direction\n direction: ltr;\n\n span {\n // And put the label on the right\n direction: rtl;\n float: right;\n }\n }\n}\n\n// select HTML element\n@supports ((background-position-x: 100%) and ((appearance: none) or (-webkit-appearance: none) or (-moz-appearance: none))) {\n select {\n border-width: 0 0 0 2rem;\n background-position-x: -2rem;\n }\n}\n\n// vim hotkey helps is not translated\n#vim-hotkeys-help table {\n direction: ltr;\n text-align: left;\n}\n\n// Logo on the right\n#main_preferences h1,\n#main_stats h1 {\n background-position-x: 100%;\n}\n\n// patch of stats.less\n.bar-chart-serie1,\n.bar-chart-serie2 {\n float: right;\n}\n\n.engine-stats .engine-name,\n.engine-stats .engine-score,\n.engine-stats .result-count,\n.engine-stats .response-time,\n.engine-stats .engine-reliability {\n text-align: right;\n}\n","/*! Autocomplete.js v2.6.3 | license MIT | (c) 2017, Baptiste Donaux | http://autocomplete-js.com */\n\n.autocomplete {\n position: absolute;\n width: @search-width;\n max-height: 0;\n overflow-y: hidden;\n .ltr-text-align-left();\n\n .rounded-corners;\n\n &:active,\n &:focus,\n &:hover {\n background-color: var(--color-autocomplete-background);\n }\n\n &:empty {\n display: none;\n }\n\n > ul {\n list-style-type: none;\n margin: 0;\n padding: 0;\n\n > li {\n cursor: pointer;\n padding: 0.5rem 1rem;\n\n &.active,\n &:active,\n &:focus,\n &:hover {\n background-color: var(--color-autocomplete-background-hover);\n\n a:active,\n a:focus,\n a:hover {\n text-decoration: none;\n }\n }\n\n &.locked {\n cursor: inherit;\n }\n }\n }\n\n &.open {\n display: block;\n background-color: var(--color-autocomplete-background);\n color: var(--color-autocomplete-font);\n max-height: 32rem;\n overflow-y: auto;\n z-index: 100;\n margin-top: 3.5rem;\n border-radius: 0.8rem;\n box-shadow: 0 2px 8px rgb(34 38 46 / 25%);\n\n &:empty {\n display: none;\n }\n }\n}\n\n@media screen and (max-width: @phone) {\n .autocomplete {\n width: 100%;\n\n > ul > li {\n padding: 1rem;\n }\n }\n}\n","#main_results #results.image-detail-open.only_template_images {\n width: min(98%, 59.25rem) !important;\n}\n\n#main_results #results.only_template_images.image-detail-open #backToTop {\n .ltr-left(56.75rem) !important;\n .ltr-right(inherit);\n}\n\narticle.result-images .detail {\n display: none;\n}\n\n#results.image-detail-open article.result-images[data-vim-selected] .detail {\n display: flex;\n flex-direction: column;\n position: fixed;\n .ltr-left(60rem);\n .ltr-right(0);\n top: @search-height;\n transition: top 0.064s ease-in 0s;\n bottom: 0;\n background: var(--color-result-detail-background);\n border: 1px solid var(--color-result-detail-background);\n z-index: 10000;\n padding: 4rem 3rem 3rem 3rem;\n\n a.result-images-source {\n display: block;\n flex: 1;\n text-align: left;\n width: 100%;\n border: none;\n text-decoration: none;\n\n img {\n padding: 0;\n margin: 0;\n border: none;\n object-fit: contain;\n width: inherit;\n height: inherit;\n max-width: 100%;\n min-height: inherit;\n max-height: calc(100vh - 25rem - 7rem);\n background: inherit;\n }\n }\n\n .result-images-labels {\n color: var(--color-result-detail-font);\n max-height: 16rem;\n min-height: 16rem;\n\n hr {\n border-top: 1px solid var(--color-result-detail-hr);\n border-bottom: none;\n }\n\n h4 {\n height: 2rem;\n overflow: hidden;\n text-overflow: ellipsis;\n font-size: 0.9rem;\n }\n\n p {\n color: var(--color-result-detail-label-font);\n font-size: 0.9rem;\n\n span {\n display: inline-block;\n width: 12rem;\n }\n }\n\n h4,\n p,\n a {\n .ltr-text-align-left();\n }\n\n p.result-content {\n height: 2rem;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n p.result-url {\n white-space: nowrap;\n overflow-x: hidden;\n text-overflow: ellipsis;\n }\n\n p.result-content:hover,\n p.result-url:hover {\n position: relative;\n overflow: inherit !important;\n background: var(--color-result-detail-background);\n text-overflow: inherit !important;\n }\n\n a,\n a:visited,\n a:hover,\n a:active {\n color: var(--color-result-detail-link);\n }\n\n a:hover {\n text-decoration: underline;\n }\n }\n\n a.result-detail-close {\n top: 1rem;\n .ltr-left(1rem);\n padding: 0.4rem;\n }\n\n a.result-detail-previous {\n top: 1rem;\n .ltr-right(6rem);\n // center the icon by moving it slightly on the left\n padding-top: 0.4rem;\n .ltr-padding-right(0.5rem);\n padding-bottom: 0.4rem;\n .ltr-padding-left(0.3rem);\n }\n\n a.result-detail-next {\n top: 1rem;\n .ltr-right(2rem);\n padding: 0.4rem;\n }\n\n a.result-detail-close,\n a.result-detail-next,\n a.result-detail-previous {\n border-radius: 50%;\n display: block;\n width: 1.5rem;\n height: 1.5rem;\n position: absolute;\n filter: opacity(40%);\n z-index: 2000002;\n\n span {\n display: block;\n width: 1.5rem;\n height: 1.5rem;\n text-align: center;\n }\n }\n\n a.result-detail-next,\n a.result-detail-previous {\n span::before {\n // vertical center small icons\n vertical-align: sub;\n }\n }\n\n a.result-detail-close,\n a.result-detail-close:visited,\n a.result-detail-close:hover,\n a.result-detail-close:active,\n a.result-detail-previous,\n a.result-detail-previous:visited,\n a.result-detail-previous:hover,\n a.result-detail-previous:active,\n a.result-detail-next,\n a.result-detail-next:visited,\n a.result-detail-next:hover,\n a.result-detail-next:active {\n color: var(--color-result-detail-font);\n background: var(--color-result-detail-background);\n border: 1px solid var(--color-result-detail-font);\n }\n\n a.result-detail-close:focus,\n a.result-detail-close:hover,\n a.result-detail-previous:focus,\n a.result-detail-previous:hover,\n a.result-detail-next:focus,\n a.result-detail-next:hover {\n filter: opacity(80%);\n }\n\n .loader {\n position: absolute;\n top: 1rem;\n .ltr-right(50%);\n border-top: 0.5em solid var(--color-result-detail-loader-border);\n border-right: 0.5em solid var(--color-result-detail-loader-border);\n border-bottom: 0.5em solid var(--color-result-detail-loader-border);\n border-left: 0.5em solid var(--color-result-detail-loader-borderleft);\n }\n}\n\n#results.image-detail-open.scrolling article.result-images[data-vim-selected] .detail {\n top: 0;\n\n a.result-images-source img {\n max-height: calc(100vh - 25rem);\n }\n}\n\n@media screen and (max-width: @tablet) {\n #results.image-detail-open article.result-images[data-vim-selected] .detail {\n top: 0;\n .ltr-left(0);\n\n a.result-images-source {\n display: flex;\n flex-direction: column;\n justify-content: center;\n\n img {\n width: 100%;\n max-height: calc(100vh - 24rem);\n }\n }\n\n a.result-detail-next {\n .ltr-right(1rem);\n }\n }\n}\n\n@media screen and (max-width: @phone) {\n #results.image-detail-open article.result-images[data-vim-selected] .detail {\n top: 0;\n .ltr-left(0);\n padding: 1rem;\n\n a.result-images-source img {\n width: 100%;\n max-height: calc(100vh - 20rem);\n margin: 0;\n }\n\n .result-images-labels p span {\n width: inherit;\n .ltr-margin-right(1rem);\n }\n }\n}\n",".dialog-modal {\n animation-name: dialogmodal;\n animation-duration: 0.13s;\n\n @keyframes dialogmodal {\n 0% {\n opacity: 0;\n }\n\n 50% {\n opacity: 0.5;\n transform: translate(-50%, -50%) scale(1.05);\n }\n }\n}\n\ninput.checkbox-onoff[type=\"checkbox\"]::before {\n transition: left 0.25s;\n}\n","iframe[src^=\"https://w.soundcloud.com\"] {\n height: 120px;\n}\n\niframe[src^=\"https://www.deezer.com\"] {\n // The real size is 92px, but 94px are needed to avoid an inner scrollbar of\n // the embedded HTML.\n height: 94px;\n}\n\niframe[src^=\"https://www.mixcloud.com\"] {\n // the embedded player from mixcloud has some quirks: initial there is an\n // issue with an image URL that is blocked since it is an a Cross-Origin\n // request. The alternative text (<img alt='Mixcloud Logo'> then cause an\n // scrollbar in the inner of the iframe we can't avoid. Another quirk comes\n // when pressing the play button, somtimes the shown player has an height of\n // 200px, somtimes 250px.\n height: 250px;\n}\n\niframe[src^=\"https://bandcamp.com/EmbeddedPlayer\"] {\n // show playlist\n height: 350px;\n}\n\niframe[src^=\"https://bandcamp.com/EmbeddedPlayer/track\"] {\n // hide playlist\n height: 120px;\n}\n\niframe[src^=\"https://genius.com/songs\"] {\n height: 65px;\n}\n",".info-page {\n code {\n font-family: monospace;\n color: var(--color-doc-code);\n background-color: var(--color-doc-code-background);\n padding: 2px 5px;\n .rounded-corners(5px);\n }\n}\n","// SPDX-License-Identifier: AGPL-3.0-or-later\n.stats_endpoint {\n .github-issue-button {\n display: block;\n padding: 8px 16px;\n font-family: sans-serif;\n font-size: 16px;\n color: white;\n background-color: #238636;\n border: #2ea043;\n border-radius: 10px !important;\n box-shadow: rgba(0, 0, 0, 0) 0 0 0 0;\n }\n\n .github-issue-button:hover {\n background-color: #2ea043;\n }\n\n .issue-hide {\n display: none;\n }\n\n input[type=checked] {\n position: absolute;\n }\n\n label {\n margin: 1rem 1rem 1rem 0;\n }\n\n .step_content {\n margin: 1rem 1rem 1rem 2rem;\n }\n\n .step1,\n .step2 {\n visibility: hidden;\n }\n\n .step1_delay {\n transition: visibility 0s linear 4s;\n }\n\n #step1:checked ~ .step1,\n #step2:checked ~ .step2 {\n visibility: visible;\n }\n}\n","// SPDX-License-Identifier: AGPL-3.0-or-later\n\n.engine-stats {\n border-spacing: 0;\n border-collapse: collapse;\n\n tr td,\n tr th {\n border-bottom: 1px solid var(--color-result-border);\n padding: 0.25rem;\n }\n\n table.engine-tooltip {\n border-spacing: 0;\n border-collapse: collapse;\n\n td,\n th {\n border: none;\n }\n }\n\n .engine-name {\n width: 20rem;\n }\n\n .engine-score {\n width: 7rem;\n text-align: right;\n }\n\n .engine-reliability {\n text-align: right;\n }\n}\n\ntable.engine-error th.engine-error-type,\ntable.engine-error td.engine-error-type,\nfailed-test {\n width: 10rem;\n}\n\n.engine-errors {\n margin-top: 3rem;\n\n table.engine-error {\n max-width: 1280px;\n margin: 1rem 0 3rem 0;\n border: 1px solid var(--color-result-border);\n .ltr-text-align-left();\n\n tr th,\n tr td {\n padding: 0.5rem;\n }\n\n & span.log_parameters {\n border-right: 1px solid solid var(--color-result-border);\n padding: 0 1rem 0 0;\n margin: 0 0 0 0.5rem;\n }\n }\n}\n\n.bar-chart-value {\n width: 3em;\n display: inline-block;\n text-align: right;\n padding-right: 0.5rem;\n}\n\n.bar-chart-graph {\n width: calc(100% - 5rem);\n display: inline-block;\n}\n\n.bar-chart-bar {\n border: 3px solid #5bc0de;\n margin: 1px 0;\n}\n\n.bar-chart-serie1 {\n border: 3px solid #5bc0de;\n margin: 1px 0;\n float: left;\n}\n\n.bar-chart-serie2 {\n border: 3px solid #deb15b;\n margin: 1px 0;\n float: left;\n}\n\n.bar0 {\n width: 0;\n border: 0;\n}\n\n.generate-bar(100);\n\n.generate-bar(@n, @i: 1) when (@i =< @n) {\n .bar@{i} {\n width: (@i * 100% / @n);\n }\n .generate-bar(@n, (@i + 1));\n}\n","// SPDX-License-Identifier: AGPL-3.0-or-later\n\n.osm-map-box {\n height: 300px;\n width: 100%;\n margin: 10px 0;\n}\n","#main_index {\n margin-top: 26vh;\n}\n\n.index {\n text-align: center;\n\n .title {\n background: url('../img/searxng.png') no-repeat;\n min-height: 4rem;\n margin: 4rem auto;\n background-position: center;\n background-size: contain;\n }\n\n h1 {\n font-size: 4em;\n visibility: hidden;\n }\n\n #search,\n #search_header {\n margin: 0 auto;\n background: inherit;\n border: inherit;\n padding: 0;\n display: block;\n }\n\n .search_filters {\n display: block;\n margin: 1em 0;\n }\n\n .category label {\n padding: 6px 10px;\n border-bottom: initial !important;\n }\n}\n\n@media screen and (max-width: @tablet) {\n div.title {\n h1 {\n font-size: 1em;\n }\n }\n\n #main_index {\n margin-top: 6em;\n }\n}\n","#tab-content-query table td,\n#tab-content-query table th {\n .ltr-text-align-right() !important;\n height: 3rem;\n}\n\n#main_preferences {\n form {\n width: 100%;\n }\n\n fieldset {\n margin: 8px;\n border: none;\n }\n\n legend {\n margin: 0;\n padding: 5px 0 0 0;\n display: block;\n .ltr-float-left();\n width: 300px;\n }\n\n .value {\n margin: 0;\n padding: 0;\n .ltr-float-left();\n width: 15em;\n\n select,\n input[type=\"text\"] {\n font-size: inherit !important;\n margin-top: 0;\n .ltr-margin-right(1rem);\n margin-bottom: 0;\n .ltr-margin-left(0);\n }\n\n select {\n width: 14rem;\n }\n\n input[type=\"text\"] {\n width: 13.25rem;\n color: var(--color-toolkit-input-text-font);\n border: none;\n background: none repeat scroll 0 0 var(--color-toolkit-select-background);\n padding: 0.2rem 0.4rem;\n height: 2rem;\n .rounded-corners-tiny;\n\n &:hover,\n &:focus {\n background-color: var(--color-toolkit-select-background-hover);\n }\n }\n\n select:focus,\n input:focus {\n outline: none;\n box-shadow: 0 0 1px 1px var(--color-btn-background);\n }\n }\n\n .description {\n margin: 0;\n padding: 5px 0 0 0;\n .ltr-float-right();\n width: 50%;\n color: var(--color-settings-engine-description-font);\n font-size: 90%;\n }\n\n table {\n border-collapse: collapse;\n }\n\n table td {\n text-align: center;\n }\n\n .category {\n .ltr-margin-right(0.5rem);\n\n label {\n border: 2px solid transparent;\n padding: 0.2rem 0.4rem;\n .rounded-corners-tiny;\n }\n }\n\n .category input[type=\"checkbox\"]:checked + label {\n border: 2px solid var(--color-categories-item-border-selected);\n }\n\n table.table_engines {\n td {\n height: 3.75rem;\n }\n\n th.name {\n /* stylelint-disable */\n label {\n cursor: pointer;\n }\n /* stylelint-enable */\n\n .engine-tooltip {\n margin-top: 1.8rem;\n .ltr-left(calc((100% - 85em) / 2 + 10em));\n max-width: 40rem;\n\n .engine-description {\n margin-top: 0.5rem;\n }\n }\n }\n\n .engine-group {\n .ltr-text-align-left();\n font-weight: normal;\n background: var(--color-settings-engine-group-background);\n }\n\n .name,\n .shortcut {\n .ltr-text-align-left();\n }\n }\n\n table.cookies {\n width: 100%;\n direction: ltr;\n\n th,\n td {\n text-align: left;\n font-family: monospace;\n font-size: 1rem;\n padding: 0.5em;\n vertical-align: top;\n }\n\n td:first-child {\n word-break: keep-all;\n width: 14rem;\n padding-right: 1rem;\n }\n\n td:last-child {\n word-break: break-all;\n }\n\n & > tbody > tr:nth-child(even) > th,\n & > tbody > tr:nth-child(even) > td {\n background-color: var(--color-settings-tr-hover);\n }\n }\n\n .preferences_back {\n background: none repeat scroll 0 0 var(--color-btn-background);\n color: var(--color-btn-font);\n border: 0 none;\n .rounded-corners;\n\n cursor: pointer;\n display: inline-block;\n margin: 2px 4px;\n padding: 0.7em;\n\n a {\n color: var(--color-settings-return-font);\n }\n\n a::first-letter {\n text-transform: uppercase;\n }\n }\n\n div.selectable_url {\n pre {\n width: 100%;\n }\n }\n}\n\n@media screen and (max-width: @tablet) {\n .preferences_back {\n clear: both;\n }\n\n .engine-tooltip {\n .ltr-left(10em) !important;\n }\n}\n","/*\n* SearXNG, A privacy-respecting, hackable metasearch engine\n*/\n\n#search {\n padding: 0;\n margin: 0;\n}\n\n#search_header {\n padding-top: 1.5em;\n .ltr-padding-right(2em);\n .ltr-padding-left(@results-offset - 3rem);\n margin: 0;\n background: var(--color-header-background);\n border-bottom: 1px solid var(--color-header-border);\n display: grid;\n column-gap: 1.2rem;\n row-gap: 1rem;\n grid-template-columns: 3rem 1fr;\n grid-template-areas:\n \"logo search\"\n \"spacer categories\";\n}\n\n.category {\n display: inline-block;\n position: relative;\n .ltr-margin-right(1rem);\n padding: 0;\n\n input {\n display: none;\n }\n\n label {\n svg {\n padding-right: 0.2rem;\n }\n\n cursor: pointer;\n padding: 0.2rem 0;\n display: inline-flex;\n text-transform: capitalize;\n font-size: 0.9em;\n border-bottom: 2px solid transparent;\n .disable-user-select;\n\n div.category_name {\n margin: auto 0;\n }\n }\n\n input[type=\"checkbox\"]:checked + label {\n color: var(--color-categories-item-selected-font);\n border-bottom: 2px solid var(--color-categories-item-border-selected);\n }\n}\n\n#search_logo {\n grid-area: logo;\n display: flex;\n align-items: center;\n justify-content: center;\n\n svg {\n flex: 1;\n width: 30px;\n height: 30px;\n margin: 0.5rem 0 auto 0;\n }\n}\n\n.search_categories {\n grid-area: categories;\n\n .help {\n display: none;\n }\n\n &:hover .help {\n display: block;\n position: absolute;\n background: var(--color-base-background);\n padding: 1rem 0.6rem 0.6rem 0;\n z-index: 1000;\n width: 100%;\n left: -0.1rem;\n }\n}\n\n#search_view {\n grid-area: search;\n}\n\n.search_box {\n border-radius: 0.8rem;\n width: @search-width;\n display: inline-flex;\n flex-direction: row;\n white-space: nowrap;\n box-shadow: var(--color-search-shadow);\n}\n\n#clear_search {\n display: block;\n border-collapse: separate;\n box-sizing: border-box;\n width: 1.8rem;\n margin: 0;\n padding: 0.8rem 0.2rem;\n background: none repeat scroll 0 0 var(--color-search-background);\n border: none;\n outline: none;\n color: var(--color-search-font);\n font-size: 1.1rem;\n z-index: 10000;\n\n &:hover {\n color: var(--color-search-background-hover);\n }\n\n &.empty * {\n display: none;\n }\n}\n\nhtml.no-js #clear_search.hide_if_nojs {\n display: none;\n}\n\n#q,\n#send_search {\n display: block;\n margin: 0;\n padding: 0.8rem;\n background: none repeat scroll 0 0 var(--color-search-background);\n border: none;\n outline: none;\n color: var(--color-search-font);\n font-size: 1.1rem;\n z-index: 2;\n}\n\n#q {\n width: 100%;\n .ltr-padding-left(1rem);\n .ltr-padding-right(0) !important;\n .ltr-rounded-left-corners(0.8rem);\n}\n\n#q::-ms-clear,\n#q::-webkit-search-cancel-button {\n display: none;\n}\n\n#send_search {\n .ltr-rounded-right-corners(0.8rem);\n\n &:hover {\n cursor: pointer;\n background-color: var(--color-search-background-hover);\n color: var(--color-search-background);\n }\n}\n\n.no-js #clear_search,\n.no-js #send_search {\n width: auto !important;\n .ltr-border-left(1px solid var(--color-search-border));\n}\n\n.search_filters {\n margin-top: 0.6rem;\n .ltr-margin-right(0);\n margin-bottom: 0;\n .ltr-margin-left(@results-offset + 0.6rem);\n display: flex;\n overflow-x: auto;\n overscroll-behavior-inline: contain;\n\n select {\n background-color: inherit;\n\n &:hover,\n &:focus {\n color: var(--color-base-font);\n }\n }\n}\n\n@media screen and (max-width: @tablet) {\n #search_header {\n padding: 1.5em @results-tablet-offset 0 @results-tablet-offset;\n column-gap: @results-tablet-offset;\n }\n\n .search_filters {\n margin-top: 0.6rem;\n .ltr-margin-right(0);\n margin-bottom: 0;\n .ltr-margin-left(@results-tablet-offset + 3rem);\n }\n\n #categories {\n font-size: 90%;\n clear: both;\n\n .checkbox_container {\n margin: auto;\n margin-top: 2px;\n }\n }\n}\n\n@media screen and (max-width: @tablet) and (hover: none) {\n #main_index,\n #main_results {\n #categories_container {\n width: max-content;\n\n .category {\n display: inline-block;\n width: auto;\n }\n }\n\n #categories {\n width: 100%;\n .ltr-text-align-left();\n overflow-x: scroll;\n overflow-y: hidden;\n -webkit-overflow-scrolling: touch;\n }\n }\n}\n\n@media screen and (max-width: @phone) {\n #search_header {\n width: 100%;\n margin: 0;\n padding: 0.1rem 0 0 0;\n column-gap: 0;\n row-gap: 0;\n grid-template-areas:\n \"logo search\"\n \"categories categories\";\n }\n\n .search_logo {\n padding: 0;\n }\n\n .search_box {\n width: 98%;\n display: flex;\n margin: 0 auto;\n }\n\n #q {\n width: 100%;\n flex: 1;\n }\n\n .search_filters {\n margin: 0;\n }\n\n .category {\n display: inline-block;\n width: auto;\n margin: 0;\n\n label {\n padding: 1rem !important;\n margin: 0 !important;\n\n svg {\n display: none;\n }\n }\n }\n\n #search_view:focus-within {\n display: block;\n background-color: var(--color-search-background);\n position: absolute;\n top: 0;\n height: 100%;\n width: 100%;\n z-index: 10000;\n\n .search_box {\n border-bottom: 1px solid var(--color-search-border);\n width: 100%;\n border-radius: 0;\n box-shadow: none;\n\n #send_search {\n .ltr-margin-right(0) !important; // Delete when send_search button is disabled on mobile.\n }\n\n * {\n border: none;\n border-radius: 0;\n box-shadow: none;\n }\n }\n }\n\n #main_results #q:placeholder-shown ~ #send_search {\n .ltr-margin-right(2.6rem);\n transition: margin 0.1s;\n }\n}\n\n@media screen and (max-width: @ultra-small-phone) {\n #search_header {\n grid-template-areas:\n \"search search\"\n \"categories categories\";\n }\n\n #search_logo {\n display: none;\n }\n}\n\n#categories {\n .disable-user-select;\n\n &::-webkit-scrollbar {\n width: 0;\n height: 0;\n }\n}\n\n#categories_container {\n position: relative;\n}\n","/*\n--center-page-width overrides the less variable @results-width when the results are centered\nsee the CSS rules for #results in style.less ( grid-template-columns and gap).\n\nIn this file, the --center-page-width values comes from the Oscar theme (Bootstrap 3).\n\nAll rules starts with \".center-aligment-yes #main_results\" to be enabled only\non the /search URL and when the \"center alignment\" preference is enabled.\n*/\n\n@media screen and (min-width: @phone) {\n .center-aligment-yes #main_results {\n --center-page-width: 48rem;\n }\n}\n\n@media screen and (min-width: 62rem) {\n .center-aligment-yes #main_results {\n --center-page-width: 60rem;\n }\n}\n\n@media screen and (min-width: @tablet) {\n .center-aligment-yes #main_results {\n --center-page-width: 73rem;\n }\n}\n\n@media screen and (min-width: @phone) and (max-width: @tablet) {\n // any change must be reset in @media screen and (min-width: @tablet) { ... }\n .center-aligment-yes #main_results {\n #results {\n grid-template-columns: 60% calc(40% - @results-gap);\n margin-left: 0;\n margin-right: 0;\n }\n\n #urls {\n .ltr-margin-left(3rem);\n }\n\n #sidebar {\n .ltr-margin-right(1rem);\n }\n\n #backToTop {\n .ltr-left(calc(60% + 1rem));\n }\n }\n}\n\n@media screen and (min-width: @tablet) {\n .center-aligment-yes #main_results {\n display: flex;\n flex-direction: column;\n align-items: center;\n\n #search {\n width: 100%;\n display: flex;\n flex-direction: column;\n align-items: center;\n }\n\n #search_header {\n grid-template-columns: calc(50% - 4.5rem - var(--center-page-width) / 2) 3rem var(--center-page-width);\n grid-template-areas: \"na logo search\" \"na spacer categories\";\n column-gap: 1.2rem; // from search.less\n width: 100%;\n padding-left: 0;\n padding-right: 0;\n }\n\n .search_filters {\n .ltr-margin-left(0.5rem);\n width: var(--center-page-width);\n }\n\n #results {\n // from style.less (when screen width = @tablet, reset layout from tablet)\n .ltr-margin-right(2rem);\n .ltr-margin-left(@results-offset);\n //\n\n &.only_template_images,\n &.image-detail-open {\n // * grid-template-columns and .ltr-margin-left are set in style.less\n // * With .image-detail-open.only_template_images, the width is set in detail.less\n // * #results is going to be centered because of the #main_results rules,\n // align-self aligns the results on the left or right according to the language.\n align-self: flex-start;\n }\n\n &:not(.only_template_images):not(.image-detail-open) {\n // the gap is set in style.less\n .ltr-margin-left(1.5rem);\n grid-template-columns: calc(var(--center-page-width) - @results-gap - @results-sidebar-width) @results-sidebar-width;\n\n #backToTop {\n .ltr-left(calc(50% - @results-sidebar-width - @results-gap + 1rem + var(--center-page-width) / 2));\n }\n }\n\n .result .content {\n max-width: inherit;\n }\n }\n\n // from style.less (when screen width = @tablet, reset layout from tablet)\n #urls {\n .ltr-margin-left(0);\n }\n\n #sidebar {\n .ltr-margin-right(0);\n }\n }\n}\n","/*\n* SearXNG, A privacy-respecting, hackable metasearch engine\n*\n* To convert \"style.less\" to \"style.css\" run: $make styles\n*/\n\n// stylelint-disable no-descending-specificity\n\n@import (inline) \"../../node_modules/normalize.css/normalize.css\";\n@import \"definitions.less\";\n@import \"mixins.less\";\n@import \"code.less\";\n@import \"toolkit.less\";\n@import \"autocomplete.less\";\n@import \"detail.less\";\n@import \"animations.less\";\n@import \"embedded.less\";\n@import \"info.less\";\n@import \"new_issue.less\";\n@import \"stats.less\";\n@import \"result_templates.less\";\n\n// for index.html template\n@import \"index.less\";\n\n// for preferences.html template\n@import \"preferences.less\";\n\n// Search-Field\n@import \"search.less\";\n\n// to center the results\n@import \"style-center.less\";\n\n// ion-icon\n.ion-icon {\n display: inline-block;\n vertical-align: bottom;\n line-height: 1;\n text-decoration: inherit;\n .ltr-transform();\n}\n\n.ion-icon-small {\n width: 1rem;\n height: 1rem;\n .ion-icon;\n}\n\n.ion-icon-big {\n width: 1.5rem;\n height: 1.5rem;\n .ion-icon;\n}\n\n// Main LESS-Code\nhtml {\n font-family: sans-serif;\n font-size: 0.9em;\n .text-size-adjust;\n\n color: var(--color-base-font);\n background-color: var(--color-base-background);\n padding: 0;\n margin: 0;\n}\n\nbody,\nmain {\n padding: 0;\n margin: 0;\n}\n\nbody {\n display: flex;\n flex-direction: column;\n height: 100vh;\n margin: 0;\n}\n\nmain {\n width: 100%;\n margin-bottom: 2rem;\n flex: 1;\n}\n\n.page_with_header {\n margin: 2em auto;\n width: 85em;\n}\n\nfooter {\n clear: both;\n min-height: 4rem;\n padding: 1rem 0;\n width: 100%;\n text-align: center;\n background-color: var(--color-footer-background);\n border-top: 1px solid var(--color-footer-border);\n overflow: hidden;\n\n p {\n font-size: 0.9em;\n }\n}\n\n.page_with_header .logo {\n height: 40px;\n}\n\ninput[type=\"submit\"],\n#results button[type=\"submit\"] {\n padding: 0.7rem;\n display: inline-block;\n background: var(--color-btn-background);\n color: var(--color-btn-font);\n .rounded-corners;\n\n border: 0;\n cursor: pointer;\n}\n\na {\n text-decoration: none;\n color: var(--color-url-font);\n\n &:visited {\n color: var(--color-url-visited-font);\n\n .highlight {\n color: var(--color-url-visited-font);\n }\n }\n}\n\narticle[data-vim-selected] {\n background: var(--color-result-vim-selected);\n .ltr-border-left(0.2rem solid var(--color-result-vim-arrow));\n .ltr-rounded-right-corners(10px);\n}\n\narticle.result-images[data-vim-selected] {\n background: var(--color-result-vim-arrow);\n border: none;\n .rounded-corners;\n\n .image_thumbnail {\n filter: opacity(60%);\n }\n\n span.title,\n span.source {\n color: var(--color-result-image-span-font-selected);\n }\n}\n\narticle[data-vim-selected].category-videos,\narticle[data-vim-selected].category-news,\narticle[data-vim-selected].category-map,\narticle[data-vim-selected].category-music,\narticle[data-vim-selected].category-files,\narticle[data-vim-selected].category-social {\n border: 1px solid var(--color-result-vim-arrow);\n .rounded-corners;\n}\n\n.result {\n margin: @results-margin 0;\n padding: @result-padding;\n .ltr-border-left(0.2rem solid transparent);\n\n h3 {\n font-size: 1.2rem;\n word-wrap: break-word;\n margin: 0.4rem 0 0.4rem 0;\n padding: 0;\n\n a {\n color: var(--color-result-link-font);\n font-weight: normal;\n font-size: 1.1em;\n\n &:visited {\n color: var(--color-result-link-visited-font);\n }\n\n &:focus,\n &:hover {\n text-decoration: underline;\n border: none;\n outline: none;\n }\n }\n }\n\n .cache_link,\n .proxyfied_link {\n font-size: 0.9em !important;\n }\n\n .content,\n .stat {\n font-size: 0.9em;\n margin: 0;\n padding: 0;\n max-width: 54em;\n word-wrap: break-word;\n line-height: 1.24;\n\n .highlight {\n color: var(--color-result-description-highlight-font);\n background: inherit;\n font-weight: bold;\n }\n }\n\n .altlink a {\n font-size: 0.9em;\n margin: 0 10px 0 0;\n .show-content-button;\n }\n\n .codelines {\n .highlight {\n color: inherit;\n background: inherit;\n font-weight: normal;\n }\n }\n\n .url_wrapper {\n display: flex;\n font-size: 1rem;\n color: var(--color-result-url-font);\n flex-wrap: nowrap;\n overflow: hidden;\n flex-direction: row;\n margin: 0;\n padding: 0;\n\n .url_o1 {\n white-space: nowrap;\n flex-shrink: 1;\n }\n\n .url_o1::after {\n content: \" \";\n width: 1ch;\n display: inline-block;\n }\n\n .url_o2 {\n overflow: hidden;\n white-space: nowrap;\n flex-basis: content;\n flex-grow: 0;\n flex-shrink: 1;\n text-align: right;\n\n .url_i2 {\n float: right;\n }\n }\n }\n\n .published_date,\n .result_length,\n .result_author,\n .result_shipping,\n .result_source_country {\n font-size: 0.8em;\n color: var(--color-result-publishdate-font);\n }\n\n .result_price {\n font-size: 1.2em;\n color: var(--color-result-description-highlight-font);\n }\n\n img {\n &.thumbnail {\n .ltr-float-left();\n padding-top: 0.6rem;\n .ltr-padding-right(1rem);\n width: 20rem;\n height: unset; // remove heigth value that was needed for lazy loading\n }\n\n &.image {\n .ltr-float-left();\n padding-top: 0.6rem;\n .ltr-padding-right(1rem);\n width: 7rem;\n max-height: 7rem;\n object-fit: scale-down;\n object-position: right top;\n }\n }\n\n .break {\n clear: both;\n }\n}\n\n.template_group_images {\n display: flex;\n flex-wrap: wrap;\n}\n\n.template_group_images::after {\n flex-grow: 10;\n content: \"\";\n}\n\n.category-videos,\n.category-news,\n.category-map,\n.category-music,\n.category-files,\n.category-social {\n border: 1px solid var(--color-result-border);\n margin: 1rem @results-tablet-offset 0 @results-tablet-offset !important;\n .rounded-corners;\n}\n\n.category-social .image {\n width: auto !important;\n min-width: 48px;\n min-height: 48px;\n padding: 0 5px 25px 0 !important;\n}\n\n.audio-control audio {\n width: 100%;\n padding: 10px 0 0 0;\n}\n\n.embedded-content iframe {\n width: 100%;\n padding: 10px 0 0 0;\n}\n\n.result-videos .content {\n overflow: hidden;\n}\n\n.result-videos .embedded-video iframe {\n width: 100%;\n aspect-ratio: 16 / 9;\n padding: 10px 0 0 0;\n}\n\n@supports not (aspect-ratio: 1 / 1) {\n // support older browsers which do not have aspect-ratio\n // https://caniuse.com/?search=aspect-ratio\n .result-videos .embedded-video iframe {\n height: calc(@results-width * 9 / 16);\n }\n}\n\n.engines {\n .ltr-float-right();\n color: var(--color-result-engines-font);\n\n span {\n font-size: smaller;\n margin-top: 0;\n margin-bottom: 0;\n .ltr-margin-right(0.5rem);\n .ltr-margin-left(0);\n }\n}\n\n.small_font {\n font-size: 0.8em;\n}\n\n.highlight {\n color: var(--color-result-link-font-highlight);\n background: inherit;\n}\n\n.empty_element {\n font-style: italic;\n}\n\n.result-images {\n flex-grow: 1;\n padding: 0.5rem 0.5rem 3rem 0.5rem;\n margin: 0.25rem;\n border: none !important;\n height: @results-image-row-height;\n\n & > a {\n position: relative;\n }\n\n img {\n margin: 0;\n padding: 0;\n border: none;\n height: 100%;\n width: 100%;\n object-fit: cover;\n vertical-align: bottom;\n background: var(--color-result-image-background);\n }\n\n span.title,\n span.source {\n display: block;\n position: absolute;\n\n width: 100%;\n font-size: 0.9rem;\n color: var(--color-result-image-span-font);\n padding: 0.5rem 0 0 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n\n span.source {\n padding: 1.8rem 0 0 0;\n font-size: 0.7rem;\n }\n}\n\n.result-map {\n img.image {\n .ltr-float-right() !important;\n height: 100px !important;\n width: auto !important;\n }\n\n table {\n font-size: 0.9em;\n width: auto;\n border-collapse: separate;\n border-spacing: 0 0.35rem;\n\n th {\n font-weight: inherit;\n width: 17rem;\n vertical-align: top;\n .ltr-text-align-left();\n }\n\n td {\n vertical-align: top;\n .ltr-text-align-left();\n }\n }\n}\n\n.hidden {\n display: none !important;\n}\n\n#results {\n margin-top: 1rem;\n .ltr-margin-right(2rem);\n margin-bottom: 0;\n .ltr-margin-left(@results-offset);\n display: grid;\n grid-template-columns: @results-width @results-sidebar-width;\n grid-template-rows: min-content min-content 1fr min-content;\n gap: 0 @results-gap;\n grid-template-areas:\n \"corrections sidebar\"\n \"answers sidebar\"\n \"urls sidebar\"\n \"pagination sidebar\";\n}\n\n#results #sidebar *:first-child,\n#results #urls *:first-child {\n margin-top: 0;\n}\n\n#urls {\n padding: 0;\n grid-area: urls;\n}\n\n#suggestions {\n .wrapper {\n display: flex;\n flex-flow: row wrap;\n justify-content: flex-end;\n\n form {\n display: inline-block;\n flex: 1 1 50%;\n }\n }\n}\n\n#suggestions,\n#infoboxes {\n input {\n padding: 0;\n margin: 3px;\n font-size: 0.9em;\n display: inline-block;\n background: transparent;\n color: var(--color-result-search-url-font);\n cursor: pointer;\n }\n\n input[type=\"submit\"],\n .infobox .url a {\n color: var(--color-result-link-font);\n text-decoration: none;\n font-size: 0.9rem;\n\n &:hover {\n text-decoration: underline;\n }\n }\n}\n\n#corrections {\n grid-area: corrections;\n display: flex;\n flex-flow: row wrap;\n margin: 0 0 1em 0;\n\n h4,\n input[type=\"submit\"] {\n display: inline-block;\n padding: 0.5rem;\n margin: 0.5rem;\n }\n\n input[type=\"submit\"] {\n font-size: 0.8rem;\n .rounded-corners-tiny;\n }\n}\n\n#suggestions .title,\n#search_url .title,\n#apis .title {\n margin: 2em 0 0.5em 0;\n color: var(--color-base-font);\n}\n\n#answers {\n grid-area: answers;\n background: var(--color-answer-background);\n padding: @result-padding;\n margin: 1rem 0;\n margin-top: 0;\n color: var(--color-answer-font);\n .rounded-corners;\n\n h4 {\n display: none;\n }\n\n span {\n overflow-wrap: anywhere;\n }\n}\n\n#infoboxes {\n form {\n min-width: 210px;\n }\n}\n\n#sidebar {\n grid-area: sidebar;\n word-wrap: break-word;\n color: var(--color-sidebar-font);\n\n .infobox {\n margin: 10px 0 10px;\n border: 1px solid var(--color-sidebar-border);\n padding: 1rem;\n font-size: 0.9em;\n .rounded-corners;\n\n h2 {\n margin: 0 0 0.5em 0;\n }\n\n img {\n max-width: 100%;\n max-height: 12em;\n display: block;\n margin: 0 auto;\n padding: 0;\n }\n\n dt {\n font-weight: bold;\n }\n\n .attributes {\n dl {\n margin: 0.5em 0;\n }\n\n dt {\n display: inline;\n margin-top: 0.5em;\n .ltr-margin-right(0.25em);\n margin-bottom: 0.5em;\n .ltr-margin-left(0);\n padding: 0;\n }\n\n dd {\n display: inline;\n margin: 0.5em 0;\n padding: 0;\n }\n }\n\n input {\n font-size: 1em;\n }\n\n br {\n clear: both;\n }\n\n .attributes,\n .urls {\n clear: both;\n }\n }\n}\n\n#search_url {\n margin-top: 8px;\n\n div.selectable_url {\n pre {\n width: 200em;\n }\n }\n}\n\n#links_on_top {\n position: absolute;\n .ltr-right(1.8rem);\n .ltr-text-align-right();\n top: 2.2rem;\n padding: 0;\n border: 0;\n display: flex;\n align-items: center;\n font-size: 1em;\n color: var(--color-search-font);\n\n a {\n display: flex;\n align-items: center;\n margin-left: 1em;\n\n svg {\n font-size: 1.2em;\n .ltr-margin-right(0.125em);\n }\n }\n\n a,\n a:link *,\n a:hover *,\n a:visited *,\n a:active * {\n color: var(--color-search-font);\n }\n}\n\n#pagination {\n grid-area: pagination;\n\n br {\n clear: both;\n }\n}\n\n#apis {\n margin-top: 8px;\n clear: both;\n}\n\n#backToTop {\n border: 1px solid var(--color-backtotop-border);\n margin: 0;\n padding: 0;\n font-size: 1em;\n background: var(--color-backtotop-background);\n position: fixed;\n bottom: 8rem;\n .ltr-left(@results-width + @results-offset + (0.5 * @results-gap - 1.2em));\n transition: opacity 0.5s;\n opacity: 0;\n .rounded-corners;\n\n a {\n display: block;\n margin: 0;\n padding: 0.7em;\n }\n\n a,\n a:visited,\n a:hover,\n a:active {\n color: var(--color-backtotop-font);\n }\n}\n\n#results.scrolling #backToTop {\n opacity: 1;\n}\n\n/*\n tablet layout\n*/\n\n.results-tablet() {\n #links_on_top {\n span {\n display: none;\n }\n }\n\n .page_with_header {\n margin: 2rem 0.5rem;\n width: auto;\n }\n\n #infoboxes {\n position: inherit;\n max-width: inherit;\n\n .infobox {\n clear: both;\n\n img {\n .ltr-float-left();\n max-width: 10em;\n margin-top: 0.5em;\n .ltr-margin-right(0.5em);\n margin-bottom: 0.5em;\n .ltr-margin-left(0);\n }\n }\n }\n\n #sidebar {\n margin: 0 @results-tablet-offset @results-margin @results-tablet-offset;\n padding: 0;\n float: none;\n border: none;\n width: auto;\n\n input {\n border: 0;\n }\n }\n\n #apis {\n display: none;\n }\n\n #search_url {\n display: none;\n }\n\n .result {\n .thumbnail {\n max-width: 98%;\n }\n\n .url {\n span.url {\n display: block;\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n width: 100%;\n }\n }\n\n .engines {\n .ltr-float-right();\n padding: 0 0 3px 0;\n }\n }\n\n .result-images {\n border-bottom: none !important;\n }\n\n .image_result {\n max-width: 98%;\n\n img {\n max-width: 98%;\n }\n }\n\n #backToTop {\n display: none;\n }\n\n #pagination {\n margin: 2rem 0 0 0 !important;\n }\n\n #main_results div#results {\n margin: 1rem auto 0 auto;\n justify-content: center;\n display: grid;\n grid-template-columns: @results-width;\n grid-template-rows: min-content min-content min-content 1fr min-content min-content;\n gap: 0;\n grid-template-areas:\n \"corrections\"\n \"answers\"\n \"sidebar\"\n \"urls\"\n \"pagination\";\n }\n}\n\n@media screen and (max-width: calc(@tablet - 0.5px)) {\n #links_on_top {\n span {\n display: none;\n }\n }\n}\n\n@media screen and (max-width: 52rem) {\n body.results_endpoint {\n #links_on_top {\n .link_on_top_about,\n .link_on_top_donate {\n display: none;\n }\n }\n }\n}\n\n@media screen and (min-width: @phone) and (max-width: @tablet) {\n // when .center-aligment-yes, see style-center.less\n // the media query includes \"min-width: @phone\"\n // because the phone layout includes the tablet layout unconditionally.\n .center-aligment-no {\n .results-tablet();\n }\n}\n\n/* Misc */\n\n#main_results div#results.only_template_images {\n margin: 1rem @results-tablet-offset 0 @results-tablet-offset;\n display: grid;\n grid-template-columns: 100%;\n grid-template-rows: min-content min-content min-content 1fr min-content;\n gap: 0;\n grid-template-areas:\n \"corrections\"\n \"answers\"\n \"sidebar\"\n \"urls\"\n \"pagination\";\n\n #sidebar {\n display: none;\n }\n\n #urls {\n margin: 0;\n display: flex;\n flex-wrap: wrap;\n }\n\n #urls::after {\n flex-grow: 10;\n content: \"\";\n }\n\n #backToTop {\n .ltr-left(auto);\n .ltr-right(1rem);\n }\n\n #pagination {\n .ltr-margin-right(4rem);\n }\n}\n\n/*\n phone layout\n*/\n\n@media screen and (max-width: @phone) {\n // based on the tablet layout\n .results-tablet();\n\n html {\n background-color: var(--color-base-background-mobile);\n }\n\n #main_results div#results {\n grid-template-columns: 100%;\n margin: 1rem 0 0 0;\n }\n\n #links_on_top {\n top: 0.8rem;\n .ltr-right(0.7rem);\n }\n\n #main_index #links_on_top {\n top: 0.5rem;\n .ltr-right(0.5rem);\n }\n\n #results {\n margin: 0;\n padding: 0;\n }\n\n #pagination {\n margin: 2rem 1rem 0 1rem !important;\n }\n\n article[data-vim-selected] {\n border: 1px solid var(--color-result-vim-arrow);\n .rounded-corners;\n }\n\n .result {\n background: var(--color-result-background);\n margin: 1rem 0;\n }\n\n .result-images {\n margin: 0;\n height: @results-image-row-height-phone;\n background: var(--color-base-background-mobile);\n }\n\n .infobox {\n border: none !important;\n background-color: var(--color-sidebar-background);\n }\n}\n\n/*\n small-phone layout\n*/\n\n@media screen and (max-width: @small-phone) {\n .result-videos {\n img.thumbnail {\n float: none !important;\n }\n\n .content {\n overflow: inherit;\n }\n }\n}\n\npre code {\n white-space: pre-wrap;\n}\n"]} \ No newline at end of file
+{"version":3,"sources":["node_modules/normalize.css/normalize.css","src/less/definitions.less","src/less/code.less","src/generated/pygments.less","src/less/toolkit.less","src/less/mixins.less","src/less/style-rtl.less","src/less/autocomplete.less","src/less/detail.less","src/less/animations.less","src/less/embedded.less","src/less/info.less","src/less/new_issue.less","src/less/stats.less","src/less/result_templates.less","src/less/index.less","src/less/preferences.less","src/less/search.less","src/less/style-center.less","src/less/style.less"],"names":[],"mappings":"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,aAGF,eACE,OAAA,IAAA,MAAA,QACA,OAAA,IAAA,EAGF,kBACE,OAAA,IAAA,MAAA,QACA,OAAA,IAAA,EACA,MAAA,KAGF,kBACE,OAAA,IAAA,MAAA,QACA,OAAA,IAAA,EACA,MAAA,KAGF,MACE,MAAA,EACA,OAAA,EV/FD,MUsGG,MAAA,GVtGH,MUsGG,MAAA,GVtGH,MUsGG,MAAA,GVtGH,MUsGG,MAAA,GVtGH,MUsGG,MAAA,GVtGH,MUsGG,MAAA,GVtGH,MUsGG,MAAA,GVtGH,MUsGG,MAAA,GVtGH,MUsGG,MAAA,GVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,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","sourcesContent":["/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */\n\n/* Document\n ========================================================================== */\n\n/**\n * 1. Correct the line height in all browsers.\n * 2. Prevent adjustments of font size after orientation changes in iOS.\n */\n\nhtml {\n line-height: 1.15; /* 1 */\n -webkit-text-size-adjust: 100%; /* 2 */\n}\n\n/* Sections\n ========================================================================== */\n\n/**\n * Remove the margin in all browsers.\n */\n\nbody {\n margin: 0;\n}\n\n/**\n * Render the `main` element consistently in IE.\n */\n\nmain {\n display: block;\n}\n\n/**\n * Correct the font size and margin on `h1` elements within `section` and\n * `article` contexts in Chrome, Firefox, and Safari.\n */\n\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\n\n/* Grouping content\n ========================================================================== */\n\n/**\n * 1. Add the correct box sizing in Firefox.\n * 2. Show the overflow in Edge and IE.\n */\n\nhr {\n box-sizing: content-box; /* 1 */\n height: 0; /* 1 */\n overflow: visible; /* 2 */\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\npre {\n font-family: monospace, monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/* Text-level semantics\n ========================================================================== */\n\n/**\n * Remove the gray background on active links in IE 10.\n */\n\na {\n background-color: transparent;\n}\n\n/**\n * 1. Remove the bottom border in Chrome 57-\n * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n */\n\nabbr[title] {\n border-bottom: none; /* 1 */\n text-decoration: underline; /* 2 */\n text-decoration: underline dotted; /* 2 */\n}\n\n/**\n * Add the correct font weight in Chrome, Edge, and Safari.\n */\n\nb,\nstrong {\n font-weight: bolder;\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\ncode,\nkbd,\nsamp {\n font-family: monospace, monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/**\n * Add the correct font size in all browsers.\n */\n\nsmall {\n font-size: 80%;\n}\n\n/**\n * Prevent `sub` and `sup` elements from affecting the line height in\n * all browsers.\n */\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\n/* Embedded content\n ========================================================================== */\n\n/**\n * Remove the border on images inside links in IE 10.\n */\n\nimg {\n border-style: none;\n}\n\n/* Forms\n ========================================================================== */\n\n/**\n * 1. Change the font styles in all browsers.\n * 2. Remove the margin in Firefox and Safari.\n */\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: inherit; /* 1 */\n font-size: 100%; /* 1 */\n line-height: 1.15; /* 1 */\n margin: 0; /* 2 */\n}\n\n/**\n * Show the overflow in IE.\n * 1. Show the overflow in Edge.\n */\n\nbutton,\ninput { /* 1 */\n overflow: visible;\n}\n\n/**\n * Remove the inheritance of text transform in Edge, Firefox, and IE.\n * 1. Remove the inheritance of text transform in Firefox.\n */\n\nbutton,\nselect { /* 1 */\n text-transform: none;\n}\n\n/**\n * Correct the inability to style clickable types in iOS and Safari.\n */\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\n/**\n * Remove the inner border and padding in Firefox.\n */\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n border-style: none;\n padding: 0;\n}\n\n/**\n * Restore the focus styles unset by the previous rule.\n */\n\nbutton:-moz-focusring,\n[type=\"button\"]:-moz-focusring,\n[type=\"reset\"]:-moz-focusring,\n[type=\"submit\"]:-moz-focusring {\n outline: 1px dotted ButtonText;\n}\n\n/**\n * Correct the padding in Firefox.\n */\n\nfieldset {\n padding: 0.35em 0.75em 0.625em;\n}\n\n/**\n * 1. Correct the text wrapping in Edge and IE.\n * 2. Correct the color inheritance from `fieldset` elements in IE.\n * 3. Remove the padding so developers are not caught out when they zero out\n * `fieldset` elements in all browsers.\n */\n\nlegend {\n box-sizing: border-box; /* 1 */\n color: inherit; /* 2 */\n display: table; /* 1 */\n max-width: 100%; /* 1 */\n padding: 0; /* 3 */\n white-space: normal; /* 1 */\n}\n\n/**\n * Add the correct vertical alignment in Chrome, Firefox, and Opera.\n */\n\nprogress {\n vertical-align: baseline;\n}\n\n/**\n * Remove the default vertical scrollbar in IE 10+.\n */\n\ntextarea {\n overflow: auto;\n}\n\n/**\n * 1. Add the correct box sizing in IE 10.\n * 2. Remove the padding in IE 10.\n */\n\n[type=\"checkbox\"],\n[type=\"radio\"] {\n box-sizing: border-box; /* 1 */\n padding: 0; /* 2 */\n}\n\n/**\n * Correct the cursor style of increment and decrement buttons in Chrome.\n */\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n/**\n * 1. Correct the odd appearance in Chrome and Safari.\n * 2. Correct the outline style in Safari.\n */\n\n[type=\"search\"] {\n -webkit-appearance: textfield; /* 1 */\n outline-offset: -2px; /* 2 */\n}\n\n/**\n * Remove the inner padding in Chrome and Safari on macOS.\n */\n\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n/**\n * 1. Correct the inability to style clickable types in iOS and Safari.\n * 2. Change font properties to `inherit` in Safari.\n */\n\n::-webkit-file-upload-button {\n -webkit-appearance: button; /* 1 */\n font: inherit; /* 2 */\n}\n\n/* Interactive\n ========================================================================== */\n\n/*\n * Add the correct display in Edge, IE 10+, and Firefox.\n */\n\ndetails {\n display: block;\n}\n\n/*\n * Add the correct display in all browsers.\n */\n\nsummary {\n display: list-item;\n}\n\n/* Misc\n ========================================================================== */\n\n/**\n * Add the correct display in IE 10+.\n */\n\ntemplate {\n display: none;\n}\n\n/**\n * Add the correct display in IE 10.\n */\n\n[hidden] {\n display: none;\n}\n","/*\n * SearXNG, A privacy-respecting, hackable metasearch engine\n *\n * To change the colors of the site, simple edit this variables\n */\n\n/// Light Theme\n:root {\n /// Base Colors\n --color-base-font: #444;\n --color-base-font-rgb: 68, 68, 68;\n --color-base-background: #fff;\n --color-base-background-mobile: #f2f5f8;\n --color-url-font: #334999;\n --color-url-visited-font: #9822c3;\n /// Header Colors\n --color-header-background: #fdfbff;\n --color-header-border: #ddd;\n /// Footer Colors\n --color-footer-background: #fdfbff;\n --color-footer-border: #ddd;\n /// Sidebar Colors\n --color-sidebar-border: #ddd;\n --color-sidebar-font: #000;\n --color-sidebar-background: #fff;\n /// BackToTop Colors\n --color-backtotop-font: #444;\n --color-backtotop-border: #ddd;\n --color-backtotop-background: #fff;\n /// Button Colors\n --color-btn-background: #3050ff;\n --color-btn-font: #fff;\n --color-show-btn-background: #bbb;\n --color-show-btn-font: #000;\n /// Search Input Colors\n --color-search-border: #bbb;\n --color-search-shadow: 0 2px 8px rgb(34 38 46 / 25%);\n --color-search-background: #fff;\n --color-search-font: #222;\n --color-search-background-hover: #3050ff;\n /// Modal Colors\n --color-error: #db3434;\n --color-error-background: lighten(#db3434, 40%);\n --color-warning: #dbba34;\n --color-warning-background: lighten(#dbba34, 40%);\n --color-success: #42db34;\n --color-success-background: lighten(#42db34, 40%);\n /// Categories Colors\n --color-categories-item-selected-font: #3050ff;\n --color-categories-item-border-selected: #3050ff;\n /// Autocomplete Colors\n --color-autocomplete-font: #000;\n --color-autocomplete-border: #bbb;\n --color-autocomplete-shadow: 0 2px 8px rgb(34 38 46 / 25%);\n --color-autocomplete-background: #fff;\n --color-autocomplete-background-hover: #e3e3e3;\n /// Answer Colors\n --color-answer-font: #444; // same as --color-base-font\n --color-answer-background: #fff;\n /// Results Colors\n --color-result-background: #fff;\n --color-result-border: #ddd;\n --color-result-url-font: #000;\n --color-result-vim-selected: #f7f7f7;\n --color-result-vim-arrow: #000bbb;\n --color-result-description-highlight-font: #000;\n --color-result-link-font: #000bbb;\n --color-result-link-font-highlight: #000bbb;\n --color-result-link-visited-font: #9822c3;\n --color-result-publishdate-font: #777;\n --color-result-engines-font: #545454;\n --color-result-search-url-border: #ddd;\n --color-result-search-url-font: #000;\n // Images Colors\n --color-result-image-span-font: #444;\n --color-result-image-span-font-selected: #fff;\n --color-result-image-background: #fff;\n /// Settings Colors\n --color-settings-tr-hover: #ebebeb;\n --color-settings-engine-description-font: #545454;\n --color-settings-engine-group-background: #0001;\n /// Detail modal\n --color-result-detail-font: #fff;\n --color-result-detail-label-font: lightgray;\n --color-result-detail-background: #242424;\n --color-result-detail-hr: #555;\n --color-result-detail-link: #8af;\n --color-result-detail-loader-border: rgba(255, 255, 255, 0.2);\n --color-result-detail-loader-borderleft: rgba(0, 0, 0, 0);\n /// Toolkit Colors\n --color-toolkit-badge-font: #fff;\n --color-toolkit-badge-background: #545454;\n --color-toolkit-kbd-font: #fff;\n --color-toolkit-kbd-background: #000;\n --color-toolkit-dialog-border: #ddd;\n --color-toolkit-dialog-background: #fff;\n --color-toolkit-tabs-label-border: #fff;\n --color-toolkit-tabs-section-border: #ddd;\n --color-toolkit-select-background: #e1e1e1;\n --color-toolkit-select-border: #ddd;\n --color-toolkit-select-background-hover: #bbb;\n --color-toolkit-input-text-font: #222;\n --color-toolkit-checkbox-onoff-off-background: #ddd;\n --color-toolkit-checkbox-onoff-on-background: #ddd;\n --color-toolkit-checkbox-onoff-on-mark-background: #3050ff;\n --color-toolkit-checkbox-onoff-on-mark-color: #fff;\n --color-toolkit-checkbox-onoff-off-mark-background: #aaa;\n --color-toolkit-checkbox-onoff-off-mark-color: #fff;\n --color-toolkit-checkbox-label-background: #ddd;\n --color-toolkit-checkbox-label-border: #ddd;\n --color-toolkit-checkbox-input-border: #3050ff;\n --color-toolkit-engine-tooltip-border: #ddd;\n --color-toolkit-engine-tooltip-background: #fff;\n --color-toolkit-loader-border: rgba(0, 0, 0, 0.2);\n --color-toolkit-loader-borderleft: rgba(255, 255, 255, 0);\n --color-doc-code: #300;\n --color-doc-code-background: #fdd;\n}\n\n.dark-themes() {\n /// Base Colors\n --color-base-font: #bbb;\n --color-base-font-rgb: 187, 187, 187;\n --color-base-background: #222428;\n --color-base-background-mobile: #222428;\n --color-url-font: #8af;\n --color-url-visited-font: #c09cd9;\n /// Header Colors\n --color-header-background: #1e1e22;\n --color-header-border: #333;\n /// Footer Colors\n --color-footer-background: #1e1e22;\n --color-footer-border: #333;\n /// Sidebar Colors\n --color-sidebar-border: #555;\n --color-sidebar-font: #fff;\n --color-sidebar-background: #292c34;\n /// BackToTop Colors\n --color-backtotop-font: #bbb;\n --color-backtotop-border: #333;\n --color-backtotop-background: #2b2e36;\n /// Button Colors\n --color-btn-background: #58f;\n --color-btn-font: #222;\n --color-show-btn-background: #555;\n --color-show-btn-font: #fff;\n /// Search Input Colors\n --color-search-border: #555;\n --color-search-shadow: 0 2px 8px rgb(34 38 46 / 25%);\n --color-search-background: #2b2e36;\n --color-search-font: #fff;\n --color-search-background-hover: #58f;\n /// Modal Colors\n --color-error: #f55b5b;\n --color-error-background: darken(#db3434, 40%);\n --color-warning: #f1d561;\n --color-warning-background: darken(#dbba34, 40%);\n --color-success: #79f56e;\n --color-success-background: darken(#42db34, 40%);\n /// Categories Colors\n --color-categories-item-selected-font: #58f;\n --color-categories-item-border-selected: #58f;\n /// Autocomplete Colors\n --color-autocomplete-font: #fff;\n --color-autocomplete-border: #555;\n --color-autocomplete-shadow: 0 2px 8px rgb(34 38 46 / 25%);\n --color-autocomplete-background: #2b2e36;\n --color-autocomplete-background-hover: #1e1e22;\n /// Answer Colors\n --color-answer-font: #bbb; // same as --color-base-font\n --color-answer-background: #26292f;\n /// Results Colors\n --color-result-background: #26292f;\n --color-result-border: #333;\n --color-result-url-font: #fff;\n --color-result-vim-selected: #1f1f23cc;\n --color-result-vim-arrow: #8af;\n --color-result-description-highlight-font: #fff;\n --color-result-link-font: #8af;\n --color-result-link-font-highlight: #8af;\n --color-result-link-visited-font: #c09cd9;\n --color-result-publishdate-font: #888;\n --color-result-engines-font: #a4a4a4;\n --color-result-search-url-border: #555;\n --color-result-search-url-font: #fff;\n /// Detail modal : same as the light version\n --color-result-detail-font: #fff;\n --color-result-detail-label-font: lightgray;\n --color-result-detail-background: #1a1a1c;\n --color-result-detail-hr: #555;\n --color-result-detail-link: #8af;\n --color-result-detail-loader-border: rgba(255, 255, 255, 0.2);\n --color-result-detail-loader-borderleft: rgba(0, 0, 0, 0);\n // Images Colors\n --color-result-image-span-font: #bbb;\n --color-result-image-span-font-selected: #222;\n --color-result-image-background: #222;\n /// Settings Colors\n --color-settings-tr-hover: #2c2c32;\n --color-settings-engine-description-font: darken(#dcdcdc, 30%);\n --color-settings-engine-group-background: #1b1b21;\n /// Toolkit Colors\n --color-toolkit-badge-font: #fff;\n --color-toolkit-badge-background: #555;\n --color-toolkit-kbd-font: #000;\n --color-toolkit-kbd-background: #fff;\n --color-toolkit-dialog-border: #555;\n --color-toolkit-dialog-background: #1e1e22;\n --color-toolkit-tabs-label-border: #222;\n --color-toolkit-tabs-section-border: #555;\n --color-toolkit-select-background: #313338;\n --color-toolkit-select-border: #555;\n --color-toolkit-select-background-hover: #373b49;\n --color-toolkit-input-text-font: #fff;\n --color-toolkit-checkbox-onoff-off-background: #313338;\n --color-toolkit-checkbox-onoff-on-background: #313338;\n --color-toolkit-checkbox-onoff-on-mark-background: #58f;\n --color-toolkit-checkbox-onoff-on-mark-color: #222;\n --color-toolkit-checkbox-onoff-off-mark-background: #ddd;\n --color-toolkit-checkbox-onoff-off-mark-color: #222;\n --color-toolkit-checkbox-label-background: #222;\n --color-toolkit-checkbox-label-border: #333;\n --color-toolkit-checkbox-input-border: #58f;\n --color-toolkit-engine-tooltip-border: #333;\n --color-toolkit-engine-tooltip-background: #222;\n --color-toolkit-loader-border: rgba(255, 255, 255, 0.2);\n --color-toolkit-loader-borderleft: rgba(0, 0, 0, 0);\n --color-doc-code: #fdd;\n --color-doc-code-background: #300;\n}\n\n/// Dark Theme (autoswitch based on device pref)\n@media (prefers-color-scheme: dark) {\n :root.theme-auto {\n .dark-themes();\n }\n}\n\n// Dark Theme by preferences\n:root.theme-dark {\n .dark-themes();\n}\n\n/// General Size\n@results-width: 45rem;\n@results-sidebar-width: 25rem;\n@results-offset: 10rem;\n@results-tablet-offset: 0.5rem;\n@results-gap: 5rem;\n@results-margin: 0.125rem;\n@result-padding: 1rem;\n@results-image-row-height: 12rem;\n@results-image-row-height-phone: 6rem;\n@search-width: 44rem;\n// heigh of #search, see detail.less\n@search-height: 7.6rem;\n\n/// Device Size\n/// @desktop > @tablet\n@tablet: 79.75em; // see https://github.com/searxng/searxng/issues/874\n@phone: 50em;\n@small-phone: 35em;\n@ultra-small-phone: 20rem;\n\n/// From style.less\n@stacked-bar-chart: rgb(0, 0, 0);\n\n/// Load fonts from this directory.\n@icon-font-path: \"../../../fonts/\";\n//** File name for all font files.\n@icon-font-name: \"glyphicons-halflings-regular\";\n//** Element ID within SVG icon file.\n@icon-font-svg-id: \"glyphicons_halflingsregular\";\n\n// decoration of the select HTML elements\n@select-light-svg-path: \"../svg/select-light.svg\";\n@select-dark-svg-path: \"../svg/select-dark.svg\";\n",".code-highlight pre {\n overflow: auto;\n background-color: inherit;\n color: inherit;\n border: inherit;\n}\n\n// stylelint-disable no-invalid-position-at-import-rule\n@import \"../generated/pygments.less\";\n","/*\n this file is generated automatically by searxng_extra/update/update_pygments.py\n using pygments version 2.13.0\n*/\n\n.code-highlight .linenos {\n -webkit-touch-callout: none;\n -webkit-user-select: none;\n -khtml-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n cursor: default;\n\n &::selection {\n background: transparent; /* WebKit/Blink Browsers */\n }\n &::-moz-selection {\n background: transparent; /* Gecko Browsers */\n }\n\n margin-right: 8px;\n text-align: right;\n}\n\n.code-highlight pre { line-height: 125%; }\n.code-highlight td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }\n.code-highlight span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }\n.code-highlight td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }\n.code-highlight span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }\n.code-highlight .hll { background-color: #ffffcc }\n.code-highlight { background: #f8f8f8; }\n.code-highlight .c { color: #3D7B7B; font-style: italic } /* Comment */\n.code-highlight .err { border: 1px solid #FF0000 } /* Error */\n.code-highlight .k { color: #008000; font-weight: bold } /* Keyword */\n.code-highlight .o { color: #666666 } /* Operator */\n.code-highlight .ch { color: #3D7B7B; font-style: italic } /* Comment.Hashbang */\n.code-highlight .cm { color: #3D7B7B; font-style: italic } /* Comment.Multiline */\n.code-highlight .cp { color: #9C6500 } /* Comment.Preproc */\n.code-highlight .cpf { color: #3D7B7B; font-style: italic } /* Comment.PreprocFile */\n.code-highlight .c1 { color: #3D7B7B; font-style: italic } /* Comment.Single */\n.code-highlight .cs { color: #3D7B7B; font-style: italic } /* Comment.Special */\n.code-highlight .gd { color: #A00000 } /* Generic.Deleted */\n.code-highlight .ge { font-style: italic } /* Generic.Emph */\n.code-highlight .gr { color: #E40000 } /* Generic.Error */\n.code-highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */\n.code-highlight .gi { color: #008400 } /* Generic.Inserted */\n.code-highlight .go { color: #717171 } /* Generic.Output */\n.code-highlight .gp { color: #000080; font-weight: bold } /* Generic.Prompt */\n.code-highlight .gs { font-weight: bold } /* Generic.Strong */\n.code-highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */\n.code-highlight .gt { color: #0044DD } /* Generic.Traceback */\n.code-highlight .kc { color: #008000; font-weight: bold } /* Keyword.Constant */\n.code-highlight .kd { color: #008000; font-weight: bold } /* Keyword.Declaration */\n.code-highlight .kn { color: #008000; font-weight: bold } /* Keyword.Namespace */\n.code-highlight .kp { color: #008000 } /* Keyword.Pseudo */\n.code-highlight .kr { color: #008000; font-weight: bold } /* Keyword.Reserved */\n.code-highlight .kt { color: #B00040 } /* Keyword.Type */\n.code-highlight .m { color: #666666 } /* Literal.Number */\n.code-highlight .s { color: #BA2121 } /* Literal.String */\n.code-highlight .na { color: #687822 } /* Name.Attribute */\n.code-highlight .nb { color: #008000 } /* Name.Builtin */\n.code-highlight .nc { color: #0000FF; font-weight: bold } /* Name.Class */\n.code-highlight .no { color: #880000 } /* Name.Constant */\n.code-highlight .nd { color: #AA22FF } /* Name.Decorator */\n.code-highlight .ni { color: #717171; font-weight: bold } /* Name.Entity */\n.code-highlight .ne { color: #CB3F38; font-weight: bold } /* Name.Exception */\n.code-highlight .nf { color: #0000FF } /* Name.Function */\n.code-highlight .nl { color: #767600 } /* Name.Label */\n.code-highlight .nn { color: #0000FF; font-weight: bold } /* Name.Namespace */\n.code-highlight .nt { color: #008000; font-weight: bold } /* Name.Tag */\n.code-highlight .nv { color: #19177C } /* Name.Variable */\n.code-highlight .ow { color: #AA22FF; font-weight: bold } /* Operator.Word */\n.code-highlight .w { color: #bbbbbb } /* Text.Whitespace */\n.code-highlight .mb { color: #666666 } /* Literal.Number.Bin */\n.code-highlight .mf { color: #666666 } /* Literal.Number.Float */\n.code-highlight .mh { color: #666666 } /* Literal.Number.Hex */\n.code-highlight .mi { color: #666666 } /* Literal.Number.Integer */\n.code-highlight .mo { color: #666666 } /* Literal.Number.Oct */\n.code-highlight .sa { color: #BA2121 } /* Literal.String.Affix */\n.code-highlight .sb { color: #BA2121 } /* Literal.String.Backtick */\n.code-highlight .sc { color: #BA2121 } /* Literal.String.Char */\n.code-highlight .dl { color: #BA2121 } /* Literal.String.Delimiter */\n.code-highlight .sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */\n.code-highlight .s2 { color: #BA2121 } /* Literal.String.Double */\n.code-highlight .se { color: #AA5D1F; font-weight: bold } /* Literal.String.Escape */\n.code-highlight .sh { color: #BA2121 } /* Literal.String.Heredoc */\n.code-highlight .si { color: #A45A77; font-weight: bold } /* Literal.String.Interpol */\n.code-highlight .sx { color: #008000 } /* Literal.String.Other */\n.code-highlight .sr { color: #A45A77 } /* Literal.String.Regex */\n.code-highlight .s1 { color: #BA2121 } /* Literal.String.Single */\n.code-highlight .ss { color: #19177C } /* Literal.String.Symbol */\n.code-highlight .bp { color: #008000 } /* Name.Builtin.Pseudo */\n.code-highlight .fm { color: #0000FF } /* Name.Function.Magic */\n.code-highlight .vc { color: #19177C } /* Name.Variable.Class */\n.code-highlight .vg { color: #19177C } /* Name.Variable.Global */\n.code-highlight .vi { color: #19177C } /* Name.Variable.Instance */\n.code-highlight .vm { color: #19177C } /* Name.Variable.Magic */\n.code-highlight .il { color: #666666 } /* Literal.Number.Integer.Long */\n","// other solution : http://stackoverflow.com/questions/1577598/how-to-hide-parts-of-html-when-javascript-is-disabled/13857783#13857783\n\n// stylelint-disable no-descending-specificity\n\nhtml.no-js .hide_if_nojs {\n display: none;\n}\n\nhtml.js .show_if_nojs {\n display: none;\n}\n\n.center {\n text-align: center;\n}\n\n.right {\n float: right;\n}\n\n.left {\n float: left;\n}\n\n.invisible {\n display: none !important;\n}\n\n.list-unstyled {\n list-style-type: none;\n\n li {\n margin-top: 4px;\n margin-bottom: 4px;\n }\n}\n\n.danger {\n background-color: var(--color-error-background);\n}\n\n.warning {\n background: var(--color-warning-background);\n}\n\n.success {\n background: var(--color-success-background);\n}\n\n.badge {\n display: inline-block;\n color: var(--color-toolkit-badge-font);\n background-color: var(--color-toolkit-badge-background);\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n min-width: 10px;\n padding: 1px 5px;\n border-radius: 5px;\n}\n\n// kbd\nkbd {\n padding: 2px 4px;\n margin: 1px;\n font-size: 90%;\n color: var(--color-toolkit-kbd-font);\n background: var(--color-toolkit-kbd-background);\n}\n\n// table\ntable {\n width: 100%;\n\n &.striped {\n tr {\n border-bottom: 1px solid var(--color-settings-tr-hover);\n }\n }\n}\n\nth {\n padding: 0.4em;\n}\n\ntd {\n padding: 0 4px;\n}\n\ntr {\n &:hover {\n background: var(--color-settings-tr-hover) !important;\n }\n}\n\n// pre\n.pre() {\n display: block;\n font-size: 0.8em;\n word-break: break-all;\n margin: 0.1em;\n user-select: all;\n}\n\ndiv.selectable_url {\n display: block;\n border: 1px solid var(--color-result-search-url-border);\n padding: 4px;\n color: var(--color-result-search-url-font);\n margin: 0.1em;\n overflow: hidden;\n height: 1.2em;\n line-height: 1.2em;\n .rounded-corners-tiny;\n\n pre {\n .pre();\n }\n}\n\n// dialog\n.dialog() {\n position: relative;\n display: flex;\n padding: 1rem;\n margin: 0 0 1em 0;\n border: 1px solid var(--color-toolkit-dialog-border);\n .ltr-text-align-left();\n .rounded-corners;\n\n .close {\n .ltr-float-right();\n position: relative;\n top: -3px;\n color: inherit;\n font-size: 1.5em;\n }\n\n ul,\n ol,\n p {\n margin: 1px 0 0 0;\n }\n\n table {\n width: auto;\n }\n\n tr {\n vertical-align: text-top;\n\n &:hover {\n background: transparent !important;\n }\n }\n\n td {\n padding: 0 1em 0 0;\n padding-top: 0;\n .ltr-padding-right(1rem);\n padding-bottom: 0;\n .ltr-padding-left(0);\n }\n\n h4 {\n margin-top: 0.3em;\n margin-bottom: 0.3em;\n }\n}\n\n.dialog-error {\n .dialog();\n\n color: var(--color-error);\n background: var(--color-error-background);\n border-color: var(--color-error);\n}\n\n.dialog-warning {\n .dialog();\n\n color: var(--color-warning);\n background: var(--color-warning-background);\n border-color: var(--color-warning);\n}\n\n.dialog-modal {\n .dialog();\n\n display: block;\n background: var(--color-toolkit-dialog-background);\n position: fixed;\n top: 50%;\n left: 50%;\n margin: 0 auto;\n transform: translate(-50%, -50%);\n z-index: 10000000;\n\n h3 {\n margin-top: 0;\n }\n}\n\n// btn-collapse\n.btn-collapse {\n cursor: pointer;\n}\n\n//\n.scrollx {\n overflow-x: auto;\n overflow-y: hidden;\n display: block;\n padding: 0;\n margin: 0;\n border: none;\n}\n\n/* -- tabs -- */\n.tabs .tabs > label {\n font-size: 90%;\n}\n\nul.tabs {\n border-bottom: 1px solid var(--color-toolkit-tabs-section-border);\n list-style: none;\n padding-left: 0;\n\n li {\n display: flex;\n }\n}\n\n.tabs {\n display: flex;\n flex-wrap: wrap;\n width: 100%;\n min-width: 100%;\n\n & > * {\n order: 2;\n }\n\n & > input[type=radio] {\n display: none;\n }\n\n & > label,\n & > li > a {\n order: 1;\n padding: 0.7em;\n margin: 0 0.7em;\n letter-spacing: 0.5px;\n text-transform: uppercase;\n border: solid var(--color-toolkit-tabs-label-border);\n border-width: 0 0 2px 0;\n color: unset;\n\n .disable-user-select();\n\n cursor: pointer;\n\n &.active {\n border-bottom: 2px solid var(--color-categories-item-border-selected);\n background: var(--color-categories-item-selected);\n color: var(--color-categories-item-selected-font);\n }\n }\n\n & > label:hover,\n & > li > a:hover {\n border-bottom: 2px solid var(--color-categories-item-border-selected);\n }\n\n & > section {\n min-width: 100%;\n padding: 0.7rem 0;\n box-sizing: border-box;\n border-top: 1px solid var(--color-toolkit-tabs-section-border);\n display: none;\n }\n\n // default selection\n & > label:last-of-type {\n border-bottom: 2px solid var(--color-categories-item-border-selected);\n background: var(--color-categories-item-selected);\n color: var(--color-categories-item-selected-font);\n letter-spacing: -0.1px;\n }\n\n & > section:last-of-type {\n display: block;\n }\n}\n\nhtml body .tabs > input:checked {\n ~ section {\n display: none;\n }\n\n ~ label {\n position: inherited;\n background: inherit;\n border-bottom: 2px solid transparent;\n font-weight: normal;\n color: inherit;\n\n &:hover {\n border-bottom: 2px solid var(--color-categories-item-border-selected);\n }\n }\n\n + label {\n border-bottom: 2px solid var(--color-categories-item-border-selected);\n background: var(--color-categories-item-selected);\n color: var(--color-categories-item-selected-font);\n }\n\n + label + section {\n display: block;\n }\n}\n\n/* -- select -- */\nselect {\n height: 2.4rem;\n margin-top: 0;\n .ltr-margin-right(1rem);\n margin-bottom: 0;\n .ltr-margin-left(0);\n padding: 0.2rem !important;\n color: var(--color-search-font);\n font-size: 0.9rem;\n z-index: 2;\n\n &:hover,\n &:focus {\n cursor: pointer;\n }\n}\n\n@supports ((background-position-x: 100%) and ((appearance: none) or (-webkit-appearance: none) or (-moz-appearance: none))) {\n select {\n appearance: none;\n -webkit-appearance: none;\n -moz-appearance: none;\n border-width: 0 2rem 0 0;\n border-color: transparent;\n background: data-uri('image/svg+xml;charset=UTF-8', @select-light-svg-path) no-repeat;\n background-position-x: calc(100% + 2rem);\n background-size: 2rem;\n background-origin: content-box;\n background-color: var(--color-toolkit-select-background);\n outline: medium none;\n text-overflow: ellipsis;\n .rounded-corners-tiny;\n\n &:hover,\n &:focus {\n background-color: var(--color-toolkit-select-background-hover);\n }\n\n option {\n background-color: var(--color-base-background);\n }\n }\n\n @media (prefers-color-scheme: dark) {\n html.theme-auto select,\n html.theme-dark select {\n background-image: data-uri('image/svg+xml;charset=UTF-8', @select-dark-svg-path);\n }\n }\n\n html.theme-dark select {\n background-image: data-uri('image/svg+xml;charset=UTF-8', @select-dark-svg-path);\n }\n}\n\n/* -- checkbox-onoff -- */\ninput.checkbox-onoff[type=\"checkbox\"] {\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n cursor: pointer;\n display: inline-block;\n width: 2.5em;\n height: 0.7em;\n box-shadow: none !important;\n margin: 0 16px;\n border-radius: 10px;\n position: relative;\n\n /* focus & hover */\n &:focus,\n &:hover {\n outline: none;\n }\n\n &:focus::after {\n content: \"\";\n position: absolute;\n width: 3.5em;\n height: 1.65em;\n border: 1px solid var(--color-btn-background);\n border-radius: 12px;\n box-shadow: var(--color-btn-background) 0 0 3px;\n z-index: 10000;\n top: -0.55em;\n left: -0.6em;\n }\n\n &::before {\n position: absolute;\n top: -0.5em;\n display: flex;\n justify-content: center;\n align-items: center;\n font-size: 0.75em;\n width: 1.875em;\n height: 1.875em;\n border-radius: 50%;\n }\n}\n\n/* check mark\nreversed-checkbox displays unchecked checkedboxes as checked, and vice versa.\nsee https://github.com/searxng/searxng/blob/3408d061aab9abc6168fec9bbc6deab71b236dac/searx/templates/simple/preferences.html#L313\n*/\ninput.checkbox-onoff[type=\"checkbox\"],\n.reversed-checkbox input.checkbox-onoff[type=\"checkbox\"]:checked {\n background: var(--color-toolkit-checkbox-onoff-off-background);\n\n &::before {\n left: -0.5em;\n content: \"\\2715\";\n color: var(--color-toolkit-checkbox-onoff-off-mark-color);\n background: var(--color-toolkit-checkbox-onoff-off-mark-background);\n }\n}\n\ninput.checkbox-onoff[type=\"checkbox\"]:checked,\n.reversed-checkbox input.checkbox-onoff[type=\"checkbox\"] {\n background: var(--color-toolkit-checkbox-onoff-on-background);\n\n &::before {\n left: calc(100% - 1.5em);\n content: \"\\2713\";\n color: var(--color-toolkit-checkbox-onoff-on-mark-color);\n background: var(--color-toolkit-checkbox-onoff-on-mark-background);\n }\n}\n\n/* -- checkbox -- */\n@supports (transform: rotate(-45deg)) {\n input[type=checkbox]:not(.checkbox-onoff) {\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n\n width: 20px;\n height: 20px;\n cursor: pointer;\n position: relative;\n top: 0;\n left: 0;\n border: 2px solid var(--color-toolkit-checkbox-input-border);\n .rounded-corners(0.3em);\n\n &::after {\n content: '';\n width: 9px;\n height: 5px;\n position: absolute;\n top: 3px;\n left: 2px;\n border: 3px solid var(--color-toolkit-checkbox-label-border);\n border-top: none;\n border-right: none;\n background: transparent;\n opacity: 0;\n transform: rotate(-45deg);\n }\n\n &:checked::after {\n border-color: var(--color-toolkit-checkbox-input-border);\n opacity: 1;\n }\n }\n\n // disabled : can't be focused, show only the check mark\n input[type=checkbox][disabled]:not(.checkbox-onoff) {\n border: inherit;\n background-color: transparent !important;\n cursor: inherit;\n }\n\n // if not checked and possible to checked then display a \"light\" check mark on hover\n input.checkbox[type=checkbox]:not(:checked):not([disabled]):not(.checkbox-onoff):hover::after {\n opacity: 0.5;\n }\n}\n\n@media screen and (max-width: @phone) {\n .tabs > label {\n width: 100%;\n }\n}\n\n/* -- loader -- */\n.loader,\n.loader::after {\n border-radius: 50%;\n width: 2em;\n height: 2em;\n}\n\n.loader {\n margin: 1em auto;\n font-size: 10px;\n position: relative;\n text-indent: -9999em;\n border-top: 0.5em solid var(--color-toolkit-loader-border);\n border-right: 0.5em solid var(--color-toolkit-loader-border);\n border-bottom: 0.5em solid var(--color-toolkit-loader-border);\n border-left: 0.5em solid var(--color-toolkit-loader-borderleft);\n -webkit-transform: translateZ(0);\n -ms-transform: translateZ(0);\n transform: translateZ(0);\n -webkit-animation: load8 1.2s infinite linear;\n animation: load8 1.2s infinite linear;\n}\n\n@-webkit-keyframes load8 {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n\n 100% {\n -webkit-transform: rotate(360deg);\n transform: rotate(360deg);\n }\n}\n\n@keyframes load8 {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n\n 100% {\n -webkit-transform: rotate(360deg);\n transform: rotate(360deg);\n }\n}\n\n/* -- engine-tooltip -- */\n.engine-tooltip {\n display: none;\n position: absolute;\n padding: 0.5rem 1rem;\n margin: 0 0 0 2rem;\n border: 1px solid var(--color-toolkit-engine-tooltip-border);\n background: var(--color-toolkit-engine-tooltip-background);\n font-size: 14px;\n font-weight: normal;\n z-index: 1000000;\n text-align: left;\n .rounded-corners;\n}\n\nth:hover .engine-tooltip,\ntd:hover .engine-tooltip,\n.engine-tooltip:hover {\n display: inline-block;\n}\n\n/* -- stacked bar chart -- */\n.stacked-bar-chart {\n margin: 0;\n padding: 0 0.125rem 0 4rem;\n width: 100%;\n width: -moz-available;\n width: -webkit-fill-available;\n width: fill;\n flex-direction: row;\n flex-wrap: nowrap;\n align-items: center;\n display: inline-flex;\n}\n\n.stacked-bar-chart-value {\n width: 3rem;\n display: inline-block;\n position: absolute;\n padding: 0 0.5rem;\n text-align: right;\n}\n\n.stacked-bar-chart-base {\n display: flex;\n flex-shrink: 0;\n flex-grow: 0;\n flex-basis: unset;\n}\n\n.stacked-bar-chart-median {\n .stacked-bar-chart-base();\n\n background: var(--color-base-font);\n border: 1px solid rgba(var(--color-base-font-rgb), 0.9);\n padding: 0.3rem 0;\n}\n\n.stacked-bar-chart-rate80 {\n .stacked-bar-chart-base();\n\n background: transparent;\n border: 1px solid rgba(var(--color-base-font-rgb), 0.3);\n padding: 0.3rem 0;\n}\n\n.stacked-bar-chart-rate95 {\n .stacked-bar-chart-base();\n\n background: transparent;\n border-bottom: 1px dotted rgba(var(--color-base-font-rgb), 0.5);\n padding: 0;\n}\n\n.stacked-bar-chart-rate100 {\n .stacked-bar-chart-base();\n\n background: transparent;\n border-left: 1px solid rgba(var(--color-base-font-rgb), 0.9);\n padding: 0.4rem 0;\n width: 1px;\n}\n","// SPDX-License-Identifier: AGPL-3.0-or-later\n\n// Mixins\n.text-size-adjust (@property: 100%) {\n -webkit-text-size-adjust: @property;\n -ms-text-size-adjust: @property;\n -moz-text-size-adjust: @property;\n text-size-adjust: @property;\n}\n\n.rounded-corners (@radius: 10px) {\n border-radius: @radius;\n}\n\n.rounded-right-corners (@radius: 0 10px 10px 0) {\n border-radius: @radius;\n}\n\n.rounded-corners-tiny (@radius: 5px) {\n border-radius: @radius;\n}\n\n// disable user selection\n.disable-user-select () {\n -webkit-touch-callout: none;\n user-select: none;\n}\n\n.show-content-button() {\n padding: 5px 10px;\n .rounded-corners-tiny;\n background: var(--color-show-btn-background);\n color: var(--color-show-btn-font);\n cursor: pointer;\n\n &:hover {\n background: var(--color-btn-background);\n color: var(--color-btn-font);\n }\n}\n",".ltr-left(@offset) {\n right: @offset;\n}\n\n.ltr-right(@offset) {\n left: @offset;\n}\n\n.ltr-margin-right(@offset) {\n margin-left: @offset;\n}\n\n.ltr-margin-left(@offset) {\n margin-right: @offset;\n}\n\n.ltr-border-right(@offset) {\n border-left: @offset;\n}\n\n.ltr-border-left(@offset) {\n border-right: @offset;\n}\n\n.ltr-padding-right(@offset) {\n padding-left: @offset;\n}\n\n.ltr-padding-left(@offset) {\n padding-right: @offset;\n}\n\n.ltr-float-left() {\n float: right;\n}\n\n.ltr-float-right() {\n float: left;\n}\n\n.ltr-text-align-right() {\n text-align: left;\n}\n\n.ltr-rounded-left-corners(@radius) {\n border-radius: 0 @radius @radius 0;\n}\n\n.ltr-rounded-top-left-corners(@radius) {\n border-radius: 0 @radius 0 0;\n}\n\n.ltr-rounded-bottom-left-corners(@radius) {\n border-radius: 0 0 @radius 0;\n}\n\n.ltr-rounded-right-corners(@radius) {\n border-radius: @radius 0 0 @radius;\n}\n\n.ltr-rounded-top-right-corners(@radius) {\n border-radius: @radius 0 0 0;\n}\n\n.ltr-rounded-bottom-right-corners(@radius) {\n border-radius: 0 0 0 @radius;\n}\n\n.ltr-text-align-left() {\n text-align: right;\n}\n\n.ltr-border-left-width(@offset) {\n border-right-width: @offset;\n}\n\n.ltr-border-right-width(@offset) {\n border-left-width: @offset;\n}\n\n.ltr-transform() {\n transform: scale(-1, 1);\n}\n\n@import \"style.less\";\n\n#q,\n#sidebar .infobox dt bdi {\n direction: rtl;\n}\n\n// URL are displayed LTR but align on the right\n#urls {\n direction: initial;\n text-align: right;\n\n .result .url_wrapper {\n justify-content: end;\n }\n}\n\n// Image flexbox\n#main_results div#results.only_template_images #urls {\n direction: rtl;\n}\n\n// Image detail\n#results.image-detail-open article.result-images[data-vim-selected] .detail .result-images-labels p {\n direction: rtl;\n\n &.result-url {\n // Display URL using the LTR direction\n direction: ltr;\n\n span {\n // And put the label on the right\n direction: rtl;\n float: right;\n }\n }\n}\n\n// select HTML element\n@supports ((background-position-x: 100%) and ((appearance: none) or (-webkit-appearance: none) or (-moz-appearance: none))) {\n select {\n border-width: 0 0 0 2rem;\n background-position-x: -2rem;\n }\n}\n\n// vim hotkey helps is not translated\n#vim-hotkeys-help table {\n direction: ltr;\n text-align: left;\n}\n\n// Logo on the right\n#main_preferences h1,\n#main_stats h1 {\n background-position-x: 100%;\n}\n\n// patch of stats.less\n.bar-chart-serie1,\n.bar-chart-serie2 {\n float: right;\n}\n\n.engine-stats .engine-name,\n.engine-stats .engine-score,\n.engine-stats .result-count,\n.engine-stats .response-time,\n.engine-stats .engine-reliability {\n text-align: right;\n}\n","/*! Autocomplete.js v2.6.3 | license MIT | (c) 2017, Baptiste Donaux | http://autocomplete-js.com */\n\n.autocomplete {\n position: absolute;\n width: @search-width;\n max-height: 0;\n overflow-y: hidden;\n .ltr-text-align-left();\n\n .rounded-corners;\n\n &:active,\n &:focus,\n &:hover {\n background-color: var(--color-autocomplete-background);\n }\n\n &:empty {\n display: none;\n }\n\n > ul {\n list-style-type: none;\n margin: 0;\n padding: 0;\n\n > li {\n cursor: pointer;\n padding: 0.5rem 1rem;\n\n &.active,\n &:active,\n &:focus,\n &:hover {\n background-color: var(--color-autocomplete-background-hover);\n\n a:active,\n a:focus,\n a:hover {\n text-decoration: none;\n }\n }\n\n &.locked {\n cursor: inherit;\n }\n }\n }\n\n &.open {\n display: block;\n background-color: var(--color-autocomplete-background);\n color: var(--color-autocomplete-font);\n max-height: 32rem;\n overflow-y: auto;\n z-index: 100;\n margin-top: 3.5rem;\n border-radius: 0.8rem;\n box-shadow: 0 2px 8px rgb(34 38 46 / 25%);\n\n &:empty {\n display: none;\n }\n }\n}\n\n@media screen and (max-width: @phone) {\n .autocomplete {\n width: 100%;\n\n > ul > li {\n padding: 1rem;\n }\n }\n}\n","#main_results #results.image-detail-open.only_template_images {\n width: min(98%, 59.25rem) !important;\n}\n\n#main_results #results.only_template_images.image-detail-open #backToTop {\n .ltr-left(56.75rem) !important;\n .ltr-right(inherit);\n}\n\narticle.result-images .detail {\n display: none;\n}\n\n#results.image-detail-open article.result-images[data-vim-selected] .detail {\n display: flex;\n flex-direction: column;\n position: fixed;\n .ltr-left(60rem);\n .ltr-right(0);\n top: @search-height;\n transition: top 0.064s ease-in 0s;\n bottom: 0;\n background: var(--color-result-detail-background);\n border: 1px solid var(--color-result-detail-background);\n z-index: 10000;\n padding: 4rem 3rem 3rem 3rem;\n\n a.result-images-source {\n display: block;\n flex: 1;\n text-align: left;\n width: 100%;\n border: none;\n text-decoration: none;\n\n img {\n padding: 0;\n margin: 0;\n border: none;\n object-fit: contain;\n width: inherit;\n height: inherit;\n max-width: 100%;\n min-height: inherit;\n max-height: calc(100vh - 25rem - 7rem);\n background: inherit;\n }\n }\n\n .result-images-labels {\n color: var(--color-result-detail-font);\n max-height: 16rem;\n min-height: 16rem;\n\n hr {\n border-top: 1px solid var(--color-result-detail-hr);\n border-bottom: none;\n }\n\n h4 {\n height: 2rem;\n overflow: hidden;\n text-overflow: ellipsis;\n font-size: 0.9rem;\n }\n\n p {\n color: var(--color-result-detail-label-font);\n font-size: 0.9rem;\n\n span {\n display: inline-block;\n width: 12rem;\n }\n }\n\n h4,\n p,\n a {\n .ltr-text-align-left();\n }\n\n p.result-content {\n height: 2rem;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n p.result-url {\n white-space: nowrap;\n overflow-x: hidden;\n text-overflow: ellipsis;\n }\n\n p.result-content:hover,\n p.result-url:hover {\n position: relative;\n overflow: inherit !important;\n background: var(--color-result-detail-background);\n text-overflow: inherit !important;\n }\n\n a,\n a:visited,\n a:hover,\n a:active {\n color: var(--color-result-detail-link);\n }\n\n a:hover {\n text-decoration: underline;\n }\n }\n\n a.result-detail-close {\n top: 1rem;\n .ltr-left(1rem);\n padding: 0.4rem;\n }\n\n a.result-detail-previous {\n top: 1rem;\n .ltr-right(6rem);\n // center the icon by moving it slightly on the left\n padding-top: 0.4rem;\n .ltr-padding-right(0.5rem);\n padding-bottom: 0.4rem;\n .ltr-padding-left(0.3rem);\n }\n\n a.result-detail-next {\n top: 1rem;\n .ltr-right(2rem);\n padding: 0.4rem;\n }\n\n a.result-detail-close,\n a.result-detail-next,\n a.result-detail-previous {\n border-radius: 50%;\n display: block;\n width: 1.5rem;\n height: 1.5rem;\n position: absolute;\n filter: opacity(40%);\n z-index: 2000002;\n\n span {\n display: block;\n width: 1.5rem;\n height: 1.5rem;\n text-align: center;\n }\n }\n\n a.result-detail-next,\n a.result-detail-previous {\n span::before {\n // vertical center small icons\n vertical-align: sub;\n }\n }\n\n a.result-detail-close,\n a.result-detail-close:visited,\n a.result-detail-close:hover,\n a.result-detail-close:active,\n a.result-detail-previous,\n a.result-detail-previous:visited,\n a.result-detail-previous:hover,\n a.result-detail-previous:active,\n a.result-detail-next,\n a.result-detail-next:visited,\n a.result-detail-next:hover,\n a.result-detail-next:active {\n color: var(--color-result-detail-font);\n background: var(--color-result-detail-background);\n border: 1px solid var(--color-result-detail-font);\n }\n\n a.result-detail-close:focus,\n a.result-detail-close:hover,\n a.result-detail-previous:focus,\n a.result-detail-previous:hover,\n a.result-detail-next:focus,\n a.result-detail-next:hover {\n filter: opacity(80%);\n }\n\n .loader {\n position: absolute;\n top: 1rem;\n .ltr-right(50%);\n border-top: 0.5em solid var(--color-result-detail-loader-border);\n border-right: 0.5em solid var(--color-result-detail-loader-border);\n border-bottom: 0.5em solid var(--color-result-detail-loader-border);\n border-left: 0.5em solid var(--color-result-detail-loader-borderleft);\n }\n}\n\n#results.image-detail-open.scrolling article.result-images[data-vim-selected] .detail {\n top: 0;\n\n a.result-images-source img {\n max-height: calc(100vh - 25rem);\n }\n}\n\n@media screen and (max-width: @tablet) {\n #results.image-detail-open article.result-images[data-vim-selected] .detail {\n top: 0;\n .ltr-left(0);\n\n a.result-images-source {\n display: flex;\n flex-direction: column;\n justify-content: center;\n\n img {\n width: 100%;\n max-height: calc(100vh - 24rem);\n }\n }\n\n a.result-detail-next {\n .ltr-right(1rem);\n }\n }\n}\n\n@media screen and (max-width: @phone) {\n #results.image-detail-open article.result-images[data-vim-selected] .detail {\n top: 0;\n .ltr-left(0);\n padding: 1rem;\n\n a.result-images-source img {\n width: 100%;\n max-height: calc(100vh - 20rem);\n margin: 0;\n }\n\n .result-images-labels p span {\n width: inherit;\n .ltr-margin-right(1rem);\n }\n }\n}\n",".dialog-modal {\n animation-name: dialogmodal;\n animation-duration: 0.13s;\n\n @keyframes dialogmodal {\n 0% {\n opacity: 0;\n }\n\n 50% {\n opacity: 0.5;\n transform: translate(-50%, -50%) scale(1.05);\n }\n }\n}\n\ninput.checkbox-onoff[type=\"checkbox\"]::before {\n transition: left 0.25s;\n}\n","iframe[src^=\"https://w.soundcloud.com\"] {\n height: 120px;\n}\n\niframe[src^=\"https://www.deezer.com\"] {\n // The real size is 92px, but 94px are needed to avoid an inner scrollbar of\n // the embedded HTML.\n height: 94px;\n}\n\niframe[src^=\"https://www.mixcloud.com\"] {\n // the embedded player from mixcloud has some quirks: initial there is an\n // issue with an image URL that is blocked since it is an a Cross-Origin\n // request. The alternative text (<img alt='Mixcloud Logo'> then cause an\n // scrollbar in the inner of the iframe we can't avoid. Another quirk comes\n // when pressing the play button, somtimes the shown player has an height of\n // 200px, somtimes 250px.\n height: 250px;\n}\n\niframe[src^=\"https://bandcamp.com/EmbeddedPlayer\"] {\n // show playlist\n height: 350px;\n}\n\niframe[src^=\"https://bandcamp.com/EmbeddedPlayer/track\"] {\n // hide playlist\n height: 120px;\n}\n\niframe[src^=\"https://genius.com/songs\"] {\n height: 65px;\n}\n",".info-page {\n code {\n font-family: monospace;\n color: var(--color-doc-code);\n background-color: var(--color-doc-code-background);\n padding: 2px 5px;\n .rounded-corners(5px);\n }\n}\n","// SPDX-License-Identifier: AGPL-3.0-or-later\n.stats_endpoint {\n .github-issue-button {\n display: block;\n padding: 8px 16px;\n font-family: sans-serif;\n font-size: 16px;\n color: white;\n background-color: #238636;\n border: #2ea043;\n border-radius: 10px !important;\n box-shadow: rgba(0, 0, 0, 0) 0 0 0 0;\n }\n\n .github-issue-button:hover {\n background-color: #2ea043;\n }\n\n .issue-hide {\n display: none;\n }\n\n input[type=checked] {\n position: absolute;\n }\n\n label {\n margin: 1rem 1rem 1rem 0;\n }\n\n .step_content {\n margin: 1rem 1rem 1rem 2rem;\n }\n\n .step1,\n .step2 {\n visibility: hidden;\n }\n\n .step1_delay {\n transition: visibility 0s linear 4s;\n }\n\n #step1:checked ~ .step1,\n #step2:checked ~ .step2 {\n visibility: visible;\n }\n}\n","// SPDX-License-Identifier: AGPL-3.0-or-later\n\n.engine-stats {\n border-spacing: 0;\n border-collapse: collapse;\n\n tr td,\n tr th {\n border-bottom: 1px solid var(--color-result-border);\n padding: 0.25rem;\n }\n\n table.engine-tooltip {\n border-spacing: 0;\n border-collapse: collapse;\n\n td,\n th {\n border: none;\n }\n }\n\n .engine-name {\n width: 20rem;\n }\n\n .engine-score {\n width: 7rem;\n text-align: right;\n }\n\n .engine-reliability {\n text-align: right;\n }\n}\n\ntable.engine-error th.engine-error-type,\ntable.engine-error td.engine-error-type,\nfailed-test {\n width: 10rem;\n}\n\n.engine-errors {\n margin-top: 3rem;\n\n table.engine-error {\n max-width: 1280px;\n margin: 1rem 0 3rem 0;\n border: 1px solid var(--color-result-border);\n .ltr-text-align-left();\n\n tr th,\n tr td {\n padding: 0.5rem;\n }\n\n & span.log_parameters {\n border-right: 1px solid solid var(--color-result-border);\n padding: 0 1rem 0 0;\n margin: 0 0 0 0.5rem;\n }\n }\n}\n\n.bar-chart-value {\n width: 3em;\n display: inline-block;\n text-align: right;\n padding-right: 0.5rem;\n}\n\n.bar-chart-graph {\n width: calc(100% - 5rem);\n display: inline-block;\n}\n\n.bar-chart-bar {\n border: 3px solid #5bc0de;\n margin: 1px 0;\n}\n\n.bar-chart-serie1 {\n border: 3px solid #5bc0de;\n margin: 1px 0;\n float: left;\n}\n\n.bar-chart-serie2 {\n border: 3px solid #deb15b;\n margin: 1px 0;\n float: left;\n}\n\n.bar0 {\n width: 0;\n border: 0;\n}\n\n.generate-bar(100);\n\n.generate-bar(@n, @i: 1) when (@i =< @n) {\n .bar@{i} {\n width: (@i * 100% / @n);\n }\n .generate-bar(@n, (@i + 1));\n}\n","// SPDX-License-Identifier: AGPL-3.0-or-later\n\n.osm-map-box {\n height: 300px;\n width: 100%;\n margin: 10px 0;\n}\n","#main_index {\n margin-top: 26vh;\n}\n\n.index {\n text-align: center;\n\n .title {\n background: url('../img/searxng.png') no-repeat;\n min-height: 4rem;\n margin: 4rem auto;\n background-position: center;\n background-size: contain;\n }\n\n h1 {\n font-size: 4em;\n visibility: hidden;\n }\n\n #search,\n #search_header {\n margin: 0 auto;\n background: inherit;\n border: inherit;\n padding: 0;\n display: block;\n }\n\n .search_filters {\n display: block;\n margin: 1em 0;\n }\n\n .category label {\n padding: 6px 10px;\n border-bottom: initial !important;\n }\n}\n\n@media screen and (max-width: @tablet) {\n div.title {\n h1 {\n font-size: 1em;\n }\n }\n\n #main_index {\n margin-top: 6em;\n }\n}\n","#tab-content-query table td,\n#tab-content-query table th {\n .ltr-text-align-right() !important;\n height: 3rem;\n}\n\n#main_preferences {\n form {\n width: 100%;\n }\n\n fieldset {\n margin: 8px;\n border: none;\n }\n\n legend {\n margin: 0;\n padding: 5px 0 0 0;\n display: block;\n .ltr-float-left();\n width: 300px;\n }\n\n .value {\n margin: 0;\n padding: 0;\n .ltr-float-left();\n width: 15em;\n\n select,\n input[type=\"text\"] {\n font-size: inherit !important;\n margin-top: 0;\n .ltr-margin-right(1rem);\n margin-bottom: 0;\n .ltr-margin-left(0);\n }\n\n select {\n width: 14rem;\n }\n\n input[type=\"text\"] {\n width: 13.25rem;\n color: var(--color-toolkit-input-text-font);\n border: none;\n background: none repeat scroll 0 0 var(--color-toolkit-select-background);\n padding: 0.2rem 0.4rem;\n height: 2rem;\n .rounded-corners-tiny;\n\n &:hover,\n &:focus {\n background-color: var(--color-toolkit-select-background-hover);\n }\n }\n\n select:focus,\n input:focus {\n outline: none;\n box-shadow: 0 0 1px 1px var(--color-btn-background);\n }\n }\n\n .description {\n margin: 0;\n padding: 5px 0 0 0;\n .ltr-float-right();\n width: 50%;\n color: var(--color-settings-engine-description-font);\n font-size: 90%;\n }\n\n table {\n border-collapse: collapse;\n }\n\n table td {\n text-align: center;\n }\n\n .category {\n .ltr-margin-right(0.5rem);\n\n label {\n border: 2px solid transparent;\n padding: 0.2rem 0.4rem;\n .rounded-corners-tiny;\n }\n }\n\n .category input[type=\"checkbox\"]:checked + label {\n border: 2px solid var(--color-categories-item-border-selected);\n }\n\n table.table_engines {\n td {\n height: 3.75rem;\n }\n\n th.name {\n /* stylelint-disable */\n label {\n cursor: pointer;\n }\n /* stylelint-enable */\n\n .engine-tooltip {\n margin-top: 1.8rem;\n .ltr-left(calc((100% - 85em) / 2 + 10em));\n max-width: 40rem;\n\n .engine-description {\n margin-top: 0.5rem;\n }\n }\n }\n\n .engine-group {\n .ltr-text-align-left();\n font-weight: normal;\n background: var(--color-settings-engine-group-background);\n }\n\n .name,\n .shortcut {\n .ltr-text-align-left();\n }\n }\n\n table.cookies {\n width: 100%;\n direction: ltr;\n\n th,\n td {\n text-align: left;\n font-family: monospace;\n font-size: 1rem;\n padding: 0.5em;\n vertical-align: top;\n }\n\n td:first-child {\n word-break: keep-all;\n width: 14rem;\n padding-right: 1rem;\n }\n\n td:last-child {\n word-break: break-all;\n }\n\n & > tbody > tr:nth-child(even) > th,\n & > tbody > tr:nth-child(even) > td {\n background-color: var(--color-settings-tr-hover);\n }\n }\n\n .preferences_back {\n background: none repeat scroll 0 0 var(--color-btn-background);\n color: var(--color-btn-font);\n border: 0 none;\n .rounded-corners;\n\n cursor: pointer;\n display: inline-block;\n margin: 2px 4px;\n padding: 0.7em;\n\n a {\n color: var(--color-settings-return-font);\n }\n\n a::first-letter {\n text-transform: uppercase;\n }\n }\n\n div.selectable_url {\n pre {\n width: 100%;\n }\n }\n}\n\n@media screen and (max-width: @tablet) {\n .preferences_back {\n clear: both;\n }\n\n .engine-tooltip {\n .ltr-left(10em) !important;\n }\n}\n","/*\n* SearXNG, A privacy-respecting, hackable metasearch engine\n*/\n\n#search {\n padding: 0;\n margin: 0;\n}\n\n#search_header {\n padding-top: 1.5em;\n .ltr-padding-right(2em);\n .ltr-padding-left(@results-offset - 3rem);\n margin: 0;\n background: var(--color-header-background);\n border-bottom: 1px solid var(--color-header-border);\n display: grid;\n column-gap: 1.2rem;\n row-gap: 1rem;\n grid-template-columns: 3rem 1fr;\n grid-template-areas:\n \"logo search\"\n \"spacer categories\";\n}\n\n.category {\n display: inline-block;\n position: relative;\n .ltr-margin-right(1rem);\n padding: 0;\n\n input {\n display: none;\n }\n\n label {\n svg {\n padding-right: 0.2rem;\n }\n\n cursor: pointer;\n padding: 0.2rem 0;\n display: inline-flex;\n text-transform: capitalize;\n font-size: 0.9em;\n border-bottom: 2px solid transparent;\n .disable-user-select;\n\n div.category_name {\n margin: auto 0;\n }\n }\n\n input[type=\"checkbox\"]:checked + label {\n color: var(--color-categories-item-selected-font);\n border-bottom: 2px solid var(--color-categories-item-border-selected);\n }\n}\n\n#search_logo {\n grid-area: logo;\n display: flex;\n align-items: center;\n justify-content: center;\n\n svg {\n flex: 1;\n width: 30px;\n height: 30px;\n margin: 0.5rem 0 auto 0;\n }\n}\n\n.search_categories {\n grid-area: categories;\n\n .help {\n display: none;\n }\n\n &:hover .help {\n display: block;\n position: absolute;\n background: var(--color-base-background);\n padding: 1rem 0.6rem 0.6rem 0;\n z-index: 1000;\n width: 100%;\n left: -0.1rem;\n }\n}\n\n#search_view {\n grid-area: search;\n}\n\n.search_box {\n border-radius: 0.8rem;\n width: @search-width;\n display: inline-flex;\n flex-direction: row;\n white-space: nowrap;\n box-shadow: var(--color-search-shadow);\n}\n\n#clear_search {\n display: block;\n border-collapse: separate;\n box-sizing: border-box;\n width: 1.8rem;\n margin: 0;\n padding: 0.8rem 0.2rem;\n background: none repeat scroll 0 0 var(--color-search-background);\n border: none;\n outline: none;\n color: var(--color-search-font);\n font-size: 1.1rem;\n z-index: 10000;\n\n &:hover {\n color: var(--color-search-background-hover);\n }\n\n &.empty * {\n display: none;\n }\n}\n\nhtml.no-js #clear_search.hide_if_nojs {\n display: none;\n}\n\n#q,\n#send_search {\n display: block;\n margin: 0;\n padding: 0.8rem;\n background: none repeat scroll 0 0 var(--color-search-background);\n border: none;\n outline: none;\n color: var(--color-search-font);\n font-size: 1.1rem;\n z-index: 2;\n}\n\n#q {\n width: 100%;\n .ltr-padding-left(1rem);\n .ltr-padding-right(0) !important;\n .ltr-rounded-left-corners(0.8rem);\n}\n\n#q::-ms-clear,\n#q::-webkit-search-cancel-button {\n display: none;\n}\n\n#send_search {\n .ltr-rounded-right-corners(0.8rem);\n\n &:hover {\n cursor: pointer;\n background-color: var(--color-search-background-hover);\n color: var(--color-search-background);\n }\n}\n\n.no-js #clear_search,\n.no-js #send_search {\n width: auto !important;\n .ltr-border-left(1px solid var(--color-search-border));\n}\n\n.search_filters {\n margin-top: 0.6rem;\n .ltr-margin-right(0);\n margin-bottom: 0;\n .ltr-margin-left(@results-offset + 0.6rem);\n display: flex;\n overflow-x: auto;\n overscroll-behavior-inline: contain;\n\n select {\n background-color: inherit;\n\n &:hover,\n &:focus {\n color: var(--color-base-font);\n }\n }\n}\n\n@media screen and (max-width: @tablet) {\n #search_header {\n padding: 1.5em @results-tablet-offset 0 @results-tablet-offset;\n column-gap: @results-tablet-offset;\n }\n\n .search_filters {\n margin-top: 0.6rem;\n .ltr-margin-right(0);\n margin-bottom: 0;\n .ltr-margin-left(@results-tablet-offset + 3rem);\n }\n\n #categories {\n font-size: 90%;\n clear: both;\n\n .checkbox_container {\n margin: auto;\n margin-top: 2px;\n }\n }\n}\n\n@media screen and (max-width: @tablet) and (hover: none) {\n #main_index,\n #main_results {\n #categories_container {\n width: max-content;\n\n .category {\n display: inline-block;\n width: auto;\n }\n }\n\n #categories {\n width: 100%;\n .ltr-text-align-left();\n overflow-x: scroll;\n overflow-y: hidden;\n -webkit-overflow-scrolling: touch;\n }\n }\n}\n\n@media screen and (max-width: @phone) {\n #search_header {\n width: 100%;\n margin: 0;\n padding: 0.1rem 0 0 0;\n column-gap: 0;\n row-gap: 0;\n grid-template-areas:\n \"logo search\"\n \"categories categories\";\n }\n\n .search_logo {\n padding: 0;\n }\n\n .search_box {\n width: 98%;\n display: flex;\n margin: 0 auto;\n }\n\n #q {\n width: 100%;\n flex: 1;\n }\n\n .search_filters {\n margin: 0;\n }\n\n .category {\n display: inline-block;\n width: auto;\n margin: 0;\n\n label {\n padding: 1rem !important;\n margin: 0 !important;\n\n svg {\n display: none;\n }\n }\n }\n\n #search_view:focus-within {\n display: block;\n background-color: var(--color-search-background);\n position: absolute;\n top: 0;\n height: 100%;\n width: 100%;\n z-index: 10000;\n\n .search_box {\n border-bottom: 1px solid var(--color-search-border);\n width: 100%;\n border-radius: 0;\n box-shadow: none;\n\n #send_search {\n .ltr-margin-right(0) !important; // Delete when send_search button is disabled on mobile.\n }\n\n * {\n border: none;\n border-radius: 0;\n box-shadow: none;\n }\n }\n }\n\n #main_results #q:placeholder-shown ~ #send_search {\n .ltr-margin-right(2.6rem);\n transition: margin 0.1s;\n }\n}\n\n@media screen and (max-width: @ultra-small-phone) {\n #search_header {\n grid-template-areas:\n \"search search\"\n \"categories categories\";\n }\n\n #search_logo {\n display: none;\n }\n}\n\n#categories {\n .disable-user-select;\n\n &::-webkit-scrollbar {\n width: 0;\n height: 0;\n }\n}\n\n#categories_container {\n position: relative;\n}\n","/*\n--center-page-width overrides the less variable @results-width when the results are centered\nsee the CSS rules for #results in style.less ( grid-template-columns and gap).\n\nIn this file, the --center-page-width values comes from the Oscar theme (Bootstrap 3).\n\nAll rules starts with \".center-aligment-yes #main_results\" to be enabled only\non the /search URL and when the \"center alignment\" preference is enabled.\n*/\n\n@media screen and (min-width: @phone) {\n .center-aligment-yes #main_results {\n --center-page-width: 48rem;\n }\n}\n\n@media screen and (min-width: 62rem) {\n .center-aligment-yes #main_results {\n --center-page-width: 60rem;\n }\n}\n\n@media screen and (min-width: @tablet) {\n .center-aligment-yes #main_results {\n --center-page-width: 73rem;\n }\n}\n\n@media screen and (min-width: @phone) and (max-width: @tablet) {\n // any change must be reset in @media screen and (min-width: @tablet) { ... }\n .center-aligment-yes #main_results {\n #results {\n grid-template-columns: 60% calc(40% - @results-gap);\n margin-left: 0;\n margin-right: 0;\n }\n\n #urls {\n .ltr-margin-left(3rem);\n }\n\n #sidebar {\n .ltr-margin-right(1rem);\n }\n\n #backToTop {\n .ltr-left(calc(60% + 1rem));\n }\n }\n}\n\n@media screen and (min-width: @tablet) {\n .center-aligment-yes #main_results {\n display: flex;\n flex-direction: column;\n align-items: center;\n\n #search {\n width: 100%;\n display: flex;\n flex-direction: column;\n align-items: center;\n }\n\n #search_header {\n grid-template-columns: calc(50% - 4.5rem - var(--center-page-width) / 2) 3rem var(--center-page-width);\n grid-template-areas: \"na logo search\" \"na spacer categories\";\n column-gap: 1.2rem; // from search.less\n width: 100%;\n padding-left: 0;\n padding-right: 0;\n }\n\n .search_filters {\n .ltr-margin-left(0.5rem);\n width: var(--center-page-width);\n }\n\n #results {\n // from style.less (when screen width = @tablet, reset layout from tablet)\n .ltr-margin-right(2rem);\n .ltr-margin-left(@results-offset);\n //\n\n &.only_template_images,\n &.image-detail-open {\n // * grid-template-columns and .ltr-margin-left are set in style.less\n // * With .image-detail-open.only_template_images, the width is set in detail.less\n // * #results is going to be centered because of the #main_results rules,\n // align-self aligns the results on the left or right according to the language.\n align-self: flex-start;\n }\n\n &:not(.only_template_images):not(.image-detail-open) {\n // the gap is set in style.less\n .ltr-margin-left(1.5rem);\n grid-template-columns: calc(var(--center-page-width) - @results-gap - @results-sidebar-width) @results-sidebar-width;\n\n #backToTop {\n .ltr-left(calc(50% - @results-sidebar-width - @results-gap + 1rem + var(--center-page-width) / 2));\n }\n }\n\n .result .content {\n max-width: inherit;\n }\n }\n\n // from style.less (when screen width = @tablet, reset layout from tablet)\n #urls {\n .ltr-margin-left(0);\n }\n\n #sidebar {\n .ltr-margin-right(0);\n }\n }\n}\n","/*\n* SearXNG, A privacy-respecting, hackable metasearch engine\n*\n* To convert \"style.less\" to \"style.css\" run: $make styles\n*/\n\n// stylelint-disable no-descending-specificity\n\n@import (inline) \"../../node_modules/normalize.css/normalize.css\";\n@import \"definitions.less\";\n@import \"mixins.less\";\n@import \"code.less\";\n@import \"toolkit.less\";\n@import \"autocomplete.less\";\n@import \"detail.less\";\n@import \"animations.less\";\n@import \"embedded.less\";\n@import \"info.less\";\n@import \"new_issue.less\";\n@import \"stats.less\";\n@import \"result_templates.less\";\n\n// for index.html template\n@import \"index.less\";\n\n// for preferences.html template\n@import \"preferences.less\";\n\n// Search-Field\n@import \"search.less\";\n\n// to center the results\n@import \"style-center.less\";\n\n// ion-icon\n.ion-icon {\n display: inline-block;\n vertical-align: bottom;\n line-height: 1;\n text-decoration: inherit;\n .ltr-transform();\n}\n\n.ion-icon-small {\n width: 1rem;\n height: 1rem;\n .ion-icon;\n}\n\n.ion-icon-big {\n width: 1.5rem;\n height: 1.5rem;\n .ion-icon;\n}\n\n// Main LESS-Code\nhtml {\n font-family: sans-serif;\n font-size: 0.9em;\n .text-size-adjust;\n\n color: var(--color-base-font);\n background-color: var(--color-base-background);\n padding: 0;\n margin: 0;\n}\n\nbody,\nmain {\n padding: 0;\n margin: 0;\n}\n\nbody {\n display: flex;\n flex-direction: column;\n height: 100vh;\n margin: 0;\n}\n\nmain {\n width: 100%;\n margin-bottom: 2rem;\n flex: 1;\n}\n\n.page_with_header {\n margin: 2em auto;\n width: 85em;\n}\n\nfooter {\n clear: both;\n min-height: 4rem;\n padding: 1rem 0;\n width: 100%;\n text-align: center;\n background-color: var(--color-footer-background);\n border-top: 1px solid var(--color-footer-border);\n overflow: hidden;\n\n p {\n font-size: 0.9em;\n }\n}\n\n.page_with_header .logo {\n height: 40px;\n}\n\ninput[type=\"submit\"],\n#results button[type=\"submit\"] {\n padding: 0.7rem;\n display: inline-block;\n background: var(--color-btn-background);\n color: var(--color-btn-font);\n .rounded-corners;\n\n border: 0;\n cursor: pointer;\n}\n\na {\n text-decoration: none;\n color: var(--color-url-font);\n\n &:visited {\n color: var(--color-url-visited-font);\n\n .highlight {\n color: var(--color-url-visited-font);\n }\n }\n}\n\narticle[data-vim-selected] {\n background: var(--color-result-vim-selected);\n .ltr-border-left(0.2rem solid var(--color-result-vim-arrow));\n .ltr-rounded-right-corners(10px);\n}\n\narticle.result-images[data-vim-selected] {\n background: var(--color-result-vim-arrow);\n border: none;\n .rounded-corners;\n\n .image_thumbnail {\n filter: opacity(60%);\n }\n\n span.title,\n span.source {\n color: var(--color-result-image-span-font-selected);\n }\n}\n\narticle[data-vim-selected].category-videos,\narticle[data-vim-selected].category-news,\narticle[data-vim-selected].category-map,\narticle[data-vim-selected].category-music,\narticle[data-vim-selected].category-files,\narticle[data-vim-selected].category-social {\n border: 1px solid var(--color-result-vim-arrow);\n .rounded-corners;\n}\n\n.result {\n margin: @results-margin 0;\n padding: @result-padding;\n .ltr-border-left(0.2rem solid transparent);\n\n h3 {\n font-size: 1.2rem;\n word-wrap: break-word;\n margin: 0.4rem 0 0.4rem 0;\n padding: 0;\n\n a {\n color: var(--color-result-link-font);\n font-weight: normal;\n font-size: 1.1em;\n\n &:visited {\n color: var(--color-result-link-visited-font);\n }\n\n &:focus,\n &:hover {\n text-decoration: underline;\n border: none;\n outline: none;\n }\n }\n }\n\n .cache_link,\n .proxyfied_link {\n font-size: 0.9em !important;\n }\n\n .content,\n .stat {\n font-size: 0.9em;\n margin: 0;\n padding: 0;\n max-width: 54em;\n word-wrap: break-word;\n line-height: 1.24;\n\n .highlight {\n color: var(--color-result-description-highlight-font);\n background: inherit;\n font-weight: bold;\n }\n }\n\n .altlink a {\n font-size: 0.9em;\n margin: 0 10px 0 0;\n .show-content-button;\n }\n\n .codelines {\n .highlight {\n color: inherit;\n background: inherit;\n font-weight: normal;\n }\n }\n\n .url_wrapper {\n display: flex;\n font-size: 1rem;\n color: var(--color-result-url-font);\n flex-wrap: nowrap;\n overflow: hidden;\n flex-direction: row;\n margin: 0;\n padding: 0;\n\n .url_o1 {\n white-space: nowrap;\n flex-shrink: 1;\n }\n\n .url_o1::after {\n content: \" \";\n width: 1ch;\n display: inline-block;\n }\n\n .url_o2 {\n overflow: hidden;\n white-space: nowrap;\n flex-basis: content;\n flex-grow: 0;\n flex-shrink: 1;\n text-align: right;\n\n .url_i2 {\n float: right;\n }\n }\n }\n\n .published_date,\n .result_length,\n .result_author,\n .result_shipping,\n .result_source_country {\n font-size: 0.8em;\n color: var(--color-result-publishdate-font);\n }\n\n .result_price {\n font-size: 1.2em;\n color: var(--color-result-description-highlight-font);\n }\n\n img {\n &.thumbnail {\n .ltr-float-left();\n padding-top: 0.6rem;\n .ltr-padding-right(1rem);\n width: 20rem;\n height: unset; // remove heigth value that was needed for lazy loading\n }\n\n &.image {\n .ltr-float-left();\n padding-top: 0.6rem;\n .ltr-padding-right(1rem);\n width: 7rem;\n max-height: 7rem;\n object-fit: scale-down;\n object-position: right top;\n }\n }\n\n .break {\n clear: both;\n }\n}\n\n.template_group_images {\n display: flex;\n flex-wrap: wrap;\n}\n\n.template_group_images::after {\n flex-grow: 10;\n content: \"\";\n}\n\n.category-videos,\n.category-news,\n.category-map,\n.category-music,\n.category-files,\n.category-social {\n border: 1px solid var(--color-result-border);\n margin: 1rem @results-tablet-offset 0 @results-tablet-offset !important;\n .rounded-corners;\n}\n\n.category-social .image {\n width: auto !important;\n min-width: 48px;\n min-height: 48px;\n padding: 0 5px 25px 0 !important;\n}\n\n.audio-control audio {\n width: 100%;\n padding: 10px 0 0 0;\n}\n\n.embedded-content iframe {\n width: 100%;\n padding: 10px 0 0 0;\n}\n\n.result-videos .content {\n overflow: hidden;\n}\n\n.result-videos .embedded-video iframe {\n width: 100%;\n aspect-ratio: 16 / 9;\n padding: 10px 0 0 0;\n}\n\n@supports not (aspect-ratio: 1 / 1) {\n // support older browsers which do not have aspect-ratio\n // https://caniuse.com/?search=aspect-ratio\n .result-videos .embedded-video iframe {\n height: calc(@results-width * 9 / 16);\n }\n}\n\n.engines {\n .ltr-float-right();\n color: var(--color-result-engines-font);\n\n span {\n font-size: smaller;\n margin-top: 0;\n margin-bottom: 0;\n .ltr-margin-right(0.5rem);\n .ltr-margin-left(0);\n }\n}\n\n.small_font {\n font-size: 0.8em;\n}\n\n.highlight {\n color: var(--color-result-link-font-highlight);\n background: inherit;\n}\n\n.empty_element {\n font-style: italic;\n}\n\n.result-images {\n flex-grow: 1;\n padding: 0.5rem 0.5rem 3rem 0.5rem;\n margin: 0.25rem;\n border: none !important;\n height: @results-image-row-height;\n\n & > a {\n position: relative;\n }\n\n img {\n margin: 0;\n padding: 0;\n border: none;\n height: 100%;\n width: 100%;\n object-fit: cover;\n vertical-align: bottom;\n background: var(--color-result-image-background);\n }\n\n span.title,\n span.source {\n display: block;\n position: absolute;\n\n width: 100%;\n font-size: 0.9rem;\n color: var(--color-result-image-span-font);\n padding: 0.5rem 0 0 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n\n span.source {\n padding: 1.8rem 0 0 0;\n font-size: 0.7rem;\n }\n}\n\n.result-map {\n img.image {\n .ltr-float-right() !important;\n height: 100px !important;\n width: auto !important;\n }\n\n table {\n font-size: 0.9em;\n width: auto;\n border-collapse: separate;\n border-spacing: 0 0.35rem;\n\n th {\n font-weight: inherit;\n width: 17rem;\n vertical-align: top;\n .ltr-text-align-left();\n }\n\n td {\n vertical-align: top;\n .ltr-text-align-left();\n }\n }\n}\n\n.hidden {\n display: none !important;\n}\n\n#results {\n margin-top: 1rem;\n .ltr-margin-right(2rem);\n margin-bottom: 0;\n .ltr-margin-left(@results-offset);\n display: grid;\n grid-template-columns: @results-width @results-sidebar-width;\n grid-template-rows: min-content min-content 1fr min-content;\n gap: 0 @results-gap;\n grid-template-areas:\n \"corrections sidebar\"\n \"answers sidebar\"\n \"urls sidebar\"\n \"pagination sidebar\";\n}\n\n#results #sidebar *:first-child,\n#results #urls *:first-child {\n margin-top: 0;\n}\n\n#urls {\n padding: 0;\n grid-area: urls;\n}\n\n#suggestions {\n .wrapper {\n display: flex;\n flex-flow: row wrap;\n justify-content: flex-end;\n\n form {\n display: inline-block;\n flex: 1 1 50%;\n }\n }\n}\n\n#suggestions,\n#infoboxes {\n input {\n padding: 0;\n margin: 3px;\n font-size: 0.9em;\n display: inline-block;\n background: transparent;\n color: var(--color-result-search-url-font);\n cursor: pointer;\n }\n\n input[type=\"submit\"],\n .infobox .url a {\n color: var(--color-result-link-font);\n text-decoration: none;\n font-size: 0.9rem;\n\n &:hover {\n text-decoration: underline;\n }\n }\n}\n\n#corrections {\n grid-area: corrections;\n display: flex;\n flex-flow: row wrap;\n margin: 0 0 1em 0;\n\n h4,\n input[type=\"submit\"] {\n display: inline-block;\n padding: 0.5rem;\n margin: 0.5rem;\n }\n\n input[type=\"submit\"] {\n font-size: 0.8rem;\n .rounded-corners-tiny;\n }\n}\n\n#suggestions .title,\n#search_url .title,\n#apis .title {\n margin: 2em 0 0.5em 0;\n color: var(--color-base-font);\n}\n\n#answers {\n grid-area: answers;\n background: var(--color-answer-background);\n padding: @result-padding;\n margin: 1rem 0;\n margin-top: 0;\n color: var(--color-answer-font);\n .rounded-corners;\n\n h4 {\n display: none;\n }\n\n span {\n overflow-wrap: anywhere;\n }\n}\n\n#infoboxes {\n form {\n min-width: 210px;\n }\n}\n\n#sidebar {\n grid-area: sidebar;\n word-wrap: break-word;\n color: var(--color-sidebar-font);\n\n .infobox {\n margin: 10px 0 10px;\n border: 1px solid var(--color-sidebar-border);\n padding: 1rem;\n font-size: 0.9em;\n .rounded-corners;\n\n h2 {\n margin: 0 0 0.5em 0;\n }\n\n img {\n max-width: 100%;\n max-height: 12em;\n display: block;\n margin: 0 auto;\n padding: 0;\n }\n\n dt {\n font-weight: bold;\n }\n\n .attributes {\n dl {\n margin: 0.5em 0;\n }\n\n dt {\n display: inline;\n margin-top: 0.5em;\n .ltr-margin-right(0.25em);\n margin-bottom: 0.5em;\n .ltr-margin-left(0);\n padding: 0;\n }\n\n dd {\n display: inline;\n margin: 0.5em 0;\n padding: 0;\n }\n }\n\n input {\n font-size: 1em;\n }\n\n br {\n clear: both;\n }\n\n .attributes,\n .urls {\n clear: both;\n }\n }\n}\n\n#search_url {\n margin-top: 8px;\n\n div.selectable_url {\n pre {\n width: 200em;\n }\n }\n}\n\n#links_on_top {\n position: absolute;\n .ltr-right(1.8rem);\n .ltr-text-align-right();\n top: 2.2rem;\n padding: 0;\n border: 0;\n display: flex;\n align-items: center;\n font-size: 1em;\n color: var(--color-search-font);\n\n a {\n display: flex;\n align-items: center;\n margin-left: 1em;\n\n svg {\n font-size: 1.2em;\n .ltr-margin-right(0.125em);\n }\n }\n\n a,\n a:link *,\n a:hover *,\n a:visited *,\n a:active * {\n color: var(--color-search-font);\n }\n}\n\n#pagination {\n grid-area: pagination;\n\n br {\n clear: both;\n }\n}\n\n#apis {\n margin-top: 8px;\n clear: both;\n}\n\n#backToTop {\n border: 1px solid var(--color-backtotop-border);\n margin: 0;\n padding: 0;\n font-size: 1em;\n background: var(--color-backtotop-background);\n position: fixed;\n bottom: 8rem;\n .ltr-left(@results-width + @results-offset + (0.5 * @results-gap - 1.2em));\n transition: opacity 0.5s;\n opacity: 0;\n .rounded-corners;\n\n a {\n display: block;\n margin: 0;\n padding: 0.7em;\n }\n\n a,\n a:visited,\n a:hover,\n a:active {\n color: var(--color-backtotop-font);\n }\n}\n\n#results.scrolling #backToTop {\n opacity: 1;\n}\n\n/*\n tablet layout\n*/\n\n.results-tablet() {\n #links_on_top {\n span {\n display: none;\n }\n }\n\n .page_with_header {\n margin: 2rem 0.5rem;\n width: auto;\n }\n\n #infoboxes {\n position: inherit;\n max-width: inherit;\n\n .infobox {\n clear: both;\n\n img {\n .ltr-float-left();\n max-width: 10em;\n margin-top: 0.5em;\n .ltr-margin-right(0.5em);\n margin-bottom: 0.5em;\n .ltr-margin-left(0);\n }\n }\n }\n\n #sidebar {\n margin: 0 @results-tablet-offset @results-margin @results-tablet-offset;\n padding: 0;\n float: none;\n border: none;\n width: auto;\n\n input {\n border: 0;\n }\n }\n\n #apis {\n display: none;\n }\n\n #search_url {\n display: none;\n }\n\n .result {\n .thumbnail {\n max-width: 98%;\n }\n\n .url {\n span.url {\n display: block;\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n width: 100%;\n }\n }\n\n .engines {\n .ltr-float-right();\n padding: 0 0 3px 0;\n }\n }\n\n .result-images {\n border-bottom: none !important;\n }\n\n .image_result {\n max-width: 98%;\n\n img {\n max-width: 98%;\n }\n }\n\n #backToTop {\n display: none;\n }\n\n #pagination {\n margin: 2rem 0 0 0 !important;\n }\n\n #main_results div#results {\n margin: 1rem auto 0 auto;\n justify-content: center;\n display: grid;\n grid-template-columns: @results-width;\n grid-template-rows: min-content min-content min-content 1fr min-content min-content;\n gap: 0;\n grid-template-areas:\n \"corrections\"\n \"answers\"\n \"sidebar\"\n \"urls\"\n \"pagination\";\n }\n}\n\n@media screen and (max-width: calc(@tablet - 0.5px)) {\n #links_on_top {\n span {\n display: none;\n }\n }\n}\n\n@media screen and (max-width: 52rem) {\n body.results_endpoint {\n #links_on_top {\n .link_on_top_about,\n .link_on_top_donate {\n display: none;\n }\n }\n }\n}\n\n@media screen and (min-width: @phone) and (max-width: @tablet) {\n // when .center-aligment-yes, see style-center.less\n // the media query includes \"min-width: @phone\"\n // because the phone layout includes the tablet layout unconditionally.\n .center-aligment-no {\n .results-tablet();\n }\n}\n\n/* Misc */\n\n#main_results div#results.only_template_images {\n margin: 1rem @results-tablet-offset 0 @results-tablet-offset;\n display: grid;\n grid-template-columns: 100%;\n grid-template-rows: min-content min-content min-content 1fr min-content;\n gap: 0;\n grid-template-areas:\n \"corrections\"\n \"answers\"\n \"sidebar\"\n \"urls\"\n \"pagination\";\n\n #sidebar {\n display: none;\n }\n\n #urls {\n margin: 0;\n display: flex;\n flex-wrap: wrap;\n }\n\n #urls::after {\n flex-grow: 10;\n content: \"\";\n }\n\n #backToTop {\n .ltr-left(auto);\n .ltr-right(1rem);\n }\n\n #pagination {\n .ltr-margin-right(4rem);\n }\n}\n\n/*\n phone layout\n*/\n\n@media screen and (max-width: @phone) {\n // based on the tablet layout\n .results-tablet();\n\n html {\n background-color: var(--color-base-background-mobile);\n }\n\n #main_results div#results {\n grid-template-columns: 100%;\n margin: 1rem 0 0 0;\n }\n\n #links_on_top {\n top: 0.8rem;\n .ltr-right(0.7rem);\n }\n\n #main_index #links_on_top {\n top: 0.5rem;\n .ltr-right(0.5rem);\n }\n\n #results {\n margin: 0;\n padding: 0;\n }\n\n #pagination {\n margin: 2rem 1rem 0 1rem !important;\n }\n\n article[data-vim-selected] {\n border: 1px solid var(--color-result-vim-arrow);\n .rounded-corners;\n }\n\n .result {\n background: var(--color-result-background);\n margin: 1rem 0;\n }\n\n .result-images {\n margin: 0;\n height: @results-image-row-height-phone;\n background: var(--color-base-background-mobile);\n }\n\n .infobox {\n border: none !important;\n background-color: var(--color-sidebar-background);\n }\n}\n\n/*\n small-phone layout\n*/\n\n@media screen and (max-width: @small-phone) {\n .result-videos {\n img.thumbnail {\n float: none !important;\n }\n\n .content {\n overflow: inherit;\n }\n }\n}\n\npre code {\n white-space: pre-wrap;\n}\n"]} \ No newline at end of file
diff --git a/searx/static/themes/simple/css/searxng.min.css.map b/searx/static/themes/simple/css/searxng.min.css.map
index fca74abfb..ad344d144 100644
--- a/searx/static/themes/simple/css/searxng.min.css.map
+++ b/searx/static/themes/simple/css/searxng.min.css.map
@@ -1 +1 @@
-{"version":3,"sources":["node_modules/normalize.css/normalize.css","src/less/definitions.less","src/less/code.less","src/generated/pygments.less","src/less/toolkit.less","src/less/mixins.less","src/less/style-ltr.less","src/less/autocomplete.less","src/less/detail.less","src/less/animations.less","src/less/embedded.less","src/less/info.less","src/less/new_issue.less","src/less/stats.less","src/less/result_templates.less","src/less/index.less","src/less/preferences.less","src/less/search.less","src/less/style-center.less","src/less/style.less"],"names":[],"mappings":"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,aAGF,eACE,OAAA,IAAA,MAAA,QACA,OAAA,IAAA,EAGF,kBACE,OAAA,IAAA,MAAA,QACA,OAAA,IAAA,EACA,MAAA,KAGF,kBACE,OAAA,IAAA,MAAA,QACA,OAAA,IAAA,EACA,MAAA,KAGF,MACE,MAAA,EACA,OAAA,EV/FD,MUsGG,MAAA,GVtGH,MUsGG,MAAA,GVtGH,MUsGG,MAAA,GVtGH,MUsGG,MAAA,GVtGH,MUsGG,MAAA,GVtGH,MUsGG,MAAA,GVtGH,MUsGG,MAAA,GVtGH,MUsGG,MAAA,GVtGH,MUsGG,MAAA,GVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,QUsGG,MAAA,KCpGJ,aACE,OAAA,MACA,MAAA,KACA,OAAA,KAAA,ECLF,YACE,WAAA,KAGF,OACE,WAAA,OAEA,cACE,WAAgB,wBAAA,UAChB,WAAA,KACA,OAAA,KAAA,KACA,oBAAA,OACA,gBAAA,QAGF,UACE,UAAA,IACA,WAAA,OAGF,eACA,sBACE,OAAA,EAAA,KACA,WAAA,QACA,OAAA,QACA,QAAA,EACA,QAAA,MAGF,uBACE,QAAA,MACA,OAAA,IAAA,EAGQ,uBACR,QAAA,IAAA,KACA,cAAA,kBAImC,sCAEnC,aACE,UAAA,IAIJ,YACE,WAAA,KChDqB,4BACA,4BVwCvB,WAAA,gBUtCA,OAAA,KAIA,uBACE,MAAA,KAGF,2BACE,OAAA,IACA,OAAA,KAGF,yBACE,OAAA,EACA,QAAA,IAAA,EAAA,EAAA,EACA,QAAA,MVcF,MAAA,KUZE,MAAA,MAGF,yBACE,OAAA,EACA,QAAA,EVOF,MAAA,KULE,MAAA,KAGK,0CADL,gCAEE,UAAA,kBACA,WAAA,EVxBJ,aAAA,KU0BI,cAAA,EVtBJ,YAAA,EU0BE,gCACE,MAAA,MAGG,0CACH,MAAA,SACA,MAAO,qCACP,OAAA,KACA,WAAA,KAAA,OAAA,OAAA,EAAA,EAAmC,uCACnC,QAAA,MAAA,MACA,OAAA,KX9BJ,cAAA,IWkCK,gDADA,gDAEC,iBAAkB,6CAKjB,qCADC,sCAEJ,QAAA,EACA,WAAA,EAAA,EAAA,IAAA,IAAwB,4BAI5B,+BACE,OAAA,EACA,QAAA,IAAA,EAAA,EAAA,EV9BF,MAAA,MUgCE,MAAA,IACA,MAAO,8CACP,UAAA,IAGF,wBACE,gBAAA,SAGI,2BACJ,WAAA,OAGF,4BVzEA,aAAA,MU4EE,kCACE,OAAA,IAAA,MAAA,YACA,QAAA,MAAA,MXpEJ,cAAA,IWyEyC,+DACvC,OAAA,IAAA,MAAkB,6CAIlB,yCACE,OAAA,QAKA,oDACE,OAAA,QAIF,8DACE,WAAA,OV5GN,KU6GgB,8BACV,UAAA,MAEA,kFACE,WAAA,MAKN,oDVlDF,WAAA,KUoDI,YAAA,IACA,WAAY,8CAGd,4CACA,gDVzDF,WAAA,KU8DK,gCACH,MAAA,KACA,UAAA,IAGA,mCADA,mCAEE,WAAA,KACA,YAAA,UACA,UAAA,KACA,QAAA,KACA,eAAA,IAGA,+CACA,WAAA,SACA,MAAA,MACA,cAAA,KAGA,8CACA,WAAA,UAI6B,4DADA,4DAE7B,iBAAkB,+BAItB,oCACE,WAAA,KAAA,OAAA,OAAA,EAAA,EAAmC,4BACnC,MAAO,sBACP,OAAA,EAAA,KXxJF,cAAA,KW2JE,OAAA,QACA,QAAA,aACA,OAAA,IAAA,IACA,QAAA,KAEA,sCACE,MAAO,kCAGR,oDACC,eAAA,UAKF,yCACE,MAAA,KAKiC,sCACrC,kBACE,MAAA,KAGF,gBV/LA,KAAA,gBWGF,QACE,QAAA,EACA,OAAA,EAGF,eACE,YAAA,MXeA,cAAA,IAIA,aAAA,KWhBA,OAAA,EACA,WAAY,+BACZ,cAAA,IAAA,MAAyB,2BACzB,QAAA,KACA,WAAA,OACA,QAAA,KACA,sBAAA,KAAA,IACA,oBAAA,cAAA,oBAKF,UACE,QAAA,aACA,SAAA,SXlBA,aAAA,KWoBA,QAAA,EAEA,gBACE,QAAA,KAGF,gBAKE,OAAA,QACA,QAAA,MAAA,EACA,QAAA,YACA,eAAA,WACA,UAAA,KACA,cAAA,IAAA,MAAA,YZrBF,sBAAA,KACA,YAAA,KYWE,oBACE,cAAA,MAWC,kCACD,OAAA,KAAA,EAI2B,6CAC7B,MAAO,2CACP,cAAA,IAAA,MAAyB,6CAI7B,aACE,UAAA,KACA,QAAA,KACA,YAAA,OACA,gBAAA,OAEA,iBACE,KAAA,EACA,MAAA,KACA,OAAA,KACA,OAAA,MAAA,EAAA,KAAA,EAIJ,mBACE,UAAA,WAEA,yBACE,QAAA,KAGM,+BACN,QAAA,MACA,SAAA,SACA,WAAY,6BACZ,QAAA,KAAA,MAAA,MAAA,EACA,QAAA,KACA,MAAA,KACA,KAAA,OAIJ,aACE,UAAA,OAGF,YACE,cAAA,MACA,MAAA,MACA,QAAA,YACA,eAAA,IACA,YAAA,OACA,WAAY,2BAGd,cACE,QAAA,MACA,gBAAA,SACA,WAAA,WACA,MAAA,OACA,OAAA,EACA,QAAA,MAAA,MACA,WAAA,KAAA,OAAA,OAAA,EAAA,EAAmC,+BACnC,OAAA,KACA,QAAA,EACA,MAAO,yBACP,UAAA,OACA,QAAA,MAEC,oBACC,MAAO,qCAGD,sBACN,QAAA,KAIoB,sCACtB,QAAA,KAGF,GACA,aACE,QAAA,MACA,OAAA,EACA,QAAA,MACA,WAAA,KAAA,OAAA,OAAA,EAAA,EAAmC,+BACnC,OAAA,KACA,QAAA,EACA,MAAO,yBACP,UAAA,OACA,QAAA,EAGF,GACE,MAAA,KXpHA,aAAA,KAJA,cAAA,YAoBA,cAAA,MAAA,EAAA,EAAA,MW0GA,cACA,iCACA,QAAA,KAGF,aXnGE,cAAA,EAAA,MAAA,MAAA,EWsGC,mBACC,OAAA,QACA,iBAAkB,qCAClB,MAAO,+BAIJ,qBACA,oBACL,MAAA,eXnJA,YAAA,IAAA,MWoJ2B,2BAG7B,gBACE,WAAA,MXpKA,aAAA,EWsKA,cAAA,EXlKA,YAAA,QWoKA,QAAA,KACA,WAAA,KACA,2BAAA,QAEA,uBACE,iBAAA,QAGC,6BADA,6BAEC,MAAO,uBAK0B,sCACrC,eACE,QAAA,MAAA,MAAA,EAAA,MACA,WAAA,MAGF,gBACE,WAAA,MX7LF,aAAA,EW+LE,cAAA,EX3LF,YAAA,OW+LA,YACE,UAAA,IACA,MAAA,KAEA,gCACE,OAAA,KACA,WAAA,KAKmD,uDAGrD,kCAAA,oCACE,MAAA,YAEA,4CAAA,8CACE,QAAA,aACA,MAAA,KAIJ,wBAAA,0BACE,MAAA,KX/JJ,WAAA,KWiKI,WAAA,OACA,WAAA,OACA,2BAAA,OAKgC,mCACpC,eACE,MAAA,KACA,OAAA,EACA,QAAA,MAAA,EAAA,EAAA,EACA,WAAA,EACA,QAAA,EACA,oBAAA,cAAA,wBAKF,aACE,QAAA,EAGF,YACE,MAAA,IACA,QAAA,KACA,OAAA,EAAA,KAGF,GACE,MAAA,KACA,KAAA,EAGF,gBACE,OAAA,EAGF,UACE,QAAA,aACA,MAAA,KACA,OAAA,EAEA,gBACE,QAAA,eACA,OAAA,YAEA,oBACE,QAAA,KAKM,0BACV,QAAA,MACA,iBAAkB,+BAClB,SAAA,SACA,IAAA,EACA,OAAA,KACA,MAAA,KACA,QAAA,MAEA,sCACE,cAAA,IAAA,MAAyB,2BACzB,MAAA,KACA,cAAA,EACA,WAAA,KAEA,mDXjSJ,aAAA,YWqSI,wCACE,OAAA,KACA,cAAA,EACA,WAAA,KAK6B,gDX7SnC,aAAA,OW+SE,WAAA,OAAA,KAI8C,oCAChD,eACE,oBAAA,gBAAA,wBAKF,aACE,QAAA,MAIJ,YZhTE,sBAAA,KACA,YAAA,KYkTC,+BACC,MAAA,EACA,OAAA,EAIJ,sBACE,SAAA,SCxUoC,mCACf,mCACnB,oBAAA,OAIiC,oCACd,mCACnB,oBAAA,OAImC,sCAChB,mCACnB,oBAAA,OAI2D,2DAG3D,4CACE,sBAAA,IAA2B,iBAC3B,YAAA,EACA,aAAA,EAGF,yCZxBF,YAAA,KY4BE,4CZhCF,aAAA,KYoCE,8CZ5CF,KY6Cc,kBAKuB,sCAChB,mCACnB,QAAA,KACA,eAAA,OACA,YAAA,OAEA,2CACE,MAAA,KACA,QAAA,KACA,eAAA,OACA,YAAA,OAGF,kDACE,sBAA2C,iDAAA,KAAmC,yBAC9E,oBAAA,iBAAA,uBACA,WAAA,OACA,MAAA,KACA,aAAA,EACA,cAAA,EAGF,mDZ5DF,YAAA,MY8DI,MAAO,yBAGT,4CZrEF,aAAA,KAIA,YAAA,MYwEK,8DADA,iEAMC,WAAA,WAG8B,+FZhFpC,YAAA,OYmFM,sBAA4B,8CAAA,MAE5B,0GZjGN,KYkG4E,8DAIhE,6DACN,UAAA,QAKJ,yCZhGF,YAAA,EYoGE,4CZxGF,aAAA,Ga0BF,UACE,QAAA,aACA,eAAA,OACA,YAAA,EACA,gBAAA,Qb0CA,UAAW,WatCb,gBACE,MAAA,KACA,OAAA,KATA,QAAA,aACA,eAAA,OACA,YAAA,EACA,gBAAA,Qb0CA,UAAW,WahCb,cACE,MAAA,OACA,OAAA,OAfA,QAAA,aACA,eAAA,OACA,YAAA,EACA,gBAAA,Qb0CA,UAAW,WazBb,KACE,YAAA,WACA,UAAA,KdtDA,yBAAA,KACA,qBAAA,KACA,sBAAA,KACA,iBAAA,KcsDA,MAAO,uBACP,iBAAkB,6BAClB,QAAA,EACA,OAAA,EAGF,KACA,KACE,QAAA,EACA,OAAA,EAGF,KACE,QAAA,KACA,eAAA,OACA,OAAA,MACA,OAAA,EAGF,KACE,MAAA,KACA,cAAA,KACA,KAAA,EAGF,kBACE,OAAA,IAAA,KACA,MAAA,KAGF,OACE,MAAA,KACA,WAAA,KACA,QAAA,KAAA,EACA,MAAA,KACA,WAAA,OACA,iBAAkB,+BAClB,WAAA,IAAA,MAAsB,2BACtB,SAAA,OAEA,SACE,UAAA,KAIc,wBAChB,OAAA,KAIa,6BADV,mBAEH,QAAA,MACA,QAAA,aACA,WAAY,4BACZ,MAAO,sBdxGP,cAAA,Kc2GA,OAAA,EACA,OAAA,QAGF,EACE,gBAAA,KACA,MAAO,sBAEN,UACC,MAAO,8BAEP,qBACE,MAAO,8BAKN,2BACL,WAAY,iCbnHZ,YAAA,MAAA,MaoH8B,8BbhF9B,cAAA,EAAA,KAAA,KAAA,EaoFmB,yCACnB,WAAY,8BACZ,OAAA,KdpIA,cAAA,KcuIA,0DACE,OAAQ,aAIN,qDADA,oDAEF,MAAO,6CAQe,0CAFA,wCACA,0CAFA,yCAIA,2CALA,2CAMxB,OAAA,IAAA,MAAkB,8BdvJlB,cAAA,Kc2JF,QACE,OAAA,QAAA,EACA,QAAA,KbnJA,YAAA,MAAA,MAAA,YasJA,WACE,UAAA,OACA,UAAA,WACA,OAAA,MAAA,EAAA,MAAA,EACA,QAAA,EAEA,aACE,MAAO,8BACP,YAAA,IACA,UAAA,MAEC,qBACC,MAAO,sCAGR,mBACA,mBACC,gBAAA,UACA,OAAA,KACA,QAAA,EAKN,oBACA,wBACE,UAAA,eAGF,iBACA,cACE,UAAA,KACA,OAAA,EACA,QAAA,EACA,UAAA,KACA,UAAA,WACA,YAAA,KAEA,4BAAA,yBACE,MAAO,+CACP,WAAA,QACA,YAAA,IAIK,mBACP,UAAA,KACA,OAAA,EAAA,KAAA,EAAA,Ed7LF,QAAA,IAAA,KAVA,cAAA,IAYA,WAAY,iCACZ,MAAO,2BACP,OAAA,QAEC,yBACC,WAAY,4BACZ,MAAO,sBc0LP,8BACE,MAAA,QACA,WAAA,QACA,YAAA,IAIJ,qBACE,QAAA,KACA,UAAA,KACA,MAAO,6BACP,UAAA,OACA,SAAA,OACA,eAAA,IACA,OAAA,EACA,QAAA,EAEA,6BACE,YAAA,OACA,YAAA,EAGK,oCACL,QAAA,IACA,MAAA,IACA,QAAA,aAGF,6BACE,SAAA,OACA,YAAA,OACA,WAAA,QACA,UAAA,EACA,YAAA,EACA,WAAA,MAEA,qCACE,MAAA,MAKN,wBAEA,uBADA,uBAEA,yBACA,+BACE,UAAA,KACA,MAAO,qCAGT,sBACE,UAAA,MACA,MAAO,+CAIN,sBbvPH,MAAA,KayPI,YAAA,MbjQJ,cAAA,KamQI,MAAA,MACA,OAAA,MAGD,kBb/PH,MAAA,KaiQI,YAAA,MbzQJ,cAAA,Ka2QI,MAAA,KACA,WAAA,KACA,WAAA,WACA,gBAAA,MAAA,IAIJ,eACE,MAAA,KAIJ,uBACE,QAAA,KACA,UAAA,KAGoB,8BACpB,UAAA,GACA,QAAA,GAOF,gBAFA,cACA,gBAFA,eAIA,iBALA,iBAME,OAAA,IAAA,MAAkB,2BAClB,OAAA,KAAA,MAAA,EAAA,gBdtTA,cAAA,Kc0Te,wBACf,MAAA,eACA,UAAA,KACA,WAAA,KACA,QAAA,EAAA,IAAA,KAAA,YAGa,qBACb,MAAA,KACA,QAAA,KAAA,EAAA,EAAA,EAGgB,yBAChB,MAAA,KACA,QAAA,KAAA,EAAA,EAAA,EAGa,wBACb,SAAA,OAG6B,sCAC7B,MAAA,KACA,aAAA,EAAA,CAAA,EACA,QAAA,KAAA,EAAA,EAAA,EAGF,mCAGiC,sCAC7B,OAAQ,sBAIZ,SbnUE,MAAA,MaqUA,MAAO,iCAEP,cACE,UAAA,QACA,WAAA,EACA,cAAA,EbtWF,aAAA,MAIA,YAAA,EawWF,YACE,UAAA,KAGF,WACE,MAAO,wCACP,WAAA,QAGF,eACE,WAAA,OAGF,eACE,UAAA,EACA,QAAA,MAAA,MAAA,KAAA,MACA,OAAA,OACA,OAAA,eACA,OAAA,MAEE,iBACA,SAAA,SAGF,mBACE,OAAA,EACA,QAAA,EACA,OAAA,KACA,OAAA,KACA,MAAA,KACA,WAAA,MACA,eAAA,OACA,WAAY,qCAIV,2BADA,0BAEF,QAAA,MACA,SAAA,SAEA,MAAA,KACA,UAAA,MACA,MAAO,oCACP,QAAA,MAAA,EAAA,EAAA,EACA,SAAA,OACA,cAAA,SACA,YAAA,OAGE,2BACF,QAAA,OAAA,EAAA,EAAA,EACA,UAAA,MAKC,sBbxYH,MAAA,gBa0YE,OAAA,gBACA,MAAA,eAGF,kBACE,UAAA,KACA,MAAA,KACA,gBAAA,SACA,eAAA,EAAA,OAEA,qBACE,YAAA,QACA,MAAA,MACA,eAAA,IbvXJ,WAAA,Ka2XE,qBACE,eAAA,Ib5XJ,WAAA,KakYF,QACE,QAAA,eAGF,SACE,WAAA,KbncA,aAAA,KaqcA,cAAA,EbjcA,YAAA,MamcA,QAAA,KACA,sBAAA,MAAA,MACA,mBAAA,YAAA,YAAA,IAAA,YACA,IAAA,EAAA,KACA,oBAEE,sBAEA,kBAJF,eAAA,qBAOiB,+BACH,4BACd,WAAA,EAGF,MACE,QAAA,EACA,UAAA,KAIA,sBACE,QAAA,KACA,UAAA,IAAA,KACA,gBAAA,SAEA,2BACE,QAAA,aACA,KAAA,EAAA,EAAA,IAOJ,iBAAA,mBACE,QAAA,EACA,OAAA,IACA,UAAA,KACA,QAAA,aACA,WAAA,IACA,MAAO,oCACP,OAAA,QAIY,2BADT,8BACS,6BADT,gCAEH,MAAO,8BACP,gBAAA,KACA,UAAA,MAEC,iCAAA,oCAAA,mCAAA,sCACC,gBAAA,UAKN,aACE,UAAA,YACA,QAAA,KACA,UAAA,IAAA,KACA,OAAA,EAAA,EAAA,IAAA,EAEA,gBACK,gCACH,QAAA,aACA,QAAA,MACA,OAAA,MAGG,gCACH,UAAA,MdrgBF,cAAA,Ic4gBI,aADM,mBADC,oBAGX,OAAA,IAAA,EAAA,KAAA,EACA,MAAO,uBAGT,SACE,UAAA,QACA,WAAY,+BACZ,QAAA,KACA,OAAA,KAAA,EACA,WAAA,EACA,MAAO,yBd/hBP,cAAA,KckiBA,YACE,QAAA,KAGF,cACE,cAAA,SAKF,gBACE,UAAA,MAIJ,SACE,UAAA,QACA,UAAA,WACA,MAAO,0BAEP,kBACE,OAAA,KAAA,EAAA,KACA,OAAA,IAAA,MAAkB,4BAClB,QAAA,KACA,UAAA,Kd1jBF,cAAA,Kc6jBE,qBACE,OAAA,EAAA,EAAA,KAAA,EAGF,sBACE,UAAA,KACA,WAAA,KACA,QAAA,MACA,OAAA,EAAA,KACA,QAAA,EAGF,qBACE,YAAA,IAIA,iCACE,OAAA,KAAA,EAGF,iCACE,QAAA,OACA,WAAA,KbtlBN,aAAA,MawlBM,cAAA,KbplBN,YAAA,EaslBM,QAAA,EAGF,iCACE,QAAA,OACA,OAAA,KAAA,EACA,QAAA,EAIJ,wBACE,UAAA,IAGF,qBACE,MAAA,KAGF,8BACA,wBACE,MAAA,KAKN,YACE,WAAA,IAGE,mCACE,MAAA,MAKN,cACE,SAAA,SbloBA,MAAA,OAoCA,WAAA,MaimBA,IAAA,OACA,QAAA,EACA,OAAA,EACA,QAAA,KACA,YAAA,OACA,UAAA,IACA,MAAO,yBAEP,gBACE,QAAA,KACA,YAAA,OACA,YAAA,IAEA,oBACE,UAAA,Mb/oBJ,aAAA,OaopBA,gBAIS,yBAFD,wBADD,uBAEG,0BAER,MAAO,yBAIX,YACE,UAAA,WAEA,eACE,MAAA,KAIJ,MACE,WAAA,IACA,MAAA,KAGF,WACE,OAAA,IAAA,MAAkB,8BAClB,OAAA,EACA,QAAA,EACA,UAAA,IACA,WAAY,kCACZ,SAAA,MACA,OAAA,KbzrBA,KAAA,Qa2rBA,WAAA,QAAA,IACA,QAAA,EdlrBA,cAAA,KcqrBA,aACE,QAAA,MACA,OAAA,EACA,QAAA,KAGF,aAGC,oBADA,mBADA,qBAGC,MAAO,4BAIQ,8BACjB,QAAA,EAkH4B,oDAE1B,mBACE,QAAA,MAK+B,oCAG/B,uDACA,wDACE,QAAA,MAMuD,2DA5H3D,uCACE,QAAA,KAIJ,sCACE,OAAA,KAAA,MACA,MAAA,KAGF,+BACE,SAAA,QACA,UAAA,QAEA,wCACE,MAAA,KAEA,4CbxsBJ,MAAA,Ka0sBM,UAAA,KACA,WAAA,KbnuBN,aAAA,KaquBM,cAAA,KbjuBN,YAAA,EauuBA,6BACE,OAAA,EAAA,MAAA,QAAA,MACA,QAAA,EACA,MAAA,KACA,OAAA,KACA,MAAA,KAEA,mCACE,OAAA,EAIJ,0BACE,QAAA,KAGF,gCACE,QAAA,KAIA,uCACE,UAAA,IAII,0CACF,QAAA,MACA,YAAA,OACA,cAAA,SACA,SAAA,OACA,MAAA,KAIJ,qCblvBF,MAAA,MaovBI,QAAA,EAAA,EAAA,IAAA,EAIJ,mCACE,cAAA,eAGF,kCACE,UAAA,IAEA,sCACE,UAAA,IAIJ,+BACE,QAAA,KAGF,gCACE,OAAA,KAAA,EAAA,EAAA,YAGe,8CACf,OAAA,KAAA,KAAA,EAAA,KACA,gBAAA,OACA,QAAA,KACA,sBAAA,MACA,mBAAA,YAAA,YAAA,YAAA,IAAA,YAAA,YACA,IAAA,EACA,oBAIE,cACA,UALF,UAAA,OAAA,cAuCqB,+CACvB,OAAA,KAAA,MAAA,EAAA,MACA,QAAA,KACA,sBAAA,KACA,mBAAA,YAAA,YAAA,YAAA,IAAA,YACA,IAAA,EACA,oBAIE,cACA,UALF,UAAA,OAAA,aAOA,wDACE,QAAA,KAGF,qDACE,OAAA,EACA,QAAA,KACA,UAAA,KAGG,4DACH,UAAA,GACA,QAAA,GAGF,0Db13BA,KAAA,KAIA,MAAA,Ka23BA,2Dbv3BA,aAAA,Kag4BoC,mCAjLlC,mBACE,QAAA,KAIJ,kBACE,OAAA,KAAA,MACA,MAAA,KAGF,WACE,SAAA,QACA,UAAA,QAEA,oBACE,MAAA,KAEA,wBbxsBJ,MAAA,Ka0sBM,UAAA,KACA,WAAA,KbnuBN,aAAA,KaquBM,cAAA,KbjuBN,YAAA,EauuBA,SACE,OAAA,EAAA,MAAA,QAAA,MACA,QAAA,EACA,MAAA,KACA,OAAA,KACA,MAAA,KAEA,eACE,OAAA,EAIJ,MACE,QAAA,KAGF,YACE,QAAA,KAIA,mBACE,UAAA,IAII,sBACF,QAAA,MACA,YAAA,OACA,cAAA,SACA,SAAA,OACA,MAAA,KAIJ,iBblvBF,MAAA,MaovBI,QAAA,EAAA,EAAA,IAAA,EAIJ,eACE,cAAA,eAGF,cACE,UAAA,IAEA,kBACE,UAAA,IAIJ,WACE,QAAA,KAGF,YACE,OAAA,KAAA,EAAA,EAAA,YAGe,0BACf,OAAA,KAAA,KAAA,EAAA,KACA,gBAAA,OACA,QAAA,KACA,sBAAA,MACA,mBAAA,YAAA,YAAA,YAAA,IAAA,YAAA,YACA,IAAA,EACA,oBAIE,cACA,UALF,UAAA,OAAA,aAqFF,KACE,iBAAkB,oCAGH,0BACf,sBAAA,KACA,OAAA,KAAA,EAAA,EAAA,EAGF,cACE,IAAA,Mbl5BF,MAAA,Mas5BY,0BACV,IAAA,Mbv5BF,MAAA,Ma25BA,SACE,OAAA,EACA,QAAA,EAGF,YACE,OAAA,KAAA,KAAA,EAAA,eAGK,2BACL,OAAA,IAAA,MAAkB,8Bd/5BpB,cAAA,Kcm6BA,QACE,WAAY,+BACZ,OAAA,KAAA,EAGF,eACE,OAAA,EACA,OAAA,KACA,WAAY,oCAGd,SACE,OAAA,eACA,iBAAkB,iCAQsB,mCAErC,6BACD,MAAA,eAGF,wBACE,SAAA,SAKF,SACF,YAAA","sourcesContent":["/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */\n\n/* Document\n ========================================================================== */\n\n/**\n * 1. Correct the line height in all browsers.\n * 2. Prevent adjustments of font size after orientation changes in iOS.\n */\n\nhtml {\n line-height: 1.15; /* 1 */\n -webkit-text-size-adjust: 100%; /* 2 */\n}\n\n/* Sections\n ========================================================================== */\n\n/**\n * Remove the margin in all browsers.\n */\n\nbody {\n margin: 0;\n}\n\n/**\n * Render the `main` element consistently in IE.\n */\n\nmain {\n display: block;\n}\n\n/**\n * Correct the font size and margin on `h1` elements within `section` and\n * `article` contexts in Chrome, Firefox, and Safari.\n */\n\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\n\n/* Grouping content\n ========================================================================== */\n\n/**\n * 1. Add the correct box sizing in Firefox.\n * 2. Show the overflow in Edge and IE.\n */\n\nhr {\n box-sizing: content-box; /* 1 */\n height: 0; /* 1 */\n overflow: visible; /* 2 */\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\npre {\n font-family: monospace, monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/* Text-level semantics\n ========================================================================== */\n\n/**\n * Remove the gray background on active links in IE 10.\n */\n\na {\n background-color: transparent;\n}\n\n/**\n * 1. Remove the bottom border in Chrome 57-\n * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n */\n\nabbr[title] {\n border-bottom: none; /* 1 */\n text-decoration: underline; /* 2 */\n text-decoration: underline dotted; /* 2 */\n}\n\n/**\n * Add the correct font weight in Chrome, Edge, and Safari.\n */\n\nb,\nstrong {\n font-weight: bolder;\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\ncode,\nkbd,\nsamp {\n font-family: monospace, monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/**\n * Add the correct font size in all browsers.\n */\n\nsmall {\n font-size: 80%;\n}\n\n/**\n * Prevent `sub` and `sup` elements from affecting the line height in\n * all browsers.\n */\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\n/* Embedded content\n ========================================================================== */\n\n/**\n * Remove the border on images inside links in IE 10.\n */\n\nimg {\n border-style: none;\n}\n\n/* Forms\n ========================================================================== */\n\n/**\n * 1. Change the font styles in all browsers.\n * 2. Remove the margin in Firefox and Safari.\n */\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: inherit; /* 1 */\n font-size: 100%; /* 1 */\n line-height: 1.15; /* 1 */\n margin: 0; /* 2 */\n}\n\n/**\n * Show the overflow in IE.\n * 1. Show the overflow in Edge.\n */\n\nbutton,\ninput { /* 1 */\n overflow: visible;\n}\n\n/**\n * Remove the inheritance of text transform in Edge, Firefox, and IE.\n * 1. Remove the inheritance of text transform in Firefox.\n */\n\nbutton,\nselect { /* 1 */\n text-transform: none;\n}\n\n/**\n * Correct the inability to style clickable types in iOS and Safari.\n */\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\n/**\n * Remove the inner border and padding in Firefox.\n */\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n border-style: none;\n padding: 0;\n}\n\n/**\n * Restore the focus styles unset by the previous rule.\n */\n\nbutton:-moz-focusring,\n[type=\"button\"]:-moz-focusring,\n[type=\"reset\"]:-moz-focusring,\n[type=\"submit\"]:-moz-focusring {\n outline: 1px dotted ButtonText;\n}\n\n/**\n * Correct the padding in Firefox.\n */\n\nfieldset {\n padding: 0.35em 0.75em 0.625em;\n}\n\n/**\n * 1. Correct the text wrapping in Edge and IE.\n * 2. Correct the color inheritance from `fieldset` elements in IE.\n * 3. Remove the padding so developers are not caught out when they zero out\n * `fieldset` elements in all browsers.\n */\n\nlegend {\n box-sizing: border-box; /* 1 */\n color: inherit; /* 2 */\n display: table; /* 1 */\n max-width: 100%; /* 1 */\n padding: 0; /* 3 */\n white-space: normal; /* 1 */\n}\n\n/**\n * Add the correct vertical alignment in Chrome, Firefox, and Opera.\n */\n\nprogress {\n vertical-align: baseline;\n}\n\n/**\n * Remove the default vertical scrollbar in IE 10+.\n */\n\ntextarea {\n overflow: auto;\n}\n\n/**\n * 1. Add the correct box sizing in IE 10.\n * 2. Remove the padding in IE 10.\n */\n\n[type=\"checkbox\"],\n[type=\"radio\"] {\n box-sizing: border-box; /* 1 */\n padding: 0; /* 2 */\n}\n\n/**\n * Correct the cursor style of increment and decrement buttons in Chrome.\n */\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n/**\n * 1. Correct the odd appearance in Chrome and Safari.\n * 2. Correct the outline style in Safari.\n */\n\n[type=\"search\"] {\n -webkit-appearance: textfield; /* 1 */\n outline-offset: -2px; /* 2 */\n}\n\n/**\n * Remove the inner padding in Chrome and Safari on macOS.\n */\n\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n/**\n * 1. Correct the inability to style clickable types in iOS and Safari.\n * 2. Change font properties to `inherit` in Safari.\n */\n\n::-webkit-file-upload-button {\n -webkit-appearance: button; /* 1 */\n font: inherit; /* 2 */\n}\n\n/* Interactive\n ========================================================================== */\n\n/*\n * Add the correct display in Edge, IE 10+, and Firefox.\n */\n\ndetails {\n display: block;\n}\n\n/*\n * Add the correct display in all browsers.\n */\n\nsummary {\n display: list-item;\n}\n\n/* Misc\n ========================================================================== */\n\n/**\n * Add the correct display in IE 10+.\n */\n\ntemplate {\n display: none;\n}\n\n/**\n * Add the correct display in IE 10.\n */\n\n[hidden] {\n display: none;\n}\n","/*\n * SearXNG, A privacy-respecting, hackable metasearch engine\n *\n * To change the colors of the site, simple edit this variables\n */\n\n/// Light Theme\n:root {\n /// Base Colors\n --color-base-font: #444;\n --color-base-font-rgb: 68, 68, 68;\n --color-base-background: #fff;\n --color-base-background-mobile: #f2f5f8;\n --color-url-font: #334999;\n --color-url-visited-font: #9822c3;\n /// Header Colors\n --color-header-background: #fdfbff;\n --color-header-border: #ddd;\n /// Footer Colors\n --color-footer-background: #fdfbff;\n --color-footer-border: #ddd;\n /// Sidebar Colors\n --color-sidebar-border: #ddd;\n --color-sidebar-font: #000;\n --color-sidebar-background: #fff;\n /// BackToTop Colors\n --color-backtotop-font: #444;\n --color-backtotop-border: #ddd;\n --color-backtotop-background: #fff;\n /// Button Colors\n --color-btn-background: #3050ff;\n --color-btn-font: #fff;\n --color-show-btn-background: #bbb;\n --color-show-btn-font: #000;\n /// Search Input Colors\n --color-search-border: #bbb;\n --color-search-shadow: 0 2px 8px rgb(34 38 46 / 25%);\n --color-search-background: #fff;\n --color-search-font: #222;\n --color-search-background-hover: #3050ff;\n /// Modal Colors\n --color-error: #db3434;\n --color-error-background: lighten(#db3434, 40%);\n --color-warning: #dbba34;\n --color-warning-background: lighten(#dbba34, 40%);\n --color-success: #42db34;\n --color-success-background: lighten(#42db34, 40%);\n /// Categories Colors\n --color-categories-item-selected-font: #3050ff;\n --color-categories-item-border-selected: #3050ff;\n /// Autocomplete Colors\n --color-autocomplete-font: #000;\n --color-autocomplete-border: #bbb;\n --color-autocomplete-shadow: 0 2px 8px rgb(34 38 46 / 25%);\n --color-autocomplete-background: #fff;\n --color-autocomplete-background-hover: #e3e3e3;\n /// Answer Colors\n --color-answer-font: #444; // same as --color-base-font\n --color-answer-background: #fff;\n /// Results Colors\n --color-result-background: #fff;\n --color-result-border: #ddd;\n --color-result-url-font: #000;\n --color-result-vim-selected: #f7f7f7;\n --color-result-vim-arrow: #000bbb;\n --color-result-description-highlight-font: #000;\n --color-result-link-font: #000bbb;\n --color-result-link-font-highlight: #000bbb;\n --color-result-link-visited-font: #9822c3;\n --color-result-publishdate-font: #777;\n --color-result-engines-font: #545454;\n --color-result-search-url-border: #ddd;\n --color-result-search-url-font: #000;\n // Images Colors\n --color-result-image-span-font: #444;\n --color-result-image-span-font-selected: #fff;\n --color-result-image-background: #fff;\n /// Settings Colors\n --color-settings-tr-hover: #ebebeb;\n --color-settings-engine-description-font: #545454;\n --color-settings-engine-group-background: #0001;\n /// Detail modal\n --color-result-detail-font: #fff;\n --color-result-detail-label-font: lightgray;\n --color-result-detail-background: #242424;\n --color-result-detail-hr: #555;\n --color-result-detail-link: #8af;\n --color-result-detail-loader-border: rgba(255, 255, 255, 0.2);\n --color-result-detail-loader-borderleft: rgba(0, 0, 0, 0);\n /// Toolkit Colors\n --color-toolkit-badge-font: #fff;\n --color-toolkit-badge-background: #545454;\n --color-toolkit-kbd-font: #fff;\n --color-toolkit-kbd-background: #000;\n --color-toolkit-dialog-border: #ddd;\n --color-toolkit-dialog-background: #fff;\n --color-toolkit-tabs-label-border: #fff;\n --color-toolkit-tabs-section-border: #ddd;\n --color-toolkit-select-background: #e1e1e1;\n --color-toolkit-select-border: #ddd;\n --color-toolkit-select-background-hover: #bbb;\n --color-toolkit-input-text-font: #222;\n --color-toolkit-checkbox-onoff-off-background: #ddd;\n --color-toolkit-checkbox-onoff-on-background: #ddd;\n --color-toolkit-checkbox-onoff-on-mark-background: #3050ff;\n --color-toolkit-checkbox-onoff-on-mark-color: #fff;\n --color-toolkit-checkbox-onoff-off-mark-background: #aaa;\n --color-toolkit-checkbox-onoff-off-mark-color: #fff;\n --color-toolkit-checkbox-label-background: #ddd;\n --color-toolkit-checkbox-label-border: #ddd;\n --color-toolkit-checkbox-input-border: #3050ff;\n --color-toolkit-engine-tooltip-border: #ddd;\n --color-toolkit-engine-tooltip-background: #fff;\n --color-toolkit-loader-border: rgba(0, 0, 0, 0.2);\n --color-toolkit-loader-borderleft: rgba(255, 255, 255, 0);\n --color-doc-code: #300;\n --color-doc-code-background: #fdd;\n}\n\n.dark-themes() {\n /// Base Colors\n --color-base-font: #bbb;\n --color-base-font-rgb: 187, 187, 187;\n --color-base-background: #222428;\n --color-base-background-mobile: #222428;\n --color-url-font: #8af;\n --color-url-visited-font: #c09cd9;\n /// Header Colors\n --color-header-background: #1e1e22;\n --color-header-border: #333;\n /// Footer Colors\n --color-footer-background: #1e1e22;\n --color-footer-border: #333;\n /// Sidebar Colors\n --color-sidebar-border: #555;\n --color-sidebar-font: #fff;\n --color-sidebar-background: #292c34;\n /// BackToTop Colors\n --color-backtotop-font: #bbb;\n --color-backtotop-border: #333;\n --color-backtotop-background: #2b2e36;\n /// Button Colors\n --color-btn-background: #58f;\n --color-btn-font: #222;\n --color-show-btn-background: #555;\n --color-show-btn-font: #fff;\n /// Search Input Colors\n --color-search-border: #555;\n --color-search-shadow: 0 2px 8px rgb(34 38 46 / 25%);\n --color-search-background: #2b2e36;\n --color-search-font: #fff;\n --color-search-background-hover: #58f;\n /// Modal Colors\n --color-error: #f55b5b;\n --color-error-background: darken(#db3434, 40%);\n --color-warning: #f1d561;\n --color-warning-background: darken(#dbba34, 40%);\n --color-success: #79f56e;\n --color-success-background: darken(#42db34, 40%);\n /// Categories Colors\n --color-categories-item-selected-font: #58f;\n --color-categories-item-border-selected: #58f;\n /// Autocomplete Colors\n --color-autocomplete-font: #fff;\n --color-autocomplete-border: #555;\n --color-autocomplete-shadow: 0 2px 8px rgb(34 38 46 / 25%);\n --color-autocomplete-background: #2b2e36;\n --color-autocomplete-background-hover: #1e1e22;\n /// Answer Colors\n --color-answer-font: #bbb; // same as --color-base-font\n --color-answer-background: #26292f;\n /// Results Colors\n --color-result-background: #26292f;\n --color-result-border: #333;\n --color-result-url-font: #fff;\n --color-result-vim-selected: #1f1f23cc;\n --color-result-vim-arrow: #8af;\n --color-result-description-highlight-font: #fff;\n --color-result-link-font: #8af;\n --color-result-link-font-highlight: #8af;\n --color-result-link-visited-font: #c09cd9;\n --color-result-publishdate-font: #888;\n --color-result-engines-font: #a4a4a4;\n --color-result-search-url-border: #555;\n --color-result-search-url-font: #fff;\n /// Detail modal : same as the light version\n --color-result-detail-font: #fff;\n --color-result-detail-label-font: lightgray;\n --color-result-detail-background: #1a1a1c;\n --color-result-detail-hr: #555;\n --color-result-detail-link: #8af;\n --color-result-detail-loader-border: rgba(255, 255, 255, 0.2);\n --color-result-detail-loader-borderleft: rgba(0, 0, 0, 0);\n // Images Colors\n --color-result-image-span-font: #bbb;\n --color-result-image-span-font-selected: #222;\n --color-result-image-background: #222;\n /// Settings Colors\n --color-settings-tr-hover: #2c2c32;\n --color-settings-engine-description-font: darken(#dcdcdc, 30%);\n --color-settings-engine-group-background: #1b1b21;\n /// Toolkit Colors\n --color-toolkit-badge-font: #fff;\n --color-toolkit-badge-background: #555;\n --color-toolkit-kbd-font: #000;\n --color-toolkit-kbd-background: #fff;\n --color-toolkit-dialog-border: #555;\n --color-toolkit-dialog-background: #1e1e22;\n --color-toolkit-tabs-label-border: #222;\n --color-toolkit-tabs-section-border: #555;\n --color-toolkit-select-background: #313338;\n --color-toolkit-select-border: #555;\n --color-toolkit-select-background-hover: #373b49;\n --color-toolkit-input-text-font: #fff;\n --color-toolkit-checkbox-onoff-off-background: #313338;\n --color-toolkit-checkbox-onoff-on-background: #313338;\n --color-toolkit-checkbox-onoff-on-mark-background: #58f;\n --color-toolkit-checkbox-onoff-on-mark-color: #222;\n --color-toolkit-checkbox-onoff-off-mark-background: #ddd;\n --color-toolkit-checkbox-onoff-off-mark-color: #222;\n --color-toolkit-checkbox-label-background: #222;\n --color-toolkit-checkbox-label-border: #333;\n --color-toolkit-checkbox-input-border: #58f;\n --color-toolkit-engine-tooltip-border: #333;\n --color-toolkit-engine-tooltip-background: #222;\n --color-toolkit-loader-border: rgba(255, 255, 255, 0.2);\n --color-toolkit-loader-borderleft: rgba(0, 0, 0, 0);\n --color-doc-code: #fdd;\n --color-doc-code-background: #300;\n}\n\n/// Dark Theme (autoswitch based on device pref)\n@media (prefers-color-scheme: dark) {\n :root.theme-auto {\n .dark-themes();\n }\n}\n\n// Dark Theme by preferences\n:root.theme-dark {\n .dark-themes();\n}\n\n/// General Size\n@results-width: 45rem;\n@results-sidebar-width: 25rem;\n@results-offset: 10rem;\n@results-tablet-offset: 0.5rem;\n@results-gap: 5rem;\n@results-margin: 0.125rem;\n@result-padding: 1rem;\n@results-image-row-height: 12rem;\n@results-image-row-height-phone: 6rem;\n@search-width: 44rem;\n// heigh of #search, see detail.less\n@search-height: 7.6rem;\n\n/// Device Size\n/// @desktop > @tablet\n@tablet: 79.75em; // see https://github.com/searxng/searxng/issues/874\n@phone: 50em;\n@small-phone: 35em;\n@ultra-small-phone: 20rem;\n\n/// From style.less\n@stacked-bar-chart: rgb(0, 0, 0);\n\n/// Load fonts from this directory.\n@icon-font-path: \"../../../fonts/\";\n//** File name for all font files.\n@icon-font-name: \"glyphicons-halflings-regular\";\n//** Element ID within SVG icon file.\n@icon-font-svg-id: \"glyphicons_halflingsregular\";\n\n// decoration of the select HTML elements\n@select-light-svg-path: \"../svg/select-light.svg\";\n@select-dark-svg-path: \"../svg/select-dark.svg\";\n",".code-highlight pre {\n overflow: auto;\n background-color: inherit;\n color: inherit;\n border: inherit;\n}\n\n// stylelint-disable no-invalid-position-at-import-rule\n@import \"../generated/pygments.less\";\n","/*\n this file is generated automatically by searxng_extra/update/update_pygments.py\n using pygments version 2.12.0\n*/\n\n.code-highlight .linenos {\n -webkit-touch-callout: none;\n -webkit-user-select: none;\n -khtml-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n cursor: default;\n\n &::selection {\n background: transparent; /* WebKit/Blink Browsers */\n }\n &::-moz-selection {\n background: transparent; /* Gecko Browsers */\n }\n\n margin-right: 8px;\n text-align: right;\n}\n\n.code-highlight pre { line-height: 125%; }\n.code-highlight td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }\n.code-highlight span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }\n.code-highlight td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }\n.code-highlight span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }\n.code-highlight .hll { background-color: #ffffcc }\n.code-highlight { background: #f8f8f8; }\n.code-highlight .c { color: #3D7B7B; font-style: italic } /* Comment */\n.code-highlight .err { border: 1px solid #FF0000 } /* Error */\n.code-highlight .k { color: #008000; font-weight: bold } /* Keyword */\n.code-highlight .o { color: #666666 } /* Operator */\n.code-highlight .ch { color: #3D7B7B; font-style: italic } /* Comment.Hashbang */\n.code-highlight .cm { color: #3D7B7B; font-style: italic } /* Comment.Multiline */\n.code-highlight .cp { color: #9C6500 } /* Comment.Preproc */\n.code-highlight .cpf { color: #3D7B7B; font-style: italic } /* Comment.PreprocFile */\n.code-highlight .c1 { color: #3D7B7B; font-style: italic } /* Comment.Single */\n.code-highlight .cs { color: #3D7B7B; font-style: italic } /* Comment.Special */\n.code-highlight .gd { color: #A00000 } /* Generic.Deleted */\n.code-highlight .ge { font-style: italic } /* Generic.Emph */\n.code-highlight .gr { color: #E40000 } /* Generic.Error */\n.code-highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */\n.code-highlight .gi { color: #008400 } /* Generic.Inserted */\n.code-highlight .go { color: #717171 } /* Generic.Output */\n.code-highlight .gp { color: #000080; font-weight: bold } /* Generic.Prompt */\n.code-highlight .gs { font-weight: bold } /* Generic.Strong */\n.code-highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */\n.code-highlight .gt { color: #0044DD } /* Generic.Traceback */\n.code-highlight .kc { color: #008000; font-weight: bold } /* Keyword.Constant */\n.code-highlight .kd { color: #008000; font-weight: bold } /* Keyword.Declaration */\n.code-highlight .kn { color: #008000; font-weight: bold } /* Keyword.Namespace */\n.code-highlight .kp { color: #008000 } /* Keyword.Pseudo */\n.code-highlight .kr { color: #008000; font-weight: bold } /* Keyword.Reserved */\n.code-highlight .kt { color: #B00040 } /* Keyword.Type */\n.code-highlight .m { color: #666666 } /* Literal.Number */\n.code-highlight .s { color: #BA2121 } /* Literal.String */\n.code-highlight .na { color: #687822 } /* Name.Attribute */\n.code-highlight .nb { color: #008000 } /* Name.Builtin */\n.code-highlight .nc { color: #0000FF; font-weight: bold } /* Name.Class */\n.code-highlight .no { color: #880000 } /* Name.Constant */\n.code-highlight .nd { color: #AA22FF } /* Name.Decorator */\n.code-highlight .ni { color: #717171; font-weight: bold } /* Name.Entity */\n.code-highlight .ne { color: #CB3F38; font-weight: bold } /* Name.Exception */\n.code-highlight .nf { color: #0000FF } /* Name.Function */\n.code-highlight .nl { color: #767600 } /* Name.Label */\n.code-highlight .nn { color: #0000FF; font-weight: bold } /* Name.Namespace */\n.code-highlight .nt { color: #008000; font-weight: bold } /* Name.Tag */\n.code-highlight .nv { color: #19177C } /* Name.Variable */\n.code-highlight .ow { color: #AA22FF; font-weight: bold } /* Operator.Word */\n.code-highlight .w { color: #bbbbbb } /* Text.Whitespace */\n.code-highlight .mb { color: #666666 } /* Literal.Number.Bin */\n.code-highlight .mf { color: #666666 } /* Literal.Number.Float */\n.code-highlight .mh { color: #666666 } /* Literal.Number.Hex */\n.code-highlight .mi { color: #666666 } /* Literal.Number.Integer */\n.code-highlight .mo { color: #666666 } /* Literal.Number.Oct */\n.code-highlight .sa { color: #BA2121 } /* Literal.String.Affix */\n.code-highlight .sb { color: #BA2121 } /* Literal.String.Backtick */\n.code-highlight .sc { color: #BA2121 } /* Literal.String.Char */\n.code-highlight .dl { color: #BA2121 } /* Literal.String.Delimiter */\n.code-highlight .sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */\n.code-highlight .s2 { color: #BA2121 } /* Literal.String.Double */\n.code-highlight .se { color: #AA5D1F; font-weight: bold } /* Literal.String.Escape */\n.code-highlight .sh { color: #BA2121 } /* Literal.String.Heredoc */\n.code-highlight .si { color: #A45A77; font-weight: bold } /* Literal.String.Interpol */\n.code-highlight .sx { color: #008000 } /* Literal.String.Other */\n.code-highlight .sr { color: #A45A77 } /* Literal.String.Regex */\n.code-highlight .s1 { color: #BA2121 } /* Literal.String.Single */\n.code-highlight .ss { color: #19177C } /* Literal.String.Symbol */\n.code-highlight .bp { color: #008000 } /* Name.Builtin.Pseudo */\n.code-highlight .fm { color: #0000FF } /* Name.Function.Magic */\n.code-highlight .vc { color: #19177C } /* Name.Variable.Class */\n.code-highlight .vg { color: #19177C } /* Name.Variable.Global */\n.code-highlight .vi { color: #19177C } /* Name.Variable.Instance */\n.code-highlight .vm { color: #19177C } /* Name.Variable.Magic */\n.code-highlight .il { color: #666666 } /* Literal.Number.Integer.Long */\n","// other solution : http://stackoverflow.com/questions/1577598/how-to-hide-parts-of-html-when-javascript-is-disabled/13857783#13857783\n\n// stylelint-disable no-descending-specificity\n\nhtml.no-js .hide_if_nojs {\n display: none;\n}\n\nhtml.js .show_if_nojs {\n display: none;\n}\n\n.center {\n text-align: center;\n}\n\n.right {\n float: right;\n}\n\n.left {\n float: left;\n}\n\n.invisible {\n display: none !important;\n}\n\n.list-unstyled {\n list-style-type: none;\n\n li {\n margin-top: 4px;\n margin-bottom: 4px;\n }\n}\n\n.danger {\n background-color: var(--color-error-background);\n}\n\n.warning {\n background: var(--color-warning-background);\n}\n\n.success {\n background: var(--color-success-background);\n}\n\n.badge {\n display: inline-block;\n color: var(--color-toolkit-badge-font);\n background-color: var(--color-toolkit-badge-background);\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n min-width: 10px;\n padding: 1px 5px;\n border-radius: 5px;\n}\n\n// kbd\nkbd {\n padding: 2px 4px;\n margin: 1px;\n font-size: 90%;\n color: var(--color-toolkit-kbd-font);\n background: var(--color-toolkit-kbd-background);\n}\n\n// table\ntable {\n width: 100%;\n\n &.striped {\n tr {\n border-bottom: 1px solid var(--color-settings-tr-hover);\n }\n }\n}\n\nth {\n padding: 0.4em;\n}\n\ntd {\n padding: 0 4px;\n}\n\ntr {\n &:hover {\n background: var(--color-settings-tr-hover) !important;\n }\n}\n\n// pre\n.pre() {\n display: block;\n font-size: 0.8em;\n word-break: break-all;\n margin: 0.1em;\n user-select: all;\n}\n\ndiv.selectable_url {\n display: block;\n border: 1px solid var(--color-result-search-url-border);\n padding: 4px;\n color: var(--color-result-search-url-font);\n margin: 0.1em;\n overflow: hidden;\n height: 1.2em;\n line-height: 1.2em;\n .rounded-corners-tiny;\n\n pre {\n .pre();\n }\n}\n\n// dialog\n.dialog() {\n position: relative;\n display: flex;\n padding: 1rem;\n margin: 0 0 1em 0;\n border: 1px solid var(--color-toolkit-dialog-border);\n .ltr-text-align-left();\n .rounded-corners;\n\n .close {\n .ltr-float-right();\n position: relative;\n top: -3px;\n color: inherit;\n font-size: 1.5em;\n }\n\n ul,\n ol,\n p {\n margin: 1px 0 0 0;\n }\n\n table {\n width: auto;\n }\n\n tr {\n vertical-align: text-top;\n\n &:hover {\n background: transparent !important;\n }\n }\n\n td {\n padding: 0 1em 0 0;\n padding-top: 0;\n .ltr-padding-right(1rem);\n padding-bottom: 0;\n .ltr-padding-left(0);\n }\n\n h4 {\n margin-top: 0.3em;\n margin-bottom: 0.3em;\n }\n}\n\n.dialog-error {\n .dialog();\n\n color: var(--color-error);\n background: var(--color-error-background);\n border-color: var(--color-error);\n}\n\n.dialog-warning {\n .dialog();\n\n color: var(--color-warning);\n background: var(--color-warning-background);\n border-color: var(--color-warning);\n}\n\n.dialog-modal {\n .dialog();\n\n display: block;\n background: var(--color-toolkit-dialog-background);\n position: fixed;\n top: 50%;\n left: 50%;\n margin: 0 auto;\n transform: translate(-50%, -50%);\n z-index: 10000000;\n\n h3 {\n margin-top: 0;\n }\n}\n\n// btn-collapse\n.btn-collapse {\n cursor: pointer;\n}\n\n//\n.scrollx {\n overflow-x: auto;\n overflow-y: hidden;\n display: block;\n padding: 0;\n margin: 0;\n border: none;\n}\n\n/* -- tabs -- */\n.tabs .tabs > label {\n font-size: 90%;\n}\n\nul.tabs {\n border-bottom: 1px solid var(--color-toolkit-tabs-section-border);\n list-style: none;\n padding-left: 0;\n\n li {\n display: flex;\n }\n}\n\n.tabs {\n display: flex;\n flex-wrap: wrap;\n width: 100%;\n min-width: 100%;\n\n & > * {\n order: 2;\n }\n\n & > input[type=radio] {\n display: none;\n }\n\n & > label,\n & > li > a {\n order: 1;\n padding: 0.7em;\n margin: 0 0.7em;\n letter-spacing: 0.5px;\n text-transform: uppercase;\n border: solid var(--color-toolkit-tabs-label-border);\n border-width: 0 0 2px 0;\n color: unset;\n\n .disable-user-select();\n\n cursor: pointer;\n\n &.active {\n border-bottom: 2px solid var(--color-categories-item-border-selected);\n background: var(--color-categories-item-selected);\n color: var(--color-categories-item-selected-font);\n }\n }\n\n & > label:hover,\n & > li > a:hover {\n border-bottom: 2px solid var(--color-categories-item-border-selected);\n }\n\n & > section {\n min-width: 100%;\n padding: 0.7rem 0;\n box-sizing: border-box;\n border-top: 1px solid var(--color-toolkit-tabs-section-border);\n display: none;\n }\n\n // default selection\n & > label:last-of-type {\n border-bottom: 2px solid var(--color-categories-item-border-selected);\n background: var(--color-categories-item-selected);\n color: var(--color-categories-item-selected-font);\n letter-spacing: -0.1px;\n }\n\n & > section:last-of-type {\n display: block;\n }\n}\n\nhtml body .tabs > input:checked {\n ~ section {\n display: none;\n }\n\n ~ label {\n position: inherited;\n background: inherit;\n border-bottom: 2px solid transparent;\n font-weight: normal;\n color: inherit;\n\n &:hover {\n border-bottom: 2px solid var(--color-categories-item-border-selected);\n }\n }\n\n + label {\n border-bottom: 2px solid var(--color-categories-item-border-selected);\n background: var(--color-categories-item-selected);\n color: var(--color-categories-item-selected-font);\n }\n\n + label + section {\n display: block;\n }\n}\n\n/* -- select -- */\nselect {\n height: 2.4rem;\n margin-top: 0;\n .ltr-margin-right(1rem);\n margin-bottom: 0;\n .ltr-margin-left(0);\n padding: 0.2rem !important;\n color: var(--color-search-font);\n font-size: 0.9rem;\n z-index: 2;\n\n &:hover,\n &:focus {\n cursor: pointer;\n }\n}\n\n@supports ((background-position-x: 100%) and ((appearance: none) or (-webkit-appearance: none) or (-moz-appearance: none))) {\n select {\n appearance: none;\n -webkit-appearance: none;\n -moz-appearance: none;\n border-width: 0 2rem 0 0;\n border-color: transparent;\n background: data-uri('image/svg+xml;charset=UTF-8', @select-light-svg-path) no-repeat;\n background-position-x: calc(100% + 2rem);\n background-size: 2rem;\n background-origin: content-box;\n background-color: var(--color-toolkit-select-background);\n outline: medium none;\n text-overflow: ellipsis;\n .rounded-corners-tiny;\n\n &:hover,\n &:focus {\n background-color: var(--color-toolkit-select-background-hover);\n }\n\n option {\n background-color: var(--color-base-background);\n }\n }\n\n @media (prefers-color-scheme: dark) {\n html.theme-auto select,\n html.theme-dark select {\n background-image: data-uri('image/svg+xml;charset=UTF-8', @select-dark-svg-path);\n }\n }\n\n html.theme-dark select {\n background-image: data-uri('image/svg+xml;charset=UTF-8', @select-dark-svg-path);\n }\n}\n\n/* -- checkbox-onoff -- */\ninput.checkbox-onoff[type=\"checkbox\"] {\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n cursor: pointer;\n display: inline-block;\n width: 2.5em;\n height: 0.7em;\n box-shadow: none !important;\n margin: 0 16px;\n border-radius: 10px;\n position: relative;\n\n /* focus & hover */\n &:focus,\n &:hover {\n outline: none;\n }\n\n &:focus::after {\n content: \"\";\n position: absolute;\n width: 3.5em;\n height: 1.65em;\n border: 1px solid var(--color-btn-background);\n border-radius: 12px;\n box-shadow: var(--color-btn-background) 0 0 3px;\n z-index: 10000;\n top: -0.55em;\n left: -0.6em;\n }\n\n &::before {\n position: absolute;\n top: -0.5em;\n display: flex;\n justify-content: center;\n align-items: center;\n font-size: 0.75em;\n width: 1.875em;\n height: 1.875em;\n border-radius: 50%;\n }\n}\n\n/* check mark\nreversed-checkbox displays unchecked checkedboxes as checked, and vice versa.\nsee https://github.com/searxng/searxng/blob/3408d061aab9abc6168fec9bbc6deab71b236dac/searx/templates/simple/preferences.html#L313\n*/\ninput.checkbox-onoff[type=\"checkbox\"],\n.reversed-checkbox input.checkbox-onoff[type=\"checkbox\"]:checked {\n background: var(--color-toolkit-checkbox-onoff-off-background);\n\n &::before {\n left: -0.5em;\n content: \"\\2715\";\n color: var(--color-toolkit-checkbox-onoff-off-mark-color);\n background: var(--color-toolkit-checkbox-onoff-off-mark-background);\n }\n}\n\ninput.checkbox-onoff[type=\"checkbox\"]:checked,\n.reversed-checkbox input.checkbox-onoff[type=\"checkbox\"] {\n background: var(--color-toolkit-checkbox-onoff-on-background);\n\n &::before {\n left: calc(100% - 1.5em);\n content: \"\\2713\";\n color: var(--color-toolkit-checkbox-onoff-on-mark-color);\n background: var(--color-toolkit-checkbox-onoff-on-mark-background);\n }\n}\n\n/* -- checkbox -- */\n@supports (transform: rotate(-45deg)) {\n input[type=checkbox]:not(.checkbox-onoff) {\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n\n width: 20px;\n height: 20px;\n cursor: pointer;\n position: relative;\n top: 0;\n left: 0;\n border: 2px solid var(--color-toolkit-checkbox-input-border);\n .rounded-corners(0.3em);\n\n &::after {\n content: '';\n width: 9px;\n height: 5px;\n position: absolute;\n top: 3px;\n left: 2px;\n border: 3px solid var(--color-toolkit-checkbox-label-border);\n border-top: none;\n border-right: none;\n background: transparent;\n opacity: 0;\n transform: rotate(-45deg);\n }\n\n &:checked::after {\n border-color: var(--color-toolkit-checkbox-input-border);\n opacity: 1;\n }\n }\n\n // disabled : can't be focused, show only the check mark\n input[type=checkbox][disabled]:not(.checkbox-onoff) {\n border: inherit;\n background-color: transparent !important;\n cursor: inherit;\n }\n\n // if not checked and possible to checked then display a \"light\" check mark on hover\n input.checkbox[type=checkbox]:not(:checked):not([disabled]):not(.checkbox-onoff):hover::after {\n opacity: 0.5;\n }\n}\n\n@media screen and (max-width: @phone) {\n .tabs > label {\n width: 100%;\n }\n}\n\n/* -- loader -- */\n.loader,\n.loader::after {\n border-radius: 50%;\n width: 2em;\n height: 2em;\n}\n\n.loader {\n margin: 1em auto;\n font-size: 10px;\n position: relative;\n text-indent: -9999em;\n border-top: 0.5em solid var(--color-toolkit-loader-border);\n border-right: 0.5em solid var(--color-toolkit-loader-border);\n border-bottom: 0.5em solid var(--color-toolkit-loader-border);\n border-left: 0.5em solid var(--color-toolkit-loader-borderleft);\n -webkit-transform: translateZ(0);\n -ms-transform: translateZ(0);\n transform: translateZ(0);\n -webkit-animation: load8 1.2s infinite linear;\n animation: load8 1.2s infinite linear;\n}\n\n@-webkit-keyframes load8 {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n\n 100% {\n -webkit-transform: rotate(360deg);\n transform: rotate(360deg);\n }\n}\n\n@keyframes load8 {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n\n 100% {\n -webkit-transform: rotate(360deg);\n transform: rotate(360deg);\n }\n}\n\n/* -- engine-tooltip -- */\n.engine-tooltip {\n display: none;\n position: absolute;\n padding: 0.5rem 1rem;\n margin: 0 0 0 2rem;\n border: 1px solid var(--color-toolkit-engine-tooltip-border);\n background: var(--color-toolkit-engine-tooltip-background);\n font-size: 14px;\n font-weight: normal;\n z-index: 1000000;\n text-align: left;\n .rounded-corners;\n}\n\nth:hover .engine-tooltip,\ntd:hover .engine-tooltip,\n.engine-tooltip:hover {\n display: inline-block;\n}\n\n/* -- stacked bar chart -- */\n.stacked-bar-chart {\n margin: 0;\n padding: 0 0.125rem 0 4rem;\n width: 100%;\n width: -moz-available;\n width: -webkit-fill-available;\n width: fill;\n flex-direction: row;\n flex-wrap: nowrap;\n align-items: center;\n display: inline-flex;\n}\n\n.stacked-bar-chart-value {\n width: 3rem;\n display: inline-block;\n position: absolute;\n padding: 0 0.5rem;\n text-align: right;\n}\n\n.stacked-bar-chart-base {\n display: flex;\n flex-shrink: 0;\n flex-grow: 0;\n flex-basis: unset;\n}\n\n.stacked-bar-chart-median {\n .stacked-bar-chart-base();\n\n background: var(--color-base-font);\n border: 1px solid rgba(var(--color-base-font-rgb), 0.9);\n padding: 0.3rem 0;\n}\n\n.stacked-bar-chart-rate80 {\n .stacked-bar-chart-base();\n\n background: transparent;\n border: 1px solid rgba(var(--color-base-font-rgb), 0.3);\n padding: 0.3rem 0;\n}\n\n.stacked-bar-chart-rate95 {\n .stacked-bar-chart-base();\n\n background: transparent;\n border-bottom: 1px dotted rgba(var(--color-base-font-rgb), 0.5);\n padding: 0;\n}\n\n.stacked-bar-chart-rate100 {\n .stacked-bar-chart-base();\n\n background: transparent;\n border-left: 1px solid rgba(var(--color-base-font-rgb), 0.9);\n padding: 0.4rem 0;\n width: 1px;\n}\n","// SPDX-License-Identifier: AGPL-3.0-or-later\n\n// Mixins\n.text-size-adjust (@property: 100%) {\n -webkit-text-size-adjust: @property;\n -ms-text-size-adjust: @property;\n -moz-text-size-adjust: @property;\n text-size-adjust: @property;\n}\n\n.rounded-corners (@radius: 10px) {\n border-radius: @radius;\n}\n\n.rounded-right-corners (@radius: 0 10px 10px 0) {\n border-radius: @radius;\n}\n\n.rounded-corners-tiny (@radius: 5px) {\n border-radius: @radius;\n}\n\n// disable user selection\n.disable-user-select () {\n -webkit-touch-callout: none;\n user-select: none;\n}\n\n.show-content-button() {\n padding: 5px 10px;\n .rounded-corners-tiny;\n background: var(--color-show-btn-background);\n color: var(--color-show-btn-font);\n cursor: pointer;\n\n &:hover {\n background: var(--color-btn-background);\n color: var(--color-btn-font);\n }\n}\n",".ltr-left(@offset) {\n left: @offset;\n}\n\n.ltr-right(@offset) {\n right: @offset;\n}\n\n.ltr-margin-right(@offset) {\n margin-right: @offset;\n}\n\n.ltr-margin-left(@offset) {\n margin-left: @offset;\n}\n\n.ltr-border-right(@offset) {\n border-right: @offset;\n}\n\n.ltr-border-left(@offset) {\n border-left: @offset;\n}\n\n.ltr-padding-right(@offset) {\n padding-right: @offset;\n}\n\n.ltr-padding-left(@offset) {\n padding-left: @offset;\n}\n\n.ltr-float-left() {\n float: left;\n}\n\n.ltr-float-right() {\n float: right;\n}\n\n.ltr-text-align-right() {\n text-align: right;\n}\n\n.ltr-rounded-left-corners(@radius) {\n border-radius: @radius 0 0 @radius;\n}\n\n.ltr-rounded-top-left-corners(@radius) {\n border-radius: @radius 0 0 0;\n}\n\n.ltr-rounded-bottom-left-corners(@radius) {\n border-radius: 0 0 0 @radius;\n}\n\n.ltr-rounded-right-corners(@radius) {\n border-radius: 0 @radius @radius 0;\n}\n\n.ltr-rounded-top-right-corners(@radius) {\n border-radius: 0 @radius 0 0;\n}\n\n.ltr-rounded-bottom-right-corners(@radius) {\n border-radius: 0 0 @radius 0;\n}\n\n.ltr-text-align-left() {\n text-align: left;\n}\n\n.ltr-border-left-width(@offset) {\n border-left-width: @offset;\n}\n\n.ltr-border-right-width(@offset) {\n border-right-width: @offset;\n}\n\n.ltr-transform() {\n transform: scale(1, 1);\n}\n\n@import \"style.less\";\n","/*! Autocomplete.js v2.6.3 | license MIT | (c) 2017, Baptiste Donaux | http://autocomplete-js.com */\n\n.autocomplete {\n position: absolute;\n width: @search-width;\n max-height: 0;\n overflow-y: hidden;\n .ltr-text-align-left();\n\n .rounded-corners;\n\n &:active,\n &:focus,\n &:hover {\n background-color: var(--color-autocomplete-background);\n }\n\n &:empty {\n display: none;\n }\n\n > ul {\n list-style-type: none;\n margin: 0;\n padding: 0;\n\n > li {\n cursor: pointer;\n padding: 0.5rem 1rem;\n\n &.active,\n &:active,\n &:focus,\n &:hover {\n background-color: var(--color-autocomplete-background-hover);\n\n a:active,\n a:focus,\n a:hover {\n text-decoration: none;\n }\n }\n\n &.locked {\n cursor: inherit;\n }\n }\n }\n\n &.open {\n display: block;\n background-color: var(--color-autocomplete-background);\n color: var(--color-autocomplete-font);\n max-height: 32rem;\n overflow-y: auto;\n z-index: 100;\n margin-top: 3.5rem;\n border-radius: 0.8rem;\n box-shadow: 0 2px 8px rgb(34 38 46 / 25%);\n\n &:empty {\n display: none;\n }\n }\n}\n\n@media screen and (max-width: @phone) {\n .autocomplete {\n width: 100%;\n\n > ul > li {\n padding: 1rem;\n }\n }\n}\n","#main_results #results.image-detail-open.only_template_images {\n width: min(98%, 59.25rem) !important;\n}\n\n#main_results #results.only_template_images.image-detail-open #backToTop {\n .ltr-left(56.75rem) !important;\n .ltr-right(inherit);\n}\n\narticle.result-images .detail {\n display: none;\n}\n\n#results.image-detail-open article.result-images[data-vim-selected] .detail {\n display: flex;\n flex-direction: column;\n position: fixed;\n .ltr-left(60rem);\n .ltr-right(0);\n top: @search-height;\n transition: top 0.064s ease-in 0s;\n bottom: 0;\n background: var(--color-result-detail-background);\n border: 1px solid var(--color-result-detail-background);\n z-index: 10000;\n padding: 4rem 3rem 3rem 3rem;\n\n a.result-images-source {\n display: block;\n flex: 1;\n text-align: left;\n width: 100%;\n border: none;\n text-decoration: none;\n\n img {\n padding: 0;\n margin: 0;\n border: none;\n object-fit: contain;\n width: inherit;\n height: inherit;\n max-width: 100%;\n min-height: inherit;\n max-height: calc(100vh - 25rem - 7rem);\n background: inherit;\n }\n }\n\n .result-images-labels {\n color: var(--color-result-detail-font);\n max-height: 16rem;\n min-height: 16rem;\n\n hr {\n border-top: 1px solid var(--color-result-detail-hr);\n border-bottom: none;\n }\n\n h4 {\n height: 2rem;\n overflow: hidden;\n text-overflow: ellipsis;\n font-size: 0.9rem;\n }\n\n p {\n color: var(--color-result-detail-label-font);\n font-size: 0.9rem;\n\n span {\n display: inline-block;\n width: 12rem;\n }\n }\n\n h4,\n p,\n a {\n .ltr-text-align-left();\n }\n\n p.result-content {\n height: 2rem;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n p.result-url {\n white-space: nowrap;\n overflow-x: hidden;\n text-overflow: ellipsis;\n }\n\n p.result-content:hover,\n p.result-url:hover {\n position: relative;\n overflow: inherit !important;\n background: var(--color-result-detail-background);\n text-overflow: inherit !important;\n }\n\n a,\n a:visited,\n a:hover,\n a:active {\n color: var(--color-result-detail-link);\n }\n\n a:hover {\n text-decoration: underline;\n }\n }\n\n a.result-detail-close {\n top: 1rem;\n .ltr-left(1rem);\n padding: 0.4rem;\n }\n\n a.result-detail-previous {\n top: 1rem;\n .ltr-right(6rem);\n // center the icon by moving it slightly on the left\n padding-top: 0.4rem;\n .ltr-padding-right(0.5rem);\n padding-bottom: 0.4rem;\n .ltr-padding-left(0.3rem);\n }\n\n a.result-detail-next {\n top: 1rem;\n .ltr-right(2rem);\n padding: 0.4rem;\n }\n\n a.result-detail-close,\n a.result-detail-next,\n a.result-detail-previous {\n border-radius: 50%;\n display: block;\n width: 1.5rem;\n height: 1.5rem;\n position: absolute;\n filter: opacity(40%);\n z-index: 2000002;\n\n span {\n display: block;\n width: 1.5rem;\n height: 1.5rem;\n text-align: center;\n }\n }\n\n a.result-detail-next,\n a.result-detail-previous {\n span::before {\n // vertical center small icons\n vertical-align: sub;\n }\n }\n\n a.result-detail-close,\n a.result-detail-close:visited,\n a.result-detail-close:hover,\n a.result-detail-close:active,\n a.result-detail-previous,\n a.result-detail-previous:visited,\n a.result-detail-previous:hover,\n a.result-detail-previous:active,\n a.result-detail-next,\n a.result-detail-next:visited,\n a.result-detail-next:hover,\n a.result-detail-next:active {\n color: var(--color-result-detail-font);\n background: var(--color-result-detail-background);\n border: 1px solid var(--color-result-detail-font);\n }\n\n a.result-detail-close:focus,\n a.result-detail-close:hover,\n a.result-detail-previous:focus,\n a.result-detail-previous:hover,\n a.result-detail-next:focus,\n a.result-detail-next:hover {\n filter: opacity(80%);\n }\n\n .loader {\n position: absolute;\n top: 1rem;\n .ltr-right(50%);\n border-top: 0.5em solid var(--color-result-detail-loader-border);\n border-right: 0.5em solid var(--color-result-detail-loader-border);\n border-bottom: 0.5em solid var(--color-result-detail-loader-border);\n border-left: 0.5em solid var(--color-result-detail-loader-borderleft);\n }\n}\n\n#results.image-detail-open.scrolling article.result-images[data-vim-selected] .detail {\n top: 0;\n\n a.result-images-source img {\n max-height: calc(100vh - 25rem);\n }\n}\n\n@media screen and (max-width: @tablet) {\n #results.image-detail-open article.result-images[data-vim-selected] .detail {\n top: 0;\n .ltr-left(0);\n\n a.result-images-source {\n display: flex;\n flex-direction: column;\n justify-content: center;\n\n img {\n width: 100%;\n max-height: calc(100vh - 24rem);\n }\n }\n\n a.result-detail-next {\n .ltr-right(1rem);\n }\n }\n}\n\n@media screen and (max-width: @phone) {\n #results.image-detail-open article.result-images[data-vim-selected] .detail {\n top: 0;\n .ltr-left(0);\n padding: 1rem;\n\n a.result-images-source img {\n width: 100%;\n max-height: calc(100vh - 20rem);\n margin: 0;\n }\n\n .result-images-labels p span {\n width: inherit;\n .ltr-margin-right(1rem);\n }\n }\n}\n",".dialog-modal {\n animation-name: dialogmodal;\n animation-duration: 0.13s;\n\n @keyframes dialogmodal {\n 0% {\n opacity: 0;\n }\n\n 50% {\n opacity: 0.5;\n transform: translate(-50%, -50%) scale(1.05);\n }\n }\n}\n\ninput.checkbox-onoff[type=\"checkbox\"]::before {\n transition: left 0.25s;\n}\n","iframe[src^=\"https://w.soundcloud.com\"] {\n height: 120px;\n}\n\niframe[src^=\"https://www.deezer.com\"] {\n // The real size is 92px, but 94px are needed to avoid an inner scrollbar of\n // the embedded HTML.\n height: 94px;\n}\n\niframe[src^=\"https://www.mixcloud.com\"] {\n // the embedded player from mixcloud has some quirks: initial there is an\n // issue with an image URL that is blocked since it is an a Cross-Origin\n // request. The alternative text (<img alt='Mixcloud Logo'> then cause an\n // scrollbar in the inner of the iframe we can't avoid. Another quirk comes\n // when pressing the play button, somtimes the shown player has an height of\n // 200px, somtimes 250px.\n height: 250px;\n}\n\niframe[src^=\"https://bandcamp.com/EmbeddedPlayer\"] {\n // show playlist\n height: 350px;\n}\n\niframe[src^=\"https://bandcamp.com/EmbeddedPlayer/track\"] {\n // hide playlist\n height: 120px;\n}\n\niframe[src^=\"https://genius.com/songs\"] {\n height: 65px;\n}\n",".info-page {\n code {\n font-family: monospace;\n color: var(--color-doc-code);\n background-color: var(--color-doc-code-background);\n padding: 2px 5px;\n .rounded-corners(5px);\n }\n}\n","// SPDX-License-Identifier: AGPL-3.0-or-later\n.stats_endpoint {\n .github-issue-button {\n display: block;\n padding: 8px 16px;\n font-family: sans-serif;\n font-size: 16px;\n color: white;\n background-color: #238636;\n border: #2ea043;\n border-radius: 10px !important;\n box-shadow: rgba(0, 0, 0, 0) 0 0 0 0;\n }\n\n .github-issue-button:hover {\n background-color: #2ea043;\n }\n\n .issue-hide {\n display: none;\n }\n\n input[type=checked] {\n position: absolute;\n }\n\n label {\n margin: 1rem 1rem 1rem 0;\n }\n\n .step_content {\n margin: 1rem 1rem 1rem 2rem;\n }\n\n .step1,\n .step2 {\n visibility: hidden;\n }\n\n .step1_delay {\n transition: visibility 0s linear 4s;\n }\n\n #step1:checked ~ .step1,\n #step2:checked ~ .step2 {\n visibility: visible;\n }\n}\n","// SPDX-License-Identifier: AGPL-3.0-or-later\n\n.engine-stats {\n border-spacing: 0;\n border-collapse: collapse;\n\n tr td,\n tr th {\n border-bottom: 1px solid var(--color-result-border);\n padding: 0.25rem;\n }\n\n table.engine-tooltip {\n border-spacing: 0;\n border-collapse: collapse;\n\n td,\n th {\n border: none;\n }\n }\n\n .engine-name {\n width: 20rem;\n }\n\n .engine-score {\n width: 7rem;\n text-align: right;\n }\n\n .engine-reliability {\n text-align: right;\n }\n}\n\ntable.engine-error th.engine-error-type,\ntable.engine-error td.engine-error-type,\nfailed-test {\n width: 10rem;\n}\n\n.engine-errors {\n margin-top: 3rem;\n\n table.engine-error {\n max-width: 1280px;\n margin: 1rem 0 3rem 0;\n border: 1px solid var(--color-result-border);\n .ltr-text-align-left();\n\n tr th,\n tr td {\n padding: 0.5rem;\n }\n\n & span.log_parameters {\n border-right: 1px solid solid var(--color-result-border);\n padding: 0 1rem 0 0;\n margin: 0 0 0 0.5rem;\n }\n }\n}\n\n.bar-chart-value {\n width: 3em;\n display: inline-block;\n text-align: right;\n padding-right: 0.5rem;\n}\n\n.bar-chart-graph {\n width: calc(100% - 5rem);\n display: inline-block;\n}\n\n.bar-chart-bar {\n border: 3px solid #5bc0de;\n margin: 1px 0;\n}\n\n.bar-chart-serie1 {\n border: 3px solid #5bc0de;\n margin: 1px 0;\n float: left;\n}\n\n.bar-chart-serie2 {\n border: 3px solid #deb15b;\n margin: 1px 0;\n float: left;\n}\n\n.bar0 {\n width: 0;\n border: 0;\n}\n\n.generate-bar(100);\n\n.generate-bar(@n, @i: 1) when (@i =< @n) {\n .bar@{i} {\n width: (@i * 100% / @n);\n }\n .generate-bar(@n, (@i + 1));\n}\n","// SPDX-License-Identifier: AGPL-3.0-or-later\n\n.osm-map-box {\n height: 300px;\n width: 100%;\n margin: 10px 0;\n}\n","#main_index {\n margin-top: 26vh;\n}\n\n.index {\n text-align: center;\n\n .title {\n background: url('../img/searxng.png') no-repeat;\n min-height: 4rem;\n margin: 4rem auto;\n background-position: center;\n background-size: contain;\n }\n\n h1 {\n font-size: 4em;\n visibility: hidden;\n }\n\n #search,\n #search_header {\n margin: 0 auto;\n background: inherit;\n border: inherit;\n padding: 0;\n display: block;\n }\n\n .search_filters {\n display: block;\n margin: 1em 0;\n }\n\n .category label {\n padding: 6px 10px;\n border-bottom: initial !important;\n }\n}\n\n@media screen and (max-width: @tablet) {\n div.title {\n h1 {\n font-size: 1em;\n }\n }\n\n #main_index {\n margin-top: 6em;\n }\n}\n","#tab-content-query table td,\n#tab-content-query table th {\n .ltr-text-align-right() !important;\n height: 3rem;\n}\n\n#main_preferences {\n form {\n width: 100%;\n }\n\n fieldset {\n margin: 8px;\n border: none;\n }\n\n legend {\n margin: 0;\n padding: 5px 0 0 0;\n display: block;\n .ltr-float-left();\n width: 300px;\n }\n\n .value {\n margin: 0;\n padding: 0;\n .ltr-float-left();\n width: 15em;\n\n select,\n input[type=\"text\"] {\n font-size: inherit !important;\n margin-top: 0;\n .ltr-margin-right(1rem);\n margin-bottom: 0;\n .ltr-margin-left(0);\n }\n\n select {\n width: 14rem;\n }\n\n input[type=\"text\"] {\n width: 13.25rem;\n color: var(--color-toolkit-input-text-font);\n border: none;\n background: none repeat scroll 0 0 var(--color-toolkit-select-background);\n padding: 0.2rem 0.4rem;\n height: 2rem;\n .rounded-corners-tiny;\n\n &:hover,\n &:focus {\n background-color: var(--color-toolkit-select-background-hover);\n }\n }\n\n select:focus,\n input:focus {\n outline: none;\n box-shadow: 0 0 1px 1px var(--color-btn-background);\n }\n }\n\n .description {\n margin: 0;\n padding: 5px 0 0 0;\n .ltr-float-right();\n width: 50%;\n color: var(--color-settings-engine-description-font);\n font-size: 90%;\n }\n\n table {\n border-collapse: collapse;\n }\n\n table td {\n text-align: center;\n }\n\n .category {\n .ltr-margin-right(0.5rem);\n\n label {\n border: 2px solid transparent;\n padding: 0.2rem 0.4rem;\n .rounded-corners-tiny;\n }\n }\n\n .category input[type=\"checkbox\"]:checked + label {\n border: 2px solid var(--color-categories-item-border-selected);\n }\n\n table.table_engines {\n td {\n height: 3.75rem;\n }\n\n th.name {\n /* stylelint-disable */\n label {\n cursor: pointer;\n }\n /* stylelint-enable */\n\n .engine-tooltip {\n margin-top: 1.8rem;\n .ltr-left(calc((100% - 85em) / 2 + 10em));\n max-width: 40rem;\n\n .engine-description {\n margin-top: 0.5rem;\n }\n }\n }\n\n .engine-group {\n .ltr-text-align-left();\n font-weight: normal;\n background: var(--color-settings-engine-group-background);\n }\n\n .name,\n .shortcut {\n .ltr-text-align-left();\n }\n }\n\n table.cookies {\n width: 100%;\n direction: ltr;\n\n th,\n td {\n text-align: left;\n font-family: monospace;\n font-size: 1rem;\n padding: 0.5em;\n vertical-align: top;\n }\n\n td:first-child {\n word-break: keep-all;\n width: 14rem;\n padding-right: 1rem;\n }\n\n td:last-child {\n word-break: break-all;\n }\n\n & > tbody > tr:nth-child(even) > th,\n & > tbody > tr:nth-child(even) > td {\n background-color: var(--color-settings-tr-hover);\n }\n }\n\n .preferences_back {\n background: none repeat scroll 0 0 var(--color-btn-background);\n color: var(--color-btn-font);\n border: 0 none;\n .rounded-corners;\n\n cursor: pointer;\n display: inline-block;\n margin: 2px 4px;\n padding: 0.7em;\n\n a {\n color: var(--color-settings-return-font);\n }\n\n a::first-letter {\n text-transform: uppercase;\n }\n }\n\n div.selectable_url {\n pre {\n width: 100%;\n }\n }\n}\n\n@media screen and (max-width: @tablet) {\n .preferences_back {\n clear: both;\n }\n\n .engine-tooltip {\n .ltr-left(10em) !important;\n }\n}\n","/*\n* SearXNG, A privacy-respecting, hackable metasearch engine\n*/\n\n#search {\n padding: 0;\n margin: 0;\n}\n\n#search_header {\n padding-top: 1.5em;\n .ltr-padding-right(2em);\n .ltr-padding-left(@results-offset - 3rem);\n margin: 0;\n background: var(--color-header-background);\n border-bottom: 1px solid var(--color-header-border);\n display: grid;\n column-gap: 1.2rem;\n row-gap: 1rem;\n grid-template-columns: 3rem 1fr;\n grid-template-areas:\n \"logo search\"\n \"spacer categories\";\n}\n\n.category {\n display: inline-block;\n position: relative;\n .ltr-margin-right(1rem);\n padding: 0;\n\n input {\n display: none;\n }\n\n label {\n svg {\n padding-right: 0.2rem;\n }\n\n cursor: pointer;\n padding: 0.2rem 0;\n display: inline-flex;\n text-transform: capitalize;\n font-size: 0.9em;\n border-bottom: 2px solid transparent;\n .disable-user-select;\n\n div.category_name {\n margin: auto 0;\n }\n }\n\n input[type=\"checkbox\"]:checked + label {\n color: var(--color-categories-item-selected-font);\n border-bottom: 2px solid var(--color-categories-item-border-selected);\n }\n}\n\n#search_logo {\n grid-area: logo;\n display: flex;\n align-items: center;\n justify-content: center;\n\n svg {\n flex: 1;\n width: 30px;\n height: 30px;\n margin: 0.5rem 0 auto 0;\n }\n}\n\n.search_categories {\n grid-area: categories;\n\n .help {\n display: none;\n }\n\n &:hover .help {\n display: block;\n position: absolute;\n background: var(--color-base-background);\n padding: 1rem 0.6rem 0.6rem 0;\n z-index: 1000;\n width: 100%;\n left: -0.1rem;\n }\n}\n\n#search_view {\n grid-area: search;\n}\n\n.search_box {\n border-radius: 0.8rem;\n width: @search-width;\n display: inline-flex;\n flex-direction: row;\n white-space: nowrap;\n box-shadow: var(--color-search-shadow);\n}\n\n#clear_search {\n display: block;\n border-collapse: separate;\n box-sizing: border-box;\n width: 1.8rem;\n margin: 0;\n padding: 0.8rem 0.2rem;\n background: none repeat scroll 0 0 var(--color-search-background);\n border: none;\n outline: none;\n color: var(--color-search-font);\n font-size: 1.1rem;\n z-index: 10000;\n\n &:hover {\n color: var(--color-search-background-hover);\n }\n\n &.empty * {\n display: none;\n }\n}\n\nhtml.no-js #clear_search.hide_if_nojs {\n display: none;\n}\n\n#q,\n#send_search {\n display: block;\n margin: 0;\n padding: 0.8rem;\n background: none repeat scroll 0 0 var(--color-search-background);\n border: none;\n outline: none;\n color: var(--color-search-font);\n font-size: 1.1rem;\n z-index: 2;\n}\n\n#q {\n width: 100%;\n .ltr-padding-left(1rem);\n .ltr-padding-right(0) !important;\n .ltr-rounded-left-corners(0.8rem);\n}\n\n#q::-ms-clear,\n#q::-webkit-search-cancel-button {\n display: none;\n}\n\n#send_search {\n .ltr-rounded-right-corners(0.8rem);\n\n &:hover {\n cursor: pointer;\n background-color: var(--color-search-background-hover);\n color: var(--color-search-background);\n }\n}\n\n.no-js #clear_search,\n.no-js #send_search {\n width: auto !important;\n .ltr-border-left(1px solid var(--color-search-border));\n}\n\n.search_filters {\n margin-top: 0.6rem;\n .ltr-margin-right(0);\n margin-bottom: 0;\n .ltr-margin-left(@results-offset + 0.6rem);\n display: flex;\n overflow-x: auto;\n overscroll-behavior-inline: contain;\n\n select {\n background-color: inherit;\n\n &:hover,\n &:focus {\n color: var(--color-base-font);\n }\n }\n}\n\n@media screen and (max-width: @tablet) {\n #search_header {\n padding: 1.5em @results-tablet-offset 0 @results-tablet-offset;\n column-gap: @results-tablet-offset;\n }\n\n .search_filters {\n margin-top: 0.6rem;\n .ltr-margin-right(0);\n margin-bottom: 0;\n .ltr-margin-left(@results-tablet-offset + 3rem);\n }\n\n #categories {\n font-size: 90%;\n clear: both;\n\n .checkbox_container {\n margin: auto;\n margin-top: 2px;\n }\n }\n}\n\n@media screen and (max-width: @tablet) and (hover: none) {\n #main_index,\n #main_results {\n #categories_container {\n width: max-content;\n\n .category {\n display: inline-block;\n width: auto;\n }\n }\n\n #categories {\n width: 100%;\n .ltr-text-align-left();\n overflow-x: scroll;\n overflow-y: hidden;\n -webkit-overflow-scrolling: touch;\n }\n }\n}\n\n@media screen and (max-width: @phone) {\n #search_header {\n width: 100%;\n margin: 0;\n padding: 0.1rem 0 0 0;\n column-gap: 0;\n row-gap: 0;\n grid-template-areas:\n \"logo search\"\n \"categories categories\";\n }\n\n .search_logo {\n padding: 0;\n }\n\n .search_box {\n width: 98%;\n display: flex;\n margin: 0 auto;\n }\n\n #q {\n width: 100%;\n flex: 1;\n }\n\n .search_filters {\n margin: 0;\n }\n\n .category {\n display: inline-block;\n width: auto;\n margin: 0;\n\n label {\n padding: 1rem !important;\n margin: 0 !important;\n\n svg {\n display: none;\n }\n }\n }\n\n #search_view:focus-within {\n display: block;\n background-color: var(--color-search-background);\n position: absolute;\n top: 0;\n height: 100%;\n width: 100%;\n z-index: 10000;\n\n .search_box {\n border-bottom: 1px solid var(--color-search-border);\n width: 100%;\n border-radius: 0;\n box-shadow: none;\n\n #send_search {\n .ltr-margin-right(0) !important; // Delete when send_search button is disabled on mobile.\n }\n\n * {\n border: none;\n border-radius: 0;\n box-shadow: none;\n }\n }\n }\n\n #main_results #q:placeholder-shown ~ #send_search {\n .ltr-margin-right(2.6rem);\n transition: margin 0.1s;\n }\n}\n\n@media screen and (max-width: @ultra-small-phone) {\n #search_header {\n grid-template-areas:\n \"search search\"\n \"categories categories\";\n }\n\n #search_logo {\n display: none;\n }\n}\n\n#categories {\n .disable-user-select;\n\n &::-webkit-scrollbar {\n width: 0;\n height: 0;\n }\n}\n\n#categories_container {\n position: relative;\n}\n","/*\n--center-page-width overrides the less variable @results-width when the results are centered\nsee the CSS rules for #results in style.less ( grid-template-columns and gap).\n\nIn this file, the --center-page-width values comes from the Oscar theme (Bootstrap 3).\n\nAll rules starts with \".center-aligment-yes #main_results\" to be enabled only\non the /search URL and when the \"center alignment\" preference is enabled.\n*/\n\n@media screen and (min-width: @phone) {\n .center-aligment-yes #main_results {\n --center-page-width: 48rem;\n }\n}\n\n@media screen and (min-width: 62rem) {\n .center-aligment-yes #main_results {\n --center-page-width: 60rem;\n }\n}\n\n@media screen and (min-width: @tablet) {\n .center-aligment-yes #main_results {\n --center-page-width: 73rem;\n }\n}\n\n@media screen and (min-width: @phone) and (max-width: @tablet) {\n // any change must be reset in @media screen and (min-width: @tablet) { ... }\n .center-aligment-yes #main_results {\n #results {\n grid-template-columns: 60% calc(40% - @results-gap);\n margin-left: 0;\n margin-right: 0;\n }\n\n #urls {\n .ltr-margin-left(3rem);\n }\n\n #sidebar {\n .ltr-margin-right(1rem);\n }\n\n #backToTop {\n .ltr-left(calc(60% + 1rem));\n }\n }\n}\n\n@media screen and (min-width: @tablet) {\n .center-aligment-yes #main_results {\n display: flex;\n flex-direction: column;\n align-items: center;\n\n #search {\n width: 100%;\n display: flex;\n flex-direction: column;\n align-items: center;\n }\n\n #search_header {\n grid-template-columns: calc(50% - 4.5rem - var(--center-page-width) / 2) 3rem var(--center-page-width);\n grid-template-areas: \"na logo search\" \"na spacer categories\";\n column-gap: 1.2rem; // from search.less\n width: 100%;\n padding-left: 0;\n padding-right: 0;\n }\n\n .search_filters {\n .ltr-margin-left(0.5rem);\n width: var(--center-page-width);\n }\n\n #results {\n // from style.less (when screen width = @tablet, reset layout from tablet)\n .ltr-margin-right(2rem);\n .ltr-margin-left(@results-offset);\n //\n\n &.only_template_images,\n &.image-detail-open {\n // * grid-template-columns and .ltr-margin-left are set in style.less\n // * With .image-detail-open.only_template_images, the width is set in detail.less\n // * #results is going to be centered because of the #main_results rules,\n // align-self aligns the results on the left or right according to the language.\n align-self: flex-start;\n }\n\n &:not(.only_template_images):not(.image-detail-open) {\n // the gap is set in style.less\n .ltr-margin-left(1.5rem);\n grid-template-columns: calc(var(--center-page-width) - @results-gap - @results-sidebar-width) @results-sidebar-width;\n\n #backToTop {\n .ltr-left(calc(50% - @results-sidebar-width - @results-gap + 1rem + var(--center-page-width) / 2));\n }\n }\n\n .result .content {\n max-width: inherit;\n }\n }\n\n // from style.less (when screen width = @tablet, reset layout from tablet)\n #urls {\n .ltr-margin-left(0);\n }\n\n #sidebar {\n .ltr-margin-right(0);\n }\n }\n}\n","/*\n* SearXNG, A privacy-respecting, hackable metasearch engine\n*\n* To convert \"style.less\" to \"style.css\" run: $make styles\n*/\n\n// stylelint-disable no-descending-specificity\n\n@import (inline) \"../../node_modules/normalize.css/normalize.css\";\n@import \"definitions.less\";\n@import \"mixins.less\";\n@import \"code.less\";\n@import \"toolkit.less\";\n@import \"autocomplete.less\";\n@import \"detail.less\";\n@import \"animations.less\";\n@import \"embedded.less\";\n@import \"info.less\";\n@import \"new_issue.less\";\n@import \"stats.less\";\n@import \"result_templates.less\";\n\n// for index.html template\n@import \"index.less\";\n\n// for preferences.html template\n@import \"preferences.less\";\n\n// Search-Field\n@import \"search.less\";\n\n// to center the results\n@import \"style-center.less\";\n\n// ion-icon\n.ion-icon {\n display: inline-block;\n vertical-align: bottom;\n line-height: 1;\n text-decoration: inherit;\n .ltr-transform();\n}\n\n.ion-icon-small {\n width: 1rem;\n height: 1rem;\n .ion-icon;\n}\n\n.ion-icon-big {\n width: 1.5rem;\n height: 1.5rem;\n .ion-icon;\n}\n\n// Main LESS-Code\nhtml {\n font-family: sans-serif;\n font-size: 0.9em;\n .text-size-adjust;\n\n color: var(--color-base-font);\n background-color: var(--color-base-background);\n padding: 0;\n margin: 0;\n}\n\nbody,\nmain {\n padding: 0;\n margin: 0;\n}\n\nbody {\n display: flex;\n flex-direction: column;\n height: 100vh;\n margin: 0;\n}\n\nmain {\n width: 100%;\n margin-bottom: 2rem;\n flex: 1;\n}\n\n.page_with_header {\n margin: 2em auto;\n width: 85em;\n}\n\nfooter {\n clear: both;\n min-height: 4rem;\n padding: 1rem 0;\n width: 100%;\n text-align: center;\n background-color: var(--color-footer-background);\n border-top: 1px solid var(--color-footer-border);\n overflow: hidden;\n\n p {\n font-size: 0.9em;\n }\n}\n\n.page_with_header .logo {\n height: 40px;\n}\n\ninput[type=\"submit\"],\n#results button[type=\"submit\"] {\n padding: 0.7rem;\n display: inline-block;\n background: var(--color-btn-background);\n color: var(--color-btn-font);\n .rounded-corners;\n\n border: 0;\n cursor: pointer;\n}\n\na {\n text-decoration: none;\n color: var(--color-url-font);\n\n &:visited {\n color: var(--color-url-visited-font);\n\n .highlight {\n color: var(--color-url-visited-font);\n }\n }\n}\n\narticle[data-vim-selected] {\n background: var(--color-result-vim-selected);\n .ltr-border-left(0.2rem solid var(--color-result-vim-arrow));\n .ltr-rounded-right-corners(10px);\n}\n\narticle.result-images[data-vim-selected] {\n background: var(--color-result-vim-arrow);\n border: none;\n .rounded-corners;\n\n .image_thumbnail {\n filter: opacity(60%);\n }\n\n span.title,\n span.source {\n color: var(--color-result-image-span-font-selected);\n }\n}\n\narticle[data-vim-selected].category-videos,\narticle[data-vim-selected].category-news,\narticle[data-vim-selected].category-map,\narticle[data-vim-selected].category-music,\narticle[data-vim-selected].category-files,\narticle[data-vim-selected].category-social {\n border: 1px solid var(--color-result-vim-arrow);\n .rounded-corners;\n}\n\n.result {\n margin: @results-margin 0;\n padding: @result-padding;\n .ltr-border-left(0.2rem solid transparent);\n\n h3 {\n font-size: 1.2rem;\n word-wrap: break-word;\n margin: 0.4rem 0 0.4rem 0;\n padding: 0;\n\n a {\n color: var(--color-result-link-font);\n font-weight: normal;\n font-size: 1.1em;\n\n &:visited {\n color: var(--color-result-link-visited-font);\n }\n\n &:focus,\n &:hover {\n text-decoration: underline;\n border: none;\n outline: none;\n }\n }\n }\n\n .cache_link,\n .proxyfied_link {\n font-size: 0.9em !important;\n }\n\n .content,\n .stat {\n font-size: 0.9em;\n margin: 0;\n padding: 0;\n max-width: 54em;\n word-wrap: break-word;\n line-height: 1.24;\n\n .highlight {\n color: var(--color-result-description-highlight-font);\n background: inherit;\n font-weight: bold;\n }\n }\n\n .altlink a {\n font-size: 0.9em;\n margin: 0 10px 0 0;\n .show-content-button;\n }\n\n .codelines {\n .highlight {\n color: inherit;\n background: inherit;\n font-weight: normal;\n }\n }\n\n .url_wrapper {\n display: flex;\n font-size: 1rem;\n color: var(--color-result-url-font);\n flex-wrap: nowrap;\n overflow: hidden;\n flex-direction: row;\n margin: 0;\n padding: 0;\n\n .url_o1 {\n white-space: nowrap;\n flex-shrink: 1;\n }\n\n .url_o1::after {\n content: \" \";\n width: 1ch;\n display: inline-block;\n }\n\n .url_o2 {\n overflow: hidden;\n white-space: nowrap;\n flex-basis: content;\n flex-grow: 0;\n flex-shrink: 1;\n text-align: right;\n\n .url_i2 {\n float: right;\n }\n }\n }\n\n .published_date,\n .result_length,\n .result_author,\n .result_shipping,\n .result_source_country {\n font-size: 0.8em;\n color: var(--color-result-publishdate-font);\n }\n\n .result_price {\n font-size: 1.2em;\n color: var(--color-result-description-highlight-font);\n }\n\n img {\n &.thumbnail {\n .ltr-float-left();\n padding-top: 0.6rem;\n .ltr-padding-right(1rem);\n width: 20rem;\n height: unset; // remove heigth value that was needed for lazy loading\n }\n\n &.image {\n .ltr-float-left();\n padding-top: 0.6rem;\n .ltr-padding-right(1rem);\n width: 7rem;\n max-height: 7rem;\n object-fit: scale-down;\n object-position: right top;\n }\n }\n\n .break {\n clear: both;\n }\n}\n\n.template_group_images {\n display: flex;\n flex-wrap: wrap;\n}\n\n.template_group_images::after {\n flex-grow: 10;\n content: \"\";\n}\n\n.category-videos,\n.category-news,\n.category-map,\n.category-music,\n.category-files,\n.category-social {\n border: 1px solid var(--color-result-border);\n margin: 1rem @results-tablet-offset 0 @results-tablet-offset !important;\n .rounded-corners;\n}\n\n.category-social .image {\n width: auto !important;\n min-width: 48px;\n min-height: 48px;\n padding: 0 5px 25px 0 !important;\n}\n\n.audio-control audio {\n width: 100%;\n padding: 10px 0 0 0;\n}\n\n.embedded-content iframe {\n width: 100%;\n padding: 10px 0 0 0;\n}\n\n.result-videos .content {\n overflow: hidden;\n}\n\n.result-videos .embedded-video iframe {\n width: 100%;\n aspect-ratio: 16 / 9;\n padding: 10px 0 0 0;\n}\n\n@supports not (aspect-ratio: 1 / 1) {\n // support older browsers which do not have aspect-ratio\n // https://caniuse.com/?search=aspect-ratio\n .result-videos .embedded-video iframe {\n height: calc(@results-width * 9 / 16);\n }\n}\n\n.engines {\n .ltr-float-right();\n color: var(--color-result-engines-font);\n\n span {\n font-size: smaller;\n margin-top: 0;\n margin-bottom: 0;\n .ltr-margin-right(0.5rem);\n .ltr-margin-left(0);\n }\n}\n\n.small_font {\n font-size: 0.8em;\n}\n\n.highlight {\n color: var(--color-result-link-font-highlight);\n background: inherit;\n}\n\n.empty_element {\n font-style: italic;\n}\n\n.result-images {\n flex-grow: 1;\n padding: 0.5rem 0.5rem 3rem 0.5rem;\n margin: 0.25rem;\n border: none !important;\n height: @results-image-row-height;\n\n & > a {\n position: relative;\n }\n\n img {\n margin: 0;\n padding: 0;\n border: none;\n height: 100%;\n width: 100%;\n object-fit: cover;\n vertical-align: bottom;\n background: var(--color-result-image-background);\n }\n\n span.title,\n span.source {\n display: block;\n position: absolute;\n\n width: 100%;\n font-size: 0.9rem;\n color: var(--color-result-image-span-font);\n padding: 0.5rem 0 0 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n\n span.source {\n padding: 1.8rem 0 0 0;\n font-size: 0.7rem;\n }\n}\n\n.result-map {\n img.image {\n .ltr-float-right() !important;\n height: 100px !important;\n width: auto !important;\n }\n\n table {\n font-size: 0.9em;\n width: auto;\n border-collapse: separate;\n border-spacing: 0 0.35rem;\n\n th {\n font-weight: inherit;\n width: 17rem;\n vertical-align: top;\n .ltr-text-align-left();\n }\n\n td {\n vertical-align: top;\n .ltr-text-align-left();\n }\n }\n}\n\n.hidden {\n display: none !important;\n}\n\n#results {\n margin-top: 1rem;\n .ltr-margin-right(2rem);\n margin-bottom: 0;\n .ltr-margin-left(@results-offset);\n display: grid;\n grid-template-columns: @results-width @results-sidebar-width;\n grid-template-rows: min-content min-content 1fr min-content;\n gap: 0 @results-gap;\n grid-template-areas:\n \"corrections sidebar\"\n \"answers sidebar\"\n \"urls sidebar\"\n \"pagination sidebar\";\n}\n\n#results #sidebar *:first-child,\n#results #urls *:first-child {\n margin-top: 0;\n}\n\n#urls {\n padding: 0;\n grid-area: urls;\n}\n\n#suggestions {\n .wrapper {\n display: flex;\n flex-flow: row wrap;\n justify-content: flex-end;\n\n form {\n display: inline-block;\n flex: 1 1 50%;\n }\n }\n}\n\n#suggestions,\n#infoboxes {\n input {\n padding: 0;\n margin: 3px;\n font-size: 0.9em;\n display: inline-block;\n background: transparent;\n color: var(--color-result-search-url-font);\n cursor: pointer;\n }\n\n input[type=\"submit\"],\n .infobox .url a {\n color: var(--color-result-link-font);\n text-decoration: none;\n font-size: 0.9rem;\n\n &:hover {\n text-decoration: underline;\n }\n }\n}\n\n#corrections {\n grid-area: corrections;\n display: flex;\n flex-flow: row wrap;\n margin: 0 0 1em 0;\n\n h4,\n input[type=\"submit\"] {\n display: inline-block;\n padding: 0.5rem;\n margin: 0.5rem;\n }\n\n input[type=\"submit\"] {\n font-size: 0.8rem;\n .rounded-corners-tiny;\n }\n}\n\n#suggestions .title,\n#search_url .title,\n#apis .title {\n margin: 2em 0 0.5em 0;\n color: var(--color-base-font);\n}\n\n#answers {\n grid-area: answers;\n background: var(--color-answer-background);\n padding: @result-padding;\n margin: 1rem 0;\n margin-top: 0;\n color: var(--color-answer-font);\n .rounded-corners;\n\n h4 {\n display: none;\n }\n\n span {\n overflow-wrap: anywhere;\n }\n}\n\n#infoboxes {\n form {\n min-width: 210px;\n }\n}\n\n#sidebar {\n grid-area: sidebar;\n word-wrap: break-word;\n color: var(--color-sidebar-font);\n\n .infobox {\n margin: 10px 0 10px;\n border: 1px solid var(--color-sidebar-border);\n padding: 1rem;\n font-size: 0.9em;\n .rounded-corners;\n\n h2 {\n margin: 0 0 0.5em 0;\n }\n\n img {\n max-width: 100%;\n max-height: 12em;\n display: block;\n margin: 0 auto;\n padding: 0;\n }\n\n dt {\n font-weight: bold;\n }\n\n .attributes {\n dl {\n margin: 0.5em 0;\n }\n\n dt {\n display: inline;\n margin-top: 0.5em;\n .ltr-margin-right(0.25em);\n margin-bottom: 0.5em;\n .ltr-margin-left(0);\n padding: 0;\n }\n\n dd {\n display: inline;\n margin: 0.5em 0;\n padding: 0;\n }\n }\n\n input {\n font-size: 1em;\n }\n\n br {\n clear: both;\n }\n\n .attributes,\n .urls {\n clear: both;\n }\n }\n}\n\n#search_url {\n margin-top: 8px;\n\n div.selectable_url {\n pre {\n width: 200em;\n }\n }\n}\n\n#links_on_top {\n position: absolute;\n .ltr-right(1.8rem);\n .ltr-text-align-right();\n top: 2.2rem;\n padding: 0;\n border: 0;\n display: flex;\n align-items: center;\n font-size: 1em;\n color: var(--color-search-font);\n\n a {\n display: flex;\n align-items: center;\n margin-left: 1em;\n\n svg {\n font-size: 1.2em;\n .ltr-margin-right(0.125em);\n }\n }\n\n a,\n a:link *,\n a:hover *,\n a:visited *,\n a:active * {\n color: var(--color-search-font);\n }\n}\n\n#pagination {\n grid-area: pagination;\n\n br {\n clear: both;\n }\n}\n\n#apis {\n margin-top: 8px;\n clear: both;\n}\n\n#backToTop {\n border: 1px solid var(--color-backtotop-border);\n margin: 0;\n padding: 0;\n font-size: 1em;\n background: var(--color-backtotop-background);\n position: fixed;\n bottom: 8rem;\n .ltr-left(@results-width + @results-offset + (0.5 * @results-gap - 1.2em));\n transition: opacity 0.5s;\n opacity: 0;\n .rounded-corners;\n\n a {\n display: block;\n margin: 0;\n padding: 0.7em;\n }\n\n a,\n a:visited,\n a:hover,\n a:active {\n color: var(--color-backtotop-font);\n }\n}\n\n#results.scrolling #backToTop {\n opacity: 1;\n}\n\n/*\n tablet layout\n*/\n\n.results-tablet() {\n #links_on_top {\n span {\n display: none;\n }\n }\n\n .page_with_header {\n margin: 2rem 0.5rem;\n width: auto;\n }\n\n #infoboxes {\n position: inherit;\n max-width: inherit;\n\n .infobox {\n clear: both;\n\n img {\n .ltr-float-left();\n max-width: 10em;\n margin-top: 0.5em;\n .ltr-margin-right(0.5em);\n margin-bottom: 0.5em;\n .ltr-margin-left(0);\n }\n }\n }\n\n #sidebar {\n margin: 0 @results-tablet-offset @results-margin @results-tablet-offset;\n padding: 0;\n float: none;\n border: none;\n width: auto;\n\n input {\n border: 0;\n }\n }\n\n #apis {\n display: none;\n }\n\n #search_url {\n display: none;\n }\n\n .result {\n .thumbnail {\n max-width: 98%;\n }\n\n .url {\n span.url {\n display: block;\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n width: 100%;\n }\n }\n\n .engines {\n .ltr-float-right();\n padding: 0 0 3px 0;\n }\n }\n\n .result-images {\n border-bottom: none !important;\n }\n\n .image_result {\n max-width: 98%;\n\n img {\n max-width: 98%;\n }\n }\n\n #backToTop {\n display: none;\n }\n\n #pagination {\n margin: 2rem 0 0 0 !important;\n }\n\n #main_results div#results {\n margin: 1rem auto 0 auto;\n justify-content: center;\n display: grid;\n grid-template-columns: @results-width;\n grid-template-rows: min-content min-content min-content 1fr min-content min-content;\n gap: 0;\n grid-template-areas:\n \"corrections\"\n \"answers\"\n \"sidebar\"\n \"urls\"\n \"pagination\";\n }\n}\n\n@media screen and (max-width: calc(@tablet - 0.5px)) {\n #links_on_top {\n span {\n display: none;\n }\n }\n}\n\n@media screen and (max-width: 52rem) {\n body.results_endpoint {\n #links_on_top {\n .link_on_top_about,\n .link_on_top_donate {\n display: none;\n }\n }\n }\n}\n\n@media screen and (min-width: @phone) and (max-width: @tablet) {\n // when .center-aligment-yes, see style-center.less\n // the media query includes \"min-width: @phone\"\n // because the phone layout includes the tablet layout unconditionally.\n .center-aligment-no {\n .results-tablet();\n }\n}\n\n/* Misc */\n\n#main_results div#results.only_template_images {\n margin: 1rem @results-tablet-offset 0 @results-tablet-offset;\n display: grid;\n grid-template-columns: 100%;\n grid-template-rows: min-content min-content min-content 1fr min-content;\n gap: 0;\n grid-template-areas:\n \"corrections\"\n \"answers\"\n \"sidebar\"\n \"urls\"\n \"pagination\";\n\n #sidebar {\n display: none;\n }\n\n #urls {\n margin: 0;\n display: flex;\n flex-wrap: wrap;\n }\n\n #urls::after {\n flex-grow: 10;\n content: \"\";\n }\n\n #backToTop {\n .ltr-left(auto);\n .ltr-right(1rem);\n }\n\n #pagination {\n .ltr-margin-right(4rem);\n }\n}\n\n/*\n phone layout\n*/\n\n@media screen and (max-width: @phone) {\n // based on the tablet layout\n .results-tablet();\n\n html {\n background-color: var(--color-base-background-mobile);\n }\n\n #main_results div#results {\n grid-template-columns: 100%;\n margin: 1rem 0 0 0;\n }\n\n #links_on_top {\n top: 0.8rem;\n .ltr-right(0.7rem);\n }\n\n #main_index #links_on_top {\n top: 0.5rem;\n .ltr-right(0.5rem);\n }\n\n #results {\n margin: 0;\n padding: 0;\n }\n\n #pagination {\n margin: 2rem 1rem 0 1rem !important;\n }\n\n article[data-vim-selected] {\n border: 1px solid var(--color-result-vim-arrow);\n .rounded-corners;\n }\n\n .result {\n background: var(--color-result-background);\n margin: 1rem 0;\n }\n\n .result-images {\n margin: 0;\n height: @results-image-row-height-phone;\n background: var(--color-base-background-mobile);\n }\n\n .infobox {\n border: none !important;\n background-color: var(--color-sidebar-background);\n }\n}\n\n/*\n small-phone layout\n*/\n\n@media screen and (max-width: @small-phone) {\n .result-videos {\n img.thumbnail {\n float: none !important;\n }\n\n .content {\n overflow: inherit;\n }\n }\n}\n\npre code {\n white-space: pre-wrap;\n}\n"]} \ No newline at end of file
+{"version":3,"sources":["node_modules/normalize.css/normalize.css","src/less/definitions.less","src/less/code.less","src/generated/pygments.less","src/less/toolkit.less","src/less/mixins.less","src/less/style-ltr.less","src/less/autocomplete.less","src/less/detail.less","src/less/animations.less","src/less/embedded.less","src/less/info.less","src/less/new_issue.less","src/less/stats.less","src/less/result_templates.less","src/less/index.less","src/less/preferences.less","src/less/search.less","src/less/style-center.less","src/less/style.less"],"names":[],"mappings":"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,aAGF,eACE,OAAA,IAAA,MAAA,QACA,OAAA,IAAA,EAGF,kBACE,OAAA,IAAA,MAAA,QACA,OAAA,IAAA,EACA,MAAA,KAGF,kBACE,OAAA,IAAA,MAAA,QACA,OAAA,IAAA,EACA,MAAA,KAGF,MACE,MAAA,EACA,OAAA,EV/FD,MUsGG,MAAA,GVtGH,MUsGG,MAAA,GVtGH,MUsGG,MAAA,GVtGH,MUsGG,MAAA,GVtGH,MUsGG,MAAA,GVtGH,MUsGG,MAAA,GVtGH,MUsGG,MAAA,GVtGH,MUsGG,MAAA,GVtGH,MUsGG,MAAA,GVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,MAAA,IVtGH,OUsGG,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","sourcesContent":["/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */\n\n/* Document\n ========================================================================== */\n\n/**\n * 1. Correct the line height in all browsers.\n * 2. Prevent adjustments of font size after orientation changes in iOS.\n */\n\nhtml {\n line-height: 1.15; /* 1 */\n -webkit-text-size-adjust: 100%; /* 2 */\n}\n\n/* Sections\n ========================================================================== */\n\n/**\n * Remove the margin in all browsers.\n */\n\nbody {\n margin: 0;\n}\n\n/**\n * Render the `main` element consistently in IE.\n */\n\nmain {\n display: block;\n}\n\n/**\n * Correct the font size and margin on `h1` elements within `section` and\n * `article` contexts in Chrome, Firefox, and Safari.\n */\n\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\n\n/* Grouping content\n ========================================================================== */\n\n/**\n * 1. Add the correct box sizing in Firefox.\n * 2. Show the overflow in Edge and IE.\n */\n\nhr {\n box-sizing: content-box; /* 1 */\n height: 0; /* 1 */\n overflow: visible; /* 2 */\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\npre {\n font-family: monospace, monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/* Text-level semantics\n ========================================================================== */\n\n/**\n * Remove the gray background on active links in IE 10.\n */\n\na {\n background-color: transparent;\n}\n\n/**\n * 1. Remove the bottom border in Chrome 57-\n * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n */\n\nabbr[title] {\n border-bottom: none; /* 1 */\n text-decoration: underline; /* 2 */\n text-decoration: underline dotted; /* 2 */\n}\n\n/**\n * Add the correct font weight in Chrome, Edge, and Safari.\n */\n\nb,\nstrong {\n font-weight: bolder;\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\ncode,\nkbd,\nsamp {\n font-family: monospace, monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/**\n * Add the correct font size in all browsers.\n */\n\nsmall {\n font-size: 80%;\n}\n\n/**\n * Prevent `sub` and `sup` elements from affecting the line height in\n * all browsers.\n */\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\n/* Embedded content\n ========================================================================== */\n\n/**\n * Remove the border on images inside links in IE 10.\n */\n\nimg {\n border-style: none;\n}\n\n/* Forms\n ========================================================================== */\n\n/**\n * 1. Change the font styles in all browsers.\n * 2. Remove the margin in Firefox and Safari.\n */\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: inherit; /* 1 */\n font-size: 100%; /* 1 */\n line-height: 1.15; /* 1 */\n margin: 0; /* 2 */\n}\n\n/**\n * Show the overflow in IE.\n * 1. Show the overflow in Edge.\n */\n\nbutton,\ninput { /* 1 */\n overflow: visible;\n}\n\n/**\n * Remove the inheritance of text transform in Edge, Firefox, and IE.\n * 1. Remove the inheritance of text transform in Firefox.\n */\n\nbutton,\nselect { /* 1 */\n text-transform: none;\n}\n\n/**\n * Correct the inability to style clickable types in iOS and Safari.\n */\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\n/**\n * Remove the inner border and padding in Firefox.\n */\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n border-style: none;\n padding: 0;\n}\n\n/**\n * Restore the focus styles unset by the previous rule.\n */\n\nbutton:-moz-focusring,\n[type=\"button\"]:-moz-focusring,\n[type=\"reset\"]:-moz-focusring,\n[type=\"submit\"]:-moz-focusring {\n outline: 1px dotted ButtonText;\n}\n\n/**\n * Correct the padding in Firefox.\n */\n\nfieldset {\n padding: 0.35em 0.75em 0.625em;\n}\n\n/**\n * 1. Correct the text wrapping in Edge and IE.\n * 2. Correct the color inheritance from `fieldset` elements in IE.\n * 3. Remove the padding so developers are not caught out when they zero out\n * `fieldset` elements in all browsers.\n */\n\nlegend {\n box-sizing: border-box; /* 1 */\n color: inherit; /* 2 */\n display: table; /* 1 */\n max-width: 100%; /* 1 */\n padding: 0; /* 3 */\n white-space: normal; /* 1 */\n}\n\n/**\n * Add the correct vertical alignment in Chrome, Firefox, and Opera.\n */\n\nprogress {\n vertical-align: baseline;\n}\n\n/**\n * Remove the default vertical scrollbar in IE 10+.\n */\n\ntextarea {\n overflow: auto;\n}\n\n/**\n * 1. Add the correct box sizing in IE 10.\n * 2. Remove the padding in IE 10.\n */\n\n[type=\"checkbox\"],\n[type=\"radio\"] {\n box-sizing: border-box; /* 1 */\n padding: 0; /* 2 */\n}\n\n/**\n * Correct the cursor style of increment and decrement buttons in Chrome.\n */\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n/**\n * 1. Correct the odd appearance in Chrome and Safari.\n * 2. Correct the outline style in Safari.\n */\n\n[type=\"search\"] {\n -webkit-appearance: textfield; /* 1 */\n outline-offset: -2px; /* 2 */\n}\n\n/**\n * Remove the inner padding in Chrome and Safari on macOS.\n */\n\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n/**\n * 1. Correct the inability to style clickable types in iOS and Safari.\n * 2. Change font properties to `inherit` in Safari.\n */\n\n::-webkit-file-upload-button {\n -webkit-appearance: button; /* 1 */\n font: inherit; /* 2 */\n}\n\n/* Interactive\n ========================================================================== */\n\n/*\n * Add the correct display in Edge, IE 10+, and Firefox.\n */\n\ndetails {\n display: block;\n}\n\n/*\n * Add the correct display in all browsers.\n */\n\nsummary {\n display: list-item;\n}\n\n/* Misc\n ========================================================================== */\n\n/**\n * Add the correct display in IE 10+.\n */\n\ntemplate {\n display: none;\n}\n\n/**\n * Add the correct display in IE 10.\n */\n\n[hidden] {\n display: none;\n}\n","/*\n * SearXNG, A privacy-respecting, hackable metasearch engine\n *\n * To change the colors of the site, simple edit this variables\n */\n\n/// Light Theme\n:root {\n /// Base Colors\n --color-base-font: #444;\n --color-base-font-rgb: 68, 68, 68;\n --color-base-background: #fff;\n --color-base-background-mobile: #f2f5f8;\n --color-url-font: #334999;\n --color-url-visited-font: #9822c3;\n /// Header Colors\n --color-header-background: #fdfbff;\n --color-header-border: #ddd;\n /// Footer Colors\n --color-footer-background: #fdfbff;\n --color-footer-border: #ddd;\n /// Sidebar Colors\n --color-sidebar-border: #ddd;\n --color-sidebar-font: #000;\n --color-sidebar-background: #fff;\n /// BackToTop Colors\n --color-backtotop-font: #444;\n --color-backtotop-border: #ddd;\n --color-backtotop-background: #fff;\n /// Button Colors\n --color-btn-background: #3050ff;\n --color-btn-font: #fff;\n --color-show-btn-background: #bbb;\n --color-show-btn-font: #000;\n /// Search Input Colors\n --color-search-border: #bbb;\n --color-search-shadow: 0 2px 8px rgb(34 38 46 / 25%);\n --color-search-background: #fff;\n --color-search-font: #222;\n --color-search-background-hover: #3050ff;\n /// Modal Colors\n --color-error: #db3434;\n --color-error-background: lighten(#db3434, 40%);\n --color-warning: #dbba34;\n --color-warning-background: lighten(#dbba34, 40%);\n --color-success: #42db34;\n --color-success-background: lighten(#42db34, 40%);\n /// Categories Colors\n --color-categories-item-selected-font: #3050ff;\n --color-categories-item-border-selected: #3050ff;\n /// Autocomplete Colors\n --color-autocomplete-font: #000;\n --color-autocomplete-border: #bbb;\n --color-autocomplete-shadow: 0 2px 8px rgb(34 38 46 / 25%);\n --color-autocomplete-background: #fff;\n --color-autocomplete-background-hover: #e3e3e3;\n /// Answer Colors\n --color-answer-font: #444; // same as --color-base-font\n --color-answer-background: #fff;\n /// Results Colors\n --color-result-background: #fff;\n --color-result-border: #ddd;\n --color-result-url-font: #000;\n --color-result-vim-selected: #f7f7f7;\n --color-result-vim-arrow: #000bbb;\n --color-result-description-highlight-font: #000;\n --color-result-link-font: #000bbb;\n --color-result-link-font-highlight: #000bbb;\n --color-result-link-visited-font: #9822c3;\n --color-result-publishdate-font: #777;\n --color-result-engines-font: #545454;\n --color-result-search-url-border: #ddd;\n --color-result-search-url-font: #000;\n // Images Colors\n --color-result-image-span-font: #444;\n --color-result-image-span-font-selected: #fff;\n --color-result-image-background: #fff;\n /// Settings Colors\n --color-settings-tr-hover: #ebebeb;\n --color-settings-engine-description-font: #545454;\n --color-settings-engine-group-background: #0001;\n /// Detail modal\n --color-result-detail-font: #fff;\n --color-result-detail-label-font: lightgray;\n --color-result-detail-background: #242424;\n --color-result-detail-hr: #555;\n --color-result-detail-link: #8af;\n --color-result-detail-loader-border: rgba(255, 255, 255, 0.2);\n --color-result-detail-loader-borderleft: rgba(0, 0, 0, 0);\n /// Toolkit Colors\n --color-toolkit-badge-font: #fff;\n --color-toolkit-badge-background: #545454;\n --color-toolkit-kbd-font: #fff;\n --color-toolkit-kbd-background: #000;\n --color-toolkit-dialog-border: #ddd;\n --color-toolkit-dialog-background: #fff;\n --color-toolkit-tabs-label-border: #fff;\n --color-toolkit-tabs-section-border: #ddd;\n --color-toolkit-select-background: #e1e1e1;\n --color-toolkit-select-border: #ddd;\n --color-toolkit-select-background-hover: #bbb;\n --color-toolkit-input-text-font: #222;\n --color-toolkit-checkbox-onoff-off-background: #ddd;\n --color-toolkit-checkbox-onoff-on-background: #ddd;\n --color-toolkit-checkbox-onoff-on-mark-background: #3050ff;\n --color-toolkit-checkbox-onoff-on-mark-color: #fff;\n --color-toolkit-checkbox-onoff-off-mark-background: #aaa;\n --color-toolkit-checkbox-onoff-off-mark-color: #fff;\n --color-toolkit-checkbox-label-background: #ddd;\n --color-toolkit-checkbox-label-border: #ddd;\n --color-toolkit-checkbox-input-border: #3050ff;\n --color-toolkit-engine-tooltip-border: #ddd;\n --color-toolkit-engine-tooltip-background: #fff;\n --color-toolkit-loader-border: rgba(0, 0, 0, 0.2);\n --color-toolkit-loader-borderleft: rgba(255, 255, 255, 0);\n --color-doc-code: #300;\n --color-doc-code-background: #fdd;\n}\n\n.dark-themes() {\n /// Base Colors\n --color-base-font: #bbb;\n --color-base-font-rgb: 187, 187, 187;\n --color-base-background: #222428;\n --color-base-background-mobile: #222428;\n --color-url-font: #8af;\n --color-url-visited-font: #c09cd9;\n /// Header Colors\n --color-header-background: #1e1e22;\n --color-header-border: #333;\n /// Footer Colors\n --color-footer-background: #1e1e22;\n --color-footer-border: #333;\n /// Sidebar Colors\n --color-sidebar-border: #555;\n --color-sidebar-font: #fff;\n --color-sidebar-background: #292c34;\n /// BackToTop Colors\n --color-backtotop-font: #bbb;\n --color-backtotop-border: #333;\n --color-backtotop-background: #2b2e36;\n /// Button Colors\n --color-btn-background: #58f;\n --color-btn-font: #222;\n --color-show-btn-background: #555;\n --color-show-btn-font: #fff;\n /// Search Input Colors\n --color-search-border: #555;\n --color-search-shadow: 0 2px 8px rgb(34 38 46 / 25%);\n --color-search-background: #2b2e36;\n --color-search-font: #fff;\n --color-search-background-hover: #58f;\n /// Modal Colors\n --color-error: #f55b5b;\n --color-error-background: darken(#db3434, 40%);\n --color-warning: #f1d561;\n --color-warning-background: darken(#dbba34, 40%);\n --color-success: #79f56e;\n --color-success-background: darken(#42db34, 40%);\n /// Categories Colors\n --color-categories-item-selected-font: #58f;\n --color-categories-item-border-selected: #58f;\n /// Autocomplete Colors\n --color-autocomplete-font: #fff;\n --color-autocomplete-border: #555;\n --color-autocomplete-shadow: 0 2px 8px rgb(34 38 46 / 25%);\n --color-autocomplete-background: #2b2e36;\n --color-autocomplete-background-hover: #1e1e22;\n /// Answer Colors\n --color-answer-font: #bbb; // same as --color-base-font\n --color-answer-background: #26292f;\n /// Results Colors\n --color-result-background: #26292f;\n --color-result-border: #333;\n --color-result-url-font: #fff;\n --color-result-vim-selected: #1f1f23cc;\n --color-result-vim-arrow: #8af;\n --color-result-description-highlight-font: #fff;\n --color-result-link-font: #8af;\n --color-result-link-font-highlight: #8af;\n --color-result-link-visited-font: #c09cd9;\n --color-result-publishdate-font: #888;\n --color-result-engines-font: #a4a4a4;\n --color-result-search-url-border: #555;\n --color-result-search-url-font: #fff;\n /// Detail modal : same as the light version\n --color-result-detail-font: #fff;\n --color-result-detail-label-font: lightgray;\n --color-result-detail-background: #1a1a1c;\n --color-result-detail-hr: #555;\n --color-result-detail-link: #8af;\n --color-result-detail-loader-border: rgba(255, 255, 255, 0.2);\n --color-result-detail-loader-borderleft: rgba(0, 0, 0, 0);\n // Images Colors\n --color-result-image-span-font: #bbb;\n --color-result-image-span-font-selected: #222;\n --color-result-image-background: #222;\n /// Settings Colors\n --color-settings-tr-hover: #2c2c32;\n --color-settings-engine-description-font: darken(#dcdcdc, 30%);\n --color-settings-engine-group-background: #1b1b21;\n /// Toolkit Colors\n --color-toolkit-badge-font: #fff;\n --color-toolkit-badge-background: #555;\n --color-toolkit-kbd-font: #000;\n --color-toolkit-kbd-background: #fff;\n --color-toolkit-dialog-border: #555;\n --color-toolkit-dialog-background: #1e1e22;\n --color-toolkit-tabs-label-border: #222;\n --color-toolkit-tabs-section-border: #555;\n --color-toolkit-select-background: #313338;\n --color-toolkit-select-border: #555;\n --color-toolkit-select-background-hover: #373b49;\n --color-toolkit-input-text-font: #fff;\n --color-toolkit-checkbox-onoff-off-background: #313338;\n --color-toolkit-checkbox-onoff-on-background: #313338;\n --color-toolkit-checkbox-onoff-on-mark-background: #58f;\n --color-toolkit-checkbox-onoff-on-mark-color: #222;\n --color-toolkit-checkbox-onoff-off-mark-background: #ddd;\n --color-toolkit-checkbox-onoff-off-mark-color: #222;\n --color-toolkit-checkbox-label-background: #222;\n --color-toolkit-checkbox-label-border: #333;\n --color-toolkit-checkbox-input-border: #58f;\n --color-toolkit-engine-tooltip-border: #333;\n --color-toolkit-engine-tooltip-background: #222;\n --color-toolkit-loader-border: rgba(255, 255, 255, 0.2);\n --color-toolkit-loader-borderleft: rgba(0, 0, 0, 0);\n --color-doc-code: #fdd;\n --color-doc-code-background: #300;\n}\n\n/// Dark Theme (autoswitch based on device pref)\n@media (prefers-color-scheme: dark) {\n :root.theme-auto {\n .dark-themes();\n }\n}\n\n// Dark Theme by preferences\n:root.theme-dark {\n .dark-themes();\n}\n\n/// General Size\n@results-width: 45rem;\n@results-sidebar-width: 25rem;\n@results-offset: 10rem;\n@results-tablet-offset: 0.5rem;\n@results-gap: 5rem;\n@results-margin: 0.125rem;\n@result-padding: 1rem;\n@results-image-row-height: 12rem;\n@results-image-row-height-phone: 6rem;\n@search-width: 44rem;\n// heigh of #search, see detail.less\n@search-height: 7.6rem;\n\n/// Device Size\n/// @desktop > @tablet\n@tablet: 79.75em; // see https://github.com/searxng/searxng/issues/874\n@phone: 50em;\n@small-phone: 35em;\n@ultra-small-phone: 20rem;\n\n/// From style.less\n@stacked-bar-chart: rgb(0, 0, 0);\n\n/// Load fonts from this directory.\n@icon-font-path: \"../../../fonts/\";\n//** File name for all font files.\n@icon-font-name: \"glyphicons-halflings-regular\";\n//** Element ID within SVG icon file.\n@icon-font-svg-id: \"glyphicons_halflingsregular\";\n\n// decoration of the select HTML elements\n@select-light-svg-path: \"../svg/select-light.svg\";\n@select-dark-svg-path: \"../svg/select-dark.svg\";\n",".code-highlight pre {\n overflow: auto;\n background-color: inherit;\n color: inherit;\n border: inherit;\n}\n\n// stylelint-disable no-invalid-position-at-import-rule\n@import \"../generated/pygments.less\";\n","/*\n this file is generated automatically by searxng_extra/update/update_pygments.py\n using pygments version 2.13.0\n*/\n\n.code-highlight .linenos {\n -webkit-touch-callout: none;\n -webkit-user-select: none;\n -khtml-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n cursor: default;\n\n &::selection {\n background: transparent; /* WebKit/Blink Browsers */\n }\n &::-moz-selection {\n background: transparent; /* Gecko Browsers */\n }\n\n margin-right: 8px;\n text-align: right;\n}\n\n.code-highlight pre { line-height: 125%; }\n.code-highlight td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }\n.code-highlight span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }\n.code-highlight td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }\n.code-highlight span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }\n.code-highlight .hll { background-color: #ffffcc }\n.code-highlight { background: #f8f8f8; }\n.code-highlight .c { color: #3D7B7B; font-style: italic } /* Comment */\n.code-highlight .err { border: 1px solid #FF0000 } /* Error */\n.code-highlight .k { color: #008000; font-weight: bold } /* Keyword */\n.code-highlight .o { color: #666666 } /* Operator */\n.code-highlight .ch { color: #3D7B7B; font-style: italic } /* Comment.Hashbang */\n.code-highlight .cm { color: #3D7B7B; font-style: italic } /* Comment.Multiline */\n.code-highlight .cp { color: #9C6500 } /* Comment.Preproc */\n.code-highlight .cpf { color: #3D7B7B; font-style: italic } /* Comment.PreprocFile */\n.code-highlight .c1 { color: #3D7B7B; font-style: italic } /* Comment.Single */\n.code-highlight .cs { color: #3D7B7B; font-style: italic } /* Comment.Special */\n.code-highlight .gd { color: #A00000 } /* Generic.Deleted */\n.code-highlight .ge { font-style: italic } /* Generic.Emph */\n.code-highlight .gr { color: #E40000 } /* Generic.Error */\n.code-highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */\n.code-highlight .gi { color: #008400 } /* Generic.Inserted */\n.code-highlight .go { color: #717171 } /* Generic.Output */\n.code-highlight .gp { color: #000080; font-weight: bold } /* Generic.Prompt */\n.code-highlight .gs { font-weight: bold } /* Generic.Strong */\n.code-highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */\n.code-highlight .gt { color: #0044DD } /* Generic.Traceback */\n.code-highlight .kc { color: #008000; font-weight: bold } /* Keyword.Constant */\n.code-highlight .kd { color: #008000; font-weight: bold } /* Keyword.Declaration */\n.code-highlight .kn { color: #008000; font-weight: bold } /* Keyword.Namespace */\n.code-highlight .kp { color: #008000 } /* Keyword.Pseudo */\n.code-highlight .kr { color: #008000; font-weight: bold } /* Keyword.Reserved */\n.code-highlight .kt { color: #B00040 } /* Keyword.Type */\n.code-highlight .m { color: #666666 } /* Literal.Number */\n.code-highlight .s { color: #BA2121 } /* Literal.String */\n.code-highlight .na { color: #687822 } /* Name.Attribute */\n.code-highlight .nb { color: #008000 } /* Name.Builtin */\n.code-highlight .nc { color: #0000FF; font-weight: bold } /* Name.Class */\n.code-highlight .no { color: #880000 } /* Name.Constant */\n.code-highlight .nd { color: #AA22FF } /* Name.Decorator */\n.code-highlight .ni { color: #717171; font-weight: bold } /* Name.Entity */\n.code-highlight .ne { color: #CB3F38; font-weight: bold } /* Name.Exception */\n.code-highlight .nf { color: #0000FF } /* Name.Function */\n.code-highlight .nl { color: #767600 } /* Name.Label */\n.code-highlight .nn { color: #0000FF; font-weight: bold } /* Name.Namespace */\n.code-highlight .nt { color: #008000; font-weight: bold } /* Name.Tag */\n.code-highlight .nv { color: #19177C } /* Name.Variable */\n.code-highlight .ow { color: #AA22FF; font-weight: bold } /* Operator.Word */\n.code-highlight .w { color: #bbbbbb } /* Text.Whitespace */\n.code-highlight .mb { color: #666666 } /* Literal.Number.Bin */\n.code-highlight .mf { color: #666666 } /* Literal.Number.Float */\n.code-highlight .mh { color: #666666 } /* Literal.Number.Hex */\n.code-highlight .mi { color: #666666 } /* Literal.Number.Integer */\n.code-highlight .mo { color: #666666 } /* Literal.Number.Oct */\n.code-highlight .sa { color: #BA2121 } /* Literal.String.Affix */\n.code-highlight .sb { color: #BA2121 } /* Literal.String.Backtick */\n.code-highlight .sc { color: #BA2121 } /* Literal.String.Char */\n.code-highlight .dl { color: #BA2121 } /* Literal.String.Delimiter */\n.code-highlight .sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */\n.code-highlight .s2 { color: #BA2121 } /* Literal.String.Double */\n.code-highlight .se { color: #AA5D1F; font-weight: bold } /* Literal.String.Escape */\n.code-highlight .sh { color: #BA2121 } /* Literal.String.Heredoc */\n.code-highlight .si { color: #A45A77; font-weight: bold } /* Literal.String.Interpol */\n.code-highlight .sx { color: #008000 } /* Literal.String.Other */\n.code-highlight .sr { color: #A45A77 } /* Literal.String.Regex */\n.code-highlight .s1 { color: #BA2121 } /* Literal.String.Single */\n.code-highlight .ss { color: #19177C } /* Literal.String.Symbol */\n.code-highlight .bp { color: #008000 } /* Name.Builtin.Pseudo */\n.code-highlight .fm { color: #0000FF } /* Name.Function.Magic */\n.code-highlight .vc { color: #19177C } /* Name.Variable.Class */\n.code-highlight .vg { color: #19177C } /* Name.Variable.Global */\n.code-highlight .vi { color: #19177C } /* Name.Variable.Instance */\n.code-highlight .vm { color: #19177C } /* Name.Variable.Magic */\n.code-highlight .il { color: #666666 } /* Literal.Number.Integer.Long */\n","// other solution : http://stackoverflow.com/questions/1577598/how-to-hide-parts-of-html-when-javascript-is-disabled/13857783#13857783\n\n// stylelint-disable no-descending-specificity\n\nhtml.no-js .hide_if_nojs {\n display: none;\n}\n\nhtml.js .show_if_nojs {\n display: none;\n}\n\n.center {\n text-align: center;\n}\n\n.right {\n float: right;\n}\n\n.left {\n float: left;\n}\n\n.invisible {\n display: none !important;\n}\n\n.list-unstyled {\n list-style-type: none;\n\n li {\n margin-top: 4px;\n margin-bottom: 4px;\n }\n}\n\n.danger {\n background-color: var(--color-error-background);\n}\n\n.warning {\n background: var(--color-warning-background);\n}\n\n.success {\n background: var(--color-success-background);\n}\n\n.badge {\n display: inline-block;\n color: var(--color-toolkit-badge-font);\n background-color: var(--color-toolkit-badge-background);\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n min-width: 10px;\n padding: 1px 5px;\n border-radius: 5px;\n}\n\n// kbd\nkbd {\n padding: 2px 4px;\n margin: 1px;\n font-size: 90%;\n color: var(--color-toolkit-kbd-font);\n background: var(--color-toolkit-kbd-background);\n}\n\n// table\ntable {\n width: 100%;\n\n &.striped {\n tr {\n border-bottom: 1px solid var(--color-settings-tr-hover);\n }\n }\n}\n\nth {\n padding: 0.4em;\n}\n\ntd {\n padding: 0 4px;\n}\n\ntr {\n &:hover {\n background: var(--color-settings-tr-hover) !important;\n }\n}\n\n// pre\n.pre() {\n display: block;\n font-size: 0.8em;\n word-break: break-all;\n margin: 0.1em;\n user-select: all;\n}\n\ndiv.selectable_url {\n display: block;\n border: 1px solid var(--color-result-search-url-border);\n padding: 4px;\n color: var(--color-result-search-url-font);\n margin: 0.1em;\n overflow: hidden;\n height: 1.2em;\n line-height: 1.2em;\n .rounded-corners-tiny;\n\n pre {\n .pre();\n }\n}\n\n// dialog\n.dialog() {\n position: relative;\n display: flex;\n padding: 1rem;\n margin: 0 0 1em 0;\n border: 1px solid var(--color-toolkit-dialog-border);\n .ltr-text-align-left();\n .rounded-corners;\n\n .close {\n .ltr-float-right();\n position: relative;\n top: -3px;\n color: inherit;\n font-size: 1.5em;\n }\n\n ul,\n ol,\n p {\n margin: 1px 0 0 0;\n }\n\n table {\n width: auto;\n }\n\n tr {\n vertical-align: text-top;\n\n &:hover {\n background: transparent !important;\n }\n }\n\n td {\n padding: 0 1em 0 0;\n padding-top: 0;\n .ltr-padding-right(1rem);\n padding-bottom: 0;\n .ltr-padding-left(0);\n }\n\n h4 {\n margin-top: 0.3em;\n margin-bottom: 0.3em;\n }\n}\n\n.dialog-error {\n .dialog();\n\n color: var(--color-error);\n background: var(--color-error-background);\n border-color: var(--color-error);\n}\n\n.dialog-warning {\n .dialog();\n\n color: var(--color-warning);\n background: var(--color-warning-background);\n border-color: var(--color-warning);\n}\n\n.dialog-modal {\n .dialog();\n\n display: block;\n background: var(--color-toolkit-dialog-background);\n position: fixed;\n top: 50%;\n left: 50%;\n margin: 0 auto;\n transform: translate(-50%, -50%);\n z-index: 10000000;\n\n h3 {\n margin-top: 0;\n }\n}\n\n// btn-collapse\n.btn-collapse {\n cursor: pointer;\n}\n\n//\n.scrollx {\n overflow-x: auto;\n overflow-y: hidden;\n display: block;\n padding: 0;\n margin: 0;\n border: none;\n}\n\n/* -- tabs -- */\n.tabs .tabs > label {\n font-size: 90%;\n}\n\nul.tabs {\n border-bottom: 1px solid var(--color-toolkit-tabs-section-border);\n list-style: none;\n padding-left: 0;\n\n li {\n display: flex;\n }\n}\n\n.tabs {\n display: flex;\n flex-wrap: wrap;\n width: 100%;\n min-width: 100%;\n\n & > * {\n order: 2;\n }\n\n & > input[type=radio] {\n display: none;\n }\n\n & > label,\n & > li > a {\n order: 1;\n padding: 0.7em;\n margin: 0 0.7em;\n letter-spacing: 0.5px;\n text-transform: uppercase;\n border: solid var(--color-toolkit-tabs-label-border);\n border-width: 0 0 2px 0;\n color: unset;\n\n .disable-user-select();\n\n cursor: pointer;\n\n &.active {\n border-bottom: 2px solid var(--color-categories-item-border-selected);\n background: var(--color-categories-item-selected);\n color: var(--color-categories-item-selected-font);\n }\n }\n\n & > label:hover,\n & > li > a:hover {\n border-bottom: 2px solid var(--color-categories-item-border-selected);\n }\n\n & > section {\n min-width: 100%;\n padding: 0.7rem 0;\n box-sizing: border-box;\n border-top: 1px solid var(--color-toolkit-tabs-section-border);\n display: none;\n }\n\n // default selection\n & > label:last-of-type {\n border-bottom: 2px solid var(--color-categories-item-border-selected);\n background: var(--color-categories-item-selected);\n color: var(--color-categories-item-selected-font);\n letter-spacing: -0.1px;\n }\n\n & > section:last-of-type {\n display: block;\n }\n}\n\nhtml body .tabs > input:checked {\n ~ section {\n display: none;\n }\n\n ~ label {\n position: inherited;\n background: inherit;\n border-bottom: 2px solid transparent;\n font-weight: normal;\n color: inherit;\n\n &:hover {\n border-bottom: 2px solid var(--color-categories-item-border-selected);\n }\n }\n\n + label {\n border-bottom: 2px solid var(--color-categories-item-border-selected);\n background: var(--color-categories-item-selected);\n color: var(--color-categories-item-selected-font);\n }\n\n + label + section {\n display: block;\n }\n}\n\n/* -- select -- */\nselect {\n height: 2.4rem;\n margin-top: 0;\n .ltr-margin-right(1rem);\n margin-bottom: 0;\n .ltr-margin-left(0);\n padding: 0.2rem !important;\n color: var(--color-search-font);\n font-size: 0.9rem;\n z-index: 2;\n\n &:hover,\n &:focus {\n cursor: pointer;\n }\n}\n\n@supports ((background-position-x: 100%) and ((appearance: none) or (-webkit-appearance: none) or (-moz-appearance: none))) {\n select {\n appearance: none;\n -webkit-appearance: none;\n -moz-appearance: none;\n border-width: 0 2rem 0 0;\n border-color: transparent;\n background: data-uri('image/svg+xml;charset=UTF-8', @select-light-svg-path) no-repeat;\n background-position-x: calc(100% + 2rem);\n background-size: 2rem;\n background-origin: content-box;\n background-color: var(--color-toolkit-select-background);\n outline: medium none;\n text-overflow: ellipsis;\n .rounded-corners-tiny;\n\n &:hover,\n &:focus {\n background-color: var(--color-toolkit-select-background-hover);\n }\n\n option {\n background-color: var(--color-base-background);\n }\n }\n\n @media (prefers-color-scheme: dark) {\n html.theme-auto select,\n html.theme-dark select {\n background-image: data-uri('image/svg+xml;charset=UTF-8', @select-dark-svg-path);\n }\n }\n\n html.theme-dark select {\n background-image: data-uri('image/svg+xml;charset=UTF-8', @select-dark-svg-path);\n }\n}\n\n/* -- checkbox-onoff -- */\ninput.checkbox-onoff[type=\"checkbox\"] {\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n cursor: pointer;\n display: inline-block;\n width: 2.5em;\n height: 0.7em;\n box-shadow: none !important;\n margin: 0 16px;\n border-radius: 10px;\n position: relative;\n\n /* focus & hover */\n &:focus,\n &:hover {\n outline: none;\n }\n\n &:focus::after {\n content: \"\";\n position: absolute;\n width: 3.5em;\n height: 1.65em;\n border: 1px solid var(--color-btn-background);\n border-radius: 12px;\n box-shadow: var(--color-btn-background) 0 0 3px;\n z-index: 10000;\n top: -0.55em;\n left: -0.6em;\n }\n\n &::before {\n position: absolute;\n top: -0.5em;\n display: flex;\n justify-content: center;\n align-items: center;\n font-size: 0.75em;\n width: 1.875em;\n height: 1.875em;\n border-radius: 50%;\n }\n}\n\n/* check mark\nreversed-checkbox displays unchecked checkedboxes as checked, and vice versa.\nsee https://github.com/searxng/searxng/blob/3408d061aab9abc6168fec9bbc6deab71b236dac/searx/templates/simple/preferences.html#L313\n*/\ninput.checkbox-onoff[type=\"checkbox\"],\n.reversed-checkbox input.checkbox-onoff[type=\"checkbox\"]:checked {\n background: var(--color-toolkit-checkbox-onoff-off-background);\n\n &::before {\n left: -0.5em;\n content: \"\\2715\";\n color: var(--color-toolkit-checkbox-onoff-off-mark-color);\n background: var(--color-toolkit-checkbox-onoff-off-mark-background);\n }\n}\n\ninput.checkbox-onoff[type=\"checkbox\"]:checked,\n.reversed-checkbox input.checkbox-onoff[type=\"checkbox\"] {\n background: var(--color-toolkit-checkbox-onoff-on-background);\n\n &::before {\n left: calc(100% - 1.5em);\n content: \"\\2713\";\n color: var(--color-toolkit-checkbox-onoff-on-mark-color);\n background: var(--color-toolkit-checkbox-onoff-on-mark-background);\n }\n}\n\n/* -- checkbox -- */\n@supports (transform: rotate(-45deg)) {\n input[type=checkbox]:not(.checkbox-onoff) {\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n\n width: 20px;\n height: 20px;\n cursor: pointer;\n position: relative;\n top: 0;\n left: 0;\n border: 2px solid var(--color-toolkit-checkbox-input-border);\n .rounded-corners(0.3em);\n\n &::after {\n content: '';\n width: 9px;\n height: 5px;\n position: absolute;\n top: 3px;\n left: 2px;\n border: 3px solid var(--color-toolkit-checkbox-label-border);\n border-top: none;\n border-right: none;\n background: transparent;\n opacity: 0;\n transform: rotate(-45deg);\n }\n\n &:checked::after {\n border-color: var(--color-toolkit-checkbox-input-border);\n opacity: 1;\n }\n }\n\n // disabled : can't be focused, show only the check mark\n input[type=checkbox][disabled]:not(.checkbox-onoff) {\n border: inherit;\n background-color: transparent !important;\n cursor: inherit;\n }\n\n // if not checked and possible to checked then display a \"light\" check mark on hover\n input.checkbox[type=checkbox]:not(:checked):not([disabled]):not(.checkbox-onoff):hover::after {\n opacity: 0.5;\n }\n}\n\n@media screen and (max-width: @phone) {\n .tabs > label {\n width: 100%;\n }\n}\n\n/* -- loader -- */\n.loader,\n.loader::after {\n border-radius: 50%;\n width: 2em;\n height: 2em;\n}\n\n.loader {\n margin: 1em auto;\n font-size: 10px;\n position: relative;\n text-indent: -9999em;\n border-top: 0.5em solid var(--color-toolkit-loader-border);\n border-right: 0.5em solid var(--color-toolkit-loader-border);\n border-bottom: 0.5em solid var(--color-toolkit-loader-border);\n border-left: 0.5em solid var(--color-toolkit-loader-borderleft);\n -webkit-transform: translateZ(0);\n -ms-transform: translateZ(0);\n transform: translateZ(0);\n -webkit-animation: load8 1.2s infinite linear;\n animation: load8 1.2s infinite linear;\n}\n\n@-webkit-keyframes load8 {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n\n 100% {\n -webkit-transform: rotate(360deg);\n transform: rotate(360deg);\n }\n}\n\n@keyframes load8 {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n\n 100% {\n -webkit-transform: rotate(360deg);\n transform: rotate(360deg);\n }\n}\n\n/* -- engine-tooltip -- */\n.engine-tooltip {\n display: none;\n position: absolute;\n padding: 0.5rem 1rem;\n margin: 0 0 0 2rem;\n border: 1px solid var(--color-toolkit-engine-tooltip-border);\n background: var(--color-toolkit-engine-tooltip-background);\n font-size: 14px;\n font-weight: normal;\n z-index: 1000000;\n text-align: left;\n .rounded-corners;\n}\n\nth:hover .engine-tooltip,\ntd:hover .engine-tooltip,\n.engine-tooltip:hover {\n display: inline-block;\n}\n\n/* -- stacked bar chart -- */\n.stacked-bar-chart {\n margin: 0;\n padding: 0 0.125rem 0 4rem;\n width: 100%;\n width: -moz-available;\n width: -webkit-fill-available;\n width: fill;\n flex-direction: row;\n flex-wrap: nowrap;\n align-items: center;\n display: inline-flex;\n}\n\n.stacked-bar-chart-value {\n width: 3rem;\n display: inline-block;\n position: absolute;\n padding: 0 0.5rem;\n text-align: right;\n}\n\n.stacked-bar-chart-base {\n display: flex;\n flex-shrink: 0;\n flex-grow: 0;\n flex-basis: unset;\n}\n\n.stacked-bar-chart-median {\n .stacked-bar-chart-base();\n\n background: var(--color-base-font);\n border: 1px solid rgba(var(--color-base-font-rgb), 0.9);\n padding: 0.3rem 0;\n}\n\n.stacked-bar-chart-rate80 {\n .stacked-bar-chart-base();\n\n background: transparent;\n border: 1px solid rgba(var(--color-base-font-rgb), 0.3);\n padding: 0.3rem 0;\n}\n\n.stacked-bar-chart-rate95 {\n .stacked-bar-chart-base();\n\n background: transparent;\n border-bottom: 1px dotted rgba(var(--color-base-font-rgb), 0.5);\n padding: 0;\n}\n\n.stacked-bar-chart-rate100 {\n .stacked-bar-chart-base();\n\n background: transparent;\n border-left: 1px solid rgba(var(--color-base-font-rgb), 0.9);\n padding: 0.4rem 0;\n width: 1px;\n}\n","// SPDX-License-Identifier: AGPL-3.0-or-later\n\n// Mixins\n.text-size-adjust (@property: 100%) {\n -webkit-text-size-adjust: @property;\n -ms-text-size-adjust: @property;\n -moz-text-size-adjust: @property;\n text-size-adjust: @property;\n}\n\n.rounded-corners (@radius: 10px) {\n border-radius: @radius;\n}\n\n.rounded-right-corners (@radius: 0 10px 10px 0) {\n border-radius: @radius;\n}\n\n.rounded-corners-tiny (@radius: 5px) {\n border-radius: @radius;\n}\n\n// disable user selection\n.disable-user-select () {\n -webkit-touch-callout: none;\n user-select: none;\n}\n\n.show-content-button() {\n padding: 5px 10px;\n .rounded-corners-tiny;\n background: var(--color-show-btn-background);\n color: var(--color-show-btn-font);\n cursor: pointer;\n\n &:hover {\n background: var(--color-btn-background);\n color: var(--color-btn-font);\n }\n}\n",".ltr-left(@offset) {\n left: @offset;\n}\n\n.ltr-right(@offset) {\n right: @offset;\n}\n\n.ltr-margin-right(@offset) {\n margin-right: @offset;\n}\n\n.ltr-margin-left(@offset) {\n margin-left: @offset;\n}\n\n.ltr-border-right(@offset) {\n border-right: @offset;\n}\n\n.ltr-border-left(@offset) {\n border-left: @offset;\n}\n\n.ltr-padding-right(@offset) {\n padding-right: @offset;\n}\n\n.ltr-padding-left(@offset) {\n padding-left: @offset;\n}\n\n.ltr-float-left() {\n float: left;\n}\n\n.ltr-float-right() {\n float: right;\n}\n\n.ltr-text-align-right() {\n text-align: right;\n}\n\n.ltr-rounded-left-corners(@radius) {\n border-radius: @radius 0 0 @radius;\n}\n\n.ltr-rounded-top-left-corners(@radius) {\n border-radius: @radius 0 0 0;\n}\n\n.ltr-rounded-bottom-left-corners(@radius) {\n border-radius: 0 0 0 @radius;\n}\n\n.ltr-rounded-right-corners(@radius) {\n border-radius: 0 @radius @radius 0;\n}\n\n.ltr-rounded-top-right-corners(@radius) {\n border-radius: 0 @radius 0 0;\n}\n\n.ltr-rounded-bottom-right-corners(@radius) {\n border-radius: 0 0 @radius 0;\n}\n\n.ltr-text-align-left() {\n text-align: left;\n}\n\n.ltr-border-left-width(@offset) {\n border-left-width: @offset;\n}\n\n.ltr-border-right-width(@offset) {\n border-right-width: @offset;\n}\n\n.ltr-transform() {\n transform: scale(1, 1);\n}\n\n@import \"style.less\";\n","/*! Autocomplete.js v2.6.3 | license MIT | (c) 2017, Baptiste Donaux | http://autocomplete-js.com */\n\n.autocomplete {\n position: absolute;\n width: @search-width;\n max-height: 0;\n overflow-y: hidden;\n .ltr-text-align-left();\n\n .rounded-corners;\n\n &:active,\n &:focus,\n &:hover {\n background-color: var(--color-autocomplete-background);\n }\n\n &:empty {\n display: none;\n }\n\n > ul {\n list-style-type: none;\n margin: 0;\n padding: 0;\n\n > li {\n cursor: pointer;\n padding: 0.5rem 1rem;\n\n &.active,\n &:active,\n &:focus,\n &:hover {\n background-color: var(--color-autocomplete-background-hover);\n\n a:active,\n a:focus,\n a:hover {\n text-decoration: none;\n }\n }\n\n &.locked {\n cursor: inherit;\n }\n }\n }\n\n &.open {\n display: block;\n background-color: var(--color-autocomplete-background);\n color: var(--color-autocomplete-font);\n max-height: 32rem;\n overflow-y: auto;\n z-index: 100;\n margin-top: 3.5rem;\n border-radius: 0.8rem;\n box-shadow: 0 2px 8px rgb(34 38 46 / 25%);\n\n &:empty {\n display: none;\n }\n }\n}\n\n@media screen and (max-width: @phone) {\n .autocomplete {\n width: 100%;\n\n > ul > li {\n padding: 1rem;\n }\n }\n}\n","#main_results #results.image-detail-open.only_template_images {\n width: min(98%, 59.25rem) !important;\n}\n\n#main_results #results.only_template_images.image-detail-open #backToTop {\n .ltr-left(56.75rem) !important;\n .ltr-right(inherit);\n}\n\narticle.result-images .detail {\n display: none;\n}\n\n#results.image-detail-open article.result-images[data-vim-selected] .detail {\n display: flex;\n flex-direction: column;\n position: fixed;\n .ltr-left(60rem);\n .ltr-right(0);\n top: @search-height;\n transition: top 0.064s ease-in 0s;\n bottom: 0;\n background: var(--color-result-detail-background);\n border: 1px solid var(--color-result-detail-background);\n z-index: 10000;\n padding: 4rem 3rem 3rem 3rem;\n\n a.result-images-source {\n display: block;\n flex: 1;\n text-align: left;\n width: 100%;\n border: none;\n text-decoration: none;\n\n img {\n padding: 0;\n margin: 0;\n border: none;\n object-fit: contain;\n width: inherit;\n height: inherit;\n max-width: 100%;\n min-height: inherit;\n max-height: calc(100vh - 25rem - 7rem);\n background: inherit;\n }\n }\n\n .result-images-labels {\n color: var(--color-result-detail-font);\n max-height: 16rem;\n min-height: 16rem;\n\n hr {\n border-top: 1px solid var(--color-result-detail-hr);\n border-bottom: none;\n }\n\n h4 {\n height: 2rem;\n overflow: hidden;\n text-overflow: ellipsis;\n font-size: 0.9rem;\n }\n\n p {\n color: var(--color-result-detail-label-font);\n font-size: 0.9rem;\n\n span {\n display: inline-block;\n width: 12rem;\n }\n }\n\n h4,\n p,\n a {\n .ltr-text-align-left();\n }\n\n p.result-content {\n height: 2rem;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n p.result-url {\n white-space: nowrap;\n overflow-x: hidden;\n text-overflow: ellipsis;\n }\n\n p.result-content:hover,\n p.result-url:hover {\n position: relative;\n overflow: inherit !important;\n background: var(--color-result-detail-background);\n text-overflow: inherit !important;\n }\n\n a,\n a:visited,\n a:hover,\n a:active {\n color: var(--color-result-detail-link);\n }\n\n a:hover {\n text-decoration: underline;\n }\n }\n\n a.result-detail-close {\n top: 1rem;\n .ltr-left(1rem);\n padding: 0.4rem;\n }\n\n a.result-detail-previous {\n top: 1rem;\n .ltr-right(6rem);\n // center the icon by moving it slightly on the left\n padding-top: 0.4rem;\n .ltr-padding-right(0.5rem);\n padding-bottom: 0.4rem;\n .ltr-padding-left(0.3rem);\n }\n\n a.result-detail-next {\n top: 1rem;\n .ltr-right(2rem);\n padding: 0.4rem;\n }\n\n a.result-detail-close,\n a.result-detail-next,\n a.result-detail-previous {\n border-radius: 50%;\n display: block;\n width: 1.5rem;\n height: 1.5rem;\n position: absolute;\n filter: opacity(40%);\n z-index: 2000002;\n\n span {\n display: block;\n width: 1.5rem;\n height: 1.5rem;\n text-align: center;\n }\n }\n\n a.result-detail-next,\n a.result-detail-previous {\n span::before {\n // vertical center small icons\n vertical-align: sub;\n }\n }\n\n a.result-detail-close,\n a.result-detail-close:visited,\n a.result-detail-close:hover,\n a.result-detail-close:active,\n a.result-detail-previous,\n a.result-detail-previous:visited,\n a.result-detail-previous:hover,\n a.result-detail-previous:active,\n a.result-detail-next,\n a.result-detail-next:visited,\n a.result-detail-next:hover,\n a.result-detail-next:active {\n color: var(--color-result-detail-font);\n background: var(--color-result-detail-background);\n border: 1px solid var(--color-result-detail-font);\n }\n\n a.result-detail-close:focus,\n a.result-detail-close:hover,\n a.result-detail-previous:focus,\n a.result-detail-previous:hover,\n a.result-detail-next:focus,\n a.result-detail-next:hover {\n filter: opacity(80%);\n }\n\n .loader {\n position: absolute;\n top: 1rem;\n .ltr-right(50%);\n border-top: 0.5em solid var(--color-result-detail-loader-border);\n border-right: 0.5em solid var(--color-result-detail-loader-border);\n border-bottom: 0.5em solid var(--color-result-detail-loader-border);\n border-left: 0.5em solid var(--color-result-detail-loader-borderleft);\n }\n}\n\n#results.image-detail-open.scrolling article.result-images[data-vim-selected] .detail {\n top: 0;\n\n a.result-images-source img {\n max-height: calc(100vh - 25rem);\n }\n}\n\n@media screen and (max-width: @tablet) {\n #results.image-detail-open article.result-images[data-vim-selected] .detail {\n top: 0;\n .ltr-left(0);\n\n a.result-images-source {\n display: flex;\n flex-direction: column;\n justify-content: center;\n\n img {\n width: 100%;\n max-height: calc(100vh - 24rem);\n }\n }\n\n a.result-detail-next {\n .ltr-right(1rem);\n }\n }\n}\n\n@media screen and (max-width: @phone) {\n #results.image-detail-open article.result-images[data-vim-selected] .detail {\n top: 0;\n .ltr-left(0);\n padding: 1rem;\n\n a.result-images-source img {\n width: 100%;\n max-height: calc(100vh - 20rem);\n margin: 0;\n }\n\n .result-images-labels p span {\n width: inherit;\n .ltr-margin-right(1rem);\n }\n }\n}\n",".dialog-modal {\n animation-name: dialogmodal;\n animation-duration: 0.13s;\n\n @keyframes dialogmodal {\n 0% {\n opacity: 0;\n }\n\n 50% {\n opacity: 0.5;\n transform: translate(-50%, -50%) scale(1.05);\n }\n }\n}\n\ninput.checkbox-onoff[type=\"checkbox\"]::before {\n transition: left 0.25s;\n}\n","iframe[src^=\"https://w.soundcloud.com\"] {\n height: 120px;\n}\n\niframe[src^=\"https://www.deezer.com\"] {\n // The real size is 92px, but 94px are needed to avoid an inner scrollbar of\n // the embedded HTML.\n height: 94px;\n}\n\niframe[src^=\"https://www.mixcloud.com\"] {\n // the embedded player from mixcloud has some quirks: initial there is an\n // issue with an image URL that is blocked since it is an a Cross-Origin\n // request. The alternative text (<img alt='Mixcloud Logo'> then cause an\n // scrollbar in the inner of the iframe we can't avoid. Another quirk comes\n // when pressing the play button, somtimes the shown player has an height of\n // 200px, somtimes 250px.\n height: 250px;\n}\n\niframe[src^=\"https://bandcamp.com/EmbeddedPlayer\"] {\n // show playlist\n height: 350px;\n}\n\niframe[src^=\"https://bandcamp.com/EmbeddedPlayer/track\"] {\n // hide playlist\n height: 120px;\n}\n\niframe[src^=\"https://genius.com/songs\"] {\n height: 65px;\n}\n",".info-page {\n code {\n font-family: monospace;\n color: var(--color-doc-code);\n background-color: var(--color-doc-code-background);\n padding: 2px 5px;\n .rounded-corners(5px);\n }\n}\n","// SPDX-License-Identifier: AGPL-3.0-or-later\n.stats_endpoint {\n .github-issue-button {\n display: block;\n padding: 8px 16px;\n font-family: sans-serif;\n font-size: 16px;\n color: white;\n background-color: #238636;\n border: #2ea043;\n border-radius: 10px !important;\n box-shadow: rgba(0, 0, 0, 0) 0 0 0 0;\n }\n\n .github-issue-button:hover {\n background-color: #2ea043;\n }\n\n .issue-hide {\n display: none;\n }\n\n input[type=checked] {\n position: absolute;\n }\n\n label {\n margin: 1rem 1rem 1rem 0;\n }\n\n .step_content {\n margin: 1rem 1rem 1rem 2rem;\n }\n\n .step1,\n .step2 {\n visibility: hidden;\n }\n\n .step1_delay {\n transition: visibility 0s linear 4s;\n }\n\n #step1:checked ~ .step1,\n #step2:checked ~ .step2 {\n visibility: visible;\n }\n}\n","// SPDX-License-Identifier: AGPL-3.0-or-later\n\n.engine-stats {\n border-spacing: 0;\n border-collapse: collapse;\n\n tr td,\n tr th {\n border-bottom: 1px solid var(--color-result-border);\n padding: 0.25rem;\n }\n\n table.engine-tooltip {\n border-spacing: 0;\n border-collapse: collapse;\n\n td,\n th {\n border: none;\n }\n }\n\n .engine-name {\n width: 20rem;\n }\n\n .engine-score {\n width: 7rem;\n text-align: right;\n }\n\n .engine-reliability {\n text-align: right;\n }\n}\n\ntable.engine-error th.engine-error-type,\ntable.engine-error td.engine-error-type,\nfailed-test {\n width: 10rem;\n}\n\n.engine-errors {\n margin-top: 3rem;\n\n table.engine-error {\n max-width: 1280px;\n margin: 1rem 0 3rem 0;\n border: 1px solid var(--color-result-border);\n .ltr-text-align-left();\n\n tr th,\n tr td {\n padding: 0.5rem;\n }\n\n & span.log_parameters {\n border-right: 1px solid solid var(--color-result-border);\n padding: 0 1rem 0 0;\n margin: 0 0 0 0.5rem;\n }\n }\n}\n\n.bar-chart-value {\n width: 3em;\n display: inline-block;\n text-align: right;\n padding-right: 0.5rem;\n}\n\n.bar-chart-graph {\n width: calc(100% - 5rem);\n display: inline-block;\n}\n\n.bar-chart-bar {\n border: 3px solid #5bc0de;\n margin: 1px 0;\n}\n\n.bar-chart-serie1 {\n border: 3px solid #5bc0de;\n margin: 1px 0;\n float: left;\n}\n\n.bar-chart-serie2 {\n border: 3px solid #deb15b;\n margin: 1px 0;\n float: left;\n}\n\n.bar0 {\n width: 0;\n border: 0;\n}\n\n.generate-bar(100);\n\n.generate-bar(@n, @i: 1) when (@i =< @n) {\n .bar@{i} {\n width: (@i * 100% / @n);\n }\n .generate-bar(@n, (@i + 1));\n}\n","// SPDX-License-Identifier: AGPL-3.0-or-later\n\n.osm-map-box {\n height: 300px;\n width: 100%;\n margin: 10px 0;\n}\n","#main_index {\n margin-top: 26vh;\n}\n\n.index {\n text-align: center;\n\n .title {\n background: url('../img/searxng.png') no-repeat;\n min-height: 4rem;\n margin: 4rem auto;\n background-position: center;\n background-size: contain;\n }\n\n h1 {\n font-size: 4em;\n visibility: hidden;\n }\n\n #search,\n #search_header {\n margin: 0 auto;\n background: inherit;\n border: inherit;\n padding: 0;\n display: block;\n }\n\n .search_filters {\n display: block;\n margin: 1em 0;\n }\n\n .category label {\n padding: 6px 10px;\n border-bottom: initial !important;\n }\n}\n\n@media screen and (max-width: @tablet) {\n div.title {\n h1 {\n font-size: 1em;\n }\n }\n\n #main_index {\n margin-top: 6em;\n }\n}\n","#tab-content-query table td,\n#tab-content-query table th {\n .ltr-text-align-right() !important;\n height: 3rem;\n}\n\n#main_preferences {\n form {\n width: 100%;\n }\n\n fieldset {\n margin: 8px;\n border: none;\n }\n\n legend {\n margin: 0;\n padding: 5px 0 0 0;\n display: block;\n .ltr-float-left();\n width: 300px;\n }\n\n .value {\n margin: 0;\n padding: 0;\n .ltr-float-left();\n width: 15em;\n\n select,\n input[type=\"text\"] {\n font-size: inherit !important;\n margin-top: 0;\n .ltr-margin-right(1rem);\n margin-bottom: 0;\n .ltr-margin-left(0);\n }\n\n select {\n width: 14rem;\n }\n\n input[type=\"text\"] {\n width: 13.25rem;\n color: var(--color-toolkit-input-text-font);\n border: none;\n background: none repeat scroll 0 0 var(--color-toolkit-select-background);\n padding: 0.2rem 0.4rem;\n height: 2rem;\n .rounded-corners-tiny;\n\n &:hover,\n &:focus {\n background-color: var(--color-toolkit-select-background-hover);\n }\n }\n\n select:focus,\n input:focus {\n outline: none;\n box-shadow: 0 0 1px 1px var(--color-btn-background);\n }\n }\n\n .description {\n margin: 0;\n padding: 5px 0 0 0;\n .ltr-float-right();\n width: 50%;\n color: var(--color-settings-engine-description-font);\n font-size: 90%;\n }\n\n table {\n border-collapse: collapse;\n }\n\n table td {\n text-align: center;\n }\n\n .category {\n .ltr-margin-right(0.5rem);\n\n label {\n border: 2px solid transparent;\n padding: 0.2rem 0.4rem;\n .rounded-corners-tiny;\n }\n }\n\n .category input[type=\"checkbox\"]:checked + label {\n border: 2px solid var(--color-categories-item-border-selected);\n }\n\n table.table_engines {\n td {\n height: 3.75rem;\n }\n\n th.name {\n /* stylelint-disable */\n label {\n cursor: pointer;\n }\n /* stylelint-enable */\n\n .engine-tooltip {\n margin-top: 1.8rem;\n .ltr-left(calc((100% - 85em) / 2 + 10em));\n max-width: 40rem;\n\n .engine-description {\n margin-top: 0.5rem;\n }\n }\n }\n\n .engine-group {\n .ltr-text-align-left();\n font-weight: normal;\n background: var(--color-settings-engine-group-background);\n }\n\n .name,\n .shortcut {\n .ltr-text-align-left();\n }\n }\n\n table.cookies {\n width: 100%;\n direction: ltr;\n\n th,\n td {\n text-align: left;\n font-family: monospace;\n font-size: 1rem;\n padding: 0.5em;\n vertical-align: top;\n }\n\n td:first-child {\n word-break: keep-all;\n width: 14rem;\n padding-right: 1rem;\n }\n\n td:last-child {\n word-break: break-all;\n }\n\n & > tbody > tr:nth-child(even) > th,\n & > tbody > tr:nth-child(even) > td {\n background-color: var(--color-settings-tr-hover);\n }\n }\n\n .preferences_back {\n background: none repeat scroll 0 0 var(--color-btn-background);\n color: var(--color-btn-font);\n border: 0 none;\n .rounded-corners;\n\n cursor: pointer;\n display: inline-block;\n margin: 2px 4px;\n padding: 0.7em;\n\n a {\n color: var(--color-settings-return-font);\n }\n\n a::first-letter {\n text-transform: uppercase;\n }\n }\n\n div.selectable_url {\n pre {\n width: 100%;\n }\n }\n}\n\n@media screen and (max-width: @tablet) {\n .preferences_back {\n clear: both;\n }\n\n .engine-tooltip {\n .ltr-left(10em) !important;\n }\n}\n","/*\n* SearXNG, A privacy-respecting, hackable metasearch engine\n*/\n\n#search {\n padding: 0;\n margin: 0;\n}\n\n#search_header {\n padding-top: 1.5em;\n .ltr-padding-right(2em);\n .ltr-padding-left(@results-offset - 3rem);\n margin: 0;\n background: var(--color-header-background);\n border-bottom: 1px solid var(--color-header-border);\n display: grid;\n column-gap: 1.2rem;\n row-gap: 1rem;\n grid-template-columns: 3rem 1fr;\n grid-template-areas:\n \"logo search\"\n \"spacer categories\";\n}\n\n.category {\n display: inline-block;\n position: relative;\n .ltr-margin-right(1rem);\n padding: 0;\n\n input {\n display: none;\n }\n\n label {\n svg {\n padding-right: 0.2rem;\n }\n\n cursor: pointer;\n padding: 0.2rem 0;\n display: inline-flex;\n text-transform: capitalize;\n font-size: 0.9em;\n border-bottom: 2px solid transparent;\n .disable-user-select;\n\n div.category_name {\n margin: auto 0;\n }\n }\n\n input[type=\"checkbox\"]:checked + label {\n color: var(--color-categories-item-selected-font);\n border-bottom: 2px solid var(--color-categories-item-border-selected);\n }\n}\n\n#search_logo {\n grid-area: logo;\n display: flex;\n align-items: center;\n justify-content: center;\n\n svg {\n flex: 1;\n width: 30px;\n height: 30px;\n margin: 0.5rem 0 auto 0;\n }\n}\n\n.search_categories {\n grid-area: categories;\n\n .help {\n display: none;\n }\n\n &:hover .help {\n display: block;\n position: absolute;\n background: var(--color-base-background);\n padding: 1rem 0.6rem 0.6rem 0;\n z-index: 1000;\n width: 100%;\n left: -0.1rem;\n }\n}\n\n#search_view {\n grid-area: search;\n}\n\n.search_box {\n border-radius: 0.8rem;\n width: @search-width;\n display: inline-flex;\n flex-direction: row;\n white-space: nowrap;\n box-shadow: var(--color-search-shadow);\n}\n\n#clear_search {\n display: block;\n border-collapse: separate;\n box-sizing: border-box;\n width: 1.8rem;\n margin: 0;\n padding: 0.8rem 0.2rem;\n background: none repeat scroll 0 0 var(--color-search-background);\n border: none;\n outline: none;\n color: var(--color-search-font);\n font-size: 1.1rem;\n z-index: 10000;\n\n &:hover {\n color: var(--color-search-background-hover);\n }\n\n &.empty * {\n display: none;\n }\n}\n\nhtml.no-js #clear_search.hide_if_nojs {\n display: none;\n}\n\n#q,\n#send_search {\n display: block;\n margin: 0;\n padding: 0.8rem;\n background: none repeat scroll 0 0 var(--color-search-background);\n border: none;\n outline: none;\n color: var(--color-search-font);\n font-size: 1.1rem;\n z-index: 2;\n}\n\n#q {\n width: 100%;\n .ltr-padding-left(1rem);\n .ltr-padding-right(0) !important;\n .ltr-rounded-left-corners(0.8rem);\n}\n\n#q::-ms-clear,\n#q::-webkit-search-cancel-button {\n display: none;\n}\n\n#send_search {\n .ltr-rounded-right-corners(0.8rem);\n\n &:hover {\n cursor: pointer;\n background-color: var(--color-search-background-hover);\n color: var(--color-search-background);\n }\n}\n\n.no-js #clear_search,\n.no-js #send_search {\n width: auto !important;\n .ltr-border-left(1px solid var(--color-search-border));\n}\n\n.search_filters {\n margin-top: 0.6rem;\n .ltr-margin-right(0);\n margin-bottom: 0;\n .ltr-margin-left(@results-offset + 0.6rem);\n display: flex;\n overflow-x: auto;\n overscroll-behavior-inline: contain;\n\n select {\n background-color: inherit;\n\n &:hover,\n &:focus {\n color: var(--color-base-font);\n }\n }\n}\n\n@media screen and (max-width: @tablet) {\n #search_header {\n padding: 1.5em @results-tablet-offset 0 @results-tablet-offset;\n column-gap: @results-tablet-offset;\n }\n\n .search_filters {\n margin-top: 0.6rem;\n .ltr-margin-right(0);\n margin-bottom: 0;\n .ltr-margin-left(@results-tablet-offset + 3rem);\n }\n\n #categories {\n font-size: 90%;\n clear: both;\n\n .checkbox_container {\n margin: auto;\n margin-top: 2px;\n }\n }\n}\n\n@media screen and (max-width: @tablet) and (hover: none) {\n #main_index,\n #main_results {\n #categories_container {\n width: max-content;\n\n .category {\n display: inline-block;\n width: auto;\n }\n }\n\n #categories {\n width: 100%;\n .ltr-text-align-left();\n overflow-x: scroll;\n overflow-y: hidden;\n -webkit-overflow-scrolling: touch;\n }\n }\n}\n\n@media screen and (max-width: @phone) {\n #search_header {\n width: 100%;\n margin: 0;\n padding: 0.1rem 0 0 0;\n column-gap: 0;\n row-gap: 0;\n grid-template-areas:\n \"logo search\"\n \"categories categories\";\n }\n\n .search_logo {\n padding: 0;\n }\n\n .search_box {\n width: 98%;\n display: flex;\n margin: 0 auto;\n }\n\n #q {\n width: 100%;\n flex: 1;\n }\n\n .search_filters {\n margin: 0;\n }\n\n .category {\n display: inline-block;\n width: auto;\n margin: 0;\n\n label {\n padding: 1rem !important;\n margin: 0 !important;\n\n svg {\n display: none;\n }\n }\n }\n\n #search_view:focus-within {\n display: block;\n background-color: var(--color-search-background);\n position: absolute;\n top: 0;\n height: 100%;\n width: 100%;\n z-index: 10000;\n\n .search_box {\n border-bottom: 1px solid var(--color-search-border);\n width: 100%;\n border-radius: 0;\n box-shadow: none;\n\n #send_search {\n .ltr-margin-right(0) !important; // Delete when send_search button is disabled on mobile.\n }\n\n * {\n border: none;\n border-radius: 0;\n box-shadow: none;\n }\n }\n }\n\n #main_results #q:placeholder-shown ~ #send_search {\n .ltr-margin-right(2.6rem);\n transition: margin 0.1s;\n }\n}\n\n@media screen and (max-width: @ultra-small-phone) {\n #search_header {\n grid-template-areas:\n \"search search\"\n \"categories categories\";\n }\n\n #search_logo {\n display: none;\n }\n}\n\n#categories {\n .disable-user-select;\n\n &::-webkit-scrollbar {\n width: 0;\n height: 0;\n }\n}\n\n#categories_container {\n position: relative;\n}\n","/*\n--center-page-width overrides the less variable @results-width when the results are centered\nsee the CSS rules for #results in style.less ( grid-template-columns and gap).\n\nIn this file, the --center-page-width values comes from the Oscar theme (Bootstrap 3).\n\nAll rules starts with \".center-aligment-yes #main_results\" to be enabled only\non the /search URL and when the \"center alignment\" preference is enabled.\n*/\n\n@media screen and (min-width: @phone) {\n .center-aligment-yes #main_results {\n --center-page-width: 48rem;\n }\n}\n\n@media screen and (min-width: 62rem) {\n .center-aligment-yes #main_results {\n --center-page-width: 60rem;\n }\n}\n\n@media screen and (min-width: @tablet) {\n .center-aligment-yes #main_results {\n --center-page-width: 73rem;\n }\n}\n\n@media screen and (min-width: @phone) and (max-width: @tablet) {\n // any change must be reset in @media screen and (min-width: @tablet) { ... }\n .center-aligment-yes #main_results {\n #results {\n grid-template-columns: 60% calc(40% - @results-gap);\n margin-left: 0;\n margin-right: 0;\n }\n\n #urls {\n .ltr-margin-left(3rem);\n }\n\n #sidebar {\n .ltr-margin-right(1rem);\n }\n\n #backToTop {\n .ltr-left(calc(60% + 1rem));\n }\n }\n}\n\n@media screen and (min-width: @tablet) {\n .center-aligment-yes #main_results {\n display: flex;\n flex-direction: column;\n align-items: center;\n\n #search {\n width: 100%;\n display: flex;\n flex-direction: column;\n align-items: center;\n }\n\n #search_header {\n grid-template-columns: calc(50% - 4.5rem - var(--center-page-width) / 2) 3rem var(--center-page-width);\n grid-template-areas: \"na logo search\" \"na spacer categories\";\n column-gap: 1.2rem; // from search.less\n width: 100%;\n padding-left: 0;\n padding-right: 0;\n }\n\n .search_filters {\n .ltr-margin-left(0.5rem);\n width: var(--center-page-width);\n }\n\n #results {\n // from style.less (when screen width = @tablet, reset layout from tablet)\n .ltr-margin-right(2rem);\n .ltr-margin-left(@results-offset);\n //\n\n &.only_template_images,\n &.image-detail-open {\n // * grid-template-columns and .ltr-margin-left are set in style.less\n // * With .image-detail-open.only_template_images, the width is set in detail.less\n // * #results is going to be centered because of the #main_results rules,\n // align-self aligns the results on the left or right according to the language.\n align-self: flex-start;\n }\n\n &:not(.only_template_images):not(.image-detail-open) {\n // the gap is set in style.less\n .ltr-margin-left(1.5rem);\n grid-template-columns: calc(var(--center-page-width) - @results-gap - @results-sidebar-width) @results-sidebar-width;\n\n #backToTop {\n .ltr-left(calc(50% - @results-sidebar-width - @results-gap + 1rem + var(--center-page-width) / 2));\n }\n }\n\n .result .content {\n max-width: inherit;\n }\n }\n\n // from style.less (when screen width = @tablet, reset layout from tablet)\n #urls {\n .ltr-margin-left(0);\n }\n\n #sidebar {\n .ltr-margin-right(0);\n }\n }\n}\n","/*\n* SearXNG, A privacy-respecting, hackable metasearch engine\n*\n* To convert \"style.less\" to \"style.css\" run: $make styles\n*/\n\n// stylelint-disable no-descending-specificity\n\n@import (inline) \"../../node_modules/normalize.css/normalize.css\";\n@import \"definitions.less\";\n@import \"mixins.less\";\n@import \"code.less\";\n@import \"toolkit.less\";\n@import \"autocomplete.less\";\n@import \"detail.less\";\n@import \"animations.less\";\n@import \"embedded.less\";\n@import \"info.less\";\n@import \"new_issue.less\";\n@import \"stats.less\";\n@import \"result_templates.less\";\n\n// for index.html template\n@import \"index.less\";\n\n// for preferences.html template\n@import \"preferences.less\";\n\n// Search-Field\n@import \"search.less\";\n\n// to center the results\n@import \"style-center.less\";\n\n// ion-icon\n.ion-icon {\n display: inline-block;\n vertical-align: bottom;\n line-height: 1;\n text-decoration: inherit;\n .ltr-transform();\n}\n\n.ion-icon-small {\n width: 1rem;\n height: 1rem;\n .ion-icon;\n}\n\n.ion-icon-big {\n width: 1.5rem;\n height: 1.5rem;\n .ion-icon;\n}\n\n// Main LESS-Code\nhtml {\n font-family: sans-serif;\n font-size: 0.9em;\n .text-size-adjust;\n\n color: var(--color-base-font);\n background-color: var(--color-base-background);\n padding: 0;\n margin: 0;\n}\n\nbody,\nmain {\n padding: 0;\n margin: 0;\n}\n\nbody {\n display: flex;\n flex-direction: column;\n height: 100vh;\n margin: 0;\n}\n\nmain {\n width: 100%;\n margin-bottom: 2rem;\n flex: 1;\n}\n\n.page_with_header {\n margin: 2em auto;\n width: 85em;\n}\n\nfooter {\n clear: both;\n min-height: 4rem;\n padding: 1rem 0;\n width: 100%;\n text-align: center;\n background-color: var(--color-footer-background);\n border-top: 1px solid var(--color-footer-border);\n overflow: hidden;\n\n p {\n font-size: 0.9em;\n }\n}\n\n.page_with_header .logo {\n height: 40px;\n}\n\ninput[type=\"submit\"],\n#results button[type=\"submit\"] {\n padding: 0.7rem;\n display: inline-block;\n background: var(--color-btn-background);\n color: var(--color-btn-font);\n .rounded-corners;\n\n border: 0;\n cursor: pointer;\n}\n\na {\n text-decoration: none;\n color: var(--color-url-font);\n\n &:visited {\n color: var(--color-url-visited-font);\n\n .highlight {\n color: var(--color-url-visited-font);\n }\n }\n}\n\narticle[data-vim-selected] {\n background: var(--color-result-vim-selected);\n .ltr-border-left(0.2rem solid var(--color-result-vim-arrow));\n .ltr-rounded-right-corners(10px);\n}\n\narticle.result-images[data-vim-selected] {\n background: var(--color-result-vim-arrow);\n border: none;\n .rounded-corners;\n\n .image_thumbnail {\n filter: opacity(60%);\n }\n\n span.title,\n span.source {\n color: var(--color-result-image-span-font-selected);\n }\n}\n\narticle[data-vim-selected].category-videos,\narticle[data-vim-selected].category-news,\narticle[data-vim-selected].category-map,\narticle[data-vim-selected].category-music,\narticle[data-vim-selected].category-files,\narticle[data-vim-selected].category-social {\n border: 1px solid var(--color-result-vim-arrow);\n .rounded-corners;\n}\n\n.result {\n margin: @results-margin 0;\n padding: @result-padding;\n .ltr-border-left(0.2rem solid transparent);\n\n h3 {\n font-size: 1.2rem;\n word-wrap: break-word;\n margin: 0.4rem 0 0.4rem 0;\n padding: 0;\n\n a {\n color: var(--color-result-link-font);\n font-weight: normal;\n font-size: 1.1em;\n\n &:visited {\n color: var(--color-result-link-visited-font);\n }\n\n &:focus,\n &:hover {\n text-decoration: underline;\n border: none;\n outline: none;\n }\n }\n }\n\n .cache_link,\n .proxyfied_link {\n font-size: 0.9em !important;\n }\n\n .content,\n .stat {\n font-size: 0.9em;\n margin: 0;\n padding: 0;\n max-width: 54em;\n word-wrap: break-word;\n line-height: 1.24;\n\n .highlight {\n color: var(--color-result-description-highlight-font);\n background: inherit;\n font-weight: bold;\n }\n }\n\n .altlink a {\n font-size: 0.9em;\n margin: 0 10px 0 0;\n .show-content-button;\n }\n\n .codelines {\n .highlight {\n color: inherit;\n background: inherit;\n font-weight: normal;\n }\n }\n\n .url_wrapper {\n display: flex;\n font-size: 1rem;\n color: var(--color-result-url-font);\n flex-wrap: nowrap;\n overflow: hidden;\n flex-direction: row;\n margin: 0;\n padding: 0;\n\n .url_o1 {\n white-space: nowrap;\n flex-shrink: 1;\n }\n\n .url_o1::after {\n content: \" \";\n width: 1ch;\n display: inline-block;\n }\n\n .url_o2 {\n overflow: hidden;\n white-space: nowrap;\n flex-basis: content;\n flex-grow: 0;\n flex-shrink: 1;\n text-align: right;\n\n .url_i2 {\n float: right;\n }\n }\n }\n\n .published_date,\n .result_length,\n .result_author,\n .result_shipping,\n .result_source_country {\n font-size: 0.8em;\n color: var(--color-result-publishdate-font);\n }\n\n .result_price {\n font-size: 1.2em;\n color: var(--color-result-description-highlight-font);\n }\n\n img {\n &.thumbnail {\n .ltr-float-left();\n padding-top: 0.6rem;\n .ltr-padding-right(1rem);\n width: 20rem;\n height: unset; // remove heigth value that was needed for lazy loading\n }\n\n &.image {\n .ltr-float-left();\n padding-top: 0.6rem;\n .ltr-padding-right(1rem);\n width: 7rem;\n max-height: 7rem;\n object-fit: scale-down;\n object-position: right top;\n }\n }\n\n .break {\n clear: both;\n }\n}\n\n.template_group_images {\n display: flex;\n flex-wrap: wrap;\n}\n\n.template_group_images::after {\n flex-grow: 10;\n content: \"\";\n}\n\n.category-videos,\n.category-news,\n.category-map,\n.category-music,\n.category-files,\n.category-social {\n border: 1px solid var(--color-result-border);\n margin: 1rem @results-tablet-offset 0 @results-tablet-offset !important;\n .rounded-corners;\n}\n\n.category-social .image {\n width: auto !important;\n min-width: 48px;\n min-height: 48px;\n padding: 0 5px 25px 0 !important;\n}\n\n.audio-control audio {\n width: 100%;\n padding: 10px 0 0 0;\n}\n\n.embedded-content iframe {\n width: 100%;\n padding: 10px 0 0 0;\n}\n\n.result-videos .content {\n overflow: hidden;\n}\n\n.result-videos .embedded-video iframe {\n width: 100%;\n aspect-ratio: 16 / 9;\n padding: 10px 0 0 0;\n}\n\n@supports not (aspect-ratio: 1 / 1) {\n // support older browsers which do not have aspect-ratio\n // https://caniuse.com/?search=aspect-ratio\n .result-videos .embedded-video iframe {\n height: calc(@results-width * 9 / 16);\n }\n}\n\n.engines {\n .ltr-float-right();\n color: var(--color-result-engines-font);\n\n span {\n font-size: smaller;\n margin-top: 0;\n margin-bottom: 0;\n .ltr-margin-right(0.5rem);\n .ltr-margin-left(0);\n }\n}\n\n.small_font {\n font-size: 0.8em;\n}\n\n.highlight {\n color: var(--color-result-link-font-highlight);\n background: inherit;\n}\n\n.empty_element {\n font-style: italic;\n}\n\n.result-images {\n flex-grow: 1;\n padding: 0.5rem 0.5rem 3rem 0.5rem;\n margin: 0.25rem;\n border: none !important;\n height: @results-image-row-height;\n\n & > a {\n position: relative;\n }\n\n img {\n margin: 0;\n padding: 0;\n border: none;\n height: 100%;\n width: 100%;\n object-fit: cover;\n vertical-align: bottom;\n background: var(--color-result-image-background);\n }\n\n span.title,\n span.source {\n display: block;\n position: absolute;\n\n width: 100%;\n font-size: 0.9rem;\n color: var(--color-result-image-span-font);\n padding: 0.5rem 0 0 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n\n span.source {\n padding: 1.8rem 0 0 0;\n font-size: 0.7rem;\n }\n}\n\n.result-map {\n img.image {\n .ltr-float-right() !important;\n height: 100px !important;\n width: auto !important;\n }\n\n table {\n font-size: 0.9em;\n width: auto;\n border-collapse: separate;\n border-spacing: 0 0.35rem;\n\n th {\n font-weight: inherit;\n width: 17rem;\n vertical-align: top;\n .ltr-text-align-left();\n }\n\n td {\n vertical-align: top;\n .ltr-text-align-left();\n }\n }\n}\n\n.hidden {\n display: none !important;\n}\n\n#results {\n margin-top: 1rem;\n .ltr-margin-right(2rem);\n margin-bottom: 0;\n .ltr-margin-left(@results-offset);\n display: grid;\n grid-template-columns: @results-width @results-sidebar-width;\n grid-template-rows: min-content min-content 1fr min-content;\n gap: 0 @results-gap;\n grid-template-areas:\n \"corrections sidebar\"\n \"answers sidebar\"\n \"urls sidebar\"\n \"pagination sidebar\";\n}\n\n#results #sidebar *:first-child,\n#results #urls *:first-child {\n margin-top: 0;\n}\n\n#urls {\n padding: 0;\n grid-area: urls;\n}\n\n#suggestions {\n .wrapper {\n display: flex;\n flex-flow: row wrap;\n justify-content: flex-end;\n\n form {\n display: inline-block;\n flex: 1 1 50%;\n }\n }\n}\n\n#suggestions,\n#infoboxes {\n input {\n padding: 0;\n margin: 3px;\n font-size: 0.9em;\n display: inline-block;\n background: transparent;\n color: var(--color-result-search-url-font);\n cursor: pointer;\n }\n\n input[type=\"submit\"],\n .infobox .url a {\n color: var(--color-result-link-font);\n text-decoration: none;\n font-size: 0.9rem;\n\n &:hover {\n text-decoration: underline;\n }\n }\n}\n\n#corrections {\n grid-area: corrections;\n display: flex;\n flex-flow: row wrap;\n margin: 0 0 1em 0;\n\n h4,\n input[type=\"submit\"] {\n display: inline-block;\n padding: 0.5rem;\n margin: 0.5rem;\n }\n\n input[type=\"submit\"] {\n font-size: 0.8rem;\n .rounded-corners-tiny;\n }\n}\n\n#suggestions .title,\n#search_url .title,\n#apis .title {\n margin: 2em 0 0.5em 0;\n color: var(--color-base-font);\n}\n\n#answers {\n grid-area: answers;\n background: var(--color-answer-background);\n padding: @result-padding;\n margin: 1rem 0;\n margin-top: 0;\n color: var(--color-answer-font);\n .rounded-corners;\n\n h4 {\n display: none;\n }\n\n span {\n overflow-wrap: anywhere;\n }\n}\n\n#infoboxes {\n form {\n min-width: 210px;\n }\n}\n\n#sidebar {\n grid-area: sidebar;\n word-wrap: break-word;\n color: var(--color-sidebar-font);\n\n .infobox {\n margin: 10px 0 10px;\n border: 1px solid var(--color-sidebar-border);\n padding: 1rem;\n font-size: 0.9em;\n .rounded-corners;\n\n h2 {\n margin: 0 0 0.5em 0;\n }\n\n img {\n max-width: 100%;\n max-height: 12em;\n display: block;\n margin: 0 auto;\n padding: 0;\n }\n\n dt {\n font-weight: bold;\n }\n\n .attributes {\n dl {\n margin: 0.5em 0;\n }\n\n dt {\n display: inline;\n margin-top: 0.5em;\n .ltr-margin-right(0.25em);\n margin-bottom: 0.5em;\n .ltr-margin-left(0);\n padding: 0;\n }\n\n dd {\n display: inline;\n margin: 0.5em 0;\n padding: 0;\n }\n }\n\n input {\n font-size: 1em;\n }\n\n br {\n clear: both;\n }\n\n .attributes,\n .urls {\n clear: both;\n }\n }\n}\n\n#search_url {\n margin-top: 8px;\n\n div.selectable_url {\n pre {\n width: 200em;\n }\n }\n}\n\n#links_on_top {\n position: absolute;\n .ltr-right(1.8rem);\n .ltr-text-align-right();\n top: 2.2rem;\n padding: 0;\n border: 0;\n display: flex;\n align-items: center;\n font-size: 1em;\n color: var(--color-search-font);\n\n a {\n display: flex;\n align-items: center;\n margin-left: 1em;\n\n svg {\n font-size: 1.2em;\n .ltr-margin-right(0.125em);\n }\n }\n\n a,\n a:link *,\n a:hover *,\n a:visited *,\n a:active * {\n color: var(--color-search-font);\n }\n}\n\n#pagination {\n grid-area: pagination;\n\n br {\n clear: both;\n }\n}\n\n#apis {\n margin-top: 8px;\n clear: both;\n}\n\n#backToTop {\n border: 1px solid var(--color-backtotop-border);\n margin: 0;\n padding: 0;\n font-size: 1em;\n background: var(--color-backtotop-background);\n position: fixed;\n bottom: 8rem;\n .ltr-left(@results-width + @results-offset + (0.5 * @results-gap - 1.2em));\n transition: opacity 0.5s;\n opacity: 0;\n .rounded-corners;\n\n a {\n display: block;\n margin: 0;\n padding: 0.7em;\n }\n\n a,\n a:visited,\n a:hover,\n a:active {\n color: var(--color-backtotop-font);\n }\n}\n\n#results.scrolling #backToTop {\n opacity: 1;\n}\n\n/*\n tablet layout\n*/\n\n.results-tablet() {\n #links_on_top {\n span {\n display: none;\n }\n }\n\n .page_with_header {\n margin: 2rem 0.5rem;\n width: auto;\n }\n\n #infoboxes {\n position: inherit;\n max-width: inherit;\n\n .infobox {\n clear: both;\n\n img {\n .ltr-float-left();\n max-width: 10em;\n margin-top: 0.5em;\n .ltr-margin-right(0.5em);\n margin-bottom: 0.5em;\n .ltr-margin-left(0);\n }\n }\n }\n\n #sidebar {\n margin: 0 @results-tablet-offset @results-margin @results-tablet-offset;\n padding: 0;\n float: none;\n border: none;\n width: auto;\n\n input {\n border: 0;\n }\n }\n\n #apis {\n display: none;\n }\n\n #search_url {\n display: none;\n }\n\n .result {\n .thumbnail {\n max-width: 98%;\n }\n\n .url {\n span.url {\n display: block;\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n width: 100%;\n }\n }\n\n .engines {\n .ltr-float-right();\n padding: 0 0 3px 0;\n }\n }\n\n .result-images {\n border-bottom: none !important;\n }\n\n .image_result {\n max-width: 98%;\n\n img {\n max-width: 98%;\n }\n }\n\n #backToTop {\n display: none;\n }\n\n #pagination {\n margin: 2rem 0 0 0 !important;\n }\n\n #main_results div#results {\n margin: 1rem auto 0 auto;\n justify-content: center;\n display: grid;\n grid-template-columns: @results-width;\n grid-template-rows: min-content min-content min-content 1fr min-content min-content;\n gap: 0;\n grid-template-areas:\n \"corrections\"\n \"answers\"\n \"sidebar\"\n \"urls\"\n \"pagination\";\n }\n}\n\n@media screen and (max-width: calc(@tablet - 0.5px)) {\n #links_on_top {\n span {\n display: none;\n }\n }\n}\n\n@media screen and (max-width: 52rem) {\n body.results_endpoint {\n #links_on_top {\n .link_on_top_about,\n .link_on_top_donate {\n display: none;\n }\n }\n }\n}\n\n@media screen and (min-width: @phone) and (max-width: @tablet) {\n // when .center-aligment-yes, see style-center.less\n // the media query includes \"min-width: @phone\"\n // because the phone layout includes the tablet layout unconditionally.\n .center-aligment-no {\n .results-tablet();\n }\n}\n\n/* Misc */\n\n#main_results div#results.only_template_images {\n margin: 1rem @results-tablet-offset 0 @results-tablet-offset;\n display: grid;\n grid-template-columns: 100%;\n grid-template-rows: min-content min-content min-content 1fr min-content;\n gap: 0;\n grid-template-areas:\n \"corrections\"\n \"answers\"\n \"sidebar\"\n \"urls\"\n \"pagination\";\n\n #sidebar {\n display: none;\n }\n\n #urls {\n margin: 0;\n display: flex;\n flex-wrap: wrap;\n }\n\n #urls::after {\n flex-grow: 10;\n content: \"\";\n }\n\n #backToTop {\n .ltr-left(auto);\n .ltr-right(1rem);\n }\n\n #pagination {\n .ltr-margin-right(4rem);\n }\n}\n\n/*\n phone layout\n*/\n\n@media screen and (max-width: @phone) {\n // based on the tablet layout\n .results-tablet();\n\n html {\n background-color: var(--color-base-background-mobile);\n }\n\n #main_results div#results {\n grid-template-columns: 100%;\n margin: 1rem 0 0 0;\n }\n\n #links_on_top {\n top: 0.8rem;\n .ltr-right(0.7rem);\n }\n\n #main_index #links_on_top {\n top: 0.5rem;\n .ltr-right(0.5rem);\n }\n\n #results {\n margin: 0;\n padding: 0;\n }\n\n #pagination {\n margin: 2rem 1rem 0 1rem !important;\n }\n\n article[data-vim-selected] {\n border: 1px solid var(--color-result-vim-arrow);\n .rounded-corners;\n }\n\n .result {\n background: var(--color-result-background);\n margin: 1rem 0;\n }\n\n .result-images {\n margin: 0;\n height: @results-image-row-height-phone;\n background: var(--color-base-background-mobile);\n }\n\n .infobox {\n border: none !important;\n background-color: var(--color-sidebar-background);\n }\n}\n\n/*\n small-phone layout\n*/\n\n@media screen and (max-width: @small-phone) {\n .result-videos {\n img.thumbnail {\n float: none !important;\n }\n\n .content {\n overflow: inherit;\n }\n }\n}\n\npre code {\n white-space: pre-wrap;\n}\n"]} \ No newline at end of file
diff --git a/searx/static/themes/simple/js/searxng.min.js b/searx/static/themes/simple/js/searxng.min.js
index e63c1afcf..43b7ebe4e 100644
--- a/searx/static/themes/simple/js/searxng.min.js
+++ b/searx/static/themes/simple/js/searxng.min.js
@@ -4,7 +4,7 @@
* (C) Copyright Contributors to the searx project (2014 - 2021).
* SPDX-License-Identifier: AGPL-3.0-or-later
*/
-window.searxng=function(t,o){"use strict";if(t.Element){(function(e){e.matches=e.matches||e.matchesSelector||e.webkitMatchesSelector||e.msMatchesSelector||function(e){var t=this,n=(t.parentNode||t.document).querySelectorAll(e),r=-1;while(n[++r]&&n[r]!=t);return!!n[r]}})(Element.prototype)}function s(e,t,n){try{e.call(t,n)}catch(e){console.log(e)}}var a=window.searxng||{};a.on=function(r,e,i,t){t=t||false;if(typeof r!=="string"){r.addEventListener(e,i,t)}else{o.addEventListener(e,function(e){var t=e.target||e.srcElement,n=false;while(t&&t.matches&&t!==o&&!(n=t.matches(r)))t=t.parentElement;if(n)s(i,t,e)},t)}};a.ready=function(e){if(document.readyState!="loading"){e.call(t)}else{t.addEventListener("DOMContentLoaded",e.bind(t))}};a.http=function(r,i,o=null){return new Promise(function(e,t){try{var n=new XMLHttpRequest;n.open(r,i,true);n.timeout=2e4;n.onload=function(){if(n.status==200){e(n.response,n.responseType)}else{t(Error(n.statusText))}};n.onerror=function(){t(Error("Network Error"))};n.onabort=function(){t(Error("Transaction is aborted"))};n.ontimeout=function(){t(Error("Timeout"))};if(o){n.send(o)}else{n.send()}}catch(e){t(e)}})};a.loadStyle=function(e){var t=a.settings.theme_static_path+"/"+e,n="style_"+e.replace(".","_"),r=o.getElementById(n);if(r===null){r=o.createElement("link");r.setAttribute("id",n);r.setAttribute("rel","stylesheet");r.setAttribute("type","text/css");r.setAttribute("href",t);o.body.appendChild(r)}};a.loadScript=function(e,t){var n=a.settings.theme_static_path+"/"+e,r="script_"+e.replace(".","_"),i=o.getElementById(r);if(i===null){i=o.createElement("script");i.setAttribute("id",r);i.setAttribute("src",n);i.onload=t;i.onerror=function(){i.setAttribute("error","1")};o.body.appendChild(i)}else if(!i.hasAttribute("error")){try{t.apply(i,[])}catch(e){console.log(e)}}else{console.log("callback not executed : script '"+n+"' not loaded.")}};a.insertBefore=function(e,t){t.parentNode.insertBefore(e,t)};a.insertAfter=function(e,t){t.parentNode.insertAfter(e,t.nextSibling)};a.on(".close","click",function(){this.parentNode.classList.add("invisible")});function e(){for(var e of o.getElementsByTagName("body")[0].classList.values()){if(e.endsWith("_endpoint")){return e.split("_")[0]}}return""}a.endpoint=e();return a}(window,document);searxng.ready(function(){"use strict";searxng.infinite_scroll_supported="IntersectionObserver"in window&&"IntersectionObserverEntry"in window&&"intersectionRatio"in window.IntersectionObserverEntry.prototype;if(searxng.endpoint!=="results"){return}if(!searxng.infinite_scroll_supported){console.log("IntersectionObserver not supported");return}let o=document;var s=o.getElementById("results").classList.contains("only_template_images");function n(){var e=o.createElement("div");e.classList.add("loader");return e}function r(t,e){t.textContent="";e.forEach(e=>t.appendChild(e))}function i(i){var e=o.querySelector("#pagination form.next_page");if(!e){return}r(o.querySelector("#pagination"),[n()]);var t=new FormData(e);searxng.http("POST",o.querySelector("#search").getAttribute("action"),t).then(function(e){var t=(new DOMParser).parseFromString(e,"text/html");var n=t.querySelectorAll("#urls article");var r=t.querySelector("#pagination");o.querySelector("#pagination").remove();if(n.length>0&&!s){o.querySelector("#urls").appendChild(o.createElement("hr"))}n.forEach(e=>{o.querySelector("#urls").appendChild(e)});if(r){o.querySelector("#results").appendChild(r);i()}}).catch(function(e){console.log(e);var t=o.createElement("div");t.textContent=searxng.settings.translations.error_loading_next_page;t.classList.add("dialog-error");t.setAttribute("role","alert");r(o.querySelector("#pagination"),[t])})}if(searxng.settings.infinite_scroll&&searxng.infinite_scroll_supported){const a={rootMargin:"20rem"};const l="article.result:last-child";const u=new IntersectionObserver(e=>{const t=e[0];if(t.isIntersecting){u.unobserve(t.target);i(()=>u.observe(o.querySelector(l),a))}});u.observe(o.querySelector(l),a)}});searxng.ready(function(){function e(e){while(e!==undefined){if(e.classList.contains("detail")){return true}if(e.classList.contains("result")){return false}e=e.parentNode}return false}function n(e){while(e!==undefined){if(e.classList.contains("result")){return e}e=e.parentNode}return undefined}function r(e){return e&&e.classList.contains("result-images")}searxng.on(".result","click",function(t){if(!e(t.target)){i(this)(true,true);let e=n(t.target);if(r(e)){t.preventDefault();searxng.selectImage(e)}}});searxng.on(".result a","focus",function(t){if(!e(t.target)){let e=n(t.target);if(e&&e.getAttribute("data-vim-selected")===null){i(e)(true)}if(r(e)){searxng.selectImage(e)}}},true);var d={27:{key:"Escape",fun:o,des:"remove focus from the focused input",cat:"Control"},73:{key:"i",fun:f,des:"focus on the search input",cat:"Control"},66:{key:"b",fun:u(-window.innerHeight),des:"scroll one page up",cat:"Navigation"},70:{key:"f",fun:u(window.innerHeight),des:"scroll one page down",cat:"Navigation"},85:{key:"u",fun:u(-window.innerHeight/2),des:"scroll half a page up",cat:"Navigation"},68:{key:"d",fun:u(window.innerHeight/2),des:"scroll half a page down",cat:"Navigation"},71:{key:"g",fun:c(-document.body.scrollHeight,"top"),des:"scroll to the top of the page",cat:"Navigation"},86:{key:"v",fun:c(document.body.scrollHeight,"bottom"),des:"scroll to the bottom of the page",cat:"Navigation"},75:{key:"k",fun:i("up"),des:"select previous search result",cat:"Results"},74:{key:"j",fun:i("down"),des:"select next search result",cat:"Results"},80:{key:"p",fun:l(),des:"go to previous page",cat:"Results"},78:{key:"n",fun:a(),des:"go to next page",cat:"Results"},79:{key:"o",fun:h(false),des:"open search result",cat:"Results"},84:{key:"t",fun:h(true),des:"open the result in a new tab",cat:"Results"},82:{key:"r",fun:t,des:"reload page from the server",cat:"Control"},72:{key:"h",fun:g,des:"toggle help window",cat:"Other"}};if(searxng.settings.hotkeys){searxng.on(document,"keydown",function(e){if(Object.prototype.hasOwnProperty.call(d,e.keyCode)&&!e.ctrlKey&&!e.altKey&&!e.shiftKey&&!e.metaKey){var t=e.target.tagName.toLowerCase();if(e.keyCode===27){d[e.keyCode].fun(e)}else{if(e.target===document.body||t==="a"||t==="button"){e.preventDefault();d[e.keyCode].fun()}}}})}function i(f){return function(e,t){var n=document.querySelector(".result[data-vim-selected]"),r=f;if(n===null){n=document.querySelector(".result");if(n===null){return}if(f==="down"||f==="up"){r=n}}var i,o=document.querySelectorAll(".result");if(typeof r!=="string"){i=r}else{switch(r){case"visible":var s=document.documentElement.scrollTop||document.body.scrollTop;var a=s+document.documentElement.clientHeight;for(var l=0;l<o.length;l++){i=o[l];var u=i.offsetTop;var c=u+i.clientHeight;if(c<=a&&u>s){break}}break;case"down":i=n.nextElementSibling;if(i===null){i=o[0]}break;case"up":i=n.previousElementSibling;if(i===null){i=o[o.length-1]}break;case"bottom":i=o[o.length-1];break;case"top":default:i=o[0]}}if(i){n.removeAttribute("data-vim-selected");i.setAttribute("data-vim-selected","true");if(!t){var d=i.querySelector("h3 a")||i.querySelector("a");if(d!==null){d.focus()}}if(!e){p()}}}}function t(){document.location.reload(true)}function o(e){const t=e.target.tagName.toLowerCase();if(document.activeElement&&(t==="input"||t==="select"||t==="textarea")){document.activeElement.blur()}else{searxng.closeDetail()}}function s(t){return function(){var e=document.querySelector(t);if(e){e.click()}}}function a(){return s('nav#pagination .next_page button[type="submit"]')}function l(){return s('nav#pagination .previous_page button[type="submit"]')}function p(){var e=document.querySelector(".result[data-vim-selected]");if(e===null){return}var t=document.documentElement.scrollTop||document.body.scrollTop,n=document.documentElement.clientHeight,r=e.offsetTop,i=r+e.clientHeight,o=120;if(e.previousElementSibling===null&&i<n){window.scroll(window.scrollX,0);return}if(t>r-o){window.scroll(window.scrollX,r-o)}else{var s=t+n;if(s<i+o){window.scroll(window.scrollX,i-n+o)}}}function u(e){return function(){window.scrollBy(0,e);i("visible")()}}function c(e,t){return function(){window.scrollTo(0,e);i(t)()}}function f(){window.scrollTo(0,0);var e=document.querySelector("#q");e.focus();if(e.setSelectionRange){var t=e.value.length;e.setSelectionRange(t,t)}}function h(n){return function(){var e=document.querySelector(".result[data-vim-selected] h3 a");if(e===null){e=document.querySelector(".result[data-vim-selected] > a")}if(e!==null){var t=e.getAttribute("href");if(n){window.open(t)}else{window.location.href=t}}}}function m(e){var n={};for(var t in d){var r=d[t];n[r.cat]=n[r.cat]||[];n[r.cat].push(r)}var i=Object.keys(n).sort(function(e,t){return n[t].length-n[e].length});if(i.length===0){return}var o='<a href="#" class="close" aria-label="close" title="close">×</a>';o+="<h3>How to navigate searx with Vim-like hotkeys</h3>";o+="<table>";for(var s=0;s<i.length;s++){var a=n[i[s]];var l=s===i.length-1;var u=s%2===0;if(u){o+="<tr>"}o+="<td>";o+="<h4>"+a[0].cat+"</h4>";o+='<ul class="list-unstyled">';for(var c in a){o+="<li><kbd>"+a[c].key+"</kbd> "+a[c].des+"</li>"}o+="</ul>";o+="</td>";if(!u||l){o+="</tr>"}}o+="</table>";e.innerHTML=o}function g(){var e=document.querySelector("#vim-hotkeys-help");if(e===undefined||e===null){e=document.createElement("div");e.id="vim-hotkeys-help";e.className="dialog-modal";m(e);m(e);m(e);var t=document.getElementsByTagName("body")[0];t.appendChild(e)}else{e.classList.toggle("invisible");return}}searxng.scrollPageToSelected=p;searxng.selectNext=i("down");searxng.selectPrevious=i("up")});(function(e,t,n){"use strict";n.ready(function(){n.on(".searxng_init_map","click",function(e){this.classList.remove("searxng_init_map");var d=this.dataset.leafletTarget;var f=parseFloat(this.dataset.mapLon);var p=parseFloat(this.dataset.mapLat);var h=parseFloat(this.dataset.mapZoom);var m=JSON.parse(this.dataset.mapBoundingbox);var g=JSON.parse(this.dataset.mapGeojson);n.loadStyle("css/leaflet.css");n.loadScript("js/leaflet.js",function(){var e=null;if(m){var t=L.latLng(m[0],m[2]);var n=L.latLng(m[1],m[3]);e=L.latLngBounds(t,n)}var r=L.map(d);var i="https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png";var o='Map data © <a href="https://openstreetmap.org">OpenStreetMap</a> contributors';var s=new L.TileLayer(i,{minZoom:1,maxZoom:19,attribution:o});var a="https://maps.wikimedia.org/osm-intl/{z}/{x}/{y}.png";var l='Wikimedia maps | Maps data © <a href="https://openstreetmap.org">OpenStreetMap contributors</a>';var u=new L.TileLayer(a,{minZoom:1,maxZoom:19,attribution:l});if(e){setTimeout(function(){r.fitBounds(e,{maxZoom:17})},0)}else if(f&&p){if(h){r.setView(new L.latLng(p,f),h)}else{r.setView(new L.latLng(p,f),8)}}r.addLayer(s);var c={"OSM Mapnik":s,"OSM Wikimedia":u};L.control.layers(c).addTo(r);if(g){L.geoJson(g).addTo(r)}});e.preventDefault()})})})(window,document,window.searxng);(function(e,o,s){"use strict";if(s.endpoint!=="preferences"){return}s.ready(function(){let i=null;function e(){if(i==null){s.http("GET","engine_descriptions.json").then(function(e){i=JSON.parse(e);for(const[t,n]of Object.entries(i)){let e=o.querySelectorAll('[data-engine-name="'+t+'"] .engine-description');for(const r of e){let e=" (<i>"+s.settings.translations.Source+":&nbsp;"+n[1]+"</i>)";r.innerHTML=n[0]+e}}})}}for(const t of o.querySelectorAll("[data-engine-name]")){s.on(t,"mouseenter",e)}})})(window,document,window.searxng);(function(e,a,l){"use strict";if(l.endpoint!=="results"){return}l.ready(function(){a.querySelectorAll("#urls img.image").forEach(e=>e.addEventListener("error",()=>{e.style.display="none";e.error=null}));l.on(".btn-collapse","click",function(){var e=this.getAttribute("data-btn-text-collapsed");var t=this.getAttribute("data-btn-text-not-collapsed");var n=this.getAttribute("data-target");var r=a.querySelector(n);var i=this.innerHTML;if(this.classList.contains("collapsed")){i=i.replace(e,t)}else{i=i.replace(t,e)}this.innerHTML=i;this.classList.toggle("collapsed");r.classList.toggle("invisible")});l.on(".media-loader","click",function(){var e=this.getAttribute("data-target");var t=a.querySelector(e+" > iframe");var n=t.getAttribute("src");if(n===null||n===undefined||n===false){t.setAttribute("src",t.getAttribute("data-src"))}});l.selectImage=function(e){if(e){const t=e.querySelector(".result-images-source img");const n=e.querySelector(".image_thumbnail");const r=e.querySelector(".detail");if(t){const i=t.getAttribute("data-src");if(i){const o=a.createElement("div");const s=new Image;o.classList.add("loader");r.appendChild(o);s.onload=e=>{t.src=i;o.remove()};s.onerror=e=>{o.remove()};s.src=i;t.src=n.src;t.removeAttribute("data-src")}}}a.getElementById("results").classList.add("image-detail-open");l.scrollPageToSelected()};l.closeDetail=function(e){a.getElementById("results").classList.remove("image-detail-open");l.scrollPageToSelected()};l.on(".result-detail-close","click",e=>{e.preventDefault();l.closeDetail()});l.on(".result-detail-previous","click",e=>l.selectPrevious(false));l.on(".result-detail-next","click",e=>l.selectNext(false));e.addEventListener("scroll",function(){var e=a.getElementById("backToTop"),t=document.documentElement.scrollTop||document.body.scrollTop,n=a.getElementById("results");if(e!==null){if(t>=100){n.classList.add("scrolling")}else{n.classList.remove("scrolling")}}},true)})})(window,document,window.searxng);(function(e,n,t){"use strict";var r="q",i;const o=window.matchMedia("only screen and (max-width: 50em)").matches;function s(){if(i.value.length>0){var e=document.getElementById("search");setTimeout(e.submit.bind(e),0)}}function a(t){var e=document.getElementById("clear_search");var n=function(){if(t.value.length===0){e.classList.add("empty")}else{e.classList.remove("empty")}};n();e.addEventListener("click",function(e){t.value="";t.focus();n();e.preventDefault()});t.addEventListener("keyup",n,false)}t.ready(function(){i=n.getElementById(r);if(i!==null){a(i);if(t.settings.autocomplete_provider){t.autocomplete=AutoComplete.call(e,{Url:"./autocompleter",EmptyMessage:t.settings.translations.no_item_found,HttpMethod:t.settings.http_method,HttpHeaders:{"Content-type":"application/x-www-form-urlencoded","X-Requested-With":"XMLHttpRequest"},MinChars:t.settings.autocomplete_min,Delay:300,_Position:function(){},_Open:function(){var t=this;Array.prototype.forEach.call(this.DOMResults.getElementsByTagName("li"),function(e){if(e.getAttribute("class")!="locked"){e.onmousedown=function(){t._Select(e)}}})}},"#"+r)}if(!o&&document.querySelector(".index_endpoint")){i.focus()}}if(i!==null&&n.querySelector(".help")!=null&&t.settings.search_on_category_select){n.querySelector(".help").className="invisible";t.on("#categories input","change",function(){var e,t=n.querySelectorAll('#categories input[type="checkbox"]');for(e=0;e<t.length;e++){if(t[e]!==this&&t[e].checked){t[e].click()}}if(!this.checked){this.click()}s();return false});t.on(n.getElementById("safesearch"),"change",s);t.on(n.getElementById("time_range"),"change",s);t.on(n.getElementById("language"),"change",s)}})})(window,document,window.searxng);(function(e){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=e()}else if(typeof define==="function"&&define.amd){define([],e)}else{var t;if(typeof window!=="undefined"){t=window}else if(typeof global!=="undefined"){t=global}else if(typeof self!=="undefined"){t=self}else{t=this}t.AutoComplete=e()}})(function(){var e,t,n;return function(){function c(o,s,a){function l(n,e){if(!s[n]){if(!o[n]){var t="function"==typeof require&&require;if(!e&&t)return t(n,!0);if(u)return u(n,!0);var r=new Error("Cannot find module '"+n+"'");throw r.code="MODULE_NOT_FOUND",r}var i=s[n]={exports:{}};o[n][0].call(i.exports,function(e){var t=o[n][1][e];return l(t||e)},i,i.exports,c,o,s,a)}return s[n].exports}for(var u="function"==typeof require&&require,e=0;e<a.length;e++)l(a[e]);return l}return c}()({1:[function(e,t,n){
+window.searxng=function(t,i){"use strict";if(t.Element){(function(e){e.matches=e.matches||e.matchesSelector||e.webkitMatchesSelector||e.msMatchesSelector||function(e){var t=this,n=(t.parentNode||t.document).querySelectorAll(e),r=-1;while(n[++r]&&n[r]!=t);return!!n[r]}})(Element.prototype)}function s(e,t,n){try{e.call(t,n)}catch(e){console.log(e)}}var a=window.searxng||{};a.on=function(r,e,o,t){t=t||false;if(typeof r!=="string"){r.addEventListener(e,o,t)}else{i.addEventListener(e,function(e){var t=e.target||e.srcElement,n=false;while(t&&t.matches&&t!==i&&!(n=t.matches(r)))t=t.parentElement;if(n)s(o,t,e)},t)}};a.ready=function(e){if(document.readyState!="loading"){e.call(t)}else{t.addEventListener("DOMContentLoaded",e.bind(t))}};a.http=function(r,o,i=null){return new Promise(function(e,t){try{var n=new XMLHttpRequest;n.open(r,o,true);n.timeout=2e4;n.onload=function(){if(n.status==200){e(n.response,n.responseType)}else{t(Error(n.statusText))}};n.onerror=function(){t(Error("Network Error"))};n.onabort=function(){t(Error("Transaction is aborted"))};n.ontimeout=function(){t(Error("Timeout"))};if(i){n.send(i)}else{n.send()}}catch(e){t(e)}})};a.loadStyle=function(e){var t=a.settings.theme_static_path+"/"+e,n="style_"+e.replace(".","_"),r=i.getElementById(n);if(r===null){r=i.createElement("link");r.setAttribute("id",n);r.setAttribute("rel","stylesheet");r.setAttribute("type","text/css");r.setAttribute("href",t);i.body.appendChild(r)}};a.loadScript=function(e,t){var n=a.settings.theme_static_path+"/"+e,r="script_"+e.replace(".","_"),o=i.getElementById(r);if(o===null){o=i.createElement("script");o.setAttribute("id",r);o.setAttribute("src",n);o.onload=t;o.onerror=function(){o.setAttribute("error","1")};i.body.appendChild(o)}else if(!o.hasAttribute("error")){try{t.apply(o,[])}catch(e){console.log(e)}}else{console.log("callback not executed : script '"+n+"' not loaded.")}};a.insertBefore=function(e,t){t.parentNode.insertBefore(e,t)};a.insertAfter=function(e,t){t.parentNode.insertAfter(e,t.nextSibling)};a.on(".close","click",function(){this.parentNode.classList.add("invisible")});function e(){for(var e of i.getElementsByTagName("body")[0].classList.values()){if(e.endsWith("_endpoint")){return e.split("_")[0]}}return""}a.endpoint=e();return a}(window,document);searxng.ready(function(){"use strict";searxng.infinite_scroll_supported="IntersectionObserver"in window&&"IntersectionObserverEntry"in window&&"intersectionRatio"in window.IntersectionObserverEntry.prototype;if(searxng.endpoint!=="results"){return}if(!searxng.infinite_scroll_supported){console.log("IntersectionObserver not supported");return}let i=document;var s=i.getElementById("results").classList.contains("only_template_images");function n(){var e=i.createElement("div");e.classList.add("loader");return e}function r(t,e){t.textContent="";e.forEach(e=>t.appendChild(e))}function o(o){var e=i.querySelector("#pagination form.next_page");if(!e){return}r(i.querySelector("#pagination"),[n()]);var t=new FormData(e);searxng.http("POST",i.querySelector("#search").getAttribute("action"),t).then(function(e){var t=(new DOMParser).parseFromString(e,"text/html");var n=t.querySelectorAll("#urls article");var r=t.querySelector("#pagination");i.querySelector("#pagination").remove();if(n.length>0&&!s){i.querySelector("#urls").appendChild(i.createElement("hr"))}n.forEach(e=>{i.querySelector("#urls").appendChild(e)});if(r){i.querySelector("#results").appendChild(r);o()}}).catch(function(e){console.log(e);var t=i.createElement("div");t.textContent=searxng.settings.translations.error_loading_next_page;t.classList.add("dialog-error");t.setAttribute("role","alert");r(i.querySelector("#pagination"),[t])})}if(searxng.settings.infinite_scroll&&searxng.infinite_scroll_supported){const a={rootMargin:"20rem"};const l="article.result:last-child";const u=new IntersectionObserver(e=>{const t=e[0];if(t.isIntersecting){u.unobserve(t.target);o(()=>u.observe(i.querySelector(l),a))}});u.observe(i.querySelector(l),a)}});searxng.ready(function(){function e(e){while(e!==undefined){if(e.classList.contains("detail")){return true}if(e.classList.contains("result")){return false}e=e.parentNode}return false}function n(e){while(e!==undefined){if(e.classList.contains("result")){return e}e=e.parentNode}return undefined}function r(e){return e&&e.classList.contains("result-images")}searxng.on(".result","click",function(t){if(!e(t.target)){o(this)(true,true);let e=n(t.target);if(r(e)){t.preventDefault();searxng.selectImage(e)}}});searxng.on(".result a","focus",function(t){if(!e(t.target)){let e=n(t.target);if(e&&e.getAttribute("data-vim-selected")===null){o(e)(true)}if(r(e)){searxng.selectImage(e)}}},true);var d={27:{key:"Escape",fun:i,des:"remove focus from the focused input",cat:"Control"},73:{key:"i",fun:f,des:"focus on the search input",cat:"Control"},66:{key:"b",fun:u(-window.innerHeight),des:"scroll one page up",cat:"Navigation"},70:{key:"f",fun:u(window.innerHeight),des:"scroll one page down",cat:"Navigation"},85:{key:"u",fun:u(-window.innerHeight/2),des:"scroll half a page up",cat:"Navigation"},68:{key:"d",fun:u(window.innerHeight/2),des:"scroll half a page down",cat:"Navigation"},71:{key:"g",fun:c(-document.body.scrollHeight,"top"),des:"scroll to the top of the page",cat:"Navigation"},86:{key:"v",fun:c(document.body.scrollHeight,"bottom"),des:"scroll to the bottom of the page",cat:"Navigation"},75:{key:"k",fun:o("up"),des:"select previous search result",cat:"Results"},74:{key:"j",fun:o("down"),des:"select next search result",cat:"Results"},80:{key:"p",fun:l(),des:"go to previous page",cat:"Results"},78:{key:"n",fun:a(),des:"go to next page",cat:"Results"},79:{key:"o",fun:m(false),des:"open search result",cat:"Results"},84:{key:"t",fun:m(true),des:"open the result in a new tab",cat:"Results"},82:{key:"r",fun:t,des:"reload page from the server",cat:"Control"},72:{key:"h",fun:g,des:"toggle help window",cat:"Other"}};if(searxng.settings.hotkeys){searxng.on(document,"keydown",function(e){if(Object.prototype.hasOwnProperty.call(d,e.keyCode)&&!e.ctrlKey&&!e.altKey&&!e.shiftKey&&!e.metaKey){var t=e.target.tagName.toLowerCase();if(e.keyCode===27){d[e.keyCode].fun(e)}else{if(e.target===document.body||t==="a"||t==="button"){e.preventDefault();d[e.keyCode].fun()}}}})}function o(f){return function(e,t){var n=document.querySelector(".result[data-vim-selected]"),r=f;if(n===null){n=document.querySelector(".result");if(n===null){return}if(f==="down"||f==="up"){r=n}}var o,i=document.querySelectorAll(".result");if(typeof r!=="string"){o=r}else{switch(r){case"visible":var s=document.documentElement.scrollTop||document.body.scrollTop;var a=s+document.documentElement.clientHeight;for(var l=0;l<i.length;l++){o=i[l];var u=o.offsetTop;var c=u+o.clientHeight;if(c<=a&&u>s){break}}break;case"down":o=n.nextElementSibling;if(o===null){o=i[0]}break;case"up":o=n.previousElementSibling;if(o===null){o=i[i.length-1]}break;case"bottom":o=i[i.length-1];break;case"top":default:o=i[0]}}if(o){n.removeAttribute("data-vim-selected");o.setAttribute("data-vim-selected","true");if(!t){var d=o.querySelector("h3 a")||o.querySelector("a");if(d!==null){d.focus()}}if(!e){p()}}}}function t(){document.location.reload(true)}function i(e){const t=e.target.tagName.toLowerCase();if(document.activeElement&&(t==="input"||t==="select"||t==="textarea")){document.activeElement.blur()}else{searxng.closeDetail()}}function s(t){return function(){var e=document.querySelector(t);if(e){e.click()}}}function a(){return s('nav#pagination .next_page button[type="submit"]')}function l(){return s('nav#pagination .previous_page button[type="submit"]')}function p(){var e=document.querySelector(".result[data-vim-selected]");if(e===null){return}var t=document.documentElement.scrollTop||document.body.scrollTop,n=document.documentElement.clientHeight,r=e.offsetTop,o=r+e.clientHeight,i=120;if(e.previousElementSibling===null&&o<n){window.scroll(window.scrollX,0);return}if(t>r-i){window.scroll(window.scrollX,r-i)}else{var s=t+n;if(s<o+i){window.scroll(window.scrollX,o-n+i)}}}function u(e){return function(){window.scrollBy(0,e);o("visible")()}}function c(e,t){return function(){window.scrollTo(0,e);o(t)()}}function f(){window.scrollTo(0,0);var e=document.querySelector("#q");e.focus();if(e.setSelectionRange){var t=e.value.length;e.setSelectionRange(t,t)}}function m(n){return function(){var e=document.querySelector(".result[data-vim-selected] h3 a");if(e===null){e=document.querySelector(".result[data-vim-selected] > a")}if(e!==null){var t=e.getAttribute("href");if(n){window.open(t)}else{window.location.href=t}}}}function h(e){var n={};for(var t in d){var r=d[t];n[r.cat]=n[r.cat]||[];n[r.cat].push(r)}var o=Object.keys(n).sort(function(e,t){return n[t].length-n[e].length});if(o.length===0){return}var i='<a href="#" class="close" aria-label="close" title="close">×</a>';i+="<h3>How to navigate searx with Vim-like hotkeys</h3>";i+="<table>";for(var s=0;s<o.length;s++){var a=n[o[s]];var l=s===o.length-1;var u=s%2===0;if(u){i+="<tr>"}i+="<td>";i+="<h4>"+a[0].cat+"</h4>";i+='<ul class="list-unstyled">';for(var c in a){i+="<li><kbd>"+a[c].key+"</kbd> "+a[c].des+"</li>"}i+="</ul>";i+="</td>";if(!u||l){i+="</tr>"}}i+="</table>";e.innerHTML=i}function g(){var e=document.querySelector("#vim-hotkeys-help");if(e===undefined||e===null){e=document.createElement("div");e.id="vim-hotkeys-help";e.className="dialog-modal";h(e);h(e);h(e);var t=document.getElementsByTagName("body")[0];t.appendChild(e)}else{e.classList.toggle("invisible");return}}searxng.scrollPageToSelected=p;searxng.selectNext=o("down");searxng.selectPrevious=o("up")});(function(e,t,n){"use strict";n.ready(function(){n.on(".searxng_init_map","click",function(e){this.classList.remove("searxng_init_map");var d=this.dataset.leafletTarget;var f=parseFloat(this.dataset.mapLon);var p=parseFloat(this.dataset.mapLat);var m=parseFloat(this.dataset.mapZoom);var h=JSON.parse(this.dataset.mapBoundingbox);var g=JSON.parse(this.dataset.mapGeojson);n.loadStyle("css/leaflet.css");n.loadScript("js/leaflet.js",function(){var e=null;if(h){var t=L.latLng(h[0],h[2]);var n=L.latLng(h[1],h[3]);e=L.latLngBounds(t,n)}var r=L.map(d);var o="https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png";var i='Map data © <a href="https://openstreetmap.org">OpenStreetMap</a> contributors';var s=new L.TileLayer(o,{minZoom:1,maxZoom:19,attribution:i});var a="https://maps.wikimedia.org/osm-intl/{z}/{x}/{y}.png";var l='Wikimedia maps | Maps data © <a href="https://openstreetmap.org">OpenStreetMap contributors</a>';var u=new L.TileLayer(a,{minZoom:1,maxZoom:19,attribution:l});if(e){setTimeout(function(){r.fitBounds(e,{maxZoom:17})},0)}else if(f&&p){if(m){r.setView(new L.latLng(p,f),m)}else{r.setView(new L.latLng(p,f),8)}}r.addLayer(s);var c={"OSM Mapnik":s,"OSM Wikimedia":u};L.control.layers(c).addTo(r);if(g){L.geoJson(g).addTo(r)}});e.preventDefault()})})})(window,document,window.searxng);(function(e,i,s){"use strict";if(s.endpoint!=="preferences"){return}s.ready(function(){let o=null;function e(){if(o==null){s.http("GET","engine_descriptions.json").then(function(e){o=JSON.parse(e);for(const[t,n]of Object.entries(o)){let e=i.querySelectorAll('[data-engine-name="'+t+'"] .engine-description');for(const r of e){let e=" (<i>"+s.settings.translations.Source+":&nbsp;"+n[1]+"</i>)";r.innerHTML=n[0]+e}}})}}for(const t of i.querySelectorAll("[data-engine-name]")){s.on(t,"mouseenter",e)}})})(window,document,window.searxng);(function(e,a,l){"use strict";if(l.endpoint!=="results"){return}l.ready(function(){a.querySelectorAll("#urls img.image").forEach(e=>e.addEventListener("error",()=>{e.style.display="none";e.error=null}));l.on(".btn-collapse","click",function(){var e=this.getAttribute("data-btn-text-collapsed");var t=this.getAttribute("data-btn-text-not-collapsed");var n=this.getAttribute("data-target");var r=a.querySelector(n);var o=this.innerHTML;if(this.classList.contains("collapsed")){o=o.replace(e,t)}else{o=o.replace(t,e)}this.innerHTML=o;this.classList.toggle("collapsed");r.classList.toggle("invisible")});l.on(".media-loader","click",function(){var e=this.getAttribute("data-target");var t=a.querySelector(e+" > iframe");var n=t.getAttribute("src");if(n===null||n===undefined||n===false){t.setAttribute("src",t.getAttribute("data-src"))}});l.selectImage=function(e){if(e){const t=e.querySelector(".result-images-source img");const n=e.querySelector(".image_thumbnail");const r=e.querySelector(".detail");if(t){const o=t.getAttribute("data-src");if(o){const i=a.createElement("div");const s=new Image;i.classList.add("loader");r.appendChild(i);s.onload=e=>{t.src=o;i.remove()};s.onerror=e=>{i.remove()};s.src=o;t.src=n.src;t.removeAttribute("data-src")}}}a.getElementById("results").classList.add("image-detail-open");l.scrollPageToSelected()};l.closeDetail=function(e){a.getElementById("results").classList.remove("image-detail-open");l.scrollPageToSelected()};l.on(".result-detail-close","click",e=>{e.preventDefault();l.closeDetail()});l.on(".result-detail-previous","click",e=>l.selectPrevious(false));l.on(".result-detail-next","click",e=>l.selectNext(false));e.addEventListener("scroll",function(){var e=a.getElementById("backToTop"),t=document.documentElement.scrollTop||document.body.scrollTop,n=a.getElementById("results");if(e!==null){if(t>=100){n.classList.add("scrolling")}else{n.classList.remove("scrolling")}}},true)})})(window,document,window.searxng);(function(e,n,t){"use strict";var r="q",o;const i=window.matchMedia("only screen and (max-width: 50em)").matches;function s(){if(o.value.length>0){var e=document.getElementById("search");setTimeout(e.submit.bind(e),0)}}function a(t){var e=document.getElementById("clear_search");var n=function(){if(t.value.length===0){e.classList.add("empty")}else{e.classList.remove("empty")}};n();e.addEventListener("click",function(e){t.value="";t.focus();n();e.preventDefault()});t.addEventListener("keyup",n,false)}t.ready(function(){o=n.getElementById(r);if(o!==null){a(o);if(t.settings.autocomplete_provider){t.autocomplete=AutoComplete.call(e,{Url:"./autocompleter",EmptyMessage:t.settings.translations.no_item_found,HttpMethod:t.settings.http_method,HttpHeaders:{"Content-type":"application/x-www-form-urlencoded","X-Requested-With":"XMLHttpRequest"},MinChars:t.settings.autocomplete_min,Delay:300,_Position:function(){},_Open:function(){var t=this;Array.prototype.forEach.call(this.DOMResults.getElementsByTagName("li"),function(e){if(e.getAttribute("class")!="locked"){e.onmousedown=function(){t._Select(e)}}})}},"#"+r)}AutoComplete.prototype.ajax=function(e,t,n){if(n===void 0){n=true}if(e.$AjaxTimer){window.clearTimeout(e.$AjaxTimer)}if(n===true){e.$AjaxTimer=window.setTimeout(AutoComplete.prototype.ajax.bind(null,e,t,false),e.Delay)}else{if(e.Request){e.Request.abort()}e.Request=t;e.Request.send(encodeURIComponent(e._QueryArg())+"="+encodeURIComponent(e._Pre()))}};if(!i&&document.querySelector(".index_endpoint")){o.focus()}}if(o!==null&&n.querySelector(".help")!=null&&t.settings.search_on_category_select){n.querySelector(".help").className="invisible";t.on("#categories input","change",function(){var e,t=n.querySelectorAll('#categories input[type="checkbox"]');for(e=0;e<t.length;e++){if(t[e]!==this&&t[e].checked){t[e].click()}}if(!this.checked){this.click()}s();return false});t.on(n.getElementById("safesearch"),"change",s);t.on(n.getElementById("time_range"),"change",s);t.on(n.getElementById("language"),"change",s)}})})(window,document,window.searxng);(function(e){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=e()}else if(typeof define==="function"&&define.amd){define([],e)}else{var t;if(typeof window!=="undefined"){t=window}else if(typeof global!=="undefined"){t=global}else if(typeof self!=="undefined"){t=self}else{t=this}t.AutoComplete=e()}})(function(){var e,t,n;return function(){function c(i,s,a){function l(n,e){if(!s[n]){if(!i[n]){var t="function"==typeof require&&require;if(!e&&t)return t(n,!0);if(u)return u(n,!0);var r=new Error("Cannot find module '"+n+"'");throw r.code="MODULE_NOT_FOUND",r}var o=s[n]={exports:{}};i[n][0].call(o.exports,function(e){var t=i[n][1][e];return l(t||e)},o,o.exports,c,i,s,a)}return s[n].exports}for(var u="function"==typeof require&&require,e=0;e<a.length;e++)l(a[e]);return l}return c}()({1:[function(e,t,n){
/*
* @license MIT
*
@@ -14,5 +14,5 @@ window.searxng=function(t,o){"use strict";if(t.Element){(function(e){e.matches=e
*
* (c) 2017, Baptiste Donaux
*/
-"use strict";var l;(function(e){e[e["AND"]=0]="AND";e[e["OR"]=1]="OR"})(l||(l={}));var o;(function(e){e[e["KEYDOWN"]=0]="KEYDOWN";e[e["KEYUP"]=1]="KEYUP"})(o||(o={}));var r=function(){function a(t,e){if(t===void 0){t={}}if(e===void 0){e="[data-autocomplete]"}if(Array.isArray(e)){e.forEach(function(e){new a(t,e)})}else if(typeof e=="string"){var n=document.querySelectorAll(e);Array.prototype.forEach.call(n,function(e){new a(t,e)})}else{var r=a.merge(a.defaults,t,{DOMResults:document.createElement("div")});a.prototype.create(r,e);return r}}a.prototype.create=function(e,t){e.Input=t;if(e.Input.nodeName.match(/^INPUT$/i)&&(e.Input.hasAttribute("type")===false||e.Input.getAttribute("type").match(/^TEXT|SEARCH$/i))){e.Input.setAttribute("autocomplete","off");e._Position(e);e.Input.parentNode.appendChild(e.DOMResults);e.$Listeners={blur:e._Blur.bind(e),destroy:a.prototype.destroy.bind(null,e),focus:e._Focus.bind(e),keyup:a.prototype.event.bind(null,e,o.KEYUP),keydown:a.prototype.event.bind(null,e,o.KEYDOWN),position:e._Position.bind(e)};for(var n in e.$Listeners){e.Input.addEventListener(n,e.$Listeners[n])}}};a.prototype.getEventsByType=function(e,t){var n={};for(var r in e.KeyboardMappings){var i=o.KEYUP;if(e.KeyboardMappings[r].Event!==undefined){i=e.KeyboardMappings[r].Event}if(i==t){n[r]=e.KeyboardMappings[r]}}return n};a.prototype.event=function(e,t,n){var r=function(e){if(s===true&&o.Operator==l.AND||s===false&&o.Operator==l.OR){e=a.merge({Not:false},e);if(e.hasOwnProperty("Is")){if(e.Is==n.keyCode){s=!e.Not}else{s=e.Not}}else if(e.hasOwnProperty("From")&&e.hasOwnProperty("To")){if(n.keyCode>=e.From&&n.keyCode<=e.To){s=!e.Not}else{s=e.Not}}}};for(var i in a.prototype.getEventsByType(e,t)){var o=a.merge({Operator:l.AND},e.KeyboardMappings[i]),s=l.AND==o.Operator;o.Conditions.forEach(r);if(s===true){o.Callback.call(e,n)}}};a.prototype.makeRequest=function(e,t,n){var r=Object.getOwnPropertyNames(e.HttpHeaders),i=new XMLHttpRequest,o=e._HttpMethod(),s=e._Url(),a=e._Pre(),l=encodeURIComponent(e._QueryArg())+"="+encodeURIComponent(a);if(o.match(/^GET$/i)){if(s.indexOf("?")!==-1){s+="&"+l}else{s+="?"+l}}i.open(o,s,true);for(var u=r.length-1;u>=0;u--){i.setRequestHeader(r[u],e.HttpHeaders[r[u]])}i.onreadystatechange=function(){if(i.readyState==4&&i.status==200){e.$Cache[a]=i.response;t(i.response)}else if(i.status>=400){n()}};return i};a.prototype.ajax=function(e,t,n){if(n===void 0){n=true}if(e.$AjaxTimer){window.clearTimeout(e.$AjaxTimer)}if(n===true){e.$AjaxTimer=window.setTimeout(a.prototype.ajax.bind(null,e,t,false),e.Delay)}else{if(e.Request){e.Request.abort()}e.Request=t;e.Request.send(e._QueryArg()+"="+e._Pre())}};a.prototype.cache=function(e,t,n){var r=e._Cache(e._Pre());if(r===undefined){var i=a.prototype.makeRequest(e,t,n);a.prototype.ajax(e,i)}else{t(r)}};a.prototype.destroy=function(e){for(var t in e.$Listeners){e.Input.removeEventListener(t,e.$Listeners[t])}e.DOMResults.parentNode.removeChild(e.DOMResults)};a.merge=function(){var e={},t;for(var n=0;n<arguments.length;n++){for(t in arguments[n]){e[t]=arguments[n][t]}}return e};a.defaults={Delay:150,EmptyMessage:"No result here",Highlight:{getRegex:function(e){return new RegExp(e,"ig")},transform:function(e){return"<strong>"+e+"</strong>"}},HttpHeaders:{"Content-type":"application/x-www-form-urlencoded"},Limit:0,MinChars:0,HttpMethod:"GET",QueryArg:"q",Url:null,KeyboardMappings:{Enter:{Conditions:[{Is:13,Not:false}],Callback:function(e){if(this.DOMResults.getAttribute("class").indexOf("open")!=-1){var t=this.DOMResults.querySelector("li.active");if(t!==null){e.preventDefault();this._Select(t);this.DOMResults.setAttribute("class","autocomplete")}}},Operator:l.AND,Event:o.KEYDOWN},KeyUpAndDown_down:{Conditions:[{Is:38,Not:false},{Is:40,Not:false}],Callback:function(e){e.preventDefault()},Operator:l.OR,Event:o.KEYDOWN},KeyUpAndDown_up:{Conditions:[{Is:38,Not:false},{Is:40,Not:false}],Callback:function(e){e.preventDefault();var t=this.DOMResults.querySelector("li:first-child:not(.locked)"),n=this.DOMResults.querySelector("li:last-child:not(.locked)"),r=this.DOMResults.querySelector("li.active");if(r){var i=Array.prototype.indexOf.call(r.parentNode.children,r),o=i+(e.keyCode-39),s=this.DOMResults.getElementsByTagName("li").length;if(o<0){o=s-1}else if(o>=s){o=0}r.classList.remove("active");r.parentElement.children.item(o).classList.add("active")}else if(n&&e.keyCode==38){n.classList.add("active")}else if(t){t.classList.add("active")}},Operator:l.OR,Event:o.KEYUP},AlphaNum:{Conditions:[{Is:13,Not:true},{From:35,To:40,Not:true}],Callback:function(){var e=this.Input.getAttribute("data-autocomplete-old-value"),t=this._Pre();if(t!==""&&t.length>=this._MinChars()){if(!e||t!=e){this.DOMResults.setAttribute("class","autocomplete open")}a.prototype.cache(this,function(e){this._Render(this._Post(e));this._Open()}.bind(this),this._Error)}else{this._Close()}},Operator:l.AND,Event:o.KEYUP}},DOMResults:null,Request:null,Input:null,_EmptyMessage:function(){var e="";if(this.Input.hasAttribute("data-autocomplete-empty-message")){e=this.Input.getAttribute("data-autocomplete-empty-message")}else if(this.EmptyMessage!==false){e=this.EmptyMessage}else{e=""}return e},_Limit:function(){var e=this.Input.getAttribute("data-autocomplete-limit");if(isNaN(e)||e===null){return this.Limit}return parseInt(e,10)},_MinChars:function(){var e=this.Input.getAttribute("data-autocomplete-minchars");if(isNaN(e)||e===null){return this.MinChars}return parseInt(e,10)},_Highlight:function(e){return e.replace(this.Highlight.getRegex(this._Pre()),this.Highlight.transform)},_HttpMethod:function(){if(this.Input.hasAttribute("data-autocomplete-method")){return this.Input.getAttribute("data-autocomplete-method")}return this.HttpMethod},_QueryArg:function(){if(this.Input.hasAttribute("data-autocomplete-param-name")){return this.Input.getAttribute("data-autocomplete-param-name")}return this.QueryArg},_Url:function(){if(this.Input.hasAttribute("data-autocomplete")){return this.Input.getAttribute("data-autocomplete")}return this.Url},_Blur:function(e){if(e===void 0){e=false}if(e){this._Close()}else{var t=this;setTimeout(function(){t._Blur(true)},150)}},_Cache:function(e){return this.$Cache[e]},_Focus:function(){var e=this.Input.getAttribute("data-autocomplete-old-value");if((!e||this.Input.value!=e)&&this._MinChars()<=this.Input.value.length){this.DOMResults.setAttribute("class","autocomplete open")}},_Open:function(){var t=this;Array.prototype.forEach.call(this.DOMResults.getElementsByTagName("li"),function(e){if(e.getAttribute("class")!="locked"){e.onclick=function(){t._Select(e)}}})},_Close:function(){this.DOMResults.setAttribute("class","autocomplete")},_Position:function(){this.DOMResults.setAttribute("class","autocomplete");this.DOMResults.setAttribute("style","top:"+(this.Input.offsetTop+this.Input.offsetHeight)+"px;left:"+this.Input.offsetLeft+"px;width:"+this.Input.clientWidth+"px;")},_Render:function(e){var t;if(typeof e=="string"){t=this._RenderRaw(e)}else{t=this._RenderResponseItems(e)}if(this.DOMResults.hasChildNodes()){this.DOMResults.removeChild(this.DOMResults.childNodes[0])}this.DOMResults.appendChild(t)},_RenderResponseItems:function(e){var t=document.createElement("ul"),n=document.createElement("li"),r=this._Limit();if(r<0){e=e.reverse()}else if(r===0){r=e.length}for(var i=0;i<Math.min(Math.abs(r),e.length);i++){n.innerHTML=e[i].Label;n.setAttribute("data-autocomplete-value",e[i].Value);t.appendChild(n);n=document.createElement("li")}return t},_RenderRaw:function(e){var t=document.createElement("ul"),n=document.createElement("li");if(e.length>0){this.DOMResults.innerHTML=e}else{var r=this._EmptyMessage();if(r!==""){n.innerHTML=r;n.setAttribute("class","locked");t.appendChild(n)}}return t},_Post:function(t){try{var e=[];var n=JSON.parse(t);if(Object.keys(n).length===0){return""}if(Array.isArray(n)){for(var r=0;r<Object.keys(n).length;r++){e[e.length]={Value:n[r],Label:this._Highlight(n[r])}}}else{for(var i in n){e.push({Value:i,Label:this._Highlight(n[i])})}}return e}catch(e){return t}},_Pre:function(){return this.Input.value},_Select:function(e){if(e.hasAttribute("data-autocomplete-value")){this.Input.value=e.getAttribute("data-autocomplete-value")}else{this.Input.value=e.innerHTML}this.Input.setAttribute("data-autocomplete-old-value",this.Input.value)},_Error:function(){},$AjaxTimer:null,$Cache:{},$Listeners:{}};return a}();t.exports=r},{}]},{},[1])(1)});
+"use strict";var l;(function(e){e[e["AND"]=0]="AND";e[e["OR"]=1]="OR"})(l||(l={}));var i;(function(e){e[e["KEYDOWN"]=0]="KEYDOWN";e[e["KEYUP"]=1]="KEYUP"})(i||(i={}));var r=function(){function a(t,e){if(t===void 0){t={}}if(e===void 0){e="[data-autocomplete]"}if(Array.isArray(e)){e.forEach(function(e){new a(t,e)})}else if(typeof e=="string"){var n=document.querySelectorAll(e);Array.prototype.forEach.call(n,function(e){new a(t,e)})}else{var r=a.merge(a.defaults,t,{DOMResults:document.createElement("div")});a.prototype.create(r,e);return r}}a.prototype.create=function(e,t){e.Input=t;if(e.Input.nodeName.match(/^INPUT$/i)&&(e.Input.hasAttribute("type")===false||e.Input.getAttribute("type").match(/^TEXT|SEARCH$/i))){e.Input.setAttribute("autocomplete","off");e._Position(e);e.Input.parentNode.appendChild(e.DOMResults);e.$Listeners={blur:e._Blur.bind(e),destroy:a.prototype.destroy.bind(null,e),focus:e._Focus.bind(e),keyup:a.prototype.event.bind(null,e,i.KEYUP),keydown:a.prototype.event.bind(null,e,i.KEYDOWN),position:e._Position.bind(e)};for(var n in e.$Listeners){e.Input.addEventListener(n,e.$Listeners[n])}}};a.prototype.getEventsByType=function(e,t){var n={};for(var r in e.KeyboardMappings){var o=i.KEYUP;if(e.KeyboardMappings[r].Event!==undefined){o=e.KeyboardMappings[r].Event}if(o==t){n[r]=e.KeyboardMappings[r]}}return n};a.prototype.event=function(e,t,n){var r=function(e){if(s===true&&i.Operator==l.AND||s===false&&i.Operator==l.OR){e=a.merge({Not:false},e);if(e.hasOwnProperty("Is")){if(e.Is==n.keyCode){s=!e.Not}else{s=e.Not}}else if(e.hasOwnProperty("From")&&e.hasOwnProperty("To")){if(n.keyCode>=e.From&&n.keyCode<=e.To){s=!e.Not}else{s=e.Not}}}};for(var o in a.prototype.getEventsByType(e,t)){var i=a.merge({Operator:l.AND},e.KeyboardMappings[o]),s=l.AND==i.Operator;i.Conditions.forEach(r);if(s===true){i.Callback.call(e,n)}}};a.prototype.makeRequest=function(e,t,n){var r=Object.getOwnPropertyNames(e.HttpHeaders),o=new XMLHttpRequest,i=e._HttpMethod(),s=e._Url(),a=e._Pre(),l=encodeURIComponent(e._QueryArg())+"="+encodeURIComponent(a);if(i.match(/^GET$/i)){if(s.indexOf("?")!==-1){s+="&"+l}else{s+="?"+l}}o.open(i,s,true);for(var u=r.length-1;u>=0;u--){o.setRequestHeader(r[u],e.HttpHeaders[r[u]])}o.onreadystatechange=function(){if(o.readyState==4&&o.status==200){e.$Cache[a]=o.response;t(o.response)}else if(o.status>=400){n()}};return o};a.prototype.ajax=function(e,t,n){if(n===void 0){n=true}if(e.$AjaxTimer){window.clearTimeout(e.$AjaxTimer)}if(n===true){e.$AjaxTimer=window.setTimeout(a.prototype.ajax.bind(null,e,t,false),e.Delay)}else{if(e.Request){e.Request.abort()}e.Request=t;e.Request.send(e._QueryArg()+"="+e._Pre())}};a.prototype.cache=function(e,t,n){var r=e._Cache(e._Pre());if(r===undefined){var o=a.prototype.makeRequest(e,t,n);a.prototype.ajax(e,o)}else{t(r)}};a.prototype.destroy=function(e){for(var t in e.$Listeners){e.Input.removeEventListener(t,e.$Listeners[t])}e.DOMResults.parentNode.removeChild(e.DOMResults)};a.merge=function(){var e={},t;for(var n=0;n<arguments.length;n++){for(t in arguments[n]){e[t]=arguments[n][t]}}return e};a.defaults={Delay:150,EmptyMessage:"No result here",Highlight:{getRegex:function(e){return new RegExp(e,"ig")},transform:function(e){return"<strong>"+e+"</strong>"}},HttpHeaders:{"Content-type":"application/x-www-form-urlencoded"},Limit:0,MinChars:0,HttpMethod:"GET",QueryArg:"q",Url:null,KeyboardMappings:{Enter:{Conditions:[{Is:13,Not:false}],Callback:function(e){if(this.DOMResults.getAttribute("class").indexOf("open")!=-1){var t=this.DOMResults.querySelector("li.active");if(t!==null){e.preventDefault();this._Select(t);this.DOMResults.setAttribute("class","autocomplete")}}},Operator:l.AND,Event:i.KEYDOWN},KeyUpAndDown_down:{Conditions:[{Is:38,Not:false},{Is:40,Not:false}],Callback:function(e){e.preventDefault()},Operator:l.OR,Event:i.KEYDOWN},KeyUpAndDown_up:{Conditions:[{Is:38,Not:false},{Is:40,Not:false}],Callback:function(e){e.preventDefault();var t=this.DOMResults.querySelector("li:first-child:not(.locked)"),n=this.DOMResults.querySelector("li:last-child:not(.locked)"),r=this.DOMResults.querySelector("li.active");if(r){var o=Array.prototype.indexOf.call(r.parentNode.children,r),i=o+(e.keyCode-39),s=this.DOMResults.getElementsByTagName("li").length;if(i<0){i=s-1}else if(i>=s){i=0}r.classList.remove("active");r.parentElement.children.item(i).classList.add("active")}else if(n&&e.keyCode==38){n.classList.add("active")}else if(t){t.classList.add("active")}},Operator:l.OR,Event:i.KEYUP},AlphaNum:{Conditions:[{Is:13,Not:true},{From:35,To:40,Not:true}],Callback:function(){var e=this.Input.getAttribute("data-autocomplete-old-value"),t=this._Pre();if(t!==""&&t.length>=this._MinChars()){if(!e||t!=e){this.DOMResults.setAttribute("class","autocomplete open")}a.prototype.cache(this,function(e){this._Render(this._Post(e));this._Open()}.bind(this),this._Error)}else{this._Close()}},Operator:l.AND,Event:i.KEYUP}},DOMResults:null,Request:null,Input:null,_EmptyMessage:function(){var e="";if(this.Input.hasAttribute("data-autocomplete-empty-message")){e=this.Input.getAttribute("data-autocomplete-empty-message")}else if(this.EmptyMessage!==false){e=this.EmptyMessage}else{e=""}return e},_Limit:function(){var e=this.Input.getAttribute("data-autocomplete-limit");if(isNaN(e)||e===null){return this.Limit}return parseInt(e,10)},_MinChars:function(){var e=this.Input.getAttribute("data-autocomplete-minchars");if(isNaN(e)||e===null){return this.MinChars}return parseInt(e,10)},_Highlight:function(e){return e.replace(this.Highlight.getRegex(this._Pre()),this.Highlight.transform)},_HttpMethod:function(){if(this.Input.hasAttribute("data-autocomplete-method")){return this.Input.getAttribute("data-autocomplete-method")}return this.HttpMethod},_QueryArg:function(){if(this.Input.hasAttribute("data-autocomplete-param-name")){return this.Input.getAttribute("data-autocomplete-param-name")}return this.QueryArg},_Url:function(){if(this.Input.hasAttribute("data-autocomplete")){return this.Input.getAttribute("data-autocomplete")}return this.Url},_Blur:function(e){if(e===void 0){e=false}if(e){this._Close()}else{var t=this;setTimeout(function(){t._Blur(true)},150)}},_Cache:function(e){return this.$Cache[e]},_Focus:function(){var e=this.Input.getAttribute("data-autocomplete-old-value");if((!e||this.Input.value!=e)&&this._MinChars()<=this.Input.value.length){this.DOMResults.setAttribute("class","autocomplete open")}},_Open:function(){var t=this;Array.prototype.forEach.call(this.DOMResults.getElementsByTagName("li"),function(e){if(e.getAttribute("class")!="locked"){e.onclick=function(){t._Select(e)}}})},_Close:function(){this.DOMResults.setAttribute("class","autocomplete")},_Position:function(){this.DOMResults.setAttribute("class","autocomplete");this.DOMResults.setAttribute("style","top:"+(this.Input.offsetTop+this.Input.offsetHeight)+"px;left:"+this.Input.offsetLeft+"px;width:"+this.Input.clientWidth+"px;")},_Render:function(e){var t;if(typeof e=="string"){t=this._RenderRaw(e)}else{t=this._RenderResponseItems(e)}if(this.DOMResults.hasChildNodes()){this.DOMResults.removeChild(this.DOMResults.childNodes[0])}this.DOMResults.appendChild(t)},_RenderResponseItems:function(e){var t=document.createElement("ul"),n=document.createElement("li"),r=this._Limit();if(r<0){e=e.reverse()}else if(r===0){r=e.length}for(var o=0;o<Math.min(Math.abs(r),e.length);o++){n.innerHTML=e[o].Label;n.setAttribute("data-autocomplete-value",e[o].Value);t.appendChild(n);n=document.createElement("li")}return t},_RenderRaw:function(e){var t=document.createElement("ul"),n=document.createElement("li");if(e.length>0){this.DOMResults.innerHTML=e}else{var r=this._EmptyMessage();if(r!==""){n.innerHTML=r;n.setAttribute("class","locked");t.appendChild(n)}}return t},_Post:function(t){try{var e=[];var n=JSON.parse(t);if(Object.keys(n).length===0){return""}if(Array.isArray(n)){for(var r=0;r<Object.keys(n).length;r++){e[e.length]={Value:n[r],Label:this._Highlight(n[r])}}}else{for(var o in n){e.push({Value:o,Label:this._Highlight(n[o])})}}return e}catch(e){return t}},_Pre:function(){return this.Input.value},_Select:function(e){if(e.hasAttribute("data-autocomplete-value")){this.Input.value=e.getAttribute("data-autocomplete-value")}else{this.Input.value=e.innerHTML}this.Input.setAttribute("data-autocomplete-old-value",this.Input.value)},_Error:function(){},$AjaxTimer:null,$Cache:{},$Listeners:{}};return a}();t.exports=r},{}]},{},[1])(1)});
//# sourceMappingURL=searxng.min.js.map \ No newline at end of file
diff --git a/searx/static/themes/simple/js/searxng.min.js.map b/searx/static/themes/simple/js/searxng.min.js.map
index e3223dedc..0677e07b5 100644
--- a/searx/static/themes/simple/js/searxng.min.js.map
+++ b/searx/static/themes/simple/js/searxng.min.js.map
@@ -1 +1 @@
-{"version":3,"file":"searxng.min.js","sources":["../src/js/main/00_toolkit.js","../src/js/main/infinite_scroll.js","../src/js/main/keyboard.js","../src/js/main/mapresult.js","../src/js/main/preferences.js","../src/js/main/results.js","../src/js/main/search.js","../node_modules/autocomplete-js/dist/autocomplete.js"],"sourcesContent":["/**\n * @license\n * (C) Copyright Contributors to the SearXNG project.\n * (C) Copyright Contributors to the searx project (2014 - 2021).\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nwindow.searxng = (function (w, d) {\n\n 'use strict';\n\n // not invented here tookit with bugs fixed elsewhere\n // purposes : be just good enough and as small as possible\n\n // from https://plainjs.com/javascript/events/live-binding-event-handlers-14/\n if (w.Element) {\n (function (ElementPrototype) {\n ElementPrototype.matches = ElementPrototype.matches ||\n ElementPrototype.matchesSelector ||\n ElementPrototype.webkitMatchesSelector ||\n ElementPrototype.msMatchesSelector ||\n function (selector) {\n var node = this, nodes = (node.parentNode || node.document).querySelectorAll(selector), i = -1;\n while (nodes[++i] && nodes[i] != node);\n return !!nodes[i];\n };\n })(Element.prototype);\n }\n\n function callbackSafe (callback, el, e) {\n try {\n callback.call(el, e);\n } catch (exception) {\n console.log(exception);\n }\n }\n\n var searxng = window.searxng || {};\n\n searxng.on = function (obj, eventType, callback, useCapture) {\n useCapture = useCapture || false;\n if (typeof obj !== 'string') {\n // obj HTMLElement, HTMLDocument\n obj.addEventListener(eventType, callback, useCapture);\n } else {\n // obj is a selector\n d.addEventListener(eventType, function (e) {\n var el = e.target || e.srcElement, found = false;\n while (el && el.matches && el !== d && !(found = el.matches(obj))) el = el.parentElement;\n if (found) callbackSafe(callback, el, e);\n }, useCapture);\n }\n };\n\n searxng.ready = function (callback) {\n if (document.readyState != 'loading') {\n callback.call(w);\n } else {\n w.addEventListener('DOMContentLoaded', callback.bind(w));\n }\n };\n\n searxng.http = function (method, url, data = null) {\n return new Promise(function (resolve, reject) {\n try {\n var req = new XMLHttpRequest();\n req.open(method, url, true);\n req.timeout = 20000;\n\n // On load\n req.onload = function () {\n if (req.status == 200) {\n resolve(req.response, req.responseType);\n } else {\n reject(Error(req.statusText));\n }\n };\n\n // Handle network errors\n req.onerror = function () {\n reject(Error(\"Network Error\"));\n };\n\n req.onabort = function () {\n reject(Error(\"Transaction is aborted\"));\n };\n\n req.ontimeout = function () {\n reject(Error(\"Timeout\"));\n }\n\n // Make the request\n if (data) {\n req.send(data)\n } else {\n req.send();\n }\n } catch (ex) {\n reject(ex);\n }\n });\n };\n\n searxng.loadStyle = function (src) {\n var path = searxng.settings.theme_static_path + \"/\" + src,\n id = \"style_\" + src.replace('.', '_'),\n s = d.getElementById(id);\n if (s === null) {\n s = d.createElement('link');\n s.setAttribute('id', id);\n s.setAttribute('rel', 'stylesheet');\n s.setAttribute('type', 'text/css');\n s.setAttribute('href', path);\n d.body.appendChild(s);\n }\n };\n\n searxng.loadScript = function (src, callback) {\n var path = searxng.settings.theme_static_path + \"/\" + src,\n id = \"script_\" + src.replace('.', '_'),\n s = d.getElementById(id);\n if (s === null) {\n s = d.createElement('script');\n s.setAttribute('id', id);\n s.setAttribute('src', path);\n s.onload = callback;\n s.onerror = function () {\n s.setAttribute('error', '1');\n };\n d.body.appendChild(s);\n } else if (!s.hasAttribute('error')) {\n try {\n callback.apply(s, []);\n } catch (exception) {\n console.log(exception);\n }\n } else {\n console.log(\"callback not executed : script '\" + path + \"' not loaded.\");\n }\n };\n\n searxng.insertBefore = function (newNode, referenceNode) {\n referenceNode.parentNode.insertBefore(newNode, referenceNode);\n };\n\n searxng.insertAfter = function (newNode, referenceNode) {\n referenceNode.parentNode.insertAfter(newNode, referenceNode.nextSibling);\n };\n\n searxng.on('.close', 'click', function () {\n this.parentNode.classList.add('invisible');\n });\n\n function getEndpoint () {\n for (var className of d.getElementsByTagName('body')[0].classList.values()) {\n if (className.endsWith('_endpoint')) {\n return className.split('_')[0];\n }\n }\n return '';\n }\n\n searxng.endpoint = getEndpoint();\n\n return searxng;\n})(window, document);\n","// SPDX-License-Identifier: AGPL-3.0-or-later\n\n/* global searxng */\n\nsearxng.ready(function () {\n 'use strict';\n\n searxng.infinite_scroll_supported = (\n 'IntersectionObserver' in window &&\n 'IntersectionObserverEntry' in window &&\n 'intersectionRatio' in window.IntersectionObserverEntry.prototype);\n\n if (searxng.endpoint !== 'results') {\n return;\n }\n\n if (!searxng.infinite_scroll_supported) {\n console.log('IntersectionObserver not supported');\n return;\n }\n\n let d = document;\n var onlyImages = d.getElementById('results').classList.contains('only_template_images');\n\n function newLoadSpinner () {\n var loader = d.createElement('div');\n loader.classList.add('loader');\n return loader;\n }\n\n function replaceChildrenWith (element, children) {\n element.textContent = '';\n children.forEach(child => element.appendChild(child));\n }\n\n function loadNextPage (callback) {\n var form = d.querySelector('#pagination form.next_page');\n if (!form) {\n return\n }\n replaceChildrenWith(d.querySelector('#pagination'), [ newLoadSpinner() ]);\n var formData = new FormData(form);\n searxng.http('POST', d.querySelector('#search').getAttribute('action'), formData).then(\n function (response) {\n var nextPageDoc = new DOMParser().parseFromString(response, 'text/html');\n var articleList = nextPageDoc.querySelectorAll('#urls article');\n var paginationElement = nextPageDoc.querySelector('#pagination');\n d.querySelector('#pagination').remove();\n if (articleList.length > 0 && !onlyImages) {\n // do not add <hr> element when there are only images\n d.querySelector('#urls').appendChild(d.createElement('hr'));\n }\n articleList.forEach(articleElement => {\n d.querySelector('#urls').appendChild(articleElement);\n });\n if (paginationElement) {\n d.querySelector('#results').appendChild(paginationElement);\n callback();\n }\n }\n ).catch(\n function (err) {\n console.log(err);\n var e = d.createElement('div');\n e.textContent = searxng.settings.translations.error_loading_next_page;\n e.classList.add('dialog-error');\n e.setAttribute('role', 'alert');\n replaceChildrenWith(d.querySelector('#pagination'), [ e ]);\n }\n )\n }\n\n if (searxng.settings.infinite_scroll && searxng.infinite_scroll_supported) {\n const intersectionObserveOptions = {\n rootMargin: \"20rem\",\n };\n const observedSelector = 'article.result:last-child';\n const observer = new IntersectionObserver(entries => {\n const paginationEntry = entries[0];\n if (paginationEntry.isIntersecting) {\n observer.unobserve(paginationEntry.target);\n loadNextPage(() => observer.observe(d.querySelector(observedSelector), intersectionObserveOptions));\n }\n });\n observer.observe(d.querySelector(observedSelector), intersectionObserveOptions);\n }\n\n});\n","/* SPDX-License-Identifier: AGPL-3.0-or-later */\n/* global searxng */\n\nsearxng.ready(function () {\n\n function isElementInDetail (el) {\n while (el !== undefined) {\n if (el.classList.contains('detail')) {\n return true;\n }\n if (el.classList.contains('result')) {\n // we found a result, no need to go to the root of the document:\n // el is not inside a <div class=\"detail\"> element\n return false;\n }\n el = el.parentNode;\n }\n return false;\n }\n\n function getResultElement (el) {\n while (el !== undefined) {\n if (el.classList.contains('result')) {\n return el;\n }\n el = el.parentNode;\n }\n return undefined;\n }\n\n function isImageResult (resultElement) {\n return resultElement && resultElement.classList.contains('result-images');\n }\n\n searxng.on('.result', 'click', function (e) {\n if (!isElementInDetail(e.target)) {\n highlightResult(this)(true, true);\n let resultElement = getResultElement(e.target);\n if (isImageResult(resultElement)) {\n e.preventDefault();\n searxng.selectImage(resultElement);\n }\n }\n });\n\n searxng.on('.result a', 'focus', function (e) {\n if (!isElementInDetail(e.target)) {\n let resultElement = getResultElement(e.target);\n if (resultElement && resultElement.getAttribute(\"data-vim-selected\") === null) {\n highlightResult(resultElement)(true);\n }\n if (isImageResult(resultElement)) {\n searxng.selectImage(resultElement);\n }\n }\n }, true);\n\n var vimKeys = {\n 27: {\n key: 'Escape',\n fun: removeFocus,\n des: 'remove focus from the focused input',\n cat: 'Control'\n },\n 73: {\n key: 'i',\n fun: searchInputFocus,\n des: 'focus on the search input',\n cat: 'Control'\n },\n 66: {\n key: 'b',\n fun: scrollPage(-window.innerHeight),\n des: 'scroll one page up',\n cat: 'Navigation'\n },\n 70: {\n key: 'f',\n fun: scrollPage(window.innerHeight),\n des: 'scroll one page down',\n cat: 'Navigation'\n },\n 85: {\n key: 'u',\n fun: scrollPage(-window.innerHeight / 2),\n des: 'scroll half a page up',\n cat: 'Navigation'\n },\n 68: {\n key: 'd',\n fun: scrollPage(window.innerHeight / 2),\n des: 'scroll half a page down',\n cat: 'Navigation'\n },\n 71: {\n key: 'g',\n fun: scrollPageTo(-document.body.scrollHeight, 'top'),\n des: 'scroll to the top of the page',\n cat: 'Navigation'\n },\n 86: {\n key: 'v',\n fun: scrollPageTo(document.body.scrollHeight, 'bottom'),\n des: 'scroll to the bottom of the page',\n cat: 'Navigation'\n },\n 75: {\n key: 'k',\n fun: highlightResult('up'),\n des: 'select previous search result',\n cat: 'Results'\n },\n 74: {\n key: 'j',\n fun: highlightResult('down'),\n des: 'select next search result',\n cat: 'Results'\n },\n 80: {\n key: 'p',\n fun: GoToPreviousPage(),\n des: 'go to previous page',\n cat: 'Results'\n },\n 78: {\n key: 'n',\n fun: GoToNextPage(),\n des: 'go to next page',\n cat: 'Results'\n },\n 79: {\n key: 'o',\n fun: openResult(false),\n des: 'open search result',\n cat: 'Results'\n },\n 84: {\n key: 't',\n fun: openResult(true),\n des: 'open the result in a new tab',\n cat: 'Results'\n },\n 82: {\n key: 'r',\n fun: reloadPage,\n des: 'reload page from the server',\n cat: 'Control'\n },\n 72: {\n key: 'h',\n fun: toggleHelp,\n des: 'toggle help window',\n cat: 'Other'\n }\n };\n\n if (searxng.settings.hotkeys) {\n searxng.on(document, \"keydown\", function (e) {\n // check for modifiers so we don't break browser's hotkeys\n if (Object.prototype.hasOwnProperty.call(vimKeys, e.keyCode) && !e.ctrlKey && !e.altKey && !e.shiftKey && !e.metaKey) {\n var tagName = e.target.tagName.toLowerCase();\n if (e.keyCode === 27) {\n vimKeys[e.keyCode].fun(e);\n } else {\n if (e.target === document.body || tagName === 'a' || tagName === 'button') {\n e.preventDefault();\n vimKeys[e.keyCode].fun();\n }\n }\n }\n });\n }\n\n function highlightResult (which) {\n return function (noScroll, keepFocus) {\n var current = document.querySelector('.result[data-vim-selected]'),\n effectiveWhich = which;\n if (current === null) {\n // no selection : choose the first one\n current = document.querySelector('.result');\n if (current === null) {\n // no first one : there are no results\n return;\n }\n // replace up/down actions by selecting first one\n if (which === \"down\" || which === \"up\") {\n effectiveWhich = current;\n }\n }\n\n var next, results = document.querySelectorAll('.result');\n\n if (typeof effectiveWhich !== 'string') {\n next = effectiveWhich;\n } else {\n switch (effectiveWhich) {\n case 'visible':\n var top = document.documentElement.scrollTop || document.body.scrollTop;\n var bot = top + document.documentElement.clientHeight;\n\n for (var i = 0; i < results.length; i++) {\n next = results[i];\n var etop = next.offsetTop;\n var ebot = etop + next.clientHeight;\n\n if ((ebot <= bot) && (etop > top)) {\n break;\n }\n }\n break;\n case 'down':\n next = current.nextElementSibling;\n if (next === null) {\n next = results[0];\n }\n break;\n case 'up':\n next = current.previousElementSibling;\n if (next === null) {\n next = results[results.length - 1];\n }\n break;\n case 'bottom':\n next = results[results.length - 1];\n break;\n case 'top':\n /* falls through */\n default:\n next = results[0];\n }\n }\n\n if (next) {\n current.removeAttribute('data-vim-selected');\n next.setAttribute('data-vim-selected', 'true');\n if (!keepFocus) {\n var link = next.querySelector('h3 a') || next.querySelector('a');\n if (link !== null) {\n link.focus();\n }\n }\n if (!noScroll) {\n scrollPageToSelected();\n }\n }\n };\n }\n\n function reloadPage () {\n document.location.reload(true);\n }\n\n function removeFocus (e) {\n const tagName = e.target.tagName.toLowerCase();\n if (document.activeElement && (tagName === 'input' || tagName === 'select' || tagName === 'textarea')) {\n document.activeElement.blur();\n } else {\n searxng.closeDetail();\n }\n }\n\n function pageButtonClick (css_selector) {\n return function () {\n var button = document.querySelector(css_selector);\n if (button) {\n button.click();\n }\n };\n }\n\n function GoToNextPage () {\n return pageButtonClick('nav#pagination .next_page button[type=\"submit\"]');\n }\n\n function GoToPreviousPage () {\n return pageButtonClick('nav#pagination .previous_page button[type=\"submit\"]');\n }\n\n function scrollPageToSelected () {\n var sel = document.querySelector('.result[data-vim-selected]');\n if (sel === null) {\n return;\n }\n var wtop = document.documentElement.scrollTop || document.body.scrollTop,\n wheight = document.documentElement.clientHeight,\n etop = sel.offsetTop,\n ebot = etop + sel.clientHeight,\n offset = 120;\n // first element ?\n if ((sel.previousElementSibling === null) && (ebot < wheight)) {\n // set to the top of page if the first element\n // is fully included in the viewport\n window.scroll(window.scrollX, 0);\n return;\n }\n if (wtop > (etop - offset)) {\n window.scroll(window.scrollX, etop - offset);\n } else {\n var wbot = wtop + wheight;\n if (wbot < (ebot + offset)) {\n window.scroll(window.scrollX, ebot - wheight + offset);\n }\n }\n }\n\n function scrollPage (amount) {\n return function () {\n window.scrollBy(0, amount);\n highlightResult('visible')();\n };\n }\n\n function scrollPageTo (position, nav) {\n return function () {\n window.scrollTo(0, position);\n highlightResult(nav)();\n };\n }\n\n function searchInputFocus () {\n window.scrollTo(0, 0);\n var q = document.querySelector('#q');\n q.focus();\n if (q.setSelectionRange) {\n var len = q.value.length;\n q.setSelectionRange(len, len);\n }\n }\n\n function openResult (newTab) {\n return function () {\n var link = document.querySelector('.result[data-vim-selected] h3 a');\n if (link === null) {\n link = document.querySelector('.result[data-vim-selected] > a');\n }\n if (link !== null) {\n var url = link.getAttribute('href');\n if (newTab) {\n window.open(url);\n } else {\n window.location.href = url;\n }\n }\n };\n }\n\n function initHelpContent (divElement) {\n var categories = {};\n\n for (var k in vimKeys) {\n var key = vimKeys[k];\n categories[key.cat] = categories[key.cat] || [];\n categories[key.cat].push(key);\n }\n\n var sorted = Object.keys(categories).sort(function (a, b) {\n return categories[b].length - categories[a].length;\n });\n\n if (sorted.length === 0) {\n return;\n }\n\n var html = '<a href=\"#\" class=\"close\" aria-label=\"close\" title=\"close\">×</a>';\n html += '<h3>How to navigate searx with Vim-like hotkeys</h3>';\n html += '<table>';\n\n for (var i = 0; i < sorted.length; i++) {\n var cat = categories[sorted[i]];\n\n var lastCategory = i === (sorted.length - 1);\n var first = i % 2 === 0;\n\n if (first) {\n html += '<tr>';\n }\n html += '<td>';\n\n html += '<h4>' + cat[0].cat + '</h4>';\n html += '<ul class=\"list-unstyled\">';\n\n for (var cj in cat) {\n html += '<li><kbd>' + cat[cj].key + '</kbd> ' + cat[cj].des + '</li>';\n }\n\n html += '</ul>';\n html += '</td>'; // col-sm-*\n\n if (!first || lastCategory) {\n html += '</tr>'; // row\n }\n }\n\n html += '</table>';\n\n divElement.innerHTML = html;\n }\n\n function toggleHelp () {\n var helpPanel = document.querySelector('#vim-hotkeys-help');\n if (helpPanel === undefined || helpPanel === null) {\n // first call\n helpPanel = document.createElement('div');\n helpPanel.id = 'vim-hotkeys-help';\n helpPanel.className = 'dialog-modal';\n initHelpContent(helpPanel);\n initHelpContent(helpPanel);\n initHelpContent(helpPanel);\n var body = document.getElementsByTagName('body')[0];\n body.appendChild(helpPanel);\n } else {\n // togggle hidden\n helpPanel.classList.toggle('invisible');\n return;\n }\n }\n\n searxng.scrollPageToSelected = scrollPageToSelected;\n searxng.selectNext = highlightResult('down');\n searxng.selectPrevious = highlightResult('up');\n});\n","/* SPDX-License-Identifier: AGPL-3.0-or-later */\n/* global L */\n(function (w, d, searxng) {\n 'use strict';\n\n searxng.ready(function () {\n searxng.on('.searxng_init_map', 'click', function (event) {\n // no more request\n this.classList.remove(\"searxng_init_map\");\n\n //\n var leaflet_target = this.dataset.leafletTarget;\n var map_lon = parseFloat(this.dataset.mapLon);\n var map_lat = parseFloat(this.dataset.mapLat);\n var map_zoom = parseFloat(this.dataset.mapZoom);\n var map_boundingbox = JSON.parse(this.dataset.mapBoundingbox);\n var map_geojson = JSON.parse(this.dataset.mapGeojson);\n\n searxng.loadStyle('css/leaflet.css');\n searxng.loadScript('js/leaflet.js', function () {\n var map_bounds = null;\n if (map_boundingbox) {\n var southWest = L.latLng(map_boundingbox[0], map_boundingbox[2]);\n var northEast = L.latLng(map_boundingbox[1], map_boundingbox[3]);\n map_bounds = L.latLngBounds(southWest, northEast);\n }\n\n // init map\n var map = L.map(leaflet_target);\n // create the tile layer with correct attribution\n var osmMapnikUrl = 'https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png';\n var osmMapnikAttrib = 'Map data © <a href=\"https://openstreetmap.org\">OpenStreetMap</a> contributors';\n var osmMapnik = new L.TileLayer(osmMapnikUrl, {minZoom: 1, maxZoom: 19, attribution: osmMapnikAttrib});\n var osmWikimediaUrl = 'https://maps.wikimedia.org/osm-intl/{z}/{x}/{y}.png';\n var osmWikimediaAttrib = 'Wikimedia maps | Maps data © <a href=\"https://openstreetmap.org\">OpenStreetMap contributors</a>';\n var osmWikimedia = new L.TileLayer(osmWikimediaUrl, {minZoom: 1, maxZoom: 19, attribution: osmWikimediaAttrib});\n // init map view\n if (map_bounds) {\n // TODO hack: https://github.com/Leaflet/Leaflet/issues/2021\n // Still useful ?\n setTimeout(function () {\n map.fitBounds(map_bounds, {\n maxZoom: 17\n });\n }, 0);\n } else if (map_lon && map_lat) {\n if (map_zoom) {\n map.setView(new L.latLng(map_lat, map_lon), map_zoom);\n } else {\n map.setView(new L.latLng(map_lat, map_lon), 8);\n }\n }\n\n map.addLayer(osmMapnik);\n\n var baseLayers = {\n \"OSM Mapnik\": osmMapnik,\n \"OSM Wikimedia\": osmWikimedia,\n };\n\n L.control.layers(baseLayers).addTo(map);\n\n if (map_geojson) {\n L.geoJson(map_geojson).addTo(map);\n } /* else if(map_bounds) {\n L.rectangle(map_bounds, {color: \"#ff7800\", weight: 3, fill:false}).addTo(map);\n } */\n });\n\n // this event occour only once per element\n event.preventDefault();\n });\n });\n})(window, document, window.searxng);\n","/* SPDX-License-Identifier: AGPL-3.0-or-later */\n(function (w, d, searxng) {\n 'use strict';\n\n if (searxng.endpoint !== 'preferences') {\n return;\n }\n\n searxng.ready(function () {\n let engine_descriptions = null;\n function load_engine_descriptions () {\n if (engine_descriptions == null) {\n searxng.http(\"GET\", \"engine_descriptions.json\").then(function (content) {\n engine_descriptions = JSON.parse(content);\n for (const [engine_name, description] of Object.entries(engine_descriptions)) {\n let elements = d.querySelectorAll('[data-engine-name=\"' + engine_name + '\"] .engine-description');\n for (const element of elements) {\n let source = ' (<i>' + searxng.settings.translations.Source + ':&nbsp;' + description[1] + '</i>)';\n element.innerHTML = description[0] + source;\n }\n }\n });\n }\n }\n\n for (const el of d.querySelectorAll('[data-engine-name]')) {\n searxng.on(el, 'mouseenter', load_engine_descriptions);\n }\n });\n})(window, document, window.searxng);\n","/* SPDX-License-Identifier: AGPL-3.0-or-later */\n(function (w, d, searxng) {\n 'use strict';\n\n if (searxng.endpoint !== 'results') {\n return;\n }\n\n searxng.ready(function () {\n d.querySelectorAll('#urls img.image').forEach(\n img =>\n img.addEventListener(\n 'error', () => {\n img.style.display = 'none';\n img.error = null;\n }\n ));\n\n searxng.on('.btn-collapse', 'click', function () {\n var btnLabelCollapsed = this.getAttribute('data-btn-text-collapsed');\n var btnLabelNotCollapsed = this.getAttribute('data-btn-text-not-collapsed');\n var target = this.getAttribute('data-target');\n var targetElement = d.querySelector(target);\n var html = this.innerHTML;\n if (this.classList.contains('collapsed')) {\n html = html.replace(btnLabelCollapsed, btnLabelNotCollapsed);\n } else {\n html = html.replace(btnLabelNotCollapsed, btnLabelCollapsed);\n }\n this.innerHTML = html;\n this.classList.toggle('collapsed');\n targetElement.classList.toggle('invisible');\n });\n\n searxng.on('.media-loader', 'click', function () {\n var target = this.getAttribute('data-target');\n var iframe_load = d.querySelector(target + ' > iframe');\n var srctest = iframe_load.getAttribute('src');\n if (srctest === null || srctest === undefined || srctest === false) {\n iframe_load.setAttribute('src', iframe_load.getAttribute('data-src'));\n }\n });\n\n searxng.selectImage = function (resultElement) {\n /* eslint no-unused-vars: 0 */\n if (resultElement) {\n // load full size image in background\n const imgElement = resultElement.querySelector('.result-images-source img');\n const thumbnailElement = resultElement.querySelector('.image_thumbnail');\n const detailElement = resultElement.querySelector('.detail');\n if (imgElement) {\n const imgSrc = imgElement.getAttribute('data-src');\n if (imgSrc) {\n const loader = d.createElement('div');\n const imgLoader = new Image();\n\n loader.classList.add('loader');\n detailElement.appendChild(loader);\n\n imgLoader.onload = e => {\n imgElement.src = imgSrc;\n loader.remove();\n };\n imgLoader.onerror = e => {\n loader.remove();\n };\n imgLoader.src = imgSrc;\n imgElement.src = thumbnailElement.src;\n imgElement.removeAttribute('data-src');\n }\n }\n }\n d.getElementById('results').classList.add('image-detail-open');\n searxng.scrollPageToSelected();\n }\n\n searxng.closeDetail = function (e) {\n d.getElementById('results').classList.remove('image-detail-open');\n searxng.scrollPageToSelected();\n }\n searxng.on('.result-detail-close', 'click', e => {\n e.preventDefault();\n searxng.closeDetail();\n });\n searxng.on('.result-detail-previous', 'click', e => searxng.selectPrevious(false));\n searxng.on('.result-detail-next', 'click', e => searxng.selectNext(false));\n\n w.addEventListener('scroll', function () {\n var e = d.getElementById('backToTop'),\n scrollTop = document.documentElement.scrollTop || document.body.scrollTop,\n results = d.getElementById('results');\n if (e !== null) {\n if (scrollTop >= 100) {\n results.classList.add('scrolling');\n } else {\n results.classList.remove('scrolling');\n }\n }\n }, true);\n\n });\n\n})(window, document, window.searxng);\n","/* SPDX-License-Identifier: AGPL-3.0-or-later */\n/* global AutoComplete */\n(function (w, d, searxng) {\n 'use strict';\n\n var qinput_id = \"q\", qinput;\n\n const isMobile = window.matchMedia(\"only screen and (max-width: 50em)\").matches;\n\n function submitIfQuery () {\n if (qinput.value.length > 0) {\n var search = document.getElementById('search');\n setTimeout(search.submit.bind(search), 0);\n }\n }\n\n function createClearButton (qinput) {\n var cs = document.getElementById('clear_search');\n var updateClearButton = function () {\n if (qinput.value.length === 0) {\n cs.classList.add(\"empty\");\n } else {\n cs.classList.remove(\"empty\");\n }\n };\n\n // update status, event listener\n updateClearButton();\n cs.addEventListener('click', function (ev) {\n qinput.value = '';\n qinput.focus();\n updateClearButton();\n ev.preventDefault();\n });\n qinput.addEventListener('keyup', updateClearButton, false);\n }\n\n searxng.ready(function () {\n qinput = d.getElementById(qinput_id);\n\n if (qinput !== null) {\n // clear button\n createClearButton(qinput);\n\n // autocompleter\n if (searxng.settings.autocomplete_provider) {\n searxng.autocomplete = AutoComplete.call(w, {\n Url: \"./autocompleter\",\n EmptyMessage: searxng.settings.translations.no_item_found,\n HttpMethod: searxng.settings.http_method,\n HttpHeaders: {\n \"Content-type\": \"application/x-www-form-urlencoded\",\n \"X-Requested-With\": \"XMLHttpRequest\"\n },\n MinChars: searxng.settings.autocomplete_min,\n Delay: 300,\n _Position: function () {},\n _Open: function () {\n var params = this;\n Array.prototype.forEach.call(this.DOMResults.getElementsByTagName(\"li\"), function (li) {\n if (li.getAttribute(\"class\") != \"locked\") {\n li.onmousedown = function () {\n params._Select(li);\n };\n }\n });\n },\n }, \"#\" + qinput_id);\n }\n\n if (!isMobile && document.querySelector('.index_endpoint')) {\n qinput.focus();\n }\n }\n\n // vanilla js version of search_on_category_select.js\n if (qinput !== null && d.querySelector('.help') != null && searxng.settings.search_on_category_select) {\n d.querySelector('.help').className = 'invisible';\n\n searxng.on('#categories input', 'change', function () {\n var i, categories = d.querySelectorAll('#categories input[type=\"checkbox\"]');\n for (i = 0; i < categories.length; i++) {\n if (categories[i] !== this && categories[i].checked) {\n categories[i].click();\n }\n }\n if (! this.checked) {\n this.click();\n }\n submitIfQuery();\n return false;\n });\n\n searxng.on(d.getElementById('safesearch'), 'change', submitIfQuery);\n searxng.on(d.getElementById('time_range'), 'change', submitIfQuery);\n searxng.on(d.getElementById('language'), 'change', submitIfQuery);\n }\n\n });\n\n})(window, document, window.searxng);\n","(function(f){if(typeof exports===\"object\"&&typeof module!==\"undefined\"){module.exports=f()}else if(typeof define===\"function\"&&define.amd){define([],f)}else{var g;if(typeof window!==\"undefined\"){g=window}else if(typeof global!==\"undefined\"){g=global}else if(typeof self!==\"undefined\"){g=self}else{g=this}g.AutoComplete = f()}})(function(){var define,module,exports;return (function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c=\"function\"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error(\"Cannot find module '\"+i+\"'\");throw a.code=\"MODULE_NOT_FOUND\",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u=\"function\"==typeof require&&require,i=0;i<t.length;i++)o(t[i]);return o}return r})()({1:[function(require,module,exports){\n/*\n * @license MIT\n *\n * Autocomplete.js v2.7.1\n * Developed by Baptiste Donaux\n * http://autocomplete-js.com\n *\n * (c) 2017, Baptiste Donaux\n */\n\"use strict\";\nvar ConditionOperator;\n(function (ConditionOperator) {\n ConditionOperator[ConditionOperator[\"AND\"] = 0] = \"AND\";\n ConditionOperator[ConditionOperator[\"OR\"] = 1] = \"OR\";\n})(ConditionOperator || (ConditionOperator = {}));\nvar EventType;\n(function (EventType) {\n EventType[EventType[\"KEYDOWN\"] = 0] = \"KEYDOWN\";\n EventType[EventType[\"KEYUP\"] = 1] = \"KEYUP\";\n})(EventType || (EventType = {}));\n/**\n * Core\n *\n * @class\n * @author Baptiste Donaux <baptiste.donaux@gmail.com> @baptistedonaux\n */\nvar AutoComplete = /** @class */ (function () {\n // Constructor\n function AutoComplete(params, selector) {\n if (params === void 0) { params = {}; }\n if (selector === void 0) { selector = \"[data-autocomplete]\"; }\n if (Array.isArray(selector)) {\n selector.forEach(function (s) {\n new AutoComplete(params, s);\n });\n }\n else if (typeof selector == \"string\") {\n var elements = document.querySelectorAll(selector);\n Array.prototype.forEach.call(elements, function (input) {\n new AutoComplete(params, input);\n });\n }\n else {\n var specificParams = AutoComplete.merge(AutoComplete.defaults, params, {\n DOMResults: document.createElement(\"div\")\n });\n AutoComplete.prototype.create(specificParams, selector);\n return specificParams;\n }\n }\n AutoComplete.prototype.create = function (params, element) {\n params.Input = element;\n if (params.Input.nodeName.match(/^INPUT$/i) && (params.Input.hasAttribute(\"type\") === false || params.Input.getAttribute(\"type\").match(/^TEXT|SEARCH$/i))) {\n params.Input.setAttribute(\"autocomplete\", \"off\");\n params._Position(params);\n params.Input.parentNode.appendChild(params.DOMResults);\n params.$Listeners = {\n blur: params._Blur.bind(params),\n destroy: AutoComplete.prototype.destroy.bind(null, params),\n focus: params._Focus.bind(params),\n keyup: AutoComplete.prototype.event.bind(null, params, EventType.KEYUP),\n keydown: AutoComplete.prototype.event.bind(null, params, EventType.KEYDOWN),\n position: params._Position.bind(params)\n };\n for (var event in params.$Listeners) {\n params.Input.addEventListener(event, params.$Listeners[event]);\n }\n }\n };\n AutoComplete.prototype.getEventsByType = function (params, type) {\n var mappings = {};\n for (var key in params.KeyboardMappings) {\n var event = EventType.KEYUP;\n if (params.KeyboardMappings[key].Event !== undefined) {\n event = params.KeyboardMappings[key].Event;\n }\n if (event == type) {\n mappings[key] = params.KeyboardMappings[key];\n }\n }\n return mappings;\n };\n AutoComplete.prototype.event = function (params, type, event) {\n var eventIdentifier = function (condition) {\n if ((match === true && mapping.Operator == ConditionOperator.AND) || (match === false && mapping.Operator == ConditionOperator.OR)) {\n condition = AutoComplete.merge({\n Not: false\n }, condition);\n if (condition.hasOwnProperty(\"Is\")) {\n if (condition.Is == event.keyCode) {\n match = !condition.Not;\n }\n else {\n match = condition.Not;\n }\n }\n else if (condition.hasOwnProperty(\"From\") && condition.hasOwnProperty(\"To\")) {\n if (event.keyCode >= condition.From && event.keyCode <= condition.To) {\n match = !condition.Not;\n }\n else {\n match = condition.Not;\n }\n }\n }\n };\n for (var name in AutoComplete.prototype.getEventsByType(params, type)) {\n var mapping = AutoComplete.merge({\n Operator: ConditionOperator.AND\n }, params.KeyboardMappings[name]), match = ConditionOperator.AND == mapping.Operator;\n mapping.Conditions.forEach(eventIdentifier);\n if (match === true) {\n mapping.Callback.call(params, event);\n }\n }\n };\n AutoComplete.prototype.makeRequest = function (params, callback, callbackErr) {\n var propertyHttpHeaders = Object.getOwnPropertyNames(params.HttpHeaders), request = new XMLHttpRequest(), method = params._HttpMethod(), url = params._Url(), queryParams = params._Pre(), queryParamsStringify = encodeURIComponent(params._QueryArg()) + \"=\" + encodeURIComponent(queryParams);\n if (method.match(/^GET$/i)) {\n if (url.indexOf(\"?\") !== -1) {\n url += \"&\" + queryParamsStringify;\n }\n else {\n url += \"?\" + queryParamsStringify;\n }\n }\n request.open(method, url, true);\n for (var i = propertyHttpHeaders.length - 1; i >= 0; i--) {\n request.setRequestHeader(propertyHttpHeaders[i], params.HttpHeaders[propertyHttpHeaders[i]]);\n }\n request.onreadystatechange = function () {\n if (request.readyState == 4 && request.status == 200) {\n params.$Cache[queryParams] = request.response;\n callback(request.response);\n }\n else if (request.status >= 400) {\n callbackErr();\n }\n };\n return request;\n };\n AutoComplete.prototype.ajax = function (params, request, timeout) {\n if (timeout === void 0) { timeout = true; }\n if (params.$AjaxTimer) {\n window.clearTimeout(params.$AjaxTimer);\n }\n if (timeout === true) {\n params.$AjaxTimer = window.setTimeout(AutoComplete.prototype.ajax.bind(null, params, request, false), params.Delay);\n }\n else {\n if (params.Request) {\n params.Request.abort();\n }\n params.Request = request;\n params.Request.send(params._QueryArg() + \"=\" + params._Pre());\n }\n };\n AutoComplete.prototype.cache = function (params, callback, callbackErr) {\n var response = params._Cache(params._Pre());\n if (response === undefined) {\n var request = AutoComplete.prototype.makeRequest(params, callback, callbackErr);\n AutoComplete.prototype.ajax(params, request);\n }\n else {\n callback(response);\n }\n };\n AutoComplete.prototype.destroy = function (params) {\n for (var event in params.$Listeners) {\n params.Input.removeEventListener(event, params.$Listeners[event]);\n }\n params.DOMResults.parentNode.removeChild(params.DOMResults);\n };\n AutoComplete.merge = function () {\n var merge = {}, tmp;\n for (var i = 0; i < arguments.length; i++) {\n for (tmp in arguments[i]) {\n merge[tmp] = arguments[i][tmp];\n }\n }\n return merge;\n };\n AutoComplete.defaults = {\n Delay: 150,\n EmptyMessage: \"No result here\",\n Highlight: {\n getRegex: function (value) {\n return new RegExp(value, \"ig\");\n },\n transform: function (value) {\n return \"<strong>\" + value + \"</strong>\";\n }\n },\n HttpHeaders: {\n \"Content-type\": \"application/x-www-form-urlencoded\"\n },\n Limit: 0,\n MinChars: 0,\n HttpMethod: \"GET\",\n QueryArg: \"q\",\n Url: null,\n KeyboardMappings: {\n \"Enter\": {\n Conditions: [{\n Is: 13,\n Not: false\n }],\n Callback: function (event) {\n if (this.DOMResults.getAttribute(\"class\").indexOf(\"open\") != -1) {\n var liActive = this.DOMResults.querySelector(\"li.active\");\n if (liActive !== null) {\n event.preventDefault();\n this._Select(liActive);\n this.DOMResults.setAttribute(\"class\", \"autocomplete\");\n }\n }\n },\n Operator: ConditionOperator.AND,\n Event: EventType.KEYDOWN\n },\n \"KeyUpAndDown_down\": {\n Conditions: [{\n Is: 38,\n Not: false\n },\n {\n Is: 40,\n Not: false\n }],\n Callback: function (event) {\n event.preventDefault();\n },\n Operator: ConditionOperator.OR,\n Event: EventType.KEYDOWN\n },\n \"KeyUpAndDown_up\": {\n Conditions: [{\n Is: 38,\n Not: false\n },\n {\n Is: 40,\n Not: false\n }],\n Callback: function (event) {\n event.preventDefault();\n var first = this.DOMResults.querySelector(\"li:first-child:not(.locked)\"), last = this.DOMResults.querySelector(\"li:last-child:not(.locked)\"), active = this.DOMResults.querySelector(\"li.active\");\n if (active) {\n var currentIndex = Array.prototype.indexOf.call(active.parentNode.children, active), position = currentIndex + (event.keyCode - 39), lisCount = this.DOMResults.getElementsByTagName(\"li\").length;\n if (position < 0) {\n position = lisCount - 1;\n }\n else if (position >= lisCount) {\n position = 0;\n }\n active.classList.remove(\"active\");\n active.parentElement.children.item(position).classList.add(\"active\");\n }\n else if (last && event.keyCode == 38) {\n last.classList.add(\"active\");\n }\n else if (first) {\n first.classList.add(\"active\");\n }\n },\n Operator: ConditionOperator.OR,\n Event: EventType.KEYUP\n },\n \"AlphaNum\": {\n Conditions: [{\n Is: 13,\n Not: true\n }, {\n From: 35,\n To: 40,\n Not: true\n }],\n Callback: function () {\n var oldValue = this.Input.getAttribute(\"data-autocomplete-old-value\"), currentValue = this._Pre();\n if (currentValue !== \"\" && currentValue.length >= this._MinChars()) {\n if (!oldValue || currentValue != oldValue) {\n this.DOMResults.setAttribute(\"class\", \"autocomplete open\");\n }\n AutoComplete.prototype.cache(this, function (response) {\n this._Render(this._Post(response));\n this._Open();\n }.bind(this), this._Error);\n }\n else {\n this._Close();\n }\n },\n Operator: ConditionOperator.AND,\n Event: EventType.KEYUP\n }\n },\n DOMResults: null,\n Request: null,\n Input: null,\n /**\n * Return the message when no result returns\n */\n _EmptyMessage: function () {\n var emptyMessage = \"\";\n if (this.Input.hasAttribute(\"data-autocomplete-empty-message\")) {\n emptyMessage = this.Input.getAttribute(\"data-autocomplete-empty-message\");\n }\n else if (this.EmptyMessage !== false) {\n emptyMessage = this.EmptyMessage;\n }\n else {\n emptyMessage = \"\";\n }\n return emptyMessage;\n },\n /**\n * Returns the maximum number of results\n */\n _Limit: function () {\n var limit = this.Input.getAttribute(\"data-autocomplete-limit\");\n if (isNaN(limit) || limit === null) {\n return this.Limit;\n }\n return parseInt(limit, 10);\n },\n /**\n * Returns the minimum number of characters entered before firing ajax\n */\n _MinChars: function () {\n var minchars = this.Input.getAttribute(\"data-autocomplete-minchars\");\n if (isNaN(minchars) || minchars === null) {\n return this.MinChars;\n }\n return parseInt(minchars, 10);\n },\n /**\n * Apply transformation on labels response\n */\n _Highlight: function (label) {\n return label.replace(this.Highlight.getRegex(this._Pre()), this.Highlight.transform);\n },\n /**\n * Returns the HHTP method to use\n */\n _HttpMethod: function () {\n if (this.Input.hasAttribute(\"data-autocomplete-method\")) {\n return this.Input.getAttribute(\"data-autocomplete-method\");\n }\n return this.HttpMethod;\n },\n /**\n * Returns the query param to use\n */\n _QueryArg: function () {\n if (this.Input.hasAttribute(\"data-autocomplete-param-name\")) {\n return this.Input.getAttribute(\"data-autocomplete-param-name\");\n }\n return this.QueryArg;\n },\n /**\n * Returns the URL to use for AJAX request\n */\n _Url: function () {\n if (this.Input.hasAttribute(\"data-autocomplete\")) {\n return this.Input.getAttribute(\"data-autocomplete\");\n }\n return this.Url;\n },\n /**\n * Manage the close\n */\n _Blur: function (now) {\n if (now === void 0) { now = false; }\n if (now) {\n this._Close();\n }\n else {\n var params = this;\n setTimeout(function () {\n params._Blur(true);\n }, 150);\n }\n },\n /**\n * Manage the cache\n */\n _Cache: function (value) {\n return this.$Cache[value];\n },\n /**\n * Manage the open\n */\n _Focus: function () {\n var oldValue = this.Input.getAttribute(\"data-autocomplete-old-value\");\n if ((!oldValue || this.Input.value != oldValue) && this._MinChars() <= this.Input.value.length) {\n this.DOMResults.setAttribute(\"class\", \"autocomplete open\");\n }\n },\n /**\n * Bind all results item if one result is opened\n */\n _Open: function () {\n var params = this;\n Array.prototype.forEach.call(this.DOMResults.getElementsByTagName(\"li\"), function (li) {\n if (li.getAttribute(\"class\") != \"locked\") {\n li.onclick = function () {\n params._Select(li);\n };\n }\n });\n },\n _Close: function () {\n this.DOMResults.setAttribute(\"class\", \"autocomplete\");\n },\n /**\n * Position the results HTML element\n */\n _Position: function () {\n this.DOMResults.setAttribute(\"class\", \"autocomplete\");\n this.DOMResults.setAttribute(\"style\", \"top:\" + (this.Input.offsetTop + this.Input.offsetHeight) + \"px;left:\" + this.Input.offsetLeft + \"px;width:\" + this.Input.clientWidth + \"px;\");\n },\n /**\n * Execute the render of results DOM element\n */\n _Render: function (response) {\n var ul;\n if (typeof response == \"string\") {\n ul = this._RenderRaw(response);\n }\n else {\n ul = this._RenderResponseItems(response);\n }\n if (this.DOMResults.hasChildNodes()) {\n this.DOMResults.removeChild(this.DOMResults.childNodes[0]);\n }\n this.DOMResults.appendChild(ul);\n },\n /**\n * ResponseItems[] rendering\n */\n _RenderResponseItems: function (response) {\n var ul = document.createElement(\"ul\"), li = document.createElement(\"li\"), limit = this._Limit();\n // Order\n if (limit < 0) {\n response = response.reverse();\n }\n else if (limit === 0) {\n limit = response.length;\n }\n for (var item = 0; item < Math.min(Math.abs(limit), response.length); item++) {\n li.innerHTML = response[item].Label;\n li.setAttribute(\"data-autocomplete-value\", response[item].Value);\n ul.appendChild(li);\n li = document.createElement(\"li\");\n }\n return ul;\n },\n /**\n * string response rendering (RAW HTML)\n */\n _RenderRaw: function (response) {\n var ul = document.createElement(\"ul\"), li = document.createElement(\"li\");\n if (response.length > 0) {\n this.DOMResults.innerHTML = response;\n }\n else {\n var emptyMessage = this._EmptyMessage();\n if (emptyMessage !== \"\") {\n li.innerHTML = emptyMessage;\n li.setAttribute(\"class\", \"locked\");\n ul.appendChild(li);\n }\n }\n return ul;\n },\n /**\n * Deal with request response\n */\n _Post: function (response) {\n try {\n var returnResponse = [];\n //JSON return\n var json = JSON.parse(response);\n if (Object.keys(json).length === 0) {\n return \"\";\n }\n if (Array.isArray(json)) {\n for (var i = 0; i < Object.keys(json).length; i++) {\n returnResponse[returnResponse.length] = { \"Value\": json[i], \"Label\": this._Highlight(json[i]) };\n }\n }\n else {\n for (var value in json) {\n returnResponse.push({\n \"Value\": value,\n \"Label\": this._Highlight(json[value])\n });\n }\n }\n return returnResponse;\n }\n catch (event) {\n //HTML return\n return response;\n }\n },\n /**\n * Return the autocomplete value to send (before request)\n */\n _Pre: function () {\n return this.Input.value;\n },\n /**\n * Choice one result item\n */\n _Select: function (item) {\n if (item.hasAttribute(\"data-autocomplete-value\")) {\n this.Input.value = item.getAttribute(\"data-autocomplete-value\");\n }\n else {\n this.Input.value = item.innerHTML;\n }\n this.Input.setAttribute(\"data-autocomplete-old-value\", this.Input.value);\n },\n /**\n * Handle HTTP error on the request\n */\n _Error: function () {\n },\n $AjaxTimer: null,\n $Cache: {},\n $Listeners: {}\n };\n return AutoComplete;\n}());\nmodule.exports = AutoComplete;\n\n},{}]},{},[1])(1)\n});\n"],"names":["window","searxng","w","d","Element","ElementPrototype","matches","matchesSelector","webkitMatchesSelector","msMatchesSelector","selector","node","this","nodes","parentNode","document","querySelectorAll","i","prototype","callbackSafe","callback","el","e","call","exception","console","log","on","obj","eventType","useCapture","addEventListener","target","srcElement","found","parentElement","ready","readyState","bind","http","method","url","data","Promise","resolve","reject","req","XMLHttpRequest","open","timeout","onload","status","response","responseType","Error","statusText","onerror","onabort","ontimeout","send","ex","loadStyle","src","path","settings","theme_static_path","id","replace","s","getElementById","createElement","setAttribute","body","appendChild","loadScript","hasAttribute","apply","insertBefore","newNode","referenceNode","insertAfter","nextSibling","classList","add","getEndpoint","className","getElementsByTagName","values","endsWith","split","endpoint","infinite_scroll_supported","IntersectionObserverEntry","let","onlyImages","contains","newLoadSpinner","loader","replaceChildrenWith","element","children","textContent","forEach","child","loadNextPage","form","querySelector","formData","FormData","getAttribute","then","nextPageDoc","DOMParser","parseFromString","articleList","paginationElement","remove","length","articleElement","catch","err","translations","error_loading_next_page","infinite_scroll","intersectionObserveOptions","rootMargin","observedSelector","observer","IntersectionObserver","entries","paginationEntry","isIntersecting","unobserve","observe","isElementInDetail","undefined","getResultElement","isImageResult","resultElement","highlightResult","preventDefault","selectImage","vimKeys","27","key","fun","removeFocus","des","cat","73","searchInputFocus","66","scrollPage","innerHeight","70","85","68","71","scrollPageTo","scrollHeight","86","75","74","80","GoToPreviousPage","78","GoToNextPage","79","openResult","84","82","reloadPage","72","toggleHelp","hotkeys","Object","hasOwnProperty","keyCode","ctrlKey","altKey","shiftKey","metaKey","tagName","toLowerCase","which","noScroll","keepFocus","current","effectiveWhich","next","results","top","documentElement","scrollTop","bot","clientHeight","etop","offsetTop","ebot","nextElementSibling","previousElementSibling","removeAttribute","link","focus","scrollPageToSelected","location","reload","activeElement","blur","closeDetail","pageButtonClick","css_selector","button","click","sel","wtop","wheight","offset","scroll","scrollX","wbot","amount","scrollBy","position","nav","scrollTo","q","setSelectionRange","len","value","newTab","href","initHelpContent","divElement","categories","k","push","sorted","keys","sort","a","b","html","lastCategory","first","cj","innerHTML","helpPanel","toggle","selectNext","selectPrevious","event","leaflet_target","dataset","leafletTarget","map_lon","parseFloat","mapLon","map_lat","mapLat","map_zoom","mapZoom","map_boundingbox","JSON","parse","mapBoundingbox","map_geojson","mapGeojson","map_bounds","southWest","L","latLng","northEast","latLngBounds","map","osmMapnikUrl","osmMapnikAttrib","osmMapnik","TileLayer","minZoom","maxZoom","attribution","osmWikimediaUrl","osmWikimediaAttrib","osmWikimedia","setTimeout","fitBounds","setView","addLayer","baseLayers","OSM Mapnik","OSM Wikimedia","control","layers","addTo","geoJson","engine_descriptions","load_engine_descriptions","content","engine_name","description","elements","source","Source","img","style","display","error","btnLabelCollapsed","btnLabelNotCollapsed","targetElement","iframe_load","srctest","imgElement","thumbnailElement","detailElement","imgSrc","imgLoader","Image","qinput_id","qinput","isMobile","matchMedia","submitIfQuery","search","submit","createClearButton","cs","updateClearButton","ev","autocomplete_provider","autocomplete","AutoComplete","Url","EmptyMessage","no_item_found","HttpMethod","http_method","HttpHeaders","Content-type","X-Requested-With","MinChars","autocomplete_min","Delay","_Position","_Open","params","Array","DOMResults","li","onmousedown","_Select","search_on_category_select","checked","f","exports","module","define","amd","g","global","self","r","n","t","o","c","require","u","code","p","1","ConditionOperator","EventType","isArray","input","specificParams","merge","defaults","create","Input","nodeName","match","$Listeners","_Blur","destroy","_Focus","keyup","KEYUP","keydown","KEYDOWN","getEventsByType","type","mappings","KeyboardMappings","Event","eventIdentifier","condition","mapping","Operator","AND","OR","Not","Is","From","To","name","Conditions","Callback","makeRequest","callbackErr","propertyHttpHeaders","getOwnPropertyNames","request","_HttpMethod","_Url","queryParams","_Pre","queryParamsStringify","encodeURIComponent","_QueryArg","indexOf","setRequestHeader","onreadystatechange","$Cache","ajax","$AjaxTimer","clearTimeout","Request","abort","cache","_Cache","removeEventListener","removeChild","tmp","arguments","Highlight","getRegex","RegExp","transform","Limit","QueryArg","Enter","liActive","KeyUpAndDown_down","KeyUpAndDown_up","last","active","currentIndex","lisCount","item","AlphaNum","oldValue","currentValue","_MinChars","_Render","_Post","_Error","_Close","_EmptyMessage","emptyMessage","_Limit","limit","isNaN","parseInt","minchars","_Highlight","label","now","onclick","offsetHeight","offsetLeft","clientWidth","ul","_RenderRaw","_RenderResponseItems","hasChildNodes","childNodes","reverse","Math","min","abs","Label","Value","returnResponse","json"],"mappings":"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"} \ No newline at end of file
+{"version":3,"file":"searxng.min.js","sources":["../src/js/main/00_toolkit.js","../src/js/main/infinite_scroll.js","../src/js/main/keyboard.js","../src/js/main/mapresult.js","../src/js/main/preferences.js","../src/js/main/results.js","../src/js/main/search.js","../node_modules/autocomplete-js/dist/autocomplete.js"],"sourcesContent":["/**\n * @license\n * (C) Copyright Contributors to the SearXNG project.\n * (C) Copyright Contributors to the searx project (2014 - 2021).\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nwindow.searxng = (function (w, d) {\n\n 'use strict';\n\n // not invented here tookit with bugs fixed elsewhere\n // purposes : be just good enough and as small as possible\n\n // from https://plainjs.com/javascript/events/live-binding-event-handlers-14/\n if (w.Element) {\n (function (ElementPrototype) {\n ElementPrototype.matches = ElementPrototype.matches ||\n ElementPrototype.matchesSelector ||\n ElementPrototype.webkitMatchesSelector ||\n ElementPrototype.msMatchesSelector ||\n function (selector) {\n var node = this, nodes = (node.parentNode || node.document).querySelectorAll(selector), i = -1;\n while (nodes[++i] && nodes[i] != node);\n return !!nodes[i];\n };\n })(Element.prototype);\n }\n\n function callbackSafe (callback, el, e) {\n try {\n callback.call(el, e);\n } catch (exception) {\n console.log(exception);\n }\n }\n\n var searxng = window.searxng || {};\n\n searxng.on = function (obj, eventType, callback, useCapture) {\n useCapture = useCapture || false;\n if (typeof obj !== 'string') {\n // obj HTMLElement, HTMLDocument\n obj.addEventListener(eventType, callback, useCapture);\n } else {\n // obj is a selector\n d.addEventListener(eventType, function (e) {\n var el = e.target || e.srcElement, found = false;\n while (el && el.matches && el !== d && !(found = el.matches(obj))) el = el.parentElement;\n if (found) callbackSafe(callback, el, e);\n }, useCapture);\n }\n };\n\n searxng.ready = function (callback) {\n if (document.readyState != 'loading') {\n callback.call(w);\n } else {\n w.addEventListener('DOMContentLoaded', callback.bind(w));\n }\n };\n\n searxng.http = function (method, url, data = null) {\n return new Promise(function (resolve, reject) {\n try {\n var req = new XMLHttpRequest();\n req.open(method, url, true);\n req.timeout = 20000;\n\n // On load\n req.onload = function () {\n if (req.status == 200) {\n resolve(req.response, req.responseType);\n } else {\n reject(Error(req.statusText));\n }\n };\n\n // Handle network errors\n req.onerror = function () {\n reject(Error(\"Network Error\"));\n };\n\n req.onabort = function () {\n reject(Error(\"Transaction is aborted\"));\n };\n\n req.ontimeout = function () {\n reject(Error(\"Timeout\"));\n }\n\n // Make the request\n if (data) {\n req.send(data)\n } else {\n req.send();\n }\n } catch (ex) {\n reject(ex);\n }\n });\n };\n\n searxng.loadStyle = function (src) {\n var path = searxng.settings.theme_static_path + \"/\" + src,\n id = \"style_\" + src.replace('.', '_'),\n s = d.getElementById(id);\n if (s === null) {\n s = d.createElement('link');\n s.setAttribute('id', id);\n s.setAttribute('rel', 'stylesheet');\n s.setAttribute('type', 'text/css');\n s.setAttribute('href', path);\n d.body.appendChild(s);\n }\n };\n\n searxng.loadScript = function (src, callback) {\n var path = searxng.settings.theme_static_path + \"/\" + src,\n id = \"script_\" + src.replace('.', '_'),\n s = d.getElementById(id);\n if (s === null) {\n s = d.createElement('script');\n s.setAttribute('id', id);\n s.setAttribute('src', path);\n s.onload = callback;\n s.onerror = function () {\n s.setAttribute('error', '1');\n };\n d.body.appendChild(s);\n } else if (!s.hasAttribute('error')) {\n try {\n callback.apply(s, []);\n } catch (exception) {\n console.log(exception);\n }\n } else {\n console.log(\"callback not executed : script '\" + path + \"' not loaded.\");\n }\n };\n\n searxng.insertBefore = function (newNode, referenceNode) {\n referenceNode.parentNode.insertBefore(newNode, referenceNode);\n };\n\n searxng.insertAfter = function (newNode, referenceNode) {\n referenceNode.parentNode.insertAfter(newNode, referenceNode.nextSibling);\n };\n\n searxng.on('.close', 'click', function () {\n this.parentNode.classList.add('invisible');\n });\n\n function getEndpoint () {\n for (var className of d.getElementsByTagName('body')[0].classList.values()) {\n if (className.endsWith('_endpoint')) {\n return className.split('_')[0];\n }\n }\n return '';\n }\n\n searxng.endpoint = getEndpoint();\n\n return searxng;\n})(window, document);\n","// SPDX-License-Identifier: AGPL-3.0-or-later\n\n/* global searxng */\n\nsearxng.ready(function () {\n 'use strict';\n\n searxng.infinite_scroll_supported = (\n 'IntersectionObserver' in window &&\n 'IntersectionObserverEntry' in window &&\n 'intersectionRatio' in window.IntersectionObserverEntry.prototype);\n\n if (searxng.endpoint !== 'results') {\n return;\n }\n\n if (!searxng.infinite_scroll_supported) {\n console.log('IntersectionObserver not supported');\n return;\n }\n\n let d = document;\n var onlyImages = d.getElementById('results').classList.contains('only_template_images');\n\n function newLoadSpinner () {\n var loader = d.createElement('div');\n loader.classList.add('loader');\n return loader;\n }\n\n function replaceChildrenWith (element, children) {\n element.textContent = '';\n children.forEach(child => element.appendChild(child));\n }\n\n function loadNextPage (callback) {\n var form = d.querySelector('#pagination form.next_page');\n if (!form) {\n return\n }\n replaceChildrenWith(d.querySelector('#pagination'), [ newLoadSpinner() ]);\n var formData = new FormData(form);\n searxng.http('POST', d.querySelector('#search').getAttribute('action'), formData).then(\n function (response) {\n var nextPageDoc = new DOMParser().parseFromString(response, 'text/html');\n var articleList = nextPageDoc.querySelectorAll('#urls article');\n var paginationElement = nextPageDoc.querySelector('#pagination');\n d.querySelector('#pagination').remove();\n if (articleList.length > 0 && !onlyImages) {\n // do not add <hr> element when there are only images\n d.querySelector('#urls').appendChild(d.createElement('hr'));\n }\n articleList.forEach(articleElement => {\n d.querySelector('#urls').appendChild(articleElement);\n });\n if (paginationElement) {\n d.querySelector('#results').appendChild(paginationElement);\n callback();\n }\n }\n ).catch(\n function (err) {\n console.log(err);\n var e = d.createElement('div');\n e.textContent = searxng.settings.translations.error_loading_next_page;\n e.classList.add('dialog-error');\n e.setAttribute('role', 'alert');\n replaceChildrenWith(d.querySelector('#pagination'), [ e ]);\n }\n )\n }\n\n if (searxng.settings.infinite_scroll && searxng.infinite_scroll_supported) {\n const intersectionObserveOptions = {\n rootMargin: \"20rem\",\n };\n const observedSelector = 'article.result:last-child';\n const observer = new IntersectionObserver(entries => {\n const paginationEntry = entries[0];\n if (paginationEntry.isIntersecting) {\n observer.unobserve(paginationEntry.target);\n loadNextPage(() => observer.observe(d.querySelector(observedSelector), intersectionObserveOptions));\n }\n });\n observer.observe(d.querySelector(observedSelector), intersectionObserveOptions);\n }\n\n});\n","/* SPDX-License-Identifier: AGPL-3.0-or-later */\n/* global searxng */\n\nsearxng.ready(function () {\n\n function isElementInDetail (el) {\n while (el !== undefined) {\n if (el.classList.contains('detail')) {\n return true;\n }\n if (el.classList.contains('result')) {\n // we found a result, no need to go to the root of the document:\n // el is not inside a <div class=\"detail\"> element\n return false;\n }\n el = el.parentNode;\n }\n return false;\n }\n\n function getResultElement (el) {\n while (el !== undefined) {\n if (el.classList.contains('result')) {\n return el;\n }\n el = el.parentNode;\n }\n return undefined;\n }\n\n function isImageResult (resultElement) {\n return resultElement && resultElement.classList.contains('result-images');\n }\n\n searxng.on('.result', 'click', function (e) {\n if (!isElementInDetail(e.target)) {\n highlightResult(this)(true, true);\n let resultElement = getResultElement(e.target);\n if (isImageResult(resultElement)) {\n e.preventDefault();\n searxng.selectImage(resultElement);\n }\n }\n });\n\n searxng.on('.result a', 'focus', function (e) {\n if (!isElementInDetail(e.target)) {\n let resultElement = getResultElement(e.target);\n if (resultElement && resultElement.getAttribute(\"data-vim-selected\") === null) {\n highlightResult(resultElement)(true);\n }\n if (isImageResult(resultElement)) {\n searxng.selectImage(resultElement);\n }\n }\n }, true);\n\n var vimKeys = {\n 27: {\n key: 'Escape',\n fun: removeFocus,\n des: 'remove focus from the focused input',\n cat: 'Control'\n },\n 73: {\n key: 'i',\n fun: searchInputFocus,\n des: 'focus on the search input',\n cat: 'Control'\n },\n 66: {\n key: 'b',\n fun: scrollPage(-window.innerHeight),\n des: 'scroll one page up',\n cat: 'Navigation'\n },\n 70: {\n key: 'f',\n fun: scrollPage(window.innerHeight),\n des: 'scroll one page down',\n cat: 'Navigation'\n },\n 85: {\n key: 'u',\n fun: scrollPage(-window.innerHeight / 2),\n des: 'scroll half a page up',\n cat: 'Navigation'\n },\n 68: {\n key: 'd',\n fun: scrollPage(window.innerHeight / 2),\n des: 'scroll half a page down',\n cat: 'Navigation'\n },\n 71: {\n key: 'g',\n fun: scrollPageTo(-document.body.scrollHeight, 'top'),\n des: 'scroll to the top of the page',\n cat: 'Navigation'\n },\n 86: {\n key: 'v',\n fun: scrollPageTo(document.body.scrollHeight, 'bottom'),\n des: 'scroll to the bottom of the page',\n cat: 'Navigation'\n },\n 75: {\n key: 'k',\n fun: highlightResult('up'),\n des: 'select previous search result',\n cat: 'Results'\n },\n 74: {\n key: 'j',\n fun: highlightResult('down'),\n des: 'select next search result',\n cat: 'Results'\n },\n 80: {\n key: 'p',\n fun: GoToPreviousPage(),\n des: 'go to previous page',\n cat: 'Results'\n },\n 78: {\n key: 'n',\n fun: GoToNextPage(),\n des: 'go to next page',\n cat: 'Results'\n },\n 79: {\n key: 'o',\n fun: openResult(false),\n des: 'open search result',\n cat: 'Results'\n },\n 84: {\n key: 't',\n fun: openResult(true),\n des: 'open the result in a new tab',\n cat: 'Results'\n },\n 82: {\n key: 'r',\n fun: reloadPage,\n des: 'reload page from the server',\n cat: 'Control'\n },\n 72: {\n key: 'h',\n fun: toggleHelp,\n des: 'toggle help window',\n cat: 'Other'\n }\n };\n\n if (searxng.settings.hotkeys) {\n searxng.on(document, \"keydown\", function (e) {\n // check for modifiers so we don't break browser's hotkeys\n if (Object.prototype.hasOwnProperty.call(vimKeys, e.keyCode) && !e.ctrlKey && !e.altKey && !e.shiftKey && !e.metaKey) {\n var tagName = e.target.tagName.toLowerCase();\n if (e.keyCode === 27) {\n vimKeys[e.keyCode].fun(e);\n } else {\n if (e.target === document.body || tagName === 'a' || tagName === 'button') {\n e.preventDefault();\n vimKeys[e.keyCode].fun();\n }\n }\n }\n });\n }\n\n function highlightResult (which) {\n return function (noScroll, keepFocus) {\n var current = document.querySelector('.result[data-vim-selected]'),\n effectiveWhich = which;\n if (current === null) {\n // no selection : choose the first one\n current = document.querySelector('.result');\n if (current === null) {\n // no first one : there are no results\n return;\n }\n // replace up/down actions by selecting first one\n if (which === \"down\" || which === \"up\") {\n effectiveWhich = current;\n }\n }\n\n var next, results = document.querySelectorAll('.result');\n\n if (typeof effectiveWhich !== 'string') {\n next = effectiveWhich;\n } else {\n switch (effectiveWhich) {\n case 'visible':\n var top = document.documentElement.scrollTop || document.body.scrollTop;\n var bot = top + document.documentElement.clientHeight;\n\n for (var i = 0; i < results.length; i++) {\n next = results[i];\n var etop = next.offsetTop;\n var ebot = etop + next.clientHeight;\n\n if ((ebot <= bot) && (etop > top)) {\n break;\n }\n }\n break;\n case 'down':\n next = current.nextElementSibling;\n if (next === null) {\n next = results[0];\n }\n break;\n case 'up':\n next = current.previousElementSibling;\n if (next === null) {\n next = results[results.length - 1];\n }\n break;\n case 'bottom':\n next = results[results.length - 1];\n break;\n case 'top':\n /* falls through */\n default:\n next = results[0];\n }\n }\n\n if (next) {\n current.removeAttribute('data-vim-selected');\n next.setAttribute('data-vim-selected', 'true');\n if (!keepFocus) {\n var link = next.querySelector('h3 a') || next.querySelector('a');\n if (link !== null) {\n link.focus();\n }\n }\n if (!noScroll) {\n scrollPageToSelected();\n }\n }\n };\n }\n\n function reloadPage () {\n document.location.reload(true);\n }\n\n function removeFocus (e) {\n const tagName = e.target.tagName.toLowerCase();\n if (document.activeElement && (tagName === 'input' || tagName === 'select' || tagName === 'textarea')) {\n document.activeElement.blur();\n } else {\n searxng.closeDetail();\n }\n }\n\n function pageButtonClick (css_selector) {\n return function () {\n var button = document.querySelector(css_selector);\n if (button) {\n button.click();\n }\n };\n }\n\n function GoToNextPage () {\n return pageButtonClick('nav#pagination .next_page button[type=\"submit\"]');\n }\n\n function GoToPreviousPage () {\n return pageButtonClick('nav#pagination .previous_page button[type=\"submit\"]');\n }\n\n function scrollPageToSelected () {\n var sel = document.querySelector('.result[data-vim-selected]');\n if (sel === null) {\n return;\n }\n var wtop = document.documentElement.scrollTop || document.body.scrollTop,\n wheight = document.documentElement.clientHeight,\n etop = sel.offsetTop,\n ebot = etop + sel.clientHeight,\n offset = 120;\n // first element ?\n if ((sel.previousElementSibling === null) && (ebot < wheight)) {\n // set to the top of page if the first element\n // is fully included in the viewport\n window.scroll(window.scrollX, 0);\n return;\n }\n if (wtop > (etop - offset)) {\n window.scroll(window.scrollX, etop - offset);\n } else {\n var wbot = wtop + wheight;\n if (wbot < (ebot + offset)) {\n window.scroll(window.scrollX, ebot - wheight + offset);\n }\n }\n }\n\n function scrollPage (amount) {\n return function () {\n window.scrollBy(0, amount);\n highlightResult('visible')();\n };\n }\n\n function scrollPageTo (position, nav) {\n return function () {\n window.scrollTo(0, position);\n highlightResult(nav)();\n };\n }\n\n function searchInputFocus () {\n window.scrollTo(0, 0);\n var q = document.querySelector('#q');\n q.focus();\n if (q.setSelectionRange) {\n var len = q.value.length;\n q.setSelectionRange(len, len);\n }\n }\n\n function openResult (newTab) {\n return function () {\n var link = document.querySelector('.result[data-vim-selected] h3 a');\n if (link === null) {\n link = document.querySelector('.result[data-vim-selected] > a');\n }\n if (link !== null) {\n var url = link.getAttribute('href');\n if (newTab) {\n window.open(url);\n } else {\n window.location.href = url;\n }\n }\n };\n }\n\n function initHelpContent (divElement) {\n var categories = {};\n\n for (var k in vimKeys) {\n var key = vimKeys[k];\n categories[key.cat] = categories[key.cat] || [];\n categories[key.cat].push(key);\n }\n\n var sorted = Object.keys(categories).sort(function (a, b) {\n return categories[b].length - categories[a].length;\n });\n\n if (sorted.length === 0) {\n return;\n }\n\n var html = '<a href=\"#\" class=\"close\" aria-label=\"close\" title=\"close\">×</a>';\n html += '<h3>How to navigate searx with Vim-like hotkeys</h3>';\n html += '<table>';\n\n for (var i = 0; i < sorted.length; i++) {\n var cat = categories[sorted[i]];\n\n var lastCategory = i === (sorted.length - 1);\n var first = i % 2 === 0;\n\n if (first) {\n html += '<tr>';\n }\n html += '<td>';\n\n html += '<h4>' + cat[0].cat + '</h4>';\n html += '<ul class=\"list-unstyled\">';\n\n for (var cj in cat) {\n html += '<li><kbd>' + cat[cj].key + '</kbd> ' + cat[cj].des + '</li>';\n }\n\n html += '</ul>';\n html += '</td>'; // col-sm-*\n\n if (!first || lastCategory) {\n html += '</tr>'; // row\n }\n }\n\n html += '</table>';\n\n divElement.innerHTML = html;\n }\n\n function toggleHelp () {\n var helpPanel = document.querySelector('#vim-hotkeys-help');\n if (helpPanel === undefined || helpPanel === null) {\n // first call\n helpPanel = document.createElement('div');\n helpPanel.id = 'vim-hotkeys-help';\n helpPanel.className = 'dialog-modal';\n initHelpContent(helpPanel);\n initHelpContent(helpPanel);\n initHelpContent(helpPanel);\n var body = document.getElementsByTagName('body')[0];\n body.appendChild(helpPanel);\n } else {\n // togggle hidden\n helpPanel.classList.toggle('invisible');\n return;\n }\n }\n\n searxng.scrollPageToSelected = scrollPageToSelected;\n searxng.selectNext = highlightResult('down');\n searxng.selectPrevious = highlightResult('up');\n});\n","/* SPDX-License-Identifier: AGPL-3.0-or-later */\n/* global L */\n(function (w, d, searxng) {\n 'use strict';\n\n searxng.ready(function () {\n searxng.on('.searxng_init_map', 'click', function (event) {\n // no more request\n this.classList.remove(\"searxng_init_map\");\n\n //\n var leaflet_target = this.dataset.leafletTarget;\n var map_lon = parseFloat(this.dataset.mapLon);\n var map_lat = parseFloat(this.dataset.mapLat);\n var map_zoom = parseFloat(this.dataset.mapZoom);\n var map_boundingbox = JSON.parse(this.dataset.mapBoundingbox);\n var map_geojson = JSON.parse(this.dataset.mapGeojson);\n\n searxng.loadStyle('css/leaflet.css');\n searxng.loadScript('js/leaflet.js', function () {\n var map_bounds = null;\n if (map_boundingbox) {\n var southWest = L.latLng(map_boundingbox[0], map_boundingbox[2]);\n var northEast = L.latLng(map_boundingbox[1], map_boundingbox[3]);\n map_bounds = L.latLngBounds(southWest, northEast);\n }\n\n // init map\n var map = L.map(leaflet_target);\n // create the tile layer with correct attribution\n var osmMapnikUrl = 'https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png';\n var osmMapnikAttrib = 'Map data © <a href=\"https://openstreetmap.org\">OpenStreetMap</a> contributors';\n var osmMapnik = new L.TileLayer(osmMapnikUrl, {minZoom: 1, maxZoom: 19, attribution: osmMapnikAttrib});\n var osmWikimediaUrl = 'https://maps.wikimedia.org/osm-intl/{z}/{x}/{y}.png';\n var osmWikimediaAttrib = 'Wikimedia maps | Maps data © <a href=\"https://openstreetmap.org\">OpenStreetMap contributors</a>';\n var osmWikimedia = new L.TileLayer(osmWikimediaUrl, {minZoom: 1, maxZoom: 19, attribution: osmWikimediaAttrib});\n // init map view\n if (map_bounds) {\n // TODO hack: https://github.com/Leaflet/Leaflet/issues/2021\n // Still useful ?\n setTimeout(function () {\n map.fitBounds(map_bounds, {\n maxZoom: 17\n });\n }, 0);\n } else if (map_lon && map_lat) {\n if (map_zoom) {\n map.setView(new L.latLng(map_lat, map_lon), map_zoom);\n } else {\n map.setView(new L.latLng(map_lat, map_lon), 8);\n }\n }\n\n map.addLayer(osmMapnik);\n\n var baseLayers = {\n \"OSM Mapnik\": osmMapnik,\n \"OSM Wikimedia\": osmWikimedia,\n };\n\n L.control.layers(baseLayers).addTo(map);\n\n if (map_geojson) {\n L.geoJson(map_geojson).addTo(map);\n } /* else if(map_bounds) {\n L.rectangle(map_bounds, {color: \"#ff7800\", weight: 3, fill:false}).addTo(map);\n } */\n });\n\n // this event occour only once per element\n event.preventDefault();\n });\n });\n})(window, document, window.searxng);\n","/* SPDX-License-Identifier: AGPL-3.0-or-later */\n(function (w, d, searxng) {\n 'use strict';\n\n if (searxng.endpoint !== 'preferences') {\n return;\n }\n\n searxng.ready(function () {\n let engine_descriptions = null;\n function load_engine_descriptions () {\n if (engine_descriptions == null) {\n searxng.http(\"GET\", \"engine_descriptions.json\").then(function (content) {\n engine_descriptions = JSON.parse(content);\n for (const [engine_name, description] of Object.entries(engine_descriptions)) {\n let elements = d.querySelectorAll('[data-engine-name=\"' + engine_name + '\"] .engine-description');\n for (const element of elements) {\n let source = ' (<i>' + searxng.settings.translations.Source + ':&nbsp;' + description[1] + '</i>)';\n element.innerHTML = description[0] + source;\n }\n }\n });\n }\n }\n\n for (const el of d.querySelectorAll('[data-engine-name]')) {\n searxng.on(el, 'mouseenter', load_engine_descriptions);\n }\n });\n})(window, document, window.searxng);\n","/* SPDX-License-Identifier: AGPL-3.0-or-later */\n(function (w, d, searxng) {\n 'use strict';\n\n if (searxng.endpoint !== 'results') {\n return;\n }\n\n searxng.ready(function () {\n d.querySelectorAll('#urls img.image').forEach(\n img =>\n img.addEventListener(\n 'error', () => {\n img.style.display = 'none';\n img.error = null;\n }\n ));\n\n searxng.on('.btn-collapse', 'click', function () {\n var btnLabelCollapsed = this.getAttribute('data-btn-text-collapsed');\n var btnLabelNotCollapsed = this.getAttribute('data-btn-text-not-collapsed');\n var target = this.getAttribute('data-target');\n var targetElement = d.querySelector(target);\n var html = this.innerHTML;\n if (this.classList.contains('collapsed')) {\n html = html.replace(btnLabelCollapsed, btnLabelNotCollapsed);\n } else {\n html = html.replace(btnLabelNotCollapsed, btnLabelCollapsed);\n }\n this.innerHTML = html;\n this.classList.toggle('collapsed');\n targetElement.classList.toggle('invisible');\n });\n\n searxng.on('.media-loader', 'click', function () {\n var target = this.getAttribute('data-target');\n var iframe_load = d.querySelector(target + ' > iframe');\n var srctest = iframe_load.getAttribute('src');\n if (srctest === null || srctest === undefined || srctest === false) {\n iframe_load.setAttribute('src', iframe_load.getAttribute('data-src'));\n }\n });\n\n searxng.selectImage = function (resultElement) {\n /* eslint no-unused-vars: 0 */\n if (resultElement) {\n // load full size image in background\n const imgElement = resultElement.querySelector('.result-images-source img');\n const thumbnailElement = resultElement.querySelector('.image_thumbnail');\n const detailElement = resultElement.querySelector('.detail');\n if (imgElement) {\n const imgSrc = imgElement.getAttribute('data-src');\n if (imgSrc) {\n const loader = d.createElement('div');\n const imgLoader = new Image();\n\n loader.classList.add('loader');\n detailElement.appendChild(loader);\n\n imgLoader.onload = e => {\n imgElement.src = imgSrc;\n loader.remove();\n };\n imgLoader.onerror = e => {\n loader.remove();\n };\n imgLoader.src = imgSrc;\n imgElement.src = thumbnailElement.src;\n imgElement.removeAttribute('data-src');\n }\n }\n }\n d.getElementById('results').classList.add('image-detail-open');\n searxng.scrollPageToSelected();\n }\n\n searxng.closeDetail = function (e) {\n d.getElementById('results').classList.remove('image-detail-open');\n searxng.scrollPageToSelected();\n }\n searxng.on('.result-detail-close', 'click', e => {\n e.preventDefault();\n searxng.closeDetail();\n });\n searxng.on('.result-detail-previous', 'click', e => searxng.selectPrevious(false));\n searxng.on('.result-detail-next', 'click', e => searxng.selectNext(false));\n\n w.addEventListener('scroll', function () {\n var e = d.getElementById('backToTop'),\n scrollTop = document.documentElement.scrollTop || document.body.scrollTop,\n results = d.getElementById('results');\n if (e !== null) {\n if (scrollTop >= 100) {\n results.classList.add('scrolling');\n } else {\n results.classList.remove('scrolling');\n }\n }\n }, true);\n\n });\n\n})(window, document, window.searxng);\n","/* SPDX-License-Identifier: AGPL-3.0-or-later */\n/* global AutoComplete */\n(function (w, d, searxng) {\n 'use strict';\n\n var qinput_id = \"q\", qinput;\n\n const isMobile = window.matchMedia(\"only screen and (max-width: 50em)\").matches;\n\n function submitIfQuery () {\n if (qinput.value.length > 0) {\n var search = document.getElementById('search');\n setTimeout(search.submit.bind(search), 0);\n }\n }\n\n function createClearButton (qinput) {\n var cs = document.getElementById('clear_search');\n var updateClearButton = function () {\n if (qinput.value.length === 0) {\n cs.classList.add(\"empty\");\n } else {\n cs.classList.remove(\"empty\");\n }\n };\n\n // update status, event listener\n updateClearButton();\n cs.addEventListener('click', function (ev) {\n qinput.value = '';\n qinput.focus();\n updateClearButton();\n ev.preventDefault();\n });\n qinput.addEventListener('keyup', updateClearButton, false);\n }\n\n searxng.ready(function () {\n qinput = d.getElementById(qinput_id);\n\n if (qinput !== null) {\n // clear button\n createClearButton(qinput);\n\n // autocompleter\n if (searxng.settings.autocomplete_provider) {\n searxng.autocomplete = AutoComplete.call(w, {\n Url: \"./autocompleter\",\n EmptyMessage: searxng.settings.translations.no_item_found,\n HttpMethod: searxng.settings.http_method,\n HttpHeaders: {\n \"Content-type\": \"application/x-www-form-urlencoded\",\n \"X-Requested-With\": \"XMLHttpRequest\"\n },\n MinChars: searxng.settings.autocomplete_min,\n Delay: 300,\n _Position: function () {},\n _Open: function () {\n var params = this;\n Array.prototype.forEach.call(this.DOMResults.getElementsByTagName(\"li\"), function (li) {\n if (li.getAttribute(\"class\") != \"locked\") {\n li.onmousedown = function () {\n params._Select(li);\n };\n }\n });\n },\n }, \"#\" + qinput_id);\n }\n\n /*\n Monkey patch autocomplete.js to fix a bug\n With the POST method, the values are not URL encoded: query like \"1 + 1\" are sent as \"1 1\" since space are URL encoded as plus.\n See HTML specifications:\n * HTML5: https://url.spec.whatwg.org/#concept-urlencoded-serializer\n * HTML4: https://www.w3.org/TR/html401/interact/forms.html#h-17.13.4.1\n\n autocomplete.js does not URL encode the name and values:\n https://github.com/autocompletejs/autocomplete.js/blob/87069524f3b95e68f1b54d8976868e0eac1b2c83/src/autocomplete.ts#L665\n\n The monkey patch overrides the compiled version of the ajax function.\n See https://github.com/autocompletejs/autocomplete.js/blob/87069524f3b95e68f1b54d8976868e0eac1b2c83/dist/autocomplete.js#L143-L158\n The patch changes only the line 156 from\n params.Request.send(params._QueryArg() + \"=\" + params._Pre());\n to\n params.Request.send(encodeURIComponent(params._QueryArg()) + \"=\" + encodeURIComponent(params._Pre()));\n\n Related to:\n * https://github.com/autocompletejs/autocomplete.js/issues/78\n * https://github.com/searxng/searxng/issues/1695\n */\n AutoComplete.prototype.ajax = function (params, request, timeout) {\n if (timeout === void 0) { timeout = true; }\n if (params.$AjaxTimer) {\n window.clearTimeout(params.$AjaxTimer);\n }\n if (timeout === true) {\n params.$AjaxTimer = window.setTimeout(AutoComplete.prototype.ajax.bind(null, params, request, false), params.Delay);\n } else {\n if (params.Request) {\n params.Request.abort();\n }\n params.Request = request;\n params.Request.send(encodeURIComponent(params._QueryArg()) + \"=\" + encodeURIComponent(params._Pre()));\n }\n };\n\n if (!isMobile && document.querySelector('.index_endpoint')) {\n qinput.focus();\n }\n }\n\n // vanilla js version of search_on_category_select.js\n if (qinput !== null && d.querySelector('.help') != null && searxng.settings.search_on_category_select) {\n d.querySelector('.help').className = 'invisible';\n\n searxng.on('#categories input', 'change', function () {\n var i, categories = d.querySelectorAll('#categories input[type=\"checkbox\"]');\n for (i = 0; i < categories.length; i++) {\n if (categories[i] !== this && categories[i].checked) {\n categories[i].click();\n }\n }\n if (! this.checked) {\n this.click();\n }\n submitIfQuery();\n return false;\n });\n\n searxng.on(d.getElementById('safesearch'), 'change', submitIfQuery);\n searxng.on(d.getElementById('time_range'), 'change', submitIfQuery);\n searxng.on(d.getElementById('language'), 'change', submitIfQuery);\n }\n\n });\n\n})(window, document, window.searxng);\n","(function(f){if(typeof exports===\"object\"&&typeof module!==\"undefined\"){module.exports=f()}else if(typeof define===\"function\"&&define.amd){define([],f)}else{var g;if(typeof window!==\"undefined\"){g=window}else if(typeof global!==\"undefined\"){g=global}else if(typeof self!==\"undefined\"){g=self}else{g=this}g.AutoComplete = f()}})(function(){var define,module,exports;return (function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c=\"function\"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error(\"Cannot find module '\"+i+\"'\");throw a.code=\"MODULE_NOT_FOUND\",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u=\"function\"==typeof require&&require,i=0;i<t.length;i++)o(t[i]);return o}return r})()({1:[function(require,module,exports){\n/*\n * @license MIT\n *\n * Autocomplete.js v2.7.1\n * Developed by Baptiste Donaux\n * http://autocomplete-js.com\n *\n * (c) 2017, Baptiste Donaux\n */\n\"use strict\";\nvar ConditionOperator;\n(function (ConditionOperator) {\n ConditionOperator[ConditionOperator[\"AND\"] = 0] = \"AND\";\n ConditionOperator[ConditionOperator[\"OR\"] = 1] = \"OR\";\n})(ConditionOperator || (ConditionOperator = {}));\nvar EventType;\n(function (EventType) {\n EventType[EventType[\"KEYDOWN\"] = 0] = \"KEYDOWN\";\n EventType[EventType[\"KEYUP\"] = 1] = \"KEYUP\";\n})(EventType || (EventType = {}));\n/**\n * Core\n *\n * @class\n * @author Baptiste Donaux <baptiste.donaux@gmail.com> @baptistedonaux\n */\nvar AutoComplete = /** @class */ (function () {\n // Constructor\n function AutoComplete(params, selector) {\n if (params === void 0) { params = {}; }\n if (selector === void 0) { selector = \"[data-autocomplete]\"; }\n if (Array.isArray(selector)) {\n selector.forEach(function (s) {\n new AutoComplete(params, s);\n });\n }\n else if (typeof selector == \"string\") {\n var elements = document.querySelectorAll(selector);\n Array.prototype.forEach.call(elements, function (input) {\n new AutoComplete(params, input);\n });\n }\n else {\n var specificParams = AutoComplete.merge(AutoComplete.defaults, params, {\n DOMResults: document.createElement(\"div\")\n });\n AutoComplete.prototype.create(specificParams, selector);\n return specificParams;\n }\n }\n AutoComplete.prototype.create = function (params, element) {\n params.Input = element;\n if (params.Input.nodeName.match(/^INPUT$/i) && (params.Input.hasAttribute(\"type\") === false || params.Input.getAttribute(\"type\").match(/^TEXT|SEARCH$/i))) {\n params.Input.setAttribute(\"autocomplete\", \"off\");\n params._Position(params);\n params.Input.parentNode.appendChild(params.DOMResults);\n params.$Listeners = {\n blur: params._Blur.bind(params),\n destroy: AutoComplete.prototype.destroy.bind(null, params),\n focus: params._Focus.bind(params),\n keyup: AutoComplete.prototype.event.bind(null, params, EventType.KEYUP),\n keydown: AutoComplete.prototype.event.bind(null, params, EventType.KEYDOWN),\n position: params._Position.bind(params)\n };\n for (var event in params.$Listeners) {\n params.Input.addEventListener(event, params.$Listeners[event]);\n }\n }\n };\n AutoComplete.prototype.getEventsByType = function (params, type) {\n var mappings = {};\n for (var key in params.KeyboardMappings) {\n var event = EventType.KEYUP;\n if (params.KeyboardMappings[key].Event !== undefined) {\n event = params.KeyboardMappings[key].Event;\n }\n if (event == type) {\n mappings[key] = params.KeyboardMappings[key];\n }\n }\n return mappings;\n };\n AutoComplete.prototype.event = function (params, type, event) {\n var eventIdentifier = function (condition) {\n if ((match === true && mapping.Operator == ConditionOperator.AND) || (match === false && mapping.Operator == ConditionOperator.OR)) {\n condition = AutoComplete.merge({\n Not: false\n }, condition);\n if (condition.hasOwnProperty(\"Is\")) {\n if (condition.Is == event.keyCode) {\n match = !condition.Not;\n }\n else {\n match = condition.Not;\n }\n }\n else if (condition.hasOwnProperty(\"From\") && condition.hasOwnProperty(\"To\")) {\n if (event.keyCode >= condition.From && event.keyCode <= condition.To) {\n match = !condition.Not;\n }\n else {\n match = condition.Not;\n }\n }\n }\n };\n for (var name in AutoComplete.prototype.getEventsByType(params, type)) {\n var mapping = AutoComplete.merge({\n Operator: ConditionOperator.AND\n }, params.KeyboardMappings[name]), match = ConditionOperator.AND == mapping.Operator;\n mapping.Conditions.forEach(eventIdentifier);\n if (match === true) {\n mapping.Callback.call(params, event);\n }\n }\n };\n AutoComplete.prototype.makeRequest = function (params, callback, callbackErr) {\n var propertyHttpHeaders = Object.getOwnPropertyNames(params.HttpHeaders), request = new XMLHttpRequest(), method = params._HttpMethod(), url = params._Url(), queryParams = params._Pre(), queryParamsStringify = encodeURIComponent(params._QueryArg()) + \"=\" + encodeURIComponent(queryParams);\n if (method.match(/^GET$/i)) {\n if (url.indexOf(\"?\") !== -1) {\n url += \"&\" + queryParamsStringify;\n }\n else {\n url += \"?\" + queryParamsStringify;\n }\n }\n request.open(method, url, true);\n for (var i = propertyHttpHeaders.length - 1; i >= 0; i--) {\n request.setRequestHeader(propertyHttpHeaders[i], params.HttpHeaders[propertyHttpHeaders[i]]);\n }\n request.onreadystatechange = function () {\n if (request.readyState == 4 && request.status == 200) {\n params.$Cache[queryParams] = request.response;\n callback(request.response);\n }\n else if (request.status >= 400) {\n callbackErr();\n }\n };\n return request;\n };\n AutoComplete.prototype.ajax = function (params, request, timeout) {\n if (timeout === void 0) { timeout = true; }\n if (params.$AjaxTimer) {\n window.clearTimeout(params.$AjaxTimer);\n }\n if (timeout === true) {\n params.$AjaxTimer = window.setTimeout(AutoComplete.prototype.ajax.bind(null, params, request, false), params.Delay);\n }\n else {\n if (params.Request) {\n params.Request.abort();\n }\n params.Request = request;\n params.Request.send(params._QueryArg() + \"=\" + params._Pre());\n }\n };\n AutoComplete.prototype.cache = function (params, callback, callbackErr) {\n var response = params._Cache(params._Pre());\n if (response === undefined) {\n var request = AutoComplete.prototype.makeRequest(params, callback, callbackErr);\n AutoComplete.prototype.ajax(params, request);\n }\n else {\n callback(response);\n }\n };\n AutoComplete.prototype.destroy = function (params) {\n for (var event in params.$Listeners) {\n params.Input.removeEventListener(event, params.$Listeners[event]);\n }\n params.DOMResults.parentNode.removeChild(params.DOMResults);\n };\n AutoComplete.merge = function () {\n var merge = {}, tmp;\n for (var i = 0; i < arguments.length; i++) {\n for (tmp in arguments[i]) {\n merge[tmp] = arguments[i][tmp];\n }\n }\n return merge;\n };\n AutoComplete.defaults = {\n Delay: 150,\n EmptyMessage: \"No result here\",\n Highlight: {\n getRegex: function (value) {\n return new RegExp(value, \"ig\");\n },\n transform: function (value) {\n return \"<strong>\" + value + \"</strong>\";\n }\n },\n HttpHeaders: {\n \"Content-type\": \"application/x-www-form-urlencoded\"\n },\n Limit: 0,\n MinChars: 0,\n HttpMethod: \"GET\",\n QueryArg: \"q\",\n Url: null,\n KeyboardMappings: {\n \"Enter\": {\n Conditions: [{\n Is: 13,\n Not: false\n }],\n Callback: function (event) {\n if (this.DOMResults.getAttribute(\"class\").indexOf(\"open\") != -1) {\n var liActive = this.DOMResults.querySelector(\"li.active\");\n if (liActive !== null) {\n event.preventDefault();\n this._Select(liActive);\n this.DOMResults.setAttribute(\"class\", \"autocomplete\");\n }\n }\n },\n Operator: ConditionOperator.AND,\n Event: EventType.KEYDOWN\n },\n \"KeyUpAndDown_down\": {\n Conditions: [{\n Is: 38,\n Not: false\n },\n {\n Is: 40,\n Not: false\n }],\n Callback: function (event) {\n event.preventDefault();\n },\n Operator: ConditionOperator.OR,\n Event: EventType.KEYDOWN\n },\n \"KeyUpAndDown_up\": {\n Conditions: [{\n Is: 38,\n Not: false\n },\n {\n Is: 40,\n Not: false\n }],\n Callback: function (event) {\n event.preventDefault();\n var first = this.DOMResults.querySelector(\"li:first-child:not(.locked)\"), last = this.DOMResults.querySelector(\"li:last-child:not(.locked)\"), active = this.DOMResults.querySelector(\"li.active\");\n if (active) {\n var currentIndex = Array.prototype.indexOf.call(active.parentNode.children, active), position = currentIndex + (event.keyCode - 39), lisCount = this.DOMResults.getElementsByTagName(\"li\").length;\n if (position < 0) {\n position = lisCount - 1;\n }\n else if (position >= lisCount) {\n position = 0;\n }\n active.classList.remove(\"active\");\n active.parentElement.children.item(position).classList.add(\"active\");\n }\n else if (last && event.keyCode == 38) {\n last.classList.add(\"active\");\n }\n else if (first) {\n first.classList.add(\"active\");\n }\n },\n Operator: ConditionOperator.OR,\n Event: EventType.KEYUP\n },\n \"AlphaNum\": {\n Conditions: [{\n Is: 13,\n Not: true\n }, {\n From: 35,\n To: 40,\n Not: true\n }],\n Callback: function () {\n var oldValue = this.Input.getAttribute(\"data-autocomplete-old-value\"), currentValue = this._Pre();\n if (currentValue !== \"\" && currentValue.length >= this._MinChars()) {\n if (!oldValue || currentValue != oldValue) {\n this.DOMResults.setAttribute(\"class\", \"autocomplete open\");\n }\n AutoComplete.prototype.cache(this, function (response) {\n this._Render(this._Post(response));\n this._Open();\n }.bind(this), this._Error);\n }\n else {\n this._Close();\n }\n },\n Operator: ConditionOperator.AND,\n Event: EventType.KEYUP\n }\n },\n DOMResults: null,\n Request: null,\n Input: null,\n /**\n * Return the message when no result returns\n */\n _EmptyMessage: function () {\n var emptyMessage = \"\";\n if (this.Input.hasAttribute(\"data-autocomplete-empty-message\")) {\n emptyMessage = this.Input.getAttribute(\"data-autocomplete-empty-message\");\n }\n else if (this.EmptyMessage !== false) {\n emptyMessage = this.EmptyMessage;\n }\n else {\n emptyMessage = \"\";\n }\n return emptyMessage;\n },\n /**\n * Returns the maximum number of results\n */\n _Limit: function () {\n var limit = this.Input.getAttribute(\"data-autocomplete-limit\");\n if (isNaN(limit) || limit === null) {\n return this.Limit;\n }\n return parseInt(limit, 10);\n },\n /**\n * Returns the minimum number of characters entered before firing ajax\n */\n _MinChars: function () {\n var minchars = this.Input.getAttribute(\"data-autocomplete-minchars\");\n if (isNaN(minchars) || minchars === null) {\n return this.MinChars;\n }\n return parseInt(minchars, 10);\n },\n /**\n * Apply transformation on labels response\n */\n _Highlight: function (label) {\n return label.replace(this.Highlight.getRegex(this._Pre()), this.Highlight.transform);\n },\n /**\n * Returns the HHTP method to use\n */\n _HttpMethod: function () {\n if (this.Input.hasAttribute(\"data-autocomplete-method\")) {\n return this.Input.getAttribute(\"data-autocomplete-method\");\n }\n return this.HttpMethod;\n },\n /**\n * Returns the query param to use\n */\n _QueryArg: function () {\n if (this.Input.hasAttribute(\"data-autocomplete-param-name\")) {\n return this.Input.getAttribute(\"data-autocomplete-param-name\");\n }\n return this.QueryArg;\n },\n /**\n * Returns the URL to use for AJAX request\n */\n _Url: function () {\n if (this.Input.hasAttribute(\"data-autocomplete\")) {\n return this.Input.getAttribute(\"data-autocomplete\");\n }\n return this.Url;\n },\n /**\n * Manage the close\n */\n _Blur: function (now) {\n if (now === void 0) { now = false; }\n if (now) {\n this._Close();\n }\n else {\n var params = this;\n setTimeout(function () {\n params._Blur(true);\n }, 150);\n }\n },\n /**\n * Manage the cache\n */\n _Cache: function (value) {\n return this.$Cache[value];\n },\n /**\n * Manage the open\n */\n _Focus: function () {\n var oldValue = this.Input.getAttribute(\"data-autocomplete-old-value\");\n if ((!oldValue || this.Input.value != oldValue) && this._MinChars() <= this.Input.value.length) {\n this.DOMResults.setAttribute(\"class\", \"autocomplete open\");\n }\n },\n /**\n * Bind all results item if one result is opened\n */\n _Open: function () {\n var params = this;\n Array.prototype.forEach.call(this.DOMResults.getElementsByTagName(\"li\"), function (li) {\n if (li.getAttribute(\"class\") != \"locked\") {\n li.onclick = function () {\n params._Select(li);\n };\n }\n });\n },\n _Close: function () {\n this.DOMResults.setAttribute(\"class\", \"autocomplete\");\n },\n /**\n * Position the results HTML element\n */\n _Position: function () {\n this.DOMResults.setAttribute(\"class\", \"autocomplete\");\n this.DOMResults.setAttribute(\"style\", \"top:\" + (this.Input.offsetTop + this.Input.offsetHeight) + \"px;left:\" + this.Input.offsetLeft + \"px;width:\" + this.Input.clientWidth + \"px;\");\n },\n /**\n * Execute the render of results DOM element\n */\n _Render: function (response) {\n var ul;\n if (typeof response == \"string\") {\n ul = this._RenderRaw(response);\n }\n else {\n ul = this._RenderResponseItems(response);\n }\n if (this.DOMResults.hasChildNodes()) {\n this.DOMResults.removeChild(this.DOMResults.childNodes[0]);\n }\n this.DOMResults.appendChild(ul);\n },\n /**\n * ResponseItems[] rendering\n */\n _RenderResponseItems: function (response) {\n var ul = document.createElement(\"ul\"), li = document.createElement(\"li\"), limit = this._Limit();\n // Order\n if (limit < 0) {\n response = response.reverse();\n }\n else if (limit === 0) {\n limit = response.length;\n }\n for (var item = 0; item < Math.min(Math.abs(limit), response.length); item++) {\n li.innerHTML = response[item].Label;\n li.setAttribute(\"data-autocomplete-value\", response[item].Value);\n ul.appendChild(li);\n li = document.createElement(\"li\");\n }\n return ul;\n },\n /**\n * string response rendering (RAW HTML)\n */\n _RenderRaw: function (response) {\n var ul = document.createElement(\"ul\"), li = document.createElement(\"li\");\n if (response.length > 0) {\n this.DOMResults.innerHTML = response;\n }\n else {\n var emptyMessage = this._EmptyMessage();\n if (emptyMessage !== \"\") {\n li.innerHTML = emptyMessage;\n li.setAttribute(\"class\", \"locked\");\n ul.appendChild(li);\n }\n }\n return ul;\n },\n /**\n * Deal with request response\n */\n _Post: function (response) {\n try {\n var returnResponse = [];\n //JSON return\n var json = JSON.parse(response);\n if (Object.keys(json).length === 0) {\n return \"\";\n }\n if (Array.isArray(json)) {\n for (var i = 0; i < Object.keys(json).length; i++) {\n returnResponse[returnResponse.length] = { \"Value\": json[i], \"Label\": this._Highlight(json[i]) };\n }\n }\n else {\n for (var value in json) {\n returnResponse.push({\n \"Value\": value,\n \"Label\": this._Highlight(json[value])\n });\n }\n }\n return returnResponse;\n }\n catch (event) {\n //HTML return\n return response;\n }\n },\n /**\n * Return the autocomplete value to send (before request)\n */\n _Pre: function () {\n return this.Input.value;\n },\n /**\n * Choice one result item\n */\n _Select: function (item) {\n if (item.hasAttribute(\"data-autocomplete-value\")) {\n this.Input.value = item.getAttribute(\"data-autocomplete-value\");\n }\n else {\n this.Input.value = item.innerHTML;\n }\n this.Input.setAttribute(\"data-autocomplete-old-value\", this.Input.value);\n },\n /**\n * Handle HTTP error on the request\n */\n _Error: function () {\n },\n $AjaxTimer: null,\n $Cache: {},\n $Listeners: {}\n };\n return AutoComplete;\n}());\nmodule.exports = AutoComplete;\n\n},{}]},{},[1])(1)\n});\n"],"names":["window","searxng","w","d","Element","ElementPrototype","matches","matchesSelector","webkitMatchesSelector","msMatchesSelector","selector","node","this","nodes","parentNode","document","querySelectorAll","i","prototype","callbackSafe","callback","el","e","call","exception","console","log","on","obj","eventType","useCapture","addEventListener","target","srcElement","found","parentElement","ready","readyState","bind","http","method","url","data","Promise","resolve","reject","req","XMLHttpRequest","open","timeout","onload","status","response","responseType","Error","statusText","onerror","onabort","ontimeout","send","ex","loadStyle","src","path","settings","theme_static_path","id","replace","s","getElementById","createElement","setAttribute","body","appendChild","loadScript","hasAttribute","apply","insertBefore","newNode","referenceNode","insertAfter","nextSibling","classList","add","getEndpoint","className","getElementsByTagName","values","endsWith","split","endpoint","infinite_scroll_supported","IntersectionObserverEntry","let","onlyImages","contains","newLoadSpinner","loader","replaceChildrenWith","element","children","textContent","forEach","child","loadNextPage","form","querySelector","formData","FormData","getAttribute","then","nextPageDoc","DOMParser","parseFromString","articleList","paginationElement","remove","length","articleElement","catch","err","translations","error_loading_next_page","infinite_scroll","intersectionObserveOptions","rootMargin","observedSelector","observer","IntersectionObserver","entries","paginationEntry","isIntersecting","unobserve","observe","isElementInDetail","undefined","getResultElement","isImageResult","resultElement","highlightResult","preventDefault","selectImage","vimKeys","27","key","fun","removeFocus","des","cat","73","searchInputFocus","66","scrollPage","innerHeight","70","85","68","71","scrollPageTo","scrollHeight","86","75","74","80","GoToPreviousPage","78","GoToNextPage","79","openResult","84","82","reloadPage","72","toggleHelp","hotkeys","Object","hasOwnProperty","keyCode","ctrlKey","altKey","shiftKey","metaKey","tagName","toLowerCase","which","noScroll","keepFocus","current","effectiveWhich","next","results","top","documentElement","scrollTop","bot","clientHeight","etop","offsetTop","ebot","nextElementSibling","previousElementSibling","removeAttribute","link","focus","scrollPageToSelected","location","reload","activeElement","blur","closeDetail","pageButtonClick","css_selector","button","click","sel","wtop","wheight","offset","scroll","scrollX","wbot","amount","scrollBy","position","nav","scrollTo","q","setSelectionRange","len","value","newTab","href","initHelpContent","divElement","categories","k","push","sorted","keys","sort","a","b","html","lastCategory","first","cj","innerHTML","helpPanel","toggle","selectNext","selectPrevious","event","leaflet_target","dataset","leafletTarget","map_lon","parseFloat","mapLon","map_lat","mapLat","map_zoom","mapZoom","map_boundingbox","JSON","parse","mapBoundingbox","map_geojson","mapGeojson","map_bounds","southWest","L","latLng","northEast","latLngBounds","map","osmMapnikUrl","osmMapnikAttrib","osmMapnik","TileLayer","minZoom","maxZoom","attribution","osmWikimediaUrl","osmWikimediaAttrib","osmWikimedia","setTimeout","fitBounds","setView","addLayer","baseLayers","OSM Mapnik","OSM Wikimedia","control","layers","addTo","geoJson","engine_descriptions","load_engine_descriptions","content","engine_name","description","elements","source","Source","img","style","display","error","btnLabelCollapsed","btnLabelNotCollapsed","targetElement","iframe_load","srctest","imgElement","thumbnailElement","detailElement","imgSrc","imgLoader","Image","qinput_id","qinput","isMobile","matchMedia","submitIfQuery","search","submit","createClearButton","cs","updateClearButton","ev","autocomplete_provider","autocomplete","AutoComplete","Url","EmptyMessage","no_item_found","HttpMethod","http_method","HttpHeaders","Content-type","X-Requested-With","MinChars","autocomplete_min","Delay","_Position","_Open","params","Array","DOMResults","li","onmousedown","_Select","ajax","request","$AjaxTimer","clearTimeout","Request","abort","encodeURIComponent","_QueryArg","_Pre","search_on_category_select","checked","f","exports","module","define","amd","g","global","self","r","n","t","o","c","require","u","code","p","1","ConditionOperator","EventType","isArray","input","specificParams","merge","defaults","create","Input","nodeName","match","$Listeners","_Blur","destroy","_Focus","keyup","KEYUP","keydown","KEYDOWN","getEventsByType","type","mappings","KeyboardMappings","Event","eventIdentifier","condition","mapping","Operator","AND","OR","Not","Is","From","To","name","Conditions","Callback","makeRequest","callbackErr","propertyHttpHeaders","getOwnPropertyNames","_HttpMethod","_Url","queryParams","queryParamsStringify","indexOf","setRequestHeader","onreadystatechange","$Cache","cache","_Cache","removeEventListener","removeChild","tmp","arguments","Highlight","getRegex","RegExp","transform","Limit","QueryArg","Enter","liActive","KeyUpAndDown_down","KeyUpAndDown_up","last","active","currentIndex","lisCount","item","AlphaNum","oldValue","currentValue","_MinChars","_Render","_Post","_Error","_Close","_EmptyMessage","emptyMessage","_Limit","limit","isNaN","parseInt","minchars","_Highlight","label","now","onclick","offsetHeight","offsetLeft","clientWidth","ul","_RenderRaw","_RenderResponseItems","hasChildNodes","childNodes","reverse","Math","min","abs","Label","Value","returnResponse","json"],"mappings":"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"} \ No newline at end of file
diff --git a/searx/static/themes/simple/package.json b/searx/static/themes/simple/package.json
index be4c7fbac..39a4de2d9 100644
--- a/searx/static/themes/simple/package.json
+++ b/searx/static/themes/simple/package.json
@@ -14,7 +14,7 @@
"ionicons": "^6.0.2",
"less": "^4.1.3",
"less-plugin-clean-css": "^1.5.1",
- "sharp": "^0.30.6",
+ "sharp": "^0.31.0",
"stylelint": "^13.13.1",
"stylelint-config-standard": "^22.0.0",
"ejs": "^3.1.8",
diff --git a/searx/static/themes/simple/src/generated/pygments.less b/searx/static/themes/simple/src/generated/pygments.less
index 2e8213c2c..b016e97f9 100644
--- a/searx/static/themes/simple/src/generated/pygments.less
+++ b/searx/static/themes/simple/src/generated/pygments.less
@@ -1,6 +1,6 @@
/*
this file is generated automatically by searxng_extra/update/update_pygments.py
- using pygments version 2.12.0
+ using pygments version 2.13.0
*/
.code-highlight .linenos {
diff --git a/searx/static/themes/simple/src/js/main/search.js b/searx/static/themes/simple/src/js/main/search.js
index 97c9ea541..9ba3914be 100644
--- a/searx/static/themes/simple/src/js/main/search.js
+++ b/searx/static/themes/simple/src/js/main/search.js
@@ -68,6 +68,43 @@
}, "#" + qinput_id);
}
+ /*
+ Monkey patch autocomplete.js to fix a bug
+ With the POST method, the values are not URL encoded: query like "1 + 1" are sent as "1 1" since space are URL encoded as plus.
+ See HTML specifications:
+ * HTML5: https://url.spec.whatwg.org/#concept-urlencoded-serializer
+ * HTML4: https://www.w3.org/TR/html401/interact/forms.html#h-17.13.4.1
+
+ autocomplete.js does not URL encode the name and values:
+ https://github.com/autocompletejs/autocomplete.js/blob/87069524f3b95e68f1b54d8976868e0eac1b2c83/src/autocomplete.ts#L665
+
+ The monkey patch overrides the compiled version of the ajax function.
+ See https://github.com/autocompletejs/autocomplete.js/blob/87069524f3b95e68f1b54d8976868e0eac1b2c83/dist/autocomplete.js#L143-L158
+ The patch changes only the line 156 from
+ params.Request.send(params._QueryArg() + "=" + params._Pre());
+ to
+ params.Request.send(encodeURIComponent(params._QueryArg()) + "=" + encodeURIComponent(params._Pre()));
+
+ Related to:
+ * https://github.com/autocompletejs/autocomplete.js/issues/78
+ * https://github.com/searxng/searxng/issues/1695
+ */
+ AutoComplete.prototype.ajax = function (params, request, timeout) {
+ if (timeout === void 0) { timeout = true; }
+ if (params.$AjaxTimer) {
+ window.clearTimeout(params.$AjaxTimer);
+ }
+ if (timeout === true) {
+ params.$AjaxTimer = window.setTimeout(AutoComplete.prototype.ajax.bind(null, params, request, false), params.Delay);
+ } else {
+ if (params.Request) {
+ params.Request.abort();
+ }
+ params.Request = request;
+ params.Request.send(encodeURIComponent(params._QueryArg()) + "=" + encodeURIComponent(params._Pre()));
+ }
+ };
+
if (!isMobile && document.querySelector('.index_endpoint')) {
qinput.focus();
}