Browse Source

Merge pull request #566 from dalf/simple-theme-smaller-build

[mod] simple theme: smaller build
Alexandre Flament 3 years ago
parent
commit
ae49b5224c

+ 0 - 3279
searx/static/themes/simple/css/searxng-rtl.css

@@ -1,3279 +0,0 @@
-/*
-* SearXNG, A privacy-respecting, hackable metasearch engine
-*
-* To convert "style.less" to "style.css" run: $make styles
-*/
-.github-issue-button {
-  display: block;
-  padding: 8px 16px;
-  font-family: sans-serif;
-  font-size: 16px;
-  color: white;
-  background-color: #238636 !important;
-  /* important is needed cause to an !important in logicodev-dark */
-  border: #2ea043;
-  border-radius: 10px !important;
-  box-shadow: rgba(0, 0, 0, 0) 0px 0px 0px 0px;
-}
-.github-issue-button:hover {
-  background-color: #2ea043;
-}
-.issue-hide {
-  display: none;
-}
-.engine-stats .engine-name {
-  width: 20rem;
-}
-.engine-stats .engine-score {
-  width: 7rem;
-  text-align: right;
-}
-.engine-stats .engine-reliability {
-  text-align: right;
-}
-.engine-stats table.engine-error {
-  max-width: 1280px;
-  margin: 1rem;
-  border: 1px solid gray;
-}
-.engine-stats table.engine-error th.engine-error-type,
-.engine-stats table.engine-error td.engine-error-type,
-.engine-stats failed-test {
-  width: 10rem;
-}
-.engine-stats table.engine-error span.log_parameters {
-  border-right: 1px solid gray;
-  padding: 0 1rem 0 0;
-  margin: 0 0 0 0.5rem;
-}
-.bar-chart-value {
-  width: 3em;
-  display: inline-block;
-  text-align: right;
-  padding-right: 0.5rem;
-}
-.bar-chart-graph {
-  width: calc(100% - 5rem);
-  display: inline-block;
-}
-.bar-chart-bar {
-  border: 3px solid #5bc0de;
-  margin: 1px 0;
-}
-.bar-chart-serie1 {
-  border: 3px solid #5bc0de;
-  margin: 1px 0;
-  float: left;
-}
-.bar-chart-serie2 {
-  border: 3px solid #deb15b;
-  margin: 1px 0;
-  float: left;
-}
-.bar0 {
-  width: 0;
-  border: 0;
-}
-.bar1 {
-  width: 1%;
-}
-.bar2 {
-  width: 2%;
-}
-.bar3 {
-  width: 3%;
-}
-.bar4 {
-  width: 4%;
-}
-.bar5 {
-  width: 5%;
-}
-.bar6 {
-  width: 6%;
-}
-.bar7 {
-  width: 7%;
-}
-.bar8 {
-  width: 8%;
-}
-.bar9 {
-  width: 9%;
-}
-.bar10 {
-  width: 10%;
-}
-.bar11 {
-  width: 11%;
-}
-.bar12 {
-  width: 12%;
-}
-.bar13 {
-  width: 13%;
-}
-.bar14 {
-  width: 14%;
-}
-.bar15 {
-  width: 15%;
-}
-.bar16 {
-  width: 16%;
-}
-.bar17 {
-  width: 17%;
-}
-.bar18 {
-  width: 18%;
-}
-.bar19 {
-  width: 19%;
-}
-.bar20 {
-  width: 20%;
-}
-.bar21 {
-  width: 21%;
-}
-.bar22 {
-  width: 22%;
-}
-.bar23 {
-  width: 23%;
-}
-.bar24 {
-  width: 24%;
-}
-.bar25 {
-  width: 25%;
-}
-.bar26 {
-  width: 26%;
-}
-.bar27 {
-  width: 27%;
-}
-.bar28 {
-  width: 28%;
-}
-.bar29 {
-  width: 29%;
-}
-.bar30 {
-  width: 30%;
-}
-.bar31 {
-  width: 31%;
-}
-.bar32 {
-  width: 32%;
-}
-.bar33 {
-  width: 33%;
-}
-.bar34 {
-  width: 34%;
-}
-.bar35 {
-  width: 35%;
-}
-.bar36 {
-  width: 36%;
-}
-.bar37 {
-  width: 37%;
-}
-.bar38 {
-  width: 38%;
-}
-.bar39 {
-  width: 39%;
-}
-.bar40 {
-  width: 40%;
-}
-.bar41 {
-  width: 41%;
-}
-.bar42 {
-  width: 42%;
-}
-.bar43 {
-  width: 43%;
-}
-.bar44 {
-  width: 44%;
-}
-.bar45 {
-  width: 45%;
-}
-.bar46 {
-  width: 46%;
-}
-.bar47 {
-  width: 47%;
-}
-.bar48 {
-  width: 48%;
-}
-.bar49 {
-  width: 49%;
-}
-.bar50 {
-  width: 50%;
-}
-.bar51 {
-  width: 51%;
-}
-.bar52 {
-  width: 52%;
-}
-.bar53 {
-  width: 53%;
-}
-.bar54 {
-  width: 54%;
-}
-.bar55 {
-  width: 55%;
-}
-.bar56 {
-  width: 56%;
-}
-.bar57 {
-  width: 57%;
-}
-.bar58 {
-  width: 58%;
-}
-.bar59 {
-  width: 59%;
-}
-.bar60 {
-  width: 60%;
-}
-.bar61 {
-  width: 61%;
-}
-.bar62 {
-  width: 62%;
-}
-.bar63 {
-  width: 63%;
-}
-.bar64 {
-  width: 64%;
-}
-.bar65 {
-  width: 65%;
-}
-.bar66 {
-  width: 66%;
-}
-.bar67 {
-  width: 67%;
-}
-.bar68 {
-  width: 68%;
-}
-.bar69 {
-  width: 69%;
-}
-.bar70 {
-  width: 70%;
-}
-.bar71 {
-  width: 71%;
-}
-.bar72 {
-  width: 72%;
-}
-.bar73 {
-  width: 73%;
-}
-.bar74 {
-  width: 74%;
-}
-.bar75 {
-  width: 75%;
-}
-.bar76 {
-  width: 76%;
-}
-.bar77 {
-  width: 77%;
-}
-.bar78 {
-  width: 78%;
-}
-.bar79 {
-  width: 79%;
-}
-.bar80 {
-  width: 80%;
-}
-.bar81 {
-  width: 81%;
-}
-.bar82 {
-  width: 82%;
-}
-.bar83 {
-  width: 83%;
-}
-.bar84 {
-  width: 84%;
-}
-.bar85 {
-  width: 85%;
-}
-.bar86 {
-  width: 86%;
-}
-.bar87 {
-  width: 87%;
-}
-.bar88 {
-  width: 88%;
-}
-.bar89 {
-  width: 89%;
-}
-.bar90 {
-  width: 90%;
-}
-.bar91 {
-  width: 91%;
-}
-.bar92 {
-  width: 92%;
-}
-.bar93 {
-  width: 93%;
-}
-.bar94 {
-  width: 94%;
-}
-.bar95 {
-  width: 95%;
-}
-.bar96 {
-  width: 96%;
-}
-.bar97 {
-  width: 97%;
-}
-.bar98 {
-  width: 98%;
-}
-.bar99 {
-  width: 99%;
-}
-.bar100 {
-  width: 100%;
-}
-.osm-map-box {
-  height: 300px;
-  width: 100%;
-  margin: 10px 0;
-}
-/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
-
-/* Document
-   ========================================================================== */
-
-/**
- * 1. Correct the line height in all browsers.
- * 2. Prevent adjustments of font size after orientation changes in iOS.
- */
-
-html {
-  line-height: 1.15; /* 1 */
-  -webkit-text-size-adjust: 100%; /* 2 */
-}
-
-/* Sections
-   ========================================================================== */
-
-/**
- * Remove the margin in all browsers.
- */
-
-body {
-  margin: 0;
-}
-
-/**
- * Render the `main` element consistently in IE.
- */
-
-main {
-  display: block;
-}
-
-/**
- * Correct the font size and margin on `h1` elements within `section` and
- * `article` contexts in Chrome, Firefox, and Safari.
- */
-
-h1 {
-  font-size: 2em;
-  margin: 0.67em 0;
-}
-
-/* Grouping content
-   ========================================================================== */
-
-/**
- * 1. Add the correct box sizing in Firefox.
- * 2. Show the overflow in Edge and IE.
- */
-
-hr {
-  box-sizing: content-box; /* 1 */
-  height: 0; /* 1 */
-  overflow: visible; /* 2 */
-}
-
-/**
- * 1. Correct the inheritance and scaling of font size in all browsers.
- * 2. Correct the odd `em` font sizing in all browsers.
- */
-
-pre {
-  font-family: monospace, monospace; /* 1 */
-  font-size: 1em; /* 2 */
-}
-
-/* Text-level semantics
-   ========================================================================== */
-
-/**
- * Remove the gray background on active links in IE 10.
- */
-
-a {
-  background-color: transparent;
-}
-
-/**
- * 1. Remove the bottom border in Chrome 57-
- * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
- */
-
-abbr[title] {
-  border-bottom: none; /* 1 */
-  text-decoration: underline; /* 2 */
-  text-decoration: underline dotted; /* 2 */
-}
-
-/**
- * Add the correct font weight in Chrome, Edge, and Safari.
- */
-
-b,
-strong {
-  font-weight: bolder;
-}
-
-/**
- * 1. Correct the inheritance and scaling of font size in all browsers.
- * 2. Correct the odd `em` font sizing in all browsers.
- */
-
-code,
-kbd,
-samp {
-  font-family: monospace, monospace; /* 1 */
-  font-size: 1em; /* 2 */
-}
-
-/**
- * Add the correct font size in all browsers.
- */
-
-small {
-  font-size: 80%;
-}
-
-/**
- * Prevent `sub` and `sup` elements from affecting the line height in
- * all browsers.
- */
-
-sub,
-sup {
-  font-size: 75%;
-  line-height: 0;
-  position: relative;
-  vertical-align: baseline;
-}
-
-sub {
-  bottom: -0.25em;
-}
-
-sup {
-  top: -0.5em;
-}
-
-/* Embedded content
-   ========================================================================== */
-
-/**
- * Remove the border on images inside links in IE 10.
- */
-
-img {
-  border-style: none;
-}
-
-/* Forms
-   ========================================================================== */
-
-/**
- * 1. Change the font styles in all browsers.
- * 2. Remove the margin in Firefox and Safari.
- */
-
-button,
-input,
-optgroup,
-select,
-textarea {
-  font-family: inherit; /* 1 */
-  font-size: 100%; /* 1 */
-  line-height: 1.15; /* 1 */
-  margin: 0; /* 2 */
-}
-
-/**
- * Show the overflow in IE.
- * 1. Show the overflow in Edge.
- */
-
-button,
-input { /* 1 */
-  overflow: visible;
-}
-
-/**
- * Remove the inheritance of text transform in Edge, Firefox, and IE.
- * 1. Remove the inheritance of text transform in Firefox.
- */
-
-button,
-select { /* 1 */
-  text-transform: none;
-}
-
-/**
- * Correct the inability to style clickable types in iOS and Safari.
- */
-
-button,
-[type="button"],
-[type="reset"],
-[type="submit"] {
-  -webkit-appearance: button;
-}
-
-/**
- * Remove the inner border and padding in Firefox.
- */
-
-button::-moz-focus-inner,
-[type="button"]::-moz-focus-inner,
-[type="reset"]::-moz-focus-inner,
-[type="submit"]::-moz-focus-inner {
-  border-style: none;
-  padding: 0;
-}
-
-/**
- * Restore the focus styles unset by the previous rule.
- */
-
-button:-moz-focusring,
-[type="button"]:-moz-focusring,
-[type="reset"]:-moz-focusring,
-[type="submit"]:-moz-focusring {
-  outline: 1px dotted ButtonText;
-}
-
-/**
- * Correct the padding in Firefox.
- */
-
-fieldset {
-  padding: 0.35em 0.75em 0.625em;
-}
-
-/**
- * 1. Correct the text wrapping in Edge and IE.
- * 2. Correct the color inheritance from `fieldset` elements in IE.
- * 3. Remove the padding so developers are not caught out when they zero out
- *    `fieldset` elements in all browsers.
- */
-
-legend {
-  box-sizing: border-box; /* 1 */
-  color: inherit; /* 2 */
-  display: table; /* 1 */
-  max-width: 100%; /* 1 */
-  padding: 0; /* 3 */
-  white-space: normal; /* 1 */
-}
-
-/**
- * Add the correct vertical alignment in Chrome, Firefox, and Opera.
- */
-
-progress {
-  vertical-align: baseline;
-}
-
-/**
- * Remove the default vertical scrollbar in IE 10+.
- */
-
-textarea {
-  overflow: auto;
-}
-
-/**
- * 1. Add the correct box sizing in IE 10.
- * 2. Remove the padding in IE 10.
- */
-
-[type="checkbox"],
-[type="radio"] {
-  box-sizing: border-box; /* 1 */
-  padding: 0; /* 2 */
-}
-
-/**
- * Correct the cursor style of increment and decrement buttons in Chrome.
- */
-
-[type="number"]::-webkit-inner-spin-button,
-[type="number"]::-webkit-outer-spin-button {
-  height: auto;
-}
-
-/**
- * 1. Correct the odd appearance in Chrome and Safari.
- * 2. Correct the outline style in Safari.
- */
-
-[type="search"] {
-  -webkit-appearance: textfield; /* 1 */
-  outline-offset: -2px; /* 2 */
-}
-
-/**
- * Remove the inner padding in Chrome and Safari on macOS.
- */
-
-[type="search"]::-webkit-search-decoration {
-  -webkit-appearance: none;
-}
-
-/**
- * 1. Correct the inability to style clickable types in iOS and Safari.
- * 2. Change font properties to `inherit` in Safari.
- */
-
-::-webkit-file-upload-button {
-  -webkit-appearance: button; /* 1 */
-  font: inherit; /* 2 */
-}
-
-/* Interactive
-   ========================================================================== */
-
-/*
- * Add the correct display in Edge, IE 10+, and Firefox.
- */
-
-details {
-  display: block;
-}
-
-/*
- * Add the correct display in all browsers.
- */
-
-summary {
-  display: list-item;
-}
-
-/* Misc
-   ========================================================================== */
-
-/**
- * Add the correct display in IE 10+.
- */
-
-template {
-  display: none;
-}
-
-/**
- * Add the correct display in IE 10.
- */
-
-[hidden] {
-  display: none;
-}
-
-/*
- * SearXNG, A privacy-respecting, hackable metasearch engine
- *
- * To change the colors of the site, simple edit this variables
- */
-:root {
-  --color-base-font: #444;
-  --color-base-font-rgb: 68, 68, 68;
-  --color-base-background: #fff;
-  --color-url-font: #29314d;
-  --color-url-visited-font: #80b;
-  --color-header-background: #f7f7f7;
-  --color-header-border: #ddd;
-  --color-footer-background: #f7f7f7;
-  --color-footer-border: #ddd;
-  --color-sidebar-border: #ddd;
-  --color-sidebar-font: #000;
-  --color-backtotop-font: #444;
-  --color-backtotop-border: #ddd;
-  --color-backtotop-background: #fff;
-  --color-btn-background: #3050ff;
-  --color-btn-font: #fff;
-  --color-search-border: #bbb;
-  --color-search-background: #fff;
-  --color-search-font: #222;
-  --color-search-background-hover: #3050ff;
-  --color-error: #db3434;
-  --color-error-background: #fae1e1;
-  --color-warning: #dbba34;
-  --color-warning-background: #faf5e1;
-  --color-success: #42db34;
-  --color-success-background: #e3fae1;
-  --color-categories-item-selected-font: #3050ff;
-  --color-categories-item-border-selected: #3050ff;
-  --color-autocomplete-font: #000;
-  --color-autocomplete-border: #bbb;
-  --color-autocomplete-background: #fff;
-  --color-autocomplete-background-hover: #f7f7f7;
-  --color-answer-border: #ddd;
-  --color-answer-font: #444;
-  --color-answer-background: #f7f7f7;
-  --color-result-border: #ddd;
-  --color-result-url-font: #000;
-  --color-result-vim-selected: #f7f7f7;
-  --color-result-vim-arrow: #000bbb;
-  --color-result-description-highlight-font: #000;
-  --color-result-link-font: #000bbb;
-  --color-result-link-font-highlight: #000bbb;
-  --color-result-link-visited-font: #80b;
-  --color-result-publishdate-font: #777;
-  --color-result-engines-font: #777;
-  --color-result-search-url-border: #ddd;
-  --color-result-search-url-font: #000;
-  --color-result-image-span-background-hover: rgba(0, 0, 0, 0.6);
-  --color-result-image-span-font: #fff;
-  --color-result-image-background: #fff;
-  --color-settings-tr-hover: #f7f7f7;
-  --color-settings-engine-description-font: #909090;
-  --color-result-detail-font: #fff;
-  --color-result-detail-label-font: lightgray;
-  --color-result-detail-background: #000;
-  --color-result-detail-hr: #555;
-  --color-result-detail-link: #8af;
-  --color-result-detail-loader-border: rgba(255, 255, 255, 0.2);
-  --color-result-detail-loader-borderleft: rgba(0, 0, 0, 0);
-  --color-toolkit-badge-font: #fff;
-  --color-toolkit-badge-background: #777;
-  --color-toolkit-kbd-font: #fff;
-  --color-toolkit-kbd-background: #000;
-  --color-toolkit-dialog-border: #ddd;
-  --color-toolkit-dialog-background: #fff;
-  --color-toolkit-tabs-label-border: #fff;
-  --color-toolkit-tabs-section-border: #ddd;
-  --color-toolkit-select-background: #f7f7f7;
-  --color-toolkit-select-border: #ddd;
-  --color-toolkit-select-background-hover: #bbb;
-  --color-toolkit-input-text-font: #222;
-  --color-toolkit-checkbox-onoff-background: #ddd;
-  --color-toolkit-checkbox-onoff-label-background: #3050ff;
-  --color-toolkit-checkbox-onoff-checked-background: #aaa;
-  --color-toolkit-checkbox-label-background: #fff;
-  --color-toolkit-checkbox-label-border: #ddd;
-  --color-toolkit-checkbox-input-border: #3050ff;
-  --color-toolkit-engine-tooltip-border: #ddd;
-  --color-toolkit-engine-tooltip-background: #fff;
-  --color-toolkit-loader-border: rgba(0, 0, 0, 0.2);
-  --color-toolkit-loader-borderleft: rgba(255, 255, 255, 0);
-}
-@media (prefers-color-scheme: dark) {
-  :root.theme-auto {
-    --color-base-font: #bbb;
-    --color-base-font-rgb: 187, 187, 187;
-    --color-base-background: #222;
-    --color-url-font: #8af;
-    --color-url-visited-font: #96b;
-    --color-header-background: #181818;
-    --color-header-border: #333;
-    --color-footer-background: #181818;
-    --color-footer-border: #333;
-    --color-sidebar-border: #555;
-    --color-sidebar-font: #fff;
-    --color-backtotop-font: #bbb;
-    --color-backtotop-border: #333;
-    --color-backtotop-background: #181818;
-    --color-btn-background: #58f;
-    --color-btn-font: #222;
-    --color-search-border: #555;
-    --color-search-background: #222;
-    --color-search-font: #fff;
-    --color-search-background-hover: #58f;
-    --color-error: #f55b5b;
-    --color-error-background: #390a0a;
-    --color-warning: #f1d561;
-    --color-warning-background: #39300a;
-    --color-success: #79f56e;
-    --color-success-background: #0e390a;
-    --color-categories-item-selected-font: #58f;
-    --color-categories-item-border-selected: #58f;
-    --color-autocomplete-font: #fff;
-    --color-autocomplete-border: #555;
-    --color-autocomplete-background: #222;
-    --color-autocomplete-background-hover: #181818;
-    --color-answer-border: #333;
-    --color-answer-font: #bbb;
-    --color-answer-background: #181818;
-    --color-result-border: #333;
-    --color-result-url-font: #fff;
-    --color-result-vim-selected: #181818;
-    --color-result-vim-arrow: #8af;
-    --color-result-description-highlight-font: #fff;
-    --color-result-link-font: #8af;
-    --color-result-link-font-highlight: #8af;
-    --color-result-link-visited-font: #96b;
-    --color-result-publishdate-font: #888;
-    --color-result-engines-font: #888;
-    --color-result-search-url-border: #555;
-    --color-result-search-url-font: #fff;
-    --color-result-detail-font: #fff;
-    --color-result-detail-label-font: lightgray;
-    --color-result-detail-background: #000;
-    --color-result-detail-hr: #555;
-    --color-result-detail-link: #8af;
-    --color-result-detail-loader-border: rgba(255, 255, 255, 0.2);
-    --color-result-detail-loader-borderleft: rgba(0, 0, 0, 0);
-    --color-result-image-span-background-hover: rgba(0, 0, 0, 0.6);
-    --color-result-image-span-font: #fff;
-    --color-result-image-background: #222;
-    --color-settings-tr-hover: #2d2d2d;
-    --color-settings-engine-description-font: #909090;
-    --color-toolkit-badge-font: #fff;
-    --color-toolkit-badge-background: #777;
-    --color-toolkit-kbd-font: #000;
-    --color-toolkit-kbd-background: #fff;
-    --color-toolkit-dialog-border: #555;
-    --color-toolkit-dialog-background: #222;
-    --color-toolkit-tabs-label-border: #222;
-    --color-toolkit-tabs-section-border: #555;
-    --color-toolkit-select-background: #3c3b31;
-    --color-toolkit-select-border: #555;
-    --color-toolkit-select-background-hover: #333;
-    --color-toolkit-input-text-font: #fff;
-    --color-toolkit-checkbox-onoff-background: #3c3b31;
-    --color-toolkit-checkbox-onoff-label-background: #58f;
-    --color-toolkit-checkbox-onoff-checked-background: #ddd;
-    --color-toolkit-checkbox-label-background: #fff;
-    --color-toolkit-checkbox-label-border: #333;
-    --color-toolkit-checkbox-input-border: #58f;
-    --color-toolkit-engine-tooltip-border: #333;
-    --color-toolkit-engine-tooltip-background: #222;
-    --color-toolkit-loader-border: rgba(255, 255, 255, 0.2);
-    --color-toolkit-loader-borderleft: rgba(0, 0, 0, 0);
-  }
-}
-:root.theme-dark {
-  --color-base-font: #bbb;
-  --color-base-font-rgb: 187, 187, 187;
-  --color-base-background: #222;
-  --color-url-font: #8af;
-  --color-url-visited-font: #96b;
-  --color-header-background: #181818;
-  --color-header-border: #333;
-  --color-footer-background: #181818;
-  --color-footer-border: #333;
-  --color-sidebar-border: #555;
-  --color-sidebar-font: #fff;
-  --color-backtotop-font: #bbb;
-  --color-backtotop-border: #333;
-  --color-backtotop-background: #181818;
-  --color-btn-background: #58f;
-  --color-btn-font: #222;
-  --color-search-border: #555;
-  --color-search-background: #222;
-  --color-search-font: #fff;
-  --color-search-background-hover: #58f;
-  --color-error: #f55b5b;
-  --color-error-background: #390a0a;
-  --color-warning: #f1d561;
-  --color-warning-background: #39300a;
-  --color-success: #79f56e;
-  --color-success-background: #0e390a;
-  --color-categories-item-selected-font: #58f;
-  --color-categories-item-border-selected: #58f;
-  --color-autocomplete-font: #fff;
-  --color-autocomplete-border: #555;
-  --color-autocomplete-background: #222;
-  --color-autocomplete-background-hover: #181818;
-  --color-answer-border: #333;
-  --color-answer-font: #bbb;
-  --color-answer-background: #181818;
-  --color-result-border: #333;
-  --color-result-url-font: #fff;
-  --color-result-vim-selected: #181818;
-  --color-result-vim-arrow: #8af;
-  --color-result-description-highlight-font: #fff;
-  --color-result-link-font: #8af;
-  --color-result-link-font-highlight: #8af;
-  --color-result-link-visited-font: #96b;
-  --color-result-publishdate-font: #888;
-  --color-result-engines-font: #888;
-  --color-result-search-url-border: #555;
-  --color-result-search-url-font: #fff;
-  --color-result-detail-font: #fff;
-  --color-result-detail-label-font: lightgray;
-  --color-result-detail-background: #000;
-  --color-result-detail-hr: #555;
-  --color-result-detail-link: #8af;
-  --color-result-detail-loader-border: rgba(255, 255, 255, 0.2);
-  --color-result-detail-loader-borderleft: rgba(0, 0, 0, 0);
-  --color-result-image-span-background-hover: rgba(0, 0, 0, 0.6);
-  --color-result-image-span-font: #fff;
-  --color-result-image-background: #222;
-  --color-settings-tr-hover: #2d2d2d;
-  --color-settings-engine-description-font: #909090;
-  --color-toolkit-badge-font: #fff;
-  --color-toolkit-badge-background: #777;
-  --color-toolkit-kbd-font: #000;
-  --color-toolkit-kbd-background: #fff;
-  --color-toolkit-dialog-border: #555;
-  --color-toolkit-dialog-background: #222;
-  --color-toolkit-tabs-label-border: #222;
-  --color-toolkit-tabs-section-border: #555;
-  --color-toolkit-select-background: #3c3b31;
-  --color-toolkit-select-border: #555;
-  --color-toolkit-select-background-hover: #333;
-  --color-toolkit-input-text-font: #fff;
-  --color-toolkit-checkbox-onoff-background: #3c3b31;
-  --color-toolkit-checkbox-onoff-label-background: #58f;
-  --color-toolkit-checkbox-onoff-checked-background: #ddd;
-  --color-toolkit-checkbox-label-background: #fff;
-  --color-toolkit-checkbox-label-border: #333;
-  --color-toolkit-checkbox-input-border: #58f;
-  --color-toolkit-engine-tooltip-border: #333;
-  --color-toolkit-engine-tooltip-background: #222;
-  --color-toolkit-loader-border: rgba(255, 255, 255, 0.2);
-  --color-toolkit-loader-borderleft: rgba(0, 0, 0, 0);
-}
-/*
-* SearXNG, A privacy-respecting, hackable metasearch engine
-*/
-.code-highlight pre {
-  overflow: auto;
-  background-color: inherit;
-  color: inherit;
-  border: inherit;
-}
-/*
-   this file is generated automatically by searxng_extra/update/update_pygments.py
-   using pygments version 2.10.0
-*/
-.code-highlight .linenos {
-  -webkit-touch-callout: none;
-  -webkit-user-select: none;
-  -khtml-user-select: none;
-  -moz-user-select: none;
-  -ms-user-select: none;
-  user-select: none;
-  cursor: default;
-  margin-right: 8px;
-  text-align: right;
-}
-.code-highlight .linenos::selection {
-  background: transparent;
-  /* WebKit/Blink Browsers */
-}
-.code-highlight .linenos::-moz-selection {
-  background: transparent;
-  /* Gecko Browsers */
-}
-.code-highlight pre {
-  line-height: 125%;
-}
-.code-highlight td.linenos .normal {
-  color: inherit;
-  background-color: transparent;
-  padding-left: 5px;
-  padding-right: 5px;
-}
-.code-highlight span.linenos {
-  color: inherit;
-  background-color: transparent;
-  padding-left: 5px;
-  padding-right: 5px;
-}
-.code-highlight td.linenos .special {
-  color: #000000;
-  background-color: #ffffc0;
-  padding-left: 5px;
-  padding-right: 5px;
-}
-.code-highlight span.linenos.special {
-  color: #000000;
-  background-color: #ffffc0;
-  padding-left: 5px;
-  padding-right: 5px;
-}
-.code-highlight .hll {
-  background-color: #ffffcc;
-}
-.code-highlight {
-  background: #f8f8f8;
-}
-.code-highlight .c {
-  color: #408080;
-  font-style: italic;
-}
-/* Comment */
-.code-highlight .err {
-  border: 1px solid #FF0000;
-}
-/* Error */
-.code-highlight .k {
-  color: #008000;
-  font-weight: bold;
-}
-/* Keyword */
-.code-highlight .o {
-  color: #666666;
-}
-/* Operator */
-.code-highlight .ch {
-  color: #408080;
-  font-style: italic;
-}
-/* Comment.Hashbang */
-.code-highlight .cm {
-  color: #408080;
-  font-style: italic;
-}
-/* Comment.Multiline */
-.code-highlight .cp {
-  color: #BC7A00;
-}
-/* Comment.Preproc */
-.code-highlight .cpf {
-  color: #408080;
-  font-style: italic;
-}
-/* Comment.PreprocFile */
-.code-highlight .c1 {
-  color: #408080;
-  font-style: italic;
-}
-/* Comment.Single */
-.code-highlight .cs {
-  color: #408080;
-  font-style: italic;
-}
-/* Comment.Special */
-.code-highlight .gd {
-  color: #A00000;
-}
-/* Generic.Deleted */
-.code-highlight .ge {
-  font-style: italic;
-}
-/* Generic.Emph */
-.code-highlight .gr {
-  color: #FF0000;
-}
-/* Generic.Error */
-.code-highlight .gh {
-  color: #000080;
-  font-weight: bold;
-}
-/* Generic.Heading */
-.code-highlight .gi {
-  color: #00A000;
-}
-/* Generic.Inserted */
-.code-highlight .go {
-  color: #888888;
-}
-/* Generic.Output */
-.code-highlight .gp {
-  color: #000080;
-  font-weight: bold;
-}
-/* Generic.Prompt */
-.code-highlight .gs {
-  font-weight: bold;
-}
-/* Generic.Strong */
-.code-highlight .gu {
-  color: #800080;
-  font-weight: bold;
-}
-/* Generic.Subheading */
-.code-highlight .gt {
-  color: #0044DD;
-}
-/* Generic.Traceback */
-.code-highlight .kc {
-  color: #008000;
-  font-weight: bold;
-}
-/* Keyword.Constant */
-.code-highlight .kd {
-  color: #008000;
-  font-weight: bold;
-}
-/* Keyword.Declaration */
-.code-highlight .kn {
-  color: #008000;
-  font-weight: bold;
-}
-/* Keyword.Namespace */
-.code-highlight .kp {
-  color: #008000;
-}
-/* Keyword.Pseudo */
-.code-highlight .kr {
-  color: #008000;
-  font-weight: bold;
-}
-/* Keyword.Reserved */
-.code-highlight .kt {
-  color: #B00040;
-}
-/* Keyword.Type */
-.code-highlight .m {
-  color: #666666;
-}
-/* Literal.Number */
-.code-highlight .s {
-  color: #BA2121;
-}
-/* Literal.String */
-.code-highlight .na {
-  color: #7D9029;
-}
-/* Name.Attribute */
-.code-highlight .nb {
-  color: #008000;
-}
-/* Name.Builtin */
-.code-highlight .nc {
-  color: #0000FF;
-  font-weight: bold;
-}
-/* Name.Class */
-.code-highlight .no {
-  color: #880000;
-}
-/* Name.Constant */
-.code-highlight .nd {
-  color: #AA22FF;
-}
-/* Name.Decorator */
-.code-highlight .ni {
-  color: #999999;
-  font-weight: bold;
-}
-/* Name.Entity */
-.code-highlight .ne {
-  color: #D2413A;
-  font-weight: bold;
-}
-/* Name.Exception */
-.code-highlight .nf {
-  color: #0000FF;
-}
-/* Name.Function */
-.code-highlight .nl {
-  color: #A0A000;
-}
-/* Name.Label */
-.code-highlight .nn {
-  color: #0000FF;
-  font-weight: bold;
-}
-/* Name.Namespace */
-.code-highlight .nt {
-  color: #008000;
-  font-weight: bold;
-}
-/* Name.Tag */
-.code-highlight .nv {
-  color: #19177C;
-}
-/* Name.Variable */
-.code-highlight .ow {
-  color: #AA22FF;
-  font-weight: bold;
-}
-/* Operator.Word */
-.code-highlight .w {
-  color: #bbbbbb;
-}
-/* Text.Whitespace */
-.code-highlight .mb {
-  color: #666666;
-}
-/* Literal.Number.Bin */
-.code-highlight .mf {
-  color: #666666;
-}
-/* Literal.Number.Float */
-.code-highlight .mh {
-  color: #666666;
-}
-/* Literal.Number.Hex */
-.code-highlight .mi {
-  color: #666666;
-}
-/* Literal.Number.Integer */
-.code-highlight .mo {
-  color: #666666;
-}
-/* Literal.Number.Oct */
-.code-highlight .sa {
-  color: #BA2121;
-}
-/* Literal.String.Affix */
-.code-highlight .sb {
-  color: #BA2121;
-}
-/* Literal.String.Backtick */
-.code-highlight .sc {
-  color: #BA2121;
-}
-/* Literal.String.Char */
-.code-highlight .dl {
-  color: #BA2121;
-}
-/* Literal.String.Delimiter */
-.code-highlight .sd {
-  color: #BA2121;
-  font-style: italic;
-}
-/* Literal.String.Doc */
-.code-highlight .s2 {
-  color: #BA2121;
-}
-/* Literal.String.Double */
-.code-highlight .se {
-  color: #BB6622;
-  font-weight: bold;
-}
-/* Literal.String.Escape */
-.code-highlight .sh {
-  color: #BA2121;
-}
-/* Literal.String.Heredoc */
-.code-highlight .si {
-  color: #BB6688;
-  font-weight: bold;
-}
-/* Literal.String.Interpol */
-.code-highlight .sx {
-  color: #008000;
-}
-/* Literal.String.Other */
-.code-highlight .sr {
-  color: #BB6688;
-}
-/* Literal.String.Regex */
-.code-highlight .s1 {
-  color: #BA2121;
-}
-/* Literal.String.Single */
-.code-highlight .ss {
-  color: #19177C;
-}
-/* Literal.String.Symbol */
-.code-highlight .bp {
-  color: #008000;
-}
-/* Name.Builtin.Pseudo */
-.code-highlight .fm {
-  color: #0000FF;
-}
-/* Name.Function.Magic */
-.code-highlight .vc {
-  color: #19177C;
-}
-/* Name.Variable.Class */
-.code-highlight .vg {
-  color: #19177C;
-}
-/* Name.Variable.Global */
-.code-highlight .vi {
-  color: #19177C;
-}
-/* Name.Variable.Instance */
-.code-highlight .vm {
-  color: #19177C;
-}
-/* Name.Variable.Magic */
-.code-highlight .il {
-  color: #666666;
-}
-/* Literal.Number.Integer.Long */
-html.no-js .hide_if_nojs {
-  display: none;
-}
-html.js .show_if_nojs {
-  display: none;
-}
-.center {
-  text-align: center;
-}
-.right {
-  float: right;
-}
-.left {
-  float: left;
-}
-.invisible {
-  display: none !important;
-}
-.list-unstyled {
-  list-style-type: none;
-}
-.list-unstyled li {
-  margin-top: 4px;
-  margin-bottom: 4px;
-}
-.danger {
-  background-color: var(--color-error-background);
-}
-.warning {
-  background: var(--color-warning-background);
-}
-.success {
-  background: var(--color-success-background);
-}
-.badge {
-  display: inline-block;
-  color: var(--color-toolkit-badge-font);
-  background-color: var(--color-toolkit-badge-background);
-  text-align: center;
-  white-space: nowrap;
-  vertical-align: baseline;
-  min-width: 10px;
-  padding: 1px 5px;
-  border-radius: 5px;
-}
-kbd {
-  padding: 2px 4px;
-  margin: 1px;
-  font-size: 90%;
-  color: var(--color-toolkit-kbd-font);
-  background: var(--color-toolkit-kbd-background);
-}
-table {
-  width: 100%;
-}
-table.striped tr {
-  border-bottom: 1px solid var(--color-settings-tr-hover);
-}
-th {
-  padding: 0.4em;
-}
-td {
-  padding: 0 4px;
-}
-tr:hover {
-  background: var(--color-settings-tr-hover) !important;
-}
-div.selectable_url {
-  display: block;
-  border: 1px solid var(--color-result-search-url-border);
-  padding: 4px;
-  color: var(--color-result-search-url-font);
-  margin: 0.1em;
-  overflow: hidden;
-  height: 1.2em;
-  line-height: 1.2em;
-  border-radius: 5px;
-}
-div.selectable_url pre {
-  display: block;
-  font-size: 0.8em;
-  word-break: break-all;
-  margin: 0.1em;
-  -webkit-user-select: all;
-  -moz-user-select: all;
-  -ms-user-select: element;
-  user-select: all;
-}
-.dialog-error {
-  position: relative;
-  display: flex;
-  padding: 1rem;
-  margin: 0 0 1em 0;
-  border: 1px solid var(--color-toolkit-dialog-border);
-  text-align: left;
-  border-radius: 10px;
-  color: var(--color-error);
-  background: var(--color-error-background);
-  border-color: var(--color-error);
-}
-.dialog-error .close {
-  float: right;
-  position: relative;
-  top: -3px;
-  color: inherit;
-  font-size: 1.5em;
-}
-.dialog-error ul,
-.dialog-error ol,
-.dialog-error p {
-  margin: 1px 0 0 0;
-}
-.dialog-error table {
-  width: auto;
-}
-.dialog-error tr {
-  vertical-align: text-top;
-}
-.dialog-error tr:hover {
-  background: transparent !important;
-}
-.dialog-error td {
-  padding: 0 1em 0 0;
-}
-.dialog-error h4 {
-  margin-top: 0.3em;
-  margin-bottom: 0.3em;
-}
-.dialog-warning {
-  position: relative;
-  display: flex;
-  padding: 1rem;
-  margin: 0 0 1em 0;
-  border: 1px solid var(--color-toolkit-dialog-border);
-  text-align: left;
-  border-radius: 10px;
-  color: var(--color-warning);
-  background: var(--color-warning-background);
-  border-color: var(--color-warning);
-}
-.dialog-warning .close {
-  float: right;
-  position: relative;
-  top: -3px;
-  color: inherit;
-  font-size: 1.5em;
-}
-.dialog-warning ul,
-.dialog-warning ol,
-.dialog-warning p {
-  margin: 1px 0 0 0;
-}
-.dialog-warning table {
-  width: auto;
-}
-.dialog-warning tr {
-  vertical-align: text-top;
-}
-.dialog-warning tr:hover {
-  background: transparent !important;
-}
-.dialog-warning td {
-  padding: 0 1em 0 0;
-}
-.dialog-warning h4 {
-  margin-top: 0.3em;
-  margin-bottom: 0.3em;
-}
-.dialog-modal {
-  position: relative;
-  display: flex;
-  padding: 1rem;
-  margin: 0 0 1em 0;
-  border: 1px solid var(--color-toolkit-dialog-border);
-  text-align: left;
-  border-radius: 10px;
-  display: block;
-  background: var(--color-toolkit-dialog-background);
-  position: fixed;
-  top: 50%;
-  left: 50%;
-  margin: 0 auto;
-  transform: translate(-50%, -50%);
-  z-index: 10000000;
-}
-.dialog-modal .close {
-  float: right;
-  position: relative;
-  top: -3px;
-  color: inherit;
-  font-size: 1.5em;
-}
-.dialog-modal ul,
-.dialog-modal ol,
-.dialog-modal p {
-  margin: 1px 0 0 0;
-}
-.dialog-modal table {
-  width: auto;
-}
-.dialog-modal tr {
-  vertical-align: text-top;
-}
-.dialog-modal tr:hover {
-  background: transparent !important;
-}
-.dialog-modal td {
-  padding: 0 1em 0 0;
-}
-.dialog-modal h4 {
-  margin-top: 0.3em;
-  margin-bottom: 0.3em;
-}
-.dialog-modal h3 {
-  margin-top: 0;
-}
-.btn-collapse {
-  cursor: pointer;
-}
-.scrollx {
-  overflow-x: auto;
-  overflow-y: hidden;
-  display: block;
-  padding: 0;
-  margin: 0;
-  border: none;
-}
-/* -- tabs -- */
-.tabs .tabs > label {
-  font-size: 90%;
-}
-.tabs {
-  display: -webkit-box;
-  display: -moz-box;
-  display: -webkit-flex;
-  display: -ms-flexbox;
-  display: flex;
-  flex-wrap: wrap;
-  width: 100%;
-  min-width: 100%;
-}
-.tabs > * {
-  order: 2;
-}
-.tabs > input[type=radio] {
-  display: none;
-}
-.tabs > label {
-  order: 1;
-  padding: 0.7em;
-  margin: 0 0.7em;
-  letter-spacing: 0.5px;
-  text-transform: uppercase;
-  border: solid var(--color-toolkit-tabs-label-border);
-  border-width: 0 0 2px 0;
-  -webkit-touch-callout: none;
-  -webkit-user-select: none;
-  -khtml-user-select: none;
-  -moz-user-select: none;
-  -ms-user-select: none;
-  user-select: none;
-  cursor: pointer;
-}
-.tabs > label:hover {
-  border-bottom: 2px solid var(--color-categories-item-border-selected);
-}
-.tabs > section {
-  min-width: 100%;
-  padding: 0.7rem 0;
-  box-sizing: border-box;
-  border-top: 1px solid var(--color-toolkit-tabs-section-border);
-  display: none;
-}
-.tabs > label:last-of-type {
-  border-bottom: 2px solid var(--color-categories-item-border-selected);
-  background: var(--color-categories-item-selected);
-  color: var(--color-categories-item-selected-font);
-  letter-spacing: -0.1px;
-}
-.tabs > section:last-of-type {
-  display: block;
-}
-html body .tabs > input:checked ~ section {
-  display: none;
-}
-html body .tabs > input:checked ~ label {
-  position: inherited;
-  background: inherit;
-  border-bottom: 2px solid transparent;
-  font-weight: normal;
-  color: inherit;
-}
-html body .tabs > input:checked ~ label:hover {
-  border-bottom: 2px solid var(--color-categories-item-border-selected);
-}
-html body .tabs > input:checked + label {
-  border-bottom: 2px solid var(--color-categories-item-border-selected);
-  background: var(--color-categories-item-selected);
-  color: var(--color-categories-item-selected-font);
-}
-html body .tabs > input:checked + label + section {
-  display: block;
-}
-/* -- select -- */
-select {
-  height: 2.4rem;
-  margin: 0 1rem 0 0;
-  padding: 0.2rem !important;
-  color: var(--color-search-font);
-  font-size: 0.9rem;
-  z-index: 2;
-}
-select:hover,
-select:focus {
-  cursor: pointer;
-}
-@supports ((background-position-x: 100%) and ((appearance: none) or (-webkit-appearance: none) or (-moz-appearance: none))) {
-  select {
-    appearance: none;
-    -webkit-appearance: none;
-    -moz-appearance: none;
-    border-width: 0 2rem 0 0;
-    border-color: transparent;
-    background: url("data:image/svg+xml;charset=UTF-8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%0A%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22512%22%20height%3D%22512%22%20viewBox%3D%220%200%20512%20512%22%3E%0A%3Cg%3E%3Cpolygon%20points%3D%22128%2C192%20256%2C320%20384%2C192%22%2F%3E%3C%2Fg%3E%0A%3C%2Fsvg%3E") no-repeat;
-    background-position-x: calc(100% + 2rem);
-    background-size: 2rem;
-    background-origin: content-box;
-    background-color: var(--color-toolkit-select-background);
-    outline: medium none;
-    text-overflow: ellipsis;
-    border-radius: 5px;
-  }
-  select:hover,
-  select:focus {
-    background-color: var(--color-toolkit-select-background-hover);
-  }
-  select option {
-    background-color: var(--color-base-background);
-  }
-  @media (prefers-color-scheme: dark) {
-    html.theme-auto select,
-    html.theme-dark select {
-      background-image: url("data:image/svg+xml;charset=UTF-8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%0A%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22512%22%20height%3D%22512%22%20viewBox%3D%220%200%20512%20512%22%3E%0A%3Cg%3E%3Cpolygon%20fill%3D%22%23ddd%22%20points%3D%22128%2C192%20256%2C320%20384%2C192%22%2F%3E%3C%2Fg%3E%0A%3C%2Fsvg%3E");
-    }
-  }
-  html.theme-dark select {
-    background-image: url("data:image/svg+xml;charset=UTF-8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%0A%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22512%22%20height%3D%22512%22%20viewBox%3D%220%200%20512%20512%22%3E%0A%3Cg%3E%3Cpolygon%20fill%3D%22%23ddd%22%20points%3D%22128%2C192%20256%2C320%20384%2C192%22%2F%3E%3C%2Fg%3E%0A%3C%2Fsvg%3E");
-  }
-}
-/* -- checkbox-onoff -- */
-@supports (border-radius: 50px) {
-  .checkbox-onoff {
-    display: inline-block;
-    width: 40px;
-    height: 10px;
-    background: var(--color-toolkit-checkbox-onoff-background);
-    margin: 8px 1rem;
-    position: relative;
-    border-radius: 50px;
-  }
-  .checkbox-onoff label {
-    display: block;
-    width: 20px;
-    height: 20px;
-    position: absolute;
-    top: -5px;
-    cursor: pointer;
-    border-radius: 50px;
-    transition: all 0.4s ease;
-    left: 27px;
-    background-color: var(--color-toolkit-checkbox-onoff-label-background);
-  }
-  .checkbox-onoff input[type=checkbox] {
-    visibility: hidden;
-  }
-  .checkbox-onoff input[type=checkbox]:checked + label {
-    left: -5px;
-    background: var(--color-toolkit-checkbox-onoff-checked-background);
-  }
-}
-/* -- checkbox -- */
-@supports (transform: rotate(-45deg)) {
-  .checkbox {
-    width: 20px;
-    position: relative;
-    margin: 20px auto;
-  }
-  .checkbox label {
-    width: 20px;
-    height: 20px;
-    cursor: pointer;
-    position: absolute;
-    top: 0;
-    left: 0;
-    background: var(--color-toolkit-checkbox-label-background);
-    border-radius: 10px;
-  }
-  .checkbox label::after {
-    content: '';
-    width: 9px;
-    height: 5px;
-    position: absolute;
-    top: 4px;
-    left: 4px;
-    border: 3px solid var(--color-toolkit-checkbox-label-border);
-    border-top: none;
-    border-right: none;
-    background: transparent;
-    opacity: 0;
-    transform: rotate(-45deg);
-  }
-  .checkbox input[type=checkbox] {
-    visibility: hidden;
-  }
-  .checkbox input[type=checkbox]:checked + label::after {
-    border-color: var(--color-toolkit-checkbox-input-border);
-    opacity: 1;
-  }
-  .checkbox input[disabled] + label {
-    background-color: transparent !important;
-    cursor: inherit;
-  }
-  .checkbox input:not(:checked):not([readonly]):not([disabled]) + label:hover::after {
-    opacity: 0.5;
-  }
-}
-@media screen and (max-width: 50em) {
-  .tabs > label {
-    width: 100%;
-  }
-}
-/* -- loader -- */
-.loader,
-.loader::after {
-  border-radius: 50%;
-  width: 2em;
-  height: 2em;
-}
-.loader {
-  margin: 1em auto;
-  font-size: 10px;
-  position: relative;
-  text-indent: -9999em;
-  border-top: 0.5em solid var(--color-toolkit-loader-border);
-  border-right: 0.5em solid var(--color-toolkit-loader-border);
-  border-bottom: 0.5em solid var(--color-toolkit-loader-border);
-  border-left: 0.5em solid var(--color-toolkit-loader-borderleft);
-  -webkit-transform: translateZ(0);
-  -ms-transform: translateZ(0);
-  transform: translateZ(0);
-  -webkit-animation: load8 1.2s infinite linear;
-  animation: load8 1.2s infinite linear;
-}
-@-webkit-keyframes load8 {
-  0% {
-    -webkit-transform: rotate(0deg);
-    transform: rotate(0deg);
-  }
-  100% {
-    -webkit-transform: rotate(360deg);
-    transform: rotate(360deg);
-  }
-}
-@keyframes load8 {
-  0% {
-    -webkit-transform: rotate(0deg);
-    transform: rotate(0deg);
-  }
-  100% {
-    -webkit-transform: rotate(360deg);
-    transform: rotate(360deg);
-  }
-}
-/* -- engine-tooltip -- */
-.engine-tooltip {
-  display: none;
-  position: absolute;
-  padding: 0.5rem 1rem;
-  margin: 0 0 0 2rem;
-  border: 1px solid var(--color-toolkit-engine-tooltip-border);
-  background: var(--color-toolkit-engine-tooltip-background);
-  font-size: 14px;
-  font-weight: normal;
-  z-index: 1000000;
-  text-align: left;
-  border-radius: 10px;
-}
-th:hover .engine-tooltip,
-td:hover .engine-tooltip,
-.engine-tooltip:hover {
-  display: inline-block;
-}
-/* -- stacked bar chart -- */
-.stacked-bar-chart {
-  margin: 0;
-  padding: 0 0.125rem 0 4rem;
-  width: 100%;
-  width: -moz-available;
-  width: -webkit-fill-available;
-  width: fill;
-  flex-direction: row;
-  flex-wrap: nowrap;
-  align-items: center;
-  display: inline-flex;
-}
-.stacked-bar-chart-value {
-  width: 3rem;
-  display: inline-block;
-  position: absolute;
-  padding: 0 0.5rem;
-  text-align: right;
-}
-.stacked-bar-chart-base {
-  display: flex;
-  flex-shrink: 0;
-  flex-grow: 0;
-  flex-basis: unset;
-}
-.stacked-bar-chart-median {
-  display: flex;
-  flex-shrink: 0;
-  flex-grow: 0;
-  flex-basis: unset;
-  background: var(--color-base-font);
-  border: 1px solid rgba(var(--color-base-font-rgb), 0.9);
-  padding: 0.3rem 0;
-}
-.stacked-bar-chart-rate80 {
-  display: flex;
-  flex-shrink: 0;
-  flex-grow: 0;
-  flex-basis: unset;
-  background: transparent;
-  border: 1px solid rgba(var(--color-base-font-rgb), 0.3);
-  padding: 0.3rem 0;
-}
-.stacked-bar-chart-rate95 {
-  display: flex;
-  flex-shrink: 0;
-  flex-grow: 0;
-  flex-basis: unset;
-  background: transparent;
-  border-bottom: 1px dotted rgba(var(--color-base-font-rgb), 0.5);
-  padding: 0;
-}
-.stacked-bar-chart-rate100 {
-  display: flex;
-  flex-shrink: 0;
-  flex-grow: 0;
-  flex-basis: unset;
-  background: transparent;
-  border-left: 1px solid rgba(var(--color-base-font-rgb), 0.9);
-  padding: 0.4rem 0;
-  width: 1px;
-}
-/*! Autocomplete.js v2.6.3 | license MIT | (c) 2017, Baptiste Donaux | http://autocomplete-js.com */
-.autocomplete {
-  position: absolute;
-  max-height: 0;
-  overflow-y: hidden;
-  text-align: left;
-  border-radius: 10px;
-}
-.autocomplete:active,
-.autocomplete:focus,
-.autocomplete:hover {
-  background-color: var(--color-autocomplete-background);
-}
-.autocomplete:empty {
-  display: none;
-}
-.autocomplete > ul {
-  list-style-type: none;
-  margin: 0;
-  padding: 0;
-}
-.autocomplete > ul > li {
-  cursor: pointer;
-  padding: 8px 0 8px 8px;
-}
-.autocomplete > ul > li.active,
-.autocomplete > ul > li:active,
-.autocomplete > ul > li:focus,
-.autocomplete > ul > li:hover {
-  background-color: var(--color-autocomplete-background-hover);
-}
-.autocomplete > ul > li.active a:active,
-.autocomplete > ul > li:active a:active,
-.autocomplete > ul > li:focus a:active,
-.autocomplete > ul > li:hover a:active,
-.autocomplete > ul > li.active a:focus,
-.autocomplete > ul > li:active a:focus,
-.autocomplete > ul > li:focus a:focus,
-.autocomplete > ul > li:hover a:focus,
-.autocomplete > ul > li.active a:hover,
-.autocomplete > ul > li:active a:hover,
-.autocomplete > ul > li:focus a:hover,
-.autocomplete > ul > li:hover a:hover {
-  text-decoration: none;
-}
-.autocomplete > ul > li.locked {
-  cursor: inherit;
-}
-.autocomplete.open {
-  display: block;
-  background-color: var(--color-autocomplete-background);
-  color: var(--color-autocomplete-font);
-  border: 1px solid var(--color-autocomplete-border);
-  max-height: 500px;
-  overflow-y: auto;
-  z-index: 100;
-}
-.autocomplete.open:empty {
-  display: none;
-}
-@media screen and (max-width: 50em) {
-  .autocomplete {
-    bottom: 0;
-  }
-  .autocomplete > ul > li {
-    border-bottom: 1px solid var(--color-result-top-border);
-    text-align: left;
-  }
-}
-#main_results #results.image-detail-open.only_template_images {
-  width: min(98%, 59.25rem) !important;
-}
-#main_results #results.only_template_images.image-detail-open #backToTop {
-  left: 56.75rem !important;
-  right: inherit;
-}
-article.result-images .detail {
-  display: none;
-}
-#results.image-detail-open article.result-images[data-vim-selected] .detail {
-  display: flex;
-  flex-direction: column;
-  position: fixed;
-  left: 60rem;
-  right: 0;
-  top: 7.75rem;
-  transition: top 0.064s ease-in 0s;
-  bottom: 0;
-  background: var(--color-result-detail-background);
-  border: 1px solid var(--color-result-detail-background);
-  z-index: 10000;
-  padding: 4rem 3rem 3rem 3rem;
-}
-#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-images-source {
-  display: block;
-  flex: 1;
-  text-align: left;
-  width: 100%;
-  border: none;
-  text-decoration: none;
-}
-#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-images-source img {
-  padding: 0;
-  margin: 0;
-  border: none;
-  object-fit: contain;
-  width: inherit;
-  max-width: 100%;
-  min-height: inherit;
-  max-height: calc(100vh - 25rem - 7rem);
-  background: inherit;
-}
-#results.image-detail-open article.result-images[data-vim-selected] .detail .result-images-labels {
-  color: var(--color-result-detail-font);
-  max-height: 16rem;
-  min-height: 16rem;
-}
-#results.image-detail-open article.result-images[data-vim-selected] .detail .result-images-labels hr {
-  border-top: 1px solid var(--color-result-detail-hr);
-  border-bottom: none;
-}
-#results.image-detail-open article.result-images[data-vim-selected] .detail .result-images-labels h4 {
-  height: 2rem;
-  overflow: hidden;
-  text-overflow: ellipsis;
-  font-size: 0.9rem;
-}
-#results.image-detail-open article.result-images[data-vim-selected] .detail .result-images-labels p {
-  color: var(--color-result-detail-label-font);
-  font-size: 0.9rem;
-}
-#results.image-detail-open article.result-images[data-vim-selected] .detail .result-images-labels p span {
-  display: inline-block;
-  width: 12rem;
-}
-#results.image-detail-open article.result-images[data-vim-selected] .detail .result-images-labels h4,
-#results.image-detail-open article.result-images[data-vim-selected] .detail .result-images-labels p,
-#results.image-detail-open article.result-images[data-vim-selected] .detail .result-images-labels a {
-  text-align: left;
-}
-#results.image-detail-open article.result-images[data-vim-selected] .detail .result-images-labels p.result-content {
-  height: 2rem;
-  overflow: hidden;
-  text-overflow: ellipsis;
-}
-#results.image-detail-open article.result-images[data-vim-selected] .detail .result-images-labels p.result-url {
-  white-space: nowrap;
-  overflow-x: hidden;
-  text-overflow: ellipsis;
-}
-#results.image-detail-open article.result-images[data-vim-selected] .detail .result-images-labels p.result-content:hover,
-#results.image-detail-open article.result-images[data-vim-selected] .detail .result-images-labels p.result-url:hover {
-  position: relative;
-  overflow: inherit !important;
-  background: var(--color-result-detail-background);
-  text-overflow: inherit !important;
-}
-#results.image-detail-open article.result-images[data-vim-selected] .detail .result-images-labels a,
-#results.image-detail-open article.result-images[data-vim-selected] .detail .result-images-labels a:visited,
-#results.image-detail-open article.result-images[data-vim-selected] .detail .result-images-labels a:hover,
-#results.image-detail-open article.result-images[data-vim-selected] .detail .result-images-labels a:active {
-  color: var(--color-result-detail-link);
-}
-#results.image-detail-open article.result-images[data-vim-selected] .detail .result-images-labels a:hover {
-  text-decoration: underline;
-}
-#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-close {
-  top: 1rem;
-  left: 1rem;
-  padding: 0.4rem;
-}
-#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-previous {
-  top: 1rem;
-  right: 6rem;
-  padding: 0.4rem 0.5rem 0.4rem 0.3rem;
-}
-#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-next {
-  top: 1rem;
-  right: 2rem;
-  padding: 0.4rem;
-}
-#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-close,
-#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-next,
-#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-previous {
-  border-radius: 50%;
-  display: block;
-  width: 1.5rem;
-  height: 1.5rem;
-  position: absolute;
-  filter: opacity(40%);
-  z-index: 2000002;
-}
-#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-close span,
-#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-next span,
-#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-previous span {
-  display: block;
-  width: 1.5rem;
-  height: 1.5rem;
-  text-align: center;
-}
-#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-next span::before,
-#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-previous span::before {
-  vertical-align: sub;
-}
-#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-close,
-#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-close:visited,
-#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-close:hover,
-#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-close:active,
-#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-previous,
-#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-previous:visited,
-#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-previous:hover,
-#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-previous:active,
-#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-next,
-#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-next:visited,
-#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-next:hover,
-#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-next:active {
-  color: var(--color-result-detail-font);
-  background: var(--color-result-detail-background);
-  border: 1px solid var(--color-result-detail-font);
-}
-#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-close:focus,
-#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-close:hover,
-#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-previous:focus,
-#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-previous:hover,
-#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-next:focus,
-#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-next:hover {
-  filter: opacity(80%);
-}
-#results.image-detail-open article.result-images[data-vim-selected] .detail .loader {
-  position: absolute;
-  top: 1rem;
-  right: 50%;
-  border-top: 0.5em solid var(--color-result-detail-loader-border);
-  border-right: 0.5em solid var(--color-result-detail-loader-border);
-  border-bottom: 0.5em solid var(--color-result-detail-loader-border);
-  border-left: 0.5em solid var(--color-result-detail-loader-borderleft);
-}
-#results.image-detail-open.scrolling article.result-images[data-vim-selected] .detail {
-  top: 0;
-}
-#results.image-detail-open.scrolling article.result-images[data-vim-selected] .detail a.result-images-source img {
-  max-height: calc(100vh - 25rem);
-}
-@media screen and (max-width: 80em) {
-  #results.image-detail-open article.result-images[data-vim-selected] .detail {
-    top: 0;
-    left: 0;
-  }
-  #results.image-detail-open article.result-images[data-vim-selected] .detail a.result-images-source {
-    display: flex;
-    flex-direction: column;
-    justify-content: center;
-  }
-  #results.image-detail-open article.result-images[data-vim-selected] .detail a.result-images-source img {
-    width: 100%;
-    max-height: calc(100vh - 24rem);
-  }
-  #results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-next {
-    right: 1rem;
-  }
-}
-@media screen and (max-width: 50em) {
-  #results.image-detail-open article.result-images[data-vim-selected] .detail {
-    top: 0;
-    left: 0;
-    padding: 1rem;
-  }
-  #results.image-detail-open article.result-images[data-vim-selected] .detail a.result-images-source img {
-    width: 100%;
-    max-height: calc(100vh - 20rem);
-    margin: 0;
-  }
-  #results.image-detail-open article.result-images[data-vim-selected] .detail .result-images-labels p span {
-    width: inherit;
-    margin-right: 1rem;
-  }
-}
-.dialog-modal {
-  animation-name: dialogmodal;
-  animation-duration: 0.13s;
-}
-@keyframes dialogmodal {
-  0% {
-    opacity: 0;
-  }
-  50% {
-    opacity: 0.5;
-    transform: translate(-50%, -50%) scale(1.05);
-  }
-}
-#main_index {
-  margin-top: 26vh;
-}
-#main_index #linkto_preferences {
-  right: 1.8rem;
-}
-.index {
-  text-align: center;
-}
-.index .title {
-  background: url('../img/searxng.png') no-repeat;
-  min-height: 4rem;
-  margin: 4rem auto;
-  background-position: center;
-  background-size: contain;
-}
-.index h1 {
-  font-size: 4em;
-  visibility: hidden;
-}
-.index #search,
-.index #search_header {
-  margin: 0 auto;
-  background: inherit;
-  border: inherit;
-  padding: 0;
-  display: block;
-}
-.index .search_filters {
-  display: block;
-  margin: 1em 0;
-}
-.index .category label {
-  padding: 6px 10px;
-  border-bottom: initial !important;
-}
-@media screen and (max-width: 80em) {
-  div.title h1 {
-    font-size: 1em;
-  }
-  #main_index {
-    margin-top: 6em;
-  }
-}
-@media screen and (max-width: 50em) {
-  #main_index {
-    margin-top: 0;
-  }
-}
-#tab-contentquery table td,
-#tab-contentquery table th {
-  text-align: left !important;
-  height: 3rem;
-}
-#main_preferences form {
-  width: 100%;
-}
-#main_preferences fieldset {
-  margin: 8px;
-  border: none;
-}
-#main_preferences legend {
-  margin: 0;
-  padding: 5px 0 0 0;
-  display: block;
-  float: left;
-  width: 300px;
-}
-#main_preferences .value {
-  margin: 0;
-  padding: 0;
-  float: left;
-  width: 15em;
-}
-#main_preferences .value select,
-#main_preferences .value input[type="text"] {
-  font-size: inherit !important;
-  margin: 0 1rem 0 0;
-}
-#main_preferences .value select {
-  width: 14rem;
-}
-#main_preferences .value input[type="text"] {
-  width: 13.25rem;
-  color: var(--color-toolkit-input-text-font);
-  border: none;
-  background: none repeat scroll 0 0 var(--color-toolkit-select-background);
-  padding: 0.2rem 0.4rem;
-  height: 2rem;
-  border-radius: 5px;
-}
-#main_preferences .value input[type="text"]:hover,
-#main_preferences .value input[type="text"]:focus {
-  background-color: var(--color-toolkit-select-background-hover);
-}
-#main_preferences .value select:focus,
-#main_preferences .value input:focus {
-  outline: none;
-  box-shadow: 0 0 1px 1px var(--color-btn-background);
-}
-#main_preferences .description {
-  margin: 0;
-  padding: 5px 0 0 0;
-  float: left;
-  width: 50%;
-  color: var(--color-settings-engine-description-font);
-  font-size: 90%;
-}
-#main_preferences table {
-  border-collapse: collapse;
-}
-#main_preferences table td {
-  text-align: center;
-}
-#main_preferences table.cookies {
-  width: 100%;
-}
-#main_preferences table.cookies th,
-#main_preferences table.cookies td {
-  text-align: left;
-  font-family: monospace;
-  font-size: 1rem;
-  padding: 0.5em;
-  vertical-align: top;
-}
-#main_preferences table.cookies td:first-child {
-  word-break: keep-all;
-  width: 14rem;
-  padding-right: 1rem;
-}
-#main_preferences table.cookies td:last-child {
-  word-break: break-all;
-}
-#main_preferences table.cookies > tbody > tr:nth-child(even) > th,
-#main_preferences table.cookies > tbody > tr:nth-child(even) > td {
-  background-color: var(--color-settings-tr-hover);
-}
-#main_preferences .category {
-  margin-right: 0.5rem;
-}
-#main_preferences .category label {
-  border: 2px solid transparent;
-  padding: 0.2rem 0.4rem;
-  border-radius: 5px;
-}
-#main_preferences .category input[type="checkbox"]:checked + label {
-  border: 2px solid var(--color-categories-item-border-selected);
-}
-#main_preferences .name,
-#main_preferences .shortcut {
-  text-align: left;
-}
-#main_preferences .preferences_back {
-  background: none repeat scroll 0 0 var(--color-btn-background);
-  color: var(--color-btn-font);
-  border: 0 none;
-  border-radius: 10px;
-  cursor: pointer;
-  display: inline-block;
-  margin: 2px 4px;
-  padding: 0.7em;
-}
-#main_preferences .preferences_back a {
-  color: var(--color-settings-return-font);
-}
-#main_preferences .preferences_back a::first-letter {
-  text-transform: uppercase;
-}
-#main_preferences div.selectable_url pre {
-  width: 100%;
-}
-#main_preferences th.name .engine-tooltip {
-  margin-top: 1.8rem;
-  left: calc((100% - 85em) / 2 + 10em);
-  max-width: 40rem;
-}
-#main_preferences th.name .engine-tooltip .engine-description {
-  margin-top: 0.5rem;
-}
-@media screen and (max-width: 80em) {
-  .preferences_back {
-    clear: both;
-  }
-  .engine-tooltip {
-    left: 10em !important;
-  }
-}
-/*
-* SearXNG, A privacy-respecting, hackable metasearch engine
-*/
-#search {
-  padding: 0;
-  margin: 0;
-}
-#search_header {
-  padding: 1.5em 2em 0 7rem;
-  margin: 0;
-  background: var(--color-header-background);
-  border-bottom: 1px solid var(--color-header-border);
-  display: grid;
-  column-gap: 1.2rem;
-  row-gap: 1rem;
-  grid-template-columns: 3rem 1fr;
-  grid-template-areas: "logo search" "spacer categories";
-}
-.category {
-  display: inline-block;
-  position: relative;
-  margin-right: 1rem;
-  padding: 0;
-}
-.category input {
-  display: none;
-}
-.category label {
-  cursor: pointer;
-  padding: 0.2rem 0;
-  display: inline-flex;
-  text-transform: capitalize;
-  font-size: 0.9em;
-  border-bottom: 2px solid transparent;
-  -webkit-touch-callout: none;
-  -webkit-user-select: none;
-  -khtml-user-select: none;
-  -moz-user-select: none;
-  -ms-user-select: none;
-  user-select: none;
-}
-.category label svg {
-  padding-right: 0.2rem;
-}
-.category label div.category_name {
-  margin: auto 0;
-}
-.category input[type="checkbox"]:checked + label {
-  color: var(--color-categories-item-selected-font);
-  border-bottom: 2px solid var(--color-categories-item-border-selected);
-}
-#search_logo {
-  grid-area: logo;
-  display: flex;
-  align-items: center;
-  justify-content: center;
-}
-#search_logo svg {
-  flex: 1;
-  width: 30px;
-  height: 30px;
-  margin: 0.5rem 0 auto 0;
-}
-.search_categories {
-  grid-area: categories;
-}
-.search_box {
-  margin: 0;
-  padding: 0;
-  grid-area: search;
-  display: inline-flex;
-  flex-direction: row;
-  white-space: nowrap;
-}
-#clear_search {
-  display: block;
-  border-collapse: separate;
-  box-sizing: border-box;
-  width: 1.8em;
-  margin: 0;
-  padding: 8px 2px;
-  background: none repeat scroll 0 0 var(--color-search-background);
-  border-top: 1px solid var(--color-search-border);
-  border-bottom: 1px solid var(--color-search-border);
-  border-right: none;
-  border-left: none;
-  border-radius: 0;
-  outline: none;
-  color: var(--color-search-font);
-  font-size: 16px;
-  z-index: 10000;
-}
-#clear_search:hover {
-  color: var(--color-search-background-hover);
-}
-#clear_search.empty * {
-  display: none;
-}
-#q,
-#send_search {
-  display: block !important;
-  border-collapse: separate;
-  box-sizing: border-box;
-  margin: 0;
-  padding: 10px;
-  background: none repeat scroll 0 0 var(--color-search-background);
-  border: 1px solid var(--color-search-border);
-  border-radius: 0;
-  outline: none;
-  color: var(--color-search-font);
-  font-size: 16px;
-  z-index: 2;
-}
-#q {
-  outline: medium none;
-  padding-left: 12px;
-  padding-right: 0 !important;
-  border-right: none;
-  width: 40rem;
-  border-radius: 10px 0 0 10px;
-}
-#q::-ms-clear,
-#q::-webkit-search-cancel-button {
-  display: none;
-}
-#send_search {
-  border-left: none;
-  border-radius: 0 10px 10px 0;
-}
-#send_search:hover {
-  cursor: pointer;
-  background-color: var(--color-search-background-hover);
-  color: var(--color-search-background);
-}
-.no-js #clear_search,
-.no-js #send_search {
-  width: auto !important;
-  border-left: 1px solid var(--color-search-border);
-  padding: 10px;
-}
-.search_filters {
-  margin: 0.6rem 0 0 10.6rem;
-}
-.search_filters select {
-  background-color: inherit;
-}
-.search_filters select:hover,
-.search_filters select:focus {
-  color: var(--color-base-font);
-}
-@media screen and (max-width: 80em) {
-  #search_header {
-    padding: 1.5em 0.5rem 0 0.5rem;
-    column-gap: 0.5rem;
-  }
-  .search_filters {
-    margin: 0.6rem 0 0 3.5rem;
-  }
-  #categories {
-    font-size: 90%;
-    clear: both;
-  }
-  #categories .checkbox_container {
-    margin: auto;
-    margin-top: 2px;
-  }
-  html.touch #main_index #categories_container,
-  html.touch #main_results #categories_container {
-    width: 1000px;
-    width: -moz-max-content;
-    width: -webkit-max-content;
-    width: max-content;
-  }
-  html.touch #main_index #categories_container .category,
-  html.touch #main_results #categories_container .category {
-    display: inline-block;
-    width: auto;
-  }
-  html.touch #main_index #categories,
-  html.touch #main_results #categories {
-    width: 100%;
-    text-align: left;
-    overflow-x: scroll;
-    overflow-y: hidden;
-    -webkit-overflow-scrolling: touch;
-  }
-}
-@media screen and (max-width: 50em) {
-  #search_header {
-    width: 100%;
-    margin: 0;
-    padding: 0.1rem 0 0 0;
-    column-gap: 0;
-    row-gap: 0;
-    grid-template-areas: "logo search" "categories categories";
-  }
-  .search_logo {
-    padding: 0;
-  }
-  .search_box {
-    width: 99%;
-    display: flex;
-    flex-direction: row;
-  }
-  #q {
-    width: 100%;
-    flex: 1;
-  }
-  #main_results #q:placeholder-shown ~ #send_search {
-    margin-right: 2.6rem;
-    transition: margin-right 0.1s;
-  }
-  .search_filters {
-    margin: 0;
-  }
-  .language,
-  .time_range {
-    width: 45%;
-  }
-  .category {
-    display: block;
-    width: 100%;
-    margin: 0;
-  }
-  .category label {
-    padding: 0.8rem !important;
-    margin: 0 !important;
-  }
-  .category label svg {
-    display: none;
-  }
-}
-@media screen and (max-width: 20rem) {
-  #search_header {
-    grid-template-areas: "search search" "categories categories";
-  }
-  #search_logo {
-    display: none;
-  }
-}
-#categories {
-  -webkit-touch-callout: none;
-  -webkit-user-select: none;
-  -khtml-user-select: none;
-  -moz-user-select: none;
-  -ms-user-select: none;
-  user-select: none;
-}
-#categories::-webkit-scrollbar {
-  width: 0;
-  height: 0;
-}
-#categories_container {
-  position: relative;
-}
-.ion-icon {
-  display: inline-block;
-  vertical-align: bottom;
-  line-height: 1;
-  text-decoration: inherit;
-}
-.ion-icon-small {
-  width: 1rem;
-  height: 1rem;
-  display: inline-block;
-  vertical-align: bottom;
-  line-height: 1;
-  text-decoration: inherit;
-}
-.ion-icon-big {
-  width: 1.5rem;
-  height: 1.5rem;
-  display: inline-block;
-  vertical-align: bottom;
-  line-height: 1;
-  text-decoration: inherit;
-}
-html {
-  font-family: sans-serif;
-  font-size: 0.9em;
-  -webkit-text-size-adjust: 100%;
-  -ms-text-size-adjust: 100%;
-  -moz-text-size-adjust: 100%;
-  text-size-adjust: 100%;
-  color: var(--color-base-font);
-  background-color: var(--color-base-background);
-  padding: 0;
-  margin: 0;
-}
-body,
-main {
-  padding: 0;
-  margin: 0;
-}
-body {
-  display: flex;
-  flex-direction: column;
-  height: 100vh;
-  margin: 0;
-}
-main {
-  width: 100%;
-  margin-bottom: 2rem;
-  flex: 1;
-}
-#main_preferences,
-#main_about,
-#main_stats {
-  margin: 2em auto;
-  width: 85em;
-}
-footer {
-  clear: both;
-  min-height: 4rem;
-  padding: 1rem 0;
-  width: 100%;
-  text-align: center;
-  background-color: var(--color-footer-background);
-  border-top: 1px solid var(--color-footer-border);
-  overflow: hidden;
-}
-footer p {
-  font-size: 0.9em;
-}
-#main_preferences h1,
-#main_stats h1 {
-  background: url('../img/searxng.png') no-repeat;
-  background-size: contain;
-  min-height: 40px;
-  margin: 0 auto;
-}
-#main_preferences h1 span,
-#main_stats h1 span {
-  visibility: hidden;
-}
-input[type="submit"],
-#results button[type="submit"] {
-  padding: 0.7rem;
-  display: inline-block;
-  background: var(--color-btn-background);
-  color: var(--color-btn-font);
-  border-radius: 10px;
-  border: 0;
-  cursor: pointer;
-}
-a {
-  text-decoration: none;
-  color: var(--color-url-font);
-}
-a:visited {
-  color: var(--color-url-visited-font);
-}
-a:visited .highlight {
-  color: var(--color-url-visited-font);
-}
-article[data-vim-selected] {
-  background: var(--color-result-vim-selected);
-  border-left: 0.2rem solid var(--color-result-vim-arrow);
-  border-radius: 0 10px 10px 0;
-}
-article.result-images[data-vim-selected] {
-  background: var(--color-result-vim-arrow);
-  border: none;
-  border-radius: 10px;
-}
-article.result-images[data-vim-selected] .image_thumbnail {
-  filter: opacity(60%);
-}
-article[data-vim-selected].category-videos,
-article[data-vim-selected].category-news,
-article[data-vim-selected].category-map,
-article[data-vim-selected].category-music,
-article[data-vim-selected].category-files,
-article[data-vim-selected].category-social {
-  border: 1px solid var(--color-result-vim-arrow);
-  border-radius: 10px;
-}
-.result {
-  margin: 0.125rem 0;
-  padding: 1rem;
-  border-left: 0.2rem solid transparent;
-}
-.result h3 {
-  font-size: 1.2rem;
-  word-wrap: break-word;
-  margin: 0.4rem 0 0.4rem 0;
-  padding: 0;
-}
-.result h3 a {
-  color: var(--color-result-link-font);
-  font-weight: normal;
-  font-size: 1.1em;
-}
-.result h3 a:visited {
-  color: var(--color-result-link-visited-font);
-}
-.result h3 a:focus,
-.result h3 a:hover {
-  text-decoration: underline;
-  border: none;
-  outline: none;
-}
-.result .cache_link,
-.result .proxyfied_link {
-  font-size: 0.9em !important;
-}
-.result .content,
-.result .stat,
-.result .altlink {
-  font-size: 0.9em;
-  margin: 0;
-  padding: 0;
-  max-width: 54em;
-  word-wrap: break-word;
-  line-height: 1.24;
-}
-.result .content .highlight,
-.result .stat .highlight,
-.result .altlink .highlight {
-  color: var(--color-result-description-highlight-font);
-  background: inherit;
-  font-weight: bold;
-}
-.result .codelines .highlight {
-  color: inherit;
-  background: inherit;
-  font-weight: normal;
-}
-.result .url_wrapper {
-  display: flex;
-  font-size: 1rem;
-  color: var(--color-result-url-font);
-  flex-wrap: nowrap;
-  overflow: hidden;
-  flex-direction: row;
-  margin: 0;
-  padding: 0;
-}
-.result .url_wrapper .url_o1 {
-  white-space: nowrap;
-  flex-shrink: 1;
-}
-.result .url_wrapper .url_o1::after {
-  content: " ";
-  width: 1ch;
-  display: inline-block;
-}
-.result .url_wrapper .url_o2 {
-  overflow: hidden;
-  white-space: nowrap;
-  flex-basis: content;
-  flex-grow: 0;
-  flex-shrink: 1;
-  text-align: right;
-}
-.result .url_wrapper .url_o2 .url_i2 {
-  float: right;
-}
-.result .published_date {
-  font-size: 0.8em;
-  color: var(--color-result-publishdate-font);
-}
-.result img.thumbnail {
-  float: left;
-  padding: 0.6rem 1rem 0 0;
-  width: 20rem;
-}
-.result img.image {
-  float: left;
-  padding: 0.6rem 1rem 0 0;
-  width: 7rem;
-  max-height: 7rem;
-  object-fit: scale-down;
-  object-position: right top;
-}
-.result .break {
-  clear: both;
-}
-.category-videos,
-.category-news,
-.category-map,
-.category-music,
-.category-files,
-.category-social {
-  border: 1px solid var(--color-result-border);
-  margin: 1rem 0;
-  border-radius: 10px;
-}
-.category-social .image {
-  width: auto !important;
-  min-width: 48px;
-  min-height: 48px;
-  padding: 0 5px 25px 0 !important;
-}
-.result-videos .content {
-  overflow: hidden;
-}
-.engines {
-  float: right;
-  color: var(--color-result-engines-font);
-}
-.engines span {
-  font-size: smaller;
-  margin: 0 0.5em 0 0;
-}
-.small_font {
-  font-size: 0.8em;
-}
-.highlight {
-  color: var(--color-result-link-font-highlight);
-  background: inherit;
-}
-.empty_element {
-  font-style: italic;
-}
-.result-images {
-  display: inline-block;
-  margin: 0;
-  padding: 0;
-  position: relative;
-  max-height: 200px;
-  border: none !important;
-}
-.result-images img {
-  float: inherit;
-  margin: 0.125rem;
-  padding: 0;
-  border: none;
-  max-height: 200px;
-  background: var(--color-result-image-background);
-}
-.result-images span.title {
-  display: none;
-  color: var(--color-result-image-span-font);
-}
-.result-images:hover span.title {
-  display: block;
-  position: absolute;
-  bottom: 0;
-  right: 0;
-  padding: 4px;
-  margin: 0 0 4px 4px;
-  background-color: var(--color-result-image-span-background-hover);
-  font-size: 0.7em;
-}
-.result-map img.image {
-  float: right !important;
-  height: 100px !important;
-  width: auto !important;
-}
-.result-map table {
-  font-size: 0.9em;
-  width: auto;
-  border-collapse: separate;
-  border-spacing: 0 0.35rem;
-}
-.result-map table th {
-  font-weight: inherit;
-  width: 17rem;
-  vertical-align: top;
-  text-align: left;
-}
-.result-map table td {
-  vertical-align: top;
-  text-align: left;
-}
-.hidden {
-  display: none !important;
-}
-#results {
-  margin: 1rem 2rem 0 10rem;
-  display: grid;
-  grid-template-columns: 45rem 25rem;
-  grid-template-rows: min-content min-content 1fr min-content;
-  gap: 0 5rem;
-  grid-template-areas: "corrections sidebar" "answers sidebar" "urls sidebar" "pagination sidebar";
-}
-#results #sidebar *:first-child,
-#results #urls *:first-child {
-  margin-top: 0;
-}
-#urls {
-  padding: 0;
-  grid-area: urls;
-}
-#suggestions .wrapper {
-  display: flex;
-  flex-flow: row wrap;
-  justify-content: flex-end;
-}
-#suggestions .wrapper form {
-  display: inline-block;
-  flex: 1 1 50%;
-}
-#suggestions input,
-#infoboxes input {
-  padding: 0;
-  margin: 3px;
-  font-size: 0.9em;
-  display: inline-block;
-  background: transparent;
-  color: var(--color-result-search-url-font);
-  cursor: pointer;
-}
-#suggestions input[type="submit"],
-#infoboxes input[type="submit"],
-#suggestions .infobox .url a,
-#infoboxes .infobox .url a {
-  color: var(--color-result-link-font);
-  text-decoration: none;
-  font-size: 0.9rem;
-}
-#suggestions input[type="submit"]:hover,
-#infoboxes input[type="submit"]:hover,
-#suggestions .infobox .url a:hover,
-#infoboxes .infobox .url a:hover {
-  text-decoration: underline;
-}
-#corrections {
-  grid-area: corrections;
-  display: flex;
-  flex-flow: row wrap;
-  margin: 0 0 1em 0;
-}
-#corrections h4,
-#corrections input[type="submit"] {
-  display: inline-block;
-  padding: 0.5rem;
-  margin: 0.5rem;
-}
-#corrections input[type="submit"] {
-  font-size: 0.8rem;
-  border-radius: 5px;
-}
-#suggestions .title,
-#search_url .title,
-#apis .title {
-  margin: 2em 0 0.5em 0;
-  color: var(--color-base-font);
-}
-#answers {
-  grid-area: answers;
-  border: 1px solid var(--color-answer-border);
-  background: var(--color-answer-background);
-  padding: 1rem;
-  margin: 1rem 0;
-  margin-top: 0;
-  color: var(--color-answer-font);
-  border-radius: 10px;
-}
-#answers h4 {
-  display: none;
-}
-#infoboxes form {
-  min-width: 210px;
-}
-#sidebar {
-  grid-area: sidebar;
-  word-wrap: break-word;
-  color: var(--color-sidebar-font);
-}
-#sidebar .infobox {
-  margin: 10px 0 10px;
-  border: 1px solid var(--color-sidebar-border);
-  padding: 1rem;
-  font-size: 0.9em;
-  border-radius: 10px;
-}
-#sidebar .infobox h2 {
-  margin: 0 0 0.5em 0;
-}
-#sidebar .infobox img {
-  max-width: 100%;
-  max-height: 12em;
-  display: block;
-  margin: 0 auto;
-  padding: 0;
-}
-#sidebar .infobox dl {
-  margin: 0.5em 0;
-}
-#sidebar .infobox dt {
-  display: inline;
-  margin: 0.5em 0.25em 0.5em 0;
-  padding: 0;
-  font-weight: bold;
-}
-#sidebar .infobox dd {
-  display: inline;
-  margin: 0.5em 0;
-  padding: 0;
-}
-#sidebar .infobox input {
-  font-size: 1em;
-}
-#sidebar .infobox br {
-  clear: both;
-}
-#sidebar .infobox .attributes,
-#sidebar .infobox .urls {
-  clear: both;
-}
-#search_url {
-  margin-top: 8px;
-}
-#search_url div.selectable_url pre {
-  width: 200em;
-}
-#linkto_preferences {
-  position: absolute;
-  right: 10px;
-  top: 2.2rem;
-  padding: 0;
-  border: 0;
-  display: block;
-  font-size: 1.2em;
-  color: var(--color-search-font);
-}
-#linkto_preferences a:link *,
-#linkto_preferences a:hover *,
-#linkto_preferences a:visited *,
-#linkto_preferences a:active * {
-  color: var(--color-search-font);
-}
-#pagination {
-  grid-area: pagination;
-}
-#pagination br {
-  clear: both;
-}
-#apis {
-  margin-top: 8px;
-  clear: both;
-}
-#backToTop {
-  border: 1px solid var(--color-backtotop-border);
-  margin: 0;
-  padding: 0;
-  font-size: 1em;
-  background: var(--color-backtotop-background);
-  position: fixed;
-  bottom: 8rem;
-  left: 56.3rem;
-  transition: opacity 0.5s;
-  opacity: 0;
-  border-radius: 10px;
-}
-#backToTop a {
-  display: block;
-  margin: 0;
-  padding: 0.7em;
-}
-#backToTop a,
-#backToTop a:visited,
-#backToTop a:hover,
-#backToTop a:active {
-  color: var(--color-backtotop-font);
-}
-#results.scrolling #backToTop {
-  opacity: 1;
-}
-@media screen and (max-width: 80em) {
-  #main_preferences,
-  #main_about,
-  #main_stats {
-    margin: 2rem 0.5rem;
-    width: auto;
-  }
-  #infoboxes {
-    position: inherit;
-    max-width: inherit;
-  }
-  #infoboxes .infobox {
-    clear: both;
-  }
-  #infoboxes .infobox img {
-    float: left;
-    max-width: 10em;
-    margin: 0.5em 0.5em 0.5em 0;
-  }
-  #sidebar {
-    margin-bottom: 0.125rem;
-    padding: 0;
-    float: none;
-    border: none;
-    width: auto;
-  }
-  #sidebar input {
-    border: 0;
-  }
-  #apis {
-    display: none;
-  }
-  #search_url {
-    display: none;
-  }
-  .result .thumbnail {
-    max-width: 98%;
-  }
-  .result .url span.url {
-    display: block;
-    white-space: nowrap;
-    text-overflow: ellipsis;
-    overflow: hidden;
-    width: 100%;
-  }
-  .result .engines {
-    float: right;
-    padding: 0 0 3px 0;
-  }
-  .result-images {
-    border-bottom: none !important;
-  }
-  .image_result {
-    max-width: 98%;
-  }
-  .image_result img {
-    max-width: 98%;
-  }
-  #backToTop {
-    display: none;
-  }
-  #pagination {
-    margin: 2rem 0 0 0 !important;
-  }
-  #main_results div#results {
-    margin: 1rem auto 0 auto;
-    justify-content: center;
-    display: grid;
-    grid-template-columns: 45rem;
-    grid-template-rows: min-content min-content min-content 1fr min-content min-content;
-    gap: 0;
-    grid-template-areas: "corrections" "answers" "sidebar" "urls" "pagination";
-  }
-}
-#main_results div#results.only_template_images {
-  margin: 1rem 0.5rem 0 0.5rem;
-  display: grid;
-  grid-template-columns: 100%;
-  grid-template-rows: min-content min-content 1fr min-content min-content;
-  gap: 0;
-  grid-template-areas: "corrections" "urls" "answers" "sidebar" "pagination";
-}
-#main_results div#results.only_template_images #urls {
-  width: inherit;
-  margin: 0;
-}
-#main_results div#results.only_template_images #backToTop {
-  left: auto;
-  right: 1rem;
-}
-#main_results div#results.only_template_images #pagination {
-  margin-right: 4rem;
-}
-@media screen and (max-width: 50em) {
-  #main_results div#results {
-    grid-template-columns: 100%;
-    margin: 2rem 0.5rem 0 0.5rem;
-  }
-  #linkto_preferences {
-    top: 0.8rem;
-    right: 0.7rem;
-  }
-  #main_index #linkto_preferences {
-    top: 0.5rem;
-    right: 0.5rem;
-  }
-  #results {
-    margin: 0;
-    padding: 0;
-  }
-  #pagination {
-    margin: 2rem 1rem 0 1rem !important;
-  }
-  article[data-vim-selected] {
-    border: 1px solid var(--color-result-vim-arrow);
-    border-radius: 10px;
-  }
-  .result {
-    border: 1px solid var(--color-result-border);
-    margin: 1rem 0;
-    border-radius: 10px;
-  }
-  .result-images {
-    margin: 0;
-    padding: 0;
-    border: none;
-  }
-}
-@media screen and (max-width: 35em) {
-  .result-videos img.thumbnail {
-    float: none !important;
-  }
-  .result-videos .content {
-    overflow: inherit;
-  }
-}
-pre code {
-  white-space: pre-wrap;
-}
-#search_submit {
-  left: 1px;
-  right: auto;
-}

