diff --git a/.editorconfig b/.editorconfig
index 772f3b5a9..d7776ac2c 100644
--- a/.editorconfig
+++ b/.editorconfig
@@ -11,10 +11,10 @@ end_of_line = lf
charset = utf-8
[*.py]
-max_line_length = 119
+max_line_length = 79
[*.html]
-indent_size = 4
+indent_size = 2
[*.css]
indent_size = 2
diff --git a/client/simple/src/less/style.less b/client/simple/src/less/style.less
index 4725f7db8..df7710b83 100644
--- a/client/simple/src/less/style.less
+++ b/client/simple/src/less/style.less
@@ -19,6 +19,7 @@
@import "new_issue.less";
@import "stats.less";
@import "result_templates.less";
+@import "weather.less";
// for index.html template
@import "index.less";
diff --git a/client/simple/src/less/weather.less b/client/simple/src/less/weather.less
new file mode 100644
index 000000000..f037ec9d7
--- /dev/null
+++ b/client/simple/src/less/weather.less
@@ -0,0 +1,20 @@
+#answers .weather {
+ img.thumbnail {
+ padding: 0;
+ width: 5rem;
+ }
+
+ table {
+ background-color: var(--color-result-keyvalue-table);
+ }
+
+ tr.odd {
+ background-color: var(--color-result-keyvalue-odd);
+ padding: 0;
+ }
+
+ tr.even {
+ background-color: var(--color-result-keyvalue-even);
+ padding: 0;
+ }
+}
diff --git a/docs/src/searx.weather.rst b/docs/src/searx.weather.rst
new file mode 100644
index 000000000..6ee2a1848
--- /dev/null
+++ b/docs/src/searx.weather.rst
@@ -0,0 +1,8 @@
+.. _weather:
+
+=======
+Weather
+=======
+
+.. automodule:: searx.weather
+ :members:
diff --git a/searx/babel_extract.py b/searx/babel_extract.py
index f50756a48..65705efd6 100644
--- a/searx/babel_extract.py
+++ b/searx/babel_extract.py
@@ -45,6 +45,14 @@ def extract(
namespace = {}
exec(fileobj.read(), {}, namespace) # pylint: disable=exec-used
- for name in namespace['__all__']:
- for k, v in namespace[name].items():
- yield 0, '_', v, ["%s['%s']" % (name, k)]
+ for obj_name in namespace['__all__']:
+ obj = namespace[obj_name]
+ if isinstance(obj, list):
+ for msg in obj:
+ # (lineno, funcname, message, comments)
+ yield 0, '_', msg, [f"{obj_name}"]
+ elif isinstance(obj, dict):
+ for k, msg in obj.items():
+ yield 0, '_', msg, [f"{obj_name}['{k}']"]
+ else:
+ raise ValueError(f"{obj_name} should be list or dict")
diff --git a/searx/cache.py b/searx/cache.py
index ea6c17be9..3579ef281 100644
--- a/searx/cache.py
+++ b/searx/cache.py
@@ -226,7 +226,7 @@ class ExpireCacheSQLite(sqlitedb.SQLiteAppl, ExpireCache):
# The key/value tables will be created on demand by self.create_table
DDL_CREATE_TABLES = {}
- CACHE_TABLE_PREFIX = "CACHE-TABLE-"
+ CACHE_TABLE_PREFIX = "CACHE-TABLE"
def __init__(self, cfg: ExpireCacheCfg):
"""An instance of the SQLite expire cache is build up from a
diff --git a/searx/engines/open_meteo.py b/searx/engines/open_meteo.py
index c1b0ca567..bbd0c72b8 100644
--- a/searx/engines/open_meteo.py
+++ b/searx/engines/open_meteo.py
@@ -3,15 +3,17 @@
from urllib.parse import urlencode, quote_plus
from datetime import datetime
-from flask_babel import gettext
from searx.network import get
from searx.exceptions import SearxEngineAPIException
+from searx.result_types import EngineResults, WeatherAnswer
+from searx import weather
+
about = {
- "website": 'https://open-meteo.com',
+ "website": "https://open-meteo.com",
"wikidata_id": None,
- "official_api_documentation": 'https://open-meteo.com/en/docs',
+ "official_api_documentation": "https://open-meteo.com/en/docs",
"use_official_api": True,
"require_api_key": False,
"results": "JSON",
@@ -22,7 +24,17 @@ categories = ["weather"]
geo_url = "https://geocoding-api.open-meteo.com"
api_url = "https://api.open-meteo.com"
-data_of_interest = "temperature_2m,relative_humidity_2m,apparent_temperature,cloud_cover,pressure_msl,wind_speed_10m,wind_direction_10m" # pylint: disable=line-too-long
+data_of_interest = (
+ "temperature_2m",
+ "apparent_temperature",
+ "relative_humidity_2m",
+ "apparent_temperature",
+ "cloud_cover",
+ "pressure_msl",
+ "wind_speed_10m",
+ "wind_direction_10m",
+ "weather_code",
+)
def request(query, params):
@@ -38,81 +50,113 @@ def request(query, params):
location = json_locations[0]
args = {
- 'latitude': location['latitude'],
- 'longitude': location['longitude'],
- 'timeformat': 'unixtime',
- 'format': 'json',
- 'current': data_of_interest,
- 'forecast_days': 7,
- 'hourly': data_of_interest,
+ "latitude": location["latitude"],
+ "longitude": location["longitude"],
+ "timeformat": "unixtime",
+ "format": "json",
+ "current": ",".join(data_of_interest),
+ "forecast_days": 3,
+ "hourly": ",".join(data_of_interest),
}
- params['url'] = f"{api_url}/v1/forecast?{urlencode(args)}"
+ params["url"] = f"{api_url}/v1/forecast?{urlencode(args)}"
+ params["location"] = location["name"]
return params
-def c_to_f(temperature):
- return "%.2f" % ((temperature * 1.8) + 32)
+# https://open-meteo.com/en/docs#weather_variable_documentation
+# https://nrkno.github.io/yr-weather-symbols/
+#
+# F I X M E:
+#
+# Based on the weather icons, we should check again whether this mapping
+# table needs to be corrected ..
+#
+WMO_TO_CONDITION: dict[int, weather.WeatherConditionType] = {
+ # 0 Clear sky
+ 0: "clear sky",
+ # 1, 2, 3 Mainly clear, partly cloudy, and overcast
+ 1: "fair",
+ 2: "partly cloudy",
+ 3: "cloudy",
+ # 45, 48 Fog and depositing rime fog
+ 45: "fog",
+ 48: "fog",
+ # 51, 53, 55 Drizzle: Light, moderate, and dense intensity
+ 51: "light rain",
+ 53: "light rain",
+ 55: "light rain",
+ # 56, 57 Freezing Drizzle: Light and dense intensity
+ 56: "light sleet showers",
+ 57: "light sleet",
+ # 61, 63, 65 Rain: Slight, moderate and heavy intensity
+ 61: "light rain",
+ 63: "rain",
+ 65: "heavy rain",
+ # 66, 67 Freezing Rain: Light and heavy intensity
+ 66: "light sleet showers",
+ 67: "light sleet",
+ # 71, 73, 75 Snow fall: Slight, moderate, and heavy intensity
+ 71: "light sleet",
+ 73: "sleet",
+ 75: "heavy sleet",
+ # 77 Snow grains
+ 77: "snow",
+ # 80, 81, 82 Rain showers: Slight, moderate, and violent
+ 80: "light rain showers",
+ 81: "rain showers",
+ 82: "heavy rain showers",
+ # 85, 86 Snow showers slight and heavy
+ 85: "snow showers",
+ 86: "heavy snow showers",
+ # 95 Thunderstorm: Slight or moderate
+ 95: "rain and thunder",
+ # 96, 99 Thunderstorm with slight and heavy hail
+ 96: "light snow and thunder",
+ 99: "heavy snow and thunder",
+}
-def get_direction(degrees):
- if degrees < 45 or degrees >= 315:
- return "N"
+def _weather_data(location, data):
- if 45 <= degrees < 135:
- return "O"
-
- if 135 <= degrees < 225:
- return "S"
-
- return "W"
-
-
-def generate_condition_table(condition):
- res = ""
-
- res += (
- f"
{gettext('Temperature')} | "
- f"{condition['temperature_2m']}°C / {c_to_f(condition['temperature_2m'])}°F |
"
+ return WeatherAnswer.Item(
+ location=location,
+ temperature=weather.Temperature(unit="°C", value=data["temperature_2m"]),
+ condition=WMO_TO_CONDITION[data["weather_code"]],
+ feels_like=weather.Temperature(unit="°C", value=data["apparent_temperature"]),
+ wind_from=weather.Compass(data["wind_direction_10m"]),
+ wind_speed=weather.WindSpeed(data["wind_speed_10m"], unit="km/h"),
+ pressure=weather.Pressure(data["pressure_msl"], unit="hPa"),
+ humidity=weather.RelativeHumidity(data["relative_humidity_2m"]),
+ cloud_cover=data["cloud_cover"],
)
- res += (
- f"{gettext('Feels like')} | {condition['apparent_temperature']}°C / "
- f"{c_to_f(condition['apparent_temperature'])}°F |
"
- )
-
- res += (
- f"{gettext('Wind')} | {get_direction(condition['wind_direction_10m'])}, "
- f"{condition['wind_direction_10m']}° — "
- f"{condition['wind_speed_10m']} km/h |
"
- )
-
- res += f"{gettext('Cloud cover')} | {condition['cloud_cover']}% | "
-
- res += f"
{gettext('Humidity')} | {condition['relative_humidity_2m']}% |
"
-
- res += f"{gettext('Pressure')} | {condition['pressure_msl']}hPa |
"
-
- return res
-
def response(resp):
- data = resp.json()
+ res = EngineResults()
+ json_data = resp.json()
- table_content = generate_condition_table(data['current'])
+ location = resp.search_params["location"]
+ weather_answer = WeatherAnswer(
+ current=_weather_data(location, json_data["current"]),
+ service="Open-meteo",
+ url="https://open-meteo.com/en/docs",
+ )
- infobox = f""
+ for index, time in enumerate(json_data["hourly"]["time"]):
+
+ if time < json_data["current"]["time"]:
+ # Cut off the hours that are already in the past
+ continue
- for index, time in enumerate(data['hourly']['time']):
hourly_data = {}
+ for key in data_of_interest:
+ hourly_data[key] = json_data["hourly"][key][index]
- for key in data_of_interest.split(","):
- hourly_data[key] = data['hourly'][key][index]
+ forecast_data = _weather_data(location, hourly_data)
+ forecast_data.time = datetime.fromtimestamp(time).strftime("%Y-%m-%d %H:%M")
+ weather_answer.forecasts.append(forecast_data)
- table_content = generate_condition_table(hourly_data)
-
- infobox += f"{datetime.fromtimestamp(time).strftime('%Y-%m-%d %H:%M')}
"
- infobox += f""
-
- return [{'infobox': 'Open Meteo', 'content': infobox}]
+ res.add(weather_answer)
+ return res
diff --git a/searx/plugins/unit_converter.py b/searx/plugins/unit_converter.py
index 2bab598f2..8cefd1760 100644
--- a/searx/plugins/unit_converter.py
+++ b/searx/plugins/unit_converter.py
@@ -15,7 +15,7 @@ import babel.numbers
from flask_babel import gettext, get_locale
-from searx import data
+from searx.wikidata_units import symbol_to_si
from searx.plugins import Plugin, PluginInfo
from searx.result_types import EngineResults
@@ -86,132 +86,6 @@ RE_MEASURE = r'''
'''
-ADDITIONAL_UNITS = [
- {
- "si_name": "Q11579",
- "symbol": "°C",
- "to_si": lambda val: val + 273.15,
- "from_si": lambda val: val - 273.15,
- },
- {
- "si_name": "Q11579",
- "symbol": "°F",
- "to_si": lambda val: (val + 459.67) * 5 / 9,
- "from_si": lambda val: (val * 9 / 5) - 459.67,
- },
-]
-"""Additional items to convert from a measure unit to a SI unit (vice versa).
-
-.. code:: python
-
- {
- "si_name": "Q11579", # Wikidata item ID of the SI unit (Kelvin)
- "symbol": "°C", # symbol of the measure unit
- "to_si": lambda val: val + 273.15, # convert measure value (val) to SI unit
- "from_si": lambda val: val - 273.15, # convert SI value (val) measure unit
- },
- {
- "si_name": "Q11573",
- "symbol": "mi",
- "to_si": 1609.344, # convert measure value (val) to SI unit
- "from_si": 1 / 1609.344 # convert SI value (val) measure unit
- },
-
-The values of ``to_si`` and ``from_si`` can be of :py:obj:`float` (a multiplier)
-or a callable_ (val in / converted value returned).
-
-.. _callable: https://docs.python.org/3/glossary.html#term-callable
-"""
-
-
-ALIAS_SYMBOLS = {
- '°C': ('C',),
- '°F': ('F',),
- 'mi': ('L',),
-}
-"""Alias symbols for known unit of measure symbols / by example::
-
- '°C': ('C', ...), # list of alias symbols for °C (Q69362731)
- '°F': ('F', ...), # list of alias symbols for °F (Q99490479)
- 'mi': ('L',), # list of alias symbols for mi (Q253276)
-"""
-
-
-SYMBOL_TO_SI = []
-
-
-def symbol_to_si():
- """Generates a list of tuples, each tuple is a measure unit and the fields
- in the tuple are:
-
- 0. Symbol of the measure unit (e.g. 'mi' for measure unit 'miles' Q253276)
-
- 1. SI name of the measure unit (e.g. Q11573 for SI unit 'metre')
-
- 2. Factor to get SI value from measure unit (e.g. 1mi is equal to SI 1m
- multiplied by 1609.344)
-
- 3. Factor to get measure value from from SI value (e.g. SI 100m is equal to
- 100mi divided by 1609.344)
-
- The returned list is sorted, the first items are created from
- ``WIKIDATA_UNITS``, the second group of items is build from
- :py:obj:`ADDITIONAL_UNITS` and items created from :py:obj:`ALIAS_SYMBOLS`.
-
- If you search this list for a symbol, then a match with a symbol from
- Wikidata has the highest weighting (first hit in the list), followed by the
- symbols from the :py:obj:`ADDITIONAL_UNITS` and the lowest weighting is
- given to the symbols resulting from the aliases :py:obj:`ALIAS_SYMBOLS`.
-
- """
-
- global SYMBOL_TO_SI # pylint: disable=global-statement
- if SYMBOL_TO_SI:
- return SYMBOL_TO_SI
-
- # filter out units which can't be normalized to a SI unit and filter out
- # units without a symbol / arcsecond does not have a symbol
- # https://www.wikidata.org/wiki/Q829073
-
- for item in data.WIKIDATA_UNITS.values():
- if item['to_si_factor'] and item['symbol']:
- SYMBOL_TO_SI.append(
- (
- item['symbol'],
- item['si_name'],
- 1 / item['to_si_factor'], # from_si
- item['to_si_factor'], # to_si
- item['symbol'],
- )
- )
-
- for item in ADDITIONAL_UNITS:
- SYMBOL_TO_SI.append(
- (
- item['symbol'],
- item['si_name'],
- item['from_si'],
- item['to_si'],
- item['symbol'],
- )
- )
-
- alias_items = []
- for item in SYMBOL_TO_SI:
- for alias in ALIAS_SYMBOLS.get(item[0], ()):
- alias_items.append(
- (
- alias,
- item[1],
- item[2], # from_si
- item[3], # to_si
- item[0], # origin unit
- )
- )
- SYMBOL_TO_SI = SYMBOL_TO_SI + alias_items
- return SYMBOL_TO_SI
-
-
def _parse_text_and_convert(from_query, to_query) -> str | None:
# pylint: disable=too-many-branches, too-many-locals
diff --git a/searx/result_types/__init__.py b/searx/result_types/__init__.py
index e9a115ec3..6d47d3a4f 100644
--- a/searx/result_types/__init__.py
+++ b/searx/result_types/__init__.py
@@ -13,14 +13,14 @@
from __future__ import annotations
-__all__ = ["Result", "MainResult", "KeyValue", "EngineResults", "AnswerSet", "Answer", "Translations"]
+__all__ = ["Result", "MainResult", "KeyValue", "EngineResults", "AnswerSet", "Answer", "Translations", "WeatherAnswer"]
import abc
from searx import enginelib
from ._base import Result, MainResult, LegacyResult
-from .answer import AnswerSet, Answer, Translations
+from .answer import AnswerSet, Answer, Translations, WeatherAnswer
from .keyvalue import KeyValue
@@ -35,6 +35,7 @@ class ResultList(list, abc.ABC):
MainResult = MainResult
Result = Result
Translations = Translations
+ WeatherAnswer = WeatherAnswer
# for backward compatibility
LegacyResult = LegacyResult
diff --git a/searx/result_types/answer.py b/searx/result_types/answer.py
index a9f580e0e..bc215734a 100644
--- a/searx/result_types/answer.py
+++ b/searx/result_types/answer.py
@@ -18,6 +18,10 @@ template.
:members:
:show-inheritance:
+.. autoclass:: WeatherAnswer
+ :members:
+ :show-inheritance:
+
.. autoclass:: AnswerSet
:members:
:show-inheritance:
@@ -26,10 +30,12 @@ template.
from __future__ import annotations
-__all__ = ["AnswerSet", "Answer", "Translations"]
+__all__ = ["AnswerSet", "Answer", "Translations", "WeatherAnswer"]
+from flask_babel import gettext
import msgspec
+from searx import weather
from ._base import Result
@@ -143,3 +149,90 @@ class Translations(BaseAnswer, kw_only=True):
synonyms: list[str] = []
"""List of synonyms for the requested translation."""
+
+
+class WeatherAnswer(BaseAnswer, kw_only=True):
+ """Answer type for weather data."""
+
+ template: str = "answer/weather.html"
+ """The template is located at :origin:`answer/weather.html
+ `"""
+
+ current: WeatherAnswer.Item
+ """Current weather at ``location``."""
+
+ forecasts: list[WeatherAnswer.Item] = []
+ """Weather forecasts for ``location``."""
+
+ service: str = ""
+ """Weather service from which this information was provided."""
+
+ class Item(msgspec.Struct, kw_only=True):
+ """Weather parameters valid for a specific point in time."""
+
+ location: str
+ """The geo-location the weather data is from (e.g. `Berlin, Germany`)."""
+
+ temperature: weather.Temperature
+ """Air temperature at 2m above the ground."""
+
+ condition: weather.WeatherConditionType
+ """Standardized designations that summarize the weather situation
+ (e.g. ``light sleet showers and thunder``)."""
+
+ # optional fields
+
+ time: str | None = None
+ """Time of the forecast - not needed for the current weather."""
+
+ summary: str | None = None
+ """One-liner about the weather forecast / current weather conditions.
+ If unset, a summary is build up from temperature and current weather
+ conditions.
+ """
+
+ feels_like: weather.Temperature | None = None
+ """Apparent temperature, the temperature equivalent perceived by
+ humans, caused by the combined effects of air temperature, relative
+ humidity and wind speed. The measure is most commonly applied to the
+ perceived outdoor temperature.
+ """
+
+ pressure: weather.Pressure | None = None
+ """Air pressure at sea level (e.g. 1030 hPa) """
+
+ humidity: weather.RelativeHumidity | None = None
+ """Amount of relative humidity in the air at 2m above the ground. The
+ unit is ``%``, e.g. 60%)
+ """
+
+ wind_from: weather.Compass
+ """The directon which moves towards / direction the wind is coming from."""
+
+ wind_speed: weather.WindSpeed | None = None
+ """Speed of wind / wind speed at 10m above the ground (10 min average)."""
+
+ cloud_cover: int | None = None
+ """Amount of sky covered by clouds / total cloud cover for all heights
+ (cloudiness, unit: %)"""
+
+ # attributes: dict[str, str | int] = {}
+ # """Key-Value dict of additional typeless weather attributes."""
+
+ def __post_init__(self):
+ if not self.summary:
+ self.summary = gettext("{location}: {temperature}, {condition}").format(
+ location=self.location,
+ temperature=self.temperature,
+ condition=gettext(self.condition.capitalize()),
+ )
+
+ @property
+ def url(self) -> str | None:
+ """Determines a `data URL`_ with a symbol for the weather
+ conditions. If no symbol can be assigned, ``None`` is returned.
+
+ .. _data URL:
+ https://developer.mozilla.org/en-US/docs/Web/URI/Reference/Schemes/data
+ """
+ return weather.symbol_url(self.condition)
diff --git a/searx/searxng.msg b/searx/searxng.msg
index a4bfb038a..7401b8313 100644
--- a/searx/searxng.msg
+++ b/searx/searxng.msg
@@ -3,8 +3,12 @@
"""A SearXNG message file, see :py:obj:`searx.babel`
"""
+import typing
+
from searx import webutils
from searx import engines
+from searx.weather import WeatherConditionType
+
__all__ = [
'CONSTANT_NAMES',
@@ -13,6 +17,7 @@ __all__ = [
'STYLE_NAMES',
'BRAND_CUSTOM_LINKS',
'WEATHER_TERMS',
+ 'WEATHER_CONDITIONS',
'SOCIAL_MEDIA_TERMS',
]
@@ -85,6 +90,13 @@ WEATHER_TERMS = {
'WIND': 'Wind',
}
+
+WEATHER_CONDITIONS = [
+ # The capitalized string goes into to i18n/l10n (en: "Clear sky" -> de: "wolkenloser Himmel")
+ msg.capitalize()
+ for msg in typing.get_args(WeatherConditionType)
+]
+
SOCIAL_MEDIA_TERMS = {
'SUBSCRIBERS': 'subscribers',
'POSTS': 'posts',
diff --git a/searx/static/themes/simple/css/searxng-rtl.min.css b/searx/static/themes/simple/css/searxng-rtl.min.css
index 5ddce2b5c..d44a90348 100644
--- a/searx/static/themes/simple/css/searxng-rtl.min.css
+++ b/searx/static/themes/simple/css/searxng-rtl.min.css
@@ -1 +1 @@
-/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}:root{--color-base-font: #444;--color-base-font-rgb: 68, 68, 68;--color-base-background: #fff;--color-base-background-mobile: #f2f5f8;--color-url-font: #334999;--color-url-visited-font: #9822c3;--color-header-background: #fdfbff;--color-header-border: #ddd;--color-footer-background: #fdfbff;--color-footer-border: #ddd;--color-sidebar-border: #ddd;--color-sidebar-font: #000;--color-sidebar-background: #fff;--color-backtotop-font: #444;--color-backtotop-border: #ddd;--color-backtotop-background: #fff;--color-btn-background: #3050ff;--color-btn-font: #fff;--color-show-btn-background: #bbb;--color-show-btn-font: #000;--color-search-border: #bbb;--color-search-shadow: 0 2px 8px rgba(34, 38, 46, .25);--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-shadow: 0 2px 8px rgba(34, 38, 46, .25);--color-autocomplete-background: #fff;--color-autocomplete-background-hover: #e3e3e3;--color-answer-font: #444;--color-answer-background: #fff;--color-result-keyvalue-col-table: #fdfbff;--color-result-keyvalue-odd: #fdfbff;--color-result-keyvalue-even: #fff;--color-result-background: #fff;--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: #9822c3;--color-result-publishdate-font: #777;--color-result-engines-font: #545454;--color-result-search-url-border: #ddd;--color-result-search-url-font: #000;--color-result-image-span-font: #444;--color-result-image-span-font-selected: #fff;--color-result-image-background: #fff;--color-settings-tr-hover: #ebebeb;--color-settings-engine-description-font: #545454;--color-settings-table-group-background: #0001;--color-result-detail-font: #fff;--color-result-detail-label-font: lightgray;--color-result-detail-background: #242424;--color-result-detail-hr: #555;--color-result-detail-link: #8af;--color-result-detail-loader-border: rgba(255, 255, 255, .2);--color-result-detail-loader-borderleft: rgba(0, 0, 0, 0);--color-toolkit-badge-font: #fff;--color-toolkit-badge-background: #545454;--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: #e1e1e1;--color-toolkit-select-border: #ddd;--color-toolkit-select-background-hover: #bbb;--color-toolkit-input-text-font: #222;--color-toolkit-checkbox-onoff-off-background: #ddd;--color-toolkit-checkbox-onoff-on-background: #ddd;--color-toolkit-checkbox-onoff-on-mark-background: #3050ff;--color-toolkit-checkbox-onoff-on-mark-color: #fff;--color-toolkit-checkbox-onoff-off-mark-background: #aaa;--color-toolkit-checkbox-onoff-off-mark-color: #fff;--color-toolkit-checkbox-label-background: #ddd;--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, .2);--color-toolkit-loader-borderleft: rgba(255, 255, 255, 0);--color-doc-code: #003;--color-doc-code-background: #ddeaff;--color-bar-chart-primary: #5bc0de;--color-bar-chart-secondary: #deb15b;--color-image-resolution-background: rgba(0, 0, 0, .5);--color-image-resolution-font: #fff;--color-loading-indicator: rgba(255, 255, 255, .2);--color-loading-indicator-gap: #fff;--color-line-number: #64708d;--color-favicon-background-color: #ddd;--color-favicon-border-color: #ccc}@media (prefers-color-scheme: dark){:root.theme-auto{--color-base-font: #bbb;--color-base-font-rgb: 187, 187, 187;--color-base-background: #222428;--color-base-background-mobile: #222428;--color-url-font: #8af;--color-url-visited-font: #c09cd9;--color-header-background: #1e1e22;--color-header-border: #333;--color-footer-background: #1e1e22;--color-footer-border: #333;--color-sidebar-border: #555;--color-sidebar-font: #fff;--color-sidebar-background: #292c34;--color-backtotop-font: #bbb;--color-backtotop-border: #333;--color-backtotop-background: #2b2e36;--color-btn-background: #58f;--color-btn-font: #222;--color-show-btn-background: #555;--color-show-btn-font: #fff;--color-search-border: #555;--color-search-shadow: 0 2px 8px rgba(34, 38, 46, .25);--color-search-background: #2b2e36;--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-shadow: 0 2px 8px rgba(34, 38, 46, .25);--color-autocomplete-background: #2b2e36;--color-autocomplete-background-hover: #1e1e22;--color-answer-font: #bbb;--color-answer-background: #26292f;--color-result-keyvalue-col-table: #1e1e22;--color-result-keyvalue-odd: #1e1e22;--color-result-keyvalue-even: #26292f;--color-result-background: #26292f;--color-result-border: #333;--color-result-url-font: #fff;--color-result-vim-selected: #1f1f23cc;--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: #c09cd9;--color-result-publishdate-font: #888;--color-result-engines-font: #a4a4a4;--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: #1a1a1c;--color-result-detail-hr: #555;--color-result-detail-link: #8af;--color-result-detail-loader-border: rgba(255, 255, 255, .2);--color-result-detail-loader-borderleft: rgba(0, 0, 0, 0);--color-result-image-span-font: #bbb;--color-result-image-span-font-selected: #222;--color-result-image-background: #222;--color-settings-tr-hover: #2c2c32;--color-settings-engine-description-font: #909090;--color-settings-table-group-background: #1b1b21;--color-toolkit-badge-font: #fff;--color-toolkit-badge-background: #555;--color-toolkit-kbd-font: #000;--color-toolkit-kbd-background: #fff;--color-toolkit-dialog-border: #555;--color-toolkit-dialog-background: #1e1e22;--color-toolkit-tabs-label-border: #222;--color-toolkit-tabs-section-border: #555;--color-toolkit-select-background: #313338;--color-toolkit-select-border: #555;--color-toolkit-select-background-hover: #373b49;--color-toolkit-input-text-font: #fff;--color-toolkit-checkbox-onoff-off-background: #313338;--color-toolkit-checkbox-onoff-on-background: #313338;--color-toolkit-checkbox-onoff-on-mark-background: #58f;--color-toolkit-checkbox-onoff-on-mark-color: #222;--color-toolkit-checkbox-onoff-off-mark-background: #ddd;--color-toolkit-checkbox-onoff-off-mark-color: #222;--color-toolkit-checkbox-label-background: #222;--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, .2);--color-toolkit-loader-borderleft: rgba(0, 0, 0, 0);--color-doc-code: #ddd;--color-doc-code-background: #4d5a6f;--color-favicon-background-color: #ddd;--color-favicon-border-color: #ccc}}:root.theme-dark{--color-base-font: #bbb;--color-base-font-rgb: 187, 187, 187;--color-base-background: #222428;--color-base-background-mobile: #222428;--color-url-font: #8af;--color-url-visited-font: #c09cd9;--color-header-background: #1e1e22;--color-header-border: #333;--color-footer-background: #1e1e22;--color-footer-border: #333;--color-sidebar-border: #555;--color-sidebar-font: #fff;--color-sidebar-background: #292c34;--color-backtotop-font: #bbb;--color-backtotop-border: #333;--color-backtotop-background: #2b2e36;--color-btn-background: #58f;--color-btn-font: #222;--color-show-btn-background: #555;--color-show-btn-font: #fff;--color-search-border: #555;--color-search-shadow: 0 2px 8px rgba(34, 38, 46, .25);--color-search-background: #2b2e36;--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-shadow: 0 2px 8px rgba(34, 38, 46, .25);--color-autocomplete-background: #2b2e36;--color-autocomplete-background-hover: #1e1e22;--color-answer-font: #bbb;--color-answer-background: #26292f;--color-result-keyvalue-col-table: #1e1e22;--color-result-keyvalue-odd: #1e1e22;--color-result-keyvalue-even: #26292f;--color-result-background: #26292f;--color-result-border: #333;--color-result-url-font: #fff;--color-result-vim-selected: #1f1f23cc;--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: #c09cd9;--color-result-publishdate-font: #888;--color-result-engines-font: #a4a4a4;--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: #1a1a1c;--color-result-detail-hr: #555;--color-result-detail-link: #8af;--color-result-detail-loader-border: rgba(255, 255, 255, .2);--color-result-detail-loader-borderleft: rgba(0, 0, 0, 0);--color-result-image-span-font: #bbb;--color-result-image-span-font-selected: #222;--color-result-image-background: #222;--color-settings-tr-hover: #2c2c32;--color-settings-engine-description-font: #909090;--color-settings-table-group-background: #1b1b21;--color-toolkit-badge-font: #fff;--color-toolkit-badge-background: #555;--color-toolkit-kbd-font: #000;--color-toolkit-kbd-background: #fff;--color-toolkit-dialog-border: #555;--color-toolkit-dialog-background: #1e1e22;--color-toolkit-tabs-label-border: #222;--color-toolkit-tabs-section-border: #555;--color-toolkit-select-background: #313338;--color-toolkit-select-border: #555;--color-toolkit-select-background-hover: #373b49;--color-toolkit-input-text-font: #fff;--color-toolkit-checkbox-onoff-off-background: #313338;--color-toolkit-checkbox-onoff-on-background: #313338;--color-toolkit-checkbox-onoff-on-mark-background: #58f;--color-toolkit-checkbox-onoff-on-mark-color: #222;--color-toolkit-checkbox-onoff-off-mark-background: #ddd;--color-toolkit-checkbox-onoff-off-mark-color: #222;--color-toolkit-checkbox-label-background: #222;--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, .2);--color-toolkit-loader-borderleft: rgba(0, 0, 0, 0);--color-doc-code: #ddd;--color-doc-code-background: #4d5a6f;--color-favicon-background-color: #ddd;--color-favicon-border-color: #ccc}:root.theme-black{--color-base-font: #bbb;--color-base-font-rgb: 187, 187, 187;--color-base-background: #222428;--color-base-background-mobile: #222428;--color-url-font: #8af;--color-url-visited-font: #c09cd9;--color-header-background: #1e1e22;--color-header-border: #333;--color-footer-background: #1e1e22;--color-footer-border: #333;--color-sidebar-border: #555;--color-sidebar-font: #fff;--color-sidebar-background: #292c34;--color-backtotop-font: #bbb;--color-backtotop-border: #333;--color-backtotop-background: #2b2e36;--color-btn-background: #58f;--color-btn-font: #222;--color-show-btn-background: #555;--color-show-btn-font: #fff;--color-search-border: #555;--color-search-shadow: 0 2px 8px rgba(34, 38, 46, .25);--color-search-background: #2b2e36;--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-shadow: 0 2px 8px rgba(34, 38, 46, .25);--color-autocomplete-background: #2b2e36;--color-autocomplete-background-hover: #1e1e22;--color-answer-font: #bbb;--color-answer-background: #26292f;--color-result-keyvalue-col-table: #1e1e22;--color-result-keyvalue-odd: #1e1e22;--color-result-keyvalue-even: #26292f;--color-result-background: #26292f;--color-result-border: #333;--color-result-url-font: #fff;--color-result-vim-selected: #1f1f23cc;--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: #c09cd9;--color-result-publishdate-font: #888;--color-result-engines-font: #a4a4a4;--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: #1a1a1c;--color-result-detail-hr: #555;--color-result-detail-link: #8af;--color-result-detail-loader-border: rgba(255, 255, 255, .2);--color-result-detail-loader-borderleft: rgba(0, 0, 0, 0);--color-result-image-span-font: #bbb;--color-result-image-span-font-selected: #222;--color-result-image-background: #222;--color-settings-tr-hover: #2c2c32;--color-settings-engine-description-font: #909090;--color-settings-table-group-background: #1b1b21;--color-toolkit-badge-font: #fff;--color-toolkit-badge-background: #555;--color-toolkit-kbd-font: #000;--color-toolkit-kbd-background: #fff;--color-toolkit-dialog-border: #555;--color-toolkit-dialog-background: #1e1e22;--color-toolkit-tabs-label-border: #222;--color-toolkit-tabs-section-border: #555;--color-toolkit-select-background: #313338;--color-toolkit-select-border: #555;--color-toolkit-select-background-hover: #373b49;--color-toolkit-input-text-font: #fff;--color-toolkit-checkbox-onoff-off-background: #313338;--color-toolkit-checkbox-onoff-on-background: #313338;--color-toolkit-checkbox-onoff-on-mark-background: #58f;--color-toolkit-checkbox-onoff-on-mark-color: #222;--color-toolkit-checkbox-onoff-off-mark-background: #ddd;--color-toolkit-checkbox-onoff-off-mark-color: #222;--color-toolkit-checkbox-label-background: #222;--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, .2);--color-toolkit-loader-borderleft: rgba(0, 0, 0, 0);--color-doc-code: #ddd;--color-doc-code-background: #4d5a6f;--color-favicon-background-color: #ddd;--color-favicon-border-color: #ccc;--color-base-background: #000;--color-base-background-mobile: #000;--color-header-background: #000;--color-footer-background: #000;--color-sidebar-background: #000}.code-highlight pre{line-height:100%}.code-highlight td.linenos .normal,.code-highlight span.linenos{color:inherit;background-color:transparent;padding-left:5px;padding-right:5px}.code-highlight td.linenos .special,.code-highlight span.linenos.special{color:#000;background-color:#ffffc0;padding-left:5px;padding-right:5px}.code-highlight .hll{background-color:#ffc}.code-highlight .c{color:#3d7b7b;font-style:italic}.code-highlight .err{border:1px solid #F00}.code-highlight .k{color:green;font-weight:700}.code-highlight .o{color:#666}.code-highlight .ch,.code-highlight .cm{color:#3d7b7b;font-style:italic}.code-highlight .cp{color:#9c6500}.code-highlight .cpf,.code-highlight .c1,.code-highlight .cs{color:#3d7b7b;font-style:italic}.code-highlight .gd{color:#a00000}.code-highlight .ge{font-style:italic}.code-highlight .ges{font-weight:700;font-style:italic}.code-highlight .gr{color:#e40000}.code-highlight .gh{color:navy;font-weight:700}.code-highlight .gi{color:#008400}.code-highlight .go{color:#717171}.code-highlight .gp{color:navy;font-weight:700}.code-highlight .gs{font-weight:700}.code-highlight .gu{color:purple;font-weight:700}.code-highlight .gt{color:#04d}.code-highlight .kc,.code-highlight .kd,.code-highlight .kn{color:green;font-weight:700}.code-highlight .kp{color:green}.code-highlight .kr{color:green;font-weight:700}.code-highlight .kt{color:#b00040}.code-highlight .m{color:#666}.code-highlight .s{color:#ba2121}.code-highlight .na{color:#687822}.code-highlight .nb{color:green}.code-highlight .nc{color:#00f;font-weight:700}.code-highlight .no{color:#800}.code-highlight .nd{color:#a2f}.code-highlight .ni{color:#717171;font-weight:700}.code-highlight .ne{color:#cb3f38;font-weight:700}.code-highlight .nf{color:#00f}.code-highlight .nl{color:#767600}.code-highlight .nn{color:#00f;font-weight:700}.code-highlight .nt{color:green;font-weight:700}.code-highlight .nv{color:#19177c}.code-highlight .ow{color:#a2f;font-weight:700}.code-highlight .w{color:#bbb}.code-highlight .mb,.code-highlight .mf,.code-highlight .mh,.code-highlight .mi,.code-highlight .mo{color:#666}.code-highlight .sa,.code-highlight .sb,.code-highlight .sc,.code-highlight .dl{color:#ba2121}.code-highlight .sd{color:#ba2121;font-style:italic}.code-highlight .s2{color:#ba2121}.code-highlight .se{color:#aa5d1f;font-weight:700}.code-highlight .sh{color:#ba2121}.code-highlight .si{color:#a45a77;font-weight:700}.code-highlight .sx{color:green}.code-highlight .sr{color:#a45a77}.code-highlight .s1{color:#ba2121}.code-highlight .ss{color:#19177c}.code-highlight .bp{color:green}.code-highlight .fm{color:#00f}.code-highlight .vc,.code-highlight .vg,.code-highlight .vi,.code-highlight .vm{color:#19177c}.code-highlight .il{color:#666}.codelines{margin:.125rem 0 0;padding:1rem 0 0}.code-highlight pre{overflow:auto;margin:0;padding:0 0 .75rem}.code-highlight .linenos{-webkit-user-select:none;user-select:none;cursor:default;margin-right:8px;text-align:right}.code-highlight .linenos::selection{background:transparent}.code-highlight .linenos::-moz-selection{background:transparent}.code-highlight span.linenos{color:var(--color-line-number)}@media (prefers-color-scheme: dark){:root.theme-auto .code-highlight pre{line-height:100%}:root.theme-auto .code-highlight td.linenos .normal{color:#3c4354;background-color:transparent;padding-left:5px;padding-right:5px}:root.theme-auto .code-highlight span.linenos{color:#3c4354;background-color:transparent;padding-left:5px;padding-right:5px}:root.theme-auto .code-highlight td.linenos .special{color:#3c4354;background-color:#ffffc0;padding-left:5px;padding-right:5px}:root.theme-auto .code-highlight span.linenos.special{color:#3c4354;background-color:#ffffc0;padding-left:5px;padding-right:5px}:root.theme-auto .code-highlight .hll{background-color:#6e7681}:root.theme-auto .code-highlight .c{color:#7e8aa1}:root.theme-auto .code-highlight .err{color:#f88f7f}:root.theme-auto .code-highlight .esc{color:#d4d2c8}:root.theme-auto .code-highlight .g{color:#d4d2c8}:root.theme-auto .code-highlight .k{color:#ffad66}:root.theme-auto .code-highlight .l{color:#d5ff80}:root.theme-auto .code-highlight .n{color:#d4d2c8}:root.theme-auto .code-highlight .o{color:#ffad66}:root.theme-auto .code-highlight .x{color:#d4d2c8}:root.theme-auto .code-highlight .p{color:#d4d2c8}:root.theme-auto .code-highlight .ch{color:#f88f7f;font-style:italic}:root.theme-auto .code-highlight .cm{color:#7e8aa1}:root.theme-auto .code-highlight .cp{color:#ffad66;font-weight:700}:root.theme-auto .code-highlight .cpf{color:#7e8aa1}:root.theme-auto .code-highlight .c1{color:#7e8aa1}:root.theme-auto .code-highlight .cs{color:#7e8aa1;font-style:italic}:root.theme-auto .code-highlight .gd{color:#f88f7f;background-color:#3d1e20}:root.theme-auto .code-highlight .ge{color:#d4d2c8;font-style:italic}:root.theme-auto .code-highlight .ges{color:#d4d2c8}:root.theme-auto .code-highlight .gr{color:#f88f7f}:root.theme-auto .code-highlight .gh{color:#d4d2c8}:root.theme-auto .code-highlight .gi{color:#6ad4af;background-color:#19362c}:root.theme-auto .code-highlight .go{color:#7e8aa1}:root.theme-auto .code-highlight .gp{color:#d4d2c8}:root.theme-auto .code-highlight .gs{color:#d4d2c8;font-weight:700}:root.theme-auto .code-highlight .gu{color:#d4d2c8}:root.theme-auto .code-highlight .gt{color:#f88f7f}:root.theme-auto .code-highlight .kc{color:#ffad66}:root.theme-auto .code-highlight .kd{color:#ffad66}:root.theme-auto .code-highlight .kn{color:#ffad66}:root.theme-auto .code-highlight .kp{color:#ffad66}:root.theme-auto .code-highlight .kr{color:#ffad66}:root.theme-auto .code-highlight .kt{color:#73d0ff}:root.theme-auto .code-highlight .ld{color:#d5ff80}:root.theme-auto .code-highlight .m{color:#dfbfff}:root.theme-auto .code-highlight .s{color:#d5ff80}:root.theme-auto .code-highlight .na{color:#ffd173}:root.theme-auto .code-highlight .nb{color:#ffd173}:root.theme-auto .code-highlight .nc{color:#73d0ff}:root.theme-auto .code-highlight .no{color:#ffd173}:root.theme-auto .code-highlight .nd{color:#7e8aa1;font-weight:700;font-style:italic}:root.theme-auto .code-highlight .ni{color:#95e6cb}:root.theme-auto .code-highlight .ne{color:#73d0ff}:root.theme-auto .code-highlight .nf{color:#ffd173}:root.theme-auto .code-highlight .nl{color:#d4d2c8}:root.theme-auto .code-highlight .nn{color:#d4d2c8}:root.theme-auto .code-highlight .nx{color:#d4d2c8}:root.theme-auto .code-highlight .py{color:#ffd173}:root.theme-auto .code-highlight .nt{color:#5ccfe6}:root.theme-auto .code-highlight .nv{color:#d4d2c8}:root.theme-auto .code-highlight .ow{color:#ffad66}:root.theme-auto .code-highlight .pm{color:#d4d2c8}:root.theme-auto .code-highlight .w{color:#d4d2c8}:root.theme-auto .code-highlight .mb{color:#dfbfff}:root.theme-auto .code-highlight .mf{color:#dfbfff}:root.theme-auto .code-highlight .mh{color:#dfbfff}:root.theme-auto .code-highlight .mi{color:#dfbfff}:root.theme-auto .code-highlight .mo{color:#dfbfff}:root.theme-auto .code-highlight .sa{color:#f29e74}:root.theme-auto .code-highlight .sb{color:#d5ff80}:root.theme-auto .code-highlight .sc{color:#d5ff80}:root.theme-auto .code-highlight .dl{color:#d5ff80}:root.theme-auto .code-highlight .sd{color:#7e8aa1}:root.theme-auto .code-highlight .s2{color:#d5ff80}:root.theme-auto .code-highlight .se{color:#95e6cb}:root.theme-auto .code-highlight .sh{color:#d5ff80}:root.theme-auto .code-highlight .si{color:#95e6cb}:root.theme-auto .code-highlight .sx{color:#95e6cb}:root.theme-auto .code-highlight .sr{color:#95e6cb}:root.theme-auto .code-highlight .s1{color:#d5ff80}:root.theme-auto .code-highlight .ss{color:#dfbfff}:root.theme-auto .code-highlight .bp{color:#5ccfe6}:root.theme-auto .code-highlight .fm{color:#ffd173}:root.theme-auto .code-highlight .vc{color:#d4d2c8}:root.theme-auto .code-highlight .vg{color:#d4d2c8}:root.theme-auto .code-highlight .vi{color:#d4d2c8}:root.theme-auto .code-highlight .vm{color:#d4d2c8}:root.theme-auto .code-highlight .il{color:#dfbfff}:root.theme-auto .code-highlight pre{overflow:auto;margin:0;padding:0 0 .75rem}:root.theme-auto .code-highlight .linenos{-webkit-user-select:none;user-select:none;cursor:default;margin-right:8px;text-align:right}:root.theme-auto .code-highlight .linenos::selection{background:transparent}:root.theme-auto .code-highlight .linenos::-moz-selection{background:transparent}:root.theme-auto .code-highlight span.linenos{color:var(--color-line-number)}}:root.theme-dark .code-highlight pre{line-height:100%}:root.theme-dark .code-highlight td.linenos .normal{color:#3c4354;background-color:transparent;padding-left:5px;padding-right:5px}:root.theme-dark .code-highlight span.linenos{color:#3c4354;background-color:transparent;padding-left:5px;padding-right:5px}:root.theme-dark .code-highlight td.linenos .special{color:#3c4354;background-color:#ffffc0;padding-left:5px;padding-right:5px}:root.theme-dark .code-highlight span.linenos.special{color:#3c4354;background-color:#ffffc0;padding-left:5px;padding-right:5px}:root.theme-dark .code-highlight .hll{background-color:#6e7681}:root.theme-dark .code-highlight .c{color:#7e8aa1}:root.theme-dark .code-highlight .err{color:#f88f7f}:root.theme-dark .code-highlight .esc{color:#d4d2c8}:root.theme-dark .code-highlight .g{color:#d4d2c8}:root.theme-dark .code-highlight .k{color:#ffad66}:root.theme-dark .code-highlight .l{color:#d5ff80}:root.theme-dark .code-highlight .n{color:#d4d2c8}:root.theme-dark .code-highlight .o{color:#ffad66}:root.theme-dark .code-highlight .x{color:#d4d2c8}:root.theme-dark .code-highlight .p{color:#d4d2c8}:root.theme-dark .code-highlight .ch{color:#f88f7f;font-style:italic}:root.theme-dark .code-highlight .cm{color:#7e8aa1}:root.theme-dark .code-highlight .cp{color:#ffad66;font-weight:700}:root.theme-dark .code-highlight .cpf{color:#7e8aa1}:root.theme-dark .code-highlight .c1{color:#7e8aa1}:root.theme-dark .code-highlight .cs{color:#7e8aa1;font-style:italic}:root.theme-dark .code-highlight .gd{color:#f88f7f;background-color:#3d1e20}:root.theme-dark .code-highlight .ge{color:#d4d2c8;font-style:italic}:root.theme-dark .code-highlight .ges{color:#d4d2c8}:root.theme-dark .code-highlight .gr{color:#f88f7f}:root.theme-dark .code-highlight .gh{color:#d4d2c8}:root.theme-dark .code-highlight .gi{color:#6ad4af;background-color:#19362c}:root.theme-dark .code-highlight .go{color:#7e8aa1}:root.theme-dark .code-highlight .gp{color:#d4d2c8}:root.theme-dark .code-highlight .gs{color:#d4d2c8;font-weight:700}:root.theme-dark .code-highlight .gu{color:#d4d2c8}:root.theme-dark .code-highlight .gt{color:#f88f7f}:root.theme-dark .code-highlight .kc{color:#ffad66}:root.theme-dark .code-highlight .kd{color:#ffad66}:root.theme-dark .code-highlight .kn{color:#ffad66}:root.theme-dark .code-highlight .kp{color:#ffad66}:root.theme-dark .code-highlight .kr{color:#ffad66}:root.theme-dark .code-highlight .kt{color:#73d0ff}:root.theme-dark .code-highlight .ld{color:#d5ff80}:root.theme-dark .code-highlight .m{color:#dfbfff}:root.theme-dark .code-highlight .s{color:#d5ff80}:root.theme-dark .code-highlight .na{color:#ffd173}:root.theme-dark .code-highlight .nb{color:#ffd173}:root.theme-dark .code-highlight .nc{color:#73d0ff}:root.theme-dark .code-highlight .no{color:#ffd173}:root.theme-dark .code-highlight .nd{color:#7e8aa1;font-weight:700;font-style:italic}:root.theme-dark .code-highlight .ni{color:#95e6cb}:root.theme-dark .code-highlight .ne{color:#73d0ff}:root.theme-dark .code-highlight .nf{color:#ffd173}:root.theme-dark .code-highlight .nl{color:#d4d2c8}:root.theme-dark .code-highlight .nn{color:#d4d2c8}:root.theme-dark .code-highlight .nx{color:#d4d2c8}:root.theme-dark .code-highlight .py{color:#ffd173}:root.theme-dark .code-highlight .nt{color:#5ccfe6}:root.theme-dark .code-highlight .nv{color:#d4d2c8}:root.theme-dark .code-highlight .ow{color:#ffad66}:root.theme-dark .code-highlight .pm{color:#d4d2c8}:root.theme-dark .code-highlight .w{color:#d4d2c8}:root.theme-dark .code-highlight .mb{color:#dfbfff}:root.theme-dark .code-highlight .mf{color:#dfbfff}:root.theme-dark .code-highlight .mh{color:#dfbfff}:root.theme-dark .code-highlight .mi{color:#dfbfff}:root.theme-dark .code-highlight .mo{color:#dfbfff}:root.theme-dark .code-highlight .sa{color:#f29e74}:root.theme-dark .code-highlight .sb{color:#d5ff80}:root.theme-dark .code-highlight .sc{color:#d5ff80}:root.theme-dark .code-highlight .dl{color:#d5ff80}:root.theme-dark .code-highlight .sd{color:#7e8aa1}:root.theme-dark .code-highlight .s2{color:#d5ff80}:root.theme-dark .code-highlight .se{color:#95e6cb}:root.theme-dark .code-highlight .sh{color:#d5ff80}:root.theme-dark .code-highlight .si{color:#95e6cb}:root.theme-dark .code-highlight .sx{color:#95e6cb}:root.theme-dark .code-highlight .sr{color:#95e6cb}:root.theme-dark .code-highlight .s1{color:#d5ff80}:root.theme-dark .code-highlight .ss{color:#dfbfff}:root.theme-dark .code-highlight .bp{color:#5ccfe6}:root.theme-dark .code-highlight .fm{color:#ffd173}:root.theme-dark .code-highlight .vc{color:#d4d2c8}:root.theme-dark .code-highlight .vg{color:#d4d2c8}:root.theme-dark .code-highlight .vi{color:#d4d2c8}:root.theme-dark .code-highlight .vm{color:#d4d2c8}:root.theme-dark .code-highlight .il{color:#dfbfff}:root.theme-dark .code-highlight pre{overflow:auto;margin:0;padding:0 0 .75rem}:root.theme-dark .code-highlight .linenos{-webkit-user-select:none;user-select:none;cursor:default;margin-right:8px;text-align:right}:root.theme-dark .code-highlight .linenos::selection{background:transparent}:root.theme-dark .code-highlight .linenos::-moz-selection{background:transparent}:root.theme-dark .code-highlight span.linenos{color:var(--color-line-number)}html.no-js .hide_if_nojs,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:.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:.1em;overflow:hidden;height:1.2em;line-height:1.2em;border-radius:5px}div.selectable_url pre{display:block;font-size:.8em;word-break:break-all;margin:.1em;-webkit-user-select:all;user-select:all}.dialog-error{position:relative;display:flex;padding:1rem;margin:0 0 1em;border:1px solid var(--color-toolkit-dialog-border);text-align:right;border-radius:10px;color:var(--color-error);background:var(--color-error-background);border-color:var(--color-error)}.dialog-error .close{float:left;position:relative;top:-3px;color:inherit;font-size:1.5em}.dialog-error ul,.dialog-error ol,.dialog-error p{margin:1px 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;padding-left:1rem;padding-bottom:0;padding-right:0}.dialog-error h4{margin-top:.3em;margin-bottom:.3em}.dialog-error-block{position:relative;display:flex;padding:1rem;margin:0 0 1em;border:1px solid var(--color-toolkit-dialog-border);text-align:right;border-radius:10px;display:block;color:var(--color-error);background:var(--color-error-background);border-color:var(--color-error)}.dialog-error-block .close{float:left;position:relative;top:-3px;color:inherit;font-size:1.5em}.dialog-error-block ul,.dialog-error-block ol,.dialog-error-block p{margin:1px 0 0}.dialog-error-block table{width:auto}.dialog-error-block tr{vertical-align:text-top}.dialog-error-block tr:hover{background:transparent!important}.dialog-error-block td{padding:0 1em 0 0;padding-left:1rem;padding-bottom:0;padding-right:0}.dialog-error-block h4{margin-top:.3em;margin-bottom:.3em}.dialog-warning{position:relative;display:flex;padding:1rem;margin:0 0 1em;border:1px solid var(--color-toolkit-dialog-border);text-align:right;border-radius:10px;color:var(--color-warning);background:var(--color-warning-background);border-color:var(--color-warning)}.dialog-warning .close{float:left;position:relative;top:-3px;color:inherit;font-size:1.5em}.dialog-warning ul,.dialog-warning ol,.dialog-warning p{margin:1px 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;padding-left:1rem;padding-bottom:0;padding-right:0}.dialog-warning h4{margin-top:.3em;margin-bottom:.3em}.dialog-modal{position:relative;display:flex;padding:1rem;border:1px solid var(--color-toolkit-dialog-border);text-align:right;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:5000}.dialog-modal .close{float:left;position:relative;top:-3px;color:inherit;font-size:1.5em}.dialog-modal ul,.dialog-modal ol,.dialog-modal p{margin:1px 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;padding-left:1rem;padding-bottom:0;padding-right:0}.dialog-modal h4{margin-top:.3em;margin-bottom:.3em}.dialog-modal h3{margin-top:0}.btn-collapse{cursor:pointer}.scrollx{overflow:auto hidden;display:block;padding:0;margin:0;border:none}.tabs .tabs>label{font-size:90%}ul.tabs{border-bottom:1px solid var(--color-toolkit-tabs-section-border);list-style:none;padding-left:0}ul.tabs li{display:flex}.tabs{display:flex;flex-wrap:wrap;width:100%;min-width:100%}.tabs>*{order:2}.tabs>input[type=radio]{display:none}.tabs>label,.tabs>li>a{order:1;padding:.7em;margin:0 .7em;letter-spacing:.5px;text-transform:uppercase;border:solid var(--color-toolkit-tabs-label-border);border-width:0 0 2px 0;color:unset;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;cursor:pointer}.tabs>label.active,.tabs>li>a.active{border-bottom:2px solid var(--color-categories-item-border-selected);background:var(--color-categories-item-selected);color:var(--color-categories-item-selected-font)}.tabs>label:hover,.tabs>li>a:hover{border-bottom:2px solid var(--color-categories-item-border-selected)}.tabs>section{min-width:100%;padding:.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:-.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:400;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{height:2.4rem;margin-top:0;margin-left:1rem;margin-bottom:0;margin-right:0;padding:.2rem!important;color:var(--color-search-font);font-size:.9rem;z-index:100}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)}}input.checkbox-onoff[type=checkbox]{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;display:inline-block;width:2.5em;height:.7em;box-shadow:none!important;margin:0 16px;border-radius:10px;position:relative}input.checkbox-onoff[type=checkbox]:focus,input.checkbox-onoff[type=checkbox]:hover{outline:none}input.checkbox-onoff[type=checkbox]:focus:after{content:"";position:absolute;width:3.5em;height:1.65em;border:1px solid var(--color-btn-background);border-radius:12px;box-shadow:var(--color-btn-background) 0 0 3px;z-index:1200;top:-.55em;left:-.6em}input.checkbox-onoff[type=checkbox]:before{position:absolute;top:-.5em;display:flex;justify-content:center;align-items:center;font-size:.75em;width:1.875em;height:1.875em;border-radius:50%}input.checkbox-onoff[type=checkbox],input.checkbox-onoff.reversed-checkbox[type=checkbox]:checked{background:var(--color-toolkit-checkbox-onoff-off-background)}input.checkbox-onoff[type=checkbox]:before,input.checkbox-onoff.reversed-checkbox[type=checkbox]:checked:before{left:-.5em;content:"✕";color:var(--color-toolkit-checkbox-onoff-off-mark-color);background:var(--color-toolkit-checkbox-onoff-off-mark-background)}input.checkbox-onoff[type=checkbox]:checked,input.checkbox-onoff.reversed-checkbox[type=checkbox]{background:var(--color-toolkit-checkbox-onoff-on-background)}input.checkbox-onoff[type=checkbox]:checked:before,input.checkbox-onoff.reversed-checkbox[type=checkbox]:before{left:calc(100% - 1.5em);content:"✓";color:var(--color-toolkit-checkbox-onoff-on-mark-color);background:var(--color-toolkit-checkbox-onoff-on-mark-background)}@supports (transform: rotate(-45deg)){input[type=checkbox]:not(.checkbox-onoff){-webkit-appearance:none;-moz-appearance:none;appearance:none;width:20px;height:20px;cursor:pointer;position:relative;top:0;left:0;border:2px solid var(--color-toolkit-checkbox-input-border);border-radius:.3em}input[type=checkbox]:not(.checkbox-onoff):after{content:"";width:9px;height:5px;position:absolute;top:3px;left:2px;border:3px solid var(--color-toolkit-checkbox-label-border);border-top:none;border-right:none;background:transparent;opacity:0;transform:rotate(-45deg)}input[type=checkbox]:not(.checkbox-onoff):checked:after{border-color:var(--color-toolkit-checkbox-input-border);opacity:1}input[type=checkbox][disabled]:not(.checkbox-onoff){border:inherit;background-color:transparent!important;cursor:inherit}input.checkbox[type=checkbox]:not(:checked,[disabled],.checkbox-onoff):hover:after{opacity:.5}}@media screen and (max-width: 50em){.tabs>label{width:100%}}.loader,.loader:after{border-radius:50%;width:2em;height:2em}.loader{margin:1em auto;font-size:10px;position:relative;text-indent:-9999em;border-top:.5em solid var(--color-toolkit-loader-border);border-right:.5em solid var(--color-toolkit-loader-border);border-bottom:.5em solid var(--color-toolkit-loader-border);border-left:.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(0)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes load8{0%{-webkit-transform:rotate(0deg);transform:rotate(0)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.engine-tooltip{display:none;position:absolute;padding:.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:400;z-index:5000;text-align:left;border-radius:10px}th:hover .engine-tooltip,td:hover .engine-tooltip,.engine-tooltip:hover{display:inline-block}.stacked-bar-chart{margin:0;padding:0 .125rem 0 4rem;width:100%;width:-moz-available;width:-webkit-fill-available;width:fill;flex-flow:row nowrap;align-items:center;display:inline-flex}.stacked-bar-chart-value{width:3rem;display:inline-block;position:absolute;padding: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),.9);padding:.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),.3);padding:.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),.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),.9);padding:.4rem 0;width:1px}/*! Autocomplete.js v2.6.3 | license MIT | (c) 2017, Baptiste Donaux | http://autocomplete-js.com */.autocomplete{position:absolute;width:44rem;max-height:0;overflow-y:hidden;text-align:right;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:.5rem 1rem}.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);max-height:32rem;overflow-y:auto;z-index:5000;margin-top:3.5rem;border-radius:.8rem}.autocomplete.open:empty{display:none}@media screen and (max-width: 50em){.autocomplete{width:100%}.autocomplete>ul>li{padding:1rem}}#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{right:56.75rem!important;left: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;right:60rem;left:0;top:13rem;transition:top 64ms ease-in 0s;bottom:0;background:var(--color-result-detail-background);border:1px solid var(--color-result-detail-background);z-index:1000;padding:4rem 3rem 3rem;overflow-y:scroll}#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;height:inherit;max-width:100%;min-height:inherit;max-height:calc(100vh - 42rem);background:inherit}#results.image-detail-open article.result-images[data-vim-selected] .detail .result-images-labels{color:var(--color-result-detail-font);height:19rem}#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:.9rem;margin-bottom:0}#results.image-detail-open article.result-images[data-vim-selected] .detail .result-images-labels p{color:var(--color-result-detail-label-font);font-size:.9rem;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;margin:.8rem 0}#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:right}#results.image-detail-open article.result-images[data-vim-selected] .detail .result-images-labels p.result-content{height:2rem;line-height:unset;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:hidden 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;right:1rem;padding:.4rem}#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-previous{top:1rem;left:6rem;padding:.4rem .3rem .4rem .5rem}#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-next{top:1rem;left:2rem;padding:.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:1200}#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;left:50%;border-top:.5em solid var(--color-result-detail-loader-border);border-right:.5em solid var(--color-result-detail-loader-border);border-bottom:.5em solid var(--color-result-detail-loader-border);border-left:.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: 79.75em){#results.image-detail-open article.result-images[data-vim-selected] .detail{top:0;right: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{left:1rem}}@media screen and (max-width: 50em){#results.image-detail-open article.result-images[data-vim-selected] .detail{top:0;right: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-left:1rem}}.dialog-modal{animation-name:dialogmodal;animation-duration:.13s}@keyframes dialogmodal{0%{opacity:0}50%{opacity:.5;transform:translate(-50%,-50%) scale(1.05)}}input.checkbox-onoff[type=checkbox]:before{transition:left .25s}iframe[src^="https://w.soundcloud.com"]{height:120px}iframe[src^="https://www.deezer.com"]{height:94px}iframe[src^="https://www.mixcloud.com"]{height:250px}iframe[src^="https://bandcamp.com/EmbeddedPlayer"]{height:350px}iframe[src^="https://bandcamp.com/EmbeddedPlayer/track"]{height:120px}iframe[src^="https://genius.com/songs"]{height:65px}.info-page code{font-family:monospace;border-radius:5px;background-color:var(--color-doc-code-background);color:var(--color-doc-code);padding:.2rem;border:0 none}.stats_endpoint .github-issue-button{display:block;font-size:16px}.stats_endpoint .issue-hide{display:none}.stats_endpoint input[type=checked]{position:absolute}.stats_endpoint label{margin:1rem 1rem 1rem 0}.stats_endpoint .step_content{margin:1rem 1rem 1rem 2rem}.stats_endpoint .step1,.stats_endpoint .step2{visibility:hidden}.stats_endpoint .step1_delay{transition:visibility 0s linear 4s}.stats_endpoint #step1:checked~.step1,.stats_endpoint #step2:checked~.step2{visibility:visible}.engine-stats{border-spacing:0;border-collapse:collapse}.engine-stats tr td,.engine-stats tr th{border-bottom:1px solid var(--color-result-border);padding:.25rem}.engine-stats table.engine-tooltip{border-spacing:0;border-collapse:collapse}.engine-stats table.engine-tooltip td,.engine-stats table.engine-tooltip th{border:none}.engine-stats .engine-name{width:20rem}.engine-stats .engine-score{width:7rem;text-align:right}.engine-stats .engine-reliability{text-align:right}table.engine-error th.engine-error-type,table.engine-error td.engine-error-type,failed-test{width:10rem}.engine-errors{margin-top:3rem}.engine-errors table.engine-error{max-width:1280px;margin:1rem 0 3rem;border:1px solid var(--color-result-border);text-align:right}.engine-errors table.engine-error tr th,.engine-errors table.engine-error tr td{padding:.5rem}.engine-errors table.engine-error span.log_parameters{border-right:1px solid solid var(--color-result-border);padding:0 1rem 0 0;margin:0 0 0 .5rem}.bar-chart-value{width:3em;display:inline-block;text-align:right;padding-right:.5rem}.bar-chart-graph{width:calc(100% - 5rem);display:inline-block}.bar-chart-bar{border:3px solid var(--color-bar-chart-primary);margin:1px 0}.bar-chart-serie1{border:3px solid var(--color-bar-chart-primary);margin:1px 0;float:left}.bar-chart-serie2{border:3px solid var(--color-bar-chart-secondary);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}#main_index{margin-top:26vh}.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: 79.75em){div.title h1{font-size:1em}#main_index{margin-top:6em}}table{border-collapse:collapse}table th,table td{text-align:center;padding:1rem .5rem;text-align:right}table tr.pref-group th{font-weight:400;text-align:right;background:var(--color-settings-table-group-background)}#main_preferences form{width:100%}#main_preferences fieldset{margin:8px;border:none}#main_preferences legend{margin:0;padding:5px 0 0;display:block;float:right;width:300px}#main_preferences 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:.2rem .4rem;height:2rem;border-radius:5px}#main_preferences input[type=text]:hover,#main_preferences input[type=text]:focus{background-color:var(--color-toolkit-select-background-hover)}#main_preferences div.pref-group{width:100%;font-weight:400;padding:1rem .5rem;text-align:right;background:var(--color-settings-table-group-background)}#main_preferences .value{margin:0;padding:0;float:right;width:15em}#main_preferences .value select,#main_preferences .value input[type=text]{font-size:inherit!important;margin-top:0;margin-left:1rem;margin-bottom:0;margin-right:0}#main_preferences .value select{width:14rem}#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;float:left;width:50%;color:var(--color-settings-engine-description-font);font-size:90%}#main_preferences .bang{text-align:right;border-radius:5px;background-color:var(--color-doc-code-background);color:var(--color-doc-code);padding:.2rem;border:0 none}#main_preferences .category{margin-left:.5rem}#main_preferences .category label{border:2px solid transparent;padding:.2rem .4rem;border-radius:5px}#main_preferences .category input[type=checkbox]:checked+label{border:2px solid var(--color-categories-item-border-selected)}#main_preferences table.table_engines th.name label{cursor:pointer}#main_preferences table.table_engines th.name .engine-tooltip{margin-top:1.8rem;right:calc((100% - 85em)/2 + 10em);max-width:40rem}#main_preferences table.table_engines th.name .engine-tooltip .engine-description{margin-top:.5rem}#main_preferences table.table_engines th.name .engine-tooltip .bang{margin:.3rem}#main_preferences table.table_engines .checkbox-col,#main_preferences table.table_engines .name,#main_preferences table.table_engines .shortcut{text-align:right}#main_preferences table.cookies{width:100%;direction:ltr}#main_preferences table.cookies th,#main_preferences table.cookies td{text-align:left;font-family:monospace;font-size:1rem;padding:.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(2n)>th,#main_preferences table.cookies>tbody>tr:nth-child(2n)>td{background-color:var(--color-settings-tr-hover)}#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:.7em}#main_preferences .preferences_back a{color:var(--color-settings-return-font)}#main_preferences .preferences_back a:first-letter{text-transform:uppercase}#main_preferences #toggle-all-engines-container{width:max-content;margin-left:auto}#main_preferences div.selectable_url pre{width:100%}#main_preferences #copy-hash-container{display:flex;align-items:center;gap:.5rem}#main_preferences #copy-hash-container div.selectable_url pre{width:auto;flex-grow:1}#main_preferences #pref-hash-input{width:100%}@media screen and (max-width: 79.75em){.preferences_back{clear:both}.engine-tooltip{right:10em!important}}#search{padding:0;margin:0}#search_header{padding-top:1.5em;padding-left:2em;padding-right:7rem;margin:0;background:var(--color-header-background);border-bottom:1px solid var(--color-header-border);display:grid;gap:1rem 1.2rem;grid-template-columns:3rem 1fr;grid-template-areas:"logo search" "spacer categories"}.category_checkbox,.category_button{display:inline-block;position:relative;margin-left:1rem;padding:0}.category_checkbox input{display:none}.category_checkbox label{cursor:pointer;padding:.2rem 0;display:inline-flex;text-transform:capitalize;font-size:.9em;border-bottom:2px solid transparent;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.category_checkbox label svg{padding-right:.2rem}.category_checkbox label div.category_name{margin:auto 0}.category_checkbox input[type=checkbox]:checked+label{color:var(--color-categories-item-selected-font);border-bottom:2px solid var(--color-categories-item-border-selected)}button.category_button{background-color:inherit;color:var(--color-base-font);cursor:pointer;padding:.2rem 0;display:inline-flex;align-items:center;text-transform:capitalize;font-size:.9em;border:none;border-bottom:2px solid transparent}button.category_button svg{padding-right:.2rem}button.category_button.selected,button.category_button:active{color:var(--color-categories-item-selected-font);border-bottom:2px solid var(--color-categories-item-border-selected)}.no-js #categories_container:has(button.category_button:focus-within) button.category_button.selected{color:var(--color-base-font);border-bottom:none}.no-js #categories_container:has(button.category_button:focus-within) button.category_button:focus-within{color:var(--color-categories-item-selected-font);border-bottom:2px solid var(--color-categories-item-border-selected)}#search_logo{padding:.5rem 10px 0;grid-area:logo;display:flex;align-items:center;justify-content:center}#search_logo svg{flex:1;width:30px;height:30px;margin:.5rem 0 auto}.search_categories{grid-area:categories}.search_categories .help{display:none}.search_categories:hover .help{display:block;position:absolute;background:var(--color-base-background);padding:1rem .6rem .6rem 0;z-index:1000;width:100%;left:-.1rem}#search_view{padding:.5rem .3rem 0 .5rem;grid-area:search}body.results_endpoint #search_view{padding:.5rem 2.8rem 0 0}.search_box{border-radius:.8rem;width:44rem;display:inline-flex;flex-direction:row;white-space:nowrap;box-shadow:var(--color-search-shadow)}#clear_search{display:block;border-collapse:separate;box-sizing:border-box;width:1.8rem;margin:0;padding:.8rem .2rem;background:none repeat scroll 0 0 var(--color-search-background);border:none;outline:none;color:var(--color-search-font);font-size:1.1rem;z-index:1000}#clear_search:hover{color:var(--color-search-background-hover)}#clear_search.empty *,html.no-js #clear_search.hide_if_nojs{display:none}#q,#send_search{display:block;margin:0;padding:.8rem;background:none repeat scroll 0 0 var(--color-search-background);border:none;outline:none;color:var(--color-search-font);font-size:1.1rem;z-index:100}#q{width:100%;padding-right:1rem;padding-left:0!important;border-radius:0 .8rem .8rem 0}#q::-ms-clear,#q::-webkit-search-cancel-button{display:none}#send_search{border-radius:.8rem 0 0 .8rem}#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-right:1px solid var(--color-search-border)}.search_filters{margin-top:.6rem;margin-left:0;margin-bottom:0;margin-right:10.6rem;display:flex;overflow-x:auto;overscroll-behavior-inline:contain}.search_filters select{background-color:inherit}.search_filters select:hover,.search_filters select:focus{color:var(--color-base-font)}@media screen and (max-width: 79.75em){#search_header{padding:1.5em .5rem 0;column-gap:.5rem}.search_filters{margin-top:.6rem;margin-left:0;margin-bottom:0;margin-right:3.5rem}#categories{font-size:90%;clear:both}}@media screen and (max-width: 79.75em) and (hover: none){#main_index #categories_container,#main_results #categories_container{width:max-content}#main_index #categories_container .category_checkbox,#main_results #categories_container .category_checkbox{display:inline-block;width:auto}#main_index #categories,#main_results #categories{width:100%;text-align:right;overflow:scroll hidden;-webkit-overflow-scrolling:touch}}@media screen and (max-width: 50em){#search_header{width:100%;margin:0;padding:.1rem 0 0;gap:0 0;grid-template-areas:"logo search" "categories categories"}.search_logo{padding:0}.search_box{width:98%;display:flex}#q{width:100%;flex:1}.search_filters{margin:0 10px;padding:.5rem 0}.category{display:inline-block;width:auto;margin:0}.category svg{display:none}.category_checkbox label,.category_button{padding:1rem!important;margin:0!important}#search_view:focus-within{display:block;background-color:var(--color-search-background);position:absolute;top:0;height:100%;width:100%;z-index:2000}#search_view:focus-within .search_box{border-bottom:1px solid var(--color-search-border);width:100%;border-radius:0;box-shadow:none}#search_view:focus-within .search_box #send_search{margin-left:0!important}#search_view:focus-within .search_box *{border:none;border-radius:0;box-shadow:none}#main_results #q:placeholder-shown~#send_search{margin-left:2.6rem;transition:margin .1s}}@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;user-select:none}#categories::-webkit-scrollbar{width:0;height:0}#categories_container{position:relative}.favicon img{height:1.5rem;width:1.5rem;border-radius:10%;background-color:var(--color-favicon-background-color);border:1px solid var(--color-favicon-border-color);display:flex}@media screen and (min-width: 50em){.center-alignment-yes #main_results{--center-page-width: 48rem}}@media screen and (width >= 62rem){.center-alignment-yes #main_results{--center-page-width: 60rem}}@media screen and (min-width: 79.75em){.center-alignment-yes #main_results{--center-page-width: 73rem}}@media screen and (min-width: 50em) and (max-width: 79.75em){.center-alignment-yes #main_results #results{grid-template-columns:60% calc(40% - 5rem);margin-left:0;margin-right:0}.center-alignment-yes #main_results #urls{margin-right:3rem}.center-alignment-yes #main_results #sidebar{margin-left:1rem}.center-alignment-yes #main_results #backToTop{right:calc(60% + 1rem)}}@media screen and (min-width: 79.75em){.center-alignment-yes #main_results{display:flex;flex-direction:column;align-items:center}.center-alignment-yes #main_results #search{width:100%;display:flex;flex-direction:column;align-items:center}.center-alignment-yes #main_results #search_header{grid-template-columns:calc(50% - 4.5rem - var(--center-page-width) / 2) 3rem var(--center-page-width);grid-template-areas:"na logo search" "na spacer categories";column-gap:1.2rem;width:100%;padding-left:0;padding-right:0}.center-alignment-yes #main_results .search_filters{margin-right:.5rem;width:var(--center-page-width)}.center-alignment-yes #main_results #results{margin-left:2rem;margin-right:10rem}.center-alignment-yes #main_results #results.only_template_images,.center-alignment-yes #main_results #results.image-detail-open{align-self:flex-start}.center-alignment-yes #main_results #results:not(.only_template_images,.image-detail-open){margin-right:1.5rem;grid-template-columns:calc(var(--center-page-width) - 5rem - 25rem) 25rem}.center-alignment-yes #main_results #results:not(.only_template_images,.image-detail-open) #backToTop{right:calc(50% - 25rem - 5rem + 1rem + var(--center-page-width) / 2)}.center-alignment-yes #main_results #results .result .content{max-width:inherit}.center-alignment-yes #main_results #urls{margin-right:0}.center-alignment-yes #main_results #sidebar{margin-left:0}}.sxng-icon-set{display:inline-block;vertical-align:bottom;line-height:1;text-decoration:inherit;transform:scaleX(-1)}.sxng-icon-set-small{width:1rem;height:1rem;display:inline-block;vertical-align:bottom;line-height:1;text-decoration:inherit;transform:scaleX(-1)}.sxng-icon-set-big{width:1.5rem;height:1.5rem;display:inline-block;vertical-align:bottom;line-height:1;text-decoration:inherit;transform:scaleX(-1)}html{font-family:sans-serif;font-size:.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;scroll-behavior:smooth}body,main{padding:0;margin:0}body{display:flex;flex-direction:column;height:100vh;margin:0}@supports (height: 100dvh){body{height:100dvh}}main{width:100%;margin-bottom:2rem;flex:1}.page_with_header{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:.9em}.page_with_header .logo{height:40px}input[type=submit],#results button[type=submit],.button{padding:.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,a:visited .highlight{color:var(--color-url-visited-font)}article[data-vim-selected]{background:var(--color-result-vim-selected);border-right:.2rem solid var(--color-result-vim-arrow);border-radius:10px 0 0 10px}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.result-images[data-vim-selected] span.title,article.result-images[data-vim-selected] span.source{color:var(--color-result-image-span-font-selected)}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:.125rem 0;padding:1rem;box-sizing:border-box;width:100%;border-right:.2rem solid transparent}.result h3{font-size:1.2rem;word-wrap:break-word;margin:.4rem 0;padding:0}.result h3 a{color:var(--color-result-link-font);font-weight:400;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:smaller!important;margin-left:.5rem}.result .content,.result .stat{font-size:.9em;margin:0;padding:0;max-width:54em;word-wrap:break-word;line-height:1.24}.result .content .highlight,.result .stat .highlight{color:var(--color-result-description-highlight-font);background:inherit;font-weight:700}.result .altlink a{font-size:.9em;margin:0 10px 0 0;padding:5px 10px;border-radius:5px;background:var(--color-show-btn-background);color:var(--color-show-btn-font);cursor:pointer}.result .altlink a:hover{background:var(--color-btn-background);color:var(--color-btn-font)}.result .codelines .highlight{color:inherit;background:inherit;font-weight:400}.result .url_header{display:flex;gap:.5rem}.result .url_wrapper{display:flex;align-items:center;font-size:1rem;color:var(--color-result-url-font);flex-flow:row nowrap;overflow:hidden;margin:0;padding:0}.result .url_wrapper .url_o1{white-space:nowrap;flex-shrink:1;padding-bottom:1px}.result .url_wrapper .url_o1 .url_i1{unicode-bidi:plaintext}.result .url_wrapper .url_o1:after{content:" ";width:1ch;display:inline-block}.result .url_wrapper .url_o2{overflow:hidden;white-space:nowrap;flex:0 1 content;text-align:right;padding-bottom:1px}.result .url_wrapper .url_o2 .url_i2{float:right}.result .published_date,.result .result_length,.result .result_views,.result .result_author,.result .result_shipping,.result .result_source_country{font-size:.8em;color:var(--color-result-publishdate-font)}.result .result_price{font-size:1.2em;color:var(--color-result-description-highlight-font)}.result img.thumbnail{float:right;padding-top:.6rem;padding-left:1rem;width:7rem;height:unset}.result .break{clear:both}.result-paper .attributes,.result-packages .attributes{display:table;border-spacing:.125rem}.result-paper .attributes div,.result-packages .attributes div{display:table-row}.result-paper .attributes div span,.result-packages .attributes div span{font-size:.9rem;margin-top:.25rem;display:table-cell}.result-paper .attributes div span time,.result-packages .attributes div span time{font-size:.9rem}.result-paper .attributes div span:first-child,.result-packages .attributes div span:first-child{color:var(--color-base-font);min-width:10rem}.result-paper .attributes div span:nth-child(2),.result-packages .attributes div span:nth-child(2){color:var(--color-result-publishdate-font)}.result-paper .content,.result-packages .content{margin-top:.25rem}.result-paper .comments,.result-packages .comments{font-size:.9rem;margin:.25rem 0 0;padding:0;word-wrap:break-word;line-height:1.24;font-style:italic}.result-packages .attributes{margin-top:.3rem}.template_group_images{display:flex;flex-wrap:wrap}.template_group_images:after{flex-grow:10;content:""}.category-videos,.category-news,.category-map,.category-music,.category-files,.category-social{border:1px solid var(--color-result-border);margin:0 .5rem 1rem!important;border-radius:10px}.category-social .image{width:auto!important;min-width:48px;min-height:48px;padding:0 5px 25px 0!important}.audio-control audio{width:100%;padding:10px 0 0}.embedded-content iframe{width:100%;padding:10px 0 0}.result-videos img.thumbnail{float:right;padding-top:.6rem;padding-left:1rem;width:20rem;height:unset}.result-videos .content{overflow:hidden}.result-videos .embedded-video iframe{width:100%;aspect-ratio:16 / 9;padding:10px 0 0}@supports not (aspect-ratio: 1 / 1){.result-videos .embedded-video iframe{height:25.3125rem}}.engines{float:left;display:flex;flex-wrap:wrap;justify-content:flex-end;color:var(--color-result-engines-font)}.engines span{font-size:smaller;margin-top:0;margin-bottom:0;margin-left:.5rem;margin-right:0}.small_font{font-size:.8em}.highlight{color:var(--color-result-link-font-highlight);background:inherit}.empty_element{font-style:italic}.result-images{flex-grow:1;padding:.5rem .5rem 3rem;margin:.25rem;border:none!important;height:12rem;width:unset}.result-images>a{position:relative;outline:none}.result-images img{margin:0;padding:0;border:none;height:100%;width:auto;object-fit:cover;vertical-align:bottom;background:var(--color-result-image-background)}.result-images .image_resolution{position:absolute;right:0;bottom:0;background:var(--color-image-resolution-background);padding:.3rem .5rem;font-size:.9rem;color:var(--color-image-resolution-font);border-top-left-radius:.3rem}.result-images span.title,.result-images span.source{display:block;position:absolute;width:100%;font-size:.9rem;color:var(--color-result-image-span-font);padding:.5rem 0 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.result-images span.source{padding:1.8rem 0 0;font-size:.7rem}.result-map img.image{float:left!important;height:100px!important;width:auto!important}.result-map table{font-size:.9em;width:auto;border-collapse:separate;border-spacing:0 .35rem}.result-map table th{font-weight:inherit;width:17rem;vertical-align:top;text-align:right}.result-map table td{vertical-align:top;text-align:right}.hidden{display:none!important}#results{margin-top:1rem;margin-left:2rem;margin-bottom:0;margin-right:10rem;display:grid;grid-template:"corrections sidebar" min-content "answers sidebar" min-content "urls sidebar" 1fr "pagination sidebar" min-content / 45rem 25rem;gap:0 5rem}#results #sidebar *:first-child{margin-top:0}#urls{padding:0;grid-area:urls}#apis .wrapper{display:flex}#suggestions .wrapper{display:flex;flex-flow:column;justify-content:flex-end}#suggestions .wrapper form{display:inline-block;flex:1 1 50%}#suggestions input,#infoboxes input{padding:0;margin:3px;font-size:.9em;display:inline-block;background:transparent;color:var(--color-result-search-url-font);cursor:pointer;width:100%;text-overflow:ellipsis;overflow:hidden;text-align:left}#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:.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}#corrections h4,#corrections input[type=submit]{display:inline-block;padding:.5rem;margin:.5rem}#corrections input[type=submit]{font-size:.8rem;border-radius:5px}#infoboxes .title,#suggestions .title,#search_url .title,#engines_msg .title,#apis .title{margin:2em 0 .5em;color:var(--color-base-font)}summary.title{cursor:pointer;padding-top:1em}.sidebar-collapsible{border-top:1px solid var(--color-sidebar-border);padding-bottom:.5em}#sidebar-end-collapsible{border-bottom:1px solid var(--color-sidebar-border);width:100%}#answers{grid-area:answers;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}#answers span{overflow-wrap:anywhere}#answers .answer{display:flex;flex-direction:column}#answers .answer-url{margin:5px 10px 10px auto}#infoboxes form{min-width:210px}#sidebar{grid-area:sidebar;word-wrap:break-word;color:var(--color-sidebar-font)}#sidebar .infobox{margin:10px 0;border:1px solid var(--color-sidebar-border);padding:1rem;font-size:.9em;border-radius:10px}#sidebar .infobox h2{margin:0 0 .5em}#sidebar .infobox img{max-width:100%;max-height:12em;display:block;margin:0 auto;padding:0}#sidebar .infobox dt{font-weight:700}#sidebar .infobox .attributes dl{margin:.5em 0}#sidebar .infobox .attributes dt{display:inline;margin:.5em 0 .5em .25em;padding:0}#sidebar .infobox .attributes dd{display:inline;margin:.5em 0;padding:0}#sidebar .infobox input{font-size:1em}#sidebar .infobox br,#sidebar .infobox .attributes,#sidebar .infobox .urls{clear:both}#apis input{font-size:.9em;margin:0 10px 0 0;padding:5px 10px;border-radius:5px;background:var(--color-show-btn-background);color:var(--color-show-btn-font);cursor:pointer}#apis input:hover{background:var(--color-btn-background);color:var(--color-btn-font)}#engines_msg .engine-name{width:10rem}#engines_msg .response-error{color:var(--color-error)}#engines_msg .bar-chart-value{width:auto}#search_url div.selectable_url pre{float:left;width:200em}#search_url button#copy_url{float:right;padding:.4rem;margin-left:.5rem;border-radius:.3rem;display:none}#links_on_top{position:absolute;left:1rem;text-align:left;top:2.7rem;padding:0;border:0;display:flex;align-items:center;font-size:1em;color:var(--color-search-font)}#links_on_top a{display:flex;align-items:center;margin-left:1em}#links_on_top a svg{font-size:1.2em;margin-left:.125em}#links_on_top a,#links_on_top a:link *,#links_on_top a:hover *,#links_on_top a:visited *,#links_on_top a:active *{color:var(--color-search-font)}#pagination{grid-area:pagination}#pagination br{clear:both}.numbered_pagination{display:flex;flex-direction:row;justify-content:center;align-items:center;overflow:hidden}.page_number{background:transparent!important;color:var(--color-result-link-font)!important;text-decoration:underline}.page_number_current{background:transparent;color:var(--color-result-link-visited-font);border:none}#backToTop{border:1px solid var(--color-backtotop-border);margin:0;padding:0;font-size:1em;background:var(--color-backtotop-background);position:fixed;bottom:8rem;right:56.3rem;transition:opacity .5s;opacity:0;pointer-events:none;border-radius:10px}#backToTop a{display:block;margin:0;padding:.7em}#backToTop a,#backToTop a:visited,#backToTop a:hover,#backToTop a:active{color:var(--color-backtotop-font)}#results.scrolling #backToTop{opacity:1;pointer-events:all}@media screen and (width <= calc(79.75em - .5px)){#links_on_top span{display:none}}@media screen and (width <= 52rem){body.results_endpoint #links_on_top .link_on_top_about,body.results_endpoint #links_on_top .link_on_top_donate{display:none}}@media screen and (min-width: 50em) and (max-width: 79.75em){.center-alignment-no #links_on_top span{display:none}.center-alignment-no .page_with_header{margin:2rem .5rem;width:auto}.center-alignment-no #infoboxes{position:inherit;max-width:inherit}.center-alignment-no #infoboxes .infobox{clear:both}.center-alignment-no #infoboxes .infobox img{float:right;max-width:10em;margin:.5em 0 .5em .5em}.center-alignment-no #sidebar{margin:0 .5rem .125rem;padding:0;float:none;border:none;width:auto}.center-alignment-no #sidebar input{border:0}.center-alignment-no .result .thumbnail{max-width:98%}.center-alignment-no .result .url span.url{display:block;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;width:100%}.center-alignment-no .result .engines{float:left;display:flex;flex-wrap:wrap;justify-content:flex-end;padding:3px 0 0}.center-alignment-no .result-images{border-bottom:none!important}.center-alignment-no .image_result,.center-alignment-no .image_result img{max-width:98%}.center-alignment-no #backToTop{display:none}.center-alignment-no #pagination{margin:2rem 0 0!important}.center-alignment-no #main_results div#results{margin:0 auto;justify-content:center;display:grid;grid-template:"corrections" min-content "answers" min-content "sidebar" min-content "urls" 1fr "pagination" min-content / 45rem;gap:0}}#main_results div#results.only_template_images{margin:1rem .5rem 0;display:grid;grid-template:"corrections" min-content "answers" min-content "sidebar" min-content "urls" 1fr "pagination" min-content / 100%;gap:0}#main_results div#results.only_template_images #sidebar{display:none}#main_results div#results.only_template_images #urls{margin:0;display:flex;flex-wrap:wrap}#main_results div#results.only_template_images #urls:after{flex-grow:10;content:""}#main_results div#results.only_template_images #backToTop{right:auto;left:1rem}#main_results div#results.only_template_images #pagination{margin-left:4rem}@media screen and (max-width: 50em){#links_on_top span{display:none}.page_with_header{margin:2rem .5rem;width:auto}#infoboxes{position:inherit;max-width:inherit}#infoboxes .infobox{clear:both}#infoboxes .infobox img{float:right;max-width:10em;margin:.5em 0 .5em .5em}#sidebar{margin:0 .5rem .125rem;padding:0;float:none;border:none;width:auto}#sidebar input{border:0}.result .thumbnail{max-width:98%}.result .url span.url{display:block;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;width:100%}.result .engines{float:left;display:flex;flex-wrap:wrap;justify-content:flex-end;padding:3px 0 0}.result-images{border-bottom:none!important}.image_result,.image_result img{max-width:98%}#backToTop{display:none}#pagination{margin:2rem 0 0!important}#main_results div#results{margin:0 auto;justify-content:center;display:grid;grid-template:"corrections" min-content "answers" min-content "sidebar" min-content "urls" 1fr "pagination" min-content / 45rem;gap:0}html{background-color:var(--color-base-background-mobile)}#main_results div#results{grid-template-columns:100%;margin:0 auto}#links_on_top{top:1.4rem;left:10px}#main_index #links_on_top{top:.5rem;left:.5rem}#results{margin:0;padding:0}#pagination{margin:2rem 1rem 0!important}article[data-vim-selected]{border:1px solid var(--color-result-vim-arrow);border-radius:10px}.result{background:var(--color-result-background);border:1px solid var(--color-result-background);margin:1rem 2%;width:96%;border-radius:10px}.result-images{margin:0;height:10rem;background:var(--color-base-background-mobile);width:unset}.infobox{border:none!important;background-color:var(--color-sidebar-background)}.numbered_pagination{display:none}.result-paper .attributes,.result-packages .attributes,.result-paper .attributes div,.result-packages .attributes div{display:block}.result-paper .attributes div span,.result-packages .attributes div span{display:inline}.result-paper .attributes div span:first-child,.result-packages .attributes div span:first-child{font-weight:700}.result-paper .attributes div span:nth-child(2),.result-packages .attributes div span:nth-child(2){margin-right:.5rem}}@media screen and (max-width: 35em){.result-videos img.thumbnail{float:none!important}.result-videos .content{overflow:inherit}}pre code{white-space:pre-wrap}#main_results .result-keyvalue caption{padding:.8rem .5rem;font-style:italic;caption-side:bottom;background-color:var(--color-result-keyvalue-table)}#main_results .result-keyvalue .col-key{width:25%}#main_results .result-keyvalue table{word-break:break-word;table-layout:fixed;width:100%;background-color:var(--color-result-keyvalue-table)}#main_results .result-keyvalue tr.odd{background-color:var(--color-result-keyvalue-odd)}#main_results .result-keyvalue tr.even{background-color:var(--color-result-keyvalue-even)}#main_results .result-keyvalue th,#main_results .result-keyvalue td{padding:.3rem .5rem}#q,#sidebar .infobox dt bdi{direction:rtl}#urls{direction:initial;text-align:right}#urls .result .url_header{direction:rtl}#urls .result .url_wrapper{justify-content:end}#main_results div#results.only_template_images #urls{direction:rtl}#results.image-detail-open article.result-images[data-vim-selected] .detail .result-images-labels p{direction:rtl}#results.image-detail-open article.result-images[data-vim-selected] .detail .result-images-labels p.result-url{direction:ltr}#results.image-detail-open article.result-images[data-vim-selected] .detail .result-images-labels p.result-url span{direction:rtl;float:right}@supports ((background-position-x: 100%) and ((appearance: none) or (-webkit-appearance: none) or (-moz-appearance: none))){select{border-width:0 0 0 2rem;background-position-x:-2rem}}#vim-hotkeys-help table{direction:ltr;text-align:left}#main_preferences h1,#main_stats h1{background-position-x:100%}.bar-chart-serie1,.bar-chart-serie2{float:right}.engine-stats .engine-name,.engine-stats .engine-score,.engine-stats .result-count,.engine-stats .response-time,.engine-stats .engine-reliability{text-align:right}
+/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}:root{--color-base-font: #444;--color-base-font-rgb: 68, 68, 68;--color-base-background: #fff;--color-base-background-mobile: #f2f5f8;--color-url-font: #334999;--color-url-visited-font: #9822c3;--color-header-background: #fdfbff;--color-header-border: #ddd;--color-footer-background: #fdfbff;--color-footer-border: #ddd;--color-sidebar-border: #ddd;--color-sidebar-font: #000;--color-sidebar-background: #fff;--color-backtotop-font: #444;--color-backtotop-border: #ddd;--color-backtotop-background: #fff;--color-btn-background: #3050ff;--color-btn-font: #fff;--color-show-btn-background: #bbb;--color-show-btn-font: #000;--color-search-border: #bbb;--color-search-shadow: 0 2px 8px rgba(34, 38, 46, .25);--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-shadow: 0 2px 8px rgba(34, 38, 46, .25);--color-autocomplete-background: #fff;--color-autocomplete-background-hover: #e3e3e3;--color-answer-font: #444;--color-answer-background: #fff;--color-result-keyvalue-col-table: #fdfbff;--color-result-keyvalue-odd: #fdfbff;--color-result-keyvalue-even: #fff;--color-result-background: #fff;--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: #9822c3;--color-result-publishdate-font: #777;--color-result-engines-font: #545454;--color-result-search-url-border: #ddd;--color-result-search-url-font: #000;--color-result-image-span-font: #444;--color-result-image-span-font-selected: #fff;--color-result-image-background: #fff;--color-settings-tr-hover: #ebebeb;--color-settings-engine-description-font: #545454;--color-settings-table-group-background: #0001;--color-result-detail-font: #fff;--color-result-detail-label-font: lightgray;--color-result-detail-background: #242424;--color-result-detail-hr: #555;--color-result-detail-link: #8af;--color-result-detail-loader-border: rgba(255, 255, 255, .2);--color-result-detail-loader-borderleft: rgba(0, 0, 0, 0);--color-toolkit-badge-font: #fff;--color-toolkit-badge-background: #545454;--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: #e1e1e1;--color-toolkit-select-border: #ddd;--color-toolkit-select-background-hover: #bbb;--color-toolkit-input-text-font: #222;--color-toolkit-checkbox-onoff-off-background: #ddd;--color-toolkit-checkbox-onoff-on-background: #ddd;--color-toolkit-checkbox-onoff-on-mark-background: #3050ff;--color-toolkit-checkbox-onoff-on-mark-color: #fff;--color-toolkit-checkbox-onoff-off-mark-background: #aaa;--color-toolkit-checkbox-onoff-off-mark-color: #fff;--color-toolkit-checkbox-label-background: #ddd;--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, .2);--color-toolkit-loader-borderleft: rgba(255, 255, 255, 0);--color-doc-code: #003;--color-doc-code-background: #ddeaff;--color-bar-chart-primary: #5bc0de;--color-bar-chart-secondary: #deb15b;--color-image-resolution-background: rgba(0, 0, 0, .5);--color-image-resolution-font: #fff;--color-loading-indicator: rgba(255, 255, 255, .2);--color-loading-indicator-gap: #fff;--color-line-number: #64708d;--color-favicon-background-color: #ddd;--color-favicon-border-color: #ccc}@media (prefers-color-scheme: dark){:root.theme-auto{--color-base-font: #bbb;--color-base-font-rgb: 187, 187, 187;--color-base-background: #222428;--color-base-background-mobile: #222428;--color-url-font: #8af;--color-url-visited-font: #c09cd9;--color-header-background: #1e1e22;--color-header-border: #333;--color-footer-background: #1e1e22;--color-footer-border: #333;--color-sidebar-border: #555;--color-sidebar-font: #fff;--color-sidebar-background: #292c34;--color-backtotop-font: #bbb;--color-backtotop-border: #333;--color-backtotop-background: #2b2e36;--color-btn-background: #58f;--color-btn-font: #222;--color-show-btn-background: #555;--color-show-btn-font: #fff;--color-search-border: #555;--color-search-shadow: 0 2px 8px rgba(34, 38, 46, .25);--color-search-background: #2b2e36;--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-shadow: 0 2px 8px rgba(34, 38, 46, .25);--color-autocomplete-background: #2b2e36;--color-autocomplete-background-hover: #1e1e22;--color-answer-font: #bbb;--color-answer-background: #26292f;--color-result-keyvalue-col-table: #1e1e22;--color-result-keyvalue-odd: #1e1e22;--color-result-keyvalue-even: #26292f;--color-result-background: #26292f;--color-result-border: #333;--color-result-url-font: #fff;--color-result-vim-selected: #1f1f23cc;--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: #c09cd9;--color-result-publishdate-font: #888;--color-result-engines-font: #a4a4a4;--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: #1a1a1c;--color-result-detail-hr: #555;--color-result-detail-link: #8af;--color-result-detail-loader-border: rgba(255, 255, 255, .2);--color-result-detail-loader-borderleft: rgba(0, 0, 0, 0);--color-result-image-span-font: #bbb;--color-result-image-span-font-selected: #222;--color-result-image-background: #222;--color-settings-tr-hover: #2c2c32;--color-settings-engine-description-font: #909090;--color-settings-table-group-background: #1b1b21;--color-toolkit-badge-font: #fff;--color-toolkit-badge-background: #555;--color-toolkit-kbd-font: #000;--color-toolkit-kbd-background: #fff;--color-toolkit-dialog-border: #555;--color-toolkit-dialog-background: #1e1e22;--color-toolkit-tabs-label-border: #222;--color-toolkit-tabs-section-border: #555;--color-toolkit-select-background: #313338;--color-toolkit-select-border: #555;--color-toolkit-select-background-hover: #373b49;--color-toolkit-input-text-font: #fff;--color-toolkit-checkbox-onoff-off-background: #313338;--color-toolkit-checkbox-onoff-on-background: #313338;--color-toolkit-checkbox-onoff-on-mark-background: #58f;--color-toolkit-checkbox-onoff-on-mark-color: #222;--color-toolkit-checkbox-onoff-off-mark-background: #ddd;--color-toolkit-checkbox-onoff-off-mark-color: #222;--color-toolkit-checkbox-label-background: #222;--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, .2);--color-toolkit-loader-borderleft: rgba(0, 0, 0, 0);--color-doc-code: #ddd;--color-doc-code-background: #4d5a6f;--color-favicon-background-color: #ddd;--color-favicon-border-color: #ccc}}:root.theme-dark{--color-base-font: #bbb;--color-base-font-rgb: 187, 187, 187;--color-base-background: #222428;--color-base-background-mobile: #222428;--color-url-font: #8af;--color-url-visited-font: #c09cd9;--color-header-background: #1e1e22;--color-header-border: #333;--color-footer-background: #1e1e22;--color-footer-border: #333;--color-sidebar-border: #555;--color-sidebar-font: #fff;--color-sidebar-background: #292c34;--color-backtotop-font: #bbb;--color-backtotop-border: #333;--color-backtotop-background: #2b2e36;--color-btn-background: #58f;--color-btn-font: #222;--color-show-btn-background: #555;--color-show-btn-font: #fff;--color-search-border: #555;--color-search-shadow: 0 2px 8px rgba(34, 38, 46, .25);--color-search-background: #2b2e36;--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-shadow: 0 2px 8px rgba(34, 38, 46, .25);--color-autocomplete-background: #2b2e36;--color-autocomplete-background-hover: #1e1e22;--color-answer-font: #bbb;--color-answer-background: #26292f;--color-result-keyvalue-col-table: #1e1e22;--color-result-keyvalue-odd: #1e1e22;--color-result-keyvalue-even: #26292f;--color-result-background: #26292f;--color-result-border: #333;--color-result-url-font: #fff;--color-result-vim-selected: #1f1f23cc;--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: #c09cd9;--color-result-publishdate-font: #888;--color-result-engines-font: #a4a4a4;--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: #1a1a1c;--color-result-detail-hr: #555;--color-result-detail-link: #8af;--color-result-detail-loader-border: rgba(255, 255, 255, .2);--color-result-detail-loader-borderleft: rgba(0, 0, 0, 0);--color-result-image-span-font: #bbb;--color-result-image-span-font-selected: #222;--color-result-image-background: #222;--color-settings-tr-hover: #2c2c32;--color-settings-engine-description-font: #909090;--color-settings-table-group-background: #1b1b21;--color-toolkit-badge-font: #fff;--color-toolkit-badge-background: #555;--color-toolkit-kbd-font: #000;--color-toolkit-kbd-background: #fff;--color-toolkit-dialog-border: #555;--color-toolkit-dialog-background: #1e1e22;--color-toolkit-tabs-label-border: #222;--color-toolkit-tabs-section-border: #555;--color-toolkit-select-background: #313338;--color-toolkit-select-border: #555;--color-toolkit-select-background-hover: #373b49;--color-toolkit-input-text-font: #fff;--color-toolkit-checkbox-onoff-off-background: #313338;--color-toolkit-checkbox-onoff-on-background: #313338;--color-toolkit-checkbox-onoff-on-mark-background: #58f;--color-toolkit-checkbox-onoff-on-mark-color: #222;--color-toolkit-checkbox-onoff-off-mark-background: #ddd;--color-toolkit-checkbox-onoff-off-mark-color: #222;--color-toolkit-checkbox-label-background: #222;--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, .2);--color-toolkit-loader-borderleft: rgba(0, 0, 0, 0);--color-doc-code: #ddd;--color-doc-code-background: #4d5a6f;--color-favicon-background-color: #ddd;--color-favicon-border-color: #ccc}:root.theme-black{--color-base-font: #bbb;--color-base-font-rgb: 187, 187, 187;--color-base-background: #222428;--color-base-background-mobile: #222428;--color-url-font: #8af;--color-url-visited-font: #c09cd9;--color-header-background: #1e1e22;--color-header-border: #333;--color-footer-background: #1e1e22;--color-footer-border: #333;--color-sidebar-border: #555;--color-sidebar-font: #fff;--color-sidebar-background: #292c34;--color-backtotop-font: #bbb;--color-backtotop-border: #333;--color-backtotop-background: #2b2e36;--color-btn-background: #58f;--color-btn-font: #222;--color-show-btn-background: #555;--color-show-btn-font: #fff;--color-search-border: #555;--color-search-shadow: 0 2px 8px rgba(34, 38, 46, .25);--color-search-background: #2b2e36;--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-shadow: 0 2px 8px rgba(34, 38, 46, .25);--color-autocomplete-background: #2b2e36;--color-autocomplete-background-hover: #1e1e22;--color-answer-font: #bbb;--color-answer-background: #26292f;--color-result-keyvalue-col-table: #1e1e22;--color-result-keyvalue-odd: #1e1e22;--color-result-keyvalue-even: #26292f;--color-result-background: #26292f;--color-result-border: #333;--color-result-url-font: #fff;--color-result-vim-selected: #1f1f23cc;--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: #c09cd9;--color-result-publishdate-font: #888;--color-result-engines-font: #a4a4a4;--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: #1a1a1c;--color-result-detail-hr: #555;--color-result-detail-link: #8af;--color-result-detail-loader-border: rgba(255, 255, 255, .2);--color-result-detail-loader-borderleft: rgba(0, 0, 0, 0);--color-result-image-span-font: #bbb;--color-result-image-span-font-selected: #222;--color-result-image-background: #222;--color-settings-tr-hover: #2c2c32;--color-settings-engine-description-font: #909090;--color-settings-table-group-background: #1b1b21;--color-toolkit-badge-font: #fff;--color-toolkit-badge-background: #555;--color-toolkit-kbd-font: #000;--color-toolkit-kbd-background: #fff;--color-toolkit-dialog-border: #555;--color-toolkit-dialog-background: #1e1e22;--color-toolkit-tabs-label-border: #222;--color-toolkit-tabs-section-border: #555;--color-toolkit-select-background: #313338;--color-toolkit-select-border: #555;--color-toolkit-select-background-hover: #373b49;--color-toolkit-input-text-font: #fff;--color-toolkit-checkbox-onoff-off-background: #313338;--color-toolkit-checkbox-onoff-on-background: #313338;--color-toolkit-checkbox-onoff-on-mark-background: #58f;--color-toolkit-checkbox-onoff-on-mark-color: #222;--color-toolkit-checkbox-onoff-off-mark-background: #ddd;--color-toolkit-checkbox-onoff-off-mark-color: #222;--color-toolkit-checkbox-label-background: #222;--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, .2);--color-toolkit-loader-borderleft: rgba(0, 0, 0, 0);--color-doc-code: #ddd;--color-doc-code-background: #4d5a6f;--color-favicon-background-color: #ddd;--color-favicon-border-color: #ccc;--color-base-background: #000;--color-base-background-mobile: #000;--color-header-background: #000;--color-footer-background: #000;--color-sidebar-background: #000}.code-highlight pre{line-height:100%}.code-highlight td.linenos .normal,.code-highlight span.linenos{color:inherit;background-color:transparent;padding-left:5px;padding-right:5px}.code-highlight td.linenos .special,.code-highlight span.linenos.special{color:#000;background-color:#ffffc0;padding-left:5px;padding-right:5px}.code-highlight .hll{background-color:#ffc}.code-highlight .c{color:#3d7b7b;font-style:italic}.code-highlight .err{border:1px solid #F00}.code-highlight .k{color:green;font-weight:700}.code-highlight .o{color:#666}.code-highlight .ch,.code-highlight .cm{color:#3d7b7b;font-style:italic}.code-highlight .cp{color:#9c6500}.code-highlight .cpf,.code-highlight .c1,.code-highlight .cs{color:#3d7b7b;font-style:italic}.code-highlight .gd{color:#a00000}.code-highlight .ge{font-style:italic}.code-highlight .ges{font-weight:700;font-style:italic}.code-highlight .gr{color:#e40000}.code-highlight .gh{color:navy;font-weight:700}.code-highlight .gi{color:#008400}.code-highlight .go{color:#717171}.code-highlight .gp{color:navy;font-weight:700}.code-highlight .gs{font-weight:700}.code-highlight .gu{color:purple;font-weight:700}.code-highlight .gt{color:#04d}.code-highlight .kc,.code-highlight .kd,.code-highlight .kn{color:green;font-weight:700}.code-highlight .kp{color:green}.code-highlight .kr{color:green;font-weight:700}.code-highlight .kt{color:#b00040}.code-highlight .m{color:#666}.code-highlight .s{color:#ba2121}.code-highlight .na{color:#687822}.code-highlight .nb{color:green}.code-highlight .nc{color:#00f;font-weight:700}.code-highlight .no{color:#800}.code-highlight .nd{color:#a2f}.code-highlight .ni{color:#717171;font-weight:700}.code-highlight .ne{color:#cb3f38;font-weight:700}.code-highlight .nf{color:#00f}.code-highlight .nl{color:#767600}.code-highlight .nn{color:#00f;font-weight:700}.code-highlight .nt{color:green;font-weight:700}.code-highlight .nv{color:#19177c}.code-highlight .ow{color:#a2f;font-weight:700}.code-highlight .w{color:#bbb}.code-highlight .mb,.code-highlight .mf,.code-highlight .mh,.code-highlight .mi,.code-highlight .mo{color:#666}.code-highlight .sa,.code-highlight .sb,.code-highlight .sc,.code-highlight .dl{color:#ba2121}.code-highlight .sd{color:#ba2121;font-style:italic}.code-highlight .s2{color:#ba2121}.code-highlight .se{color:#aa5d1f;font-weight:700}.code-highlight .sh{color:#ba2121}.code-highlight .si{color:#a45a77;font-weight:700}.code-highlight .sx{color:green}.code-highlight .sr{color:#a45a77}.code-highlight .s1{color:#ba2121}.code-highlight .ss{color:#19177c}.code-highlight .bp{color:green}.code-highlight .fm{color:#00f}.code-highlight .vc,.code-highlight .vg,.code-highlight .vi,.code-highlight .vm{color:#19177c}.code-highlight .il{color:#666}.codelines{margin:.125rem 0 0;padding:1rem 0 0}.code-highlight pre{overflow:auto;margin:0;padding:0 0 .75rem}.code-highlight .linenos{-webkit-user-select:none;user-select:none;cursor:default;margin-right:8px;text-align:right}.code-highlight .linenos::selection{background:transparent}.code-highlight .linenos::-moz-selection{background:transparent}.code-highlight span.linenos{color:var(--color-line-number)}@media (prefers-color-scheme: dark){:root.theme-auto .code-highlight pre{line-height:100%}:root.theme-auto .code-highlight td.linenos .normal{color:#3c4354;background-color:transparent;padding-left:5px;padding-right:5px}:root.theme-auto .code-highlight span.linenos{color:#3c4354;background-color:transparent;padding-left:5px;padding-right:5px}:root.theme-auto .code-highlight td.linenos .special{color:#3c4354;background-color:#ffffc0;padding-left:5px;padding-right:5px}:root.theme-auto .code-highlight span.linenos.special{color:#3c4354;background-color:#ffffc0;padding-left:5px;padding-right:5px}:root.theme-auto .code-highlight .hll{background-color:#6e7681}:root.theme-auto .code-highlight .c{color:#7e8aa1}:root.theme-auto .code-highlight .err{color:#f88f7f}:root.theme-auto .code-highlight .esc{color:#d4d2c8}:root.theme-auto .code-highlight .g{color:#d4d2c8}:root.theme-auto .code-highlight .k{color:#ffad66}:root.theme-auto .code-highlight .l{color:#d5ff80}:root.theme-auto .code-highlight .n{color:#d4d2c8}:root.theme-auto .code-highlight .o{color:#ffad66}:root.theme-auto .code-highlight .x{color:#d4d2c8}:root.theme-auto .code-highlight .p{color:#d4d2c8}:root.theme-auto .code-highlight .ch{color:#f88f7f;font-style:italic}:root.theme-auto .code-highlight .cm{color:#7e8aa1}:root.theme-auto .code-highlight .cp{color:#ffad66;font-weight:700}:root.theme-auto .code-highlight .cpf{color:#7e8aa1}:root.theme-auto .code-highlight .c1{color:#7e8aa1}:root.theme-auto .code-highlight .cs{color:#7e8aa1;font-style:italic}:root.theme-auto .code-highlight .gd{color:#f88f7f;background-color:#3d1e20}:root.theme-auto .code-highlight .ge{color:#d4d2c8;font-style:italic}:root.theme-auto .code-highlight .ges{color:#d4d2c8}:root.theme-auto .code-highlight .gr{color:#f88f7f}:root.theme-auto .code-highlight .gh{color:#d4d2c8}:root.theme-auto .code-highlight .gi{color:#6ad4af;background-color:#19362c}:root.theme-auto .code-highlight .go{color:#7e8aa1}:root.theme-auto .code-highlight .gp{color:#d4d2c8}:root.theme-auto .code-highlight .gs{color:#d4d2c8;font-weight:700}:root.theme-auto .code-highlight .gu{color:#d4d2c8}:root.theme-auto .code-highlight .gt{color:#f88f7f}:root.theme-auto .code-highlight .kc{color:#ffad66}:root.theme-auto .code-highlight .kd{color:#ffad66}:root.theme-auto .code-highlight .kn{color:#ffad66}:root.theme-auto .code-highlight .kp{color:#ffad66}:root.theme-auto .code-highlight .kr{color:#ffad66}:root.theme-auto .code-highlight .kt{color:#73d0ff}:root.theme-auto .code-highlight .ld{color:#d5ff80}:root.theme-auto .code-highlight .m{color:#dfbfff}:root.theme-auto .code-highlight .s{color:#d5ff80}:root.theme-auto .code-highlight .na{color:#ffd173}:root.theme-auto .code-highlight .nb{color:#ffd173}:root.theme-auto .code-highlight .nc{color:#73d0ff}:root.theme-auto .code-highlight .no{color:#ffd173}:root.theme-auto .code-highlight .nd{color:#7e8aa1;font-weight:700;font-style:italic}:root.theme-auto .code-highlight .ni{color:#95e6cb}:root.theme-auto .code-highlight .ne{color:#73d0ff}:root.theme-auto .code-highlight .nf{color:#ffd173}:root.theme-auto .code-highlight .nl{color:#d4d2c8}:root.theme-auto .code-highlight .nn{color:#d4d2c8}:root.theme-auto .code-highlight .nx{color:#d4d2c8}:root.theme-auto .code-highlight .py{color:#ffd173}:root.theme-auto .code-highlight .nt{color:#5ccfe6}:root.theme-auto .code-highlight .nv{color:#d4d2c8}:root.theme-auto .code-highlight .ow{color:#ffad66}:root.theme-auto .code-highlight .pm{color:#d4d2c8}:root.theme-auto .code-highlight .w{color:#d4d2c8}:root.theme-auto .code-highlight .mb{color:#dfbfff}:root.theme-auto .code-highlight .mf{color:#dfbfff}:root.theme-auto .code-highlight .mh{color:#dfbfff}:root.theme-auto .code-highlight .mi{color:#dfbfff}:root.theme-auto .code-highlight .mo{color:#dfbfff}:root.theme-auto .code-highlight .sa{color:#f29e74}:root.theme-auto .code-highlight .sb{color:#d5ff80}:root.theme-auto .code-highlight .sc{color:#d5ff80}:root.theme-auto .code-highlight .dl{color:#d5ff80}:root.theme-auto .code-highlight .sd{color:#7e8aa1}:root.theme-auto .code-highlight .s2{color:#d5ff80}:root.theme-auto .code-highlight .se{color:#95e6cb}:root.theme-auto .code-highlight .sh{color:#d5ff80}:root.theme-auto .code-highlight .si{color:#95e6cb}:root.theme-auto .code-highlight .sx{color:#95e6cb}:root.theme-auto .code-highlight .sr{color:#95e6cb}:root.theme-auto .code-highlight .s1{color:#d5ff80}:root.theme-auto .code-highlight .ss{color:#dfbfff}:root.theme-auto .code-highlight .bp{color:#5ccfe6}:root.theme-auto .code-highlight .fm{color:#ffd173}:root.theme-auto .code-highlight .vc{color:#d4d2c8}:root.theme-auto .code-highlight .vg{color:#d4d2c8}:root.theme-auto .code-highlight .vi{color:#d4d2c8}:root.theme-auto .code-highlight .vm{color:#d4d2c8}:root.theme-auto .code-highlight .il{color:#dfbfff}:root.theme-auto .code-highlight pre{overflow:auto;margin:0;padding:0 0 .75rem}:root.theme-auto .code-highlight .linenos{-webkit-user-select:none;user-select:none;cursor:default;margin-right:8px;text-align:right}:root.theme-auto .code-highlight .linenos::selection{background:transparent}:root.theme-auto .code-highlight .linenos::-moz-selection{background:transparent}:root.theme-auto .code-highlight span.linenos{color:var(--color-line-number)}}:root.theme-dark .code-highlight pre{line-height:100%}:root.theme-dark .code-highlight td.linenos .normal{color:#3c4354;background-color:transparent;padding-left:5px;padding-right:5px}:root.theme-dark .code-highlight span.linenos{color:#3c4354;background-color:transparent;padding-left:5px;padding-right:5px}:root.theme-dark .code-highlight td.linenos .special{color:#3c4354;background-color:#ffffc0;padding-left:5px;padding-right:5px}:root.theme-dark .code-highlight span.linenos.special{color:#3c4354;background-color:#ffffc0;padding-left:5px;padding-right:5px}:root.theme-dark .code-highlight .hll{background-color:#6e7681}:root.theme-dark .code-highlight .c{color:#7e8aa1}:root.theme-dark .code-highlight .err{color:#f88f7f}:root.theme-dark .code-highlight .esc{color:#d4d2c8}:root.theme-dark .code-highlight .g{color:#d4d2c8}:root.theme-dark .code-highlight .k{color:#ffad66}:root.theme-dark .code-highlight .l{color:#d5ff80}:root.theme-dark .code-highlight .n{color:#d4d2c8}:root.theme-dark .code-highlight .o{color:#ffad66}:root.theme-dark .code-highlight .x{color:#d4d2c8}:root.theme-dark .code-highlight .p{color:#d4d2c8}:root.theme-dark .code-highlight .ch{color:#f88f7f;font-style:italic}:root.theme-dark .code-highlight .cm{color:#7e8aa1}:root.theme-dark .code-highlight .cp{color:#ffad66;font-weight:700}:root.theme-dark .code-highlight .cpf{color:#7e8aa1}:root.theme-dark .code-highlight .c1{color:#7e8aa1}:root.theme-dark .code-highlight .cs{color:#7e8aa1;font-style:italic}:root.theme-dark .code-highlight .gd{color:#f88f7f;background-color:#3d1e20}:root.theme-dark .code-highlight .ge{color:#d4d2c8;font-style:italic}:root.theme-dark .code-highlight .ges{color:#d4d2c8}:root.theme-dark .code-highlight .gr{color:#f88f7f}:root.theme-dark .code-highlight .gh{color:#d4d2c8}:root.theme-dark .code-highlight .gi{color:#6ad4af;background-color:#19362c}:root.theme-dark .code-highlight .go{color:#7e8aa1}:root.theme-dark .code-highlight .gp{color:#d4d2c8}:root.theme-dark .code-highlight .gs{color:#d4d2c8;font-weight:700}:root.theme-dark .code-highlight .gu{color:#d4d2c8}:root.theme-dark .code-highlight .gt{color:#f88f7f}:root.theme-dark .code-highlight .kc{color:#ffad66}:root.theme-dark .code-highlight .kd{color:#ffad66}:root.theme-dark .code-highlight .kn{color:#ffad66}:root.theme-dark .code-highlight .kp{color:#ffad66}:root.theme-dark .code-highlight .kr{color:#ffad66}:root.theme-dark .code-highlight .kt{color:#73d0ff}:root.theme-dark .code-highlight .ld{color:#d5ff80}:root.theme-dark .code-highlight .m{color:#dfbfff}:root.theme-dark .code-highlight .s{color:#d5ff80}:root.theme-dark .code-highlight .na{color:#ffd173}:root.theme-dark .code-highlight .nb{color:#ffd173}:root.theme-dark .code-highlight .nc{color:#73d0ff}:root.theme-dark .code-highlight .no{color:#ffd173}:root.theme-dark .code-highlight .nd{color:#7e8aa1;font-weight:700;font-style:italic}:root.theme-dark .code-highlight .ni{color:#95e6cb}:root.theme-dark .code-highlight .ne{color:#73d0ff}:root.theme-dark .code-highlight .nf{color:#ffd173}:root.theme-dark .code-highlight .nl{color:#d4d2c8}:root.theme-dark .code-highlight .nn{color:#d4d2c8}:root.theme-dark .code-highlight .nx{color:#d4d2c8}:root.theme-dark .code-highlight .py{color:#ffd173}:root.theme-dark .code-highlight .nt{color:#5ccfe6}:root.theme-dark .code-highlight .nv{color:#d4d2c8}:root.theme-dark .code-highlight .ow{color:#ffad66}:root.theme-dark .code-highlight .pm{color:#d4d2c8}:root.theme-dark .code-highlight .w{color:#d4d2c8}:root.theme-dark .code-highlight .mb{color:#dfbfff}:root.theme-dark .code-highlight .mf{color:#dfbfff}:root.theme-dark .code-highlight .mh{color:#dfbfff}:root.theme-dark .code-highlight .mi{color:#dfbfff}:root.theme-dark .code-highlight .mo{color:#dfbfff}:root.theme-dark .code-highlight .sa{color:#f29e74}:root.theme-dark .code-highlight .sb{color:#d5ff80}:root.theme-dark .code-highlight .sc{color:#d5ff80}:root.theme-dark .code-highlight .dl{color:#d5ff80}:root.theme-dark .code-highlight .sd{color:#7e8aa1}:root.theme-dark .code-highlight .s2{color:#d5ff80}:root.theme-dark .code-highlight .se{color:#95e6cb}:root.theme-dark .code-highlight .sh{color:#d5ff80}:root.theme-dark .code-highlight .si{color:#95e6cb}:root.theme-dark .code-highlight .sx{color:#95e6cb}:root.theme-dark .code-highlight .sr{color:#95e6cb}:root.theme-dark .code-highlight .s1{color:#d5ff80}:root.theme-dark .code-highlight .ss{color:#dfbfff}:root.theme-dark .code-highlight .bp{color:#5ccfe6}:root.theme-dark .code-highlight .fm{color:#ffd173}:root.theme-dark .code-highlight .vc{color:#d4d2c8}:root.theme-dark .code-highlight .vg{color:#d4d2c8}:root.theme-dark .code-highlight .vi{color:#d4d2c8}:root.theme-dark .code-highlight .vm{color:#d4d2c8}:root.theme-dark .code-highlight .il{color:#dfbfff}:root.theme-dark .code-highlight pre{overflow:auto;margin:0;padding:0 0 .75rem}:root.theme-dark .code-highlight .linenos{-webkit-user-select:none;user-select:none;cursor:default;margin-right:8px;text-align:right}:root.theme-dark .code-highlight .linenos::selection{background:transparent}:root.theme-dark .code-highlight .linenos::-moz-selection{background:transparent}:root.theme-dark .code-highlight span.linenos{color:var(--color-line-number)}html.no-js .hide_if_nojs,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:.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:.1em;overflow:hidden;height:1.2em;line-height:1.2em;border-radius:5px}div.selectable_url pre{display:block;font-size:.8em;word-break:break-all;margin:.1em;-webkit-user-select:all;user-select:all}.dialog-error{position:relative;display:flex;padding:1rem;margin:0 0 1em;border:1px solid var(--color-toolkit-dialog-border);text-align:right;border-radius:10px;color:var(--color-error);background:var(--color-error-background);border-color:var(--color-error)}.dialog-error .close{float:left;position:relative;top:-3px;color:inherit;font-size:1.5em}.dialog-error ul,.dialog-error ol,.dialog-error p{margin:1px 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;padding-left:1rem;padding-bottom:0;padding-right:0}.dialog-error h4{margin-top:.3em;margin-bottom:.3em}.dialog-error-block{position:relative;display:flex;padding:1rem;margin:0 0 1em;border:1px solid var(--color-toolkit-dialog-border);text-align:right;border-radius:10px;display:block;color:var(--color-error);background:var(--color-error-background);border-color:var(--color-error)}.dialog-error-block .close{float:left;position:relative;top:-3px;color:inherit;font-size:1.5em}.dialog-error-block ul,.dialog-error-block ol,.dialog-error-block p{margin:1px 0 0}.dialog-error-block table{width:auto}.dialog-error-block tr{vertical-align:text-top}.dialog-error-block tr:hover{background:transparent!important}.dialog-error-block td{padding:0 1em 0 0;padding-left:1rem;padding-bottom:0;padding-right:0}.dialog-error-block h4{margin-top:.3em;margin-bottom:.3em}.dialog-warning{position:relative;display:flex;padding:1rem;margin:0 0 1em;border:1px solid var(--color-toolkit-dialog-border);text-align:right;border-radius:10px;color:var(--color-warning);background:var(--color-warning-background);border-color:var(--color-warning)}.dialog-warning .close{float:left;position:relative;top:-3px;color:inherit;font-size:1.5em}.dialog-warning ul,.dialog-warning ol,.dialog-warning p{margin:1px 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;padding-left:1rem;padding-bottom:0;padding-right:0}.dialog-warning h4{margin-top:.3em;margin-bottom:.3em}.dialog-modal{position:relative;display:flex;padding:1rem;border:1px solid var(--color-toolkit-dialog-border);text-align:right;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:5000}.dialog-modal .close{float:left;position:relative;top:-3px;color:inherit;font-size:1.5em}.dialog-modal ul,.dialog-modal ol,.dialog-modal p{margin:1px 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;padding-left:1rem;padding-bottom:0;padding-right:0}.dialog-modal h4{margin-top:.3em;margin-bottom:.3em}.dialog-modal h3{margin-top:0}.btn-collapse{cursor:pointer}.scrollx{overflow:auto hidden;display:block;padding:0;margin:0;border:none}.tabs .tabs>label{font-size:90%}ul.tabs{border-bottom:1px solid var(--color-toolkit-tabs-section-border);list-style:none;padding-left:0}ul.tabs li{display:flex}.tabs{display:flex;flex-wrap:wrap;width:100%;min-width:100%}.tabs>*{order:2}.tabs>input[type=radio]{display:none}.tabs>label,.tabs>li>a{order:1;padding:.7em;margin:0 .7em;letter-spacing:.5px;text-transform:uppercase;border:solid var(--color-toolkit-tabs-label-border);border-width:0 0 2px 0;color:unset;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;cursor:pointer}.tabs>label.active,.tabs>li>a.active{border-bottom:2px solid var(--color-categories-item-border-selected);background:var(--color-categories-item-selected);color:var(--color-categories-item-selected-font)}.tabs>label:hover,.tabs>li>a:hover{border-bottom:2px solid var(--color-categories-item-border-selected)}.tabs>section{min-width:100%;padding:.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:-.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:400;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{height:2.4rem;margin-top:0;margin-left:1rem;margin-bottom:0;margin-right:0;padding:.2rem!important;color:var(--color-search-font);font-size:.9rem;z-index:100}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)}}input.checkbox-onoff[type=checkbox]{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;display:inline-block;width:2.5em;height:.7em;box-shadow:none!important;margin:0 16px;border-radius:10px;position:relative}input.checkbox-onoff[type=checkbox]:focus,input.checkbox-onoff[type=checkbox]:hover{outline:none}input.checkbox-onoff[type=checkbox]:focus:after{content:"";position:absolute;width:3.5em;height:1.65em;border:1px solid var(--color-btn-background);border-radius:12px;box-shadow:var(--color-btn-background) 0 0 3px;z-index:1200;top:-.55em;left:-.6em}input.checkbox-onoff[type=checkbox]:before{position:absolute;top:-.5em;display:flex;justify-content:center;align-items:center;font-size:.75em;width:1.875em;height:1.875em;border-radius:50%}input.checkbox-onoff[type=checkbox],input.checkbox-onoff.reversed-checkbox[type=checkbox]:checked{background:var(--color-toolkit-checkbox-onoff-off-background)}input.checkbox-onoff[type=checkbox]:before,input.checkbox-onoff.reversed-checkbox[type=checkbox]:checked:before{left:-.5em;content:"✕";color:var(--color-toolkit-checkbox-onoff-off-mark-color);background:var(--color-toolkit-checkbox-onoff-off-mark-background)}input.checkbox-onoff[type=checkbox]:checked,input.checkbox-onoff.reversed-checkbox[type=checkbox]{background:var(--color-toolkit-checkbox-onoff-on-background)}input.checkbox-onoff[type=checkbox]:checked:before,input.checkbox-onoff.reversed-checkbox[type=checkbox]:before{left:calc(100% - 1.5em);content:"✓";color:var(--color-toolkit-checkbox-onoff-on-mark-color);background:var(--color-toolkit-checkbox-onoff-on-mark-background)}@supports (transform: rotate(-45deg)){input[type=checkbox]:not(.checkbox-onoff){-webkit-appearance:none;-moz-appearance:none;appearance:none;width:20px;height:20px;cursor:pointer;position:relative;top:0;left:0;border:2px solid var(--color-toolkit-checkbox-input-border);border-radius:.3em}input[type=checkbox]:not(.checkbox-onoff):after{content:"";width:9px;height:5px;position:absolute;top:3px;left:2px;border:3px solid var(--color-toolkit-checkbox-label-border);border-top:none;border-right:none;background:transparent;opacity:0;transform:rotate(-45deg)}input[type=checkbox]:not(.checkbox-onoff):checked:after{border-color:var(--color-toolkit-checkbox-input-border);opacity:1}input[type=checkbox][disabled]:not(.checkbox-onoff){border:inherit;background-color:transparent!important;cursor:inherit}input.checkbox[type=checkbox]:not(:checked,[disabled],.checkbox-onoff):hover:after{opacity:.5}}@media screen and (max-width: 50em){.tabs>label{width:100%}}.loader,.loader:after{border-radius:50%;width:2em;height:2em}.loader{margin:1em auto;font-size:10px;position:relative;text-indent:-9999em;border-top:.5em solid var(--color-toolkit-loader-border);border-right:.5em solid var(--color-toolkit-loader-border);border-bottom:.5em solid var(--color-toolkit-loader-border);border-left:.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(0)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes load8{0%{-webkit-transform:rotate(0deg);transform:rotate(0)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.engine-tooltip{display:none;position:absolute;padding:.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:400;z-index:5000;text-align:left;border-radius:10px}th:hover .engine-tooltip,td:hover .engine-tooltip,.engine-tooltip:hover{display:inline-block}.stacked-bar-chart{margin:0;padding:0 .125rem 0 4rem;width:100%;width:-moz-available;width:-webkit-fill-available;width:fill;flex-flow:row nowrap;align-items:center;display:inline-flex}.stacked-bar-chart-value{width:3rem;display:inline-block;position:absolute;padding: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),.9);padding:.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),.3);padding:.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),.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),.9);padding:.4rem 0;width:1px}/*! Autocomplete.js v2.6.3 | license MIT | (c) 2017, Baptiste Donaux | http://autocomplete-js.com */.autocomplete{position:absolute;width:44rem;max-height:0;overflow-y:hidden;text-align:right;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:.5rem 1rem}.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);max-height:32rem;overflow-y:auto;z-index:5000;margin-top:3.5rem;border-radius:.8rem}.autocomplete.open:empty{display:none}@media screen and (max-width: 50em){.autocomplete{width:100%}.autocomplete>ul>li{padding:1rem}}#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{right:56.75rem!important;left: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;right:60rem;left:0;top:13rem;transition:top 64ms ease-in 0s;bottom:0;background:var(--color-result-detail-background);border:1px solid var(--color-result-detail-background);z-index:1000;padding:4rem 3rem 3rem;overflow-y:scroll}#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;height:inherit;max-width:100%;min-height:inherit;max-height:calc(100vh - 42rem);background:inherit}#results.image-detail-open article.result-images[data-vim-selected] .detail .result-images-labels{color:var(--color-result-detail-font);height:19rem}#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:.9rem;margin-bottom:0}#results.image-detail-open article.result-images[data-vim-selected] .detail .result-images-labels p{color:var(--color-result-detail-label-font);font-size:.9rem;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;margin:.8rem 0}#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:right}#results.image-detail-open article.result-images[data-vim-selected] .detail .result-images-labels p.result-content{height:2rem;line-height:unset;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:hidden 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;right:1rem;padding:.4rem}#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-previous{top:1rem;left:6rem;padding:.4rem .3rem .4rem .5rem}#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-next{top:1rem;left:2rem;padding:.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:1200}#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;left:50%;border-top:.5em solid var(--color-result-detail-loader-border);border-right:.5em solid var(--color-result-detail-loader-border);border-bottom:.5em solid var(--color-result-detail-loader-border);border-left:.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: 79.75em){#results.image-detail-open article.result-images[data-vim-selected] .detail{top:0;right: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{left:1rem}}@media screen and (max-width: 50em){#results.image-detail-open article.result-images[data-vim-selected] .detail{top:0;right: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-left:1rem}}.dialog-modal{animation-name:dialogmodal;animation-duration:.13s}@keyframes dialogmodal{0%{opacity:0}50%{opacity:.5;transform:translate(-50%,-50%) scale(1.05)}}input.checkbox-onoff[type=checkbox]:before{transition:left .25s}iframe[src^="https://w.soundcloud.com"]{height:120px}iframe[src^="https://www.deezer.com"]{height:94px}iframe[src^="https://www.mixcloud.com"]{height:250px}iframe[src^="https://bandcamp.com/EmbeddedPlayer"]{height:350px}iframe[src^="https://bandcamp.com/EmbeddedPlayer/track"]{height:120px}iframe[src^="https://genius.com/songs"]{height:65px}.info-page code{font-family:monospace;border-radius:5px;background-color:var(--color-doc-code-background);color:var(--color-doc-code);padding:.2rem;border:0 none}.stats_endpoint .github-issue-button{display:block;font-size:16px}.stats_endpoint .issue-hide{display:none}.stats_endpoint input[type=checked]{position:absolute}.stats_endpoint label{margin:1rem 1rem 1rem 0}.stats_endpoint .step_content{margin:1rem 1rem 1rem 2rem}.stats_endpoint .step1,.stats_endpoint .step2{visibility:hidden}.stats_endpoint .step1_delay{transition:visibility 0s linear 4s}.stats_endpoint #step1:checked~.step1,.stats_endpoint #step2:checked~.step2{visibility:visible}.engine-stats{border-spacing:0;border-collapse:collapse}.engine-stats tr td,.engine-stats tr th{border-bottom:1px solid var(--color-result-border);padding:.25rem}.engine-stats table.engine-tooltip{border-spacing:0;border-collapse:collapse}.engine-stats table.engine-tooltip td,.engine-stats table.engine-tooltip th{border:none}.engine-stats .engine-name{width:20rem}.engine-stats .engine-score{width:7rem;text-align:right}.engine-stats .engine-reliability{text-align:right}table.engine-error th.engine-error-type,table.engine-error td.engine-error-type,failed-test{width:10rem}.engine-errors{margin-top:3rem}.engine-errors table.engine-error{max-width:1280px;margin:1rem 0 3rem;border:1px solid var(--color-result-border);text-align:right}.engine-errors table.engine-error tr th,.engine-errors table.engine-error tr td{padding:.5rem}.engine-errors table.engine-error span.log_parameters{border-right:1px solid solid var(--color-result-border);padding:0 1rem 0 0;margin:0 0 0 .5rem}.bar-chart-value{width:3em;display:inline-block;text-align:right;padding-right:.5rem}.bar-chart-graph{width:calc(100% - 5rem);display:inline-block}.bar-chart-bar{border:3px solid var(--color-bar-chart-primary);margin:1px 0}.bar-chart-serie1{border:3px solid var(--color-bar-chart-primary);margin:1px 0;float:left}.bar-chart-serie2{border:3px solid var(--color-bar-chart-secondary);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}#answers .weather img.thumbnail{padding:0;width:5rem}#answers .weather table{background-color:var(--color-result-keyvalue-table)}#answers .weather tr.odd{background-color:var(--color-result-keyvalue-odd);padding:0}#answers .weather tr.even{background-color:var(--color-result-keyvalue-even);padding:0}#main_index{margin-top:26vh}.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: 79.75em){div.title h1{font-size:1em}#main_index{margin-top:6em}}table{border-collapse:collapse}table th,table td{text-align:center;padding:1rem .5rem;text-align:right}table tr.pref-group th{font-weight:400;text-align:right;background:var(--color-settings-table-group-background)}#main_preferences form{width:100%}#main_preferences fieldset{margin:8px;border:none}#main_preferences legend{margin:0;padding:5px 0 0;display:block;float:right;width:300px}#main_preferences 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:.2rem .4rem;height:2rem;border-radius:5px}#main_preferences input[type=text]:hover,#main_preferences input[type=text]:focus{background-color:var(--color-toolkit-select-background-hover)}#main_preferences div.pref-group{width:100%;font-weight:400;padding:1rem .5rem;text-align:right;background:var(--color-settings-table-group-background)}#main_preferences .value{margin:0;padding:0;float:right;width:15em}#main_preferences .value select,#main_preferences .value input[type=text]{font-size:inherit!important;margin-top:0;margin-left:1rem;margin-bottom:0;margin-right:0}#main_preferences .value select{width:14rem}#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;float:left;width:50%;color:var(--color-settings-engine-description-font);font-size:90%}#main_preferences .bang{text-align:right;border-radius:5px;background-color:var(--color-doc-code-background);color:var(--color-doc-code);padding:.2rem;border:0 none}#main_preferences .category{margin-left:.5rem}#main_preferences .category label{border:2px solid transparent;padding:.2rem .4rem;border-radius:5px}#main_preferences .category input[type=checkbox]:checked+label{border:2px solid var(--color-categories-item-border-selected)}#main_preferences table.table_engines th.name label{cursor:pointer}#main_preferences table.table_engines th.name .engine-tooltip{margin-top:1.8rem;right:calc((100% - 85em)/2 + 10em);max-width:40rem}#main_preferences table.table_engines th.name .engine-tooltip .engine-description{margin-top:.5rem}#main_preferences table.table_engines th.name .engine-tooltip .bang{margin:.3rem}#main_preferences table.table_engines .checkbox-col,#main_preferences table.table_engines .name,#main_preferences table.table_engines .shortcut{text-align:right}#main_preferences table.cookies{width:100%;direction:ltr}#main_preferences table.cookies th,#main_preferences table.cookies td{text-align:left;font-family:monospace;font-size:1rem;padding:.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(2n)>th,#main_preferences table.cookies>tbody>tr:nth-child(2n)>td{background-color:var(--color-settings-tr-hover)}#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:.7em}#main_preferences .preferences_back a{color:var(--color-settings-return-font)}#main_preferences .preferences_back a:first-letter{text-transform:uppercase}#main_preferences #toggle-all-engines-container{width:max-content;margin-left:auto}#main_preferences div.selectable_url pre{width:100%}#main_preferences #copy-hash-container{display:flex;align-items:center;gap:.5rem}#main_preferences #copy-hash-container div.selectable_url pre{width:auto;flex-grow:1}#main_preferences #pref-hash-input{width:100%}@media screen and (max-width: 79.75em){.preferences_back{clear:both}.engine-tooltip{right:10em!important}}#search{padding:0;margin:0}#search_header{padding-top:1.5em;padding-left:2em;padding-right:7rem;margin:0;background:var(--color-header-background);border-bottom:1px solid var(--color-header-border);display:grid;gap:1rem 1.2rem;grid-template-columns:3rem 1fr;grid-template-areas:"logo search" "spacer categories"}.category_checkbox,.category_button{display:inline-block;position:relative;margin-left:1rem;padding:0}.category_checkbox input{display:none}.category_checkbox label{cursor:pointer;padding:.2rem 0;display:inline-flex;text-transform:capitalize;font-size:.9em;border-bottom:2px solid transparent;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.category_checkbox label svg{padding-right:.2rem}.category_checkbox label div.category_name{margin:auto 0}.category_checkbox input[type=checkbox]:checked+label{color:var(--color-categories-item-selected-font);border-bottom:2px solid var(--color-categories-item-border-selected)}button.category_button{background-color:inherit;color:var(--color-base-font);cursor:pointer;padding:.2rem 0;display:inline-flex;align-items:center;text-transform:capitalize;font-size:.9em;border:none;border-bottom:2px solid transparent}button.category_button svg{padding-right:.2rem}button.category_button.selected,button.category_button:active{color:var(--color-categories-item-selected-font);border-bottom:2px solid var(--color-categories-item-border-selected)}.no-js #categories_container:has(button.category_button:focus-within) button.category_button.selected{color:var(--color-base-font);border-bottom:none}.no-js #categories_container:has(button.category_button:focus-within) button.category_button:focus-within{color:var(--color-categories-item-selected-font);border-bottom:2px solid var(--color-categories-item-border-selected)}#search_logo{padding:.5rem 10px 0;grid-area:logo;display:flex;align-items:center;justify-content:center}#search_logo svg{flex:1;width:30px;height:30px;margin:.5rem 0 auto}.search_categories{grid-area:categories}.search_categories .help{display:none}.search_categories:hover .help{display:block;position:absolute;background:var(--color-base-background);padding:1rem .6rem .6rem 0;z-index:1000;width:100%;left:-.1rem}#search_view{padding:.5rem .3rem 0 .5rem;grid-area:search}body.results_endpoint #search_view{padding:.5rem 2.8rem 0 0}.search_box{border-radius:.8rem;width:44rem;display:inline-flex;flex-direction:row;white-space:nowrap;box-shadow:var(--color-search-shadow)}#clear_search{display:block;border-collapse:separate;box-sizing:border-box;width:1.8rem;margin:0;padding:.8rem .2rem;background:none repeat scroll 0 0 var(--color-search-background);border:none;outline:none;color:var(--color-search-font);font-size:1.1rem;z-index:1000}#clear_search:hover{color:var(--color-search-background-hover)}#clear_search.empty *,html.no-js #clear_search.hide_if_nojs{display:none}#q,#send_search{display:block;margin:0;padding:.8rem;background:none repeat scroll 0 0 var(--color-search-background);border:none;outline:none;color:var(--color-search-font);font-size:1.1rem;z-index:100}#q{width:100%;padding-right:1rem;padding-left:0!important;border-radius:0 .8rem .8rem 0}#q::-ms-clear,#q::-webkit-search-cancel-button{display:none}#send_search{border-radius:.8rem 0 0 .8rem}#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-right:1px solid var(--color-search-border)}.search_filters{margin-top:.6rem;margin-left:0;margin-bottom:0;margin-right:10.6rem;display:flex;overflow-x:auto;overscroll-behavior-inline:contain}.search_filters select{background-color:inherit}.search_filters select:hover,.search_filters select:focus{color:var(--color-base-font)}@media screen and (max-width: 79.75em){#search_header{padding:1.5em .5rem 0;column-gap:.5rem}.search_filters{margin-top:.6rem;margin-left:0;margin-bottom:0;margin-right:3.5rem}#categories{font-size:90%;clear:both}}@media screen and (max-width: 79.75em) and (hover: none){#main_index #categories_container,#main_results #categories_container{width:max-content}#main_index #categories_container .category_checkbox,#main_results #categories_container .category_checkbox{display:inline-block;width:auto}#main_index #categories,#main_results #categories{width:100%;text-align:right;overflow:scroll hidden;-webkit-overflow-scrolling:touch}}@media screen and (max-width: 50em){#search_header{width:100%;margin:0;padding:.1rem 0 0;gap:0 0;grid-template-areas:"logo search" "categories categories"}.search_logo{padding:0}.search_box{width:98%;display:flex}#q{width:100%;flex:1}.search_filters{margin:0 10px;padding:.5rem 0}.category{display:inline-block;width:auto;margin:0}.category svg{display:none}.category_checkbox label,.category_button{padding:1rem!important;margin:0!important}#search_view:focus-within{display:block;background-color:var(--color-search-background);position:absolute;top:0;height:100%;width:100%;z-index:2000}#search_view:focus-within .search_box{border-bottom:1px solid var(--color-search-border);width:100%;border-radius:0;box-shadow:none}#search_view:focus-within .search_box #send_search{margin-left:0!important}#search_view:focus-within .search_box *{border:none;border-radius:0;box-shadow:none}#main_results #q:placeholder-shown~#send_search{margin-left:2.6rem;transition:margin .1s}}@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;user-select:none}#categories::-webkit-scrollbar{width:0;height:0}#categories_container{position:relative}.favicon img{height:1.5rem;width:1.5rem;border-radius:10%;background-color:var(--color-favicon-background-color);border:1px solid var(--color-favicon-border-color);display:flex}@media screen and (min-width: 50em){.center-alignment-yes #main_results{--center-page-width: 48rem}}@media screen and (width >= 62rem){.center-alignment-yes #main_results{--center-page-width: 60rem}}@media screen and (min-width: 79.75em){.center-alignment-yes #main_results{--center-page-width: 73rem}}@media screen and (min-width: 50em) and (max-width: 79.75em){.center-alignment-yes #main_results #results{grid-template-columns:60% calc(40% - 5rem);margin-left:0;margin-right:0}.center-alignment-yes #main_results #urls{margin-right:3rem}.center-alignment-yes #main_results #sidebar{margin-left:1rem}.center-alignment-yes #main_results #backToTop{right:calc(60% + 1rem)}}@media screen and (min-width: 79.75em){.center-alignment-yes #main_results{display:flex;flex-direction:column;align-items:center}.center-alignment-yes #main_results #search{width:100%;display:flex;flex-direction:column;align-items:center}.center-alignment-yes #main_results #search_header{grid-template-columns:calc(50% - 4.5rem - var(--center-page-width) / 2) 3rem var(--center-page-width);grid-template-areas:"na logo search" "na spacer categories";column-gap:1.2rem;width:100%;padding-left:0;padding-right:0}.center-alignment-yes #main_results .search_filters{margin-right:.5rem;width:var(--center-page-width)}.center-alignment-yes #main_results #results{margin-left:2rem;margin-right:10rem}.center-alignment-yes #main_results #results.only_template_images,.center-alignment-yes #main_results #results.image-detail-open{align-self:flex-start}.center-alignment-yes #main_results #results:not(.only_template_images,.image-detail-open){margin-right:1.5rem;grid-template-columns:calc(var(--center-page-width) - 5rem - 25rem) 25rem}.center-alignment-yes #main_results #results:not(.only_template_images,.image-detail-open) #backToTop{right:calc(50% - 25rem - 5rem + 1rem + var(--center-page-width) / 2)}.center-alignment-yes #main_results #results .result .content{max-width:inherit}.center-alignment-yes #main_results #urls{margin-right:0}.center-alignment-yes #main_results #sidebar{margin-left:0}}.sxng-icon-set{display:inline-block;vertical-align:bottom;line-height:1;text-decoration:inherit;transform:scaleX(-1)}.sxng-icon-set-small{width:1rem;height:1rem;display:inline-block;vertical-align:bottom;line-height:1;text-decoration:inherit;transform:scaleX(-1)}.sxng-icon-set-big{width:1.5rem;height:1.5rem;display:inline-block;vertical-align:bottom;line-height:1;text-decoration:inherit;transform:scaleX(-1)}html{font-family:sans-serif;font-size:.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;scroll-behavior:smooth}body,main{padding:0;margin:0}body{display:flex;flex-direction:column;height:100vh;margin:0}@supports (height: 100dvh){body{height:100dvh}}main{width:100%;margin-bottom:2rem;flex:1}.page_with_header{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:.9em}.page_with_header .logo{height:40px}input[type=submit],#results button[type=submit],.button{padding:.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,a:visited .highlight{color:var(--color-url-visited-font)}article[data-vim-selected]{background:var(--color-result-vim-selected);border-right:.2rem solid var(--color-result-vim-arrow);border-radius:10px 0 0 10px}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.result-images[data-vim-selected] span.title,article.result-images[data-vim-selected] span.source{color:var(--color-result-image-span-font-selected)}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:.125rem 0;padding:1rem;box-sizing:border-box;width:100%;border-right:.2rem solid transparent}.result h3{font-size:1.2rem;word-wrap:break-word;margin:.4rem 0;padding:0}.result h3 a{color:var(--color-result-link-font);font-weight:400;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:smaller!important;margin-left:.5rem}.result .content,.result .stat{font-size:.9em;margin:0;padding:0;max-width:54em;word-wrap:break-word;line-height:1.24}.result .content .highlight,.result .stat .highlight{color:var(--color-result-description-highlight-font);background:inherit;font-weight:700}.result .altlink a{font-size:.9em;margin:0 10px 0 0;padding:5px 10px;border-radius:5px;background:var(--color-show-btn-background);color:var(--color-show-btn-font);cursor:pointer}.result .altlink a:hover{background:var(--color-btn-background);color:var(--color-btn-font)}.result .codelines .highlight{color:inherit;background:inherit;font-weight:400}.result .url_header{display:flex;gap:.5rem}.result .url_wrapper{display:flex;align-items:center;font-size:1rem;color:var(--color-result-url-font);flex-flow:row nowrap;overflow:hidden;margin:0;padding:0}.result .url_wrapper .url_o1{white-space:nowrap;flex-shrink:1;padding-bottom:1px}.result .url_wrapper .url_o1 .url_i1{unicode-bidi:plaintext}.result .url_wrapper .url_o1:after{content:" ";width:1ch;display:inline-block}.result .url_wrapper .url_o2{overflow:hidden;white-space:nowrap;flex:0 1 content;text-align:right;padding-bottom:1px}.result .url_wrapper .url_o2 .url_i2{float:right}.result .published_date,.result .result_length,.result .result_views,.result .result_author,.result .result_shipping,.result .result_source_country{font-size:.8em;color:var(--color-result-publishdate-font)}.result .result_price{font-size:1.2em;color:var(--color-result-description-highlight-font)}.result img.thumbnail{float:right;padding-top:.6rem;padding-left:1rem;width:7rem;height:unset}.result .break{clear:both}.result-paper .attributes,.result-packages .attributes{display:table;border-spacing:.125rem}.result-paper .attributes div,.result-packages .attributes div{display:table-row}.result-paper .attributes div span,.result-packages .attributes div span{font-size:.9rem;margin-top:.25rem;display:table-cell}.result-paper .attributes div span time,.result-packages .attributes div span time{font-size:.9rem}.result-paper .attributes div span:first-child,.result-packages .attributes div span:first-child{color:var(--color-base-font);min-width:10rem}.result-paper .attributes div span:nth-child(2),.result-packages .attributes div span:nth-child(2){color:var(--color-result-publishdate-font)}.result-paper .content,.result-packages .content{margin-top:.25rem}.result-paper .comments,.result-packages .comments{font-size:.9rem;margin:.25rem 0 0;padding:0;word-wrap:break-word;line-height:1.24;font-style:italic}.result-packages .attributes{margin-top:.3rem}.template_group_images{display:flex;flex-wrap:wrap}.template_group_images:after{flex-grow:10;content:""}.category-videos,.category-news,.category-map,.category-music,.category-files,.category-social{border:1px solid var(--color-result-border);margin:0 .5rem 1rem!important;border-radius:10px}.category-social .image{width:auto!important;min-width:48px;min-height:48px;padding:0 5px 25px 0!important}.audio-control audio{width:100%;padding:10px 0 0}.embedded-content iframe{width:100%;padding:10px 0 0}.result-videos img.thumbnail{float:right;padding-top:.6rem;padding-left:1rem;width:20rem;height:unset}.result-videos .content{overflow:hidden}.result-videos .embedded-video iframe{width:100%;aspect-ratio:16 / 9;padding:10px 0 0}@supports not (aspect-ratio: 1 / 1){.result-videos .embedded-video iframe{height:25.3125rem}}.engines{float:left;display:flex;flex-wrap:wrap;justify-content:flex-end;color:var(--color-result-engines-font)}.engines span{font-size:smaller;margin-top:0;margin-bottom:0;margin-left:.5rem;margin-right:0}.small_font{font-size:.8em}.highlight{color:var(--color-result-link-font-highlight);background:inherit}.empty_element{font-style:italic}.result-images{flex-grow:1;padding:.5rem .5rem 3rem;margin:.25rem;border:none!important;height:12rem;width:unset}.result-images>a{position:relative;outline:none}.result-images img{margin:0;padding:0;border:none;height:100%;width:auto;object-fit:cover;vertical-align:bottom;background:var(--color-result-image-background)}.result-images .image_resolution{position:absolute;right:0;bottom:0;background:var(--color-image-resolution-background);padding:.3rem .5rem;font-size:.9rem;color:var(--color-image-resolution-font);border-top-left-radius:.3rem}.result-images span.title,.result-images span.source{display:block;position:absolute;width:100%;font-size:.9rem;color:var(--color-result-image-span-font);padding:.5rem 0 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.result-images span.source{padding:1.8rem 0 0;font-size:.7rem}.result-map img.image{float:left!important;height:100px!important;width:auto!important}.result-map table{font-size:.9em;width:auto;border-collapse:separate;border-spacing:0 .35rem}.result-map table th{font-weight:inherit;width:17rem;vertical-align:top;text-align:right}.result-map table td{vertical-align:top;text-align:right}.hidden{display:none!important}#results{margin-top:1rem;margin-left:2rem;margin-bottom:0;margin-right:10rem;display:grid;grid-template:"corrections sidebar" min-content "answers sidebar" min-content "urls sidebar" 1fr "pagination sidebar" min-content / 45rem 25rem;gap:0 5rem}#results #sidebar *:first-child{margin-top:0}#urls{padding:0;grid-area:urls}#apis .wrapper{display:flex}#suggestions .wrapper{display:flex;flex-flow:column;justify-content:flex-end}#suggestions .wrapper form{display:inline-block;flex:1 1 50%}#suggestions input,#infoboxes input{padding:0;margin:3px;font-size:.9em;display:inline-block;background:transparent;color:var(--color-result-search-url-font);cursor:pointer;width:100%;text-overflow:ellipsis;overflow:hidden;text-align:left}#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:.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}#corrections h4,#corrections input[type=submit]{display:inline-block;padding:.5rem;margin:.5rem}#corrections input[type=submit]{font-size:.8rem;border-radius:5px}#infoboxes .title,#suggestions .title,#search_url .title,#engines_msg .title,#apis .title{margin:2em 0 .5em;color:var(--color-base-font)}summary.title{cursor:pointer;padding-top:1em}.sidebar-collapsible{border-top:1px solid var(--color-sidebar-border);padding-bottom:.5em}#sidebar-end-collapsible{border-bottom:1px solid var(--color-sidebar-border);width:100%}#answers{grid-area:answers;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}#answers span{overflow-wrap:anywhere}#answers .answer{display:flex;flex-direction:column}#answers .answer-url{margin:5px 10px 10px auto}#infoboxes form{min-width:210px}#sidebar{grid-area:sidebar;word-wrap:break-word;color:var(--color-sidebar-font)}#sidebar .infobox{margin:10px 0;border:1px solid var(--color-sidebar-border);padding:1rem;font-size:.9em;border-radius:10px}#sidebar .infobox h2{margin:0 0 .5em}#sidebar .infobox img{max-width:100%;max-height:12em;display:block;margin:0 auto;padding:0}#sidebar .infobox dt{font-weight:700}#sidebar .infobox .attributes dl{margin:.5em 0}#sidebar .infobox .attributes dt{display:inline;margin:.5em 0 .5em .25em;padding:0}#sidebar .infobox .attributes dd{display:inline;margin:.5em 0;padding:0}#sidebar .infobox input{font-size:1em}#sidebar .infobox br,#sidebar .infobox .attributes,#sidebar .infobox .urls{clear:both}#apis input{font-size:.9em;margin:0 10px 0 0;padding:5px 10px;border-radius:5px;background:var(--color-show-btn-background);color:var(--color-show-btn-font);cursor:pointer}#apis input:hover{background:var(--color-btn-background);color:var(--color-btn-font)}#engines_msg .engine-name{width:10rem}#engines_msg .response-error{color:var(--color-error)}#engines_msg .bar-chart-value{width:auto}#search_url div.selectable_url pre{float:left;width:200em}#search_url button#copy_url{float:right;padding:.4rem;margin-left:.5rem;border-radius:.3rem;display:none}#links_on_top{position:absolute;left:1rem;text-align:left;top:2.7rem;padding:0;border:0;display:flex;align-items:center;font-size:1em;color:var(--color-search-font)}#links_on_top a{display:flex;align-items:center;margin-left:1em}#links_on_top a svg{font-size:1.2em;margin-left:.125em}#links_on_top a,#links_on_top a:link *,#links_on_top a:hover *,#links_on_top a:visited *,#links_on_top a:active *{color:var(--color-search-font)}#pagination{grid-area:pagination}#pagination br{clear:both}.numbered_pagination{display:flex;flex-direction:row;justify-content:center;align-items:center;overflow:hidden}.page_number{background:transparent!important;color:var(--color-result-link-font)!important;text-decoration:underline}.page_number_current{background:transparent;color:var(--color-result-link-visited-font);border:none}#backToTop{border:1px solid var(--color-backtotop-border);margin:0;padding:0;font-size:1em;background:var(--color-backtotop-background);position:fixed;bottom:8rem;right:56.3rem;transition:opacity .5s;opacity:0;pointer-events:none;border-radius:10px}#backToTop a{display:block;margin:0;padding:.7em}#backToTop a,#backToTop a:visited,#backToTop a:hover,#backToTop a:active{color:var(--color-backtotop-font)}#results.scrolling #backToTop{opacity:1;pointer-events:all}@media screen and (width <= calc(79.75em - .5px)){#links_on_top span{display:none}}@media screen and (width <= 52rem){body.results_endpoint #links_on_top .link_on_top_about,body.results_endpoint #links_on_top .link_on_top_donate{display:none}}@media screen and (min-width: 50em) and (max-width: 79.75em){.center-alignment-no #links_on_top span{display:none}.center-alignment-no .page_with_header{margin:2rem .5rem;width:auto}.center-alignment-no #infoboxes{position:inherit;max-width:inherit}.center-alignment-no #infoboxes .infobox{clear:both}.center-alignment-no #infoboxes .infobox img{float:right;max-width:10em;margin:.5em 0 .5em .5em}.center-alignment-no #sidebar{margin:0 .5rem .125rem;padding:0;float:none;border:none;width:auto}.center-alignment-no #sidebar input{border:0}.center-alignment-no .result .thumbnail{max-width:98%}.center-alignment-no .result .url span.url{display:block;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;width:100%}.center-alignment-no .result .engines{float:left;display:flex;flex-wrap:wrap;justify-content:flex-end;padding:3px 0 0}.center-alignment-no .result-images{border-bottom:none!important}.center-alignment-no .image_result,.center-alignment-no .image_result img{max-width:98%}.center-alignment-no #backToTop{display:none}.center-alignment-no #pagination{margin:2rem 0 0!important}.center-alignment-no #main_results div#results{margin:0 auto;justify-content:center;display:grid;grid-template:"corrections" min-content "answers" min-content "sidebar" min-content "urls" 1fr "pagination" min-content / 45rem;gap:0}}#main_results div#results.only_template_images{margin:1rem .5rem 0;display:grid;grid-template:"corrections" min-content "answers" min-content "sidebar" min-content "urls" 1fr "pagination" min-content / 100%;gap:0}#main_results div#results.only_template_images #sidebar{display:none}#main_results div#results.only_template_images #urls{margin:0;display:flex;flex-wrap:wrap}#main_results div#results.only_template_images #urls:after{flex-grow:10;content:""}#main_results div#results.only_template_images #backToTop{right:auto;left:1rem}#main_results div#results.only_template_images #pagination{margin-left:4rem}@media screen and (max-width: 50em){#links_on_top span{display:none}.page_with_header{margin:2rem .5rem;width:auto}#infoboxes{position:inherit;max-width:inherit}#infoboxes .infobox{clear:both}#infoboxes .infobox img{float:right;max-width:10em;margin:.5em 0 .5em .5em}#sidebar{margin:0 .5rem .125rem;padding:0;float:none;border:none;width:auto}#sidebar input{border:0}.result .thumbnail{max-width:98%}.result .url span.url{display:block;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;width:100%}.result .engines{float:left;display:flex;flex-wrap:wrap;justify-content:flex-end;padding:3px 0 0}.result-images{border-bottom:none!important}.image_result,.image_result img{max-width:98%}#backToTop{display:none}#pagination{margin:2rem 0 0!important}#main_results div#results{margin:0 auto;justify-content:center;display:grid;grid-template:"corrections" min-content "answers" min-content "sidebar" min-content "urls" 1fr "pagination" min-content / 45rem;gap:0}html{background-color:var(--color-base-background-mobile)}#main_results div#results{grid-template-columns:100%;margin:0 auto}#links_on_top{top:1.4rem;left:10px}#main_index #links_on_top{top:.5rem;left:.5rem}#results{margin:0;padding:0}#pagination{margin:2rem 1rem 0!important}article[data-vim-selected]{border:1px solid var(--color-result-vim-arrow);border-radius:10px}.result{background:var(--color-result-background);border:1px solid var(--color-result-background);margin:1rem 2%;width:96%;border-radius:10px}.result-images{margin:0;height:10rem;background:var(--color-base-background-mobile);width:unset}.infobox{border:none!important;background-color:var(--color-sidebar-background)}.numbered_pagination{display:none}.result-paper .attributes,.result-packages .attributes,.result-paper .attributes div,.result-packages .attributes div{display:block}.result-paper .attributes div span,.result-packages .attributes div span{display:inline}.result-paper .attributes div span:first-child,.result-packages .attributes div span:first-child{font-weight:700}.result-paper .attributes div span:nth-child(2),.result-packages .attributes div span:nth-child(2){margin-right:.5rem}}@media screen and (max-width: 35em){.result-videos img.thumbnail{float:none!important}.result-videos .content{overflow:inherit}}pre code{white-space:pre-wrap}#main_results .result-keyvalue caption{padding:.8rem .5rem;font-style:italic;caption-side:bottom;background-color:var(--color-result-keyvalue-table)}#main_results .result-keyvalue .col-key{width:25%}#main_results .result-keyvalue table{word-break:break-word;table-layout:fixed;width:100%;background-color:var(--color-result-keyvalue-table)}#main_results .result-keyvalue tr.odd{background-color:var(--color-result-keyvalue-odd)}#main_results .result-keyvalue tr.even{background-color:var(--color-result-keyvalue-even)}#main_results .result-keyvalue th,#main_results .result-keyvalue td{padding:.3rem .5rem}#q,#sidebar .infobox dt bdi{direction:rtl}#urls{direction:initial;text-align:right}#urls .result .url_header{direction:rtl}#urls .result .url_wrapper{justify-content:end}#main_results div#results.only_template_images #urls{direction:rtl}#results.image-detail-open article.result-images[data-vim-selected] .detail .result-images-labels p{direction:rtl}#results.image-detail-open article.result-images[data-vim-selected] .detail .result-images-labels p.result-url{direction:ltr}#results.image-detail-open article.result-images[data-vim-selected] .detail .result-images-labels p.result-url span{direction:rtl;float:right}@supports ((background-position-x: 100%) and ((appearance: none) or (-webkit-appearance: none) or (-moz-appearance: none))){select{border-width:0 0 0 2rem;background-position-x:-2rem}}#vim-hotkeys-help table{direction:ltr;text-align:left}#main_preferences h1,#main_stats h1{background-position-x:100%}.bar-chart-serie1,.bar-chart-serie2{float:right}.engine-stats .engine-name,.engine-stats .engine-score,.engine-stats .result-count,.engine-stats .response-time,.engine-stats .engine-reliability{text-align:right}
diff --git a/searx/static/themes/simple/css/searxng.min.css b/searx/static/themes/simple/css/searxng.min.css
index 3721b0120..6ced78ab1 100644
--- a/searx/static/themes/simple/css/searxng.min.css
+++ b/searx/static/themes/simple/css/searxng.min.css
@@ -1 +1 @@
-/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}:root{--color-base-font: #444;--color-base-font-rgb: 68, 68, 68;--color-base-background: #fff;--color-base-background-mobile: #f2f5f8;--color-url-font: #334999;--color-url-visited-font: #9822c3;--color-header-background: #fdfbff;--color-header-border: #ddd;--color-footer-background: #fdfbff;--color-footer-border: #ddd;--color-sidebar-border: #ddd;--color-sidebar-font: #000;--color-sidebar-background: #fff;--color-backtotop-font: #444;--color-backtotop-border: #ddd;--color-backtotop-background: #fff;--color-btn-background: #3050ff;--color-btn-font: #fff;--color-show-btn-background: #bbb;--color-show-btn-font: #000;--color-search-border: #bbb;--color-search-shadow: 0 2px 8px rgba(34, 38, 46, .25);--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-shadow: 0 2px 8px rgba(34, 38, 46, .25);--color-autocomplete-background: #fff;--color-autocomplete-background-hover: #e3e3e3;--color-answer-font: #444;--color-answer-background: #fff;--color-result-keyvalue-col-table: #fdfbff;--color-result-keyvalue-odd: #fdfbff;--color-result-keyvalue-even: #fff;--color-result-background: #fff;--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: #9822c3;--color-result-publishdate-font: #777;--color-result-engines-font: #545454;--color-result-search-url-border: #ddd;--color-result-search-url-font: #000;--color-result-image-span-font: #444;--color-result-image-span-font-selected: #fff;--color-result-image-background: #fff;--color-settings-tr-hover: #ebebeb;--color-settings-engine-description-font: #545454;--color-settings-table-group-background: #0001;--color-result-detail-font: #fff;--color-result-detail-label-font: lightgray;--color-result-detail-background: #242424;--color-result-detail-hr: #555;--color-result-detail-link: #8af;--color-result-detail-loader-border: rgba(255, 255, 255, .2);--color-result-detail-loader-borderleft: rgba(0, 0, 0, 0);--color-toolkit-badge-font: #fff;--color-toolkit-badge-background: #545454;--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: #e1e1e1;--color-toolkit-select-border: #ddd;--color-toolkit-select-background-hover: #bbb;--color-toolkit-input-text-font: #222;--color-toolkit-checkbox-onoff-off-background: #ddd;--color-toolkit-checkbox-onoff-on-background: #ddd;--color-toolkit-checkbox-onoff-on-mark-background: #3050ff;--color-toolkit-checkbox-onoff-on-mark-color: #fff;--color-toolkit-checkbox-onoff-off-mark-background: #aaa;--color-toolkit-checkbox-onoff-off-mark-color: #fff;--color-toolkit-checkbox-label-background: #ddd;--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, .2);--color-toolkit-loader-borderleft: rgba(255, 255, 255, 0);--color-doc-code: #003;--color-doc-code-background: #ddeaff;--color-bar-chart-primary: #5bc0de;--color-bar-chart-secondary: #deb15b;--color-image-resolution-background: rgba(0, 0, 0, .5);--color-image-resolution-font: #fff;--color-loading-indicator: rgba(255, 255, 255, .2);--color-loading-indicator-gap: #fff;--color-line-number: #64708d;--color-favicon-background-color: #ddd;--color-favicon-border-color: #ccc}@media (prefers-color-scheme: dark){:root.theme-auto{--color-base-font: #bbb;--color-base-font-rgb: 187, 187, 187;--color-base-background: #222428;--color-base-background-mobile: #222428;--color-url-font: #8af;--color-url-visited-font: #c09cd9;--color-header-background: #1e1e22;--color-header-border: #333;--color-footer-background: #1e1e22;--color-footer-border: #333;--color-sidebar-border: #555;--color-sidebar-font: #fff;--color-sidebar-background: #292c34;--color-backtotop-font: #bbb;--color-backtotop-border: #333;--color-backtotop-background: #2b2e36;--color-btn-background: #58f;--color-btn-font: #222;--color-show-btn-background: #555;--color-show-btn-font: #fff;--color-search-border: #555;--color-search-shadow: 0 2px 8px rgba(34, 38, 46, .25);--color-search-background: #2b2e36;--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-shadow: 0 2px 8px rgba(34, 38, 46, .25);--color-autocomplete-background: #2b2e36;--color-autocomplete-background-hover: #1e1e22;--color-answer-font: #bbb;--color-answer-background: #26292f;--color-result-keyvalue-col-table: #1e1e22;--color-result-keyvalue-odd: #1e1e22;--color-result-keyvalue-even: #26292f;--color-result-background: #26292f;--color-result-border: #333;--color-result-url-font: #fff;--color-result-vim-selected: #1f1f23cc;--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: #c09cd9;--color-result-publishdate-font: #888;--color-result-engines-font: #a4a4a4;--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: #1a1a1c;--color-result-detail-hr: #555;--color-result-detail-link: #8af;--color-result-detail-loader-border: rgba(255, 255, 255, .2);--color-result-detail-loader-borderleft: rgba(0, 0, 0, 0);--color-result-image-span-font: #bbb;--color-result-image-span-font-selected: #222;--color-result-image-background: #222;--color-settings-tr-hover: #2c2c32;--color-settings-engine-description-font: #909090;--color-settings-table-group-background: #1b1b21;--color-toolkit-badge-font: #fff;--color-toolkit-badge-background: #555;--color-toolkit-kbd-font: #000;--color-toolkit-kbd-background: #fff;--color-toolkit-dialog-border: #555;--color-toolkit-dialog-background: #1e1e22;--color-toolkit-tabs-label-border: #222;--color-toolkit-tabs-section-border: #555;--color-toolkit-select-background: #313338;--color-toolkit-select-border: #555;--color-toolkit-select-background-hover: #373b49;--color-toolkit-input-text-font: #fff;--color-toolkit-checkbox-onoff-off-background: #313338;--color-toolkit-checkbox-onoff-on-background: #313338;--color-toolkit-checkbox-onoff-on-mark-background: #58f;--color-toolkit-checkbox-onoff-on-mark-color: #222;--color-toolkit-checkbox-onoff-off-mark-background: #ddd;--color-toolkit-checkbox-onoff-off-mark-color: #222;--color-toolkit-checkbox-label-background: #222;--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, .2);--color-toolkit-loader-borderleft: rgba(0, 0, 0, 0);--color-doc-code: #ddd;--color-doc-code-background: #4d5a6f;--color-favicon-background-color: #ddd;--color-favicon-border-color: #ccc}}:root.theme-dark{--color-base-font: #bbb;--color-base-font-rgb: 187, 187, 187;--color-base-background: #222428;--color-base-background-mobile: #222428;--color-url-font: #8af;--color-url-visited-font: #c09cd9;--color-header-background: #1e1e22;--color-header-border: #333;--color-footer-background: #1e1e22;--color-footer-border: #333;--color-sidebar-border: #555;--color-sidebar-font: #fff;--color-sidebar-background: #292c34;--color-backtotop-font: #bbb;--color-backtotop-border: #333;--color-backtotop-background: #2b2e36;--color-btn-background: #58f;--color-btn-font: #222;--color-show-btn-background: #555;--color-show-btn-font: #fff;--color-search-border: #555;--color-search-shadow: 0 2px 8px rgba(34, 38, 46, .25);--color-search-background: #2b2e36;--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-shadow: 0 2px 8px rgba(34, 38, 46, .25);--color-autocomplete-background: #2b2e36;--color-autocomplete-background-hover: #1e1e22;--color-answer-font: #bbb;--color-answer-background: #26292f;--color-result-keyvalue-col-table: #1e1e22;--color-result-keyvalue-odd: #1e1e22;--color-result-keyvalue-even: #26292f;--color-result-background: #26292f;--color-result-border: #333;--color-result-url-font: #fff;--color-result-vim-selected: #1f1f23cc;--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: #c09cd9;--color-result-publishdate-font: #888;--color-result-engines-font: #a4a4a4;--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: #1a1a1c;--color-result-detail-hr: #555;--color-result-detail-link: #8af;--color-result-detail-loader-border: rgba(255, 255, 255, .2);--color-result-detail-loader-borderleft: rgba(0, 0, 0, 0);--color-result-image-span-font: #bbb;--color-result-image-span-font-selected: #222;--color-result-image-background: #222;--color-settings-tr-hover: #2c2c32;--color-settings-engine-description-font: #909090;--color-settings-table-group-background: #1b1b21;--color-toolkit-badge-font: #fff;--color-toolkit-badge-background: #555;--color-toolkit-kbd-font: #000;--color-toolkit-kbd-background: #fff;--color-toolkit-dialog-border: #555;--color-toolkit-dialog-background: #1e1e22;--color-toolkit-tabs-label-border: #222;--color-toolkit-tabs-section-border: #555;--color-toolkit-select-background: #313338;--color-toolkit-select-border: #555;--color-toolkit-select-background-hover: #373b49;--color-toolkit-input-text-font: #fff;--color-toolkit-checkbox-onoff-off-background: #313338;--color-toolkit-checkbox-onoff-on-background: #313338;--color-toolkit-checkbox-onoff-on-mark-background: #58f;--color-toolkit-checkbox-onoff-on-mark-color: #222;--color-toolkit-checkbox-onoff-off-mark-background: #ddd;--color-toolkit-checkbox-onoff-off-mark-color: #222;--color-toolkit-checkbox-label-background: #222;--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, .2);--color-toolkit-loader-borderleft: rgba(0, 0, 0, 0);--color-doc-code: #ddd;--color-doc-code-background: #4d5a6f;--color-favicon-background-color: #ddd;--color-favicon-border-color: #ccc}:root.theme-black{--color-base-font: #bbb;--color-base-font-rgb: 187, 187, 187;--color-base-background: #222428;--color-base-background-mobile: #222428;--color-url-font: #8af;--color-url-visited-font: #c09cd9;--color-header-background: #1e1e22;--color-header-border: #333;--color-footer-background: #1e1e22;--color-footer-border: #333;--color-sidebar-border: #555;--color-sidebar-font: #fff;--color-sidebar-background: #292c34;--color-backtotop-font: #bbb;--color-backtotop-border: #333;--color-backtotop-background: #2b2e36;--color-btn-background: #58f;--color-btn-font: #222;--color-show-btn-background: #555;--color-show-btn-font: #fff;--color-search-border: #555;--color-search-shadow: 0 2px 8px rgba(34, 38, 46, .25);--color-search-background: #2b2e36;--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-shadow: 0 2px 8px rgba(34, 38, 46, .25);--color-autocomplete-background: #2b2e36;--color-autocomplete-background-hover: #1e1e22;--color-answer-font: #bbb;--color-answer-background: #26292f;--color-result-keyvalue-col-table: #1e1e22;--color-result-keyvalue-odd: #1e1e22;--color-result-keyvalue-even: #26292f;--color-result-background: #26292f;--color-result-border: #333;--color-result-url-font: #fff;--color-result-vim-selected: #1f1f23cc;--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: #c09cd9;--color-result-publishdate-font: #888;--color-result-engines-font: #a4a4a4;--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: #1a1a1c;--color-result-detail-hr: #555;--color-result-detail-link: #8af;--color-result-detail-loader-border: rgba(255, 255, 255, .2);--color-result-detail-loader-borderleft: rgba(0, 0, 0, 0);--color-result-image-span-font: #bbb;--color-result-image-span-font-selected: #222;--color-result-image-background: #222;--color-settings-tr-hover: #2c2c32;--color-settings-engine-description-font: #909090;--color-settings-table-group-background: #1b1b21;--color-toolkit-badge-font: #fff;--color-toolkit-badge-background: #555;--color-toolkit-kbd-font: #000;--color-toolkit-kbd-background: #fff;--color-toolkit-dialog-border: #555;--color-toolkit-dialog-background: #1e1e22;--color-toolkit-tabs-label-border: #222;--color-toolkit-tabs-section-border: #555;--color-toolkit-select-background: #313338;--color-toolkit-select-border: #555;--color-toolkit-select-background-hover: #373b49;--color-toolkit-input-text-font: #fff;--color-toolkit-checkbox-onoff-off-background: #313338;--color-toolkit-checkbox-onoff-on-background: #313338;--color-toolkit-checkbox-onoff-on-mark-background: #58f;--color-toolkit-checkbox-onoff-on-mark-color: #222;--color-toolkit-checkbox-onoff-off-mark-background: #ddd;--color-toolkit-checkbox-onoff-off-mark-color: #222;--color-toolkit-checkbox-label-background: #222;--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, .2);--color-toolkit-loader-borderleft: rgba(0, 0, 0, 0);--color-doc-code: #ddd;--color-doc-code-background: #4d5a6f;--color-favicon-background-color: #ddd;--color-favicon-border-color: #ccc;--color-base-background: #000;--color-base-background-mobile: #000;--color-header-background: #000;--color-footer-background: #000;--color-sidebar-background: #000}.code-highlight pre{line-height:100%}.code-highlight td.linenos .normal,.code-highlight span.linenos{color:inherit;background-color:transparent;padding-left:5px;padding-right:5px}.code-highlight td.linenos .special,.code-highlight span.linenos.special{color:#000;background-color:#ffffc0;padding-left:5px;padding-right:5px}.code-highlight .hll{background-color:#ffc}.code-highlight .c{color:#3d7b7b;font-style:italic}.code-highlight .err{border:1px solid #F00}.code-highlight .k{color:green;font-weight:700}.code-highlight .o{color:#666}.code-highlight .ch,.code-highlight .cm{color:#3d7b7b;font-style:italic}.code-highlight .cp{color:#9c6500}.code-highlight .cpf,.code-highlight .c1,.code-highlight .cs{color:#3d7b7b;font-style:italic}.code-highlight .gd{color:#a00000}.code-highlight .ge{font-style:italic}.code-highlight .ges{font-weight:700;font-style:italic}.code-highlight .gr{color:#e40000}.code-highlight .gh{color:navy;font-weight:700}.code-highlight .gi{color:#008400}.code-highlight .go{color:#717171}.code-highlight .gp{color:navy;font-weight:700}.code-highlight .gs{font-weight:700}.code-highlight .gu{color:purple;font-weight:700}.code-highlight .gt{color:#04d}.code-highlight .kc,.code-highlight .kd,.code-highlight .kn{color:green;font-weight:700}.code-highlight .kp{color:green}.code-highlight .kr{color:green;font-weight:700}.code-highlight .kt{color:#b00040}.code-highlight .m{color:#666}.code-highlight .s{color:#ba2121}.code-highlight .na{color:#687822}.code-highlight .nb{color:green}.code-highlight .nc{color:#00f;font-weight:700}.code-highlight .no{color:#800}.code-highlight .nd{color:#a2f}.code-highlight .ni{color:#717171;font-weight:700}.code-highlight .ne{color:#cb3f38;font-weight:700}.code-highlight .nf{color:#00f}.code-highlight .nl{color:#767600}.code-highlight .nn{color:#00f;font-weight:700}.code-highlight .nt{color:green;font-weight:700}.code-highlight .nv{color:#19177c}.code-highlight .ow{color:#a2f;font-weight:700}.code-highlight .w{color:#bbb}.code-highlight .mb,.code-highlight .mf,.code-highlight .mh,.code-highlight .mi,.code-highlight .mo{color:#666}.code-highlight .sa,.code-highlight .sb,.code-highlight .sc,.code-highlight .dl{color:#ba2121}.code-highlight .sd{color:#ba2121;font-style:italic}.code-highlight .s2{color:#ba2121}.code-highlight .se{color:#aa5d1f;font-weight:700}.code-highlight .sh{color:#ba2121}.code-highlight .si{color:#a45a77;font-weight:700}.code-highlight .sx{color:green}.code-highlight .sr{color:#a45a77}.code-highlight .s1{color:#ba2121}.code-highlight .ss{color:#19177c}.code-highlight .bp{color:green}.code-highlight .fm{color:#00f}.code-highlight .vc,.code-highlight .vg,.code-highlight .vi,.code-highlight .vm{color:#19177c}.code-highlight .il{color:#666}.codelines{margin:.125rem 0 0;padding:1rem 0 0}.code-highlight pre{overflow:auto;margin:0;padding:0 0 .75rem}.code-highlight .linenos{-webkit-user-select:none;user-select:none;cursor:default;margin-right:8px;text-align:right}.code-highlight .linenos::selection{background:transparent}.code-highlight .linenos::-moz-selection{background:transparent}.code-highlight span.linenos{color:var(--color-line-number)}@media (prefers-color-scheme: dark){:root.theme-auto .code-highlight pre{line-height:100%}:root.theme-auto .code-highlight td.linenos .normal{color:#3c4354;background-color:transparent;padding-left:5px;padding-right:5px}:root.theme-auto .code-highlight span.linenos{color:#3c4354;background-color:transparent;padding-left:5px;padding-right:5px}:root.theme-auto .code-highlight td.linenos .special{color:#3c4354;background-color:#ffffc0;padding-left:5px;padding-right:5px}:root.theme-auto .code-highlight span.linenos.special{color:#3c4354;background-color:#ffffc0;padding-left:5px;padding-right:5px}:root.theme-auto .code-highlight .hll{background-color:#6e7681}:root.theme-auto .code-highlight .c{color:#7e8aa1}:root.theme-auto .code-highlight .err{color:#f88f7f}:root.theme-auto .code-highlight .esc{color:#d4d2c8}:root.theme-auto .code-highlight .g{color:#d4d2c8}:root.theme-auto .code-highlight .k{color:#ffad66}:root.theme-auto .code-highlight .l{color:#d5ff80}:root.theme-auto .code-highlight .n{color:#d4d2c8}:root.theme-auto .code-highlight .o{color:#ffad66}:root.theme-auto .code-highlight .x{color:#d4d2c8}:root.theme-auto .code-highlight .p{color:#d4d2c8}:root.theme-auto .code-highlight .ch{color:#f88f7f;font-style:italic}:root.theme-auto .code-highlight .cm{color:#7e8aa1}:root.theme-auto .code-highlight .cp{color:#ffad66;font-weight:700}:root.theme-auto .code-highlight .cpf{color:#7e8aa1}:root.theme-auto .code-highlight .c1{color:#7e8aa1}:root.theme-auto .code-highlight .cs{color:#7e8aa1;font-style:italic}:root.theme-auto .code-highlight .gd{color:#f88f7f;background-color:#3d1e20}:root.theme-auto .code-highlight .ge{color:#d4d2c8;font-style:italic}:root.theme-auto .code-highlight .ges{color:#d4d2c8}:root.theme-auto .code-highlight .gr{color:#f88f7f}:root.theme-auto .code-highlight .gh{color:#d4d2c8}:root.theme-auto .code-highlight .gi{color:#6ad4af;background-color:#19362c}:root.theme-auto .code-highlight .go{color:#7e8aa1}:root.theme-auto .code-highlight .gp{color:#d4d2c8}:root.theme-auto .code-highlight .gs{color:#d4d2c8;font-weight:700}:root.theme-auto .code-highlight .gu{color:#d4d2c8}:root.theme-auto .code-highlight .gt{color:#f88f7f}:root.theme-auto .code-highlight .kc{color:#ffad66}:root.theme-auto .code-highlight .kd{color:#ffad66}:root.theme-auto .code-highlight .kn{color:#ffad66}:root.theme-auto .code-highlight .kp{color:#ffad66}:root.theme-auto .code-highlight .kr{color:#ffad66}:root.theme-auto .code-highlight .kt{color:#73d0ff}:root.theme-auto .code-highlight .ld{color:#d5ff80}:root.theme-auto .code-highlight .m{color:#dfbfff}:root.theme-auto .code-highlight .s{color:#d5ff80}:root.theme-auto .code-highlight .na{color:#ffd173}:root.theme-auto .code-highlight .nb{color:#ffd173}:root.theme-auto .code-highlight .nc{color:#73d0ff}:root.theme-auto .code-highlight .no{color:#ffd173}:root.theme-auto .code-highlight .nd{color:#7e8aa1;font-weight:700;font-style:italic}:root.theme-auto .code-highlight .ni{color:#95e6cb}:root.theme-auto .code-highlight .ne{color:#73d0ff}:root.theme-auto .code-highlight .nf{color:#ffd173}:root.theme-auto .code-highlight .nl{color:#d4d2c8}:root.theme-auto .code-highlight .nn{color:#d4d2c8}:root.theme-auto .code-highlight .nx{color:#d4d2c8}:root.theme-auto .code-highlight .py{color:#ffd173}:root.theme-auto .code-highlight .nt{color:#5ccfe6}:root.theme-auto .code-highlight .nv{color:#d4d2c8}:root.theme-auto .code-highlight .ow{color:#ffad66}:root.theme-auto .code-highlight .pm{color:#d4d2c8}:root.theme-auto .code-highlight .w{color:#d4d2c8}:root.theme-auto .code-highlight .mb{color:#dfbfff}:root.theme-auto .code-highlight .mf{color:#dfbfff}:root.theme-auto .code-highlight .mh{color:#dfbfff}:root.theme-auto .code-highlight .mi{color:#dfbfff}:root.theme-auto .code-highlight .mo{color:#dfbfff}:root.theme-auto .code-highlight .sa{color:#f29e74}:root.theme-auto .code-highlight .sb{color:#d5ff80}:root.theme-auto .code-highlight .sc{color:#d5ff80}:root.theme-auto .code-highlight .dl{color:#d5ff80}:root.theme-auto .code-highlight .sd{color:#7e8aa1}:root.theme-auto .code-highlight .s2{color:#d5ff80}:root.theme-auto .code-highlight .se{color:#95e6cb}:root.theme-auto .code-highlight .sh{color:#d5ff80}:root.theme-auto .code-highlight .si{color:#95e6cb}:root.theme-auto .code-highlight .sx{color:#95e6cb}:root.theme-auto .code-highlight .sr{color:#95e6cb}:root.theme-auto .code-highlight .s1{color:#d5ff80}:root.theme-auto .code-highlight .ss{color:#dfbfff}:root.theme-auto .code-highlight .bp{color:#5ccfe6}:root.theme-auto .code-highlight .fm{color:#ffd173}:root.theme-auto .code-highlight .vc{color:#d4d2c8}:root.theme-auto .code-highlight .vg{color:#d4d2c8}:root.theme-auto .code-highlight .vi{color:#d4d2c8}:root.theme-auto .code-highlight .vm{color:#d4d2c8}:root.theme-auto .code-highlight .il{color:#dfbfff}:root.theme-auto .code-highlight pre{overflow:auto;margin:0;padding:0 0 .75rem}:root.theme-auto .code-highlight .linenos{-webkit-user-select:none;user-select:none;cursor:default;margin-right:8px;text-align:right}:root.theme-auto .code-highlight .linenos::selection{background:transparent}:root.theme-auto .code-highlight .linenos::-moz-selection{background:transparent}:root.theme-auto .code-highlight span.linenos{color:var(--color-line-number)}}:root.theme-dark .code-highlight pre{line-height:100%}:root.theme-dark .code-highlight td.linenos .normal{color:#3c4354;background-color:transparent;padding-left:5px;padding-right:5px}:root.theme-dark .code-highlight span.linenos{color:#3c4354;background-color:transparent;padding-left:5px;padding-right:5px}:root.theme-dark .code-highlight td.linenos .special{color:#3c4354;background-color:#ffffc0;padding-left:5px;padding-right:5px}:root.theme-dark .code-highlight span.linenos.special{color:#3c4354;background-color:#ffffc0;padding-left:5px;padding-right:5px}:root.theme-dark .code-highlight .hll{background-color:#6e7681}:root.theme-dark .code-highlight .c{color:#7e8aa1}:root.theme-dark .code-highlight .err{color:#f88f7f}:root.theme-dark .code-highlight .esc{color:#d4d2c8}:root.theme-dark .code-highlight .g{color:#d4d2c8}:root.theme-dark .code-highlight .k{color:#ffad66}:root.theme-dark .code-highlight .l{color:#d5ff80}:root.theme-dark .code-highlight .n{color:#d4d2c8}:root.theme-dark .code-highlight .o{color:#ffad66}:root.theme-dark .code-highlight .x{color:#d4d2c8}:root.theme-dark .code-highlight .p{color:#d4d2c8}:root.theme-dark .code-highlight .ch{color:#f88f7f;font-style:italic}:root.theme-dark .code-highlight .cm{color:#7e8aa1}:root.theme-dark .code-highlight .cp{color:#ffad66;font-weight:700}:root.theme-dark .code-highlight .cpf{color:#7e8aa1}:root.theme-dark .code-highlight .c1{color:#7e8aa1}:root.theme-dark .code-highlight .cs{color:#7e8aa1;font-style:italic}:root.theme-dark .code-highlight .gd{color:#f88f7f;background-color:#3d1e20}:root.theme-dark .code-highlight .ge{color:#d4d2c8;font-style:italic}:root.theme-dark .code-highlight .ges{color:#d4d2c8}:root.theme-dark .code-highlight .gr{color:#f88f7f}:root.theme-dark .code-highlight .gh{color:#d4d2c8}:root.theme-dark .code-highlight .gi{color:#6ad4af;background-color:#19362c}:root.theme-dark .code-highlight .go{color:#7e8aa1}:root.theme-dark .code-highlight .gp{color:#d4d2c8}:root.theme-dark .code-highlight .gs{color:#d4d2c8;font-weight:700}:root.theme-dark .code-highlight .gu{color:#d4d2c8}:root.theme-dark .code-highlight .gt{color:#f88f7f}:root.theme-dark .code-highlight .kc{color:#ffad66}:root.theme-dark .code-highlight .kd{color:#ffad66}:root.theme-dark .code-highlight .kn{color:#ffad66}:root.theme-dark .code-highlight .kp{color:#ffad66}:root.theme-dark .code-highlight .kr{color:#ffad66}:root.theme-dark .code-highlight .kt{color:#73d0ff}:root.theme-dark .code-highlight .ld{color:#d5ff80}:root.theme-dark .code-highlight .m{color:#dfbfff}:root.theme-dark .code-highlight .s{color:#d5ff80}:root.theme-dark .code-highlight .na{color:#ffd173}:root.theme-dark .code-highlight .nb{color:#ffd173}:root.theme-dark .code-highlight .nc{color:#73d0ff}:root.theme-dark .code-highlight .no{color:#ffd173}:root.theme-dark .code-highlight .nd{color:#7e8aa1;font-weight:700;font-style:italic}:root.theme-dark .code-highlight .ni{color:#95e6cb}:root.theme-dark .code-highlight .ne{color:#73d0ff}:root.theme-dark .code-highlight .nf{color:#ffd173}:root.theme-dark .code-highlight .nl{color:#d4d2c8}:root.theme-dark .code-highlight .nn{color:#d4d2c8}:root.theme-dark .code-highlight .nx{color:#d4d2c8}:root.theme-dark .code-highlight .py{color:#ffd173}:root.theme-dark .code-highlight .nt{color:#5ccfe6}:root.theme-dark .code-highlight .nv{color:#d4d2c8}:root.theme-dark .code-highlight .ow{color:#ffad66}:root.theme-dark .code-highlight .pm{color:#d4d2c8}:root.theme-dark .code-highlight .w{color:#d4d2c8}:root.theme-dark .code-highlight .mb{color:#dfbfff}:root.theme-dark .code-highlight .mf{color:#dfbfff}:root.theme-dark .code-highlight .mh{color:#dfbfff}:root.theme-dark .code-highlight .mi{color:#dfbfff}:root.theme-dark .code-highlight .mo{color:#dfbfff}:root.theme-dark .code-highlight .sa{color:#f29e74}:root.theme-dark .code-highlight .sb{color:#d5ff80}:root.theme-dark .code-highlight .sc{color:#d5ff80}:root.theme-dark .code-highlight .dl{color:#d5ff80}:root.theme-dark .code-highlight .sd{color:#7e8aa1}:root.theme-dark .code-highlight .s2{color:#d5ff80}:root.theme-dark .code-highlight .se{color:#95e6cb}:root.theme-dark .code-highlight .sh{color:#d5ff80}:root.theme-dark .code-highlight .si{color:#95e6cb}:root.theme-dark .code-highlight .sx{color:#95e6cb}:root.theme-dark .code-highlight .sr{color:#95e6cb}:root.theme-dark .code-highlight .s1{color:#d5ff80}:root.theme-dark .code-highlight .ss{color:#dfbfff}:root.theme-dark .code-highlight .bp{color:#5ccfe6}:root.theme-dark .code-highlight .fm{color:#ffd173}:root.theme-dark .code-highlight .vc{color:#d4d2c8}:root.theme-dark .code-highlight .vg{color:#d4d2c8}:root.theme-dark .code-highlight .vi{color:#d4d2c8}:root.theme-dark .code-highlight .vm{color:#d4d2c8}:root.theme-dark .code-highlight .il{color:#dfbfff}:root.theme-dark .code-highlight pre{overflow:auto;margin:0;padding:0 0 .75rem}:root.theme-dark .code-highlight .linenos{-webkit-user-select:none;user-select:none;cursor:default;margin-right:8px;text-align:right}:root.theme-dark .code-highlight .linenos::selection{background:transparent}:root.theme-dark .code-highlight .linenos::-moz-selection{background:transparent}:root.theme-dark .code-highlight span.linenos{color:var(--color-line-number)}html.no-js .hide_if_nojs,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:.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:.1em;overflow:hidden;height:1.2em;line-height:1.2em;border-radius:5px}div.selectable_url pre{display:block;font-size:.8em;word-break:break-all;margin:.1em;-webkit-user-select:all;user-select:all}.dialog-error{position:relative;display:flex;padding:1rem;margin:0 0 1em;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}.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;padding-right:1rem;padding-bottom:0;padding-left:0}.dialog-error h4{margin-top:.3em;margin-bottom:.3em}.dialog-error-block{position:relative;display:flex;padding:1rem;margin:0 0 1em;border:1px solid var(--color-toolkit-dialog-border);text-align:left;border-radius:10px;display:block;color:var(--color-error);background:var(--color-error-background);border-color:var(--color-error)}.dialog-error-block .close{float:right;position:relative;top:-3px;color:inherit;font-size:1.5em}.dialog-error-block ul,.dialog-error-block ol,.dialog-error-block p{margin:1px 0 0}.dialog-error-block table{width:auto}.dialog-error-block tr{vertical-align:text-top}.dialog-error-block tr:hover{background:transparent!important}.dialog-error-block td{padding:0 1em 0 0;padding-right:1rem;padding-bottom:0;padding-left:0}.dialog-error-block h4{margin-top:.3em;margin-bottom:.3em}.dialog-warning{position:relative;display:flex;padding:1rem;margin:0 0 1em;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}.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;padding-right:1rem;padding-bottom:0;padding-left:0}.dialog-warning h4{margin-top:.3em;margin-bottom:.3em}.dialog-modal{position:relative;display:flex;padding:1rem;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:5000}.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}.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;padding-right:1rem;padding-bottom:0;padding-left:0}.dialog-modal h4{margin-top:.3em;margin-bottom:.3em}.dialog-modal h3{margin-top:0}.btn-collapse{cursor:pointer}.scrollx{overflow:auto hidden;display:block;padding:0;margin:0;border:none}.tabs .tabs>label{font-size:90%}ul.tabs{border-bottom:1px solid var(--color-toolkit-tabs-section-border);list-style:none;padding-left:0}ul.tabs li{display:flex}.tabs{display:flex;flex-wrap:wrap;width:100%;min-width:100%}.tabs>*{order:2}.tabs>input[type=radio]{display:none}.tabs>label,.tabs>li>a{order:1;padding:.7em;margin:0 .7em;letter-spacing:.5px;text-transform:uppercase;border:solid var(--color-toolkit-tabs-label-border);border-width:0 0 2px 0;color:unset;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;cursor:pointer}.tabs>label.active,.tabs>li>a.active{border-bottom:2px solid var(--color-categories-item-border-selected);background:var(--color-categories-item-selected);color:var(--color-categories-item-selected-font)}.tabs>label:hover,.tabs>li>a:hover{border-bottom:2px solid var(--color-categories-item-border-selected)}.tabs>section{min-width:100%;padding:.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:-.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:400;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{height:2.4rem;margin-top:0;margin-right:1rem;margin-bottom:0;margin-left:0;padding:.2rem!important;color:var(--color-search-font);font-size:.9rem;z-index:100}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)}}input.checkbox-onoff[type=checkbox]{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;display:inline-block;width:2.5em;height:.7em;box-shadow:none!important;margin:0 16px;border-radius:10px;position:relative}input.checkbox-onoff[type=checkbox]:focus,input.checkbox-onoff[type=checkbox]:hover{outline:none}input.checkbox-onoff[type=checkbox]:focus:after{content:"";position:absolute;width:3.5em;height:1.65em;border:1px solid var(--color-btn-background);border-radius:12px;box-shadow:var(--color-btn-background) 0 0 3px;z-index:1200;top:-.55em;left:-.6em}input.checkbox-onoff[type=checkbox]:before{position:absolute;top:-.5em;display:flex;justify-content:center;align-items:center;font-size:.75em;width:1.875em;height:1.875em;border-radius:50%}input.checkbox-onoff[type=checkbox],input.checkbox-onoff.reversed-checkbox[type=checkbox]:checked{background:var(--color-toolkit-checkbox-onoff-off-background)}input.checkbox-onoff[type=checkbox]:before,input.checkbox-onoff.reversed-checkbox[type=checkbox]:checked:before{left:-.5em;content:"✕";color:var(--color-toolkit-checkbox-onoff-off-mark-color);background:var(--color-toolkit-checkbox-onoff-off-mark-background)}input.checkbox-onoff[type=checkbox]:checked,input.checkbox-onoff.reversed-checkbox[type=checkbox]{background:var(--color-toolkit-checkbox-onoff-on-background)}input.checkbox-onoff[type=checkbox]:checked:before,input.checkbox-onoff.reversed-checkbox[type=checkbox]:before{left:calc(100% - 1.5em);content:"✓";color:var(--color-toolkit-checkbox-onoff-on-mark-color);background:var(--color-toolkit-checkbox-onoff-on-mark-background)}@supports (transform: rotate(-45deg)){input[type=checkbox]:not(.checkbox-onoff){-webkit-appearance:none;-moz-appearance:none;appearance:none;width:20px;height:20px;cursor:pointer;position:relative;top:0;left:0;border:2px solid var(--color-toolkit-checkbox-input-border);border-radius:.3em}input[type=checkbox]:not(.checkbox-onoff):after{content:"";width:9px;height:5px;position:absolute;top:3px;left:2px;border:3px solid var(--color-toolkit-checkbox-label-border);border-top:none;border-right:none;background:transparent;opacity:0;transform:rotate(-45deg)}input[type=checkbox]:not(.checkbox-onoff):checked:after{border-color:var(--color-toolkit-checkbox-input-border);opacity:1}input[type=checkbox][disabled]:not(.checkbox-onoff){border:inherit;background-color:transparent!important;cursor:inherit}input.checkbox[type=checkbox]:not(:checked,[disabled],.checkbox-onoff):hover:after{opacity:.5}}@media screen and (max-width: 50em){.tabs>label{width:100%}}.loader,.loader:after{border-radius:50%;width:2em;height:2em}.loader{margin:1em auto;font-size:10px;position:relative;text-indent:-9999em;border-top:.5em solid var(--color-toolkit-loader-border);border-right:.5em solid var(--color-toolkit-loader-border);border-bottom:.5em solid var(--color-toolkit-loader-border);border-left:.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(0)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes load8{0%{-webkit-transform:rotate(0deg);transform:rotate(0)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.engine-tooltip{display:none;position:absolute;padding:.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:400;z-index:5000;text-align:left;border-radius:10px}th:hover .engine-tooltip,td:hover .engine-tooltip,.engine-tooltip:hover{display:inline-block}.stacked-bar-chart{margin:0;padding:0 .125rem 0 4rem;width:100%;width:-moz-available;width:-webkit-fill-available;width:fill;flex-flow:row nowrap;align-items:center;display:inline-flex}.stacked-bar-chart-value{width:3rem;display:inline-block;position:absolute;padding: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),.9);padding:.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),.3);padding:.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),.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),.9);padding:.4rem 0;width:1px}/*! Autocomplete.js v2.6.3 | license MIT | (c) 2017, Baptiste Donaux | http://autocomplete-js.com */.autocomplete{position:absolute;width:44rem;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:.5rem 1rem}.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);max-height:32rem;overflow-y:auto;z-index:5000;margin-top:3.5rem;border-radius:.8rem}.autocomplete.open:empty{display:none}@media screen and (max-width: 50em){.autocomplete{width:100%}.autocomplete>ul>li{padding:1rem}}#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:13rem;transition:top 64ms ease-in 0s;bottom:0;background:var(--color-result-detail-background);border:1px solid var(--color-result-detail-background);z-index:1000;padding:4rem 3rem 3rem;overflow-y:scroll}#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;height:inherit;max-width:100%;min-height:inherit;max-height:calc(100vh - 42rem);background:inherit}#results.image-detail-open article.result-images[data-vim-selected] .detail .result-images-labels{color:var(--color-result-detail-font);height:19rem}#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:.9rem;margin-bottom:0}#results.image-detail-open article.result-images[data-vim-selected] .detail .result-images-labels p{color:var(--color-result-detail-label-font);font-size:.9rem;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;margin:.8rem 0}#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;line-height:unset;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:hidden 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:.4rem}#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-previous{top:1rem;right:6rem;padding:.4rem .5rem .4rem .3rem}#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-next{top:1rem;right:2rem;padding:.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:1200}#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:.5em solid var(--color-result-detail-loader-border);border-right:.5em solid var(--color-result-detail-loader-border);border-bottom:.5em solid var(--color-result-detail-loader-border);border-left:.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: 79.75em){#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:.13s}@keyframes dialogmodal{0%{opacity:0}50%{opacity:.5;transform:translate(-50%,-50%) scale(1.05)}}input.checkbox-onoff[type=checkbox]:before{transition:left .25s}iframe[src^="https://w.soundcloud.com"]{height:120px}iframe[src^="https://www.deezer.com"]{height:94px}iframe[src^="https://www.mixcloud.com"]{height:250px}iframe[src^="https://bandcamp.com/EmbeddedPlayer"]{height:350px}iframe[src^="https://bandcamp.com/EmbeddedPlayer/track"]{height:120px}iframe[src^="https://genius.com/songs"]{height:65px}.info-page code{font-family:monospace;border-radius:5px;background-color:var(--color-doc-code-background);color:var(--color-doc-code);padding:.2rem;border:0 none}.stats_endpoint .github-issue-button{display:block;font-size:16px}.stats_endpoint .issue-hide{display:none}.stats_endpoint input[type=checked]{position:absolute}.stats_endpoint label{margin:1rem 1rem 1rem 0}.stats_endpoint .step_content{margin:1rem 1rem 1rem 2rem}.stats_endpoint .step1,.stats_endpoint .step2{visibility:hidden}.stats_endpoint .step1_delay{transition:visibility 0s linear 4s}.stats_endpoint #step1:checked~.step1,.stats_endpoint #step2:checked~.step2{visibility:visible}.engine-stats{border-spacing:0;border-collapse:collapse}.engine-stats tr td,.engine-stats tr th{border-bottom:1px solid var(--color-result-border);padding:.25rem}.engine-stats table.engine-tooltip{border-spacing:0;border-collapse:collapse}.engine-stats table.engine-tooltip td,.engine-stats table.engine-tooltip th{border:none}.engine-stats .engine-name{width:20rem}.engine-stats .engine-score{width:7rem;text-align:right}.engine-stats .engine-reliability{text-align:right}table.engine-error th.engine-error-type,table.engine-error td.engine-error-type,failed-test{width:10rem}.engine-errors{margin-top:3rem}.engine-errors table.engine-error{max-width:1280px;margin:1rem 0 3rem;border:1px solid var(--color-result-border);text-align:left}.engine-errors table.engine-error tr th,.engine-errors table.engine-error tr td{padding:.5rem}.engine-errors table.engine-error span.log_parameters{border-right:1px solid solid var(--color-result-border);padding:0 1rem 0 0;margin:0 0 0 .5rem}.bar-chart-value{width:3em;display:inline-block;text-align:right;padding-right:.5rem}.bar-chart-graph{width:calc(100% - 5rem);display:inline-block}.bar-chart-bar{border:3px solid var(--color-bar-chart-primary);margin:1px 0}.bar-chart-serie1{border:3px solid var(--color-bar-chart-primary);margin:1px 0;float:left}.bar-chart-serie2{border:3px solid var(--color-bar-chart-secondary);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}#main_index{margin-top:26vh}.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: 79.75em){div.title h1{font-size:1em}#main_index{margin-top:6em}}table{border-collapse:collapse}table th,table td{text-align:center;padding:1rem .5rem;text-align:left}table tr.pref-group th{font-weight:400;text-align:left;background:var(--color-settings-table-group-background)}#main_preferences form{width:100%}#main_preferences fieldset{margin:8px;border:none}#main_preferences legend{margin:0;padding:5px 0 0;display:block;float:left;width:300px}#main_preferences 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:.2rem .4rem;height:2rem;border-radius:5px}#main_preferences input[type=text]:hover,#main_preferences input[type=text]:focus{background-color:var(--color-toolkit-select-background-hover)}#main_preferences div.pref-group{width:100%;font-weight:400;padding:1rem .5rem;text-align:left;background:var(--color-settings-table-group-background)}#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-top:0;margin-right:1rem;margin-bottom:0;margin-left:0}#main_preferences .value select{width:14rem}#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;float:right;width:50%;color:var(--color-settings-engine-description-font);font-size:90%}#main_preferences .bang{text-align:left;border-radius:5px;background-color:var(--color-doc-code-background);color:var(--color-doc-code);padding:.2rem;border:0 none}#main_preferences .category{margin-right:.5rem}#main_preferences .category label{border:2px solid transparent;padding:.2rem .4rem;border-radius:5px}#main_preferences .category input[type=checkbox]:checked+label{border:2px solid var(--color-categories-item-border-selected)}#main_preferences table.table_engines th.name label{cursor:pointer}#main_preferences table.table_engines th.name .engine-tooltip{margin-top:1.8rem;left:calc((100% - 85em)/2 + 10em);max-width:40rem}#main_preferences table.table_engines th.name .engine-tooltip .engine-description{margin-top:.5rem}#main_preferences table.table_engines th.name .engine-tooltip .bang{margin:.3rem}#main_preferences table.table_engines .checkbox-col,#main_preferences table.table_engines .name,#main_preferences table.table_engines .shortcut{text-align:left}#main_preferences table.cookies{width:100%;direction:ltr}#main_preferences table.cookies th,#main_preferences table.cookies td{text-align:left;font-family:monospace;font-size:1rem;padding:.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(2n)>th,#main_preferences table.cookies>tbody>tr:nth-child(2n)>td{background-color:var(--color-settings-tr-hover)}#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:.7em}#main_preferences .preferences_back a{color:var(--color-settings-return-font)}#main_preferences .preferences_back a:first-letter{text-transform:uppercase}#main_preferences #toggle-all-engines-container{width:max-content;margin-left:auto}#main_preferences div.selectable_url pre{width:100%}#main_preferences #copy-hash-container{display:flex;align-items:center;gap:.5rem}#main_preferences #copy-hash-container div.selectable_url pre{width:auto;flex-grow:1}#main_preferences #pref-hash-input{width:100%}@media screen and (max-width: 79.75em){.preferences_back{clear:both}.engine-tooltip{left:10em!important}}#search{padding:0;margin:0}#search_header{padding-top:1.5em;padding-right:2em;padding-left:7rem;margin:0;background:var(--color-header-background);border-bottom:1px solid var(--color-header-border);display:grid;gap:1rem 1.2rem;grid-template-columns:3rem 1fr;grid-template-areas:"logo search" "spacer categories"}.category_checkbox,.category_button{display:inline-block;position:relative;margin-right:1rem;padding:0}.category_checkbox input{display:none}.category_checkbox label{cursor:pointer;padding:.2rem 0;display:inline-flex;text-transform:capitalize;font-size:.9em;border-bottom:2px solid transparent;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.category_checkbox label svg{padding-right:.2rem}.category_checkbox label div.category_name{margin:auto 0}.category_checkbox input[type=checkbox]:checked+label{color:var(--color-categories-item-selected-font);border-bottom:2px solid var(--color-categories-item-border-selected)}button.category_button{background-color:inherit;color:var(--color-base-font);cursor:pointer;padding:.2rem 0;display:inline-flex;align-items:center;text-transform:capitalize;font-size:.9em;border:none;border-bottom:2px solid transparent}button.category_button svg{padding-right:.2rem}button.category_button.selected,button.category_button:active{color:var(--color-categories-item-selected-font);border-bottom:2px solid var(--color-categories-item-border-selected)}.no-js #categories_container:has(button.category_button:focus-within) button.category_button.selected{color:var(--color-base-font);border-bottom:none}.no-js #categories_container:has(button.category_button:focus-within) button.category_button:focus-within{color:var(--color-categories-item-selected-font);border-bottom:2px solid var(--color-categories-item-border-selected)}#search_logo{padding:.5rem 10px 0;grid-area:logo;display:flex;align-items:center;justify-content:center}#search_logo svg{flex:1;width:30px;height:30px;margin:.5rem 0 auto}.search_categories{grid-area:categories}.search_categories .help{display:none}.search_categories:hover .help{display:block;position:absolute;background:var(--color-base-background);padding:1rem .6rem .6rem 0;z-index:1000;width:100%;left:-.1rem}#search_view{padding:.5rem .3rem 0 .5rem;grid-area:search}body.results_endpoint #search_view{padding:.5rem 2.8rem 0 0}.search_box{border-radius:.8rem;width:44rem;display:inline-flex;flex-direction:row;white-space:nowrap;box-shadow:var(--color-search-shadow)}#clear_search{display:block;border-collapse:separate;box-sizing:border-box;width:1.8rem;margin:0;padding:.8rem .2rem;background:none repeat scroll 0 0 var(--color-search-background);border:none;outline:none;color:var(--color-search-font);font-size:1.1rem;z-index:1000}#clear_search:hover{color:var(--color-search-background-hover)}#clear_search.empty *,html.no-js #clear_search.hide_if_nojs{display:none}#q,#send_search{display:block;margin:0;padding:.8rem;background:none repeat scroll 0 0 var(--color-search-background);border:none;outline:none;color:var(--color-search-font);font-size:1.1rem;z-index:100}#q{width:100%;padding-left:1rem;padding-right:0!important;border-radius:.8rem 0 0 .8rem}#q::-ms-clear,#q::-webkit-search-cancel-button{display:none}#send_search{border-radius:0 .8rem .8rem 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)}.search_filters{margin-top:.6rem;margin-right:0;margin-bottom:0;margin-left:10.6rem;display:flex;overflow-x:auto;overscroll-behavior-inline:contain}.search_filters select{background-color:inherit}.search_filters select:hover,.search_filters select:focus{color:var(--color-base-font)}@media screen and (max-width: 79.75em){#search_header{padding:1.5em .5rem 0;column-gap:.5rem}.search_filters{margin-top:.6rem;margin-right:0;margin-bottom:0;margin-left:3.5rem}#categories{font-size:90%;clear:both}}@media screen and (max-width: 79.75em) and (hover: none){#main_index #categories_container,#main_results #categories_container{width:max-content}#main_index #categories_container .category_checkbox,#main_results #categories_container .category_checkbox{display:inline-block;width:auto}#main_index #categories,#main_results #categories{width:100%;text-align:left;overflow:scroll hidden;-webkit-overflow-scrolling:touch}}@media screen and (max-width: 50em){#search_header{width:100%;margin:0;padding:.1rem 0 0;gap:0 0;grid-template-areas:"logo search" "categories categories"}.search_logo{padding:0}.search_box{width:98%;display:flex}#q{width:100%;flex:1}.search_filters{margin:0 10px;padding:.5rem 0}.category{display:inline-block;width:auto;margin:0}.category svg{display:none}.category_checkbox label,.category_button{padding:1rem!important;margin:0!important}#search_view:focus-within{display:block;background-color:var(--color-search-background);position:absolute;top:0;height:100%;width:100%;z-index:2000}#search_view:focus-within .search_box{border-bottom:1px solid var(--color-search-border);width:100%;border-radius:0;box-shadow:none}#search_view:focus-within .search_box #send_search{margin-right:0!important}#search_view:focus-within .search_box *{border:none;border-radius:0;box-shadow:none}#main_results #q:placeholder-shown~#send_search{margin-right:2.6rem;transition:margin .1s}}@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;user-select:none}#categories::-webkit-scrollbar{width:0;height:0}#categories_container{position:relative}.favicon img{height:1.5rem;width:1.5rem;border-radius:10%;background-color:var(--color-favicon-background-color);border:1px solid var(--color-favicon-border-color);display:flex}@media screen and (min-width: 50em){.center-alignment-yes #main_results{--center-page-width: 48rem}}@media screen and (width >= 62rem){.center-alignment-yes #main_results{--center-page-width: 60rem}}@media screen and (min-width: 79.75em){.center-alignment-yes #main_results{--center-page-width: 73rem}}@media screen and (min-width: 50em) and (max-width: 79.75em){.center-alignment-yes #main_results #results{grid-template-columns:60% calc(40% - 5rem);margin-left:0;margin-right:0}.center-alignment-yes #main_results #urls{margin-left:3rem}.center-alignment-yes #main_results #sidebar{margin-right:1rem}.center-alignment-yes #main_results #backToTop{left:calc(60% + 1rem)}}@media screen and (min-width: 79.75em){.center-alignment-yes #main_results{display:flex;flex-direction:column;align-items:center}.center-alignment-yes #main_results #search{width:100%;display:flex;flex-direction:column;align-items:center}.center-alignment-yes #main_results #search_header{grid-template-columns:calc(50% - 4.5rem - var(--center-page-width) / 2) 3rem var(--center-page-width);grid-template-areas:"na logo search" "na spacer categories";column-gap:1.2rem;width:100%;padding-left:0;padding-right:0}.center-alignment-yes #main_results .search_filters{margin-left:.5rem;width:var(--center-page-width)}.center-alignment-yes #main_results #results{margin-right:2rem;margin-left:10rem}.center-alignment-yes #main_results #results.only_template_images,.center-alignment-yes #main_results #results.image-detail-open{align-self:flex-start}.center-alignment-yes #main_results #results:not(.only_template_images,.image-detail-open){margin-left:1.5rem;grid-template-columns:calc(var(--center-page-width) - 5rem - 25rem) 25rem}.center-alignment-yes #main_results #results:not(.only_template_images,.image-detail-open) #backToTop{left:calc(50% - 25rem - 5rem + 1rem + var(--center-page-width) / 2)}.center-alignment-yes #main_results #results .result .content{max-width:inherit}.center-alignment-yes #main_results #urls{margin-left:0}.center-alignment-yes #main_results #sidebar{margin-right:0}}.sxng-icon-set{display:inline-block;vertical-align:bottom;line-height:1;text-decoration:inherit;transform:scale(1)}.sxng-icon-set-small{width:1rem;height:1rem;display:inline-block;vertical-align:bottom;line-height:1;text-decoration:inherit;transform:scale(1)}.sxng-icon-set-big{width:1.5rem;height:1.5rem;display:inline-block;vertical-align:bottom;line-height:1;text-decoration:inherit;transform:scale(1)}html{font-family:sans-serif;font-size:.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;scroll-behavior:smooth}body,main{padding:0;margin:0}body{display:flex;flex-direction:column;height:100vh;margin:0}@supports (height: 100dvh){body{height:100dvh}}main{width:100%;margin-bottom:2rem;flex:1}.page_with_header{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:.9em}.page_with_header .logo{height:40px}input[type=submit],#results button[type=submit],.button{padding:.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,a:visited .highlight{color:var(--color-url-visited-font)}article[data-vim-selected]{background:var(--color-result-vim-selected);border-left:.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.result-images[data-vim-selected] span.title,article.result-images[data-vim-selected] span.source{color:var(--color-result-image-span-font-selected)}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:.125rem 0;padding:1rem;box-sizing:border-box;width:100%;border-left:.2rem solid transparent}.result h3{font-size:1.2rem;word-wrap:break-word;margin:.4rem 0;padding:0}.result h3 a{color:var(--color-result-link-font);font-weight:400;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:smaller!important;margin-left:.5rem}.result .content,.result .stat{font-size:.9em;margin:0;padding:0;max-width:54em;word-wrap:break-word;line-height:1.24}.result .content .highlight,.result .stat .highlight{color:var(--color-result-description-highlight-font);background:inherit;font-weight:700}.result .altlink a{font-size:.9em;margin:0 10px 0 0;padding:5px 10px;border-radius:5px;background:var(--color-show-btn-background);color:var(--color-show-btn-font);cursor:pointer}.result .altlink a:hover{background:var(--color-btn-background);color:var(--color-btn-font)}.result .codelines .highlight{color:inherit;background:inherit;font-weight:400}.result .url_header{display:flex;gap:.5rem}.result .url_wrapper{display:flex;align-items:center;font-size:1rem;color:var(--color-result-url-font);flex-flow:row nowrap;overflow:hidden;margin:0;padding:0}.result .url_wrapper .url_o1{white-space:nowrap;flex-shrink:1;padding-bottom:1px}.result .url_wrapper .url_o1 .url_i1{unicode-bidi:plaintext}.result .url_wrapper .url_o1:after{content:" ";width:1ch;display:inline-block}.result .url_wrapper .url_o2{overflow:hidden;white-space:nowrap;flex:0 1 content;text-align:right;padding-bottom:1px}.result .url_wrapper .url_o2 .url_i2{float:right}.result .published_date,.result .result_length,.result .result_views,.result .result_author,.result .result_shipping,.result .result_source_country{font-size:.8em;color:var(--color-result-publishdate-font)}.result .result_price{font-size:1.2em;color:var(--color-result-description-highlight-font)}.result img.thumbnail{float:left;padding-top:.6rem;padding-right:1rem;width:7rem;height:unset}.result .break{clear:both}.result-paper .attributes,.result-packages .attributes{display:table;border-spacing:.125rem}.result-paper .attributes div,.result-packages .attributes div{display:table-row}.result-paper .attributes div span,.result-packages .attributes div span{font-size:.9rem;margin-top:.25rem;display:table-cell}.result-paper .attributes div span time,.result-packages .attributes div span time{font-size:.9rem}.result-paper .attributes div span:first-child,.result-packages .attributes div span:first-child{color:var(--color-base-font);min-width:10rem}.result-paper .attributes div span:nth-child(2),.result-packages .attributes div span:nth-child(2){color:var(--color-result-publishdate-font)}.result-paper .content,.result-packages .content{margin-top:.25rem}.result-paper .comments,.result-packages .comments{font-size:.9rem;margin:.25rem 0 0;padding:0;word-wrap:break-word;line-height:1.24;font-style:italic}.result-packages .attributes{margin-top:.3rem}.template_group_images{display:flex;flex-wrap:wrap}.template_group_images:after{flex-grow:10;content:""}.category-videos,.category-news,.category-map,.category-music,.category-files,.category-social{border:1px solid var(--color-result-border);margin:0 .5rem 1rem!important;border-radius:10px}.category-social .image{width:auto!important;min-width:48px;min-height:48px;padding:0 5px 25px 0!important}.audio-control audio{width:100%;padding:10px 0 0}.embedded-content iframe{width:100%;padding:10px 0 0}.result-videos img.thumbnail{float:left;padding-top:.6rem;padding-right:1rem;width:20rem;height:unset}.result-videos .content{overflow:hidden}.result-videos .embedded-video iframe{width:100%;aspect-ratio:16 / 9;padding:10px 0 0}@supports not (aspect-ratio: 1 / 1){.result-videos .embedded-video iframe{height:25.3125rem}}.engines{float:right;display:flex;flex-wrap:wrap;justify-content:flex-end;color:var(--color-result-engines-font)}.engines span{font-size:smaller;margin-top:0;margin-bottom:0;margin-right:.5rem;margin-left:0}.small_font{font-size:.8em}.highlight{color:var(--color-result-link-font-highlight);background:inherit}.empty_element{font-style:italic}.result-images{flex-grow:1;padding:.5rem .5rem 3rem;margin:.25rem;border:none!important;height:12rem;width:unset}.result-images>a{position:relative;outline:none}.result-images img{margin:0;padding:0;border:none;height:100%;width:auto;object-fit:cover;vertical-align:bottom;background:var(--color-result-image-background)}.result-images .image_resolution{position:absolute;right:0;bottom:0;background:var(--color-image-resolution-background);padding:.3rem .5rem;font-size:.9rem;color:var(--color-image-resolution-font);border-top-left-radius:.3rem}.result-images span.title,.result-images span.source{display:block;position:absolute;width:100%;font-size:.9rem;color:var(--color-result-image-span-font);padding:.5rem 0 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.result-images span.source{padding:1.8rem 0 0;font-size:.7rem}.result-map img.image{float:right!important;height:100px!important;width:auto!important}.result-map table{font-size:.9em;width:auto;border-collapse:separate;border-spacing: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-top:1rem;margin-right:2rem;margin-bottom:0;margin-left:10rem;display:grid;grid-template:"corrections sidebar" min-content "answers sidebar" min-content "urls sidebar" 1fr "pagination sidebar" min-content / 45rem 25rem;gap:0 5rem}#results #sidebar *:first-child{margin-top:0}#urls{padding:0;grid-area:urls}#apis .wrapper{display:flex}#suggestions .wrapper{display:flex;flex-flow:column;justify-content:flex-end}#suggestions .wrapper form{display:inline-block;flex:1 1 50%}#suggestions input,#infoboxes input{padding:0;margin:3px;font-size:.9em;display:inline-block;background:transparent;color:var(--color-result-search-url-font);cursor:pointer;width:100%;text-overflow:ellipsis;overflow:hidden;text-align:left}#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:.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}#corrections h4,#corrections input[type=submit]{display:inline-block;padding:.5rem;margin:.5rem}#corrections input[type=submit]{font-size:.8rem;border-radius:5px}#infoboxes .title,#suggestions .title,#search_url .title,#engines_msg .title,#apis .title{margin:2em 0 .5em;color:var(--color-base-font)}summary.title{cursor:pointer;padding-top:1em}.sidebar-collapsible{border-top:1px solid var(--color-sidebar-border);padding-bottom:.5em}#sidebar-end-collapsible{border-bottom:1px solid var(--color-sidebar-border);width:100%}#answers{grid-area:answers;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}#answers span{overflow-wrap:anywhere}#answers .answer{display:flex;flex-direction:column}#answers .answer-url{margin:5px 10px 10px auto}#infoboxes form{min-width:210px}#sidebar{grid-area:sidebar;word-wrap:break-word;color:var(--color-sidebar-font)}#sidebar .infobox{margin:10px 0;border:1px solid var(--color-sidebar-border);padding:1rem;font-size:.9em;border-radius:10px}#sidebar .infobox h2{margin:0 0 .5em}#sidebar .infobox img{max-width:100%;max-height:12em;display:block;margin:0 auto;padding:0}#sidebar .infobox dt{font-weight:700}#sidebar .infobox .attributes dl{margin:.5em 0}#sidebar .infobox .attributes dt{display:inline;margin:.5em .25em .5em 0;padding:0}#sidebar .infobox .attributes dd{display:inline;margin:.5em 0;padding:0}#sidebar .infobox input{font-size:1em}#sidebar .infobox br,#sidebar .infobox .attributes,#sidebar .infobox .urls{clear:both}#apis input{font-size:.9em;margin:0 10px 0 0;padding:5px 10px;border-radius:5px;background:var(--color-show-btn-background);color:var(--color-show-btn-font);cursor:pointer}#apis input:hover{background:var(--color-btn-background);color:var(--color-btn-font)}#engines_msg .engine-name{width:10rem}#engines_msg .response-error{color:var(--color-error)}#engines_msg .bar-chart-value{width:auto}#search_url div.selectable_url pre{float:left;width:200em}#search_url button#copy_url{float:right;padding:.4rem;margin-left:.5rem;border-radius:.3rem;display:none}#links_on_top{position:absolute;right:1rem;text-align:right;top:2.7rem;padding:0;border:0;display:flex;align-items:center;font-size:1em;color:var(--color-search-font)}#links_on_top a{display:flex;align-items:center;margin-left:1em}#links_on_top a svg{font-size:1.2em;margin-right:.125em}#links_on_top a,#links_on_top a:link *,#links_on_top a:hover *,#links_on_top a:visited *,#links_on_top a:active *{color:var(--color-search-font)}#pagination{grid-area:pagination}#pagination br{clear:both}.numbered_pagination{display:flex;flex-direction:row;justify-content:center;align-items:center;overflow:hidden}.page_number{background:transparent!important;color:var(--color-result-link-font)!important;text-decoration:underline}.page_number_current{background:transparent;color:var(--color-result-link-visited-font);border:none}#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 .5s;opacity:0;pointer-events:none;border-radius:10px}#backToTop a{display:block;margin:0;padding:.7em}#backToTop a,#backToTop a:visited,#backToTop a:hover,#backToTop a:active{color:var(--color-backtotop-font)}#results.scrolling #backToTop{opacity:1;pointer-events:all}@media screen and (width <= calc(79.75em - .5px)){#links_on_top span{display:none}}@media screen and (width <= 52rem){body.results_endpoint #links_on_top .link_on_top_about,body.results_endpoint #links_on_top .link_on_top_donate{display:none}}@media screen and (min-width: 50em) and (max-width: 79.75em){.center-alignment-no #links_on_top span{display:none}.center-alignment-no .page_with_header{margin:2rem .5rem;width:auto}.center-alignment-no #infoboxes{position:inherit;max-width:inherit}.center-alignment-no #infoboxes .infobox{clear:both}.center-alignment-no #infoboxes .infobox img{float:left;max-width:10em;margin:.5em .5em .5em 0}.center-alignment-no #sidebar{margin:0 .5rem .125rem;padding:0;float:none;border:none;width:auto}.center-alignment-no #sidebar input{border:0}.center-alignment-no .result .thumbnail{max-width:98%}.center-alignment-no .result .url span.url{display:block;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;width:100%}.center-alignment-no .result .engines{float:right;display:flex;flex-wrap:wrap;justify-content:flex-end;padding:3px 0 0}.center-alignment-no .result-images{border-bottom:none!important}.center-alignment-no .image_result,.center-alignment-no .image_result img{max-width:98%}.center-alignment-no #backToTop{display:none}.center-alignment-no #pagination{margin:2rem 0 0!important}.center-alignment-no #main_results div#results{margin:0 auto;justify-content:center;display:grid;grid-template:"corrections" min-content "answers" min-content "sidebar" min-content "urls" 1fr "pagination" min-content / 45rem;gap:0}}#main_results div#results.only_template_images{margin:1rem .5rem 0;display:grid;grid-template:"corrections" min-content "answers" min-content "sidebar" min-content "urls" 1fr "pagination" min-content / 100%;gap:0}#main_results div#results.only_template_images #sidebar{display:none}#main_results div#results.only_template_images #urls{margin:0;display:flex;flex-wrap:wrap}#main_results div#results.only_template_images #urls:after{flex-grow:10;content:""}#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){#links_on_top span{display:none}.page_with_header{margin:2rem .5rem;width:auto}#infoboxes{position:inherit;max-width:inherit}#infoboxes .infobox{clear:both}#infoboxes .infobox img{float:left;max-width:10em;margin:.5em .5em .5em 0}#sidebar{margin:0 .5rem .125rem;padding:0;float:none;border:none;width:auto}#sidebar input{border:0}.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;display:flex;flex-wrap:wrap;justify-content:flex-end;padding:3px 0 0}.result-images{border-bottom:none!important}.image_result,.image_result img{max-width:98%}#backToTop{display:none}#pagination{margin:2rem 0 0!important}#main_results div#results{margin:0 auto;justify-content:center;display:grid;grid-template:"corrections" min-content "answers" min-content "sidebar" min-content "urls" 1fr "pagination" min-content / 45rem;gap:0}html{background-color:var(--color-base-background-mobile)}#main_results div#results{grid-template-columns:100%;margin:0 auto}#links_on_top{top:1.4rem;right:10px}#main_index #links_on_top{top:.5rem;right:.5rem}#results{margin:0;padding:0}#pagination{margin:2rem 1rem 0!important}article[data-vim-selected]{border:1px solid var(--color-result-vim-arrow);border-radius:10px}.result{background:var(--color-result-background);border:1px solid var(--color-result-background);margin:1rem 2%;width:96%;border-radius:10px}.result-images{margin:0;height:10rem;background:var(--color-base-background-mobile);width:unset}.infobox{border:none!important;background-color:var(--color-sidebar-background)}.numbered_pagination{display:none}.result-paper .attributes,.result-packages .attributes,.result-paper .attributes div,.result-packages .attributes div{display:block}.result-paper .attributes div span,.result-packages .attributes div span{display:inline}.result-paper .attributes div span:first-child,.result-packages .attributes div span:first-child{font-weight:700}.result-paper .attributes div span:nth-child(2),.result-packages .attributes div span:nth-child(2){margin-left:.5rem}}@media screen and (max-width: 35em){.result-videos img.thumbnail{float:none!important}.result-videos .content{overflow:inherit}}pre code{white-space:pre-wrap}#main_results .result-keyvalue caption{padding:.8rem .5rem;font-style:italic;caption-side:bottom;background-color:var(--color-result-keyvalue-table)}#main_results .result-keyvalue .col-key{width:25%}#main_results .result-keyvalue table{word-break:break-word;table-layout:fixed;width:100%;background-color:var(--color-result-keyvalue-table)}#main_results .result-keyvalue tr.odd{background-color:var(--color-result-keyvalue-odd)}#main_results .result-keyvalue tr.even{background-color:var(--color-result-keyvalue-even)}#main_results .result-keyvalue th,#main_results .result-keyvalue td{padding:.3rem .5rem}
+/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}:root{--color-base-font: #444;--color-base-font-rgb: 68, 68, 68;--color-base-background: #fff;--color-base-background-mobile: #f2f5f8;--color-url-font: #334999;--color-url-visited-font: #9822c3;--color-header-background: #fdfbff;--color-header-border: #ddd;--color-footer-background: #fdfbff;--color-footer-border: #ddd;--color-sidebar-border: #ddd;--color-sidebar-font: #000;--color-sidebar-background: #fff;--color-backtotop-font: #444;--color-backtotop-border: #ddd;--color-backtotop-background: #fff;--color-btn-background: #3050ff;--color-btn-font: #fff;--color-show-btn-background: #bbb;--color-show-btn-font: #000;--color-search-border: #bbb;--color-search-shadow: 0 2px 8px rgba(34, 38, 46, .25);--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-shadow: 0 2px 8px rgba(34, 38, 46, .25);--color-autocomplete-background: #fff;--color-autocomplete-background-hover: #e3e3e3;--color-answer-font: #444;--color-answer-background: #fff;--color-result-keyvalue-col-table: #fdfbff;--color-result-keyvalue-odd: #fdfbff;--color-result-keyvalue-even: #fff;--color-result-background: #fff;--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: #9822c3;--color-result-publishdate-font: #777;--color-result-engines-font: #545454;--color-result-search-url-border: #ddd;--color-result-search-url-font: #000;--color-result-image-span-font: #444;--color-result-image-span-font-selected: #fff;--color-result-image-background: #fff;--color-settings-tr-hover: #ebebeb;--color-settings-engine-description-font: #545454;--color-settings-table-group-background: #0001;--color-result-detail-font: #fff;--color-result-detail-label-font: lightgray;--color-result-detail-background: #242424;--color-result-detail-hr: #555;--color-result-detail-link: #8af;--color-result-detail-loader-border: rgba(255, 255, 255, .2);--color-result-detail-loader-borderleft: rgba(0, 0, 0, 0);--color-toolkit-badge-font: #fff;--color-toolkit-badge-background: #545454;--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: #e1e1e1;--color-toolkit-select-border: #ddd;--color-toolkit-select-background-hover: #bbb;--color-toolkit-input-text-font: #222;--color-toolkit-checkbox-onoff-off-background: #ddd;--color-toolkit-checkbox-onoff-on-background: #ddd;--color-toolkit-checkbox-onoff-on-mark-background: #3050ff;--color-toolkit-checkbox-onoff-on-mark-color: #fff;--color-toolkit-checkbox-onoff-off-mark-background: #aaa;--color-toolkit-checkbox-onoff-off-mark-color: #fff;--color-toolkit-checkbox-label-background: #ddd;--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, .2);--color-toolkit-loader-borderleft: rgba(255, 255, 255, 0);--color-doc-code: #003;--color-doc-code-background: #ddeaff;--color-bar-chart-primary: #5bc0de;--color-bar-chart-secondary: #deb15b;--color-image-resolution-background: rgba(0, 0, 0, .5);--color-image-resolution-font: #fff;--color-loading-indicator: rgba(255, 255, 255, .2);--color-loading-indicator-gap: #fff;--color-line-number: #64708d;--color-favicon-background-color: #ddd;--color-favicon-border-color: #ccc}@media (prefers-color-scheme: dark){:root.theme-auto{--color-base-font: #bbb;--color-base-font-rgb: 187, 187, 187;--color-base-background: #222428;--color-base-background-mobile: #222428;--color-url-font: #8af;--color-url-visited-font: #c09cd9;--color-header-background: #1e1e22;--color-header-border: #333;--color-footer-background: #1e1e22;--color-footer-border: #333;--color-sidebar-border: #555;--color-sidebar-font: #fff;--color-sidebar-background: #292c34;--color-backtotop-font: #bbb;--color-backtotop-border: #333;--color-backtotop-background: #2b2e36;--color-btn-background: #58f;--color-btn-font: #222;--color-show-btn-background: #555;--color-show-btn-font: #fff;--color-search-border: #555;--color-search-shadow: 0 2px 8px rgba(34, 38, 46, .25);--color-search-background: #2b2e36;--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-shadow: 0 2px 8px rgba(34, 38, 46, .25);--color-autocomplete-background: #2b2e36;--color-autocomplete-background-hover: #1e1e22;--color-answer-font: #bbb;--color-answer-background: #26292f;--color-result-keyvalue-col-table: #1e1e22;--color-result-keyvalue-odd: #1e1e22;--color-result-keyvalue-even: #26292f;--color-result-background: #26292f;--color-result-border: #333;--color-result-url-font: #fff;--color-result-vim-selected: #1f1f23cc;--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: #c09cd9;--color-result-publishdate-font: #888;--color-result-engines-font: #a4a4a4;--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: #1a1a1c;--color-result-detail-hr: #555;--color-result-detail-link: #8af;--color-result-detail-loader-border: rgba(255, 255, 255, .2);--color-result-detail-loader-borderleft: rgba(0, 0, 0, 0);--color-result-image-span-font: #bbb;--color-result-image-span-font-selected: #222;--color-result-image-background: #222;--color-settings-tr-hover: #2c2c32;--color-settings-engine-description-font: #909090;--color-settings-table-group-background: #1b1b21;--color-toolkit-badge-font: #fff;--color-toolkit-badge-background: #555;--color-toolkit-kbd-font: #000;--color-toolkit-kbd-background: #fff;--color-toolkit-dialog-border: #555;--color-toolkit-dialog-background: #1e1e22;--color-toolkit-tabs-label-border: #222;--color-toolkit-tabs-section-border: #555;--color-toolkit-select-background: #313338;--color-toolkit-select-border: #555;--color-toolkit-select-background-hover: #373b49;--color-toolkit-input-text-font: #fff;--color-toolkit-checkbox-onoff-off-background: #313338;--color-toolkit-checkbox-onoff-on-background: #313338;--color-toolkit-checkbox-onoff-on-mark-background: #58f;--color-toolkit-checkbox-onoff-on-mark-color: #222;--color-toolkit-checkbox-onoff-off-mark-background: #ddd;--color-toolkit-checkbox-onoff-off-mark-color: #222;--color-toolkit-checkbox-label-background: #222;--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, .2);--color-toolkit-loader-borderleft: rgba(0, 0, 0, 0);--color-doc-code: #ddd;--color-doc-code-background: #4d5a6f;--color-favicon-background-color: #ddd;--color-favicon-border-color: #ccc}}:root.theme-dark{--color-base-font: #bbb;--color-base-font-rgb: 187, 187, 187;--color-base-background: #222428;--color-base-background-mobile: #222428;--color-url-font: #8af;--color-url-visited-font: #c09cd9;--color-header-background: #1e1e22;--color-header-border: #333;--color-footer-background: #1e1e22;--color-footer-border: #333;--color-sidebar-border: #555;--color-sidebar-font: #fff;--color-sidebar-background: #292c34;--color-backtotop-font: #bbb;--color-backtotop-border: #333;--color-backtotop-background: #2b2e36;--color-btn-background: #58f;--color-btn-font: #222;--color-show-btn-background: #555;--color-show-btn-font: #fff;--color-search-border: #555;--color-search-shadow: 0 2px 8px rgba(34, 38, 46, .25);--color-search-background: #2b2e36;--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-shadow: 0 2px 8px rgba(34, 38, 46, .25);--color-autocomplete-background: #2b2e36;--color-autocomplete-background-hover: #1e1e22;--color-answer-font: #bbb;--color-answer-background: #26292f;--color-result-keyvalue-col-table: #1e1e22;--color-result-keyvalue-odd: #1e1e22;--color-result-keyvalue-even: #26292f;--color-result-background: #26292f;--color-result-border: #333;--color-result-url-font: #fff;--color-result-vim-selected: #1f1f23cc;--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: #c09cd9;--color-result-publishdate-font: #888;--color-result-engines-font: #a4a4a4;--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: #1a1a1c;--color-result-detail-hr: #555;--color-result-detail-link: #8af;--color-result-detail-loader-border: rgba(255, 255, 255, .2);--color-result-detail-loader-borderleft: rgba(0, 0, 0, 0);--color-result-image-span-font: #bbb;--color-result-image-span-font-selected: #222;--color-result-image-background: #222;--color-settings-tr-hover: #2c2c32;--color-settings-engine-description-font: #909090;--color-settings-table-group-background: #1b1b21;--color-toolkit-badge-font: #fff;--color-toolkit-badge-background: #555;--color-toolkit-kbd-font: #000;--color-toolkit-kbd-background: #fff;--color-toolkit-dialog-border: #555;--color-toolkit-dialog-background: #1e1e22;--color-toolkit-tabs-label-border: #222;--color-toolkit-tabs-section-border: #555;--color-toolkit-select-background: #313338;--color-toolkit-select-border: #555;--color-toolkit-select-background-hover: #373b49;--color-toolkit-input-text-font: #fff;--color-toolkit-checkbox-onoff-off-background: #313338;--color-toolkit-checkbox-onoff-on-background: #313338;--color-toolkit-checkbox-onoff-on-mark-background: #58f;--color-toolkit-checkbox-onoff-on-mark-color: #222;--color-toolkit-checkbox-onoff-off-mark-background: #ddd;--color-toolkit-checkbox-onoff-off-mark-color: #222;--color-toolkit-checkbox-label-background: #222;--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, .2);--color-toolkit-loader-borderleft: rgba(0, 0, 0, 0);--color-doc-code: #ddd;--color-doc-code-background: #4d5a6f;--color-favicon-background-color: #ddd;--color-favicon-border-color: #ccc}:root.theme-black{--color-base-font: #bbb;--color-base-font-rgb: 187, 187, 187;--color-base-background: #222428;--color-base-background-mobile: #222428;--color-url-font: #8af;--color-url-visited-font: #c09cd9;--color-header-background: #1e1e22;--color-header-border: #333;--color-footer-background: #1e1e22;--color-footer-border: #333;--color-sidebar-border: #555;--color-sidebar-font: #fff;--color-sidebar-background: #292c34;--color-backtotop-font: #bbb;--color-backtotop-border: #333;--color-backtotop-background: #2b2e36;--color-btn-background: #58f;--color-btn-font: #222;--color-show-btn-background: #555;--color-show-btn-font: #fff;--color-search-border: #555;--color-search-shadow: 0 2px 8px rgba(34, 38, 46, .25);--color-search-background: #2b2e36;--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-shadow: 0 2px 8px rgba(34, 38, 46, .25);--color-autocomplete-background: #2b2e36;--color-autocomplete-background-hover: #1e1e22;--color-answer-font: #bbb;--color-answer-background: #26292f;--color-result-keyvalue-col-table: #1e1e22;--color-result-keyvalue-odd: #1e1e22;--color-result-keyvalue-even: #26292f;--color-result-background: #26292f;--color-result-border: #333;--color-result-url-font: #fff;--color-result-vim-selected: #1f1f23cc;--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: #c09cd9;--color-result-publishdate-font: #888;--color-result-engines-font: #a4a4a4;--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: #1a1a1c;--color-result-detail-hr: #555;--color-result-detail-link: #8af;--color-result-detail-loader-border: rgba(255, 255, 255, .2);--color-result-detail-loader-borderleft: rgba(0, 0, 0, 0);--color-result-image-span-font: #bbb;--color-result-image-span-font-selected: #222;--color-result-image-background: #222;--color-settings-tr-hover: #2c2c32;--color-settings-engine-description-font: #909090;--color-settings-table-group-background: #1b1b21;--color-toolkit-badge-font: #fff;--color-toolkit-badge-background: #555;--color-toolkit-kbd-font: #000;--color-toolkit-kbd-background: #fff;--color-toolkit-dialog-border: #555;--color-toolkit-dialog-background: #1e1e22;--color-toolkit-tabs-label-border: #222;--color-toolkit-tabs-section-border: #555;--color-toolkit-select-background: #313338;--color-toolkit-select-border: #555;--color-toolkit-select-background-hover: #373b49;--color-toolkit-input-text-font: #fff;--color-toolkit-checkbox-onoff-off-background: #313338;--color-toolkit-checkbox-onoff-on-background: #313338;--color-toolkit-checkbox-onoff-on-mark-background: #58f;--color-toolkit-checkbox-onoff-on-mark-color: #222;--color-toolkit-checkbox-onoff-off-mark-background: #ddd;--color-toolkit-checkbox-onoff-off-mark-color: #222;--color-toolkit-checkbox-label-background: #222;--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, .2);--color-toolkit-loader-borderleft: rgba(0, 0, 0, 0);--color-doc-code: #ddd;--color-doc-code-background: #4d5a6f;--color-favicon-background-color: #ddd;--color-favicon-border-color: #ccc;--color-base-background: #000;--color-base-background-mobile: #000;--color-header-background: #000;--color-footer-background: #000;--color-sidebar-background: #000}.code-highlight pre{line-height:100%}.code-highlight td.linenos .normal,.code-highlight span.linenos{color:inherit;background-color:transparent;padding-left:5px;padding-right:5px}.code-highlight td.linenos .special,.code-highlight span.linenos.special{color:#000;background-color:#ffffc0;padding-left:5px;padding-right:5px}.code-highlight .hll{background-color:#ffc}.code-highlight .c{color:#3d7b7b;font-style:italic}.code-highlight .err{border:1px solid #F00}.code-highlight .k{color:green;font-weight:700}.code-highlight .o{color:#666}.code-highlight .ch,.code-highlight .cm{color:#3d7b7b;font-style:italic}.code-highlight .cp{color:#9c6500}.code-highlight .cpf,.code-highlight .c1,.code-highlight .cs{color:#3d7b7b;font-style:italic}.code-highlight .gd{color:#a00000}.code-highlight .ge{font-style:italic}.code-highlight .ges{font-weight:700;font-style:italic}.code-highlight .gr{color:#e40000}.code-highlight .gh{color:navy;font-weight:700}.code-highlight .gi{color:#008400}.code-highlight .go{color:#717171}.code-highlight .gp{color:navy;font-weight:700}.code-highlight .gs{font-weight:700}.code-highlight .gu{color:purple;font-weight:700}.code-highlight .gt{color:#04d}.code-highlight .kc,.code-highlight .kd,.code-highlight .kn{color:green;font-weight:700}.code-highlight .kp{color:green}.code-highlight .kr{color:green;font-weight:700}.code-highlight .kt{color:#b00040}.code-highlight .m{color:#666}.code-highlight .s{color:#ba2121}.code-highlight .na{color:#687822}.code-highlight .nb{color:green}.code-highlight .nc{color:#00f;font-weight:700}.code-highlight .no{color:#800}.code-highlight .nd{color:#a2f}.code-highlight .ni{color:#717171;font-weight:700}.code-highlight .ne{color:#cb3f38;font-weight:700}.code-highlight .nf{color:#00f}.code-highlight .nl{color:#767600}.code-highlight .nn{color:#00f;font-weight:700}.code-highlight .nt{color:green;font-weight:700}.code-highlight .nv{color:#19177c}.code-highlight .ow{color:#a2f;font-weight:700}.code-highlight .w{color:#bbb}.code-highlight .mb,.code-highlight .mf,.code-highlight .mh,.code-highlight .mi,.code-highlight .mo{color:#666}.code-highlight .sa,.code-highlight .sb,.code-highlight .sc,.code-highlight .dl{color:#ba2121}.code-highlight .sd{color:#ba2121;font-style:italic}.code-highlight .s2{color:#ba2121}.code-highlight .se{color:#aa5d1f;font-weight:700}.code-highlight .sh{color:#ba2121}.code-highlight .si{color:#a45a77;font-weight:700}.code-highlight .sx{color:green}.code-highlight .sr{color:#a45a77}.code-highlight .s1{color:#ba2121}.code-highlight .ss{color:#19177c}.code-highlight .bp{color:green}.code-highlight .fm{color:#00f}.code-highlight .vc,.code-highlight .vg,.code-highlight .vi,.code-highlight .vm{color:#19177c}.code-highlight .il{color:#666}.codelines{margin:.125rem 0 0;padding:1rem 0 0}.code-highlight pre{overflow:auto;margin:0;padding:0 0 .75rem}.code-highlight .linenos{-webkit-user-select:none;user-select:none;cursor:default;margin-right:8px;text-align:right}.code-highlight .linenos::selection{background:transparent}.code-highlight .linenos::-moz-selection{background:transparent}.code-highlight span.linenos{color:var(--color-line-number)}@media (prefers-color-scheme: dark){:root.theme-auto .code-highlight pre{line-height:100%}:root.theme-auto .code-highlight td.linenos .normal{color:#3c4354;background-color:transparent;padding-left:5px;padding-right:5px}:root.theme-auto .code-highlight span.linenos{color:#3c4354;background-color:transparent;padding-left:5px;padding-right:5px}:root.theme-auto .code-highlight td.linenos .special{color:#3c4354;background-color:#ffffc0;padding-left:5px;padding-right:5px}:root.theme-auto .code-highlight span.linenos.special{color:#3c4354;background-color:#ffffc0;padding-left:5px;padding-right:5px}:root.theme-auto .code-highlight .hll{background-color:#6e7681}:root.theme-auto .code-highlight .c{color:#7e8aa1}:root.theme-auto .code-highlight .err{color:#f88f7f}:root.theme-auto .code-highlight .esc{color:#d4d2c8}:root.theme-auto .code-highlight .g{color:#d4d2c8}:root.theme-auto .code-highlight .k{color:#ffad66}:root.theme-auto .code-highlight .l{color:#d5ff80}:root.theme-auto .code-highlight .n{color:#d4d2c8}:root.theme-auto .code-highlight .o{color:#ffad66}:root.theme-auto .code-highlight .x{color:#d4d2c8}:root.theme-auto .code-highlight .p{color:#d4d2c8}:root.theme-auto .code-highlight .ch{color:#f88f7f;font-style:italic}:root.theme-auto .code-highlight .cm{color:#7e8aa1}:root.theme-auto .code-highlight .cp{color:#ffad66;font-weight:700}:root.theme-auto .code-highlight .cpf{color:#7e8aa1}:root.theme-auto .code-highlight .c1{color:#7e8aa1}:root.theme-auto .code-highlight .cs{color:#7e8aa1;font-style:italic}:root.theme-auto .code-highlight .gd{color:#f88f7f;background-color:#3d1e20}:root.theme-auto .code-highlight .ge{color:#d4d2c8;font-style:italic}:root.theme-auto .code-highlight .ges{color:#d4d2c8}:root.theme-auto .code-highlight .gr{color:#f88f7f}:root.theme-auto .code-highlight .gh{color:#d4d2c8}:root.theme-auto .code-highlight .gi{color:#6ad4af;background-color:#19362c}:root.theme-auto .code-highlight .go{color:#7e8aa1}:root.theme-auto .code-highlight .gp{color:#d4d2c8}:root.theme-auto .code-highlight .gs{color:#d4d2c8;font-weight:700}:root.theme-auto .code-highlight .gu{color:#d4d2c8}:root.theme-auto .code-highlight .gt{color:#f88f7f}:root.theme-auto .code-highlight .kc{color:#ffad66}:root.theme-auto .code-highlight .kd{color:#ffad66}:root.theme-auto .code-highlight .kn{color:#ffad66}:root.theme-auto .code-highlight .kp{color:#ffad66}:root.theme-auto .code-highlight .kr{color:#ffad66}:root.theme-auto .code-highlight .kt{color:#73d0ff}:root.theme-auto .code-highlight .ld{color:#d5ff80}:root.theme-auto .code-highlight .m{color:#dfbfff}:root.theme-auto .code-highlight .s{color:#d5ff80}:root.theme-auto .code-highlight .na{color:#ffd173}:root.theme-auto .code-highlight .nb{color:#ffd173}:root.theme-auto .code-highlight .nc{color:#73d0ff}:root.theme-auto .code-highlight .no{color:#ffd173}:root.theme-auto .code-highlight .nd{color:#7e8aa1;font-weight:700;font-style:italic}:root.theme-auto .code-highlight .ni{color:#95e6cb}:root.theme-auto .code-highlight .ne{color:#73d0ff}:root.theme-auto .code-highlight .nf{color:#ffd173}:root.theme-auto .code-highlight .nl{color:#d4d2c8}:root.theme-auto .code-highlight .nn{color:#d4d2c8}:root.theme-auto .code-highlight .nx{color:#d4d2c8}:root.theme-auto .code-highlight .py{color:#ffd173}:root.theme-auto .code-highlight .nt{color:#5ccfe6}:root.theme-auto .code-highlight .nv{color:#d4d2c8}:root.theme-auto .code-highlight .ow{color:#ffad66}:root.theme-auto .code-highlight .pm{color:#d4d2c8}:root.theme-auto .code-highlight .w{color:#d4d2c8}:root.theme-auto .code-highlight .mb{color:#dfbfff}:root.theme-auto .code-highlight .mf{color:#dfbfff}:root.theme-auto .code-highlight .mh{color:#dfbfff}:root.theme-auto .code-highlight .mi{color:#dfbfff}:root.theme-auto .code-highlight .mo{color:#dfbfff}:root.theme-auto .code-highlight .sa{color:#f29e74}:root.theme-auto .code-highlight .sb{color:#d5ff80}:root.theme-auto .code-highlight .sc{color:#d5ff80}:root.theme-auto .code-highlight .dl{color:#d5ff80}:root.theme-auto .code-highlight .sd{color:#7e8aa1}:root.theme-auto .code-highlight .s2{color:#d5ff80}:root.theme-auto .code-highlight .se{color:#95e6cb}:root.theme-auto .code-highlight .sh{color:#d5ff80}:root.theme-auto .code-highlight .si{color:#95e6cb}:root.theme-auto .code-highlight .sx{color:#95e6cb}:root.theme-auto .code-highlight .sr{color:#95e6cb}:root.theme-auto .code-highlight .s1{color:#d5ff80}:root.theme-auto .code-highlight .ss{color:#dfbfff}:root.theme-auto .code-highlight .bp{color:#5ccfe6}:root.theme-auto .code-highlight .fm{color:#ffd173}:root.theme-auto .code-highlight .vc{color:#d4d2c8}:root.theme-auto .code-highlight .vg{color:#d4d2c8}:root.theme-auto .code-highlight .vi{color:#d4d2c8}:root.theme-auto .code-highlight .vm{color:#d4d2c8}:root.theme-auto .code-highlight .il{color:#dfbfff}:root.theme-auto .code-highlight pre{overflow:auto;margin:0;padding:0 0 .75rem}:root.theme-auto .code-highlight .linenos{-webkit-user-select:none;user-select:none;cursor:default;margin-right:8px;text-align:right}:root.theme-auto .code-highlight .linenos::selection{background:transparent}:root.theme-auto .code-highlight .linenos::-moz-selection{background:transparent}:root.theme-auto .code-highlight span.linenos{color:var(--color-line-number)}}:root.theme-dark .code-highlight pre{line-height:100%}:root.theme-dark .code-highlight td.linenos .normal{color:#3c4354;background-color:transparent;padding-left:5px;padding-right:5px}:root.theme-dark .code-highlight span.linenos{color:#3c4354;background-color:transparent;padding-left:5px;padding-right:5px}:root.theme-dark .code-highlight td.linenos .special{color:#3c4354;background-color:#ffffc0;padding-left:5px;padding-right:5px}:root.theme-dark .code-highlight span.linenos.special{color:#3c4354;background-color:#ffffc0;padding-left:5px;padding-right:5px}:root.theme-dark .code-highlight .hll{background-color:#6e7681}:root.theme-dark .code-highlight .c{color:#7e8aa1}:root.theme-dark .code-highlight .err{color:#f88f7f}:root.theme-dark .code-highlight .esc{color:#d4d2c8}:root.theme-dark .code-highlight .g{color:#d4d2c8}:root.theme-dark .code-highlight .k{color:#ffad66}:root.theme-dark .code-highlight .l{color:#d5ff80}:root.theme-dark .code-highlight .n{color:#d4d2c8}:root.theme-dark .code-highlight .o{color:#ffad66}:root.theme-dark .code-highlight .x{color:#d4d2c8}:root.theme-dark .code-highlight .p{color:#d4d2c8}:root.theme-dark .code-highlight .ch{color:#f88f7f;font-style:italic}:root.theme-dark .code-highlight .cm{color:#7e8aa1}:root.theme-dark .code-highlight .cp{color:#ffad66;font-weight:700}:root.theme-dark .code-highlight .cpf{color:#7e8aa1}:root.theme-dark .code-highlight .c1{color:#7e8aa1}:root.theme-dark .code-highlight .cs{color:#7e8aa1;font-style:italic}:root.theme-dark .code-highlight .gd{color:#f88f7f;background-color:#3d1e20}:root.theme-dark .code-highlight .ge{color:#d4d2c8;font-style:italic}:root.theme-dark .code-highlight .ges{color:#d4d2c8}:root.theme-dark .code-highlight .gr{color:#f88f7f}:root.theme-dark .code-highlight .gh{color:#d4d2c8}:root.theme-dark .code-highlight .gi{color:#6ad4af;background-color:#19362c}:root.theme-dark .code-highlight .go{color:#7e8aa1}:root.theme-dark .code-highlight .gp{color:#d4d2c8}:root.theme-dark .code-highlight .gs{color:#d4d2c8;font-weight:700}:root.theme-dark .code-highlight .gu{color:#d4d2c8}:root.theme-dark .code-highlight .gt{color:#f88f7f}:root.theme-dark .code-highlight .kc{color:#ffad66}:root.theme-dark .code-highlight .kd{color:#ffad66}:root.theme-dark .code-highlight .kn{color:#ffad66}:root.theme-dark .code-highlight .kp{color:#ffad66}:root.theme-dark .code-highlight .kr{color:#ffad66}:root.theme-dark .code-highlight .kt{color:#73d0ff}:root.theme-dark .code-highlight .ld{color:#d5ff80}:root.theme-dark .code-highlight .m{color:#dfbfff}:root.theme-dark .code-highlight .s{color:#d5ff80}:root.theme-dark .code-highlight .na{color:#ffd173}:root.theme-dark .code-highlight .nb{color:#ffd173}:root.theme-dark .code-highlight .nc{color:#73d0ff}:root.theme-dark .code-highlight .no{color:#ffd173}:root.theme-dark .code-highlight .nd{color:#7e8aa1;font-weight:700;font-style:italic}:root.theme-dark .code-highlight .ni{color:#95e6cb}:root.theme-dark .code-highlight .ne{color:#73d0ff}:root.theme-dark .code-highlight .nf{color:#ffd173}:root.theme-dark .code-highlight .nl{color:#d4d2c8}:root.theme-dark .code-highlight .nn{color:#d4d2c8}:root.theme-dark .code-highlight .nx{color:#d4d2c8}:root.theme-dark .code-highlight .py{color:#ffd173}:root.theme-dark .code-highlight .nt{color:#5ccfe6}:root.theme-dark .code-highlight .nv{color:#d4d2c8}:root.theme-dark .code-highlight .ow{color:#ffad66}:root.theme-dark .code-highlight .pm{color:#d4d2c8}:root.theme-dark .code-highlight .w{color:#d4d2c8}:root.theme-dark .code-highlight .mb{color:#dfbfff}:root.theme-dark .code-highlight .mf{color:#dfbfff}:root.theme-dark .code-highlight .mh{color:#dfbfff}:root.theme-dark .code-highlight .mi{color:#dfbfff}:root.theme-dark .code-highlight .mo{color:#dfbfff}:root.theme-dark .code-highlight .sa{color:#f29e74}:root.theme-dark .code-highlight .sb{color:#d5ff80}:root.theme-dark .code-highlight .sc{color:#d5ff80}:root.theme-dark .code-highlight .dl{color:#d5ff80}:root.theme-dark .code-highlight .sd{color:#7e8aa1}:root.theme-dark .code-highlight .s2{color:#d5ff80}:root.theme-dark .code-highlight .se{color:#95e6cb}:root.theme-dark .code-highlight .sh{color:#d5ff80}:root.theme-dark .code-highlight .si{color:#95e6cb}:root.theme-dark .code-highlight .sx{color:#95e6cb}:root.theme-dark .code-highlight .sr{color:#95e6cb}:root.theme-dark .code-highlight .s1{color:#d5ff80}:root.theme-dark .code-highlight .ss{color:#dfbfff}:root.theme-dark .code-highlight .bp{color:#5ccfe6}:root.theme-dark .code-highlight .fm{color:#ffd173}:root.theme-dark .code-highlight .vc{color:#d4d2c8}:root.theme-dark .code-highlight .vg{color:#d4d2c8}:root.theme-dark .code-highlight .vi{color:#d4d2c8}:root.theme-dark .code-highlight .vm{color:#d4d2c8}:root.theme-dark .code-highlight .il{color:#dfbfff}:root.theme-dark .code-highlight pre{overflow:auto;margin:0;padding:0 0 .75rem}:root.theme-dark .code-highlight .linenos{-webkit-user-select:none;user-select:none;cursor:default;margin-right:8px;text-align:right}:root.theme-dark .code-highlight .linenos::selection{background:transparent}:root.theme-dark .code-highlight .linenos::-moz-selection{background:transparent}:root.theme-dark .code-highlight span.linenos{color:var(--color-line-number)}html.no-js .hide_if_nojs,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:.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:.1em;overflow:hidden;height:1.2em;line-height:1.2em;border-radius:5px}div.selectable_url pre{display:block;font-size:.8em;word-break:break-all;margin:.1em;-webkit-user-select:all;user-select:all}.dialog-error{position:relative;display:flex;padding:1rem;margin:0 0 1em;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}.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;padding-right:1rem;padding-bottom:0;padding-left:0}.dialog-error h4{margin-top:.3em;margin-bottom:.3em}.dialog-error-block{position:relative;display:flex;padding:1rem;margin:0 0 1em;border:1px solid var(--color-toolkit-dialog-border);text-align:left;border-radius:10px;display:block;color:var(--color-error);background:var(--color-error-background);border-color:var(--color-error)}.dialog-error-block .close{float:right;position:relative;top:-3px;color:inherit;font-size:1.5em}.dialog-error-block ul,.dialog-error-block ol,.dialog-error-block p{margin:1px 0 0}.dialog-error-block table{width:auto}.dialog-error-block tr{vertical-align:text-top}.dialog-error-block tr:hover{background:transparent!important}.dialog-error-block td{padding:0 1em 0 0;padding-right:1rem;padding-bottom:0;padding-left:0}.dialog-error-block h4{margin-top:.3em;margin-bottom:.3em}.dialog-warning{position:relative;display:flex;padding:1rem;margin:0 0 1em;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}.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;padding-right:1rem;padding-bottom:0;padding-left:0}.dialog-warning h4{margin-top:.3em;margin-bottom:.3em}.dialog-modal{position:relative;display:flex;padding:1rem;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:5000}.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}.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;padding-right:1rem;padding-bottom:0;padding-left:0}.dialog-modal h4{margin-top:.3em;margin-bottom:.3em}.dialog-modal h3{margin-top:0}.btn-collapse{cursor:pointer}.scrollx{overflow:auto hidden;display:block;padding:0;margin:0;border:none}.tabs .tabs>label{font-size:90%}ul.tabs{border-bottom:1px solid var(--color-toolkit-tabs-section-border);list-style:none;padding-left:0}ul.tabs li{display:flex}.tabs{display:flex;flex-wrap:wrap;width:100%;min-width:100%}.tabs>*{order:2}.tabs>input[type=radio]{display:none}.tabs>label,.tabs>li>a{order:1;padding:.7em;margin:0 .7em;letter-spacing:.5px;text-transform:uppercase;border:solid var(--color-toolkit-tabs-label-border);border-width:0 0 2px 0;color:unset;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;cursor:pointer}.tabs>label.active,.tabs>li>a.active{border-bottom:2px solid var(--color-categories-item-border-selected);background:var(--color-categories-item-selected);color:var(--color-categories-item-selected-font)}.tabs>label:hover,.tabs>li>a:hover{border-bottom:2px solid var(--color-categories-item-border-selected)}.tabs>section{min-width:100%;padding:.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:-.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:400;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{height:2.4rem;margin-top:0;margin-right:1rem;margin-bottom:0;margin-left:0;padding:.2rem!important;color:var(--color-search-font);font-size:.9rem;z-index:100}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)}}input.checkbox-onoff[type=checkbox]{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;display:inline-block;width:2.5em;height:.7em;box-shadow:none!important;margin:0 16px;border-radius:10px;position:relative}input.checkbox-onoff[type=checkbox]:focus,input.checkbox-onoff[type=checkbox]:hover{outline:none}input.checkbox-onoff[type=checkbox]:focus:after{content:"";position:absolute;width:3.5em;height:1.65em;border:1px solid var(--color-btn-background);border-radius:12px;box-shadow:var(--color-btn-background) 0 0 3px;z-index:1200;top:-.55em;left:-.6em}input.checkbox-onoff[type=checkbox]:before{position:absolute;top:-.5em;display:flex;justify-content:center;align-items:center;font-size:.75em;width:1.875em;height:1.875em;border-radius:50%}input.checkbox-onoff[type=checkbox],input.checkbox-onoff.reversed-checkbox[type=checkbox]:checked{background:var(--color-toolkit-checkbox-onoff-off-background)}input.checkbox-onoff[type=checkbox]:before,input.checkbox-onoff.reversed-checkbox[type=checkbox]:checked:before{left:-.5em;content:"✕";color:var(--color-toolkit-checkbox-onoff-off-mark-color);background:var(--color-toolkit-checkbox-onoff-off-mark-background)}input.checkbox-onoff[type=checkbox]:checked,input.checkbox-onoff.reversed-checkbox[type=checkbox]{background:var(--color-toolkit-checkbox-onoff-on-background)}input.checkbox-onoff[type=checkbox]:checked:before,input.checkbox-onoff.reversed-checkbox[type=checkbox]:before{left:calc(100% - 1.5em);content:"✓";color:var(--color-toolkit-checkbox-onoff-on-mark-color);background:var(--color-toolkit-checkbox-onoff-on-mark-background)}@supports (transform: rotate(-45deg)){input[type=checkbox]:not(.checkbox-onoff){-webkit-appearance:none;-moz-appearance:none;appearance:none;width:20px;height:20px;cursor:pointer;position:relative;top:0;left:0;border:2px solid var(--color-toolkit-checkbox-input-border);border-radius:.3em}input[type=checkbox]:not(.checkbox-onoff):after{content:"";width:9px;height:5px;position:absolute;top:3px;left:2px;border:3px solid var(--color-toolkit-checkbox-label-border);border-top:none;border-right:none;background:transparent;opacity:0;transform:rotate(-45deg)}input[type=checkbox]:not(.checkbox-onoff):checked:after{border-color:var(--color-toolkit-checkbox-input-border);opacity:1}input[type=checkbox][disabled]:not(.checkbox-onoff){border:inherit;background-color:transparent!important;cursor:inherit}input.checkbox[type=checkbox]:not(:checked,[disabled],.checkbox-onoff):hover:after{opacity:.5}}@media screen and (max-width: 50em){.tabs>label{width:100%}}.loader,.loader:after{border-radius:50%;width:2em;height:2em}.loader{margin:1em auto;font-size:10px;position:relative;text-indent:-9999em;border-top:.5em solid var(--color-toolkit-loader-border);border-right:.5em solid var(--color-toolkit-loader-border);border-bottom:.5em solid var(--color-toolkit-loader-border);border-left:.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(0)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes load8{0%{-webkit-transform:rotate(0deg);transform:rotate(0)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.engine-tooltip{display:none;position:absolute;padding:.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:400;z-index:5000;text-align:left;border-radius:10px}th:hover .engine-tooltip,td:hover .engine-tooltip,.engine-tooltip:hover{display:inline-block}.stacked-bar-chart{margin:0;padding:0 .125rem 0 4rem;width:100%;width:-moz-available;width:-webkit-fill-available;width:fill;flex-flow:row nowrap;align-items:center;display:inline-flex}.stacked-bar-chart-value{width:3rem;display:inline-block;position:absolute;padding: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),.9);padding:.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),.3);padding:.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),.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),.9);padding:.4rem 0;width:1px}/*! Autocomplete.js v2.6.3 | license MIT | (c) 2017, Baptiste Donaux | http://autocomplete-js.com */.autocomplete{position:absolute;width:44rem;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:.5rem 1rem}.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);max-height:32rem;overflow-y:auto;z-index:5000;margin-top:3.5rem;border-radius:.8rem}.autocomplete.open:empty{display:none}@media screen and (max-width: 50em){.autocomplete{width:100%}.autocomplete>ul>li{padding:1rem}}#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:13rem;transition:top 64ms ease-in 0s;bottom:0;background:var(--color-result-detail-background);border:1px solid var(--color-result-detail-background);z-index:1000;padding:4rem 3rem 3rem;overflow-y:scroll}#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;height:inherit;max-width:100%;min-height:inherit;max-height:calc(100vh - 42rem);background:inherit}#results.image-detail-open article.result-images[data-vim-selected] .detail .result-images-labels{color:var(--color-result-detail-font);height:19rem}#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:.9rem;margin-bottom:0}#results.image-detail-open article.result-images[data-vim-selected] .detail .result-images-labels p{color:var(--color-result-detail-label-font);font-size:.9rem;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;margin:.8rem 0}#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;line-height:unset;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:hidden 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:.4rem}#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-previous{top:1rem;right:6rem;padding:.4rem .5rem .4rem .3rem}#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-next{top:1rem;right:2rem;padding:.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:1200}#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:.5em solid var(--color-result-detail-loader-border);border-right:.5em solid var(--color-result-detail-loader-border);border-bottom:.5em solid var(--color-result-detail-loader-border);border-left:.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: 79.75em){#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:.13s}@keyframes dialogmodal{0%{opacity:0}50%{opacity:.5;transform:translate(-50%,-50%) scale(1.05)}}input.checkbox-onoff[type=checkbox]:before{transition:left .25s}iframe[src^="https://w.soundcloud.com"]{height:120px}iframe[src^="https://www.deezer.com"]{height:94px}iframe[src^="https://www.mixcloud.com"]{height:250px}iframe[src^="https://bandcamp.com/EmbeddedPlayer"]{height:350px}iframe[src^="https://bandcamp.com/EmbeddedPlayer/track"]{height:120px}iframe[src^="https://genius.com/songs"]{height:65px}.info-page code{font-family:monospace;border-radius:5px;background-color:var(--color-doc-code-background);color:var(--color-doc-code);padding:.2rem;border:0 none}.stats_endpoint .github-issue-button{display:block;font-size:16px}.stats_endpoint .issue-hide{display:none}.stats_endpoint input[type=checked]{position:absolute}.stats_endpoint label{margin:1rem 1rem 1rem 0}.stats_endpoint .step_content{margin:1rem 1rem 1rem 2rem}.stats_endpoint .step1,.stats_endpoint .step2{visibility:hidden}.stats_endpoint .step1_delay{transition:visibility 0s linear 4s}.stats_endpoint #step1:checked~.step1,.stats_endpoint #step2:checked~.step2{visibility:visible}.engine-stats{border-spacing:0;border-collapse:collapse}.engine-stats tr td,.engine-stats tr th{border-bottom:1px solid var(--color-result-border);padding:.25rem}.engine-stats table.engine-tooltip{border-spacing:0;border-collapse:collapse}.engine-stats table.engine-tooltip td,.engine-stats table.engine-tooltip th{border:none}.engine-stats .engine-name{width:20rem}.engine-stats .engine-score{width:7rem;text-align:right}.engine-stats .engine-reliability{text-align:right}table.engine-error th.engine-error-type,table.engine-error td.engine-error-type,failed-test{width:10rem}.engine-errors{margin-top:3rem}.engine-errors table.engine-error{max-width:1280px;margin:1rem 0 3rem;border:1px solid var(--color-result-border);text-align:left}.engine-errors table.engine-error tr th,.engine-errors table.engine-error tr td{padding:.5rem}.engine-errors table.engine-error span.log_parameters{border-right:1px solid solid var(--color-result-border);padding:0 1rem 0 0;margin:0 0 0 .5rem}.bar-chart-value{width:3em;display:inline-block;text-align:right;padding-right:.5rem}.bar-chart-graph{width:calc(100% - 5rem);display:inline-block}.bar-chart-bar{border:3px solid var(--color-bar-chart-primary);margin:1px 0}.bar-chart-serie1{border:3px solid var(--color-bar-chart-primary);margin:1px 0;float:left}.bar-chart-serie2{border:3px solid var(--color-bar-chart-secondary);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}#answers .weather img.thumbnail{padding:0;width:5rem}#answers .weather table{background-color:var(--color-result-keyvalue-table)}#answers .weather tr.odd{background-color:var(--color-result-keyvalue-odd);padding:0}#answers .weather tr.even{background-color:var(--color-result-keyvalue-even);padding:0}#main_index{margin-top:26vh}.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: 79.75em){div.title h1{font-size:1em}#main_index{margin-top:6em}}table{border-collapse:collapse}table th,table td{text-align:center;padding:1rem .5rem;text-align:left}table tr.pref-group th{font-weight:400;text-align:left;background:var(--color-settings-table-group-background)}#main_preferences form{width:100%}#main_preferences fieldset{margin:8px;border:none}#main_preferences legend{margin:0;padding:5px 0 0;display:block;float:left;width:300px}#main_preferences 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:.2rem .4rem;height:2rem;border-radius:5px}#main_preferences input[type=text]:hover,#main_preferences input[type=text]:focus{background-color:var(--color-toolkit-select-background-hover)}#main_preferences div.pref-group{width:100%;font-weight:400;padding:1rem .5rem;text-align:left;background:var(--color-settings-table-group-background)}#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-top:0;margin-right:1rem;margin-bottom:0;margin-left:0}#main_preferences .value select{width:14rem}#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;float:right;width:50%;color:var(--color-settings-engine-description-font);font-size:90%}#main_preferences .bang{text-align:left;border-radius:5px;background-color:var(--color-doc-code-background);color:var(--color-doc-code);padding:.2rem;border:0 none}#main_preferences .category{margin-right:.5rem}#main_preferences .category label{border:2px solid transparent;padding:.2rem .4rem;border-radius:5px}#main_preferences .category input[type=checkbox]:checked+label{border:2px solid var(--color-categories-item-border-selected)}#main_preferences table.table_engines th.name label{cursor:pointer}#main_preferences table.table_engines th.name .engine-tooltip{margin-top:1.8rem;left:calc((100% - 85em)/2 + 10em);max-width:40rem}#main_preferences table.table_engines th.name .engine-tooltip .engine-description{margin-top:.5rem}#main_preferences table.table_engines th.name .engine-tooltip .bang{margin:.3rem}#main_preferences table.table_engines .checkbox-col,#main_preferences table.table_engines .name,#main_preferences table.table_engines .shortcut{text-align:left}#main_preferences table.cookies{width:100%;direction:ltr}#main_preferences table.cookies th,#main_preferences table.cookies td{text-align:left;font-family:monospace;font-size:1rem;padding:.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(2n)>th,#main_preferences table.cookies>tbody>tr:nth-child(2n)>td{background-color:var(--color-settings-tr-hover)}#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:.7em}#main_preferences .preferences_back a{color:var(--color-settings-return-font)}#main_preferences .preferences_back a:first-letter{text-transform:uppercase}#main_preferences #toggle-all-engines-container{width:max-content;margin-left:auto}#main_preferences div.selectable_url pre{width:100%}#main_preferences #copy-hash-container{display:flex;align-items:center;gap:.5rem}#main_preferences #copy-hash-container div.selectable_url pre{width:auto;flex-grow:1}#main_preferences #pref-hash-input{width:100%}@media screen and (max-width: 79.75em){.preferences_back{clear:both}.engine-tooltip{left:10em!important}}#search{padding:0;margin:0}#search_header{padding-top:1.5em;padding-right:2em;padding-left:7rem;margin:0;background:var(--color-header-background);border-bottom:1px solid var(--color-header-border);display:grid;gap:1rem 1.2rem;grid-template-columns:3rem 1fr;grid-template-areas:"logo search" "spacer categories"}.category_checkbox,.category_button{display:inline-block;position:relative;margin-right:1rem;padding:0}.category_checkbox input{display:none}.category_checkbox label{cursor:pointer;padding:.2rem 0;display:inline-flex;text-transform:capitalize;font-size:.9em;border-bottom:2px solid transparent;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.category_checkbox label svg{padding-right:.2rem}.category_checkbox label div.category_name{margin:auto 0}.category_checkbox input[type=checkbox]:checked+label{color:var(--color-categories-item-selected-font);border-bottom:2px solid var(--color-categories-item-border-selected)}button.category_button{background-color:inherit;color:var(--color-base-font);cursor:pointer;padding:.2rem 0;display:inline-flex;align-items:center;text-transform:capitalize;font-size:.9em;border:none;border-bottom:2px solid transparent}button.category_button svg{padding-right:.2rem}button.category_button.selected,button.category_button:active{color:var(--color-categories-item-selected-font);border-bottom:2px solid var(--color-categories-item-border-selected)}.no-js #categories_container:has(button.category_button:focus-within) button.category_button.selected{color:var(--color-base-font);border-bottom:none}.no-js #categories_container:has(button.category_button:focus-within) button.category_button:focus-within{color:var(--color-categories-item-selected-font);border-bottom:2px solid var(--color-categories-item-border-selected)}#search_logo{padding:.5rem 10px 0;grid-area:logo;display:flex;align-items:center;justify-content:center}#search_logo svg{flex:1;width:30px;height:30px;margin:.5rem 0 auto}.search_categories{grid-area:categories}.search_categories .help{display:none}.search_categories:hover .help{display:block;position:absolute;background:var(--color-base-background);padding:1rem .6rem .6rem 0;z-index:1000;width:100%;left:-.1rem}#search_view{padding:.5rem .3rem 0 .5rem;grid-area:search}body.results_endpoint #search_view{padding:.5rem 2.8rem 0 0}.search_box{border-radius:.8rem;width:44rem;display:inline-flex;flex-direction:row;white-space:nowrap;box-shadow:var(--color-search-shadow)}#clear_search{display:block;border-collapse:separate;box-sizing:border-box;width:1.8rem;margin:0;padding:.8rem .2rem;background:none repeat scroll 0 0 var(--color-search-background);border:none;outline:none;color:var(--color-search-font);font-size:1.1rem;z-index:1000}#clear_search:hover{color:var(--color-search-background-hover)}#clear_search.empty *,html.no-js #clear_search.hide_if_nojs{display:none}#q,#send_search{display:block;margin:0;padding:.8rem;background:none repeat scroll 0 0 var(--color-search-background);border:none;outline:none;color:var(--color-search-font);font-size:1.1rem;z-index:100}#q{width:100%;padding-left:1rem;padding-right:0!important;border-radius:.8rem 0 0 .8rem}#q::-ms-clear,#q::-webkit-search-cancel-button{display:none}#send_search{border-radius:0 .8rem .8rem 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)}.search_filters{margin-top:.6rem;margin-right:0;margin-bottom:0;margin-left:10.6rem;display:flex;overflow-x:auto;overscroll-behavior-inline:contain}.search_filters select{background-color:inherit}.search_filters select:hover,.search_filters select:focus{color:var(--color-base-font)}@media screen and (max-width: 79.75em){#search_header{padding:1.5em .5rem 0;column-gap:.5rem}.search_filters{margin-top:.6rem;margin-right:0;margin-bottom:0;margin-left:3.5rem}#categories{font-size:90%;clear:both}}@media screen and (max-width: 79.75em) and (hover: none){#main_index #categories_container,#main_results #categories_container{width:max-content}#main_index #categories_container .category_checkbox,#main_results #categories_container .category_checkbox{display:inline-block;width:auto}#main_index #categories,#main_results #categories{width:100%;text-align:left;overflow:scroll hidden;-webkit-overflow-scrolling:touch}}@media screen and (max-width: 50em){#search_header{width:100%;margin:0;padding:.1rem 0 0;gap:0 0;grid-template-areas:"logo search" "categories categories"}.search_logo{padding:0}.search_box{width:98%;display:flex}#q{width:100%;flex:1}.search_filters{margin:0 10px;padding:.5rem 0}.category{display:inline-block;width:auto;margin:0}.category svg{display:none}.category_checkbox label,.category_button{padding:1rem!important;margin:0!important}#search_view:focus-within{display:block;background-color:var(--color-search-background);position:absolute;top:0;height:100%;width:100%;z-index:2000}#search_view:focus-within .search_box{border-bottom:1px solid var(--color-search-border);width:100%;border-radius:0;box-shadow:none}#search_view:focus-within .search_box #send_search{margin-right:0!important}#search_view:focus-within .search_box *{border:none;border-radius:0;box-shadow:none}#main_results #q:placeholder-shown~#send_search{margin-right:2.6rem;transition:margin .1s}}@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;user-select:none}#categories::-webkit-scrollbar{width:0;height:0}#categories_container{position:relative}.favicon img{height:1.5rem;width:1.5rem;border-radius:10%;background-color:var(--color-favicon-background-color);border:1px solid var(--color-favicon-border-color);display:flex}@media screen and (min-width: 50em){.center-alignment-yes #main_results{--center-page-width: 48rem}}@media screen and (width >= 62rem){.center-alignment-yes #main_results{--center-page-width: 60rem}}@media screen and (min-width: 79.75em){.center-alignment-yes #main_results{--center-page-width: 73rem}}@media screen and (min-width: 50em) and (max-width: 79.75em){.center-alignment-yes #main_results #results{grid-template-columns:60% calc(40% - 5rem);margin-left:0;margin-right:0}.center-alignment-yes #main_results #urls{margin-left:3rem}.center-alignment-yes #main_results #sidebar{margin-right:1rem}.center-alignment-yes #main_results #backToTop{left:calc(60% + 1rem)}}@media screen and (min-width: 79.75em){.center-alignment-yes #main_results{display:flex;flex-direction:column;align-items:center}.center-alignment-yes #main_results #search{width:100%;display:flex;flex-direction:column;align-items:center}.center-alignment-yes #main_results #search_header{grid-template-columns:calc(50% - 4.5rem - var(--center-page-width) / 2) 3rem var(--center-page-width);grid-template-areas:"na logo search" "na spacer categories";column-gap:1.2rem;width:100%;padding-left:0;padding-right:0}.center-alignment-yes #main_results .search_filters{margin-left:.5rem;width:var(--center-page-width)}.center-alignment-yes #main_results #results{margin-right:2rem;margin-left:10rem}.center-alignment-yes #main_results #results.only_template_images,.center-alignment-yes #main_results #results.image-detail-open{align-self:flex-start}.center-alignment-yes #main_results #results:not(.only_template_images,.image-detail-open){margin-left:1.5rem;grid-template-columns:calc(var(--center-page-width) - 5rem - 25rem) 25rem}.center-alignment-yes #main_results #results:not(.only_template_images,.image-detail-open) #backToTop{left:calc(50% - 25rem - 5rem + 1rem + var(--center-page-width) / 2)}.center-alignment-yes #main_results #results .result .content{max-width:inherit}.center-alignment-yes #main_results #urls{margin-left:0}.center-alignment-yes #main_results #sidebar{margin-right:0}}.sxng-icon-set{display:inline-block;vertical-align:bottom;line-height:1;text-decoration:inherit;transform:scale(1)}.sxng-icon-set-small{width:1rem;height:1rem;display:inline-block;vertical-align:bottom;line-height:1;text-decoration:inherit;transform:scale(1)}.sxng-icon-set-big{width:1.5rem;height:1.5rem;display:inline-block;vertical-align:bottom;line-height:1;text-decoration:inherit;transform:scale(1)}html{font-family:sans-serif;font-size:.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;scroll-behavior:smooth}body,main{padding:0;margin:0}body{display:flex;flex-direction:column;height:100vh;margin:0}@supports (height: 100dvh){body{height:100dvh}}main{width:100%;margin-bottom:2rem;flex:1}.page_with_header{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:.9em}.page_with_header .logo{height:40px}input[type=submit],#results button[type=submit],.button{padding:.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,a:visited .highlight{color:var(--color-url-visited-font)}article[data-vim-selected]{background:var(--color-result-vim-selected);border-left:.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.result-images[data-vim-selected] span.title,article.result-images[data-vim-selected] span.source{color:var(--color-result-image-span-font-selected)}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:.125rem 0;padding:1rem;box-sizing:border-box;width:100%;border-left:.2rem solid transparent}.result h3{font-size:1.2rem;word-wrap:break-word;margin:.4rem 0;padding:0}.result h3 a{color:var(--color-result-link-font);font-weight:400;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:smaller!important;margin-left:.5rem}.result .content,.result .stat{font-size:.9em;margin:0;padding:0;max-width:54em;word-wrap:break-word;line-height:1.24}.result .content .highlight,.result .stat .highlight{color:var(--color-result-description-highlight-font);background:inherit;font-weight:700}.result .altlink a{font-size:.9em;margin:0 10px 0 0;padding:5px 10px;border-radius:5px;background:var(--color-show-btn-background);color:var(--color-show-btn-font);cursor:pointer}.result .altlink a:hover{background:var(--color-btn-background);color:var(--color-btn-font)}.result .codelines .highlight{color:inherit;background:inherit;font-weight:400}.result .url_header{display:flex;gap:.5rem}.result .url_wrapper{display:flex;align-items:center;font-size:1rem;color:var(--color-result-url-font);flex-flow:row nowrap;overflow:hidden;margin:0;padding:0}.result .url_wrapper .url_o1{white-space:nowrap;flex-shrink:1;padding-bottom:1px}.result .url_wrapper .url_o1 .url_i1{unicode-bidi:plaintext}.result .url_wrapper .url_o1:after{content:" ";width:1ch;display:inline-block}.result .url_wrapper .url_o2{overflow:hidden;white-space:nowrap;flex:0 1 content;text-align:right;padding-bottom:1px}.result .url_wrapper .url_o2 .url_i2{float:right}.result .published_date,.result .result_length,.result .result_views,.result .result_author,.result .result_shipping,.result .result_source_country{font-size:.8em;color:var(--color-result-publishdate-font)}.result .result_price{font-size:1.2em;color:var(--color-result-description-highlight-font)}.result img.thumbnail{float:left;padding-top:.6rem;padding-right:1rem;width:7rem;height:unset}.result .break{clear:both}.result-paper .attributes,.result-packages .attributes{display:table;border-spacing:.125rem}.result-paper .attributes div,.result-packages .attributes div{display:table-row}.result-paper .attributes div span,.result-packages .attributes div span{font-size:.9rem;margin-top:.25rem;display:table-cell}.result-paper .attributes div span time,.result-packages .attributes div span time{font-size:.9rem}.result-paper .attributes div span:first-child,.result-packages .attributes div span:first-child{color:var(--color-base-font);min-width:10rem}.result-paper .attributes div span:nth-child(2),.result-packages .attributes div span:nth-child(2){color:var(--color-result-publishdate-font)}.result-paper .content,.result-packages .content{margin-top:.25rem}.result-paper .comments,.result-packages .comments{font-size:.9rem;margin:.25rem 0 0;padding:0;word-wrap:break-word;line-height:1.24;font-style:italic}.result-packages .attributes{margin-top:.3rem}.template_group_images{display:flex;flex-wrap:wrap}.template_group_images:after{flex-grow:10;content:""}.category-videos,.category-news,.category-map,.category-music,.category-files,.category-social{border:1px solid var(--color-result-border);margin:0 .5rem 1rem!important;border-radius:10px}.category-social .image{width:auto!important;min-width:48px;min-height:48px;padding:0 5px 25px 0!important}.audio-control audio{width:100%;padding:10px 0 0}.embedded-content iframe{width:100%;padding:10px 0 0}.result-videos img.thumbnail{float:left;padding-top:.6rem;padding-right:1rem;width:20rem;height:unset}.result-videos .content{overflow:hidden}.result-videos .embedded-video iframe{width:100%;aspect-ratio:16 / 9;padding:10px 0 0}@supports not (aspect-ratio: 1 / 1){.result-videos .embedded-video iframe{height:25.3125rem}}.engines{float:right;display:flex;flex-wrap:wrap;justify-content:flex-end;color:var(--color-result-engines-font)}.engines span{font-size:smaller;margin-top:0;margin-bottom:0;margin-right:.5rem;margin-left:0}.small_font{font-size:.8em}.highlight{color:var(--color-result-link-font-highlight);background:inherit}.empty_element{font-style:italic}.result-images{flex-grow:1;padding:.5rem .5rem 3rem;margin:.25rem;border:none!important;height:12rem;width:unset}.result-images>a{position:relative;outline:none}.result-images img{margin:0;padding:0;border:none;height:100%;width:auto;object-fit:cover;vertical-align:bottom;background:var(--color-result-image-background)}.result-images .image_resolution{position:absolute;right:0;bottom:0;background:var(--color-image-resolution-background);padding:.3rem .5rem;font-size:.9rem;color:var(--color-image-resolution-font);border-top-left-radius:.3rem}.result-images span.title,.result-images span.source{display:block;position:absolute;width:100%;font-size:.9rem;color:var(--color-result-image-span-font);padding:.5rem 0 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.result-images span.source{padding:1.8rem 0 0;font-size:.7rem}.result-map img.image{float:right!important;height:100px!important;width:auto!important}.result-map table{font-size:.9em;width:auto;border-collapse:separate;border-spacing: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-top:1rem;margin-right:2rem;margin-bottom:0;margin-left:10rem;display:grid;grid-template:"corrections sidebar" min-content "answers sidebar" min-content "urls sidebar" 1fr "pagination sidebar" min-content / 45rem 25rem;gap:0 5rem}#results #sidebar *:first-child{margin-top:0}#urls{padding:0;grid-area:urls}#apis .wrapper{display:flex}#suggestions .wrapper{display:flex;flex-flow:column;justify-content:flex-end}#suggestions .wrapper form{display:inline-block;flex:1 1 50%}#suggestions input,#infoboxes input{padding:0;margin:3px;font-size:.9em;display:inline-block;background:transparent;color:var(--color-result-search-url-font);cursor:pointer;width:100%;text-overflow:ellipsis;overflow:hidden;text-align:left}#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:.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}#corrections h4,#corrections input[type=submit]{display:inline-block;padding:.5rem;margin:.5rem}#corrections input[type=submit]{font-size:.8rem;border-radius:5px}#infoboxes .title,#suggestions .title,#search_url .title,#engines_msg .title,#apis .title{margin:2em 0 .5em;color:var(--color-base-font)}summary.title{cursor:pointer;padding-top:1em}.sidebar-collapsible{border-top:1px solid var(--color-sidebar-border);padding-bottom:.5em}#sidebar-end-collapsible{border-bottom:1px solid var(--color-sidebar-border);width:100%}#answers{grid-area:answers;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}#answers span{overflow-wrap:anywhere}#answers .answer{display:flex;flex-direction:column}#answers .answer-url{margin:5px 10px 10px auto}#infoboxes form{min-width:210px}#sidebar{grid-area:sidebar;word-wrap:break-word;color:var(--color-sidebar-font)}#sidebar .infobox{margin:10px 0;border:1px solid var(--color-sidebar-border);padding:1rem;font-size:.9em;border-radius:10px}#sidebar .infobox h2{margin:0 0 .5em}#sidebar .infobox img{max-width:100%;max-height:12em;display:block;margin:0 auto;padding:0}#sidebar .infobox dt{font-weight:700}#sidebar .infobox .attributes dl{margin:.5em 0}#sidebar .infobox .attributes dt{display:inline;margin:.5em .25em .5em 0;padding:0}#sidebar .infobox .attributes dd{display:inline;margin:.5em 0;padding:0}#sidebar .infobox input{font-size:1em}#sidebar .infobox br,#sidebar .infobox .attributes,#sidebar .infobox .urls{clear:both}#apis input{font-size:.9em;margin:0 10px 0 0;padding:5px 10px;border-radius:5px;background:var(--color-show-btn-background);color:var(--color-show-btn-font);cursor:pointer}#apis input:hover{background:var(--color-btn-background);color:var(--color-btn-font)}#engines_msg .engine-name{width:10rem}#engines_msg .response-error{color:var(--color-error)}#engines_msg .bar-chart-value{width:auto}#search_url div.selectable_url pre{float:left;width:200em}#search_url button#copy_url{float:right;padding:.4rem;margin-left:.5rem;border-radius:.3rem;display:none}#links_on_top{position:absolute;right:1rem;text-align:right;top:2.7rem;padding:0;border:0;display:flex;align-items:center;font-size:1em;color:var(--color-search-font)}#links_on_top a{display:flex;align-items:center;margin-left:1em}#links_on_top a svg{font-size:1.2em;margin-right:.125em}#links_on_top a,#links_on_top a:link *,#links_on_top a:hover *,#links_on_top a:visited *,#links_on_top a:active *{color:var(--color-search-font)}#pagination{grid-area:pagination}#pagination br{clear:both}.numbered_pagination{display:flex;flex-direction:row;justify-content:center;align-items:center;overflow:hidden}.page_number{background:transparent!important;color:var(--color-result-link-font)!important;text-decoration:underline}.page_number_current{background:transparent;color:var(--color-result-link-visited-font);border:none}#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 .5s;opacity:0;pointer-events:none;border-radius:10px}#backToTop a{display:block;margin:0;padding:.7em}#backToTop a,#backToTop a:visited,#backToTop a:hover,#backToTop a:active{color:var(--color-backtotop-font)}#results.scrolling #backToTop{opacity:1;pointer-events:all}@media screen and (width <= calc(79.75em - .5px)){#links_on_top span{display:none}}@media screen and (width <= 52rem){body.results_endpoint #links_on_top .link_on_top_about,body.results_endpoint #links_on_top .link_on_top_donate{display:none}}@media screen and (min-width: 50em) and (max-width: 79.75em){.center-alignment-no #links_on_top span{display:none}.center-alignment-no .page_with_header{margin:2rem .5rem;width:auto}.center-alignment-no #infoboxes{position:inherit;max-width:inherit}.center-alignment-no #infoboxes .infobox{clear:both}.center-alignment-no #infoboxes .infobox img{float:left;max-width:10em;margin:.5em .5em .5em 0}.center-alignment-no #sidebar{margin:0 .5rem .125rem;padding:0;float:none;border:none;width:auto}.center-alignment-no #sidebar input{border:0}.center-alignment-no .result .thumbnail{max-width:98%}.center-alignment-no .result .url span.url{display:block;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;width:100%}.center-alignment-no .result .engines{float:right;display:flex;flex-wrap:wrap;justify-content:flex-end;padding:3px 0 0}.center-alignment-no .result-images{border-bottom:none!important}.center-alignment-no .image_result,.center-alignment-no .image_result img{max-width:98%}.center-alignment-no #backToTop{display:none}.center-alignment-no #pagination{margin:2rem 0 0!important}.center-alignment-no #main_results div#results{margin:0 auto;justify-content:center;display:grid;grid-template:"corrections" min-content "answers" min-content "sidebar" min-content "urls" 1fr "pagination" min-content / 45rem;gap:0}}#main_results div#results.only_template_images{margin:1rem .5rem 0;display:grid;grid-template:"corrections" min-content "answers" min-content "sidebar" min-content "urls" 1fr "pagination" min-content / 100%;gap:0}#main_results div#results.only_template_images #sidebar{display:none}#main_results div#results.only_template_images #urls{margin:0;display:flex;flex-wrap:wrap}#main_results div#results.only_template_images #urls:after{flex-grow:10;content:""}#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){#links_on_top span{display:none}.page_with_header{margin:2rem .5rem;width:auto}#infoboxes{position:inherit;max-width:inherit}#infoboxes .infobox{clear:both}#infoboxes .infobox img{float:left;max-width:10em;margin:.5em .5em .5em 0}#sidebar{margin:0 .5rem .125rem;padding:0;float:none;border:none;width:auto}#sidebar input{border:0}.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;display:flex;flex-wrap:wrap;justify-content:flex-end;padding:3px 0 0}.result-images{border-bottom:none!important}.image_result,.image_result img{max-width:98%}#backToTop{display:none}#pagination{margin:2rem 0 0!important}#main_results div#results{margin:0 auto;justify-content:center;display:grid;grid-template:"corrections" min-content "answers" min-content "sidebar" min-content "urls" 1fr "pagination" min-content / 45rem;gap:0}html{background-color:var(--color-base-background-mobile)}#main_results div#results{grid-template-columns:100%;margin:0 auto}#links_on_top{top:1.4rem;right:10px}#main_index #links_on_top{top:.5rem;right:.5rem}#results{margin:0;padding:0}#pagination{margin:2rem 1rem 0!important}article[data-vim-selected]{border:1px solid var(--color-result-vim-arrow);border-radius:10px}.result{background:var(--color-result-background);border:1px solid var(--color-result-background);margin:1rem 2%;width:96%;border-radius:10px}.result-images{margin:0;height:10rem;background:var(--color-base-background-mobile);width:unset}.infobox{border:none!important;background-color:var(--color-sidebar-background)}.numbered_pagination{display:none}.result-paper .attributes,.result-packages .attributes,.result-paper .attributes div,.result-packages .attributes div{display:block}.result-paper .attributes div span,.result-packages .attributes div span{display:inline}.result-paper .attributes div span:first-child,.result-packages .attributes div span:first-child{font-weight:700}.result-paper .attributes div span:nth-child(2),.result-packages .attributes div span:nth-child(2){margin-left:.5rem}}@media screen and (max-width: 35em){.result-videos img.thumbnail{float:none!important}.result-videos .content{overflow:inherit}}pre code{white-space:pre-wrap}#main_results .result-keyvalue caption{padding:.8rem .5rem;font-style:italic;caption-side:bottom;background-color:var(--color-result-keyvalue-table)}#main_results .result-keyvalue .col-key{width:25%}#main_results .result-keyvalue table{word-break:break-word;table-layout:fixed;width:100%;background-color:var(--color-result-keyvalue-table)}#main_results .result-keyvalue tr.odd{background-color:var(--color-result-keyvalue-odd)}#main_results .result-keyvalue tr.even{background-color:var(--color-result-keyvalue-even)}#main_results .result-keyvalue th,#main_results .result-keyvalue td{padding:.3rem .5rem}
diff --git a/searx/templates/simple/answer/weather.html b/searx/templates/simple/answer/weather.html
new file mode 100644
index 000000000..d66ff3305
--- /dev/null
+++ b/searx/templates/simple/answer/weather.html
@@ -0,0 +1,55 @@
+{% macro show_weather_data(answer, data) %}
+
+
+
+
+ {%- if data.url %} {% endif -%}
+ |
+
+
+ {{ _("Condition") }}: |
+ {{ _(data.condition.capitalize()) }} |
+ {{ _("Feels Like") }}: |
+ {{ data.feels_like }} |
+
+
+ {{ _("Temperature") }}: |
+ {{ data.temperature }} |
+ {{ _("Wind") }}: |
+ {{ data.wind_from }}: {{ data.wind_speed }} |
+
+
+ {{_("Humidity")}}: |
+ {{ data.humidity }} |
+ {{ _("Pressure") }}: |
+ {{ data.pressure }} |
+
+
+
+{% endmacro %}
+
+
+
+ {%- if answer.url -%}
+
+ {{ answer.service }}
+
+ {%- else -%}
+ {{ answer.service }}
+ {% endif -%}
+ {{ answer.current.summary }}
+
+ {{ show_weather_data(answer, answer.current) }}
+
+
+ {%- if answer.forecasts -%}
+
+ {%- for forecast in answer.forecasts -%}
+
{{ forecast.time }}
+ {{ show_weather_data(answer, forecast) }}
+ {%- endfor -%}
+
+ {%- endif -%}
+
+
diff --git a/searx/weather.py b/searx/weather.py
new file mode 100644
index 000000000..341286144
--- /dev/null
+++ b/searx/weather.py
@@ -0,0 +1,461 @@
+# SPDX-License-Identifier: AGPL-3.0-or-later
+"""Implementations used for weather conditions and forecast."""
+# pylint: disable=too-few-public-methods
+from __future__ import annotations
+
+__all__ = [
+ "symbol_url",
+ "Temperature",
+ "Pressure",
+ "WindSpeed",
+ "RelativeHumidity",
+ "Compass",
+ "WeatherConditionType",
+]
+
+import typing
+
+import base64
+import babel
+import babel.numbers
+
+from searx import network
+from searx.cache import ExpireCache, ExpireCacheCfg
+from searx.extended_types import sxng_request
+from searx.wikidata_units import convert_to_si, convert_from_si
+
+WEATHER_SYMBOL_CACHE: ExpireCache = None # type: ignore
+"""A simple cache for weather condition icons."""
+
+YR_WEATHER_SYMBOL_URL = "https://raw.githubusercontent.com/nrkno/yr-weather-symbols/refs/heads/master/symbols/outline"
+
+
+def _get_locale_tag() -> str:
+ # pylint: disable=import-outside-toplevel,disable=cyclic-import
+ from searx import query
+ from searx.preferences import ClientPref
+
+ query = query.RawTextQuery(sxng_request.form.get("q", ""), [])
+ if query.languages and query.languages[0] not in ["all", "auto"]:
+ return query.languages[0]
+
+ search_lang = sxng_request.form.get("language")
+ if search_lang and search_lang not in ["all", "auto"]:
+ return search_lang
+
+ client_pref = ClientPref.from_http_request(sxng_request)
+ search_lang = client_pref.locale_tag
+ if search_lang and search_lang not in ["all", "auto"]:
+ return search_lang
+ return "en"
+
+
+def symbol_url(condition: WeatherConditionType) -> str | None:
+ """Returns ``data:`` URL for the weather condition symbol or ``None`` if
+ the condition is not of type :py:obj:`WeatherConditionType`.
+
+ If symbol (SVG) is not already in the :py:obj:`WEATHER_SYMBOL_CACHE` its
+ fetched from https://github.com/nrkno/yr-weather-symbols
+
+ .. todo::
+
+ Symbols for darkmode/lightmode .. and day/night symnbols (for latter we
+ need a geopint / critical)
+ """
+ global WEATHER_SYMBOL_CACHE # pylint: disable=global-statement
+
+ fname = YR_WEATHER_SYMBOL_MAP.get(condition)
+ if fname is None:
+ return None
+
+ if WEATHER_SYMBOL_CACHE is None:
+ WEATHER_SYMBOL_CACHE = ExpireCache.build_cache(
+ ExpireCacheCfg(
+ name="WEATHER_SYMBOL_CACHE",
+ MAX_VALUE_LEN=1024 * 200, # max. 200kB per icon (icons have most often 10-20kB)
+ )
+ )
+
+ origin_url = f"{YR_WEATHER_SYMBOL_URL}/{fname}.svg"
+ data_url = WEATHER_SYMBOL_CACHE.get(origin_url)
+ if data_url is not None:
+ return data_url
+
+ response = network.get(origin_url, timeout=3)
+ if response and response.status_code == 200:
+ mimetype = response.headers['Content-Type']
+ data_url = f"data:{mimetype};base64,{str(base64.b64encode(response.content), 'utf-8')}"
+ WEATHER_SYMBOL_CACHE.set(key=origin_url, value=data_url, expire=None)
+ return data_url
+
+
+class Temperature:
+ """Class for converting temperature units and for string representation of
+ measured values."""
+
+ si_name = "Q11579"
+
+ Units = typing.Literal["°C", "°F", "K"]
+ """Supported temperature units."""
+
+ units = list(typing.get_args(Units))
+
+ def __init__(self, value: float, unit: Units):
+ if unit not in self.units:
+ raise ValueError(f"invalid unit: {unit}")
+ self.si: float = convert_to_si( # pylint: disable=invalid-name
+ si_name=self.si_name,
+ symbol=unit,
+ value=value,
+ )
+
+ def __str__(self):
+ return self.l10n()
+
+ def value(self, unit: Units) -> float:
+ return convert_from_si(si_name=self.si_name, symbol=unit, value=self.si)
+
+ def l10n(
+ self,
+ unit: Units | None = None,
+ locale: babel.Locale | None = None,
+ template: str = "{value} {unit}",
+ num_pattern: str = "#,##0",
+ ) -> str:
+ """Localized representation of a measured value.
+
+ If the ``unit`` is not set, an attempt is made to determine a ``unit``
+ matching the territory of the ``locale``. If the locale is not set, an
+ attempt is made to determine it from the HTTP request.
+
+ The value is converted into the respective unit before formatting.
+
+ The argument ``num_pattern`` is used to determine the string formatting
+ of the numerical value:
+
+ - https://babel.pocoo.org/en/latest/numbers.html#pattern-syntax
+ - https://unicode.org/reports/tr35/tr35-numbers.html#Number_Format_Patterns
+
+ The argument ``template`` specifies how the **string formatted** value
+ and unit are to be arranged.
+
+ - `Format Specification Mini-Language
+ `.
+ """
+ if locale is None:
+ locale = babel.Locale.parse(_get_locale_tag(), sep='-')
+
+ if unit is None: # unit by territory
+ unit = "°C"
+ if locale.territory in ["US"]:
+ unit = "°F"
+ val_str = babel.numbers.format_decimal(self.value(unit), locale=locale, format=num_pattern)
+ return template.format(value=val_str, unit=unit)
+
+
+class Pressure:
+ """Class for converting pressure units and for string representation of
+ measured values."""
+
+ si_name = "Q44395"
+
+ Units = typing.Literal["Pa", "hPa", "cm Hg", "bar"]
+ """Supported units."""
+
+ units = list(typing.get_args(Units))
+
+ def __init__(self, value: float, unit: Units):
+ if unit not in self.units:
+ raise ValueError(f"invalid unit: {unit}")
+ # pylint: disable=invalid-name
+ self.si: float = convert_to_si(si_name=self.si_name, symbol=unit, value=value)
+
+ def __str__(self):
+ return self.l10n()
+
+ def value(self, unit: Units) -> float:
+ return convert_from_si(si_name=self.si_name, symbol=unit, value=self.si)
+
+ def l10n(
+ self,
+ unit: Units | None = None,
+ locale: babel.Locale | None = None,
+ template: str = "{value} {unit}",
+ num_pattern: str = "#,##0",
+ ) -> str:
+ if locale is None:
+ locale = babel.Locale.parse(_get_locale_tag(), sep='-')
+
+ if unit is None: # unit by territory?
+ unit = "hPa"
+
+ val_str = babel.numbers.format_decimal(self.value(unit), locale=locale, format=num_pattern)
+ return template.format(value=val_str, unit=unit)
+
+
+class WindSpeed:
+ """Class for converting speed or velocity units and for string
+ representation of measured values.
+
+ .. hint::
+
+ Working with unit ``Bft`` (:py:obj:`searx.wikidata_units.Beaufort`) will
+ throw a :py:obj:`ValueError` for egative values or values greater 16 Bft
+ (55.6 m/s)
+ """
+
+ si_name = "Q182429"
+
+ Units = typing.Literal["m/s", "km/h", "kn", "mph", "mi/h", "Bft"]
+ """Supported units."""
+
+ units = list(typing.get_args(Units))
+
+ def __init__(self, value: float, unit: Units):
+ if unit not in self.units:
+ raise ValueError(f"invalid unit: {unit}")
+ # pylint: disable=invalid-name
+ self.si: float = convert_to_si(si_name=self.si_name, symbol=unit, value=value)
+
+ def __str__(self):
+ return self.l10n()
+
+ def value(self, unit: Units) -> float:
+ return convert_from_si(si_name=self.si_name, symbol=unit, value=self.si)
+
+ def l10n(
+ self,
+ unit: Units | None = None,
+ locale: babel.Locale | None = None,
+ template: str = "{value} {unit}",
+ num_pattern: str = "#,##0",
+ ) -> str:
+ if locale is None:
+ locale = babel.Locale.parse(_get_locale_tag(), sep='-')
+
+ if unit is None: # unit by territory?
+ unit = "m/s"
+
+ val_str = babel.numbers.format_decimal(self.value(unit), locale=locale, format=num_pattern)
+ return template.format(value=val_str, unit=unit)
+
+
+class RelativeHumidity:
+ """Amount of relative humidity in the air. The unit is ``%``"""
+
+ Units = typing.Literal["%"]
+ """Supported unit."""
+
+ units = list(typing.get_args(Units))
+
+ def __init__(self, humidity: float):
+ self.humidity = humidity
+
+ def __str__(self):
+ return self.l10n()
+
+ def value(self) -> float:
+ return self.humidity
+
+ def l10n(
+ self,
+ locale: babel.Locale | None = None,
+ template: str = "{value}{unit}",
+ num_pattern: str = "#,##0",
+ ) -> str:
+ if locale is None:
+ locale = babel.Locale.parse(_get_locale_tag(), sep='-')
+
+ unit = "%"
+ val_str = babel.numbers.format_decimal(self.value(), locale=locale, format=num_pattern)
+ return template.format(value=val_str, unit=unit)
+
+
+class Compass:
+ """Class for converting compass points and azimuth values (360°)"""
+
+ Units = typing.Literal["°", "Point"]
+
+ Point = typing.Literal[
+ "N", "NNE", "NE", "ENE", "E", "ESE", "SE", "SSE", "S", "SSW", "SW", "WSW", "W", "WNW", "NW", "NNW"
+ ]
+ """Compass point type definition"""
+
+ TURN = 360.0
+ """Full turn (360°)"""
+
+ POINTS = list(typing.get_args(Point))
+ """Compass points."""
+
+ RANGE = TURN / len(POINTS)
+ """Angle sector of a compass point"""
+
+ def __init__(self, azimuth: float | int | Point):
+ if isinstance(azimuth, str):
+ if azimuth not in self.POINTS:
+ raise ValueError(f"Invalid compass point: {azimuth}")
+ azimuth = self.POINTS.index(azimuth) * self.RANGE
+ self.azimuth = azimuth % self.TURN
+
+ def __str__(self):
+ return self.l10n()
+
+ def value(self, unit: Units):
+ if unit == "Point":
+ return self.point(self.azimuth)
+ if unit == "°":
+ return self.azimuth
+ raise ValueError(f"unknown unit: {unit}")
+
+ @classmethod
+ def point(cls, azimuth: float | int) -> Point:
+ """Returns the compass point to an azimuth value."""
+ azimuth = azimuth % cls.TURN
+ # The angle sector of a compass point starts 1/2 sector range before
+ # and after compass point (example: "N" goes from -11.25° to +11.25°)
+ azimuth = azimuth - cls.RANGE / 2
+ idx = int(azimuth // cls.RANGE)
+ return cls.POINTS[idx]
+
+ def l10n(
+ self,
+ unit: Units = "Point",
+ locale: babel.Locale | None = None,
+ template: str = "{value}{unit}",
+ num_pattern: str = "#,##0",
+ ) -> str:
+ if locale is None:
+ locale = babel.Locale.parse(_get_locale_tag(), sep='-')
+
+ if unit == "Point":
+ val_str = self.value(unit)
+ return template.format(value=val_str, unit="")
+
+ val_str = babel.numbers.format_decimal(self.value(unit), locale=locale, format=num_pattern)
+ return template.format(value=val_str, unit=unit)
+
+
+WeatherConditionType = typing.Literal[
+ # The capitalized string goes into to i18n/l10n (en: "Clear sky" -> de: "wolkenloser Himmel")
+ "clear sky",
+ "cloudy",
+ "fair",
+ "fog",
+ "heavy rain and thunder",
+ "heavy rain showers and thunder",
+ "heavy rain showers",
+ "heavy rain",
+ "heavy sleet and thunder",
+ "heavy sleet showers and thunder",
+ "heavy sleet showers",
+ "heavy sleet",
+ "heavy snow and thunder",
+ "heavy snow showers and thunder",
+ "heavy snow showers",
+ "heavy snow",
+ "light rain and thunder",
+ "light rain showers and thunder",
+ "light rain showers",
+ "light rain",
+ "light sleet and thunder",
+ "light sleet showers and thunder",
+ "light sleet showers",
+ "light sleet",
+ "light snow and thunder",
+ "light snow showers and thunder",
+ "light snow showers",
+ "light snow",
+ "partly cloudy",
+ "rain and thunder",
+ "rain showers and thunder",
+ "rain showers",
+ "rain",
+ "sleet and thunder",
+ "sleet showers and thunder",
+ "sleet showers",
+ "sleet",
+ "snow and thunder",
+ "snow showers and thunder",
+ "snow showers",
+ "snow",
+]
+"""Standardized designations for weather conditions. The designators were
+taken from a collaboration between NRK and Norwegian Meteorological Institute
+(yr.no_). `Weather symbols`_ can be assigned to the identifiers
+(weathericons_) and they are included in the translation (i18n/l10n
+:origin:`searx/searxng.msg`).
+
+.. _yr.no: https://www.yr.no/en
+.. _Weather symbols: https://github.com/nrkno/yr-weather-symbols
+.. _weathericons: https://github.com/metno/weathericons
+"""
+
+YR_WEATHER_SYMBOL_MAP = {
+ "clear sky": "01d", # 01d clearsky_day
+ "fair": "02d", # 02d fair_day
+ "partly cloudy": "03d", # 03d partlycloudy_day
+ "cloudy": "04", # 04 cloudy
+ "light rain showers": "40d", # 40d lightrainshowers_day
+ "rain showers": "05d", # 05d rainshowers_day
+ "heavy rain showers": "41d", # 41d heavyrainshowers_day
+ "light rain showers and thunder": "24d", # 24d lightrainshowersandthunder_day
+ "rain showers and thunder": "06d", # 06d rainshowersandthunder_day
+ "heavy rain showers and thunder": "25d", # 25d heavyrainshowersandthunder_day
+ "light sleet showers": "42d", # 42d lightsleetshowers_day
+ "sleet showers": "07d", # 07d sleetshowers_day
+ "heavy sleet showers": "43d", # 43d heavysleetshowers_day
+ "light sleet showers and thunder": "26d", # 26d lightssleetshowersandthunder_day
+ "sleet showers and thunder": "20d", # 20d sleetshowersandthunder_day
+ "heavy sleet showers and thunder": "27d", # 27d heavysleetshowersandthunder_day
+ "light snow showers": "44d", # 44d lightsnowshowers_day
+ "snow showers": "08d", # 08d snowshowers_day
+ "heavy snow showers": "45d", # 45d heavysnowshowers_day
+ "light snow showers and thunder": "28d", # 28d lightssnowshowersandthunder_day
+ "snow showers and thunder": "21d", # 21d snowshowersandthunder_day
+ "heavy snow showers and thunder": "29d", # 29d heavysnowshowersandthunder_day
+ "light rain": "46", # 46 lightrain
+ "rain": "09", # 09 rain
+ "heavy rain": "10", # 10 heavyrain
+ "light rain and thunder": "30", # 30 lightrainandthunder
+ "rain and thunder": "22", # 22 rainandthunder
+ "heavy rain and thunder": "11", # 11 heavyrainandthunder
+ "light sleet": "47", # 47 lightsleet
+ "sleet": "12", # 12 sleet
+ "heavy sleet": "48", # 48 heavysleet
+ "light sleet and thunder": "31", # 31 lightsleetandthunder
+ "sleet and thunder": "23", # 23 sleetandthunder
+ "heavy sleet and thunder": "32", # 32 heavysleetandthunder
+ "light snow": "49", # 49 lightsnow
+ "snow": "13", # 13 snow
+ "heavy snow": "50", # 50 heavysnow
+ "light snow and thunder": "33", # 33 lightsnowandthunder
+ "snow and thunder": "14", # 14 snowandthunder
+ "heavy snow and thunder": "34", # 34 heavysnowandthunder
+ "fog": "15", # 15 fog
+}
+"""Map a :py:obj:`WeatherConditionType` to a `YR weather symbol`_
+
+.. code::
+
+ base_url = "https://raw.githubusercontent.com/nrkno/yr-weather-symbols/refs/heads/master/symbols"
+ icon_url = f"{base_url}/outline/{YR_WEATHER_SYMBOL_MAP['sleet showers']}.svg"
+
+.. _YR weather symbol: https://github.com/nrkno/yr-weather-symbols/blob/master/locales/en.json
+
+"""
+
+if __name__ == "__main__":
+
+ # test: fetch all symbols of the type catalog ..
+ for c in typing.get_args(WeatherConditionType):
+ symbol_url(condition=c)
+
+ title = "cached weather condition symbols"
+ print(title)
+ print("=" * len(title))
+ print(WEATHER_SYMBOL_CACHE.state().report())
+ print()
+ title = f"properties of {WEATHER_SYMBOL_CACHE.cfg.name}"
+ print(title)
+ print("=" * len(title))
+ print(str(WEATHER_SYMBOL_CACHE.properties)) # type: ignore
diff --git a/searx/wikidata_units.py b/searx/wikidata_units.py
new file mode 100644
index 000000000..821476b80
--- /dev/null
+++ b/searx/wikidata_units.py
@@ -0,0 +1,291 @@
+# SPDX-License-Identifier: AGPL-3.0-or-later
+"""Unit conversion on the basis of `SPARQL/WIKIDATA Precision, Units and
+Coordinates`_
+
+.. _SPARQL/WIKIDATA Precision, Units and Coordinates:
+ https://en.wikibooks.org/wiki/SPARQL/WIKIDATA_Precision,_Units_and_Coordinates#Quantities
+"""
+
+__all__ = ["convert_from_si", "convert_to_si", "symbol_to_si"]
+
+import collections
+
+from searx import data
+from searx.engines import wikidata
+
+
+class Beaufort:
+ """The mapping of the Beaufort_ contains values from 0 to 16 (55.6 m/s),
+ wind speeds greater than 200km/h (55.6 m/s) are given as 17 Bft. Thats why
+ a value of 17 Bft cannot be converted to SI.
+
+ .. hint::
+
+ Negative values or values greater 16 Bft (55.6 m/s) will throw a
+ :py:obj:`ValueError`.
+
+ _Beaufort: https://en.wikipedia.org/wiki/Beaufort_scale
+ """
+
+ # fmt: off
+ scale: list[float] = [
+ 0.2, 1.5, 3.3, 5.4, 7.9,
+ 10.7, 13.8, 17.1, 20.7, 24.4,
+ 28.4, 32.6, 32.7, 41.1, 45.8,
+ 50.8, 55.6
+ ]
+ # fmt: on
+
+ @classmethod
+ def from_si(cls, value) -> float:
+ if value < 0 or value > 55.6:
+ raise ValueError(f"invalid value {value} / the Beaufort scales from 0 to 16 (55.6 m/s)")
+ bft = 0
+ for bft, mps in enumerate(cls.scale):
+ if mps >= value:
+ break
+ return bft
+
+ @classmethod
+ def to_si(cls, value) -> float:
+ idx = round(value)
+ if idx < 0 or idx > 16:
+ raise ValueError(f"invalid value {value} / the Beaufort scales from 0 to 16 (55.6 m/s)")
+ return cls.scale[idx]
+
+
+ADDITIONAL_UNITS = [
+ {
+ "si_name": "Q11579",
+ "symbol": "°C",
+ "to_si": lambda val: val + 273.15,
+ "from_si": lambda val: val - 273.15,
+ },
+ {
+ "si_name": "Q11579",
+ "symbol": "°F",
+ "to_si": lambda val: (val + 459.67) * 5 / 9,
+ "from_si": lambda val: (val * 9 / 5) - 459.67,
+ },
+ {
+ "si_name": "Q182429",
+ "symbol": "Bft",
+ "to_si": Beaufort.to_si,
+ "from_si": Beaufort.from_si,
+ },
+]
+"""Additional items to convert from a measure unit to a SI unit (vice versa).
+
+.. code:: python
+
+ {
+ "si_name": "Q11579", # Wikidata item ID of the SI unit (Kelvin)
+ "symbol": "°C", # symbol of the measure unit
+ "to_si": lambda val: val + 273.15, # convert measure value (val) to SI unit
+ "from_si": lambda val: val - 273.15, # convert SI value (val) measure unit
+ },
+ {
+ "si_name": "Q11573",
+ "symbol": "mi",
+ "to_si": 1609.344, # convert measure value (val) to SI unit
+ "from_si": 1 / 1609.344 # convert SI value (val) measure unit
+ },
+
+The values of ``to_si`` and ``from_si`` can be of :py:obj:`float` (a multiplier)
+or a callable_ (val in / converted value returned).
+
+.. _callable: https://docs.python.org/3/glossary.html#term-callable
+"""
+
+
+ALIAS_SYMBOLS = {
+ '°C': ('C',),
+ '°F': ('F',),
+ 'mi': ('L',),
+ 'Bft': ('bft',),
+}
+"""Alias symbols for known unit of measure symbols / by example::
+
+ '°C': ('C', ...), # list of alias symbols for °C (Q69362731)
+ '°F': ('F', ...), # list of alias symbols for °F (Q99490479)
+ 'mi': ('L',), # list of alias symbols for mi (Q253276)
+"""
+
+
+SYMBOL_TO_SI = []
+UNITS_BY_SI_NAME: dict = {}
+
+
+def convert_from_si(si_name: str, symbol: str, value: float | int) -> float:
+ from_si = units_by_si_name(si_name)[symbol][pos_from_si]
+ if isinstance(from_si, (float, int)):
+ value = float(value) * from_si
+ else:
+ value = from_si(float(value))
+ return value
+
+
+def convert_to_si(si_name: str, symbol: str, value: float | int) -> float:
+ to_si = units_by_si_name(si_name)[symbol][pos_to_si]
+ if isinstance(to_si, (float, int)):
+ value = float(value) * to_si
+ else:
+ value = to_si(float(value))
+ return value
+
+
+def units_by_si_name(si_name):
+
+ global UNITS_BY_SI_NAME # pylint: disable=global-statement,global-variable-not-assigned
+ if UNITS_BY_SI_NAME:
+ return UNITS_BY_SI_NAME[si_name]
+
+ # build the catalog ..
+ for item in symbol_to_si():
+
+ item_si_name = item[pos_si_name]
+ item_symbol = item[pos_symbol]
+
+ by_symbol = UNITS_BY_SI_NAME.get(item_si_name)
+ if by_symbol is None:
+ by_symbol = {}
+ UNITS_BY_SI_NAME[item_si_name] = by_symbol
+ by_symbol[item_symbol] = item
+
+ return UNITS_BY_SI_NAME[si_name]
+
+
+pos_symbol = 0 # (alias) symbol
+pos_si_name = 1 # si_name
+pos_from_si = 2 # from_si
+pos_to_si = 3 # to_si
+pos_symbol = 4 # standardized symbol
+
+
+def symbol_to_si():
+ """Generates a list of tuples, each tuple is a measure unit and the fields
+ in the tuple are:
+
+ 0. Symbol of the measure unit (e.g. 'mi' for measure unit 'miles' Q253276)
+
+ 1. SI name of the measure unit (e.g. Q11573 for SI unit 'metre')
+
+ 2. Factor to get SI value from measure unit (e.g. 1mi is equal to SI 1m
+ multiplied by 1609.344)
+
+ 3. Factor to get measure value from from SI value (e.g. SI 100m is equal to
+ 100mi divided by 1609.344)
+
+ The returned list is sorted, the first items are created from
+ ``WIKIDATA_UNITS``, the second group of items is build from
+ :py:obj:`ADDITIONAL_UNITS` and items created from :py:obj:`ALIAS_SYMBOLS`.
+
+ If you search this list for a symbol, then a match with a symbol from
+ Wikidata has the highest weighting (first hit in the list), followed by the
+ symbols from the :py:obj:`ADDITIONAL_UNITS` and the lowest weighting is
+ given to the symbols resulting from the aliases :py:obj:`ALIAS_SYMBOLS`.
+
+ """
+
+ global SYMBOL_TO_SI # pylint: disable=global-statement
+ if SYMBOL_TO_SI:
+ return SYMBOL_TO_SI
+
+ # filter out units which can't be normalized to a SI unit and filter out
+ # units without a symbol / arcsecond does not have a symbol
+ # https://www.wikidata.org/wiki/Q829073
+
+ for item in data.WIKIDATA_UNITS.values():
+ if item['to_si_factor'] and item['symbol']:
+ SYMBOL_TO_SI.append(
+ (
+ item['symbol'],
+ item['si_name'],
+ 1 / item['to_si_factor'], # from_si
+ item['to_si_factor'], # to_si
+ item['symbol'],
+ )
+ )
+
+ for item in ADDITIONAL_UNITS:
+ SYMBOL_TO_SI.append(
+ (
+ item['symbol'],
+ item['si_name'],
+ item['from_si'],
+ item['to_si'],
+ item['symbol'],
+ )
+ )
+
+ alias_items = []
+ for item in SYMBOL_TO_SI:
+ for alias in ALIAS_SYMBOLS.get(item[0], ()):
+ alias_items.append(
+ (
+ alias,
+ item[1],
+ item[2], # from_si
+ item[3], # to_si
+ item[0], # origin unit
+ )
+ )
+ SYMBOL_TO_SI = SYMBOL_TO_SI + alias_items
+ return SYMBOL_TO_SI
+
+
+# the response contains duplicate ?item with the different ?symbol
+# "ORDER BY ?item DESC(?rank) ?symbol" provides a deterministic result
+# even if a ?item has different ?symbol of the same rank.
+# A deterministic result
+# see:
+# * https://www.wikidata.org/wiki/Help:Ranking
+# * https://www.mediawiki.org/wiki/Wikibase/Indexing/RDF_Dump_Format ("Statement representation" section)
+# * https://w.wiki/32BT
+# * https://en.wikibooks.org/wiki/SPARQL/WIKIDATA_Precision,_Units_and_Coordinates#Quantities
+# see the result for https://www.wikidata.org/wiki/Q11582
+# there are multiple symbols the same rank
+
+SARQL_REQUEST = """
+SELECT DISTINCT ?item ?symbol ?tosi ?tosiUnit
+WHERE
+{
+ ?item wdt:P31/wdt:P279 wd:Q47574 .
+ ?item p:P5061 ?symbolP .
+ ?symbolP ps:P5061 ?symbol ;
+ wikibase:rank ?rank .
+ OPTIONAL {
+ ?item p:P2370 ?tosistmt .
+ ?tosistmt psv:P2370 ?tosinode .
+ ?tosinode wikibase:quantityAmount ?tosi .
+ ?tosinode wikibase:quantityUnit ?tosiUnit .
+ }
+ FILTER(LANG(?symbol) = "en").
+}
+ORDER BY ?item DESC(?rank) ?symbol
+"""
+
+
+def fetch_units():
+ """Fetch units from Wikidata. Function is used to update persistence of
+ :py:obj:`searx.data.WIKIDATA_UNITS`."""
+
+ results = collections.OrderedDict()
+ response = wikidata.send_wikidata_query(SARQL_REQUEST)
+ for unit in response['results']['bindings']:
+
+ symbol = unit['symbol']['value']
+ name = unit['item']['value'].rsplit('/', 1)[1]
+ si_name = unit.get('tosiUnit', {}).get('value', '')
+ if si_name:
+ si_name = si_name.rsplit('/', 1)[1]
+
+ to_si_factor = unit.get('tosi', {}).get('value', '')
+ if name not in results:
+ # ignore duplicate: always use the first one
+ results[name] = {
+ 'symbol': symbol,
+ 'si_name': si_name if si_name else None,
+ 'to_si_factor': float(to_si_factor) if to_si_factor else None,
+ }
+ return results
diff --git a/searxng_extra/update/update_wikidata_units.py b/searxng_extra/update/update_wikidata_units.py
index 96326874a..d815dc85d 100755
--- a/searxng_extra/update/update_wikidata_units.py
+++ b/searxng_extra/update/update_wikidata_units.py
@@ -8,76 +8,15 @@ Output file: :origin:`searx/data/wikidata_units.json` (:origin:`CI Update data
"""
import json
-import collections
-# set path
-from os.path import join
-
-from searx import searx_dir
from searx.engines import wikidata, set_loggers
from searx.data import data_dir
+from searx.wikidata_units import fetch_units
DATA_FILE = data_dir / 'wikidata_units.json'
-
set_loggers(wikidata, 'wikidata')
-# the response contains duplicate ?item with the different ?symbol
-# "ORDER BY ?item DESC(?rank) ?symbol" provides a deterministic result
-# even if a ?item has different ?symbol of the same rank.
-# A deterministic result
-# see:
-# * https://www.wikidata.org/wiki/Help:Ranking
-# * https://www.mediawiki.org/wiki/Wikibase/Indexing/RDF_Dump_Format ("Statement representation" section)
-# * https://w.wiki/32BT
-# * https://en.wikibooks.org/wiki/SPARQL/WIKIDATA_Precision,_Units_and_Coordinates#Quantities
-# see the result for https://www.wikidata.org/wiki/Q11582
-# there are multiple symbols the same rank
-SARQL_REQUEST = """
-SELECT DISTINCT ?item ?symbol ?tosi ?tosiUnit
-WHERE
-{
- ?item wdt:P31/wdt:P279 wd:Q47574 .
- ?item p:P5061 ?symbolP .
- ?symbolP ps:P5061 ?symbol ;
- wikibase:rank ?rank .
- OPTIONAL {
- ?item p:P2370 ?tosistmt .
- ?tosistmt psv:P2370 ?tosinode .
- ?tosinode wikibase:quantityAmount ?tosi .
- ?tosinode wikibase:quantityUnit ?tosiUnit .
- }
- FILTER(LANG(?symbol) = "en").
-}
-ORDER BY ?item DESC(?rank) ?symbol
-"""
-
-
-def get_data():
- results = collections.OrderedDict()
- response = wikidata.send_wikidata_query(SARQL_REQUEST)
- for unit in response['results']['bindings']:
-
- symbol = unit['symbol']['value']
- name = unit['item']['value'].rsplit('/', 1)[1]
- si_name = unit.get('tosiUnit', {}).get('value', '')
- if si_name:
- si_name = si_name.rsplit('/', 1)[1]
-
- to_si_factor = unit.get('tosi', {}).get('value', '')
- if name not in results:
- # ignore duplicate: always use the first one
- results[name] = {
- 'symbol': symbol,
- 'si_name': si_name if si_name else None,
- 'to_si_factor': float(to_si_factor) if to_si_factor else None,
- }
- return results
-
-
-def get_wikidata_units_filename():
- return join(join(searx_dir, "data"), "")
-
if __name__ == '__main__':
with DATA_FILE.open('w', encoding="utf8") as f:
- json.dump(get_data(), f, indent=4, sort_keys=True, ensure_ascii=False)
+ json.dump(fetch_units(), f, indent=4, sort_keys=True, ensure_ascii=False)