+ 0 - 3275
searx/static/themes/simple/css/searxng.css

@@ -1,3275 +0,0 @@
-/*
-* SearXNG, A privacy-respecting, hackable metasearch engine
-*
-* To convert "style.less" to "style.css" run: $make styles
-*/
-.github-issue-button {
-  display: block;
-  padding: 8px 16px;
-  font-family: sans-serif;
-  font-size: 16px;
-  color: white;
-  background-color: #238636 !important;
-  /* important is needed cause to an !important in logicodev-dark */
-  border: #2ea043;
-  border-radius: 10px !important;
-  box-shadow: rgba(0, 0, 0, 0) 0px 0px 0px 0px;
-}
-.github-issue-button:hover {
-  background-color: #2ea043;
-}
-.issue-hide {
-  display: none;
-}
-.engine-stats .engine-name {
-  width: 20rem;
-}
-.engine-stats .engine-score {
-  width: 7rem;
-  text-align: right;
-}
-.engine-stats .engine-reliability {
-  text-align: right;
-}
-.engine-stats table.engine-error {
-  max-width: 1280px;
-  margin: 1rem;
-  border: 1px solid gray;
-}
-.engine-stats table.engine-error th.engine-error-type,
-.engine-stats table.engine-error td.engine-error-type,
-.engine-stats failed-test {
-  width: 10rem;
-}
-.engine-stats table.engine-error span.log_parameters {
-  border-right: 1px solid gray;
-  padding: 0 1rem 0 0;
-  margin: 0 0 0 0.5rem;
-}
-.bar-chart-value {
-  width: 3em;
-  display: inline-block;
-  text-align: right;
-  padding-right: 0.5rem;
-}
-.bar-chart-graph {
-  width: calc(100% - 5rem);
-  display: inline-block;
-}
-.bar-chart-bar {
-  border: 3px solid #5bc0de;
-  margin: 1px 0;
-}
-.bar-chart-serie1 {
-  border: 3px solid #5bc0de;
-  margin: 1px 0;
-  float: left;
-}
-.bar-chart-serie2 {
-  border: 3px solid #deb15b;
-  margin: 1px 0;
-  float: left;
-}
-.bar0 {
-  width: 0;
-  border: 0;
-}
-.bar1 {
-  width: 1%;
-}
-.bar2 {
-  width: 2%;
-}
-.bar3 {
-  width: 3%;
-}
-.bar4 {
-  width: 4%;
-}
-.bar5 {
-  width: 5%;
-}
-.bar6 {
-  width: 6%;
-}
-.bar7 {
-  width: 7%;
-}
-.bar8 {
-  width: 8%;
-}
-.bar9 {
-  width: 9%;
-}
-.bar10 {
-  width: 10%;
-}
-.bar11 {
-  width: 11%;
-}
-.bar12 {
-  width: 12%;
-}
-.bar13 {
-  width: 13%;
-}
-.bar14 {
-  width: 14%;
-}
-.bar15 {
-  width: 15%;
-}
-.bar16 {
-  width: 16%;
-}
-.bar17 {
-  width: 17%;
-}
-.bar18 {
-  width: 18%;
-}
-.bar19 {
-  width: 19%;
-}
-.bar20 {
-  width: 20%;
-}
-.bar21 {
-  width: 21%;
-}
-.bar22 {
-  width: 22%;
-}
-.bar23 {
-  width: 23%;
-}
-.bar24 {
-  width: 24%;
-}
-.bar25 {
-  width: 25%;
-}
-.bar26 {
-  width: 26%;
-}
-.bar27 {
-  width: 27%;
-}
-.bar28 {
-  width: 28%;
-}
-.bar29 {
-  width: 29%;
-}
-.bar30 {
-  width: 30%;
-}
-.bar31 {
-  width: 31%;
-}
-.bar32 {
-  width: 32%;
-}
-.bar33 {
-  width: 33%;
-}
-.bar34 {
-  width: 34%;
-}
-.bar35 {
-  width: 35%;
-}
-.bar36 {
-  width: 36%;
-}
-.bar37 {
-  width: 37%;
-}
-.bar38 {
-  width: 38%;
-}
-.bar39 {
-  width: 39%;
-}
-.bar40 {
-  width: 40%;
-}
-.bar41 {
-  width: 41%;
-}
-.bar42 {
-  width: 42%;
-}
-.bar43 {
-  width: 43%;
-}
-.bar44 {
-  width: 44%;
-}
-.bar45 {
-  width: 45%;
-}
-.bar46 {
-  width: 46%;
-}
-.bar47 {
-  width: 47%;
-}
-.bar48 {
-  width: 48%;
-}
-.bar49 {
-  width: 49%;
-}
-.bar50 {
-  width: 50%;
-}
-.bar51 {
-  width: 51%;
-}
-.bar52 {
-  width: 52%;
-}
-.bar53 {
-  width: 53%;
-}
-.bar54 {
-  width: 54%;
-}
-.bar55 {
-  width: 55%;
-}
-.bar56 {
-  width: 56%;
-}
-.bar57 {
-  width: 57%;
-}
-.bar58 {
-  width: 58%;
-}
-.bar59 {
-  width: 59%;
-}
-.bar60 {
-  width: 60%;
-}
-.bar61 {
-  width: 61%;
-}
-.bar62 {
-  width: 62%;
-}
-.bar63 {
-  width: 63%;
-}
-.bar64 {
-  width: 64%;
-}
-.bar65 {
-  width: 65%;
-}
-.bar66 {
-  width: 66%;
-}
-.bar67 {
-  width: 67%;
-}
-.bar68 {
-  width: 68%;
-}
-.bar69 {
-  width: 69%;
-}
-.bar70 {
-  width: 70%;
-}
-.bar71 {
-  width: 71%;
-}
-.bar72 {
-  width: 72%;
-}
-.bar73 {
-  width: 73%;
-}
-.bar74 {
-  width: 74%;
-}
-.bar75 {
-  width: 75%;
-}
-.bar76 {
-  width: 76%;
-}
-.bar77 {
-  width: 77%;
-}
-.bar78 {
-  width: 78%;
-}
-.bar79 {
-  width: 79%;
-}
-.bar80 {
-  width: 80%;
-}
-.bar81 {
-  width: 81%;
-}
-.bar82 {
-  width: 82%;
-}
-.bar83 {
-  width: 83%;
-}
-.bar84 {
-  width: 84%;
-}
-.bar85 {
-  width: 85%;
-}
-.bar86 {
-  width: 86%;
-}
-.bar87 {
-  width: 87%;
-}
-.bar88 {
-  width: 88%;
-}
-.bar89 {
-  width: 89%;
-}
-.bar90 {
-  width: 90%;
-}
-.bar91 {
-  width: 91%;
-}
-.bar92 {
-  width: 92%;
-}
-.bar93 {
-  width: 93%;
-}
-.bar94 {
-  width: 94%;
-}
-.bar95 {
-  width: 95%;
-}
-.bar96 {
-  width: 96%;
-}
-.bar97 {
-  width: 97%;
-}
-.bar98 {
-  width: 98%;
-}
-.bar99 {
-  width: 99%;
-}
-.bar100 {
-  width: 100%;
-}
-.osm-map-box {
-  height: 300px;
-  width: 100%;
-  margin: 10px 0;
-}
-/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
-
-/* Document
-   ========================================================================== */
-
-/**
- * 1. Correct the line height in all browsers.
- * 2. Prevent adjustments of font size after orientation changes in iOS.
- */
-
-html {
-  line-height: 1.15; /* 1 */
-  -webkit-text-size-adjust: 100%; /* 2 */
-}
-
-/* Sections
-   ========================================================================== */
-
-/**
- * Remove the margin in all browsers.
- */
-
-body {
-  margin: 0;
-}
-
-/**
- * Render the `main` element consistently in IE.
- */
-
-main {
-  display: block;
-}
-
-/**
- * Correct the font size and margin on `h1` elements within `section` and
- * `article` contexts in Chrome, Firefox, and Safari.
- */
-
-h1 {
-  font-size: 2em;
-  margin: 0.67em 0;
-}
-
-/* Grouping content
-   ========================================================================== */
-
-/**
- * 1. Add the correct box sizing in Firefox.
- * 2. Show the overflow in Edge and IE.
- */
-
-hr {
-  box-sizing: content-box; /* 1 */
-  height: 0; /* 1 */
-  overflow: visible; /* 2 */
-}
-
-/**
- * 1. Correct the inheritance and scaling of font size in all browsers.
- * 2. Correct the odd `em` font sizing in all browsers.
- */
-
-pre {
-  font-family: monospace, monospace; /* 1 */
-  font-size: 1em; /* 2 */
-}
-
-/* Text-level semantics
-   ========================================================================== */
-
-/**
- * Remove the gray background on active links in IE 10.
- */
-
-a {
-  background-color: transparent;
-}
-
-/**
- * 1. Remove the bottom border in Chrome 57-
- * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
- */
-
-abbr[title] {
-  border-bottom: none; /* 1 */
-  text-decoration: underline; /* 2 */
-  text-decoration: underline dotted; /* 2 */
-}
-
-/**
- * Add the correct font weight in Chrome, Edge, and Safari.
- */
-
-b,
-strong {
-  font-weight: bolder;
-}
-
-/**
- * 1. Correct the inheritance and scaling of font size in all browsers.
- * 2. Correct the odd `em` font sizing in all browsers.
- */
-
-code,
-kbd,
-samp {
-  font-family: monospace, monospace; /* 1 */
-  font-size: 1em; /* 2 */
-}
-
-/**
- * Add the correct font size in all browsers.
- */
-
-small {
-  font-size: 80%;
-}
-
-/**
- * Prevent `sub` and `sup` elements from affecting the line height in
- * all browsers.
- */
-
-sub,
-sup {
-  font-size: 75%;
-  line-height: 0;
-  position: relative;
-  vertical-align: baseline;
-}
-
-sub {
-  bottom: -0.25em;
-}
-
-sup {
-  top: -0.5em;
-}
-
-/* Embedded content
-   ========================================================================== */
-
-/**
- * Remove the border on images inside links in IE 10.
- */
-
-img {
-  border-style: none;
-}
-
-/* Forms
-   ========================================================================== */
-
-/**
- * 1. Change the font styles in all browsers.
- * 2. Remove the margin in Firefox and Safari.
- */
-
-button,
-input,
-optgroup,
-select,
-textarea {
-  font-family: inherit; /* 1 */
-  font-size: 100%; /* 1 */
-  line-height: 1.15; /* 1 */
-  margin: 0; /* 2 */
-}
-
-/**
- * Show the overflow in IE.
- * 1. Show the overflow in Edge.
- */
-
-button,
-input { /* 1 */
-  overflow: visible;
-}
-
-/**
- * Remove the inheritance of text transform in Edge, Firefox, and IE.
- * 1. Remove the inheritance of text transform in Firefox.
- */
-
-button,
-select { /* 1 */
-  text-transform: none;
-}
-
-/**
- * Correct the inability to style clickable types in iOS and Safari.
- */
-
-button,
-[type="button"],
-[type="reset"],
-[type="submit"] {
-  -webkit-appearance: button;
-}
-
-/**
- * Remove the inner border and padding in Firefox.
- */
-
-button::-moz-focus-inner,
-[type="button"]::-moz-focus-inner,
-[type="reset"]::-moz-focus-inner,
-[type="submit"]::-moz-focus-inner {
-  border-style: none;
-  padding: 0;
-}
-
-/**
- * Restore the focus styles unset by the previous rule.
- */
-
-button:-moz-focusring,
-[type="button"]:-moz-focusring,
-[type="reset"]:-moz-focusring,
-[type="submit"]:-moz-focusring {
-  outline: 1px dotted ButtonText;
-}
-
-/**
- * Correct the padding in Firefox.
- */
-
-fieldset {
-  padding: 0.35em 0.75em 0.625em;
-}
-
-/**
- * 1. Correct the text wrapping in Edge and IE.
- * 2. Correct the color inheritance from `fieldset` elements in IE.
- * 3. Remove the padding so developers are not caught out when they zero out
- *    `fieldset` elements in all browsers.
- */
-
-legend {
-  box-sizing: border-box; /* 1 */
-  color: inherit; /* 2 */
-  display: table; /* 1 */
-  max-width: 100%; /* 1 */
-  padding: 0; /* 3 */
-  white-space: normal; /* 1 */
-}
-
-/**
- * Add the correct vertical alignment in Chrome, Firefox, and Opera.
- */
-
-progress {
-  vertical-align: baseline;
-}
-
-/**
- * Remove the default vertical scrollbar in IE 10+.
- */
-
-textarea {
-  overflow: auto;
-}
-
-/**
- * 1. Add the correct box sizing in IE 10.
- * 2. Remove the padding in IE 10.
- */
-
-[type="checkbox"],
-[type="radio"] {
-  box-sizing: border-box; /* 1 */
-  padding: 0; /* 2 */
-}
-
-/**
- * Correct the cursor style of increment and decrement buttons in Chrome.
- */
-
-[type="number"]::-webkit-inner-spin-button,
-[type="number"]::-webkit-outer-spin-button {
-  height: auto;
-}
-
-/**
- * 1. Correct the odd appearance in Chrome and Safari.
- * 2. Correct the outline style in Safari.
- */
-
-[type="search"] {
-  -webkit-appearance: textfield; /* 1 */
-  outline-offset: -2px; /* 2 */
-}
-
-/**
- * Remove the inner padding in Chrome and Safari on macOS.
- */
-
-[type="search"]::-webkit-search-decoration {
-  -webkit-appearance: none;
-}
-
-/**
- * 1. Correct the inability to style clickable types in iOS and Safari.
- * 2. Change font properties to `inherit` in Safari.
- */
-
-::-webkit-file-upload-button {
-  -webkit-appearance: button; /* 1 */
-  font: inherit; /* 2 */
-}
-
-/* Interactive
-   ========================================================================== */
-
-/*
- * Add the correct display in Edge, IE 10+, and Firefox.
- */
-
-details {
-  display: block;
-}
-
-/*
- * Add the correct display in all browsers.
- */
-
-summary {
-  display: list-item;
-}
-
-/* Misc
-   ========================================================================== */
-
-/**
- * Add the correct display in IE 10+.
- */
-
-template {
-  display: none;
-}
-
-/**
- * Add the correct display in IE 10.
- */
-
-[hidden] {
-  display: none;
-}
-
-/*
- * SearXNG, A privacy-respecting, hackable metasearch engine
- *
- * To change the colors of the site, simple edit this variables
- */
-:root {
-  --color-base-font: #444;
-  --color-base-font-rgb: 68, 68, 68;
-  --color-base-background: #fff;
-  --color-url-font: #29314d;
-  --color-url-visited-font: #80b;
-  --color-header-background: #f7f7f7;
-  --color-header-border: #ddd;
-  --color-footer-background: #f7f7f7;
-  --color-footer-border: #ddd;
-  --color-sidebar-border: #ddd;
-  --color-sidebar-font: #000;
-  --color-backtotop-font: #444;
-  --color-backtotop-border: #ddd;
-  --color-backtotop-background: #fff;
-  --color-btn-background: #3050ff;
-  --color-btn-font: #fff;
-  --color-search-border: #bbb;
-  --color-search-background: #fff;
-  --color-search-font: #222;
-  --color-search-background-hover: #3050ff;
-  --color-error: #db3434;
-  --color-error-background: #fae1e1;
-  --color-warning: #dbba34;
-  --color-warning-background: #faf5e1;
-  --color-success: #42db34;
-  --color-success-background: #e3fae1;
-  --color-categories-item-selected-font: #3050ff;
-  --color-categories-item-border-selected: #3050ff;
-  --color-autocomplete-font: #000;
-  --color-autocomplete-border: #bbb;
-  --color-autocomplete-background: #fff;
-  --color-autocomplete-background-hover: #f7f7f7;
-  --color-answer-border: #ddd;
-  --color-answer-font: #444;
-  --color-answer-background: #f7f7f7;
-  --color-result-border: #ddd;
-  --color-result-url-font: #000;
-  --color-result-vim-selected: #f7f7f7;
-  --color-result-vim-arrow: #000bbb;
-  --color-result-description-highlight-font: #000;
-  --color-result-link-font: #000bbb;
-  --color-result-link-font-highlight: #000bbb;
-  --color-result-link-visited-font: #80b;
-  --color-result-publishdate-font: #777;
-  --color-result-engines-font: #777;
-  --color-result-search-url-border: #ddd;
-  --color-result-search-url-font: #000;
-  --color-result-image-span-background-hover: rgba(0, 0, 0, 0.6);
-  --color-result-image-span-font: #fff;
-  --color-result-image-background: #fff;
-  --color-settings-tr-hover: #f7f7f7;
-  --color-settings-engine-description-font: #909090;
-  --color-result-detail-font: #fff;
-  --color-result-detail-label-font: lightgray;
-  --color-result-detail-background: #000;
-  --color-result-detail-hr: #555;
-  --color-result-detail-link: #8af;
-  --color-result-detail-loader-border: rgba(255, 255, 255, 0.2);
-  --color-result-detail-loader-borderleft: rgba(0, 0, 0, 0);
-  --color-toolkit-badge-font: #fff;
-  --color-toolkit-badge-background: #777;
-  --color-toolkit-kbd-font: #fff;
-  --color-toolkit-kbd-background: #000;
-  --color-toolkit-dialog-border: #ddd;
-  --color-toolkit-dialog-background: #fff;
-  --color-toolkit-tabs-label-border: #fff;
-  --color-toolkit-tabs-section-border: #ddd;
-  --color-toolkit-select-background: #f7f7f7;
-  --color-toolkit-select-border: #ddd;
-  --color-toolkit-select-background-hover: #bbb;
-  --color-toolkit-input-text-font: #222;
-  --color-toolkit-checkbox-onoff-background: #ddd;
-  --color-toolkit-checkbox-onoff-label-background: #3050ff;
-  --color-toolkit-checkbox-onoff-checked-background: #aaa;
-  --color-toolkit-checkbox-label-background: #fff;
-  --color-toolkit-checkbox-label-border: #ddd;
-  --color-toolkit-checkbox-input-border: #3050ff;
-  --color-toolkit-engine-tooltip-border: #ddd;
-  --color-toolkit-engine-tooltip-background: #fff;
-  --color-toolkit-loader-border: rgba(0, 0, 0, 0.2);
-  --color-toolkit-loader-borderleft: rgba(255, 255, 255, 0);
-}
-@media (prefers-color-scheme: dark) {
-  :root.theme-auto {
-    --color-base-font: #bbb;
-    --color-base-font-rgb: 187, 187, 187;
-    --color-base-background: #222;
-    --color-url-font: #8af;
-    --color-url-visited-font: #96b;
-    --color-header-background: #181818;
-    --color-header-border: #333;
-    --color-footer-background: #181818;
-    --color-footer-border: #333;
-    --color-sidebar-border: #555;
-    --color-sidebar-font: #fff;
-    --color-backtotop-font: #bbb;
-    --color-backtotop-border: #333;
-    --color-backtotop-background: #181818;
-    --color-btn-background: #58f;
-    --color-btn-font: #222;
-    --color-search-border: #555;
-    --color-search-background: #222;
-    --color-search-font: #fff;
-    --color-search-background-hover: #58f;
-    --color-error: #f55b5b;
-    --color-error-background: #390a0a;
-    --color-warning: #f1d561;
-    --color-warning-background: #39300a;
-    --color-success: #79f56e;
-    --color-success-background: #0e390a;
-    --color-categories-item-selected-font: #58f;
-    --color-categories-item-border-selected: #58f;
-    --color-autocomplete-font: #fff;
-    --color-autocomplete-border: #555;
-    --color-autocomplete-background: #222;
-    --color-autocomplete-background-hover: #181818;
-    --color-answer-border: #333;
-    --color-answer-font: #bbb;
-    --color-answer-background: #181818;
-    --color-result-border: #333;
-    --color-result-url-font: #fff;
-    --color-result-vim-selected: #181818;
-    --color-result-vim-arrow: #8af;
-    --color-result-description-highlight-font: #fff;
-    --color-result-link-font: #8af;
-    --color-result-link-font-highlight: #8af;
-    --color-result-link-visited-font: #96b;
-    --color-result-publishdate-font: #888;
-    --color-result-engines-font: #888;
-    --color-result-search-url-border: #555;
-    --color-result-search-url-font: #fff;
-    --color-result-detail-font: #fff;
-    --color-result-detail-label-font: lightgray;
-    --color-result-detail-background: #000;
-    --color-result-detail-hr: #555;
-    --color-result-detail-link: #8af;
-    --color-result-detail-loader-border: rgba(255, 255, 255, 0.2);
-    --color-result-detail-loader-borderleft: rgba(0, 0, 0, 0);
-    --color-result-image-span-background-hover: rgba(0, 0, 0, 0.6);
-    --color-result-image-span-font: #fff;
-    --color-result-image-background: #222;
-    --color-settings-tr-hover: #2d2d2d;
-    --color-settings-engine-description-font: #909090;
-    --color-toolkit-badge-font: #fff;
-    --color-toolkit-badge-background: #777;
-    --color-toolkit-kbd-font: #000;
-    --color-toolkit-kbd-background: #fff;
-    --color-toolkit-dialog-border: #555;
-    --color-toolkit-dialog-background: #222;
-    --color-toolkit-tabs-label-border: #222;
-    --color-toolkit-tabs-section-border: #555;
-    --color-toolkit-select-background: #3c3b31;
-    --color-toolkit-select-border: #555;
-    --color-toolkit-select-background-hover: #333;
-    --color-toolkit-input-text-font: #fff;
-    --color-toolkit-checkbox-onoff-background: #3c3b31;
-    --color-toolkit-checkbox-onoff-label-background: #58f;
-    --color-toolkit-checkbox-onoff-checked-background: #ddd;
-    --color-toolkit-checkbox-label-background: #fff;
-    --color-toolkit-checkbox-label-border: #333;
-    --color-toolkit-checkbox-input-border: #58f;
-    --color-toolkit-engine-tooltip-border: #333;
-    --color-toolkit-engine-tooltip-background: #222;
-    --color-toolkit-loader-border: rgba(255, 255, 255, 0.2);
-    --color-toolkit-loader-borderleft: rgba(0, 0, 0, 0);
-  }
-}
-:root.theme-dark {
-  --color-base-font: #bbb;
-  --color-base-font-rgb: 187, 187, 187;
-  --color-base-background: #222;
-  --color-url-font: #8af;
-  --color-url-visited-font: #96b;
-  --color-header-background: #181818;
-  --color-header-border: #333;
-  --color-footer-background: #181818;
-  --color-footer-border: #333;
-  --color-sidebar-border: #555;
-  --color-sidebar-font: #fff;
-  --color-backtotop-font: #bbb;
-  --color-backtotop-border: #333;
-  --color-backtotop-background: #181818;
-  --color-btn-background: #58f;
-  --color-btn-font: #222;
-  --color-search-border: #555;
-  --color-search-background: #222;
-  --color-search-font: #fff;
-  --color-search-background-hover: #58f;
-  --color-error: #f55b5b;
-  --color-error-background: #390a0a;
-  --color-warning: #f1d561;
-  --color-warning-background: #39300a;
-  --color-success: #79f56e;
-  --color-success-background: #0e390a;
-  --color-categories-item-selected-font: #58f;
-  --color-categories-item-border-selected: #58f;
-  --color-autocomplete-font: #fff;
-  --color-autocomplete-border: #555;
-  --color-autocomplete-background: #222;
-  --color-autocomplete-background-hover: #181818;
-  --color-answer-border: #333;
-  --color-answer-font: #bbb;
-  --color-answer-background: #181818;
-  --color-result-border: #333;
-  --color-result-url-font: #fff;
-  --color-result-vim-selected: #181818;
-  --color-result-vim-arrow: #8af;
-  --color-result-description-highlight-font: #fff;
-  --color-result-link-font: #8af;
-  --color-result-link-font-highlight: #8af;
-  --color-result-link-visited-font: #96b;
-  --color-result-publishdate-font: #888;
-  --color-result-engines-font: #888;
-  --color-result-search-url-border: #555;
-  --color-result-search-url-font: #fff;
-  --color-result-detail-font: #fff;
-  --color-result-detail-label-font: lightgray;
-  --color-result-detail-background: #000;
-  --color-result-detail-hr: #555;
-  --color-result-detail-link: #8af;
-  --color-result-detail-loader-border: rgba(255, 255, 255, 0.2);
-  --color-result-detail-loader-borderleft: rgba(0, 0, 0, 0);
-  --color-result-image-span-background-hover: rgba(0, 0, 0, 0.6);
-  --color-result-image-span-font: #fff;
-  --color-result-image-background: #222;
-  --color-settings-tr-hover: #2d2d2d;
-  --color-settings-engine-description-font: #909090;
-  --color-toolkit-badge-font: #fff;
-  --color-toolkit-badge-background: #777;
-  --color-toolkit-kbd-font: #000;
-  --color-toolkit-kbd-background: #fff;
-  --color-toolkit-dialog-border: #555;
-  --color-toolkit-dialog-background: #222;
-  --color-toolkit-tabs-label-border: #222;
-  --color-toolkit-tabs-section-border: #555;
-  --color-toolkit-select-background: #3c3b31;
-  --color-toolkit-select-border: #555;
-  --color-toolkit-select-background-hover: #333;
-  --color-toolkit-input-text-font: #fff;
-  --color-toolkit-checkbox-onoff-background: #3c3b31;
-  --color-toolkit-checkbox-onoff-label-background: #58f;
-  --color-toolkit-checkbox-onoff-checked-background: #ddd;
-  --color-toolkit-checkbox-label-background: #fff;
-  --color-toolkit-checkbox-label-border: #333;
-  --color-toolkit-checkbox-input-border: #58f;
-  --color-toolkit-engine-tooltip-border: #333;
-  --color-toolkit-engine-tooltip-background: #222;
-  --color-toolkit-loader-border: rgba(255, 255, 255, 0.2);
-  --color-toolkit-loader-borderleft: rgba(0, 0, 0, 0);
-}
-/*
-* SearXNG, A privacy-respecting, hackable metasearch engine
-*/
-.code-highlight pre {
-  overflow: auto;
-  background-color: inherit;
-  color: inherit;
-  border: inherit;
-}
-/*
-   this file is generated automatically by searxng_extra/update/update_pygments.py
-   using pygments version 2.10.0
-*/
-.code-highlight .linenos {
-  -webkit-touch-callout: none;
-  -webkit-user-select: none;
-  -khtml-user-select: none;
-  -moz-user-select: none;
-  -ms-user-select: none;
-  user-select: none;
-  cursor: default;
-  margin-right: 8px;
-  text-align: right;
-}
-.code-highlight .linenos::selection {
-  background: transparent;
-  /* WebKit/Blink Browsers */
-}
-.code-highlight .linenos::-moz-selection {
-  background: transparent;
-  /* Gecko Browsers */
-}
-.code-highlight pre {
-  line-height: 125%;
-}
-.code-highlight td.linenos .normal {
-  color: inherit;
-  background-color: transparent;
-  padding-left: 5px;
-  padding-right: 5px;
-}
-.code-highlight span.linenos {
-  color: inherit;
-  background-color: transparent;
-  padding-left: 5px;
-  padding-right: 5px;
-}
-.code-highlight td.linenos .special {
-  color: #000000;
-  background-color: #ffffc0;
-  padding-left: 5px;
-  padding-right: 5px;
-}
-.code-highlight span.linenos.special {
-  color: #000000;
-  background-color: #ffffc0;
-  padding-left: 5px;
-  padding-right: 5px;
-}
-.code-highlight .hll {
-  background-color: #ffffcc;
-}
-.code-highlight {
-  background: #f8f8f8;
-}
-.code-highlight .c {
-  color: #408080;
-  font-style: italic;
-}
-/* Comment */
-.code-highlight .err {
-  border: 1px solid #FF0000;
-}
-/* Error */
-.code-highlight .k {
-  color: #008000;
-  font-weight: bold;
-}
-/* Keyword */
-.code-highlight .o {
-  color: #666666;
-}
-/* Operator */
-.code-highlight .ch {
-  color: #408080;
-  font-style: italic;
-}
-/* Comment.Hashbang */
-.code-highlight .cm {
-  color: #408080;
-  font-style: italic;
-}
-/* Comment.Multiline */
-.code-highlight .cp {
-  color: #BC7A00;
-}
-/* Comment.Preproc */
-.code-highlight .cpf {
-  color: #408080;
-  font-style: italic;
-}
-/* Comment.PreprocFile */
-.code-highlight .c1 {
-  color: #408080;
-  font-style: italic;
-}
-/* Comment.Single */
-.code-highlight .cs {
-  color: #408080;
-  font-style: italic;
-}
-/* Comment.Special */
-.code-highlight .gd {
-  color: #A00000;
-}
-/* Generic.Deleted */
-.code-highlight .ge {
-  font-style: italic;
-}
-/* Generic.Emph */
-.code-highlight .gr {
-  color: #FF0000;
-}
-/* Generic.Error */
-.code-highlight .gh {
-  color: #000080;
-  font-weight: bold;
-}
-/* Generic.Heading */
-.code-highlight .gi {
-  color: #00A000;
-}
-/* Generic.Inserted */
-.code-highlight .go {
-  color: #888888;
-}
-/* Generic.Output */
-.code-highlight .gp {
-  color: #000080;
-  font-weight: bold;
-}
-/* Generic.Prompt */
-.code-highlight .gs {
-  font-weight: bold;
-}
-/* Generic.Strong */
-.code-highlight .gu {
-  color: #800080;
-  font-weight: bold;
-}
-/* Generic.Subheading */
-.code-highlight .gt {
-  color: #0044DD;
-}
-/* Generic.Traceback */
-.code-highlight .kc {
-  color: #008000;
-  font-weight: bold;
-}
-/* Keyword.Constant */
-.code-highlight .kd {
-  color: #008000;
-  font-weight: bold;
-}
-/* Keyword.Declaration */
-.code-highlight .kn {
-  color: #008000;
-  font-weight: bold;
-}
-/* Keyword.Namespace */
-.code-highlight .kp {
-  color: #008000;
-}
-/* Keyword.Pseudo */
-.code-highlight .kr {
-  color: #008000;
-  font-weight: bold;
-}
-/* Keyword.Reserved */
-.code-highlight .kt {
-  color: #B00040;
-}
-/* Keyword.Type */
-.code-highlight .m {
-  color: #666666;
-}
-/* Literal.Number */
-.code-highlight .s {
-  color: #BA2121;
-}
-/* Literal.String */
-.code-highlight .na {
-  color: #7D9029;
-}
-/* Name.Attribute */
-.code-highlight .nb {
-  color: #008000;
-}
-/* Name.Builtin */
-.code-highlight .nc {
-  color: #0000FF;
-  font-weight: bold;
-}
-/* Name.Class */
-.code-highlight .no {
-  color: #880000;
-}
-/* Name.Constant */
-.code-highlight .nd {
-  color: #AA22FF;
-}
-/* Name.Decorator */
-.code-highlight .ni {
-  color: #999999;
-  font-weight: bold;
-}
-/* Name.Entity */
-.code-highlight .ne {
-  color: #D2413A;
-  font-weight: bold;
-}
-/* Name.Exception */
-.code-highlight .nf {
-  color: #0000FF;
-}
-/* Name.Function */
-.code-highlight .nl {
-  color: #A0A000;
-}
-/* Name.Label */
-.code-highlight .nn {
-  color: #0000FF;
-  font-weight: bold;
-}
-/* Name.Namespace */
-.code-highlight .nt {
-  color: #008000;
-  font-weight: bold;
-}
-/* Name.Tag */
-.code-highlight .nv {
-  color: #19177C;
-}
-/* Name.Variable */
-.code-highlight .ow {
-  color: #AA22FF;
-  font-weight: bold;
-}
-/* Operator.Word */
-.code-highlight .w {
-  color: #bbbbbb;
-}
-/* Text.Whitespace */
-.code-highlight .mb {
-  color: #666666;
-}
-/* Literal.Number.Bin */
-.code-highlight .mf {
-  color: #666666;
-}
-/* Literal.Number.Float */
-.code-highlight .mh {
-  color: #666666;
-}
-/* Literal.Number.Hex */
-.code-highlight .mi {
-  color: #666666;
-}
-/* Literal.Number.Integer */
-.code-highlight .mo {
-  color: #666666;
-}
-/* Literal.Number.Oct */
-.code-highlight .sa {
-  color: #BA2121;
-}
-/* Literal.String.Affix */
-.code-highlight .sb {
-  color: #BA2121;
-}
-/* Literal.String.Backtick */
-.code-highlight .sc {
-  color: #BA2121;
-}
-/* Literal.String.Char */
-.code-highlight .dl {
-  color: #BA2121;
-}
-/* Literal.String.Delimiter */
-.code-highlight .sd {
-  color: #BA2121;
-  font-style: italic;
-}
-/* Literal.String.Doc */
-.code-highlight .s2 {
-  color: #BA2121;
-}
-/* Literal.String.Double */
-.code-highlight .se {
-  color: #BB6622;
-  font-weight: bold;
-}
-/* Literal.String.Escape */
-.code-highlight .sh {
-  color: #BA2121;
-}
-/* Literal.String.Heredoc */
-.code-highlight .si {
-  color: #BB6688;
-  font-weight: bold;
-}
-/* Literal.String.Interpol */
-.code-highlight .sx {
-  color: #008000;
-}
-/* Literal.String.Other */
-.code-highlight .sr {
-  color: #BB6688;
-}
-/* Literal.String.Regex */
-.code-highlight .s1 {
-  color: #BA2121;
-}
-/* Literal.String.Single */
-.code-highlight .ss {
-  color: #19177C;
-}
-/* Literal.String.Symbol */
-.code-highlight .bp {
-  color: #008000;
-}
-/* Name.Builtin.Pseudo */
-.code-highlight .fm {
-  color: #0000FF;
-}
-/* Name.Function.Magic */
-.code-highlight .vc {
-  color: #19177C;
-}
-/* Name.Variable.Class */
-.code-highlight .vg {
-  color: #19177C;
-}
-/* Name.Variable.Global */
-.code-highlight .vi {
-  color: #19177C;
-}
-/* Name.Variable.Instance */
-.code-highlight .vm {
-  color: #19177C;
-}
-/* Name.Variable.Magic */
-.code-highlight .il {
-  color: #666666;
-}
-/* Literal.Number.Integer.Long */
-html.no-js .hide_if_nojs {
-  display: none;
-}
-html.js .show_if_nojs {
-  display: none;
-}
-.center {
-  text-align: center;
-}
-.right {
-  float: right;
-}
-.left {
-  float: left;
-}
-.invisible {
-  display: none !important;
-}
-.list-unstyled {
-  list-style-type: none;
-}
-.list-unstyled li {
-  margin-top: 4px;
-  margin-bottom: 4px;
-}
-.danger {
-  background-color: var(--color-error-background);
-}
-.warning {
-  background: var(--color-warning-background);
-}
-.success {
-  background: var(--color-success-background);
-}
-.badge {
-  display: inline-block;
-  color: var(--color-toolkit-badge-font);
-  background-color: var(--color-toolkit-badge-background);
-  text-align: center;
-  white-space: nowrap;
-  vertical-align: baseline;
-  min-width: 10px;
-  padding: 1px 5px;
-  border-radius: 5px;
-}
-kbd {
-  padding: 2px 4px;
-  margin: 1px;
-  font-size: 90%;
-  color: var(--color-toolkit-kbd-font);
-  background: var(--color-toolkit-kbd-background);
-}
-table {
-  width: 100%;
-}
-table.striped tr {
-  border-bottom: 1px solid var(--color-settings-tr-hover);
-}
-th {
-  padding: 0.4em;
-}
-td {
-  padding: 0 4px;
-}
-tr:hover {
-  background: var(--color-settings-tr-hover) !important;
-}
-div.selectable_url {
-  display: block;
-  border: 1px solid var(--color-result-search-url-border);
-  padding: 4px;
-  color: var(--color-result-search-url-font);
-  margin: 0.1em;
-  overflow: hidden;
-  height: 1.2em;
-  line-height: 1.2em;
-  border-radius: 5px;
-}
-div.selectable_url pre {
-  display: block;
-  font-size: 0.8em;
-  word-break: break-all;
-  margin: 0.1em;
-  -webkit-user-select: all;
-  -moz-user-select: all;
-  -ms-user-select: element;
-  user-select: all;
-}
-.dialog-error {
-  position: relative;
-  display: flex;
-  padding: 1rem;
-  margin: 0 0 1em 0;
-  border: 1px solid var(--color-toolkit-dialog-border);
-  text-align: left;
-  border-radius: 10px;
-  color: var(--color-error);
-  background: var(--color-error-background);
-  border-color: var(--color-error);
-}
-.dialog-error .close {
-  float: right;
-  position: relative;
-  top: -3px;
-  color: inherit;
-  font-size: 1.5em;
-}
-.dialog-error ul,
-.dialog-error ol,
-.dialog-error p {
-  margin: 1px 0 0 0;
-}
-.dialog-error table {
-  width: auto;
-}
-.dialog-error tr {
-  vertical-align: text-top;
-}
-.dialog-error tr:hover {
-  background: transparent !important;
-}
-.dialog-error td {
-  padding: 0 1em 0 0;
-}
-.dialog-error h4 {
-  margin-top: 0.3em;
-  margin-bottom: 0.3em;
-}
-.dialog-warning {
-  position: relative;
-  display: flex;
-  padding: 1rem;
-  margin: 0 0 1em 0;
-  border: 1px solid var(--color-toolkit-dialog-border);
-  text-align: left;
-  border-radius: 10px;
-  color: var(--color-warning);
-  background: var(--color-warning-background);
-  border-color: var(--color-warning);
-}
-.dialog-warning .close {
-  float: right;
-  position: relative;
-  top: -3px;
-  color: inherit;
-  font-size: 1.5em;
-}
-.dialog-warning ul,
-.dialog-warning ol,
-.dialog-warning p {
-  margin: 1px 0 0 0;
-}
-.dialog-warning table {
-  width: auto;
-}
-.dialog-warning tr {
-  vertical-align: text-top;
-}
-.dialog-warning tr:hover {
-  background: transparent !important;
-}
-.dialog-warning td {
-  padding: 0 1em 0 0;
-}
-.dialog-warning h4 {
-  margin-top: 0.3em;
-  margin-bottom: 0.3em;
-}
-.dialog-modal {
-  position: relative;
-  display: flex;
-  padding: 1rem;
-  margin: 0 0 1em 0;
-  border: 1px solid var(--color-toolkit-dialog-border);
-  text-align: left;
-  border-radius: 10px;
-  display: block;
-  background: var(--color-toolkit-dialog-background);
-  position: fixed;
-  top: 50%;
-  left: 50%;
-  margin: 0 auto;
-  transform: translate(-50%, -50%);
-  z-index: 10000000;
-}
-.dialog-modal .close {
-  float: right;
-  position: relative;
-  top: -3px;
-  color: inherit;
-  font-size: 1.5em;
-}
-.dialog-modal ul,
-.dialog-modal ol,
-.dialog-modal p {
-  margin: 1px 0 0 0;
-}
-.dialog-modal table {
-  width: auto;
-}
-.dialog-modal tr {
-  vertical-align: text-top;
-}
-.dialog-modal tr:hover {
-  background: transparent !important;
-}
-.dialog-modal td {
-  padding: 0 1em 0 0;
-}
-.dialog-modal h4 {
-  margin-top: 0.3em;
-  margin-bottom: 0.3em;
-}
-.dialog-modal h3 {
-  margin-top: 0;
-}
-.btn-collapse {
-  cursor: pointer;
-}
-.scrollx {
-  overflow-x: auto;
-  overflow-y: hidden;
-  display: block;
-  padding: 0;
-  margin: 0;
-  border: none;
-}
-/* -- tabs -- */
-.tabs .tabs > label {
-  font-size: 90%;
-}
-.tabs {
-  display: -webkit-box;
-  display: -moz-box;
-  display: -webkit-flex;
-  display: -ms-flexbox;
-  display: flex;
-  flex-wrap: wrap;
-  width: 100%;
-  min-width: 100%;
-}
-.tabs > * {
-  order: 2;
-}
-.tabs > input[type=radio] {
-  display: none;
-}
-.tabs > label {
-  order: 1;
-  padding: 0.7em;
-  margin: 0 0.7em;
-  letter-spacing: 0.5px;
-  text-transform: uppercase;
-  border: solid var(--color-toolkit-tabs-label-border);
-  border-width: 0 0 2px 0;
-  -webkit-touch-callout: none;
-  -webkit-user-select: none;
-  -khtml-user-select: none;
-  -moz-user-select: none;
-  -ms-user-select: none;
-  user-select: none;
-  cursor: pointer;
-}
-.tabs > label:hover {
-  border-bottom: 2px solid var(--color-categories-item-border-selected);
-}
-.tabs > section {
-  min-width: 100%;
-  padding: 0.7rem 0;
-  box-sizing: border-box;
-  border-top: 1px solid var(--color-toolkit-tabs-section-border);
-  display: none;
-}
-.tabs > label:last-of-type {
-  border-bottom: 2px solid var(--color-categories-item-border-selected);
-  background: var(--color-categories-item-selected);
-  color: var(--color-categories-item-selected-font);
-  letter-spacing: -0.1px;
-}
-.tabs > section:last-of-type {
-  display: block;
-}
-html body .tabs > input:checked ~ section {
-  display: none;
-}
-html body .tabs > input:checked ~ label {
-  position: inherited;
-  background: inherit;
-  border-bottom: 2px solid transparent;
-  font-weight: normal;
-  color: inherit;
-}
-html body .tabs > input:checked ~ label:hover {
-  border-bottom: 2px solid var(--color-categories-item-border-selected);
-}
-html body .tabs > input:checked + label {
-  border-bottom: 2px solid var(--color-categories-item-border-selected);
-  background: var(--color-categories-item-selected);
-  color: var(--color-categories-item-selected-font);
-}
-html body .tabs > input:checked + label + section {
-  display: block;
-}
-/* -- select -- */
-select {
-  height: 2.4rem;
-  margin: 0 1rem 0 0;
-  padding: 0.2rem !important;
-  color: var(--color-search-font);
-  font-size: 0.9rem;
-  z-index: 2;
-}
-select:hover,
-select:focus {
-  cursor: pointer;
-}
-@supports ((background-position-x: 100%) and ((appearance: none) or (-webkit-appearance: none) or (-moz-appearance: none))) {
-  select {
-    appearance: none;
-    -webkit-appearance: none;
-    -moz-appearance: none;
-    border-width: 0 2rem 0 0;
-    border-color: transparent;
-    background: url("data:image/svg+xml;charset=UTF-8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%0A%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22512%22%20height%3D%22512%22%20viewBox%3D%220%200%20512%20512%22%3E%0A%3Cg%3E%3Cpolygon%20points%3D%22128%2C192%20256%2C320%20384%2C192%22%2F%3E%3C%2Fg%3E%0A%3C%2Fsvg%3E") no-repeat;
-    background-position-x: calc(100% + 2rem);
-    background-size: 2rem;
-    background-origin: content-box;
-    background-color: var(--color-toolkit-select-background);
-    outline: medium none;
-    text-overflow: ellipsis;
-    border-radius: 5px;
-  }
-  select:hover,
-  select:focus {
-    background-color: var(--color-toolkit-select-background-hover);
-  }
-  select option {
-    background-color: var(--color-base-background);
-  }
-  @media (prefers-color-scheme: dark) {
-    html.theme-auto select,
-    html.theme-dark select {
-      background-image: url("data:image/svg+xml;charset=UTF-8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%0A%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22512%22%20height%3D%22512%22%20viewBox%3D%220%200%20512%20512%22%3E%0A%3Cg%3E%3Cpolygon%20fill%3D%22%23ddd%22%20points%3D%22128%2C192%20256%2C320%20384%2C192%22%2F%3E%3C%2Fg%3E%0A%3C%2Fsvg%3E");
-    }
-  }
-  html.theme-dark select {
-    background-image: url("data:image/svg+xml;charset=UTF-8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%0A%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22512%22%20height%3D%22512%22%20viewBox%3D%220%200%20512%20512%22%3E%0A%3Cg%3E%3Cpolygon%20fill%3D%22%23ddd%22%20points%3D%22128%2C192%20256%2C320%20384%2C192%22%2F%3E%3C%2Fg%3E%0A%3C%2Fsvg%3E");
-  }
-}
-/* -- checkbox-onoff -- */
-@supports (border-radius: 50px) {
-  .checkbox-onoff {
-    display: inline-block;
-    width: 40px;
-    height: 10px;
-    background: var(--color-toolkit-checkbox-onoff-background);
-    margin: 8px 1rem;
-    position: relative;
-    border-radius: 50px;
-  }
-  .checkbox-onoff label {
-    display: block;
-    width: 20px;
-    height: 20px;
-    position: absolute;
-    top: -5px;
-    cursor: pointer;
-    border-radius: 50px;
-    transition: all 0.4s ease;
-    left: 27px;
-    background-color: var(--color-toolkit-checkbox-onoff-label-background);
-  }
-  .checkbox-onoff input[type=checkbox] {
-    visibility: hidden;
-  }
-  .checkbox-onoff input[type=checkbox]:checked + label {
-    left: -5px;
-    background: var(--color-toolkit-checkbox-onoff-checked-background);
-  }
-}
-/* -- checkbox -- */
-@supports (transform: rotate(-45deg)) {
-  .checkbox {
-    width: 20px;
-    position: relative;
-    margin: 20px auto;
-  }
-  .checkbox label {
-    width: 20px;
-    height: 20px;
-    cursor: pointer;
-    position: absolute;
-    top: 0;
-    left: 0;
-    background: var(--color-toolkit-checkbox-label-background);
-    border-radius: 10px;
-  }
-  .checkbox label::after {
-    content: '';
-    width: 9px;
-    height: 5px;
-    position: absolute;
-    top: 4px;
-    left: 4px;
-    border: 3px solid var(--color-toolkit-checkbox-label-border);
-    border-top: none;
-    border-right: none;
-    background: transparent;
-    opacity: 0;
-    transform: rotate(-45deg);
-  }
-  .checkbox input[type=checkbox] {
-    visibility: hidden;
-  }
-  .checkbox input[type=checkbox]:checked + label::after {
-    border-color: var(--color-toolkit-checkbox-input-border);
-    opacity: 1;
-  }
-  .checkbox input[disabled] + label {
-    background-color: transparent !important;
-    cursor: inherit;
-  }
-  .checkbox input:not(:checked):not([readonly]):not([disabled]) + label:hover::after {
-    opacity: 0.5;
-  }
-}
-@media screen and (max-width: 50em) {
-  .tabs > label {
-    width: 100%;
-  }
-}
-/* -- loader -- */
-.loader,
-.loader::after {
-  border-radius: 50%;
-  width: 2em;
-  height: 2em;
-}
-.loader {
-  margin: 1em auto;
-  font-size: 10px;
-  position: relative;
-  text-indent: -9999em;
-  border-top: 0.5em solid var(--color-toolkit-loader-border);
-  border-right: 0.5em solid var(--color-toolkit-loader-border);
-  border-bottom: 0.5em solid var(--color-toolkit-loader-border);
-  border-left: 0.5em solid var(--color-toolkit-loader-borderleft);
-  -webkit-transform: translateZ(0);
-  -ms-transform: translateZ(0);
-  transform: translateZ(0);
-  -webkit-animation: load8 1.2s infinite linear;
-  animation: load8 1.2s infinite linear;
-}
-@-webkit-keyframes load8 {
-  0% {
-    -webkit-transform: rotate(0deg);
-    transform: rotate(0deg);
-  }
-  100% {
-    -webkit-transform: rotate(360deg);
-    transform: rotate(360deg);
-  }
-}
-@keyframes load8 {
-  0% {
-    -webkit-transform: rotate(0deg);
-    transform: rotate(0deg);
-  }
-  100% {
-    -webkit-transform: rotate(360deg);
-    transform: rotate(360deg);
-  }
-}
-/* -- engine-tooltip -- */
-.engine-tooltip {
-  display: none;
-  position: absolute;
-  padding: 0.5rem 1rem;
-  margin: 0 0 0 2rem;
-  border: 1px solid var(--color-toolkit-engine-tooltip-border);
-  background: var(--color-toolkit-engine-tooltip-background);
-  font-size: 14px;
-  font-weight: normal;
-  z-index: 1000000;
-  text-align: left;
-  border-radius: 10px;
-}
-th:hover .engine-tooltip,
-td:hover .engine-tooltip,
-.engine-tooltip:hover {
-  display: inline-block;
-}
-/* -- stacked bar chart -- */
-.stacked-bar-chart {
-  margin: 0;
-  padding: 0 0.125rem 0 4rem;
-  width: 100%;
-  width: -moz-available;
-  width: -webkit-fill-available;
-  width: fill;
-  flex-direction: row;
-  flex-wrap: nowrap;
-  align-items: center;
-  display: inline-flex;
-}
-.stacked-bar-chart-value {
-  width: 3rem;
-  display: inline-block;
-  position: absolute;
-  padding: 0 0.5rem;
-  text-align: right;
-}
-.stacked-bar-chart-base {
-  display: flex;
-  flex-shrink: 0;
-  flex-grow: 0;
-  flex-basis: unset;
-}
-.stacked-bar-chart-median {
-  display: flex;
-  flex-shrink: 0;
-  flex-grow: 0;
-  flex-basis: unset;
-  background: var(--color-base-font);
-  border: 1px solid rgba(var(--color-base-font-rgb), 0.9);
-  padding: 0.3rem 0;
-}
-.stacked-bar-chart-rate80 {
-  display: flex;
-  flex-shrink: 0;
-  flex-grow: 0;
-  flex-basis: unset;
-  background: transparent;
-  border: 1px solid rgba(var(--color-base-font-rgb), 0.3);
-  padding: 0.3rem 0;
-}
-.stacked-bar-chart-rate95 {
-  display: flex;
-  flex-shrink: 0;
-  flex-grow: 0;
-  flex-basis: unset;
-  background: transparent;
-  border-bottom: 1px dotted rgba(var(--color-base-font-rgb), 0.5);
-  padding: 0;
-}
-.stacked-bar-chart-rate100 {
-  display: flex;
-  flex-shrink: 0;
-  flex-grow: 0;
-  flex-basis: unset;
-  background: transparent;
-  border-left: 1px solid rgba(var(--color-base-font-rgb), 0.9);
-  padding: 0.4rem 0;
-  width: 1px;
-}
-/*! Autocomplete.js v2.6.3 | license MIT | (c) 2017, Baptiste Donaux | http://autocomplete-js.com */
-.autocomplete {
-  position: absolute;
-  max-height: 0;
-  overflow-y: hidden;
-  text-align: left;
-  border-radius: 10px;
-}
-.autocomplete:active,
-.autocomplete:focus,
-.autocomplete:hover {
-  background-color: var(--color-autocomplete-background);
-}
-.autocomplete:empty {
-  display: none;
-}
-.autocomplete > ul {
-  list-style-type: none;
-  margin: 0;
-  padding: 0;
-}
-.autocomplete > ul > li {
-  cursor: pointer;
-  padding: 8px 0 8px 8px;
-}
-.autocomplete > ul > li.active,
-.autocomplete > ul > li:active,
-.autocomplete > ul > li:focus,
-.autocomplete > ul > li:hover {
-  background-color: var(--color-autocomplete-background-hover);
-}
-.autocomplete > ul > li.active a:active,
-.autocomplete > ul > li:active a:active,
-.autocomplete > ul > li:focus a:active,
-.autocomplete > ul > li:hover a:active,
-.autocomplete > ul > li.active a:focus,
-.autocomplete > ul > li:active a:focus,
-.autocomplete > ul > li:focus a:focus,
-.autocomplete > ul > li:hover a:focus,
-.autocomplete > ul > li.active a:hover,
-.autocomplete > ul > li:active a:hover,
-.autocomplete > ul > li:focus a:hover,
-.autocomplete > ul > li:hover a:hover {
-  text-decoration: none;
-}
-.autocomplete > ul > li.locked {
-  cursor: inherit;
-}
-.autocomplete.open {
-  display: block;
-  background-color: var(--color-autocomplete-background);
-  color: var(--color-autocomplete-font);
-  border: 1px solid var(--color-autocomplete-border);
-  max-height: 500px;
-  overflow-y: auto;
-  z-index: 100;
-}
-.autocomplete.open:empty {
-  display: none;
-}
-@media screen and (max-width: 50em) {
-  .autocomplete {
-    bottom: 0;
-  }
-  .autocomplete > ul > li {
-    border-bottom: 1px solid var(--color-result-top-border);
-    text-align: left;
-  }
-}
-#main_results #results.image-detail-open.only_template_images {
-  width: min(98%, 59.25rem) !important;
-}
-#main_results #results.only_template_images.image-detail-open #backToTop {
-  left: 56.75rem !important;
-  right: inherit;
-}
-article.result-images .detail {
-  display: none;
-}
-#results.image-detail-open article.result-images[data-vim-selected] .detail {
-  display: flex;
-  flex-direction: column;
-  position: fixed;
-  left: 60rem;
-  right: 0;
-  top: 7.75rem;
-  transition: top 0.064s ease-in 0s;
-  bottom: 0;
-  background: var(--color-result-detail-background);
-  border: 1px solid var(--color-result-detail-background);
-  z-index: 10000;
-  padding: 4rem 3rem 3rem 3rem;
-}
-#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-images-source {
-  display: block;
-  flex: 1;
-  text-align: left;
-  width: 100%;
-  border: none;
-  text-decoration: none;
-}
-#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-images-source img {
-  padding: 0;
-  margin: 0;
-  border: none;
-  object-fit: contain;
-  width: inherit;
-  max-width: 100%;
-  min-height: inherit;
-  max-height: calc(100vh - 25rem - 7rem);
-  background: inherit;
-}
-#results.image-detail-open article.result-images[data-vim-selected] .detail .result-images-labels {
-  color: var(--color-result-detail-font);
-  max-height: 16rem;
-  min-height: 16rem;
-}
-#results.image-detail-open article.result-images[data-vim-selected] .detail .result-images-labels hr {
-  border-top: 1px solid var(--color-result-detail-hr);
-  border-bottom: none;
-}
-#results.image-detail-open article.result-images[data-vim-selected] .detail .result-images-labels h4 {
-  height: 2rem;
-  overflow: hidden;
-  text-overflow: ellipsis;
-  font-size: 0.9rem;
-}
-#results.image-detail-open article.result-images[data-vim-selected] .detail .result-images-labels p {
-  color: var(--color-result-detail-label-font);
-  font-size: 0.9rem;
-}
-#results.image-detail-open article.result-images[data-vim-selected] .detail .result-images-labels p span {
-  display: inline-block;
-  width: 12rem;
-}
-#results.image-detail-open article.result-images[data-vim-selected] .detail .result-images-labels h4,
-#results.image-detail-open article.result-images[data-vim-selected] .detail .result-images-labels p,
-#results.image-detail-open article.result-images[data-vim-selected] .detail .result-images-labels a {
-  text-align: left;
-}
-#results.image-detail-open article.result-images[data-vim-selected] .detail .result-images-labels p.result-content {
-  height: 2rem;
-  overflow: hidden;
-  text-overflow: ellipsis;
-}
-#results.image-detail-open article.result-images[data-vim-selected] .detail .result-images-labels p.result-url {
-  white-space: nowrap;
-  overflow-x: hidden;
-  text-overflow: ellipsis;
-}
-#results.image-detail-open article.result-images[data-vim-selected] .detail .result-images-labels p.result-content:hover,
-#results.image-detail-open article.result-images[data-vim-selected] .detail .result-images-labels p.result-url:hover {
-  position: relative;
-  overflow: inherit !important;
-  background: var(--color-result-detail-background);
-  text-overflow: inherit !important;
-}
-#results.image-detail-open article.result-images[data-vim-selected] .detail .result-images-labels a,
-#results.image-detail-open article.result-images[data-vim-selected] .detail .result-images-labels a:visited,
-#results.image-detail-open article.result-images[data-vim-selected] .detail .result-images-labels a:hover,
-#results.image-detail-open article.result-images[data-vim-selected] .detail .result-images-labels a:active {
-  color: var(--color-result-detail-link);
-}
-#results.image-detail-open article.result-images[data-vim-selected] .detail .result-images-labels a:hover {
-  text-decoration: underline;
-}
-#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-close {
-  top: 1rem;
-  left: 1rem;
-  padding: 0.4rem;
-}
-#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-previous {
-  top: 1rem;
-  right: 6rem;
-  padding: 0.4rem 0.5rem 0.4rem 0.3rem;
-}
-#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-next {
-  top: 1rem;
-  right: 2rem;
-  padding: 0.4rem;
-}
-#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-close,
-#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-next,
-#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-previous {
-  border-radius: 50%;
-  display: block;
-  width: 1.5rem;
-  height: 1.5rem;
-  position: absolute;
-  filter: opacity(40%);
-  z-index: 2000002;
-}
-#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-close span,
-#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-next span,
-#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-previous span {
-  display: block;
-  width: 1.5rem;
-  height: 1.5rem;
-  text-align: center;
-}
-#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-next span::before,
-#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-previous span::before {
-  vertical-align: sub;
-}
-#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-close,
-#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-close:visited,
-#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-close:hover,
-#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-close:active,
-#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-previous,
-#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-previous:visited,
-#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-previous:hover,
-#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-previous:active,
-#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-next,
-#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-next:visited,
-#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-next:hover,
-#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-next:active {
-  color: var(--color-result-detail-font);
-  background: var(--color-result-detail-background);
-  border: 1px solid var(--color-result-detail-font);
-}
-#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-close:focus,
-#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-close:hover,
-#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-previous:focus,
-#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-previous:hover,
-#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-next:focus,
-#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-next:hover {
-  filter: opacity(80%);
-}
-#results.image-detail-open article.result-images[data-vim-selected] .detail .loader {
-  position: absolute;
-  top: 1rem;
-  right: 50%;
-  border-top: 0.5em solid var(--color-result-detail-loader-border);
-  border-right: 0.5em solid var(--color-result-detail-loader-border);
-  border-bottom: 0.5em solid var(--color-result-detail-loader-border);
-  border-left: 0.5em solid var(--color-result-detail-loader-borderleft);
-}
-#results.image-detail-open.scrolling article.result-images[data-vim-selected] .detail {
-  top: 0;
-}
-#results.image-detail-open.scrolling article.result-images[data-vim-selected] .detail a.result-images-source img {
-  max-height: calc(100vh - 25rem);
-}
-@media screen and (max-width: 80em) {
-  #results.image-detail-open article.result-images[data-vim-selected] .detail {
-    top: 0;
-    left: 0;
-  }
-  #results.image-detail-open article.result-images[data-vim-selected] .detail a.result-images-source {
-    display: flex;
-    flex-direction: column;
-    justify-content: center;
-  }
-  #results.image-detail-open article.result-images[data-vim-selected] .detail a.result-images-source img {
-    width: 100%;
-    max-height: calc(100vh - 24rem);
-  }
-  #results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-next {
-    right: 1rem;
-  }
-}
-@media screen and (max-width: 50em) {
-  #results.image-detail-open article.result-images[data-vim-selected] .detail {
-    top: 0;
-    left: 0;
-    padding: 1rem;
-  }
-  #results.image-detail-open article.result-images[data-vim-selected] .detail a.result-images-source img {
-    width: 100%;
-    max-height: calc(100vh - 20rem);
-    margin: 0;
-  }
-  #results.image-detail-open article.result-images[data-vim-selected] .detail .result-images-labels p span {
-    width: inherit;
-    margin-right: 1rem;
-  }
-}
-.dialog-modal {
-  animation-name: dialogmodal;
-  animation-duration: 0.13s;
-}
-@keyframes dialogmodal {
-  0% {
-    opacity: 0;
-  }
-  50% {
-    opacity: 0.5;
-    transform: translate(-50%, -50%) scale(1.05);
-  }
-}
-#main_index {
-  margin-top: 26vh;
-}
-#main_index #linkto_preferences {
-  right: 1.8rem;
-}
-.index {
-  text-align: center;
-}
-.index .title {
-  background: url('../img/searxng.png') no-repeat;
-  min-height: 4rem;
-  margin: 4rem auto;
-  background-position: center;
-  background-size: contain;
-}
-.index h1 {
-  font-size: 4em;
-  visibility: hidden;
-}
-.index #search,
-.index #search_header {
-  margin: 0 auto;
-  background: inherit;
-  border: inherit;
-  padding: 0;
-  display: block;
-}
-.index .search_filters {
-  display: block;
-  margin: 1em 0;
-}
-.index .category label {
-  padding: 6px 10px;
-  border-bottom: initial !important;
-}
-@media screen and (max-width: 80em) {
-  div.title h1 {
-    font-size: 1em;
-  }
-  #main_index {
-    margin-top: 6em;
-  }
-}
-@media screen and (max-width: 50em) {
-  #main_index {
-    margin-top: 0;
-  }
-}
-#tab-contentquery table td,
-#tab-contentquery table th {
-  text-align: left !important;
-  height: 3rem;
-}
-#main_preferences form {
-  width: 100%;
-}
-#main_preferences fieldset {
-  margin: 8px;
-  border: none;
-}
-#main_preferences legend {
-  margin: 0;
-  padding: 5px 0 0 0;
-  display: block;
-  float: left;
-  width: 300px;
-}
-#main_preferences .value {
-  margin: 0;
-  padding: 0;
-  float: left;
-  width: 15em;
-}
-#main_preferences .value select,
-#main_preferences .value input[type="text"] {
-  font-size: inherit !important;
-  margin: 0 1rem 0 0;
-}
-#main_preferences .value select {
-  width: 14rem;
-}
-#main_preferences .value input[type="text"] {
-  width: 13.25rem;
-  color: var(--color-toolkit-input-text-font);
-  border: none;
-  background: none repeat scroll 0 0 var(--color-toolkit-select-background);
-  padding: 0.2rem 0.4rem;
-  height: 2rem;
-  border-radius: 5px;
-}
-#main_preferences .value input[type="text"]:hover,
-#main_preferences .value input[type="text"]:focus {
-  background-color: var(--color-toolkit-select-background-hover);
-}
-#main_preferences .value select:focus,
-#main_preferences .value input:focus {
-  outline: none;
-  box-shadow: 0 0 1px 1px var(--color-btn-background);
-}
-#main_preferences .description {
-  margin: 0;
-  padding: 5px 0 0 0;
-  float: left;
-  width: 50%;
-  color: var(--color-settings-engine-description-font);
-  font-size: 90%;
-}
-#main_preferences table {
-  border-collapse: collapse;
-}
-#main_preferences table td {
-  text-align: center;
-}
-#main_preferences table.cookies {
-  width: 100%;
-}
-#main_preferences table.cookies th,
-#main_preferences table.cookies td {
-  text-align: left;
-  font-family: monospace;
-  font-size: 1rem;
-  padding: 0.5em;
-  vertical-align: top;
-}
-#main_preferences table.cookies td:first-child {
-  word-break: keep-all;
-  width: 14rem;
-  padding-right: 1rem;
-}
-#main_preferences table.cookies td:last-child {
-  word-break: break-all;
-}
-#main_preferences table.cookies > tbody > tr:nth-child(even) > th,
-#main_preferences table.cookies > tbody > tr:nth-child(even) > td {
-  background-color: var(--color-settings-tr-hover);
-}
-#main_preferences .category {
-  margin-right: 0.5rem;
-}
-#main_preferences .category label {
-  border: 2px solid transparent;
-  padding: 0.2rem 0.4rem;
-  border-radius: 5px;
-}
-#main_preferences .category input[type="checkbox"]:checked + label {
-  border: 2px solid var(--color-categories-item-border-selected);
-}
-#main_preferences .name,
-#main_preferences .shortcut {
-  text-align: left;
-}
-#main_preferences .preferences_back {
-  background: none repeat scroll 0 0 var(--color-btn-background);
-  color: var(--color-btn-font);
-  border: 0 none;
-  border-radius: 10px;
-  cursor: pointer;
-  display: inline-block;
-  margin: 2px 4px;
-  padding: 0.7em;
-}
-#main_preferences .preferences_back a {
-  color: var(--color-settings-return-font);
-}
-#main_preferences .preferences_back a::first-letter {
-  text-transform: uppercase;
-}
-#main_preferences div.selectable_url pre {
-  width: 100%;
-}
-#main_preferences th.name .engine-tooltip {
-  margin-top: 1.8rem;
-  left: calc((100% - 85em) / 2 + 10em);
-  max-width: 40rem;
-}
-#main_preferences th.name .engine-tooltip .engine-description {
-  margin-top: 0.5rem;
-}
-@media screen and (max-width: 80em) {
-  .preferences_back {
-    clear: both;
-  }
-  .engine-tooltip {
-    left: 10em !important;
-  }
-}
-/*
-* SearXNG, A privacy-respecting, hackable metasearch engine
-*/
-#search {
-  padding: 0;
-  margin: 0;
-}
-#search_header {
-  padding: 1.5em 2em 0 7rem;
-  margin: 0;
-  background: var(--color-header-background);
-  border-bottom: 1px solid var(--color-header-border);
-  display: grid;
-  column-gap: 1.2rem;
-  row-gap: 1rem;
-  grid-template-columns: 3rem 1fr;
-  grid-template-areas: "logo search" "spacer categories";
-}
-.category {
-  display: inline-block;
-  position: relative;
-  margin-right: 1rem;
-  padding: 0;
-}
-.category input {
-  display: none;
-}
-.category label {
-  cursor: pointer;
-  padding: 0.2rem 0;
-  display: inline-flex;
-  text-transform: capitalize;
-  font-size: 0.9em;
-  border-bottom: 2px solid transparent;
-  -webkit-touch-callout: none;
-  -webkit-user-select: none;
-  -khtml-user-select: none;
-  -moz-user-select: none;
-  -ms-user-select: none;
-  user-select: none;
-}
-.category label svg {
-  padding-right: 0.2rem;
-}
-.category label div.category_name {
-  margin: auto 0;
-}
-.category input[type="checkbox"]:checked + label {
-  color: var(--color-categories-item-selected-font);
-  border-bottom: 2px solid var(--color-categories-item-border-selected);
-}
-#search_logo {
-  grid-area: logo;
-  display: flex;
-  align-items: center;
-  justify-content: center;
-}
-#search_logo svg {
-  flex: 1;
-  width: 30px;
-  height: 30px;
-  margin: 0.5rem 0 auto 0;
-}
-.search_categories {
-  grid-area: categories;
-}
-.search_box {
-  margin: 0;
-  padding: 0;
-  grid-area: search;
-  display: inline-flex;
-  flex-direction: row;
-  white-space: nowrap;
-}
-#clear_search {
-  display: block;
-  border-collapse: separate;
-  box-sizing: border-box;
-  width: 1.8em;
-  margin: 0;
-  padding: 8px 2px;
-  background: none repeat scroll 0 0 var(--color-search-background);
-  border-top: 1px solid var(--color-search-border);
-  border-bottom: 1px solid var(--color-search-border);
-  border-right: none;
-  border-left: none;
-  border-radius: 0;
-  outline: none;
-  color: var(--color-search-font);
-  font-size: 16px;
-  z-index: 10000;
-}
-#clear_search:hover {
-  color: var(--color-search-background-hover);
-}
-#clear_search.empty * {
-  display: none;
-}
-#q,
-#send_search {
-  display: block !important;
-  border-collapse: separate;
-  box-sizing: border-box;
-  margin: 0;
-  padding: 10px;
-  background: none repeat scroll 0 0 var(--color-search-background);
-  border: 1px solid var(--color-search-border);
-  border-radius: 0;
-  outline: none;
-  color: var(--color-search-font);
-  font-size: 16px;
-  z-index: 2;
-}
-#q {
-  outline: medium none;
-  padding-left: 12px;
-  padding-right: 0 !important;
-  border-right: none;
-  width: 40rem;
-  border-radius: 10px 0 0 10px;
-}
-#q::-ms-clear,
-#q::-webkit-search-cancel-button {
-  display: none;
-}
-#send_search {
-  border-left: none;
-  border-radius: 0 10px 10px 0;
-}
-#send_search:hover {
-  cursor: pointer;
-  background-color: var(--color-search-background-hover);
-  color: var(--color-search-background);
-}
-.no-js #clear_search,
-.no-js #send_search {
-  width: auto !important;
-  border-left: 1px solid var(--color-search-border);
-  padding: 10px;
-}
-.search_filters {
-  margin: 0.6rem 0 0 10.6rem;
-}
-.search_filters select {
-  background-color: inherit;
-}
-.search_filters select:hover,
-.search_filters select:focus {
-  color: var(--color-base-font);
-}
-@media screen and (max-width: 80em) {
-  #search_header {
-    padding: 1.5em 0.5rem 0 0.5rem;
-    column-gap: 0.5rem;
-  }
-  .search_filters {
-    margin: 0.6rem 0 0 3.5rem;
-  }
-  #categories {
-    font-size: 90%;
-    clear: both;
-  }
-  #categories .checkbox_container {
-    margin: auto;
-    margin-top: 2px;
-  }
-  html.touch #main_index #categories_container,
-  html.touch #main_results #categories_container {
-    width: 1000px;
-    width: -moz-max-content;
-    width: -webkit-max-content;
-    width: max-content;
-  }
-  html.touch #main_index #categories_container .category,
-  html.touch #main_results #categories_container .category {
-    display: inline-block;
-    width: auto;
-  }
-  html.touch #main_index #categories,
-  html.touch #main_results #categories {
-    width: 100%;
-    text-align: left;
-    overflow-x: scroll;
-    overflow-y: hidden;
-    -webkit-overflow-scrolling: touch;
-  }
-}
-@media screen and (max-width: 50em) {
-  #search_header {
-    width: 100%;
-    margin: 0;
-    padding: 0.1rem 0 0 0;
-    column-gap: 0;
-    row-gap: 0;
-    grid-template-areas: "logo search" "categories categories";
-  }
-  .search_logo {
-    padding: 0;
-  }
-  .search_box {
-    width: 99%;
-    display: flex;
-    flex-direction: row;
-  }
-  #q {
-    width: 100%;
-    flex: 1;
-  }
-  #main_results #q:placeholder-shown ~ #send_search {
-    margin-right: 2.6rem;
-    transition: margin-right 0.1s;
-  }
-  .search_filters {
-    margin: 0;
-  }
-  .language,
-  .time_range {
-    width: 45%;
-  }
-  .category {
-    display: block;
-    width: 100%;
-    margin: 0;
-  }
-  .category label {
-    padding: 0.8rem !important;
-    margin: 0 !important;
-  }
-  .category label svg {
-    display: none;
-  }
-}
-@media screen and (max-width: 20rem) {
-  #search_header {
-    grid-template-areas: "search search" "categories categories";
-  }
-  #search_logo {
-    display: none;
-  }
-}
-#categories {
-  -webkit-touch-callout: none;
-  -webkit-user-select: none;
-  -khtml-user-select: none;
-  -moz-user-select: none;
-  -ms-user-select: none;
-  user-select: none;
-}
-#categories::-webkit-scrollbar {
-  width: 0;
-  height: 0;
-}
-#categories_container {
-  position: relative;
-}
-.ion-icon {
-  display: inline-block;
-  vertical-align: bottom;
-  line-height: 1;
-  text-decoration: inherit;
-}
-.ion-icon-small {
-  width: 1rem;
-  height: 1rem;
-  display: inline-block;
-  vertical-align: bottom;
-  line-height: 1;
-  text-decoration: inherit;
-}
-.ion-icon-big {
-  width: 1.5rem;
-  height: 1.5rem;
-  display: inline-block;
-  vertical-align: bottom;
-  line-height: 1;
-  text-decoration: inherit;
-}
-html {
-  font-family: sans-serif;
-  font-size: 0.9em;
-  -webkit-text-size-adjust: 100%;
-  -ms-text-size-adjust: 100%;
-  -moz-text-size-adjust: 100%;
-  text-size-adjust: 100%;
-  color: var(--color-base-font);
-  background-color: var(--color-base-background);
-  padding: 0;
-  margin: 0;
-}
-body,
-main {
-  padding: 0;
-  margin: 0;
-}
-body {
-  display: flex;
-  flex-direction: column;
-  height: 100vh;
-  margin: 0;
-}
-main {
-  width: 100%;
-  margin-bottom: 2rem;
-  flex: 1;
-}
-#main_preferences,
-#main_about,
-#main_stats {
-  margin: 2em auto;
-  width: 85em;
-}
-footer {
-  clear: both;
-  min-height: 4rem;
-  padding: 1rem 0;
-  width: 100%;
-  text-align: center;
-  background-color: var(--color-footer-background);
-  border-top: 1px solid var(--color-footer-border);
-  overflow: hidden;
-}
-footer p {
-  font-size: 0.9em;
-}
-#main_preferences h1,
-#main_stats h1 {
-  background: url('../img/searxng.png') no-repeat;
-  background-size: contain;
-  min-height: 40px;
-  margin: 0 auto;
-}
-#main_preferences h1 span,
-#main_stats h1 span {
-  visibility: hidden;
-}
-input[type="submit"],
-#results button[type="submit"] {
-  padding: 0.7rem;
-  display: inline-block;
-  background: var(--color-btn-background);
-  color: var(--color-btn-font);
-  border-radius: 10px;
-  border: 0;
-  cursor: pointer;
-}
-a {
-  text-decoration: none;
-  color: var(--color-url-font);
-}
-a:visited {
-  color: var(--color-url-visited-font);
-}
-a:visited .highlight {
-  color: var(--color-url-visited-font);
-}
-article[data-vim-selected] {
-  background: var(--color-result-vim-selected);
-  border-left: 0.2rem solid var(--color-result-vim-arrow);
-  border-radius: 0 10px 10px 0;
-}
-article.result-images[data-vim-selected] {
-  background: var(--color-result-vim-arrow);
-  border: none;
-  border-radius: 10px;
-}
-article.result-images[data-vim-selected] .image_thumbnail {
-  filter: opacity(60%);
-}
-article[data-vim-selected].category-videos,
-article[data-vim-selected].category-news,
-article[data-vim-selected].category-map,
-article[data-vim-selected].category-music,
-article[data-vim-selected].category-files,
-article[data-vim-selected].category-social {
-  border: 1px solid var(--color-result-vim-arrow);
-  border-radius: 10px;
-}
-.result {
-  margin: 0.125rem 0;
-  padding: 1rem;
-  border-left: 0.2rem solid transparent;
-}
-.result h3 {
-  font-size: 1.2rem;
-  word-wrap: break-word;
-  margin: 0.4rem 0 0.4rem 0;
-  padding: 0;
-}
-.result h3 a {
-  color: var(--color-result-link-font);
-  font-weight: normal;
-  font-size: 1.1em;
-}
-.result h3 a:visited {
-  color: var(--color-result-link-visited-font);
-}
-.result h3 a:focus,
-.result h3 a:hover {
-  text-decoration: underline;
-  border: none;
-  outline: none;
-}
-.result .cache_link,
-.result .proxyfied_link {
-  font-size: 0.9em !important;
-}
-.result .content,
-.result .stat,
-.result .altlink {
-  font-size: 0.9em;
-  margin: 0;
-  padding: 0;
-  max-width: 54em;
-  word-wrap: break-word;
-  line-height: 1.24;
-}
-.result .content .highlight,
-.result .stat .highlight,
-.result .altlink .highlight {
-  color: var(--color-result-description-highlight-font);
-  background: inherit;
-  font-weight: bold;
-}
-.result .codelines .highlight {
-  color: inherit;
-  background: inherit;
-  font-weight: normal;
-}
-.result .url_wrapper {
-  display: flex;
-  font-size: 1rem;
-  color: var(--color-result-url-font);
-  flex-wrap: nowrap;
-  overflow: hidden;
-  flex-direction: row;
-  margin: 0;
-  padding: 0;
-}
-.result .url_wrapper .url_o1 {
-  white-space: nowrap;
-  flex-shrink: 1;
-}
-.result .url_wrapper .url_o1::after {
-  content: " ";
-  width: 1ch;
-  display: inline-block;
-}
-.result .url_wrapper .url_o2 {
-  overflow: hidden;
-  white-space: nowrap;
-  flex-basis: content;
-  flex-grow: 0;
-  flex-shrink: 1;
-  text-align: right;
-}
-.result .url_wrapper .url_o2 .url_i2 {
-  float: right;
-}
-.result .published_date {
-  font-size: 0.8em;
-  color: var(--color-result-publishdate-font);
-}
-.result img.thumbnail {
-  float: left;
-  padding: 0.6rem 1rem 0 0;
-  width: 20rem;
-}
-.result img.image {
-  float: left;
-  padding: 0.6rem 1rem 0 0;
-  width: 7rem;
-  max-height: 7rem;
-  object-fit: scale-down;
-  object-position: right top;
-}
-.result .break {
-  clear: both;
-}
-.category-videos,
-.category-news,
-.category-map,
-.category-music,
-.category-files,
-.category-social {
-  border: 1px solid var(--color-result-border);
-  margin: 1rem 0;
-  border-radius: 10px;
-}
-.category-social .image {
-  width: auto !important;
-  min-width: 48px;
-  min-height: 48px;
-  padding: 0 5px 25px 0 !important;
-}
-.result-videos .content {
-  overflow: hidden;
-}
-.engines {
-  float: right;
-  color: var(--color-result-engines-font);
-}
-.engines span {
-  font-size: smaller;
-  margin: 0 0.5em 0 0;
-}
-.small_font {
-  font-size: 0.8em;
-}
-.highlight {
-  color: var(--color-result-link-font-highlight);
-  background: inherit;
-}
-.empty_element {
-  font-style: italic;
-}
-.result-images {
-  display: inline-block;
-  margin: 0;
-  padding: 0;
-  position: relative;
-  max-height: 200px;
-  border: none !important;
-}
-.result-images img {
-  float: inherit;
-  margin: 0.125rem;
-  padding: 0;
-  border: none;
-  max-height: 200px;
-  background: var(--color-result-image-background);
-}
-.result-images span.title {
-  display: none;
-  color: var(--color-result-image-span-font);
-}
-.result-images:hover span.title {
-  display: block;
-  position: absolute;
-  bottom: 0;
-  right: 0;
-  padding: 4px;
-  margin: 0 0 4px 4px;
-  background-color: var(--color-result-image-span-background-hover);
-  font-size: 0.7em;
-}
-.result-map img.image {
-  float: right !important;
-  height: 100px !important;
-  width: auto !important;
-}
-.result-map table {
-  font-size: 0.9em;
-  width: auto;
-  border-collapse: separate;
-  border-spacing: 0 0.35rem;
-}
-.result-map table th {
-  font-weight: inherit;
-  width: 17rem;
-  vertical-align: top;
-  text-align: left;
-}
-.result-map table td {
-  vertical-align: top;
-  text-align: left;
-}
-.hidden {
-  display: none !important;
-}
-#results {
-  margin: 1rem 2rem 0 10rem;
-  display: grid;
-  grid-template-columns: 45rem 25rem;
-  grid-template-rows: min-content min-content 1fr min-content;
-  gap: 0 5rem;
-  grid-template-areas: "corrections sidebar" "answers sidebar" "urls sidebar" "pagination sidebar";
-}
-#results #sidebar *:first-child,
-#results #urls *:first-child {
-  margin-top: 0;
-}
-#urls {
-  padding: 0;
-  grid-area: urls;
-}
-#suggestions .wrapper {
-  display: flex;
-  flex-flow: row wrap;
-  justify-content: flex-end;
-}
-#suggestions .wrapper form {
-  display: inline-block;
-  flex: 1 1 50%;
-}
-#suggestions input,
-#infoboxes input {
-  padding: 0;
-  margin: 3px;
-  font-size: 0.9em;
-  display: inline-block;
-  background: transparent;
-  color: var(--color-result-search-url-font);
-  cursor: pointer;
-}
-#suggestions input[type="submit"],
-#infoboxes input[type="submit"],
-#suggestions .infobox .url a,
-#infoboxes .infobox .url a {
-  color: var(--color-result-link-font);
-  text-decoration: none;
-  font-size: 0.9rem;
-}
-#suggestions input[type="submit"]:hover,
-#infoboxes input[type="submit"]:hover,
-#suggestions .infobox .url a:hover,
-#infoboxes .infobox .url a:hover {
-  text-decoration: underline;
-}
-#corrections {
-  grid-area: corrections;
-  display: flex;
-  flex-flow: row wrap;
-  margin: 0 0 1em 0;
-}
-#corrections h4,
-#corrections input[type="submit"] {
-  display: inline-block;
-  padding: 0.5rem;
-  margin: 0.5rem;
-}
-#corrections input[type="submit"] {
-  font-size: 0.8rem;
-  border-radius: 5px;
-}
-#suggestions .title,
-#search_url .title,
-#apis .title {
-  margin: 2em 0 0.5em 0;
-  color: var(--color-base-font);
-}
-#answers {
-  grid-area: answers;
-  border: 1px solid var(--color-answer-border);
-  background: var(--color-answer-background);
-  padding: 1rem;
-  margin: 1rem 0;
-  margin-top: 0;
-  color: var(--color-answer-font);
-  border-radius: 10px;
-}
-#answers h4 {
-  display: none;
-}
-#infoboxes form {
-  min-width: 210px;
-}
-#sidebar {
-  grid-area: sidebar;
-  word-wrap: break-word;
-  color: var(--color-sidebar-font);
-}
-#sidebar .infobox {
-  margin: 10px 0 10px;
-  border: 1px solid var(--color-sidebar-border);
-  padding: 1rem;
-  font-size: 0.9em;
-  border-radius: 10px;
-}
-#sidebar .infobox h2 {
-  margin: 0 0 0.5em 0;
-}
-#sidebar .infobox img {
-  max-width: 100%;
-  max-height: 12em;
-  display: block;
-  margin: 0 auto;
-  padding: 0;
-}
-#sidebar .infobox dl {
-  margin: 0.5em 0;
-}
-#sidebar .infobox dt {
-  display: inline;
-  margin: 0.5em 0.25em 0.5em 0;
-  padding: 0;
-  font-weight: bold;
-}
-#sidebar .infobox dd {
-  display: inline;
-  margin: 0.5em 0;
-  padding: 0;
-}
-#sidebar .infobox input {
-  font-size: 1em;
-}
-#sidebar .infobox br {
-  clear: both;
-}
-#sidebar .infobox .attributes,
-#sidebar .infobox .urls {
-  clear: both;
-}
-#search_url {
-  margin-top: 8px;
-}
-#search_url div.selectable_url pre {
-  width: 200em;
-}
-#linkto_preferences {
-  position: absolute;
-  right: 10px;
-  top: 2.2rem;
-  padding: 0;
-  border: 0;
-  display: block;
-  font-size: 1.2em;
-  color: var(--color-search-font);
-}
-#linkto_preferences a:link *,
-#linkto_preferences a:hover *,
-#linkto_preferences a:visited *,
-#linkto_preferences a:active * {
-  color: var(--color-search-font);
-}
-#pagination {
-  grid-area: pagination;
-}
-#pagination br {
-  clear: both;
-}
-#apis {
-  margin-top: 8px;
-  clear: both;
-}
-#backToTop {
-  border: 1px solid var(--color-backtotop-border);
-  margin: 0;
-  padding: 0;
-  font-size: 1em;
-  background: var(--color-backtotop-background);
-  position: fixed;
-  bottom: 8rem;
-  left: 56.3rem;
-  transition: opacity 0.5s;
-  opacity: 0;
-  border-radius: 10px;
-}
-#backToTop a {
-  display: block;
-  margin: 0;
-  padding: 0.7em;
-}
-#backToTop a,
-#backToTop a:visited,
-#backToTop a:hover,
-#backToTop a:active {
-  color: var(--color-backtotop-font);
-}
-#results.scrolling #backToTop {
-  opacity: 1;
-}
-@media screen and (max-width: 80em) {
-  #main_preferences,
-  #main_about,
-  #main_stats {
-    margin: 2rem 0.5rem;
-    width: auto;
-  }
-  #infoboxes {
-    position: inherit;
-    max-width: inherit;
-  }
-  #infoboxes .infobox {
-    clear: both;
-  }
-  #infoboxes .infobox img {
-    float: left;
-    max-width: 10em;
-    margin: 0.5em 0.5em 0.5em 0;
-  }
-  #sidebar {
-    margin-bottom: 0.125rem;
-    padding: 0;
-    float: none;
-    border: none;
-    width: auto;
-  }
-  #sidebar input {
-    border: 0;
-  }
-  #apis {
-    display: none;
-  }
-  #search_url {
-    display: none;
-  }
-  .result .thumbnail {
-    max-width: 98%;
-  }
-  .result .url span.url {
-    display: block;
-    white-space: nowrap;
-    text-overflow: ellipsis;
-    overflow: hidden;
-    width: 100%;
-  }
-  .result .engines {
-    float: right;
-    padding: 0 0 3px 0;
-  }
-  .result-images {
-    border-bottom: none !important;
-  }
-  .image_result {
-    max-width: 98%;
-  }
-  .image_result img {
-    max-width: 98%;
-  }
-  #backToTop {
-    display: none;
-  }
-  #pagination {
-    margin: 2rem 0 0 0 !important;
-  }
-  #main_results div#results {
-    margin: 1rem auto 0 auto;
-    justify-content: center;
-    display: grid;
-    grid-template-columns: 45rem;
-    grid-template-rows: min-content min-content min-content 1fr min-content min-content;
-    gap: 0;
-    grid-template-areas: "corrections" "answers" "sidebar" "urls" "pagination";
-  }
-}
-#main_results div#results.only_template_images {
-  margin: 1rem 0.5rem 0 0.5rem;
-  display: grid;
-  grid-template-columns: 100%;
-  grid-template-rows: min-content min-content 1fr min-content min-content;
-  gap: 0;
-  grid-template-areas: "corrections" "urls" "answers" "sidebar" "pagination";
-}
-#main_results div#results.only_template_images #urls {
-  width: inherit;
-  margin: 0;
-}
-#main_results div#results.only_template_images #backToTop {
-  left: auto;
-  right: 1rem;
-}
-#main_results div#results.only_template_images #pagination {
-  margin-right: 4rem;
-}
-@media screen and (max-width: 50em) {
-  #main_results div#results {
-    grid-template-columns: 100%;
-    margin: 2rem 0.5rem 0 0.5rem;
-  }
-  #linkto_preferences {
-    top: 0.8rem;
-    right: 0.7rem;
-  }
-  #main_index #linkto_preferences {
-    top: 0.5rem;
-    right: 0.5rem;
-  }
-  #results {
-    margin: 0;
-    padding: 0;
-  }
-  #pagination {
-    margin: 2rem 1rem 0 1rem !important;
-  }
-  article[data-vim-selected] {
-    border: 1px solid var(--color-result-vim-arrow);
-    border-radius: 10px;
-  }
-  .result {
-    border: 1px solid var(--color-result-border);
-    margin: 1rem 0;
-    border-radius: 10px;
-  }
-  .result-images {
-    margin: 0;
-    padding: 0;
-    border: none;
-  }
-}
-@media screen and (max-width: 35em) {
-  .result-videos img.thumbnail {
-    float: none !important;
-  }
-  .result-videos .content {
-    overflow: inherit;
-  }
-}
-pre code {
-  white-space: pre-wrap;
-}

+ 8 - 33
searx/static/themes/simple/gruntfile.js

@@ -16,10 +16,8 @@ module.exports = function(grunt) {
         tasks: [
           'eslint',
           'copy',
-          'concat',
           'uglify',
-          'less:development',
-          'less:production',
+          'less',
           'image',
           'svg2png',
           'svg2jinja'
@@ -81,21 +79,6 @@ module.exports = function(grunt) {
         ]
       },
     },
-    concat: {
-      head_and_body: {
-        options: {
-          separator: ';'
-        },
-        files: {
-          'js/searxng.head.js': ['src/js/head/*.js'],
-          'js/searxng.js': [
-            'src/js/main/*.js',
-            '../__common__/js/*.js',
-            './node_modules/autocomplete-js/dist/autocomplete.js'
-          ]
-        }
-      }
-    },
     uglify: {
       options: {
         output: {
@@ -109,21 +92,16 @@ module.exports = function(grunt) {
       },
       dist: {
         files: {
-          'js/searxng.head.min.js': ['js/searxng.head.js'],
-          'js/searxng.min.js': ['js/searxng.js']
+          'js/searxng.head.min.js': ['src/js/head/*.js'],
+          'js/searxng.min.js': [
+            'src/js/main/*.js',
+            '../__common__/js/*.js',
+            './node_modules/autocomplete-js/dist/autocomplete.js'
+          ]
         }
       }
     },
     less: {
-      development: {
-        options: {
-          paths: ["less"],
-        },
-        files: {
-          "css/searxng.css": "src/less/style.less",
-          "css/searxng-rtl.css": "src/less/style-rtl.less"
-        }
-      },
       production: {
         options: {
           paths: ["less"],
@@ -288,7 +266,6 @@ module.exports = function(grunt) {
   grunt.loadNpmTasks('grunt-contrib-uglify');
   grunt.loadNpmTasks('grunt-image');
   grunt.loadNpmTasks('grunt-contrib-jshint');
-  grunt.loadNpmTasks('grunt-contrib-concat');
   grunt.loadNpmTasks('grunt-contrib-less');
   grunt.loadNpmTasks('grunt-contrib-cssmin');
   grunt.loadNpmTasks('grunt-stylelint');
@@ -300,10 +277,8 @@ module.exports = function(grunt) {
     'eslint',
     'stylelint',
     'copy',
-    'concat',
     'uglify',
-    'less:development',
-    'less:production',
+    'less',
     'image',
     'svg2png',
     'svg2jinja',

+ 0 - 40
searx/static/themes/simple/js/searxng.head.js

@@ -1,40 +0,0 @@
-/**
- * @license
- * (C) Copyright Contributors to the SearXNG project.
- * (C) Copyright Contributors to the searx project (2014 - 2021).
- * SPDX-License-Identifier: AGPL-3.0-or-later
- */
-/* global DocumentTouch:readonly */
-(function(w, d) {
-    'use strict';
-
-    // add data- properties
-    var script = d.currentScript  || (function() {
-        var scripts = d.getElementsByTagName('script');
-        return scripts[scripts.length - 1];
-    })();
-
-    // try to detect touch screen
-    w.searxng = {
-        touch: (("ontouchstart" in w) || w.DocumentTouch && document instanceof DocumentTouch) || false,
-        method: script.getAttribute('data-method'),
-        autocompleter: script.getAttribute('data-autocompleter') === 'true',
-        search_on_category_select: script.getAttribute('data-search-on-category-select') === 'true',
-        infinite_scroll: script.getAttribute('data-infinite-scroll') === 'true',
-        hotkeys: script.getAttribute('data-hotkeys') === 'true',
-        static_path: script.getAttribute('data-static-path'),
-        translations: JSON.parse(script.getAttribute('data-translations')),
-        theme : {
-            // image that is displayed if load of <img src='...'> failed
-            img_load_error: 'img/img_load_error.svg'
-        }
-    };
-
-    // update the css
-    var hmtlElement = d.getElementsByTagName("html")[0];
-    hmtlElement.classList.remove('no-js');
-    hmtlElement.classList.add('js');
-    if (w.searxng.touch) {
-        hmtlElement.classList.add('touch');
-    }
-})(window, document);

+ 0 - 1598
searx/static/themes/simple/js/searxng.js

@@ -1,1598 +0,0 @@
-/**
- * @license
- * (C) Copyright Contributors to the SearXNG project.
- * (C) Copyright Contributors to the searx project (2014 - 2021).
- * SPDX-License-Identifier: AGPL-3.0-or-later
- */
-window.searxng = (function(w, d) {
-
-  'use strict';
-
-  // not invented here tookit with bugs fixed elsewhere
-  // purposes : be just good enough and as small as possible
-
-  // from https://plainjs.com/javascript/events/live-binding-event-handlers-14/
-  if (w.Element) {
-    (function(ElementPrototype) {
-      ElementPrototype.matches = ElementPrototype.matches ||
-      ElementPrototype.matchesSelector ||
-      ElementPrototype.webkitMatchesSelector ||
-      ElementPrototype.msMatchesSelector ||
-      function(selector) {
-        var node = this, nodes = (node.parentNode || node.document).querySelectorAll(selector), i = -1;
-        while (nodes[++i] && nodes[i] != node);
-        return !!nodes[i];
-      };
-    })(Element.prototype);
-  }
-
-  function callbackSafe(callback, el, e) {
-    try {
-      callback.call(el, e);
-    } catch (exception) {
-      console.log(exception);
-    }
-  }
-
-  var searxng = window.searxng || {};
-
-  searxng.on = function(obj, eventType, callback, useCapture) {
-    useCapture = useCapture || false;
-    if (typeof obj !== 'string') {
-      // obj HTMLElement, HTMLDocument
-      obj.addEventListener(eventType, callback, useCapture);
-    } else {
-      // obj is a selector
-      d.addEventListener(eventType, function(e) {
-        var el = e.target || e.srcElement, found = false;
-        while (el && el.matches && el !== d && !(found = el.matches(obj))) el = el.parentElement;
-        if (found) callbackSafe(callback, el, e);
-      }, useCapture);
-    }
-  };
-
-  searxng.ready = function(callback) {
-    if (document.readyState != 'loading') {
-      callback.call(w);
-    } else {
-      w.addEventListener('DOMContentLoaded', callback.bind(w));
-    }
-  };
-
-  searxng.http = function(method, url) {
-    var req = new XMLHttpRequest(),
-    resolve = function() {},
-    reject = function() {},
-    promise = {
-      then: function(callback) { resolve = callback; return promise; },
-      catch: function(callback) { reject = callback; return promise; }
-    };
-
-    try {
-      req.open(method, url, true);
-
-      // On load
-      req.onload = function() {
-        if (req.status == 200) {
-          resolve(req.response, req.responseType);
-        } else {
-          reject(Error(req.statusText));
-        }
-      };
-
-      // Handle network errors
-      req.onerror = function() {
-        reject(Error("Network Error"));
-      };
-
-      req.onabort = function() {
-        reject(Error("Transaction is aborted"));
-      };
-
-      // Make the request
-      req.send();
-    } catch (ex) {
-      reject(ex);
-    }
-
-    return promise;
-  };
-
-  searxng.loadStyle = function(src) {
-    var path = searxng.static_path + src,
-    id = "style_" + src.replace('.', '_'),
-    s = d.getElementById(id);
-    if (s === null) {
-      s = d.createElement('link');
-      s.setAttribute('id', id);
-      s.setAttribute('rel', 'stylesheet');
-      s.setAttribute('type', 'text/css');
-      s.setAttribute('href', path);
-      d.body.appendChild(s);
-    }
-  };
-
-  searxng.loadScript = function(src, callback) {
-    var path = searxng.static_path + src,
-    id = "script_" + src.replace('.', '_'),
-    s = d.getElementById(id);
-    if (s === null) {
-      s = d.createElement('script');
-      s.setAttribute('id', id);
-      s.setAttribute('src', path);
-      s.onload = callback;
-      s.onerror = function() {
-        s.setAttribute('error', '1');
-      };
-      d.body.appendChild(s);
-    } else if (!s.hasAttribute('error')) {
-      try {
-        callback.apply(s, []);
-      } catch (exception) {
-        console.log(exception);
-      }
-    } else {
-      console.log("callback not executed : script '" + path + "' not loaded.");
-    }
-  };
-
-  searxng.insertBefore = function (newNode, referenceNode) {
-    referenceNode.parentNode.insertBefore(newNode, referenceNode);
-  };
-
-  searxng.insertAfter = function(newNode, referenceNode) {
-    referenceNode.parentNode.insertAfter(newNode, referenceNode.nextSibling);
-  };  
-
-  searxng.on('.close', 'click', function() {
-    this.parentNode.classList.add('invisible');
-  });
-  
-  return searxng;
-})(window, document);
-;/* SPDX-License-Identifier: AGPL-3.0-or-later */
-/*global searxng*/
-
-searxng.ready(function() {
-
-  function isElementInDetail(el) {
-    while (el !== undefined) {
-      if (el.classList.contains('detail')) {
-        return true;
-      }
-      if (el.classList.contains('result')) {
-        // we found a result, no need to go to the root of the document:
-        // el is not inside a <div class="detail"> element
-        return false;
-      }
-      el = el.parentNode;
-    }
-    return false;
-  }
-
-  function getResultElement(el) {
-    while (el !== undefined) {
-      if (el.classList.contains('result')) {
-        return el;
-      }
-      el = el.parentNode;
-    }
-    return undefined;
-  }
-
-  function isImageResult(resultElement) {
-    return resultElement && resultElement.classList.contains('result-images');
-  }
-
-  searxng.on('.result', 'click', function(e) {
-    if (!isElementInDetail(e.target)) {
-      highlightResult(this)(true);
-      let resultElement = getResultElement(e.target);
-      if (isImageResult(resultElement)) {
-        e.preventDefault();
-        searxng.selectImage(resultElement);
-      }
-    }
-  });
-
-  searxng.on('.result a', 'focus', function(e) {
-    if (!isElementInDetail(e.target)) {
-      let resultElement = getResultElement(e.target);
-      if (resultElement && resultElement.getAttribute("data-vim-selected") === null) {
-        highlightResult(resultElement)(true);
-      }
-      if (isImageResult(resultElement)) {
-        searxng.selectImage(resultElement);
-      }
-    }
-  }, true);
-
-  var vimKeys = {
-    27: {
-      key: 'Escape',
-      fun: removeFocus,
-      des: 'remove focus from the focused input',
-      cat: 'Control'
-    },
-    73: {
-      key: 'i',
-      fun: searchInputFocus,
-      des: 'focus on the search input',
-      cat: 'Control'
-    },
-    66: {
-      key: 'b',
-      fun: scrollPage(-window.innerHeight),
-      des: 'scroll one page up',
-      cat: 'Navigation'
-    },
-    70: {
-      key: 'f',
-      fun: scrollPage(window.innerHeight),
-      des: 'scroll one page down',
-      cat: 'Navigation'
-    },
-    85: {
-      key: 'u',
-      fun: scrollPage(-window.innerHeight / 2),
-      des: 'scroll half a page up',
-      cat: 'Navigation'
-    },
-    68: {
-      key: 'd',
-      fun: scrollPage(window.innerHeight / 2),
-      des: 'scroll half a page down',
-      cat: 'Navigation'
-    },
-    71: {
-      key: 'g',
-      fun: scrollPageTo(-document.body.scrollHeight, 'top'),
-      des: 'scroll to the top of the page',
-      cat: 'Navigation'
-    },
-    86: {
-      key: 'v',
-      fun: scrollPageTo(document.body.scrollHeight, 'bottom'),
-      des: 'scroll to the bottom of the page',
-      cat: 'Navigation'
-    },
-    75: {
-      key: 'k',
-      fun: highlightResult('up'),
-      des: 'select previous search result',
-      cat: 'Results'
-    },
-    74: {
-      key: 'j',
-      fun: highlightResult('down'),
-      des: 'select next search result',
-      cat: 'Results'
-    },
-    80: {
-      key: 'p',
-      fun: GoToPreviousPage(),
-      des: 'go to previous page',
-      cat: 'Results'
-    },
-    78: {
-      key: 'n',
-      fun: GoToNextPage(),
-      des: 'go to next page',
-      cat: 'Results'
-    },
-    79: {
-      key: 'o',
-      fun: openResult(false),
-      des: 'open search result',
-      cat: 'Results'
-    },
-    84: {
-      key: 't',
-      fun: openResult(true),
-      des: 'open the result in a new tab',
-      cat: 'Results'
-    },
-    82: {
-      key: 'r',
-      fun: reloadPage,
-      des: 'reload page from the server',
-      cat: 'Control'
-    },
-    72: {
-      key: 'h',
-      fun: toggleHelp,
-      des: 'toggle help window',
-      cat: 'Other'
-    }
-  };
-
-  if (searxng.hotkeys) {
-    searxng.on(document, "keydown", function(e) {
-      // check for modifiers so we don't break browser's hotkeys
-      if (Object.prototype.hasOwnProperty.call(vimKeys, e.keyCode) && !e.ctrlKey && !e.altKey && !e.shiftKey && !e.metaKey) {
-        var tagName = e.target.tagName.toLowerCase();
-        if (e.keyCode === 27) {
-          vimKeys[e.keyCode].fun(e);
-        } else {
-          if (e.target === document.body || tagName === 'a' || tagName === 'button') {
-            e.preventDefault();
-            vimKeys[e.keyCode].fun();
-          }
-        }
-      }
-    });
-  }
-
-  function highlightResult(which) {
-    return function(noScroll) {
-      var current = document.querySelector('.result[data-vim-selected]'),
-      effectiveWhich = which;
-      if (current === null) {
-        // no selection : choose the first one
-        current = document.querySelector('.result');
-        if (current === null) {
-          // no first one : there are no results
-          return;
-        }
-        // replace up/down actions by selecting first one
-        if (which === "down" || which === "up") {
-          effectiveWhich = current;
-        }
-      }
-
-      var next, results = document.querySelectorAll('.result');
-
-      if (typeof effectiveWhich !== 'string') {
-        next = effectiveWhich;
-      } else {
-        switch (effectiveWhich) {
-          case 'visible':
-          var top = document.documentElement.scrollTop || document.body.scrollTop;
-          var bot = top + document.documentElement.clientHeight;
-
-          for (var i = 0; i < results.length; i++) {
-            next = results[i];
-            var etop = next.offsetTop;
-            var ebot = etop + next.clientHeight;
-
-            if ((ebot <= bot) && (etop > top)) {
-              break;
-            }
-          }
-          break;
-          case 'down':
-          next = current.nextElementSibling;
-          if (next === null) {
-            next = results[0];
-          }
-          break;
-          case 'up':
-          next = current.previousElementSibling;
-          if (next === null) {
-            next = results[results.length - 1];
-          }
-          break;
-          case 'bottom':
-          next = results[results.length - 1];
-          break;
-          case 'top':
-          /* falls through */
-          default:
-          next = results[0];
-        }
-      }
-
-      if (next) {
-        current.removeAttribute('data-vim-selected');
-        next.setAttribute('data-vim-selected', 'true');
-        var link = next.querySelector('h3 a') || next.querySelector('a');
-        if (link !== null) {
-          link.focus();
-        }
-        if (!noScroll) {
-          scrollPageToSelected();
-        }
-      }
-    };
-  }
-
-  function reloadPage() {
-    document.location.reload(true);
-  }
-
-  function removeFocus(e) {
-    const tagName = e.target.tagName.toLowerCase();
-    if (document.activeElement && (tagName === 'input' || tagName === 'select' || tagName === 'textarea')) {
-      document.activeElement.blur();
-    } else {
-      searxng.closeDetail();
-    }
-  }
-
-  function pageButtonClick(css_selector) {
-    return function() {
-      var button = document.querySelector(css_selector);
-      if (button) {
-        button.click();
-      }
-    };
-  }
-
-  function GoToNextPage() {
-    return pageButtonClick('nav#pagination .next_page button[type="submit"]');
-  }
-
-  function GoToPreviousPage() {
-    return pageButtonClick('nav#pagination .previous_page button[type="submit"]');
-  }
-
-  function scrollPageToSelected() {
-    var sel = document.querySelector('.result[data-vim-selected]');
-    if (sel === null) {
-      return;
-    }
-    var wtop = document.documentElement.scrollTop || document.body.scrollTop,
-    wheight = document.documentElement.clientHeight,
-    etop = sel.offsetTop,
-    ebot = etop + sel.clientHeight,
-    offset = 120;
-    // first element ?
-    if ((sel.previousElementSibling === null) && (ebot < wheight)) {
-      // set to the top of page if the first element
-      // is fully included in the viewport
-      window.scroll(window.scrollX, 0);
-      return;
-    }
-    if (wtop > (etop - offset)) {
-      window.scroll(window.scrollX, etop - offset);
-    } else {
-      var wbot = wtop + wheight;
-      if (wbot < (ebot + offset)) {
-        window.scroll(window.scrollX, ebot - wheight + offset);
-      }
-    }
-  }
-
-  function scrollPage(amount) {
-    return function() {
-      window.scrollBy(0, amount);
-      highlightResult('visible')();
-    };
-  }
-
-  function scrollPageTo(position, nav) {
-    return function() {
-      window.scrollTo(0, position);
-      highlightResult(nav)();
-    };
-  }
-
-  function searchInputFocus() {
-    window.scrollTo(0, 0);
-    document.querySelector('#q').focus();
-  }
-
-  function openResult(newTab) {
-    return function() {
-      var link = document.querySelector('.result[data-vim-selected] h3 a');
-      if (link === null) {
-        link = document.querySelector('.result[data-vim-selected] > a');
-      }
-      if (link !== null) {
-        var url = link.getAttribute('href');
-        if (newTab) {
-          window.open(url);
-        } else {
-          window.location.href = url;
-        }
-      }
-    };
-  }
-
-  function initHelpContent(divElement) {
-    var categories = {};
-
-    for (var k in vimKeys) {
-      var key = vimKeys[k];
-      categories[key.cat] = categories[key.cat] || [];
-      categories[key.cat].push(key);
-    }
-
-    var sorted = Object.keys(categories).sort(function(a, b) {
-      return categories[b].length - categories[a].length;
-    });
-
-    if (sorted.length === 0) {
-      return;
-    }
-
-    var html = '<a href="#" class="close" aria-label="close" title="close">×</a>';
-    html += '<h3>How to navigate searx with Vim-like hotkeys</h3>';
-    html += '<table>';
-
-    for (var i = 0; i < sorted.length; i++) {
-      var cat = categories[sorted[i]];
-
-      var lastCategory = i === (sorted.length - 1);
-      var first = i % 2 === 0;
-
-      if (first) {
-        html += '<tr>';
-      }
-      html += '<td>';
-
-      html += '<h4>' + cat[0].cat + '</h4>';
-      html += '<ul class="list-unstyled">';
-
-      for (var cj in cat) {
-        html += '<li><kbd>' + cat[cj].key + '</kbd> ' + cat[cj].des + '</li>';
-      }
-
-      html += '</ul>';
-      html += '</td>'; // col-sm-*
-
-      if (!first || lastCategory) {
-        html += '</tr>'; // row
-      }
-    }
-
-    html += '</table>';
-
-     divElement.innerHTML = html;
-  }
-
-  function toggleHelp() {
-    var helpPanel = document.querySelector('#vim-hotkeys-help');
-    if (helpPanel === undefined || helpPanel === null) {
-       // first call
-      helpPanel = document.createElement('div');
-         helpPanel.id = 'vim-hotkeys-help';
-        helpPanel.className='dialog-modal';
-      initHelpContent(helpPanel);
-			initHelpContent(helpPanel);					
-      initHelpContent(helpPanel);
-      var body = document.getElementsByTagName('body')[0];
-      body.appendChild(helpPanel);
-    } else {
-       // togggle hidden
-      helpPanel.classList.toggle('invisible');
-      return;
-    }
-  }
-
-  searxng.scrollPageToSelected = scrollPageToSelected;
-  searxng.selectNext = highlightResult('down');
-  searxng.selectPrevious = highlightResult('up');
-});
-;/* SPDX-License-Identifier: AGPL-3.0-or-later */
-/* global L */
-(function (w, d, searxng) {
-  'use strict';
-
-  searxng.ready(function () {
-    searxng.on('.searxng_init_map', 'click', function(event) {
-      // no more request
-      this.classList.remove("searxng_init_map");
-
-      //
-      var leaflet_target = this.dataset.leafletTarget;
-      var map_lon = parseFloat(this.dataset.mapLon);
-      var map_lat = parseFloat(this.dataset.mapLat);
-      var map_zoom = parseFloat(this.dataset.mapZoom);
-      var map_boundingbox = JSON.parse(this.dataset.mapBoundingbox);
-      var map_geojson = JSON.parse(this.dataset.mapGeojson);
-
-      searxng.loadStyle('css/leaflet.css');
-      searxng.loadScript('js/leaflet.js', function() {
-        var map_bounds = null;
-        if(map_boundingbox) {
-          var southWest = L.latLng(map_boundingbox[0], map_boundingbox[2]);
-          var northEast = L.latLng(map_boundingbox[1], map_boundingbox[3]);
-          map_bounds = L.latLngBounds(southWest, northEast);
-        }
-
-        // init map
-        var map = L.map(leaflet_target);
-        // create the tile layer with correct attribution
-        var osmMapnikUrl='https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png';
-        var osmMapnikAttrib='Map data © <a href="https://openstreetmap.org">OpenStreetMap</a> contributors';
-        var osmMapnik = new L.TileLayer(osmMapnikUrl, {minZoom: 1, maxZoom: 19, attribution: osmMapnikAttrib});
-        var osmWikimediaUrl='https://maps.wikimedia.org/osm-intl/{z}/{x}/{y}.png';
-        var osmWikimediaAttrib = 'Wikimedia maps | Maps data © <a href="https://openstreetmap.org">OpenStreetMap contributors</a>';
-        var osmWikimedia = new L.TileLayer(osmWikimediaUrl, {minZoom: 1, maxZoom: 19, attribution: osmWikimediaAttrib});
-        // init map view
-        if(map_bounds) {
-          // TODO hack: https://github.com/Leaflet/Leaflet/issues/2021
-          // Still useful ?
-          setTimeout(function () {
-            map.fitBounds(map_bounds, {
-              maxZoom:17
-            });
-          }, 0);
-        } else if (map_lon && map_lat) {
-          if(map_zoom) {
-            map.setView(new L.latLng(map_lat, map_lon),map_zoom);
-          } else {
-            map.setView(new L.latLng(map_lat, map_lon),8);
-          }
-        }
-
-        map.addLayer(osmMapnik);
-
-        var baseLayers = {
-          "OSM Mapnik": osmMapnik,
-          "OSM Wikimedia": osmWikimedia,
-        };
-
-        L.control.layers(baseLayers).addTo(map);
-
-        if(map_geojson) {
-          L.geoJson(map_geojson).addTo(map);
-        } /*else if(map_bounds) {
-          L.rectangle(map_bounds, {color: "#ff7800", weight: 3, fill:false}).addTo(map);
-        }*/
-      });
-
-      // this event occour only once per element
-      event.preventDefault();
-    });
-  });
-})(window, document, window.searxng);
-;/* SPDX-License-Identifier: AGPL-3.0-or-later */
-(function (w, d, searxng) {
-    'use strict';
-
-    searxng.ready(function() {
-        let engine_descriptions = null;
-        function load_engine_descriptions() {
-            if (engine_descriptions == null) {
-                searxng.http("GET", "engine_descriptions.json").then(function(content) {
-                    engine_descriptions = JSON.parse(content);
-                    for (const [engine_name, description] of Object.entries(engine_descriptions)) {
-                        let elements = d.querySelectorAll('[data-engine-name="' + engine_name + '"] .engine-description');
-                        for(const element of elements) {
-                            let source = ' (<i>' + searxng.translations['Source'] + ':&nbsp;' + description[1] + '</i>)';
-                            element.innerHTML = description[0] + source;
-                        }
-                    }
-                });
-            }
-        }
-
-        if (d.querySelector('body[class="preferences_endpoint"]')) {
-            for(const el of d.querySelectorAll('[data-engine-name]')) {
-                searxng.on(el, 'mouseenter', load_engine_descriptions);
-            }
-        }
-    });
-})(window, document, window.searxng);
-;/* SPDX-License-Identifier: AGPL-3.0-or-later */
-(function(w, d, searxng) {
-  'use strict';
-
-  searxng.ready(function() {
-    searxng.image_thumbnail_layout = new searxng.ImageLayout('#urls', '#urls .result-images', 'img.image_thumbnail', 14, 6, 200);
-    searxng.image_thumbnail_layout.watch();
-
-    searxng.on('.btn-collapse', 'click', function() {
-      var btnLabelCollapsed = this.getAttribute('data-btn-text-collapsed');
-      var btnLabelNotCollapsed = this.getAttribute('data-btn-text-not-collapsed');
-      var target = this.getAttribute('data-target');
-      var targetElement = d.querySelector(target);
-      var html = this.innerHTML;
-      if (this.classList.contains('collapsed')) {
-        html = html.replace(btnLabelCollapsed, btnLabelNotCollapsed);
-      } else {
-        html = html.replace(btnLabelNotCollapsed, btnLabelCollapsed);
-      }
-      this.innerHTML = html;
-      this.classList.toggle('collapsed');
-      targetElement.classList.toggle('invisible');
-    });
-
-    searxng.on('.media-loader', 'click', function() {
-      var target = this.getAttribute('data-target');
-      var iframe_load = d.querySelector(target + ' > iframe');
-      var srctest = iframe_load.getAttribute('src');
-      if (srctest === null || srctest === undefined || srctest === false) {
-        iframe_load.setAttribute('src', iframe_load.getAttribute('data-src'));
-      }
-    });
-
-    searxng.selectImage = function(resultElement) {
-      /*eslint no-unused-vars: 0*/
-      if (resultElement) {
-        // load full size image in background
-        const imgElement = resultElement.querySelector('.result-images-source img');
-        const thumbnailElement = resultElement.querySelector('.image_thumbnail');
-        const detailElement = resultElement.querySelector('.detail');
-        if (imgElement) {
-          const imgSrc = imgElement.getAttribute('data-src');
-          if (imgSrc) {
-            const loader = d.createElement('div');
-            const imgLoader = new Image();
-
-            loader.classList.add('loader');
-            detailElement.appendChild(loader);
-
-            imgLoader.onload = e => {
-              imgElement.src = imgSrc;
-              loader.remove();
-            };
-            imgLoader.onerror = e => {
-              loader.remove();
-            };
-            imgLoader.src = imgSrc;
-            imgElement.src = thumbnailElement.src;
-            imgElement.removeAttribute('data-src');
-          }
-        }
-      }
-      d.getElementById('results').classList.add('image-detail-open');
-      searxng.image_thumbnail_layout.align();
-      searxng.scrollPageToSelected();
-    }
-
-    searxng.closeDetail = function(e) {
-      d.getElementById('results').classList.remove('image-detail-open');
-      searxng.image_thumbnail_layout.align();
-      searxng.scrollPageToSelected();
-    }
-    searxng.on('.result-detail-close', 'click', e => { 
-      e.preventDefault();
-      searxng.closeDetail();
-    });
-    searxng.on('.result-detail-previous', 'click', e => searxng.selectPrevious(false));
-    searxng.on('.result-detail-next', 'click', e => searxng.selectNext(false));
-
-    w.addEventListener('scroll', function() {
-      var e = d.getElementById('backToTop'),
-      scrollTop = document.documentElement.scrollTop || document.body.scrollTop,
-      results = d.getElementById('results');
-      if (e !== null) {
-        if (scrollTop >= 100) {
-          results.classList.add('scrolling');
-        } else {
-          results.classList.remove('scrolling');
-        }
-      }
-    }, true);
-
-  });
-
-})(window, document, window.searxng);
-;/* SPDX-License-Identifier: AGPL-3.0-or-later */
-/* global AutoComplete */
-(function(w, d, searxng) {
-  'use strict';
-
-  var firstFocus = true, qinput_id = "q", qinput;
-
-  function placeCursorAtEnd(element) {
-    if (element.setSelectionRange) {
-      var len = element.value.length;
-      element.setSelectionRange(len, len);
-    }
-  }
-
-  function submitIfQuery() {
-    if (qinput.value.length  > 0) {
-      var search = document.getElementById('search');
-      setTimeout(search.submit.bind(search), 0);
-    }
-  }
-
-  function createClearButton(qinput) {
-    var cs = document.getElementById('clear_search');
-    var updateClearButton = function() {
-      if (qinput.value.length === 0) {
-	cs.classList.add("empty");
-      } else {
-	cs.classList.remove("empty");
-      }
-    };
-
-    // update status, event listener
-    updateClearButton();
-    cs.addEventListener('click', function() {
-      qinput.value='';
-      qinput.focus();
-      updateClearButton();
-    });
-    qinput.addEventListener('keyup', updateClearButton, false);
-  }
-
-  searxng.ready(function() {
-    qinput = d.getElementById(qinput_id);
-
-    function placeCursorAtEndOnce() {
-      if (firstFocus) {
-        placeCursorAtEnd(qinput);
-        firstFocus = false;
-      } else {
-        // e.preventDefault();
-      }
-    }
-
-    if (qinput !== null) {
-      // clear button
-      createClearButton(qinput);
-      
-      // autocompleter
-      if (searxng.autocompleter) {
-        searxng.autocomplete = AutoComplete.call(w, {
-          Url: "./autocompleter",
-          EmptyMessage: searxng.translations.no_item_found,
-          HttpMethod: searxng.method,
-          HttpHeaders: {
-            "Content-type": "application/x-www-form-urlencoded",
-            "X-Requested-With": "XMLHttpRequest"
-          },
-          MinChars: 4,
-          Delay: 300,
-        }, "#" + qinput_id);
-
-        // hack, see : https://github.com/autocompletejs/autocomplete.js/issues/37
-        w.addEventListener('resize', function() {
-          var event = new CustomEvent("position");
-          qinput.dispatchEvent(event);
-        });
-      }
-
-      qinput.addEventListener('focus', placeCursorAtEndOnce, false);
-      qinput.focus();
-    }
-
-    // vanilla js version of search_on_category_select.js
-    if (qinput !== null && d.querySelector('.help') != null && searxng.search_on_category_select) {
-      d.querySelector('.help').className='invisible';
-
-      searxng.on('#categories input', 'change', function() {
-        var i, categories = d.querySelectorAll('#categories input[type="checkbox"]');
-        for(i=0; i<categories.length; i++) {
-          if (categories[i] !== this && categories[i].checked) {
-            categories[i].click();
-          }
-        }
-        if (! this.checked) {
-          this.click();
-        }
-        submitIfQuery();
-        return false;
-      });
-
-      searxng.on(d.getElementById('safesearch'), 'change', submitIfQuery);
-      searxng.on(d.getElementById('time_range'), 'change', submitIfQuery);
-      searxng.on(d.getElementById('language'), 'change', submitIfQuery);
-    }
-
-  });
-
-})(window, document, window.searxng);
-;/**
-*
-* Google Image Layout v0.0.1
-* Description, by Anh Trinh.
-* Heavily modified for searx
-* https://ptgamr.github.io/2014-09-12-google-image-layout/
-* https://ptgamr.github.io/google-image-layout/src/google-image-layout.js
-*
-* @license Free to use under the MIT License.
-*
-* @example <caption>Example usage of searxng.ImageLayout class.</caption>
-* searxng.image_thumbnail_layout = new searxng.ImageLayout(
-*     '#urls',                 // container_selector
-*     '#urls .result-images',  // results_selector
-*     'img.image_thumbnail',   // img_selector
-*     14,                      // verticalMargin
-*     6,                       // horizontalMargin
-*     200                      // maxHeight
-* );
-* searxng.image_thumbnail_layout.watch();
-*/
-
-
-(function (w, d) {
-  function ImageLayout(container_selector, results_selector, img_selector, verticalMargin, horizontalMargin, maxHeight) {
-    this.container_selector = container_selector;
-    this.results_selector = results_selector;
-    this.img_selector = img_selector;
-    this.verticalMargin = verticalMargin;
-    this.horizontalMargin = horizontalMargin;
-    this.maxHeight = maxHeight;
-    this.isAlignDone = true;
-  }
-
-  /**
-  * Get the height that make all images fit the container
-  *
-  * width = w1 + w2 + w3 + ... = r1*h + r2*h + r3*h + ...
-  *
-  * @param  {[type]} images the images to be calculated
-  * @param  {[type]} width  the container witdth
-  * @param  {[type]} margin the margin between each image
-  *
-  * @return {[type]}        the height
-  */
-  ImageLayout.prototype._getHeigth = function (images, width) {
-    var i, img;
-    var r = 0;
-
-    for (i = 0; i < images.length; i++) {
-      img = images[i];
-      if ((img.naturalWidth > 0) && (img.naturalHeight > 0)) {
-        r += img.naturalWidth / img.naturalHeight;
-      } else {
-        // assume that not loaded images are square
-        r += 1;
-      }
-    }
-
-    return (width - images.length * this.verticalMargin) / r; //have to round down because Firefox will automatically roundup value with number of decimals > 3
-  };
-
-  ImageLayout.prototype._setSize = function (images, height) {
-    var i, img, imgWidth;
-    var imagesLength = images.length, resultNode;
-
-    for (i = 0; i < imagesLength; i++) {
-      img = images[i];
-      if ((img.naturalWidth > 0) && (img.naturalHeight > 0)) {
-        imgWidth = height * img.naturalWidth / img.naturalHeight;
-      } else {
-        // not loaded image : make it square as _getHeigth said it
-        imgWidth = height;
-      }
-      img.style.width = imgWidth + 'px';
-      img.style.height = height + 'px';
-      img.style.marginLeft = this.horizontalMargin + 'px';
-      img.style.marginTop = this.horizontalMargin + 'px';
-      img.style.marginRight = this.verticalMargin - 7 + 'px'; // -4 is the negative margin of the inline element
-      img.style.marginBottom = this.verticalMargin - 7 + 'px';
-      resultNode = img.parentNode.parentNode;
-      if (!resultNode.classList.contains('js')) {
-        resultNode.classList.add('js');
-      }
-    }
-  };
-
-  ImageLayout.prototype._alignImgs = function (imgGroup) {
-    var isSearching, slice, i, h;
-    var containerElement = d.querySelector(this.container_selector);
-    var containerCompStyles = window.getComputedStyle(containerElement);
-    var containerPaddingLeft = parseInt(containerCompStyles.getPropertyValue('padding-left'), 10);
-    var containerPaddingRight = parseInt(containerCompStyles.getPropertyValue('padding-right'), 10);
-    var containerWidth = containerElement.clientWidth - containerPaddingLeft - containerPaddingRight;
-
-    while (imgGroup.length > 0) {
-      isSearching = true;
-      for (i = 1; i <= imgGroup.length && isSearching; i++) {
-        slice = imgGroup.slice(0, i);
-        h = this._getHeigth(slice, containerWidth);
-        if (h < this.maxHeight) {
-          this._setSize(slice, h);
-          // continue with the remaining images
-          imgGroup = imgGroup.slice(i);
-          isSearching = false;
-        }
-      }
-      if (isSearching) {
-        this._setSize(slice, Math.min(this.maxHeight, h));
-        break;
-      }
-    }
-  };
-
-  ImageLayout.prototype.align = function () {
-    var i;
-    var results_selectorNode = d.querySelectorAll(this.results_selector);
-    var results_length = results_selectorNode.length;
-    var previous = null;
-    var current = null;
-    var imgGroup = [];
-
-    for (i = 0; i < results_length; i++) {
-      current = results_selectorNode[i];
-      if (current.previousElementSibling !== previous && imgGroup.length > 0) {
-        // the current image is not connected to previous one
-        // so the current image is the start of a new group of images.
-        // so call _alignImgs to align the current group
-        this._alignImgs(imgGroup);
-        // and start a new empty group of images
-        imgGroup = [];
-      }
-      // add the current image to the group (only the img tag)
-      imgGroup.push(current.querySelector(this.img_selector));
-      // update the previous variable
-      previous = current;
-    }
-    // align the remaining images
-    if (imgGroup.length > 0) {
-      this._alignImgs(imgGroup);
-    }
-  };
-
-  ImageLayout.prototype.watch = function () {
-    var i, img;
-    var obj = this;
-    var results_nodes = d.querySelectorAll(this.results_selector);
-    var results_length = results_nodes.length;
-
-    function img_load_error(event) {
-      // console.log("ERROR can't load: " + event.originalTarget.src);
-      event.originalTarget.src = w.searxng.static_path + w.searxng.theme.img_load_error;
-    }
-
-    function throttleAlign() {
-      if (obj.isAlignDone) {
-        obj.isAlignDone = false;
-        setTimeout(function () {
-          obj.align();
-          obj.isAlignDone = true;
-        }, 100);
-      }
-    }
-
-    // https://developer.mozilla.org/en-US/docs/Web/API/Window/pageshow_event
-    w.addEventListener('pageshow', throttleAlign);
-    // https://developer.mozilla.org/en-US/docs/Web/API/FileReader/load_event
-    w.addEventListener('load', throttleAlign);
-    // https://developer.mozilla.org/en-US/docs/Web/API/Window/resize_event
-    w.addEventListener('resize', throttleAlign);
-
-    for (i = 0; i < results_length; i++) {
-      img = results_nodes[i].querySelector(this.img_selector);
-      if (img !== null && img !== undefined) {
-        img.addEventListener('load', throttleAlign);
-        // https://developer.mozilla.org/en-US/docs/Web/API/GlobalEventHandlers/onerror
-        img.addEventListener('error', throttleAlign);
-        if (w.searxng.theme.img_load_error) {
-          img.addEventListener('error', img_load_error, {once: true});
-        }
-      }
-    }
-  };
-
-  w.searxng.ImageLayout = ImageLayout;
-
-}(window, document));
-;(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){
-/*
- * @license MIT
- *
- * Autocomplete.js v2.7.1
- * Developed by Baptiste Donaux
- * http://autocomplete-js.com
- *
- * (c) 2017, Baptiste Donaux
- */
-"use strict";
-var ConditionOperator;
-(function (ConditionOperator) {
-    ConditionOperator[ConditionOperator["AND"] = 0] = "AND";
-    ConditionOperator[ConditionOperator["OR"] = 1] = "OR";
-})(ConditionOperator || (ConditionOperator = {}));
-var EventType;
-(function (EventType) {
-    EventType[EventType["KEYDOWN"] = 0] = "KEYDOWN";
-    EventType[EventType["KEYUP"] = 1] = "KEYUP";
-})(EventType || (EventType = {}));
-/**
- * Core
- *
- * @class
- * @author Baptiste Donaux <baptiste.donaux@gmail.com> @baptistedonaux
- */
-var AutoComplete = /** @class */ (function () {
-    // Constructor
-    function AutoComplete(params, selector) {
-        if (params === void 0) { params = {}; }
-        if (selector === void 0) { selector = "[data-autocomplete]"; }
-        if (Array.isArray(selector)) {
-            selector.forEach(function (s) {
-                new AutoComplete(params, s);
-            });
-        }
-        else if (typeof selector == "string") {
-            var elements = document.querySelectorAll(selector);
-            Array.prototype.forEach.call(elements, function (input) {
-                new AutoComplete(params, input);
-            });
-        }
-        else {
-            var specificParams = AutoComplete.merge(AutoComplete.defaults, params, {
-                DOMResults: document.createElement("div")
-            });
-            AutoComplete.prototype.create(specificParams, selector);
-            return specificParams;
-        }
-    }
-    AutoComplete.prototype.create = function (params, element) {
-        params.Input = element;
-        if (params.Input.nodeName.match(/^INPUT$/i) && (params.Input.hasAttribute("type") === false || params.Input.getAttribute("type").match(/^TEXT|SEARCH$/i))) {
-            params.Input.setAttribute("autocomplete", "off");
-            params._Position(params);
-            params.Input.parentNode.appendChild(params.DOMResults);
-            params.$Listeners = {
-                blur: params._Blur.bind(params),
-                destroy: AutoComplete.prototype.destroy.bind(null, params),
-                focus: params._Focus.bind(params),
-                keyup: AutoComplete.prototype.event.bind(null, params, EventType.KEYUP),
-                keydown: AutoComplete.prototype.event.bind(null, params, EventType.KEYDOWN),
-                position: params._Position.bind(params)
-            };
-            for (var event in params.$Listeners) {
-                params.Input.addEventListener(event, params.$Listeners[event]);
-            }
-        }
-    };
-    AutoComplete.prototype.getEventsByType = function (params, type) {
-        var mappings = {};
-        for (var key in params.KeyboardMappings) {
-            var event = EventType.KEYUP;
-            if (params.KeyboardMappings[key].Event !== undefined) {
-                event = params.KeyboardMappings[key].Event;
-            }
-            if (event == type) {
-                mappings[key] = params.KeyboardMappings[key];
-            }
-        }
-        return mappings;
-    };
-    AutoComplete.prototype.event = function (params, type, event) {
-        var eventIdentifier = function (condition) {
-            if ((match === true && mapping.Operator == ConditionOperator.AND) || (match === false && mapping.Operator == ConditionOperator.OR)) {
-                condition = AutoComplete.merge({
-                    Not: false
-                }, condition);
-                if (condition.hasOwnProperty("Is")) {
-                    if (condition.Is == event.keyCode) {
-                        match = !condition.Not;
-                    }
-                    else {
-                        match = condition.Not;
-                    }
-                }
-                else if (condition.hasOwnProperty("From") && condition.hasOwnProperty("To")) {
-                    if (event.keyCode >= condition.From && event.keyCode <= condition.To) {
-                        match = !condition.Not;
-                    }
-                    else {
-                        match = condition.Not;
-                    }
-                }
-            }
-        };
-        for (var name in AutoComplete.prototype.getEventsByType(params, type)) {
-            var mapping = AutoComplete.merge({
-                Operator: ConditionOperator.AND
-            }, params.KeyboardMappings[name]), match = ConditionOperator.AND == mapping.Operator;
-            mapping.Conditions.forEach(eventIdentifier);
-            if (match === true) {
-                mapping.Callback.call(params, event);
-            }
-        }
-    };
-    AutoComplete.prototype.makeRequest = function (params, callback, callbackErr) {
-        var propertyHttpHeaders = Object.getOwnPropertyNames(params.HttpHeaders), request = new XMLHttpRequest(), method = params._HttpMethod(), url = params._Url(), queryParams = params._Pre(), queryParamsStringify = encodeURIComponent(params._QueryArg()) + "=" + encodeURIComponent(queryParams);
-        if (method.match(/^GET$/i)) {
-            if (url.indexOf("?") !== -1) {
-                url += "&" + queryParamsStringify;
-            }
-            else {
-                url += "?" + queryParamsStringify;
-            }
-        }
-        request.open(method, url, true);
-        for (var i = propertyHttpHeaders.length - 1; i >= 0; i--) {
-            request.setRequestHeader(propertyHttpHeaders[i], params.HttpHeaders[propertyHttpHeaders[i]]);
-        }
-        request.onreadystatechange = function () {
-            if (request.readyState == 4 && request.status == 200) {
-                params.$Cache[queryParams] = request.response;
-                callback(request.response);
-            }
-            else if (request.status >= 400) {
-                callbackErr();
-            }
-        };
-        return request;
-    };
-    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(params._QueryArg() + "=" + params._Pre());
-        }
-    };
-    AutoComplete.prototype.cache = function (params, callback, callbackErr) {
-        var response = params._Cache(params._Pre());
-        if (response === undefined) {
-            var request = AutoComplete.prototype.makeRequest(params, callback, callbackErr);
-            AutoComplete.prototype.ajax(params, request);
-        }
-        else {
-            callback(response);
-        }
-    };
-    AutoComplete.prototype.destroy = function (params) {
-        for (var event in params.$Listeners) {
-            params.Input.removeEventListener(event, params.$Listeners[event]);
-        }
-        params.DOMResults.parentNode.removeChild(params.DOMResults);
-    };
-    AutoComplete.merge = function () {
-        var merge = {}, tmp;
-        for (var i = 0; i < arguments.length; i++) {
-            for (tmp in arguments[i]) {
-                merge[tmp] = arguments[i][tmp];
-            }
-        }
-        return merge;
-    };
-    AutoComplete.defaults = {
-        Delay: 150,
-        EmptyMessage: "No result here",
-        Highlight: {
-            getRegex: function (value) {
-                return new RegExp(value, "ig");
-            },
-            transform: function (value) {
-                return "<strong>" + value + "</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 (event) {
-                    if (this.DOMResults.getAttribute("class").indexOf("open") != -1) {
-                        var liActive = this.DOMResults.querySelector("li.active");
-                        if (liActive !== null) {
-                            event.preventDefault();
-                            this._Select(liActive);
-                            this.DOMResults.setAttribute("class", "autocomplete");
-                        }
-                    }
-                },
-                Operator: ConditionOperator.AND,
-                Event: EventType.KEYDOWN
-            },
-            "KeyUpAndDown_down": {
-                Conditions: [{
-                        Is: 38,
-                        Not: false
-                    },
-                    {
-                        Is: 40,
-                        Not: false
-                    }],
-                Callback: function (event) {
-                    event.preventDefault();
-                },
-                Operator: ConditionOperator.OR,
-                Event: EventType.KEYDOWN
-            },
-            "KeyUpAndDown_up": {
-                Conditions: [{
-                        Is: 38,
-                        Not: false
-                    },
-                    {
-                        Is: 40,
-                        Not: false
-                    }],
-                Callback: function (event) {
-                    event.preventDefault();
-                    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");
-                    if (active) {
-                        var currentIndex = Array.prototype.indexOf.call(active.parentNode.children, active), position = currentIndex + (event.keyCode - 39), lisCount = this.DOMResults.getElementsByTagName("li").length;
-                        if (position < 0) {
-                            position = lisCount - 1;
-                        }
-                        else if (position >= lisCount) {
-                            position = 0;
-                        }
-                        active.classList.remove("active");
-                        active.parentElement.children.item(position).classList.add("active");
-                    }
-                    else if (last && event.keyCode == 38) {
-                        last.classList.add("active");
-                    }
-                    else if (first) {
-                        first.classList.add("active");
-                    }
-                },
-                Operator: ConditionOperator.OR,
-                Event: EventType.KEYUP
-            },
-            "AlphaNum": {
-                Conditions: [{
-                        Is: 13,
-                        Not: true
-                    }, {
-                        From: 35,
-                        To: 40,
-                        Not: true
-                    }],
-                Callback: function () {
-                    var oldValue = this.Input.getAttribute("data-autocomplete-old-value"), currentValue = this._Pre();
-                    if (currentValue !== "" && currentValue.length >= this._MinChars()) {
-                        if (!oldValue || currentValue != oldValue) {
-                            this.DOMResults.setAttribute("class", "autocomplete open");
-                        }
-                        AutoComplete.prototype.cache(this, function (response) {
-                            this._Render(this._Post(response));
-                            this._Open();
-                        }.bind(this), this._Error);
-                    }
-                    else {
-                        this._Close();
-                    }
-                },
-                Operator: ConditionOperator.AND,
-                Event: EventType.KEYUP
-            }
-        },
-        DOMResults: null,
-        Request: null,
-        Input: null,
-        /**
-         * Return the message when no result returns
-         */
-        _EmptyMessage: function () {
-            var emptyMessage = "";
-            if (this.Input.hasAttribute("data-autocomplete-empty-message")) {
-                emptyMessage = this.Input.getAttribute("data-autocomplete-empty-message");
-            }
-            else if (this.EmptyMessage !== false) {
-                emptyMessage = this.EmptyMessage;
-            }
-            else {
-                emptyMessage = "";
-            }
-            return emptyMessage;
-        },
-        /**
-         * Returns the maximum number of results
-         */
-        _Limit: function () {
-            var limit = this.Input.getAttribute("data-autocomplete-limit");
-            if (isNaN(limit) || limit === null) {
-                return this.Limit;
-            }
-            return parseInt(limit, 10);
-        },
-        /**
-         * Returns the minimum number of characters entered before firing ajax
-         */
-        _MinChars: function () {
-            var minchars = this.Input.getAttribute("data-autocomplete-minchars");
-            if (isNaN(minchars) || minchars === null) {
-                return this.MinChars;
-            }
-            return parseInt(minchars, 10);
-        },
-        /**
-         * Apply transformation on labels response
-         */
-        _Highlight: function (label) {
-            return label.replace(this.Highlight.getRegex(this._Pre()), this.Highlight.transform);
-        },
-        /**
-         * Returns the HHTP method to use
-         */
-        _HttpMethod: function () {
-            if (this.Input.hasAttribute("data-autocomplete-method")) {
-                return this.Input.getAttribute("data-autocomplete-method");
-            }
-            return this.HttpMethod;
-        },
-        /**
-         * Returns the query param to use
-         */
-        _QueryArg: function () {
-            if (this.Input.hasAttribute("data-autocomplete-param-name")) {
-                return this.Input.getAttribute("data-autocomplete-param-name");
-            }
-            return this.QueryArg;
-        },
-        /**
-         * Returns the URL to use for AJAX request
-         */
-        _Url: function () {
-            if (this.Input.hasAttribute("data-autocomplete")) {
-                return this.Input.getAttribute("data-autocomplete");
-            }
-            return this.Url;
-        },
-        /**
-         * Manage the close
-         */
-        _Blur: function (now) {
-            if (now === void 0) { now = false; }
-            if (now) {
-                this._Close();
-            }
-            else {
-                var params = this;
-                setTimeout(function () {
-                    params._Blur(true);
-                }, 150);
-            }
-        },
-        /**
-         * Manage the cache
-         */
-        _Cache: function (value) {
-            return this.$Cache[value];
-        },
-        /**
-         * Manage the open
-         */
-        _Focus: function () {
-            var oldValue = this.Input.getAttribute("data-autocomplete-old-value");
-            if ((!oldValue || this.Input.value != oldValue) && this._MinChars() <= this.Input.value.length) {
-                this.DOMResults.setAttribute("class", "autocomplete open");
-            }
-        },
-        /**
-         * Bind all results item if one result is opened
-         */
-        _Open: function () {
-            var params = this;
-            Array.prototype.forEach.call(this.DOMResults.getElementsByTagName("li"), function (li) {
-                if (li.getAttribute("class") != "locked") {
-                    li.onclick = function () {
-                        params._Select(li);
-                    };
-                }
-            });
-        },
-        _Close: function () {
-            this.DOMResults.setAttribute("class", "autocomplete");
-        },
-        /**
-         * Position the results HTML element
-         */
-        _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;");
-        },
-        /**
-         * Execute the render of results DOM element
-         */
-        _Render: function (response) {
-            var ul;
-            if (typeof response == "string") {
-                ul = this._RenderRaw(response);
-            }
-            else {
-                ul = this._RenderResponseItems(response);
-            }
-            if (this.DOMResults.hasChildNodes()) {
-                this.DOMResults.removeChild(this.DOMResults.childNodes[0]);
-            }
-            this.DOMResults.appendChild(ul);
-        },
-        /**
-         * ResponseItems[] rendering
-         */
-        _RenderResponseItems: function (response) {
-            var ul = document.createElement("ul"), li = document.createElement("li"), limit = this._Limit();
-            // Order
-            if (limit < 0) {
-                response = response.reverse();
-            }
-            else if (limit === 0) {
-                limit = response.length;
-            }
-            for (var item = 0; item < Math.min(Math.abs(limit), response.length); item++) {
-                li.innerHTML = response[item].Label;
-                li.setAttribute("data-autocomplete-value", response[item].Value);
-                ul.appendChild(li);
-                li = document.createElement("li");
-            }
-            return ul;
-        },
-        /**
-         * string response rendering (RAW HTML)
-         */
-        _RenderRaw: function (response) {
-            var ul = document.createElement("ul"), li = document.createElement("li");
-            if (response.length > 0) {
-                this.DOMResults.innerHTML = response;
-            }
-            else {
-                var emptyMessage = this._EmptyMessage();
-                if (emptyMessage !== "") {
-                    li.innerHTML = emptyMessage;
-                    li.setAttribute("class", "locked");
-                    ul.appendChild(li);
-                }
-            }
-            return ul;
-        },
-        /**
-         * Deal with request response
-         */
-        _Post: function (response) {
-            try {
-                var returnResponse = [];
-                //JSON return
-                var json = JSON.parse(response);
-                if (Object.keys(json).length === 0) {
-                    return "";
-                }
-                if (Array.isArray(json)) {
-                    for (var i = 0; i < Object.keys(json).length; i++) {
-                        returnResponse[returnResponse.length] = { "Value": json[i], "Label": this._Highlight(json[i]) };
-                    }
-                }
-                else {
-                    for (var value in json) {
-                        returnResponse.push({
-                            "Value": value,
-                            "Label": this._Highlight(json[value])
-                        });
-                    }
-                }
-                return returnResponse;
-            }
-            catch (event) {
-                //HTML return
-                return response;
-            }
-        },
-        /**
-         * Return the autocomplete value to send (before request)
-         */
-        _Pre: function () {
-            return this.Input.value;
-        },
-        /**
-         * Choice one result item
-         */
-        _Select: function (item) {
-            if (item.hasAttribute("data-autocomplete-value")) {
-                this.Input.value = item.getAttribute("data-autocomplete-value");
-            }
-            else {
-                this.Input.value = item.innerHTML;
-            }
-            this.Input.setAttribute("data-autocomplete-old-value", this.Input.value);
-        },
-        /**
-         * Handle HTTP error on the request
-         */
-        _Error: function () {
-        },
-        $AjaxTimer: null,
-        $Cache: {},
-        $Listeners: {}
-    };
-    return AutoComplete;
-}());
-module.exports = AutoComplete;
-
-},{}]},{},[1])(1)
-});

+ 0 - 1
searx/static/themes/simple/package.json

@@ -2,7 +2,6 @@
   "devDependencies": {
     "eslint": "^8.0.1",
     "grunt": "~1.4.1",
-    "grunt-contrib-concat": "~2.0.0",
     "grunt-contrib-copy": "^1.0.0",
     "grunt-contrib-cssmin": "^4.0.0",
     "grunt-contrib-jshint": "~3.1.1",