summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorhref <href@random.sh>2021-09-01 10:30:18 +0200
committerhref <href@random.sh>2021-09-01 10:30:18 +0200
commit75687711f35355bc30e4829439384aab28fcac6d (patch)
tree8f3256f472893c39720a684d390e890a152f7303
parentlink: post_* callbacks; html & pdftitle. (diff)
Commit all the changes that hasn't been committed + updates.
-rw-r--r--lib/irc.ex3
-rw-r--r--lib/irc/account.ex3
-rw-r--r--lib/irc/connection.ex11
-rw-r--r--lib/irc/plugin_supervisor.ex14
-rw-r--r--lib/lsg/application.ex2
-rw-r--r--lib/lsg/telegram.ex17
-rw-r--r--lib/lsg_irc.ex9
-rw-r--r--lib/lsg_irc/alcolog_plugin.ex358
-rw-r--r--lib/lsg_irc/alcoolog_announcer_plugin.ex57
-rw-r--r--lib/lsg_irc/base_plugin.ex12
-rw-r--r--lib/lsg_irc/bourosama_plugin.ex7
-rw-r--r--lib/lsg_irc/calc_plugin.ex5
-rw-r--r--lib/lsg_irc/coronavirus_plugin.ex14
-rw-r--r--lib/lsg_irc/correction_plugin.ex8
-rw-r--r--lib/lsg_irc/dice_plugin.ex4
-rw-r--r--lib/lsg_irc/finance_plugin.ex13
-rw-r--r--lib/lsg_irc/kick_roulette_plugin.ex4
-rw-r--r--lib/lsg_irc/last_fm_plugin.ex9
-rw-r--r--lib/lsg_irc/link_plugin.ex11
-rw-r--r--lib/lsg_irc/np_handler.ex4
-rw-r--r--lib/lsg_irc/outline_plugin.ex38
-rw-r--r--lib/lsg_irc/preums_plugin.ex80
-rw-r--r--lib/lsg_irc/quatre_cent_vingt_plugin.ex7
-rw-r--r--lib/lsg_irc/say_plugin.ex9
-rw-r--r--lib/lsg_irc/script_plugin.ex5
-rw-r--r--lib/lsg_irc/seen_plugin.ex7
-rw-r--r--lib/lsg_irc/sms_plugin.ex5
-rw-r--r--lib/lsg_irc/tell_plugin.ex93
-rw-r--r--lib/lsg_irc/txt_plugin.ex16
-rw-r--r--lib/lsg_irc/untappd_plugin.ex2
-rw-r--r--lib/lsg_irc/wikipedia_plugin.ex4
-rw-r--r--lib/lsg_irc/wolfram_alpha_plugin.ex4
-rw-r--r--lib/lsg_irc/youtube_plugin.ex5
-rw-r--r--lib/lsg_web.ex9
-rw-r--r--lib/lsg_web/controllers/alcoolog_controller.ex263
-rw-r--r--lib/lsg_web/controllers/irc_controller.ex9
-rw-r--r--lib/lsg_web/router.ex11
-rw-r--r--lib/lsg_web/templates/alcoolog/index.html.eex222
-rw-r--r--lib/lsg_web/templates/alcoolog/user.html.eex170
-rw-r--r--lib/lsg_web/templates/irc/index.html.eex25
-rw-r--r--lib/lsg_web/templates/irc/txt.html.eex22
-rw-r--r--lib/lsg_web/templates/irc/txts.html.eex35
-rw-r--r--lib/lsg_web/templates/layout/app.html.eex135
-rw-r--r--lib/lsg_web/templates/page/user.html.eex2
-rw-r--r--lib/lsg_web/views/alcoolog_view.ex2
-rw-r--r--lib/lsg_web/views/layout_view.ex7
-rw-r--r--lib/tmpl.ex1
-rw-r--r--lib/util.ex6
-rw-r--r--mix.exs8
-rw-r--r--mix.lock79
-rw-r--r--priv/static/css/metricsgraphics.css548
-rw-r--r--priv/static/css/tailwind-ui.min.css1
-rw-r--r--priv/static/js/d3.v4.min.js2
-rw-r--r--priv/static/js/jquery3.1.0.min.js4
-rw-r--r--priv/static/js/metricsgraphics.min.js1
-rw-r--r--priv/static/js/metricsgraphics/MG.js1
-rw-r--r--priv/static/js/metricsgraphics/charts/bar.js792
-rw-r--r--priv/static/js/metricsgraphics/charts/histogram.js222
-rw-r--r--priv/static/js/metricsgraphics/charts/line.js922
-rw-r--r--priv/static/js/metricsgraphics/charts/missing.js144
-rw-r--r--priv/static/js/metricsgraphics/charts/point.js383
-rw-r--r--priv/static/js/metricsgraphics/charts/table.js220
-rwxr-xr-xpriv/static/js/metricsgraphics/common/bootstrap_tooltip_popover.js626
-rw-r--r--priv/static/js/metricsgraphics/common/brush.js126
-rw-r--r--priv/static/js/metricsgraphics/common/chart_title.js67
-rw-r--r--priv/static/js/metricsgraphics/common/data_graphic.js205
-rw-r--r--priv/static/js/metricsgraphics/common/hooks.js63
-rw-r--r--priv/static/js/metricsgraphics/common/init.js273
-rw-r--r--priv/static/js/metricsgraphics/common/markers.js132
-rw-r--r--priv/static/js/metricsgraphics/common/register.js16
-rw-r--r--priv/static/js/metricsgraphics/common/rollover.js98
-rw-r--r--priv/static/js/metricsgraphics/common/scales.js340
-rw-r--r--priv/static/js/metricsgraphics/common/window_listeners.js82
-rw-r--r--priv/static/js/metricsgraphics/common/x_axis.js600
-rw-r--r--priv/static/js/metricsgraphics/common/y_axis.js1072
-rw-r--r--priv/static/js/metricsgraphics/common/zoom.js85
-rwxr-xr-xpriv/static/js/metricsgraphics/layout/bootstrap_dropdown.js177
-rw-r--r--priv/static/js/metricsgraphics/layout/button.js126
-rw-r--r--priv/static/js/metricsgraphics/misc/error.js16
-rw-r--r--priv/static/js/metricsgraphics/misc/formatters.js147
-rw-r--r--priv/static/js/metricsgraphics/misc/markup.js66
-rw-r--r--priv/static/js/metricsgraphics/misc/process.js368
-rw-r--r--priv/static/js/metricsgraphics/misc/smoothers.js280
-rw-r--r--priv/static/js/metricsgraphics/misc/transitions.js31
-rw-r--r--priv/static/js/metricsgraphics/misc/utility.js619
-rw-r--r--priv/static/metrics-graphics-3.0-alpha3/.editorconfig32
-rw-r--r--priv/static/metrics-graphics-3.0-alpha3/.gitignore17
-rw-r--r--priv/static/metrics-graphics-3.0-alpha3/.jshintignore2
-rw-r--r--priv/static/metrics-graphics-3.0-alpha3/.jshintrc14
-rw-r--r--priv/static/metrics-graphics-3.0-alpha3/.travis.yml30
-rw-r--r--priv/static/metrics-graphics-3.0-alpha3/CHANGELOG.md343
-rw-r--r--priv/static/metrics-graphics-3.0-alpha3/HOOKS.md18
-rw-r--r--priv/static/metrics-graphics-3.0-alpha3/LICENSE362
-rw-r--r--priv/static/metrics-graphics-3.0-alpha3/README.md146
-rw-r--r--priv/static/metrics-graphics-3.0-alpha3/bower.json41
-rw-r--r--priv/static/metrics-graphics-3.0-alpha3/contribute.json30
-rw-r--r--priv/static/metrics-graphics-3.0-alpha3/dist/metricsgraphics.js7697
-rw-r--r--priv/static/metrics-graphics-3.0-alpha3/examples/charts/annotations.htm338
-rw-r--r--priv/static/metrics-graphics-3.0-alpha3/examples/charts/auto-time-formatting.htm296
-rw-r--r--priv/static/metrics-graphics-3.0-alpha3/examples/charts/axes.htm486
-rw-r--r--priv/static/metrics-graphics-3.0-alpha3/examples/charts/brushing_zooming.htm166
-rw-r--r--priv/static/metrics-graphics-3.0-alpha3/examples/charts/data.htm386
-rw-r--r--priv/static/metrics-graphics-3.0-alpha3/examples/charts/experimental.htm1159
-rw-r--r--priv/static/metrics-graphics-3.0-alpha3/examples/charts/lines.htm335
-rw-r--r--priv/static/metrics-graphics-3.0-alpha3/examples/charts/multilines.htm368
-rw-r--r--priv/static/metrics-graphics-3.0-alpha3/examples/charts/other.htm48
-rw-r--r--priv/static/metrics-graphics-3.0-alpha3/examples/charts/rollovers.htm309
-rw-r--r--priv/static/metrics-graphics-3.0-alpha3/examples/charts/updating.htm169
-rw-r--r--priv/static/metrics-graphics-3.0-alpha3/examples/css/highlightjs-default.css153
-rw-r--r--priv/static/metrics-graphics-3.0-alpha3/examples/css/metricsgraphics-demo-accessible.css26
-rw-r--r--priv/static/metrics-graphics-3.0-alpha3/examples/css/metricsgraphics-demo-dark.css686
-rw-r--r--priv/static/metrics-graphics-3.0-alpha3/examples/css/metricsgraphics-demo.css220
-rw-r--r--priv/static/metrics-graphics-3.0-alpha3/examples/css/railscasts.css187
-rw-r--r--priv/static/metrics-graphics-3.0-alpha3/examples/data/brief-1.json402
-rw-r--r--priv/static/metrics-graphics-3.0-alpha3/examples/data/brief-2.json402
-rw-r--r--priv/static/metrics-graphics-3.0-alpha3/examples/data/confidence_band.json548
-rw-r--r--priv/static/metrics-graphics-3.0-alpha3/examples/data/fake_users1.json483
-rw-r--r--priv/static/metrics-graphics-3.0-alpha3/examples/data/fake_users2.json1448
-rw-r--r--priv/static/metrics-graphics-3.0-alpha3/examples/data/fake_users3.json1448
-rw-r--r--priv/static/metrics-graphics-3.0-alpha3/examples/data/firefox_releases.json168
-rw-r--r--priv/static/metrics-graphics-3.0-alpha3/examples/data/float.json802
-rw-r--r--priv/static/metrics-graphics-3.0-alpha3/examples/data/log.json802
-rw-r--r--priv/static/metrics-graphics-3.0-alpha3/examples/data/make_fake_data.py56
-rw-r--r--priv/static/metrics-graphics-3.0-alpha3/examples/data/missing-is-hidden-accessor.json57
-rw-r--r--priv/static/metrics-graphics-3.0-alpha3/examples/data/missing-is-hidden-multi.json1436
-rw-r--r--priv/static/metrics-graphics-3.0-alpha3/examples/data/missing-is-hidden.json39
-rw-r--r--priv/static/metrics-graphics-3.0-alpha3/examples/data/missing-y.json35
-rw-r--r--priv/static/metrics-graphics-3.0-alpha3/examples/data/multiline.json902
-rw-r--r--priv/static/metrics-graphics-3.0-alpha3/examples/data/neg1.json602
-rw-r--r--priv/static/metrics-graphics-3.0-alpha3/examples/data/neg2.json30
-rw-r--r--priv/static/metrics-graphics-3.0-alpha3/examples/data/nh-gop.tsv6
-rw-r--r--priv/static/metrics-graphics-3.0-alpha3/examples/data/points1.json802
-rw-r--r--priv/static/metrics-graphics-3.0-alpha3/examples/data/small-range.json26
-rw-r--r--priv/static/metrics-graphics-3.0-alpha3/examples/data/some_currency.json402
-rw-r--r--priv/static/metrics-graphics-3.0-alpha3/examples/data/some_percentage.json482
-rw-r--r--priv/static/metrics-graphics-3.0-alpha3/examples/data/split_by.json548
-rw-r--r--priv/static/metrics-graphics-3.0-alpha3/examples/data/ufo-sightings.json266
-rw-r--r--priv/static/metrics-graphics-3.0-alpha3/examples/data/ufo_dates.csv22841
-rw-r--r--priv/static/metrics-graphics-3.0-alpha3/examples/data/xnotdate.json34
-rw-r--r--priv/static/metrics-graphics-3.0-alpha3/examples/examples.htm113
-rw-r--r--priv/static/metrics-graphics-3.0-alpha3/examples/images/divider.pngbin0 -> 2879 bytes
-rw-r--r--priv/static/metrics-graphics-3.0-alpha3/examples/images/logo.svg242
-rw-r--r--priv/static/metrics-graphics-3.0-alpha3/examples/index.htm269
-rw-r--r--priv/static/metrics-graphics-3.0-alpha3/examples/interactive-demo.htm236
-rw-r--r--priv/static/metrics-graphics-3.0-alpha3/examples/js/lib/highlight.pack.js1
-rwxr-xr-xpriv/static/metrics-graphics-3.0-alpha3/examples/js/lib/mode-javascript.js1
-rwxr-xr-xpriv/static/metrics-graphics-3.0-alpha3/examples/js/lib/worker-javascript.js1
-rw-r--r--priv/static/metrics-graphics-3.0-alpha3/examples/js/main.js125
-rw-r--r--priv/static/metrics-graphics-3.0-alpha3/gulp/index.js136
-rw-r--r--priv/static/metrics-graphics-3.0-alpha3/gulpfile.js3
-rw-r--r--priv/static/metrics-graphics-3.0-alpha3/index.js1
-rw-r--r--priv/static/metrics-graphics-3.0-alpha3/package.json66
-rw-r--r--priv/static/metrics-graphics-3.0-alpha3/renovate.json8
-rw-r--r--priv/static/metrics-graphics-3.0-alpha3/src/index.html238
-rw-r--r--priv/static/metrics-graphics-3.0-alpha3/src/scss/.gitignore0
-rw-r--r--priv/static/metrics-graphics-3.0-alpha3/testem.json50
-rw-r--r--priv/static/metrics-graphics-3.0-alpha3/tests/charts/bar_test.js95
-rw-r--r--priv/static/metrics-graphics-3.0-alpha3/tests/charts/histogram_test.js64
-rw-r--r--priv/static/metrics-graphics-3.0-alpha3/tests/charts/line_test.js289
-rw-r--r--priv/static/metrics-graphics-3.0-alpha3/tests/charts/missing_test.js90
-rw-r--r--priv/static/metrics-graphics-3.0-alpha3/tests/charts/point_test.js137
-rw-r--r--priv/static/metrics-graphics-3.0-alpha3/tests/common/.gitkeep0
-rw-r--r--priv/static/metrics-graphics-3.0-alpha3/tests/common/chart_title_test.js93
-rw-r--r--priv/static/metrics-graphics-3.0-alpha3/tests/common/data_graphic_test.js59
-rw-r--r--priv/static/metrics-graphics-3.0-alpha3/tests/common/hooks_test.js159
-rw-r--r--priv/static/metrics-graphics-3.0-alpha3/tests/common/init_test.js246
-rw-r--r--priv/static/metrics-graphics-3.0-alpha3/tests/common/markers_test.js160
-rw-r--r--priv/static/metrics-graphics-3.0-alpha3/tests/common/resize_test.js44
-rw-r--r--priv/static/metrics-graphics-3.0-alpha3/tests/common/x_axis_test.js227
-rw-r--r--priv/static/metrics-graphics-3.0-alpha3/tests/common/y_axis_test.js208
-rw-r--r--priv/static/metrics-graphics-3.0-alpha3/tests/helpers.js20
-rw-r--r--priv/static/metrics-graphics-3.0-alpha3/tests/misc/.gitkeep0
-rw-r--r--priv/static/metrics-graphics-3.0-alpha3/tests/misc/process_test.js14
-rw-r--r--priv/static/metrics-graphics-3.0-alpha3/tests/misc/utility_test.js90
-rw-r--r--test/correction_plugin_test.exs12
175 files changed, 62951 insertions, 378 deletions
diff --git a/lib/irc.ex b/lib/irc.ex
index 1e1fd50..ee44f37 100644
--- a/lib/irc.ex
+++ b/lib/irc.ex
@@ -8,7 +8,8 @@ defmodule IRC do
:sender,
:channel,
:trigger,
- :replyfun]
+ :replyfun,
+ :at]
end
defmodule Trigger do
defstruct [:type, :trigger, :args]
diff --git a/lib/irc/account.ex b/lib/irc/account.ex
index 6f9eb05..0aa8638 100644
--- a/lib/irc/account.ex
+++ b/lib/irc/account.ex
@@ -19,7 +19,8 @@ defmodule IRC.Account do
# FIXME: Ensure uniqueness of name?
defstruct [:id, :name, :token]
- @type t :: %__MODULE__{id: String.t(), name: String.t()}
+ @type t :: %__MODULE__{id: id(), name: String.t()}
+ @type id :: String.t()
defimpl Inspect, for: __MODULE__ do
import Inspect.Algebra
diff --git a/lib/irc/connection.ex b/lib/irc/connection.ex
index d115d88..b83c4d3 100644
--- a/lib/irc/connection.ex
+++ b/lib/irc/connection.ex
@@ -211,13 +211,13 @@ defmodule IRC.Connection do
else
Logger.info("Connecting")
{:ok, client} = ExIRC.Client.start_link(debug: false)
+ ExIRC.Client.add_handler(client, self())
client
end
- ExIRC.Client.add_handler(client, self())
if state.conn.tls do
- ExIRC.Client.connect_ssl!(client, state.conn.host, state.conn.port)
+ ExIRC.Client.connect_ssl!(client, state.conn.host, state.conn.port, [])#[{:ifaddr, {45,150,150,33}}])
else
- ExIRC.Client.connect!(client, state.conn.host, state.conn.port)
+ ExIRC.Client.connect!(client, state.conn.host, state.conn.port, [])#[{:ifaddr, {45,150,150,33}}])
end
{:noreply, %{state | client: client}}
end
@@ -241,8 +241,9 @@ defmodule IRC.Connection do
# Connection successful
def handle_info({:connected, server, port}, state) do
Logger.info("#{inspect(self())} Connected to #{server}:#{port} #{inspect state}")
+ {_, backoff} = :backoff.succeed(state.backoff)
ExIRC.Client.logon(state.client, state.conn.pass || "", state.conn.nick, state.conn.user, state.conn.name)
- {:noreply, state}
+ {:noreply, %{state | backoff: backoff}}
end
# Logon successful
@@ -344,7 +345,7 @@ defmodule IRC.Connection do
end
def handle_info({:parted, channel, %ExIRC.SenderInfo{nick: nick}}, state) do
- IRC.UserTrack.parted(channel, nick)
+ IRC.UserTrack.parted(network(state), channel, nick)
{:noreply, state}
end
diff --git a/lib/irc/plugin_supervisor.ex b/lib/irc/plugin_supervisor.ex
index ca092dc..5f93f17 100644
--- a/lib/irc/plugin_supervisor.ex
+++ b/lib/irc/plugin_supervisor.ex
@@ -3,15 +3,24 @@ defmodule IRC.Plugin do
defmodule Supervisor do
use DynamicSupervisor
+ require Logger
def start_link() do
DynamicSupervisor.start_link(__MODULE__, [], name: __MODULE__)
end
def start_child(module, opts \\ []) do
- IO.inspect(module)
+ Logger.info("Starting #{module}")
spec = %{id: {IRC.Plugin,module}, start: {IRC.Plugin, :start_link, [module, opts]}, name: module, restart: :transient}
- DynamicSupervisor.start_child(__MODULE__, spec)
+ case DynamicSupervisor.start_child(__MODULE__, spec) do
+ {:ok, _} = res -> res
+ :ignore ->
+ Logger.info("Ignored #{module}")
+ :ignore
+ {:error,_} = res ->
+ Logger.error("Could not start #{module}: #{inspect(res, pretty: true)}")
+ res
+ end
end
@impl true
@@ -88,4 +97,3 @@ defmodule IRC.Plugin do
end
end
-
diff --git a/lib/lsg/application.ex b/lib/lsg/application.ex
index a12253b..3e5fb41 100644
--- a/lib/lsg/application.ex
+++ b/lib/lsg/application.ex
@@ -25,7 +25,7 @@ defmodule LSG.Application do
# for other strategies and supported options
opts = [strategy: :one_for_one, name: LSG.Supervisor]
sup = Supervisor.start_link(children, opts)
- LSG.IRC.after_start()
+ spawn_link(fn() -> LSG.IRC.after_start() end)
sup
end
diff --git a/lib/lsg/telegram.ex b/lib/lsg/telegram.ex
index 7541b13..02d7115 100644
--- a/lib/lsg/telegram.ex
+++ b/lib/lsg/telegram.ex
@@ -3,8 +3,8 @@ defmodule LSG.Telegram do
use Telegram.Bot,
token: Keyword.get(Application.get_env(:lsg, :telegram, []), :key),
- username: Keyword.get(Application.get_env(:lsg, :telegram), :nick, "beauttebot"),
- purge: true
+ username: Keyword.get(Application.get_env(:lsg, :telegram, []), :nick, "beauttebot"),
+ purge: false
def my_path() do
"https://t.me/beauttebot"
@@ -26,10 +26,10 @@ defmodule LSG.Telegram do
_ -> "nil"
end
- #Handled message "1247435154:AAGnSSCnySn0RuVxy_SUcDEoOX_rbF6vdq0" %{"message" =>
+ #Handled message "1247435154:AAGnSSCnySn0RuVxy_SUcDEoOX_rbF6vdq0" %{"message" =>
# %{"chat" => %{"first_name" => "J", "id" => 2075406, "type" => "private", "username" => "ahref"},
# "date" => 1591027272, "entities" =>
- # [%{"length" => 7, "offset" => 0, "type" => "bot_command"}],
+ # [%{"length" => 7, "offset" => 0, "type" => "bot_command"}],
# "from" => %{"first_name" => "J", "id" => 2075406, "is_bot" => false, "language_code" => "en", "username" => "ahref"},
# "message_id" => 11, "text" => "/enable salope"}, "update_id" => 764148578}
account = IRC.Account.find_meta_account("telegram-validation-code", String.downcase(key))
@@ -47,7 +47,7 @@ defmodule LSG.Telegram do
send_message(m["chat"]["id"], text)
end
- #[debug] Unhandled update: %{"message" =>
+ #[debug] Unhandled update: %{"message" =>
# %{"chat" => %{"first_name" => "J", "id" => 2075406, "type" => "private", "username" => "ahref"},
# "date" => 1591096015,
# "from" => %{"first_name" => "J", "id" => 2075406, "is_bot" => false, "language_code" => "en", "username" => "ahref"},
@@ -155,7 +155,7 @@ defmodule LSG.Telegram do
s3req = ExAws.S3.put_object(bucket, s3path, body, acl: :public_read, content_type: magic.mime_type),
{:ok, _} <- ExAws.request(s3req)
do
- path = "https://s3.wasabisys.com/#{bucket}/#{s3path}"
+ path = LSGWeb.Router.Helpers.url(LSGWeb.Endpoint) <> "/files/#{s3path}"
sent = for {net, chan} <- target do
user = IRC.UserTrack.find_by_account(net, account)
nick = if(user, do: user.nick, else: account.name)
@@ -210,7 +210,8 @@ defmodule LSG.Telegram do
account: account,
sender: %ExIRC.SenderInfo{nick: account.name},
replyfun: reply_fun,
- trigger: IRC.Connection.extract_trigger(trigger_text)
+ trigger: IRC.Connection.extract_trigger(trigger_text),
+ at: nil
}
IO.puts("converted telegram to message: #{inspect message}")
IRC.Connection.publish(message, ["message:private", "message:telegram"])
@@ -250,5 +251,3 @@ defmodule LSG.Telegram do
text: "Hey! You sent me a message: #{inspect update}")
end
end
-
-
diff --git a/lib/lsg_irc.ex b/lib/lsg_irc.ex
index c811d18..ba0828a 100644
--- a/lib/lsg_irc.ex
+++ b/lib/lsg_irc.ex
@@ -1,4 +1,6 @@
defmodule LSG.IRC do
+ require Logger
+
def application_childs do
env = Application.get_env(:lsg, :irc)
@@ -6,7 +8,9 @@ defmodule LSG.IRC do
IRC.Connection.setup()
IRC.Plugin.setup()
- for plugin <- Application.get_env(:lsg, :irc)[:plugins], do: IRC.Plugin.declare(plugin)
+
+ # Probably just needed for migration
+ #for plugin <- Application.get_env(:lsg, :irc)[:plugins], do: IRC.Plugin.declare(plugin)
[
worker(Registry, [[keys: :duplicate, name: IRC.ConnectionPubSub]], id: :registr_irc_conn),
@@ -22,8 +26,11 @@ defmodule LSG.IRC do
def after_start() do
# Start plugins first to let them get on connection events.
+ Logger.debug("IRC.after_start - initializing plugins")
IRC.Plugin.start_all()
+ Logger.debug("IRC.after_start - initializing connections")
IRC.Connection.start_all()
+ Logger.debug("IRC.after_start - ok")
end
end
diff --git a/lib/lsg_irc/alcolog_plugin.ex b/lib/lsg_irc/alcolog_plugin.ex
index 600dc1a..c758117 100644
--- a/lib/lsg_irc/alcolog_plugin.ex
+++ b/lib/lsg_irc/alcolog_plugin.ex
@@ -6,6 +6,7 @@ defmodule LSG.IRC.AlcoologPlugin do
* **!santai `<cl | (calc)>` `<degrés d'alcool> [annotation]`**: enregistre un nouveau verre de `montant` d'une boisson à `degrés d'alcool`.
* **!santai `<cl | (calc)>` `<beer name>`**: enregistre un nouveau verre de `cl` de la bière `beer name`, et checkin sur Untappd.com.
+ * **!moar `[cl]` : enregistre un verre équivalent au dernier !santai.
* **-santai**: annule la dernière entrée d'alcoolisme.
* **.alcoolisme**: état du channel en temps réel.
* **.alcoolisme `<semaine | Xj>`**: points par jour, sur X j.
@@ -139,7 +140,7 @@ defmodule LSG.IRC.AlcoologPlugin do
"attention... l'alcool permet de rendre l'eau potable",
"{{'QUOI ?' | bold}}",
"QUO{{'I' | rrepeat}}?",
- "{{'COMMENT ÇA DE L'EAU ?' | red}}",
+ "{{\"COMMENT ÇA DE L'EAU ?\" | red}}",
"resaisis toi et va ouvrir une bonne teille de rouge...",
"bwais tu veux pas un \"petit\" rhum plutôt ?"
]
@@ -163,16 +164,20 @@ defmodule LSG.IRC.AlcoologPlugin do
end
def init(_) do
- {:ok, _} = Registry.register(IRC.PubSub, "account", [])
- {:ok, _} = Registry.register(IRC.PubSub, "trigger:santai", [])
- {:ok, _} = Registry.register(IRC.PubSub, "trigger:santo", [])
- {:ok, _} = Registry.register(IRC.PubSub, "trigger:santeau", [])
- {:ok, _} = Registry.register(IRC.PubSub, "trigger:alcoolog", [])
- {:ok, _} = Registry.register(IRC.PubSub, "trigger:sobre", [])
- {:ok, _} = Registry.register(IRC.PubSub, "trigger:sobrepour", [])
- {:ok, _} = Registry.register(IRC.PubSub, "trigger:soif", [])
- {:ok, _} = Registry.register(IRC.PubSub, "trigger:alcoolisme", [])
- {:ok, _} = Registry.register(IRC.PubSub, "trigger:alcool", [])
+ regopts = [plugin: __MODULE__]
+ {:ok, _} = Registry.register(IRC.PubSub, "account", regopts)
+ {:ok, _} = Registry.register(IRC.PubSub, "trigger:santai", regopts)
+ {:ok, _} = Registry.register(IRC.PubSub, "trigger:moar", regopts)
+ {:ok, _} = Registry.register(IRC.PubSub, "trigger:again", regopts)
+ {:ok, _} = Registry.register(IRC.PubSub, "trigger:bis", regopts)
+ {:ok, _} = Registry.register(IRC.PubSub, "trigger:santo", regopts)
+ {:ok, _} = Registry.register(IRC.PubSub, "trigger:santeau", regopts)
+ {:ok, _} = Registry.register(IRC.PubSub, "trigger:alcoolog", regopts)
+ {:ok, _} = Registry.register(IRC.PubSub, "trigger:sobre", regopts)
+ {:ok, _} = Registry.register(IRC.PubSub, "trigger:sobrepour", regopts)
+ {:ok, _} = Registry.register(IRC.PubSub, "trigger:soif", regopts)
+ {:ok, _} = Registry.register(IRC.PubSub, "trigger:alcoolisme", regopts)
+ {:ok, _} = Registry.register(IRC.PubSub, "trigger:alcool", regopts)
dets_filename = (LSG.data_path() <> "/" <> "alcoolisme.dets") |> String.to_charlist
{:ok, dets} = :dets.open_file(dets_filename, [{:type,:bag}])
ets = :ets.new(__MODULE__.ETS, [:ordered_set, :named_table, :protected, {:read_concurrency, true}])
@@ -182,8 +187,25 @@ defmodule LSG.IRC.AlcoologPlugin do
traverse_fun = fn(obj, dets) ->
case obj do
+ object = {nick, date, volumes, active, cl, deg, name, comment, meta} ->
+ :ets.insert(ets, {{nick, date}, volumes, active, cl, deg, name, comment, meta})
+ dets
object = {nick, date, volumes, active, name, comment} ->
- :ets.insert(ets, {{nick, date}, volumes, active, name, comment})
+ IO.puts("Migrating object #{inspect object}")
+ {cl, deg} = with \
+ %{"cl" => cl, "deg" => deg} <- Regex.named_captures(~r/^(?<cl>\d+[.]\d+)cl\s+(?<deg>\d+[.]\d+)°$/, name),
+ {cl, _} <- Util.float_paparse(cl),
+ {deg, _} <- Util.float_paparse(deg)
+ do
+ {cl, deg}
+ else
+ _ -> {nil, nil}
+ end
+ new = {nick, date, volumes, active, cl, deg, name, comment, Map.new()}
+ :dets.delete_object(dets, obj)
+ :dets.insert(dets, new)
+
+ :ets.insert(ets, {{nick, date}, volumes, active, cl, deg, name, comment, Map.new()})
dets
_ ->
dets
@@ -206,40 +228,40 @@ defmodule LSG.IRC.AlcoologPlugin do
|> Timex.Timezone.convert("Europe/Paris")
apero = format_duration_from_now(%DateTime{now | hour: 18, minute: 0, second: 0}, false)
day_of_week = Date.day_of_week(now)
- txt = cond do
+ {txt, apero?} = cond do
now.hour >= 0 && now.hour < 6 ->
- ["apéro tardif ? Je dis OUI ! SANTAI !"]
+ {["apéro tardif ? Je dis OUI ! SANTAI !"], true}
now.hour >= 6 && now.hour < 12 ->
if day_of_week >= 6 do
- ["C'est quand même un peu tôt non ? Prochain apéro #{apero}"]
+ {["de l'alcool pour le petit dej ? le week-end, pas de problème !"], true}
else
- ["de l'alcool pour le petit dej ? le week-end, pas de problème !"]
+ {["C'est quand même un peu tôt non ? Prochain apéro #{apero}"], false}
end
now.hour >= 12 && (now.hour < 14) ->
- ["oui! c'est l'apéro de midi! (et apéro #{apero})",
+ {["oui! c'est l'apéro de midi! (et apéro #{apero})",
"tu peux attendre #{apero} ou y aller, il est midi !"
- ]
+ ], true}
now.hour == 17 ->
- [
+ {[
"ÇA APPROCHE !!! Apéro #{apero}",
"BIENTÔT !!! Apéro #{apero}",
"achetez vite les teilles, apéro dans #{apero}!",
"préparez les teilles, apéro dans #{apero}!"
- ]
+ ], false}
now.hour >= 14 && now.hour < 18 ->
weekend = if day_of_week >= 6 do
" ... ou maintenant en fait, c'est le week-end!"
else
""
end
- ["tiens bon! apéro #{apero}#{weekend}",
+ {["tiens bon! apéro #{apero}#{weekend}",
"courage... apéro dans #{apero}#{weekend}",
"pas encore :'( apéro dans #{apero}#{weekend}"
- ]
+ ], false}
true ->
- [
+ {[
"C'EST L'HEURE DE L'APÉRO !!! SANTAIIIIIIIIIIII !!!!"
- ]
+ ], true}
end
txt = txt
@@ -248,6 +270,11 @@ defmodule LSG.IRC.AlcoologPlugin do
m.replyfun.(txt)
+ stats = get_full_statistics(state, m.account.id)
+ if !apero? && stats.active > 0.1 do
+ m.replyfun.("(... ou continue en fait, je suis pas ta mère !)")
+ end
+
{:noreply, state}
end
@@ -344,15 +371,58 @@ defmodule LSG.IRC.AlcoologPlugin do
end
def handle_info({:irc, :trigger, "santai", m = %IRC.Message{trigger: %IRC.Trigger{args: [cl, deg | comment], type: :bang}}}, state) do
- comment = if comment == [] do
- nil
- else
- Enum.join(comment, " ")
+ santai(m, state, cl, deg, comment)
+ {:noreply, state}
+ end
+
+ @moar [
+ "{{message.sender.nick}}: la même donc ?",
+ "{{message.sender.nick}}: et voilà la petite sœur !"
+ ]
+
+ def handle_info({:irc, :trigger, "bis", m = %IRC.Message{trigger: %IRC.Trigger{args: args, type: :bang}}}, state) do
+ handle_info({:irc, :trigger, "moar", m}, state)
+ end
+ def handle_info({:irc, :trigger, "again", m = %IRC.Message{trigger: %IRC.Trigger{args: args, type: :bang}}}, state) do
+ handle_info({:irc, :trigger, "moar", m}, state)
+ end
+
+ def handle_info({:irc, :trigger, "moar", m = %IRC.Message{trigger: %IRC.Trigger{args: args, type: :bang}}}, state) do
+ case get_statistics_for_nick(state, m.account.id) do
+ {_, obj = {_, _date, _points, _active, cl, deg, _name, comment, _meta}} ->
+ cl = case args do
+ [cls] ->
+ case Util.float_paparse(cls) do
+ {cl, _} -> cl
+ _ -> cl
+ end
+ _ -> cl
+ end
+ moar = @moar |> Enum.shuffle() |> Enum.random() |> Tmpl.render(m) |> m.replyfun.()
+ santai(m, state, cl, deg, comment, auto_set: true)
+ {_, obj = {_, date, points, _last_active, type, descr}} ->
+ case Regex.named_captures(~r/^(?<cl>\d+[.]\d+)cl\s+(?<deg>\d+[.]\d+)°$/, type) do
+ nil -> m.replyfun.("suce")
+ u ->
+ moar = @moar |> Enum.shuffle() |> Enum.random() |> Tmpl.render(m) |> m.replyfun.()
+ santai(m, state, u["cl"], u["deg"], descr, auto_set: true)
+ end
+ _ -> nil
+ end
+ {:noreply, state}
+ end
+
+ defp santai(m, state, cl, deg, comment, options \\ []) do
+ comment = cond do
+ comment == [] -> nil
+ is_binary(comment) -> comment
+ comment == nil -> nil
+ true -> Enum.join(comment, " ")
end
{cl, cl_extra} = case {Util.float_paparse(cl), cl} do
{{cl, extra}, _} -> {cl, extra}
- {:error, "("<>_} ->
+ {:error, "("<>_} ->
try do
{:ok, result} = Abacus.eval(cl)
{result, nil}
@@ -363,7 +433,7 @@ defmodule LSG.IRC.AlcoologPlugin do
end
{deg, comment, auto_set, beer_id} = case Util.float_paparse(deg) do
- {deg, _} -> {deg, comment, false, nil}
+ {deg, _} -> {deg, comment, Keyword.get(options, :auto_set, false), nil}
:error ->
beername = if(comment, do: "#{deg} #{comment}", else: deg)
case Untappd.search_beer(beername, limit: 1) do
@@ -374,7 +444,6 @@ defmodule LSG.IRC.AlcoologPlugin do
end
end
-
cond do
cl == nil -> m.replyfun.(cl_extra)
deg == nil -> m.replyfun.(comment)
@@ -383,16 +452,20 @@ defmodule LSG.IRC.AlcoologPlugin do
cl < 0 || deg < 0 -> m.replyfun.(Tmpl.render(Enum.random(Enum.shuffle(Map.get(@bad_drinks, :negative))), m))
true ->
points = Alcool.units(cl, deg)
- now = DateTime.to_unix(DateTime.utc_now(), :millisecond)
+ now = m.at || DateTime.utc_now()
+ |> DateTime.to_unix(:millisecond)
user_meta = get_user_meta(state, m.account.id)
name = "#{cl}cl #{deg}°"
old_stats = get_full_statistics(state, m.account.id)
- :ok = :dets.insert(state.dets, {m.account.id, now, points, if(old_stats, do: old_stats.active, else: 0), name, comment})
- true = :ets.insert(state.ets, {{m.account.id, now}, points, if(old_stats, do: old_stats.active, else: 0),name, comment})
+ meta = %{}
+ meta = Map.put(meta, "timestamp", now)
+ meta = Map.put(meta, "weight", user_meta.weight)
+ meta = Map.put(meta, "sex", user_meta.sex)
+ :ok = :dets.insert(state.dets, {m.account.id, now, points, if(old_stats, do: old_stats.active, else: 0), cl, deg, name, comment, meta})
+ true = :ets.insert(state.ets, {{m.account.id, now}, points, if(old_stats, do: old_stats.active, else: 0),cl, deg, name, comment, meta})
sante = @santai |> Enum.map(fn(s) -> String.trim(String.upcase(s)) end) |> Enum.shuffle() |> Enum.random()
- meta = get_user_meta(state, m.account.id)
- k = if meta.sex, do: 0.7, else: 0.6
- weight = meta.weight
+ k = if user_meta.sex, do: 0.7, else: 0.6
+ weight = user_meta.weight
peak = Float.round((10*points||0.0)/(k*weight), 4)
stats = get_full_statistics(state, m.account.id)
sober_add = if old_stats && Map.get(old_stats || %{}, :sober_in) do
@@ -418,12 +491,24 @@ defmodule LSG.IRC.AlcoologPlugin do
""
end
+ since_str = if stats.since && stats.since_min > 180 do
+ "(depuis: #{stats.since_s}) "
+ else
+ ""
+ end
+
msg = fn(nick, extra) ->
- "#{sante} #{nick}#{extra}#{up} #{format_points(points)} @#{stats.active}g/l [+#{peak} g/l]"
- <> " (15m: #{stats.active15m}, 30m: #{stats.active30m}, 1h: #{stats.active1h}) (sobriété #{at} (dans #{stats.sober_in_s})#{sober_add}) !"
+ "#{sante} #{nick} #{extra}#{up} #{format_points(points)} @#{stats.active}g/l [+#{peak} g/l]"
+ <> " (15m: #{stats.active15m}, 30m: #{stats.active30m}, 1h: #{stats.active1h}) #{since_str}(sobriété #{at} (dans #{stats.sober_in_s})#{sober_add}) !"
<> " (aujourd'hui #{stats.daily_volumes} points - #{stats.daily_gl} g/l)"
end
+ meta = if beer_id do
+ Map.put(meta, "untappd:beer_id", beer_id)
+ else
+ meta
+ end
+
if beer_id do
spawn(fn() ->
case Untappd.maybe_checkin(m.account, beer_id) do
@@ -434,7 +519,7 @@ defmodule LSG.IRC.AlcoologPlugin do
|> Enum.filter(fn(b) -> b end)
|> Enum.intersperse(", ")
|> Enum.join("")
- badge = if(badges > 1, do: "badges", else: "badge")
+ badge = if(length(badges) > 1, do: "badges", else: "badge")
m.replyfun.("\\O/ Unlocked untappd #{badge}: #{badges_s}")
end
:ok
@@ -445,7 +530,15 @@ defmodule LSG.IRC.AlcoologPlugin do
end)
end
- local_extra = if auto_set, do: " #{comment} (#{deg}°)", else: ""
+ local_extra = if auto_set do
+ if comment do
+ " #{comment} (#{cl}cl @ #{deg}°)"
+ else
+ "#{cl}cl @ #{deg}°"
+ end
+ else
+ ""
+ end
m.replyfun.(msg.(m.sender.nick, local_extra))
notify = IRC.Membership.notify_channels(m.account) -- [{m.network,m.channel}]
for {net, chan} <- notify do
@@ -456,6 +549,7 @@ defmodule LSG.IRC.AlcoologPlugin do
end
miss = cond do
+ points <= 0.6 -> :blague
stats.active30m >= 2.9 && stats.active30m < 3 -> :miss3
stats.active30m >= 1.9 && stats.active30m < 2 -> :miss2
stats.active30m >= 0.9 && stats.active30m < 1 -> :miss1
@@ -471,6 +565,9 @@ defmodule LSG.IRC.AlcoologPlugin do
end
miss = case miss do
+ :blague -> [
+ "c'est une blague ?!"
+ ]
:miss025 -> [
"si peu ?"
]
@@ -518,7 +615,6 @@ defmodule LSG.IRC.AlcoologPlugin do
end
end
- {:noreply, state}
end
def handle_info({:irc, :trigger, "santai", m = %IRC.Message{trigger: %IRC.Trigger{args: _, type: :bang}}}, state) do
@@ -549,13 +645,26 @@ defmodule LSG.IRC.AlcoologPlugin do
|> Enum.sort_by(fn({_, status}) -> status.active end, &>/2)
end
+ @spec since() :: %{IRC.Account.id() => DateTime.t()}
+ @doc "Returns the last time the user was at 0 g/l"
+ def since() do
+ :ets.foldr(fn({{acct, timestamp}, _vol, current, _cl, _deg, _name, _comment, _m}, acc) ->
+ if !Map.get(acc, acct) && current == 0 do
+ date = DateTime.from_unix!(timestamp, :millisecond)
+ Map.put(acc, acct, date)
+ else
+ acc
+ end
+ end, %{}, __MODULE__.ETS)
+ end
+
def get_full_statistics(nick) do
get_full_statistics(data_state(), nick)
end
defp get_full_statistics(state, nick) do
case get_statistics_for_nick(state, nick) do
- {count, {_, last_at, last_points, last_active, last_type, last_descr}} ->
+ {count, {_, last_at, last_points, last_active, last_cl, last_deg, last_type, last_descr, _meta}} ->
{active, active_drinks} = current_alcohol_level(state, nick)
{_, m30} = alcohol_level_rising(state, nick)
{rising, m15} = alcohol_level_rising(state, nick, 15)
@@ -601,20 +710,30 @@ defmodule LSG.IRC.AlcoologPlugin do
nil
end
+ since = if active > 0 do
+ since()
+ |> Map.get(nick)
+ end
+
+ since_diff = if since, do: Timex.diff(DateTime.utc_now(), since, :minutes)
+ since_duration = if since, do: Timex.Duration.from_minutes(since_diff)
+ since_s = if since, do: Timex.Format.Duration.Formatter.lformat(since_duration, "fr", :humanized)
+
user_status = list
|> Enum.shuffle()
|> Enum.random()
{total_volumes, total_gl} = user_stats(state, nick)
- %{active: active, last_at: last_at, last_points: last_points, last_type: last_type, last_descr: last_descr,
+ %{active: active, last_at: last_at, last_cl: last_cl, last_deg: last_deg, last_points: last_points, last_type: last_type, last_descr: last_descr,
trend_symbol: trend,
active5m: m5, active15m: m15, active30m: m30, active1h: h1,
rising: rising,
active_drinks: active_drinks,
user_status: user_status,
daily_gl: total_gl, daily_volumes: total_volumes,
- sober_in: minutes_til_sober, sober_in_s: sober_in_s
+ sober_in: minutes_til_sober, sober_in_s: sober_in_s,
+ since: since, since_min: since_diff, since_s: since_s,
}
_ ->
nil
@@ -660,7 +779,7 @@ defmodule LSG.IRC.AlcoologPlugin do
if account do
user = IRC.UserTrack.find_by_account(m.network, account)
nick = if(user, do: user.nick, else: account.name)
- stats = get_full_statistics(state, nick)
+ stats = get_full_statistics(state, account.id)
if stats && stats.sober_in > 0 do
now = DateTime.utc_now()
sober = now |> DateTime.add(round(stats.sober_in*60), :second)
@@ -693,7 +812,12 @@ defmodule LSG.IRC.AlcoologPlugin do
else
status.trend_symbol
end
- "#{nick} #{status.user_status} #{trend_symbol} #{Float.round(status.active, 4)} g/l"
+ since_str = if status.since_min > 180 do
+ "depuis: #{status.since_s} | "
+ else
+ ""
+ end
+ "#{nick} #{status.user_status} #{trend_symbol} #{Float.round(status.active, 4)} g/l [#{since_str}sobre dans: #{status.sober_in_s}]"
end)
|> Enum.intersperse(", ")
|> Enum.join("")
@@ -732,54 +856,43 @@ defmodule LSG.IRC.AlcoologPlugin do
{:noreply, state}
end
- # TODO Fix with user/channel membership
- def handle_info({:irc, :trigger, "alcoolisme", m = %IRC.Message{trigger: %IRC.Trigger{args: ["semaine"], type: :bang}}}, state) do
- aday = 7*((24 * 60)*60)
- now = DateTime.utc_now()
- before = now
- |> DateTime.add(-aday, :second)
- |> DateTime.to_unix(:millisecond)
- over_time_stats(before, 7, m, state)
- end
-
- def handle_info({:irc, :trigger, "alcoolisme", m = %IRC.Message{trigger: %IRC.Trigger{args: ["30j"], type: :bang}}}, state) do
- aday = 31*((24 * 60)*60)
- now = DateTime.utc_now()
- before = now
- |> DateTime.add(-aday, :second)
- |> DateTime.to_unix(:millisecond)
- over_time_stats(before, 30, m, state)
+ def user_over_time(account, count) do
+ user_over_time(data_state(), account, count)
end
- def handle_info({:irc, :trigger, "alcoolisme", m = %IRC.Message{trigger: %IRC.Trigger{args: ["90j"], type: :bang}}}, state) do
- aday = 91*((24 * 60)*60)
- now = DateTime.utc_now()
- before = now
- |> DateTime.add(-aday, :second)
- |> DateTime.to_unix(:millisecond)
- over_time_stats(before, 90, m, state)
- end
-
- def handle_info({:irc, :trigger, "alcoolisme", m = %IRC.Message{trigger: %IRC.Trigger{args: ["180j"], type: :bang}}}, state) do
- aday = 180*((24 * 60)*60)
+ def user_over_time(state, account, count) do
+ delay = count*((24 * 60)*60)
now = DateTime.utc_now()
- before = now
- |> DateTime.add(-aday, :second)
+ before = DateTime.utc_now()
+ |> DateTime.shift_zone!("Europe/Paris", Tzdata.TimeZoneDatabase)
+ |> DateTime.add(-delay, :second, Tzdata.TimeZoneDatabase)
|> DateTime.to_unix(:millisecond)
- over_time_stats(before, 180, m, state)
- end
+ #[
+# {{{:"$1", :"$2"}, :_, :_, :_, :_, :_, :_, :_},
+# [{:andalso, {:==, :"$1", :"$1"}, {:<, :"$2", {:const, 3000}}}], [:lol]}
+ #]
+ match = [{{{:"$1", :"$2"}, :_, :_, :_, :_, :_, :_, :_},
+ [{:andalso, {:>, :"$2", {:const, before}}, {:==, :"$1", {:const, account.id}}}], [:"$_"]}
+ ]
+ :ets.select(state.ets, match)
+ |> Enum.reduce(Map.new, fn({{_, ts}, vol, _, _, _, _, _, _}, acc) ->
+ date = DateTime.from_unix!(ts, :millisecond)
+ |> DateTime.shift_zone!("Europe/Paris", Tzdata.TimeZoneDatabase)
+ date = if date.hour <= 8 do
+ DateTime.add(date, -(60*(60*(date.hour+1))), :second, Tzdata.TimeZoneDatabase)
+ else
+ date
+ end
+ |> DateTime.to_date()
- def handle_info({:irc, :trigger, "alcoolisme", m = %IRC.Message{trigger: %IRC.Trigger{args: ["365j"], type: :bang}}}, state) do
- aday = 365*((24 * 60)*60)
- now = DateTime.utc_now()
- before = now
- |> DateTime.add(-aday, :second)
- |> DateTime.to_unix(:millisecond)
- over_time_stats(before, 365, m, state)
+ Map.put(acc, date, Map.get(acc, date, 0) + vol)
+ end)
end
- defp user_over_time(state, account, count) do
+ def user_over_time_gl(account, count) do
+ state = data_state()
+ meta = get_user_meta(state, account.id)
delay = count*((24 * 60)*60)
now = DateTime.utc_now()
before = DateTime.utc_now()
@@ -787,14 +900,14 @@ defmodule LSG.IRC.AlcoologPlugin do
|> DateTime.add(-delay, :second, Tzdata.TimeZoneDatabase)
|> DateTime.to_unix(:millisecond)
#[
-# {{{:"$1", :"$2"}, :_, :_, :_, :_},
+# {{{:"$1", :"$2"}, :_, :_, :_, :_, :_, :_, :_},
# [{:andalso, {:==, :"$1", :"$1"}, {:<, :"$2", {:const, 3000}}}], [:lol]}
#]
- match = [{{{:"$1", :"$2"}, :_, :_, :_, :_},
+ match = [{{{:"$1", :"$2"}, :_, :_, :_, :_, :_, :_, :_},
[{:andalso, {:>, :"$2", {:const, before}}, {:==, :"$1", {:const, account.id}}}], [:"$_"]}
]
:ets.select(state.ets, match)
- |> Enum.reduce(Map.new, fn({{_, ts}, vol, _, _, _}, acc) ->
+ |> Enum.reduce(Map.new, fn({{_, ts}, vol, _, _, _, _, _, _}, acc) ->
date = DateTime.from_unix!(ts, :millisecond)
|> DateTime.shift_zone!("Europe/Paris", Tzdata.TimeZoneDatabase)
@@ -804,23 +917,28 @@ defmodule LSG.IRC.AlcoologPlugin do
date
end
|> DateTime.to_date()
+ weight = meta.weight
+ k = if meta.sex, do: 0.7, else: 0.6
+ gl = (10*vol)/(k*weight)
- Map.put(acc, date, Map.get(acc, date, 0) + vol)
+ Map.put(acc, date, Map.get(acc, date, 0) + gl)
end)
end
+
+
defp over_time_stats(before, j, m, state) do
- #match = :ets.fun2ms(fn(obj = {{^nick, date}, _, _, _, _}) when date > before -> obj end)
- match = [{{{:_, :"$1"}, :_, :_, :_, :_},
+ #match = :ets.fun2ms(fn(obj = {{^nick, date}, _, _, _, _, _, _, _}) when date > before -> obj end)
+ match = [{{{:_, :"$1"}, :_, :_, :_, :_, :_, :_, :_},
[{:>, :"$1", {:const, before}}], [:"$_"]}
]
# tuple ets: {{nick, date}, volumes, current, nom, commentaire}
members = IRC.Membership.members_or_friends(m.account, m.network, m.channel)
drinks = :ets.select(state.ets, match)
- |> Enum.filter(fn({{account, _}, _, _, _, _}) -> Enum.member?(members, account) end)
- |> Enum.sort_by(fn({{_, ts}, _, _, _, _}) -> ts end, &>/2)
+ |> Enum.filter(fn({{account, _}, _, _, _, _, _, _, _}) -> Enum.member?(members, account) end)
+ |> Enum.sort_by(fn({{_, ts}, _, _, _, _, _, _, _}) -> ts end, &>/2)
- top = Enum.reduce(drinks, %{}, fn({{nick, _}, vol, _, _, _}, acc) ->
+ top = Enum.reduce(drinks, %{}, fn({{nick, _}, vol, _, _, _, _, _, _}, acc) ->
all = Map.get(acc, nick, 0)
Map.put(acc, nick, all + vol)
end)
@@ -872,7 +990,7 @@ defmodule LSG.IRC.AlcoologPlugin do
meta = Map.merge(@default_user_meta, %{sex: h, weight: weight, loss_factor: factor})
put_user_meta(state, m.account.id, meta)
fat = ["t'as grossi...", "bientôt la tonne ?", "t'as encore abusé du fromage ?"]
- thin = ["en route vers l'anorexie ?", "t'as grossi...", "faut manger plus de fromage!"]
+ thin = ["en route vers l'anorexie ?", "t'as vomi...", "t'as grossi...", "faut manger plus de fromage!"]
msg = cond do
old_meta.weight < meta.weight -> Enum.random(Enum.shuffle(fat))
old_meta.weight == meta.weight -> "ok"
@@ -886,7 +1004,7 @@ defmodule LSG.IRC.AlcoologPlugin do
def handle_info({:irc, :trigger, "santai", m = %IRC.Message{trigger: %IRC.Trigger{args: args, type: :minus}}}, state) do
case get_statistics_for_nick(state, m.account.id) do
- {_, obj = {_, date, points, _last_active, type, descr}} ->
+ {_, obj = {_, date, points, _last_active, _cl, _deg, type, descr, _meta}} ->
:dets.delete_object(state.dets, obj)
:ets.delete(state.ets, {m.account.id, date})
m.replyfun.("supprimé: #{m.sender.nick} #{points} #{type} #{descr}")
@@ -903,6 +1021,7 @@ defmodule LSG.IRC.AlcoologPlugin do
end
end
+
def handle_info({:irc, :trigger, "alcoolisme", m = %IRC.Message{trigger: %IRC.Trigger{args: args, type: :bang}}}, state) do
{account, duration} = case args do
[nick | rest] -> {IRC.Account.find_always_by_nick(m.network, m.channel, nick), rest}
@@ -951,6 +1070,7 @@ defmodule LSG.IRC.AlcoologPlugin do
<> (if stats.active > 0 || stats.active15m > 0 || stats.active30m > 0 || stats.active1h > 0, do: ": #{trend_symbol} #{Float.round(stats.active, 4)}g/l ", else: "")
<> (if stats.active30m > 0 || stats.active1h > 0, do: "(15m: #{stats.active15m}, 30m: #{stats.active30m}, 1h: #{stats.active1h}) ", else: "")
<> (if stats.sober_in > 0, do: "— Sobre dans #{stats.sober_in_s} ", else: "")
+ <> (if stats.since && stats.since_min > 180, do: "— Paitai depuis #{stats.since_s} ", else: "")
<> "— Dernier verre: #{present_type(stats.last_type, stats.last_descr)} [#{Float.round(stats.last_points+0.0, 4)}] "
<> "#{format_duration_from_now(stats.last_at)} "
<> (if stats.daily_volumes > 0, do: "— Aujourd'hui: #{stats.daily_volumes} #{stats.daily_gl}g/l", else: "")
@@ -969,7 +1089,7 @@ defmodule LSG.IRC.AlcoologPlugin do
# Account merge
def handle_info({:account_change, old_id, new_id}, state) do
- spec = [{{:"$1", :_, :_, :_, :_, :_}, [{:==, :"$1", {:const, old_id}}], [:"$_"]}]
+ spec = [{{:"$1", :_, :_, :_, :_, :_, :_, :_, :_}, [{:==, :"$1", {:const, old_id}}], [:"$_"]}]
Util.ets_mutate_select_each(:dets, state.dets, spec, fn(table, obj) ->
Logger.debug("alcolog/account_change:: merging #{old_id} -> #{new_id}")
rename_object_owner(table, state.ets, obj, old_id, new_id)
@@ -991,11 +1111,11 @@ defmodule LSG.IRC.AlcoologPlugin do
end
end
- defp rename_object_owner(table, ets, object = {old_id, date, volume, current, name, comment}, old_id, new_id) do
+ defp rename_object_owner(table, ets, object = {old_id, date, volume, current, cl, deg, name, comment, meta}, old_id, new_id) do
:dets.delete_object(table, object)
:ets.delete(ets, {old_id, date})
- :dets.insert(table, {new_id, date, volume, current, name, comment})
- :ets.insert(ets, {{new_id, date}, volume, current, name, comment})
+ :dets.insert(table, {new_id, date, volume, current, cl, deg, name, comment, meta})
+ :ets.insert(ets, {{new_id, date}, volume, current, cl, deg, name, comment, meta})
end
# Account: move from nick to account id
@@ -1005,9 +1125,9 @@ defmodule LSG.IRC.AlcoologPlugin do
mapping = Enum.reduce(accounts, Map.new, fn({:account, _net, _chan, nick, account_id}, acc) ->
Map.put(acc, String.downcase(nick), account_id)
end)
- spec = [{{:"$1", :_, :_, :_, :_, :_}, [], [:"$_"]}]
+ spec = [{{:"$1", :_, :_, :_, :_, :_, :_, :_, :_}, [], [:"$_"]}]
Logger.debug("accounts:: mappings #{inspect mapping}")
- Util.ets_mutate_select_each(:dets, state.dets, spec, fn(table, obj = {nick, _date, _vol, _cur, _name, _comment}) ->
+ Util.ets_mutate_select_each(:dets, state.dets, spec, fn(table, obj = {nick, _date, _vol, _cur, _cl, _deg, _name, _comment, _meta}) ->
#Logger.debug("accounts:: item #{inspect(obj)}")
if new_id = Map.get(mapping, nick) do
Logger.debug("alcolog/accounts:: merging #{nick} -> #{new_id}")
@@ -1019,7 +1139,7 @@ defmodule LSG.IRC.AlcoologPlugin do
def handle_info({:account, _net, _chan, nick, account_id}, state) do
nick = String.downcase(nick)
- spec = [{{:"$1", :_, :_, :_, :_, :_}, [{:==, :"$1", {:const, nick}}], [:"$_"]}]
+ spec = [{{:"$1", :_, :_, :_, :_, :_, :_, :_, :_}, [{:==, :"$1", {:const, nick}}], [:"$_"]}]
Util.ets_mutate_select_each(:dets, state.dets, spec, fn(table, obj) ->
Logger.debug("alcoolog/account:: merging #{nick} -> #{account_id}")
rename_object_owner(table, state.ets, obj, nick, account_id)
@@ -1039,10 +1159,19 @@ defmodule LSG.IRC.AlcoologPlugin do
{:noreply, state}
end
+ def nick_history(account) do
+ spec = [
+ {{{:"$1", :_}, :_, :_, :_, :_, :_, :_, :_},
+ [{:==, :"$1", {:const, account.id}}],
+ [:"$_"]}
+ ]
+ :ets.select(data_state().ets, spec)
+ end
+
defp get_statistics_for_nick(state, account_id) do
qvc = :dets.lookup(state.dets, account_id)
- |> Enum.sort_by(fn({_, ts, _, _, _, _}) -> ts end, &</2)
- count = Enum.reduce(qvc, 0, fn({_nick, _ts, points, _active, _type, _descr}, acc) -> acc + (points||0) end)
+ |> Enum.sort_by(fn({_, ts, _, _, _, _, _, _, _}) -> ts end, &</2)
+ count = Enum.reduce(qvc, 0, fn({_nick, _ts, points, _active, _cl, _deg, _type, _descr, _meta}, acc) -> acc + (points||0) end)
last = List.last(qvc) || nil
{count, last}
end
@@ -1102,6 +1231,10 @@ defmodule LSG.IRC.AlcoologPlugin do
# stop folding when ?
#
+ def user_stats(account) do
+ user_stats(data_state(), account.id)
+ end
+
defp user_stats(state = %{ets: ets}, account_id) do
meta = get_user_meta(state, account_id)
aday = (10 * 60)*60
@@ -1111,7 +1244,7 @@ defmodule LSG.IRC.AlcoologPlugin do
|> DateTime.to_unix(:millisecond)
#match = :ets.fun2ms(fn(obj = {{^nick, date}, _, _, _, _}) when date > before -> obj end)
match = [
- {{{:"$1", :"$2"}, :_, :_, :_, :_},
+ {{{:"$1", :"$2"}, :_, :_, :_, :_, :_, :_, :_},
[
{:>, :"$2", {:const, before}},
{:"=:=", {:const, account_id}, :"$1"}
@@ -1120,7 +1253,7 @@ defmodule LSG.IRC.AlcoologPlugin do
# tuple ets: {{nick, date}, volumes, current, nom, commentaire}
drinks = :ets.select(ets, match)
# {date, single_peak}
- total_volume = Enum.reduce(drinks, 0.0, fn({{_, date}, volume, _, _, _}, acc) ->
+ total_volume = Enum.reduce(drinks, 0.0, fn({{_, date}, volume, _, _, _, _, _, _}, acc) ->
acc + volume
end)
k = if meta.sex, do: 0.7, else: 0.6
@@ -1155,7 +1288,7 @@ defmodule LSG.IRC.AlcoologPlugin do
|> DateTime.to_unix(:millisecond)
#match = :ets.fun2ms(fn(obj = {{^nick, date}, _, _, _, _}) when date > before -> obj end)
match = [
- {{{:"$1", :"$2"}, :_, :_, :_, :_},
+ {{{:"$1", :"$2"}, :_, :_, :_, :_, :_, :_, :_},
[
{:>, :"$2", {:const, before}},
{:"=:=", {:const, account_id}, :"$1"}
@@ -1163,9 +1296,9 @@ defmodule LSG.IRC.AlcoologPlugin do
]
# tuple ets: {{nick, date}, volumes, current, nom, commentaire}
drinks = :ets.select(ets, match)
- |> Enum.sort_by(fn({{_, date}, _, _, _, _}) -> date end, &</2)
+ |> Enum.sort_by(fn({{_, date}, _, _, _, _, _, _, _}) -> date end, &</2)
# {date, single_peak}
- {all, last_drink_at, gl, active_drinks} = Enum.reduce(drinks, {0.0, nil, [], 0}, fn({{_, date}, volume, _, _, _}, {all, last_at, acc, active_drinks}) ->
+ {all, last_drink_at, gl, active_drinks} = Enum.reduce(drinks, {0.0, nil, [], 0}, fn({{_, date}, volume, _, _, _, _, _, _}, {all, last_at, acc, active_drinks}) ->
k = if meta.sex, do: 0.7, else: 0.6
weight = meta.weight
peak = (10*volume)/(k*weight)
@@ -1249,4 +1382,3 @@ defmodule LSG.IRC.AlcoologPlugin do
end
end
-
diff --git a/lib/lsg_irc/alcoolog_announcer_plugin.ex b/lib/lsg_irc/alcoolog_announcer_plugin.ex
index 28973ca..3902d5f 100644
--- a/lib/lsg_irc/alcoolog_announcer_plugin.ex
+++ b/lib/lsg_irc/alcoolog_announcer_plugin.ex
@@ -24,7 +24,26 @@ defmodule LSG.IRC.AlcoologAnnouncerPlugin do
def irc_doc, do: nil
- def start_link(), do: GenServer.start_link(__MODULE__, [])
+ def start_link(), do: GenServer.start_link(__MODULE__, [], name: __MODULE__)
+
+ def log(account) do
+ dets_filename = (LSG.data_path() <> "/" <> "alcoologlog.dets") |> String.to_charlist
+ {:ok, dets} = :dets.open_file(dets_filename, [{:type,:bag}])
+ from = ~U[2020-08-23 19:41:40.524154Z]
+ to = ~U[2020-08-24 19:41:40.524154Z]
+ select = [
+ {{:"$1", :"$2", :_},
+ [
+ {:andalso,
+ {:andalso, {:==, :"$1", {:const, account.id}},
+ {:>, :"$2", {:const, DateTime.to_unix(from)}}},
+ {:<, :"$2", {:const, DateTime.to_unix(to)}}}
+ ], [:"$_"]}
+ ]
+ res = :dets.select(dets, select)
+ :dets.close(dets)
+ res
+ end
def init(_) do
{:ok, _} = Registry.register(IRC.PubSub, "account", [])
@@ -32,21 +51,42 @@ defmodule LSG.IRC.AlcoologAnnouncerPlugin do
Process.send_after(self(), :stats, :timer.seconds(30))
dets_filename = (LSG.data_path() <> "/" <> "alcoologlog.dets") |> String.to_charlist
{:ok, dets} = :dets.open_file(dets_filename, [{:type,:bag}])
+ ets = nil # :ets.new(__MODULE__.ETS, [:ordered_set, :named_table, :protected, {:read_concurrency, true}])
#:ok = LSG.IRC.SettingPlugin.declare("alcoolog.alerts", __MODULE__, true, :boolean)
#:ok = LSG.IRC.SettingPlugin.declare("alcoolog.aperoalert", __MODULE__, true, :boolean)
- {:ok, {stats, now(), dets}}
+ #
+ {:ok, {stats, now(), dets, ets}}#, {:continue, :traverse}}
+ end
+
+ def handle_continue(:traverse, state = {_, _, dets, ets}) do
+ traverse_fun = fn(obj, dets) ->
+ case obj do
+ {nick, %DateTime{} = dt, active} ->
+ :dets.delete_object(dets, obj)
+ :dets.insert(dets, {nick, DateTime.to_unix(dt), active})
+ IO.puts("ok #{inspect obj}")
+ dets
+ {nick, ts, value} ->
+ :ets.insert(ets, { {nick, ts}, value })
+ dets
+ end
+ end
+ :dets.foldl(traverse_fun, dets, dets)
+ :dets.sync(dets)
+ IO.puts("alcoolog announcer fixed")
+ {:noreply, state}
end
def alcohol_reached(old, new, level) do
(old.active < level && new.active >= level) && (new.active5m >= level)
end
-
+
def alcohol_below(old, new, level) do
(old.active > level && new.active <= level) && (new.active5m <= level)
end
- def handle_info(:stats, {old_stats, old_now, dets}) do
+ def handle_info(:stats, {old_stats, old_now, dets, ets}) do
stats = get_stats()
now = now()
@@ -73,10 +113,13 @@ defmodule LSG.IRC.AlcoologAnnouncerPlugin do
new = Map.get(stats, acct, nil)
#IO.puts "#{acct}: #{inspect(old)} -> #{inspect(new)}"
+ now = DateTime.to_unix(DateTime.utc_now())
if new && new[:active] do
- :dets.insert(dets, {acct, DateTime.utc_now(), new[:active]})
+ :dets.insert(dets, {acct, now, new[:active]})
+ :ets.insert(ets, {{acct, now}, new[:active]})
else
- :dets.insert(dets, {acct, DateTime.utc_now(), 0.0})
+ :dets.insert(dets, {acct, now, 0.0})
+ :ets.insert(ets, {{acct, now}, new[:active]})
end
event = cond do
@@ -206,7 +249,7 @@ defmodule LSG.IRC.AlcoologAnnouncerPlugin do
timer()
#IO.puts "tick stats ok"
- {:noreply, {stats,now,dets}}
+ {:noreply, {stats,now,dets,ets}}
end
def handle_info(_, state) do
diff --git a/lib/lsg_irc/base_plugin.ex b/lib/lsg_irc/base_plugin.ex
index 69b02e8..a95f45c 100644
--- a/lib/lsg_irc/base_plugin.ex
+++ b/lib/lsg_irc/base_plugin.ex
@@ -3,14 +3,15 @@ defmodule LSG.IRC.BasePlugin do
def irc_doc, do: nil
def start_link() do
- GenServer.start_link(__MODULE__, [])
+ GenServer.start_link(__MODULE__, [], name: __MODULE__)
end
def init([]) do
- {:ok, _} = Registry.register(IRC.PubSub, "trigger:version", [])
- {:ok, _} = Registry.register(IRC.PubSub, "trigger:help", [])
- {:ok, _} = Registry.register(IRC.PubSub, "trigger:liquidrender", [])
- {:ok, _} = Registry.register(IRC.PubSub, "trigger:plugin", [])
+ regopts = [plugin: __MODULE__]
+ {:ok, _} = Registry.register(IRC.PubSub, "trigger:version", regopts)
+ {:ok, _} = Registry.register(IRC.PubSub, "trigger:help", regopts)
+ {:ok, _} = Registry.register(IRC.PubSub, "trigger:liquidrender", regopts)
+ {:ok, _} = Registry.register(IRC.PubSub, "trigger:plugin", regopts)
{:ok, nil}
end
@@ -105,4 +106,3 @@ defmodule LSG.IRC.BasePlugin do
end
end
-
diff --git a/lib/lsg_irc/bourosama_plugin.ex b/lib/lsg_irc/bourosama_plugin.ex
index 7dde662..ba63d81 100644
--- a/lib/lsg_irc/bourosama_plugin.ex
+++ b/lib/lsg_irc/bourosama_plugin.ex
@@ -13,14 +13,15 @@ defmodule LSG.IRC.BoursoramaPlugin do
end
def start_link() do
- GenServer.start_link(__MODULE__, [])
+ GenServer.start_link(__MODULE__, [], name: __MODULE__)
end
@cac40_url "https://www.boursorama.com/bourse/actions/palmares/france/?france_filter%5Bmarket%5D=1rPCAC&france_filter%5Bsector%5D=&france_filter%5Bvariation%5D=50002&france_filter%5Bperiod%5D=1&france_filter%5Bfilter%5D="
def init(_) do
- {:ok, _} = Registry.register(IRC.PubSub, "trigger:cac40", [])
- {:ok, _} = Registry.register(IRC.PubSub, "trigger:caca40", [])
+ regopts = [plugin: __MODULE__]
+ {:ok, _} = Registry.register(IRC.PubSub, "trigger:cac40", regopts)
+ {:ok, _} = Registry.register(IRC.PubSub, "trigger:caca40", regopts)
{:ok, nil}
end
diff --git a/lib/lsg_irc/calc_plugin.ex b/lib/lsg_irc/calc_plugin.ex
index b8eee39..ca65675 100644
--- a/lib/lsg_irc/calc_plugin.ex
+++ b/lib/lsg_irc/calc_plugin.ex
@@ -8,11 +8,11 @@ defmodule LSG.IRC.CalcPlugin do
def irc_doc, do: @moduledoc
def start_link() do
- GenServer.start_link(__MODULE__, [])
+ GenServer.start_link(__MODULE__, [], name: __MODULE__)
end
def init(_) do
- {:ok, _} = Registry.register(IRC.PubSub, "trigger:calc", [])
+ {:ok, _} = Registry.register(IRC.PubSub, "trigger:calc", [plugin: __MODULE__])
{:ok, nil}
end
@@ -35,4 +35,3 @@ defmodule LSG.IRC.CalcPlugin do
end
end
-
diff --git a/lib/lsg_irc/coronavirus_plugin.ex b/lib/lsg_irc/coronavirus_plugin.ex
index 8038d14..b9a9e40 100644
--- a/lib/lsg_irc/coronavirus_plugin.ex
+++ b/lib/lsg_irc/coronavirus_plugin.ex
@@ -14,15 +14,22 @@ defmodule LSG.IRC.CoronavirusPlugin do
"""
def irc_doc, do: @moduledoc
- def start_link(), do: GenServer.start_link(__MODULE__, [])
+ def start_link() do
+ GenServer.start_link(__MODULE__, [], name: __MODULE__)
+ end
def init(_) do
- {:ok, _} = Registry.register(IRC.PubSub, "trigger:coronavirus", [])
+ {:ok, _} = Registry.register(IRC.PubSub, "trigger:coronavirus", [plugin: __MODULE__])
+ {:ok, nil, {:continue, :init}}
+ :ignore
+ end
+
+ def handle_continue(:init, _) do
date = Date.add(Date.utc_today(), -2)
{data, _} = fetch_data(%{}, date)
{data, next} = fetch_data(data)
:timer.send_after(next, :update)
- {:ok, %{data: data}}
+ {:noreply, %{data: data}}
end
def handle_info(:update, state) do
@@ -163,4 +170,3 @@ defmodule LSG.IRC.CoronavirusPlugin do
end
end
-
diff --git a/lib/lsg_irc/correction_plugin.ex b/lib/lsg_irc/correction_plugin.ex
index e7b2577..f370cf8 100644
--- a/lib/lsg_irc/correction_plugin.ex
+++ b/lib/lsg_irc/correction_plugin.ex
@@ -7,12 +7,12 @@ defmodule LSG.IRC.CorrectionPlugin do
def irc_doc, do: @moduledoc
def start_link() do
- GenServer.start_link(__MODULE__, [])
+ GenServer.start_link(__MODULE__, [], name: __MODULE__)
end
def init(_) do
- {:ok, _} = Registry.register(IRC.PubSub, "message", [])
- {:ok, _} = Registry.register(IRC.PubSub, "triggers", [])
+ {:ok, _} = Registry.register(IRC.PubSub, "message", [plugin: __MODULE__])
+ {:ok, _} = Registry.register(IRC.PubSub, "triggers", [plugin: __MODULE__])
{:ok, %{}}
end
@@ -25,7 +25,7 @@ defmodule LSG.IRC.CorrectionPlugin do
{:noreply, correction(m, state)}
end
- defp correction(m, state) do
+ def correction(m, state) do
history = Map.get(state, key(m), [])
if String.starts_with?(m.text, "s/") do
case String.split(m.text, "/") do
diff --git a/lib/lsg_irc/dice_plugin.ex b/lib/lsg_irc/dice_plugin.ex
index a507b8e..eafd88a 100644
--- a/lib/lsg_irc/dice_plugin.ex
+++ b/lib/lsg_irc/dice_plugin.ex
@@ -17,11 +17,11 @@ defmodule LSG.IRC.DicePlugin do
def irc_doc, do: @moduledoc
def start_link() do
- GenServer.start_link(__MODULE__, [])
+ GenServer.start_link(__MODULE__, [], name: __MODULE__)
end
def init([]) do
- {:ok, _} = Registry.register(IRC.PubSub, "trigger:dice", [])
+ {:ok, _} = Registry.register(IRC.PubSub, "trigger:dice", [plugin: __MODULE__])
{:ok, %__MODULE__{}}
end
diff --git a/lib/lsg_irc/finance_plugin.ex b/lib/lsg_irc/finance_plugin.ex
index 7266a5e..51ec3f6 100644
--- a/lib/lsg_irc/finance_plugin.ex
+++ b/lib/lsg_irc/finance_plugin.ex
@@ -23,8 +23,8 @@ defmodule LSG.IRC.FinancePlugin do
"""
- @currency_list "https://www.alphavantage.co/physical_currency_list/"
- @crypto_list "https://www.alphavantage.co/digital_currency_list/"
+ @currency_list "http://www.alphavantage.co/physical_currency_list/"
+ @crypto_list "http://www.alphavantage.co/digital_currency_list/"
HTTPoison.start()
load_currency = fn(url) ->
@@ -47,13 +47,14 @@ defmodule LSG.IRC.FinancePlugin do
def irc_doc, do: @moduledoc
def start_link() do
- GenServer.start_link(__MODULE__, [])
+ GenServer.start_link(__MODULE__, [], name: __MODULE__)
end
def init([]) do
- {:ok, _} = Registry.register(IRC.PubSub, "trigger:forex", [])
- {:ok, _} = Registry.register(IRC.PubSub, "trigger:currency", [])
- {:ok, _} = Registry.register(IRC.PubSub, "trigger:stocks", [])
+ regopts = [plugin: __MODULE__]
+ {:ok, _} = Registry.register(IRC.PubSub, "trigger:forex", regopts)
+ {:ok, _} = Registry.register(IRC.PubSub, "trigger:currency", regopts)
+ {:ok, _} = Registry.register(IRC.PubSub, "trigger:stocks", regopts)
{:ok, nil}
end
diff --git a/lib/lsg_irc/kick_roulette_plugin.ex b/lib/lsg_irc/kick_roulette_plugin.ex
index 83efcb0..f810a74 100644
--- a/lib/lsg_irc/kick_roulette_plugin.ex
+++ b/lib/lsg_irc/kick_roulette_plugin.ex
@@ -7,11 +7,11 @@ defmodule LSG.IRC.KickRoulettePlugin do
def irc_doc, do: @moduledoc
def start_link() do
- GenServer.start_link(__MODULE__, [])
+ GenServer.start_link(__MODULE__, [], name: __MODULE__)
end
def init([]) do
- {:ok, _} = Registry.register(IRC.PubSub, "trigger:kick", [])
+ {:ok, _} = Registry.register(IRC.PubSub, "trigger:kick", [plugin: __MODULE__])
{:ok, nil}
end
diff --git a/lib/lsg_irc/last_fm_plugin.ex b/lib/lsg_irc/last_fm_plugin.ex
index 067a44e..8497f2d 100644
--- a/lib/lsg_irc/last_fm_plugin.ex
+++ b/lib/lsg_irc/last_fm_plugin.ex
@@ -14,13 +14,14 @@ defmodule LSG.IRC.LastFmPlugin do
def irc_doc, do: @moduledoc
def start_link() do
- GenServer.start_link(__MODULE__, [])
+ GenServer.start_link(__MODULE__, [], name: __MODULE__)
end
def init([]) do
- {:ok, _} = Registry.register(IRC.PubSub, "account", [])
- {:ok, _} = Registry.register(IRC.PubSub, "trigger:lastfm", [])
- {:ok, _} = Registry.register(IRC.PubSub, "trigger:lastfmall", [])
+ regopts = [type: __MODULE__]
+ {:ok, _} = Registry.register(IRC.PubSub, "account", regopts)
+ {:ok, _} = Registry.register(IRC.PubSub, "trigger:lastfm", regopts)
+ {:ok, _} = Registry.register(IRC.PubSub, "trigger:lastfmall", regopts)
dets_filename = (LSG.data_path() <> "/" <> "lastfm.dets") |> String.to_charlist
{:ok, dets} = :dets.open_file(dets_filename, [])
{:ok, %__MODULE__{dets: dets}}
diff --git a/lib/lsg_irc/link_plugin.ex b/lib/lsg_irc/link_plugin.ex
index ea6df0c..ced80b2 100644
--- a/lib/lsg_irc/link_plugin.ex
+++ b/lib/lsg_irc/link_plugin.ex
@@ -52,8 +52,8 @@ defmodule LSG.IRC.LinkPlugin do
defstruct [:client]
def init([]) do
- {:ok, _} = Registry.register(IRC.PubSub, "message", [])
- #{:ok, _} = Registry.register(IRC.PubSub, "message:telegram", [])
+ {:ok, _} = Registry.register(IRC.PubSub, "message", [plugin: __MODULE__])
+ #{:ok, _} = Registry.register(IRC.PubSub, "message:telegram", [plugin: __MODULE__])
Logger.info("Link handler started")
{:ok, %__MODULE__{}}
end
@@ -159,7 +159,7 @@ defmodule LSG.IRC.LinkPlugin do
{length, _} = Integer.parse(length)
handlers = Keyword.get(Application.get_env(:lsg, __MODULE__, [handlers: []]), :handlers)
- handler = Enum.reduce_while(handlers, nil, fn({module, opts}, acc) ->
+ handler = Enum.reduce_while(handlers, false, fn({module, opts}, acc) ->
module = Module.concat([module])
try do
case module.post_match(url, content_type, headers, opts) do
@@ -225,8 +225,9 @@ defmodule LSG.IRC.LinkPlugin do
end
end
- defp get_body(_, len, client, _, _acc) do
+ defp get_body(_, len, client, h, _acc) do
:hackney.close(client)
+ IO.inspect(h)
{:ok, "Error: file over 30"}
end
@@ -243,6 +244,8 @@ defmodule LSG.IRC.LinkPlugin do
{:error, status, _headers} ->
text = Plug.Conn.Status.reason_phrase(status)
{:ok, acc, "Error: HTTP #{text} (#{status})"}
+ {:error, {:tls_alert, {:handshake_failure, err}}} ->
+ {:ok, acc, "TLS Error: #{to_string(err)}"}
{:error, reason} ->
{:ok, acc, "Error: #{to_string(reason)}"}
end
diff --git a/lib/lsg_irc/np_handler.ex b/lib/lsg_irc/np_handler.ex
index 5f724d4..1a52c75 100644
--- a/lib/lsg_irc/np_handler.ex
+++ b/lib/lsg_irc/np_handler.ex
@@ -8,12 +8,12 @@ defmodule LSG.IRC.NpHandler do
def short_irc_doc, do: "!np (en ce moment sur 115ans)"
def irc_doc, do: @moduledoc
def start_link(client) do
- GenServer.start_link(__MODULE__, [client])
+ GenServer.start_link(__MODULE__, [client], name: __MODULE__)
end
def init([client]) do
ExIRC.Client.add_handler client, self
- {:ok, _} = Registry.register(LSG.BroadcastRegistry, "icecast", [])
+ {:ok, _} = Registry.register(LSG.BroadcastRegistry, "icecast", [plugin: __MODULE__])
{:ok, client}
end
diff --git a/lib/lsg_irc/outline_plugin.ex b/lib/lsg_irc/outline_plugin.ex
index 7bfaac1..471448b 100644
--- a/lib/lsg_irc/outline_plugin.ex
+++ b/lib/lsg_irc/outline_plugin.ex
@@ -12,14 +12,15 @@ defmodule LSG.IRC.OutlinePlugin do
require Logger
def start_link() do
- GenServer.start_link(__MODULE__, [])
+ GenServer.start_link(__MODULE__, [], name: __MODULE__)
end
defstruct [:file, :hosts]
def init([]) do
- {:ok, _} = Registry.register(IRC.PubSub, "trigger:outline", [])
- {:ok, _} = Registry.register(IRC.PubSub, "message", [])
+ regopts = [plugin: __MODULE__]
+ {:ok, _} = Registry.register(IRC.PubSub, "trigger:outline", regopts)
+ {:ok, _} = Registry.register(IRC.PubSub, "message", regopts)
file = Path.join(LSG.data_path, "/outline.txt")
hosts = case File.read(file) do
{:error, :enoent} ->
@@ -51,7 +52,8 @@ defmodule LSG.IRC.OutlinePlugin do
uri = URI.parse(word)
if uri.scheme && uri.host do
if Enum.any?(state.hosts, fn(host) -> String.ends_with?(uri.host, host) end) do
- line = "-> https://outline.com/#{word}"
+ outline_url = outline(word)
+ line = "-> #{outline(word)}"
message.replyfun.(line)
end
end
@@ -69,4 +71,32 @@ defmodule LSG.IRC.OutlinePlugin do
File.write(file, string)
end
+ def outline(url) do
+ unexpanded = "https://outline.com/#{url}"
+ headers = [
+ {"User-Agent", "Mozilla/5.0 (X11; Linux x86_64; rv:77.0) Gecko/20100101 Firefox/77.0"},
+ {"Accept", "*/*"},
+ {"Accept-Language", "en-US,en;q=0.5"},
+ {"Origin", "https://outline.com"},
+ {"DNT", "1"},
+ {"Referer", unexpanded},
+ {"Pragma", "no-cache"},
+ {"Cache-Control", "no-cache"}
+ ]
+ params = %{"source_url" => url}
+ case HTTPoison.get("https://api.outline.com/v3/parse_article", headers, params: params) do
+ {:ok, %HTTPoison.Response{status_code: 200, body: json}} ->
+ body = Poison.decode!(json)
+ if Map.get(body, "success") do
+ code = get_in(body, ["data", "short_code"])
+ "https://outline.com/#{code}"
+ else
+ unexpanded
+ end
+ error ->
+ Logger.info("outline.com error: #{inspect error}")
+ unexpanded
+ end
+ end
+
end
diff --git a/lib/lsg_irc/preums_plugin.ex b/lib/lsg_irc/preums_plugin.ex
index 1f9a76b..7bb2c78 100644
--- a/lib/lsg_irc/preums_plugin.ex
+++ b/lib/lsg_irc/preums_plugin.ex
@@ -6,6 +6,35 @@ defmodule LSG.IRC.PreumsPlugin do
* `.preums`: stats des preums
"""
+ # WIP Scores
+ # L'idée c'est de donner un score pour mettre un peu de challenge en pénalisant les preums faciles.
+ #
+ # Un preums ne vaut pas 1 point, mais plutôt 0.10 ou 0.05, et on arrondi au plus proche. C'est un jeu sur le long
+ # terme. Un gros bonus pourrait apporter beaucoup de points.
+ #
+ # Il faudrait ces données:
+ # - moyenne des preums
+ # - activité récente du channel et par nb actifs d'utilisateurs
+ # (aggréger memberships+usertrack last_active ?)
+ # (faire des stats d'activité habituelle (un peu a la pisg) ?)
+ # - preums consécutifs
+ #
+ # Malus:
+ # - est proche de la moyenne en faible activité
+ # - trop consécutif de l'utilisateur sauf si activité
+ #
+ # Bonus:
+ # - plus le preums est éloigné de la moyenne
+ # - après 18h double
+ # - plus l'activité est élévée, exponentiel selon la moyenne
+ # - derns entre 4 et 6 (pourrait être adapté selon les stats d'activité)
+ #
+ # WIP Badges:
+ # - derns
+ # - streaks
+ # - faciles
+ # - ?
+
require Logger
@perfects [~r/preum(s|)/i]
@@ -17,9 +46,9 @@ defmodule LSG.IRC.PreumsPlugin do
end
def all(dets, channel) do
- fun = fn({{chan, date}, nick, time, perfect, text}, acc) ->
+ fun = fn({{chan, date}, account_id, time, perfect, text}, acc) ->
if channel == chan do
- [%{date: date, nick: nick, time: time, perfect: perfect, text: text} | acc]
+ [%{date: date, account_id: account_id, time: time, perfect: perfect, text: text} | acc]
else
acc
end
@@ -27,22 +56,28 @@ defmodule LSG.IRC.PreumsPlugin do
:dets.foldl(fun, [], dets)
end
- def topnicks(dets, channel) do
- fun = fn(x = {{chan, date}, nick, _time, _perfect, _text}, acc) ->
+ def topnicks(dets, channel, options \\ []) do
+ sort_elem = case Keyword.get(options, :sort_by, :score) do
+ :score -> 1
+ :count -> 0
+ end
+
+ fun = fn(x = {{chan, date}, account_id, time, perfect, text}, acc) ->
if (channel == nil and chan) or (channel == chan) do
- count = Map.get(acc, nick, 0)
- Map.put(acc, nick, count + 1)
+ {count, points} = Map.get(acc, account_id, {0, 0})
+ score = score(chan, account_id, time, perfect, text)
+ Map.put(acc, account_id, {count + 1, points + score})
else
acc
end
end
:dets.foldl(fun, %{}, dets)
- |> Enum.sort_by(fn({nick, count}) -> count end, &>=/2)
+ |> Enum.sort_by(fn({_account_id, value}) -> elem(value, sort_elem) end, &>=/2)
end
def irc_doc, do: @moduledoc
def start_link() do
- GenServer.start_link(__MODULE__, [])
+ GenServer.start_link(__MODULE__, [], name: __MODULE__)
end
def dets do
@@ -50,9 +85,10 @@ defmodule LSG.IRC.PreumsPlugin do
end
def init([]) do
- {:ok, _} = Registry.register(IRC.PubSub, "account", [])
- {:ok, _} = Registry.register(IRC.PubSub, "message", [])
- {:ok, _} = Registry.register(IRC.PubSub, "triggers", [])
+ regopts = [plugin: __MODULE__]
+ {:ok, _} = Registry.register(IRC.PubSub, "account", regopts)
+ {:ok, _} = Registry.register(IRC.PubSub, "message", regopts)
+ {:ok, _} = Registry.register(IRC.PubSub, "triggers", regopts)
{:ok, dets} = :dets.open_file(dets(), [{:repair, :force}])
Util.ets_mutate_select_each(:dets, dets, [{:"$1", [], [:"$1"]}], fn(table, obj) ->
{key, nick, now, perfect, text} = obj
@@ -98,14 +134,17 @@ defmodule LSG.IRC.PreumsPlugin do
i
else
case :dets.lookup(state.dets, key) do
- [item = {^key, _nick, _now, _perfect, _text}] -> item
+ [item = {^key, _account_id, _now, _perfect, _text}] -> item
_ -> nil
end
end
if item do
- {_, nick, date, _perfect, text} = item
+ {_, account_id, date, _perfect, text} = item
h = "#{date.hour}:#{date.minute}:#{date.second}"
+ account = IRC.Account.get(account_id)
+ user = IRC.UserTrack.find_by_account(m.network, account)
+ nick = if(user, do: user.nick, else: account.name)
m.replyfun.("preums: #{nick} à #{h}: “#{text}”")
end
{:noreply, state}
@@ -115,11 +154,13 @@ defmodule LSG.IRC.PreumsPlugin do
def handle_info({:irc, :trigger, "preums", m = %IRC.Message{trigger: %IRC.Trigger{type: :dot}}}, state) do
channel = {m.network, m.channel}
state = handle_preums(m, state)
- top = topnicks(state.dets, channel)
- |> Enum.map(fn({nick, count}) ->
- "#{nick} (#{count})"
+ top = topnicks(state.dets, channel, sort_by: :score)
+ |> Enum.map(fn({account_id, {count, score}}) ->
+ account = IRC.Account.get(account_id)
+ user = IRC.UserTrack.find_by_account(m.network, account)
+ nick = if(user, do: user.nick, else: account.name)
+ "#{nick}: #{score} (#{count})"
end)
- |> Enum.filter(fn(x) -> x end)
|> Enum.intersperse(", ")
|> Enum.join("")
msg = unless top == "" do
@@ -227,4 +268,9 @@ defmodule LSG.IRC.PreumsPlugin do
end
end
+ def score(_chan, _account, _time, _perfect, _text) do
+ 1
+ end
+
+
end
diff --git a/lib/lsg_irc/quatre_cent_vingt_plugin.ex b/lib/lsg_irc/quatre_cent_vingt_plugin.ex
index db85d49..fff7e4f 100644
--- a/lib/lsg_irc/quatre_cent_vingt_plugin.ex
+++ b/lib/lsg_irc/quatre_cent_vingt_plugin.ex
@@ -30,16 +30,17 @@ defmodule LSG.IRC.QuatreCentVingtPlugin do
def irc_doc, do: @moduledoc
- def start_link, do: GenServer.start_link(__MODULE__, [])
+ def start_link, do: GenServer.start_link(__MODULE__, [], name: __MODULE__)
def init(_) do
for coeff <- @coeffs do
- {:ok, _} = Registry.register(IRC.PubSub, "trigger:#{420*coeff}", [])
+ {:ok, _} = Registry.register(IRC.PubSub, "trigger:#{420*coeff}", [plugin: __MODULE__])
end
- {:ok, _} = Registry.register(IRC.PubSub, "account", [])
+ {:ok, _} = Registry.register(IRC.PubSub, "account", [plugin: __MODULE__])
dets_filename = (LSG.data_path() <> "/420.dets") |> String.to_charlist
{:ok, dets} = :dets.open_file(dets_filename, [{:type,:bag},{:repair,:force}])
{:ok, dets}
+ :ignore
end
for coeff <- @coeffs do
diff --git a/lib/lsg_irc/say_plugin.ex b/lib/lsg_irc/say_plugin.ex
index 6a4f547..690d0a6 100644
--- a/lib/lsg_irc/say_plugin.ex
+++ b/lib/lsg_irc/say_plugin.ex
@@ -14,13 +14,14 @@ defmodule LSG.IRC.SayPlugin do
end
def start_link() do
- GenServer.start_link(__MODULE__, [])
+ GenServer.start_link(__MODULE__, [], name: __MODULE__)
end
def init([]) do
- {:ok, _} = Registry.register(IRC.PubSub, "trigger:say", [])
- {:ok, _} = Registry.register(IRC.PubSub, "trigger:asay", [])
- {:ok, _} = Registry.register(IRC.PubSub, "message:private", [])
+ regopts = [type: __MODULE__]
+ {:ok, _} = Registry.register(IRC.PubSub, "trigger:say", regopts)
+ {:ok, _} = Registry.register(IRC.PubSub, "trigger:asay", regopts)
+ {:ok, _} = Registry.register(IRC.PubSub, "message:private", regopts)
{:ok, nil}
end
diff --git a/lib/lsg_irc/script_plugin.ex b/lib/lsg_irc/script_plugin.ex
index 28ae2a7..bae6f3f 100644
--- a/lib/lsg_irc/script_plugin.ex
+++ b/lib/lsg_irc/script_plugin.ex
@@ -19,11 +19,11 @@ defmodule LSG.IRC.ScriptPlugin do
def irc_doc, do: @ircdoc
def start_link() do
- GenServer.start_link(__MODULE__, [])
+ GenServer.start_link(__MODULE__, [], name: __MODULE__)
end
def init([]) do
- {:ok, _} = Registry.register(IRC.PubSub, "trigger:script", [])
+ {:ok, _} = Registry.register(IRC.PubSub, "trigger:script", [plugin: __MODULE__])
dets_filename = (LSG.data_path() <> "/" <> "scripts.dets") |> String.to_charlist
{:ok, dets} = :dets.open_file(dets_filename, [])
{:ok, %{dets: dets}}
@@ -40,4 +40,3 @@ defmodule LSG.IRC.ScriptPlugin do
end
end
-
diff --git a/lib/lsg_irc/seen_plugin.ex b/lib/lsg_irc/seen_plugin.ex
index 8b2178f..f1a5473 100644
--- a/lib/lsg_irc/seen_plugin.ex
+++ b/lib/lsg_irc/seen_plugin.ex
@@ -7,12 +7,13 @@ defmodule LSG.IRC.SeenPlugin do
def irc_doc, do: @moduledoc
def start_link() do
- GenServer.start_link(__MODULE__, [])
+ GenServer.start_link(__MODULE__, [], name: __MODULE__)
end
def init([]) do
- {:ok, _} = Registry.register(IRC.PubSub, "triggers", [])
- {:ok, _} = Registry.register(IRC.PubSub, "message", [])
+ regopts = [plugin: __MODULE__]
+ {:ok, _} = Registry.register(IRC.PubSub, "triggers", regopts)
+ {:ok, _} = Registry.register(IRC.PubSub, "message", regopts)
dets_filename = (LSG.data_path() <> "/seen.dets") |> String.to_charlist()
{:ok, dets} = :dets.open_file(dets_filename, [])
{:ok, %{dets: dets}}
diff --git a/lib/lsg_irc/sms_plugin.ex b/lib/lsg_irc/sms_plugin.ex
index 60554fb..a37fb4e 100644
--- a/lib/lsg_irc/sms_plugin.ex
+++ b/lib/lsg_irc/sms_plugin.ex
@@ -54,7 +54,7 @@ defmodule LSG.IRC.SmsPlugin do
end
def start_link() do
- GenServer.start_link(__MODULE__, [])
+ GenServer.start_link(__MODULE__, [], name: __MODULE__)
end
def path() do
@@ -88,9 +88,10 @@ defmodule LSG.IRC.SmsPlugin do
end
def init([]) do
- {:ok, _} = Registry.register(IRC.PubSub, "trigger:sms", [])
+ {:ok, _} = Registry.register(IRC.PubSub, "trigger:sms", [plugin: __MODULE__])
:ok = register_ovh_callback()
{:ok, %{}}
+ :ignore
end
def handle_info({:irc, :trigger, "sms", m = %IRC.Message{trigger: %IRC.Trigger{type: :bang, args: [nick | text]}}}, state) do
diff --git a/lib/lsg_irc/tell_plugin.ex b/lib/lsg_irc/tell_plugin.ex
new file mode 100644
index 0000000..a683b43
--- /dev/null
+++ b/lib/lsg_irc/tell_plugin.ex
@@ -0,0 +1,93 @@
+defmodule LSG.IRC.TellPlugin do
+ use GenServer
+
+ @moduledoc """
+ # Tell
+
+ * **!tell `<nick>` `<message>`**: tell `message` to `nick` when they reconnect.
+ """
+
+ def irc_doc, do: @moduledoc
+ def start_link() do
+ GenServer.start_link(__MODULE__, [], name: __MODULE__)
+ end
+
+ def dets do
+ (LSG.data_path() <> "/tell.dets") |> String.to_charlist()
+ end
+
+ def init([]) do
+ regopts = [plugin: __MODULE__]
+ {:ok, _} = Registry.register(IRC.PubSub, "account", regopts)
+ {:ok, _} = Registry.register(IRC.PubSub, "trigger:tell", regopts)
+ {:ok, dets} = :dets.open_file(dets(), [type: :bag])
+ {:ok, %{dets: dets}}
+ end
+
+ def handle_info({:irc, :trigger, "tell", m = %IRC.Message{trigger: %IRC.Trigger{type: :bang, args: [nick_target | message]}}}, state) do
+ target = IRC.Account.find_always_by_nick(m.network, m.channel, nick_target)
+ message = Enum.join(message, " ")
+ with \
+ {:target, %IRC.Account{} = target} <- {:target, target},
+ {:same, false} <- {:same, target.id == m.account.id},
+ target_user = IRC.UserTrack.find_by_account(m.network, target),
+ target_nick = if(target_user, do: target_user.nick, else: target.name),
+ present? = if(target_user, do: Map.has_key?(target_user.last_active, m.channel)),
+ {:absent, true, _} <- {:absent, !present?, target_nick},
+ {:message, message} <- {:message, message}
+ do
+ obj = { {m.network, m.channel, target.id}, m.account.id, message, NaiveDateTime.utc_now()}
+ :dets.insert(state.dets, obj)
+ m.replyfun.("will tell to #{target_nick}")
+ else
+ {:same, _} -> m.replyfun.("are you so stupid that you need a bot to tell yourself things ?")
+ {:target, _} -> m.replyfun.("#{nick_target} unknown")
+ {:absent, _, nick} -> m.replyfun.("#{nick} is here, tell yourself!")
+ {:message, _} -> m.replyfun.("can't tell without a message")
+ end
+ {:noreply, state}
+ end
+
+ def handle_info({:account, network, channel, nick, account_id}, state) do
+ messages = :dets.lookup(state.dets, {network, channel, account_id})
+ if messages != [] do
+ strs = Enum.map(messages, fn({_, from, message, at}) ->
+ account = IRC.Account.get(from)
+ user = IRC.UserTrack.find_by_account(network, account)
+ fromnick = if user, do: user.nick, else: account.name
+ "#{nick}: <#{fromnick}> #{message}"
+ end)
+ Enum.each(strs, fn(s) -> IRC.Connection.broadcast_message(network, channel, s) end)
+ :dets.delete(state.dets, {network, channel, account_id})
+ end
+ {:noreply, state}
+ end
+
+ def handle_info({:account_change, old_id, new_id}, state) do
+ #:ets.fun2ms(fn({ {_net, _chan, target_id}, from_id, _, _} = obj) when (target_id == old_id) or (from_id == old_id) -> obj end)
+ spec = [{{{:"$1", :"$2", :"$3"}, :"$4", :_, :_}, [{:orelse, {:==, :"$3", {:const, old_id}}, {:==, :"$4", {:const, old_id}}}], [:"$_"]}]
+ Util.Util.ets_mutate_select_each(:dets, state.dets, spec, fn(table, obj) ->
+ case obj do
+ { {net, chan, ^old_id}, from_id, message, at } = obj ->
+ :dets.delete(obj)
+ :dets.insert(table, {{net, chan, new_id}, from_id, message, at})
+ {key, ^old_id, message, at} = obj ->
+ :dets.delete(table, obj)
+ :dets.insert(table, {key, new_id, message, at})
+ _ -> :ok
+ end
+ end)
+ {:noreply, state}
+ end
+
+
+ def handle_info(info, state) do
+ {:noreply, state}
+ end
+
+ def terminate(_, state) do
+ :dets.close(state.dets)
+ :ok
+ end
+
+end
diff --git a/lib/lsg_irc/txt_plugin.ex b/lib/lsg_irc/txt_plugin.ex
index f8c3a29..0f97bcc 100644
--- a/lib/lsg_irc/txt_plugin.ex
+++ b/lib/lsg_irc/txt_plugin.ex
@@ -33,7 +33,7 @@ defmodule LSG.IRC.TxtPlugin do
def irc_doc, do: @moduledoc
def start_link() do
- GenServer.start_link(__MODULE__, [])
+ GenServer.start_link(__MODULE__, [], name: __MODULE__)
end
defstruct triggers: %{}, rw: true, locks: nil, markov_handler: nil, markov: nil
@@ -43,7 +43,7 @@ defmodule LSG.IRC.TxtPlugin do
{:ok, locks} = :dets.open_file(dets_locks_filename, [])
markov_handler = Keyword.get(Application.get_env(:lsg, __MODULE__, []), :markov_handler, LSG.IRC.TxtPlugin.Markov.Native)
{:ok, markov} = markov_handler.start_link()
- {:ok, _} = Registry.register(IRC.PubSub, "triggers", [])
+ {:ok, _} = Registry.register(IRC.PubSub, "triggers", [plugin: __MODULE__])
{:ok, %__MODULE__{locks: locks, markov_handler: markov_handler, markov: markov, triggers: load()}}
end
@@ -147,13 +147,21 @@ defmodule LSG.IRC.TxtPlugin do
def handle_info({:irc, :trigger, "txt", msg = %{trigger: %{type: :bang, args: args}}}, state) do
grep = Enum.join(args, " ")
- result = with_stateful_results(msg, {:bang,"txt",grep}, fn() ->
+ |> String.downcase
+ |> :unicode.characters_to_nfd_binary()
+
+ result = with_stateful_results(msg, {:bang,"txt",msg.network,msg.channel,grep}, fn() ->
Enum.reduce(state.triggers, [], fn({trigger, data}, acc) ->
Enum.reduce(data, acc, fn({l, _}, acc) ->
[{trigger, l} | acc]
end)
end)
- |> Enum.filter(fn({_, line}) -> String.contains?(String.downcase(line), String.downcase(grep)) end)
+ |> Enum.filter(fn({_, line}) ->
+ line
+ |> String.downcase()
+ |> :unicode.characters_to_nfd_binary()
+ |> String.contains?(grep)
+ end)
|> Enum.shuffle()
end)
diff --git a/lib/lsg_irc/untappd_plugin.ex b/lib/lsg_irc/untappd_plugin.ex
index 02b22e3..69e4be6 100644
--- a/lib/lsg_irc/untappd_plugin.ex
+++ b/lib/lsg_irc/untappd_plugin.ex
@@ -18,7 +18,7 @@ defmodule LSG.IRC.UntappdPlugin do
end
def init(_) do
- {:ok, _} = Registry.register(IRC.PubSub, "trigger:beer", [])
+ {:ok, _} = Registry.register(IRC.PubSub, "trigger:beer", [plugin: __MODULE__])
{:ok, %{}}
end
diff --git a/lib/lsg_irc/wikipedia_plugin.ex b/lib/lsg_irc/wikipedia_plugin.ex
index 16e7c42..618eb66 100644
--- a/lib/lsg_irc/wikipedia_plugin.ex
+++ b/lib/lsg_irc/wikipedia_plugin.ex
@@ -11,11 +11,11 @@ defmodule LSG.IRC.WikipediaPlugin do
def irc_doc, do: @moduledoc
def start_link() do
- GenServer.start_link(__MODULE__, [])
+ GenServer.start_link(__MODULE__, [], name: __MODULE__)
end
def init(_) do
- {:ok, _} = Registry.register(IRC.PubSub, "trigger:wp", [])
+ {:ok, _} = Registry.register(IRC.PubSub, "trigger:wp", [plugin: __MODULE__])
{:ok, nil}
end
diff --git a/lib/lsg_irc/wolfram_alpha_plugin.ex b/lib/lsg_irc/wolfram_alpha_plugin.ex
index b34db56..c07f659 100644
--- a/lib/lsg_irc/wolfram_alpha_plugin.ex
+++ b/lib/lsg_irc/wolfram_alpha_plugin.ex
@@ -11,11 +11,11 @@ defmodule LSG.IRC.WolframAlphaPlugin do
def irc_doc, do: @moduledoc
def start_link() do
- GenServer.start_link(__MODULE__, [])
+ GenServer.start_link(__MODULE__, [], name: __MODULE__)
end
def init(_) do
- {:ok, _} = Registry.register(IRC.PubSub, "trigger:wa", [])
+ {:ok, _} = Registry.register(IRC.PubSub, "trigger:wa", [plugin: __MODULE__])
{:ok, nil}
end
diff --git a/lib/lsg_irc/youtube_plugin.ex b/lib/lsg_irc/youtube_plugin.ex
index e0781f0..49fc31c 100644
--- a/lib/lsg_irc/youtube_plugin.ex
+++ b/lib/lsg_irc/youtube_plugin.ex
@@ -12,12 +12,11 @@ defmodule LSG.IRC.YouTubePlugin do
def irc_doc, do: @moduledoc
def start_link() do
- GenServer.start_link(__MODULE__, [])
+ GenServer.start_link(__MODULE__, [], name: __MODULE__)
end
def init([]) do
- {:ok, _} = Registry.register(IRC.PubSub, "trigger:yt", [])
- {:ok, _} = Registry.register(IRC.PubSub, "trigger:youtube", [])
+ for t <- ["trigger:yt", "trigger:youtube"], do: {:ok, _} = Registry.register(IRC.PubSub, t, [plugin: __MODULE__])
{:ok, %__MODULE__{}}
end
diff --git a/lib/lsg_web.ex b/lib/lsg_web.ex
index f5dee6f..113d00d 100644
--- a/lib/lsg_web.ex
+++ b/lib/lsg_web.ex
@@ -17,6 +17,10 @@ defmodule LSGWeb do
and import those modules here.
"""
+ def format_chan("##") do
+ "♯♯"
+ end
+
def format_chan("#") do
"♯"
end
@@ -26,7 +30,10 @@ defmodule LSGWeb do
end
def reformat_chan("♯") do
- ""
+ "#"
+ end
+ def reformat_chan("♯♯") do
+ "##"
end
def reformat_chan(chan) do
diff --git a/lib/lsg_web/controllers/alcoolog_controller.ex b/lib/lsg_web/controllers/alcoolog_controller.ex
index b88faa3..6542f15 100644
--- a/lib/lsg_web/controllers/alcoolog_controller.ex
+++ b/lib/lsg_web/controllers/alcoolog_controller.ex
@@ -16,6 +16,166 @@ defmodule LSGWeb.AlcoologController do
end
end
+ def nick(conn = %{assigns: %{account: account}}, params = %{"network" => network, "nick" => nick}) do
+ profile_account = IRC.Account.find_always_by_nick(network, nick, nick)
+ days = String.to_integer(Map.get(params, "days", "180"))
+ friend? = Enum.member?(IRC.Membership.friends(account), profile_account.id)
+ if friend? do
+ stats = LSG.IRC.AlcoologPlugin.get_full_statistics(profile_account.id)
+ history = for {{nick, ts}, points, active, cl, deg, type, descr, meta} <- LSG.IRC.AlcoologPlugin.nick_history(profile_account) do
+ %{
+ at: ts |> DateTime.from_unix!(:millisecond),
+ points: points,
+ active: active,
+ cl: cl,
+ deg: deg,
+ type: type,
+ description: descr,
+ meta: meta
+ }
+ end
+ history = Enum.sort(history, &(DateTime.compare(&1.at, &2.at) != :lt))
+ |> IO.inspect()
+ conn
+ |> assign(:title, "alcoolog #{nick}")
+ |> render("user.html", network: network, profile: profile_account, days: days, nick: nick, history: history, stats: stats)
+ else
+ conn
+ |> put_status(404)
+ |> text("Page not found")
+ end
+ end
+
+ def nick_stats_json(conn = %{assigns: %{account: account}}, params = %{"network" => network, "nick" => nick}) do
+ profile_account = IRC.Account.find_always_by_nick(network, nick, nick)
+ friend? = Enum.member?(IRC.Membership.friends(account), profile_account.id)
+ if friend? do
+ stats = LSG.IRC.AlcoologPlugin.get_full_statistics(profile_account.id)
+
+ conn
+ |> put_resp_content_type("application/json")
+ |> text(Jason.encode!(stats))
+ else
+ conn
+ |> put_status(404)
+ |> json([])
+ end
+ end
+
+ def nick_gls_json(conn = %{assigns: %{account: account}}, params = %{"network" => network, "nick" => nick}) do
+ profile_account = IRC.Account.find_always_by_nick(network, nick, nick)
+ friend? = Enum.member?(IRC.Membership.friends(account), profile_account.id)
+ count = String.to_integer(Map.get(params, "days", "180"))
+ if friend? do
+ data = LSG.IRC.AlcoologPlugin.user_over_time_gl(profile_account, count)
+ delay = count*((24 * 60)*60)
+ now = DateTime.utc_now()
+ start_date = DateTime.utc_now()
+ |> DateTime.shift_zone!("Europe/Paris", Tzdata.TimeZoneDatabase)
+ |> DateTime.add(-delay, :second, Tzdata.TimeZoneDatabase)
+ |> DateTime.to_date()
+ |> Date.to_erl()
+ filled = (:calendar.date_to_gregorian_days(start_date) .. :calendar.date_to_gregorian_days(DateTime.utc_now |> DateTime.to_date() |> Date.to_erl))
+ |> Enum.to_list
+ |> Enum.map(&(:calendar.gregorian_days_to_date(&1)))
+ |> Enum.map(&Date.from_erl!(&1))
+ |> Enum.map(fn(date) ->
+ %{date: date, gls: Map.get(data, date, 0)}
+ end)
+ |> Enum.sort(&(Date.compare(&1.date, &2.date) != :gt))
+
+ conn
+ |> put_resp_content_type("application/json")
+ |> text(Jason.encode!(filled))
+ else
+ conn
+ |> put_status(404)
+ |> json([])
+ end
+ end
+
+
+
+ def nick_volumes_json(conn = %{assigns: %{account: account}}, params = %{"network" => network, "nick" => nick}) do
+ profile_account = IRC.Account.find_always_by_nick(network, nick, nick)
+ friend? = Enum.member?(IRC.Membership.friends(account), profile_account.id)
+ count = String.to_integer(Map.get(params, "days", "180"))
+ if friend? do
+ data = LSG.IRC.AlcoologPlugin.user_over_time(profile_account, count)
+ delay = count*((24 * 60)*60)
+ now = DateTime.utc_now()
+ start_date = DateTime.utc_now()
+ |> DateTime.shift_zone!("Europe/Paris", Tzdata.TimeZoneDatabase)
+ |> DateTime.add(-delay, :second, Tzdata.TimeZoneDatabase)
+ |> DateTime.to_date()
+ |> Date.to_erl()
+ filled = (:calendar.date_to_gregorian_days(start_date) .. :calendar.date_to_gregorian_days(DateTime.utc_now |> DateTime.to_date() |> Date.to_erl))
+ |> Enum.to_list
+ |> Enum.map(&(:calendar.gregorian_days_to_date(&1)))
+ |> Enum.map(&Date.from_erl!(&1))
+ |> Enum.map(fn(date) ->
+ %{date: date, volumes: Map.get(data, date, 0)}
+ end)
+ |> Enum.sort(&(Date.compare(&1.date, &2.date) != :gt))
+
+ conn
+ |> put_resp_content_type("application/json")
+ |> text(Jason.encode!(filled))
+ else
+ conn
+ |> put_status(404)
+ |> json([])
+ end
+ end
+
+ def nick_log_json(conn = %{assigns: %{account: account}}, %{"network" => network, "nick" => nick}) do
+ profile_account = IRC.Account.find_always_by_nick(network, nick, nick)
+ friend? = Enum.member?(IRC.Membership.friends(account), profile_account.id)
+ if friend? do
+ history = for {{nick, ts}, points, active, cl, deg, type, descr, meta} <- LSG.IRC.AlcoologPlugin.nick_history(profile_account) do
+ %{
+ at: ts |> DateTime.from_unix!(:millisecond) |> DateTime.to_iso8601(),
+ points: points,
+ active: active,
+ cl: cl,
+ deg: deg,
+ type: type,
+ description: descr,
+ meta: meta
+ }
+ end
+ last = List.last(history)
+ {_, active} = LSG.IRC.AlcoologPlugin.user_stats(profile_account)
+ last = %{last | active: active, at: DateTime.utc_now() |> DateTime.to_iso8601()}
+ history = history ++ [last]
+
+ conn
+ |> put_resp_content_type("application/json")
+ |> text(Jason.encode!(history))
+ else
+ conn
+ |> put_status(404)
+ |> json([])
+ end
+ end
+
+ def nick_history_json(conn = %{assigns: %{account: account}}, %{"network" => network, "nick" => nick}) do
+ profile_account = IRC.Account.find_always_by_nick(network, nick, nick)
+ friend? = Enum.member?(IRC.Membership.friends(account), profile_account.id)
+ if friend? do
+ history = for {_, date, value} <- LSG.IRC.AlcoologAnnouncerPlugin.log(profile_account) do
+ %{date: DateTime.to_iso8601(date), value: value}
+ end
+ conn
+ |> put_resp_content_type("application/json")
+ |> text(Jason.encode!(history))
+ else
+ conn
+ |> put_status(404)
+ |> json([])
+ end
+ end
+
def index(conn = %{assigns: %{account: account}}, %{"network" => network, "chan" => channel}) do
index(conn, account, network, LSGWeb.reformat_chan(channel))
end
@@ -40,16 +200,22 @@ defmodule LSGWeb.AlcoologController do
#end
def index(conn, account, network, channel) do
- aday = 18*((24 * 60)*60)
+ aday = ((24 * 60)*60)
now = DateTime.utc_now()
- before = now
- |> DateTime.add(-aday, :second)
- |> DateTime.to_unix(:millisecond)
+ before7 = now
+ |> DateTime.add(-(7*aday), :second)
+ |> DateTime.to_unix(:millisecond)
+ before15 = now
+ |> DateTime.add(-(15*aday), :second)
+ |> DateTime.to_unix(:millisecond)
+ before31 = now
+ |> DateTime.add(-(31*aday), :second)
+ |> DateTime.to_unix(:millisecond)
#match = :ets.fun2ms(fn(obj = {{^nick, date}, _, _, _, _}) when date > before -> obj end)
match = [
- {{{:_, :"$1"}, :_, :_, :_, :_},
+ {{{:_, :"$1"}, :_, :_, :_, :_, :_, :_, :_},
[
- {:>, :"$1", {:const, before}},
+ {:>, :"$1", {:const, before15}},
], [:"$_"]}
]
@@ -58,13 +224,13 @@ defmodule LSGWeb.AlcoologController do
members_ids = Enum.map(members, fn({account, _, nick}) -> account.id end)
member_names = Enum.reduce(members, %{}, fn({account, _, nick}, acc) -> Map.put(acc, account.id, nick) end)
drinks = :ets.select(LSG.IRC.AlcoologPlugin.ETS, match)
- |> Enum.filter(fn({{account, _}, _, _, _, _}) -> Enum.member?(members_ids, account) end)
- |> Enum.map(fn({{account, _}, _, _, _, _} = object) -> {object, Map.get(member_names, account)} end)
- |> Enum.sort_by(fn({{{_, ts}, _, _, _, _}, _}) -> ts end, &>/2)
+ |> Enum.filter(fn({{account, _}, _vol, _cur, _cl, _deg, _name, _cmt, _meta}) -> Enum.member?(members_ids, account) end)
+ |> Enum.map(fn({{account, _}, _, _, _, _, _, _, _} = object) -> {object, Map.get(member_names, account)} end)
+ |> Enum.sort_by(fn({{{_, ts}, _, _, _, _, _, _, _}, _}) -> ts end, &>/2)
stats = LSG.IRC.AlcoologPlugin.get_channel_statistics(account, network, channel)
- top = Enum.reduce(drinks, %{}, fn({{{account_id, _}, vol, _, _, _}, _}, acc) ->
+ top = Enum.reduce(drinks, %{}, fn({{{account_id, _}, vol, _, _, _, _, _, _}, _}, acc) ->
nick = Map.get(member_names, account_id)
all = Map.get(acc, nick, 0)
Map.put(acc, nick, all + vol)
@@ -77,4 +243,81 @@ defmodule LSGWeb.AlcoologController do
|> render("index.html", network: network, channel: channel, drinks: drinks, top: top, stats: stats)
end
+ def index_gls_json(conn = %{assigns: %{account: account}}, %{"network" => network, "chan" => channel}) do
+ count = 30
+ channel = LSGWeb.reformat_chan(channel)
+ members = IRC.Membership.expanded_members_or_friends(account, network, channel)
+ members_ids = Enum.map(members, fn({account, _, nick}) -> account.id end)
+ member_names = Enum.reduce(members, %{}, fn({account, _, nick}, acc) -> Map.put(acc, account.id, nick) end)
+ delay = count*((24 * 60)*60)
+ now = DateTime.utc_now()
+ start_date = DateTime.utc_now()
+ |> DateTime.shift_zone!("Europe/Paris", Tzdata.TimeZoneDatabase)
+ |> DateTime.add(-delay, :second, Tzdata.TimeZoneDatabase)
+ |> DateTime.to_date()
+ |> Date.to_erl()
+ filled = (:calendar.date_to_gregorian_days(start_date) .. :calendar.date_to_gregorian_days(DateTime.utc_now |> DateTime.to_date() |> Date.to_erl))
+ |> Enum.to_list
+ |> Enum.map(&(:calendar.gregorian_days_to_date(&1)))
+ |> Enum.map(&Date.from_erl!(&1))
+ |> Enum.map(fn(date) ->
+ {date, (for {a, _, _} <- members, into: Map.new, do: {Map.get(member_names, a.id, a.id), 0})}
+ end)
+ |> Enum.into(Map.new)
+
+ gls = Enum.reduce(members, filled, fn({account, _, _}, gls) ->
+ Enum.reduce(LSG.IRC.AlcoologPlugin.user_over_time_gl(account, count), gls, fn({date, gl}, gls) ->
+ u = Map.get(gls, date, %{})
+ |> Map.put(Map.get(member_names, account.id, account.id), gl)
+ Map.put(gls, date, u)
+ end)
+ end)
+
+ dates = (:calendar.date_to_gregorian_days(start_date) .. :calendar.date_to_gregorian_days(DateTime.utc_now |> DateTime.to_date() |> Date.to_erl))
+ |> Enum.to_list
+ |> Enum.map(&(:calendar.gregorian_days_to_date(&1)))
+ |> Enum.map(&Date.from_erl!(&1))
+
+ filled2 = Enum.map(member_names, fn({_, name}) ->
+ history = (:calendar.date_to_gregorian_days(start_date) .. :calendar.date_to_gregorian_days(DateTime.utc_now |> DateTime.to_date() |> Date.to_erl))
+ |> Enum.to_list
+ |> Enum.map(&(:calendar.gregorian_days_to_date(&1)))
+ |> Enum.map(&Date.from_erl!(&1))
+ |> Enum.map(fn(date) ->
+ get_in(gls, [date, name]) #%{date: date, gl: get_in(gls, [date, name])}
+ end)
+ if Enum.all?(history, fn(x) -> x == 0 end) do
+ nil
+ else
+ %{name: name, history: history}
+ end
+ end)
+ |> Enum.filter(fn(x) -> x end)
+
+ conn
+ |> put_resp_content_type("application/json")
+ |> text(Jason.encode!(%{labels: dates, data: filled2}))
+ end
+
+ def minisync(conn, %{"user_id" => user_id, "key" => key, "value" => value}) do
+ account = IRC.Account.get(user_id)
+ if account do
+ ds = LSG.IRC.AlcoologPlugin.data_state()
+ meta = LSG.IRC.AlcoologPlugin.get_user_meta(ds, account.id)
+ case Float.parse(value) do
+ {val, _} ->
+ new_meta = Map.put(meta, String.to_existing_atom(key), val)
+ LSG.IRC.AlcoologPlugin.put_user_meta(ds, account.id, new_meta)
+ _ ->
+ conn
+ |> put_status(:unprocessable_entity)
+ |> text("invalid value")
+ end
+ else
+ conn
+ |> put_status(:not_found)
+ |> text("not found")
+ end
+ end
+
end
diff --git a/lib/lsg_web/controllers/irc_controller.ex b/lib/lsg_web/controllers/irc_controller.ex
index e0bf24d..317bb27 100644
--- a/lib/lsg_web/controllers/irc_controller.ex
+++ b/lib/lsg_web/controllers/irc_controller.ex
@@ -52,11 +52,16 @@ defmodule LSGWeb.IrcController do
conn.assigns[:chan] -> "/#{conn.assigns.network}/#{LSGWeb.format_chan(conn.assigns.chan)}"
true -> "/-"
end
- if Map.has_key?(data, txt) do
+ if lines = Map.get(data, txt) do
+ lines = Enum.map(lines, fn(line) ->
+ line
+ |> String.split("\\\\")
+ |> Enum.intersperse(Phoenix.HTML.Tag.tag(:br))
+ end)
conn
|> assign(:breadcrumbs, [{"txt", "#{base_url}/txt"}])
|> assign(:title, "#{txt}.txt")
- |> render("txt.html", name: txt, data: data[txt], doc: nil)
+ |> render("txt.html", name: txt, data: lines, doc: nil)
else
conn
|> put_status(404)
diff --git a/lib/lsg_web/router.ex b/lib/lsg_web/router.ex
index de7fafb..d681ed9 100644
--- a/lib/lsg_web/router.ex
+++ b/lib/lsg_web/router.ex
@@ -33,13 +33,20 @@ defmodule LSGWeb.Router do
get "/-/alcoolog", AlcoologController, :index
get "/-/alcoolog/~/:account_name", AlcoologController, :index
get "/:network", NetworkController, :index
+ get "/:network/~:nick/alcoolog", AlcoologController, :nick
+ get "/:network/~:nick/alcoolog/log.json", AlcoologController, :nick_log_json
+ get "/:network/~:nick/alcoolog/gls.json", AlcoologController, :nick_gls_json
+ get "/:network/~:nick/alcoolog/volumes.json", AlcoologController, :nick_volumes_json
+ get "/:network/~:nick/alcoolog/history.json", AlcoologController, :nick_history_json
+ get "/:network/~:nick/alcoolog/stats.json", AlcoologController, :nick_stats_json
+ get "/:network/:chan/alcoolog", AlcoologController, :index
+ get "/:network/:chan/alcoolog/gls.json", AlcoologController, :index_gls_json
+ put "/api/alcoolog/minisync/:user_id/meta/:key", AlcoologController, :minisync_put_meta
get "/:network/:chan", IrcController, :index
get "/:network/:chan/txt", IrcController, :txt
get "/:network/:chan/txt/:name", IrcController, :txt
get "/:network/:channel/preums", IrcController, :preums
- get "/:network/:chan/alcoolog", AlcoologController, :index
get "/:network/:chan/alcoolog/t/:token", AlcoologController, :token
- get "/:network/alcoolog/~/:nick", AlcoologController, :nick
end
end
diff --git a/lib/lsg_web/templates/alcoolog/index.html.eex b/lib/lsg_web/templates/alcoolog/index.html.eex
index e656e64..3f522e9 100644
--- a/lib/lsg_web/templates/alcoolog/index.html.eex
+++ b/lib/lsg_web/templates/alcoolog/index.html.eex
@@ -5,54 +5,202 @@ ol li {
</style>
<%= if @stats == [] do %>
- </strong><i>:o personne ne boit</i></strong>
+ <div class="rounded-md bg-red-50 p-4">
+ <div class="flex">
+ <div class="flex-shrink-0">
+ <svg class="h-5 w-5 text-red-400" viewBox="0 0 20 20" fill="currentColor">
+ <path fill-rule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zM8.707 7.293a1 1 0 00-1.414 1.414L8.586 10l-1.293 1.293a1 1 0 101.414 1.414L10 11.414l1.293 1.293a1 1 0 001.414-1.414L11.414 10l1.293-1.293a1 1 0 00-1.414-1.414L10 8.586 8.707 7.293z" clip-rule="evenodd" />
+ </svg>
+ </div>
+ <div class="ml-3">
+ <h3 class="text-sm leading-5 font-medium text-red-800">
+ CATASTROPHE! Personne n'a bu!!!!
+ </h3>
+ </div>
+ </div>
+ </div>
<% end %>
-<ul>
+<ul class="grid grid-cols-1 gap-6 sm:grid-cols-2 lg:grid-cols-3">
<%= for {nick, status} <- @stats do %>
- <li><strong><%= nick %> <%= status.user_status %> - <%= status.trend_symbol %> <%= status.active %> g/l</strong><br/>
- &mdash; 15m: <%= status.active15m %> g/l - 30m: <%= status.active30m %> g/l - 1h: <%= status.active1h %> g/l<br />
- &mdash; dernier verre: <%= status.last_type %> <%= status.last_descr %> (<%= status.last_points %>)
- <%= LSGWeb.LayoutView.format_time(status.last_at) %>
- <br />
- &mdash; sobre dans: <%= status.sober_in_s %>
- <br />
- <small>
- &mdash; aujourd'hui: <%= status.daily_volumes %> points, <%= status.daily_gl %> g/l
- </small>
+ <li class="col-span-1 bg-white rounded-lg shadow">
+ <div class="w-full flex items-center justify-between p-6 space-x-6">
+ <div class="flex-1 truncate">
+ <div class="flex items-center space-x-3">
+ <h3 class="text-gray-900 text-base leading-5 font-semibold truncate"><%= link nick, to: alcoolog_path(@conn, :nick, @network, nick) %></h3>
+ <% rising_class = if status.rising, do: "teal", else: "red" %>
+ <span class="flex-shrink-0 inline-block px-2 py-0.5 text-<%= rising_class %>-800 text-sm leading-4 font-medium bg-<%= rising_class %>-100 rounded-full">
+ <%= status.trend_symbol %> <%= Float.round(status.active, 4) %> g/l
+ </span>
+ </div>
+ <p class="mt-1 text-gray-700 text-sm leading-5 truncate">
+ <span class="text-base"><%= status.last_cl %>cl @ <%= status.last_deg %>°</span>
+ <%= if status.last_descr && status.last_descr != "" do %>
+ <br /><%= status.last_descr %>
+ <% end %>
+ <br/><small><%= LSGWeb.LayoutView.format_time(status.last_at) %></small>
+ </p>
+
+ <p class="mt-1 text-gray-500 text-sm leading-5 truncate">
+ <br />
+ &mdash; sobre dans: <%= status.sober_in_s %><br />
+ <%= if status.since do %>
+ &mdash; depuis: <%= status.since_s %><br />
+ <% end %>
+ <small>
+ &mdash; 15m: <%= status.active15m %> g/l - 30m: <%= status.active30m %> g/l - 1h: <%= status.active1h %> g/l<br />
+ &mdash; aujourd'hui: <%= status.daily_volumes %> points, <%= status.daily_gl %> g/l
+ </small>
+ </p>
+
+
+ </div>
+ </div>
</li>
<% end %>
</ul>
<%= if @stats == %{} do %>
- <strong><i>... et personne n'a bu :o :o :o</i></strong>
+ <div class="rounded-md bg-red-50 p-4">
+ <div class="flex">
+ <div class="flex-shrink-0">
+ <svg class="h-5 w-5 text-red-400" viewBox="0 0 20 20" fill="currentColor">
+ <path fill-rule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zM8.707 7.293a1 1 0 00-1.414 1.414L8.586 10l-1.293 1.293a1 1 0 101.414 1.414L10 11.414l1.293 1.293a1 1 0 001.414-1.414L11.414 10l1.293-1.293a1 1 0 00-1.414-1.414L10 8.586 8.707 7.293z" clip-rule="evenodd" />
+ </svg>
+ </div>
+ <div class="ml-3">
+ <h3 class="text-sm leading-5 font-medium text-red-800">
+ ENCORE PIRE! Aucune boisson enregistrée!
+ </h3>
+ </div>
+ </div>
+ </div>
<% else %>
- <p>
- top consommateur par volume, les 7 derniers jours: <%= Enum.intersperse(for({nick, count} <- @top, do: "#{nick}: #{Float.round(count,4)}"), ", ") %>
- </p>
-
- <table class="table">
- <thead>
- <tr>
- <th scope="col">date</th>
- <th scope="col">nick</th>
- <th scope="col">points</th>
- <th scope="col">nom</th>
- </tr>
- </thead>
- <tbody>
- <%= for {{{account, date}, points, _, nom, comment}, nick} <- @drinks do %>
- <% date = DateTime.from_unix!(date, :millisecond) %>
- <th scope="row"><%= LSGWeb.LayoutView.format_time(date, false) %></th>
- <td><%= nick %></td>
- <td><%= Float.round(points+0.0, 5) %></td>
- <td><%= nom||"" %> <%= comment||"" %></td>
- </tr>
- <% end %>
- </tbody>
- </table>
+
+<canvas id="myChart" class="w-full" height="200"></canvas>
+
+ <h2 class="leading-8 m-4 font-semibold text-2xl">Classement <span class="font-medium text-gray-600 text-lg">15 jours</span></h2>
+
+<ul class="grid grid-cols-1 gap-6 sm:grid-cols-5 lg:grid-cols-5">
+ <%= for {{nick, count}, rank} <- Enum.with_index(@top) do %>
+ <% rank = rank + 1 %>
+ <% trophy = rank <= 3 %>
+ <% {colour, text} = case rank do
+1 -> {"yellow-500", "font-semibold text-base"}
+2 -> {"gray-500", "font-medium text-base"}
+3 -> {"orange-300", "font-medium text-base"}
+_ -> {"gray-300", ""}
+ end %>
+ <li class="col-span-1 bg-white rounded-lg shadow text-center <%= text %>">
+ <%= if trophy do %>
+ <span class="text-<%= colour %>">
+ <svg style="width: 1.125em; height: 1.5em; display: inline-block;" aria-hidden="true" focusable="false" data-prefix="fas" data-icon="trophy" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512" data-fa-i2svg=""><path fill="currentColor" d="M552 64H448V24c0-13.3-10.7-24-24-24H152c-13.3 0-24 10.7-24 24v40H24C10.7 64 0 74.7 0 88v56c0 35.7 22.5 72.4 61.9 100.7 31.5 22.7 69.8 37.1 110 41.7C203.3 338.5 240 360 240 360v72h-48c-35.3 0-64 20.7-64 56v12c0 6.6 5.4 12 12 12h296c6.6 0 12-5.4 12-12v-12c0-35.3-28.7-56-64-56h-48v-72s36.7-21.5 68.1-73.6c40.3-4.6 78.6-19 110-41.7 39.3-28.3 61.9-65 61.9-100.7V88c0-13.3-10.7-24-24-24zM99.3 192.8C74.9 175.2 64 155.6 64 144v-16h64.2c1 32.6 5.8 61.2 12.8 86.2-15.1-5.2-29.2-12.4-41.7-21.4zM512 144c0 16.1-17.7 36.1-35.3 48.8-12.5 9-26.7 16.2-41.8 21.4 7-25 11.8-53.6 12.8-86.2H512v16z"></path></svg>
+ </span>
+ <% end %>
+ #<%= rank %>: <%= link nick, to: alcoolog_path(@conn, :nick, @network, nick) %>
+ <br />
+ <span class="text-xs"><%= Float.round(count, 4) %></span>
+ </li>
+ <% end %>
+</ul>
+
+ <h2 class="leading-8 m-4 font-semibold text-2xl">Historique</h2>
+<div class="flex flex-col">
+ <div class="-my-2 py-2 overflow-x-auto sm:-mx-6 sm:px-6 lg:-mx-8 lg:px-8">
+ <div class="align-middle inline-block min-w-full shadow overflow-hidden sm:rounded-lg border-b border-gray-200">
+ <table class="min-w-full divide-y divide-gray-200">
+ <thead>
+ <tr>
+ <th class="px-6 py-3 bg-gray-50 text-left text-xs leading-4 font-medium text-gray-500 uppercase tracking-wider">
+ date
+ </th>
+ <th class="px-6 py-3 bg-gray-50 text-left text-xs leading-4 font-medium text-gray-500 uppercase tracking-wider">
+ nick
+ </th>
+ <th class="px-6 py-3 bg-gray-50 text-left text-xs leading-4 font-medium text-gray-500 uppercase tracking-wider">
+ &nbsp;
+ </th>
+ <th class="px-6 py-3 bg-gray-50 text-left text-xs leading-4 font-medium text-gray-500 uppercase tracking-wider">
+ &nbsp;
+ </th>
+ </tr>
+ </thead>
+ <tbody>
+ <%= for {{{{account, date}, points, _active, cl, deg, nom, comment, _meta}, nick}, index} <- Enum.with_index(@drinks) do %>
+ <% class = if(Integer.is_even(index), do: "bg-gray-50", else: "bg-white") %>
+ <% date = DateTime.from_unix!(date, :millisecond) %>
+ <tr class="<%= class %>">
+ <td class="px-6 py-4 whitespace-no-wrap text-sm leading-5 font-medium text-gray-900">
+ <%= LSGWeb.LayoutView.format_time(date, false) %>
+ </td>
+ <td class="px-6 py-4 whitespace-no-wrap text-sm leading-5 font-medium text-gray-900">
+ <%= link nick, to: alcoolog_path(@conn, :nick, @network, nick) %>
+ </td>
+ <td class="px-6 py-4 whitespace-no-wrap text-sm leading-5 text-gray-500"><%= cl %>cl <%= deg %>°</td>
+ <td class="px-6 py-4 whitespace-no-wrap text-sm leading-5 text-gray-500"><%= comment||"" %></td>
+ </tr>
+ <% end %>
+ </tbody>
+ </table>
+ </div>
+ </div>
+</div>
<% end %>
<%= if @conn.assigns.account && (@network || @channel) do %>
<%= link("alcoolog global", to: alcoolog_path(@conn, :index)) %>
<% end %>
+
+<link href='/assets/css/metricsgraphics.css' rel='stylesheet' type='text/css'>
+<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.9.3/Chart.css" integrity="sha512-SUJFImtiT87gVCOXl3aGC00zfDl6ggYAw5+oheJvRJ8KBXZrr/TMISSdVJ5bBarbQDRC2pR5Kto3xTR0kpZInA==" crossorigin="anonymous" />
+<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.9.3/Chart.bundle.min.js" integrity="sha512-vBmx0N/uQOXznm/Nbkp7h0P1RfLSj0HQrFSzV8m7rOGyj30fYAOKHYvCNez+yM8IrfnW0TCodDEjRqf6fodf/Q==" crossorigin="anonymous"></script>
+<script src="/assets/js/jquery3.1.0.min.js"></script>
+<script src="/assets/js/d3.v4.min.js"></script>
+<script src="/assets/js/metricsgraphics.min.js"></script>
+ <script type="text/javascript">
+ (function() {
+ // oui s trè moch :( :( :(
+var ctx = document.getElementById('myChart').getContext('2d');
+ d3.json('<%= alcoolog_path(@conn, :index_gls_json, @network, LSGWeb.format_chan(@channel)) %>', function(data) {
+
+ var dynamicColors = function() {
+ var r = Math.floor(Math.random() * 255);
+ var g = Math.floor(Math.random() * 255);
+ var b = Math.floor(Math.random() * 255);
+ return "rgb(" + r + "," + g + "," + b + ")";
+ };
+
+ labels = data.labels;
+ datasets = $.map($.makeArray(data.data), function(set) {
+ return {label: set.name, data: set.history, fill: false, borderColor: dynamicColors()}
+ });
+
+
+var myChart = new Chart(ctx, {
+ type: 'line',
+ data: {
+ labels: labels,
+ datasets: datasets
+ },
+ options: {
+ scales: {
+ xAxes: [{
+ type: 'time',
+ time: {
+ unit: 'day'
+ }
+ }],
+ yAxes: [{
+ ticks: {
+ beginAtZero: true
+ }
+ }]
+ }
+ }
+});
+});
+
+
+})();
+</script>
+
diff --git a/lib/lsg_web/templates/alcoolog/user.html.eex b/lib/lsg_web/templates/alcoolog/user.html.eex
new file mode 100644
index 0000000..3b2b20b
--- /dev/null
+++ b/lib/lsg_web/templates/alcoolog/user.html.eex
@@ -0,0 +1,170 @@
+<%= if @stats.active > 0 do %>
+ <h3 class="text-gray-900 text-xl leading-5 font-semibold truncate">
+ <% rising_class = if @stats.rising, do: "teal", else: "red" %>
+ <span class="flex-shrink-0 inline-block px-3 py-3 text-<%= rising_class %>-800 text-2xl leading-4 font-medium bg-<%= rising_class %>-100 rounded-full">
+ <%= @stats.trend_symbol %> <%= Float.round(@stats.active, 4) %> g/l
+ </span>
+
+ <span class="px-3"><%= @stats.last_cl %>cl @ <%= @stats.last_deg %>°</span>
+
+ <span class="px-3 text-lg text-gray-700"><%= if @stats.last_descr && @stats.last_descr != "" do %>
+ <%= @stats.last_descr %>
+ <% end %>
+ </span>
+
+ <span class="px-3 text-gray-500 text-sm font-thin"><%= LSGWeb.LayoutView.format_time(@stats.last_at) %></span>
+
+ </h3>
+
+ <p class="text-gray-500 font-thin text-lg">
+ a commencé il y a <span class="text-gray-700 font-semibold"><%= @stats.since_s %></span>
+ &mdash;
+ sobre dans <span class="text-gray-700 font-semibold"><%= @stats.sober_in_s %></span>
+ </p>
+<% else %>
+ <h3 class="text-gray-900 text-xl leading-5 font-semibold truncate">
+ est sobre!
+
+ <p class="text-gray-500 font-thin text-lg">
+ dernier verre
+ <span class="px-3"><%= @stats.last_cl %>cl @ <%= @stats.last_deg %>°</span>
+
+ <span class="px-3 text-lg text-gray-700"><%= if @stats.last_descr && @stats.last_descr != "" do %>
+ <%= @stats.last_descr %>
+ <% end %>
+ </span>
+
+ <span class="px-3 text-gray-500 text-sm font-thin"><%= LSGWeb.LayoutView.format_time(@stats.last_at) %></span>
+ </h3>
+<% end %>
+
+<canvas id="myChart" class="w-full" height="200"></canvas>
+<canvas id="myChartGl" class="w-full" height="200"></canvas>
+
+
+<h2 class="leading-8 m-4 font-semibold text-2xl">Historique</h2>
+<div class="flex flex-col">
+ <div class="-my-2 py-2 overflow-x-auto sm:-mx-6 sm:px-6 lg:-mx-8 lg:px-8">
+ <div class="align-middle inline-block min-w-full shadow overflow-hidden sm:rounded-lg border-b border-gray-200">
+ <table class="min-w-full divide-y divide-gray-200">
+ <thead>
+ <tr>
+ <th class="px-6 py-3 bg-gray-50 text-left text-xs leading-4 font-medium text-gray-500 uppercase tracking-wider">
+ date
+ </th>
+ <th class="px-6 py-3 bg-gray-50 text-left text-xs leading-4 font-medium text-gray-500 uppercase tracking-wider">
+ &nbsp;
+ </th>
+ <th class="px-6 py-3 bg-gray-50 text-left text-xs leading-4 font-medium text-gray-500 uppercase tracking-wider">
+ &nbsp;
+ </th>
+ </tr>
+ </thead>
+ <tbody>
+ <%= for {%{at: date, cl: cl, deg: deg, description: comment}, index} <- Enum.with_index(@history) do %>
+ <% class = if(Integer.is_even(index), do: "bg-gray-50", else: "bg-white") %>
+ <tr class="<%= class %>">
+ <td class="px-6 py-4 whitespace-no-wrap text-sm leading-5 font-medium text-gray-900">
+ <%= LSGWeb.LayoutView.format_time(date, false) %>
+ </td>
+ <td class="px-6 py-4 whitespace-no-wrap text-sm leading-5 text-gray-500"><%= cl %>cl <%= deg %>°</td>
+ <td class="px-6 py-4 whitespace-no-wrap text-sm leading-5 text-gray-500"><%= comment||"" %></td>
+ </tr>
+ <% end %>
+ </tbody>
+ </table>
+ </div>
+ </div>
+</div>
+
+<div id="metrics-gl" class="w-full"></div>
+
+<link href='/assets/css/metricsgraphics.css' rel='stylesheet' type='text/css'>
+<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.9.3/Chart.css" integrity="sha512-SUJFImtiT87gVCOXl3aGC00zfDl6ggYAw5+oheJvRJ8KBXZrr/TMISSdVJ5bBarbQDRC2pR5Kto3xTR0kpZInA==" crossorigin="anonymous" />
+<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.9.3/Chart.bundle.min.js" integrity="sha512-vBmx0N/uQOXznm/Nbkp7h0P1RfLSj0HQrFSzV8m7rOGyj30fYAOKHYvCNez+yM8IrfnW0TCodDEjRqf6fodf/Q==" crossorigin="anonymous"></script>
+<script src="/assets/js/jquery3.1.0.min.js"></script>
+<script src="/assets/js/d3.v4.min.js"></script>
+<script src="/assets/js/metricsgraphics.min.js"></script>
+ <script type="text/javascript">
+ (function() {
+var ctx = document.getElementById('myChart').getContext('2d');
+ d3.json('<%= alcoolog_path(@conn, :nick_volumes_json, @network, @nick, days: @days) %>', function(data) {
+var myChart = new Chart(ctx, {
+ type: 'bar',
+ data: {
+ labels: data.map(function(data) { return new Date(data.date) }),
+ datasets: [{
+ label: 'Volumes d\'alcool',
+ data: data.map(function(data) { return data.volumes }),
+ borderWidth: 1
+ }]
+ },
+ options: {
+ scales: {
+ xAxes: [{
+ type: 'time',
+ time: {
+ unit: 'day'
+ }
+ }],
+ yAxes: [{
+ ticks: {
+ beginAtZero: true
+ }
+ }]
+ }
+ }
+});
+});
+
+
+
+
+var ctxgl = document.getElementById('myChartGl').getContext('2d');
+ d3.json('<%= alcoolog_path(@conn, :nick_gls_json, @network, @nick, days: @days) %>', function(data) {
+var myChartgl = new Chart(ctxgl, {
+ type: 'bar',
+ data: {
+ labels: data.map(function(data) { return new Date(data.date) }),
+ datasets: [{
+ label: 'g/l ingérés',
+ data: data.map(function(data) { return data.gls }),
+ borderWidth: 1
+ }]
+ },
+ options: {
+ scales: {
+ xAxes: [{
+ type: 'time',
+ time: {
+ unit: 'day'
+ }
+ }],
+ yAxes: [{
+ ticks: {
+ beginAtZero: true
+ }
+ }]
+ }
+ }
+});
+});
+
+
+ d3.json('<%= alcoolog_path(@conn, :nick_log_json, @network, @nick, days: @days) %>', function(data) {
+ data = data.map(function(d) {
+ date = new Date(d.at);
+ return {"date": date, "active": d.active};
+ });
+ MG.data_graphic({
+ title: "g/l, All Time",
+ data: data,
+ width: 1000,
+ height: 400,
+ target: document.getElementById('metrics-gl'),
+ x_accessor: 'date',
+ y_accessor: 'active',
+ });
+ });
+})();
+</script>
diff --git a/lib/lsg_web/templates/irc/index.html.eex b/lib/lsg_web/templates/irc/index.html.eex
index 9e4f724..a8544b3 100644
--- a/lib/lsg_web/templates/irc/index.html.eex
+++ b/lib/lsg_web/templates/irc/index.html.eex
@@ -1,19 +1,12 @@
-<style type="text/css">
-.help-entry h1 {
- font-size: 18px;
-}
-.help-entry h2 {
- font-size: 16px;
-}
-</style>
-
-<p>
+<div class="hidden sm:block">
+ <nav class="flex flex-wrap content-center">
<% list = for {identifier, _} <- @commands do %>
<% name = String.replace(identifier, "_", " ") %>
- <%= link(name, to: "##{identifier}") %>
+ <%= link(name, to: "##{identifier}", class: "px-3 py-2 font-medium text-sm leading-5 rounded-md text-gray-500 hover:text-gray-700 focus:outline-none focus:text-indigo-600 focus:bg-indigo-50") %>
<% end %>
- <small><%= Enum.intersperse(list, " - ") %></small>
-</p>
+ <%= list %>
+ </nav>
+</div>
<%= if @members != [] do %>
<% users = for {_acc, user, nick} <- @members, do: if(user, do: nick, else: content_tag(:i, nick)) %>
@@ -22,10 +15,12 @@
<% end %>
<% end %>
-<div class="irchelps">
+<div class="irchelps space-y-6">
<%= for {identifier, help} <- @commands do %>
<%= if help do %>
- <div class="help-entry" id="<%= identifier %>"><%= LSGWeb.LayoutView.liquid_markdown(@conn, help) %></div>
+ <div class="bg-white border-b border-gray-200" id="<%= identifier %>">
+ <div class="prose w-auto max-w-full"><%= LSGWeb.LayoutView.liquid_markdown(@conn, help) %></div>
+ </div>
<% end %>
<% end %>
</div>
diff --git a/lib/lsg_web/templates/irc/txt.html.eex b/lib/lsg_web/templates/irc/txt.html.eex
index e9df681..fd4ea00 100644
--- a/lib/lsg_web/templates/irc/txt.html.eex
+++ b/lib/lsg_web/templates/irc/txt.html.eex
@@ -1,15 +1,27 @@
<style type="text/css">
-ol li {
- margin-bottom: 5px
+:target {
+ background-color: #ffa;
+ font-weight: bold;
+}
+ol > li > a {
+ display: none;
+}
+ol > li:hover > a {
+ display: inline-block;
+ color: gray;
}
</style>
-<ol>
+<ol class="prose space-y-3 w-auto max-w-full list-outside list-decimal m-4 leading-loose">
<%= for {txt, id} <- Enum.with_index(@data) do %>
- <li id="<%= @name %>-<%= id %>"><%= txt %></li>
+ <li class="text-lg" id="q<%= id+1 %>">
+
+ <%= txt %>
+ <a href="#q<%= id+1 %>" class="text-xs text-gray-500 space-x-3">#</a>
+ </li>
<% end %>
</ol>
<p>
- <a href="/irc/txt/<%= @name %>.txt">télécharger au format texte</a>
+ <a href="/-/txt/<%= @name %>.txt" class="text-xs text-gray-500">télécharger au format texte</a>
</p>
diff --git a/lib/lsg_web/templates/irc/txts.html.eex b/lib/lsg_web/templates/irc/txts.html.eex
index 5971ffa..66321b5 100644
--- a/lib/lsg_web/templates/irc/txts.html.eex
+++ b/lib/lsg_web/templates/irc/txts.html.eex
@@ -1,25 +1,26 @@
-<style type="text/css">
-.help-entry h1 {
- font-size: 18px;
-}
-.help-entry h2 {
- font-size: 16px;
-}
-</style>
-
-<p><strong><%= @lines %></strong> lignes dans <strong><%= @files %></strong> fichiers.
-<a href="#help">Aide</a>.
-</p>
-
-<ul>
+<div>
+ <h2 class="text-gray-500 text-xs font-medium uppercase tracking-wide">
+ <strong><%= @lines %></strong> lignes dans <strong><%= @files %></strong> fichiers
+ &mdash;
+ <a href="#help">Aide</a>
+ </h2>
+ <ul class="mt-3 grid grid-cols-1 gap-5 sm:gap-6 sm:grid-cols-4 lg:grid-cols-6">
<%= for {txt, data} <- @data do %>
<% base_url = cond do
@conn.assigns[:chan] -> "/#{@conn.assigns.network}/#{LSGWeb.format_chan(@conn.assigns.chan)}"
true -> "/-"
end %>
- <li><a href="<%= base_url %>/txt/<%= txt %>"><%= txt %></a> <i>(<%= Enum.count(data) %>)</i></li>
+ <li class="col-span-1 flex shadow-sm rounded-m">
+ <div class="flex-1 flex items-center justify-between border-l border-t border-r border-b border-gray-200 bg-white rounded-md truncate">
+ <div class="flex-1 px-4 py-2 text-sm leading-5 truncate">
+ <a href="<%= base_url %>/txt/<%= txt %>" class="text-gray-900 text-lg font-medium hover:text-gray-600 transition ease-in-out duration-150"><%= txt %></a>
+ <p class="text-gray-500"><%= Enum.count(data) %> lignes</p>
+ </div>
+ </div>
+ </li>
<% end %>
-</ul>
+ </ul>
+</div>
-<div class="help-entry" id="help"><%= LSGWeb.LayoutView.liquid_markdown(@conn, @doc) %></div>
+<div class="prose" id="help"><%= LSGWeb.LayoutView.liquid_markdown(@conn, @doc) %></div>
diff --git a/lib/lsg_web/templates/layout/app.html.eex b/lib/lsg_web/templates/layout/app.html.eex
index 1871e8b..9e78e8e 100644
--- a/lib/lsg_web/templates/layout/app.html.eex
+++ b/lib/lsg_web/templates/layout/app.html.eex
@@ -8,28 +8,137 @@
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="robots" content="noindex, noarchive, nofollow, nosnippet" />
<title><%= Map.get(assigns, :title, "") %></title>
- <link rel="stylesheet" href="<%= static_path(@conn, "/assets/css/app.css") %>">
+ <link rel="stylesheet" href="<%= static_path(@conn, "/assets/css/tailwind-ui.min.css") %>">
</head>
<body>
- <div class="container">
- <main role="main">
- <%= if !@conn.assigns[:no_header] do %>
- <h1>
- <small style="font-size: 14px;">
- <a href="/"><%= Keyword.get(Application.get_env(:lsg, :irc), :name, "ircbot") %></a>
- <%= if @conn.assigns[:account], do: @conn.assigns.account.name %>
- &rsaquo;
+<div>
+ <div class="bg-gray-800 pb-32">
+ <nav class="bg-gray-800">
+ <div class="max-w-7xl mx-auto sm:px-6 lg:px-8">
+ <div class="border-b border-gray-700">
+ <div class="flex items-center justify-between h-16 px-4 sm:px-0">
+ <div class="flex items-center">
+ <div class="flex-shrink-0">
+ <img class="h-8 w-8" src="https://tailwindui.com/img/logos/workflow-mark-on-dark.svg" alt="Workflow logo">
+ </div>
+ <div class="hidden md:block">
+ <div class="ml-10 flex items-baseline">
+ <a href="/" class="px-3 py-2 rounded-md text-sm font-medium text-white bg-gray-900 focus:outline-none focus:text-white focus:bg-gray-700">bot.goulag.org</a>
+ <!--<a href="#" class="ml-4 px-3 py-2 rounded-md text-sm font-medium text-gray-300 hover:text-white hover:bg-gray-700 focus:outline-none focus:text-white focus:bg-gray-700">Team</a>
+ <a href="#" class="ml-4 px-3 py-2 rounded-md text-sm font-medium text-gray-300 hover:text-white hover:bg-gray-700 focus:outline-none focus:text-white focus:bg-gray-700">Projects</a>
+ <a href="#" class="ml-4 px-3 py-2 rounded-md text-sm font-medium text-gray-300 hover:text-white hover:bg-gray-700 focus:outline-none focus:text-white focus:bg-gray-700">Calendar</a>
+ <a href="#" class="ml-4 px-3 py-2 rounded-md text-sm font-medium text-gray-300 hover:text-white hover:bg-gray-700 focus:outline-none focus:text-white focus:bg-gray-700">Reports</a>-->
+ </div>
+ </div>
+ </div>
+ <div class="hidden md:block">
+ <div class="ml-4 flex items-center md:ml-6">
+ <!--<button class="p-1 border-2 border-transparent text-gray-400 rounded-full hover:text-white focus:outline-none focus:text-white focus:bg-gray-700" aria-label="Notifications">
+ <svg class="h-6 w-6" stroke="currentColor" fill="none" viewBox="0 0 24 24">
+ <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M15 17h5l-1.405-1.405A2.032 2.032 0 0118 14.158V11a6.002 6.002 0 00-4-5.659V5a2 2 0 10-4 0v.341C7.67 6.165 6 8.388 6 11v3.159c0 .538-.214 1.055-.595 1.436L4 17h5m6 0v1a3 3 0 11-6 0v-1m6 0H9" />
+ </svg>
+ </button>-->
+ <!-- Profile dropdown -->
+ <div class="ml-3 relative">
+ <div>
+ <button class="max-w-xs flex items-center text-sm rounded-full text-white focus:outline-none focus:shadow-solid" id="user-menu" aria-label="User menu" aria-haspopup="true">
+ <!--<img class="h-8 w-8 rounded-full" src="https://images.unsplash.com/photo-1472099645785-5658abf4ff4e?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=facearea&facepad=2&w=256&h=256&q=80" alt="">-->
+ ~<%= if @conn.assigns[:account], do: @conn.assigns.account.name %>
+
+ </button>
+ </div>
+ <!--
+ Profile dropdown panel, show/hide based on dropdown state.
+
+ Entering: "transition ease-out duration-100"
+ From: "transform opacity-0 scale-95"
+ To: "transform opacity-100 scale-100"
+ Leaving: "transition ease-in duration-75"
+ From: "transform opacity-100 scale-100"
+ To: "transform opacity-0 scale-95"
+ -->
+ <!--<div class="origin-top-right absolute right-0 mt-2 w-48 rounded-md shadow-lg">
+ <div class="py-1 rounded-md bg-white shadow-xs">
+ <a href="#" class="block px-4 py-2 text-sm text-gray-700 hover:bg-gray-100">Your Profile</a>
+ <a href="#" class="block px-4 py-2 text-sm text-gray-700 hover:bg-gray-100">Settings</a>
+ <a href="#" class="block px-4 py-2 text-sm text-gray-700 hover:bg-gray-100">Sign out</a>
+ </div>
+ </div>-->
+ </div>
+ </div>
+ </div>
+ <div class="-mr-2 flex md:hidden">
+ <!-- Mobile menu button -->
+ <button class="inline-flex items-center justify-center p-2 rounded-md text-gray-400 hover:text-white hover:bg-gray-700 focus:outline-none focus:bg-gray-700 focus:text-white">
+ <!-- Menu open: "hidden", Menu closed: "block" -->
+ <svg class="block h-6 w-6" stroke="currentColor" fill="none" viewBox="0 0 24 24">
+ <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M4 6h16M4 12h16M4 18h16" />
+ </svg>
+ <!-- Menu open: "block", Menu closed: "hidden" -->
+ <svg class="hidden h-6 w-6" stroke="currentColor" fill="none" viewBox="0 0 24 24">
+ <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12" />
+ </svg>
+ </button>
+ </div>
+ </div>
+ </div>
+ </div>
+
+ <!--
+ Mobile menu, toggle classes based on menu state.
+
+ Open: "block", closed: "hidden"
+ -->
+ <div class="hidden border-b border-gray-700 md:hidden">
+ <div class="px-2 py-3 sm:px-3">
+ <a href="#" class="block px-3 py-2 rounded-md text-base font-medium text-white bg-gray-900 focus:outline-none focus:text-white focus:bg-gray-700">Dashboard</a>
+ <a href="#" class="mt-1 block px-3 py-2 rounded-md text-base font-medium text-gray-300 hover:text-white hover:bg-gray-700 focus:outline-none focus:text-white focus:bg-gray-700">Team</a>
+ <a href="#" class="mt-1 block px-3 py-2 rounded-md text-base font-medium text-gray-300 hover:text-white hover:bg-gray-700 focus:outline-none focus:text-white focus:bg-gray-700">Projects</a>
+ <a href="#" class="mt-1 block px-3 py-2 rounded-md text-base font-medium text-gray-300 hover:text-white hover:bg-gray-700 focus:outline-none focus:text-white focus:bg-gray-700">Calendar</a>
+ <a href="#" class="mt-1 block px-3 py-2 rounded-md text-base font-medium text-gray-300 hover:text-white hover:bg-gray-700 focus:outline-none focus:text-white focus:bg-gray-700">Reports</a>
+ </div>
+ <div class="pt-4 pb-3 border-t border-gray-700">
+ <div class="flex items-center px-5">
+ <div class="flex-shrink-0">
+ <img class="h-10 w-10 rounded-full" src="https://images.unsplash.com/photo-1472099645785-5658abf4ff4e?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=facearea&facepad=2&w=256&h=256&q=80" alt="">
+ </div>
+ <div class="ml-3">
+ <div class="text-base font-medium leading-none text-white">Tom Cook</div>
+ <div class="mt-1 text-sm font-medium leading-none text-gray-400">tom@example.com</div>
+ </div>
+ </div>
+ <div class="mt-3 px-2" role="menu" aria-orientation="vertical" aria-labelledby="user-menu">
+ <a href="#" class="block px-3 py-2 rounded-md text-base font-medium text-gray-400 hover:text-white hover:bg-gray-700 focus:outline-none focus:text-white focus:bg-gray-700" role="menuitem">Your Profile</a>
+ <a href="#" class="mt-1 block px-3 py-2 rounded-md text-base font-medium text-gray-400 hover:text-white hover:bg-gray-700 focus:outline-none focus:text-white focus:bg-gray-700" role="menuitem">Settings</a>
+ <a href="#" class="mt-1 block px-3 py-2 rounded-md text-base font-medium text-gray-400 hover:text-white hover:bg-gray-700 focus:outline-none focus:text-white focus:bg-gray-700" role="menuitem">Sign out</a>
+ </div>
+ </div>
+ </div>
+ </nav>
+ <header class="py-10">
+ <div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
+ <h1 class="text-3xl leading-9 font-bold text-white">
<%= if n = @conn.assigns[:network] do %><a href="/<%= n %>"><%= n %></a> &rsaquo; <% end %>
<%= if c = @conn.assigns[:chan] do %><a href="/<%= @conn.assigns.network %>/<%= LSGWeb.format_chan(c) %>"><%= c %></a> &rsaquo; <% end %>
<%= for({name, href} <- @conn.assigns[:breadcrumbs]||[], do: [link(name, to: href), raw(" &rsaquo; ")]) %>
- </small><br />
<%= @conn.assigns[:title] || @conn.assigns[:chan] || @conn.assigns[:network] %>
- </h1>
- <% end %>
+ </h1>
+ </div>
+ </header>
+ </div>
+
+ <main class="-mt-32">
+ <div class="max-w-7xl mx-auto pb-12 px-4 sm:px-6 lg:px-8">
+ <!-- Replace with your content -->
+ <div class="bg-white rounded-lg shadow px-5 py-6 sm:px-6">
<%= render @view_module, @view_template, assigns %>
- </main>
+ </div>
+ <!-- /End replace -->
</div>
+ </main>
+</div>
+
<script src="<%= static_path(@conn, "/assets/js/app.js") %>"></script>
</body>
</html>
diff --git a/lib/lsg_web/templates/page/user.html.eex b/lib/lsg_web/templates/page/user.html.eex
index 8a043a0..56fc485 100644
--- a/lib/lsg_web/templates/page/user.html.eex
+++ b/lib/lsg_web/templates/page/user.html.eex
@@ -1,3 +1,4 @@
+<div class="prose prose-lg">
<ul>
<li><%= link("Help", to: "/-") %></li>
</ul>
@@ -36,3 +37,4 @@
<li><%= net %>: <%= to_string(predicate) %>, <%= v %></li>
<% end %>
</ul>
+</div>
diff --git a/lib/lsg_web/views/alcoolog_view.ex b/lib/lsg_web/views/alcoolog_view.ex
index 2c55c09..ed3c9b4 100644
--- a/lib/lsg_web/views/alcoolog_view.ex
+++ b/lib/lsg_web/views/alcoolog_view.ex
@@ -1,4 +1,6 @@
defmodule LSGWeb.AlcoologView do
use LSGWeb, :view
+ require Integer
+
end
diff --git a/lib/lsg_web/views/layout_view.ex b/lib/lsg_web/views/layout_view.ex
index b28d3c5..41c5341 100644
--- a/lib/lsg_web/views/layout_view.ex
+++ b/lib/lsg_web/views/layout_view.ex
@@ -60,11 +60,14 @@ defmodule LSGWeb.LayoutView do
now_last_week = {y, w-1}
now_last_roll = 7-Timex.days_to_beginning_of_week(now)
+ date_date = DateTime.to_date(date)
+ now_date = DateTime.to_date(date)
+
format = cond do
date.year != now.year -> "{D}/{M}/{YYYY} {h24}:{m}"
- date.day == now.day -> "{h24}:{m}"
+ date_date == now_date -> "{h24}:{m}"
(now_week == date_week) || (date_week == now_last_week && (Date.day_of_week(date) >= now_last_roll)) -> "{WDfull} {h24}:{m}"
- (now.month == date.month) -> "{WDfull} {D} {h24}:{m}"
+ (now.year == date.year && now.month == date.month) -> "{WDfull} {D} {h24}:{m}"
true -> "{WDfull} {D} {M} {h24}:{m}"
end
diff --git a/lib/tmpl.ex b/lib/tmpl.ex
index cc5ece2..1470603 100644
--- a/lib/tmpl.ex
+++ b/lib/tmpl.ex
@@ -65,6 +65,7 @@ defmodule Tmpl do
{:ok, template_ast} ->
do_render(template_ast, context, safe)
{:error, err, pos} ->
+ Logger.debug("Liquid error: #{pos} - #{inspect template}")
"[liquid ast error (at #{pos}): #{inspect err}]"
end
end
diff --git a/lib/util.ex b/lib/util.ex
index 22d1034..d35157b 100644
--- a/lib/util.ex
+++ b/lib/util.ex
@@ -4,13 +4,15 @@ defmodule Util do
def plusminus(0), do: "0"
def plusminus(number) when number < 0, do: "#{number}"
- def float_paparse(string) do
+ def float_paparse(float) when is_float(float), do: {float, ""}
+ def float_paparse(int) when is_integer(int), do: {(int+0.0), ""}
+ def float_paparse(string) when is_binary(string) do
string
|> String.replace(",", ".")
|> Float.parse()
end
- def ets_mutate_select_each(ets, table, spec, fun) do
+ def ets_mutate_select_each(ets, table, spec \\ [{:"$1", [], [:"$1"]}], fun) do
ets.safe_fixtable(table, true)
first = ets.select(table, spec, 1)
do_ets_mutate_select_each(ets, table, fun, first)
diff --git a/mix.exs b/mix.exs
index 48b43b0..f07ae10 100644
--- a/mix.exs
+++ b/mix.exs
@@ -25,9 +25,9 @@ defmodule LSG.Mixfile do
defp deps do
[
- {:phoenix, "~> 1.4.0"},
- {:phoenix_pubsub, "~> 1.0"},
- {:phoenix_html, "~> 2.10"},
+ {:phoenix, "~> 1.5.0"},
+ {:phoenix_pubsub, "~> 2.0"},
+ {:phoenix_html, "~> 3.0"},
{:phoenix_live_reload, "~> 1.0", only: :dev},
{:plug_cowboy, "~> 2.0"},
{:cowlib, "~> 2.9.1", override: true},
@@ -55,7 +55,7 @@ defmodule LSG.Mixfile do
{:telegram, git: "https://github.com/hrefhref/telegram.git", branch: "master"},
{:ex_aws, "~> 2.0"},
{:ex_aws_s3, "~> 2.0"},
- {:gen_magic, git: "https://github.com/hrefhref/gen_magic", branch: "develop"},
+ {:gen_magic, git: "https://github.com/hrefhref/gen_magic", commit: "b788ef982fc9b9cf9669b35227bac336415c5a1c"},
{:liquex, "~> 0.3"},
{:html_entities, "0.4.0", override: true}
]
diff --git a/mix.lock b/mix.lock
index cf77fb9..7507a46 100644
--- a/mix.lock
+++ b/mix.lock
@@ -1,62 +1,63 @@
%{
"abacus": {:hex, :abacus, "0.3.3", "f2f11e23073f5e16af36ac425cd9fa9a338695e2f8014684239fa14a9171d5f6", [:mix], [], "hexpm", "a41110183de16eda239f2187e7bb0c91c50658a8ae8254b85352287eb7034d88"},
"artificery": {:hex, :artificery, "0.4.3", "0bc4260f988dcb9dda4b23f9fc3c6c8b99a6220a331534fdf5bf2fd0d4333b02", [:mix], [], "hexpm", "12e95333a30e20884e937abdbefa3e7f5e05609c2ba8cf37b33f000b9ffc0504"},
- "backoff": {:git, "https://github.com/ferd/backoff", "dfb19a20c37b73af067edc3c335624bdf9517396", [branch: "master"]},
- "castore": {:hex, :castore, "0.1.5", "591c763a637af2cc468a72f006878584bc6c306f8d111ef8ba1d4c10e0684010", [:mix], [], "hexpm", "6db356b2bc6cc22561e051ff545c20ad064af57647e436650aa24d7d06cd941a"},
- "certifi": {:hex, :certifi, "2.5.2", "b7cfeae9d2ed395695dd8201c57a2d019c0c43ecaf8b8bcb9320b40d6662f340", [:rebar3], [{:parse_trans, "~>3.3", [hex: :parse_trans, repo: "hexpm", optional: false]}], "hexpm", "3b3b5f36493004ac3455966991eaf6e768ce9884693d9968055aeeeb1e575040"},
+ "backoff": {:git, "https://github.com/ferd/backoff", "4b8c02d038de1055481b0193665944e11fec337e", [branch: "master"]},
+ "castore": {:hex, :castore, "0.1.11", "c0665858e0e1c3e8c27178e73dffea699a5b28eb72239a3b2642d208e8594914", [:mix], [], "hexpm", "91b009ba61973b532b84f7c09ce441cba7aa15cb8b006cf06c6f4bba18220081"},
+ "certifi": {:hex, :certifi, "2.6.1", "dbab8e5e155a0763eea978c913ca280a6b544bfa115633fa20249c3d396d9493", [:rebar3], [], "hexpm", "524c97b4991b3849dd5c17a631223896272c6b0af446778ba4675a1dff53bb7e"},
"combine": {:hex, :combine, "0.10.0", "eff8224eeb56498a2af13011d142c5e7997a80c8f5b97c499f84c841032e429f", [:mix], [], "hexpm", "1b1dbc1790073076580d0d1d64e42eae2366583e7aecd455d1215b0d16f2451b"},
- "cowboy": {:hex, :cowboy, "2.8.0", "f3dc62e35797ecd9ac1b50db74611193c29815401e53bac9a5c0577bd7bc667d", [:rebar3], [{:cowlib, "~> 2.9.1", [hex: :cowlib, repo: "hexpm", optional: false]}, {:ranch, "~> 1.7.1", [hex: :ranch, repo: "hexpm", optional: false]}], "hexpm", "4643e4fba74ac96d4d152c75803de6fad0b3fa5df354c71afdd6cbeeb15fac8a"},
+ "cowboy": {:hex, :cowboy, "2.9.0", "865dd8b6607e14cf03282e10e934023a1bd8be6f6bacf921a7e2a96d800cd452", [:make, :rebar3], [{:cowlib, "2.11.0", [hex: :cowlib, repo: "hexpm", optional: false]}, {:ranch, "1.8.0", [hex: :ranch, repo: "hexpm", optional: false]}], "hexpm", "2c729f934b4e1aa149aff882f57c6372c15399a20d54f65c8d67bef583021bde"},
"cowlib": {:hex, :cowlib, "2.9.1", "61a6c7c50cf07fdd24b2f45b89500bb93b6686579b069a89f88cb211e1125c78", [:rebar3], [], "hexpm", "e4175dc240a70d996156160891e1c62238ede1729e45740bdd38064dad476170"},
- "date_time_parser": {:hex, :date_time_parser, "1.0.0", "e43c423d98f223b968c22d2110acc0ec8c9408e222a8c25702f6d51a2dd86901", [:mix], [{:nimble_parsec, "~> 0.5.0", [hex: :nimble_parsec, repo: "hexpm", optional: false]}, {:timex, "~> 3.2", [hex: :timex, repo: "hexpm", optional: false]}], "hexpm", "4ad025fcdd07623f67c59dee03fd442c38f9c32ffdb6eddf52855930e2140675"},
- "decimal": {:hex, :decimal, "1.8.1", "a4ef3f5f3428bdbc0d35374029ffcf4ede8533536fa79896dd450168d9acdf3c", [:mix], [], "hexpm", "3cb154b00225ac687f6cbd4acc4b7960027c757a5152b369923ead9ddbca7aec"},
+ "date_time_parser": {:hex, :date_time_parser, "1.1.1", "cd7a04eb8f413a63cfb16892575d08a23651de1118c95278c13f84c105247901", [:mix], [{:nimble_parsec, "~> 1.0", [hex: :nimble_parsec, repo: "hexpm", optional: false]}, {:timex, ">= 3.2.1", [hex: :timex, repo: "hexpm", optional: false]}], "hexpm", "2ede6de7994c1589bcf118954999ed6ff5de97415b33827ea5b30804c7e512ef"},
+ "decimal": {:hex, :decimal, "2.0.0", "a78296e617b0f5dd4c6caf57c714431347912ffb1d0842e998e9792b5642d697", [:mix], [], "hexpm", "34666e9c55dea81013e77d9d87370fe6cb6291d1ef32f46a1600230b1d44f577"},
"distillery": {:hex, :distillery, "2.1.1", "f9332afc2eec8a1a2b86f22429e068ef35f84a93ea1718265e740d90dd367814", [:mix], [{:artificery, "~> 0.2", [hex: :artificery, repo: "hexpm", optional: false]}], "hexpm", "bbc7008b0161a6f130d8d903b5b3232351fccc9c31a991f8fcbf2a12ace22995"},
- "earmark": {:hex, :earmark, "1.4.4", "4821b8d05cda507189d51f2caeef370cf1e18ca5d7dfb7d31e9cafe6688106a4", [:mix], [], "hexpm", "1f93aba7340574847c0f609da787f0d79efcab51b044bb6e242cae5aca9d264d"},
- "ecto": {:hex, :ecto, "3.4.5", "2bcd262f57b2c888b0bd7f7a28c8a48aa11dc1a2c6a858e45dd8f8426d504265", [:mix], [{:decimal, "~> 1.6 or ~> 2.0", [hex: :decimal, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: true]}, {:telemetry, "~> 0.4", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "8c6d1d4d524559e9b7a062f0498e2c206122552d63eacff0a6567ffe7a8e8691"},
- "elixir_make": {:hex, :elixir_make, "0.6.0", "38349f3e29aff4864352084fc736fa7fa0f2995a819a737554f7ebd28b85aaab", [:mix], [], "hexpm", "d522695b93b7f0b4c0fcb2dfe73a6b905b1c301226a5a55cb42e5b14d509e050"},
+ "earmark": {:hex, :earmark, "1.4.15", "2c7f924bf495ec1f65bd144b355d0949a05a254d0ec561740308a54946a67888", [:mix], [{:earmark_parser, ">= 1.4.13", [hex: :earmark_parser, repo: "hexpm", optional: false]}], "hexpm", "3b1209b85bc9f3586f370f7c363f6533788fb4e51db23aa79565875e7f9999ee"},
+ "earmark_parser": {:hex, :earmark_parser, "1.4.15", "b29e8e729f4aa4a00436580dcc2c9c5c51890613457c193cc8525c388ccb2f06", [:mix], [], "hexpm", "044523d6438ea19c1b8ec877ec221b008661d3c27e3b848f4c879f500421ca5c"},
+ "ecto": {:hex, :ecto, "3.7.1", "a20598862351b29f80f285b21ec5297da1181c0442687f9b8329f0445d228892", [:mix], [{:decimal, "~> 1.6 or ~> 2.0", [hex: :decimal, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: true]}, {:telemetry, "~> 0.4 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "d36e5b39fc479e654cffd4dbe1865d9716e4a9b6311faff799b6f90ab81b8638"},
+ "elixir_make": {:hex, :elixir_make, "0.6.2", "7dffacd77dec4c37b39af867cedaabb0b59f6a871f89722c25b28fcd4bd70530", [:mix], [], "hexpm", "03e49eadda22526a7e5279d53321d1cced6552f344ba4e03e619063de75348d9"},
"entropy_string": {:hex, :entropy_string, "1.0.7", "61a5a989e78fd2798e35a17a98a17f81fb504e8d4ba620bcd4f19063eb782943", [:mix], [], "hexpm", "c497fc9cf6bae2075c4c985e66b4306baa4cb19f142d97e0aa1d7a993ae3bb47"},
- "ex_aws": {:hex, :ex_aws, "2.1.3", "26b6f036f0127548706aade4a509978fc7c26bd5334b004fba9bfe2687a525df", [:mix], [{:configparser_ex, "~> 4.0", [hex: :configparser_ex, repo: "hexpm", optional: true]}, {:hackney, "~> 1.9", [hex: :hackney, repo: "hexpm", optional: true]}, {:jason, "~> 1.1", [hex: :jason, repo: "hexpm", optional: true]}, {:jsx, "~> 2.8", [hex: :jsx, repo: "hexpm", optional: true]}, {:sweet_xml, "~> 0.6", [hex: :sweet_xml, repo: "hexpm", optional: true]}], "hexpm", "0bdbe2aed9f326922fc5a6a80417e32f0c895f4b3b2b0b9676ebf23dd16c5da4"},
- "ex_aws_s3": {:hex, :ex_aws_s3, "2.0.2", "c0258bbdfea55de4f98f0b2f0ca61fe402cc696f573815134beb1866e778f47b", [:mix], [{:ex_aws, "~> 2.0", [hex: :ex_aws, repo: "hexpm", optional: false]}, {:sweet_xml, ">= 0.0.0", [hex: :sweet_xml, repo: "hexpm", optional: true]}], "hexpm", "0569f5b211b1a3b12b705fe2a9d0e237eb1360b9d76298028df2346cad13097a"},
+ "ex_aws": {:hex, :ex_aws, "2.2.4", "b6b9a73468205c67851f6c195429b435741ec3d5f45be4cfdaa8f54a62491f15", [:mix], [{:configparser_ex, "~> 4.0", [hex: :configparser_ex, repo: "hexpm", optional: true]}, {:hackney, "~> 1.16", [hex: :hackney, repo: "hexpm", optional: true]}, {:jason, "~> 1.1", [hex: :jason, repo: "hexpm", optional: true]}, {:jsx, "~> 3.0", [hex: :jsx, repo: "hexpm", optional: true]}, {:sweet_xml, "~> 0.6", [hex: :sweet_xml, repo: "hexpm", optional: true]}, {:telemetry, "~> 0.4.3", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "cc9af9199d869c0532819f87678a547c7dd7c57088d932b43dcbdbc315886601"},
+ "ex_aws_s3": {:hex, :ex_aws_s3, "2.3.0", "5dfe50116bad048240bae7cd9418bfe23296542ff72a01b9138113a1cd31451c", [:mix], [{:ex_aws, "~> 2.0", [hex: :ex_aws, repo: "hexpm", optional: false]}, {:sweet_xml, ">= 0.0.0", [hex: :sweet_xml, repo: "hexpm", optional: true]}], "hexpm", "0b13b11478825d62d2f6e57ae763695331be06f2216468f31bb304316758b096"},
"ex_chain": {:git, "https://github.com/eljojo/ex_chain.git", "09d88a10613b6acc33340c9fa1b3540493e431b8", []},
"exirc": {:git, "https://github.com/bitwalker/exirc.git", "a9258d1058815fa0d8c3201a4caf651754621f8e", []},
- "extwitter": {:hex, :extwitter, "0.12.0", "c3078598cf53a50535b0e5f68a612fa836d1b5141731e8334c7a2964c147468d", [:mix], [{:jason, "~> 1.1", [hex: :jason, repo: "hexpm", optional: false]}, {:oauther, "~> 1.1", [hex: :oauther, repo: "hexpm", optional: false]}], "hexpm", "8b8997ec79803327e7ddbf3be2174aa070ad447f4c0c4ee7c4d060a12933b067"},
- "file_system": {:hex, :file_system, "0.2.8", "f632bd287927a1eed2b718f22af727c5aeaccc9a98d8c2bd7bff709e851dc986", [:mix], [], "hexpm", "97a3b6f8d63ef53bd0113070102db2ce05352ecf0d25390eb8d747c2bde98bca"},
+ "extwitter": {:hex, :extwitter, "0.12.4", "8e69a55ca4c3ad1caa0fa4585ce33bbf4d636fd56210c961e36d109d0848c1d9", [:mix], [{:jason, "~> 1.1", [hex: :jason, repo: "hexpm", optional: false]}, {:oauther, "~> 1.1", [hex: :oauther, repo: "hexpm", optional: false]}], "hexpm", "1df46ffb49b196225afbf665a1a0f1a5fdd144b11bf1394509ea055f38c3343d"},
+ "file_system": {:hex, :file_system, "0.2.10", "fb082005a9cd1711c05b5248710f8826b02d7d1784e7c3451f9c1231d4fc162d", [:mix], [], "hexpm", "41195edbfb562a593726eda3b3e8b103a309b733ad25f3d642ba49696bf715dc"},
"floki": {:hex, :floki, "0.19.3", "652d1447767f783bd6cae1d882fd2145f25db28c6841ab87659225b468cff101", [:mix], [{:html_entities, "~> 0.4.0", [hex: :html_entities, repo: "hexpm", optional: false]}, {:mochiweb, "~> 2.15", [hex: :mochiweb, repo: "hexpm", optional: false]}], "hexpm", "1c8da482a0848c55a1d22af49ce6547790077adac2a04cf265e1f26583781adb"},
- "gen_magic": {:git, "https://github.com/hrefhref/gen_magic", "b788ef982fc9b9cf9669b35227bac336415c5a1c", [branch: "develop"]},
- "gettext": {:hex, :gettext, "0.18.0", "406d6b9e0e3278162c2ae1de0a60270452c553536772167e2d701f028116f870", [:mix], [], "hexpm", "c3f850be6367ebe1a08616c2158affe4a23231c70391050bf359d5f92f66a571"},
- "gun": {:hex, :gun, "1.3.2", "542064cbb9f613650b8a8100b3a927505f364fbe198b7a5a112868ff43f3e477", [:rebar3], [{:cowlib, "~> 2.6.0", [hex: :cowlib, repo: "hexpm", optional: false]}], "hexpm", "ba323f0a5fd8abac379a3e1fe6d8ce570c4a12c7fd1c68f4994b53447918e462"},
- "hackney": {:hex, :hackney, "1.16.0", "5096ac8e823e3a441477b2d187e30dd3fff1a82991a806b2003845ce72ce2d84", [:rebar3], [{:certifi, "2.5.2", [hex: :certifi, repo: "hexpm", optional: false]}, {:idna, "6.0.1", [hex: :idna, repo: "hexpm", optional: false]}, {:metrics, "1.0.1", [hex: :metrics, repo: "hexpm", optional: false]}, {:mimerl, "~>1.1", [hex: :mimerl, repo: "hexpm", optional: false]}, {:parse_trans, "3.3.0", [hex: :parse_trans, repo: "hexpm", optional: false]}, {:ssl_verify_fun, "1.1.6", [hex: :ssl_verify_fun, repo: "hexpm", optional: false]}], "hexpm", "3bf0bebbd5d3092a3543b783bf065165fa5d3ad4b899b836810e513064134e18"},
+ "gen_magic": {:git, "https://github.com/hrefhref/gen_magic", "52f6aa7281623c77018ec12c227f4dc64c6313f6", []},
+ "gettext": {:hex, :gettext, "0.18.2", "7df3ea191bb56c0309c00a783334b288d08a879f53a7014341284635850a6e55", [:mix], [], "hexpm", "f9f537b13d4fdd30f3039d33cb80144c3aa1f8d9698e47d7bcbcc8df93b1f5c5"},
+ "gun": {:hex, :gun, "1.3.3", "cf8b51beb36c22b9c8df1921e3f2bc4d2b1f68b49ad4fbc64e91875aa14e16b4", [:rebar3], [{:cowlib, "~> 2.7.0", [hex: :cowlib, repo: "hexpm", optional: false]}], "hexpm", "3106ce167f9c9723f849e4fb54ea4a4d814e3996ae243a1c828b256e749041e0"},
+ "hackney": {:hex, :hackney, "1.17.4", "99da4674592504d3fb0cfef0db84c3ba02b4508bae2dff8c0108baa0d6e0977c", [:rebar3], [{:certifi, "~>2.6.1", [hex: :certifi, repo: "hexpm", optional: false]}, {:idna, "~>6.1.0", [hex: :idna, repo: "hexpm", optional: false]}, {:metrics, "~>1.0.0", [hex: :metrics, repo: "hexpm", optional: false]}, {:mimerl, "~>1.1", [hex: :mimerl, repo: "hexpm", optional: false]}, {:parse_trans, "3.3.1", [hex: :parse_trans, repo: "hexpm", optional: false]}, {:ssl_verify_fun, "~>1.1.0", [hex: :ssl_verify_fun, repo: "hexpm", optional: false]}, {:unicode_util_compat, "~>0.7.0", [hex: :unicode_util_compat, repo: "hexpm", optional: false]}], "hexpm", "de16ff4996556c8548d512f4dbe22dd58a587bf3332e7fd362430a7ef3986b16"},
"html_entities": {:hex, :html_entities, "0.4.0", "f2fee876858cf6aaa9db608820a3209e45a087c5177332799592142b50e89a6b", [:mix], [], "hexpm", "3e3d7156a272950373ce5a4018b1490bea26676f8d6a7d409f6fac8568b8cb9a"},
"html_sanitize_ex": {:hex, :html_sanitize_ex, "1.3.0", "f005ad692b717691203f940c686208aa3d8ffd9dd4bb3699240096a51fa9564e", [:mix], [{:mochiweb, "~> 2.15", [hex: :mochiweb, repo: "hexpm", optional: false]}], "hexpm", "abfb393ad888d57700f4d0f119c2643c8a9d98856f9b8a92001be7efad1419d6"},
- "httpoison": {:hex, :httpoison, "1.6.2", "ace7c8d3a361cebccbed19c283c349b3d26991eff73a1eaaa8abae2e3c8089b6", [:mix], [{:hackney, "~> 1.15 and >= 1.15.2", [hex: :hackney, repo: "hexpm", optional: false]}], "hexpm", "aa2c74bd271af34239a3948779612f87df2422c2fdcfdbcec28d9c105f0773fe"},
- "idna": {:hex, :idna, "6.0.1", "1d038fb2e7668ce41fbf681d2c45902e52b3cb9e9c77b55334353b222c2ee50c", [:rebar3], [{:unicode_util_compat, "0.5.0", [hex: :unicode_util_compat, repo: "hexpm", optional: false]}], "hexpm", "a02c8a1c4fd601215bb0b0324c8a6986749f807ce35f25449ec9e69758708122"},
- "jason": {:hex, :jason, "1.2.1", "12b22825e22f468c02eb3e4b9985f3d0cb8dc40b9bd704730efa11abd2708c44", [:mix], [{:decimal, "~> 1.0", [hex: :decimal, repo: "hexpm", optional: true]}], "hexpm", "b659b8571deedf60f79c5a608e15414085fa141344e2716fbd6988a084b5f993"},
- "liquex": {:hex, :liquex, "0.3.0", "ddaa3904b79f2ed74fb0c6476fa79a0ab31cba1177e3cdaadbcc681fd771977a", [:mix], [{:date_time_parser, "~> 1.0", [hex: :date_time_parser, repo: "hexpm", optional: false]}, {:html_entities, "~> 0.5.1", [hex: :html_entities, repo: "hexpm", optional: false]}, {:html_sanitize_ex, "~> 1.3.0", [hex: :html_sanitize_ex, repo: "hexpm", optional: false]}, {:nimble_parsec, "~> 0.5.3", [hex: :nimble_parsec, repo: "hexpm", optional: false]}, {:nimble_strftime, "~> 0.1", [hex: :nimble_strftime, repo: "hexpm", optional: false]}], "hexpm", "ebbe9c04164fb09d417d23621f90ce6da2e0aaac5c46579ccfbc1b8904b965fc"},
+ "httpoison": {:hex, :httpoison, "1.8.0", "6b85dea15820b7804ef607ff78406ab449dd78bed923a49c7160e1886e987a3d", [:mix], [{:hackney, "~> 1.17", [hex: :hackney, repo: "hexpm", optional: false]}], "hexpm", "28089eaa98cf90c66265b6b5ad87c59a3729bea2e74e9d08f9b51eb9729b3c3a"},
+ "idna": {:hex, :idna, "6.1.1", "8a63070e9f7d0c62eb9d9fcb360a7de382448200fbbd1b106cc96d3d8099df8d", [:rebar3], [{:unicode_util_compat, "~>0.7.0", [hex: :unicode_util_compat, repo: "hexpm", optional: false]}], "hexpm", "92376eb7894412ed19ac475e4a86f7b413c1b9fbb5bd16dccd57934157944cea"},
+ "jason": {:hex, :jason, "1.2.2", "ba43e3f2709fd1aa1dce90aaabfd039d000469c05c56f0b8e31978e03fa39052", [:mix], [{:decimal, "~> 1.0 or ~> 2.0", [hex: :decimal, repo: "hexpm", optional: true]}], "hexpm", "18a228f5f0058ee183f29f9eae0805c6e59d61c3b006760668d8d18ff0d12179"},
+ "liquex": {:hex, :liquex, "0.6.1", "2e07fc177dfb2ecafe326f11bd641373f3f6b62704a0231832d8634e162e852a", [:mix], [{:date_time_parser, "~> 1.1", [hex: :date_time_parser, repo: "hexpm", optional: false]}, {:html_entities, "~> 0.5.1", [hex: :html_entities, repo: "hexpm", optional: false]}, {:html_sanitize_ex, "~> 1.3.0", [hex: :html_sanitize_ex, repo: "hexpm", optional: false]}, {:nimble_parsec, "~> 1.1", [hex: :nimble_parsec, repo: "hexpm", optional: false]}, {:timex, "~> 3.6", [hex: :timex, repo: "hexpm", optional: false]}], "hexpm", "2ec6c68fce04e10ca1fd3874d146991cf1b44adc0c8451615873263944353772"},
"metrics": {:hex, :metrics, "1.0.1", "25f094dea2cda98213cecc3aeff09e940299d950904393b2a29d191c346a8486", [:rebar3], [], "hexpm", "69b09adddc4f74a40716ae54d140f93beb0fb8978d8636eaded0c31b6f099f16"},
- "mime": {:hex, :mime, "1.3.1", "30ce04ab3175b6ad0bdce0035cba77bba68b813d523d1aac73d9781b4d193cf8", [:mix], [], "hexpm", "6cbe761d6a0ca5a31a0931bf4c63204bceb64538e664a8ecf784a9a6f3b875f1"},
+ "mime": {:hex, :mime, "1.6.0", "dabde576a497cef4bbdd60aceee8160e02a6c89250d6c0b29e56c0dfb00db3d2", [:mix], [], "hexpm", "31a1a8613f8321143dde1dafc36006a17d28d02bdfecb9e95a880fa7aabd19a7"},
"mimerl": {:hex, :mimerl, "1.2.0", "67e2d3f571088d5cfd3e550c383094b47159f3eee8ffa08e64106cdf5e981be3", [:rebar3], [], "hexpm", "f278585650aa581986264638ebf698f8bb19df297f66ad91b18910dfc6e19323"},
- "mochiweb": {:hex, :mochiweb, "2.20.1", "e4dbd0ed716f076366ecf62ada5755a844e1d95c781e8c77df1d4114be868cdf", [:rebar3], [], "hexpm", "d1aeee7870470d2fa9eae0b3d5ab6c33801aa2d82b10e9dade885c5c921b36aa"},
+ "mochiweb": {:hex, :mochiweb, "2.22.0", "f104d6747c01a330c38613561977e565b788b9170055c5241ac9dd6e4617cba5", [:rebar3], [], "hexpm", "cbbd1fd315d283c576d1c8a13e0738f6dafb63dc840611249608697502a07655"},
"muontrap": {:hex, :muontrap, "0.5.1", "98fe96d0e616ee518860803a37a29eb23ffc2ca900047cb1bb7fd37521010093", [:make, :mix], [{:elixir_make, "~> 0.6", [hex: :elixir_make, repo: "hexpm", optional: false]}], "hexpm", "3c11b7f151b202148912c73cbdd633b76fa68fabc26cc441c9d6d140e22290dc"},
"nimble_csv": {:hex, :nimble_csv, "0.7.0", "52f23ce46eee304d063d1716e19e45ea544bd751536bc53e5d41cb7fc0ca9405", [:mix], [], "hexpm", "e7051e7a95b5c4f26512af5805c320ee9185e752d949f048bf318fedef86cccc"},
- "nimble_parsec": {:hex, :nimble_parsec, "0.5.3", "def21c10a9ed70ce22754fdeea0810dafd53c2db3219a0cd54cf5526377af1c6", [:mix], [], "hexpm", "589b5af56f4afca65217a1f3eb3fee7e79b09c40c742fddc1c312b3ac0b3399f"},
- "nimble_pool": {:hex, :nimble_pool, "0.1.0", "ffa9d5be27eee2b00b0c634eb649aa27f97b39186fec3c493716c2a33e784ec6", [:mix], [], "hexpm", "343a1eaa620ddcf3430a83f39f2af499fe2370390d4f785cd475b4df5acaf3f9"},
+ "nimble_parsec": {:hex, :nimble_parsec, "1.1.0", "3a6fca1550363552e54c216debb6a9e95bd8d32348938e13de5eda962c0d7f89", [:mix], [], "hexpm", "08eb32d66b706e913ff748f11694b17981c0b04a33ef470e33e11b3d3ac8f54b"},
+ "nimble_pool": {:hex, :nimble_pool, "0.2.4", "1db8e9f8a53d967d595e0b32a17030cdb6c0dc4a451b8ac787bf601d3f7704c3", [:mix], [], "hexpm", "367e8071e137b787764e6a9992ccb57b276dc2282535f767a07d881951ebeac6"},
"nimble_strftime": {:hex, :nimble_strftime, "0.1.1", "b988184d1bd945bc139b2c27dd00a6c0774ec94f6b0b580083abd62d5d07818b", [:mix], [], "hexpm", "89e599c9b8b4d1203b7bb5c79eb51ef7c6a28fbc6228230b312f8b796310d755"},
"oauther": {:hex, :oauther, "1.1.1", "7d8b16167bb587ecbcddd3f8792beb9ec3e7b65c1f8ebd86b8dd25318d535752", [:mix], [], "hexpm", "9374f4302045321874cccdc57eb975893643bd69c3b22bf1312dab5f06e5788e"},
- "parse_trans": {:hex, :parse_trans, "3.3.0", "09765507a3c7590a784615cfd421d101aec25098d50b89d7aa1d66646bc571c1", [:rebar3], [], "hexpm", "17ef63abde837ad30680ea7f857dd9e7ced9476cdd7b0394432af4bfc241b960"},
- "phoenix": {:hex, :phoenix, "1.4.17", "1b1bd4cff7cfc87c94deaa7d60dd8c22e04368ab95499483c50640ef3bd838d8", [:mix], [{:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: true]}, {:phoenix_pubsub, "~> 1.1", [hex: :phoenix_pubsub, repo: "hexpm", optional: false]}, {:plug, "~> 1.8.1 or ~> 1.9", [hex: :plug, repo: "hexpm", optional: false]}, {:plug_cowboy, "~> 1.0 or ~> 2.0", [hex: :plug_cowboy, repo: "hexpm", optional: true]}, {:telemetry, "~> 0.4", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "3a8e5d7a3d76d452bb5fb86e8b7bd115f737e4f8efe202a463d4aeb4a5809611"},
- "phoenix_html": {:hex, :phoenix_html, "2.14.2", "b8a3899a72050f3f48a36430da507dd99caf0ac2d06c77529b1646964f3d563e", [:mix], [{:plug, "~> 1.5", [hex: :plug, repo: "hexpm", optional: false]}], "hexpm", "58061c8dfd25da5df1ea0ca47c972f161beb6c875cd293917045b92ffe1bf617"},
- "phoenix_live_reload": {:hex, :phoenix_live_reload, "1.1.7", "425fff579085f7eacaf009e71940be07338c8d8b78d16e307c50c7d82a381497", [:mix], [{:file_system, "~> 0.2.1 or ~> 0.3", [hex: :file_system, repo: "hexpm", optional: false]}, {:phoenix, "~> 1.0 or ~> 1.2 or ~> 1.3 or ~> 1.4", [hex: :phoenix, repo: "hexpm", optional: false]}], "hexpm", "67e40a225d13924e4ea810e659800532f3e78d4ebf4091cfee9cadf88f0366ae"},
- "phoenix_pubsub": {:hex, :phoenix_pubsub, "1.1.2", "496c303bdf1b2e98a9d26e89af5bba3ab487ba3a3735f74bf1f4064d2a845a3e", [:mix], [], "hexpm", "1f13f9f0f3e769a667a6b6828d29dec37497a082d195cc52dbef401a9b69bf38"},
- "plug": {:hex, :plug, "1.10.1", "c56a6d9da7042d581159bcbaef873ba9d87f15dce85420b0d287bca19f40f9bd", [:mix], [{:mime, "~> 1.0", [hex: :mime, repo: "hexpm", optional: false]}, {:plug_crypto, "~> 1.1.1 or ~> 1.2", [hex: :plug_crypto, repo: "hexpm", optional: false]}, {:telemetry, "~> 0.4", [hex: :telemetry, repo: "hexpm", optional: true]}], "hexpm", "b5cd52259817eb8a31f2454912ba1cff4990bca7811918878091cb2ab9e52cb8"},
- "plug_cowboy": {:hex, :plug_cowboy, "2.2.2", "7a09aa5d10e79b92d332a288f21cc49406b1b994cbda0fde76160e7f4cc890ea", [:mix], [{:cowboy, "~> 2.7", [hex: :cowboy, repo: "hexpm", optional: false]}, {:plug, "~> 1.7", [hex: :plug, repo: "hexpm", optional: false]}, {:telemetry, "~> 0.4", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "e82364b29311dbad3753d588febd7e5ef05062cd6697d8c231e0e007adab3727"},
- "plug_crypto": {:hex, :plug_crypto, "1.1.2", "bdd187572cc26dbd95b87136290425f2b580a116d3fb1f564216918c9730d227", [:mix], [], "hexpm", "6b8b608f895b6ffcfad49c37c7883e8df98ae19c6a28113b02aa1e9c5b22d6b5"},
+ "parse_trans": {:hex, :parse_trans, "3.3.1", "16328ab840cc09919bd10dab29e431da3af9e9e7e7e6f0089dd5a2d2820011d8", [:rebar3], [], "hexpm", "07cd9577885f56362d414e8c4c4e6bdf10d43a8767abb92d24cbe8b24c54888b"},
+ "phoenix": {:hex, :phoenix, "1.5.12", "75fddb14c720388eea93d33886166a690416a7ff8633fbd93f364355b6fe1166", [:mix], [{:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: true]}, {:phoenix_html, "~> 2.13 or ~> 3.0", [hex: :phoenix_html, repo: "hexpm", optional: true]}, {:phoenix_pubsub, "~> 2.0", [hex: :phoenix_pubsub, repo: "hexpm", optional: false]}, {:plug, "~> 1.10", [hex: :plug, repo: "hexpm", optional: false]}, {:plug_cowboy, "~> 1.0 or ~> 2.2", [hex: :plug_cowboy, repo: "hexpm", optional: true]}, {:plug_crypto, "~> 1.1.2 or ~> 1.2", [hex: :plug_crypto, repo: "hexpm", optional: false]}, {:telemetry, "~> 0.4", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "8f0ae6734fcc18bbaa646c161e2febc46fb899eae43f82679b92530983324113"},
+ "phoenix_html": {:hex, :phoenix_html, "3.0.2", "0d71bd7dfa5fad2103142206e25e16accd64f41bcbd0002af3f0da17e530968d", [:mix], [{:plug, "~> 1.5", [hex: :plug, repo: "hexpm", optional: true]}], "hexpm", "d6c6e85d9bef8d52a5a66fcccd15529651f379eaccbf10500343a17f6f814f82"},
+ "phoenix_live_reload": {:hex, :phoenix_live_reload, "1.3.3", "3a53772a6118d5679bf50fc1670505a290e32a1d195df9e069d8c53ab040c054", [:mix], [{:file_system, "~> 0.2.1 or ~> 0.3", [hex: :file_system, repo: "hexpm", optional: false]}, {:phoenix, "~> 1.4", [hex: :phoenix, repo: "hexpm", optional: false]}], "hexpm", "766796676e5f558dbae5d1bdb066849673e956005e3730dfd5affd7a6da4abac"},
+ "phoenix_pubsub": {:hex, :phoenix_pubsub, "2.0.0", "a1ae76717bb168cdeb10ec9d92d1480fec99e3080f011402c0a2d68d47395ffb", [:mix], [], "hexpm", "c52d948c4f261577b9c6fa804be91884b381a7f8f18450c5045975435350f771"},
+ "plug": {:hex, :plug, "1.12.1", "645678c800601d8d9f27ad1aebba1fdb9ce5b2623ddb961a074da0b96c35187d", [:mix], [{:mime, "~> 1.0 or ~> 2.0", [hex: :mime, repo: "hexpm", optional: false]}, {:plug_crypto, "~> 1.1.1 or ~> 1.2", [hex: :plug_crypto, repo: "hexpm", optional: false]}, {:telemetry, "~> 0.4.3 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "d57e799a777bc20494b784966dc5fbda91eb4a09f571f76545b72a634ce0d30b"},
+ "plug_cowboy": {:hex, :plug_cowboy, "2.3.0", "149a50e05cb73c12aad6506a371cd75750c0b19a32f81866e1a323dda9e0e99d", [:mix], [{:cowboy, "~> 2.7", [hex: :cowboy, repo: "hexpm", optional: false]}, {:plug, "~> 1.7", [hex: :plug, repo: "hexpm", optional: false]}, {:telemetry, "~> 0.4", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "bc595a1870cef13f9c1e03df56d96804db7f702175e4ccacdb8fc75c02a7b97e"},
+ "plug_crypto": {:hex, :plug_crypto, "1.2.2", "05654514ac717ff3a1843204b424477d9e60c143406aa94daf2274fdd280794d", [:mix], [], "hexpm", "87631c7ad914a5a445f0a3809f99b079113ae4ed4b867348dd9eec288cecb6db"},
"poison": {:hex, :poison, "4.0.1", "bcb755a16fac91cad79bfe9fc3585bb07b9331e50cfe3420a24bcc2d735709ae", [:mix], [], "hexpm", "ba8836feea4b394bb718a161fc59a288fe0109b5006d6bdf97b6badfcf6f0f25"},
- "ranch": {:hex, :ranch, "1.7.1", "6b1fab51b49196860b733a49c07604465a47bdb78aa10c1c16a3d199f7f8c881", [:rebar3], [], "hexpm", "451d8527787df716d99dc36162fca05934915db0b6141bbdac2ea8d3c7afc7d7"},
+ "ranch": {:hex, :ranch, "1.8.0", "8c7a100a139fd57f17327b6413e4167ac559fbc04ca7448e9be9057311597a1d", [:make, :rebar3], [], "hexpm", "49fbcfd3682fab1f5d109351b61257676da1a2fdbe295904176d5e521a2ddfe5"},
"ssl_verify_fun": {:hex, :ssl_verify_fun, "1.1.6", "cf344f5692c82d2cd7554f5ec8fd961548d4fd09e7d22f5b62482e5aeaebd4b0", [:make, :mix, :rebar3], [], "hexpm", "bdb0d2471f453c88ff3908e7686f86f9be327d065cc1ec16fa4540197ea04680"},
"ssl_verify_hostname": {:hex, :ssl_verify_hostname, "1.0.6", "45866d958d9ae51cfe8fef0050ab8054d25cba23ace43b88046092aa2c714645", [:make], [], "hexpm", "72b2fc8a8e23d77eed4441137fefa491bbf4a6dc52e9c0045f3f8e92e66243b5"},
"telegram": {:git, "https://github.com/hrefhref/telegram.git", "04841028b953f37a036cb18b73bd8ad8e934fe26", [branch: "master"]},
- "telemetry": {:hex, :telemetry, "0.4.1", "ae2718484892448a24470e6aa341bc847c3277bfb8d4e9289f7474d752c09c7f", [:rebar3], [], "hexpm", "4738382e36a0a9a2b6e25d67c960e40e1a2c95560b9f936d8e29de8cd858480f"},
- "tesla": {:hex, :tesla, "1.3.3", "26ae98627af5c406584aa6755ab5fc96315d70d69a24dd7f8369cfcb75094a45", [:mix], [{:castore, "~> 0.1", [hex: :castore, repo: "hexpm", optional: true]}, {:exjsx, ">= 3.0.0", [hex: :exjsx, repo: "hexpm", optional: true]}, {:fuse, "~> 2.4", [hex: :fuse, repo: "hexpm", optional: true]}, {:gun, "~> 1.3", [hex: :gun, repo: "hexpm", optional: true]}, {:hackney, "~> 1.6", [hex: :hackney, repo: "hexpm", optional: true]}, {:ibrowse, "~> 4.4.0", [hex: :ibrowse, repo: "hexpm", optional: true]}, {:jason, ">= 1.0.0", [hex: :jason, repo: "hexpm", optional: true]}, {:mime, "~> 1.0", [hex: :mime, repo: "hexpm", optional: false]}, {:mint, "~> 1.0", [hex: :mint, repo: "hexpm", optional: true]}, {:poison, ">= 1.0.0", [hex: :poison, repo: "hexpm", optional: true]}, {:telemetry, "~> 0.4", [hex: :telemetry, repo: "hexpm", optional: true]}], "hexpm", "2648f1c276102f9250299e0b7b57f3071c67827349d9173f34c281756a1b124c"},
- "timex": {:hex, :timex, "3.6.2", "845cdeb6119e2fef10751c0b247b6c59d86d78554c83f78db612e3290f819bc2", [:mix], [{:combine, "~> 0.10", [hex: :combine, repo: "hexpm", optional: false]}, {:gettext, "~> 0.10", [hex: :gettext, repo: "hexpm", optional: false]}, {:tzdata, "~> 0.1.8 or ~> 0.5 or ~> 1.0.0", [hex: :tzdata, repo: "hexpm", optional: false]}], "hexpm", "26030b46199d02a590be61c2394b37ea25a3664c02fafbeca0b24c972025d47a"},
- "tzdata": {:hex, :tzdata, "1.0.3", "73470ad29dde46e350c60a66e6b360d3b99d2d18b74c4c349dbebbc27a09a3eb", [:mix], [{:hackney, "~> 1.0", [hex: :hackney, repo: "hexpm", optional: false]}], "hexpm", "a6e1ee7003c4d04ecbd21dd3ec690d4c6662db5d3bbdd7262d53cdf5e7c746c1"},
- "unicode_util_compat": {:hex, :unicode_util_compat, "0.5.0", "8516502659002cec19e244ebd90d312183064be95025a319a6c7e89f4bccd65b", [:rebar3], [], "hexpm", "d48d002e15f5cc105a696cf2f1bbb3fc72b4b770a184d8420c8db20da2674b38"},
+ "telemetry": {:hex, :telemetry, "0.4.3", "a06428a514bdbc63293cd9a6263aad00ddeb66f608163bdec7c8995784080818", [:rebar3], [], "hexpm", "eb72b8365ffda5bed68a620d1da88525e326cb82a75ee61354fc24b844768041"},
+ "tesla": {:hex, :tesla, "1.4.3", "f5a494e08fb1abe4fd9c28abb17f3d9b62b8f6fc492860baa91efb1aab61c8a0", [:mix], [{:castore, "~> 0.1", [hex: :castore, repo: "hexpm", optional: true]}, {:exjsx, ">= 3.0.0", [hex: :exjsx, repo: "hexpm", optional: true]}, {:finch, "~> 0.3", [hex: :finch, repo: "hexpm", optional: true]}, {:fuse, "~> 2.4", [hex: :fuse, repo: "hexpm", optional: true]}, {:gun, "~> 1.3", [hex: :gun, repo: "hexpm", optional: true]}, {:hackney, "~> 1.6", [hex: :hackney, repo: "hexpm", optional: true]}, {:ibrowse, "4.4.0", [hex: :ibrowse, repo: "hexpm", optional: true]}, {:jason, ">= 1.0.0", [hex: :jason, repo: "hexpm", optional: true]}, {:mime, "~> 1.0", [hex: :mime, repo: "hexpm", optional: false]}, {:mint, "~> 1.0", [hex: :mint, repo: "hexpm", optional: true]}, {:poison, ">= 1.0.0", [hex: :poison, repo: "hexpm", optional: true]}, {:telemetry, "~> 0.4 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: true]}], "hexpm", "e0755bb664bf4d664af72931f320c97adbf89da4586670f4864bf259b5750386"},
+ "timex": {:hex, :timex, "3.7.6", "502d2347ec550e77fdf419bc12d15bdccd31266bb7d925b30bf478268098282f", [:mix], [{:combine, "~> 0.10", [hex: :combine, repo: "hexpm", optional: false]}, {:gettext, "~> 0.10", [hex: :gettext, repo: "hexpm", optional: false]}, {:tzdata, "~> 1.0", [hex: :tzdata, repo: "hexpm", optional: false]}], "hexpm", "a296327f79cb1ec795b896698c56e662ed7210cc9eb31f0ab365eb3a62e2c589"},
+ "tzdata": {:hex, :tzdata, "1.1.0", "72f5babaa9390d0f131465c8702fa76da0919e37ba32baa90d93c583301a8359", [:mix], [{:hackney, "~> 1.17", [hex: :hackney, repo: "hexpm", optional: false]}], "hexpm", "18f453739b48d3dc5bcf0e8906d2dc112bb40baafe2c707596d89f3c8dd14034"},
+ "unicode_util_compat": {:hex, :unicode_util_compat, "0.7.0", "bc84380c9ab48177092f43ac89e4dfa2c6d62b40b8bd132b1059ecc7232f9a78", [:rebar3], [], "hexpm", "25eee6d67df61960cf6a794239566599b09e17e668d3700247bc498638152521"},
}
diff --git a/priv/static/css/metricsgraphics.css b/priv/static/css/metricsgraphics.css
new file mode 100644
index 0000000..a7d484b
--- /dev/null
+++ b/priv/static/css/metricsgraphics.css
@@ -0,0 +1,548 @@
+.mg-active-datapoint {
+ fill: black;
+ font-size: 0.9rem;
+ font-weight: 400;
+ opacity: 0.8;
+}
+
+.mg-area-color {
+ fill: #000;
+}
+
+.mg-area1-color {
+ fill: #0000ff;
+}
+
+.mg-area2-color {
+ fill: #05b378;
+}
+
+.mg-area3-color {
+ fill: #db4437;
+}
+
+.mg-area4-color {
+ fill: #f8b128;
+}
+
+.mg-area5-color {
+ fill: #5c5c5c;
+}
+
+.mg-area6-color {
+ fill: steelblue;
+}
+
+.mg-area7-color {
+ fill: #f673bf;
+}
+
+.mg-area8-color {
+ fill: #0b73b0;
+}
+
+.mg-area9-color {
+ fill: #006400;
+}
+
+.mg-area10-color {
+ fill: #92514f;
+}
+
+text.mg-barplot-group-label {
+ font-weight:900;
+}
+
+.mg-barplot rect.mg-bar {
+ shape-rendering: auto;
+}
+
+.mg-barplot rect.mg-bar.default-bar {
+ fill: #b6b6fc;
+}
+
+.mg-barplot rect.mg-bar.default-active {
+ fill: #9e9efc;
+}
+
+.mg-barplot .mg-bar-prediction {
+ fill: #5b5b5b;
+}
+
+.mg-barplot .mg-bar-baseline {
+ stroke: #5b5b5b;
+ stroke-width: 2;
+}
+
+.mg-bar-target-element {
+ font-size:11px;
+ padding-left:5px;
+ padding-right:5px;
+ font-weight:300;
+}
+
+.mg-baselines line {
+ opacity: 1;
+ shape-rendering: auto;
+ stroke: #b3b2b2;
+ stroke-width: 1px;
+}
+
+.mg-baselines text {
+ fill: black;
+ font-size: 0.9rem;
+ opacity: 0.6;
+ stroke: none;
+}
+
+.mg-baselines-small text {
+ font-size: 0.6rem;
+}
+
+.mg-category-guides line {
+ stroke: #b3b2b2;
+}
+
+.mg-header {
+ cursor: default;
+ font-size: 1.2rem;
+}
+
+.mg-header .mg-chart-description {
+ fill: #ccc;
+ font-family: FontAwesome;
+ font-size: 1.2rem;
+}
+
+.mg-header .mg-warning {
+ fill: #ccc;
+ font-family: FontAwesome;
+ font-size: 1.2rem;
+}
+
+.mg-points circle {
+ opacity: 0.65;
+}
+
+.mg-popover {
+ font-size: 0.95rem;
+}
+
+.mg-popover-content {
+ cursor: auto;
+ line-height: 17px;
+}
+
+.mg-data-table {
+ margin-top: 30px;
+}
+
+.mg-data-table thead tr th {
+ border-bottom: 1px solid darkgray;
+ cursor: default;
+ font-size: 1.1rem;
+ font-weight: normal;
+ padding: 5px 5px 8px 5px;
+ text-align: right;
+}
+
+.mg-data-table thead tr th .fa {
+ color: #ccc;
+ padding-left: 4px;
+}
+
+.mg-data-table thead tr th .popover {
+ font-size: 1rem;
+ font-weight: normal;
+}
+
+.mg-data-table .secondary-title {
+ color: darkgray;
+}
+
+.mg-data-table tbody tr td {
+ margin: 2px;
+ padding: 5px;
+ vertical-align: top;
+}
+
+.mg-data-table tbody tr td.table-text {
+ opacity: 0.8;
+ padding-left: 30px;
+}
+
+.mg-y-axis line.mg-extended-yax-ticks {
+ opacity: 0.4;
+}
+
+.mg-x-axis line.mg-extended-xax-ticks {
+ opacity: 0.4;
+}
+
+.mg-histogram .axis path,
+.mg-histogram .axis line {
+ fill: none;
+ opacity: 0.7;
+ shape-rendering: auto;
+ stroke: #ccc;
+}
+
+tspan.hist-symbol {
+ fill: #9e9efc;
+}
+
+.mg-histogram .mg-bar rect {
+ fill: #b6b6fc;
+ shape-rendering: auto;
+}
+
+.mg-histogram .mg-bar rect.active {
+ fill: #9e9efc;
+}
+
+.mg-least-squares-line {
+ stroke: red;
+ stroke-width: 1px;
+}
+
+.mg-lowess-line {
+ fill: none;
+ stroke: red;
+}
+
+.mg-rollover-rect * {
+ -webkit-touch-callout: none;
+ -webkit-user-select: none;
+ -khtml-user-select: none;
+ -moz-user-select: none;
+ -ms-user-select: none;
+ user-select: none;
+}
+
+.mg-line-color {
+ stroke: #000;
+}
+
+.mg-hover-line-color {
+ fill: #000;
+}
+
+.mg-line1-color {
+ stroke: #4040e8;
+}
+
+.mg-hover-line1-color {
+ fill: #4040e8;
+}
+
+.mg-line2-color {
+ stroke: #05b378;
+}
+
+.mg-hover-line2-color {
+ fill: #05b378;
+}
+
+.mg-line3-color {
+ stroke: #db4437;
+}
+
+.mg-hover-line3-color {
+ fill: #db4437;
+}
+
+.mg-line4-color {
+ stroke: #f8b128;
+}
+
+.mg-hover-line4-color {
+ fill: #f8b128;
+}
+
+.mg-line5-color {
+ stroke: #5c5c5c;
+}
+
+.mg-hover-line5-color {
+ fill: #5c5c5c;
+}
+
+.mg-line6-color {
+ stroke: steelblue;
+}
+
+.mg-hover-line6-color {
+ fill: steelblue;
+}
+
+.mg-line7-color {
+ stroke: #f673bf;
+}
+
+.mg-hover-line7-color {
+ fill: #f673bf;
+}
+
+.mg-line8-color {
+ stroke: #0b73b0;
+}
+
+.mg-hover-line8-color {
+ fill: #0b73b0;
+}
+
+.mg-line9-color {
+ stroke: #006400;
+}
+
+.mg-hover-line9-color {
+ fill: #006400;
+}
+
+.mg-line10-color {
+ stroke: #92514f;
+}
+
+.mg-hover-line10-color {
+ fill: #92514f ;
+}
+
+.mg-line-legend text {
+ font-size: 0.9rem;
+ font-weight: 300;
+ stroke: none;
+}
+
+.mg-line-legend-color {
+ color: #000;
+ fill: #000;
+}
+
+.mg-line1-legend-color {
+ color: #4040e8;
+ fill: #4040e8;
+}
+
+.mg-line2-legend-color {
+ color: #05b378;
+ fill: #05b378;
+}
+
+.mg-line3-legend-color {
+ color: #db4437;
+ fill: #db4437;
+}
+
+.mg-line4-legend-color {
+ color: #f8b128;
+ fill: #f8b128;
+}
+
+.mg-line5-legend-color {
+ color: #5c5c5c;
+ fill: #5c5c5c;
+}
+
+.mg-line6-legend-color {
+ color: steelblue;
+ fill: steelblue;
+}
+
+.mg-line7-legend-color {
+ color: #f673bf;
+ fill: #f673bf;
+}
+
+.mg-line8-legend-color {
+ color: #0b73b0;
+ fill: #0b73b0;
+}
+
+.mg-line9-legend-color {
+ color: #006400;
+ fill: #006400;
+}
+
+.mg-line10-legend-color {
+ color: #92514f;
+ fill: #92514f;
+}
+
+.mg-main-area-solid svg .mg-main-area {
+ fill: #ccccff;
+ opacity: 1;
+}
+
+.mg-markers line {
+ opacity: 1;
+ shape-rendering: auto;
+ stroke: #b3b2b2;
+ stroke-width: 1px;
+}
+
+.mg-markers text {
+ fill: black;
+ font-size: 0.8rem;
+ opacity: 0.6;
+}
+
+.mg-missing-text {
+ opacity: 0.9;
+}
+
+.mg-missing-background {
+ stroke: blue;
+ fill: none;
+ stroke-dasharray: 10,5;
+ stroke-opacity: 0.05;
+ stroke-width: 2;
+}
+
+.mg-missing .mg-main-line {
+ opacity: 0.1;
+}
+
+.mg-missing .mg-main-area {
+ opacity: 0.03;
+}
+
+path.mg-main-area {
+ opacity: 0.2;
+ stroke: none;
+}
+
+path.mg-confidence-band {
+ fill: #ccc;
+ opacity: 0.4;
+ stroke: none;
+}
+
+path.mg-main-line {
+ fill: none;
+ opacity: 0.8;
+ stroke-width: 1.1px;
+}
+
+.mg-points circle {
+ fill-opacity: 0.4;
+ stroke-opacity: 1;
+}
+
+circle.mg-points-mono {
+ fill: #0000ff;
+ stroke: #0000ff;
+}
+
+tspan.mg-points-mono {
+ fill: #0000ff;
+ stroke: #0000ff;
+}
+
+/* a selected point in a scatterplot */
+.mg-points circle.selected {
+ fill-opacity: 1;
+}
+
+.mg-highlight circle {
+ fill-opacity: 0;
+ stroke-width: 4px;
+ stroke-opacity: 0.3;
+}
+
+.mg-voronoi path {
+ fill: none;
+ pointer-events: all;
+ stroke: none;
+ stroke-opacity: 0.1;
+ -webkit-touch-callout: none;
+ -webkit-user-select: none;
+ -khtml-user-select: none;
+ -moz-user-select: none;
+ -ms-user-select: none;
+ user-select: none;
+}
+
+.mg-x-rug-mono,
+.mg-y-rug-mono {
+ stroke: black;
+}
+
+.mg-x-axis line,
+.mg-y-axis line {
+ opacity: 1;
+ shape-rendering: auto;
+ stroke: #b3b2b2;
+ stroke-width: 1px;
+}
+
+.mg-x-axis text,
+.mg-y-axis text,
+.mg-histogram .axis text {
+ fill: black;
+ font-size: 0.9rem;
+ opacity: 0.6;
+}
+
+.mg-x-axis .label,
+.mg-y-axis .label,
+.mg-axis .label {
+ font-size: 0.8rem;
+ text-transform: uppercase;
+ font-weight: 400;
+}
+
+.mg-x-axis-small text,
+.mg-y-axis-small text,
+.mg-active-datapoint-small {
+ font-size: 0.6rem;
+}
+
+.mg-x-axis-small .label,
+.mg-y-axis-small .label {
+ font-size: 0.65rem;
+}
+
+.mg-european-hours {
+}
+
+.mg-year-marker text {
+ fill: black;
+ font-size: 0.7rem;
+ opacity: 0.6;
+}
+
+.mg-year-marker line {
+ opacity: 1;
+ shape-rendering: auto;
+ stroke: #b3b2b2;
+ stroke-width: 1px;
+}
+
+.mg-year-marker-small text {
+ font-size: 0.6rem;
+}
+
+.mg-brush-container {
+ cursor: crosshair;
+}
+
+.mg-brush-container .mg-brushing {
+ cursor: ew-resize;
+}
+
+.mg-brushed, .mg-brushed * {
+ cursor: zoom-out;
+}
+
+.mg-brush rect.mg-extent {
+ fill: rgba(0, 0, 0, 0.3);
+}
+
+.mg-brushing-in-progress {
+ -webkit-touch-callout: none;
+ -webkit-user-select: none;
+ -khtml-user-select: none;
+ -moz-user-select: none;
+ -ms-user-select: none;
+ user-select: none;
+}
diff --git a/priv/static/css/tailwind-ui.min.css b/priv/static/css/tailwind-ui.min.css
new file mode 100644
index 0000000..003df1c
--- /dev/null
+++ b/priv/static/css/tailwind-ui.min.css
@@ -0,0 +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;-webkit-text-decoration:underline dotted;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}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-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}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}button{background-color:transparent;background-image:none}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}fieldset{margin:0;padding:0}ol,ul{list-style:none;margin:0;padding:0}html{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";line-height:1.5}*,::after,::before{box-sizing:border-box;border-width:0;border-style:solid;border-color:#d2d6dc}hr{border-top-width:1px}img{border-style:solid}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{color:#a0aec0}input:-ms-input-placeholder,textarea:-ms-input-placeholder{color:#a0aec0}input::-ms-input-placeholder,textarea::-ms-input-placeholder{color:#a0aec0}input::placeholder,textarea::placeholder{color:#a0aec0}[role=button],button{cursor:pointer}table{border-collapse:collapse}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}button,input,optgroup,select,textarea{padding:0;line-height:inherit;color:inherit}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}.form-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;border-color:#d2d6dc;border-width:1px;border-radius:.375rem;padding-top:.5rem;padding-right:.75rem;padding-bottom:.5rem;padding-left:.75rem;font-size:1rem;line-height:1.5}.form-input::-moz-placeholder{color:#9fa6b2;opacity:1}.form-input:-ms-input-placeholder{color:#9fa6b2;opacity:1}.form-input::-ms-input-placeholder{color:#9fa6b2;opacity:1}.form-input::placeholder{color:#9fa6b2;opacity:1}.form-input:focus{outline:0;box-shadow:0 0 0 3px rgba(164,202,254,.45);border-color:#a4cafe}.form-textarea{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;border-color:#d2d6dc;border-width:1px;border-radius:.375rem;padding-top:.5rem;padding-right:.75rem;padding-bottom:.5rem;padding-left:.75rem;font-size:1rem;line-height:1.5}.form-textarea::-moz-placeholder{color:#9fa6b2;opacity:1}.form-textarea:-ms-input-placeholder{color:#9fa6b2;opacity:1}.form-textarea::-ms-input-placeholder{color:#9fa6b2;opacity:1}.form-textarea::placeholder{color:#9fa6b2;opacity:1}.form-textarea:focus{outline:0;box-shadow:0 0 0 3px rgba(164,202,254,.45);border-color:#a4cafe}.form-multiselect{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;border-color:#d2d6dc;border-width:1px;border-radius:.375rem;padding-top:.5rem;padding-right:.75rem;padding-bottom:.5rem;padding-left:.75rem;font-size:1rem;line-height:1.5}.form-multiselect:focus{outline:0;box-shadow:0 0 0 3px rgba(164,202,254,.45);border-color:#a4cafe}.form-select{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none'%3e%3cpath d='M7 7l3-3 3 3m0 6l-3 3-3-3' stroke='%239fa6b2' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3e%3c/svg%3e");-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-print-color-adjust:exact;color-adjust:exact;background-repeat:no-repeat;background-color:#fff;border-color:#d2d6dc;border-width:1px;border-radius:.375rem;padding-top:.5rem;padding-right:2.5rem;padding-bottom:.5rem;padding-left:.75rem;font-size:1rem;line-height:1.5;background-position:right .5rem center;background-size:1.5em 1.5em}.form-select::-ms-expand{color:#9fa6b2;border:none}@media not print{.form-select::-ms-expand{display:none}}@media print and (-ms-high-contrast:active),print and (-ms-high-contrast:none){.form-select{padding-right:.75rem}}.form-select:focus{outline:0;box-shadow:0 0 0 3px rgba(164,202,254,.45);border-color:#a4cafe}.form-checkbox:checked{background-image:url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M5.707 7.293a1 1 0 0 0-1.414 1.414l2 2a1 1 0 0 0 1.414 0l4-4a1 1 0 0 0-1.414-1.414L7 8.586 5.707 7.293z'/%3e%3c/svg%3e");border-color:transparent;background-color:currentColor;background-size:100% 100%;background-position:center;background-repeat:no-repeat}@media not print{.form-checkbox::-ms-check{border-width:1px;color:transparent;background:inherit;border-color:inherit;border-radius:inherit}}.form-checkbox{-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-print-color-adjust:exact;color-adjust:exact;display:inline-block;vertical-align:middle;background-origin:border-box;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;flex-shrink:0;height:1rem;width:1rem;color:#3f83f8;background-color:#fff;border-color:#d2d6dc;border-width:1px;border-radius:.25rem}.form-checkbox:focus{outline:0;box-shadow:0 0 0 3px rgba(164,202,254,.45);border-color:#a4cafe}.form-checkbox:checked:focus{border-color:transparent}.form-radio:checked{background-image:url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3ccircle cx='8' cy='8' r='3'/%3e%3c/svg%3e");border-color:transparent;background-color:currentColor;background-size:100% 100%;background-position:center;background-repeat:no-repeat}@media not print{.form-radio::-ms-check{border-width:1px;color:transparent;background:inherit;border-color:inherit;border-radius:inherit}}.form-radio{-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-print-color-adjust:exact;color-adjust:exact;display:inline-block;vertical-align:middle;background-origin:border-box;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;flex-shrink:0;border-radius:100%;height:1rem;width:1rem;color:#3f83f8;background-color:#fff;border-color:#d2d6dc;border-width:1px}.form-radio:focus{outline:0;box-shadow:0 0 0 3px rgba(164,202,254,.45);border-color:#a4cafe}.form-radio:checked:focus{border-color:transparent}.prose{color:#374151;max-width:65ch}.prose [class~=lead]{color:#4b5563;font-size:1.25em;line-height:1.6;margin-top:1.2em;margin-bottom:1.2em}.prose a{color:#5850ec;text-decoration:none;font-weight:600}.prose strong{color:#161e2e;font-weight:600}.prose ol{counter-reset:list-counter;margin-top:1.25em;margin-bottom:1.25em}.prose ol>li{position:relative;counter-increment:list-counter;padding-left:1.75em}.prose ol>li::before{content:counter(list-counter) ".";position:absolute;font-weight:400;color:#6b7280}.prose ul>li{position:relative;padding-left:1.75em}.prose ul>li::before{content:"";position:absolute;background-color:#d2d6dc;border-radius:50%;width:.375em;height:.375em;top:calc(.875em - .1875em);left:.25em}.prose hr{border-color:#e5e7eb;border-top-width:1px;margin-top:3em;margin-bottom:3em}.prose blockquote{font-weight:500;font-style:italic;color:#161e2e;border-left-width:.25rem;border-left-color:#e5e7eb;quotes:"\201C""\201D""\2018""\2019";margin-top:1.6em;margin-bottom:1.6em;padding-left:1em}.prose blockquote p:first-of-type::before{content:open-quote}.prose blockquote p:last-of-type::after{content:close-quote}.prose h1{color:#1a202c;font-weight:800;font-size:2.25em;margin-top:0;margin-bottom:.8888889em;line-height:1.1111111}.prose h2{color:#1a202c;font-weight:700;font-size:1.5em;margin-top:2em;margin-bottom:1em;line-height:1.3333333}.prose h3{color:#1a202c;font-weight:600;font-size:1.25em;margin-top:1.6em;margin-bottom:.6em;line-height:1.6}.prose h4{color:#1a202c;font-weight:600;margin-top:1.5em;margin-bottom:.5em;line-height:1.5}.prose figure figcaption{color:#6b7280;font-size:.875em;line-height:1.4285714;margin-top:.8571429em}.prose code{color:#161e2e;font-weight:600;font-size:.875em}.prose code::before{content:"`"}.prose code::after{content:"`"}.prose pre{color:#e5e7eb;background-color:#252f3f;overflow-x:auto;font-size:.875em;line-height:1.7142857;margin-top:1.7142857em;margin-bottom:1.7142857em;border-radius:.375rem;padding-top:.8571429em;padding-right:1.1428571em;padding-bottom:.8571429em;padding-left:1.1428571em}.prose pre code{background-color:transparent;border-width:0;border-radius:0;padding:0;font-weight:400;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}.prose pre code::before{content:""}.prose pre code::after{content:""}.prose table{width:100%;table-layout:auto;text-align:left;margin-top:2em;margin-bottom:2em;font-size:.875em;line-height:1.7142857}.prose thead{color:#161e2e;font-weight:600;border-bottom-width:1px;border-bottom-color:#d2d6dc}.prose thead th{vertical-align:bottom;padding-right:.5714286em;padding-bottom:.5714286em;padding-left:.5714286em}.prose tbody tr{border-bottom-width:1px;border-bottom-color:#e5e7eb}.prose tbody tr:last-child{border-bottom-width:0}.prose tbody td{vertical-align:top;padding-top:.5714286em;padding-right:.5714286em;padding-bottom:.5714286em;padding-left:.5714286em}.prose{font-size:1rem;line-height:1.75}.prose p{margin-top:1.25em;margin-bottom:1.25em}.prose img{margin-top:2em;margin-bottom:2em}.prose video{margin-top:2em;margin-bottom:2em}.prose figure{margin-top:2em;margin-bottom:2em}.prose figure>*{margin-top:0;margin-bottom:0}.prose h2 code{font-size:.875em}.prose h3 code{font-size:.9em}.prose ul{margin-top:1.25em;margin-bottom:1.25em}.prose li{margin-top:.5em;margin-bottom:.5em}.prose ol>li:before{left:0}.prose>ul>li p{margin-top:.75em;margin-bottom:.75em}.prose>ul>li>:first-child{margin-top:1.25em}.prose>ul>li>:last-child{margin-bottom:1.25em}.prose>ol>li>:first-child{margin-top:1.25em}.prose>ol>li>:last-child{margin-bottom:1.25em}.prose ol ol,.prose ol ul,.prose ul ol,.prose ul ul{margin-top:.75em;margin-bottom:.75em}.prose hr+*{margin-top:0}.prose h2+*{margin-top:0}.prose h3+*{margin-top:0}.prose h4+*{margin-top:0}.prose thead th:first-child{padding-left:0}.prose thead th:last-child{padding-right:0}.prose tbody td:first-child{padding-left:0}.prose tbody td:last-child{padding-right:0}.prose>:first-child{margin-top:0}.prose>:last-child{margin-bottom:0}.prose h1,.prose h2,.prose h3,.prose h4{color:#161e2e}.prose-sm{font-size:.875rem;line-height:1.7142857}.prose-sm p{margin-top:1.1428571em;margin-bottom:1.1428571em}.prose-sm [class~=lead]{font-size:1.2857143em;line-height:1.5555556;margin-top:.8888889em;margin-bottom:.8888889em}.prose-sm blockquote{margin-top:1.3333333em;margin-bottom:1.3333333em;padding-left:1.1111111em}.prose-sm h1{font-size:2.1428571em;margin-top:0;margin-bottom:.8em;line-height:1.2}.prose-sm h2{font-size:1.4285714em;margin-top:1.6em;margin-bottom:.8em;line-height:1.4}.prose-sm h3{font-size:1.2857143em;margin-top:1.5555556em;margin-bottom:.4444444em;line-height:1.5555556}.prose-sm h4{margin-top:1.4285714em;margin-bottom:.5714286em;line-height:1.4285714}.prose-sm img{margin-top:1.7142857em;margin-bottom:1.7142857em}.prose-sm video{margin-top:1.7142857em;margin-bottom:1.7142857em}.prose-sm figure{margin-top:1.7142857em;margin-bottom:1.7142857em}.prose-sm figure>*{margin-top:0;margin-bottom:0}.prose-sm figure figcaption{font-size:.8571429em;line-height:1.3333333;margin-top:.6666667em}.prose-sm code{font-size:.8571429em}.prose-sm h2 code{font-size:.9em}.prose-sm h3 code{font-size:.8888889em}.prose-sm pre{font-size:.8571429em;line-height:1.6666667;margin-top:1.6666667em;margin-bottom:1.6666667em;border-radius:.25rem;padding-top:.6666667em;padding-right:1em;padding-bottom:.6666667em;padding-left:1em}.prose-sm ol{margin-top:1.1428571em;margin-bottom:1.1428571em}.prose-sm ul{margin-top:1.1428571em;margin-bottom:1.1428571em}.prose-sm li{margin-top:.2857143em;margin-bottom:.2857143em}.prose-sm ol>li{padding-left:1.5714286em}.prose-sm ol>li:before{left:0}.prose-sm ul>li{padding-left:1.5714286em}.prose-sm ul>li::before{height:.3571429em;width:.3571429em;top:calc(.8571429em - .1785714em);left:.2142857em}.prose-sm>ul>li p{margin-top:.5714286em;margin-bottom:.5714286em}.prose-sm>ul>li>:first-child{margin-top:1.1428571em}.prose-sm>ul>li>:last-child{margin-bottom:1.1428571em}.prose-sm>ol>li>:first-child{margin-top:1.1428571em}.prose-sm>ol>li>:last-child{margin-bottom:1.1428571em}.prose-sm ol ol,.prose-sm ol ul,.prose-sm ul ol,.prose-sm ul ul{margin-top:.5714286em;margin-bottom:.5714286em}.prose-sm hr{margin-top:2.8571429em;margin-bottom:2.8571429em}.prose-sm hr+*{margin-top:0}.prose-sm h2+*{margin-top:0}.prose-sm h3+*{margin-top:0}.prose-sm h4+*{margin-top:0}.prose-sm table{font-size:.8571429em;line-height:1.5}.prose-sm thead th{padding-right:1em;padding-bottom:.6666667em;padding-left:1em}.prose-sm thead th:first-child{padding-left:0}.prose-sm thead th:last-child{padding-right:0}.prose-sm tbody td{padding-top:.6666667em;padding-right:1em;padding-bottom:.6666667em;padding-left:1em}.prose-sm tbody td:first-child{padding-left:0}.prose-sm tbody td:last-child{padding-right:0}.prose-sm>:first-child{margin-top:0}.prose-sm>:last-child{margin-bottom:0}.prose-lg{font-size:1.125rem;line-height:1.7777778}.prose-lg p{margin-top:1.3333333em;margin-bottom:1.3333333em}.prose-lg [class~=lead]{font-size:1.2222222em;line-height:1.4545455;margin-top:1.0909091em;margin-bottom:1.0909091em}.prose-lg blockquote{margin-top:1.6666667em;margin-bottom:1.6666667em;padding-left:1em}.prose-lg h1{font-size:2.6666667em;margin-top:0;margin-bottom:.8333333em;line-height:1}.prose-lg h2{font-size:1.6666667em;margin-top:1.8666667em;margin-bottom:1.0666667em;line-height:1.3333333}.prose-lg h3{font-size:1.3333333em;margin-top:1.6666667em;margin-bottom:.6666667em;line-height:1.5}.prose-lg h4{margin-top:1.7777778em;margin-bottom:.4444444em;line-height:1.5555556}.prose-lg img{margin-top:1.7777778em;margin-bottom:1.7777778em}.prose-lg video{margin-top:1.7777778em;margin-bottom:1.7777778em}.prose-lg figure{margin-top:1.7777778em;margin-bottom:1.7777778em}.prose-lg figure>*{margin-top:0;margin-bottom:0}.prose-lg figure figcaption{font-size:.8888889em;line-height:1.5;margin-top:1em}.prose-lg code{font-size:.8888889em}.prose-lg h2 code{font-size:.8666667em}.prose-lg h3 code{font-size:.875em}.prose-lg pre{font-size:.8888889em;line-height:1.75;margin-top:2em;margin-bottom:2em;border-radius:.375rem;padding-top:1em;padding-right:1.5em;padding-bottom:1em;padding-left:1.5em}.prose-lg ol{margin-top:1.3333333em;margin-bottom:1.3333333em}.prose-lg ul{margin-top:1.3333333em;margin-bottom:1.3333333em}.prose-lg li{margin-top:.6666667em;margin-bottom:.6666667em}.prose-lg ol>li{padding-left:1.6666667em}.prose-lg ol>li:before{left:0}.prose-lg ul>li{padding-left:1.6666667em}.prose-lg ul>li::before{width:.3333333em;height:.3333333em;top:calc(.8888889em - .1666667em);left:.2222222em}.prose-lg>ul>li p{margin-top:.8888889em;margin-bottom:.8888889em}.prose-lg>ul>li>:first-child{margin-top:1.3333333em}.prose-lg>ul>li>:last-child{margin-bottom:1.3333333em}.prose-lg>ol>li>:first-child{margin-top:1.3333333em}.prose-lg>ol>li>:last-child{margin-bottom:1.3333333em}.prose-lg ol ol,.prose-lg ol ul,.prose-lg ul ol,.prose-lg ul ul{margin-top:.8888889em;margin-bottom:.8888889em}.prose-lg hr{margin-top:3.1111111em;margin-bottom:3.1111111em}.prose-lg hr+*{margin-top:0}.prose-lg h2+*{margin-top:0}.prose-lg h3+*{margin-top:0}.prose-lg h4+*{margin-top:0}.prose-lg table{font-size:.8888889em;line-height:1.5}.prose-lg thead th{padding-right:.75em;padding-bottom:.75em;padding-left:.75em}.prose-lg thead th:first-child{padding-left:0}.prose-lg thead th:last-child{padding-right:0}.prose-lg tbody td{padding-top:.75em;padding-right:.75em;padding-bottom:.75em;padding-left:.75em}.prose-lg tbody td:first-child{padding-left:0}.prose-lg tbody td:last-child{padding-right:0}.prose-lg>:first-child{margin-top:0}.prose-lg>:last-child{margin-bottom:0}.prose-xl{font-size:1.25rem;line-height:1.8}.prose-xl p{margin-top:1.2em;margin-bottom:1.2em}.prose-xl [class~=lead]{font-size:1.2em;line-height:1.5;margin-top:1em;margin-bottom:1em}.prose-xl blockquote{margin-top:1.6em;margin-bottom:1.6em;padding-left:1.0666667em}.prose-xl h1{font-size:2.8em;margin-top:0;margin-bottom:.8571429em;line-height:1}.prose-xl h2{font-size:1.8em;margin-top:1.5555556em;margin-bottom:.8888889em;line-height:1.1111111}.prose-xl h3{font-size:1.5em;margin-top:1.6em;margin-bottom:.6666667em;line-height:1.3333333}.prose-xl h4{margin-top:1.8em;margin-bottom:.6em;line-height:1.6}.prose-xl img{margin-top:2em;margin-bottom:2em}.prose-xl video{margin-top:2em;margin-bottom:2em}.prose-xl figure{margin-top:2em;margin-bottom:2em}.prose-xl figure>*{margin-top:0;margin-bottom:0}.prose-xl figure figcaption{font-size:.9em;line-height:1.5555556;margin-top:1em}.prose-xl code{font-size:.9em}.prose-xl h2 code{font-size:.8611111em}.prose-xl h3 code{font-size:.9em}.prose-xl pre{font-size:.9em;line-height:1.7777778;margin-top:2em;margin-bottom:2em;border-radius:.5rem;padding-top:1.1111111em;padding-right:1.3333333em;padding-bottom:1.1111111em;padding-left:1.3333333em}.prose-xl ol{margin-top:1.2em;margin-bottom:1.2em}.prose-xl ul{margin-top:1.2em;margin-bottom:1.2em}.prose-xl li{margin-top:.6em;margin-bottom:.6em}.prose-xl ol>li{padding-left:1.8em}.prose-xl ol>li:before{left:0}.prose-xl ul>li{padding-left:1.8em}.prose-xl ul>li::before{width:.35em;height:.35em;top:calc(.9em - .175em);left:.25em}.prose-xl>ul>li p{margin-top:.8em;margin-bottom:.8em}.prose-xl>ul>li>:first-child{margin-top:1.2em}.prose-xl>ul>li>:last-child{margin-bottom:1.2em}.prose-xl>ol>li>:first-child{margin-top:1.2em}.prose-xl>ol>li>:last-child{margin-bottom:1.2em}.prose-xl ol ol,.prose-xl ol ul,.prose-xl ul ol,.prose-xl ul ul{margin-top:.8em;margin-bottom:.8em}.prose-xl hr{margin-top:2.8em;margin-bottom:2.8em}.prose-xl hr+*{margin-top:0}.prose-xl h2+*{margin-top:0}.prose-xl h3+*{margin-top:0}.prose-xl h4+*{margin-top:0}.prose-xl table{font-size:.9em;line-height:1.5555556}.prose-xl thead th{padding-right:.6666667em;padding-bottom:.8888889em;padding-left:.6666667em}.prose-xl thead th:first-child{padding-left:0}.prose-xl thead th:last-child{padding-right:0}.prose-xl tbody td{padding-top:.8888889em;padding-right:.6666667em;padding-bottom:.8888889em;padding-left:.6666667em}.prose-xl tbody td:first-child{padding-left:0}.prose-xl tbody td:last-child{padding-right:0}.prose-xl>:first-child{margin-top:0}.prose-xl>:last-child{margin-bottom:0}.prose-2xl{font-size:1.5rem;line-height:1.6666667}.prose-2xl p{margin-top:1.3333333em;margin-bottom:1.3333333em}.prose-2xl [class~=lead]{font-size:1.25em;line-height:1.4666667;margin-top:1.0666667em;margin-bottom:1.0666667em}.prose-2xl blockquote{margin-top:1.7777778em;margin-bottom:1.7777778em;padding-left:1.1111111em}.prose-2xl h1{font-size:2.6666667em;margin-top:0;margin-bottom:.875em;line-height:1}.prose-2xl h2{font-size:2em;margin-top:1.5em;margin-bottom:.8333333em;line-height:1.0833333}.prose-2xl h3{font-size:1.5em;margin-top:1.5555556em;margin-bottom:.6666667em;line-height:1.2222222}.prose-2xl h4{margin-top:1.6666667em;margin-bottom:.6666667em;line-height:1.5}.prose-2xl img{margin-top:2em;margin-bottom:2em}.prose-2xl video{margin-top:2em;margin-bottom:2em}.prose-2xl figure{margin-top:2em;margin-bottom:2em}.prose-2xl figure>*{margin-top:0;margin-bottom:0}.prose-2xl figure figcaption{font-size:.8333333em;line-height:1.6;margin-top:1em}.prose-2xl code{font-size:.8333333em}.prose-2xl h2 code{font-size:.875em}.prose-2xl h3 code{font-size:.8888889em}.prose-2xl pre{font-size:.8333333em;line-height:1.8;margin-top:2em;margin-bottom:2em;border-radius:.5rem;padding-top:1.2em;padding-right:1.6em;padding-bottom:1.2em;padding-left:1.6em}.prose-2xl ol{margin-top:1.3333333em;margin-bottom:1.3333333em}.prose-2xl ul{margin-top:1.3333333em;margin-bottom:1.3333333em}.prose-2xl li{margin-top:.5em;margin-bottom:.5em}.prose-2xl ol>li{padding-left:1.6666667em}.prose-2xl ol>li:before{left:0}.prose-2xl ul>li{padding-left:1.6666667em}.prose-2xl ul>li::before{width:.3333333em;height:.3333333em;top:calc(.8333333em - .1666667em);left:.25em}.prose-2xl>ul>li p{margin-top:.8333333em;margin-bottom:.8333333em}.prose-2xl>ul>li>:first-child{margin-top:1.3333333em}.prose-2xl>ul>li>:last-child{margin-bottom:1.3333333em}.prose-2xl>ol>li>:first-child{margin-top:1.3333333em}.prose-2xl>ol>li>:last-child{margin-bottom:1.3333333em}.prose-2xl ol ol,.prose-2xl ol ul,.prose-2xl ul ol,.prose-2xl ul ul{margin-top:.6666667em;margin-bottom:.6666667em}.prose-2xl hr{margin-top:3em;margin-bottom:3em}.prose-2xl hr+*{margin-top:0}.prose-2xl h2+*{margin-top:0}.prose-2xl h3+*{margin-top:0}.prose-2xl h4+*{margin-top:0}.prose-2xl table{font-size:.8333333em;line-height:1.4}.prose-2xl thead th{padding-right:.6em;padding-bottom:.8em;padding-left:.6em}.prose-2xl thead th:first-child{padding-left:0}.prose-2xl thead th:last-child{padding-right:0}.prose-2xl tbody td{padding-top:.8em;padding-right:.6em;padding-bottom:.8em;padding-left:.6em}.prose-2xl tbody td:first-child{padding-left:0}.prose-2xl tbody td:last-child{padding-right:0}.prose-2xl>:first-child{margin-top:0}.prose-2xl>:last-child{margin-bottom:0}.space-y-0>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(0px * calc(1 - var(--space-y-reverse)));margin-bottom:calc(0px * var(--space-y-reverse))}.space-x-0>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(0px * var(--space-x-reverse));margin-left:calc(0px * calc(1 - var(--space-x-reverse)))}.space-y-1>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(.25rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(.25rem * var(--space-y-reverse))}.space-x-1>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(.25rem * var(--space-x-reverse));margin-left:calc(.25rem * calc(1 - var(--space-x-reverse)))}.space-y-2>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(.5rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(.5rem * var(--space-y-reverse))}.space-x-2>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(.5rem * var(--space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--space-x-reverse)))}.space-y-3>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(.75rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(.75rem * var(--space-y-reverse))}.space-x-3>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(.75rem * var(--space-x-reverse));margin-left:calc(.75rem * calc(1 - var(--space-x-reverse)))}.space-y-4>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(1rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(1rem * var(--space-y-reverse))}.space-x-4>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(1rem * var(--space-x-reverse));margin-left:calc(1rem * calc(1 - var(--space-x-reverse)))}.space-y-5>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(1.25rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(1.25rem * var(--space-y-reverse))}.space-x-5>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(1.25rem * var(--space-x-reverse));margin-left:calc(1.25rem * calc(1 - var(--space-x-reverse)))}.space-y-6>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(1.5rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(1.5rem * var(--space-y-reverse))}.space-x-6>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(1.5rem * var(--space-x-reverse));margin-left:calc(1.5rem * calc(1 - var(--space-x-reverse)))}.space-y-7>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(1.75rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(1.75rem * var(--space-y-reverse))}.space-x-7>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(1.75rem * var(--space-x-reverse));margin-left:calc(1.75rem * calc(1 - var(--space-x-reverse)))}.space-y-8>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(2rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(2rem * var(--space-y-reverse))}.space-x-8>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(2rem * var(--space-x-reverse));margin-left:calc(2rem * calc(1 - var(--space-x-reverse)))}.space-y-9>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(2.25rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(2.25rem * var(--space-y-reverse))}.space-x-9>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(2.25rem * var(--space-x-reverse));margin-left:calc(2.25rem * calc(1 - var(--space-x-reverse)))}.space-y-10>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(2.5rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(2.5rem * var(--space-y-reverse))}.space-x-10>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(2.5rem * var(--space-x-reverse));margin-left:calc(2.5rem * calc(1 - var(--space-x-reverse)))}.space-y-11>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(2.75rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(2.75rem * var(--space-y-reverse))}.space-x-11>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(2.75rem * var(--space-x-reverse));margin-left:calc(2.75rem * calc(1 - var(--space-x-reverse)))}.space-y-12>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(3rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(3rem * var(--space-y-reverse))}.space-x-12>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(3rem * var(--space-x-reverse));margin-left:calc(3rem * calc(1 - var(--space-x-reverse)))}.space-y-13>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(3.25rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(3.25rem * var(--space-y-reverse))}.space-x-13>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(3.25rem * var(--space-x-reverse));margin-left:calc(3.25rem * calc(1 - var(--space-x-reverse)))}.space-y-14>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(3.5rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(3.5rem * var(--space-y-reverse))}.space-x-14>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(3.5rem * var(--space-x-reverse));margin-left:calc(3.5rem * calc(1 - var(--space-x-reverse)))}.space-y-15>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(3.75rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(3.75rem * var(--space-y-reverse))}.space-x-15>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(3.75rem * var(--space-x-reverse));margin-left:calc(3.75rem * calc(1 - var(--space-x-reverse)))}.space-y-16>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(4rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(4rem * var(--space-y-reverse))}.space-x-16>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(4rem * var(--space-x-reverse));margin-left:calc(4rem * calc(1 - var(--space-x-reverse)))}.space-y-20>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(5rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(5rem * var(--space-y-reverse))}.space-x-20>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(5rem * var(--space-x-reverse));margin-left:calc(5rem * calc(1 - var(--space-x-reverse)))}.space-y-24>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(6rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(6rem * var(--space-y-reverse))}.space-x-24>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(6rem * var(--space-x-reverse));margin-left:calc(6rem * calc(1 - var(--space-x-reverse)))}.space-y-28>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(7rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(7rem * var(--space-y-reverse))}.space-x-28>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(7rem * var(--space-x-reverse));margin-left:calc(7rem * calc(1 - var(--space-x-reverse)))}.space-y-32>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(8rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(8rem * var(--space-y-reverse))}.space-x-32>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(8rem * var(--space-x-reverse));margin-left:calc(8rem * calc(1 - var(--space-x-reverse)))}.space-y-36>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(9rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(9rem * var(--space-y-reverse))}.space-x-36>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(9rem * var(--space-x-reverse));margin-left:calc(9rem * calc(1 - var(--space-x-reverse)))}.space-y-40>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(10rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(10rem * var(--space-y-reverse))}.space-x-40>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(10rem * var(--space-x-reverse));margin-left:calc(10rem * calc(1 - var(--space-x-reverse)))}.space-y-44>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(11rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(11rem * var(--space-y-reverse))}.space-x-44>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(11rem * var(--space-x-reverse));margin-left:calc(11rem * calc(1 - var(--space-x-reverse)))}.space-y-48>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(12rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(12rem * var(--space-y-reverse))}.space-x-48>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(12rem * var(--space-x-reverse));margin-left:calc(12rem * calc(1 - var(--space-x-reverse)))}.space-y-52>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(13rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(13rem * var(--space-y-reverse))}.space-x-52>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(13rem * var(--space-x-reverse));margin-left:calc(13rem * calc(1 - var(--space-x-reverse)))}.space-y-56>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(14rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(14rem * var(--space-y-reverse))}.space-x-56>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(14rem * var(--space-x-reverse));margin-left:calc(14rem * calc(1 - var(--space-x-reverse)))}.space-y-60>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(15rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(15rem * var(--space-y-reverse))}.space-x-60>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(15rem * var(--space-x-reverse));margin-left:calc(15rem * calc(1 - var(--space-x-reverse)))}.space-y-64>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(16rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(16rem * var(--space-y-reverse))}.space-x-64>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(16rem * var(--space-x-reverse));margin-left:calc(16rem * calc(1 - var(--space-x-reverse)))}.space-y-72>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(18rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(18rem * var(--space-y-reverse))}.space-x-72>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(18rem * var(--space-x-reverse));margin-left:calc(18rem * calc(1 - var(--space-x-reverse)))}.space-y-80>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(20rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(20rem * var(--space-y-reverse))}.space-x-80>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(20rem * var(--space-x-reverse));margin-left:calc(20rem * calc(1 - var(--space-x-reverse)))}.space-y-96>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(24rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(24rem * var(--space-y-reverse))}.space-x-96>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(24rem * var(--space-x-reverse));margin-left:calc(24rem * calc(1 - var(--space-x-reverse)))}.space-y-px>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(1px * calc(1 - var(--space-y-reverse)));margin-bottom:calc(1px * var(--space-y-reverse))}.space-x-px>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(1px * var(--space-x-reverse));margin-left:calc(1px * calc(1 - var(--space-x-reverse)))}.space-y-0\.5>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(.125rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(.125rem * var(--space-y-reverse))}.space-x-0\.5>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(.125rem * var(--space-x-reverse));margin-left:calc(.125rem * calc(1 - var(--space-x-reverse)))}.space-y-1\.5>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(.375rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(.375rem * var(--space-y-reverse))}.space-x-1\.5>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(.375rem * var(--space-x-reverse));margin-left:calc(.375rem * calc(1 - var(--space-x-reverse)))}.space-y-2\.5>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(.625rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(.625rem * var(--space-y-reverse))}.space-x-2\.5>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(.625rem * var(--space-x-reverse));margin-left:calc(.625rem * calc(1 - var(--space-x-reverse)))}.space-y-3\.5>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(.875rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(.875rem * var(--space-y-reverse))}.space-x-3\.5>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(.875rem * var(--space-x-reverse));margin-left:calc(.875rem * calc(1 - var(--space-x-reverse)))}.space-y-1\/2>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(50% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(50% * var(--space-y-reverse))}.space-x-1\/2>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(50% * var(--space-x-reverse));margin-left:calc(50% * calc(1 - var(--space-x-reverse)))}.space-y-1\/3>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(33.333333% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(33.333333% * var(--space-y-reverse))}.space-x-1\/3>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(33.333333% * var(--space-x-reverse));margin-left:calc(33.333333% * calc(1 - var(--space-x-reverse)))}.space-y-2\/3>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(66.666667% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(66.666667% * var(--space-y-reverse))}.space-x-2\/3>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(66.666667% * var(--space-x-reverse));margin-left:calc(66.666667% * calc(1 - var(--space-x-reverse)))}.space-y-1\/4>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(25% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(25% * var(--space-y-reverse))}.space-x-1\/4>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(25% * var(--space-x-reverse));margin-left:calc(25% * calc(1 - var(--space-x-reverse)))}.space-y-2\/4>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(50% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(50% * var(--space-y-reverse))}.space-x-2\/4>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(50% * var(--space-x-reverse));margin-left:calc(50% * calc(1 - var(--space-x-reverse)))}.space-y-3\/4>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(75% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(75% * var(--space-y-reverse))}.space-x-3\/4>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(75% * var(--space-x-reverse));margin-left:calc(75% * calc(1 - var(--space-x-reverse)))}.space-y-1\/5>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(20% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(20% * var(--space-y-reverse))}.space-x-1\/5>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(20% * var(--space-x-reverse));margin-left:calc(20% * calc(1 - var(--space-x-reverse)))}.space-y-2\/5>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(40% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(40% * var(--space-y-reverse))}.space-x-2\/5>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(40% * var(--space-x-reverse));margin-left:calc(40% * calc(1 - var(--space-x-reverse)))}.space-y-3\/5>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(60% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(60% * var(--space-y-reverse))}.space-x-3\/5>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(60% * var(--space-x-reverse));margin-left:calc(60% * calc(1 - var(--space-x-reverse)))}.space-y-4\/5>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(80% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(80% * var(--space-y-reverse))}.space-x-4\/5>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(80% * var(--space-x-reverse));margin-left:calc(80% * calc(1 - var(--space-x-reverse)))}.space-y-1\/6>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(16.666667% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(16.666667% * var(--space-y-reverse))}.space-x-1\/6>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(16.666667% * var(--space-x-reverse));margin-left:calc(16.666667% * calc(1 - var(--space-x-reverse)))}.space-y-2\/6>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(33.333333% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(33.333333% * var(--space-y-reverse))}.space-x-2\/6>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(33.333333% * var(--space-x-reverse));margin-left:calc(33.333333% * calc(1 - var(--space-x-reverse)))}.space-y-3\/6>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(50% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(50% * var(--space-y-reverse))}.space-x-3\/6>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(50% * var(--space-x-reverse));margin-left:calc(50% * calc(1 - var(--space-x-reverse)))}.space-y-4\/6>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(66.666667% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(66.666667% * var(--space-y-reverse))}.space-x-4\/6>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(66.666667% * var(--space-x-reverse));margin-left:calc(66.666667% * calc(1 - var(--space-x-reverse)))}.space-y-5\/6>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(83.333333% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(83.333333% * var(--space-y-reverse))}.space-x-5\/6>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(83.333333% * var(--space-x-reverse));margin-left:calc(83.333333% * calc(1 - var(--space-x-reverse)))}.space-y-1\/12>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(8.333333% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(8.333333% * var(--space-y-reverse))}.space-x-1\/12>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(8.333333% * var(--space-x-reverse));margin-left:calc(8.333333% * calc(1 - var(--space-x-reverse)))}.space-y-2\/12>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(16.666667% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(16.666667% * var(--space-y-reverse))}.space-x-2\/12>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(16.666667% * var(--space-x-reverse));margin-left:calc(16.666667% * calc(1 - var(--space-x-reverse)))}.space-y-3\/12>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(25% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(25% * var(--space-y-reverse))}.space-x-3\/12>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(25% * var(--space-x-reverse));margin-left:calc(25% * calc(1 - var(--space-x-reverse)))}.space-y-4\/12>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(33.333333% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(33.333333% * var(--space-y-reverse))}.space-x-4\/12>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(33.333333% * var(--space-x-reverse));margin-left:calc(33.333333% * calc(1 - var(--space-x-reverse)))}.space-y-5\/12>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(41.666667% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(41.666667% * var(--space-y-reverse))}.space-x-5\/12>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(41.666667% * var(--space-x-reverse));margin-left:calc(41.666667% * calc(1 - var(--space-x-reverse)))}.space-y-6\/12>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(50% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(50% * var(--space-y-reverse))}.space-x-6\/12>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(50% * var(--space-x-reverse));margin-left:calc(50% * calc(1 - var(--space-x-reverse)))}.space-y-7\/12>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(58.333333% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(58.333333% * var(--space-y-reverse))}.space-x-7\/12>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(58.333333% * var(--space-x-reverse));margin-left:calc(58.333333% * calc(1 - var(--space-x-reverse)))}.space-y-8\/12>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(66.666667% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(66.666667% * var(--space-y-reverse))}.space-x-8\/12>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(66.666667% * var(--space-x-reverse));margin-left:calc(66.666667% * calc(1 - var(--space-x-reverse)))}.space-y-9\/12>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(75% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(75% * var(--space-y-reverse))}.space-x-9\/12>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(75% * var(--space-x-reverse));margin-left:calc(75% * calc(1 - var(--space-x-reverse)))}.space-y-10\/12>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(83.333333% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(83.333333% * var(--space-y-reverse))}.space-x-10\/12>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(83.333333% * var(--space-x-reverse));margin-left:calc(83.333333% * calc(1 - var(--space-x-reverse)))}.space-y-11\/12>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(91.666667% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(91.666667% * var(--space-y-reverse))}.space-x-11\/12>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(91.666667% * var(--space-x-reverse));margin-left:calc(91.666667% * calc(1 - var(--space-x-reverse)))}.space-y-full>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(100% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(100% * var(--space-y-reverse))}.space-x-full>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(100% * var(--space-x-reverse));margin-left:calc(100% * calc(1 - var(--space-x-reverse)))}.-space-y-1>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-.25rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-.25rem * var(--space-y-reverse))}.-space-x-1>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-.25rem * var(--space-x-reverse));margin-left:calc(-.25rem * calc(1 - var(--space-x-reverse)))}.-space-y-2>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-.5rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-.5rem * var(--space-y-reverse))}.-space-x-2>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-.5rem * var(--space-x-reverse));margin-left:calc(-.5rem * calc(1 - var(--space-x-reverse)))}.-space-y-3>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-.75rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-.75rem * var(--space-y-reverse))}.-space-x-3>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-.75rem * var(--space-x-reverse));margin-left:calc(-.75rem * calc(1 - var(--space-x-reverse)))}.-space-y-4>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-1rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-1rem * var(--space-y-reverse))}.-space-x-4>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-1rem * var(--space-x-reverse));margin-left:calc(-1rem * calc(1 - var(--space-x-reverse)))}.-space-y-5>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-1.25rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-1.25rem * var(--space-y-reverse))}.-space-x-5>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-1.25rem * var(--space-x-reverse));margin-left:calc(-1.25rem * calc(1 - var(--space-x-reverse)))}.-space-y-6>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-1.5rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-1.5rem * var(--space-y-reverse))}.-space-x-6>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-1.5rem * var(--space-x-reverse));margin-left:calc(-1.5rem * calc(1 - var(--space-x-reverse)))}.-space-y-7>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-1.75rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-1.75rem * var(--space-y-reverse))}.-space-x-7>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-1.75rem * var(--space-x-reverse));margin-left:calc(-1.75rem * calc(1 - var(--space-x-reverse)))}.-space-y-8>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-2rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-2rem * var(--space-y-reverse))}.-space-x-8>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-2rem * var(--space-x-reverse));margin-left:calc(-2rem * calc(1 - var(--space-x-reverse)))}.-space-y-9>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-2.25rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-2.25rem * var(--space-y-reverse))}.-space-x-9>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-2.25rem * var(--space-x-reverse));margin-left:calc(-2.25rem * calc(1 - var(--space-x-reverse)))}.-space-y-10>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-2.5rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-2.5rem * var(--space-y-reverse))}.-space-x-10>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-2.5rem * var(--space-x-reverse));margin-left:calc(-2.5rem * calc(1 - var(--space-x-reverse)))}.-space-y-11>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-2.75rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-2.75rem * var(--space-y-reverse))}.-space-x-11>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-2.75rem * var(--space-x-reverse));margin-left:calc(-2.75rem * calc(1 - var(--space-x-reverse)))}.-space-y-12>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-3rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-3rem * var(--space-y-reverse))}.-space-x-12>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-3rem * var(--space-x-reverse));margin-left:calc(-3rem * calc(1 - var(--space-x-reverse)))}.-space-y-13>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-3.25rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-3.25rem * var(--space-y-reverse))}.-space-x-13>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-3.25rem * var(--space-x-reverse));margin-left:calc(-3.25rem * calc(1 - var(--space-x-reverse)))}.-space-y-14>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-3.5rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-3.5rem * var(--space-y-reverse))}.-space-x-14>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-3.5rem * var(--space-x-reverse));margin-left:calc(-3.5rem * calc(1 - var(--space-x-reverse)))}.-space-y-15>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-3.75rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-3.75rem * var(--space-y-reverse))}.-space-x-15>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-3.75rem * var(--space-x-reverse));margin-left:calc(-3.75rem * calc(1 - var(--space-x-reverse)))}.-space-y-16>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-4rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-4rem * var(--space-y-reverse))}.-space-x-16>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-4rem * var(--space-x-reverse));margin-left:calc(-4rem * calc(1 - var(--space-x-reverse)))}.-space-y-20>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-5rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-5rem * var(--space-y-reverse))}.-space-x-20>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-5rem * var(--space-x-reverse));margin-left:calc(-5rem * calc(1 - var(--space-x-reverse)))}.-space-y-24>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-6rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-6rem * var(--space-y-reverse))}.-space-x-24>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-6rem * var(--space-x-reverse));margin-left:calc(-6rem * calc(1 - var(--space-x-reverse)))}.-space-y-28>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-7rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-7rem * var(--space-y-reverse))}.-space-x-28>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-7rem * var(--space-x-reverse));margin-left:calc(-7rem * calc(1 - var(--space-x-reverse)))}.-space-y-32>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-8rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-8rem * var(--space-y-reverse))}.-space-x-32>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-8rem * var(--space-x-reverse));margin-left:calc(-8rem * calc(1 - var(--space-x-reverse)))}.-space-y-36>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-9rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-9rem * var(--space-y-reverse))}.-space-x-36>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-9rem * var(--space-x-reverse));margin-left:calc(-9rem * calc(1 - var(--space-x-reverse)))}.-space-y-40>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-10rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-10rem * var(--space-y-reverse))}.-space-x-40>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-10rem * var(--space-x-reverse));margin-left:calc(-10rem * calc(1 - var(--space-x-reverse)))}.-space-y-44>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-11rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-11rem * var(--space-y-reverse))}.-space-x-44>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-11rem * var(--space-x-reverse));margin-left:calc(-11rem * calc(1 - var(--space-x-reverse)))}.-space-y-48>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-12rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-12rem * var(--space-y-reverse))}.-space-x-48>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-12rem * var(--space-x-reverse));margin-left:calc(-12rem * calc(1 - var(--space-x-reverse)))}.-space-y-52>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-13rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-13rem * var(--space-y-reverse))}.-space-x-52>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-13rem * var(--space-x-reverse));margin-left:calc(-13rem * calc(1 - var(--space-x-reverse)))}.-space-y-56>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-14rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-14rem * var(--space-y-reverse))}.-space-x-56>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-14rem * var(--space-x-reverse));margin-left:calc(-14rem * calc(1 - var(--space-x-reverse)))}.-space-y-60>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-15rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-15rem * var(--space-y-reverse))}.-space-x-60>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-15rem * var(--space-x-reverse));margin-left:calc(-15rem * calc(1 - var(--space-x-reverse)))}.-space-y-64>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-16rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-16rem * var(--space-y-reverse))}.-space-x-64>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-16rem * var(--space-x-reverse));margin-left:calc(-16rem * calc(1 - var(--space-x-reverse)))}.-space-y-72>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-18rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-18rem * var(--space-y-reverse))}.-space-x-72>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-18rem * var(--space-x-reverse));margin-left:calc(-18rem * calc(1 - var(--space-x-reverse)))}.-space-y-80>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-20rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-20rem * var(--space-y-reverse))}.-space-x-80>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-20rem * var(--space-x-reverse));margin-left:calc(-20rem * calc(1 - var(--space-x-reverse)))}.-space-y-96>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-24rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-24rem * var(--space-y-reverse))}.-space-x-96>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-24rem * var(--space-x-reverse));margin-left:calc(-24rem * calc(1 - var(--space-x-reverse)))}.-space-y-px>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-1px * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-1px * var(--space-y-reverse))}.-space-x-px>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-1px * var(--space-x-reverse));margin-left:calc(-1px * calc(1 - var(--space-x-reverse)))}.-space-y-0\.5>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-.125rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-.125rem * var(--space-y-reverse))}.-space-x-0\.5>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-.125rem * var(--space-x-reverse));margin-left:calc(-.125rem * calc(1 - var(--space-x-reverse)))}.-space-y-1\.5>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-.375rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-.375rem * var(--space-y-reverse))}.-space-x-1\.5>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-.375rem * var(--space-x-reverse));margin-left:calc(-.375rem * calc(1 - var(--space-x-reverse)))}.-space-y-2\.5>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-.625rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-.625rem * var(--space-y-reverse))}.-space-x-2\.5>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-.625rem * var(--space-x-reverse));margin-left:calc(-.625rem * calc(1 - var(--space-x-reverse)))}.-space-y-3\.5>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-.875rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-.875rem * var(--space-y-reverse))}.-space-x-3\.5>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-.875rem * var(--space-x-reverse));margin-left:calc(-.875rem * calc(1 - var(--space-x-reverse)))}.-space-y-1\/2>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-50% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-50% * var(--space-y-reverse))}.-space-x-1\/2>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-50% * var(--space-x-reverse));margin-left:calc(-50% * calc(1 - var(--space-x-reverse)))}.-space-y-1\/3>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-33.33333% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-33.33333% * var(--space-y-reverse))}.-space-x-1\/3>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-33.33333% * var(--space-x-reverse));margin-left:calc(-33.33333% * calc(1 - var(--space-x-reverse)))}.-space-y-2\/3>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-66.66667% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-66.66667% * var(--space-y-reverse))}.-space-x-2\/3>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-66.66667% * var(--space-x-reverse));margin-left:calc(-66.66667% * calc(1 - var(--space-x-reverse)))}.-space-y-1\/4>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-25% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-25% * var(--space-y-reverse))}.-space-x-1\/4>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-25% * var(--space-x-reverse));margin-left:calc(-25% * calc(1 - var(--space-x-reverse)))}.-space-y-2\/4>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-50% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-50% * var(--space-y-reverse))}.-space-x-2\/4>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-50% * var(--space-x-reverse));margin-left:calc(-50% * calc(1 - var(--space-x-reverse)))}.-space-y-3\/4>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-75% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-75% * var(--space-y-reverse))}.-space-x-3\/4>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-75% * var(--space-x-reverse));margin-left:calc(-75% * calc(1 - var(--space-x-reverse)))}.-space-y-1\/5>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-20% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-20% * var(--space-y-reverse))}.-space-x-1\/5>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-20% * var(--space-x-reverse));margin-left:calc(-20% * calc(1 - var(--space-x-reverse)))}.-space-y-2\/5>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-40% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-40% * var(--space-y-reverse))}.-space-x-2\/5>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-40% * var(--space-x-reverse));margin-left:calc(-40% * calc(1 - var(--space-x-reverse)))}.-space-y-3\/5>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-60% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-60% * var(--space-y-reverse))}.-space-x-3\/5>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-60% * var(--space-x-reverse));margin-left:calc(-60% * calc(1 - var(--space-x-reverse)))}.-space-y-4\/5>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-80% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-80% * var(--space-y-reverse))}.-space-x-4\/5>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-80% * var(--space-x-reverse));margin-left:calc(-80% * calc(1 - var(--space-x-reverse)))}.-space-y-1\/6>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-16.66667% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-16.66667% * var(--space-y-reverse))}.-space-x-1\/6>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-16.66667% * var(--space-x-reverse));margin-left:calc(-16.66667% * calc(1 - var(--space-x-reverse)))}.-space-y-2\/6>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-33.33333% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-33.33333% * var(--space-y-reverse))}.-space-x-2\/6>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-33.33333% * var(--space-x-reverse));margin-left:calc(-33.33333% * calc(1 - var(--space-x-reverse)))}.-space-y-3\/6>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-50% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-50% * var(--space-y-reverse))}.-space-x-3\/6>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-50% * var(--space-x-reverse));margin-left:calc(-50% * calc(1 - var(--space-x-reverse)))}.-space-y-4\/6>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-66.66667% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-66.66667% * var(--space-y-reverse))}.-space-x-4\/6>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-66.66667% * var(--space-x-reverse));margin-left:calc(-66.66667% * calc(1 - var(--space-x-reverse)))}.-space-y-5\/6>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-83.33333% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-83.33333% * var(--space-y-reverse))}.-space-x-5\/6>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-83.33333% * var(--space-x-reverse));margin-left:calc(-83.33333% * calc(1 - var(--space-x-reverse)))}.-space-y-1\/12>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-8.33333% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-8.33333% * var(--space-y-reverse))}.-space-x-1\/12>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-8.33333% * var(--space-x-reverse));margin-left:calc(-8.33333% * calc(1 - var(--space-x-reverse)))}.-space-y-2\/12>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-16.66667% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-16.66667% * var(--space-y-reverse))}.-space-x-2\/12>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-16.66667% * var(--space-x-reverse));margin-left:calc(-16.66667% * calc(1 - var(--space-x-reverse)))}.-space-y-3\/12>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-25% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-25% * var(--space-y-reverse))}.-space-x-3\/12>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-25% * var(--space-x-reverse));margin-left:calc(-25% * calc(1 - var(--space-x-reverse)))}.-space-y-4\/12>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-33.33333% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-33.33333% * var(--space-y-reverse))}.-space-x-4\/12>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-33.33333% * var(--space-x-reverse));margin-left:calc(-33.33333% * calc(1 - var(--space-x-reverse)))}.-space-y-5\/12>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-41.66667% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-41.66667% * var(--space-y-reverse))}.-space-x-5\/12>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-41.66667% * var(--space-x-reverse));margin-left:calc(-41.66667% * calc(1 - var(--space-x-reverse)))}.-space-y-6\/12>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-50% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-50% * var(--space-y-reverse))}.-space-x-6\/12>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-50% * var(--space-x-reverse));margin-left:calc(-50% * calc(1 - var(--space-x-reverse)))}.-space-y-7\/12>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-58.33333% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-58.33333% * var(--space-y-reverse))}.-space-x-7\/12>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-58.33333% * var(--space-x-reverse));margin-left:calc(-58.33333% * calc(1 - var(--space-x-reverse)))}.-space-y-8\/12>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-66.66667% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-66.66667% * var(--space-y-reverse))}.-space-x-8\/12>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-66.66667% * var(--space-x-reverse));margin-left:calc(-66.66667% * calc(1 - var(--space-x-reverse)))}.-space-y-9\/12>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-75% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-75% * var(--space-y-reverse))}.-space-x-9\/12>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-75% * var(--space-x-reverse));margin-left:calc(-75% * calc(1 - var(--space-x-reverse)))}.-space-y-10\/12>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-83.33333% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-83.33333% * var(--space-y-reverse))}.-space-x-10\/12>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-83.33333% * var(--space-x-reverse));margin-left:calc(-83.33333% * calc(1 - var(--space-x-reverse)))}.-space-y-11\/12>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-91.66667% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-91.66667% * var(--space-y-reverse))}.-space-x-11\/12>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-91.66667% * var(--space-x-reverse));margin-left:calc(-91.66667% * calc(1 - var(--space-x-reverse)))}.-space-y-full>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-100% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-100% * var(--space-y-reverse))}.-space-x-full>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-100% * var(--space-x-reverse));margin-left:calc(-100% * calc(1 - var(--space-x-reverse)))}.space-y-reverse>:not(template)~:not(template){--space-y-reverse:1}.space-x-reverse>:not(template)~:not(template){--space-x-reverse:1}.divide-y-0>:not(template)~:not(template){--divide-y-reverse:0;border-top-width:calc(0px * calc(1 - var(--divide-y-reverse)));border-bottom-width:calc(0px * var(--divide-y-reverse))}.divide-x-0>:not(template)~:not(template){--divide-x-reverse:0;border-right-width:calc(0px * var(--divide-x-reverse));border-left-width:calc(0px * calc(1 - var(--divide-x-reverse)))}.divide-y-2>:not(template)~:not(template){--divide-y-reverse:0;border-top-width:calc(2px * calc(1 - var(--divide-y-reverse)));border-bottom-width:calc(2px * var(--divide-y-reverse))}.divide-x-2>:not(template)~:not(template){--divide-x-reverse:0;border-right-width:calc(2px * var(--divide-x-reverse));border-left-width:calc(2px * calc(1 - var(--divide-x-reverse)))}.divide-y-4>:not(template)~:not(template){--divide-y-reverse:0;border-top-width:calc(4px * calc(1 - var(--divide-y-reverse)));border-bottom-width:calc(4px * var(--divide-y-reverse))}.divide-x-4>:not(template)~:not(template){--divide-x-reverse:0;border-right-width:calc(4px * var(--divide-x-reverse));border-left-width:calc(4px * calc(1 - var(--divide-x-reverse)))}.divide-y-8>:not(template)~:not(template){--divide-y-reverse:0;border-top-width:calc(8px * calc(1 - var(--divide-y-reverse)));border-bottom-width:calc(8px * var(--divide-y-reverse))}.divide-x-8>:not(template)~:not(template){--divide-x-reverse:0;border-right-width:calc(8px * var(--divide-x-reverse));border-left-width:calc(8px * calc(1 - var(--divide-x-reverse)))}.divide-y>:not(template)~:not(template){--divide-y-reverse:0;border-top-width:calc(1px * calc(1 - var(--divide-y-reverse)));border-bottom-width:calc(1px * var(--divide-y-reverse))}.divide-x>:not(template)~:not(template){--divide-x-reverse:0;border-right-width:calc(1px * var(--divide-x-reverse));border-left-width:calc(1px * calc(1 - var(--divide-x-reverse)))}.divide-y-reverse>:not(template)~:not(template){--divide-y-reverse:1}.divide-x-reverse>:not(template)~:not(template){--divide-x-reverse:1}.divide-transparent>:not(template)~:not(template){border-color:transparent}.divide-white>:not(template)~:not(template){--divide-opacity:1;border-color:#fff;border-color:rgba(255,255,255,var(--divide-opacity))}.divide-black>:not(template)~:not(template){--divide-opacity:1;border-color:#000;border-color:rgba(0,0,0,var(--divide-opacity))}.divide-gray-50>:not(template)~:not(template){--divide-opacity:1;border-color:#f9fafb;border-color:rgba(249,250,251,var(--divide-opacity))}.divide-gray-100>:not(template)~:not(template){--divide-opacity:1;border-color:#f4f5f7;border-color:rgba(244,245,247,var(--divide-opacity))}.divide-gray-200>:not(template)~:not(template){--divide-opacity:1;border-color:#e5e7eb;border-color:rgba(229,231,235,var(--divide-opacity))}.divide-gray-300>:not(template)~:not(template){--divide-opacity:1;border-color:#d2d6dc;border-color:rgba(210,214,220,var(--divide-opacity))}.divide-gray-400>:not(template)~:not(template){--divide-opacity:1;border-color:#9fa6b2;border-color:rgba(159,166,178,var(--divide-opacity))}.divide-gray-500>:not(template)~:not(template){--divide-opacity:1;border-color:#6b7280;border-color:rgba(107,114,128,var(--divide-opacity))}.divide-gray-600>:not(template)~:not(template){--divide-opacity:1;border-color:#4b5563;border-color:rgba(75,85,99,var(--divide-opacity))}.divide-gray-700>:not(template)~:not(template){--divide-opacity:1;border-color:#374151;border-color:rgba(55,65,81,var(--divide-opacity))}.divide-gray-800>:not(template)~:not(template){--divide-opacity:1;border-color:#252f3f;border-color:rgba(37,47,63,var(--divide-opacity))}.divide-gray-900>:not(template)~:not(template){--divide-opacity:1;border-color:#161e2e;border-color:rgba(22,30,46,var(--divide-opacity))}.divide-cool-gray-50>:not(template)~:not(template){--divide-opacity:1;border-color:#f8fafc;border-color:rgba(248,250,252,var(--divide-opacity))}.divide-cool-gray-100>:not(template)~:not(template){--divide-opacity:1;border-color:#f1f5f9;border-color:rgba(241,245,249,var(--divide-opacity))}.divide-cool-gray-200>:not(template)~:not(template){--divide-opacity:1;border-color:#e2e8f0;border-color:rgba(226,232,240,var(--divide-opacity))}.divide-cool-gray-300>:not(template)~:not(template){--divide-opacity:1;border-color:#cfd8e3;border-color:rgba(207,216,227,var(--divide-opacity))}.divide-cool-gray-400>:not(template)~:not(template){--divide-opacity:1;border-color:#97a6ba;border-color:rgba(151,166,186,var(--divide-opacity))}.divide-cool-gray-500>:not(template)~:not(template){--divide-opacity:1;border-color:#64748b;border-color:rgba(100,116,139,var(--divide-opacity))}.divide-cool-gray-600>:not(template)~:not(template){--divide-opacity:1;border-color:#475569;border-color:rgba(71,85,105,var(--divide-opacity))}.divide-cool-gray-700>:not(template)~:not(template){--divide-opacity:1;border-color:#364152;border-color:rgba(54,65,82,var(--divide-opacity))}.divide-cool-gray-800>:not(template)~:not(template){--divide-opacity:1;border-color:#27303f;border-color:rgba(39,48,63,var(--divide-opacity))}.divide-cool-gray-900>:not(template)~:not(template){--divide-opacity:1;border-color:#1a202e;border-color:rgba(26,32,46,var(--divide-opacity))}.divide-red-50>:not(template)~:not(template){--divide-opacity:1;border-color:#fdf2f2;border-color:rgba(253,242,242,var(--divide-opacity))}.divide-red-100>:not(template)~:not(template){--divide-opacity:1;border-color:#fde8e8;border-color:rgba(253,232,232,var(--divide-opacity))}.divide-red-200>:not(template)~:not(template){--divide-opacity:1;border-color:#fbd5d5;border-color:rgba(251,213,213,var(--divide-opacity))}.divide-red-300>:not(template)~:not(template){--divide-opacity:1;border-color:#f8b4b4;border-color:rgba(248,180,180,var(--divide-opacity))}.divide-red-400>:not(template)~:not(template){--divide-opacity:1;border-color:#f98080;border-color:rgba(249,128,128,var(--divide-opacity))}.divide-red-500>:not(template)~:not(template){--divide-opacity:1;border-color:#f05252;border-color:rgba(240,82,82,var(--divide-opacity))}.divide-red-600>:not(template)~:not(template){--divide-opacity:1;border-color:#e02424;border-color:rgba(224,36,36,var(--divide-opacity))}.divide-red-700>:not(template)~:not(template){--divide-opacity:1;border-color:#c81e1e;border-color:rgba(200,30,30,var(--divide-opacity))}.divide-red-800>:not(template)~:not(template){--divide-opacity:1;border-color:#9b1c1c;border-color:rgba(155,28,28,var(--divide-opacity))}.divide-red-900>:not(template)~:not(template){--divide-opacity:1;border-color:#771d1d;border-color:rgba(119,29,29,var(--divide-opacity))}.divide-orange-50>:not(template)~:not(template){--divide-opacity:1;border-color:#fff8f1;border-color:rgba(255,248,241,var(--divide-opacity))}.divide-orange-100>:not(template)~:not(template){--divide-opacity:1;border-color:#feecdc;border-color:rgba(254,236,220,var(--divide-opacity))}.divide-orange-200>:not(template)~:not(template){--divide-opacity:1;border-color:#fcd9bd;border-color:rgba(252,217,189,var(--divide-opacity))}.divide-orange-300>:not(template)~:not(template){--divide-opacity:1;border-color:#fdba8c;border-color:rgba(253,186,140,var(--divide-opacity))}.divide-orange-400>:not(template)~:not(template){--divide-opacity:1;border-color:#ff8a4c;border-color:rgba(255,138,76,var(--divide-opacity))}.divide-orange-500>:not(template)~:not(template){--divide-opacity:1;border-color:#ff5a1f;border-color:rgba(255,90,31,var(--divide-opacity))}.divide-orange-600>:not(template)~:not(template){--divide-opacity:1;border-color:#d03801;border-color:rgba(208,56,1,var(--divide-opacity))}.divide-orange-700>:not(template)~:not(template){--divide-opacity:1;border-color:#b43403;border-color:rgba(180,52,3,var(--divide-opacity))}.divide-orange-800>:not(template)~:not(template){--divide-opacity:1;border-color:#8a2c0d;border-color:rgba(138,44,13,var(--divide-opacity))}.divide-orange-900>:not(template)~:not(template){--divide-opacity:1;border-color:#73230d;border-color:rgba(115,35,13,var(--divide-opacity))}.divide-yellow-50>:not(template)~:not(template){--divide-opacity:1;border-color:#fdfdea;border-color:rgba(253,253,234,var(--divide-opacity))}.divide-yellow-100>:not(template)~:not(template){--divide-opacity:1;border-color:#fdf6b2;border-color:rgba(253,246,178,var(--divide-opacity))}.divide-yellow-200>:not(template)~:not(template){--divide-opacity:1;border-color:#fce96a;border-color:rgba(252,233,106,var(--divide-opacity))}.divide-yellow-300>:not(template)~:not(template){--divide-opacity:1;border-color:#faca15;border-color:rgba(250,202,21,var(--divide-opacity))}.divide-yellow-400>:not(template)~:not(template){--divide-opacity:1;border-color:#e3a008;border-color:rgba(227,160,8,var(--divide-opacity))}.divide-yellow-500>:not(template)~:not(template){--divide-opacity:1;border-color:#c27803;border-color:rgba(194,120,3,var(--divide-opacity))}.divide-yellow-600>:not(template)~:not(template){--divide-opacity:1;border-color:#9f580a;border-color:rgba(159,88,10,var(--divide-opacity))}.divide-yellow-700>:not(template)~:not(template){--divide-opacity:1;border-color:#8e4b10;border-color:rgba(142,75,16,var(--divide-opacity))}.divide-yellow-800>:not(template)~:not(template){--divide-opacity:1;border-color:#723b13;border-color:rgba(114,59,19,var(--divide-opacity))}.divide-yellow-900>:not(template)~:not(template){--divide-opacity:1;border-color:#633112;border-color:rgba(99,49,18,var(--divide-opacity))}.divide-green-50>:not(template)~:not(template){--divide-opacity:1;border-color:#f3faf7;border-color:rgba(243,250,247,var(--divide-opacity))}.divide-green-100>:not(template)~:not(template){--divide-opacity:1;border-color:#def7ec;border-color:rgba(222,247,236,var(--divide-opacity))}.divide-green-200>:not(template)~:not(template){--divide-opacity:1;border-color:#bcf0da;border-color:rgba(188,240,218,var(--divide-opacity))}.divide-green-300>:not(template)~:not(template){--divide-opacity:1;border-color:#84e1bc;border-color:rgba(132,225,188,var(--divide-opacity))}.divide-green-400>:not(template)~:not(template){--divide-opacity:1;border-color:#31c48d;border-color:rgba(49,196,141,var(--divide-opacity))}.divide-green-500>:not(template)~:not(template){--divide-opacity:1;border-color:#0e9f6e;border-color:rgba(14,159,110,var(--divide-opacity))}.divide-green-600>:not(template)~:not(template){--divide-opacity:1;border-color:#057a55;border-color:rgba(5,122,85,var(--divide-opacity))}.divide-green-700>:not(template)~:not(template){--divide-opacity:1;border-color:#046c4e;border-color:rgba(4,108,78,var(--divide-opacity))}.divide-green-800>:not(template)~:not(template){--divide-opacity:1;border-color:#03543f;border-color:rgba(3,84,63,var(--divide-opacity))}.divide-green-900>:not(template)~:not(template){--divide-opacity:1;border-color:#014737;border-color:rgba(1,71,55,var(--divide-opacity))}.divide-teal-50>:not(template)~:not(template){--divide-opacity:1;border-color:#edfafa;border-color:rgba(237,250,250,var(--divide-opacity))}.divide-teal-100>:not(template)~:not(template){--divide-opacity:1;border-color:#d5f5f6;border-color:rgba(213,245,246,var(--divide-opacity))}.divide-teal-200>:not(template)~:not(template){--divide-opacity:1;border-color:#afecef;border-color:rgba(175,236,239,var(--divide-opacity))}.divide-teal-300>:not(template)~:not(template){--divide-opacity:1;border-color:#7edce2;border-color:rgba(126,220,226,var(--divide-opacity))}.divide-teal-400>:not(template)~:not(template){--divide-opacity:1;border-color:#16bdca;border-color:rgba(22,189,202,var(--divide-opacity))}.divide-teal-500>:not(template)~:not(template){--divide-opacity:1;border-color:#0694a2;border-color:rgba(6,148,162,var(--divide-opacity))}.divide-teal-600>:not(template)~:not(template){--divide-opacity:1;border-color:#047481;border-color:rgba(4,116,129,var(--divide-opacity))}.divide-teal-700>:not(template)~:not(template){--divide-opacity:1;border-color:#036672;border-color:rgba(3,102,114,var(--divide-opacity))}.divide-teal-800>:not(template)~:not(template){--divide-opacity:1;border-color:#05505c;border-color:rgba(5,80,92,var(--divide-opacity))}.divide-teal-900>:not(template)~:not(template){--divide-opacity:1;border-color:#014451;border-color:rgba(1,68,81,var(--divide-opacity))}.divide-blue-50>:not(template)~:not(template){--divide-opacity:1;border-color:#ebf5ff;border-color:rgba(235,245,255,var(--divide-opacity))}.divide-blue-100>:not(template)~:not(template){--divide-opacity:1;border-color:#e1effe;border-color:rgba(225,239,254,var(--divide-opacity))}.divide-blue-200>:not(template)~:not(template){--divide-opacity:1;border-color:#c3ddfd;border-color:rgba(195,221,253,var(--divide-opacity))}.divide-blue-300>:not(template)~:not(template){--divide-opacity:1;border-color:#a4cafe;border-color:rgba(164,202,254,var(--divide-opacity))}.divide-blue-400>:not(template)~:not(template){--divide-opacity:1;border-color:#76a9fa;border-color:rgba(118,169,250,var(--divide-opacity))}.divide-blue-500>:not(template)~:not(template){--divide-opacity:1;border-color:#3f83f8;border-color:rgba(63,131,248,var(--divide-opacity))}.divide-blue-600>:not(template)~:not(template){--divide-opacity:1;border-color:#1c64f2;border-color:rgba(28,100,242,var(--divide-opacity))}.divide-blue-700>:not(template)~:not(template){--divide-opacity:1;border-color:#1a56db;border-color:rgba(26,86,219,var(--divide-opacity))}.divide-blue-800>:not(template)~:not(template){--divide-opacity:1;border-color:#1e429f;border-color:rgba(30,66,159,var(--divide-opacity))}.divide-blue-900>:not(template)~:not(template){--divide-opacity:1;border-color:#233876;border-color:rgba(35,56,118,var(--divide-opacity))}.divide-indigo-50>:not(template)~:not(template){--divide-opacity:1;border-color:#f0f5ff;border-color:rgba(240,245,255,var(--divide-opacity))}.divide-indigo-100>:not(template)~:not(template){--divide-opacity:1;border-color:#e5edff;border-color:rgba(229,237,255,var(--divide-opacity))}.divide-indigo-200>:not(template)~:not(template){--divide-opacity:1;border-color:#cddbfe;border-color:rgba(205,219,254,var(--divide-opacity))}.divide-indigo-300>:not(template)~:not(template){--divide-opacity:1;border-color:#b4c6fc;border-color:rgba(180,198,252,var(--divide-opacity))}.divide-indigo-400>:not(template)~:not(template){--divide-opacity:1;border-color:#8da2fb;border-color:rgba(141,162,251,var(--divide-opacity))}.divide-indigo-500>:not(template)~:not(template){--divide-opacity:1;border-color:#6875f5;border-color:rgba(104,117,245,var(--divide-opacity))}.divide-indigo-600>:not(template)~:not(template){--divide-opacity:1;border-color:#5850ec;border-color:rgba(88,80,236,var(--divide-opacity))}.divide-indigo-700>:not(template)~:not(template){--divide-opacity:1;border-color:#5145cd;border-color:rgba(81,69,205,var(--divide-opacity))}.divide-indigo-800>:not(template)~:not(template){--divide-opacity:1;border-color:#42389d;border-color:rgba(66,56,157,var(--divide-opacity))}.divide-indigo-900>:not(template)~:not(template){--divide-opacity:1;border-color:#362f78;border-color:rgba(54,47,120,var(--divide-opacity))}.divide-purple-50>:not(template)~:not(template){--divide-opacity:1;border-color:#f6f5ff;border-color:rgba(246,245,255,var(--divide-opacity))}.divide-purple-100>:not(template)~:not(template){--divide-opacity:1;border-color:#edebfe;border-color:rgba(237,235,254,var(--divide-opacity))}.divide-purple-200>:not(template)~:not(template){--divide-opacity:1;border-color:#dcd7fe;border-color:rgba(220,215,254,var(--divide-opacity))}.divide-purple-300>:not(template)~:not(template){--divide-opacity:1;border-color:#cabffd;border-color:rgba(202,191,253,var(--divide-opacity))}.divide-purple-400>:not(template)~:not(template){--divide-opacity:1;border-color:#ac94fa;border-color:rgba(172,148,250,var(--divide-opacity))}.divide-purple-500>:not(template)~:not(template){--divide-opacity:1;border-color:#9061f9;border-color:rgba(144,97,249,var(--divide-opacity))}.divide-purple-600>:not(template)~:not(template){--divide-opacity:1;border-color:#7e3af2;border-color:rgba(126,58,242,var(--divide-opacity))}.divide-purple-700>:not(template)~:not(template){--divide-opacity:1;border-color:#6c2bd9;border-color:rgba(108,43,217,var(--divide-opacity))}.divide-purple-800>:not(template)~:not(template){--divide-opacity:1;border-color:#5521b5;border-color:rgba(85,33,181,var(--divide-opacity))}.divide-purple-900>:not(template)~:not(template){--divide-opacity:1;border-color:#4a1d96;border-color:rgba(74,29,150,var(--divide-opacity))}.divide-pink-50>:not(template)~:not(template){--divide-opacity:1;border-color:#fdf2f8;border-color:rgba(253,242,248,var(--divide-opacity))}.divide-pink-100>:not(template)~:not(template){--divide-opacity:1;border-color:#fce8f3;border-color:rgba(252,232,243,var(--divide-opacity))}.divide-pink-200>:not(template)~:not(template){--divide-opacity:1;border-color:#fad1e8;border-color:rgba(250,209,232,var(--divide-opacity))}.divide-pink-300>:not(template)~:not(template){--divide-opacity:1;border-color:#f8b4d9;border-color:rgba(248,180,217,var(--divide-opacity))}.divide-pink-400>:not(template)~:not(template){--divide-opacity:1;border-color:#f17eb8;border-color:rgba(241,126,184,var(--divide-opacity))}.divide-pink-500>:not(template)~:not(template){--divide-opacity:1;border-color:#e74694;border-color:rgba(231,70,148,var(--divide-opacity))}.divide-pink-600>:not(template)~:not(template){--divide-opacity:1;border-color:#d61f69;border-color:rgba(214,31,105,var(--divide-opacity))}.divide-pink-700>:not(template)~:not(template){--divide-opacity:1;border-color:#bf125d;border-color:rgba(191,18,93,var(--divide-opacity))}.divide-pink-800>:not(template)~:not(template){--divide-opacity:1;border-color:#99154b;border-color:rgba(153,21,75,var(--divide-opacity))}.divide-pink-900>:not(template)~:not(template){--divide-opacity:1;border-color:#751a3d;border-color:rgba(117,26,61,var(--divide-opacity))}.divide-opacity-0>:not(template)~:not(template){--divide-opacity:0}.divide-opacity-25>:not(template)~:not(template){--divide-opacity:0.25}.divide-opacity-50>:not(template)~:not(template){--divide-opacity:0.5}.divide-opacity-75>:not(template)~:not(template){--divide-opacity:0.75}.divide-opacity-100>:not(template)~:not(template){--divide-opacity:1}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.not-sr-only{position:static;width:auto;height:auto;padding:0;margin:0;overflow:visible;clip:auto;white-space:normal}.focus\:sr-only:focus{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.focus\:not-sr-only:focus{position:static;width:auto;height:auto;padding:0;margin:0;overflow:visible;clip:auto;white-space:normal}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.bg-fixed{background-attachment:fixed}.bg-local{background-attachment:local}.bg-scroll{background-attachment:scroll}.bg-transparent{background-color:transparent}.bg-white{--bg-opacity:1;background-color:#fff;background-color:rgba(255,255,255,var(--bg-opacity))}.bg-black{--bg-opacity:1;background-color:#000;background-color:rgba(0,0,0,var(--bg-opacity))}.bg-gray-50{--bg-opacity:1;background-color:#f9fafb;background-color:rgba(249,250,251,var(--bg-opacity))}.bg-gray-100{--bg-opacity:1;background-color:#f4f5f7;background-color:rgba(244,245,247,var(--bg-opacity))}.bg-gray-200{--bg-opacity:1;background-color:#e5e7eb;background-color:rgba(229,231,235,var(--bg-opacity))}.bg-gray-300{--bg-opacity:1;background-color:#d2d6dc;background-color:rgba(210,214,220,var(--bg-opacity))}.bg-gray-400{--bg-opacity:1;background-color:#9fa6b2;background-color:rgba(159,166,178,var(--bg-opacity))}.bg-gray-500{--bg-opacity:1;background-color:#6b7280;background-color:rgba(107,114,128,var(--bg-opacity))}.bg-gray-600{--bg-opacity:1;background-color:#4b5563;background-color:rgba(75,85,99,var(--bg-opacity))}.bg-gray-700{--bg-opacity:1;background-color:#374151;background-color:rgba(55,65,81,var(--bg-opacity))}.bg-gray-800{--bg-opacity:1;background-color:#252f3f;background-color:rgba(37,47,63,var(--bg-opacity))}.bg-gray-900{--bg-opacity:1;background-color:#161e2e;background-color:rgba(22,30,46,var(--bg-opacity))}.bg-cool-gray-50{--bg-opacity:1;background-color:#f8fafc;background-color:rgba(248,250,252,var(--bg-opacity))}.bg-cool-gray-100{--bg-opacity:1;background-color:#f1f5f9;background-color:rgba(241,245,249,var(--bg-opacity))}.bg-cool-gray-200{--bg-opacity:1;background-color:#e2e8f0;background-color:rgba(226,232,240,var(--bg-opacity))}.bg-cool-gray-300{--bg-opacity:1;background-color:#cfd8e3;background-color:rgba(207,216,227,var(--bg-opacity))}.bg-cool-gray-400{--bg-opacity:1;background-color:#97a6ba;background-color:rgba(151,166,186,var(--bg-opacity))}.bg-cool-gray-500{--bg-opacity:1;background-color:#64748b;background-color:rgba(100,116,139,var(--bg-opacity))}.bg-cool-gray-600{--bg-opacity:1;background-color:#475569;background-color:rgba(71,85,105,var(--bg-opacity))}.bg-cool-gray-700{--bg-opacity:1;background-color:#364152;background-color:rgba(54,65,82,var(--bg-opacity))}.bg-cool-gray-800{--bg-opacity:1;background-color:#27303f;background-color:rgba(39,48,63,var(--bg-opacity))}.bg-cool-gray-900{--bg-opacity:1;background-color:#1a202e;background-color:rgba(26,32,46,var(--bg-opacity))}.bg-red-50{--bg-opacity:1;background-color:#fdf2f2;background-color:rgba(253,242,242,var(--bg-opacity))}.bg-red-100{--bg-opacity:1;background-color:#fde8e8;background-color:rgba(253,232,232,var(--bg-opacity))}.bg-red-200{--bg-opacity:1;background-color:#fbd5d5;background-color:rgba(251,213,213,var(--bg-opacity))}.bg-red-300{--bg-opacity:1;background-color:#f8b4b4;background-color:rgba(248,180,180,var(--bg-opacity))}.bg-red-400{--bg-opacity:1;background-color:#f98080;background-color:rgba(249,128,128,var(--bg-opacity))}.bg-red-500{--bg-opacity:1;background-color:#f05252;background-color:rgba(240,82,82,var(--bg-opacity))}.bg-red-600{--bg-opacity:1;background-color:#e02424;background-color:rgba(224,36,36,var(--bg-opacity))}.bg-red-700{--bg-opacity:1;background-color:#c81e1e;background-color:rgba(200,30,30,var(--bg-opacity))}.bg-red-800{--bg-opacity:1;background-color:#9b1c1c;background-color:rgba(155,28,28,var(--bg-opacity))}.bg-red-900{--bg-opacity:1;background-color:#771d1d;background-color:rgba(119,29,29,var(--bg-opacity))}.bg-orange-50{--bg-opacity:1;background-color:#fff8f1;background-color:rgba(255,248,241,var(--bg-opacity))}.bg-orange-100{--bg-opacity:1;background-color:#feecdc;background-color:rgba(254,236,220,var(--bg-opacity))}.bg-orange-200{--bg-opacity:1;background-color:#fcd9bd;background-color:rgba(252,217,189,var(--bg-opacity))}.bg-orange-300{--bg-opacity:1;background-color:#fdba8c;background-color:rgba(253,186,140,var(--bg-opacity))}.bg-orange-400{--bg-opacity:1;background-color:#ff8a4c;background-color:rgba(255,138,76,var(--bg-opacity))}.bg-orange-500{--bg-opacity:1;background-color:#ff5a1f;background-color:rgba(255,90,31,var(--bg-opacity))}.bg-orange-600{--bg-opacity:1;background-color:#d03801;background-color:rgba(208,56,1,var(--bg-opacity))}.bg-orange-700{--bg-opacity:1;background-color:#b43403;background-color:rgba(180,52,3,var(--bg-opacity))}.bg-orange-800{--bg-opacity:1;background-color:#8a2c0d;background-color:rgba(138,44,13,var(--bg-opacity))}.bg-orange-900{--bg-opacity:1;background-color:#73230d;background-color:rgba(115,35,13,var(--bg-opacity))}.bg-yellow-50{--bg-opacity:1;background-color:#fdfdea;background-color:rgba(253,253,234,var(--bg-opacity))}.bg-yellow-100{--bg-opacity:1;background-color:#fdf6b2;background-color:rgba(253,246,178,var(--bg-opacity))}.bg-yellow-200{--bg-opacity:1;background-color:#fce96a;background-color:rgba(252,233,106,var(--bg-opacity))}.bg-yellow-300{--bg-opacity:1;background-color:#faca15;background-color:rgba(250,202,21,var(--bg-opacity))}.bg-yellow-400{--bg-opacity:1;background-color:#e3a008;background-color:rgba(227,160,8,var(--bg-opacity))}.bg-yellow-500{--bg-opacity:1;background-color:#c27803;background-color:rgba(194,120,3,var(--bg-opacity))}.bg-yellow-600{--bg-opacity:1;background-color:#9f580a;background-color:rgba(159,88,10,var(--bg-opacity))}.bg-yellow-700{--bg-opacity:1;background-color:#8e4b10;background-color:rgba(142,75,16,var(--bg-opacity))}.bg-yellow-800{--bg-opacity:1;background-color:#723b13;background-color:rgba(114,59,19,var(--bg-opacity))}.bg-yellow-900{--bg-opacity:1;background-color:#633112;background-color:rgba(99,49,18,var(--bg-opacity))}.bg-green-50{--bg-opacity:1;background-color:#f3faf7;background-color:rgba(243,250,247,var(--bg-opacity))}.bg-green-100{--bg-opacity:1;background-color:#def7ec;background-color:rgba(222,247,236,var(--bg-opacity))}.bg-green-200{--bg-opacity:1;background-color:#bcf0da;background-color:rgba(188,240,218,var(--bg-opacity))}.bg-green-300{--bg-opacity:1;background-color:#84e1bc;background-color:rgba(132,225,188,var(--bg-opacity))}.bg-green-400{--bg-opacity:1;background-color:#31c48d;background-color:rgba(49,196,141,var(--bg-opacity))}.bg-green-500{--bg-opacity:1;background-color:#0e9f6e;background-color:rgba(14,159,110,var(--bg-opacity))}.bg-green-600{--bg-opacity:1;background-color:#057a55;background-color:rgba(5,122,85,var(--bg-opacity))}.bg-green-700{--bg-opacity:1;background-color:#046c4e;background-color:rgba(4,108,78,var(--bg-opacity))}.bg-green-800{--bg-opacity:1;background-color:#03543f;background-color:rgba(3,84,63,var(--bg-opacity))}.bg-green-900{--bg-opacity:1;background-color:#014737;background-color:rgba(1,71,55,var(--bg-opacity))}.bg-teal-50{--bg-opacity:1;background-color:#edfafa;background-color:rgba(237,250,250,var(--bg-opacity))}.bg-teal-100{--bg-opacity:1;background-color:#d5f5f6;background-color:rgba(213,245,246,var(--bg-opacity))}.bg-teal-200{--bg-opacity:1;background-color:#afecef;background-color:rgba(175,236,239,var(--bg-opacity))}.bg-teal-300{--bg-opacity:1;background-color:#7edce2;background-color:rgba(126,220,226,var(--bg-opacity))}.bg-teal-400{--bg-opacity:1;background-color:#16bdca;background-color:rgba(22,189,202,var(--bg-opacity))}.bg-teal-500{--bg-opacity:1;background-color:#0694a2;background-color:rgba(6,148,162,var(--bg-opacity))}.bg-teal-600{--bg-opacity:1;background-color:#047481;background-color:rgba(4,116,129,var(--bg-opacity))}.bg-teal-700{--bg-opacity:1;background-color:#036672;background-color:rgba(3,102,114,var(--bg-opacity))}.bg-teal-800{--bg-opacity:1;background-color:#05505c;background-color:rgba(5,80,92,var(--bg-opacity))}.bg-teal-900{--bg-opacity:1;background-color:#014451;background-color:rgba(1,68,81,var(--bg-opacity))}.bg-blue-50{--bg-opacity:1;background-color:#ebf5ff;background-color:rgba(235,245,255,var(--bg-opacity))}.bg-blue-100{--bg-opacity:1;background-color:#e1effe;background-color:rgba(225,239,254,var(--bg-opacity))}.bg-blue-200{--bg-opacity:1;background-color:#c3ddfd;background-color:rgba(195,221,253,var(--bg-opacity))}.bg-blue-300{--bg-opacity:1;background-color:#a4cafe;background-color:rgba(164,202,254,var(--bg-opacity))}.bg-blue-400{--bg-opacity:1;background-color:#76a9fa;background-color:rgba(118,169,250,var(--bg-opacity))}.bg-blue-500{--bg-opacity:1;background-color:#3f83f8;background-color:rgba(63,131,248,var(--bg-opacity))}.bg-blue-600{--bg-opacity:1;background-color:#1c64f2;background-color:rgba(28,100,242,var(--bg-opacity))}.bg-blue-700{--bg-opacity:1;background-color:#1a56db;background-color:rgba(26,86,219,var(--bg-opacity))}.bg-blue-800{--bg-opacity:1;background-color:#1e429f;background-color:rgba(30,66,159,var(--bg-opacity))}.bg-blue-900{--bg-opacity:1;background-color:#233876;background-color:rgba(35,56,118,var(--bg-opacity))}.bg-indigo-50{--bg-opacity:1;background-color:#f0f5ff;background-color:rgba(240,245,255,var(--bg-opacity))}.bg-indigo-100{--bg-opacity:1;background-color:#e5edff;background-color:rgba(229,237,255,var(--bg-opacity))}.bg-indigo-200{--bg-opacity:1;background-color:#cddbfe;background-color:rgba(205,219,254,var(--bg-opacity))}.bg-indigo-300{--bg-opacity:1;background-color:#b4c6fc;background-color:rgba(180,198,252,var(--bg-opacity))}.bg-indigo-400{--bg-opacity:1;background-color:#8da2fb;background-color:rgba(141,162,251,var(--bg-opacity))}.bg-indigo-500{--bg-opacity:1;background-color:#6875f5;background-color:rgba(104,117,245,var(--bg-opacity))}.bg-indigo-600{--bg-opacity:1;background-color:#5850ec;background-color:rgba(88,80,236,var(--bg-opacity))}.bg-indigo-700{--bg-opacity:1;background-color:#5145cd;background-color:rgba(81,69,205,var(--bg-opacity))}.bg-indigo-800{--bg-opacity:1;background-color:#42389d;background-color:rgba(66,56,157,var(--bg-opacity))}.bg-indigo-900{--bg-opacity:1;background-color:#362f78;background-color:rgba(54,47,120,var(--bg-opacity))}.bg-purple-50{--bg-opacity:1;background-color:#f6f5ff;background-color:rgba(246,245,255,var(--bg-opacity))}.bg-purple-100{--bg-opacity:1;background-color:#edebfe;background-color:rgba(237,235,254,var(--bg-opacity))}.bg-purple-200{--bg-opacity:1;background-color:#dcd7fe;background-color:rgba(220,215,254,var(--bg-opacity))}.bg-purple-300{--bg-opacity:1;background-color:#cabffd;background-color:rgba(202,191,253,var(--bg-opacity))}.bg-purple-400{--bg-opacity:1;background-color:#ac94fa;background-color:rgba(172,148,250,var(--bg-opacity))}.bg-purple-500{--bg-opacity:1;background-color:#9061f9;background-color:rgba(144,97,249,var(--bg-opacity))}.bg-purple-600{--bg-opacity:1;background-color:#7e3af2;background-color:rgba(126,58,242,var(--bg-opacity))}.bg-purple-700{--bg-opacity:1;background-color:#6c2bd9;background-color:rgba(108,43,217,var(--bg-opacity))}.bg-purple-800{--bg-opacity:1;background-color:#5521b5;background-color:rgba(85,33,181,var(--bg-opacity))}.bg-purple-900{--bg-opacity:1;background-color:#4a1d96;background-color:rgba(74,29,150,var(--bg-opacity))}.bg-pink-50{--bg-opacity:1;background-color:#fdf2f8;background-color:rgba(253,242,248,var(--bg-opacity))}.bg-pink-100{--bg-opacity:1;background-color:#fce8f3;background-color:rgba(252,232,243,var(--bg-opacity))}.bg-pink-200{--bg-opacity:1;background-color:#fad1e8;background-color:rgba(250,209,232,var(--bg-opacity))}.bg-pink-300{--bg-opacity:1;background-color:#f8b4d9;background-color:rgba(248,180,217,var(--bg-opacity))}.bg-pink-400{--bg-opacity:1;background-color:#f17eb8;background-color:rgba(241,126,184,var(--bg-opacity))}.bg-pink-500{--bg-opacity:1;background-color:#e74694;background-color:rgba(231,70,148,var(--bg-opacity))}.bg-pink-600{--bg-opacity:1;background-color:#d61f69;background-color:rgba(214,31,105,var(--bg-opacity))}.bg-pink-700{--bg-opacity:1;background-color:#bf125d;background-color:rgba(191,18,93,var(--bg-opacity))}.bg-pink-800{--bg-opacity:1;background-color:#99154b;background-color:rgba(153,21,75,var(--bg-opacity))}.bg-pink-900{--bg-opacity:1;background-color:#751a3d;background-color:rgba(117,26,61,var(--bg-opacity))}.group:hover .group-hover\:bg-transparent{background-color:transparent}.group:hover .group-hover\:bg-white{--bg-opacity:1;background-color:#fff;background-color:rgba(255,255,255,var(--bg-opacity))}.group:hover .group-hover\:bg-black{--bg-opacity:1;background-color:#000;background-color:rgba(0,0,0,var(--bg-opacity))}.group:hover .group-hover\:bg-gray-50{--bg-opacity:1;background-color:#f9fafb;background-color:rgba(249,250,251,var(--bg-opacity))}.group:hover .group-hover\:bg-gray-100{--bg-opacity:1;background-color:#f4f5f7;background-color:rgba(244,245,247,var(--bg-opacity))}.group:hover .group-hover\:bg-gray-200{--bg-opacity:1;background-color:#e5e7eb;background-color:rgba(229,231,235,var(--bg-opacity))}.group:hover .group-hover\:bg-gray-300{--bg-opacity:1;background-color:#d2d6dc;background-color:rgba(210,214,220,var(--bg-opacity))}.group:hover .group-hover\:bg-gray-400{--bg-opacity:1;background-color:#9fa6b2;background-color:rgba(159,166,178,var(--bg-opacity))}.group:hover .group-hover\:bg-gray-500{--bg-opacity:1;background-color:#6b7280;background-color:rgba(107,114,128,var(--bg-opacity))}.group:hover .group-hover\:bg-gray-600{--bg-opacity:1;background-color:#4b5563;background-color:rgba(75,85,99,var(--bg-opacity))}.group:hover .group-hover\:bg-gray-700{--bg-opacity:1;background-color:#374151;background-color:rgba(55,65,81,var(--bg-opacity))}.group:hover .group-hover\:bg-gray-800{--bg-opacity:1;background-color:#252f3f;background-color:rgba(37,47,63,var(--bg-opacity))}.group:hover .group-hover\:bg-gray-900{--bg-opacity:1;background-color:#161e2e;background-color:rgba(22,30,46,var(--bg-opacity))}.group:hover .group-hover\:bg-cool-gray-50{--bg-opacity:1;background-color:#f8fafc;background-color:rgba(248,250,252,var(--bg-opacity))}.group:hover .group-hover\:bg-cool-gray-100{--bg-opacity:1;background-color:#f1f5f9;background-color:rgba(241,245,249,var(--bg-opacity))}.group:hover .group-hover\:bg-cool-gray-200{--bg-opacity:1;background-color:#e2e8f0;background-color:rgba(226,232,240,var(--bg-opacity))}.group:hover .group-hover\:bg-cool-gray-300{--bg-opacity:1;background-color:#cfd8e3;background-color:rgba(207,216,227,var(--bg-opacity))}.group:hover .group-hover\:bg-cool-gray-400{--bg-opacity:1;background-color:#97a6ba;background-color:rgba(151,166,186,var(--bg-opacity))}.group:hover .group-hover\:bg-cool-gray-500{--bg-opacity:1;background-color:#64748b;background-color:rgba(100,116,139,var(--bg-opacity))}.group:hover .group-hover\:bg-cool-gray-600{--bg-opacity:1;background-color:#475569;background-color:rgba(71,85,105,var(--bg-opacity))}.group:hover .group-hover\:bg-cool-gray-700{--bg-opacity:1;background-color:#364152;background-color:rgba(54,65,82,var(--bg-opacity))}.group:hover .group-hover\:bg-cool-gray-800{--bg-opacity:1;background-color:#27303f;background-color:rgba(39,48,63,var(--bg-opacity))}.group:hover .group-hover\:bg-cool-gray-900{--bg-opacity:1;background-color:#1a202e;background-color:rgba(26,32,46,var(--bg-opacity))}.group:hover .group-hover\:bg-red-50{--bg-opacity:1;background-color:#fdf2f2;background-color:rgba(253,242,242,var(--bg-opacity))}.group:hover .group-hover\:bg-red-100{--bg-opacity:1;background-color:#fde8e8;background-color:rgba(253,232,232,var(--bg-opacity))}.group:hover .group-hover\:bg-red-200{--bg-opacity:1;background-color:#fbd5d5;background-color:rgba(251,213,213,var(--bg-opacity))}.group:hover .group-hover\:bg-red-300{--bg-opacity:1;background-color:#f8b4b4;background-color:rgba(248,180,180,var(--bg-opacity))}.group:hover .group-hover\:bg-red-400{--bg-opacity:1;background-color:#f98080;background-color:rgba(249,128,128,var(--bg-opacity))}.group:hover .group-hover\:bg-red-500{--bg-opacity:1;background-color:#f05252;background-color:rgba(240,82,82,var(--bg-opacity))}.group:hover .group-hover\:bg-red-600{--bg-opacity:1;background-color:#e02424;background-color:rgba(224,36,36,var(--bg-opacity))}.group:hover .group-hover\:bg-red-700{--bg-opacity:1;background-color:#c81e1e;background-color:rgba(200,30,30,var(--bg-opacity))}.group:hover .group-hover\:bg-red-800{--bg-opacity:1;background-color:#9b1c1c;background-color:rgba(155,28,28,var(--bg-opacity))}.group:hover .group-hover\:bg-red-900{--bg-opacity:1;background-color:#771d1d;background-color:rgba(119,29,29,var(--bg-opacity))}.group:hover .group-hover\:bg-orange-50{--bg-opacity:1;background-color:#fff8f1;background-color:rgba(255,248,241,var(--bg-opacity))}.group:hover .group-hover\:bg-orange-100{--bg-opacity:1;background-color:#feecdc;background-color:rgba(254,236,220,var(--bg-opacity))}.group:hover .group-hover\:bg-orange-200{--bg-opacity:1;background-color:#fcd9bd;background-color:rgba(252,217,189,var(--bg-opacity))}.group:hover .group-hover\:bg-orange-300{--bg-opacity:1;background-color:#fdba8c;background-color:rgba(253,186,140,var(--bg-opacity))}.group:hover .group-hover\:bg-orange-400{--bg-opacity:1;background-color:#ff8a4c;background-color:rgba(255,138,76,var(--bg-opacity))}.group:hover .group-hover\:bg-orange-500{--bg-opacity:1;background-color:#ff5a1f;background-color:rgba(255,90,31,var(--bg-opacity))}.group:hover .group-hover\:bg-orange-600{--bg-opacity:1;background-color:#d03801;background-color:rgba(208,56,1,var(--bg-opacity))}.group:hover .group-hover\:bg-orange-700{--bg-opacity:1;background-color:#b43403;background-color:rgba(180,52,3,var(--bg-opacity))}.group:hover .group-hover\:bg-orange-800{--bg-opacity:1;background-color:#8a2c0d;background-color:rgba(138,44,13,var(--bg-opacity))}.group:hover .group-hover\:bg-orange-900{--bg-opacity:1;background-color:#73230d;background-color:rgba(115,35,13,var(--bg-opacity))}.group:hover .group-hover\:bg-yellow-50{--bg-opacity:1;background-color:#fdfdea;background-color:rgba(253,253,234,var(--bg-opacity))}.group:hover .group-hover\:bg-yellow-100{--bg-opacity:1;background-color:#fdf6b2;background-color:rgba(253,246,178,var(--bg-opacity))}.group:hover .group-hover\:bg-yellow-200{--bg-opacity:1;background-color:#fce96a;background-color:rgba(252,233,106,var(--bg-opacity))}.group:hover .group-hover\:bg-yellow-300{--bg-opacity:1;background-color:#faca15;background-color:rgba(250,202,21,var(--bg-opacity))}.group:hover .group-hover\:bg-yellow-400{--bg-opacity:1;background-color:#e3a008;background-color:rgba(227,160,8,var(--bg-opacity))}.group:hover .group-hover\:bg-yellow-500{--bg-opacity:1;background-color:#c27803;background-color:rgba(194,120,3,var(--bg-opacity))}.group:hover .group-hover\:bg-yellow-600{--bg-opacity:1;background-color:#9f580a;background-color:rgba(159,88,10,var(--bg-opacity))}.group:hover .group-hover\:bg-yellow-700{--bg-opacity:1;background-color:#8e4b10;background-color:rgba(142,75,16,var(--bg-opacity))}.group:hover .group-hover\:bg-yellow-800{--bg-opacity:1;background-color:#723b13;background-color:rgba(114,59,19,var(--bg-opacity))}.group:hover .group-hover\:bg-yellow-900{--bg-opacity:1;background-color:#633112;background-color:rgba(99,49,18,var(--bg-opacity))}.group:hover .group-hover\:bg-green-50{--bg-opacity:1;background-color:#f3faf7;background-color:rgba(243,250,247,var(--bg-opacity))}.group:hover .group-hover\:bg-green-100{--bg-opacity:1;background-color:#def7ec;background-color:rgba(222,247,236,var(--bg-opacity))}.group:hover .group-hover\:bg-green-200{--bg-opacity:1;background-color:#bcf0da;background-color:rgba(188,240,218,var(--bg-opacity))}.group:hover .group-hover\:bg-green-300{--bg-opacity:1;background-color:#84e1bc;background-color:rgba(132,225,188,var(--bg-opacity))}.group:hover .group-hover\:bg-green-400{--bg-opacity:1;background-color:#31c48d;background-color:rgba(49,196,141,var(--bg-opacity))}.group:hover .group-hover\:bg-green-500{--bg-opacity:1;background-color:#0e9f6e;background-color:rgba(14,159,110,var(--bg-opacity))}.group:hover .group-hover\:bg-green-600{--bg-opacity:1;background-color:#057a55;background-color:rgba(5,122,85,var(--bg-opacity))}.group:hover .group-hover\:bg-green-700{--bg-opacity:1;background-color:#046c4e;background-color:rgba(4,108,78,var(--bg-opacity))}.group:hover .group-hover\:bg-green-800{--bg-opacity:1;background-color:#03543f;background-color:rgba(3,84,63,var(--bg-opacity))}.group:hover .group-hover\:bg-green-900{--bg-opacity:1;background-color:#014737;background-color:rgba(1,71,55,var(--bg-opacity))}.group:hover .group-hover\:bg-teal-50{--bg-opacity:1;background-color:#edfafa;background-color:rgba(237,250,250,var(--bg-opacity))}.group:hover .group-hover\:bg-teal-100{--bg-opacity:1;background-color:#d5f5f6;background-color:rgba(213,245,246,var(--bg-opacity))}.group:hover .group-hover\:bg-teal-200{--bg-opacity:1;background-color:#afecef;background-color:rgba(175,236,239,var(--bg-opacity))}.group:hover .group-hover\:bg-teal-300{--bg-opacity:1;background-color:#7edce2;background-color:rgba(126,220,226,var(--bg-opacity))}.group:hover .group-hover\:bg-teal-400{--bg-opacity:1;background-color:#16bdca;background-color:rgba(22,189,202,var(--bg-opacity))}.group:hover .group-hover\:bg-teal-500{--bg-opacity:1;background-color:#0694a2;background-color:rgba(6,148,162,var(--bg-opacity))}.group:hover .group-hover\:bg-teal-600{--bg-opacity:1;background-color:#047481;background-color:rgba(4,116,129,var(--bg-opacity))}.group:hover .group-hover\:bg-teal-700{--bg-opacity:1;background-color:#036672;background-color:rgba(3,102,114,var(--bg-opacity))}.group:hover .group-hover\:bg-teal-800{--bg-opacity:1;background-color:#05505c;background-color:rgba(5,80,92,var(--bg-opacity))}.group:hover .group-hover\:bg-teal-900{--bg-opacity:1;background-color:#014451;background-color:rgba(1,68,81,var(--bg-opacity))}.group:hover .group-hover\:bg-blue-50{--bg-opacity:1;background-color:#ebf5ff;background-color:rgba(235,245,255,var(--bg-opacity))}.group:hover .group-hover\:bg-blue-100{--bg-opacity:1;background-color:#e1effe;background-color:rgba(225,239,254,var(--bg-opacity))}.group:hover .group-hover\:bg-blue-200{--bg-opacity:1;background-color:#c3ddfd;background-color:rgba(195,221,253,var(--bg-opacity))}.group:hover .group-hover\:bg-blue-300{--bg-opacity:1;background-color:#a4cafe;background-color:rgba(164,202,254,var(--bg-opacity))}.group:hover .group-hover\:bg-blue-400{--bg-opacity:1;background-color:#76a9fa;background-color:rgba(118,169,250,var(--bg-opacity))}.group:hover .group-hover\:bg-blue-500{--bg-opacity:1;background-color:#3f83f8;background-color:rgba(63,131,248,var(--bg-opacity))}.group:hover .group-hover\:bg-blue-600{--bg-opacity:1;background-color:#1c64f2;background-color:rgba(28,100,242,var(--bg-opacity))}.group:hover .group-hover\:bg-blue-700{--bg-opacity:1;background-color:#1a56db;background-color:rgba(26,86,219,var(--bg-opacity))}.group:hover .group-hover\:bg-blue-800{--bg-opacity:1;background-color:#1e429f;background-color:rgba(30,66,159,var(--bg-opacity))}.group:hover .group-hover\:bg-blue-900{--bg-opacity:1;background-color:#233876;background-color:rgba(35,56,118,var(--bg-opacity))}.group:hover .group-hover\:bg-indigo-50{--bg-opacity:1;background-color:#f0f5ff;background-color:rgba(240,245,255,var(--bg-opacity))}.group:hover .group-hover\:bg-indigo-100{--bg-opacity:1;background-color:#e5edff;background-color:rgba(229,237,255,var(--bg-opacity))}.group:hover .group-hover\:bg-indigo-200{--bg-opacity:1;background-color:#cddbfe;background-color:rgba(205,219,254,var(--bg-opacity))}.group:hover .group-hover\:bg-indigo-300{--bg-opacity:1;background-color:#b4c6fc;background-color:rgba(180,198,252,var(--bg-opacity))}.group:hover .group-hover\:bg-indigo-400{--bg-opacity:1;background-color:#8da2fb;background-color:rgba(141,162,251,var(--bg-opacity))}.group:hover .group-hover\:bg-indigo-500{--bg-opacity:1;background-color:#6875f5;background-color:rgba(104,117,245,var(--bg-opacity))}.group:hover .group-hover\:bg-indigo-600{--bg-opacity:1;background-color:#5850ec;background-color:rgba(88,80,236,var(--bg-opacity))}.group:hover .group-hover\:bg-indigo-700{--bg-opacity:1;background-color:#5145cd;background-color:rgba(81,69,205,var(--bg-opacity))}.group:hover .group-hover\:bg-indigo-800{--bg-opacity:1;background-color:#42389d;background-color:rgba(66,56,157,var(--bg-opacity))}.group:hover .group-hover\:bg-indigo-900{--bg-opacity:1;background-color:#362f78;background-color:rgba(54,47,120,var(--bg-opacity))}.group:hover .group-hover\:bg-purple-50{--bg-opacity:1;background-color:#f6f5ff;background-color:rgba(246,245,255,var(--bg-opacity))}.group:hover .group-hover\:bg-purple-100{--bg-opacity:1;background-color:#edebfe;background-color:rgba(237,235,254,var(--bg-opacity))}.group:hover .group-hover\:bg-purple-200{--bg-opacity:1;background-color:#dcd7fe;background-color:rgba(220,215,254,var(--bg-opacity))}.group:hover .group-hover\:bg-purple-300{--bg-opacity:1;background-color:#cabffd;background-color:rgba(202,191,253,var(--bg-opacity))}.group:hover .group-hover\:bg-purple-400{--bg-opacity:1;background-color:#ac94fa;background-color:rgba(172,148,250,var(--bg-opacity))}.group:hover .group-hover\:bg-purple-500{--bg-opacity:1;background-color:#9061f9;background-color:rgba(144,97,249,var(--bg-opacity))}.group:hover .group-hover\:bg-purple-600{--bg-opacity:1;background-color:#7e3af2;background-color:rgba(126,58,242,var(--bg-opacity))}.group:hover .group-hover\:bg-purple-700{--bg-opacity:1;background-color:#6c2bd9;background-color:rgba(108,43,217,var(--bg-opacity))}.group:hover .group-hover\:bg-purple-800{--bg-opacity:1;background-color:#5521b5;background-color:rgba(85,33,181,var(--bg-opacity))}.group:hover .group-hover\:bg-purple-900{--bg-opacity:1;background-color:#4a1d96;background-color:rgba(74,29,150,var(--bg-opacity))}.group:hover .group-hover\:bg-pink-50{--bg-opacity:1;background-color:#fdf2f8;background-color:rgba(253,242,248,var(--bg-opacity))}.group:hover .group-hover\:bg-pink-100{--bg-opacity:1;background-color:#fce8f3;background-color:rgba(252,232,243,var(--bg-opacity))}.group:hover .group-hover\:bg-pink-200{--bg-opacity:1;background-color:#fad1e8;background-color:rgba(250,209,232,var(--bg-opacity))}.group:hover .group-hover\:bg-pink-300{--bg-opacity:1;background-color:#f8b4d9;background-color:rgba(248,180,217,var(--bg-opacity))}.group:hover .group-hover\:bg-pink-400{--bg-opacity:1;background-color:#f17eb8;background-color:rgba(241,126,184,var(--bg-opacity))}.group:hover .group-hover\:bg-pink-500{--bg-opacity:1;background-color:#e74694;background-color:rgba(231,70,148,var(--bg-opacity))}.group:hover .group-hover\:bg-pink-600{--bg-opacity:1;background-color:#d61f69;background-color:rgba(214,31,105,var(--bg-opacity))}.group:hover .group-hover\:bg-pink-700{--bg-opacity:1;background-color:#bf125d;background-color:rgba(191,18,93,var(--bg-opacity))}.group:hover .group-hover\:bg-pink-800{--bg-opacity:1;background-color:#99154b;background-color:rgba(153,21,75,var(--bg-opacity))}.group:hover .group-hover\:bg-pink-900{--bg-opacity:1;background-color:#751a3d;background-color:rgba(117,26,61,var(--bg-opacity))}.group:focus .group-focus\:bg-transparent{background-color:transparent}.group:focus .group-focus\:bg-white{--bg-opacity:1;background-color:#fff;background-color:rgba(255,255,255,var(--bg-opacity))}.group:focus .group-focus\:bg-black{--bg-opacity:1;background-color:#000;background-color:rgba(0,0,0,var(--bg-opacity))}.group:focus .group-focus\:bg-gray-50{--bg-opacity:1;background-color:#f9fafb;background-color:rgba(249,250,251,var(--bg-opacity))}.group:focus .group-focus\:bg-gray-100{--bg-opacity:1;background-color:#f4f5f7;background-color:rgba(244,245,247,var(--bg-opacity))}.group:focus .group-focus\:bg-gray-200{--bg-opacity:1;background-color:#e5e7eb;background-color:rgba(229,231,235,var(--bg-opacity))}.group:focus .group-focus\:bg-gray-300{--bg-opacity:1;background-color:#d2d6dc;background-color:rgba(210,214,220,var(--bg-opacity))}.group:focus .group-focus\:bg-gray-400{--bg-opacity:1;background-color:#9fa6b2;background-color:rgba(159,166,178,var(--bg-opacity))}.group:focus .group-focus\:bg-gray-500{--bg-opacity:1;background-color:#6b7280;background-color:rgba(107,114,128,var(--bg-opacity))}.group:focus .group-focus\:bg-gray-600{--bg-opacity:1;background-color:#4b5563;background-color:rgba(75,85,99,var(--bg-opacity))}.group:focus .group-focus\:bg-gray-700{--bg-opacity:1;background-color:#374151;background-color:rgba(55,65,81,var(--bg-opacity))}.group:focus .group-focus\:bg-gray-800{--bg-opacity:1;background-color:#252f3f;background-color:rgba(37,47,63,var(--bg-opacity))}.group:focus .group-focus\:bg-gray-900{--bg-opacity:1;background-color:#161e2e;background-color:rgba(22,30,46,var(--bg-opacity))}.group:focus .group-focus\:bg-cool-gray-50{--bg-opacity:1;background-color:#f8fafc;background-color:rgba(248,250,252,var(--bg-opacity))}.group:focus .group-focus\:bg-cool-gray-100{--bg-opacity:1;background-color:#f1f5f9;background-color:rgba(241,245,249,var(--bg-opacity))}.group:focus .group-focus\:bg-cool-gray-200{--bg-opacity:1;background-color:#e2e8f0;background-color:rgba(226,232,240,var(--bg-opacity))}.group:focus .group-focus\:bg-cool-gray-300{--bg-opacity:1;background-color:#cfd8e3;background-color:rgba(207,216,227,var(--bg-opacity))}.group:focus .group-focus\:bg-cool-gray-400{--bg-opacity:1;background-color:#97a6ba;background-color:rgba(151,166,186,var(--bg-opacity))}.group:focus .group-focus\:bg-cool-gray-500{--bg-opacity:1;background-color:#64748b;background-color:rgba(100,116,139,var(--bg-opacity))}.group:focus .group-focus\:bg-cool-gray-600{--bg-opacity:1;background-color:#475569;background-color:rgba(71,85,105,var(--bg-opacity))}.group:focus .group-focus\:bg-cool-gray-700{--bg-opacity:1;background-color:#364152;background-color:rgba(54,65,82,var(--bg-opacity))}.group:focus .group-focus\:bg-cool-gray-800{--bg-opacity:1;background-color:#27303f;background-color:rgba(39,48,63,var(--bg-opacity))}.group:focus .group-focus\:bg-cool-gray-900{--bg-opacity:1;background-color:#1a202e;background-color:rgba(26,32,46,var(--bg-opacity))}.group:focus .group-focus\:bg-red-50{--bg-opacity:1;background-color:#fdf2f2;background-color:rgba(253,242,242,var(--bg-opacity))}.group:focus .group-focus\:bg-red-100{--bg-opacity:1;background-color:#fde8e8;background-color:rgba(253,232,232,var(--bg-opacity))}.group:focus .group-focus\:bg-red-200{--bg-opacity:1;background-color:#fbd5d5;background-color:rgba(251,213,213,var(--bg-opacity))}.group:focus .group-focus\:bg-red-300{--bg-opacity:1;background-color:#f8b4b4;background-color:rgba(248,180,180,var(--bg-opacity))}.group:focus .group-focus\:bg-red-400{--bg-opacity:1;background-color:#f98080;background-color:rgba(249,128,128,var(--bg-opacity))}.group:focus .group-focus\:bg-red-500{--bg-opacity:1;background-color:#f05252;background-color:rgba(240,82,82,var(--bg-opacity))}.group:focus .group-focus\:bg-red-600{--bg-opacity:1;background-color:#e02424;background-color:rgba(224,36,36,var(--bg-opacity))}.group:focus .group-focus\:bg-red-700{--bg-opacity:1;background-color:#c81e1e;background-color:rgba(200,30,30,var(--bg-opacity))}.group:focus .group-focus\:bg-red-800{--bg-opacity:1;background-color:#9b1c1c;background-color:rgba(155,28,28,var(--bg-opacity))}.group:focus .group-focus\:bg-red-900{--bg-opacity:1;background-color:#771d1d;background-color:rgba(119,29,29,var(--bg-opacity))}.group:focus .group-focus\:bg-orange-50{--bg-opacity:1;background-color:#fff8f1;background-color:rgba(255,248,241,var(--bg-opacity))}.group:focus .group-focus\:bg-orange-100{--bg-opacity:1;background-color:#feecdc;background-color:rgba(254,236,220,var(--bg-opacity))}.group:focus .group-focus\:bg-orange-200{--bg-opacity:1;background-color:#fcd9bd;background-color:rgba(252,217,189,var(--bg-opacity))}.group:focus .group-focus\:bg-orange-300{--bg-opacity:1;background-color:#fdba8c;background-color:rgba(253,186,140,var(--bg-opacity))}.group:focus .group-focus\:bg-orange-400{--bg-opacity:1;background-color:#ff8a4c;background-color:rgba(255,138,76,var(--bg-opacity))}.group:focus .group-focus\:bg-orange-500{--bg-opacity:1;background-color:#ff5a1f;background-color:rgba(255,90,31,var(--bg-opacity))}.group:focus .group-focus\:bg-orange-600{--bg-opacity:1;background-color:#d03801;background-color:rgba(208,56,1,var(--bg-opacity))}.group:focus .group-focus\:bg-orange-700{--bg-opacity:1;background-color:#b43403;background-color:rgba(180,52,3,var(--bg-opacity))}.group:focus .group-focus\:bg-orange-800{--bg-opacity:1;background-color:#8a2c0d;background-color:rgba(138,44,13,var(--bg-opacity))}.group:focus .group-focus\:bg-orange-900{--bg-opacity:1;background-color:#73230d;background-color:rgba(115,35,13,var(--bg-opacity))}.group:focus .group-focus\:bg-yellow-50{--bg-opacity:1;background-color:#fdfdea;background-color:rgba(253,253,234,var(--bg-opacity))}.group:focus .group-focus\:bg-yellow-100{--bg-opacity:1;background-color:#fdf6b2;background-color:rgba(253,246,178,var(--bg-opacity))}.group:focus .group-focus\:bg-yellow-200{--bg-opacity:1;background-color:#fce96a;background-color:rgba(252,233,106,var(--bg-opacity))}.group:focus .group-focus\:bg-yellow-300{--bg-opacity:1;background-color:#faca15;background-color:rgba(250,202,21,var(--bg-opacity))}.group:focus .group-focus\:bg-yellow-400{--bg-opacity:1;background-color:#e3a008;background-color:rgba(227,160,8,var(--bg-opacity))}.group:focus .group-focus\:bg-yellow-500{--bg-opacity:1;background-color:#c27803;background-color:rgba(194,120,3,var(--bg-opacity))}.group:focus .group-focus\:bg-yellow-600{--bg-opacity:1;background-color:#9f580a;background-color:rgba(159,88,10,var(--bg-opacity))}.group:focus .group-focus\:bg-yellow-700{--bg-opacity:1;background-color:#8e4b10;background-color:rgba(142,75,16,var(--bg-opacity))}.group:focus .group-focus\:bg-yellow-800{--bg-opacity:1;background-color:#723b13;background-color:rgba(114,59,19,var(--bg-opacity))}.group:focus .group-focus\:bg-yellow-900{--bg-opacity:1;background-color:#633112;background-color:rgba(99,49,18,var(--bg-opacity))}.group:focus .group-focus\:bg-green-50{--bg-opacity:1;background-color:#f3faf7;background-color:rgba(243,250,247,var(--bg-opacity))}.group:focus .group-focus\:bg-green-100{--bg-opacity:1;background-color:#def7ec;background-color:rgba(222,247,236,var(--bg-opacity))}.group:focus .group-focus\:bg-green-200{--bg-opacity:1;background-color:#bcf0da;background-color:rgba(188,240,218,var(--bg-opacity))}.group:focus .group-focus\:bg-green-300{--bg-opacity:1;background-color:#84e1bc;background-color:rgba(132,225,188,var(--bg-opacity))}.group:focus .group-focus\:bg-green-400{--bg-opacity:1;background-color:#31c48d;background-color:rgba(49,196,141,var(--bg-opacity))}.group:focus .group-focus\:bg-green-500{--bg-opacity:1;background-color:#0e9f6e;background-color:rgba(14,159,110,var(--bg-opacity))}.group:focus .group-focus\:bg-green-600{--bg-opacity:1;background-color:#057a55;background-color:rgba(5,122,85,var(--bg-opacity))}.group:focus .group-focus\:bg-green-700{--bg-opacity:1;background-color:#046c4e;background-color:rgba(4,108,78,var(--bg-opacity))}.group:focus .group-focus\:bg-green-800{--bg-opacity:1;background-color:#03543f;background-color:rgba(3,84,63,var(--bg-opacity))}.group:focus .group-focus\:bg-green-900{--bg-opacity:1;background-color:#014737;background-color:rgba(1,71,55,var(--bg-opacity))}.group:focus .group-focus\:bg-teal-50{--bg-opacity:1;background-color:#edfafa;background-color:rgba(237,250,250,var(--bg-opacity))}.group:focus .group-focus\:bg-teal-100{--bg-opacity:1;background-color:#d5f5f6;background-color:rgba(213,245,246,var(--bg-opacity))}.group:focus .group-focus\:bg-teal-200{--bg-opacity:1;background-color:#afecef;background-color:rgba(175,236,239,var(--bg-opacity))}.group:focus .group-focus\:bg-teal-300{--bg-opacity:1;background-color:#7edce2;background-color:rgba(126,220,226,var(--bg-opacity))}.group:focus .group-focus\:bg-teal-400{--bg-opacity:1;background-color:#16bdca;background-color:rgba(22,189,202,var(--bg-opacity))}.group:focus .group-focus\:bg-teal-500{--bg-opacity:1;background-color:#0694a2;background-color:rgba(6,148,162,var(--bg-opacity))}.group:focus .group-focus\:bg-teal-600{--bg-opacity:1;background-color:#047481;background-color:rgba(4,116,129,var(--bg-opacity))}.group:focus .group-focus\:bg-teal-700{--bg-opacity:1;background-color:#036672;background-color:rgba(3,102,114,var(--bg-opacity))}.group:focus .group-focus\:bg-teal-800{--bg-opacity:1;background-color:#05505c;background-color:rgba(5,80,92,var(--bg-opacity))}.group:focus .group-focus\:bg-teal-900{--bg-opacity:1;background-color:#014451;background-color:rgba(1,68,81,var(--bg-opacity))}.group:focus .group-focus\:bg-blue-50{--bg-opacity:1;background-color:#ebf5ff;background-color:rgba(235,245,255,var(--bg-opacity))}.group:focus .group-focus\:bg-blue-100{--bg-opacity:1;background-color:#e1effe;background-color:rgba(225,239,254,var(--bg-opacity))}.group:focus .group-focus\:bg-blue-200{--bg-opacity:1;background-color:#c3ddfd;background-color:rgba(195,221,253,var(--bg-opacity))}.group:focus .group-focus\:bg-blue-300{--bg-opacity:1;background-color:#a4cafe;background-color:rgba(164,202,254,var(--bg-opacity))}.group:focus .group-focus\:bg-blue-400{--bg-opacity:1;background-color:#76a9fa;background-color:rgba(118,169,250,var(--bg-opacity))}.group:focus .group-focus\:bg-blue-500{--bg-opacity:1;background-color:#3f83f8;background-color:rgba(63,131,248,var(--bg-opacity))}.group:focus .group-focus\:bg-blue-600{--bg-opacity:1;background-color:#1c64f2;background-color:rgba(28,100,242,var(--bg-opacity))}.group:focus .group-focus\:bg-blue-700{--bg-opacity:1;background-color:#1a56db;background-color:rgba(26,86,219,var(--bg-opacity))}.group:focus .group-focus\:bg-blue-800{--bg-opacity:1;background-color:#1e429f;background-color:rgba(30,66,159,var(--bg-opacity))}.group:focus .group-focus\:bg-blue-900{--bg-opacity:1;background-color:#233876;background-color:rgba(35,56,118,var(--bg-opacity))}.group:focus .group-focus\:bg-indigo-50{--bg-opacity:1;background-color:#f0f5ff;background-color:rgba(240,245,255,var(--bg-opacity))}.group:focus .group-focus\:bg-indigo-100{--bg-opacity:1;background-color:#e5edff;background-color:rgba(229,237,255,var(--bg-opacity))}.group:focus .group-focus\:bg-indigo-200{--bg-opacity:1;background-color:#cddbfe;background-color:rgba(205,219,254,var(--bg-opacity))}.group:focus .group-focus\:bg-indigo-300{--bg-opacity:1;background-color:#b4c6fc;background-color:rgba(180,198,252,var(--bg-opacity))}.group:focus .group-focus\:bg-indigo-400{--bg-opacity:1;background-color:#8da2fb;background-color:rgba(141,162,251,var(--bg-opacity))}.group:focus .group-focus\:bg-indigo-500{--bg-opacity:1;background-color:#6875f5;background-color:rgba(104,117,245,var(--bg-opacity))}.group:focus .group-focus\:bg-indigo-600{--bg-opacity:1;background-color:#5850ec;background-color:rgba(88,80,236,var(--bg-opacity))}.group:focus .group-focus\:bg-indigo-700{--bg-opacity:1;background-color:#5145cd;background-color:rgba(81,69,205,var(--bg-opacity))}.group:focus .group-focus\:bg-indigo-800{--bg-opacity:1;background-color:#42389d;background-color:rgba(66,56,157,var(--bg-opacity))}.group:focus .group-focus\:bg-indigo-900{--bg-opacity:1;background-color:#362f78;background-color:rgba(54,47,120,var(--bg-opacity))}.group:focus .group-focus\:bg-purple-50{--bg-opacity:1;background-color:#f6f5ff;background-color:rgba(246,245,255,var(--bg-opacity))}.group:focus .group-focus\:bg-purple-100{--bg-opacity:1;background-color:#edebfe;background-color:rgba(237,235,254,var(--bg-opacity))}.group:focus .group-focus\:bg-purple-200{--bg-opacity:1;background-color:#dcd7fe;background-color:rgba(220,215,254,var(--bg-opacity))}.group:focus .group-focus\:bg-purple-300{--bg-opacity:1;background-color:#cabffd;background-color:rgba(202,191,253,var(--bg-opacity))}.group:focus .group-focus\:bg-purple-400{--bg-opacity:1;background-color:#ac94fa;background-color:rgba(172,148,250,var(--bg-opacity))}.group:focus .group-focus\:bg-purple-500{--bg-opacity:1;background-color:#9061f9;background-color:rgba(144,97,249,var(--bg-opacity))}.group:focus .group-focus\:bg-purple-600{--bg-opacity:1;background-color:#7e3af2;background-color:rgba(126,58,242,var(--bg-opacity))}.group:focus .group-focus\:bg-purple-700{--bg-opacity:1;background-color:#6c2bd9;background-color:rgba(108,43,217,var(--bg-opacity))}.group:focus .group-focus\:bg-purple-800{--bg-opacity:1;background-color:#5521b5;background-color:rgba(85,33,181,var(--bg-opacity))}.group:focus .group-focus\:bg-purple-900{--bg-opacity:1;background-color:#4a1d96;background-color:rgba(74,29,150,var(--bg-opacity))}.group:focus .group-focus\:bg-pink-50{--bg-opacity:1;background-color:#fdf2f8;background-color:rgba(253,242,248,var(--bg-opacity))}.group:focus .group-focus\:bg-pink-100{--bg-opacity:1;background-color:#fce8f3;background-color:rgba(252,232,243,var(--bg-opacity))}.group:focus .group-focus\:bg-pink-200{--bg-opacity:1;background-color:#fad1e8;background-color:rgba(250,209,232,var(--bg-opacity))}.group:focus .group-focus\:bg-pink-300{--bg-opacity:1;background-color:#f8b4d9;background-color:rgba(248,180,217,var(--bg-opacity))}.group:focus .group-focus\:bg-pink-400{--bg-opacity:1;background-color:#f17eb8;background-color:rgba(241,126,184,var(--bg-opacity))}.group:focus .group-focus\:bg-pink-500{--bg-opacity:1;background-color:#e74694;background-color:rgba(231,70,148,var(--bg-opacity))}.group:focus .group-focus\:bg-pink-600{--bg-opacity:1;background-color:#d61f69;background-color:rgba(214,31,105,var(--bg-opacity))}.group:focus .group-focus\:bg-pink-700{--bg-opacity:1;background-color:#bf125d;background-color:rgba(191,18,93,var(--bg-opacity))}.group:focus .group-focus\:bg-pink-800{--bg-opacity:1;background-color:#99154b;background-color:rgba(153,21,75,var(--bg-opacity))}.group:focus .group-focus\:bg-pink-900{--bg-opacity:1;background-color:#751a3d;background-color:rgba(117,26,61,var(--bg-opacity))}.hover\:bg-transparent:hover{background-color:transparent}.hover\:bg-white:hover{--bg-opacity:1;background-color:#fff;background-color:rgba(255,255,255,var(--bg-opacity))}.hover\:bg-black:hover{--bg-opacity:1;background-color:#000;background-color:rgba(0,0,0,var(--bg-opacity))}.hover\:bg-gray-50:hover{--bg-opacity:1;background-color:#f9fafb;background-color:rgba(249,250,251,var(--bg-opacity))}.hover\:bg-gray-100:hover{--bg-opacity:1;background-color:#f4f5f7;background-color:rgba(244,245,247,var(--bg-opacity))}.hover\:bg-gray-200:hover{--bg-opacity:1;background-color:#e5e7eb;background-color:rgba(229,231,235,var(--bg-opacity))}.hover\:bg-gray-300:hover{--bg-opacity:1;background-color:#d2d6dc;background-color:rgba(210,214,220,var(--bg-opacity))}.hover\:bg-gray-400:hover{--bg-opacity:1;background-color:#9fa6b2;background-color:rgba(159,166,178,var(--bg-opacity))}.hover\:bg-gray-500:hover{--bg-opacity:1;background-color:#6b7280;background-color:rgba(107,114,128,var(--bg-opacity))}.hover\:bg-gray-600:hover{--bg-opacity:1;background-color:#4b5563;background-color:rgba(75,85,99,var(--bg-opacity))}.hover\:bg-gray-700:hover{--bg-opacity:1;background-color:#374151;background-color:rgba(55,65,81,var(--bg-opacity))}.hover\:bg-gray-800:hover{--bg-opacity:1;background-color:#252f3f;background-color:rgba(37,47,63,var(--bg-opacity))}.hover\:bg-gray-900:hover{--bg-opacity:1;background-color:#161e2e;background-color:rgba(22,30,46,var(--bg-opacity))}.hover\:bg-cool-gray-50:hover{--bg-opacity:1;background-color:#f8fafc;background-color:rgba(248,250,252,var(--bg-opacity))}.hover\:bg-cool-gray-100:hover{--bg-opacity:1;background-color:#f1f5f9;background-color:rgba(241,245,249,var(--bg-opacity))}.hover\:bg-cool-gray-200:hover{--bg-opacity:1;background-color:#e2e8f0;background-color:rgba(226,232,240,var(--bg-opacity))}.hover\:bg-cool-gray-300:hover{--bg-opacity:1;background-color:#cfd8e3;background-color:rgba(207,216,227,var(--bg-opacity))}.hover\:bg-cool-gray-400:hover{--bg-opacity:1;background-color:#97a6ba;background-color:rgba(151,166,186,var(--bg-opacity))}.hover\:bg-cool-gray-500:hover{--bg-opacity:1;background-color:#64748b;background-color:rgba(100,116,139,var(--bg-opacity))}.hover\:bg-cool-gray-600:hover{--bg-opacity:1;background-color:#475569;background-color:rgba(71,85,105,var(--bg-opacity))}.hover\:bg-cool-gray-700:hover{--bg-opacity:1;background-color:#364152;background-color:rgba(54,65,82,var(--bg-opacity))}.hover\:bg-cool-gray-800:hover{--bg-opacity:1;background-color:#27303f;background-color:rgba(39,48,63,var(--bg-opacity))}.hover\:bg-cool-gray-900:hover{--bg-opacity:1;background-color:#1a202e;background-color:rgba(26,32,46,var(--bg-opacity))}.hover\:bg-red-50:hover{--bg-opacity:1;background-color:#fdf2f2;background-color:rgba(253,242,242,var(--bg-opacity))}.hover\:bg-red-100:hover{--bg-opacity:1;background-color:#fde8e8;background-color:rgba(253,232,232,var(--bg-opacity))}.hover\:bg-red-200:hover{--bg-opacity:1;background-color:#fbd5d5;background-color:rgba(251,213,213,var(--bg-opacity))}.hover\:bg-red-300:hover{--bg-opacity:1;background-color:#f8b4b4;background-color:rgba(248,180,180,var(--bg-opacity))}.hover\:bg-red-400:hover{--bg-opacity:1;background-color:#f98080;background-color:rgba(249,128,128,var(--bg-opacity))}.hover\:bg-red-500:hover{--bg-opacity:1;background-color:#f05252;background-color:rgba(240,82,82,var(--bg-opacity))}.hover\:bg-red-600:hover{--bg-opacity:1;background-color:#e02424;background-color:rgba(224,36,36,var(--bg-opacity))}.hover\:bg-red-700:hover{--bg-opacity:1;background-color:#c81e1e;background-color:rgba(200,30,30,var(--bg-opacity))}.hover\:bg-red-800:hover{--bg-opacity:1;background-color:#9b1c1c;background-color:rgba(155,28,28,var(--bg-opacity))}.hover\:bg-red-900:hover{--bg-opacity:1;background-color:#771d1d;background-color:rgba(119,29,29,var(--bg-opacity))}.hover\:bg-orange-50:hover{--bg-opacity:1;background-color:#fff8f1;background-color:rgba(255,248,241,var(--bg-opacity))}.hover\:bg-orange-100:hover{--bg-opacity:1;background-color:#feecdc;background-color:rgba(254,236,220,var(--bg-opacity))}.hover\:bg-orange-200:hover{--bg-opacity:1;background-color:#fcd9bd;background-color:rgba(252,217,189,var(--bg-opacity))}.hover\:bg-orange-300:hover{--bg-opacity:1;background-color:#fdba8c;background-color:rgba(253,186,140,var(--bg-opacity))}.hover\:bg-orange-400:hover{--bg-opacity:1;background-color:#ff8a4c;background-color:rgba(255,138,76,var(--bg-opacity))}.hover\:bg-orange-500:hover{--bg-opacity:1;background-color:#ff5a1f;background-color:rgba(255,90,31,var(--bg-opacity))}.hover\:bg-orange-600:hover{--bg-opacity:1;background-color:#d03801;background-color:rgba(208,56,1,var(--bg-opacity))}.hover\:bg-orange-700:hover{--bg-opacity:1;background-color:#b43403;background-color:rgba(180,52,3,var(--bg-opacity))}.hover\:bg-orange-800:hover{--bg-opacity:1;background-color:#8a2c0d;background-color:rgba(138,44,13,var(--bg-opacity))}.hover\:bg-orange-900:hover{--bg-opacity:1;background-color:#73230d;background-color:rgba(115,35,13,var(--bg-opacity))}.hover\:bg-yellow-50:hover{--bg-opacity:1;background-color:#fdfdea;background-color:rgba(253,253,234,var(--bg-opacity))}.hover\:bg-yellow-100:hover{--bg-opacity:1;background-color:#fdf6b2;background-color:rgba(253,246,178,var(--bg-opacity))}.hover\:bg-yellow-200:hover{--bg-opacity:1;background-color:#fce96a;background-color:rgba(252,233,106,var(--bg-opacity))}.hover\:bg-yellow-300:hover{--bg-opacity:1;background-color:#faca15;background-color:rgba(250,202,21,var(--bg-opacity))}.hover\:bg-yellow-400:hover{--bg-opacity:1;background-color:#e3a008;background-color:rgba(227,160,8,var(--bg-opacity))}.hover\:bg-yellow-500:hover{--bg-opacity:1;background-color:#c27803;background-color:rgba(194,120,3,var(--bg-opacity))}.hover\:bg-yellow-600:hover{--bg-opacity:1;background-color:#9f580a;background-color:rgba(159,88,10,var(--bg-opacity))}.hover\:bg-yellow-700:hover{--bg-opacity:1;background-color:#8e4b10;background-color:rgba(142,75,16,var(--bg-opacity))}.hover\:bg-yellow-800:hover{--bg-opacity:1;background-color:#723b13;background-color:rgba(114,59,19,var(--bg-opacity))}.hover\:bg-yellow-900:hover{--bg-opacity:1;background-color:#633112;background-color:rgba(99,49,18,var(--bg-opacity))}.hover\:bg-green-50:hover{--bg-opacity:1;background-color:#f3faf7;background-color:rgba(243,250,247,var(--bg-opacity))}.hover\:bg-green-100:hover{--bg-opacity:1;background-color:#def7ec;background-color:rgba(222,247,236,var(--bg-opacity))}.hover\:bg-green-200:hover{--bg-opacity:1;background-color:#bcf0da;background-color:rgba(188,240,218,var(--bg-opacity))}.hover\:bg-green-300:hover{--bg-opacity:1;background-color:#84e1bc;background-color:rgba(132,225,188,var(--bg-opacity))}.hover\:bg-green-400:hover{--bg-opacity:1;background-color:#31c48d;background-color:rgba(49,196,141,var(--bg-opacity))}.hover\:bg-green-500:hover{--bg-opacity:1;background-color:#0e9f6e;background-color:rgba(14,159,110,var(--bg-opacity))}.hover\:bg-green-600:hover{--bg-opacity:1;background-color:#057a55;background-color:rgba(5,122,85,var(--bg-opacity))}.hover\:bg-green-700:hover{--bg-opacity:1;background-color:#046c4e;background-color:rgba(4,108,78,var(--bg-opacity))}.hover\:bg-green-800:hover{--bg-opacity:1;background-color:#03543f;background-color:rgba(3,84,63,var(--bg-opacity))}.hover\:bg-green-900:hover{--bg-opacity:1;background-color:#014737;background-color:rgba(1,71,55,var(--bg-opacity))}.hover\:bg-teal-50:hover{--bg-opacity:1;background-color:#edfafa;background-color:rgba(237,250,250,var(--bg-opacity))}.hover\:bg-teal-100:hover{--bg-opacity:1;background-color:#d5f5f6;background-color:rgba(213,245,246,var(--bg-opacity))}.hover\:bg-teal-200:hover{--bg-opacity:1;background-color:#afecef;background-color:rgba(175,236,239,var(--bg-opacity))}.hover\:bg-teal-300:hover{--bg-opacity:1;background-color:#7edce2;background-color:rgba(126,220,226,var(--bg-opacity))}.hover\:bg-teal-400:hover{--bg-opacity:1;background-color:#16bdca;background-color:rgba(22,189,202,var(--bg-opacity))}.hover\:bg-teal-500:hover{--bg-opacity:1;background-color:#0694a2;background-color:rgba(6,148,162,var(--bg-opacity))}.hover\:bg-teal-600:hover{--bg-opacity:1;background-color:#047481;background-color:rgba(4,116,129,var(--bg-opacity))}.hover\:bg-teal-700:hover{--bg-opacity:1;background-color:#036672;background-color:rgba(3,102,114,var(--bg-opacity))}.hover\:bg-teal-800:hover{--bg-opacity:1;background-color:#05505c;background-color:rgba(5,80,92,var(--bg-opacity))}.hover\:bg-teal-900:hover{--bg-opacity:1;background-color:#014451;background-color:rgba(1,68,81,var(--bg-opacity))}.hover\:bg-blue-50:hover{--bg-opacity:1;background-color:#ebf5ff;background-color:rgba(235,245,255,var(--bg-opacity))}.hover\:bg-blue-100:hover{--bg-opacity:1;background-color:#e1effe;background-color:rgba(225,239,254,var(--bg-opacity))}.hover\:bg-blue-200:hover{--bg-opacity:1;background-color:#c3ddfd;background-color:rgba(195,221,253,var(--bg-opacity))}.hover\:bg-blue-300:hover{--bg-opacity:1;background-color:#a4cafe;background-color:rgba(164,202,254,var(--bg-opacity))}.hover\:bg-blue-400:hover{--bg-opacity:1;background-color:#76a9fa;background-color:rgba(118,169,250,var(--bg-opacity))}.hover\:bg-blue-500:hover{--bg-opacity:1;background-color:#3f83f8;background-color:rgba(63,131,248,var(--bg-opacity))}.hover\:bg-blue-600:hover{--bg-opacity:1;background-color:#1c64f2;background-color:rgba(28,100,242,var(--bg-opacity))}.hover\:bg-blue-700:hover{--bg-opacity:1;background-color:#1a56db;background-color:rgba(26,86,219,var(--bg-opacity))}.hover\:bg-blue-800:hover{--bg-opacity:1;background-color:#1e429f;background-color:rgba(30,66,159,var(--bg-opacity))}.hover\:bg-blue-900:hover{--bg-opacity:1;background-color:#233876;background-color:rgba(35,56,118,var(--bg-opacity))}.hover\:bg-indigo-50:hover{--bg-opacity:1;background-color:#f0f5ff;background-color:rgba(240,245,255,var(--bg-opacity))}.hover\:bg-indigo-100:hover{--bg-opacity:1;background-color:#e5edff;background-color:rgba(229,237,255,var(--bg-opacity))}.hover\:bg-indigo-200:hover{--bg-opacity:1;background-color:#cddbfe;background-color:rgba(205,219,254,var(--bg-opacity))}.hover\:bg-indigo-300:hover{--bg-opacity:1;background-color:#b4c6fc;background-color:rgba(180,198,252,var(--bg-opacity))}.hover\:bg-indigo-400:hover{--bg-opacity:1;background-color:#8da2fb;background-color:rgba(141,162,251,var(--bg-opacity))}.hover\:bg-indigo-500:hover{--bg-opacity:1;background-color:#6875f5;background-color:rgba(104,117,245,var(--bg-opacity))}.hover\:bg-indigo-600:hover{--bg-opacity:1;background-color:#5850ec;background-color:rgba(88,80,236,var(--bg-opacity))}.hover\:bg-indigo-700:hover{--bg-opacity:1;background-color:#5145cd;background-color:rgba(81,69,205,var(--bg-opacity))}.hover\:bg-indigo-800:hover{--bg-opacity:1;background-color:#42389d;background-color:rgba(66,56,157,var(--bg-opacity))}.hover\:bg-indigo-900:hover{--bg-opacity:1;background-color:#362f78;background-color:rgba(54,47,120,var(--bg-opacity))}.hover\:bg-purple-50:hover{--bg-opacity:1;background-color:#f6f5ff;background-color:rgba(246,245,255,var(--bg-opacity))}.hover\:bg-purple-100:hover{--bg-opacity:1;background-color:#edebfe;background-color:rgba(237,235,254,var(--bg-opacity))}.hover\:bg-purple-200:hover{--bg-opacity:1;background-color:#dcd7fe;background-color:rgba(220,215,254,var(--bg-opacity))}.hover\:bg-purple-300:hover{--bg-opacity:1;background-color:#cabffd;background-color:rgba(202,191,253,var(--bg-opacity))}.hover\:bg-purple-400:hover{--bg-opacity:1;background-color:#ac94fa;background-color:rgba(172,148,250,var(--bg-opacity))}.hover\:bg-purple-500:hover{--bg-opacity:1;background-color:#9061f9;background-color:rgba(144,97,249,var(--bg-opacity))}.hover\:bg-purple-600:hover{--bg-opacity:1;background-color:#7e3af2;background-color:rgba(126,58,242,var(--bg-opacity))}.hover\:bg-purple-700:hover{--bg-opacity:1;background-color:#6c2bd9;background-color:rgba(108,43,217,var(--bg-opacity))}.hover\:bg-purple-800:hover{--bg-opacity:1;background-color:#5521b5;background-color:rgba(85,33,181,var(--bg-opacity))}.hover\:bg-purple-900:hover{--bg-opacity:1;background-color:#4a1d96;background-color:rgba(74,29,150,var(--bg-opacity))}.hover\:bg-pink-50:hover{--bg-opacity:1;background-color:#fdf2f8;background-color:rgba(253,242,248,var(--bg-opacity))}.hover\:bg-pink-100:hover{--bg-opacity:1;background-color:#fce8f3;background-color:rgba(252,232,243,var(--bg-opacity))}.hover\:bg-pink-200:hover{--bg-opacity:1;background-color:#fad1e8;background-color:rgba(250,209,232,var(--bg-opacity))}.hover\:bg-pink-300:hover{--bg-opacity:1;background-color:#f8b4d9;background-color:rgba(248,180,217,var(--bg-opacity))}.hover\:bg-pink-400:hover{--bg-opacity:1;background-color:#f17eb8;background-color:rgba(241,126,184,var(--bg-opacity))}.hover\:bg-pink-500:hover{--bg-opacity:1;background-color:#e74694;background-color:rgba(231,70,148,var(--bg-opacity))}.hover\:bg-pink-600:hover{--bg-opacity:1;background-color:#d61f69;background-color:rgba(214,31,105,var(--bg-opacity))}.hover\:bg-pink-700:hover{--bg-opacity:1;background-color:#bf125d;background-color:rgba(191,18,93,var(--bg-opacity))}.hover\:bg-pink-800:hover{--bg-opacity:1;background-color:#99154b;background-color:rgba(153,21,75,var(--bg-opacity))}.hover\:bg-pink-900:hover{--bg-opacity:1;background-color:#751a3d;background-color:rgba(117,26,61,var(--bg-opacity))}.focus\:bg-transparent:focus{background-color:transparent}.focus\:bg-white:focus{--bg-opacity:1;background-color:#fff;background-color:rgba(255,255,255,var(--bg-opacity))}.focus\:bg-black:focus{--bg-opacity:1;background-color:#000;background-color:rgba(0,0,0,var(--bg-opacity))}.focus\:bg-gray-50:focus{--bg-opacity:1;background-color:#f9fafb;background-color:rgba(249,250,251,var(--bg-opacity))}.focus\:bg-gray-100:focus{--bg-opacity:1;background-color:#f4f5f7;background-color:rgba(244,245,247,var(--bg-opacity))}.focus\:bg-gray-200:focus{--bg-opacity:1;background-color:#e5e7eb;background-color:rgba(229,231,235,var(--bg-opacity))}.focus\:bg-gray-300:focus{--bg-opacity:1;background-color:#d2d6dc;background-color:rgba(210,214,220,var(--bg-opacity))}.focus\:bg-gray-400:focus{--bg-opacity:1;background-color:#9fa6b2;background-color:rgba(159,166,178,var(--bg-opacity))}.focus\:bg-gray-500:focus{--bg-opacity:1;background-color:#6b7280;background-color:rgba(107,114,128,var(--bg-opacity))}.focus\:bg-gray-600:focus{--bg-opacity:1;background-color:#4b5563;background-color:rgba(75,85,99,var(--bg-opacity))}.focus\:bg-gray-700:focus{--bg-opacity:1;background-color:#374151;background-color:rgba(55,65,81,var(--bg-opacity))}.focus\:bg-gray-800:focus{--bg-opacity:1;background-color:#252f3f;background-color:rgba(37,47,63,var(--bg-opacity))}.focus\:bg-gray-900:focus{--bg-opacity:1;background-color:#161e2e;background-color:rgba(22,30,46,var(--bg-opacity))}.focus\:bg-cool-gray-50:focus{--bg-opacity:1;background-color:#f8fafc;background-color:rgba(248,250,252,var(--bg-opacity))}.focus\:bg-cool-gray-100:focus{--bg-opacity:1;background-color:#f1f5f9;background-color:rgba(241,245,249,var(--bg-opacity))}.focus\:bg-cool-gray-200:focus{--bg-opacity:1;background-color:#e2e8f0;background-color:rgba(226,232,240,var(--bg-opacity))}.focus\:bg-cool-gray-300:focus{--bg-opacity:1;background-color:#cfd8e3;background-color:rgba(207,216,227,var(--bg-opacity))}.focus\:bg-cool-gray-400:focus{--bg-opacity:1;background-color:#97a6ba;background-color:rgba(151,166,186,var(--bg-opacity))}.focus\:bg-cool-gray-500:focus{--bg-opacity:1;background-color:#64748b;background-color:rgba(100,116,139,var(--bg-opacity))}.focus\:bg-cool-gray-600:focus{--bg-opacity:1;background-color:#475569;background-color:rgba(71,85,105,var(--bg-opacity))}.focus\:bg-cool-gray-700:focus{--bg-opacity:1;background-color:#364152;background-color:rgba(54,65,82,var(--bg-opacity))}.focus\:bg-cool-gray-800:focus{--bg-opacity:1;background-color:#27303f;background-color:rgba(39,48,63,var(--bg-opacity))}.focus\:bg-cool-gray-900:focus{--bg-opacity:1;background-color:#1a202e;background-color:rgba(26,32,46,var(--bg-opacity))}.focus\:bg-red-50:focus{--bg-opacity:1;background-color:#fdf2f2;background-color:rgba(253,242,242,var(--bg-opacity))}.focus\:bg-red-100:focus{--bg-opacity:1;background-color:#fde8e8;background-color:rgba(253,232,232,var(--bg-opacity))}.focus\:bg-red-200:focus{--bg-opacity:1;background-color:#fbd5d5;background-color:rgba(251,213,213,var(--bg-opacity))}.focus\:bg-red-300:focus{--bg-opacity:1;background-color:#f8b4b4;background-color:rgba(248,180,180,var(--bg-opacity))}.focus\:bg-red-400:focus{--bg-opacity:1;background-color:#f98080;background-color:rgba(249,128,128,var(--bg-opacity))}.focus\:bg-red-500:focus{--bg-opacity:1;background-color:#f05252;background-color:rgba(240,82,82,var(--bg-opacity))}.focus\:bg-red-600:focus{--bg-opacity:1;background-color:#e02424;background-color:rgba(224,36,36,var(--bg-opacity))}.focus\:bg-red-700:focus{--bg-opacity:1;background-color:#c81e1e;background-color:rgba(200,30,30,var(--bg-opacity))}.focus\:bg-red-800:focus{--bg-opacity:1;background-color:#9b1c1c;background-color:rgba(155,28,28,var(--bg-opacity))}.focus\:bg-red-900:focus{--bg-opacity:1;background-color:#771d1d;background-color:rgba(119,29,29,var(--bg-opacity))}.focus\:bg-orange-50:focus{--bg-opacity:1;background-color:#fff8f1;background-color:rgba(255,248,241,var(--bg-opacity))}.focus\:bg-orange-100:focus{--bg-opacity:1;background-color:#feecdc;background-color:rgba(254,236,220,var(--bg-opacity))}.focus\:bg-orange-200:focus{--bg-opacity:1;background-color:#fcd9bd;background-color:rgba(252,217,189,var(--bg-opacity))}.focus\:bg-orange-300:focus{--bg-opacity:1;background-color:#fdba8c;background-color:rgba(253,186,140,var(--bg-opacity))}.focus\:bg-orange-400:focus{--bg-opacity:1;background-color:#ff8a4c;background-color:rgba(255,138,76,var(--bg-opacity))}.focus\:bg-orange-500:focus{--bg-opacity:1;background-color:#ff5a1f;background-color:rgba(255,90,31,var(--bg-opacity))}.focus\:bg-orange-600:focus{--bg-opacity:1;background-color:#d03801;background-color:rgba(208,56,1,var(--bg-opacity))}.focus\:bg-orange-700:focus{--bg-opacity:1;background-color:#b43403;background-color:rgba(180,52,3,var(--bg-opacity))}.focus\:bg-orange-800:focus{--bg-opacity:1;background-color:#8a2c0d;background-color:rgba(138,44,13,var(--bg-opacity))}.focus\:bg-orange-900:focus{--bg-opacity:1;background-color:#73230d;background-color:rgba(115,35,13,var(--bg-opacity))}.focus\:bg-yellow-50:focus{--bg-opacity:1;background-color:#fdfdea;background-color:rgba(253,253,234,var(--bg-opacity))}.focus\:bg-yellow-100:focus{--bg-opacity:1;background-color:#fdf6b2;background-color:rgba(253,246,178,var(--bg-opacity))}.focus\:bg-yellow-200:focus{--bg-opacity:1;background-color:#fce96a;background-color:rgba(252,233,106,var(--bg-opacity))}.focus\:bg-yellow-300:focus{--bg-opacity:1;background-color:#faca15;background-color:rgba(250,202,21,var(--bg-opacity))}.focus\:bg-yellow-400:focus{--bg-opacity:1;background-color:#e3a008;background-color:rgba(227,160,8,var(--bg-opacity))}.focus\:bg-yellow-500:focus{--bg-opacity:1;background-color:#c27803;background-color:rgba(194,120,3,var(--bg-opacity))}.focus\:bg-yellow-600:focus{--bg-opacity:1;background-color:#9f580a;background-color:rgba(159,88,10,var(--bg-opacity))}.focus\:bg-yellow-700:focus{--bg-opacity:1;background-color:#8e4b10;background-color:rgba(142,75,16,var(--bg-opacity))}.focus\:bg-yellow-800:focus{--bg-opacity:1;background-color:#723b13;background-color:rgba(114,59,19,var(--bg-opacity))}.focus\:bg-yellow-900:focus{--bg-opacity:1;background-color:#633112;background-color:rgba(99,49,18,var(--bg-opacity))}.focus\:bg-green-50:focus{--bg-opacity:1;background-color:#f3faf7;background-color:rgba(243,250,247,var(--bg-opacity))}.focus\:bg-green-100:focus{--bg-opacity:1;background-color:#def7ec;background-color:rgba(222,247,236,var(--bg-opacity))}.focus\:bg-green-200:focus{--bg-opacity:1;background-color:#bcf0da;background-color:rgba(188,240,218,var(--bg-opacity))}.focus\:bg-green-300:focus{--bg-opacity:1;background-color:#84e1bc;background-color:rgba(132,225,188,var(--bg-opacity))}.focus\:bg-green-400:focus{--bg-opacity:1;background-color:#31c48d;background-color:rgba(49,196,141,var(--bg-opacity))}.focus\:bg-green-500:focus{--bg-opacity:1;background-color:#0e9f6e;background-color:rgba(14,159,110,var(--bg-opacity))}.focus\:bg-green-600:focus{--bg-opacity:1;background-color:#057a55;background-color:rgba(5,122,85,var(--bg-opacity))}.focus\:bg-green-700:focus{--bg-opacity:1;background-color:#046c4e;background-color:rgba(4,108,78,var(--bg-opacity))}.focus\:bg-green-800:focus{--bg-opacity:1;background-color:#03543f;background-color:rgba(3,84,63,var(--bg-opacity))}.focus\:bg-green-900:focus{--bg-opacity:1;background-color:#014737;background-color:rgba(1,71,55,var(--bg-opacity))}.focus\:bg-teal-50:focus{--bg-opacity:1;background-color:#edfafa;background-color:rgba(237,250,250,var(--bg-opacity))}.focus\:bg-teal-100:focus{--bg-opacity:1;background-color:#d5f5f6;background-color:rgba(213,245,246,var(--bg-opacity))}.focus\:bg-teal-200:focus{--bg-opacity:1;background-color:#afecef;background-color:rgba(175,236,239,var(--bg-opacity))}.focus\:bg-teal-300:focus{--bg-opacity:1;background-color:#7edce2;background-color:rgba(126,220,226,var(--bg-opacity))}.focus\:bg-teal-400:focus{--bg-opacity:1;background-color:#16bdca;background-color:rgba(22,189,202,var(--bg-opacity))}.focus\:bg-teal-500:focus{--bg-opacity:1;background-color:#0694a2;background-color:rgba(6,148,162,var(--bg-opacity))}.focus\:bg-teal-600:focus{--bg-opacity:1;background-color:#047481;background-color:rgba(4,116,129,var(--bg-opacity))}.focus\:bg-teal-700:focus{--bg-opacity:1;background-color:#036672;background-color:rgba(3,102,114,var(--bg-opacity))}.focus\:bg-teal-800:focus{--bg-opacity:1;background-color:#05505c;background-color:rgba(5,80,92,var(--bg-opacity))}.focus\:bg-teal-900:focus{--bg-opacity:1;background-color:#014451;background-color:rgba(1,68,81,var(--bg-opacity))}.focus\:bg-blue-50:focus{--bg-opacity:1;background-color:#ebf5ff;background-color:rgba(235,245,255,var(--bg-opacity))}.focus\:bg-blue-100:focus{--bg-opacity:1;background-color:#e1effe;background-color:rgba(225,239,254,var(--bg-opacity))}.focus\:bg-blue-200:focus{--bg-opacity:1;background-color:#c3ddfd;background-color:rgba(195,221,253,var(--bg-opacity))}.focus\:bg-blue-300:focus{--bg-opacity:1;background-color:#a4cafe;background-color:rgba(164,202,254,var(--bg-opacity))}.focus\:bg-blue-400:focus{--bg-opacity:1;background-color:#76a9fa;background-color:rgba(118,169,250,var(--bg-opacity))}.focus\:bg-blue-500:focus{--bg-opacity:1;background-color:#3f83f8;background-color:rgba(63,131,248,var(--bg-opacity))}.focus\:bg-blue-600:focus{--bg-opacity:1;background-color:#1c64f2;background-color:rgba(28,100,242,var(--bg-opacity))}.focus\:bg-blue-700:focus{--bg-opacity:1;background-color:#1a56db;background-color:rgba(26,86,219,var(--bg-opacity))}.focus\:bg-blue-800:focus{--bg-opacity:1;background-color:#1e429f;background-color:rgba(30,66,159,var(--bg-opacity))}.focus\:bg-blue-900:focus{--bg-opacity:1;background-color:#233876;background-color:rgba(35,56,118,var(--bg-opacity))}.focus\:bg-indigo-50:focus{--bg-opacity:1;background-color:#f0f5ff;background-color:rgba(240,245,255,var(--bg-opacity))}.focus\:bg-indigo-100:focus{--bg-opacity:1;background-color:#e5edff;background-color:rgba(229,237,255,var(--bg-opacity))}.focus\:bg-indigo-200:focus{--bg-opacity:1;background-color:#cddbfe;background-color:rgba(205,219,254,var(--bg-opacity))}.focus\:bg-indigo-300:focus{--bg-opacity:1;background-color:#b4c6fc;background-color:rgba(180,198,252,var(--bg-opacity))}.focus\:bg-indigo-400:focus{--bg-opacity:1;background-color:#8da2fb;background-color:rgba(141,162,251,var(--bg-opacity))}.focus\:bg-indigo-500:focus{--bg-opacity:1;background-color:#6875f5;background-color:rgba(104,117,245,var(--bg-opacity))}.focus\:bg-indigo-600:focus{--bg-opacity:1;background-color:#5850ec;background-color:rgba(88,80,236,var(--bg-opacity))}.focus\:bg-indigo-700:focus{--bg-opacity:1;background-color:#5145cd;background-color:rgba(81,69,205,var(--bg-opacity))}.focus\:bg-indigo-800:focus{--bg-opacity:1;background-color:#42389d;background-color:rgba(66,56,157,var(--bg-opacity))}.focus\:bg-indigo-900:focus{--bg-opacity:1;background-color:#362f78;background-color:rgba(54,47,120,var(--bg-opacity))}.focus\:bg-purple-50:focus{--bg-opacity:1;background-color:#f6f5ff;background-color:rgba(246,245,255,var(--bg-opacity))}.focus\:bg-purple-100:focus{--bg-opacity:1;background-color:#edebfe;background-color:rgba(237,235,254,var(--bg-opacity))}.focus\:bg-purple-200:focus{--bg-opacity:1;background-color:#dcd7fe;background-color:rgba(220,215,254,var(--bg-opacity))}.focus\:bg-purple-300:focus{--bg-opacity:1;background-color:#cabffd;background-color:rgba(202,191,253,var(--bg-opacity))}.focus\:bg-purple-400:focus{--bg-opacity:1;background-color:#ac94fa;background-color:rgba(172,148,250,var(--bg-opacity))}.focus\:bg-purple-500:focus{--bg-opacity:1;background-color:#9061f9;background-color:rgba(144,97,249,var(--bg-opacity))}.focus\:bg-purple-600:focus{--bg-opacity:1;background-color:#7e3af2;background-color:rgba(126,58,242,var(--bg-opacity))}.focus\:bg-purple-700:focus{--bg-opacity:1;background-color:#6c2bd9;background-color:rgba(108,43,217,var(--bg-opacity))}.focus\:bg-purple-800:focus{--bg-opacity:1;background-color:#5521b5;background-color:rgba(85,33,181,var(--bg-opacity))}.focus\:bg-purple-900:focus{--bg-opacity:1;background-color:#4a1d96;background-color:rgba(74,29,150,var(--bg-opacity))}.focus\:bg-pink-50:focus{--bg-opacity:1;background-color:#fdf2f8;background-color:rgba(253,242,248,var(--bg-opacity))}.focus\:bg-pink-100:focus{--bg-opacity:1;background-color:#fce8f3;background-color:rgba(252,232,243,var(--bg-opacity))}.focus\:bg-pink-200:focus{--bg-opacity:1;background-color:#fad1e8;background-color:rgba(250,209,232,var(--bg-opacity))}.focus\:bg-pink-300:focus{--bg-opacity:1;background-color:#f8b4d9;background-color:rgba(248,180,217,var(--bg-opacity))}.focus\:bg-pink-400:focus{--bg-opacity:1;background-color:#f17eb8;background-color:rgba(241,126,184,var(--bg-opacity))}.focus\:bg-pink-500:focus{--bg-opacity:1;background-color:#e74694;background-color:rgba(231,70,148,var(--bg-opacity))}.focus\:bg-pink-600:focus{--bg-opacity:1;background-color:#d61f69;background-color:rgba(214,31,105,var(--bg-opacity))}.focus\:bg-pink-700:focus{--bg-opacity:1;background-color:#bf125d;background-color:rgba(191,18,93,var(--bg-opacity))}.focus\:bg-pink-800:focus{--bg-opacity:1;background-color:#99154b;background-color:rgba(153,21,75,var(--bg-opacity))}.focus\:bg-pink-900:focus{--bg-opacity:1;background-color:#751a3d;background-color:rgba(117,26,61,var(--bg-opacity))}.active\:bg-transparent:active{background-color:transparent}.active\:bg-white:active{--bg-opacity:1;background-color:#fff;background-color:rgba(255,255,255,var(--bg-opacity))}.active\:bg-black:active{--bg-opacity:1;background-color:#000;background-color:rgba(0,0,0,var(--bg-opacity))}.active\:bg-gray-50:active{--bg-opacity:1;background-color:#f9fafb;background-color:rgba(249,250,251,var(--bg-opacity))}.active\:bg-gray-100:active{--bg-opacity:1;background-color:#f4f5f7;background-color:rgba(244,245,247,var(--bg-opacity))}.active\:bg-gray-200:active{--bg-opacity:1;background-color:#e5e7eb;background-color:rgba(229,231,235,var(--bg-opacity))}.active\:bg-gray-300:active{--bg-opacity:1;background-color:#d2d6dc;background-color:rgba(210,214,220,var(--bg-opacity))}.active\:bg-gray-400:active{--bg-opacity:1;background-color:#9fa6b2;background-color:rgba(159,166,178,var(--bg-opacity))}.active\:bg-gray-500:active{--bg-opacity:1;background-color:#6b7280;background-color:rgba(107,114,128,var(--bg-opacity))}.active\:bg-gray-600:active{--bg-opacity:1;background-color:#4b5563;background-color:rgba(75,85,99,var(--bg-opacity))}.active\:bg-gray-700:active{--bg-opacity:1;background-color:#374151;background-color:rgba(55,65,81,var(--bg-opacity))}.active\:bg-gray-800:active{--bg-opacity:1;background-color:#252f3f;background-color:rgba(37,47,63,var(--bg-opacity))}.active\:bg-gray-900:active{--bg-opacity:1;background-color:#161e2e;background-color:rgba(22,30,46,var(--bg-opacity))}.active\:bg-cool-gray-50:active{--bg-opacity:1;background-color:#f8fafc;background-color:rgba(248,250,252,var(--bg-opacity))}.active\:bg-cool-gray-100:active{--bg-opacity:1;background-color:#f1f5f9;background-color:rgba(241,245,249,var(--bg-opacity))}.active\:bg-cool-gray-200:active{--bg-opacity:1;background-color:#e2e8f0;background-color:rgba(226,232,240,var(--bg-opacity))}.active\:bg-cool-gray-300:active{--bg-opacity:1;background-color:#cfd8e3;background-color:rgba(207,216,227,var(--bg-opacity))}.active\:bg-cool-gray-400:active{--bg-opacity:1;background-color:#97a6ba;background-color:rgba(151,166,186,var(--bg-opacity))}.active\:bg-cool-gray-500:active{--bg-opacity:1;background-color:#64748b;background-color:rgba(100,116,139,var(--bg-opacity))}.active\:bg-cool-gray-600:active{--bg-opacity:1;background-color:#475569;background-color:rgba(71,85,105,var(--bg-opacity))}.active\:bg-cool-gray-700:active{--bg-opacity:1;background-color:#364152;background-color:rgba(54,65,82,var(--bg-opacity))}.active\:bg-cool-gray-800:active{--bg-opacity:1;background-color:#27303f;background-color:rgba(39,48,63,var(--bg-opacity))}.active\:bg-cool-gray-900:active{--bg-opacity:1;background-color:#1a202e;background-color:rgba(26,32,46,var(--bg-opacity))}.active\:bg-red-50:active{--bg-opacity:1;background-color:#fdf2f2;background-color:rgba(253,242,242,var(--bg-opacity))}.active\:bg-red-100:active{--bg-opacity:1;background-color:#fde8e8;background-color:rgba(253,232,232,var(--bg-opacity))}.active\:bg-red-200:active{--bg-opacity:1;background-color:#fbd5d5;background-color:rgba(251,213,213,var(--bg-opacity))}.active\:bg-red-300:active{--bg-opacity:1;background-color:#f8b4b4;background-color:rgba(248,180,180,var(--bg-opacity))}.active\:bg-red-400:active{--bg-opacity:1;background-color:#f98080;background-color:rgba(249,128,128,var(--bg-opacity))}.active\:bg-red-500:active{--bg-opacity:1;background-color:#f05252;background-color:rgba(240,82,82,var(--bg-opacity))}.active\:bg-red-600:active{--bg-opacity:1;background-color:#e02424;background-color:rgba(224,36,36,var(--bg-opacity))}.active\:bg-red-700:active{--bg-opacity:1;background-color:#c81e1e;background-color:rgba(200,30,30,var(--bg-opacity))}.active\:bg-red-800:active{--bg-opacity:1;background-color:#9b1c1c;background-color:rgba(155,28,28,var(--bg-opacity))}.active\:bg-red-900:active{--bg-opacity:1;background-color:#771d1d;background-color:rgba(119,29,29,var(--bg-opacity))}.active\:bg-orange-50:active{--bg-opacity:1;background-color:#fff8f1;background-color:rgba(255,248,241,var(--bg-opacity))}.active\:bg-orange-100:active{--bg-opacity:1;background-color:#feecdc;background-color:rgba(254,236,220,var(--bg-opacity))}.active\:bg-orange-200:active{--bg-opacity:1;background-color:#fcd9bd;background-color:rgba(252,217,189,var(--bg-opacity))}.active\:bg-orange-300:active{--bg-opacity:1;background-color:#fdba8c;background-color:rgba(253,186,140,var(--bg-opacity))}.active\:bg-orange-400:active{--bg-opacity:1;background-color:#ff8a4c;background-color:rgba(255,138,76,var(--bg-opacity))}.active\:bg-orange-500:active{--bg-opacity:1;background-color:#ff5a1f;background-color:rgba(255,90,31,var(--bg-opacity))}.active\:bg-orange-600:active{--bg-opacity:1;background-color:#d03801;background-color:rgba(208,56,1,var(--bg-opacity))}.active\:bg-orange-700:active{--bg-opacity:1;background-color:#b43403;background-color:rgba(180,52,3,var(--bg-opacity))}.active\:bg-orange-800:active{--bg-opacity:1;background-color:#8a2c0d;background-color:rgba(138,44,13,var(--bg-opacity))}.active\:bg-orange-900:active{--bg-opacity:1;background-color:#73230d;background-color:rgba(115,35,13,var(--bg-opacity))}.active\:bg-yellow-50:active{--bg-opacity:1;background-color:#fdfdea;background-color:rgba(253,253,234,var(--bg-opacity))}.active\:bg-yellow-100:active{--bg-opacity:1;background-color:#fdf6b2;background-color:rgba(253,246,178,var(--bg-opacity))}.active\:bg-yellow-200:active{--bg-opacity:1;background-color:#fce96a;background-color:rgba(252,233,106,var(--bg-opacity))}.active\:bg-yellow-300:active{--bg-opacity:1;background-color:#faca15;background-color:rgba(250,202,21,var(--bg-opacity))}.active\:bg-yellow-400:active{--bg-opacity:1;background-color:#e3a008;background-color:rgba(227,160,8,var(--bg-opacity))}.active\:bg-yellow-500:active{--bg-opacity:1;background-color:#c27803;background-color:rgba(194,120,3,var(--bg-opacity))}.active\:bg-yellow-600:active{--bg-opacity:1;background-color:#9f580a;background-color:rgba(159,88,10,var(--bg-opacity))}.active\:bg-yellow-700:active{--bg-opacity:1;background-color:#8e4b10;background-color:rgba(142,75,16,var(--bg-opacity))}.active\:bg-yellow-800:active{--bg-opacity:1;background-color:#723b13;background-color:rgba(114,59,19,var(--bg-opacity))}.active\:bg-yellow-900:active{--bg-opacity:1;background-color:#633112;background-color:rgba(99,49,18,var(--bg-opacity))}.active\:bg-green-50:active{--bg-opacity:1;background-color:#f3faf7;background-color:rgba(243,250,247,var(--bg-opacity))}.active\:bg-green-100:active{--bg-opacity:1;background-color:#def7ec;background-color:rgba(222,247,236,var(--bg-opacity))}.active\:bg-green-200:active{--bg-opacity:1;background-color:#bcf0da;background-color:rgba(188,240,218,var(--bg-opacity))}.active\:bg-green-300:active{--bg-opacity:1;background-color:#84e1bc;background-color:rgba(132,225,188,var(--bg-opacity))}.active\:bg-green-400:active{--bg-opacity:1;background-color:#31c48d;background-color:rgba(49,196,141,var(--bg-opacity))}.active\:bg-green-500:active{--bg-opacity:1;background-color:#0e9f6e;background-color:rgba(14,159,110,var(--bg-opacity))}.active\:bg-green-600:active{--bg-opacity:1;background-color:#057a55;background-color:rgba(5,122,85,var(--bg-opacity))}.active\:bg-green-700:active{--bg-opacity:1;background-color:#046c4e;background-color:rgba(4,108,78,var(--bg-opacity))}.active\:bg-green-800:active{--bg-opacity:1;background-color:#03543f;background-color:rgba(3,84,63,var(--bg-opacity))}.active\:bg-green-900:active{--bg-opacity:1;background-color:#014737;background-color:rgba(1,71,55,var(--bg-opacity))}.active\:bg-teal-50:active{--bg-opacity:1;background-color:#edfafa;background-color:rgba(237,250,250,var(--bg-opacity))}.active\:bg-teal-100:active{--bg-opacity:1;background-color:#d5f5f6;background-color:rgba(213,245,246,var(--bg-opacity))}.active\:bg-teal-200:active{--bg-opacity:1;background-color:#afecef;background-color:rgba(175,236,239,var(--bg-opacity))}.active\:bg-teal-300:active{--bg-opacity:1;background-color:#7edce2;background-color:rgba(126,220,226,var(--bg-opacity))}.active\:bg-teal-400:active{--bg-opacity:1;background-color:#16bdca;background-color:rgba(22,189,202,var(--bg-opacity))}.active\:bg-teal-500:active{--bg-opacity:1;background-color:#0694a2;background-color:rgba(6,148,162,var(--bg-opacity))}.active\:bg-teal-600:active{--bg-opacity:1;background-color:#047481;background-color:rgba(4,116,129,var(--bg-opacity))}.active\:bg-teal-700:active{--bg-opacity:1;background-color:#036672;background-color:rgba(3,102,114,var(--bg-opacity))}.active\:bg-teal-800:active{--bg-opacity:1;background-color:#05505c;background-color:rgba(5,80,92,var(--bg-opacity))}.active\:bg-teal-900:active{--bg-opacity:1;background-color:#014451;background-color:rgba(1,68,81,var(--bg-opacity))}.active\:bg-blue-50:active{--bg-opacity:1;background-color:#ebf5ff;background-color:rgba(235,245,255,var(--bg-opacity))}.active\:bg-blue-100:active{--bg-opacity:1;background-color:#e1effe;background-color:rgba(225,239,254,var(--bg-opacity))}.active\:bg-blue-200:active{--bg-opacity:1;background-color:#c3ddfd;background-color:rgba(195,221,253,var(--bg-opacity))}.active\:bg-blue-300:active{--bg-opacity:1;background-color:#a4cafe;background-color:rgba(164,202,254,var(--bg-opacity))}.active\:bg-blue-400:active{--bg-opacity:1;background-color:#76a9fa;background-color:rgba(118,169,250,var(--bg-opacity))}.active\:bg-blue-500:active{--bg-opacity:1;background-color:#3f83f8;background-color:rgba(63,131,248,var(--bg-opacity))}.active\:bg-blue-600:active{--bg-opacity:1;background-color:#1c64f2;background-color:rgba(28,100,242,var(--bg-opacity))}.active\:bg-blue-700:active{--bg-opacity:1;background-color:#1a56db;background-color:rgba(26,86,219,var(--bg-opacity))}.active\:bg-blue-800:active{--bg-opacity:1;background-color:#1e429f;background-color:rgba(30,66,159,var(--bg-opacity))}.active\:bg-blue-900:active{--bg-opacity:1;background-color:#233876;background-color:rgba(35,56,118,var(--bg-opacity))}.active\:bg-indigo-50:active{--bg-opacity:1;background-color:#f0f5ff;background-color:rgba(240,245,255,var(--bg-opacity))}.active\:bg-indigo-100:active{--bg-opacity:1;background-color:#e5edff;background-color:rgba(229,237,255,var(--bg-opacity))}.active\:bg-indigo-200:active{--bg-opacity:1;background-color:#cddbfe;background-color:rgba(205,219,254,var(--bg-opacity))}.active\:bg-indigo-300:active{--bg-opacity:1;background-color:#b4c6fc;background-color:rgba(180,198,252,var(--bg-opacity))}.active\:bg-indigo-400:active{--bg-opacity:1;background-color:#8da2fb;background-color:rgba(141,162,251,var(--bg-opacity))}.active\:bg-indigo-500:active{--bg-opacity:1;background-color:#6875f5;background-color:rgba(104,117,245,var(--bg-opacity))}.active\:bg-indigo-600:active{--bg-opacity:1;background-color:#5850ec;background-color:rgba(88,80,236,var(--bg-opacity))}.active\:bg-indigo-700:active{--bg-opacity:1;background-color:#5145cd;background-color:rgba(81,69,205,var(--bg-opacity))}.active\:bg-indigo-800:active{--bg-opacity:1;background-color:#42389d;background-color:rgba(66,56,157,var(--bg-opacity))}.active\:bg-indigo-900:active{--bg-opacity:1;background-color:#362f78;background-color:rgba(54,47,120,var(--bg-opacity))}.active\:bg-purple-50:active{--bg-opacity:1;background-color:#f6f5ff;background-color:rgba(246,245,255,var(--bg-opacity))}.active\:bg-purple-100:active{--bg-opacity:1;background-color:#edebfe;background-color:rgba(237,235,254,var(--bg-opacity))}.active\:bg-purple-200:active{--bg-opacity:1;background-color:#dcd7fe;background-color:rgba(220,215,254,var(--bg-opacity))}.active\:bg-purple-300:active{--bg-opacity:1;background-color:#cabffd;background-color:rgba(202,191,253,var(--bg-opacity))}.active\:bg-purple-400:active{--bg-opacity:1;background-color:#ac94fa;background-color:rgba(172,148,250,var(--bg-opacity))}.active\:bg-purple-500:active{--bg-opacity:1;background-color:#9061f9;background-color:rgba(144,97,249,var(--bg-opacity))}.active\:bg-purple-600:active{--bg-opacity:1;background-color:#7e3af2;background-color:rgba(126,58,242,var(--bg-opacity))}.active\:bg-purple-700:active{--bg-opacity:1;background-color:#6c2bd9;background-color:rgba(108,43,217,var(--bg-opacity))}.active\:bg-purple-800:active{--bg-opacity:1;background-color:#5521b5;background-color:rgba(85,33,181,var(--bg-opacity))}.active\:bg-purple-900:active{--bg-opacity:1;background-color:#4a1d96;background-color:rgba(74,29,150,var(--bg-opacity))}.active\:bg-pink-50:active{--bg-opacity:1;background-color:#fdf2f8;background-color:rgba(253,242,248,var(--bg-opacity))}.active\:bg-pink-100:active{--bg-opacity:1;background-color:#fce8f3;background-color:rgba(252,232,243,var(--bg-opacity))}.active\:bg-pink-200:active{--bg-opacity:1;background-color:#fad1e8;background-color:rgba(250,209,232,var(--bg-opacity))}.active\:bg-pink-300:active{--bg-opacity:1;background-color:#f8b4d9;background-color:rgba(248,180,217,var(--bg-opacity))}.active\:bg-pink-400:active{--bg-opacity:1;background-color:#f17eb8;background-color:rgba(241,126,184,var(--bg-opacity))}.active\:bg-pink-500:active{--bg-opacity:1;background-color:#e74694;background-color:rgba(231,70,148,var(--bg-opacity))}.active\:bg-pink-600:active{--bg-opacity:1;background-color:#d61f69;background-color:rgba(214,31,105,var(--bg-opacity))}.active\:bg-pink-700:active{--bg-opacity:1;background-color:#bf125d;background-color:rgba(191,18,93,var(--bg-opacity))}.active\:bg-pink-800:active{--bg-opacity:1;background-color:#99154b;background-color:rgba(153,21,75,var(--bg-opacity))}.active\:bg-pink-900:active{--bg-opacity:1;background-color:#751a3d;background-color:rgba(117,26,61,var(--bg-opacity))}.bg-opacity-0{--bg-opacity:0}.bg-opacity-25{--bg-opacity:0.25}.bg-opacity-50{--bg-opacity:0.5}.bg-opacity-75{--bg-opacity:0.75}.bg-opacity-100{--bg-opacity:1}.hover\:bg-opacity-0:hover{--bg-opacity:0}.hover\:bg-opacity-25:hover{--bg-opacity:0.25}.hover\:bg-opacity-50:hover{--bg-opacity:0.5}.hover\:bg-opacity-75:hover{--bg-opacity:0.75}.hover\:bg-opacity-100:hover{--bg-opacity:1}.focus\:bg-opacity-0:focus{--bg-opacity:0}.focus\:bg-opacity-25:focus{--bg-opacity:0.25}.focus\:bg-opacity-50:focus{--bg-opacity:0.5}.focus\:bg-opacity-75:focus{--bg-opacity:0.75}.focus\:bg-opacity-100:focus{--bg-opacity:1}.bg-bottom{background-position:bottom}.bg-center{background-position:center}.bg-left{background-position:left}.bg-left-bottom{background-position:left bottom}.bg-left-top{background-position:left top}.bg-right{background-position:right}.bg-right-bottom{background-position:right bottom}.bg-right-top{background-position:right top}.bg-top{background-position:top}.bg-repeat{background-repeat:repeat}.bg-no-repeat{background-repeat:no-repeat}.bg-repeat-x{background-repeat:repeat-x}.bg-repeat-y{background-repeat:repeat-y}.bg-repeat-round{background-repeat:round}.bg-repeat-space{background-repeat:space}.bg-auto{background-size:auto}.bg-cover{background-size:cover}.bg-contain{background-size:contain}.border-collapse{border-collapse:collapse}.border-separate{border-collapse:separate}.border-transparent{border-color:transparent}.border-white{--border-opacity:1;border-color:#fff;border-color:rgba(255,255,255,var(--border-opacity))}.border-black{--border-opacity:1;border-color:#000;border-color:rgba(0,0,0,var(--border-opacity))}.border-gray-50{--border-opacity:1;border-color:#f9fafb;border-color:rgba(249,250,251,var(--border-opacity))}.border-gray-100{--border-opacity:1;border-color:#f4f5f7;border-color:rgba(244,245,247,var(--border-opacity))}.border-gray-200{--border-opacity:1;border-color:#e5e7eb;border-color:rgba(229,231,235,var(--border-opacity))}.border-gray-300{--border-opacity:1;border-color:#d2d6dc;border-color:rgba(210,214,220,var(--border-opacity))}.border-gray-400{--border-opacity:1;border-color:#9fa6b2;border-color:rgba(159,166,178,var(--border-opacity))}.border-gray-500{--border-opacity:1;border-color:#6b7280;border-color:rgba(107,114,128,var(--border-opacity))}.border-gray-600{--border-opacity:1;border-color:#4b5563;border-color:rgba(75,85,99,var(--border-opacity))}.border-gray-700{--border-opacity:1;border-color:#374151;border-color:rgba(55,65,81,var(--border-opacity))}.border-gray-800{--border-opacity:1;border-color:#252f3f;border-color:rgba(37,47,63,var(--border-opacity))}.border-gray-900{--border-opacity:1;border-color:#161e2e;border-color:rgba(22,30,46,var(--border-opacity))}.border-cool-gray-50{--border-opacity:1;border-color:#f8fafc;border-color:rgba(248,250,252,var(--border-opacity))}.border-cool-gray-100{--border-opacity:1;border-color:#f1f5f9;border-color:rgba(241,245,249,var(--border-opacity))}.border-cool-gray-200{--border-opacity:1;border-color:#e2e8f0;border-color:rgba(226,232,240,var(--border-opacity))}.border-cool-gray-300{--border-opacity:1;border-color:#cfd8e3;border-color:rgba(207,216,227,var(--border-opacity))}.border-cool-gray-400{--border-opacity:1;border-color:#97a6ba;border-color:rgba(151,166,186,var(--border-opacity))}.border-cool-gray-500{--border-opacity:1;border-color:#64748b;border-color:rgba(100,116,139,var(--border-opacity))}.border-cool-gray-600{--border-opacity:1;border-color:#475569;border-color:rgba(71,85,105,var(--border-opacity))}.border-cool-gray-700{--border-opacity:1;border-color:#364152;border-color:rgba(54,65,82,var(--border-opacity))}.border-cool-gray-800{--border-opacity:1;border-color:#27303f;border-color:rgba(39,48,63,var(--border-opacity))}.border-cool-gray-900{--border-opacity:1;border-color:#1a202e;border-color:rgba(26,32,46,var(--border-opacity))}.border-red-50{--border-opacity:1;border-color:#fdf2f2;border-color:rgba(253,242,242,var(--border-opacity))}.border-red-100{--border-opacity:1;border-color:#fde8e8;border-color:rgba(253,232,232,var(--border-opacity))}.border-red-200{--border-opacity:1;border-color:#fbd5d5;border-color:rgba(251,213,213,var(--border-opacity))}.border-red-300{--border-opacity:1;border-color:#f8b4b4;border-color:rgba(248,180,180,var(--border-opacity))}.border-red-400{--border-opacity:1;border-color:#f98080;border-color:rgba(249,128,128,var(--border-opacity))}.border-red-500{--border-opacity:1;border-color:#f05252;border-color:rgba(240,82,82,var(--border-opacity))}.border-red-600{--border-opacity:1;border-color:#e02424;border-color:rgba(224,36,36,var(--border-opacity))}.border-red-700{--border-opacity:1;border-color:#c81e1e;border-color:rgba(200,30,30,var(--border-opacity))}.border-red-800{--border-opacity:1;border-color:#9b1c1c;border-color:rgba(155,28,28,var(--border-opacity))}.border-red-900{--border-opacity:1;border-color:#771d1d;border-color:rgba(119,29,29,var(--border-opacity))}.border-orange-50{--border-opacity:1;border-color:#fff8f1;border-color:rgba(255,248,241,var(--border-opacity))}.border-orange-100{--border-opacity:1;border-color:#feecdc;border-color:rgba(254,236,220,var(--border-opacity))}.border-orange-200{--border-opacity:1;border-color:#fcd9bd;border-color:rgba(252,217,189,var(--border-opacity))}.border-orange-300{--border-opacity:1;border-color:#fdba8c;border-color:rgba(253,186,140,var(--border-opacity))}.border-orange-400{--border-opacity:1;border-color:#ff8a4c;border-color:rgba(255,138,76,var(--border-opacity))}.border-orange-500{--border-opacity:1;border-color:#ff5a1f;border-color:rgba(255,90,31,var(--border-opacity))}.border-orange-600{--border-opacity:1;border-color:#d03801;border-color:rgba(208,56,1,var(--border-opacity))}.border-orange-700{--border-opacity:1;border-color:#b43403;border-color:rgba(180,52,3,var(--border-opacity))}.border-orange-800{--border-opacity:1;border-color:#8a2c0d;border-color:rgba(138,44,13,var(--border-opacity))}.border-orange-900{--border-opacity:1;border-color:#73230d;border-color:rgba(115,35,13,var(--border-opacity))}.border-yellow-50{--border-opacity:1;border-color:#fdfdea;border-color:rgba(253,253,234,var(--border-opacity))}.border-yellow-100{--border-opacity:1;border-color:#fdf6b2;border-color:rgba(253,246,178,var(--border-opacity))}.border-yellow-200{--border-opacity:1;border-color:#fce96a;border-color:rgba(252,233,106,var(--border-opacity))}.border-yellow-300{--border-opacity:1;border-color:#faca15;border-color:rgba(250,202,21,var(--border-opacity))}.border-yellow-400{--border-opacity:1;border-color:#e3a008;border-color:rgba(227,160,8,var(--border-opacity))}.border-yellow-500{--border-opacity:1;border-color:#c27803;border-color:rgba(194,120,3,var(--border-opacity))}.border-yellow-600{--border-opacity:1;border-color:#9f580a;border-color:rgba(159,88,10,var(--border-opacity))}.border-yellow-700{--border-opacity:1;border-color:#8e4b10;border-color:rgba(142,75,16,var(--border-opacity))}.border-yellow-800{--border-opacity:1;border-color:#723b13;border-color:rgba(114,59,19,var(--border-opacity))}.border-yellow-900{--border-opacity:1;border-color:#633112;border-color:rgba(99,49,18,var(--border-opacity))}.border-green-50{--border-opacity:1;border-color:#f3faf7;border-color:rgba(243,250,247,var(--border-opacity))}.border-green-100{--border-opacity:1;border-color:#def7ec;border-color:rgba(222,247,236,var(--border-opacity))}.border-green-200{--border-opacity:1;border-color:#bcf0da;border-color:rgba(188,240,218,var(--border-opacity))}.border-green-300{--border-opacity:1;border-color:#84e1bc;border-color:rgba(132,225,188,var(--border-opacity))}.border-green-400{--border-opacity:1;border-color:#31c48d;border-color:rgba(49,196,141,var(--border-opacity))}.border-green-500{--border-opacity:1;border-color:#0e9f6e;border-color:rgba(14,159,110,var(--border-opacity))}.border-green-600{--border-opacity:1;border-color:#057a55;border-color:rgba(5,122,85,var(--border-opacity))}.border-green-700{--border-opacity:1;border-color:#046c4e;border-color:rgba(4,108,78,var(--border-opacity))}.border-green-800{--border-opacity:1;border-color:#03543f;border-color:rgba(3,84,63,var(--border-opacity))}.border-green-900{--border-opacity:1;border-color:#014737;border-color:rgba(1,71,55,var(--border-opacity))}.border-teal-50{--border-opacity:1;border-color:#edfafa;border-color:rgba(237,250,250,var(--border-opacity))}.border-teal-100{--border-opacity:1;border-color:#d5f5f6;border-color:rgba(213,245,246,var(--border-opacity))}.border-teal-200{--border-opacity:1;border-color:#afecef;border-color:rgba(175,236,239,var(--border-opacity))}.border-teal-300{--border-opacity:1;border-color:#7edce2;border-color:rgba(126,220,226,var(--border-opacity))}.border-teal-400{--border-opacity:1;border-color:#16bdca;border-color:rgba(22,189,202,var(--border-opacity))}.border-teal-500{--border-opacity:1;border-color:#0694a2;border-color:rgba(6,148,162,var(--border-opacity))}.border-teal-600{--border-opacity:1;border-color:#047481;border-color:rgba(4,116,129,var(--border-opacity))}.border-teal-700{--border-opacity:1;border-color:#036672;border-color:rgba(3,102,114,var(--border-opacity))}.border-teal-800{--border-opacity:1;border-color:#05505c;border-color:rgba(5,80,92,var(--border-opacity))}.border-teal-900{--border-opacity:1;border-color:#014451;border-color:rgba(1,68,81,var(--border-opacity))}.border-blue-50{--border-opacity:1;border-color:#ebf5ff;border-color:rgba(235,245,255,var(--border-opacity))}.border-blue-100{--border-opacity:1;border-color:#e1effe;border-color:rgba(225,239,254,var(--border-opacity))}.border-blue-200{--border-opacity:1;border-color:#c3ddfd;border-color:rgba(195,221,253,var(--border-opacity))}.border-blue-300{--border-opacity:1;border-color:#a4cafe;border-color:rgba(164,202,254,var(--border-opacity))}.border-blue-400{--border-opacity:1;border-color:#76a9fa;border-color:rgba(118,169,250,var(--border-opacity))}.border-blue-500{--border-opacity:1;border-color:#3f83f8;border-color:rgba(63,131,248,var(--border-opacity))}.border-blue-600{--border-opacity:1;border-color:#1c64f2;border-color:rgba(28,100,242,var(--border-opacity))}.border-blue-700{--border-opacity:1;border-color:#1a56db;border-color:rgba(26,86,219,var(--border-opacity))}.border-blue-800{--border-opacity:1;border-color:#1e429f;border-color:rgba(30,66,159,var(--border-opacity))}.border-blue-900{--border-opacity:1;border-color:#233876;border-color:rgba(35,56,118,var(--border-opacity))}.border-indigo-50{--border-opacity:1;border-color:#f0f5ff;border-color:rgba(240,245,255,var(--border-opacity))}.border-indigo-100{--border-opacity:1;border-color:#e5edff;border-color:rgba(229,237,255,var(--border-opacity))}.border-indigo-200{--border-opacity:1;border-color:#cddbfe;border-color:rgba(205,219,254,var(--border-opacity))}.border-indigo-300{--border-opacity:1;border-color:#b4c6fc;border-color:rgba(180,198,252,var(--border-opacity))}.border-indigo-400{--border-opacity:1;border-color:#8da2fb;border-color:rgba(141,162,251,var(--border-opacity))}.border-indigo-500{--border-opacity:1;border-color:#6875f5;border-color:rgba(104,117,245,var(--border-opacity))}.border-indigo-600{--border-opacity:1;border-color:#5850ec;border-color:rgba(88,80,236,var(--border-opacity))}.border-indigo-700{--border-opacity:1;border-color:#5145cd;border-color:rgba(81,69,205,var(--border-opacity))}.border-indigo-800{--border-opacity:1;border-color:#42389d;border-color:rgba(66,56,157,var(--border-opacity))}.border-indigo-900{--border-opacity:1;border-color:#362f78;border-color:rgba(54,47,120,var(--border-opacity))}.border-purple-50{--border-opacity:1;border-color:#f6f5ff;border-color:rgba(246,245,255,var(--border-opacity))}.border-purple-100{--border-opacity:1;border-color:#edebfe;border-color:rgba(237,235,254,var(--border-opacity))}.border-purple-200{--border-opacity:1;border-color:#dcd7fe;border-color:rgba(220,215,254,var(--border-opacity))}.border-purple-300{--border-opacity:1;border-color:#cabffd;border-color:rgba(202,191,253,var(--border-opacity))}.border-purple-400{--border-opacity:1;border-color:#ac94fa;border-color:rgba(172,148,250,var(--border-opacity))}.border-purple-500{--border-opacity:1;border-color:#9061f9;border-color:rgba(144,97,249,var(--border-opacity))}.border-purple-600{--border-opacity:1;border-color:#7e3af2;border-color:rgba(126,58,242,var(--border-opacity))}.border-purple-700{--border-opacity:1;border-color:#6c2bd9;border-color:rgba(108,43,217,var(--border-opacity))}.border-purple-800{--border-opacity:1;border-color:#5521b5;border-color:rgba(85,33,181,var(--border-opacity))}.border-purple-900{--border-opacity:1;border-color:#4a1d96;border-color:rgba(74,29,150,var(--border-opacity))}.border-pink-50{--border-opacity:1;border-color:#fdf2f8;border-color:rgba(253,242,248,var(--border-opacity))}.border-pink-100{--border-opacity:1;border-color:#fce8f3;border-color:rgba(252,232,243,var(--border-opacity))}.border-pink-200{--border-opacity:1;border-color:#fad1e8;border-color:rgba(250,209,232,var(--border-opacity))}.border-pink-300{--border-opacity:1;border-color:#f8b4d9;border-color:rgba(248,180,217,var(--border-opacity))}.border-pink-400{--border-opacity:1;border-color:#f17eb8;border-color:rgba(241,126,184,var(--border-opacity))}.border-pink-500{--border-opacity:1;border-color:#e74694;border-color:rgba(231,70,148,var(--border-opacity))}.border-pink-600{--border-opacity:1;border-color:#d61f69;border-color:rgba(214,31,105,var(--border-opacity))}.border-pink-700{--border-opacity:1;border-color:#bf125d;border-color:rgba(191,18,93,var(--border-opacity))}.border-pink-800{--border-opacity:1;border-color:#99154b;border-color:rgba(153,21,75,var(--border-opacity))}.border-pink-900{--border-opacity:1;border-color:#751a3d;border-color:rgba(117,26,61,var(--border-opacity))}.group:hover .group-hover\:border-transparent{border-color:transparent}.group:hover .group-hover\:border-white{--border-opacity:1;border-color:#fff;border-color:rgba(255,255,255,var(--border-opacity))}.group:hover .group-hover\:border-black{--border-opacity:1;border-color:#000;border-color:rgba(0,0,0,var(--border-opacity))}.group:hover .group-hover\:border-gray-50{--border-opacity:1;border-color:#f9fafb;border-color:rgba(249,250,251,var(--border-opacity))}.group:hover .group-hover\:border-gray-100{--border-opacity:1;border-color:#f4f5f7;border-color:rgba(244,245,247,var(--border-opacity))}.group:hover .group-hover\:border-gray-200{--border-opacity:1;border-color:#e5e7eb;border-color:rgba(229,231,235,var(--border-opacity))}.group:hover .group-hover\:border-gray-300{--border-opacity:1;border-color:#d2d6dc;border-color:rgba(210,214,220,var(--border-opacity))}.group:hover .group-hover\:border-gray-400{--border-opacity:1;border-color:#9fa6b2;border-color:rgba(159,166,178,var(--border-opacity))}.group:hover .group-hover\:border-gray-500{--border-opacity:1;border-color:#6b7280;border-color:rgba(107,114,128,var(--border-opacity))}.group:hover .group-hover\:border-gray-600{--border-opacity:1;border-color:#4b5563;border-color:rgba(75,85,99,var(--border-opacity))}.group:hover .group-hover\:border-gray-700{--border-opacity:1;border-color:#374151;border-color:rgba(55,65,81,var(--border-opacity))}.group:hover .group-hover\:border-gray-800{--border-opacity:1;border-color:#252f3f;border-color:rgba(37,47,63,var(--border-opacity))}.group:hover .group-hover\:border-gray-900{--border-opacity:1;border-color:#161e2e;border-color:rgba(22,30,46,var(--border-opacity))}.group:hover .group-hover\:border-cool-gray-50{--border-opacity:1;border-color:#f8fafc;border-color:rgba(248,250,252,var(--border-opacity))}.group:hover .group-hover\:border-cool-gray-100{--border-opacity:1;border-color:#f1f5f9;border-color:rgba(241,245,249,var(--border-opacity))}.group:hover .group-hover\:border-cool-gray-200{--border-opacity:1;border-color:#e2e8f0;border-color:rgba(226,232,240,var(--border-opacity))}.group:hover .group-hover\:border-cool-gray-300{--border-opacity:1;border-color:#cfd8e3;border-color:rgba(207,216,227,var(--border-opacity))}.group:hover .group-hover\:border-cool-gray-400{--border-opacity:1;border-color:#97a6ba;border-color:rgba(151,166,186,var(--border-opacity))}.group:hover .group-hover\:border-cool-gray-500{--border-opacity:1;border-color:#64748b;border-color:rgba(100,116,139,var(--border-opacity))}.group:hover .group-hover\:border-cool-gray-600{--border-opacity:1;border-color:#475569;border-color:rgba(71,85,105,var(--border-opacity))}.group:hover .group-hover\:border-cool-gray-700{--border-opacity:1;border-color:#364152;border-color:rgba(54,65,82,var(--border-opacity))}.group:hover .group-hover\:border-cool-gray-800{--border-opacity:1;border-color:#27303f;border-color:rgba(39,48,63,var(--border-opacity))}.group:hover .group-hover\:border-cool-gray-900{--border-opacity:1;border-color:#1a202e;border-color:rgba(26,32,46,var(--border-opacity))}.group:hover .group-hover\:border-red-50{--border-opacity:1;border-color:#fdf2f2;border-color:rgba(253,242,242,var(--border-opacity))}.group:hover .group-hover\:border-red-100{--border-opacity:1;border-color:#fde8e8;border-color:rgba(253,232,232,var(--border-opacity))}.group:hover .group-hover\:border-red-200{--border-opacity:1;border-color:#fbd5d5;border-color:rgba(251,213,213,var(--border-opacity))}.group:hover .group-hover\:border-red-300{--border-opacity:1;border-color:#f8b4b4;border-color:rgba(248,180,180,var(--border-opacity))}.group:hover .group-hover\:border-red-400{--border-opacity:1;border-color:#f98080;border-color:rgba(249,128,128,var(--border-opacity))}.group:hover .group-hover\:border-red-500{--border-opacity:1;border-color:#f05252;border-color:rgba(240,82,82,var(--border-opacity))}.group:hover .group-hover\:border-red-600{--border-opacity:1;border-color:#e02424;border-color:rgba(224,36,36,var(--border-opacity))}.group:hover .group-hover\:border-red-700{--border-opacity:1;border-color:#c81e1e;border-color:rgba(200,30,30,var(--border-opacity))}.group:hover .group-hover\:border-red-800{--border-opacity:1;border-color:#9b1c1c;border-color:rgba(155,28,28,var(--border-opacity))}.group:hover .group-hover\:border-red-900{--border-opacity:1;border-color:#771d1d;border-color:rgba(119,29,29,var(--border-opacity))}.group:hover .group-hover\:border-orange-50{--border-opacity:1;border-color:#fff8f1;border-color:rgba(255,248,241,var(--border-opacity))}.group:hover .group-hover\:border-orange-100{--border-opacity:1;border-color:#feecdc;border-color:rgba(254,236,220,var(--border-opacity))}.group:hover .group-hover\:border-orange-200{--border-opacity:1;border-color:#fcd9bd;border-color:rgba(252,217,189,var(--border-opacity))}.group:hover .group-hover\:border-orange-300{--border-opacity:1;border-color:#fdba8c;border-color:rgba(253,186,140,var(--border-opacity))}.group:hover .group-hover\:border-orange-400{--border-opacity:1;border-color:#ff8a4c;border-color:rgba(255,138,76,var(--border-opacity))}.group:hover .group-hover\:border-orange-500{--border-opacity:1;border-color:#ff5a1f;border-color:rgba(255,90,31,var(--border-opacity))}.group:hover .group-hover\:border-orange-600{--border-opacity:1;border-color:#d03801;border-color:rgba(208,56,1,var(--border-opacity))}.group:hover .group-hover\:border-orange-700{--border-opacity:1;border-color:#b43403;border-color:rgba(180,52,3,var(--border-opacity))}.group:hover .group-hover\:border-orange-800{--border-opacity:1;border-color:#8a2c0d;border-color:rgba(138,44,13,var(--border-opacity))}.group:hover .group-hover\:border-orange-900{--border-opacity:1;border-color:#73230d;border-color:rgba(115,35,13,var(--border-opacity))}.group:hover .group-hover\:border-yellow-50{--border-opacity:1;border-color:#fdfdea;border-color:rgba(253,253,234,var(--border-opacity))}.group:hover .group-hover\:border-yellow-100{--border-opacity:1;border-color:#fdf6b2;border-color:rgba(253,246,178,var(--border-opacity))}.group:hover .group-hover\:border-yellow-200{--border-opacity:1;border-color:#fce96a;border-color:rgba(252,233,106,var(--border-opacity))}.group:hover .group-hover\:border-yellow-300{--border-opacity:1;border-color:#faca15;border-color:rgba(250,202,21,var(--border-opacity))}.group:hover .group-hover\:border-yellow-400{--border-opacity:1;border-color:#e3a008;border-color:rgba(227,160,8,var(--border-opacity))}.group:hover .group-hover\:border-yellow-500{--border-opacity:1;border-color:#c27803;border-color:rgba(194,120,3,var(--border-opacity))}.group:hover .group-hover\:border-yellow-600{--border-opacity:1;border-color:#9f580a;border-color:rgba(159,88,10,var(--border-opacity))}.group:hover .group-hover\:border-yellow-700{--border-opacity:1;border-color:#8e4b10;border-color:rgba(142,75,16,var(--border-opacity))}.group:hover .group-hover\:border-yellow-800{--border-opacity:1;border-color:#723b13;border-color:rgba(114,59,19,var(--border-opacity))}.group:hover .group-hover\:border-yellow-900{--border-opacity:1;border-color:#633112;border-color:rgba(99,49,18,var(--border-opacity))}.group:hover .group-hover\:border-green-50{--border-opacity:1;border-color:#f3faf7;border-color:rgba(243,250,247,var(--border-opacity))}.group:hover .group-hover\:border-green-100{--border-opacity:1;border-color:#def7ec;border-color:rgba(222,247,236,var(--border-opacity))}.group:hover .group-hover\:border-green-200{--border-opacity:1;border-color:#bcf0da;border-color:rgba(188,240,218,var(--border-opacity))}.group:hover .group-hover\:border-green-300{--border-opacity:1;border-color:#84e1bc;border-color:rgba(132,225,188,var(--border-opacity))}.group:hover .group-hover\:border-green-400{--border-opacity:1;border-color:#31c48d;border-color:rgba(49,196,141,var(--border-opacity))}.group:hover .group-hover\:border-green-500{--border-opacity:1;border-color:#0e9f6e;border-color:rgba(14,159,110,var(--border-opacity))}.group:hover .group-hover\:border-green-600{--border-opacity:1;border-color:#057a55;border-color:rgba(5,122,85,var(--border-opacity))}.group:hover .group-hover\:border-green-700{--border-opacity:1;border-color:#046c4e;border-color:rgba(4,108,78,var(--border-opacity))}.group:hover .group-hover\:border-green-800{--border-opacity:1;border-color:#03543f;border-color:rgba(3,84,63,var(--border-opacity))}.group:hover .group-hover\:border-green-900{--border-opacity:1;border-color:#014737;border-color:rgba(1,71,55,var(--border-opacity))}.group:hover .group-hover\:border-teal-50{--border-opacity:1;border-color:#edfafa;border-color:rgba(237,250,250,var(--border-opacity))}.group:hover .group-hover\:border-teal-100{--border-opacity:1;border-color:#d5f5f6;border-color:rgba(213,245,246,var(--border-opacity))}.group:hover .group-hover\:border-teal-200{--border-opacity:1;border-color:#afecef;border-color:rgba(175,236,239,var(--border-opacity))}.group:hover .group-hover\:border-teal-300{--border-opacity:1;border-color:#7edce2;border-color:rgba(126,220,226,var(--border-opacity))}.group:hover .group-hover\:border-teal-400{--border-opacity:1;border-color:#16bdca;border-color:rgba(22,189,202,var(--border-opacity))}.group:hover .group-hover\:border-teal-500{--border-opacity:1;border-color:#0694a2;border-color:rgba(6,148,162,var(--border-opacity))}.group:hover .group-hover\:border-teal-600{--border-opacity:1;border-color:#047481;border-color:rgba(4,116,129,var(--border-opacity))}.group:hover .group-hover\:border-teal-700{--border-opacity:1;border-color:#036672;border-color:rgba(3,102,114,var(--border-opacity))}.group:hover .group-hover\:border-teal-800{--border-opacity:1;border-color:#05505c;border-color:rgba(5,80,92,var(--border-opacity))}.group:hover .group-hover\:border-teal-900{--border-opacity:1;border-color:#014451;border-color:rgba(1,68,81,var(--border-opacity))}.group:hover .group-hover\:border-blue-50{--border-opacity:1;border-color:#ebf5ff;border-color:rgba(235,245,255,var(--border-opacity))}.group:hover .group-hover\:border-blue-100{--border-opacity:1;border-color:#e1effe;border-color:rgba(225,239,254,var(--border-opacity))}.group:hover .group-hover\:border-blue-200{--border-opacity:1;border-color:#c3ddfd;border-color:rgba(195,221,253,var(--border-opacity))}.group:hover .group-hover\:border-blue-300{--border-opacity:1;border-color:#a4cafe;border-color:rgba(164,202,254,var(--border-opacity))}.group:hover .group-hover\:border-blue-400{--border-opacity:1;border-color:#76a9fa;border-color:rgba(118,169,250,var(--border-opacity))}.group:hover .group-hover\:border-blue-500{--border-opacity:1;border-color:#3f83f8;border-color:rgba(63,131,248,var(--border-opacity))}.group:hover .group-hover\:border-blue-600{--border-opacity:1;border-color:#1c64f2;border-color:rgba(28,100,242,var(--border-opacity))}.group:hover .group-hover\:border-blue-700{--border-opacity:1;border-color:#1a56db;border-color:rgba(26,86,219,var(--border-opacity))}.group:hover .group-hover\:border-blue-800{--border-opacity:1;border-color:#1e429f;border-color:rgba(30,66,159,var(--border-opacity))}.group:hover .group-hover\:border-blue-900{--border-opacity:1;border-color:#233876;border-color:rgba(35,56,118,var(--border-opacity))}.group:hover .group-hover\:border-indigo-50{--border-opacity:1;border-color:#f0f5ff;border-color:rgba(240,245,255,var(--border-opacity))}.group:hover .group-hover\:border-indigo-100{--border-opacity:1;border-color:#e5edff;border-color:rgba(229,237,255,var(--border-opacity))}.group:hover .group-hover\:border-indigo-200{--border-opacity:1;border-color:#cddbfe;border-color:rgba(205,219,254,var(--border-opacity))}.group:hover .group-hover\:border-indigo-300{--border-opacity:1;border-color:#b4c6fc;border-color:rgba(180,198,252,var(--border-opacity))}.group:hover .group-hover\:border-indigo-400{--border-opacity:1;border-color:#8da2fb;border-color:rgba(141,162,251,var(--border-opacity))}.group:hover .group-hover\:border-indigo-500{--border-opacity:1;border-color:#6875f5;border-color:rgba(104,117,245,var(--border-opacity))}.group:hover .group-hover\:border-indigo-600{--border-opacity:1;border-color:#5850ec;border-color:rgba(88,80,236,var(--border-opacity))}.group:hover .group-hover\:border-indigo-700{--border-opacity:1;border-color:#5145cd;border-color:rgba(81,69,205,var(--border-opacity))}.group:hover .group-hover\:border-indigo-800{--border-opacity:1;border-color:#42389d;border-color:rgba(66,56,157,var(--border-opacity))}.group:hover .group-hover\:border-indigo-900{--border-opacity:1;border-color:#362f78;border-color:rgba(54,47,120,var(--border-opacity))}.group:hover .group-hover\:border-purple-50{--border-opacity:1;border-color:#f6f5ff;border-color:rgba(246,245,255,var(--border-opacity))}.group:hover .group-hover\:border-purple-100{--border-opacity:1;border-color:#edebfe;border-color:rgba(237,235,254,var(--border-opacity))}.group:hover .group-hover\:border-purple-200{--border-opacity:1;border-color:#dcd7fe;border-color:rgba(220,215,254,var(--border-opacity))}.group:hover .group-hover\:border-purple-300{--border-opacity:1;border-color:#cabffd;border-color:rgba(202,191,253,var(--border-opacity))}.group:hover .group-hover\:border-purple-400{--border-opacity:1;border-color:#ac94fa;border-color:rgba(172,148,250,var(--border-opacity))}.group:hover .group-hover\:border-purple-500{--border-opacity:1;border-color:#9061f9;border-color:rgba(144,97,249,var(--border-opacity))}.group:hover .group-hover\:border-purple-600{--border-opacity:1;border-color:#7e3af2;border-color:rgba(126,58,242,var(--border-opacity))}.group:hover .group-hover\:border-purple-700{--border-opacity:1;border-color:#6c2bd9;border-color:rgba(108,43,217,var(--border-opacity))}.group:hover .group-hover\:border-purple-800{--border-opacity:1;border-color:#5521b5;border-color:rgba(85,33,181,var(--border-opacity))}.group:hover .group-hover\:border-purple-900{--border-opacity:1;border-color:#4a1d96;border-color:rgba(74,29,150,var(--border-opacity))}.group:hover .group-hover\:border-pink-50{--border-opacity:1;border-color:#fdf2f8;border-color:rgba(253,242,248,var(--border-opacity))}.group:hover .group-hover\:border-pink-100{--border-opacity:1;border-color:#fce8f3;border-color:rgba(252,232,243,var(--border-opacity))}.group:hover .group-hover\:border-pink-200{--border-opacity:1;border-color:#fad1e8;border-color:rgba(250,209,232,var(--border-opacity))}.group:hover .group-hover\:border-pink-300{--border-opacity:1;border-color:#f8b4d9;border-color:rgba(248,180,217,var(--border-opacity))}.group:hover .group-hover\:border-pink-400{--border-opacity:1;border-color:#f17eb8;border-color:rgba(241,126,184,var(--border-opacity))}.group:hover .group-hover\:border-pink-500{--border-opacity:1;border-color:#e74694;border-color:rgba(231,70,148,var(--border-opacity))}.group:hover .group-hover\:border-pink-600{--border-opacity:1;border-color:#d61f69;border-color:rgba(214,31,105,var(--border-opacity))}.group:hover .group-hover\:border-pink-700{--border-opacity:1;border-color:#bf125d;border-color:rgba(191,18,93,var(--border-opacity))}.group:hover .group-hover\:border-pink-800{--border-opacity:1;border-color:#99154b;border-color:rgba(153,21,75,var(--border-opacity))}.group:hover .group-hover\:border-pink-900{--border-opacity:1;border-color:#751a3d;border-color:rgba(117,26,61,var(--border-opacity))}.group:focus .group-focus\:border-transparent{border-color:transparent}.group:focus .group-focus\:border-white{--border-opacity:1;border-color:#fff;border-color:rgba(255,255,255,var(--border-opacity))}.group:focus .group-focus\:border-black{--border-opacity:1;border-color:#000;border-color:rgba(0,0,0,var(--border-opacity))}.group:focus .group-focus\:border-gray-50{--border-opacity:1;border-color:#f9fafb;border-color:rgba(249,250,251,var(--border-opacity))}.group:focus .group-focus\:border-gray-100{--border-opacity:1;border-color:#f4f5f7;border-color:rgba(244,245,247,var(--border-opacity))}.group:focus .group-focus\:border-gray-200{--border-opacity:1;border-color:#e5e7eb;border-color:rgba(229,231,235,var(--border-opacity))}.group:focus .group-focus\:border-gray-300{--border-opacity:1;border-color:#d2d6dc;border-color:rgba(210,214,220,var(--border-opacity))}.group:focus .group-focus\:border-gray-400{--border-opacity:1;border-color:#9fa6b2;border-color:rgba(159,166,178,var(--border-opacity))}.group:focus .group-focus\:border-gray-500{--border-opacity:1;border-color:#6b7280;border-color:rgba(107,114,128,var(--border-opacity))}.group:focus .group-focus\:border-gray-600{--border-opacity:1;border-color:#4b5563;border-color:rgba(75,85,99,var(--border-opacity))}.group:focus .group-focus\:border-gray-700{--border-opacity:1;border-color:#374151;border-color:rgba(55,65,81,var(--border-opacity))}.group:focus .group-focus\:border-gray-800{--border-opacity:1;border-color:#252f3f;border-color:rgba(37,47,63,var(--border-opacity))}.group:focus .group-focus\:border-gray-900{--border-opacity:1;border-color:#161e2e;border-color:rgba(22,30,46,var(--border-opacity))}.group:focus .group-focus\:border-cool-gray-50{--border-opacity:1;border-color:#f8fafc;border-color:rgba(248,250,252,var(--border-opacity))}.group:focus .group-focus\:border-cool-gray-100{--border-opacity:1;border-color:#f1f5f9;border-color:rgba(241,245,249,var(--border-opacity))}.group:focus .group-focus\:border-cool-gray-200{--border-opacity:1;border-color:#e2e8f0;border-color:rgba(226,232,240,var(--border-opacity))}.group:focus .group-focus\:border-cool-gray-300{--border-opacity:1;border-color:#cfd8e3;border-color:rgba(207,216,227,var(--border-opacity))}.group:focus .group-focus\:border-cool-gray-400{--border-opacity:1;border-color:#97a6ba;border-color:rgba(151,166,186,var(--border-opacity))}.group:focus .group-focus\:border-cool-gray-500{--border-opacity:1;border-color:#64748b;border-color:rgba(100,116,139,var(--border-opacity))}.group:focus .group-focus\:border-cool-gray-600{--border-opacity:1;border-color:#475569;border-color:rgba(71,85,105,var(--border-opacity))}.group:focus .group-focus\:border-cool-gray-700{--border-opacity:1;border-color:#364152;border-color:rgba(54,65,82,var(--border-opacity))}.group:focus .group-focus\:border-cool-gray-800{--border-opacity:1;border-color:#27303f;border-color:rgba(39,48,63,var(--border-opacity))}.group:focus .group-focus\:border-cool-gray-900{--border-opacity:1;border-color:#1a202e;border-color:rgba(26,32,46,var(--border-opacity))}.group:focus .group-focus\:border-red-50{--border-opacity:1;border-color:#fdf2f2;border-color:rgba(253,242,242,var(--border-opacity))}.group:focus .group-focus\:border-red-100{--border-opacity:1;border-color:#fde8e8;border-color:rgba(253,232,232,var(--border-opacity))}.group:focus .group-focus\:border-red-200{--border-opacity:1;border-color:#fbd5d5;border-color:rgba(251,213,213,var(--border-opacity))}.group:focus .group-focus\:border-red-300{--border-opacity:1;border-color:#f8b4b4;border-color:rgba(248,180,180,var(--border-opacity))}.group:focus .group-focus\:border-red-400{--border-opacity:1;border-color:#f98080;border-color:rgba(249,128,128,var(--border-opacity))}.group:focus .group-focus\:border-red-500{--border-opacity:1;border-color:#f05252;border-color:rgba(240,82,82,var(--border-opacity))}.group:focus .group-focus\:border-red-600{--border-opacity:1;border-color:#e02424;border-color:rgba(224,36,36,var(--border-opacity))}.group:focus .group-focus\:border-red-700{--border-opacity:1;border-color:#c81e1e;border-color:rgba(200,30,30,var(--border-opacity))}.group:focus .group-focus\:border-red-800{--border-opacity:1;border-color:#9b1c1c;border-color:rgba(155,28,28,var(--border-opacity))}.group:focus .group-focus\:border-red-900{--border-opacity:1;border-color:#771d1d;border-color:rgba(119,29,29,var(--border-opacity))}.group:focus .group-focus\:border-orange-50{--border-opacity:1;border-color:#fff8f1;border-color:rgba(255,248,241,var(--border-opacity))}.group:focus .group-focus\:border-orange-100{--border-opacity:1;border-color:#feecdc;border-color:rgba(254,236,220,var(--border-opacity))}.group:focus .group-focus\:border-orange-200{--border-opacity:1;border-color:#fcd9bd;border-color:rgba(252,217,189,var(--border-opacity))}.group:focus .group-focus\:border-orange-300{--border-opacity:1;border-color:#fdba8c;border-color:rgba(253,186,140,var(--border-opacity))}.group:focus .group-focus\:border-orange-400{--border-opacity:1;border-color:#ff8a4c;border-color:rgba(255,138,76,var(--border-opacity))}.group:focus .group-focus\:border-orange-500{--border-opacity:1;border-color:#ff5a1f;border-color:rgba(255,90,31,var(--border-opacity))}.group:focus .group-focus\:border-orange-600{--border-opacity:1;border-color:#d03801;border-color:rgba(208,56,1,var(--border-opacity))}.group:focus .group-focus\:border-orange-700{--border-opacity:1;border-color:#b43403;border-color:rgba(180,52,3,var(--border-opacity))}.group:focus .group-focus\:border-orange-800{--border-opacity:1;border-color:#8a2c0d;border-color:rgba(138,44,13,var(--border-opacity))}.group:focus .group-focus\:border-orange-900{--border-opacity:1;border-color:#73230d;border-color:rgba(115,35,13,var(--border-opacity))}.group:focus .group-focus\:border-yellow-50{--border-opacity:1;border-color:#fdfdea;border-color:rgba(253,253,234,var(--border-opacity))}.group:focus .group-focus\:border-yellow-100{--border-opacity:1;border-color:#fdf6b2;border-color:rgba(253,246,178,var(--border-opacity))}.group:focus .group-focus\:border-yellow-200{--border-opacity:1;border-color:#fce96a;border-color:rgba(252,233,106,var(--border-opacity))}.group:focus .group-focus\:border-yellow-300{--border-opacity:1;border-color:#faca15;border-color:rgba(250,202,21,var(--border-opacity))}.group:focus .group-focus\:border-yellow-400{--border-opacity:1;border-color:#e3a008;border-color:rgba(227,160,8,var(--border-opacity))}.group:focus .group-focus\:border-yellow-500{--border-opacity:1;border-color:#c27803;border-color:rgba(194,120,3,var(--border-opacity))}.group:focus .group-focus\:border-yellow-600{--border-opacity:1;border-color:#9f580a;border-color:rgba(159,88,10,var(--border-opacity))}.group:focus .group-focus\:border-yellow-700{--border-opacity:1;border-color:#8e4b10;border-color:rgba(142,75,16,var(--border-opacity))}.group:focus .group-focus\:border-yellow-800{--border-opacity:1;border-color:#723b13;border-color:rgba(114,59,19,var(--border-opacity))}.group:focus .group-focus\:border-yellow-900{--border-opacity:1;border-color:#633112;border-color:rgba(99,49,18,var(--border-opacity))}.group:focus .group-focus\:border-green-50{--border-opacity:1;border-color:#f3faf7;border-color:rgba(243,250,247,var(--border-opacity))}.group:focus .group-focus\:border-green-100{--border-opacity:1;border-color:#def7ec;border-color:rgba(222,247,236,var(--border-opacity))}.group:focus .group-focus\:border-green-200{--border-opacity:1;border-color:#bcf0da;border-color:rgba(188,240,218,var(--border-opacity))}.group:focus .group-focus\:border-green-300{--border-opacity:1;border-color:#84e1bc;border-color:rgba(132,225,188,var(--border-opacity))}.group:focus .group-focus\:border-green-400{--border-opacity:1;border-color:#31c48d;border-color:rgba(49,196,141,var(--border-opacity))}.group:focus .group-focus\:border-green-500{--border-opacity:1;border-color:#0e9f6e;border-color:rgba(14,159,110,var(--border-opacity))}.group:focus .group-focus\:border-green-600{--border-opacity:1;border-color:#057a55;border-color:rgba(5,122,85,var(--border-opacity))}.group:focus .group-focus\:border-green-700{--border-opacity:1;border-color:#046c4e;border-color:rgba(4,108,78,var(--border-opacity))}.group:focus .group-focus\:border-green-800{--border-opacity:1;border-color:#03543f;border-color:rgba(3,84,63,var(--border-opacity))}.group:focus .group-focus\:border-green-900{--border-opacity:1;border-color:#014737;border-color:rgba(1,71,55,var(--border-opacity))}.group:focus .group-focus\:border-teal-50{--border-opacity:1;border-color:#edfafa;border-color:rgba(237,250,250,var(--border-opacity))}.group:focus .group-focus\:border-teal-100{--border-opacity:1;border-color:#d5f5f6;border-color:rgba(213,245,246,var(--border-opacity))}.group:focus .group-focus\:border-teal-200{--border-opacity:1;border-color:#afecef;border-color:rgba(175,236,239,var(--border-opacity))}.group:focus .group-focus\:border-teal-300{--border-opacity:1;border-color:#7edce2;border-color:rgba(126,220,226,var(--border-opacity))}.group:focus .group-focus\:border-teal-400{--border-opacity:1;border-color:#16bdca;border-color:rgba(22,189,202,var(--border-opacity))}.group:focus .group-focus\:border-teal-500{--border-opacity:1;border-color:#0694a2;border-color:rgba(6,148,162,var(--border-opacity))}.group:focus .group-focus\:border-teal-600{--border-opacity:1;border-color:#047481;border-color:rgba(4,116,129,var(--border-opacity))}.group:focus .group-focus\:border-teal-700{--border-opacity:1;border-color:#036672;border-color:rgba(3,102,114,var(--border-opacity))}.group:focus .group-focus\:border-teal-800{--border-opacity:1;border-color:#05505c;border-color:rgba(5,80,92,var(--border-opacity))}.group:focus .group-focus\:border-teal-900{--border-opacity:1;border-color:#014451;border-color:rgba(1,68,81,var(--border-opacity))}.group:focus .group-focus\:border-blue-50{--border-opacity:1;border-color:#ebf5ff;border-color:rgba(235,245,255,var(--border-opacity))}.group:focus .group-focus\:border-blue-100{--border-opacity:1;border-color:#e1effe;border-color:rgba(225,239,254,var(--border-opacity))}.group:focus .group-focus\:border-blue-200{--border-opacity:1;border-color:#c3ddfd;border-color:rgba(195,221,253,var(--border-opacity))}.group:focus .group-focus\:border-blue-300{--border-opacity:1;border-color:#a4cafe;border-color:rgba(164,202,254,var(--border-opacity))}.group:focus .group-focus\:border-blue-400{--border-opacity:1;border-color:#76a9fa;border-color:rgba(118,169,250,var(--border-opacity))}.group:focus .group-focus\:border-blue-500{--border-opacity:1;border-color:#3f83f8;border-color:rgba(63,131,248,var(--border-opacity))}.group:focus .group-focus\:border-blue-600{--border-opacity:1;border-color:#1c64f2;border-color:rgba(28,100,242,var(--border-opacity))}.group:focus .group-focus\:border-blue-700{--border-opacity:1;border-color:#1a56db;border-color:rgba(26,86,219,var(--border-opacity))}.group:focus .group-focus\:border-blue-800{--border-opacity:1;border-color:#1e429f;border-color:rgba(30,66,159,var(--border-opacity))}.group:focus .group-focus\:border-blue-900{--border-opacity:1;border-color:#233876;border-color:rgba(35,56,118,var(--border-opacity))}.group:focus .group-focus\:border-indigo-50{--border-opacity:1;border-color:#f0f5ff;border-color:rgba(240,245,255,var(--border-opacity))}.group:focus .group-focus\:border-indigo-100{--border-opacity:1;border-color:#e5edff;border-color:rgba(229,237,255,var(--border-opacity))}.group:focus .group-focus\:border-indigo-200{--border-opacity:1;border-color:#cddbfe;border-color:rgba(205,219,254,var(--border-opacity))}.group:focus .group-focus\:border-indigo-300{--border-opacity:1;border-color:#b4c6fc;border-color:rgba(180,198,252,var(--border-opacity))}.group:focus .group-focus\:border-indigo-400{--border-opacity:1;border-color:#8da2fb;border-color:rgba(141,162,251,var(--border-opacity))}.group:focus .group-focus\:border-indigo-500{--border-opacity:1;border-color:#6875f5;border-color:rgba(104,117,245,var(--border-opacity))}.group:focus .group-focus\:border-indigo-600{--border-opacity:1;border-color:#5850ec;border-color:rgba(88,80,236,var(--border-opacity))}.group:focus .group-focus\:border-indigo-700{--border-opacity:1;border-color:#5145cd;border-color:rgba(81,69,205,var(--border-opacity))}.group:focus .group-focus\:border-indigo-800{--border-opacity:1;border-color:#42389d;border-color:rgba(66,56,157,var(--border-opacity))}.group:focus .group-focus\:border-indigo-900{--border-opacity:1;border-color:#362f78;border-color:rgba(54,47,120,var(--border-opacity))}.group:focus .group-focus\:border-purple-50{--border-opacity:1;border-color:#f6f5ff;border-color:rgba(246,245,255,var(--border-opacity))}.group:focus .group-focus\:border-purple-100{--border-opacity:1;border-color:#edebfe;border-color:rgba(237,235,254,var(--border-opacity))}.group:focus .group-focus\:border-purple-200{--border-opacity:1;border-color:#dcd7fe;border-color:rgba(220,215,254,var(--border-opacity))}.group:focus .group-focus\:border-purple-300{--border-opacity:1;border-color:#cabffd;border-color:rgba(202,191,253,var(--border-opacity))}.group:focus .group-focus\:border-purple-400{--border-opacity:1;border-color:#ac94fa;border-color:rgba(172,148,250,var(--border-opacity))}.group:focus .group-focus\:border-purple-500{--border-opacity:1;border-color:#9061f9;border-color:rgba(144,97,249,var(--border-opacity))}.group:focus .group-focus\:border-purple-600{--border-opacity:1;border-color:#7e3af2;border-color:rgba(126,58,242,var(--border-opacity))}.group:focus .group-focus\:border-purple-700{--border-opacity:1;border-color:#6c2bd9;border-color:rgba(108,43,217,var(--border-opacity))}.group:focus .group-focus\:border-purple-800{--border-opacity:1;border-color:#5521b5;border-color:rgba(85,33,181,var(--border-opacity))}.group:focus .group-focus\:border-purple-900{--border-opacity:1;border-color:#4a1d96;border-color:rgba(74,29,150,var(--border-opacity))}.group:focus .group-focus\:border-pink-50{--border-opacity:1;border-color:#fdf2f8;border-color:rgba(253,242,248,var(--border-opacity))}.group:focus .group-focus\:border-pink-100{--border-opacity:1;border-color:#fce8f3;border-color:rgba(252,232,243,var(--border-opacity))}.group:focus .group-focus\:border-pink-200{--border-opacity:1;border-color:#fad1e8;border-color:rgba(250,209,232,var(--border-opacity))}.group:focus .group-focus\:border-pink-300{--border-opacity:1;border-color:#f8b4d9;border-color:rgba(248,180,217,var(--border-opacity))}.group:focus .group-focus\:border-pink-400{--border-opacity:1;border-color:#f17eb8;border-color:rgba(241,126,184,var(--border-opacity))}.group:focus .group-focus\:border-pink-500{--border-opacity:1;border-color:#e74694;border-color:rgba(231,70,148,var(--border-opacity))}.group:focus .group-focus\:border-pink-600{--border-opacity:1;border-color:#d61f69;border-color:rgba(214,31,105,var(--border-opacity))}.group:focus .group-focus\:border-pink-700{--border-opacity:1;border-color:#bf125d;border-color:rgba(191,18,93,var(--border-opacity))}.group:focus .group-focus\:border-pink-800{--border-opacity:1;border-color:#99154b;border-color:rgba(153,21,75,var(--border-opacity))}.group:focus .group-focus\:border-pink-900{--border-opacity:1;border-color:#751a3d;border-color:rgba(117,26,61,var(--border-opacity))}.hover\:border-transparent:hover{border-color:transparent}.hover\:border-white:hover{--border-opacity:1;border-color:#fff;border-color:rgba(255,255,255,var(--border-opacity))}.hover\:border-black:hover{--border-opacity:1;border-color:#000;border-color:rgba(0,0,0,var(--border-opacity))}.hover\:border-gray-50:hover{--border-opacity:1;border-color:#f9fafb;border-color:rgba(249,250,251,var(--border-opacity))}.hover\:border-gray-100:hover{--border-opacity:1;border-color:#f4f5f7;border-color:rgba(244,245,247,var(--border-opacity))}.hover\:border-gray-200:hover{--border-opacity:1;border-color:#e5e7eb;border-color:rgba(229,231,235,var(--border-opacity))}.hover\:border-gray-300:hover{--border-opacity:1;border-color:#d2d6dc;border-color:rgba(210,214,220,var(--border-opacity))}.hover\:border-gray-400:hover{--border-opacity:1;border-color:#9fa6b2;border-color:rgba(159,166,178,var(--border-opacity))}.hover\:border-gray-500:hover{--border-opacity:1;border-color:#6b7280;border-color:rgba(107,114,128,var(--border-opacity))}.hover\:border-gray-600:hover{--border-opacity:1;border-color:#4b5563;border-color:rgba(75,85,99,var(--border-opacity))}.hover\:border-gray-700:hover{--border-opacity:1;border-color:#374151;border-color:rgba(55,65,81,var(--border-opacity))}.hover\:border-gray-800:hover{--border-opacity:1;border-color:#252f3f;border-color:rgba(37,47,63,var(--border-opacity))}.hover\:border-gray-900:hover{--border-opacity:1;border-color:#161e2e;border-color:rgba(22,30,46,var(--border-opacity))}.hover\:border-cool-gray-50:hover{--border-opacity:1;border-color:#f8fafc;border-color:rgba(248,250,252,var(--border-opacity))}.hover\:border-cool-gray-100:hover{--border-opacity:1;border-color:#f1f5f9;border-color:rgba(241,245,249,var(--border-opacity))}.hover\:border-cool-gray-200:hover{--border-opacity:1;border-color:#e2e8f0;border-color:rgba(226,232,240,var(--border-opacity))}.hover\:border-cool-gray-300:hover{--border-opacity:1;border-color:#cfd8e3;border-color:rgba(207,216,227,var(--border-opacity))}.hover\:border-cool-gray-400:hover{--border-opacity:1;border-color:#97a6ba;border-color:rgba(151,166,186,var(--border-opacity))}.hover\:border-cool-gray-500:hover{--border-opacity:1;border-color:#64748b;border-color:rgba(100,116,139,var(--border-opacity))}.hover\:border-cool-gray-600:hover{--border-opacity:1;border-color:#475569;border-color:rgba(71,85,105,var(--border-opacity))}.hover\:border-cool-gray-700:hover{--border-opacity:1;border-color:#364152;border-color:rgba(54,65,82,var(--border-opacity))}.hover\:border-cool-gray-800:hover{--border-opacity:1;border-color:#27303f;border-color:rgba(39,48,63,var(--border-opacity))}.hover\:border-cool-gray-900:hover{--border-opacity:1;border-color:#1a202e;border-color:rgba(26,32,46,var(--border-opacity))}.hover\:border-red-50:hover{--border-opacity:1;border-color:#fdf2f2;border-color:rgba(253,242,242,var(--border-opacity))}.hover\:border-red-100:hover{--border-opacity:1;border-color:#fde8e8;border-color:rgba(253,232,232,var(--border-opacity))}.hover\:border-red-200:hover{--border-opacity:1;border-color:#fbd5d5;border-color:rgba(251,213,213,var(--border-opacity))}.hover\:border-red-300:hover{--border-opacity:1;border-color:#f8b4b4;border-color:rgba(248,180,180,var(--border-opacity))}.hover\:border-red-400:hover{--border-opacity:1;border-color:#f98080;border-color:rgba(249,128,128,var(--border-opacity))}.hover\:border-red-500:hover{--border-opacity:1;border-color:#f05252;border-color:rgba(240,82,82,var(--border-opacity))}.hover\:border-red-600:hover{--border-opacity:1;border-color:#e02424;border-color:rgba(224,36,36,var(--border-opacity))}.hover\:border-red-700:hover{--border-opacity:1;border-color:#c81e1e;border-color:rgba(200,30,30,var(--border-opacity))}.hover\:border-red-800:hover{--border-opacity:1;border-color:#9b1c1c;border-color:rgba(155,28,28,var(--border-opacity))}.hover\:border-red-900:hover{--border-opacity:1;border-color:#771d1d;border-color:rgba(119,29,29,var(--border-opacity))}.hover\:border-orange-50:hover{--border-opacity:1;border-color:#fff8f1;border-color:rgba(255,248,241,var(--border-opacity))}.hover\:border-orange-100:hover{--border-opacity:1;border-color:#feecdc;border-color:rgba(254,236,220,var(--border-opacity))}.hover\:border-orange-200:hover{--border-opacity:1;border-color:#fcd9bd;border-color:rgba(252,217,189,var(--border-opacity))}.hover\:border-orange-300:hover{--border-opacity:1;border-color:#fdba8c;border-color:rgba(253,186,140,var(--border-opacity))}.hover\:border-orange-400:hover{--border-opacity:1;border-color:#ff8a4c;border-color:rgba(255,138,76,var(--border-opacity))}.hover\:border-orange-500:hover{--border-opacity:1;border-color:#ff5a1f;border-color:rgba(255,90,31,var(--border-opacity))}.hover\:border-orange-600:hover{--border-opacity:1;border-color:#d03801;border-color:rgba(208,56,1,var(--border-opacity))}.hover\:border-orange-700:hover{--border-opacity:1;border-color:#b43403;border-color:rgba(180,52,3,var(--border-opacity))}.hover\:border-orange-800:hover{--border-opacity:1;border-color:#8a2c0d;border-color:rgba(138,44,13,var(--border-opacity))}.hover\:border-orange-900:hover{--border-opacity:1;border-color:#73230d;border-color:rgba(115,35,13,var(--border-opacity))}.hover\:border-yellow-50:hover{--border-opacity:1;border-color:#fdfdea;border-color:rgba(253,253,234,var(--border-opacity))}.hover\:border-yellow-100:hover{--border-opacity:1;border-color:#fdf6b2;border-color:rgba(253,246,178,var(--border-opacity))}.hover\:border-yellow-200:hover{--border-opacity:1;border-color:#fce96a;border-color:rgba(252,233,106,var(--border-opacity))}.hover\:border-yellow-300:hover{--border-opacity:1;border-color:#faca15;border-color:rgba(250,202,21,var(--border-opacity))}.hover\:border-yellow-400:hover{--border-opacity:1;border-color:#e3a008;border-color:rgba(227,160,8,var(--border-opacity))}.hover\:border-yellow-500:hover{--border-opacity:1;border-color:#c27803;border-color:rgba(194,120,3,var(--border-opacity))}.hover\:border-yellow-600:hover{--border-opacity:1;border-color:#9f580a;border-color:rgba(159,88,10,var(--border-opacity))}.hover\:border-yellow-700:hover{--border-opacity:1;border-color:#8e4b10;border-color:rgba(142,75,16,var(--border-opacity))}.hover\:border-yellow-800:hover{--border-opacity:1;border-color:#723b13;border-color:rgba(114,59,19,var(--border-opacity))}.hover\:border-yellow-900:hover{--border-opacity:1;border-color:#633112;border-color:rgba(99,49,18,var(--border-opacity))}.hover\:border-green-50:hover{--border-opacity:1;border-color:#f3faf7;border-color:rgba(243,250,247,var(--border-opacity))}.hover\:border-green-100:hover{--border-opacity:1;border-color:#def7ec;border-color:rgba(222,247,236,var(--border-opacity))}.hover\:border-green-200:hover{--border-opacity:1;border-color:#bcf0da;border-color:rgba(188,240,218,var(--border-opacity))}.hover\:border-green-300:hover{--border-opacity:1;border-color:#84e1bc;border-color:rgba(132,225,188,var(--border-opacity))}.hover\:border-green-400:hover{--border-opacity:1;border-color:#31c48d;border-color:rgba(49,196,141,var(--border-opacity))}.hover\:border-green-500:hover{--border-opacity:1;border-color:#0e9f6e;border-color:rgba(14,159,110,var(--border-opacity))}.hover\:border-green-600:hover{--border-opacity:1;border-color:#057a55;border-color:rgba(5,122,85,var(--border-opacity))}.hover\:border-green-700:hover{--border-opacity:1;border-color:#046c4e;border-color:rgba(4,108,78,var(--border-opacity))}.hover\:border-green-800:hover{--border-opacity:1;border-color:#03543f;border-color:rgba(3,84,63,var(--border-opacity))}.hover\:border-green-900:hover{--border-opacity:1;border-color:#014737;border-color:rgba(1,71,55,var(--border-opacity))}.hover\:border-teal-50:hover{--border-opacity:1;border-color:#edfafa;border-color:rgba(237,250,250,var(--border-opacity))}.hover\:border-teal-100:hover{--border-opacity:1;border-color:#d5f5f6;border-color:rgba(213,245,246,var(--border-opacity))}.hover\:border-teal-200:hover{--border-opacity:1;border-color:#afecef;border-color:rgba(175,236,239,var(--border-opacity))}.hover\:border-teal-300:hover{--border-opacity:1;border-color:#7edce2;border-color:rgba(126,220,226,var(--border-opacity))}.hover\:border-teal-400:hover{--border-opacity:1;border-color:#16bdca;border-color:rgba(22,189,202,var(--border-opacity))}.hover\:border-teal-500:hover{--border-opacity:1;border-color:#0694a2;border-color:rgba(6,148,162,var(--border-opacity))}.hover\:border-teal-600:hover{--border-opacity:1;border-color:#047481;border-color:rgba(4,116,129,var(--border-opacity))}.hover\:border-teal-700:hover{--border-opacity:1;border-color:#036672;border-color:rgba(3,102,114,var(--border-opacity))}.hover\:border-teal-800:hover{--border-opacity:1;border-color:#05505c;border-color:rgba(5,80,92,var(--border-opacity))}.hover\:border-teal-900:hover{--border-opacity:1;border-color:#014451;border-color:rgba(1,68,81,var(--border-opacity))}.hover\:border-blue-50:hover{--border-opacity:1;border-color:#ebf5ff;border-color:rgba(235,245,255,var(--border-opacity))}.hover\:border-blue-100:hover{--border-opacity:1;border-color:#e1effe;border-color:rgba(225,239,254,var(--border-opacity))}.hover\:border-blue-200:hover{--border-opacity:1;border-color:#c3ddfd;border-color:rgba(195,221,253,var(--border-opacity))}.hover\:border-blue-300:hover{--border-opacity:1;border-color:#a4cafe;border-color:rgba(164,202,254,var(--border-opacity))}.hover\:border-blue-400:hover{--border-opacity:1;border-color:#76a9fa;border-color:rgba(118,169,250,var(--border-opacity))}.hover\:border-blue-500:hover{--border-opacity:1;border-color:#3f83f8;border-color:rgba(63,131,248,var(--border-opacity))}.hover\:border-blue-600:hover{--border-opacity:1;border-color:#1c64f2;border-color:rgba(28,100,242,var(--border-opacity))}.hover\:border-blue-700:hover{--border-opacity:1;border-color:#1a56db;border-color:rgba(26,86,219,var(--border-opacity))}.hover\:border-blue-800:hover{--border-opacity:1;border-color:#1e429f;border-color:rgba(30,66,159,var(--border-opacity))}.hover\:border-blue-900:hover{--border-opacity:1;border-color:#233876;border-color:rgba(35,56,118,var(--border-opacity))}.hover\:border-indigo-50:hover{--border-opacity:1;border-color:#f0f5ff;border-color:rgba(240,245,255,var(--border-opacity))}.hover\:border-indigo-100:hover{--border-opacity:1;border-color:#e5edff;border-color:rgba(229,237,255,var(--border-opacity))}.hover\:border-indigo-200:hover{--border-opacity:1;border-color:#cddbfe;border-color:rgba(205,219,254,var(--border-opacity))}.hover\:border-indigo-300:hover{--border-opacity:1;border-color:#b4c6fc;border-color:rgba(180,198,252,var(--border-opacity))}.hover\:border-indigo-400:hover{--border-opacity:1;border-color:#8da2fb;border-color:rgba(141,162,251,var(--border-opacity))}.hover\:border-indigo-500:hover{--border-opacity:1;border-color:#6875f5;border-color:rgba(104,117,245,var(--border-opacity))}.hover\:border-indigo-600:hover{--border-opacity:1;border-color:#5850ec;border-color:rgba(88,80,236,var(--border-opacity))}.hover\:border-indigo-700:hover{--border-opacity:1;border-color:#5145cd;border-color:rgba(81,69,205,var(--border-opacity))}.hover\:border-indigo-800:hover{--border-opacity:1;border-color:#42389d;border-color:rgba(66,56,157,var(--border-opacity))}.hover\:border-indigo-900:hover{--border-opacity:1;border-color:#362f78;border-color:rgba(54,47,120,var(--border-opacity))}.hover\:border-purple-50:hover{--border-opacity:1;border-color:#f6f5ff;border-color:rgba(246,245,255,var(--border-opacity))}.hover\:border-purple-100:hover{--border-opacity:1;border-color:#edebfe;border-color:rgba(237,235,254,var(--border-opacity))}.hover\:border-purple-200:hover{--border-opacity:1;border-color:#dcd7fe;border-color:rgba(220,215,254,var(--border-opacity))}.hover\:border-purple-300:hover{--border-opacity:1;border-color:#cabffd;border-color:rgba(202,191,253,var(--border-opacity))}.hover\:border-purple-400:hover{--border-opacity:1;border-color:#ac94fa;border-color:rgba(172,148,250,var(--border-opacity))}.hover\:border-purple-500:hover{--border-opacity:1;border-color:#9061f9;border-color:rgba(144,97,249,var(--border-opacity))}.hover\:border-purple-600:hover{--border-opacity:1;border-color:#7e3af2;border-color:rgba(126,58,242,var(--border-opacity))}.hover\:border-purple-700:hover{--border-opacity:1;border-color:#6c2bd9;border-color:rgba(108,43,217,var(--border-opacity))}.hover\:border-purple-800:hover{--border-opacity:1;border-color:#5521b5;border-color:rgba(85,33,181,var(--border-opacity))}.hover\:border-purple-900:hover{--border-opacity:1;border-color:#4a1d96;border-color:rgba(74,29,150,var(--border-opacity))}.hover\:border-pink-50:hover{--border-opacity:1;border-color:#fdf2f8;border-color:rgba(253,242,248,var(--border-opacity))}.hover\:border-pink-100:hover{--border-opacity:1;border-color:#fce8f3;border-color:rgba(252,232,243,var(--border-opacity))}.hover\:border-pink-200:hover{--border-opacity:1;border-color:#fad1e8;border-color:rgba(250,209,232,var(--border-opacity))}.hover\:border-pink-300:hover{--border-opacity:1;border-color:#f8b4d9;border-color:rgba(248,180,217,var(--border-opacity))}.hover\:border-pink-400:hover{--border-opacity:1;border-color:#f17eb8;border-color:rgba(241,126,184,var(--border-opacity))}.hover\:border-pink-500:hover{--border-opacity:1;border-color:#e74694;border-color:rgba(231,70,148,var(--border-opacity))}.hover\:border-pink-600:hover{--border-opacity:1;border-color:#d61f69;border-color:rgba(214,31,105,var(--border-opacity))}.hover\:border-pink-700:hover{--border-opacity:1;border-color:#bf125d;border-color:rgba(191,18,93,var(--border-opacity))}.hover\:border-pink-800:hover{--border-opacity:1;border-color:#99154b;border-color:rgba(153,21,75,var(--border-opacity))}.hover\:border-pink-900:hover{--border-opacity:1;border-color:#751a3d;border-color:rgba(117,26,61,var(--border-opacity))}.focus\:border-transparent:focus{border-color:transparent}.focus\:border-white:focus{--border-opacity:1;border-color:#fff;border-color:rgba(255,255,255,var(--border-opacity))}.focus\:border-black:focus{--border-opacity:1;border-color:#000;border-color:rgba(0,0,0,var(--border-opacity))}.focus\:border-gray-50:focus{--border-opacity:1;border-color:#f9fafb;border-color:rgba(249,250,251,var(--border-opacity))}.focus\:border-gray-100:focus{--border-opacity:1;border-color:#f4f5f7;border-color:rgba(244,245,247,var(--border-opacity))}.focus\:border-gray-200:focus{--border-opacity:1;border-color:#e5e7eb;border-color:rgba(229,231,235,var(--border-opacity))}.focus\:border-gray-300:focus{--border-opacity:1;border-color:#d2d6dc;border-color:rgba(210,214,220,var(--border-opacity))}.focus\:border-gray-400:focus{--border-opacity:1;border-color:#9fa6b2;border-color:rgba(159,166,178,var(--border-opacity))}.focus\:border-gray-500:focus{--border-opacity:1;border-color:#6b7280;border-color:rgba(107,114,128,var(--border-opacity))}.focus\:border-gray-600:focus{--border-opacity:1;border-color:#4b5563;border-color:rgba(75,85,99,var(--border-opacity))}.focus\:border-gray-700:focus{--border-opacity:1;border-color:#374151;border-color:rgba(55,65,81,var(--border-opacity))}.focus\:border-gray-800:focus{--border-opacity:1;border-color:#252f3f;border-color:rgba(37,47,63,var(--border-opacity))}.focus\:border-gray-900:focus{--border-opacity:1;border-color:#161e2e;border-color:rgba(22,30,46,var(--border-opacity))}.focus\:border-cool-gray-50:focus{--border-opacity:1;border-color:#f8fafc;border-color:rgba(248,250,252,var(--border-opacity))}.focus\:border-cool-gray-100:focus{--border-opacity:1;border-color:#f1f5f9;border-color:rgba(241,245,249,var(--border-opacity))}.focus\:border-cool-gray-200:focus{--border-opacity:1;border-color:#e2e8f0;border-color:rgba(226,232,240,var(--border-opacity))}.focus\:border-cool-gray-300:focus{--border-opacity:1;border-color:#cfd8e3;border-color:rgba(207,216,227,var(--border-opacity))}.focus\:border-cool-gray-400:focus{--border-opacity:1;border-color:#97a6ba;border-color:rgba(151,166,186,var(--border-opacity))}.focus\:border-cool-gray-500:focus{--border-opacity:1;border-color:#64748b;border-color:rgba(100,116,139,var(--border-opacity))}.focus\:border-cool-gray-600:focus{--border-opacity:1;border-color:#475569;border-color:rgba(71,85,105,var(--border-opacity))}.focus\:border-cool-gray-700:focus{--border-opacity:1;border-color:#364152;border-color:rgba(54,65,82,var(--border-opacity))}.focus\:border-cool-gray-800:focus{--border-opacity:1;border-color:#27303f;border-color:rgba(39,48,63,var(--border-opacity))}.focus\:border-cool-gray-900:focus{--border-opacity:1;border-color:#1a202e;border-color:rgba(26,32,46,var(--border-opacity))}.focus\:border-red-50:focus{--border-opacity:1;border-color:#fdf2f2;border-color:rgba(253,242,242,var(--border-opacity))}.focus\:border-red-100:focus{--border-opacity:1;border-color:#fde8e8;border-color:rgba(253,232,232,var(--border-opacity))}.focus\:border-red-200:focus{--border-opacity:1;border-color:#fbd5d5;border-color:rgba(251,213,213,var(--border-opacity))}.focus\:border-red-300:focus{--border-opacity:1;border-color:#f8b4b4;border-color:rgba(248,180,180,var(--border-opacity))}.focus\:border-red-400:focus{--border-opacity:1;border-color:#f98080;border-color:rgba(249,128,128,var(--border-opacity))}.focus\:border-red-500:focus{--border-opacity:1;border-color:#f05252;border-color:rgba(240,82,82,var(--border-opacity))}.focus\:border-red-600:focus{--border-opacity:1;border-color:#e02424;border-color:rgba(224,36,36,var(--border-opacity))}.focus\:border-red-700:focus{--border-opacity:1;border-color:#c81e1e;border-color:rgba(200,30,30,var(--border-opacity))}.focus\:border-red-800:focus{--border-opacity:1;border-color:#9b1c1c;border-color:rgba(155,28,28,var(--border-opacity))}.focus\:border-red-900:focus{--border-opacity:1;border-color:#771d1d;border-color:rgba(119,29,29,var(--border-opacity))}.focus\:border-orange-50:focus{--border-opacity:1;border-color:#fff8f1;border-color:rgba(255,248,241,var(--border-opacity))}.focus\:border-orange-100:focus{--border-opacity:1;border-color:#feecdc;border-color:rgba(254,236,220,var(--border-opacity))}.focus\:border-orange-200:focus{--border-opacity:1;border-color:#fcd9bd;border-color:rgba(252,217,189,var(--border-opacity))}.focus\:border-orange-300:focus{--border-opacity:1;border-color:#fdba8c;border-color:rgba(253,186,140,var(--border-opacity))}.focus\:border-orange-400:focus{--border-opacity:1;border-color:#ff8a4c;border-color:rgba(255,138,76,var(--border-opacity))}.focus\:border-orange-500:focus{--border-opacity:1;border-color:#ff5a1f;border-color:rgba(255,90,31,var(--border-opacity))}.focus\:border-orange-600:focus{--border-opacity:1;border-color:#d03801;border-color:rgba(208,56,1,var(--border-opacity))}.focus\:border-orange-700:focus{--border-opacity:1;border-color:#b43403;border-color:rgba(180,52,3,var(--border-opacity))}.focus\:border-orange-800:focus{--border-opacity:1;border-color:#8a2c0d;border-color:rgba(138,44,13,var(--border-opacity))}.focus\:border-orange-900:focus{--border-opacity:1;border-color:#73230d;border-color:rgba(115,35,13,var(--border-opacity))}.focus\:border-yellow-50:focus{--border-opacity:1;border-color:#fdfdea;border-color:rgba(253,253,234,var(--border-opacity))}.focus\:border-yellow-100:focus{--border-opacity:1;border-color:#fdf6b2;border-color:rgba(253,246,178,var(--border-opacity))}.focus\:border-yellow-200:focus{--border-opacity:1;border-color:#fce96a;border-color:rgba(252,233,106,var(--border-opacity))}.focus\:border-yellow-300:focus{--border-opacity:1;border-color:#faca15;border-color:rgba(250,202,21,var(--border-opacity))}.focus\:border-yellow-400:focus{--border-opacity:1;border-color:#e3a008;border-color:rgba(227,160,8,var(--border-opacity))}.focus\:border-yellow-500:focus{--border-opacity:1;border-color:#c27803;border-color:rgba(194,120,3,var(--border-opacity))}.focus\:border-yellow-600:focus{--border-opacity:1;border-color:#9f580a;border-color:rgba(159,88,10,var(--border-opacity))}.focus\:border-yellow-700:focus{--border-opacity:1;border-color:#8e4b10;border-color:rgba(142,75,16,var(--border-opacity))}.focus\:border-yellow-800:focus{--border-opacity:1;border-color:#723b13;border-color:rgba(114,59,19,var(--border-opacity))}.focus\:border-yellow-900:focus{--border-opacity:1;border-color:#633112;border-color:rgba(99,49,18,var(--border-opacity))}.focus\:border-green-50:focus{--border-opacity:1;border-color:#f3faf7;border-color:rgba(243,250,247,var(--border-opacity))}.focus\:border-green-100:focus{--border-opacity:1;border-color:#def7ec;border-color:rgba(222,247,236,var(--border-opacity))}.focus\:border-green-200:focus{--border-opacity:1;border-color:#bcf0da;border-color:rgba(188,240,218,var(--border-opacity))}.focus\:border-green-300:focus{--border-opacity:1;border-color:#84e1bc;border-color:rgba(132,225,188,var(--border-opacity))}.focus\:border-green-400:focus{--border-opacity:1;border-color:#31c48d;border-color:rgba(49,196,141,var(--border-opacity))}.focus\:border-green-500:focus{--border-opacity:1;border-color:#0e9f6e;border-color:rgba(14,159,110,var(--border-opacity))}.focus\:border-green-600:focus{--border-opacity:1;border-color:#057a55;border-color:rgba(5,122,85,var(--border-opacity))}.focus\:border-green-700:focus{--border-opacity:1;border-color:#046c4e;border-color:rgba(4,108,78,var(--border-opacity))}.focus\:border-green-800:focus{--border-opacity:1;border-color:#03543f;border-color:rgba(3,84,63,var(--border-opacity))}.focus\:border-green-900:focus{--border-opacity:1;border-color:#014737;border-color:rgba(1,71,55,var(--border-opacity))}.focus\:border-teal-50:focus{--border-opacity:1;border-color:#edfafa;border-color:rgba(237,250,250,var(--border-opacity))}.focus\:border-teal-100:focus{--border-opacity:1;border-color:#d5f5f6;border-color:rgba(213,245,246,var(--border-opacity))}.focus\:border-teal-200:focus{--border-opacity:1;border-color:#afecef;border-color:rgba(175,236,239,var(--border-opacity))}.focus\:border-teal-300:focus{--border-opacity:1;border-color:#7edce2;border-color:rgba(126,220,226,var(--border-opacity))}.focus\:border-teal-400:focus{--border-opacity:1;border-color:#16bdca;border-color:rgba(22,189,202,var(--border-opacity))}.focus\:border-teal-500:focus{--border-opacity:1;border-color:#0694a2;border-color:rgba(6,148,162,var(--border-opacity))}.focus\:border-teal-600:focus{--border-opacity:1;border-color:#047481;border-color:rgba(4,116,129,var(--border-opacity))}.focus\:border-teal-700:focus{--border-opacity:1;border-color:#036672;border-color:rgba(3,102,114,var(--border-opacity))}.focus\:border-teal-800:focus{--border-opacity:1;border-color:#05505c;border-color:rgba(5,80,92,var(--border-opacity))}.focus\:border-teal-900:focus{--border-opacity:1;border-color:#014451;border-color:rgba(1,68,81,var(--border-opacity))}.focus\:border-blue-50:focus{--border-opacity:1;border-color:#ebf5ff;border-color:rgba(235,245,255,var(--border-opacity))}.focus\:border-blue-100:focus{--border-opacity:1;border-color:#e1effe;border-color:rgba(225,239,254,var(--border-opacity))}.focus\:border-blue-200:focus{--border-opacity:1;border-color:#c3ddfd;border-color:rgba(195,221,253,var(--border-opacity))}.focus\:border-blue-300:focus{--border-opacity:1;border-color:#a4cafe;border-color:rgba(164,202,254,var(--border-opacity))}.focus\:border-blue-400:focus{--border-opacity:1;border-color:#76a9fa;border-color:rgba(118,169,250,var(--border-opacity))}.focus\:border-blue-500:focus{--border-opacity:1;border-color:#3f83f8;border-color:rgba(63,131,248,var(--border-opacity))}.focus\:border-blue-600:focus{--border-opacity:1;border-color:#1c64f2;border-color:rgba(28,100,242,var(--border-opacity))}.focus\:border-blue-700:focus{--border-opacity:1;border-color:#1a56db;border-color:rgba(26,86,219,var(--border-opacity))}.focus\:border-blue-800:focus{--border-opacity:1;border-color:#1e429f;border-color:rgba(30,66,159,var(--border-opacity))}.focus\:border-blue-900:focus{--border-opacity:1;border-color:#233876;border-color:rgba(35,56,118,var(--border-opacity))}.focus\:border-indigo-50:focus{--border-opacity:1;border-color:#f0f5ff;border-color:rgba(240,245,255,var(--border-opacity))}.focus\:border-indigo-100:focus{--border-opacity:1;border-color:#e5edff;border-color:rgba(229,237,255,var(--border-opacity))}.focus\:border-indigo-200:focus{--border-opacity:1;border-color:#cddbfe;border-color:rgba(205,219,254,var(--border-opacity))}.focus\:border-indigo-300:focus{--border-opacity:1;border-color:#b4c6fc;border-color:rgba(180,198,252,var(--border-opacity))}.focus\:border-indigo-400:focus{--border-opacity:1;border-color:#8da2fb;border-color:rgba(141,162,251,var(--border-opacity))}.focus\:border-indigo-500:focus{--border-opacity:1;border-color:#6875f5;border-color:rgba(104,117,245,var(--border-opacity))}.focus\:border-indigo-600:focus{--border-opacity:1;border-color:#5850ec;border-color:rgba(88,80,236,var(--border-opacity))}.focus\:border-indigo-700:focus{--border-opacity:1;border-color:#5145cd;border-color:rgba(81,69,205,var(--border-opacity))}.focus\:border-indigo-800:focus{--border-opacity:1;border-color:#42389d;border-color:rgba(66,56,157,var(--border-opacity))}.focus\:border-indigo-900:focus{--border-opacity:1;border-color:#362f78;border-color:rgba(54,47,120,var(--border-opacity))}.focus\:border-purple-50:focus{--border-opacity:1;border-color:#f6f5ff;border-color:rgba(246,245,255,var(--border-opacity))}.focus\:border-purple-100:focus{--border-opacity:1;border-color:#edebfe;border-color:rgba(237,235,254,var(--border-opacity))}.focus\:border-purple-200:focus{--border-opacity:1;border-color:#dcd7fe;border-color:rgba(220,215,254,var(--border-opacity))}.focus\:border-purple-300:focus{--border-opacity:1;border-color:#cabffd;border-color:rgba(202,191,253,var(--border-opacity))}.focus\:border-purple-400:focus{--border-opacity:1;border-color:#ac94fa;border-color:rgba(172,148,250,var(--border-opacity))}.focus\:border-purple-500:focus{--border-opacity:1;border-color:#9061f9;border-color:rgba(144,97,249,var(--border-opacity))}.focus\:border-purple-600:focus{--border-opacity:1;border-color:#7e3af2;border-color:rgba(126,58,242,var(--border-opacity))}.focus\:border-purple-700:focus{--border-opacity:1;border-color:#6c2bd9;border-color:rgba(108,43,217,var(--border-opacity))}.focus\:border-purple-800:focus{--border-opacity:1;border-color:#5521b5;border-color:rgba(85,33,181,var(--border-opacity))}.focus\:border-purple-900:focus{--border-opacity:1;border-color:#4a1d96;border-color:rgba(74,29,150,var(--border-opacity))}.focus\:border-pink-50:focus{--border-opacity:1;border-color:#fdf2f8;border-color:rgba(253,242,248,var(--border-opacity))}.focus\:border-pink-100:focus{--border-opacity:1;border-color:#fce8f3;border-color:rgba(252,232,243,var(--border-opacity))}.focus\:border-pink-200:focus{--border-opacity:1;border-color:#fad1e8;border-color:rgba(250,209,232,var(--border-opacity))}.focus\:border-pink-300:focus{--border-opacity:1;border-color:#f8b4d9;border-color:rgba(248,180,217,var(--border-opacity))}.focus\:border-pink-400:focus{--border-opacity:1;border-color:#f17eb8;border-color:rgba(241,126,184,var(--border-opacity))}.focus\:border-pink-500:focus{--border-opacity:1;border-color:#e74694;border-color:rgba(231,70,148,var(--border-opacity))}.focus\:border-pink-600:focus{--border-opacity:1;border-color:#d61f69;border-color:rgba(214,31,105,var(--border-opacity))}.focus\:border-pink-700:focus{--border-opacity:1;border-color:#bf125d;border-color:rgba(191,18,93,var(--border-opacity))}.focus\:border-pink-800:focus{--border-opacity:1;border-color:#99154b;border-color:rgba(153,21,75,var(--border-opacity))}.focus\:border-pink-900:focus{--border-opacity:1;border-color:#751a3d;border-color:rgba(117,26,61,var(--border-opacity))}.border-opacity-0{--border-opacity:0}.border-opacity-25{--border-opacity:0.25}.border-opacity-50{--border-opacity:0.5}.border-opacity-75{--border-opacity:0.75}.border-opacity-100{--border-opacity:1}.hover\:border-opacity-0:hover{--border-opacity:0}.hover\:border-opacity-25:hover{--border-opacity:0.25}.hover\:border-opacity-50:hover{--border-opacity:0.5}.hover\:border-opacity-75:hover{--border-opacity:0.75}.hover\:border-opacity-100:hover{--border-opacity:1}.focus\:border-opacity-0:focus{--border-opacity:0}.focus\:border-opacity-25:focus{--border-opacity:0.25}.focus\:border-opacity-50:focus{--border-opacity:0.5}.focus\:border-opacity-75:focus{--border-opacity:0.75}.focus\:border-opacity-100:focus{--border-opacity:1}.rounded-none{border-radius:0}.rounded-sm{border-radius:.125rem}.rounded{border-radius:.25rem}.rounded-md{border-radius:.375rem}.rounded-lg{border-radius:.5rem}.rounded-full{border-radius:9999px}.rounded-t-none{border-top-left-radius:0;border-top-right-radius:0}.rounded-r-none{border-top-right-radius:0;border-bottom-right-radius:0}.rounded-b-none{border-bottom-right-radius:0;border-bottom-left-radius:0}.rounded-l-none{border-top-left-radius:0;border-bottom-left-radius:0}.rounded-t-sm{border-top-left-radius:.125rem;border-top-right-radius:.125rem}.rounded-r-sm{border-top-right-radius:.125rem;border-bottom-right-radius:.125rem}.rounded-b-sm{border-bottom-right-radius:.125rem;border-bottom-left-radius:.125rem}.rounded-l-sm{border-top-left-radius:.125rem;border-bottom-left-radius:.125rem}.rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.rounded-r{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.rounded-b{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.rounded-l{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.rounded-t-md{border-top-left-radius:.375rem;border-top-right-radius:.375rem}.rounded-r-md{border-top-right-radius:.375rem;border-bottom-right-radius:.375rem}.rounded-b-md{border-bottom-right-radius:.375rem;border-bottom-left-radius:.375rem}.rounded-l-md{border-top-left-radius:.375rem;border-bottom-left-radius:.375rem}.rounded-t-lg{border-top-left-radius:.5rem;border-top-right-radius:.5rem}.rounded-r-lg{border-top-right-radius:.5rem;border-bottom-right-radius:.5rem}.rounded-b-lg{border-bottom-right-radius:.5rem;border-bottom-left-radius:.5rem}.rounded-l-lg{border-top-left-radius:.5rem;border-bottom-left-radius:.5rem}.rounded-t-full{border-top-left-radius:9999px;border-top-right-radius:9999px}.rounded-r-full{border-top-right-radius:9999px;border-bottom-right-radius:9999px}.rounded-b-full{border-bottom-right-radius:9999px;border-bottom-left-radius:9999px}.rounded-l-full{border-top-left-radius:9999px;border-bottom-left-radius:9999px}.rounded-tl-none{border-top-left-radius:0}.rounded-tr-none{border-top-right-radius:0}.rounded-br-none{border-bottom-right-radius:0}.rounded-bl-none{border-bottom-left-radius:0}.rounded-tl-sm{border-top-left-radius:.125rem}.rounded-tr-sm{border-top-right-radius:.125rem}.rounded-br-sm{border-bottom-right-radius:.125rem}.rounded-bl-sm{border-bottom-left-radius:.125rem}.rounded-tl{border-top-left-radius:.25rem}.rounded-tr{border-top-right-radius:.25rem}.rounded-br{border-bottom-right-radius:.25rem}.rounded-bl{border-bottom-left-radius:.25rem}.rounded-tl-md{border-top-left-radius:.375rem}.rounded-tr-md{border-top-right-radius:.375rem}.rounded-br-md{border-bottom-right-radius:.375rem}.rounded-bl-md{border-bottom-left-radius:.375rem}.rounded-tl-lg{border-top-left-radius:.5rem}.rounded-tr-lg{border-top-right-radius:.5rem}.rounded-br-lg{border-bottom-right-radius:.5rem}.rounded-bl-lg{border-bottom-left-radius:.5rem}.rounded-tl-full{border-top-left-radius:9999px}.rounded-tr-full{border-top-right-radius:9999px}.rounded-br-full{border-bottom-right-radius:9999px}.rounded-bl-full{border-bottom-left-radius:9999px}.border-solid{border-style:solid}.border-dashed{border-style:dashed}.border-dotted{border-style:dotted}.border-double{border-style:double}.border-none{border-style:none}.border-0{border-width:0}.border-2{border-width:2px}.border-4{border-width:4px}.border-8{border-width:8px}.border{border-width:1px}.border-t-0{border-top-width:0}.border-r-0{border-right-width:0}.border-b-0{border-bottom-width:0}.border-l-0{border-left-width:0}.border-t-2{border-top-width:2px}.border-r-2{border-right-width:2px}.border-b-2{border-bottom-width:2px}.border-l-2{border-left-width:2px}.border-t-4{border-top-width:4px}.border-r-4{border-right-width:4px}.border-b-4{border-bottom-width:4px}.border-l-4{border-left-width:4px}.border-t-8{border-top-width:8px}.border-r-8{border-right-width:8px}.border-b-8{border-bottom-width:8px}.border-l-8{border-left-width:8px}.border-t{border-top-width:1px}.border-r{border-right-width:1px}.border-b{border-bottom-width:1px}.border-l{border-left-width:1px}.box-border{box-sizing:border-box}.box-content{box-sizing:content-box}.cursor-auto{cursor:auto}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.cursor-wait{cursor:wait}.cursor-text{cursor:text}.cursor-move{cursor:move}.cursor-not-allowed{cursor:not-allowed}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.table-caption{display:table-caption}.table-cell{display:table-cell}.table-column{display:table-column}.table-column-group{display:table-column-group}.table-footer-group{display:table-footer-group}.table-header-group{display:table-header-group}.table-row-group{display:table-row-group}.table-row{display:table-row}.flow-root{display:flow-root}.grid{display:grid}.inline-grid{display:inline-grid}.hidden{display:none}.flex-row{flex-direction:row}.flex-row-reverse{flex-direction:row-reverse}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.flex-wrap-reverse{flex-wrap:wrap-reverse}.flex-no-wrap{flex-wrap:nowrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}.self-auto{align-self:auto}.self-start{align-self:flex-start}.self-end{align-self:flex-end}.self-center{align-self:center}.self-stretch{align-self:stretch}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.justify-evenly{justify-content:space-evenly}.content-center{align-content:center}.content-start{align-content:flex-start}.content-end{align-content:flex-end}.content-between{align-content:space-between}.content-around{align-content:space-around}.flex-1{flex:1 1 0%}.flex-auto{flex:1 1 auto}.flex-initial{flex:0 1 auto}.flex-none{flex:none}.flex-grow-0{flex-grow:0}.flex-grow{flex-grow:1}.flex-shrink-0{flex-shrink:0}.flex-shrink{flex-shrink:1}.order-1{order:1}.order-2{order:2}.order-3{order:3}.order-4{order:4}.order-5{order:5}.order-6{order:6}.order-7{order:7}.order-8{order:8}.order-9{order:9}.order-10{order:10}.order-11{order:11}.order-12{order:12}.order-first{order:-9999}.order-last{order:9999}.order-none{order:0}.float-right{float:right}.float-left{float:left}.float-none{float:none}.clearfix:after{content:"";display:table;clear:both}.clear-left{clear:left}.clear-right{clear:right}.clear-both{clear:both}.clear-none{clear:none}.font-sans{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"}.font-serif{font-family:Georgia,Cambria,"Times New Roman",Times,serif}.font-mono{font-family:Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}.font-hairline{font-weight:100}.font-thin{font-weight:200}.font-light{font-weight:300}.font-normal{font-weight:400}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.font-black{font-weight:900}.hover\:font-hairline:hover{font-weight:100}.hover\:font-thin:hover{font-weight:200}.hover\:font-light:hover{font-weight:300}.hover\:font-normal:hover{font-weight:400}.hover\:font-medium:hover{font-weight:500}.hover\:font-semibold:hover{font-weight:600}.hover\:font-bold:hover{font-weight:700}.hover\:font-extrabold:hover{font-weight:800}.hover\:font-black:hover{font-weight:900}.focus\:font-hairline:focus{font-weight:100}.focus\:font-thin:focus{font-weight:200}.focus\:font-light:focus{font-weight:300}.focus\:font-normal:focus{font-weight:400}.focus\:font-medium:focus{font-weight:500}.focus\:font-semibold:focus{font-weight:600}.focus\:font-bold:focus{font-weight:700}.focus\:font-extrabold:focus{font-weight:800}.focus\:font-black:focus{font-weight:900}.h-0{height:0}.h-1{height:.25rem}.h-2{height:.5rem}.h-3{height:.75rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-12{height:3rem}.h-13{height:3.25rem}.h-14{height:3.5rem}.h-15{height:3.75rem}.h-16{height:4rem}.h-20{height:5rem}.h-24{height:6rem}.h-28{height:7rem}.h-32{height:8rem}.h-36{height:9rem}.h-40{height:10rem}.h-44{height:11rem}.h-48{height:12rem}.h-52{height:13rem}.h-56{height:14rem}.h-60{height:15rem}.h-64{height:16rem}.h-72{height:18rem}.h-80{height:20rem}.h-96{height:24rem}.h-auto{height:auto}.h-px{height:1px}.h-0\.5{height:.125rem}.h-1\.5{height:.375rem}.h-2\.5{height:.625rem}.h-3\.5{height:.875rem}.h-1\/2{height:50%}.h-1\/3{height:33.333333%}.h-2\/3{height:66.666667%}.h-1\/4{height:25%}.h-2\/4{height:50%}.h-3\/4{height:75%}.h-1\/5{height:20%}.h-2\/5{height:40%}.h-3\/5{height:60%}.h-4\/5{height:80%}.h-1\/6{height:16.666667%}.h-2\/6{height:33.333333%}.h-3\/6{height:50%}.h-4\/6{height:66.666667%}.h-5\/6{height:83.333333%}.h-1\/12{height:8.333333%}.h-2\/12{height:16.666667%}.h-3\/12{height:25%}.h-4\/12{height:33.333333%}.h-5\/12{height:41.666667%}.h-6\/12{height:50%}.h-7\/12{height:58.333333%}.h-8\/12{height:66.666667%}.h-9\/12{height:75%}.h-10\/12{height:83.333333%}.h-11\/12{height:91.666667%}.h-full{height:100%}.h-screen{height:100vh}.text-xs{font-size:.75rem}.text-sm{font-size:.875rem}.text-base{font-size:1rem}.text-lg{font-size:1.125rem}.text-xl{font-size:1.25rem}.text-2xl{font-size:1.5rem}.text-3xl{font-size:1.875rem}.text-4xl{font-size:2.25rem}.text-5xl{font-size:3rem}.text-6xl{font-size:4rem}.leading-3{line-height:.75rem}.leading-4{line-height:1rem}.leading-5{line-height:1.25rem}.leading-6{line-height:1.5rem}.leading-7{line-height:1.75rem}.leading-8{line-height:2rem}.leading-9{line-height:2.25rem}.leading-10{line-height:2.5rem}.leading-none{line-height:1}.leading-tight{line-height:1.25}.leading-snug{line-height:1.375}.leading-normal{line-height:1.5}.leading-relaxed{line-height:1.625}.leading-loose{line-height:2}.list-inside{list-style-position:inside}.list-outside{list-style-position:outside}.list-none{list-style-type:none}.list-disc{list-style-type:disc}.list-decimal{list-style-type:decimal}.m-0{margin:0}.m-1{margin:.25rem}.m-2{margin:.5rem}.m-3{margin:.75rem}.m-4{margin:1rem}.m-5{margin:1.25rem}.m-6{margin:1.5rem}.m-7{margin:1.75rem}.m-8{margin:2rem}.m-9{margin:2.25rem}.m-10{margin:2.5rem}.m-11{margin:2.75rem}.m-12{margin:3rem}.m-13{margin:3.25rem}.m-14{margin:3.5rem}.m-15{margin:3.75rem}.m-16{margin:4rem}.m-20{margin:5rem}.m-24{margin:6rem}.m-28{margin:7rem}.m-32{margin:8rem}.m-36{margin:9rem}.m-40{margin:10rem}.m-44{margin:11rem}.m-48{margin:12rem}.m-52{margin:13rem}.m-56{margin:14rem}.m-60{margin:15rem}.m-64{margin:16rem}.m-72{margin:18rem}.m-80{margin:20rem}.m-96{margin:24rem}.m-auto{margin:auto}.m-px{margin:1px}.m-0\.5{margin:.125rem}.m-1\.5{margin:.375rem}.m-2\.5{margin:.625rem}.m-3\.5{margin:.875rem}.m-1\/2{margin:50%}.m-1\/3{margin:33.333333%}.m-2\/3{margin:66.666667%}.m-1\/4{margin:25%}.m-2\/4{margin:50%}.m-3\/4{margin:75%}.m-1\/5{margin:20%}.m-2\/5{margin:40%}.m-3\/5{margin:60%}.m-4\/5{margin:80%}.m-1\/6{margin:16.666667%}.m-2\/6{margin:33.333333%}.m-3\/6{margin:50%}.m-4\/6{margin:66.666667%}.m-5\/6{margin:83.333333%}.m-1\/12{margin:8.333333%}.m-2\/12{margin:16.666667%}.m-3\/12{margin:25%}.m-4\/12{margin:33.333333%}.m-5\/12{margin:41.666667%}.m-6\/12{margin:50%}.m-7\/12{margin:58.333333%}.m-8\/12{margin:66.666667%}.m-9\/12{margin:75%}.m-10\/12{margin:83.333333%}.m-11\/12{margin:91.666667%}.m-full{margin:100%}.-m-1{margin:-.25rem}.-m-2{margin:-.5rem}.-m-3{margin:-.75rem}.-m-4{margin:-1rem}.-m-5{margin:-1.25rem}.-m-6{margin:-1.5rem}.-m-7{margin:-1.75rem}.-m-8{margin:-2rem}.-m-9{margin:-2.25rem}.-m-10{margin:-2.5rem}.-m-11{margin:-2.75rem}.-m-12{margin:-3rem}.-m-13{margin:-3.25rem}.-m-14{margin:-3.5rem}.-m-15{margin:-3.75rem}.-m-16{margin:-4rem}.-m-20{margin:-5rem}.-m-24{margin:-6rem}.-m-28{margin:-7rem}.-m-32{margin:-8rem}.-m-36{margin:-9rem}.-m-40{margin:-10rem}.-m-44{margin:-11rem}.-m-48{margin:-12rem}.-m-52{margin:-13rem}.-m-56{margin:-14rem}.-m-60{margin:-15rem}.-m-64{margin:-16rem}.-m-72{margin:-18rem}.-m-80{margin:-20rem}.-m-96{margin:-24rem}.-m-px{margin:-1px}.-m-0\.5{margin:-.125rem}.-m-1\.5{margin:-.375rem}.-m-2\.5{margin:-.625rem}.-m-3\.5{margin:-.875rem}.-m-1\/2{margin:-50%}.-m-1\/3{margin:-33.33333%}.-m-2\/3{margin:-66.66667%}.-m-1\/4{margin:-25%}.-m-2\/4{margin:-50%}.-m-3\/4{margin:-75%}.-m-1\/5{margin:-20%}.-m-2\/5{margin:-40%}.-m-3\/5{margin:-60%}.-m-4\/5{margin:-80%}.-m-1\/6{margin:-16.66667%}.-m-2\/6{margin:-33.33333%}.-m-3\/6{margin:-50%}.-m-4\/6{margin:-66.66667%}.-m-5\/6{margin:-83.33333%}.-m-1\/12{margin:-8.33333%}.-m-2\/12{margin:-16.66667%}.-m-3\/12{margin:-25%}.-m-4\/12{margin:-33.33333%}.-m-5\/12{margin:-41.66667%}.-m-6\/12{margin:-50%}.-m-7\/12{margin:-58.33333%}.-m-8\/12{margin:-66.66667%}.-m-9\/12{margin:-75%}.-m-10\/12{margin:-83.33333%}.-m-11\/12{margin:-91.66667%}.-m-full{margin:-100%}.my-0{margin-top:0;margin-bottom:0}.mx-0{margin-left:0;margin-right:0}.my-1{margin-top:.25rem;margin-bottom:.25rem}.mx-1{margin-left:.25rem;margin-right:.25rem}.my-2{margin-top:.5rem;margin-bottom:.5rem}.mx-2{margin-left:.5rem;margin-right:.5rem}.my-3{margin-top:.75rem;margin-bottom:.75rem}.mx-3{margin-left:.75rem;margin-right:.75rem}.my-4{margin-top:1rem;margin-bottom:1rem}.mx-4{margin-left:1rem;margin-right:1rem}.my-5{margin-top:1.25rem;margin-bottom:1.25rem}.mx-5{margin-left:1.25rem;margin-right:1.25rem}.my-6{margin-top:1.5rem;margin-bottom:1.5rem}.mx-6{margin-left:1.5rem;margin-right:1.5rem}.my-7{margin-top:1.75rem;margin-bottom:1.75rem}.mx-7{margin-left:1.75rem;margin-right:1.75rem}.my-8{margin-top:2rem;margin-bottom:2rem}.mx-8{margin-left:2rem;margin-right:2rem}.my-9{margin-top:2.25rem;margin-bottom:2.25rem}.mx-9{margin-left:2.25rem;margin-right:2.25rem}.my-10{margin-top:2.5rem;margin-bottom:2.5rem}.mx-10{margin-left:2.5rem;margin-right:2.5rem}.my-11{margin-top:2.75rem;margin-bottom:2.75rem}.mx-11{margin-left:2.75rem;margin-right:2.75rem}.my-12{margin-top:3rem;margin-bottom:3rem}.mx-12{margin-left:3rem;margin-right:3rem}.my-13{margin-top:3.25rem;margin-bottom:3.25rem}.mx-13{margin-left:3.25rem;margin-right:3.25rem}.my-14{margin-top:3.5rem;margin-bottom:3.5rem}.mx-14{margin-left:3.5rem;margin-right:3.5rem}.my-15{margin-top:3.75rem;margin-bottom:3.75rem}.mx-15{margin-left:3.75rem;margin-right:3.75rem}.my-16{margin-top:4rem;margin-bottom:4rem}.mx-16{margin-left:4rem;margin-right:4rem}.my-20{margin-top:5rem;margin-bottom:5rem}.mx-20{margin-left:5rem;margin-right:5rem}.my-24{margin-top:6rem;margin-bottom:6rem}.mx-24{margin-left:6rem;margin-right:6rem}.my-28{margin-top:7rem;margin-bottom:7rem}.mx-28{margin-left:7rem;margin-right:7rem}.my-32{margin-top:8rem;margin-bottom:8rem}.mx-32{margin-left:8rem;margin-right:8rem}.my-36{margin-top:9rem;margin-bottom:9rem}.mx-36{margin-left:9rem;margin-right:9rem}.my-40{margin-top:10rem;margin-bottom:10rem}.mx-40{margin-left:10rem;margin-right:10rem}.my-44{margin-top:11rem;margin-bottom:11rem}.mx-44{margin-left:11rem;margin-right:11rem}.my-48{margin-top:12rem;margin-bottom:12rem}.mx-48{margin-left:12rem;margin-right:12rem}.my-52{margin-top:13rem;margin-bottom:13rem}.mx-52{margin-left:13rem;margin-right:13rem}.my-56{margin-top:14rem;margin-bottom:14rem}.mx-56{margin-left:14rem;margin-right:14rem}.my-60{margin-top:15rem;margin-bottom:15rem}.mx-60{margin-left:15rem;margin-right:15rem}.my-64{margin-top:16rem;margin-bottom:16rem}.mx-64{margin-left:16rem;margin-right:16rem}.my-72{margin-top:18rem;margin-bottom:18rem}.mx-72{margin-left:18rem;margin-right:18rem}.my-80{margin-top:20rem;margin-bottom:20rem}.mx-80{margin-left:20rem;margin-right:20rem}.my-96{margin-top:24rem;margin-bottom:24rem}.mx-96{margin-left:24rem;margin-right:24rem}.my-auto{margin-top:auto;margin-bottom:auto}.mx-auto{margin-left:auto;margin-right:auto}.my-px{margin-top:1px;margin-bottom:1px}.mx-px{margin-left:1px;margin-right:1px}.my-0\.5{margin-top:.125rem;margin-bottom:.125rem}.mx-0\.5{margin-left:.125rem;margin-right:.125rem}.my-1\.5{margin-top:.375rem;margin-bottom:.375rem}.mx-1\.5{margin-left:.375rem;margin-right:.375rem}.my-2\.5{margin-top:.625rem;margin-bottom:.625rem}.mx-2\.5{margin-left:.625rem;margin-right:.625rem}.my-3\.5{margin-top:.875rem;margin-bottom:.875rem}.mx-3\.5{margin-left:.875rem;margin-right:.875rem}.my-1\/2{margin-top:50%;margin-bottom:50%}.mx-1\/2{margin-left:50%;margin-right:50%}.my-1\/3{margin-top:33.333333%;margin-bottom:33.333333%}.mx-1\/3{margin-left:33.333333%;margin-right:33.333333%}.my-2\/3{margin-top:66.666667%;margin-bottom:66.666667%}.mx-2\/3{margin-left:66.666667%;margin-right:66.666667%}.my-1\/4{margin-top:25%;margin-bottom:25%}.mx-1\/4{margin-left:25%;margin-right:25%}.my-2\/4{margin-top:50%;margin-bottom:50%}.mx-2\/4{margin-left:50%;margin-right:50%}.my-3\/4{margin-top:75%;margin-bottom:75%}.mx-3\/4{margin-left:75%;margin-right:75%}.my-1\/5{margin-top:20%;margin-bottom:20%}.mx-1\/5{margin-left:20%;margin-right:20%}.my-2\/5{margin-top:40%;margin-bottom:40%}.mx-2\/5{margin-left:40%;margin-right:40%}.my-3\/5{margin-top:60%;margin-bottom:60%}.mx-3\/5{margin-left:60%;margin-right:60%}.my-4\/5{margin-top:80%;margin-bottom:80%}.mx-4\/5{margin-left:80%;margin-right:80%}.my-1\/6{margin-top:16.666667%;margin-bottom:16.666667%}.mx-1\/6{margin-left:16.666667%;margin-right:16.666667%}.my-2\/6{margin-top:33.333333%;margin-bottom:33.333333%}.mx-2\/6{margin-left:33.333333%;margin-right:33.333333%}.my-3\/6{margin-top:50%;margin-bottom:50%}.mx-3\/6{margin-left:50%;margin-right:50%}.my-4\/6{margin-top:66.666667%;margin-bottom:66.666667%}.mx-4\/6{margin-left:66.666667%;margin-right:66.666667%}.my-5\/6{margin-top:83.333333%;margin-bottom:83.333333%}.mx-5\/6{margin-left:83.333333%;margin-right:83.333333%}.my-1\/12{margin-top:8.333333%;margin-bottom:8.333333%}.mx-1\/12{margin-left:8.333333%;margin-right:8.333333%}.my-2\/12{margin-top:16.666667%;margin-bottom:16.666667%}.mx-2\/12{margin-left:16.666667%;margin-right:16.666667%}.my-3\/12{margin-top:25%;margin-bottom:25%}.mx-3\/12{margin-left:25%;margin-right:25%}.my-4\/12{margin-top:33.333333%;margin-bottom:33.333333%}.mx-4\/12{margin-left:33.333333%;margin-right:33.333333%}.my-5\/12{margin-top:41.666667%;margin-bottom:41.666667%}.mx-5\/12{margin-left:41.666667%;margin-right:41.666667%}.my-6\/12{margin-top:50%;margin-bottom:50%}.mx-6\/12{margin-left:50%;margin-right:50%}.my-7\/12{margin-top:58.333333%;margin-bottom:58.333333%}.mx-7\/12{margin-left:58.333333%;margin-right:58.333333%}.my-8\/12{margin-top:66.666667%;margin-bottom:66.666667%}.mx-8\/12{margin-left:66.666667%;margin-right:66.666667%}.my-9\/12{margin-top:75%;margin-bottom:75%}.mx-9\/12{margin-left:75%;margin-right:75%}.my-10\/12{margin-top:83.333333%;margin-bottom:83.333333%}.mx-10\/12{margin-left:83.333333%;margin-right:83.333333%}.my-11\/12{margin-top:91.666667%;margin-bottom:91.666667%}.mx-11\/12{margin-left:91.666667%;margin-right:91.666667%}.my-full{margin-top:100%;margin-bottom:100%}.mx-full{margin-left:100%;margin-right:100%}.-my-1{margin-top:-.25rem;margin-bottom:-.25rem}.-mx-1{margin-left:-.25rem;margin-right:-.25rem}.-my-2{margin-top:-.5rem;margin-bottom:-.5rem}.-mx-2{margin-left:-.5rem;margin-right:-.5rem}.-my-3{margin-top:-.75rem;margin-bottom:-.75rem}.-mx-3{margin-left:-.75rem;margin-right:-.75rem}.-my-4{margin-top:-1rem;margin-bottom:-1rem}.-mx-4{margin-left:-1rem;margin-right:-1rem}.-my-5{margin-top:-1.25rem;margin-bottom:-1.25rem}.-mx-5{margin-left:-1.25rem;margin-right:-1.25rem}.-my-6{margin-top:-1.5rem;margin-bottom:-1.5rem}.-mx-6{margin-left:-1.5rem;margin-right:-1.5rem}.-my-7{margin-top:-1.75rem;margin-bottom:-1.75rem}.-mx-7{margin-left:-1.75rem;margin-right:-1.75rem}.-my-8{margin-top:-2rem;margin-bottom:-2rem}.-mx-8{margin-left:-2rem;margin-right:-2rem}.-my-9{margin-top:-2.25rem;margin-bottom:-2.25rem}.-mx-9{margin-left:-2.25rem;margin-right:-2.25rem}.-my-10{margin-top:-2.5rem;margin-bottom:-2.5rem}.-mx-10{margin-left:-2.5rem;margin-right:-2.5rem}.-my-11{margin-top:-2.75rem;margin-bottom:-2.75rem}.-mx-11{margin-left:-2.75rem;margin-right:-2.75rem}.-my-12{margin-top:-3rem;margin-bottom:-3rem}.-mx-12{margin-left:-3rem;margin-right:-3rem}.-my-13{margin-top:-3.25rem;margin-bottom:-3.25rem}.-mx-13{margin-left:-3.25rem;margin-right:-3.25rem}.-my-14{margin-top:-3.5rem;margin-bottom:-3.5rem}.-mx-14{margin-left:-3.5rem;margin-right:-3.5rem}.-my-15{margin-top:-3.75rem;margin-bottom:-3.75rem}.-mx-15{margin-left:-3.75rem;margin-right:-3.75rem}.-my-16{margin-top:-4rem;margin-bottom:-4rem}.-mx-16{margin-left:-4rem;margin-right:-4rem}.-my-20{margin-top:-5rem;margin-bottom:-5rem}.-mx-20{margin-left:-5rem;margin-right:-5rem}.-my-24{margin-top:-6rem;margin-bottom:-6rem}.-mx-24{margin-left:-6rem;margin-right:-6rem}.-my-28{margin-top:-7rem;margin-bottom:-7rem}.-mx-28{margin-left:-7rem;margin-right:-7rem}.-my-32{margin-top:-8rem;margin-bottom:-8rem}.-mx-32{margin-left:-8rem;margin-right:-8rem}.-my-36{margin-top:-9rem;margin-bottom:-9rem}.-mx-36{margin-left:-9rem;margin-right:-9rem}.-my-40{margin-top:-10rem;margin-bottom:-10rem}.-mx-40{margin-left:-10rem;margin-right:-10rem}.-my-44{margin-top:-11rem;margin-bottom:-11rem}.-mx-44{margin-left:-11rem;margin-right:-11rem}.-my-48{margin-top:-12rem;margin-bottom:-12rem}.-mx-48{margin-left:-12rem;margin-right:-12rem}.-my-52{margin-top:-13rem;margin-bottom:-13rem}.-mx-52{margin-left:-13rem;margin-right:-13rem}.-my-56{margin-top:-14rem;margin-bottom:-14rem}.-mx-56{margin-left:-14rem;margin-right:-14rem}.-my-60{margin-top:-15rem;margin-bottom:-15rem}.-mx-60{margin-left:-15rem;margin-right:-15rem}.-my-64{margin-top:-16rem;margin-bottom:-16rem}.-mx-64{margin-left:-16rem;margin-right:-16rem}.-my-72{margin-top:-18rem;margin-bottom:-18rem}.-mx-72{margin-left:-18rem;margin-right:-18rem}.-my-80{margin-top:-20rem;margin-bottom:-20rem}.-mx-80{margin-left:-20rem;margin-right:-20rem}.-my-96{margin-top:-24rem;margin-bottom:-24rem}.-mx-96{margin-left:-24rem;margin-right:-24rem}.-my-px{margin-top:-1px;margin-bottom:-1px}.-mx-px{margin-left:-1px;margin-right:-1px}.-my-0\.5{margin-top:-.125rem;margin-bottom:-.125rem}.-mx-0\.5{margin-left:-.125rem;margin-right:-.125rem}.-my-1\.5{margin-top:-.375rem;margin-bottom:-.375rem}.-mx-1\.5{margin-left:-.375rem;margin-right:-.375rem}.-my-2\.5{margin-top:-.625rem;margin-bottom:-.625rem}.-mx-2\.5{margin-left:-.625rem;margin-right:-.625rem}.-my-3\.5{margin-top:-.875rem;margin-bottom:-.875rem}.-mx-3\.5{margin-left:-.875rem;margin-right:-.875rem}.-my-1\/2{margin-top:-50%;margin-bottom:-50%}.-mx-1\/2{margin-left:-50%;margin-right:-50%}.-my-1\/3{margin-top:-33.33333%;margin-bottom:-33.33333%}.-mx-1\/3{margin-left:-33.33333%;margin-right:-33.33333%}.-my-2\/3{margin-top:-66.66667%;margin-bottom:-66.66667%}.-mx-2\/3{margin-left:-66.66667%;margin-right:-66.66667%}.-my-1\/4{margin-top:-25%;margin-bottom:-25%}.-mx-1\/4{margin-left:-25%;margin-right:-25%}.-my-2\/4{margin-top:-50%;margin-bottom:-50%}.-mx-2\/4{margin-left:-50%;margin-right:-50%}.-my-3\/4{margin-top:-75%;margin-bottom:-75%}.-mx-3\/4{margin-left:-75%;margin-right:-75%}.-my-1\/5{margin-top:-20%;margin-bottom:-20%}.-mx-1\/5{margin-left:-20%;margin-right:-20%}.-my-2\/5{margin-top:-40%;margin-bottom:-40%}.-mx-2\/5{margin-left:-40%;margin-right:-40%}.-my-3\/5{margin-top:-60%;margin-bottom:-60%}.-mx-3\/5{margin-left:-60%;margin-right:-60%}.-my-4\/5{margin-top:-80%;margin-bottom:-80%}.-mx-4\/5{margin-left:-80%;margin-right:-80%}.-my-1\/6{margin-top:-16.66667%;margin-bottom:-16.66667%}.-mx-1\/6{margin-left:-16.66667%;margin-right:-16.66667%}.-my-2\/6{margin-top:-33.33333%;margin-bottom:-33.33333%}.-mx-2\/6{margin-left:-33.33333%;margin-right:-33.33333%}.-my-3\/6{margin-top:-50%;margin-bottom:-50%}.-mx-3\/6{margin-left:-50%;margin-right:-50%}.-my-4\/6{margin-top:-66.66667%;margin-bottom:-66.66667%}.-mx-4\/6{margin-left:-66.66667%;margin-right:-66.66667%}.-my-5\/6{margin-top:-83.33333%;margin-bottom:-83.33333%}.-mx-5\/6{margin-left:-83.33333%;margin-right:-83.33333%}.-my-1\/12{margin-top:-8.33333%;margin-bottom:-8.33333%}.-mx-1\/12{margin-left:-8.33333%;margin-right:-8.33333%}.-my-2\/12{margin-top:-16.66667%;margin-bottom:-16.66667%}.-mx-2\/12{margin-left:-16.66667%;margin-right:-16.66667%}.-my-3\/12{margin-top:-25%;margin-bottom:-25%}.-mx-3\/12{margin-left:-25%;margin-right:-25%}.-my-4\/12{margin-top:-33.33333%;margin-bottom:-33.33333%}.-mx-4\/12{margin-left:-33.33333%;margin-right:-33.33333%}.-my-5\/12{margin-top:-41.66667%;margin-bottom:-41.66667%}.-mx-5\/12{margin-left:-41.66667%;margin-right:-41.66667%}.-my-6\/12{margin-top:-50%;margin-bottom:-50%}.-mx-6\/12{margin-left:-50%;margin-right:-50%}.-my-7\/12{margin-top:-58.33333%;margin-bottom:-58.33333%}.-mx-7\/12{margin-left:-58.33333%;margin-right:-58.33333%}.-my-8\/12{margin-top:-66.66667%;margin-bottom:-66.66667%}.-mx-8\/12{margin-left:-66.66667%;margin-right:-66.66667%}.-my-9\/12{margin-top:-75%;margin-bottom:-75%}.-mx-9\/12{margin-left:-75%;margin-right:-75%}.-my-10\/12{margin-top:-83.33333%;margin-bottom:-83.33333%}.-mx-10\/12{margin-left:-83.33333%;margin-right:-83.33333%}.-my-11\/12{margin-top:-91.66667%;margin-bottom:-91.66667%}.-mx-11\/12{margin-left:-91.66667%;margin-right:-91.66667%}.-my-full{margin-top:-100%;margin-bottom:-100%}.-mx-full{margin-left:-100%;margin-right:-100%}.mt-0{margin-top:0}.mr-0{margin-right:0}.mb-0{margin-bottom:0}.ml-0{margin-left:0}.mt-1{margin-top:.25rem}.mr-1{margin-right:.25rem}.mb-1{margin-bottom:.25rem}.ml-1{margin-left:.25rem}.mt-2{margin-top:.5rem}.mr-2{margin-right:.5rem}.mb-2{margin-bottom:.5rem}.ml-2{margin-left:.5rem}.mt-3{margin-top:.75rem}.mr-3{margin-right:.75rem}.mb-3{margin-bottom:.75rem}.ml-3{margin-left:.75rem}.mt-4{margin-top:1rem}.mr-4{margin-right:1rem}.mb-4{margin-bottom:1rem}.ml-4{margin-left:1rem}.mt-5{margin-top:1.25rem}.mr-5{margin-right:1.25rem}.mb-5{margin-bottom:1.25rem}.ml-5{margin-left:1.25rem}.mt-6{margin-top:1.5rem}.mr-6{margin-right:1.5rem}.mb-6{margin-bottom:1.5rem}.ml-6{margin-left:1.5rem}.mt-7{margin-top:1.75rem}.mr-7{margin-right:1.75rem}.mb-7{margin-bottom:1.75rem}.ml-7{margin-left:1.75rem}.mt-8{margin-top:2rem}.mr-8{margin-right:2rem}.mb-8{margin-bottom:2rem}.ml-8{margin-left:2rem}.mt-9{margin-top:2.25rem}.mr-9{margin-right:2.25rem}.mb-9{margin-bottom:2.25rem}.ml-9{margin-left:2.25rem}.mt-10{margin-top:2.5rem}.mr-10{margin-right:2.5rem}.mb-10{margin-bottom:2.5rem}.ml-10{margin-left:2.5rem}.mt-11{margin-top:2.75rem}.mr-11{margin-right:2.75rem}.mb-11{margin-bottom:2.75rem}.ml-11{margin-left:2.75rem}.mt-12{margin-top:3rem}.mr-12{margin-right:3rem}.mb-12{margin-bottom:3rem}.ml-12{margin-left:3rem}.mt-13{margin-top:3.25rem}.mr-13{margin-right:3.25rem}.mb-13{margin-bottom:3.25rem}.ml-13{margin-left:3.25rem}.mt-14{margin-top:3.5rem}.mr-14{margin-right:3.5rem}.mb-14{margin-bottom:3.5rem}.ml-14{margin-left:3.5rem}.mt-15{margin-top:3.75rem}.mr-15{margin-right:3.75rem}.mb-15{margin-bottom:3.75rem}.ml-15{margin-left:3.75rem}.mt-16{margin-top:4rem}.mr-16{margin-right:4rem}.mb-16{margin-bottom:4rem}.ml-16{margin-left:4rem}.mt-20{margin-top:5rem}.mr-20{margin-right:5rem}.mb-20{margin-bottom:5rem}.ml-20{margin-left:5rem}.mt-24{margin-top:6rem}.mr-24{margin-right:6rem}.mb-24{margin-bottom:6rem}.ml-24{margin-left:6rem}.mt-28{margin-top:7rem}.mr-28{margin-right:7rem}.mb-28{margin-bottom:7rem}.ml-28{margin-left:7rem}.mt-32{margin-top:8rem}.mr-32{margin-right:8rem}.mb-32{margin-bottom:8rem}.ml-32{margin-left:8rem}.mt-36{margin-top:9rem}.mr-36{margin-right:9rem}.mb-36{margin-bottom:9rem}.ml-36{margin-left:9rem}.mt-40{margin-top:10rem}.mr-40{margin-right:10rem}.mb-40{margin-bottom:10rem}.ml-40{margin-left:10rem}.mt-44{margin-top:11rem}.mr-44{margin-right:11rem}.mb-44{margin-bottom:11rem}.ml-44{margin-left:11rem}.mt-48{margin-top:12rem}.mr-48{margin-right:12rem}.mb-48{margin-bottom:12rem}.ml-48{margin-left:12rem}.mt-52{margin-top:13rem}.mr-52{margin-right:13rem}.mb-52{margin-bottom:13rem}.ml-52{margin-left:13rem}.mt-56{margin-top:14rem}.mr-56{margin-right:14rem}.mb-56{margin-bottom:14rem}.ml-56{margin-left:14rem}.mt-60{margin-top:15rem}.mr-60{margin-right:15rem}.mb-60{margin-bottom:15rem}.ml-60{margin-left:15rem}.mt-64{margin-top:16rem}.mr-64{margin-right:16rem}.mb-64{margin-bottom:16rem}.ml-64{margin-left:16rem}.mt-72{margin-top:18rem}.mr-72{margin-right:18rem}.mb-72{margin-bottom:18rem}.ml-72{margin-left:18rem}.mt-80{margin-top:20rem}.mr-80{margin-right:20rem}.mb-80{margin-bottom:20rem}.ml-80{margin-left:20rem}.mt-96{margin-top:24rem}.mr-96{margin-right:24rem}.mb-96{margin-bottom:24rem}.ml-96{margin-left:24rem}.mt-auto{margin-top:auto}.mr-auto{margin-right:auto}.mb-auto{margin-bottom:auto}.ml-auto{margin-left:auto}.mt-px{margin-top:1px}.mr-px{margin-right:1px}.mb-px{margin-bottom:1px}.ml-px{margin-left:1px}.mt-0\.5{margin-top:.125rem}.mr-0\.5{margin-right:.125rem}.mb-0\.5{margin-bottom:.125rem}.ml-0\.5{margin-left:.125rem}.mt-1\.5{margin-top:.375rem}.mr-1\.5{margin-right:.375rem}.mb-1\.5{margin-bottom:.375rem}.ml-1\.5{margin-left:.375rem}.mt-2\.5{margin-top:.625rem}.mr-2\.5{margin-right:.625rem}.mb-2\.5{margin-bottom:.625rem}.ml-2\.5{margin-left:.625rem}.mt-3\.5{margin-top:.875rem}.mr-3\.5{margin-right:.875rem}.mb-3\.5{margin-bottom:.875rem}.ml-3\.5{margin-left:.875rem}.mt-1\/2{margin-top:50%}.mr-1\/2{margin-right:50%}.mb-1\/2{margin-bottom:50%}.ml-1\/2{margin-left:50%}.mt-1\/3{margin-top:33.333333%}.mr-1\/3{margin-right:33.333333%}.mb-1\/3{margin-bottom:33.333333%}.ml-1\/3{margin-left:33.333333%}.mt-2\/3{margin-top:66.666667%}.mr-2\/3{margin-right:66.666667%}.mb-2\/3{margin-bottom:66.666667%}.ml-2\/3{margin-left:66.666667%}.mt-1\/4{margin-top:25%}.mr-1\/4{margin-right:25%}.mb-1\/4{margin-bottom:25%}.ml-1\/4{margin-left:25%}.mt-2\/4{margin-top:50%}.mr-2\/4{margin-right:50%}.mb-2\/4{margin-bottom:50%}.ml-2\/4{margin-left:50%}.mt-3\/4{margin-top:75%}.mr-3\/4{margin-right:75%}.mb-3\/4{margin-bottom:75%}.ml-3\/4{margin-left:75%}.mt-1\/5{margin-top:20%}.mr-1\/5{margin-right:20%}.mb-1\/5{margin-bottom:20%}.ml-1\/5{margin-left:20%}.mt-2\/5{margin-top:40%}.mr-2\/5{margin-right:40%}.mb-2\/5{margin-bottom:40%}.ml-2\/5{margin-left:40%}.mt-3\/5{margin-top:60%}.mr-3\/5{margin-right:60%}.mb-3\/5{margin-bottom:60%}.ml-3\/5{margin-left:60%}.mt-4\/5{margin-top:80%}.mr-4\/5{margin-right:80%}.mb-4\/5{margin-bottom:80%}.ml-4\/5{margin-left:80%}.mt-1\/6{margin-top:16.666667%}.mr-1\/6{margin-right:16.666667%}.mb-1\/6{margin-bottom:16.666667%}.ml-1\/6{margin-left:16.666667%}.mt-2\/6{margin-top:33.333333%}.mr-2\/6{margin-right:33.333333%}.mb-2\/6{margin-bottom:33.333333%}.ml-2\/6{margin-left:33.333333%}.mt-3\/6{margin-top:50%}.mr-3\/6{margin-right:50%}.mb-3\/6{margin-bottom:50%}.ml-3\/6{margin-left:50%}.mt-4\/6{margin-top:66.666667%}.mr-4\/6{margin-right:66.666667%}.mb-4\/6{margin-bottom:66.666667%}.ml-4\/6{margin-left:66.666667%}.mt-5\/6{margin-top:83.333333%}.mr-5\/6{margin-right:83.333333%}.mb-5\/6{margin-bottom:83.333333%}.ml-5\/6{margin-left:83.333333%}.mt-1\/12{margin-top:8.333333%}.mr-1\/12{margin-right:8.333333%}.mb-1\/12{margin-bottom:8.333333%}.ml-1\/12{margin-left:8.333333%}.mt-2\/12{margin-top:16.666667%}.mr-2\/12{margin-right:16.666667%}.mb-2\/12{margin-bottom:16.666667%}.ml-2\/12{margin-left:16.666667%}.mt-3\/12{margin-top:25%}.mr-3\/12{margin-right:25%}.mb-3\/12{margin-bottom:25%}.ml-3\/12{margin-left:25%}.mt-4\/12{margin-top:33.333333%}.mr-4\/12{margin-right:33.333333%}.mb-4\/12{margin-bottom:33.333333%}.ml-4\/12{margin-left:33.333333%}.mt-5\/12{margin-top:41.666667%}.mr-5\/12{margin-right:41.666667%}.mb-5\/12{margin-bottom:41.666667%}.ml-5\/12{margin-left:41.666667%}.mt-6\/12{margin-top:50%}.mr-6\/12{margin-right:50%}.mb-6\/12{margin-bottom:50%}.ml-6\/12{margin-left:50%}.mt-7\/12{margin-top:58.333333%}.mr-7\/12{margin-right:58.333333%}.mb-7\/12{margin-bottom:58.333333%}.ml-7\/12{margin-left:58.333333%}.mt-8\/12{margin-top:66.666667%}.mr-8\/12{margin-right:66.666667%}.mb-8\/12{margin-bottom:66.666667%}.ml-8\/12{margin-left:66.666667%}.mt-9\/12{margin-top:75%}.mr-9\/12{margin-right:75%}.mb-9\/12{margin-bottom:75%}.ml-9\/12{margin-left:75%}.mt-10\/12{margin-top:83.333333%}.mr-10\/12{margin-right:83.333333%}.mb-10\/12{margin-bottom:83.333333%}.ml-10\/12{margin-left:83.333333%}.mt-11\/12{margin-top:91.666667%}.mr-11\/12{margin-right:91.666667%}.mb-11\/12{margin-bottom:91.666667%}.ml-11\/12{margin-left:91.666667%}.mt-full{margin-top:100%}.mr-full{margin-right:100%}.mb-full{margin-bottom:100%}.ml-full{margin-left:100%}.-mt-1{margin-top:-.25rem}.-mr-1{margin-right:-.25rem}.-mb-1{margin-bottom:-.25rem}.-ml-1{margin-left:-.25rem}.-mt-2{margin-top:-.5rem}.-mr-2{margin-right:-.5rem}.-mb-2{margin-bottom:-.5rem}.-ml-2{margin-left:-.5rem}.-mt-3{margin-top:-.75rem}.-mr-3{margin-right:-.75rem}.-mb-3{margin-bottom:-.75rem}.-ml-3{margin-left:-.75rem}.-mt-4{margin-top:-1rem}.-mr-4{margin-right:-1rem}.-mb-4{margin-bottom:-1rem}.-ml-4{margin-left:-1rem}.-mt-5{margin-top:-1.25rem}.-mr-5{margin-right:-1.25rem}.-mb-5{margin-bottom:-1.25rem}.-ml-5{margin-left:-1.25rem}.-mt-6{margin-top:-1.5rem}.-mr-6{margin-right:-1.5rem}.-mb-6{margin-bottom:-1.5rem}.-ml-6{margin-left:-1.5rem}.-mt-7{margin-top:-1.75rem}.-mr-7{margin-right:-1.75rem}.-mb-7{margin-bottom:-1.75rem}.-ml-7{margin-left:-1.75rem}.-mt-8{margin-top:-2rem}.-mr-8{margin-right:-2rem}.-mb-8{margin-bottom:-2rem}.-ml-8{margin-left:-2rem}.-mt-9{margin-top:-2.25rem}.-mr-9{margin-right:-2.25rem}.-mb-9{margin-bottom:-2.25rem}.-ml-9{margin-left:-2.25rem}.-mt-10{margin-top:-2.5rem}.-mr-10{margin-right:-2.5rem}.-mb-10{margin-bottom:-2.5rem}.-ml-10{margin-left:-2.5rem}.-mt-11{margin-top:-2.75rem}.-mr-11{margin-right:-2.75rem}.-mb-11{margin-bottom:-2.75rem}.-ml-11{margin-left:-2.75rem}.-mt-12{margin-top:-3rem}.-mr-12{margin-right:-3rem}.-mb-12{margin-bottom:-3rem}.-ml-12{margin-left:-3rem}.-mt-13{margin-top:-3.25rem}.-mr-13{margin-right:-3.25rem}.-mb-13{margin-bottom:-3.25rem}.-ml-13{margin-left:-3.25rem}.-mt-14{margin-top:-3.5rem}.-mr-14{margin-right:-3.5rem}.-mb-14{margin-bottom:-3.5rem}.-ml-14{margin-left:-3.5rem}.-mt-15{margin-top:-3.75rem}.-mr-15{margin-right:-3.75rem}.-mb-15{margin-bottom:-3.75rem}.-ml-15{margin-left:-3.75rem}.-mt-16{margin-top:-4rem}.-mr-16{margin-right:-4rem}.-mb-16{margin-bottom:-4rem}.-ml-16{margin-left:-4rem}.-mt-20{margin-top:-5rem}.-mr-20{margin-right:-5rem}.-mb-20{margin-bottom:-5rem}.-ml-20{margin-left:-5rem}.-mt-24{margin-top:-6rem}.-mr-24{margin-right:-6rem}.-mb-24{margin-bottom:-6rem}.-ml-24{margin-left:-6rem}.-mt-28{margin-top:-7rem}.-mr-28{margin-right:-7rem}.-mb-28{margin-bottom:-7rem}.-ml-28{margin-left:-7rem}.-mt-32{margin-top:-8rem}.-mr-32{margin-right:-8rem}.-mb-32{margin-bottom:-8rem}.-ml-32{margin-left:-8rem}.-mt-36{margin-top:-9rem}.-mr-36{margin-right:-9rem}.-mb-36{margin-bottom:-9rem}.-ml-36{margin-left:-9rem}.-mt-40{margin-top:-10rem}.-mr-40{margin-right:-10rem}.-mb-40{margin-bottom:-10rem}.-ml-40{margin-left:-10rem}.-mt-44{margin-top:-11rem}.-mr-44{margin-right:-11rem}.-mb-44{margin-bottom:-11rem}.-ml-44{margin-left:-11rem}.-mt-48{margin-top:-12rem}.-mr-48{margin-right:-12rem}.-mb-48{margin-bottom:-12rem}.-ml-48{margin-left:-12rem}.-mt-52{margin-top:-13rem}.-mr-52{margin-right:-13rem}.-mb-52{margin-bottom:-13rem}.-ml-52{margin-left:-13rem}.-mt-56{margin-top:-14rem}.-mr-56{margin-right:-14rem}.-mb-56{margin-bottom:-14rem}.-ml-56{margin-left:-14rem}.-mt-60{margin-top:-15rem}.-mr-60{margin-right:-15rem}.-mb-60{margin-bottom:-15rem}.-ml-60{margin-left:-15rem}.-mt-64{margin-top:-16rem}.-mr-64{margin-right:-16rem}.-mb-64{margin-bottom:-16rem}.-ml-64{margin-left:-16rem}.-mt-72{margin-top:-18rem}.-mr-72{margin-right:-18rem}.-mb-72{margin-bottom:-18rem}.-ml-72{margin-left:-18rem}.-mt-80{margin-top:-20rem}.-mr-80{margin-right:-20rem}.-mb-80{margin-bottom:-20rem}.-ml-80{margin-left:-20rem}.-mt-96{margin-top:-24rem}.-mr-96{margin-right:-24rem}.-mb-96{margin-bottom:-24rem}.-ml-96{margin-left:-24rem}.-mt-px{margin-top:-1px}.-mr-px{margin-right:-1px}.-mb-px{margin-bottom:-1px}.-ml-px{margin-left:-1px}.-mt-0\.5{margin-top:-.125rem}.-mr-0\.5{margin-right:-.125rem}.-mb-0\.5{margin-bottom:-.125rem}.-ml-0\.5{margin-left:-.125rem}.-mt-1\.5{margin-top:-.375rem}.-mr-1\.5{margin-right:-.375rem}.-mb-1\.5{margin-bottom:-.375rem}.-ml-1\.5{margin-left:-.375rem}.-mt-2\.5{margin-top:-.625rem}.-mr-2\.5{margin-right:-.625rem}.-mb-2\.5{margin-bottom:-.625rem}.-ml-2\.5{margin-left:-.625rem}.-mt-3\.5{margin-top:-.875rem}.-mr-3\.5{margin-right:-.875rem}.-mb-3\.5{margin-bottom:-.875rem}.-ml-3\.5{margin-left:-.875rem}.-mt-1\/2{margin-top:-50%}.-mr-1\/2{margin-right:-50%}.-mb-1\/2{margin-bottom:-50%}.-ml-1\/2{margin-left:-50%}.-mt-1\/3{margin-top:-33.33333%}.-mr-1\/3{margin-right:-33.33333%}.-mb-1\/3{margin-bottom:-33.33333%}.-ml-1\/3{margin-left:-33.33333%}.-mt-2\/3{margin-top:-66.66667%}.-mr-2\/3{margin-right:-66.66667%}.-mb-2\/3{margin-bottom:-66.66667%}.-ml-2\/3{margin-left:-66.66667%}.-mt-1\/4{margin-top:-25%}.-mr-1\/4{margin-right:-25%}.-mb-1\/4{margin-bottom:-25%}.-ml-1\/4{margin-left:-25%}.-mt-2\/4{margin-top:-50%}.-mr-2\/4{margin-right:-50%}.-mb-2\/4{margin-bottom:-50%}.-ml-2\/4{margin-left:-50%}.-mt-3\/4{margin-top:-75%}.-mr-3\/4{margin-right:-75%}.-mb-3\/4{margin-bottom:-75%}.-ml-3\/4{margin-left:-75%}.-mt-1\/5{margin-top:-20%}.-mr-1\/5{margin-right:-20%}.-mb-1\/5{margin-bottom:-20%}.-ml-1\/5{margin-left:-20%}.-mt-2\/5{margin-top:-40%}.-mr-2\/5{margin-right:-40%}.-mb-2\/5{margin-bottom:-40%}.-ml-2\/5{margin-left:-40%}.-mt-3\/5{margin-top:-60%}.-mr-3\/5{margin-right:-60%}.-mb-3\/5{margin-bottom:-60%}.-ml-3\/5{margin-left:-60%}.-mt-4\/5{margin-top:-80%}.-mr-4\/5{margin-right:-80%}.-mb-4\/5{margin-bottom:-80%}.-ml-4\/5{margin-left:-80%}.-mt-1\/6{margin-top:-16.66667%}.-mr-1\/6{margin-right:-16.66667%}.-mb-1\/6{margin-bottom:-16.66667%}.-ml-1\/6{margin-left:-16.66667%}.-mt-2\/6{margin-top:-33.33333%}.-mr-2\/6{margin-right:-33.33333%}.-mb-2\/6{margin-bottom:-33.33333%}.-ml-2\/6{margin-left:-33.33333%}.-mt-3\/6{margin-top:-50%}.-mr-3\/6{margin-right:-50%}.-mb-3\/6{margin-bottom:-50%}.-ml-3\/6{margin-left:-50%}.-mt-4\/6{margin-top:-66.66667%}.-mr-4\/6{margin-right:-66.66667%}.-mb-4\/6{margin-bottom:-66.66667%}.-ml-4\/6{margin-left:-66.66667%}.-mt-5\/6{margin-top:-83.33333%}.-mr-5\/6{margin-right:-83.33333%}.-mb-5\/6{margin-bottom:-83.33333%}.-ml-5\/6{margin-left:-83.33333%}.-mt-1\/12{margin-top:-8.33333%}.-mr-1\/12{margin-right:-8.33333%}.-mb-1\/12{margin-bottom:-8.33333%}.-ml-1\/12{margin-left:-8.33333%}.-mt-2\/12{margin-top:-16.66667%}.-mr-2\/12{margin-right:-16.66667%}.-mb-2\/12{margin-bottom:-16.66667%}.-ml-2\/12{margin-left:-16.66667%}.-mt-3\/12{margin-top:-25%}.-mr-3\/12{margin-right:-25%}.-mb-3\/12{margin-bottom:-25%}.-ml-3\/12{margin-left:-25%}.-mt-4\/12{margin-top:-33.33333%}.-mr-4\/12{margin-right:-33.33333%}.-mb-4\/12{margin-bottom:-33.33333%}.-ml-4\/12{margin-left:-33.33333%}.-mt-5\/12{margin-top:-41.66667%}.-mr-5\/12{margin-right:-41.66667%}.-mb-5\/12{margin-bottom:-41.66667%}.-ml-5\/12{margin-left:-41.66667%}.-mt-6\/12{margin-top:-50%}.-mr-6\/12{margin-right:-50%}.-mb-6\/12{margin-bottom:-50%}.-ml-6\/12{margin-left:-50%}.-mt-7\/12{margin-top:-58.33333%}.-mr-7\/12{margin-right:-58.33333%}.-mb-7\/12{margin-bottom:-58.33333%}.-ml-7\/12{margin-left:-58.33333%}.-mt-8\/12{margin-top:-66.66667%}.-mr-8\/12{margin-right:-66.66667%}.-mb-8\/12{margin-bottom:-66.66667%}.-ml-8\/12{margin-left:-66.66667%}.-mt-9\/12{margin-top:-75%}.-mr-9\/12{margin-right:-75%}.-mb-9\/12{margin-bottom:-75%}.-ml-9\/12{margin-left:-75%}.-mt-10\/12{margin-top:-83.33333%}.-mr-10\/12{margin-right:-83.33333%}.-mb-10\/12{margin-bottom:-83.33333%}.-ml-10\/12{margin-left:-83.33333%}.-mt-11\/12{margin-top:-91.66667%}.-mr-11\/12{margin-right:-91.66667%}.-mb-11\/12{margin-bottom:-91.66667%}.-ml-11\/12{margin-left:-91.66667%}.-mt-full{margin-top:-100%}.-mr-full{margin-right:-100%}.-mb-full{margin-bottom:-100%}.-ml-full{margin-left:-100%}.max-h-0{max-height:0}.max-h-1{max-height:.25rem}.max-h-2{max-height:.5rem}.max-h-3{max-height:.75rem}.max-h-4{max-height:1rem}.max-h-5{max-height:1.25rem}.max-h-6{max-height:1.5rem}.max-h-7{max-height:1.75rem}.max-h-8{max-height:2rem}.max-h-9{max-height:2.25rem}.max-h-10{max-height:2.5rem}.max-h-11{max-height:2.75rem}.max-h-12{max-height:3rem}.max-h-13{max-height:3.25rem}.max-h-14{max-height:3.5rem}.max-h-15{max-height:3.75rem}.max-h-16{max-height:4rem}.max-h-20{max-height:5rem}.max-h-24{max-height:6rem}.max-h-28{max-height:7rem}.max-h-32{max-height:8rem}.max-h-36{max-height:9rem}.max-h-40{max-height:10rem}.max-h-44{max-height:11rem}.max-h-48{max-height:12rem}.max-h-52{max-height:13rem}.max-h-56{max-height:14rem}.max-h-60{max-height:15rem}.max-h-64{max-height:16rem}.max-h-72{max-height:18rem}.max-h-80{max-height:20rem}.max-h-96{max-height:24rem}.max-h-screen{max-height:100vh}.max-h-px{max-height:1px}.max-h-0\.5{max-height:.125rem}.max-h-1\.5{max-height:.375rem}.max-h-2\.5{max-height:.625rem}.max-h-3\.5{max-height:.875rem}.max-h-1\/2{max-height:50%}.max-h-1\/3{max-height:33.333333%}.max-h-2\/3{max-height:66.666667%}.max-h-1\/4{max-height:25%}.max-h-2\/4{max-height:50%}.max-h-3\/4{max-height:75%}.max-h-1\/5{max-height:20%}.max-h-2\/5{max-height:40%}.max-h-3\/5{max-height:60%}.max-h-4\/5{max-height:80%}.max-h-1\/6{max-height:16.666667%}.max-h-2\/6{max-height:33.333333%}.max-h-3\/6{max-height:50%}.max-h-4\/6{max-height:66.666667%}.max-h-5\/6{max-height:83.333333%}.max-h-1\/12{max-height:8.333333%}.max-h-2\/12{max-height:16.666667%}.max-h-3\/12{max-height:25%}.max-h-4\/12{max-height:33.333333%}.max-h-5\/12{max-height:41.666667%}.max-h-6\/12{max-height:50%}.max-h-7\/12{max-height:58.333333%}.max-h-8\/12{max-height:66.666667%}.max-h-9\/12{max-height:75%}.max-h-10\/12{max-height:83.333333%}.max-h-11\/12{max-height:91.666667%}.max-h-full{max-height:100%}.max-w-0{max-width:0}.max-w-none{max-width:none}.max-w-xs{max-width:20rem}.max-w-sm{max-width:24rem}.max-w-md{max-width:28rem}.max-w-lg{max-width:32rem}.max-w-xl{max-width:36rem}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-4xl{max-width:56rem}.max-w-5xl{max-width:64rem}.max-w-6xl{max-width:72rem}.max-w-7xl{max-width:80rem}.max-w-full{max-width:100%}.max-w-min-content{max-width:-webkit-min-content;max-width:-moz-min-content;max-width:min-content}.max-w-max-content{max-width:-webkit-max-content;max-width:-moz-max-content;max-width:max-content}.max-w-prose{max-width:65ch}.max-w-screen-sm{max-width:640px}.max-w-screen-md{max-width:768px}.max-w-screen-lg{max-width:1024px}.max-w-screen-xl{max-width:1280px}.min-h-0{min-height:0}.min-h-full{min-height:100%}.min-h-screen{min-height:100vh}.min-w-0{min-width:0}.min-w-full{min-width:100%}.min-w-min-content{min-width:-webkit-min-content;min-width:-moz-min-content;min-width:min-content}.min-w-max-content{min-width:-webkit-max-content;min-width:-moz-max-content;min-width:max-content}.object-contain{-o-object-fit:contain;object-fit:contain}.object-cover{-o-object-fit:cover;object-fit:cover}.object-fill{-o-object-fit:fill;object-fit:fill}.object-none{-o-object-fit:none;object-fit:none}.object-scale-down{-o-object-fit:scale-down;object-fit:scale-down}.object-bottom{-o-object-position:bottom;object-position:bottom}.object-center{-o-object-position:center;object-position:center}.object-left{-o-object-position:left;object-position:left}.object-left-bottom{-o-object-position:left bottom;object-position:left bottom}.object-left-top{-o-object-position:left top;object-position:left top}.object-right{-o-object-position:right;object-position:right}.object-right-bottom{-o-object-position:right bottom;object-position:right bottom}.object-right-top{-o-object-position:right top;object-position:right top}.object-top{-o-object-position:top;object-position:top}.opacity-0{opacity:0}.opacity-25{opacity:.25}.opacity-50{opacity:.5}.opacity-75{opacity:.75}.opacity-100{opacity:1}.hover\:opacity-0:hover{opacity:0}.hover\:opacity-25:hover{opacity:.25}.hover\:opacity-50:hover{opacity:.5}.hover\:opacity-75:hover{opacity:.75}.hover\:opacity-100:hover{opacity:1}.focus\:opacity-0:focus{opacity:0}.focus\:opacity-25:focus{opacity:.25}.focus\:opacity-50:focus{opacity:.5}.focus\:opacity-75:focus{opacity:.75}.focus\:opacity-100:focus{opacity:1}.outline-none{outline:0}.focus\:outline-none:focus{outline:0}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-scroll{overflow:scroll}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-hidden{overflow-y:hidden}.overflow-x-visible{overflow-x:visible}.overflow-y-visible{overflow-y:visible}.overflow-x-scroll{overflow-x:scroll}.overflow-y-scroll{overflow-y:scroll}.scrolling-touch{-webkit-overflow-scrolling:touch}.scrolling-auto{-webkit-overflow-scrolling:auto}.p-0{padding:0}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-7{padding:1.75rem}.p-8{padding:2rem}.p-9{padding:2.25rem}.p-10{padding:2.5rem}.p-11{padding:2.75rem}.p-12{padding:3rem}.p-13{padding:3.25rem}.p-14{padding:3.5rem}.p-15{padding:3.75rem}.p-16{padding:4rem}.p-20{padding:5rem}.p-24{padding:6rem}.p-28{padding:7rem}.p-32{padding:8rem}.p-36{padding:9rem}.p-40{padding:10rem}.p-44{padding:11rem}.p-48{padding:12rem}.p-52{padding:13rem}.p-56{padding:14rem}.p-60{padding:15rem}.p-64{padding:16rem}.p-72{padding:18rem}.p-80{padding:20rem}.p-96{padding:24rem}.p-px{padding:1px}.p-0\.5{padding:.125rem}.p-1\.5{padding:.375rem}.p-2\.5{padding:.625rem}.p-3\.5{padding:.875rem}.p-1\/2{padding:50%}.p-1\/3{padding:33.333333%}.p-2\/3{padding:66.666667%}.p-1\/4{padding:25%}.p-2\/4{padding:50%}.p-3\/4{padding:75%}.p-1\/5{padding:20%}.p-2\/5{padding:40%}.p-3\/5{padding:60%}.p-4\/5{padding:80%}.p-1\/6{padding:16.666667%}.p-2\/6{padding:33.333333%}.p-3\/6{padding:50%}.p-4\/6{padding:66.666667%}.p-5\/6{padding:83.333333%}.p-1\/12{padding:8.333333%}.p-2\/12{padding:16.666667%}.p-3\/12{padding:25%}.p-4\/12{padding:33.333333%}.p-5\/12{padding:41.666667%}.p-6\/12{padding:50%}.p-7\/12{padding:58.333333%}.p-8\/12{padding:66.666667%}.p-9\/12{padding:75%}.p-10\/12{padding:83.333333%}.p-11\/12{padding:91.666667%}.p-full{padding:100%}.py-0{padding-top:0;padding-bottom:0}.px-0{padding-left:0;padding-right:0}.py-1{padding-top:.25rem;padding-bottom:.25rem}.px-1{padding-left:.25rem;padding-right:.25rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.px-2{padding-left:.5rem;padding-right:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.px-3{padding-left:.75rem;padding-right:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.px-4{padding-left:1rem;padding-right:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-7{padding-top:1.75rem;padding-bottom:1.75rem}.px-7{padding-left:1.75rem;padding-right:1.75rem}.py-8{padding-top:2rem;padding-bottom:2rem}.px-8{padding-left:2rem;padding-right:2rem}.py-9{padding-top:2.25rem;padding-bottom:2.25rem}.px-9{padding-left:2.25rem;padding-right:2.25rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.px-10{padding-left:2.5rem;padding-right:2.5rem}.py-11{padding-top:2.75rem;padding-bottom:2.75rem}.px-11{padding-left:2.75rem;padding-right:2.75rem}.py-12{padding-top:3rem;padding-bottom:3rem}.px-12{padding-left:3rem;padding-right:3rem}.py-13{padding-top:3.25rem;padding-bottom:3.25rem}.px-13{padding-left:3.25rem;padding-right:3.25rem}.py-14{padding-top:3.5rem;padding-bottom:3.5rem}.px-14{padding-left:3.5rem;padding-right:3.5rem}.py-15{padding-top:3.75rem;padding-bottom:3.75rem}.px-15{padding-left:3.75rem;padding-right:3.75rem}.py-16{padding-top:4rem;padding-bottom:4rem}.px-16{padding-left:4rem;padding-right:4rem}.py-20{padding-top:5rem;padding-bottom:5rem}.px-20{padding-left:5rem;padding-right:5rem}.py-24{padding-top:6rem;padding-bottom:6rem}.px-24{padding-left:6rem;padding-right:6rem}.py-28{padding-top:7rem;padding-bottom:7rem}.px-28{padding-left:7rem;padding-right:7rem}.py-32{padding-top:8rem;padding-bottom:8rem}.px-32{padding-left:8rem;padding-right:8rem}.py-36{padding-top:9rem;padding-bottom:9rem}.px-36{padding-left:9rem;padding-right:9rem}.py-40{padding-top:10rem;padding-bottom:10rem}.px-40{padding-left:10rem;padding-right:10rem}.py-44{padding-top:11rem;padding-bottom:11rem}.px-44{padding-left:11rem;padding-right:11rem}.py-48{padding-top:12rem;padding-bottom:12rem}.px-48{padding-left:12rem;padding-right:12rem}.py-52{padding-top:13rem;padding-bottom:13rem}.px-52{padding-left:13rem;padding-right:13rem}.py-56{padding-top:14rem;padding-bottom:14rem}.px-56{padding-left:14rem;padding-right:14rem}.py-60{padding-top:15rem;padding-bottom:15rem}.px-60{padding-left:15rem;padding-right:15rem}.py-64{padding-top:16rem;padding-bottom:16rem}.px-64{padding-left:16rem;padding-right:16rem}.py-72{padding-top:18rem;padding-bottom:18rem}.px-72{padding-left:18rem;padding-right:18rem}.py-80{padding-top:20rem;padding-bottom:20rem}.px-80{padding-left:20rem;padding-right:20rem}.py-96{padding-top:24rem;padding-bottom:24rem}.px-96{padding-left:24rem;padding-right:24rem}.py-px{padding-top:1px;padding-bottom:1px}.px-px{padding-left:1px;padding-right:1px}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.px-0\.5{padding-left:.125rem;padding-right:.125rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.py-3\.5{padding-top:.875rem;padding-bottom:.875rem}.px-3\.5{padding-left:.875rem;padding-right:.875rem}.py-1\/2{padding-top:50%;padding-bottom:50%}.px-1\/2{padding-left:50%;padding-right:50%}.py-1\/3{padding-top:33.333333%;padding-bottom:33.333333%}.px-1\/3{padding-left:33.333333%;padding-right:33.333333%}.py-2\/3{padding-top:66.666667%;padding-bottom:66.666667%}.px-2\/3{padding-left:66.666667%;padding-right:66.666667%}.py-1\/4{padding-top:25%;padding-bottom:25%}.px-1\/4{padding-left:25%;padding-right:25%}.py-2\/4{padding-top:50%;padding-bottom:50%}.px-2\/4{padding-left:50%;padding-right:50%}.py-3\/4{padding-top:75%;padding-bottom:75%}.px-3\/4{padding-left:75%;padding-right:75%}.py-1\/5{padding-top:20%;padding-bottom:20%}.px-1\/5{padding-left:20%;padding-right:20%}.py-2\/5{padding-top:40%;padding-bottom:40%}.px-2\/5{padding-left:40%;padding-right:40%}.py-3\/5{padding-top:60%;padding-bottom:60%}.px-3\/5{padding-left:60%;padding-right:60%}.py-4\/5{padding-top:80%;padding-bottom:80%}.px-4\/5{padding-left:80%;padding-right:80%}.py-1\/6{padding-top:16.666667%;padding-bottom:16.666667%}.px-1\/6{padding-left:16.666667%;padding-right:16.666667%}.py-2\/6{padding-top:33.333333%;padding-bottom:33.333333%}.px-2\/6{padding-left:33.333333%;padding-right:33.333333%}.py-3\/6{padding-top:50%;padding-bottom:50%}.px-3\/6{padding-left:50%;padding-right:50%}.py-4\/6{padding-top:66.666667%;padding-bottom:66.666667%}.px-4\/6{padding-left:66.666667%;padding-right:66.666667%}.py-5\/6{padding-top:83.333333%;padding-bottom:83.333333%}.px-5\/6{padding-left:83.333333%;padding-right:83.333333%}.py-1\/12{padding-top:8.333333%;padding-bottom:8.333333%}.px-1\/12{padding-left:8.333333%;padding-right:8.333333%}.py-2\/12{padding-top:16.666667%;padding-bottom:16.666667%}.px-2\/12{padding-left:16.666667%;padding-right:16.666667%}.py-3\/12{padding-top:25%;padding-bottom:25%}.px-3\/12{padding-left:25%;padding-right:25%}.py-4\/12{padding-top:33.333333%;padding-bottom:33.333333%}.px-4\/12{padding-left:33.333333%;padding-right:33.333333%}.py-5\/12{padding-top:41.666667%;padding-bottom:41.666667%}.px-5\/12{padding-left:41.666667%;padding-right:41.666667%}.py-6\/12{padding-top:50%;padding-bottom:50%}.px-6\/12{padding-left:50%;padding-right:50%}.py-7\/12{padding-top:58.333333%;padding-bottom:58.333333%}.px-7\/12{padding-left:58.333333%;padding-right:58.333333%}.py-8\/12{padding-top:66.666667%;padding-bottom:66.666667%}.px-8\/12{padding-left:66.666667%;padding-right:66.666667%}.py-9\/12{padding-top:75%;padding-bottom:75%}.px-9\/12{padding-left:75%;padding-right:75%}.py-10\/12{padding-top:83.333333%;padding-bottom:83.333333%}.px-10\/12{padding-left:83.333333%;padding-right:83.333333%}.py-11\/12{padding-top:91.666667%;padding-bottom:91.666667%}.px-11\/12{padding-left:91.666667%;padding-right:91.666667%}.py-full{padding-top:100%;padding-bottom:100%}.px-full{padding-left:100%;padding-right:100%}.pt-0{padding-top:0}.pr-0{padding-right:0}.pb-0{padding-bottom:0}.pl-0{padding-left:0}.pt-1{padding-top:.25rem}.pr-1{padding-right:.25rem}.pb-1{padding-bottom:.25rem}.pl-1{padding-left:.25rem}.pt-2{padding-top:.5rem}.pr-2{padding-right:.5rem}.pb-2{padding-bottom:.5rem}.pl-2{padding-left:.5rem}.pt-3{padding-top:.75rem}.pr-3{padding-right:.75rem}.pb-3{padding-bottom:.75rem}.pl-3{padding-left:.75rem}.pt-4{padding-top:1rem}.pr-4{padding-right:1rem}.pb-4{padding-bottom:1rem}.pl-4{padding-left:1rem}.pt-5{padding-top:1.25rem}.pr-5{padding-right:1.25rem}.pb-5{padding-bottom:1.25rem}.pl-5{padding-left:1.25rem}.pt-6{padding-top:1.5rem}.pr-6{padding-right:1.5rem}.pb-6{padding-bottom:1.5rem}.pl-6{padding-left:1.5rem}.pt-7{padding-top:1.75rem}.pr-7{padding-right:1.75rem}.pb-7{padding-bottom:1.75rem}.pl-7{padding-left:1.75rem}.pt-8{padding-top:2rem}.pr-8{padding-right:2rem}.pb-8{padding-bottom:2rem}.pl-8{padding-left:2rem}.pt-9{padding-top:2.25rem}.pr-9{padding-right:2.25rem}.pb-9{padding-bottom:2.25rem}.pl-9{padding-left:2.25rem}.pt-10{padding-top:2.5rem}.pr-10{padding-right:2.5rem}.pb-10{padding-bottom:2.5rem}.pl-10{padding-left:2.5rem}.pt-11{padding-top:2.75rem}.pr-11{padding-right:2.75rem}.pb-11{padding-bottom:2.75rem}.pl-11{padding-left:2.75rem}.pt-12{padding-top:3rem}.pr-12{padding-right:3rem}.pb-12{padding-bottom:3rem}.pl-12{padding-left:3rem}.pt-13{padding-top:3.25rem}.pr-13{padding-right:3.25rem}.pb-13{padding-bottom:3.25rem}.pl-13{padding-left:3.25rem}.pt-14{padding-top:3.5rem}.pr-14{padding-right:3.5rem}.pb-14{padding-bottom:3.5rem}.pl-14{padding-left:3.5rem}.pt-15{padding-top:3.75rem}.pr-15{padding-right:3.75rem}.pb-15{padding-bottom:3.75rem}.pl-15{padding-left:3.75rem}.pt-16{padding-top:4rem}.pr-16{padding-right:4rem}.pb-16{padding-bottom:4rem}.pl-16{padding-left:4rem}.pt-20{padding-top:5rem}.pr-20{padding-right:5rem}.pb-20{padding-bottom:5rem}.pl-20{padding-left:5rem}.pt-24{padding-top:6rem}.pr-24{padding-right:6rem}.pb-24{padding-bottom:6rem}.pl-24{padding-left:6rem}.pt-28{padding-top:7rem}.pr-28{padding-right:7rem}.pb-28{padding-bottom:7rem}.pl-28{padding-left:7rem}.pt-32{padding-top:8rem}.pr-32{padding-right:8rem}.pb-32{padding-bottom:8rem}.pl-32{padding-left:8rem}.pt-36{padding-top:9rem}.pr-36{padding-right:9rem}.pb-36{padding-bottom:9rem}.pl-36{padding-left:9rem}.pt-40{padding-top:10rem}.pr-40{padding-right:10rem}.pb-40{padding-bottom:10rem}.pl-40{padding-left:10rem}.pt-44{padding-top:11rem}.pr-44{padding-right:11rem}.pb-44{padding-bottom:11rem}.pl-44{padding-left:11rem}.pt-48{padding-top:12rem}.pr-48{padding-right:12rem}.pb-48{padding-bottom:12rem}.pl-48{padding-left:12rem}.pt-52{padding-top:13rem}.pr-52{padding-right:13rem}.pb-52{padding-bottom:13rem}.pl-52{padding-left:13rem}.pt-56{padding-top:14rem}.pr-56{padding-right:14rem}.pb-56{padding-bottom:14rem}.pl-56{padding-left:14rem}.pt-60{padding-top:15rem}.pr-60{padding-right:15rem}.pb-60{padding-bottom:15rem}.pl-60{padding-left:15rem}.pt-64{padding-top:16rem}.pr-64{padding-right:16rem}.pb-64{padding-bottom:16rem}.pl-64{padding-left:16rem}.pt-72{padding-top:18rem}.pr-72{padding-right:18rem}.pb-72{padding-bottom:18rem}.pl-72{padding-left:18rem}.pt-80{padding-top:20rem}.pr-80{padding-right:20rem}.pb-80{padding-bottom:20rem}.pl-80{padding-left:20rem}.pt-96{padding-top:24rem}.pr-96{padding-right:24rem}.pb-96{padding-bottom:24rem}.pl-96{padding-left:24rem}.pt-px{padding-top:1px}.pr-px{padding-right:1px}.pb-px{padding-bottom:1px}.pl-px{padding-left:1px}.pt-0\.5{padding-top:.125rem}.pr-0\.5{padding-right:.125rem}.pb-0\.5{padding-bottom:.125rem}.pl-0\.5{padding-left:.125rem}.pt-1\.5{padding-top:.375rem}.pr-1\.5{padding-right:.375rem}.pb-1\.5{padding-bottom:.375rem}.pl-1\.5{padding-left:.375rem}.pt-2\.5{padding-top:.625rem}.pr-2\.5{padding-right:.625rem}.pb-2\.5{padding-bottom:.625rem}.pl-2\.5{padding-left:.625rem}.pt-3\.5{padding-top:.875rem}.pr-3\.5{padding-right:.875rem}.pb-3\.5{padding-bottom:.875rem}.pl-3\.5{padding-left:.875rem}.pt-1\/2{padding-top:50%}.pr-1\/2{padding-right:50%}.pb-1\/2{padding-bottom:50%}.pl-1\/2{padding-left:50%}.pt-1\/3{padding-top:33.333333%}.pr-1\/3{padding-right:33.333333%}.pb-1\/3{padding-bottom:33.333333%}.pl-1\/3{padding-left:33.333333%}.pt-2\/3{padding-top:66.666667%}.pr-2\/3{padding-right:66.666667%}.pb-2\/3{padding-bottom:66.666667%}.pl-2\/3{padding-left:66.666667%}.pt-1\/4{padding-top:25%}.pr-1\/4{padding-right:25%}.pb-1\/4{padding-bottom:25%}.pl-1\/4{padding-left:25%}.pt-2\/4{padding-top:50%}.pr-2\/4{padding-right:50%}.pb-2\/4{padding-bottom:50%}.pl-2\/4{padding-left:50%}.pt-3\/4{padding-top:75%}.pr-3\/4{padding-right:75%}.pb-3\/4{padding-bottom:75%}.pl-3\/4{padding-left:75%}.pt-1\/5{padding-top:20%}.pr-1\/5{padding-right:20%}.pb-1\/5{padding-bottom:20%}.pl-1\/5{padding-left:20%}.pt-2\/5{padding-top:40%}.pr-2\/5{padding-right:40%}.pb-2\/5{padding-bottom:40%}.pl-2\/5{padding-left:40%}.pt-3\/5{padding-top:60%}.pr-3\/5{padding-right:60%}.pb-3\/5{padding-bottom:60%}.pl-3\/5{padding-left:60%}.pt-4\/5{padding-top:80%}.pr-4\/5{padding-right:80%}.pb-4\/5{padding-bottom:80%}.pl-4\/5{padding-left:80%}.pt-1\/6{padding-top:16.666667%}.pr-1\/6{padding-right:16.666667%}.pb-1\/6{padding-bottom:16.666667%}.pl-1\/6{padding-left:16.666667%}.pt-2\/6{padding-top:33.333333%}.pr-2\/6{padding-right:33.333333%}.pb-2\/6{padding-bottom:33.333333%}.pl-2\/6{padding-left:33.333333%}.pt-3\/6{padding-top:50%}.pr-3\/6{padding-right:50%}.pb-3\/6{padding-bottom:50%}.pl-3\/6{padding-left:50%}.pt-4\/6{padding-top:66.666667%}.pr-4\/6{padding-right:66.666667%}.pb-4\/6{padding-bottom:66.666667%}.pl-4\/6{padding-left:66.666667%}.pt-5\/6{padding-top:83.333333%}.pr-5\/6{padding-right:83.333333%}.pb-5\/6{padding-bottom:83.333333%}.pl-5\/6{padding-left:83.333333%}.pt-1\/12{padding-top:8.333333%}.pr-1\/12{padding-right:8.333333%}.pb-1\/12{padding-bottom:8.333333%}.pl-1\/12{padding-left:8.333333%}.pt-2\/12{padding-top:16.666667%}.pr-2\/12{padding-right:16.666667%}.pb-2\/12{padding-bottom:16.666667%}.pl-2\/12{padding-left:16.666667%}.pt-3\/12{padding-top:25%}.pr-3\/12{padding-right:25%}.pb-3\/12{padding-bottom:25%}.pl-3\/12{padding-left:25%}.pt-4\/12{padding-top:33.333333%}.pr-4\/12{padding-right:33.333333%}.pb-4\/12{padding-bottom:33.333333%}.pl-4\/12{padding-left:33.333333%}.pt-5\/12{padding-top:41.666667%}.pr-5\/12{padding-right:41.666667%}.pb-5\/12{padding-bottom:41.666667%}.pl-5\/12{padding-left:41.666667%}.pt-6\/12{padding-top:50%}.pr-6\/12{padding-right:50%}.pb-6\/12{padding-bottom:50%}.pl-6\/12{padding-left:50%}.pt-7\/12{padding-top:58.333333%}.pr-7\/12{padding-right:58.333333%}.pb-7\/12{padding-bottom:58.333333%}.pl-7\/12{padding-left:58.333333%}.pt-8\/12{padding-top:66.666667%}.pr-8\/12{padding-right:66.666667%}.pb-8\/12{padding-bottom:66.666667%}.pl-8\/12{padding-left:66.666667%}.pt-9\/12{padding-top:75%}.pr-9\/12{padding-right:75%}.pb-9\/12{padding-bottom:75%}.pl-9\/12{padding-left:75%}.pt-10\/12{padding-top:83.333333%}.pr-10\/12{padding-right:83.333333%}.pb-10\/12{padding-bottom:83.333333%}.pl-10\/12{padding-left:83.333333%}.pt-11\/12{padding-top:91.666667%}.pr-11\/12{padding-right:91.666667%}.pb-11\/12{padding-bottom:91.666667%}.pl-11\/12{padding-left:91.666667%}.pt-full{padding-top:100%}.pr-full{padding-right:100%}.pb-full{padding-bottom:100%}.pl-full{padding-left:100%}.placeholder-transparent::-moz-placeholder{color:transparent}.placeholder-transparent:-ms-input-placeholder{color:transparent}.placeholder-transparent::-ms-input-placeholder{color:transparent}.placeholder-transparent::placeholder{color:transparent}.placeholder-white::-moz-placeholder{--placeholder-opacity:1;color:#fff;color:rgba(255,255,255,var(--placeholder-opacity))}.placeholder-white:-ms-input-placeholder{--placeholder-opacity:1;color:#fff;color:rgba(255,255,255,var(--placeholder-opacity))}.placeholder-white::-ms-input-placeholder{--placeholder-opacity:1;color:#fff;color:rgba(255,255,255,var(--placeholder-opacity))}.placeholder-white::placeholder{--placeholder-opacity:1;color:#fff;color:rgba(255,255,255,var(--placeholder-opacity))}.placeholder-black::-moz-placeholder{--placeholder-opacity:1;color:#000;color:rgba(0,0,0,var(--placeholder-opacity))}.placeholder-black:-ms-input-placeholder{--placeholder-opacity:1;color:#000;color:rgba(0,0,0,var(--placeholder-opacity))}.placeholder-black::-ms-input-placeholder{--placeholder-opacity:1;color:#000;color:rgba(0,0,0,var(--placeholder-opacity))}.placeholder-black::placeholder{--placeholder-opacity:1;color:#000;color:rgba(0,0,0,var(--placeholder-opacity))}.placeholder-gray-50::-moz-placeholder{--placeholder-opacity:1;color:#f9fafb;color:rgba(249,250,251,var(--placeholder-opacity))}.placeholder-gray-50:-ms-input-placeholder{--placeholder-opacity:1;color:#f9fafb;color:rgba(249,250,251,var(--placeholder-opacity))}.placeholder-gray-50::-ms-input-placeholder{--placeholder-opacity:1;color:#f9fafb;color:rgba(249,250,251,var(--placeholder-opacity))}.placeholder-gray-50::placeholder{--placeholder-opacity:1;color:#f9fafb;color:rgba(249,250,251,var(--placeholder-opacity))}.placeholder-gray-100::-moz-placeholder{--placeholder-opacity:1;color:#f4f5f7;color:rgba(244,245,247,var(--placeholder-opacity))}.placeholder-gray-100:-ms-input-placeholder{--placeholder-opacity:1;color:#f4f5f7;color:rgba(244,245,247,var(--placeholder-opacity))}.placeholder-gray-100::-ms-input-placeholder{--placeholder-opacity:1;color:#f4f5f7;color:rgba(244,245,247,var(--placeholder-opacity))}.placeholder-gray-100::placeholder{--placeholder-opacity:1;color:#f4f5f7;color:rgba(244,245,247,var(--placeholder-opacity))}.placeholder-gray-200::-moz-placeholder{--placeholder-opacity:1;color:#e5e7eb;color:rgba(229,231,235,var(--placeholder-opacity))}.placeholder-gray-200:-ms-input-placeholder{--placeholder-opacity:1;color:#e5e7eb;color:rgba(229,231,235,var(--placeholder-opacity))}.placeholder-gray-200::-ms-input-placeholder{--placeholder-opacity:1;color:#e5e7eb;color:rgba(229,231,235,var(--placeholder-opacity))}.placeholder-gray-200::placeholder{--placeholder-opacity:1;color:#e5e7eb;color:rgba(229,231,235,var(--placeholder-opacity))}.placeholder-gray-300::-moz-placeholder{--placeholder-opacity:1;color:#d2d6dc;color:rgba(210,214,220,var(--placeholder-opacity))}.placeholder-gray-300:-ms-input-placeholder{--placeholder-opacity:1;color:#d2d6dc;color:rgba(210,214,220,var(--placeholder-opacity))}.placeholder-gray-300::-ms-input-placeholder{--placeholder-opacity:1;color:#d2d6dc;color:rgba(210,214,220,var(--placeholder-opacity))}.placeholder-gray-300::placeholder{--placeholder-opacity:1;color:#d2d6dc;color:rgba(210,214,220,var(--placeholder-opacity))}.placeholder-gray-400::-moz-placeholder{--placeholder-opacity:1;color:#9fa6b2;color:rgba(159,166,178,var(--placeholder-opacity))}.placeholder-gray-400:-ms-input-placeholder{--placeholder-opacity:1;color:#9fa6b2;color:rgba(159,166,178,var(--placeholder-opacity))}.placeholder-gray-400::-ms-input-placeholder{--placeholder-opacity:1;color:#9fa6b2;color:rgba(159,166,178,var(--placeholder-opacity))}.placeholder-gray-400::placeholder{--placeholder-opacity:1;color:#9fa6b2;color:rgba(159,166,178,var(--placeholder-opacity))}.placeholder-gray-500::-moz-placeholder{--placeholder-opacity:1;color:#6b7280;color:rgba(107,114,128,var(--placeholder-opacity))}.placeholder-gray-500:-ms-input-placeholder{--placeholder-opacity:1;color:#6b7280;color:rgba(107,114,128,var(--placeholder-opacity))}.placeholder-gray-500::-ms-input-placeholder{--placeholder-opacity:1;color:#6b7280;color:rgba(107,114,128,var(--placeholder-opacity))}.placeholder-gray-500::placeholder{--placeholder-opacity:1;color:#6b7280;color:rgba(107,114,128,var(--placeholder-opacity))}.placeholder-gray-600::-moz-placeholder{--placeholder-opacity:1;color:#4b5563;color:rgba(75,85,99,var(--placeholder-opacity))}.placeholder-gray-600:-ms-input-placeholder{--placeholder-opacity:1;color:#4b5563;color:rgba(75,85,99,var(--placeholder-opacity))}.placeholder-gray-600::-ms-input-placeholder{--placeholder-opacity:1;color:#4b5563;color:rgba(75,85,99,var(--placeholder-opacity))}.placeholder-gray-600::placeholder{--placeholder-opacity:1;color:#4b5563;color:rgba(75,85,99,var(--placeholder-opacity))}.placeholder-gray-700::-moz-placeholder{--placeholder-opacity:1;color:#374151;color:rgba(55,65,81,var(--placeholder-opacity))}.placeholder-gray-700:-ms-input-placeholder{--placeholder-opacity:1;color:#374151;color:rgba(55,65,81,var(--placeholder-opacity))}.placeholder-gray-700::-ms-input-placeholder{--placeholder-opacity:1;color:#374151;color:rgba(55,65,81,var(--placeholder-opacity))}.placeholder-gray-700::placeholder{--placeholder-opacity:1;color:#374151;color:rgba(55,65,81,var(--placeholder-opacity))}.placeholder-gray-800::-moz-placeholder{--placeholder-opacity:1;color:#252f3f;color:rgba(37,47,63,var(--placeholder-opacity))}.placeholder-gray-800:-ms-input-placeholder{--placeholder-opacity:1;color:#252f3f;color:rgba(37,47,63,var(--placeholder-opacity))}.placeholder-gray-800::-ms-input-placeholder{--placeholder-opacity:1;color:#252f3f;color:rgba(37,47,63,var(--placeholder-opacity))}.placeholder-gray-800::placeholder{--placeholder-opacity:1;color:#252f3f;color:rgba(37,47,63,var(--placeholder-opacity))}.placeholder-gray-900::-moz-placeholder{--placeholder-opacity:1;color:#161e2e;color:rgba(22,30,46,var(--placeholder-opacity))}.placeholder-gray-900:-ms-input-placeholder{--placeholder-opacity:1;color:#161e2e;color:rgba(22,30,46,var(--placeholder-opacity))}.placeholder-gray-900::-ms-input-placeholder{--placeholder-opacity:1;color:#161e2e;color:rgba(22,30,46,var(--placeholder-opacity))}.placeholder-gray-900::placeholder{--placeholder-opacity:1;color:#161e2e;color:rgba(22,30,46,var(--placeholder-opacity))}.placeholder-cool-gray-50::-moz-placeholder{--placeholder-opacity:1;color:#f8fafc;color:rgba(248,250,252,var(--placeholder-opacity))}.placeholder-cool-gray-50:-ms-input-placeholder{--placeholder-opacity:1;color:#f8fafc;color:rgba(248,250,252,var(--placeholder-opacity))}.placeholder-cool-gray-50::-ms-input-placeholder{--placeholder-opacity:1;color:#f8fafc;color:rgba(248,250,252,var(--placeholder-opacity))}.placeholder-cool-gray-50::placeholder{--placeholder-opacity:1;color:#f8fafc;color:rgba(248,250,252,var(--placeholder-opacity))}.placeholder-cool-gray-100::-moz-placeholder{--placeholder-opacity:1;color:#f1f5f9;color:rgba(241,245,249,var(--placeholder-opacity))}.placeholder-cool-gray-100:-ms-input-placeholder{--placeholder-opacity:1;color:#f1f5f9;color:rgba(241,245,249,var(--placeholder-opacity))}.placeholder-cool-gray-100::-ms-input-placeholder{--placeholder-opacity:1;color:#f1f5f9;color:rgba(241,245,249,var(--placeholder-opacity))}.placeholder-cool-gray-100::placeholder{--placeholder-opacity:1;color:#f1f5f9;color:rgba(241,245,249,var(--placeholder-opacity))}.placeholder-cool-gray-200::-moz-placeholder{--placeholder-opacity:1;color:#e2e8f0;color:rgba(226,232,240,var(--placeholder-opacity))}.placeholder-cool-gray-200:-ms-input-placeholder{--placeholder-opacity:1;color:#e2e8f0;color:rgba(226,232,240,var(--placeholder-opacity))}.placeholder-cool-gray-200::-ms-input-placeholder{--placeholder-opacity:1;color:#e2e8f0;color:rgba(226,232,240,var(--placeholder-opacity))}.placeholder-cool-gray-200::placeholder{--placeholder-opacity:1;color:#e2e8f0;color:rgba(226,232,240,var(--placeholder-opacity))}.placeholder-cool-gray-300::-moz-placeholder{--placeholder-opacity:1;color:#cfd8e3;color:rgba(207,216,227,var(--placeholder-opacity))}.placeholder-cool-gray-300:-ms-input-placeholder{--placeholder-opacity:1;color:#cfd8e3;color:rgba(207,216,227,var(--placeholder-opacity))}.placeholder-cool-gray-300::-ms-input-placeholder{--placeholder-opacity:1;color:#cfd8e3;color:rgba(207,216,227,var(--placeholder-opacity))}.placeholder-cool-gray-300::placeholder{--placeholder-opacity:1;color:#cfd8e3;color:rgba(207,216,227,var(--placeholder-opacity))}.placeholder-cool-gray-400::-moz-placeholder{--placeholder-opacity:1;color:#97a6ba;color:rgba(151,166,186,var(--placeholder-opacity))}.placeholder-cool-gray-400:-ms-input-placeholder{--placeholder-opacity:1;color:#97a6ba;color:rgba(151,166,186,var(--placeholder-opacity))}.placeholder-cool-gray-400::-ms-input-placeholder{--placeholder-opacity:1;color:#97a6ba;color:rgba(151,166,186,var(--placeholder-opacity))}.placeholder-cool-gray-400::placeholder{--placeholder-opacity:1;color:#97a6ba;color:rgba(151,166,186,var(--placeholder-opacity))}.placeholder-cool-gray-500::-moz-placeholder{--placeholder-opacity:1;color:#64748b;color:rgba(100,116,139,var(--placeholder-opacity))}.placeholder-cool-gray-500:-ms-input-placeholder{--placeholder-opacity:1;color:#64748b;color:rgba(100,116,139,var(--placeholder-opacity))}.placeholder-cool-gray-500::-ms-input-placeholder{--placeholder-opacity:1;color:#64748b;color:rgba(100,116,139,var(--placeholder-opacity))}.placeholder-cool-gray-500::placeholder{--placeholder-opacity:1;color:#64748b;color:rgba(100,116,139,var(--placeholder-opacity))}.placeholder-cool-gray-600::-moz-placeholder{--placeholder-opacity:1;color:#475569;color:rgba(71,85,105,var(--placeholder-opacity))}.placeholder-cool-gray-600:-ms-input-placeholder{--placeholder-opacity:1;color:#475569;color:rgba(71,85,105,var(--placeholder-opacity))}.placeholder-cool-gray-600::-ms-input-placeholder{--placeholder-opacity:1;color:#475569;color:rgba(71,85,105,var(--placeholder-opacity))}.placeholder-cool-gray-600::placeholder{--placeholder-opacity:1;color:#475569;color:rgba(71,85,105,var(--placeholder-opacity))}.placeholder-cool-gray-700::-moz-placeholder{--placeholder-opacity:1;color:#364152;color:rgba(54,65,82,var(--placeholder-opacity))}.placeholder-cool-gray-700:-ms-input-placeholder{--placeholder-opacity:1;color:#364152;color:rgba(54,65,82,var(--placeholder-opacity))}.placeholder-cool-gray-700::-ms-input-placeholder{--placeholder-opacity:1;color:#364152;color:rgba(54,65,82,var(--placeholder-opacity))}.placeholder-cool-gray-700::placeholder{--placeholder-opacity:1;color:#364152;color:rgba(54,65,82,var(--placeholder-opacity))}.placeholder-cool-gray-800::-moz-placeholder{--placeholder-opacity:1;color:#27303f;color:rgba(39,48,63,var(--placeholder-opacity))}.placeholder-cool-gray-800:-ms-input-placeholder{--placeholder-opacity:1;color:#27303f;color:rgba(39,48,63,var(--placeholder-opacity))}.placeholder-cool-gray-800::-ms-input-placeholder{--placeholder-opacity:1;color:#27303f;color:rgba(39,48,63,var(--placeholder-opacity))}.placeholder-cool-gray-800::placeholder{--placeholder-opacity:1;color:#27303f;color:rgba(39,48,63,var(--placeholder-opacity))}.placeholder-cool-gray-900::-moz-placeholder{--placeholder-opacity:1;color:#1a202e;color:rgba(26,32,46,var(--placeholder-opacity))}.placeholder-cool-gray-900:-ms-input-placeholder{--placeholder-opacity:1;color:#1a202e;color:rgba(26,32,46,var(--placeholder-opacity))}.placeholder-cool-gray-900::-ms-input-placeholder{--placeholder-opacity:1;color:#1a202e;color:rgba(26,32,46,var(--placeholder-opacity))}.placeholder-cool-gray-900::placeholder{--placeholder-opacity:1;color:#1a202e;color:rgba(26,32,46,var(--placeholder-opacity))}.placeholder-red-50::-moz-placeholder{--placeholder-opacity:1;color:#fdf2f2;color:rgba(253,242,242,var(--placeholder-opacity))}.placeholder-red-50:-ms-input-placeholder{--placeholder-opacity:1;color:#fdf2f2;color:rgba(253,242,242,var(--placeholder-opacity))}.placeholder-red-50::-ms-input-placeholder{--placeholder-opacity:1;color:#fdf2f2;color:rgba(253,242,242,var(--placeholder-opacity))}.placeholder-red-50::placeholder{--placeholder-opacity:1;color:#fdf2f2;color:rgba(253,242,242,var(--placeholder-opacity))}.placeholder-red-100::-moz-placeholder{--placeholder-opacity:1;color:#fde8e8;color:rgba(253,232,232,var(--placeholder-opacity))}.placeholder-red-100:-ms-input-placeholder{--placeholder-opacity:1;color:#fde8e8;color:rgba(253,232,232,var(--placeholder-opacity))}.placeholder-red-100::-ms-input-placeholder{--placeholder-opacity:1;color:#fde8e8;color:rgba(253,232,232,var(--placeholder-opacity))}.placeholder-red-100::placeholder{--placeholder-opacity:1;color:#fde8e8;color:rgba(253,232,232,var(--placeholder-opacity))}.placeholder-red-200::-moz-placeholder{--placeholder-opacity:1;color:#fbd5d5;color:rgba(251,213,213,var(--placeholder-opacity))}.placeholder-red-200:-ms-input-placeholder{--placeholder-opacity:1;color:#fbd5d5;color:rgba(251,213,213,var(--placeholder-opacity))}.placeholder-red-200::-ms-input-placeholder{--placeholder-opacity:1;color:#fbd5d5;color:rgba(251,213,213,var(--placeholder-opacity))}.placeholder-red-200::placeholder{--placeholder-opacity:1;color:#fbd5d5;color:rgba(251,213,213,var(--placeholder-opacity))}.placeholder-red-300::-moz-placeholder{--placeholder-opacity:1;color:#f8b4b4;color:rgba(248,180,180,var(--placeholder-opacity))}.placeholder-red-300:-ms-input-placeholder{--placeholder-opacity:1;color:#f8b4b4;color:rgba(248,180,180,var(--placeholder-opacity))}.placeholder-red-300::-ms-input-placeholder{--placeholder-opacity:1;color:#f8b4b4;color:rgba(248,180,180,var(--placeholder-opacity))}.placeholder-red-300::placeholder{--placeholder-opacity:1;color:#f8b4b4;color:rgba(248,180,180,var(--placeholder-opacity))}.placeholder-red-400::-moz-placeholder{--placeholder-opacity:1;color:#f98080;color:rgba(249,128,128,var(--placeholder-opacity))}.placeholder-red-400:-ms-input-placeholder{--placeholder-opacity:1;color:#f98080;color:rgba(249,128,128,var(--placeholder-opacity))}.placeholder-red-400::-ms-input-placeholder{--placeholder-opacity:1;color:#f98080;color:rgba(249,128,128,var(--placeholder-opacity))}.placeholder-red-400::placeholder{--placeholder-opacity:1;color:#f98080;color:rgba(249,128,128,var(--placeholder-opacity))}.placeholder-red-500::-moz-placeholder{--placeholder-opacity:1;color:#f05252;color:rgba(240,82,82,var(--placeholder-opacity))}.placeholder-red-500:-ms-input-placeholder{--placeholder-opacity:1;color:#f05252;color:rgba(240,82,82,var(--placeholder-opacity))}.placeholder-red-500::-ms-input-placeholder{--placeholder-opacity:1;color:#f05252;color:rgba(240,82,82,var(--placeholder-opacity))}.placeholder-red-500::placeholder{--placeholder-opacity:1;color:#f05252;color:rgba(240,82,82,var(--placeholder-opacity))}.placeholder-red-600::-moz-placeholder{--placeholder-opacity:1;color:#e02424;color:rgba(224,36,36,var(--placeholder-opacity))}.placeholder-red-600:-ms-input-placeholder{--placeholder-opacity:1;color:#e02424;color:rgba(224,36,36,var(--placeholder-opacity))}.placeholder-red-600::-ms-input-placeholder{--placeholder-opacity:1;color:#e02424;color:rgba(224,36,36,var(--placeholder-opacity))}.placeholder-red-600::placeholder{--placeholder-opacity:1;color:#e02424;color:rgba(224,36,36,var(--placeholder-opacity))}.placeholder-red-700::-moz-placeholder{--placeholder-opacity:1;color:#c81e1e;color:rgba(200,30,30,var(--placeholder-opacity))}.placeholder-red-700:-ms-input-placeholder{--placeholder-opacity:1;color:#c81e1e;color:rgba(200,30,30,var(--placeholder-opacity))}.placeholder-red-700::-ms-input-placeholder{--placeholder-opacity:1;color:#c81e1e;color:rgba(200,30,30,var(--placeholder-opacity))}.placeholder-red-700::placeholder{--placeholder-opacity:1;color:#c81e1e;color:rgba(200,30,30,var(--placeholder-opacity))}.placeholder-red-800::-moz-placeholder{--placeholder-opacity:1;color:#9b1c1c;color:rgba(155,28,28,var(--placeholder-opacity))}.placeholder-red-800:-ms-input-placeholder{--placeholder-opacity:1;color:#9b1c1c;color:rgba(155,28,28,var(--placeholder-opacity))}.placeholder-red-800::-ms-input-placeholder{--placeholder-opacity:1;color:#9b1c1c;color:rgba(155,28,28,var(--placeholder-opacity))}.placeholder-red-800::placeholder{--placeholder-opacity:1;color:#9b1c1c;color:rgba(155,28,28,var(--placeholder-opacity))}.placeholder-red-900::-moz-placeholder{--placeholder-opacity:1;color:#771d1d;color:rgba(119,29,29,var(--placeholder-opacity))}.placeholder-red-900:-ms-input-placeholder{--placeholder-opacity:1;color:#771d1d;color:rgba(119,29,29,var(--placeholder-opacity))}.placeholder-red-900::-ms-input-placeholder{--placeholder-opacity:1;color:#771d1d;color:rgba(119,29,29,var(--placeholder-opacity))}.placeholder-red-900::placeholder{--placeholder-opacity:1;color:#771d1d;color:rgba(119,29,29,var(--placeholder-opacity))}.placeholder-orange-50::-moz-placeholder{--placeholder-opacity:1;color:#fff8f1;color:rgba(255,248,241,var(--placeholder-opacity))}.placeholder-orange-50:-ms-input-placeholder{--placeholder-opacity:1;color:#fff8f1;color:rgba(255,248,241,var(--placeholder-opacity))}.placeholder-orange-50::-ms-input-placeholder{--placeholder-opacity:1;color:#fff8f1;color:rgba(255,248,241,var(--placeholder-opacity))}.placeholder-orange-50::placeholder{--placeholder-opacity:1;color:#fff8f1;color:rgba(255,248,241,var(--placeholder-opacity))}.placeholder-orange-100::-moz-placeholder{--placeholder-opacity:1;color:#feecdc;color:rgba(254,236,220,var(--placeholder-opacity))}.placeholder-orange-100:-ms-input-placeholder{--placeholder-opacity:1;color:#feecdc;color:rgba(254,236,220,var(--placeholder-opacity))}.placeholder-orange-100::-ms-input-placeholder{--placeholder-opacity:1;color:#feecdc;color:rgba(254,236,220,var(--placeholder-opacity))}.placeholder-orange-100::placeholder{--placeholder-opacity:1;color:#feecdc;color:rgba(254,236,220,var(--placeholder-opacity))}.placeholder-orange-200::-moz-placeholder{--placeholder-opacity:1;color:#fcd9bd;color:rgba(252,217,189,var(--placeholder-opacity))}.placeholder-orange-200:-ms-input-placeholder{--placeholder-opacity:1;color:#fcd9bd;color:rgba(252,217,189,var(--placeholder-opacity))}.placeholder-orange-200::-ms-input-placeholder{--placeholder-opacity:1;color:#fcd9bd;color:rgba(252,217,189,var(--placeholder-opacity))}.placeholder-orange-200::placeholder{--placeholder-opacity:1;color:#fcd9bd;color:rgba(252,217,189,var(--placeholder-opacity))}.placeholder-orange-300::-moz-placeholder{--placeholder-opacity:1;color:#fdba8c;color:rgba(253,186,140,var(--placeholder-opacity))}.placeholder-orange-300:-ms-input-placeholder{--placeholder-opacity:1;color:#fdba8c;color:rgba(253,186,140,var(--placeholder-opacity))}.placeholder-orange-300::-ms-input-placeholder{--placeholder-opacity:1;color:#fdba8c;color:rgba(253,186,140,var(--placeholder-opacity))}.placeholder-orange-300::placeholder{--placeholder-opacity:1;color:#fdba8c;color:rgba(253,186,140,var(--placeholder-opacity))}.placeholder-orange-400::-moz-placeholder{--placeholder-opacity:1;color:#ff8a4c;color:rgba(255,138,76,var(--placeholder-opacity))}.placeholder-orange-400:-ms-input-placeholder{--placeholder-opacity:1;color:#ff8a4c;color:rgba(255,138,76,var(--placeholder-opacity))}.placeholder-orange-400::-ms-input-placeholder{--placeholder-opacity:1;color:#ff8a4c;color:rgba(255,138,76,var(--placeholder-opacity))}.placeholder-orange-400::placeholder{--placeholder-opacity:1;color:#ff8a4c;color:rgba(255,138,76,var(--placeholder-opacity))}.placeholder-orange-500::-moz-placeholder{--placeholder-opacity:1;color:#ff5a1f;color:rgba(255,90,31,var(--placeholder-opacity))}.placeholder-orange-500:-ms-input-placeholder{--placeholder-opacity:1;color:#ff5a1f;color:rgba(255,90,31,var(--placeholder-opacity))}.placeholder-orange-500::-ms-input-placeholder{--placeholder-opacity:1;color:#ff5a1f;color:rgba(255,90,31,var(--placeholder-opacity))}.placeholder-orange-500::placeholder{--placeholder-opacity:1;color:#ff5a1f;color:rgba(255,90,31,var(--placeholder-opacity))}.placeholder-orange-600::-moz-placeholder{--placeholder-opacity:1;color:#d03801;color:rgba(208,56,1,var(--placeholder-opacity))}.placeholder-orange-600:-ms-input-placeholder{--placeholder-opacity:1;color:#d03801;color:rgba(208,56,1,var(--placeholder-opacity))}.placeholder-orange-600::-ms-input-placeholder{--placeholder-opacity:1;color:#d03801;color:rgba(208,56,1,var(--placeholder-opacity))}.placeholder-orange-600::placeholder{--placeholder-opacity:1;color:#d03801;color:rgba(208,56,1,var(--placeholder-opacity))}.placeholder-orange-700::-moz-placeholder{--placeholder-opacity:1;color:#b43403;color:rgba(180,52,3,var(--placeholder-opacity))}.placeholder-orange-700:-ms-input-placeholder{--placeholder-opacity:1;color:#b43403;color:rgba(180,52,3,var(--placeholder-opacity))}.placeholder-orange-700::-ms-input-placeholder{--placeholder-opacity:1;color:#b43403;color:rgba(180,52,3,var(--placeholder-opacity))}.placeholder-orange-700::placeholder{--placeholder-opacity:1;color:#b43403;color:rgba(180,52,3,var(--placeholder-opacity))}.placeholder-orange-800::-moz-placeholder{--placeholder-opacity:1;color:#8a2c0d;color:rgba(138,44,13,var(--placeholder-opacity))}.placeholder-orange-800:-ms-input-placeholder{--placeholder-opacity:1;color:#8a2c0d;color:rgba(138,44,13,var(--placeholder-opacity))}.placeholder-orange-800::-ms-input-placeholder{--placeholder-opacity:1;color:#8a2c0d;color:rgba(138,44,13,var(--placeholder-opacity))}.placeholder-orange-800::placeholder{--placeholder-opacity:1;color:#8a2c0d;color:rgba(138,44,13,var(--placeholder-opacity))}.placeholder-orange-900::-moz-placeholder{--placeholder-opacity:1;color:#73230d;color:rgba(115,35,13,var(--placeholder-opacity))}.placeholder-orange-900:-ms-input-placeholder{--placeholder-opacity:1;color:#73230d;color:rgba(115,35,13,var(--placeholder-opacity))}.placeholder-orange-900::-ms-input-placeholder{--placeholder-opacity:1;color:#73230d;color:rgba(115,35,13,var(--placeholder-opacity))}.placeholder-orange-900::placeholder{--placeholder-opacity:1;color:#73230d;color:rgba(115,35,13,var(--placeholder-opacity))}.placeholder-yellow-50::-moz-placeholder{--placeholder-opacity:1;color:#fdfdea;color:rgba(253,253,234,var(--placeholder-opacity))}.placeholder-yellow-50:-ms-input-placeholder{--placeholder-opacity:1;color:#fdfdea;color:rgba(253,253,234,var(--placeholder-opacity))}.placeholder-yellow-50::-ms-input-placeholder{--placeholder-opacity:1;color:#fdfdea;color:rgba(253,253,234,var(--placeholder-opacity))}.placeholder-yellow-50::placeholder{--placeholder-opacity:1;color:#fdfdea;color:rgba(253,253,234,var(--placeholder-opacity))}.placeholder-yellow-100::-moz-placeholder{--placeholder-opacity:1;color:#fdf6b2;color:rgba(253,246,178,var(--placeholder-opacity))}.placeholder-yellow-100:-ms-input-placeholder{--placeholder-opacity:1;color:#fdf6b2;color:rgba(253,246,178,var(--placeholder-opacity))}.placeholder-yellow-100::-ms-input-placeholder{--placeholder-opacity:1;color:#fdf6b2;color:rgba(253,246,178,var(--placeholder-opacity))}.placeholder-yellow-100::placeholder{--placeholder-opacity:1;color:#fdf6b2;color:rgba(253,246,178,var(--placeholder-opacity))}.placeholder-yellow-200::-moz-placeholder{--placeholder-opacity:1;color:#fce96a;color:rgba(252,233,106,var(--placeholder-opacity))}.placeholder-yellow-200:-ms-input-placeholder{--placeholder-opacity:1;color:#fce96a;color:rgba(252,233,106,var(--placeholder-opacity))}.placeholder-yellow-200::-ms-input-placeholder{--placeholder-opacity:1;color:#fce96a;color:rgba(252,233,106,var(--placeholder-opacity))}.placeholder-yellow-200::placeholder{--placeholder-opacity:1;color:#fce96a;color:rgba(252,233,106,var(--placeholder-opacity))}.placeholder-yellow-300::-moz-placeholder{--placeholder-opacity:1;color:#faca15;color:rgba(250,202,21,var(--placeholder-opacity))}.placeholder-yellow-300:-ms-input-placeholder{--placeholder-opacity:1;color:#faca15;color:rgba(250,202,21,var(--placeholder-opacity))}.placeholder-yellow-300::-ms-input-placeholder{--placeholder-opacity:1;color:#faca15;color:rgba(250,202,21,var(--placeholder-opacity))}.placeholder-yellow-300::placeholder{--placeholder-opacity:1;color:#faca15;color:rgba(250,202,21,var(--placeholder-opacity))}.placeholder-yellow-400::-moz-placeholder{--placeholder-opacity:1;color:#e3a008;color:rgba(227,160,8,var(--placeholder-opacity))}.placeholder-yellow-400:-ms-input-placeholder{--placeholder-opacity:1;color:#e3a008;color:rgba(227,160,8,var(--placeholder-opacity))}.placeholder-yellow-400::-ms-input-placeholder{--placeholder-opacity:1;color:#e3a008;color:rgba(227,160,8,var(--placeholder-opacity))}.placeholder-yellow-400::placeholder{--placeholder-opacity:1;color:#e3a008;color:rgba(227,160,8,var(--placeholder-opacity))}.placeholder-yellow-500::-moz-placeholder{--placeholder-opacity:1;color:#c27803;color:rgba(194,120,3,var(--placeholder-opacity))}.placeholder-yellow-500:-ms-input-placeholder{--placeholder-opacity:1;color:#c27803;color:rgba(194,120,3,var(--placeholder-opacity))}.placeholder-yellow-500::-ms-input-placeholder{--placeholder-opacity:1;color:#c27803;color:rgba(194,120,3,var(--placeholder-opacity))}.placeholder-yellow-500::placeholder{--placeholder-opacity:1;color:#c27803;color:rgba(194,120,3,var(--placeholder-opacity))}.placeholder-yellow-600::-moz-placeholder{--placeholder-opacity:1;color:#9f580a;color:rgba(159,88,10,var(--placeholder-opacity))}.placeholder-yellow-600:-ms-input-placeholder{--placeholder-opacity:1;color:#9f580a;color:rgba(159,88,10,var(--placeholder-opacity))}.placeholder-yellow-600::-ms-input-placeholder{--placeholder-opacity:1;color:#9f580a;color:rgba(159,88,10,var(--placeholder-opacity))}.placeholder-yellow-600::placeholder{--placeholder-opacity:1;color:#9f580a;color:rgba(159,88,10,var(--placeholder-opacity))}.placeholder-yellow-700::-moz-placeholder{--placeholder-opacity:1;color:#8e4b10;color:rgba(142,75,16,var(--placeholder-opacity))}.placeholder-yellow-700:-ms-input-placeholder{--placeholder-opacity:1;color:#8e4b10;color:rgba(142,75,16,var(--placeholder-opacity))}.placeholder-yellow-700::-ms-input-placeholder{--placeholder-opacity:1;color:#8e4b10;color:rgba(142,75,16,var(--placeholder-opacity))}.placeholder-yellow-700::placeholder{--placeholder-opacity:1;color:#8e4b10;color:rgba(142,75,16,var(--placeholder-opacity))}.placeholder-yellow-800::-moz-placeholder{--placeholder-opacity:1;color:#723b13;color:rgba(114,59,19,var(--placeholder-opacity))}.placeholder-yellow-800:-ms-input-placeholder{--placeholder-opacity:1;color:#723b13;color:rgba(114,59,19,var(--placeholder-opacity))}.placeholder-yellow-800::-ms-input-placeholder{--placeholder-opacity:1;color:#723b13;color:rgba(114,59,19,var(--placeholder-opacity))}.placeholder-yellow-800::placeholder{--placeholder-opacity:1;color:#723b13;color:rgba(114,59,19,var(--placeholder-opacity))}.placeholder-yellow-900::-moz-placeholder{--placeholder-opacity:1;color:#633112;color:rgba(99,49,18,var(--placeholder-opacity))}.placeholder-yellow-900:-ms-input-placeholder{--placeholder-opacity:1;color:#633112;color:rgba(99,49,18,var(--placeholder-opacity))}.placeholder-yellow-900::-ms-input-placeholder{--placeholder-opacity:1;color:#633112;color:rgba(99,49,18,var(--placeholder-opacity))}.placeholder-yellow-900::placeholder{--placeholder-opacity:1;color:#633112;color:rgba(99,49,18,var(--placeholder-opacity))}.placeholder-green-50::-moz-placeholder{--placeholder-opacity:1;color:#f3faf7;color:rgba(243,250,247,var(--placeholder-opacity))}.placeholder-green-50:-ms-input-placeholder{--placeholder-opacity:1;color:#f3faf7;color:rgba(243,250,247,var(--placeholder-opacity))}.placeholder-green-50::-ms-input-placeholder{--placeholder-opacity:1;color:#f3faf7;color:rgba(243,250,247,var(--placeholder-opacity))}.placeholder-green-50::placeholder{--placeholder-opacity:1;color:#f3faf7;color:rgba(243,250,247,var(--placeholder-opacity))}.placeholder-green-100::-moz-placeholder{--placeholder-opacity:1;color:#def7ec;color:rgba(222,247,236,var(--placeholder-opacity))}.placeholder-green-100:-ms-input-placeholder{--placeholder-opacity:1;color:#def7ec;color:rgba(222,247,236,var(--placeholder-opacity))}.placeholder-green-100::-ms-input-placeholder{--placeholder-opacity:1;color:#def7ec;color:rgba(222,247,236,var(--placeholder-opacity))}.placeholder-green-100::placeholder{--placeholder-opacity:1;color:#def7ec;color:rgba(222,247,236,var(--placeholder-opacity))}.placeholder-green-200::-moz-placeholder{--placeholder-opacity:1;color:#bcf0da;color:rgba(188,240,218,var(--placeholder-opacity))}.placeholder-green-200:-ms-input-placeholder{--placeholder-opacity:1;color:#bcf0da;color:rgba(188,240,218,var(--placeholder-opacity))}.placeholder-green-200::-ms-input-placeholder{--placeholder-opacity:1;color:#bcf0da;color:rgba(188,240,218,var(--placeholder-opacity))}.placeholder-green-200::placeholder{--placeholder-opacity:1;color:#bcf0da;color:rgba(188,240,218,var(--placeholder-opacity))}.placeholder-green-300::-moz-placeholder{--placeholder-opacity:1;color:#84e1bc;color:rgba(132,225,188,var(--placeholder-opacity))}.placeholder-green-300:-ms-input-placeholder{--placeholder-opacity:1;color:#84e1bc;color:rgba(132,225,188,var(--placeholder-opacity))}.placeholder-green-300::-ms-input-placeholder{--placeholder-opacity:1;color:#84e1bc;color:rgba(132,225,188,var(--placeholder-opacity))}.placeholder-green-300::placeholder{--placeholder-opacity:1;color:#84e1bc;color:rgba(132,225,188,var(--placeholder-opacity))}.placeholder-green-400::-moz-placeholder{--placeholder-opacity:1;color:#31c48d;color:rgba(49,196,141,var(--placeholder-opacity))}.placeholder-green-400:-ms-input-placeholder{--placeholder-opacity:1;color:#31c48d;color:rgba(49,196,141,var(--placeholder-opacity))}.placeholder-green-400::-ms-input-placeholder{--placeholder-opacity:1;color:#31c48d;color:rgba(49,196,141,var(--placeholder-opacity))}.placeholder-green-400::placeholder{--placeholder-opacity:1;color:#31c48d;color:rgba(49,196,141,var(--placeholder-opacity))}.placeholder-green-500::-moz-placeholder{--placeholder-opacity:1;color:#0e9f6e;color:rgba(14,159,110,var(--placeholder-opacity))}.placeholder-green-500:-ms-input-placeholder{--placeholder-opacity:1;color:#0e9f6e;color:rgba(14,159,110,var(--placeholder-opacity))}.placeholder-green-500::-ms-input-placeholder{--placeholder-opacity:1;color:#0e9f6e;color:rgba(14,159,110,var(--placeholder-opacity))}.placeholder-green-500::placeholder{--placeholder-opacity:1;color:#0e9f6e;color:rgba(14,159,110,var(--placeholder-opacity))}.placeholder-green-600::-moz-placeholder{--placeholder-opacity:1;color:#057a55;color:rgba(5,122,85,var(--placeholder-opacity))}.placeholder-green-600:-ms-input-placeholder{--placeholder-opacity:1;color:#057a55;color:rgba(5,122,85,var(--placeholder-opacity))}.placeholder-green-600::-ms-input-placeholder{--placeholder-opacity:1;color:#057a55;color:rgba(5,122,85,var(--placeholder-opacity))}.placeholder-green-600::placeholder{--placeholder-opacity:1;color:#057a55;color:rgba(5,122,85,var(--placeholder-opacity))}.placeholder-green-700::-moz-placeholder{--placeholder-opacity:1;color:#046c4e;color:rgba(4,108,78,var(--placeholder-opacity))}.placeholder-green-700:-ms-input-placeholder{--placeholder-opacity:1;color:#046c4e;color:rgba(4,108,78,var(--placeholder-opacity))}.placeholder-green-700::-ms-input-placeholder{--placeholder-opacity:1;color:#046c4e;color:rgba(4,108,78,var(--placeholder-opacity))}.placeholder-green-700::placeholder{--placeholder-opacity:1;color:#046c4e;color:rgba(4,108,78,var(--placeholder-opacity))}.placeholder-green-800::-moz-placeholder{--placeholder-opacity:1;color:#03543f;color:rgba(3,84,63,var(--placeholder-opacity))}.placeholder-green-800:-ms-input-placeholder{--placeholder-opacity:1;color:#03543f;color:rgba(3,84,63,var(--placeholder-opacity))}.placeholder-green-800::-ms-input-placeholder{--placeholder-opacity:1;color:#03543f;color:rgba(3,84,63,var(--placeholder-opacity))}.placeholder-green-800::placeholder{--placeholder-opacity:1;color:#03543f;color:rgba(3,84,63,var(--placeholder-opacity))}.placeholder-green-900::-moz-placeholder{--placeholder-opacity:1;color:#014737;color:rgba(1,71,55,var(--placeholder-opacity))}.placeholder-green-900:-ms-input-placeholder{--placeholder-opacity:1;color:#014737;color:rgba(1,71,55,var(--placeholder-opacity))}.placeholder-green-900::-ms-input-placeholder{--placeholder-opacity:1;color:#014737;color:rgba(1,71,55,var(--placeholder-opacity))}.placeholder-green-900::placeholder{--placeholder-opacity:1;color:#014737;color:rgba(1,71,55,var(--placeholder-opacity))}.placeholder-teal-50::-moz-placeholder{--placeholder-opacity:1;color:#edfafa;color:rgba(237,250,250,var(--placeholder-opacity))}.placeholder-teal-50:-ms-input-placeholder{--placeholder-opacity:1;color:#edfafa;color:rgba(237,250,250,var(--placeholder-opacity))}.placeholder-teal-50::-ms-input-placeholder{--placeholder-opacity:1;color:#edfafa;color:rgba(237,250,250,var(--placeholder-opacity))}.placeholder-teal-50::placeholder{--placeholder-opacity:1;color:#edfafa;color:rgba(237,250,250,var(--placeholder-opacity))}.placeholder-teal-100::-moz-placeholder{--placeholder-opacity:1;color:#d5f5f6;color:rgba(213,245,246,var(--placeholder-opacity))}.placeholder-teal-100:-ms-input-placeholder{--placeholder-opacity:1;color:#d5f5f6;color:rgba(213,245,246,var(--placeholder-opacity))}.placeholder-teal-100::-ms-input-placeholder{--placeholder-opacity:1;color:#d5f5f6;color:rgba(213,245,246,var(--placeholder-opacity))}.placeholder-teal-100::placeholder{--placeholder-opacity:1;color:#d5f5f6;color:rgba(213,245,246,var(--placeholder-opacity))}.placeholder-teal-200::-moz-placeholder{--placeholder-opacity:1;color:#afecef;color:rgba(175,236,239,var(--placeholder-opacity))}.placeholder-teal-200:-ms-input-placeholder{--placeholder-opacity:1;color:#afecef;color:rgba(175,236,239,var(--placeholder-opacity))}.placeholder-teal-200::-ms-input-placeholder{--placeholder-opacity:1;color:#afecef;color:rgba(175,236,239,var(--placeholder-opacity))}.placeholder-teal-200::placeholder{--placeholder-opacity:1;color:#afecef;color:rgba(175,236,239,var(--placeholder-opacity))}.placeholder-teal-300::-moz-placeholder{--placeholder-opacity:1;color:#7edce2;color:rgba(126,220,226,var(--placeholder-opacity))}.placeholder-teal-300:-ms-input-placeholder{--placeholder-opacity:1;color:#7edce2;color:rgba(126,220,226,var(--placeholder-opacity))}.placeholder-teal-300::-ms-input-placeholder{--placeholder-opacity:1;color:#7edce2;color:rgba(126,220,226,var(--placeholder-opacity))}.placeholder-teal-300::placeholder{--placeholder-opacity:1;color:#7edce2;color:rgba(126,220,226,var(--placeholder-opacity))}.placeholder-teal-400::-moz-placeholder{--placeholder-opacity:1;color:#16bdca;color:rgba(22,189,202,var(--placeholder-opacity))}.placeholder-teal-400:-ms-input-placeholder{--placeholder-opacity:1;color:#16bdca;color:rgba(22,189,202,var(--placeholder-opacity))}.placeholder-teal-400::-ms-input-placeholder{--placeholder-opacity:1;color:#16bdca;color:rgba(22,189,202,var(--placeholder-opacity))}.placeholder-teal-400::placeholder{--placeholder-opacity:1;color:#16bdca;color:rgba(22,189,202,var(--placeholder-opacity))}.placeholder-teal-500::-moz-placeholder{--placeholder-opacity:1;color:#0694a2;color:rgba(6,148,162,var(--placeholder-opacity))}.placeholder-teal-500:-ms-input-placeholder{--placeholder-opacity:1;color:#0694a2;color:rgba(6,148,162,var(--placeholder-opacity))}.placeholder-teal-500::-ms-input-placeholder{--placeholder-opacity:1;color:#0694a2;color:rgba(6,148,162,var(--placeholder-opacity))}.placeholder-teal-500::placeholder{--placeholder-opacity:1;color:#0694a2;color:rgba(6,148,162,var(--placeholder-opacity))}.placeholder-teal-600::-moz-placeholder{--placeholder-opacity:1;color:#047481;color:rgba(4,116,129,var(--placeholder-opacity))}.placeholder-teal-600:-ms-input-placeholder{--placeholder-opacity:1;color:#047481;color:rgba(4,116,129,var(--placeholder-opacity))}.placeholder-teal-600::-ms-input-placeholder{--placeholder-opacity:1;color:#047481;color:rgba(4,116,129,var(--placeholder-opacity))}.placeholder-teal-600::placeholder{--placeholder-opacity:1;color:#047481;color:rgba(4,116,129,var(--placeholder-opacity))}.placeholder-teal-700::-moz-placeholder{--placeholder-opacity:1;color:#036672;color:rgba(3,102,114,var(--placeholder-opacity))}.placeholder-teal-700:-ms-input-placeholder{--placeholder-opacity:1;color:#036672;color:rgba(3,102,114,var(--placeholder-opacity))}.placeholder-teal-700::-ms-input-placeholder{--placeholder-opacity:1;color:#036672;color:rgba(3,102,114,var(--placeholder-opacity))}.placeholder-teal-700::placeholder{--placeholder-opacity:1;color:#036672;color:rgba(3,102,114,var(--placeholder-opacity))}.placeholder-teal-800::-moz-placeholder{--placeholder-opacity:1;color:#05505c;color:rgba(5,80,92,var(--placeholder-opacity))}.placeholder-teal-800:-ms-input-placeholder{--placeholder-opacity:1;color:#05505c;color:rgba(5,80,92,var(--placeholder-opacity))}.placeholder-teal-800::-ms-input-placeholder{--placeholder-opacity:1;color:#05505c;color:rgba(5,80,92,var(--placeholder-opacity))}.placeholder-teal-800::placeholder{--placeholder-opacity:1;color:#05505c;color:rgba(5,80,92,var(--placeholder-opacity))}.placeholder-teal-900::-moz-placeholder{--placeholder-opacity:1;color:#014451;color:rgba(1,68,81,var(--placeholder-opacity))}.placeholder-teal-900:-ms-input-placeholder{--placeholder-opacity:1;color:#014451;color:rgba(1,68,81,var(--placeholder-opacity))}.placeholder-teal-900::-ms-input-placeholder{--placeholder-opacity:1;color:#014451;color:rgba(1,68,81,var(--placeholder-opacity))}.placeholder-teal-900::placeholder{--placeholder-opacity:1;color:#014451;color:rgba(1,68,81,var(--placeholder-opacity))}.placeholder-blue-50::-moz-placeholder{--placeholder-opacity:1;color:#ebf5ff;color:rgba(235,245,255,var(--placeholder-opacity))}.placeholder-blue-50:-ms-input-placeholder{--placeholder-opacity:1;color:#ebf5ff;color:rgba(235,245,255,var(--placeholder-opacity))}.placeholder-blue-50::-ms-input-placeholder{--placeholder-opacity:1;color:#ebf5ff;color:rgba(235,245,255,var(--placeholder-opacity))}.placeholder-blue-50::placeholder{--placeholder-opacity:1;color:#ebf5ff;color:rgba(235,245,255,var(--placeholder-opacity))}.placeholder-blue-100::-moz-placeholder{--placeholder-opacity:1;color:#e1effe;color:rgba(225,239,254,var(--placeholder-opacity))}.placeholder-blue-100:-ms-input-placeholder{--placeholder-opacity:1;color:#e1effe;color:rgba(225,239,254,var(--placeholder-opacity))}.placeholder-blue-100::-ms-input-placeholder{--placeholder-opacity:1;color:#e1effe;color:rgba(225,239,254,var(--placeholder-opacity))}.placeholder-blue-100::placeholder{--placeholder-opacity:1;color:#e1effe;color:rgba(225,239,254,var(--placeholder-opacity))}.placeholder-blue-200::-moz-placeholder{--placeholder-opacity:1;color:#c3ddfd;color:rgba(195,221,253,var(--placeholder-opacity))}.placeholder-blue-200:-ms-input-placeholder{--placeholder-opacity:1;color:#c3ddfd;color:rgba(195,221,253,var(--placeholder-opacity))}.placeholder-blue-200::-ms-input-placeholder{--placeholder-opacity:1;color:#c3ddfd;color:rgba(195,221,253,var(--placeholder-opacity))}.placeholder-blue-200::placeholder{--placeholder-opacity:1;color:#c3ddfd;color:rgba(195,221,253,var(--placeholder-opacity))}.placeholder-blue-300::-moz-placeholder{--placeholder-opacity:1;color:#a4cafe;color:rgba(164,202,254,var(--placeholder-opacity))}.placeholder-blue-300:-ms-input-placeholder{--placeholder-opacity:1;color:#a4cafe;color:rgba(164,202,254,var(--placeholder-opacity))}.placeholder-blue-300::-ms-input-placeholder{--placeholder-opacity:1;color:#a4cafe;color:rgba(164,202,254,var(--placeholder-opacity))}.placeholder-blue-300::placeholder{--placeholder-opacity:1;color:#a4cafe;color:rgba(164,202,254,var(--placeholder-opacity))}.placeholder-blue-400::-moz-placeholder{--placeholder-opacity:1;color:#76a9fa;color:rgba(118,169,250,var(--placeholder-opacity))}.placeholder-blue-400:-ms-input-placeholder{--placeholder-opacity:1;color:#76a9fa;color:rgba(118,169,250,var(--placeholder-opacity))}.placeholder-blue-400::-ms-input-placeholder{--placeholder-opacity:1;color:#76a9fa;color:rgba(118,169,250,var(--placeholder-opacity))}.placeholder-blue-400::placeholder{--placeholder-opacity:1;color:#76a9fa;color:rgba(118,169,250,var(--placeholder-opacity))}.placeholder-blue-500::-moz-placeholder{--placeholder-opacity:1;color:#3f83f8;color:rgba(63,131,248,var(--placeholder-opacity))}.placeholder-blue-500:-ms-input-placeholder{--placeholder-opacity:1;color:#3f83f8;color:rgba(63,131,248,var(--placeholder-opacity))}.placeholder-blue-500::-ms-input-placeholder{--placeholder-opacity:1;color:#3f83f8;color:rgba(63,131,248,var(--placeholder-opacity))}.placeholder-blue-500::placeholder{--placeholder-opacity:1;color:#3f83f8;color:rgba(63,131,248,var(--placeholder-opacity))}.placeholder-blue-600::-moz-placeholder{--placeholder-opacity:1;color:#1c64f2;color:rgba(28,100,242,var(--placeholder-opacity))}.placeholder-blue-600:-ms-input-placeholder{--placeholder-opacity:1;color:#1c64f2;color:rgba(28,100,242,var(--placeholder-opacity))}.placeholder-blue-600::-ms-input-placeholder{--placeholder-opacity:1;color:#1c64f2;color:rgba(28,100,242,var(--placeholder-opacity))}.placeholder-blue-600::placeholder{--placeholder-opacity:1;color:#1c64f2;color:rgba(28,100,242,var(--placeholder-opacity))}.placeholder-blue-700::-moz-placeholder{--placeholder-opacity:1;color:#1a56db;color:rgba(26,86,219,var(--placeholder-opacity))}.placeholder-blue-700:-ms-input-placeholder{--placeholder-opacity:1;color:#1a56db;color:rgba(26,86,219,var(--placeholder-opacity))}.placeholder-blue-700::-ms-input-placeholder{--placeholder-opacity:1;color:#1a56db;color:rgba(26,86,219,var(--placeholder-opacity))}.placeholder-blue-700::placeholder{--placeholder-opacity:1;color:#1a56db;color:rgba(26,86,219,var(--placeholder-opacity))}.placeholder-blue-800::-moz-placeholder{--placeholder-opacity:1;color:#1e429f;color:rgba(30,66,159,var(--placeholder-opacity))}.placeholder-blue-800:-ms-input-placeholder{--placeholder-opacity:1;color:#1e429f;color:rgba(30,66,159,var(--placeholder-opacity))}.placeholder-blue-800::-ms-input-placeholder{--placeholder-opacity:1;color:#1e429f;color:rgba(30,66,159,var(--placeholder-opacity))}.placeholder-blue-800::placeholder{--placeholder-opacity:1;color:#1e429f;color:rgba(30,66,159,var(--placeholder-opacity))}.placeholder-blue-900::-moz-placeholder{--placeholder-opacity:1;color:#233876;color:rgba(35,56,118,var(--placeholder-opacity))}.placeholder-blue-900:-ms-input-placeholder{--placeholder-opacity:1;color:#233876;color:rgba(35,56,118,var(--placeholder-opacity))}.placeholder-blue-900::-ms-input-placeholder{--placeholder-opacity:1;color:#233876;color:rgba(35,56,118,var(--placeholder-opacity))}.placeholder-blue-900::placeholder{--placeholder-opacity:1;color:#233876;color:rgba(35,56,118,var(--placeholder-opacity))}.placeholder-indigo-50::-moz-placeholder{--placeholder-opacity:1;color:#f0f5ff;color:rgba(240,245,255,var(--placeholder-opacity))}.placeholder-indigo-50:-ms-input-placeholder{--placeholder-opacity:1;color:#f0f5ff;color:rgba(240,245,255,var(--placeholder-opacity))}.placeholder-indigo-50::-ms-input-placeholder{--placeholder-opacity:1;color:#f0f5ff;color:rgba(240,245,255,var(--placeholder-opacity))}.placeholder-indigo-50::placeholder{--placeholder-opacity:1;color:#f0f5ff;color:rgba(240,245,255,var(--placeholder-opacity))}.placeholder-indigo-100::-moz-placeholder{--placeholder-opacity:1;color:#e5edff;color:rgba(229,237,255,var(--placeholder-opacity))}.placeholder-indigo-100:-ms-input-placeholder{--placeholder-opacity:1;color:#e5edff;color:rgba(229,237,255,var(--placeholder-opacity))}.placeholder-indigo-100::-ms-input-placeholder{--placeholder-opacity:1;color:#e5edff;color:rgba(229,237,255,var(--placeholder-opacity))}.placeholder-indigo-100::placeholder{--placeholder-opacity:1;color:#e5edff;color:rgba(229,237,255,var(--placeholder-opacity))}.placeholder-indigo-200::-moz-placeholder{--placeholder-opacity:1;color:#cddbfe;color:rgba(205,219,254,var(--placeholder-opacity))}.placeholder-indigo-200:-ms-input-placeholder{--placeholder-opacity:1;color:#cddbfe;color:rgba(205,219,254,var(--placeholder-opacity))}.placeholder-indigo-200::-ms-input-placeholder{--placeholder-opacity:1;color:#cddbfe;color:rgba(205,219,254,var(--placeholder-opacity))}.placeholder-indigo-200::placeholder{--placeholder-opacity:1;color:#cddbfe;color:rgba(205,219,254,var(--placeholder-opacity))}.placeholder-indigo-300::-moz-placeholder{--placeholder-opacity:1;color:#b4c6fc;color:rgba(180,198,252,var(--placeholder-opacity))}.placeholder-indigo-300:-ms-input-placeholder{--placeholder-opacity:1;color:#b4c6fc;color:rgba(180,198,252,var(--placeholder-opacity))}.placeholder-indigo-300::-ms-input-placeholder{--placeholder-opacity:1;color:#b4c6fc;color:rgba(180,198,252,var(--placeholder-opacity))}.placeholder-indigo-300::placeholder{--placeholder-opacity:1;color:#b4c6fc;color:rgba(180,198,252,var(--placeholder-opacity))}.placeholder-indigo-400::-moz-placeholder{--placeholder-opacity:1;color:#8da2fb;color:rgba(141,162,251,var(--placeholder-opacity))}.placeholder-indigo-400:-ms-input-placeholder{--placeholder-opacity:1;color:#8da2fb;color:rgba(141,162,251,var(--placeholder-opacity))}.placeholder-indigo-400::-ms-input-placeholder{--placeholder-opacity:1;color:#8da2fb;color:rgba(141,162,251,var(--placeholder-opacity))}.placeholder-indigo-400::placeholder{--placeholder-opacity:1;color:#8da2fb;color:rgba(141,162,251,var(--placeholder-opacity))}.placeholder-indigo-500::-moz-placeholder{--placeholder-opacity:1;color:#6875f5;color:rgba(104,117,245,var(--placeholder-opacity))}.placeholder-indigo-500:-ms-input-placeholder{--placeholder-opacity:1;color:#6875f5;color:rgba(104,117,245,var(--placeholder-opacity))}.placeholder-indigo-500::-ms-input-placeholder{--placeholder-opacity:1;color:#6875f5;color:rgba(104,117,245,var(--placeholder-opacity))}.placeholder-indigo-500::placeholder{--placeholder-opacity:1;color:#6875f5;color:rgba(104,117,245,var(--placeholder-opacity))}.placeholder-indigo-600::-moz-placeholder{--placeholder-opacity:1;color:#5850ec;color:rgba(88,80,236,var(--placeholder-opacity))}.placeholder-indigo-600:-ms-input-placeholder{--placeholder-opacity:1;color:#5850ec;color:rgba(88,80,236,var(--placeholder-opacity))}.placeholder-indigo-600::-ms-input-placeholder{--placeholder-opacity:1;color:#5850ec;color:rgba(88,80,236,var(--placeholder-opacity))}.placeholder-indigo-600::placeholder{--placeholder-opacity:1;color:#5850ec;color:rgba(88,80,236,var(--placeholder-opacity))}.placeholder-indigo-700::-moz-placeholder{--placeholder-opacity:1;color:#5145cd;color:rgba(81,69,205,var(--placeholder-opacity))}.placeholder-indigo-700:-ms-input-placeholder{--placeholder-opacity:1;color:#5145cd;color:rgba(81,69,205,var(--placeholder-opacity))}.placeholder-indigo-700::-ms-input-placeholder{--placeholder-opacity:1;color:#5145cd;color:rgba(81,69,205,var(--placeholder-opacity))}.placeholder-indigo-700::placeholder{--placeholder-opacity:1;color:#5145cd;color:rgba(81,69,205,var(--placeholder-opacity))}.placeholder-indigo-800::-moz-placeholder{--placeholder-opacity:1;color:#42389d;color:rgba(66,56,157,var(--placeholder-opacity))}.placeholder-indigo-800:-ms-input-placeholder{--placeholder-opacity:1;color:#42389d;color:rgba(66,56,157,var(--placeholder-opacity))}.placeholder-indigo-800::-ms-input-placeholder{--placeholder-opacity:1;color:#42389d;color:rgba(66,56,157,var(--placeholder-opacity))}.placeholder-indigo-800::placeholder{--placeholder-opacity:1;color:#42389d;color:rgba(66,56,157,var(--placeholder-opacity))}.placeholder-indigo-900::-moz-placeholder{--placeholder-opacity:1;color:#362f78;color:rgba(54,47,120,var(--placeholder-opacity))}.placeholder-indigo-900:-ms-input-placeholder{--placeholder-opacity:1;color:#362f78;color:rgba(54,47,120,var(--placeholder-opacity))}.placeholder-indigo-900::-ms-input-placeholder{--placeholder-opacity:1;color:#362f78;color:rgba(54,47,120,var(--placeholder-opacity))}.placeholder-indigo-900::placeholder{--placeholder-opacity:1;color:#362f78;color:rgba(54,47,120,var(--placeholder-opacity))}.placeholder-purple-50::-moz-placeholder{--placeholder-opacity:1;color:#f6f5ff;color:rgba(246,245,255,var(--placeholder-opacity))}.placeholder-purple-50:-ms-input-placeholder{--placeholder-opacity:1;color:#f6f5ff;color:rgba(246,245,255,var(--placeholder-opacity))}.placeholder-purple-50::-ms-input-placeholder{--placeholder-opacity:1;color:#f6f5ff;color:rgba(246,245,255,var(--placeholder-opacity))}.placeholder-purple-50::placeholder{--placeholder-opacity:1;color:#f6f5ff;color:rgba(246,245,255,var(--placeholder-opacity))}.placeholder-purple-100::-moz-placeholder{--placeholder-opacity:1;color:#edebfe;color:rgba(237,235,254,var(--placeholder-opacity))}.placeholder-purple-100:-ms-input-placeholder{--placeholder-opacity:1;color:#edebfe;color:rgba(237,235,254,var(--placeholder-opacity))}.placeholder-purple-100::-ms-input-placeholder{--placeholder-opacity:1;color:#edebfe;color:rgba(237,235,254,var(--placeholder-opacity))}.placeholder-purple-100::placeholder{--placeholder-opacity:1;color:#edebfe;color:rgba(237,235,254,var(--placeholder-opacity))}.placeholder-purple-200::-moz-placeholder{--placeholder-opacity:1;color:#dcd7fe;color:rgba(220,215,254,var(--placeholder-opacity))}.placeholder-purple-200:-ms-input-placeholder{--placeholder-opacity:1;color:#dcd7fe;color:rgba(220,215,254,var(--placeholder-opacity))}.placeholder-purple-200::-ms-input-placeholder{--placeholder-opacity:1;color:#dcd7fe;color:rgba(220,215,254,var(--placeholder-opacity))}.placeholder-purple-200::placeholder{--placeholder-opacity:1;color:#dcd7fe;color:rgba(220,215,254,var(--placeholder-opacity))}.placeholder-purple-300::-moz-placeholder{--placeholder-opacity:1;color:#cabffd;color:rgba(202,191,253,var(--placeholder-opacity))}.placeholder-purple-300:-ms-input-placeholder{--placeholder-opacity:1;color:#cabffd;color:rgba(202,191,253,var(--placeholder-opacity))}.placeholder-purple-300::-ms-input-placeholder{--placeholder-opacity:1;color:#cabffd;color:rgba(202,191,253,var(--placeholder-opacity))}.placeholder-purple-300::placeholder{--placeholder-opacity:1;color:#cabffd;color:rgba(202,191,253,var(--placeholder-opacity))}.placeholder-purple-400::-moz-placeholder{--placeholder-opacity:1;color:#ac94fa;color:rgba(172,148,250,var(--placeholder-opacity))}.placeholder-purple-400:-ms-input-placeholder{--placeholder-opacity:1;color:#ac94fa;color:rgba(172,148,250,var(--placeholder-opacity))}.placeholder-purple-400::-ms-input-placeholder{--placeholder-opacity:1;color:#ac94fa;color:rgba(172,148,250,var(--placeholder-opacity))}.placeholder-purple-400::placeholder{--placeholder-opacity:1;color:#ac94fa;color:rgba(172,148,250,var(--placeholder-opacity))}.placeholder-purple-500::-moz-placeholder{--placeholder-opacity:1;color:#9061f9;color:rgba(144,97,249,var(--placeholder-opacity))}.placeholder-purple-500:-ms-input-placeholder{--placeholder-opacity:1;color:#9061f9;color:rgba(144,97,249,var(--placeholder-opacity))}.placeholder-purple-500::-ms-input-placeholder{--placeholder-opacity:1;color:#9061f9;color:rgba(144,97,249,var(--placeholder-opacity))}.placeholder-purple-500::placeholder{--placeholder-opacity:1;color:#9061f9;color:rgba(144,97,249,var(--placeholder-opacity))}.placeholder-purple-600::-moz-placeholder{--placeholder-opacity:1;color:#7e3af2;color:rgba(126,58,242,var(--placeholder-opacity))}.placeholder-purple-600:-ms-input-placeholder{--placeholder-opacity:1;color:#7e3af2;color:rgba(126,58,242,var(--placeholder-opacity))}.placeholder-purple-600::-ms-input-placeholder{--placeholder-opacity:1;color:#7e3af2;color:rgba(126,58,242,var(--placeholder-opacity))}.placeholder-purple-600::placeholder{--placeholder-opacity:1;color:#7e3af2;color:rgba(126,58,242,var(--placeholder-opacity))}.placeholder-purple-700::-moz-placeholder{--placeholder-opacity:1;color:#6c2bd9;color:rgba(108,43,217,var(--placeholder-opacity))}.placeholder-purple-700:-ms-input-placeholder{--placeholder-opacity:1;color:#6c2bd9;color:rgba(108,43,217,var(--placeholder-opacity))}.placeholder-purple-700::-ms-input-placeholder{--placeholder-opacity:1;color:#6c2bd9;color:rgba(108,43,217,var(--placeholder-opacity))}.placeholder-purple-700::placeholder{--placeholder-opacity:1;color:#6c2bd9;color:rgba(108,43,217,var(--placeholder-opacity))}.placeholder-purple-800::-moz-placeholder{--placeholder-opacity:1;color:#5521b5;color:rgba(85,33,181,var(--placeholder-opacity))}.placeholder-purple-800:-ms-input-placeholder{--placeholder-opacity:1;color:#5521b5;color:rgba(85,33,181,var(--placeholder-opacity))}.placeholder-purple-800::-ms-input-placeholder{--placeholder-opacity:1;color:#5521b5;color:rgba(85,33,181,var(--placeholder-opacity))}.placeholder-purple-800::placeholder{--placeholder-opacity:1;color:#5521b5;color:rgba(85,33,181,var(--placeholder-opacity))}.placeholder-purple-900::-moz-placeholder{--placeholder-opacity:1;color:#4a1d96;color:rgba(74,29,150,var(--placeholder-opacity))}.placeholder-purple-900:-ms-input-placeholder{--placeholder-opacity:1;color:#4a1d96;color:rgba(74,29,150,var(--placeholder-opacity))}.placeholder-purple-900::-ms-input-placeholder{--placeholder-opacity:1;color:#4a1d96;color:rgba(74,29,150,var(--placeholder-opacity))}.placeholder-purple-900::placeholder{--placeholder-opacity:1;color:#4a1d96;color:rgba(74,29,150,var(--placeholder-opacity))}.placeholder-pink-50::-moz-placeholder{--placeholder-opacity:1;color:#fdf2f8;color:rgba(253,242,248,var(--placeholder-opacity))}.placeholder-pink-50:-ms-input-placeholder{--placeholder-opacity:1;color:#fdf2f8;color:rgba(253,242,248,var(--placeholder-opacity))}.placeholder-pink-50::-ms-input-placeholder{--placeholder-opacity:1;color:#fdf2f8;color:rgba(253,242,248,var(--placeholder-opacity))}.placeholder-pink-50::placeholder{--placeholder-opacity:1;color:#fdf2f8;color:rgba(253,242,248,var(--placeholder-opacity))}.placeholder-pink-100::-moz-placeholder{--placeholder-opacity:1;color:#fce8f3;color:rgba(252,232,243,var(--placeholder-opacity))}.placeholder-pink-100:-ms-input-placeholder{--placeholder-opacity:1;color:#fce8f3;color:rgba(252,232,243,var(--placeholder-opacity))}.placeholder-pink-100::-ms-input-placeholder{--placeholder-opacity:1;color:#fce8f3;color:rgba(252,232,243,var(--placeholder-opacity))}.placeholder-pink-100::placeholder{--placeholder-opacity:1;color:#fce8f3;color:rgba(252,232,243,var(--placeholder-opacity))}.placeholder-pink-200::-moz-placeholder{--placeholder-opacity:1;color:#fad1e8;color:rgba(250,209,232,var(--placeholder-opacity))}.placeholder-pink-200:-ms-input-placeholder{--placeholder-opacity:1;color:#fad1e8;color:rgba(250,209,232,var(--placeholder-opacity))}.placeholder-pink-200::-ms-input-placeholder{--placeholder-opacity:1;color:#fad1e8;color:rgba(250,209,232,var(--placeholder-opacity))}.placeholder-pink-200::placeholder{--placeholder-opacity:1;color:#fad1e8;color:rgba(250,209,232,var(--placeholder-opacity))}.placeholder-pink-300::-moz-placeholder{--placeholder-opacity:1;color:#f8b4d9;color:rgba(248,180,217,var(--placeholder-opacity))}.placeholder-pink-300:-ms-input-placeholder{--placeholder-opacity:1;color:#f8b4d9;color:rgba(248,180,217,var(--placeholder-opacity))}.placeholder-pink-300::-ms-input-placeholder{--placeholder-opacity:1;color:#f8b4d9;color:rgba(248,180,217,var(--placeholder-opacity))}.placeholder-pink-300::placeholder{--placeholder-opacity:1;color:#f8b4d9;color:rgba(248,180,217,var(--placeholder-opacity))}.placeholder-pink-400::-moz-placeholder{--placeholder-opacity:1;color:#f17eb8;color:rgba(241,126,184,var(--placeholder-opacity))}.placeholder-pink-400:-ms-input-placeholder{--placeholder-opacity:1;color:#f17eb8;color:rgba(241,126,184,var(--placeholder-opacity))}.placeholder-pink-400::-ms-input-placeholder{--placeholder-opacity:1;color:#f17eb8;color:rgba(241,126,184,var(--placeholder-opacity))}.placeholder-pink-400::placeholder{--placeholder-opacity:1;color:#f17eb8;color:rgba(241,126,184,var(--placeholder-opacity))}.placeholder-pink-500::-moz-placeholder{--placeholder-opacity:1;color:#e74694;color:rgba(231,70,148,var(--placeholder-opacity))}.placeholder-pink-500:-ms-input-placeholder{--placeholder-opacity:1;color:#e74694;color:rgba(231,70,148,var(--placeholder-opacity))}.placeholder-pink-500::-ms-input-placeholder{--placeholder-opacity:1;color:#e74694;color:rgba(231,70,148,var(--placeholder-opacity))}.placeholder-pink-500::placeholder{--placeholder-opacity:1;color:#e74694;color:rgba(231,70,148,var(--placeholder-opacity))}.placeholder-pink-600::-moz-placeholder{--placeholder-opacity:1;color:#d61f69;color:rgba(214,31,105,var(--placeholder-opacity))}.placeholder-pink-600:-ms-input-placeholder{--placeholder-opacity:1;color:#d61f69;color:rgba(214,31,105,var(--placeholder-opacity))}.placeholder-pink-600::-ms-input-placeholder{--placeholder-opacity:1;color:#d61f69;color:rgba(214,31,105,var(--placeholder-opacity))}.placeholder-pink-600::placeholder{--placeholder-opacity:1;color:#d61f69;color:rgba(214,31,105,var(--placeholder-opacity))}.placeholder-pink-700::-moz-placeholder{--placeholder-opacity:1;color:#bf125d;color:rgba(191,18,93,var(--placeholder-opacity))}.placeholder-pink-700:-ms-input-placeholder{--placeholder-opacity:1;color:#bf125d;color:rgba(191,18,93,var(--placeholder-opacity))}.placeholder-pink-700::-ms-input-placeholder{--placeholder-opacity:1;color:#bf125d;color:rgba(191,18,93,var(--placeholder-opacity))}.placeholder-pink-700::placeholder{--placeholder-opacity:1;color:#bf125d;color:rgba(191,18,93,var(--placeholder-opacity))}.placeholder-pink-800::-moz-placeholder{--placeholder-opacity:1;color:#99154b;color:rgba(153,21,75,var(--placeholder-opacity))}.placeholder-pink-800:-ms-input-placeholder{--placeholder-opacity:1;color:#99154b;color:rgba(153,21,75,var(--placeholder-opacity))}.placeholder-pink-800::-ms-input-placeholder{--placeholder-opacity:1;color:#99154b;color:rgba(153,21,75,var(--placeholder-opacity))}.placeholder-pink-800::placeholder{--placeholder-opacity:1;color:#99154b;color:rgba(153,21,75,var(--placeholder-opacity))}.placeholder-pink-900::-moz-placeholder{--placeholder-opacity:1;color:#751a3d;color:rgba(117,26,61,var(--placeholder-opacity))}.placeholder-pink-900:-ms-input-placeholder{--placeholder-opacity:1;color:#751a3d;color:rgba(117,26,61,var(--placeholder-opacity))}.placeholder-pink-900::-ms-input-placeholder{--placeholder-opacity:1;color:#751a3d;color:rgba(117,26,61,var(--placeholder-opacity))}.placeholder-pink-900::placeholder{--placeholder-opacity:1;color:#751a3d;color:rgba(117,26,61,var(--placeholder-opacity))}.focus\:placeholder-transparent:focus::-moz-placeholder{color:transparent}.focus\:placeholder-transparent:focus:-ms-input-placeholder{color:transparent}.focus\:placeholder-transparent:focus::-ms-input-placeholder{color:transparent}.focus\:placeholder-transparent:focus::placeholder{color:transparent}.focus\:placeholder-white:focus::-moz-placeholder{--placeholder-opacity:1;color:#fff;color:rgba(255,255,255,var(--placeholder-opacity))}.focus\:placeholder-white:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#fff;color:rgba(255,255,255,var(--placeholder-opacity))}.focus\:placeholder-white:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#fff;color:rgba(255,255,255,var(--placeholder-opacity))}.focus\:placeholder-white:focus::placeholder{--placeholder-opacity:1;color:#fff;color:rgba(255,255,255,var(--placeholder-opacity))}.focus\:placeholder-black:focus::-moz-placeholder{--placeholder-opacity:1;color:#000;color:rgba(0,0,0,var(--placeholder-opacity))}.focus\:placeholder-black:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#000;color:rgba(0,0,0,var(--placeholder-opacity))}.focus\:placeholder-black:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#000;color:rgba(0,0,0,var(--placeholder-opacity))}.focus\:placeholder-black:focus::placeholder{--placeholder-opacity:1;color:#000;color:rgba(0,0,0,var(--placeholder-opacity))}.focus\:placeholder-gray-50:focus::-moz-placeholder{--placeholder-opacity:1;color:#f9fafb;color:rgba(249,250,251,var(--placeholder-opacity))}.focus\:placeholder-gray-50:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#f9fafb;color:rgba(249,250,251,var(--placeholder-opacity))}.focus\:placeholder-gray-50:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#f9fafb;color:rgba(249,250,251,var(--placeholder-opacity))}.focus\:placeholder-gray-50:focus::placeholder{--placeholder-opacity:1;color:#f9fafb;color:rgba(249,250,251,var(--placeholder-opacity))}.focus\:placeholder-gray-100:focus::-moz-placeholder{--placeholder-opacity:1;color:#f4f5f7;color:rgba(244,245,247,var(--placeholder-opacity))}.focus\:placeholder-gray-100:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#f4f5f7;color:rgba(244,245,247,var(--placeholder-opacity))}.focus\:placeholder-gray-100:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#f4f5f7;color:rgba(244,245,247,var(--placeholder-opacity))}.focus\:placeholder-gray-100:focus::placeholder{--placeholder-opacity:1;color:#f4f5f7;color:rgba(244,245,247,var(--placeholder-opacity))}.focus\:placeholder-gray-200:focus::-moz-placeholder{--placeholder-opacity:1;color:#e5e7eb;color:rgba(229,231,235,var(--placeholder-opacity))}.focus\:placeholder-gray-200:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#e5e7eb;color:rgba(229,231,235,var(--placeholder-opacity))}.focus\:placeholder-gray-200:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#e5e7eb;color:rgba(229,231,235,var(--placeholder-opacity))}.focus\:placeholder-gray-200:focus::placeholder{--placeholder-opacity:1;color:#e5e7eb;color:rgba(229,231,235,var(--placeholder-opacity))}.focus\:placeholder-gray-300:focus::-moz-placeholder{--placeholder-opacity:1;color:#d2d6dc;color:rgba(210,214,220,var(--placeholder-opacity))}.focus\:placeholder-gray-300:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#d2d6dc;color:rgba(210,214,220,var(--placeholder-opacity))}.focus\:placeholder-gray-300:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#d2d6dc;color:rgba(210,214,220,var(--placeholder-opacity))}.focus\:placeholder-gray-300:focus::placeholder{--placeholder-opacity:1;color:#d2d6dc;color:rgba(210,214,220,var(--placeholder-opacity))}.focus\:placeholder-gray-400:focus::-moz-placeholder{--placeholder-opacity:1;color:#9fa6b2;color:rgba(159,166,178,var(--placeholder-opacity))}.focus\:placeholder-gray-400:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#9fa6b2;color:rgba(159,166,178,var(--placeholder-opacity))}.focus\:placeholder-gray-400:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#9fa6b2;color:rgba(159,166,178,var(--placeholder-opacity))}.focus\:placeholder-gray-400:focus::placeholder{--placeholder-opacity:1;color:#9fa6b2;color:rgba(159,166,178,var(--placeholder-opacity))}.focus\:placeholder-gray-500:focus::-moz-placeholder{--placeholder-opacity:1;color:#6b7280;color:rgba(107,114,128,var(--placeholder-opacity))}.focus\:placeholder-gray-500:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#6b7280;color:rgba(107,114,128,var(--placeholder-opacity))}.focus\:placeholder-gray-500:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#6b7280;color:rgba(107,114,128,var(--placeholder-opacity))}.focus\:placeholder-gray-500:focus::placeholder{--placeholder-opacity:1;color:#6b7280;color:rgba(107,114,128,var(--placeholder-opacity))}.focus\:placeholder-gray-600:focus::-moz-placeholder{--placeholder-opacity:1;color:#4b5563;color:rgba(75,85,99,var(--placeholder-opacity))}.focus\:placeholder-gray-600:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#4b5563;color:rgba(75,85,99,var(--placeholder-opacity))}.focus\:placeholder-gray-600:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#4b5563;color:rgba(75,85,99,var(--placeholder-opacity))}.focus\:placeholder-gray-600:focus::placeholder{--placeholder-opacity:1;color:#4b5563;color:rgba(75,85,99,var(--placeholder-opacity))}.focus\:placeholder-gray-700:focus::-moz-placeholder{--placeholder-opacity:1;color:#374151;color:rgba(55,65,81,var(--placeholder-opacity))}.focus\:placeholder-gray-700:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#374151;color:rgba(55,65,81,var(--placeholder-opacity))}.focus\:placeholder-gray-700:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#374151;color:rgba(55,65,81,var(--placeholder-opacity))}.focus\:placeholder-gray-700:focus::placeholder{--placeholder-opacity:1;color:#374151;color:rgba(55,65,81,var(--placeholder-opacity))}.focus\:placeholder-gray-800:focus::-moz-placeholder{--placeholder-opacity:1;color:#252f3f;color:rgba(37,47,63,var(--placeholder-opacity))}.focus\:placeholder-gray-800:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#252f3f;color:rgba(37,47,63,var(--placeholder-opacity))}.focus\:placeholder-gray-800:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#252f3f;color:rgba(37,47,63,var(--placeholder-opacity))}.focus\:placeholder-gray-800:focus::placeholder{--placeholder-opacity:1;color:#252f3f;color:rgba(37,47,63,var(--placeholder-opacity))}.focus\:placeholder-gray-900:focus::-moz-placeholder{--placeholder-opacity:1;color:#161e2e;color:rgba(22,30,46,var(--placeholder-opacity))}.focus\:placeholder-gray-900:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#161e2e;color:rgba(22,30,46,var(--placeholder-opacity))}.focus\:placeholder-gray-900:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#161e2e;color:rgba(22,30,46,var(--placeholder-opacity))}.focus\:placeholder-gray-900:focus::placeholder{--placeholder-opacity:1;color:#161e2e;color:rgba(22,30,46,var(--placeholder-opacity))}.focus\:placeholder-cool-gray-50:focus::-moz-placeholder{--placeholder-opacity:1;color:#f8fafc;color:rgba(248,250,252,var(--placeholder-opacity))}.focus\:placeholder-cool-gray-50:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#f8fafc;color:rgba(248,250,252,var(--placeholder-opacity))}.focus\:placeholder-cool-gray-50:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#f8fafc;color:rgba(248,250,252,var(--placeholder-opacity))}.focus\:placeholder-cool-gray-50:focus::placeholder{--placeholder-opacity:1;color:#f8fafc;color:rgba(248,250,252,var(--placeholder-opacity))}.focus\:placeholder-cool-gray-100:focus::-moz-placeholder{--placeholder-opacity:1;color:#f1f5f9;color:rgba(241,245,249,var(--placeholder-opacity))}.focus\:placeholder-cool-gray-100:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#f1f5f9;color:rgba(241,245,249,var(--placeholder-opacity))}.focus\:placeholder-cool-gray-100:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#f1f5f9;color:rgba(241,245,249,var(--placeholder-opacity))}.focus\:placeholder-cool-gray-100:focus::placeholder{--placeholder-opacity:1;color:#f1f5f9;color:rgba(241,245,249,var(--placeholder-opacity))}.focus\:placeholder-cool-gray-200:focus::-moz-placeholder{--placeholder-opacity:1;color:#e2e8f0;color:rgba(226,232,240,var(--placeholder-opacity))}.focus\:placeholder-cool-gray-200:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#e2e8f0;color:rgba(226,232,240,var(--placeholder-opacity))}.focus\:placeholder-cool-gray-200:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#e2e8f0;color:rgba(226,232,240,var(--placeholder-opacity))}.focus\:placeholder-cool-gray-200:focus::placeholder{--placeholder-opacity:1;color:#e2e8f0;color:rgba(226,232,240,var(--placeholder-opacity))}.focus\:placeholder-cool-gray-300:focus::-moz-placeholder{--placeholder-opacity:1;color:#cfd8e3;color:rgba(207,216,227,var(--placeholder-opacity))}.focus\:placeholder-cool-gray-300:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#cfd8e3;color:rgba(207,216,227,var(--placeholder-opacity))}.focus\:placeholder-cool-gray-300:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#cfd8e3;color:rgba(207,216,227,var(--placeholder-opacity))}.focus\:placeholder-cool-gray-300:focus::placeholder{--placeholder-opacity:1;color:#cfd8e3;color:rgba(207,216,227,var(--placeholder-opacity))}.focus\:placeholder-cool-gray-400:focus::-moz-placeholder{--placeholder-opacity:1;color:#97a6ba;color:rgba(151,166,186,var(--placeholder-opacity))}.focus\:placeholder-cool-gray-400:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#97a6ba;color:rgba(151,166,186,var(--placeholder-opacity))}.focus\:placeholder-cool-gray-400:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#97a6ba;color:rgba(151,166,186,var(--placeholder-opacity))}.focus\:placeholder-cool-gray-400:focus::placeholder{--placeholder-opacity:1;color:#97a6ba;color:rgba(151,166,186,var(--placeholder-opacity))}.focus\:placeholder-cool-gray-500:focus::-moz-placeholder{--placeholder-opacity:1;color:#64748b;color:rgba(100,116,139,var(--placeholder-opacity))}.focus\:placeholder-cool-gray-500:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#64748b;color:rgba(100,116,139,var(--placeholder-opacity))}.focus\:placeholder-cool-gray-500:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#64748b;color:rgba(100,116,139,var(--placeholder-opacity))}.focus\:placeholder-cool-gray-500:focus::placeholder{--placeholder-opacity:1;color:#64748b;color:rgba(100,116,139,var(--placeholder-opacity))}.focus\:placeholder-cool-gray-600:focus::-moz-placeholder{--placeholder-opacity:1;color:#475569;color:rgba(71,85,105,var(--placeholder-opacity))}.focus\:placeholder-cool-gray-600:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#475569;color:rgba(71,85,105,var(--placeholder-opacity))}.focus\:placeholder-cool-gray-600:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#475569;color:rgba(71,85,105,var(--placeholder-opacity))}.focus\:placeholder-cool-gray-600:focus::placeholder{--placeholder-opacity:1;color:#475569;color:rgba(71,85,105,var(--placeholder-opacity))}.focus\:placeholder-cool-gray-700:focus::-moz-placeholder{--placeholder-opacity:1;color:#364152;color:rgba(54,65,82,var(--placeholder-opacity))}.focus\:placeholder-cool-gray-700:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#364152;color:rgba(54,65,82,var(--placeholder-opacity))}.focus\:placeholder-cool-gray-700:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#364152;color:rgba(54,65,82,var(--placeholder-opacity))}.focus\:placeholder-cool-gray-700:focus::placeholder{--placeholder-opacity:1;color:#364152;color:rgba(54,65,82,var(--placeholder-opacity))}.focus\:placeholder-cool-gray-800:focus::-moz-placeholder{--placeholder-opacity:1;color:#27303f;color:rgba(39,48,63,var(--placeholder-opacity))}.focus\:placeholder-cool-gray-800:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#27303f;color:rgba(39,48,63,var(--placeholder-opacity))}.focus\:placeholder-cool-gray-800:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#27303f;color:rgba(39,48,63,var(--placeholder-opacity))}.focus\:placeholder-cool-gray-800:focus::placeholder{--placeholder-opacity:1;color:#27303f;color:rgba(39,48,63,var(--placeholder-opacity))}.focus\:placeholder-cool-gray-900:focus::-moz-placeholder{--placeholder-opacity:1;color:#1a202e;color:rgba(26,32,46,var(--placeholder-opacity))}.focus\:placeholder-cool-gray-900:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#1a202e;color:rgba(26,32,46,var(--placeholder-opacity))}.focus\:placeholder-cool-gray-900:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#1a202e;color:rgba(26,32,46,var(--placeholder-opacity))}.focus\:placeholder-cool-gray-900:focus::placeholder{--placeholder-opacity:1;color:#1a202e;color:rgba(26,32,46,var(--placeholder-opacity))}.focus\:placeholder-red-50:focus::-moz-placeholder{--placeholder-opacity:1;color:#fdf2f2;color:rgba(253,242,242,var(--placeholder-opacity))}.focus\:placeholder-red-50:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#fdf2f2;color:rgba(253,242,242,var(--placeholder-opacity))}.focus\:placeholder-red-50:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#fdf2f2;color:rgba(253,242,242,var(--placeholder-opacity))}.focus\:placeholder-red-50:focus::placeholder{--placeholder-opacity:1;color:#fdf2f2;color:rgba(253,242,242,var(--placeholder-opacity))}.focus\:placeholder-red-100:focus::-moz-placeholder{--placeholder-opacity:1;color:#fde8e8;color:rgba(253,232,232,var(--placeholder-opacity))}.focus\:placeholder-red-100:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#fde8e8;color:rgba(253,232,232,var(--placeholder-opacity))}.focus\:placeholder-red-100:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#fde8e8;color:rgba(253,232,232,var(--placeholder-opacity))}.focus\:placeholder-red-100:focus::placeholder{--placeholder-opacity:1;color:#fde8e8;color:rgba(253,232,232,var(--placeholder-opacity))}.focus\:placeholder-red-200:focus::-moz-placeholder{--placeholder-opacity:1;color:#fbd5d5;color:rgba(251,213,213,var(--placeholder-opacity))}.focus\:placeholder-red-200:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#fbd5d5;color:rgba(251,213,213,var(--placeholder-opacity))}.focus\:placeholder-red-200:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#fbd5d5;color:rgba(251,213,213,var(--placeholder-opacity))}.focus\:placeholder-red-200:focus::placeholder{--placeholder-opacity:1;color:#fbd5d5;color:rgba(251,213,213,var(--placeholder-opacity))}.focus\:placeholder-red-300:focus::-moz-placeholder{--placeholder-opacity:1;color:#f8b4b4;color:rgba(248,180,180,var(--placeholder-opacity))}.focus\:placeholder-red-300:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#f8b4b4;color:rgba(248,180,180,var(--placeholder-opacity))}.focus\:placeholder-red-300:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#f8b4b4;color:rgba(248,180,180,var(--placeholder-opacity))}.focus\:placeholder-red-300:focus::placeholder{--placeholder-opacity:1;color:#f8b4b4;color:rgba(248,180,180,var(--placeholder-opacity))}.focus\:placeholder-red-400:focus::-moz-placeholder{--placeholder-opacity:1;color:#f98080;color:rgba(249,128,128,var(--placeholder-opacity))}.focus\:placeholder-red-400:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#f98080;color:rgba(249,128,128,var(--placeholder-opacity))}.focus\:placeholder-red-400:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#f98080;color:rgba(249,128,128,var(--placeholder-opacity))}.focus\:placeholder-red-400:focus::placeholder{--placeholder-opacity:1;color:#f98080;color:rgba(249,128,128,var(--placeholder-opacity))}.focus\:placeholder-red-500:focus::-moz-placeholder{--placeholder-opacity:1;color:#f05252;color:rgba(240,82,82,var(--placeholder-opacity))}.focus\:placeholder-red-500:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#f05252;color:rgba(240,82,82,var(--placeholder-opacity))}.focus\:placeholder-red-500:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#f05252;color:rgba(240,82,82,var(--placeholder-opacity))}.focus\:placeholder-red-500:focus::placeholder{--placeholder-opacity:1;color:#f05252;color:rgba(240,82,82,var(--placeholder-opacity))}.focus\:placeholder-red-600:focus::-moz-placeholder{--placeholder-opacity:1;color:#e02424;color:rgba(224,36,36,var(--placeholder-opacity))}.focus\:placeholder-red-600:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#e02424;color:rgba(224,36,36,var(--placeholder-opacity))}.focus\:placeholder-red-600:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#e02424;color:rgba(224,36,36,var(--placeholder-opacity))}.focus\:placeholder-red-600:focus::placeholder{--placeholder-opacity:1;color:#e02424;color:rgba(224,36,36,var(--placeholder-opacity))}.focus\:placeholder-red-700:focus::-moz-placeholder{--placeholder-opacity:1;color:#c81e1e;color:rgba(200,30,30,var(--placeholder-opacity))}.focus\:placeholder-red-700:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#c81e1e;color:rgba(200,30,30,var(--placeholder-opacity))}.focus\:placeholder-red-700:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#c81e1e;color:rgba(200,30,30,var(--placeholder-opacity))}.focus\:placeholder-red-700:focus::placeholder{--placeholder-opacity:1;color:#c81e1e;color:rgba(200,30,30,var(--placeholder-opacity))}.focus\:placeholder-red-800:focus::-moz-placeholder{--placeholder-opacity:1;color:#9b1c1c;color:rgba(155,28,28,var(--placeholder-opacity))}.focus\:placeholder-red-800:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#9b1c1c;color:rgba(155,28,28,var(--placeholder-opacity))}.focus\:placeholder-red-800:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#9b1c1c;color:rgba(155,28,28,var(--placeholder-opacity))}.focus\:placeholder-red-800:focus::placeholder{--placeholder-opacity:1;color:#9b1c1c;color:rgba(155,28,28,var(--placeholder-opacity))}.focus\:placeholder-red-900:focus::-moz-placeholder{--placeholder-opacity:1;color:#771d1d;color:rgba(119,29,29,var(--placeholder-opacity))}.focus\:placeholder-red-900:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#771d1d;color:rgba(119,29,29,var(--placeholder-opacity))}.focus\:placeholder-red-900:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#771d1d;color:rgba(119,29,29,var(--placeholder-opacity))}.focus\:placeholder-red-900:focus::placeholder{--placeholder-opacity:1;color:#771d1d;color:rgba(119,29,29,var(--placeholder-opacity))}.focus\:placeholder-orange-50:focus::-moz-placeholder{--placeholder-opacity:1;color:#fff8f1;color:rgba(255,248,241,var(--placeholder-opacity))}.focus\:placeholder-orange-50:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#fff8f1;color:rgba(255,248,241,var(--placeholder-opacity))}.focus\:placeholder-orange-50:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#fff8f1;color:rgba(255,248,241,var(--placeholder-opacity))}.focus\:placeholder-orange-50:focus::placeholder{--placeholder-opacity:1;color:#fff8f1;color:rgba(255,248,241,var(--placeholder-opacity))}.focus\:placeholder-orange-100:focus::-moz-placeholder{--placeholder-opacity:1;color:#feecdc;color:rgba(254,236,220,var(--placeholder-opacity))}.focus\:placeholder-orange-100:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#feecdc;color:rgba(254,236,220,var(--placeholder-opacity))}.focus\:placeholder-orange-100:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#feecdc;color:rgba(254,236,220,var(--placeholder-opacity))}.focus\:placeholder-orange-100:focus::placeholder{--placeholder-opacity:1;color:#feecdc;color:rgba(254,236,220,var(--placeholder-opacity))}.focus\:placeholder-orange-200:focus::-moz-placeholder{--placeholder-opacity:1;color:#fcd9bd;color:rgba(252,217,189,var(--placeholder-opacity))}.focus\:placeholder-orange-200:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#fcd9bd;color:rgba(252,217,189,var(--placeholder-opacity))}.focus\:placeholder-orange-200:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#fcd9bd;color:rgba(252,217,189,var(--placeholder-opacity))}.focus\:placeholder-orange-200:focus::placeholder{--placeholder-opacity:1;color:#fcd9bd;color:rgba(252,217,189,var(--placeholder-opacity))}.focus\:placeholder-orange-300:focus::-moz-placeholder{--placeholder-opacity:1;color:#fdba8c;color:rgba(253,186,140,var(--placeholder-opacity))}.focus\:placeholder-orange-300:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#fdba8c;color:rgba(253,186,140,var(--placeholder-opacity))}.focus\:placeholder-orange-300:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#fdba8c;color:rgba(253,186,140,var(--placeholder-opacity))}.focus\:placeholder-orange-300:focus::placeholder{--placeholder-opacity:1;color:#fdba8c;color:rgba(253,186,140,var(--placeholder-opacity))}.focus\:placeholder-orange-400:focus::-moz-placeholder{--placeholder-opacity:1;color:#ff8a4c;color:rgba(255,138,76,var(--placeholder-opacity))}.focus\:placeholder-orange-400:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#ff8a4c;color:rgba(255,138,76,var(--placeholder-opacity))}.focus\:placeholder-orange-400:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#ff8a4c;color:rgba(255,138,76,var(--placeholder-opacity))}.focus\:placeholder-orange-400:focus::placeholder{--placeholder-opacity:1;color:#ff8a4c;color:rgba(255,138,76,var(--placeholder-opacity))}.focus\:placeholder-orange-500:focus::-moz-placeholder{--placeholder-opacity:1;color:#ff5a1f;color:rgba(255,90,31,var(--placeholder-opacity))}.focus\:placeholder-orange-500:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#ff5a1f;color:rgba(255,90,31,var(--placeholder-opacity))}.focus\:placeholder-orange-500:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#ff5a1f;color:rgba(255,90,31,var(--placeholder-opacity))}.focus\:placeholder-orange-500:focus::placeholder{--placeholder-opacity:1;color:#ff5a1f;color:rgba(255,90,31,var(--placeholder-opacity))}.focus\:placeholder-orange-600:focus::-moz-placeholder{--placeholder-opacity:1;color:#d03801;color:rgba(208,56,1,var(--placeholder-opacity))}.focus\:placeholder-orange-600:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#d03801;color:rgba(208,56,1,var(--placeholder-opacity))}.focus\:placeholder-orange-600:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#d03801;color:rgba(208,56,1,var(--placeholder-opacity))}.focus\:placeholder-orange-600:focus::placeholder{--placeholder-opacity:1;color:#d03801;color:rgba(208,56,1,var(--placeholder-opacity))}.focus\:placeholder-orange-700:focus::-moz-placeholder{--placeholder-opacity:1;color:#b43403;color:rgba(180,52,3,var(--placeholder-opacity))}.focus\:placeholder-orange-700:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#b43403;color:rgba(180,52,3,var(--placeholder-opacity))}.focus\:placeholder-orange-700:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#b43403;color:rgba(180,52,3,var(--placeholder-opacity))}.focus\:placeholder-orange-700:focus::placeholder{--placeholder-opacity:1;color:#b43403;color:rgba(180,52,3,var(--placeholder-opacity))}.focus\:placeholder-orange-800:focus::-moz-placeholder{--placeholder-opacity:1;color:#8a2c0d;color:rgba(138,44,13,var(--placeholder-opacity))}.focus\:placeholder-orange-800:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#8a2c0d;color:rgba(138,44,13,var(--placeholder-opacity))}.focus\:placeholder-orange-800:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#8a2c0d;color:rgba(138,44,13,var(--placeholder-opacity))}.focus\:placeholder-orange-800:focus::placeholder{--placeholder-opacity:1;color:#8a2c0d;color:rgba(138,44,13,var(--placeholder-opacity))}.focus\:placeholder-orange-900:focus::-moz-placeholder{--placeholder-opacity:1;color:#73230d;color:rgba(115,35,13,var(--placeholder-opacity))}.focus\:placeholder-orange-900:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#73230d;color:rgba(115,35,13,var(--placeholder-opacity))}.focus\:placeholder-orange-900:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#73230d;color:rgba(115,35,13,var(--placeholder-opacity))}.focus\:placeholder-orange-900:focus::placeholder{--placeholder-opacity:1;color:#73230d;color:rgba(115,35,13,var(--placeholder-opacity))}.focus\:placeholder-yellow-50:focus::-moz-placeholder{--placeholder-opacity:1;color:#fdfdea;color:rgba(253,253,234,var(--placeholder-opacity))}.focus\:placeholder-yellow-50:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#fdfdea;color:rgba(253,253,234,var(--placeholder-opacity))}.focus\:placeholder-yellow-50:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#fdfdea;color:rgba(253,253,234,var(--placeholder-opacity))}.focus\:placeholder-yellow-50:focus::placeholder{--placeholder-opacity:1;color:#fdfdea;color:rgba(253,253,234,var(--placeholder-opacity))}.focus\:placeholder-yellow-100:focus::-moz-placeholder{--placeholder-opacity:1;color:#fdf6b2;color:rgba(253,246,178,var(--placeholder-opacity))}.focus\:placeholder-yellow-100:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#fdf6b2;color:rgba(253,246,178,var(--placeholder-opacity))}.focus\:placeholder-yellow-100:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#fdf6b2;color:rgba(253,246,178,var(--placeholder-opacity))}.focus\:placeholder-yellow-100:focus::placeholder{--placeholder-opacity:1;color:#fdf6b2;color:rgba(253,246,178,var(--placeholder-opacity))}.focus\:placeholder-yellow-200:focus::-moz-placeholder{--placeholder-opacity:1;color:#fce96a;color:rgba(252,233,106,var(--placeholder-opacity))}.focus\:placeholder-yellow-200:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#fce96a;color:rgba(252,233,106,var(--placeholder-opacity))}.focus\:placeholder-yellow-200:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#fce96a;color:rgba(252,233,106,var(--placeholder-opacity))}.focus\:placeholder-yellow-200:focus::placeholder{--placeholder-opacity:1;color:#fce96a;color:rgba(252,233,106,var(--placeholder-opacity))}.focus\:placeholder-yellow-300:focus::-moz-placeholder{--placeholder-opacity:1;color:#faca15;color:rgba(250,202,21,var(--placeholder-opacity))}.focus\:placeholder-yellow-300:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#faca15;color:rgba(250,202,21,var(--placeholder-opacity))}.focus\:placeholder-yellow-300:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#faca15;color:rgba(250,202,21,var(--placeholder-opacity))}.focus\:placeholder-yellow-300:focus::placeholder{--placeholder-opacity:1;color:#faca15;color:rgba(250,202,21,var(--placeholder-opacity))}.focus\:placeholder-yellow-400:focus::-moz-placeholder{--placeholder-opacity:1;color:#e3a008;color:rgba(227,160,8,var(--placeholder-opacity))}.focus\:placeholder-yellow-400:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#e3a008;color:rgba(227,160,8,var(--placeholder-opacity))}.focus\:placeholder-yellow-400:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#e3a008;color:rgba(227,160,8,var(--placeholder-opacity))}.focus\:placeholder-yellow-400:focus::placeholder{--placeholder-opacity:1;color:#e3a008;color:rgba(227,160,8,var(--placeholder-opacity))}.focus\:placeholder-yellow-500:focus::-moz-placeholder{--placeholder-opacity:1;color:#c27803;color:rgba(194,120,3,var(--placeholder-opacity))}.focus\:placeholder-yellow-500:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#c27803;color:rgba(194,120,3,var(--placeholder-opacity))}.focus\:placeholder-yellow-500:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#c27803;color:rgba(194,120,3,var(--placeholder-opacity))}.focus\:placeholder-yellow-500:focus::placeholder{--placeholder-opacity:1;color:#c27803;color:rgba(194,120,3,var(--placeholder-opacity))}.focus\:placeholder-yellow-600:focus::-moz-placeholder{--placeholder-opacity:1;color:#9f580a;color:rgba(159,88,10,var(--placeholder-opacity))}.focus\:placeholder-yellow-600:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#9f580a;color:rgba(159,88,10,var(--placeholder-opacity))}.focus\:placeholder-yellow-600:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#9f580a;color:rgba(159,88,10,var(--placeholder-opacity))}.focus\:placeholder-yellow-600:focus::placeholder{--placeholder-opacity:1;color:#9f580a;color:rgba(159,88,10,var(--placeholder-opacity))}.focus\:placeholder-yellow-700:focus::-moz-placeholder{--placeholder-opacity:1;color:#8e4b10;color:rgba(142,75,16,var(--placeholder-opacity))}.focus\:placeholder-yellow-700:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#8e4b10;color:rgba(142,75,16,var(--placeholder-opacity))}.focus\:placeholder-yellow-700:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#8e4b10;color:rgba(142,75,16,var(--placeholder-opacity))}.focus\:placeholder-yellow-700:focus::placeholder{--placeholder-opacity:1;color:#8e4b10;color:rgba(142,75,16,var(--placeholder-opacity))}.focus\:placeholder-yellow-800:focus::-moz-placeholder{--placeholder-opacity:1;color:#723b13;color:rgba(114,59,19,var(--placeholder-opacity))}.focus\:placeholder-yellow-800:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#723b13;color:rgba(114,59,19,var(--placeholder-opacity))}.focus\:placeholder-yellow-800:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#723b13;color:rgba(114,59,19,var(--placeholder-opacity))}.focus\:placeholder-yellow-800:focus::placeholder{--placeholder-opacity:1;color:#723b13;color:rgba(114,59,19,var(--placeholder-opacity))}.focus\:placeholder-yellow-900:focus::-moz-placeholder{--placeholder-opacity:1;color:#633112;color:rgba(99,49,18,var(--placeholder-opacity))}.focus\:placeholder-yellow-900:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#633112;color:rgba(99,49,18,var(--placeholder-opacity))}.focus\:placeholder-yellow-900:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#633112;color:rgba(99,49,18,var(--placeholder-opacity))}.focus\:placeholder-yellow-900:focus::placeholder{--placeholder-opacity:1;color:#633112;color:rgba(99,49,18,var(--placeholder-opacity))}.focus\:placeholder-green-50:focus::-moz-placeholder{--placeholder-opacity:1;color:#f3faf7;color:rgba(243,250,247,var(--placeholder-opacity))}.focus\:placeholder-green-50:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#f3faf7;color:rgba(243,250,247,var(--placeholder-opacity))}.focus\:placeholder-green-50:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#f3faf7;color:rgba(243,250,247,var(--placeholder-opacity))}.focus\:placeholder-green-50:focus::placeholder{--placeholder-opacity:1;color:#f3faf7;color:rgba(243,250,247,var(--placeholder-opacity))}.focus\:placeholder-green-100:focus::-moz-placeholder{--placeholder-opacity:1;color:#def7ec;color:rgba(222,247,236,var(--placeholder-opacity))}.focus\:placeholder-green-100:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#def7ec;color:rgba(222,247,236,var(--placeholder-opacity))}.focus\:placeholder-green-100:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#def7ec;color:rgba(222,247,236,var(--placeholder-opacity))}.focus\:placeholder-green-100:focus::placeholder{--placeholder-opacity:1;color:#def7ec;color:rgba(222,247,236,var(--placeholder-opacity))}.focus\:placeholder-green-200:focus::-moz-placeholder{--placeholder-opacity:1;color:#bcf0da;color:rgba(188,240,218,var(--placeholder-opacity))}.focus\:placeholder-green-200:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#bcf0da;color:rgba(188,240,218,var(--placeholder-opacity))}.focus\:placeholder-green-200:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#bcf0da;color:rgba(188,240,218,var(--placeholder-opacity))}.focus\:placeholder-green-200:focus::placeholder{--placeholder-opacity:1;color:#bcf0da;color:rgba(188,240,218,var(--placeholder-opacity))}.focus\:placeholder-green-300:focus::-moz-placeholder{--placeholder-opacity:1;color:#84e1bc;color:rgba(132,225,188,var(--placeholder-opacity))}.focus\:placeholder-green-300:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#84e1bc;color:rgba(132,225,188,var(--placeholder-opacity))}.focus\:placeholder-green-300:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#84e1bc;color:rgba(132,225,188,var(--placeholder-opacity))}.focus\:placeholder-green-300:focus::placeholder{--placeholder-opacity:1;color:#84e1bc;color:rgba(132,225,188,var(--placeholder-opacity))}.focus\:placeholder-green-400:focus::-moz-placeholder{--placeholder-opacity:1;color:#31c48d;color:rgba(49,196,141,var(--placeholder-opacity))}.focus\:placeholder-green-400:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#31c48d;color:rgba(49,196,141,var(--placeholder-opacity))}.focus\:placeholder-green-400:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#31c48d;color:rgba(49,196,141,var(--placeholder-opacity))}.focus\:placeholder-green-400:focus::placeholder{--placeholder-opacity:1;color:#31c48d;color:rgba(49,196,141,var(--placeholder-opacity))}.focus\:placeholder-green-500:focus::-moz-placeholder{--placeholder-opacity:1;color:#0e9f6e;color:rgba(14,159,110,var(--placeholder-opacity))}.focus\:placeholder-green-500:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#0e9f6e;color:rgba(14,159,110,var(--placeholder-opacity))}.focus\:placeholder-green-500:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#0e9f6e;color:rgba(14,159,110,var(--placeholder-opacity))}.focus\:placeholder-green-500:focus::placeholder{--placeholder-opacity:1;color:#0e9f6e;color:rgba(14,159,110,var(--placeholder-opacity))}.focus\:placeholder-green-600:focus::-moz-placeholder{--placeholder-opacity:1;color:#057a55;color:rgba(5,122,85,var(--placeholder-opacity))}.focus\:placeholder-green-600:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#057a55;color:rgba(5,122,85,var(--placeholder-opacity))}.focus\:placeholder-green-600:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#057a55;color:rgba(5,122,85,var(--placeholder-opacity))}.focus\:placeholder-green-600:focus::placeholder{--placeholder-opacity:1;color:#057a55;color:rgba(5,122,85,var(--placeholder-opacity))}.focus\:placeholder-green-700:focus::-moz-placeholder{--placeholder-opacity:1;color:#046c4e;color:rgba(4,108,78,var(--placeholder-opacity))}.focus\:placeholder-green-700:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#046c4e;color:rgba(4,108,78,var(--placeholder-opacity))}.focus\:placeholder-green-700:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#046c4e;color:rgba(4,108,78,var(--placeholder-opacity))}.focus\:placeholder-green-700:focus::placeholder{--placeholder-opacity:1;color:#046c4e;color:rgba(4,108,78,var(--placeholder-opacity))}.focus\:placeholder-green-800:focus::-moz-placeholder{--placeholder-opacity:1;color:#03543f;color:rgba(3,84,63,var(--placeholder-opacity))}.focus\:placeholder-green-800:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#03543f;color:rgba(3,84,63,var(--placeholder-opacity))}.focus\:placeholder-green-800:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#03543f;color:rgba(3,84,63,var(--placeholder-opacity))}.focus\:placeholder-green-800:focus::placeholder{--placeholder-opacity:1;color:#03543f;color:rgba(3,84,63,var(--placeholder-opacity))}.focus\:placeholder-green-900:focus::-moz-placeholder{--placeholder-opacity:1;color:#014737;color:rgba(1,71,55,var(--placeholder-opacity))}.focus\:placeholder-green-900:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#014737;color:rgba(1,71,55,var(--placeholder-opacity))}.focus\:placeholder-green-900:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#014737;color:rgba(1,71,55,var(--placeholder-opacity))}.focus\:placeholder-green-900:focus::placeholder{--placeholder-opacity:1;color:#014737;color:rgba(1,71,55,var(--placeholder-opacity))}.focus\:placeholder-teal-50:focus::-moz-placeholder{--placeholder-opacity:1;color:#edfafa;color:rgba(237,250,250,var(--placeholder-opacity))}.focus\:placeholder-teal-50:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#edfafa;color:rgba(237,250,250,var(--placeholder-opacity))}.focus\:placeholder-teal-50:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#edfafa;color:rgba(237,250,250,var(--placeholder-opacity))}.focus\:placeholder-teal-50:focus::placeholder{--placeholder-opacity:1;color:#edfafa;color:rgba(237,250,250,var(--placeholder-opacity))}.focus\:placeholder-teal-100:focus::-moz-placeholder{--placeholder-opacity:1;color:#d5f5f6;color:rgba(213,245,246,var(--placeholder-opacity))}.focus\:placeholder-teal-100:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#d5f5f6;color:rgba(213,245,246,var(--placeholder-opacity))}.focus\:placeholder-teal-100:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#d5f5f6;color:rgba(213,245,246,var(--placeholder-opacity))}.focus\:placeholder-teal-100:focus::placeholder{--placeholder-opacity:1;color:#d5f5f6;color:rgba(213,245,246,var(--placeholder-opacity))}.focus\:placeholder-teal-200:focus::-moz-placeholder{--placeholder-opacity:1;color:#afecef;color:rgba(175,236,239,var(--placeholder-opacity))}.focus\:placeholder-teal-200:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#afecef;color:rgba(175,236,239,var(--placeholder-opacity))}.focus\:placeholder-teal-200:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#afecef;color:rgba(175,236,239,var(--placeholder-opacity))}.focus\:placeholder-teal-200:focus::placeholder{--placeholder-opacity:1;color:#afecef;color:rgba(175,236,239,var(--placeholder-opacity))}.focus\:placeholder-teal-300:focus::-moz-placeholder{--placeholder-opacity:1;color:#7edce2;color:rgba(126,220,226,var(--placeholder-opacity))}.focus\:placeholder-teal-300:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#7edce2;color:rgba(126,220,226,var(--placeholder-opacity))}.focus\:placeholder-teal-300:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#7edce2;color:rgba(126,220,226,var(--placeholder-opacity))}.focus\:placeholder-teal-300:focus::placeholder{--placeholder-opacity:1;color:#7edce2;color:rgba(126,220,226,var(--placeholder-opacity))}.focus\:placeholder-teal-400:focus::-moz-placeholder{--placeholder-opacity:1;color:#16bdca;color:rgba(22,189,202,var(--placeholder-opacity))}.focus\:placeholder-teal-400:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#16bdca;color:rgba(22,189,202,var(--placeholder-opacity))}.focus\:placeholder-teal-400:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#16bdca;color:rgba(22,189,202,var(--placeholder-opacity))}.focus\:placeholder-teal-400:focus::placeholder{--placeholder-opacity:1;color:#16bdca;color:rgba(22,189,202,var(--placeholder-opacity))}.focus\:placeholder-teal-500:focus::-moz-placeholder{--placeholder-opacity:1;color:#0694a2;color:rgba(6,148,162,var(--placeholder-opacity))}.focus\:placeholder-teal-500:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#0694a2;color:rgba(6,148,162,var(--placeholder-opacity))}.focus\:placeholder-teal-500:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#0694a2;color:rgba(6,148,162,var(--placeholder-opacity))}.focus\:placeholder-teal-500:focus::placeholder{--placeholder-opacity:1;color:#0694a2;color:rgba(6,148,162,var(--placeholder-opacity))}.focus\:placeholder-teal-600:focus::-moz-placeholder{--placeholder-opacity:1;color:#047481;color:rgba(4,116,129,var(--placeholder-opacity))}.focus\:placeholder-teal-600:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#047481;color:rgba(4,116,129,var(--placeholder-opacity))}.focus\:placeholder-teal-600:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#047481;color:rgba(4,116,129,var(--placeholder-opacity))}.focus\:placeholder-teal-600:focus::placeholder{--placeholder-opacity:1;color:#047481;color:rgba(4,116,129,var(--placeholder-opacity))}.focus\:placeholder-teal-700:focus::-moz-placeholder{--placeholder-opacity:1;color:#036672;color:rgba(3,102,114,var(--placeholder-opacity))}.focus\:placeholder-teal-700:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#036672;color:rgba(3,102,114,var(--placeholder-opacity))}.focus\:placeholder-teal-700:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#036672;color:rgba(3,102,114,var(--placeholder-opacity))}.focus\:placeholder-teal-700:focus::placeholder{--placeholder-opacity:1;color:#036672;color:rgba(3,102,114,var(--placeholder-opacity))}.focus\:placeholder-teal-800:focus::-moz-placeholder{--placeholder-opacity:1;color:#05505c;color:rgba(5,80,92,var(--placeholder-opacity))}.focus\:placeholder-teal-800:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#05505c;color:rgba(5,80,92,var(--placeholder-opacity))}.focus\:placeholder-teal-800:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#05505c;color:rgba(5,80,92,var(--placeholder-opacity))}.focus\:placeholder-teal-800:focus::placeholder{--placeholder-opacity:1;color:#05505c;color:rgba(5,80,92,var(--placeholder-opacity))}.focus\:placeholder-teal-900:focus::-moz-placeholder{--placeholder-opacity:1;color:#014451;color:rgba(1,68,81,var(--placeholder-opacity))}.focus\:placeholder-teal-900:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#014451;color:rgba(1,68,81,var(--placeholder-opacity))}.focus\:placeholder-teal-900:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#014451;color:rgba(1,68,81,var(--placeholder-opacity))}.focus\:placeholder-teal-900:focus::placeholder{--placeholder-opacity:1;color:#014451;color:rgba(1,68,81,var(--placeholder-opacity))}.focus\:placeholder-blue-50:focus::-moz-placeholder{--placeholder-opacity:1;color:#ebf5ff;color:rgba(235,245,255,var(--placeholder-opacity))}.focus\:placeholder-blue-50:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#ebf5ff;color:rgba(235,245,255,var(--placeholder-opacity))}.focus\:placeholder-blue-50:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#ebf5ff;color:rgba(235,245,255,var(--placeholder-opacity))}.focus\:placeholder-blue-50:focus::placeholder{--placeholder-opacity:1;color:#ebf5ff;color:rgba(235,245,255,var(--placeholder-opacity))}.focus\:placeholder-blue-100:focus::-moz-placeholder{--placeholder-opacity:1;color:#e1effe;color:rgba(225,239,254,var(--placeholder-opacity))}.focus\:placeholder-blue-100:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#e1effe;color:rgba(225,239,254,var(--placeholder-opacity))}.focus\:placeholder-blue-100:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#e1effe;color:rgba(225,239,254,var(--placeholder-opacity))}.focus\:placeholder-blue-100:focus::placeholder{--placeholder-opacity:1;color:#e1effe;color:rgba(225,239,254,var(--placeholder-opacity))}.focus\:placeholder-blue-200:focus::-moz-placeholder{--placeholder-opacity:1;color:#c3ddfd;color:rgba(195,221,253,var(--placeholder-opacity))}.focus\:placeholder-blue-200:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#c3ddfd;color:rgba(195,221,253,var(--placeholder-opacity))}.focus\:placeholder-blue-200:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#c3ddfd;color:rgba(195,221,253,var(--placeholder-opacity))}.focus\:placeholder-blue-200:focus::placeholder{--placeholder-opacity:1;color:#c3ddfd;color:rgba(195,221,253,var(--placeholder-opacity))}.focus\:placeholder-blue-300:focus::-moz-placeholder{--placeholder-opacity:1;color:#a4cafe;color:rgba(164,202,254,var(--placeholder-opacity))}.focus\:placeholder-blue-300:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#a4cafe;color:rgba(164,202,254,var(--placeholder-opacity))}.focus\:placeholder-blue-300:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#a4cafe;color:rgba(164,202,254,var(--placeholder-opacity))}.focus\:placeholder-blue-300:focus::placeholder{--placeholder-opacity:1;color:#a4cafe;color:rgba(164,202,254,var(--placeholder-opacity))}.focus\:placeholder-blue-400:focus::-moz-placeholder{--placeholder-opacity:1;color:#76a9fa;color:rgba(118,169,250,var(--placeholder-opacity))}.focus\:placeholder-blue-400:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#76a9fa;color:rgba(118,169,250,var(--placeholder-opacity))}.focus\:placeholder-blue-400:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#76a9fa;color:rgba(118,169,250,var(--placeholder-opacity))}.focus\:placeholder-blue-400:focus::placeholder{--placeholder-opacity:1;color:#76a9fa;color:rgba(118,169,250,var(--placeholder-opacity))}.focus\:placeholder-blue-500:focus::-moz-placeholder{--placeholder-opacity:1;color:#3f83f8;color:rgba(63,131,248,var(--placeholder-opacity))}.focus\:placeholder-blue-500:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#3f83f8;color:rgba(63,131,248,var(--placeholder-opacity))}.focus\:placeholder-blue-500:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#3f83f8;color:rgba(63,131,248,var(--placeholder-opacity))}.focus\:placeholder-blue-500:focus::placeholder{--placeholder-opacity:1;color:#3f83f8;color:rgba(63,131,248,var(--placeholder-opacity))}.focus\:placeholder-blue-600:focus::-moz-placeholder{--placeholder-opacity:1;color:#1c64f2;color:rgba(28,100,242,var(--placeholder-opacity))}.focus\:placeholder-blue-600:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#1c64f2;color:rgba(28,100,242,var(--placeholder-opacity))}.focus\:placeholder-blue-600:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#1c64f2;color:rgba(28,100,242,var(--placeholder-opacity))}.focus\:placeholder-blue-600:focus::placeholder{--placeholder-opacity:1;color:#1c64f2;color:rgba(28,100,242,var(--placeholder-opacity))}.focus\:placeholder-blue-700:focus::-moz-placeholder{--placeholder-opacity:1;color:#1a56db;color:rgba(26,86,219,var(--placeholder-opacity))}.focus\:placeholder-blue-700:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#1a56db;color:rgba(26,86,219,var(--placeholder-opacity))}.focus\:placeholder-blue-700:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#1a56db;color:rgba(26,86,219,var(--placeholder-opacity))}.focus\:placeholder-blue-700:focus::placeholder{--placeholder-opacity:1;color:#1a56db;color:rgba(26,86,219,var(--placeholder-opacity))}.focus\:placeholder-blue-800:focus::-moz-placeholder{--placeholder-opacity:1;color:#1e429f;color:rgba(30,66,159,var(--placeholder-opacity))}.focus\:placeholder-blue-800:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#1e429f;color:rgba(30,66,159,var(--placeholder-opacity))}.focus\:placeholder-blue-800:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#1e429f;color:rgba(30,66,159,var(--placeholder-opacity))}.focus\:placeholder-blue-800:focus::placeholder{--placeholder-opacity:1;color:#1e429f;color:rgba(30,66,159,var(--placeholder-opacity))}.focus\:placeholder-blue-900:focus::-moz-placeholder{--placeholder-opacity:1;color:#233876;color:rgba(35,56,118,var(--placeholder-opacity))}.focus\:placeholder-blue-900:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#233876;color:rgba(35,56,118,var(--placeholder-opacity))}.focus\:placeholder-blue-900:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#233876;color:rgba(35,56,118,var(--placeholder-opacity))}.focus\:placeholder-blue-900:focus::placeholder{--placeholder-opacity:1;color:#233876;color:rgba(35,56,118,var(--placeholder-opacity))}.focus\:placeholder-indigo-50:focus::-moz-placeholder{--placeholder-opacity:1;color:#f0f5ff;color:rgba(240,245,255,var(--placeholder-opacity))}.focus\:placeholder-indigo-50:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#f0f5ff;color:rgba(240,245,255,var(--placeholder-opacity))}.focus\:placeholder-indigo-50:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#f0f5ff;color:rgba(240,245,255,var(--placeholder-opacity))}.focus\:placeholder-indigo-50:focus::placeholder{--placeholder-opacity:1;color:#f0f5ff;color:rgba(240,245,255,var(--placeholder-opacity))}.focus\:placeholder-indigo-100:focus::-moz-placeholder{--placeholder-opacity:1;color:#e5edff;color:rgba(229,237,255,var(--placeholder-opacity))}.focus\:placeholder-indigo-100:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#e5edff;color:rgba(229,237,255,var(--placeholder-opacity))}.focus\:placeholder-indigo-100:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#e5edff;color:rgba(229,237,255,var(--placeholder-opacity))}.focus\:placeholder-indigo-100:focus::placeholder{--placeholder-opacity:1;color:#e5edff;color:rgba(229,237,255,var(--placeholder-opacity))}.focus\:placeholder-indigo-200:focus::-moz-placeholder{--placeholder-opacity:1;color:#cddbfe;color:rgba(205,219,254,var(--placeholder-opacity))}.focus\:placeholder-indigo-200:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#cddbfe;color:rgba(205,219,254,var(--placeholder-opacity))}.focus\:placeholder-indigo-200:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#cddbfe;color:rgba(205,219,254,var(--placeholder-opacity))}.focus\:placeholder-indigo-200:focus::placeholder{--placeholder-opacity:1;color:#cddbfe;color:rgba(205,219,254,var(--placeholder-opacity))}.focus\:placeholder-indigo-300:focus::-moz-placeholder{--placeholder-opacity:1;color:#b4c6fc;color:rgba(180,198,252,var(--placeholder-opacity))}.focus\:placeholder-indigo-300:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#b4c6fc;color:rgba(180,198,252,var(--placeholder-opacity))}.focus\:placeholder-indigo-300:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#b4c6fc;color:rgba(180,198,252,var(--placeholder-opacity))}.focus\:placeholder-indigo-300:focus::placeholder{--placeholder-opacity:1;color:#b4c6fc;color:rgba(180,198,252,var(--placeholder-opacity))}.focus\:placeholder-indigo-400:focus::-moz-placeholder{--placeholder-opacity:1;color:#8da2fb;color:rgba(141,162,251,var(--placeholder-opacity))}.focus\:placeholder-indigo-400:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#8da2fb;color:rgba(141,162,251,var(--placeholder-opacity))}.focus\:placeholder-indigo-400:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#8da2fb;color:rgba(141,162,251,var(--placeholder-opacity))}.focus\:placeholder-indigo-400:focus::placeholder{--placeholder-opacity:1;color:#8da2fb;color:rgba(141,162,251,var(--placeholder-opacity))}.focus\:placeholder-indigo-500:focus::-moz-placeholder{--placeholder-opacity:1;color:#6875f5;color:rgba(104,117,245,var(--placeholder-opacity))}.focus\:placeholder-indigo-500:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#6875f5;color:rgba(104,117,245,var(--placeholder-opacity))}.focus\:placeholder-indigo-500:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#6875f5;color:rgba(104,117,245,var(--placeholder-opacity))}.focus\:placeholder-indigo-500:focus::placeholder{--placeholder-opacity:1;color:#6875f5;color:rgba(104,117,245,var(--placeholder-opacity))}.focus\:placeholder-indigo-600:focus::-moz-placeholder{--placeholder-opacity:1;color:#5850ec;color:rgba(88,80,236,var(--placeholder-opacity))}.focus\:placeholder-indigo-600:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#5850ec;color:rgba(88,80,236,var(--placeholder-opacity))}.focus\:placeholder-indigo-600:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#5850ec;color:rgba(88,80,236,var(--placeholder-opacity))}.focus\:placeholder-indigo-600:focus::placeholder{--placeholder-opacity:1;color:#5850ec;color:rgba(88,80,236,var(--placeholder-opacity))}.focus\:placeholder-indigo-700:focus::-moz-placeholder{--placeholder-opacity:1;color:#5145cd;color:rgba(81,69,205,var(--placeholder-opacity))}.focus\:placeholder-indigo-700:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#5145cd;color:rgba(81,69,205,var(--placeholder-opacity))}.focus\:placeholder-indigo-700:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#5145cd;color:rgba(81,69,205,var(--placeholder-opacity))}.focus\:placeholder-indigo-700:focus::placeholder{--placeholder-opacity:1;color:#5145cd;color:rgba(81,69,205,var(--placeholder-opacity))}.focus\:placeholder-indigo-800:focus::-moz-placeholder{--placeholder-opacity:1;color:#42389d;color:rgba(66,56,157,var(--placeholder-opacity))}.focus\:placeholder-indigo-800:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#42389d;color:rgba(66,56,157,var(--placeholder-opacity))}.focus\:placeholder-indigo-800:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#42389d;color:rgba(66,56,157,var(--placeholder-opacity))}.focus\:placeholder-indigo-800:focus::placeholder{--placeholder-opacity:1;color:#42389d;color:rgba(66,56,157,var(--placeholder-opacity))}.focus\:placeholder-indigo-900:focus::-moz-placeholder{--placeholder-opacity:1;color:#362f78;color:rgba(54,47,120,var(--placeholder-opacity))}.focus\:placeholder-indigo-900:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#362f78;color:rgba(54,47,120,var(--placeholder-opacity))}.focus\:placeholder-indigo-900:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#362f78;color:rgba(54,47,120,var(--placeholder-opacity))}.focus\:placeholder-indigo-900:focus::placeholder{--placeholder-opacity:1;color:#362f78;color:rgba(54,47,120,var(--placeholder-opacity))}.focus\:placeholder-purple-50:focus::-moz-placeholder{--placeholder-opacity:1;color:#f6f5ff;color:rgba(246,245,255,var(--placeholder-opacity))}.focus\:placeholder-purple-50:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#f6f5ff;color:rgba(246,245,255,var(--placeholder-opacity))}.focus\:placeholder-purple-50:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#f6f5ff;color:rgba(246,245,255,var(--placeholder-opacity))}.focus\:placeholder-purple-50:focus::placeholder{--placeholder-opacity:1;color:#f6f5ff;color:rgba(246,245,255,var(--placeholder-opacity))}.focus\:placeholder-purple-100:focus::-moz-placeholder{--placeholder-opacity:1;color:#edebfe;color:rgba(237,235,254,var(--placeholder-opacity))}.focus\:placeholder-purple-100:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#edebfe;color:rgba(237,235,254,var(--placeholder-opacity))}.focus\:placeholder-purple-100:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#edebfe;color:rgba(237,235,254,var(--placeholder-opacity))}.focus\:placeholder-purple-100:focus::placeholder{--placeholder-opacity:1;color:#edebfe;color:rgba(237,235,254,var(--placeholder-opacity))}.focus\:placeholder-purple-200:focus::-moz-placeholder{--placeholder-opacity:1;color:#dcd7fe;color:rgba(220,215,254,var(--placeholder-opacity))}.focus\:placeholder-purple-200:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#dcd7fe;color:rgba(220,215,254,var(--placeholder-opacity))}.focus\:placeholder-purple-200:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#dcd7fe;color:rgba(220,215,254,var(--placeholder-opacity))}.focus\:placeholder-purple-200:focus::placeholder{--placeholder-opacity:1;color:#dcd7fe;color:rgba(220,215,254,var(--placeholder-opacity))}.focus\:placeholder-purple-300:focus::-moz-placeholder{--placeholder-opacity:1;color:#cabffd;color:rgba(202,191,253,var(--placeholder-opacity))}.focus\:placeholder-purple-300:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#cabffd;color:rgba(202,191,253,var(--placeholder-opacity))}.focus\:placeholder-purple-300:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#cabffd;color:rgba(202,191,253,var(--placeholder-opacity))}.focus\:placeholder-purple-300:focus::placeholder{--placeholder-opacity:1;color:#cabffd;color:rgba(202,191,253,var(--placeholder-opacity))}.focus\:placeholder-purple-400:focus::-moz-placeholder{--placeholder-opacity:1;color:#ac94fa;color:rgba(172,148,250,var(--placeholder-opacity))}.focus\:placeholder-purple-400:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#ac94fa;color:rgba(172,148,250,var(--placeholder-opacity))}.focus\:placeholder-purple-400:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#ac94fa;color:rgba(172,148,250,var(--placeholder-opacity))}.focus\:placeholder-purple-400:focus::placeholder{--placeholder-opacity:1;color:#ac94fa;color:rgba(172,148,250,var(--placeholder-opacity))}.focus\:placeholder-purple-500:focus::-moz-placeholder{--placeholder-opacity:1;color:#9061f9;color:rgba(144,97,249,var(--placeholder-opacity))}.focus\:placeholder-purple-500:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#9061f9;color:rgba(144,97,249,var(--placeholder-opacity))}.focus\:placeholder-purple-500:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#9061f9;color:rgba(144,97,249,var(--placeholder-opacity))}.focus\:placeholder-purple-500:focus::placeholder{--placeholder-opacity:1;color:#9061f9;color:rgba(144,97,249,var(--placeholder-opacity))}.focus\:placeholder-purple-600:focus::-moz-placeholder{--placeholder-opacity:1;color:#7e3af2;color:rgba(126,58,242,var(--placeholder-opacity))}.focus\:placeholder-purple-600:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#7e3af2;color:rgba(126,58,242,var(--placeholder-opacity))}.focus\:placeholder-purple-600:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#7e3af2;color:rgba(126,58,242,var(--placeholder-opacity))}.focus\:placeholder-purple-600:focus::placeholder{--placeholder-opacity:1;color:#7e3af2;color:rgba(126,58,242,var(--placeholder-opacity))}.focus\:placeholder-purple-700:focus::-moz-placeholder{--placeholder-opacity:1;color:#6c2bd9;color:rgba(108,43,217,var(--placeholder-opacity))}.focus\:placeholder-purple-700:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#6c2bd9;color:rgba(108,43,217,var(--placeholder-opacity))}.focus\:placeholder-purple-700:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#6c2bd9;color:rgba(108,43,217,var(--placeholder-opacity))}.focus\:placeholder-purple-700:focus::placeholder{--placeholder-opacity:1;color:#6c2bd9;color:rgba(108,43,217,var(--placeholder-opacity))}.focus\:placeholder-purple-800:focus::-moz-placeholder{--placeholder-opacity:1;color:#5521b5;color:rgba(85,33,181,var(--placeholder-opacity))}.focus\:placeholder-purple-800:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#5521b5;color:rgba(85,33,181,var(--placeholder-opacity))}.focus\:placeholder-purple-800:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#5521b5;color:rgba(85,33,181,var(--placeholder-opacity))}.focus\:placeholder-purple-800:focus::placeholder{--placeholder-opacity:1;color:#5521b5;color:rgba(85,33,181,var(--placeholder-opacity))}.focus\:placeholder-purple-900:focus::-moz-placeholder{--placeholder-opacity:1;color:#4a1d96;color:rgba(74,29,150,var(--placeholder-opacity))}.focus\:placeholder-purple-900:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#4a1d96;color:rgba(74,29,150,var(--placeholder-opacity))}.focus\:placeholder-purple-900:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#4a1d96;color:rgba(74,29,150,var(--placeholder-opacity))}.focus\:placeholder-purple-900:focus::placeholder{--placeholder-opacity:1;color:#4a1d96;color:rgba(74,29,150,var(--placeholder-opacity))}.focus\:placeholder-pink-50:focus::-moz-placeholder{--placeholder-opacity:1;color:#fdf2f8;color:rgba(253,242,248,var(--placeholder-opacity))}.focus\:placeholder-pink-50:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#fdf2f8;color:rgba(253,242,248,var(--placeholder-opacity))}.focus\:placeholder-pink-50:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#fdf2f8;color:rgba(253,242,248,var(--placeholder-opacity))}.focus\:placeholder-pink-50:focus::placeholder{--placeholder-opacity:1;color:#fdf2f8;color:rgba(253,242,248,var(--placeholder-opacity))}.focus\:placeholder-pink-100:focus::-moz-placeholder{--placeholder-opacity:1;color:#fce8f3;color:rgba(252,232,243,var(--placeholder-opacity))}.focus\:placeholder-pink-100:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#fce8f3;color:rgba(252,232,243,var(--placeholder-opacity))}.focus\:placeholder-pink-100:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#fce8f3;color:rgba(252,232,243,var(--placeholder-opacity))}.focus\:placeholder-pink-100:focus::placeholder{--placeholder-opacity:1;color:#fce8f3;color:rgba(252,232,243,var(--placeholder-opacity))}.focus\:placeholder-pink-200:focus::-moz-placeholder{--placeholder-opacity:1;color:#fad1e8;color:rgba(250,209,232,var(--placeholder-opacity))}.focus\:placeholder-pink-200:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#fad1e8;color:rgba(250,209,232,var(--placeholder-opacity))}.focus\:placeholder-pink-200:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#fad1e8;color:rgba(250,209,232,var(--placeholder-opacity))}.focus\:placeholder-pink-200:focus::placeholder{--placeholder-opacity:1;color:#fad1e8;color:rgba(250,209,232,var(--placeholder-opacity))}.focus\:placeholder-pink-300:focus::-moz-placeholder{--placeholder-opacity:1;color:#f8b4d9;color:rgba(248,180,217,var(--placeholder-opacity))}.focus\:placeholder-pink-300:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#f8b4d9;color:rgba(248,180,217,var(--placeholder-opacity))}.focus\:placeholder-pink-300:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#f8b4d9;color:rgba(248,180,217,var(--placeholder-opacity))}.focus\:placeholder-pink-300:focus::placeholder{--placeholder-opacity:1;color:#f8b4d9;color:rgba(248,180,217,var(--placeholder-opacity))}.focus\:placeholder-pink-400:focus::-moz-placeholder{--placeholder-opacity:1;color:#f17eb8;color:rgba(241,126,184,var(--placeholder-opacity))}.focus\:placeholder-pink-400:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#f17eb8;color:rgba(241,126,184,var(--placeholder-opacity))}.focus\:placeholder-pink-400:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#f17eb8;color:rgba(241,126,184,var(--placeholder-opacity))}.focus\:placeholder-pink-400:focus::placeholder{--placeholder-opacity:1;color:#f17eb8;color:rgba(241,126,184,var(--placeholder-opacity))}.focus\:placeholder-pink-500:focus::-moz-placeholder{--placeholder-opacity:1;color:#e74694;color:rgba(231,70,148,var(--placeholder-opacity))}.focus\:placeholder-pink-500:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#e74694;color:rgba(231,70,148,var(--placeholder-opacity))}.focus\:placeholder-pink-500:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#e74694;color:rgba(231,70,148,var(--placeholder-opacity))}.focus\:placeholder-pink-500:focus::placeholder{--placeholder-opacity:1;color:#e74694;color:rgba(231,70,148,var(--placeholder-opacity))}.focus\:placeholder-pink-600:focus::-moz-placeholder{--placeholder-opacity:1;color:#d61f69;color:rgba(214,31,105,var(--placeholder-opacity))}.focus\:placeholder-pink-600:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#d61f69;color:rgba(214,31,105,var(--placeholder-opacity))}.focus\:placeholder-pink-600:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#d61f69;color:rgba(214,31,105,var(--placeholder-opacity))}.focus\:placeholder-pink-600:focus::placeholder{--placeholder-opacity:1;color:#d61f69;color:rgba(214,31,105,var(--placeholder-opacity))}.focus\:placeholder-pink-700:focus::-moz-placeholder{--placeholder-opacity:1;color:#bf125d;color:rgba(191,18,93,var(--placeholder-opacity))}.focus\:placeholder-pink-700:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#bf125d;color:rgba(191,18,93,var(--placeholder-opacity))}.focus\:placeholder-pink-700:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#bf125d;color:rgba(191,18,93,var(--placeholder-opacity))}.focus\:placeholder-pink-700:focus::placeholder{--placeholder-opacity:1;color:#bf125d;color:rgba(191,18,93,var(--placeholder-opacity))}.focus\:placeholder-pink-800:focus::-moz-placeholder{--placeholder-opacity:1;color:#99154b;color:rgba(153,21,75,var(--placeholder-opacity))}.focus\:placeholder-pink-800:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#99154b;color:rgba(153,21,75,var(--placeholder-opacity))}.focus\:placeholder-pink-800:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#99154b;color:rgba(153,21,75,var(--placeholder-opacity))}.focus\:placeholder-pink-800:focus::placeholder{--placeholder-opacity:1;color:#99154b;color:rgba(153,21,75,var(--placeholder-opacity))}.focus\:placeholder-pink-900:focus::-moz-placeholder{--placeholder-opacity:1;color:#751a3d;color:rgba(117,26,61,var(--placeholder-opacity))}.focus\:placeholder-pink-900:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#751a3d;color:rgba(117,26,61,var(--placeholder-opacity))}.focus\:placeholder-pink-900:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#751a3d;color:rgba(117,26,61,var(--placeholder-opacity))}.focus\:placeholder-pink-900:focus::placeholder{--placeholder-opacity:1;color:#751a3d;color:rgba(117,26,61,var(--placeholder-opacity))}.placeholder-opacity-0::-moz-placeholder{--placeholder-opacity:0}.placeholder-opacity-0:-ms-input-placeholder{--placeholder-opacity:0}.placeholder-opacity-0::-ms-input-placeholder{--placeholder-opacity:0}.placeholder-opacity-0::placeholder{--placeholder-opacity:0}.placeholder-opacity-25::-moz-placeholder{--placeholder-opacity:0.25}.placeholder-opacity-25:-ms-input-placeholder{--placeholder-opacity:0.25}.placeholder-opacity-25::-ms-input-placeholder{--placeholder-opacity:0.25}.placeholder-opacity-25::placeholder{--placeholder-opacity:0.25}.placeholder-opacity-50::-moz-placeholder{--placeholder-opacity:0.5}.placeholder-opacity-50:-ms-input-placeholder{--placeholder-opacity:0.5}.placeholder-opacity-50::-ms-input-placeholder{--placeholder-opacity:0.5}.placeholder-opacity-50::placeholder{--placeholder-opacity:0.5}.placeholder-opacity-75::-moz-placeholder{--placeholder-opacity:0.75}.placeholder-opacity-75:-ms-input-placeholder{--placeholder-opacity:0.75}.placeholder-opacity-75::-ms-input-placeholder{--placeholder-opacity:0.75}.placeholder-opacity-75::placeholder{--placeholder-opacity:0.75}.placeholder-opacity-100::-moz-placeholder{--placeholder-opacity:1}.placeholder-opacity-100:-ms-input-placeholder{--placeholder-opacity:1}.placeholder-opacity-100::-ms-input-placeholder{--placeholder-opacity:1}.placeholder-opacity-100::placeholder{--placeholder-opacity:1}.focus\:placeholder-opacity-0:focus::-moz-placeholder{--placeholder-opacity:0}.focus\:placeholder-opacity-0:focus:-ms-input-placeholder{--placeholder-opacity:0}.focus\:placeholder-opacity-0:focus::-ms-input-placeholder{--placeholder-opacity:0}.focus\:placeholder-opacity-0:focus::placeholder{--placeholder-opacity:0}.focus\:placeholder-opacity-25:focus::-moz-placeholder{--placeholder-opacity:0.25}.focus\:placeholder-opacity-25:focus:-ms-input-placeholder{--placeholder-opacity:0.25}.focus\:placeholder-opacity-25:focus::-ms-input-placeholder{--placeholder-opacity:0.25}.focus\:placeholder-opacity-25:focus::placeholder{--placeholder-opacity:0.25}.focus\:placeholder-opacity-50:focus::-moz-placeholder{--placeholder-opacity:0.5}.focus\:placeholder-opacity-50:focus:-ms-input-placeholder{--placeholder-opacity:0.5}.focus\:placeholder-opacity-50:focus::-ms-input-placeholder{--placeholder-opacity:0.5}.focus\:placeholder-opacity-50:focus::placeholder{--placeholder-opacity:0.5}.focus\:placeholder-opacity-75:focus::-moz-placeholder{--placeholder-opacity:0.75}.focus\:placeholder-opacity-75:focus:-ms-input-placeholder{--placeholder-opacity:0.75}.focus\:placeholder-opacity-75:focus::-ms-input-placeholder{--placeholder-opacity:0.75}.focus\:placeholder-opacity-75:focus::placeholder{--placeholder-opacity:0.75}.focus\:placeholder-opacity-100:focus::-moz-placeholder{--placeholder-opacity:1}.focus\:placeholder-opacity-100:focus:-ms-input-placeholder{--placeholder-opacity:1}.focus\:placeholder-opacity-100:focus::-ms-input-placeholder{--placeholder-opacity:1}.focus\:placeholder-opacity-100:focus::placeholder{--placeholder-opacity:1}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:-webkit-sticky;position:sticky}.inset-0{top:0;right:0;bottom:0;left:0}.inset-1{top:.25rem;right:.25rem;bottom:.25rem;left:.25rem}.inset-2{top:.5rem;right:.5rem;bottom:.5rem;left:.5rem}.inset-3{top:.75rem;right:.75rem;bottom:.75rem;left:.75rem}.inset-4{top:1rem;right:1rem;bottom:1rem;left:1rem}.inset-5{top:1.25rem;right:1.25rem;bottom:1.25rem;left:1.25rem}.inset-6{top:1.5rem;right:1.5rem;bottom:1.5rem;left:1.5rem}.inset-7{top:1.75rem;right:1.75rem;bottom:1.75rem;left:1.75rem}.inset-8{top:2rem;right:2rem;bottom:2rem;left:2rem}.inset-9{top:2.25rem;right:2.25rem;bottom:2.25rem;left:2.25rem}.inset-10{top:2.5rem;right:2.5rem;bottom:2.5rem;left:2.5rem}.inset-11{top:2.75rem;right:2.75rem;bottom:2.75rem;left:2.75rem}.inset-12{top:3rem;right:3rem;bottom:3rem;left:3rem}.inset-13{top:3.25rem;right:3.25rem;bottom:3.25rem;left:3.25rem}.inset-14{top:3.5rem;right:3.5rem;bottom:3.5rem;left:3.5rem}.inset-15{top:3.75rem;right:3.75rem;bottom:3.75rem;left:3.75rem}.inset-16{top:4rem;right:4rem;bottom:4rem;left:4rem}.inset-20{top:5rem;right:5rem;bottom:5rem;left:5rem}.inset-24{top:6rem;right:6rem;bottom:6rem;left:6rem}.inset-28{top:7rem;right:7rem;bottom:7rem;left:7rem}.inset-32{top:8rem;right:8rem;bottom:8rem;left:8rem}.inset-36{top:9rem;right:9rem;bottom:9rem;left:9rem}.inset-40{top:10rem;right:10rem;bottom:10rem;left:10rem}.inset-44{top:11rem;right:11rem;bottom:11rem;left:11rem}.inset-48{top:12rem;right:12rem;bottom:12rem;left:12rem}.inset-52{top:13rem;right:13rem;bottom:13rem;left:13rem}.inset-56{top:14rem;right:14rem;bottom:14rem;left:14rem}.inset-60{top:15rem;right:15rem;bottom:15rem;left:15rem}.inset-64{top:16rem;right:16rem;bottom:16rem;left:16rem}.inset-72{top:18rem;right:18rem;bottom:18rem;left:18rem}.inset-80{top:20rem;right:20rem;bottom:20rem;left:20rem}.inset-96{top:24rem;right:24rem;bottom:24rem;left:24rem}.inset-auto{top:auto;right:auto;bottom:auto;left:auto}.inset-px{top:1px;right:1px;bottom:1px;left:1px}.inset-0\.5{top:.125rem;right:.125rem;bottom:.125rem;left:.125rem}.inset-1\.5{top:.375rem;right:.375rem;bottom:.375rem;left:.375rem}.inset-2\.5{top:.625rem;right:.625rem;bottom:.625rem;left:.625rem}.inset-3\.5{top:.875rem;right:.875rem;bottom:.875rem;left:.875rem}.inset-1\/2{top:50%;right:50%;bottom:50%;left:50%}.inset-1\/3{top:33.333333%;right:33.333333%;bottom:33.333333%;left:33.333333%}.inset-2\/3{top:66.666667%;right:66.666667%;bottom:66.666667%;left:66.666667%}.inset-1\/4{top:25%;right:25%;bottom:25%;left:25%}.inset-2\/4{top:50%;right:50%;bottom:50%;left:50%}.inset-3\/4{top:75%;right:75%;bottom:75%;left:75%}.inset-1\/5{top:20%;right:20%;bottom:20%;left:20%}.inset-2\/5{top:40%;right:40%;bottom:40%;left:40%}.inset-3\/5{top:60%;right:60%;bottom:60%;left:60%}.inset-4\/5{top:80%;right:80%;bottom:80%;left:80%}.inset-1\/6{top:16.666667%;right:16.666667%;bottom:16.666667%;left:16.666667%}.inset-2\/6{top:33.333333%;right:33.333333%;bottom:33.333333%;left:33.333333%}.inset-3\/6{top:50%;right:50%;bottom:50%;left:50%}.inset-4\/6{top:66.666667%;right:66.666667%;bottom:66.666667%;left:66.666667%}.inset-5\/6{top:83.333333%;right:83.333333%;bottom:83.333333%;left:83.333333%}.inset-1\/12{top:8.333333%;right:8.333333%;bottom:8.333333%;left:8.333333%}.inset-2\/12{top:16.666667%;right:16.666667%;bottom:16.666667%;left:16.666667%}.inset-3\/12{top:25%;right:25%;bottom:25%;left:25%}.inset-4\/12{top:33.333333%;right:33.333333%;bottom:33.333333%;left:33.333333%}.inset-5\/12{top:41.666667%;right:41.666667%;bottom:41.666667%;left:41.666667%}.inset-6\/12{top:50%;right:50%;bottom:50%;left:50%}.inset-7\/12{top:58.333333%;right:58.333333%;bottom:58.333333%;left:58.333333%}.inset-8\/12{top:66.666667%;right:66.666667%;bottom:66.666667%;left:66.666667%}.inset-9\/12{top:75%;right:75%;bottom:75%;left:75%}.inset-10\/12{top:83.333333%;right:83.333333%;bottom:83.333333%;left:83.333333%}.inset-11\/12{top:91.666667%;right:91.666667%;bottom:91.666667%;left:91.666667%}.inset-full{top:100%;right:100%;bottom:100%;left:100%}.inset-y-0{top:0;bottom:0}.inset-x-0{right:0;left:0}.inset-y-1{top:.25rem;bottom:.25rem}.inset-x-1{right:.25rem;left:.25rem}.inset-y-2{top:.5rem;bottom:.5rem}.inset-x-2{right:.5rem;left:.5rem}.inset-y-3{top:.75rem;bottom:.75rem}.inset-x-3{right:.75rem;left:.75rem}.inset-y-4{top:1rem;bottom:1rem}.inset-x-4{right:1rem;left:1rem}.inset-y-5{top:1.25rem;bottom:1.25rem}.inset-x-5{right:1.25rem;left:1.25rem}.inset-y-6{top:1.5rem;bottom:1.5rem}.inset-x-6{right:1.5rem;left:1.5rem}.inset-y-7{top:1.75rem;bottom:1.75rem}.inset-x-7{right:1.75rem;left:1.75rem}.inset-y-8{top:2rem;bottom:2rem}.inset-x-8{right:2rem;left:2rem}.inset-y-9{top:2.25rem;bottom:2.25rem}.inset-x-9{right:2.25rem;left:2.25rem}.inset-y-10{top:2.5rem;bottom:2.5rem}.inset-x-10{right:2.5rem;left:2.5rem}.inset-y-11{top:2.75rem;bottom:2.75rem}.inset-x-11{right:2.75rem;left:2.75rem}.inset-y-12{top:3rem;bottom:3rem}.inset-x-12{right:3rem;left:3rem}.inset-y-13{top:3.25rem;bottom:3.25rem}.inset-x-13{right:3.25rem;left:3.25rem}.inset-y-14{top:3.5rem;bottom:3.5rem}.inset-x-14{right:3.5rem;left:3.5rem}.inset-y-15{top:3.75rem;bottom:3.75rem}.inset-x-15{right:3.75rem;left:3.75rem}.inset-y-16{top:4rem;bottom:4rem}.inset-x-16{right:4rem;left:4rem}.inset-y-20{top:5rem;bottom:5rem}.inset-x-20{right:5rem;left:5rem}.inset-y-24{top:6rem;bottom:6rem}.inset-x-24{right:6rem;left:6rem}.inset-y-28{top:7rem;bottom:7rem}.inset-x-28{right:7rem;left:7rem}.inset-y-32{top:8rem;bottom:8rem}.inset-x-32{right:8rem;left:8rem}.inset-y-36{top:9rem;bottom:9rem}.inset-x-36{right:9rem;left:9rem}.inset-y-40{top:10rem;bottom:10rem}.inset-x-40{right:10rem;left:10rem}.inset-y-44{top:11rem;bottom:11rem}.inset-x-44{right:11rem;left:11rem}.inset-y-48{top:12rem;bottom:12rem}.inset-x-48{right:12rem;left:12rem}.inset-y-52{top:13rem;bottom:13rem}.inset-x-52{right:13rem;left:13rem}.inset-y-56{top:14rem;bottom:14rem}.inset-x-56{right:14rem;left:14rem}.inset-y-60{top:15rem;bottom:15rem}.inset-x-60{right:15rem;left:15rem}.inset-y-64{top:16rem;bottom:16rem}.inset-x-64{right:16rem;left:16rem}.inset-y-72{top:18rem;bottom:18rem}.inset-x-72{right:18rem;left:18rem}.inset-y-80{top:20rem;bottom:20rem}.inset-x-80{right:20rem;left:20rem}.inset-y-96{top:24rem;bottom:24rem}.inset-x-96{right:24rem;left:24rem}.inset-y-auto{top:auto;bottom:auto}.inset-x-auto{right:auto;left:auto}.inset-y-px{top:1px;bottom:1px}.inset-x-px{right:1px;left:1px}.inset-y-0\.5{top:.125rem;bottom:.125rem}.inset-x-0\.5{right:.125rem;left:.125rem}.inset-y-1\.5{top:.375rem;bottom:.375rem}.inset-x-1\.5{right:.375rem;left:.375rem}.inset-y-2\.5{top:.625rem;bottom:.625rem}.inset-x-2\.5{right:.625rem;left:.625rem}.inset-y-3\.5{top:.875rem;bottom:.875rem}.inset-x-3\.5{right:.875rem;left:.875rem}.inset-y-1\/2{top:50%;bottom:50%}.inset-x-1\/2{right:50%;left:50%}.inset-y-1\/3{top:33.333333%;bottom:33.333333%}.inset-x-1\/3{right:33.333333%;left:33.333333%}.inset-y-2\/3{top:66.666667%;bottom:66.666667%}.inset-x-2\/3{right:66.666667%;left:66.666667%}.inset-y-1\/4{top:25%;bottom:25%}.inset-x-1\/4{right:25%;left:25%}.inset-y-2\/4{top:50%;bottom:50%}.inset-x-2\/4{right:50%;left:50%}.inset-y-3\/4{top:75%;bottom:75%}.inset-x-3\/4{right:75%;left:75%}.inset-y-1\/5{top:20%;bottom:20%}.inset-x-1\/5{right:20%;left:20%}.inset-y-2\/5{top:40%;bottom:40%}.inset-x-2\/5{right:40%;left:40%}.inset-y-3\/5{top:60%;bottom:60%}.inset-x-3\/5{right:60%;left:60%}.inset-y-4\/5{top:80%;bottom:80%}.inset-x-4\/5{right:80%;left:80%}.inset-y-1\/6{top:16.666667%;bottom:16.666667%}.inset-x-1\/6{right:16.666667%;left:16.666667%}.inset-y-2\/6{top:33.333333%;bottom:33.333333%}.inset-x-2\/6{right:33.333333%;left:33.333333%}.inset-y-3\/6{top:50%;bottom:50%}.inset-x-3\/6{right:50%;left:50%}.inset-y-4\/6{top:66.666667%;bottom:66.666667%}.inset-x-4\/6{right:66.666667%;left:66.666667%}.inset-y-5\/6{top:83.333333%;bottom:83.333333%}.inset-x-5\/6{right:83.333333%;left:83.333333%}.inset-y-1\/12{top:8.333333%;bottom:8.333333%}.inset-x-1\/12{right:8.333333%;left:8.333333%}.inset-y-2\/12{top:16.666667%;bottom:16.666667%}.inset-x-2\/12{right:16.666667%;left:16.666667%}.inset-y-3\/12{top:25%;bottom:25%}.inset-x-3\/12{right:25%;left:25%}.inset-y-4\/12{top:33.333333%;bottom:33.333333%}.inset-x-4\/12{right:33.333333%;left:33.333333%}.inset-y-5\/12{top:41.666667%;bottom:41.666667%}.inset-x-5\/12{right:41.666667%;left:41.666667%}.inset-y-6\/12{top:50%;bottom:50%}.inset-x-6\/12{right:50%;left:50%}.inset-y-7\/12{top:58.333333%;bottom:58.333333%}.inset-x-7\/12{right:58.333333%;left:58.333333%}.inset-y-8\/12{top:66.666667%;bottom:66.666667%}.inset-x-8\/12{right:66.666667%;left:66.666667%}.inset-y-9\/12{top:75%;bottom:75%}.inset-x-9\/12{right:75%;left:75%}.inset-y-10\/12{top:83.333333%;bottom:83.333333%}.inset-x-10\/12{right:83.333333%;left:83.333333%}.inset-y-11\/12{top:91.666667%;bottom:91.666667%}.inset-x-11\/12{right:91.666667%;left:91.666667%}.inset-y-full{top:100%;bottom:100%}.inset-x-full{right:100%;left:100%}.top-0{top:0}.right-0{right:0}.bottom-0{bottom:0}.left-0{left:0}.top-1{top:.25rem}.right-1{right:.25rem}.bottom-1{bottom:.25rem}.left-1{left:.25rem}.top-2{top:.5rem}.right-2{right:.5rem}.bottom-2{bottom:.5rem}.left-2{left:.5rem}.top-3{top:.75rem}.right-3{right:.75rem}.bottom-3{bottom:.75rem}.left-3{left:.75rem}.top-4{top:1rem}.right-4{right:1rem}.bottom-4{bottom:1rem}.left-4{left:1rem}.top-5{top:1.25rem}.right-5{right:1.25rem}.bottom-5{bottom:1.25rem}.left-5{left:1.25rem}.top-6{top:1.5rem}.right-6{right:1.5rem}.bottom-6{bottom:1.5rem}.left-6{left:1.5rem}.top-7{top:1.75rem}.right-7{right:1.75rem}.bottom-7{bottom:1.75rem}.left-7{left:1.75rem}.top-8{top:2rem}.right-8{right:2rem}.bottom-8{bottom:2rem}.left-8{left:2rem}.top-9{top:2.25rem}.right-9{right:2.25rem}.bottom-9{bottom:2.25rem}.left-9{left:2.25rem}.top-10{top:2.5rem}.right-10{right:2.5rem}.bottom-10{bottom:2.5rem}.left-10{left:2.5rem}.top-11{top:2.75rem}.right-11{right:2.75rem}.bottom-11{bottom:2.75rem}.left-11{left:2.75rem}.top-12{top:3rem}.right-12{right:3rem}.bottom-12{bottom:3rem}.left-12{left:3rem}.top-13{top:3.25rem}.right-13{right:3.25rem}.bottom-13{bottom:3.25rem}.left-13{left:3.25rem}.top-14{top:3.5rem}.right-14{right:3.5rem}.bottom-14{bottom:3.5rem}.left-14{left:3.5rem}.top-15{top:3.75rem}.right-15{right:3.75rem}.bottom-15{bottom:3.75rem}.left-15{left:3.75rem}.top-16{top:4rem}.right-16{right:4rem}.bottom-16{bottom:4rem}.left-16{left:4rem}.top-20{top:5rem}.right-20{right:5rem}.bottom-20{bottom:5rem}.left-20{left:5rem}.top-24{top:6rem}.right-24{right:6rem}.bottom-24{bottom:6rem}.left-24{left:6rem}.top-28{top:7rem}.right-28{right:7rem}.bottom-28{bottom:7rem}.left-28{left:7rem}.top-32{top:8rem}.right-32{right:8rem}.bottom-32{bottom:8rem}.left-32{left:8rem}.top-36{top:9rem}.right-36{right:9rem}.bottom-36{bottom:9rem}.left-36{left:9rem}.top-40{top:10rem}.right-40{right:10rem}.bottom-40{bottom:10rem}.left-40{left:10rem}.top-44{top:11rem}.right-44{right:11rem}.bottom-44{bottom:11rem}.left-44{left:11rem}.top-48{top:12rem}.right-48{right:12rem}.bottom-48{bottom:12rem}.left-48{left:12rem}.top-52{top:13rem}.right-52{right:13rem}.bottom-52{bottom:13rem}.left-52{left:13rem}.top-56{top:14rem}.right-56{right:14rem}.bottom-56{bottom:14rem}.left-56{left:14rem}.top-60{top:15rem}.right-60{right:15rem}.bottom-60{bottom:15rem}.left-60{left:15rem}.top-64{top:16rem}.right-64{right:16rem}.bottom-64{bottom:16rem}.left-64{left:16rem}.top-72{top:18rem}.right-72{right:18rem}.bottom-72{bottom:18rem}.left-72{left:18rem}.top-80{top:20rem}.right-80{right:20rem}.bottom-80{bottom:20rem}.left-80{left:20rem}.top-96{top:24rem}.right-96{right:24rem}.bottom-96{bottom:24rem}.left-96{left:24rem}.top-auto{top:auto}.right-auto{right:auto}.bottom-auto{bottom:auto}.left-auto{left:auto}.top-px{top:1px}.right-px{right:1px}.bottom-px{bottom:1px}.left-px{left:1px}.top-0\.5{top:.125rem}.right-0\.5{right:.125rem}.bottom-0\.5{bottom:.125rem}.left-0\.5{left:.125rem}.top-1\.5{top:.375rem}.right-1\.5{right:.375rem}.bottom-1\.5{bottom:.375rem}.left-1\.5{left:.375rem}.top-2\.5{top:.625rem}.right-2\.5{right:.625rem}.bottom-2\.5{bottom:.625rem}.left-2\.5{left:.625rem}.top-3\.5{top:.875rem}.right-3\.5{right:.875rem}.bottom-3\.5{bottom:.875rem}.left-3\.5{left:.875rem}.top-1\/2{top:50%}.right-1\/2{right:50%}.bottom-1\/2{bottom:50%}.left-1\/2{left:50%}.top-1\/3{top:33.333333%}.right-1\/3{right:33.333333%}.bottom-1\/3{bottom:33.333333%}.left-1\/3{left:33.333333%}.top-2\/3{top:66.666667%}.right-2\/3{right:66.666667%}.bottom-2\/3{bottom:66.666667%}.left-2\/3{left:66.666667%}.top-1\/4{top:25%}.right-1\/4{right:25%}.bottom-1\/4{bottom:25%}.left-1\/4{left:25%}.top-2\/4{top:50%}.right-2\/4{right:50%}.bottom-2\/4{bottom:50%}.left-2\/4{left:50%}.top-3\/4{top:75%}.right-3\/4{right:75%}.bottom-3\/4{bottom:75%}.left-3\/4{left:75%}.top-1\/5{top:20%}.right-1\/5{right:20%}.bottom-1\/5{bottom:20%}.left-1\/5{left:20%}.top-2\/5{top:40%}.right-2\/5{right:40%}.bottom-2\/5{bottom:40%}.left-2\/5{left:40%}.top-3\/5{top:60%}.right-3\/5{right:60%}.bottom-3\/5{bottom:60%}.left-3\/5{left:60%}.top-4\/5{top:80%}.right-4\/5{right:80%}.bottom-4\/5{bottom:80%}.left-4\/5{left:80%}.top-1\/6{top:16.666667%}.right-1\/6{right:16.666667%}.bottom-1\/6{bottom:16.666667%}.left-1\/6{left:16.666667%}.top-2\/6{top:33.333333%}.right-2\/6{right:33.333333%}.bottom-2\/6{bottom:33.333333%}.left-2\/6{left:33.333333%}.top-3\/6{top:50%}.right-3\/6{right:50%}.bottom-3\/6{bottom:50%}.left-3\/6{left:50%}.top-4\/6{top:66.666667%}.right-4\/6{right:66.666667%}.bottom-4\/6{bottom:66.666667%}.left-4\/6{left:66.666667%}.top-5\/6{top:83.333333%}.right-5\/6{right:83.333333%}.bottom-5\/6{bottom:83.333333%}.left-5\/6{left:83.333333%}.top-1\/12{top:8.333333%}.right-1\/12{right:8.333333%}.bottom-1\/12{bottom:8.333333%}.left-1\/12{left:8.333333%}.top-2\/12{top:16.666667%}.right-2\/12{right:16.666667%}.bottom-2\/12{bottom:16.666667%}.left-2\/12{left:16.666667%}.top-3\/12{top:25%}.right-3\/12{right:25%}.bottom-3\/12{bottom:25%}.left-3\/12{left:25%}.top-4\/12{top:33.333333%}.right-4\/12{right:33.333333%}.bottom-4\/12{bottom:33.333333%}.left-4\/12{left:33.333333%}.top-5\/12{top:41.666667%}.right-5\/12{right:41.666667%}.bottom-5\/12{bottom:41.666667%}.left-5\/12{left:41.666667%}.top-6\/12{top:50%}.right-6\/12{right:50%}.bottom-6\/12{bottom:50%}.left-6\/12{left:50%}.top-7\/12{top:58.333333%}.right-7\/12{right:58.333333%}.bottom-7\/12{bottom:58.333333%}.left-7\/12{left:58.333333%}.top-8\/12{top:66.666667%}.right-8\/12{right:66.666667%}.bottom-8\/12{bottom:66.666667%}.left-8\/12{left:66.666667%}.top-9\/12{top:75%}.right-9\/12{right:75%}.bottom-9\/12{bottom:75%}.left-9\/12{left:75%}.top-10\/12{top:83.333333%}.right-10\/12{right:83.333333%}.bottom-10\/12{bottom:83.333333%}.left-10\/12{left:83.333333%}.top-11\/12{top:91.666667%}.right-11\/12{right:91.666667%}.bottom-11\/12{bottom:91.666667%}.left-11\/12{left:91.666667%}.top-full{top:100%}.right-full{right:100%}.bottom-full{bottom:100%}.left-full{left:100%}.resize-none{resize:none}.resize-y{resize:vertical}.resize-x{resize:horizontal}.resize{resize:both}.shadow-xs{box-shadow:0 0 0 1px rgba(0,0,0,.05)}.shadow-sm{box-shadow:0 1px 2px 0 rgba(0,0,0,.05)}.shadow{box-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px 0 rgba(0,0,0,.06)}.shadow-md{box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06)}.shadow-lg{box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05)}.shadow-xl{box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04)}.shadow-2xl{box-shadow:0 25px 50px -12px rgba(0,0,0,.25)}.shadow-inner{box-shadow:inset 0 2px 4px 0 rgba(0,0,0,.06)}.shadow-outline{box-shadow:0 0 0 3px rgba(118,169,250,.45)}.shadow-none{box-shadow:none}.shadow-solid{box-shadow:0 0 0 2px currentColor}.shadow-outline-gray{box-shadow:0 0 0 3px rgba(159,166,178,.45)}.shadow-outline-blue{box-shadow:0 0 0 3px rgba(164,202,254,.45)}.shadow-outline-teal{box-shadow:0 0 0 3px rgba(126,220,226,.45)}.shadow-outline-green{box-shadow:0 0 0 3px rgba(132,225,188,.45)}.shadow-outline-yellow{box-shadow:0 0 0 3px rgba(250,202,21,.45)}.shadow-outline-orange{box-shadow:0 0 0 3px rgba(253,186,140,.45)}.shadow-outline-red{box-shadow:0 0 0 3px rgba(248,180,180,.45)}.shadow-outline-pink{box-shadow:0 0 0 3px rgba(248,180,217,.45)}.shadow-outline-purple{box-shadow:0 0 0 3px rgba(202,191,253,.45)}.shadow-outline-indigo{box-shadow:0 0 0 3px rgba(180,198,252,.45)}.group:focus .group-focus\:shadow-xs{box-shadow:0 0 0 1px rgba(0,0,0,.05)}.group:focus .group-focus\:shadow-sm{box-shadow:0 1px 2px 0 rgba(0,0,0,.05)}.group:focus .group-focus\:shadow{box-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px 0 rgba(0,0,0,.06)}.group:focus .group-focus\:shadow-md{box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06)}.group:focus .group-focus\:shadow-lg{box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05)}.group:focus .group-focus\:shadow-xl{box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04)}.group:focus .group-focus\:shadow-2xl{box-shadow:0 25px 50px -12px rgba(0,0,0,.25)}.group:focus .group-focus\:shadow-inner{box-shadow:inset 0 2px 4px 0 rgba(0,0,0,.06)}.group:focus .group-focus\:shadow-outline{box-shadow:0 0 0 3px rgba(118,169,250,.45)}.group:focus .group-focus\:shadow-none{box-shadow:none}.group:focus .group-focus\:shadow-solid{box-shadow:0 0 0 2px currentColor}.group:focus .group-focus\:shadow-outline-gray{box-shadow:0 0 0 3px rgba(159,166,178,.45)}.group:focus .group-focus\:shadow-outline-blue{box-shadow:0 0 0 3px rgba(164,202,254,.45)}.group:focus .group-focus\:shadow-outline-teal{box-shadow:0 0 0 3px rgba(126,220,226,.45)}.group:focus .group-focus\:shadow-outline-green{box-shadow:0 0 0 3px rgba(132,225,188,.45)}.group:focus .group-focus\:shadow-outline-yellow{box-shadow:0 0 0 3px rgba(250,202,21,.45)}.group:focus .group-focus\:shadow-outline-orange{box-shadow:0 0 0 3px rgba(253,186,140,.45)}.group:focus .group-focus\:shadow-outline-red{box-shadow:0 0 0 3px rgba(248,180,180,.45)}.group:focus .group-focus\:shadow-outline-pink{box-shadow:0 0 0 3px rgba(248,180,217,.45)}.group:focus .group-focus\:shadow-outline-purple{box-shadow:0 0 0 3px rgba(202,191,253,.45)}.group:focus .group-focus\:shadow-outline-indigo{box-shadow:0 0 0 3px rgba(180,198,252,.45)}.hover\:shadow-xs:hover{box-shadow:0 0 0 1px rgba(0,0,0,.05)}.hover\:shadow-sm:hover{box-shadow:0 1px 2px 0 rgba(0,0,0,.05)}.hover\:shadow:hover{box-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px 0 rgba(0,0,0,.06)}.hover\:shadow-md:hover{box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06)}.hover\:shadow-lg:hover{box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05)}.hover\:shadow-xl:hover{box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04)}.hover\:shadow-2xl:hover{box-shadow:0 25px 50px -12px rgba(0,0,0,.25)}.hover\:shadow-inner:hover{box-shadow:inset 0 2px 4px 0 rgba(0,0,0,.06)}.hover\:shadow-outline:hover{box-shadow:0 0 0 3px rgba(118,169,250,.45)}.hover\:shadow-none:hover{box-shadow:none}.hover\:shadow-solid:hover{box-shadow:0 0 0 2px currentColor}.hover\:shadow-outline-gray:hover{box-shadow:0 0 0 3px rgba(159,166,178,.45)}.hover\:shadow-outline-blue:hover{box-shadow:0 0 0 3px rgba(164,202,254,.45)}.hover\:shadow-outline-teal:hover{box-shadow:0 0 0 3px rgba(126,220,226,.45)}.hover\:shadow-outline-green:hover{box-shadow:0 0 0 3px rgba(132,225,188,.45)}.hover\:shadow-outline-yellow:hover{box-shadow:0 0 0 3px rgba(250,202,21,.45)}.hover\:shadow-outline-orange:hover{box-shadow:0 0 0 3px rgba(253,186,140,.45)}.hover\:shadow-outline-red:hover{box-shadow:0 0 0 3px rgba(248,180,180,.45)}.hover\:shadow-outline-pink:hover{box-shadow:0 0 0 3px rgba(248,180,217,.45)}.hover\:shadow-outline-purple:hover{box-shadow:0 0 0 3px rgba(202,191,253,.45)}.hover\:shadow-outline-indigo:hover{box-shadow:0 0 0 3px rgba(180,198,252,.45)}.focus\:shadow-xs:focus{box-shadow:0 0 0 1px rgba(0,0,0,.05)}.focus\:shadow-sm:focus{box-shadow:0 1px 2px 0 rgba(0,0,0,.05)}.focus\:shadow:focus{box-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px 0 rgba(0,0,0,.06)}.focus\:shadow-md:focus{box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06)}.focus\:shadow-lg:focus{box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05)}.focus\:shadow-xl:focus{box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04)}.focus\:shadow-2xl:focus{box-shadow:0 25px 50px -12px rgba(0,0,0,.25)}.focus\:shadow-inner:focus{box-shadow:inset 0 2px 4px 0 rgba(0,0,0,.06)}.focus\:shadow-outline:focus{box-shadow:0 0 0 3px rgba(118,169,250,.45)}.focus\:shadow-none:focus{box-shadow:none}.focus\:shadow-solid:focus{box-shadow:0 0 0 2px currentColor}.focus\:shadow-outline-gray:focus{box-shadow:0 0 0 3px rgba(159,166,178,.45)}.focus\:shadow-outline-blue:focus{box-shadow:0 0 0 3px rgba(164,202,254,.45)}.focus\:shadow-outline-teal:focus{box-shadow:0 0 0 3px rgba(126,220,226,.45)}.focus\:shadow-outline-green:focus{box-shadow:0 0 0 3px rgba(132,225,188,.45)}.focus\:shadow-outline-yellow:focus{box-shadow:0 0 0 3px rgba(250,202,21,.45)}.focus\:shadow-outline-orange:focus{box-shadow:0 0 0 3px rgba(253,186,140,.45)}.focus\:shadow-outline-red:focus{box-shadow:0 0 0 3px rgba(248,180,180,.45)}.focus\:shadow-outline-pink:focus{box-shadow:0 0 0 3px rgba(248,180,217,.45)}.focus\:shadow-outline-purple:focus{box-shadow:0 0 0 3px rgba(202,191,253,.45)}.focus\:shadow-outline-indigo:focus{box-shadow:0 0 0 3px rgba(180,198,252,.45)}.fill-current{fill:currentColor}.stroke-current{stroke:currentColor}.stroke-0{stroke-width:0}.stroke-1{stroke-width:1}.stroke-2{stroke-width:2}.table-auto{table-layout:auto}.table-fixed{table-layout:fixed}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-justify{text-align:justify}.text-transparent{color:transparent}.text-white{--text-opacity:1;color:#fff;color:rgba(255,255,255,var(--text-opacity))}.text-black{--text-opacity:1;color:#000;color:rgba(0,0,0,var(--text-opacity))}.text-gray-50{--text-opacity:1;color:#f9fafb;color:rgba(249,250,251,var(--text-opacity))}.text-gray-100{--text-opacity:1;color:#f4f5f7;color:rgba(244,245,247,var(--text-opacity))}.text-gray-200{--text-opacity:1;color:#e5e7eb;color:rgba(229,231,235,var(--text-opacity))}.text-gray-300{--text-opacity:1;color:#d2d6dc;color:rgba(210,214,220,var(--text-opacity))}.text-gray-400{--text-opacity:1;color:#9fa6b2;color:rgba(159,166,178,var(--text-opacity))}.text-gray-500{--text-opacity:1;color:#6b7280;color:rgba(107,114,128,var(--text-opacity))}.text-gray-600{--text-opacity:1;color:#4b5563;color:rgba(75,85,99,var(--text-opacity))}.text-gray-700{--text-opacity:1;color:#374151;color:rgba(55,65,81,var(--text-opacity))}.text-gray-800{--text-opacity:1;color:#252f3f;color:rgba(37,47,63,var(--text-opacity))}.text-gray-900{--text-opacity:1;color:#161e2e;color:rgba(22,30,46,var(--text-opacity))}.text-cool-gray-50{--text-opacity:1;color:#f8fafc;color:rgba(248,250,252,var(--text-opacity))}.text-cool-gray-100{--text-opacity:1;color:#f1f5f9;color:rgba(241,245,249,var(--text-opacity))}.text-cool-gray-200{--text-opacity:1;color:#e2e8f0;color:rgba(226,232,240,var(--text-opacity))}.text-cool-gray-300{--text-opacity:1;color:#cfd8e3;color:rgba(207,216,227,var(--text-opacity))}.text-cool-gray-400{--text-opacity:1;color:#97a6ba;color:rgba(151,166,186,var(--text-opacity))}.text-cool-gray-500{--text-opacity:1;color:#64748b;color:rgba(100,116,139,var(--text-opacity))}.text-cool-gray-600{--text-opacity:1;color:#475569;color:rgba(71,85,105,var(--text-opacity))}.text-cool-gray-700{--text-opacity:1;color:#364152;color:rgba(54,65,82,var(--text-opacity))}.text-cool-gray-800{--text-opacity:1;color:#27303f;color:rgba(39,48,63,var(--text-opacity))}.text-cool-gray-900{--text-opacity:1;color:#1a202e;color:rgba(26,32,46,var(--text-opacity))}.text-red-50{--text-opacity:1;color:#fdf2f2;color:rgba(253,242,242,var(--text-opacity))}.text-red-100{--text-opacity:1;color:#fde8e8;color:rgba(253,232,232,var(--text-opacity))}.text-red-200{--text-opacity:1;color:#fbd5d5;color:rgba(251,213,213,var(--text-opacity))}.text-red-300{--text-opacity:1;color:#f8b4b4;color:rgba(248,180,180,var(--text-opacity))}.text-red-400{--text-opacity:1;color:#f98080;color:rgba(249,128,128,var(--text-opacity))}.text-red-500{--text-opacity:1;color:#f05252;color:rgba(240,82,82,var(--text-opacity))}.text-red-600{--text-opacity:1;color:#e02424;color:rgba(224,36,36,var(--text-opacity))}.text-red-700{--text-opacity:1;color:#c81e1e;color:rgba(200,30,30,var(--text-opacity))}.text-red-800{--text-opacity:1;color:#9b1c1c;color:rgba(155,28,28,var(--text-opacity))}.text-red-900{--text-opacity:1;color:#771d1d;color:rgba(119,29,29,var(--text-opacity))}.text-orange-50{--text-opacity:1;color:#fff8f1;color:rgba(255,248,241,var(--text-opacity))}.text-orange-100{--text-opacity:1;color:#feecdc;color:rgba(254,236,220,var(--text-opacity))}.text-orange-200{--text-opacity:1;color:#fcd9bd;color:rgba(252,217,189,var(--text-opacity))}.text-orange-300{--text-opacity:1;color:#fdba8c;color:rgba(253,186,140,var(--text-opacity))}.text-orange-400{--text-opacity:1;color:#ff8a4c;color:rgba(255,138,76,var(--text-opacity))}.text-orange-500{--text-opacity:1;color:#ff5a1f;color:rgba(255,90,31,var(--text-opacity))}.text-orange-600{--text-opacity:1;color:#d03801;color:rgba(208,56,1,var(--text-opacity))}.text-orange-700{--text-opacity:1;color:#b43403;color:rgba(180,52,3,var(--text-opacity))}.text-orange-800{--text-opacity:1;color:#8a2c0d;color:rgba(138,44,13,var(--text-opacity))}.text-orange-900{--text-opacity:1;color:#73230d;color:rgba(115,35,13,var(--text-opacity))}.text-yellow-50{--text-opacity:1;color:#fdfdea;color:rgba(253,253,234,var(--text-opacity))}.text-yellow-100{--text-opacity:1;color:#fdf6b2;color:rgba(253,246,178,var(--text-opacity))}.text-yellow-200{--text-opacity:1;color:#fce96a;color:rgba(252,233,106,var(--text-opacity))}.text-yellow-300{--text-opacity:1;color:#faca15;color:rgba(250,202,21,var(--text-opacity))}.text-yellow-400{--text-opacity:1;color:#e3a008;color:rgba(227,160,8,var(--text-opacity))}.text-yellow-500{--text-opacity:1;color:#c27803;color:rgba(194,120,3,var(--text-opacity))}.text-yellow-600{--text-opacity:1;color:#9f580a;color:rgba(159,88,10,var(--text-opacity))}.text-yellow-700{--text-opacity:1;color:#8e4b10;color:rgba(142,75,16,var(--text-opacity))}.text-yellow-800{--text-opacity:1;color:#723b13;color:rgba(114,59,19,var(--text-opacity))}.text-yellow-900{--text-opacity:1;color:#633112;color:rgba(99,49,18,var(--text-opacity))}.text-green-50{--text-opacity:1;color:#f3faf7;color:rgba(243,250,247,var(--text-opacity))}.text-green-100{--text-opacity:1;color:#def7ec;color:rgba(222,247,236,var(--text-opacity))}.text-green-200{--text-opacity:1;color:#bcf0da;color:rgba(188,240,218,var(--text-opacity))}.text-green-300{--text-opacity:1;color:#84e1bc;color:rgba(132,225,188,var(--text-opacity))}.text-green-400{--text-opacity:1;color:#31c48d;color:rgba(49,196,141,var(--text-opacity))}.text-green-500{--text-opacity:1;color:#0e9f6e;color:rgba(14,159,110,var(--text-opacity))}.text-green-600{--text-opacity:1;color:#057a55;color:rgba(5,122,85,var(--text-opacity))}.text-green-700{--text-opacity:1;color:#046c4e;color:rgba(4,108,78,var(--text-opacity))}.text-green-800{--text-opacity:1;color:#03543f;color:rgba(3,84,63,var(--text-opacity))}.text-green-900{--text-opacity:1;color:#014737;color:rgba(1,71,55,var(--text-opacity))}.text-teal-50{--text-opacity:1;color:#edfafa;color:rgba(237,250,250,var(--text-opacity))}.text-teal-100{--text-opacity:1;color:#d5f5f6;color:rgba(213,245,246,var(--text-opacity))}.text-teal-200{--text-opacity:1;color:#afecef;color:rgba(175,236,239,var(--text-opacity))}.text-teal-300{--text-opacity:1;color:#7edce2;color:rgba(126,220,226,var(--text-opacity))}.text-teal-400{--text-opacity:1;color:#16bdca;color:rgba(22,189,202,var(--text-opacity))}.text-teal-500{--text-opacity:1;color:#0694a2;color:rgba(6,148,162,var(--text-opacity))}.text-teal-600{--text-opacity:1;color:#047481;color:rgba(4,116,129,var(--text-opacity))}.text-teal-700{--text-opacity:1;color:#036672;color:rgba(3,102,114,var(--text-opacity))}.text-teal-800{--text-opacity:1;color:#05505c;color:rgba(5,80,92,var(--text-opacity))}.text-teal-900{--text-opacity:1;color:#014451;color:rgba(1,68,81,var(--text-opacity))}.text-blue-50{--text-opacity:1;color:#ebf5ff;color:rgba(235,245,255,var(--text-opacity))}.text-blue-100{--text-opacity:1;color:#e1effe;color:rgba(225,239,254,var(--text-opacity))}.text-blue-200{--text-opacity:1;color:#c3ddfd;color:rgba(195,221,253,var(--text-opacity))}.text-blue-300{--text-opacity:1;color:#a4cafe;color:rgba(164,202,254,var(--text-opacity))}.text-blue-400{--text-opacity:1;color:#76a9fa;color:rgba(118,169,250,var(--text-opacity))}.text-blue-500{--text-opacity:1;color:#3f83f8;color:rgba(63,131,248,var(--text-opacity))}.text-blue-600{--text-opacity:1;color:#1c64f2;color:rgba(28,100,242,var(--text-opacity))}.text-blue-700{--text-opacity:1;color:#1a56db;color:rgba(26,86,219,var(--text-opacity))}.text-blue-800{--text-opacity:1;color:#1e429f;color:rgba(30,66,159,var(--text-opacity))}.text-blue-900{--text-opacity:1;color:#233876;color:rgba(35,56,118,var(--text-opacity))}.text-indigo-50{--text-opacity:1;color:#f0f5ff;color:rgba(240,245,255,var(--text-opacity))}.text-indigo-100{--text-opacity:1;color:#e5edff;color:rgba(229,237,255,var(--text-opacity))}.text-indigo-200{--text-opacity:1;color:#cddbfe;color:rgba(205,219,254,var(--text-opacity))}.text-indigo-300{--text-opacity:1;color:#b4c6fc;color:rgba(180,198,252,var(--text-opacity))}.text-indigo-400{--text-opacity:1;color:#8da2fb;color:rgba(141,162,251,var(--text-opacity))}.text-indigo-500{--text-opacity:1;color:#6875f5;color:rgba(104,117,245,var(--text-opacity))}.text-indigo-600{--text-opacity:1;color:#5850ec;color:rgba(88,80,236,var(--text-opacity))}.text-indigo-700{--text-opacity:1;color:#5145cd;color:rgba(81,69,205,var(--text-opacity))}.text-indigo-800{--text-opacity:1;color:#42389d;color:rgba(66,56,157,var(--text-opacity))}.text-indigo-900{--text-opacity:1;color:#362f78;color:rgba(54,47,120,var(--text-opacity))}.text-purple-50{--text-opacity:1;color:#f6f5ff;color:rgba(246,245,255,var(--text-opacity))}.text-purple-100{--text-opacity:1;color:#edebfe;color:rgba(237,235,254,var(--text-opacity))}.text-purple-200{--text-opacity:1;color:#dcd7fe;color:rgba(220,215,254,var(--text-opacity))}.text-purple-300{--text-opacity:1;color:#cabffd;color:rgba(202,191,253,var(--text-opacity))}.text-purple-400{--text-opacity:1;color:#ac94fa;color:rgba(172,148,250,var(--text-opacity))}.text-purple-500{--text-opacity:1;color:#9061f9;color:rgba(144,97,249,var(--text-opacity))}.text-purple-600{--text-opacity:1;color:#7e3af2;color:rgba(126,58,242,var(--text-opacity))}.text-purple-700{--text-opacity:1;color:#6c2bd9;color:rgba(108,43,217,var(--text-opacity))}.text-purple-800{--text-opacity:1;color:#5521b5;color:rgba(85,33,181,var(--text-opacity))}.text-purple-900{--text-opacity:1;color:#4a1d96;color:rgba(74,29,150,var(--text-opacity))}.text-pink-50{--text-opacity:1;color:#fdf2f8;color:rgba(253,242,248,var(--text-opacity))}.text-pink-100{--text-opacity:1;color:#fce8f3;color:rgba(252,232,243,var(--text-opacity))}.text-pink-200{--text-opacity:1;color:#fad1e8;color:rgba(250,209,232,var(--text-opacity))}.text-pink-300{--text-opacity:1;color:#f8b4d9;color:rgba(248,180,217,var(--text-opacity))}.text-pink-400{--text-opacity:1;color:#f17eb8;color:rgba(241,126,184,var(--text-opacity))}.text-pink-500{--text-opacity:1;color:#e74694;color:rgba(231,70,148,var(--text-opacity))}.text-pink-600{--text-opacity:1;color:#d61f69;color:rgba(214,31,105,var(--text-opacity))}.text-pink-700{--text-opacity:1;color:#bf125d;color:rgba(191,18,93,var(--text-opacity))}.text-pink-800{--text-opacity:1;color:#99154b;color:rgba(153,21,75,var(--text-opacity))}.text-pink-900{--text-opacity:1;color:#751a3d;color:rgba(117,26,61,var(--text-opacity))}.group:hover .group-hover\:text-transparent{color:transparent}.group:hover .group-hover\:text-white{--text-opacity:1;color:#fff;color:rgba(255,255,255,var(--text-opacity))}.group:hover .group-hover\:text-black{--text-opacity:1;color:#000;color:rgba(0,0,0,var(--text-opacity))}.group:hover .group-hover\:text-gray-50{--text-opacity:1;color:#f9fafb;color:rgba(249,250,251,var(--text-opacity))}.group:hover .group-hover\:text-gray-100{--text-opacity:1;color:#f4f5f7;color:rgba(244,245,247,var(--text-opacity))}.group:hover .group-hover\:text-gray-200{--text-opacity:1;color:#e5e7eb;color:rgba(229,231,235,var(--text-opacity))}.group:hover .group-hover\:text-gray-300{--text-opacity:1;color:#d2d6dc;color:rgba(210,214,220,var(--text-opacity))}.group:hover .group-hover\:text-gray-400{--text-opacity:1;color:#9fa6b2;color:rgba(159,166,178,var(--text-opacity))}.group:hover .group-hover\:text-gray-500{--text-opacity:1;color:#6b7280;color:rgba(107,114,128,var(--text-opacity))}.group:hover .group-hover\:text-gray-600{--text-opacity:1;color:#4b5563;color:rgba(75,85,99,var(--text-opacity))}.group:hover .group-hover\:text-gray-700{--text-opacity:1;color:#374151;color:rgba(55,65,81,var(--text-opacity))}.group:hover .group-hover\:text-gray-800{--text-opacity:1;color:#252f3f;color:rgba(37,47,63,var(--text-opacity))}.group:hover .group-hover\:text-gray-900{--text-opacity:1;color:#161e2e;color:rgba(22,30,46,var(--text-opacity))}.group:hover .group-hover\:text-cool-gray-50{--text-opacity:1;color:#f8fafc;color:rgba(248,250,252,var(--text-opacity))}.group:hover .group-hover\:text-cool-gray-100{--text-opacity:1;color:#f1f5f9;color:rgba(241,245,249,var(--text-opacity))}.group:hover .group-hover\:text-cool-gray-200{--text-opacity:1;color:#e2e8f0;color:rgba(226,232,240,var(--text-opacity))}.group:hover .group-hover\:text-cool-gray-300{--text-opacity:1;color:#cfd8e3;color:rgba(207,216,227,var(--text-opacity))}.group:hover .group-hover\:text-cool-gray-400{--text-opacity:1;color:#97a6ba;color:rgba(151,166,186,var(--text-opacity))}.group:hover .group-hover\:text-cool-gray-500{--text-opacity:1;color:#64748b;color:rgba(100,116,139,var(--text-opacity))}.group:hover .group-hover\:text-cool-gray-600{--text-opacity:1;color:#475569;color:rgba(71,85,105,var(--text-opacity))}.group:hover .group-hover\:text-cool-gray-700{--text-opacity:1;color:#364152;color:rgba(54,65,82,var(--text-opacity))}.group:hover .group-hover\:text-cool-gray-800{--text-opacity:1;color:#27303f;color:rgba(39,48,63,var(--text-opacity))}.group:hover .group-hover\:text-cool-gray-900{--text-opacity:1;color:#1a202e;color:rgba(26,32,46,var(--text-opacity))}.group:hover .group-hover\:text-red-50{--text-opacity:1;color:#fdf2f2;color:rgba(253,242,242,var(--text-opacity))}.group:hover .group-hover\:text-red-100{--text-opacity:1;color:#fde8e8;color:rgba(253,232,232,var(--text-opacity))}.group:hover .group-hover\:text-red-200{--text-opacity:1;color:#fbd5d5;color:rgba(251,213,213,var(--text-opacity))}.group:hover .group-hover\:text-red-300{--text-opacity:1;color:#f8b4b4;color:rgba(248,180,180,var(--text-opacity))}.group:hover .group-hover\:text-red-400{--text-opacity:1;color:#f98080;color:rgba(249,128,128,var(--text-opacity))}.group:hover .group-hover\:text-red-500{--text-opacity:1;color:#f05252;color:rgba(240,82,82,var(--text-opacity))}.group:hover .group-hover\:text-red-600{--text-opacity:1;color:#e02424;color:rgba(224,36,36,var(--text-opacity))}.group:hover .group-hover\:text-red-700{--text-opacity:1;color:#c81e1e;color:rgba(200,30,30,var(--text-opacity))}.group:hover .group-hover\:text-red-800{--text-opacity:1;color:#9b1c1c;color:rgba(155,28,28,var(--text-opacity))}.group:hover .group-hover\:text-red-900{--text-opacity:1;color:#771d1d;color:rgba(119,29,29,var(--text-opacity))}.group:hover .group-hover\:text-orange-50{--text-opacity:1;color:#fff8f1;color:rgba(255,248,241,var(--text-opacity))}.group:hover .group-hover\:text-orange-100{--text-opacity:1;color:#feecdc;color:rgba(254,236,220,var(--text-opacity))}.group:hover .group-hover\:text-orange-200{--text-opacity:1;color:#fcd9bd;color:rgba(252,217,189,var(--text-opacity))}.group:hover .group-hover\:text-orange-300{--text-opacity:1;color:#fdba8c;color:rgba(253,186,140,var(--text-opacity))}.group:hover .group-hover\:text-orange-400{--text-opacity:1;color:#ff8a4c;color:rgba(255,138,76,var(--text-opacity))}.group:hover .group-hover\:text-orange-500{--text-opacity:1;color:#ff5a1f;color:rgba(255,90,31,var(--text-opacity))}.group:hover .group-hover\:text-orange-600{--text-opacity:1;color:#d03801;color:rgba(208,56,1,var(--text-opacity))}.group:hover .group-hover\:text-orange-700{--text-opacity:1;color:#b43403;color:rgba(180,52,3,var(--text-opacity))}.group:hover .group-hover\:text-orange-800{--text-opacity:1;color:#8a2c0d;color:rgba(138,44,13,var(--text-opacity))}.group:hover .group-hover\:text-orange-900{--text-opacity:1;color:#73230d;color:rgba(115,35,13,var(--text-opacity))}.group:hover .group-hover\:text-yellow-50{--text-opacity:1;color:#fdfdea;color:rgba(253,253,234,var(--text-opacity))}.group:hover .group-hover\:text-yellow-100{--text-opacity:1;color:#fdf6b2;color:rgba(253,246,178,var(--text-opacity))}.group:hover .group-hover\:text-yellow-200{--text-opacity:1;color:#fce96a;color:rgba(252,233,106,var(--text-opacity))}.group:hover .group-hover\:text-yellow-300{--text-opacity:1;color:#faca15;color:rgba(250,202,21,var(--text-opacity))}.group:hover .group-hover\:text-yellow-400{--text-opacity:1;color:#e3a008;color:rgba(227,160,8,var(--text-opacity))}.group:hover .group-hover\:text-yellow-500{--text-opacity:1;color:#c27803;color:rgba(194,120,3,var(--text-opacity))}.group:hover .group-hover\:text-yellow-600{--text-opacity:1;color:#9f580a;color:rgba(159,88,10,var(--text-opacity))}.group:hover .group-hover\:text-yellow-700{--text-opacity:1;color:#8e4b10;color:rgba(142,75,16,var(--text-opacity))}.group:hover .group-hover\:text-yellow-800{--text-opacity:1;color:#723b13;color:rgba(114,59,19,var(--text-opacity))}.group:hover .group-hover\:text-yellow-900{--text-opacity:1;color:#633112;color:rgba(99,49,18,var(--text-opacity))}.group:hover .group-hover\:text-green-50{--text-opacity:1;color:#f3faf7;color:rgba(243,250,247,var(--text-opacity))}.group:hover .group-hover\:text-green-100{--text-opacity:1;color:#def7ec;color:rgba(222,247,236,var(--text-opacity))}.group:hover .group-hover\:text-green-200{--text-opacity:1;color:#bcf0da;color:rgba(188,240,218,var(--text-opacity))}.group:hover .group-hover\:text-green-300{--text-opacity:1;color:#84e1bc;color:rgba(132,225,188,var(--text-opacity))}.group:hover .group-hover\:text-green-400{--text-opacity:1;color:#31c48d;color:rgba(49,196,141,var(--text-opacity))}.group:hover .group-hover\:text-green-500{--text-opacity:1;color:#0e9f6e;color:rgba(14,159,110,var(--text-opacity))}.group:hover .group-hover\:text-green-600{--text-opacity:1;color:#057a55;color:rgba(5,122,85,var(--text-opacity))}.group:hover .group-hover\:text-green-700{--text-opacity:1;color:#046c4e;color:rgba(4,108,78,var(--text-opacity))}.group:hover .group-hover\:text-green-800{--text-opacity:1;color:#03543f;color:rgba(3,84,63,var(--text-opacity))}.group:hover .group-hover\:text-green-900{--text-opacity:1;color:#014737;color:rgba(1,71,55,var(--text-opacity))}.group:hover .group-hover\:text-teal-50{--text-opacity:1;color:#edfafa;color:rgba(237,250,250,var(--text-opacity))}.group:hover .group-hover\:text-teal-100{--text-opacity:1;color:#d5f5f6;color:rgba(213,245,246,var(--text-opacity))}.group:hover .group-hover\:text-teal-200{--text-opacity:1;color:#afecef;color:rgba(175,236,239,var(--text-opacity))}.group:hover .group-hover\:text-teal-300{--text-opacity:1;color:#7edce2;color:rgba(126,220,226,var(--text-opacity))}.group:hover .group-hover\:text-teal-400{--text-opacity:1;color:#16bdca;color:rgba(22,189,202,var(--text-opacity))}.group:hover .group-hover\:text-teal-500{--text-opacity:1;color:#0694a2;color:rgba(6,148,162,var(--text-opacity))}.group:hover .group-hover\:text-teal-600{--text-opacity:1;color:#047481;color:rgba(4,116,129,var(--text-opacity))}.group:hover .group-hover\:text-teal-700{--text-opacity:1;color:#036672;color:rgba(3,102,114,var(--text-opacity))}.group:hover .group-hover\:text-teal-800{--text-opacity:1;color:#05505c;color:rgba(5,80,92,var(--text-opacity))}.group:hover .group-hover\:text-teal-900{--text-opacity:1;color:#014451;color:rgba(1,68,81,var(--text-opacity))}.group:hover .group-hover\:text-blue-50{--text-opacity:1;color:#ebf5ff;color:rgba(235,245,255,var(--text-opacity))}.group:hover .group-hover\:text-blue-100{--text-opacity:1;color:#e1effe;color:rgba(225,239,254,var(--text-opacity))}.group:hover .group-hover\:text-blue-200{--text-opacity:1;color:#c3ddfd;color:rgba(195,221,253,var(--text-opacity))}.group:hover .group-hover\:text-blue-300{--text-opacity:1;color:#a4cafe;color:rgba(164,202,254,var(--text-opacity))}.group:hover .group-hover\:text-blue-400{--text-opacity:1;color:#76a9fa;color:rgba(118,169,250,var(--text-opacity))}.group:hover .group-hover\:text-blue-500{--text-opacity:1;color:#3f83f8;color:rgba(63,131,248,var(--text-opacity))}.group:hover .group-hover\:text-blue-600{--text-opacity:1;color:#1c64f2;color:rgba(28,100,242,var(--text-opacity))}.group:hover .group-hover\:text-blue-700{--text-opacity:1;color:#1a56db;color:rgba(26,86,219,var(--text-opacity))}.group:hover .group-hover\:text-blue-800{--text-opacity:1;color:#1e429f;color:rgba(30,66,159,var(--text-opacity))}.group:hover .group-hover\:text-blue-900{--text-opacity:1;color:#233876;color:rgba(35,56,118,var(--text-opacity))}.group:hover .group-hover\:text-indigo-50{--text-opacity:1;color:#f0f5ff;color:rgba(240,245,255,var(--text-opacity))}.group:hover .group-hover\:text-indigo-100{--text-opacity:1;color:#e5edff;color:rgba(229,237,255,var(--text-opacity))}.group:hover .group-hover\:text-indigo-200{--text-opacity:1;color:#cddbfe;color:rgba(205,219,254,var(--text-opacity))}.group:hover .group-hover\:text-indigo-300{--text-opacity:1;color:#b4c6fc;color:rgba(180,198,252,var(--text-opacity))}.group:hover .group-hover\:text-indigo-400{--text-opacity:1;color:#8da2fb;color:rgba(141,162,251,var(--text-opacity))}.group:hover .group-hover\:text-indigo-500{--text-opacity:1;color:#6875f5;color:rgba(104,117,245,var(--text-opacity))}.group:hover .group-hover\:text-indigo-600{--text-opacity:1;color:#5850ec;color:rgba(88,80,236,var(--text-opacity))}.group:hover .group-hover\:text-indigo-700{--text-opacity:1;color:#5145cd;color:rgba(81,69,205,var(--text-opacity))}.group:hover .group-hover\:text-indigo-800{--text-opacity:1;color:#42389d;color:rgba(66,56,157,var(--text-opacity))}.group:hover .group-hover\:text-indigo-900{--text-opacity:1;color:#362f78;color:rgba(54,47,120,var(--text-opacity))}.group:hover .group-hover\:text-purple-50{--text-opacity:1;color:#f6f5ff;color:rgba(246,245,255,var(--text-opacity))}.group:hover .group-hover\:text-purple-100{--text-opacity:1;color:#edebfe;color:rgba(237,235,254,var(--text-opacity))}.group:hover .group-hover\:text-purple-200{--text-opacity:1;color:#dcd7fe;color:rgba(220,215,254,var(--text-opacity))}.group:hover .group-hover\:text-purple-300{--text-opacity:1;color:#cabffd;color:rgba(202,191,253,var(--text-opacity))}.group:hover .group-hover\:text-purple-400{--text-opacity:1;color:#ac94fa;color:rgba(172,148,250,var(--text-opacity))}.group:hover .group-hover\:text-purple-500{--text-opacity:1;color:#9061f9;color:rgba(144,97,249,var(--text-opacity))}.group:hover .group-hover\:text-purple-600{--text-opacity:1;color:#7e3af2;color:rgba(126,58,242,var(--text-opacity))}.group:hover .group-hover\:text-purple-700{--text-opacity:1;color:#6c2bd9;color:rgba(108,43,217,var(--text-opacity))}.group:hover .group-hover\:text-purple-800{--text-opacity:1;color:#5521b5;color:rgba(85,33,181,var(--text-opacity))}.group:hover .group-hover\:text-purple-900{--text-opacity:1;color:#4a1d96;color:rgba(74,29,150,var(--text-opacity))}.group:hover .group-hover\:text-pink-50{--text-opacity:1;color:#fdf2f8;color:rgba(253,242,248,var(--text-opacity))}.group:hover .group-hover\:text-pink-100{--text-opacity:1;color:#fce8f3;color:rgba(252,232,243,var(--text-opacity))}.group:hover .group-hover\:text-pink-200{--text-opacity:1;color:#fad1e8;color:rgba(250,209,232,var(--text-opacity))}.group:hover .group-hover\:text-pink-300{--text-opacity:1;color:#f8b4d9;color:rgba(248,180,217,var(--text-opacity))}.group:hover .group-hover\:text-pink-400{--text-opacity:1;color:#f17eb8;color:rgba(241,126,184,var(--text-opacity))}.group:hover .group-hover\:text-pink-500{--text-opacity:1;color:#e74694;color:rgba(231,70,148,var(--text-opacity))}.group:hover .group-hover\:text-pink-600{--text-opacity:1;color:#d61f69;color:rgba(214,31,105,var(--text-opacity))}.group:hover .group-hover\:text-pink-700{--text-opacity:1;color:#bf125d;color:rgba(191,18,93,var(--text-opacity))}.group:hover .group-hover\:text-pink-800{--text-opacity:1;color:#99154b;color:rgba(153,21,75,var(--text-opacity))}.group:hover .group-hover\:text-pink-900{--text-opacity:1;color:#751a3d;color:rgba(117,26,61,var(--text-opacity))}.group:focus .group-focus\:text-transparent{color:transparent}.group:focus .group-focus\:text-white{--text-opacity:1;color:#fff;color:rgba(255,255,255,var(--text-opacity))}.group:focus .group-focus\:text-black{--text-opacity:1;color:#000;color:rgba(0,0,0,var(--text-opacity))}.group:focus .group-focus\:text-gray-50{--text-opacity:1;color:#f9fafb;color:rgba(249,250,251,var(--text-opacity))}.group:focus .group-focus\:text-gray-100{--text-opacity:1;color:#f4f5f7;color:rgba(244,245,247,var(--text-opacity))}.group:focus .group-focus\:text-gray-200{--text-opacity:1;color:#e5e7eb;color:rgba(229,231,235,var(--text-opacity))}.group:focus .group-focus\:text-gray-300{--text-opacity:1;color:#d2d6dc;color:rgba(210,214,220,var(--text-opacity))}.group:focus .group-focus\:text-gray-400{--text-opacity:1;color:#9fa6b2;color:rgba(159,166,178,var(--text-opacity))}.group:focus .group-focus\:text-gray-500{--text-opacity:1;color:#6b7280;color:rgba(107,114,128,var(--text-opacity))}.group:focus .group-focus\:text-gray-600{--text-opacity:1;color:#4b5563;color:rgba(75,85,99,var(--text-opacity))}.group:focus .group-focus\:text-gray-700{--text-opacity:1;color:#374151;color:rgba(55,65,81,var(--text-opacity))}.group:focus .group-focus\:text-gray-800{--text-opacity:1;color:#252f3f;color:rgba(37,47,63,var(--text-opacity))}.group:focus .group-focus\:text-gray-900{--text-opacity:1;color:#161e2e;color:rgba(22,30,46,var(--text-opacity))}.group:focus .group-focus\:text-cool-gray-50{--text-opacity:1;color:#f8fafc;color:rgba(248,250,252,var(--text-opacity))}.group:focus .group-focus\:text-cool-gray-100{--text-opacity:1;color:#f1f5f9;color:rgba(241,245,249,var(--text-opacity))}.group:focus .group-focus\:text-cool-gray-200{--text-opacity:1;color:#e2e8f0;color:rgba(226,232,240,var(--text-opacity))}.group:focus .group-focus\:text-cool-gray-300{--text-opacity:1;color:#cfd8e3;color:rgba(207,216,227,var(--text-opacity))}.group:focus .group-focus\:text-cool-gray-400{--text-opacity:1;color:#97a6ba;color:rgba(151,166,186,var(--text-opacity))}.group:focus .group-focus\:text-cool-gray-500{--text-opacity:1;color:#64748b;color:rgba(100,116,139,var(--text-opacity))}.group:focus .group-focus\:text-cool-gray-600{--text-opacity:1;color:#475569;color:rgba(71,85,105,var(--text-opacity))}.group:focus .group-focus\:text-cool-gray-700{--text-opacity:1;color:#364152;color:rgba(54,65,82,var(--text-opacity))}.group:focus .group-focus\:text-cool-gray-800{--text-opacity:1;color:#27303f;color:rgba(39,48,63,var(--text-opacity))}.group:focus .group-focus\:text-cool-gray-900{--text-opacity:1;color:#1a202e;color:rgba(26,32,46,var(--text-opacity))}.group:focus .group-focus\:text-red-50{--text-opacity:1;color:#fdf2f2;color:rgba(253,242,242,var(--text-opacity))}.group:focus .group-focus\:text-red-100{--text-opacity:1;color:#fde8e8;color:rgba(253,232,232,var(--text-opacity))}.group:focus .group-focus\:text-red-200{--text-opacity:1;color:#fbd5d5;color:rgba(251,213,213,var(--text-opacity))}.group:focus .group-focus\:text-red-300{--text-opacity:1;color:#f8b4b4;color:rgba(248,180,180,var(--text-opacity))}.group:focus .group-focus\:text-red-400{--text-opacity:1;color:#f98080;color:rgba(249,128,128,var(--text-opacity))}.group:focus .group-focus\:text-red-500{--text-opacity:1;color:#f05252;color:rgba(240,82,82,var(--text-opacity))}.group:focus .group-focus\:text-red-600{--text-opacity:1;color:#e02424;color:rgba(224,36,36,var(--text-opacity))}.group:focus .group-focus\:text-red-700{--text-opacity:1;color:#c81e1e;color:rgba(200,30,30,var(--text-opacity))}.group:focus .group-focus\:text-red-800{--text-opacity:1;color:#9b1c1c;color:rgba(155,28,28,var(--text-opacity))}.group:focus .group-focus\:text-red-900{--text-opacity:1;color:#771d1d;color:rgba(119,29,29,var(--text-opacity))}.group:focus .group-focus\:text-orange-50{--text-opacity:1;color:#fff8f1;color:rgba(255,248,241,var(--text-opacity))}.group:focus .group-focus\:text-orange-100{--text-opacity:1;color:#feecdc;color:rgba(254,236,220,var(--text-opacity))}.group:focus .group-focus\:text-orange-200{--text-opacity:1;color:#fcd9bd;color:rgba(252,217,189,var(--text-opacity))}.group:focus .group-focus\:text-orange-300{--text-opacity:1;color:#fdba8c;color:rgba(253,186,140,var(--text-opacity))}.group:focus .group-focus\:text-orange-400{--text-opacity:1;color:#ff8a4c;color:rgba(255,138,76,var(--text-opacity))}.group:focus .group-focus\:text-orange-500{--text-opacity:1;color:#ff5a1f;color:rgba(255,90,31,var(--text-opacity))}.group:focus .group-focus\:text-orange-600{--text-opacity:1;color:#d03801;color:rgba(208,56,1,var(--text-opacity))}.group:focus .group-focus\:text-orange-700{--text-opacity:1;color:#b43403;color:rgba(180,52,3,var(--text-opacity))}.group:focus .group-focus\:text-orange-800{--text-opacity:1;color:#8a2c0d;color:rgba(138,44,13,var(--text-opacity))}.group:focus .group-focus\:text-orange-900{--text-opacity:1;color:#73230d;color:rgba(115,35,13,var(--text-opacity))}.group:focus .group-focus\:text-yellow-50{--text-opacity:1;color:#fdfdea;color:rgba(253,253,234,var(--text-opacity))}.group:focus .group-focus\:text-yellow-100{--text-opacity:1;color:#fdf6b2;color:rgba(253,246,178,var(--text-opacity))}.group:focus .group-focus\:text-yellow-200{--text-opacity:1;color:#fce96a;color:rgba(252,233,106,var(--text-opacity))}.group:focus .group-focus\:text-yellow-300{--text-opacity:1;color:#faca15;color:rgba(250,202,21,var(--text-opacity))}.group:focus .group-focus\:text-yellow-400{--text-opacity:1;color:#e3a008;color:rgba(227,160,8,var(--text-opacity))}.group:focus .group-focus\:text-yellow-500{--text-opacity:1;color:#c27803;color:rgba(194,120,3,var(--text-opacity))}.group:focus .group-focus\:text-yellow-600{--text-opacity:1;color:#9f580a;color:rgba(159,88,10,var(--text-opacity))}.group:focus .group-focus\:text-yellow-700{--text-opacity:1;color:#8e4b10;color:rgba(142,75,16,var(--text-opacity))}.group:focus .group-focus\:text-yellow-800{--text-opacity:1;color:#723b13;color:rgba(114,59,19,var(--text-opacity))}.group:focus .group-focus\:text-yellow-900{--text-opacity:1;color:#633112;color:rgba(99,49,18,var(--text-opacity))}.group:focus .group-focus\:text-green-50{--text-opacity:1;color:#f3faf7;color:rgba(243,250,247,var(--text-opacity))}.group:focus .group-focus\:text-green-100{--text-opacity:1;color:#def7ec;color:rgba(222,247,236,var(--text-opacity))}.group:focus .group-focus\:text-green-200{--text-opacity:1;color:#bcf0da;color:rgba(188,240,218,var(--text-opacity))}.group:focus .group-focus\:text-green-300{--text-opacity:1;color:#84e1bc;color:rgba(132,225,188,var(--text-opacity))}.group:focus .group-focus\:text-green-400{--text-opacity:1;color:#31c48d;color:rgba(49,196,141,var(--text-opacity))}.group:focus .group-focus\:text-green-500{--text-opacity:1;color:#0e9f6e;color:rgba(14,159,110,var(--text-opacity))}.group:focus .group-focus\:text-green-600{--text-opacity:1;color:#057a55;color:rgba(5,122,85,var(--text-opacity))}.group:focus .group-focus\:text-green-700{--text-opacity:1;color:#046c4e;color:rgba(4,108,78,var(--text-opacity))}.group:focus .group-focus\:text-green-800{--text-opacity:1;color:#03543f;color:rgba(3,84,63,var(--text-opacity))}.group:focus .group-focus\:text-green-900{--text-opacity:1;color:#014737;color:rgba(1,71,55,var(--text-opacity))}.group:focus .group-focus\:text-teal-50{--text-opacity:1;color:#edfafa;color:rgba(237,250,250,var(--text-opacity))}.group:focus .group-focus\:text-teal-100{--text-opacity:1;color:#d5f5f6;color:rgba(213,245,246,var(--text-opacity))}.group:focus .group-focus\:text-teal-200{--text-opacity:1;color:#afecef;color:rgba(175,236,239,var(--text-opacity))}.group:focus .group-focus\:text-teal-300{--text-opacity:1;color:#7edce2;color:rgba(126,220,226,var(--text-opacity))}.group:focus .group-focus\:text-teal-400{--text-opacity:1;color:#16bdca;color:rgba(22,189,202,var(--text-opacity))}.group:focus .group-focus\:text-teal-500{--text-opacity:1;color:#0694a2;color:rgba(6,148,162,var(--text-opacity))}.group:focus .group-focus\:text-teal-600{--text-opacity:1;color:#047481;color:rgba(4,116,129,var(--text-opacity))}.group:focus .group-focus\:text-teal-700{--text-opacity:1;color:#036672;color:rgba(3,102,114,var(--text-opacity))}.group:focus .group-focus\:text-teal-800{--text-opacity:1;color:#05505c;color:rgba(5,80,92,var(--text-opacity))}.group:focus .group-focus\:text-teal-900{--text-opacity:1;color:#014451;color:rgba(1,68,81,var(--text-opacity))}.group:focus .group-focus\:text-blue-50{--text-opacity:1;color:#ebf5ff;color:rgba(235,245,255,var(--text-opacity))}.group:focus .group-focus\:text-blue-100{--text-opacity:1;color:#e1effe;color:rgba(225,239,254,var(--text-opacity))}.group:focus .group-focus\:text-blue-200{--text-opacity:1;color:#c3ddfd;color:rgba(195,221,253,var(--text-opacity))}.group:focus .group-focus\:text-blue-300{--text-opacity:1;color:#a4cafe;color:rgba(164,202,254,var(--text-opacity))}.group:focus .group-focus\:text-blue-400{--text-opacity:1;color:#76a9fa;color:rgba(118,169,250,var(--text-opacity))}.group:focus .group-focus\:text-blue-500{--text-opacity:1;color:#3f83f8;color:rgba(63,131,248,var(--text-opacity))}.group:focus .group-focus\:text-blue-600{--text-opacity:1;color:#1c64f2;color:rgba(28,100,242,var(--text-opacity))}.group:focus .group-focus\:text-blue-700{--text-opacity:1;color:#1a56db;color:rgba(26,86,219,var(--text-opacity))}.group:focus .group-focus\:text-blue-800{--text-opacity:1;color:#1e429f;color:rgba(30,66,159,var(--text-opacity))}.group:focus .group-focus\:text-blue-900{--text-opacity:1;color:#233876;color:rgba(35,56,118,var(--text-opacity))}.group:focus .group-focus\:text-indigo-50{--text-opacity:1;color:#f0f5ff;color:rgba(240,245,255,var(--text-opacity))}.group:focus .group-focus\:text-indigo-100{--text-opacity:1;color:#e5edff;color:rgba(229,237,255,var(--text-opacity))}.group:focus .group-focus\:text-indigo-200{--text-opacity:1;color:#cddbfe;color:rgba(205,219,254,var(--text-opacity))}.group:focus .group-focus\:text-indigo-300{--text-opacity:1;color:#b4c6fc;color:rgba(180,198,252,var(--text-opacity))}.group:focus .group-focus\:text-indigo-400{--text-opacity:1;color:#8da2fb;color:rgba(141,162,251,var(--text-opacity))}.group:focus .group-focus\:text-indigo-500{--text-opacity:1;color:#6875f5;color:rgba(104,117,245,var(--text-opacity))}.group:focus .group-focus\:text-indigo-600{--text-opacity:1;color:#5850ec;color:rgba(88,80,236,var(--text-opacity))}.group:focus .group-focus\:text-indigo-700{--text-opacity:1;color:#5145cd;color:rgba(81,69,205,var(--text-opacity))}.group:focus .group-focus\:text-indigo-800{--text-opacity:1;color:#42389d;color:rgba(66,56,157,var(--text-opacity))}.group:focus .group-focus\:text-indigo-900{--text-opacity:1;color:#362f78;color:rgba(54,47,120,var(--text-opacity))}.group:focus .group-focus\:text-purple-50{--text-opacity:1;color:#f6f5ff;color:rgba(246,245,255,var(--text-opacity))}.group:focus .group-focus\:text-purple-100{--text-opacity:1;color:#edebfe;color:rgba(237,235,254,var(--text-opacity))}.group:focus .group-focus\:text-purple-200{--text-opacity:1;color:#dcd7fe;color:rgba(220,215,254,var(--text-opacity))}.group:focus .group-focus\:text-purple-300{--text-opacity:1;color:#cabffd;color:rgba(202,191,253,var(--text-opacity))}.group:focus .group-focus\:text-purple-400{--text-opacity:1;color:#ac94fa;color:rgba(172,148,250,var(--text-opacity))}.group:focus .group-focus\:text-purple-500{--text-opacity:1;color:#9061f9;color:rgba(144,97,249,var(--text-opacity))}.group:focus .group-focus\:text-purple-600{--text-opacity:1;color:#7e3af2;color:rgba(126,58,242,var(--text-opacity))}.group:focus .group-focus\:text-purple-700{--text-opacity:1;color:#6c2bd9;color:rgba(108,43,217,var(--text-opacity))}.group:focus .group-focus\:text-purple-800{--text-opacity:1;color:#5521b5;color:rgba(85,33,181,var(--text-opacity))}.group:focus .group-focus\:text-purple-900{--text-opacity:1;color:#4a1d96;color:rgba(74,29,150,var(--text-opacity))}.group:focus .group-focus\:text-pink-50{--text-opacity:1;color:#fdf2f8;color:rgba(253,242,248,var(--text-opacity))}.group:focus .group-focus\:text-pink-100{--text-opacity:1;color:#fce8f3;color:rgba(252,232,243,var(--text-opacity))}.group:focus .group-focus\:text-pink-200{--text-opacity:1;color:#fad1e8;color:rgba(250,209,232,var(--text-opacity))}.group:focus .group-focus\:text-pink-300{--text-opacity:1;color:#f8b4d9;color:rgba(248,180,217,var(--text-opacity))}.group:focus .group-focus\:text-pink-400{--text-opacity:1;color:#f17eb8;color:rgba(241,126,184,var(--text-opacity))}.group:focus .group-focus\:text-pink-500{--text-opacity:1;color:#e74694;color:rgba(231,70,148,var(--text-opacity))}.group:focus .group-focus\:text-pink-600{--text-opacity:1;color:#d61f69;color:rgba(214,31,105,var(--text-opacity))}.group:focus .group-focus\:text-pink-700{--text-opacity:1;color:#bf125d;color:rgba(191,18,93,var(--text-opacity))}.group:focus .group-focus\:text-pink-800{--text-opacity:1;color:#99154b;color:rgba(153,21,75,var(--text-opacity))}.group:focus .group-focus\:text-pink-900{--text-opacity:1;color:#751a3d;color:rgba(117,26,61,var(--text-opacity))}.hover\:text-transparent:hover{color:transparent}.hover\:text-white:hover{--text-opacity:1;color:#fff;color:rgba(255,255,255,var(--text-opacity))}.hover\:text-black:hover{--text-opacity:1;color:#000;color:rgba(0,0,0,var(--text-opacity))}.hover\:text-gray-50:hover{--text-opacity:1;color:#f9fafb;color:rgba(249,250,251,var(--text-opacity))}.hover\:text-gray-100:hover{--text-opacity:1;color:#f4f5f7;color:rgba(244,245,247,var(--text-opacity))}.hover\:text-gray-200:hover{--text-opacity:1;color:#e5e7eb;color:rgba(229,231,235,var(--text-opacity))}.hover\:text-gray-300:hover{--text-opacity:1;color:#d2d6dc;color:rgba(210,214,220,var(--text-opacity))}.hover\:text-gray-400:hover{--text-opacity:1;color:#9fa6b2;color:rgba(159,166,178,var(--text-opacity))}.hover\:text-gray-500:hover{--text-opacity:1;color:#6b7280;color:rgba(107,114,128,var(--text-opacity))}.hover\:text-gray-600:hover{--text-opacity:1;color:#4b5563;color:rgba(75,85,99,var(--text-opacity))}.hover\:text-gray-700:hover{--text-opacity:1;color:#374151;color:rgba(55,65,81,var(--text-opacity))}.hover\:text-gray-800:hover{--text-opacity:1;color:#252f3f;color:rgba(37,47,63,var(--text-opacity))}.hover\:text-gray-900:hover{--text-opacity:1;color:#161e2e;color:rgba(22,30,46,var(--text-opacity))}.hover\:text-cool-gray-50:hover{--text-opacity:1;color:#f8fafc;color:rgba(248,250,252,var(--text-opacity))}.hover\:text-cool-gray-100:hover{--text-opacity:1;color:#f1f5f9;color:rgba(241,245,249,var(--text-opacity))}.hover\:text-cool-gray-200:hover{--text-opacity:1;color:#e2e8f0;color:rgba(226,232,240,var(--text-opacity))}.hover\:text-cool-gray-300:hover{--text-opacity:1;color:#cfd8e3;color:rgba(207,216,227,var(--text-opacity))}.hover\:text-cool-gray-400:hover{--text-opacity:1;color:#97a6ba;color:rgba(151,166,186,var(--text-opacity))}.hover\:text-cool-gray-500:hover{--text-opacity:1;color:#64748b;color:rgba(100,116,139,var(--text-opacity))}.hover\:text-cool-gray-600:hover{--text-opacity:1;color:#475569;color:rgba(71,85,105,var(--text-opacity))}.hover\:text-cool-gray-700:hover{--text-opacity:1;color:#364152;color:rgba(54,65,82,var(--text-opacity))}.hover\:text-cool-gray-800:hover{--text-opacity:1;color:#27303f;color:rgba(39,48,63,var(--text-opacity))}.hover\:text-cool-gray-900:hover{--text-opacity:1;color:#1a202e;color:rgba(26,32,46,var(--text-opacity))}.hover\:text-red-50:hover{--text-opacity:1;color:#fdf2f2;color:rgba(253,242,242,var(--text-opacity))}.hover\:text-red-100:hover{--text-opacity:1;color:#fde8e8;color:rgba(253,232,232,var(--text-opacity))}.hover\:text-red-200:hover{--text-opacity:1;color:#fbd5d5;color:rgba(251,213,213,var(--text-opacity))}.hover\:text-red-300:hover{--text-opacity:1;color:#f8b4b4;color:rgba(248,180,180,var(--text-opacity))}.hover\:text-red-400:hover{--text-opacity:1;color:#f98080;color:rgba(249,128,128,var(--text-opacity))}.hover\:text-red-500:hover{--text-opacity:1;color:#f05252;color:rgba(240,82,82,var(--text-opacity))}.hover\:text-red-600:hover{--text-opacity:1;color:#e02424;color:rgba(224,36,36,var(--text-opacity))}.hover\:text-red-700:hover{--text-opacity:1;color:#c81e1e;color:rgba(200,30,30,var(--text-opacity))}.hover\:text-red-800:hover{--text-opacity:1;color:#9b1c1c;color:rgba(155,28,28,var(--text-opacity))}.hover\:text-red-900:hover{--text-opacity:1;color:#771d1d;color:rgba(119,29,29,var(--text-opacity))}.hover\:text-orange-50:hover{--text-opacity:1;color:#fff8f1;color:rgba(255,248,241,var(--text-opacity))}.hover\:text-orange-100:hover{--text-opacity:1;color:#feecdc;color:rgba(254,236,220,var(--text-opacity))}.hover\:text-orange-200:hover{--text-opacity:1;color:#fcd9bd;color:rgba(252,217,189,var(--text-opacity))}.hover\:text-orange-300:hover{--text-opacity:1;color:#fdba8c;color:rgba(253,186,140,var(--text-opacity))}.hover\:text-orange-400:hover{--text-opacity:1;color:#ff8a4c;color:rgba(255,138,76,var(--text-opacity))}.hover\:text-orange-500:hover{--text-opacity:1;color:#ff5a1f;color:rgba(255,90,31,var(--text-opacity))}.hover\:text-orange-600:hover{--text-opacity:1;color:#d03801;color:rgba(208,56,1,var(--text-opacity))}.hover\:text-orange-700:hover{--text-opacity:1;color:#b43403;color:rgba(180,52,3,var(--text-opacity))}.hover\:text-orange-800:hover{--text-opacity:1;color:#8a2c0d;color:rgba(138,44,13,var(--text-opacity))}.hover\:text-orange-900:hover{--text-opacity:1;color:#73230d;color:rgba(115,35,13,var(--text-opacity))}.hover\:text-yellow-50:hover{--text-opacity:1;color:#fdfdea;color:rgba(253,253,234,var(--text-opacity))}.hover\:text-yellow-100:hover{--text-opacity:1;color:#fdf6b2;color:rgba(253,246,178,var(--text-opacity))}.hover\:text-yellow-200:hover{--text-opacity:1;color:#fce96a;color:rgba(252,233,106,var(--text-opacity))}.hover\:text-yellow-300:hover{--text-opacity:1;color:#faca15;color:rgba(250,202,21,var(--text-opacity))}.hover\:text-yellow-400:hover{--text-opacity:1;color:#e3a008;color:rgba(227,160,8,var(--text-opacity))}.hover\:text-yellow-500:hover{--text-opacity:1;color:#c27803;color:rgba(194,120,3,var(--text-opacity))}.hover\:text-yellow-600:hover{--text-opacity:1;color:#9f580a;color:rgba(159,88,10,var(--text-opacity))}.hover\:text-yellow-700:hover{--text-opacity:1;color:#8e4b10;color:rgba(142,75,16,var(--text-opacity))}.hover\:text-yellow-800:hover{--text-opacity:1;color:#723b13;color:rgba(114,59,19,var(--text-opacity))}.hover\:text-yellow-900:hover{--text-opacity:1;color:#633112;color:rgba(99,49,18,var(--text-opacity))}.hover\:text-green-50:hover{--text-opacity:1;color:#f3faf7;color:rgba(243,250,247,var(--text-opacity))}.hover\:text-green-100:hover{--text-opacity:1;color:#def7ec;color:rgba(222,247,236,var(--text-opacity))}.hover\:text-green-200:hover{--text-opacity:1;color:#bcf0da;color:rgba(188,240,218,var(--text-opacity))}.hover\:text-green-300:hover{--text-opacity:1;color:#84e1bc;color:rgba(132,225,188,var(--text-opacity))}.hover\:text-green-400:hover{--text-opacity:1;color:#31c48d;color:rgba(49,196,141,var(--text-opacity))}.hover\:text-green-500:hover{--text-opacity:1;color:#0e9f6e;color:rgba(14,159,110,var(--text-opacity))}.hover\:text-green-600:hover{--text-opacity:1;color:#057a55;color:rgba(5,122,85,var(--text-opacity))}.hover\:text-green-700:hover{--text-opacity:1;color:#046c4e;color:rgba(4,108,78,var(--text-opacity))}.hover\:text-green-800:hover{--text-opacity:1;color:#03543f;color:rgba(3,84,63,var(--text-opacity))}.hover\:text-green-900:hover{--text-opacity:1;color:#014737;color:rgba(1,71,55,var(--text-opacity))}.hover\:text-teal-50:hover{--text-opacity:1;color:#edfafa;color:rgba(237,250,250,var(--text-opacity))}.hover\:text-teal-100:hover{--text-opacity:1;color:#d5f5f6;color:rgba(213,245,246,var(--text-opacity))}.hover\:text-teal-200:hover{--text-opacity:1;color:#afecef;color:rgba(175,236,239,var(--text-opacity))}.hover\:text-teal-300:hover{--text-opacity:1;color:#7edce2;color:rgba(126,220,226,var(--text-opacity))}.hover\:text-teal-400:hover{--text-opacity:1;color:#16bdca;color:rgba(22,189,202,var(--text-opacity))}.hover\:text-teal-500:hover{--text-opacity:1;color:#0694a2;color:rgba(6,148,162,var(--text-opacity))}.hover\:text-teal-600:hover{--text-opacity:1;color:#047481;color:rgba(4,116,129,var(--text-opacity))}.hover\:text-teal-700:hover{--text-opacity:1;color:#036672;color:rgba(3,102,114,var(--text-opacity))}.hover\:text-teal-800:hover{--text-opacity:1;color:#05505c;color:rgba(5,80,92,var(--text-opacity))}.hover\:text-teal-900:hover{--text-opacity:1;color:#014451;color:rgba(1,68,81,var(--text-opacity))}.hover\:text-blue-50:hover{--text-opacity:1;color:#ebf5ff;color:rgba(235,245,255,var(--text-opacity))}.hover\:text-blue-100:hover{--text-opacity:1;color:#e1effe;color:rgba(225,239,254,var(--text-opacity))}.hover\:text-blue-200:hover{--text-opacity:1;color:#c3ddfd;color:rgba(195,221,253,var(--text-opacity))}.hover\:text-blue-300:hover{--text-opacity:1;color:#a4cafe;color:rgba(164,202,254,var(--text-opacity))}.hover\:text-blue-400:hover{--text-opacity:1;color:#76a9fa;color:rgba(118,169,250,var(--text-opacity))}.hover\:text-blue-500:hover{--text-opacity:1;color:#3f83f8;color:rgba(63,131,248,var(--text-opacity))}.hover\:text-blue-600:hover{--text-opacity:1;color:#1c64f2;color:rgba(28,100,242,var(--text-opacity))}.hover\:text-blue-700:hover{--text-opacity:1;color:#1a56db;color:rgba(26,86,219,var(--text-opacity))}.hover\:text-blue-800:hover{--text-opacity:1;color:#1e429f;color:rgba(30,66,159,var(--text-opacity))}.hover\:text-blue-900:hover{--text-opacity:1;color:#233876;color:rgba(35,56,118,var(--text-opacity))}.hover\:text-indigo-50:hover{--text-opacity:1;color:#f0f5ff;color:rgba(240,245,255,var(--text-opacity))}.hover\:text-indigo-100:hover{--text-opacity:1;color:#e5edff;color:rgba(229,237,255,var(--text-opacity))}.hover\:text-indigo-200:hover{--text-opacity:1;color:#cddbfe;color:rgba(205,219,254,var(--text-opacity))}.hover\:text-indigo-300:hover{--text-opacity:1;color:#b4c6fc;color:rgba(180,198,252,var(--text-opacity))}.hover\:text-indigo-400:hover{--text-opacity:1;color:#8da2fb;color:rgba(141,162,251,var(--text-opacity))}.hover\:text-indigo-500:hover{--text-opacity:1;color:#6875f5;color:rgba(104,117,245,var(--text-opacity))}.hover\:text-indigo-600:hover{--text-opacity:1;color:#5850ec;color:rgba(88,80,236,var(--text-opacity))}.hover\:text-indigo-700:hover{--text-opacity:1;color:#5145cd;color:rgba(81,69,205,var(--text-opacity))}.hover\:text-indigo-800:hover{--text-opacity:1;color:#42389d;color:rgba(66,56,157,var(--text-opacity))}.hover\:text-indigo-900:hover{--text-opacity:1;color:#362f78;color:rgba(54,47,120,var(--text-opacity))}.hover\:text-purple-50:hover{--text-opacity:1;color:#f6f5ff;color:rgba(246,245,255,var(--text-opacity))}.hover\:text-purple-100:hover{--text-opacity:1;color:#edebfe;color:rgba(237,235,254,var(--text-opacity))}.hover\:text-purple-200:hover{--text-opacity:1;color:#dcd7fe;color:rgba(220,215,254,var(--text-opacity))}.hover\:text-purple-300:hover{--text-opacity:1;color:#cabffd;color:rgba(202,191,253,var(--text-opacity))}.hover\:text-purple-400:hover{--text-opacity:1;color:#ac94fa;color:rgba(172,148,250,var(--text-opacity))}.hover\:text-purple-500:hover{--text-opacity:1;color:#9061f9;color:rgba(144,97,249,var(--text-opacity))}.hover\:text-purple-600:hover{--text-opacity:1;color:#7e3af2;color:rgba(126,58,242,var(--text-opacity))}.hover\:text-purple-700:hover{--text-opacity:1;color:#6c2bd9;color:rgba(108,43,217,var(--text-opacity))}.hover\:text-purple-800:hover{--text-opacity:1;color:#5521b5;color:rgba(85,33,181,var(--text-opacity))}.hover\:text-purple-900:hover{--text-opacity:1;color:#4a1d96;color:rgba(74,29,150,var(--text-opacity))}.hover\:text-pink-50:hover{--text-opacity:1;color:#fdf2f8;color:rgba(253,242,248,var(--text-opacity))}.hover\:text-pink-100:hover{--text-opacity:1;color:#fce8f3;color:rgba(252,232,243,var(--text-opacity))}.hover\:text-pink-200:hover{--text-opacity:1;color:#fad1e8;color:rgba(250,209,232,var(--text-opacity))}.hover\:text-pink-300:hover{--text-opacity:1;color:#f8b4d9;color:rgba(248,180,217,var(--text-opacity))}.hover\:text-pink-400:hover{--text-opacity:1;color:#f17eb8;color:rgba(241,126,184,var(--text-opacity))}.hover\:text-pink-500:hover{--text-opacity:1;color:#e74694;color:rgba(231,70,148,var(--text-opacity))}.hover\:text-pink-600:hover{--text-opacity:1;color:#d61f69;color:rgba(214,31,105,var(--text-opacity))}.hover\:text-pink-700:hover{--text-opacity:1;color:#bf125d;color:rgba(191,18,93,var(--text-opacity))}.hover\:text-pink-800:hover{--text-opacity:1;color:#99154b;color:rgba(153,21,75,var(--text-opacity))}.hover\:text-pink-900:hover{--text-opacity:1;color:#751a3d;color:rgba(117,26,61,var(--text-opacity))}.focus-within\:text-transparent:focus-within{color:transparent}.focus-within\:text-white:focus-within{--text-opacity:1;color:#fff;color:rgba(255,255,255,var(--text-opacity))}.focus-within\:text-black:focus-within{--text-opacity:1;color:#000;color:rgba(0,0,0,var(--text-opacity))}.focus-within\:text-gray-50:focus-within{--text-opacity:1;color:#f9fafb;color:rgba(249,250,251,var(--text-opacity))}.focus-within\:text-gray-100:focus-within{--text-opacity:1;color:#f4f5f7;color:rgba(244,245,247,var(--text-opacity))}.focus-within\:text-gray-200:focus-within{--text-opacity:1;color:#e5e7eb;color:rgba(229,231,235,var(--text-opacity))}.focus-within\:text-gray-300:focus-within{--text-opacity:1;color:#d2d6dc;color:rgba(210,214,220,var(--text-opacity))}.focus-within\:text-gray-400:focus-within{--text-opacity:1;color:#9fa6b2;color:rgba(159,166,178,var(--text-opacity))}.focus-within\:text-gray-500:focus-within{--text-opacity:1;color:#6b7280;color:rgba(107,114,128,var(--text-opacity))}.focus-within\:text-gray-600:focus-within{--text-opacity:1;color:#4b5563;color:rgba(75,85,99,var(--text-opacity))}.focus-within\:text-gray-700:focus-within{--text-opacity:1;color:#374151;color:rgba(55,65,81,var(--text-opacity))}.focus-within\:text-gray-800:focus-within{--text-opacity:1;color:#252f3f;color:rgba(37,47,63,var(--text-opacity))}.focus-within\:text-gray-900:focus-within{--text-opacity:1;color:#161e2e;color:rgba(22,30,46,var(--text-opacity))}.focus-within\:text-cool-gray-50:focus-within{--text-opacity:1;color:#f8fafc;color:rgba(248,250,252,var(--text-opacity))}.focus-within\:text-cool-gray-100:focus-within{--text-opacity:1;color:#f1f5f9;color:rgba(241,245,249,var(--text-opacity))}.focus-within\:text-cool-gray-200:focus-within{--text-opacity:1;color:#e2e8f0;color:rgba(226,232,240,var(--text-opacity))}.focus-within\:text-cool-gray-300:focus-within{--text-opacity:1;color:#cfd8e3;color:rgba(207,216,227,var(--text-opacity))}.focus-within\:text-cool-gray-400:focus-within{--text-opacity:1;color:#97a6ba;color:rgba(151,166,186,var(--text-opacity))}.focus-within\:text-cool-gray-500:focus-within{--text-opacity:1;color:#64748b;color:rgba(100,116,139,var(--text-opacity))}.focus-within\:text-cool-gray-600:focus-within{--text-opacity:1;color:#475569;color:rgba(71,85,105,var(--text-opacity))}.focus-within\:text-cool-gray-700:focus-within{--text-opacity:1;color:#364152;color:rgba(54,65,82,var(--text-opacity))}.focus-within\:text-cool-gray-800:focus-within{--text-opacity:1;color:#27303f;color:rgba(39,48,63,var(--text-opacity))}.focus-within\:text-cool-gray-900:focus-within{--text-opacity:1;color:#1a202e;color:rgba(26,32,46,var(--text-opacity))}.focus-within\:text-red-50:focus-within{--text-opacity:1;color:#fdf2f2;color:rgba(253,242,242,var(--text-opacity))}.focus-within\:text-red-100:focus-within{--text-opacity:1;color:#fde8e8;color:rgba(253,232,232,var(--text-opacity))}.focus-within\:text-red-200:focus-within{--text-opacity:1;color:#fbd5d5;color:rgba(251,213,213,var(--text-opacity))}.focus-within\:text-red-300:focus-within{--text-opacity:1;color:#f8b4b4;color:rgba(248,180,180,var(--text-opacity))}.focus-within\:text-red-400:focus-within{--text-opacity:1;color:#f98080;color:rgba(249,128,128,var(--text-opacity))}.focus-within\:text-red-500:focus-within{--text-opacity:1;color:#f05252;color:rgba(240,82,82,var(--text-opacity))}.focus-within\:text-red-600:focus-within{--text-opacity:1;color:#e02424;color:rgba(224,36,36,var(--text-opacity))}.focus-within\:text-red-700:focus-within{--text-opacity:1;color:#c81e1e;color:rgba(200,30,30,var(--text-opacity))}.focus-within\:text-red-800:focus-within{--text-opacity:1;color:#9b1c1c;color:rgba(155,28,28,var(--text-opacity))}.focus-within\:text-red-900:focus-within{--text-opacity:1;color:#771d1d;color:rgba(119,29,29,var(--text-opacity))}.focus-within\:text-orange-50:focus-within{--text-opacity:1;color:#fff8f1;color:rgba(255,248,241,var(--text-opacity))}.focus-within\:text-orange-100:focus-within{--text-opacity:1;color:#feecdc;color:rgba(254,236,220,var(--text-opacity))}.focus-within\:text-orange-200:focus-within{--text-opacity:1;color:#fcd9bd;color:rgba(252,217,189,var(--text-opacity))}.focus-within\:text-orange-300:focus-within{--text-opacity:1;color:#fdba8c;color:rgba(253,186,140,var(--text-opacity))}.focus-within\:text-orange-400:focus-within{--text-opacity:1;color:#ff8a4c;color:rgba(255,138,76,var(--text-opacity))}.focus-within\:text-orange-500:focus-within{--text-opacity:1;color:#ff5a1f;color:rgba(255,90,31,var(--text-opacity))}.focus-within\:text-orange-600:focus-within{--text-opacity:1;color:#d03801;color:rgba(208,56,1,var(--text-opacity))}.focus-within\:text-orange-700:focus-within{--text-opacity:1;color:#b43403;color:rgba(180,52,3,var(--text-opacity))}.focus-within\:text-orange-800:focus-within{--text-opacity:1;color:#8a2c0d;color:rgba(138,44,13,var(--text-opacity))}.focus-within\:text-orange-900:focus-within{--text-opacity:1;color:#73230d;color:rgba(115,35,13,var(--text-opacity))}.focus-within\:text-yellow-50:focus-within{--text-opacity:1;color:#fdfdea;color:rgba(253,253,234,var(--text-opacity))}.focus-within\:text-yellow-100:focus-within{--text-opacity:1;color:#fdf6b2;color:rgba(253,246,178,var(--text-opacity))}.focus-within\:text-yellow-200:focus-within{--text-opacity:1;color:#fce96a;color:rgba(252,233,106,var(--text-opacity))}.focus-within\:text-yellow-300:focus-within{--text-opacity:1;color:#faca15;color:rgba(250,202,21,var(--text-opacity))}.focus-within\:text-yellow-400:focus-within{--text-opacity:1;color:#e3a008;color:rgba(227,160,8,var(--text-opacity))}.focus-within\:text-yellow-500:focus-within{--text-opacity:1;color:#c27803;color:rgba(194,120,3,var(--text-opacity))}.focus-within\:text-yellow-600:focus-within{--text-opacity:1;color:#9f580a;color:rgba(159,88,10,var(--text-opacity))}.focus-within\:text-yellow-700:focus-within{--text-opacity:1;color:#8e4b10;color:rgba(142,75,16,var(--text-opacity))}.focus-within\:text-yellow-800:focus-within{--text-opacity:1;color:#723b13;color:rgba(114,59,19,var(--text-opacity))}.focus-within\:text-yellow-900:focus-within{--text-opacity:1;color:#633112;color:rgba(99,49,18,var(--text-opacity))}.focus-within\:text-green-50:focus-within{--text-opacity:1;color:#f3faf7;color:rgba(243,250,247,var(--text-opacity))}.focus-within\:text-green-100:focus-within{--text-opacity:1;color:#def7ec;color:rgba(222,247,236,var(--text-opacity))}.focus-within\:text-green-200:focus-within{--text-opacity:1;color:#bcf0da;color:rgba(188,240,218,var(--text-opacity))}.focus-within\:text-green-300:focus-within{--text-opacity:1;color:#84e1bc;color:rgba(132,225,188,var(--text-opacity))}.focus-within\:text-green-400:focus-within{--text-opacity:1;color:#31c48d;color:rgba(49,196,141,var(--text-opacity))}.focus-within\:text-green-500:focus-within{--text-opacity:1;color:#0e9f6e;color:rgba(14,159,110,var(--text-opacity))}.focus-within\:text-green-600:focus-within{--text-opacity:1;color:#057a55;color:rgba(5,122,85,var(--text-opacity))}.focus-within\:text-green-700:focus-within{--text-opacity:1;color:#046c4e;color:rgba(4,108,78,var(--text-opacity))}.focus-within\:text-green-800:focus-within{--text-opacity:1;color:#03543f;color:rgba(3,84,63,var(--text-opacity))}.focus-within\:text-green-900:focus-within{--text-opacity:1;color:#014737;color:rgba(1,71,55,var(--text-opacity))}.focus-within\:text-teal-50:focus-within{--text-opacity:1;color:#edfafa;color:rgba(237,250,250,var(--text-opacity))}.focus-within\:text-teal-100:focus-within{--text-opacity:1;color:#d5f5f6;color:rgba(213,245,246,var(--text-opacity))}.focus-within\:text-teal-200:focus-within{--text-opacity:1;color:#afecef;color:rgba(175,236,239,var(--text-opacity))}.focus-within\:text-teal-300:focus-within{--text-opacity:1;color:#7edce2;color:rgba(126,220,226,var(--text-opacity))}.focus-within\:text-teal-400:focus-within{--text-opacity:1;color:#16bdca;color:rgba(22,189,202,var(--text-opacity))}.focus-within\:text-teal-500:focus-within{--text-opacity:1;color:#0694a2;color:rgba(6,148,162,var(--text-opacity))}.focus-within\:text-teal-600:focus-within{--text-opacity:1;color:#047481;color:rgba(4,116,129,var(--text-opacity))}.focus-within\:text-teal-700:focus-within{--text-opacity:1;color:#036672;color:rgba(3,102,114,var(--text-opacity))}.focus-within\:text-teal-800:focus-within{--text-opacity:1;color:#05505c;color:rgba(5,80,92,var(--text-opacity))}.focus-within\:text-teal-900:focus-within{--text-opacity:1;color:#014451;color:rgba(1,68,81,var(--text-opacity))}.focus-within\:text-blue-50:focus-within{--text-opacity:1;color:#ebf5ff;color:rgba(235,245,255,var(--text-opacity))}.focus-within\:text-blue-100:focus-within{--text-opacity:1;color:#e1effe;color:rgba(225,239,254,var(--text-opacity))}.focus-within\:text-blue-200:focus-within{--text-opacity:1;color:#c3ddfd;color:rgba(195,221,253,var(--text-opacity))}.focus-within\:text-blue-300:focus-within{--text-opacity:1;color:#a4cafe;color:rgba(164,202,254,var(--text-opacity))}.focus-within\:text-blue-400:focus-within{--text-opacity:1;color:#76a9fa;color:rgba(118,169,250,var(--text-opacity))}.focus-within\:text-blue-500:focus-within{--text-opacity:1;color:#3f83f8;color:rgba(63,131,248,var(--text-opacity))}.focus-within\:text-blue-600:focus-within{--text-opacity:1;color:#1c64f2;color:rgba(28,100,242,var(--text-opacity))}.focus-within\:text-blue-700:focus-within{--text-opacity:1;color:#1a56db;color:rgba(26,86,219,var(--text-opacity))}.focus-within\:text-blue-800:focus-within{--text-opacity:1;color:#1e429f;color:rgba(30,66,159,var(--text-opacity))}.focus-within\:text-blue-900:focus-within{--text-opacity:1;color:#233876;color:rgba(35,56,118,var(--text-opacity))}.focus-within\:text-indigo-50:focus-within{--text-opacity:1;color:#f0f5ff;color:rgba(240,245,255,var(--text-opacity))}.focus-within\:text-indigo-100:focus-within{--text-opacity:1;color:#e5edff;color:rgba(229,237,255,var(--text-opacity))}.focus-within\:text-indigo-200:focus-within{--text-opacity:1;color:#cddbfe;color:rgba(205,219,254,var(--text-opacity))}.focus-within\:text-indigo-300:focus-within{--text-opacity:1;color:#b4c6fc;color:rgba(180,198,252,var(--text-opacity))}.focus-within\:text-indigo-400:focus-within{--text-opacity:1;color:#8da2fb;color:rgba(141,162,251,var(--text-opacity))}.focus-within\:text-indigo-500:focus-within{--text-opacity:1;color:#6875f5;color:rgba(104,117,245,var(--text-opacity))}.focus-within\:text-indigo-600:focus-within{--text-opacity:1;color:#5850ec;color:rgba(88,80,236,var(--text-opacity))}.focus-within\:text-indigo-700:focus-within{--text-opacity:1;color:#5145cd;color:rgba(81,69,205,var(--text-opacity))}.focus-within\:text-indigo-800:focus-within{--text-opacity:1;color:#42389d;color:rgba(66,56,157,var(--text-opacity))}.focus-within\:text-indigo-900:focus-within{--text-opacity:1;color:#362f78;color:rgba(54,47,120,var(--text-opacity))}.focus-within\:text-purple-50:focus-within{--text-opacity:1;color:#f6f5ff;color:rgba(246,245,255,var(--text-opacity))}.focus-within\:text-purple-100:focus-within{--text-opacity:1;color:#edebfe;color:rgba(237,235,254,var(--text-opacity))}.focus-within\:text-purple-200:focus-within{--text-opacity:1;color:#dcd7fe;color:rgba(220,215,254,var(--text-opacity))}.focus-within\:text-purple-300:focus-within{--text-opacity:1;color:#cabffd;color:rgba(202,191,253,var(--text-opacity))}.focus-within\:text-purple-400:focus-within{--text-opacity:1;color:#ac94fa;color:rgba(172,148,250,var(--text-opacity))}.focus-within\:text-purple-500:focus-within{--text-opacity:1;color:#9061f9;color:rgba(144,97,249,var(--text-opacity))}.focus-within\:text-purple-600:focus-within{--text-opacity:1;color:#7e3af2;color:rgba(126,58,242,var(--text-opacity))}.focus-within\:text-purple-700:focus-within{--text-opacity:1;color:#6c2bd9;color:rgba(108,43,217,var(--text-opacity))}.focus-within\:text-purple-800:focus-within{--text-opacity:1;color:#5521b5;color:rgba(85,33,181,var(--text-opacity))}.focus-within\:text-purple-900:focus-within{--text-opacity:1;color:#4a1d96;color:rgba(74,29,150,var(--text-opacity))}.focus-within\:text-pink-50:focus-within{--text-opacity:1;color:#fdf2f8;color:rgba(253,242,248,var(--text-opacity))}.focus-within\:text-pink-100:focus-within{--text-opacity:1;color:#fce8f3;color:rgba(252,232,243,var(--text-opacity))}.focus-within\:text-pink-200:focus-within{--text-opacity:1;color:#fad1e8;color:rgba(250,209,232,var(--text-opacity))}.focus-within\:text-pink-300:focus-within{--text-opacity:1;color:#f8b4d9;color:rgba(248,180,217,var(--text-opacity))}.focus-within\:text-pink-400:focus-within{--text-opacity:1;color:#f17eb8;color:rgba(241,126,184,var(--text-opacity))}.focus-within\:text-pink-500:focus-within{--text-opacity:1;color:#e74694;color:rgba(231,70,148,var(--text-opacity))}.focus-within\:text-pink-600:focus-within{--text-opacity:1;color:#d61f69;color:rgba(214,31,105,var(--text-opacity))}.focus-within\:text-pink-700:focus-within{--text-opacity:1;color:#bf125d;color:rgba(191,18,93,var(--text-opacity))}.focus-within\:text-pink-800:focus-within{--text-opacity:1;color:#99154b;color:rgba(153,21,75,var(--text-opacity))}.focus-within\:text-pink-900:focus-within{--text-opacity:1;color:#751a3d;color:rgba(117,26,61,var(--text-opacity))}.focus\:text-transparent:focus{color:transparent}.focus\:text-white:focus{--text-opacity:1;color:#fff;color:rgba(255,255,255,var(--text-opacity))}.focus\:text-black:focus{--text-opacity:1;color:#000;color:rgba(0,0,0,var(--text-opacity))}.focus\:text-gray-50:focus{--text-opacity:1;color:#f9fafb;color:rgba(249,250,251,var(--text-opacity))}.focus\:text-gray-100:focus{--text-opacity:1;color:#f4f5f7;color:rgba(244,245,247,var(--text-opacity))}.focus\:text-gray-200:focus{--text-opacity:1;color:#e5e7eb;color:rgba(229,231,235,var(--text-opacity))}.focus\:text-gray-300:focus{--text-opacity:1;color:#d2d6dc;color:rgba(210,214,220,var(--text-opacity))}.focus\:text-gray-400:focus{--text-opacity:1;color:#9fa6b2;color:rgba(159,166,178,var(--text-opacity))}.focus\:text-gray-500:focus{--text-opacity:1;color:#6b7280;color:rgba(107,114,128,var(--text-opacity))}.focus\:text-gray-600:focus{--text-opacity:1;color:#4b5563;color:rgba(75,85,99,var(--text-opacity))}.focus\:text-gray-700:focus{--text-opacity:1;color:#374151;color:rgba(55,65,81,var(--text-opacity))}.focus\:text-gray-800:focus{--text-opacity:1;color:#252f3f;color:rgba(37,47,63,var(--text-opacity))}.focus\:text-gray-900:focus{--text-opacity:1;color:#161e2e;color:rgba(22,30,46,var(--text-opacity))}.focus\:text-cool-gray-50:focus{--text-opacity:1;color:#f8fafc;color:rgba(248,250,252,var(--text-opacity))}.focus\:text-cool-gray-100:focus{--text-opacity:1;color:#f1f5f9;color:rgba(241,245,249,var(--text-opacity))}.focus\:text-cool-gray-200:focus{--text-opacity:1;color:#e2e8f0;color:rgba(226,232,240,var(--text-opacity))}.focus\:text-cool-gray-300:focus{--text-opacity:1;color:#cfd8e3;color:rgba(207,216,227,var(--text-opacity))}.focus\:text-cool-gray-400:focus{--text-opacity:1;color:#97a6ba;color:rgba(151,166,186,var(--text-opacity))}.focus\:text-cool-gray-500:focus{--text-opacity:1;color:#64748b;color:rgba(100,116,139,var(--text-opacity))}.focus\:text-cool-gray-600:focus{--text-opacity:1;color:#475569;color:rgba(71,85,105,var(--text-opacity))}.focus\:text-cool-gray-700:focus{--text-opacity:1;color:#364152;color:rgba(54,65,82,var(--text-opacity))}.focus\:text-cool-gray-800:focus{--text-opacity:1;color:#27303f;color:rgba(39,48,63,var(--text-opacity))}.focus\:text-cool-gray-900:focus{--text-opacity:1;color:#1a202e;color:rgba(26,32,46,var(--text-opacity))}.focus\:text-red-50:focus{--text-opacity:1;color:#fdf2f2;color:rgba(253,242,242,var(--text-opacity))}.focus\:text-red-100:focus{--text-opacity:1;color:#fde8e8;color:rgba(253,232,232,var(--text-opacity))}.focus\:text-red-200:focus{--text-opacity:1;color:#fbd5d5;color:rgba(251,213,213,var(--text-opacity))}.focus\:text-red-300:focus{--text-opacity:1;color:#f8b4b4;color:rgba(248,180,180,var(--text-opacity))}.focus\:text-red-400:focus{--text-opacity:1;color:#f98080;color:rgba(249,128,128,var(--text-opacity))}.focus\:text-red-500:focus{--text-opacity:1;color:#f05252;color:rgba(240,82,82,var(--text-opacity))}.focus\:text-red-600:focus{--text-opacity:1;color:#e02424;color:rgba(224,36,36,var(--text-opacity))}.focus\:text-red-700:focus{--text-opacity:1;color:#c81e1e;color:rgba(200,30,30,var(--text-opacity))}.focus\:text-red-800:focus{--text-opacity:1;color:#9b1c1c;color:rgba(155,28,28,var(--text-opacity))}.focus\:text-red-900:focus{--text-opacity:1;color:#771d1d;color:rgba(119,29,29,var(--text-opacity))}.focus\:text-orange-50:focus{--text-opacity:1;color:#fff8f1;color:rgba(255,248,241,var(--text-opacity))}.focus\:text-orange-100:focus{--text-opacity:1;color:#feecdc;color:rgba(254,236,220,var(--text-opacity))}.focus\:text-orange-200:focus{--text-opacity:1;color:#fcd9bd;color:rgba(252,217,189,var(--text-opacity))}.focus\:text-orange-300:focus{--text-opacity:1;color:#fdba8c;color:rgba(253,186,140,var(--text-opacity))}.focus\:text-orange-400:focus{--text-opacity:1;color:#ff8a4c;color:rgba(255,138,76,var(--text-opacity))}.focus\:text-orange-500:focus{--text-opacity:1;color:#ff5a1f;color:rgba(255,90,31,var(--text-opacity))}.focus\:text-orange-600:focus{--text-opacity:1;color:#d03801;color:rgba(208,56,1,var(--text-opacity))}.focus\:text-orange-700:focus{--text-opacity:1;color:#b43403;color:rgba(180,52,3,var(--text-opacity))}.focus\:text-orange-800:focus{--text-opacity:1;color:#8a2c0d;color:rgba(138,44,13,var(--text-opacity))}.focus\:text-orange-900:focus{--text-opacity:1;color:#73230d;color:rgba(115,35,13,var(--text-opacity))}.focus\:text-yellow-50:focus{--text-opacity:1;color:#fdfdea;color:rgba(253,253,234,var(--text-opacity))}.focus\:text-yellow-100:focus{--text-opacity:1;color:#fdf6b2;color:rgba(253,246,178,var(--text-opacity))}.focus\:text-yellow-200:focus{--text-opacity:1;color:#fce96a;color:rgba(252,233,106,var(--text-opacity))}.focus\:text-yellow-300:focus{--text-opacity:1;color:#faca15;color:rgba(250,202,21,var(--text-opacity))}.focus\:text-yellow-400:focus{--text-opacity:1;color:#e3a008;color:rgba(227,160,8,var(--text-opacity))}.focus\:text-yellow-500:focus{--text-opacity:1;color:#c27803;color:rgba(194,120,3,var(--text-opacity))}.focus\:text-yellow-600:focus{--text-opacity:1;color:#9f580a;color:rgba(159,88,10,var(--text-opacity))}.focus\:text-yellow-700:focus{--text-opacity:1;color:#8e4b10;color:rgba(142,75,16,var(--text-opacity))}.focus\:text-yellow-800:focus{--text-opacity:1;color:#723b13;color:rgba(114,59,19,var(--text-opacity))}.focus\:text-yellow-900:focus{--text-opacity:1;color:#633112;color:rgba(99,49,18,var(--text-opacity))}.focus\:text-green-50:focus{--text-opacity:1;color:#f3faf7;color:rgba(243,250,247,var(--text-opacity))}.focus\:text-green-100:focus{--text-opacity:1;color:#def7ec;color:rgba(222,247,236,var(--text-opacity))}.focus\:text-green-200:focus{--text-opacity:1;color:#bcf0da;color:rgba(188,240,218,var(--text-opacity))}.focus\:text-green-300:focus{--text-opacity:1;color:#84e1bc;color:rgba(132,225,188,var(--text-opacity))}.focus\:text-green-400:focus{--text-opacity:1;color:#31c48d;color:rgba(49,196,141,var(--text-opacity))}.focus\:text-green-500:focus{--text-opacity:1;color:#0e9f6e;color:rgba(14,159,110,var(--text-opacity))}.focus\:text-green-600:focus{--text-opacity:1;color:#057a55;color:rgba(5,122,85,var(--text-opacity))}.focus\:text-green-700:focus{--text-opacity:1;color:#046c4e;color:rgba(4,108,78,var(--text-opacity))}.focus\:text-green-800:focus{--text-opacity:1;color:#03543f;color:rgba(3,84,63,var(--text-opacity))}.focus\:text-green-900:focus{--text-opacity:1;color:#014737;color:rgba(1,71,55,var(--text-opacity))}.focus\:text-teal-50:focus{--text-opacity:1;color:#edfafa;color:rgba(237,250,250,var(--text-opacity))}.focus\:text-teal-100:focus{--text-opacity:1;color:#d5f5f6;color:rgba(213,245,246,var(--text-opacity))}.focus\:text-teal-200:focus{--text-opacity:1;color:#afecef;color:rgba(175,236,239,var(--text-opacity))}.focus\:text-teal-300:focus{--text-opacity:1;color:#7edce2;color:rgba(126,220,226,var(--text-opacity))}.focus\:text-teal-400:focus{--text-opacity:1;color:#16bdca;color:rgba(22,189,202,var(--text-opacity))}.focus\:text-teal-500:focus{--text-opacity:1;color:#0694a2;color:rgba(6,148,162,var(--text-opacity))}.focus\:text-teal-600:focus{--text-opacity:1;color:#047481;color:rgba(4,116,129,var(--text-opacity))}.focus\:text-teal-700:focus{--text-opacity:1;color:#036672;color:rgba(3,102,114,var(--text-opacity))}.focus\:text-teal-800:focus{--text-opacity:1;color:#05505c;color:rgba(5,80,92,var(--text-opacity))}.focus\:text-teal-900:focus{--text-opacity:1;color:#014451;color:rgba(1,68,81,var(--text-opacity))}.focus\:text-blue-50:focus{--text-opacity:1;color:#ebf5ff;color:rgba(235,245,255,var(--text-opacity))}.focus\:text-blue-100:focus{--text-opacity:1;color:#e1effe;color:rgba(225,239,254,var(--text-opacity))}.focus\:text-blue-200:focus{--text-opacity:1;color:#c3ddfd;color:rgba(195,221,253,var(--text-opacity))}.focus\:text-blue-300:focus{--text-opacity:1;color:#a4cafe;color:rgba(164,202,254,var(--text-opacity))}.focus\:text-blue-400:focus{--text-opacity:1;color:#76a9fa;color:rgba(118,169,250,var(--text-opacity))}.focus\:text-blue-500:focus{--text-opacity:1;color:#3f83f8;color:rgba(63,131,248,var(--text-opacity))}.focus\:text-blue-600:focus{--text-opacity:1;color:#1c64f2;color:rgba(28,100,242,var(--text-opacity))}.focus\:text-blue-700:focus{--text-opacity:1;color:#1a56db;color:rgba(26,86,219,var(--text-opacity))}.focus\:text-blue-800:focus{--text-opacity:1;color:#1e429f;color:rgba(30,66,159,var(--text-opacity))}.focus\:text-blue-900:focus{--text-opacity:1;color:#233876;color:rgba(35,56,118,var(--text-opacity))}.focus\:text-indigo-50:focus{--text-opacity:1;color:#f0f5ff;color:rgba(240,245,255,var(--text-opacity))}.focus\:text-indigo-100:focus{--text-opacity:1;color:#e5edff;color:rgba(229,237,255,var(--text-opacity))}.focus\:text-indigo-200:focus{--text-opacity:1;color:#cddbfe;color:rgba(205,219,254,var(--text-opacity))}.focus\:text-indigo-300:focus{--text-opacity:1;color:#b4c6fc;color:rgba(180,198,252,var(--text-opacity))}.focus\:text-indigo-400:focus{--text-opacity:1;color:#8da2fb;color:rgba(141,162,251,var(--text-opacity))}.focus\:text-indigo-500:focus{--text-opacity:1;color:#6875f5;color:rgba(104,117,245,var(--text-opacity))}.focus\:text-indigo-600:focus{--text-opacity:1;color:#5850ec;color:rgba(88,80,236,var(--text-opacity))}.focus\:text-indigo-700:focus{--text-opacity:1;color:#5145cd;color:rgba(81,69,205,var(--text-opacity))}.focus\:text-indigo-800:focus{--text-opacity:1;color:#42389d;color:rgba(66,56,157,var(--text-opacity))}.focus\:text-indigo-900:focus{--text-opacity:1;color:#362f78;color:rgba(54,47,120,var(--text-opacity))}.focus\:text-purple-50:focus{--text-opacity:1;color:#f6f5ff;color:rgba(246,245,255,var(--text-opacity))}.focus\:text-purple-100:focus{--text-opacity:1;color:#edebfe;color:rgba(237,235,254,var(--text-opacity))}.focus\:text-purple-200:focus{--text-opacity:1;color:#dcd7fe;color:rgba(220,215,254,var(--text-opacity))}.focus\:text-purple-300:focus{--text-opacity:1;color:#cabffd;color:rgba(202,191,253,var(--text-opacity))}.focus\:text-purple-400:focus{--text-opacity:1;color:#ac94fa;color:rgba(172,148,250,var(--text-opacity))}.focus\:text-purple-500:focus{--text-opacity:1;color:#9061f9;color:rgba(144,97,249,var(--text-opacity))}.focus\:text-purple-600:focus{--text-opacity:1;color:#7e3af2;color:rgba(126,58,242,var(--text-opacity))}.focus\:text-purple-700:focus{--text-opacity:1;color:#6c2bd9;color:rgba(108,43,217,var(--text-opacity))}.focus\:text-purple-800:focus{--text-opacity:1;color:#5521b5;color:rgba(85,33,181,var(--text-opacity))}.focus\:text-purple-900:focus{--text-opacity:1;color:#4a1d96;color:rgba(74,29,150,var(--text-opacity))}.focus\:text-pink-50:focus{--text-opacity:1;color:#fdf2f8;color:rgba(253,242,248,var(--text-opacity))}.focus\:text-pink-100:focus{--text-opacity:1;color:#fce8f3;color:rgba(252,232,243,var(--text-opacity))}.focus\:text-pink-200:focus{--text-opacity:1;color:#fad1e8;color:rgba(250,209,232,var(--text-opacity))}.focus\:text-pink-300:focus{--text-opacity:1;color:#f8b4d9;color:rgba(248,180,217,var(--text-opacity))}.focus\:text-pink-400:focus{--text-opacity:1;color:#f17eb8;color:rgba(241,126,184,var(--text-opacity))}.focus\:text-pink-500:focus{--text-opacity:1;color:#e74694;color:rgba(231,70,148,var(--text-opacity))}.focus\:text-pink-600:focus{--text-opacity:1;color:#d61f69;color:rgba(214,31,105,var(--text-opacity))}.focus\:text-pink-700:focus{--text-opacity:1;color:#bf125d;color:rgba(191,18,93,var(--text-opacity))}.focus\:text-pink-800:focus{--text-opacity:1;color:#99154b;color:rgba(153,21,75,var(--text-opacity))}.focus\:text-pink-900:focus{--text-opacity:1;color:#751a3d;color:rgba(117,26,61,var(--text-opacity))}.active\:text-transparent:active{color:transparent}.active\:text-white:active{--text-opacity:1;color:#fff;color:rgba(255,255,255,var(--text-opacity))}.active\:text-black:active{--text-opacity:1;color:#000;color:rgba(0,0,0,var(--text-opacity))}.active\:text-gray-50:active{--text-opacity:1;color:#f9fafb;color:rgba(249,250,251,var(--text-opacity))}.active\:text-gray-100:active{--text-opacity:1;color:#f4f5f7;color:rgba(244,245,247,var(--text-opacity))}.active\:text-gray-200:active{--text-opacity:1;color:#e5e7eb;color:rgba(229,231,235,var(--text-opacity))}.active\:text-gray-300:active{--text-opacity:1;color:#d2d6dc;color:rgba(210,214,220,var(--text-opacity))}.active\:text-gray-400:active{--text-opacity:1;color:#9fa6b2;color:rgba(159,166,178,var(--text-opacity))}.active\:text-gray-500:active{--text-opacity:1;color:#6b7280;color:rgba(107,114,128,var(--text-opacity))}.active\:text-gray-600:active{--text-opacity:1;color:#4b5563;color:rgba(75,85,99,var(--text-opacity))}.active\:text-gray-700:active{--text-opacity:1;color:#374151;color:rgba(55,65,81,var(--text-opacity))}.active\:text-gray-800:active{--text-opacity:1;color:#252f3f;color:rgba(37,47,63,var(--text-opacity))}.active\:text-gray-900:active{--text-opacity:1;color:#161e2e;color:rgba(22,30,46,var(--text-opacity))}.active\:text-cool-gray-50:active{--text-opacity:1;color:#f8fafc;color:rgba(248,250,252,var(--text-opacity))}.active\:text-cool-gray-100:active{--text-opacity:1;color:#f1f5f9;color:rgba(241,245,249,var(--text-opacity))}.active\:text-cool-gray-200:active{--text-opacity:1;color:#e2e8f0;color:rgba(226,232,240,var(--text-opacity))}.active\:text-cool-gray-300:active{--text-opacity:1;color:#cfd8e3;color:rgba(207,216,227,var(--text-opacity))}.active\:text-cool-gray-400:active{--text-opacity:1;color:#97a6ba;color:rgba(151,166,186,var(--text-opacity))}.active\:text-cool-gray-500:active{--text-opacity:1;color:#64748b;color:rgba(100,116,139,var(--text-opacity))}.active\:text-cool-gray-600:active{--text-opacity:1;color:#475569;color:rgba(71,85,105,var(--text-opacity))}.active\:text-cool-gray-700:active{--text-opacity:1;color:#364152;color:rgba(54,65,82,var(--text-opacity))}.active\:text-cool-gray-800:active{--text-opacity:1;color:#27303f;color:rgba(39,48,63,var(--text-opacity))}.active\:text-cool-gray-900:active{--text-opacity:1;color:#1a202e;color:rgba(26,32,46,var(--text-opacity))}.active\:text-red-50:active{--text-opacity:1;color:#fdf2f2;color:rgba(253,242,242,var(--text-opacity))}.active\:text-red-100:active{--text-opacity:1;color:#fde8e8;color:rgba(253,232,232,var(--text-opacity))}.active\:text-red-200:active{--text-opacity:1;color:#fbd5d5;color:rgba(251,213,213,var(--text-opacity))}.active\:text-red-300:active{--text-opacity:1;color:#f8b4b4;color:rgba(248,180,180,var(--text-opacity))}.active\:text-red-400:active{--text-opacity:1;color:#f98080;color:rgba(249,128,128,var(--text-opacity))}.active\:text-red-500:active{--text-opacity:1;color:#f05252;color:rgba(240,82,82,var(--text-opacity))}.active\:text-red-600:active{--text-opacity:1;color:#e02424;color:rgba(224,36,36,var(--text-opacity))}.active\:text-red-700:active{--text-opacity:1;color:#c81e1e;color:rgba(200,30,30,var(--text-opacity))}.active\:text-red-800:active{--text-opacity:1;color:#9b1c1c;color:rgba(155,28,28,var(--text-opacity))}.active\:text-red-900:active{--text-opacity:1;color:#771d1d;color:rgba(119,29,29,var(--text-opacity))}.active\:text-orange-50:active{--text-opacity:1;color:#fff8f1;color:rgba(255,248,241,var(--text-opacity))}.active\:text-orange-100:active{--text-opacity:1;color:#feecdc;color:rgba(254,236,220,var(--text-opacity))}.active\:text-orange-200:active{--text-opacity:1;color:#fcd9bd;color:rgba(252,217,189,var(--text-opacity))}.active\:text-orange-300:active{--text-opacity:1;color:#fdba8c;color:rgba(253,186,140,var(--text-opacity))}.active\:text-orange-400:active{--text-opacity:1;color:#ff8a4c;color:rgba(255,138,76,var(--text-opacity))}.active\:text-orange-500:active{--text-opacity:1;color:#ff5a1f;color:rgba(255,90,31,var(--text-opacity))}.active\:text-orange-600:active{--text-opacity:1;color:#d03801;color:rgba(208,56,1,var(--text-opacity))}.active\:text-orange-700:active{--text-opacity:1;color:#b43403;color:rgba(180,52,3,var(--text-opacity))}.active\:text-orange-800:active{--text-opacity:1;color:#8a2c0d;color:rgba(138,44,13,var(--text-opacity))}.active\:text-orange-900:active{--text-opacity:1;color:#73230d;color:rgba(115,35,13,var(--text-opacity))}.active\:text-yellow-50:active{--text-opacity:1;color:#fdfdea;color:rgba(253,253,234,var(--text-opacity))}.active\:text-yellow-100:active{--text-opacity:1;color:#fdf6b2;color:rgba(253,246,178,var(--text-opacity))}.active\:text-yellow-200:active{--text-opacity:1;color:#fce96a;color:rgba(252,233,106,var(--text-opacity))}.active\:text-yellow-300:active{--text-opacity:1;color:#faca15;color:rgba(250,202,21,var(--text-opacity))}.active\:text-yellow-400:active{--text-opacity:1;color:#e3a008;color:rgba(227,160,8,var(--text-opacity))}.active\:text-yellow-500:active{--text-opacity:1;color:#c27803;color:rgba(194,120,3,var(--text-opacity))}.active\:text-yellow-600:active{--text-opacity:1;color:#9f580a;color:rgba(159,88,10,var(--text-opacity))}.active\:text-yellow-700:active{--text-opacity:1;color:#8e4b10;color:rgba(142,75,16,var(--text-opacity))}.active\:text-yellow-800:active{--text-opacity:1;color:#723b13;color:rgba(114,59,19,var(--text-opacity))}.active\:text-yellow-900:active{--text-opacity:1;color:#633112;color:rgba(99,49,18,var(--text-opacity))}.active\:text-green-50:active{--text-opacity:1;color:#f3faf7;color:rgba(243,250,247,var(--text-opacity))}.active\:text-green-100:active{--text-opacity:1;color:#def7ec;color:rgba(222,247,236,var(--text-opacity))}.active\:text-green-200:active{--text-opacity:1;color:#bcf0da;color:rgba(188,240,218,var(--text-opacity))}.active\:text-green-300:active{--text-opacity:1;color:#84e1bc;color:rgba(132,225,188,var(--text-opacity))}.active\:text-green-400:active{--text-opacity:1;color:#31c48d;color:rgba(49,196,141,var(--text-opacity))}.active\:text-green-500:active{--text-opacity:1;color:#0e9f6e;color:rgba(14,159,110,var(--text-opacity))}.active\:text-green-600:active{--text-opacity:1;color:#057a55;color:rgba(5,122,85,var(--text-opacity))}.active\:text-green-700:active{--text-opacity:1;color:#046c4e;color:rgba(4,108,78,var(--text-opacity))}.active\:text-green-800:active{--text-opacity:1;color:#03543f;color:rgba(3,84,63,var(--text-opacity))}.active\:text-green-900:active{--text-opacity:1;color:#014737;color:rgba(1,71,55,var(--text-opacity))}.active\:text-teal-50:active{--text-opacity:1;color:#edfafa;color:rgba(237,250,250,var(--text-opacity))}.active\:text-teal-100:active{--text-opacity:1;color:#d5f5f6;color:rgba(213,245,246,var(--text-opacity))}.active\:text-teal-200:active{--text-opacity:1;color:#afecef;color:rgba(175,236,239,var(--text-opacity))}.active\:text-teal-300:active{--text-opacity:1;color:#7edce2;color:rgba(126,220,226,var(--text-opacity))}.active\:text-teal-400:active{--text-opacity:1;color:#16bdca;color:rgba(22,189,202,var(--text-opacity))}.active\:text-teal-500:active{--text-opacity:1;color:#0694a2;color:rgba(6,148,162,var(--text-opacity))}.active\:text-teal-600:active{--text-opacity:1;color:#047481;color:rgba(4,116,129,var(--text-opacity))}.active\:text-teal-700:active{--text-opacity:1;color:#036672;color:rgba(3,102,114,var(--text-opacity))}.active\:text-teal-800:active{--text-opacity:1;color:#05505c;color:rgba(5,80,92,var(--text-opacity))}.active\:text-teal-900:active{--text-opacity:1;color:#014451;color:rgba(1,68,81,var(--text-opacity))}.active\:text-blue-50:active{--text-opacity:1;color:#ebf5ff;color:rgba(235,245,255,var(--text-opacity))}.active\:text-blue-100:active{--text-opacity:1;color:#e1effe;color:rgba(225,239,254,var(--text-opacity))}.active\:text-blue-200:active{--text-opacity:1;color:#c3ddfd;color:rgba(195,221,253,var(--text-opacity))}.active\:text-blue-300:active{--text-opacity:1;color:#a4cafe;color:rgba(164,202,254,var(--text-opacity))}.active\:text-blue-400:active{--text-opacity:1;color:#76a9fa;color:rgba(118,169,250,var(--text-opacity))}.active\:text-blue-500:active{--text-opacity:1;color:#3f83f8;color:rgba(63,131,248,var(--text-opacity))}.active\:text-blue-600:active{--text-opacity:1;color:#1c64f2;color:rgba(28,100,242,var(--text-opacity))}.active\:text-blue-700:active{--text-opacity:1;color:#1a56db;color:rgba(26,86,219,var(--text-opacity))}.active\:text-blue-800:active{--text-opacity:1;color:#1e429f;color:rgba(30,66,159,var(--text-opacity))}.active\:text-blue-900:active{--text-opacity:1;color:#233876;color:rgba(35,56,118,var(--text-opacity))}.active\:text-indigo-50:active{--text-opacity:1;color:#f0f5ff;color:rgba(240,245,255,var(--text-opacity))}.active\:text-indigo-100:active{--text-opacity:1;color:#e5edff;color:rgba(229,237,255,var(--text-opacity))}.active\:text-indigo-200:active{--text-opacity:1;color:#cddbfe;color:rgba(205,219,254,var(--text-opacity))}.active\:text-indigo-300:active{--text-opacity:1;color:#b4c6fc;color:rgba(180,198,252,var(--text-opacity))}.active\:text-indigo-400:active{--text-opacity:1;color:#8da2fb;color:rgba(141,162,251,var(--text-opacity))}.active\:text-indigo-500:active{--text-opacity:1;color:#6875f5;color:rgba(104,117,245,var(--text-opacity))}.active\:text-indigo-600:active{--text-opacity:1;color:#5850ec;color:rgba(88,80,236,var(--text-opacity))}.active\:text-indigo-700:active{--text-opacity:1;color:#5145cd;color:rgba(81,69,205,var(--text-opacity))}.active\:text-indigo-800:active{--text-opacity:1;color:#42389d;color:rgba(66,56,157,var(--text-opacity))}.active\:text-indigo-900:active{--text-opacity:1;color:#362f78;color:rgba(54,47,120,var(--text-opacity))}.active\:text-purple-50:active{--text-opacity:1;color:#f6f5ff;color:rgba(246,245,255,var(--text-opacity))}.active\:text-purple-100:active{--text-opacity:1;color:#edebfe;color:rgba(237,235,254,var(--text-opacity))}.active\:text-purple-200:active{--text-opacity:1;color:#dcd7fe;color:rgba(220,215,254,var(--text-opacity))}.active\:text-purple-300:active{--text-opacity:1;color:#cabffd;color:rgba(202,191,253,var(--text-opacity))}.active\:text-purple-400:active{--text-opacity:1;color:#ac94fa;color:rgba(172,148,250,var(--text-opacity))}.active\:text-purple-500:active{--text-opacity:1;color:#9061f9;color:rgba(144,97,249,var(--text-opacity))}.active\:text-purple-600:active{--text-opacity:1;color:#7e3af2;color:rgba(126,58,242,var(--text-opacity))}.active\:text-purple-700:active{--text-opacity:1;color:#6c2bd9;color:rgba(108,43,217,var(--text-opacity))}.active\:text-purple-800:active{--text-opacity:1;color:#5521b5;color:rgba(85,33,181,var(--text-opacity))}.active\:text-purple-900:active{--text-opacity:1;color:#4a1d96;color:rgba(74,29,150,var(--text-opacity))}.active\:text-pink-50:active{--text-opacity:1;color:#fdf2f8;color:rgba(253,242,248,var(--text-opacity))}.active\:text-pink-100:active{--text-opacity:1;color:#fce8f3;color:rgba(252,232,243,var(--text-opacity))}.active\:text-pink-200:active{--text-opacity:1;color:#fad1e8;color:rgba(250,209,232,var(--text-opacity))}.active\:text-pink-300:active{--text-opacity:1;color:#f8b4d9;color:rgba(248,180,217,var(--text-opacity))}.active\:text-pink-400:active{--text-opacity:1;color:#f17eb8;color:rgba(241,126,184,var(--text-opacity))}.active\:text-pink-500:active{--text-opacity:1;color:#e74694;color:rgba(231,70,148,var(--text-opacity))}.active\:text-pink-600:active{--text-opacity:1;color:#d61f69;color:rgba(214,31,105,var(--text-opacity))}.active\:text-pink-700:active{--text-opacity:1;color:#bf125d;color:rgba(191,18,93,var(--text-opacity))}.active\:text-pink-800:active{--text-opacity:1;color:#99154b;color:rgba(153,21,75,var(--text-opacity))}.active\:text-pink-900:active{--text-opacity:1;color:#751a3d;color:rgba(117,26,61,var(--text-opacity))}.text-opacity-0{--text-opacity:0}.text-opacity-25{--text-opacity:0.25}.text-opacity-50{--text-opacity:0.5}.text-opacity-75{--text-opacity:0.75}.text-opacity-100{--text-opacity:1}.hover\:text-opacity-0:hover{--text-opacity:0}.hover\:text-opacity-25:hover{--text-opacity:0.25}.hover\:text-opacity-50:hover{--text-opacity:0.5}.hover\:text-opacity-75:hover{--text-opacity:0.75}.hover\:text-opacity-100:hover{--text-opacity:1}.focus\:text-opacity-0:focus{--text-opacity:0}.focus\:text-opacity-25:focus{--text-opacity:0.25}.focus\:text-opacity-50:focus{--text-opacity:0.5}.focus\:text-opacity-75:focus{--text-opacity:0.75}.focus\:text-opacity-100:focus{--text-opacity:1}.italic{font-style:italic}.not-italic{font-style:normal}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.capitalize{text-transform:capitalize}.normal-case{text-transform:none}.underline{text-decoration:underline}.line-through{text-decoration:line-through}.no-underline{text-decoration:none}.group:hover .group-hover\:underline{text-decoration:underline}.group:hover .group-hover\:line-through{text-decoration:line-through}.group:hover .group-hover\:no-underline{text-decoration:none}.group:focus .group-focus\:underline{text-decoration:underline}.group:focus .group-focus\:line-through{text-decoration:line-through}.group:focus .group-focus\:no-underline{text-decoration:none}.hover\:underline:hover{text-decoration:underline}.hover\:line-through:hover{text-decoration:line-through}.hover\:no-underline:hover{text-decoration:none}.focus\:underline:focus{text-decoration:underline}.focus\:line-through:focus{text-decoration:line-through}.focus\:no-underline:focus{text-decoration:none}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.subpixel-antialiased{-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}.tracking-tighter{letter-spacing:-.05em}.tracking-tight{letter-spacing:-.025em}.tracking-normal{letter-spacing:0}.tracking-wide{letter-spacing:.025em}.tracking-wider{letter-spacing:.05em}.tracking-widest{letter-spacing:.1em}.select-none{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.select-text{-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text}.select-all{-webkit-user-select:all;-moz-user-select:all;-ms-user-select:all;user-select:all}.select-auto{-webkit-user-select:auto;-moz-user-select:auto;-ms-user-select:auto;user-select:auto}.align-baseline{vertical-align:baseline}.align-top{vertical-align:top}.align-middle{vertical-align:middle}.align-bottom{vertical-align:bottom}.align-text-top{vertical-align:text-top}.align-text-bottom{vertical-align:text-bottom}.visible{visibility:visible}.invisible{visibility:hidden}.whitespace-normal{white-space:normal}.whitespace-no-wrap{white-space:nowrap}.whitespace-pre{white-space:pre}.whitespace-pre-line{white-space:pre-line}.whitespace-pre-wrap{white-space:pre-wrap}.break-normal{overflow-wrap:normal;word-break:normal}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.w-0{width:0}.w-1{width:.25rem}.w-2{width:.5rem}.w-3{width:.75rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-7{width:1.75rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-10{width:2.5rem}.w-11{width:2.75rem}.w-12{width:3rem}.w-13{width:3.25rem}.w-14{width:3.5rem}.w-15{width:3.75rem}.w-16{width:4rem}.w-20{width:5rem}.w-24{width:6rem}.w-28{width:7rem}.w-32{width:8rem}.w-36{width:9rem}.w-40{width:10rem}.w-44{width:11rem}.w-48{width:12rem}.w-52{width:13rem}.w-56{width:14rem}.w-60{width:15rem}.w-64{width:16rem}.w-72{width:18rem}.w-80{width:20rem}.w-96{width:24rem}.w-auto{width:auto}.w-px{width:1px}.w-0\.5{width:.125rem}.w-1\.5{width:.375rem}.w-2\.5{width:.625rem}.w-3\.5{width:.875rem}.w-1\/2{width:50%}.w-1\/3{width:33.333333%}.w-2\/3{width:66.666667%}.w-1\/4{width:25%}.w-2\/4{width:50%}.w-3\/4{width:75%}.w-1\/5{width:20%}.w-2\/5{width:40%}.w-3\/5{width:60%}.w-4\/5{width:80%}.w-1\/6{width:16.666667%}.w-2\/6{width:33.333333%}.w-3\/6{width:50%}.w-4\/6{width:66.666667%}.w-5\/6{width:83.333333%}.w-1\/12{width:8.333333%}.w-2\/12{width:16.666667%}.w-3\/12{width:25%}.w-4\/12{width:33.333333%}.w-5\/12{width:41.666667%}.w-6\/12{width:50%}.w-7\/12{width:58.333333%}.w-8\/12{width:66.666667%}.w-9\/12{width:75%}.w-10\/12{width:83.333333%}.w-11\/12{width:91.666667%}.w-full{width:100%}.w-screen{width:100vw}.w-min-content{width:-webkit-min-content;width:-moz-min-content;width:min-content}.w-max-content{width:-webkit-max-content;width:-moz-max-content;width:max-content}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.z-auto{z-index:auto}.focus-within\:z-0:focus-within{z-index:0}.focus-within\:z-10:focus-within{z-index:10}.focus-within\:z-20:focus-within{z-index:20}.focus-within\:z-30:focus-within{z-index:30}.focus-within\:z-40:focus-within{z-index:40}.focus-within\:z-50:focus-within{z-index:50}.focus-within\:z-auto:focus-within{z-index:auto}.focus\:z-0:focus{z-index:0}.focus\:z-10:focus{z-index:10}.focus\:z-20:focus{z-index:20}.focus\:z-30:focus{z-index:30}.focus\:z-40:focus{z-index:40}.focus\:z-50:focus{z-index:50}.focus\:z-auto:focus{z-index:auto}.gap-0{grid-gap:0;gap:0}.gap-1{grid-gap:.25rem;gap:.25rem}.gap-2{grid-gap:.5rem;gap:.5rem}.gap-3{grid-gap:.75rem;gap:.75rem}.gap-4{grid-gap:1rem;gap:1rem}.gap-5{grid-gap:1.25rem;gap:1.25rem}.gap-6{grid-gap:1.5rem;gap:1.5rem}.gap-7{grid-gap:1.75rem;gap:1.75rem}.gap-8{grid-gap:2rem;gap:2rem}.gap-9{grid-gap:2.25rem;gap:2.25rem}.gap-10{grid-gap:2.5rem;gap:2.5rem}.gap-11{grid-gap:2.75rem;gap:2.75rem}.gap-12{grid-gap:3rem;gap:3rem}.gap-13{grid-gap:3.25rem;gap:3.25rem}.gap-14{grid-gap:3.5rem;gap:3.5rem}.gap-15{grid-gap:3.75rem;gap:3.75rem}.gap-16{grid-gap:4rem;gap:4rem}.gap-20{grid-gap:5rem;gap:5rem}.gap-24{grid-gap:6rem;gap:6rem}.gap-28{grid-gap:7rem;gap:7rem}.gap-32{grid-gap:8rem;gap:8rem}.gap-36{grid-gap:9rem;gap:9rem}.gap-40{grid-gap:10rem;gap:10rem}.gap-44{grid-gap:11rem;gap:11rem}.gap-48{grid-gap:12rem;gap:12rem}.gap-52{grid-gap:13rem;gap:13rem}.gap-56{grid-gap:14rem;gap:14rem}.gap-60{grid-gap:15rem;gap:15rem}.gap-64{grid-gap:16rem;gap:16rem}.gap-72{grid-gap:18rem;gap:18rem}.gap-80{grid-gap:20rem;gap:20rem}.gap-96{grid-gap:24rem;gap:24rem}.gap-px{grid-gap:1px;gap:1px}.gap-0\.5{grid-gap:.125rem;gap:.125rem}.gap-1\.5{grid-gap:.375rem;gap:.375rem}.gap-2\.5{grid-gap:.625rem;gap:.625rem}.gap-3\.5{grid-gap:.875rem;gap:.875rem}.gap-1\/2{grid-gap:50%;gap:50%}.gap-1\/3{grid-gap:33.333333%;gap:33.333333%}.gap-2\/3{grid-gap:66.666667%;gap:66.666667%}.gap-1\/4{grid-gap:25%;gap:25%}.gap-2\/4{grid-gap:50%;gap:50%}.gap-3\/4{grid-gap:75%;gap:75%}.gap-1\/5{grid-gap:20%;gap:20%}.gap-2\/5{grid-gap:40%;gap:40%}.gap-3\/5{grid-gap:60%;gap:60%}.gap-4\/5{grid-gap:80%;gap:80%}.gap-1\/6{grid-gap:16.666667%;gap:16.666667%}.gap-2\/6{grid-gap:33.333333%;gap:33.333333%}.gap-3\/6{grid-gap:50%;gap:50%}.gap-4\/6{grid-gap:66.666667%;gap:66.666667%}.gap-5\/6{grid-gap:83.333333%;gap:83.333333%}.gap-1\/12{grid-gap:8.333333%;gap:8.333333%}.gap-2\/12{grid-gap:16.666667%;gap:16.666667%}.gap-3\/12{grid-gap:25%;gap:25%}.gap-4\/12{grid-gap:33.333333%;gap:33.333333%}.gap-5\/12{grid-gap:41.666667%;gap:41.666667%}.gap-6\/12{grid-gap:50%;gap:50%}.gap-7\/12{grid-gap:58.333333%;gap:58.333333%}.gap-8\/12{grid-gap:66.666667%;gap:66.666667%}.gap-9\/12{grid-gap:75%;gap:75%}.gap-10\/12{grid-gap:83.333333%;gap:83.333333%}.gap-11\/12{grid-gap:91.666667%;gap:91.666667%}.gap-full{grid-gap:100%;gap:100%}.col-gap-0{grid-column-gap:0;-moz-column-gap:0;column-gap:0}.col-gap-1{grid-column-gap:.25rem;-moz-column-gap:.25rem;column-gap:.25rem}.col-gap-2{grid-column-gap:.5rem;-moz-column-gap:.5rem;column-gap:.5rem}.col-gap-3{grid-column-gap:.75rem;-moz-column-gap:.75rem;column-gap:.75rem}.col-gap-4{grid-column-gap:1rem;-moz-column-gap:1rem;column-gap:1rem}.col-gap-5{grid-column-gap:1.25rem;-moz-column-gap:1.25rem;column-gap:1.25rem}.col-gap-6{grid-column-gap:1.5rem;-moz-column-gap:1.5rem;column-gap:1.5rem}.col-gap-7{grid-column-gap:1.75rem;-moz-column-gap:1.75rem;column-gap:1.75rem}.col-gap-8{grid-column-gap:2rem;-moz-column-gap:2rem;column-gap:2rem}.col-gap-9{grid-column-gap:2.25rem;-moz-column-gap:2.25rem;column-gap:2.25rem}.col-gap-10{grid-column-gap:2.5rem;-moz-column-gap:2.5rem;column-gap:2.5rem}.col-gap-11{grid-column-gap:2.75rem;-moz-column-gap:2.75rem;column-gap:2.75rem}.col-gap-12{grid-column-gap:3rem;-moz-column-gap:3rem;column-gap:3rem}.col-gap-13{grid-column-gap:3.25rem;-moz-column-gap:3.25rem;column-gap:3.25rem}.col-gap-14{grid-column-gap:3.5rem;-moz-column-gap:3.5rem;column-gap:3.5rem}.col-gap-15{grid-column-gap:3.75rem;-moz-column-gap:3.75rem;column-gap:3.75rem}.col-gap-16{grid-column-gap:4rem;-moz-column-gap:4rem;column-gap:4rem}.col-gap-20{grid-column-gap:5rem;-moz-column-gap:5rem;column-gap:5rem}.col-gap-24{grid-column-gap:6rem;-moz-column-gap:6rem;column-gap:6rem}.col-gap-28{grid-column-gap:7rem;-moz-column-gap:7rem;column-gap:7rem}.col-gap-32{grid-column-gap:8rem;-moz-column-gap:8rem;column-gap:8rem}.col-gap-36{grid-column-gap:9rem;-moz-column-gap:9rem;column-gap:9rem}.col-gap-40{grid-column-gap:10rem;-moz-column-gap:10rem;column-gap:10rem}.col-gap-44{grid-column-gap:11rem;-moz-column-gap:11rem;column-gap:11rem}.col-gap-48{grid-column-gap:12rem;-moz-column-gap:12rem;column-gap:12rem}.col-gap-52{grid-column-gap:13rem;-moz-column-gap:13rem;column-gap:13rem}.col-gap-56{grid-column-gap:14rem;-moz-column-gap:14rem;column-gap:14rem}.col-gap-60{grid-column-gap:15rem;-moz-column-gap:15rem;column-gap:15rem}.col-gap-64{grid-column-gap:16rem;-moz-column-gap:16rem;column-gap:16rem}.col-gap-72{grid-column-gap:18rem;-moz-column-gap:18rem;column-gap:18rem}.col-gap-80{grid-column-gap:20rem;-moz-column-gap:20rem;column-gap:20rem}.col-gap-96{grid-column-gap:24rem;-moz-column-gap:24rem;column-gap:24rem}.col-gap-px{grid-column-gap:1px;-moz-column-gap:1px;column-gap:1px}.col-gap-0\.5{grid-column-gap:.125rem;-moz-column-gap:.125rem;column-gap:.125rem}.col-gap-1\.5{grid-column-gap:.375rem;-moz-column-gap:.375rem;column-gap:.375rem}.col-gap-2\.5{grid-column-gap:.625rem;-moz-column-gap:.625rem;column-gap:.625rem}.col-gap-3\.5{grid-column-gap:.875rem;-moz-column-gap:.875rem;column-gap:.875rem}.col-gap-1\/2{grid-column-gap:50%;-moz-column-gap:50%;column-gap:50%}.col-gap-1\/3{grid-column-gap:33.333333%;-moz-column-gap:33.333333%;column-gap:33.333333%}.col-gap-2\/3{grid-column-gap:66.666667%;-moz-column-gap:66.666667%;column-gap:66.666667%}.col-gap-1\/4{grid-column-gap:25%;-moz-column-gap:25%;column-gap:25%}.col-gap-2\/4{grid-column-gap:50%;-moz-column-gap:50%;column-gap:50%}.col-gap-3\/4{grid-column-gap:75%;-moz-column-gap:75%;column-gap:75%}.col-gap-1\/5{grid-column-gap:20%;-moz-column-gap:20%;column-gap:20%}.col-gap-2\/5{grid-column-gap:40%;-moz-column-gap:40%;column-gap:40%}.col-gap-3\/5{grid-column-gap:60%;-moz-column-gap:60%;column-gap:60%}.col-gap-4\/5{grid-column-gap:80%;-moz-column-gap:80%;column-gap:80%}.col-gap-1\/6{grid-column-gap:16.666667%;-moz-column-gap:16.666667%;column-gap:16.666667%}.col-gap-2\/6{grid-column-gap:33.333333%;-moz-column-gap:33.333333%;column-gap:33.333333%}.col-gap-3\/6{grid-column-gap:50%;-moz-column-gap:50%;column-gap:50%}.col-gap-4\/6{grid-column-gap:66.666667%;-moz-column-gap:66.666667%;column-gap:66.666667%}.col-gap-5\/6{grid-column-gap:83.333333%;-moz-column-gap:83.333333%;column-gap:83.333333%}.col-gap-1\/12{grid-column-gap:8.333333%;-moz-column-gap:8.333333%;column-gap:8.333333%}.col-gap-2\/12{grid-column-gap:16.666667%;-moz-column-gap:16.666667%;column-gap:16.666667%}.col-gap-3\/12{grid-column-gap:25%;-moz-column-gap:25%;column-gap:25%}.col-gap-4\/12{grid-column-gap:33.333333%;-moz-column-gap:33.333333%;column-gap:33.333333%}.col-gap-5\/12{grid-column-gap:41.666667%;-moz-column-gap:41.666667%;column-gap:41.666667%}.col-gap-6\/12{grid-column-gap:50%;-moz-column-gap:50%;column-gap:50%}.col-gap-7\/12{grid-column-gap:58.333333%;-moz-column-gap:58.333333%;column-gap:58.333333%}.col-gap-8\/12{grid-column-gap:66.666667%;-moz-column-gap:66.666667%;column-gap:66.666667%}.col-gap-9\/12{grid-column-gap:75%;-moz-column-gap:75%;column-gap:75%}.col-gap-10\/12{grid-column-gap:83.333333%;-moz-column-gap:83.333333%;column-gap:83.333333%}.col-gap-11\/12{grid-column-gap:91.666667%;-moz-column-gap:91.666667%;column-gap:91.666667%}.col-gap-full{grid-column-gap:100%;-moz-column-gap:100%;column-gap:100%}.row-gap-0{grid-row-gap:0;row-gap:0}.row-gap-1{grid-row-gap:.25rem;row-gap:.25rem}.row-gap-2{grid-row-gap:.5rem;row-gap:.5rem}.row-gap-3{grid-row-gap:.75rem;row-gap:.75rem}.row-gap-4{grid-row-gap:1rem;row-gap:1rem}.row-gap-5{grid-row-gap:1.25rem;row-gap:1.25rem}.row-gap-6{grid-row-gap:1.5rem;row-gap:1.5rem}.row-gap-7{grid-row-gap:1.75rem;row-gap:1.75rem}.row-gap-8{grid-row-gap:2rem;row-gap:2rem}.row-gap-9{grid-row-gap:2.25rem;row-gap:2.25rem}.row-gap-10{grid-row-gap:2.5rem;row-gap:2.5rem}.row-gap-11{grid-row-gap:2.75rem;row-gap:2.75rem}.row-gap-12{grid-row-gap:3rem;row-gap:3rem}.row-gap-13{grid-row-gap:3.25rem;row-gap:3.25rem}.row-gap-14{grid-row-gap:3.5rem;row-gap:3.5rem}.row-gap-15{grid-row-gap:3.75rem;row-gap:3.75rem}.row-gap-16{grid-row-gap:4rem;row-gap:4rem}.row-gap-20{grid-row-gap:5rem;row-gap:5rem}.row-gap-24{grid-row-gap:6rem;row-gap:6rem}.row-gap-28{grid-row-gap:7rem;row-gap:7rem}.row-gap-32{grid-row-gap:8rem;row-gap:8rem}.row-gap-36{grid-row-gap:9rem;row-gap:9rem}.row-gap-40{grid-row-gap:10rem;row-gap:10rem}.row-gap-44{grid-row-gap:11rem;row-gap:11rem}.row-gap-48{grid-row-gap:12rem;row-gap:12rem}.row-gap-52{grid-row-gap:13rem;row-gap:13rem}.row-gap-56{grid-row-gap:14rem;row-gap:14rem}.row-gap-60{grid-row-gap:15rem;row-gap:15rem}.row-gap-64{grid-row-gap:16rem;row-gap:16rem}.row-gap-72{grid-row-gap:18rem;row-gap:18rem}.row-gap-80{grid-row-gap:20rem;row-gap:20rem}.row-gap-96{grid-row-gap:24rem;row-gap:24rem}.row-gap-px{grid-row-gap:1px;row-gap:1px}.row-gap-0\.5{grid-row-gap:.125rem;row-gap:.125rem}.row-gap-1\.5{grid-row-gap:.375rem;row-gap:.375rem}.row-gap-2\.5{grid-row-gap:.625rem;row-gap:.625rem}.row-gap-3\.5{grid-row-gap:.875rem;row-gap:.875rem}.row-gap-1\/2{grid-row-gap:50%;row-gap:50%}.row-gap-1\/3{grid-row-gap:33.333333%;row-gap:33.333333%}.row-gap-2\/3{grid-row-gap:66.666667%;row-gap:66.666667%}.row-gap-1\/4{grid-row-gap:25%;row-gap:25%}.row-gap-2\/4{grid-row-gap:50%;row-gap:50%}.row-gap-3\/4{grid-row-gap:75%;row-gap:75%}.row-gap-1\/5{grid-row-gap:20%;row-gap:20%}.row-gap-2\/5{grid-row-gap:40%;row-gap:40%}.row-gap-3\/5{grid-row-gap:60%;row-gap:60%}.row-gap-4\/5{grid-row-gap:80%;row-gap:80%}.row-gap-1\/6{grid-row-gap:16.666667%;row-gap:16.666667%}.row-gap-2\/6{grid-row-gap:33.333333%;row-gap:33.333333%}.row-gap-3\/6{grid-row-gap:50%;row-gap:50%}.row-gap-4\/6{grid-row-gap:66.666667%;row-gap:66.666667%}.row-gap-5\/6{grid-row-gap:83.333333%;row-gap:83.333333%}.row-gap-1\/12{grid-row-gap:8.333333%;row-gap:8.333333%}.row-gap-2\/12{grid-row-gap:16.666667%;row-gap:16.666667%}.row-gap-3\/12{grid-row-gap:25%;row-gap:25%}.row-gap-4\/12{grid-row-gap:33.333333%;row-gap:33.333333%}.row-gap-5\/12{grid-row-gap:41.666667%;row-gap:41.666667%}.row-gap-6\/12{grid-row-gap:50%;row-gap:50%}.row-gap-7\/12{grid-row-gap:58.333333%;row-gap:58.333333%}.row-gap-8\/12{grid-row-gap:66.666667%;row-gap:66.666667%}.row-gap-9\/12{grid-row-gap:75%;row-gap:75%}.row-gap-10\/12{grid-row-gap:83.333333%;row-gap:83.333333%}.row-gap-11\/12{grid-row-gap:91.666667%;row-gap:91.666667%}.row-gap-full{grid-row-gap:100%;row-gap:100%}.grid-flow-row{grid-auto-flow:row}.grid-flow-col{grid-auto-flow:column}.grid-flow-row-dense{grid-auto-flow:row dense}.grid-flow-col-dense{grid-auto-flow:column dense}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.grid-cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}.grid-cols-9{grid-template-columns:repeat(9,minmax(0,1fr))}.grid-cols-10{grid-template-columns:repeat(10,minmax(0,1fr))}.grid-cols-11{grid-template-columns:repeat(11,minmax(0,1fr))}.grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.grid-cols-none{grid-template-columns:none}.col-auto{grid-column:auto}.col-span-1{grid-column:span 1/span 1}.col-span-2{grid-column:span 2/span 2}.col-span-3{grid-column:span 3/span 3}.col-span-4{grid-column:span 4/span 4}.col-span-5{grid-column:span 5/span 5}.col-span-6{grid-column:span 6/span 6}.col-span-7{grid-column:span 7/span 7}.col-span-8{grid-column:span 8/span 8}.col-span-9{grid-column:span 9/span 9}.col-span-10{grid-column:span 10/span 10}.col-span-11{grid-column:span 11/span 11}.col-span-12{grid-column:span 12/span 12}.col-start-1{grid-column-start:1}.col-start-2{grid-column-start:2}.col-start-3{grid-column-start:3}.col-start-4{grid-column-start:4}.col-start-5{grid-column-start:5}.col-start-6{grid-column-start:6}.col-start-7{grid-column-start:7}.col-start-8{grid-column-start:8}.col-start-9{grid-column-start:9}.col-start-10{grid-column-start:10}.col-start-11{grid-column-start:11}.col-start-12{grid-column-start:12}.col-start-13{grid-column-start:13}.col-start-auto{grid-column-start:auto}.col-end-1{grid-column-end:1}.col-end-2{grid-column-end:2}.col-end-3{grid-column-end:3}.col-end-4{grid-column-end:4}.col-end-5{grid-column-end:5}.col-end-6{grid-column-end:6}.col-end-7{grid-column-end:7}.col-end-8{grid-column-end:8}.col-end-9{grid-column-end:9}.col-end-10{grid-column-end:10}.col-end-11{grid-column-end:11}.col-end-12{grid-column-end:12}.col-end-13{grid-column-end:13}.col-end-auto{grid-column-end:auto}.grid-rows-1{grid-template-rows:repeat(1,minmax(0,1fr))}.grid-rows-2{grid-template-rows:repeat(2,minmax(0,1fr))}.grid-rows-3{grid-template-rows:repeat(3,minmax(0,1fr))}.grid-rows-4{grid-template-rows:repeat(4,minmax(0,1fr))}.grid-rows-5{grid-template-rows:repeat(5,minmax(0,1fr))}.grid-rows-6{grid-template-rows:repeat(6,minmax(0,1fr))}.grid-rows-none{grid-template-rows:none}.row-auto{grid-row:auto}.row-span-1{grid-row:span 1/span 1}.row-span-2{grid-row:span 2/span 2}.row-span-3{grid-row:span 3/span 3}.row-span-4{grid-row:span 4/span 4}.row-span-5{grid-row:span 5/span 5}.row-span-6{grid-row:span 6/span 6}.row-start-1{grid-row-start:1}.row-start-2{grid-row-start:2}.row-start-3{grid-row-start:3}.row-start-4{grid-row-start:4}.row-start-5{grid-row-start:5}.row-start-6{grid-row-start:6}.row-start-7{grid-row-start:7}.row-start-auto{grid-row-start:auto}.row-end-1{grid-row-end:1}.row-end-2{grid-row-end:2}.row-end-3{grid-row-end:3}.row-end-4{grid-row-end:4}.row-end-5{grid-row-end:5}.row-end-6{grid-row-end:6}.row-end-7{grid-row-end:7}.row-end-auto{grid-row-end:auto}.transform{--transform-translate-x:0;--transform-translate-y:0;--transform-rotate:0;--transform-skew-x:0;--transform-skew-y:0;--transform-scale-x:1;--transform-scale-y:1;transform:translateX(var(--transform-translate-x)) translateY(var(--transform-translate-y)) rotate(var(--transform-rotate)) skewX(var(--transform-skew-x)) skewY(var(--transform-skew-y)) scaleX(var(--transform-scale-x)) scaleY(var(--transform-scale-y))}.transform-none{transform:none}.origin-center{transform-origin:center}.origin-top{transform-origin:top}.origin-top-right{transform-origin:top right}.origin-right{transform-origin:right}.origin-bottom-right{transform-origin:bottom right}.origin-bottom{transform-origin:bottom}.origin-bottom-left{transform-origin:bottom left}.origin-left{transform-origin:left}.origin-top-left{transform-origin:top left}.scale-0{--transform-scale-x:0;--transform-scale-y:0}.scale-50{--transform-scale-x:.5;--transform-scale-y:.5}.scale-75{--transform-scale-x:.75;--transform-scale-y:.75}.scale-90{--transform-scale-x:.9;--transform-scale-y:.9}.scale-95{--transform-scale-x:.95;--transform-scale-y:.95}.scale-100{--transform-scale-x:1;--transform-scale-y:1}.scale-105{--transform-scale-x:1.05;--transform-scale-y:1.05}.scale-110{--transform-scale-x:1.1;--transform-scale-y:1.1}.scale-125{--transform-scale-x:1.25;--transform-scale-y:1.25}.scale-150{--transform-scale-x:1.5;--transform-scale-y:1.5}.scale-x-0{--transform-scale-x:0}.scale-x-50{--transform-scale-x:.5}.scale-x-75{--transform-scale-x:.75}.scale-x-90{--transform-scale-x:.9}.scale-x-95{--transform-scale-x:.95}.scale-x-100{--transform-scale-x:1}.scale-x-105{--transform-scale-x:1.05}.scale-x-110{--transform-scale-x:1.1}.scale-x-125{--transform-scale-x:1.25}.scale-x-150{--transform-scale-x:1.5}.scale-y-0{--transform-scale-y:0}.scale-y-50{--transform-scale-y:.5}.scale-y-75{--transform-scale-y:.75}.scale-y-90{--transform-scale-y:.9}.scale-y-95{--transform-scale-y:.95}.scale-y-100{--transform-scale-y:1}.scale-y-105{--transform-scale-y:1.05}.scale-y-110{--transform-scale-y:1.1}.scale-y-125{--transform-scale-y:1.25}.scale-y-150{--transform-scale-y:1.5}.hover\:scale-0:hover{--transform-scale-x:0;--transform-scale-y:0}.hover\:scale-50:hover{--transform-scale-x:.5;--transform-scale-y:.5}.hover\:scale-75:hover{--transform-scale-x:.75;--transform-scale-y:.75}.hover\:scale-90:hover{--transform-scale-x:.9;--transform-scale-y:.9}.hover\:scale-95:hover{--transform-scale-x:.95;--transform-scale-y:.95}.hover\:scale-100:hover{--transform-scale-x:1;--transform-scale-y:1}.hover\:scale-105:hover{--transform-scale-x:1.05;--transform-scale-y:1.05}.hover\:scale-110:hover{--transform-scale-x:1.1;--transform-scale-y:1.1}.hover\:scale-125:hover{--transform-scale-x:1.25;--transform-scale-y:1.25}.hover\:scale-150:hover{--transform-scale-x:1.5;--transform-scale-y:1.5}.hover\:scale-x-0:hover{--transform-scale-x:0}.hover\:scale-x-50:hover{--transform-scale-x:.5}.hover\:scale-x-75:hover{--transform-scale-x:.75}.hover\:scale-x-90:hover{--transform-scale-x:.9}.hover\:scale-x-95:hover{--transform-scale-x:.95}.hover\:scale-x-100:hover{--transform-scale-x:1}.hover\:scale-x-105:hover{--transform-scale-x:1.05}.hover\:scale-x-110:hover{--transform-scale-x:1.1}.hover\:scale-x-125:hover{--transform-scale-x:1.25}.hover\:scale-x-150:hover{--transform-scale-x:1.5}.hover\:scale-y-0:hover{--transform-scale-y:0}.hover\:scale-y-50:hover{--transform-scale-y:.5}.hover\:scale-y-75:hover{--transform-scale-y:.75}.hover\:scale-y-90:hover{--transform-scale-y:.9}.hover\:scale-y-95:hover{--transform-scale-y:.95}.hover\:scale-y-100:hover{--transform-scale-y:1}.hover\:scale-y-105:hover{--transform-scale-y:1.05}.hover\:scale-y-110:hover{--transform-scale-y:1.1}.hover\:scale-y-125:hover{--transform-scale-y:1.25}.hover\:scale-y-150:hover{--transform-scale-y:1.5}.focus\:scale-0:focus{--transform-scale-x:0;--transform-scale-y:0}.focus\:scale-50:focus{--transform-scale-x:.5;--transform-scale-y:.5}.focus\:scale-75:focus{--transform-scale-x:.75;--transform-scale-y:.75}.focus\:scale-90:focus{--transform-scale-x:.9;--transform-scale-y:.9}.focus\:scale-95:focus{--transform-scale-x:.95;--transform-scale-y:.95}.focus\:scale-100:focus{--transform-scale-x:1;--transform-scale-y:1}.focus\:scale-105:focus{--transform-scale-x:1.05;--transform-scale-y:1.05}.focus\:scale-110:focus{--transform-scale-x:1.1;--transform-scale-y:1.1}.focus\:scale-125:focus{--transform-scale-x:1.25;--transform-scale-y:1.25}.focus\:scale-150:focus{--transform-scale-x:1.5;--transform-scale-y:1.5}.focus\:scale-x-0:focus{--transform-scale-x:0}.focus\:scale-x-50:focus{--transform-scale-x:.5}.focus\:scale-x-75:focus{--transform-scale-x:.75}.focus\:scale-x-90:focus{--transform-scale-x:.9}.focus\:scale-x-95:focus{--transform-scale-x:.95}.focus\:scale-x-100:focus{--transform-scale-x:1}.focus\:scale-x-105:focus{--transform-scale-x:1.05}.focus\:scale-x-110:focus{--transform-scale-x:1.1}.focus\:scale-x-125:focus{--transform-scale-x:1.25}.focus\:scale-x-150:focus{--transform-scale-x:1.5}.focus\:scale-y-0:focus{--transform-scale-y:0}.focus\:scale-y-50:focus{--transform-scale-y:.5}.focus\:scale-y-75:focus{--transform-scale-y:.75}.focus\:scale-y-90:focus{--transform-scale-y:.9}.focus\:scale-y-95:focus{--transform-scale-y:.95}.focus\:scale-y-100:focus{--transform-scale-y:1}.focus\:scale-y-105:focus{--transform-scale-y:1.05}.focus\:scale-y-110:focus{--transform-scale-y:1.1}.focus\:scale-y-125:focus{--transform-scale-y:1.25}.focus\:scale-y-150:focus{--transform-scale-y:1.5}.rotate-0{--transform-rotate:0}.rotate-45{--transform-rotate:45deg}.rotate-90{--transform-rotate:90deg}.rotate-180{--transform-rotate:180deg}.-rotate-180{--transform-rotate:-180deg}.-rotate-90{--transform-rotate:-90deg}.-rotate-45{--transform-rotate:-45deg}.hover\:rotate-0:hover{--transform-rotate:0}.hover\:rotate-45:hover{--transform-rotate:45deg}.hover\:rotate-90:hover{--transform-rotate:90deg}.hover\:rotate-180:hover{--transform-rotate:180deg}.hover\:-rotate-180:hover{--transform-rotate:-180deg}.hover\:-rotate-90:hover{--transform-rotate:-90deg}.hover\:-rotate-45:hover{--transform-rotate:-45deg}.focus\:rotate-0:focus{--transform-rotate:0}.focus\:rotate-45:focus{--transform-rotate:45deg}.focus\:rotate-90:focus{--transform-rotate:90deg}.focus\:rotate-180:focus{--transform-rotate:180deg}.focus\:-rotate-180:focus{--transform-rotate:-180deg}.focus\:-rotate-90:focus{--transform-rotate:-90deg}.focus\:-rotate-45:focus{--transform-rotate:-45deg}.translate-x-0{--transform-translate-x:0}.translate-x-1{--transform-translate-x:0.25rem}.translate-x-2{--transform-translate-x:0.5rem}.translate-x-3{--transform-translate-x:0.75rem}.translate-x-4{--transform-translate-x:1rem}.translate-x-5{--transform-translate-x:1.25rem}.translate-x-6{--transform-translate-x:1.5rem}.translate-x-7{--transform-translate-x:1.75rem}.translate-x-8{--transform-translate-x:2rem}.translate-x-9{--transform-translate-x:2.25rem}.translate-x-10{--transform-translate-x:2.5rem}.translate-x-11{--transform-translate-x:2.75rem}.translate-x-12{--transform-translate-x:3rem}.translate-x-13{--transform-translate-x:3.25rem}.translate-x-14{--transform-translate-x:3.5rem}.translate-x-15{--transform-translate-x:3.75rem}.translate-x-16{--transform-translate-x:4rem}.translate-x-20{--transform-translate-x:5rem}.translate-x-24{--transform-translate-x:6rem}.translate-x-28{--transform-translate-x:7rem}.translate-x-32{--transform-translate-x:8rem}.translate-x-36{--transform-translate-x:9rem}.translate-x-40{--transform-translate-x:10rem}.translate-x-44{--transform-translate-x:11rem}.translate-x-48{--transform-translate-x:12rem}.translate-x-52{--transform-translate-x:13rem}.translate-x-56{--transform-translate-x:14rem}.translate-x-60{--transform-translate-x:15rem}.translate-x-64{--transform-translate-x:16rem}.translate-x-72{--transform-translate-x:18rem}.translate-x-80{--transform-translate-x:20rem}.translate-x-96{--transform-translate-x:24rem}.translate-x-px{--transform-translate-x:1px}.translate-x-0\.5{--transform-translate-x:0.125rem}.translate-x-1\.5{--transform-translate-x:0.375rem}.translate-x-2\.5{--transform-translate-x:0.625rem}.translate-x-3\.5{--transform-translate-x:0.875rem}.translate-x-1\/2{--transform-translate-x:50%}.translate-x-1\/3{--transform-translate-x:33.333333%}.translate-x-2\/3{--transform-translate-x:66.666667%}.translate-x-1\/4{--transform-translate-x:25%}.translate-x-2\/4{--transform-translate-x:50%}.translate-x-3\/4{--transform-translate-x:75%}.translate-x-1\/5{--transform-translate-x:20%}.translate-x-2\/5{--transform-translate-x:40%}.translate-x-3\/5{--transform-translate-x:60%}.translate-x-4\/5{--transform-translate-x:80%}.translate-x-1\/6{--transform-translate-x:16.666667%}.translate-x-2\/6{--transform-translate-x:33.333333%}.translate-x-3\/6{--transform-translate-x:50%}.translate-x-4\/6{--transform-translate-x:66.666667%}.translate-x-5\/6{--transform-translate-x:83.333333%}.translate-x-1\/12{--transform-translate-x:8.333333%}.translate-x-2\/12{--transform-translate-x:16.666667%}.translate-x-3\/12{--transform-translate-x:25%}.translate-x-4\/12{--transform-translate-x:33.333333%}.translate-x-5\/12{--transform-translate-x:41.666667%}.translate-x-6\/12{--transform-translate-x:50%}.translate-x-7\/12{--transform-translate-x:58.333333%}.translate-x-8\/12{--transform-translate-x:66.666667%}.translate-x-9\/12{--transform-translate-x:75%}.translate-x-10\/12{--transform-translate-x:83.333333%}.translate-x-11\/12{--transform-translate-x:91.666667%}.translate-x-full{--transform-translate-x:100%}.-translate-x-1{--transform-translate-x:-0.25rem}.-translate-x-2{--transform-translate-x:-0.5rem}.-translate-x-3{--transform-translate-x:-0.75rem}.-translate-x-4{--transform-translate-x:-1rem}.-translate-x-5{--transform-translate-x:-1.25rem}.-translate-x-6{--transform-translate-x:-1.5rem}.-translate-x-7{--transform-translate-x:-1.75rem}.-translate-x-8{--transform-translate-x:-2rem}.-translate-x-9{--transform-translate-x:-2.25rem}.-translate-x-10{--transform-translate-x:-2.5rem}.-translate-x-11{--transform-translate-x:-2.75rem}.-translate-x-12{--transform-translate-x:-3rem}.-translate-x-13{--transform-translate-x:-3.25rem}.-translate-x-14{--transform-translate-x:-3.5rem}.-translate-x-15{--transform-translate-x:-3.75rem}.-translate-x-16{--transform-translate-x:-4rem}.-translate-x-20{--transform-translate-x:-5rem}.-translate-x-24{--transform-translate-x:-6rem}.-translate-x-28{--transform-translate-x:-7rem}.-translate-x-32{--transform-translate-x:-8rem}.-translate-x-36{--transform-translate-x:-9rem}.-translate-x-40{--transform-translate-x:-10rem}.-translate-x-44{--transform-translate-x:-11rem}.-translate-x-48{--transform-translate-x:-12rem}.-translate-x-52{--transform-translate-x:-13rem}.-translate-x-56{--transform-translate-x:-14rem}.-translate-x-60{--transform-translate-x:-15rem}.-translate-x-64{--transform-translate-x:-16rem}.-translate-x-72{--transform-translate-x:-18rem}.-translate-x-80{--transform-translate-x:-20rem}.-translate-x-96{--transform-translate-x:-24rem}.-translate-x-px{--transform-translate-x:-1px}.-translate-x-0\.5{--transform-translate-x:-0.125rem}.-translate-x-1\.5{--transform-translate-x:-0.375rem}.-translate-x-2\.5{--transform-translate-x:-0.625rem}.-translate-x-3\.5{--transform-translate-x:-0.875rem}.-translate-x-1\/2{--transform-translate-x:-50%}.-translate-x-1\/3{--transform-translate-x:-33.33333%}.-translate-x-2\/3{--transform-translate-x:-66.66667%}.-translate-x-1\/4{--transform-translate-x:-25%}.-translate-x-2\/4{--transform-translate-x:-50%}.-translate-x-3\/4{--transform-translate-x:-75%}.-translate-x-1\/5{--transform-translate-x:-20%}.-translate-x-2\/5{--transform-translate-x:-40%}.-translate-x-3\/5{--transform-translate-x:-60%}.-translate-x-4\/5{--transform-translate-x:-80%}.-translate-x-1\/6{--transform-translate-x:-16.66667%}.-translate-x-2\/6{--transform-translate-x:-33.33333%}.-translate-x-3\/6{--transform-translate-x:-50%}.-translate-x-4\/6{--transform-translate-x:-66.66667%}.-translate-x-5\/6{--transform-translate-x:-83.33333%}.-translate-x-1\/12{--transform-translate-x:-8.33333%}.-translate-x-2\/12{--transform-translate-x:-16.66667%}.-translate-x-3\/12{--transform-translate-x:-25%}.-translate-x-4\/12{--transform-translate-x:-33.33333%}.-translate-x-5\/12{--transform-translate-x:-41.66667%}.-translate-x-6\/12{--transform-translate-x:-50%}.-translate-x-7\/12{--transform-translate-x:-58.33333%}.-translate-x-8\/12{--transform-translate-x:-66.66667%}.-translate-x-9\/12{--transform-translate-x:-75%}.-translate-x-10\/12{--transform-translate-x:-83.33333%}.-translate-x-11\/12{--transform-translate-x:-91.66667%}.-translate-x-full{--transform-translate-x:-100%}.translate-y-0{--transform-translate-y:0}.translate-y-1{--transform-translate-y:0.25rem}.translate-y-2{--transform-translate-y:0.5rem}.translate-y-3{--transform-translate-y:0.75rem}.translate-y-4{--transform-translate-y:1rem}.translate-y-5{--transform-translate-y:1.25rem}.translate-y-6{--transform-translate-y:1.5rem}.translate-y-7{--transform-translate-y:1.75rem}.translate-y-8{--transform-translate-y:2rem}.translate-y-9{--transform-translate-y:2.25rem}.translate-y-10{--transform-translate-y:2.5rem}.translate-y-11{--transform-translate-y:2.75rem}.translate-y-12{--transform-translate-y:3rem}.translate-y-13{--transform-translate-y:3.25rem}.translate-y-14{--transform-translate-y:3.5rem}.translate-y-15{--transform-translate-y:3.75rem}.translate-y-16{--transform-translate-y:4rem}.translate-y-20{--transform-translate-y:5rem}.translate-y-24{--transform-translate-y:6rem}.translate-y-28{--transform-translate-y:7rem}.translate-y-32{--transform-translate-y:8rem}.translate-y-36{--transform-translate-y:9rem}.translate-y-40{--transform-translate-y:10rem}.translate-y-44{--transform-translate-y:11rem}.translate-y-48{--transform-translate-y:12rem}.translate-y-52{--transform-translate-y:13rem}.translate-y-56{--transform-translate-y:14rem}.translate-y-60{--transform-translate-y:15rem}.translate-y-64{--transform-translate-y:16rem}.translate-y-72{--transform-translate-y:18rem}.translate-y-80{--transform-translate-y:20rem}.translate-y-96{--transform-translate-y:24rem}.translate-y-px{--transform-translate-y:1px}.translate-y-0\.5{--transform-translate-y:0.125rem}.translate-y-1\.5{--transform-translate-y:0.375rem}.translate-y-2\.5{--transform-translate-y:0.625rem}.translate-y-3\.5{--transform-translate-y:0.875rem}.translate-y-1\/2{--transform-translate-y:50%}.translate-y-1\/3{--transform-translate-y:33.333333%}.translate-y-2\/3{--transform-translate-y:66.666667%}.translate-y-1\/4{--transform-translate-y:25%}.translate-y-2\/4{--transform-translate-y:50%}.translate-y-3\/4{--transform-translate-y:75%}.translate-y-1\/5{--transform-translate-y:20%}.translate-y-2\/5{--transform-translate-y:40%}.translate-y-3\/5{--transform-translate-y:60%}.translate-y-4\/5{--transform-translate-y:80%}.translate-y-1\/6{--transform-translate-y:16.666667%}.translate-y-2\/6{--transform-translate-y:33.333333%}.translate-y-3\/6{--transform-translate-y:50%}.translate-y-4\/6{--transform-translate-y:66.666667%}.translate-y-5\/6{--transform-translate-y:83.333333%}.translate-y-1\/12{--transform-translate-y:8.333333%}.translate-y-2\/12{--transform-translate-y:16.666667%}.translate-y-3\/12{--transform-translate-y:25%}.translate-y-4\/12{--transform-translate-y:33.333333%}.translate-y-5\/12{--transform-translate-y:41.666667%}.translate-y-6\/12{--transform-translate-y:50%}.translate-y-7\/12{--transform-translate-y:58.333333%}.translate-y-8\/12{--transform-translate-y:66.666667%}.translate-y-9\/12{--transform-translate-y:75%}.translate-y-10\/12{--transform-translate-y:83.333333%}.translate-y-11\/12{--transform-translate-y:91.666667%}.translate-y-full{--transform-translate-y:100%}.-translate-y-1{--transform-translate-y:-0.25rem}.-translate-y-2{--transform-translate-y:-0.5rem}.-translate-y-3{--transform-translate-y:-0.75rem}.-translate-y-4{--transform-translate-y:-1rem}.-translate-y-5{--transform-translate-y:-1.25rem}.-translate-y-6{--transform-translate-y:-1.5rem}.-translate-y-7{--transform-translate-y:-1.75rem}.-translate-y-8{--transform-translate-y:-2rem}.-translate-y-9{--transform-translate-y:-2.25rem}.-translate-y-10{--transform-translate-y:-2.5rem}.-translate-y-11{--transform-translate-y:-2.75rem}.-translate-y-12{--transform-translate-y:-3rem}.-translate-y-13{--transform-translate-y:-3.25rem}.-translate-y-14{--transform-translate-y:-3.5rem}.-translate-y-15{--transform-translate-y:-3.75rem}.-translate-y-16{--transform-translate-y:-4rem}.-translate-y-20{--transform-translate-y:-5rem}.-translate-y-24{--transform-translate-y:-6rem}.-translate-y-28{--transform-translate-y:-7rem}.-translate-y-32{--transform-translate-y:-8rem}.-translate-y-36{--transform-translate-y:-9rem}.-translate-y-40{--transform-translate-y:-10rem}.-translate-y-44{--transform-translate-y:-11rem}.-translate-y-48{--transform-translate-y:-12rem}.-translate-y-52{--transform-translate-y:-13rem}.-translate-y-56{--transform-translate-y:-14rem}.-translate-y-60{--transform-translate-y:-15rem}.-translate-y-64{--transform-translate-y:-16rem}.-translate-y-72{--transform-translate-y:-18rem}.-translate-y-80{--transform-translate-y:-20rem}.-translate-y-96{--transform-translate-y:-24rem}.-translate-y-px{--transform-translate-y:-1px}.-translate-y-0\.5{--transform-translate-y:-0.125rem}.-translate-y-1\.5{--transform-translate-y:-0.375rem}.-translate-y-2\.5{--transform-translate-y:-0.625rem}.-translate-y-3\.5{--transform-translate-y:-0.875rem}.-translate-y-1\/2{--transform-translate-y:-50%}.-translate-y-1\/3{--transform-translate-y:-33.33333%}.-translate-y-2\/3{--transform-translate-y:-66.66667%}.-translate-y-1\/4{--transform-translate-y:-25%}.-translate-y-2\/4{--transform-translate-y:-50%}.-translate-y-3\/4{--transform-translate-y:-75%}.-translate-y-1\/5{--transform-translate-y:-20%}.-translate-y-2\/5{--transform-translate-y:-40%}.-translate-y-3\/5{--transform-translate-y:-60%}.-translate-y-4\/5{--transform-translate-y:-80%}.-translate-y-1\/6{--transform-translate-y:-16.66667%}.-translate-y-2\/6{--transform-translate-y:-33.33333%}.-translate-y-3\/6{--transform-translate-y:-50%}.-translate-y-4\/6{--transform-translate-y:-66.66667%}.-translate-y-5\/6{--transform-translate-y:-83.33333%}.-translate-y-1\/12{--transform-translate-y:-8.33333%}.-translate-y-2\/12{--transform-translate-y:-16.66667%}.-translate-y-3\/12{--transform-translate-y:-25%}.-translate-y-4\/12{--transform-translate-y:-33.33333%}.-translate-y-5\/12{--transform-translate-y:-41.66667%}.-translate-y-6\/12{--transform-translate-y:-50%}.-translate-y-7\/12{--transform-translate-y:-58.33333%}.-translate-y-8\/12{--transform-translate-y:-66.66667%}.-translate-y-9\/12{--transform-translate-y:-75%}.-translate-y-10\/12{--transform-translate-y:-83.33333%}.-translate-y-11\/12{--transform-translate-y:-91.66667%}.-translate-y-full{--transform-translate-y:-100%}.hover\:translate-x-0:hover{--transform-translate-x:0}.hover\:translate-x-1:hover{--transform-translate-x:0.25rem}.hover\:translate-x-2:hover{--transform-translate-x:0.5rem}.hover\:translate-x-3:hover{--transform-translate-x:0.75rem}.hover\:translate-x-4:hover{--transform-translate-x:1rem}.hover\:translate-x-5:hover{--transform-translate-x:1.25rem}.hover\:translate-x-6:hover{--transform-translate-x:1.5rem}.hover\:translate-x-7:hover{--transform-translate-x:1.75rem}.hover\:translate-x-8:hover{--transform-translate-x:2rem}.hover\:translate-x-9:hover{--transform-translate-x:2.25rem}.hover\:translate-x-10:hover{--transform-translate-x:2.5rem}.hover\:translate-x-11:hover{--transform-translate-x:2.75rem}.hover\:translate-x-12:hover{--transform-translate-x:3rem}.hover\:translate-x-13:hover{--transform-translate-x:3.25rem}.hover\:translate-x-14:hover{--transform-translate-x:3.5rem}.hover\:translate-x-15:hover{--transform-translate-x:3.75rem}.hover\:translate-x-16:hover{--transform-translate-x:4rem}.hover\:translate-x-20:hover{--transform-translate-x:5rem}.hover\:translate-x-24:hover{--transform-translate-x:6rem}.hover\:translate-x-28:hover{--transform-translate-x:7rem}.hover\:translate-x-32:hover{--transform-translate-x:8rem}.hover\:translate-x-36:hover{--transform-translate-x:9rem}.hover\:translate-x-40:hover{--transform-translate-x:10rem}.hover\:translate-x-44:hover{--transform-translate-x:11rem}.hover\:translate-x-48:hover{--transform-translate-x:12rem}.hover\:translate-x-52:hover{--transform-translate-x:13rem}.hover\:translate-x-56:hover{--transform-translate-x:14rem}.hover\:translate-x-60:hover{--transform-translate-x:15rem}.hover\:translate-x-64:hover{--transform-translate-x:16rem}.hover\:translate-x-72:hover{--transform-translate-x:18rem}.hover\:translate-x-80:hover{--transform-translate-x:20rem}.hover\:translate-x-96:hover{--transform-translate-x:24rem}.hover\:translate-x-px:hover{--transform-translate-x:1px}.hover\:translate-x-0\.5:hover{--transform-translate-x:0.125rem}.hover\:translate-x-1\.5:hover{--transform-translate-x:0.375rem}.hover\:translate-x-2\.5:hover{--transform-translate-x:0.625rem}.hover\:translate-x-3\.5:hover{--transform-translate-x:0.875rem}.hover\:translate-x-1\/2:hover{--transform-translate-x:50%}.hover\:translate-x-1\/3:hover{--transform-translate-x:33.333333%}.hover\:translate-x-2\/3:hover{--transform-translate-x:66.666667%}.hover\:translate-x-1\/4:hover{--transform-translate-x:25%}.hover\:translate-x-2\/4:hover{--transform-translate-x:50%}.hover\:translate-x-3\/4:hover{--transform-translate-x:75%}.hover\:translate-x-1\/5:hover{--transform-translate-x:20%}.hover\:translate-x-2\/5:hover{--transform-translate-x:40%}.hover\:translate-x-3\/5:hover{--transform-translate-x:60%}.hover\:translate-x-4\/5:hover{--transform-translate-x:80%}.hover\:translate-x-1\/6:hover{--transform-translate-x:16.666667%}.hover\:translate-x-2\/6:hover{--transform-translate-x:33.333333%}.hover\:translate-x-3\/6:hover{--transform-translate-x:50%}.hover\:translate-x-4\/6:hover{--transform-translate-x:66.666667%}.hover\:translate-x-5\/6:hover{--transform-translate-x:83.333333%}.hover\:translate-x-1\/12:hover{--transform-translate-x:8.333333%}.hover\:translate-x-2\/12:hover{--transform-translate-x:16.666667%}.hover\:translate-x-3\/12:hover{--transform-translate-x:25%}.hover\:translate-x-4\/12:hover{--transform-translate-x:33.333333%}.hover\:translate-x-5\/12:hover{--transform-translate-x:41.666667%}.hover\:translate-x-6\/12:hover{--transform-translate-x:50%}.hover\:translate-x-7\/12:hover{--transform-translate-x:58.333333%}.hover\:translate-x-8\/12:hover{--transform-translate-x:66.666667%}.hover\:translate-x-9\/12:hover{--transform-translate-x:75%}.hover\:translate-x-10\/12:hover{--transform-translate-x:83.333333%}.hover\:translate-x-11\/12:hover{--transform-translate-x:91.666667%}.hover\:translate-x-full:hover{--transform-translate-x:100%}.hover\:-translate-x-1:hover{--transform-translate-x:-0.25rem}.hover\:-translate-x-2:hover{--transform-translate-x:-0.5rem}.hover\:-translate-x-3:hover{--transform-translate-x:-0.75rem}.hover\:-translate-x-4:hover{--transform-translate-x:-1rem}.hover\:-translate-x-5:hover{--transform-translate-x:-1.25rem}.hover\:-translate-x-6:hover{--transform-translate-x:-1.5rem}.hover\:-translate-x-7:hover{--transform-translate-x:-1.75rem}.hover\:-translate-x-8:hover{--transform-translate-x:-2rem}.hover\:-translate-x-9:hover{--transform-translate-x:-2.25rem}.hover\:-translate-x-10:hover{--transform-translate-x:-2.5rem}.hover\:-translate-x-11:hover{--transform-translate-x:-2.75rem}.hover\:-translate-x-12:hover{--transform-translate-x:-3rem}.hover\:-translate-x-13:hover{--transform-translate-x:-3.25rem}.hover\:-translate-x-14:hover{--transform-translate-x:-3.5rem}.hover\:-translate-x-15:hover{--transform-translate-x:-3.75rem}.hover\:-translate-x-16:hover{--transform-translate-x:-4rem}.hover\:-translate-x-20:hover{--transform-translate-x:-5rem}.hover\:-translate-x-24:hover{--transform-translate-x:-6rem}.hover\:-translate-x-28:hover{--transform-translate-x:-7rem}.hover\:-translate-x-32:hover{--transform-translate-x:-8rem}.hover\:-translate-x-36:hover{--transform-translate-x:-9rem}.hover\:-translate-x-40:hover{--transform-translate-x:-10rem}.hover\:-translate-x-44:hover{--transform-translate-x:-11rem}.hover\:-translate-x-48:hover{--transform-translate-x:-12rem}.hover\:-translate-x-52:hover{--transform-translate-x:-13rem}.hover\:-translate-x-56:hover{--transform-translate-x:-14rem}.hover\:-translate-x-60:hover{--transform-translate-x:-15rem}.hover\:-translate-x-64:hover{--transform-translate-x:-16rem}.hover\:-translate-x-72:hover{--transform-translate-x:-18rem}.hover\:-translate-x-80:hover{--transform-translate-x:-20rem}.hover\:-translate-x-96:hover{--transform-translate-x:-24rem}.hover\:-translate-x-px:hover{--transform-translate-x:-1px}.hover\:-translate-x-0\.5:hover{--transform-translate-x:-0.125rem}.hover\:-translate-x-1\.5:hover{--transform-translate-x:-0.375rem}.hover\:-translate-x-2\.5:hover{--transform-translate-x:-0.625rem}.hover\:-translate-x-3\.5:hover{--transform-translate-x:-0.875rem}.hover\:-translate-x-1\/2:hover{--transform-translate-x:-50%}.hover\:-translate-x-1\/3:hover{--transform-translate-x:-33.33333%}.hover\:-translate-x-2\/3:hover{--transform-translate-x:-66.66667%}.hover\:-translate-x-1\/4:hover{--transform-translate-x:-25%}.hover\:-translate-x-2\/4:hover{--transform-translate-x:-50%}.hover\:-translate-x-3\/4:hover{--transform-translate-x:-75%}.hover\:-translate-x-1\/5:hover{--transform-translate-x:-20%}.hover\:-translate-x-2\/5:hover{--transform-translate-x:-40%}.hover\:-translate-x-3\/5:hover{--transform-translate-x:-60%}.hover\:-translate-x-4\/5:hover{--transform-translate-x:-80%}.hover\:-translate-x-1\/6:hover{--transform-translate-x:-16.66667%}.hover\:-translate-x-2\/6:hover{--transform-translate-x:-33.33333%}.hover\:-translate-x-3\/6:hover{--transform-translate-x:-50%}.hover\:-translate-x-4\/6:hover{--transform-translate-x:-66.66667%}.hover\:-translate-x-5\/6:hover{--transform-translate-x:-83.33333%}.hover\:-translate-x-1\/12:hover{--transform-translate-x:-8.33333%}.hover\:-translate-x-2\/12:hover{--transform-translate-x:-16.66667%}.hover\:-translate-x-3\/12:hover{--transform-translate-x:-25%}.hover\:-translate-x-4\/12:hover{--transform-translate-x:-33.33333%}.hover\:-translate-x-5\/12:hover{--transform-translate-x:-41.66667%}.hover\:-translate-x-6\/12:hover{--transform-translate-x:-50%}.hover\:-translate-x-7\/12:hover{--transform-translate-x:-58.33333%}.hover\:-translate-x-8\/12:hover{--transform-translate-x:-66.66667%}.hover\:-translate-x-9\/12:hover{--transform-translate-x:-75%}.hover\:-translate-x-10\/12:hover{--transform-translate-x:-83.33333%}.hover\:-translate-x-11\/12:hover{--transform-translate-x:-91.66667%}.hover\:-translate-x-full:hover{--transform-translate-x:-100%}.hover\:translate-y-0:hover{--transform-translate-y:0}.hover\:translate-y-1:hover{--transform-translate-y:0.25rem}.hover\:translate-y-2:hover{--transform-translate-y:0.5rem}.hover\:translate-y-3:hover{--transform-translate-y:0.75rem}.hover\:translate-y-4:hover{--transform-translate-y:1rem}.hover\:translate-y-5:hover{--transform-translate-y:1.25rem}.hover\:translate-y-6:hover{--transform-translate-y:1.5rem}.hover\:translate-y-7:hover{--transform-translate-y:1.75rem}.hover\:translate-y-8:hover{--transform-translate-y:2rem}.hover\:translate-y-9:hover{--transform-translate-y:2.25rem}.hover\:translate-y-10:hover{--transform-translate-y:2.5rem}.hover\:translate-y-11:hover{--transform-translate-y:2.75rem}.hover\:translate-y-12:hover{--transform-translate-y:3rem}.hover\:translate-y-13:hover{--transform-translate-y:3.25rem}.hover\:translate-y-14:hover{--transform-translate-y:3.5rem}.hover\:translate-y-15:hover{--transform-translate-y:3.75rem}.hover\:translate-y-16:hover{--transform-translate-y:4rem}.hover\:translate-y-20:hover{--transform-translate-y:5rem}.hover\:translate-y-24:hover{--transform-translate-y:6rem}.hover\:translate-y-28:hover{--transform-translate-y:7rem}.hover\:translate-y-32:hover{--transform-translate-y:8rem}.hover\:translate-y-36:hover{--transform-translate-y:9rem}.hover\:translate-y-40:hover{--transform-translate-y:10rem}.hover\:translate-y-44:hover{--transform-translate-y:11rem}.hover\:translate-y-48:hover{--transform-translate-y:12rem}.hover\:translate-y-52:hover{--transform-translate-y:13rem}.hover\:translate-y-56:hover{--transform-translate-y:14rem}.hover\:translate-y-60:hover{--transform-translate-y:15rem}.hover\:translate-y-64:hover{--transform-translate-y:16rem}.hover\:translate-y-72:hover{--transform-translate-y:18rem}.hover\:translate-y-80:hover{--transform-translate-y:20rem}.hover\:translate-y-96:hover{--transform-translate-y:24rem}.hover\:translate-y-px:hover{--transform-translate-y:1px}.hover\:translate-y-0\.5:hover{--transform-translate-y:0.125rem}.hover\:translate-y-1\.5:hover{--transform-translate-y:0.375rem}.hover\:translate-y-2\.5:hover{--transform-translate-y:0.625rem}.hover\:translate-y-3\.5:hover{--transform-translate-y:0.875rem}.hover\:translate-y-1\/2:hover{--transform-translate-y:50%}.hover\:translate-y-1\/3:hover{--transform-translate-y:33.333333%}.hover\:translate-y-2\/3:hover{--transform-translate-y:66.666667%}.hover\:translate-y-1\/4:hover{--transform-translate-y:25%}.hover\:translate-y-2\/4:hover{--transform-translate-y:50%}.hover\:translate-y-3\/4:hover{--transform-translate-y:75%}.hover\:translate-y-1\/5:hover{--transform-translate-y:20%}.hover\:translate-y-2\/5:hover{--transform-translate-y:40%}.hover\:translate-y-3\/5:hover{--transform-translate-y:60%}.hover\:translate-y-4\/5:hover{--transform-translate-y:80%}.hover\:translate-y-1\/6:hover{--transform-translate-y:16.666667%}.hover\:translate-y-2\/6:hover{--transform-translate-y:33.333333%}.hover\:translate-y-3\/6:hover{--transform-translate-y:50%}.hover\:translate-y-4\/6:hover{--transform-translate-y:66.666667%}.hover\:translate-y-5\/6:hover{--transform-translate-y:83.333333%}.hover\:translate-y-1\/12:hover{--transform-translate-y:8.333333%}.hover\:translate-y-2\/12:hover{--transform-translate-y:16.666667%}.hover\:translate-y-3\/12:hover{--transform-translate-y:25%}.hover\:translate-y-4\/12:hover{--transform-translate-y:33.333333%}.hover\:translate-y-5\/12:hover{--transform-translate-y:41.666667%}.hover\:translate-y-6\/12:hover{--transform-translate-y:50%}.hover\:translate-y-7\/12:hover{--transform-translate-y:58.333333%}.hover\:translate-y-8\/12:hover{--transform-translate-y:66.666667%}.hover\:translate-y-9\/12:hover{--transform-translate-y:75%}.hover\:translate-y-10\/12:hover{--transform-translate-y:83.333333%}.hover\:translate-y-11\/12:hover{--transform-translate-y:91.666667%}.hover\:translate-y-full:hover{--transform-translate-y:100%}.hover\:-translate-y-1:hover{--transform-translate-y:-0.25rem}.hover\:-translate-y-2:hover{--transform-translate-y:-0.5rem}.hover\:-translate-y-3:hover{--transform-translate-y:-0.75rem}.hover\:-translate-y-4:hover{--transform-translate-y:-1rem}.hover\:-translate-y-5:hover{--transform-translate-y:-1.25rem}.hover\:-translate-y-6:hover{--transform-translate-y:-1.5rem}.hover\:-translate-y-7:hover{--transform-translate-y:-1.75rem}.hover\:-translate-y-8:hover{--transform-translate-y:-2rem}.hover\:-translate-y-9:hover{--transform-translate-y:-2.25rem}.hover\:-translate-y-10:hover{--transform-translate-y:-2.5rem}.hover\:-translate-y-11:hover{--transform-translate-y:-2.75rem}.hover\:-translate-y-12:hover{--transform-translate-y:-3rem}.hover\:-translate-y-13:hover{--transform-translate-y:-3.25rem}.hover\:-translate-y-14:hover{--transform-translate-y:-3.5rem}.hover\:-translate-y-15:hover{--transform-translate-y:-3.75rem}.hover\:-translate-y-16:hover{--transform-translate-y:-4rem}.hover\:-translate-y-20:hover{--transform-translate-y:-5rem}.hover\:-translate-y-24:hover{--transform-translate-y:-6rem}.hover\:-translate-y-28:hover{--transform-translate-y:-7rem}.hover\:-translate-y-32:hover{--transform-translate-y:-8rem}.hover\:-translate-y-36:hover{--transform-translate-y:-9rem}.hover\:-translate-y-40:hover{--transform-translate-y:-10rem}.hover\:-translate-y-44:hover{--transform-translate-y:-11rem}.hover\:-translate-y-48:hover{--transform-translate-y:-12rem}.hover\:-translate-y-52:hover{--transform-translate-y:-13rem}.hover\:-translate-y-56:hover{--transform-translate-y:-14rem}.hover\:-translate-y-60:hover{--transform-translate-y:-15rem}.hover\:-translate-y-64:hover{--transform-translate-y:-16rem}.hover\:-translate-y-72:hover{--transform-translate-y:-18rem}.hover\:-translate-y-80:hover{--transform-translate-y:-20rem}.hover\:-translate-y-96:hover{--transform-translate-y:-24rem}.hover\:-translate-y-px:hover{--transform-translate-y:-1px}.hover\:-translate-y-0\.5:hover{--transform-translate-y:-0.125rem}.hover\:-translate-y-1\.5:hover{--transform-translate-y:-0.375rem}.hover\:-translate-y-2\.5:hover{--transform-translate-y:-0.625rem}.hover\:-translate-y-3\.5:hover{--transform-translate-y:-0.875rem}.hover\:-translate-y-1\/2:hover{--transform-translate-y:-50%}.hover\:-translate-y-1\/3:hover{--transform-translate-y:-33.33333%}.hover\:-translate-y-2\/3:hover{--transform-translate-y:-66.66667%}.hover\:-translate-y-1\/4:hover{--transform-translate-y:-25%}.hover\:-translate-y-2\/4:hover{--transform-translate-y:-50%}.hover\:-translate-y-3\/4:hover{--transform-translate-y:-75%}.hover\:-translate-y-1\/5:hover{--transform-translate-y:-20%}.hover\:-translate-y-2\/5:hover{--transform-translate-y:-40%}.hover\:-translate-y-3\/5:hover{--transform-translate-y:-60%}.hover\:-translate-y-4\/5:hover{--transform-translate-y:-80%}.hover\:-translate-y-1\/6:hover{--transform-translate-y:-16.66667%}.hover\:-translate-y-2\/6:hover{--transform-translate-y:-33.33333%}.hover\:-translate-y-3\/6:hover{--transform-translate-y:-50%}.hover\:-translate-y-4\/6:hover{--transform-translate-y:-66.66667%}.hover\:-translate-y-5\/6:hover{--transform-translate-y:-83.33333%}.hover\:-translate-y-1\/12:hover{--transform-translate-y:-8.33333%}.hover\:-translate-y-2\/12:hover{--transform-translate-y:-16.66667%}.hover\:-translate-y-3\/12:hover{--transform-translate-y:-25%}.hover\:-translate-y-4\/12:hover{--transform-translate-y:-33.33333%}.hover\:-translate-y-5\/12:hover{--transform-translate-y:-41.66667%}.hover\:-translate-y-6\/12:hover{--transform-translate-y:-50%}.hover\:-translate-y-7\/12:hover{--transform-translate-y:-58.33333%}.hover\:-translate-y-8\/12:hover{--transform-translate-y:-66.66667%}.hover\:-translate-y-9\/12:hover{--transform-translate-y:-75%}.hover\:-translate-y-10\/12:hover{--transform-translate-y:-83.33333%}.hover\:-translate-y-11\/12:hover{--transform-translate-y:-91.66667%}.hover\:-translate-y-full:hover{--transform-translate-y:-100%}.focus\:translate-x-0:focus{--transform-translate-x:0}.focus\:translate-x-1:focus{--transform-translate-x:0.25rem}.focus\:translate-x-2:focus{--transform-translate-x:0.5rem}.focus\:translate-x-3:focus{--transform-translate-x:0.75rem}.focus\:translate-x-4:focus{--transform-translate-x:1rem}.focus\:translate-x-5:focus{--transform-translate-x:1.25rem}.focus\:translate-x-6:focus{--transform-translate-x:1.5rem}.focus\:translate-x-7:focus{--transform-translate-x:1.75rem}.focus\:translate-x-8:focus{--transform-translate-x:2rem}.focus\:translate-x-9:focus{--transform-translate-x:2.25rem}.focus\:translate-x-10:focus{--transform-translate-x:2.5rem}.focus\:translate-x-11:focus{--transform-translate-x:2.75rem}.focus\:translate-x-12:focus{--transform-translate-x:3rem}.focus\:translate-x-13:focus{--transform-translate-x:3.25rem}.focus\:translate-x-14:focus{--transform-translate-x:3.5rem}.focus\:translate-x-15:focus{--transform-translate-x:3.75rem}.focus\:translate-x-16:focus{--transform-translate-x:4rem}.focus\:translate-x-20:focus{--transform-translate-x:5rem}.focus\:translate-x-24:focus{--transform-translate-x:6rem}.focus\:translate-x-28:focus{--transform-translate-x:7rem}.focus\:translate-x-32:focus{--transform-translate-x:8rem}.focus\:translate-x-36:focus{--transform-translate-x:9rem}.focus\:translate-x-40:focus{--transform-translate-x:10rem}.focus\:translate-x-44:focus{--transform-translate-x:11rem}.focus\:translate-x-48:focus{--transform-translate-x:12rem}.focus\:translate-x-52:focus{--transform-translate-x:13rem}.focus\:translate-x-56:focus{--transform-translate-x:14rem}.focus\:translate-x-60:focus{--transform-translate-x:15rem}.focus\:translate-x-64:focus{--transform-translate-x:16rem}.focus\:translate-x-72:focus{--transform-translate-x:18rem}.focus\:translate-x-80:focus{--transform-translate-x:20rem}.focus\:translate-x-96:focus{--transform-translate-x:24rem}.focus\:translate-x-px:focus{--transform-translate-x:1px}.focus\:translate-x-0\.5:focus{--transform-translate-x:0.125rem}.focus\:translate-x-1\.5:focus{--transform-translate-x:0.375rem}.focus\:translate-x-2\.5:focus{--transform-translate-x:0.625rem}.focus\:translate-x-3\.5:focus{--transform-translate-x:0.875rem}.focus\:translate-x-1\/2:focus{--transform-translate-x:50%}.focus\:translate-x-1\/3:focus{--transform-translate-x:33.333333%}.focus\:translate-x-2\/3:focus{--transform-translate-x:66.666667%}.focus\:translate-x-1\/4:focus{--transform-translate-x:25%}.focus\:translate-x-2\/4:focus{--transform-translate-x:50%}.focus\:translate-x-3\/4:focus{--transform-translate-x:75%}.focus\:translate-x-1\/5:focus{--transform-translate-x:20%}.focus\:translate-x-2\/5:focus{--transform-translate-x:40%}.focus\:translate-x-3\/5:focus{--transform-translate-x:60%}.focus\:translate-x-4\/5:focus{--transform-translate-x:80%}.focus\:translate-x-1\/6:focus{--transform-translate-x:16.666667%}.focus\:translate-x-2\/6:focus{--transform-translate-x:33.333333%}.focus\:translate-x-3\/6:focus{--transform-translate-x:50%}.focus\:translate-x-4\/6:focus{--transform-translate-x:66.666667%}.focus\:translate-x-5\/6:focus{--transform-translate-x:83.333333%}.focus\:translate-x-1\/12:focus{--transform-translate-x:8.333333%}.focus\:translate-x-2\/12:focus{--transform-translate-x:16.666667%}.focus\:translate-x-3\/12:focus{--transform-translate-x:25%}.focus\:translate-x-4\/12:focus{--transform-translate-x:33.333333%}.focus\:translate-x-5\/12:focus{--transform-translate-x:41.666667%}.focus\:translate-x-6\/12:focus{--transform-translate-x:50%}.focus\:translate-x-7\/12:focus{--transform-translate-x:58.333333%}.focus\:translate-x-8\/12:focus{--transform-translate-x:66.666667%}.focus\:translate-x-9\/12:focus{--transform-translate-x:75%}.focus\:translate-x-10\/12:focus{--transform-translate-x:83.333333%}.focus\:translate-x-11\/12:focus{--transform-translate-x:91.666667%}.focus\:translate-x-full:focus{--transform-translate-x:100%}.focus\:-translate-x-1:focus{--transform-translate-x:-0.25rem}.focus\:-translate-x-2:focus{--transform-translate-x:-0.5rem}.focus\:-translate-x-3:focus{--transform-translate-x:-0.75rem}.focus\:-translate-x-4:focus{--transform-translate-x:-1rem}.focus\:-translate-x-5:focus{--transform-translate-x:-1.25rem}.focus\:-translate-x-6:focus{--transform-translate-x:-1.5rem}.focus\:-translate-x-7:focus{--transform-translate-x:-1.75rem}.focus\:-translate-x-8:focus{--transform-translate-x:-2rem}.focus\:-translate-x-9:focus{--transform-translate-x:-2.25rem}.focus\:-translate-x-10:focus{--transform-translate-x:-2.5rem}.focus\:-translate-x-11:focus{--transform-translate-x:-2.75rem}.focus\:-translate-x-12:focus{--transform-translate-x:-3rem}.focus\:-translate-x-13:focus{--transform-translate-x:-3.25rem}.focus\:-translate-x-14:focus{--transform-translate-x:-3.5rem}.focus\:-translate-x-15:focus{--transform-translate-x:-3.75rem}.focus\:-translate-x-16:focus{--transform-translate-x:-4rem}.focus\:-translate-x-20:focus{--transform-translate-x:-5rem}.focus\:-translate-x-24:focus{--transform-translate-x:-6rem}.focus\:-translate-x-28:focus{--transform-translate-x:-7rem}.focus\:-translate-x-32:focus{--transform-translate-x:-8rem}.focus\:-translate-x-36:focus{--transform-translate-x:-9rem}.focus\:-translate-x-40:focus{--transform-translate-x:-10rem}.focus\:-translate-x-44:focus{--transform-translate-x:-11rem}.focus\:-translate-x-48:focus{--transform-translate-x:-12rem}.focus\:-translate-x-52:focus{--transform-translate-x:-13rem}.focus\:-translate-x-56:focus{--transform-translate-x:-14rem}.focus\:-translate-x-60:focus{--transform-translate-x:-15rem}.focus\:-translate-x-64:focus{--transform-translate-x:-16rem}.focus\:-translate-x-72:focus{--transform-translate-x:-18rem}.focus\:-translate-x-80:focus{--transform-translate-x:-20rem}.focus\:-translate-x-96:focus{--transform-translate-x:-24rem}.focus\:-translate-x-px:focus{--transform-translate-x:-1px}.focus\:-translate-x-0\.5:focus{--transform-translate-x:-0.125rem}.focus\:-translate-x-1\.5:focus{--transform-translate-x:-0.375rem}.focus\:-translate-x-2\.5:focus{--transform-translate-x:-0.625rem}.focus\:-translate-x-3\.5:focus{--transform-translate-x:-0.875rem}.focus\:-translate-x-1\/2:focus{--transform-translate-x:-50%}.focus\:-translate-x-1\/3:focus{--transform-translate-x:-33.33333%}.focus\:-translate-x-2\/3:focus{--transform-translate-x:-66.66667%}.focus\:-translate-x-1\/4:focus{--transform-translate-x:-25%}.focus\:-translate-x-2\/4:focus{--transform-translate-x:-50%}.focus\:-translate-x-3\/4:focus{--transform-translate-x:-75%}.focus\:-translate-x-1\/5:focus{--transform-translate-x:-20%}.focus\:-translate-x-2\/5:focus{--transform-translate-x:-40%}.focus\:-translate-x-3\/5:focus{--transform-translate-x:-60%}.focus\:-translate-x-4\/5:focus{--transform-translate-x:-80%}.focus\:-translate-x-1\/6:focus{--transform-translate-x:-16.66667%}.focus\:-translate-x-2\/6:focus{--transform-translate-x:-33.33333%}.focus\:-translate-x-3\/6:focus{--transform-translate-x:-50%}.focus\:-translate-x-4\/6:focus{--transform-translate-x:-66.66667%}.focus\:-translate-x-5\/6:focus{--transform-translate-x:-83.33333%}.focus\:-translate-x-1\/12:focus{--transform-translate-x:-8.33333%}.focus\:-translate-x-2\/12:focus{--transform-translate-x:-16.66667%}.focus\:-translate-x-3\/12:focus{--transform-translate-x:-25%}.focus\:-translate-x-4\/12:focus{--transform-translate-x:-33.33333%}.focus\:-translate-x-5\/12:focus{--transform-translate-x:-41.66667%}.focus\:-translate-x-6\/12:focus{--transform-translate-x:-50%}.focus\:-translate-x-7\/12:focus{--transform-translate-x:-58.33333%}.focus\:-translate-x-8\/12:focus{--transform-translate-x:-66.66667%}.focus\:-translate-x-9\/12:focus{--transform-translate-x:-75%}.focus\:-translate-x-10\/12:focus{--transform-translate-x:-83.33333%}.focus\:-translate-x-11\/12:focus{--transform-translate-x:-91.66667%}.focus\:-translate-x-full:focus{--transform-translate-x:-100%}.focus\:translate-y-0:focus{--transform-translate-y:0}.focus\:translate-y-1:focus{--transform-translate-y:0.25rem}.focus\:translate-y-2:focus{--transform-translate-y:0.5rem}.focus\:translate-y-3:focus{--transform-translate-y:0.75rem}.focus\:translate-y-4:focus{--transform-translate-y:1rem}.focus\:translate-y-5:focus{--transform-translate-y:1.25rem}.focus\:translate-y-6:focus{--transform-translate-y:1.5rem}.focus\:translate-y-7:focus{--transform-translate-y:1.75rem}.focus\:translate-y-8:focus{--transform-translate-y:2rem}.focus\:translate-y-9:focus{--transform-translate-y:2.25rem}.focus\:translate-y-10:focus{--transform-translate-y:2.5rem}.focus\:translate-y-11:focus{--transform-translate-y:2.75rem}.focus\:translate-y-12:focus{--transform-translate-y:3rem}.focus\:translate-y-13:focus{--transform-translate-y:3.25rem}.focus\:translate-y-14:focus{--transform-translate-y:3.5rem}.focus\:translate-y-15:focus{--transform-translate-y:3.75rem}.focus\:translate-y-16:focus{--transform-translate-y:4rem}.focus\:translate-y-20:focus{--transform-translate-y:5rem}.focus\:translate-y-24:focus{--transform-translate-y:6rem}.focus\:translate-y-28:focus{--transform-translate-y:7rem}.focus\:translate-y-32:focus{--transform-translate-y:8rem}.focus\:translate-y-36:focus{--transform-translate-y:9rem}.focus\:translate-y-40:focus{--transform-translate-y:10rem}.focus\:translate-y-44:focus{--transform-translate-y:11rem}.focus\:translate-y-48:focus{--transform-translate-y:12rem}.focus\:translate-y-52:focus{--transform-translate-y:13rem}.focus\:translate-y-56:focus{--transform-translate-y:14rem}.focus\:translate-y-60:focus{--transform-translate-y:15rem}.focus\:translate-y-64:focus{--transform-translate-y:16rem}.focus\:translate-y-72:focus{--transform-translate-y:18rem}.focus\:translate-y-80:focus{--transform-translate-y:20rem}.focus\:translate-y-96:focus{--transform-translate-y:24rem}.focus\:translate-y-px:focus{--transform-translate-y:1px}.focus\:translate-y-0\.5:focus{--transform-translate-y:0.125rem}.focus\:translate-y-1\.5:focus{--transform-translate-y:0.375rem}.focus\:translate-y-2\.5:focus{--transform-translate-y:0.625rem}.focus\:translate-y-3\.5:focus{--transform-translate-y:0.875rem}.focus\:translate-y-1\/2:focus{--transform-translate-y:50%}.focus\:translate-y-1\/3:focus{--transform-translate-y:33.333333%}.focus\:translate-y-2\/3:focus{--transform-translate-y:66.666667%}.focus\:translate-y-1\/4:focus{--transform-translate-y:25%}.focus\:translate-y-2\/4:focus{--transform-translate-y:50%}.focus\:translate-y-3\/4:focus{--transform-translate-y:75%}.focus\:translate-y-1\/5:focus{--transform-translate-y:20%}.focus\:translate-y-2\/5:focus{--transform-translate-y:40%}.focus\:translate-y-3\/5:focus{--transform-translate-y:60%}.focus\:translate-y-4\/5:focus{--transform-translate-y:80%}.focus\:translate-y-1\/6:focus{--transform-translate-y:16.666667%}.focus\:translate-y-2\/6:focus{--transform-translate-y:33.333333%}.focus\:translate-y-3\/6:focus{--transform-translate-y:50%}.focus\:translate-y-4\/6:focus{--transform-translate-y:66.666667%}.focus\:translate-y-5\/6:focus{--transform-translate-y:83.333333%}.focus\:translate-y-1\/12:focus{--transform-translate-y:8.333333%}.focus\:translate-y-2\/12:focus{--transform-translate-y:16.666667%}.focus\:translate-y-3\/12:focus{--transform-translate-y:25%}.focus\:translate-y-4\/12:focus{--transform-translate-y:33.333333%}.focus\:translate-y-5\/12:focus{--transform-translate-y:41.666667%}.focus\:translate-y-6\/12:focus{--transform-translate-y:50%}.focus\:translate-y-7\/12:focus{--transform-translate-y:58.333333%}.focus\:translate-y-8\/12:focus{--transform-translate-y:66.666667%}.focus\:translate-y-9\/12:focus{--transform-translate-y:75%}.focus\:translate-y-10\/12:focus{--transform-translate-y:83.333333%}.focus\:translate-y-11\/12:focus{--transform-translate-y:91.666667%}.focus\:translate-y-full:focus{--transform-translate-y:100%}.focus\:-translate-y-1:focus{--transform-translate-y:-0.25rem}.focus\:-translate-y-2:focus{--transform-translate-y:-0.5rem}.focus\:-translate-y-3:focus{--transform-translate-y:-0.75rem}.focus\:-translate-y-4:focus{--transform-translate-y:-1rem}.focus\:-translate-y-5:focus{--transform-translate-y:-1.25rem}.focus\:-translate-y-6:focus{--transform-translate-y:-1.5rem}.focus\:-translate-y-7:focus{--transform-translate-y:-1.75rem}.focus\:-translate-y-8:focus{--transform-translate-y:-2rem}.focus\:-translate-y-9:focus{--transform-translate-y:-2.25rem}.focus\:-translate-y-10:focus{--transform-translate-y:-2.5rem}.focus\:-translate-y-11:focus{--transform-translate-y:-2.75rem}.focus\:-translate-y-12:focus{--transform-translate-y:-3rem}.focus\:-translate-y-13:focus{--transform-translate-y:-3.25rem}.focus\:-translate-y-14:focus{--transform-translate-y:-3.5rem}.focus\:-translate-y-15:focus{--transform-translate-y:-3.75rem}.focus\:-translate-y-16:focus{--transform-translate-y:-4rem}.focus\:-translate-y-20:focus{--transform-translate-y:-5rem}.focus\:-translate-y-24:focus{--transform-translate-y:-6rem}.focus\:-translate-y-28:focus{--transform-translate-y:-7rem}.focus\:-translate-y-32:focus{--transform-translate-y:-8rem}.focus\:-translate-y-36:focus{--transform-translate-y:-9rem}.focus\:-translate-y-40:focus{--transform-translate-y:-10rem}.focus\:-translate-y-44:focus{--transform-translate-y:-11rem}.focus\:-translate-y-48:focus{--transform-translate-y:-12rem}.focus\:-translate-y-52:focus{--transform-translate-y:-13rem}.focus\:-translate-y-56:focus{--transform-translate-y:-14rem}.focus\:-translate-y-60:focus{--transform-translate-y:-15rem}.focus\:-translate-y-64:focus{--transform-translate-y:-16rem}.focus\:-translate-y-72:focus{--transform-translate-y:-18rem}.focus\:-translate-y-80:focus{--transform-translate-y:-20rem}.focus\:-translate-y-96:focus{--transform-translate-y:-24rem}.focus\:-translate-y-px:focus{--transform-translate-y:-1px}.focus\:-translate-y-0\.5:focus{--transform-translate-y:-0.125rem}.focus\:-translate-y-1\.5:focus{--transform-translate-y:-0.375rem}.focus\:-translate-y-2\.5:focus{--transform-translate-y:-0.625rem}.focus\:-translate-y-3\.5:focus{--transform-translate-y:-0.875rem}.focus\:-translate-y-1\/2:focus{--transform-translate-y:-50%}.focus\:-translate-y-1\/3:focus{--transform-translate-y:-33.33333%}.focus\:-translate-y-2\/3:focus{--transform-translate-y:-66.66667%}.focus\:-translate-y-1\/4:focus{--transform-translate-y:-25%}.focus\:-translate-y-2\/4:focus{--transform-translate-y:-50%}.focus\:-translate-y-3\/4:focus{--transform-translate-y:-75%}.focus\:-translate-y-1\/5:focus{--transform-translate-y:-20%}.focus\:-translate-y-2\/5:focus{--transform-translate-y:-40%}.focus\:-translate-y-3\/5:focus{--transform-translate-y:-60%}.focus\:-translate-y-4\/5:focus{--transform-translate-y:-80%}.focus\:-translate-y-1\/6:focus{--transform-translate-y:-16.66667%}.focus\:-translate-y-2\/6:focus{--transform-translate-y:-33.33333%}.focus\:-translate-y-3\/6:focus{--transform-translate-y:-50%}.focus\:-translate-y-4\/6:focus{--transform-translate-y:-66.66667%}.focus\:-translate-y-5\/6:focus{--transform-translate-y:-83.33333%}.focus\:-translate-y-1\/12:focus{--transform-translate-y:-8.33333%}.focus\:-translate-y-2\/12:focus{--transform-translate-y:-16.66667%}.focus\:-translate-y-3\/12:focus{--transform-translate-y:-25%}.focus\:-translate-y-4\/12:focus{--transform-translate-y:-33.33333%}.focus\:-translate-y-5\/12:focus{--transform-translate-y:-41.66667%}.focus\:-translate-y-6\/12:focus{--transform-translate-y:-50%}.focus\:-translate-y-7\/12:focus{--transform-translate-y:-58.33333%}.focus\:-translate-y-8\/12:focus{--transform-translate-y:-66.66667%}.focus\:-translate-y-9\/12:focus{--transform-translate-y:-75%}.focus\:-translate-y-10\/12:focus{--transform-translate-y:-83.33333%}.focus\:-translate-y-11\/12:focus{--transform-translate-y:-91.66667%}.focus\:-translate-y-full:focus{--transform-translate-y:-100%}.skew-x-0{--transform-skew-x:0}.skew-x-3{--transform-skew-x:3deg}.skew-x-6{--transform-skew-x:6deg}.skew-x-12{--transform-skew-x:12deg}.-skew-x-12{--transform-skew-x:-12deg}.-skew-x-6{--transform-skew-x:-6deg}.-skew-x-3{--transform-skew-x:-3deg}.skew-y-0{--transform-skew-y:0}.skew-y-3{--transform-skew-y:3deg}.skew-y-6{--transform-skew-y:6deg}.skew-y-12{--transform-skew-y:12deg}.-skew-y-12{--transform-skew-y:-12deg}.-skew-y-6{--transform-skew-y:-6deg}.-skew-y-3{--transform-skew-y:-3deg}.hover\:skew-x-0:hover{--transform-skew-x:0}.hover\:skew-x-3:hover{--transform-skew-x:3deg}.hover\:skew-x-6:hover{--transform-skew-x:6deg}.hover\:skew-x-12:hover{--transform-skew-x:12deg}.hover\:-skew-x-12:hover{--transform-skew-x:-12deg}.hover\:-skew-x-6:hover{--transform-skew-x:-6deg}.hover\:-skew-x-3:hover{--transform-skew-x:-3deg}.hover\:skew-y-0:hover{--transform-skew-y:0}.hover\:skew-y-3:hover{--transform-skew-y:3deg}.hover\:skew-y-6:hover{--transform-skew-y:6deg}.hover\:skew-y-12:hover{--transform-skew-y:12deg}.hover\:-skew-y-12:hover{--transform-skew-y:-12deg}.hover\:-skew-y-6:hover{--transform-skew-y:-6deg}.hover\:-skew-y-3:hover{--transform-skew-y:-3deg}.focus\:skew-x-0:focus{--transform-skew-x:0}.focus\:skew-x-3:focus{--transform-skew-x:3deg}.focus\:skew-x-6:focus{--transform-skew-x:6deg}.focus\:skew-x-12:focus{--transform-skew-x:12deg}.focus\:-skew-x-12:focus{--transform-skew-x:-12deg}.focus\:-skew-x-6:focus{--transform-skew-x:-6deg}.focus\:-skew-x-3:focus{--transform-skew-x:-3deg}.focus\:skew-y-0:focus{--transform-skew-y:0}.focus\:skew-y-3:focus{--transform-skew-y:3deg}.focus\:skew-y-6:focus{--transform-skew-y:6deg}.focus\:skew-y-12:focus{--transform-skew-y:12deg}.focus\:-skew-y-12:focus{--transform-skew-y:-12deg}.focus\:-skew-y-6:focus{--transform-skew-y:-6deg}.focus\:-skew-y-3:focus{--transform-skew-y:-3deg}.transition-none{transition-property:none}.transition-all{transition-property:all}.transition{transition-property:background-color,border-color,color,fill,stroke,opacity,box-shadow,transform}.transition-colors{transition-property:background-color,border-color,color,fill,stroke}.transition-opacity{transition-property:opacity}.transition-shadow{transition-property:box-shadow}.transition-transform{transition-property:transform}.ease-linear{transition-timing-function:linear}.ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-75{transition-duration:75ms}.duration-100{transition-duration:.1s}.duration-150{transition-duration:150ms}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.duration-700{transition-duration:.7s}.duration-1000{transition-duration:1s}.delay-75{transition-delay:75ms}.delay-100{transition-delay:.1s}.delay-150{transition-delay:150ms}.delay-200{transition-delay:.2s}.delay-300{transition-delay:.3s}.delay-500{transition-delay:.5s}.delay-700{transition-delay:.7s}.delay-1000{transition-delay:1s}@media (min-width:640px){.sm\:container{width:100%}@media (min-width:640px){.sm\:container{max-width:640px}}@media (min-width:768px){.sm\:container{max-width:768px}}@media (min-width:1024px){.sm\:container{max-width:1024px}}@media (min-width:1280px){.sm\:container{max-width:1280px}}.sm\:prose{color:#374151;max-width:65ch}.sm\:prose [class~=lead]{color:#4b5563;font-size:1.25em;line-height:1.6;margin-top:1.2em;margin-bottom:1.2em}.sm\:prose a{color:#5850ec;text-decoration:none;font-weight:600}.sm\:prose strong{color:#161e2e;font-weight:600}.sm\:prose ol{counter-reset:list-counter;margin-top:1.25em;margin-bottom:1.25em}.sm\:prose ol>li{position:relative;counter-increment:list-counter;padding-left:1.75em}.sm\:prose ol>li::before{content:counter(list-counter) ".";position:absolute;font-weight:400;color:#6b7280}.sm\:prose ul>li{position:relative;padding-left:1.75em}.sm\:prose ul>li::before{content:"";position:absolute;background-color:#d2d6dc;border-radius:50%;width:.375em;height:.375em;top:calc(.875em - .1875em);left:.25em}.sm\:prose hr{border-color:#e5e7eb;border-top-width:1px;margin-top:3em;margin-bottom:3em}.sm\:prose blockquote{font-weight:500;font-style:italic;color:#161e2e;border-left-width:.25rem;border-left-color:#e5e7eb;quotes:"\201C""\201D""\2018""\2019";margin-top:1.6em;margin-bottom:1.6em;padding-left:1em}.sm\:prose blockquote p:first-of-type::before{content:open-quote}.sm\:prose blockquote p:last-of-type::after{content:close-quote}.sm\:prose h1{color:#1a202c;font-weight:800;font-size:2.25em;margin-top:0;margin-bottom:.8888889em;line-height:1.1111111}.sm\:prose h2{color:#1a202c;font-weight:700;font-size:1.5em;margin-top:2em;margin-bottom:1em;line-height:1.3333333}.sm\:prose h3{color:#1a202c;font-weight:600;font-size:1.25em;margin-top:1.6em;margin-bottom:.6em;line-height:1.6}.sm\:prose h4{color:#1a202c;font-weight:600;margin-top:1.5em;margin-bottom:.5em;line-height:1.5}.sm\:prose figure figcaption{color:#6b7280;font-size:.875em;line-height:1.4285714;margin-top:.8571429em}.sm\:prose code{color:#161e2e;font-weight:600;font-size:.875em}.sm\:prose code::before{content:"`"}.sm\:prose code::after{content:"`"}.sm\:prose pre{color:#e5e7eb;background-color:#252f3f;overflow-x:auto;font-size:.875em;line-height:1.7142857;margin-top:1.7142857em;margin-bottom:1.7142857em;border-radius:.375rem;padding-top:.8571429em;padding-right:1.1428571em;padding-bottom:.8571429em;padding-left:1.1428571em}.sm\:prose pre code{background-color:transparent;border-width:0;border-radius:0;padding:0;font-weight:400;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}.sm\:prose pre code::before{content:""}.sm\:prose pre code::after{content:""}.sm\:prose table{width:100%;table-layout:auto;text-align:left;margin-top:2em;margin-bottom:2em;font-size:.875em;line-height:1.7142857}.sm\:prose thead{color:#161e2e;font-weight:600;border-bottom-width:1px;border-bottom-color:#d2d6dc}.sm\:prose thead th{vertical-align:bottom;padding-right:.5714286em;padding-bottom:.5714286em;padding-left:.5714286em}.sm\:prose tbody tr{border-bottom-width:1px;border-bottom-color:#e5e7eb}.sm\:prose tbody tr:last-child{border-bottom-width:0}.sm\:prose tbody td{vertical-align:top;padding-top:.5714286em;padding-right:.5714286em;padding-bottom:.5714286em;padding-left:.5714286em}.sm\:prose{font-size:1rem;line-height:1.75}.sm\:prose p{margin-top:1.25em;margin-bottom:1.25em}.sm\:prose img{margin-top:2em;margin-bottom:2em}.sm\:prose video{margin-top:2em;margin-bottom:2em}.sm\:prose figure{margin-top:2em;margin-bottom:2em}.sm\:prose figure>*{margin-top:0;margin-bottom:0}.sm\:prose h2 code{font-size:.875em}.sm\:prose h3 code{font-size:.9em}.sm\:prose ul{margin-top:1.25em;margin-bottom:1.25em}.sm\:prose li{margin-top:.5em;margin-bottom:.5em}.sm\:prose ol>li:before{left:0}.sm\:prose>ul>li p{margin-top:.75em;margin-bottom:.75em}.sm\:prose>ul>li>:first-child{margin-top:1.25em}.sm\:prose>ul>li>:last-child{margin-bottom:1.25em}.sm\:prose>ol>li>:first-child{margin-top:1.25em}.sm\:prose>ol>li>:last-child{margin-bottom:1.25em}.sm\:prose ol ol,.sm\:prose ol ul,.sm\:prose ul ol,.sm\:prose ul ul{margin-top:.75em;margin-bottom:.75em}.sm\:prose hr+*{margin-top:0}.sm\:prose h2+*{margin-top:0}.sm\:prose h3+*{margin-top:0}.sm\:prose h4+*{margin-top:0}.sm\:prose thead th:first-child{padding-left:0}.sm\:prose thead th:last-child{padding-right:0}.sm\:prose tbody td:first-child{padding-left:0}.sm\:prose tbody td:last-child{padding-right:0}.sm\:prose>:first-child{margin-top:0}.sm\:prose>:last-child{margin-bottom:0}.sm\:prose h1,.sm\:prose h2,.sm\:prose h3,.sm\:prose h4{color:#161e2e}.sm\:prose-sm{font-size:.875rem;line-height:1.7142857}.sm\:prose-sm p{margin-top:1.1428571em;margin-bottom:1.1428571em}.sm\:prose-sm [class~=lead]{font-size:1.2857143em;line-height:1.5555556;margin-top:.8888889em;margin-bottom:.8888889em}.sm\:prose-sm blockquote{margin-top:1.3333333em;margin-bottom:1.3333333em;padding-left:1.1111111em}.sm\:prose-sm h1{font-size:2.1428571em;margin-top:0;margin-bottom:.8em;line-height:1.2}.sm\:prose-sm h2{font-size:1.4285714em;margin-top:1.6em;margin-bottom:.8em;line-height:1.4}.sm\:prose-sm h3{font-size:1.2857143em;margin-top:1.5555556em;margin-bottom:.4444444em;line-height:1.5555556}.sm\:prose-sm h4{margin-top:1.4285714em;margin-bottom:.5714286em;line-height:1.4285714}.sm\:prose-sm img{margin-top:1.7142857em;margin-bottom:1.7142857em}.sm\:prose-sm video{margin-top:1.7142857em;margin-bottom:1.7142857em}.sm\:prose-sm figure{margin-top:1.7142857em;margin-bottom:1.7142857em}.sm\:prose-sm figure>*{margin-top:0;margin-bottom:0}.sm\:prose-sm figure figcaption{font-size:.8571429em;line-height:1.3333333;margin-top:.6666667em}.sm\:prose-sm code{font-size:.8571429em}.sm\:prose-sm h2 code{font-size:.9em}.sm\:prose-sm h3 code{font-size:.8888889em}.sm\:prose-sm pre{font-size:.8571429em;line-height:1.6666667;margin-top:1.6666667em;margin-bottom:1.6666667em;border-radius:.25rem;padding-top:.6666667em;padding-right:1em;padding-bottom:.6666667em;padding-left:1em}.sm\:prose-sm ol{margin-top:1.1428571em;margin-bottom:1.1428571em}.sm\:prose-sm ul{margin-top:1.1428571em;margin-bottom:1.1428571em}.sm\:prose-sm li{margin-top:.2857143em;margin-bottom:.2857143em}.sm\:prose-sm ol>li{padding-left:1.5714286em}.sm\:prose-sm ol>li:before{left:0}.sm\:prose-sm ul>li{padding-left:1.5714286em}.sm\:prose-sm ul>li::before{height:.3571429em;width:.3571429em;top:calc(.8571429em - .1785714em);left:.2142857em}.sm\:prose-sm>ul>li p{margin-top:.5714286em;margin-bottom:.5714286em}.sm\:prose-sm>ul>li>:first-child{margin-top:1.1428571em}.sm\:prose-sm>ul>li>:last-child{margin-bottom:1.1428571em}.sm\:prose-sm>ol>li>:first-child{margin-top:1.1428571em}.sm\:prose-sm>ol>li>:last-child{margin-bottom:1.1428571em}.sm\:prose-sm ol ol,.sm\:prose-sm ol ul,.sm\:prose-sm ul ol,.sm\:prose-sm ul ul{margin-top:.5714286em;margin-bottom:.5714286em}.sm\:prose-sm hr{margin-top:2.8571429em;margin-bottom:2.8571429em}.sm\:prose-sm hr+*{margin-top:0}.sm\:prose-sm h2+*{margin-top:0}.sm\:prose-sm h3+*{margin-top:0}.sm\:prose-sm h4+*{margin-top:0}.sm\:prose-sm table{font-size:.8571429em;line-height:1.5}.sm\:prose-sm thead th{padding-right:1em;padding-bottom:.6666667em;padding-left:1em}.sm\:prose-sm thead th:first-child{padding-left:0}.sm\:prose-sm thead th:last-child{padding-right:0}.sm\:prose-sm tbody td{padding-top:.6666667em;padding-right:1em;padding-bottom:.6666667em;padding-left:1em}.sm\:prose-sm tbody td:first-child{padding-left:0}.sm\:prose-sm tbody td:last-child{padding-right:0}.sm\:prose-sm>:first-child{margin-top:0}.sm\:prose-sm>:last-child{margin-bottom:0}.sm\:prose-lg{font-size:1.125rem;line-height:1.7777778}.sm\:prose-lg p{margin-top:1.3333333em;margin-bottom:1.3333333em}.sm\:prose-lg [class~=lead]{font-size:1.2222222em;line-height:1.4545455;margin-top:1.0909091em;margin-bottom:1.0909091em}.sm\:prose-lg blockquote{margin-top:1.6666667em;margin-bottom:1.6666667em;padding-left:1em}.sm\:prose-lg h1{font-size:2.6666667em;margin-top:0;margin-bottom:.8333333em;line-height:1}.sm\:prose-lg h2{font-size:1.6666667em;margin-top:1.8666667em;margin-bottom:1.0666667em;line-height:1.3333333}.sm\:prose-lg h3{font-size:1.3333333em;margin-top:1.6666667em;margin-bottom:.6666667em;line-height:1.5}.sm\:prose-lg h4{margin-top:1.7777778em;margin-bottom:.4444444em;line-height:1.5555556}.sm\:prose-lg img{margin-top:1.7777778em;margin-bottom:1.7777778em}.sm\:prose-lg video{margin-top:1.7777778em;margin-bottom:1.7777778em}.sm\:prose-lg figure{margin-top:1.7777778em;margin-bottom:1.7777778em}.sm\:prose-lg figure>*{margin-top:0;margin-bottom:0}.sm\:prose-lg figure figcaption{font-size:.8888889em;line-height:1.5;margin-top:1em}.sm\:prose-lg code{font-size:.8888889em}.sm\:prose-lg h2 code{font-size:.8666667em}.sm\:prose-lg h3 code{font-size:.875em}.sm\:prose-lg pre{font-size:.8888889em;line-height:1.75;margin-top:2em;margin-bottom:2em;border-radius:.375rem;padding-top:1em;padding-right:1.5em;padding-bottom:1em;padding-left:1.5em}.sm\:prose-lg ol{margin-top:1.3333333em;margin-bottom:1.3333333em}.sm\:prose-lg ul{margin-top:1.3333333em;margin-bottom:1.3333333em}.sm\:prose-lg li{margin-top:.6666667em;margin-bottom:.6666667em}.sm\:prose-lg ol>li{padding-left:1.6666667em}.sm\:prose-lg ol>li:before{left:0}.sm\:prose-lg ul>li{padding-left:1.6666667em}.sm\:prose-lg ul>li::before{width:.3333333em;height:.3333333em;top:calc(.8888889em - .1666667em);left:.2222222em}.sm\:prose-lg>ul>li p{margin-top:.8888889em;margin-bottom:.8888889em}.sm\:prose-lg>ul>li>:first-child{margin-top:1.3333333em}.sm\:prose-lg>ul>li>:last-child{margin-bottom:1.3333333em}.sm\:prose-lg>ol>li>:first-child{margin-top:1.3333333em}.sm\:prose-lg>ol>li>:last-child{margin-bottom:1.3333333em}.sm\:prose-lg ol ol,.sm\:prose-lg ol ul,.sm\:prose-lg ul ol,.sm\:prose-lg ul ul{margin-top:.8888889em;margin-bottom:.8888889em}.sm\:prose-lg hr{margin-top:3.1111111em;margin-bottom:3.1111111em}.sm\:prose-lg hr+*{margin-top:0}.sm\:prose-lg h2+*{margin-top:0}.sm\:prose-lg h3+*{margin-top:0}.sm\:prose-lg h4+*{margin-top:0}.sm\:prose-lg table{font-size:.8888889em;line-height:1.5}.sm\:prose-lg thead th{padding-right:.75em;padding-bottom:.75em;padding-left:.75em}.sm\:prose-lg thead th:first-child{padding-left:0}.sm\:prose-lg thead th:last-child{padding-right:0}.sm\:prose-lg tbody td{padding-top:.75em;padding-right:.75em;padding-bottom:.75em;padding-left:.75em}.sm\:prose-lg tbody td:first-child{padding-left:0}.sm\:prose-lg tbody td:last-child{padding-right:0}.sm\:prose-lg>:first-child{margin-top:0}.sm\:prose-lg>:last-child{margin-bottom:0}.sm\:prose-xl{font-size:1.25rem;line-height:1.8}.sm\:prose-xl p{margin-top:1.2em;margin-bottom:1.2em}.sm\:prose-xl [class~=lead]{font-size:1.2em;line-height:1.5;margin-top:1em;margin-bottom:1em}.sm\:prose-xl blockquote{margin-top:1.6em;margin-bottom:1.6em;padding-left:1.0666667em}.sm\:prose-xl h1{font-size:2.8em;margin-top:0;margin-bottom:.8571429em;line-height:1}.sm\:prose-xl h2{font-size:1.8em;margin-top:1.5555556em;margin-bottom:.8888889em;line-height:1.1111111}.sm\:prose-xl h3{font-size:1.5em;margin-top:1.6em;margin-bottom:.6666667em;line-height:1.3333333}.sm\:prose-xl h4{margin-top:1.8em;margin-bottom:.6em;line-height:1.6}.sm\:prose-xl img{margin-top:2em;margin-bottom:2em}.sm\:prose-xl video{margin-top:2em;margin-bottom:2em}.sm\:prose-xl figure{margin-top:2em;margin-bottom:2em}.sm\:prose-xl figure>*{margin-top:0;margin-bottom:0}.sm\:prose-xl figure figcaption{font-size:.9em;line-height:1.5555556;margin-top:1em}.sm\:prose-xl code{font-size:.9em}.sm\:prose-xl h2 code{font-size:.8611111em}.sm\:prose-xl h3 code{font-size:.9em}.sm\:prose-xl pre{font-size:.9em;line-height:1.7777778;margin-top:2em;margin-bottom:2em;border-radius:.5rem;padding-top:1.1111111em;padding-right:1.3333333em;padding-bottom:1.1111111em;padding-left:1.3333333em}.sm\:prose-xl ol{margin-top:1.2em;margin-bottom:1.2em}.sm\:prose-xl ul{margin-top:1.2em;margin-bottom:1.2em}.sm\:prose-xl li{margin-top:.6em;margin-bottom:.6em}.sm\:prose-xl ol>li{padding-left:1.8em}.sm\:prose-xl ol>li:before{left:0}.sm\:prose-xl ul>li{padding-left:1.8em}.sm\:prose-xl ul>li::before{width:.35em;height:.35em;top:calc(.9em - .175em);left:.25em}.sm\:prose-xl>ul>li p{margin-top:.8em;margin-bottom:.8em}.sm\:prose-xl>ul>li>:first-child{margin-top:1.2em}.sm\:prose-xl>ul>li>:last-child{margin-bottom:1.2em}.sm\:prose-xl>ol>li>:first-child{margin-top:1.2em}.sm\:prose-xl>ol>li>:last-child{margin-bottom:1.2em}.sm\:prose-xl ol ol,.sm\:prose-xl ol ul,.sm\:prose-xl ul ol,.sm\:prose-xl ul ul{margin-top:.8em;margin-bottom:.8em}.sm\:prose-xl hr{margin-top:2.8em;margin-bottom:2.8em}.sm\:prose-xl hr+*{margin-top:0}.sm\:prose-xl h2+*{margin-top:0}.sm\:prose-xl h3+*{margin-top:0}.sm\:prose-xl h4+*{margin-top:0}.sm\:prose-xl table{font-size:.9em;line-height:1.5555556}.sm\:prose-xl thead th{padding-right:.6666667em;padding-bottom:.8888889em;padding-left:.6666667em}.sm\:prose-xl thead th:first-child{padding-left:0}.sm\:prose-xl thead th:last-child{padding-right:0}.sm\:prose-xl tbody td{padding-top:.8888889em;padding-right:.6666667em;padding-bottom:.8888889em;padding-left:.6666667em}.sm\:prose-xl tbody td:first-child{padding-left:0}.sm\:prose-xl tbody td:last-child{padding-right:0}.sm\:prose-xl>:first-child{margin-top:0}.sm\:prose-xl>:last-child{margin-bottom:0}.sm\:prose-2xl{font-size:1.5rem;line-height:1.6666667}.sm\:prose-2xl p{margin-top:1.3333333em;margin-bottom:1.3333333em}.sm\:prose-2xl [class~=lead]{font-size:1.25em;line-height:1.4666667;margin-top:1.0666667em;margin-bottom:1.0666667em}.sm\:prose-2xl blockquote{margin-top:1.7777778em;margin-bottom:1.7777778em;padding-left:1.1111111em}.sm\:prose-2xl h1{font-size:2.6666667em;margin-top:0;margin-bottom:.875em;line-height:1}.sm\:prose-2xl h2{font-size:2em;margin-top:1.5em;margin-bottom:.8333333em;line-height:1.0833333}.sm\:prose-2xl h3{font-size:1.5em;margin-top:1.5555556em;margin-bottom:.6666667em;line-height:1.2222222}.sm\:prose-2xl h4{margin-top:1.6666667em;margin-bottom:.6666667em;line-height:1.5}.sm\:prose-2xl img{margin-top:2em;margin-bottom:2em}.sm\:prose-2xl video{margin-top:2em;margin-bottom:2em}.sm\:prose-2xl figure{margin-top:2em;margin-bottom:2em}.sm\:prose-2xl figure>*{margin-top:0;margin-bottom:0}.sm\:prose-2xl figure figcaption{font-size:.8333333em;line-height:1.6;margin-top:1em}.sm\:prose-2xl code{font-size:.8333333em}.sm\:prose-2xl h2 code{font-size:.875em}.sm\:prose-2xl h3 code{font-size:.8888889em}.sm\:prose-2xl pre{font-size:.8333333em;line-height:1.8;margin-top:2em;margin-bottom:2em;border-radius:.5rem;padding-top:1.2em;padding-right:1.6em;padding-bottom:1.2em;padding-left:1.6em}.sm\:prose-2xl ol{margin-top:1.3333333em;margin-bottom:1.3333333em}.sm\:prose-2xl ul{margin-top:1.3333333em;margin-bottom:1.3333333em}.sm\:prose-2xl li{margin-top:.5em;margin-bottom:.5em}.sm\:prose-2xl ol>li{padding-left:1.6666667em}.sm\:prose-2xl ol>li:before{left:0}.sm\:prose-2xl ul>li{padding-left:1.6666667em}.sm\:prose-2xl ul>li::before{width:.3333333em;height:.3333333em;top:calc(.8333333em - .1666667em);left:.25em}.sm\:prose-2xl>ul>li p{margin-top:.8333333em;margin-bottom:.8333333em}.sm\:prose-2xl>ul>li>:first-child{margin-top:1.3333333em}.sm\:prose-2xl>ul>li>:last-child{margin-bottom:1.3333333em}.sm\:prose-2xl>ol>li>:first-child{margin-top:1.3333333em}.sm\:prose-2xl>ol>li>:last-child{margin-bottom:1.3333333em}.sm\:prose-2xl ol ol,.sm\:prose-2xl ol ul,.sm\:prose-2xl ul ol,.sm\:prose-2xl ul ul{margin-top:.6666667em;margin-bottom:.6666667em}.sm\:prose-2xl hr{margin-top:3em;margin-bottom:3em}.sm\:prose-2xl hr+*{margin-top:0}.sm\:prose-2xl h2+*{margin-top:0}.sm\:prose-2xl h3+*{margin-top:0}.sm\:prose-2xl h4+*{margin-top:0}.sm\:prose-2xl table{font-size:.8333333em;line-height:1.4}.sm\:prose-2xl thead th{padding-right:.6em;padding-bottom:.8em;padding-left:.6em}.sm\:prose-2xl thead th:first-child{padding-left:0}.sm\:prose-2xl thead th:last-child{padding-right:0}.sm\:prose-2xl tbody td{padding-top:.8em;padding-right:.6em;padding-bottom:.8em;padding-left:.6em}.sm\:prose-2xl tbody td:first-child{padding-left:0}.sm\:prose-2xl tbody td:last-child{padding-right:0}.sm\:prose-2xl>:first-child{margin-top:0}.sm\:prose-2xl>:last-child{margin-bottom:0}.sm\:space-y-0>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(0px * calc(1 - var(--space-y-reverse)));margin-bottom:calc(0px * var(--space-y-reverse))}.sm\:space-x-0>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(0px * var(--space-x-reverse));margin-left:calc(0px * calc(1 - var(--space-x-reverse)))}.sm\:space-y-1>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(.25rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(.25rem * var(--space-y-reverse))}.sm\:space-x-1>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(.25rem * var(--space-x-reverse));margin-left:calc(.25rem * calc(1 - var(--space-x-reverse)))}.sm\:space-y-2>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(.5rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(.5rem * var(--space-y-reverse))}.sm\:space-x-2>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(.5rem * var(--space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--space-x-reverse)))}.sm\:space-y-3>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(.75rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(.75rem * var(--space-y-reverse))}.sm\:space-x-3>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(.75rem * var(--space-x-reverse));margin-left:calc(.75rem * calc(1 - var(--space-x-reverse)))}.sm\:space-y-4>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(1rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(1rem * var(--space-y-reverse))}.sm\:space-x-4>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(1rem * var(--space-x-reverse));margin-left:calc(1rem * calc(1 - var(--space-x-reverse)))}.sm\:space-y-5>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(1.25rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(1.25rem * var(--space-y-reverse))}.sm\:space-x-5>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(1.25rem * var(--space-x-reverse));margin-left:calc(1.25rem * calc(1 - var(--space-x-reverse)))}.sm\:space-y-6>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(1.5rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(1.5rem * var(--space-y-reverse))}.sm\:space-x-6>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(1.5rem * var(--space-x-reverse));margin-left:calc(1.5rem * calc(1 - var(--space-x-reverse)))}.sm\:space-y-7>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(1.75rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(1.75rem * var(--space-y-reverse))}.sm\:space-x-7>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(1.75rem * var(--space-x-reverse));margin-left:calc(1.75rem * calc(1 - var(--space-x-reverse)))}.sm\:space-y-8>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(2rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(2rem * var(--space-y-reverse))}.sm\:space-x-8>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(2rem * var(--space-x-reverse));margin-left:calc(2rem * calc(1 - var(--space-x-reverse)))}.sm\:space-y-9>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(2.25rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(2.25rem * var(--space-y-reverse))}.sm\:space-x-9>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(2.25rem * var(--space-x-reverse));margin-left:calc(2.25rem * calc(1 - var(--space-x-reverse)))}.sm\:space-y-10>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(2.5rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(2.5rem * var(--space-y-reverse))}.sm\:space-x-10>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(2.5rem * var(--space-x-reverse));margin-left:calc(2.5rem * calc(1 - var(--space-x-reverse)))}.sm\:space-y-11>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(2.75rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(2.75rem * var(--space-y-reverse))}.sm\:space-x-11>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(2.75rem * var(--space-x-reverse));margin-left:calc(2.75rem * calc(1 - var(--space-x-reverse)))}.sm\:space-y-12>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(3rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(3rem * var(--space-y-reverse))}.sm\:space-x-12>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(3rem * var(--space-x-reverse));margin-left:calc(3rem * calc(1 - var(--space-x-reverse)))}.sm\:space-y-13>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(3.25rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(3.25rem * var(--space-y-reverse))}.sm\:space-x-13>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(3.25rem * var(--space-x-reverse));margin-left:calc(3.25rem * calc(1 - var(--space-x-reverse)))}.sm\:space-y-14>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(3.5rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(3.5rem * var(--space-y-reverse))}.sm\:space-x-14>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(3.5rem * var(--space-x-reverse));margin-left:calc(3.5rem * calc(1 - var(--space-x-reverse)))}.sm\:space-y-15>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(3.75rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(3.75rem * var(--space-y-reverse))}.sm\:space-x-15>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(3.75rem * var(--space-x-reverse));margin-left:calc(3.75rem * calc(1 - var(--space-x-reverse)))}.sm\:space-y-16>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(4rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(4rem * var(--space-y-reverse))}.sm\:space-x-16>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(4rem * var(--space-x-reverse));margin-left:calc(4rem * calc(1 - var(--space-x-reverse)))}.sm\:space-y-20>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(5rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(5rem * var(--space-y-reverse))}.sm\:space-x-20>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(5rem * var(--space-x-reverse));margin-left:calc(5rem * calc(1 - var(--space-x-reverse)))}.sm\:space-y-24>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(6rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(6rem * var(--space-y-reverse))}.sm\:space-x-24>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(6rem * var(--space-x-reverse));margin-left:calc(6rem * calc(1 - var(--space-x-reverse)))}.sm\:space-y-28>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(7rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(7rem * var(--space-y-reverse))}.sm\:space-x-28>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(7rem * var(--space-x-reverse));margin-left:calc(7rem * calc(1 - var(--space-x-reverse)))}.sm\:space-y-32>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(8rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(8rem * var(--space-y-reverse))}.sm\:space-x-32>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(8rem * var(--space-x-reverse));margin-left:calc(8rem * calc(1 - var(--space-x-reverse)))}.sm\:space-y-36>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(9rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(9rem * var(--space-y-reverse))}.sm\:space-x-36>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(9rem * var(--space-x-reverse));margin-left:calc(9rem * calc(1 - var(--space-x-reverse)))}.sm\:space-y-40>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(10rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(10rem * var(--space-y-reverse))}.sm\:space-x-40>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(10rem * var(--space-x-reverse));margin-left:calc(10rem * calc(1 - var(--space-x-reverse)))}.sm\:space-y-44>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(11rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(11rem * var(--space-y-reverse))}.sm\:space-x-44>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(11rem * var(--space-x-reverse));margin-left:calc(11rem * calc(1 - var(--space-x-reverse)))}.sm\:space-y-48>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(12rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(12rem * var(--space-y-reverse))}.sm\:space-x-48>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(12rem * var(--space-x-reverse));margin-left:calc(12rem * calc(1 - var(--space-x-reverse)))}.sm\:space-y-52>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(13rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(13rem * var(--space-y-reverse))}.sm\:space-x-52>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(13rem * var(--space-x-reverse));margin-left:calc(13rem * calc(1 - var(--space-x-reverse)))}.sm\:space-y-56>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(14rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(14rem * var(--space-y-reverse))}.sm\:space-x-56>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(14rem * var(--space-x-reverse));margin-left:calc(14rem * calc(1 - var(--space-x-reverse)))}.sm\:space-y-60>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(15rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(15rem * var(--space-y-reverse))}.sm\:space-x-60>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(15rem * var(--space-x-reverse));margin-left:calc(15rem * calc(1 - var(--space-x-reverse)))}.sm\:space-y-64>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(16rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(16rem * var(--space-y-reverse))}.sm\:space-x-64>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(16rem * var(--space-x-reverse));margin-left:calc(16rem * calc(1 - var(--space-x-reverse)))}.sm\:space-y-72>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(18rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(18rem * var(--space-y-reverse))}.sm\:space-x-72>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(18rem * var(--space-x-reverse));margin-left:calc(18rem * calc(1 - var(--space-x-reverse)))}.sm\:space-y-80>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(20rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(20rem * var(--space-y-reverse))}.sm\:space-x-80>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(20rem * var(--space-x-reverse));margin-left:calc(20rem * calc(1 - var(--space-x-reverse)))}.sm\:space-y-96>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(24rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(24rem * var(--space-y-reverse))}.sm\:space-x-96>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(24rem * var(--space-x-reverse));margin-left:calc(24rem * calc(1 - var(--space-x-reverse)))}.sm\:space-y-px>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(1px * calc(1 - var(--space-y-reverse)));margin-bottom:calc(1px * var(--space-y-reverse))}.sm\:space-x-px>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(1px * var(--space-x-reverse));margin-left:calc(1px * calc(1 - var(--space-x-reverse)))}.sm\:space-y-0\.5>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(.125rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(.125rem * var(--space-y-reverse))}.sm\:space-x-0\.5>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(.125rem * var(--space-x-reverse));margin-left:calc(.125rem * calc(1 - var(--space-x-reverse)))}.sm\:space-y-1\.5>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(.375rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(.375rem * var(--space-y-reverse))}.sm\:space-x-1\.5>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(.375rem * var(--space-x-reverse));margin-left:calc(.375rem * calc(1 - var(--space-x-reverse)))}.sm\:space-y-2\.5>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(.625rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(.625rem * var(--space-y-reverse))}.sm\:space-x-2\.5>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(.625rem * var(--space-x-reverse));margin-left:calc(.625rem * calc(1 - var(--space-x-reverse)))}.sm\:space-y-3\.5>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(.875rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(.875rem * var(--space-y-reverse))}.sm\:space-x-3\.5>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(.875rem * var(--space-x-reverse));margin-left:calc(.875rem * calc(1 - var(--space-x-reverse)))}.sm\:space-y-1\/2>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(50% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(50% * var(--space-y-reverse))}.sm\:space-x-1\/2>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(50% * var(--space-x-reverse));margin-left:calc(50% * calc(1 - var(--space-x-reverse)))}.sm\:space-y-1\/3>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(33.333333% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(33.333333% * var(--space-y-reverse))}.sm\:space-x-1\/3>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(33.333333% * var(--space-x-reverse));margin-left:calc(33.333333% * calc(1 - var(--space-x-reverse)))}.sm\:space-y-2\/3>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(66.666667% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(66.666667% * var(--space-y-reverse))}.sm\:space-x-2\/3>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(66.666667% * var(--space-x-reverse));margin-left:calc(66.666667% * calc(1 - var(--space-x-reverse)))}.sm\:space-y-1\/4>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(25% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(25% * var(--space-y-reverse))}.sm\:space-x-1\/4>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(25% * var(--space-x-reverse));margin-left:calc(25% * calc(1 - var(--space-x-reverse)))}.sm\:space-y-2\/4>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(50% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(50% * var(--space-y-reverse))}.sm\:space-x-2\/4>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(50% * var(--space-x-reverse));margin-left:calc(50% * calc(1 - var(--space-x-reverse)))}.sm\:space-y-3\/4>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(75% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(75% * var(--space-y-reverse))}.sm\:space-x-3\/4>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(75% * var(--space-x-reverse));margin-left:calc(75% * calc(1 - var(--space-x-reverse)))}.sm\:space-y-1\/5>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(20% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(20% * var(--space-y-reverse))}.sm\:space-x-1\/5>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(20% * var(--space-x-reverse));margin-left:calc(20% * calc(1 - var(--space-x-reverse)))}.sm\:space-y-2\/5>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(40% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(40% * var(--space-y-reverse))}.sm\:space-x-2\/5>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(40% * var(--space-x-reverse));margin-left:calc(40% * calc(1 - var(--space-x-reverse)))}.sm\:space-y-3\/5>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(60% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(60% * var(--space-y-reverse))}.sm\:space-x-3\/5>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(60% * var(--space-x-reverse));margin-left:calc(60% * calc(1 - var(--space-x-reverse)))}.sm\:space-y-4\/5>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(80% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(80% * var(--space-y-reverse))}.sm\:space-x-4\/5>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(80% * var(--space-x-reverse));margin-left:calc(80% * calc(1 - var(--space-x-reverse)))}.sm\:space-y-1\/6>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(16.666667% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(16.666667% * var(--space-y-reverse))}.sm\:space-x-1\/6>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(16.666667% * var(--space-x-reverse));margin-left:calc(16.666667% * calc(1 - var(--space-x-reverse)))}.sm\:space-y-2\/6>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(33.333333% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(33.333333% * var(--space-y-reverse))}.sm\:space-x-2\/6>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(33.333333% * var(--space-x-reverse));margin-left:calc(33.333333% * calc(1 - var(--space-x-reverse)))}.sm\:space-y-3\/6>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(50% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(50% * var(--space-y-reverse))}.sm\:space-x-3\/6>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(50% * var(--space-x-reverse));margin-left:calc(50% * calc(1 - var(--space-x-reverse)))}.sm\:space-y-4\/6>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(66.666667% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(66.666667% * var(--space-y-reverse))}.sm\:space-x-4\/6>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(66.666667% * var(--space-x-reverse));margin-left:calc(66.666667% * calc(1 - var(--space-x-reverse)))}.sm\:space-y-5\/6>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(83.333333% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(83.333333% * var(--space-y-reverse))}.sm\:space-x-5\/6>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(83.333333% * var(--space-x-reverse));margin-left:calc(83.333333% * calc(1 - var(--space-x-reverse)))}.sm\:space-y-1\/12>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(8.333333% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(8.333333% * var(--space-y-reverse))}.sm\:space-x-1\/12>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(8.333333% * var(--space-x-reverse));margin-left:calc(8.333333% * calc(1 - var(--space-x-reverse)))}.sm\:space-y-2\/12>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(16.666667% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(16.666667% * var(--space-y-reverse))}.sm\:space-x-2\/12>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(16.666667% * var(--space-x-reverse));margin-left:calc(16.666667% * calc(1 - var(--space-x-reverse)))}.sm\:space-y-3\/12>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(25% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(25% * var(--space-y-reverse))}.sm\:space-x-3\/12>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(25% * var(--space-x-reverse));margin-left:calc(25% * calc(1 - var(--space-x-reverse)))}.sm\:space-y-4\/12>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(33.333333% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(33.333333% * var(--space-y-reverse))}.sm\:space-x-4\/12>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(33.333333% * var(--space-x-reverse));margin-left:calc(33.333333% * calc(1 - var(--space-x-reverse)))}.sm\:space-y-5\/12>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(41.666667% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(41.666667% * var(--space-y-reverse))}.sm\:space-x-5\/12>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(41.666667% * var(--space-x-reverse));margin-left:calc(41.666667% * calc(1 - var(--space-x-reverse)))}.sm\:space-y-6\/12>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(50% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(50% * var(--space-y-reverse))}.sm\:space-x-6\/12>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(50% * var(--space-x-reverse));margin-left:calc(50% * calc(1 - var(--space-x-reverse)))}.sm\:space-y-7\/12>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(58.333333% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(58.333333% * var(--space-y-reverse))}.sm\:space-x-7\/12>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(58.333333% * var(--space-x-reverse));margin-left:calc(58.333333% * calc(1 - var(--space-x-reverse)))}.sm\:space-y-8\/12>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(66.666667% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(66.666667% * var(--space-y-reverse))}.sm\:space-x-8\/12>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(66.666667% * var(--space-x-reverse));margin-left:calc(66.666667% * calc(1 - var(--space-x-reverse)))}.sm\:space-y-9\/12>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(75% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(75% * var(--space-y-reverse))}.sm\:space-x-9\/12>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(75% * var(--space-x-reverse));margin-left:calc(75% * calc(1 - var(--space-x-reverse)))}.sm\:space-y-10\/12>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(83.333333% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(83.333333% * var(--space-y-reverse))}.sm\:space-x-10\/12>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(83.333333% * var(--space-x-reverse));margin-left:calc(83.333333% * calc(1 - var(--space-x-reverse)))}.sm\:space-y-11\/12>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(91.666667% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(91.666667% * var(--space-y-reverse))}.sm\:space-x-11\/12>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(91.666667% * var(--space-x-reverse));margin-left:calc(91.666667% * calc(1 - var(--space-x-reverse)))}.sm\:space-y-full>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(100% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(100% * var(--space-y-reverse))}.sm\:space-x-full>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(100% * var(--space-x-reverse));margin-left:calc(100% * calc(1 - var(--space-x-reverse)))}.sm\:-space-y-1>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-.25rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-.25rem * var(--space-y-reverse))}.sm\:-space-x-1>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-.25rem * var(--space-x-reverse));margin-left:calc(-.25rem * calc(1 - var(--space-x-reverse)))}.sm\:-space-y-2>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-.5rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-.5rem * var(--space-y-reverse))}.sm\:-space-x-2>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-.5rem * var(--space-x-reverse));margin-left:calc(-.5rem * calc(1 - var(--space-x-reverse)))}.sm\:-space-y-3>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-.75rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-.75rem * var(--space-y-reverse))}.sm\:-space-x-3>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-.75rem * var(--space-x-reverse));margin-left:calc(-.75rem * calc(1 - var(--space-x-reverse)))}.sm\:-space-y-4>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-1rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-1rem * var(--space-y-reverse))}.sm\:-space-x-4>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-1rem * var(--space-x-reverse));margin-left:calc(-1rem * calc(1 - var(--space-x-reverse)))}.sm\:-space-y-5>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-1.25rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-1.25rem * var(--space-y-reverse))}.sm\:-space-x-5>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-1.25rem * var(--space-x-reverse));margin-left:calc(-1.25rem * calc(1 - var(--space-x-reverse)))}.sm\:-space-y-6>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-1.5rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-1.5rem * var(--space-y-reverse))}.sm\:-space-x-6>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-1.5rem * var(--space-x-reverse));margin-left:calc(-1.5rem * calc(1 - var(--space-x-reverse)))}.sm\:-space-y-7>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-1.75rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-1.75rem * var(--space-y-reverse))}.sm\:-space-x-7>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-1.75rem * var(--space-x-reverse));margin-left:calc(-1.75rem * calc(1 - var(--space-x-reverse)))}.sm\:-space-y-8>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-2rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-2rem * var(--space-y-reverse))}.sm\:-space-x-8>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-2rem * var(--space-x-reverse));margin-left:calc(-2rem * calc(1 - var(--space-x-reverse)))}.sm\:-space-y-9>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-2.25rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-2.25rem * var(--space-y-reverse))}.sm\:-space-x-9>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-2.25rem * var(--space-x-reverse));margin-left:calc(-2.25rem * calc(1 - var(--space-x-reverse)))}.sm\:-space-y-10>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-2.5rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-2.5rem * var(--space-y-reverse))}.sm\:-space-x-10>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-2.5rem * var(--space-x-reverse));margin-left:calc(-2.5rem * calc(1 - var(--space-x-reverse)))}.sm\:-space-y-11>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-2.75rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-2.75rem * var(--space-y-reverse))}.sm\:-space-x-11>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-2.75rem * var(--space-x-reverse));margin-left:calc(-2.75rem * calc(1 - var(--space-x-reverse)))}.sm\:-space-y-12>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-3rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-3rem * var(--space-y-reverse))}.sm\:-space-x-12>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-3rem * var(--space-x-reverse));margin-left:calc(-3rem * calc(1 - var(--space-x-reverse)))}.sm\:-space-y-13>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-3.25rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-3.25rem * var(--space-y-reverse))}.sm\:-space-x-13>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-3.25rem * var(--space-x-reverse));margin-left:calc(-3.25rem * calc(1 - var(--space-x-reverse)))}.sm\:-space-y-14>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-3.5rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-3.5rem * var(--space-y-reverse))}.sm\:-space-x-14>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-3.5rem * var(--space-x-reverse));margin-left:calc(-3.5rem * calc(1 - var(--space-x-reverse)))}.sm\:-space-y-15>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-3.75rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-3.75rem * var(--space-y-reverse))}.sm\:-space-x-15>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-3.75rem * var(--space-x-reverse));margin-left:calc(-3.75rem * calc(1 - var(--space-x-reverse)))}.sm\:-space-y-16>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-4rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-4rem * var(--space-y-reverse))}.sm\:-space-x-16>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-4rem * var(--space-x-reverse));margin-left:calc(-4rem * calc(1 - var(--space-x-reverse)))}.sm\:-space-y-20>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-5rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-5rem * var(--space-y-reverse))}.sm\:-space-x-20>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-5rem * var(--space-x-reverse));margin-left:calc(-5rem * calc(1 - var(--space-x-reverse)))}.sm\:-space-y-24>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-6rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-6rem * var(--space-y-reverse))}.sm\:-space-x-24>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-6rem * var(--space-x-reverse));margin-left:calc(-6rem * calc(1 - var(--space-x-reverse)))}.sm\:-space-y-28>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-7rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-7rem * var(--space-y-reverse))}.sm\:-space-x-28>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-7rem * var(--space-x-reverse));margin-left:calc(-7rem * calc(1 - var(--space-x-reverse)))}.sm\:-space-y-32>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-8rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-8rem * var(--space-y-reverse))}.sm\:-space-x-32>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-8rem * var(--space-x-reverse));margin-left:calc(-8rem * calc(1 - var(--space-x-reverse)))}.sm\:-space-y-36>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-9rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-9rem * var(--space-y-reverse))}.sm\:-space-x-36>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-9rem * var(--space-x-reverse));margin-left:calc(-9rem * calc(1 - var(--space-x-reverse)))}.sm\:-space-y-40>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-10rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-10rem * var(--space-y-reverse))}.sm\:-space-x-40>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-10rem * var(--space-x-reverse));margin-left:calc(-10rem * calc(1 - var(--space-x-reverse)))}.sm\:-space-y-44>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-11rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-11rem * var(--space-y-reverse))}.sm\:-space-x-44>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-11rem * var(--space-x-reverse));margin-left:calc(-11rem * calc(1 - var(--space-x-reverse)))}.sm\:-space-y-48>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-12rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-12rem * var(--space-y-reverse))}.sm\:-space-x-48>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-12rem * var(--space-x-reverse));margin-left:calc(-12rem * calc(1 - var(--space-x-reverse)))}.sm\:-space-y-52>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-13rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-13rem * var(--space-y-reverse))}.sm\:-space-x-52>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-13rem * var(--space-x-reverse));margin-left:calc(-13rem * calc(1 - var(--space-x-reverse)))}.sm\:-space-y-56>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-14rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-14rem * var(--space-y-reverse))}.sm\:-space-x-56>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-14rem * var(--space-x-reverse));margin-left:calc(-14rem * calc(1 - var(--space-x-reverse)))}.sm\:-space-y-60>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-15rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-15rem * var(--space-y-reverse))}.sm\:-space-x-60>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-15rem * var(--space-x-reverse));margin-left:calc(-15rem * calc(1 - var(--space-x-reverse)))}.sm\:-space-y-64>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-16rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-16rem * var(--space-y-reverse))}.sm\:-space-x-64>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-16rem * var(--space-x-reverse));margin-left:calc(-16rem * calc(1 - var(--space-x-reverse)))}.sm\:-space-y-72>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-18rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-18rem * var(--space-y-reverse))}.sm\:-space-x-72>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-18rem * var(--space-x-reverse));margin-left:calc(-18rem * calc(1 - var(--space-x-reverse)))}.sm\:-space-y-80>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-20rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-20rem * var(--space-y-reverse))}.sm\:-space-x-80>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-20rem * var(--space-x-reverse));margin-left:calc(-20rem * calc(1 - var(--space-x-reverse)))}.sm\:-space-y-96>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-24rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-24rem * var(--space-y-reverse))}.sm\:-space-x-96>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-24rem * var(--space-x-reverse));margin-left:calc(-24rem * calc(1 - var(--space-x-reverse)))}.sm\:-space-y-px>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-1px * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-1px * var(--space-y-reverse))}.sm\:-space-x-px>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-1px * var(--space-x-reverse));margin-left:calc(-1px * calc(1 - var(--space-x-reverse)))}.sm\:-space-y-0\.5>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-.125rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-.125rem * var(--space-y-reverse))}.sm\:-space-x-0\.5>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-.125rem * var(--space-x-reverse));margin-left:calc(-.125rem * calc(1 - var(--space-x-reverse)))}.sm\:-space-y-1\.5>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-.375rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-.375rem * var(--space-y-reverse))}.sm\:-space-x-1\.5>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-.375rem * var(--space-x-reverse));margin-left:calc(-.375rem * calc(1 - var(--space-x-reverse)))}.sm\:-space-y-2\.5>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-.625rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-.625rem * var(--space-y-reverse))}.sm\:-space-x-2\.5>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-.625rem * var(--space-x-reverse));margin-left:calc(-.625rem * calc(1 - var(--space-x-reverse)))}.sm\:-space-y-3\.5>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-.875rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-.875rem * var(--space-y-reverse))}.sm\:-space-x-3\.5>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-.875rem * var(--space-x-reverse));margin-left:calc(-.875rem * calc(1 - var(--space-x-reverse)))}.sm\:-space-y-1\/2>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-50% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-50% * var(--space-y-reverse))}.sm\:-space-x-1\/2>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-50% * var(--space-x-reverse));margin-left:calc(-50% * calc(1 - var(--space-x-reverse)))}.sm\:-space-y-1\/3>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-33.33333% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-33.33333% * var(--space-y-reverse))}.sm\:-space-x-1\/3>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-33.33333% * var(--space-x-reverse));margin-left:calc(-33.33333% * calc(1 - var(--space-x-reverse)))}.sm\:-space-y-2\/3>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-66.66667% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-66.66667% * var(--space-y-reverse))}.sm\:-space-x-2\/3>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-66.66667% * var(--space-x-reverse));margin-left:calc(-66.66667% * calc(1 - var(--space-x-reverse)))}.sm\:-space-y-1\/4>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-25% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-25% * var(--space-y-reverse))}.sm\:-space-x-1\/4>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-25% * var(--space-x-reverse));margin-left:calc(-25% * calc(1 - var(--space-x-reverse)))}.sm\:-space-y-2\/4>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-50% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-50% * var(--space-y-reverse))}.sm\:-space-x-2\/4>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-50% * var(--space-x-reverse));margin-left:calc(-50% * calc(1 - var(--space-x-reverse)))}.sm\:-space-y-3\/4>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-75% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-75% * var(--space-y-reverse))}.sm\:-space-x-3\/4>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-75% * var(--space-x-reverse));margin-left:calc(-75% * calc(1 - var(--space-x-reverse)))}.sm\:-space-y-1\/5>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-20% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-20% * var(--space-y-reverse))}.sm\:-space-x-1\/5>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-20% * var(--space-x-reverse));margin-left:calc(-20% * calc(1 - var(--space-x-reverse)))}.sm\:-space-y-2\/5>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-40% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-40% * var(--space-y-reverse))}.sm\:-space-x-2\/5>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-40% * var(--space-x-reverse));margin-left:calc(-40% * calc(1 - var(--space-x-reverse)))}.sm\:-space-y-3\/5>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-60% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-60% * var(--space-y-reverse))}.sm\:-space-x-3\/5>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-60% * var(--space-x-reverse));margin-left:calc(-60% * calc(1 - var(--space-x-reverse)))}.sm\:-space-y-4\/5>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-80% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-80% * var(--space-y-reverse))}.sm\:-space-x-4\/5>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-80% * var(--space-x-reverse));margin-left:calc(-80% * calc(1 - var(--space-x-reverse)))}.sm\:-space-y-1\/6>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-16.66667% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-16.66667% * var(--space-y-reverse))}.sm\:-space-x-1\/6>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-16.66667% * var(--space-x-reverse));margin-left:calc(-16.66667% * calc(1 - var(--space-x-reverse)))}.sm\:-space-y-2\/6>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-33.33333% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-33.33333% * var(--space-y-reverse))}.sm\:-space-x-2\/6>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-33.33333% * var(--space-x-reverse));margin-left:calc(-33.33333% * calc(1 - var(--space-x-reverse)))}.sm\:-space-y-3\/6>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-50% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-50% * var(--space-y-reverse))}.sm\:-space-x-3\/6>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-50% * var(--space-x-reverse));margin-left:calc(-50% * calc(1 - var(--space-x-reverse)))}.sm\:-space-y-4\/6>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-66.66667% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-66.66667% * var(--space-y-reverse))}.sm\:-space-x-4\/6>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-66.66667% * var(--space-x-reverse));margin-left:calc(-66.66667% * calc(1 - var(--space-x-reverse)))}.sm\:-space-y-5\/6>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-83.33333% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-83.33333% * var(--space-y-reverse))}.sm\:-space-x-5\/6>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-83.33333% * var(--space-x-reverse));margin-left:calc(-83.33333% * calc(1 - var(--space-x-reverse)))}.sm\:-space-y-1\/12>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-8.33333% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-8.33333% * var(--space-y-reverse))}.sm\:-space-x-1\/12>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-8.33333% * var(--space-x-reverse));margin-left:calc(-8.33333% * calc(1 - var(--space-x-reverse)))}.sm\:-space-y-2\/12>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-16.66667% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-16.66667% * var(--space-y-reverse))}.sm\:-space-x-2\/12>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-16.66667% * var(--space-x-reverse));margin-left:calc(-16.66667% * calc(1 - var(--space-x-reverse)))}.sm\:-space-y-3\/12>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-25% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-25% * var(--space-y-reverse))}.sm\:-space-x-3\/12>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-25% * var(--space-x-reverse));margin-left:calc(-25% * calc(1 - var(--space-x-reverse)))}.sm\:-space-y-4\/12>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-33.33333% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-33.33333% * var(--space-y-reverse))}.sm\:-space-x-4\/12>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-33.33333% * var(--space-x-reverse));margin-left:calc(-33.33333% * calc(1 - var(--space-x-reverse)))}.sm\:-space-y-5\/12>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-41.66667% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-41.66667% * var(--space-y-reverse))}.sm\:-space-x-5\/12>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-41.66667% * var(--space-x-reverse));margin-left:calc(-41.66667% * calc(1 - var(--space-x-reverse)))}.sm\:-space-y-6\/12>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-50% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-50% * var(--space-y-reverse))}.sm\:-space-x-6\/12>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-50% * var(--space-x-reverse));margin-left:calc(-50% * calc(1 - var(--space-x-reverse)))}.sm\:-space-y-7\/12>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-58.33333% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-58.33333% * var(--space-y-reverse))}.sm\:-space-x-7\/12>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-58.33333% * var(--space-x-reverse));margin-left:calc(-58.33333% * calc(1 - var(--space-x-reverse)))}.sm\:-space-y-8\/12>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-66.66667% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-66.66667% * var(--space-y-reverse))}.sm\:-space-x-8\/12>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-66.66667% * var(--space-x-reverse));margin-left:calc(-66.66667% * calc(1 - var(--space-x-reverse)))}.sm\:-space-y-9\/12>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-75% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-75% * var(--space-y-reverse))}.sm\:-space-x-9\/12>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-75% * var(--space-x-reverse));margin-left:calc(-75% * calc(1 - var(--space-x-reverse)))}.sm\:-space-y-10\/12>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-83.33333% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-83.33333% * var(--space-y-reverse))}.sm\:-space-x-10\/12>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-83.33333% * var(--space-x-reverse));margin-left:calc(-83.33333% * calc(1 - var(--space-x-reverse)))}.sm\:-space-y-11\/12>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-91.66667% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-91.66667% * var(--space-y-reverse))}.sm\:-space-x-11\/12>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-91.66667% * var(--space-x-reverse));margin-left:calc(-91.66667% * calc(1 - var(--space-x-reverse)))}.sm\:-space-y-full>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-100% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-100% * var(--space-y-reverse))}.sm\:-space-x-full>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-100% * var(--space-x-reverse));margin-left:calc(-100% * calc(1 - var(--space-x-reverse)))}.sm\:space-y-reverse>:not(template)~:not(template){--space-y-reverse:1}.sm\:space-x-reverse>:not(template)~:not(template){--space-x-reverse:1}.sm\:divide-y-0>:not(template)~:not(template){--divide-y-reverse:0;border-top-width:calc(0px * calc(1 - var(--divide-y-reverse)));border-bottom-width:calc(0px * var(--divide-y-reverse))}.sm\:divide-x-0>:not(template)~:not(template){--divide-x-reverse:0;border-right-width:calc(0px * var(--divide-x-reverse));border-left-width:calc(0px * calc(1 - var(--divide-x-reverse)))}.sm\:divide-y-2>:not(template)~:not(template){--divide-y-reverse:0;border-top-width:calc(2px * calc(1 - var(--divide-y-reverse)));border-bottom-width:calc(2px * var(--divide-y-reverse))}.sm\:divide-x-2>:not(template)~:not(template){--divide-x-reverse:0;border-right-width:calc(2px * var(--divide-x-reverse));border-left-width:calc(2px * calc(1 - var(--divide-x-reverse)))}.sm\:divide-y-4>:not(template)~:not(template){--divide-y-reverse:0;border-top-width:calc(4px * calc(1 - var(--divide-y-reverse)));border-bottom-width:calc(4px * var(--divide-y-reverse))}.sm\:divide-x-4>:not(template)~:not(template){--divide-x-reverse:0;border-right-width:calc(4px * var(--divide-x-reverse));border-left-width:calc(4px * calc(1 - var(--divide-x-reverse)))}.sm\:divide-y-8>:not(template)~:not(template){--divide-y-reverse:0;border-top-width:calc(8px * calc(1 - var(--divide-y-reverse)));border-bottom-width:calc(8px * var(--divide-y-reverse))}.sm\:divide-x-8>:not(template)~:not(template){--divide-x-reverse:0;border-right-width:calc(8px * var(--divide-x-reverse));border-left-width:calc(8px * calc(1 - var(--divide-x-reverse)))}.sm\:divide-y>:not(template)~:not(template){--divide-y-reverse:0;border-top-width:calc(1px * calc(1 - var(--divide-y-reverse)));border-bottom-width:calc(1px * var(--divide-y-reverse))}.sm\:divide-x>:not(template)~:not(template){--divide-x-reverse:0;border-right-width:calc(1px * var(--divide-x-reverse));border-left-width:calc(1px * calc(1 - var(--divide-x-reverse)))}.sm\:divide-y-reverse>:not(template)~:not(template){--divide-y-reverse:1}.sm\:divide-x-reverse>:not(template)~:not(template){--divide-x-reverse:1}.sm\:divide-transparent>:not(template)~:not(template){border-color:transparent}.sm\:divide-white>:not(template)~:not(template){--divide-opacity:1;border-color:#fff;border-color:rgba(255,255,255,var(--divide-opacity))}.sm\:divide-black>:not(template)~:not(template){--divide-opacity:1;border-color:#000;border-color:rgba(0,0,0,var(--divide-opacity))}.sm\:divide-gray-50>:not(template)~:not(template){--divide-opacity:1;border-color:#f9fafb;border-color:rgba(249,250,251,var(--divide-opacity))}.sm\:divide-gray-100>:not(template)~:not(template){--divide-opacity:1;border-color:#f4f5f7;border-color:rgba(244,245,247,var(--divide-opacity))}.sm\:divide-gray-200>:not(template)~:not(template){--divide-opacity:1;border-color:#e5e7eb;border-color:rgba(229,231,235,var(--divide-opacity))}.sm\:divide-gray-300>:not(template)~:not(template){--divide-opacity:1;border-color:#d2d6dc;border-color:rgba(210,214,220,var(--divide-opacity))}.sm\:divide-gray-400>:not(template)~:not(template){--divide-opacity:1;border-color:#9fa6b2;border-color:rgba(159,166,178,var(--divide-opacity))}.sm\:divide-gray-500>:not(template)~:not(template){--divide-opacity:1;border-color:#6b7280;border-color:rgba(107,114,128,var(--divide-opacity))}.sm\:divide-gray-600>:not(template)~:not(template){--divide-opacity:1;border-color:#4b5563;border-color:rgba(75,85,99,var(--divide-opacity))}.sm\:divide-gray-700>:not(template)~:not(template){--divide-opacity:1;border-color:#374151;border-color:rgba(55,65,81,var(--divide-opacity))}.sm\:divide-gray-800>:not(template)~:not(template){--divide-opacity:1;border-color:#252f3f;border-color:rgba(37,47,63,var(--divide-opacity))}.sm\:divide-gray-900>:not(template)~:not(template){--divide-opacity:1;border-color:#161e2e;border-color:rgba(22,30,46,var(--divide-opacity))}.sm\:divide-cool-gray-50>:not(template)~:not(template){--divide-opacity:1;border-color:#f8fafc;border-color:rgba(248,250,252,var(--divide-opacity))}.sm\:divide-cool-gray-100>:not(template)~:not(template){--divide-opacity:1;border-color:#f1f5f9;border-color:rgba(241,245,249,var(--divide-opacity))}.sm\:divide-cool-gray-200>:not(template)~:not(template){--divide-opacity:1;border-color:#e2e8f0;border-color:rgba(226,232,240,var(--divide-opacity))}.sm\:divide-cool-gray-300>:not(template)~:not(template){--divide-opacity:1;border-color:#cfd8e3;border-color:rgba(207,216,227,var(--divide-opacity))}.sm\:divide-cool-gray-400>:not(template)~:not(template){--divide-opacity:1;border-color:#97a6ba;border-color:rgba(151,166,186,var(--divide-opacity))}.sm\:divide-cool-gray-500>:not(template)~:not(template){--divide-opacity:1;border-color:#64748b;border-color:rgba(100,116,139,var(--divide-opacity))}.sm\:divide-cool-gray-600>:not(template)~:not(template){--divide-opacity:1;border-color:#475569;border-color:rgba(71,85,105,var(--divide-opacity))}.sm\:divide-cool-gray-700>:not(template)~:not(template){--divide-opacity:1;border-color:#364152;border-color:rgba(54,65,82,var(--divide-opacity))}.sm\:divide-cool-gray-800>:not(template)~:not(template){--divide-opacity:1;border-color:#27303f;border-color:rgba(39,48,63,var(--divide-opacity))}.sm\:divide-cool-gray-900>:not(template)~:not(template){--divide-opacity:1;border-color:#1a202e;border-color:rgba(26,32,46,var(--divide-opacity))}.sm\:divide-red-50>:not(template)~:not(template){--divide-opacity:1;border-color:#fdf2f2;border-color:rgba(253,242,242,var(--divide-opacity))}.sm\:divide-red-100>:not(template)~:not(template){--divide-opacity:1;border-color:#fde8e8;border-color:rgba(253,232,232,var(--divide-opacity))}.sm\:divide-red-200>:not(template)~:not(template){--divide-opacity:1;border-color:#fbd5d5;border-color:rgba(251,213,213,var(--divide-opacity))}.sm\:divide-red-300>:not(template)~:not(template){--divide-opacity:1;border-color:#f8b4b4;border-color:rgba(248,180,180,var(--divide-opacity))}.sm\:divide-red-400>:not(template)~:not(template){--divide-opacity:1;border-color:#f98080;border-color:rgba(249,128,128,var(--divide-opacity))}.sm\:divide-red-500>:not(template)~:not(template){--divide-opacity:1;border-color:#f05252;border-color:rgba(240,82,82,var(--divide-opacity))}.sm\:divide-red-600>:not(template)~:not(template){--divide-opacity:1;border-color:#e02424;border-color:rgba(224,36,36,var(--divide-opacity))}.sm\:divide-red-700>:not(template)~:not(template){--divide-opacity:1;border-color:#c81e1e;border-color:rgba(200,30,30,var(--divide-opacity))}.sm\:divide-red-800>:not(template)~:not(template){--divide-opacity:1;border-color:#9b1c1c;border-color:rgba(155,28,28,var(--divide-opacity))}.sm\:divide-red-900>:not(template)~:not(template){--divide-opacity:1;border-color:#771d1d;border-color:rgba(119,29,29,var(--divide-opacity))}.sm\:divide-orange-50>:not(template)~:not(template){--divide-opacity:1;border-color:#fff8f1;border-color:rgba(255,248,241,var(--divide-opacity))}.sm\:divide-orange-100>:not(template)~:not(template){--divide-opacity:1;border-color:#feecdc;border-color:rgba(254,236,220,var(--divide-opacity))}.sm\:divide-orange-200>:not(template)~:not(template){--divide-opacity:1;border-color:#fcd9bd;border-color:rgba(252,217,189,var(--divide-opacity))}.sm\:divide-orange-300>:not(template)~:not(template){--divide-opacity:1;border-color:#fdba8c;border-color:rgba(253,186,140,var(--divide-opacity))}.sm\:divide-orange-400>:not(template)~:not(template){--divide-opacity:1;border-color:#ff8a4c;border-color:rgba(255,138,76,var(--divide-opacity))}.sm\:divide-orange-500>:not(template)~:not(template){--divide-opacity:1;border-color:#ff5a1f;border-color:rgba(255,90,31,var(--divide-opacity))}.sm\:divide-orange-600>:not(template)~:not(template){--divide-opacity:1;border-color:#d03801;border-color:rgba(208,56,1,var(--divide-opacity))}.sm\:divide-orange-700>:not(template)~:not(template){--divide-opacity:1;border-color:#b43403;border-color:rgba(180,52,3,var(--divide-opacity))}.sm\:divide-orange-800>:not(template)~:not(template){--divide-opacity:1;border-color:#8a2c0d;border-color:rgba(138,44,13,var(--divide-opacity))}.sm\:divide-orange-900>:not(template)~:not(template){--divide-opacity:1;border-color:#73230d;border-color:rgba(115,35,13,var(--divide-opacity))}.sm\:divide-yellow-50>:not(template)~:not(template){--divide-opacity:1;border-color:#fdfdea;border-color:rgba(253,253,234,var(--divide-opacity))}.sm\:divide-yellow-100>:not(template)~:not(template){--divide-opacity:1;border-color:#fdf6b2;border-color:rgba(253,246,178,var(--divide-opacity))}.sm\:divide-yellow-200>:not(template)~:not(template){--divide-opacity:1;border-color:#fce96a;border-color:rgba(252,233,106,var(--divide-opacity))}.sm\:divide-yellow-300>:not(template)~:not(template){--divide-opacity:1;border-color:#faca15;border-color:rgba(250,202,21,var(--divide-opacity))}.sm\:divide-yellow-400>:not(template)~:not(template){--divide-opacity:1;border-color:#e3a008;border-color:rgba(227,160,8,var(--divide-opacity))}.sm\:divide-yellow-500>:not(template)~:not(template){--divide-opacity:1;border-color:#c27803;border-color:rgba(194,120,3,var(--divide-opacity))}.sm\:divide-yellow-600>:not(template)~:not(template){--divide-opacity:1;border-color:#9f580a;border-color:rgba(159,88,10,var(--divide-opacity))}.sm\:divide-yellow-700>:not(template)~:not(template){--divide-opacity:1;border-color:#8e4b10;border-color:rgba(142,75,16,var(--divide-opacity))}.sm\:divide-yellow-800>:not(template)~:not(template){--divide-opacity:1;border-color:#723b13;border-color:rgba(114,59,19,var(--divide-opacity))}.sm\:divide-yellow-900>:not(template)~:not(template){--divide-opacity:1;border-color:#633112;border-color:rgba(99,49,18,var(--divide-opacity))}.sm\:divide-green-50>:not(template)~:not(template){--divide-opacity:1;border-color:#f3faf7;border-color:rgba(243,250,247,var(--divide-opacity))}.sm\:divide-green-100>:not(template)~:not(template){--divide-opacity:1;border-color:#def7ec;border-color:rgba(222,247,236,var(--divide-opacity))}.sm\:divide-green-200>:not(template)~:not(template){--divide-opacity:1;border-color:#bcf0da;border-color:rgba(188,240,218,var(--divide-opacity))}.sm\:divide-green-300>:not(template)~:not(template){--divide-opacity:1;border-color:#84e1bc;border-color:rgba(132,225,188,var(--divide-opacity))}.sm\:divide-green-400>:not(template)~:not(template){--divide-opacity:1;border-color:#31c48d;border-color:rgba(49,196,141,var(--divide-opacity))}.sm\:divide-green-500>:not(template)~:not(template){--divide-opacity:1;border-color:#0e9f6e;border-color:rgba(14,159,110,var(--divide-opacity))}.sm\:divide-green-600>:not(template)~:not(template){--divide-opacity:1;border-color:#057a55;border-color:rgba(5,122,85,var(--divide-opacity))}.sm\:divide-green-700>:not(template)~:not(template){--divide-opacity:1;border-color:#046c4e;border-color:rgba(4,108,78,var(--divide-opacity))}.sm\:divide-green-800>:not(template)~:not(template){--divide-opacity:1;border-color:#03543f;border-color:rgba(3,84,63,var(--divide-opacity))}.sm\:divide-green-900>:not(template)~:not(template){--divide-opacity:1;border-color:#014737;border-color:rgba(1,71,55,var(--divide-opacity))}.sm\:divide-teal-50>:not(template)~:not(template){--divide-opacity:1;border-color:#edfafa;border-color:rgba(237,250,250,var(--divide-opacity))}.sm\:divide-teal-100>:not(template)~:not(template){--divide-opacity:1;border-color:#d5f5f6;border-color:rgba(213,245,246,var(--divide-opacity))}.sm\:divide-teal-200>:not(template)~:not(template){--divide-opacity:1;border-color:#afecef;border-color:rgba(175,236,239,var(--divide-opacity))}.sm\:divide-teal-300>:not(template)~:not(template){--divide-opacity:1;border-color:#7edce2;border-color:rgba(126,220,226,var(--divide-opacity))}.sm\:divide-teal-400>:not(template)~:not(template){--divide-opacity:1;border-color:#16bdca;border-color:rgba(22,189,202,var(--divide-opacity))}.sm\:divide-teal-500>:not(template)~:not(template){--divide-opacity:1;border-color:#0694a2;border-color:rgba(6,148,162,var(--divide-opacity))}.sm\:divide-teal-600>:not(template)~:not(template){--divide-opacity:1;border-color:#047481;border-color:rgba(4,116,129,var(--divide-opacity))}.sm\:divide-teal-700>:not(template)~:not(template){--divide-opacity:1;border-color:#036672;border-color:rgba(3,102,114,var(--divide-opacity))}.sm\:divide-teal-800>:not(template)~:not(template){--divide-opacity:1;border-color:#05505c;border-color:rgba(5,80,92,var(--divide-opacity))}.sm\:divide-teal-900>:not(template)~:not(template){--divide-opacity:1;border-color:#014451;border-color:rgba(1,68,81,var(--divide-opacity))}.sm\:divide-blue-50>:not(template)~:not(template){--divide-opacity:1;border-color:#ebf5ff;border-color:rgba(235,245,255,var(--divide-opacity))}.sm\:divide-blue-100>:not(template)~:not(template){--divide-opacity:1;border-color:#e1effe;border-color:rgba(225,239,254,var(--divide-opacity))}.sm\:divide-blue-200>:not(template)~:not(template){--divide-opacity:1;border-color:#c3ddfd;border-color:rgba(195,221,253,var(--divide-opacity))}.sm\:divide-blue-300>:not(template)~:not(template){--divide-opacity:1;border-color:#a4cafe;border-color:rgba(164,202,254,var(--divide-opacity))}.sm\:divide-blue-400>:not(template)~:not(template){--divide-opacity:1;border-color:#76a9fa;border-color:rgba(118,169,250,var(--divide-opacity))}.sm\:divide-blue-500>:not(template)~:not(template){--divide-opacity:1;border-color:#3f83f8;border-color:rgba(63,131,248,var(--divide-opacity))}.sm\:divide-blue-600>:not(template)~:not(template){--divide-opacity:1;border-color:#1c64f2;border-color:rgba(28,100,242,var(--divide-opacity))}.sm\:divide-blue-700>:not(template)~:not(template){--divide-opacity:1;border-color:#1a56db;border-color:rgba(26,86,219,var(--divide-opacity))}.sm\:divide-blue-800>:not(template)~:not(template){--divide-opacity:1;border-color:#1e429f;border-color:rgba(30,66,159,var(--divide-opacity))}.sm\:divide-blue-900>:not(template)~:not(template){--divide-opacity:1;border-color:#233876;border-color:rgba(35,56,118,var(--divide-opacity))}.sm\:divide-indigo-50>:not(template)~:not(template){--divide-opacity:1;border-color:#f0f5ff;border-color:rgba(240,245,255,var(--divide-opacity))}.sm\:divide-indigo-100>:not(template)~:not(template){--divide-opacity:1;border-color:#e5edff;border-color:rgba(229,237,255,var(--divide-opacity))}.sm\:divide-indigo-200>:not(template)~:not(template){--divide-opacity:1;border-color:#cddbfe;border-color:rgba(205,219,254,var(--divide-opacity))}.sm\:divide-indigo-300>:not(template)~:not(template){--divide-opacity:1;border-color:#b4c6fc;border-color:rgba(180,198,252,var(--divide-opacity))}.sm\:divide-indigo-400>:not(template)~:not(template){--divide-opacity:1;border-color:#8da2fb;border-color:rgba(141,162,251,var(--divide-opacity))}.sm\:divide-indigo-500>:not(template)~:not(template){--divide-opacity:1;border-color:#6875f5;border-color:rgba(104,117,245,var(--divide-opacity))}.sm\:divide-indigo-600>:not(template)~:not(template){--divide-opacity:1;border-color:#5850ec;border-color:rgba(88,80,236,var(--divide-opacity))}.sm\:divide-indigo-700>:not(template)~:not(template){--divide-opacity:1;border-color:#5145cd;border-color:rgba(81,69,205,var(--divide-opacity))}.sm\:divide-indigo-800>:not(template)~:not(template){--divide-opacity:1;border-color:#42389d;border-color:rgba(66,56,157,var(--divide-opacity))}.sm\:divide-indigo-900>:not(template)~:not(template){--divide-opacity:1;border-color:#362f78;border-color:rgba(54,47,120,var(--divide-opacity))}.sm\:divide-purple-50>:not(template)~:not(template){--divide-opacity:1;border-color:#f6f5ff;border-color:rgba(246,245,255,var(--divide-opacity))}.sm\:divide-purple-100>:not(template)~:not(template){--divide-opacity:1;border-color:#edebfe;border-color:rgba(237,235,254,var(--divide-opacity))}.sm\:divide-purple-200>:not(template)~:not(template){--divide-opacity:1;border-color:#dcd7fe;border-color:rgba(220,215,254,var(--divide-opacity))}.sm\:divide-purple-300>:not(template)~:not(template){--divide-opacity:1;border-color:#cabffd;border-color:rgba(202,191,253,var(--divide-opacity))}.sm\:divide-purple-400>:not(template)~:not(template){--divide-opacity:1;border-color:#ac94fa;border-color:rgba(172,148,250,var(--divide-opacity))}.sm\:divide-purple-500>:not(template)~:not(template){--divide-opacity:1;border-color:#9061f9;border-color:rgba(144,97,249,var(--divide-opacity))}.sm\:divide-purple-600>:not(template)~:not(template){--divide-opacity:1;border-color:#7e3af2;border-color:rgba(126,58,242,var(--divide-opacity))}.sm\:divide-purple-700>:not(template)~:not(template){--divide-opacity:1;border-color:#6c2bd9;border-color:rgba(108,43,217,var(--divide-opacity))}.sm\:divide-purple-800>:not(template)~:not(template){--divide-opacity:1;border-color:#5521b5;border-color:rgba(85,33,181,var(--divide-opacity))}.sm\:divide-purple-900>:not(template)~:not(template){--divide-opacity:1;border-color:#4a1d96;border-color:rgba(74,29,150,var(--divide-opacity))}.sm\:divide-pink-50>:not(template)~:not(template){--divide-opacity:1;border-color:#fdf2f8;border-color:rgba(253,242,248,var(--divide-opacity))}.sm\:divide-pink-100>:not(template)~:not(template){--divide-opacity:1;border-color:#fce8f3;border-color:rgba(252,232,243,var(--divide-opacity))}.sm\:divide-pink-200>:not(template)~:not(template){--divide-opacity:1;border-color:#fad1e8;border-color:rgba(250,209,232,var(--divide-opacity))}.sm\:divide-pink-300>:not(template)~:not(template){--divide-opacity:1;border-color:#f8b4d9;border-color:rgba(248,180,217,var(--divide-opacity))}.sm\:divide-pink-400>:not(template)~:not(template){--divide-opacity:1;border-color:#f17eb8;border-color:rgba(241,126,184,var(--divide-opacity))}.sm\:divide-pink-500>:not(template)~:not(template){--divide-opacity:1;border-color:#e74694;border-color:rgba(231,70,148,var(--divide-opacity))}.sm\:divide-pink-600>:not(template)~:not(template){--divide-opacity:1;border-color:#d61f69;border-color:rgba(214,31,105,var(--divide-opacity))}.sm\:divide-pink-700>:not(template)~:not(template){--divide-opacity:1;border-color:#bf125d;border-color:rgba(191,18,93,var(--divide-opacity))}.sm\:divide-pink-800>:not(template)~:not(template){--divide-opacity:1;border-color:#99154b;border-color:rgba(153,21,75,var(--divide-opacity))}.sm\:divide-pink-900>:not(template)~:not(template){--divide-opacity:1;border-color:#751a3d;border-color:rgba(117,26,61,var(--divide-opacity))}.sm\:divide-opacity-0>:not(template)~:not(template){--divide-opacity:0}.sm\:divide-opacity-25>:not(template)~:not(template){--divide-opacity:0.25}.sm\:divide-opacity-50>:not(template)~:not(template){--divide-opacity:0.5}.sm\:divide-opacity-75>:not(template)~:not(template){--divide-opacity:0.75}.sm\:divide-opacity-100>:not(template)~:not(template){--divide-opacity:1}.sm\:sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.sm\:not-sr-only{position:static;width:auto;height:auto;padding:0;margin:0;overflow:visible;clip:auto;white-space:normal}.sm\:focus\:sr-only:focus{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.sm\:focus\:not-sr-only:focus{position:static;width:auto;height:auto;padding:0;margin:0;overflow:visible;clip:auto;white-space:normal}.sm\:appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.sm\:bg-fixed{background-attachment:fixed}.sm\:bg-local{background-attachment:local}.sm\:bg-scroll{background-attachment:scroll}.sm\:bg-transparent{background-color:transparent}.sm\:bg-white{--bg-opacity:1;background-color:#fff;background-color:rgba(255,255,255,var(--bg-opacity))}.sm\:bg-black{--bg-opacity:1;background-color:#000;background-color:rgba(0,0,0,var(--bg-opacity))}.sm\:bg-gray-50{--bg-opacity:1;background-color:#f9fafb;background-color:rgba(249,250,251,var(--bg-opacity))}.sm\:bg-gray-100{--bg-opacity:1;background-color:#f4f5f7;background-color:rgba(244,245,247,var(--bg-opacity))}.sm\:bg-gray-200{--bg-opacity:1;background-color:#e5e7eb;background-color:rgba(229,231,235,var(--bg-opacity))}.sm\:bg-gray-300{--bg-opacity:1;background-color:#d2d6dc;background-color:rgba(210,214,220,var(--bg-opacity))}.sm\:bg-gray-400{--bg-opacity:1;background-color:#9fa6b2;background-color:rgba(159,166,178,var(--bg-opacity))}.sm\:bg-gray-500{--bg-opacity:1;background-color:#6b7280;background-color:rgba(107,114,128,var(--bg-opacity))}.sm\:bg-gray-600{--bg-opacity:1;background-color:#4b5563;background-color:rgba(75,85,99,var(--bg-opacity))}.sm\:bg-gray-700{--bg-opacity:1;background-color:#374151;background-color:rgba(55,65,81,var(--bg-opacity))}.sm\:bg-gray-800{--bg-opacity:1;background-color:#252f3f;background-color:rgba(37,47,63,var(--bg-opacity))}.sm\:bg-gray-900{--bg-opacity:1;background-color:#161e2e;background-color:rgba(22,30,46,var(--bg-opacity))}.sm\:bg-cool-gray-50{--bg-opacity:1;background-color:#f8fafc;background-color:rgba(248,250,252,var(--bg-opacity))}.sm\:bg-cool-gray-100{--bg-opacity:1;background-color:#f1f5f9;background-color:rgba(241,245,249,var(--bg-opacity))}.sm\:bg-cool-gray-200{--bg-opacity:1;background-color:#e2e8f0;background-color:rgba(226,232,240,var(--bg-opacity))}.sm\:bg-cool-gray-300{--bg-opacity:1;background-color:#cfd8e3;background-color:rgba(207,216,227,var(--bg-opacity))}.sm\:bg-cool-gray-400{--bg-opacity:1;background-color:#97a6ba;background-color:rgba(151,166,186,var(--bg-opacity))}.sm\:bg-cool-gray-500{--bg-opacity:1;background-color:#64748b;background-color:rgba(100,116,139,var(--bg-opacity))}.sm\:bg-cool-gray-600{--bg-opacity:1;background-color:#475569;background-color:rgba(71,85,105,var(--bg-opacity))}.sm\:bg-cool-gray-700{--bg-opacity:1;background-color:#364152;background-color:rgba(54,65,82,var(--bg-opacity))}.sm\:bg-cool-gray-800{--bg-opacity:1;background-color:#27303f;background-color:rgba(39,48,63,var(--bg-opacity))}.sm\:bg-cool-gray-900{--bg-opacity:1;background-color:#1a202e;background-color:rgba(26,32,46,var(--bg-opacity))}.sm\:bg-red-50{--bg-opacity:1;background-color:#fdf2f2;background-color:rgba(253,242,242,var(--bg-opacity))}.sm\:bg-red-100{--bg-opacity:1;background-color:#fde8e8;background-color:rgba(253,232,232,var(--bg-opacity))}.sm\:bg-red-200{--bg-opacity:1;background-color:#fbd5d5;background-color:rgba(251,213,213,var(--bg-opacity))}.sm\:bg-red-300{--bg-opacity:1;background-color:#f8b4b4;background-color:rgba(248,180,180,var(--bg-opacity))}.sm\:bg-red-400{--bg-opacity:1;background-color:#f98080;background-color:rgba(249,128,128,var(--bg-opacity))}.sm\:bg-red-500{--bg-opacity:1;background-color:#f05252;background-color:rgba(240,82,82,var(--bg-opacity))}.sm\:bg-red-600{--bg-opacity:1;background-color:#e02424;background-color:rgba(224,36,36,var(--bg-opacity))}.sm\:bg-red-700{--bg-opacity:1;background-color:#c81e1e;background-color:rgba(200,30,30,var(--bg-opacity))}.sm\:bg-red-800{--bg-opacity:1;background-color:#9b1c1c;background-color:rgba(155,28,28,var(--bg-opacity))}.sm\:bg-red-900{--bg-opacity:1;background-color:#771d1d;background-color:rgba(119,29,29,var(--bg-opacity))}.sm\:bg-orange-50{--bg-opacity:1;background-color:#fff8f1;background-color:rgba(255,248,241,var(--bg-opacity))}.sm\:bg-orange-100{--bg-opacity:1;background-color:#feecdc;background-color:rgba(254,236,220,var(--bg-opacity))}.sm\:bg-orange-200{--bg-opacity:1;background-color:#fcd9bd;background-color:rgba(252,217,189,var(--bg-opacity))}.sm\:bg-orange-300{--bg-opacity:1;background-color:#fdba8c;background-color:rgba(253,186,140,var(--bg-opacity))}.sm\:bg-orange-400{--bg-opacity:1;background-color:#ff8a4c;background-color:rgba(255,138,76,var(--bg-opacity))}.sm\:bg-orange-500{--bg-opacity:1;background-color:#ff5a1f;background-color:rgba(255,90,31,var(--bg-opacity))}.sm\:bg-orange-600{--bg-opacity:1;background-color:#d03801;background-color:rgba(208,56,1,var(--bg-opacity))}.sm\:bg-orange-700{--bg-opacity:1;background-color:#b43403;background-color:rgba(180,52,3,var(--bg-opacity))}.sm\:bg-orange-800{--bg-opacity:1;background-color:#8a2c0d;background-color:rgba(138,44,13,var(--bg-opacity))}.sm\:bg-orange-900{--bg-opacity:1;background-color:#73230d;background-color:rgba(115,35,13,var(--bg-opacity))}.sm\:bg-yellow-50{--bg-opacity:1;background-color:#fdfdea;background-color:rgba(253,253,234,var(--bg-opacity))}.sm\:bg-yellow-100{--bg-opacity:1;background-color:#fdf6b2;background-color:rgba(253,246,178,var(--bg-opacity))}.sm\:bg-yellow-200{--bg-opacity:1;background-color:#fce96a;background-color:rgba(252,233,106,var(--bg-opacity))}.sm\:bg-yellow-300{--bg-opacity:1;background-color:#faca15;background-color:rgba(250,202,21,var(--bg-opacity))}.sm\:bg-yellow-400{--bg-opacity:1;background-color:#e3a008;background-color:rgba(227,160,8,var(--bg-opacity))}.sm\:bg-yellow-500{--bg-opacity:1;background-color:#c27803;background-color:rgba(194,120,3,var(--bg-opacity))}.sm\:bg-yellow-600{--bg-opacity:1;background-color:#9f580a;background-color:rgba(159,88,10,var(--bg-opacity))}.sm\:bg-yellow-700{--bg-opacity:1;background-color:#8e4b10;background-color:rgba(142,75,16,var(--bg-opacity))}.sm\:bg-yellow-800{--bg-opacity:1;background-color:#723b13;background-color:rgba(114,59,19,var(--bg-opacity))}.sm\:bg-yellow-900{--bg-opacity:1;background-color:#633112;background-color:rgba(99,49,18,var(--bg-opacity))}.sm\:bg-green-50{--bg-opacity:1;background-color:#f3faf7;background-color:rgba(243,250,247,var(--bg-opacity))}.sm\:bg-green-100{--bg-opacity:1;background-color:#def7ec;background-color:rgba(222,247,236,var(--bg-opacity))}.sm\:bg-green-200{--bg-opacity:1;background-color:#bcf0da;background-color:rgba(188,240,218,var(--bg-opacity))}.sm\:bg-green-300{--bg-opacity:1;background-color:#84e1bc;background-color:rgba(132,225,188,var(--bg-opacity))}.sm\:bg-green-400{--bg-opacity:1;background-color:#31c48d;background-color:rgba(49,196,141,var(--bg-opacity))}.sm\:bg-green-500{--bg-opacity:1;background-color:#0e9f6e;background-color:rgba(14,159,110,var(--bg-opacity))}.sm\:bg-green-600{--bg-opacity:1;background-color:#057a55;background-color:rgba(5,122,85,var(--bg-opacity))}.sm\:bg-green-700{--bg-opacity:1;background-color:#046c4e;background-color:rgba(4,108,78,var(--bg-opacity))}.sm\:bg-green-800{--bg-opacity:1;background-color:#03543f;background-color:rgba(3,84,63,var(--bg-opacity))}.sm\:bg-green-900{--bg-opacity:1;background-color:#014737;background-color:rgba(1,71,55,var(--bg-opacity))}.sm\:bg-teal-50{--bg-opacity:1;background-color:#edfafa;background-color:rgba(237,250,250,var(--bg-opacity))}.sm\:bg-teal-100{--bg-opacity:1;background-color:#d5f5f6;background-color:rgba(213,245,246,var(--bg-opacity))}.sm\:bg-teal-200{--bg-opacity:1;background-color:#afecef;background-color:rgba(175,236,239,var(--bg-opacity))}.sm\:bg-teal-300{--bg-opacity:1;background-color:#7edce2;background-color:rgba(126,220,226,var(--bg-opacity))}.sm\:bg-teal-400{--bg-opacity:1;background-color:#16bdca;background-color:rgba(22,189,202,var(--bg-opacity))}.sm\:bg-teal-500{--bg-opacity:1;background-color:#0694a2;background-color:rgba(6,148,162,var(--bg-opacity))}.sm\:bg-teal-600{--bg-opacity:1;background-color:#047481;background-color:rgba(4,116,129,var(--bg-opacity))}.sm\:bg-teal-700{--bg-opacity:1;background-color:#036672;background-color:rgba(3,102,114,var(--bg-opacity))}.sm\:bg-teal-800{--bg-opacity:1;background-color:#05505c;background-color:rgba(5,80,92,var(--bg-opacity))}.sm\:bg-teal-900{--bg-opacity:1;background-color:#014451;background-color:rgba(1,68,81,var(--bg-opacity))}.sm\:bg-blue-50{--bg-opacity:1;background-color:#ebf5ff;background-color:rgba(235,245,255,var(--bg-opacity))}.sm\:bg-blue-100{--bg-opacity:1;background-color:#e1effe;background-color:rgba(225,239,254,var(--bg-opacity))}.sm\:bg-blue-200{--bg-opacity:1;background-color:#c3ddfd;background-color:rgba(195,221,253,var(--bg-opacity))}.sm\:bg-blue-300{--bg-opacity:1;background-color:#a4cafe;background-color:rgba(164,202,254,var(--bg-opacity))}.sm\:bg-blue-400{--bg-opacity:1;background-color:#76a9fa;background-color:rgba(118,169,250,var(--bg-opacity))}.sm\:bg-blue-500{--bg-opacity:1;background-color:#3f83f8;background-color:rgba(63,131,248,var(--bg-opacity))}.sm\:bg-blue-600{--bg-opacity:1;background-color:#1c64f2;background-color:rgba(28,100,242,var(--bg-opacity))}.sm\:bg-blue-700{--bg-opacity:1;background-color:#1a56db;background-color:rgba(26,86,219,var(--bg-opacity))}.sm\:bg-blue-800{--bg-opacity:1;background-color:#1e429f;background-color:rgba(30,66,159,var(--bg-opacity))}.sm\:bg-blue-900{--bg-opacity:1;background-color:#233876;background-color:rgba(35,56,118,var(--bg-opacity))}.sm\:bg-indigo-50{--bg-opacity:1;background-color:#f0f5ff;background-color:rgba(240,245,255,var(--bg-opacity))}.sm\:bg-indigo-100{--bg-opacity:1;background-color:#e5edff;background-color:rgba(229,237,255,var(--bg-opacity))}.sm\:bg-indigo-200{--bg-opacity:1;background-color:#cddbfe;background-color:rgba(205,219,254,var(--bg-opacity))}.sm\:bg-indigo-300{--bg-opacity:1;background-color:#b4c6fc;background-color:rgba(180,198,252,var(--bg-opacity))}.sm\:bg-indigo-400{--bg-opacity:1;background-color:#8da2fb;background-color:rgba(141,162,251,var(--bg-opacity))}.sm\:bg-indigo-500{--bg-opacity:1;background-color:#6875f5;background-color:rgba(104,117,245,var(--bg-opacity))}.sm\:bg-indigo-600{--bg-opacity:1;background-color:#5850ec;background-color:rgba(88,80,236,var(--bg-opacity))}.sm\:bg-indigo-700{--bg-opacity:1;background-color:#5145cd;background-color:rgba(81,69,205,var(--bg-opacity))}.sm\:bg-indigo-800{--bg-opacity:1;background-color:#42389d;background-color:rgba(66,56,157,var(--bg-opacity))}.sm\:bg-indigo-900{--bg-opacity:1;background-color:#362f78;background-color:rgba(54,47,120,var(--bg-opacity))}.sm\:bg-purple-50{--bg-opacity:1;background-color:#f6f5ff;background-color:rgba(246,245,255,var(--bg-opacity))}.sm\:bg-purple-100{--bg-opacity:1;background-color:#edebfe;background-color:rgba(237,235,254,var(--bg-opacity))}.sm\:bg-purple-200{--bg-opacity:1;background-color:#dcd7fe;background-color:rgba(220,215,254,var(--bg-opacity))}.sm\:bg-purple-300{--bg-opacity:1;background-color:#cabffd;background-color:rgba(202,191,253,var(--bg-opacity))}.sm\:bg-purple-400{--bg-opacity:1;background-color:#ac94fa;background-color:rgba(172,148,250,var(--bg-opacity))}.sm\:bg-purple-500{--bg-opacity:1;background-color:#9061f9;background-color:rgba(144,97,249,var(--bg-opacity))}.sm\:bg-purple-600{--bg-opacity:1;background-color:#7e3af2;background-color:rgba(126,58,242,var(--bg-opacity))}.sm\:bg-purple-700{--bg-opacity:1;background-color:#6c2bd9;background-color:rgba(108,43,217,var(--bg-opacity))}.sm\:bg-purple-800{--bg-opacity:1;background-color:#5521b5;background-color:rgba(85,33,181,var(--bg-opacity))}.sm\:bg-purple-900{--bg-opacity:1;background-color:#4a1d96;background-color:rgba(74,29,150,var(--bg-opacity))}.sm\:bg-pink-50{--bg-opacity:1;background-color:#fdf2f8;background-color:rgba(253,242,248,var(--bg-opacity))}.sm\:bg-pink-100{--bg-opacity:1;background-color:#fce8f3;background-color:rgba(252,232,243,var(--bg-opacity))}.sm\:bg-pink-200{--bg-opacity:1;background-color:#fad1e8;background-color:rgba(250,209,232,var(--bg-opacity))}.sm\:bg-pink-300{--bg-opacity:1;background-color:#f8b4d9;background-color:rgba(248,180,217,var(--bg-opacity))}.sm\:bg-pink-400{--bg-opacity:1;background-color:#f17eb8;background-color:rgba(241,126,184,var(--bg-opacity))}.sm\:bg-pink-500{--bg-opacity:1;background-color:#e74694;background-color:rgba(231,70,148,var(--bg-opacity))}.sm\:bg-pink-600{--bg-opacity:1;background-color:#d61f69;background-color:rgba(214,31,105,var(--bg-opacity))}.sm\:bg-pink-700{--bg-opacity:1;background-color:#bf125d;background-color:rgba(191,18,93,var(--bg-opacity))}.sm\:bg-pink-800{--bg-opacity:1;background-color:#99154b;background-color:rgba(153,21,75,var(--bg-opacity))}.sm\:bg-pink-900{--bg-opacity:1;background-color:#751a3d;background-color:rgba(117,26,61,var(--bg-opacity))}.group:hover .sm\:group-hover\:bg-transparent{background-color:transparent}.group:hover .sm\:group-hover\:bg-white{--bg-opacity:1;background-color:#fff;background-color:rgba(255,255,255,var(--bg-opacity))}.group:hover .sm\:group-hover\:bg-black{--bg-opacity:1;background-color:#000;background-color:rgba(0,0,0,var(--bg-opacity))}.group:hover .sm\:group-hover\:bg-gray-50{--bg-opacity:1;background-color:#f9fafb;background-color:rgba(249,250,251,var(--bg-opacity))}.group:hover .sm\:group-hover\:bg-gray-100{--bg-opacity:1;background-color:#f4f5f7;background-color:rgba(244,245,247,var(--bg-opacity))}.group:hover .sm\:group-hover\:bg-gray-200{--bg-opacity:1;background-color:#e5e7eb;background-color:rgba(229,231,235,var(--bg-opacity))}.group:hover .sm\:group-hover\:bg-gray-300{--bg-opacity:1;background-color:#d2d6dc;background-color:rgba(210,214,220,var(--bg-opacity))}.group:hover .sm\:group-hover\:bg-gray-400{--bg-opacity:1;background-color:#9fa6b2;background-color:rgba(159,166,178,var(--bg-opacity))}.group:hover .sm\:group-hover\:bg-gray-500{--bg-opacity:1;background-color:#6b7280;background-color:rgba(107,114,128,var(--bg-opacity))}.group:hover .sm\:group-hover\:bg-gray-600{--bg-opacity:1;background-color:#4b5563;background-color:rgba(75,85,99,var(--bg-opacity))}.group:hover .sm\:group-hover\:bg-gray-700{--bg-opacity:1;background-color:#374151;background-color:rgba(55,65,81,var(--bg-opacity))}.group:hover .sm\:group-hover\:bg-gray-800{--bg-opacity:1;background-color:#252f3f;background-color:rgba(37,47,63,var(--bg-opacity))}.group:hover .sm\:group-hover\:bg-gray-900{--bg-opacity:1;background-color:#161e2e;background-color:rgba(22,30,46,var(--bg-opacity))}.group:hover .sm\:group-hover\:bg-cool-gray-50{--bg-opacity:1;background-color:#f8fafc;background-color:rgba(248,250,252,var(--bg-opacity))}.group:hover .sm\:group-hover\:bg-cool-gray-100{--bg-opacity:1;background-color:#f1f5f9;background-color:rgba(241,245,249,var(--bg-opacity))}.group:hover .sm\:group-hover\:bg-cool-gray-200{--bg-opacity:1;background-color:#e2e8f0;background-color:rgba(226,232,240,var(--bg-opacity))}.group:hover .sm\:group-hover\:bg-cool-gray-300{--bg-opacity:1;background-color:#cfd8e3;background-color:rgba(207,216,227,var(--bg-opacity))}.group:hover .sm\:group-hover\:bg-cool-gray-400{--bg-opacity:1;background-color:#97a6ba;background-color:rgba(151,166,186,var(--bg-opacity))}.group:hover .sm\:group-hover\:bg-cool-gray-500{--bg-opacity:1;background-color:#64748b;background-color:rgba(100,116,139,var(--bg-opacity))}.group:hover .sm\:group-hover\:bg-cool-gray-600{--bg-opacity:1;background-color:#475569;background-color:rgba(71,85,105,var(--bg-opacity))}.group:hover .sm\:group-hover\:bg-cool-gray-700{--bg-opacity:1;background-color:#364152;background-color:rgba(54,65,82,var(--bg-opacity))}.group:hover .sm\:group-hover\:bg-cool-gray-800{--bg-opacity:1;background-color:#27303f;background-color:rgba(39,48,63,var(--bg-opacity))}.group:hover .sm\:group-hover\:bg-cool-gray-900{--bg-opacity:1;background-color:#1a202e;background-color:rgba(26,32,46,var(--bg-opacity))}.group:hover .sm\:group-hover\:bg-red-50{--bg-opacity:1;background-color:#fdf2f2;background-color:rgba(253,242,242,var(--bg-opacity))}.group:hover .sm\:group-hover\:bg-red-100{--bg-opacity:1;background-color:#fde8e8;background-color:rgba(253,232,232,var(--bg-opacity))}.group:hover .sm\:group-hover\:bg-red-200{--bg-opacity:1;background-color:#fbd5d5;background-color:rgba(251,213,213,var(--bg-opacity))}.group:hover .sm\:group-hover\:bg-red-300{--bg-opacity:1;background-color:#f8b4b4;background-color:rgba(248,180,180,var(--bg-opacity))}.group:hover .sm\:group-hover\:bg-red-400{--bg-opacity:1;background-color:#f98080;background-color:rgba(249,128,128,var(--bg-opacity))}.group:hover .sm\:group-hover\:bg-red-500{--bg-opacity:1;background-color:#f05252;background-color:rgba(240,82,82,var(--bg-opacity))}.group:hover .sm\:group-hover\:bg-red-600{--bg-opacity:1;background-color:#e02424;background-color:rgba(224,36,36,var(--bg-opacity))}.group:hover .sm\:group-hover\:bg-red-700{--bg-opacity:1;background-color:#c81e1e;background-color:rgba(200,30,30,var(--bg-opacity))}.group:hover .sm\:group-hover\:bg-red-800{--bg-opacity:1;background-color:#9b1c1c;background-color:rgba(155,28,28,var(--bg-opacity))}.group:hover .sm\:group-hover\:bg-red-900{--bg-opacity:1;background-color:#771d1d;background-color:rgba(119,29,29,var(--bg-opacity))}.group:hover .sm\:group-hover\:bg-orange-50{--bg-opacity:1;background-color:#fff8f1;background-color:rgba(255,248,241,var(--bg-opacity))}.group:hover .sm\:group-hover\:bg-orange-100{--bg-opacity:1;background-color:#feecdc;background-color:rgba(254,236,220,var(--bg-opacity))}.group:hover .sm\:group-hover\:bg-orange-200{--bg-opacity:1;background-color:#fcd9bd;background-color:rgba(252,217,189,var(--bg-opacity))}.group:hover .sm\:group-hover\:bg-orange-300{--bg-opacity:1;background-color:#fdba8c;background-color:rgba(253,186,140,var(--bg-opacity))}.group:hover .sm\:group-hover\:bg-orange-400{--bg-opacity:1;background-color:#ff8a4c;background-color:rgba(255,138,76,var(--bg-opacity))}.group:hover .sm\:group-hover\:bg-orange-500{--bg-opacity:1;background-color:#ff5a1f;background-color:rgba(255,90,31,var(--bg-opacity))}.group:hover .sm\:group-hover\:bg-orange-600{--bg-opacity:1;background-color:#d03801;background-color:rgba(208,56,1,var(--bg-opacity))}.group:hover .sm\:group-hover\:bg-orange-700{--bg-opacity:1;background-color:#b43403;background-color:rgba(180,52,3,var(--bg-opacity))}.group:hover .sm\:group-hover\:bg-orange-800{--bg-opacity:1;background-color:#8a2c0d;background-color:rgba(138,44,13,var(--bg-opacity))}.group:hover .sm\:group-hover\:bg-orange-900{--bg-opacity:1;background-color:#73230d;background-color:rgba(115,35,13,var(--bg-opacity))}.group:hover .sm\:group-hover\:bg-yellow-50{--bg-opacity:1;background-color:#fdfdea;background-color:rgba(253,253,234,var(--bg-opacity))}.group:hover .sm\:group-hover\:bg-yellow-100{--bg-opacity:1;background-color:#fdf6b2;background-color:rgba(253,246,178,var(--bg-opacity))}.group:hover .sm\:group-hover\:bg-yellow-200{--bg-opacity:1;background-color:#fce96a;background-color:rgba(252,233,106,var(--bg-opacity))}.group:hover .sm\:group-hover\:bg-yellow-300{--bg-opacity:1;background-color:#faca15;background-color:rgba(250,202,21,var(--bg-opacity))}.group:hover .sm\:group-hover\:bg-yellow-400{--bg-opacity:1;background-color:#e3a008;background-color:rgba(227,160,8,var(--bg-opacity))}.group:hover .sm\:group-hover\:bg-yellow-500{--bg-opacity:1;background-color:#c27803;background-color:rgba(194,120,3,var(--bg-opacity))}.group:hover .sm\:group-hover\:bg-yellow-600{--bg-opacity:1;background-color:#9f580a;background-color:rgba(159,88,10,var(--bg-opacity))}.group:hover .sm\:group-hover\:bg-yellow-700{--bg-opacity:1;background-color:#8e4b10;background-color:rgba(142,75,16,var(--bg-opacity))}.group:hover .sm\:group-hover\:bg-yellow-800{--bg-opacity:1;background-color:#723b13;background-color:rgba(114,59,19,var(--bg-opacity))}.group:hover .sm\:group-hover\:bg-yellow-900{--bg-opacity:1;background-color:#633112;background-color:rgba(99,49,18,var(--bg-opacity))}.group:hover .sm\:group-hover\:bg-green-50{--bg-opacity:1;background-color:#f3faf7;background-color:rgba(243,250,247,var(--bg-opacity))}.group:hover .sm\:group-hover\:bg-green-100{--bg-opacity:1;background-color:#def7ec;background-color:rgba(222,247,236,var(--bg-opacity))}.group:hover .sm\:group-hover\:bg-green-200{--bg-opacity:1;background-color:#bcf0da;background-color:rgba(188,240,218,var(--bg-opacity))}.group:hover .sm\:group-hover\:bg-green-300{--bg-opacity:1;background-color:#84e1bc;background-color:rgba(132,225,188,var(--bg-opacity))}.group:hover .sm\:group-hover\:bg-green-400{--bg-opacity:1;background-color:#31c48d;background-color:rgba(49,196,141,var(--bg-opacity))}.group:hover .sm\:group-hover\:bg-green-500{--bg-opacity:1;background-color:#0e9f6e;background-color:rgba(14,159,110,var(--bg-opacity))}.group:hover .sm\:group-hover\:bg-green-600{--bg-opacity:1;background-color:#057a55;background-color:rgba(5,122,85,var(--bg-opacity))}.group:hover .sm\:group-hover\:bg-green-700{--bg-opacity:1;background-color:#046c4e;background-color:rgba(4,108,78,var(--bg-opacity))}.group:hover .sm\:group-hover\:bg-green-800{--bg-opacity:1;background-color:#03543f;background-color:rgba(3,84,63,var(--bg-opacity))}.group:hover .sm\:group-hover\:bg-green-900{--bg-opacity:1;background-color:#014737;background-color:rgba(1,71,55,var(--bg-opacity))}.group:hover .sm\:group-hover\:bg-teal-50{--bg-opacity:1;background-color:#edfafa;background-color:rgba(237,250,250,var(--bg-opacity))}.group:hover .sm\:group-hover\:bg-teal-100{--bg-opacity:1;background-color:#d5f5f6;background-color:rgba(213,245,246,var(--bg-opacity))}.group:hover .sm\:group-hover\:bg-teal-200{--bg-opacity:1;background-color:#afecef;background-color:rgba(175,236,239,var(--bg-opacity))}.group:hover .sm\:group-hover\:bg-teal-300{--bg-opacity:1;background-color:#7edce2;background-color:rgba(126,220,226,var(--bg-opacity))}.group:hover .sm\:group-hover\:bg-teal-400{--bg-opacity:1;background-color:#16bdca;background-color:rgba(22,189,202,var(--bg-opacity))}.group:hover .sm\:group-hover\:bg-teal-500{--bg-opacity:1;background-color:#0694a2;background-color:rgba(6,148,162,var(--bg-opacity))}.group:hover .sm\:group-hover\:bg-teal-600{--bg-opacity:1;background-color:#047481;background-color:rgba(4,116,129,var(--bg-opacity))}.group:hover .sm\:group-hover\:bg-teal-700{--bg-opacity:1;background-color:#036672;background-color:rgba(3,102,114,var(--bg-opacity))}.group:hover .sm\:group-hover\:bg-teal-800{--bg-opacity:1;background-color:#05505c;background-color:rgba(5,80,92,var(--bg-opacity))}.group:hover .sm\:group-hover\:bg-teal-900{--bg-opacity:1;background-color:#014451;background-color:rgba(1,68,81,var(--bg-opacity))}.group:hover .sm\:group-hover\:bg-blue-50{--bg-opacity:1;background-color:#ebf5ff;background-color:rgba(235,245,255,var(--bg-opacity))}.group:hover .sm\:group-hover\:bg-blue-100{--bg-opacity:1;background-color:#e1effe;background-color:rgba(225,239,254,var(--bg-opacity))}.group:hover .sm\:group-hover\:bg-blue-200{--bg-opacity:1;background-color:#c3ddfd;background-color:rgba(195,221,253,var(--bg-opacity))}.group:hover .sm\:group-hover\:bg-blue-300{--bg-opacity:1;background-color:#a4cafe;background-color:rgba(164,202,254,var(--bg-opacity))}.group:hover .sm\:group-hover\:bg-blue-400{--bg-opacity:1;background-color:#76a9fa;background-color:rgba(118,169,250,var(--bg-opacity))}.group:hover .sm\:group-hover\:bg-blue-500{--bg-opacity:1;background-color:#3f83f8;background-color:rgba(63,131,248,var(--bg-opacity))}.group:hover .sm\:group-hover\:bg-blue-600{--bg-opacity:1;background-color:#1c64f2;background-color:rgba(28,100,242,var(--bg-opacity))}.group:hover .sm\:group-hover\:bg-blue-700{--bg-opacity:1;background-color:#1a56db;background-color:rgba(26,86,219,var(--bg-opacity))}.group:hover .sm\:group-hover\:bg-blue-800{--bg-opacity:1;background-color:#1e429f;background-color:rgba(30,66,159,var(--bg-opacity))}.group:hover .sm\:group-hover\:bg-blue-900{--bg-opacity:1;background-color:#233876;background-color:rgba(35,56,118,var(--bg-opacity))}.group:hover .sm\:group-hover\:bg-indigo-50{--bg-opacity:1;background-color:#f0f5ff;background-color:rgba(240,245,255,var(--bg-opacity))}.group:hover .sm\:group-hover\:bg-indigo-100{--bg-opacity:1;background-color:#e5edff;background-color:rgba(229,237,255,var(--bg-opacity))}.group:hover .sm\:group-hover\:bg-indigo-200{--bg-opacity:1;background-color:#cddbfe;background-color:rgba(205,219,254,var(--bg-opacity))}.group:hover .sm\:group-hover\:bg-indigo-300{--bg-opacity:1;background-color:#b4c6fc;background-color:rgba(180,198,252,var(--bg-opacity))}.group:hover .sm\:group-hover\:bg-indigo-400{--bg-opacity:1;background-color:#8da2fb;background-color:rgba(141,162,251,var(--bg-opacity))}.group:hover .sm\:group-hover\:bg-indigo-500{--bg-opacity:1;background-color:#6875f5;background-color:rgba(104,117,245,var(--bg-opacity))}.group:hover .sm\:group-hover\:bg-indigo-600{--bg-opacity:1;background-color:#5850ec;background-color:rgba(88,80,236,var(--bg-opacity))}.group:hover .sm\:group-hover\:bg-indigo-700{--bg-opacity:1;background-color:#5145cd;background-color:rgba(81,69,205,var(--bg-opacity))}.group:hover .sm\:group-hover\:bg-indigo-800{--bg-opacity:1;background-color:#42389d;background-color:rgba(66,56,157,var(--bg-opacity))}.group:hover .sm\:group-hover\:bg-indigo-900{--bg-opacity:1;background-color:#362f78;background-color:rgba(54,47,120,var(--bg-opacity))}.group:hover .sm\:group-hover\:bg-purple-50{--bg-opacity:1;background-color:#f6f5ff;background-color:rgba(246,245,255,var(--bg-opacity))}.group:hover .sm\:group-hover\:bg-purple-100{--bg-opacity:1;background-color:#edebfe;background-color:rgba(237,235,254,var(--bg-opacity))}.group:hover .sm\:group-hover\:bg-purple-200{--bg-opacity:1;background-color:#dcd7fe;background-color:rgba(220,215,254,var(--bg-opacity))}.group:hover .sm\:group-hover\:bg-purple-300{--bg-opacity:1;background-color:#cabffd;background-color:rgba(202,191,253,var(--bg-opacity))}.group:hover .sm\:group-hover\:bg-purple-400{--bg-opacity:1;background-color:#ac94fa;background-color:rgba(172,148,250,var(--bg-opacity))}.group:hover .sm\:group-hover\:bg-purple-500{--bg-opacity:1;background-color:#9061f9;background-color:rgba(144,97,249,var(--bg-opacity))}.group:hover .sm\:group-hover\:bg-purple-600{--bg-opacity:1;background-color:#7e3af2;background-color:rgba(126,58,242,var(--bg-opacity))}.group:hover .sm\:group-hover\:bg-purple-700{--bg-opacity:1;background-color:#6c2bd9;background-color:rgba(108,43,217,var(--bg-opacity))}.group:hover .sm\:group-hover\:bg-purple-800{--bg-opacity:1;background-color:#5521b5;background-color:rgba(85,33,181,var(--bg-opacity))}.group:hover .sm\:group-hover\:bg-purple-900{--bg-opacity:1;background-color:#4a1d96;background-color:rgba(74,29,150,var(--bg-opacity))}.group:hover .sm\:group-hover\:bg-pink-50{--bg-opacity:1;background-color:#fdf2f8;background-color:rgba(253,242,248,var(--bg-opacity))}.group:hover .sm\:group-hover\:bg-pink-100{--bg-opacity:1;background-color:#fce8f3;background-color:rgba(252,232,243,var(--bg-opacity))}.group:hover .sm\:group-hover\:bg-pink-200{--bg-opacity:1;background-color:#fad1e8;background-color:rgba(250,209,232,var(--bg-opacity))}.group:hover .sm\:group-hover\:bg-pink-300{--bg-opacity:1;background-color:#f8b4d9;background-color:rgba(248,180,217,var(--bg-opacity))}.group:hover .sm\:group-hover\:bg-pink-400{--bg-opacity:1;background-color:#f17eb8;background-color:rgba(241,126,184,var(--bg-opacity))}.group:hover .sm\:group-hover\:bg-pink-500{--bg-opacity:1;background-color:#e74694;background-color:rgba(231,70,148,var(--bg-opacity))}.group:hover .sm\:group-hover\:bg-pink-600{--bg-opacity:1;background-color:#d61f69;background-color:rgba(214,31,105,var(--bg-opacity))}.group:hover .sm\:group-hover\:bg-pink-700{--bg-opacity:1;background-color:#bf125d;background-color:rgba(191,18,93,var(--bg-opacity))}.group:hover .sm\:group-hover\:bg-pink-800{--bg-opacity:1;background-color:#99154b;background-color:rgba(153,21,75,var(--bg-opacity))}.group:hover .sm\:group-hover\:bg-pink-900{--bg-opacity:1;background-color:#751a3d;background-color:rgba(117,26,61,var(--bg-opacity))}.group:focus .sm\:group-focus\:bg-transparent{background-color:transparent}.group:focus .sm\:group-focus\:bg-white{--bg-opacity:1;background-color:#fff;background-color:rgba(255,255,255,var(--bg-opacity))}.group:focus .sm\:group-focus\:bg-black{--bg-opacity:1;background-color:#000;background-color:rgba(0,0,0,var(--bg-opacity))}.group:focus .sm\:group-focus\:bg-gray-50{--bg-opacity:1;background-color:#f9fafb;background-color:rgba(249,250,251,var(--bg-opacity))}.group:focus .sm\:group-focus\:bg-gray-100{--bg-opacity:1;background-color:#f4f5f7;background-color:rgba(244,245,247,var(--bg-opacity))}.group:focus .sm\:group-focus\:bg-gray-200{--bg-opacity:1;background-color:#e5e7eb;background-color:rgba(229,231,235,var(--bg-opacity))}.group:focus .sm\:group-focus\:bg-gray-300{--bg-opacity:1;background-color:#d2d6dc;background-color:rgba(210,214,220,var(--bg-opacity))}.group:focus .sm\:group-focus\:bg-gray-400{--bg-opacity:1;background-color:#9fa6b2;background-color:rgba(159,166,178,var(--bg-opacity))}.group:focus .sm\:group-focus\:bg-gray-500{--bg-opacity:1;background-color:#6b7280;background-color:rgba(107,114,128,var(--bg-opacity))}.group:focus .sm\:group-focus\:bg-gray-600{--bg-opacity:1;background-color:#4b5563;background-color:rgba(75,85,99,var(--bg-opacity))}.group:focus .sm\:group-focus\:bg-gray-700{--bg-opacity:1;background-color:#374151;background-color:rgba(55,65,81,var(--bg-opacity))}.group:focus .sm\:group-focus\:bg-gray-800{--bg-opacity:1;background-color:#252f3f;background-color:rgba(37,47,63,var(--bg-opacity))}.group:focus .sm\:group-focus\:bg-gray-900{--bg-opacity:1;background-color:#161e2e;background-color:rgba(22,30,46,var(--bg-opacity))}.group:focus .sm\:group-focus\:bg-cool-gray-50{--bg-opacity:1;background-color:#f8fafc;background-color:rgba(248,250,252,var(--bg-opacity))}.group:focus .sm\:group-focus\:bg-cool-gray-100{--bg-opacity:1;background-color:#f1f5f9;background-color:rgba(241,245,249,var(--bg-opacity))}.group:focus .sm\:group-focus\:bg-cool-gray-200{--bg-opacity:1;background-color:#e2e8f0;background-color:rgba(226,232,240,var(--bg-opacity))}.group:focus .sm\:group-focus\:bg-cool-gray-300{--bg-opacity:1;background-color:#cfd8e3;background-color:rgba(207,216,227,var(--bg-opacity))}.group:focus .sm\:group-focus\:bg-cool-gray-400{--bg-opacity:1;background-color:#97a6ba;background-color:rgba(151,166,186,var(--bg-opacity))}.group:focus .sm\:group-focus\:bg-cool-gray-500{--bg-opacity:1;background-color:#64748b;background-color:rgba(100,116,139,var(--bg-opacity))}.group:focus .sm\:group-focus\:bg-cool-gray-600{--bg-opacity:1;background-color:#475569;background-color:rgba(71,85,105,var(--bg-opacity))}.group:focus .sm\:group-focus\:bg-cool-gray-700{--bg-opacity:1;background-color:#364152;background-color:rgba(54,65,82,var(--bg-opacity))}.group:focus .sm\:group-focus\:bg-cool-gray-800{--bg-opacity:1;background-color:#27303f;background-color:rgba(39,48,63,var(--bg-opacity))}.group:focus .sm\:group-focus\:bg-cool-gray-900{--bg-opacity:1;background-color:#1a202e;background-color:rgba(26,32,46,var(--bg-opacity))}.group:focus .sm\:group-focus\:bg-red-50{--bg-opacity:1;background-color:#fdf2f2;background-color:rgba(253,242,242,var(--bg-opacity))}.group:focus .sm\:group-focus\:bg-red-100{--bg-opacity:1;background-color:#fde8e8;background-color:rgba(253,232,232,var(--bg-opacity))}.group:focus .sm\:group-focus\:bg-red-200{--bg-opacity:1;background-color:#fbd5d5;background-color:rgba(251,213,213,var(--bg-opacity))}.group:focus .sm\:group-focus\:bg-red-300{--bg-opacity:1;background-color:#f8b4b4;background-color:rgba(248,180,180,var(--bg-opacity))}.group:focus .sm\:group-focus\:bg-red-400{--bg-opacity:1;background-color:#f98080;background-color:rgba(249,128,128,var(--bg-opacity))}.group:focus .sm\:group-focus\:bg-red-500{--bg-opacity:1;background-color:#f05252;background-color:rgba(240,82,82,var(--bg-opacity))}.group:focus .sm\:group-focus\:bg-red-600{--bg-opacity:1;background-color:#e02424;background-color:rgba(224,36,36,var(--bg-opacity))}.group:focus .sm\:group-focus\:bg-red-700{--bg-opacity:1;background-color:#c81e1e;background-color:rgba(200,30,30,var(--bg-opacity))}.group:focus .sm\:group-focus\:bg-red-800{--bg-opacity:1;background-color:#9b1c1c;background-color:rgba(155,28,28,var(--bg-opacity))}.group:focus .sm\:group-focus\:bg-red-900{--bg-opacity:1;background-color:#771d1d;background-color:rgba(119,29,29,var(--bg-opacity))}.group:focus .sm\:group-focus\:bg-orange-50{--bg-opacity:1;background-color:#fff8f1;background-color:rgba(255,248,241,var(--bg-opacity))}.group:focus .sm\:group-focus\:bg-orange-100{--bg-opacity:1;background-color:#feecdc;background-color:rgba(254,236,220,var(--bg-opacity))}.group:focus .sm\:group-focus\:bg-orange-200{--bg-opacity:1;background-color:#fcd9bd;background-color:rgba(252,217,189,var(--bg-opacity))}.group:focus .sm\:group-focus\:bg-orange-300{--bg-opacity:1;background-color:#fdba8c;background-color:rgba(253,186,140,var(--bg-opacity))}.group:focus .sm\:group-focus\:bg-orange-400{--bg-opacity:1;background-color:#ff8a4c;background-color:rgba(255,138,76,var(--bg-opacity))}.group:focus .sm\:group-focus\:bg-orange-500{--bg-opacity:1;background-color:#ff5a1f;background-color:rgba(255,90,31,var(--bg-opacity))}.group:focus .sm\:group-focus\:bg-orange-600{--bg-opacity:1;background-color:#d03801;background-color:rgba(208,56,1,var(--bg-opacity))}.group:focus .sm\:group-focus\:bg-orange-700{--bg-opacity:1;background-color:#b43403;background-color:rgba(180,52,3,var(--bg-opacity))}.group:focus .sm\:group-focus\:bg-orange-800{--bg-opacity:1;background-color:#8a2c0d;background-color:rgba(138,44,13,var(--bg-opacity))}.group:focus .sm\:group-focus\:bg-orange-900{--bg-opacity:1;background-color:#73230d;background-color:rgba(115,35,13,var(--bg-opacity))}.group:focus .sm\:group-focus\:bg-yellow-50{--bg-opacity:1;background-color:#fdfdea;background-color:rgba(253,253,234,var(--bg-opacity))}.group:focus .sm\:group-focus\:bg-yellow-100{--bg-opacity:1;background-color:#fdf6b2;background-color:rgba(253,246,178,var(--bg-opacity))}.group:focus .sm\:group-focus\:bg-yellow-200{--bg-opacity:1;background-color:#fce96a;background-color:rgba(252,233,106,var(--bg-opacity))}.group:focus .sm\:group-focus\:bg-yellow-300{--bg-opacity:1;background-color:#faca15;background-color:rgba(250,202,21,var(--bg-opacity))}.group:focus .sm\:group-focus\:bg-yellow-400{--bg-opacity:1;background-color:#e3a008;background-color:rgba(227,160,8,var(--bg-opacity))}.group:focus .sm\:group-focus\:bg-yellow-500{--bg-opacity:1;background-color:#c27803;background-color:rgba(194,120,3,var(--bg-opacity))}.group:focus .sm\:group-focus\:bg-yellow-600{--bg-opacity:1;background-color:#9f580a;background-color:rgba(159,88,10,var(--bg-opacity))}.group:focus .sm\:group-focus\:bg-yellow-700{--bg-opacity:1;background-color:#8e4b10;background-color:rgba(142,75,16,var(--bg-opacity))}.group:focus .sm\:group-focus\:bg-yellow-800{--bg-opacity:1;background-color:#723b13;background-color:rgba(114,59,19,var(--bg-opacity))}.group:focus .sm\:group-focus\:bg-yellow-900{--bg-opacity:1;background-color:#633112;background-color:rgba(99,49,18,var(--bg-opacity))}.group:focus .sm\:group-focus\:bg-green-50{--bg-opacity:1;background-color:#f3faf7;background-color:rgba(243,250,247,var(--bg-opacity))}.group:focus .sm\:group-focus\:bg-green-100{--bg-opacity:1;background-color:#def7ec;background-color:rgba(222,247,236,var(--bg-opacity))}.group:focus .sm\:group-focus\:bg-green-200{--bg-opacity:1;background-color:#bcf0da;background-color:rgba(188,240,218,var(--bg-opacity))}.group:focus .sm\:group-focus\:bg-green-300{--bg-opacity:1;background-color:#84e1bc;background-color:rgba(132,225,188,var(--bg-opacity))}.group:focus .sm\:group-focus\:bg-green-400{--bg-opacity:1;background-color:#31c48d;background-color:rgba(49,196,141,var(--bg-opacity))}.group:focus .sm\:group-focus\:bg-green-500{--bg-opacity:1;background-color:#0e9f6e;background-color:rgba(14,159,110,var(--bg-opacity))}.group:focus .sm\:group-focus\:bg-green-600{--bg-opacity:1;background-color:#057a55;background-color:rgba(5,122,85,var(--bg-opacity))}.group:focus .sm\:group-focus\:bg-green-700{--bg-opacity:1;background-color:#046c4e;background-color:rgba(4,108,78,var(--bg-opacity))}.group:focus .sm\:group-focus\:bg-green-800{--bg-opacity:1;background-color:#03543f;background-color:rgba(3,84,63,var(--bg-opacity))}.group:focus .sm\:group-focus\:bg-green-900{--bg-opacity:1;background-color:#014737;background-color:rgba(1,71,55,var(--bg-opacity))}.group:focus .sm\:group-focus\:bg-teal-50{--bg-opacity:1;background-color:#edfafa;background-color:rgba(237,250,250,var(--bg-opacity))}.group:focus .sm\:group-focus\:bg-teal-100{--bg-opacity:1;background-color:#d5f5f6;background-color:rgba(213,245,246,var(--bg-opacity))}.group:focus .sm\:group-focus\:bg-teal-200{--bg-opacity:1;background-color:#afecef;background-color:rgba(175,236,239,var(--bg-opacity))}.group:focus .sm\:group-focus\:bg-teal-300{--bg-opacity:1;background-color:#7edce2;background-color:rgba(126,220,226,var(--bg-opacity))}.group:focus .sm\:group-focus\:bg-teal-400{--bg-opacity:1;background-color:#16bdca;background-color:rgba(22,189,202,var(--bg-opacity))}.group:focus .sm\:group-focus\:bg-teal-500{--bg-opacity:1;background-color:#0694a2;background-color:rgba(6,148,162,var(--bg-opacity))}.group:focus .sm\:group-focus\:bg-teal-600{--bg-opacity:1;background-color:#047481;background-color:rgba(4,116,129,var(--bg-opacity))}.group:focus .sm\:group-focus\:bg-teal-700{--bg-opacity:1;background-color:#036672;background-color:rgba(3,102,114,var(--bg-opacity))}.group:focus .sm\:group-focus\:bg-teal-800{--bg-opacity:1;background-color:#05505c;background-color:rgba(5,80,92,var(--bg-opacity))}.group:focus .sm\:group-focus\:bg-teal-900{--bg-opacity:1;background-color:#014451;background-color:rgba(1,68,81,var(--bg-opacity))}.group:focus .sm\:group-focus\:bg-blue-50{--bg-opacity:1;background-color:#ebf5ff;background-color:rgba(235,245,255,var(--bg-opacity))}.group:focus .sm\:group-focus\:bg-blue-100{--bg-opacity:1;background-color:#e1effe;background-color:rgba(225,239,254,var(--bg-opacity))}.group:focus .sm\:group-focus\:bg-blue-200{--bg-opacity:1;background-color:#c3ddfd;background-color:rgba(195,221,253,var(--bg-opacity))}.group:focus .sm\:group-focus\:bg-blue-300{--bg-opacity:1;background-color:#a4cafe;background-color:rgba(164,202,254,var(--bg-opacity))}.group:focus .sm\:group-focus\:bg-blue-400{--bg-opacity:1;background-color:#76a9fa;background-color:rgba(118,169,250,var(--bg-opacity))}.group:focus .sm\:group-focus\:bg-blue-500{--bg-opacity:1;background-color:#3f83f8;background-color:rgba(63,131,248,var(--bg-opacity))}.group:focus .sm\:group-focus\:bg-blue-600{--bg-opacity:1;background-color:#1c64f2;background-color:rgba(28,100,242,var(--bg-opacity))}.group:focus .sm\:group-focus\:bg-blue-700{--bg-opacity:1;background-color:#1a56db;background-color:rgba(26,86,219,var(--bg-opacity))}.group:focus .sm\:group-focus\:bg-blue-800{--bg-opacity:1;background-color:#1e429f;background-color:rgba(30,66,159,var(--bg-opacity))}.group:focus .sm\:group-focus\:bg-blue-900{--bg-opacity:1;background-color:#233876;background-color:rgba(35,56,118,var(--bg-opacity))}.group:focus .sm\:group-focus\:bg-indigo-50{--bg-opacity:1;background-color:#f0f5ff;background-color:rgba(240,245,255,var(--bg-opacity))}.group:focus .sm\:group-focus\:bg-indigo-100{--bg-opacity:1;background-color:#e5edff;background-color:rgba(229,237,255,var(--bg-opacity))}.group:focus .sm\:group-focus\:bg-indigo-200{--bg-opacity:1;background-color:#cddbfe;background-color:rgba(205,219,254,var(--bg-opacity))}.group:focus .sm\:group-focus\:bg-indigo-300{--bg-opacity:1;background-color:#b4c6fc;background-color:rgba(180,198,252,var(--bg-opacity))}.group:focus .sm\:group-focus\:bg-indigo-400{--bg-opacity:1;background-color:#8da2fb;background-color:rgba(141,162,251,var(--bg-opacity))}.group:focus .sm\:group-focus\:bg-indigo-500{--bg-opacity:1;background-color:#6875f5;background-color:rgba(104,117,245,var(--bg-opacity))}.group:focus .sm\:group-focus\:bg-indigo-600{--bg-opacity:1;background-color:#5850ec;background-color:rgba(88,80,236,var(--bg-opacity))}.group:focus .sm\:group-focus\:bg-indigo-700{--bg-opacity:1;background-color:#5145cd;background-color:rgba(81,69,205,var(--bg-opacity))}.group:focus .sm\:group-focus\:bg-indigo-800{--bg-opacity:1;background-color:#42389d;background-color:rgba(66,56,157,var(--bg-opacity))}.group:focus .sm\:group-focus\:bg-indigo-900{--bg-opacity:1;background-color:#362f78;background-color:rgba(54,47,120,var(--bg-opacity))}.group:focus .sm\:group-focus\:bg-purple-50{--bg-opacity:1;background-color:#f6f5ff;background-color:rgba(246,245,255,var(--bg-opacity))}.group:focus .sm\:group-focus\:bg-purple-100{--bg-opacity:1;background-color:#edebfe;background-color:rgba(237,235,254,var(--bg-opacity))}.group:focus .sm\:group-focus\:bg-purple-200{--bg-opacity:1;background-color:#dcd7fe;background-color:rgba(220,215,254,var(--bg-opacity))}.group:focus .sm\:group-focus\:bg-purple-300{--bg-opacity:1;background-color:#cabffd;background-color:rgba(202,191,253,var(--bg-opacity))}.group:focus .sm\:group-focus\:bg-purple-400{--bg-opacity:1;background-color:#ac94fa;background-color:rgba(172,148,250,var(--bg-opacity))}.group:focus .sm\:group-focus\:bg-purple-500{--bg-opacity:1;background-color:#9061f9;background-color:rgba(144,97,249,var(--bg-opacity))}.group:focus .sm\:group-focus\:bg-purple-600{--bg-opacity:1;background-color:#7e3af2;background-color:rgba(126,58,242,var(--bg-opacity))}.group:focus .sm\:group-focus\:bg-purple-700{--bg-opacity:1;background-color:#6c2bd9;background-color:rgba(108,43,217,var(--bg-opacity))}.group:focus .sm\:group-focus\:bg-purple-800{--bg-opacity:1;background-color:#5521b5;background-color:rgba(85,33,181,var(--bg-opacity))}.group:focus .sm\:group-focus\:bg-purple-900{--bg-opacity:1;background-color:#4a1d96;background-color:rgba(74,29,150,var(--bg-opacity))}.group:focus .sm\:group-focus\:bg-pink-50{--bg-opacity:1;background-color:#fdf2f8;background-color:rgba(253,242,248,var(--bg-opacity))}.group:focus .sm\:group-focus\:bg-pink-100{--bg-opacity:1;background-color:#fce8f3;background-color:rgba(252,232,243,var(--bg-opacity))}.group:focus .sm\:group-focus\:bg-pink-200{--bg-opacity:1;background-color:#fad1e8;background-color:rgba(250,209,232,var(--bg-opacity))}.group:focus .sm\:group-focus\:bg-pink-300{--bg-opacity:1;background-color:#f8b4d9;background-color:rgba(248,180,217,var(--bg-opacity))}.group:focus .sm\:group-focus\:bg-pink-400{--bg-opacity:1;background-color:#f17eb8;background-color:rgba(241,126,184,var(--bg-opacity))}.group:focus .sm\:group-focus\:bg-pink-500{--bg-opacity:1;background-color:#e74694;background-color:rgba(231,70,148,var(--bg-opacity))}.group:focus .sm\:group-focus\:bg-pink-600{--bg-opacity:1;background-color:#d61f69;background-color:rgba(214,31,105,var(--bg-opacity))}.group:focus .sm\:group-focus\:bg-pink-700{--bg-opacity:1;background-color:#bf125d;background-color:rgba(191,18,93,var(--bg-opacity))}.group:focus .sm\:group-focus\:bg-pink-800{--bg-opacity:1;background-color:#99154b;background-color:rgba(153,21,75,var(--bg-opacity))}.group:focus .sm\:group-focus\:bg-pink-900{--bg-opacity:1;background-color:#751a3d;background-color:rgba(117,26,61,var(--bg-opacity))}.sm\:hover\:bg-transparent:hover{background-color:transparent}.sm\:hover\:bg-white:hover{--bg-opacity:1;background-color:#fff;background-color:rgba(255,255,255,var(--bg-opacity))}.sm\:hover\:bg-black:hover{--bg-opacity:1;background-color:#000;background-color:rgba(0,0,0,var(--bg-opacity))}.sm\:hover\:bg-gray-50:hover{--bg-opacity:1;background-color:#f9fafb;background-color:rgba(249,250,251,var(--bg-opacity))}.sm\:hover\:bg-gray-100:hover{--bg-opacity:1;background-color:#f4f5f7;background-color:rgba(244,245,247,var(--bg-opacity))}.sm\:hover\:bg-gray-200:hover{--bg-opacity:1;background-color:#e5e7eb;background-color:rgba(229,231,235,var(--bg-opacity))}.sm\:hover\:bg-gray-300:hover{--bg-opacity:1;background-color:#d2d6dc;background-color:rgba(210,214,220,var(--bg-opacity))}.sm\:hover\:bg-gray-400:hover{--bg-opacity:1;background-color:#9fa6b2;background-color:rgba(159,166,178,var(--bg-opacity))}.sm\:hover\:bg-gray-500:hover{--bg-opacity:1;background-color:#6b7280;background-color:rgba(107,114,128,var(--bg-opacity))}.sm\:hover\:bg-gray-600:hover{--bg-opacity:1;background-color:#4b5563;background-color:rgba(75,85,99,var(--bg-opacity))}.sm\:hover\:bg-gray-700:hover{--bg-opacity:1;background-color:#374151;background-color:rgba(55,65,81,var(--bg-opacity))}.sm\:hover\:bg-gray-800:hover{--bg-opacity:1;background-color:#252f3f;background-color:rgba(37,47,63,var(--bg-opacity))}.sm\:hover\:bg-gray-900:hover{--bg-opacity:1;background-color:#161e2e;background-color:rgba(22,30,46,var(--bg-opacity))}.sm\:hover\:bg-cool-gray-50:hover{--bg-opacity:1;background-color:#f8fafc;background-color:rgba(248,250,252,var(--bg-opacity))}.sm\:hover\:bg-cool-gray-100:hover{--bg-opacity:1;background-color:#f1f5f9;background-color:rgba(241,245,249,var(--bg-opacity))}.sm\:hover\:bg-cool-gray-200:hover{--bg-opacity:1;background-color:#e2e8f0;background-color:rgba(226,232,240,var(--bg-opacity))}.sm\:hover\:bg-cool-gray-300:hover{--bg-opacity:1;background-color:#cfd8e3;background-color:rgba(207,216,227,var(--bg-opacity))}.sm\:hover\:bg-cool-gray-400:hover{--bg-opacity:1;background-color:#97a6ba;background-color:rgba(151,166,186,var(--bg-opacity))}.sm\:hover\:bg-cool-gray-500:hover{--bg-opacity:1;background-color:#64748b;background-color:rgba(100,116,139,var(--bg-opacity))}.sm\:hover\:bg-cool-gray-600:hover{--bg-opacity:1;background-color:#475569;background-color:rgba(71,85,105,var(--bg-opacity))}.sm\:hover\:bg-cool-gray-700:hover{--bg-opacity:1;background-color:#364152;background-color:rgba(54,65,82,var(--bg-opacity))}.sm\:hover\:bg-cool-gray-800:hover{--bg-opacity:1;background-color:#27303f;background-color:rgba(39,48,63,var(--bg-opacity))}.sm\:hover\:bg-cool-gray-900:hover{--bg-opacity:1;background-color:#1a202e;background-color:rgba(26,32,46,var(--bg-opacity))}.sm\:hover\:bg-red-50:hover{--bg-opacity:1;background-color:#fdf2f2;background-color:rgba(253,242,242,var(--bg-opacity))}.sm\:hover\:bg-red-100:hover{--bg-opacity:1;background-color:#fde8e8;background-color:rgba(253,232,232,var(--bg-opacity))}.sm\:hover\:bg-red-200:hover{--bg-opacity:1;background-color:#fbd5d5;background-color:rgba(251,213,213,var(--bg-opacity))}.sm\:hover\:bg-red-300:hover{--bg-opacity:1;background-color:#f8b4b4;background-color:rgba(248,180,180,var(--bg-opacity))}.sm\:hover\:bg-red-400:hover{--bg-opacity:1;background-color:#f98080;background-color:rgba(249,128,128,var(--bg-opacity))}.sm\:hover\:bg-red-500:hover{--bg-opacity:1;background-color:#f05252;background-color:rgba(240,82,82,var(--bg-opacity))}.sm\:hover\:bg-red-600:hover{--bg-opacity:1;background-color:#e02424;background-color:rgba(224,36,36,var(--bg-opacity))}.sm\:hover\:bg-red-700:hover{--bg-opacity:1;background-color:#c81e1e;background-color:rgba(200,30,30,var(--bg-opacity))}.sm\:hover\:bg-red-800:hover{--bg-opacity:1;background-color:#9b1c1c;background-color:rgba(155,28,28,var(--bg-opacity))}.sm\:hover\:bg-red-900:hover{--bg-opacity:1;background-color:#771d1d;background-color:rgba(119,29,29,var(--bg-opacity))}.sm\:hover\:bg-orange-50:hover{--bg-opacity:1;background-color:#fff8f1;background-color:rgba(255,248,241,var(--bg-opacity))}.sm\:hover\:bg-orange-100:hover{--bg-opacity:1;background-color:#feecdc;background-color:rgba(254,236,220,var(--bg-opacity))}.sm\:hover\:bg-orange-200:hover{--bg-opacity:1;background-color:#fcd9bd;background-color:rgba(252,217,189,var(--bg-opacity))}.sm\:hover\:bg-orange-300:hover{--bg-opacity:1;background-color:#fdba8c;background-color:rgba(253,186,140,var(--bg-opacity))}.sm\:hover\:bg-orange-400:hover{--bg-opacity:1;background-color:#ff8a4c;background-color:rgba(255,138,76,var(--bg-opacity))}.sm\:hover\:bg-orange-500:hover{--bg-opacity:1;background-color:#ff5a1f;background-color:rgba(255,90,31,var(--bg-opacity))}.sm\:hover\:bg-orange-600:hover{--bg-opacity:1;background-color:#d03801;background-color:rgba(208,56,1,var(--bg-opacity))}.sm\:hover\:bg-orange-700:hover{--bg-opacity:1;background-color:#b43403;background-color:rgba(180,52,3,var(--bg-opacity))}.sm\:hover\:bg-orange-800:hover{--bg-opacity:1;background-color:#8a2c0d;background-color:rgba(138,44,13,var(--bg-opacity))}.sm\:hover\:bg-orange-900:hover{--bg-opacity:1;background-color:#73230d;background-color:rgba(115,35,13,var(--bg-opacity))}.sm\:hover\:bg-yellow-50:hover{--bg-opacity:1;background-color:#fdfdea;background-color:rgba(253,253,234,var(--bg-opacity))}.sm\:hover\:bg-yellow-100:hover{--bg-opacity:1;background-color:#fdf6b2;background-color:rgba(253,246,178,var(--bg-opacity))}.sm\:hover\:bg-yellow-200:hover{--bg-opacity:1;background-color:#fce96a;background-color:rgba(252,233,106,var(--bg-opacity))}.sm\:hover\:bg-yellow-300:hover{--bg-opacity:1;background-color:#faca15;background-color:rgba(250,202,21,var(--bg-opacity))}.sm\:hover\:bg-yellow-400:hover{--bg-opacity:1;background-color:#e3a008;background-color:rgba(227,160,8,var(--bg-opacity))}.sm\:hover\:bg-yellow-500:hover{--bg-opacity:1;background-color:#c27803;background-color:rgba(194,120,3,var(--bg-opacity))}.sm\:hover\:bg-yellow-600:hover{--bg-opacity:1;background-color:#9f580a;background-color:rgba(159,88,10,var(--bg-opacity))}.sm\:hover\:bg-yellow-700:hover{--bg-opacity:1;background-color:#8e4b10;background-color:rgba(142,75,16,var(--bg-opacity))}.sm\:hover\:bg-yellow-800:hover{--bg-opacity:1;background-color:#723b13;background-color:rgba(114,59,19,var(--bg-opacity))}.sm\:hover\:bg-yellow-900:hover{--bg-opacity:1;background-color:#633112;background-color:rgba(99,49,18,var(--bg-opacity))}.sm\:hover\:bg-green-50:hover{--bg-opacity:1;background-color:#f3faf7;background-color:rgba(243,250,247,var(--bg-opacity))}.sm\:hover\:bg-green-100:hover{--bg-opacity:1;background-color:#def7ec;background-color:rgba(222,247,236,var(--bg-opacity))}.sm\:hover\:bg-green-200:hover{--bg-opacity:1;background-color:#bcf0da;background-color:rgba(188,240,218,var(--bg-opacity))}.sm\:hover\:bg-green-300:hover{--bg-opacity:1;background-color:#84e1bc;background-color:rgba(132,225,188,var(--bg-opacity))}.sm\:hover\:bg-green-400:hover{--bg-opacity:1;background-color:#31c48d;background-color:rgba(49,196,141,var(--bg-opacity))}.sm\:hover\:bg-green-500:hover{--bg-opacity:1;background-color:#0e9f6e;background-color:rgba(14,159,110,var(--bg-opacity))}.sm\:hover\:bg-green-600:hover{--bg-opacity:1;background-color:#057a55;background-color:rgba(5,122,85,var(--bg-opacity))}.sm\:hover\:bg-green-700:hover{--bg-opacity:1;background-color:#046c4e;background-color:rgba(4,108,78,var(--bg-opacity))}.sm\:hover\:bg-green-800:hover{--bg-opacity:1;background-color:#03543f;background-color:rgba(3,84,63,var(--bg-opacity))}.sm\:hover\:bg-green-900:hover{--bg-opacity:1;background-color:#014737;background-color:rgba(1,71,55,var(--bg-opacity))}.sm\:hover\:bg-teal-50:hover{--bg-opacity:1;background-color:#edfafa;background-color:rgba(237,250,250,var(--bg-opacity))}.sm\:hover\:bg-teal-100:hover{--bg-opacity:1;background-color:#d5f5f6;background-color:rgba(213,245,246,var(--bg-opacity))}.sm\:hover\:bg-teal-200:hover{--bg-opacity:1;background-color:#afecef;background-color:rgba(175,236,239,var(--bg-opacity))}.sm\:hover\:bg-teal-300:hover{--bg-opacity:1;background-color:#7edce2;background-color:rgba(126,220,226,var(--bg-opacity))}.sm\:hover\:bg-teal-400:hover{--bg-opacity:1;background-color:#16bdca;background-color:rgba(22,189,202,var(--bg-opacity))}.sm\:hover\:bg-teal-500:hover{--bg-opacity:1;background-color:#0694a2;background-color:rgba(6,148,162,var(--bg-opacity))}.sm\:hover\:bg-teal-600:hover{--bg-opacity:1;background-color:#047481;background-color:rgba(4,116,129,var(--bg-opacity))}.sm\:hover\:bg-teal-700:hover{--bg-opacity:1;background-color:#036672;background-color:rgba(3,102,114,var(--bg-opacity))}.sm\:hover\:bg-teal-800:hover{--bg-opacity:1;background-color:#05505c;background-color:rgba(5,80,92,var(--bg-opacity))}.sm\:hover\:bg-teal-900:hover{--bg-opacity:1;background-color:#014451;background-color:rgba(1,68,81,var(--bg-opacity))}.sm\:hover\:bg-blue-50:hover{--bg-opacity:1;background-color:#ebf5ff;background-color:rgba(235,245,255,var(--bg-opacity))}.sm\:hover\:bg-blue-100:hover{--bg-opacity:1;background-color:#e1effe;background-color:rgba(225,239,254,var(--bg-opacity))}.sm\:hover\:bg-blue-200:hover{--bg-opacity:1;background-color:#c3ddfd;background-color:rgba(195,221,253,var(--bg-opacity))}.sm\:hover\:bg-blue-300:hover{--bg-opacity:1;background-color:#a4cafe;background-color:rgba(164,202,254,var(--bg-opacity))}.sm\:hover\:bg-blue-400:hover{--bg-opacity:1;background-color:#76a9fa;background-color:rgba(118,169,250,var(--bg-opacity))}.sm\:hover\:bg-blue-500:hover{--bg-opacity:1;background-color:#3f83f8;background-color:rgba(63,131,248,var(--bg-opacity))}.sm\:hover\:bg-blue-600:hover{--bg-opacity:1;background-color:#1c64f2;background-color:rgba(28,100,242,var(--bg-opacity))}.sm\:hover\:bg-blue-700:hover{--bg-opacity:1;background-color:#1a56db;background-color:rgba(26,86,219,var(--bg-opacity))}.sm\:hover\:bg-blue-800:hover{--bg-opacity:1;background-color:#1e429f;background-color:rgba(30,66,159,var(--bg-opacity))}.sm\:hover\:bg-blue-900:hover{--bg-opacity:1;background-color:#233876;background-color:rgba(35,56,118,var(--bg-opacity))}.sm\:hover\:bg-indigo-50:hover{--bg-opacity:1;background-color:#f0f5ff;background-color:rgba(240,245,255,var(--bg-opacity))}.sm\:hover\:bg-indigo-100:hover{--bg-opacity:1;background-color:#e5edff;background-color:rgba(229,237,255,var(--bg-opacity))}.sm\:hover\:bg-indigo-200:hover{--bg-opacity:1;background-color:#cddbfe;background-color:rgba(205,219,254,var(--bg-opacity))}.sm\:hover\:bg-indigo-300:hover{--bg-opacity:1;background-color:#b4c6fc;background-color:rgba(180,198,252,var(--bg-opacity))}.sm\:hover\:bg-indigo-400:hover{--bg-opacity:1;background-color:#8da2fb;background-color:rgba(141,162,251,var(--bg-opacity))}.sm\:hover\:bg-indigo-500:hover{--bg-opacity:1;background-color:#6875f5;background-color:rgba(104,117,245,var(--bg-opacity))}.sm\:hover\:bg-indigo-600:hover{--bg-opacity:1;background-color:#5850ec;background-color:rgba(88,80,236,var(--bg-opacity))}.sm\:hover\:bg-indigo-700:hover{--bg-opacity:1;background-color:#5145cd;background-color:rgba(81,69,205,var(--bg-opacity))}.sm\:hover\:bg-indigo-800:hover{--bg-opacity:1;background-color:#42389d;background-color:rgba(66,56,157,var(--bg-opacity))}.sm\:hover\:bg-indigo-900:hover{--bg-opacity:1;background-color:#362f78;background-color:rgba(54,47,120,var(--bg-opacity))}.sm\:hover\:bg-purple-50:hover{--bg-opacity:1;background-color:#f6f5ff;background-color:rgba(246,245,255,var(--bg-opacity))}.sm\:hover\:bg-purple-100:hover{--bg-opacity:1;background-color:#edebfe;background-color:rgba(237,235,254,var(--bg-opacity))}.sm\:hover\:bg-purple-200:hover{--bg-opacity:1;background-color:#dcd7fe;background-color:rgba(220,215,254,var(--bg-opacity))}.sm\:hover\:bg-purple-300:hover{--bg-opacity:1;background-color:#cabffd;background-color:rgba(202,191,253,var(--bg-opacity))}.sm\:hover\:bg-purple-400:hover{--bg-opacity:1;background-color:#ac94fa;background-color:rgba(172,148,250,var(--bg-opacity))}.sm\:hover\:bg-purple-500:hover{--bg-opacity:1;background-color:#9061f9;background-color:rgba(144,97,249,var(--bg-opacity))}.sm\:hover\:bg-purple-600:hover{--bg-opacity:1;background-color:#7e3af2;background-color:rgba(126,58,242,var(--bg-opacity))}.sm\:hover\:bg-purple-700:hover{--bg-opacity:1;background-color:#6c2bd9;background-color:rgba(108,43,217,var(--bg-opacity))}.sm\:hover\:bg-purple-800:hover{--bg-opacity:1;background-color:#5521b5;background-color:rgba(85,33,181,var(--bg-opacity))}.sm\:hover\:bg-purple-900:hover{--bg-opacity:1;background-color:#4a1d96;background-color:rgba(74,29,150,var(--bg-opacity))}.sm\:hover\:bg-pink-50:hover{--bg-opacity:1;background-color:#fdf2f8;background-color:rgba(253,242,248,var(--bg-opacity))}.sm\:hover\:bg-pink-100:hover{--bg-opacity:1;background-color:#fce8f3;background-color:rgba(252,232,243,var(--bg-opacity))}.sm\:hover\:bg-pink-200:hover{--bg-opacity:1;background-color:#fad1e8;background-color:rgba(250,209,232,var(--bg-opacity))}.sm\:hover\:bg-pink-300:hover{--bg-opacity:1;background-color:#f8b4d9;background-color:rgba(248,180,217,var(--bg-opacity))}.sm\:hover\:bg-pink-400:hover{--bg-opacity:1;background-color:#f17eb8;background-color:rgba(241,126,184,var(--bg-opacity))}.sm\:hover\:bg-pink-500:hover{--bg-opacity:1;background-color:#e74694;background-color:rgba(231,70,148,var(--bg-opacity))}.sm\:hover\:bg-pink-600:hover{--bg-opacity:1;background-color:#d61f69;background-color:rgba(214,31,105,var(--bg-opacity))}.sm\:hover\:bg-pink-700:hover{--bg-opacity:1;background-color:#bf125d;background-color:rgba(191,18,93,var(--bg-opacity))}.sm\:hover\:bg-pink-800:hover{--bg-opacity:1;background-color:#99154b;background-color:rgba(153,21,75,var(--bg-opacity))}.sm\:hover\:bg-pink-900:hover{--bg-opacity:1;background-color:#751a3d;background-color:rgba(117,26,61,var(--bg-opacity))}.sm\:focus\:bg-transparent:focus{background-color:transparent}.sm\:focus\:bg-white:focus{--bg-opacity:1;background-color:#fff;background-color:rgba(255,255,255,var(--bg-opacity))}.sm\:focus\:bg-black:focus{--bg-opacity:1;background-color:#000;background-color:rgba(0,0,0,var(--bg-opacity))}.sm\:focus\:bg-gray-50:focus{--bg-opacity:1;background-color:#f9fafb;background-color:rgba(249,250,251,var(--bg-opacity))}.sm\:focus\:bg-gray-100:focus{--bg-opacity:1;background-color:#f4f5f7;background-color:rgba(244,245,247,var(--bg-opacity))}.sm\:focus\:bg-gray-200:focus{--bg-opacity:1;background-color:#e5e7eb;background-color:rgba(229,231,235,var(--bg-opacity))}.sm\:focus\:bg-gray-300:focus{--bg-opacity:1;background-color:#d2d6dc;background-color:rgba(210,214,220,var(--bg-opacity))}.sm\:focus\:bg-gray-400:focus{--bg-opacity:1;background-color:#9fa6b2;background-color:rgba(159,166,178,var(--bg-opacity))}.sm\:focus\:bg-gray-500:focus{--bg-opacity:1;background-color:#6b7280;background-color:rgba(107,114,128,var(--bg-opacity))}.sm\:focus\:bg-gray-600:focus{--bg-opacity:1;background-color:#4b5563;background-color:rgba(75,85,99,var(--bg-opacity))}.sm\:focus\:bg-gray-700:focus{--bg-opacity:1;background-color:#374151;background-color:rgba(55,65,81,var(--bg-opacity))}.sm\:focus\:bg-gray-800:focus{--bg-opacity:1;background-color:#252f3f;background-color:rgba(37,47,63,var(--bg-opacity))}.sm\:focus\:bg-gray-900:focus{--bg-opacity:1;background-color:#161e2e;background-color:rgba(22,30,46,var(--bg-opacity))}.sm\:focus\:bg-cool-gray-50:focus{--bg-opacity:1;background-color:#f8fafc;background-color:rgba(248,250,252,var(--bg-opacity))}.sm\:focus\:bg-cool-gray-100:focus{--bg-opacity:1;background-color:#f1f5f9;background-color:rgba(241,245,249,var(--bg-opacity))}.sm\:focus\:bg-cool-gray-200:focus{--bg-opacity:1;background-color:#e2e8f0;background-color:rgba(226,232,240,var(--bg-opacity))}.sm\:focus\:bg-cool-gray-300:focus{--bg-opacity:1;background-color:#cfd8e3;background-color:rgba(207,216,227,var(--bg-opacity))}.sm\:focus\:bg-cool-gray-400:focus{--bg-opacity:1;background-color:#97a6ba;background-color:rgba(151,166,186,var(--bg-opacity))}.sm\:focus\:bg-cool-gray-500:focus{--bg-opacity:1;background-color:#64748b;background-color:rgba(100,116,139,var(--bg-opacity))}.sm\:focus\:bg-cool-gray-600:focus{--bg-opacity:1;background-color:#475569;background-color:rgba(71,85,105,var(--bg-opacity))}.sm\:focus\:bg-cool-gray-700:focus{--bg-opacity:1;background-color:#364152;background-color:rgba(54,65,82,var(--bg-opacity))}.sm\:focus\:bg-cool-gray-800:focus{--bg-opacity:1;background-color:#27303f;background-color:rgba(39,48,63,var(--bg-opacity))}.sm\:focus\:bg-cool-gray-900:focus{--bg-opacity:1;background-color:#1a202e;background-color:rgba(26,32,46,var(--bg-opacity))}.sm\:focus\:bg-red-50:focus{--bg-opacity:1;background-color:#fdf2f2;background-color:rgba(253,242,242,var(--bg-opacity))}.sm\:focus\:bg-red-100:focus{--bg-opacity:1;background-color:#fde8e8;background-color:rgba(253,232,232,var(--bg-opacity))}.sm\:focus\:bg-red-200:focus{--bg-opacity:1;background-color:#fbd5d5;background-color:rgba(251,213,213,var(--bg-opacity))}.sm\:focus\:bg-red-300:focus{--bg-opacity:1;background-color:#f8b4b4;background-color:rgba(248,180,180,var(--bg-opacity))}.sm\:focus\:bg-red-400:focus{--bg-opacity:1;background-color:#f98080;background-color:rgba(249,128,128,var(--bg-opacity))}.sm\:focus\:bg-red-500:focus{--bg-opacity:1;background-color:#f05252;background-color:rgba(240,82,82,var(--bg-opacity))}.sm\:focus\:bg-red-600:focus{--bg-opacity:1;background-color:#e02424;background-color:rgba(224,36,36,var(--bg-opacity))}.sm\:focus\:bg-red-700:focus{--bg-opacity:1;background-color:#c81e1e;background-color:rgba(200,30,30,var(--bg-opacity))}.sm\:focus\:bg-red-800:focus{--bg-opacity:1;background-color:#9b1c1c;background-color:rgba(155,28,28,var(--bg-opacity))}.sm\:focus\:bg-red-900:focus{--bg-opacity:1;background-color:#771d1d;background-color:rgba(119,29,29,var(--bg-opacity))}.sm\:focus\:bg-orange-50:focus{--bg-opacity:1;background-color:#fff8f1;background-color:rgba(255,248,241,var(--bg-opacity))}.sm\:focus\:bg-orange-100:focus{--bg-opacity:1;background-color:#feecdc;background-color:rgba(254,236,220,var(--bg-opacity))}.sm\:focus\:bg-orange-200:focus{--bg-opacity:1;background-color:#fcd9bd;background-color:rgba(252,217,189,var(--bg-opacity))}.sm\:focus\:bg-orange-300:focus{--bg-opacity:1;background-color:#fdba8c;background-color:rgba(253,186,140,var(--bg-opacity))}.sm\:focus\:bg-orange-400:focus{--bg-opacity:1;background-color:#ff8a4c;background-color:rgba(255,138,76,var(--bg-opacity))}.sm\:focus\:bg-orange-500:focus{--bg-opacity:1;background-color:#ff5a1f;background-color:rgba(255,90,31,var(--bg-opacity))}.sm\:focus\:bg-orange-600:focus{--bg-opacity:1;background-color:#d03801;background-color:rgba(208,56,1,var(--bg-opacity))}.sm\:focus\:bg-orange-700:focus{--bg-opacity:1;background-color:#b43403;background-color:rgba(180,52,3,var(--bg-opacity))}.sm\:focus\:bg-orange-800:focus{--bg-opacity:1;background-color:#8a2c0d;background-color:rgba(138,44,13,var(--bg-opacity))}.sm\:focus\:bg-orange-900:focus{--bg-opacity:1;background-color:#73230d;background-color:rgba(115,35,13,var(--bg-opacity))}.sm\:focus\:bg-yellow-50:focus{--bg-opacity:1;background-color:#fdfdea;background-color:rgba(253,253,234,var(--bg-opacity))}.sm\:focus\:bg-yellow-100:focus{--bg-opacity:1;background-color:#fdf6b2;background-color:rgba(253,246,178,var(--bg-opacity))}.sm\:focus\:bg-yellow-200:focus{--bg-opacity:1;background-color:#fce96a;background-color:rgba(252,233,106,var(--bg-opacity))}.sm\:focus\:bg-yellow-300:focus{--bg-opacity:1;background-color:#faca15;background-color:rgba(250,202,21,var(--bg-opacity))}.sm\:focus\:bg-yellow-400:focus{--bg-opacity:1;background-color:#e3a008;background-color:rgba(227,160,8,var(--bg-opacity))}.sm\:focus\:bg-yellow-500:focus{--bg-opacity:1;background-color:#c27803;background-color:rgba(194,120,3,var(--bg-opacity))}.sm\:focus\:bg-yellow-600:focus{--bg-opacity:1;background-color:#9f580a;background-color:rgba(159,88,10,var(--bg-opacity))}.sm\:focus\:bg-yellow-700:focus{--bg-opacity:1;background-color:#8e4b10;background-color:rgba(142,75,16,var(--bg-opacity))}.sm\:focus\:bg-yellow-800:focus{--bg-opacity:1;background-color:#723b13;background-color:rgba(114,59,19,var(--bg-opacity))}.sm\:focus\:bg-yellow-900:focus{--bg-opacity:1;background-color:#633112;background-color:rgba(99,49,18,var(--bg-opacity))}.sm\:focus\:bg-green-50:focus{--bg-opacity:1;background-color:#f3faf7;background-color:rgba(243,250,247,var(--bg-opacity))}.sm\:focus\:bg-green-100:focus{--bg-opacity:1;background-color:#def7ec;background-color:rgba(222,247,236,var(--bg-opacity))}.sm\:focus\:bg-green-200:focus{--bg-opacity:1;background-color:#bcf0da;background-color:rgba(188,240,218,var(--bg-opacity))}.sm\:focus\:bg-green-300:focus{--bg-opacity:1;background-color:#84e1bc;background-color:rgba(132,225,188,var(--bg-opacity))}.sm\:focus\:bg-green-400:focus{--bg-opacity:1;background-color:#31c48d;background-color:rgba(49,196,141,var(--bg-opacity))}.sm\:focus\:bg-green-500:focus{--bg-opacity:1;background-color:#0e9f6e;background-color:rgba(14,159,110,var(--bg-opacity))}.sm\:focus\:bg-green-600:focus{--bg-opacity:1;background-color:#057a55;background-color:rgba(5,122,85,var(--bg-opacity))}.sm\:focus\:bg-green-700:focus{--bg-opacity:1;background-color:#046c4e;background-color:rgba(4,108,78,var(--bg-opacity))}.sm\:focus\:bg-green-800:focus{--bg-opacity:1;background-color:#03543f;background-color:rgba(3,84,63,var(--bg-opacity))}.sm\:focus\:bg-green-900:focus{--bg-opacity:1;background-color:#014737;background-color:rgba(1,71,55,var(--bg-opacity))}.sm\:focus\:bg-teal-50:focus{--bg-opacity:1;background-color:#edfafa;background-color:rgba(237,250,250,var(--bg-opacity))}.sm\:focus\:bg-teal-100:focus{--bg-opacity:1;background-color:#d5f5f6;background-color:rgba(213,245,246,var(--bg-opacity))}.sm\:focus\:bg-teal-200:focus{--bg-opacity:1;background-color:#afecef;background-color:rgba(175,236,239,var(--bg-opacity))}.sm\:focus\:bg-teal-300:focus{--bg-opacity:1;background-color:#7edce2;background-color:rgba(126,220,226,var(--bg-opacity))}.sm\:focus\:bg-teal-400:focus{--bg-opacity:1;background-color:#16bdca;background-color:rgba(22,189,202,var(--bg-opacity))}.sm\:focus\:bg-teal-500:focus{--bg-opacity:1;background-color:#0694a2;background-color:rgba(6,148,162,var(--bg-opacity))}.sm\:focus\:bg-teal-600:focus{--bg-opacity:1;background-color:#047481;background-color:rgba(4,116,129,var(--bg-opacity))}.sm\:focus\:bg-teal-700:focus{--bg-opacity:1;background-color:#036672;background-color:rgba(3,102,114,var(--bg-opacity))}.sm\:focus\:bg-teal-800:focus{--bg-opacity:1;background-color:#05505c;background-color:rgba(5,80,92,var(--bg-opacity))}.sm\:focus\:bg-teal-900:focus{--bg-opacity:1;background-color:#014451;background-color:rgba(1,68,81,var(--bg-opacity))}.sm\:focus\:bg-blue-50:focus{--bg-opacity:1;background-color:#ebf5ff;background-color:rgba(235,245,255,var(--bg-opacity))}.sm\:focus\:bg-blue-100:focus{--bg-opacity:1;background-color:#e1effe;background-color:rgba(225,239,254,var(--bg-opacity))}.sm\:focus\:bg-blue-200:focus{--bg-opacity:1;background-color:#c3ddfd;background-color:rgba(195,221,253,var(--bg-opacity))}.sm\:focus\:bg-blue-300:focus{--bg-opacity:1;background-color:#a4cafe;background-color:rgba(164,202,254,var(--bg-opacity))}.sm\:focus\:bg-blue-400:focus{--bg-opacity:1;background-color:#76a9fa;background-color:rgba(118,169,250,var(--bg-opacity))}.sm\:focus\:bg-blue-500:focus{--bg-opacity:1;background-color:#3f83f8;background-color:rgba(63,131,248,var(--bg-opacity))}.sm\:focus\:bg-blue-600:focus{--bg-opacity:1;background-color:#1c64f2;background-color:rgba(28,100,242,var(--bg-opacity))}.sm\:focus\:bg-blue-700:focus{--bg-opacity:1;background-color:#1a56db;background-color:rgba(26,86,219,var(--bg-opacity))}.sm\:focus\:bg-blue-800:focus{--bg-opacity:1;background-color:#1e429f;background-color:rgba(30,66,159,var(--bg-opacity))}.sm\:focus\:bg-blue-900:focus{--bg-opacity:1;background-color:#233876;background-color:rgba(35,56,118,var(--bg-opacity))}.sm\:focus\:bg-indigo-50:focus{--bg-opacity:1;background-color:#f0f5ff;background-color:rgba(240,245,255,var(--bg-opacity))}.sm\:focus\:bg-indigo-100:focus{--bg-opacity:1;background-color:#e5edff;background-color:rgba(229,237,255,var(--bg-opacity))}.sm\:focus\:bg-indigo-200:focus{--bg-opacity:1;background-color:#cddbfe;background-color:rgba(205,219,254,var(--bg-opacity))}.sm\:focus\:bg-indigo-300:focus{--bg-opacity:1;background-color:#b4c6fc;background-color:rgba(180,198,252,var(--bg-opacity))}.sm\:focus\:bg-indigo-400:focus{--bg-opacity:1;background-color:#8da2fb;background-color:rgba(141,162,251,var(--bg-opacity))}.sm\:focus\:bg-indigo-500:focus{--bg-opacity:1;background-color:#6875f5;background-color:rgba(104,117,245,var(--bg-opacity))}.sm\:focus\:bg-indigo-600:focus{--bg-opacity:1;background-color:#5850ec;background-color:rgba(88,80,236,var(--bg-opacity))}.sm\:focus\:bg-indigo-700:focus{--bg-opacity:1;background-color:#5145cd;background-color:rgba(81,69,205,var(--bg-opacity))}.sm\:focus\:bg-indigo-800:focus{--bg-opacity:1;background-color:#42389d;background-color:rgba(66,56,157,var(--bg-opacity))}.sm\:focus\:bg-indigo-900:focus{--bg-opacity:1;background-color:#362f78;background-color:rgba(54,47,120,var(--bg-opacity))}.sm\:focus\:bg-purple-50:focus{--bg-opacity:1;background-color:#f6f5ff;background-color:rgba(246,245,255,var(--bg-opacity))}.sm\:focus\:bg-purple-100:focus{--bg-opacity:1;background-color:#edebfe;background-color:rgba(237,235,254,var(--bg-opacity))}.sm\:focus\:bg-purple-200:focus{--bg-opacity:1;background-color:#dcd7fe;background-color:rgba(220,215,254,var(--bg-opacity))}.sm\:focus\:bg-purple-300:focus{--bg-opacity:1;background-color:#cabffd;background-color:rgba(202,191,253,var(--bg-opacity))}.sm\:focus\:bg-purple-400:focus{--bg-opacity:1;background-color:#ac94fa;background-color:rgba(172,148,250,var(--bg-opacity))}.sm\:focus\:bg-purple-500:focus{--bg-opacity:1;background-color:#9061f9;background-color:rgba(144,97,249,var(--bg-opacity))}.sm\:focus\:bg-purple-600:focus{--bg-opacity:1;background-color:#7e3af2;background-color:rgba(126,58,242,var(--bg-opacity))}.sm\:focus\:bg-purple-700:focus{--bg-opacity:1;background-color:#6c2bd9;background-color:rgba(108,43,217,var(--bg-opacity))}.sm\:focus\:bg-purple-800:focus{--bg-opacity:1;background-color:#5521b5;background-color:rgba(85,33,181,var(--bg-opacity))}.sm\:focus\:bg-purple-900:focus{--bg-opacity:1;background-color:#4a1d96;background-color:rgba(74,29,150,var(--bg-opacity))}.sm\:focus\:bg-pink-50:focus{--bg-opacity:1;background-color:#fdf2f8;background-color:rgba(253,242,248,var(--bg-opacity))}.sm\:focus\:bg-pink-100:focus{--bg-opacity:1;background-color:#fce8f3;background-color:rgba(252,232,243,var(--bg-opacity))}.sm\:focus\:bg-pink-200:focus{--bg-opacity:1;background-color:#fad1e8;background-color:rgba(250,209,232,var(--bg-opacity))}.sm\:focus\:bg-pink-300:focus{--bg-opacity:1;background-color:#f8b4d9;background-color:rgba(248,180,217,var(--bg-opacity))}.sm\:focus\:bg-pink-400:focus{--bg-opacity:1;background-color:#f17eb8;background-color:rgba(241,126,184,var(--bg-opacity))}.sm\:focus\:bg-pink-500:focus{--bg-opacity:1;background-color:#e74694;background-color:rgba(231,70,148,var(--bg-opacity))}.sm\:focus\:bg-pink-600:focus{--bg-opacity:1;background-color:#d61f69;background-color:rgba(214,31,105,var(--bg-opacity))}.sm\:focus\:bg-pink-700:focus{--bg-opacity:1;background-color:#bf125d;background-color:rgba(191,18,93,var(--bg-opacity))}.sm\:focus\:bg-pink-800:focus{--bg-opacity:1;background-color:#99154b;background-color:rgba(153,21,75,var(--bg-opacity))}.sm\:focus\:bg-pink-900:focus{--bg-opacity:1;background-color:#751a3d;background-color:rgba(117,26,61,var(--bg-opacity))}.sm\:active\:bg-transparent:active{background-color:transparent}.sm\:active\:bg-white:active{--bg-opacity:1;background-color:#fff;background-color:rgba(255,255,255,var(--bg-opacity))}.sm\:active\:bg-black:active{--bg-opacity:1;background-color:#000;background-color:rgba(0,0,0,var(--bg-opacity))}.sm\:active\:bg-gray-50:active{--bg-opacity:1;background-color:#f9fafb;background-color:rgba(249,250,251,var(--bg-opacity))}.sm\:active\:bg-gray-100:active{--bg-opacity:1;background-color:#f4f5f7;background-color:rgba(244,245,247,var(--bg-opacity))}.sm\:active\:bg-gray-200:active{--bg-opacity:1;background-color:#e5e7eb;background-color:rgba(229,231,235,var(--bg-opacity))}.sm\:active\:bg-gray-300:active{--bg-opacity:1;background-color:#d2d6dc;background-color:rgba(210,214,220,var(--bg-opacity))}.sm\:active\:bg-gray-400:active{--bg-opacity:1;background-color:#9fa6b2;background-color:rgba(159,166,178,var(--bg-opacity))}.sm\:active\:bg-gray-500:active{--bg-opacity:1;background-color:#6b7280;background-color:rgba(107,114,128,var(--bg-opacity))}.sm\:active\:bg-gray-600:active{--bg-opacity:1;background-color:#4b5563;background-color:rgba(75,85,99,var(--bg-opacity))}.sm\:active\:bg-gray-700:active{--bg-opacity:1;background-color:#374151;background-color:rgba(55,65,81,var(--bg-opacity))}.sm\:active\:bg-gray-800:active{--bg-opacity:1;background-color:#252f3f;background-color:rgba(37,47,63,var(--bg-opacity))}.sm\:active\:bg-gray-900:active{--bg-opacity:1;background-color:#161e2e;background-color:rgba(22,30,46,var(--bg-opacity))}.sm\:active\:bg-cool-gray-50:active{--bg-opacity:1;background-color:#f8fafc;background-color:rgba(248,250,252,var(--bg-opacity))}.sm\:active\:bg-cool-gray-100:active{--bg-opacity:1;background-color:#f1f5f9;background-color:rgba(241,245,249,var(--bg-opacity))}.sm\:active\:bg-cool-gray-200:active{--bg-opacity:1;background-color:#e2e8f0;background-color:rgba(226,232,240,var(--bg-opacity))}.sm\:active\:bg-cool-gray-300:active{--bg-opacity:1;background-color:#cfd8e3;background-color:rgba(207,216,227,var(--bg-opacity))}.sm\:active\:bg-cool-gray-400:active{--bg-opacity:1;background-color:#97a6ba;background-color:rgba(151,166,186,var(--bg-opacity))}.sm\:active\:bg-cool-gray-500:active{--bg-opacity:1;background-color:#64748b;background-color:rgba(100,116,139,var(--bg-opacity))}.sm\:active\:bg-cool-gray-600:active{--bg-opacity:1;background-color:#475569;background-color:rgba(71,85,105,var(--bg-opacity))}.sm\:active\:bg-cool-gray-700:active{--bg-opacity:1;background-color:#364152;background-color:rgba(54,65,82,var(--bg-opacity))}.sm\:active\:bg-cool-gray-800:active{--bg-opacity:1;background-color:#27303f;background-color:rgba(39,48,63,var(--bg-opacity))}.sm\:active\:bg-cool-gray-900:active{--bg-opacity:1;background-color:#1a202e;background-color:rgba(26,32,46,var(--bg-opacity))}.sm\:active\:bg-red-50:active{--bg-opacity:1;background-color:#fdf2f2;background-color:rgba(253,242,242,var(--bg-opacity))}.sm\:active\:bg-red-100:active{--bg-opacity:1;background-color:#fde8e8;background-color:rgba(253,232,232,var(--bg-opacity))}.sm\:active\:bg-red-200:active{--bg-opacity:1;background-color:#fbd5d5;background-color:rgba(251,213,213,var(--bg-opacity))}.sm\:active\:bg-red-300:active{--bg-opacity:1;background-color:#f8b4b4;background-color:rgba(248,180,180,var(--bg-opacity))}.sm\:active\:bg-red-400:active{--bg-opacity:1;background-color:#f98080;background-color:rgba(249,128,128,var(--bg-opacity))}.sm\:active\:bg-red-500:active{--bg-opacity:1;background-color:#f05252;background-color:rgba(240,82,82,var(--bg-opacity))}.sm\:active\:bg-red-600:active{--bg-opacity:1;background-color:#e02424;background-color:rgba(224,36,36,var(--bg-opacity))}.sm\:active\:bg-red-700:active{--bg-opacity:1;background-color:#c81e1e;background-color:rgba(200,30,30,var(--bg-opacity))}.sm\:active\:bg-red-800:active{--bg-opacity:1;background-color:#9b1c1c;background-color:rgba(155,28,28,var(--bg-opacity))}.sm\:active\:bg-red-900:active{--bg-opacity:1;background-color:#771d1d;background-color:rgba(119,29,29,var(--bg-opacity))}.sm\:active\:bg-orange-50:active{--bg-opacity:1;background-color:#fff8f1;background-color:rgba(255,248,241,var(--bg-opacity))}.sm\:active\:bg-orange-100:active{--bg-opacity:1;background-color:#feecdc;background-color:rgba(254,236,220,var(--bg-opacity))}.sm\:active\:bg-orange-200:active{--bg-opacity:1;background-color:#fcd9bd;background-color:rgba(252,217,189,var(--bg-opacity))}.sm\:active\:bg-orange-300:active{--bg-opacity:1;background-color:#fdba8c;background-color:rgba(253,186,140,var(--bg-opacity))}.sm\:active\:bg-orange-400:active{--bg-opacity:1;background-color:#ff8a4c;background-color:rgba(255,138,76,var(--bg-opacity))}.sm\:active\:bg-orange-500:active{--bg-opacity:1;background-color:#ff5a1f;background-color:rgba(255,90,31,var(--bg-opacity))}.sm\:active\:bg-orange-600:active{--bg-opacity:1;background-color:#d03801;background-color:rgba(208,56,1,var(--bg-opacity))}.sm\:active\:bg-orange-700:active{--bg-opacity:1;background-color:#b43403;background-color:rgba(180,52,3,var(--bg-opacity))}.sm\:active\:bg-orange-800:active{--bg-opacity:1;background-color:#8a2c0d;background-color:rgba(138,44,13,var(--bg-opacity))}.sm\:active\:bg-orange-900:active{--bg-opacity:1;background-color:#73230d;background-color:rgba(115,35,13,var(--bg-opacity))}.sm\:active\:bg-yellow-50:active{--bg-opacity:1;background-color:#fdfdea;background-color:rgba(253,253,234,var(--bg-opacity))}.sm\:active\:bg-yellow-100:active{--bg-opacity:1;background-color:#fdf6b2;background-color:rgba(253,246,178,var(--bg-opacity))}.sm\:active\:bg-yellow-200:active{--bg-opacity:1;background-color:#fce96a;background-color:rgba(252,233,106,var(--bg-opacity))}.sm\:active\:bg-yellow-300:active{--bg-opacity:1;background-color:#faca15;background-color:rgba(250,202,21,var(--bg-opacity))}.sm\:active\:bg-yellow-400:active{--bg-opacity:1;background-color:#e3a008;background-color:rgba(227,160,8,var(--bg-opacity))}.sm\:active\:bg-yellow-500:active{--bg-opacity:1;background-color:#c27803;background-color:rgba(194,120,3,var(--bg-opacity))}.sm\:active\:bg-yellow-600:active{--bg-opacity:1;background-color:#9f580a;background-color:rgba(159,88,10,var(--bg-opacity))}.sm\:active\:bg-yellow-700:active{--bg-opacity:1;background-color:#8e4b10;background-color:rgba(142,75,16,var(--bg-opacity))}.sm\:active\:bg-yellow-800:active{--bg-opacity:1;background-color:#723b13;background-color:rgba(114,59,19,var(--bg-opacity))}.sm\:active\:bg-yellow-900:active{--bg-opacity:1;background-color:#633112;background-color:rgba(99,49,18,var(--bg-opacity))}.sm\:active\:bg-green-50:active{--bg-opacity:1;background-color:#f3faf7;background-color:rgba(243,250,247,var(--bg-opacity))}.sm\:active\:bg-green-100:active{--bg-opacity:1;background-color:#def7ec;background-color:rgba(222,247,236,var(--bg-opacity))}.sm\:active\:bg-green-200:active{--bg-opacity:1;background-color:#bcf0da;background-color:rgba(188,240,218,var(--bg-opacity))}.sm\:active\:bg-green-300:active{--bg-opacity:1;background-color:#84e1bc;background-color:rgba(132,225,188,var(--bg-opacity))}.sm\:active\:bg-green-400:active{--bg-opacity:1;background-color:#31c48d;background-color:rgba(49,196,141,var(--bg-opacity))}.sm\:active\:bg-green-500:active{--bg-opacity:1;background-color:#0e9f6e;background-color:rgba(14,159,110,var(--bg-opacity))}.sm\:active\:bg-green-600:active{--bg-opacity:1;background-color:#057a55;background-color:rgba(5,122,85,var(--bg-opacity))}.sm\:active\:bg-green-700:active{--bg-opacity:1;background-color:#046c4e;background-color:rgba(4,108,78,var(--bg-opacity))}.sm\:active\:bg-green-800:active{--bg-opacity:1;background-color:#03543f;background-color:rgba(3,84,63,var(--bg-opacity))}.sm\:active\:bg-green-900:active{--bg-opacity:1;background-color:#014737;background-color:rgba(1,71,55,var(--bg-opacity))}.sm\:active\:bg-teal-50:active{--bg-opacity:1;background-color:#edfafa;background-color:rgba(237,250,250,var(--bg-opacity))}.sm\:active\:bg-teal-100:active{--bg-opacity:1;background-color:#d5f5f6;background-color:rgba(213,245,246,var(--bg-opacity))}.sm\:active\:bg-teal-200:active{--bg-opacity:1;background-color:#afecef;background-color:rgba(175,236,239,var(--bg-opacity))}.sm\:active\:bg-teal-300:active{--bg-opacity:1;background-color:#7edce2;background-color:rgba(126,220,226,var(--bg-opacity))}.sm\:active\:bg-teal-400:active{--bg-opacity:1;background-color:#16bdca;background-color:rgba(22,189,202,var(--bg-opacity))}.sm\:active\:bg-teal-500:active{--bg-opacity:1;background-color:#0694a2;background-color:rgba(6,148,162,var(--bg-opacity))}.sm\:active\:bg-teal-600:active{--bg-opacity:1;background-color:#047481;background-color:rgba(4,116,129,var(--bg-opacity))}.sm\:active\:bg-teal-700:active{--bg-opacity:1;background-color:#036672;background-color:rgba(3,102,114,var(--bg-opacity))}.sm\:active\:bg-teal-800:active{--bg-opacity:1;background-color:#05505c;background-color:rgba(5,80,92,var(--bg-opacity))}.sm\:active\:bg-teal-900:active{--bg-opacity:1;background-color:#014451;background-color:rgba(1,68,81,var(--bg-opacity))}.sm\:active\:bg-blue-50:active{--bg-opacity:1;background-color:#ebf5ff;background-color:rgba(235,245,255,var(--bg-opacity))}.sm\:active\:bg-blue-100:active{--bg-opacity:1;background-color:#e1effe;background-color:rgba(225,239,254,var(--bg-opacity))}.sm\:active\:bg-blue-200:active{--bg-opacity:1;background-color:#c3ddfd;background-color:rgba(195,221,253,var(--bg-opacity))}.sm\:active\:bg-blue-300:active{--bg-opacity:1;background-color:#a4cafe;background-color:rgba(164,202,254,var(--bg-opacity))}.sm\:active\:bg-blue-400:active{--bg-opacity:1;background-color:#76a9fa;background-color:rgba(118,169,250,var(--bg-opacity))}.sm\:active\:bg-blue-500:active{--bg-opacity:1;background-color:#3f83f8;background-color:rgba(63,131,248,var(--bg-opacity))}.sm\:active\:bg-blue-600:active{--bg-opacity:1;background-color:#1c64f2;background-color:rgba(28,100,242,var(--bg-opacity))}.sm\:active\:bg-blue-700:active{--bg-opacity:1;background-color:#1a56db;background-color:rgba(26,86,219,var(--bg-opacity))}.sm\:active\:bg-blue-800:active{--bg-opacity:1;background-color:#1e429f;background-color:rgba(30,66,159,var(--bg-opacity))}.sm\:active\:bg-blue-900:active{--bg-opacity:1;background-color:#233876;background-color:rgba(35,56,118,var(--bg-opacity))}.sm\:active\:bg-indigo-50:active{--bg-opacity:1;background-color:#f0f5ff;background-color:rgba(240,245,255,var(--bg-opacity))}.sm\:active\:bg-indigo-100:active{--bg-opacity:1;background-color:#e5edff;background-color:rgba(229,237,255,var(--bg-opacity))}.sm\:active\:bg-indigo-200:active{--bg-opacity:1;background-color:#cddbfe;background-color:rgba(205,219,254,var(--bg-opacity))}.sm\:active\:bg-indigo-300:active{--bg-opacity:1;background-color:#b4c6fc;background-color:rgba(180,198,252,var(--bg-opacity))}.sm\:active\:bg-indigo-400:active{--bg-opacity:1;background-color:#8da2fb;background-color:rgba(141,162,251,var(--bg-opacity))}.sm\:active\:bg-indigo-500:active{--bg-opacity:1;background-color:#6875f5;background-color:rgba(104,117,245,var(--bg-opacity))}.sm\:active\:bg-indigo-600:active{--bg-opacity:1;background-color:#5850ec;background-color:rgba(88,80,236,var(--bg-opacity))}.sm\:active\:bg-indigo-700:active{--bg-opacity:1;background-color:#5145cd;background-color:rgba(81,69,205,var(--bg-opacity))}.sm\:active\:bg-indigo-800:active{--bg-opacity:1;background-color:#42389d;background-color:rgba(66,56,157,var(--bg-opacity))}.sm\:active\:bg-indigo-900:active{--bg-opacity:1;background-color:#362f78;background-color:rgba(54,47,120,var(--bg-opacity))}.sm\:active\:bg-purple-50:active{--bg-opacity:1;background-color:#f6f5ff;background-color:rgba(246,245,255,var(--bg-opacity))}.sm\:active\:bg-purple-100:active{--bg-opacity:1;background-color:#edebfe;background-color:rgba(237,235,254,var(--bg-opacity))}.sm\:active\:bg-purple-200:active{--bg-opacity:1;background-color:#dcd7fe;background-color:rgba(220,215,254,var(--bg-opacity))}.sm\:active\:bg-purple-300:active{--bg-opacity:1;background-color:#cabffd;background-color:rgba(202,191,253,var(--bg-opacity))}.sm\:active\:bg-purple-400:active{--bg-opacity:1;background-color:#ac94fa;background-color:rgba(172,148,250,var(--bg-opacity))}.sm\:active\:bg-purple-500:active{--bg-opacity:1;background-color:#9061f9;background-color:rgba(144,97,249,var(--bg-opacity))}.sm\:active\:bg-purple-600:active{--bg-opacity:1;background-color:#7e3af2;background-color:rgba(126,58,242,var(--bg-opacity))}.sm\:active\:bg-purple-700:active{--bg-opacity:1;background-color:#6c2bd9;background-color:rgba(108,43,217,var(--bg-opacity))}.sm\:active\:bg-purple-800:active{--bg-opacity:1;background-color:#5521b5;background-color:rgba(85,33,181,var(--bg-opacity))}.sm\:active\:bg-purple-900:active{--bg-opacity:1;background-color:#4a1d96;background-color:rgba(74,29,150,var(--bg-opacity))}.sm\:active\:bg-pink-50:active{--bg-opacity:1;background-color:#fdf2f8;background-color:rgba(253,242,248,var(--bg-opacity))}.sm\:active\:bg-pink-100:active{--bg-opacity:1;background-color:#fce8f3;background-color:rgba(252,232,243,var(--bg-opacity))}.sm\:active\:bg-pink-200:active{--bg-opacity:1;background-color:#fad1e8;background-color:rgba(250,209,232,var(--bg-opacity))}.sm\:active\:bg-pink-300:active{--bg-opacity:1;background-color:#f8b4d9;background-color:rgba(248,180,217,var(--bg-opacity))}.sm\:active\:bg-pink-400:active{--bg-opacity:1;background-color:#f17eb8;background-color:rgba(241,126,184,var(--bg-opacity))}.sm\:active\:bg-pink-500:active{--bg-opacity:1;background-color:#e74694;background-color:rgba(231,70,148,var(--bg-opacity))}.sm\:active\:bg-pink-600:active{--bg-opacity:1;background-color:#d61f69;background-color:rgba(214,31,105,var(--bg-opacity))}.sm\:active\:bg-pink-700:active{--bg-opacity:1;background-color:#bf125d;background-color:rgba(191,18,93,var(--bg-opacity))}.sm\:active\:bg-pink-800:active{--bg-opacity:1;background-color:#99154b;background-color:rgba(153,21,75,var(--bg-opacity))}.sm\:active\:bg-pink-900:active{--bg-opacity:1;background-color:#751a3d;background-color:rgba(117,26,61,var(--bg-opacity))}.sm\:bg-opacity-0{--bg-opacity:0}.sm\:bg-opacity-25{--bg-opacity:0.25}.sm\:bg-opacity-50{--bg-opacity:0.5}.sm\:bg-opacity-75{--bg-opacity:0.75}.sm\:bg-opacity-100{--bg-opacity:1}.sm\:hover\:bg-opacity-0:hover{--bg-opacity:0}.sm\:hover\:bg-opacity-25:hover{--bg-opacity:0.25}.sm\:hover\:bg-opacity-50:hover{--bg-opacity:0.5}.sm\:hover\:bg-opacity-75:hover{--bg-opacity:0.75}.sm\:hover\:bg-opacity-100:hover{--bg-opacity:1}.sm\:focus\:bg-opacity-0:focus{--bg-opacity:0}.sm\:focus\:bg-opacity-25:focus{--bg-opacity:0.25}.sm\:focus\:bg-opacity-50:focus{--bg-opacity:0.5}.sm\:focus\:bg-opacity-75:focus{--bg-opacity:0.75}.sm\:focus\:bg-opacity-100:focus{--bg-opacity:1}.sm\:bg-bottom{background-position:bottom}.sm\:bg-center{background-position:center}.sm\:bg-left{background-position:left}.sm\:bg-left-bottom{background-position:left bottom}.sm\:bg-left-top{background-position:left top}.sm\:bg-right{background-position:right}.sm\:bg-right-bottom{background-position:right bottom}.sm\:bg-right-top{background-position:right top}.sm\:bg-top{background-position:top}.sm\:bg-repeat{background-repeat:repeat}.sm\:bg-no-repeat{background-repeat:no-repeat}.sm\:bg-repeat-x{background-repeat:repeat-x}.sm\:bg-repeat-y{background-repeat:repeat-y}.sm\:bg-repeat-round{background-repeat:round}.sm\:bg-repeat-space{background-repeat:space}.sm\:bg-auto{background-size:auto}.sm\:bg-cover{background-size:cover}.sm\:bg-contain{background-size:contain}.sm\:border-collapse{border-collapse:collapse}.sm\:border-separate{border-collapse:separate}.sm\:border-transparent{border-color:transparent}.sm\:border-white{--border-opacity:1;border-color:#fff;border-color:rgba(255,255,255,var(--border-opacity))}.sm\:border-black{--border-opacity:1;border-color:#000;border-color:rgba(0,0,0,var(--border-opacity))}.sm\:border-gray-50{--border-opacity:1;border-color:#f9fafb;border-color:rgba(249,250,251,var(--border-opacity))}.sm\:border-gray-100{--border-opacity:1;border-color:#f4f5f7;border-color:rgba(244,245,247,var(--border-opacity))}.sm\:border-gray-200{--border-opacity:1;border-color:#e5e7eb;border-color:rgba(229,231,235,var(--border-opacity))}.sm\:border-gray-300{--border-opacity:1;border-color:#d2d6dc;border-color:rgba(210,214,220,var(--border-opacity))}.sm\:border-gray-400{--border-opacity:1;border-color:#9fa6b2;border-color:rgba(159,166,178,var(--border-opacity))}.sm\:border-gray-500{--border-opacity:1;border-color:#6b7280;border-color:rgba(107,114,128,var(--border-opacity))}.sm\:border-gray-600{--border-opacity:1;border-color:#4b5563;border-color:rgba(75,85,99,var(--border-opacity))}.sm\:border-gray-700{--border-opacity:1;border-color:#374151;border-color:rgba(55,65,81,var(--border-opacity))}.sm\:border-gray-800{--border-opacity:1;border-color:#252f3f;border-color:rgba(37,47,63,var(--border-opacity))}.sm\:border-gray-900{--border-opacity:1;border-color:#161e2e;border-color:rgba(22,30,46,var(--border-opacity))}.sm\:border-cool-gray-50{--border-opacity:1;border-color:#f8fafc;border-color:rgba(248,250,252,var(--border-opacity))}.sm\:border-cool-gray-100{--border-opacity:1;border-color:#f1f5f9;border-color:rgba(241,245,249,var(--border-opacity))}.sm\:border-cool-gray-200{--border-opacity:1;border-color:#e2e8f0;border-color:rgba(226,232,240,var(--border-opacity))}.sm\:border-cool-gray-300{--border-opacity:1;border-color:#cfd8e3;border-color:rgba(207,216,227,var(--border-opacity))}.sm\:border-cool-gray-400{--border-opacity:1;border-color:#97a6ba;border-color:rgba(151,166,186,var(--border-opacity))}.sm\:border-cool-gray-500{--border-opacity:1;border-color:#64748b;border-color:rgba(100,116,139,var(--border-opacity))}.sm\:border-cool-gray-600{--border-opacity:1;border-color:#475569;border-color:rgba(71,85,105,var(--border-opacity))}.sm\:border-cool-gray-700{--border-opacity:1;border-color:#364152;border-color:rgba(54,65,82,var(--border-opacity))}.sm\:border-cool-gray-800{--border-opacity:1;border-color:#27303f;border-color:rgba(39,48,63,var(--border-opacity))}.sm\:border-cool-gray-900{--border-opacity:1;border-color:#1a202e;border-color:rgba(26,32,46,var(--border-opacity))}.sm\:border-red-50{--border-opacity:1;border-color:#fdf2f2;border-color:rgba(253,242,242,var(--border-opacity))}.sm\:border-red-100{--border-opacity:1;border-color:#fde8e8;border-color:rgba(253,232,232,var(--border-opacity))}.sm\:border-red-200{--border-opacity:1;border-color:#fbd5d5;border-color:rgba(251,213,213,var(--border-opacity))}.sm\:border-red-300{--border-opacity:1;border-color:#f8b4b4;border-color:rgba(248,180,180,var(--border-opacity))}.sm\:border-red-400{--border-opacity:1;border-color:#f98080;border-color:rgba(249,128,128,var(--border-opacity))}.sm\:border-red-500{--border-opacity:1;border-color:#f05252;border-color:rgba(240,82,82,var(--border-opacity))}.sm\:border-red-600{--border-opacity:1;border-color:#e02424;border-color:rgba(224,36,36,var(--border-opacity))}.sm\:border-red-700{--border-opacity:1;border-color:#c81e1e;border-color:rgba(200,30,30,var(--border-opacity))}.sm\:border-red-800{--border-opacity:1;border-color:#9b1c1c;border-color:rgba(155,28,28,var(--border-opacity))}.sm\:border-red-900{--border-opacity:1;border-color:#771d1d;border-color:rgba(119,29,29,var(--border-opacity))}.sm\:border-orange-50{--border-opacity:1;border-color:#fff8f1;border-color:rgba(255,248,241,var(--border-opacity))}.sm\:border-orange-100{--border-opacity:1;border-color:#feecdc;border-color:rgba(254,236,220,var(--border-opacity))}.sm\:border-orange-200{--border-opacity:1;border-color:#fcd9bd;border-color:rgba(252,217,189,var(--border-opacity))}.sm\:border-orange-300{--border-opacity:1;border-color:#fdba8c;border-color:rgba(253,186,140,var(--border-opacity))}.sm\:border-orange-400{--border-opacity:1;border-color:#ff8a4c;border-color:rgba(255,138,76,var(--border-opacity))}.sm\:border-orange-500{--border-opacity:1;border-color:#ff5a1f;border-color:rgba(255,90,31,var(--border-opacity))}.sm\:border-orange-600{--border-opacity:1;border-color:#d03801;border-color:rgba(208,56,1,var(--border-opacity))}.sm\:border-orange-700{--border-opacity:1;border-color:#b43403;border-color:rgba(180,52,3,var(--border-opacity))}.sm\:border-orange-800{--border-opacity:1;border-color:#8a2c0d;border-color:rgba(138,44,13,var(--border-opacity))}.sm\:border-orange-900{--border-opacity:1;border-color:#73230d;border-color:rgba(115,35,13,var(--border-opacity))}.sm\:border-yellow-50{--border-opacity:1;border-color:#fdfdea;border-color:rgba(253,253,234,var(--border-opacity))}.sm\:border-yellow-100{--border-opacity:1;border-color:#fdf6b2;border-color:rgba(253,246,178,var(--border-opacity))}.sm\:border-yellow-200{--border-opacity:1;border-color:#fce96a;border-color:rgba(252,233,106,var(--border-opacity))}.sm\:border-yellow-300{--border-opacity:1;border-color:#faca15;border-color:rgba(250,202,21,var(--border-opacity))}.sm\:border-yellow-400{--border-opacity:1;border-color:#e3a008;border-color:rgba(227,160,8,var(--border-opacity))}.sm\:border-yellow-500{--border-opacity:1;border-color:#c27803;border-color:rgba(194,120,3,var(--border-opacity))}.sm\:border-yellow-600{--border-opacity:1;border-color:#9f580a;border-color:rgba(159,88,10,var(--border-opacity))}.sm\:border-yellow-700{--border-opacity:1;border-color:#8e4b10;border-color:rgba(142,75,16,var(--border-opacity))}.sm\:border-yellow-800{--border-opacity:1;border-color:#723b13;border-color:rgba(114,59,19,var(--border-opacity))}.sm\:border-yellow-900{--border-opacity:1;border-color:#633112;border-color:rgba(99,49,18,var(--border-opacity))}.sm\:border-green-50{--border-opacity:1;border-color:#f3faf7;border-color:rgba(243,250,247,var(--border-opacity))}.sm\:border-green-100{--border-opacity:1;border-color:#def7ec;border-color:rgba(222,247,236,var(--border-opacity))}.sm\:border-green-200{--border-opacity:1;border-color:#bcf0da;border-color:rgba(188,240,218,var(--border-opacity))}.sm\:border-green-300{--border-opacity:1;border-color:#84e1bc;border-color:rgba(132,225,188,var(--border-opacity))}.sm\:border-green-400{--border-opacity:1;border-color:#31c48d;border-color:rgba(49,196,141,var(--border-opacity))}.sm\:border-green-500{--border-opacity:1;border-color:#0e9f6e;border-color:rgba(14,159,110,var(--border-opacity))}.sm\:border-green-600{--border-opacity:1;border-color:#057a55;border-color:rgba(5,122,85,var(--border-opacity))}.sm\:border-green-700{--border-opacity:1;border-color:#046c4e;border-color:rgba(4,108,78,var(--border-opacity))}.sm\:border-green-800{--border-opacity:1;border-color:#03543f;border-color:rgba(3,84,63,var(--border-opacity))}.sm\:border-green-900{--border-opacity:1;border-color:#014737;border-color:rgba(1,71,55,var(--border-opacity))}.sm\:border-teal-50{--border-opacity:1;border-color:#edfafa;border-color:rgba(237,250,250,var(--border-opacity))}.sm\:border-teal-100{--border-opacity:1;border-color:#d5f5f6;border-color:rgba(213,245,246,var(--border-opacity))}.sm\:border-teal-200{--border-opacity:1;border-color:#afecef;border-color:rgba(175,236,239,var(--border-opacity))}.sm\:border-teal-300{--border-opacity:1;border-color:#7edce2;border-color:rgba(126,220,226,var(--border-opacity))}.sm\:border-teal-400{--border-opacity:1;border-color:#16bdca;border-color:rgba(22,189,202,var(--border-opacity))}.sm\:border-teal-500{--border-opacity:1;border-color:#0694a2;border-color:rgba(6,148,162,var(--border-opacity))}.sm\:border-teal-600{--border-opacity:1;border-color:#047481;border-color:rgba(4,116,129,var(--border-opacity))}.sm\:border-teal-700{--border-opacity:1;border-color:#036672;border-color:rgba(3,102,114,var(--border-opacity))}.sm\:border-teal-800{--border-opacity:1;border-color:#05505c;border-color:rgba(5,80,92,var(--border-opacity))}.sm\:border-teal-900{--border-opacity:1;border-color:#014451;border-color:rgba(1,68,81,var(--border-opacity))}.sm\:border-blue-50{--border-opacity:1;border-color:#ebf5ff;border-color:rgba(235,245,255,var(--border-opacity))}.sm\:border-blue-100{--border-opacity:1;border-color:#e1effe;border-color:rgba(225,239,254,var(--border-opacity))}.sm\:border-blue-200{--border-opacity:1;border-color:#c3ddfd;border-color:rgba(195,221,253,var(--border-opacity))}.sm\:border-blue-300{--border-opacity:1;border-color:#a4cafe;border-color:rgba(164,202,254,var(--border-opacity))}.sm\:border-blue-400{--border-opacity:1;border-color:#76a9fa;border-color:rgba(118,169,250,var(--border-opacity))}.sm\:border-blue-500{--border-opacity:1;border-color:#3f83f8;border-color:rgba(63,131,248,var(--border-opacity))}.sm\:border-blue-600{--border-opacity:1;border-color:#1c64f2;border-color:rgba(28,100,242,var(--border-opacity))}.sm\:border-blue-700{--border-opacity:1;border-color:#1a56db;border-color:rgba(26,86,219,var(--border-opacity))}.sm\:border-blue-800{--border-opacity:1;border-color:#1e429f;border-color:rgba(30,66,159,var(--border-opacity))}.sm\:border-blue-900{--border-opacity:1;border-color:#233876;border-color:rgba(35,56,118,var(--border-opacity))}.sm\:border-indigo-50{--border-opacity:1;border-color:#f0f5ff;border-color:rgba(240,245,255,var(--border-opacity))}.sm\:border-indigo-100{--border-opacity:1;border-color:#e5edff;border-color:rgba(229,237,255,var(--border-opacity))}.sm\:border-indigo-200{--border-opacity:1;border-color:#cddbfe;border-color:rgba(205,219,254,var(--border-opacity))}.sm\:border-indigo-300{--border-opacity:1;border-color:#b4c6fc;border-color:rgba(180,198,252,var(--border-opacity))}.sm\:border-indigo-400{--border-opacity:1;border-color:#8da2fb;border-color:rgba(141,162,251,var(--border-opacity))}.sm\:border-indigo-500{--border-opacity:1;border-color:#6875f5;border-color:rgba(104,117,245,var(--border-opacity))}.sm\:border-indigo-600{--border-opacity:1;border-color:#5850ec;border-color:rgba(88,80,236,var(--border-opacity))}.sm\:border-indigo-700{--border-opacity:1;border-color:#5145cd;border-color:rgba(81,69,205,var(--border-opacity))}.sm\:border-indigo-800{--border-opacity:1;border-color:#42389d;border-color:rgba(66,56,157,var(--border-opacity))}.sm\:border-indigo-900{--border-opacity:1;border-color:#362f78;border-color:rgba(54,47,120,var(--border-opacity))}.sm\:border-purple-50{--border-opacity:1;border-color:#f6f5ff;border-color:rgba(246,245,255,var(--border-opacity))}.sm\:border-purple-100{--border-opacity:1;border-color:#edebfe;border-color:rgba(237,235,254,var(--border-opacity))}.sm\:border-purple-200{--border-opacity:1;border-color:#dcd7fe;border-color:rgba(220,215,254,var(--border-opacity))}.sm\:border-purple-300{--border-opacity:1;border-color:#cabffd;border-color:rgba(202,191,253,var(--border-opacity))}.sm\:border-purple-400{--border-opacity:1;border-color:#ac94fa;border-color:rgba(172,148,250,var(--border-opacity))}.sm\:border-purple-500{--border-opacity:1;border-color:#9061f9;border-color:rgba(144,97,249,var(--border-opacity))}.sm\:border-purple-600{--border-opacity:1;border-color:#7e3af2;border-color:rgba(126,58,242,var(--border-opacity))}.sm\:border-purple-700{--border-opacity:1;border-color:#6c2bd9;border-color:rgba(108,43,217,var(--border-opacity))}.sm\:border-purple-800{--border-opacity:1;border-color:#5521b5;border-color:rgba(85,33,181,var(--border-opacity))}.sm\:border-purple-900{--border-opacity:1;border-color:#4a1d96;border-color:rgba(74,29,150,var(--border-opacity))}.sm\:border-pink-50{--border-opacity:1;border-color:#fdf2f8;border-color:rgba(253,242,248,var(--border-opacity))}.sm\:border-pink-100{--border-opacity:1;border-color:#fce8f3;border-color:rgba(252,232,243,var(--border-opacity))}.sm\:border-pink-200{--border-opacity:1;border-color:#fad1e8;border-color:rgba(250,209,232,var(--border-opacity))}.sm\:border-pink-300{--border-opacity:1;border-color:#f8b4d9;border-color:rgba(248,180,217,var(--border-opacity))}.sm\:border-pink-400{--border-opacity:1;border-color:#f17eb8;border-color:rgba(241,126,184,var(--border-opacity))}.sm\:border-pink-500{--border-opacity:1;border-color:#e74694;border-color:rgba(231,70,148,var(--border-opacity))}.sm\:border-pink-600{--border-opacity:1;border-color:#d61f69;border-color:rgba(214,31,105,var(--border-opacity))}.sm\:border-pink-700{--border-opacity:1;border-color:#bf125d;border-color:rgba(191,18,93,var(--border-opacity))}.sm\:border-pink-800{--border-opacity:1;border-color:#99154b;border-color:rgba(153,21,75,var(--border-opacity))}.sm\:border-pink-900{--border-opacity:1;border-color:#751a3d;border-color:rgba(117,26,61,var(--border-opacity))}.group:hover .sm\:group-hover\:border-transparent{border-color:transparent}.group:hover .sm\:group-hover\:border-white{--border-opacity:1;border-color:#fff;border-color:rgba(255,255,255,var(--border-opacity))}.group:hover .sm\:group-hover\:border-black{--border-opacity:1;border-color:#000;border-color:rgba(0,0,0,var(--border-opacity))}.group:hover .sm\:group-hover\:border-gray-50{--border-opacity:1;border-color:#f9fafb;border-color:rgba(249,250,251,var(--border-opacity))}.group:hover .sm\:group-hover\:border-gray-100{--border-opacity:1;border-color:#f4f5f7;border-color:rgba(244,245,247,var(--border-opacity))}.group:hover .sm\:group-hover\:border-gray-200{--border-opacity:1;border-color:#e5e7eb;border-color:rgba(229,231,235,var(--border-opacity))}.group:hover .sm\:group-hover\:border-gray-300{--border-opacity:1;border-color:#d2d6dc;border-color:rgba(210,214,220,var(--border-opacity))}.group:hover .sm\:group-hover\:border-gray-400{--border-opacity:1;border-color:#9fa6b2;border-color:rgba(159,166,178,var(--border-opacity))}.group:hover .sm\:group-hover\:border-gray-500{--border-opacity:1;border-color:#6b7280;border-color:rgba(107,114,128,var(--border-opacity))}.group:hover .sm\:group-hover\:border-gray-600{--border-opacity:1;border-color:#4b5563;border-color:rgba(75,85,99,var(--border-opacity))}.group:hover .sm\:group-hover\:border-gray-700{--border-opacity:1;border-color:#374151;border-color:rgba(55,65,81,var(--border-opacity))}.group:hover .sm\:group-hover\:border-gray-800{--border-opacity:1;border-color:#252f3f;border-color:rgba(37,47,63,var(--border-opacity))}.group:hover .sm\:group-hover\:border-gray-900{--border-opacity:1;border-color:#161e2e;border-color:rgba(22,30,46,var(--border-opacity))}.group:hover .sm\:group-hover\:border-cool-gray-50{--border-opacity:1;border-color:#f8fafc;border-color:rgba(248,250,252,var(--border-opacity))}.group:hover .sm\:group-hover\:border-cool-gray-100{--border-opacity:1;border-color:#f1f5f9;border-color:rgba(241,245,249,var(--border-opacity))}.group:hover .sm\:group-hover\:border-cool-gray-200{--border-opacity:1;border-color:#e2e8f0;border-color:rgba(226,232,240,var(--border-opacity))}.group:hover .sm\:group-hover\:border-cool-gray-300{--border-opacity:1;border-color:#cfd8e3;border-color:rgba(207,216,227,var(--border-opacity))}.group:hover .sm\:group-hover\:border-cool-gray-400{--border-opacity:1;border-color:#97a6ba;border-color:rgba(151,166,186,var(--border-opacity))}.group:hover .sm\:group-hover\:border-cool-gray-500{--border-opacity:1;border-color:#64748b;border-color:rgba(100,116,139,var(--border-opacity))}.group:hover .sm\:group-hover\:border-cool-gray-600{--border-opacity:1;border-color:#475569;border-color:rgba(71,85,105,var(--border-opacity))}.group:hover .sm\:group-hover\:border-cool-gray-700{--border-opacity:1;border-color:#364152;border-color:rgba(54,65,82,var(--border-opacity))}.group:hover .sm\:group-hover\:border-cool-gray-800{--border-opacity:1;border-color:#27303f;border-color:rgba(39,48,63,var(--border-opacity))}.group:hover .sm\:group-hover\:border-cool-gray-900{--border-opacity:1;border-color:#1a202e;border-color:rgba(26,32,46,var(--border-opacity))}.group:hover .sm\:group-hover\:border-red-50{--border-opacity:1;border-color:#fdf2f2;border-color:rgba(253,242,242,var(--border-opacity))}.group:hover .sm\:group-hover\:border-red-100{--border-opacity:1;border-color:#fde8e8;border-color:rgba(253,232,232,var(--border-opacity))}.group:hover .sm\:group-hover\:border-red-200{--border-opacity:1;border-color:#fbd5d5;border-color:rgba(251,213,213,var(--border-opacity))}.group:hover .sm\:group-hover\:border-red-300{--border-opacity:1;border-color:#f8b4b4;border-color:rgba(248,180,180,var(--border-opacity))}.group:hover .sm\:group-hover\:border-red-400{--border-opacity:1;border-color:#f98080;border-color:rgba(249,128,128,var(--border-opacity))}.group:hover .sm\:group-hover\:border-red-500{--border-opacity:1;border-color:#f05252;border-color:rgba(240,82,82,var(--border-opacity))}.group:hover .sm\:group-hover\:border-red-600{--border-opacity:1;border-color:#e02424;border-color:rgba(224,36,36,var(--border-opacity))}.group:hover .sm\:group-hover\:border-red-700{--border-opacity:1;border-color:#c81e1e;border-color:rgba(200,30,30,var(--border-opacity))}.group:hover .sm\:group-hover\:border-red-800{--border-opacity:1;border-color:#9b1c1c;border-color:rgba(155,28,28,var(--border-opacity))}.group:hover .sm\:group-hover\:border-red-900{--border-opacity:1;border-color:#771d1d;border-color:rgba(119,29,29,var(--border-opacity))}.group:hover .sm\:group-hover\:border-orange-50{--border-opacity:1;border-color:#fff8f1;border-color:rgba(255,248,241,var(--border-opacity))}.group:hover .sm\:group-hover\:border-orange-100{--border-opacity:1;border-color:#feecdc;border-color:rgba(254,236,220,var(--border-opacity))}.group:hover .sm\:group-hover\:border-orange-200{--border-opacity:1;border-color:#fcd9bd;border-color:rgba(252,217,189,var(--border-opacity))}.group:hover .sm\:group-hover\:border-orange-300{--border-opacity:1;border-color:#fdba8c;border-color:rgba(253,186,140,var(--border-opacity))}.group:hover .sm\:group-hover\:border-orange-400{--border-opacity:1;border-color:#ff8a4c;border-color:rgba(255,138,76,var(--border-opacity))}.group:hover .sm\:group-hover\:border-orange-500{--border-opacity:1;border-color:#ff5a1f;border-color:rgba(255,90,31,var(--border-opacity))}.group:hover .sm\:group-hover\:border-orange-600{--border-opacity:1;border-color:#d03801;border-color:rgba(208,56,1,var(--border-opacity))}.group:hover .sm\:group-hover\:border-orange-700{--border-opacity:1;border-color:#b43403;border-color:rgba(180,52,3,var(--border-opacity))}.group:hover .sm\:group-hover\:border-orange-800{--border-opacity:1;border-color:#8a2c0d;border-color:rgba(138,44,13,var(--border-opacity))}.group:hover .sm\:group-hover\:border-orange-900{--border-opacity:1;border-color:#73230d;border-color:rgba(115,35,13,var(--border-opacity))}.group:hover .sm\:group-hover\:border-yellow-50{--border-opacity:1;border-color:#fdfdea;border-color:rgba(253,253,234,var(--border-opacity))}.group:hover .sm\:group-hover\:border-yellow-100{--border-opacity:1;border-color:#fdf6b2;border-color:rgba(253,246,178,var(--border-opacity))}.group:hover .sm\:group-hover\:border-yellow-200{--border-opacity:1;border-color:#fce96a;border-color:rgba(252,233,106,var(--border-opacity))}.group:hover .sm\:group-hover\:border-yellow-300{--border-opacity:1;border-color:#faca15;border-color:rgba(250,202,21,var(--border-opacity))}.group:hover .sm\:group-hover\:border-yellow-400{--border-opacity:1;border-color:#e3a008;border-color:rgba(227,160,8,var(--border-opacity))}.group:hover .sm\:group-hover\:border-yellow-500{--border-opacity:1;border-color:#c27803;border-color:rgba(194,120,3,var(--border-opacity))}.group:hover .sm\:group-hover\:border-yellow-600{--border-opacity:1;border-color:#9f580a;border-color:rgba(159,88,10,var(--border-opacity))}.group:hover .sm\:group-hover\:border-yellow-700{--border-opacity:1;border-color:#8e4b10;border-color:rgba(142,75,16,var(--border-opacity))}.group:hover .sm\:group-hover\:border-yellow-800{--border-opacity:1;border-color:#723b13;border-color:rgba(114,59,19,var(--border-opacity))}.group:hover .sm\:group-hover\:border-yellow-900{--border-opacity:1;border-color:#633112;border-color:rgba(99,49,18,var(--border-opacity))}.group:hover .sm\:group-hover\:border-green-50{--border-opacity:1;border-color:#f3faf7;border-color:rgba(243,250,247,var(--border-opacity))}.group:hover .sm\:group-hover\:border-green-100{--border-opacity:1;border-color:#def7ec;border-color:rgba(222,247,236,var(--border-opacity))}.group:hover .sm\:group-hover\:border-green-200{--border-opacity:1;border-color:#bcf0da;border-color:rgba(188,240,218,var(--border-opacity))}.group:hover .sm\:group-hover\:border-green-300{--border-opacity:1;border-color:#84e1bc;border-color:rgba(132,225,188,var(--border-opacity))}.group:hover .sm\:group-hover\:border-green-400{--border-opacity:1;border-color:#31c48d;border-color:rgba(49,196,141,var(--border-opacity))}.group:hover .sm\:group-hover\:border-green-500{--border-opacity:1;border-color:#0e9f6e;border-color:rgba(14,159,110,var(--border-opacity))}.group:hover .sm\:group-hover\:border-green-600{--border-opacity:1;border-color:#057a55;border-color:rgba(5,122,85,var(--border-opacity))}.group:hover .sm\:group-hover\:border-green-700{--border-opacity:1;border-color:#046c4e;border-color:rgba(4,108,78,var(--border-opacity))}.group:hover .sm\:group-hover\:border-green-800{--border-opacity:1;border-color:#03543f;border-color:rgba(3,84,63,var(--border-opacity))}.group:hover .sm\:group-hover\:border-green-900{--border-opacity:1;border-color:#014737;border-color:rgba(1,71,55,var(--border-opacity))}.group:hover .sm\:group-hover\:border-teal-50{--border-opacity:1;border-color:#edfafa;border-color:rgba(237,250,250,var(--border-opacity))}.group:hover .sm\:group-hover\:border-teal-100{--border-opacity:1;border-color:#d5f5f6;border-color:rgba(213,245,246,var(--border-opacity))}.group:hover .sm\:group-hover\:border-teal-200{--border-opacity:1;border-color:#afecef;border-color:rgba(175,236,239,var(--border-opacity))}.group:hover .sm\:group-hover\:border-teal-300{--border-opacity:1;border-color:#7edce2;border-color:rgba(126,220,226,var(--border-opacity))}.group:hover .sm\:group-hover\:border-teal-400{--border-opacity:1;border-color:#16bdca;border-color:rgba(22,189,202,var(--border-opacity))}.group:hover .sm\:group-hover\:border-teal-500{--border-opacity:1;border-color:#0694a2;border-color:rgba(6,148,162,var(--border-opacity))}.group:hover .sm\:group-hover\:border-teal-600{--border-opacity:1;border-color:#047481;border-color:rgba(4,116,129,var(--border-opacity))}.group:hover .sm\:group-hover\:border-teal-700{--border-opacity:1;border-color:#036672;border-color:rgba(3,102,114,var(--border-opacity))}.group:hover .sm\:group-hover\:border-teal-800{--border-opacity:1;border-color:#05505c;border-color:rgba(5,80,92,var(--border-opacity))}.group:hover .sm\:group-hover\:border-teal-900{--border-opacity:1;border-color:#014451;border-color:rgba(1,68,81,var(--border-opacity))}.group:hover .sm\:group-hover\:border-blue-50{--border-opacity:1;border-color:#ebf5ff;border-color:rgba(235,245,255,var(--border-opacity))}.group:hover .sm\:group-hover\:border-blue-100{--border-opacity:1;border-color:#e1effe;border-color:rgba(225,239,254,var(--border-opacity))}.group:hover .sm\:group-hover\:border-blue-200{--border-opacity:1;border-color:#c3ddfd;border-color:rgba(195,221,253,var(--border-opacity))}.group:hover .sm\:group-hover\:border-blue-300{--border-opacity:1;border-color:#a4cafe;border-color:rgba(164,202,254,var(--border-opacity))}.group:hover .sm\:group-hover\:border-blue-400{--border-opacity:1;border-color:#76a9fa;border-color:rgba(118,169,250,var(--border-opacity))}.group:hover .sm\:group-hover\:border-blue-500{--border-opacity:1;border-color:#3f83f8;border-color:rgba(63,131,248,var(--border-opacity))}.group:hover .sm\:group-hover\:border-blue-600{--border-opacity:1;border-color:#1c64f2;border-color:rgba(28,100,242,var(--border-opacity))}.group:hover .sm\:group-hover\:border-blue-700{--border-opacity:1;border-color:#1a56db;border-color:rgba(26,86,219,var(--border-opacity))}.group:hover .sm\:group-hover\:border-blue-800{--border-opacity:1;border-color:#1e429f;border-color:rgba(30,66,159,var(--border-opacity))}.group:hover .sm\:group-hover\:border-blue-900{--border-opacity:1;border-color:#233876;border-color:rgba(35,56,118,var(--border-opacity))}.group:hover .sm\:group-hover\:border-indigo-50{--border-opacity:1;border-color:#f0f5ff;border-color:rgba(240,245,255,var(--border-opacity))}.group:hover .sm\:group-hover\:border-indigo-100{--border-opacity:1;border-color:#e5edff;border-color:rgba(229,237,255,var(--border-opacity))}.group:hover .sm\:group-hover\:border-indigo-200{--border-opacity:1;border-color:#cddbfe;border-color:rgba(205,219,254,var(--border-opacity))}.group:hover .sm\:group-hover\:border-indigo-300{--border-opacity:1;border-color:#b4c6fc;border-color:rgba(180,198,252,var(--border-opacity))}.group:hover .sm\:group-hover\:border-indigo-400{--border-opacity:1;border-color:#8da2fb;border-color:rgba(141,162,251,var(--border-opacity))}.group:hover .sm\:group-hover\:border-indigo-500{--border-opacity:1;border-color:#6875f5;border-color:rgba(104,117,245,var(--border-opacity))}.group:hover .sm\:group-hover\:border-indigo-600{--border-opacity:1;border-color:#5850ec;border-color:rgba(88,80,236,var(--border-opacity))}.group:hover .sm\:group-hover\:border-indigo-700{--border-opacity:1;border-color:#5145cd;border-color:rgba(81,69,205,var(--border-opacity))}.group:hover .sm\:group-hover\:border-indigo-800{--border-opacity:1;border-color:#42389d;border-color:rgba(66,56,157,var(--border-opacity))}.group:hover .sm\:group-hover\:border-indigo-900{--border-opacity:1;border-color:#362f78;border-color:rgba(54,47,120,var(--border-opacity))}.group:hover .sm\:group-hover\:border-purple-50{--border-opacity:1;border-color:#f6f5ff;border-color:rgba(246,245,255,var(--border-opacity))}.group:hover .sm\:group-hover\:border-purple-100{--border-opacity:1;border-color:#edebfe;border-color:rgba(237,235,254,var(--border-opacity))}.group:hover .sm\:group-hover\:border-purple-200{--border-opacity:1;border-color:#dcd7fe;border-color:rgba(220,215,254,var(--border-opacity))}.group:hover .sm\:group-hover\:border-purple-300{--border-opacity:1;border-color:#cabffd;border-color:rgba(202,191,253,var(--border-opacity))}.group:hover .sm\:group-hover\:border-purple-400{--border-opacity:1;border-color:#ac94fa;border-color:rgba(172,148,250,var(--border-opacity))}.group:hover .sm\:group-hover\:border-purple-500{--border-opacity:1;border-color:#9061f9;border-color:rgba(144,97,249,var(--border-opacity))}.group:hover .sm\:group-hover\:border-purple-600{--border-opacity:1;border-color:#7e3af2;border-color:rgba(126,58,242,var(--border-opacity))}.group:hover .sm\:group-hover\:border-purple-700{--border-opacity:1;border-color:#6c2bd9;border-color:rgba(108,43,217,var(--border-opacity))}.group:hover .sm\:group-hover\:border-purple-800{--border-opacity:1;border-color:#5521b5;border-color:rgba(85,33,181,var(--border-opacity))}.group:hover .sm\:group-hover\:border-purple-900{--border-opacity:1;border-color:#4a1d96;border-color:rgba(74,29,150,var(--border-opacity))}.group:hover .sm\:group-hover\:border-pink-50{--border-opacity:1;border-color:#fdf2f8;border-color:rgba(253,242,248,var(--border-opacity))}.group:hover .sm\:group-hover\:border-pink-100{--border-opacity:1;border-color:#fce8f3;border-color:rgba(252,232,243,var(--border-opacity))}.group:hover .sm\:group-hover\:border-pink-200{--border-opacity:1;border-color:#fad1e8;border-color:rgba(250,209,232,var(--border-opacity))}.group:hover .sm\:group-hover\:border-pink-300{--border-opacity:1;border-color:#f8b4d9;border-color:rgba(248,180,217,var(--border-opacity))}.group:hover .sm\:group-hover\:border-pink-400{--border-opacity:1;border-color:#f17eb8;border-color:rgba(241,126,184,var(--border-opacity))}.group:hover .sm\:group-hover\:border-pink-500{--border-opacity:1;border-color:#e74694;border-color:rgba(231,70,148,var(--border-opacity))}.group:hover .sm\:group-hover\:border-pink-600{--border-opacity:1;border-color:#d61f69;border-color:rgba(214,31,105,var(--border-opacity))}.group:hover .sm\:group-hover\:border-pink-700{--border-opacity:1;border-color:#bf125d;border-color:rgba(191,18,93,var(--border-opacity))}.group:hover .sm\:group-hover\:border-pink-800{--border-opacity:1;border-color:#99154b;border-color:rgba(153,21,75,var(--border-opacity))}.group:hover .sm\:group-hover\:border-pink-900{--border-opacity:1;border-color:#751a3d;border-color:rgba(117,26,61,var(--border-opacity))}.group:focus .sm\:group-focus\:border-transparent{border-color:transparent}.group:focus .sm\:group-focus\:border-white{--border-opacity:1;border-color:#fff;border-color:rgba(255,255,255,var(--border-opacity))}.group:focus .sm\:group-focus\:border-black{--border-opacity:1;border-color:#000;border-color:rgba(0,0,0,var(--border-opacity))}.group:focus .sm\:group-focus\:border-gray-50{--border-opacity:1;border-color:#f9fafb;border-color:rgba(249,250,251,var(--border-opacity))}.group:focus .sm\:group-focus\:border-gray-100{--border-opacity:1;border-color:#f4f5f7;border-color:rgba(244,245,247,var(--border-opacity))}.group:focus .sm\:group-focus\:border-gray-200{--border-opacity:1;border-color:#e5e7eb;border-color:rgba(229,231,235,var(--border-opacity))}.group:focus .sm\:group-focus\:border-gray-300{--border-opacity:1;border-color:#d2d6dc;border-color:rgba(210,214,220,var(--border-opacity))}.group:focus .sm\:group-focus\:border-gray-400{--border-opacity:1;border-color:#9fa6b2;border-color:rgba(159,166,178,var(--border-opacity))}.group:focus .sm\:group-focus\:border-gray-500{--border-opacity:1;border-color:#6b7280;border-color:rgba(107,114,128,var(--border-opacity))}.group:focus .sm\:group-focus\:border-gray-600{--border-opacity:1;border-color:#4b5563;border-color:rgba(75,85,99,var(--border-opacity))}.group:focus .sm\:group-focus\:border-gray-700{--border-opacity:1;border-color:#374151;border-color:rgba(55,65,81,var(--border-opacity))}.group:focus .sm\:group-focus\:border-gray-800{--border-opacity:1;border-color:#252f3f;border-color:rgba(37,47,63,var(--border-opacity))}.group:focus .sm\:group-focus\:border-gray-900{--border-opacity:1;border-color:#161e2e;border-color:rgba(22,30,46,var(--border-opacity))}.group:focus .sm\:group-focus\:border-cool-gray-50{--border-opacity:1;border-color:#f8fafc;border-color:rgba(248,250,252,var(--border-opacity))}.group:focus .sm\:group-focus\:border-cool-gray-100{--border-opacity:1;border-color:#f1f5f9;border-color:rgba(241,245,249,var(--border-opacity))}.group:focus .sm\:group-focus\:border-cool-gray-200{--border-opacity:1;border-color:#e2e8f0;border-color:rgba(226,232,240,var(--border-opacity))}.group:focus .sm\:group-focus\:border-cool-gray-300{--border-opacity:1;border-color:#cfd8e3;border-color:rgba(207,216,227,var(--border-opacity))}.group:focus .sm\:group-focus\:border-cool-gray-400{--border-opacity:1;border-color:#97a6ba;border-color:rgba(151,166,186,var(--border-opacity))}.group:focus .sm\:group-focus\:border-cool-gray-500{--border-opacity:1;border-color:#64748b;border-color:rgba(100,116,139,var(--border-opacity))}.group:focus .sm\:group-focus\:border-cool-gray-600{--border-opacity:1;border-color:#475569;border-color:rgba(71,85,105,var(--border-opacity))}.group:focus .sm\:group-focus\:border-cool-gray-700{--border-opacity:1;border-color:#364152;border-color:rgba(54,65,82,var(--border-opacity))}.group:focus .sm\:group-focus\:border-cool-gray-800{--border-opacity:1;border-color:#27303f;border-color:rgba(39,48,63,var(--border-opacity))}.group:focus .sm\:group-focus\:border-cool-gray-900{--border-opacity:1;border-color:#1a202e;border-color:rgba(26,32,46,var(--border-opacity))}.group:focus .sm\:group-focus\:border-red-50{--border-opacity:1;border-color:#fdf2f2;border-color:rgba(253,242,242,var(--border-opacity))}.group:focus .sm\:group-focus\:border-red-100{--border-opacity:1;border-color:#fde8e8;border-color:rgba(253,232,232,var(--border-opacity))}.group:focus .sm\:group-focus\:border-red-200{--border-opacity:1;border-color:#fbd5d5;border-color:rgba(251,213,213,var(--border-opacity))}.group:focus .sm\:group-focus\:border-red-300{--border-opacity:1;border-color:#f8b4b4;border-color:rgba(248,180,180,var(--border-opacity))}.group:focus .sm\:group-focus\:border-red-400{--border-opacity:1;border-color:#f98080;border-color:rgba(249,128,128,var(--border-opacity))}.group:focus .sm\:group-focus\:border-red-500{--border-opacity:1;border-color:#f05252;border-color:rgba(240,82,82,var(--border-opacity))}.group:focus .sm\:group-focus\:border-red-600{--border-opacity:1;border-color:#e02424;border-color:rgba(224,36,36,var(--border-opacity))}.group:focus .sm\:group-focus\:border-red-700{--border-opacity:1;border-color:#c81e1e;border-color:rgba(200,30,30,var(--border-opacity))}.group:focus .sm\:group-focus\:border-red-800{--border-opacity:1;border-color:#9b1c1c;border-color:rgba(155,28,28,var(--border-opacity))}.group:focus .sm\:group-focus\:border-red-900{--border-opacity:1;border-color:#771d1d;border-color:rgba(119,29,29,var(--border-opacity))}.group:focus .sm\:group-focus\:border-orange-50{--border-opacity:1;border-color:#fff8f1;border-color:rgba(255,248,241,var(--border-opacity))}.group:focus .sm\:group-focus\:border-orange-100{--border-opacity:1;border-color:#feecdc;border-color:rgba(254,236,220,var(--border-opacity))}.group:focus .sm\:group-focus\:border-orange-200{--border-opacity:1;border-color:#fcd9bd;border-color:rgba(252,217,189,var(--border-opacity))}.group:focus .sm\:group-focus\:border-orange-300{--border-opacity:1;border-color:#fdba8c;border-color:rgba(253,186,140,var(--border-opacity))}.group:focus .sm\:group-focus\:border-orange-400{--border-opacity:1;border-color:#ff8a4c;border-color:rgba(255,138,76,var(--border-opacity))}.group:focus .sm\:group-focus\:border-orange-500{--border-opacity:1;border-color:#ff5a1f;border-color:rgba(255,90,31,var(--border-opacity))}.group:focus .sm\:group-focus\:border-orange-600{--border-opacity:1;border-color:#d03801;border-color:rgba(208,56,1,var(--border-opacity))}.group:focus .sm\:group-focus\:border-orange-700{--border-opacity:1;border-color:#b43403;border-color:rgba(180,52,3,var(--border-opacity))}.group:focus .sm\:group-focus\:border-orange-800{--border-opacity:1;border-color:#8a2c0d;border-color:rgba(138,44,13,var(--border-opacity))}.group:focus .sm\:group-focus\:border-orange-900{--border-opacity:1;border-color:#73230d;border-color:rgba(115,35,13,var(--border-opacity))}.group:focus .sm\:group-focus\:border-yellow-50{--border-opacity:1;border-color:#fdfdea;border-color:rgba(253,253,234,var(--border-opacity))}.group:focus .sm\:group-focus\:border-yellow-100{--border-opacity:1;border-color:#fdf6b2;border-color:rgba(253,246,178,var(--border-opacity))}.group:focus .sm\:group-focus\:border-yellow-200{--border-opacity:1;border-color:#fce96a;border-color:rgba(252,233,106,var(--border-opacity))}.group:focus .sm\:group-focus\:border-yellow-300{--border-opacity:1;border-color:#faca15;border-color:rgba(250,202,21,var(--border-opacity))}.group:focus .sm\:group-focus\:border-yellow-400{--border-opacity:1;border-color:#e3a008;border-color:rgba(227,160,8,var(--border-opacity))}.group:focus .sm\:group-focus\:border-yellow-500{--border-opacity:1;border-color:#c27803;border-color:rgba(194,120,3,var(--border-opacity))}.group:focus .sm\:group-focus\:border-yellow-600{--border-opacity:1;border-color:#9f580a;border-color:rgba(159,88,10,var(--border-opacity))}.group:focus .sm\:group-focus\:border-yellow-700{--border-opacity:1;border-color:#8e4b10;border-color:rgba(142,75,16,var(--border-opacity))}.group:focus .sm\:group-focus\:border-yellow-800{--border-opacity:1;border-color:#723b13;border-color:rgba(114,59,19,var(--border-opacity))}.group:focus .sm\:group-focus\:border-yellow-900{--border-opacity:1;border-color:#633112;border-color:rgba(99,49,18,var(--border-opacity))}.group:focus .sm\:group-focus\:border-green-50{--border-opacity:1;border-color:#f3faf7;border-color:rgba(243,250,247,var(--border-opacity))}.group:focus .sm\:group-focus\:border-green-100{--border-opacity:1;border-color:#def7ec;border-color:rgba(222,247,236,var(--border-opacity))}.group:focus .sm\:group-focus\:border-green-200{--border-opacity:1;border-color:#bcf0da;border-color:rgba(188,240,218,var(--border-opacity))}.group:focus .sm\:group-focus\:border-green-300{--border-opacity:1;border-color:#84e1bc;border-color:rgba(132,225,188,var(--border-opacity))}.group:focus .sm\:group-focus\:border-green-400{--border-opacity:1;border-color:#31c48d;border-color:rgba(49,196,141,var(--border-opacity))}.group:focus .sm\:group-focus\:border-green-500{--border-opacity:1;border-color:#0e9f6e;border-color:rgba(14,159,110,var(--border-opacity))}.group:focus .sm\:group-focus\:border-green-600{--border-opacity:1;border-color:#057a55;border-color:rgba(5,122,85,var(--border-opacity))}.group:focus .sm\:group-focus\:border-green-700{--border-opacity:1;border-color:#046c4e;border-color:rgba(4,108,78,var(--border-opacity))}.group:focus .sm\:group-focus\:border-green-800{--border-opacity:1;border-color:#03543f;border-color:rgba(3,84,63,var(--border-opacity))}.group:focus .sm\:group-focus\:border-green-900{--border-opacity:1;border-color:#014737;border-color:rgba(1,71,55,var(--border-opacity))}.group:focus .sm\:group-focus\:border-teal-50{--border-opacity:1;border-color:#edfafa;border-color:rgba(237,250,250,var(--border-opacity))}.group:focus .sm\:group-focus\:border-teal-100{--border-opacity:1;border-color:#d5f5f6;border-color:rgba(213,245,246,var(--border-opacity))}.group:focus .sm\:group-focus\:border-teal-200{--border-opacity:1;border-color:#afecef;border-color:rgba(175,236,239,var(--border-opacity))}.group:focus .sm\:group-focus\:border-teal-300{--border-opacity:1;border-color:#7edce2;border-color:rgba(126,220,226,var(--border-opacity))}.group:focus .sm\:group-focus\:border-teal-400{--border-opacity:1;border-color:#16bdca;border-color:rgba(22,189,202,var(--border-opacity))}.group:focus .sm\:group-focus\:border-teal-500{--border-opacity:1;border-color:#0694a2;border-color:rgba(6,148,162,var(--border-opacity))}.group:focus .sm\:group-focus\:border-teal-600{--border-opacity:1;border-color:#047481;border-color:rgba(4,116,129,var(--border-opacity))}.group:focus .sm\:group-focus\:border-teal-700{--border-opacity:1;border-color:#036672;border-color:rgba(3,102,114,var(--border-opacity))}.group:focus .sm\:group-focus\:border-teal-800{--border-opacity:1;border-color:#05505c;border-color:rgba(5,80,92,var(--border-opacity))}.group:focus .sm\:group-focus\:border-teal-900{--border-opacity:1;border-color:#014451;border-color:rgba(1,68,81,var(--border-opacity))}.group:focus .sm\:group-focus\:border-blue-50{--border-opacity:1;border-color:#ebf5ff;border-color:rgba(235,245,255,var(--border-opacity))}.group:focus .sm\:group-focus\:border-blue-100{--border-opacity:1;border-color:#e1effe;border-color:rgba(225,239,254,var(--border-opacity))}.group:focus .sm\:group-focus\:border-blue-200{--border-opacity:1;border-color:#c3ddfd;border-color:rgba(195,221,253,var(--border-opacity))}.group:focus .sm\:group-focus\:border-blue-300{--border-opacity:1;border-color:#a4cafe;border-color:rgba(164,202,254,var(--border-opacity))}.group:focus .sm\:group-focus\:border-blue-400{--border-opacity:1;border-color:#76a9fa;border-color:rgba(118,169,250,var(--border-opacity))}.group:focus .sm\:group-focus\:border-blue-500{--border-opacity:1;border-color:#3f83f8;border-color:rgba(63,131,248,var(--border-opacity))}.group:focus .sm\:group-focus\:border-blue-600{--border-opacity:1;border-color:#1c64f2;border-color:rgba(28,100,242,var(--border-opacity))}.group:focus .sm\:group-focus\:border-blue-700{--border-opacity:1;border-color:#1a56db;border-color:rgba(26,86,219,var(--border-opacity))}.group:focus .sm\:group-focus\:border-blue-800{--border-opacity:1;border-color:#1e429f;border-color:rgba(30,66,159,var(--border-opacity))}.group:focus .sm\:group-focus\:border-blue-900{--border-opacity:1;border-color:#233876;border-color:rgba(35,56,118,var(--border-opacity))}.group:focus .sm\:group-focus\:border-indigo-50{--border-opacity:1;border-color:#f0f5ff;border-color:rgba(240,245,255,var(--border-opacity))}.group:focus .sm\:group-focus\:border-indigo-100{--border-opacity:1;border-color:#e5edff;border-color:rgba(229,237,255,var(--border-opacity))}.group:focus .sm\:group-focus\:border-indigo-200{--border-opacity:1;border-color:#cddbfe;border-color:rgba(205,219,254,var(--border-opacity))}.group:focus .sm\:group-focus\:border-indigo-300{--border-opacity:1;border-color:#b4c6fc;border-color:rgba(180,198,252,var(--border-opacity))}.group:focus .sm\:group-focus\:border-indigo-400{--border-opacity:1;border-color:#8da2fb;border-color:rgba(141,162,251,var(--border-opacity))}.group:focus .sm\:group-focus\:border-indigo-500{--border-opacity:1;border-color:#6875f5;border-color:rgba(104,117,245,var(--border-opacity))}.group:focus .sm\:group-focus\:border-indigo-600{--border-opacity:1;border-color:#5850ec;border-color:rgba(88,80,236,var(--border-opacity))}.group:focus .sm\:group-focus\:border-indigo-700{--border-opacity:1;border-color:#5145cd;border-color:rgba(81,69,205,var(--border-opacity))}.group:focus .sm\:group-focus\:border-indigo-800{--border-opacity:1;border-color:#42389d;border-color:rgba(66,56,157,var(--border-opacity))}.group:focus .sm\:group-focus\:border-indigo-900{--border-opacity:1;border-color:#362f78;border-color:rgba(54,47,120,var(--border-opacity))}.group:focus .sm\:group-focus\:border-purple-50{--border-opacity:1;border-color:#f6f5ff;border-color:rgba(246,245,255,var(--border-opacity))}.group:focus .sm\:group-focus\:border-purple-100{--border-opacity:1;border-color:#edebfe;border-color:rgba(237,235,254,var(--border-opacity))}.group:focus .sm\:group-focus\:border-purple-200{--border-opacity:1;border-color:#dcd7fe;border-color:rgba(220,215,254,var(--border-opacity))}.group:focus .sm\:group-focus\:border-purple-300{--border-opacity:1;border-color:#cabffd;border-color:rgba(202,191,253,var(--border-opacity))}.group:focus .sm\:group-focus\:border-purple-400{--border-opacity:1;border-color:#ac94fa;border-color:rgba(172,148,250,var(--border-opacity))}.group:focus .sm\:group-focus\:border-purple-500{--border-opacity:1;border-color:#9061f9;border-color:rgba(144,97,249,var(--border-opacity))}.group:focus .sm\:group-focus\:border-purple-600{--border-opacity:1;border-color:#7e3af2;border-color:rgba(126,58,242,var(--border-opacity))}.group:focus .sm\:group-focus\:border-purple-700{--border-opacity:1;border-color:#6c2bd9;border-color:rgba(108,43,217,var(--border-opacity))}.group:focus .sm\:group-focus\:border-purple-800{--border-opacity:1;border-color:#5521b5;border-color:rgba(85,33,181,var(--border-opacity))}.group:focus .sm\:group-focus\:border-purple-900{--border-opacity:1;border-color:#4a1d96;border-color:rgba(74,29,150,var(--border-opacity))}.group:focus .sm\:group-focus\:border-pink-50{--border-opacity:1;border-color:#fdf2f8;border-color:rgba(253,242,248,var(--border-opacity))}.group:focus .sm\:group-focus\:border-pink-100{--border-opacity:1;border-color:#fce8f3;border-color:rgba(252,232,243,var(--border-opacity))}.group:focus .sm\:group-focus\:border-pink-200{--border-opacity:1;border-color:#fad1e8;border-color:rgba(250,209,232,var(--border-opacity))}.group:focus .sm\:group-focus\:border-pink-300{--border-opacity:1;border-color:#f8b4d9;border-color:rgba(248,180,217,var(--border-opacity))}.group:focus .sm\:group-focus\:border-pink-400{--border-opacity:1;border-color:#f17eb8;border-color:rgba(241,126,184,var(--border-opacity))}.group:focus .sm\:group-focus\:border-pink-500{--border-opacity:1;border-color:#e74694;border-color:rgba(231,70,148,var(--border-opacity))}.group:focus .sm\:group-focus\:border-pink-600{--border-opacity:1;border-color:#d61f69;border-color:rgba(214,31,105,var(--border-opacity))}.group:focus .sm\:group-focus\:border-pink-700{--border-opacity:1;border-color:#bf125d;border-color:rgba(191,18,93,var(--border-opacity))}.group:focus .sm\:group-focus\:border-pink-800{--border-opacity:1;border-color:#99154b;border-color:rgba(153,21,75,var(--border-opacity))}.group:focus .sm\:group-focus\:border-pink-900{--border-opacity:1;border-color:#751a3d;border-color:rgba(117,26,61,var(--border-opacity))}.sm\:hover\:border-transparent:hover{border-color:transparent}.sm\:hover\:border-white:hover{--border-opacity:1;border-color:#fff;border-color:rgba(255,255,255,var(--border-opacity))}.sm\:hover\:border-black:hover{--border-opacity:1;border-color:#000;border-color:rgba(0,0,0,var(--border-opacity))}.sm\:hover\:border-gray-50:hover{--border-opacity:1;border-color:#f9fafb;border-color:rgba(249,250,251,var(--border-opacity))}.sm\:hover\:border-gray-100:hover{--border-opacity:1;border-color:#f4f5f7;border-color:rgba(244,245,247,var(--border-opacity))}.sm\:hover\:border-gray-200:hover{--border-opacity:1;border-color:#e5e7eb;border-color:rgba(229,231,235,var(--border-opacity))}.sm\:hover\:border-gray-300:hover{--border-opacity:1;border-color:#d2d6dc;border-color:rgba(210,214,220,var(--border-opacity))}.sm\:hover\:border-gray-400:hover{--border-opacity:1;border-color:#9fa6b2;border-color:rgba(159,166,178,var(--border-opacity))}.sm\:hover\:border-gray-500:hover{--border-opacity:1;border-color:#6b7280;border-color:rgba(107,114,128,var(--border-opacity))}.sm\:hover\:border-gray-600:hover{--border-opacity:1;border-color:#4b5563;border-color:rgba(75,85,99,var(--border-opacity))}.sm\:hover\:border-gray-700:hover{--border-opacity:1;border-color:#374151;border-color:rgba(55,65,81,var(--border-opacity))}.sm\:hover\:border-gray-800:hover{--border-opacity:1;border-color:#252f3f;border-color:rgba(37,47,63,var(--border-opacity))}.sm\:hover\:border-gray-900:hover{--border-opacity:1;border-color:#161e2e;border-color:rgba(22,30,46,var(--border-opacity))}.sm\:hover\:border-cool-gray-50:hover{--border-opacity:1;border-color:#f8fafc;border-color:rgba(248,250,252,var(--border-opacity))}.sm\:hover\:border-cool-gray-100:hover{--border-opacity:1;border-color:#f1f5f9;border-color:rgba(241,245,249,var(--border-opacity))}.sm\:hover\:border-cool-gray-200:hover{--border-opacity:1;border-color:#e2e8f0;border-color:rgba(226,232,240,var(--border-opacity))}.sm\:hover\:border-cool-gray-300:hover{--border-opacity:1;border-color:#cfd8e3;border-color:rgba(207,216,227,var(--border-opacity))}.sm\:hover\:border-cool-gray-400:hover{--border-opacity:1;border-color:#97a6ba;border-color:rgba(151,166,186,var(--border-opacity))}.sm\:hover\:border-cool-gray-500:hover{--border-opacity:1;border-color:#64748b;border-color:rgba(100,116,139,var(--border-opacity))}.sm\:hover\:border-cool-gray-600:hover{--border-opacity:1;border-color:#475569;border-color:rgba(71,85,105,var(--border-opacity))}.sm\:hover\:border-cool-gray-700:hover{--border-opacity:1;border-color:#364152;border-color:rgba(54,65,82,var(--border-opacity))}.sm\:hover\:border-cool-gray-800:hover{--border-opacity:1;border-color:#27303f;border-color:rgba(39,48,63,var(--border-opacity))}.sm\:hover\:border-cool-gray-900:hover{--border-opacity:1;border-color:#1a202e;border-color:rgba(26,32,46,var(--border-opacity))}.sm\:hover\:border-red-50:hover{--border-opacity:1;border-color:#fdf2f2;border-color:rgba(253,242,242,var(--border-opacity))}.sm\:hover\:border-red-100:hover{--border-opacity:1;border-color:#fde8e8;border-color:rgba(253,232,232,var(--border-opacity))}.sm\:hover\:border-red-200:hover{--border-opacity:1;border-color:#fbd5d5;border-color:rgba(251,213,213,var(--border-opacity))}.sm\:hover\:border-red-300:hover{--border-opacity:1;border-color:#f8b4b4;border-color:rgba(248,180,180,var(--border-opacity))}.sm\:hover\:border-red-400:hover{--border-opacity:1;border-color:#f98080;border-color:rgba(249,128,128,var(--border-opacity))}.sm\:hover\:border-red-500:hover{--border-opacity:1;border-color:#f05252;border-color:rgba(240,82,82,var(--border-opacity))}.sm\:hover\:border-red-600:hover{--border-opacity:1;border-color:#e02424;border-color:rgba(224,36,36,var(--border-opacity))}.sm\:hover\:border-red-700:hover{--border-opacity:1;border-color:#c81e1e;border-color:rgba(200,30,30,var(--border-opacity))}.sm\:hover\:border-red-800:hover{--border-opacity:1;border-color:#9b1c1c;border-color:rgba(155,28,28,var(--border-opacity))}.sm\:hover\:border-red-900:hover{--border-opacity:1;border-color:#771d1d;border-color:rgba(119,29,29,var(--border-opacity))}.sm\:hover\:border-orange-50:hover{--border-opacity:1;border-color:#fff8f1;border-color:rgba(255,248,241,var(--border-opacity))}.sm\:hover\:border-orange-100:hover{--border-opacity:1;border-color:#feecdc;border-color:rgba(254,236,220,var(--border-opacity))}.sm\:hover\:border-orange-200:hover{--border-opacity:1;border-color:#fcd9bd;border-color:rgba(252,217,189,var(--border-opacity))}.sm\:hover\:border-orange-300:hover{--border-opacity:1;border-color:#fdba8c;border-color:rgba(253,186,140,var(--border-opacity))}.sm\:hover\:border-orange-400:hover{--border-opacity:1;border-color:#ff8a4c;border-color:rgba(255,138,76,var(--border-opacity))}.sm\:hover\:border-orange-500:hover{--border-opacity:1;border-color:#ff5a1f;border-color:rgba(255,90,31,var(--border-opacity))}.sm\:hover\:border-orange-600:hover{--border-opacity:1;border-color:#d03801;border-color:rgba(208,56,1,var(--border-opacity))}.sm\:hover\:border-orange-700:hover{--border-opacity:1;border-color:#b43403;border-color:rgba(180,52,3,var(--border-opacity))}.sm\:hover\:border-orange-800:hover{--border-opacity:1;border-color:#8a2c0d;border-color:rgba(138,44,13,var(--border-opacity))}.sm\:hover\:border-orange-900:hover{--border-opacity:1;border-color:#73230d;border-color:rgba(115,35,13,var(--border-opacity))}.sm\:hover\:border-yellow-50:hover{--border-opacity:1;border-color:#fdfdea;border-color:rgba(253,253,234,var(--border-opacity))}.sm\:hover\:border-yellow-100:hover{--border-opacity:1;border-color:#fdf6b2;border-color:rgba(253,246,178,var(--border-opacity))}.sm\:hover\:border-yellow-200:hover{--border-opacity:1;border-color:#fce96a;border-color:rgba(252,233,106,var(--border-opacity))}.sm\:hover\:border-yellow-300:hover{--border-opacity:1;border-color:#faca15;border-color:rgba(250,202,21,var(--border-opacity))}.sm\:hover\:border-yellow-400:hover{--border-opacity:1;border-color:#e3a008;border-color:rgba(227,160,8,var(--border-opacity))}.sm\:hover\:border-yellow-500:hover{--border-opacity:1;border-color:#c27803;border-color:rgba(194,120,3,var(--border-opacity))}.sm\:hover\:border-yellow-600:hover{--border-opacity:1;border-color:#9f580a;border-color:rgba(159,88,10,var(--border-opacity))}.sm\:hover\:border-yellow-700:hover{--border-opacity:1;border-color:#8e4b10;border-color:rgba(142,75,16,var(--border-opacity))}.sm\:hover\:border-yellow-800:hover{--border-opacity:1;border-color:#723b13;border-color:rgba(114,59,19,var(--border-opacity))}.sm\:hover\:border-yellow-900:hover{--border-opacity:1;border-color:#633112;border-color:rgba(99,49,18,var(--border-opacity))}.sm\:hover\:border-green-50:hover{--border-opacity:1;border-color:#f3faf7;border-color:rgba(243,250,247,var(--border-opacity))}.sm\:hover\:border-green-100:hover{--border-opacity:1;border-color:#def7ec;border-color:rgba(222,247,236,var(--border-opacity))}.sm\:hover\:border-green-200:hover{--border-opacity:1;border-color:#bcf0da;border-color:rgba(188,240,218,var(--border-opacity))}.sm\:hover\:border-green-300:hover{--border-opacity:1;border-color:#84e1bc;border-color:rgba(132,225,188,var(--border-opacity))}.sm\:hover\:border-green-400:hover{--border-opacity:1;border-color:#31c48d;border-color:rgba(49,196,141,var(--border-opacity))}.sm\:hover\:border-green-500:hover{--border-opacity:1;border-color:#0e9f6e;border-color:rgba(14,159,110,var(--border-opacity))}.sm\:hover\:border-green-600:hover{--border-opacity:1;border-color:#057a55;border-color:rgba(5,122,85,var(--border-opacity))}.sm\:hover\:border-green-700:hover{--border-opacity:1;border-color:#046c4e;border-color:rgba(4,108,78,var(--border-opacity))}.sm\:hover\:border-green-800:hover{--border-opacity:1;border-color:#03543f;border-color:rgba(3,84,63,var(--border-opacity))}.sm\:hover\:border-green-900:hover{--border-opacity:1;border-color:#014737;border-color:rgba(1,71,55,var(--border-opacity))}.sm\:hover\:border-teal-50:hover{--border-opacity:1;border-color:#edfafa;border-color:rgba(237,250,250,var(--border-opacity))}.sm\:hover\:border-teal-100:hover{--border-opacity:1;border-color:#d5f5f6;border-color:rgba(213,245,246,var(--border-opacity))}.sm\:hover\:border-teal-200:hover{--border-opacity:1;border-color:#afecef;border-color:rgba(175,236,239,var(--border-opacity))}.sm\:hover\:border-teal-300:hover{--border-opacity:1;border-color:#7edce2;border-color:rgba(126,220,226,var(--border-opacity))}.sm\:hover\:border-teal-400:hover{--border-opacity:1;border-color:#16bdca;border-color:rgba(22,189,202,var(--border-opacity))}.sm\:hover\:border-teal-500:hover{--border-opacity:1;border-color:#0694a2;border-color:rgba(6,148,162,var(--border-opacity))}.sm\:hover\:border-teal-600:hover{--border-opacity:1;border-color:#047481;border-color:rgba(4,116,129,var(--border-opacity))}.sm\:hover\:border-teal-700:hover{--border-opacity:1;border-color:#036672;border-color:rgba(3,102,114,var(--border-opacity))}.sm\:hover\:border-teal-800:hover{--border-opacity:1;border-color:#05505c;border-color:rgba(5,80,92,var(--border-opacity))}.sm\:hover\:border-teal-900:hover{--border-opacity:1;border-color:#014451;border-color:rgba(1,68,81,var(--border-opacity))}.sm\:hover\:border-blue-50:hover{--border-opacity:1;border-color:#ebf5ff;border-color:rgba(235,245,255,var(--border-opacity))}.sm\:hover\:border-blue-100:hover{--border-opacity:1;border-color:#e1effe;border-color:rgba(225,239,254,var(--border-opacity))}.sm\:hover\:border-blue-200:hover{--border-opacity:1;border-color:#c3ddfd;border-color:rgba(195,221,253,var(--border-opacity))}.sm\:hover\:border-blue-300:hover{--border-opacity:1;border-color:#a4cafe;border-color:rgba(164,202,254,var(--border-opacity))}.sm\:hover\:border-blue-400:hover{--border-opacity:1;border-color:#76a9fa;border-color:rgba(118,169,250,var(--border-opacity))}.sm\:hover\:border-blue-500:hover{--border-opacity:1;border-color:#3f83f8;border-color:rgba(63,131,248,var(--border-opacity))}.sm\:hover\:border-blue-600:hover{--border-opacity:1;border-color:#1c64f2;border-color:rgba(28,100,242,var(--border-opacity))}.sm\:hover\:border-blue-700:hover{--border-opacity:1;border-color:#1a56db;border-color:rgba(26,86,219,var(--border-opacity))}.sm\:hover\:border-blue-800:hover{--border-opacity:1;border-color:#1e429f;border-color:rgba(30,66,159,var(--border-opacity))}.sm\:hover\:border-blue-900:hover{--border-opacity:1;border-color:#233876;border-color:rgba(35,56,118,var(--border-opacity))}.sm\:hover\:border-indigo-50:hover{--border-opacity:1;border-color:#f0f5ff;border-color:rgba(240,245,255,var(--border-opacity))}.sm\:hover\:border-indigo-100:hover{--border-opacity:1;border-color:#e5edff;border-color:rgba(229,237,255,var(--border-opacity))}.sm\:hover\:border-indigo-200:hover{--border-opacity:1;border-color:#cddbfe;border-color:rgba(205,219,254,var(--border-opacity))}.sm\:hover\:border-indigo-300:hover{--border-opacity:1;border-color:#b4c6fc;border-color:rgba(180,198,252,var(--border-opacity))}.sm\:hover\:border-indigo-400:hover{--border-opacity:1;border-color:#8da2fb;border-color:rgba(141,162,251,var(--border-opacity))}.sm\:hover\:border-indigo-500:hover{--border-opacity:1;border-color:#6875f5;border-color:rgba(104,117,245,var(--border-opacity))}.sm\:hover\:border-indigo-600:hover{--border-opacity:1;border-color:#5850ec;border-color:rgba(88,80,236,var(--border-opacity))}.sm\:hover\:border-indigo-700:hover{--border-opacity:1;border-color:#5145cd;border-color:rgba(81,69,205,var(--border-opacity))}.sm\:hover\:border-indigo-800:hover{--border-opacity:1;border-color:#42389d;border-color:rgba(66,56,157,var(--border-opacity))}.sm\:hover\:border-indigo-900:hover{--border-opacity:1;border-color:#362f78;border-color:rgba(54,47,120,var(--border-opacity))}.sm\:hover\:border-purple-50:hover{--border-opacity:1;border-color:#f6f5ff;border-color:rgba(246,245,255,var(--border-opacity))}.sm\:hover\:border-purple-100:hover{--border-opacity:1;border-color:#edebfe;border-color:rgba(237,235,254,var(--border-opacity))}.sm\:hover\:border-purple-200:hover{--border-opacity:1;border-color:#dcd7fe;border-color:rgba(220,215,254,var(--border-opacity))}.sm\:hover\:border-purple-300:hover{--border-opacity:1;border-color:#cabffd;border-color:rgba(202,191,253,var(--border-opacity))}.sm\:hover\:border-purple-400:hover{--border-opacity:1;border-color:#ac94fa;border-color:rgba(172,148,250,var(--border-opacity))}.sm\:hover\:border-purple-500:hover{--border-opacity:1;border-color:#9061f9;border-color:rgba(144,97,249,var(--border-opacity))}.sm\:hover\:border-purple-600:hover{--border-opacity:1;border-color:#7e3af2;border-color:rgba(126,58,242,var(--border-opacity))}.sm\:hover\:border-purple-700:hover{--border-opacity:1;border-color:#6c2bd9;border-color:rgba(108,43,217,var(--border-opacity))}.sm\:hover\:border-purple-800:hover{--border-opacity:1;border-color:#5521b5;border-color:rgba(85,33,181,var(--border-opacity))}.sm\:hover\:border-purple-900:hover{--border-opacity:1;border-color:#4a1d96;border-color:rgba(74,29,150,var(--border-opacity))}.sm\:hover\:border-pink-50:hover{--border-opacity:1;border-color:#fdf2f8;border-color:rgba(253,242,248,var(--border-opacity))}.sm\:hover\:border-pink-100:hover{--border-opacity:1;border-color:#fce8f3;border-color:rgba(252,232,243,var(--border-opacity))}.sm\:hover\:border-pink-200:hover{--border-opacity:1;border-color:#fad1e8;border-color:rgba(250,209,232,var(--border-opacity))}.sm\:hover\:border-pink-300:hover{--border-opacity:1;border-color:#f8b4d9;border-color:rgba(248,180,217,var(--border-opacity))}.sm\:hover\:border-pink-400:hover{--border-opacity:1;border-color:#f17eb8;border-color:rgba(241,126,184,var(--border-opacity))}.sm\:hover\:border-pink-500:hover{--border-opacity:1;border-color:#e74694;border-color:rgba(231,70,148,var(--border-opacity))}.sm\:hover\:border-pink-600:hover{--border-opacity:1;border-color:#d61f69;border-color:rgba(214,31,105,var(--border-opacity))}.sm\:hover\:border-pink-700:hover{--border-opacity:1;border-color:#bf125d;border-color:rgba(191,18,93,var(--border-opacity))}.sm\:hover\:border-pink-800:hover{--border-opacity:1;border-color:#99154b;border-color:rgba(153,21,75,var(--border-opacity))}.sm\:hover\:border-pink-900:hover{--border-opacity:1;border-color:#751a3d;border-color:rgba(117,26,61,var(--border-opacity))}.sm\:focus\:border-transparent:focus{border-color:transparent}.sm\:focus\:border-white:focus{--border-opacity:1;border-color:#fff;border-color:rgba(255,255,255,var(--border-opacity))}.sm\:focus\:border-black:focus{--border-opacity:1;border-color:#000;border-color:rgba(0,0,0,var(--border-opacity))}.sm\:focus\:border-gray-50:focus{--border-opacity:1;border-color:#f9fafb;border-color:rgba(249,250,251,var(--border-opacity))}.sm\:focus\:border-gray-100:focus{--border-opacity:1;border-color:#f4f5f7;border-color:rgba(244,245,247,var(--border-opacity))}.sm\:focus\:border-gray-200:focus{--border-opacity:1;border-color:#e5e7eb;border-color:rgba(229,231,235,var(--border-opacity))}.sm\:focus\:border-gray-300:focus{--border-opacity:1;border-color:#d2d6dc;border-color:rgba(210,214,220,var(--border-opacity))}.sm\:focus\:border-gray-400:focus{--border-opacity:1;border-color:#9fa6b2;border-color:rgba(159,166,178,var(--border-opacity))}.sm\:focus\:border-gray-500:focus{--border-opacity:1;border-color:#6b7280;border-color:rgba(107,114,128,var(--border-opacity))}.sm\:focus\:border-gray-600:focus{--border-opacity:1;border-color:#4b5563;border-color:rgba(75,85,99,var(--border-opacity))}.sm\:focus\:border-gray-700:focus{--border-opacity:1;border-color:#374151;border-color:rgba(55,65,81,var(--border-opacity))}.sm\:focus\:border-gray-800:focus{--border-opacity:1;border-color:#252f3f;border-color:rgba(37,47,63,var(--border-opacity))}.sm\:focus\:border-gray-900:focus{--border-opacity:1;border-color:#161e2e;border-color:rgba(22,30,46,var(--border-opacity))}.sm\:focus\:border-cool-gray-50:focus{--border-opacity:1;border-color:#f8fafc;border-color:rgba(248,250,252,var(--border-opacity))}.sm\:focus\:border-cool-gray-100:focus{--border-opacity:1;border-color:#f1f5f9;border-color:rgba(241,245,249,var(--border-opacity))}.sm\:focus\:border-cool-gray-200:focus{--border-opacity:1;border-color:#e2e8f0;border-color:rgba(226,232,240,var(--border-opacity))}.sm\:focus\:border-cool-gray-300:focus{--border-opacity:1;border-color:#cfd8e3;border-color:rgba(207,216,227,var(--border-opacity))}.sm\:focus\:border-cool-gray-400:focus{--border-opacity:1;border-color:#97a6ba;border-color:rgba(151,166,186,var(--border-opacity))}.sm\:focus\:border-cool-gray-500:focus{--border-opacity:1;border-color:#64748b;border-color:rgba(100,116,139,var(--border-opacity))}.sm\:focus\:border-cool-gray-600:focus{--border-opacity:1;border-color:#475569;border-color:rgba(71,85,105,var(--border-opacity))}.sm\:focus\:border-cool-gray-700:focus{--border-opacity:1;border-color:#364152;border-color:rgba(54,65,82,var(--border-opacity))}.sm\:focus\:border-cool-gray-800:focus{--border-opacity:1;border-color:#27303f;border-color:rgba(39,48,63,var(--border-opacity))}.sm\:focus\:border-cool-gray-900:focus{--border-opacity:1;border-color:#1a202e;border-color:rgba(26,32,46,var(--border-opacity))}.sm\:focus\:border-red-50:focus{--border-opacity:1;border-color:#fdf2f2;border-color:rgba(253,242,242,var(--border-opacity))}.sm\:focus\:border-red-100:focus{--border-opacity:1;border-color:#fde8e8;border-color:rgba(253,232,232,var(--border-opacity))}.sm\:focus\:border-red-200:focus{--border-opacity:1;border-color:#fbd5d5;border-color:rgba(251,213,213,var(--border-opacity))}.sm\:focus\:border-red-300:focus{--border-opacity:1;border-color:#f8b4b4;border-color:rgba(248,180,180,var(--border-opacity))}.sm\:focus\:border-red-400:focus{--border-opacity:1;border-color:#f98080;border-color:rgba(249,128,128,var(--border-opacity))}.sm\:focus\:border-red-500:focus{--border-opacity:1;border-color:#f05252;border-color:rgba(240,82,82,var(--border-opacity))}.sm\:focus\:border-red-600:focus{--border-opacity:1;border-color:#e02424;border-color:rgba(224,36,36,var(--border-opacity))}.sm\:focus\:border-red-700:focus{--border-opacity:1;border-color:#c81e1e;border-color:rgba(200,30,30,var(--border-opacity))}.sm\:focus\:border-red-800:focus{--border-opacity:1;border-color:#9b1c1c;border-color:rgba(155,28,28,var(--border-opacity))}.sm\:focus\:border-red-900:focus{--border-opacity:1;border-color:#771d1d;border-color:rgba(119,29,29,var(--border-opacity))}.sm\:focus\:border-orange-50:focus{--border-opacity:1;border-color:#fff8f1;border-color:rgba(255,248,241,var(--border-opacity))}.sm\:focus\:border-orange-100:focus{--border-opacity:1;border-color:#feecdc;border-color:rgba(254,236,220,var(--border-opacity))}.sm\:focus\:border-orange-200:focus{--border-opacity:1;border-color:#fcd9bd;border-color:rgba(252,217,189,var(--border-opacity))}.sm\:focus\:border-orange-300:focus{--border-opacity:1;border-color:#fdba8c;border-color:rgba(253,186,140,var(--border-opacity))}.sm\:focus\:border-orange-400:focus{--border-opacity:1;border-color:#ff8a4c;border-color:rgba(255,138,76,var(--border-opacity))}.sm\:focus\:border-orange-500:focus{--border-opacity:1;border-color:#ff5a1f;border-color:rgba(255,90,31,var(--border-opacity))}.sm\:focus\:border-orange-600:focus{--border-opacity:1;border-color:#d03801;border-color:rgba(208,56,1,var(--border-opacity))}.sm\:focus\:border-orange-700:focus{--border-opacity:1;border-color:#b43403;border-color:rgba(180,52,3,var(--border-opacity))}.sm\:focus\:border-orange-800:focus{--border-opacity:1;border-color:#8a2c0d;border-color:rgba(138,44,13,var(--border-opacity))}.sm\:focus\:border-orange-900:focus{--border-opacity:1;border-color:#73230d;border-color:rgba(115,35,13,var(--border-opacity))}.sm\:focus\:border-yellow-50:focus{--border-opacity:1;border-color:#fdfdea;border-color:rgba(253,253,234,var(--border-opacity))}.sm\:focus\:border-yellow-100:focus{--border-opacity:1;border-color:#fdf6b2;border-color:rgba(253,246,178,var(--border-opacity))}.sm\:focus\:border-yellow-200:focus{--border-opacity:1;border-color:#fce96a;border-color:rgba(252,233,106,var(--border-opacity))}.sm\:focus\:border-yellow-300:focus{--border-opacity:1;border-color:#faca15;border-color:rgba(250,202,21,var(--border-opacity))}.sm\:focus\:border-yellow-400:focus{--border-opacity:1;border-color:#e3a008;border-color:rgba(227,160,8,var(--border-opacity))}.sm\:focus\:border-yellow-500:focus{--border-opacity:1;border-color:#c27803;border-color:rgba(194,120,3,var(--border-opacity))}.sm\:focus\:border-yellow-600:focus{--border-opacity:1;border-color:#9f580a;border-color:rgba(159,88,10,var(--border-opacity))}.sm\:focus\:border-yellow-700:focus{--border-opacity:1;border-color:#8e4b10;border-color:rgba(142,75,16,var(--border-opacity))}.sm\:focus\:border-yellow-800:focus{--border-opacity:1;border-color:#723b13;border-color:rgba(114,59,19,var(--border-opacity))}.sm\:focus\:border-yellow-900:focus{--border-opacity:1;border-color:#633112;border-color:rgba(99,49,18,var(--border-opacity))}.sm\:focus\:border-green-50:focus{--border-opacity:1;border-color:#f3faf7;border-color:rgba(243,250,247,var(--border-opacity))}.sm\:focus\:border-green-100:focus{--border-opacity:1;border-color:#def7ec;border-color:rgba(222,247,236,var(--border-opacity))}.sm\:focus\:border-green-200:focus{--border-opacity:1;border-color:#bcf0da;border-color:rgba(188,240,218,var(--border-opacity))}.sm\:focus\:border-green-300:focus{--border-opacity:1;border-color:#84e1bc;border-color:rgba(132,225,188,var(--border-opacity))}.sm\:focus\:border-green-400:focus{--border-opacity:1;border-color:#31c48d;border-color:rgba(49,196,141,var(--border-opacity))}.sm\:focus\:border-green-500:focus{--border-opacity:1;border-color:#0e9f6e;border-color:rgba(14,159,110,var(--border-opacity))}.sm\:focus\:border-green-600:focus{--border-opacity:1;border-color:#057a55;border-color:rgba(5,122,85,var(--border-opacity))}.sm\:focus\:border-green-700:focus{--border-opacity:1;border-color:#046c4e;border-color:rgba(4,108,78,var(--border-opacity))}.sm\:focus\:border-green-800:focus{--border-opacity:1;border-color:#03543f;border-color:rgba(3,84,63,var(--border-opacity))}.sm\:focus\:border-green-900:focus{--border-opacity:1;border-color:#014737;border-color:rgba(1,71,55,var(--border-opacity))}.sm\:focus\:border-teal-50:focus{--border-opacity:1;border-color:#edfafa;border-color:rgba(237,250,250,var(--border-opacity))}.sm\:focus\:border-teal-100:focus{--border-opacity:1;border-color:#d5f5f6;border-color:rgba(213,245,246,var(--border-opacity))}.sm\:focus\:border-teal-200:focus{--border-opacity:1;border-color:#afecef;border-color:rgba(175,236,239,var(--border-opacity))}.sm\:focus\:border-teal-300:focus{--border-opacity:1;border-color:#7edce2;border-color:rgba(126,220,226,var(--border-opacity))}.sm\:focus\:border-teal-400:focus{--border-opacity:1;border-color:#16bdca;border-color:rgba(22,189,202,var(--border-opacity))}.sm\:focus\:border-teal-500:focus{--border-opacity:1;border-color:#0694a2;border-color:rgba(6,148,162,var(--border-opacity))}.sm\:focus\:border-teal-600:focus{--border-opacity:1;border-color:#047481;border-color:rgba(4,116,129,var(--border-opacity))}.sm\:focus\:border-teal-700:focus{--border-opacity:1;border-color:#036672;border-color:rgba(3,102,114,var(--border-opacity))}.sm\:focus\:border-teal-800:focus{--border-opacity:1;border-color:#05505c;border-color:rgba(5,80,92,var(--border-opacity))}.sm\:focus\:border-teal-900:focus{--border-opacity:1;border-color:#014451;border-color:rgba(1,68,81,var(--border-opacity))}.sm\:focus\:border-blue-50:focus{--border-opacity:1;border-color:#ebf5ff;border-color:rgba(235,245,255,var(--border-opacity))}.sm\:focus\:border-blue-100:focus{--border-opacity:1;border-color:#e1effe;border-color:rgba(225,239,254,var(--border-opacity))}.sm\:focus\:border-blue-200:focus{--border-opacity:1;border-color:#c3ddfd;border-color:rgba(195,221,253,var(--border-opacity))}.sm\:focus\:border-blue-300:focus{--border-opacity:1;border-color:#a4cafe;border-color:rgba(164,202,254,var(--border-opacity))}.sm\:focus\:border-blue-400:focus{--border-opacity:1;border-color:#76a9fa;border-color:rgba(118,169,250,var(--border-opacity))}.sm\:focus\:border-blue-500:focus{--border-opacity:1;border-color:#3f83f8;border-color:rgba(63,131,248,var(--border-opacity))}.sm\:focus\:border-blue-600:focus{--border-opacity:1;border-color:#1c64f2;border-color:rgba(28,100,242,var(--border-opacity))}.sm\:focus\:border-blue-700:focus{--border-opacity:1;border-color:#1a56db;border-color:rgba(26,86,219,var(--border-opacity))}.sm\:focus\:border-blue-800:focus{--border-opacity:1;border-color:#1e429f;border-color:rgba(30,66,159,var(--border-opacity))}.sm\:focus\:border-blue-900:focus{--border-opacity:1;border-color:#233876;border-color:rgba(35,56,118,var(--border-opacity))}.sm\:focus\:border-indigo-50:focus{--border-opacity:1;border-color:#f0f5ff;border-color:rgba(240,245,255,var(--border-opacity))}.sm\:focus\:border-indigo-100:focus{--border-opacity:1;border-color:#e5edff;border-color:rgba(229,237,255,var(--border-opacity))}.sm\:focus\:border-indigo-200:focus{--border-opacity:1;border-color:#cddbfe;border-color:rgba(205,219,254,var(--border-opacity))}.sm\:focus\:border-indigo-300:focus{--border-opacity:1;border-color:#b4c6fc;border-color:rgba(180,198,252,var(--border-opacity))}.sm\:focus\:border-indigo-400:focus{--border-opacity:1;border-color:#8da2fb;border-color:rgba(141,162,251,var(--border-opacity))}.sm\:focus\:border-indigo-500:focus{--border-opacity:1;border-color:#6875f5;border-color:rgba(104,117,245,var(--border-opacity))}.sm\:focus\:border-indigo-600:focus{--border-opacity:1;border-color:#5850ec;border-color:rgba(88,80,236,var(--border-opacity))}.sm\:focus\:border-indigo-700:focus{--border-opacity:1;border-color:#5145cd;border-color:rgba(81,69,205,var(--border-opacity))}.sm\:focus\:border-indigo-800:focus{--border-opacity:1;border-color:#42389d;border-color:rgba(66,56,157,var(--border-opacity))}.sm\:focus\:border-indigo-900:focus{--border-opacity:1;border-color:#362f78;border-color:rgba(54,47,120,var(--border-opacity))}.sm\:focus\:border-purple-50:focus{--border-opacity:1;border-color:#f6f5ff;border-color:rgba(246,245,255,var(--border-opacity))}.sm\:focus\:border-purple-100:focus{--border-opacity:1;border-color:#edebfe;border-color:rgba(237,235,254,var(--border-opacity))}.sm\:focus\:border-purple-200:focus{--border-opacity:1;border-color:#dcd7fe;border-color:rgba(220,215,254,var(--border-opacity))}.sm\:focus\:border-purple-300:focus{--border-opacity:1;border-color:#cabffd;border-color:rgba(202,191,253,var(--border-opacity))}.sm\:focus\:border-purple-400:focus{--border-opacity:1;border-color:#ac94fa;border-color:rgba(172,148,250,var(--border-opacity))}.sm\:focus\:border-purple-500:focus{--border-opacity:1;border-color:#9061f9;border-color:rgba(144,97,249,var(--border-opacity))}.sm\:focus\:border-purple-600:focus{--border-opacity:1;border-color:#7e3af2;border-color:rgba(126,58,242,var(--border-opacity))}.sm\:focus\:border-purple-700:focus{--border-opacity:1;border-color:#6c2bd9;border-color:rgba(108,43,217,var(--border-opacity))}.sm\:focus\:border-purple-800:focus{--border-opacity:1;border-color:#5521b5;border-color:rgba(85,33,181,var(--border-opacity))}.sm\:focus\:border-purple-900:focus{--border-opacity:1;border-color:#4a1d96;border-color:rgba(74,29,150,var(--border-opacity))}.sm\:focus\:border-pink-50:focus{--border-opacity:1;border-color:#fdf2f8;border-color:rgba(253,242,248,var(--border-opacity))}.sm\:focus\:border-pink-100:focus{--border-opacity:1;border-color:#fce8f3;border-color:rgba(252,232,243,var(--border-opacity))}.sm\:focus\:border-pink-200:focus{--border-opacity:1;border-color:#fad1e8;border-color:rgba(250,209,232,var(--border-opacity))}.sm\:focus\:border-pink-300:focus{--border-opacity:1;border-color:#f8b4d9;border-color:rgba(248,180,217,var(--border-opacity))}.sm\:focus\:border-pink-400:focus{--border-opacity:1;border-color:#f17eb8;border-color:rgba(241,126,184,var(--border-opacity))}.sm\:focus\:border-pink-500:focus{--border-opacity:1;border-color:#e74694;border-color:rgba(231,70,148,var(--border-opacity))}.sm\:focus\:border-pink-600:focus{--border-opacity:1;border-color:#d61f69;border-color:rgba(214,31,105,var(--border-opacity))}.sm\:focus\:border-pink-700:focus{--border-opacity:1;border-color:#bf125d;border-color:rgba(191,18,93,var(--border-opacity))}.sm\:focus\:border-pink-800:focus{--border-opacity:1;border-color:#99154b;border-color:rgba(153,21,75,var(--border-opacity))}.sm\:focus\:border-pink-900:focus{--border-opacity:1;border-color:#751a3d;border-color:rgba(117,26,61,var(--border-opacity))}.sm\:border-opacity-0{--border-opacity:0}.sm\:border-opacity-25{--border-opacity:0.25}.sm\:border-opacity-50{--border-opacity:0.5}.sm\:border-opacity-75{--border-opacity:0.75}.sm\:border-opacity-100{--border-opacity:1}.sm\:hover\:border-opacity-0:hover{--border-opacity:0}.sm\:hover\:border-opacity-25:hover{--border-opacity:0.25}.sm\:hover\:border-opacity-50:hover{--border-opacity:0.5}.sm\:hover\:border-opacity-75:hover{--border-opacity:0.75}.sm\:hover\:border-opacity-100:hover{--border-opacity:1}.sm\:focus\:border-opacity-0:focus{--border-opacity:0}.sm\:focus\:border-opacity-25:focus{--border-opacity:0.25}.sm\:focus\:border-opacity-50:focus{--border-opacity:0.5}.sm\:focus\:border-opacity-75:focus{--border-opacity:0.75}.sm\:focus\:border-opacity-100:focus{--border-opacity:1}.sm\:rounded-none{border-radius:0}.sm\:rounded-sm{border-radius:.125rem}.sm\:rounded{border-radius:.25rem}.sm\:rounded-md{border-radius:.375rem}.sm\:rounded-lg{border-radius:.5rem}.sm\:rounded-full{border-radius:9999px}.sm\:rounded-t-none{border-top-left-radius:0;border-top-right-radius:0}.sm\:rounded-r-none{border-top-right-radius:0;border-bottom-right-radius:0}.sm\:rounded-b-none{border-bottom-right-radius:0;border-bottom-left-radius:0}.sm\:rounded-l-none{border-top-left-radius:0;border-bottom-left-radius:0}.sm\:rounded-t-sm{border-top-left-radius:.125rem;border-top-right-radius:.125rem}.sm\:rounded-r-sm{border-top-right-radius:.125rem;border-bottom-right-radius:.125rem}.sm\:rounded-b-sm{border-bottom-right-radius:.125rem;border-bottom-left-radius:.125rem}.sm\:rounded-l-sm{border-top-left-radius:.125rem;border-bottom-left-radius:.125rem}.sm\:rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.sm\:rounded-r{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.sm\:rounded-b{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.sm\:rounded-l{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.sm\:rounded-t-md{border-top-left-radius:.375rem;border-top-right-radius:.375rem}.sm\:rounded-r-md{border-top-right-radius:.375rem;border-bottom-right-radius:.375rem}.sm\:rounded-b-md{border-bottom-right-radius:.375rem;border-bottom-left-radius:.375rem}.sm\:rounded-l-md{border-top-left-radius:.375rem;border-bottom-left-radius:.375rem}.sm\:rounded-t-lg{border-top-left-radius:.5rem;border-top-right-radius:.5rem}.sm\:rounded-r-lg{border-top-right-radius:.5rem;border-bottom-right-radius:.5rem}.sm\:rounded-b-lg{border-bottom-right-radius:.5rem;border-bottom-left-radius:.5rem}.sm\:rounded-l-lg{border-top-left-radius:.5rem;border-bottom-left-radius:.5rem}.sm\:rounded-t-full{border-top-left-radius:9999px;border-top-right-radius:9999px}.sm\:rounded-r-full{border-top-right-radius:9999px;border-bottom-right-radius:9999px}.sm\:rounded-b-full{border-bottom-right-radius:9999px;border-bottom-left-radius:9999px}.sm\:rounded-l-full{border-top-left-radius:9999px;border-bottom-left-radius:9999px}.sm\:rounded-tl-none{border-top-left-radius:0}.sm\:rounded-tr-none{border-top-right-radius:0}.sm\:rounded-br-none{border-bottom-right-radius:0}.sm\:rounded-bl-none{border-bottom-left-radius:0}.sm\:rounded-tl-sm{border-top-left-radius:.125rem}.sm\:rounded-tr-sm{border-top-right-radius:.125rem}.sm\:rounded-br-sm{border-bottom-right-radius:.125rem}.sm\:rounded-bl-sm{border-bottom-left-radius:.125rem}.sm\:rounded-tl{border-top-left-radius:.25rem}.sm\:rounded-tr{border-top-right-radius:.25rem}.sm\:rounded-br{border-bottom-right-radius:.25rem}.sm\:rounded-bl{border-bottom-left-radius:.25rem}.sm\:rounded-tl-md{border-top-left-radius:.375rem}.sm\:rounded-tr-md{border-top-right-radius:.375rem}.sm\:rounded-br-md{border-bottom-right-radius:.375rem}.sm\:rounded-bl-md{border-bottom-left-radius:.375rem}.sm\:rounded-tl-lg{border-top-left-radius:.5rem}.sm\:rounded-tr-lg{border-top-right-radius:.5rem}.sm\:rounded-br-lg{border-bottom-right-radius:.5rem}.sm\:rounded-bl-lg{border-bottom-left-radius:.5rem}.sm\:rounded-tl-full{border-top-left-radius:9999px}.sm\:rounded-tr-full{border-top-right-radius:9999px}.sm\:rounded-br-full{border-bottom-right-radius:9999px}.sm\:rounded-bl-full{border-bottom-left-radius:9999px}.sm\:border-solid{border-style:solid}.sm\:border-dashed{border-style:dashed}.sm\:border-dotted{border-style:dotted}.sm\:border-double{border-style:double}.sm\:border-none{border-style:none}.sm\:border-0{border-width:0}.sm\:border-2{border-width:2px}.sm\:border-4{border-width:4px}.sm\:border-8{border-width:8px}.sm\:border{border-width:1px}.sm\:border-t-0{border-top-width:0}.sm\:border-r-0{border-right-width:0}.sm\:border-b-0{border-bottom-width:0}.sm\:border-l-0{border-left-width:0}.sm\:border-t-2{border-top-width:2px}.sm\:border-r-2{border-right-width:2px}.sm\:border-b-2{border-bottom-width:2px}.sm\:border-l-2{border-left-width:2px}.sm\:border-t-4{border-top-width:4px}.sm\:border-r-4{border-right-width:4px}.sm\:border-b-4{border-bottom-width:4px}.sm\:border-l-4{border-left-width:4px}.sm\:border-t-8{border-top-width:8px}.sm\:border-r-8{border-right-width:8px}.sm\:border-b-8{border-bottom-width:8px}.sm\:border-l-8{border-left-width:8px}.sm\:border-t{border-top-width:1px}.sm\:border-r{border-right-width:1px}.sm\:border-b{border-bottom-width:1px}.sm\:border-l{border-left-width:1px}.sm\:box-border{box-sizing:border-box}.sm\:box-content{box-sizing:content-box}.sm\:cursor-auto{cursor:auto}.sm\:cursor-default{cursor:default}.sm\:cursor-pointer{cursor:pointer}.sm\:cursor-wait{cursor:wait}.sm\:cursor-text{cursor:text}.sm\:cursor-move{cursor:move}.sm\:cursor-not-allowed{cursor:not-allowed}.sm\:block{display:block}.sm\:inline-block{display:inline-block}.sm\:inline{display:inline}.sm\:flex{display:flex}.sm\:inline-flex{display:inline-flex}.sm\:table{display:table}.sm\:table-caption{display:table-caption}.sm\:table-cell{display:table-cell}.sm\:table-column{display:table-column}.sm\:table-column-group{display:table-column-group}.sm\:table-footer-group{display:table-footer-group}.sm\:table-header-group{display:table-header-group}.sm\:table-row-group{display:table-row-group}.sm\:table-row{display:table-row}.sm\:flow-root{display:flow-root}.sm\:grid{display:grid}.sm\:inline-grid{display:inline-grid}.sm\:hidden{display:none}.sm\:flex-row{flex-direction:row}.sm\:flex-row-reverse{flex-direction:row-reverse}.sm\:flex-col{flex-direction:column}.sm\:flex-col-reverse{flex-direction:column-reverse}.sm\:flex-wrap{flex-wrap:wrap}.sm\:flex-wrap-reverse{flex-wrap:wrap-reverse}.sm\:flex-no-wrap{flex-wrap:nowrap}.sm\:items-start{align-items:flex-start}.sm\:items-end{align-items:flex-end}.sm\:items-center{align-items:center}.sm\:items-baseline{align-items:baseline}.sm\:items-stretch{align-items:stretch}.sm\:self-auto{align-self:auto}.sm\:self-start{align-self:flex-start}.sm\:self-end{align-self:flex-end}.sm\:self-center{align-self:center}.sm\:self-stretch{align-self:stretch}.sm\:justify-start{justify-content:flex-start}.sm\:justify-end{justify-content:flex-end}.sm\:justify-center{justify-content:center}.sm\:justify-between{justify-content:space-between}.sm\:justify-around{justify-content:space-around}.sm\:justify-evenly{justify-content:space-evenly}.sm\:content-center{align-content:center}.sm\:content-start{align-content:flex-start}.sm\:content-end{align-content:flex-end}.sm\:content-between{align-content:space-between}.sm\:content-around{align-content:space-around}.sm\:flex-1{flex:1 1 0%}.sm\:flex-auto{flex:1 1 auto}.sm\:flex-initial{flex:0 1 auto}.sm\:flex-none{flex:none}.sm\:flex-grow-0{flex-grow:0}.sm\:flex-grow{flex-grow:1}.sm\:flex-shrink-0{flex-shrink:0}.sm\:flex-shrink{flex-shrink:1}.sm\:order-1{order:1}.sm\:order-2{order:2}.sm\:order-3{order:3}.sm\:order-4{order:4}.sm\:order-5{order:5}.sm\:order-6{order:6}.sm\:order-7{order:7}.sm\:order-8{order:8}.sm\:order-9{order:9}.sm\:order-10{order:10}.sm\:order-11{order:11}.sm\:order-12{order:12}.sm\:order-first{order:-9999}.sm\:order-last{order:9999}.sm\:order-none{order:0}.sm\:float-right{float:right}.sm\:float-left{float:left}.sm\:float-none{float:none}.sm\:clearfix:after{content:"";display:table;clear:both}.sm\:clear-left{clear:left}.sm\:clear-right{clear:right}.sm\:clear-both{clear:both}.sm\:clear-none{clear:none}.sm\:font-sans{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"}.sm\:font-serif{font-family:Georgia,Cambria,"Times New Roman",Times,serif}.sm\:font-mono{font-family:Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}.sm\:font-hairline{font-weight:100}.sm\:font-thin{font-weight:200}.sm\:font-light{font-weight:300}.sm\:font-normal{font-weight:400}.sm\:font-medium{font-weight:500}.sm\:font-semibold{font-weight:600}.sm\:font-bold{font-weight:700}.sm\:font-extrabold{font-weight:800}.sm\:font-black{font-weight:900}.sm\:hover\:font-hairline:hover{font-weight:100}.sm\:hover\:font-thin:hover{font-weight:200}.sm\:hover\:font-light:hover{font-weight:300}.sm\:hover\:font-normal:hover{font-weight:400}.sm\:hover\:font-medium:hover{font-weight:500}.sm\:hover\:font-semibold:hover{font-weight:600}.sm\:hover\:font-bold:hover{font-weight:700}.sm\:hover\:font-extrabold:hover{font-weight:800}.sm\:hover\:font-black:hover{font-weight:900}.sm\:focus\:font-hairline:focus{font-weight:100}.sm\:focus\:font-thin:focus{font-weight:200}.sm\:focus\:font-light:focus{font-weight:300}.sm\:focus\:font-normal:focus{font-weight:400}.sm\:focus\:font-medium:focus{font-weight:500}.sm\:focus\:font-semibold:focus{font-weight:600}.sm\:focus\:font-bold:focus{font-weight:700}.sm\:focus\:font-extrabold:focus{font-weight:800}.sm\:focus\:font-black:focus{font-weight:900}.sm\:h-0{height:0}.sm\:h-1{height:.25rem}.sm\:h-2{height:.5rem}.sm\:h-3{height:.75rem}.sm\:h-4{height:1rem}.sm\:h-5{height:1.25rem}.sm\:h-6{height:1.5rem}.sm\:h-7{height:1.75rem}.sm\:h-8{height:2rem}.sm\:h-9{height:2.25rem}.sm\:h-10{height:2.5rem}.sm\:h-11{height:2.75rem}.sm\:h-12{height:3rem}.sm\:h-13{height:3.25rem}.sm\:h-14{height:3.5rem}.sm\:h-15{height:3.75rem}.sm\:h-16{height:4rem}.sm\:h-20{height:5rem}.sm\:h-24{height:6rem}.sm\:h-28{height:7rem}.sm\:h-32{height:8rem}.sm\:h-36{height:9rem}.sm\:h-40{height:10rem}.sm\:h-44{height:11rem}.sm\:h-48{height:12rem}.sm\:h-52{height:13rem}.sm\:h-56{height:14rem}.sm\:h-60{height:15rem}.sm\:h-64{height:16rem}.sm\:h-72{height:18rem}.sm\:h-80{height:20rem}.sm\:h-96{height:24rem}.sm\:h-auto{height:auto}.sm\:h-px{height:1px}.sm\:h-0\.5{height:.125rem}.sm\:h-1\.5{height:.375rem}.sm\:h-2\.5{height:.625rem}.sm\:h-3\.5{height:.875rem}.sm\:h-1\/2{height:50%}.sm\:h-1\/3{height:33.333333%}.sm\:h-2\/3{height:66.666667%}.sm\:h-1\/4{height:25%}.sm\:h-2\/4{height:50%}.sm\:h-3\/4{height:75%}.sm\:h-1\/5{height:20%}.sm\:h-2\/5{height:40%}.sm\:h-3\/5{height:60%}.sm\:h-4\/5{height:80%}.sm\:h-1\/6{height:16.666667%}.sm\:h-2\/6{height:33.333333%}.sm\:h-3\/6{height:50%}.sm\:h-4\/6{height:66.666667%}.sm\:h-5\/6{height:83.333333%}.sm\:h-1\/12{height:8.333333%}.sm\:h-2\/12{height:16.666667%}.sm\:h-3\/12{height:25%}.sm\:h-4\/12{height:33.333333%}.sm\:h-5\/12{height:41.666667%}.sm\:h-6\/12{height:50%}.sm\:h-7\/12{height:58.333333%}.sm\:h-8\/12{height:66.666667%}.sm\:h-9\/12{height:75%}.sm\:h-10\/12{height:83.333333%}.sm\:h-11\/12{height:91.666667%}.sm\:h-full{height:100%}.sm\:h-screen{height:100vh}.sm\:text-xs{font-size:.75rem}.sm\:text-sm{font-size:.875rem}.sm\:text-base{font-size:1rem}.sm\:text-lg{font-size:1.125rem}.sm\:text-xl{font-size:1.25rem}.sm\:text-2xl{font-size:1.5rem}.sm\:text-3xl{font-size:1.875rem}.sm\:text-4xl{font-size:2.25rem}.sm\:text-5xl{font-size:3rem}.sm\:text-6xl{font-size:4rem}.sm\:leading-3{line-height:.75rem}.sm\:leading-4{line-height:1rem}.sm\:leading-5{line-height:1.25rem}.sm\:leading-6{line-height:1.5rem}.sm\:leading-7{line-height:1.75rem}.sm\:leading-8{line-height:2rem}.sm\:leading-9{line-height:2.25rem}.sm\:leading-10{line-height:2.5rem}.sm\:leading-none{line-height:1}.sm\:leading-tight{line-height:1.25}.sm\:leading-snug{line-height:1.375}.sm\:leading-normal{line-height:1.5}.sm\:leading-relaxed{line-height:1.625}.sm\:leading-loose{line-height:2}.sm\:list-inside{list-style-position:inside}.sm\:list-outside{list-style-position:outside}.sm\:list-none{list-style-type:none}.sm\:list-disc{list-style-type:disc}.sm\:list-decimal{list-style-type:decimal}.sm\:m-0{margin:0}.sm\:m-1{margin:.25rem}.sm\:m-2{margin:.5rem}.sm\:m-3{margin:.75rem}.sm\:m-4{margin:1rem}.sm\:m-5{margin:1.25rem}.sm\:m-6{margin:1.5rem}.sm\:m-7{margin:1.75rem}.sm\:m-8{margin:2rem}.sm\:m-9{margin:2.25rem}.sm\:m-10{margin:2.5rem}.sm\:m-11{margin:2.75rem}.sm\:m-12{margin:3rem}.sm\:m-13{margin:3.25rem}.sm\:m-14{margin:3.5rem}.sm\:m-15{margin:3.75rem}.sm\:m-16{margin:4rem}.sm\:m-20{margin:5rem}.sm\:m-24{margin:6rem}.sm\:m-28{margin:7rem}.sm\:m-32{margin:8rem}.sm\:m-36{margin:9rem}.sm\:m-40{margin:10rem}.sm\:m-44{margin:11rem}.sm\:m-48{margin:12rem}.sm\:m-52{margin:13rem}.sm\:m-56{margin:14rem}.sm\:m-60{margin:15rem}.sm\:m-64{margin:16rem}.sm\:m-72{margin:18rem}.sm\:m-80{margin:20rem}.sm\:m-96{margin:24rem}.sm\:m-auto{margin:auto}.sm\:m-px{margin:1px}.sm\:m-0\.5{margin:.125rem}.sm\:m-1\.5{margin:.375rem}.sm\:m-2\.5{margin:.625rem}.sm\:m-3\.5{margin:.875rem}.sm\:m-1\/2{margin:50%}.sm\:m-1\/3{margin:33.333333%}.sm\:m-2\/3{margin:66.666667%}.sm\:m-1\/4{margin:25%}.sm\:m-2\/4{margin:50%}.sm\:m-3\/4{margin:75%}.sm\:m-1\/5{margin:20%}.sm\:m-2\/5{margin:40%}.sm\:m-3\/5{margin:60%}.sm\:m-4\/5{margin:80%}.sm\:m-1\/6{margin:16.666667%}.sm\:m-2\/6{margin:33.333333%}.sm\:m-3\/6{margin:50%}.sm\:m-4\/6{margin:66.666667%}.sm\:m-5\/6{margin:83.333333%}.sm\:m-1\/12{margin:8.333333%}.sm\:m-2\/12{margin:16.666667%}.sm\:m-3\/12{margin:25%}.sm\:m-4\/12{margin:33.333333%}.sm\:m-5\/12{margin:41.666667%}.sm\:m-6\/12{margin:50%}.sm\:m-7\/12{margin:58.333333%}.sm\:m-8\/12{margin:66.666667%}.sm\:m-9\/12{margin:75%}.sm\:m-10\/12{margin:83.333333%}.sm\:m-11\/12{margin:91.666667%}.sm\:m-full{margin:100%}.sm\:-m-1{margin:-.25rem}.sm\:-m-2{margin:-.5rem}.sm\:-m-3{margin:-.75rem}.sm\:-m-4{margin:-1rem}.sm\:-m-5{margin:-1.25rem}.sm\:-m-6{margin:-1.5rem}.sm\:-m-7{margin:-1.75rem}.sm\:-m-8{margin:-2rem}.sm\:-m-9{margin:-2.25rem}.sm\:-m-10{margin:-2.5rem}.sm\:-m-11{margin:-2.75rem}.sm\:-m-12{margin:-3rem}.sm\:-m-13{margin:-3.25rem}.sm\:-m-14{margin:-3.5rem}.sm\:-m-15{margin:-3.75rem}.sm\:-m-16{margin:-4rem}.sm\:-m-20{margin:-5rem}.sm\:-m-24{margin:-6rem}.sm\:-m-28{margin:-7rem}.sm\:-m-32{margin:-8rem}.sm\:-m-36{margin:-9rem}.sm\:-m-40{margin:-10rem}.sm\:-m-44{margin:-11rem}.sm\:-m-48{margin:-12rem}.sm\:-m-52{margin:-13rem}.sm\:-m-56{margin:-14rem}.sm\:-m-60{margin:-15rem}.sm\:-m-64{margin:-16rem}.sm\:-m-72{margin:-18rem}.sm\:-m-80{margin:-20rem}.sm\:-m-96{margin:-24rem}.sm\:-m-px{margin:-1px}.sm\:-m-0\.5{margin:-.125rem}.sm\:-m-1\.5{margin:-.375rem}.sm\:-m-2\.5{margin:-.625rem}.sm\:-m-3\.5{margin:-.875rem}.sm\:-m-1\/2{margin:-50%}.sm\:-m-1\/3{margin:-33.33333%}.sm\:-m-2\/3{margin:-66.66667%}.sm\:-m-1\/4{margin:-25%}.sm\:-m-2\/4{margin:-50%}.sm\:-m-3\/4{margin:-75%}.sm\:-m-1\/5{margin:-20%}.sm\:-m-2\/5{margin:-40%}.sm\:-m-3\/5{margin:-60%}.sm\:-m-4\/5{margin:-80%}.sm\:-m-1\/6{margin:-16.66667%}.sm\:-m-2\/6{margin:-33.33333%}.sm\:-m-3\/6{margin:-50%}.sm\:-m-4\/6{margin:-66.66667%}.sm\:-m-5\/6{margin:-83.33333%}.sm\:-m-1\/12{margin:-8.33333%}.sm\:-m-2\/12{margin:-16.66667%}.sm\:-m-3\/12{margin:-25%}.sm\:-m-4\/12{margin:-33.33333%}.sm\:-m-5\/12{margin:-41.66667%}.sm\:-m-6\/12{margin:-50%}.sm\:-m-7\/12{margin:-58.33333%}.sm\:-m-8\/12{margin:-66.66667%}.sm\:-m-9\/12{margin:-75%}.sm\:-m-10\/12{margin:-83.33333%}.sm\:-m-11\/12{margin:-91.66667%}.sm\:-m-full{margin:-100%}.sm\:my-0{margin-top:0;margin-bottom:0}.sm\:mx-0{margin-left:0;margin-right:0}.sm\:my-1{margin-top:.25rem;margin-bottom:.25rem}.sm\:mx-1{margin-left:.25rem;margin-right:.25rem}.sm\:my-2{margin-top:.5rem;margin-bottom:.5rem}.sm\:mx-2{margin-left:.5rem;margin-right:.5rem}.sm\:my-3{margin-top:.75rem;margin-bottom:.75rem}.sm\:mx-3{margin-left:.75rem;margin-right:.75rem}.sm\:my-4{margin-top:1rem;margin-bottom:1rem}.sm\:mx-4{margin-left:1rem;margin-right:1rem}.sm\:my-5{margin-top:1.25rem;margin-bottom:1.25rem}.sm\:mx-5{margin-left:1.25rem;margin-right:1.25rem}.sm\:my-6{margin-top:1.5rem;margin-bottom:1.5rem}.sm\:mx-6{margin-left:1.5rem;margin-right:1.5rem}.sm\:my-7{margin-top:1.75rem;margin-bottom:1.75rem}.sm\:mx-7{margin-left:1.75rem;margin-right:1.75rem}.sm\:my-8{margin-top:2rem;margin-bottom:2rem}.sm\:mx-8{margin-left:2rem;margin-right:2rem}.sm\:my-9{margin-top:2.25rem;margin-bottom:2.25rem}.sm\:mx-9{margin-left:2.25rem;margin-right:2.25rem}.sm\:my-10{margin-top:2.5rem;margin-bottom:2.5rem}.sm\:mx-10{margin-left:2.5rem;margin-right:2.5rem}.sm\:my-11{margin-top:2.75rem;margin-bottom:2.75rem}.sm\:mx-11{margin-left:2.75rem;margin-right:2.75rem}.sm\:my-12{margin-top:3rem;margin-bottom:3rem}.sm\:mx-12{margin-left:3rem;margin-right:3rem}.sm\:my-13{margin-top:3.25rem;margin-bottom:3.25rem}.sm\:mx-13{margin-left:3.25rem;margin-right:3.25rem}.sm\:my-14{margin-top:3.5rem;margin-bottom:3.5rem}.sm\:mx-14{margin-left:3.5rem;margin-right:3.5rem}.sm\:my-15{margin-top:3.75rem;margin-bottom:3.75rem}.sm\:mx-15{margin-left:3.75rem;margin-right:3.75rem}.sm\:my-16{margin-top:4rem;margin-bottom:4rem}.sm\:mx-16{margin-left:4rem;margin-right:4rem}.sm\:my-20{margin-top:5rem;margin-bottom:5rem}.sm\:mx-20{margin-left:5rem;margin-right:5rem}.sm\:my-24{margin-top:6rem;margin-bottom:6rem}.sm\:mx-24{margin-left:6rem;margin-right:6rem}.sm\:my-28{margin-top:7rem;margin-bottom:7rem}.sm\:mx-28{margin-left:7rem;margin-right:7rem}.sm\:my-32{margin-top:8rem;margin-bottom:8rem}.sm\:mx-32{margin-left:8rem;margin-right:8rem}.sm\:my-36{margin-top:9rem;margin-bottom:9rem}.sm\:mx-36{margin-left:9rem;margin-right:9rem}.sm\:my-40{margin-top:10rem;margin-bottom:10rem}.sm\:mx-40{margin-left:10rem;margin-right:10rem}.sm\:my-44{margin-top:11rem;margin-bottom:11rem}.sm\:mx-44{margin-left:11rem;margin-right:11rem}.sm\:my-48{margin-top:12rem;margin-bottom:12rem}.sm\:mx-48{margin-left:12rem;margin-right:12rem}.sm\:my-52{margin-top:13rem;margin-bottom:13rem}.sm\:mx-52{margin-left:13rem;margin-right:13rem}.sm\:my-56{margin-top:14rem;margin-bottom:14rem}.sm\:mx-56{margin-left:14rem;margin-right:14rem}.sm\:my-60{margin-top:15rem;margin-bottom:15rem}.sm\:mx-60{margin-left:15rem;margin-right:15rem}.sm\:my-64{margin-top:16rem;margin-bottom:16rem}.sm\:mx-64{margin-left:16rem;margin-right:16rem}.sm\:my-72{margin-top:18rem;margin-bottom:18rem}.sm\:mx-72{margin-left:18rem;margin-right:18rem}.sm\:my-80{margin-top:20rem;margin-bottom:20rem}.sm\:mx-80{margin-left:20rem;margin-right:20rem}.sm\:my-96{margin-top:24rem;margin-bottom:24rem}.sm\:mx-96{margin-left:24rem;margin-right:24rem}.sm\:my-auto{margin-top:auto;margin-bottom:auto}.sm\:mx-auto{margin-left:auto;margin-right:auto}.sm\:my-px{margin-top:1px;margin-bottom:1px}.sm\:mx-px{margin-left:1px;margin-right:1px}.sm\:my-0\.5{margin-top:.125rem;margin-bottom:.125rem}.sm\:mx-0\.5{margin-left:.125rem;margin-right:.125rem}.sm\:my-1\.5{margin-top:.375rem;margin-bottom:.375rem}.sm\:mx-1\.5{margin-left:.375rem;margin-right:.375rem}.sm\:my-2\.5{margin-top:.625rem;margin-bottom:.625rem}.sm\:mx-2\.5{margin-left:.625rem;margin-right:.625rem}.sm\:my-3\.5{margin-top:.875rem;margin-bottom:.875rem}.sm\:mx-3\.5{margin-left:.875rem;margin-right:.875rem}.sm\:my-1\/2{margin-top:50%;margin-bottom:50%}.sm\:mx-1\/2{margin-left:50%;margin-right:50%}.sm\:my-1\/3{margin-top:33.333333%;margin-bottom:33.333333%}.sm\:mx-1\/3{margin-left:33.333333%;margin-right:33.333333%}.sm\:my-2\/3{margin-top:66.666667%;margin-bottom:66.666667%}.sm\:mx-2\/3{margin-left:66.666667%;margin-right:66.666667%}.sm\:my-1\/4{margin-top:25%;margin-bottom:25%}.sm\:mx-1\/4{margin-left:25%;margin-right:25%}.sm\:my-2\/4{margin-top:50%;margin-bottom:50%}.sm\:mx-2\/4{margin-left:50%;margin-right:50%}.sm\:my-3\/4{margin-top:75%;margin-bottom:75%}.sm\:mx-3\/4{margin-left:75%;margin-right:75%}.sm\:my-1\/5{margin-top:20%;margin-bottom:20%}.sm\:mx-1\/5{margin-left:20%;margin-right:20%}.sm\:my-2\/5{margin-top:40%;margin-bottom:40%}.sm\:mx-2\/5{margin-left:40%;margin-right:40%}.sm\:my-3\/5{margin-top:60%;margin-bottom:60%}.sm\:mx-3\/5{margin-left:60%;margin-right:60%}.sm\:my-4\/5{margin-top:80%;margin-bottom:80%}.sm\:mx-4\/5{margin-left:80%;margin-right:80%}.sm\:my-1\/6{margin-top:16.666667%;margin-bottom:16.666667%}.sm\:mx-1\/6{margin-left:16.666667%;margin-right:16.666667%}.sm\:my-2\/6{margin-top:33.333333%;margin-bottom:33.333333%}.sm\:mx-2\/6{margin-left:33.333333%;margin-right:33.333333%}.sm\:my-3\/6{margin-top:50%;margin-bottom:50%}.sm\:mx-3\/6{margin-left:50%;margin-right:50%}.sm\:my-4\/6{margin-top:66.666667%;margin-bottom:66.666667%}.sm\:mx-4\/6{margin-left:66.666667%;margin-right:66.666667%}.sm\:my-5\/6{margin-top:83.333333%;margin-bottom:83.333333%}.sm\:mx-5\/6{margin-left:83.333333%;margin-right:83.333333%}.sm\:my-1\/12{margin-top:8.333333%;margin-bottom:8.333333%}.sm\:mx-1\/12{margin-left:8.333333%;margin-right:8.333333%}.sm\:my-2\/12{margin-top:16.666667%;margin-bottom:16.666667%}.sm\:mx-2\/12{margin-left:16.666667%;margin-right:16.666667%}.sm\:my-3\/12{margin-top:25%;margin-bottom:25%}.sm\:mx-3\/12{margin-left:25%;margin-right:25%}.sm\:my-4\/12{margin-top:33.333333%;margin-bottom:33.333333%}.sm\:mx-4\/12{margin-left:33.333333%;margin-right:33.333333%}.sm\:my-5\/12{margin-top:41.666667%;margin-bottom:41.666667%}.sm\:mx-5\/12{margin-left:41.666667%;margin-right:41.666667%}.sm\:my-6\/12{margin-top:50%;margin-bottom:50%}.sm\:mx-6\/12{margin-left:50%;margin-right:50%}.sm\:my-7\/12{margin-top:58.333333%;margin-bottom:58.333333%}.sm\:mx-7\/12{margin-left:58.333333%;margin-right:58.333333%}.sm\:my-8\/12{margin-top:66.666667%;margin-bottom:66.666667%}.sm\:mx-8\/12{margin-left:66.666667%;margin-right:66.666667%}.sm\:my-9\/12{margin-top:75%;margin-bottom:75%}.sm\:mx-9\/12{margin-left:75%;margin-right:75%}.sm\:my-10\/12{margin-top:83.333333%;margin-bottom:83.333333%}.sm\:mx-10\/12{margin-left:83.333333%;margin-right:83.333333%}.sm\:my-11\/12{margin-top:91.666667%;margin-bottom:91.666667%}.sm\:mx-11\/12{margin-left:91.666667%;margin-right:91.666667%}.sm\:my-full{margin-top:100%;margin-bottom:100%}.sm\:mx-full{margin-left:100%;margin-right:100%}.sm\:-my-1{margin-top:-.25rem;margin-bottom:-.25rem}.sm\:-mx-1{margin-left:-.25rem;margin-right:-.25rem}.sm\:-my-2{margin-top:-.5rem;margin-bottom:-.5rem}.sm\:-mx-2{margin-left:-.5rem;margin-right:-.5rem}.sm\:-my-3{margin-top:-.75rem;margin-bottom:-.75rem}.sm\:-mx-3{margin-left:-.75rem;margin-right:-.75rem}.sm\:-my-4{margin-top:-1rem;margin-bottom:-1rem}.sm\:-mx-4{margin-left:-1rem;margin-right:-1rem}.sm\:-my-5{margin-top:-1.25rem;margin-bottom:-1.25rem}.sm\:-mx-5{margin-left:-1.25rem;margin-right:-1.25rem}.sm\:-my-6{margin-top:-1.5rem;margin-bottom:-1.5rem}.sm\:-mx-6{margin-left:-1.5rem;margin-right:-1.5rem}.sm\:-my-7{margin-top:-1.75rem;margin-bottom:-1.75rem}.sm\:-mx-7{margin-left:-1.75rem;margin-right:-1.75rem}.sm\:-my-8{margin-top:-2rem;margin-bottom:-2rem}.sm\:-mx-8{margin-left:-2rem;margin-right:-2rem}.sm\:-my-9{margin-top:-2.25rem;margin-bottom:-2.25rem}.sm\:-mx-9{margin-left:-2.25rem;margin-right:-2.25rem}.sm\:-my-10{margin-top:-2.5rem;margin-bottom:-2.5rem}.sm\:-mx-10{margin-left:-2.5rem;margin-right:-2.5rem}.sm\:-my-11{margin-top:-2.75rem;margin-bottom:-2.75rem}.sm\:-mx-11{margin-left:-2.75rem;margin-right:-2.75rem}.sm\:-my-12{margin-top:-3rem;margin-bottom:-3rem}.sm\:-mx-12{margin-left:-3rem;margin-right:-3rem}.sm\:-my-13{margin-top:-3.25rem;margin-bottom:-3.25rem}.sm\:-mx-13{margin-left:-3.25rem;margin-right:-3.25rem}.sm\:-my-14{margin-top:-3.5rem;margin-bottom:-3.5rem}.sm\:-mx-14{margin-left:-3.5rem;margin-right:-3.5rem}.sm\:-my-15{margin-top:-3.75rem;margin-bottom:-3.75rem}.sm\:-mx-15{margin-left:-3.75rem;margin-right:-3.75rem}.sm\:-my-16{margin-top:-4rem;margin-bottom:-4rem}.sm\:-mx-16{margin-left:-4rem;margin-right:-4rem}.sm\:-my-20{margin-top:-5rem;margin-bottom:-5rem}.sm\:-mx-20{margin-left:-5rem;margin-right:-5rem}.sm\:-my-24{margin-top:-6rem;margin-bottom:-6rem}.sm\:-mx-24{margin-left:-6rem;margin-right:-6rem}.sm\:-my-28{margin-top:-7rem;margin-bottom:-7rem}.sm\:-mx-28{margin-left:-7rem;margin-right:-7rem}.sm\:-my-32{margin-top:-8rem;margin-bottom:-8rem}.sm\:-mx-32{margin-left:-8rem;margin-right:-8rem}.sm\:-my-36{margin-top:-9rem;margin-bottom:-9rem}.sm\:-mx-36{margin-left:-9rem;margin-right:-9rem}.sm\:-my-40{margin-top:-10rem;margin-bottom:-10rem}.sm\:-mx-40{margin-left:-10rem;margin-right:-10rem}.sm\:-my-44{margin-top:-11rem;margin-bottom:-11rem}.sm\:-mx-44{margin-left:-11rem;margin-right:-11rem}.sm\:-my-48{margin-top:-12rem;margin-bottom:-12rem}.sm\:-mx-48{margin-left:-12rem;margin-right:-12rem}.sm\:-my-52{margin-top:-13rem;margin-bottom:-13rem}.sm\:-mx-52{margin-left:-13rem;margin-right:-13rem}.sm\:-my-56{margin-top:-14rem;margin-bottom:-14rem}.sm\:-mx-56{margin-left:-14rem;margin-right:-14rem}.sm\:-my-60{margin-top:-15rem;margin-bottom:-15rem}.sm\:-mx-60{margin-left:-15rem;margin-right:-15rem}.sm\:-my-64{margin-top:-16rem;margin-bottom:-16rem}.sm\:-mx-64{margin-left:-16rem;margin-right:-16rem}.sm\:-my-72{margin-top:-18rem;margin-bottom:-18rem}.sm\:-mx-72{margin-left:-18rem;margin-right:-18rem}.sm\:-my-80{margin-top:-20rem;margin-bottom:-20rem}.sm\:-mx-80{margin-left:-20rem;margin-right:-20rem}.sm\:-my-96{margin-top:-24rem;margin-bottom:-24rem}.sm\:-mx-96{margin-left:-24rem;margin-right:-24rem}.sm\:-my-px{margin-top:-1px;margin-bottom:-1px}.sm\:-mx-px{margin-left:-1px;margin-right:-1px}.sm\:-my-0\.5{margin-top:-.125rem;margin-bottom:-.125rem}.sm\:-mx-0\.5{margin-left:-.125rem;margin-right:-.125rem}.sm\:-my-1\.5{margin-top:-.375rem;margin-bottom:-.375rem}.sm\:-mx-1\.5{margin-left:-.375rem;margin-right:-.375rem}.sm\:-my-2\.5{margin-top:-.625rem;margin-bottom:-.625rem}.sm\:-mx-2\.5{margin-left:-.625rem;margin-right:-.625rem}.sm\:-my-3\.5{margin-top:-.875rem;margin-bottom:-.875rem}.sm\:-mx-3\.5{margin-left:-.875rem;margin-right:-.875rem}.sm\:-my-1\/2{margin-top:-50%;margin-bottom:-50%}.sm\:-mx-1\/2{margin-left:-50%;margin-right:-50%}.sm\:-my-1\/3{margin-top:-33.33333%;margin-bottom:-33.33333%}.sm\:-mx-1\/3{margin-left:-33.33333%;margin-right:-33.33333%}.sm\:-my-2\/3{margin-top:-66.66667%;margin-bottom:-66.66667%}.sm\:-mx-2\/3{margin-left:-66.66667%;margin-right:-66.66667%}.sm\:-my-1\/4{margin-top:-25%;margin-bottom:-25%}.sm\:-mx-1\/4{margin-left:-25%;margin-right:-25%}.sm\:-my-2\/4{margin-top:-50%;margin-bottom:-50%}.sm\:-mx-2\/4{margin-left:-50%;margin-right:-50%}.sm\:-my-3\/4{margin-top:-75%;margin-bottom:-75%}.sm\:-mx-3\/4{margin-left:-75%;margin-right:-75%}.sm\:-my-1\/5{margin-top:-20%;margin-bottom:-20%}.sm\:-mx-1\/5{margin-left:-20%;margin-right:-20%}.sm\:-my-2\/5{margin-top:-40%;margin-bottom:-40%}.sm\:-mx-2\/5{margin-left:-40%;margin-right:-40%}.sm\:-my-3\/5{margin-top:-60%;margin-bottom:-60%}.sm\:-mx-3\/5{margin-left:-60%;margin-right:-60%}.sm\:-my-4\/5{margin-top:-80%;margin-bottom:-80%}.sm\:-mx-4\/5{margin-left:-80%;margin-right:-80%}.sm\:-my-1\/6{margin-top:-16.66667%;margin-bottom:-16.66667%}.sm\:-mx-1\/6{margin-left:-16.66667%;margin-right:-16.66667%}.sm\:-my-2\/6{margin-top:-33.33333%;margin-bottom:-33.33333%}.sm\:-mx-2\/6{margin-left:-33.33333%;margin-right:-33.33333%}.sm\:-my-3\/6{margin-top:-50%;margin-bottom:-50%}.sm\:-mx-3\/6{margin-left:-50%;margin-right:-50%}.sm\:-my-4\/6{margin-top:-66.66667%;margin-bottom:-66.66667%}.sm\:-mx-4\/6{margin-left:-66.66667%;margin-right:-66.66667%}.sm\:-my-5\/6{margin-top:-83.33333%;margin-bottom:-83.33333%}.sm\:-mx-5\/6{margin-left:-83.33333%;margin-right:-83.33333%}.sm\:-my-1\/12{margin-top:-8.33333%;margin-bottom:-8.33333%}.sm\:-mx-1\/12{margin-left:-8.33333%;margin-right:-8.33333%}.sm\:-my-2\/12{margin-top:-16.66667%;margin-bottom:-16.66667%}.sm\:-mx-2\/12{margin-left:-16.66667%;margin-right:-16.66667%}.sm\:-my-3\/12{margin-top:-25%;margin-bottom:-25%}.sm\:-mx-3\/12{margin-left:-25%;margin-right:-25%}.sm\:-my-4\/12{margin-top:-33.33333%;margin-bottom:-33.33333%}.sm\:-mx-4\/12{margin-left:-33.33333%;margin-right:-33.33333%}.sm\:-my-5\/12{margin-top:-41.66667%;margin-bottom:-41.66667%}.sm\:-mx-5\/12{margin-left:-41.66667%;margin-right:-41.66667%}.sm\:-my-6\/12{margin-top:-50%;margin-bottom:-50%}.sm\:-mx-6\/12{margin-left:-50%;margin-right:-50%}.sm\:-my-7\/12{margin-top:-58.33333%;margin-bottom:-58.33333%}.sm\:-mx-7\/12{margin-left:-58.33333%;margin-right:-58.33333%}.sm\:-my-8\/12{margin-top:-66.66667%;margin-bottom:-66.66667%}.sm\:-mx-8\/12{margin-left:-66.66667%;margin-right:-66.66667%}.sm\:-my-9\/12{margin-top:-75%;margin-bottom:-75%}.sm\:-mx-9\/12{margin-left:-75%;margin-right:-75%}.sm\:-my-10\/12{margin-top:-83.33333%;margin-bottom:-83.33333%}.sm\:-mx-10\/12{margin-left:-83.33333%;margin-right:-83.33333%}.sm\:-my-11\/12{margin-top:-91.66667%;margin-bottom:-91.66667%}.sm\:-mx-11\/12{margin-left:-91.66667%;margin-right:-91.66667%}.sm\:-my-full{margin-top:-100%;margin-bottom:-100%}.sm\:-mx-full{margin-left:-100%;margin-right:-100%}.sm\:mt-0{margin-top:0}.sm\:mr-0{margin-right:0}.sm\:mb-0{margin-bottom:0}.sm\:ml-0{margin-left:0}.sm\:mt-1{margin-top:.25rem}.sm\:mr-1{margin-right:.25rem}.sm\:mb-1{margin-bottom:.25rem}.sm\:ml-1{margin-left:.25rem}.sm\:mt-2{margin-top:.5rem}.sm\:mr-2{margin-right:.5rem}.sm\:mb-2{margin-bottom:.5rem}.sm\:ml-2{margin-left:.5rem}.sm\:mt-3{margin-top:.75rem}.sm\:mr-3{margin-right:.75rem}.sm\:mb-3{margin-bottom:.75rem}.sm\:ml-3{margin-left:.75rem}.sm\:mt-4{margin-top:1rem}.sm\:mr-4{margin-right:1rem}.sm\:mb-4{margin-bottom:1rem}.sm\:ml-4{margin-left:1rem}.sm\:mt-5{margin-top:1.25rem}.sm\:mr-5{margin-right:1.25rem}.sm\:mb-5{margin-bottom:1.25rem}.sm\:ml-5{margin-left:1.25rem}.sm\:mt-6{margin-top:1.5rem}.sm\:mr-6{margin-right:1.5rem}.sm\:mb-6{margin-bottom:1.5rem}.sm\:ml-6{margin-left:1.5rem}.sm\:mt-7{margin-top:1.75rem}.sm\:mr-7{margin-right:1.75rem}.sm\:mb-7{margin-bottom:1.75rem}.sm\:ml-7{margin-left:1.75rem}.sm\:mt-8{margin-top:2rem}.sm\:mr-8{margin-right:2rem}.sm\:mb-8{margin-bottom:2rem}.sm\:ml-8{margin-left:2rem}.sm\:mt-9{margin-top:2.25rem}.sm\:mr-9{margin-right:2.25rem}.sm\:mb-9{margin-bottom:2.25rem}.sm\:ml-9{margin-left:2.25rem}.sm\:mt-10{margin-top:2.5rem}.sm\:mr-10{margin-right:2.5rem}.sm\:mb-10{margin-bottom:2.5rem}.sm\:ml-10{margin-left:2.5rem}.sm\:mt-11{margin-top:2.75rem}.sm\:mr-11{margin-right:2.75rem}.sm\:mb-11{margin-bottom:2.75rem}.sm\:ml-11{margin-left:2.75rem}.sm\:mt-12{margin-top:3rem}.sm\:mr-12{margin-right:3rem}.sm\:mb-12{margin-bottom:3rem}.sm\:ml-12{margin-left:3rem}.sm\:mt-13{margin-top:3.25rem}.sm\:mr-13{margin-right:3.25rem}.sm\:mb-13{margin-bottom:3.25rem}.sm\:ml-13{margin-left:3.25rem}.sm\:mt-14{margin-top:3.5rem}.sm\:mr-14{margin-right:3.5rem}.sm\:mb-14{margin-bottom:3.5rem}.sm\:ml-14{margin-left:3.5rem}.sm\:mt-15{margin-top:3.75rem}.sm\:mr-15{margin-right:3.75rem}.sm\:mb-15{margin-bottom:3.75rem}.sm\:ml-15{margin-left:3.75rem}.sm\:mt-16{margin-top:4rem}.sm\:mr-16{margin-right:4rem}.sm\:mb-16{margin-bottom:4rem}.sm\:ml-16{margin-left:4rem}.sm\:mt-20{margin-top:5rem}.sm\:mr-20{margin-right:5rem}.sm\:mb-20{margin-bottom:5rem}.sm\:ml-20{margin-left:5rem}.sm\:mt-24{margin-top:6rem}.sm\:mr-24{margin-right:6rem}.sm\:mb-24{margin-bottom:6rem}.sm\:ml-24{margin-left:6rem}.sm\:mt-28{margin-top:7rem}.sm\:mr-28{margin-right:7rem}.sm\:mb-28{margin-bottom:7rem}.sm\:ml-28{margin-left:7rem}.sm\:mt-32{margin-top:8rem}.sm\:mr-32{margin-right:8rem}.sm\:mb-32{margin-bottom:8rem}.sm\:ml-32{margin-left:8rem}.sm\:mt-36{margin-top:9rem}.sm\:mr-36{margin-right:9rem}.sm\:mb-36{margin-bottom:9rem}.sm\:ml-36{margin-left:9rem}.sm\:mt-40{margin-top:10rem}.sm\:mr-40{margin-right:10rem}.sm\:mb-40{margin-bottom:10rem}.sm\:ml-40{margin-left:10rem}.sm\:mt-44{margin-top:11rem}.sm\:mr-44{margin-right:11rem}.sm\:mb-44{margin-bottom:11rem}.sm\:ml-44{margin-left:11rem}.sm\:mt-48{margin-top:12rem}.sm\:mr-48{margin-right:12rem}.sm\:mb-48{margin-bottom:12rem}.sm\:ml-48{margin-left:12rem}.sm\:mt-52{margin-top:13rem}.sm\:mr-52{margin-right:13rem}.sm\:mb-52{margin-bottom:13rem}.sm\:ml-52{margin-left:13rem}.sm\:mt-56{margin-top:14rem}.sm\:mr-56{margin-right:14rem}.sm\:mb-56{margin-bottom:14rem}.sm\:ml-56{margin-left:14rem}.sm\:mt-60{margin-top:15rem}.sm\:mr-60{margin-right:15rem}.sm\:mb-60{margin-bottom:15rem}.sm\:ml-60{margin-left:15rem}.sm\:mt-64{margin-top:16rem}.sm\:mr-64{margin-right:16rem}.sm\:mb-64{margin-bottom:16rem}.sm\:ml-64{margin-left:16rem}.sm\:mt-72{margin-top:18rem}.sm\:mr-72{margin-right:18rem}.sm\:mb-72{margin-bottom:18rem}.sm\:ml-72{margin-left:18rem}.sm\:mt-80{margin-top:20rem}.sm\:mr-80{margin-right:20rem}.sm\:mb-80{margin-bottom:20rem}.sm\:ml-80{margin-left:20rem}.sm\:mt-96{margin-top:24rem}.sm\:mr-96{margin-right:24rem}.sm\:mb-96{margin-bottom:24rem}.sm\:ml-96{margin-left:24rem}.sm\:mt-auto{margin-top:auto}.sm\:mr-auto{margin-right:auto}.sm\:mb-auto{margin-bottom:auto}.sm\:ml-auto{margin-left:auto}.sm\:mt-px{margin-top:1px}.sm\:mr-px{margin-right:1px}.sm\:mb-px{margin-bottom:1px}.sm\:ml-px{margin-left:1px}.sm\:mt-0\.5{margin-top:.125rem}.sm\:mr-0\.5{margin-right:.125rem}.sm\:mb-0\.5{margin-bottom:.125rem}.sm\:ml-0\.5{margin-left:.125rem}.sm\:mt-1\.5{margin-top:.375rem}.sm\:mr-1\.5{margin-right:.375rem}.sm\:mb-1\.5{margin-bottom:.375rem}.sm\:ml-1\.5{margin-left:.375rem}.sm\:mt-2\.5{margin-top:.625rem}.sm\:mr-2\.5{margin-right:.625rem}.sm\:mb-2\.5{margin-bottom:.625rem}.sm\:ml-2\.5{margin-left:.625rem}.sm\:mt-3\.5{margin-top:.875rem}.sm\:mr-3\.5{margin-right:.875rem}.sm\:mb-3\.5{margin-bottom:.875rem}.sm\:ml-3\.5{margin-left:.875rem}.sm\:mt-1\/2{margin-top:50%}.sm\:mr-1\/2{margin-right:50%}.sm\:mb-1\/2{margin-bottom:50%}.sm\:ml-1\/2{margin-left:50%}.sm\:mt-1\/3{margin-top:33.333333%}.sm\:mr-1\/3{margin-right:33.333333%}.sm\:mb-1\/3{margin-bottom:33.333333%}.sm\:ml-1\/3{margin-left:33.333333%}.sm\:mt-2\/3{margin-top:66.666667%}.sm\:mr-2\/3{margin-right:66.666667%}.sm\:mb-2\/3{margin-bottom:66.666667%}.sm\:ml-2\/3{margin-left:66.666667%}.sm\:mt-1\/4{margin-top:25%}.sm\:mr-1\/4{margin-right:25%}.sm\:mb-1\/4{margin-bottom:25%}.sm\:ml-1\/4{margin-left:25%}.sm\:mt-2\/4{margin-top:50%}.sm\:mr-2\/4{margin-right:50%}.sm\:mb-2\/4{margin-bottom:50%}.sm\:ml-2\/4{margin-left:50%}.sm\:mt-3\/4{margin-top:75%}.sm\:mr-3\/4{margin-right:75%}.sm\:mb-3\/4{margin-bottom:75%}.sm\:ml-3\/4{margin-left:75%}.sm\:mt-1\/5{margin-top:20%}.sm\:mr-1\/5{margin-right:20%}.sm\:mb-1\/5{margin-bottom:20%}.sm\:ml-1\/5{margin-left:20%}.sm\:mt-2\/5{margin-top:40%}.sm\:mr-2\/5{margin-right:40%}.sm\:mb-2\/5{margin-bottom:40%}.sm\:ml-2\/5{margin-left:40%}.sm\:mt-3\/5{margin-top:60%}.sm\:mr-3\/5{margin-right:60%}.sm\:mb-3\/5{margin-bottom:60%}.sm\:ml-3\/5{margin-left:60%}.sm\:mt-4\/5{margin-top:80%}.sm\:mr-4\/5{margin-right:80%}.sm\:mb-4\/5{margin-bottom:80%}.sm\:ml-4\/5{margin-left:80%}.sm\:mt-1\/6{margin-top:16.666667%}.sm\:mr-1\/6{margin-right:16.666667%}.sm\:mb-1\/6{margin-bottom:16.666667%}.sm\:ml-1\/6{margin-left:16.666667%}.sm\:mt-2\/6{margin-top:33.333333%}.sm\:mr-2\/6{margin-right:33.333333%}.sm\:mb-2\/6{margin-bottom:33.333333%}.sm\:ml-2\/6{margin-left:33.333333%}.sm\:mt-3\/6{margin-top:50%}.sm\:mr-3\/6{margin-right:50%}.sm\:mb-3\/6{margin-bottom:50%}.sm\:ml-3\/6{margin-left:50%}.sm\:mt-4\/6{margin-top:66.666667%}.sm\:mr-4\/6{margin-right:66.666667%}.sm\:mb-4\/6{margin-bottom:66.666667%}.sm\:ml-4\/6{margin-left:66.666667%}.sm\:mt-5\/6{margin-top:83.333333%}.sm\:mr-5\/6{margin-right:83.333333%}.sm\:mb-5\/6{margin-bottom:83.333333%}.sm\:ml-5\/6{margin-left:83.333333%}.sm\:mt-1\/12{margin-top:8.333333%}.sm\:mr-1\/12{margin-right:8.333333%}.sm\:mb-1\/12{margin-bottom:8.333333%}.sm\:ml-1\/12{margin-left:8.333333%}.sm\:mt-2\/12{margin-top:16.666667%}.sm\:mr-2\/12{margin-right:16.666667%}.sm\:mb-2\/12{margin-bottom:16.666667%}.sm\:ml-2\/12{margin-left:16.666667%}.sm\:mt-3\/12{margin-top:25%}.sm\:mr-3\/12{margin-right:25%}.sm\:mb-3\/12{margin-bottom:25%}.sm\:ml-3\/12{margin-left:25%}.sm\:mt-4\/12{margin-top:33.333333%}.sm\:mr-4\/12{margin-right:33.333333%}.sm\:mb-4\/12{margin-bottom:33.333333%}.sm\:ml-4\/12{margin-left:33.333333%}.sm\:mt-5\/12{margin-top:41.666667%}.sm\:mr-5\/12{margin-right:41.666667%}.sm\:mb-5\/12{margin-bottom:41.666667%}.sm\:ml-5\/12{margin-left:41.666667%}.sm\:mt-6\/12{margin-top:50%}.sm\:mr-6\/12{margin-right:50%}.sm\:mb-6\/12{margin-bottom:50%}.sm\:ml-6\/12{margin-left:50%}.sm\:mt-7\/12{margin-top:58.333333%}.sm\:mr-7\/12{margin-right:58.333333%}.sm\:mb-7\/12{margin-bottom:58.333333%}.sm\:ml-7\/12{margin-left:58.333333%}.sm\:mt-8\/12{margin-top:66.666667%}.sm\:mr-8\/12{margin-right:66.666667%}.sm\:mb-8\/12{margin-bottom:66.666667%}.sm\:ml-8\/12{margin-left:66.666667%}.sm\:mt-9\/12{margin-top:75%}.sm\:mr-9\/12{margin-right:75%}.sm\:mb-9\/12{margin-bottom:75%}.sm\:ml-9\/12{margin-left:75%}.sm\:mt-10\/12{margin-top:83.333333%}.sm\:mr-10\/12{margin-right:83.333333%}.sm\:mb-10\/12{margin-bottom:83.333333%}.sm\:ml-10\/12{margin-left:83.333333%}.sm\:mt-11\/12{margin-top:91.666667%}.sm\:mr-11\/12{margin-right:91.666667%}.sm\:mb-11\/12{margin-bottom:91.666667%}.sm\:ml-11\/12{margin-left:91.666667%}.sm\:mt-full{margin-top:100%}.sm\:mr-full{margin-right:100%}.sm\:mb-full{margin-bottom:100%}.sm\:ml-full{margin-left:100%}.sm\:-mt-1{margin-top:-.25rem}.sm\:-mr-1{margin-right:-.25rem}.sm\:-mb-1{margin-bottom:-.25rem}.sm\:-ml-1{margin-left:-.25rem}.sm\:-mt-2{margin-top:-.5rem}.sm\:-mr-2{margin-right:-.5rem}.sm\:-mb-2{margin-bottom:-.5rem}.sm\:-ml-2{margin-left:-.5rem}.sm\:-mt-3{margin-top:-.75rem}.sm\:-mr-3{margin-right:-.75rem}.sm\:-mb-3{margin-bottom:-.75rem}.sm\:-ml-3{margin-left:-.75rem}.sm\:-mt-4{margin-top:-1rem}.sm\:-mr-4{margin-right:-1rem}.sm\:-mb-4{margin-bottom:-1rem}.sm\:-ml-4{margin-left:-1rem}.sm\:-mt-5{margin-top:-1.25rem}.sm\:-mr-5{margin-right:-1.25rem}.sm\:-mb-5{margin-bottom:-1.25rem}.sm\:-ml-5{margin-left:-1.25rem}.sm\:-mt-6{margin-top:-1.5rem}.sm\:-mr-6{margin-right:-1.5rem}.sm\:-mb-6{margin-bottom:-1.5rem}.sm\:-ml-6{margin-left:-1.5rem}.sm\:-mt-7{margin-top:-1.75rem}.sm\:-mr-7{margin-right:-1.75rem}.sm\:-mb-7{margin-bottom:-1.75rem}.sm\:-ml-7{margin-left:-1.75rem}.sm\:-mt-8{margin-top:-2rem}.sm\:-mr-8{margin-right:-2rem}.sm\:-mb-8{margin-bottom:-2rem}.sm\:-ml-8{margin-left:-2rem}.sm\:-mt-9{margin-top:-2.25rem}.sm\:-mr-9{margin-right:-2.25rem}.sm\:-mb-9{margin-bottom:-2.25rem}.sm\:-ml-9{margin-left:-2.25rem}.sm\:-mt-10{margin-top:-2.5rem}.sm\:-mr-10{margin-right:-2.5rem}.sm\:-mb-10{margin-bottom:-2.5rem}.sm\:-ml-10{margin-left:-2.5rem}.sm\:-mt-11{margin-top:-2.75rem}.sm\:-mr-11{margin-right:-2.75rem}.sm\:-mb-11{margin-bottom:-2.75rem}.sm\:-ml-11{margin-left:-2.75rem}.sm\:-mt-12{margin-top:-3rem}.sm\:-mr-12{margin-right:-3rem}.sm\:-mb-12{margin-bottom:-3rem}.sm\:-ml-12{margin-left:-3rem}.sm\:-mt-13{margin-top:-3.25rem}.sm\:-mr-13{margin-right:-3.25rem}.sm\:-mb-13{margin-bottom:-3.25rem}.sm\:-ml-13{margin-left:-3.25rem}.sm\:-mt-14{margin-top:-3.5rem}.sm\:-mr-14{margin-right:-3.5rem}.sm\:-mb-14{margin-bottom:-3.5rem}.sm\:-ml-14{margin-left:-3.5rem}.sm\:-mt-15{margin-top:-3.75rem}.sm\:-mr-15{margin-right:-3.75rem}.sm\:-mb-15{margin-bottom:-3.75rem}.sm\:-ml-15{margin-left:-3.75rem}.sm\:-mt-16{margin-top:-4rem}.sm\:-mr-16{margin-right:-4rem}.sm\:-mb-16{margin-bottom:-4rem}.sm\:-ml-16{margin-left:-4rem}.sm\:-mt-20{margin-top:-5rem}.sm\:-mr-20{margin-right:-5rem}.sm\:-mb-20{margin-bottom:-5rem}.sm\:-ml-20{margin-left:-5rem}.sm\:-mt-24{margin-top:-6rem}.sm\:-mr-24{margin-right:-6rem}.sm\:-mb-24{margin-bottom:-6rem}.sm\:-ml-24{margin-left:-6rem}.sm\:-mt-28{margin-top:-7rem}.sm\:-mr-28{margin-right:-7rem}.sm\:-mb-28{margin-bottom:-7rem}.sm\:-ml-28{margin-left:-7rem}.sm\:-mt-32{margin-top:-8rem}.sm\:-mr-32{margin-right:-8rem}.sm\:-mb-32{margin-bottom:-8rem}.sm\:-ml-32{margin-left:-8rem}.sm\:-mt-36{margin-top:-9rem}.sm\:-mr-36{margin-right:-9rem}.sm\:-mb-36{margin-bottom:-9rem}.sm\:-ml-36{margin-left:-9rem}.sm\:-mt-40{margin-top:-10rem}.sm\:-mr-40{margin-right:-10rem}.sm\:-mb-40{margin-bottom:-10rem}.sm\:-ml-40{margin-left:-10rem}.sm\:-mt-44{margin-top:-11rem}.sm\:-mr-44{margin-right:-11rem}.sm\:-mb-44{margin-bottom:-11rem}.sm\:-ml-44{margin-left:-11rem}.sm\:-mt-48{margin-top:-12rem}.sm\:-mr-48{margin-right:-12rem}.sm\:-mb-48{margin-bottom:-12rem}.sm\:-ml-48{margin-left:-12rem}.sm\:-mt-52{margin-top:-13rem}.sm\:-mr-52{margin-right:-13rem}.sm\:-mb-52{margin-bottom:-13rem}.sm\:-ml-52{margin-left:-13rem}.sm\:-mt-56{margin-top:-14rem}.sm\:-mr-56{margin-right:-14rem}.sm\:-mb-56{margin-bottom:-14rem}.sm\:-ml-56{margin-left:-14rem}.sm\:-mt-60{margin-top:-15rem}.sm\:-mr-60{margin-right:-15rem}.sm\:-mb-60{margin-bottom:-15rem}.sm\:-ml-60{margin-left:-15rem}.sm\:-mt-64{margin-top:-16rem}.sm\:-mr-64{margin-right:-16rem}.sm\:-mb-64{margin-bottom:-16rem}.sm\:-ml-64{margin-left:-16rem}.sm\:-mt-72{margin-top:-18rem}.sm\:-mr-72{margin-right:-18rem}.sm\:-mb-72{margin-bottom:-18rem}.sm\:-ml-72{margin-left:-18rem}.sm\:-mt-80{margin-top:-20rem}.sm\:-mr-80{margin-right:-20rem}.sm\:-mb-80{margin-bottom:-20rem}.sm\:-ml-80{margin-left:-20rem}.sm\:-mt-96{margin-top:-24rem}.sm\:-mr-96{margin-right:-24rem}.sm\:-mb-96{margin-bottom:-24rem}.sm\:-ml-96{margin-left:-24rem}.sm\:-mt-px{margin-top:-1px}.sm\:-mr-px{margin-right:-1px}.sm\:-mb-px{margin-bottom:-1px}.sm\:-ml-px{margin-left:-1px}.sm\:-mt-0\.5{margin-top:-.125rem}.sm\:-mr-0\.5{margin-right:-.125rem}.sm\:-mb-0\.5{margin-bottom:-.125rem}.sm\:-ml-0\.5{margin-left:-.125rem}.sm\:-mt-1\.5{margin-top:-.375rem}.sm\:-mr-1\.5{margin-right:-.375rem}.sm\:-mb-1\.5{margin-bottom:-.375rem}.sm\:-ml-1\.5{margin-left:-.375rem}.sm\:-mt-2\.5{margin-top:-.625rem}.sm\:-mr-2\.5{margin-right:-.625rem}.sm\:-mb-2\.5{margin-bottom:-.625rem}.sm\:-ml-2\.5{margin-left:-.625rem}.sm\:-mt-3\.5{margin-top:-.875rem}.sm\:-mr-3\.5{margin-right:-.875rem}.sm\:-mb-3\.5{margin-bottom:-.875rem}.sm\:-ml-3\.5{margin-left:-.875rem}.sm\:-mt-1\/2{margin-top:-50%}.sm\:-mr-1\/2{margin-right:-50%}.sm\:-mb-1\/2{margin-bottom:-50%}.sm\:-ml-1\/2{margin-left:-50%}.sm\:-mt-1\/3{margin-top:-33.33333%}.sm\:-mr-1\/3{margin-right:-33.33333%}.sm\:-mb-1\/3{margin-bottom:-33.33333%}.sm\:-ml-1\/3{margin-left:-33.33333%}.sm\:-mt-2\/3{margin-top:-66.66667%}.sm\:-mr-2\/3{margin-right:-66.66667%}.sm\:-mb-2\/3{margin-bottom:-66.66667%}.sm\:-ml-2\/3{margin-left:-66.66667%}.sm\:-mt-1\/4{margin-top:-25%}.sm\:-mr-1\/4{margin-right:-25%}.sm\:-mb-1\/4{margin-bottom:-25%}.sm\:-ml-1\/4{margin-left:-25%}.sm\:-mt-2\/4{margin-top:-50%}.sm\:-mr-2\/4{margin-right:-50%}.sm\:-mb-2\/4{margin-bottom:-50%}.sm\:-ml-2\/4{margin-left:-50%}.sm\:-mt-3\/4{margin-top:-75%}.sm\:-mr-3\/4{margin-right:-75%}.sm\:-mb-3\/4{margin-bottom:-75%}.sm\:-ml-3\/4{margin-left:-75%}.sm\:-mt-1\/5{margin-top:-20%}.sm\:-mr-1\/5{margin-right:-20%}.sm\:-mb-1\/5{margin-bottom:-20%}.sm\:-ml-1\/5{margin-left:-20%}.sm\:-mt-2\/5{margin-top:-40%}.sm\:-mr-2\/5{margin-right:-40%}.sm\:-mb-2\/5{margin-bottom:-40%}.sm\:-ml-2\/5{margin-left:-40%}.sm\:-mt-3\/5{margin-top:-60%}.sm\:-mr-3\/5{margin-right:-60%}.sm\:-mb-3\/5{margin-bottom:-60%}.sm\:-ml-3\/5{margin-left:-60%}.sm\:-mt-4\/5{margin-top:-80%}.sm\:-mr-4\/5{margin-right:-80%}.sm\:-mb-4\/5{margin-bottom:-80%}.sm\:-ml-4\/5{margin-left:-80%}.sm\:-mt-1\/6{margin-top:-16.66667%}.sm\:-mr-1\/6{margin-right:-16.66667%}.sm\:-mb-1\/6{margin-bottom:-16.66667%}.sm\:-ml-1\/6{margin-left:-16.66667%}.sm\:-mt-2\/6{margin-top:-33.33333%}.sm\:-mr-2\/6{margin-right:-33.33333%}.sm\:-mb-2\/6{margin-bottom:-33.33333%}.sm\:-ml-2\/6{margin-left:-33.33333%}.sm\:-mt-3\/6{margin-top:-50%}.sm\:-mr-3\/6{margin-right:-50%}.sm\:-mb-3\/6{margin-bottom:-50%}.sm\:-ml-3\/6{margin-left:-50%}.sm\:-mt-4\/6{margin-top:-66.66667%}.sm\:-mr-4\/6{margin-right:-66.66667%}.sm\:-mb-4\/6{margin-bottom:-66.66667%}.sm\:-ml-4\/6{margin-left:-66.66667%}.sm\:-mt-5\/6{margin-top:-83.33333%}.sm\:-mr-5\/6{margin-right:-83.33333%}.sm\:-mb-5\/6{margin-bottom:-83.33333%}.sm\:-ml-5\/6{margin-left:-83.33333%}.sm\:-mt-1\/12{margin-top:-8.33333%}.sm\:-mr-1\/12{margin-right:-8.33333%}.sm\:-mb-1\/12{margin-bottom:-8.33333%}.sm\:-ml-1\/12{margin-left:-8.33333%}.sm\:-mt-2\/12{margin-top:-16.66667%}.sm\:-mr-2\/12{margin-right:-16.66667%}.sm\:-mb-2\/12{margin-bottom:-16.66667%}.sm\:-ml-2\/12{margin-left:-16.66667%}.sm\:-mt-3\/12{margin-top:-25%}.sm\:-mr-3\/12{margin-right:-25%}.sm\:-mb-3\/12{margin-bottom:-25%}.sm\:-ml-3\/12{margin-left:-25%}.sm\:-mt-4\/12{margin-top:-33.33333%}.sm\:-mr-4\/12{margin-right:-33.33333%}.sm\:-mb-4\/12{margin-bottom:-33.33333%}.sm\:-ml-4\/12{margin-left:-33.33333%}.sm\:-mt-5\/12{margin-top:-41.66667%}.sm\:-mr-5\/12{margin-right:-41.66667%}.sm\:-mb-5\/12{margin-bottom:-41.66667%}.sm\:-ml-5\/12{margin-left:-41.66667%}.sm\:-mt-6\/12{margin-top:-50%}.sm\:-mr-6\/12{margin-right:-50%}.sm\:-mb-6\/12{margin-bottom:-50%}.sm\:-ml-6\/12{margin-left:-50%}.sm\:-mt-7\/12{margin-top:-58.33333%}.sm\:-mr-7\/12{margin-right:-58.33333%}.sm\:-mb-7\/12{margin-bottom:-58.33333%}.sm\:-ml-7\/12{margin-left:-58.33333%}.sm\:-mt-8\/12{margin-top:-66.66667%}.sm\:-mr-8\/12{margin-right:-66.66667%}.sm\:-mb-8\/12{margin-bottom:-66.66667%}.sm\:-ml-8\/12{margin-left:-66.66667%}.sm\:-mt-9\/12{margin-top:-75%}.sm\:-mr-9\/12{margin-right:-75%}.sm\:-mb-9\/12{margin-bottom:-75%}.sm\:-ml-9\/12{margin-left:-75%}.sm\:-mt-10\/12{margin-top:-83.33333%}.sm\:-mr-10\/12{margin-right:-83.33333%}.sm\:-mb-10\/12{margin-bottom:-83.33333%}.sm\:-ml-10\/12{margin-left:-83.33333%}.sm\:-mt-11\/12{margin-top:-91.66667%}.sm\:-mr-11\/12{margin-right:-91.66667%}.sm\:-mb-11\/12{margin-bottom:-91.66667%}.sm\:-ml-11\/12{margin-left:-91.66667%}.sm\:-mt-full{margin-top:-100%}.sm\:-mr-full{margin-right:-100%}.sm\:-mb-full{margin-bottom:-100%}.sm\:-ml-full{margin-left:-100%}.sm\:max-h-0{max-height:0}.sm\:max-h-1{max-height:.25rem}.sm\:max-h-2{max-height:.5rem}.sm\:max-h-3{max-height:.75rem}.sm\:max-h-4{max-height:1rem}.sm\:max-h-5{max-height:1.25rem}.sm\:max-h-6{max-height:1.5rem}.sm\:max-h-7{max-height:1.75rem}.sm\:max-h-8{max-height:2rem}.sm\:max-h-9{max-height:2.25rem}.sm\:max-h-10{max-height:2.5rem}.sm\:max-h-11{max-height:2.75rem}.sm\:max-h-12{max-height:3rem}.sm\:max-h-13{max-height:3.25rem}.sm\:max-h-14{max-height:3.5rem}.sm\:max-h-15{max-height:3.75rem}.sm\:max-h-16{max-height:4rem}.sm\:max-h-20{max-height:5rem}.sm\:max-h-24{max-height:6rem}.sm\:max-h-28{max-height:7rem}.sm\:max-h-32{max-height:8rem}.sm\:max-h-36{max-height:9rem}.sm\:max-h-40{max-height:10rem}.sm\:max-h-44{max-height:11rem}.sm\:max-h-48{max-height:12rem}.sm\:max-h-52{max-height:13rem}.sm\:max-h-56{max-height:14rem}.sm\:max-h-60{max-height:15rem}.sm\:max-h-64{max-height:16rem}.sm\:max-h-72{max-height:18rem}.sm\:max-h-80{max-height:20rem}.sm\:max-h-96{max-height:24rem}.sm\:max-h-screen{max-height:100vh}.sm\:max-h-px{max-height:1px}.sm\:max-h-0\.5{max-height:.125rem}.sm\:max-h-1\.5{max-height:.375rem}.sm\:max-h-2\.5{max-height:.625rem}.sm\:max-h-3\.5{max-height:.875rem}.sm\:max-h-1\/2{max-height:50%}.sm\:max-h-1\/3{max-height:33.333333%}.sm\:max-h-2\/3{max-height:66.666667%}.sm\:max-h-1\/4{max-height:25%}.sm\:max-h-2\/4{max-height:50%}.sm\:max-h-3\/4{max-height:75%}.sm\:max-h-1\/5{max-height:20%}.sm\:max-h-2\/5{max-height:40%}.sm\:max-h-3\/5{max-height:60%}.sm\:max-h-4\/5{max-height:80%}.sm\:max-h-1\/6{max-height:16.666667%}.sm\:max-h-2\/6{max-height:33.333333%}.sm\:max-h-3\/6{max-height:50%}.sm\:max-h-4\/6{max-height:66.666667%}.sm\:max-h-5\/6{max-height:83.333333%}.sm\:max-h-1\/12{max-height:8.333333%}.sm\:max-h-2\/12{max-height:16.666667%}.sm\:max-h-3\/12{max-height:25%}.sm\:max-h-4\/12{max-height:33.333333%}.sm\:max-h-5\/12{max-height:41.666667%}.sm\:max-h-6\/12{max-height:50%}.sm\:max-h-7\/12{max-height:58.333333%}.sm\:max-h-8\/12{max-height:66.666667%}.sm\:max-h-9\/12{max-height:75%}.sm\:max-h-10\/12{max-height:83.333333%}.sm\:max-h-11\/12{max-height:91.666667%}.sm\:max-h-full{max-height:100%}.sm\:max-w-0{max-width:0}.sm\:max-w-none{max-width:none}.sm\:max-w-xs{max-width:20rem}.sm\:max-w-sm{max-width:24rem}.sm\:max-w-md{max-width:28rem}.sm\:max-w-lg{max-width:32rem}.sm\:max-w-xl{max-width:36rem}.sm\:max-w-2xl{max-width:42rem}.sm\:max-w-3xl{max-width:48rem}.sm\:max-w-4xl{max-width:56rem}.sm\:max-w-5xl{max-width:64rem}.sm\:max-w-6xl{max-width:72rem}.sm\:max-w-7xl{max-width:80rem}.sm\:max-w-full{max-width:100%}.sm\:max-w-min-content{max-width:-webkit-min-content;max-width:-moz-min-content;max-width:min-content}.sm\:max-w-max-content{max-width:-webkit-max-content;max-width:-moz-max-content;max-width:max-content}.sm\:max-w-prose{max-width:65ch}.sm\:max-w-screen-sm{max-width:640px}.sm\:max-w-screen-md{max-width:768px}.sm\:max-w-screen-lg{max-width:1024px}.sm\:max-w-screen-xl{max-width:1280px}.sm\:min-h-0{min-height:0}.sm\:min-h-full{min-height:100%}.sm\:min-h-screen{min-height:100vh}.sm\:min-w-0{min-width:0}.sm\:min-w-full{min-width:100%}.sm\:min-w-min-content{min-width:-webkit-min-content;min-width:-moz-min-content;min-width:min-content}.sm\:min-w-max-content{min-width:-webkit-max-content;min-width:-moz-max-content;min-width:max-content}.sm\:object-contain{-o-object-fit:contain;object-fit:contain}.sm\:object-cover{-o-object-fit:cover;object-fit:cover}.sm\:object-fill{-o-object-fit:fill;object-fit:fill}.sm\:object-none{-o-object-fit:none;object-fit:none}.sm\:object-scale-down{-o-object-fit:scale-down;object-fit:scale-down}.sm\:object-bottom{-o-object-position:bottom;object-position:bottom}.sm\:object-center{-o-object-position:center;object-position:center}.sm\:object-left{-o-object-position:left;object-position:left}.sm\:object-left-bottom{-o-object-position:left bottom;object-position:left bottom}.sm\:object-left-top{-o-object-position:left top;object-position:left top}.sm\:object-right{-o-object-position:right;object-position:right}.sm\:object-right-bottom{-o-object-position:right bottom;object-position:right bottom}.sm\:object-right-top{-o-object-position:right top;object-position:right top}.sm\:object-top{-o-object-position:top;object-position:top}.sm\:opacity-0{opacity:0}.sm\:opacity-25{opacity:.25}.sm\:opacity-50{opacity:.5}.sm\:opacity-75{opacity:.75}.sm\:opacity-100{opacity:1}.sm\:hover\:opacity-0:hover{opacity:0}.sm\:hover\:opacity-25:hover{opacity:.25}.sm\:hover\:opacity-50:hover{opacity:.5}.sm\:hover\:opacity-75:hover{opacity:.75}.sm\:hover\:opacity-100:hover{opacity:1}.sm\:focus\:opacity-0:focus{opacity:0}.sm\:focus\:opacity-25:focus{opacity:.25}.sm\:focus\:opacity-50:focus{opacity:.5}.sm\:focus\:opacity-75:focus{opacity:.75}.sm\:focus\:opacity-100:focus{opacity:1}.sm\:outline-none{outline:0}.sm\:focus\:outline-none:focus{outline:0}.sm\:overflow-auto{overflow:auto}.sm\:overflow-hidden{overflow:hidden}.sm\:overflow-visible{overflow:visible}.sm\:overflow-scroll{overflow:scroll}.sm\:overflow-x-auto{overflow-x:auto}.sm\:overflow-y-auto{overflow-y:auto}.sm\:overflow-x-hidden{overflow-x:hidden}.sm\:overflow-y-hidden{overflow-y:hidden}.sm\:overflow-x-visible{overflow-x:visible}.sm\:overflow-y-visible{overflow-y:visible}.sm\:overflow-x-scroll{overflow-x:scroll}.sm\:overflow-y-scroll{overflow-y:scroll}.sm\:scrolling-touch{-webkit-overflow-scrolling:touch}.sm\:scrolling-auto{-webkit-overflow-scrolling:auto}.sm\:p-0{padding:0}.sm\:p-1{padding:.25rem}.sm\:p-2{padding:.5rem}.sm\:p-3{padding:.75rem}.sm\:p-4{padding:1rem}.sm\:p-5{padding:1.25rem}.sm\:p-6{padding:1.5rem}.sm\:p-7{padding:1.75rem}.sm\:p-8{padding:2rem}.sm\:p-9{padding:2.25rem}.sm\:p-10{padding:2.5rem}.sm\:p-11{padding:2.75rem}.sm\:p-12{padding:3rem}.sm\:p-13{padding:3.25rem}.sm\:p-14{padding:3.5rem}.sm\:p-15{padding:3.75rem}.sm\:p-16{padding:4rem}.sm\:p-20{padding:5rem}.sm\:p-24{padding:6rem}.sm\:p-28{padding:7rem}.sm\:p-32{padding:8rem}.sm\:p-36{padding:9rem}.sm\:p-40{padding:10rem}.sm\:p-44{padding:11rem}.sm\:p-48{padding:12rem}.sm\:p-52{padding:13rem}.sm\:p-56{padding:14rem}.sm\:p-60{padding:15rem}.sm\:p-64{padding:16rem}.sm\:p-72{padding:18rem}.sm\:p-80{padding:20rem}.sm\:p-96{padding:24rem}.sm\:p-px{padding:1px}.sm\:p-0\.5{padding:.125rem}.sm\:p-1\.5{padding:.375rem}.sm\:p-2\.5{padding:.625rem}.sm\:p-3\.5{padding:.875rem}.sm\:p-1\/2{padding:50%}.sm\:p-1\/3{padding:33.333333%}.sm\:p-2\/3{padding:66.666667%}.sm\:p-1\/4{padding:25%}.sm\:p-2\/4{padding:50%}.sm\:p-3\/4{padding:75%}.sm\:p-1\/5{padding:20%}.sm\:p-2\/5{padding:40%}.sm\:p-3\/5{padding:60%}.sm\:p-4\/5{padding:80%}.sm\:p-1\/6{padding:16.666667%}.sm\:p-2\/6{padding:33.333333%}.sm\:p-3\/6{padding:50%}.sm\:p-4\/6{padding:66.666667%}.sm\:p-5\/6{padding:83.333333%}.sm\:p-1\/12{padding:8.333333%}.sm\:p-2\/12{padding:16.666667%}.sm\:p-3\/12{padding:25%}.sm\:p-4\/12{padding:33.333333%}.sm\:p-5\/12{padding:41.666667%}.sm\:p-6\/12{padding:50%}.sm\:p-7\/12{padding:58.333333%}.sm\:p-8\/12{padding:66.666667%}.sm\:p-9\/12{padding:75%}.sm\:p-10\/12{padding:83.333333%}.sm\:p-11\/12{padding:91.666667%}.sm\:p-full{padding:100%}.sm\:py-0{padding-top:0;padding-bottom:0}.sm\:px-0{padding-left:0;padding-right:0}.sm\:py-1{padding-top:.25rem;padding-bottom:.25rem}.sm\:px-1{padding-left:.25rem;padding-right:.25rem}.sm\:py-2{padding-top:.5rem;padding-bottom:.5rem}.sm\:px-2{padding-left:.5rem;padding-right:.5rem}.sm\:py-3{padding-top:.75rem;padding-bottom:.75rem}.sm\:px-3{padding-left:.75rem;padding-right:.75rem}.sm\:py-4{padding-top:1rem;padding-bottom:1rem}.sm\:px-4{padding-left:1rem;padding-right:1rem}.sm\:py-5{padding-top:1.25rem;padding-bottom:1.25rem}.sm\:px-5{padding-left:1.25rem;padding-right:1.25rem}.sm\:py-6{padding-top:1.5rem;padding-bottom:1.5rem}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:py-7{padding-top:1.75rem;padding-bottom:1.75rem}.sm\:px-7{padding-left:1.75rem;padding-right:1.75rem}.sm\:py-8{padding-top:2rem;padding-bottom:2rem}.sm\:px-8{padding-left:2rem;padding-right:2rem}.sm\:py-9{padding-top:2.25rem;padding-bottom:2.25rem}.sm\:px-9{padding-left:2.25rem;padding-right:2.25rem}.sm\:py-10{padding-top:2.5rem;padding-bottom:2.5rem}.sm\:px-10{padding-left:2.5rem;padding-right:2.5rem}.sm\:py-11{padding-top:2.75rem;padding-bottom:2.75rem}.sm\:px-11{padding-left:2.75rem;padding-right:2.75rem}.sm\:py-12{padding-top:3rem;padding-bottom:3rem}.sm\:px-12{padding-left:3rem;padding-right:3rem}.sm\:py-13{padding-top:3.25rem;padding-bottom:3.25rem}.sm\:px-13{padding-left:3.25rem;padding-right:3.25rem}.sm\:py-14{padding-top:3.5rem;padding-bottom:3.5rem}.sm\:px-14{padding-left:3.5rem;padding-right:3.5rem}.sm\:py-15{padding-top:3.75rem;padding-bottom:3.75rem}.sm\:px-15{padding-left:3.75rem;padding-right:3.75rem}.sm\:py-16{padding-top:4rem;padding-bottom:4rem}.sm\:px-16{padding-left:4rem;padding-right:4rem}.sm\:py-20{padding-top:5rem;padding-bottom:5rem}.sm\:px-20{padding-left:5rem;padding-right:5rem}.sm\:py-24{padding-top:6rem;padding-bottom:6rem}.sm\:px-24{padding-left:6rem;padding-right:6rem}.sm\:py-28{padding-top:7rem;padding-bottom:7rem}.sm\:px-28{padding-left:7rem;padding-right:7rem}.sm\:py-32{padding-top:8rem;padding-bottom:8rem}.sm\:px-32{padding-left:8rem;padding-right:8rem}.sm\:py-36{padding-top:9rem;padding-bottom:9rem}.sm\:px-36{padding-left:9rem;padding-right:9rem}.sm\:py-40{padding-top:10rem;padding-bottom:10rem}.sm\:px-40{padding-left:10rem;padding-right:10rem}.sm\:py-44{padding-top:11rem;padding-bottom:11rem}.sm\:px-44{padding-left:11rem;padding-right:11rem}.sm\:py-48{padding-top:12rem;padding-bottom:12rem}.sm\:px-48{padding-left:12rem;padding-right:12rem}.sm\:py-52{padding-top:13rem;padding-bottom:13rem}.sm\:px-52{padding-left:13rem;padding-right:13rem}.sm\:py-56{padding-top:14rem;padding-bottom:14rem}.sm\:px-56{padding-left:14rem;padding-right:14rem}.sm\:py-60{padding-top:15rem;padding-bottom:15rem}.sm\:px-60{padding-left:15rem;padding-right:15rem}.sm\:py-64{padding-top:16rem;padding-bottom:16rem}.sm\:px-64{padding-left:16rem;padding-right:16rem}.sm\:py-72{padding-top:18rem;padding-bottom:18rem}.sm\:px-72{padding-left:18rem;padding-right:18rem}.sm\:py-80{padding-top:20rem;padding-bottom:20rem}.sm\:px-80{padding-left:20rem;padding-right:20rem}.sm\:py-96{padding-top:24rem;padding-bottom:24rem}.sm\:px-96{padding-left:24rem;padding-right:24rem}.sm\:py-px{padding-top:1px;padding-bottom:1px}.sm\:px-px{padding-left:1px;padding-right:1px}.sm\:py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.sm\:px-0\.5{padding-left:.125rem;padding-right:.125rem}.sm\:py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.sm\:px-1\.5{padding-left:.375rem;padding-right:.375rem}.sm\:py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.sm\:px-2\.5{padding-left:.625rem;padding-right:.625rem}.sm\:py-3\.5{padding-top:.875rem;padding-bottom:.875rem}.sm\:px-3\.5{padding-left:.875rem;padding-right:.875rem}.sm\:py-1\/2{padding-top:50%;padding-bottom:50%}.sm\:px-1\/2{padding-left:50%;padding-right:50%}.sm\:py-1\/3{padding-top:33.333333%;padding-bottom:33.333333%}.sm\:px-1\/3{padding-left:33.333333%;padding-right:33.333333%}.sm\:py-2\/3{padding-top:66.666667%;padding-bottom:66.666667%}.sm\:px-2\/3{padding-left:66.666667%;padding-right:66.666667%}.sm\:py-1\/4{padding-top:25%;padding-bottom:25%}.sm\:px-1\/4{padding-left:25%;padding-right:25%}.sm\:py-2\/4{padding-top:50%;padding-bottom:50%}.sm\:px-2\/4{padding-left:50%;padding-right:50%}.sm\:py-3\/4{padding-top:75%;padding-bottom:75%}.sm\:px-3\/4{padding-left:75%;padding-right:75%}.sm\:py-1\/5{padding-top:20%;padding-bottom:20%}.sm\:px-1\/5{padding-left:20%;padding-right:20%}.sm\:py-2\/5{padding-top:40%;padding-bottom:40%}.sm\:px-2\/5{padding-left:40%;padding-right:40%}.sm\:py-3\/5{padding-top:60%;padding-bottom:60%}.sm\:px-3\/5{padding-left:60%;padding-right:60%}.sm\:py-4\/5{padding-top:80%;padding-bottom:80%}.sm\:px-4\/5{padding-left:80%;padding-right:80%}.sm\:py-1\/6{padding-top:16.666667%;padding-bottom:16.666667%}.sm\:px-1\/6{padding-left:16.666667%;padding-right:16.666667%}.sm\:py-2\/6{padding-top:33.333333%;padding-bottom:33.333333%}.sm\:px-2\/6{padding-left:33.333333%;padding-right:33.333333%}.sm\:py-3\/6{padding-top:50%;padding-bottom:50%}.sm\:px-3\/6{padding-left:50%;padding-right:50%}.sm\:py-4\/6{padding-top:66.666667%;padding-bottom:66.666667%}.sm\:px-4\/6{padding-left:66.666667%;padding-right:66.666667%}.sm\:py-5\/6{padding-top:83.333333%;padding-bottom:83.333333%}.sm\:px-5\/6{padding-left:83.333333%;padding-right:83.333333%}.sm\:py-1\/12{padding-top:8.333333%;padding-bottom:8.333333%}.sm\:px-1\/12{padding-left:8.333333%;padding-right:8.333333%}.sm\:py-2\/12{padding-top:16.666667%;padding-bottom:16.666667%}.sm\:px-2\/12{padding-left:16.666667%;padding-right:16.666667%}.sm\:py-3\/12{padding-top:25%;padding-bottom:25%}.sm\:px-3\/12{padding-left:25%;padding-right:25%}.sm\:py-4\/12{padding-top:33.333333%;padding-bottom:33.333333%}.sm\:px-4\/12{padding-left:33.333333%;padding-right:33.333333%}.sm\:py-5\/12{padding-top:41.666667%;padding-bottom:41.666667%}.sm\:px-5\/12{padding-left:41.666667%;padding-right:41.666667%}.sm\:py-6\/12{padding-top:50%;padding-bottom:50%}.sm\:px-6\/12{padding-left:50%;padding-right:50%}.sm\:py-7\/12{padding-top:58.333333%;padding-bottom:58.333333%}.sm\:px-7\/12{padding-left:58.333333%;padding-right:58.333333%}.sm\:py-8\/12{padding-top:66.666667%;padding-bottom:66.666667%}.sm\:px-8\/12{padding-left:66.666667%;padding-right:66.666667%}.sm\:py-9\/12{padding-top:75%;padding-bottom:75%}.sm\:px-9\/12{padding-left:75%;padding-right:75%}.sm\:py-10\/12{padding-top:83.333333%;padding-bottom:83.333333%}.sm\:px-10\/12{padding-left:83.333333%;padding-right:83.333333%}.sm\:py-11\/12{padding-top:91.666667%;padding-bottom:91.666667%}.sm\:px-11\/12{padding-left:91.666667%;padding-right:91.666667%}.sm\:py-full{padding-top:100%;padding-bottom:100%}.sm\:px-full{padding-left:100%;padding-right:100%}.sm\:pt-0{padding-top:0}.sm\:pr-0{padding-right:0}.sm\:pb-0{padding-bottom:0}.sm\:pl-0{padding-left:0}.sm\:pt-1{padding-top:.25rem}.sm\:pr-1{padding-right:.25rem}.sm\:pb-1{padding-bottom:.25rem}.sm\:pl-1{padding-left:.25rem}.sm\:pt-2{padding-top:.5rem}.sm\:pr-2{padding-right:.5rem}.sm\:pb-2{padding-bottom:.5rem}.sm\:pl-2{padding-left:.5rem}.sm\:pt-3{padding-top:.75rem}.sm\:pr-3{padding-right:.75rem}.sm\:pb-3{padding-bottom:.75rem}.sm\:pl-3{padding-left:.75rem}.sm\:pt-4{padding-top:1rem}.sm\:pr-4{padding-right:1rem}.sm\:pb-4{padding-bottom:1rem}.sm\:pl-4{padding-left:1rem}.sm\:pt-5{padding-top:1.25rem}.sm\:pr-5{padding-right:1.25rem}.sm\:pb-5{padding-bottom:1.25rem}.sm\:pl-5{padding-left:1.25rem}.sm\:pt-6{padding-top:1.5rem}.sm\:pr-6{padding-right:1.5rem}.sm\:pb-6{padding-bottom:1.5rem}.sm\:pl-6{padding-left:1.5rem}.sm\:pt-7{padding-top:1.75rem}.sm\:pr-7{padding-right:1.75rem}.sm\:pb-7{padding-bottom:1.75rem}.sm\:pl-7{padding-left:1.75rem}.sm\:pt-8{padding-top:2rem}.sm\:pr-8{padding-right:2rem}.sm\:pb-8{padding-bottom:2rem}.sm\:pl-8{padding-left:2rem}.sm\:pt-9{padding-top:2.25rem}.sm\:pr-9{padding-right:2.25rem}.sm\:pb-9{padding-bottom:2.25rem}.sm\:pl-9{padding-left:2.25rem}.sm\:pt-10{padding-top:2.5rem}.sm\:pr-10{padding-right:2.5rem}.sm\:pb-10{padding-bottom:2.5rem}.sm\:pl-10{padding-left:2.5rem}.sm\:pt-11{padding-top:2.75rem}.sm\:pr-11{padding-right:2.75rem}.sm\:pb-11{padding-bottom:2.75rem}.sm\:pl-11{padding-left:2.75rem}.sm\:pt-12{padding-top:3rem}.sm\:pr-12{padding-right:3rem}.sm\:pb-12{padding-bottom:3rem}.sm\:pl-12{padding-left:3rem}.sm\:pt-13{padding-top:3.25rem}.sm\:pr-13{padding-right:3.25rem}.sm\:pb-13{padding-bottom:3.25rem}.sm\:pl-13{padding-left:3.25rem}.sm\:pt-14{padding-top:3.5rem}.sm\:pr-14{padding-right:3.5rem}.sm\:pb-14{padding-bottom:3.5rem}.sm\:pl-14{padding-left:3.5rem}.sm\:pt-15{padding-top:3.75rem}.sm\:pr-15{padding-right:3.75rem}.sm\:pb-15{padding-bottom:3.75rem}.sm\:pl-15{padding-left:3.75rem}.sm\:pt-16{padding-top:4rem}.sm\:pr-16{padding-right:4rem}.sm\:pb-16{padding-bottom:4rem}.sm\:pl-16{padding-left:4rem}.sm\:pt-20{padding-top:5rem}.sm\:pr-20{padding-right:5rem}.sm\:pb-20{padding-bottom:5rem}.sm\:pl-20{padding-left:5rem}.sm\:pt-24{padding-top:6rem}.sm\:pr-24{padding-right:6rem}.sm\:pb-24{padding-bottom:6rem}.sm\:pl-24{padding-left:6rem}.sm\:pt-28{padding-top:7rem}.sm\:pr-28{padding-right:7rem}.sm\:pb-28{padding-bottom:7rem}.sm\:pl-28{padding-left:7rem}.sm\:pt-32{padding-top:8rem}.sm\:pr-32{padding-right:8rem}.sm\:pb-32{padding-bottom:8rem}.sm\:pl-32{padding-left:8rem}.sm\:pt-36{padding-top:9rem}.sm\:pr-36{padding-right:9rem}.sm\:pb-36{padding-bottom:9rem}.sm\:pl-36{padding-left:9rem}.sm\:pt-40{padding-top:10rem}.sm\:pr-40{padding-right:10rem}.sm\:pb-40{padding-bottom:10rem}.sm\:pl-40{padding-left:10rem}.sm\:pt-44{padding-top:11rem}.sm\:pr-44{padding-right:11rem}.sm\:pb-44{padding-bottom:11rem}.sm\:pl-44{padding-left:11rem}.sm\:pt-48{padding-top:12rem}.sm\:pr-48{padding-right:12rem}.sm\:pb-48{padding-bottom:12rem}.sm\:pl-48{padding-left:12rem}.sm\:pt-52{padding-top:13rem}.sm\:pr-52{padding-right:13rem}.sm\:pb-52{padding-bottom:13rem}.sm\:pl-52{padding-left:13rem}.sm\:pt-56{padding-top:14rem}.sm\:pr-56{padding-right:14rem}.sm\:pb-56{padding-bottom:14rem}.sm\:pl-56{padding-left:14rem}.sm\:pt-60{padding-top:15rem}.sm\:pr-60{padding-right:15rem}.sm\:pb-60{padding-bottom:15rem}.sm\:pl-60{padding-left:15rem}.sm\:pt-64{padding-top:16rem}.sm\:pr-64{padding-right:16rem}.sm\:pb-64{padding-bottom:16rem}.sm\:pl-64{padding-left:16rem}.sm\:pt-72{padding-top:18rem}.sm\:pr-72{padding-right:18rem}.sm\:pb-72{padding-bottom:18rem}.sm\:pl-72{padding-left:18rem}.sm\:pt-80{padding-top:20rem}.sm\:pr-80{padding-right:20rem}.sm\:pb-80{padding-bottom:20rem}.sm\:pl-80{padding-left:20rem}.sm\:pt-96{padding-top:24rem}.sm\:pr-96{padding-right:24rem}.sm\:pb-96{padding-bottom:24rem}.sm\:pl-96{padding-left:24rem}.sm\:pt-px{padding-top:1px}.sm\:pr-px{padding-right:1px}.sm\:pb-px{padding-bottom:1px}.sm\:pl-px{padding-left:1px}.sm\:pt-0\.5{padding-top:.125rem}.sm\:pr-0\.5{padding-right:.125rem}.sm\:pb-0\.5{padding-bottom:.125rem}.sm\:pl-0\.5{padding-left:.125rem}.sm\:pt-1\.5{padding-top:.375rem}.sm\:pr-1\.5{padding-right:.375rem}.sm\:pb-1\.5{padding-bottom:.375rem}.sm\:pl-1\.5{padding-left:.375rem}.sm\:pt-2\.5{padding-top:.625rem}.sm\:pr-2\.5{padding-right:.625rem}.sm\:pb-2\.5{padding-bottom:.625rem}.sm\:pl-2\.5{padding-left:.625rem}.sm\:pt-3\.5{padding-top:.875rem}.sm\:pr-3\.5{padding-right:.875rem}.sm\:pb-3\.5{padding-bottom:.875rem}.sm\:pl-3\.5{padding-left:.875rem}.sm\:pt-1\/2{padding-top:50%}.sm\:pr-1\/2{padding-right:50%}.sm\:pb-1\/2{padding-bottom:50%}.sm\:pl-1\/2{padding-left:50%}.sm\:pt-1\/3{padding-top:33.333333%}.sm\:pr-1\/3{padding-right:33.333333%}.sm\:pb-1\/3{padding-bottom:33.333333%}.sm\:pl-1\/3{padding-left:33.333333%}.sm\:pt-2\/3{padding-top:66.666667%}.sm\:pr-2\/3{padding-right:66.666667%}.sm\:pb-2\/3{padding-bottom:66.666667%}.sm\:pl-2\/3{padding-left:66.666667%}.sm\:pt-1\/4{padding-top:25%}.sm\:pr-1\/4{padding-right:25%}.sm\:pb-1\/4{padding-bottom:25%}.sm\:pl-1\/4{padding-left:25%}.sm\:pt-2\/4{padding-top:50%}.sm\:pr-2\/4{padding-right:50%}.sm\:pb-2\/4{padding-bottom:50%}.sm\:pl-2\/4{padding-left:50%}.sm\:pt-3\/4{padding-top:75%}.sm\:pr-3\/4{padding-right:75%}.sm\:pb-3\/4{padding-bottom:75%}.sm\:pl-3\/4{padding-left:75%}.sm\:pt-1\/5{padding-top:20%}.sm\:pr-1\/5{padding-right:20%}.sm\:pb-1\/5{padding-bottom:20%}.sm\:pl-1\/5{padding-left:20%}.sm\:pt-2\/5{padding-top:40%}.sm\:pr-2\/5{padding-right:40%}.sm\:pb-2\/5{padding-bottom:40%}.sm\:pl-2\/5{padding-left:40%}.sm\:pt-3\/5{padding-top:60%}.sm\:pr-3\/5{padding-right:60%}.sm\:pb-3\/5{padding-bottom:60%}.sm\:pl-3\/5{padding-left:60%}.sm\:pt-4\/5{padding-top:80%}.sm\:pr-4\/5{padding-right:80%}.sm\:pb-4\/5{padding-bottom:80%}.sm\:pl-4\/5{padding-left:80%}.sm\:pt-1\/6{padding-top:16.666667%}.sm\:pr-1\/6{padding-right:16.666667%}.sm\:pb-1\/6{padding-bottom:16.666667%}.sm\:pl-1\/6{padding-left:16.666667%}.sm\:pt-2\/6{padding-top:33.333333%}.sm\:pr-2\/6{padding-right:33.333333%}.sm\:pb-2\/6{padding-bottom:33.333333%}.sm\:pl-2\/6{padding-left:33.333333%}.sm\:pt-3\/6{padding-top:50%}.sm\:pr-3\/6{padding-right:50%}.sm\:pb-3\/6{padding-bottom:50%}.sm\:pl-3\/6{padding-left:50%}.sm\:pt-4\/6{padding-top:66.666667%}.sm\:pr-4\/6{padding-right:66.666667%}.sm\:pb-4\/6{padding-bottom:66.666667%}.sm\:pl-4\/6{padding-left:66.666667%}.sm\:pt-5\/6{padding-top:83.333333%}.sm\:pr-5\/6{padding-right:83.333333%}.sm\:pb-5\/6{padding-bottom:83.333333%}.sm\:pl-5\/6{padding-left:83.333333%}.sm\:pt-1\/12{padding-top:8.333333%}.sm\:pr-1\/12{padding-right:8.333333%}.sm\:pb-1\/12{padding-bottom:8.333333%}.sm\:pl-1\/12{padding-left:8.333333%}.sm\:pt-2\/12{padding-top:16.666667%}.sm\:pr-2\/12{padding-right:16.666667%}.sm\:pb-2\/12{padding-bottom:16.666667%}.sm\:pl-2\/12{padding-left:16.666667%}.sm\:pt-3\/12{padding-top:25%}.sm\:pr-3\/12{padding-right:25%}.sm\:pb-3\/12{padding-bottom:25%}.sm\:pl-3\/12{padding-left:25%}.sm\:pt-4\/12{padding-top:33.333333%}.sm\:pr-4\/12{padding-right:33.333333%}.sm\:pb-4\/12{padding-bottom:33.333333%}.sm\:pl-4\/12{padding-left:33.333333%}.sm\:pt-5\/12{padding-top:41.666667%}.sm\:pr-5\/12{padding-right:41.666667%}.sm\:pb-5\/12{padding-bottom:41.666667%}.sm\:pl-5\/12{padding-left:41.666667%}.sm\:pt-6\/12{padding-top:50%}.sm\:pr-6\/12{padding-right:50%}.sm\:pb-6\/12{padding-bottom:50%}.sm\:pl-6\/12{padding-left:50%}.sm\:pt-7\/12{padding-top:58.333333%}.sm\:pr-7\/12{padding-right:58.333333%}.sm\:pb-7\/12{padding-bottom:58.333333%}.sm\:pl-7\/12{padding-left:58.333333%}.sm\:pt-8\/12{padding-top:66.666667%}.sm\:pr-8\/12{padding-right:66.666667%}.sm\:pb-8\/12{padding-bottom:66.666667%}.sm\:pl-8\/12{padding-left:66.666667%}.sm\:pt-9\/12{padding-top:75%}.sm\:pr-9\/12{padding-right:75%}.sm\:pb-9\/12{padding-bottom:75%}.sm\:pl-9\/12{padding-left:75%}.sm\:pt-10\/12{padding-top:83.333333%}.sm\:pr-10\/12{padding-right:83.333333%}.sm\:pb-10\/12{padding-bottom:83.333333%}.sm\:pl-10\/12{padding-left:83.333333%}.sm\:pt-11\/12{padding-top:91.666667%}.sm\:pr-11\/12{padding-right:91.666667%}.sm\:pb-11\/12{padding-bottom:91.666667%}.sm\:pl-11\/12{padding-left:91.666667%}.sm\:pt-full{padding-top:100%}.sm\:pr-full{padding-right:100%}.sm\:pb-full{padding-bottom:100%}.sm\:pl-full{padding-left:100%}.sm\:placeholder-transparent::-moz-placeholder{color:transparent}.sm\:placeholder-transparent:-ms-input-placeholder{color:transparent}.sm\:placeholder-transparent::-ms-input-placeholder{color:transparent}.sm\:placeholder-transparent::placeholder{color:transparent}.sm\:placeholder-white::-moz-placeholder{--placeholder-opacity:1;color:#fff;color:rgba(255,255,255,var(--placeholder-opacity))}.sm\:placeholder-white:-ms-input-placeholder{--placeholder-opacity:1;color:#fff;color:rgba(255,255,255,var(--placeholder-opacity))}.sm\:placeholder-white::-ms-input-placeholder{--placeholder-opacity:1;color:#fff;color:rgba(255,255,255,var(--placeholder-opacity))}.sm\:placeholder-white::placeholder{--placeholder-opacity:1;color:#fff;color:rgba(255,255,255,var(--placeholder-opacity))}.sm\:placeholder-black::-moz-placeholder{--placeholder-opacity:1;color:#000;color:rgba(0,0,0,var(--placeholder-opacity))}.sm\:placeholder-black:-ms-input-placeholder{--placeholder-opacity:1;color:#000;color:rgba(0,0,0,var(--placeholder-opacity))}.sm\:placeholder-black::-ms-input-placeholder{--placeholder-opacity:1;color:#000;color:rgba(0,0,0,var(--placeholder-opacity))}.sm\:placeholder-black::placeholder{--placeholder-opacity:1;color:#000;color:rgba(0,0,0,var(--placeholder-opacity))}.sm\:placeholder-gray-50::-moz-placeholder{--placeholder-opacity:1;color:#f9fafb;color:rgba(249,250,251,var(--placeholder-opacity))}.sm\:placeholder-gray-50:-ms-input-placeholder{--placeholder-opacity:1;color:#f9fafb;color:rgba(249,250,251,var(--placeholder-opacity))}.sm\:placeholder-gray-50::-ms-input-placeholder{--placeholder-opacity:1;color:#f9fafb;color:rgba(249,250,251,var(--placeholder-opacity))}.sm\:placeholder-gray-50::placeholder{--placeholder-opacity:1;color:#f9fafb;color:rgba(249,250,251,var(--placeholder-opacity))}.sm\:placeholder-gray-100::-moz-placeholder{--placeholder-opacity:1;color:#f4f5f7;color:rgba(244,245,247,var(--placeholder-opacity))}.sm\:placeholder-gray-100:-ms-input-placeholder{--placeholder-opacity:1;color:#f4f5f7;color:rgba(244,245,247,var(--placeholder-opacity))}.sm\:placeholder-gray-100::-ms-input-placeholder{--placeholder-opacity:1;color:#f4f5f7;color:rgba(244,245,247,var(--placeholder-opacity))}.sm\:placeholder-gray-100::placeholder{--placeholder-opacity:1;color:#f4f5f7;color:rgba(244,245,247,var(--placeholder-opacity))}.sm\:placeholder-gray-200::-moz-placeholder{--placeholder-opacity:1;color:#e5e7eb;color:rgba(229,231,235,var(--placeholder-opacity))}.sm\:placeholder-gray-200:-ms-input-placeholder{--placeholder-opacity:1;color:#e5e7eb;color:rgba(229,231,235,var(--placeholder-opacity))}.sm\:placeholder-gray-200::-ms-input-placeholder{--placeholder-opacity:1;color:#e5e7eb;color:rgba(229,231,235,var(--placeholder-opacity))}.sm\:placeholder-gray-200::placeholder{--placeholder-opacity:1;color:#e5e7eb;color:rgba(229,231,235,var(--placeholder-opacity))}.sm\:placeholder-gray-300::-moz-placeholder{--placeholder-opacity:1;color:#d2d6dc;color:rgba(210,214,220,var(--placeholder-opacity))}.sm\:placeholder-gray-300:-ms-input-placeholder{--placeholder-opacity:1;color:#d2d6dc;color:rgba(210,214,220,var(--placeholder-opacity))}.sm\:placeholder-gray-300::-ms-input-placeholder{--placeholder-opacity:1;color:#d2d6dc;color:rgba(210,214,220,var(--placeholder-opacity))}.sm\:placeholder-gray-300::placeholder{--placeholder-opacity:1;color:#d2d6dc;color:rgba(210,214,220,var(--placeholder-opacity))}.sm\:placeholder-gray-400::-moz-placeholder{--placeholder-opacity:1;color:#9fa6b2;color:rgba(159,166,178,var(--placeholder-opacity))}.sm\:placeholder-gray-400:-ms-input-placeholder{--placeholder-opacity:1;color:#9fa6b2;color:rgba(159,166,178,var(--placeholder-opacity))}.sm\:placeholder-gray-400::-ms-input-placeholder{--placeholder-opacity:1;color:#9fa6b2;color:rgba(159,166,178,var(--placeholder-opacity))}.sm\:placeholder-gray-400::placeholder{--placeholder-opacity:1;color:#9fa6b2;color:rgba(159,166,178,var(--placeholder-opacity))}.sm\:placeholder-gray-500::-moz-placeholder{--placeholder-opacity:1;color:#6b7280;color:rgba(107,114,128,var(--placeholder-opacity))}.sm\:placeholder-gray-500:-ms-input-placeholder{--placeholder-opacity:1;color:#6b7280;color:rgba(107,114,128,var(--placeholder-opacity))}.sm\:placeholder-gray-500::-ms-input-placeholder{--placeholder-opacity:1;color:#6b7280;color:rgba(107,114,128,var(--placeholder-opacity))}.sm\:placeholder-gray-500::placeholder{--placeholder-opacity:1;color:#6b7280;color:rgba(107,114,128,var(--placeholder-opacity))}.sm\:placeholder-gray-600::-moz-placeholder{--placeholder-opacity:1;color:#4b5563;color:rgba(75,85,99,var(--placeholder-opacity))}.sm\:placeholder-gray-600:-ms-input-placeholder{--placeholder-opacity:1;color:#4b5563;color:rgba(75,85,99,var(--placeholder-opacity))}.sm\:placeholder-gray-600::-ms-input-placeholder{--placeholder-opacity:1;color:#4b5563;color:rgba(75,85,99,var(--placeholder-opacity))}.sm\:placeholder-gray-600::placeholder{--placeholder-opacity:1;color:#4b5563;color:rgba(75,85,99,var(--placeholder-opacity))}.sm\:placeholder-gray-700::-moz-placeholder{--placeholder-opacity:1;color:#374151;color:rgba(55,65,81,var(--placeholder-opacity))}.sm\:placeholder-gray-700:-ms-input-placeholder{--placeholder-opacity:1;color:#374151;color:rgba(55,65,81,var(--placeholder-opacity))}.sm\:placeholder-gray-700::-ms-input-placeholder{--placeholder-opacity:1;color:#374151;color:rgba(55,65,81,var(--placeholder-opacity))}.sm\:placeholder-gray-700::placeholder{--placeholder-opacity:1;color:#374151;color:rgba(55,65,81,var(--placeholder-opacity))}.sm\:placeholder-gray-800::-moz-placeholder{--placeholder-opacity:1;color:#252f3f;color:rgba(37,47,63,var(--placeholder-opacity))}.sm\:placeholder-gray-800:-ms-input-placeholder{--placeholder-opacity:1;color:#252f3f;color:rgba(37,47,63,var(--placeholder-opacity))}.sm\:placeholder-gray-800::-ms-input-placeholder{--placeholder-opacity:1;color:#252f3f;color:rgba(37,47,63,var(--placeholder-opacity))}.sm\:placeholder-gray-800::placeholder{--placeholder-opacity:1;color:#252f3f;color:rgba(37,47,63,var(--placeholder-opacity))}.sm\:placeholder-gray-900::-moz-placeholder{--placeholder-opacity:1;color:#161e2e;color:rgba(22,30,46,var(--placeholder-opacity))}.sm\:placeholder-gray-900:-ms-input-placeholder{--placeholder-opacity:1;color:#161e2e;color:rgba(22,30,46,var(--placeholder-opacity))}.sm\:placeholder-gray-900::-ms-input-placeholder{--placeholder-opacity:1;color:#161e2e;color:rgba(22,30,46,var(--placeholder-opacity))}.sm\:placeholder-gray-900::placeholder{--placeholder-opacity:1;color:#161e2e;color:rgba(22,30,46,var(--placeholder-opacity))}.sm\:placeholder-cool-gray-50::-moz-placeholder{--placeholder-opacity:1;color:#f8fafc;color:rgba(248,250,252,var(--placeholder-opacity))}.sm\:placeholder-cool-gray-50:-ms-input-placeholder{--placeholder-opacity:1;color:#f8fafc;color:rgba(248,250,252,var(--placeholder-opacity))}.sm\:placeholder-cool-gray-50::-ms-input-placeholder{--placeholder-opacity:1;color:#f8fafc;color:rgba(248,250,252,var(--placeholder-opacity))}.sm\:placeholder-cool-gray-50::placeholder{--placeholder-opacity:1;color:#f8fafc;color:rgba(248,250,252,var(--placeholder-opacity))}.sm\:placeholder-cool-gray-100::-moz-placeholder{--placeholder-opacity:1;color:#f1f5f9;color:rgba(241,245,249,var(--placeholder-opacity))}.sm\:placeholder-cool-gray-100:-ms-input-placeholder{--placeholder-opacity:1;color:#f1f5f9;color:rgba(241,245,249,var(--placeholder-opacity))}.sm\:placeholder-cool-gray-100::-ms-input-placeholder{--placeholder-opacity:1;color:#f1f5f9;color:rgba(241,245,249,var(--placeholder-opacity))}.sm\:placeholder-cool-gray-100::placeholder{--placeholder-opacity:1;color:#f1f5f9;color:rgba(241,245,249,var(--placeholder-opacity))}.sm\:placeholder-cool-gray-200::-moz-placeholder{--placeholder-opacity:1;color:#e2e8f0;color:rgba(226,232,240,var(--placeholder-opacity))}.sm\:placeholder-cool-gray-200:-ms-input-placeholder{--placeholder-opacity:1;color:#e2e8f0;color:rgba(226,232,240,var(--placeholder-opacity))}.sm\:placeholder-cool-gray-200::-ms-input-placeholder{--placeholder-opacity:1;color:#e2e8f0;color:rgba(226,232,240,var(--placeholder-opacity))}.sm\:placeholder-cool-gray-200::placeholder{--placeholder-opacity:1;color:#e2e8f0;color:rgba(226,232,240,var(--placeholder-opacity))}.sm\:placeholder-cool-gray-300::-moz-placeholder{--placeholder-opacity:1;color:#cfd8e3;color:rgba(207,216,227,var(--placeholder-opacity))}.sm\:placeholder-cool-gray-300:-ms-input-placeholder{--placeholder-opacity:1;color:#cfd8e3;color:rgba(207,216,227,var(--placeholder-opacity))}.sm\:placeholder-cool-gray-300::-ms-input-placeholder{--placeholder-opacity:1;color:#cfd8e3;color:rgba(207,216,227,var(--placeholder-opacity))}.sm\:placeholder-cool-gray-300::placeholder{--placeholder-opacity:1;color:#cfd8e3;color:rgba(207,216,227,var(--placeholder-opacity))}.sm\:placeholder-cool-gray-400::-moz-placeholder{--placeholder-opacity:1;color:#97a6ba;color:rgba(151,166,186,var(--placeholder-opacity))}.sm\:placeholder-cool-gray-400:-ms-input-placeholder{--placeholder-opacity:1;color:#97a6ba;color:rgba(151,166,186,var(--placeholder-opacity))}.sm\:placeholder-cool-gray-400::-ms-input-placeholder{--placeholder-opacity:1;color:#97a6ba;color:rgba(151,166,186,var(--placeholder-opacity))}.sm\:placeholder-cool-gray-400::placeholder{--placeholder-opacity:1;color:#97a6ba;color:rgba(151,166,186,var(--placeholder-opacity))}.sm\:placeholder-cool-gray-500::-moz-placeholder{--placeholder-opacity:1;color:#64748b;color:rgba(100,116,139,var(--placeholder-opacity))}.sm\:placeholder-cool-gray-500:-ms-input-placeholder{--placeholder-opacity:1;color:#64748b;color:rgba(100,116,139,var(--placeholder-opacity))}.sm\:placeholder-cool-gray-500::-ms-input-placeholder{--placeholder-opacity:1;color:#64748b;color:rgba(100,116,139,var(--placeholder-opacity))}.sm\:placeholder-cool-gray-500::placeholder{--placeholder-opacity:1;color:#64748b;color:rgba(100,116,139,var(--placeholder-opacity))}.sm\:placeholder-cool-gray-600::-moz-placeholder{--placeholder-opacity:1;color:#475569;color:rgba(71,85,105,var(--placeholder-opacity))}.sm\:placeholder-cool-gray-600:-ms-input-placeholder{--placeholder-opacity:1;color:#475569;color:rgba(71,85,105,var(--placeholder-opacity))}.sm\:placeholder-cool-gray-600::-ms-input-placeholder{--placeholder-opacity:1;color:#475569;color:rgba(71,85,105,var(--placeholder-opacity))}.sm\:placeholder-cool-gray-600::placeholder{--placeholder-opacity:1;color:#475569;color:rgba(71,85,105,var(--placeholder-opacity))}.sm\:placeholder-cool-gray-700::-moz-placeholder{--placeholder-opacity:1;color:#364152;color:rgba(54,65,82,var(--placeholder-opacity))}.sm\:placeholder-cool-gray-700:-ms-input-placeholder{--placeholder-opacity:1;color:#364152;color:rgba(54,65,82,var(--placeholder-opacity))}.sm\:placeholder-cool-gray-700::-ms-input-placeholder{--placeholder-opacity:1;color:#364152;color:rgba(54,65,82,var(--placeholder-opacity))}.sm\:placeholder-cool-gray-700::placeholder{--placeholder-opacity:1;color:#364152;color:rgba(54,65,82,var(--placeholder-opacity))}.sm\:placeholder-cool-gray-800::-moz-placeholder{--placeholder-opacity:1;color:#27303f;color:rgba(39,48,63,var(--placeholder-opacity))}.sm\:placeholder-cool-gray-800:-ms-input-placeholder{--placeholder-opacity:1;color:#27303f;color:rgba(39,48,63,var(--placeholder-opacity))}.sm\:placeholder-cool-gray-800::-ms-input-placeholder{--placeholder-opacity:1;color:#27303f;color:rgba(39,48,63,var(--placeholder-opacity))}.sm\:placeholder-cool-gray-800::placeholder{--placeholder-opacity:1;color:#27303f;color:rgba(39,48,63,var(--placeholder-opacity))}.sm\:placeholder-cool-gray-900::-moz-placeholder{--placeholder-opacity:1;color:#1a202e;color:rgba(26,32,46,var(--placeholder-opacity))}.sm\:placeholder-cool-gray-900:-ms-input-placeholder{--placeholder-opacity:1;color:#1a202e;color:rgba(26,32,46,var(--placeholder-opacity))}.sm\:placeholder-cool-gray-900::-ms-input-placeholder{--placeholder-opacity:1;color:#1a202e;color:rgba(26,32,46,var(--placeholder-opacity))}.sm\:placeholder-cool-gray-900::placeholder{--placeholder-opacity:1;color:#1a202e;color:rgba(26,32,46,var(--placeholder-opacity))}.sm\:placeholder-red-50::-moz-placeholder{--placeholder-opacity:1;color:#fdf2f2;color:rgba(253,242,242,var(--placeholder-opacity))}.sm\:placeholder-red-50:-ms-input-placeholder{--placeholder-opacity:1;color:#fdf2f2;color:rgba(253,242,242,var(--placeholder-opacity))}.sm\:placeholder-red-50::-ms-input-placeholder{--placeholder-opacity:1;color:#fdf2f2;color:rgba(253,242,242,var(--placeholder-opacity))}.sm\:placeholder-red-50::placeholder{--placeholder-opacity:1;color:#fdf2f2;color:rgba(253,242,242,var(--placeholder-opacity))}.sm\:placeholder-red-100::-moz-placeholder{--placeholder-opacity:1;color:#fde8e8;color:rgba(253,232,232,var(--placeholder-opacity))}.sm\:placeholder-red-100:-ms-input-placeholder{--placeholder-opacity:1;color:#fde8e8;color:rgba(253,232,232,var(--placeholder-opacity))}.sm\:placeholder-red-100::-ms-input-placeholder{--placeholder-opacity:1;color:#fde8e8;color:rgba(253,232,232,var(--placeholder-opacity))}.sm\:placeholder-red-100::placeholder{--placeholder-opacity:1;color:#fde8e8;color:rgba(253,232,232,var(--placeholder-opacity))}.sm\:placeholder-red-200::-moz-placeholder{--placeholder-opacity:1;color:#fbd5d5;color:rgba(251,213,213,var(--placeholder-opacity))}.sm\:placeholder-red-200:-ms-input-placeholder{--placeholder-opacity:1;color:#fbd5d5;color:rgba(251,213,213,var(--placeholder-opacity))}.sm\:placeholder-red-200::-ms-input-placeholder{--placeholder-opacity:1;color:#fbd5d5;color:rgba(251,213,213,var(--placeholder-opacity))}.sm\:placeholder-red-200::placeholder{--placeholder-opacity:1;color:#fbd5d5;color:rgba(251,213,213,var(--placeholder-opacity))}.sm\:placeholder-red-300::-moz-placeholder{--placeholder-opacity:1;color:#f8b4b4;color:rgba(248,180,180,var(--placeholder-opacity))}.sm\:placeholder-red-300:-ms-input-placeholder{--placeholder-opacity:1;color:#f8b4b4;color:rgba(248,180,180,var(--placeholder-opacity))}.sm\:placeholder-red-300::-ms-input-placeholder{--placeholder-opacity:1;color:#f8b4b4;color:rgba(248,180,180,var(--placeholder-opacity))}.sm\:placeholder-red-300::placeholder{--placeholder-opacity:1;color:#f8b4b4;color:rgba(248,180,180,var(--placeholder-opacity))}.sm\:placeholder-red-400::-moz-placeholder{--placeholder-opacity:1;color:#f98080;color:rgba(249,128,128,var(--placeholder-opacity))}.sm\:placeholder-red-400:-ms-input-placeholder{--placeholder-opacity:1;color:#f98080;color:rgba(249,128,128,var(--placeholder-opacity))}.sm\:placeholder-red-400::-ms-input-placeholder{--placeholder-opacity:1;color:#f98080;color:rgba(249,128,128,var(--placeholder-opacity))}.sm\:placeholder-red-400::placeholder{--placeholder-opacity:1;color:#f98080;color:rgba(249,128,128,var(--placeholder-opacity))}.sm\:placeholder-red-500::-moz-placeholder{--placeholder-opacity:1;color:#f05252;color:rgba(240,82,82,var(--placeholder-opacity))}.sm\:placeholder-red-500:-ms-input-placeholder{--placeholder-opacity:1;color:#f05252;color:rgba(240,82,82,var(--placeholder-opacity))}.sm\:placeholder-red-500::-ms-input-placeholder{--placeholder-opacity:1;color:#f05252;color:rgba(240,82,82,var(--placeholder-opacity))}.sm\:placeholder-red-500::placeholder{--placeholder-opacity:1;color:#f05252;color:rgba(240,82,82,var(--placeholder-opacity))}.sm\:placeholder-red-600::-moz-placeholder{--placeholder-opacity:1;color:#e02424;color:rgba(224,36,36,var(--placeholder-opacity))}.sm\:placeholder-red-600:-ms-input-placeholder{--placeholder-opacity:1;color:#e02424;color:rgba(224,36,36,var(--placeholder-opacity))}.sm\:placeholder-red-600::-ms-input-placeholder{--placeholder-opacity:1;color:#e02424;color:rgba(224,36,36,var(--placeholder-opacity))}.sm\:placeholder-red-600::placeholder{--placeholder-opacity:1;color:#e02424;color:rgba(224,36,36,var(--placeholder-opacity))}.sm\:placeholder-red-700::-moz-placeholder{--placeholder-opacity:1;color:#c81e1e;color:rgba(200,30,30,var(--placeholder-opacity))}.sm\:placeholder-red-700:-ms-input-placeholder{--placeholder-opacity:1;color:#c81e1e;color:rgba(200,30,30,var(--placeholder-opacity))}.sm\:placeholder-red-700::-ms-input-placeholder{--placeholder-opacity:1;color:#c81e1e;color:rgba(200,30,30,var(--placeholder-opacity))}.sm\:placeholder-red-700::placeholder{--placeholder-opacity:1;color:#c81e1e;color:rgba(200,30,30,var(--placeholder-opacity))}.sm\:placeholder-red-800::-moz-placeholder{--placeholder-opacity:1;color:#9b1c1c;color:rgba(155,28,28,var(--placeholder-opacity))}.sm\:placeholder-red-800:-ms-input-placeholder{--placeholder-opacity:1;color:#9b1c1c;color:rgba(155,28,28,var(--placeholder-opacity))}.sm\:placeholder-red-800::-ms-input-placeholder{--placeholder-opacity:1;color:#9b1c1c;color:rgba(155,28,28,var(--placeholder-opacity))}.sm\:placeholder-red-800::placeholder{--placeholder-opacity:1;color:#9b1c1c;color:rgba(155,28,28,var(--placeholder-opacity))}.sm\:placeholder-red-900::-moz-placeholder{--placeholder-opacity:1;color:#771d1d;color:rgba(119,29,29,var(--placeholder-opacity))}.sm\:placeholder-red-900:-ms-input-placeholder{--placeholder-opacity:1;color:#771d1d;color:rgba(119,29,29,var(--placeholder-opacity))}.sm\:placeholder-red-900::-ms-input-placeholder{--placeholder-opacity:1;color:#771d1d;color:rgba(119,29,29,var(--placeholder-opacity))}.sm\:placeholder-red-900::placeholder{--placeholder-opacity:1;color:#771d1d;color:rgba(119,29,29,var(--placeholder-opacity))}.sm\:placeholder-orange-50::-moz-placeholder{--placeholder-opacity:1;color:#fff8f1;color:rgba(255,248,241,var(--placeholder-opacity))}.sm\:placeholder-orange-50:-ms-input-placeholder{--placeholder-opacity:1;color:#fff8f1;color:rgba(255,248,241,var(--placeholder-opacity))}.sm\:placeholder-orange-50::-ms-input-placeholder{--placeholder-opacity:1;color:#fff8f1;color:rgba(255,248,241,var(--placeholder-opacity))}.sm\:placeholder-orange-50::placeholder{--placeholder-opacity:1;color:#fff8f1;color:rgba(255,248,241,var(--placeholder-opacity))}.sm\:placeholder-orange-100::-moz-placeholder{--placeholder-opacity:1;color:#feecdc;color:rgba(254,236,220,var(--placeholder-opacity))}.sm\:placeholder-orange-100:-ms-input-placeholder{--placeholder-opacity:1;color:#feecdc;color:rgba(254,236,220,var(--placeholder-opacity))}.sm\:placeholder-orange-100::-ms-input-placeholder{--placeholder-opacity:1;color:#feecdc;color:rgba(254,236,220,var(--placeholder-opacity))}.sm\:placeholder-orange-100::placeholder{--placeholder-opacity:1;color:#feecdc;color:rgba(254,236,220,var(--placeholder-opacity))}.sm\:placeholder-orange-200::-moz-placeholder{--placeholder-opacity:1;color:#fcd9bd;color:rgba(252,217,189,var(--placeholder-opacity))}.sm\:placeholder-orange-200:-ms-input-placeholder{--placeholder-opacity:1;color:#fcd9bd;color:rgba(252,217,189,var(--placeholder-opacity))}.sm\:placeholder-orange-200::-ms-input-placeholder{--placeholder-opacity:1;color:#fcd9bd;color:rgba(252,217,189,var(--placeholder-opacity))}.sm\:placeholder-orange-200::placeholder{--placeholder-opacity:1;color:#fcd9bd;color:rgba(252,217,189,var(--placeholder-opacity))}.sm\:placeholder-orange-300::-moz-placeholder{--placeholder-opacity:1;color:#fdba8c;color:rgba(253,186,140,var(--placeholder-opacity))}.sm\:placeholder-orange-300:-ms-input-placeholder{--placeholder-opacity:1;color:#fdba8c;color:rgba(253,186,140,var(--placeholder-opacity))}.sm\:placeholder-orange-300::-ms-input-placeholder{--placeholder-opacity:1;color:#fdba8c;color:rgba(253,186,140,var(--placeholder-opacity))}.sm\:placeholder-orange-300::placeholder{--placeholder-opacity:1;color:#fdba8c;color:rgba(253,186,140,var(--placeholder-opacity))}.sm\:placeholder-orange-400::-moz-placeholder{--placeholder-opacity:1;color:#ff8a4c;color:rgba(255,138,76,var(--placeholder-opacity))}.sm\:placeholder-orange-400:-ms-input-placeholder{--placeholder-opacity:1;color:#ff8a4c;color:rgba(255,138,76,var(--placeholder-opacity))}.sm\:placeholder-orange-400::-ms-input-placeholder{--placeholder-opacity:1;color:#ff8a4c;color:rgba(255,138,76,var(--placeholder-opacity))}.sm\:placeholder-orange-400::placeholder{--placeholder-opacity:1;color:#ff8a4c;color:rgba(255,138,76,var(--placeholder-opacity))}.sm\:placeholder-orange-500::-moz-placeholder{--placeholder-opacity:1;color:#ff5a1f;color:rgba(255,90,31,var(--placeholder-opacity))}.sm\:placeholder-orange-500:-ms-input-placeholder{--placeholder-opacity:1;color:#ff5a1f;color:rgba(255,90,31,var(--placeholder-opacity))}.sm\:placeholder-orange-500::-ms-input-placeholder{--placeholder-opacity:1;color:#ff5a1f;color:rgba(255,90,31,var(--placeholder-opacity))}.sm\:placeholder-orange-500::placeholder{--placeholder-opacity:1;color:#ff5a1f;color:rgba(255,90,31,var(--placeholder-opacity))}.sm\:placeholder-orange-600::-moz-placeholder{--placeholder-opacity:1;color:#d03801;color:rgba(208,56,1,var(--placeholder-opacity))}.sm\:placeholder-orange-600:-ms-input-placeholder{--placeholder-opacity:1;color:#d03801;color:rgba(208,56,1,var(--placeholder-opacity))}.sm\:placeholder-orange-600::-ms-input-placeholder{--placeholder-opacity:1;color:#d03801;color:rgba(208,56,1,var(--placeholder-opacity))}.sm\:placeholder-orange-600::placeholder{--placeholder-opacity:1;color:#d03801;color:rgba(208,56,1,var(--placeholder-opacity))}.sm\:placeholder-orange-700::-moz-placeholder{--placeholder-opacity:1;color:#b43403;color:rgba(180,52,3,var(--placeholder-opacity))}.sm\:placeholder-orange-700:-ms-input-placeholder{--placeholder-opacity:1;color:#b43403;color:rgba(180,52,3,var(--placeholder-opacity))}.sm\:placeholder-orange-700::-ms-input-placeholder{--placeholder-opacity:1;color:#b43403;color:rgba(180,52,3,var(--placeholder-opacity))}.sm\:placeholder-orange-700::placeholder{--placeholder-opacity:1;color:#b43403;color:rgba(180,52,3,var(--placeholder-opacity))}.sm\:placeholder-orange-800::-moz-placeholder{--placeholder-opacity:1;color:#8a2c0d;color:rgba(138,44,13,var(--placeholder-opacity))}.sm\:placeholder-orange-800:-ms-input-placeholder{--placeholder-opacity:1;color:#8a2c0d;color:rgba(138,44,13,var(--placeholder-opacity))}.sm\:placeholder-orange-800::-ms-input-placeholder{--placeholder-opacity:1;color:#8a2c0d;color:rgba(138,44,13,var(--placeholder-opacity))}.sm\:placeholder-orange-800::placeholder{--placeholder-opacity:1;color:#8a2c0d;color:rgba(138,44,13,var(--placeholder-opacity))}.sm\:placeholder-orange-900::-moz-placeholder{--placeholder-opacity:1;color:#73230d;color:rgba(115,35,13,var(--placeholder-opacity))}.sm\:placeholder-orange-900:-ms-input-placeholder{--placeholder-opacity:1;color:#73230d;color:rgba(115,35,13,var(--placeholder-opacity))}.sm\:placeholder-orange-900::-ms-input-placeholder{--placeholder-opacity:1;color:#73230d;color:rgba(115,35,13,var(--placeholder-opacity))}.sm\:placeholder-orange-900::placeholder{--placeholder-opacity:1;color:#73230d;color:rgba(115,35,13,var(--placeholder-opacity))}.sm\:placeholder-yellow-50::-moz-placeholder{--placeholder-opacity:1;color:#fdfdea;color:rgba(253,253,234,var(--placeholder-opacity))}.sm\:placeholder-yellow-50:-ms-input-placeholder{--placeholder-opacity:1;color:#fdfdea;color:rgba(253,253,234,var(--placeholder-opacity))}.sm\:placeholder-yellow-50::-ms-input-placeholder{--placeholder-opacity:1;color:#fdfdea;color:rgba(253,253,234,var(--placeholder-opacity))}.sm\:placeholder-yellow-50::placeholder{--placeholder-opacity:1;color:#fdfdea;color:rgba(253,253,234,var(--placeholder-opacity))}.sm\:placeholder-yellow-100::-moz-placeholder{--placeholder-opacity:1;color:#fdf6b2;color:rgba(253,246,178,var(--placeholder-opacity))}.sm\:placeholder-yellow-100:-ms-input-placeholder{--placeholder-opacity:1;color:#fdf6b2;color:rgba(253,246,178,var(--placeholder-opacity))}.sm\:placeholder-yellow-100::-ms-input-placeholder{--placeholder-opacity:1;color:#fdf6b2;color:rgba(253,246,178,var(--placeholder-opacity))}.sm\:placeholder-yellow-100::placeholder{--placeholder-opacity:1;color:#fdf6b2;color:rgba(253,246,178,var(--placeholder-opacity))}.sm\:placeholder-yellow-200::-moz-placeholder{--placeholder-opacity:1;color:#fce96a;color:rgba(252,233,106,var(--placeholder-opacity))}.sm\:placeholder-yellow-200:-ms-input-placeholder{--placeholder-opacity:1;color:#fce96a;color:rgba(252,233,106,var(--placeholder-opacity))}.sm\:placeholder-yellow-200::-ms-input-placeholder{--placeholder-opacity:1;color:#fce96a;color:rgba(252,233,106,var(--placeholder-opacity))}.sm\:placeholder-yellow-200::placeholder{--placeholder-opacity:1;color:#fce96a;color:rgba(252,233,106,var(--placeholder-opacity))}.sm\:placeholder-yellow-300::-moz-placeholder{--placeholder-opacity:1;color:#faca15;color:rgba(250,202,21,var(--placeholder-opacity))}.sm\:placeholder-yellow-300:-ms-input-placeholder{--placeholder-opacity:1;color:#faca15;color:rgba(250,202,21,var(--placeholder-opacity))}.sm\:placeholder-yellow-300::-ms-input-placeholder{--placeholder-opacity:1;color:#faca15;color:rgba(250,202,21,var(--placeholder-opacity))}.sm\:placeholder-yellow-300::placeholder{--placeholder-opacity:1;color:#faca15;color:rgba(250,202,21,var(--placeholder-opacity))}.sm\:placeholder-yellow-400::-moz-placeholder{--placeholder-opacity:1;color:#e3a008;color:rgba(227,160,8,var(--placeholder-opacity))}.sm\:placeholder-yellow-400:-ms-input-placeholder{--placeholder-opacity:1;color:#e3a008;color:rgba(227,160,8,var(--placeholder-opacity))}.sm\:placeholder-yellow-400::-ms-input-placeholder{--placeholder-opacity:1;color:#e3a008;color:rgba(227,160,8,var(--placeholder-opacity))}.sm\:placeholder-yellow-400::placeholder{--placeholder-opacity:1;color:#e3a008;color:rgba(227,160,8,var(--placeholder-opacity))}.sm\:placeholder-yellow-500::-moz-placeholder{--placeholder-opacity:1;color:#c27803;color:rgba(194,120,3,var(--placeholder-opacity))}.sm\:placeholder-yellow-500:-ms-input-placeholder{--placeholder-opacity:1;color:#c27803;color:rgba(194,120,3,var(--placeholder-opacity))}.sm\:placeholder-yellow-500::-ms-input-placeholder{--placeholder-opacity:1;color:#c27803;color:rgba(194,120,3,var(--placeholder-opacity))}.sm\:placeholder-yellow-500::placeholder{--placeholder-opacity:1;color:#c27803;color:rgba(194,120,3,var(--placeholder-opacity))}.sm\:placeholder-yellow-600::-moz-placeholder{--placeholder-opacity:1;color:#9f580a;color:rgba(159,88,10,var(--placeholder-opacity))}.sm\:placeholder-yellow-600:-ms-input-placeholder{--placeholder-opacity:1;color:#9f580a;color:rgba(159,88,10,var(--placeholder-opacity))}.sm\:placeholder-yellow-600::-ms-input-placeholder{--placeholder-opacity:1;color:#9f580a;color:rgba(159,88,10,var(--placeholder-opacity))}.sm\:placeholder-yellow-600::placeholder{--placeholder-opacity:1;color:#9f580a;color:rgba(159,88,10,var(--placeholder-opacity))}.sm\:placeholder-yellow-700::-moz-placeholder{--placeholder-opacity:1;color:#8e4b10;color:rgba(142,75,16,var(--placeholder-opacity))}.sm\:placeholder-yellow-700:-ms-input-placeholder{--placeholder-opacity:1;color:#8e4b10;color:rgba(142,75,16,var(--placeholder-opacity))}.sm\:placeholder-yellow-700::-ms-input-placeholder{--placeholder-opacity:1;color:#8e4b10;color:rgba(142,75,16,var(--placeholder-opacity))}.sm\:placeholder-yellow-700::placeholder{--placeholder-opacity:1;color:#8e4b10;color:rgba(142,75,16,var(--placeholder-opacity))}.sm\:placeholder-yellow-800::-moz-placeholder{--placeholder-opacity:1;color:#723b13;color:rgba(114,59,19,var(--placeholder-opacity))}.sm\:placeholder-yellow-800:-ms-input-placeholder{--placeholder-opacity:1;color:#723b13;color:rgba(114,59,19,var(--placeholder-opacity))}.sm\:placeholder-yellow-800::-ms-input-placeholder{--placeholder-opacity:1;color:#723b13;color:rgba(114,59,19,var(--placeholder-opacity))}.sm\:placeholder-yellow-800::placeholder{--placeholder-opacity:1;color:#723b13;color:rgba(114,59,19,var(--placeholder-opacity))}.sm\:placeholder-yellow-900::-moz-placeholder{--placeholder-opacity:1;color:#633112;color:rgba(99,49,18,var(--placeholder-opacity))}.sm\:placeholder-yellow-900:-ms-input-placeholder{--placeholder-opacity:1;color:#633112;color:rgba(99,49,18,var(--placeholder-opacity))}.sm\:placeholder-yellow-900::-ms-input-placeholder{--placeholder-opacity:1;color:#633112;color:rgba(99,49,18,var(--placeholder-opacity))}.sm\:placeholder-yellow-900::placeholder{--placeholder-opacity:1;color:#633112;color:rgba(99,49,18,var(--placeholder-opacity))}.sm\:placeholder-green-50::-moz-placeholder{--placeholder-opacity:1;color:#f3faf7;color:rgba(243,250,247,var(--placeholder-opacity))}.sm\:placeholder-green-50:-ms-input-placeholder{--placeholder-opacity:1;color:#f3faf7;color:rgba(243,250,247,var(--placeholder-opacity))}.sm\:placeholder-green-50::-ms-input-placeholder{--placeholder-opacity:1;color:#f3faf7;color:rgba(243,250,247,var(--placeholder-opacity))}.sm\:placeholder-green-50::placeholder{--placeholder-opacity:1;color:#f3faf7;color:rgba(243,250,247,var(--placeholder-opacity))}.sm\:placeholder-green-100::-moz-placeholder{--placeholder-opacity:1;color:#def7ec;color:rgba(222,247,236,var(--placeholder-opacity))}.sm\:placeholder-green-100:-ms-input-placeholder{--placeholder-opacity:1;color:#def7ec;color:rgba(222,247,236,var(--placeholder-opacity))}.sm\:placeholder-green-100::-ms-input-placeholder{--placeholder-opacity:1;color:#def7ec;color:rgba(222,247,236,var(--placeholder-opacity))}.sm\:placeholder-green-100::placeholder{--placeholder-opacity:1;color:#def7ec;color:rgba(222,247,236,var(--placeholder-opacity))}.sm\:placeholder-green-200::-moz-placeholder{--placeholder-opacity:1;color:#bcf0da;color:rgba(188,240,218,var(--placeholder-opacity))}.sm\:placeholder-green-200:-ms-input-placeholder{--placeholder-opacity:1;color:#bcf0da;color:rgba(188,240,218,var(--placeholder-opacity))}.sm\:placeholder-green-200::-ms-input-placeholder{--placeholder-opacity:1;color:#bcf0da;color:rgba(188,240,218,var(--placeholder-opacity))}.sm\:placeholder-green-200::placeholder{--placeholder-opacity:1;color:#bcf0da;color:rgba(188,240,218,var(--placeholder-opacity))}.sm\:placeholder-green-300::-moz-placeholder{--placeholder-opacity:1;color:#84e1bc;color:rgba(132,225,188,var(--placeholder-opacity))}.sm\:placeholder-green-300:-ms-input-placeholder{--placeholder-opacity:1;color:#84e1bc;color:rgba(132,225,188,var(--placeholder-opacity))}.sm\:placeholder-green-300::-ms-input-placeholder{--placeholder-opacity:1;color:#84e1bc;color:rgba(132,225,188,var(--placeholder-opacity))}.sm\:placeholder-green-300::placeholder{--placeholder-opacity:1;color:#84e1bc;color:rgba(132,225,188,var(--placeholder-opacity))}.sm\:placeholder-green-400::-moz-placeholder{--placeholder-opacity:1;color:#31c48d;color:rgba(49,196,141,var(--placeholder-opacity))}.sm\:placeholder-green-400:-ms-input-placeholder{--placeholder-opacity:1;color:#31c48d;color:rgba(49,196,141,var(--placeholder-opacity))}.sm\:placeholder-green-400::-ms-input-placeholder{--placeholder-opacity:1;color:#31c48d;color:rgba(49,196,141,var(--placeholder-opacity))}.sm\:placeholder-green-400::placeholder{--placeholder-opacity:1;color:#31c48d;color:rgba(49,196,141,var(--placeholder-opacity))}.sm\:placeholder-green-500::-moz-placeholder{--placeholder-opacity:1;color:#0e9f6e;color:rgba(14,159,110,var(--placeholder-opacity))}.sm\:placeholder-green-500:-ms-input-placeholder{--placeholder-opacity:1;color:#0e9f6e;color:rgba(14,159,110,var(--placeholder-opacity))}.sm\:placeholder-green-500::-ms-input-placeholder{--placeholder-opacity:1;color:#0e9f6e;color:rgba(14,159,110,var(--placeholder-opacity))}.sm\:placeholder-green-500::placeholder{--placeholder-opacity:1;color:#0e9f6e;color:rgba(14,159,110,var(--placeholder-opacity))}.sm\:placeholder-green-600::-moz-placeholder{--placeholder-opacity:1;color:#057a55;color:rgba(5,122,85,var(--placeholder-opacity))}.sm\:placeholder-green-600:-ms-input-placeholder{--placeholder-opacity:1;color:#057a55;color:rgba(5,122,85,var(--placeholder-opacity))}.sm\:placeholder-green-600::-ms-input-placeholder{--placeholder-opacity:1;color:#057a55;color:rgba(5,122,85,var(--placeholder-opacity))}.sm\:placeholder-green-600::placeholder{--placeholder-opacity:1;color:#057a55;color:rgba(5,122,85,var(--placeholder-opacity))}.sm\:placeholder-green-700::-moz-placeholder{--placeholder-opacity:1;color:#046c4e;color:rgba(4,108,78,var(--placeholder-opacity))}.sm\:placeholder-green-700:-ms-input-placeholder{--placeholder-opacity:1;color:#046c4e;color:rgba(4,108,78,var(--placeholder-opacity))}.sm\:placeholder-green-700::-ms-input-placeholder{--placeholder-opacity:1;color:#046c4e;color:rgba(4,108,78,var(--placeholder-opacity))}.sm\:placeholder-green-700::placeholder{--placeholder-opacity:1;color:#046c4e;color:rgba(4,108,78,var(--placeholder-opacity))}.sm\:placeholder-green-800::-moz-placeholder{--placeholder-opacity:1;color:#03543f;color:rgba(3,84,63,var(--placeholder-opacity))}.sm\:placeholder-green-800:-ms-input-placeholder{--placeholder-opacity:1;color:#03543f;color:rgba(3,84,63,var(--placeholder-opacity))}.sm\:placeholder-green-800::-ms-input-placeholder{--placeholder-opacity:1;color:#03543f;color:rgba(3,84,63,var(--placeholder-opacity))}.sm\:placeholder-green-800::placeholder{--placeholder-opacity:1;color:#03543f;color:rgba(3,84,63,var(--placeholder-opacity))}.sm\:placeholder-green-900::-moz-placeholder{--placeholder-opacity:1;color:#014737;color:rgba(1,71,55,var(--placeholder-opacity))}.sm\:placeholder-green-900:-ms-input-placeholder{--placeholder-opacity:1;color:#014737;color:rgba(1,71,55,var(--placeholder-opacity))}.sm\:placeholder-green-900::-ms-input-placeholder{--placeholder-opacity:1;color:#014737;color:rgba(1,71,55,var(--placeholder-opacity))}.sm\:placeholder-green-900::placeholder{--placeholder-opacity:1;color:#014737;color:rgba(1,71,55,var(--placeholder-opacity))}.sm\:placeholder-teal-50::-moz-placeholder{--placeholder-opacity:1;color:#edfafa;color:rgba(237,250,250,var(--placeholder-opacity))}.sm\:placeholder-teal-50:-ms-input-placeholder{--placeholder-opacity:1;color:#edfafa;color:rgba(237,250,250,var(--placeholder-opacity))}.sm\:placeholder-teal-50::-ms-input-placeholder{--placeholder-opacity:1;color:#edfafa;color:rgba(237,250,250,var(--placeholder-opacity))}.sm\:placeholder-teal-50::placeholder{--placeholder-opacity:1;color:#edfafa;color:rgba(237,250,250,var(--placeholder-opacity))}.sm\:placeholder-teal-100::-moz-placeholder{--placeholder-opacity:1;color:#d5f5f6;color:rgba(213,245,246,var(--placeholder-opacity))}.sm\:placeholder-teal-100:-ms-input-placeholder{--placeholder-opacity:1;color:#d5f5f6;color:rgba(213,245,246,var(--placeholder-opacity))}.sm\:placeholder-teal-100::-ms-input-placeholder{--placeholder-opacity:1;color:#d5f5f6;color:rgba(213,245,246,var(--placeholder-opacity))}.sm\:placeholder-teal-100::placeholder{--placeholder-opacity:1;color:#d5f5f6;color:rgba(213,245,246,var(--placeholder-opacity))}.sm\:placeholder-teal-200::-moz-placeholder{--placeholder-opacity:1;color:#afecef;color:rgba(175,236,239,var(--placeholder-opacity))}.sm\:placeholder-teal-200:-ms-input-placeholder{--placeholder-opacity:1;color:#afecef;color:rgba(175,236,239,var(--placeholder-opacity))}.sm\:placeholder-teal-200::-ms-input-placeholder{--placeholder-opacity:1;color:#afecef;color:rgba(175,236,239,var(--placeholder-opacity))}.sm\:placeholder-teal-200::placeholder{--placeholder-opacity:1;color:#afecef;color:rgba(175,236,239,var(--placeholder-opacity))}.sm\:placeholder-teal-300::-moz-placeholder{--placeholder-opacity:1;color:#7edce2;color:rgba(126,220,226,var(--placeholder-opacity))}.sm\:placeholder-teal-300:-ms-input-placeholder{--placeholder-opacity:1;color:#7edce2;color:rgba(126,220,226,var(--placeholder-opacity))}.sm\:placeholder-teal-300::-ms-input-placeholder{--placeholder-opacity:1;color:#7edce2;color:rgba(126,220,226,var(--placeholder-opacity))}.sm\:placeholder-teal-300::placeholder{--placeholder-opacity:1;color:#7edce2;color:rgba(126,220,226,var(--placeholder-opacity))}.sm\:placeholder-teal-400::-moz-placeholder{--placeholder-opacity:1;color:#16bdca;color:rgba(22,189,202,var(--placeholder-opacity))}.sm\:placeholder-teal-400:-ms-input-placeholder{--placeholder-opacity:1;color:#16bdca;color:rgba(22,189,202,var(--placeholder-opacity))}.sm\:placeholder-teal-400::-ms-input-placeholder{--placeholder-opacity:1;color:#16bdca;color:rgba(22,189,202,var(--placeholder-opacity))}.sm\:placeholder-teal-400::placeholder{--placeholder-opacity:1;color:#16bdca;color:rgba(22,189,202,var(--placeholder-opacity))}.sm\:placeholder-teal-500::-moz-placeholder{--placeholder-opacity:1;color:#0694a2;color:rgba(6,148,162,var(--placeholder-opacity))}.sm\:placeholder-teal-500:-ms-input-placeholder{--placeholder-opacity:1;color:#0694a2;color:rgba(6,148,162,var(--placeholder-opacity))}.sm\:placeholder-teal-500::-ms-input-placeholder{--placeholder-opacity:1;color:#0694a2;color:rgba(6,148,162,var(--placeholder-opacity))}.sm\:placeholder-teal-500::placeholder{--placeholder-opacity:1;color:#0694a2;color:rgba(6,148,162,var(--placeholder-opacity))}.sm\:placeholder-teal-600::-moz-placeholder{--placeholder-opacity:1;color:#047481;color:rgba(4,116,129,var(--placeholder-opacity))}.sm\:placeholder-teal-600:-ms-input-placeholder{--placeholder-opacity:1;color:#047481;color:rgba(4,116,129,var(--placeholder-opacity))}.sm\:placeholder-teal-600::-ms-input-placeholder{--placeholder-opacity:1;color:#047481;color:rgba(4,116,129,var(--placeholder-opacity))}.sm\:placeholder-teal-600::placeholder{--placeholder-opacity:1;color:#047481;color:rgba(4,116,129,var(--placeholder-opacity))}.sm\:placeholder-teal-700::-moz-placeholder{--placeholder-opacity:1;color:#036672;color:rgba(3,102,114,var(--placeholder-opacity))}.sm\:placeholder-teal-700:-ms-input-placeholder{--placeholder-opacity:1;color:#036672;color:rgba(3,102,114,var(--placeholder-opacity))}.sm\:placeholder-teal-700::-ms-input-placeholder{--placeholder-opacity:1;color:#036672;color:rgba(3,102,114,var(--placeholder-opacity))}.sm\:placeholder-teal-700::placeholder{--placeholder-opacity:1;color:#036672;color:rgba(3,102,114,var(--placeholder-opacity))}.sm\:placeholder-teal-800::-moz-placeholder{--placeholder-opacity:1;color:#05505c;color:rgba(5,80,92,var(--placeholder-opacity))}.sm\:placeholder-teal-800:-ms-input-placeholder{--placeholder-opacity:1;color:#05505c;color:rgba(5,80,92,var(--placeholder-opacity))}.sm\:placeholder-teal-800::-ms-input-placeholder{--placeholder-opacity:1;color:#05505c;color:rgba(5,80,92,var(--placeholder-opacity))}.sm\:placeholder-teal-800::placeholder{--placeholder-opacity:1;color:#05505c;color:rgba(5,80,92,var(--placeholder-opacity))}.sm\:placeholder-teal-900::-moz-placeholder{--placeholder-opacity:1;color:#014451;color:rgba(1,68,81,var(--placeholder-opacity))}.sm\:placeholder-teal-900:-ms-input-placeholder{--placeholder-opacity:1;color:#014451;color:rgba(1,68,81,var(--placeholder-opacity))}.sm\:placeholder-teal-900::-ms-input-placeholder{--placeholder-opacity:1;color:#014451;color:rgba(1,68,81,var(--placeholder-opacity))}.sm\:placeholder-teal-900::placeholder{--placeholder-opacity:1;color:#014451;color:rgba(1,68,81,var(--placeholder-opacity))}.sm\:placeholder-blue-50::-moz-placeholder{--placeholder-opacity:1;color:#ebf5ff;color:rgba(235,245,255,var(--placeholder-opacity))}.sm\:placeholder-blue-50:-ms-input-placeholder{--placeholder-opacity:1;color:#ebf5ff;color:rgba(235,245,255,var(--placeholder-opacity))}.sm\:placeholder-blue-50::-ms-input-placeholder{--placeholder-opacity:1;color:#ebf5ff;color:rgba(235,245,255,var(--placeholder-opacity))}.sm\:placeholder-blue-50::placeholder{--placeholder-opacity:1;color:#ebf5ff;color:rgba(235,245,255,var(--placeholder-opacity))}.sm\:placeholder-blue-100::-moz-placeholder{--placeholder-opacity:1;color:#e1effe;color:rgba(225,239,254,var(--placeholder-opacity))}.sm\:placeholder-blue-100:-ms-input-placeholder{--placeholder-opacity:1;color:#e1effe;color:rgba(225,239,254,var(--placeholder-opacity))}.sm\:placeholder-blue-100::-ms-input-placeholder{--placeholder-opacity:1;color:#e1effe;color:rgba(225,239,254,var(--placeholder-opacity))}.sm\:placeholder-blue-100::placeholder{--placeholder-opacity:1;color:#e1effe;color:rgba(225,239,254,var(--placeholder-opacity))}.sm\:placeholder-blue-200::-moz-placeholder{--placeholder-opacity:1;color:#c3ddfd;color:rgba(195,221,253,var(--placeholder-opacity))}.sm\:placeholder-blue-200:-ms-input-placeholder{--placeholder-opacity:1;color:#c3ddfd;color:rgba(195,221,253,var(--placeholder-opacity))}.sm\:placeholder-blue-200::-ms-input-placeholder{--placeholder-opacity:1;color:#c3ddfd;color:rgba(195,221,253,var(--placeholder-opacity))}.sm\:placeholder-blue-200::placeholder{--placeholder-opacity:1;color:#c3ddfd;color:rgba(195,221,253,var(--placeholder-opacity))}.sm\:placeholder-blue-300::-moz-placeholder{--placeholder-opacity:1;color:#a4cafe;color:rgba(164,202,254,var(--placeholder-opacity))}.sm\:placeholder-blue-300:-ms-input-placeholder{--placeholder-opacity:1;color:#a4cafe;color:rgba(164,202,254,var(--placeholder-opacity))}.sm\:placeholder-blue-300::-ms-input-placeholder{--placeholder-opacity:1;color:#a4cafe;color:rgba(164,202,254,var(--placeholder-opacity))}.sm\:placeholder-blue-300::placeholder{--placeholder-opacity:1;color:#a4cafe;color:rgba(164,202,254,var(--placeholder-opacity))}.sm\:placeholder-blue-400::-moz-placeholder{--placeholder-opacity:1;color:#76a9fa;color:rgba(118,169,250,var(--placeholder-opacity))}.sm\:placeholder-blue-400:-ms-input-placeholder{--placeholder-opacity:1;color:#76a9fa;color:rgba(118,169,250,var(--placeholder-opacity))}.sm\:placeholder-blue-400::-ms-input-placeholder{--placeholder-opacity:1;color:#76a9fa;color:rgba(118,169,250,var(--placeholder-opacity))}.sm\:placeholder-blue-400::placeholder{--placeholder-opacity:1;color:#76a9fa;color:rgba(118,169,250,var(--placeholder-opacity))}.sm\:placeholder-blue-500::-moz-placeholder{--placeholder-opacity:1;color:#3f83f8;color:rgba(63,131,248,var(--placeholder-opacity))}.sm\:placeholder-blue-500:-ms-input-placeholder{--placeholder-opacity:1;color:#3f83f8;color:rgba(63,131,248,var(--placeholder-opacity))}.sm\:placeholder-blue-500::-ms-input-placeholder{--placeholder-opacity:1;color:#3f83f8;color:rgba(63,131,248,var(--placeholder-opacity))}.sm\:placeholder-blue-500::placeholder{--placeholder-opacity:1;color:#3f83f8;color:rgba(63,131,248,var(--placeholder-opacity))}.sm\:placeholder-blue-600::-moz-placeholder{--placeholder-opacity:1;color:#1c64f2;color:rgba(28,100,242,var(--placeholder-opacity))}.sm\:placeholder-blue-600:-ms-input-placeholder{--placeholder-opacity:1;color:#1c64f2;color:rgba(28,100,242,var(--placeholder-opacity))}.sm\:placeholder-blue-600::-ms-input-placeholder{--placeholder-opacity:1;color:#1c64f2;color:rgba(28,100,242,var(--placeholder-opacity))}.sm\:placeholder-blue-600::placeholder{--placeholder-opacity:1;color:#1c64f2;color:rgba(28,100,242,var(--placeholder-opacity))}.sm\:placeholder-blue-700::-moz-placeholder{--placeholder-opacity:1;color:#1a56db;color:rgba(26,86,219,var(--placeholder-opacity))}.sm\:placeholder-blue-700:-ms-input-placeholder{--placeholder-opacity:1;color:#1a56db;color:rgba(26,86,219,var(--placeholder-opacity))}.sm\:placeholder-blue-700::-ms-input-placeholder{--placeholder-opacity:1;color:#1a56db;color:rgba(26,86,219,var(--placeholder-opacity))}.sm\:placeholder-blue-700::placeholder{--placeholder-opacity:1;color:#1a56db;color:rgba(26,86,219,var(--placeholder-opacity))}.sm\:placeholder-blue-800::-moz-placeholder{--placeholder-opacity:1;color:#1e429f;color:rgba(30,66,159,var(--placeholder-opacity))}.sm\:placeholder-blue-800:-ms-input-placeholder{--placeholder-opacity:1;color:#1e429f;color:rgba(30,66,159,var(--placeholder-opacity))}.sm\:placeholder-blue-800::-ms-input-placeholder{--placeholder-opacity:1;color:#1e429f;color:rgba(30,66,159,var(--placeholder-opacity))}.sm\:placeholder-blue-800::placeholder{--placeholder-opacity:1;color:#1e429f;color:rgba(30,66,159,var(--placeholder-opacity))}.sm\:placeholder-blue-900::-moz-placeholder{--placeholder-opacity:1;color:#233876;color:rgba(35,56,118,var(--placeholder-opacity))}.sm\:placeholder-blue-900:-ms-input-placeholder{--placeholder-opacity:1;color:#233876;color:rgba(35,56,118,var(--placeholder-opacity))}.sm\:placeholder-blue-900::-ms-input-placeholder{--placeholder-opacity:1;color:#233876;color:rgba(35,56,118,var(--placeholder-opacity))}.sm\:placeholder-blue-900::placeholder{--placeholder-opacity:1;color:#233876;color:rgba(35,56,118,var(--placeholder-opacity))}.sm\:placeholder-indigo-50::-moz-placeholder{--placeholder-opacity:1;color:#f0f5ff;color:rgba(240,245,255,var(--placeholder-opacity))}.sm\:placeholder-indigo-50:-ms-input-placeholder{--placeholder-opacity:1;color:#f0f5ff;color:rgba(240,245,255,var(--placeholder-opacity))}.sm\:placeholder-indigo-50::-ms-input-placeholder{--placeholder-opacity:1;color:#f0f5ff;color:rgba(240,245,255,var(--placeholder-opacity))}.sm\:placeholder-indigo-50::placeholder{--placeholder-opacity:1;color:#f0f5ff;color:rgba(240,245,255,var(--placeholder-opacity))}.sm\:placeholder-indigo-100::-moz-placeholder{--placeholder-opacity:1;color:#e5edff;color:rgba(229,237,255,var(--placeholder-opacity))}.sm\:placeholder-indigo-100:-ms-input-placeholder{--placeholder-opacity:1;color:#e5edff;color:rgba(229,237,255,var(--placeholder-opacity))}.sm\:placeholder-indigo-100::-ms-input-placeholder{--placeholder-opacity:1;color:#e5edff;color:rgba(229,237,255,var(--placeholder-opacity))}.sm\:placeholder-indigo-100::placeholder{--placeholder-opacity:1;color:#e5edff;color:rgba(229,237,255,var(--placeholder-opacity))}.sm\:placeholder-indigo-200::-moz-placeholder{--placeholder-opacity:1;color:#cddbfe;color:rgba(205,219,254,var(--placeholder-opacity))}.sm\:placeholder-indigo-200:-ms-input-placeholder{--placeholder-opacity:1;color:#cddbfe;color:rgba(205,219,254,var(--placeholder-opacity))}.sm\:placeholder-indigo-200::-ms-input-placeholder{--placeholder-opacity:1;color:#cddbfe;color:rgba(205,219,254,var(--placeholder-opacity))}.sm\:placeholder-indigo-200::placeholder{--placeholder-opacity:1;color:#cddbfe;color:rgba(205,219,254,var(--placeholder-opacity))}.sm\:placeholder-indigo-300::-moz-placeholder{--placeholder-opacity:1;color:#b4c6fc;color:rgba(180,198,252,var(--placeholder-opacity))}.sm\:placeholder-indigo-300:-ms-input-placeholder{--placeholder-opacity:1;color:#b4c6fc;color:rgba(180,198,252,var(--placeholder-opacity))}.sm\:placeholder-indigo-300::-ms-input-placeholder{--placeholder-opacity:1;color:#b4c6fc;color:rgba(180,198,252,var(--placeholder-opacity))}.sm\:placeholder-indigo-300::placeholder{--placeholder-opacity:1;color:#b4c6fc;color:rgba(180,198,252,var(--placeholder-opacity))}.sm\:placeholder-indigo-400::-moz-placeholder{--placeholder-opacity:1;color:#8da2fb;color:rgba(141,162,251,var(--placeholder-opacity))}.sm\:placeholder-indigo-400:-ms-input-placeholder{--placeholder-opacity:1;color:#8da2fb;color:rgba(141,162,251,var(--placeholder-opacity))}.sm\:placeholder-indigo-400::-ms-input-placeholder{--placeholder-opacity:1;color:#8da2fb;color:rgba(141,162,251,var(--placeholder-opacity))}.sm\:placeholder-indigo-400::placeholder{--placeholder-opacity:1;color:#8da2fb;color:rgba(141,162,251,var(--placeholder-opacity))}.sm\:placeholder-indigo-500::-moz-placeholder{--placeholder-opacity:1;color:#6875f5;color:rgba(104,117,245,var(--placeholder-opacity))}.sm\:placeholder-indigo-500:-ms-input-placeholder{--placeholder-opacity:1;color:#6875f5;color:rgba(104,117,245,var(--placeholder-opacity))}.sm\:placeholder-indigo-500::-ms-input-placeholder{--placeholder-opacity:1;color:#6875f5;color:rgba(104,117,245,var(--placeholder-opacity))}.sm\:placeholder-indigo-500::placeholder{--placeholder-opacity:1;color:#6875f5;color:rgba(104,117,245,var(--placeholder-opacity))}.sm\:placeholder-indigo-600::-moz-placeholder{--placeholder-opacity:1;color:#5850ec;color:rgba(88,80,236,var(--placeholder-opacity))}.sm\:placeholder-indigo-600:-ms-input-placeholder{--placeholder-opacity:1;color:#5850ec;color:rgba(88,80,236,var(--placeholder-opacity))}.sm\:placeholder-indigo-600::-ms-input-placeholder{--placeholder-opacity:1;color:#5850ec;color:rgba(88,80,236,var(--placeholder-opacity))}.sm\:placeholder-indigo-600::placeholder{--placeholder-opacity:1;color:#5850ec;color:rgba(88,80,236,var(--placeholder-opacity))}.sm\:placeholder-indigo-700::-moz-placeholder{--placeholder-opacity:1;color:#5145cd;color:rgba(81,69,205,var(--placeholder-opacity))}.sm\:placeholder-indigo-700:-ms-input-placeholder{--placeholder-opacity:1;color:#5145cd;color:rgba(81,69,205,var(--placeholder-opacity))}.sm\:placeholder-indigo-700::-ms-input-placeholder{--placeholder-opacity:1;color:#5145cd;color:rgba(81,69,205,var(--placeholder-opacity))}.sm\:placeholder-indigo-700::placeholder{--placeholder-opacity:1;color:#5145cd;color:rgba(81,69,205,var(--placeholder-opacity))}.sm\:placeholder-indigo-800::-moz-placeholder{--placeholder-opacity:1;color:#42389d;color:rgba(66,56,157,var(--placeholder-opacity))}.sm\:placeholder-indigo-800:-ms-input-placeholder{--placeholder-opacity:1;color:#42389d;color:rgba(66,56,157,var(--placeholder-opacity))}.sm\:placeholder-indigo-800::-ms-input-placeholder{--placeholder-opacity:1;color:#42389d;color:rgba(66,56,157,var(--placeholder-opacity))}.sm\:placeholder-indigo-800::placeholder{--placeholder-opacity:1;color:#42389d;color:rgba(66,56,157,var(--placeholder-opacity))}.sm\:placeholder-indigo-900::-moz-placeholder{--placeholder-opacity:1;color:#362f78;color:rgba(54,47,120,var(--placeholder-opacity))}.sm\:placeholder-indigo-900:-ms-input-placeholder{--placeholder-opacity:1;color:#362f78;color:rgba(54,47,120,var(--placeholder-opacity))}.sm\:placeholder-indigo-900::-ms-input-placeholder{--placeholder-opacity:1;color:#362f78;color:rgba(54,47,120,var(--placeholder-opacity))}.sm\:placeholder-indigo-900::placeholder{--placeholder-opacity:1;color:#362f78;color:rgba(54,47,120,var(--placeholder-opacity))}.sm\:placeholder-purple-50::-moz-placeholder{--placeholder-opacity:1;color:#f6f5ff;color:rgba(246,245,255,var(--placeholder-opacity))}.sm\:placeholder-purple-50:-ms-input-placeholder{--placeholder-opacity:1;color:#f6f5ff;color:rgba(246,245,255,var(--placeholder-opacity))}.sm\:placeholder-purple-50::-ms-input-placeholder{--placeholder-opacity:1;color:#f6f5ff;color:rgba(246,245,255,var(--placeholder-opacity))}.sm\:placeholder-purple-50::placeholder{--placeholder-opacity:1;color:#f6f5ff;color:rgba(246,245,255,var(--placeholder-opacity))}.sm\:placeholder-purple-100::-moz-placeholder{--placeholder-opacity:1;color:#edebfe;color:rgba(237,235,254,var(--placeholder-opacity))}.sm\:placeholder-purple-100:-ms-input-placeholder{--placeholder-opacity:1;color:#edebfe;color:rgba(237,235,254,var(--placeholder-opacity))}.sm\:placeholder-purple-100::-ms-input-placeholder{--placeholder-opacity:1;color:#edebfe;color:rgba(237,235,254,var(--placeholder-opacity))}.sm\:placeholder-purple-100::placeholder{--placeholder-opacity:1;color:#edebfe;color:rgba(237,235,254,var(--placeholder-opacity))}.sm\:placeholder-purple-200::-moz-placeholder{--placeholder-opacity:1;color:#dcd7fe;color:rgba(220,215,254,var(--placeholder-opacity))}.sm\:placeholder-purple-200:-ms-input-placeholder{--placeholder-opacity:1;color:#dcd7fe;color:rgba(220,215,254,var(--placeholder-opacity))}.sm\:placeholder-purple-200::-ms-input-placeholder{--placeholder-opacity:1;color:#dcd7fe;color:rgba(220,215,254,var(--placeholder-opacity))}.sm\:placeholder-purple-200::placeholder{--placeholder-opacity:1;color:#dcd7fe;color:rgba(220,215,254,var(--placeholder-opacity))}.sm\:placeholder-purple-300::-moz-placeholder{--placeholder-opacity:1;color:#cabffd;color:rgba(202,191,253,var(--placeholder-opacity))}.sm\:placeholder-purple-300:-ms-input-placeholder{--placeholder-opacity:1;color:#cabffd;color:rgba(202,191,253,var(--placeholder-opacity))}.sm\:placeholder-purple-300::-ms-input-placeholder{--placeholder-opacity:1;color:#cabffd;color:rgba(202,191,253,var(--placeholder-opacity))}.sm\:placeholder-purple-300::placeholder{--placeholder-opacity:1;color:#cabffd;color:rgba(202,191,253,var(--placeholder-opacity))}.sm\:placeholder-purple-400::-moz-placeholder{--placeholder-opacity:1;color:#ac94fa;color:rgba(172,148,250,var(--placeholder-opacity))}.sm\:placeholder-purple-400:-ms-input-placeholder{--placeholder-opacity:1;color:#ac94fa;color:rgba(172,148,250,var(--placeholder-opacity))}.sm\:placeholder-purple-400::-ms-input-placeholder{--placeholder-opacity:1;color:#ac94fa;color:rgba(172,148,250,var(--placeholder-opacity))}.sm\:placeholder-purple-400::placeholder{--placeholder-opacity:1;color:#ac94fa;color:rgba(172,148,250,var(--placeholder-opacity))}.sm\:placeholder-purple-500::-moz-placeholder{--placeholder-opacity:1;color:#9061f9;color:rgba(144,97,249,var(--placeholder-opacity))}.sm\:placeholder-purple-500:-ms-input-placeholder{--placeholder-opacity:1;color:#9061f9;color:rgba(144,97,249,var(--placeholder-opacity))}.sm\:placeholder-purple-500::-ms-input-placeholder{--placeholder-opacity:1;color:#9061f9;color:rgba(144,97,249,var(--placeholder-opacity))}.sm\:placeholder-purple-500::placeholder{--placeholder-opacity:1;color:#9061f9;color:rgba(144,97,249,var(--placeholder-opacity))}.sm\:placeholder-purple-600::-moz-placeholder{--placeholder-opacity:1;color:#7e3af2;color:rgba(126,58,242,var(--placeholder-opacity))}.sm\:placeholder-purple-600:-ms-input-placeholder{--placeholder-opacity:1;color:#7e3af2;color:rgba(126,58,242,var(--placeholder-opacity))}.sm\:placeholder-purple-600::-ms-input-placeholder{--placeholder-opacity:1;color:#7e3af2;color:rgba(126,58,242,var(--placeholder-opacity))}.sm\:placeholder-purple-600::placeholder{--placeholder-opacity:1;color:#7e3af2;color:rgba(126,58,242,var(--placeholder-opacity))}.sm\:placeholder-purple-700::-moz-placeholder{--placeholder-opacity:1;color:#6c2bd9;color:rgba(108,43,217,var(--placeholder-opacity))}.sm\:placeholder-purple-700:-ms-input-placeholder{--placeholder-opacity:1;color:#6c2bd9;color:rgba(108,43,217,var(--placeholder-opacity))}.sm\:placeholder-purple-700::-ms-input-placeholder{--placeholder-opacity:1;color:#6c2bd9;color:rgba(108,43,217,var(--placeholder-opacity))}.sm\:placeholder-purple-700::placeholder{--placeholder-opacity:1;color:#6c2bd9;color:rgba(108,43,217,var(--placeholder-opacity))}.sm\:placeholder-purple-800::-moz-placeholder{--placeholder-opacity:1;color:#5521b5;color:rgba(85,33,181,var(--placeholder-opacity))}.sm\:placeholder-purple-800:-ms-input-placeholder{--placeholder-opacity:1;color:#5521b5;color:rgba(85,33,181,var(--placeholder-opacity))}.sm\:placeholder-purple-800::-ms-input-placeholder{--placeholder-opacity:1;color:#5521b5;color:rgba(85,33,181,var(--placeholder-opacity))}.sm\:placeholder-purple-800::placeholder{--placeholder-opacity:1;color:#5521b5;color:rgba(85,33,181,var(--placeholder-opacity))}.sm\:placeholder-purple-900::-moz-placeholder{--placeholder-opacity:1;color:#4a1d96;color:rgba(74,29,150,var(--placeholder-opacity))}.sm\:placeholder-purple-900:-ms-input-placeholder{--placeholder-opacity:1;color:#4a1d96;color:rgba(74,29,150,var(--placeholder-opacity))}.sm\:placeholder-purple-900::-ms-input-placeholder{--placeholder-opacity:1;color:#4a1d96;color:rgba(74,29,150,var(--placeholder-opacity))}.sm\:placeholder-purple-900::placeholder{--placeholder-opacity:1;color:#4a1d96;color:rgba(74,29,150,var(--placeholder-opacity))}.sm\:placeholder-pink-50::-moz-placeholder{--placeholder-opacity:1;color:#fdf2f8;color:rgba(253,242,248,var(--placeholder-opacity))}.sm\:placeholder-pink-50:-ms-input-placeholder{--placeholder-opacity:1;color:#fdf2f8;color:rgba(253,242,248,var(--placeholder-opacity))}.sm\:placeholder-pink-50::-ms-input-placeholder{--placeholder-opacity:1;color:#fdf2f8;color:rgba(253,242,248,var(--placeholder-opacity))}.sm\:placeholder-pink-50::placeholder{--placeholder-opacity:1;color:#fdf2f8;color:rgba(253,242,248,var(--placeholder-opacity))}.sm\:placeholder-pink-100::-moz-placeholder{--placeholder-opacity:1;color:#fce8f3;color:rgba(252,232,243,var(--placeholder-opacity))}.sm\:placeholder-pink-100:-ms-input-placeholder{--placeholder-opacity:1;color:#fce8f3;color:rgba(252,232,243,var(--placeholder-opacity))}.sm\:placeholder-pink-100::-ms-input-placeholder{--placeholder-opacity:1;color:#fce8f3;color:rgba(252,232,243,var(--placeholder-opacity))}.sm\:placeholder-pink-100::placeholder{--placeholder-opacity:1;color:#fce8f3;color:rgba(252,232,243,var(--placeholder-opacity))}.sm\:placeholder-pink-200::-moz-placeholder{--placeholder-opacity:1;color:#fad1e8;color:rgba(250,209,232,var(--placeholder-opacity))}.sm\:placeholder-pink-200:-ms-input-placeholder{--placeholder-opacity:1;color:#fad1e8;color:rgba(250,209,232,var(--placeholder-opacity))}.sm\:placeholder-pink-200::-ms-input-placeholder{--placeholder-opacity:1;color:#fad1e8;color:rgba(250,209,232,var(--placeholder-opacity))}.sm\:placeholder-pink-200::placeholder{--placeholder-opacity:1;color:#fad1e8;color:rgba(250,209,232,var(--placeholder-opacity))}.sm\:placeholder-pink-300::-moz-placeholder{--placeholder-opacity:1;color:#f8b4d9;color:rgba(248,180,217,var(--placeholder-opacity))}.sm\:placeholder-pink-300:-ms-input-placeholder{--placeholder-opacity:1;color:#f8b4d9;color:rgba(248,180,217,var(--placeholder-opacity))}.sm\:placeholder-pink-300::-ms-input-placeholder{--placeholder-opacity:1;color:#f8b4d9;color:rgba(248,180,217,var(--placeholder-opacity))}.sm\:placeholder-pink-300::placeholder{--placeholder-opacity:1;color:#f8b4d9;color:rgba(248,180,217,var(--placeholder-opacity))}.sm\:placeholder-pink-400::-moz-placeholder{--placeholder-opacity:1;color:#f17eb8;color:rgba(241,126,184,var(--placeholder-opacity))}.sm\:placeholder-pink-400:-ms-input-placeholder{--placeholder-opacity:1;color:#f17eb8;color:rgba(241,126,184,var(--placeholder-opacity))}.sm\:placeholder-pink-400::-ms-input-placeholder{--placeholder-opacity:1;color:#f17eb8;color:rgba(241,126,184,var(--placeholder-opacity))}.sm\:placeholder-pink-400::placeholder{--placeholder-opacity:1;color:#f17eb8;color:rgba(241,126,184,var(--placeholder-opacity))}.sm\:placeholder-pink-500::-moz-placeholder{--placeholder-opacity:1;color:#e74694;color:rgba(231,70,148,var(--placeholder-opacity))}.sm\:placeholder-pink-500:-ms-input-placeholder{--placeholder-opacity:1;color:#e74694;color:rgba(231,70,148,var(--placeholder-opacity))}.sm\:placeholder-pink-500::-ms-input-placeholder{--placeholder-opacity:1;color:#e74694;color:rgba(231,70,148,var(--placeholder-opacity))}.sm\:placeholder-pink-500::placeholder{--placeholder-opacity:1;color:#e74694;color:rgba(231,70,148,var(--placeholder-opacity))}.sm\:placeholder-pink-600::-moz-placeholder{--placeholder-opacity:1;color:#d61f69;color:rgba(214,31,105,var(--placeholder-opacity))}.sm\:placeholder-pink-600:-ms-input-placeholder{--placeholder-opacity:1;color:#d61f69;color:rgba(214,31,105,var(--placeholder-opacity))}.sm\:placeholder-pink-600::-ms-input-placeholder{--placeholder-opacity:1;color:#d61f69;color:rgba(214,31,105,var(--placeholder-opacity))}.sm\:placeholder-pink-600::placeholder{--placeholder-opacity:1;color:#d61f69;color:rgba(214,31,105,var(--placeholder-opacity))}.sm\:placeholder-pink-700::-moz-placeholder{--placeholder-opacity:1;color:#bf125d;color:rgba(191,18,93,var(--placeholder-opacity))}.sm\:placeholder-pink-700:-ms-input-placeholder{--placeholder-opacity:1;color:#bf125d;color:rgba(191,18,93,var(--placeholder-opacity))}.sm\:placeholder-pink-700::-ms-input-placeholder{--placeholder-opacity:1;color:#bf125d;color:rgba(191,18,93,var(--placeholder-opacity))}.sm\:placeholder-pink-700::placeholder{--placeholder-opacity:1;color:#bf125d;color:rgba(191,18,93,var(--placeholder-opacity))}.sm\:placeholder-pink-800::-moz-placeholder{--placeholder-opacity:1;color:#99154b;color:rgba(153,21,75,var(--placeholder-opacity))}.sm\:placeholder-pink-800:-ms-input-placeholder{--placeholder-opacity:1;color:#99154b;color:rgba(153,21,75,var(--placeholder-opacity))}.sm\:placeholder-pink-800::-ms-input-placeholder{--placeholder-opacity:1;color:#99154b;color:rgba(153,21,75,var(--placeholder-opacity))}.sm\:placeholder-pink-800::placeholder{--placeholder-opacity:1;color:#99154b;color:rgba(153,21,75,var(--placeholder-opacity))}.sm\:placeholder-pink-900::-moz-placeholder{--placeholder-opacity:1;color:#751a3d;color:rgba(117,26,61,var(--placeholder-opacity))}.sm\:placeholder-pink-900:-ms-input-placeholder{--placeholder-opacity:1;color:#751a3d;color:rgba(117,26,61,var(--placeholder-opacity))}.sm\:placeholder-pink-900::-ms-input-placeholder{--placeholder-opacity:1;color:#751a3d;color:rgba(117,26,61,var(--placeholder-opacity))}.sm\:placeholder-pink-900::placeholder{--placeholder-opacity:1;color:#751a3d;color:rgba(117,26,61,var(--placeholder-opacity))}.sm\:focus\:placeholder-transparent:focus::-moz-placeholder{color:transparent}.sm\:focus\:placeholder-transparent:focus:-ms-input-placeholder{color:transparent}.sm\:focus\:placeholder-transparent:focus::-ms-input-placeholder{color:transparent}.sm\:focus\:placeholder-transparent:focus::placeholder{color:transparent}.sm\:focus\:placeholder-white:focus::-moz-placeholder{--placeholder-opacity:1;color:#fff;color:rgba(255,255,255,var(--placeholder-opacity))}.sm\:focus\:placeholder-white:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#fff;color:rgba(255,255,255,var(--placeholder-opacity))}.sm\:focus\:placeholder-white:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#fff;color:rgba(255,255,255,var(--placeholder-opacity))}.sm\:focus\:placeholder-white:focus::placeholder{--placeholder-opacity:1;color:#fff;color:rgba(255,255,255,var(--placeholder-opacity))}.sm\:focus\:placeholder-black:focus::-moz-placeholder{--placeholder-opacity:1;color:#000;color:rgba(0,0,0,var(--placeholder-opacity))}.sm\:focus\:placeholder-black:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#000;color:rgba(0,0,0,var(--placeholder-opacity))}.sm\:focus\:placeholder-black:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#000;color:rgba(0,0,0,var(--placeholder-opacity))}.sm\:focus\:placeholder-black:focus::placeholder{--placeholder-opacity:1;color:#000;color:rgba(0,0,0,var(--placeholder-opacity))}.sm\:focus\:placeholder-gray-50:focus::-moz-placeholder{--placeholder-opacity:1;color:#f9fafb;color:rgba(249,250,251,var(--placeholder-opacity))}.sm\:focus\:placeholder-gray-50:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#f9fafb;color:rgba(249,250,251,var(--placeholder-opacity))}.sm\:focus\:placeholder-gray-50:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#f9fafb;color:rgba(249,250,251,var(--placeholder-opacity))}.sm\:focus\:placeholder-gray-50:focus::placeholder{--placeholder-opacity:1;color:#f9fafb;color:rgba(249,250,251,var(--placeholder-opacity))}.sm\:focus\:placeholder-gray-100:focus::-moz-placeholder{--placeholder-opacity:1;color:#f4f5f7;color:rgba(244,245,247,var(--placeholder-opacity))}.sm\:focus\:placeholder-gray-100:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#f4f5f7;color:rgba(244,245,247,var(--placeholder-opacity))}.sm\:focus\:placeholder-gray-100:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#f4f5f7;color:rgba(244,245,247,var(--placeholder-opacity))}.sm\:focus\:placeholder-gray-100:focus::placeholder{--placeholder-opacity:1;color:#f4f5f7;color:rgba(244,245,247,var(--placeholder-opacity))}.sm\:focus\:placeholder-gray-200:focus::-moz-placeholder{--placeholder-opacity:1;color:#e5e7eb;color:rgba(229,231,235,var(--placeholder-opacity))}.sm\:focus\:placeholder-gray-200:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#e5e7eb;color:rgba(229,231,235,var(--placeholder-opacity))}.sm\:focus\:placeholder-gray-200:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#e5e7eb;color:rgba(229,231,235,var(--placeholder-opacity))}.sm\:focus\:placeholder-gray-200:focus::placeholder{--placeholder-opacity:1;color:#e5e7eb;color:rgba(229,231,235,var(--placeholder-opacity))}.sm\:focus\:placeholder-gray-300:focus::-moz-placeholder{--placeholder-opacity:1;color:#d2d6dc;color:rgba(210,214,220,var(--placeholder-opacity))}.sm\:focus\:placeholder-gray-300:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#d2d6dc;color:rgba(210,214,220,var(--placeholder-opacity))}.sm\:focus\:placeholder-gray-300:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#d2d6dc;color:rgba(210,214,220,var(--placeholder-opacity))}.sm\:focus\:placeholder-gray-300:focus::placeholder{--placeholder-opacity:1;color:#d2d6dc;color:rgba(210,214,220,var(--placeholder-opacity))}.sm\:focus\:placeholder-gray-400:focus::-moz-placeholder{--placeholder-opacity:1;color:#9fa6b2;color:rgba(159,166,178,var(--placeholder-opacity))}.sm\:focus\:placeholder-gray-400:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#9fa6b2;color:rgba(159,166,178,var(--placeholder-opacity))}.sm\:focus\:placeholder-gray-400:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#9fa6b2;color:rgba(159,166,178,var(--placeholder-opacity))}.sm\:focus\:placeholder-gray-400:focus::placeholder{--placeholder-opacity:1;color:#9fa6b2;color:rgba(159,166,178,var(--placeholder-opacity))}.sm\:focus\:placeholder-gray-500:focus::-moz-placeholder{--placeholder-opacity:1;color:#6b7280;color:rgba(107,114,128,var(--placeholder-opacity))}.sm\:focus\:placeholder-gray-500:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#6b7280;color:rgba(107,114,128,var(--placeholder-opacity))}.sm\:focus\:placeholder-gray-500:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#6b7280;color:rgba(107,114,128,var(--placeholder-opacity))}.sm\:focus\:placeholder-gray-500:focus::placeholder{--placeholder-opacity:1;color:#6b7280;color:rgba(107,114,128,var(--placeholder-opacity))}.sm\:focus\:placeholder-gray-600:focus::-moz-placeholder{--placeholder-opacity:1;color:#4b5563;color:rgba(75,85,99,var(--placeholder-opacity))}.sm\:focus\:placeholder-gray-600:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#4b5563;color:rgba(75,85,99,var(--placeholder-opacity))}.sm\:focus\:placeholder-gray-600:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#4b5563;color:rgba(75,85,99,var(--placeholder-opacity))}.sm\:focus\:placeholder-gray-600:focus::placeholder{--placeholder-opacity:1;color:#4b5563;color:rgba(75,85,99,var(--placeholder-opacity))}.sm\:focus\:placeholder-gray-700:focus::-moz-placeholder{--placeholder-opacity:1;color:#374151;color:rgba(55,65,81,var(--placeholder-opacity))}.sm\:focus\:placeholder-gray-700:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#374151;color:rgba(55,65,81,var(--placeholder-opacity))}.sm\:focus\:placeholder-gray-700:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#374151;color:rgba(55,65,81,var(--placeholder-opacity))}.sm\:focus\:placeholder-gray-700:focus::placeholder{--placeholder-opacity:1;color:#374151;color:rgba(55,65,81,var(--placeholder-opacity))}.sm\:focus\:placeholder-gray-800:focus::-moz-placeholder{--placeholder-opacity:1;color:#252f3f;color:rgba(37,47,63,var(--placeholder-opacity))}.sm\:focus\:placeholder-gray-800:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#252f3f;color:rgba(37,47,63,var(--placeholder-opacity))}.sm\:focus\:placeholder-gray-800:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#252f3f;color:rgba(37,47,63,var(--placeholder-opacity))}.sm\:focus\:placeholder-gray-800:focus::placeholder{--placeholder-opacity:1;color:#252f3f;color:rgba(37,47,63,var(--placeholder-opacity))}.sm\:focus\:placeholder-gray-900:focus::-moz-placeholder{--placeholder-opacity:1;color:#161e2e;color:rgba(22,30,46,var(--placeholder-opacity))}.sm\:focus\:placeholder-gray-900:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#161e2e;color:rgba(22,30,46,var(--placeholder-opacity))}.sm\:focus\:placeholder-gray-900:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#161e2e;color:rgba(22,30,46,var(--placeholder-opacity))}.sm\:focus\:placeholder-gray-900:focus::placeholder{--placeholder-opacity:1;color:#161e2e;color:rgba(22,30,46,var(--placeholder-opacity))}.sm\:focus\:placeholder-cool-gray-50:focus::-moz-placeholder{--placeholder-opacity:1;color:#f8fafc;color:rgba(248,250,252,var(--placeholder-opacity))}.sm\:focus\:placeholder-cool-gray-50:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#f8fafc;color:rgba(248,250,252,var(--placeholder-opacity))}.sm\:focus\:placeholder-cool-gray-50:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#f8fafc;color:rgba(248,250,252,var(--placeholder-opacity))}.sm\:focus\:placeholder-cool-gray-50:focus::placeholder{--placeholder-opacity:1;color:#f8fafc;color:rgba(248,250,252,var(--placeholder-opacity))}.sm\:focus\:placeholder-cool-gray-100:focus::-moz-placeholder{--placeholder-opacity:1;color:#f1f5f9;color:rgba(241,245,249,var(--placeholder-opacity))}.sm\:focus\:placeholder-cool-gray-100:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#f1f5f9;color:rgba(241,245,249,var(--placeholder-opacity))}.sm\:focus\:placeholder-cool-gray-100:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#f1f5f9;color:rgba(241,245,249,var(--placeholder-opacity))}.sm\:focus\:placeholder-cool-gray-100:focus::placeholder{--placeholder-opacity:1;color:#f1f5f9;color:rgba(241,245,249,var(--placeholder-opacity))}.sm\:focus\:placeholder-cool-gray-200:focus::-moz-placeholder{--placeholder-opacity:1;color:#e2e8f0;color:rgba(226,232,240,var(--placeholder-opacity))}.sm\:focus\:placeholder-cool-gray-200:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#e2e8f0;color:rgba(226,232,240,var(--placeholder-opacity))}.sm\:focus\:placeholder-cool-gray-200:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#e2e8f0;color:rgba(226,232,240,var(--placeholder-opacity))}.sm\:focus\:placeholder-cool-gray-200:focus::placeholder{--placeholder-opacity:1;color:#e2e8f0;color:rgba(226,232,240,var(--placeholder-opacity))}.sm\:focus\:placeholder-cool-gray-300:focus::-moz-placeholder{--placeholder-opacity:1;color:#cfd8e3;color:rgba(207,216,227,var(--placeholder-opacity))}.sm\:focus\:placeholder-cool-gray-300:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#cfd8e3;color:rgba(207,216,227,var(--placeholder-opacity))}.sm\:focus\:placeholder-cool-gray-300:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#cfd8e3;color:rgba(207,216,227,var(--placeholder-opacity))}.sm\:focus\:placeholder-cool-gray-300:focus::placeholder{--placeholder-opacity:1;color:#cfd8e3;color:rgba(207,216,227,var(--placeholder-opacity))}.sm\:focus\:placeholder-cool-gray-400:focus::-moz-placeholder{--placeholder-opacity:1;color:#97a6ba;color:rgba(151,166,186,var(--placeholder-opacity))}.sm\:focus\:placeholder-cool-gray-400:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#97a6ba;color:rgba(151,166,186,var(--placeholder-opacity))}.sm\:focus\:placeholder-cool-gray-400:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#97a6ba;color:rgba(151,166,186,var(--placeholder-opacity))}.sm\:focus\:placeholder-cool-gray-400:focus::placeholder{--placeholder-opacity:1;color:#97a6ba;color:rgba(151,166,186,var(--placeholder-opacity))}.sm\:focus\:placeholder-cool-gray-500:focus::-moz-placeholder{--placeholder-opacity:1;color:#64748b;color:rgba(100,116,139,var(--placeholder-opacity))}.sm\:focus\:placeholder-cool-gray-500:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#64748b;color:rgba(100,116,139,var(--placeholder-opacity))}.sm\:focus\:placeholder-cool-gray-500:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#64748b;color:rgba(100,116,139,var(--placeholder-opacity))}.sm\:focus\:placeholder-cool-gray-500:focus::placeholder{--placeholder-opacity:1;color:#64748b;color:rgba(100,116,139,var(--placeholder-opacity))}.sm\:focus\:placeholder-cool-gray-600:focus::-moz-placeholder{--placeholder-opacity:1;color:#475569;color:rgba(71,85,105,var(--placeholder-opacity))}.sm\:focus\:placeholder-cool-gray-600:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#475569;color:rgba(71,85,105,var(--placeholder-opacity))}.sm\:focus\:placeholder-cool-gray-600:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#475569;color:rgba(71,85,105,var(--placeholder-opacity))}.sm\:focus\:placeholder-cool-gray-600:focus::placeholder{--placeholder-opacity:1;color:#475569;color:rgba(71,85,105,var(--placeholder-opacity))}.sm\:focus\:placeholder-cool-gray-700:focus::-moz-placeholder{--placeholder-opacity:1;color:#364152;color:rgba(54,65,82,var(--placeholder-opacity))}.sm\:focus\:placeholder-cool-gray-700:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#364152;color:rgba(54,65,82,var(--placeholder-opacity))}.sm\:focus\:placeholder-cool-gray-700:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#364152;color:rgba(54,65,82,var(--placeholder-opacity))}.sm\:focus\:placeholder-cool-gray-700:focus::placeholder{--placeholder-opacity:1;color:#364152;color:rgba(54,65,82,var(--placeholder-opacity))}.sm\:focus\:placeholder-cool-gray-800:focus::-moz-placeholder{--placeholder-opacity:1;color:#27303f;color:rgba(39,48,63,var(--placeholder-opacity))}.sm\:focus\:placeholder-cool-gray-800:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#27303f;color:rgba(39,48,63,var(--placeholder-opacity))}.sm\:focus\:placeholder-cool-gray-800:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#27303f;color:rgba(39,48,63,var(--placeholder-opacity))}.sm\:focus\:placeholder-cool-gray-800:focus::placeholder{--placeholder-opacity:1;color:#27303f;color:rgba(39,48,63,var(--placeholder-opacity))}.sm\:focus\:placeholder-cool-gray-900:focus::-moz-placeholder{--placeholder-opacity:1;color:#1a202e;color:rgba(26,32,46,var(--placeholder-opacity))}.sm\:focus\:placeholder-cool-gray-900:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#1a202e;color:rgba(26,32,46,var(--placeholder-opacity))}.sm\:focus\:placeholder-cool-gray-900:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#1a202e;color:rgba(26,32,46,var(--placeholder-opacity))}.sm\:focus\:placeholder-cool-gray-900:focus::placeholder{--placeholder-opacity:1;color:#1a202e;color:rgba(26,32,46,var(--placeholder-opacity))}.sm\:focus\:placeholder-red-50:focus::-moz-placeholder{--placeholder-opacity:1;color:#fdf2f2;color:rgba(253,242,242,var(--placeholder-opacity))}.sm\:focus\:placeholder-red-50:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#fdf2f2;color:rgba(253,242,242,var(--placeholder-opacity))}.sm\:focus\:placeholder-red-50:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#fdf2f2;color:rgba(253,242,242,var(--placeholder-opacity))}.sm\:focus\:placeholder-red-50:focus::placeholder{--placeholder-opacity:1;color:#fdf2f2;color:rgba(253,242,242,var(--placeholder-opacity))}.sm\:focus\:placeholder-red-100:focus::-moz-placeholder{--placeholder-opacity:1;color:#fde8e8;color:rgba(253,232,232,var(--placeholder-opacity))}.sm\:focus\:placeholder-red-100:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#fde8e8;color:rgba(253,232,232,var(--placeholder-opacity))}.sm\:focus\:placeholder-red-100:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#fde8e8;color:rgba(253,232,232,var(--placeholder-opacity))}.sm\:focus\:placeholder-red-100:focus::placeholder{--placeholder-opacity:1;color:#fde8e8;color:rgba(253,232,232,var(--placeholder-opacity))}.sm\:focus\:placeholder-red-200:focus::-moz-placeholder{--placeholder-opacity:1;color:#fbd5d5;color:rgba(251,213,213,var(--placeholder-opacity))}.sm\:focus\:placeholder-red-200:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#fbd5d5;color:rgba(251,213,213,var(--placeholder-opacity))}.sm\:focus\:placeholder-red-200:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#fbd5d5;color:rgba(251,213,213,var(--placeholder-opacity))}.sm\:focus\:placeholder-red-200:focus::placeholder{--placeholder-opacity:1;color:#fbd5d5;color:rgba(251,213,213,var(--placeholder-opacity))}.sm\:focus\:placeholder-red-300:focus::-moz-placeholder{--placeholder-opacity:1;color:#f8b4b4;color:rgba(248,180,180,var(--placeholder-opacity))}.sm\:focus\:placeholder-red-300:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#f8b4b4;color:rgba(248,180,180,var(--placeholder-opacity))}.sm\:focus\:placeholder-red-300:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#f8b4b4;color:rgba(248,180,180,var(--placeholder-opacity))}.sm\:focus\:placeholder-red-300:focus::placeholder{--placeholder-opacity:1;color:#f8b4b4;color:rgba(248,180,180,var(--placeholder-opacity))}.sm\:focus\:placeholder-red-400:focus::-moz-placeholder{--placeholder-opacity:1;color:#f98080;color:rgba(249,128,128,var(--placeholder-opacity))}.sm\:focus\:placeholder-red-400:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#f98080;color:rgba(249,128,128,var(--placeholder-opacity))}.sm\:focus\:placeholder-red-400:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#f98080;color:rgba(249,128,128,var(--placeholder-opacity))}.sm\:focus\:placeholder-red-400:focus::placeholder{--placeholder-opacity:1;color:#f98080;color:rgba(249,128,128,var(--placeholder-opacity))}.sm\:focus\:placeholder-red-500:focus::-moz-placeholder{--placeholder-opacity:1;color:#f05252;color:rgba(240,82,82,var(--placeholder-opacity))}.sm\:focus\:placeholder-red-500:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#f05252;color:rgba(240,82,82,var(--placeholder-opacity))}.sm\:focus\:placeholder-red-500:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#f05252;color:rgba(240,82,82,var(--placeholder-opacity))}.sm\:focus\:placeholder-red-500:focus::placeholder{--placeholder-opacity:1;color:#f05252;color:rgba(240,82,82,var(--placeholder-opacity))}.sm\:focus\:placeholder-red-600:focus::-moz-placeholder{--placeholder-opacity:1;color:#e02424;color:rgba(224,36,36,var(--placeholder-opacity))}.sm\:focus\:placeholder-red-600:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#e02424;color:rgba(224,36,36,var(--placeholder-opacity))}.sm\:focus\:placeholder-red-600:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#e02424;color:rgba(224,36,36,var(--placeholder-opacity))}.sm\:focus\:placeholder-red-600:focus::placeholder{--placeholder-opacity:1;color:#e02424;color:rgba(224,36,36,var(--placeholder-opacity))}.sm\:focus\:placeholder-red-700:focus::-moz-placeholder{--placeholder-opacity:1;color:#c81e1e;color:rgba(200,30,30,var(--placeholder-opacity))}.sm\:focus\:placeholder-red-700:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#c81e1e;color:rgba(200,30,30,var(--placeholder-opacity))}.sm\:focus\:placeholder-red-700:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#c81e1e;color:rgba(200,30,30,var(--placeholder-opacity))}.sm\:focus\:placeholder-red-700:focus::placeholder{--placeholder-opacity:1;color:#c81e1e;color:rgba(200,30,30,var(--placeholder-opacity))}.sm\:focus\:placeholder-red-800:focus::-moz-placeholder{--placeholder-opacity:1;color:#9b1c1c;color:rgba(155,28,28,var(--placeholder-opacity))}.sm\:focus\:placeholder-red-800:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#9b1c1c;color:rgba(155,28,28,var(--placeholder-opacity))}.sm\:focus\:placeholder-red-800:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#9b1c1c;color:rgba(155,28,28,var(--placeholder-opacity))}.sm\:focus\:placeholder-red-800:focus::placeholder{--placeholder-opacity:1;color:#9b1c1c;color:rgba(155,28,28,var(--placeholder-opacity))}.sm\:focus\:placeholder-red-900:focus::-moz-placeholder{--placeholder-opacity:1;color:#771d1d;color:rgba(119,29,29,var(--placeholder-opacity))}.sm\:focus\:placeholder-red-900:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#771d1d;color:rgba(119,29,29,var(--placeholder-opacity))}.sm\:focus\:placeholder-red-900:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#771d1d;color:rgba(119,29,29,var(--placeholder-opacity))}.sm\:focus\:placeholder-red-900:focus::placeholder{--placeholder-opacity:1;color:#771d1d;color:rgba(119,29,29,var(--placeholder-opacity))}.sm\:focus\:placeholder-orange-50:focus::-moz-placeholder{--placeholder-opacity:1;color:#fff8f1;color:rgba(255,248,241,var(--placeholder-opacity))}.sm\:focus\:placeholder-orange-50:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#fff8f1;color:rgba(255,248,241,var(--placeholder-opacity))}.sm\:focus\:placeholder-orange-50:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#fff8f1;color:rgba(255,248,241,var(--placeholder-opacity))}.sm\:focus\:placeholder-orange-50:focus::placeholder{--placeholder-opacity:1;color:#fff8f1;color:rgba(255,248,241,var(--placeholder-opacity))}.sm\:focus\:placeholder-orange-100:focus::-moz-placeholder{--placeholder-opacity:1;color:#feecdc;color:rgba(254,236,220,var(--placeholder-opacity))}.sm\:focus\:placeholder-orange-100:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#feecdc;color:rgba(254,236,220,var(--placeholder-opacity))}.sm\:focus\:placeholder-orange-100:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#feecdc;color:rgba(254,236,220,var(--placeholder-opacity))}.sm\:focus\:placeholder-orange-100:focus::placeholder{--placeholder-opacity:1;color:#feecdc;color:rgba(254,236,220,var(--placeholder-opacity))}.sm\:focus\:placeholder-orange-200:focus::-moz-placeholder{--placeholder-opacity:1;color:#fcd9bd;color:rgba(252,217,189,var(--placeholder-opacity))}.sm\:focus\:placeholder-orange-200:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#fcd9bd;color:rgba(252,217,189,var(--placeholder-opacity))}.sm\:focus\:placeholder-orange-200:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#fcd9bd;color:rgba(252,217,189,var(--placeholder-opacity))}.sm\:focus\:placeholder-orange-200:focus::placeholder{--placeholder-opacity:1;color:#fcd9bd;color:rgba(252,217,189,var(--placeholder-opacity))}.sm\:focus\:placeholder-orange-300:focus::-moz-placeholder{--placeholder-opacity:1;color:#fdba8c;color:rgba(253,186,140,var(--placeholder-opacity))}.sm\:focus\:placeholder-orange-300:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#fdba8c;color:rgba(253,186,140,var(--placeholder-opacity))}.sm\:focus\:placeholder-orange-300:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#fdba8c;color:rgba(253,186,140,var(--placeholder-opacity))}.sm\:focus\:placeholder-orange-300:focus::placeholder{--placeholder-opacity:1;color:#fdba8c;color:rgba(253,186,140,var(--placeholder-opacity))}.sm\:focus\:placeholder-orange-400:focus::-moz-placeholder{--placeholder-opacity:1;color:#ff8a4c;color:rgba(255,138,76,var(--placeholder-opacity))}.sm\:focus\:placeholder-orange-400:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#ff8a4c;color:rgba(255,138,76,var(--placeholder-opacity))}.sm\:focus\:placeholder-orange-400:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#ff8a4c;color:rgba(255,138,76,var(--placeholder-opacity))}.sm\:focus\:placeholder-orange-400:focus::placeholder{--placeholder-opacity:1;color:#ff8a4c;color:rgba(255,138,76,var(--placeholder-opacity))}.sm\:focus\:placeholder-orange-500:focus::-moz-placeholder{--placeholder-opacity:1;color:#ff5a1f;color:rgba(255,90,31,var(--placeholder-opacity))}.sm\:focus\:placeholder-orange-500:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#ff5a1f;color:rgba(255,90,31,var(--placeholder-opacity))}.sm\:focus\:placeholder-orange-500:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#ff5a1f;color:rgba(255,90,31,var(--placeholder-opacity))}.sm\:focus\:placeholder-orange-500:focus::placeholder{--placeholder-opacity:1;color:#ff5a1f;color:rgba(255,90,31,var(--placeholder-opacity))}.sm\:focus\:placeholder-orange-600:focus::-moz-placeholder{--placeholder-opacity:1;color:#d03801;color:rgba(208,56,1,var(--placeholder-opacity))}.sm\:focus\:placeholder-orange-600:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#d03801;color:rgba(208,56,1,var(--placeholder-opacity))}.sm\:focus\:placeholder-orange-600:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#d03801;color:rgba(208,56,1,var(--placeholder-opacity))}.sm\:focus\:placeholder-orange-600:focus::placeholder{--placeholder-opacity:1;color:#d03801;color:rgba(208,56,1,var(--placeholder-opacity))}.sm\:focus\:placeholder-orange-700:focus::-moz-placeholder{--placeholder-opacity:1;color:#b43403;color:rgba(180,52,3,var(--placeholder-opacity))}.sm\:focus\:placeholder-orange-700:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#b43403;color:rgba(180,52,3,var(--placeholder-opacity))}.sm\:focus\:placeholder-orange-700:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#b43403;color:rgba(180,52,3,var(--placeholder-opacity))}.sm\:focus\:placeholder-orange-700:focus::placeholder{--placeholder-opacity:1;color:#b43403;color:rgba(180,52,3,var(--placeholder-opacity))}.sm\:focus\:placeholder-orange-800:focus::-moz-placeholder{--placeholder-opacity:1;color:#8a2c0d;color:rgba(138,44,13,var(--placeholder-opacity))}.sm\:focus\:placeholder-orange-800:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#8a2c0d;color:rgba(138,44,13,var(--placeholder-opacity))}.sm\:focus\:placeholder-orange-800:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#8a2c0d;color:rgba(138,44,13,var(--placeholder-opacity))}.sm\:focus\:placeholder-orange-800:focus::placeholder{--placeholder-opacity:1;color:#8a2c0d;color:rgba(138,44,13,var(--placeholder-opacity))}.sm\:focus\:placeholder-orange-900:focus::-moz-placeholder{--placeholder-opacity:1;color:#73230d;color:rgba(115,35,13,var(--placeholder-opacity))}.sm\:focus\:placeholder-orange-900:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#73230d;color:rgba(115,35,13,var(--placeholder-opacity))}.sm\:focus\:placeholder-orange-900:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#73230d;color:rgba(115,35,13,var(--placeholder-opacity))}.sm\:focus\:placeholder-orange-900:focus::placeholder{--placeholder-opacity:1;color:#73230d;color:rgba(115,35,13,var(--placeholder-opacity))}.sm\:focus\:placeholder-yellow-50:focus::-moz-placeholder{--placeholder-opacity:1;color:#fdfdea;color:rgba(253,253,234,var(--placeholder-opacity))}.sm\:focus\:placeholder-yellow-50:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#fdfdea;color:rgba(253,253,234,var(--placeholder-opacity))}.sm\:focus\:placeholder-yellow-50:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#fdfdea;color:rgba(253,253,234,var(--placeholder-opacity))}.sm\:focus\:placeholder-yellow-50:focus::placeholder{--placeholder-opacity:1;color:#fdfdea;color:rgba(253,253,234,var(--placeholder-opacity))}.sm\:focus\:placeholder-yellow-100:focus::-moz-placeholder{--placeholder-opacity:1;color:#fdf6b2;color:rgba(253,246,178,var(--placeholder-opacity))}.sm\:focus\:placeholder-yellow-100:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#fdf6b2;color:rgba(253,246,178,var(--placeholder-opacity))}.sm\:focus\:placeholder-yellow-100:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#fdf6b2;color:rgba(253,246,178,var(--placeholder-opacity))}.sm\:focus\:placeholder-yellow-100:focus::placeholder{--placeholder-opacity:1;color:#fdf6b2;color:rgba(253,246,178,var(--placeholder-opacity))}.sm\:focus\:placeholder-yellow-200:focus::-moz-placeholder{--placeholder-opacity:1;color:#fce96a;color:rgba(252,233,106,var(--placeholder-opacity))}.sm\:focus\:placeholder-yellow-200:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#fce96a;color:rgba(252,233,106,var(--placeholder-opacity))}.sm\:focus\:placeholder-yellow-200:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#fce96a;color:rgba(252,233,106,var(--placeholder-opacity))}.sm\:focus\:placeholder-yellow-200:focus::placeholder{--placeholder-opacity:1;color:#fce96a;color:rgba(252,233,106,var(--placeholder-opacity))}.sm\:focus\:placeholder-yellow-300:focus::-moz-placeholder{--placeholder-opacity:1;color:#faca15;color:rgba(250,202,21,var(--placeholder-opacity))}.sm\:focus\:placeholder-yellow-300:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#faca15;color:rgba(250,202,21,var(--placeholder-opacity))}.sm\:focus\:placeholder-yellow-300:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#faca15;color:rgba(250,202,21,var(--placeholder-opacity))}.sm\:focus\:placeholder-yellow-300:focus::placeholder{--placeholder-opacity:1;color:#faca15;color:rgba(250,202,21,var(--placeholder-opacity))}.sm\:focus\:placeholder-yellow-400:focus::-moz-placeholder{--placeholder-opacity:1;color:#e3a008;color:rgba(227,160,8,var(--placeholder-opacity))}.sm\:focus\:placeholder-yellow-400:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#e3a008;color:rgba(227,160,8,var(--placeholder-opacity))}.sm\:focus\:placeholder-yellow-400:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#e3a008;color:rgba(227,160,8,var(--placeholder-opacity))}.sm\:focus\:placeholder-yellow-400:focus::placeholder{--placeholder-opacity:1;color:#e3a008;color:rgba(227,160,8,var(--placeholder-opacity))}.sm\:focus\:placeholder-yellow-500:focus::-moz-placeholder{--placeholder-opacity:1;color:#c27803;color:rgba(194,120,3,var(--placeholder-opacity))}.sm\:focus\:placeholder-yellow-500:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#c27803;color:rgba(194,120,3,var(--placeholder-opacity))}.sm\:focus\:placeholder-yellow-500:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#c27803;color:rgba(194,120,3,var(--placeholder-opacity))}.sm\:focus\:placeholder-yellow-500:focus::placeholder{--placeholder-opacity:1;color:#c27803;color:rgba(194,120,3,var(--placeholder-opacity))}.sm\:focus\:placeholder-yellow-600:focus::-moz-placeholder{--placeholder-opacity:1;color:#9f580a;color:rgba(159,88,10,var(--placeholder-opacity))}.sm\:focus\:placeholder-yellow-600:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#9f580a;color:rgba(159,88,10,var(--placeholder-opacity))}.sm\:focus\:placeholder-yellow-600:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#9f580a;color:rgba(159,88,10,var(--placeholder-opacity))}.sm\:focus\:placeholder-yellow-600:focus::placeholder{--placeholder-opacity:1;color:#9f580a;color:rgba(159,88,10,var(--placeholder-opacity))}.sm\:focus\:placeholder-yellow-700:focus::-moz-placeholder{--placeholder-opacity:1;color:#8e4b10;color:rgba(142,75,16,var(--placeholder-opacity))}.sm\:focus\:placeholder-yellow-700:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#8e4b10;color:rgba(142,75,16,var(--placeholder-opacity))}.sm\:focus\:placeholder-yellow-700:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#8e4b10;color:rgba(142,75,16,var(--placeholder-opacity))}.sm\:focus\:placeholder-yellow-700:focus::placeholder{--placeholder-opacity:1;color:#8e4b10;color:rgba(142,75,16,var(--placeholder-opacity))}.sm\:focus\:placeholder-yellow-800:focus::-moz-placeholder{--placeholder-opacity:1;color:#723b13;color:rgba(114,59,19,var(--placeholder-opacity))}.sm\:focus\:placeholder-yellow-800:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#723b13;color:rgba(114,59,19,var(--placeholder-opacity))}.sm\:focus\:placeholder-yellow-800:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#723b13;color:rgba(114,59,19,var(--placeholder-opacity))}.sm\:focus\:placeholder-yellow-800:focus::placeholder{--placeholder-opacity:1;color:#723b13;color:rgba(114,59,19,var(--placeholder-opacity))}.sm\:focus\:placeholder-yellow-900:focus::-moz-placeholder{--placeholder-opacity:1;color:#633112;color:rgba(99,49,18,var(--placeholder-opacity))}.sm\:focus\:placeholder-yellow-900:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#633112;color:rgba(99,49,18,var(--placeholder-opacity))}.sm\:focus\:placeholder-yellow-900:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#633112;color:rgba(99,49,18,var(--placeholder-opacity))}.sm\:focus\:placeholder-yellow-900:focus::placeholder{--placeholder-opacity:1;color:#633112;color:rgba(99,49,18,var(--placeholder-opacity))}.sm\:focus\:placeholder-green-50:focus::-moz-placeholder{--placeholder-opacity:1;color:#f3faf7;color:rgba(243,250,247,var(--placeholder-opacity))}.sm\:focus\:placeholder-green-50:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#f3faf7;color:rgba(243,250,247,var(--placeholder-opacity))}.sm\:focus\:placeholder-green-50:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#f3faf7;color:rgba(243,250,247,var(--placeholder-opacity))}.sm\:focus\:placeholder-green-50:focus::placeholder{--placeholder-opacity:1;color:#f3faf7;color:rgba(243,250,247,var(--placeholder-opacity))}.sm\:focus\:placeholder-green-100:focus::-moz-placeholder{--placeholder-opacity:1;color:#def7ec;color:rgba(222,247,236,var(--placeholder-opacity))}.sm\:focus\:placeholder-green-100:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#def7ec;color:rgba(222,247,236,var(--placeholder-opacity))}.sm\:focus\:placeholder-green-100:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#def7ec;color:rgba(222,247,236,var(--placeholder-opacity))}.sm\:focus\:placeholder-green-100:focus::placeholder{--placeholder-opacity:1;color:#def7ec;color:rgba(222,247,236,var(--placeholder-opacity))}.sm\:focus\:placeholder-green-200:focus::-moz-placeholder{--placeholder-opacity:1;color:#bcf0da;color:rgba(188,240,218,var(--placeholder-opacity))}.sm\:focus\:placeholder-green-200:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#bcf0da;color:rgba(188,240,218,var(--placeholder-opacity))}.sm\:focus\:placeholder-green-200:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#bcf0da;color:rgba(188,240,218,var(--placeholder-opacity))}.sm\:focus\:placeholder-green-200:focus::placeholder{--placeholder-opacity:1;color:#bcf0da;color:rgba(188,240,218,var(--placeholder-opacity))}.sm\:focus\:placeholder-green-300:focus::-moz-placeholder{--placeholder-opacity:1;color:#84e1bc;color:rgba(132,225,188,var(--placeholder-opacity))}.sm\:focus\:placeholder-green-300:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#84e1bc;color:rgba(132,225,188,var(--placeholder-opacity))}.sm\:focus\:placeholder-green-300:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#84e1bc;color:rgba(132,225,188,var(--placeholder-opacity))}.sm\:focus\:placeholder-green-300:focus::placeholder{--placeholder-opacity:1;color:#84e1bc;color:rgba(132,225,188,var(--placeholder-opacity))}.sm\:focus\:placeholder-green-400:focus::-moz-placeholder{--placeholder-opacity:1;color:#31c48d;color:rgba(49,196,141,var(--placeholder-opacity))}.sm\:focus\:placeholder-green-400:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#31c48d;color:rgba(49,196,141,var(--placeholder-opacity))}.sm\:focus\:placeholder-green-400:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#31c48d;color:rgba(49,196,141,var(--placeholder-opacity))}.sm\:focus\:placeholder-green-400:focus::placeholder{--placeholder-opacity:1;color:#31c48d;color:rgba(49,196,141,var(--placeholder-opacity))}.sm\:focus\:placeholder-green-500:focus::-moz-placeholder{--placeholder-opacity:1;color:#0e9f6e;color:rgba(14,159,110,var(--placeholder-opacity))}.sm\:focus\:placeholder-green-500:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#0e9f6e;color:rgba(14,159,110,var(--placeholder-opacity))}.sm\:focus\:placeholder-green-500:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#0e9f6e;color:rgba(14,159,110,var(--placeholder-opacity))}.sm\:focus\:placeholder-green-500:focus::placeholder{--placeholder-opacity:1;color:#0e9f6e;color:rgba(14,159,110,var(--placeholder-opacity))}.sm\:focus\:placeholder-green-600:focus::-moz-placeholder{--placeholder-opacity:1;color:#057a55;color:rgba(5,122,85,var(--placeholder-opacity))}.sm\:focus\:placeholder-green-600:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#057a55;color:rgba(5,122,85,var(--placeholder-opacity))}.sm\:focus\:placeholder-green-600:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#057a55;color:rgba(5,122,85,var(--placeholder-opacity))}.sm\:focus\:placeholder-green-600:focus::placeholder{--placeholder-opacity:1;color:#057a55;color:rgba(5,122,85,var(--placeholder-opacity))}.sm\:focus\:placeholder-green-700:focus::-moz-placeholder{--placeholder-opacity:1;color:#046c4e;color:rgba(4,108,78,var(--placeholder-opacity))}.sm\:focus\:placeholder-green-700:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#046c4e;color:rgba(4,108,78,var(--placeholder-opacity))}.sm\:focus\:placeholder-green-700:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#046c4e;color:rgba(4,108,78,var(--placeholder-opacity))}.sm\:focus\:placeholder-green-700:focus::placeholder{--placeholder-opacity:1;color:#046c4e;color:rgba(4,108,78,var(--placeholder-opacity))}.sm\:focus\:placeholder-green-800:focus::-moz-placeholder{--placeholder-opacity:1;color:#03543f;color:rgba(3,84,63,var(--placeholder-opacity))}.sm\:focus\:placeholder-green-800:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#03543f;color:rgba(3,84,63,var(--placeholder-opacity))}.sm\:focus\:placeholder-green-800:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#03543f;color:rgba(3,84,63,var(--placeholder-opacity))}.sm\:focus\:placeholder-green-800:focus::placeholder{--placeholder-opacity:1;color:#03543f;color:rgba(3,84,63,var(--placeholder-opacity))}.sm\:focus\:placeholder-green-900:focus::-moz-placeholder{--placeholder-opacity:1;color:#014737;color:rgba(1,71,55,var(--placeholder-opacity))}.sm\:focus\:placeholder-green-900:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#014737;color:rgba(1,71,55,var(--placeholder-opacity))}.sm\:focus\:placeholder-green-900:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#014737;color:rgba(1,71,55,var(--placeholder-opacity))}.sm\:focus\:placeholder-green-900:focus::placeholder{--placeholder-opacity:1;color:#014737;color:rgba(1,71,55,var(--placeholder-opacity))}.sm\:focus\:placeholder-teal-50:focus::-moz-placeholder{--placeholder-opacity:1;color:#edfafa;color:rgba(237,250,250,var(--placeholder-opacity))}.sm\:focus\:placeholder-teal-50:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#edfafa;color:rgba(237,250,250,var(--placeholder-opacity))}.sm\:focus\:placeholder-teal-50:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#edfafa;color:rgba(237,250,250,var(--placeholder-opacity))}.sm\:focus\:placeholder-teal-50:focus::placeholder{--placeholder-opacity:1;color:#edfafa;color:rgba(237,250,250,var(--placeholder-opacity))}.sm\:focus\:placeholder-teal-100:focus::-moz-placeholder{--placeholder-opacity:1;color:#d5f5f6;color:rgba(213,245,246,var(--placeholder-opacity))}.sm\:focus\:placeholder-teal-100:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#d5f5f6;color:rgba(213,245,246,var(--placeholder-opacity))}.sm\:focus\:placeholder-teal-100:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#d5f5f6;color:rgba(213,245,246,var(--placeholder-opacity))}.sm\:focus\:placeholder-teal-100:focus::placeholder{--placeholder-opacity:1;color:#d5f5f6;color:rgba(213,245,246,var(--placeholder-opacity))}.sm\:focus\:placeholder-teal-200:focus::-moz-placeholder{--placeholder-opacity:1;color:#afecef;color:rgba(175,236,239,var(--placeholder-opacity))}.sm\:focus\:placeholder-teal-200:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#afecef;color:rgba(175,236,239,var(--placeholder-opacity))}.sm\:focus\:placeholder-teal-200:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#afecef;color:rgba(175,236,239,var(--placeholder-opacity))}.sm\:focus\:placeholder-teal-200:focus::placeholder{--placeholder-opacity:1;color:#afecef;color:rgba(175,236,239,var(--placeholder-opacity))}.sm\:focus\:placeholder-teal-300:focus::-moz-placeholder{--placeholder-opacity:1;color:#7edce2;color:rgba(126,220,226,var(--placeholder-opacity))}.sm\:focus\:placeholder-teal-300:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#7edce2;color:rgba(126,220,226,var(--placeholder-opacity))}.sm\:focus\:placeholder-teal-300:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#7edce2;color:rgba(126,220,226,var(--placeholder-opacity))}.sm\:focus\:placeholder-teal-300:focus::placeholder{--placeholder-opacity:1;color:#7edce2;color:rgba(126,220,226,var(--placeholder-opacity))}.sm\:focus\:placeholder-teal-400:focus::-moz-placeholder{--placeholder-opacity:1;color:#16bdca;color:rgba(22,189,202,var(--placeholder-opacity))}.sm\:focus\:placeholder-teal-400:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#16bdca;color:rgba(22,189,202,var(--placeholder-opacity))}.sm\:focus\:placeholder-teal-400:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#16bdca;color:rgba(22,189,202,var(--placeholder-opacity))}.sm\:focus\:placeholder-teal-400:focus::placeholder{--placeholder-opacity:1;color:#16bdca;color:rgba(22,189,202,var(--placeholder-opacity))}.sm\:focus\:placeholder-teal-500:focus::-moz-placeholder{--placeholder-opacity:1;color:#0694a2;color:rgba(6,148,162,var(--placeholder-opacity))}.sm\:focus\:placeholder-teal-500:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#0694a2;color:rgba(6,148,162,var(--placeholder-opacity))}.sm\:focus\:placeholder-teal-500:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#0694a2;color:rgba(6,148,162,var(--placeholder-opacity))}.sm\:focus\:placeholder-teal-500:focus::placeholder{--placeholder-opacity:1;color:#0694a2;color:rgba(6,148,162,var(--placeholder-opacity))}.sm\:focus\:placeholder-teal-600:focus::-moz-placeholder{--placeholder-opacity:1;color:#047481;color:rgba(4,116,129,var(--placeholder-opacity))}.sm\:focus\:placeholder-teal-600:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#047481;color:rgba(4,116,129,var(--placeholder-opacity))}.sm\:focus\:placeholder-teal-600:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#047481;color:rgba(4,116,129,var(--placeholder-opacity))}.sm\:focus\:placeholder-teal-600:focus::placeholder{--placeholder-opacity:1;color:#047481;color:rgba(4,116,129,var(--placeholder-opacity))}.sm\:focus\:placeholder-teal-700:focus::-moz-placeholder{--placeholder-opacity:1;color:#036672;color:rgba(3,102,114,var(--placeholder-opacity))}.sm\:focus\:placeholder-teal-700:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#036672;color:rgba(3,102,114,var(--placeholder-opacity))}.sm\:focus\:placeholder-teal-700:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#036672;color:rgba(3,102,114,var(--placeholder-opacity))}.sm\:focus\:placeholder-teal-700:focus::placeholder{--placeholder-opacity:1;color:#036672;color:rgba(3,102,114,var(--placeholder-opacity))}.sm\:focus\:placeholder-teal-800:focus::-moz-placeholder{--placeholder-opacity:1;color:#05505c;color:rgba(5,80,92,var(--placeholder-opacity))}.sm\:focus\:placeholder-teal-800:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#05505c;color:rgba(5,80,92,var(--placeholder-opacity))}.sm\:focus\:placeholder-teal-800:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#05505c;color:rgba(5,80,92,var(--placeholder-opacity))}.sm\:focus\:placeholder-teal-800:focus::placeholder{--placeholder-opacity:1;color:#05505c;color:rgba(5,80,92,var(--placeholder-opacity))}.sm\:focus\:placeholder-teal-900:focus::-moz-placeholder{--placeholder-opacity:1;color:#014451;color:rgba(1,68,81,var(--placeholder-opacity))}.sm\:focus\:placeholder-teal-900:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#014451;color:rgba(1,68,81,var(--placeholder-opacity))}.sm\:focus\:placeholder-teal-900:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#014451;color:rgba(1,68,81,var(--placeholder-opacity))}.sm\:focus\:placeholder-teal-900:focus::placeholder{--placeholder-opacity:1;color:#014451;color:rgba(1,68,81,var(--placeholder-opacity))}.sm\:focus\:placeholder-blue-50:focus::-moz-placeholder{--placeholder-opacity:1;color:#ebf5ff;color:rgba(235,245,255,var(--placeholder-opacity))}.sm\:focus\:placeholder-blue-50:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#ebf5ff;color:rgba(235,245,255,var(--placeholder-opacity))}.sm\:focus\:placeholder-blue-50:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#ebf5ff;color:rgba(235,245,255,var(--placeholder-opacity))}.sm\:focus\:placeholder-blue-50:focus::placeholder{--placeholder-opacity:1;color:#ebf5ff;color:rgba(235,245,255,var(--placeholder-opacity))}.sm\:focus\:placeholder-blue-100:focus::-moz-placeholder{--placeholder-opacity:1;color:#e1effe;color:rgba(225,239,254,var(--placeholder-opacity))}.sm\:focus\:placeholder-blue-100:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#e1effe;color:rgba(225,239,254,var(--placeholder-opacity))}.sm\:focus\:placeholder-blue-100:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#e1effe;color:rgba(225,239,254,var(--placeholder-opacity))}.sm\:focus\:placeholder-blue-100:focus::placeholder{--placeholder-opacity:1;color:#e1effe;color:rgba(225,239,254,var(--placeholder-opacity))}.sm\:focus\:placeholder-blue-200:focus::-moz-placeholder{--placeholder-opacity:1;color:#c3ddfd;color:rgba(195,221,253,var(--placeholder-opacity))}.sm\:focus\:placeholder-blue-200:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#c3ddfd;color:rgba(195,221,253,var(--placeholder-opacity))}.sm\:focus\:placeholder-blue-200:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#c3ddfd;color:rgba(195,221,253,var(--placeholder-opacity))}.sm\:focus\:placeholder-blue-200:focus::placeholder{--placeholder-opacity:1;color:#c3ddfd;color:rgba(195,221,253,var(--placeholder-opacity))}.sm\:focus\:placeholder-blue-300:focus::-moz-placeholder{--placeholder-opacity:1;color:#a4cafe;color:rgba(164,202,254,var(--placeholder-opacity))}.sm\:focus\:placeholder-blue-300:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#a4cafe;color:rgba(164,202,254,var(--placeholder-opacity))}.sm\:focus\:placeholder-blue-300:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#a4cafe;color:rgba(164,202,254,var(--placeholder-opacity))}.sm\:focus\:placeholder-blue-300:focus::placeholder{--placeholder-opacity:1;color:#a4cafe;color:rgba(164,202,254,var(--placeholder-opacity))}.sm\:focus\:placeholder-blue-400:focus::-moz-placeholder{--placeholder-opacity:1;color:#76a9fa;color:rgba(118,169,250,var(--placeholder-opacity))}.sm\:focus\:placeholder-blue-400:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#76a9fa;color:rgba(118,169,250,var(--placeholder-opacity))}.sm\:focus\:placeholder-blue-400:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#76a9fa;color:rgba(118,169,250,var(--placeholder-opacity))}.sm\:focus\:placeholder-blue-400:focus::placeholder{--placeholder-opacity:1;color:#76a9fa;color:rgba(118,169,250,var(--placeholder-opacity))}.sm\:focus\:placeholder-blue-500:focus::-moz-placeholder{--placeholder-opacity:1;color:#3f83f8;color:rgba(63,131,248,var(--placeholder-opacity))}.sm\:focus\:placeholder-blue-500:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#3f83f8;color:rgba(63,131,248,var(--placeholder-opacity))}.sm\:focus\:placeholder-blue-500:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#3f83f8;color:rgba(63,131,248,var(--placeholder-opacity))}.sm\:focus\:placeholder-blue-500:focus::placeholder{--placeholder-opacity:1;color:#3f83f8;color:rgba(63,131,248,var(--placeholder-opacity))}.sm\:focus\:placeholder-blue-600:focus::-moz-placeholder{--placeholder-opacity:1;color:#1c64f2;color:rgba(28,100,242,var(--placeholder-opacity))}.sm\:focus\:placeholder-blue-600:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#1c64f2;color:rgba(28,100,242,var(--placeholder-opacity))}.sm\:focus\:placeholder-blue-600:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#1c64f2;color:rgba(28,100,242,var(--placeholder-opacity))}.sm\:focus\:placeholder-blue-600:focus::placeholder{--placeholder-opacity:1;color:#1c64f2;color:rgba(28,100,242,var(--placeholder-opacity))}.sm\:focus\:placeholder-blue-700:focus::-moz-placeholder{--placeholder-opacity:1;color:#1a56db;color:rgba(26,86,219,var(--placeholder-opacity))}.sm\:focus\:placeholder-blue-700:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#1a56db;color:rgba(26,86,219,var(--placeholder-opacity))}.sm\:focus\:placeholder-blue-700:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#1a56db;color:rgba(26,86,219,var(--placeholder-opacity))}.sm\:focus\:placeholder-blue-700:focus::placeholder{--placeholder-opacity:1;color:#1a56db;color:rgba(26,86,219,var(--placeholder-opacity))}.sm\:focus\:placeholder-blue-800:focus::-moz-placeholder{--placeholder-opacity:1;color:#1e429f;color:rgba(30,66,159,var(--placeholder-opacity))}.sm\:focus\:placeholder-blue-800:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#1e429f;color:rgba(30,66,159,var(--placeholder-opacity))}.sm\:focus\:placeholder-blue-800:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#1e429f;color:rgba(30,66,159,var(--placeholder-opacity))}.sm\:focus\:placeholder-blue-800:focus::placeholder{--placeholder-opacity:1;color:#1e429f;color:rgba(30,66,159,var(--placeholder-opacity))}.sm\:focus\:placeholder-blue-900:focus::-moz-placeholder{--placeholder-opacity:1;color:#233876;color:rgba(35,56,118,var(--placeholder-opacity))}.sm\:focus\:placeholder-blue-900:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#233876;color:rgba(35,56,118,var(--placeholder-opacity))}.sm\:focus\:placeholder-blue-900:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#233876;color:rgba(35,56,118,var(--placeholder-opacity))}.sm\:focus\:placeholder-blue-900:focus::placeholder{--placeholder-opacity:1;color:#233876;color:rgba(35,56,118,var(--placeholder-opacity))}.sm\:focus\:placeholder-indigo-50:focus::-moz-placeholder{--placeholder-opacity:1;color:#f0f5ff;color:rgba(240,245,255,var(--placeholder-opacity))}.sm\:focus\:placeholder-indigo-50:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#f0f5ff;color:rgba(240,245,255,var(--placeholder-opacity))}.sm\:focus\:placeholder-indigo-50:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#f0f5ff;color:rgba(240,245,255,var(--placeholder-opacity))}.sm\:focus\:placeholder-indigo-50:focus::placeholder{--placeholder-opacity:1;color:#f0f5ff;color:rgba(240,245,255,var(--placeholder-opacity))}.sm\:focus\:placeholder-indigo-100:focus::-moz-placeholder{--placeholder-opacity:1;color:#e5edff;color:rgba(229,237,255,var(--placeholder-opacity))}.sm\:focus\:placeholder-indigo-100:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#e5edff;color:rgba(229,237,255,var(--placeholder-opacity))}.sm\:focus\:placeholder-indigo-100:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#e5edff;color:rgba(229,237,255,var(--placeholder-opacity))}.sm\:focus\:placeholder-indigo-100:focus::placeholder{--placeholder-opacity:1;color:#e5edff;color:rgba(229,237,255,var(--placeholder-opacity))}.sm\:focus\:placeholder-indigo-200:focus::-moz-placeholder{--placeholder-opacity:1;color:#cddbfe;color:rgba(205,219,254,var(--placeholder-opacity))}.sm\:focus\:placeholder-indigo-200:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#cddbfe;color:rgba(205,219,254,var(--placeholder-opacity))}.sm\:focus\:placeholder-indigo-200:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#cddbfe;color:rgba(205,219,254,var(--placeholder-opacity))}.sm\:focus\:placeholder-indigo-200:focus::placeholder{--placeholder-opacity:1;color:#cddbfe;color:rgba(205,219,254,var(--placeholder-opacity))}.sm\:focus\:placeholder-indigo-300:focus::-moz-placeholder{--placeholder-opacity:1;color:#b4c6fc;color:rgba(180,198,252,var(--placeholder-opacity))}.sm\:focus\:placeholder-indigo-300:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#b4c6fc;color:rgba(180,198,252,var(--placeholder-opacity))}.sm\:focus\:placeholder-indigo-300:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#b4c6fc;color:rgba(180,198,252,var(--placeholder-opacity))}.sm\:focus\:placeholder-indigo-300:focus::placeholder{--placeholder-opacity:1;color:#b4c6fc;color:rgba(180,198,252,var(--placeholder-opacity))}.sm\:focus\:placeholder-indigo-400:focus::-moz-placeholder{--placeholder-opacity:1;color:#8da2fb;color:rgba(141,162,251,var(--placeholder-opacity))}.sm\:focus\:placeholder-indigo-400:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#8da2fb;color:rgba(141,162,251,var(--placeholder-opacity))}.sm\:focus\:placeholder-indigo-400:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#8da2fb;color:rgba(141,162,251,var(--placeholder-opacity))}.sm\:focus\:placeholder-indigo-400:focus::placeholder{--placeholder-opacity:1;color:#8da2fb;color:rgba(141,162,251,var(--placeholder-opacity))}.sm\:focus\:placeholder-indigo-500:focus::-moz-placeholder{--placeholder-opacity:1;color:#6875f5;color:rgba(104,117,245,var(--placeholder-opacity))}.sm\:focus\:placeholder-indigo-500:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#6875f5;color:rgba(104,117,245,var(--placeholder-opacity))}.sm\:focus\:placeholder-indigo-500:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#6875f5;color:rgba(104,117,245,var(--placeholder-opacity))}.sm\:focus\:placeholder-indigo-500:focus::placeholder{--placeholder-opacity:1;color:#6875f5;color:rgba(104,117,245,var(--placeholder-opacity))}.sm\:focus\:placeholder-indigo-600:focus::-moz-placeholder{--placeholder-opacity:1;color:#5850ec;color:rgba(88,80,236,var(--placeholder-opacity))}.sm\:focus\:placeholder-indigo-600:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#5850ec;color:rgba(88,80,236,var(--placeholder-opacity))}.sm\:focus\:placeholder-indigo-600:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#5850ec;color:rgba(88,80,236,var(--placeholder-opacity))}.sm\:focus\:placeholder-indigo-600:focus::placeholder{--placeholder-opacity:1;color:#5850ec;color:rgba(88,80,236,var(--placeholder-opacity))}.sm\:focus\:placeholder-indigo-700:focus::-moz-placeholder{--placeholder-opacity:1;color:#5145cd;color:rgba(81,69,205,var(--placeholder-opacity))}.sm\:focus\:placeholder-indigo-700:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#5145cd;color:rgba(81,69,205,var(--placeholder-opacity))}.sm\:focus\:placeholder-indigo-700:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#5145cd;color:rgba(81,69,205,var(--placeholder-opacity))}.sm\:focus\:placeholder-indigo-700:focus::placeholder{--placeholder-opacity:1;color:#5145cd;color:rgba(81,69,205,var(--placeholder-opacity))}.sm\:focus\:placeholder-indigo-800:focus::-moz-placeholder{--placeholder-opacity:1;color:#42389d;color:rgba(66,56,157,var(--placeholder-opacity))}.sm\:focus\:placeholder-indigo-800:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#42389d;color:rgba(66,56,157,var(--placeholder-opacity))}.sm\:focus\:placeholder-indigo-800:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#42389d;color:rgba(66,56,157,var(--placeholder-opacity))}.sm\:focus\:placeholder-indigo-800:focus::placeholder{--placeholder-opacity:1;color:#42389d;color:rgba(66,56,157,var(--placeholder-opacity))}.sm\:focus\:placeholder-indigo-900:focus::-moz-placeholder{--placeholder-opacity:1;color:#362f78;color:rgba(54,47,120,var(--placeholder-opacity))}.sm\:focus\:placeholder-indigo-900:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#362f78;color:rgba(54,47,120,var(--placeholder-opacity))}.sm\:focus\:placeholder-indigo-900:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#362f78;color:rgba(54,47,120,var(--placeholder-opacity))}.sm\:focus\:placeholder-indigo-900:focus::placeholder{--placeholder-opacity:1;color:#362f78;color:rgba(54,47,120,var(--placeholder-opacity))}.sm\:focus\:placeholder-purple-50:focus::-moz-placeholder{--placeholder-opacity:1;color:#f6f5ff;color:rgba(246,245,255,var(--placeholder-opacity))}.sm\:focus\:placeholder-purple-50:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#f6f5ff;color:rgba(246,245,255,var(--placeholder-opacity))}.sm\:focus\:placeholder-purple-50:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#f6f5ff;color:rgba(246,245,255,var(--placeholder-opacity))}.sm\:focus\:placeholder-purple-50:focus::placeholder{--placeholder-opacity:1;color:#f6f5ff;color:rgba(246,245,255,var(--placeholder-opacity))}.sm\:focus\:placeholder-purple-100:focus::-moz-placeholder{--placeholder-opacity:1;color:#edebfe;color:rgba(237,235,254,var(--placeholder-opacity))}.sm\:focus\:placeholder-purple-100:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#edebfe;color:rgba(237,235,254,var(--placeholder-opacity))}.sm\:focus\:placeholder-purple-100:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#edebfe;color:rgba(237,235,254,var(--placeholder-opacity))}.sm\:focus\:placeholder-purple-100:focus::placeholder{--placeholder-opacity:1;color:#edebfe;color:rgba(237,235,254,var(--placeholder-opacity))}.sm\:focus\:placeholder-purple-200:focus::-moz-placeholder{--placeholder-opacity:1;color:#dcd7fe;color:rgba(220,215,254,var(--placeholder-opacity))}.sm\:focus\:placeholder-purple-200:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#dcd7fe;color:rgba(220,215,254,var(--placeholder-opacity))}.sm\:focus\:placeholder-purple-200:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#dcd7fe;color:rgba(220,215,254,var(--placeholder-opacity))}.sm\:focus\:placeholder-purple-200:focus::placeholder{--placeholder-opacity:1;color:#dcd7fe;color:rgba(220,215,254,var(--placeholder-opacity))}.sm\:focus\:placeholder-purple-300:focus::-moz-placeholder{--placeholder-opacity:1;color:#cabffd;color:rgba(202,191,253,var(--placeholder-opacity))}.sm\:focus\:placeholder-purple-300:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#cabffd;color:rgba(202,191,253,var(--placeholder-opacity))}.sm\:focus\:placeholder-purple-300:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#cabffd;color:rgba(202,191,253,var(--placeholder-opacity))}.sm\:focus\:placeholder-purple-300:focus::placeholder{--placeholder-opacity:1;color:#cabffd;color:rgba(202,191,253,var(--placeholder-opacity))}.sm\:focus\:placeholder-purple-400:focus::-moz-placeholder{--placeholder-opacity:1;color:#ac94fa;color:rgba(172,148,250,var(--placeholder-opacity))}.sm\:focus\:placeholder-purple-400:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#ac94fa;color:rgba(172,148,250,var(--placeholder-opacity))}.sm\:focus\:placeholder-purple-400:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#ac94fa;color:rgba(172,148,250,var(--placeholder-opacity))}.sm\:focus\:placeholder-purple-400:focus::placeholder{--placeholder-opacity:1;color:#ac94fa;color:rgba(172,148,250,var(--placeholder-opacity))}.sm\:focus\:placeholder-purple-500:focus::-moz-placeholder{--placeholder-opacity:1;color:#9061f9;color:rgba(144,97,249,var(--placeholder-opacity))}.sm\:focus\:placeholder-purple-500:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#9061f9;color:rgba(144,97,249,var(--placeholder-opacity))}.sm\:focus\:placeholder-purple-500:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#9061f9;color:rgba(144,97,249,var(--placeholder-opacity))}.sm\:focus\:placeholder-purple-500:focus::placeholder{--placeholder-opacity:1;color:#9061f9;color:rgba(144,97,249,var(--placeholder-opacity))}.sm\:focus\:placeholder-purple-600:focus::-moz-placeholder{--placeholder-opacity:1;color:#7e3af2;color:rgba(126,58,242,var(--placeholder-opacity))}.sm\:focus\:placeholder-purple-600:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#7e3af2;color:rgba(126,58,242,var(--placeholder-opacity))}.sm\:focus\:placeholder-purple-600:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#7e3af2;color:rgba(126,58,242,var(--placeholder-opacity))}.sm\:focus\:placeholder-purple-600:focus::placeholder{--placeholder-opacity:1;color:#7e3af2;color:rgba(126,58,242,var(--placeholder-opacity))}.sm\:focus\:placeholder-purple-700:focus::-moz-placeholder{--placeholder-opacity:1;color:#6c2bd9;color:rgba(108,43,217,var(--placeholder-opacity))}.sm\:focus\:placeholder-purple-700:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#6c2bd9;color:rgba(108,43,217,var(--placeholder-opacity))}.sm\:focus\:placeholder-purple-700:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#6c2bd9;color:rgba(108,43,217,var(--placeholder-opacity))}.sm\:focus\:placeholder-purple-700:focus::placeholder{--placeholder-opacity:1;color:#6c2bd9;color:rgba(108,43,217,var(--placeholder-opacity))}.sm\:focus\:placeholder-purple-800:focus::-moz-placeholder{--placeholder-opacity:1;color:#5521b5;color:rgba(85,33,181,var(--placeholder-opacity))}.sm\:focus\:placeholder-purple-800:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#5521b5;color:rgba(85,33,181,var(--placeholder-opacity))}.sm\:focus\:placeholder-purple-800:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#5521b5;color:rgba(85,33,181,var(--placeholder-opacity))}.sm\:focus\:placeholder-purple-800:focus::placeholder{--placeholder-opacity:1;color:#5521b5;color:rgba(85,33,181,var(--placeholder-opacity))}.sm\:focus\:placeholder-purple-900:focus::-moz-placeholder{--placeholder-opacity:1;color:#4a1d96;color:rgba(74,29,150,var(--placeholder-opacity))}.sm\:focus\:placeholder-purple-900:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#4a1d96;color:rgba(74,29,150,var(--placeholder-opacity))}.sm\:focus\:placeholder-purple-900:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#4a1d96;color:rgba(74,29,150,var(--placeholder-opacity))}.sm\:focus\:placeholder-purple-900:focus::placeholder{--placeholder-opacity:1;color:#4a1d96;color:rgba(74,29,150,var(--placeholder-opacity))}.sm\:focus\:placeholder-pink-50:focus::-moz-placeholder{--placeholder-opacity:1;color:#fdf2f8;color:rgba(253,242,248,var(--placeholder-opacity))}.sm\:focus\:placeholder-pink-50:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#fdf2f8;color:rgba(253,242,248,var(--placeholder-opacity))}.sm\:focus\:placeholder-pink-50:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#fdf2f8;color:rgba(253,242,248,var(--placeholder-opacity))}.sm\:focus\:placeholder-pink-50:focus::placeholder{--placeholder-opacity:1;color:#fdf2f8;color:rgba(253,242,248,var(--placeholder-opacity))}.sm\:focus\:placeholder-pink-100:focus::-moz-placeholder{--placeholder-opacity:1;color:#fce8f3;color:rgba(252,232,243,var(--placeholder-opacity))}.sm\:focus\:placeholder-pink-100:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#fce8f3;color:rgba(252,232,243,var(--placeholder-opacity))}.sm\:focus\:placeholder-pink-100:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#fce8f3;color:rgba(252,232,243,var(--placeholder-opacity))}.sm\:focus\:placeholder-pink-100:focus::placeholder{--placeholder-opacity:1;color:#fce8f3;color:rgba(252,232,243,var(--placeholder-opacity))}.sm\:focus\:placeholder-pink-200:focus::-moz-placeholder{--placeholder-opacity:1;color:#fad1e8;color:rgba(250,209,232,var(--placeholder-opacity))}.sm\:focus\:placeholder-pink-200:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#fad1e8;color:rgba(250,209,232,var(--placeholder-opacity))}.sm\:focus\:placeholder-pink-200:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#fad1e8;color:rgba(250,209,232,var(--placeholder-opacity))}.sm\:focus\:placeholder-pink-200:focus::placeholder{--placeholder-opacity:1;color:#fad1e8;color:rgba(250,209,232,var(--placeholder-opacity))}.sm\:focus\:placeholder-pink-300:focus::-moz-placeholder{--placeholder-opacity:1;color:#f8b4d9;color:rgba(248,180,217,var(--placeholder-opacity))}.sm\:focus\:placeholder-pink-300:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#f8b4d9;color:rgba(248,180,217,var(--placeholder-opacity))}.sm\:focus\:placeholder-pink-300:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#f8b4d9;color:rgba(248,180,217,var(--placeholder-opacity))}.sm\:focus\:placeholder-pink-300:focus::placeholder{--placeholder-opacity:1;color:#f8b4d9;color:rgba(248,180,217,var(--placeholder-opacity))}.sm\:focus\:placeholder-pink-400:focus::-moz-placeholder{--placeholder-opacity:1;color:#f17eb8;color:rgba(241,126,184,var(--placeholder-opacity))}.sm\:focus\:placeholder-pink-400:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#f17eb8;color:rgba(241,126,184,var(--placeholder-opacity))}.sm\:focus\:placeholder-pink-400:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#f17eb8;color:rgba(241,126,184,var(--placeholder-opacity))}.sm\:focus\:placeholder-pink-400:focus::placeholder{--placeholder-opacity:1;color:#f17eb8;color:rgba(241,126,184,var(--placeholder-opacity))}.sm\:focus\:placeholder-pink-500:focus::-moz-placeholder{--placeholder-opacity:1;color:#e74694;color:rgba(231,70,148,var(--placeholder-opacity))}.sm\:focus\:placeholder-pink-500:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#e74694;color:rgba(231,70,148,var(--placeholder-opacity))}.sm\:focus\:placeholder-pink-500:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#e74694;color:rgba(231,70,148,var(--placeholder-opacity))}.sm\:focus\:placeholder-pink-500:focus::placeholder{--placeholder-opacity:1;color:#e74694;color:rgba(231,70,148,var(--placeholder-opacity))}.sm\:focus\:placeholder-pink-600:focus::-moz-placeholder{--placeholder-opacity:1;color:#d61f69;color:rgba(214,31,105,var(--placeholder-opacity))}.sm\:focus\:placeholder-pink-600:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#d61f69;color:rgba(214,31,105,var(--placeholder-opacity))}.sm\:focus\:placeholder-pink-600:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#d61f69;color:rgba(214,31,105,var(--placeholder-opacity))}.sm\:focus\:placeholder-pink-600:focus::placeholder{--placeholder-opacity:1;color:#d61f69;color:rgba(214,31,105,var(--placeholder-opacity))}.sm\:focus\:placeholder-pink-700:focus::-moz-placeholder{--placeholder-opacity:1;color:#bf125d;color:rgba(191,18,93,var(--placeholder-opacity))}.sm\:focus\:placeholder-pink-700:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#bf125d;color:rgba(191,18,93,var(--placeholder-opacity))}.sm\:focus\:placeholder-pink-700:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#bf125d;color:rgba(191,18,93,var(--placeholder-opacity))}.sm\:focus\:placeholder-pink-700:focus::placeholder{--placeholder-opacity:1;color:#bf125d;color:rgba(191,18,93,var(--placeholder-opacity))}.sm\:focus\:placeholder-pink-800:focus::-moz-placeholder{--placeholder-opacity:1;color:#99154b;color:rgba(153,21,75,var(--placeholder-opacity))}.sm\:focus\:placeholder-pink-800:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#99154b;color:rgba(153,21,75,var(--placeholder-opacity))}.sm\:focus\:placeholder-pink-800:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#99154b;color:rgba(153,21,75,var(--placeholder-opacity))}.sm\:focus\:placeholder-pink-800:focus::placeholder{--placeholder-opacity:1;color:#99154b;color:rgba(153,21,75,var(--placeholder-opacity))}.sm\:focus\:placeholder-pink-900:focus::-moz-placeholder{--placeholder-opacity:1;color:#751a3d;color:rgba(117,26,61,var(--placeholder-opacity))}.sm\:focus\:placeholder-pink-900:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#751a3d;color:rgba(117,26,61,var(--placeholder-opacity))}.sm\:focus\:placeholder-pink-900:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#751a3d;color:rgba(117,26,61,var(--placeholder-opacity))}.sm\:focus\:placeholder-pink-900:focus::placeholder{--placeholder-opacity:1;color:#751a3d;color:rgba(117,26,61,var(--placeholder-opacity))}.sm\:placeholder-opacity-0::-moz-placeholder{--placeholder-opacity:0}.sm\:placeholder-opacity-0:-ms-input-placeholder{--placeholder-opacity:0}.sm\:placeholder-opacity-0::-ms-input-placeholder{--placeholder-opacity:0}.sm\:placeholder-opacity-0::placeholder{--placeholder-opacity:0}.sm\:placeholder-opacity-25::-moz-placeholder{--placeholder-opacity:0.25}.sm\:placeholder-opacity-25:-ms-input-placeholder{--placeholder-opacity:0.25}.sm\:placeholder-opacity-25::-ms-input-placeholder{--placeholder-opacity:0.25}.sm\:placeholder-opacity-25::placeholder{--placeholder-opacity:0.25}.sm\:placeholder-opacity-50::-moz-placeholder{--placeholder-opacity:0.5}.sm\:placeholder-opacity-50:-ms-input-placeholder{--placeholder-opacity:0.5}.sm\:placeholder-opacity-50::-ms-input-placeholder{--placeholder-opacity:0.5}.sm\:placeholder-opacity-50::placeholder{--placeholder-opacity:0.5}.sm\:placeholder-opacity-75::-moz-placeholder{--placeholder-opacity:0.75}.sm\:placeholder-opacity-75:-ms-input-placeholder{--placeholder-opacity:0.75}.sm\:placeholder-opacity-75::-ms-input-placeholder{--placeholder-opacity:0.75}.sm\:placeholder-opacity-75::placeholder{--placeholder-opacity:0.75}.sm\:placeholder-opacity-100::-moz-placeholder{--placeholder-opacity:1}.sm\:placeholder-opacity-100:-ms-input-placeholder{--placeholder-opacity:1}.sm\:placeholder-opacity-100::-ms-input-placeholder{--placeholder-opacity:1}.sm\:placeholder-opacity-100::placeholder{--placeholder-opacity:1}.sm\:focus\:placeholder-opacity-0:focus::-moz-placeholder{--placeholder-opacity:0}.sm\:focus\:placeholder-opacity-0:focus:-ms-input-placeholder{--placeholder-opacity:0}.sm\:focus\:placeholder-opacity-0:focus::-ms-input-placeholder{--placeholder-opacity:0}.sm\:focus\:placeholder-opacity-0:focus::placeholder{--placeholder-opacity:0}.sm\:focus\:placeholder-opacity-25:focus::-moz-placeholder{--placeholder-opacity:0.25}.sm\:focus\:placeholder-opacity-25:focus:-ms-input-placeholder{--placeholder-opacity:0.25}.sm\:focus\:placeholder-opacity-25:focus::-ms-input-placeholder{--placeholder-opacity:0.25}.sm\:focus\:placeholder-opacity-25:focus::placeholder{--placeholder-opacity:0.25}.sm\:focus\:placeholder-opacity-50:focus::-moz-placeholder{--placeholder-opacity:0.5}.sm\:focus\:placeholder-opacity-50:focus:-ms-input-placeholder{--placeholder-opacity:0.5}.sm\:focus\:placeholder-opacity-50:focus::-ms-input-placeholder{--placeholder-opacity:0.5}.sm\:focus\:placeholder-opacity-50:focus::placeholder{--placeholder-opacity:0.5}.sm\:focus\:placeholder-opacity-75:focus::-moz-placeholder{--placeholder-opacity:0.75}.sm\:focus\:placeholder-opacity-75:focus:-ms-input-placeholder{--placeholder-opacity:0.75}.sm\:focus\:placeholder-opacity-75:focus::-ms-input-placeholder{--placeholder-opacity:0.75}.sm\:focus\:placeholder-opacity-75:focus::placeholder{--placeholder-opacity:0.75}.sm\:focus\:placeholder-opacity-100:focus::-moz-placeholder{--placeholder-opacity:1}.sm\:focus\:placeholder-opacity-100:focus:-ms-input-placeholder{--placeholder-opacity:1}.sm\:focus\:placeholder-opacity-100:focus::-ms-input-placeholder{--placeholder-opacity:1}.sm\:focus\:placeholder-opacity-100:focus::placeholder{--placeholder-opacity:1}.sm\:pointer-events-none{pointer-events:none}.sm\:pointer-events-auto{pointer-events:auto}.sm\:static{position:static}.sm\:fixed{position:fixed}.sm\:absolute{position:absolute}.sm\:relative{position:relative}.sm\:sticky{position:-webkit-sticky;position:sticky}.sm\:inset-0{top:0;right:0;bottom:0;left:0}.sm\:inset-1{top:.25rem;right:.25rem;bottom:.25rem;left:.25rem}.sm\:inset-2{top:.5rem;right:.5rem;bottom:.5rem;left:.5rem}.sm\:inset-3{top:.75rem;right:.75rem;bottom:.75rem;left:.75rem}.sm\:inset-4{top:1rem;right:1rem;bottom:1rem;left:1rem}.sm\:inset-5{top:1.25rem;right:1.25rem;bottom:1.25rem;left:1.25rem}.sm\:inset-6{top:1.5rem;right:1.5rem;bottom:1.5rem;left:1.5rem}.sm\:inset-7{top:1.75rem;right:1.75rem;bottom:1.75rem;left:1.75rem}.sm\:inset-8{top:2rem;right:2rem;bottom:2rem;left:2rem}.sm\:inset-9{top:2.25rem;right:2.25rem;bottom:2.25rem;left:2.25rem}.sm\:inset-10{top:2.5rem;right:2.5rem;bottom:2.5rem;left:2.5rem}.sm\:inset-11{top:2.75rem;right:2.75rem;bottom:2.75rem;left:2.75rem}.sm\:inset-12{top:3rem;right:3rem;bottom:3rem;left:3rem}.sm\:inset-13{top:3.25rem;right:3.25rem;bottom:3.25rem;left:3.25rem}.sm\:inset-14{top:3.5rem;right:3.5rem;bottom:3.5rem;left:3.5rem}.sm\:inset-15{top:3.75rem;right:3.75rem;bottom:3.75rem;left:3.75rem}.sm\:inset-16{top:4rem;right:4rem;bottom:4rem;left:4rem}.sm\:inset-20{top:5rem;right:5rem;bottom:5rem;left:5rem}.sm\:inset-24{top:6rem;right:6rem;bottom:6rem;left:6rem}.sm\:inset-28{top:7rem;right:7rem;bottom:7rem;left:7rem}.sm\:inset-32{top:8rem;right:8rem;bottom:8rem;left:8rem}.sm\:inset-36{top:9rem;right:9rem;bottom:9rem;left:9rem}.sm\:inset-40{top:10rem;right:10rem;bottom:10rem;left:10rem}.sm\:inset-44{top:11rem;right:11rem;bottom:11rem;left:11rem}.sm\:inset-48{top:12rem;right:12rem;bottom:12rem;left:12rem}.sm\:inset-52{top:13rem;right:13rem;bottom:13rem;left:13rem}.sm\:inset-56{top:14rem;right:14rem;bottom:14rem;left:14rem}.sm\:inset-60{top:15rem;right:15rem;bottom:15rem;left:15rem}.sm\:inset-64{top:16rem;right:16rem;bottom:16rem;left:16rem}.sm\:inset-72{top:18rem;right:18rem;bottom:18rem;left:18rem}.sm\:inset-80{top:20rem;right:20rem;bottom:20rem;left:20rem}.sm\:inset-96{top:24rem;right:24rem;bottom:24rem;left:24rem}.sm\:inset-auto{top:auto;right:auto;bottom:auto;left:auto}.sm\:inset-px{top:1px;right:1px;bottom:1px;left:1px}.sm\:inset-0\.5{top:.125rem;right:.125rem;bottom:.125rem;left:.125rem}.sm\:inset-1\.5{top:.375rem;right:.375rem;bottom:.375rem;left:.375rem}.sm\:inset-2\.5{top:.625rem;right:.625rem;bottom:.625rem;left:.625rem}.sm\:inset-3\.5{top:.875rem;right:.875rem;bottom:.875rem;left:.875rem}.sm\:inset-1\/2{top:50%;right:50%;bottom:50%;left:50%}.sm\:inset-1\/3{top:33.333333%;right:33.333333%;bottom:33.333333%;left:33.333333%}.sm\:inset-2\/3{top:66.666667%;right:66.666667%;bottom:66.666667%;left:66.666667%}.sm\:inset-1\/4{top:25%;right:25%;bottom:25%;left:25%}.sm\:inset-2\/4{top:50%;right:50%;bottom:50%;left:50%}.sm\:inset-3\/4{top:75%;right:75%;bottom:75%;left:75%}.sm\:inset-1\/5{top:20%;right:20%;bottom:20%;left:20%}.sm\:inset-2\/5{top:40%;right:40%;bottom:40%;left:40%}.sm\:inset-3\/5{top:60%;right:60%;bottom:60%;left:60%}.sm\:inset-4\/5{top:80%;right:80%;bottom:80%;left:80%}.sm\:inset-1\/6{top:16.666667%;right:16.666667%;bottom:16.666667%;left:16.666667%}.sm\:inset-2\/6{top:33.333333%;right:33.333333%;bottom:33.333333%;left:33.333333%}.sm\:inset-3\/6{top:50%;right:50%;bottom:50%;left:50%}.sm\:inset-4\/6{top:66.666667%;right:66.666667%;bottom:66.666667%;left:66.666667%}.sm\:inset-5\/6{top:83.333333%;right:83.333333%;bottom:83.333333%;left:83.333333%}.sm\:inset-1\/12{top:8.333333%;right:8.333333%;bottom:8.333333%;left:8.333333%}.sm\:inset-2\/12{top:16.666667%;right:16.666667%;bottom:16.666667%;left:16.666667%}.sm\:inset-3\/12{top:25%;right:25%;bottom:25%;left:25%}.sm\:inset-4\/12{top:33.333333%;right:33.333333%;bottom:33.333333%;left:33.333333%}.sm\:inset-5\/12{top:41.666667%;right:41.666667%;bottom:41.666667%;left:41.666667%}.sm\:inset-6\/12{top:50%;right:50%;bottom:50%;left:50%}.sm\:inset-7\/12{top:58.333333%;right:58.333333%;bottom:58.333333%;left:58.333333%}.sm\:inset-8\/12{top:66.666667%;right:66.666667%;bottom:66.666667%;left:66.666667%}.sm\:inset-9\/12{top:75%;right:75%;bottom:75%;left:75%}.sm\:inset-10\/12{top:83.333333%;right:83.333333%;bottom:83.333333%;left:83.333333%}.sm\:inset-11\/12{top:91.666667%;right:91.666667%;bottom:91.666667%;left:91.666667%}.sm\:inset-full{top:100%;right:100%;bottom:100%;left:100%}.sm\:inset-y-0{top:0;bottom:0}.sm\:inset-x-0{right:0;left:0}.sm\:inset-y-1{top:.25rem;bottom:.25rem}.sm\:inset-x-1{right:.25rem;left:.25rem}.sm\:inset-y-2{top:.5rem;bottom:.5rem}.sm\:inset-x-2{right:.5rem;left:.5rem}.sm\:inset-y-3{top:.75rem;bottom:.75rem}.sm\:inset-x-3{right:.75rem;left:.75rem}.sm\:inset-y-4{top:1rem;bottom:1rem}.sm\:inset-x-4{right:1rem;left:1rem}.sm\:inset-y-5{top:1.25rem;bottom:1.25rem}.sm\:inset-x-5{right:1.25rem;left:1.25rem}.sm\:inset-y-6{top:1.5rem;bottom:1.5rem}.sm\:inset-x-6{right:1.5rem;left:1.5rem}.sm\:inset-y-7{top:1.75rem;bottom:1.75rem}.sm\:inset-x-7{right:1.75rem;left:1.75rem}.sm\:inset-y-8{top:2rem;bottom:2rem}.sm\:inset-x-8{right:2rem;left:2rem}.sm\:inset-y-9{top:2.25rem;bottom:2.25rem}.sm\:inset-x-9{right:2.25rem;left:2.25rem}.sm\:inset-y-10{top:2.5rem;bottom:2.5rem}.sm\:inset-x-10{right:2.5rem;left:2.5rem}.sm\:inset-y-11{top:2.75rem;bottom:2.75rem}.sm\:inset-x-11{right:2.75rem;left:2.75rem}.sm\:inset-y-12{top:3rem;bottom:3rem}.sm\:inset-x-12{right:3rem;left:3rem}.sm\:inset-y-13{top:3.25rem;bottom:3.25rem}.sm\:inset-x-13{right:3.25rem;left:3.25rem}.sm\:inset-y-14{top:3.5rem;bottom:3.5rem}.sm\:inset-x-14{right:3.5rem;left:3.5rem}.sm\:inset-y-15{top:3.75rem;bottom:3.75rem}.sm\:inset-x-15{right:3.75rem;left:3.75rem}.sm\:inset-y-16{top:4rem;bottom:4rem}.sm\:inset-x-16{right:4rem;left:4rem}.sm\:inset-y-20{top:5rem;bottom:5rem}.sm\:inset-x-20{right:5rem;left:5rem}.sm\:inset-y-24{top:6rem;bottom:6rem}.sm\:inset-x-24{right:6rem;left:6rem}.sm\:inset-y-28{top:7rem;bottom:7rem}.sm\:inset-x-28{right:7rem;left:7rem}.sm\:inset-y-32{top:8rem;bottom:8rem}.sm\:inset-x-32{right:8rem;left:8rem}.sm\:inset-y-36{top:9rem;bottom:9rem}.sm\:inset-x-36{right:9rem;left:9rem}.sm\:inset-y-40{top:10rem;bottom:10rem}.sm\:inset-x-40{right:10rem;left:10rem}.sm\:inset-y-44{top:11rem;bottom:11rem}.sm\:inset-x-44{right:11rem;left:11rem}.sm\:inset-y-48{top:12rem;bottom:12rem}.sm\:inset-x-48{right:12rem;left:12rem}.sm\:inset-y-52{top:13rem;bottom:13rem}.sm\:inset-x-52{right:13rem;left:13rem}.sm\:inset-y-56{top:14rem;bottom:14rem}.sm\:inset-x-56{right:14rem;left:14rem}.sm\:inset-y-60{top:15rem;bottom:15rem}.sm\:inset-x-60{right:15rem;left:15rem}.sm\:inset-y-64{top:16rem;bottom:16rem}.sm\:inset-x-64{right:16rem;left:16rem}.sm\:inset-y-72{top:18rem;bottom:18rem}.sm\:inset-x-72{right:18rem;left:18rem}.sm\:inset-y-80{top:20rem;bottom:20rem}.sm\:inset-x-80{right:20rem;left:20rem}.sm\:inset-y-96{top:24rem;bottom:24rem}.sm\:inset-x-96{right:24rem;left:24rem}.sm\:inset-y-auto{top:auto;bottom:auto}.sm\:inset-x-auto{right:auto;left:auto}.sm\:inset-y-px{top:1px;bottom:1px}.sm\:inset-x-px{right:1px;left:1px}.sm\:inset-y-0\.5{top:.125rem;bottom:.125rem}.sm\:inset-x-0\.5{right:.125rem;left:.125rem}.sm\:inset-y-1\.5{top:.375rem;bottom:.375rem}.sm\:inset-x-1\.5{right:.375rem;left:.375rem}.sm\:inset-y-2\.5{top:.625rem;bottom:.625rem}.sm\:inset-x-2\.5{right:.625rem;left:.625rem}.sm\:inset-y-3\.5{top:.875rem;bottom:.875rem}.sm\:inset-x-3\.5{right:.875rem;left:.875rem}.sm\:inset-y-1\/2{top:50%;bottom:50%}.sm\:inset-x-1\/2{right:50%;left:50%}.sm\:inset-y-1\/3{top:33.333333%;bottom:33.333333%}.sm\:inset-x-1\/3{right:33.333333%;left:33.333333%}.sm\:inset-y-2\/3{top:66.666667%;bottom:66.666667%}.sm\:inset-x-2\/3{right:66.666667%;left:66.666667%}.sm\:inset-y-1\/4{top:25%;bottom:25%}.sm\:inset-x-1\/4{right:25%;left:25%}.sm\:inset-y-2\/4{top:50%;bottom:50%}.sm\:inset-x-2\/4{right:50%;left:50%}.sm\:inset-y-3\/4{top:75%;bottom:75%}.sm\:inset-x-3\/4{right:75%;left:75%}.sm\:inset-y-1\/5{top:20%;bottom:20%}.sm\:inset-x-1\/5{right:20%;left:20%}.sm\:inset-y-2\/5{top:40%;bottom:40%}.sm\:inset-x-2\/5{right:40%;left:40%}.sm\:inset-y-3\/5{top:60%;bottom:60%}.sm\:inset-x-3\/5{right:60%;left:60%}.sm\:inset-y-4\/5{top:80%;bottom:80%}.sm\:inset-x-4\/5{right:80%;left:80%}.sm\:inset-y-1\/6{top:16.666667%;bottom:16.666667%}.sm\:inset-x-1\/6{right:16.666667%;left:16.666667%}.sm\:inset-y-2\/6{top:33.333333%;bottom:33.333333%}.sm\:inset-x-2\/6{right:33.333333%;left:33.333333%}.sm\:inset-y-3\/6{top:50%;bottom:50%}.sm\:inset-x-3\/6{right:50%;left:50%}.sm\:inset-y-4\/6{top:66.666667%;bottom:66.666667%}.sm\:inset-x-4\/6{right:66.666667%;left:66.666667%}.sm\:inset-y-5\/6{top:83.333333%;bottom:83.333333%}.sm\:inset-x-5\/6{right:83.333333%;left:83.333333%}.sm\:inset-y-1\/12{top:8.333333%;bottom:8.333333%}.sm\:inset-x-1\/12{right:8.333333%;left:8.333333%}.sm\:inset-y-2\/12{top:16.666667%;bottom:16.666667%}.sm\:inset-x-2\/12{right:16.666667%;left:16.666667%}.sm\:inset-y-3\/12{top:25%;bottom:25%}.sm\:inset-x-3\/12{right:25%;left:25%}.sm\:inset-y-4\/12{top:33.333333%;bottom:33.333333%}.sm\:inset-x-4\/12{right:33.333333%;left:33.333333%}.sm\:inset-y-5\/12{top:41.666667%;bottom:41.666667%}.sm\:inset-x-5\/12{right:41.666667%;left:41.666667%}.sm\:inset-y-6\/12{top:50%;bottom:50%}.sm\:inset-x-6\/12{right:50%;left:50%}.sm\:inset-y-7\/12{top:58.333333%;bottom:58.333333%}.sm\:inset-x-7\/12{right:58.333333%;left:58.333333%}.sm\:inset-y-8\/12{top:66.666667%;bottom:66.666667%}.sm\:inset-x-8\/12{right:66.666667%;left:66.666667%}.sm\:inset-y-9\/12{top:75%;bottom:75%}.sm\:inset-x-9\/12{right:75%;left:75%}.sm\:inset-y-10\/12{top:83.333333%;bottom:83.333333%}.sm\:inset-x-10\/12{right:83.333333%;left:83.333333%}.sm\:inset-y-11\/12{top:91.666667%;bottom:91.666667%}.sm\:inset-x-11\/12{right:91.666667%;left:91.666667%}.sm\:inset-y-full{top:100%;bottom:100%}.sm\:inset-x-full{right:100%;left:100%}.sm\:top-0{top:0}.sm\:right-0{right:0}.sm\:bottom-0{bottom:0}.sm\:left-0{left:0}.sm\:top-1{top:.25rem}.sm\:right-1{right:.25rem}.sm\:bottom-1{bottom:.25rem}.sm\:left-1{left:.25rem}.sm\:top-2{top:.5rem}.sm\:right-2{right:.5rem}.sm\:bottom-2{bottom:.5rem}.sm\:left-2{left:.5rem}.sm\:top-3{top:.75rem}.sm\:right-3{right:.75rem}.sm\:bottom-3{bottom:.75rem}.sm\:left-3{left:.75rem}.sm\:top-4{top:1rem}.sm\:right-4{right:1rem}.sm\:bottom-4{bottom:1rem}.sm\:left-4{left:1rem}.sm\:top-5{top:1.25rem}.sm\:right-5{right:1.25rem}.sm\:bottom-5{bottom:1.25rem}.sm\:left-5{left:1.25rem}.sm\:top-6{top:1.5rem}.sm\:right-6{right:1.5rem}.sm\:bottom-6{bottom:1.5rem}.sm\:left-6{left:1.5rem}.sm\:top-7{top:1.75rem}.sm\:right-7{right:1.75rem}.sm\:bottom-7{bottom:1.75rem}.sm\:left-7{left:1.75rem}.sm\:top-8{top:2rem}.sm\:right-8{right:2rem}.sm\:bottom-8{bottom:2rem}.sm\:left-8{left:2rem}.sm\:top-9{top:2.25rem}.sm\:right-9{right:2.25rem}.sm\:bottom-9{bottom:2.25rem}.sm\:left-9{left:2.25rem}.sm\:top-10{top:2.5rem}.sm\:right-10{right:2.5rem}.sm\:bottom-10{bottom:2.5rem}.sm\:left-10{left:2.5rem}.sm\:top-11{top:2.75rem}.sm\:right-11{right:2.75rem}.sm\:bottom-11{bottom:2.75rem}.sm\:left-11{left:2.75rem}.sm\:top-12{top:3rem}.sm\:right-12{right:3rem}.sm\:bottom-12{bottom:3rem}.sm\:left-12{left:3rem}.sm\:top-13{top:3.25rem}.sm\:right-13{right:3.25rem}.sm\:bottom-13{bottom:3.25rem}.sm\:left-13{left:3.25rem}.sm\:top-14{top:3.5rem}.sm\:right-14{right:3.5rem}.sm\:bottom-14{bottom:3.5rem}.sm\:left-14{left:3.5rem}.sm\:top-15{top:3.75rem}.sm\:right-15{right:3.75rem}.sm\:bottom-15{bottom:3.75rem}.sm\:left-15{left:3.75rem}.sm\:top-16{top:4rem}.sm\:right-16{right:4rem}.sm\:bottom-16{bottom:4rem}.sm\:left-16{left:4rem}.sm\:top-20{top:5rem}.sm\:right-20{right:5rem}.sm\:bottom-20{bottom:5rem}.sm\:left-20{left:5rem}.sm\:top-24{top:6rem}.sm\:right-24{right:6rem}.sm\:bottom-24{bottom:6rem}.sm\:left-24{left:6rem}.sm\:top-28{top:7rem}.sm\:right-28{right:7rem}.sm\:bottom-28{bottom:7rem}.sm\:left-28{left:7rem}.sm\:top-32{top:8rem}.sm\:right-32{right:8rem}.sm\:bottom-32{bottom:8rem}.sm\:left-32{left:8rem}.sm\:top-36{top:9rem}.sm\:right-36{right:9rem}.sm\:bottom-36{bottom:9rem}.sm\:left-36{left:9rem}.sm\:top-40{top:10rem}.sm\:right-40{right:10rem}.sm\:bottom-40{bottom:10rem}.sm\:left-40{left:10rem}.sm\:top-44{top:11rem}.sm\:right-44{right:11rem}.sm\:bottom-44{bottom:11rem}.sm\:left-44{left:11rem}.sm\:top-48{top:12rem}.sm\:right-48{right:12rem}.sm\:bottom-48{bottom:12rem}.sm\:left-48{left:12rem}.sm\:top-52{top:13rem}.sm\:right-52{right:13rem}.sm\:bottom-52{bottom:13rem}.sm\:left-52{left:13rem}.sm\:top-56{top:14rem}.sm\:right-56{right:14rem}.sm\:bottom-56{bottom:14rem}.sm\:left-56{left:14rem}.sm\:top-60{top:15rem}.sm\:right-60{right:15rem}.sm\:bottom-60{bottom:15rem}.sm\:left-60{left:15rem}.sm\:top-64{top:16rem}.sm\:right-64{right:16rem}.sm\:bottom-64{bottom:16rem}.sm\:left-64{left:16rem}.sm\:top-72{top:18rem}.sm\:right-72{right:18rem}.sm\:bottom-72{bottom:18rem}.sm\:left-72{left:18rem}.sm\:top-80{top:20rem}.sm\:right-80{right:20rem}.sm\:bottom-80{bottom:20rem}.sm\:left-80{left:20rem}.sm\:top-96{top:24rem}.sm\:right-96{right:24rem}.sm\:bottom-96{bottom:24rem}.sm\:left-96{left:24rem}.sm\:top-auto{top:auto}.sm\:right-auto{right:auto}.sm\:bottom-auto{bottom:auto}.sm\:left-auto{left:auto}.sm\:top-px{top:1px}.sm\:right-px{right:1px}.sm\:bottom-px{bottom:1px}.sm\:left-px{left:1px}.sm\:top-0\.5{top:.125rem}.sm\:right-0\.5{right:.125rem}.sm\:bottom-0\.5{bottom:.125rem}.sm\:left-0\.5{left:.125rem}.sm\:top-1\.5{top:.375rem}.sm\:right-1\.5{right:.375rem}.sm\:bottom-1\.5{bottom:.375rem}.sm\:left-1\.5{left:.375rem}.sm\:top-2\.5{top:.625rem}.sm\:right-2\.5{right:.625rem}.sm\:bottom-2\.5{bottom:.625rem}.sm\:left-2\.5{left:.625rem}.sm\:top-3\.5{top:.875rem}.sm\:right-3\.5{right:.875rem}.sm\:bottom-3\.5{bottom:.875rem}.sm\:left-3\.5{left:.875rem}.sm\:top-1\/2{top:50%}.sm\:right-1\/2{right:50%}.sm\:bottom-1\/2{bottom:50%}.sm\:left-1\/2{left:50%}.sm\:top-1\/3{top:33.333333%}.sm\:right-1\/3{right:33.333333%}.sm\:bottom-1\/3{bottom:33.333333%}.sm\:left-1\/3{left:33.333333%}.sm\:top-2\/3{top:66.666667%}.sm\:right-2\/3{right:66.666667%}.sm\:bottom-2\/3{bottom:66.666667%}.sm\:left-2\/3{left:66.666667%}.sm\:top-1\/4{top:25%}.sm\:right-1\/4{right:25%}.sm\:bottom-1\/4{bottom:25%}.sm\:left-1\/4{left:25%}.sm\:top-2\/4{top:50%}.sm\:right-2\/4{right:50%}.sm\:bottom-2\/4{bottom:50%}.sm\:left-2\/4{left:50%}.sm\:top-3\/4{top:75%}.sm\:right-3\/4{right:75%}.sm\:bottom-3\/4{bottom:75%}.sm\:left-3\/4{left:75%}.sm\:top-1\/5{top:20%}.sm\:right-1\/5{right:20%}.sm\:bottom-1\/5{bottom:20%}.sm\:left-1\/5{left:20%}.sm\:top-2\/5{top:40%}.sm\:right-2\/5{right:40%}.sm\:bottom-2\/5{bottom:40%}.sm\:left-2\/5{left:40%}.sm\:top-3\/5{top:60%}.sm\:right-3\/5{right:60%}.sm\:bottom-3\/5{bottom:60%}.sm\:left-3\/5{left:60%}.sm\:top-4\/5{top:80%}.sm\:right-4\/5{right:80%}.sm\:bottom-4\/5{bottom:80%}.sm\:left-4\/5{left:80%}.sm\:top-1\/6{top:16.666667%}.sm\:right-1\/6{right:16.666667%}.sm\:bottom-1\/6{bottom:16.666667%}.sm\:left-1\/6{left:16.666667%}.sm\:top-2\/6{top:33.333333%}.sm\:right-2\/6{right:33.333333%}.sm\:bottom-2\/6{bottom:33.333333%}.sm\:left-2\/6{left:33.333333%}.sm\:top-3\/6{top:50%}.sm\:right-3\/6{right:50%}.sm\:bottom-3\/6{bottom:50%}.sm\:left-3\/6{left:50%}.sm\:top-4\/6{top:66.666667%}.sm\:right-4\/6{right:66.666667%}.sm\:bottom-4\/6{bottom:66.666667%}.sm\:left-4\/6{left:66.666667%}.sm\:top-5\/6{top:83.333333%}.sm\:right-5\/6{right:83.333333%}.sm\:bottom-5\/6{bottom:83.333333%}.sm\:left-5\/6{left:83.333333%}.sm\:top-1\/12{top:8.333333%}.sm\:right-1\/12{right:8.333333%}.sm\:bottom-1\/12{bottom:8.333333%}.sm\:left-1\/12{left:8.333333%}.sm\:top-2\/12{top:16.666667%}.sm\:right-2\/12{right:16.666667%}.sm\:bottom-2\/12{bottom:16.666667%}.sm\:left-2\/12{left:16.666667%}.sm\:top-3\/12{top:25%}.sm\:right-3\/12{right:25%}.sm\:bottom-3\/12{bottom:25%}.sm\:left-3\/12{left:25%}.sm\:top-4\/12{top:33.333333%}.sm\:right-4\/12{right:33.333333%}.sm\:bottom-4\/12{bottom:33.333333%}.sm\:left-4\/12{left:33.333333%}.sm\:top-5\/12{top:41.666667%}.sm\:right-5\/12{right:41.666667%}.sm\:bottom-5\/12{bottom:41.666667%}.sm\:left-5\/12{left:41.666667%}.sm\:top-6\/12{top:50%}.sm\:right-6\/12{right:50%}.sm\:bottom-6\/12{bottom:50%}.sm\:left-6\/12{left:50%}.sm\:top-7\/12{top:58.333333%}.sm\:right-7\/12{right:58.333333%}.sm\:bottom-7\/12{bottom:58.333333%}.sm\:left-7\/12{left:58.333333%}.sm\:top-8\/12{top:66.666667%}.sm\:right-8\/12{right:66.666667%}.sm\:bottom-8\/12{bottom:66.666667%}.sm\:left-8\/12{left:66.666667%}.sm\:top-9\/12{top:75%}.sm\:right-9\/12{right:75%}.sm\:bottom-9\/12{bottom:75%}.sm\:left-9\/12{left:75%}.sm\:top-10\/12{top:83.333333%}.sm\:right-10\/12{right:83.333333%}.sm\:bottom-10\/12{bottom:83.333333%}.sm\:left-10\/12{left:83.333333%}.sm\:top-11\/12{top:91.666667%}.sm\:right-11\/12{right:91.666667%}.sm\:bottom-11\/12{bottom:91.666667%}.sm\:left-11\/12{left:91.666667%}.sm\:top-full{top:100%}.sm\:right-full{right:100%}.sm\:bottom-full{bottom:100%}.sm\:left-full{left:100%}.sm\:resize-none{resize:none}.sm\:resize-y{resize:vertical}.sm\:resize-x{resize:horizontal}.sm\:resize{resize:both}.sm\:shadow-xs{box-shadow:0 0 0 1px rgba(0,0,0,.05)}.sm\:shadow-sm{box-shadow:0 1px 2px 0 rgba(0,0,0,.05)}.sm\:shadow{box-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px 0 rgba(0,0,0,.06)}.sm\:shadow-md{box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06)}.sm\:shadow-lg{box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05)}.sm\:shadow-xl{box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04)}.sm\:shadow-2xl{box-shadow:0 25px 50px -12px rgba(0,0,0,.25)}.sm\:shadow-inner{box-shadow:inset 0 2px 4px 0 rgba(0,0,0,.06)}.sm\:shadow-outline{box-shadow:0 0 0 3px rgba(118,169,250,.45)}.sm\:shadow-none{box-shadow:none}.sm\:shadow-solid{box-shadow:0 0 0 2px currentColor}.sm\:shadow-outline-gray{box-shadow:0 0 0 3px rgba(159,166,178,.45)}.sm\:shadow-outline-blue{box-shadow:0 0 0 3px rgba(164,202,254,.45)}.sm\:shadow-outline-teal{box-shadow:0 0 0 3px rgba(126,220,226,.45)}.sm\:shadow-outline-green{box-shadow:0 0 0 3px rgba(132,225,188,.45)}.sm\:shadow-outline-yellow{box-shadow:0 0 0 3px rgba(250,202,21,.45)}.sm\:shadow-outline-orange{box-shadow:0 0 0 3px rgba(253,186,140,.45)}.sm\:shadow-outline-red{box-shadow:0 0 0 3px rgba(248,180,180,.45)}.sm\:shadow-outline-pink{box-shadow:0 0 0 3px rgba(248,180,217,.45)}.sm\:shadow-outline-purple{box-shadow:0 0 0 3px rgba(202,191,253,.45)}.sm\:shadow-outline-indigo{box-shadow:0 0 0 3px rgba(180,198,252,.45)}.group:focus .sm\:group-focus\:shadow-xs{box-shadow:0 0 0 1px rgba(0,0,0,.05)}.group:focus .sm\:group-focus\:shadow-sm{box-shadow:0 1px 2px 0 rgba(0,0,0,.05)}.group:focus .sm\:group-focus\:shadow{box-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px 0 rgba(0,0,0,.06)}.group:focus .sm\:group-focus\:shadow-md{box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06)}.group:focus .sm\:group-focus\:shadow-lg{box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05)}.group:focus .sm\:group-focus\:shadow-xl{box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04)}.group:focus .sm\:group-focus\:shadow-2xl{box-shadow:0 25px 50px -12px rgba(0,0,0,.25)}.group:focus .sm\:group-focus\:shadow-inner{box-shadow:inset 0 2px 4px 0 rgba(0,0,0,.06)}.group:focus .sm\:group-focus\:shadow-outline{box-shadow:0 0 0 3px rgba(118,169,250,.45)}.group:focus .sm\:group-focus\:shadow-none{box-shadow:none}.group:focus .sm\:group-focus\:shadow-solid{box-shadow:0 0 0 2px currentColor}.group:focus .sm\:group-focus\:shadow-outline-gray{box-shadow:0 0 0 3px rgba(159,166,178,.45)}.group:focus .sm\:group-focus\:shadow-outline-blue{box-shadow:0 0 0 3px rgba(164,202,254,.45)}.group:focus .sm\:group-focus\:shadow-outline-teal{box-shadow:0 0 0 3px rgba(126,220,226,.45)}.group:focus .sm\:group-focus\:shadow-outline-green{box-shadow:0 0 0 3px rgba(132,225,188,.45)}.group:focus .sm\:group-focus\:shadow-outline-yellow{box-shadow:0 0 0 3px rgba(250,202,21,.45)}.group:focus .sm\:group-focus\:shadow-outline-orange{box-shadow:0 0 0 3px rgba(253,186,140,.45)}.group:focus .sm\:group-focus\:shadow-outline-red{box-shadow:0 0 0 3px rgba(248,180,180,.45)}.group:focus .sm\:group-focus\:shadow-outline-pink{box-shadow:0 0 0 3px rgba(248,180,217,.45)}.group:focus .sm\:group-focus\:shadow-outline-purple{box-shadow:0 0 0 3px rgba(202,191,253,.45)}.group:focus .sm\:group-focus\:shadow-outline-indigo{box-shadow:0 0 0 3px rgba(180,198,252,.45)}.sm\:hover\:shadow-xs:hover{box-shadow:0 0 0 1px rgba(0,0,0,.05)}.sm\:hover\:shadow-sm:hover{box-shadow:0 1px 2px 0 rgba(0,0,0,.05)}.sm\:hover\:shadow:hover{box-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px 0 rgba(0,0,0,.06)}.sm\:hover\:shadow-md:hover{box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06)}.sm\:hover\:shadow-lg:hover{box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05)}.sm\:hover\:shadow-xl:hover{box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04)}.sm\:hover\:shadow-2xl:hover{box-shadow:0 25px 50px -12px rgba(0,0,0,.25)}.sm\:hover\:shadow-inner:hover{box-shadow:inset 0 2px 4px 0 rgba(0,0,0,.06)}.sm\:hover\:shadow-outline:hover{box-shadow:0 0 0 3px rgba(118,169,250,.45)}.sm\:hover\:shadow-none:hover{box-shadow:none}.sm\:hover\:shadow-solid:hover{box-shadow:0 0 0 2px currentColor}.sm\:hover\:shadow-outline-gray:hover{box-shadow:0 0 0 3px rgba(159,166,178,.45)}.sm\:hover\:shadow-outline-blue:hover{box-shadow:0 0 0 3px rgba(164,202,254,.45)}.sm\:hover\:shadow-outline-teal:hover{box-shadow:0 0 0 3px rgba(126,220,226,.45)}.sm\:hover\:shadow-outline-green:hover{box-shadow:0 0 0 3px rgba(132,225,188,.45)}.sm\:hover\:shadow-outline-yellow:hover{box-shadow:0 0 0 3px rgba(250,202,21,.45)}.sm\:hover\:shadow-outline-orange:hover{box-shadow:0 0 0 3px rgba(253,186,140,.45)}.sm\:hover\:shadow-outline-red:hover{box-shadow:0 0 0 3px rgba(248,180,180,.45)}.sm\:hover\:shadow-outline-pink:hover{box-shadow:0 0 0 3px rgba(248,180,217,.45)}.sm\:hover\:shadow-outline-purple:hover{box-shadow:0 0 0 3px rgba(202,191,253,.45)}.sm\:hover\:shadow-outline-indigo:hover{box-shadow:0 0 0 3px rgba(180,198,252,.45)}.sm\:focus\:shadow-xs:focus{box-shadow:0 0 0 1px rgba(0,0,0,.05)}.sm\:focus\:shadow-sm:focus{box-shadow:0 1px 2px 0 rgba(0,0,0,.05)}.sm\:focus\:shadow:focus{box-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px 0 rgba(0,0,0,.06)}.sm\:focus\:shadow-md:focus{box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06)}.sm\:focus\:shadow-lg:focus{box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05)}.sm\:focus\:shadow-xl:focus{box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04)}.sm\:focus\:shadow-2xl:focus{box-shadow:0 25px 50px -12px rgba(0,0,0,.25)}.sm\:focus\:shadow-inner:focus{box-shadow:inset 0 2px 4px 0 rgba(0,0,0,.06)}.sm\:focus\:shadow-outline:focus{box-shadow:0 0 0 3px rgba(118,169,250,.45)}.sm\:focus\:shadow-none:focus{box-shadow:none}.sm\:focus\:shadow-solid:focus{box-shadow:0 0 0 2px currentColor}.sm\:focus\:shadow-outline-gray:focus{box-shadow:0 0 0 3px rgba(159,166,178,.45)}.sm\:focus\:shadow-outline-blue:focus{box-shadow:0 0 0 3px rgba(164,202,254,.45)}.sm\:focus\:shadow-outline-teal:focus{box-shadow:0 0 0 3px rgba(126,220,226,.45)}.sm\:focus\:shadow-outline-green:focus{box-shadow:0 0 0 3px rgba(132,225,188,.45)}.sm\:focus\:shadow-outline-yellow:focus{box-shadow:0 0 0 3px rgba(250,202,21,.45)}.sm\:focus\:shadow-outline-orange:focus{box-shadow:0 0 0 3px rgba(253,186,140,.45)}.sm\:focus\:shadow-outline-red:focus{box-shadow:0 0 0 3px rgba(248,180,180,.45)}.sm\:focus\:shadow-outline-pink:focus{box-shadow:0 0 0 3px rgba(248,180,217,.45)}.sm\:focus\:shadow-outline-purple:focus{box-shadow:0 0 0 3px rgba(202,191,253,.45)}.sm\:focus\:shadow-outline-indigo:focus{box-shadow:0 0 0 3px rgba(180,198,252,.45)}.sm\:fill-current{fill:currentColor}.sm\:stroke-current{stroke:currentColor}.sm\:stroke-0{stroke-width:0}.sm\:stroke-1{stroke-width:1}.sm\:stroke-2{stroke-width:2}.sm\:table-auto{table-layout:auto}.sm\:table-fixed{table-layout:fixed}.sm\:text-left{text-align:left}.sm\:text-center{text-align:center}.sm\:text-right{text-align:right}.sm\:text-justify{text-align:justify}.sm\:text-transparent{color:transparent}.sm\:text-white{--text-opacity:1;color:#fff;color:rgba(255,255,255,var(--text-opacity))}.sm\:text-black{--text-opacity:1;color:#000;color:rgba(0,0,0,var(--text-opacity))}.sm\:text-gray-50{--text-opacity:1;color:#f9fafb;color:rgba(249,250,251,var(--text-opacity))}.sm\:text-gray-100{--text-opacity:1;color:#f4f5f7;color:rgba(244,245,247,var(--text-opacity))}.sm\:text-gray-200{--text-opacity:1;color:#e5e7eb;color:rgba(229,231,235,var(--text-opacity))}.sm\:text-gray-300{--text-opacity:1;color:#d2d6dc;color:rgba(210,214,220,var(--text-opacity))}.sm\:text-gray-400{--text-opacity:1;color:#9fa6b2;color:rgba(159,166,178,var(--text-opacity))}.sm\:text-gray-500{--text-opacity:1;color:#6b7280;color:rgba(107,114,128,var(--text-opacity))}.sm\:text-gray-600{--text-opacity:1;color:#4b5563;color:rgba(75,85,99,var(--text-opacity))}.sm\:text-gray-700{--text-opacity:1;color:#374151;color:rgba(55,65,81,var(--text-opacity))}.sm\:text-gray-800{--text-opacity:1;color:#252f3f;color:rgba(37,47,63,var(--text-opacity))}.sm\:text-gray-900{--text-opacity:1;color:#161e2e;color:rgba(22,30,46,var(--text-opacity))}.sm\:text-cool-gray-50{--text-opacity:1;color:#f8fafc;color:rgba(248,250,252,var(--text-opacity))}.sm\:text-cool-gray-100{--text-opacity:1;color:#f1f5f9;color:rgba(241,245,249,var(--text-opacity))}.sm\:text-cool-gray-200{--text-opacity:1;color:#e2e8f0;color:rgba(226,232,240,var(--text-opacity))}.sm\:text-cool-gray-300{--text-opacity:1;color:#cfd8e3;color:rgba(207,216,227,var(--text-opacity))}.sm\:text-cool-gray-400{--text-opacity:1;color:#97a6ba;color:rgba(151,166,186,var(--text-opacity))}.sm\:text-cool-gray-500{--text-opacity:1;color:#64748b;color:rgba(100,116,139,var(--text-opacity))}.sm\:text-cool-gray-600{--text-opacity:1;color:#475569;color:rgba(71,85,105,var(--text-opacity))}.sm\:text-cool-gray-700{--text-opacity:1;color:#364152;color:rgba(54,65,82,var(--text-opacity))}.sm\:text-cool-gray-800{--text-opacity:1;color:#27303f;color:rgba(39,48,63,var(--text-opacity))}.sm\:text-cool-gray-900{--text-opacity:1;color:#1a202e;color:rgba(26,32,46,var(--text-opacity))}.sm\:text-red-50{--text-opacity:1;color:#fdf2f2;color:rgba(253,242,242,var(--text-opacity))}.sm\:text-red-100{--text-opacity:1;color:#fde8e8;color:rgba(253,232,232,var(--text-opacity))}.sm\:text-red-200{--text-opacity:1;color:#fbd5d5;color:rgba(251,213,213,var(--text-opacity))}.sm\:text-red-300{--text-opacity:1;color:#f8b4b4;color:rgba(248,180,180,var(--text-opacity))}.sm\:text-red-400{--text-opacity:1;color:#f98080;color:rgba(249,128,128,var(--text-opacity))}.sm\:text-red-500{--text-opacity:1;color:#f05252;color:rgba(240,82,82,var(--text-opacity))}.sm\:text-red-600{--text-opacity:1;color:#e02424;color:rgba(224,36,36,var(--text-opacity))}.sm\:text-red-700{--text-opacity:1;color:#c81e1e;color:rgba(200,30,30,var(--text-opacity))}.sm\:text-red-800{--text-opacity:1;color:#9b1c1c;color:rgba(155,28,28,var(--text-opacity))}.sm\:text-red-900{--text-opacity:1;color:#771d1d;color:rgba(119,29,29,var(--text-opacity))}.sm\:text-orange-50{--text-opacity:1;color:#fff8f1;color:rgba(255,248,241,var(--text-opacity))}.sm\:text-orange-100{--text-opacity:1;color:#feecdc;color:rgba(254,236,220,var(--text-opacity))}.sm\:text-orange-200{--text-opacity:1;color:#fcd9bd;color:rgba(252,217,189,var(--text-opacity))}.sm\:text-orange-300{--text-opacity:1;color:#fdba8c;color:rgba(253,186,140,var(--text-opacity))}.sm\:text-orange-400{--text-opacity:1;color:#ff8a4c;color:rgba(255,138,76,var(--text-opacity))}.sm\:text-orange-500{--text-opacity:1;color:#ff5a1f;color:rgba(255,90,31,var(--text-opacity))}.sm\:text-orange-600{--text-opacity:1;color:#d03801;color:rgba(208,56,1,var(--text-opacity))}.sm\:text-orange-700{--text-opacity:1;color:#b43403;color:rgba(180,52,3,var(--text-opacity))}.sm\:text-orange-800{--text-opacity:1;color:#8a2c0d;color:rgba(138,44,13,var(--text-opacity))}.sm\:text-orange-900{--text-opacity:1;color:#73230d;color:rgba(115,35,13,var(--text-opacity))}.sm\:text-yellow-50{--text-opacity:1;color:#fdfdea;color:rgba(253,253,234,var(--text-opacity))}.sm\:text-yellow-100{--text-opacity:1;color:#fdf6b2;color:rgba(253,246,178,var(--text-opacity))}.sm\:text-yellow-200{--text-opacity:1;color:#fce96a;color:rgba(252,233,106,var(--text-opacity))}.sm\:text-yellow-300{--text-opacity:1;color:#faca15;color:rgba(250,202,21,var(--text-opacity))}.sm\:text-yellow-400{--text-opacity:1;color:#e3a008;color:rgba(227,160,8,var(--text-opacity))}.sm\:text-yellow-500{--text-opacity:1;color:#c27803;color:rgba(194,120,3,var(--text-opacity))}.sm\:text-yellow-600{--text-opacity:1;color:#9f580a;color:rgba(159,88,10,var(--text-opacity))}.sm\:text-yellow-700{--text-opacity:1;color:#8e4b10;color:rgba(142,75,16,var(--text-opacity))}.sm\:text-yellow-800{--text-opacity:1;color:#723b13;color:rgba(114,59,19,var(--text-opacity))}.sm\:text-yellow-900{--text-opacity:1;color:#633112;color:rgba(99,49,18,var(--text-opacity))}.sm\:text-green-50{--text-opacity:1;color:#f3faf7;color:rgba(243,250,247,var(--text-opacity))}.sm\:text-green-100{--text-opacity:1;color:#def7ec;color:rgba(222,247,236,var(--text-opacity))}.sm\:text-green-200{--text-opacity:1;color:#bcf0da;color:rgba(188,240,218,var(--text-opacity))}.sm\:text-green-300{--text-opacity:1;color:#84e1bc;color:rgba(132,225,188,var(--text-opacity))}.sm\:text-green-400{--text-opacity:1;color:#31c48d;color:rgba(49,196,141,var(--text-opacity))}.sm\:text-green-500{--text-opacity:1;color:#0e9f6e;color:rgba(14,159,110,var(--text-opacity))}.sm\:text-green-600{--text-opacity:1;color:#057a55;color:rgba(5,122,85,var(--text-opacity))}.sm\:text-green-700{--text-opacity:1;color:#046c4e;color:rgba(4,108,78,var(--text-opacity))}.sm\:text-green-800{--text-opacity:1;color:#03543f;color:rgba(3,84,63,var(--text-opacity))}.sm\:text-green-900{--text-opacity:1;color:#014737;color:rgba(1,71,55,var(--text-opacity))}.sm\:text-teal-50{--text-opacity:1;color:#edfafa;color:rgba(237,250,250,var(--text-opacity))}.sm\:text-teal-100{--text-opacity:1;color:#d5f5f6;color:rgba(213,245,246,var(--text-opacity))}.sm\:text-teal-200{--text-opacity:1;color:#afecef;color:rgba(175,236,239,var(--text-opacity))}.sm\:text-teal-300{--text-opacity:1;color:#7edce2;color:rgba(126,220,226,var(--text-opacity))}.sm\:text-teal-400{--text-opacity:1;color:#16bdca;color:rgba(22,189,202,var(--text-opacity))}.sm\:text-teal-500{--text-opacity:1;color:#0694a2;color:rgba(6,148,162,var(--text-opacity))}.sm\:text-teal-600{--text-opacity:1;color:#047481;color:rgba(4,116,129,var(--text-opacity))}.sm\:text-teal-700{--text-opacity:1;color:#036672;color:rgba(3,102,114,var(--text-opacity))}.sm\:text-teal-800{--text-opacity:1;color:#05505c;color:rgba(5,80,92,var(--text-opacity))}.sm\:text-teal-900{--text-opacity:1;color:#014451;color:rgba(1,68,81,var(--text-opacity))}.sm\:text-blue-50{--text-opacity:1;color:#ebf5ff;color:rgba(235,245,255,var(--text-opacity))}.sm\:text-blue-100{--text-opacity:1;color:#e1effe;color:rgba(225,239,254,var(--text-opacity))}.sm\:text-blue-200{--text-opacity:1;color:#c3ddfd;color:rgba(195,221,253,var(--text-opacity))}.sm\:text-blue-300{--text-opacity:1;color:#a4cafe;color:rgba(164,202,254,var(--text-opacity))}.sm\:text-blue-400{--text-opacity:1;color:#76a9fa;color:rgba(118,169,250,var(--text-opacity))}.sm\:text-blue-500{--text-opacity:1;color:#3f83f8;color:rgba(63,131,248,var(--text-opacity))}.sm\:text-blue-600{--text-opacity:1;color:#1c64f2;color:rgba(28,100,242,var(--text-opacity))}.sm\:text-blue-700{--text-opacity:1;color:#1a56db;color:rgba(26,86,219,var(--text-opacity))}.sm\:text-blue-800{--text-opacity:1;color:#1e429f;color:rgba(30,66,159,var(--text-opacity))}.sm\:text-blue-900{--text-opacity:1;color:#233876;color:rgba(35,56,118,var(--text-opacity))}.sm\:text-indigo-50{--text-opacity:1;color:#f0f5ff;color:rgba(240,245,255,var(--text-opacity))}.sm\:text-indigo-100{--text-opacity:1;color:#e5edff;color:rgba(229,237,255,var(--text-opacity))}.sm\:text-indigo-200{--text-opacity:1;color:#cddbfe;color:rgba(205,219,254,var(--text-opacity))}.sm\:text-indigo-300{--text-opacity:1;color:#b4c6fc;color:rgba(180,198,252,var(--text-opacity))}.sm\:text-indigo-400{--text-opacity:1;color:#8da2fb;color:rgba(141,162,251,var(--text-opacity))}.sm\:text-indigo-500{--text-opacity:1;color:#6875f5;color:rgba(104,117,245,var(--text-opacity))}.sm\:text-indigo-600{--text-opacity:1;color:#5850ec;color:rgba(88,80,236,var(--text-opacity))}.sm\:text-indigo-700{--text-opacity:1;color:#5145cd;color:rgba(81,69,205,var(--text-opacity))}.sm\:text-indigo-800{--text-opacity:1;color:#42389d;color:rgba(66,56,157,var(--text-opacity))}.sm\:text-indigo-900{--text-opacity:1;color:#362f78;color:rgba(54,47,120,var(--text-opacity))}.sm\:text-purple-50{--text-opacity:1;color:#f6f5ff;color:rgba(246,245,255,var(--text-opacity))}.sm\:text-purple-100{--text-opacity:1;color:#edebfe;color:rgba(237,235,254,var(--text-opacity))}.sm\:text-purple-200{--text-opacity:1;color:#dcd7fe;color:rgba(220,215,254,var(--text-opacity))}.sm\:text-purple-300{--text-opacity:1;color:#cabffd;color:rgba(202,191,253,var(--text-opacity))}.sm\:text-purple-400{--text-opacity:1;color:#ac94fa;color:rgba(172,148,250,var(--text-opacity))}.sm\:text-purple-500{--text-opacity:1;color:#9061f9;color:rgba(144,97,249,var(--text-opacity))}.sm\:text-purple-600{--text-opacity:1;color:#7e3af2;color:rgba(126,58,242,var(--text-opacity))}.sm\:text-purple-700{--text-opacity:1;color:#6c2bd9;color:rgba(108,43,217,var(--text-opacity))}.sm\:text-purple-800{--text-opacity:1;color:#5521b5;color:rgba(85,33,181,var(--text-opacity))}.sm\:text-purple-900{--text-opacity:1;color:#4a1d96;color:rgba(74,29,150,var(--text-opacity))}.sm\:text-pink-50{--text-opacity:1;color:#fdf2f8;color:rgba(253,242,248,var(--text-opacity))}.sm\:text-pink-100{--text-opacity:1;color:#fce8f3;color:rgba(252,232,243,var(--text-opacity))}.sm\:text-pink-200{--text-opacity:1;color:#fad1e8;color:rgba(250,209,232,var(--text-opacity))}.sm\:text-pink-300{--text-opacity:1;color:#f8b4d9;color:rgba(248,180,217,var(--text-opacity))}.sm\:text-pink-400{--text-opacity:1;color:#f17eb8;color:rgba(241,126,184,var(--text-opacity))}.sm\:text-pink-500{--text-opacity:1;color:#e74694;color:rgba(231,70,148,var(--text-opacity))}.sm\:text-pink-600{--text-opacity:1;color:#d61f69;color:rgba(214,31,105,var(--text-opacity))}.sm\:text-pink-700{--text-opacity:1;color:#bf125d;color:rgba(191,18,93,var(--text-opacity))}.sm\:text-pink-800{--text-opacity:1;color:#99154b;color:rgba(153,21,75,var(--text-opacity))}.sm\:text-pink-900{--text-opacity:1;color:#751a3d;color:rgba(117,26,61,var(--text-opacity))}.group:hover .sm\:group-hover\:text-transparent{color:transparent}.group:hover .sm\:group-hover\:text-white{--text-opacity:1;color:#fff;color:rgba(255,255,255,var(--text-opacity))}.group:hover .sm\:group-hover\:text-black{--text-opacity:1;color:#000;color:rgba(0,0,0,var(--text-opacity))}.group:hover .sm\:group-hover\:text-gray-50{--text-opacity:1;color:#f9fafb;color:rgba(249,250,251,var(--text-opacity))}.group:hover .sm\:group-hover\:text-gray-100{--text-opacity:1;color:#f4f5f7;color:rgba(244,245,247,var(--text-opacity))}.group:hover .sm\:group-hover\:text-gray-200{--text-opacity:1;color:#e5e7eb;color:rgba(229,231,235,var(--text-opacity))}.group:hover .sm\:group-hover\:text-gray-300{--text-opacity:1;color:#d2d6dc;color:rgba(210,214,220,var(--text-opacity))}.group:hover .sm\:group-hover\:text-gray-400{--text-opacity:1;color:#9fa6b2;color:rgba(159,166,178,var(--text-opacity))}.group:hover .sm\:group-hover\:text-gray-500{--text-opacity:1;color:#6b7280;color:rgba(107,114,128,var(--text-opacity))}.group:hover .sm\:group-hover\:text-gray-600{--text-opacity:1;color:#4b5563;color:rgba(75,85,99,var(--text-opacity))}.group:hover .sm\:group-hover\:text-gray-700{--text-opacity:1;color:#374151;color:rgba(55,65,81,var(--text-opacity))}.group:hover .sm\:group-hover\:text-gray-800{--text-opacity:1;color:#252f3f;color:rgba(37,47,63,var(--text-opacity))}.group:hover .sm\:group-hover\:text-gray-900{--text-opacity:1;color:#161e2e;color:rgba(22,30,46,var(--text-opacity))}.group:hover .sm\:group-hover\:text-cool-gray-50{--text-opacity:1;color:#f8fafc;color:rgba(248,250,252,var(--text-opacity))}.group:hover .sm\:group-hover\:text-cool-gray-100{--text-opacity:1;color:#f1f5f9;color:rgba(241,245,249,var(--text-opacity))}.group:hover .sm\:group-hover\:text-cool-gray-200{--text-opacity:1;color:#e2e8f0;color:rgba(226,232,240,var(--text-opacity))}.group:hover .sm\:group-hover\:text-cool-gray-300{--text-opacity:1;color:#cfd8e3;color:rgba(207,216,227,var(--text-opacity))}.group:hover .sm\:group-hover\:text-cool-gray-400{--text-opacity:1;color:#97a6ba;color:rgba(151,166,186,var(--text-opacity))}.group:hover .sm\:group-hover\:text-cool-gray-500{--text-opacity:1;color:#64748b;color:rgba(100,116,139,var(--text-opacity))}.group:hover .sm\:group-hover\:text-cool-gray-600{--text-opacity:1;color:#475569;color:rgba(71,85,105,var(--text-opacity))}.group:hover .sm\:group-hover\:text-cool-gray-700{--text-opacity:1;color:#364152;color:rgba(54,65,82,var(--text-opacity))}.group:hover .sm\:group-hover\:text-cool-gray-800{--text-opacity:1;color:#27303f;color:rgba(39,48,63,var(--text-opacity))}.group:hover .sm\:group-hover\:text-cool-gray-900{--text-opacity:1;color:#1a202e;color:rgba(26,32,46,var(--text-opacity))}.group:hover .sm\:group-hover\:text-red-50{--text-opacity:1;color:#fdf2f2;color:rgba(253,242,242,var(--text-opacity))}.group:hover .sm\:group-hover\:text-red-100{--text-opacity:1;color:#fde8e8;color:rgba(253,232,232,var(--text-opacity))}.group:hover .sm\:group-hover\:text-red-200{--text-opacity:1;color:#fbd5d5;color:rgba(251,213,213,var(--text-opacity))}.group:hover .sm\:group-hover\:text-red-300{--text-opacity:1;color:#f8b4b4;color:rgba(248,180,180,var(--text-opacity))}.group:hover .sm\:group-hover\:text-red-400{--text-opacity:1;color:#f98080;color:rgba(249,128,128,var(--text-opacity))}.group:hover .sm\:group-hover\:text-red-500{--text-opacity:1;color:#f05252;color:rgba(240,82,82,var(--text-opacity))}.group:hover .sm\:group-hover\:text-red-600{--text-opacity:1;color:#e02424;color:rgba(224,36,36,var(--text-opacity))}.group:hover .sm\:group-hover\:text-red-700{--text-opacity:1;color:#c81e1e;color:rgba(200,30,30,var(--text-opacity))}.group:hover .sm\:group-hover\:text-red-800{--text-opacity:1;color:#9b1c1c;color:rgba(155,28,28,var(--text-opacity))}.group:hover .sm\:group-hover\:text-red-900{--text-opacity:1;color:#771d1d;color:rgba(119,29,29,var(--text-opacity))}.group:hover .sm\:group-hover\:text-orange-50{--text-opacity:1;color:#fff8f1;color:rgba(255,248,241,var(--text-opacity))}.group:hover .sm\:group-hover\:text-orange-100{--text-opacity:1;color:#feecdc;color:rgba(254,236,220,var(--text-opacity))}.group:hover .sm\:group-hover\:text-orange-200{--text-opacity:1;color:#fcd9bd;color:rgba(252,217,189,var(--text-opacity))}.group:hover .sm\:group-hover\:text-orange-300{--text-opacity:1;color:#fdba8c;color:rgba(253,186,140,var(--text-opacity))}.group:hover .sm\:group-hover\:text-orange-400{--text-opacity:1;color:#ff8a4c;color:rgba(255,138,76,var(--text-opacity))}.group:hover .sm\:group-hover\:text-orange-500{--text-opacity:1;color:#ff5a1f;color:rgba(255,90,31,var(--text-opacity))}.group:hover .sm\:group-hover\:text-orange-600{--text-opacity:1;color:#d03801;color:rgba(208,56,1,var(--text-opacity))}.group:hover .sm\:group-hover\:text-orange-700{--text-opacity:1;color:#b43403;color:rgba(180,52,3,var(--text-opacity))}.group:hover .sm\:group-hover\:text-orange-800{--text-opacity:1;color:#8a2c0d;color:rgba(138,44,13,var(--text-opacity))}.group:hover .sm\:group-hover\:text-orange-900{--text-opacity:1;color:#73230d;color:rgba(115,35,13,var(--text-opacity))}.group:hover .sm\:group-hover\:text-yellow-50{--text-opacity:1;color:#fdfdea;color:rgba(253,253,234,var(--text-opacity))}.group:hover .sm\:group-hover\:text-yellow-100{--text-opacity:1;color:#fdf6b2;color:rgba(253,246,178,var(--text-opacity))}.group:hover .sm\:group-hover\:text-yellow-200{--text-opacity:1;color:#fce96a;color:rgba(252,233,106,var(--text-opacity))}.group:hover .sm\:group-hover\:text-yellow-300{--text-opacity:1;color:#faca15;color:rgba(250,202,21,var(--text-opacity))}.group:hover .sm\:group-hover\:text-yellow-400{--text-opacity:1;color:#e3a008;color:rgba(227,160,8,var(--text-opacity))}.group:hover .sm\:group-hover\:text-yellow-500{--text-opacity:1;color:#c27803;color:rgba(194,120,3,var(--text-opacity))}.group:hover .sm\:group-hover\:text-yellow-600{--text-opacity:1;color:#9f580a;color:rgba(159,88,10,var(--text-opacity))}.group:hover .sm\:group-hover\:text-yellow-700{--text-opacity:1;color:#8e4b10;color:rgba(142,75,16,var(--text-opacity))}.group:hover .sm\:group-hover\:text-yellow-800{--text-opacity:1;color:#723b13;color:rgba(114,59,19,var(--text-opacity))}.group:hover .sm\:group-hover\:text-yellow-900{--text-opacity:1;color:#633112;color:rgba(99,49,18,var(--text-opacity))}.group:hover .sm\:group-hover\:text-green-50{--text-opacity:1;color:#f3faf7;color:rgba(243,250,247,var(--text-opacity))}.group:hover .sm\:group-hover\:text-green-100{--text-opacity:1;color:#def7ec;color:rgba(222,247,236,var(--text-opacity))}.group:hover .sm\:group-hover\:text-green-200{--text-opacity:1;color:#bcf0da;color:rgba(188,240,218,var(--text-opacity))}.group:hover .sm\:group-hover\:text-green-300{--text-opacity:1;color:#84e1bc;color:rgba(132,225,188,var(--text-opacity))}.group:hover .sm\:group-hover\:text-green-400{--text-opacity:1;color:#31c48d;color:rgba(49,196,141,var(--text-opacity))}.group:hover .sm\:group-hover\:text-green-500{--text-opacity:1;color:#0e9f6e;color:rgba(14,159,110,var(--text-opacity))}.group:hover .sm\:group-hover\:text-green-600{--text-opacity:1;color:#057a55;color:rgba(5,122,85,var(--text-opacity))}.group:hover .sm\:group-hover\:text-green-700{--text-opacity:1;color:#046c4e;color:rgba(4,108,78,var(--text-opacity))}.group:hover .sm\:group-hover\:text-green-800{--text-opacity:1;color:#03543f;color:rgba(3,84,63,var(--text-opacity))}.group:hover .sm\:group-hover\:text-green-900{--text-opacity:1;color:#014737;color:rgba(1,71,55,var(--text-opacity))}.group:hover .sm\:group-hover\:text-teal-50{--text-opacity:1;color:#edfafa;color:rgba(237,250,250,var(--text-opacity))}.group:hover .sm\:group-hover\:text-teal-100{--text-opacity:1;color:#d5f5f6;color:rgba(213,245,246,var(--text-opacity))}.group:hover .sm\:group-hover\:text-teal-200{--text-opacity:1;color:#afecef;color:rgba(175,236,239,var(--text-opacity))}.group:hover .sm\:group-hover\:text-teal-300{--text-opacity:1;color:#7edce2;color:rgba(126,220,226,var(--text-opacity))}.group:hover .sm\:group-hover\:text-teal-400{--text-opacity:1;color:#16bdca;color:rgba(22,189,202,var(--text-opacity))}.group:hover .sm\:group-hover\:text-teal-500{--text-opacity:1;color:#0694a2;color:rgba(6,148,162,var(--text-opacity))}.group:hover .sm\:group-hover\:text-teal-600{--text-opacity:1;color:#047481;color:rgba(4,116,129,var(--text-opacity))}.group:hover .sm\:group-hover\:text-teal-700{--text-opacity:1;color:#036672;color:rgba(3,102,114,var(--text-opacity))}.group:hover .sm\:group-hover\:text-teal-800{--text-opacity:1;color:#05505c;color:rgba(5,80,92,var(--text-opacity))}.group:hover .sm\:group-hover\:text-teal-900{--text-opacity:1;color:#014451;color:rgba(1,68,81,var(--text-opacity))}.group:hover .sm\:group-hover\:text-blue-50{--text-opacity:1;color:#ebf5ff;color:rgba(235,245,255,var(--text-opacity))}.group:hover .sm\:group-hover\:text-blue-100{--text-opacity:1;color:#e1effe;color:rgba(225,239,254,var(--text-opacity))}.group:hover .sm\:group-hover\:text-blue-200{--text-opacity:1;color:#c3ddfd;color:rgba(195,221,253,var(--text-opacity))}.group:hover .sm\:group-hover\:text-blue-300{--text-opacity:1;color:#a4cafe;color:rgba(164,202,254,var(--text-opacity))}.group:hover .sm\:group-hover\:text-blue-400{--text-opacity:1;color:#76a9fa;color:rgba(118,169,250,var(--text-opacity))}.group:hover .sm\:group-hover\:text-blue-500{--text-opacity:1;color:#3f83f8;color:rgba(63,131,248,var(--text-opacity))}.group:hover .sm\:group-hover\:text-blue-600{--text-opacity:1;color:#1c64f2;color:rgba(28,100,242,var(--text-opacity))}.group:hover .sm\:group-hover\:text-blue-700{--text-opacity:1;color:#1a56db;color:rgba(26,86,219,var(--text-opacity))}.group:hover .sm\:group-hover\:text-blue-800{--text-opacity:1;color:#1e429f;color:rgba(30,66,159,var(--text-opacity))}.group:hover .sm\:group-hover\:text-blue-900{--text-opacity:1;color:#233876;color:rgba(35,56,118,var(--text-opacity))}.group:hover .sm\:group-hover\:text-indigo-50{--text-opacity:1;color:#f0f5ff;color:rgba(240,245,255,var(--text-opacity))}.group:hover .sm\:group-hover\:text-indigo-100{--text-opacity:1;color:#e5edff;color:rgba(229,237,255,var(--text-opacity))}.group:hover .sm\:group-hover\:text-indigo-200{--text-opacity:1;color:#cddbfe;color:rgba(205,219,254,var(--text-opacity))}.group:hover .sm\:group-hover\:text-indigo-300{--text-opacity:1;color:#b4c6fc;color:rgba(180,198,252,var(--text-opacity))}.group:hover .sm\:group-hover\:text-indigo-400{--text-opacity:1;color:#8da2fb;color:rgba(141,162,251,var(--text-opacity))}.group:hover .sm\:group-hover\:text-indigo-500{--text-opacity:1;color:#6875f5;color:rgba(104,117,245,var(--text-opacity))}.group:hover .sm\:group-hover\:text-indigo-600{--text-opacity:1;color:#5850ec;color:rgba(88,80,236,var(--text-opacity))}.group:hover .sm\:group-hover\:text-indigo-700{--text-opacity:1;color:#5145cd;color:rgba(81,69,205,var(--text-opacity))}.group:hover .sm\:group-hover\:text-indigo-800{--text-opacity:1;color:#42389d;color:rgba(66,56,157,var(--text-opacity))}.group:hover .sm\:group-hover\:text-indigo-900{--text-opacity:1;color:#362f78;color:rgba(54,47,120,var(--text-opacity))}.group:hover .sm\:group-hover\:text-purple-50{--text-opacity:1;color:#f6f5ff;color:rgba(246,245,255,var(--text-opacity))}.group:hover .sm\:group-hover\:text-purple-100{--text-opacity:1;color:#edebfe;color:rgba(237,235,254,var(--text-opacity))}.group:hover .sm\:group-hover\:text-purple-200{--text-opacity:1;color:#dcd7fe;color:rgba(220,215,254,var(--text-opacity))}.group:hover .sm\:group-hover\:text-purple-300{--text-opacity:1;color:#cabffd;color:rgba(202,191,253,var(--text-opacity))}.group:hover .sm\:group-hover\:text-purple-400{--text-opacity:1;color:#ac94fa;color:rgba(172,148,250,var(--text-opacity))}.group:hover .sm\:group-hover\:text-purple-500{--text-opacity:1;color:#9061f9;color:rgba(144,97,249,var(--text-opacity))}.group:hover .sm\:group-hover\:text-purple-600{--text-opacity:1;color:#7e3af2;color:rgba(126,58,242,var(--text-opacity))}.group:hover .sm\:group-hover\:text-purple-700{--text-opacity:1;color:#6c2bd9;color:rgba(108,43,217,var(--text-opacity))}.group:hover .sm\:group-hover\:text-purple-800{--text-opacity:1;color:#5521b5;color:rgba(85,33,181,var(--text-opacity))}.group:hover .sm\:group-hover\:text-purple-900{--text-opacity:1;color:#4a1d96;color:rgba(74,29,150,var(--text-opacity))}.group:hover .sm\:group-hover\:text-pink-50{--text-opacity:1;color:#fdf2f8;color:rgba(253,242,248,var(--text-opacity))}.group:hover .sm\:group-hover\:text-pink-100{--text-opacity:1;color:#fce8f3;color:rgba(252,232,243,var(--text-opacity))}.group:hover .sm\:group-hover\:text-pink-200{--text-opacity:1;color:#fad1e8;color:rgba(250,209,232,var(--text-opacity))}.group:hover .sm\:group-hover\:text-pink-300{--text-opacity:1;color:#f8b4d9;color:rgba(248,180,217,var(--text-opacity))}.group:hover .sm\:group-hover\:text-pink-400{--text-opacity:1;color:#f17eb8;color:rgba(241,126,184,var(--text-opacity))}.group:hover .sm\:group-hover\:text-pink-500{--text-opacity:1;color:#e74694;color:rgba(231,70,148,var(--text-opacity))}.group:hover .sm\:group-hover\:text-pink-600{--text-opacity:1;color:#d61f69;color:rgba(214,31,105,var(--text-opacity))}.group:hover .sm\:group-hover\:text-pink-700{--text-opacity:1;color:#bf125d;color:rgba(191,18,93,var(--text-opacity))}.group:hover .sm\:group-hover\:text-pink-800{--text-opacity:1;color:#99154b;color:rgba(153,21,75,var(--text-opacity))}.group:hover .sm\:group-hover\:text-pink-900{--text-opacity:1;color:#751a3d;color:rgba(117,26,61,var(--text-opacity))}.group:focus .sm\:group-focus\:text-transparent{color:transparent}.group:focus .sm\:group-focus\:text-white{--text-opacity:1;color:#fff;color:rgba(255,255,255,var(--text-opacity))}.group:focus .sm\:group-focus\:text-black{--text-opacity:1;color:#000;color:rgba(0,0,0,var(--text-opacity))}.group:focus .sm\:group-focus\:text-gray-50{--text-opacity:1;color:#f9fafb;color:rgba(249,250,251,var(--text-opacity))}.group:focus .sm\:group-focus\:text-gray-100{--text-opacity:1;color:#f4f5f7;color:rgba(244,245,247,var(--text-opacity))}.group:focus .sm\:group-focus\:text-gray-200{--text-opacity:1;color:#e5e7eb;color:rgba(229,231,235,var(--text-opacity))}.group:focus .sm\:group-focus\:text-gray-300{--text-opacity:1;color:#d2d6dc;color:rgba(210,214,220,var(--text-opacity))}.group:focus .sm\:group-focus\:text-gray-400{--text-opacity:1;color:#9fa6b2;color:rgba(159,166,178,var(--text-opacity))}.group:focus .sm\:group-focus\:text-gray-500{--text-opacity:1;color:#6b7280;color:rgba(107,114,128,var(--text-opacity))}.group:focus .sm\:group-focus\:text-gray-600{--text-opacity:1;color:#4b5563;color:rgba(75,85,99,var(--text-opacity))}.group:focus .sm\:group-focus\:text-gray-700{--text-opacity:1;color:#374151;color:rgba(55,65,81,var(--text-opacity))}.group:focus .sm\:group-focus\:text-gray-800{--text-opacity:1;color:#252f3f;color:rgba(37,47,63,var(--text-opacity))}.group:focus .sm\:group-focus\:text-gray-900{--text-opacity:1;color:#161e2e;color:rgba(22,30,46,var(--text-opacity))}.group:focus .sm\:group-focus\:text-cool-gray-50{--text-opacity:1;color:#f8fafc;color:rgba(248,250,252,var(--text-opacity))}.group:focus .sm\:group-focus\:text-cool-gray-100{--text-opacity:1;color:#f1f5f9;color:rgba(241,245,249,var(--text-opacity))}.group:focus .sm\:group-focus\:text-cool-gray-200{--text-opacity:1;color:#e2e8f0;color:rgba(226,232,240,var(--text-opacity))}.group:focus .sm\:group-focus\:text-cool-gray-300{--text-opacity:1;color:#cfd8e3;color:rgba(207,216,227,var(--text-opacity))}.group:focus .sm\:group-focus\:text-cool-gray-400{--text-opacity:1;color:#97a6ba;color:rgba(151,166,186,var(--text-opacity))}.group:focus .sm\:group-focus\:text-cool-gray-500{--text-opacity:1;color:#64748b;color:rgba(100,116,139,var(--text-opacity))}.group:focus .sm\:group-focus\:text-cool-gray-600{--text-opacity:1;color:#475569;color:rgba(71,85,105,var(--text-opacity))}.group:focus .sm\:group-focus\:text-cool-gray-700{--text-opacity:1;color:#364152;color:rgba(54,65,82,var(--text-opacity))}.group:focus .sm\:group-focus\:text-cool-gray-800{--text-opacity:1;color:#27303f;color:rgba(39,48,63,var(--text-opacity))}.group:focus .sm\:group-focus\:text-cool-gray-900{--text-opacity:1;color:#1a202e;color:rgba(26,32,46,var(--text-opacity))}.group:focus .sm\:group-focus\:text-red-50{--text-opacity:1;color:#fdf2f2;color:rgba(253,242,242,var(--text-opacity))}.group:focus .sm\:group-focus\:text-red-100{--text-opacity:1;color:#fde8e8;color:rgba(253,232,232,var(--text-opacity))}.group:focus .sm\:group-focus\:text-red-200{--text-opacity:1;color:#fbd5d5;color:rgba(251,213,213,var(--text-opacity))}.group:focus .sm\:group-focus\:text-red-300{--text-opacity:1;color:#f8b4b4;color:rgba(248,180,180,var(--text-opacity))}.group:focus .sm\:group-focus\:text-red-400{--text-opacity:1;color:#f98080;color:rgba(249,128,128,var(--text-opacity))}.group:focus .sm\:group-focus\:text-red-500{--text-opacity:1;color:#f05252;color:rgba(240,82,82,var(--text-opacity))}.group:focus .sm\:group-focus\:text-red-600{--text-opacity:1;color:#e02424;color:rgba(224,36,36,var(--text-opacity))}.group:focus .sm\:group-focus\:text-red-700{--text-opacity:1;color:#c81e1e;color:rgba(200,30,30,var(--text-opacity))}.group:focus .sm\:group-focus\:text-red-800{--text-opacity:1;color:#9b1c1c;color:rgba(155,28,28,var(--text-opacity))}.group:focus .sm\:group-focus\:text-red-900{--text-opacity:1;color:#771d1d;color:rgba(119,29,29,var(--text-opacity))}.group:focus .sm\:group-focus\:text-orange-50{--text-opacity:1;color:#fff8f1;color:rgba(255,248,241,var(--text-opacity))}.group:focus .sm\:group-focus\:text-orange-100{--text-opacity:1;color:#feecdc;color:rgba(254,236,220,var(--text-opacity))}.group:focus .sm\:group-focus\:text-orange-200{--text-opacity:1;color:#fcd9bd;color:rgba(252,217,189,var(--text-opacity))}.group:focus .sm\:group-focus\:text-orange-300{--text-opacity:1;color:#fdba8c;color:rgba(253,186,140,var(--text-opacity))}.group:focus .sm\:group-focus\:text-orange-400{--text-opacity:1;color:#ff8a4c;color:rgba(255,138,76,var(--text-opacity))}.group:focus .sm\:group-focus\:text-orange-500{--text-opacity:1;color:#ff5a1f;color:rgba(255,90,31,var(--text-opacity))}.group:focus .sm\:group-focus\:text-orange-600{--text-opacity:1;color:#d03801;color:rgba(208,56,1,var(--text-opacity))}.group:focus .sm\:group-focus\:text-orange-700{--text-opacity:1;color:#b43403;color:rgba(180,52,3,var(--text-opacity))}.group:focus .sm\:group-focus\:text-orange-800{--text-opacity:1;color:#8a2c0d;color:rgba(138,44,13,var(--text-opacity))}.group:focus .sm\:group-focus\:text-orange-900{--text-opacity:1;color:#73230d;color:rgba(115,35,13,var(--text-opacity))}.group:focus .sm\:group-focus\:text-yellow-50{--text-opacity:1;color:#fdfdea;color:rgba(253,253,234,var(--text-opacity))}.group:focus .sm\:group-focus\:text-yellow-100{--text-opacity:1;color:#fdf6b2;color:rgba(253,246,178,var(--text-opacity))}.group:focus .sm\:group-focus\:text-yellow-200{--text-opacity:1;color:#fce96a;color:rgba(252,233,106,var(--text-opacity))}.group:focus .sm\:group-focus\:text-yellow-300{--text-opacity:1;color:#faca15;color:rgba(250,202,21,var(--text-opacity))}.group:focus .sm\:group-focus\:text-yellow-400{--text-opacity:1;color:#e3a008;color:rgba(227,160,8,var(--text-opacity))}.group:focus .sm\:group-focus\:text-yellow-500{--text-opacity:1;color:#c27803;color:rgba(194,120,3,var(--text-opacity))}.group:focus .sm\:group-focus\:text-yellow-600{--text-opacity:1;color:#9f580a;color:rgba(159,88,10,var(--text-opacity))}.group:focus .sm\:group-focus\:text-yellow-700{--text-opacity:1;color:#8e4b10;color:rgba(142,75,16,var(--text-opacity))}.group:focus .sm\:group-focus\:text-yellow-800{--text-opacity:1;color:#723b13;color:rgba(114,59,19,var(--text-opacity))}.group:focus .sm\:group-focus\:text-yellow-900{--text-opacity:1;color:#633112;color:rgba(99,49,18,var(--text-opacity))}.group:focus .sm\:group-focus\:text-green-50{--text-opacity:1;color:#f3faf7;color:rgba(243,250,247,var(--text-opacity))}.group:focus .sm\:group-focus\:text-green-100{--text-opacity:1;color:#def7ec;color:rgba(222,247,236,var(--text-opacity))}.group:focus .sm\:group-focus\:text-green-200{--text-opacity:1;color:#bcf0da;color:rgba(188,240,218,var(--text-opacity))}.group:focus .sm\:group-focus\:text-green-300{--text-opacity:1;color:#84e1bc;color:rgba(132,225,188,var(--text-opacity))}.group:focus .sm\:group-focus\:text-green-400{--text-opacity:1;color:#31c48d;color:rgba(49,196,141,var(--text-opacity))}.group:focus .sm\:group-focus\:text-green-500{--text-opacity:1;color:#0e9f6e;color:rgba(14,159,110,var(--text-opacity))}.group:focus .sm\:group-focus\:text-green-600{--text-opacity:1;color:#057a55;color:rgba(5,122,85,var(--text-opacity))}.group:focus .sm\:group-focus\:text-green-700{--text-opacity:1;color:#046c4e;color:rgba(4,108,78,var(--text-opacity))}.group:focus .sm\:group-focus\:text-green-800{--text-opacity:1;color:#03543f;color:rgba(3,84,63,var(--text-opacity))}.group:focus .sm\:group-focus\:text-green-900{--text-opacity:1;color:#014737;color:rgba(1,71,55,var(--text-opacity))}.group:focus .sm\:group-focus\:text-teal-50{--text-opacity:1;color:#edfafa;color:rgba(237,250,250,var(--text-opacity))}.group:focus .sm\:group-focus\:text-teal-100{--text-opacity:1;color:#d5f5f6;color:rgba(213,245,246,var(--text-opacity))}.group:focus .sm\:group-focus\:text-teal-200{--text-opacity:1;color:#afecef;color:rgba(175,236,239,var(--text-opacity))}.group:focus .sm\:group-focus\:text-teal-300{--text-opacity:1;color:#7edce2;color:rgba(126,220,226,var(--text-opacity))}.group:focus .sm\:group-focus\:text-teal-400{--text-opacity:1;color:#16bdca;color:rgba(22,189,202,var(--text-opacity))}.group:focus .sm\:group-focus\:text-teal-500{--text-opacity:1;color:#0694a2;color:rgba(6,148,162,var(--text-opacity))}.group:focus .sm\:group-focus\:text-teal-600{--text-opacity:1;color:#047481;color:rgba(4,116,129,var(--text-opacity))}.group:focus .sm\:group-focus\:text-teal-700{--text-opacity:1;color:#036672;color:rgba(3,102,114,var(--text-opacity))}.group:focus .sm\:group-focus\:text-teal-800{--text-opacity:1;color:#05505c;color:rgba(5,80,92,var(--text-opacity))}.group:focus .sm\:group-focus\:text-teal-900{--text-opacity:1;color:#014451;color:rgba(1,68,81,var(--text-opacity))}.group:focus .sm\:group-focus\:text-blue-50{--text-opacity:1;color:#ebf5ff;color:rgba(235,245,255,var(--text-opacity))}.group:focus .sm\:group-focus\:text-blue-100{--text-opacity:1;color:#e1effe;color:rgba(225,239,254,var(--text-opacity))}.group:focus .sm\:group-focus\:text-blue-200{--text-opacity:1;color:#c3ddfd;color:rgba(195,221,253,var(--text-opacity))}.group:focus .sm\:group-focus\:text-blue-300{--text-opacity:1;color:#a4cafe;color:rgba(164,202,254,var(--text-opacity))}.group:focus .sm\:group-focus\:text-blue-400{--text-opacity:1;color:#76a9fa;color:rgba(118,169,250,var(--text-opacity))}.group:focus .sm\:group-focus\:text-blue-500{--text-opacity:1;color:#3f83f8;color:rgba(63,131,248,var(--text-opacity))}.group:focus .sm\:group-focus\:text-blue-600{--text-opacity:1;color:#1c64f2;color:rgba(28,100,242,var(--text-opacity))}.group:focus .sm\:group-focus\:text-blue-700{--text-opacity:1;color:#1a56db;color:rgba(26,86,219,var(--text-opacity))}.group:focus .sm\:group-focus\:text-blue-800{--text-opacity:1;color:#1e429f;color:rgba(30,66,159,var(--text-opacity))}.group:focus .sm\:group-focus\:text-blue-900{--text-opacity:1;color:#233876;color:rgba(35,56,118,var(--text-opacity))}.group:focus .sm\:group-focus\:text-indigo-50{--text-opacity:1;color:#f0f5ff;color:rgba(240,245,255,var(--text-opacity))}.group:focus .sm\:group-focus\:text-indigo-100{--text-opacity:1;color:#e5edff;color:rgba(229,237,255,var(--text-opacity))}.group:focus .sm\:group-focus\:text-indigo-200{--text-opacity:1;color:#cddbfe;color:rgba(205,219,254,var(--text-opacity))}.group:focus .sm\:group-focus\:text-indigo-300{--text-opacity:1;color:#b4c6fc;color:rgba(180,198,252,var(--text-opacity))}.group:focus .sm\:group-focus\:text-indigo-400{--text-opacity:1;color:#8da2fb;color:rgba(141,162,251,var(--text-opacity))}.group:focus .sm\:group-focus\:text-indigo-500{--text-opacity:1;color:#6875f5;color:rgba(104,117,245,var(--text-opacity))}.group:focus .sm\:group-focus\:text-indigo-600{--text-opacity:1;color:#5850ec;color:rgba(88,80,236,var(--text-opacity))}.group:focus .sm\:group-focus\:text-indigo-700{--text-opacity:1;color:#5145cd;color:rgba(81,69,205,var(--text-opacity))}.group:focus .sm\:group-focus\:text-indigo-800{--text-opacity:1;color:#42389d;color:rgba(66,56,157,var(--text-opacity))}.group:focus .sm\:group-focus\:text-indigo-900{--text-opacity:1;color:#362f78;color:rgba(54,47,120,var(--text-opacity))}.group:focus .sm\:group-focus\:text-purple-50{--text-opacity:1;color:#f6f5ff;color:rgba(246,245,255,var(--text-opacity))}.group:focus .sm\:group-focus\:text-purple-100{--text-opacity:1;color:#edebfe;color:rgba(237,235,254,var(--text-opacity))}.group:focus .sm\:group-focus\:text-purple-200{--text-opacity:1;color:#dcd7fe;color:rgba(220,215,254,var(--text-opacity))}.group:focus .sm\:group-focus\:text-purple-300{--text-opacity:1;color:#cabffd;color:rgba(202,191,253,var(--text-opacity))}.group:focus .sm\:group-focus\:text-purple-400{--text-opacity:1;color:#ac94fa;color:rgba(172,148,250,var(--text-opacity))}.group:focus .sm\:group-focus\:text-purple-500{--text-opacity:1;color:#9061f9;color:rgba(144,97,249,var(--text-opacity))}.group:focus .sm\:group-focus\:text-purple-600{--text-opacity:1;color:#7e3af2;color:rgba(126,58,242,var(--text-opacity))}.group:focus .sm\:group-focus\:text-purple-700{--text-opacity:1;color:#6c2bd9;color:rgba(108,43,217,var(--text-opacity))}.group:focus .sm\:group-focus\:text-purple-800{--text-opacity:1;color:#5521b5;color:rgba(85,33,181,var(--text-opacity))}.group:focus .sm\:group-focus\:text-purple-900{--text-opacity:1;color:#4a1d96;color:rgba(74,29,150,var(--text-opacity))}.group:focus .sm\:group-focus\:text-pink-50{--text-opacity:1;color:#fdf2f8;color:rgba(253,242,248,var(--text-opacity))}.group:focus .sm\:group-focus\:text-pink-100{--text-opacity:1;color:#fce8f3;color:rgba(252,232,243,var(--text-opacity))}.group:focus .sm\:group-focus\:text-pink-200{--text-opacity:1;color:#fad1e8;color:rgba(250,209,232,var(--text-opacity))}.group:focus .sm\:group-focus\:text-pink-300{--text-opacity:1;color:#f8b4d9;color:rgba(248,180,217,var(--text-opacity))}.group:focus .sm\:group-focus\:text-pink-400{--text-opacity:1;color:#f17eb8;color:rgba(241,126,184,var(--text-opacity))}.group:focus .sm\:group-focus\:text-pink-500{--text-opacity:1;color:#e74694;color:rgba(231,70,148,var(--text-opacity))}.group:focus .sm\:group-focus\:text-pink-600{--text-opacity:1;color:#d61f69;color:rgba(214,31,105,var(--text-opacity))}.group:focus .sm\:group-focus\:text-pink-700{--text-opacity:1;color:#bf125d;color:rgba(191,18,93,var(--text-opacity))}.group:focus .sm\:group-focus\:text-pink-800{--text-opacity:1;color:#99154b;color:rgba(153,21,75,var(--text-opacity))}.group:focus .sm\:group-focus\:text-pink-900{--text-opacity:1;color:#751a3d;color:rgba(117,26,61,var(--text-opacity))}.sm\:hover\:text-transparent:hover{color:transparent}.sm\:hover\:text-white:hover{--text-opacity:1;color:#fff;color:rgba(255,255,255,var(--text-opacity))}.sm\:hover\:text-black:hover{--text-opacity:1;color:#000;color:rgba(0,0,0,var(--text-opacity))}.sm\:hover\:text-gray-50:hover{--text-opacity:1;color:#f9fafb;color:rgba(249,250,251,var(--text-opacity))}.sm\:hover\:text-gray-100:hover{--text-opacity:1;color:#f4f5f7;color:rgba(244,245,247,var(--text-opacity))}.sm\:hover\:text-gray-200:hover{--text-opacity:1;color:#e5e7eb;color:rgba(229,231,235,var(--text-opacity))}.sm\:hover\:text-gray-300:hover{--text-opacity:1;color:#d2d6dc;color:rgba(210,214,220,var(--text-opacity))}.sm\:hover\:text-gray-400:hover{--text-opacity:1;color:#9fa6b2;color:rgba(159,166,178,var(--text-opacity))}.sm\:hover\:text-gray-500:hover{--text-opacity:1;color:#6b7280;color:rgba(107,114,128,var(--text-opacity))}.sm\:hover\:text-gray-600:hover{--text-opacity:1;color:#4b5563;color:rgba(75,85,99,var(--text-opacity))}.sm\:hover\:text-gray-700:hover{--text-opacity:1;color:#374151;color:rgba(55,65,81,var(--text-opacity))}.sm\:hover\:text-gray-800:hover{--text-opacity:1;color:#252f3f;color:rgba(37,47,63,var(--text-opacity))}.sm\:hover\:text-gray-900:hover{--text-opacity:1;color:#161e2e;color:rgba(22,30,46,var(--text-opacity))}.sm\:hover\:text-cool-gray-50:hover{--text-opacity:1;color:#f8fafc;color:rgba(248,250,252,var(--text-opacity))}.sm\:hover\:text-cool-gray-100:hover{--text-opacity:1;color:#f1f5f9;color:rgba(241,245,249,var(--text-opacity))}.sm\:hover\:text-cool-gray-200:hover{--text-opacity:1;color:#e2e8f0;color:rgba(226,232,240,var(--text-opacity))}.sm\:hover\:text-cool-gray-300:hover{--text-opacity:1;color:#cfd8e3;color:rgba(207,216,227,var(--text-opacity))}.sm\:hover\:text-cool-gray-400:hover{--text-opacity:1;color:#97a6ba;color:rgba(151,166,186,var(--text-opacity))}.sm\:hover\:text-cool-gray-500:hover{--text-opacity:1;color:#64748b;color:rgba(100,116,139,var(--text-opacity))}.sm\:hover\:text-cool-gray-600:hover{--text-opacity:1;color:#475569;color:rgba(71,85,105,var(--text-opacity))}.sm\:hover\:text-cool-gray-700:hover{--text-opacity:1;color:#364152;color:rgba(54,65,82,var(--text-opacity))}.sm\:hover\:text-cool-gray-800:hover{--text-opacity:1;color:#27303f;color:rgba(39,48,63,var(--text-opacity))}.sm\:hover\:text-cool-gray-900:hover{--text-opacity:1;color:#1a202e;color:rgba(26,32,46,var(--text-opacity))}.sm\:hover\:text-red-50:hover{--text-opacity:1;color:#fdf2f2;color:rgba(253,242,242,var(--text-opacity))}.sm\:hover\:text-red-100:hover{--text-opacity:1;color:#fde8e8;color:rgba(253,232,232,var(--text-opacity))}.sm\:hover\:text-red-200:hover{--text-opacity:1;color:#fbd5d5;color:rgba(251,213,213,var(--text-opacity))}.sm\:hover\:text-red-300:hover{--text-opacity:1;color:#f8b4b4;color:rgba(248,180,180,var(--text-opacity))}.sm\:hover\:text-red-400:hover{--text-opacity:1;color:#f98080;color:rgba(249,128,128,var(--text-opacity))}.sm\:hover\:text-red-500:hover{--text-opacity:1;color:#f05252;color:rgba(240,82,82,var(--text-opacity))}.sm\:hover\:text-red-600:hover{--text-opacity:1;color:#e02424;color:rgba(224,36,36,var(--text-opacity))}.sm\:hover\:text-red-700:hover{--text-opacity:1;color:#c81e1e;color:rgba(200,30,30,var(--text-opacity))}.sm\:hover\:text-red-800:hover{--text-opacity:1;color:#9b1c1c;color:rgba(155,28,28,var(--text-opacity))}.sm\:hover\:text-red-900:hover{--text-opacity:1;color:#771d1d;color:rgba(119,29,29,var(--text-opacity))}.sm\:hover\:text-orange-50:hover{--text-opacity:1;color:#fff8f1;color:rgba(255,248,241,var(--text-opacity))}.sm\:hover\:text-orange-100:hover{--text-opacity:1;color:#feecdc;color:rgba(254,236,220,var(--text-opacity))}.sm\:hover\:text-orange-200:hover{--text-opacity:1;color:#fcd9bd;color:rgba(252,217,189,var(--text-opacity))}.sm\:hover\:text-orange-300:hover{--text-opacity:1;color:#fdba8c;color:rgba(253,186,140,var(--text-opacity))}.sm\:hover\:text-orange-400:hover{--text-opacity:1;color:#ff8a4c;color:rgba(255,138,76,var(--text-opacity))}.sm\:hover\:text-orange-500:hover{--text-opacity:1;color:#ff5a1f;color:rgba(255,90,31,var(--text-opacity))}.sm\:hover\:text-orange-600:hover{--text-opacity:1;color:#d03801;color:rgba(208,56,1,var(--text-opacity))}.sm\:hover\:text-orange-700:hover{--text-opacity:1;color:#b43403;color:rgba(180,52,3,var(--text-opacity))}.sm\:hover\:text-orange-800:hover{--text-opacity:1;color:#8a2c0d;color:rgba(138,44,13,var(--text-opacity))}.sm\:hover\:text-orange-900:hover{--text-opacity:1;color:#73230d;color:rgba(115,35,13,var(--text-opacity))}.sm\:hover\:text-yellow-50:hover{--text-opacity:1;color:#fdfdea;color:rgba(253,253,234,var(--text-opacity))}.sm\:hover\:text-yellow-100:hover{--text-opacity:1;color:#fdf6b2;color:rgba(253,246,178,var(--text-opacity))}.sm\:hover\:text-yellow-200:hover{--text-opacity:1;color:#fce96a;color:rgba(252,233,106,var(--text-opacity))}.sm\:hover\:text-yellow-300:hover{--text-opacity:1;color:#faca15;color:rgba(250,202,21,var(--text-opacity))}.sm\:hover\:text-yellow-400:hover{--text-opacity:1;color:#e3a008;color:rgba(227,160,8,var(--text-opacity))}.sm\:hover\:text-yellow-500:hover{--text-opacity:1;color:#c27803;color:rgba(194,120,3,var(--text-opacity))}.sm\:hover\:text-yellow-600:hover{--text-opacity:1;color:#9f580a;color:rgba(159,88,10,var(--text-opacity))}.sm\:hover\:text-yellow-700:hover{--text-opacity:1;color:#8e4b10;color:rgba(142,75,16,var(--text-opacity))}.sm\:hover\:text-yellow-800:hover{--text-opacity:1;color:#723b13;color:rgba(114,59,19,var(--text-opacity))}.sm\:hover\:text-yellow-900:hover{--text-opacity:1;color:#633112;color:rgba(99,49,18,var(--text-opacity))}.sm\:hover\:text-green-50:hover{--text-opacity:1;color:#f3faf7;color:rgba(243,250,247,var(--text-opacity))}.sm\:hover\:text-green-100:hover{--text-opacity:1;color:#def7ec;color:rgba(222,247,236,var(--text-opacity))}.sm\:hover\:text-green-200:hover{--text-opacity:1;color:#bcf0da;color:rgba(188,240,218,var(--text-opacity))}.sm\:hover\:text-green-300:hover{--text-opacity:1;color:#84e1bc;color:rgba(132,225,188,var(--text-opacity))}.sm\:hover\:text-green-400:hover{--text-opacity:1;color:#31c48d;color:rgba(49,196,141,var(--text-opacity))}.sm\:hover\:text-green-500:hover{--text-opacity:1;color:#0e9f6e;color:rgba(14,159,110,var(--text-opacity))}.sm\:hover\:text-green-600:hover{--text-opacity:1;color:#057a55;color:rgba(5,122,85,var(--text-opacity))}.sm\:hover\:text-green-700:hover{--text-opacity:1;color:#046c4e;color:rgba(4,108,78,var(--text-opacity))}.sm\:hover\:text-green-800:hover{--text-opacity:1;color:#03543f;color:rgba(3,84,63,var(--text-opacity))}.sm\:hover\:text-green-900:hover{--text-opacity:1;color:#014737;color:rgba(1,71,55,var(--text-opacity))}.sm\:hover\:text-teal-50:hover{--text-opacity:1;color:#edfafa;color:rgba(237,250,250,var(--text-opacity))}.sm\:hover\:text-teal-100:hover{--text-opacity:1;color:#d5f5f6;color:rgba(213,245,246,var(--text-opacity))}.sm\:hover\:text-teal-200:hover{--text-opacity:1;color:#afecef;color:rgba(175,236,239,var(--text-opacity))}.sm\:hover\:text-teal-300:hover{--text-opacity:1;color:#7edce2;color:rgba(126,220,226,var(--text-opacity))}.sm\:hover\:text-teal-400:hover{--text-opacity:1;color:#16bdca;color:rgba(22,189,202,var(--text-opacity))}.sm\:hover\:text-teal-500:hover{--text-opacity:1;color:#0694a2;color:rgba(6,148,162,var(--text-opacity))}.sm\:hover\:text-teal-600:hover{--text-opacity:1;color:#047481;color:rgba(4,116,129,var(--text-opacity))}.sm\:hover\:text-teal-700:hover{--text-opacity:1;color:#036672;color:rgba(3,102,114,var(--text-opacity))}.sm\:hover\:text-teal-800:hover{--text-opacity:1;color:#05505c;color:rgba(5,80,92,var(--text-opacity))}.sm\:hover\:text-teal-900:hover{--text-opacity:1;color:#014451;color:rgba(1,68,81,var(--text-opacity))}.sm\:hover\:text-blue-50:hover{--text-opacity:1;color:#ebf5ff;color:rgba(235,245,255,var(--text-opacity))}.sm\:hover\:text-blue-100:hover{--text-opacity:1;color:#e1effe;color:rgba(225,239,254,var(--text-opacity))}.sm\:hover\:text-blue-200:hover{--text-opacity:1;color:#c3ddfd;color:rgba(195,221,253,var(--text-opacity))}.sm\:hover\:text-blue-300:hover{--text-opacity:1;color:#a4cafe;color:rgba(164,202,254,var(--text-opacity))}.sm\:hover\:text-blue-400:hover{--text-opacity:1;color:#76a9fa;color:rgba(118,169,250,var(--text-opacity))}.sm\:hover\:text-blue-500:hover{--text-opacity:1;color:#3f83f8;color:rgba(63,131,248,var(--text-opacity))}.sm\:hover\:text-blue-600:hover{--text-opacity:1;color:#1c64f2;color:rgba(28,100,242,var(--text-opacity))}.sm\:hover\:text-blue-700:hover{--text-opacity:1;color:#1a56db;color:rgba(26,86,219,var(--text-opacity))}.sm\:hover\:text-blue-800:hover{--text-opacity:1;color:#1e429f;color:rgba(30,66,159,var(--text-opacity))}.sm\:hover\:text-blue-900:hover{--text-opacity:1;color:#233876;color:rgba(35,56,118,var(--text-opacity))}.sm\:hover\:text-indigo-50:hover{--text-opacity:1;color:#f0f5ff;color:rgba(240,245,255,var(--text-opacity))}.sm\:hover\:text-indigo-100:hover{--text-opacity:1;color:#e5edff;color:rgba(229,237,255,var(--text-opacity))}.sm\:hover\:text-indigo-200:hover{--text-opacity:1;color:#cddbfe;color:rgba(205,219,254,var(--text-opacity))}.sm\:hover\:text-indigo-300:hover{--text-opacity:1;color:#b4c6fc;color:rgba(180,198,252,var(--text-opacity))}.sm\:hover\:text-indigo-400:hover{--text-opacity:1;color:#8da2fb;color:rgba(141,162,251,var(--text-opacity))}.sm\:hover\:text-indigo-500:hover{--text-opacity:1;color:#6875f5;color:rgba(104,117,245,var(--text-opacity))}.sm\:hover\:text-indigo-600:hover{--text-opacity:1;color:#5850ec;color:rgba(88,80,236,var(--text-opacity))}.sm\:hover\:text-indigo-700:hover{--text-opacity:1;color:#5145cd;color:rgba(81,69,205,var(--text-opacity))}.sm\:hover\:text-indigo-800:hover{--text-opacity:1;color:#42389d;color:rgba(66,56,157,var(--text-opacity))}.sm\:hover\:text-indigo-900:hover{--text-opacity:1;color:#362f78;color:rgba(54,47,120,var(--text-opacity))}.sm\:hover\:text-purple-50:hover{--text-opacity:1;color:#f6f5ff;color:rgba(246,245,255,var(--text-opacity))}.sm\:hover\:text-purple-100:hover{--text-opacity:1;color:#edebfe;color:rgba(237,235,254,var(--text-opacity))}.sm\:hover\:text-purple-200:hover{--text-opacity:1;color:#dcd7fe;color:rgba(220,215,254,var(--text-opacity))}.sm\:hover\:text-purple-300:hover{--text-opacity:1;color:#cabffd;color:rgba(202,191,253,var(--text-opacity))}.sm\:hover\:text-purple-400:hover{--text-opacity:1;color:#ac94fa;color:rgba(172,148,250,var(--text-opacity))}.sm\:hover\:text-purple-500:hover{--text-opacity:1;color:#9061f9;color:rgba(144,97,249,var(--text-opacity))}.sm\:hover\:text-purple-600:hover{--text-opacity:1;color:#7e3af2;color:rgba(126,58,242,var(--text-opacity))}.sm\:hover\:text-purple-700:hover{--text-opacity:1;color:#6c2bd9;color:rgba(108,43,217,var(--text-opacity))}.sm\:hover\:text-purple-800:hover{--text-opacity:1;color:#5521b5;color:rgba(85,33,181,var(--text-opacity))}.sm\:hover\:text-purple-900:hover{--text-opacity:1;color:#4a1d96;color:rgba(74,29,150,var(--text-opacity))}.sm\:hover\:text-pink-50:hover{--text-opacity:1;color:#fdf2f8;color:rgba(253,242,248,var(--text-opacity))}.sm\:hover\:text-pink-100:hover{--text-opacity:1;color:#fce8f3;color:rgba(252,232,243,var(--text-opacity))}.sm\:hover\:text-pink-200:hover{--text-opacity:1;color:#fad1e8;color:rgba(250,209,232,var(--text-opacity))}.sm\:hover\:text-pink-300:hover{--text-opacity:1;color:#f8b4d9;color:rgba(248,180,217,var(--text-opacity))}.sm\:hover\:text-pink-400:hover{--text-opacity:1;color:#f17eb8;color:rgba(241,126,184,var(--text-opacity))}.sm\:hover\:text-pink-500:hover{--text-opacity:1;color:#e74694;color:rgba(231,70,148,var(--text-opacity))}.sm\:hover\:text-pink-600:hover{--text-opacity:1;color:#d61f69;color:rgba(214,31,105,var(--text-opacity))}.sm\:hover\:text-pink-700:hover{--text-opacity:1;color:#bf125d;color:rgba(191,18,93,var(--text-opacity))}.sm\:hover\:text-pink-800:hover{--text-opacity:1;color:#99154b;color:rgba(153,21,75,var(--text-opacity))}.sm\:hover\:text-pink-900:hover{--text-opacity:1;color:#751a3d;color:rgba(117,26,61,var(--text-opacity))}.sm\:focus-within\:text-transparent:focus-within{color:transparent}.sm\:focus-within\:text-white:focus-within{--text-opacity:1;color:#fff;color:rgba(255,255,255,var(--text-opacity))}.sm\:focus-within\:text-black:focus-within{--text-opacity:1;color:#000;color:rgba(0,0,0,var(--text-opacity))}.sm\:focus-within\:text-gray-50:focus-within{--text-opacity:1;color:#f9fafb;color:rgba(249,250,251,var(--text-opacity))}.sm\:focus-within\:text-gray-100:focus-within{--text-opacity:1;color:#f4f5f7;color:rgba(244,245,247,var(--text-opacity))}.sm\:focus-within\:text-gray-200:focus-within{--text-opacity:1;color:#e5e7eb;color:rgba(229,231,235,var(--text-opacity))}.sm\:focus-within\:text-gray-300:focus-within{--text-opacity:1;color:#d2d6dc;color:rgba(210,214,220,var(--text-opacity))}.sm\:focus-within\:text-gray-400:focus-within{--text-opacity:1;color:#9fa6b2;color:rgba(159,166,178,var(--text-opacity))}.sm\:focus-within\:text-gray-500:focus-within{--text-opacity:1;color:#6b7280;color:rgba(107,114,128,var(--text-opacity))}.sm\:focus-within\:text-gray-600:focus-within{--text-opacity:1;color:#4b5563;color:rgba(75,85,99,var(--text-opacity))}.sm\:focus-within\:text-gray-700:focus-within{--text-opacity:1;color:#374151;color:rgba(55,65,81,var(--text-opacity))}.sm\:focus-within\:text-gray-800:focus-within{--text-opacity:1;color:#252f3f;color:rgba(37,47,63,var(--text-opacity))}.sm\:focus-within\:text-gray-900:focus-within{--text-opacity:1;color:#161e2e;color:rgba(22,30,46,var(--text-opacity))}.sm\:focus-within\:text-cool-gray-50:focus-within{--text-opacity:1;color:#f8fafc;color:rgba(248,250,252,var(--text-opacity))}.sm\:focus-within\:text-cool-gray-100:focus-within{--text-opacity:1;color:#f1f5f9;color:rgba(241,245,249,var(--text-opacity))}.sm\:focus-within\:text-cool-gray-200:focus-within{--text-opacity:1;color:#e2e8f0;color:rgba(226,232,240,var(--text-opacity))}.sm\:focus-within\:text-cool-gray-300:focus-within{--text-opacity:1;color:#cfd8e3;color:rgba(207,216,227,var(--text-opacity))}.sm\:focus-within\:text-cool-gray-400:focus-within{--text-opacity:1;color:#97a6ba;color:rgba(151,166,186,var(--text-opacity))}.sm\:focus-within\:text-cool-gray-500:focus-within{--text-opacity:1;color:#64748b;color:rgba(100,116,139,var(--text-opacity))}.sm\:focus-within\:text-cool-gray-600:focus-within{--text-opacity:1;color:#475569;color:rgba(71,85,105,var(--text-opacity))}.sm\:focus-within\:text-cool-gray-700:focus-within{--text-opacity:1;color:#364152;color:rgba(54,65,82,var(--text-opacity))}.sm\:focus-within\:text-cool-gray-800:focus-within{--text-opacity:1;color:#27303f;color:rgba(39,48,63,var(--text-opacity))}.sm\:focus-within\:text-cool-gray-900:focus-within{--text-opacity:1;color:#1a202e;color:rgba(26,32,46,var(--text-opacity))}.sm\:focus-within\:text-red-50:focus-within{--text-opacity:1;color:#fdf2f2;color:rgba(253,242,242,var(--text-opacity))}.sm\:focus-within\:text-red-100:focus-within{--text-opacity:1;color:#fde8e8;color:rgba(253,232,232,var(--text-opacity))}.sm\:focus-within\:text-red-200:focus-within{--text-opacity:1;color:#fbd5d5;color:rgba(251,213,213,var(--text-opacity))}.sm\:focus-within\:text-red-300:focus-within{--text-opacity:1;color:#f8b4b4;color:rgba(248,180,180,var(--text-opacity))}.sm\:focus-within\:text-red-400:focus-within{--text-opacity:1;color:#f98080;color:rgba(249,128,128,var(--text-opacity))}.sm\:focus-within\:text-red-500:focus-within{--text-opacity:1;color:#f05252;color:rgba(240,82,82,var(--text-opacity))}.sm\:focus-within\:text-red-600:focus-within{--text-opacity:1;color:#e02424;color:rgba(224,36,36,var(--text-opacity))}.sm\:focus-within\:text-red-700:focus-within{--text-opacity:1;color:#c81e1e;color:rgba(200,30,30,var(--text-opacity))}.sm\:focus-within\:text-red-800:focus-within{--text-opacity:1;color:#9b1c1c;color:rgba(155,28,28,var(--text-opacity))}.sm\:focus-within\:text-red-900:focus-within{--text-opacity:1;color:#771d1d;color:rgba(119,29,29,var(--text-opacity))}.sm\:focus-within\:text-orange-50:focus-within{--text-opacity:1;color:#fff8f1;color:rgba(255,248,241,var(--text-opacity))}.sm\:focus-within\:text-orange-100:focus-within{--text-opacity:1;color:#feecdc;color:rgba(254,236,220,var(--text-opacity))}.sm\:focus-within\:text-orange-200:focus-within{--text-opacity:1;color:#fcd9bd;color:rgba(252,217,189,var(--text-opacity))}.sm\:focus-within\:text-orange-300:focus-within{--text-opacity:1;color:#fdba8c;color:rgba(253,186,140,var(--text-opacity))}.sm\:focus-within\:text-orange-400:focus-within{--text-opacity:1;color:#ff8a4c;color:rgba(255,138,76,var(--text-opacity))}.sm\:focus-within\:text-orange-500:focus-within{--text-opacity:1;color:#ff5a1f;color:rgba(255,90,31,var(--text-opacity))}.sm\:focus-within\:text-orange-600:focus-within{--text-opacity:1;color:#d03801;color:rgba(208,56,1,var(--text-opacity))}.sm\:focus-within\:text-orange-700:focus-within{--text-opacity:1;color:#b43403;color:rgba(180,52,3,var(--text-opacity))}.sm\:focus-within\:text-orange-800:focus-within{--text-opacity:1;color:#8a2c0d;color:rgba(138,44,13,var(--text-opacity))}.sm\:focus-within\:text-orange-900:focus-within{--text-opacity:1;color:#73230d;color:rgba(115,35,13,var(--text-opacity))}.sm\:focus-within\:text-yellow-50:focus-within{--text-opacity:1;color:#fdfdea;color:rgba(253,253,234,var(--text-opacity))}.sm\:focus-within\:text-yellow-100:focus-within{--text-opacity:1;color:#fdf6b2;color:rgba(253,246,178,var(--text-opacity))}.sm\:focus-within\:text-yellow-200:focus-within{--text-opacity:1;color:#fce96a;color:rgba(252,233,106,var(--text-opacity))}.sm\:focus-within\:text-yellow-300:focus-within{--text-opacity:1;color:#faca15;color:rgba(250,202,21,var(--text-opacity))}.sm\:focus-within\:text-yellow-400:focus-within{--text-opacity:1;color:#e3a008;color:rgba(227,160,8,var(--text-opacity))}.sm\:focus-within\:text-yellow-500:focus-within{--text-opacity:1;color:#c27803;color:rgba(194,120,3,var(--text-opacity))}.sm\:focus-within\:text-yellow-600:focus-within{--text-opacity:1;color:#9f580a;color:rgba(159,88,10,var(--text-opacity))}.sm\:focus-within\:text-yellow-700:focus-within{--text-opacity:1;color:#8e4b10;color:rgba(142,75,16,var(--text-opacity))}.sm\:focus-within\:text-yellow-800:focus-within{--text-opacity:1;color:#723b13;color:rgba(114,59,19,var(--text-opacity))}.sm\:focus-within\:text-yellow-900:focus-within{--text-opacity:1;color:#633112;color:rgba(99,49,18,var(--text-opacity))}.sm\:focus-within\:text-green-50:focus-within{--text-opacity:1;color:#f3faf7;color:rgba(243,250,247,var(--text-opacity))}.sm\:focus-within\:text-green-100:focus-within{--text-opacity:1;color:#def7ec;color:rgba(222,247,236,var(--text-opacity))}.sm\:focus-within\:text-green-200:focus-within{--text-opacity:1;color:#bcf0da;color:rgba(188,240,218,var(--text-opacity))}.sm\:focus-within\:text-green-300:focus-within{--text-opacity:1;color:#84e1bc;color:rgba(132,225,188,var(--text-opacity))}.sm\:focus-within\:text-green-400:focus-within{--text-opacity:1;color:#31c48d;color:rgba(49,196,141,var(--text-opacity))}.sm\:focus-within\:text-green-500:focus-within{--text-opacity:1;color:#0e9f6e;color:rgba(14,159,110,var(--text-opacity))}.sm\:focus-within\:text-green-600:focus-within{--text-opacity:1;color:#057a55;color:rgba(5,122,85,var(--text-opacity))}.sm\:focus-within\:text-green-700:focus-within{--text-opacity:1;color:#046c4e;color:rgba(4,108,78,var(--text-opacity))}.sm\:focus-within\:text-green-800:focus-within{--text-opacity:1;color:#03543f;color:rgba(3,84,63,var(--text-opacity))}.sm\:focus-within\:text-green-900:focus-within{--text-opacity:1;color:#014737;color:rgba(1,71,55,var(--text-opacity))}.sm\:focus-within\:text-teal-50:focus-within{--text-opacity:1;color:#edfafa;color:rgba(237,250,250,var(--text-opacity))}.sm\:focus-within\:text-teal-100:focus-within{--text-opacity:1;color:#d5f5f6;color:rgba(213,245,246,var(--text-opacity))}.sm\:focus-within\:text-teal-200:focus-within{--text-opacity:1;color:#afecef;color:rgba(175,236,239,var(--text-opacity))}.sm\:focus-within\:text-teal-300:focus-within{--text-opacity:1;color:#7edce2;color:rgba(126,220,226,var(--text-opacity))}.sm\:focus-within\:text-teal-400:focus-within{--text-opacity:1;color:#16bdca;color:rgba(22,189,202,var(--text-opacity))}.sm\:focus-within\:text-teal-500:focus-within{--text-opacity:1;color:#0694a2;color:rgba(6,148,162,var(--text-opacity))}.sm\:focus-within\:text-teal-600:focus-within{--text-opacity:1;color:#047481;color:rgba(4,116,129,var(--text-opacity))}.sm\:focus-within\:text-teal-700:focus-within{--text-opacity:1;color:#036672;color:rgba(3,102,114,var(--text-opacity))}.sm\:focus-within\:text-teal-800:focus-within{--text-opacity:1;color:#05505c;color:rgba(5,80,92,var(--text-opacity))}.sm\:focus-within\:text-teal-900:focus-within{--text-opacity:1;color:#014451;color:rgba(1,68,81,var(--text-opacity))}.sm\:focus-within\:text-blue-50:focus-within{--text-opacity:1;color:#ebf5ff;color:rgba(235,245,255,var(--text-opacity))}.sm\:focus-within\:text-blue-100:focus-within{--text-opacity:1;color:#e1effe;color:rgba(225,239,254,var(--text-opacity))}.sm\:focus-within\:text-blue-200:focus-within{--text-opacity:1;color:#c3ddfd;color:rgba(195,221,253,var(--text-opacity))}.sm\:focus-within\:text-blue-300:focus-within{--text-opacity:1;color:#a4cafe;color:rgba(164,202,254,var(--text-opacity))}.sm\:focus-within\:text-blue-400:focus-within{--text-opacity:1;color:#76a9fa;color:rgba(118,169,250,var(--text-opacity))}.sm\:focus-within\:text-blue-500:focus-within{--text-opacity:1;color:#3f83f8;color:rgba(63,131,248,var(--text-opacity))}.sm\:focus-within\:text-blue-600:focus-within{--text-opacity:1;color:#1c64f2;color:rgba(28,100,242,var(--text-opacity))}.sm\:focus-within\:text-blue-700:focus-within{--text-opacity:1;color:#1a56db;color:rgba(26,86,219,var(--text-opacity))}.sm\:focus-within\:text-blue-800:focus-within{--text-opacity:1;color:#1e429f;color:rgba(30,66,159,var(--text-opacity))}.sm\:focus-within\:text-blue-900:focus-within{--text-opacity:1;color:#233876;color:rgba(35,56,118,var(--text-opacity))}.sm\:focus-within\:text-indigo-50:focus-within{--text-opacity:1;color:#f0f5ff;color:rgba(240,245,255,var(--text-opacity))}.sm\:focus-within\:text-indigo-100:focus-within{--text-opacity:1;color:#e5edff;color:rgba(229,237,255,var(--text-opacity))}.sm\:focus-within\:text-indigo-200:focus-within{--text-opacity:1;color:#cddbfe;color:rgba(205,219,254,var(--text-opacity))}.sm\:focus-within\:text-indigo-300:focus-within{--text-opacity:1;color:#b4c6fc;color:rgba(180,198,252,var(--text-opacity))}.sm\:focus-within\:text-indigo-400:focus-within{--text-opacity:1;color:#8da2fb;color:rgba(141,162,251,var(--text-opacity))}.sm\:focus-within\:text-indigo-500:focus-within{--text-opacity:1;color:#6875f5;color:rgba(104,117,245,var(--text-opacity))}.sm\:focus-within\:text-indigo-600:focus-within{--text-opacity:1;color:#5850ec;color:rgba(88,80,236,var(--text-opacity))}.sm\:focus-within\:text-indigo-700:focus-within{--text-opacity:1;color:#5145cd;color:rgba(81,69,205,var(--text-opacity))}.sm\:focus-within\:text-indigo-800:focus-within{--text-opacity:1;color:#42389d;color:rgba(66,56,157,var(--text-opacity))}.sm\:focus-within\:text-indigo-900:focus-within{--text-opacity:1;color:#362f78;color:rgba(54,47,120,var(--text-opacity))}.sm\:focus-within\:text-purple-50:focus-within{--text-opacity:1;color:#f6f5ff;color:rgba(246,245,255,var(--text-opacity))}.sm\:focus-within\:text-purple-100:focus-within{--text-opacity:1;color:#edebfe;color:rgba(237,235,254,var(--text-opacity))}.sm\:focus-within\:text-purple-200:focus-within{--text-opacity:1;color:#dcd7fe;color:rgba(220,215,254,var(--text-opacity))}.sm\:focus-within\:text-purple-300:focus-within{--text-opacity:1;color:#cabffd;color:rgba(202,191,253,var(--text-opacity))}.sm\:focus-within\:text-purple-400:focus-within{--text-opacity:1;color:#ac94fa;color:rgba(172,148,250,var(--text-opacity))}.sm\:focus-within\:text-purple-500:focus-within{--text-opacity:1;color:#9061f9;color:rgba(144,97,249,var(--text-opacity))}.sm\:focus-within\:text-purple-600:focus-within{--text-opacity:1;color:#7e3af2;color:rgba(126,58,242,var(--text-opacity))}.sm\:focus-within\:text-purple-700:focus-within{--text-opacity:1;color:#6c2bd9;color:rgba(108,43,217,var(--text-opacity))}.sm\:focus-within\:text-purple-800:focus-within{--text-opacity:1;color:#5521b5;color:rgba(85,33,181,var(--text-opacity))}.sm\:focus-within\:text-purple-900:focus-within{--text-opacity:1;color:#4a1d96;color:rgba(74,29,150,var(--text-opacity))}.sm\:focus-within\:text-pink-50:focus-within{--text-opacity:1;color:#fdf2f8;color:rgba(253,242,248,var(--text-opacity))}.sm\:focus-within\:text-pink-100:focus-within{--text-opacity:1;color:#fce8f3;color:rgba(252,232,243,var(--text-opacity))}.sm\:focus-within\:text-pink-200:focus-within{--text-opacity:1;color:#fad1e8;color:rgba(250,209,232,var(--text-opacity))}.sm\:focus-within\:text-pink-300:focus-within{--text-opacity:1;color:#f8b4d9;color:rgba(248,180,217,var(--text-opacity))}.sm\:focus-within\:text-pink-400:focus-within{--text-opacity:1;color:#f17eb8;color:rgba(241,126,184,var(--text-opacity))}.sm\:focus-within\:text-pink-500:focus-within{--text-opacity:1;color:#e74694;color:rgba(231,70,148,var(--text-opacity))}.sm\:focus-within\:text-pink-600:focus-within{--text-opacity:1;color:#d61f69;color:rgba(214,31,105,var(--text-opacity))}.sm\:focus-within\:text-pink-700:focus-within{--text-opacity:1;color:#bf125d;color:rgba(191,18,93,var(--text-opacity))}.sm\:focus-within\:text-pink-800:focus-within{--text-opacity:1;color:#99154b;color:rgba(153,21,75,var(--text-opacity))}.sm\:focus-within\:text-pink-900:focus-within{--text-opacity:1;color:#751a3d;color:rgba(117,26,61,var(--text-opacity))}.sm\:focus\:text-transparent:focus{color:transparent}.sm\:focus\:text-white:focus{--text-opacity:1;color:#fff;color:rgba(255,255,255,var(--text-opacity))}.sm\:focus\:text-black:focus{--text-opacity:1;color:#000;color:rgba(0,0,0,var(--text-opacity))}.sm\:focus\:text-gray-50:focus{--text-opacity:1;color:#f9fafb;color:rgba(249,250,251,var(--text-opacity))}.sm\:focus\:text-gray-100:focus{--text-opacity:1;color:#f4f5f7;color:rgba(244,245,247,var(--text-opacity))}.sm\:focus\:text-gray-200:focus{--text-opacity:1;color:#e5e7eb;color:rgba(229,231,235,var(--text-opacity))}.sm\:focus\:text-gray-300:focus{--text-opacity:1;color:#d2d6dc;color:rgba(210,214,220,var(--text-opacity))}.sm\:focus\:text-gray-400:focus{--text-opacity:1;color:#9fa6b2;color:rgba(159,166,178,var(--text-opacity))}.sm\:focus\:text-gray-500:focus{--text-opacity:1;color:#6b7280;color:rgba(107,114,128,var(--text-opacity))}.sm\:focus\:text-gray-600:focus{--text-opacity:1;color:#4b5563;color:rgba(75,85,99,var(--text-opacity))}.sm\:focus\:text-gray-700:focus{--text-opacity:1;color:#374151;color:rgba(55,65,81,var(--text-opacity))}.sm\:focus\:text-gray-800:focus{--text-opacity:1;color:#252f3f;color:rgba(37,47,63,var(--text-opacity))}.sm\:focus\:text-gray-900:focus{--text-opacity:1;color:#161e2e;color:rgba(22,30,46,var(--text-opacity))}.sm\:focus\:text-cool-gray-50:focus{--text-opacity:1;color:#f8fafc;color:rgba(248,250,252,var(--text-opacity))}.sm\:focus\:text-cool-gray-100:focus{--text-opacity:1;color:#f1f5f9;color:rgba(241,245,249,var(--text-opacity))}.sm\:focus\:text-cool-gray-200:focus{--text-opacity:1;color:#e2e8f0;color:rgba(226,232,240,var(--text-opacity))}.sm\:focus\:text-cool-gray-300:focus{--text-opacity:1;color:#cfd8e3;color:rgba(207,216,227,var(--text-opacity))}.sm\:focus\:text-cool-gray-400:focus{--text-opacity:1;color:#97a6ba;color:rgba(151,166,186,var(--text-opacity))}.sm\:focus\:text-cool-gray-500:focus{--text-opacity:1;color:#64748b;color:rgba(100,116,139,var(--text-opacity))}.sm\:focus\:text-cool-gray-600:focus{--text-opacity:1;color:#475569;color:rgba(71,85,105,var(--text-opacity))}.sm\:focus\:text-cool-gray-700:focus{--text-opacity:1;color:#364152;color:rgba(54,65,82,var(--text-opacity))}.sm\:focus\:text-cool-gray-800:focus{--text-opacity:1;color:#27303f;color:rgba(39,48,63,var(--text-opacity))}.sm\:focus\:text-cool-gray-900:focus{--text-opacity:1;color:#1a202e;color:rgba(26,32,46,var(--text-opacity))}.sm\:focus\:text-red-50:focus{--text-opacity:1;color:#fdf2f2;color:rgba(253,242,242,var(--text-opacity))}.sm\:focus\:text-red-100:focus{--text-opacity:1;color:#fde8e8;color:rgba(253,232,232,var(--text-opacity))}.sm\:focus\:text-red-200:focus{--text-opacity:1;color:#fbd5d5;color:rgba(251,213,213,var(--text-opacity))}.sm\:focus\:text-red-300:focus{--text-opacity:1;color:#f8b4b4;color:rgba(248,180,180,var(--text-opacity))}.sm\:focus\:text-red-400:focus{--text-opacity:1;color:#f98080;color:rgba(249,128,128,var(--text-opacity))}.sm\:focus\:text-red-500:focus{--text-opacity:1;color:#f05252;color:rgba(240,82,82,var(--text-opacity))}.sm\:focus\:text-red-600:focus{--text-opacity:1;color:#e02424;color:rgba(224,36,36,var(--text-opacity))}.sm\:focus\:text-red-700:focus{--text-opacity:1;color:#c81e1e;color:rgba(200,30,30,var(--text-opacity))}.sm\:focus\:text-red-800:focus{--text-opacity:1;color:#9b1c1c;color:rgba(155,28,28,var(--text-opacity))}.sm\:focus\:text-red-900:focus{--text-opacity:1;color:#771d1d;color:rgba(119,29,29,var(--text-opacity))}.sm\:focus\:text-orange-50:focus{--text-opacity:1;color:#fff8f1;color:rgba(255,248,241,var(--text-opacity))}.sm\:focus\:text-orange-100:focus{--text-opacity:1;color:#feecdc;color:rgba(254,236,220,var(--text-opacity))}.sm\:focus\:text-orange-200:focus{--text-opacity:1;color:#fcd9bd;color:rgba(252,217,189,var(--text-opacity))}.sm\:focus\:text-orange-300:focus{--text-opacity:1;color:#fdba8c;color:rgba(253,186,140,var(--text-opacity))}.sm\:focus\:text-orange-400:focus{--text-opacity:1;color:#ff8a4c;color:rgba(255,138,76,var(--text-opacity))}.sm\:focus\:text-orange-500:focus{--text-opacity:1;color:#ff5a1f;color:rgba(255,90,31,var(--text-opacity))}.sm\:focus\:text-orange-600:focus{--text-opacity:1;color:#d03801;color:rgba(208,56,1,var(--text-opacity))}.sm\:focus\:text-orange-700:focus{--text-opacity:1;color:#b43403;color:rgba(180,52,3,var(--text-opacity))}.sm\:focus\:text-orange-800:focus{--text-opacity:1;color:#8a2c0d;color:rgba(138,44,13,var(--text-opacity))}.sm\:focus\:text-orange-900:focus{--text-opacity:1;color:#73230d;color:rgba(115,35,13,var(--text-opacity))}.sm\:focus\:text-yellow-50:focus{--text-opacity:1;color:#fdfdea;color:rgba(253,253,234,var(--text-opacity))}.sm\:focus\:text-yellow-100:focus{--text-opacity:1;color:#fdf6b2;color:rgba(253,246,178,var(--text-opacity))}.sm\:focus\:text-yellow-200:focus{--text-opacity:1;color:#fce96a;color:rgba(252,233,106,var(--text-opacity))}.sm\:focus\:text-yellow-300:focus{--text-opacity:1;color:#faca15;color:rgba(250,202,21,var(--text-opacity))}.sm\:focus\:text-yellow-400:focus{--text-opacity:1;color:#e3a008;color:rgba(227,160,8,var(--text-opacity))}.sm\:focus\:text-yellow-500:focus{--text-opacity:1;color:#c27803;color:rgba(194,120,3,var(--text-opacity))}.sm\:focus\:text-yellow-600:focus{--text-opacity:1;color:#9f580a;color:rgba(159,88,10,var(--text-opacity))}.sm\:focus\:text-yellow-700:focus{--text-opacity:1;color:#8e4b10;color:rgba(142,75,16,var(--text-opacity))}.sm\:focus\:text-yellow-800:focus{--text-opacity:1;color:#723b13;color:rgba(114,59,19,var(--text-opacity))}.sm\:focus\:text-yellow-900:focus{--text-opacity:1;color:#633112;color:rgba(99,49,18,var(--text-opacity))}.sm\:focus\:text-green-50:focus{--text-opacity:1;color:#f3faf7;color:rgba(243,250,247,var(--text-opacity))}.sm\:focus\:text-green-100:focus{--text-opacity:1;color:#def7ec;color:rgba(222,247,236,var(--text-opacity))}.sm\:focus\:text-green-200:focus{--text-opacity:1;color:#bcf0da;color:rgba(188,240,218,var(--text-opacity))}.sm\:focus\:text-green-300:focus{--text-opacity:1;color:#84e1bc;color:rgba(132,225,188,var(--text-opacity))}.sm\:focus\:text-green-400:focus{--text-opacity:1;color:#31c48d;color:rgba(49,196,141,var(--text-opacity))}.sm\:focus\:text-green-500:focus{--text-opacity:1;color:#0e9f6e;color:rgba(14,159,110,var(--text-opacity))}.sm\:focus\:text-green-600:focus{--text-opacity:1;color:#057a55;color:rgba(5,122,85,var(--text-opacity))}.sm\:focus\:text-green-700:focus{--text-opacity:1;color:#046c4e;color:rgba(4,108,78,var(--text-opacity))}.sm\:focus\:text-green-800:focus{--text-opacity:1;color:#03543f;color:rgba(3,84,63,var(--text-opacity))}.sm\:focus\:text-green-900:focus{--text-opacity:1;color:#014737;color:rgba(1,71,55,var(--text-opacity))}.sm\:focus\:text-teal-50:focus{--text-opacity:1;color:#edfafa;color:rgba(237,250,250,var(--text-opacity))}.sm\:focus\:text-teal-100:focus{--text-opacity:1;color:#d5f5f6;color:rgba(213,245,246,var(--text-opacity))}.sm\:focus\:text-teal-200:focus{--text-opacity:1;color:#afecef;color:rgba(175,236,239,var(--text-opacity))}.sm\:focus\:text-teal-300:focus{--text-opacity:1;color:#7edce2;color:rgba(126,220,226,var(--text-opacity))}.sm\:focus\:text-teal-400:focus{--text-opacity:1;color:#16bdca;color:rgba(22,189,202,var(--text-opacity))}.sm\:focus\:text-teal-500:focus{--text-opacity:1;color:#0694a2;color:rgba(6,148,162,var(--text-opacity))}.sm\:focus\:text-teal-600:focus{--text-opacity:1;color:#047481;color:rgba(4,116,129,var(--text-opacity))}.sm\:focus\:text-teal-700:focus{--text-opacity:1;color:#036672;color:rgba(3,102,114,var(--text-opacity))}.sm\:focus\:text-teal-800:focus{--text-opacity:1;color:#05505c;color:rgba(5,80,92,var(--text-opacity))}.sm\:focus\:text-teal-900:focus{--text-opacity:1;color:#014451;color:rgba(1,68,81,var(--text-opacity))}.sm\:focus\:text-blue-50:focus{--text-opacity:1;color:#ebf5ff;color:rgba(235,245,255,var(--text-opacity))}.sm\:focus\:text-blue-100:focus{--text-opacity:1;color:#e1effe;color:rgba(225,239,254,var(--text-opacity))}.sm\:focus\:text-blue-200:focus{--text-opacity:1;color:#c3ddfd;color:rgba(195,221,253,var(--text-opacity))}.sm\:focus\:text-blue-300:focus{--text-opacity:1;color:#a4cafe;color:rgba(164,202,254,var(--text-opacity))}.sm\:focus\:text-blue-400:focus{--text-opacity:1;color:#76a9fa;color:rgba(118,169,250,var(--text-opacity))}.sm\:focus\:text-blue-500:focus{--text-opacity:1;color:#3f83f8;color:rgba(63,131,248,var(--text-opacity))}.sm\:focus\:text-blue-600:focus{--text-opacity:1;color:#1c64f2;color:rgba(28,100,242,var(--text-opacity))}.sm\:focus\:text-blue-700:focus{--text-opacity:1;color:#1a56db;color:rgba(26,86,219,var(--text-opacity))}.sm\:focus\:text-blue-800:focus{--text-opacity:1;color:#1e429f;color:rgba(30,66,159,var(--text-opacity))}.sm\:focus\:text-blue-900:focus{--text-opacity:1;color:#233876;color:rgba(35,56,118,var(--text-opacity))}.sm\:focus\:text-indigo-50:focus{--text-opacity:1;color:#f0f5ff;color:rgba(240,245,255,var(--text-opacity))}.sm\:focus\:text-indigo-100:focus{--text-opacity:1;color:#e5edff;color:rgba(229,237,255,var(--text-opacity))}.sm\:focus\:text-indigo-200:focus{--text-opacity:1;color:#cddbfe;color:rgba(205,219,254,var(--text-opacity))}.sm\:focus\:text-indigo-300:focus{--text-opacity:1;color:#b4c6fc;color:rgba(180,198,252,var(--text-opacity))}.sm\:focus\:text-indigo-400:focus{--text-opacity:1;color:#8da2fb;color:rgba(141,162,251,var(--text-opacity))}.sm\:focus\:text-indigo-500:focus{--text-opacity:1;color:#6875f5;color:rgba(104,117,245,var(--text-opacity))}.sm\:focus\:text-indigo-600:focus{--text-opacity:1;color:#5850ec;color:rgba(88,80,236,var(--text-opacity))}.sm\:focus\:text-indigo-700:focus{--text-opacity:1;color:#5145cd;color:rgba(81,69,205,var(--text-opacity))}.sm\:focus\:text-indigo-800:focus{--text-opacity:1;color:#42389d;color:rgba(66,56,157,var(--text-opacity))}.sm\:focus\:text-indigo-900:focus{--text-opacity:1;color:#362f78;color:rgba(54,47,120,var(--text-opacity))}.sm\:focus\:text-purple-50:focus{--text-opacity:1;color:#f6f5ff;color:rgba(246,245,255,var(--text-opacity))}.sm\:focus\:text-purple-100:focus{--text-opacity:1;color:#edebfe;color:rgba(237,235,254,var(--text-opacity))}.sm\:focus\:text-purple-200:focus{--text-opacity:1;color:#dcd7fe;color:rgba(220,215,254,var(--text-opacity))}.sm\:focus\:text-purple-300:focus{--text-opacity:1;color:#cabffd;color:rgba(202,191,253,var(--text-opacity))}.sm\:focus\:text-purple-400:focus{--text-opacity:1;color:#ac94fa;color:rgba(172,148,250,var(--text-opacity))}.sm\:focus\:text-purple-500:focus{--text-opacity:1;color:#9061f9;color:rgba(144,97,249,var(--text-opacity))}.sm\:focus\:text-purple-600:focus{--text-opacity:1;color:#7e3af2;color:rgba(126,58,242,var(--text-opacity))}.sm\:focus\:text-purple-700:focus{--text-opacity:1;color:#6c2bd9;color:rgba(108,43,217,var(--text-opacity))}.sm\:focus\:text-purple-800:focus{--text-opacity:1;color:#5521b5;color:rgba(85,33,181,var(--text-opacity))}.sm\:focus\:text-purple-900:focus{--text-opacity:1;color:#4a1d96;color:rgba(74,29,150,var(--text-opacity))}.sm\:focus\:text-pink-50:focus{--text-opacity:1;color:#fdf2f8;color:rgba(253,242,248,var(--text-opacity))}.sm\:focus\:text-pink-100:focus{--text-opacity:1;color:#fce8f3;color:rgba(252,232,243,var(--text-opacity))}.sm\:focus\:text-pink-200:focus{--text-opacity:1;color:#fad1e8;color:rgba(250,209,232,var(--text-opacity))}.sm\:focus\:text-pink-300:focus{--text-opacity:1;color:#f8b4d9;color:rgba(248,180,217,var(--text-opacity))}.sm\:focus\:text-pink-400:focus{--text-opacity:1;color:#f17eb8;color:rgba(241,126,184,var(--text-opacity))}.sm\:focus\:text-pink-500:focus{--text-opacity:1;color:#e74694;color:rgba(231,70,148,var(--text-opacity))}.sm\:focus\:text-pink-600:focus{--text-opacity:1;color:#d61f69;color:rgba(214,31,105,var(--text-opacity))}.sm\:focus\:text-pink-700:focus{--text-opacity:1;color:#bf125d;color:rgba(191,18,93,var(--text-opacity))}.sm\:focus\:text-pink-800:focus{--text-opacity:1;color:#99154b;color:rgba(153,21,75,var(--text-opacity))}.sm\:focus\:text-pink-900:focus{--text-opacity:1;color:#751a3d;color:rgba(117,26,61,var(--text-opacity))}.sm\:active\:text-transparent:active{color:transparent}.sm\:active\:text-white:active{--text-opacity:1;color:#fff;color:rgba(255,255,255,var(--text-opacity))}.sm\:active\:text-black:active{--text-opacity:1;color:#000;color:rgba(0,0,0,var(--text-opacity))}.sm\:active\:text-gray-50:active{--text-opacity:1;color:#f9fafb;color:rgba(249,250,251,var(--text-opacity))}.sm\:active\:text-gray-100:active{--text-opacity:1;color:#f4f5f7;color:rgba(244,245,247,var(--text-opacity))}.sm\:active\:text-gray-200:active{--text-opacity:1;color:#e5e7eb;color:rgba(229,231,235,var(--text-opacity))}.sm\:active\:text-gray-300:active{--text-opacity:1;color:#d2d6dc;color:rgba(210,214,220,var(--text-opacity))}.sm\:active\:text-gray-400:active{--text-opacity:1;color:#9fa6b2;color:rgba(159,166,178,var(--text-opacity))}.sm\:active\:text-gray-500:active{--text-opacity:1;color:#6b7280;color:rgba(107,114,128,var(--text-opacity))}.sm\:active\:text-gray-600:active{--text-opacity:1;color:#4b5563;color:rgba(75,85,99,var(--text-opacity))}.sm\:active\:text-gray-700:active{--text-opacity:1;color:#374151;color:rgba(55,65,81,var(--text-opacity))}.sm\:active\:text-gray-800:active{--text-opacity:1;color:#252f3f;color:rgba(37,47,63,var(--text-opacity))}.sm\:active\:text-gray-900:active{--text-opacity:1;color:#161e2e;color:rgba(22,30,46,var(--text-opacity))}.sm\:active\:text-cool-gray-50:active{--text-opacity:1;color:#f8fafc;color:rgba(248,250,252,var(--text-opacity))}.sm\:active\:text-cool-gray-100:active{--text-opacity:1;color:#f1f5f9;color:rgba(241,245,249,var(--text-opacity))}.sm\:active\:text-cool-gray-200:active{--text-opacity:1;color:#e2e8f0;color:rgba(226,232,240,var(--text-opacity))}.sm\:active\:text-cool-gray-300:active{--text-opacity:1;color:#cfd8e3;color:rgba(207,216,227,var(--text-opacity))}.sm\:active\:text-cool-gray-400:active{--text-opacity:1;color:#97a6ba;color:rgba(151,166,186,var(--text-opacity))}.sm\:active\:text-cool-gray-500:active{--text-opacity:1;color:#64748b;color:rgba(100,116,139,var(--text-opacity))}.sm\:active\:text-cool-gray-600:active{--text-opacity:1;color:#475569;color:rgba(71,85,105,var(--text-opacity))}.sm\:active\:text-cool-gray-700:active{--text-opacity:1;color:#364152;color:rgba(54,65,82,var(--text-opacity))}.sm\:active\:text-cool-gray-800:active{--text-opacity:1;color:#27303f;color:rgba(39,48,63,var(--text-opacity))}.sm\:active\:text-cool-gray-900:active{--text-opacity:1;color:#1a202e;color:rgba(26,32,46,var(--text-opacity))}.sm\:active\:text-red-50:active{--text-opacity:1;color:#fdf2f2;color:rgba(253,242,242,var(--text-opacity))}.sm\:active\:text-red-100:active{--text-opacity:1;color:#fde8e8;color:rgba(253,232,232,var(--text-opacity))}.sm\:active\:text-red-200:active{--text-opacity:1;color:#fbd5d5;color:rgba(251,213,213,var(--text-opacity))}.sm\:active\:text-red-300:active{--text-opacity:1;color:#f8b4b4;color:rgba(248,180,180,var(--text-opacity))}.sm\:active\:text-red-400:active{--text-opacity:1;color:#f98080;color:rgba(249,128,128,var(--text-opacity))}.sm\:active\:text-red-500:active{--text-opacity:1;color:#f05252;color:rgba(240,82,82,var(--text-opacity))}.sm\:active\:text-red-600:active{--text-opacity:1;color:#e02424;color:rgba(224,36,36,var(--text-opacity))}.sm\:active\:text-red-700:active{--text-opacity:1;color:#c81e1e;color:rgba(200,30,30,var(--text-opacity))}.sm\:active\:text-red-800:active{--text-opacity:1;color:#9b1c1c;color:rgba(155,28,28,var(--text-opacity))}.sm\:active\:text-red-900:active{--text-opacity:1;color:#771d1d;color:rgba(119,29,29,var(--text-opacity))}.sm\:active\:text-orange-50:active{--text-opacity:1;color:#fff8f1;color:rgba(255,248,241,var(--text-opacity))}.sm\:active\:text-orange-100:active{--text-opacity:1;color:#feecdc;color:rgba(254,236,220,var(--text-opacity))}.sm\:active\:text-orange-200:active{--text-opacity:1;color:#fcd9bd;color:rgba(252,217,189,var(--text-opacity))}.sm\:active\:text-orange-300:active{--text-opacity:1;color:#fdba8c;color:rgba(253,186,140,var(--text-opacity))}.sm\:active\:text-orange-400:active{--text-opacity:1;color:#ff8a4c;color:rgba(255,138,76,var(--text-opacity))}.sm\:active\:text-orange-500:active{--text-opacity:1;color:#ff5a1f;color:rgba(255,90,31,var(--text-opacity))}.sm\:active\:text-orange-600:active{--text-opacity:1;color:#d03801;color:rgba(208,56,1,var(--text-opacity))}.sm\:active\:text-orange-700:active{--text-opacity:1;color:#b43403;color:rgba(180,52,3,var(--text-opacity))}.sm\:active\:text-orange-800:active{--text-opacity:1;color:#8a2c0d;color:rgba(138,44,13,var(--text-opacity))}.sm\:active\:text-orange-900:active{--text-opacity:1;color:#73230d;color:rgba(115,35,13,var(--text-opacity))}.sm\:active\:text-yellow-50:active{--text-opacity:1;color:#fdfdea;color:rgba(253,253,234,var(--text-opacity))}.sm\:active\:text-yellow-100:active{--text-opacity:1;color:#fdf6b2;color:rgba(253,246,178,var(--text-opacity))}.sm\:active\:text-yellow-200:active{--text-opacity:1;color:#fce96a;color:rgba(252,233,106,var(--text-opacity))}.sm\:active\:text-yellow-300:active{--text-opacity:1;color:#faca15;color:rgba(250,202,21,var(--text-opacity))}.sm\:active\:text-yellow-400:active{--text-opacity:1;color:#e3a008;color:rgba(227,160,8,var(--text-opacity))}.sm\:active\:text-yellow-500:active{--text-opacity:1;color:#c27803;color:rgba(194,120,3,var(--text-opacity))}.sm\:active\:text-yellow-600:active{--text-opacity:1;color:#9f580a;color:rgba(159,88,10,var(--text-opacity))}.sm\:active\:text-yellow-700:active{--text-opacity:1;color:#8e4b10;color:rgba(142,75,16,var(--text-opacity))}.sm\:active\:text-yellow-800:active{--text-opacity:1;color:#723b13;color:rgba(114,59,19,var(--text-opacity))}.sm\:active\:text-yellow-900:active{--text-opacity:1;color:#633112;color:rgba(99,49,18,var(--text-opacity))}.sm\:active\:text-green-50:active{--text-opacity:1;color:#f3faf7;color:rgba(243,250,247,var(--text-opacity))}.sm\:active\:text-green-100:active{--text-opacity:1;color:#def7ec;color:rgba(222,247,236,var(--text-opacity))}.sm\:active\:text-green-200:active{--text-opacity:1;color:#bcf0da;color:rgba(188,240,218,var(--text-opacity))}.sm\:active\:text-green-300:active{--text-opacity:1;color:#84e1bc;color:rgba(132,225,188,var(--text-opacity))}.sm\:active\:text-green-400:active{--text-opacity:1;color:#31c48d;color:rgba(49,196,141,var(--text-opacity))}.sm\:active\:text-green-500:active{--text-opacity:1;color:#0e9f6e;color:rgba(14,159,110,var(--text-opacity))}.sm\:active\:text-green-600:active{--text-opacity:1;color:#057a55;color:rgba(5,122,85,var(--text-opacity))}.sm\:active\:text-green-700:active{--text-opacity:1;color:#046c4e;color:rgba(4,108,78,var(--text-opacity))}.sm\:active\:text-green-800:active{--text-opacity:1;color:#03543f;color:rgba(3,84,63,var(--text-opacity))}.sm\:active\:text-green-900:active{--text-opacity:1;color:#014737;color:rgba(1,71,55,var(--text-opacity))}.sm\:active\:text-teal-50:active{--text-opacity:1;color:#edfafa;color:rgba(237,250,250,var(--text-opacity))}.sm\:active\:text-teal-100:active{--text-opacity:1;color:#d5f5f6;color:rgba(213,245,246,var(--text-opacity))}.sm\:active\:text-teal-200:active{--text-opacity:1;color:#afecef;color:rgba(175,236,239,var(--text-opacity))}.sm\:active\:text-teal-300:active{--text-opacity:1;color:#7edce2;color:rgba(126,220,226,var(--text-opacity))}.sm\:active\:text-teal-400:active{--text-opacity:1;color:#16bdca;color:rgba(22,189,202,var(--text-opacity))}.sm\:active\:text-teal-500:active{--text-opacity:1;color:#0694a2;color:rgba(6,148,162,var(--text-opacity))}.sm\:active\:text-teal-600:active{--text-opacity:1;color:#047481;color:rgba(4,116,129,var(--text-opacity))}.sm\:active\:text-teal-700:active{--text-opacity:1;color:#036672;color:rgba(3,102,114,var(--text-opacity))}.sm\:active\:text-teal-800:active{--text-opacity:1;color:#05505c;color:rgba(5,80,92,var(--text-opacity))}.sm\:active\:text-teal-900:active{--text-opacity:1;color:#014451;color:rgba(1,68,81,var(--text-opacity))}.sm\:active\:text-blue-50:active{--text-opacity:1;color:#ebf5ff;color:rgba(235,245,255,var(--text-opacity))}.sm\:active\:text-blue-100:active{--text-opacity:1;color:#e1effe;color:rgba(225,239,254,var(--text-opacity))}.sm\:active\:text-blue-200:active{--text-opacity:1;color:#c3ddfd;color:rgba(195,221,253,var(--text-opacity))}.sm\:active\:text-blue-300:active{--text-opacity:1;color:#a4cafe;color:rgba(164,202,254,var(--text-opacity))}.sm\:active\:text-blue-400:active{--text-opacity:1;color:#76a9fa;color:rgba(118,169,250,var(--text-opacity))}.sm\:active\:text-blue-500:active{--text-opacity:1;color:#3f83f8;color:rgba(63,131,248,var(--text-opacity))}.sm\:active\:text-blue-600:active{--text-opacity:1;color:#1c64f2;color:rgba(28,100,242,var(--text-opacity))}.sm\:active\:text-blue-700:active{--text-opacity:1;color:#1a56db;color:rgba(26,86,219,var(--text-opacity))}.sm\:active\:text-blue-800:active{--text-opacity:1;color:#1e429f;color:rgba(30,66,159,var(--text-opacity))}.sm\:active\:text-blue-900:active{--text-opacity:1;color:#233876;color:rgba(35,56,118,var(--text-opacity))}.sm\:active\:text-indigo-50:active{--text-opacity:1;color:#f0f5ff;color:rgba(240,245,255,var(--text-opacity))}.sm\:active\:text-indigo-100:active{--text-opacity:1;color:#e5edff;color:rgba(229,237,255,var(--text-opacity))}.sm\:active\:text-indigo-200:active{--text-opacity:1;color:#cddbfe;color:rgba(205,219,254,var(--text-opacity))}.sm\:active\:text-indigo-300:active{--text-opacity:1;color:#b4c6fc;color:rgba(180,198,252,var(--text-opacity))}.sm\:active\:text-indigo-400:active{--text-opacity:1;color:#8da2fb;color:rgba(141,162,251,var(--text-opacity))}.sm\:active\:text-indigo-500:active{--text-opacity:1;color:#6875f5;color:rgba(104,117,245,var(--text-opacity))}.sm\:active\:text-indigo-600:active{--text-opacity:1;color:#5850ec;color:rgba(88,80,236,var(--text-opacity))}.sm\:active\:text-indigo-700:active{--text-opacity:1;color:#5145cd;color:rgba(81,69,205,var(--text-opacity))}.sm\:active\:text-indigo-800:active{--text-opacity:1;color:#42389d;color:rgba(66,56,157,var(--text-opacity))}.sm\:active\:text-indigo-900:active{--text-opacity:1;color:#362f78;color:rgba(54,47,120,var(--text-opacity))}.sm\:active\:text-purple-50:active{--text-opacity:1;color:#f6f5ff;color:rgba(246,245,255,var(--text-opacity))}.sm\:active\:text-purple-100:active{--text-opacity:1;color:#edebfe;color:rgba(237,235,254,var(--text-opacity))}.sm\:active\:text-purple-200:active{--text-opacity:1;color:#dcd7fe;color:rgba(220,215,254,var(--text-opacity))}.sm\:active\:text-purple-300:active{--text-opacity:1;color:#cabffd;color:rgba(202,191,253,var(--text-opacity))}.sm\:active\:text-purple-400:active{--text-opacity:1;color:#ac94fa;color:rgba(172,148,250,var(--text-opacity))}.sm\:active\:text-purple-500:active{--text-opacity:1;color:#9061f9;color:rgba(144,97,249,var(--text-opacity))}.sm\:active\:text-purple-600:active{--text-opacity:1;color:#7e3af2;color:rgba(126,58,242,var(--text-opacity))}.sm\:active\:text-purple-700:active{--text-opacity:1;color:#6c2bd9;color:rgba(108,43,217,var(--text-opacity))}.sm\:active\:text-purple-800:active{--text-opacity:1;color:#5521b5;color:rgba(85,33,181,var(--text-opacity))}.sm\:active\:text-purple-900:active{--text-opacity:1;color:#4a1d96;color:rgba(74,29,150,var(--text-opacity))}.sm\:active\:text-pink-50:active{--text-opacity:1;color:#fdf2f8;color:rgba(253,242,248,var(--text-opacity))}.sm\:active\:text-pink-100:active{--text-opacity:1;color:#fce8f3;color:rgba(252,232,243,var(--text-opacity))}.sm\:active\:text-pink-200:active{--text-opacity:1;color:#fad1e8;color:rgba(250,209,232,var(--text-opacity))}.sm\:active\:text-pink-300:active{--text-opacity:1;color:#f8b4d9;color:rgba(248,180,217,var(--text-opacity))}.sm\:active\:text-pink-400:active{--text-opacity:1;color:#f17eb8;color:rgba(241,126,184,var(--text-opacity))}.sm\:active\:text-pink-500:active{--text-opacity:1;color:#e74694;color:rgba(231,70,148,var(--text-opacity))}.sm\:active\:text-pink-600:active{--text-opacity:1;color:#d61f69;color:rgba(214,31,105,var(--text-opacity))}.sm\:active\:text-pink-700:active{--text-opacity:1;color:#bf125d;color:rgba(191,18,93,var(--text-opacity))}.sm\:active\:text-pink-800:active{--text-opacity:1;color:#99154b;color:rgba(153,21,75,var(--text-opacity))}.sm\:active\:text-pink-900:active{--text-opacity:1;color:#751a3d;color:rgba(117,26,61,var(--text-opacity))}.sm\:text-opacity-0{--text-opacity:0}.sm\:text-opacity-25{--text-opacity:0.25}.sm\:text-opacity-50{--text-opacity:0.5}.sm\:text-opacity-75{--text-opacity:0.75}.sm\:text-opacity-100{--text-opacity:1}.sm\:hover\:text-opacity-0:hover{--text-opacity:0}.sm\:hover\:text-opacity-25:hover{--text-opacity:0.25}.sm\:hover\:text-opacity-50:hover{--text-opacity:0.5}.sm\:hover\:text-opacity-75:hover{--text-opacity:0.75}.sm\:hover\:text-opacity-100:hover{--text-opacity:1}.sm\:focus\:text-opacity-0:focus{--text-opacity:0}.sm\:focus\:text-opacity-25:focus{--text-opacity:0.25}.sm\:focus\:text-opacity-50:focus{--text-opacity:0.5}.sm\:focus\:text-opacity-75:focus{--text-opacity:0.75}.sm\:focus\:text-opacity-100:focus{--text-opacity:1}.sm\:italic{font-style:italic}.sm\:not-italic{font-style:normal}.sm\:uppercase{text-transform:uppercase}.sm\:lowercase{text-transform:lowercase}.sm\:capitalize{text-transform:capitalize}.sm\:normal-case{text-transform:none}.sm\:underline{text-decoration:underline}.sm\:line-through{text-decoration:line-through}.sm\:no-underline{text-decoration:none}.group:hover .sm\:group-hover\:underline{text-decoration:underline}.group:hover .sm\:group-hover\:line-through{text-decoration:line-through}.group:hover .sm\:group-hover\:no-underline{text-decoration:none}.group:focus .sm\:group-focus\:underline{text-decoration:underline}.group:focus .sm\:group-focus\:line-through{text-decoration:line-through}.group:focus .sm\:group-focus\:no-underline{text-decoration:none}.sm\:hover\:underline:hover{text-decoration:underline}.sm\:hover\:line-through:hover{text-decoration:line-through}.sm\:hover\:no-underline:hover{text-decoration:none}.sm\:focus\:underline:focus{text-decoration:underline}.sm\:focus\:line-through:focus{text-decoration:line-through}.sm\:focus\:no-underline:focus{text-decoration:none}.sm\:antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.sm\:subpixel-antialiased{-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}.sm\:tracking-tighter{letter-spacing:-.05em}.sm\:tracking-tight{letter-spacing:-.025em}.sm\:tracking-normal{letter-spacing:0}.sm\:tracking-wide{letter-spacing:.025em}.sm\:tracking-wider{letter-spacing:.05em}.sm\:tracking-widest{letter-spacing:.1em}.sm\:select-none{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.sm\:select-text{-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text}.sm\:select-all{-webkit-user-select:all;-moz-user-select:all;-ms-user-select:all;user-select:all}.sm\:select-auto{-webkit-user-select:auto;-moz-user-select:auto;-ms-user-select:auto;user-select:auto}.sm\:align-baseline{vertical-align:baseline}.sm\:align-top{vertical-align:top}.sm\:align-middle{vertical-align:middle}.sm\:align-bottom{vertical-align:bottom}.sm\:align-text-top{vertical-align:text-top}.sm\:align-text-bottom{vertical-align:text-bottom}.sm\:visible{visibility:visible}.sm\:invisible{visibility:hidden}.sm\:whitespace-normal{white-space:normal}.sm\:whitespace-no-wrap{white-space:nowrap}.sm\:whitespace-pre{white-space:pre}.sm\:whitespace-pre-line{white-space:pre-line}.sm\:whitespace-pre-wrap{white-space:pre-wrap}.sm\:break-normal{overflow-wrap:normal;word-break:normal}.sm\:break-words{overflow-wrap:break-word}.sm\:break-all{word-break:break-all}.sm\:truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sm\:w-0{width:0}.sm\:w-1{width:.25rem}.sm\:w-2{width:.5rem}.sm\:w-3{width:.75rem}.sm\:w-4{width:1rem}.sm\:w-5{width:1.25rem}.sm\:w-6{width:1.5rem}.sm\:w-7{width:1.75rem}.sm\:w-8{width:2rem}.sm\:w-9{width:2.25rem}.sm\:w-10{width:2.5rem}.sm\:w-11{width:2.75rem}.sm\:w-12{width:3rem}.sm\:w-13{width:3.25rem}.sm\:w-14{width:3.5rem}.sm\:w-15{width:3.75rem}.sm\:w-16{width:4rem}.sm\:w-20{width:5rem}.sm\:w-24{width:6rem}.sm\:w-28{width:7rem}.sm\:w-32{width:8rem}.sm\:w-36{width:9rem}.sm\:w-40{width:10rem}.sm\:w-44{width:11rem}.sm\:w-48{width:12rem}.sm\:w-52{width:13rem}.sm\:w-56{width:14rem}.sm\:w-60{width:15rem}.sm\:w-64{width:16rem}.sm\:w-72{width:18rem}.sm\:w-80{width:20rem}.sm\:w-96{width:24rem}.sm\:w-auto{width:auto}.sm\:w-px{width:1px}.sm\:w-0\.5{width:.125rem}.sm\:w-1\.5{width:.375rem}.sm\:w-2\.5{width:.625rem}.sm\:w-3\.5{width:.875rem}.sm\:w-1\/2{width:50%}.sm\:w-1\/3{width:33.333333%}.sm\:w-2\/3{width:66.666667%}.sm\:w-1\/4{width:25%}.sm\:w-2\/4{width:50%}.sm\:w-3\/4{width:75%}.sm\:w-1\/5{width:20%}.sm\:w-2\/5{width:40%}.sm\:w-3\/5{width:60%}.sm\:w-4\/5{width:80%}.sm\:w-1\/6{width:16.666667%}.sm\:w-2\/6{width:33.333333%}.sm\:w-3\/6{width:50%}.sm\:w-4\/6{width:66.666667%}.sm\:w-5\/6{width:83.333333%}.sm\:w-1\/12{width:8.333333%}.sm\:w-2\/12{width:16.666667%}.sm\:w-3\/12{width:25%}.sm\:w-4\/12{width:33.333333%}.sm\:w-5\/12{width:41.666667%}.sm\:w-6\/12{width:50%}.sm\:w-7\/12{width:58.333333%}.sm\:w-8\/12{width:66.666667%}.sm\:w-9\/12{width:75%}.sm\:w-10\/12{width:83.333333%}.sm\:w-11\/12{width:91.666667%}.sm\:w-full{width:100%}.sm\:w-screen{width:100vw}.sm\:w-min-content{width:-webkit-min-content;width:-moz-min-content;width:min-content}.sm\:w-max-content{width:-webkit-max-content;width:-moz-max-content;width:max-content}.sm\:z-0{z-index:0}.sm\:z-10{z-index:10}.sm\:z-20{z-index:20}.sm\:z-30{z-index:30}.sm\:z-40{z-index:40}.sm\:z-50{z-index:50}.sm\:z-auto{z-index:auto}.sm\:focus-within\:z-0:focus-within{z-index:0}.sm\:focus-within\:z-10:focus-within{z-index:10}.sm\:focus-within\:z-20:focus-within{z-index:20}.sm\:focus-within\:z-30:focus-within{z-index:30}.sm\:focus-within\:z-40:focus-within{z-index:40}.sm\:focus-within\:z-50:focus-within{z-index:50}.sm\:focus-within\:z-auto:focus-within{z-index:auto}.sm\:focus\:z-0:focus{z-index:0}.sm\:focus\:z-10:focus{z-index:10}.sm\:focus\:z-20:focus{z-index:20}.sm\:focus\:z-30:focus{z-index:30}.sm\:focus\:z-40:focus{z-index:40}.sm\:focus\:z-50:focus{z-index:50}.sm\:focus\:z-auto:focus{z-index:auto}.sm\:gap-0{grid-gap:0;gap:0}.sm\:gap-1{grid-gap:.25rem;gap:.25rem}.sm\:gap-2{grid-gap:.5rem;gap:.5rem}.sm\:gap-3{grid-gap:.75rem;gap:.75rem}.sm\:gap-4{grid-gap:1rem;gap:1rem}.sm\:gap-5{grid-gap:1.25rem;gap:1.25rem}.sm\:gap-6{grid-gap:1.5rem;gap:1.5rem}.sm\:gap-7{grid-gap:1.75rem;gap:1.75rem}.sm\:gap-8{grid-gap:2rem;gap:2rem}.sm\:gap-9{grid-gap:2.25rem;gap:2.25rem}.sm\:gap-10{grid-gap:2.5rem;gap:2.5rem}.sm\:gap-11{grid-gap:2.75rem;gap:2.75rem}.sm\:gap-12{grid-gap:3rem;gap:3rem}.sm\:gap-13{grid-gap:3.25rem;gap:3.25rem}.sm\:gap-14{grid-gap:3.5rem;gap:3.5rem}.sm\:gap-15{grid-gap:3.75rem;gap:3.75rem}.sm\:gap-16{grid-gap:4rem;gap:4rem}.sm\:gap-20{grid-gap:5rem;gap:5rem}.sm\:gap-24{grid-gap:6rem;gap:6rem}.sm\:gap-28{grid-gap:7rem;gap:7rem}.sm\:gap-32{grid-gap:8rem;gap:8rem}.sm\:gap-36{grid-gap:9rem;gap:9rem}.sm\:gap-40{grid-gap:10rem;gap:10rem}.sm\:gap-44{grid-gap:11rem;gap:11rem}.sm\:gap-48{grid-gap:12rem;gap:12rem}.sm\:gap-52{grid-gap:13rem;gap:13rem}.sm\:gap-56{grid-gap:14rem;gap:14rem}.sm\:gap-60{grid-gap:15rem;gap:15rem}.sm\:gap-64{grid-gap:16rem;gap:16rem}.sm\:gap-72{grid-gap:18rem;gap:18rem}.sm\:gap-80{grid-gap:20rem;gap:20rem}.sm\:gap-96{grid-gap:24rem;gap:24rem}.sm\:gap-px{grid-gap:1px;gap:1px}.sm\:gap-0\.5{grid-gap:.125rem;gap:.125rem}.sm\:gap-1\.5{grid-gap:.375rem;gap:.375rem}.sm\:gap-2\.5{grid-gap:.625rem;gap:.625rem}.sm\:gap-3\.5{grid-gap:.875rem;gap:.875rem}.sm\:gap-1\/2{grid-gap:50%;gap:50%}.sm\:gap-1\/3{grid-gap:33.333333%;gap:33.333333%}.sm\:gap-2\/3{grid-gap:66.666667%;gap:66.666667%}.sm\:gap-1\/4{grid-gap:25%;gap:25%}.sm\:gap-2\/4{grid-gap:50%;gap:50%}.sm\:gap-3\/4{grid-gap:75%;gap:75%}.sm\:gap-1\/5{grid-gap:20%;gap:20%}.sm\:gap-2\/5{grid-gap:40%;gap:40%}.sm\:gap-3\/5{grid-gap:60%;gap:60%}.sm\:gap-4\/5{grid-gap:80%;gap:80%}.sm\:gap-1\/6{grid-gap:16.666667%;gap:16.666667%}.sm\:gap-2\/6{grid-gap:33.333333%;gap:33.333333%}.sm\:gap-3\/6{grid-gap:50%;gap:50%}.sm\:gap-4\/6{grid-gap:66.666667%;gap:66.666667%}.sm\:gap-5\/6{grid-gap:83.333333%;gap:83.333333%}.sm\:gap-1\/12{grid-gap:8.333333%;gap:8.333333%}.sm\:gap-2\/12{grid-gap:16.666667%;gap:16.666667%}.sm\:gap-3\/12{grid-gap:25%;gap:25%}.sm\:gap-4\/12{grid-gap:33.333333%;gap:33.333333%}.sm\:gap-5\/12{grid-gap:41.666667%;gap:41.666667%}.sm\:gap-6\/12{grid-gap:50%;gap:50%}.sm\:gap-7\/12{grid-gap:58.333333%;gap:58.333333%}.sm\:gap-8\/12{grid-gap:66.666667%;gap:66.666667%}.sm\:gap-9\/12{grid-gap:75%;gap:75%}.sm\:gap-10\/12{grid-gap:83.333333%;gap:83.333333%}.sm\:gap-11\/12{grid-gap:91.666667%;gap:91.666667%}.sm\:gap-full{grid-gap:100%;gap:100%}.sm\:col-gap-0{grid-column-gap:0;-moz-column-gap:0;column-gap:0}.sm\:col-gap-1{grid-column-gap:.25rem;-moz-column-gap:.25rem;column-gap:.25rem}.sm\:col-gap-2{grid-column-gap:.5rem;-moz-column-gap:.5rem;column-gap:.5rem}.sm\:col-gap-3{grid-column-gap:.75rem;-moz-column-gap:.75rem;column-gap:.75rem}.sm\:col-gap-4{grid-column-gap:1rem;-moz-column-gap:1rem;column-gap:1rem}.sm\:col-gap-5{grid-column-gap:1.25rem;-moz-column-gap:1.25rem;column-gap:1.25rem}.sm\:col-gap-6{grid-column-gap:1.5rem;-moz-column-gap:1.5rem;column-gap:1.5rem}.sm\:col-gap-7{grid-column-gap:1.75rem;-moz-column-gap:1.75rem;column-gap:1.75rem}.sm\:col-gap-8{grid-column-gap:2rem;-moz-column-gap:2rem;column-gap:2rem}.sm\:col-gap-9{grid-column-gap:2.25rem;-moz-column-gap:2.25rem;column-gap:2.25rem}.sm\:col-gap-10{grid-column-gap:2.5rem;-moz-column-gap:2.5rem;column-gap:2.5rem}.sm\:col-gap-11{grid-column-gap:2.75rem;-moz-column-gap:2.75rem;column-gap:2.75rem}.sm\:col-gap-12{grid-column-gap:3rem;-moz-column-gap:3rem;column-gap:3rem}.sm\:col-gap-13{grid-column-gap:3.25rem;-moz-column-gap:3.25rem;column-gap:3.25rem}.sm\:col-gap-14{grid-column-gap:3.5rem;-moz-column-gap:3.5rem;column-gap:3.5rem}.sm\:col-gap-15{grid-column-gap:3.75rem;-moz-column-gap:3.75rem;column-gap:3.75rem}.sm\:col-gap-16{grid-column-gap:4rem;-moz-column-gap:4rem;column-gap:4rem}.sm\:col-gap-20{grid-column-gap:5rem;-moz-column-gap:5rem;column-gap:5rem}.sm\:col-gap-24{grid-column-gap:6rem;-moz-column-gap:6rem;column-gap:6rem}.sm\:col-gap-28{grid-column-gap:7rem;-moz-column-gap:7rem;column-gap:7rem}.sm\:col-gap-32{grid-column-gap:8rem;-moz-column-gap:8rem;column-gap:8rem}.sm\:col-gap-36{grid-column-gap:9rem;-moz-column-gap:9rem;column-gap:9rem}.sm\:col-gap-40{grid-column-gap:10rem;-moz-column-gap:10rem;column-gap:10rem}.sm\:col-gap-44{grid-column-gap:11rem;-moz-column-gap:11rem;column-gap:11rem}.sm\:col-gap-48{grid-column-gap:12rem;-moz-column-gap:12rem;column-gap:12rem}.sm\:col-gap-52{grid-column-gap:13rem;-moz-column-gap:13rem;column-gap:13rem}.sm\:col-gap-56{grid-column-gap:14rem;-moz-column-gap:14rem;column-gap:14rem}.sm\:col-gap-60{grid-column-gap:15rem;-moz-column-gap:15rem;column-gap:15rem}.sm\:col-gap-64{grid-column-gap:16rem;-moz-column-gap:16rem;column-gap:16rem}.sm\:col-gap-72{grid-column-gap:18rem;-moz-column-gap:18rem;column-gap:18rem}.sm\:col-gap-80{grid-column-gap:20rem;-moz-column-gap:20rem;column-gap:20rem}.sm\:col-gap-96{grid-column-gap:24rem;-moz-column-gap:24rem;column-gap:24rem}.sm\:col-gap-px{grid-column-gap:1px;-moz-column-gap:1px;column-gap:1px}.sm\:col-gap-0\.5{grid-column-gap:.125rem;-moz-column-gap:.125rem;column-gap:.125rem}.sm\:col-gap-1\.5{grid-column-gap:.375rem;-moz-column-gap:.375rem;column-gap:.375rem}.sm\:col-gap-2\.5{grid-column-gap:.625rem;-moz-column-gap:.625rem;column-gap:.625rem}.sm\:col-gap-3\.5{grid-column-gap:.875rem;-moz-column-gap:.875rem;column-gap:.875rem}.sm\:col-gap-1\/2{grid-column-gap:50%;-moz-column-gap:50%;column-gap:50%}.sm\:col-gap-1\/3{grid-column-gap:33.333333%;-moz-column-gap:33.333333%;column-gap:33.333333%}.sm\:col-gap-2\/3{grid-column-gap:66.666667%;-moz-column-gap:66.666667%;column-gap:66.666667%}.sm\:col-gap-1\/4{grid-column-gap:25%;-moz-column-gap:25%;column-gap:25%}.sm\:col-gap-2\/4{grid-column-gap:50%;-moz-column-gap:50%;column-gap:50%}.sm\:col-gap-3\/4{grid-column-gap:75%;-moz-column-gap:75%;column-gap:75%}.sm\:col-gap-1\/5{grid-column-gap:20%;-moz-column-gap:20%;column-gap:20%}.sm\:col-gap-2\/5{grid-column-gap:40%;-moz-column-gap:40%;column-gap:40%}.sm\:col-gap-3\/5{grid-column-gap:60%;-moz-column-gap:60%;column-gap:60%}.sm\:col-gap-4\/5{grid-column-gap:80%;-moz-column-gap:80%;column-gap:80%}.sm\:col-gap-1\/6{grid-column-gap:16.666667%;-moz-column-gap:16.666667%;column-gap:16.666667%}.sm\:col-gap-2\/6{grid-column-gap:33.333333%;-moz-column-gap:33.333333%;column-gap:33.333333%}.sm\:col-gap-3\/6{grid-column-gap:50%;-moz-column-gap:50%;column-gap:50%}.sm\:col-gap-4\/6{grid-column-gap:66.666667%;-moz-column-gap:66.666667%;column-gap:66.666667%}.sm\:col-gap-5\/6{grid-column-gap:83.333333%;-moz-column-gap:83.333333%;column-gap:83.333333%}.sm\:col-gap-1\/12{grid-column-gap:8.333333%;-moz-column-gap:8.333333%;column-gap:8.333333%}.sm\:col-gap-2\/12{grid-column-gap:16.666667%;-moz-column-gap:16.666667%;column-gap:16.666667%}.sm\:col-gap-3\/12{grid-column-gap:25%;-moz-column-gap:25%;column-gap:25%}.sm\:col-gap-4\/12{grid-column-gap:33.333333%;-moz-column-gap:33.333333%;column-gap:33.333333%}.sm\:col-gap-5\/12{grid-column-gap:41.666667%;-moz-column-gap:41.666667%;column-gap:41.666667%}.sm\:col-gap-6\/12{grid-column-gap:50%;-moz-column-gap:50%;column-gap:50%}.sm\:col-gap-7\/12{grid-column-gap:58.333333%;-moz-column-gap:58.333333%;column-gap:58.333333%}.sm\:col-gap-8\/12{grid-column-gap:66.666667%;-moz-column-gap:66.666667%;column-gap:66.666667%}.sm\:col-gap-9\/12{grid-column-gap:75%;-moz-column-gap:75%;column-gap:75%}.sm\:col-gap-10\/12{grid-column-gap:83.333333%;-moz-column-gap:83.333333%;column-gap:83.333333%}.sm\:col-gap-11\/12{grid-column-gap:91.666667%;-moz-column-gap:91.666667%;column-gap:91.666667%}.sm\:col-gap-full{grid-column-gap:100%;-moz-column-gap:100%;column-gap:100%}.sm\:row-gap-0{grid-row-gap:0;row-gap:0}.sm\:row-gap-1{grid-row-gap:.25rem;row-gap:.25rem}.sm\:row-gap-2{grid-row-gap:.5rem;row-gap:.5rem}.sm\:row-gap-3{grid-row-gap:.75rem;row-gap:.75rem}.sm\:row-gap-4{grid-row-gap:1rem;row-gap:1rem}.sm\:row-gap-5{grid-row-gap:1.25rem;row-gap:1.25rem}.sm\:row-gap-6{grid-row-gap:1.5rem;row-gap:1.5rem}.sm\:row-gap-7{grid-row-gap:1.75rem;row-gap:1.75rem}.sm\:row-gap-8{grid-row-gap:2rem;row-gap:2rem}.sm\:row-gap-9{grid-row-gap:2.25rem;row-gap:2.25rem}.sm\:row-gap-10{grid-row-gap:2.5rem;row-gap:2.5rem}.sm\:row-gap-11{grid-row-gap:2.75rem;row-gap:2.75rem}.sm\:row-gap-12{grid-row-gap:3rem;row-gap:3rem}.sm\:row-gap-13{grid-row-gap:3.25rem;row-gap:3.25rem}.sm\:row-gap-14{grid-row-gap:3.5rem;row-gap:3.5rem}.sm\:row-gap-15{grid-row-gap:3.75rem;row-gap:3.75rem}.sm\:row-gap-16{grid-row-gap:4rem;row-gap:4rem}.sm\:row-gap-20{grid-row-gap:5rem;row-gap:5rem}.sm\:row-gap-24{grid-row-gap:6rem;row-gap:6rem}.sm\:row-gap-28{grid-row-gap:7rem;row-gap:7rem}.sm\:row-gap-32{grid-row-gap:8rem;row-gap:8rem}.sm\:row-gap-36{grid-row-gap:9rem;row-gap:9rem}.sm\:row-gap-40{grid-row-gap:10rem;row-gap:10rem}.sm\:row-gap-44{grid-row-gap:11rem;row-gap:11rem}.sm\:row-gap-48{grid-row-gap:12rem;row-gap:12rem}.sm\:row-gap-52{grid-row-gap:13rem;row-gap:13rem}.sm\:row-gap-56{grid-row-gap:14rem;row-gap:14rem}.sm\:row-gap-60{grid-row-gap:15rem;row-gap:15rem}.sm\:row-gap-64{grid-row-gap:16rem;row-gap:16rem}.sm\:row-gap-72{grid-row-gap:18rem;row-gap:18rem}.sm\:row-gap-80{grid-row-gap:20rem;row-gap:20rem}.sm\:row-gap-96{grid-row-gap:24rem;row-gap:24rem}.sm\:row-gap-px{grid-row-gap:1px;row-gap:1px}.sm\:row-gap-0\.5{grid-row-gap:.125rem;row-gap:.125rem}.sm\:row-gap-1\.5{grid-row-gap:.375rem;row-gap:.375rem}.sm\:row-gap-2\.5{grid-row-gap:.625rem;row-gap:.625rem}.sm\:row-gap-3\.5{grid-row-gap:.875rem;row-gap:.875rem}.sm\:row-gap-1\/2{grid-row-gap:50%;row-gap:50%}.sm\:row-gap-1\/3{grid-row-gap:33.333333%;row-gap:33.333333%}.sm\:row-gap-2\/3{grid-row-gap:66.666667%;row-gap:66.666667%}.sm\:row-gap-1\/4{grid-row-gap:25%;row-gap:25%}.sm\:row-gap-2\/4{grid-row-gap:50%;row-gap:50%}.sm\:row-gap-3\/4{grid-row-gap:75%;row-gap:75%}.sm\:row-gap-1\/5{grid-row-gap:20%;row-gap:20%}.sm\:row-gap-2\/5{grid-row-gap:40%;row-gap:40%}.sm\:row-gap-3\/5{grid-row-gap:60%;row-gap:60%}.sm\:row-gap-4\/5{grid-row-gap:80%;row-gap:80%}.sm\:row-gap-1\/6{grid-row-gap:16.666667%;row-gap:16.666667%}.sm\:row-gap-2\/6{grid-row-gap:33.333333%;row-gap:33.333333%}.sm\:row-gap-3\/6{grid-row-gap:50%;row-gap:50%}.sm\:row-gap-4\/6{grid-row-gap:66.666667%;row-gap:66.666667%}.sm\:row-gap-5\/6{grid-row-gap:83.333333%;row-gap:83.333333%}.sm\:row-gap-1\/12{grid-row-gap:8.333333%;row-gap:8.333333%}.sm\:row-gap-2\/12{grid-row-gap:16.666667%;row-gap:16.666667%}.sm\:row-gap-3\/12{grid-row-gap:25%;row-gap:25%}.sm\:row-gap-4\/12{grid-row-gap:33.333333%;row-gap:33.333333%}.sm\:row-gap-5\/12{grid-row-gap:41.666667%;row-gap:41.666667%}.sm\:row-gap-6\/12{grid-row-gap:50%;row-gap:50%}.sm\:row-gap-7\/12{grid-row-gap:58.333333%;row-gap:58.333333%}.sm\:row-gap-8\/12{grid-row-gap:66.666667%;row-gap:66.666667%}.sm\:row-gap-9\/12{grid-row-gap:75%;row-gap:75%}.sm\:row-gap-10\/12{grid-row-gap:83.333333%;row-gap:83.333333%}.sm\:row-gap-11\/12{grid-row-gap:91.666667%;row-gap:91.666667%}.sm\:row-gap-full{grid-row-gap:100%;row-gap:100%}.sm\:grid-flow-row{grid-auto-flow:row}.sm\:grid-flow-col{grid-auto-flow:column}.sm\:grid-flow-row-dense{grid-auto-flow:row dense}.sm\:grid-flow-col-dense{grid-auto-flow:column dense}.sm\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.sm\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.sm\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.sm\:grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.sm\:grid-cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}.sm\:grid-cols-9{grid-template-columns:repeat(9,minmax(0,1fr))}.sm\:grid-cols-10{grid-template-columns:repeat(10,minmax(0,1fr))}.sm\:grid-cols-11{grid-template-columns:repeat(11,minmax(0,1fr))}.sm\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.sm\:grid-cols-none{grid-template-columns:none}.sm\:col-auto{grid-column:auto}.sm\:col-span-1{grid-column:span 1/span 1}.sm\:col-span-2{grid-column:span 2/span 2}.sm\:col-span-3{grid-column:span 3/span 3}.sm\:col-span-4{grid-column:span 4/span 4}.sm\:col-span-5{grid-column:span 5/span 5}.sm\:col-span-6{grid-column:span 6/span 6}.sm\:col-span-7{grid-column:span 7/span 7}.sm\:col-span-8{grid-column:span 8/span 8}.sm\:col-span-9{grid-column:span 9/span 9}.sm\:col-span-10{grid-column:span 10/span 10}.sm\:col-span-11{grid-column:span 11/span 11}.sm\:col-span-12{grid-column:span 12/span 12}.sm\:col-start-1{grid-column-start:1}.sm\:col-start-2{grid-column-start:2}.sm\:col-start-3{grid-column-start:3}.sm\:col-start-4{grid-column-start:4}.sm\:col-start-5{grid-column-start:5}.sm\:col-start-6{grid-column-start:6}.sm\:col-start-7{grid-column-start:7}.sm\:col-start-8{grid-column-start:8}.sm\:col-start-9{grid-column-start:9}.sm\:col-start-10{grid-column-start:10}.sm\:col-start-11{grid-column-start:11}.sm\:col-start-12{grid-column-start:12}.sm\:col-start-13{grid-column-start:13}.sm\:col-start-auto{grid-column-start:auto}.sm\:col-end-1{grid-column-end:1}.sm\:col-end-2{grid-column-end:2}.sm\:col-end-3{grid-column-end:3}.sm\:col-end-4{grid-column-end:4}.sm\:col-end-5{grid-column-end:5}.sm\:col-end-6{grid-column-end:6}.sm\:col-end-7{grid-column-end:7}.sm\:col-end-8{grid-column-end:8}.sm\:col-end-9{grid-column-end:9}.sm\:col-end-10{grid-column-end:10}.sm\:col-end-11{grid-column-end:11}.sm\:col-end-12{grid-column-end:12}.sm\:col-end-13{grid-column-end:13}.sm\:col-end-auto{grid-column-end:auto}.sm\:grid-rows-1{grid-template-rows:repeat(1,minmax(0,1fr))}.sm\:grid-rows-2{grid-template-rows:repeat(2,minmax(0,1fr))}.sm\:grid-rows-3{grid-template-rows:repeat(3,minmax(0,1fr))}.sm\:grid-rows-4{grid-template-rows:repeat(4,minmax(0,1fr))}.sm\:grid-rows-5{grid-template-rows:repeat(5,minmax(0,1fr))}.sm\:grid-rows-6{grid-template-rows:repeat(6,minmax(0,1fr))}.sm\:grid-rows-none{grid-template-rows:none}.sm\:row-auto{grid-row:auto}.sm\:row-span-1{grid-row:span 1/span 1}.sm\:row-span-2{grid-row:span 2/span 2}.sm\:row-span-3{grid-row:span 3/span 3}.sm\:row-span-4{grid-row:span 4/span 4}.sm\:row-span-5{grid-row:span 5/span 5}.sm\:row-span-6{grid-row:span 6/span 6}.sm\:row-start-1{grid-row-start:1}.sm\:row-start-2{grid-row-start:2}.sm\:row-start-3{grid-row-start:3}.sm\:row-start-4{grid-row-start:4}.sm\:row-start-5{grid-row-start:5}.sm\:row-start-6{grid-row-start:6}.sm\:row-start-7{grid-row-start:7}.sm\:row-start-auto{grid-row-start:auto}.sm\:row-end-1{grid-row-end:1}.sm\:row-end-2{grid-row-end:2}.sm\:row-end-3{grid-row-end:3}.sm\:row-end-4{grid-row-end:4}.sm\:row-end-5{grid-row-end:5}.sm\:row-end-6{grid-row-end:6}.sm\:row-end-7{grid-row-end:7}.sm\:row-end-auto{grid-row-end:auto}.sm\:transform{--transform-translate-x:0;--transform-translate-y:0;--transform-rotate:0;--transform-skew-x:0;--transform-skew-y:0;--transform-scale-x:1;--transform-scale-y:1;transform:translateX(var(--transform-translate-x)) translateY(var(--transform-translate-y)) rotate(var(--transform-rotate)) skewX(var(--transform-skew-x)) skewY(var(--transform-skew-y)) scaleX(var(--transform-scale-x)) scaleY(var(--transform-scale-y))}.sm\:transform-none{transform:none}.sm\:origin-center{transform-origin:center}.sm\:origin-top{transform-origin:top}.sm\:origin-top-right{transform-origin:top right}.sm\:origin-right{transform-origin:right}.sm\:origin-bottom-right{transform-origin:bottom right}.sm\:origin-bottom{transform-origin:bottom}.sm\:origin-bottom-left{transform-origin:bottom left}.sm\:origin-left{transform-origin:left}.sm\:origin-top-left{transform-origin:top left}.sm\:scale-0{--transform-scale-x:0;--transform-scale-y:0}.sm\:scale-50{--transform-scale-x:.5;--transform-scale-y:.5}.sm\:scale-75{--transform-scale-x:.75;--transform-scale-y:.75}.sm\:scale-90{--transform-scale-x:.9;--transform-scale-y:.9}.sm\:scale-95{--transform-scale-x:.95;--transform-scale-y:.95}.sm\:scale-100{--transform-scale-x:1;--transform-scale-y:1}.sm\:scale-105{--transform-scale-x:1.05;--transform-scale-y:1.05}.sm\:scale-110{--transform-scale-x:1.1;--transform-scale-y:1.1}.sm\:scale-125{--transform-scale-x:1.25;--transform-scale-y:1.25}.sm\:scale-150{--transform-scale-x:1.5;--transform-scale-y:1.5}.sm\:scale-x-0{--transform-scale-x:0}.sm\:scale-x-50{--transform-scale-x:.5}.sm\:scale-x-75{--transform-scale-x:.75}.sm\:scale-x-90{--transform-scale-x:.9}.sm\:scale-x-95{--transform-scale-x:.95}.sm\:scale-x-100{--transform-scale-x:1}.sm\:scale-x-105{--transform-scale-x:1.05}.sm\:scale-x-110{--transform-scale-x:1.1}.sm\:scale-x-125{--transform-scale-x:1.25}.sm\:scale-x-150{--transform-scale-x:1.5}.sm\:scale-y-0{--transform-scale-y:0}.sm\:scale-y-50{--transform-scale-y:.5}.sm\:scale-y-75{--transform-scale-y:.75}.sm\:scale-y-90{--transform-scale-y:.9}.sm\:scale-y-95{--transform-scale-y:.95}.sm\:scale-y-100{--transform-scale-y:1}.sm\:scale-y-105{--transform-scale-y:1.05}.sm\:scale-y-110{--transform-scale-y:1.1}.sm\:scale-y-125{--transform-scale-y:1.25}.sm\:scale-y-150{--transform-scale-y:1.5}.sm\:hover\:scale-0:hover{--transform-scale-x:0;--transform-scale-y:0}.sm\:hover\:scale-50:hover{--transform-scale-x:.5;--transform-scale-y:.5}.sm\:hover\:scale-75:hover{--transform-scale-x:.75;--transform-scale-y:.75}.sm\:hover\:scale-90:hover{--transform-scale-x:.9;--transform-scale-y:.9}.sm\:hover\:scale-95:hover{--transform-scale-x:.95;--transform-scale-y:.95}.sm\:hover\:scale-100:hover{--transform-scale-x:1;--transform-scale-y:1}.sm\:hover\:scale-105:hover{--transform-scale-x:1.05;--transform-scale-y:1.05}.sm\:hover\:scale-110:hover{--transform-scale-x:1.1;--transform-scale-y:1.1}.sm\:hover\:scale-125:hover{--transform-scale-x:1.25;--transform-scale-y:1.25}.sm\:hover\:scale-150:hover{--transform-scale-x:1.5;--transform-scale-y:1.5}.sm\:hover\:scale-x-0:hover{--transform-scale-x:0}.sm\:hover\:scale-x-50:hover{--transform-scale-x:.5}.sm\:hover\:scale-x-75:hover{--transform-scale-x:.75}.sm\:hover\:scale-x-90:hover{--transform-scale-x:.9}.sm\:hover\:scale-x-95:hover{--transform-scale-x:.95}.sm\:hover\:scale-x-100:hover{--transform-scale-x:1}.sm\:hover\:scale-x-105:hover{--transform-scale-x:1.05}.sm\:hover\:scale-x-110:hover{--transform-scale-x:1.1}.sm\:hover\:scale-x-125:hover{--transform-scale-x:1.25}.sm\:hover\:scale-x-150:hover{--transform-scale-x:1.5}.sm\:hover\:scale-y-0:hover{--transform-scale-y:0}.sm\:hover\:scale-y-50:hover{--transform-scale-y:.5}.sm\:hover\:scale-y-75:hover{--transform-scale-y:.75}.sm\:hover\:scale-y-90:hover{--transform-scale-y:.9}.sm\:hover\:scale-y-95:hover{--transform-scale-y:.95}.sm\:hover\:scale-y-100:hover{--transform-scale-y:1}.sm\:hover\:scale-y-105:hover{--transform-scale-y:1.05}.sm\:hover\:scale-y-110:hover{--transform-scale-y:1.1}.sm\:hover\:scale-y-125:hover{--transform-scale-y:1.25}.sm\:hover\:scale-y-150:hover{--transform-scale-y:1.5}.sm\:focus\:scale-0:focus{--transform-scale-x:0;--transform-scale-y:0}.sm\:focus\:scale-50:focus{--transform-scale-x:.5;--transform-scale-y:.5}.sm\:focus\:scale-75:focus{--transform-scale-x:.75;--transform-scale-y:.75}.sm\:focus\:scale-90:focus{--transform-scale-x:.9;--transform-scale-y:.9}.sm\:focus\:scale-95:focus{--transform-scale-x:.95;--transform-scale-y:.95}.sm\:focus\:scale-100:focus{--transform-scale-x:1;--transform-scale-y:1}.sm\:focus\:scale-105:focus{--transform-scale-x:1.05;--transform-scale-y:1.05}.sm\:focus\:scale-110:focus{--transform-scale-x:1.1;--transform-scale-y:1.1}.sm\:focus\:scale-125:focus{--transform-scale-x:1.25;--transform-scale-y:1.25}.sm\:focus\:scale-150:focus{--transform-scale-x:1.5;--transform-scale-y:1.5}.sm\:focus\:scale-x-0:focus{--transform-scale-x:0}.sm\:focus\:scale-x-50:focus{--transform-scale-x:.5}.sm\:focus\:scale-x-75:focus{--transform-scale-x:.75}.sm\:focus\:scale-x-90:focus{--transform-scale-x:.9}.sm\:focus\:scale-x-95:focus{--transform-scale-x:.95}.sm\:focus\:scale-x-100:focus{--transform-scale-x:1}.sm\:focus\:scale-x-105:focus{--transform-scale-x:1.05}.sm\:focus\:scale-x-110:focus{--transform-scale-x:1.1}.sm\:focus\:scale-x-125:focus{--transform-scale-x:1.25}.sm\:focus\:scale-x-150:focus{--transform-scale-x:1.5}.sm\:focus\:scale-y-0:focus{--transform-scale-y:0}.sm\:focus\:scale-y-50:focus{--transform-scale-y:.5}.sm\:focus\:scale-y-75:focus{--transform-scale-y:.75}.sm\:focus\:scale-y-90:focus{--transform-scale-y:.9}.sm\:focus\:scale-y-95:focus{--transform-scale-y:.95}.sm\:focus\:scale-y-100:focus{--transform-scale-y:1}.sm\:focus\:scale-y-105:focus{--transform-scale-y:1.05}.sm\:focus\:scale-y-110:focus{--transform-scale-y:1.1}.sm\:focus\:scale-y-125:focus{--transform-scale-y:1.25}.sm\:focus\:scale-y-150:focus{--transform-scale-y:1.5}.sm\:rotate-0{--transform-rotate:0}.sm\:rotate-45{--transform-rotate:45deg}.sm\:rotate-90{--transform-rotate:90deg}.sm\:rotate-180{--transform-rotate:180deg}.sm\:-rotate-180{--transform-rotate:-180deg}.sm\:-rotate-90{--transform-rotate:-90deg}.sm\:-rotate-45{--transform-rotate:-45deg}.sm\:hover\:rotate-0:hover{--transform-rotate:0}.sm\:hover\:rotate-45:hover{--transform-rotate:45deg}.sm\:hover\:rotate-90:hover{--transform-rotate:90deg}.sm\:hover\:rotate-180:hover{--transform-rotate:180deg}.sm\:hover\:-rotate-180:hover{--transform-rotate:-180deg}.sm\:hover\:-rotate-90:hover{--transform-rotate:-90deg}.sm\:hover\:-rotate-45:hover{--transform-rotate:-45deg}.sm\:focus\:rotate-0:focus{--transform-rotate:0}.sm\:focus\:rotate-45:focus{--transform-rotate:45deg}.sm\:focus\:rotate-90:focus{--transform-rotate:90deg}.sm\:focus\:rotate-180:focus{--transform-rotate:180deg}.sm\:focus\:-rotate-180:focus{--transform-rotate:-180deg}.sm\:focus\:-rotate-90:focus{--transform-rotate:-90deg}.sm\:focus\:-rotate-45:focus{--transform-rotate:-45deg}.sm\:translate-x-0{--transform-translate-x:0}.sm\:translate-x-1{--transform-translate-x:0.25rem}.sm\:translate-x-2{--transform-translate-x:0.5rem}.sm\:translate-x-3{--transform-translate-x:0.75rem}.sm\:translate-x-4{--transform-translate-x:1rem}.sm\:translate-x-5{--transform-translate-x:1.25rem}.sm\:translate-x-6{--transform-translate-x:1.5rem}.sm\:translate-x-7{--transform-translate-x:1.75rem}.sm\:translate-x-8{--transform-translate-x:2rem}.sm\:translate-x-9{--transform-translate-x:2.25rem}.sm\:translate-x-10{--transform-translate-x:2.5rem}.sm\:translate-x-11{--transform-translate-x:2.75rem}.sm\:translate-x-12{--transform-translate-x:3rem}.sm\:translate-x-13{--transform-translate-x:3.25rem}.sm\:translate-x-14{--transform-translate-x:3.5rem}.sm\:translate-x-15{--transform-translate-x:3.75rem}.sm\:translate-x-16{--transform-translate-x:4rem}.sm\:translate-x-20{--transform-translate-x:5rem}.sm\:translate-x-24{--transform-translate-x:6rem}.sm\:translate-x-28{--transform-translate-x:7rem}.sm\:translate-x-32{--transform-translate-x:8rem}.sm\:translate-x-36{--transform-translate-x:9rem}.sm\:translate-x-40{--transform-translate-x:10rem}.sm\:translate-x-44{--transform-translate-x:11rem}.sm\:translate-x-48{--transform-translate-x:12rem}.sm\:translate-x-52{--transform-translate-x:13rem}.sm\:translate-x-56{--transform-translate-x:14rem}.sm\:translate-x-60{--transform-translate-x:15rem}.sm\:translate-x-64{--transform-translate-x:16rem}.sm\:translate-x-72{--transform-translate-x:18rem}.sm\:translate-x-80{--transform-translate-x:20rem}.sm\:translate-x-96{--transform-translate-x:24rem}.sm\:translate-x-px{--transform-translate-x:1px}.sm\:translate-x-0\.5{--transform-translate-x:0.125rem}.sm\:translate-x-1\.5{--transform-translate-x:0.375rem}.sm\:translate-x-2\.5{--transform-translate-x:0.625rem}.sm\:translate-x-3\.5{--transform-translate-x:0.875rem}.sm\:translate-x-1\/2{--transform-translate-x:50%}.sm\:translate-x-1\/3{--transform-translate-x:33.333333%}.sm\:translate-x-2\/3{--transform-translate-x:66.666667%}.sm\:translate-x-1\/4{--transform-translate-x:25%}.sm\:translate-x-2\/4{--transform-translate-x:50%}.sm\:translate-x-3\/4{--transform-translate-x:75%}.sm\:translate-x-1\/5{--transform-translate-x:20%}.sm\:translate-x-2\/5{--transform-translate-x:40%}.sm\:translate-x-3\/5{--transform-translate-x:60%}.sm\:translate-x-4\/5{--transform-translate-x:80%}.sm\:translate-x-1\/6{--transform-translate-x:16.666667%}.sm\:translate-x-2\/6{--transform-translate-x:33.333333%}.sm\:translate-x-3\/6{--transform-translate-x:50%}.sm\:translate-x-4\/6{--transform-translate-x:66.666667%}.sm\:translate-x-5\/6{--transform-translate-x:83.333333%}.sm\:translate-x-1\/12{--transform-translate-x:8.333333%}.sm\:translate-x-2\/12{--transform-translate-x:16.666667%}.sm\:translate-x-3\/12{--transform-translate-x:25%}.sm\:translate-x-4\/12{--transform-translate-x:33.333333%}.sm\:translate-x-5\/12{--transform-translate-x:41.666667%}.sm\:translate-x-6\/12{--transform-translate-x:50%}.sm\:translate-x-7\/12{--transform-translate-x:58.333333%}.sm\:translate-x-8\/12{--transform-translate-x:66.666667%}.sm\:translate-x-9\/12{--transform-translate-x:75%}.sm\:translate-x-10\/12{--transform-translate-x:83.333333%}.sm\:translate-x-11\/12{--transform-translate-x:91.666667%}.sm\:translate-x-full{--transform-translate-x:100%}.sm\:-translate-x-1{--transform-translate-x:-0.25rem}.sm\:-translate-x-2{--transform-translate-x:-0.5rem}.sm\:-translate-x-3{--transform-translate-x:-0.75rem}.sm\:-translate-x-4{--transform-translate-x:-1rem}.sm\:-translate-x-5{--transform-translate-x:-1.25rem}.sm\:-translate-x-6{--transform-translate-x:-1.5rem}.sm\:-translate-x-7{--transform-translate-x:-1.75rem}.sm\:-translate-x-8{--transform-translate-x:-2rem}.sm\:-translate-x-9{--transform-translate-x:-2.25rem}.sm\:-translate-x-10{--transform-translate-x:-2.5rem}.sm\:-translate-x-11{--transform-translate-x:-2.75rem}.sm\:-translate-x-12{--transform-translate-x:-3rem}.sm\:-translate-x-13{--transform-translate-x:-3.25rem}.sm\:-translate-x-14{--transform-translate-x:-3.5rem}.sm\:-translate-x-15{--transform-translate-x:-3.75rem}.sm\:-translate-x-16{--transform-translate-x:-4rem}.sm\:-translate-x-20{--transform-translate-x:-5rem}.sm\:-translate-x-24{--transform-translate-x:-6rem}.sm\:-translate-x-28{--transform-translate-x:-7rem}.sm\:-translate-x-32{--transform-translate-x:-8rem}.sm\:-translate-x-36{--transform-translate-x:-9rem}.sm\:-translate-x-40{--transform-translate-x:-10rem}.sm\:-translate-x-44{--transform-translate-x:-11rem}.sm\:-translate-x-48{--transform-translate-x:-12rem}.sm\:-translate-x-52{--transform-translate-x:-13rem}.sm\:-translate-x-56{--transform-translate-x:-14rem}.sm\:-translate-x-60{--transform-translate-x:-15rem}.sm\:-translate-x-64{--transform-translate-x:-16rem}.sm\:-translate-x-72{--transform-translate-x:-18rem}.sm\:-translate-x-80{--transform-translate-x:-20rem}.sm\:-translate-x-96{--transform-translate-x:-24rem}.sm\:-translate-x-px{--transform-translate-x:-1px}.sm\:-translate-x-0\.5{--transform-translate-x:-0.125rem}.sm\:-translate-x-1\.5{--transform-translate-x:-0.375rem}.sm\:-translate-x-2\.5{--transform-translate-x:-0.625rem}.sm\:-translate-x-3\.5{--transform-translate-x:-0.875rem}.sm\:-translate-x-1\/2{--transform-translate-x:-50%}.sm\:-translate-x-1\/3{--transform-translate-x:-33.33333%}.sm\:-translate-x-2\/3{--transform-translate-x:-66.66667%}.sm\:-translate-x-1\/4{--transform-translate-x:-25%}.sm\:-translate-x-2\/4{--transform-translate-x:-50%}.sm\:-translate-x-3\/4{--transform-translate-x:-75%}.sm\:-translate-x-1\/5{--transform-translate-x:-20%}.sm\:-translate-x-2\/5{--transform-translate-x:-40%}.sm\:-translate-x-3\/5{--transform-translate-x:-60%}.sm\:-translate-x-4\/5{--transform-translate-x:-80%}.sm\:-translate-x-1\/6{--transform-translate-x:-16.66667%}.sm\:-translate-x-2\/6{--transform-translate-x:-33.33333%}.sm\:-translate-x-3\/6{--transform-translate-x:-50%}.sm\:-translate-x-4\/6{--transform-translate-x:-66.66667%}.sm\:-translate-x-5\/6{--transform-translate-x:-83.33333%}.sm\:-translate-x-1\/12{--transform-translate-x:-8.33333%}.sm\:-translate-x-2\/12{--transform-translate-x:-16.66667%}.sm\:-translate-x-3\/12{--transform-translate-x:-25%}.sm\:-translate-x-4\/12{--transform-translate-x:-33.33333%}.sm\:-translate-x-5\/12{--transform-translate-x:-41.66667%}.sm\:-translate-x-6\/12{--transform-translate-x:-50%}.sm\:-translate-x-7\/12{--transform-translate-x:-58.33333%}.sm\:-translate-x-8\/12{--transform-translate-x:-66.66667%}.sm\:-translate-x-9\/12{--transform-translate-x:-75%}.sm\:-translate-x-10\/12{--transform-translate-x:-83.33333%}.sm\:-translate-x-11\/12{--transform-translate-x:-91.66667%}.sm\:-translate-x-full{--transform-translate-x:-100%}.sm\:translate-y-0{--transform-translate-y:0}.sm\:translate-y-1{--transform-translate-y:0.25rem}.sm\:translate-y-2{--transform-translate-y:0.5rem}.sm\:translate-y-3{--transform-translate-y:0.75rem}.sm\:translate-y-4{--transform-translate-y:1rem}.sm\:translate-y-5{--transform-translate-y:1.25rem}.sm\:translate-y-6{--transform-translate-y:1.5rem}.sm\:translate-y-7{--transform-translate-y:1.75rem}.sm\:translate-y-8{--transform-translate-y:2rem}.sm\:translate-y-9{--transform-translate-y:2.25rem}.sm\:translate-y-10{--transform-translate-y:2.5rem}.sm\:translate-y-11{--transform-translate-y:2.75rem}.sm\:translate-y-12{--transform-translate-y:3rem}.sm\:translate-y-13{--transform-translate-y:3.25rem}.sm\:translate-y-14{--transform-translate-y:3.5rem}.sm\:translate-y-15{--transform-translate-y:3.75rem}.sm\:translate-y-16{--transform-translate-y:4rem}.sm\:translate-y-20{--transform-translate-y:5rem}.sm\:translate-y-24{--transform-translate-y:6rem}.sm\:translate-y-28{--transform-translate-y:7rem}.sm\:translate-y-32{--transform-translate-y:8rem}.sm\:translate-y-36{--transform-translate-y:9rem}.sm\:translate-y-40{--transform-translate-y:10rem}.sm\:translate-y-44{--transform-translate-y:11rem}.sm\:translate-y-48{--transform-translate-y:12rem}.sm\:translate-y-52{--transform-translate-y:13rem}.sm\:translate-y-56{--transform-translate-y:14rem}.sm\:translate-y-60{--transform-translate-y:15rem}.sm\:translate-y-64{--transform-translate-y:16rem}.sm\:translate-y-72{--transform-translate-y:18rem}.sm\:translate-y-80{--transform-translate-y:20rem}.sm\:translate-y-96{--transform-translate-y:24rem}.sm\:translate-y-px{--transform-translate-y:1px}.sm\:translate-y-0\.5{--transform-translate-y:0.125rem}.sm\:translate-y-1\.5{--transform-translate-y:0.375rem}.sm\:translate-y-2\.5{--transform-translate-y:0.625rem}.sm\:translate-y-3\.5{--transform-translate-y:0.875rem}.sm\:translate-y-1\/2{--transform-translate-y:50%}.sm\:translate-y-1\/3{--transform-translate-y:33.333333%}.sm\:translate-y-2\/3{--transform-translate-y:66.666667%}.sm\:translate-y-1\/4{--transform-translate-y:25%}.sm\:translate-y-2\/4{--transform-translate-y:50%}.sm\:translate-y-3\/4{--transform-translate-y:75%}.sm\:translate-y-1\/5{--transform-translate-y:20%}.sm\:translate-y-2\/5{--transform-translate-y:40%}.sm\:translate-y-3\/5{--transform-translate-y:60%}.sm\:translate-y-4\/5{--transform-translate-y:80%}.sm\:translate-y-1\/6{--transform-translate-y:16.666667%}.sm\:translate-y-2\/6{--transform-translate-y:33.333333%}.sm\:translate-y-3\/6{--transform-translate-y:50%}.sm\:translate-y-4\/6{--transform-translate-y:66.666667%}.sm\:translate-y-5\/6{--transform-translate-y:83.333333%}.sm\:translate-y-1\/12{--transform-translate-y:8.333333%}.sm\:translate-y-2\/12{--transform-translate-y:16.666667%}.sm\:translate-y-3\/12{--transform-translate-y:25%}.sm\:translate-y-4\/12{--transform-translate-y:33.333333%}.sm\:translate-y-5\/12{--transform-translate-y:41.666667%}.sm\:translate-y-6\/12{--transform-translate-y:50%}.sm\:translate-y-7\/12{--transform-translate-y:58.333333%}.sm\:translate-y-8\/12{--transform-translate-y:66.666667%}.sm\:translate-y-9\/12{--transform-translate-y:75%}.sm\:translate-y-10\/12{--transform-translate-y:83.333333%}.sm\:translate-y-11\/12{--transform-translate-y:91.666667%}.sm\:translate-y-full{--transform-translate-y:100%}.sm\:-translate-y-1{--transform-translate-y:-0.25rem}.sm\:-translate-y-2{--transform-translate-y:-0.5rem}.sm\:-translate-y-3{--transform-translate-y:-0.75rem}.sm\:-translate-y-4{--transform-translate-y:-1rem}.sm\:-translate-y-5{--transform-translate-y:-1.25rem}.sm\:-translate-y-6{--transform-translate-y:-1.5rem}.sm\:-translate-y-7{--transform-translate-y:-1.75rem}.sm\:-translate-y-8{--transform-translate-y:-2rem}.sm\:-translate-y-9{--transform-translate-y:-2.25rem}.sm\:-translate-y-10{--transform-translate-y:-2.5rem}.sm\:-translate-y-11{--transform-translate-y:-2.75rem}.sm\:-translate-y-12{--transform-translate-y:-3rem}.sm\:-translate-y-13{--transform-translate-y:-3.25rem}.sm\:-translate-y-14{--transform-translate-y:-3.5rem}.sm\:-translate-y-15{--transform-translate-y:-3.75rem}.sm\:-translate-y-16{--transform-translate-y:-4rem}.sm\:-translate-y-20{--transform-translate-y:-5rem}.sm\:-translate-y-24{--transform-translate-y:-6rem}.sm\:-translate-y-28{--transform-translate-y:-7rem}.sm\:-translate-y-32{--transform-translate-y:-8rem}.sm\:-translate-y-36{--transform-translate-y:-9rem}.sm\:-translate-y-40{--transform-translate-y:-10rem}.sm\:-translate-y-44{--transform-translate-y:-11rem}.sm\:-translate-y-48{--transform-translate-y:-12rem}.sm\:-translate-y-52{--transform-translate-y:-13rem}.sm\:-translate-y-56{--transform-translate-y:-14rem}.sm\:-translate-y-60{--transform-translate-y:-15rem}.sm\:-translate-y-64{--transform-translate-y:-16rem}.sm\:-translate-y-72{--transform-translate-y:-18rem}.sm\:-translate-y-80{--transform-translate-y:-20rem}.sm\:-translate-y-96{--transform-translate-y:-24rem}.sm\:-translate-y-px{--transform-translate-y:-1px}.sm\:-translate-y-0\.5{--transform-translate-y:-0.125rem}.sm\:-translate-y-1\.5{--transform-translate-y:-0.375rem}.sm\:-translate-y-2\.5{--transform-translate-y:-0.625rem}.sm\:-translate-y-3\.5{--transform-translate-y:-0.875rem}.sm\:-translate-y-1\/2{--transform-translate-y:-50%}.sm\:-translate-y-1\/3{--transform-translate-y:-33.33333%}.sm\:-translate-y-2\/3{--transform-translate-y:-66.66667%}.sm\:-translate-y-1\/4{--transform-translate-y:-25%}.sm\:-translate-y-2\/4{--transform-translate-y:-50%}.sm\:-translate-y-3\/4{--transform-translate-y:-75%}.sm\:-translate-y-1\/5{--transform-translate-y:-20%}.sm\:-translate-y-2\/5{--transform-translate-y:-40%}.sm\:-translate-y-3\/5{--transform-translate-y:-60%}.sm\:-translate-y-4\/5{--transform-translate-y:-80%}.sm\:-translate-y-1\/6{--transform-translate-y:-16.66667%}.sm\:-translate-y-2\/6{--transform-translate-y:-33.33333%}.sm\:-translate-y-3\/6{--transform-translate-y:-50%}.sm\:-translate-y-4\/6{--transform-translate-y:-66.66667%}.sm\:-translate-y-5\/6{--transform-translate-y:-83.33333%}.sm\:-translate-y-1\/12{--transform-translate-y:-8.33333%}.sm\:-translate-y-2\/12{--transform-translate-y:-16.66667%}.sm\:-translate-y-3\/12{--transform-translate-y:-25%}.sm\:-translate-y-4\/12{--transform-translate-y:-33.33333%}.sm\:-translate-y-5\/12{--transform-translate-y:-41.66667%}.sm\:-translate-y-6\/12{--transform-translate-y:-50%}.sm\:-translate-y-7\/12{--transform-translate-y:-58.33333%}.sm\:-translate-y-8\/12{--transform-translate-y:-66.66667%}.sm\:-translate-y-9\/12{--transform-translate-y:-75%}.sm\:-translate-y-10\/12{--transform-translate-y:-83.33333%}.sm\:-translate-y-11\/12{--transform-translate-y:-91.66667%}.sm\:-translate-y-full{--transform-translate-y:-100%}.sm\:hover\:translate-x-0:hover{--transform-translate-x:0}.sm\:hover\:translate-x-1:hover{--transform-translate-x:0.25rem}.sm\:hover\:translate-x-2:hover{--transform-translate-x:0.5rem}.sm\:hover\:translate-x-3:hover{--transform-translate-x:0.75rem}.sm\:hover\:translate-x-4:hover{--transform-translate-x:1rem}.sm\:hover\:translate-x-5:hover{--transform-translate-x:1.25rem}.sm\:hover\:translate-x-6:hover{--transform-translate-x:1.5rem}.sm\:hover\:translate-x-7:hover{--transform-translate-x:1.75rem}.sm\:hover\:translate-x-8:hover{--transform-translate-x:2rem}.sm\:hover\:translate-x-9:hover{--transform-translate-x:2.25rem}.sm\:hover\:translate-x-10:hover{--transform-translate-x:2.5rem}.sm\:hover\:translate-x-11:hover{--transform-translate-x:2.75rem}.sm\:hover\:translate-x-12:hover{--transform-translate-x:3rem}.sm\:hover\:translate-x-13:hover{--transform-translate-x:3.25rem}.sm\:hover\:translate-x-14:hover{--transform-translate-x:3.5rem}.sm\:hover\:translate-x-15:hover{--transform-translate-x:3.75rem}.sm\:hover\:translate-x-16:hover{--transform-translate-x:4rem}.sm\:hover\:translate-x-20:hover{--transform-translate-x:5rem}.sm\:hover\:translate-x-24:hover{--transform-translate-x:6rem}.sm\:hover\:translate-x-28:hover{--transform-translate-x:7rem}.sm\:hover\:translate-x-32:hover{--transform-translate-x:8rem}.sm\:hover\:translate-x-36:hover{--transform-translate-x:9rem}.sm\:hover\:translate-x-40:hover{--transform-translate-x:10rem}.sm\:hover\:translate-x-44:hover{--transform-translate-x:11rem}.sm\:hover\:translate-x-48:hover{--transform-translate-x:12rem}.sm\:hover\:translate-x-52:hover{--transform-translate-x:13rem}.sm\:hover\:translate-x-56:hover{--transform-translate-x:14rem}.sm\:hover\:translate-x-60:hover{--transform-translate-x:15rem}.sm\:hover\:translate-x-64:hover{--transform-translate-x:16rem}.sm\:hover\:translate-x-72:hover{--transform-translate-x:18rem}.sm\:hover\:translate-x-80:hover{--transform-translate-x:20rem}.sm\:hover\:translate-x-96:hover{--transform-translate-x:24rem}.sm\:hover\:translate-x-px:hover{--transform-translate-x:1px}.sm\:hover\:translate-x-0\.5:hover{--transform-translate-x:0.125rem}.sm\:hover\:translate-x-1\.5:hover{--transform-translate-x:0.375rem}.sm\:hover\:translate-x-2\.5:hover{--transform-translate-x:0.625rem}.sm\:hover\:translate-x-3\.5:hover{--transform-translate-x:0.875rem}.sm\:hover\:translate-x-1\/2:hover{--transform-translate-x:50%}.sm\:hover\:translate-x-1\/3:hover{--transform-translate-x:33.333333%}.sm\:hover\:translate-x-2\/3:hover{--transform-translate-x:66.666667%}.sm\:hover\:translate-x-1\/4:hover{--transform-translate-x:25%}.sm\:hover\:translate-x-2\/4:hover{--transform-translate-x:50%}.sm\:hover\:translate-x-3\/4:hover{--transform-translate-x:75%}.sm\:hover\:translate-x-1\/5:hover{--transform-translate-x:20%}.sm\:hover\:translate-x-2\/5:hover{--transform-translate-x:40%}.sm\:hover\:translate-x-3\/5:hover{--transform-translate-x:60%}.sm\:hover\:translate-x-4\/5:hover{--transform-translate-x:80%}.sm\:hover\:translate-x-1\/6:hover{--transform-translate-x:16.666667%}.sm\:hover\:translate-x-2\/6:hover{--transform-translate-x:33.333333%}.sm\:hover\:translate-x-3\/6:hover{--transform-translate-x:50%}.sm\:hover\:translate-x-4\/6:hover{--transform-translate-x:66.666667%}.sm\:hover\:translate-x-5\/6:hover{--transform-translate-x:83.333333%}.sm\:hover\:translate-x-1\/12:hover{--transform-translate-x:8.333333%}.sm\:hover\:translate-x-2\/12:hover{--transform-translate-x:16.666667%}.sm\:hover\:translate-x-3\/12:hover{--transform-translate-x:25%}.sm\:hover\:translate-x-4\/12:hover{--transform-translate-x:33.333333%}.sm\:hover\:translate-x-5\/12:hover{--transform-translate-x:41.666667%}.sm\:hover\:translate-x-6\/12:hover{--transform-translate-x:50%}.sm\:hover\:translate-x-7\/12:hover{--transform-translate-x:58.333333%}.sm\:hover\:translate-x-8\/12:hover{--transform-translate-x:66.666667%}.sm\:hover\:translate-x-9\/12:hover{--transform-translate-x:75%}.sm\:hover\:translate-x-10\/12:hover{--transform-translate-x:83.333333%}.sm\:hover\:translate-x-11\/12:hover{--transform-translate-x:91.666667%}.sm\:hover\:translate-x-full:hover{--transform-translate-x:100%}.sm\:hover\:-translate-x-1:hover{--transform-translate-x:-0.25rem}.sm\:hover\:-translate-x-2:hover{--transform-translate-x:-0.5rem}.sm\:hover\:-translate-x-3:hover{--transform-translate-x:-0.75rem}.sm\:hover\:-translate-x-4:hover{--transform-translate-x:-1rem}.sm\:hover\:-translate-x-5:hover{--transform-translate-x:-1.25rem}.sm\:hover\:-translate-x-6:hover{--transform-translate-x:-1.5rem}.sm\:hover\:-translate-x-7:hover{--transform-translate-x:-1.75rem}.sm\:hover\:-translate-x-8:hover{--transform-translate-x:-2rem}.sm\:hover\:-translate-x-9:hover{--transform-translate-x:-2.25rem}.sm\:hover\:-translate-x-10:hover{--transform-translate-x:-2.5rem}.sm\:hover\:-translate-x-11:hover{--transform-translate-x:-2.75rem}.sm\:hover\:-translate-x-12:hover{--transform-translate-x:-3rem}.sm\:hover\:-translate-x-13:hover{--transform-translate-x:-3.25rem}.sm\:hover\:-translate-x-14:hover{--transform-translate-x:-3.5rem}.sm\:hover\:-translate-x-15:hover{--transform-translate-x:-3.75rem}.sm\:hover\:-translate-x-16:hover{--transform-translate-x:-4rem}.sm\:hover\:-translate-x-20:hover{--transform-translate-x:-5rem}.sm\:hover\:-translate-x-24:hover{--transform-translate-x:-6rem}.sm\:hover\:-translate-x-28:hover{--transform-translate-x:-7rem}.sm\:hover\:-translate-x-32:hover{--transform-translate-x:-8rem}.sm\:hover\:-translate-x-36:hover{--transform-translate-x:-9rem}.sm\:hover\:-translate-x-40:hover{--transform-translate-x:-10rem}.sm\:hover\:-translate-x-44:hover{--transform-translate-x:-11rem}.sm\:hover\:-translate-x-48:hover{--transform-translate-x:-12rem}.sm\:hover\:-translate-x-52:hover{--transform-translate-x:-13rem}.sm\:hover\:-translate-x-56:hover{--transform-translate-x:-14rem}.sm\:hover\:-translate-x-60:hover{--transform-translate-x:-15rem}.sm\:hover\:-translate-x-64:hover{--transform-translate-x:-16rem}.sm\:hover\:-translate-x-72:hover{--transform-translate-x:-18rem}.sm\:hover\:-translate-x-80:hover{--transform-translate-x:-20rem}.sm\:hover\:-translate-x-96:hover{--transform-translate-x:-24rem}.sm\:hover\:-translate-x-px:hover{--transform-translate-x:-1px}.sm\:hover\:-translate-x-0\.5:hover{--transform-translate-x:-0.125rem}.sm\:hover\:-translate-x-1\.5:hover{--transform-translate-x:-0.375rem}.sm\:hover\:-translate-x-2\.5:hover{--transform-translate-x:-0.625rem}.sm\:hover\:-translate-x-3\.5:hover{--transform-translate-x:-0.875rem}.sm\:hover\:-translate-x-1\/2:hover{--transform-translate-x:-50%}.sm\:hover\:-translate-x-1\/3:hover{--transform-translate-x:-33.33333%}.sm\:hover\:-translate-x-2\/3:hover{--transform-translate-x:-66.66667%}.sm\:hover\:-translate-x-1\/4:hover{--transform-translate-x:-25%}.sm\:hover\:-translate-x-2\/4:hover{--transform-translate-x:-50%}.sm\:hover\:-translate-x-3\/4:hover{--transform-translate-x:-75%}.sm\:hover\:-translate-x-1\/5:hover{--transform-translate-x:-20%}.sm\:hover\:-translate-x-2\/5:hover{--transform-translate-x:-40%}.sm\:hover\:-translate-x-3\/5:hover{--transform-translate-x:-60%}.sm\:hover\:-translate-x-4\/5:hover{--transform-translate-x:-80%}.sm\:hover\:-translate-x-1\/6:hover{--transform-translate-x:-16.66667%}.sm\:hover\:-translate-x-2\/6:hover{--transform-translate-x:-33.33333%}.sm\:hover\:-translate-x-3\/6:hover{--transform-translate-x:-50%}.sm\:hover\:-translate-x-4\/6:hover{--transform-translate-x:-66.66667%}.sm\:hover\:-translate-x-5\/6:hover{--transform-translate-x:-83.33333%}.sm\:hover\:-translate-x-1\/12:hover{--transform-translate-x:-8.33333%}.sm\:hover\:-translate-x-2\/12:hover{--transform-translate-x:-16.66667%}.sm\:hover\:-translate-x-3\/12:hover{--transform-translate-x:-25%}.sm\:hover\:-translate-x-4\/12:hover{--transform-translate-x:-33.33333%}.sm\:hover\:-translate-x-5\/12:hover{--transform-translate-x:-41.66667%}.sm\:hover\:-translate-x-6\/12:hover{--transform-translate-x:-50%}.sm\:hover\:-translate-x-7\/12:hover{--transform-translate-x:-58.33333%}.sm\:hover\:-translate-x-8\/12:hover{--transform-translate-x:-66.66667%}.sm\:hover\:-translate-x-9\/12:hover{--transform-translate-x:-75%}.sm\:hover\:-translate-x-10\/12:hover{--transform-translate-x:-83.33333%}.sm\:hover\:-translate-x-11\/12:hover{--transform-translate-x:-91.66667%}.sm\:hover\:-translate-x-full:hover{--transform-translate-x:-100%}.sm\:hover\:translate-y-0:hover{--transform-translate-y:0}.sm\:hover\:translate-y-1:hover{--transform-translate-y:0.25rem}.sm\:hover\:translate-y-2:hover{--transform-translate-y:0.5rem}.sm\:hover\:translate-y-3:hover{--transform-translate-y:0.75rem}.sm\:hover\:translate-y-4:hover{--transform-translate-y:1rem}.sm\:hover\:translate-y-5:hover{--transform-translate-y:1.25rem}.sm\:hover\:translate-y-6:hover{--transform-translate-y:1.5rem}.sm\:hover\:translate-y-7:hover{--transform-translate-y:1.75rem}.sm\:hover\:translate-y-8:hover{--transform-translate-y:2rem}.sm\:hover\:translate-y-9:hover{--transform-translate-y:2.25rem}.sm\:hover\:translate-y-10:hover{--transform-translate-y:2.5rem}.sm\:hover\:translate-y-11:hover{--transform-translate-y:2.75rem}.sm\:hover\:translate-y-12:hover{--transform-translate-y:3rem}.sm\:hover\:translate-y-13:hover{--transform-translate-y:3.25rem}.sm\:hover\:translate-y-14:hover{--transform-translate-y:3.5rem}.sm\:hover\:translate-y-15:hover{--transform-translate-y:3.75rem}.sm\:hover\:translate-y-16:hover{--transform-translate-y:4rem}.sm\:hover\:translate-y-20:hover{--transform-translate-y:5rem}.sm\:hover\:translate-y-24:hover{--transform-translate-y:6rem}.sm\:hover\:translate-y-28:hover{--transform-translate-y:7rem}.sm\:hover\:translate-y-32:hover{--transform-translate-y:8rem}.sm\:hover\:translate-y-36:hover{--transform-translate-y:9rem}.sm\:hover\:translate-y-40:hover{--transform-translate-y:10rem}.sm\:hover\:translate-y-44:hover{--transform-translate-y:11rem}.sm\:hover\:translate-y-48:hover{--transform-translate-y:12rem}.sm\:hover\:translate-y-52:hover{--transform-translate-y:13rem}.sm\:hover\:translate-y-56:hover{--transform-translate-y:14rem}.sm\:hover\:translate-y-60:hover{--transform-translate-y:15rem}.sm\:hover\:translate-y-64:hover{--transform-translate-y:16rem}.sm\:hover\:translate-y-72:hover{--transform-translate-y:18rem}.sm\:hover\:translate-y-80:hover{--transform-translate-y:20rem}.sm\:hover\:translate-y-96:hover{--transform-translate-y:24rem}.sm\:hover\:translate-y-px:hover{--transform-translate-y:1px}.sm\:hover\:translate-y-0\.5:hover{--transform-translate-y:0.125rem}.sm\:hover\:translate-y-1\.5:hover{--transform-translate-y:0.375rem}.sm\:hover\:translate-y-2\.5:hover{--transform-translate-y:0.625rem}.sm\:hover\:translate-y-3\.5:hover{--transform-translate-y:0.875rem}.sm\:hover\:translate-y-1\/2:hover{--transform-translate-y:50%}.sm\:hover\:translate-y-1\/3:hover{--transform-translate-y:33.333333%}.sm\:hover\:translate-y-2\/3:hover{--transform-translate-y:66.666667%}.sm\:hover\:translate-y-1\/4:hover{--transform-translate-y:25%}.sm\:hover\:translate-y-2\/4:hover{--transform-translate-y:50%}.sm\:hover\:translate-y-3\/4:hover{--transform-translate-y:75%}.sm\:hover\:translate-y-1\/5:hover{--transform-translate-y:20%}.sm\:hover\:translate-y-2\/5:hover{--transform-translate-y:40%}.sm\:hover\:translate-y-3\/5:hover{--transform-translate-y:60%}.sm\:hover\:translate-y-4\/5:hover{--transform-translate-y:80%}.sm\:hover\:translate-y-1\/6:hover{--transform-translate-y:16.666667%}.sm\:hover\:translate-y-2\/6:hover{--transform-translate-y:33.333333%}.sm\:hover\:translate-y-3\/6:hover{--transform-translate-y:50%}.sm\:hover\:translate-y-4\/6:hover{--transform-translate-y:66.666667%}.sm\:hover\:translate-y-5\/6:hover{--transform-translate-y:83.333333%}.sm\:hover\:translate-y-1\/12:hover{--transform-translate-y:8.333333%}.sm\:hover\:translate-y-2\/12:hover{--transform-translate-y:16.666667%}.sm\:hover\:translate-y-3\/12:hover{--transform-translate-y:25%}.sm\:hover\:translate-y-4\/12:hover{--transform-translate-y:33.333333%}.sm\:hover\:translate-y-5\/12:hover{--transform-translate-y:41.666667%}.sm\:hover\:translate-y-6\/12:hover{--transform-translate-y:50%}.sm\:hover\:translate-y-7\/12:hover{--transform-translate-y:58.333333%}.sm\:hover\:translate-y-8\/12:hover{--transform-translate-y:66.666667%}.sm\:hover\:translate-y-9\/12:hover{--transform-translate-y:75%}.sm\:hover\:translate-y-10\/12:hover{--transform-translate-y:83.333333%}.sm\:hover\:translate-y-11\/12:hover{--transform-translate-y:91.666667%}.sm\:hover\:translate-y-full:hover{--transform-translate-y:100%}.sm\:hover\:-translate-y-1:hover{--transform-translate-y:-0.25rem}.sm\:hover\:-translate-y-2:hover{--transform-translate-y:-0.5rem}.sm\:hover\:-translate-y-3:hover{--transform-translate-y:-0.75rem}.sm\:hover\:-translate-y-4:hover{--transform-translate-y:-1rem}.sm\:hover\:-translate-y-5:hover{--transform-translate-y:-1.25rem}.sm\:hover\:-translate-y-6:hover{--transform-translate-y:-1.5rem}.sm\:hover\:-translate-y-7:hover{--transform-translate-y:-1.75rem}.sm\:hover\:-translate-y-8:hover{--transform-translate-y:-2rem}.sm\:hover\:-translate-y-9:hover{--transform-translate-y:-2.25rem}.sm\:hover\:-translate-y-10:hover{--transform-translate-y:-2.5rem}.sm\:hover\:-translate-y-11:hover{--transform-translate-y:-2.75rem}.sm\:hover\:-translate-y-12:hover{--transform-translate-y:-3rem}.sm\:hover\:-translate-y-13:hover{--transform-translate-y:-3.25rem}.sm\:hover\:-translate-y-14:hover{--transform-translate-y:-3.5rem}.sm\:hover\:-translate-y-15:hover{--transform-translate-y:-3.75rem}.sm\:hover\:-translate-y-16:hover{--transform-translate-y:-4rem}.sm\:hover\:-translate-y-20:hover{--transform-translate-y:-5rem}.sm\:hover\:-translate-y-24:hover{--transform-translate-y:-6rem}.sm\:hover\:-translate-y-28:hover{--transform-translate-y:-7rem}.sm\:hover\:-translate-y-32:hover{--transform-translate-y:-8rem}.sm\:hover\:-translate-y-36:hover{--transform-translate-y:-9rem}.sm\:hover\:-translate-y-40:hover{--transform-translate-y:-10rem}.sm\:hover\:-translate-y-44:hover{--transform-translate-y:-11rem}.sm\:hover\:-translate-y-48:hover{--transform-translate-y:-12rem}.sm\:hover\:-translate-y-52:hover{--transform-translate-y:-13rem}.sm\:hover\:-translate-y-56:hover{--transform-translate-y:-14rem}.sm\:hover\:-translate-y-60:hover{--transform-translate-y:-15rem}.sm\:hover\:-translate-y-64:hover{--transform-translate-y:-16rem}.sm\:hover\:-translate-y-72:hover{--transform-translate-y:-18rem}.sm\:hover\:-translate-y-80:hover{--transform-translate-y:-20rem}.sm\:hover\:-translate-y-96:hover{--transform-translate-y:-24rem}.sm\:hover\:-translate-y-px:hover{--transform-translate-y:-1px}.sm\:hover\:-translate-y-0\.5:hover{--transform-translate-y:-0.125rem}.sm\:hover\:-translate-y-1\.5:hover{--transform-translate-y:-0.375rem}.sm\:hover\:-translate-y-2\.5:hover{--transform-translate-y:-0.625rem}.sm\:hover\:-translate-y-3\.5:hover{--transform-translate-y:-0.875rem}.sm\:hover\:-translate-y-1\/2:hover{--transform-translate-y:-50%}.sm\:hover\:-translate-y-1\/3:hover{--transform-translate-y:-33.33333%}.sm\:hover\:-translate-y-2\/3:hover{--transform-translate-y:-66.66667%}.sm\:hover\:-translate-y-1\/4:hover{--transform-translate-y:-25%}.sm\:hover\:-translate-y-2\/4:hover{--transform-translate-y:-50%}.sm\:hover\:-translate-y-3\/4:hover{--transform-translate-y:-75%}.sm\:hover\:-translate-y-1\/5:hover{--transform-translate-y:-20%}.sm\:hover\:-translate-y-2\/5:hover{--transform-translate-y:-40%}.sm\:hover\:-translate-y-3\/5:hover{--transform-translate-y:-60%}.sm\:hover\:-translate-y-4\/5:hover{--transform-translate-y:-80%}.sm\:hover\:-translate-y-1\/6:hover{--transform-translate-y:-16.66667%}.sm\:hover\:-translate-y-2\/6:hover{--transform-translate-y:-33.33333%}.sm\:hover\:-translate-y-3\/6:hover{--transform-translate-y:-50%}.sm\:hover\:-translate-y-4\/6:hover{--transform-translate-y:-66.66667%}.sm\:hover\:-translate-y-5\/6:hover{--transform-translate-y:-83.33333%}.sm\:hover\:-translate-y-1\/12:hover{--transform-translate-y:-8.33333%}.sm\:hover\:-translate-y-2\/12:hover{--transform-translate-y:-16.66667%}.sm\:hover\:-translate-y-3\/12:hover{--transform-translate-y:-25%}.sm\:hover\:-translate-y-4\/12:hover{--transform-translate-y:-33.33333%}.sm\:hover\:-translate-y-5\/12:hover{--transform-translate-y:-41.66667%}.sm\:hover\:-translate-y-6\/12:hover{--transform-translate-y:-50%}.sm\:hover\:-translate-y-7\/12:hover{--transform-translate-y:-58.33333%}.sm\:hover\:-translate-y-8\/12:hover{--transform-translate-y:-66.66667%}.sm\:hover\:-translate-y-9\/12:hover{--transform-translate-y:-75%}.sm\:hover\:-translate-y-10\/12:hover{--transform-translate-y:-83.33333%}.sm\:hover\:-translate-y-11\/12:hover{--transform-translate-y:-91.66667%}.sm\:hover\:-translate-y-full:hover{--transform-translate-y:-100%}.sm\:focus\:translate-x-0:focus{--transform-translate-x:0}.sm\:focus\:translate-x-1:focus{--transform-translate-x:0.25rem}.sm\:focus\:translate-x-2:focus{--transform-translate-x:0.5rem}.sm\:focus\:translate-x-3:focus{--transform-translate-x:0.75rem}.sm\:focus\:translate-x-4:focus{--transform-translate-x:1rem}.sm\:focus\:translate-x-5:focus{--transform-translate-x:1.25rem}.sm\:focus\:translate-x-6:focus{--transform-translate-x:1.5rem}.sm\:focus\:translate-x-7:focus{--transform-translate-x:1.75rem}.sm\:focus\:translate-x-8:focus{--transform-translate-x:2rem}.sm\:focus\:translate-x-9:focus{--transform-translate-x:2.25rem}.sm\:focus\:translate-x-10:focus{--transform-translate-x:2.5rem}.sm\:focus\:translate-x-11:focus{--transform-translate-x:2.75rem}.sm\:focus\:translate-x-12:focus{--transform-translate-x:3rem}.sm\:focus\:translate-x-13:focus{--transform-translate-x:3.25rem}.sm\:focus\:translate-x-14:focus{--transform-translate-x:3.5rem}.sm\:focus\:translate-x-15:focus{--transform-translate-x:3.75rem}.sm\:focus\:translate-x-16:focus{--transform-translate-x:4rem}.sm\:focus\:translate-x-20:focus{--transform-translate-x:5rem}.sm\:focus\:translate-x-24:focus{--transform-translate-x:6rem}.sm\:focus\:translate-x-28:focus{--transform-translate-x:7rem}.sm\:focus\:translate-x-32:focus{--transform-translate-x:8rem}.sm\:focus\:translate-x-36:focus{--transform-translate-x:9rem}.sm\:focus\:translate-x-40:focus{--transform-translate-x:10rem}.sm\:focus\:translate-x-44:focus{--transform-translate-x:11rem}.sm\:focus\:translate-x-48:focus{--transform-translate-x:12rem}.sm\:focus\:translate-x-52:focus{--transform-translate-x:13rem}.sm\:focus\:translate-x-56:focus{--transform-translate-x:14rem}.sm\:focus\:translate-x-60:focus{--transform-translate-x:15rem}.sm\:focus\:translate-x-64:focus{--transform-translate-x:16rem}.sm\:focus\:translate-x-72:focus{--transform-translate-x:18rem}.sm\:focus\:translate-x-80:focus{--transform-translate-x:20rem}.sm\:focus\:translate-x-96:focus{--transform-translate-x:24rem}.sm\:focus\:translate-x-px:focus{--transform-translate-x:1px}.sm\:focus\:translate-x-0\.5:focus{--transform-translate-x:0.125rem}.sm\:focus\:translate-x-1\.5:focus{--transform-translate-x:0.375rem}.sm\:focus\:translate-x-2\.5:focus{--transform-translate-x:0.625rem}.sm\:focus\:translate-x-3\.5:focus{--transform-translate-x:0.875rem}.sm\:focus\:translate-x-1\/2:focus{--transform-translate-x:50%}.sm\:focus\:translate-x-1\/3:focus{--transform-translate-x:33.333333%}.sm\:focus\:translate-x-2\/3:focus{--transform-translate-x:66.666667%}.sm\:focus\:translate-x-1\/4:focus{--transform-translate-x:25%}.sm\:focus\:translate-x-2\/4:focus{--transform-translate-x:50%}.sm\:focus\:translate-x-3\/4:focus{--transform-translate-x:75%}.sm\:focus\:translate-x-1\/5:focus{--transform-translate-x:20%}.sm\:focus\:translate-x-2\/5:focus{--transform-translate-x:40%}.sm\:focus\:translate-x-3\/5:focus{--transform-translate-x:60%}.sm\:focus\:translate-x-4\/5:focus{--transform-translate-x:80%}.sm\:focus\:translate-x-1\/6:focus{--transform-translate-x:16.666667%}.sm\:focus\:translate-x-2\/6:focus{--transform-translate-x:33.333333%}.sm\:focus\:translate-x-3\/6:focus{--transform-translate-x:50%}.sm\:focus\:translate-x-4\/6:focus{--transform-translate-x:66.666667%}.sm\:focus\:translate-x-5\/6:focus{--transform-translate-x:83.333333%}.sm\:focus\:translate-x-1\/12:focus{--transform-translate-x:8.333333%}.sm\:focus\:translate-x-2\/12:focus{--transform-translate-x:16.666667%}.sm\:focus\:translate-x-3\/12:focus{--transform-translate-x:25%}.sm\:focus\:translate-x-4\/12:focus{--transform-translate-x:33.333333%}.sm\:focus\:translate-x-5\/12:focus{--transform-translate-x:41.666667%}.sm\:focus\:translate-x-6\/12:focus{--transform-translate-x:50%}.sm\:focus\:translate-x-7\/12:focus{--transform-translate-x:58.333333%}.sm\:focus\:translate-x-8\/12:focus{--transform-translate-x:66.666667%}.sm\:focus\:translate-x-9\/12:focus{--transform-translate-x:75%}.sm\:focus\:translate-x-10\/12:focus{--transform-translate-x:83.333333%}.sm\:focus\:translate-x-11\/12:focus{--transform-translate-x:91.666667%}.sm\:focus\:translate-x-full:focus{--transform-translate-x:100%}.sm\:focus\:-translate-x-1:focus{--transform-translate-x:-0.25rem}.sm\:focus\:-translate-x-2:focus{--transform-translate-x:-0.5rem}.sm\:focus\:-translate-x-3:focus{--transform-translate-x:-0.75rem}.sm\:focus\:-translate-x-4:focus{--transform-translate-x:-1rem}.sm\:focus\:-translate-x-5:focus{--transform-translate-x:-1.25rem}.sm\:focus\:-translate-x-6:focus{--transform-translate-x:-1.5rem}.sm\:focus\:-translate-x-7:focus{--transform-translate-x:-1.75rem}.sm\:focus\:-translate-x-8:focus{--transform-translate-x:-2rem}.sm\:focus\:-translate-x-9:focus{--transform-translate-x:-2.25rem}.sm\:focus\:-translate-x-10:focus{--transform-translate-x:-2.5rem}.sm\:focus\:-translate-x-11:focus{--transform-translate-x:-2.75rem}.sm\:focus\:-translate-x-12:focus{--transform-translate-x:-3rem}.sm\:focus\:-translate-x-13:focus{--transform-translate-x:-3.25rem}.sm\:focus\:-translate-x-14:focus{--transform-translate-x:-3.5rem}.sm\:focus\:-translate-x-15:focus{--transform-translate-x:-3.75rem}.sm\:focus\:-translate-x-16:focus{--transform-translate-x:-4rem}.sm\:focus\:-translate-x-20:focus{--transform-translate-x:-5rem}.sm\:focus\:-translate-x-24:focus{--transform-translate-x:-6rem}.sm\:focus\:-translate-x-28:focus{--transform-translate-x:-7rem}.sm\:focus\:-translate-x-32:focus{--transform-translate-x:-8rem}.sm\:focus\:-translate-x-36:focus{--transform-translate-x:-9rem}.sm\:focus\:-translate-x-40:focus{--transform-translate-x:-10rem}.sm\:focus\:-translate-x-44:focus{--transform-translate-x:-11rem}.sm\:focus\:-translate-x-48:focus{--transform-translate-x:-12rem}.sm\:focus\:-translate-x-52:focus{--transform-translate-x:-13rem}.sm\:focus\:-translate-x-56:focus{--transform-translate-x:-14rem}.sm\:focus\:-translate-x-60:focus{--transform-translate-x:-15rem}.sm\:focus\:-translate-x-64:focus{--transform-translate-x:-16rem}.sm\:focus\:-translate-x-72:focus{--transform-translate-x:-18rem}.sm\:focus\:-translate-x-80:focus{--transform-translate-x:-20rem}.sm\:focus\:-translate-x-96:focus{--transform-translate-x:-24rem}.sm\:focus\:-translate-x-px:focus{--transform-translate-x:-1px}.sm\:focus\:-translate-x-0\.5:focus{--transform-translate-x:-0.125rem}.sm\:focus\:-translate-x-1\.5:focus{--transform-translate-x:-0.375rem}.sm\:focus\:-translate-x-2\.5:focus{--transform-translate-x:-0.625rem}.sm\:focus\:-translate-x-3\.5:focus{--transform-translate-x:-0.875rem}.sm\:focus\:-translate-x-1\/2:focus{--transform-translate-x:-50%}.sm\:focus\:-translate-x-1\/3:focus{--transform-translate-x:-33.33333%}.sm\:focus\:-translate-x-2\/3:focus{--transform-translate-x:-66.66667%}.sm\:focus\:-translate-x-1\/4:focus{--transform-translate-x:-25%}.sm\:focus\:-translate-x-2\/4:focus{--transform-translate-x:-50%}.sm\:focus\:-translate-x-3\/4:focus{--transform-translate-x:-75%}.sm\:focus\:-translate-x-1\/5:focus{--transform-translate-x:-20%}.sm\:focus\:-translate-x-2\/5:focus{--transform-translate-x:-40%}.sm\:focus\:-translate-x-3\/5:focus{--transform-translate-x:-60%}.sm\:focus\:-translate-x-4\/5:focus{--transform-translate-x:-80%}.sm\:focus\:-translate-x-1\/6:focus{--transform-translate-x:-16.66667%}.sm\:focus\:-translate-x-2\/6:focus{--transform-translate-x:-33.33333%}.sm\:focus\:-translate-x-3\/6:focus{--transform-translate-x:-50%}.sm\:focus\:-translate-x-4\/6:focus{--transform-translate-x:-66.66667%}.sm\:focus\:-translate-x-5\/6:focus{--transform-translate-x:-83.33333%}.sm\:focus\:-translate-x-1\/12:focus{--transform-translate-x:-8.33333%}.sm\:focus\:-translate-x-2\/12:focus{--transform-translate-x:-16.66667%}.sm\:focus\:-translate-x-3\/12:focus{--transform-translate-x:-25%}.sm\:focus\:-translate-x-4\/12:focus{--transform-translate-x:-33.33333%}.sm\:focus\:-translate-x-5\/12:focus{--transform-translate-x:-41.66667%}.sm\:focus\:-translate-x-6\/12:focus{--transform-translate-x:-50%}.sm\:focus\:-translate-x-7\/12:focus{--transform-translate-x:-58.33333%}.sm\:focus\:-translate-x-8\/12:focus{--transform-translate-x:-66.66667%}.sm\:focus\:-translate-x-9\/12:focus{--transform-translate-x:-75%}.sm\:focus\:-translate-x-10\/12:focus{--transform-translate-x:-83.33333%}.sm\:focus\:-translate-x-11\/12:focus{--transform-translate-x:-91.66667%}.sm\:focus\:-translate-x-full:focus{--transform-translate-x:-100%}.sm\:focus\:translate-y-0:focus{--transform-translate-y:0}.sm\:focus\:translate-y-1:focus{--transform-translate-y:0.25rem}.sm\:focus\:translate-y-2:focus{--transform-translate-y:0.5rem}.sm\:focus\:translate-y-3:focus{--transform-translate-y:0.75rem}.sm\:focus\:translate-y-4:focus{--transform-translate-y:1rem}.sm\:focus\:translate-y-5:focus{--transform-translate-y:1.25rem}.sm\:focus\:translate-y-6:focus{--transform-translate-y:1.5rem}.sm\:focus\:translate-y-7:focus{--transform-translate-y:1.75rem}.sm\:focus\:translate-y-8:focus{--transform-translate-y:2rem}.sm\:focus\:translate-y-9:focus{--transform-translate-y:2.25rem}.sm\:focus\:translate-y-10:focus{--transform-translate-y:2.5rem}.sm\:focus\:translate-y-11:focus{--transform-translate-y:2.75rem}.sm\:focus\:translate-y-12:focus{--transform-translate-y:3rem}.sm\:focus\:translate-y-13:focus{--transform-translate-y:3.25rem}.sm\:focus\:translate-y-14:focus{--transform-translate-y:3.5rem}.sm\:focus\:translate-y-15:focus{--transform-translate-y:3.75rem}.sm\:focus\:translate-y-16:focus{--transform-translate-y:4rem}.sm\:focus\:translate-y-20:focus{--transform-translate-y:5rem}.sm\:focus\:translate-y-24:focus{--transform-translate-y:6rem}.sm\:focus\:translate-y-28:focus{--transform-translate-y:7rem}.sm\:focus\:translate-y-32:focus{--transform-translate-y:8rem}.sm\:focus\:translate-y-36:focus{--transform-translate-y:9rem}.sm\:focus\:translate-y-40:focus{--transform-translate-y:10rem}.sm\:focus\:translate-y-44:focus{--transform-translate-y:11rem}.sm\:focus\:translate-y-48:focus{--transform-translate-y:12rem}.sm\:focus\:translate-y-52:focus{--transform-translate-y:13rem}.sm\:focus\:translate-y-56:focus{--transform-translate-y:14rem}.sm\:focus\:translate-y-60:focus{--transform-translate-y:15rem}.sm\:focus\:translate-y-64:focus{--transform-translate-y:16rem}.sm\:focus\:translate-y-72:focus{--transform-translate-y:18rem}.sm\:focus\:translate-y-80:focus{--transform-translate-y:20rem}.sm\:focus\:translate-y-96:focus{--transform-translate-y:24rem}.sm\:focus\:translate-y-px:focus{--transform-translate-y:1px}.sm\:focus\:translate-y-0\.5:focus{--transform-translate-y:0.125rem}.sm\:focus\:translate-y-1\.5:focus{--transform-translate-y:0.375rem}.sm\:focus\:translate-y-2\.5:focus{--transform-translate-y:0.625rem}.sm\:focus\:translate-y-3\.5:focus{--transform-translate-y:0.875rem}.sm\:focus\:translate-y-1\/2:focus{--transform-translate-y:50%}.sm\:focus\:translate-y-1\/3:focus{--transform-translate-y:33.333333%}.sm\:focus\:translate-y-2\/3:focus{--transform-translate-y:66.666667%}.sm\:focus\:translate-y-1\/4:focus{--transform-translate-y:25%}.sm\:focus\:translate-y-2\/4:focus{--transform-translate-y:50%}.sm\:focus\:translate-y-3\/4:focus{--transform-translate-y:75%}.sm\:focus\:translate-y-1\/5:focus{--transform-translate-y:20%}.sm\:focus\:translate-y-2\/5:focus{--transform-translate-y:40%}.sm\:focus\:translate-y-3\/5:focus{--transform-translate-y:60%}.sm\:focus\:translate-y-4\/5:focus{--transform-translate-y:80%}.sm\:focus\:translate-y-1\/6:focus{--transform-translate-y:16.666667%}.sm\:focus\:translate-y-2\/6:focus{--transform-translate-y:33.333333%}.sm\:focus\:translate-y-3\/6:focus{--transform-translate-y:50%}.sm\:focus\:translate-y-4\/6:focus{--transform-translate-y:66.666667%}.sm\:focus\:translate-y-5\/6:focus{--transform-translate-y:83.333333%}.sm\:focus\:translate-y-1\/12:focus{--transform-translate-y:8.333333%}.sm\:focus\:translate-y-2\/12:focus{--transform-translate-y:16.666667%}.sm\:focus\:translate-y-3\/12:focus{--transform-translate-y:25%}.sm\:focus\:translate-y-4\/12:focus{--transform-translate-y:33.333333%}.sm\:focus\:translate-y-5\/12:focus{--transform-translate-y:41.666667%}.sm\:focus\:translate-y-6\/12:focus{--transform-translate-y:50%}.sm\:focus\:translate-y-7\/12:focus{--transform-translate-y:58.333333%}.sm\:focus\:translate-y-8\/12:focus{--transform-translate-y:66.666667%}.sm\:focus\:translate-y-9\/12:focus{--transform-translate-y:75%}.sm\:focus\:translate-y-10\/12:focus{--transform-translate-y:83.333333%}.sm\:focus\:translate-y-11\/12:focus{--transform-translate-y:91.666667%}.sm\:focus\:translate-y-full:focus{--transform-translate-y:100%}.sm\:focus\:-translate-y-1:focus{--transform-translate-y:-0.25rem}.sm\:focus\:-translate-y-2:focus{--transform-translate-y:-0.5rem}.sm\:focus\:-translate-y-3:focus{--transform-translate-y:-0.75rem}.sm\:focus\:-translate-y-4:focus{--transform-translate-y:-1rem}.sm\:focus\:-translate-y-5:focus{--transform-translate-y:-1.25rem}.sm\:focus\:-translate-y-6:focus{--transform-translate-y:-1.5rem}.sm\:focus\:-translate-y-7:focus{--transform-translate-y:-1.75rem}.sm\:focus\:-translate-y-8:focus{--transform-translate-y:-2rem}.sm\:focus\:-translate-y-9:focus{--transform-translate-y:-2.25rem}.sm\:focus\:-translate-y-10:focus{--transform-translate-y:-2.5rem}.sm\:focus\:-translate-y-11:focus{--transform-translate-y:-2.75rem}.sm\:focus\:-translate-y-12:focus{--transform-translate-y:-3rem}.sm\:focus\:-translate-y-13:focus{--transform-translate-y:-3.25rem}.sm\:focus\:-translate-y-14:focus{--transform-translate-y:-3.5rem}.sm\:focus\:-translate-y-15:focus{--transform-translate-y:-3.75rem}.sm\:focus\:-translate-y-16:focus{--transform-translate-y:-4rem}.sm\:focus\:-translate-y-20:focus{--transform-translate-y:-5rem}.sm\:focus\:-translate-y-24:focus{--transform-translate-y:-6rem}.sm\:focus\:-translate-y-28:focus{--transform-translate-y:-7rem}.sm\:focus\:-translate-y-32:focus{--transform-translate-y:-8rem}.sm\:focus\:-translate-y-36:focus{--transform-translate-y:-9rem}.sm\:focus\:-translate-y-40:focus{--transform-translate-y:-10rem}.sm\:focus\:-translate-y-44:focus{--transform-translate-y:-11rem}.sm\:focus\:-translate-y-48:focus{--transform-translate-y:-12rem}.sm\:focus\:-translate-y-52:focus{--transform-translate-y:-13rem}.sm\:focus\:-translate-y-56:focus{--transform-translate-y:-14rem}.sm\:focus\:-translate-y-60:focus{--transform-translate-y:-15rem}.sm\:focus\:-translate-y-64:focus{--transform-translate-y:-16rem}.sm\:focus\:-translate-y-72:focus{--transform-translate-y:-18rem}.sm\:focus\:-translate-y-80:focus{--transform-translate-y:-20rem}.sm\:focus\:-translate-y-96:focus{--transform-translate-y:-24rem}.sm\:focus\:-translate-y-px:focus{--transform-translate-y:-1px}.sm\:focus\:-translate-y-0\.5:focus{--transform-translate-y:-0.125rem}.sm\:focus\:-translate-y-1\.5:focus{--transform-translate-y:-0.375rem}.sm\:focus\:-translate-y-2\.5:focus{--transform-translate-y:-0.625rem}.sm\:focus\:-translate-y-3\.5:focus{--transform-translate-y:-0.875rem}.sm\:focus\:-translate-y-1\/2:focus{--transform-translate-y:-50%}.sm\:focus\:-translate-y-1\/3:focus{--transform-translate-y:-33.33333%}.sm\:focus\:-translate-y-2\/3:focus{--transform-translate-y:-66.66667%}.sm\:focus\:-translate-y-1\/4:focus{--transform-translate-y:-25%}.sm\:focus\:-translate-y-2\/4:focus{--transform-translate-y:-50%}.sm\:focus\:-translate-y-3\/4:focus{--transform-translate-y:-75%}.sm\:focus\:-translate-y-1\/5:focus{--transform-translate-y:-20%}.sm\:focus\:-translate-y-2\/5:focus{--transform-translate-y:-40%}.sm\:focus\:-translate-y-3\/5:focus{--transform-translate-y:-60%}.sm\:focus\:-translate-y-4\/5:focus{--transform-translate-y:-80%}.sm\:focus\:-translate-y-1\/6:focus{--transform-translate-y:-16.66667%}.sm\:focus\:-translate-y-2\/6:focus{--transform-translate-y:-33.33333%}.sm\:focus\:-translate-y-3\/6:focus{--transform-translate-y:-50%}.sm\:focus\:-translate-y-4\/6:focus{--transform-translate-y:-66.66667%}.sm\:focus\:-translate-y-5\/6:focus{--transform-translate-y:-83.33333%}.sm\:focus\:-translate-y-1\/12:focus{--transform-translate-y:-8.33333%}.sm\:focus\:-translate-y-2\/12:focus{--transform-translate-y:-16.66667%}.sm\:focus\:-translate-y-3\/12:focus{--transform-translate-y:-25%}.sm\:focus\:-translate-y-4\/12:focus{--transform-translate-y:-33.33333%}.sm\:focus\:-translate-y-5\/12:focus{--transform-translate-y:-41.66667%}.sm\:focus\:-translate-y-6\/12:focus{--transform-translate-y:-50%}.sm\:focus\:-translate-y-7\/12:focus{--transform-translate-y:-58.33333%}.sm\:focus\:-translate-y-8\/12:focus{--transform-translate-y:-66.66667%}.sm\:focus\:-translate-y-9\/12:focus{--transform-translate-y:-75%}.sm\:focus\:-translate-y-10\/12:focus{--transform-translate-y:-83.33333%}.sm\:focus\:-translate-y-11\/12:focus{--transform-translate-y:-91.66667%}.sm\:focus\:-translate-y-full:focus{--transform-translate-y:-100%}.sm\:skew-x-0{--transform-skew-x:0}.sm\:skew-x-3{--transform-skew-x:3deg}.sm\:skew-x-6{--transform-skew-x:6deg}.sm\:skew-x-12{--transform-skew-x:12deg}.sm\:-skew-x-12{--transform-skew-x:-12deg}.sm\:-skew-x-6{--transform-skew-x:-6deg}.sm\:-skew-x-3{--transform-skew-x:-3deg}.sm\:skew-y-0{--transform-skew-y:0}.sm\:skew-y-3{--transform-skew-y:3deg}.sm\:skew-y-6{--transform-skew-y:6deg}.sm\:skew-y-12{--transform-skew-y:12deg}.sm\:-skew-y-12{--transform-skew-y:-12deg}.sm\:-skew-y-6{--transform-skew-y:-6deg}.sm\:-skew-y-3{--transform-skew-y:-3deg}.sm\:hover\:skew-x-0:hover{--transform-skew-x:0}.sm\:hover\:skew-x-3:hover{--transform-skew-x:3deg}.sm\:hover\:skew-x-6:hover{--transform-skew-x:6deg}.sm\:hover\:skew-x-12:hover{--transform-skew-x:12deg}.sm\:hover\:-skew-x-12:hover{--transform-skew-x:-12deg}.sm\:hover\:-skew-x-6:hover{--transform-skew-x:-6deg}.sm\:hover\:-skew-x-3:hover{--transform-skew-x:-3deg}.sm\:hover\:skew-y-0:hover{--transform-skew-y:0}.sm\:hover\:skew-y-3:hover{--transform-skew-y:3deg}.sm\:hover\:skew-y-6:hover{--transform-skew-y:6deg}.sm\:hover\:skew-y-12:hover{--transform-skew-y:12deg}.sm\:hover\:-skew-y-12:hover{--transform-skew-y:-12deg}.sm\:hover\:-skew-y-6:hover{--transform-skew-y:-6deg}.sm\:hover\:-skew-y-3:hover{--transform-skew-y:-3deg}.sm\:focus\:skew-x-0:focus{--transform-skew-x:0}.sm\:focus\:skew-x-3:focus{--transform-skew-x:3deg}.sm\:focus\:skew-x-6:focus{--transform-skew-x:6deg}.sm\:focus\:skew-x-12:focus{--transform-skew-x:12deg}.sm\:focus\:-skew-x-12:focus{--transform-skew-x:-12deg}.sm\:focus\:-skew-x-6:focus{--transform-skew-x:-6deg}.sm\:focus\:-skew-x-3:focus{--transform-skew-x:-3deg}.sm\:focus\:skew-y-0:focus{--transform-skew-y:0}.sm\:focus\:skew-y-3:focus{--transform-skew-y:3deg}.sm\:focus\:skew-y-6:focus{--transform-skew-y:6deg}.sm\:focus\:skew-y-12:focus{--transform-skew-y:12deg}.sm\:focus\:-skew-y-12:focus{--transform-skew-y:-12deg}.sm\:focus\:-skew-y-6:focus{--transform-skew-y:-6deg}.sm\:focus\:-skew-y-3:focus{--transform-skew-y:-3deg}.sm\:transition-none{transition-property:none}.sm\:transition-all{transition-property:all}.sm\:transition{transition-property:background-color,border-color,color,fill,stroke,opacity,box-shadow,transform}.sm\:transition-colors{transition-property:background-color,border-color,color,fill,stroke}.sm\:transition-opacity{transition-property:opacity}.sm\:transition-shadow{transition-property:box-shadow}.sm\:transition-transform{transition-property:transform}.sm\:ease-linear{transition-timing-function:linear}.sm\:ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.sm\:ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.sm\:ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.sm\:duration-75{transition-duration:75ms}.sm\:duration-100{transition-duration:.1s}.sm\:duration-150{transition-duration:150ms}.sm\:duration-200{transition-duration:.2s}.sm\:duration-300{transition-duration:.3s}.sm\:duration-500{transition-duration:.5s}.sm\:duration-700{transition-duration:.7s}.sm\:duration-1000{transition-duration:1s}.sm\:delay-75{transition-delay:75ms}.sm\:delay-100{transition-delay:.1s}.sm\:delay-150{transition-delay:150ms}.sm\:delay-200{transition-delay:.2s}.sm\:delay-300{transition-delay:.3s}.sm\:delay-500{transition-delay:.5s}.sm\:delay-700{transition-delay:.7s}.sm\:delay-1000{transition-delay:1s}}@media (min-width:768px){.md\:container{width:100%}@media (min-width:640px){.md\:container{max-width:640px}}@media (min-width:768px){.md\:container{max-width:768px}}@media (min-width:1024px){.md\:container{max-width:1024px}}@media (min-width:1280px){.md\:container{max-width:1280px}}.md\:prose{color:#374151;max-width:65ch}.md\:prose [class~=lead]{color:#4b5563;font-size:1.25em;line-height:1.6;margin-top:1.2em;margin-bottom:1.2em}.md\:prose a{color:#5850ec;text-decoration:none;font-weight:600}.md\:prose strong{color:#161e2e;font-weight:600}.md\:prose ol{counter-reset:list-counter;margin-top:1.25em;margin-bottom:1.25em}.md\:prose ol>li{position:relative;counter-increment:list-counter;padding-left:1.75em}.md\:prose ol>li::before{content:counter(list-counter) ".";position:absolute;font-weight:400;color:#6b7280}.md\:prose ul>li{position:relative;padding-left:1.75em}.md\:prose ul>li::before{content:"";position:absolute;background-color:#d2d6dc;border-radius:50%;width:.375em;height:.375em;top:calc(.875em - .1875em);left:.25em}.md\:prose hr{border-color:#e5e7eb;border-top-width:1px;margin-top:3em;margin-bottom:3em}.md\:prose blockquote{font-weight:500;font-style:italic;color:#161e2e;border-left-width:.25rem;border-left-color:#e5e7eb;quotes:"\201C""\201D""\2018""\2019";margin-top:1.6em;margin-bottom:1.6em;padding-left:1em}.md\:prose blockquote p:first-of-type::before{content:open-quote}.md\:prose blockquote p:last-of-type::after{content:close-quote}.md\:prose h1{color:#1a202c;font-weight:800;font-size:2.25em;margin-top:0;margin-bottom:.8888889em;line-height:1.1111111}.md\:prose h2{color:#1a202c;font-weight:700;font-size:1.5em;margin-top:2em;margin-bottom:1em;line-height:1.3333333}.md\:prose h3{color:#1a202c;font-weight:600;font-size:1.25em;margin-top:1.6em;margin-bottom:.6em;line-height:1.6}.md\:prose h4{color:#1a202c;font-weight:600;margin-top:1.5em;margin-bottom:.5em;line-height:1.5}.md\:prose figure figcaption{color:#6b7280;font-size:.875em;line-height:1.4285714;margin-top:.8571429em}.md\:prose code{color:#161e2e;font-weight:600;font-size:.875em}.md\:prose code::before{content:"`"}.md\:prose code::after{content:"`"}.md\:prose pre{color:#e5e7eb;background-color:#252f3f;overflow-x:auto;font-size:.875em;line-height:1.7142857;margin-top:1.7142857em;margin-bottom:1.7142857em;border-radius:.375rem;padding-top:.8571429em;padding-right:1.1428571em;padding-bottom:.8571429em;padding-left:1.1428571em}.md\:prose pre code{background-color:transparent;border-width:0;border-radius:0;padding:0;font-weight:400;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}.md\:prose pre code::before{content:""}.md\:prose pre code::after{content:""}.md\:prose table{width:100%;table-layout:auto;text-align:left;margin-top:2em;margin-bottom:2em;font-size:.875em;line-height:1.7142857}.md\:prose thead{color:#161e2e;font-weight:600;border-bottom-width:1px;border-bottom-color:#d2d6dc}.md\:prose thead th{vertical-align:bottom;padding-right:.5714286em;padding-bottom:.5714286em;padding-left:.5714286em}.md\:prose tbody tr{border-bottom-width:1px;border-bottom-color:#e5e7eb}.md\:prose tbody tr:last-child{border-bottom-width:0}.md\:prose tbody td{vertical-align:top;padding-top:.5714286em;padding-right:.5714286em;padding-bottom:.5714286em;padding-left:.5714286em}.md\:prose{font-size:1rem;line-height:1.75}.md\:prose p{margin-top:1.25em;margin-bottom:1.25em}.md\:prose img{margin-top:2em;margin-bottom:2em}.md\:prose video{margin-top:2em;margin-bottom:2em}.md\:prose figure{margin-top:2em;margin-bottom:2em}.md\:prose figure>*{margin-top:0;margin-bottom:0}.md\:prose h2 code{font-size:.875em}.md\:prose h3 code{font-size:.9em}.md\:prose ul{margin-top:1.25em;margin-bottom:1.25em}.md\:prose li{margin-top:.5em;margin-bottom:.5em}.md\:prose ol>li:before{left:0}.md\:prose>ul>li p{margin-top:.75em;margin-bottom:.75em}.md\:prose>ul>li>:first-child{margin-top:1.25em}.md\:prose>ul>li>:last-child{margin-bottom:1.25em}.md\:prose>ol>li>:first-child{margin-top:1.25em}.md\:prose>ol>li>:last-child{margin-bottom:1.25em}.md\:prose ol ol,.md\:prose ol ul,.md\:prose ul ol,.md\:prose ul ul{margin-top:.75em;margin-bottom:.75em}.md\:prose hr+*{margin-top:0}.md\:prose h2+*{margin-top:0}.md\:prose h3+*{margin-top:0}.md\:prose h4+*{margin-top:0}.md\:prose thead th:first-child{padding-left:0}.md\:prose thead th:last-child{padding-right:0}.md\:prose tbody td:first-child{padding-left:0}.md\:prose tbody td:last-child{padding-right:0}.md\:prose>:first-child{margin-top:0}.md\:prose>:last-child{margin-bottom:0}.md\:prose h1,.md\:prose h2,.md\:prose h3,.md\:prose h4{color:#161e2e}.md\:prose-sm{font-size:.875rem;line-height:1.7142857}.md\:prose-sm p{margin-top:1.1428571em;margin-bottom:1.1428571em}.md\:prose-sm [class~=lead]{font-size:1.2857143em;line-height:1.5555556;margin-top:.8888889em;margin-bottom:.8888889em}.md\:prose-sm blockquote{margin-top:1.3333333em;margin-bottom:1.3333333em;padding-left:1.1111111em}.md\:prose-sm h1{font-size:2.1428571em;margin-top:0;margin-bottom:.8em;line-height:1.2}.md\:prose-sm h2{font-size:1.4285714em;margin-top:1.6em;margin-bottom:.8em;line-height:1.4}.md\:prose-sm h3{font-size:1.2857143em;margin-top:1.5555556em;margin-bottom:.4444444em;line-height:1.5555556}.md\:prose-sm h4{margin-top:1.4285714em;margin-bottom:.5714286em;line-height:1.4285714}.md\:prose-sm img{margin-top:1.7142857em;margin-bottom:1.7142857em}.md\:prose-sm video{margin-top:1.7142857em;margin-bottom:1.7142857em}.md\:prose-sm figure{margin-top:1.7142857em;margin-bottom:1.7142857em}.md\:prose-sm figure>*{margin-top:0;margin-bottom:0}.md\:prose-sm figure figcaption{font-size:.8571429em;line-height:1.3333333;margin-top:.6666667em}.md\:prose-sm code{font-size:.8571429em}.md\:prose-sm h2 code{font-size:.9em}.md\:prose-sm h3 code{font-size:.8888889em}.md\:prose-sm pre{font-size:.8571429em;line-height:1.6666667;margin-top:1.6666667em;margin-bottom:1.6666667em;border-radius:.25rem;padding-top:.6666667em;padding-right:1em;padding-bottom:.6666667em;padding-left:1em}.md\:prose-sm ol{margin-top:1.1428571em;margin-bottom:1.1428571em}.md\:prose-sm ul{margin-top:1.1428571em;margin-bottom:1.1428571em}.md\:prose-sm li{margin-top:.2857143em;margin-bottom:.2857143em}.md\:prose-sm ol>li{padding-left:1.5714286em}.md\:prose-sm ol>li:before{left:0}.md\:prose-sm ul>li{padding-left:1.5714286em}.md\:prose-sm ul>li::before{height:.3571429em;width:.3571429em;top:calc(.8571429em - .1785714em);left:.2142857em}.md\:prose-sm>ul>li p{margin-top:.5714286em;margin-bottom:.5714286em}.md\:prose-sm>ul>li>:first-child{margin-top:1.1428571em}.md\:prose-sm>ul>li>:last-child{margin-bottom:1.1428571em}.md\:prose-sm>ol>li>:first-child{margin-top:1.1428571em}.md\:prose-sm>ol>li>:last-child{margin-bottom:1.1428571em}.md\:prose-sm ol ol,.md\:prose-sm ol ul,.md\:prose-sm ul ol,.md\:prose-sm ul ul{margin-top:.5714286em;margin-bottom:.5714286em}.md\:prose-sm hr{margin-top:2.8571429em;margin-bottom:2.8571429em}.md\:prose-sm hr+*{margin-top:0}.md\:prose-sm h2+*{margin-top:0}.md\:prose-sm h3+*{margin-top:0}.md\:prose-sm h4+*{margin-top:0}.md\:prose-sm table{font-size:.8571429em;line-height:1.5}.md\:prose-sm thead th{padding-right:1em;padding-bottom:.6666667em;padding-left:1em}.md\:prose-sm thead th:first-child{padding-left:0}.md\:prose-sm thead th:last-child{padding-right:0}.md\:prose-sm tbody td{padding-top:.6666667em;padding-right:1em;padding-bottom:.6666667em;padding-left:1em}.md\:prose-sm tbody td:first-child{padding-left:0}.md\:prose-sm tbody td:last-child{padding-right:0}.md\:prose-sm>:first-child{margin-top:0}.md\:prose-sm>:last-child{margin-bottom:0}.md\:prose-lg{font-size:1.125rem;line-height:1.7777778}.md\:prose-lg p{margin-top:1.3333333em;margin-bottom:1.3333333em}.md\:prose-lg [class~=lead]{font-size:1.2222222em;line-height:1.4545455;margin-top:1.0909091em;margin-bottom:1.0909091em}.md\:prose-lg blockquote{margin-top:1.6666667em;margin-bottom:1.6666667em;padding-left:1em}.md\:prose-lg h1{font-size:2.6666667em;margin-top:0;margin-bottom:.8333333em;line-height:1}.md\:prose-lg h2{font-size:1.6666667em;margin-top:1.8666667em;margin-bottom:1.0666667em;line-height:1.3333333}.md\:prose-lg h3{font-size:1.3333333em;margin-top:1.6666667em;margin-bottom:.6666667em;line-height:1.5}.md\:prose-lg h4{margin-top:1.7777778em;margin-bottom:.4444444em;line-height:1.5555556}.md\:prose-lg img{margin-top:1.7777778em;margin-bottom:1.7777778em}.md\:prose-lg video{margin-top:1.7777778em;margin-bottom:1.7777778em}.md\:prose-lg figure{margin-top:1.7777778em;margin-bottom:1.7777778em}.md\:prose-lg figure>*{margin-top:0;margin-bottom:0}.md\:prose-lg figure figcaption{font-size:.8888889em;line-height:1.5;margin-top:1em}.md\:prose-lg code{font-size:.8888889em}.md\:prose-lg h2 code{font-size:.8666667em}.md\:prose-lg h3 code{font-size:.875em}.md\:prose-lg pre{font-size:.8888889em;line-height:1.75;margin-top:2em;margin-bottom:2em;border-radius:.375rem;padding-top:1em;padding-right:1.5em;padding-bottom:1em;padding-left:1.5em}.md\:prose-lg ol{margin-top:1.3333333em;margin-bottom:1.3333333em}.md\:prose-lg ul{margin-top:1.3333333em;margin-bottom:1.3333333em}.md\:prose-lg li{margin-top:.6666667em;margin-bottom:.6666667em}.md\:prose-lg ol>li{padding-left:1.6666667em}.md\:prose-lg ol>li:before{left:0}.md\:prose-lg ul>li{padding-left:1.6666667em}.md\:prose-lg ul>li::before{width:.3333333em;height:.3333333em;top:calc(.8888889em - .1666667em);left:.2222222em}.md\:prose-lg>ul>li p{margin-top:.8888889em;margin-bottom:.8888889em}.md\:prose-lg>ul>li>:first-child{margin-top:1.3333333em}.md\:prose-lg>ul>li>:last-child{margin-bottom:1.3333333em}.md\:prose-lg>ol>li>:first-child{margin-top:1.3333333em}.md\:prose-lg>ol>li>:last-child{margin-bottom:1.3333333em}.md\:prose-lg ol ol,.md\:prose-lg ol ul,.md\:prose-lg ul ol,.md\:prose-lg ul ul{margin-top:.8888889em;margin-bottom:.8888889em}.md\:prose-lg hr{margin-top:3.1111111em;margin-bottom:3.1111111em}.md\:prose-lg hr+*{margin-top:0}.md\:prose-lg h2+*{margin-top:0}.md\:prose-lg h3+*{margin-top:0}.md\:prose-lg h4+*{margin-top:0}.md\:prose-lg table{font-size:.8888889em;line-height:1.5}.md\:prose-lg thead th{padding-right:.75em;padding-bottom:.75em;padding-left:.75em}.md\:prose-lg thead th:first-child{padding-left:0}.md\:prose-lg thead th:last-child{padding-right:0}.md\:prose-lg tbody td{padding-top:.75em;padding-right:.75em;padding-bottom:.75em;padding-left:.75em}.md\:prose-lg tbody td:first-child{padding-left:0}.md\:prose-lg tbody td:last-child{padding-right:0}.md\:prose-lg>:first-child{margin-top:0}.md\:prose-lg>:last-child{margin-bottom:0}.md\:prose-xl{font-size:1.25rem;line-height:1.8}.md\:prose-xl p{margin-top:1.2em;margin-bottom:1.2em}.md\:prose-xl [class~=lead]{font-size:1.2em;line-height:1.5;margin-top:1em;margin-bottom:1em}.md\:prose-xl blockquote{margin-top:1.6em;margin-bottom:1.6em;padding-left:1.0666667em}.md\:prose-xl h1{font-size:2.8em;margin-top:0;margin-bottom:.8571429em;line-height:1}.md\:prose-xl h2{font-size:1.8em;margin-top:1.5555556em;margin-bottom:.8888889em;line-height:1.1111111}.md\:prose-xl h3{font-size:1.5em;margin-top:1.6em;margin-bottom:.6666667em;line-height:1.3333333}.md\:prose-xl h4{margin-top:1.8em;margin-bottom:.6em;line-height:1.6}.md\:prose-xl img{margin-top:2em;margin-bottom:2em}.md\:prose-xl video{margin-top:2em;margin-bottom:2em}.md\:prose-xl figure{margin-top:2em;margin-bottom:2em}.md\:prose-xl figure>*{margin-top:0;margin-bottom:0}.md\:prose-xl figure figcaption{font-size:.9em;line-height:1.5555556;margin-top:1em}.md\:prose-xl code{font-size:.9em}.md\:prose-xl h2 code{font-size:.8611111em}.md\:prose-xl h3 code{font-size:.9em}.md\:prose-xl pre{font-size:.9em;line-height:1.7777778;margin-top:2em;margin-bottom:2em;border-radius:.5rem;padding-top:1.1111111em;padding-right:1.3333333em;padding-bottom:1.1111111em;padding-left:1.3333333em}.md\:prose-xl ol{margin-top:1.2em;margin-bottom:1.2em}.md\:prose-xl ul{margin-top:1.2em;margin-bottom:1.2em}.md\:prose-xl li{margin-top:.6em;margin-bottom:.6em}.md\:prose-xl ol>li{padding-left:1.8em}.md\:prose-xl ol>li:before{left:0}.md\:prose-xl ul>li{padding-left:1.8em}.md\:prose-xl ul>li::before{width:.35em;height:.35em;top:calc(.9em - .175em);left:.25em}.md\:prose-xl>ul>li p{margin-top:.8em;margin-bottom:.8em}.md\:prose-xl>ul>li>:first-child{margin-top:1.2em}.md\:prose-xl>ul>li>:last-child{margin-bottom:1.2em}.md\:prose-xl>ol>li>:first-child{margin-top:1.2em}.md\:prose-xl>ol>li>:last-child{margin-bottom:1.2em}.md\:prose-xl ol ol,.md\:prose-xl ol ul,.md\:prose-xl ul ol,.md\:prose-xl ul ul{margin-top:.8em;margin-bottom:.8em}.md\:prose-xl hr{margin-top:2.8em;margin-bottom:2.8em}.md\:prose-xl hr+*{margin-top:0}.md\:prose-xl h2+*{margin-top:0}.md\:prose-xl h3+*{margin-top:0}.md\:prose-xl h4+*{margin-top:0}.md\:prose-xl table{font-size:.9em;line-height:1.5555556}.md\:prose-xl thead th{padding-right:.6666667em;padding-bottom:.8888889em;padding-left:.6666667em}.md\:prose-xl thead th:first-child{padding-left:0}.md\:prose-xl thead th:last-child{padding-right:0}.md\:prose-xl tbody td{padding-top:.8888889em;padding-right:.6666667em;padding-bottom:.8888889em;padding-left:.6666667em}.md\:prose-xl tbody td:first-child{padding-left:0}.md\:prose-xl tbody td:last-child{padding-right:0}.md\:prose-xl>:first-child{margin-top:0}.md\:prose-xl>:last-child{margin-bottom:0}.md\:prose-2xl{font-size:1.5rem;line-height:1.6666667}.md\:prose-2xl p{margin-top:1.3333333em;margin-bottom:1.3333333em}.md\:prose-2xl [class~=lead]{font-size:1.25em;line-height:1.4666667;margin-top:1.0666667em;margin-bottom:1.0666667em}.md\:prose-2xl blockquote{margin-top:1.7777778em;margin-bottom:1.7777778em;padding-left:1.1111111em}.md\:prose-2xl h1{font-size:2.6666667em;margin-top:0;margin-bottom:.875em;line-height:1}.md\:prose-2xl h2{font-size:2em;margin-top:1.5em;margin-bottom:.8333333em;line-height:1.0833333}.md\:prose-2xl h3{font-size:1.5em;margin-top:1.5555556em;margin-bottom:.6666667em;line-height:1.2222222}.md\:prose-2xl h4{margin-top:1.6666667em;margin-bottom:.6666667em;line-height:1.5}.md\:prose-2xl img{margin-top:2em;margin-bottom:2em}.md\:prose-2xl video{margin-top:2em;margin-bottom:2em}.md\:prose-2xl figure{margin-top:2em;margin-bottom:2em}.md\:prose-2xl figure>*{margin-top:0;margin-bottom:0}.md\:prose-2xl figure figcaption{font-size:.8333333em;line-height:1.6;margin-top:1em}.md\:prose-2xl code{font-size:.8333333em}.md\:prose-2xl h2 code{font-size:.875em}.md\:prose-2xl h3 code{font-size:.8888889em}.md\:prose-2xl pre{font-size:.8333333em;line-height:1.8;margin-top:2em;margin-bottom:2em;border-radius:.5rem;padding-top:1.2em;padding-right:1.6em;padding-bottom:1.2em;padding-left:1.6em}.md\:prose-2xl ol{margin-top:1.3333333em;margin-bottom:1.3333333em}.md\:prose-2xl ul{margin-top:1.3333333em;margin-bottom:1.3333333em}.md\:prose-2xl li{margin-top:.5em;margin-bottom:.5em}.md\:prose-2xl ol>li{padding-left:1.6666667em}.md\:prose-2xl ol>li:before{left:0}.md\:prose-2xl ul>li{padding-left:1.6666667em}.md\:prose-2xl ul>li::before{width:.3333333em;height:.3333333em;top:calc(.8333333em - .1666667em);left:.25em}.md\:prose-2xl>ul>li p{margin-top:.8333333em;margin-bottom:.8333333em}.md\:prose-2xl>ul>li>:first-child{margin-top:1.3333333em}.md\:prose-2xl>ul>li>:last-child{margin-bottom:1.3333333em}.md\:prose-2xl>ol>li>:first-child{margin-top:1.3333333em}.md\:prose-2xl>ol>li>:last-child{margin-bottom:1.3333333em}.md\:prose-2xl ol ol,.md\:prose-2xl ol ul,.md\:prose-2xl ul ol,.md\:prose-2xl ul ul{margin-top:.6666667em;margin-bottom:.6666667em}.md\:prose-2xl hr{margin-top:3em;margin-bottom:3em}.md\:prose-2xl hr+*{margin-top:0}.md\:prose-2xl h2+*{margin-top:0}.md\:prose-2xl h3+*{margin-top:0}.md\:prose-2xl h4+*{margin-top:0}.md\:prose-2xl table{font-size:.8333333em;line-height:1.4}.md\:prose-2xl thead th{padding-right:.6em;padding-bottom:.8em;padding-left:.6em}.md\:prose-2xl thead th:first-child{padding-left:0}.md\:prose-2xl thead th:last-child{padding-right:0}.md\:prose-2xl tbody td{padding-top:.8em;padding-right:.6em;padding-bottom:.8em;padding-left:.6em}.md\:prose-2xl tbody td:first-child{padding-left:0}.md\:prose-2xl tbody td:last-child{padding-right:0}.md\:prose-2xl>:first-child{margin-top:0}.md\:prose-2xl>:last-child{margin-bottom:0}.md\:space-y-0>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(0px * calc(1 - var(--space-y-reverse)));margin-bottom:calc(0px * var(--space-y-reverse))}.md\:space-x-0>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(0px * var(--space-x-reverse));margin-left:calc(0px * calc(1 - var(--space-x-reverse)))}.md\:space-y-1>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(.25rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(.25rem * var(--space-y-reverse))}.md\:space-x-1>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(.25rem * var(--space-x-reverse));margin-left:calc(.25rem * calc(1 - var(--space-x-reverse)))}.md\:space-y-2>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(.5rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(.5rem * var(--space-y-reverse))}.md\:space-x-2>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(.5rem * var(--space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--space-x-reverse)))}.md\:space-y-3>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(.75rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(.75rem * var(--space-y-reverse))}.md\:space-x-3>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(.75rem * var(--space-x-reverse));margin-left:calc(.75rem * calc(1 - var(--space-x-reverse)))}.md\:space-y-4>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(1rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(1rem * var(--space-y-reverse))}.md\:space-x-4>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(1rem * var(--space-x-reverse));margin-left:calc(1rem * calc(1 - var(--space-x-reverse)))}.md\:space-y-5>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(1.25rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(1.25rem * var(--space-y-reverse))}.md\:space-x-5>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(1.25rem * var(--space-x-reverse));margin-left:calc(1.25rem * calc(1 - var(--space-x-reverse)))}.md\:space-y-6>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(1.5rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(1.5rem * var(--space-y-reverse))}.md\:space-x-6>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(1.5rem * var(--space-x-reverse));margin-left:calc(1.5rem * calc(1 - var(--space-x-reverse)))}.md\:space-y-7>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(1.75rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(1.75rem * var(--space-y-reverse))}.md\:space-x-7>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(1.75rem * var(--space-x-reverse));margin-left:calc(1.75rem * calc(1 - var(--space-x-reverse)))}.md\:space-y-8>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(2rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(2rem * var(--space-y-reverse))}.md\:space-x-8>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(2rem * var(--space-x-reverse));margin-left:calc(2rem * calc(1 - var(--space-x-reverse)))}.md\:space-y-9>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(2.25rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(2.25rem * var(--space-y-reverse))}.md\:space-x-9>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(2.25rem * var(--space-x-reverse));margin-left:calc(2.25rem * calc(1 - var(--space-x-reverse)))}.md\:space-y-10>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(2.5rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(2.5rem * var(--space-y-reverse))}.md\:space-x-10>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(2.5rem * var(--space-x-reverse));margin-left:calc(2.5rem * calc(1 - var(--space-x-reverse)))}.md\:space-y-11>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(2.75rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(2.75rem * var(--space-y-reverse))}.md\:space-x-11>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(2.75rem * var(--space-x-reverse));margin-left:calc(2.75rem * calc(1 - var(--space-x-reverse)))}.md\:space-y-12>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(3rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(3rem * var(--space-y-reverse))}.md\:space-x-12>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(3rem * var(--space-x-reverse));margin-left:calc(3rem * calc(1 - var(--space-x-reverse)))}.md\:space-y-13>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(3.25rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(3.25rem * var(--space-y-reverse))}.md\:space-x-13>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(3.25rem * var(--space-x-reverse));margin-left:calc(3.25rem * calc(1 - var(--space-x-reverse)))}.md\:space-y-14>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(3.5rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(3.5rem * var(--space-y-reverse))}.md\:space-x-14>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(3.5rem * var(--space-x-reverse));margin-left:calc(3.5rem * calc(1 - var(--space-x-reverse)))}.md\:space-y-15>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(3.75rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(3.75rem * var(--space-y-reverse))}.md\:space-x-15>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(3.75rem * var(--space-x-reverse));margin-left:calc(3.75rem * calc(1 - var(--space-x-reverse)))}.md\:space-y-16>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(4rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(4rem * var(--space-y-reverse))}.md\:space-x-16>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(4rem * var(--space-x-reverse));margin-left:calc(4rem * calc(1 - var(--space-x-reverse)))}.md\:space-y-20>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(5rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(5rem * var(--space-y-reverse))}.md\:space-x-20>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(5rem * var(--space-x-reverse));margin-left:calc(5rem * calc(1 - var(--space-x-reverse)))}.md\:space-y-24>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(6rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(6rem * var(--space-y-reverse))}.md\:space-x-24>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(6rem * var(--space-x-reverse));margin-left:calc(6rem * calc(1 - var(--space-x-reverse)))}.md\:space-y-28>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(7rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(7rem * var(--space-y-reverse))}.md\:space-x-28>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(7rem * var(--space-x-reverse));margin-left:calc(7rem * calc(1 - var(--space-x-reverse)))}.md\:space-y-32>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(8rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(8rem * var(--space-y-reverse))}.md\:space-x-32>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(8rem * var(--space-x-reverse));margin-left:calc(8rem * calc(1 - var(--space-x-reverse)))}.md\:space-y-36>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(9rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(9rem * var(--space-y-reverse))}.md\:space-x-36>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(9rem * var(--space-x-reverse));margin-left:calc(9rem * calc(1 - var(--space-x-reverse)))}.md\:space-y-40>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(10rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(10rem * var(--space-y-reverse))}.md\:space-x-40>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(10rem * var(--space-x-reverse));margin-left:calc(10rem * calc(1 - var(--space-x-reverse)))}.md\:space-y-44>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(11rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(11rem * var(--space-y-reverse))}.md\:space-x-44>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(11rem * var(--space-x-reverse));margin-left:calc(11rem * calc(1 - var(--space-x-reverse)))}.md\:space-y-48>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(12rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(12rem * var(--space-y-reverse))}.md\:space-x-48>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(12rem * var(--space-x-reverse));margin-left:calc(12rem * calc(1 - var(--space-x-reverse)))}.md\:space-y-52>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(13rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(13rem * var(--space-y-reverse))}.md\:space-x-52>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(13rem * var(--space-x-reverse));margin-left:calc(13rem * calc(1 - var(--space-x-reverse)))}.md\:space-y-56>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(14rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(14rem * var(--space-y-reverse))}.md\:space-x-56>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(14rem * var(--space-x-reverse));margin-left:calc(14rem * calc(1 - var(--space-x-reverse)))}.md\:space-y-60>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(15rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(15rem * var(--space-y-reverse))}.md\:space-x-60>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(15rem * var(--space-x-reverse));margin-left:calc(15rem * calc(1 - var(--space-x-reverse)))}.md\:space-y-64>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(16rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(16rem * var(--space-y-reverse))}.md\:space-x-64>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(16rem * var(--space-x-reverse));margin-left:calc(16rem * calc(1 - var(--space-x-reverse)))}.md\:space-y-72>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(18rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(18rem * var(--space-y-reverse))}.md\:space-x-72>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(18rem * var(--space-x-reverse));margin-left:calc(18rem * calc(1 - var(--space-x-reverse)))}.md\:space-y-80>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(20rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(20rem * var(--space-y-reverse))}.md\:space-x-80>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(20rem * var(--space-x-reverse));margin-left:calc(20rem * calc(1 - var(--space-x-reverse)))}.md\:space-y-96>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(24rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(24rem * var(--space-y-reverse))}.md\:space-x-96>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(24rem * var(--space-x-reverse));margin-left:calc(24rem * calc(1 - var(--space-x-reverse)))}.md\:space-y-px>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(1px * calc(1 - var(--space-y-reverse)));margin-bottom:calc(1px * var(--space-y-reverse))}.md\:space-x-px>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(1px * var(--space-x-reverse));margin-left:calc(1px * calc(1 - var(--space-x-reverse)))}.md\:space-y-0\.5>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(.125rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(.125rem * var(--space-y-reverse))}.md\:space-x-0\.5>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(.125rem * var(--space-x-reverse));margin-left:calc(.125rem * calc(1 - var(--space-x-reverse)))}.md\:space-y-1\.5>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(.375rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(.375rem * var(--space-y-reverse))}.md\:space-x-1\.5>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(.375rem * var(--space-x-reverse));margin-left:calc(.375rem * calc(1 - var(--space-x-reverse)))}.md\:space-y-2\.5>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(.625rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(.625rem * var(--space-y-reverse))}.md\:space-x-2\.5>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(.625rem * var(--space-x-reverse));margin-left:calc(.625rem * calc(1 - var(--space-x-reverse)))}.md\:space-y-3\.5>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(.875rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(.875rem * var(--space-y-reverse))}.md\:space-x-3\.5>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(.875rem * var(--space-x-reverse));margin-left:calc(.875rem * calc(1 - var(--space-x-reverse)))}.md\:space-y-1\/2>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(50% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(50% * var(--space-y-reverse))}.md\:space-x-1\/2>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(50% * var(--space-x-reverse));margin-left:calc(50% * calc(1 - var(--space-x-reverse)))}.md\:space-y-1\/3>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(33.333333% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(33.333333% * var(--space-y-reverse))}.md\:space-x-1\/3>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(33.333333% * var(--space-x-reverse));margin-left:calc(33.333333% * calc(1 - var(--space-x-reverse)))}.md\:space-y-2\/3>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(66.666667% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(66.666667% * var(--space-y-reverse))}.md\:space-x-2\/3>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(66.666667% * var(--space-x-reverse));margin-left:calc(66.666667% * calc(1 - var(--space-x-reverse)))}.md\:space-y-1\/4>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(25% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(25% * var(--space-y-reverse))}.md\:space-x-1\/4>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(25% * var(--space-x-reverse));margin-left:calc(25% * calc(1 - var(--space-x-reverse)))}.md\:space-y-2\/4>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(50% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(50% * var(--space-y-reverse))}.md\:space-x-2\/4>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(50% * var(--space-x-reverse));margin-left:calc(50% * calc(1 - var(--space-x-reverse)))}.md\:space-y-3\/4>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(75% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(75% * var(--space-y-reverse))}.md\:space-x-3\/4>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(75% * var(--space-x-reverse));margin-left:calc(75% * calc(1 - var(--space-x-reverse)))}.md\:space-y-1\/5>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(20% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(20% * var(--space-y-reverse))}.md\:space-x-1\/5>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(20% * var(--space-x-reverse));margin-left:calc(20% * calc(1 - var(--space-x-reverse)))}.md\:space-y-2\/5>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(40% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(40% * var(--space-y-reverse))}.md\:space-x-2\/5>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(40% * var(--space-x-reverse));margin-left:calc(40% * calc(1 - var(--space-x-reverse)))}.md\:space-y-3\/5>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(60% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(60% * var(--space-y-reverse))}.md\:space-x-3\/5>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(60% * var(--space-x-reverse));margin-left:calc(60% * calc(1 - var(--space-x-reverse)))}.md\:space-y-4\/5>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(80% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(80% * var(--space-y-reverse))}.md\:space-x-4\/5>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(80% * var(--space-x-reverse));margin-left:calc(80% * calc(1 - var(--space-x-reverse)))}.md\:space-y-1\/6>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(16.666667% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(16.666667% * var(--space-y-reverse))}.md\:space-x-1\/6>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(16.666667% * var(--space-x-reverse));margin-left:calc(16.666667% * calc(1 - var(--space-x-reverse)))}.md\:space-y-2\/6>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(33.333333% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(33.333333% * var(--space-y-reverse))}.md\:space-x-2\/6>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(33.333333% * var(--space-x-reverse));margin-left:calc(33.333333% * calc(1 - var(--space-x-reverse)))}.md\:space-y-3\/6>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(50% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(50% * var(--space-y-reverse))}.md\:space-x-3\/6>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(50% * var(--space-x-reverse));margin-left:calc(50% * calc(1 - var(--space-x-reverse)))}.md\:space-y-4\/6>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(66.666667% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(66.666667% * var(--space-y-reverse))}.md\:space-x-4\/6>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(66.666667% * var(--space-x-reverse));margin-left:calc(66.666667% * calc(1 - var(--space-x-reverse)))}.md\:space-y-5\/6>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(83.333333% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(83.333333% * var(--space-y-reverse))}.md\:space-x-5\/6>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(83.333333% * var(--space-x-reverse));margin-left:calc(83.333333% * calc(1 - var(--space-x-reverse)))}.md\:space-y-1\/12>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(8.333333% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(8.333333% * var(--space-y-reverse))}.md\:space-x-1\/12>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(8.333333% * var(--space-x-reverse));margin-left:calc(8.333333% * calc(1 - var(--space-x-reverse)))}.md\:space-y-2\/12>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(16.666667% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(16.666667% * var(--space-y-reverse))}.md\:space-x-2\/12>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(16.666667% * var(--space-x-reverse));margin-left:calc(16.666667% * calc(1 - var(--space-x-reverse)))}.md\:space-y-3\/12>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(25% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(25% * var(--space-y-reverse))}.md\:space-x-3\/12>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(25% * var(--space-x-reverse));margin-left:calc(25% * calc(1 - var(--space-x-reverse)))}.md\:space-y-4\/12>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(33.333333% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(33.333333% * var(--space-y-reverse))}.md\:space-x-4\/12>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(33.333333% * var(--space-x-reverse));margin-left:calc(33.333333% * calc(1 - var(--space-x-reverse)))}.md\:space-y-5\/12>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(41.666667% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(41.666667% * var(--space-y-reverse))}.md\:space-x-5\/12>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(41.666667% * var(--space-x-reverse));margin-left:calc(41.666667% * calc(1 - var(--space-x-reverse)))}.md\:space-y-6\/12>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(50% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(50% * var(--space-y-reverse))}.md\:space-x-6\/12>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(50% * var(--space-x-reverse));margin-left:calc(50% * calc(1 - var(--space-x-reverse)))}.md\:space-y-7\/12>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(58.333333% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(58.333333% * var(--space-y-reverse))}.md\:space-x-7\/12>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(58.333333% * var(--space-x-reverse));margin-left:calc(58.333333% * calc(1 - var(--space-x-reverse)))}.md\:space-y-8\/12>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(66.666667% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(66.666667% * var(--space-y-reverse))}.md\:space-x-8\/12>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(66.666667% * var(--space-x-reverse));margin-left:calc(66.666667% * calc(1 - var(--space-x-reverse)))}.md\:space-y-9\/12>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(75% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(75% * var(--space-y-reverse))}.md\:space-x-9\/12>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(75% * var(--space-x-reverse));margin-left:calc(75% * calc(1 - var(--space-x-reverse)))}.md\:space-y-10\/12>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(83.333333% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(83.333333% * var(--space-y-reverse))}.md\:space-x-10\/12>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(83.333333% * var(--space-x-reverse));margin-left:calc(83.333333% * calc(1 - var(--space-x-reverse)))}.md\:space-y-11\/12>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(91.666667% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(91.666667% * var(--space-y-reverse))}.md\:space-x-11\/12>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(91.666667% * var(--space-x-reverse));margin-left:calc(91.666667% * calc(1 - var(--space-x-reverse)))}.md\:space-y-full>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(100% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(100% * var(--space-y-reverse))}.md\:space-x-full>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(100% * var(--space-x-reverse));margin-left:calc(100% * calc(1 - var(--space-x-reverse)))}.md\:-space-y-1>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-.25rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-.25rem * var(--space-y-reverse))}.md\:-space-x-1>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-.25rem * var(--space-x-reverse));margin-left:calc(-.25rem * calc(1 - var(--space-x-reverse)))}.md\:-space-y-2>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-.5rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-.5rem * var(--space-y-reverse))}.md\:-space-x-2>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-.5rem * var(--space-x-reverse));margin-left:calc(-.5rem * calc(1 - var(--space-x-reverse)))}.md\:-space-y-3>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-.75rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-.75rem * var(--space-y-reverse))}.md\:-space-x-3>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-.75rem * var(--space-x-reverse));margin-left:calc(-.75rem * calc(1 - var(--space-x-reverse)))}.md\:-space-y-4>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-1rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-1rem * var(--space-y-reverse))}.md\:-space-x-4>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-1rem * var(--space-x-reverse));margin-left:calc(-1rem * calc(1 - var(--space-x-reverse)))}.md\:-space-y-5>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-1.25rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-1.25rem * var(--space-y-reverse))}.md\:-space-x-5>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-1.25rem * var(--space-x-reverse));margin-left:calc(-1.25rem * calc(1 - var(--space-x-reverse)))}.md\:-space-y-6>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-1.5rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-1.5rem * var(--space-y-reverse))}.md\:-space-x-6>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-1.5rem * var(--space-x-reverse));margin-left:calc(-1.5rem * calc(1 - var(--space-x-reverse)))}.md\:-space-y-7>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-1.75rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-1.75rem * var(--space-y-reverse))}.md\:-space-x-7>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-1.75rem * var(--space-x-reverse));margin-left:calc(-1.75rem * calc(1 - var(--space-x-reverse)))}.md\:-space-y-8>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-2rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-2rem * var(--space-y-reverse))}.md\:-space-x-8>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-2rem * var(--space-x-reverse));margin-left:calc(-2rem * calc(1 - var(--space-x-reverse)))}.md\:-space-y-9>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-2.25rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-2.25rem * var(--space-y-reverse))}.md\:-space-x-9>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-2.25rem * var(--space-x-reverse));margin-left:calc(-2.25rem * calc(1 - var(--space-x-reverse)))}.md\:-space-y-10>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-2.5rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-2.5rem * var(--space-y-reverse))}.md\:-space-x-10>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-2.5rem * var(--space-x-reverse));margin-left:calc(-2.5rem * calc(1 - var(--space-x-reverse)))}.md\:-space-y-11>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-2.75rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-2.75rem * var(--space-y-reverse))}.md\:-space-x-11>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-2.75rem * var(--space-x-reverse));margin-left:calc(-2.75rem * calc(1 - var(--space-x-reverse)))}.md\:-space-y-12>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-3rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-3rem * var(--space-y-reverse))}.md\:-space-x-12>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-3rem * var(--space-x-reverse));margin-left:calc(-3rem * calc(1 - var(--space-x-reverse)))}.md\:-space-y-13>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-3.25rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-3.25rem * var(--space-y-reverse))}.md\:-space-x-13>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-3.25rem * var(--space-x-reverse));margin-left:calc(-3.25rem * calc(1 - var(--space-x-reverse)))}.md\:-space-y-14>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-3.5rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-3.5rem * var(--space-y-reverse))}.md\:-space-x-14>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-3.5rem * var(--space-x-reverse));margin-left:calc(-3.5rem * calc(1 - var(--space-x-reverse)))}.md\:-space-y-15>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-3.75rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-3.75rem * var(--space-y-reverse))}.md\:-space-x-15>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-3.75rem * var(--space-x-reverse));margin-left:calc(-3.75rem * calc(1 - var(--space-x-reverse)))}.md\:-space-y-16>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-4rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-4rem * var(--space-y-reverse))}.md\:-space-x-16>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-4rem * var(--space-x-reverse));margin-left:calc(-4rem * calc(1 - var(--space-x-reverse)))}.md\:-space-y-20>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-5rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-5rem * var(--space-y-reverse))}.md\:-space-x-20>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-5rem * var(--space-x-reverse));margin-left:calc(-5rem * calc(1 - var(--space-x-reverse)))}.md\:-space-y-24>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-6rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-6rem * var(--space-y-reverse))}.md\:-space-x-24>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-6rem * var(--space-x-reverse));margin-left:calc(-6rem * calc(1 - var(--space-x-reverse)))}.md\:-space-y-28>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-7rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-7rem * var(--space-y-reverse))}.md\:-space-x-28>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-7rem * var(--space-x-reverse));margin-left:calc(-7rem * calc(1 - var(--space-x-reverse)))}.md\:-space-y-32>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-8rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-8rem * var(--space-y-reverse))}.md\:-space-x-32>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-8rem * var(--space-x-reverse));margin-left:calc(-8rem * calc(1 - var(--space-x-reverse)))}.md\:-space-y-36>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-9rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-9rem * var(--space-y-reverse))}.md\:-space-x-36>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-9rem * var(--space-x-reverse));margin-left:calc(-9rem * calc(1 - var(--space-x-reverse)))}.md\:-space-y-40>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-10rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-10rem * var(--space-y-reverse))}.md\:-space-x-40>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-10rem * var(--space-x-reverse));margin-left:calc(-10rem * calc(1 - var(--space-x-reverse)))}.md\:-space-y-44>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-11rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-11rem * var(--space-y-reverse))}.md\:-space-x-44>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-11rem * var(--space-x-reverse));margin-left:calc(-11rem * calc(1 - var(--space-x-reverse)))}.md\:-space-y-48>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-12rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-12rem * var(--space-y-reverse))}.md\:-space-x-48>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-12rem * var(--space-x-reverse));margin-left:calc(-12rem * calc(1 - var(--space-x-reverse)))}.md\:-space-y-52>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-13rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-13rem * var(--space-y-reverse))}.md\:-space-x-52>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-13rem * var(--space-x-reverse));margin-left:calc(-13rem * calc(1 - var(--space-x-reverse)))}.md\:-space-y-56>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-14rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-14rem * var(--space-y-reverse))}.md\:-space-x-56>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-14rem * var(--space-x-reverse));margin-left:calc(-14rem * calc(1 - var(--space-x-reverse)))}.md\:-space-y-60>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-15rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-15rem * var(--space-y-reverse))}.md\:-space-x-60>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-15rem * var(--space-x-reverse));margin-left:calc(-15rem * calc(1 - var(--space-x-reverse)))}.md\:-space-y-64>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-16rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-16rem * var(--space-y-reverse))}.md\:-space-x-64>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-16rem * var(--space-x-reverse));margin-left:calc(-16rem * calc(1 - var(--space-x-reverse)))}.md\:-space-y-72>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-18rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-18rem * var(--space-y-reverse))}.md\:-space-x-72>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-18rem * var(--space-x-reverse));margin-left:calc(-18rem * calc(1 - var(--space-x-reverse)))}.md\:-space-y-80>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-20rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-20rem * var(--space-y-reverse))}.md\:-space-x-80>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-20rem * var(--space-x-reverse));margin-left:calc(-20rem * calc(1 - var(--space-x-reverse)))}.md\:-space-y-96>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-24rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-24rem * var(--space-y-reverse))}.md\:-space-x-96>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-24rem * var(--space-x-reverse));margin-left:calc(-24rem * calc(1 - var(--space-x-reverse)))}.md\:-space-y-px>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-1px * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-1px * var(--space-y-reverse))}.md\:-space-x-px>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-1px * var(--space-x-reverse));margin-left:calc(-1px * calc(1 - var(--space-x-reverse)))}.md\:-space-y-0\.5>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-.125rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-.125rem * var(--space-y-reverse))}.md\:-space-x-0\.5>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-.125rem * var(--space-x-reverse));margin-left:calc(-.125rem * calc(1 - var(--space-x-reverse)))}.md\:-space-y-1\.5>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-.375rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-.375rem * var(--space-y-reverse))}.md\:-space-x-1\.5>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-.375rem * var(--space-x-reverse));margin-left:calc(-.375rem * calc(1 - var(--space-x-reverse)))}.md\:-space-y-2\.5>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-.625rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-.625rem * var(--space-y-reverse))}.md\:-space-x-2\.5>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-.625rem * var(--space-x-reverse));margin-left:calc(-.625rem * calc(1 - var(--space-x-reverse)))}.md\:-space-y-3\.5>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-.875rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-.875rem * var(--space-y-reverse))}.md\:-space-x-3\.5>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-.875rem * var(--space-x-reverse));margin-left:calc(-.875rem * calc(1 - var(--space-x-reverse)))}.md\:-space-y-1\/2>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-50% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-50% * var(--space-y-reverse))}.md\:-space-x-1\/2>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-50% * var(--space-x-reverse));margin-left:calc(-50% * calc(1 - var(--space-x-reverse)))}.md\:-space-y-1\/3>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-33.33333% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-33.33333% * var(--space-y-reverse))}.md\:-space-x-1\/3>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-33.33333% * var(--space-x-reverse));margin-left:calc(-33.33333% * calc(1 - var(--space-x-reverse)))}.md\:-space-y-2\/3>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-66.66667% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-66.66667% * var(--space-y-reverse))}.md\:-space-x-2\/3>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-66.66667% * var(--space-x-reverse));margin-left:calc(-66.66667% * calc(1 - var(--space-x-reverse)))}.md\:-space-y-1\/4>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-25% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-25% * var(--space-y-reverse))}.md\:-space-x-1\/4>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-25% * var(--space-x-reverse));margin-left:calc(-25% * calc(1 - var(--space-x-reverse)))}.md\:-space-y-2\/4>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-50% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-50% * var(--space-y-reverse))}.md\:-space-x-2\/4>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-50% * var(--space-x-reverse));margin-left:calc(-50% * calc(1 - var(--space-x-reverse)))}.md\:-space-y-3\/4>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-75% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-75% * var(--space-y-reverse))}.md\:-space-x-3\/4>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-75% * var(--space-x-reverse));margin-left:calc(-75% * calc(1 - var(--space-x-reverse)))}.md\:-space-y-1\/5>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-20% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-20% * var(--space-y-reverse))}.md\:-space-x-1\/5>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-20% * var(--space-x-reverse));margin-left:calc(-20% * calc(1 - var(--space-x-reverse)))}.md\:-space-y-2\/5>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-40% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-40% * var(--space-y-reverse))}.md\:-space-x-2\/5>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-40% * var(--space-x-reverse));margin-left:calc(-40% * calc(1 - var(--space-x-reverse)))}.md\:-space-y-3\/5>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-60% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-60% * var(--space-y-reverse))}.md\:-space-x-3\/5>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-60% * var(--space-x-reverse));margin-left:calc(-60% * calc(1 - var(--space-x-reverse)))}.md\:-space-y-4\/5>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-80% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-80% * var(--space-y-reverse))}.md\:-space-x-4\/5>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-80% * var(--space-x-reverse));margin-left:calc(-80% * calc(1 - var(--space-x-reverse)))}.md\:-space-y-1\/6>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-16.66667% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-16.66667% * var(--space-y-reverse))}.md\:-space-x-1\/6>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-16.66667% * var(--space-x-reverse));margin-left:calc(-16.66667% * calc(1 - var(--space-x-reverse)))}.md\:-space-y-2\/6>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-33.33333% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-33.33333% * var(--space-y-reverse))}.md\:-space-x-2\/6>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-33.33333% * var(--space-x-reverse));margin-left:calc(-33.33333% * calc(1 - var(--space-x-reverse)))}.md\:-space-y-3\/6>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-50% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-50% * var(--space-y-reverse))}.md\:-space-x-3\/6>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-50% * var(--space-x-reverse));margin-left:calc(-50% * calc(1 - var(--space-x-reverse)))}.md\:-space-y-4\/6>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-66.66667% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-66.66667% * var(--space-y-reverse))}.md\:-space-x-4\/6>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-66.66667% * var(--space-x-reverse));margin-left:calc(-66.66667% * calc(1 - var(--space-x-reverse)))}.md\:-space-y-5\/6>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-83.33333% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-83.33333% * var(--space-y-reverse))}.md\:-space-x-5\/6>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-83.33333% * var(--space-x-reverse));margin-left:calc(-83.33333% * calc(1 - var(--space-x-reverse)))}.md\:-space-y-1\/12>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-8.33333% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-8.33333% * var(--space-y-reverse))}.md\:-space-x-1\/12>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-8.33333% * var(--space-x-reverse));margin-left:calc(-8.33333% * calc(1 - var(--space-x-reverse)))}.md\:-space-y-2\/12>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-16.66667% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-16.66667% * var(--space-y-reverse))}.md\:-space-x-2\/12>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-16.66667% * var(--space-x-reverse));margin-left:calc(-16.66667% * calc(1 - var(--space-x-reverse)))}.md\:-space-y-3\/12>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-25% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-25% * var(--space-y-reverse))}.md\:-space-x-3\/12>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-25% * var(--space-x-reverse));margin-left:calc(-25% * calc(1 - var(--space-x-reverse)))}.md\:-space-y-4\/12>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-33.33333% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-33.33333% * var(--space-y-reverse))}.md\:-space-x-4\/12>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-33.33333% * var(--space-x-reverse));margin-left:calc(-33.33333% * calc(1 - var(--space-x-reverse)))}.md\:-space-y-5\/12>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-41.66667% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-41.66667% * var(--space-y-reverse))}.md\:-space-x-5\/12>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-41.66667% * var(--space-x-reverse));margin-left:calc(-41.66667% * calc(1 - var(--space-x-reverse)))}.md\:-space-y-6\/12>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-50% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-50% * var(--space-y-reverse))}.md\:-space-x-6\/12>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-50% * var(--space-x-reverse));margin-left:calc(-50% * calc(1 - var(--space-x-reverse)))}.md\:-space-y-7\/12>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-58.33333% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-58.33333% * var(--space-y-reverse))}.md\:-space-x-7\/12>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-58.33333% * var(--space-x-reverse));margin-left:calc(-58.33333% * calc(1 - var(--space-x-reverse)))}.md\:-space-y-8\/12>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-66.66667% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-66.66667% * var(--space-y-reverse))}.md\:-space-x-8\/12>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-66.66667% * var(--space-x-reverse));margin-left:calc(-66.66667% * calc(1 - var(--space-x-reverse)))}.md\:-space-y-9\/12>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-75% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-75% * var(--space-y-reverse))}.md\:-space-x-9\/12>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-75% * var(--space-x-reverse));margin-left:calc(-75% * calc(1 - var(--space-x-reverse)))}.md\:-space-y-10\/12>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-83.33333% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-83.33333% * var(--space-y-reverse))}.md\:-space-x-10\/12>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-83.33333% * var(--space-x-reverse));margin-left:calc(-83.33333% * calc(1 - var(--space-x-reverse)))}.md\:-space-y-11\/12>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-91.66667% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-91.66667% * var(--space-y-reverse))}.md\:-space-x-11\/12>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-91.66667% * var(--space-x-reverse));margin-left:calc(-91.66667% * calc(1 - var(--space-x-reverse)))}.md\:-space-y-full>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-100% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-100% * var(--space-y-reverse))}.md\:-space-x-full>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-100% * var(--space-x-reverse));margin-left:calc(-100% * calc(1 - var(--space-x-reverse)))}.md\:space-y-reverse>:not(template)~:not(template){--space-y-reverse:1}.md\:space-x-reverse>:not(template)~:not(template){--space-x-reverse:1}.md\:divide-y-0>:not(template)~:not(template){--divide-y-reverse:0;border-top-width:calc(0px * calc(1 - var(--divide-y-reverse)));border-bottom-width:calc(0px * var(--divide-y-reverse))}.md\:divide-x-0>:not(template)~:not(template){--divide-x-reverse:0;border-right-width:calc(0px * var(--divide-x-reverse));border-left-width:calc(0px * calc(1 - var(--divide-x-reverse)))}.md\:divide-y-2>:not(template)~:not(template){--divide-y-reverse:0;border-top-width:calc(2px * calc(1 - var(--divide-y-reverse)));border-bottom-width:calc(2px * var(--divide-y-reverse))}.md\:divide-x-2>:not(template)~:not(template){--divide-x-reverse:0;border-right-width:calc(2px * var(--divide-x-reverse));border-left-width:calc(2px * calc(1 - var(--divide-x-reverse)))}.md\:divide-y-4>:not(template)~:not(template){--divide-y-reverse:0;border-top-width:calc(4px * calc(1 - var(--divide-y-reverse)));border-bottom-width:calc(4px * var(--divide-y-reverse))}.md\:divide-x-4>:not(template)~:not(template){--divide-x-reverse:0;border-right-width:calc(4px * var(--divide-x-reverse));border-left-width:calc(4px * calc(1 - var(--divide-x-reverse)))}.md\:divide-y-8>:not(template)~:not(template){--divide-y-reverse:0;border-top-width:calc(8px * calc(1 - var(--divide-y-reverse)));border-bottom-width:calc(8px * var(--divide-y-reverse))}.md\:divide-x-8>:not(template)~:not(template){--divide-x-reverse:0;border-right-width:calc(8px * var(--divide-x-reverse));border-left-width:calc(8px * calc(1 - var(--divide-x-reverse)))}.md\:divide-y>:not(template)~:not(template){--divide-y-reverse:0;border-top-width:calc(1px * calc(1 - var(--divide-y-reverse)));border-bottom-width:calc(1px * var(--divide-y-reverse))}.md\:divide-x>:not(template)~:not(template){--divide-x-reverse:0;border-right-width:calc(1px * var(--divide-x-reverse));border-left-width:calc(1px * calc(1 - var(--divide-x-reverse)))}.md\:divide-y-reverse>:not(template)~:not(template){--divide-y-reverse:1}.md\:divide-x-reverse>:not(template)~:not(template){--divide-x-reverse:1}.md\:divide-transparent>:not(template)~:not(template){border-color:transparent}.md\:divide-white>:not(template)~:not(template){--divide-opacity:1;border-color:#fff;border-color:rgba(255,255,255,var(--divide-opacity))}.md\:divide-black>:not(template)~:not(template){--divide-opacity:1;border-color:#000;border-color:rgba(0,0,0,var(--divide-opacity))}.md\:divide-gray-50>:not(template)~:not(template){--divide-opacity:1;border-color:#f9fafb;border-color:rgba(249,250,251,var(--divide-opacity))}.md\:divide-gray-100>:not(template)~:not(template){--divide-opacity:1;border-color:#f4f5f7;border-color:rgba(244,245,247,var(--divide-opacity))}.md\:divide-gray-200>:not(template)~:not(template){--divide-opacity:1;border-color:#e5e7eb;border-color:rgba(229,231,235,var(--divide-opacity))}.md\:divide-gray-300>:not(template)~:not(template){--divide-opacity:1;border-color:#d2d6dc;border-color:rgba(210,214,220,var(--divide-opacity))}.md\:divide-gray-400>:not(template)~:not(template){--divide-opacity:1;border-color:#9fa6b2;border-color:rgba(159,166,178,var(--divide-opacity))}.md\:divide-gray-500>:not(template)~:not(template){--divide-opacity:1;border-color:#6b7280;border-color:rgba(107,114,128,var(--divide-opacity))}.md\:divide-gray-600>:not(template)~:not(template){--divide-opacity:1;border-color:#4b5563;border-color:rgba(75,85,99,var(--divide-opacity))}.md\:divide-gray-700>:not(template)~:not(template){--divide-opacity:1;border-color:#374151;border-color:rgba(55,65,81,var(--divide-opacity))}.md\:divide-gray-800>:not(template)~:not(template){--divide-opacity:1;border-color:#252f3f;border-color:rgba(37,47,63,var(--divide-opacity))}.md\:divide-gray-900>:not(template)~:not(template){--divide-opacity:1;border-color:#161e2e;border-color:rgba(22,30,46,var(--divide-opacity))}.md\:divide-cool-gray-50>:not(template)~:not(template){--divide-opacity:1;border-color:#f8fafc;border-color:rgba(248,250,252,var(--divide-opacity))}.md\:divide-cool-gray-100>:not(template)~:not(template){--divide-opacity:1;border-color:#f1f5f9;border-color:rgba(241,245,249,var(--divide-opacity))}.md\:divide-cool-gray-200>:not(template)~:not(template){--divide-opacity:1;border-color:#e2e8f0;border-color:rgba(226,232,240,var(--divide-opacity))}.md\:divide-cool-gray-300>:not(template)~:not(template){--divide-opacity:1;border-color:#cfd8e3;border-color:rgba(207,216,227,var(--divide-opacity))}.md\:divide-cool-gray-400>:not(template)~:not(template){--divide-opacity:1;border-color:#97a6ba;border-color:rgba(151,166,186,var(--divide-opacity))}.md\:divide-cool-gray-500>:not(template)~:not(template){--divide-opacity:1;border-color:#64748b;border-color:rgba(100,116,139,var(--divide-opacity))}.md\:divide-cool-gray-600>:not(template)~:not(template){--divide-opacity:1;border-color:#475569;border-color:rgba(71,85,105,var(--divide-opacity))}.md\:divide-cool-gray-700>:not(template)~:not(template){--divide-opacity:1;border-color:#364152;border-color:rgba(54,65,82,var(--divide-opacity))}.md\:divide-cool-gray-800>:not(template)~:not(template){--divide-opacity:1;border-color:#27303f;border-color:rgba(39,48,63,var(--divide-opacity))}.md\:divide-cool-gray-900>:not(template)~:not(template){--divide-opacity:1;border-color:#1a202e;border-color:rgba(26,32,46,var(--divide-opacity))}.md\:divide-red-50>:not(template)~:not(template){--divide-opacity:1;border-color:#fdf2f2;border-color:rgba(253,242,242,var(--divide-opacity))}.md\:divide-red-100>:not(template)~:not(template){--divide-opacity:1;border-color:#fde8e8;border-color:rgba(253,232,232,var(--divide-opacity))}.md\:divide-red-200>:not(template)~:not(template){--divide-opacity:1;border-color:#fbd5d5;border-color:rgba(251,213,213,var(--divide-opacity))}.md\:divide-red-300>:not(template)~:not(template){--divide-opacity:1;border-color:#f8b4b4;border-color:rgba(248,180,180,var(--divide-opacity))}.md\:divide-red-400>:not(template)~:not(template){--divide-opacity:1;border-color:#f98080;border-color:rgba(249,128,128,var(--divide-opacity))}.md\:divide-red-500>:not(template)~:not(template){--divide-opacity:1;border-color:#f05252;border-color:rgba(240,82,82,var(--divide-opacity))}.md\:divide-red-600>:not(template)~:not(template){--divide-opacity:1;border-color:#e02424;border-color:rgba(224,36,36,var(--divide-opacity))}.md\:divide-red-700>:not(template)~:not(template){--divide-opacity:1;border-color:#c81e1e;border-color:rgba(200,30,30,var(--divide-opacity))}.md\:divide-red-800>:not(template)~:not(template){--divide-opacity:1;border-color:#9b1c1c;border-color:rgba(155,28,28,var(--divide-opacity))}.md\:divide-red-900>:not(template)~:not(template){--divide-opacity:1;border-color:#771d1d;border-color:rgba(119,29,29,var(--divide-opacity))}.md\:divide-orange-50>:not(template)~:not(template){--divide-opacity:1;border-color:#fff8f1;border-color:rgba(255,248,241,var(--divide-opacity))}.md\:divide-orange-100>:not(template)~:not(template){--divide-opacity:1;border-color:#feecdc;border-color:rgba(254,236,220,var(--divide-opacity))}.md\:divide-orange-200>:not(template)~:not(template){--divide-opacity:1;border-color:#fcd9bd;border-color:rgba(252,217,189,var(--divide-opacity))}.md\:divide-orange-300>:not(template)~:not(template){--divide-opacity:1;border-color:#fdba8c;border-color:rgba(253,186,140,var(--divide-opacity))}.md\:divide-orange-400>:not(template)~:not(template){--divide-opacity:1;border-color:#ff8a4c;border-color:rgba(255,138,76,var(--divide-opacity))}.md\:divide-orange-500>:not(template)~:not(template){--divide-opacity:1;border-color:#ff5a1f;border-color:rgba(255,90,31,var(--divide-opacity))}.md\:divide-orange-600>:not(template)~:not(template){--divide-opacity:1;border-color:#d03801;border-color:rgba(208,56,1,var(--divide-opacity))}.md\:divide-orange-700>:not(template)~:not(template){--divide-opacity:1;border-color:#b43403;border-color:rgba(180,52,3,var(--divide-opacity))}.md\:divide-orange-800>:not(template)~:not(template){--divide-opacity:1;border-color:#8a2c0d;border-color:rgba(138,44,13,var(--divide-opacity))}.md\:divide-orange-900>:not(template)~:not(template){--divide-opacity:1;border-color:#73230d;border-color:rgba(115,35,13,var(--divide-opacity))}.md\:divide-yellow-50>:not(template)~:not(template){--divide-opacity:1;border-color:#fdfdea;border-color:rgba(253,253,234,var(--divide-opacity))}.md\:divide-yellow-100>:not(template)~:not(template){--divide-opacity:1;border-color:#fdf6b2;border-color:rgba(253,246,178,var(--divide-opacity))}.md\:divide-yellow-200>:not(template)~:not(template){--divide-opacity:1;border-color:#fce96a;border-color:rgba(252,233,106,var(--divide-opacity))}.md\:divide-yellow-300>:not(template)~:not(template){--divide-opacity:1;border-color:#faca15;border-color:rgba(250,202,21,var(--divide-opacity))}.md\:divide-yellow-400>:not(template)~:not(template){--divide-opacity:1;border-color:#e3a008;border-color:rgba(227,160,8,var(--divide-opacity))}.md\:divide-yellow-500>:not(template)~:not(template){--divide-opacity:1;border-color:#c27803;border-color:rgba(194,120,3,var(--divide-opacity))}.md\:divide-yellow-600>:not(template)~:not(template){--divide-opacity:1;border-color:#9f580a;border-color:rgba(159,88,10,var(--divide-opacity))}.md\:divide-yellow-700>:not(template)~:not(template){--divide-opacity:1;border-color:#8e4b10;border-color:rgba(142,75,16,var(--divide-opacity))}.md\:divide-yellow-800>:not(template)~:not(template){--divide-opacity:1;border-color:#723b13;border-color:rgba(114,59,19,var(--divide-opacity))}.md\:divide-yellow-900>:not(template)~:not(template){--divide-opacity:1;border-color:#633112;border-color:rgba(99,49,18,var(--divide-opacity))}.md\:divide-green-50>:not(template)~:not(template){--divide-opacity:1;border-color:#f3faf7;border-color:rgba(243,250,247,var(--divide-opacity))}.md\:divide-green-100>:not(template)~:not(template){--divide-opacity:1;border-color:#def7ec;border-color:rgba(222,247,236,var(--divide-opacity))}.md\:divide-green-200>:not(template)~:not(template){--divide-opacity:1;border-color:#bcf0da;border-color:rgba(188,240,218,var(--divide-opacity))}.md\:divide-green-300>:not(template)~:not(template){--divide-opacity:1;border-color:#84e1bc;border-color:rgba(132,225,188,var(--divide-opacity))}.md\:divide-green-400>:not(template)~:not(template){--divide-opacity:1;border-color:#31c48d;border-color:rgba(49,196,141,var(--divide-opacity))}.md\:divide-green-500>:not(template)~:not(template){--divide-opacity:1;border-color:#0e9f6e;border-color:rgba(14,159,110,var(--divide-opacity))}.md\:divide-green-600>:not(template)~:not(template){--divide-opacity:1;border-color:#057a55;border-color:rgba(5,122,85,var(--divide-opacity))}.md\:divide-green-700>:not(template)~:not(template){--divide-opacity:1;border-color:#046c4e;border-color:rgba(4,108,78,var(--divide-opacity))}.md\:divide-green-800>:not(template)~:not(template){--divide-opacity:1;border-color:#03543f;border-color:rgba(3,84,63,var(--divide-opacity))}.md\:divide-green-900>:not(template)~:not(template){--divide-opacity:1;border-color:#014737;border-color:rgba(1,71,55,var(--divide-opacity))}.md\:divide-teal-50>:not(template)~:not(template){--divide-opacity:1;border-color:#edfafa;border-color:rgba(237,250,250,var(--divide-opacity))}.md\:divide-teal-100>:not(template)~:not(template){--divide-opacity:1;border-color:#d5f5f6;border-color:rgba(213,245,246,var(--divide-opacity))}.md\:divide-teal-200>:not(template)~:not(template){--divide-opacity:1;border-color:#afecef;border-color:rgba(175,236,239,var(--divide-opacity))}.md\:divide-teal-300>:not(template)~:not(template){--divide-opacity:1;border-color:#7edce2;border-color:rgba(126,220,226,var(--divide-opacity))}.md\:divide-teal-400>:not(template)~:not(template){--divide-opacity:1;border-color:#16bdca;border-color:rgba(22,189,202,var(--divide-opacity))}.md\:divide-teal-500>:not(template)~:not(template){--divide-opacity:1;border-color:#0694a2;border-color:rgba(6,148,162,var(--divide-opacity))}.md\:divide-teal-600>:not(template)~:not(template){--divide-opacity:1;border-color:#047481;border-color:rgba(4,116,129,var(--divide-opacity))}.md\:divide-teal-700>:not(template)~:not(template){--divide-opacity:1;border-color:#036672;border-color:rgba(3,102,114,var(--divide-opacity))}.md\:divide-teal-800>:not(template)~:not(template){--divide-opacity:1;border-color:#05505c;border-color:rgba(5,80,92,var(--divide-opacity))}.md\:divide-teal-900>:not(template)~:not(template){--divide-opacity:1;border-color:#014451;border-color:rgba(1,68,81,var(--divide-opacity))}.md\:divide-blue-50>:not(template)~:not(template){--divide-opacity:1;border-color:#ebf5ff;border-color:rgba(235,245,255,var(--divide-opacity))}.md\:divide-blue-100>:not(template)~:not(template){--divide-opacity:1;border-color:#e1effe;border-color:rgba(225,239,254,var(--divide-opacity))}.md\:divide-blue-200>:not(template)~:not(template){--divide-opacity:1;border-color:#c3ddfd;border-color:rgba(195,221,253,var(--divide-opacity))}.md\:divide-blue-300>:not(template)~:not(template){--divide-opacity:1;border-color:#a4cafe;border-color:rgba(164,202,254,var(--divide-opacity))}.md\:divide-blue-400>:not(template)~:not(template){--divide-opacity:1;border-color:#76a9fa;border-color:rgba(118,169,250,var(--divide-opacity))}.md\:divide-blue-500>:not(template)~:not(template){--divide-opacity:1;border-color:#3f83f8;border-color:rgba(63,131,248,var(--divide-opacity))}.md\:divide-blue-600>:not(template)~:not(template){--divide-opacity:1;border-color:#1c64f2;border-color:rgba(28,100,242,var(--divide-opacity))}.md\:divide-blue-700>:not(template)~:not(template){--divide-opacity:1;border-color:#1a56db;border-color:rgba(26,86,219,var(--divide-opacity))}.md\:divide-blue-800>:not(template)~:not(template){--divide-opacity:1;border-color:#1e429f;border-color:rgba(30,66,159,var(--divide-opacity))}.md\:divide-blue-900>:not(template)~:not(template){--divide-opacity:1;border-color:#233876;border-color:rgba(35,56,118,var(--divide-opacity))}.md\:divide-indigo-50>:not(template)~:not(template){--divide-opacity:1;border-color:#f0f5ff;border-color:rgba(240,245,255,var(--divide-opacity))}.md\:divide-indigo-100>:not(template)~:not(template){--divide-opacity:1;border-color:#e5edff;border-color:rgba(229,237,255,var(--divide-opacity))}.md\:divide-indigo-200>:not(template)~:not(template){--divide-opacity:1;border-color:#cddbfe;border-color:rgba(205,219,254,var(--divide-opacity))}.md\:divide-indigo-300>:not(template)~:not(template){--divide-opacity:1;border-color:#b4c6fc;border-color:rgba(180,198,252,var(--divide-opacity))}.md\:divide-indigo-400>:not(template)~:not(template){--divide-opacity:1;border-color:#8da2fb;border-color:rgba(141,162,251,var(--divide-opacity))}.md\:divide-indigo-500>:not(template)~:not(template){--divide-opacity:1;border-color:#6875f5;border-color:rgba(104,117,245,var(--divide-opacity))}.md\:divide-indigo-600>:not(template)~:not(template){--divide-opacity:1;border-color:#5850ec;border-color:rgba(88,80,236,var(--divide-opacity))}.md\:divide-indigo-700>:not(template)~:not(template){--divide-opacity:1;border-color:#5145cd;border-color:rgba(81,69,205,var(--divide-opacity))}.md\:divide-indigo-800>:not(template)~:not(template){--divide-opacity:1;border-color:#42389d;border-color:rgba(66,56,157,var(--divide-opacity))}.md\:divide-indigo-900>:not(template)~:not(template){--divide-opacity:1;border-color:#362f78;border-color:rgba(54,47,120,var(--divide-opacity))}.md\:divide-purple-50>:not(template)~:not(template){--divide-opacity:1;border-color:#f6f5ff;border-color:rgba(246,245,255,var(--divide-opacity))}.md\:divide-purple-100>:not(template)~:not(template){--divide-opacity:1;border-color:#edebfe;border-color:rgba(237,235,254,var(--divide-opacity))}.md\:divide-purple-200>:not(template)~:not(template){--divide-opacity:1;border-color:#dcd7fe;border-color:rgba(220,215,254,var(--divide-opacity))}.md\:divide-purple-300>:not(template)~:not(template){--divide-opacity:1;border-color:#cabffd;border-color:rgba(202,191,253,var(--divide-opacity))}.md\:divide-purple-400>:not(template)~:not(template){--divide-opacity:1;border-color:#ac94fa;border-color:rgba(172,148,250,var(--divide-opacity))}.md\:divide-purple-500>:not(template)~:not(template){--divide-opacity:1;border-color:#9061f9;border-color:rgba(144,97,249,var(--divide-opacity))}.md\:divide-purple-600>:not(template)~:not(template){--divide-opacity:1;border-color:#7e3af2;border-color:rgba(126,58,242,var(--divide-opacity))}.md\:divide-purple-700>:not(template)~:not(template){--divide-opacity:1;border-color:#6c2bd9;border-color:rgba(108,43,217,var(--divide-opacity))}.md\:divide-purple-800>:not(template)~:not(template){--divide-opacity:1;border-color:#5521b5;border-color:rgba(85,33,181,var(--divide-opacity))}.md\:divide-purple-900>:not(template)~:not(template){--divide-opacity:1;border-color:#4a1d96;border-color:rgba(74,29,150,var(--divide-opacity))}.md\:divide-pink-50>:not(template)~:not(template){--divide-opacity:1;border-color:#fdf2f8;border-color:rgba(253,242,248,var(--divide-opacity))}.md\:divide-pink-100>:not(template)~:not(template){--divide-opacity:1;border-color:#fce8f3;border-color:rgba(252,232,243,var(--divide-opacity))}.md\:divide-pink-200>:not(template)~:not(template){--divide-opacity:1;border-color:#fad1e8;border-color:rgba(250,209,232,var(--divide-opacity))}.md\:divide-pink-300>:not(template)~:not(template){--divide-opacity:1;border-color:#f8b4d9;border-color:rgba(248,180,217,var(--divide-opacity))}.md\:divide-pink-400>:not(template)~:not(template){--divide-opacity:1;border-color:#f17eb8;border-color:rgba(241,126,184,var(--divide-opacity))}.md\:divide-pink-500>:not(template)~:not(template){--divide-opacity:1;border-color:#e74694;border-color:rgba(231,70,148,var(--divide-opacity))}.md\:divide-pink-600>:not(template)~:not(template){--divide-opacity:1;border-color:#d61f69;border-color:rgba(214,31,105,var(--divide-opacity))}.md\:divide-pink-700>:not(template)~:not(template){--divide-opacity:1;border-color:#bf125d;border-color:rgba(191,18,93,var(--divide-opacity))}.md\:divide-pink-800>:not(template)~:not(template){--divide-opacity:1;border-color:#99154b;border-color:rgba(153,21,75,var(--divide-opacity))}.md\:divide-pink-900>:not(template)~:not(template){--divide-opacity:1;border-color:#751a3d;border-color:rgba(117,26,61,var(--divide-opacity))}.md\:divide-opacity-0>:not(template)~:not(template){--divide-opacity:0}.md\:divide-opacity-25>:not(template)~:not(template){--divide-opacity:0.25}.md\:divide-opacity-50>:not(template)~:not(template){--divide-opacity:0.5}.md\:divide-opacity-75>:not(template)~:not(template){--divide-opacity:0.75}.md\:divide-opacity-100>:not(template)~:not(template){--divide-opacity:1}.md\:sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.md\:not-sr-only{position:static;width:auto;height:auto;padding:0;margin:0;overflow:visible;clip:auto;white-space:normal}.md\:focus\:sr-only:focus{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.md\:focus\:not-sr-only:focus{position:static;width:auto;height:auto;padding:0;margin:0;overflow:visible;clip:auto;white-space:normal}.md\:appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.md\:bg-fixed{background-attachment:fixed}.md\:bg-local{background-attachment:local}.md\:bg-scroll{background-attachment:scroll}.md\:bg-transparent{background-color:transparent}.md\:bg-white{--bg-opacity:1;background-color:#fff;background-color:rgba(255,255,255,var(--bg-opacity))}.md\:bg-black{--bg-opacity:1;background-color:#000;background-color:rgba(0,0,0,var(--bg-opacity))}.md\:bg-gray-50{--bg-opacity:1;background-color:#f9fafb;background-color:rgba(249,250,251,var(--bg-opacity))}.md\:bg-gray-100{--bg-opacity:1;background-color:#f4f5f7;background-color:rgba(244,245,247,var(--bg-opacity))}.md\:bg-gray-200{--bg-opacity:1;background-color:#e5e7eb;background-color:rgba(229,231,235,var(--bg-opacity))}.md\:bg-gray-300{--bg-opacity:1;background-color:#d2d6dc;background-color:rgba(210,214,220,var(--bg-opacity))}.md\:bg-gray-400{--bg-opacity:1;background-color:#9fa6b2;background-color:rgba(159,166,178,var(--bg-opacity))}.md\:bg-gray-500{--bg-opacity:1;background-color:#6b7280;background-color:rgba(107,114,128,var(--bg-opacity))}.md\:bg-gray-600{--bg-opacity:1;background-color:#4b5563;background-color:rgba(75,85,99,var(--bg-opacity))}.md\:bg-gray-700{--bg-opacity:1;background-color:#374151;background-color:rgba(55,65,81,var(--bg-opacity))}.md\:bg-gray-800{--bg-opacity:1;background-color:#252f3f;background-color:rgba(37,47,63,var(--bg-opacity))}.md\:bg-gray-900{--bg-opacity:1;background-color:#161e2e;background-color:rgba(22,30,46,var(--bg-opacity))}.md\:bg-cool-gray-50{--bg-opacity:1;background-color:#f8fafc;background-color:rgba(248,250,252,var(--bg-opacity))}.md\:bg-cool-gray-100{--bg-opacity:1;background-color:#f1f5f9;background-color:rgba(241,245,249,var(--bg-opacity))}.md\:bg-cool-gray-200{--bg-opacity:1;background-color:#e2e8f0;background-color:rgba(226,232,240,var(--bg-opacity))}.md\:bg-cool-gray-300{--bg-opacity:1;background-color:#cfd8e3;background-color:rgba(207,216,227,var(--bg-opacity))}.md\:bg-cool-gray-400{--bg-opacity:1;background-color:#97a6ba;background-color:rgba(151,166,186,var(--bg-opacity))}.md\:bg-cool-gray-500{--bg-opacity:1;background-color:#64748b;background-color:rgba(100,116,139,var(--bg-opacity))}.md\:bg-cool-gray-600{--bg-opacity:1;background-color:#475569;background-color:rgba(71,85,105,var(--bg-opacity))}.md\:bg-cool-gray-700{--bg-opacity:1;background-color:#364152;background-color:rgba(54,65,82,var(--bg-opacity))}.md\:bg-cool-gray-800{--bg-opacity:1;background-color:#27303f;background-color:rgba(39,48,63,var(--bg-opacity))}.md\:bg-cool-gray-900{--bg-opacity:1;background-color:#1a202e;background-color:rgba(26,32,46,var(--bg-opacity))}.md\:bg-red-50{--bg-opacity:1;background-color:#fdf2f2;background-color:rgba(253,242,242,var(--bg-opacity))}.md\:bg-red-100{--bg-opacity:1;background-color:#fde8e8;background-color:rgba(253,232,232,var(--bg-opacity))}.md\:bg-red-200{--bg-opacity:1;background-color:#fbd5d5;background-color:rgba(251,213,213,var(--bg-opacity))}.md\:bg-red-300{--bg-opacity:1;background-color:#f8b4b4;background-color:rgba(248,180,180,var(--bg-opacity))}.md\:bg-red-400{--bg-opacity:1;background-color:#f98080;background-color:rgba(249,128,128,var(--bg-opacity))}.md\:bg-red-500{--bg-opacity:1;background-color:#f05252;background-color:rgba(240,82,82,var(--bg-opacity))}.md\:bg-red-600{--bg-opacity:1;background-color:#e02424;background-color:rgba(224,36,36,var(--bg-opacity))}.md\:bg-red-700{--bg-opacity:1;background-color:#c81e1e;background-color:rgba(200,30,30,var(--bg-opacity))}.md\:bg-red-800{--bg-opacity:1;background-color:#9b1c1c;background-color:rgba(155,28,28,var(--bg-opacity))}.md\:bg-red-900{--bg-opacity:1;background-color:#771d1d;background-color:rgba(119,29,29,var(--bg-opacity))}.md\:bg-orange-50{--bg-opacity:1;background-color:#fff8f1;background-color:rgba(255,248,241,var(--bg-opacity))}.md\:bg-orange-100{--bg-opacity:1;background-color:#feecdc;background-color:rgba(254,236,220,var(--bg-opacity))}.md\:bg-orange-200{--bg-opacity:1;background-color:#fcd9bd;background-color:rgba(252,217,189,var(--bg-opacity))}.md\:bg-orange-300{--bg-opacity:1;background-color:#fdba8c;background-color:rgba(253,186,140,var(--bg-opacity))}.md\:bg-orange-400{--bg-opacity:1;background-color:#ff8a4c;background-color:rgba(255,138,76,var(--bg-opacity))}.md\:bg-orange-500{--bg-opacity:1;background-color:#ff5a1f;background-color:rgba(255,90,31,var(--bg-opacity))}.md\:bg-orange-600{--bg-opacity:1;background-color:#d03801;background-color:rgba(208,56,1,var(--bg-opacity))}.md\:bg-orange-700{--bg-opacity:1;background-color:#b43403;background-color:rgba(180,52,3,var(--bg-opacity))}.md\:bg-orange-800{--bg-opacity:1;background-color:#8a2c0d;background-color:rgba(138,44,13,var(--bg-opacity))}.md\:bg-orange-900{--bg-opacity:1;background-color:#73230d;background-color:rgba(115,35,13,var(--bg-opacity))}.md\:bg-yellow-50{--bg-opacity:1;background-color:#fdfdea;background-color:rgba(253,253,234,var(--bg-opacity))}.md\:bg-yellow-100{--bg-opacity:1;background-color:#fdf6b2;background-color:rgba(253,246,178,var(--bg-opacity))}.md\:bg-yellow-200{--bg-opacity:1;background-color:#fce96a;background-color:rgba(252,233,106,var(--bg-opacity))}.md\:bg-yellow-300{--bg-opacity:1;background-color:#faca15;background-color:rgba(250,202,21,var(--bg-opacity))}.md\:bg-yellow-400{--bg-opacity:1;background-color:#e3a008;background-color:rgba(227,160,8,var(--bg-opacity))}.md\:bg-yellow-500{--bg-opacity:1;background-color:#c27803;background-color:rgba(194,120,3,var(--bg-opacity))}.md\:bg-yellow-600{--bg-opacity:1;background-color:#9f580a;background-color:rgba(159,88,10,var(--bg-opacity))}.md\:bg-yellow-700{--bg-opacity:1;background-color:#8e4b10;background-color:rgba(142,75,16,var(--bg-opacity))}.md\:bg-yellow-800{--bg-opacity:1;background-color:#723b13;background-color:rgba(114,59,19,var(--bg-opacity))}.md\:bg-yellow-900{--bg-opacity:1;background-color:#633112;background-color:rgba(99,49,18,var(--bg-opacity))}.md\:bg-green-50{--bg-opacity:1;background-color:#f3faf7;background-color:rgba(243,250,247,var(--bg-opacity))}.md\:bg-green-100{--bg-opacity:1;background-color:#def7ec;background-color:rgba(222,247,236,var(--bg-opacity))}.md\:bg-green-200{--bg-opacity:1;background-color:#bcf0da;background-color:rgba(188,240,218,var(--bg-opacity))}.md\:bg-green-300{--bg-opacity:1;background-color:#84e1bc;background-color:rgba(132,225,188,var(--bg-opacity))}.md\:bg-green-400{--bg-opacity:1;background-color:#31c48d;background-color:rgba(49,196,141,var(--bg-opacity))}.md\:bg-green-500{--bg-opacity:1;background-color:#0e9f6e;background-color:rgba(14,159,110,var(--bg-opacity))}.md\:bg-green-600{--bg-opacity:1;background-color:#057a55;background-color:rgba(5,122,85,var(--bg-opacity))}.md\:bg-green-700{--bg-opacity:1;background-color:#046c4e;background-color:rgba(4,108,78,var(--bg-opacity))}.md\:bg-green-800{--bg-opacity:1;background-color:#03543f;background-color:rgba(3,84,63,var(--bg-opacity))}.md\:bg-green-900{--bg-opacity:1;background-color:#014737;background-color:rgba(1,71,55,var(--bg-opacity))}.md\:bg-teal-50{--bg-opacity:1;background-color:#edfafa;background-color:rgba(237,250,250,var(--bg-opacity))}.md\:bg-teal-100{--bg-opacity:1;background-color:#d5f5f6;background-color:rgba(213,245,246,var(--bg-opacity))}.md\:bg-teal-200{--bg-opacity:1;background-color:#afecef;background-color:rgba(175,236,239,var(--bg-opacity))}.md\:bg-teal-300{--bg-opacity:1;background-color:#7edce2;background-color:rgba(126,220,226,var(--bg-opacity))}.md\:bg-teal-400{--bg-opacity:1;background-color:#16bdca;background-color:rgba(22,189,202,var(--bg-opacity))}.md\:bg-teal-500{--bg-opacity:1;background-color:#0694a2;background-color:rgba(6,148,162,var(--bg-opacity))}.md\:bg-teal-600{--bg-opacity:1;background-color:#047481;background-color:rgba(4,116,129,var(--bg-opacity))}.md\:bg-teal-700{--bg-opacity:1;background-color:#036672;background-color:rgba(3,102,114,var(--bg-opacity))}.md\:bg-teal-800{--bg-opacity:1;background-color:#05505c;background-color:rgba(5,80,92,var(--bg-opacity))}.md\:bg-teal-900{--bg-opacity:1;background-color:#014451;background-color:rgba(1,68,81,var(--bg-opacity))}.md\:bg-blue-50{--bg-opacity:1;background-color:#ebf5ff;background-color:rgba(235,245,255,var(--bg-opacity))}.md\:bg-blue-100{--bg-opacity:1;background-color:#e1effe;background-color:rgba(225,239,254,var(--bg-opacity))}.md\:bg-blue-200{--bg-opacity:1;background-color:#c3ddfd;background-color:rgba(195,221,253,var(--bg-opacity))}.md\:bg-blue-300{--bg-opacity:1;background-color:#a4cafe;background-color:rgba(164,202,254,var(--bg-opacity))}.md\:bg-blue-400{--bg-opacity:1;background-color:#76a9fa;background-color:rgba(118,169,250,var(--bg-opacity))}.md\:bg-blue-500{--bg-opacity:1;background-color:#3f83f8;background-color:rgba(63,131,248,var(--bg-opacity))}.md\:bg-blue-600{--bg-opacity:1;background-color:#1c64f2;background-color:rgba(28,100,242,var(--bg-opacity))}.md\:bg-blue-700{--bg-opacity:1;background-color:#1a56db;background-color:rgba(26,86,219,var(--bg-opacity))}.md\:bg-blue-800{--bg-opacity:1;background-color:#1e429f;background-color:rgba(30,66,159,var(--bg-opacity))}.md\:bg-blue-900{--bg-opacity:1;background-color:#233876;background-color:rgba(35,56,118,var(--bg-opacity))}.md\:bg-indigo-50{--bg-opacity:1;background-color:#f0f5ff;background-color:rgba(240,245,255,var(--bg-opacity))}.md\:bg-indigo-100{--bg-opacity:1;background-color:#e5edff;background-color:rgba(229,237,255,var(--bg-opacity))}.md\:bg-indigo-200{--bg-opacity:1;background-color:#cddbfe;background-color:rgba(205,219,254,var(--bg-opacity))}.md\:bg-indigo-300{--bg-opacity:1;background-color:#b4c6fc;background-color:rgba(180,198,252,var(--bg-opacity))}.md\:bg-indigo-400{--bg-opacity:1;background-color:#8da2fb;background-color:rgba(141,162,251,var(--bg-opacity))}.md\:bg-indigo-500{--bg-opacity:1;background-color:#6875f5;background-color:rgba(104,117,245,var(--bg-opacity))}.md\:bg-indigo-600{--bg-opacity:1;background-color:#5850ec;background-color:rgba(88,80,236,var(--bg-opacity))}.md\:bg-indigo-700{--bg-opacity:1;background-color:#5145cd;background-color:rgba(81,69,205,var(--bg-opacity))}.md\:bg-indigo-800{--bg-opacity:1;background-color:#42389d;background-color:rgba(66,56,157,var(--bg-opacity))}.md\:bg-indigo-900{--bg-opacity:1;background-color:#362f78;background-color:rgba(54,47,120,var(--bg-opacity))}.md\:bg-purple-50{--bg-opacity:1;background-color:#f6f5ff;background-color:rgba(246,245,255,var(--bg-opacity))}.md\:bg-purple-100{--bg-opacity:1;background-color:#edebfe;background-color:rgba(237,235,254,var(--bg-opacity))}.md\:bg-purple-200{--bg-opacity:1;background-color:#dcd7fe;background-color:rgba(220,215,254,var(--bg-opacity))}.md\:bg-purple-300{--bg-opacity:1;background-color:#cabffd;background-color:rgba(202,191,253,var(--bg-opacity))}.md\:bg-purple-400{--bg-opacity:1;background-color:#ac94fa;background-color:rgba(172,148,250,var(--bg-opacity))}.md\:bg-purple-500{--bg-opacity:1;background-color:#9061f9;background-color:rgba(144,97,249,var(--bg-opacity))}.md\:bg-purple-600{--bg-opacity:1;background-color:#7e3af2;background-color:rgba(126,58,242,var(--bg-opacity))}.md\:bg-purple-700{--bg-opacity:1;background-color:#6c2bd9;background-color:rgba(108,43,217,var(--bg-opacity))}.md\:bg-purple-800{--bg-opacity:1;background-color:#5521b5;background-color:rgba(85,33,181,var(--bg-opacity))}.md\:bg-purple-900{--bg-opacity:1;background-color:#4a1d96;background-color:rgba(74,29,150,var(--bg-opacity))}.md\:bg-pink-50{--bg-opacity:1;background-color:#fdf2f8;background-color:rgba(253,242,248,var(--bg-opacity))}.md\:bg-pink-100{--bg-opacity:1;background-color:#fce8f3;background-color:rgba(252,232,243,var(--bg-opacity))}.md\:bg-pink-200{--bg-opacity:1;background-color:#fad1e8;background-color:rgba(250,209,232,var(--bg-opacity))}.md\:bg-pink-300{--bg-opacity:1;background-color:#f8b4d9;background-color:rgba(248,180,217,var(--bg-opacity))}.md\:bg-pink-400{--bg-opacity:1;background-color:#f17eb8;background-color:rgba(241,126,184,var(--bg-opacity))}.md\:bg-pink-500{--bg-opacity:1;background-color:#e74694;background-color:rgba(231,70,148,var(--bg-opacity))}.md\:bg-pink-600{--bg-opacity:1;background-color:#d61f69;background-color:rgba(214,31,105,var(--bg-opacity))}.md\:bg-pink-700{--bg-opacity:1;background-color:#bf125d;background-color:rgba(191,18,93,var(--bg-opacity))}.md\:bg-pink-800{--bg-opacity:1;background-color:#99154b;background-color:rgba(153,21,75,var(--bg-opacity))}.md\:bg-pink-900{--bg-opacity:1;background-color:#751a3d;background-color:rgba(117,26,61,var(--bg-opacity))}.group:hover .md\:group-hover\:bg-transparent{background-color:transparent}.group:hover .md\:group-hover\:bg-white{--bg-opacity:1;background-color:#fff;background-color:rgba(255,255,255,var(--bg-opacity))}.group:hover .md\:group-hover\:bg-black{--bg-opacity:1;background-color:#000;background-color:rgba(0,0,0,var(--bg-opacity))}.group:hover .md\:group-hover\:bg-gray-50{--bg-opacity:1;background-color:#f9fafb;background-color:rgba(249,250,251,var(--bg-opacity))}.group:hover .md\:group-hover\:bg-gray-100{--bg-opacity:1;background-color:#f4f5f7;background-color:rgba(244,245,247,var(--bg-opacity))}.group:hover .md\:group-hover\:bg-gray-200{--bg-opacity:1;background-color:#e5e7eb;background-color:rgba(229,231,235,var(--bg-opacity))}.group:hover .md\:group-hover\:bg-gray-300{--bg-opacity:1;background-color:#d2d6dc;background-color:rgba(210,214,220,var(--bg-opacity))}.group:hover .md\:group-hover\:bg-gray-400{--bg-opacity:1;background-color:#9fa6b2;background-color:rgba(159,166,178,var(--bg-opacity))}.group:hover .md\:group-hover\:bg-gray-500{--bg-opacity:1;background-color:#6b7280;background-color:rgba(107,114,128,var(--bg-opacity))}.group:hover .md\:group-hover\:bg-gray-600{--bg-opacity:1;background-color:#4b5563;background-color:rgba(75,85,99,var(--bg-opacity))}.group:hover .md\:group-hover\:bg-gray-700{--bg-opacity:1;background-color:#374151;background-color:rgba(55,65,81,var(--bg-opacity))}.group:hover .md\:group-hover\:bg-gray-800{--bg-opacity:1;background-color:#252f3f;background-color:rgba(37,47,63,var(--bg-opacity))}.group:hover .md\:group-hover\:bg-gray-900{--bg-opacity:1;background-color:#161e2e;background-color:rgba(22,30,46,var(--bg-opacity))}.group:hover .md\:group-hover\:bg-cool-gray-50{--bg-opacity:1;background-color:#f8fafc;background-color:rgba(248,250,252,var(--bg-opacity))}.group:hover .md\:group-hover\:bg-cool-gray-100{--bg-opacity:1;background-color:#f1f5f9;background-color:rgba(241,245,249,var(--bg-opacity))}.group:hover .md\:group-hover\:bg-cool-gray-200{--bg-opacity:1;background-color:#e2e8f0;background-color:rgba(226,232,240,var(--bg-opacity))}.group:hover .md\:group-hover\:bg-cool-gray-300{--bg-opacity:1;background-color:#cfd8e3;background-color:rgba(207,216,227,var(--bg-opacity))}.group:hover .md\:group-hover\:bg-cool-gray-400{--bg-opacity:1;background-color:#97a6ba;background-color:rgba(151,166,186,var(--bg-opacity))}.group:hover .md\:group-hover\:bg-cool-gray-500{--bg-opacity:1;background-color:#64748b;background-color:rgba(100,116,139,var(--bg-opacity))}.group:hover .md\:group-hover\:bg-cool-gray-600{--bg-opacity:1;background-color:#475569;background-color:rgba(71,85,105,var(--bg-opacity))}.group:hover .md\:group-hover\:bg-cool-gray-700{--bg-opacity:1;background-color:#364152;background-color:rgba(54,65,82,var(--bg-opacity))}.group:hover .md\:group-hover\:bg-cool-gray-800{--bg-opacity:1;background-color:#27303f;background-color:rgba(39,48,63,var(--bg-opacity))}.group:hover .md\:group-hover\:bg-cool-gray-900{--bg-opacity:1;background-color:#1a202e;background-color:rgba(26,32,46,var(--bg-opacity))}.group:hover .md\:group-hover\:bg-red-50{--bg-opacity:1;background-color:#fdf2f2;background-color:rgba(253,242,242,var(--bg-opacity))}.group:hover .md\:group-hover\:bg-red-100{--bg-opacity:1;background-color:#fde8e8;background-color:rgba(253,232,232,var(--bg-opacity))}.group:hover .md\:group-hover\:bg-red-200{--bg-opacity:1;background-color:#fbd5d5;background-color:rgba(251,213,213,var(--bg-opacity))}.group:hover .md\:group-hover\:bg-red-300{--bg-opacity:1;background-color:#f8b4b4;background-color:rgba(248,180,180,var(--bg-opacity))}.group:hover .md\:group-hover\:bg-red-400{--bg-opacity:1;background-color:#f98080;background-color:rgba(249,128,128,var(--bg-opacity))}.group:hover .md\:group-hover\:bg-red-500{--bg-opacity:1;background-color:#f05252;background-color:rgba(240,82,82,var(--bg-opacity))}.group:hover .md\:group-hover\:bg-red-600{--bg-opacity:1;background-color:#e02424;background-color:rgba(224,36,36,var(--bg-opacity))}.group:hover .md\:group-hover\:bg-red-700{--bg-opacity:1;background-color:#c81e1e;background-color:rgba(200,30,30,var(--bg-opacity))}.group:hover .md\:group-hover\:bg-red-800{--bg-opacity:1;background-color:#9b1c1c;background-color:rgba(155,28,28,var(--bg-opacity))}.group:hover .md\:group-hover\:bg-red-900{--bg-opacity:1;background-color:#771d1d;background-color:rgba(119,29,29,var(--bg-opacity))}.group:hover .md\:group-hover\:bg-orange-50{--bg-opacity:1;background-color:#fff8f1;background-color:rgba(255,248,241,var(--bg-opacity))}.group:hover .md\:group-hover\:bg-orange-100{--bg-opacity:1;background-color:#feecdc;background-color:rgba(254,236,220,var(--bg-opacity))}.group:hover .md\:group-hover\:bg-orange-200{--bg-opacity:1;background-color:#fcd9bd;background-color:rgba(252,217,189,var(--bg-opacity))}.group:hover .md\:group-hover\:bg-orange-300{--bg-opacity:1;background-color:#fdba8c;background-color:rgba(253,186,140,var(--bg-opacity))}.group:hover .md\:group-hover\:bg-orange-400{--bg-opacity:1;background-color:#ff8a4c;background-color:rgba(255,138,76,var(--bg-opacity))}.group:hover .md\:group-hover\:bg-orange-500{--bg-opacity:1;background-color:#ff5a1f;background-color:rgba(255,90,31,var(--bg-opacity))}.group:hover .md\:group-hover\:bg-orange-600{--bg-opacity:1;background-color:#d03801;background-color:rgba(208,56,1,var(--bg-opacity))}.group:hover .md\:group-hover\:bg-orange-700{--bg-opacity:1;background-color:#b43403;background-color:rgba(180,52,3,var(--bg-opacity))}.group:hover .md\:group-hover\:bg-orange-800{--bg-opacity:1;background-color:#8a2c0d;background-color:rgba(138,44,13,var(--bg-opacity))}.group:hover .md\:group-hover\:bg-orange-900{--bg-opacity:1;background-color:#73230d;background-color:rgba(115,35,13,var(--bg-opacity))}.group:hover .md\:group-hover\:bg-yellow-50{--bg-opacity:1;background-color:#fdfdea;background-color:rgba(253,253,234,var(--bg-opacity))}.group:hover .md\:group-hover\:bg-yellow-100{--bg-opacity:1;background-color:#fdf6b2;background-color:rgba(253,246,178,var(--bg-opacity))}.group:hover .md\:group-hover\:bg-yellow-200{--bg-opacity:1;background-color:#fce96a;background-color:rgba(252,233,106,var(--bg-opacity))}.group:hover .md\:group-hover\:bg-yellow-300{--bg-opacity:1;background-color:#faca15;background-color:rgba(250,202,21,var(--bg-opacity))}.group:hover .md\:group-hover\:bg-yellow-400{--bg-opacity:1;background-color:#e3a008;background-color:rgba(227,160,8,var(--bg-opacity))}.group:hover .md\:group-hover\:bg-yellow-500{--bg-opacity:1;background-color:#c27803;background-color:rgba(194,120,3,var(--bg-opacity))}.group:hover .md\:group-hover\:bg-yellow-600{--bg-opacity:1;background-color:#9f580a;background-color:rgba(159,88,10,var(--bg-opacity))}.group:hover .md\:group-hover\:bg-yellow-700{--bg-opacity:1;background-color:#8e4b10;background-color:rgba(142,75,16,var(--bg-opacity))}.group:hover .md\:group-hover\:bg-yellow-800{--bg-opacity:1;background-color:#723b13;background-color:rgba(114,59,19,var(--bg-opacity))}.group:hover .md\:group-hover\:bg-yellow-900{--bg-opacity:1;background-color:#633112;background-color:rgba(99,49,18,var(--bg-opacity))}.group:hover .md\:group-hover\:bg-green-50{--bg-opacity:1;background-color:#f3faf7;background-color:rgba(243,250,247,var(--bg-opacity))}.group:hover .md\:group-hover\:bg-green-100{--bg-opacity:1;background-color:#def7ec;background-color:rgba(222,247,236,var(--bg-opacity))}.group:hover .md\:group-hover\:bg-green-200{--bg-opacity:1;background-color:#bcf0da;background-color:rgba(188,240,218,var(--bg-opacity))}.group:hover .md\:group-hover\:bg-green-300{--bg-opacity:1;background-color:#84e1bc;background-color:rgba(132,225,188,var(--bg-opacity))}.group:hover .md\:group-hover\:bg-green-400{--bg-opacity:1;background-color:#31c48d;background-color:rgba(49,196,141,var(--bg-opacity))}.group:hover .md\:group-hover\:bg-green-500{--bg-opacity:1;background-color:#0e9f6e;background-color:rgba(14,159,110,var(--bg-opacity))}.group:hover .md\:group-hover\:bg-green-600{--bg-opacity:1;background-color:#057a55;background-color:rgba(5,122,85,var(--bg-opacity))}.group:hover .md\:group-hover\:bg-green-700{--bg-opacity:1;background-color:#046c4e;background-color:rgba(4,108,78,var(--bg-opacity))}.group:hover .md\:group-hover\:bg-green-800{--bg-opacity:1;background-color:#03543f;background-color:rgba(3,84,63,var(--bg-opacity))}.group:hover .md\:group-hover\:bg-green-900{--bg-opacity:1;background-color:#014737;background-color:rgba(1,71,55,var(--bg-opacity))}.group:hover .md\:group-hover\:bg-teal-50{--bg-opacity:1;background-color:#edfafa;background-color:rgba(237,250,250,var(--bg-opacity))}.group:hover .md\:group-hover\:bg-teal-100{--bg-opacity:1;background-color:#d5f5f6;background-color:rgba(213,245,246,var(--bg-opacity))}.group:hover .md\:group-hover\:bg-teal-200{--bg-opacity:1;background-color:#afecef;background-color:rgba(175,236,239,var(--bg-opacity))}.group:hover .md\:group-hover\:bg-teal-300{--bg-opacity:1;background-color:#7edce2;background-color:rgba(126,220,226,var(--bg-opacity))}.group:hover .md\:group-hover\:bg-teal-400{--bg-opacity:1;background-color:#16bdca;background-color:rgba(22,189,202,var(--bg-opacity))}.group:hover .md\:group-hover\:bg-teal-500{--bg-opacity:1;background-color:#0694a2;background-color:rgba(6,148,162,var(--bg-opacity))}.group:hover .md\:group-hover\:bg-teal-600{--bg-opacity:1;background-color:#047481;background-color:rgba(4,116,129,var(--bg-opacity))}.group:hover .md\:group-hover\:bg-teal-700{--bg-opacity:1;background-color:#036672;background-color:rgba(3,102,114,var(--bg-opacity))}.group:hover .md\:group-hover\:bg-teal-800{--bg-opacity:1;background-color:#05505c;background-color:rgba(5,80,92,var(--bg-opacity))}.group:hover .md\:group-hover\:bg-teal-900{--bg-opacity:1;background-color:#014451;background-color:rgba(1,68,81,var(--bg-opacity))}.group:hover .md\:group-hover\:bg-blue-50{--bg-opacity:1;background-color:#ebf5ff;background-color:rgba(235,245,255,var(--bg-opacity))}.group:hover .md\:group-hover\:bg-blue-100{--bg-opacity:1;background-color:#e1effe;background-color:rgba(225,239,254,var(--bg-opacity))}.group:hover .md\:group-hover\:bg-blue-200{--bg-opacity:1;background-color:#c3ddfd;background-color:rgba(195,221,253,var(--bg-opacity))}.group:hover .md\:group-hover\:bg-blue-300{--bg-opacity:1;background-color:#a4cafe;background-color:rgba(164,202,254,var(--bg-opacity))}.group:hover .md\:group-hover\:bg-blue-400{--bg-opacity:1;background-color:#76a9fa;background-color:rgba(118,169,250,var(--bg-opacity))}.group:hover .md\:group-hover\:bg-blue-500{--bg-opacity:1;background-color:#3f83f8;background-color:rgba(63,131,248,var(--bg-opacity))}.group:hover .md\:group-hover\:bg-blue-600{--bg-opacity:1;background-color:#1c64f2;background-color:rgba(28,100,242,var(--bg-opacity))}.group:hover .md\:group-hover\:bg-blue-700{--bg-opacity:1;background-color:#1a56db;background-color:rgba(26,86,219,var(--bg-opacity))}.group:hover .md\:group-hover\:bg-blue-800{--bg-opacity:1;background-color:#1e429f;background-color:rgba(30,66,159,var(--bg-opacity))}.group:hover .md\:group-hover\:bg-blue-900{--bg-opacity:1;background-color:#233876;background-color:rgba(35,56,118,var(--bg-opacity))}.group:hover .md\:group-hover\:bg-indigo-50{--bg-opacity:1;background-color:#f0f5ff;background-color:rgba(240,245,255,var(--bg-opacity))}.group:hover .md\:group-hover\:bg-indigo-100{--bg-opacity:1;background-color:#e5edff;background-color:rgba(229,237,255,var(--bg-opacity))}.group:hover .md\:group-hover\:bg-indigo-200{--bg-opacity:1;background-color:#cddbfe;background-color:rgba(205,219,254,var(--bg-opacity))}.group:hover .md\:group-hover\:bg-indigo-300{--bg-opacity:1;background-color:#b4c6fc;background-color:rgba(180,198,252,var(--bg-opacity))}.group:hover .md\:group-hover\:bg-indigo-400{--bg-opacity:1;background-color:#8da2fb;background-color:rgba(141,162,251,var(--bg-opacity))}.group:hover .md\:group-hover\:bg-indigo-500{--bg-opacity:1;background-color:#6875f5;background-color:rgba(104,117,245,var(--bg-opacity))}.group:hover .md\:group-hover\:bg-indigo-600{--bg-opacity:1;background-color:#5850ec;background-color:rgba(88,80,236,var(--bg-opacity))}.group:hover .md\:group-hover\:bg-indigo-700{--bg-opacity:1;background-color:#5145cd;background-color:rgba(81,69,205,var(--bg-opacity))}.group:hover .md\:group-hover\:bg-indigo-800{--bg-opacity:1;background-color:#42389d;background-color:rgba(66,56,157,var(--bg-opacity))}.group:hover .md\:group-hover\:bg-indigo-900{--bg-opacity:1;background-color:#362f78;background-color:rgba(54,47,120,var(--bg-opacity))}.group:hover .md\:group-hover\:bg-purple-50{--bg-opacity:1;background-color:#f6f5ff;background-color:rgba(246,245,255,var(--bg-opacity))}.group:hover .md\:group-hover\:bg-purple-100{--bg-opacity:1;background-color:#edebfe;background-color:rgba(237,235,254,var(--bg-opacity))}.group:hover .md\:group-hover\:bg-purple-200{--bg-opacity:1;background-color:#dcd7fe;background-color:rgba(220,215,254,var(--bg-opacity))}.group:hover .md\:group-hover\:bg-purple-300{--bg-opacity:1;background-color:#cabffd;background-color:rgba(202,191,253,var(--bg-opacity))}.group:hover .md\:group-hover\:bg-purple-400{--bg-opacity:1;background-color:#ac94fa;background-color:rgba(172,148,250,var(--bg-opacity))}.group:hover .md\:group-hover\:bg-purple-500{--bg-opacity:1;background-color:#9061f9;background-color:rgba(144,97,249,var(--bg-opacity))}.group:hover .md\:group-hover\:bg-purple-600{--bg-opacity:1;background-color:#7e3af2;background-color:rgba(126,58,242,var(--bg-opacity))}.group:hover .md\:group-hover\:bg-purple-700{--bg-opacity:1;background-color:#6c2bd9;background-color:rgba(108,43,217,var(--bg-opacity))}.group:hover .md\:group-hover\:bg-purple-800{--bg-opacity:1;background-color:#5521b5;background-color:rgba(85,33,181,var(--bg-opacity))}.group:hover .md\:group-hover\:bg-purple-900{--bg-opacity:1;background-color:#4a1d96;background-color:rgba(74,29,150,var(--bg-opacity))}.group:hover .md\:group-hover\:bg-pink-50{--bg-opacity:1;background-color:#fdf2f8;background-color:rgba(253,242,248,var(--bg-opacity))}.group:hover .md\:group-hover\:bg-pink-100{--bg-opacity:1;background-color:#fce8f3;background-color:rgba(252,232,243,var(--bg-opacity))}.group:hover .md\:group-hover\:bg-pink-200{--bg-opacity:1;background-color:#fad1e8;background-color:rgba(250,209,232,var(--bg-opacity))}.group:hover .md\:group-hover\:bg-pink-300{--bg-opacity:1;background-color:#f8b4d9;background-color:rgba(248,180,217,var(--bg-opacity))}.group:hover .md\:group-hover\:bg-pink-400{--bg-opacity:1;background-color:#f17eb8;background-color:rgba(241,126,184,var(--bg-opacity))}.group:hover .md\:group-hover\:bg-pink-500{--bg-opacity:1;background-color:#e74694;background-color:rgba(231,70,148,var(--bg-opacity))}.group:hover .md\:group-hover\:bg-pink-600{--bg-opacity:1;background-color:#d61f69;background-color:rgba(214,31,105,var(--bg-opacity))}.group:hover .md\:group-hover\:bg-pink-700{--bg-opacity:1;background-color:#bf125d;background-color:rgba(191,18,93,var(--bg-opacity))}.group:hover .md\:group-hover\:bg-pink-800{--bg-opacity:1;background-color:#99154b;background-color:rgba(153,21,75,var(--bg-opacity))}.group:hover .md\:group-hover\:bg-pink-900{--bg-opacity:1;background-color:#751a3d;background-color:rgba(117,26,61,var(--bg-opacity))}.group:focus .md\:group-focus\:bg-transparent{background-color:transparent}.group:focus .md\:group-focus\:bg-white{--bg-opacity:1;background-color:#fff;background-color:rgba(255,255,255,var(--bg-opacity))}.group:focus .md\:group-focus\:bg-black{--bg-opacity:1;background-color:#000;background-color:rgba(0,0,0,var(--bg-opacity))}.group:focus .md\:group-focus\:bg-gray-50{--bg-opacity:1;background-color:#f9fafb;background-color:rgba(249,250,251,var(--bg-opacity))}.group:focus .md\:group-focus\:bg-gray-100{--bg-opacity:1;background-color:#f4f5f7;background-color:rgba(244,245,247,var(--bg-opacity))}.group:focus .md\:group-focus\:bg-gray-200{--bg-opacity:1;background-color:#e5e7eb;background-color:rgba(229,231,235,var(--bg-opacity))}.group:focus .md\:group-focus\:bg-gray-300{--bg-opacity:1;background-color:#d2d6dc;background-color:rgba(210,214,220,var(--bg-opacity))}.group:focus .md\:group-focus\:bg-gray-400{--bg-opacity:1;background-color:#9fa6b2;background-color:rgba(159,166,178,var(--bg-opacity))}.group:focus .md\:group-focus\:bg-gray-500{--bg-opacity:1;background-color:#6b7280;background-color:rgba(107,114,128,var(--bg-opacity))}.group:focus .md\:group-focus\:bg-gray-600{--bg-opacity:1;background-color:#4b5563;background-color:rgba(75,85,99,var(--bg-opacity))}.group:focus .md\:group-focus\:bg-gray-700{--bg-opacity:1;background-color:#374151;background-color:rgba(55,65,81,var(--bg-opacity))}.group:focus .md\:group-focus\:bg-gray-800{--bg-opacity:1;background-color:#252f3f;background-color:rgba(37,47,63,var(--bg-opacity))}.group:focus .md\:group-focus\:bg-gray-900{--bg-opacity:1;background-color:#161e2e;background-color:rgba(22,30,46,var(--bg-opacity))}.group:focus .md\:group-focus\:bg-cool-gray-50{--bg-opacity:1;background-color:#f8fafc;background-color:rgba(248,250,252,var(--bg-opacity))}.group:focus .md\:group-focus\:bg-cool-gray-100{--bg-opacity:1;background-color:#f1f5f9;background-color:rgba(241,245,249,var(--bg-opacity))}.group:focus .md\:group-focus\:bg-cool-gray-200{--bg-opacity:1;background-color:#e2e8f0;background-color:rgba(226,232,240,var(--bg-opacity))}.group:focus .md\:group-focus\:bg-cool-gray-300{--bg-opacity:1;background-color:#cfd8e3;background-color:rgba(207,216,227,var(--bg-opacity))}.group:focus .md\:group-focus\:bg-cool-gray-400{--bg-opacity:1;background-color:#97a6ba;background-color:rgba(151,166,186,var(--bg-opacity))}.group:focus .md\:group-focus\:bg-cool-gray-500{--bg-opacity:1;background-color:#64748b;background-color:rgba(100,116,139,var(--bg-opacity))}.group:focus .md\:group-focus\:bg-cool-gray-600{--bg-opacity:1;background-color:#475569;background-color:rgba(71,85,105,var(--bg-opacity))}.group:focus .md\:group-focus\:bg-cool-gray-700{--bg-opacity:1;background-color:#364152;background-color:rgba(54,65,82,var(--bg-opacity))}.group:focus .md\:group-focus\:bg-cool-gray-800{--bg-opacity:1;background-color:#27303f;background-color:rgba(39,48,63,var(--bg-opacity))}.group:focus .md\:group-focus\:bg-cool-gray-900{--bg-opacity:1;background-color:#1a202e;background-color:rgba(26,32,46,var(--bg-opacity))}.group:focus .md\:group-focus\:bg-red-50{--bg-opacity:1;background-color:#fdf2f2;background-color:rgba(253,242,242,var(--bg-opacity))}.group:focus .md\:group-focus\:bg-red-100{--bg-opacity:1;background-color:#fde8e8;background-color:rgba(253,232,232,var(--bg-opacity))}.group:focus .md\:group-focus\:bg-red-200{--bg-opacity:1;background-color:#fbd5d5;background-color:rgba(251,213,213,var(--bg-opacity))}.group:focus .md\:group-focus\:bg-red-300{--bg-opacity:1;background-color:#f8b4b4;background-color:rgba(248,180,180,var(--bg-opacity))}.group:focus .md\:group-focus\:bg-red-400{--bg-opacity:1;background-color:#f98080;background-color:rgba(249,128,128,var(--bg-opacity))}.group:focus .md\:group-focus\:bg-red-500{--bg-opacity:1;background-color:#f05252;background-color:rgba(240,82,82,var(--bg-opacity))}.group:focus .md\:group-focus\:bg-red-600{--bg-opacity:1;background-color:#e02424;background-color:rgba(224,36,36,var(--bg-opacity))}.group:focus .md\:group-focus\:bg-red-700{--bg-opacity:1;background-color:#c81e1e;background-color:rgba(200,30,30,var(--bg-opacity))}.group:focus .md\:group-focus\:bg-red-800{--bg-opacity:1;background-color:#9b1c1c;background-color:rgba(155,28,28,var(--bg-opacity))}.group:focus .md\:group-focus\:bg-red-900{--bg-opacity:1;background-color:#771d1d;background-color:rgba(119,29,29,var(--bg-opacity))}.group:focus .md\:group-focus\:bg-orange-50{--bg-opacity:1;background-color:#fff8f1;background-color:rgba(255,248,241,var(--bg-opacity))}.group:focus .md\:group-focus\:bg-orange-100{--bg-opacity:1;background-color:#feecdc;background-color:rgba(254,236,220,var(--bg-opacity))}.group:focus .md\:group-focus\:bg-orange-200{--bg-opacity:1;background-color:#fcd9bd;background-color:rgba(252,217,189,var(--bg-opacity))}.group:focus .md\:group-focus\:bg-orange-300{--bg-opacity:1;background-color:#fdba8c;background-color:rgba(253,186,140,var(--bg-opacity))}.group:focus .md\:group-focus\:bg-orange-400{--bg-opacity:1;background-color:#ff8a4c;background-color:rgba(255,138,76,var(--bg-opacity))}.group:focus .md\:group-focus\:bg-orange-500{--bg-opacity:1;background-color:#ff5a1f;background-color:rgba(255,90,31,var(--bg-opacity))}.group:focus .md\:group-focus\:bg-orange-600{--bg-opacity:1;background-color:#d03801;background-color:rgba(208,56,1,var(--bg-opacity))}.group:focus .md\:group-focus\:bg-orange-700{--bg-opacity:1;background-color:#b43403;background-color:rgba(180,52,3,var(--bg-opacity))}.group:focus .md\:group-focus\:bg-orange-800{--bg-opacity:1;background-color:#8a2c0d;background-color:rgba(138,44,13,var(--bg-opacity))}.group:focus .md\:group-focus\:bg-orange-900{--bg-opacity:1;background-color:#73230d;background-color:rgba(115,35,13,var(--bg-opacity))}.group:focus .md\:group-focus\:bg-yellow-50{--bg-opacity:1;background-color:#fdfdea;background-color:rgba(253,253,234,var(--bg-opacity))}.group:focus .md\:group-focus\:bg-yellow-100{--bg-opacity:1;background-color:#fdf6b2;background-color:rgba(253,246,178,var(--bg-opacity))}.group:focus .md\:group-focus\:bg-yellow-200{--bg-opacity:1;background-color:#fce96a;background-color:rgba(252,233,106,var(--bg-opacity))}.group:focus .md\:group-focus\:bg-yellow-300{--bg-opacity:1;background-color:#faca15;background-color:rgba(250,202,21,var(--bg-opacity))}.group:focus .md\:group-focus\:bg-yellow-400{--bg-opacity:1;background-color:#e3a008;background-color:rgba(227,160,8,var(--bg-opacity))}.group:focus .md\:group-focus\:bg-yellow-500{--bg-opacity:1;background-color:#c27803;background-color:rgba(194,120,3,var(--bg-opacity))}.group:focus .md\:group-focus\:bg-yellow-600{--bg-opacity:1;background-color:#9f580a;background-color:rgba(159,88,10,var(--bg-opacity))}.group:focus .md\:group-focus\:bg-yellow-700{--bg-opacity:1;background-color:#8e4b10;background-color:rgba(142,75,16,var(--bg-opacity))}.group:focus .md\:group-focus\:bg-yellow-800{--bg-opacity:1;background-color:#723b13;background-color:rgba(114,59,19,var(--bg-opacity))}.group:focus .md\:group-focus\:bg-yellow-900{--bg-opacity:1;background-color:#633112;background-color:rgba(99,49,18,var(--bg-opacity))}.group:focus .md\:group-focus\:bg-green-50{--bg-opacity:1;background-color:#f3faf7;background-color:rgba(243,250,247,var(--bg-opacity))}.group:focus .md\:group-focus\:bg-green-100{--bg-opacity:1;background-color:#def7ec;background-color:rgba(222,247,236,var(--bg-opacity))}.group:focus .md\:group-focus\:bg-green-200{--bg-opacity:1;background-color:#bcf0da;background-color:rgba(188,240,218,var(--bg-opacity))}.group:focus .md\:group-focus\:bg-green-300{--bg-opacity:1;background-color:#84e1bc;background-color:rgba(132,225,188,var(--bg-opacity))}.group:focus .md\:group-focus\:bg-green-400{--bg-opacity:1;background-color:#31c48d;background-color:rgba(49,196,141,var(--bg-opacity))}.group:focus .md\:group-focus\:bg-green-500{--bg-opacity:1;background-color:#0e9f6e;background-color:rgba(14,159,110,var(--bg-opacity))}.group:focus .md\:group-focus\:bg-green-600{--bg-opacity:1;background-color:#057a55;background-color:rgba(5,122,85,var(--bg-opacity))}.group:focus .md\:group-focus\:bg-green-700{--bg-opacity:1;background-color:#046c4e;background-color:rgba(4,108,78,var(--bg-opacity))}.group:focus .md\:group-focus\:bg-green-800{--bg-opacity:1;background-color:#03543f;background-color:rgba(3,84,63,var(--bg-opacity))}.group:focus .md\:group-focus\:bg-green-900{--bg-opacity:1;background-color:#014737;background-color:rgba(1,71,55,var(--bg-opacity))}.group:focus .md\:group-focus\:bg-teal-50{--bg-opacity:1;background-color:#edfafa;background-color:rgba(237,250,250,var(--bg-opacity))}.group:focus .md\:group-focus\:bg-teal-100{--bg-opacity:1;background-color:#d5f5f6;background-color:rgba(213,245,246,var(--bg-opacity))}.group:focus .md\:group-focus\:bg-teal-200{--bg-opacity:1;background-color:#afecef;background-color:rgba(175,236,239,var(--bg-opacity))}.group:focus .md\:group-focus\:bg-teal-300{--bg-opacity:1;background-color:#7edce2;background-color:rgba(126,220,226,var(--bg-opacity))}.group:focus .md\:group-focus\:bg-teal-400{--bg-opacity:1;background-color:#16bdca;background-color:rgba(22,189,202,var(--bg-opacity))}.group:focus .md\:group-focus\:bg-teal-500{--bg-opacity:1;background-color:#0694a2;background-color:rgba(6,148,162,var(--bg-opacity))}.group:focus .md\:group-focus\:bg-teal-600{--bg-opacity:1;background-color:#047481;background-color:rgba(4,116,129,var(--bg-opacity))}.group:focus .md\:group-focus\:bg-teal-700{--bg-opacity:1;background-color:#036672;background-color:rgba(3,102,114,var(--bg-opacity))}.group:focus .md\:group-focus\:bg-teal-800{--bg-opacity:1;background-color:#05505c;background-color:rgba(5,80,92,var(--bg-opacity))}.group:focus .md\:group-focus\:bg-teal-900{--bg-opacity:1;background-color:#014451;background-color:rgba(1,68,81,var(--bg-opacity))}.group:focus .md\:group-focus\:bg-blue-50{--bg-opacity:1;background-color:#ebf5ff;background-color:rgba(235,245,255,var(--bg-opacity))}.group:focus .md\:group-focus\:bg-blue-100{--bg-opacity:1;background-color:#e1effe;background-color:rgba(225,239,254,var(--bg-opacity))}.group:focus .md\:group-focus\:bg-blue-200{--bg-opacity:1;background-color:#c3ddfd;background-color:rgba(195,221,253,var(--bg-opacity))}.group:focus .md\:group-focus\:bg-blue-300{--bg-opacity:1;background-color:#a4cafe;background-color:rgba(164,202,254,var(--bg-opacity))}.group:focus .md\:group-focus\:bg-blue-400{--bg-opacity:1;background-color:#76a9fa;background-color:rgba(118,169,250,var(--bg-opacity))}.group:focus .md\:group-focus\:bg-blue-500{--bg-opacity:1;background-color:#3f83f8;background-color:rgba(63,131,248,var(--bg-opacity))}.group:focus .md\:group-focus\:bg-blue-600{--bg-opacity:1;background-color:#1c64f2;background-color:rgba(28,100,242,var(--bg-opacity))}.group:focus .md\:group-focus\:bg-blue-700{--bg-opacity:1;background-color:#1a56db;background-color:rgba(26,86,219,var(--bg-opacity))}.group:focus .md\:group-focus\:bg-blue-800{--bg-opacity:1;background-color:#1e429f;background-color:rgba(30,66,159,var(--bg-opacity))}.group:focus .md\:group-focus\:bg-blue-900{--bg-opacity:1;background-color:#233876;background-color:rgba(35,56,118,var(--bg-opacity))}.group:focus .md\:group-focus\:bg-indigo-50{--bg-opacity:1;background-color:#f0f5ff;background-color:rgba(240,245,255,var(--bg-opacity))}.group:focus .md\:group-focus\:bg-indigo-100{--bg-opacity:1;background-color:#e5edff;background-color:rgba(229,237,255,var(--bg-opacity))}.group:focus .md\:group-focus\:bg-indigo-200{--bg-opacity:1;background-color:#cddbfe;background-color:rgba(205,219,254,var(--bg-opacity))}.group:focus .md\:group-focus\:bg-indigo-300{--bg-opacity:1;background-color:#b4c6fc;background-color:rgba(180,198,252,var(--bg-opacity))}.group:focus .md\:group-focus\:bg-indigo-400{--bg-opacity:1;background-color:#8da2fb;background-color:rgba(141,162,251,var(--bg-opacity))}.group:focus .md\:group-focus\:bg-indigo-500{--bg-opacity:1;background-color:#6875f5;background-color:rgba(104,117,245,var(--bg-opacity))}.group:focus .md\:group-focus\:bg-indigo-600{--bg-opacity:1;background-color:#5850ec;background-color:rgba(88,80,236,var(--bg-opacity))}.group:focus .md\:group-focus\:bg-indigo-700{--bg-opacity:1;background-color:#5145cd;background-color:rgba(81,69,205,var(--bg-opacity))}.group:focus .md\:group-focus\:bg-indigo-800{--bg-opacity:1;background-color:#42389d;background-color:rgba(66,56,157,var(--bg-opacity))}.group:focus .md\:group-focus\:bg-indigo-900{--bg-opacity:1;background-color:#362f78;background-color:rgba(54,47,120,var(--bg-opacity))}.group:focus .md\:group-focus\:bg-purple-50{--bg-opacity:1;background-color:#f6f5ff;background-color:rgba(246,245,255,var(--bg-opacity))}.group:focus .md\:group-focus\:bg-purple-100{--bg-opacity:1;background-color:#edebfe;background-color:rgba(237,235,254,var(--bg-opacity))}.group:focus .md\:group-focus\:bg-purple-200{--bg-opacity:1;background-color:#dcd7fe;background-color:rgba(220,215,254,var(--bg-opacity))}.group:focus .md\:group-focus\:bg-purple-300{--bg-opacity:1;background-color:#cabffd;background-color:rgba(202,191,253,var(--bg-opacity))}.group:focus .md\:group-focus\:bg-purple-400{--bg-opacity:1;background-color:#ac94fa;background-color:rgba(172,148,250,var(--bg-opacity))}.group:focus .md\:group-focus\:bg-purple-500{--bg-opacity:1;background-color:#9061f9;background-color:rgba(144,97,249,var(--bg-opacity))}.group:focus .md\:group-focus\:bg-purple-600{--bg-opacity:1;background-color:#7e3af2;background-color:rgba(126,58,242,var(--bg-opacity))}.group:focus .md\:group-focus\:bg-purple-700{--bg-opacity:1;background-color:#6c2bd9;background-color:rgba(108,43,217,var(--bg-opacity))}.group:focus .md\:group-focus\:bg-purple-800{--bg-opacity:1;background-color:#5521b5;background-color:rgba(85,33,181,var(--bg-opacity))}.group:focus .md\:group-focus\:bg-purple-900{--bg-opacity:1;background-color:#4a1d96;background-color:rgba(74,29,150,var(--bg-opacity))}.group:focus .md\:group-focus\:bg-pink-50{--bg-opacity:1;background-color:#fdf2f8;background-color:rgba(253,242,248,var(--bg-opacity))}.group:focus .md\:group-focus\:bg-pink-100{--bg-opacity:1;background-color:#fce8f3;background-color:rgba(252,232,243,var(--bg-opacity))}.group:focus .md\:group-focus\:bg-pink-200{--bg-opacity:1;background-color:#fad1e8;background-color:rgba(250,209,232,var(--bg-opacity))}.group:focus .md\:group-focus\:bg-pink-300{--bg-opacity:1;background-color:#f8b4d9;background-color:rgba(248,180,217,var(--bg-opacity))}.group:focus .md\:group-focus\:bg-pink-400{--bg-opacity:1;background-color:#f17eb8;background-color:rgba(241,126,184,var(--bg-opacity))}.group:focus .md\:group-focus\:bg-pink-500{--bg-opacity:1;background-color:#e74694;background-color:rgba(231,70,148,var(--bg-opacity))}.group:focus .md\:group-focus\:bg-pink-600{--bg-opacity:1;background-color:#d61f69;background-color:rgba(214,31,105,var(--bg-opacity))}.group:focus .md\:group-focus\:bg-pink-700{--bg-opacity:1;background-color:#bf125d;background-color:rgba(191,18,93,var(--bg-opacity))}.group:focus .md\:group-focus\:bg-pink-800{--bg-opacity:1;background-color:#99154b;background-color:rgba(153,21,75,var(--bg-opacity))}.group:focus .md\:group-focus\:bg-pink-900{--bg-opacity:1;background-color:#751a3d;background-color:rgba(117,26,61,var(--bg-opacity))}.md\:hover\:bg-transparent:hover{background-color:transparent}.md\:hover\:bg-white:hover{--bg-opacity:1;background-color:#fff;background-color:rgba(255,255,255,var(--bg-opacity))}.md\:hover\:bg-black:hover{--bg-opacity:1;background-color:#000;background-color:rgba(0,0,0,var(--bg-opacity))}.md\:hover\:bg-gray-50:hover{--bg-opacity:1;background-color:#f9fafb;background-color:rgba(249,250,251,var(--bg-opacity))}.md\:hover\:bg-gray-100:hover{--bg-opacity:1;background-color:#f4f5f7;background-color:rgba(244,245,247,var(--bg-opacity))}.md\:hover\:bg-gray-200:hover{--bg-opacity:1;background-color:#e5e7eb;background-color:rgba(229,231,235,var(--bg-opacity))}.md\:hover\:bg-gray-300:hover{--bg-opacity:1;background-color:#d2d6dc;background-color:rgba(210,214,220,var(--bg-opacity))}.md\:hover\:bg-gray-400:hover{--bg-opacity:1;background-color:#9fa6b2;background-color:rgba(159,166,178,var(--bg-opacity))}.md\:hover\:bg-gray-500:hover{--bg-opacity:1;background-color:#6b7280;background-color:rgba(107,114,128,var(--bg-opacity))}.md\:hover\:bg-gray-600:hover{--bg-opacity:1;background-color:#4b5563;background-color:rgba(75,85,99,var(--bg-opacity))}.md\:hover\:bg-gray-700:hover{--bg-opacity:1;background-color:#374151;background-color:rgba(55,65,81,var(--bg-opacity))}.md\:hover\:bg-gray-800:hover{--bg-opacity:1;background-color:#252f3f;background-color:rgba(37,47,63,var(--bg-opacity))}.md\:hover\:bg-gray-900:hover{--bg-opacity:1;background-color:#161e2e;background-color:rgba(22,30,46,var(--bg-opacity))}.md\:hover\:bg-cool-gray-50:hover{--bg-opacity:1;background-color:#f8fafc;background-color:rgba(248,250,252,var(--bg-opacity))}.md\:hover\:bg-cool-gray-100:hover{--bg-opacity:1;background-color:#f1f5f9;background-color:rgba(241,245,249,var(--bg-opacity))}.md\:hover\:bg-cool-gray-200:hover{--bg-opacity:1;background-color:#e2e8f0;background-color:rgba(226,232,240,var(--bg-opacity))}.md\:hover\:bg-cool-gray-300:hover{--bg-opacity:1;background-color:#cfd8e3;background-color:rgba(207,216,227,var(--bg-opacity))}.md\:hover\:bg-cool-gray-400:hover{--bg-opacity:1;background-color:#97a6ba;background-color:rgba(151,166,186,var(--bg-opacity))}.md\:hover\:bg-cool-gray-500:hover{--bg-opacity:1;background-color:#64748b;background-color:rgba(100,116,139,var(--bg-opacity))}.md\:hover\:bg-cool-gray-600:hover{--bg-opacity:1;background-color:#475569;background-color:rgba(71,85,105,var(--bg-opacity))}.md\:hover\:bg-cool-gray-700:hover{--bg-opacity:1;background-color:#364152;background-color:rgba(54,65,82,var(--bg-opacity))}.md\:hover\:bg-cool-gray-800:hover{--bg-opacity:1;background-color:#27303f;background-color:rgba(39,48,63,var(--bg-opacity))}.md\:hover\:bg-cool-gray-900:hover{--bg-opacity:1;background-color:#1a202e;background-color:rgba(26,32,46,var(--bg-opacity))}.md\:hover\:bg-red-50:hover{--bg-opacity:1;background-color:#fdf2f2;background-color:rgba(253,242,242,var(--bg-opacity))}.md\:hover\:bg-red-100:hover{--bg-opacity:1;background-color:#fde8e8;background-color:rgba(253,232,232,var(--bg-opacity))}.md\:hover\:bg-red-200:hover{--bg-opacity:1;background-color:#fbd5d5;background-color:rgba(251,213,213,var(--bg-opacity))}.md\:hover\:bg-red-300:hover{--bg-opacity:1;background-color:#f8b4b4;background-color:rgba(248,180,180,var(--bg-opacity))}.md\:hover\:bg-red-400:hover{--bg-opacity:1;background-color:#f98080;background-color:rgba(249,128,128,var(--bg-opacity))}.md\:hover\:bg-red-500:hover{--bg-opacity:1;background-color:#f05252;background-color:rgba(240,82,82,var(--bg-opacity))}.md\:hover\:bg-red-600:hover{--bg-opacity:1;background-color:#e02424;background-color:rgba(224,36,36,var(--bg-opacity))}.md\:hover\:bg-red-700:hover{--bg-opacity:1;background-color:#c81e1e;background-color:rgba(200,30,30,var(--bg-opacity))}.md\:hover\:bg-red-800:hover{--bg-opacity:1;background-color:#9b1c1c;background-color:rgba(155,28,28,var(--bg-opacity))}.md\:hover\:bg-red-900:hover{--bg-opacity:1;background-color:#771d1d;background-color:rgba(119,29,29,var(--bg-opacity))}.md\:hover\:bg-orange-50:hover{--bg-opacity:1;background-color:#fff8f1;background-color:rgba(255,248,241,var(--bg-opacity))}.md\:hover\:bg-orange-100:hover{--bg-opacity:1;background-color:#feecdc;background-color:rgba(254,236,220,var(--bg-opacity))}.md\:hover\:bg-orange-200:hover{--bg-opacity:1;background-color:#fcd9bd;background-color:rgba(252,217,189,var(--bg-opacity))}.md\:hover\:bg-orange-300:hover{--bg-opacity:1;background-color:#fdba8c;background-color:rgba(253,186,140,var(--bg-opacity))}.md\:hover\:bg-orange-400:hover{--bg-opacity:1;background-color:#ff8a4c;background-color:rgba(255,138,76,var(--bg-opacity))}.md\:hover\:bg-orange-500:hover{--bg-opacity:1;background-color:#ff5a1f;background-color:rgba(255,90,31,var(--bg-opacity))}.md\:hover\:bg-orange-600:hover{--bg-opacity:1;background-color:#d03801;background-color:rgba(208,56,1,var(--bg-opacity))}.md\:hover\:bg-orange-700:hover{--bg-opacity:1;background-color:#b43403;background-color:rgba(180,52,3,var(--bg-opacity))}.md\:hover\:bg-orange-800:hover{--bg-opacity:1;background-color:#8a2c0d;background-color:rgba(138,44,13,var(--bg-opacity))}.md\:hover\:bg-orange-900:hover{--bg-opacity:1;background-color:#73230d;background-color:rgba(115,35,13,var(--bg-opacity))}.md\:hover\:bg-yellow-50:hover{--bg-opacity:1;background-color:#fdfdea;background-color:rgba(253,253,234,var(--bg-opacity))}.md\:hover\:bg-yellow-100:hover{--bg-opacity:1;background-color:#fdf6b2;background-color:rgba(253,246,178,var(--bg-opacity))}.md\:hover\:bg-yellow-200:hover{--bg-opacity:1;background-color:#fce96a;background-color:rgba(252,233,106,var(--bg-opacity))}.md\:hover\:bg-yellow-300:hover{--bg-opacity:1;background-color:#faca15;background-color:rgba(250,202,21,var(--bg-opacity))}.md\:hover\:bg-yellow-400:hover{--bg-opacity:1;background-color:#e3a008;background-color:rgba(227,160,8,var(--bg-opacity))}.md\:hover\:bg-yellow-500:hover{--bg-opacity:1;background-color:#c27803;background-color:rgba(194,120,3,var(--bg-opacity))}.md\:hover\:bg-yellow-600:hover{--bg-opacity:1;background-color:#9f580a;background-color:rgba(159,88,10,var(--bg-opacity))}.md\:hover\:bg-yellow-700:hover{--bg-opacity:1;background-color:#8e4b10;background-color:rgba(142,75,16,var(--bg-opacity))}.md\:hover\:bg-yellow-800:hover{--bg-opacity:1;background-color:#723b13;background-color:rgba(114,59,19,var(--bg-opacity))}.md\:hover\:bg-yellow-900:hover{--bg-opacity:1;background-color:#633112;background-color:rgba(99,49,18,var(--bg-opacity))}.md\:hover\:bg-green-50:hover{--bg-opacity:1;background-color:#f3faf7;background-color:rgba(243,250,247,var(--bg-opacity))}.md\:hover\:bg-green-100:hover{--bg-opacity:1;background-color:#def7ec;background-color:rgba(222,247,236,var(--bg-opacity))}.md\:hover\:bg-green-200:hover{--bg-opacity:1;background-color:#bcf0da;background-color:rgba(188,240,218,var(--bg-opacity))}.md\:hover\:bg-green-300:hover{--bg-opacity:1;background-color:#84e1bc;background-color:rgba(132,225,188,var(--bg-opacity))}.md\:hover\:bg-green-400:hover{--bg-opacity:1;background-color:#31c48d;background-color:rgba(49,196,141,var(--bg-opacity))}.md\:hover\:bg-green-500:hover{--bg-opacity:1;background-color:#0e9f6e;background-color:rgba(14,159,110,var(--bg-opacity))}.md\:hover\:bg-green-600:hover{--bg-opacity:1;background-color:#057a55;background-color:rgba(5,122,85,var(--bg-opacity))}.md\:hover\:bg-green-700:hover{--bg-opacity:1;background-color:#046c4e;background-color:rgba(4,108,78,var(--bg-opacity))}.md\:hover\:bg-green-800:hover{--bg-opacity:1;background-color:#03543f;background-color:rgba(3,84,63,var(--bg-opacity))}.md\:hover\:bg-green-900:hover{--bg-opacity:1;background-color:#014737;background-color:rgba(1,71,55,var(--bg-opacity))}.md\:hover\:bg-teal-50:hover{--bg-opacity:1;background-color:#edfafa;background-color:rgba(237,250,250,var(--bg-opacity))}.md\:hover\:bg-teal-100:hover{--bg-opacity:1;background-color:#d5f5f6;background-color:rgba(213,245,246,var(--bg-opacity))}.md\:hover\:bg-teal-200:hover{--bg-opacity:1;background-color:#afecef;background-color:rgba(175,236,239,var(--bg-opacity))}.md\:hover\:bg-teal-300:hover{--bg-opacity:1;background-color:#7edce2;background-color:rgba(126,220,226,var(--bg-opacity))}.md\:hover\:bg-teal-400:hover{--bg-opacity:1;background-color:#16bdca;background-color:rgba(22,189,202,var(--bg-opacity))}.md\:hover\:bg-teal-500:hover{--bg-opacity:1;background-color:#0694a2;background-color:rgba(6,148,162,var(--bg-opacity))}.md\:hover\:bg-teal-600:hover{--bg-opacity:1;background-color:#047481;background-color:rgba(4,116,129,var(--bg-opacity))}.md\:hover\:bg-teal-700:hover{--bg-opacity:1;background-color:#036672;background-color:rgba(3,102,114,var(--bg-opacity))}.md\:hover\:bg-teal-800:hover{--bg-opacity:1;background-color:#05505c;background-color:rgba(5,80,92,var(--bg-opacity))}.md\:hover\:bg-teal-900:hover{--bg-opacity:1;background-color:#014451;background-color:rgba(1,68,81,var(--bg-opacity))}.md\:hover\:bg-blue-50:hover{--bg-opacity:1;background-color:#ebf5ff;background-color:rgba(235,245,255,var(--bg-opacity))}.md\:hover\:bg-blue-100:hover{--bg-opacity:1;background-color:#e1effe;background-color:rgba(225,239,254,var(--bg-opacity))}.md\:hover\:bg-blue-200:hover{--bg-opacity:1;background-color:#c3ddfd;background-color:rgba(195,221,253,var(--bg-opacity))}.md\:hover\:bg-blue-300:hover{--bg-opacity:1;background-color:#a4cafe;background-color:rgba(164,202,254,var(--bg-opacity))}.md\:hover\:bg-blue-400:hover{--bg-opacity:1;background-color:#76a9fa;background-color:rgba(118,169,250,var(--bg-opacity))}.md\:hover\:bg-blue-500:hover{--bg-opacity:1;background-color:#3f83f8;background-color:rgba(63,131,248,var(--bg-opacity))}.md\:hover\:bg-blue-600:hover{--bg-opacity:1;background-color:#1c64f2;background-color:rgba(28,100,242,var(--bg-opacity))}.md\:hover\:bg-blue-700:hover{--bg-opacity:1;background-color:#1a56db;background-color:rgba(26,86,219,var(--bg-opacity))}.md\:hover\:bg-blue-800:hover{--bg-opacity:1;background-color:#1e429f;background-color:rgba(30,66,159,var(--bg-opacity))}.md\:hover\:bg-blue-900:hover{--bg-opacity:1;background-color:#233876;background-color:rgba(35,56,118,var(--bg-opacity))}.md\:hover\:bg-indigo-50:hover{--bg-opacity:1;background-color:#f0f5ff;background-color:rgba(240,245,255,var(--bg-opacity))}.md\:hover\:bg-indigo-100:hover{--bg-opacity:1;background-color:#e5edff;background-color:rgba(229,237,255,var(--bg-opacity))}.md\:hover\:bg-indigo-200:hover{--bg-opacity:1;background-color:#cddbfe;background-color:rgba(205,219,254,var(--bg-opacity))}.md\:hover\:bg-indigo-300:hover{--bg-opacity:1;background-color:#b4c6fc;background-color:rgba(180,198,252,var(--bg-opacity))}.md\:hover\:bg-indigo-400:hover{--bg-opacity:1;background-color:#8da2fb;background-color:rgba(141,162,251,var(--bg-opacity))}.md\:hover\:bg-indigo-500:hover{--bg-opacity:1;background-color:#6875f5;background-color:rgba(104,117,245,var(--bg-opacity))}.md\:hover\:bg-indigo-600:hover{--bg-opacity:1;background-color:#5850ec;background-color:rgba(88,80,236,var(--bg-opacity))}.md\:hover\:bg-indigo-700:hover{--bg-opacity:1;background-color:#5145cd;background-color:rgba(81,69,205,var(--bg-opacity))}.md\:hover\:bg-indigo-800:hover{--bg-opacity:1;background-color:#42389d;background-color:rgba(66,56,157,var(--bg-opacity))}.md\:hover\:bg-indigo-900:hover{--bg-opacity:1;background-color:#362f78;background-color:rgba(54,47,120,var(--bg-opacity))}.md\:hover\:bg-purple-50:hover{--bg-opacity:1;background-color:#f6f5ff;background-color:rgba(246,245,255,var(--bg-opacity))}.md\:hover\:bg-purple-100:hover{--bg-opacity:1;background-color:#edebfe;background-color:rgba(237,235,254,var(--bg-opacity))}.md\:hover\:bg-purple-200:hover{--bg-opacity:1;background-color:#dcd7fe;background-color:rgba(220,215,254,var(--bg-opacity))}.md\:hover\:bg-purple-300:hover{--bg-opacity:1;background-color:#cabffd;background-color:rgba(202,191,253,var(--bg-opacity))}.md\:hover\:bg-purple-400:hover{--bg-opacity:1;background-color:#ac94fa;background-color:rgba(172,148,250,var(--bg-opacity))}.md\:hover\:bg-purple-500:hover{--bg-opacity:1;background-color:#9061f9;background-color:rgba(144,97,249,var(--bg-opacity))}.md\:hover\:bg-purple-600:hover{--bg-opacity:1;background-color:#7e3af2;background-color:rgba(126,58,242,var(--bg-opacity))}.md\:hover\:bg-purple-700:hover{--bg-opacity:1;background-color:#6c2bd9;background-color:rgba(108,43,217,var(--bg-opacity))}.md\:hover\:bg-purple-800:hover{--bg-opacity:1;background-color:#5521b5;background-color:rgba(85,33,181,var(--bg-opacity))}.md\:hover\:bg-purple-900:hover{--bg-opacity:1;background-color:#4a1d96;background-color:rgba(74,29,150,var(--bg-opacity))}.md\:hover\:bg-pink-50:hover{--bg-opacity:1;background-color:#fdf2f8;background-color:rgba(253,242,248,var(--bg-opacity))}.md\:hover\:bg-pink-100:hover{--bg-opacity:1;background-color:#fce8f3;background-color:rgba(252,232,243,var(--bg-opacity))}.md\:hover\:bg-pink-200:hover{--bg-opacity:1;background-color:#fad1e8;background-color:rgba(250,209,232,var(--bg-opacity))}.md\:hover\:bg-pink-300:hover{--bg-opacity:1;background-color:#f8b4d9;background-color:rgba(248,180,217,var(--bg-opacity))}.md\:hover\:bg-pink-400:hover{--bg-opacity:1;background-color:#f17eb8;background-color:rgba(241,126,184,var(--bg-opacity))}.md\:hover\:bg-pink-500:hover{--bg-opacity:1;background-color:#e74694;background-color:rgba(231,70,148,var(--bg-opacity))}.md\:hover\:bg-pink-600:hover{--bg-opacity:1;background-color:#d61f69;background-color:rgba(214,31,105,var(--bg-opacity))}.md\:hover\:bg-pink-700:hover{--bg-opacity:1;background-color:#bf125d;background-color:rgba(191,18,93,var(--bg-opacity))}.md\:hover\:bg-pink-800:hover{--bg-opacity:1;background-color:#99154b;background-color:rgba(153,21,75,var(--bg-opacity))}.md\:hover\:bg-pink-900:hover{--bg-opacity:1;background-color:#751a3d;background-color:rgba(117,26,61,var(--bg-opacity))}.md\:focus\:bg-transparent:focus{background-color:transparent}.md\:focus\:bg-white:focus{--bg-opacity:1;background-color:#fff;background-color:rgba(255,255,255,var(--bg-opacity))}.md\:focus\:bg-black:focus{--bg-opacity:1;background-color:#000;background-color:rgba(0,0,0,var(--bg-opacity))}.md\:focus\:bg-gray-50:focus{--bg-opacity:1;background-color:#f9fafb;background-color:rgba(249,250,251,var(--bg-opacity))}.md\:focus\:bg-gray-100:focus{--bg-opacity:1;background-color:#f4f5f7;background-color:rgba(244,245,247,var(--bg-opacity))}.md\:focus\:bg-gray-200:focus{--bg-opacity:1;background-color:#e5e7eb;background-color:rgba(229,231,235,var(--bg-opacity))}.md\:focus\:bg-gray-300:focus{--bg-opacity:1;background-color:#d2d6dc;background-color:rgba(210,214,220,var(--bg-opacity))}.md\:focus\:bg-gray-400:focus{--bg-opacity:1;background-color:#9fa6b2;background-color:rgba(159,166,178,var(--bg-opacity))}.md\:focus\:bg-gray-500:focus{--bg-opacity:1;background-color:#6b7280;background-color:rgba(107,114,128,var(--bg-opacity))}.md\:focus\:bg-gray-600:focus{--bg-opacity:1;background-color:#4b5563;background-color:rgba(75,85,99,var(--bg-opacity))}.md\:focus\:bg-gray-700:focus{--bg-opacity:1;background-color:#374151;background-color:rgba(55,65,81,var(--bg-opacity))}.md\:focus\:bg-gray-800:focus{--bg-opacity:1;background-color:#252f3f;background-color:rgba(37,47,63,var(--bg-opacity))}.md\:focus\:bg-gray-900:focus{--bg-opacity:1;background-color:#161e2e;background-color:rgba(22,30,46,var(--bg-opacity))}.md\:focus\:bg-cool-gray-50:focus{--bg-opacity:1;background-color:#f8fafc;background-color:rgba(248,250,252,var(--bg-opacity))}.md\:focus\:bg-cool-gray-100:focus{--bg-opacity:1;background-color:#f1f5f9;background-color:rgba(241,245,249,var(--bg-opacity))}.md\:focus\:bg-cool-gray-200:focus{--bg-opacity:1;background-color:#e2e8f0;background-color:rgba(226,232,240,var(--bg-opacity))}.md\:focus\:bg-cool-gray-300:focus{--bg-opacity:1;background-color:#cfd8e3;background-color:rgba(207,216,227,var(--bg-opacity))}.md\:focus\:bg-cool-gray-400:focus{--bg-opacity:1;background-color:#97a6ba;background-color:rgba(151,166,186,var(--bg-opacity))}.md\:focus\:bg-cool-gray-500:focus{--bg-opacity:1;background-color:#64748b;background-color:rgba(100,116,139,var(--bg-opacity))}.md\:focus\:bg-cool-gray-600:focus{--bg-opacity:1;background-color:#475569;background-color:rgba(71,85,105,var(--bg-opacity))}.md\:focus\:bg-cool-gray-700:focus{--bg-opacity:1;background-color:#364152;background-color:rgba(54,65,82,var(--bg-opacity))}.md\:focus\:bg-cool-gray-800:focus{--bg-opacity:1;background-color:#27303f;background-color:rgba(39,48,63,var(--bg-opacity))}.md\:focus\:bg-cool-gray-900:focus{--bg-opacity:1;background-color:#1a202e;background-color:rgba(26,32,46,var(--bg-opacity))}.md\:focus\:bg-red-50:focus{--bg-opacity:1;background-color:#fdf2f2;background-color:rgba(253,242,242,var(--bg-opacity))}.md\:focus\:bg-red-100:focus{--bg-opacity:1;background-color:#fde8e8;background-color:rgba(253,232,232,var(--bg-opacity))}.md\:focus\:bg-red-200:focus{--bg-opacity:1;background-color:#fbd5d5;background-color:rgba(251,213,213,var(--bg-opacity))}.md\:focus\:bg-red-300:focus{--bg-opacity:1;background-color:#f8b4b4;background-color:rgba(248,180,180,var(--bg-opacity))}.md\:focus\:bg-red-400:focus{--bg-opacity:1;background-color:#f98080;background-color:rgba(249,128,128,var(--bg-opacity))}.md\:focus\:bg-red-500:focus{--bg-opacity:1;background-color:#f05252;background-color:rgba(240,82,82,var(--bg-opacity))}.md\:focus\:bg-red-600:focus{--bg-opacity:1;background-color:#e02424;background-color:rgba(224,36,36,var(--bg-opacity))}.md\:focus\:bg-red-700:focus{--bg-opacity:1;background-color:#c81e1e;background-color:rgba(200,30,30,var(--bg-opacity))}.md\:focus\:bg-red-800:focus{--bg-opacity:1;background-color:#9b1c1c;background-color:rgba(155,28,28,var(--bg-opacity))}.md\:focus\:bg-red-900:focus{--bg-opacity:1;background-color:#771d1d;background-color:rgba(119,29,29,var(--bg-opacity))}.md\:focus\:bg-orange-50:focus{--bg-opacity:1;background-color:#fff8f1;background-color:rgba(255,248,241,var(--bg-opacity))}.md\:focus\:bg-orange-100:focus{--bg-opacity:1;background-color:#feecdc;background-color:rgba(254,236,220,var(--bg-opacity))}.md\:focus\:bg-orange-200:focus{--bg-opacity:1;background-color:#fcd9bd;background-color:rgba(252,217,189,var(--bg-opacity))}.md\:focus\:bg-orange-300:focus{--bg-opacity:1;background-color:#fdba8c;background-color:rgba(253,186,140,var(--bg-opacity))}.md\:focus\:bg-orange-400:focus{--bg-opacity:1;background-color:#ff8a4c;background-color:rgba(255,138,76,var(--bg-opacity))}.md\:focus\:bg-orange-500:focus{--bg-opacity:1;background-color:#ff5a1f;background-color:rgba(255,90,31,var(--bg-opacity))}.md\:focus\:bg-orange-600:focus{--bg-opacity:1;background-color:#d03801;background-color:rgba(208,56,1,var(--bg-opacity))}.md\:focus\:bg-orange-700:focus{--bg-opacity:1;background-color:#b43403;background-color:rgba(180,52,3,var(--bg-opacity))}.md\:focus\:bg-orange-800:focus{--bg-opacity:1;background-color:#8a2c0d;background-color:rgba(138,44,13,var(--bg-opacity))}.md\:focus\:bg-orange-900:focus{--bg-opacity:1;background-color:#73230d;background-color:rgba(115,35,13,var(--bg-opacity))}.md\:focus\:bg-yellow-50:focus{--bg-opacity:1;background-color:#fdfdea;background-color:rgba(253,253,234,var(--bg-opacity))}.md\:focus\:bg-yellow-100:focus{--bg-opacity:1;background-color:#fdf6b2;background-color:rgba(253,246,178,var(--bg-opacity))}.md\:focus\:bg-yellow-200:focus{--bg-opacity:1;background-color:#fce96a;background-color:rgba(252,233,106,var(--bg-opacity))}.md\:focus\:bg-yellow-300:focus{--bg-opacity:1;background-color:#faca15;background-color:rgba(250,202,21,var(--bg-opacity))}.md\:focus\:bg-yellow-400:focus{--bg-opacity:1;background-color:#e3a008;background-color:rgba(227,160,8,var(--bg-opacity))}.md\:focus\:bg-yellow-500:focus{--bg-opacity:1;background-color:#c27803;background-color:rgba(194,120,3,var(--bg-opacity))}.md\:focus\:bg-yellow-600:focus{--bg-opacity:1;background-color:#9f580a;background-color:rgba(159,88,10,var(--bg-opacity))}.md\:focus\:bg-yellow-700:focus{--bg-opacity:1;background-color:#8e4b10;background-color:rgba(142,75,16,var(--bg-opacity))}.md\:focus\:bg-yellow-800:focus{--bg-opacity:1;background-color:#723b13;background-color:rgba(114,59,19,var(--bg-opacity))}.md\:focus\:bg-yellow-900:focus{--bg-opacity:1;background-color:#633112;background-color:rgba(99,49,18,var(--bg-opacity))}.md\:focus\:bg-green-50:focus{--bg-opacity:1;background-color:#f3faf7;background-color:rgba(243,250,247,var(--bg-opacity))}.md\:focus\:bg-green-100:focus{--bg-opacity:1;background-color:#def7ec;background-color:rgba(222,247,236,var(--bg-opacity))}.md\:focus\:bg-green-200:focus{--bg-opacity:1;background-color:#bcf0da;background-color:rgba(188,240,218,var(--bg-opacity))}.md\:focus\:bg-green-300:focus{--bg-opacity:1;background-color:#84e1bc;background-color:rgba(132,225,188,var(--bg-opacity))}.md\:focus\:bg-green-400:focus{--bg-opacity:1;background-color:#31c48d;background-color:rgba(49,196,141,var(--bg-opacity))}.md\:focus\:bg-green-500:focus{--bg-opacity:1;background-color:#0e9f6e;background-color:rgba(14,159,110,var(--bg-opacity))}.md\:focus\:bg-green-600:focus{--bg-opacity:1;background-color:#057a55;background-color:rgba(5,122,85,var(--bg-opacity))}.md\:focus\:bg-green-700:focus{--bg-opacity:1;background-color:#046c4e;background-color:rgba(4,108,78,var(--bg-opacity))}.md\:focus\:bg-green-800:focus{--bg-opacity:1;background-color:#03543f;background-color:rgba(3,84,63,var(--bg-opacity))}.md\:focus\:bg-green-900:focus{--bg-opacity:1;background-color:#014737;background-color:rgba(1,71,55,var(--bg-opacity))}.md\:focus\:bg-teal-50:focus{--bg-opacity:1;background-color:#edfafa;background-color:rgba(237,250,250,var(--bg-opacity))}.md\:focus\:bg-teal-100:focus{--bg-opacity:1;background-color:#d5f5f6;background-color:rgba(213,245,246,var(--bg-opacity))}.md\:focus\:bg-teal-200:focus{--bg-opacity:1;background-color:#afecef;background-color:rgba(175,236,239,var(--bg-opacity))}.md\:focus\:bg-teal-300:focus{--bg-opacity:1;background-color:#7edce2;background-color:rgba(126,220,226,var(--bg-opacity))}.md\:focus\:bg-teal-400:focus{--bg-opacity:1;background-color:#16bdca;background-color:rgba(22,189,202,var(--bg-opacity))}.md\:focus\:bg-teal-500:focus{--bg-opacity:1;background-color:#0694a2;background-color:rgba(6,148,162,var(--bg-opacity))}.md\:focus\:bg-teal-600:focus{--bg-opacity:1;background-color:#047481;background-color:rgba(4,116,129,var(--bg-opacity))}.md\:focus\:bg-teal-700:focus{--bg-opacity:1;background-color:#036672;background-color:rgba(3,102,114,var(--bg-opacity))}.md\:focus\:bg-teal-800:focus{--bg-opacity:1;background-color:#05505c;background-color:rgba(5,80,92,var(--bg-opacity))}.md\:focus\:bg-teal-900:focus{--bg-opacity:1;background-color:#014451;background-color:rgba(1,68,81,var(--bg-opacity))}.md\:focus\:bg-blue-50:focus{--bg-opacity:1;background-color:#ebf5ff;background-color:rgba(235,245,255,var(--bg-opacity))}.md\:focus\:bg-blue-100:focus{--bg-opacity:1;background-color:#e1effe;background-color:rgba(225,239,254,var(--bg-opacity))}.md\:focus\:bg-blue-200:focus{--bg-opacity:1;background-color:#c3ddfd;background-color:rgba(195,221,253,var(--bg-opacity))}.md\:focus\:bg-blue-300:focus{--bg-opacity:1;background-color:#a4cafe;background-color:rgba(164,202,254,var(--bg-opacity))}.md\:focus\:bg-blue-400:focus{--bg-opacity:1;background-color:#76a9fa;background-color:rgba(118,169,250,var(--bg-opacity))}.md\:focus\:bg-blue-500:focus{--bg-opacity:1;background-color:#3f83f8;background-color:rgba(63,131,248,var(--bg-opacity))}.md\:focus\:bg-blue-600:focus{--bg-opacity:1;background-color:#1c64f2;background-color:rgba(28,100,242,var(--bg-opacity))}.md\:focus\:bg-blue-700:focus{--bg-opacity:1;background-color:#1a56db;background-color:rgba(26,86,219,var(--bg-opacity))}.md\:focus\:bg-blue-800:focus{--bg-opacity:1;background-color:#1e429f;background-color:rgba(30,66,159,var(--bg-opacity))}.md\:focus\:bg-blue-900:focus{--bg-opacity:1;background-color:#233876;background-color:rgba(35,56,118,var(--bg-opacity))}.md\:focus\:bg-indigo-50:focus{--bg-opacity:1;background-color:#f0f5ff;background-color:rgba(240,245,255,var(--bg-opacity))}.md\:focus\:bg-indigo-100:focus{--bg-opacity:1;background-color:#e5edff;background-color:rgba(229,237,255,var(--bg-opacity))}.md\:focus\:bg-indigo-200:focus{--bg-opacity:1;background-color:#cddbfe;background-color:rgba(205,219,254,var(--bg-opacity))}.md\:focus\:bg-indigo-300:focus{--bg-opacity:1;background-color:#b4c6fc;background-color:rgba(180,198,252,var(--bg-opacity))}.md\:focus\:bg-indigo-400:focus{--bg-opacity:1;background-color:#8da2fb;background-color:rgba(141,162,251,var(--bg-opacity))}.md\:focus\:bg-indigo-500:focus{--bg-opacity:1;background-color:#6875f5;background-color:rgba(104,117,245,var(--bg-opacity))}.md\:focus\:bg-indigo-600:focus{--bg-opacity:1;background-color:#5850ec;background-color:rgba(88,80,236,var(--bg-opacity))}.md\:focus\:bg-indigo-700:focus{--bg-opacity:1;background-color:#5145cd;background-color:rgba(81,69,205,var(--bg-opacity))}.md\:focus\:bg-indigo-800:focus{--bg-opacity:1;background-color:#42389d;background-color:rgba(66,56,157,var(--bg-opacity))}.md\:focus\:bg-indigo-900:focus{--bg-opacity:1;background-color:#362f78;background-color:rgba(54,47,120,var(--bg-opacity))}.md\:focus\:bg-purple-50:focus{--bg-opacity:1;background-color:#f6f5ff;background-color:rgba(246,245,255,var(--bg-opacity))}.md\:focus\:bg-purple-100:focus{--bg-opacity:1;background-color:#edebfe;background-color:rgba(237,235,254,var(--bg-opacity))}.md\:focus\:bg-purple-200:focus{--bg-opacity:1;background-color:#dcd7fe;background-color:rgba(220,215,254,var(--bg-opacity))}.md\:focus\:bg-purple-300:focus{--bg-opacity:1;background-color:#cabffd;background-color:rgba(202,191,253,var(--bg-opacity))}.md\:focus\:bg-purple-400:focus{--bg-opacity:1;background-color:#ac94fa;background-color:rgba(172,148,250,var(--bg-opacity))}.md\:focus\:bg-purple-500:focus{--bg-opacity:1;background-color:#9061f9;background-color:rgba(144,97,249,var(--bg-opacity))}.md\:focus\:bg-purple-600:focus{--bg-opacity:1;background-color:#7e3af2;background-color:rgba(126,58,242,var(--bg-opacity))}.md\:focus\:bg-purple-700:focus{--bg-opacity:1;background-color:#6c2bd9;background-color:rgba(108,43,217,var(--bg-opacity))}.md\:focus\:bg-purple-800:focus{--bg-opacity:1;background-color:#5521b5;background-color:rgba(85,33,181,var(--bg-opacity))}.md\:focus\:bg-purple-900:focus{--bg-opacity:1;background-color:#4a1d96;background-color:rgba(74,29,150,var(--bg-opacity))}.md\:focus\:bg-pink-50:focus{--bg-opacity:1;background-color:#fdf2f8;background-color:rgba(253,242,248,var(--bg-opacity))}.md\:focus\:bg-pink-100:focus{--bg-opacity:1;background-color:#fce8f3;background-color:rgba(252,232,243,var(--bg-opacity))}.md\:focus\:bg-pink-200:focus{--bg-opacity:1;background-color:#fad1e8;background-color:rgba(250,209,232,var(--bg-opacity))}.md\:focus\:bg-pink-300:focus{--bg-opacity:1;background-color:#f8b4d9;background-color:rgba(248,180,217,var(--bg-opacity))}.md\:focus\:bg-pink-400:focus{--bg-opacity:1;background-color:#f17eb8;background-color:rgba(241,126,184,var(--bg-opacity))}.md\:focus\:bg-pink-500:focus{--bg-opacity:1;background-color:#e74694;background-color:rgba(231,70,148,var(--bg-opacity))}.md\:focus\:bg-pink-600:focus{--bg-opacity:1;background-color:#d61f69;background-color:rgba(214,31,105,var(--bg-opacity))}.md\:focus\:bg-pink-700:focus{--bg-opacity:1;background-color:#bf125d;background-color:rgba(191,18,93,var(--bg-opacity))}.md\:focus\:bg-pink-800:focus{--bg-opacity:1;background-color:#99154b;background-color:rgba(153,21,75,var(--bg-opacity))}.md\:focus\:bg-pink-900:focus{--bg-opacity:1;background-color:#751a3d;background-color:rgba(117,26,61,var(--bg-opacity))}.md\:active\:bg-transparent:active{background-color:transparent}.md\:active\:bg-white:active{--bg-opacity:1;background-color:#fff;background-color:rgba(255,255,255,var(--bg-opacity))}.md\:active\:bg-black:active{--bg-opacity:1;background-color:#000;background-color:rgba(0,0,0,var(--bg-opacity))}.md\:active\:bg-gray-50:active{--bg-opacity:1;background-color:#f9fafb;background-color:rgba(249,250,251,var(--bg-opacity))}.md\:active\:bg-gray-100:active{--bg-opacity:1;background-color:#f4f5f7;background-color:rgba(244,245,247,var(--bg-opacity))}.md\:active\:bg-gray-200:active{--bg-opacity:1;background-color:#e5e7eb;background-color:rgba(229,231,235,var(--bg-opacity))}.md\:active\:bg-gray-300:active{--bg-opacity:1;background-color:#d2d6dc;background-color:rgba(210,214,220,var(--bg-opacity))}.md\:active\:bg-gray-400:active{--bg-opacity:1;background-color:#9fa6b2;background-color:rgba(159,166,178,var(--bg-opacity))}.md\:active\:bg-gray-500:active{--bg-opacity:1;background-color:#6b7280;background-color:rgba(107,114,128,var(--bg-opacity))}.md\:active\:bg-gray-600:active{--bg-opacity:1;background-color:#4b5563;background-color:rgba(75,85,99,var(--bg-opacity))}.md\:active\:bg-gray-700:active{--bg-opacity:1;background-color:#374151;background-color:rgba(55,65,81,var(--bg-opacity))}.md\:active\:bg-gray-800:active{--bg-opacity:1;background-color:#252f3f;background-color:rgba(37,47,63,var(--bg-opacity))}.md\:active\:bg-gray-900:active{--bg-opacity:1;background-color:#161e2e;background-color:rgba(22,30,46,var(--bg-opacity))}.md\:active\:bg-cool-gray-50:active{--bg-opacity:1;background-color:#f8fafc;background-color:rgba(248,250,252,var(--bg-opacity))}.md\:active\:bg-cool-gray-100:active{--bg-opacity:1;background-color:#f1f5f9;background-color:rgba(241,245,249,var(--bg-opacity))}.md\:active\:bg-cool-gray-200:active{--bg-opacity:1;background-color:#e2e8f0;background-color:rgba(226,232,240,var(--bg-opacity))}.md\:active\:bg-cool-gray-300:active{--bg-opacity:1;background-color:#cfd8e3;background-color:rgba(207,216,227,var(--bg-opacity))}.md\:active\:bg-cool-gray-400:active{--bg-opacity:1;background-color:#97a6ba;background-color:rgba(151,166,186,var(--bg-opacity))}.md\:active\:bg-cool-gray-500:active{--bg-opacity:1;background-color:#64748b;background-color:rgba(100,116,139,var(--bg-opacity))}.md\:active\:bg-cool-gray-600:active{--bg-opacity:1;background-color:#475569;background-color:rgba(71,85,105,var(--bg-opacity))}.md\:active\:bg-cool-gray-700:active{--bg-opacity:1;background-color:#364152;background-color:rgba(54,65,82,var(--bg-opacity))}.md\:active\:bg-cool-gray-800:active{--bg-opacity:1;background-color:#27303f;background-color:rgba(39,48,63,var(--bg-opacity))}.md\:active\:bg-cool-gray-900:active{--bg-opacity:1;background-color:#1a202e;background-color:rgba(26,32,46,var(--bg-opacity))}.md\:active\:bg-red-50:active{--bg-opacity:1;background-color:#fdf2f2;background-color:rgba(253,242,242,var(--bg-opacity))}.md\:active\:bg-red-100:active{--bg-opacity:1;background-color:#fde8e8;background-color:rgba(253,232,232,var(--bg-opacity))}.md\:active\:bg-red-200:active{--bg-opacity:1;background-color:#fbd5d5;background-color:rgba(251,213,213,var(--bg-opacity))}.md\:active\:bg-red-300:active{--bg-opacity:1;background-color:#f8b4b4;background-color:rgba(248,180,180,var(--bg-opacity))}.md\:active\:bg-red-400:active{--bg-opacity:1;background-color:#f98080;background-color:rgba(249,128,128,var(--bg-opacity))}.md\:active\:bg-red-500:active{--bg-opacity:1;background-color:#f05252;background-color:rgba(240,82,82,var(--bg-opacity))}.md\:active\:bg-red-600:active{--bg-opacity:1;background-color:#e02424;background-color:rgba(224,36,36,var(--bg-opacity))}.md\:active\:bg-red-700:active{--bg-opacity:1;background-color:#c81e1e;background-color:rgba(200,30,30,var(--bg-opacity))}.md\:active\:bg-red-800:active{--bg-opacity:1;background-color:#9b1c1c;background-color:rgba(155,28,28,var(--bg-opacity))}.md\:active\:bg-red-900:active{--bg-opacity:1;background-color:#771d1d;background-color:rgba(119,29,29,var(--bg-opacity))}.md\:active\:bg-orange-50:active{--bg-opacity:1;background-color:#fff8f1;background-color:rgba(255,248,241,var(--bg-opacity))}.md\:active\:bg-orange-100:active{--bg-opacity:1;background-color:#feecdc;background-color:rgba(254,236,220,var(--bg-opacity))}.md\:active\:bg-orange-200:active{--bg-opacity:1;background-color:#fcd9bd;background-color:rgba(252,217,189,var(--bg-opacity))}.md\:active\:bg-orange-300:active{--bg-opacity:1;background-color:#fdba8c;background-color:rgba(253,186,140,var(--bg-opacity))}.md\:active\:bg-orange-400:active{--bg-opacity:1;background-color:#ff8a4c;background-color:rgba(255,138,76,var(--bg-opacity))}.md\:active\:bg-orange-500:active{--bg-opacity:1;background-color:#ff5a1f;background-color:rgba(255,90,31,var(--bg-opacity))}.md\:active\:bg-orange-600:active{--bg-opacity:1;background-color:#d03801;background-color:rgba(208,56,1,var(--bg-opacity))}.md\:active\:bg-orange-700:active{--bg-opacity:1;background-color:#b43403;background-color:rgba(180,52,3,var(--bg-opacity))}.md\:active\:bg-orange-800:active{--bg-opacity:1;background-color:#8a2c0d;background-color:rgba(138,44,13,var(--bg-opacity))}.md\:active\:bg-orange-900:active{--bg-opacity:1;background-color:#73230d;background-color:rgba(115,35,13,var(--bg-opacity))}.md\:active\:bg-yellow-50:active{--bg-opacity:1;background-color:#fdfdea;background-color:rgba(253,253,234,var(--bg-opacity))}.md\:active\:bg-yellow-100:active{--bg-opacity:1;background-color:#fdf6b2;background-color:rgba(253,246,178,var(--bg-opacity))}.md\:active\:bg-yellow-200:active{--bg-opacity:1;background-color:#fce96a;background-color:rgba(252,233,106,var(--bg-opacity))}.md\:active\:bg-yellow-300:active{--bg-opacity:1;background-color:#faca15;background-color:rgba(250,202,21,var(--bg-opacity))}.md\:active\:bg-yellow-400:active{--bg-opacity:1;background-color:#e3a008;background-color:rgba(227,160,8,var(--bg-opacity))}.md\:active\:bg-yellow-500:active{--bg-opacity:1;background-color:#c27803;background-color:rgba(194,120,3,var(--bg-opacity))}.md\:active\:bg-yellow-600:active{--bg-opacity:1;background-color:#9f580a;background-color:rgba(159,88,10,var(--bg-opacity))}.md\:active\:bg-yellow-700:active{--bg-opacity:1;background-color:#8e4b10;background-color:rgba(142,75,16,var(--bg-opacity))}.md\:active\:bg-yellow-800:active{--bg-opacity:1;background-color:#723b13;background-color:rgba(114,59,19,var(--bg-opacity))}.md\:active\:bg-yellow-900:active{--bg-opacity:1;background-color:#633112;background-color:rgba(99,49,18,var(--bg-opacity))}.md\:active\:bg-green-50:active{--bg-opacity:1;background-color:#f3faf7;background-color:rgba(243,250,247,var(--bg-opacity))}.md\:active\:bg-green-100:active{--bg-opacity:1;background-color:#def7ec;background-color:rgba(222,247,236,var(--bg-opacity))}.md\:active\:bg-green-200:active{--bg-opacity:1;background-color:#bcf0da;background-color:rgba(188,240,218,var(--bg-opacity))}.md\:active\:bg-green-300:active{--bg-opacity:1;background-color:#84e1bc;background-color:rgba(132,225,188,var(--bg-opacity))}.md\:active\:bg-green-400:active{--bg-opacity:1;background-color:#31c48d;background-color:rgba(49,196,141,var(--bg-opacity))}.md\:active\:bg-green-500:active{--bg-opacity:1;background-color:#0e9f6e;background-color:rgba(14,159,110,var(--bg-opacity))}.md\:active\:bg-green-600:active{--bg-opacity:1;background-color:#057a55;background-color:rgba(5,122,85,var(--bg-opacity))}.md\:active\:bg-green-700:active{--bg-opacity:1;background-color:#046c4e;background-color:rgba(4,108,78,var(--bg-opacity))}.md\:active\:bg-green-800:active{--bg-opacity:1;background-color:#03543f;background-color:rgba(3,84,63,var(--bg-opacity))}.md\:active\:bg-green-900:active{--bg-opacity:1;background-color:#014737;background-color:rgba(1,71,55,var(--bg-opacity))}.md\:active\:bg-teal-50:active{--bg-opacity:1;background-color:#edfafa;background-color:rgba(237,250,250,var(--bg-opacity))}.md\:active\:bg-teal-100:active{--bg-opacity:1;background-color:#d5f5f6;background-color:rgba(213,245,246,var(--bg-opacity))}.md\:active\:bg-teal-200:active{--bg-opacity:1;background-color:#afecef;background-color:rgba(175,236,239,var(--bg-opacity))}.md\:active\:bg-teal-300:active{--bg-opacity:1;background-color:#7edce2;background-color:rgba(126,220,226,var(--bg-opacity))}.md\:active\:bg-teal-400:active{--bg-opacity:1;background-color:#16bdca;background-color:rgba(22,189,202,var(--bg-opacity))}.md\:active\:bg-teal-500:active{--bg-opacity:1;background-color:#0694a2;background-color:rgba(6,148,162,var(--bg-opacity))}.md\:active\:bg-teal-600:active{--bg-opacity:1;background-color:#047481;background-color:rgba(4,116,129,var(--bg-opacity))}.md\:active\:bg-teal-700:active{--bg-opacity:1;background-color:#036672;background-color:rgba(3,102,114,var(--bg-opacity))}.md\:active\:bg-teal-800:active{--bg-opacity:1;background-color:#05505c;background-color:rgba(5,80,92,var(--bg-opacity))}.md\:active\:bg-teal-900:active{--bg-opacity:1;background-color:#014451;background-color:rgba(1,68,81,var(--bg-opacity))}.md\:active\:bg-blue-50:active{--bg-opacity:1;background-color:#ebf5ff;background-color:rgba(235,245,255,var(--bg-opacity))}.md\:active\:bg-blue-100:active{--bg-opacity:1;background-color:#e1effe;background-color:rgba(225,239,254,var(--bg-opacity))}.md\:active\:bg-blue-200:active{--bg-opacity:1;background-color:#c3ddfd;background-color:rgba(195,221,253,var(--bg-opacity))}.md\:active\:bg-blue-300:active{--bg-opacity:1;background-color:#a4cafe;background-color:rgba(164,202,254,var(--bg-opacity))}.md\:active\:bg-blue-400:active{--bg-opacity:1;background-color:#76a9fa;background-color:rgba(118,169,250,var(--bg-opacity))}.md\:active\:bg-blue-500:active{--bg-opacity:1;background-color:#3f83f8;background-color:rgba(63,131,248,var(--bg-opacity))}.md\:active\:bg-blue-600:active{--bg-opacity:1;background-color:#1c64f2;background-color:rgba(28,100,242,var(--bg-opacity))}.md\:active\:bg-blue-700:active{--bg-opacity:1;background-color:#1a56db;background-color:rgba(26,86,219,var(--bg-opacity))}.md\:active\:bg-blue-800:active{--bg-opacity:1;background-color:#1e429f;background-color:rgba(30,66,159,var(--bg-opacity))}.md\:active\:bg-blue-900:active{--bg-opacity:1;background-color:#233876;background-color:rgba(35,56,118,var(--bg-opacity))}.md\:active\:bg-indigo-50:active{--bg-opacity:1;background-color:#f0f5ff;background-color:rgba(240,245,255,var(--bg-opacity))}.md\:active\:bg-indigo-100:active{--bg-opacity:1;background-color:#e5edff;background-color:rgba(229,237,255,var(--bg-opacity))}.md\:active\:bg-indigo-200:active{--bg-opacity:1;background-color:#cddbfe;background-color:rgba(205,219,254,var(--bg-opacity))}.md\:active\:bg-indigo-300:active{--bg-opacity:1;background-color:#b4c6fc;background-color:rgba(180,198,252,var(--bg-opacity))}.md\:active\:bg-indigo-400:active{--bg-opacity:1;background-color:#8da2fb;background-color:rgba(141,162,251,var(--bg-opacity))}.md\:active\:bg-indigo-500:active{--bg-opacity:1;background-color:#6875f5;background-color:rgba(104,117,245,var(--bg-opacity))}.md\:active\:bg-indigo-600:active{--bg-opacity:1;background-color:#5850ec;background-color:rgba(88,80,236,var(--bg-opacity))}.md\:active\:bg-indigo-700:active{--bg-opacity:1;background-color:#5145cd;background-color:rgba(81,69,205,var(--bg-opacity))}.md\:active\:bg-indigo-800:active{--bg-opacity:1;background-color:#42389d;background-color:rgba(66,56,157,var(--bg-opacity))}.md\:active\:bg-indigo-900:active{--bg-opacity:1;background-color:#362f78;background-color:rgba(54,47,120,var(--bg-opacity))}.md\:active\:bg-purple-50:active{--bg-opacity:1;background-color:#f6f5ff;background-color:rgba(246,245,255,var(--bg-opacity))}.md\:active\:bg-purple-100:active{--bg-opacity:1;background-color:#edebfe;background-color:rgba(237,235,254,var(--bg-opacity))}.md\:active\:bg-purple-200:active{--bg-opacity:1;background-color:#dcd7fe;background-color:rgba(220,215,254,var(--bg-opacity))}.md\:active\:bg-purple-300:active{--bg-opacity:1;background-color:#cabffd;background-color:rgba(202,191,253,var(--bg-opacity))}.md\:active\:bg-purple-400:active{--bg-opacity:1;background-color:#ac94fa;background-color:rgba(172,148,250,var(--bg-opacity))}.md\:active\:bg-purple-500:active{--bg-opacity:1;background-color:#9061f9;background-color:rgba(144,97,249,var(--bg-opacity))}.md\:active\:bg-purple-600:active{--bg-opacity:1;background-color:#7e3af2;background-color:rgba(126,58,242,var(--bg-opacity))}.md\:active\:bg-purple-700:active{--bg-opacity:1;background-color:#6c2bd9;background-color:rgba(108,43,217,var(--bg-opacity))}.md\:active\:bg-purple-800:active{--bg-opacity:1;background-color:#5521b5;background-color:rgba(85,33,181,var(--bg-opacity))}.md\:active\:bg-purple-900:active{--bg-opacity:1;background-color:#4a1d96;background-color:rgba(74,29,150,var(--bg-opacity))}.md\:active\:bg-pink-50:active{--bg-opacity:1;background-color:#fdf2f8;background-color:rgba(253,242,248,var(--bg-opacity))}.md\:active\:bg-pink-100:active{--bg-opacity:1;background-color:#fce8f3;background-color:rgba(252,232,243,var(--bg-opacity))}.md\:active\:bg-pink-200:active{--bg-opacity:1;background-color:#fad1e8;background-color:rgba(250,209,232,var(--bg-opacity))}.md\:active\:bg-pink-300:active{--bg-opacity:1;background-color:#f8b4d9;background-color:rgba(248,180,217,var(--bg-opacity))}.md\:active\:bg-pink-400:active{--bg-opacity:1;background-color:#f17eb8;background-color:rgba(241,126,184,var(--bg-opacity))}.md\:active\:bg-pink-500:active{--bg-opacity:1;background-color:#e74694;background-color:rgba(231,70,148,var(--bg-opacity))}.md\:active\:bg-pink-600:active{--bg-opacity:1;background-color:#d61f69;background-color:rgba(214,31,105,var(--bg-opacity))}.md\:active\:bg-pink-700:active{--bg-opacity:1;background-color:#bf125d;background-color:rgba(191,18,93,var(--bg-opacity))}.md\:active\:bg-pink-800:active{--bg-opacity:1;background-color:#99154b;background-color:rgba(153,21,75,var(--bg-opacity))}.md\:active\:bg-pink-900:active{--bg-opacity:1;background-color:#751a3d;background-color:rgba(117,26,61,var(--bg-opacity))}.md\:bg-opacity-0{--bg-opacity:0}.md\:bg-opacity-25{--bg-opacity:0.25}.md\:bg-opacity-50{--bg-opacity:0.5}.md\:bg-opacity-75{--bg-opacity:0.75}.md\:bg-opacity-100{--bg-opacity:1}.md\:hover\:bg-opacity-0:hover{--bg-opacity:0}.md\:hover\:bg-opacity-25:hover{--bg-opacity:0.25}.md\:hover\:bg-opacity-50:hover{--bg-opacity:0.5}.md\:hover\:bg-opacity-75:hover{--bg-opacity:0.75}.md\:hover\:bg-opacity-100:hover{--bg-opacity:1}.md\:focus\:bg-opacity-0:focus{--bg-opacity:0}.md\:focus\:bg-opacity-25:focus{--bg-opacity:0.25}.md\:focus\:bg-opacity-50:focus{--bg-opacity:0.5}.md\:focus\:bg-opacity-75:focus{--bg-opacity:0.75}.md\:focus\:bg-opacity-100:focus{--bg-opacity:1}.md\:bg-bottom{background-position:bottom}.md\:bg-center{background-position:center}.md\:bg-left{background-position:left}.md\:bg-left-bottom{background-position:left bottom}.md\:bg-left-top{background-position:left top}.md\:bg-right{background-position:right}.md\:bg-right-bottom{background-position:right bottom}.md\:bg-right-top{background-position:right top}.md\:bg-top{background-position:top}.md\:bg-repeat{background-repeat:repeat}.md\:bg-no-repeat{background-repeat:no-repeat}.md\:bg-repeat-x{background-repeat:repeat-x}.md\:bg-repeat-y{background-repeat:repeat-y}.md\:bg-repeat-round{background-repeat:round}.md\:bg-repeat-space{background-repeat:space}.md\:bg-auto{background-size:auto}.md\:bg-cover{background-size:cover}.md\:bg-contain{background-size:contain}.md\:border-collapse{border-collapse:collapse}.md\:border-separate{border-collapse:separate}.md\:border-transparent{border-color:transparent}.md\:border-white{--border-opacity:1;border-color:#fff;border-color:rgba(255,255,255,var(--border-opacity))}.md\:border-black{--border-opacity:1;border-color:#000;border-color:rgba(0,0,0,var(--border-opacity))}.md\:border-gray-50{--border-opacity:1;border-color:#f9fafb;border-color:rgba(249,250,251,var(--border-opacity))}.md\:border-gray-100{--border-opacity:1;border-color:#f4f5f7;border-color:rgba(244,245,247,var(--border-opacity))}.md\:border-gray-200{--border-opacity:1;border-color:#e5e7eb;border-color:rgba(229,231,235,var(--border-opacity))}.md\:border-gray-300{--border-opacity:1;border-color:#d2d6dc;border-color:rgba(210,214,220,var(--border-opacity))}.md\:border-gray-400{--border-opacity:1;border-color:#9fa6b2;border-color:rgba(159,166,178,var(--border-opacity))}.md\:border-gray-500{--border-opacity:1;border-color:#6b7280;border-color:rgba(107,114,128,var(--border-opacity))}.md\:border-gray-600{--border-opacity:1;border-color:#4b5563;border-color:rgba(75,85,99,var(--border-opacity))}.md\:border-gray-700{--border-opacity:1;border-color:#374151;border-color:rgba(55,65,81,var(--border-opacity))}.md\:border-gray-800{--border-opacity:1;border-color:#252f3f;border-color:rgba(37,47,63,var(--border-opacity))}.md\:border-gray-900{--border-opacity:1;border-color:#161e2e;border-color:rgba(22,30,46,var(--border-opacity))}.md\:border-cool-gray-50{--border-opacity:1;border-color:#f8fafc;border-color:rgba(248,250,252,var(--border-opacity))}.md\:border-cool-gray-100{--border-opacity:1;border-color:#f1f5f9;border-color:rgba(241,245,249,var(--border-opacity))}.md\:border-cool-gray-200{--border-opacity:1;border-color:#e2e8f0;border-color:rgba(226,232,240,var(--border-opacity))}.md\:border-cool-gray-300{--border-opacity:1;border-color:#cfd8e3;border-color:rgba(207,216,227,var(--border-opacity))}.md\:border-cool-gray-400{--border-opacity:1;border-color:#97a6ba;border-color:rgba(151,166,186,var(--border-opacity))}.md\:border-cool-gray-500{--border-opacity:1;border-color:#64748b;border-color:rgba(100,116,139,var(--border-opacity))}.md\:border-cool-gray-600{--border-opacity:1;border-color:#475569;border-color:rgba(71,85,105,var(--border-opacity))}.md\:border-cool-gray-700{--border-opacity:1;border-color:#364152;border-color:rgba(54,65,82,var(--border-opacity))}.md\:border-cool-gray-800{--border-opacity:1;border-color:#27303f;border-color:rgba(39,48,63,var(--border-opacity))}.md\:border-cool-gray-900{--border-opacity:1;border-color:#1a202e;border-color:rgba(26,32,46,var(--border-opacity))}.md\:border-red-50{--border-opacity:1;border-color:#fdf2f2;border-color:rgba(253,242,242,var(--border-opacity))}.md\:border-red-100{--border-opacity:1;border-color:#fde8e8;border-color:rgba(253,232,232,var(--border-opacity))}.md\:border-red-200{--border-opacity:1;border-color:#fbd5d5;border-color:rgba(251,213,213,var(--border-opacity))}.md\:border-red-300{--border-opacity:1;border-color:#f8b4b4;border-color:rgba(248,180,180,var(--border-opacity))}.md\:border-red-400{--border-opacity:1;border-color:#f98080;border-color:rgba(249,128,128,var(--border-opacity))}.md\:border-red-500{--border-opacity:1;border-color:#f05252;border-color:rgba(240,82,82,var(--border-opacity))}.md\:border-red-600{--border-opacity:1;border-color:#e02424;border-color:rgba(224,36,36,var(--border-opacity))}.md\:border-red-700{--border-opacity:1;border-color:#c81e1e;border-color:rgba(200,30,30,var(--border-opacity))}.md\:border-red-800{--border-opacity:1;border-color:#9b1c1c;border-color:rgba(155,28,28,var(--border-opacity))}.md\:border-red-900{--border-opacity:1;border-color:#771d1d;border-color:rgba(119,29,29,var(--border-opacity))}.md\:border-orange-50{--border-opacity:1;border-color:#fff8f1;border-color:rgba(255,248,241,var(--border-opacity))}.md\:border-orange-100{--border-opacity:1;border-color:#feecdc;border-color:rgba(254,236,220,var(--border-opacity))}.md\:border-orange-200{--border-opacity:1;border-color:#fcd9bd;border-color:rgba(252,217,189,var(--border-opacity))}.md\:border-orange-300{--border-opacity:1;border-color:#fdba8c;border-color:rgba(253,186,140,var(--border-opacity))}.md\:border-orange-400{--border-opacity:1;border-color:#ff8a4c;border-color:rgba(255,138,76,var(--border-opacity))}.md\:border-orange-500{--border-opacity:1;border-color:#ff5a1f;border-color:rgba(255,90,31,var(--border-opacity))}.md\:border-orange-600{--border-opacity:1;border-color:#d03801;border-color:rgba(208,56,1,var(--border-opacity))}.md\:border-orange-700{--border-opacity:1;border-color:#b43403;border-color:rgba(180,52,3,var(--border-opacity))}.md\:border-orange-800{--border-opacity:1;border-color:#8a2c0d;border-color:rgba(138,44,13,var(--border-opacity))}.md\:border-orange-900{--border-opacity:1;border-color:#73230d;border-color:rgba(115,35,13,var(--border-opacity))}.md\:border-yellow-50{--border-opacity:1;border-color:#fdfdea;border-color:rgba(253,253,234,var(--border-opacity))}.md\:border-yellow-100{--border-opacity:1;border-color:#fdf6b2;border-color:rgba(253,246,178,var(--border-opacity))}.md\:border-yellow-200{--border-opacity:1;border-color:#fce96a;border-color:rgba(252,233,106,var(--border-opacity))}.md\:border-yellow-300{--border-opacity:1;border-color:#faca15;border-color:rgba(250,202,21,var(--border-opacity))}.md\:border-yellow-400{--border-opacity:1;border-color:#e3a008;border-color:rgba(227,160,8,var(--border-opacity))}.md\:border-yellow-500{--border-opacity:1;border-color:#c27803;border-color:rgba(194,120,3,var(--border-opacity))}.md\:border-yellow-600{--border-opacity:1;border-color:#9f580a;border-color:rgba(159,88,10,var(--border-opacity))}.md\:border-yellow-700{--border-opacity:1;border-color:#8e4b10;border-color:rgba(142,75,16,var(--border-opacity))}.md\:border-yellow-800{--border-opacity:1;border-color:#723b13;border-color:rgba(114,59,19,var(--border-opacity))}.md\:border-yellow-900{--border-opacity:1;border-color:#633112;border-color:rgba(99,49,18,var(--border-opacity))}.md\:border-green-50{--border-opacity:1;border-color:#f3faf7;border-color:rgba(243,250,247,var(--border-opacity))}.md\:border-green-100{--border-opacity:1;border-color:#def7ec;border-color:rgba(222,247,236,var(--border-opacity))}.md\:border-green-200{--border-opacity:1;border-color:#bcf0da;border-color:rgba(188,240,218,var(--border-opacity))}.md\:border-green-300{--border-opacity:1;border-color:#84e1bc;border-color:rgba(132,225,188,var(--border-opacity))}.md\:border-green-400{--border-opacity:1;border-color:#31c48d;border-color:rgba(49,196,141,var(--border-opacity))}.md\:border-green-500{--border-opacity:1;border-color:#0e9f6e;border-color:rgba(14,159,110,var(--border-opacity))}.md\:border-green-600{--border-opacity:1;border-color:#057a55;border-color:rgba(5,122,85,var(--border-opacity))}.md\:border-green-700{--border-opacity:1;border-color:#046c4e;border-color:rgba(4,108,78,var(--border-opacity))}.md\:border-green-800{--border-opacity:1;border-color:#03543f;border-color:rgba(3,84,63,var(--border-opacity))}.md\:border-green-900{--border-opacity:1;border-color:#014737;border-color:rgba(1,71,55,var(--border-opacity))}.md\:border-teal-50{--border-opacity:1;border-color:#edfafa;border-color:rgba(237,250,250,var(--border-opacity))}.md\:border-teal-100{--border-opacity:1;border-color:#d5f5f6;border-color:rgba(213,245,246,var(--border-opacity))}.md\:border-teal-200{--border-opacity:1;border-color:#afecef;border-color:rgba(175,236,239,var(--border-opacity))}.md\:border-teal-300{--border-opacity:1;border-color:#7edce2;border-color:rgba(126,220,226,var(--border-opacity))}.md\:border-teal-400{--border-opacity:1;border-color:#16bdca;border-color:rgba(22,189,202,var(--border-opacity))}.md\:border-teal-500{--border-opacity:1;border-color:#0694a2;border-color:rgba(6,148,162,var(--border-opacity))}.md\:border-teal-600{--border-opacity:1;border-color:#047481;border-color:rgba(4,116,129,var(--border-opacity))}.md\:border-teal-700{--border-opacity:1;border-color:#036672;border-color:rgba(3,102,114,var(--border-opacity))}.md\:border-teal-800{--border-opacity:1;border-color:#05505c;border-color:rgba(5,80,92,var(--border-opacity))}.md\:border-teal-900{--border-opacity:1;border-color:#014451;border-color:rgba(1,68,81,var(--border-opacity))}.md\:border-blue-50{--border-opacity:1;border-color:#ebf5ff;border-color:rgba(235,245,255,var(--border-opacity))}.md\:border-blue-100{--border-opacity:1;border-color:#e1effe;border-color:rgba(225,239,254,var(--border-opacity))}.md\:border-blue-200{--border-opacity:1;border-color:#c3ddfd;border-color:rgba(195,221,253,var(--border-opacity))}.md\:border-blue-300{--border-opacity:1;border-color:#a4cafe;border-color:rgba(164,202,254,var(--border-opacity))}.md\:border-blue-400{--border-opacity:1;border-color:#76a9fa;border-color:rgba(118,169,250,var(--border-opacity))}.md\:border-blue-500{--border-opacity:1;border-color:#3f83f8;border-color:rgba(63,131,248,var(--border-opacity))}.md\:border-blue-600{--border-opacity:1;border-color:#1c64f2;border-color:rgba(28,100,242,var(--border-opacity))}.md\:border-blue-700{--border-opacity:1;border-color:#1a56db;border-color:rgba(26,86,219,var(--border-opacity))}.md\:border-blue-800{--border-opacity:1;border-color:#1e429f;border-color:rgba(30,66,159,var(--border-opacity))}.md\:border-blue-900{--border-opacity:1;border-color:#233876;border-color:rgba(35,56,118,var(--border-opacity))}.md\:border-indigo-50{--border-opacity:1;border-color:#f0f5ff;border-color:rgba(240,245,255,var(--border-opacity))}.md\:border-indigo-100{--border-opacity:1;border-color:#e5edff;border-color:rgba(229,237,255,var(--border-opacity))}.md\:border-indigo-200{--border-opacity:1;border-color:#cddbfe;border-color:rgba(205,219,254,var(--border-opacity))}.md\:border-indigo-300{--border-opacity:1;border-color:#b4c6fc;border-color:rgba(180,198,252,var(--border-opacity))}.md\:border-indigo-400{--border-opacity:1;border-color:#8da2fb;border-color:rgba(141,162,251,var(--border-opacity))}.md\:border-indigo-500{--border-opacity:1;border-color:#6875f5;border-color:rgba(104,117,245,var(--border-opacity))}.md\:border-indigo-600{--border-opacity:1;border-color:#5850ec;border-color:rgba(88,80,236,var(--border-opacity))}.md\:border-indigo-700{--border-opacity:1;border-color:#5145cd;border-color:rgba(81,69,205,var(--border-opacity))}.md\:border-indigo-800{--border-opacity:1;border-color:#42389d;border-color:rgba(66,56,157,var(--border-opacity))}.md\:border-indigo-900{--border-opacity:1;border-color:#362f78;border-color:rgba(54,47,120,var(--border-opacity))}.md\:border-purple-50{--border-opacity:1;border-color:#f6f5ff;border-color:rgba(246,245,255,var(--border-opacity))}.md\:border-purple-100{--border-opacity:1;border-color:#edebfe;border-color:rgba(237,235,254,var(--border-opacity))}.md\:border-purple-200{--border-opacity:1;border-color:#dcd7fe;border-color:rgba(220,215,254,var(--border-opacity))}.md\:border-purple-300{--border-opacity:1;border-color:#cabffd;border-color:rgba(202,191,253,var(--border-opacity))}.md\:border-purple-400{--border-opacity:1;border-color:#ac94fa;border-color:rgba(172,148,250,var(--border-opacity))}.md\:border-purple-500{--border-opacity:1;border-color:#9061f9;border-color:rgba(144,97,249,var(--border-opacity))}.md\:border-purple-600{--border-opacity:1;border-color:#7e3af2;border-color:rgba(126,58,242,var(--border-opacity))}.md\:border-purple-700{--border-opacity:1;border-color:#6c2bd9;border-color:rgba(108,43,217,var(--border-opacity))}.md\:border-purple-800{--border-opacity:1;border-color:#5521b5;border-color:rgba(85,33,181,var(--border-opacity))}.md\:border-purple-900{--border-opacity:1;border-color:#4a1d96;border-color:rgba(74,29,150,var(--border-opacity))}.md\:border-pink-50{--border-opacity:1;border-color:#fdf2f8;border-color:rgba(253,242,248,var(--border-opacity))}.md\:border-pink-100{--border-opacity:1;border-color:#fce8f3;border-color:rgba(252,232,243,var(--border-opacity))}.md\:border-pink-200{--border-opacity:1;border-color:#fad1e8;border-color:rgba(250,209,232,var(--border-opacity))}.md\:border-pink-300{--border-opacity:1;border-color:#f8b4d9;border-color:rgba(248,180,217,var(--border-opacity))}.md\:border-pink-400{--border-opacity:1;border-color:#f17eb8;border-color:rgba(241,126,184,var(--border-opacity))}.md\:border-pink-500{--border-opacity:1;border-color:#e74694;border-color:rgba(231,70,148,var(--border-opacity))}.md\:border-pink-600{--border-opacity:1;border-color:#d61f69;border-color:rgba(214,31,105,var(--border-opacity))}.md\:border-pink-700{--border-opacity:1;border-color:#bf125d;border-color:rgba(191,18,93,var(--border-opacity))}.md\:border-pink-800{--border-opacity:1;border-color:#99154b;border-color:rgba(153,21,75,var(--border-opacity))}.md\:border-pink-900{--border-opacity:1;border-color:#751a3d;border-color:rgba(117,26,61,var(--border-opacity))}.group:hover .md\:group-hover\:border-transparent{border-color:transparent}.group:hover .md\:group-hover\:border-white{--border-opacity:1;border-color:#fff;border-color:rgba(255,255,255,var(--border-opacity))}.group:hover .md\:group-hover\:border-black{--border-opacity:1;border-color:#000;border-color:rgba(0,0,0,var(--border-opacity))}.group:hover .md\:group-hover\:border-gray-50{--border-opacity:1;border-color:#f9fafb;border-color:rgba(249,250,251,var(--border-opacity))}.group:hover .md\:group-hover\:border-gray-100{--border-opacity:1;border-color:#f4f5f7;border-color:rgba(244,245,247,var(--border-opacity))}.group:hover .md\:group-hover\:border-gray-200{--border-opacity:1;border-color:#e5e7eb;border-color:rgba(229,231,235,var(--border-opacity))}.group:hover .md\:group-hover\:border-gray-300{--border-opacity:1;border-color:#d2d6dc;border-color:rgba(210,214,220,var(--border-opacity))}.group:hover .md\:group-hover\:border-gray-400{--border-opacity:1;border-color:#9fa6b2;border-color:rgba(159,166,178,var(--border-opacity))}.group:hover .md\:group-hover\:border-gray-500{--border-opacity:1;border-color:#6b7280;border-color:rgba(107,114,128,var(--border-opacity))}.group:hover .md\:group-hover\:border-gray-600{--border-opacity:1;border-color:#4b5563;border-color:rgba(75,85,99,var(--border-opacity))}.group:hover .md\:group-hover\:border-gray-700{--border-opacity:1;border-color:#374151;border-color:rgba(55,65,81,var(--border-opacity))}.group:hover .md\:group-hover\:border-gray-800{--border-opacity:1;border-color:#252f3f;border-color:rgba(37,47,63,var(--border-opacity))}.group:hover .md\:group-hover\:border-gray-900{--border-opacity:1;border-color:#161e2e;border-color:rgba(22,30,46,var(--border-opacity))}.group:hover .md\:group-hover\:border-cool-gray-50{--border-opacity:1;border-color:#f8fafc;border-color:rgba(248,250,252,var(--border-opacity))}.group:hover .md\:group-hover\:border-cool-gray-100{--border-opacity:1;border-color:#f1f5f9;border-color:rgba(241,245,249,var(--border-opacity))}.group:hover .md\:group-hover\:border-cool-gray-200{--border-opacity:1;border-color:#e2e8f0;border-color:rgba(226,232,240,var(--border-opacity))}.group:hover .md\:group-hover\:border-cool-gray-300{--border-opacity:1;border-color:#cfd8e3;border-color:rgba(207,216,227,var(--border-opacity))}.group:hover .md\:group-hover\:border-cool-gray-400{--border-opacity:1;border-color:#97a6ba;border-color:rgba(151,166,186,var(--border-opacity))}.group:hover .md\:group-hover\:border-cool-gray-500{--border-opacity:1;border-color:#64748b;border-color:rgba(100,116,139,var(--border-opacity))}.group:hover .md\:group-hover\:border-cool-gray-600{--border-opacity:1;border-color:#475569;border-color:rgba(71,85,105,var(--border-opacity))}.group:hover .md\:group-hover\:border-cool-gray-700{--border-opacity:1;border-color:#364152;border-color:rgba(54,65,82,var(--border-opacity))}.group:hover .md\:group-hover\:border-cool-gray-800{--border-opacity:1;border-color:#27303f;border-color:rgba(39,48,63,var(--border-opacity))}.group:hover .md\:group-hover\:border-cool-gray-900{--border-opacity:1;border-color:#1a202e;border-color:rgba(26,32,46,var(--border-opacity))}.group:hover .md\:group-hover\:border-red-50{--border-opacity:1;border-color:#fdf2f2;border-color:rgba(253,242,242,var(--border-opacity))}.group:hover .md\:group-hover\:border-red-100{--border-opacity:1;border-color:#fde8e8;border-color:rgba(253,232,232,var(--border-opacity))}.group:hover .md\:group-hover\:border-red-200{--border-opacity:1;border-color:#fbd5d5;border-color:rgba(251,213,213,var(--border-opacity))}.group:hover .md\:group-hover\:border-red-300{--border-opacity:1;border-color:#f8b4b4;border-color:rgba(248,180,180,var(--border-opacity))}.group:hover .md\:group-hover\:border-red-400{--border-opacity:1;border-color:#f98080;border-color:rgba(249,128,128,var(--border-opacity))}.group:hover .md\:group-hover\:border-red-500{--border-opacity:1;border-color:#f05252;border-color:rgba(240,82,82,var(--border-opacity))}.group:hover .md\:group-hover\:border-red-600{--border-opacity:1;border-color:#e02424;border-color:rgba(224,36,36,var(--border-opacity))}.group:hover .md\:group-hover\:border-red-700{--border-opacity:1;border-color:#c81e1e;border-color:rgba(200,30,30,var(--border-opacity))}.group:hover .md\:group-hover\:border-red-800{--border-opacity:1;border-color:#9b1c1c;border-color:rgba(155,28,28,var(--border-opacity))}.group:hover .md\:group-hover\:border-red-900{--border-opacity:1;border-color:#771d1d;border-color:rgba(119,29,29,var(--border-opacity))}.group:hover .md\:group-hover\:border-orange-50{--border-opacity:1;border-color:#fff8f1;border-color:rgba(255,248,241,var(--border-opacity))}.group:hover .md\:group-hover\:border-orange-100{--border-opacity:1;border-color:#feecdc;border-color:rgba(254,236,220,var(--border-opacity))}.group:hover .md\:group-hover\:border-orange-200{--border-opacity:1;border-color:#fcd9bd;border-color:rgba(252,217,189,var(--border-opacity))}.group:hover .md\:group-hover\:border-orange-300{--border-opacity:1;border-color:#fdba8c;border-color:rgba(253,186,140,var(--border-opacity))}.group:hover .md\:group-hover\:border-orange-400{--border-opacity:1;border-color:#ff8a4c;border-color:rgba(255,138,76,var(--border-opacity))}.group:hover .md\:group-hover\:border-orange-500{--border-opacity:1;border-color:#ff5a1f;border-color:rgba(255,90,31,var(--border-opacity))}.group:hover .md\:group-hover\:border-orange-600{--border-opacity:1;border-color:#d03801;border-color:rgba(208,56,1,var(--border-opacity))}.group:hover .md\:group-hover\:border-orange-700{--border-opacity:1;border-color:#b43403;border-color:rgba(180,52,3,var(--border-opacity))}.group:hover .md\:group-hover\:border-orange-800{--border-opacity:1;border-color:#8a2c0d;border-color:rgba(138,44,13,var(--border-opacity))}.group:hover .md\:group-hover\:border-orange-900{--border-opacity:1;border-color:#73230d;border-color:rgba(115,35,13,var(--border-opacity))}.group:hover .md\:group-hover\:border-yellow-50{--border-opacity:1;border-color:#fdfdea;border-color:rgba(253,253,234,var(--border-opacity))}.group:hover .md\:group-hover\:border-yellow-100{--border-opacity:1;border-color:#fdf6b2;border-color:rgba(253,246,178,var(--border-opacity))}.group:hover .md\:group-hover\:border-yellow-200{--border-opacity:1;border-color:#fce96a;border-color:rgba(252,233,106,var(--border-opacity))}.group:hover .md\:group-hover\:border-yellow-300{--border-opacity:1;border-color:#faca15;border-color:rgba(250,202,21,var(--border-opacity))}.group:hover .md\:group-hover\:border-yellow-400{--border-opacity:1;border-color:#e3a008;border-color:rgba(227,160,8,var(--border-opacity))}.group:hover .md\:group-hover\:border-yellow-500{--border-opacity:1;border-color:#c27803;border-color:rgba(194,120,3,var(--border-opacity))}.group:hover .md\:group-hover\:border-yellow-600{--border-opacity:1;border-color:#9f580a;border-color:rgba(159,88,10,var(--border-opacity))}.group:hover .md\:group-hover\:border-yellow-700{--border-opacity:1;border-color:#8e4b10;border-color:rgba(142,75,16,var(--border-opacity))}.group:hover .md\:group-hover\:border-yellow-800{--border-opacity:1;border-color:#723b13;border-color:rgba(114,59,19,var(--border-opacity))}.group:hover .md\:group-hover\:border-yellow-900{--border-opacity:1;border-color:#633112;border-color:rgba(99,49,18,var(--border-opacity))}.group:hover .md\:group-hover\:border-green-50{--border-opacity:1;border-color:#f3faf7;border-color:rgba(243,250,247,var(--border-opacity))}.group:hover .md\:group-hover\:border-green-100{--border-opacity:1;border-color:#def7ec;border-color:rgba(222,247,236,var(--border-opacity))}.group:hover .md\:group-hover\:border-green-200{--border-opacity:1;border-color:#bcf0da;border-color:rgba(188,240,218,var(--border-opacity))}.group:hover .md\:group-hover\:border-green-300{--border-opacity:1;border-color:#84e1bc;border-color:rgba(132,225,188,var(--border-opacity))}.group:hover .md\:group-hover\:border-green-400{--border-opacity:1;border-color:#31c48d;border-color:rgba(49,196,141,var(--border-opacity))}.group:hover .md\:group-hover\:border-green-500{--border-opacity:1;border-color:#0e9f6e;border-color:rgba(14,159,110,var(--border-opacity))}.group:hover .md\:group-hover\:border-green-600{--border-opacity:1;border-color:#057a55;border-color:rgba(5,122,85,var(--border-opacity))}.group:hover .md\:group-hover\:border-green-700{--border-opacity:1;border-color:#046c4e;border-color:rgba(4,108,78,var(--border-opacity))}.group:hover .md\:group-hover\:border-green-800{--border-opacity:1;border-color:#03543f;border-color:rgba(3,84,63,var(--border-opacity))}.group:hover .md\:group-hover\:border-green-900{--border-opacity:1;border-color:#014737;border-color:rgba(1,71,55,var(--border-opacity))}.group:hover .md\:group-hover\:border-teal-50{--border-opacity:1;border-color:#edfafa;border-color:rgba(237,250,250,var(--border-opacity))}.group:hover .md\:group-hover\:border-teal-100{--border-opacity:1;border-color:#d5f5f6;border-color:rgba(213,245,246,var(--border-opacity))}.group:hover .md\:group-hover\:border-teal-200{--border-opacity:1;border-color:#afecef;border-color:rgba(175,236,239,var(--border-opacity))}.group:hover .md\:group-hover\:border-teal-300{--border-opacity:1;border-color:#7edce2;border-color:rgba(126,220,226,var(--border-opacity))}.group:hover .md\:group-hover\:border-teal-400{--border-opacity:1;border-color:#16bdca;border-color:rgba(22,189,202,var(--border-opacity))}.group:hover .md\:group-hover\:border-teal-500{--border-opacity:1;border-color:#0694a2;border-color:rgba(6,148,162,var(--border-opacity))}.group:hover .md\:group-hover\:border-teal-600{--border-opacity:1;border-color:#047481;border-color:rgba(4,116,129,var(--border-opacity))}.group:hover .md\:group-hover\:border-teal-700{--border-opacity:1;border-color:#036672;border-color:rgba(3,102,114,var(--border-opacity))}.group:hover .md\:group-hover\:border-teal-800{--border-opacity:1;border-color:#05505c;border-color:rgba(5,80,92,var(--border-opacity))}.group:hover .md\:group-hover\:border-teal-900{--border-opacity:1;border-color:#014451;border-color:rgba(1,68,81,var(--border-opacity))}.group:hover .md\:group-hover\:border-blue-50{--border-opacity:1;border-color:#ebf5ff;border-color:rgba(235,245,255,var(--border-opacity))}.group:hover .md\:group-hover\:border-blue-100{--border-opacity:1;border-color:#e1effe;border-color:rgba(225,239,254,var(--border-opacity))}.group:hover .md\:group-hover\:border-blue-200{--border-opacity:1;border-color:#c3ddfd;border-color:rgba(195,221,253,var(--border-opacity))}.group:hover .md\:group-hover\:border-blue-300{--border-opacity:1;border-color:#a4cafe;border-color:rgba(164,202,254,var(--border-opacity))}.group:hover .md\:group-hover\:border-blue-400{--border-opacity:1;border-color:#76a9fa;border-color:rgba(118,169,250,var(--border-opacity))}.group:hover .md\:group-hover\:border-blue-500{--border-opacity:1;border-color:#3f83f8;border-color:rgba(63,131,248,var(--border-opacity))}.group:hover .md\:group-hover\:border-blue-600{--border-opacity:1;border-color:#1c64f2;border-color:rgba(28,100,242,var(--border-opacity))}.group:hover .md\:group-hover\:border-blue-700{--border-opacity:1;border-color:#1a56db;border-color:rgba(26,86,219,var(--border-opacity))}.group:hover .md\:group-hover\:border-blue-800{--border-opacity:1;border-color:#1e429f;border-color:rgba(30,66,159,var(--border-opacity))}.group:hover .md\:group-hover\:border-blue-900{--border-opacity:1;border-color:#233876;border-color:rgba(35,56,118,var(--border-opacity))}.group:hover .md\:group-hover\:border-indigo-50{--border-opacity:1;border-color:#f0f5ff;border-color:rgba(240,245,255,var(--border-opacity))}.group:hover .md\:group-hover\:border-indigo-100{--border-opacity:1;border-color:#e5edff;border-color:rgba(229,237,255,var(--border-opacity))}.group:hover .md\:group-hover\:border-indigo-200{--border-opacity:1;border-color:#cddbfe;border-color:rgba(205,219,254,var(--border-opacity))}.group:hover .md\:group-hover\:border-indigo-300{--border-opacity:1;border-color:#b4c6fc;border-color:rgba(180,198,252,var(--border-opacity))}.group:hover .md\:group-hover\:border-indigo-400{--border-opacity:1;border-color:#8da2fb;border-color:rgba(141,162,251,var(--border-opacity))}.group:hover .md\:group-hover\:border-indigo-500{--border-opacity:1;border-color:#6875f5;border-color:rgba(104,117,245,var(--border-opacity))}.group:hover .md\:group-hover\:border-indigo-600{--border-opacity:1;border-color:#5850ec;border-color:rgba(88,80,236,var(--border-opacity))}.group:hover .md\:group-hover\:border-indigo-700{--border-opacity:1;border-color:#5145cd;border-color:rgba(81,69,205,var(--border-opacity))}.group:hover .md\:group-hover\:border-indigo-800{--border-opacity:1;border-color:#42389d;border-color:rgba(66,56,157,var(--border-opacity))}.group:hover .md\:group-hover\:border-indigo-900{--border-opacity:1;border-color:#362f78;border-color:rgba(54,47,120,var(--border-opacity))}.group:hover .md\:group-hover\:border-purple-50{--border-opacity:1;border-color:#f6f5ff;border-color:rgba(246,245,255,var(--border-opacity))}.group:hover .md\:group-hover\:border-purple-100{--border-opacity:1;border-color:#edebfe;border-color:rgba(237,235,254,var(--border-opacity))}.group:hover .md\:group-hover\:border-purple-200{--border-opacity:1;border-color:#dcd7fe;border-color:rgba(220,215,254,var(--border-opacity))}.group:hover .md\:group-hover\:border-purple-300{--border-opacity:1;border-color:#cabffd;border-color:rgba(202,191,253,var(--border-opacity))}.group:hover .md\:group-hover\:border-purple-400{--border-opacity:1;border-color:#ac94fa;border-color:rgba(172,148,250,var(--border-opacity))}.group:hover .md\:group-hover\:border-purple-500{--border-opacity:1;border-color:#9061f9;border-color:rgba(144,97,249,var(--border-opacity))}.group:hover .md\:group-hover\:border-purple-600{--border-opacity:1;border-color:#7e3af2;border-color:rgba(126,58,242,var(--border-opacity))}.group:hover .md\:group-hover\:border-purple-700{--border-opacity:1;border-color:#6c2bd9;border-color:rgba(108,43,217,var(--border-opacity))}.group:hover .md\:group-hover\:border-purple-800{--border-opacity:1;border-color:#5521b5;border-color:rgba(85,33,181,var(--border-opacity))}.group:hover .md\:group-hover\:border-purple-900{--border-opacity:1;border-color:#4a1d96;border-color:rgba(74,29,150,var(--border-opacity))}.group:hover .md\:group-hover\:border-pink-50{--border-opacity:1;border-color:#fdf2f8;border-color:rgba(253,242,248,var(--border-opacity))}.group:hover .md\:group-hover\:border-pink-100{--border-opacity:1;border-color:#fce8f3;border-color:rgba(252,232,243,var(--border-opacity))}.group:hover .md\:group-hover\:border-pink-200{--border-opacity:1;border-color:#fad1e8;border-color:rgba(250,209,232,var(--border-opacity))}.group:hover .md\:group-hover\:border-pink-300{--border-opacity:1;border-color:#f8b4d9;border-color:rgba(248,180,217,var(--border-opacity))}.group:hover .md\:group-hover\:border-pink-400{--border-opacity:1;border-color:#f17eb8;border-color:rgba(241,126,184,var(--border-opacity))}.group:hover .md\:group-hover\:border-pink-500{--border-opacity:1;border-color:#e74694;border-color:rgba(231,70,148,var(--border-opacity))}.group:hover .md\:group-hover\:border-pink-600{--border-opacity:1;border-color:#d61f69;border-color:rgba(214,31,105,var(--border-opacity))}.group:hover .md\:group-hover\:border-pink-700{--border-opacity:1;border-color:#bf125d;border-color:rgba(191,18,93,var(--border-opacity))}.group:hover .md\:group-hover\:border-pink-800{--border-opacity:1;border-color:#99154b;border-color:rgba(153,21,75,var(--border-opacity))}.group:hover .md\:group-hover\:border-pink-900{--border-opacity:1;border-color:#751a3d;border-color:rgba(117,26,61,var(--border-opacity))}.group:focus .md\:group-focus\:border-transparent{border-color:transparent}.group:focus .md\:group-focus\:border-white{--border-opacity:1;border-color:#fff;border-color:rgba(255,255,255,var(--border-opacity))}.group:focus .md\:group-focus\:border-black{--border-opacity:1;border-color:#000;border-color:rgba(0,0,0,var(--border-opacity))}.group:focus .md\:group-focus\:border-gray-50{--border-opacity:1;border-color:#f9fafb;border-color:rgba(249,250,251,var(--border-opacity))}.group:focus .md\:group-focus\:border-gray-100{--border-opacity:1;border-color:#f4f5f7;border-color:rgba(244,245,247,var(--border-opacity))}.group:focus .md\:group-focus\:border-gray-200{--border-opacity:1;border-color:#e5e7eb;border-color:rgba(229,231,235,var(--border-opacity))}.group:focus .md\:group-focus\:border-gray-300{--border-opacity:1;border-color:#d2d6dc;border-color:rgba(210,214,220,var(--border-opacity))}.group:focus .md\:group-focus\:border-gray-400{--border-opacity:1;border-color:#9fa6b2;border-color:rgba(159,166,178,var(--border-opacity))}.group:focus .md\:group-focus\:border-gray-500{--border-opacity:1;border-color:#6b7280;border-color:rgba(107,114,128,var(--border-opacity))}.group:focus .md\:group-focus\:border-gray-600{--border-opacity:1;border-color:#4b5563;border-color:rgba(75,85,99,var(--border-opacity))}.group:focus .md\:group-focus\:border-gray-700{--border-opacity:1;border-color:#374151;border-color:rgba(55,65,81,var(--border-opacity))}.group:focus .md\:group-focus\:border-gray-800{--border-opacity:1;border-color:#252f3f;border-color:rgba(37,47,63,var(--border-opacity))}.group:focus .md\:group-focus\:border-gray-900{--border-opacity:1;border-color:#161e2e;border-color:rgba(22,30,46,var(--border-opacity))}.group:focus .md\:group-focus\:border-cool-gray-50{--border-opacity:1;border-color:#f8fafc;border-color:rgba(248,250,252,var(--border-opacity))}.group:focus .md\:group-focus\:border-cool-gray-100{--border-opacity:1;border-color:#f1f5f9;border-color:rgba(241,245,249,var(--border-opacity))}.group:focus .md\:group-focus\:border-cool-gray-200{--border-opacity:1;border-color:#e2e8f0;border-color:rgba(226,232,240,var(--border-opacity))}.group:focus .md\:group-focus\:border-cool-gray-300{--border-opacity:1;border-color:#cfd8e3;border-color:rgba(207,216,227,var(--border-opacity))}.group:focus .md\:group-focus\:border-cool-gray-400{--border-opacity:1;border-color:#97a6ba;border-color:rgba(151,166,186,var(--border-opacity))}.group:focus .md\:group-focus\:border-cool-gray-500{--border-opacity:1;border-color:#64748b;border-color:rgba(100,116,139,var(--border-opacity))}.group:focus .md\:group-focus\:border-cool-gray-600{--border-opacity:1;border-color:#475569;border-color:rgba(71,85,105,var(--border-opacity))}.group:focus .md\:group-focus\:border-cool-gray-700{--border-opacity:1;border-color:#364152;border-color:rgba(54,65,82,var(--border-opacity))}.group:focus .md\:group-focus\:border-cool-gray-800{--border-opacity:1;border-color:#27303f;border-color:rgba(39,48,63,var(--border-opacity))}.group:focus .md\:group-focus\:border-cool-gray-900{--border-opacity:1;border-color:#1a202e;border-color:rgba(26,32,46,var(--border-opacity))}.group:focus .md\:group-focus\:border-red-50{--border-opacity:1;border-color:#fdf2f2;border-color:rgba(253,242,242,var(--border-opacity))}.group:focus .md\:group-focus\:border-red-100{--border-opacity:1;border-color:#fde8e8;border-color:rgba(253,232,232,var(--border-opacity))}.group:focus .md\:group-focus\:border-red-200{--border-opacity:1;border-color:#fbd5d5;border-color:rgba(251,213,213,var(--border-opacity))}.group:focus .md\:group-focus\:border-red-300{--border-opacity:1;border-color:#f8b4b4;border-color:rgba(248,180,180,var(--border-opacity))}.group:focus .md\:group-focus\:border-red-400{--border-opacity:1;border-color:#f98080;border-color:rgba(249,128,128,var(--border-opacity))}.group:focus .md\:group-focus\:border-red-500{--border-opacity:1;border-color:#f05252;border-color:rgba(240,82,82,var(--border-opacity))}.group:focus .md\:group-focus\:border-red-600{--border-opacity:1;border-color:#e02424;border-color:rgba(224,36,36,var(--border-opacity))}.group:focus .md\:group-focus\:border-red-700{--border-opacity:1;border-color:#c81e1e;border-color:rgba(200,30,30,var(--border-opacity))}.group:focus .md\:group-focus\:border-red-800{--border-opacity:1;border-color:#9b1c1c;border-color:rgba(155,28,28,var(--border-opacity))}.group:focus .md\:group-focus\:border-red-900{--border-opacity:1;border-color:#771d1d;border-color:rgba(119,29,29,var(--border-opacity))}.group:focus .md\:group-focus\:border-orange-50{--border-opacity:1;border-color:#fff8f1;border-color:rgba(255,248,241,var(--border-opacity))}.group:focus .md\:group-focus\:border-orange-100{--border-opacity:1;border-color:#feecdc;border-color:rgba(254,236,220,var(--border-opacity))}.group:focus .md\:group-focus\:border-orange-200{--border-opacity:1;border-color:#fcd9bd;border-color:rgba(252,217,189,var(--border-opacity))}.group:focus .md\:group-focus\:border-orange-300{--border-opacity:1;border-color:#fdba8c;border-color:rgba(253,186,140,var(--border-opacity))}.group:focus .md\:group-focus\:border-orange-400{--border-opacity:1;border-color:#ff8a4c;border-color:rgba(255,138,76,var(--border-opacity))}.group:focus .md\:group-focus\:border-orange-500{--border-opacity:1;border-color:#ff5a1f;border-color:rgba(255,90,31,var(--border-opacity))}.group:focus .md\:group-focus\:border-orange-600{--border-opacity:1;border-color:#d03801;border-color:rgba(208,56,1,var(--border-opacity))}.group:focus .md\:group-focus\:border-orange-700{--border-opacity:1;border-color:#b43403;border-color:rgba(180,52,3,var(--border-opacity))}.group:focus .md\:group-focus\:border-orange-800{--border-opacity:1;border-color:#8a2c0d;border-color:rgba(138,44,13,var(--border-opacity))}.group:focus .md\:group-focus\:border-orange-900{--border-opacity:1;border-color:#73230d;border-color:rgba(115,35,13,var(--border-opacity))}.group:focus .md\:group-focus\:border-yellow-50{--border-opacity:1;border-color:#fdfdea;border-color:rgba(253,253,234,var(--border-opacity))}.group:focus .md\:group-focus\:border-yellow-100{--border-opacity:1;border-color:#fdf6b2;border-color:rgba(253,246,178,var(--border-opacity))}.group:focus .md\:group-focus\:border-yellow-200{--border-opacity:1;border-color:#fce96a;border-color:rgba(252,233,106,var(--border-opacity))}.group:focus .md\:group-focus\:border-yellow-300{--border-opacity:1;border-color:#faca15;border-color:rgba(250,202,21,var(--border-opacity))}.group:focus .md\:group-focus\:border-yellow-400{--border-opacity:1;border-color:#e3a008;border-color:rgba(227,160,8,var(--border-opacity))}.group:focus .md\:group-focus\:border-yellow-500{--border-opacity:1;border-color:#c27803;border-color:rgba(194,120,3,var(--border-opacity))}.group:focus .md\:group-focus\:border-yellow-600{--border-opacity:1;border-color:#9f580a;border-color:rgba(159,88,10,var(--border-opacity))}.group:focus .md\:group-focus\:border-yellow-700{--border-opacity:1;border-color:#8e4b10;border-color:rgba(142,75,16,var(--border-opacity))}.group:focus .md\:group-focus\:border-yellow-800{--border-opacity:1;border-color:#723b13;border-color:rgba(114,59,19,var(--border-opacity))}.group:focus .md\:group-focus\:border-yellow-900{--border-opacity:1;border-color:#633112;border-color:rgba(99,49,18,var(--border-opacity))}.group:focus .md\:group-focus\:border-green-50{--border-opacity:1;border-color:#f3faf7;border-color:rgba(243,250,247,var(--border-opacity))}.group:focus .md\:group-focus\:border-green-100{--border-opacity:1;border-color:#def7ec;border-color:rgba(222,247,236,var(--border-opacity))}.group:focus .md\:group-focus\:border-green-200{--border-opacity:1;border-color:#bcf0da;border-color:rgba(188,240,218,var(--border-opacity))}.group:focus .md\:group-focus\:border-green-300{--border-opacity:1;border-color:#84e1bc;border-color:rgba(132,225,188,var(--border-opacity))}.group:focus .md\:group-focus\:border-green-400{--border-opacity:1;border-color:#31c48d;border-color:rgba(49,196,141,var(--border-opacity))}.group:focus .md\:group-focus\:border-green-500{--border-opacity:1;border-color:#0e9f6e;border-color:rgba(14,159,110,var(--border-opacity))}.group:focus .md\:group-focus\:border-green-600{--border-opacity:1;border-color:#057a55;border-color:rgba(5,122,85,var(--border-opacity))}.group:focus .md\:group-focus\:border-green-700{--border-opacity:1;border-color:#046c4e;border-color:rgba(4,108,78,var(--border-opacity))}.group:focus .md\:group-focus\:border-green-800{--border-opacity:1;border-color:#03543f;border-color:rgba(3,84,63,var(--border-opacity))}.group:focus .md\:group-focus\:border-green-900{--border-opacity:1;border-color:#014737;border-color:rgba(1,71,55,var(--border-opacity))}.group:focus .md\:group-focus\:border-teal-50{--border-opacity:1;border-color:#edfafa;border-color:rgba(237,250,250,var(--border-opacity))}.group:focus .md\:group-focus\:border-teal-100{--border-opacity:1;border-color:#d5f5f6;border-color:rgba(213,245,246,var(--border-opacity))}.group:focus .md\:group-focus\:border-teal-200{--border-opacity:1;border-color:#afecef;border-color:rgba(175,236,239,var(--border-opacity))}.group:focus .md\:group-focus\:border-teal-300{--border-opacity:1;border-color:#7edce2;border-color:rgba(126,220,226,var(--border-opacity))}.group:focus .md\:group-focus\:border-teal-400{--border-opacity:1;border-color:#16bdca;border-color:rgba(22,189,202,var(--border-opacity))}.group:focus .md\:group-focus\:border-teal-500{--border-opacity:1;border-color:#0694a2;border-color:rgba(6,148,162,var(--border-opacity))}.group:focus .md\:group-focus\:border-teal-600{--border-opacity:1;border-color:#047481;border-color:rgba(4,116,129,var(--border-opacity))}.group:focus .md\:group-focus\:border-teal-700{--border-opacity:1;border-color:#036672;border-color:rgba(3,102,114,var(--border-opacity))}.group:focus .md\:group-focus\:border-teal-800{--border-opacity:1;border-color:#05505c;border-color:rgba(5,80,92,var(--border-opacity))}.group:focus .md\:group-focus\:border-teal-900{--border-opacity:1;border-color:#014451;border-color:rgba(1,68,81,var(--border-opacity))}.group:focus .md\:group-focus\:border-blue-50{--border-opacity:1;border-color:#ebf5ff;border-color:rgba(235,245,255,var(--border-opacity))}.group:focus .md\:group-focus\:border-blue-100{--border-opacity:1;border-color:#e1effe;border-color:rgba(225,239,254,var(--border-opacity))}.group:focus .md\:group-focus\:border-blue-200{--border-opacity:1;border-color:#c3ddfd;border-color:rgba(195,221,253,var(--border-opacity))}.group:focus .md\:group-focus\:border-blue-300{--border-opacity:1;border-color:#a4cafe;border-color:rgba(164,202,254,var(--border-opacity))}.group:focus .md\:group-focus\:border-blue-400{--border-opacity:1;border-color:#76a9fa;border-color:rgba(118,169,250,var(--border-opacity))}.group:focus .md\:group-focus\:border-blue-500{--border-opacity:1;border-color:#3f83f8;border-color:rgba(63,131,248,var(--border-opacity))}.group:focus .md\:group-focus\:border-blue-600{--border-opacity:1;border-color:#1c64f2;border-color:rgba(28,100,242,var(--border-opacity))}.group:focus .md\:group-focus\:border-blue-700{--border-opacity:1;border-color:#1a56db;border-color:rgba(26,86,219,var(--border-opacity))}.group:focus .md\:group-focus\:border-blue-800{--border-opacity:1;border-color:#1e429f;border-color:rgba(30,66,159,var(--border-opacity))}.group:focus .md\:group-focus\:border-blue-900{--border-opacity:1;border-color:#233876;border-color:rgba(35,56,118,var(--border-opacity))}.group:focus .md\:group-focus\:border-indigo-50{--border-opacity:1;border-color:#f0f5ff;border-color:rgba(240,245,255,var(--border-opacity))}.group:focus .md\:group-focus\:border-indigo-100{--border-opacity:1;border-color:#e5edff;border-color:rgba(229,237,255,var(--border-opacity))}.group:focus .md\:group-focus\:border-indigo-200{--border-opacity:1;border-color:#cddbfe;border-color:rgba(205,219,254,var(--border-opacity))}.group:focus .md\:group-focus\:border-indigo-300{--border-opacity:1;border-color:#b4c6fc;border-color:rgba(180,198,252,var(--border-opacity))}.group:focus .md\:group-focus\:border-indigo-400{--border-opacity:1;border-color:#8da2fb;border-color:rgba(141,162,251,var(--border-opacity))}.group:focus .md\:group-focus\:border-indigo-500{--border-opacity:1;border-color:#6875f5;border-color:rgba(104,117,245,var(--border-opacity))}.group:focus .md\:group-focus\:border-indigo-600{--border-opacity:1;border-color:#5850ec;border-color:rgba(88,80,236,var(--border-opacity))}.group:focus .md\:group-focus\:border-indigo-700{--border-opacity:1;border-color:#5145cd;border-color:rgba(81,69,205,var(--border-opacity))}.group:focus .md\:group-focus\:border-indigo-800{--border-opacity:1;border-color:#42389d;border-color:rgba(66,56,157,var(--border-opacity))}.group:focus .md\:group-focus\:border-indigo-900{--border-opacity:1;border-color:#362f78;border-color:rgba(54,47,120,var(--border-opacity))}.group:focus .md\:group-focus\:border-purple-50{--border-opacity:1;border-color:#f6f5ff;border-color:rgba(246,245,255,var(--border-opacity))}.group:focus .md\:group-focus\:border-purple-100{--border-opacity:1;border-color:#edebfe;border-color:rgba(237,235,254,var(--border-opacity))}.group:focus .md\:group-focus\:border-purple-200{--border-opacity:1;border-color:#dcd7fe;border-color:rgba(220,215,254,var(--border-opacity))}.group:focus .md\:group-focus\:border-purple-300{--border-opacity:1;border-color:#cabffd;border-color:rgba(202,191,253,var(--border-opacity))}.group:focus .md\:group-focus\:border-purple-400{--border-opacity:1;border-color:#ac94fa;border-color:rgba(172,148,250,var(--border-opacity))}.group:focus .md\:group-focus\:border-purple-500{--border-opacity:1;border-color:#9061f9;border-color:rgba(144,97,249,var(--border-opacity))}.group:focus .md\:group-focus\:border-purple-600{--border-opacity:1;border-color:#7e3af2;border-color:rgba(126,58,242,var(--border-opacity))}.group:focus .md\:group-focus\:border-purple-700{--border-opacity:1;border-color:#6c2bd9;border-color:rgba(108,43,217,var(--border-opacity))}.group:focus .md\:group-focus\:border-purple-800{--border-opacity:1;border-color:#5521b5;border-color:rgba(85,33,181,var(--border-opacity))}.group:focus .md\:group-focus\:border-purple-900{--border-opacity:1;border-color:#4a1d96;border-color:rgba(74,29,150,var(--border-opacity))}.group:focus .md\:group-focus\:border-pink-50{--border-opacity:1;border-color:#fdf2f8;border-color:rgba(253,242,248,var(--border-opacity))}.group:focus .md\:group-focus\:border-pink-100{--border-opacity:1;border-color:#fce8f3;border-color:rgba(252,232,243,var(--border-opacity))}.group:focus .md\:group-focus\:border-pink-200{--border-opacity:1;border-color:#fad1e8;border-color:rgba(250,209,232,var(--border-opacity))}.group:focus .md\:group-focus\:border-pink-300{--border-opacity:1;border-color:#f8b4d9;border-color:rgba(248,180,217,var(--border-opacity))}.group:focus .md\:group-focus\:border-pink-400{--border-opacity:1;border-color:#f17eb8;border-color:rgba(241,126,184,var(--border-opacity))}.group:focus .md\:group-focus\:border-pink-500{--border-opacity:1;border-color:#e74694;border-color:rgba(231,70,148,var(--border-opacity))}.group:focus .md\:group-focus\:border-pink-600{--border-opacity:1;border-color:#d61f69;border-color:rgba(214,31,105,var(--border-opacity))}.group:focus .md\:group-focus\:border-pink-700{--border-opacity:1;border-color:#bf125d;border-color:rgba(191,18,93,var(--border-opacity))}.group:focus .md\:group-focus\:border-pink-800{--border-opacity:1;border-color:#99154b;border-color:rgba(153,21,75,var(--border-opacity))}.group:focus .md\:group-focus\:border-pink-900{--border-opacity:1;border-color:#751a3d;border-color:rgba(117,26,61,var(--border-opacity))}.md\:hover\:border-transparent:hover{border-color:transparent}.md\:hover\:border-white:hover{--border-opacity:1;border-color:#fff;border-color:rgba(255,255,255,var(--border-opacity))}.md\:hover\:border-black:hover{--border-opacity:1;border-color:#000;border-color:rgba(0,0,0,var(--border-opacity))}.md\:hover\:border-gray-50:hover{--border-opacity:1;border-color:#f9fafb;border-color:rgba(249,250,251,var(--border-opacity))}.md\:hover\:border-gray-100:hover{--border-opacity:1;border-color:#f4f5f7;border-color:rgba(244,245,247,var(--border-opacity))}.md\:hover\:border-gray-200:hover{--border-opacity:1;border-color:#e5e7eb;border-color:rgba(229,231,235,var(--border-opacity))}.md\:hover\:border-gray-300:hover{--border-opacity:1;border-color:#d2d6dc;border-color:rgba(210,214,220,var(--border-opacity))}.md\:hover\:border-gray-400:hover{--border-opacity:1;border-color:#9fa6b2;border-color:rgba(159,166,178,var(--border-opacity))}.md\:hover\:border-gray-500:hover{--border-opacity:1;border-color:#6b7280;border-color:rgba(107,114,128,var(--border-opacity))}.md\:hover\:border-gray-600:hover{--border-opacity:1;border-color:#4b5563;border-color:rgba(75,85,99,var(--border-opacity))}.md\:hover\:border-gray-700:hover{--border-opacity:1;border-color:#374151;border-color:rgba(55,65,81,var(--border-opacity))}.md\:hover\:border-gray-800:hover{--border-opacity:1;border-color:#252f3f;border-color:rgba(37,47,63,var(--border-opacity))}.md\:hover\:border-gray-900:hover{--border-opacity:1;border-color:#161e2e;border-color:rgba(22,30,46,var(--border-opacity))}.md\:hover\:border-cool-gray-50:hover{--border-opacity:1;border-color:#f8fafc;border-color:rgba(248,250,252,var(--border-opacity))}.md\:hover\:border-cool-gray-100:hover{--border-opacity:1;border-color:#f1f5f9;border-color:rgba(241,245,249,var(--border-opacity))}.md\:hover\:border-cool-gray-200:hover{--border-opacity:1;border-color:#e2e8f0;border-color:rgba(226,232,240,var(--border-opacity))}.md\:hover\:border-cool-gray-300:hover{--border-opacity:1;border-color:#cfd8e3;border-color:rgba(207,216,227,var(--border-opacity))}.md\:hover\:border-cool-gray-400:hover{--border-opacity:1;border-color:#97a6ba;border-color:rgba(151,166,186,var(--border-opacity))}.md\:hover\:border-cool-gray-500:hover{--border-opacity:1;border-color:#64748b;border-color:rgba(100,116,139,var(--border-opacity))}.md\:hover\:border-cool-gray-600:hover{--border-opacity:1;border-color:#475569;border-color:rgba(71,85,105,var(--border-opacity))}.md\:hover\:border-cool-gray-700:hover{--border-opacity:1;border-color:#364152;border-color:rgba(54,65,82,var(--border-opacity))}.md\:hover\:border-cool-gray-800:hover{--border-opacity:1;border-color:#27303f;border-color:rgba(39,48,63,var(--border-opacity))}.md\:hover\:border-cool-gray-900:hover{--border-opacity:1;border-color:#1a202e;border-color:rgba(26,32,46,var(--border-opacity))}.md\:hover\:border-red-50:hover{--border-opacity:1;border-color:#fdf2f2;border-color:rgba(253,242,242,var(--border-opacity))}.md\:hover\:border-red-100:hover{--border-opacity:1;border-color:#fde8e8;border-color:rgba(253,232,232,var(--border-opacity))}.md\:hover\:border-red-200:hover{--border-opacity:1;border-color:#fbd5d5;border-color:rgba(251,213,213,var(--border-opacity))}.md\:hover\:border-red-300:hover{--border-opacity:1;border-color:#f8b4b4;border-color:rgba(248,180,180,var(--border-opacity))}.md\:hover\:border-red-400:hover{--border-opacity:1;border-color:#f98080;border-color:rgba(249,128,128,var(--border-opacity))}.md\:hover\:border-red-500:hover{--border-opacity:1;border-color:#f05252;border-color:rgba(240,82,82,var(--border-opacity))}.md\:hover\:border-red-600:hover{--border-opacity:1;border-color:#e02424;border-color:rgba(224,36,36,var(--border-opacity))}.md\:hover\:border-red-700:hover{--border-opacity:1;border-color:#c81e1e;border-color:rgba(200,30,30,var(--border-opacity))}.md\:hover\:border-red-800:hover{--border-opacity:1;border-color:#9b1c1c;border-color:rgba(155,28,28,var(--border-opacity))}.md\:hover\:border-red-900:hover{--border-opacity:1;border-color:#771d1d;border-color:rgba(119,29,29,var(--border-opacity))}.md\:hover\:border-orange-50:hover{--border-opacity:1;border-color:#fff8f1;border-color:rgba(255,248,241,var(--border-opacity))}.md\:hover\:border-orange-100:hover{--border-opacity:1;border-color:#feecdc;border-color:rgba(254,236,220,var(--border-opacity))}.md\:hover\:border-orange-200:hover{--border-opacity:1;border-color:#fcd9bd;border-color:rgba(252,217,189,var(--border-opacity))}.md\:hover\:border-orange-300:hover{--border-opacity:1;border-color:#fdba8c;border-color:rgba(253,186,140,var(--border-opacity))}.md\:hover\:border-orange-400:hover{--border-opacity:1;border-color:#ff8a4c;border-color:rgba(255,138,76,var(--border-opacity))}.md\:hover\:border-orange-500:hover{--border-opacity:1;border-color:#ff5a1f;border-color:rgba(255,90,31,var(--border-opacity))}.md\:hover\:border-orange-600:hover{--border-opacity:1;border-color:#d03801;border-color:rgba(208,56,1,var(--border-opacity))}.md\:hover\:border-orange-700:hover{--border-opacity:1;border-color:#b43403;border-color:rgba(180,52,3,var(--border-opacity))}.md\:hover\:border-orange-800:hover{--border-opacity:1;border-color:#8a2c0d;border-color:rgba(138,44,13,var(--border-opacity))}.md\:hover\:border-orange-900:hover{--border-opacity:1;border-color:#73230d;border-color:rgba(115,35,13,var(--border-opacity))}.md\:hover\:border-yellow-50:hover{--border-opacity:1;border-color:#fdfdea;border-color:rgba(253,253,234,var(--border-opacity))}.md\:hover\:border-yellow-100:hover{--border-opacity:1;border-color:#fdf6b2;border-color:rgba(253,246,178,var(--border-opacity))}.md\:hover\:border-yellow-200:hover{--border-opacity:1;border-color:#fce96a;border-color:rgba(252,233,106,var(--border-opacity))}.md\:hover\:border-yellow-300:hover{--border-opacity:1;border-color:#faca15;border-color:rgba(250,202,21,var(--border-opacity))}.md\:hover\:border-yellow-400:hover{--border-opacity:1;border-color:#e3a008;border-color:rgba(227,160,8,var(--border-opacity))}.md\:hover\:border-yellow-500:hover{--border-opacity:1;border-color:#c27803;border-color:rgba(194,120,3,var(--border-opacity))}.md\:hover\:border-yellow-600:hover{--border-opacity:1;border-color:#9f580a;border-color:rgba(159,88,10,var(--border-opacity))}.md\:hover\:border-yellow-700:hover{--border-opacity:1;border-color:#8e4b10;border-color:rgba(142,75,16,var(--border-opacity))}.md\:hover\:border-yellow-800:hover{--border-opacity:1;border-color:#723b13;border-color:rgba(114,59,19,var(--border-opacity))}.md\:hover\:border-yellow-900:hover{--border-opacity:1;border-color:#633112;border-color:rgba(99,49,18,var(--border-opacity))}.md\:hover\:border-green-50:hover{--border-opacity:1;border-color:#f3faf7;border-color:rgba(243,250,247,var(--border-opacity))}.md\:hover\:border-green-100:hover{--border-opacity:1;border-color:#def7ec;border-color:rgba(222,247,236,var(--border-opacity))}.md\:hover\:border-green-200:hover{--border-opacity:1;border-color:#bcf0da;border-color:rgba(188,240,218,var(--border-opacity))}.md\:hover\:border-green-300:hover{--border-opacity:1;border-color:#84e1bc;border-color:rgba(132,225,188,var(--border-opacity))}.md\:hover\:border-green-400:hover{--border-opacity:1;border-color:#31c48d;border-color:rgba(49,196,141,var(--border-opacity))}.md\:hover\:border-green-500:hover{--border-opacity:1;border-color:#0e9f6e;border-color:rgba(14,159,110,var(--border-opacity))}.md\:hover\:border-green-600:hover{--border-opacity:1;border-color:#057a55;border-color:rgba(5,122,85,var(--border-opacity))}.md\:hover\:border-green-700:hover{--border-opacity:1;border-color:#046c4e;border-color:rgba(4,108,78,var(--border-opacity))}.md\:hover\:border-green-800:hover{--border-opacity:1;border-color:#03543f;border-color:rgba(3,84,63,var(--border-opacity))}.md\:hover\:border-green-900:hover{--border-opacity:1;border-color:#014737;border-color:rgba(1,71,55,var(--border-opacity))}.md\:hover\:border-teal-50:hover{--border-opacity:1;border-color:#edfafa;border-color:rgba(237,250,250,var(--border-opacity))}.md\:hover\:border-teal-100:hover{--border-opacity:1;border-color:#d5f5f6;border-color:rgba(213,245,246,var(--border-opacity))}.md\:hover\:border-teal-200:hover{--border-opacity:1;border-color:#afecef;border-color:rgba(175,236,239,var(--border-opacity))}.md\:hover\:border-teal-300:hover{--border-opacity:1;border-color:#7edce2;border-color:rgba(126,220,226,var(--border-opacity))}.md\:hover\:border-teal-400:hover{--border-opacity:1;border-color:#16bdca;border-color:rgba(22,189,202,var(--border-opacity))}.md\:hover\:border-teal-500:hover{--border-opacity:1;border-color:#0694a2;border-color:rgba(6,148,162,var(--border-opacity))}.md\:hover\:border-teal-600:hover{--border-opacity:1;border-color:#047481;border-color:rgba(4,116,129,var(--border-opacity))}.md\:hover\:border-teal-700:hover{--border-opacity:1;border-color:#036672;border-color:rgba(3,102,114,var(--border-opacity))}.md\:hover\:border-teal-800:hover{--border-opacity:1;border-color:#05505c;border-color:rgba(5,80,92,var(--border-opacity))}.md\:hover\:border-teal-900:hover{--border-opacity:1;border-color:#014451;border-color:rgba(1,68,81,var(--border-opacity))}.md\:hover\:border-blue-50:hover{--border-opacity:1;border-color:#ebf5ff;border-color:rgba(235,245,255,var(--border-opacity))}.md\:hover\:border-blue-100:hover{--border-opacity:1;border-color:#e1effe;border-color:rgba(225,239,254,var(--border-opacity))}.md\:hover\:border-blue-200:hover{--border-opacity:1;border-color:#c3ddfd;border-color:rgba(195,221,253,var(--border-opacity))}.md\:hover\:border-blue-300:hover{--border-opacity:1;border-color:#a4cafe;border-color:rgba(164,202,254,var(--border-opacity))}.md\:hover\:border-blue-400:hover{--border-opacity:1;border-color:#76a9fa;border-color:rgba(118,169,250,var(--border-opacity))}.md\:hover\:border-blue-500:hover{--border-opacity:1;border-color:#3f83f8;border-color:rgba(63,131,248,var(--border-opacity))}.md\:hover\:border-blue-600:hover{--border-opacity:1;border-color:#1c64f2;border-color:rgba(28,100,242,var(--border-opacity))}.md\:hover\:border-blue-700:hover{--border-opacity:1;border-color:#1a56db;border-color:rgba(26,86,219,var(--border-opacity))}.md\:hover\:border-blue-800:hover{--border-opacity:1;border-color:#1e429f;border-color:rgba(30,66,159,var(--border-opacity))}.md\:hover\:border-blue-900:hover{--border-opacity:1;border-color:#233876;border-color:rgba(35,56,118,var(--border-opacity))}.md\:hover\:border-indigo-50:hover{--border-opacity:1;border-color:#f0f5ff;border-color:rgba(240,245,255,var(--border-opacity))}.md\:hover\:border-indigo-100:hover{--border-opacity:1;border-color:#e5edff;border-color:rgba(229,237,255,var(--border-opacity))}.md\:hover\:border-indigo-200:hover{--border-opacity:1;border-color:#cddbfe;border-color:rgba(205,219,254,var(--border-opacity))}.md\:hover\:border-indigo-300:hover{--border-opacity:1;border-color:#b4c6fc;border-color:rgba(180,198,252,var(--border-opacity))}.md\:hover\:border-indigo-400:hover{--border-opacity:1;border-color:#8da2fb;border-color:rgba(141,162,251,var(--border-opacity))}.md\:hover\:border-indigo-500:hover{--border-opacity:1;border-color:#6875f5;border-color:rgba(104,117,245,var(--border-opacity))}.md\:hover\:border-indigo-600:hover{--border-opacity:1;border-color:#5850ec;border-color:rgba(88,80,236,var(--border-opacity))}.md\:hover\:border-indigo-700:hover{--border-opacity:1;border-color:#5145cd;border-color:rgba(81,69,205,var(--border-opacity))}.md\:hover\:border-indigo-800:hover{--border-opacity:1;border-color:#42389d;border-color:rgba(66,56,157,var(--border-opacity))}.md\:hover\:border-indigo-900:hover{--border-opacity:1;border-color:#362f78;border-color:rgba(54,47,120,var(--border-opacity))}.md\:hover\:border-purple-50:hover{--border-opacity:1;border-color:#f6f5ff;border-color:rgba(246,245,255,var(--border-opacity))}.md\:hover\:border-purple-100:hover{--border-opacity:1;border-color:#edebfe;border-color:rgba(237,235,254,var(--border-opacity))}.md\:hover\:border-purple-200:hover{--border-opacity:1;border-color:#dcd7fe;border-color:rgba(220,215,254,var(--border-opacity))}.md\:hover\:border-purple-300:hover{--border-opacity:1;border-color:#cabffd;border-color:rgba(202,191,253,var(--border-opacity))}.md\:hover\:border-purple-400:hover{--border-opacity:1;border-color:#ac94fa;border-color:rgba(172,148,250,var(--border-opacity))}.md\:hover\:border-purple-500:hover{--border-opacity:1;border-color:#9061f9;border-color:rgba(144,97,249,var(--border-opacity))}.md\:hover\:border-purple-600:hover{--border-opacity:1;border-color:#7e3af2;border-color:rgba(126,58,242,var(--border-opacity))}.md\:hover\:border-purple-700:hover{--border-opacity:1;border-color:#6c2bd9;border-color:rgba(108,43,217,var(--border-opacity))}.md\:hover\:border-purple-800:hover{--border-opacity:1;border-color:#5521b5;border-color:rgba(85,33,181,var(--border-opacity))}.md\:hover\:border-purple-900:hover{--border-opacity:1;border-color:#4a1d96;border-color:rgba(74,29,150,var(--border-opacity))}.md\:hover\:border-pink-50:hover{--border-opacity:1;border-color:#fdf2f8;border-color:rgba(253,242,248,var(--border-opacity))}.md\:hover\:border-pink-100:hover{--border-opacity:1;border-color:#fce8f3;border-color:rgba(252,232,243,var(--border-opacity))}.md\:hover\:border-pink-200:hover{--border-opacity:1;border-color:#fad1e8;border-color:rgba(250,209,232,var(--border-opacity))}.md\:hover\:border-pink-300:hover{--border-opacity:1;border-color:#f8b4d9;border-color:rgba(248,180,217,var(--border-opacity))}.md\:hover\:border-pink-400:hover{--border-opacity:1;border-color:#f17eb8;border-color:rgba(241,126,184,var(--border-opacity))}.md\:hover\:border-pink-500:hover{--border-opacity:1;border-color:#e74694;border-color:rgba(231,70,148,var(--border-opacity))}.md\:hover\:border-pink-600:hover{--border-opacity:1;border-color:#d61f69;border-color:rgba(214,31,105,var(--border-opacity))}.md\:hover\:border-pink-700:hover{--border-opacity:1;border-color:#bf125d;border-color:rgba(191,18,93,var(--border-opacity))}.md\:hover\:border-pink-800:hover{--border-opacity:1;border-color:#99154b;border-color:rgba(153,21,75,var(--border-opacity))}.md\:hover\:border-pink-900:hover{--border-opacity:1;border-color:#751a3d;border-color:rgba(117,26,61,var(--border-opacity))}.md\:focus\:border-transparent:focus{border-color:transparent}.md\:focus\:border-white:focus{--border-opacity:1;border-color:#fff;border-color:rgba(255,255,255,var(--border-opacity))}.md\:focus\:border-black:focus{--border-opacity:1;border-color:#000;border-color:rgba(0,0,0,var(--border-opacity))}.md\:focus\:border-gray-50:focus{--border-opacity:1;border-color:#f9fafb;border-color:rgba(249,250,251,var(--border-opacity))}.md\:focus\:border-gray-100:focus{--border-opacity:1;border-color:#f4f5f7;border-color:rgba(244,245,247,var(--border-opacity))}.md\:focus\:border-gray-200:focus{--border-opacity:1;border-color:#e5e7eb;border-color:rgba(229,231,235,var(--border-opacity))}.md\:focus\:border-gray-300:focus{--border-opacity:1;border-color:#d2d6dc;border-color:rgba(210,214,220,var(--border-opacity))}.md\:focus\:border-gray-400:focus{--border-opacity:1;border-color:#9fa6b2;border-color:rgba(159,166,178,var(--border-opacity))}.md\:focus\:border-gray-500:focus{--border-opacity:1;border-color:#6b7280;border-color:rgba(107,114,128,var(--border-opacity))}.md\:focus\:border-gray-600:focus{--border-opacity:1;border-color:#4b5563;border-color:rgba(75,85,99,var(--border-opacity))}.md\:focus\:border-gray-700:focus{--border-opacity:1;border-color:#374151;border-color:rgba(55,65,81,var(--border-opacity))}.md\:focus\:border-gray-800:focus{--border-opacity:1;border-color:#252f3f;border-color:rgba(37,47,63,var(--border-opacity))}.md\:focus\:border-gray-900:focus{--border-opacity:1;border-color:#161e2e;border-color:rgba(22,30,46,var(--border-opacity))}.md\:focus\:border-cool-gray-50:focus{--border-opacity:1;border-color:#f8fafc;border-color:rgba(248,250,252,var(--border-opacity))}.md\:focus\:border-cool-gray-100:focus{--border-opacity:1;border-color:#f1f5f9;border-color:rgba(241,245,249,var(--border-opacity))}.md\:focus\:border-cool-gray-200:focus{--border-opacity:1;border-color:#e2e8f0;border-color:rgba(226,232,240,var(--border-opacity))}.md\:focus\:border-cool-gray-300:focus{--border-opacity:1;border-color:#cfd8e3;border-color:rgba(207,216,227,var(--border-opacity))}.md\:focus\:border-cool-gray-400:focus{--border-opacity:1;border-color:#97a6ba;border-color:rgba(151,166,186,var(--border-opacity))}.md\:focus\:border-cool-gray-500:focus{--border-opacity:1;border-color:#64748b;border-color:rgba(100,116,139,var(--border-opacity))}.md\:focus\:border-cool-gray-600:focus{--border-opacity:1;border-color:#475569;border-color:rgba(71,85,105,var(--border-opacity))}.md\:focus\:border-cool-gray-700:focus{--border-opacity:1;border-color:#364152;border-color:rgba(54,65,82,var(--border-opacity))}.md\:focus\:border-cool-gray-800:focus{--border-opacity:1;border-color:#27303f;border-color:rgba(39,48,63,var(--border-opacity))}.md\:focus\:border-cool-gray-900:focus{--border-opacity:1;border-color:#1a202e;border-color:rgba(26,32,46,var(--border-opacity))}.md\:focus\:border-red-50:focus{--border-opacity:1;border-color:#fdf2f2;border-color:rgba(253,242,242,var(--border-opacity))}.md\:focus\:border-red-100:focus{--border-opacity:1;border-color:#fde8e8;border-color:rgba(253,232,232,var(--border-opacity))}.md\:focus\:border-red-200:focus{--border-opacity:1;border-color:#fbd5d5;border-color:rgba(251,213,213,var(--border-opacity))}.md\:focus\:border-red-300:focus{--border-opacity:1;border-color:#f8b4b4;border-color:rgba(248,180,180,var(--border-opacity))}.md\:focus\:border-red-400:focus{--border-opacity:1;border-color:#f98080;border-color:rgba(249,128,128,var(--border-opacity))}.md\:focus\:border-red-500:focus{--border-opacity:1;border-color:#f05252;border-color:rgba(240,82,82,var(--border-opacity))}.md\:focus\:border-red-600:focus{--border-opacity:1;border-color:#e02424;border-color:rgba(224,36,36,var(--border-opacity))}.md\:focus\:border-red-700:focus{--border-opacity:1;border-color:#c81e1e;border-color:rgba(200,30,30,var(--border-opacity))}.md\:focus\:border-red-800:focus{--border-opacity:1;border-color:#9b1c1c;border-color:rgba(155,28,28,var(--border-opacity))}.md\:focus\:border-red-900:focus{--border-opacity:1;border-color:#771d1d;border-color:rgba(119,29,29,var(--border-opacity))}.md\:focus\:border-orange-50:focus{--border-opacity:1;border-color:#fff8f1;border-color:rgba(255,248,241,var(--border-opacity))}.md\:focus\:border-orange-100:focus{--border-opacity:1;border-color:#feecdc;border-color:rgba(254,236,220,var(--border-opacity))}.md\:focus\:border-orange-200:focus{--border-opacity:1;border-color:#fcd9bd;border-color:rgba(252,217,189,var(--border-opacity))}.md\:focus\:border-orange-300:focus{--border-opacity:1;border-color:#fdba8c;border-color:rgba(253,186,140,var(--border-opacity))}.md\:focus\:border-orange-400:focus{--border-opacity:1;border-color:#ff8a4c;border-color:rgba(255,138,76,var(--border-opacity))}.md\:focus\:border-orange-500:focus{--border-opacity:1;border-color:#ff5a1f;border-color:rgba(255,90,31,var(--border-opacity))}.md\:focus\:border-orange-600:focus{--border-opacity:1;border-color:#d03801;border-color:rgba(208,56,1,var(--border-opacity))}.md\:focus\:border-orange-700:focus{--border-opacity:1;border-color:#b43403;border-color:rgba(180,52,3,var(--border-opacity))}.md\:focus\:border-orange-800:focus{--border-opacity:1;border-color:#8a2c0d;border-color:rgba(138,44,13,var(--border-opacity))}.md\:focus\:border-orange-900:focus{--border-opacity:1;border-color:#73230d;border-color:rgba(115,35,13,var(--border-opacity))}.md\:focus\:border-yellow-50:focus{--border-opacity:1;border-color:#fdfdea;border-color:rgba(253,253,234,var(--border-opacity))}.md\:focus\:border-yellow-100:focus{--border-opacity:1;border-color:#fdf6b2;border-color:rgba(253,246,178,var(--border-opacity))}.md\:focus\:border-yellow-200:focus{--border-opacity:1;border-color:#fce96a;border-color:rgba(252,233,106,var(--border-opacity))}.md\:focus\:border-yellow-300:focus{--border-opacity:1;border-color:#faca15;border-color:rgba(250,202,21,var(--border-opacity))}.md\:focus\:border-yellow-400:focus{--border-opacity:1;border-color:#e3a008;border-color:rgba(227,160,8,var(--border-opacity))}.md\:focus\:border-yellow-500:focus{--border-opacity:1;border-color:#c27803;border-color:rgba(194,120,3,var(--border-opacity))}.md\:focus\:border-yellow-600:focus{--border-opacity:1;border-color:#9f580a;border-color:rgba(159,88,10,var(--border-opacity))}.md\:focus\:border-yellow-700:focus{--border-opacity:1;border-color:#8e4b10;border-color:rgba(142,75,16,var(--border-opacity))}.md\:focus\:border-yellow-800:focus{--border-opacity:1;border-color:#723b13;border-color:rgba(114,59,19,var(--border-opacity))}.md\:focus\:border-yellow-900:focus{--border-opacity:1;border-color:#633112;border-color:rgba(99,49,18,var(--border-opacity))}.md\:focus\:border-green-50:focus{--border-opacity:1;border-color:#f3faf7;border-color:rgba(243,250,247,var(--border-opacity))}.md\:focus\:border-green-100:focus{--border-opacity:1;border-color:#def7ec;border-color:rgba(222,247,236,var(--border-opacity))}.md\:focus\:border-green-200:focus{--border-opacity:1;border-color:#bcf0da;border-color:rgba(188,240,218,var(--border-opacity))}.md\:focus\:border-green-300:focus{--border-opacity:1;border-color:#84e1bc;border-color:rgba(132,225,188,var(--border-opacity))}.md\:focus\:border-green-400:focus{--border-opacity:1;border-color:#31c48d;border-color:rgba(49,196,141,var(--border-opacity))}.md\:focus\:border-green-500:focus{--border-opacity:1;border-color:#0e9f6e;border-color:rgba(14,159,110,var(--border-opacity))}.md\:focus\:border-green-600:focus{--border-opacity:1;border-color:#057a55;border-color:rgba(5,122,85,var(--border-opacity))}.md\:focus\:border-green-700:focus{--border-opacity:1;border-color:#046c4e;border-color:rgba(4,108,78,var(--border-opacity))}.md\:focus\:border-green-800:focus{--border-opacity:1;border-color:#03543f;border-color:rgba(3,84,63,var(--border-opacity))}.md\:focus\:border-green-900:focus{--border-opacity:1;border-color:#014737;border-color:rgba(1,71,55,var(--border-opacity))}.md\:focus\:border-teal-50:focus{--border-opacity:1;border-color:#edfafa;border-color:rgba(237,250,250,var(--border-opacity))}.md\:focus\:border-teal-100:focus{--border-opacity:1;border-color:#d5f5f6;border-color:rgba(213,245,246,var(--border-opacity))}.md\:focus\:border-teal-200:focus{--border-opacity:1;border-color:#afecef;border-color:rgba(175,236,239,var(--border-opacity))}.md\:focus\:border-teal-300:focus{--border-opacity:1;border-color:#7edce2;border-color:rgba(126,220,226,var(--border-opacity))}.md\:focus\:border-teal-400:focus{--border-opacity:1;border-color:#16bdca;border-color:rgba(22,189,202,var(--border-opacity))}.md\:focus\:border-teal-500:focus{--border-opacity:1;border-color:#0694a2;border-color:rgba(6,148,162,var(--border-opacity))}.md\:focus\:border-teal-600:focus{--border-opacity:1;border-color:#047481;border-color:rgba(4,116,129,var(--border-opacity))}.md\:focus\:border-teal-700:focus{--border-opacity:1;border-color:#036672;border-color:rgba(3,102,114,var(--border-opacity))}.md\:focus\:border-teal-800:focus{--border-opacity:1;border-color:#05505c;border-color:rgba(5,80,92,var(--border-opacity))}.md\:focus\:border-teal-900:focus{--border-opacity:1;border-color:#014451;border-color:rgba(1,68,81,var(--border-opacity))}.md\:focus\:border-blue-50:focus{--border-opacity:1;border-color:#ebf5ff;border-color:rgba(235,245,255,var(--border-opacity))}.md\:focus\:border-blue-100:focus{--border-opacity:1;border-color:#e1effe;border-color:rgba(225,239,254,var(--border-opacity))}.md\:focus\:border-blue-200:focus{--border-opacity:1;border-color:#c3ddfd;border-color:rgba(195,221,253,var(--border-opacity))}.md\:focus\:border-blue-300:focus{--border-opacity:1;border-color:#a4cafe;border-color:rgba(164,202,254,var(--border-opacity))}.md\:focus\:border-blue-400:focus{--border-opacity:1;border-color:#76a9fa;border-color:rgba(118,169,250,var(--border-opacity))}.md\:focus\:border-blue-500:focus{--border-opacity:1;border-color:#3f83f8;border-color:rgba(63,131,248,var(--border-opacity))}.md\:focus\:border-blue-600:focus{--border-opacity:1;border-color:#1c64f2;border-color:rgba(28,100,242,var(--border-opacity))}.md\:focus\:border-blue-700:focus{--border-opacity:1;border-color:#1a56db;border-color:rgba(26,86,219,var(--border-opacity))}.md\:focus\:border-blue-800:focus{--border-opacity:1;border-color:#1e429f;border-color:rgba(30,66,159,var(--border-opacity))}.md\:focus\:border-blue-900:focus{--border-opacity:1;border-color:#233876;border-color:rgba(35,56,118,var(--border-opacity))}.md\:focus\:border-indigo-50:focus{--border-opacity:1;border-color:#f0f5ff;border-color:rgba(240,245,255,var(--border-opacity))}.md\:focus\:border-indigo-100:focus{--border-opacity:1;border-color:#e5edff;border-color:rgba(229,237,255,var(--border-opacity))}.md\:focus\:border-indigo-200:focus{--border-opacity:1;border-color:#cddbfe;border-color:rgba(205,219,254,var(--border-opacity))}.md\:focus\:border-indigo-300:focus{--border-opacity:1;border-color:#b4c6fc;border-color:rgba(180,198,252,var(--border-opacity))}.md\:focus\:border-indigo-400:focus{--border-opacity:1;border-color:#8da2fb;border-color:rgba(141,162,251,var(--border-opacity))}.md\:focus\:border-indigo-500:focus{--border-opacity:1;border-color:#6875f5;border-color:rgba(104,117,245,var(--border-opacity))}.md\:focus\:border-indigo-600:focus{--border-opacity:1;border-color:#5850ec;border-color:rgba(88,80,236,var(--border-opacity))}.md\:focus\:border-indigo-700:focus{--border-opacity:1;border-color:#5145cd;border-color:rgba(81,69,205,var(--border-opacity))}.md\:focus\:border-indigo-800:focus{--border-opacity:1;border-color:#42389d;border-color:rgba(66,56,157,var(--border-opacity))}.md\:focus\:border-indigo-900:focus{--border-opacity:1;border-color:#362f78;border-color:rgba(54,47,120,var(--border-opacity))}.md\:focus\:border-purple-50:focus{--border-opacity:1;border-color:#f6f5ff;border-color:rgba(246,245,255,var(--border-opacity))}.md\:focus\:border-purple-100:focus{--border-opacity:1;border-color:#edebfe;border-color:rgba(237,235,254,var(--border-opacity))}.md\:focus\:border-purple-200:focus{--border-opacity:1;border-color:#dcd7fe;border-color:rgba(220,215,254,var(--border-opacity))}.md\:focus\:border-purple-300:focus{--border-opacity:1;border-color:#cabffd;border-color:rgba(202,191,253,var(--border-opacity))}.md\:focus\:border-purple-400:focus{--border-opacity:1;border-color:#ac94fa;border-color:rgba(172,148,250,var(--border-opacity))}.md\:focus\:border-purple-500:focus{--border-opacity:1;border-color:#9061f9;border-color:rgba(144,97,249,var(--border-opacity))}.md\:focus\:border-purple-600:focus{--border-opacity:1;border-color:#7e3af2;border-color:rgba(126,58,242,var(--border-opacity))}.md\:focus\:border-purple-700:focus{--border-opacity:1;border-color:#6c2bd9;border-color:rgba(108,43,217,var(--border-opacity))}.md\:focus\:border-purple-800:focus{--border-opacity:1;border-color:#5521b5;border-color:rgba(85,33,181,var(--border-opacity))}.md\:focus\:border-purple-900:focus{--border-opacity:1;border-color:#4a1d96;border-color:rgba(74,29,150,var(--border-opacity))}.md\:focus\:border-pink-50:focus{--border-opacity:1;border-color:#fdf2f8;border-color:rgba(253,242,248,var(--border-opacity))}.md\:focus\:border-pink-100:focus{--border-opacity:1;border-color:#fce8f3;border-color:rgba(252,232,243,var(--border-opacity))}.md\:focus\:border-pink-200:focus{--border-opacity:1;border-color:#fad1e8;border-color:rgba(250,209,232,var(--border-opacity))}.md\:focus\:border-pink-300:focus{--border-opacity:1;border-color:#f8b4d9;border-color:rgba(248,180,217,var(--border-opacity))}.md\:focus\:border-pink-400:focus{--border-opacity:1;border-color:#f17eb8;border-color:rgba(241,126,184,var(--border-opacity))}.md\:focus\:border-pink-500:focus{--border-opacity:1;border-color:#e74694;border-color:rgba(231,70,148,var(--border-opacity))}.md\:focus\:border-pink-600:focus{--border-opacity:1;border-color:#d61f69;border-color:rgba(214,31,105,var(--border-opacity))}.md\:focus\:border-pink-700:focus{--border-opacity:1;border-color:#bf125d;border-color:rgba(191,18,93,var(--border-opacity))}.md\:focus\:border-pink-800:focus{--border-opacity:1;border-color:#99154b;border-color:rgba(153,21,75,var(--border-opacity))}.md\:focus\:border-pink-900:focus{--border-opacity:1;border-color:#751a3d;border-color:rgba(117,26,61,var(--border-opacity))}.md\:border-opacity-0{--border-opacity:0}.md\:border-opacity-25{--border-opacity:0.25}.md\:border-opacity-50{--border-opacity:0.5}.md\:border-opacity-75{--border-opacity:0.75}.md\:border-opacity-100{--border-opacity:1}.md\:hover\:border-opacity-0:hover{--border-opacity:0}.md\:hover\:border-opacity-25:hover{--border-opacity:0.25}.md\:hover\:border-opacity-50:hover{--border-opacity:0.5}.md\:hover\:border-opacity-75:hover{--border-opacity:0.75}.md\:hover\:border-opacity-100:hover{--border-opacity:1}.md\:focus\:border-opacity-0:focus{--border-opacity:0}.md\:focus\:border-opacity-25:focus{--border-opacity:0.25}.md\:focus\:border-opacity-50:focus{--border-opacity:0.5}.md\:focus\:border-opacity-75:focus{--border-opacity:0.75}.md\:focus\:border-opacity-100:focus{--border-opacity:1}.md\:rounded-none{border-radius:0}.md\:rounded-sm{border-radius:.125rem}.md\:rounded{border-radius:.25rem}.md\:rounded-md{border-radius:.375rem}.md\:rounded-lg{border-radius:.5rem}.md\:rounded-full{border-radius:9999px}.md\:rounded-t-none{border-top-left-radius:0;border-top-right-radius:0}.md\:rounded-r-none{border-top-right-radius:0;border-bottom-right-radius:0}.md\:rounded-b-none{border-bottom-right-radius:0;border-bottom-left-radius:0}.md\:rounded-l-none{border-top-left-radius:0;border-bottom-left-radius:0}.md\:rounded-t-sm{border-top-left-radius:.125rem;border-top-right-radius:.125rem}.md\:rounded-r-sm{border-top-right-radius:.125rem;border-bottom-right-radius:.125rem}.md\:rounded-b-sm{border-bottom-right-radius:.125rem;border-bottom-left-radius:.125rem}.md\:rounded-l-sm{border-top-left-radius:.125rem;border-bottom-left-radius:.125rem}.md\:rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.md\:rounded-r{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.md\:rounded-b{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.md\:rounded-l{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.md\:rounded-t-md{border-top-left-radius:.375rem;border-top-right-radius:.375rem}.md\:rounded-r-md{border-top-right-radius:.375rem;border-bottom-right-radius:.375rem}.md\:rounded-b-md{border-bottom-right-radius:.375rem;border-bottom-left-radius:.375rem}.md\:rounded-l-md{border-top-left-radius:.375rem;border-bottom-left-radius:.375rem}.md\:rounded-t-lg{border-top-left-radius:.5rem;border-top-right-radius:.5rem}.md\:rounded-r-lg{border-top-right-radius:.5rem;border-bottom-right-radius:.5rem}.md\:rounded-b-lg{border-bottom-right-radius:.5rem;border-bottom-left-radius:.5rem}.md\:rounded-l-lg{border-top-left-radius:.5rem;border-bottom-left-radius:.5rem}.md\:rounded-t-full{border-top-left-radius:9999px;border-top-right-radius:9999px}.md\:rounded-r-full{border-top-right-radius:9999px;border-bottom-right-radius:9999px}.md\:rounded-b-full{border-bottom-right-radius:9999px;border-bottom-left-radius:9999px}.md\:rounded-l-full{border-top-left-radius:9999px;border-bottom-left-radius:9999px}.md\:rounded-tl-none{border-top-left-radius:0}.md\:rounded-tr-none{border-top-right-radius:0}.md\:rounded-br-none{border-bottom-right-radius:0}.md\:rounded-bl-none{border-bottom-left-radius:0}.md\:rounded-tl-sm{border-top-left-radius:.125rem}.md\:rounded-tr-sm{border-top-right-radius:.125rem}.md\:rounded-br-sm{border-bottom-right-radius:.125rem}.md\:rounded-bl-sm{border-bottom-left-radius:.125rem}.md\:rounded-tl{border-top-left-radius:.25rem}.md\:rounded-tr{border-top-right-radius:.25rem}.md\:rounded-br{border-bottom-right-radius:.25rem}.md\:rounded-bl{border-bottom-left-radius:.25rem}.md\:rounded-tl-md{border-top-left-radius:.375rem}.md\:rounded-tr-md{border-top-right-radius:.375rem}.md\:rounded-br-md{border-bottom-right-radius:.375rem}.md\:rounded-bl-md{border-bottom-left-radius:.375rem}.md\:rounded-tl-lg{border-top-left-radius:.5rem}.md\:rounded-tr-lg{border-top-right-radius:.5rem}.md\:rounded-br-lg{border-bottom-right-radius:.5rem}.md\:rounded-bl-lg{border-bottom-left-radius:.5rem}.md\:rounded-tl-full{border-top-left-radius:9999px}.md\:rounded-tr-full{border-top-right-radius:9999px}.md\:rounded-br-full{border-bottom-right-radius:9999px}.md\:rounded-bl-full{border-bottom-left-radius:9999px}.md\:border-solid{border-style:solid}.md\:border-dashed{border-style:dashed}.md\:border-dotted{border-style:dotted}.md\:border-double{border-style:double}.md\:border-none{border-style:none}.md\:border-0{border-width:0}.md\:border-2{border-width:2px}.md\:border-4{border-width:4px}.md\:border-8{border-width:8px}.md\:border{border-width:1px}.md\:border-t-0{border-top-width:0}.md\:border-r-0{border-right-width:0}.md\:border-b-0{border-bottom-width:0}.md\:border-l-0{border-left-width:0}.md\:border-t-2{border-top-width:2px}.md\:border-r-2{border-right-width:2px}.md\:border-b-2{border-bottom-width:2px}.md\:border-l-2{border-left-width:2px}.md\:border-t-4{border-top-width:4px}.md\:border-r-4{border-right-width:4px}.md\:border-b-4{border-bottom-width:4px}.md\:border-l-4{border-left-width:4px}.md\:border-t-8{border-top-width:8px}.md\:border-r-8{border-right-width:8px}.md\:border-b-8{border-bottom-width:8px}.md\:border-l-8{border-left-width:8px}.md\:border-t{border-top-width:1px}.md\:border-r{border-right-width:1px}.md\:border-b{border-bottom-width:1px}.md\:border-l{border-left-width:1px}.md\:box-border{box-sizing:border-box}.md\:box-content{box-sizing:content-box}.md\:cursor-auto{cursor:auto}.md\:cursor-default{cursor:default}.md\:cursor-pointer{cursor:pointer}.md\:cursor-wait{cursor:wait}.md\:cursor-text{cursor:text}.md\:cursor-move{cursor:move}.md\:cursor-not-allowed{cursor:not-allowed}.md\:block{display:block}.md\:inline-block{display:inline-block}.md\:inline{display:inline}.md\:flex{display:flex}.md\:inline-flex{display:inline-flex}.md\:table{display:table}.md\:table-caption{display:table-caption}.md\:table-cell{display:table-cell}.md\:table-column{display:table-column}.md\:table-column-group{display:table-column-group}.md\:table-footer-group{display:table-footer-group}.md\:table-header-group{display:table-header-group}.md\:table-row-group{display:table-row-group}.md\:table-row{display:table-row}.md\:flow-root{display:flow-root}.md\:grid{display:grid}.md\:inline-grid{display:inline-grid}.md\:hidden{display:none}.md\:flex-row{flex-direction:row}.md\:flex-row-reverse{flex-direction:row-reverse}.md\:flex-col{flex-direction:column}.md\:flex-col-reverse{flex-direction:column-reverse}.md\:flex-wrap{flex-wrap:wrap}.md\:flex-wrap-reverse{flex-wrap:wrap-reverse}.md\:flex-no-wrap{flex-wrap:nowrap}.md\:items-start{align-items:flex-start}.md\:items-end{align-items:flex-end}.md\:items-center{align-items:center}.md\:items-baseline{align-items:baseline}.md\:items-stretch{align-items:stretch}.md\:self-auto{align-self:auto}.md\:self-start{align-self:flex-start}.md\:self-end{align-self:flex-end}.md\:self-center{align-self:center}.md\:self-stretch{align-self:stretch}.md\:justify-start{justify-content:flex-start}.md\:justify-end{justify-content:flex-end}.md\:justify-center{justify-content:center}.md\:justify-between{justify-content:space-between}.md\:justify-around{justify-content:space-around}.md\:justify-evenly{justify-content:space-evenly}.md\:content-center{align-content:center}.md\:content-start{align-content:flex-start}.md\:content-end{align-content:flex-end}.md\:content-between{align-content:space-between}.md\:content-around{align-content:space-around}.md\:flex-1{flex:1 1 0%}.md\:flex-auto{flex:1 1 auto}.md\:flex-initial{flex:0 1 auto}.md\:flex-none{flex:none}.md\:flex-grow-0{flex-grow:0}.md\:flex-grow{flex-grow:1}.md\:flex-shrink-0{flex-shrink:0}.md\:flex-shrink{flex-shrink:1}.md\:order-1{order:1}.md\:order-2{order:2}.md\:order-3{order:3}.md\:order-4{order:4}.md\:order-5{order:5}.md\:order-6{order:6}.md\:order-7{order:7}.md\:order-8{order:8}.md\:order-9{order:9}.md\:order-10{order:10}.md\:order-11{order:11}.md\:order-12{order:12}.md\:order-first{order:-9999}.md\:order-last{order:9999}.md\:order-none{order:0}.md\:float-right{float:right}.md\:float-left{float:left}.md\:float-none{float:none}.md\:clearfix:after{content:"";display:table;clear:both}.md\:clear-left{clear:left}.md\:clear-right{clear:right}.md\:clear-both{clear:both}.md\:clear-none{clear:none}.md\:font-sans{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"}.md\:font-serif{font-family:Georgia,Cambria,"Times New Roman",Times,serif}.md\:font-mono{font-family:Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}.md\:font-hairline{font-weight:100}.md\:font-thin{font-weight:200}.md\:font-light{font-weight:300}.md\:font-normal{font-weight:400}.md\:font-medium{font-weight:500}.md\:font-semibold{font-weight:600}.md\:font-bold{font-weight:700}.md\:font-extrabold{font-weight:800}.md\:font-black{font-weight:900}.md\:hover\:font-hairline:hover{font-weight:100}.md\:hover\:font-thin:hover{font-weight:200}.md\:hover\:font-light:hover{font-weight:300}.md\:hover\:font-normal:hover{font-weight:400}.md\:hover\:font-medium:hover{font-weight:500}.md\:hover\:font-semibold:hover{font-weight:600}.md\:hover\:font-bold:hover{font-weight:700}.md\:hover\:font-extrabold:hover{font-weight:800}.md\:hover\:font-black:hover{font-weight:900}.md\:focus\:font-hairline:focus{font-weight:100}.md\:focus\:font-thin:focus{font-weight:200}.md\:focus\:font-light:focus{font-weight:300}.md\:focus\:font-normal:focus{font-weight:400}.md\:focus\:font-medium:focus{font-weight:500}.md\:focus\:font-semibold:focus{font-weight:600}.md\:focus\:font-bold:focus{font-weight:700}.md\:focus\:font-extrabold:focus{font-weight:800}.md\:focus\:font-black:focus{font-weight:900}.md\:h-0{height:0}.md\:h-1{height:.25rem}.md\:h-2{height:.5rem}.md\:h-3{height:.75rem}.md\:h-4{height:1rem}.md\:h-5{height:1.25rem}.md\:h-6{height:1.5rem}.md\:h-7{height:1.75rem}.md\:h-8{height:2rem}.md\:h-9{height:2.25rem}.md\:h-10{height:2.5rem}.md\:h-11{height:2.75rem}.md\:h-12{height:3rem}.md\:h-13{height:3.25rem}.md\:h-14{height:3.5rem}.md\:h-15{height:3.75rem}.md\:h-16{height:4rem}.md\:h-20{height:5rem}.md\:h-24{height:6rem}.md\:h-28{height:7rem}.md\:h-32{height:8rem}.md\:h-36{height:9rem}.md\:h-40{height:10rem}.md\:h-44{height:11rem}.md\:h-48{height:12rem}.md\:h-52{height:13rem}.md\:h-56{height:14rem}.md\:h-60{height:15rem}.md\:h-64{height:16rem}.md\:h-72{height:18rem}.md\:h-80{height:20rem}.md\:h-96{height:24rem}.md\:h-auto{height:auto}.md\:h-px{height:1px}.md\:h-0\.5{height:.125rem}.md\:h-1\.5{height:.375rem}.md\:h-2\.5{height:.625rem}.md\:h-3\.5{height:.875rem}.md\:h-1\/2{height:50%}.md\:h-1\/3{height:33.333333%}.md\:h-2\/3{height:66.666667%}.md\:h-1\/4{height:25%}.md\:h-2\/4{height:50%}.md\:h-3\/4{height:75%}.md\:h-1\/5{height:20%}.md\:h-2\/5{height:40%}.md\:h-3\/5{height:60%}.md\:h-4\/5{height:80%}.md\:h-1\/6{height:16.666667%}.md\:h-2\/6{height:33.333333%}.md\:h-3\/6{height:50%}.md\:h-4\/6{height:66.666667%}.md\:h-5\/6{height:83.333333%}.md\:h-1\/12{height:8.333333%}.md\:h-2\/12{height:16.666667%}.md\:h-3\/12{height:25%}.md\:h-4\/12{height:33.333333%}.md\:h-5\/12{height:41.666667%}.md\:h-6\/12{height:50%}.md\:h-7\/12{height:58.333333%}.md\:h-8\/12{height:66.666667%}.md\:h-9\/12{height:75%}.md\:h-10\/12{height:83.333333%}.md\:h-11\/12{height:91.666667%}.md\:h-full{height:100%}.md\:h-screen{height:100vh}.md\:text-xs{font-size:.75rem}.md\:text-sm{font-size:.875rem}.md\:text-base{font-size:1rem}.md\:text-lg{font-size:1.125rem}.md\:text-xl{font-size:1.25rem}.md\:text-2xl{font-size:1.5rem}.md\:text-3xl{font-size:1.875rem}.md\:text-4xl{font-size:2.25rem}.md\:text-5xl{font-size:3rem}.md\:text-6xl{font-size:4rem}.md\:leading-3{line-height:.75rem}.md\:leading-4{line-height:1rem}.md\:leading-5{line-height:1.25rem}.md\:leading-6{line-height:1.5rem}.md\:leading-7{line-height:1.75rem}.md\:leading-8{line-height:2rem}.md\:leading-9{line-height:2.25rem}.md\:leading-10{line-height:2.5rem}.md\:leading-none{line-height:1}.md\:leading-tight{line-height:1.25}.md\:leading-snug{line-height:1.375}.md\:leading-normal{line-height:1.5}.md\:leading-relaxed{line-height:1.625}.md\:leading-loose{line-height:2}.md\:list-inside{list-style-position:inside}.md\:list-outside{list-style-position:outside}.md\:list-none{list-style-type:none}.md\:list-disc{list-style-type:disc}.md\:list-decimal{list-style-type:decimal}.md\:m-0{margin:0}.md\:m-1{margin:.25rem}.md\:m-2{margin:.5rem}.md\:m-3{margin:.75rem}.md\:m-4{margin:1rem}.md\:m-5{margin:1.25rem}.md\:m-6{margin:1.5rem}.md\:m-7{margin:1.75rem}.md\:m-8{margin:2rem}.md\:m-9{margin:2.25rem}.md\:m-10{margin:2.5rem}.md\:m-11{margin:2.75rem}.md\:m-12{margin:3rem}.md\:m-13{margin:3.25rem}.md\:m-14{margin:3.5rem}.md\:m-15{margin:3.75rem}.md\:m-16{margin:4rem}.md\:m-20{margin:5rem}.md\:m-24{margin:6rem}.md\:m-28{margin:7rem}.md\:m-32{margin:8rem}.md\:m-36{margin:9rem}.md\:m-40{margin:10rem}.md\:m-44{margin:11rem}.md\:m-48{margin:12rem}.md\:m-52{margin:13rem}.md\:m-56{margin:14rem}.md\:m-60{margin:15rem}.md\:m-64{margin:16rem}.md\:m-72{margin:18rem}.md\:m-80{margin:20rem}.md\:m-96{margin:24rem}.md\:m-auto{margin:auto}.md\:m-px{margin:1px}.md\:m-0\.5{margin:.125rem}.md\:m-1\.5{margin:.375rem}.md\:m-2\.5{margin:.625rem}.md\:m-3\.5{margin:.875rem}.md\:m-1\/2{margin:50%}.md\:m-1\/3{margin:33.333333%}.md\:m-2\/3{margin:66.666667%}.md\:m-1\/4{margin:25%}.md\:m-2\/4{margin:50%}.md\:m-3\/4{margin:75%}.md\:m-1\/5{margin:20%}.md\:m-2\/5{margin:40%}.md\:m-3\/5{margin:60%}.md\:m-4\/5{margin:80%}.md\:m-1\/6{margin:16.666667%}.md\:m-2\/6{margin:33.333333%}.md\:m-3\/6{margin:50%}.md\:m-4\/6{margin:66.666667%}.md\:m-5\/6{margin:83.333333%}.md\:m-1\/12{margin:8.333333%}.md\:m-2\/12{margin:16.666667%}.md\:m-3\/12{margin:25%}.md\:m-4\/12{margin:33.333333%}.md\:m-5\/12{margin:41.666667%}.md\:m-6\/12{margin:50%}.md\:m-7\/12{margin:58.333333%}.md\:m-8\/12{margin:66.666667%}.md\:m-9\/12{margin:75%}.md\:m-10\/12{margin:83.333333%}.md\:m-11\/12{margin:91.666667%}.md\:m-full{margin:100%}.md\:-m-1{margin:-.25rem}.md\:-m-2{margin:-.5rem}.md\:-m-3{margin:-.75rem}.md\:-m-4{margin:-1rem}.md\:-m-5{margin:-1.25rem}.md\:-m-6{margin:-1.5rem}.md\:-m-7{margin:-1.75rem}.md\:-m-8{margin:-2rem}.md\:-m-9{margin:-2.25rem}.md\:-m-10{margin:-2.5rem}.md\:-m-11{margin:-2.75rem}.md\:-m-12{margin:-3rem}.md\:-m-13{margin:-3.25rem}.md\:-m-14{margin:-3.5rem}.md\:-m-15{margin:-3.75rem}.md\:-m-16{margin:-4rem}.md\:-m-20{margin:-5rem}.md\:-m-24{margin:-6rem}.md\:-m-28{margin:-7rem}.md\:-m-32{margin:-8rem}.md\:-m-36{margin:-9rem}.md\:-m-40{margin:-10rem}.md\:-m-44{margin:-11rem}.md\:-m-48{margin:-12rem}.md\:-m-52{margin:-13rem}.md\:-m-56{margin:-14rem}.md\:-m-60{margin:-15rem}.md\:-m-64{margin:-16rem}.md\:-m-72{margin:-18rem}.md\:-m-80{margin:-20rem}.md\:-m-96{margin:-24rem}.md\:-m-px{margin:-1px}.md\:-m-0\.5{margin:-.125rem}.md\:-m-1\.5{margin:-.375rem}.md\:-m-2\.5{margin:-.625rem}.md\:-m-3\.5{margin:-.875rem}.md\:-m-1\/2{margin:-50%}.md\:-m-1\/3{margin:-33.33333%}.md\:-m-2\/3{margin:-66.66667%}.md\:-m-1\/4{margin:-25%}.md\:-m-2\/4{margin:-50%}.md\:-m-3\/4{margin:-75%}.md\:-m-1\/5{margin:-20%}.md\:-m-2\/5{margin:-40%}.md\:-m-3\/5{margin:-60%}.md\:-m-4\/5{margin:-80%}.md\:-m-1\/6{margin:-16.66667%}.md\:-m-2\/6{margin:-33.33333%}.md\:-m-3\/6{margin:-50%}.md\:-m-4\/6{margin:-66.66667%}.md\:-m-5\/6{margin:-83.33333%}.md\:-m-1\/12{margin:-8.33333%}.md\:-m-2\/12{margin:-16.66667%}.md\:-m-3\/12{margin:-25%}.md\:-m-4\/12{margin:-33.33333%}.md\:-m-5\/12{margin:-41.66667%}.md\:-m-6\/12{margin:-50%}.md\:-m-7\/12{margin:-58.33333%}.md\:-m-8\/12{margin:-66.66667%}.md\:-m-9\/12{margin:-75%}.md\:-m-10\/12{margin:-83.33333%}.md\:-m-11\/12{margin:-91.66667%}.md\:-m-full{margin:-100%}.md\:my-0{margin-top:0;margin-bottom:0}.md\:mx-0{margin-left:0;margin-right:0}.md\:my-1{margin-top:.25rem;margin-bottom:.25rem}.md\:mx-1{margin-left:.25rem;margin-right:.25rem}.md\:my-2{margin-top:.5rem;margin-bottom:.5rem}.md\:mx-2{margin-left:.5rem;margin-right:.5rem}.md\:my-3{margin-top:.75rem;margin-bottom:.75rem}.md\:mx-3{margin-left:.75rem;margin-right:.75rem}.md\:my-4{margin-top:1rem;margin-bottom:1rem}.md\:mx-4{margin-left:1rem;margin-right:1rem}.md\:my-5{margin-top:1.25rem;margin-bottom:1.25rem}.md\:mx-5{margin-left:1.25rem;margin-right:1.25rem}.md\:my-6{margin-top:1.5rem;margin-bottom:1.5rem}.md\:mx-6{margin-left:1.5rem;margin-right:1.5rem}.md\:my-7{margin-top:1.75rem;margin-bottom:1.75rem}.md\:mx-7{margin-left:1.75rem;margin-right:1.75rem}.md\:my-8{margin-top:2rem;margin-bottom:2rem}.md\:mx-8{margin-left:2rem;margin-right:2rem}.md\:my-9{margin-top:2.25rem;margin-bottom:2.25rem}.md\:mx-9{margin-left:2.25rem;margin-right:2.25rem}.md\:my-10{margin-top:2.5rem;margin-bottom:2.5rem}.md\:mx-10{margin-left:2.5rem;margin-right:2.5rem}.md\:my-11{margin-top:2.75rem;margin-bottom:2.75rem}.md\:mx-11{margin-left:2.75rem;margin-right:2.75rem}.md\:my-12{margin-top:3rem;margin-bottom:3rem}.md\:mx-12{margin-left:3rem;margin-right:3rem}.md\:my-13{margin-top:3.25rem;margin-bottom:3.25rem}.md\:mx-13{margin-left:3.25rem;margin-right:3.25rem}.md\:my-14{margin-top:3.5rem;margin-bottom:3.5rem}.md\:mx-14{margin-left:3.5rem;margin-right:3.5rem}.md\:my-15{margin-top:3.75rem;margin-bottom:3.75rem}.md\:mx-15{margin-left:3.75rem;margin-right:3.75rem}.md\:my-16{margin-top:4rem;margin-bottom:4rem}.md\:mx-16{margin-left:4rem;margin-right:4rem}.md\:my-20{margin-top:5rem;margin-bottom:5rem}.md\:mx-20{margin-left:5rem;margin-right:5rem}.md\:my-24{margin-top:6rem;margin-bottom:6rem}.md\:mx-24{margin-left:6rem;margin-right:6rem}.md\:my-28{margin-top:7rem;margin-bottom:7rem}.md\:mx-28{margin-left:7rem;margin-right:7rem}.md\:my-32{margin-top:8rem;margin-bottom:8rem}.md\:mx-32{margin-left:8rem;margin-right:8rem}.md\:my-36{margin-top:9rem;margin-bottom:9rem}.md\:mx-36{margin-left:9rem;margin-right:9rem}.md\:my-40{margin-top:10rem;margin-bottom:10rem}.md\:mx-40{margin-left:10rem;margin-right:10rem}.md\:my-44{margin-top:11rem;margin-bottom:11rem}.md\:mx-44{margin-left:11rem;margin-right:11rem}.md\:my-48{margin-top:12rem;margin-bottom:12rem}.md\:mx-48{margin-left:12rem;margin-right:12rem}.md\:my-52{margin-top:13rem;margin-bottom:13rem}.md\:mx-52{margin-left:13rem;margin-right:13rem}.md\:my-56{margin-top:14rem;margin-bottom:14rem}.md\:mx-56{margin-left:14rem;margin-right:14rem}.md\:my-60{margin-top:15rem;margin-bottom:15rem}.md\:mx-60{margin-left:15rem;margin-right:15rem}.md\:my-64{margin-top:16rem;margin-bottom:16rem}.md\:mx-64{margin-left:16rem;margin-right:16rem}.md\:my-72{margin-top:18rem;margin-bottom:18rem}.md\:mx-72{margin-left:18rem;margin-right:18rem}.md\:my-80{margin-top:20rem;margin-bottom:20rem}.md\:mx-80{margin-left:20rem;margin-right:20rem}.md\:my-96{margin-top:24rem;margin-bottom:24rem}.md\:mx-96{margin-left:24rem;margin-right:24rem}.md\:my-auto{margin-top:auto;margin-bottom:auto}.md\:mx-auto{margin-left:auto;margin-right:auto}.md\:my-px{margin-top:1px;margin-bottom:1px}.md\:mx-px{margin-left:1px;margin-right:1px}.md\:my-0\.5{margin-top:.125rem;margin-bottom:.125rem}.md\:mx-0\.5{margin-left:.125rem;margin-right:.125rem}.md\:my-1\.5{margin-top:.375rem;margin-bottom:.375rem}.md\:mx-1\.5{margin-left:.375rem;margin-right:.375rem}.md\:my-2\.5{margin-top:.625rem;margin-bottom:.625rem}.md\:mx-2\.5{margin-left:.625rem;margin-right:.625rem}.md\:my-3\.5{margin-top:.875rem;margin-bottom:.875rem}.md\:mx-3\.5{margin-left:.875rem;margin-right:.875rem}.md\:my-1\/2{margin-top:50%;margin-bottom:50%}.md\:mx-1\/2{margin-left:50%;margin-right:50%}.md\:my-1\/3{margin-top:33.333333%;margin-bottom:33.333333%}.md\:mx-1\/3{margin-left:33.333333%;margin-right:33.333333%}.md\:my-2\/3{margin-top:66.666667%;margin-bottom:66.666667%}.md\:mx-2\/3{margin-left:66.666667%;margin-right:66.666667%}.md\:my-1\/4{margin-top:25%;margin-bottom:25%}.md\:mx-1\/4{margin-left:25%;margin-right:25%}.md\:my-2\/4{margin-top:50%;margin-bottom:50%}.md\:mx-2\/4{margin-left:50%;margin-right:50%}.md\:my-3\/4{margin-top:75%;margin-bottom:75%}.md\:mx-3\/4{margin-left:75%;margin-right:75%}.md\:my-1\/5{margin-top:20%;margin-bottom:20%}.md\:mx-1\/5{margin-left:20%;margin-right:20%}.md\:my-2\/5{margin-top:40%;margin-bottom:40%}.md\:mx-2\/5{margin-left:40%;margin-right:40%}.md\:my-3\/5{margin-top:60%;margin-bottom:60%}.md\:mx-3\/5{margin-left:60%;margin-right:60%}.md\:my-4\/5{margin-top:80%;margin-bottom:80%}.md\:mx-4\/5{margin-left:80%;margin-right:80%}.md\:my-1\/6{margin-top:16.666667%;margin-bottom:16.666667%}.md\:mx-1\/6{margin-left:16.666667%;margin-right:16.666667%}.md\:my-2\/6{margin-top:33.333333%;margin-bottom:33.333333%}.md\:mx-2\/6{margin-left:33.333333%;margin-right:33.333333%}.md\:my-3\/6{margin-top:50%;margin-bottom:50%}.md\:mx-3\/6{margin-left:50%;margin-right:50%}.md\:my-4\/6{margin-top:66.666667%;margin-bottom:66.666667%}.md\:mx-4\/6{margin-left:66.666667%;margin-right:66.666667%}.md\:my-5\/6{margin-top:83.333333%;margin-bottom:83.333333%}.md\:mx-5\/6{margin-left:83.333333%;margin-right:83.333333%}.md\:my-1\/12{margin-top:8.333333%;margin-bottom:8.333333%}.md\:mx-1\/12{margin-left:8.333333%;margin-right:8.333333%}.md\:my-2\/12{margin-top:16.666667%;margin-bottom:16.666667%}.md\:mx-2\/12{margin-left:16.666667%;margin-right:16.666667%}.md\:my-3\/12{margin-top:25%;margin-bottom:25%}.md\:mx-3\/12{margin-left:25%;margin-right:25%}.md\:my-4\/12{margin-top:33.333333%;margin-bottom:33.333333%}.md\:mx-4\/12{margin-left:33.333333%;margin-right:33.333333%}.md\:my-5\/12{margin-top:41.666667%;margin-bottom:41.666667%}.md\:mx-5\/12{margin-left:41.666667%;margin-right:41.666667%}.md\:my-6\/12{margin-top:50%;margin-bottom:50%}.md\:mx-6\/12{margin-left:50%;margin-right:50%}.md\:my-7\/12{margin-top:58.333333%;margin-bottom:58.333333%}.md\:mx-7\/12{margin-left:58.333333%;margin-right:58.333333%}.md\:my-8\/12{margin-top:66.666667%;margin-bottom:66.666667%}.md\:mx-8\/12{margin-left:66.666667%;margin-right:66.666667%}.md\:my-9\/12{margin-top:75%;margin-bottom:75%}.md\:mx-9\/12{margin-left:75%;margin-right:75%}.md\:my-10\/12{margin-top:83.333333%;margin-bottom:83.333333%}.md\:mx-10\/12{margin-left:83.333333%;margin-right:83.333333%}.md\:my-11\/12{margin-top:91.666667%;margin-bottom:91.666667%}.md\:mx-11\/12{margin-left:91.666667%;margin-right:91.666667%}.md\:my-full{margin-top:100%;margin-bottom:100%}.md\:mx-full{margin-left:100%;margin-right:100%}.md\:-my-1{margin-top:-.25rem;margin-bottom:-.25rem}.md\:-mx-1{margin-left:-.25rem;margin-right:-.25rem}.md\:-my-2{margin-top:-.5rem;margin-bottom:-.5rem}.md\:-mx-2{margin-left:-.5rem;margin-right:-.5rem}.md\:-my-3{margin-top:-.75rem;margin-bottom:-.75rem}.md\:-mx-3{margin-left:-.75rem;margin-right:-.75rem}.md\:-my-4{margin-top:-1rem;margin-bottom:-1rem}.md\:-mx-4{margin-left:-1rem;margin-right:-1rem}.md\:-my-5{margin-top:-1.25rem;margin-bottom:-1.25rem}.md\:-mx-5{margin-left:-1.25rem;margin-right:-1.25rem}.md\:-my-6{margin-top:-1.5rem;margin-bottom:-1.5rem}.md\:-mx-6{margin-left:-1.5rem;margin-right:-1.5rem}.md\:-my-7{margin-top:-1.75rem;margin-bottom:-1.75rem}.md\:-mx-7{margin-left:-1.75rem;margin-right:-1.75rem}.md\:-my-8{margin-top:-2rem;margin-bottom:-2rem}.md\:-mx-8{margin-left:-2rem;margin-right:-2rem}.md\:-my-9{margin-top:-2.25rem;margin-bottom:-2.25rem}.md\:-mx-9{margin-left:-2.25rem;margin-right:-2.25rem}.md\:-my-10{margin-top:-2.5rem;margin-bottom:-2.5rem}.md\:-mx-10{margin-left:-2.5rem;margin-right:-2.5rem}.md\:-my-11{margin-top:-2.75rem;margin-bottom:-2.75rem}.md\:-mx-11{margin-left:-2.75rem;margin-right:-2.75rem}.md\:-my-12{margin-top:-3rem;margin-bottom:-3rem}.md\:-mx-12{margin-left:-3rem;margin-right:-3rem}.md\:-my-13{margin-top:-3.25rem;margin-bottom:-3.25rem}.md\:-mx-13{margin-left:-3.25rem;margin-right:-3.25rem}.md\:-my-14{margin-top:-3.5rem;margin-bottom:-3.5rem}.md\:-mx-14{margin-left:-3.5rem;margin-right:-3.5rem}.md\:-my-15{margin-top:-3.75rem;margin-bottom:-3.75rem}.md\:-mx-15{margin-left:-3.75rem;margin-right:-3.75rem}.md\:-my-16{margin-top:-4rem;margin-bottom:-4rem}.md\:-mx-16{margin-left:-4rem;margin-right:-4rem}.md\:-my-20{margin-top:-5rem;margin-bottom:-5rem}.md\:-mx-20{margin-left:-5rem;margin-right:-5rem}.md\:-my-24{margin-top:-6rem;margin-bottom:-6rem}.md\:-mx-24{margin-left:-6rem;margin-right:-6rem}.md\:-my-28{margin-top:-7rem;margin-bottom:-7rem}.md\:-mx-28{margin-left:-7rem;margin-right:-7rem}.md\:-my-32{margin-top:-8rem;margin-bottom:-8rem}.md\:-mx-32{margin-left:-8rem;margin-right:-8rem}.md\:-my-36{margin-top:-9rem;margin-bottom:-9rem}.md\:-mx-36{margin-left:-9rem;margin-right:-9rem}.md\:-my-40{margin-top:-10rem;margin-bottom:-10rem}.md\:-mx-40{margin-left:-10rem;margin-right:-10rem}.md\:-my-44{margin-top:-11rem;margin-bottom:-11rem}.md\:-mx-44{margin-left:-11rem;margin-right:-11rem}.md\:-my-48{margin-top:-12rem;margin-bottom:-12rem}.md\:-mx-48{margin-left:-12rem;margin-right:-12rem}.md\:-my-52{margin-top:-13rem;margin-bottom:-13rem}.md\:-mx-52{margin-left:-13rem;margin-right:-13rem}.md\:-my-56{margin-top:-14rem;margin-bottom:-14rem}.md\:-mx-56{margin-left:-14rem;margin-right:-14rem}.md\:-my-60{margin-top:-15rem;margin-bottom:-15rem}.md\:-mx-60{margin-left:-15rem;margin-right:-15rem}.md\:-my-64{margin-top:-16rem;margin-bottom:-16rem}.md\:-mx-64{margin-left:-16rem;margin-right:-16rem}.md\:-my-72{margin-top:-18rem;margin-bottom:-18rem}.md\:-mx-72{margin-left:-18rem;margin-right:-18rem}.md\:-my-80{margin-top:-20rem;margin-bottom:-20rem}.md\:-mx-80{margin-left:-20rem;margin-right:-20rem}.md\:-my-96{margin-top:-24rem;margin-bottom:-24rem}.md\:-mx-96{margin-left:-24rem;margin-right:-24rem}.md\:-my-px{margin-top:-1px;margin-bottom:-1px}.md\:-mx-px{margin-left:-1px;margin-right:-1px}.md\:-my-0\.5{margin-top:-.125rem;margin-bottom:-.125rem}.md\:-mx-0\.5{margin-left:-.125rem;margin-right:-.125rem}.md\:-my-1\.5{margin-top:-.375rem;margin-bottom:-.375rem}.md\:-mx-1\.5{margin-left:-.375rem;margin-right:-.375rem}.md\:-my-2\.5{margin-top:-.625rem;margin-bottom:-.625rem}.md\:-mx-2\.5{margin-left:-.625rem;margin-right:-.625rem}.md\:-my-3\.5{margin-top:-.875rem;margin-bottom:-.875rem}.md\:-mx-3\.5{margin-left:-.875rem;margin-right:-.875rem}.md\:-my-1\/2{margin-top:-50%;margin-bottom:-50%}.md\:-mx-1\/2{margin-left:-50%;margin-right:-50%}.md\:-my-1\/3{margin-top:-33.33333%;margin-bottom:-33.33333%}.md\:-mx-1\/3{margin-left:-33.33333%;margin-right:-33.33333%}.md\:-my-2\/3{margin-top:-66.66667%;margin-bottom:-66.66667%}.md\:-mx-2\/3{margin-left:-66.66667%;margin-right:-66.66667%}.md\:-my-1\/4{margin-top:-25%;margin-bottom:-25%}.md\:-mx-1\/4{margin-left:-25%;margin-right:-25%}.md\:-my-2\/4{margin-top:-50%;margin-bottom:-50%}.md\:-mx-2\/4{margin-left:-50%;margin-right:-50%}.md\:-my-3\/4{margin-top:-75%;margin-bottom:-75%}.md\:-mx-3\/4{margin-left:-75%;margin-right:-75%}.md\:-my-1\/5{margin-top:-20%;margin-bottom:-20%}.md\:-mx-1\/5{margin-left:-20%;margin-right:-20%}.md\:-my-2\/5{margin-top:-40%;margin-bottom:-40%}.md\:-mx-2\/5{margin-left:-40%;margin-right:-40%}.md\:-my-3\/5{margin-top:-60%;margin-bottom:-60%}.md\:-mx-3\/5{margin-left:-60%;margin-right:-60%}.md\:-my-4\/5{margin-top:-80%;margin-bottom:-80%}.md\:-mx-4\/5{margin-left:-80%;margin-right:-80%}.md\:-my-1\/6{margin-top:-16.66667%;margin-bottom:-16.66667%}.md\:-mx-1\/6{margin-left:-16.66667%;margin-right:-16.66667%}.md\:-my-2\/6{margin-top:-33.33333%;margin-bottom:-33.33333%}.md\:-mx-2\/6{margin-left:-33.33333%;margin-right:-33.33333%}.md\:-my-3\/6{margin-top:-50%;margin-bottom:-50%}.md\:-mx-3\/6{margin-left:-50%;margin-right:-50%}.md\:-my-4\/6{margin-top:-66.66667%;margin-bottom:-66.66667%}.md\:-mx-4\/6{margin-left:-66.66667%;margin-right:-66.66667%}.md\:-my-5\/6{margin-top:-83.33333%;margin-bottom:-83.33333%}.md\:-mx-5\/6{margin-left:-83.33333%;margin-right:-83.33333%}.md\:-my-1\/12{margin-top:-8.33333%;margin-bottom:-8.33333%}.md\:-mx-1\/12{margin-left:-8.33333%;margin-right:-8.33333%}.md\:-my-2\/12{margin-top:-16.66667%;margin-bottom:-16.66667%}.md\:-mx-2\/12{margin-left:-16.66667%;margin-right:-16.66667%}.md\:-my-3\/12{margin-top:-25%;margin-bottom:-25%}.md\:-mx-3\/12{margin-left:-25%;margin-right:-25%}.md\:-my-4\/12{margin-top:-33.33333%;margin-bottom:-33.33333%}.md\:-mx-4\/12{margin-left:-33.33333%;margin-right:-33.33333%}.md\:-my-5\/12{margin-top:-41.66667%;margin-bottom:-41.66667%}.md\:-mx-5\/12{margin-left:-41.66667%;margin-right:-41.66667%}.md\:-my-6\/12{margin-top:-50%;margin-bottom:-50%}.md\:-mx-6\/12{margin-left:-50%;margin-right:-50%}.md\:-my-7\/12{margin-top:-58.33333%;margin-bottom:-58.33333%}.md\:-mx-7\/12{margin-left:-58.33333%;margin-right:-58.33333%}.md\:-my-8\/12{margin-top:-66.66667%;margin-bottom:-66.66667%}.md\:-mx-8\/12{margin-left:-66.66667%;margin-right:-66.66667%}.md\:-my-9\/12{margin-top:-75%;margin-bottom:-75%}.md\:-mx-9\/12{margin-left:-75%;margin-right:-75%}.md\:-my-10\/12{margin-top:-83.33333%;margin-bottom:-83.33333%}.md\:-mx-10\/12{margin-left:-83.33333%;margin-right:-83.33333%}.md\:-my-11\/12{margin-top:-91.66667%;margin-bottom:-91.66667%}.md\:-mx-11\/12{margin-left:-91.66667%;margin-right:-91.66667%}.md\:-my-full{margin-top:-100%;margin-bottom:-100%}.md\:-mx-full{margin-left:-100%;margin-right:-100%}.md\:mt-0{margin-top:0}.md\:mr-0{margin-right:0}.md\:mb-0{margin-bottom:0}.md\:ml-0{margin-left:0}.md\:mt-1{margin-top:.25rem}.md\:mr-1{margin-right:.25rem}.md\:mb-1{margin-bottom:.25rem}.md\:ml-1{margin-left:.25rem}.md\:mt-2{margin-top:.5rem}.md\:mr-2{margin-right:.5rem}.md\:mb-2{margin-bottom:.5rem}.md\:ml-2{margin-left:.5rem}.md\:mt-3{margin-top:.75rem}.md\:mr-3{margin-right:.75rem}.md\:mb-3{margin-bottom:.75rem}.md\:ml-3{margin-left:.75rem}.md\:mt-4{margin-top:1rem}.md\:mr-4{margin-right:1rem}.md\:mb-4{margin-bottom:1rem}.md\:ml-4{margin-left:1rem}.md\:mt-5{margin-top:1.25rem}.md\:mr-5{margin-right:1.25rem}.md\:mb-5{margin-bottom:1.25rem}.md\:ml-5{margin-left:1.25rem}.md\:mt-6{margin-top:1.5rem}.md\:mr-6{margin-right:1.5rem}.md\:mb-6{margin-bottom:1.5rem}.md\:ml-6{margin-left:1.5rem}.md\:mt-7{margin-top:1.75rem}.md\:mr-7{margin-right:1.75rem}.md\:mb-7{margin-bottom:1.75rem}.md\:ml-7{margin-left:1.75rem}.md\:mt-8{margin-top:2rem}.md\:mr-8{margin-right:2rem}.md\:mb-8{margin-bottom:2rem}.md\:ml-8{margin-left:2rem}.md\:mt-9{margin-top:2.25rem}.md\:mr-9{margin-right:2.25rem}.md\:mb-9{margin-bottom:2.25rem}.md\:ml-9{margin-left:2.25rem}.md\:mt-10{margin-top:2.5rem}.md\:mr-10{margin-right:2.5rem}.md\:mb-10{margin-bottom:2.5rem}.md\:ml-10{margin-left:2.5rem}.md\:mt-11{margin-top:2.75rem}.md\:mr-11{margin-right:2.75rem}.md\:mb-11{margin-bottom:2.75rem}.md\:ml-11{margin-left:2.75rem}.md\:mt-12{margin-top:3rem}.md\:mr-12{margin-right:3rem}.md\:mb-12{margin-bottom:3rem}.md\:ml-12{margin-left:3rem}.md\:mt-13{margin-top:3.25rem}.md\:mr-13{margin-right:3.25rem}.md\:mb-13{margin-bottom:3.25rem}.md\:ml-13{margin-left:3.25rem}.md\:mt-14{margin-top:3.5rem}.md\:mr-14{margin-right:3.5rem}.md\:mb-14{margin-bottom:3.5rem}.md\:ml-14{margin-left:3.5rem}.md\:mt-15{margin-top:3.75rem}.md\:mr-15{margin-right:3.75rem}.md\:mb-15{margin-bottom:3.75rem}.md\:ml-15{margin-left:3.75rem}.md\:mt-16{margin-top:4rem}.md\:mr-16{margin-right:4rem}.md\:mb-16{margin-bottom:4rem}.md\:ml-16{margin-left:4rem}.md\:mt-20{margin-top:5rem}.md\:mr-20{margin-right:5rem}.md\:mb-20{margin-bottom:5rem}.md\:ml-20{margin-left:5rem}.md\:mt-24{margin-top:6rem}.md\:mr-24{margin-right:6rem}.md\:mb-24{margin-bottom:6rem}.md\:ml-24{margin-left:6rem}.md\:mt-28{margin-top:7rem}.md\:mr-28{margin-right:7rem}.md\:mb-28{margin-bottom:7rem}.md\:ml-28{margin-left:7rem}.md\:mt-32{margin-top:8rem}.md\:mr-32{margin-right:8rem}.md\:mb-32{margin-bottom:8rem}.md\:ml-32{margin-left:8rem}.md\:mt-36{margin-top:9rem}.md\:mr-36{margin-right:9rem}.md\:mb-36{margin-bottom:9rem}.md\:ml-36{margin-left:9rem}.md\:mt-40{margin-top:10rem}.md\:mr-40{margin-right:10rem}.md\:mb-40{margin-bottom:10rem}.md\:ml-40{margin-left:10rem}.md\:mt-44{margin-top:11rem}.md\:mr-44{margin-right:11rem}.md\:mb-44{margin-bottom:11rem}.md\:ml-44{margin-left:11rem}.md\:mt-48{margin-top:12rem}.md\:mr-48{margin-right:12rem}.md\:mb-48{margin-bottom:12rem}.md\:ml-48{margin-left:12rem}.md\:mt-52{margin-top:13rem}.md\:mr-52{margin-right:13rem}.md\:mb-52{margin-bottom:13rem}.md\:ml-52{margin-left:13rem}.md\:mt-56{margin-top:14rem}.md\:mr-56{margin-right:14rem}.md\:mb-56{margin-bottom:14rem}.md\:ml-56{margin-left:14rem}.md\:mt-60{margin-top:15rem}.md\:mr-60{margin-right:15rem}.md\:mb-60{margin-bottom:15rem}.md\:ml-60{margin-left:15rem}.md\:mt-64{margin-top:16rem}.md\:mr-64{margin-right:16rem}.md\:mb-64{margin-bottom:16rem}.md\:ml-64{margin-left:16rem}.md\:mt-72{margin-top:18rem}.md\:mr-72{margin-right:18rem}.md\:mb-72{margin-bottom:18rem}.md\:ml-72{margin-left:18rem}.md\:mt-80{margin-top:20rem}.md\:mr-80{margin-right:20rem}.md\:mb-80{margin-bottom:20rem}.md\:ml-80{margin-left:20rem}.md\:mt-96{margin-top:24rem}.md\:mr-96{margin-right:24rem}.md\:mb-96{margin-bottom:24rem}.md\:ml-96{margin-left:24rem}.md\:mt-auto{margin-top:auto}.md\:mr-auto{margin-right:auto}.md\:mb-auto{margin-bottom:auto}.md\:ml-auto{margin-left:auto}.md\:mt-px{margin-top:1px}.md\:mr-px{margin-right:1px}.md\:mb-px{margin-bottom:1px}.md\:ml-px{margin-left:1px}.md\:mt-0\.5{margin-top:.125rem}.md\:mr-0\.5{margin-right:.125rem}.md\:mb-0\.5{margin-bottom:.125rem}.md\:ml-0\.5{margin-left:.125rem}.md\:mt-1\.5{margin-top:.375rem}.md\:mr-1\.5{margin-right:.375rem}.md\:mb-1\.5{margin-bottom:.375rem}.md\:ml-1\.5{margin-left:.375rem}.md\:mt-2\.5{margin-top:.625rem}.md\:mr-2\.5{margin-right:.625rem}.md\:mb-2\.5{margin-bottom:.625rem}.md\:ml-2\.5{margin-left:.625rem}.md\:mt-3\.5{margin-top:.875rem}.md\:mr-3\.5{margin-right:.875rem}.md\:mb-3\.5{margin-bottom:.875rem}.md\:ml-3\.5{margin-left:.875rem}.md\:mt-1\/2{margin-top:50%}.md\:mr-1\/2{margin-right:50%}.md\:mb-1\/2{margin-bottom:50%}.md\:ml-1\/2{margin-left:50%}.md\:mt-1\/3{margin-top:33.333333%}.md\:mr-1\/3{margin-right:33.333333%}.md\:mb-1\/3{margin-bottom:33.333333%}.md\:ml-1\/3{margin-left:33.333333%}.md\:mt-2\/3{margin-top:66.666667%}.md\:mr-2\/3{margin-right:66.666667%}.md\:mb-2\/3{margin-bottom:66.666667%}.md\:ml-2\/3{margin-left:66.666667%}.md\:mt-1\/4{margin-top:25%}.md\:mr-1\/4{margin-right:25%}.md\:mb-1\/4{margin-bottom:25%}.md\:ml-1\/4{margin-left:25%}.md\:mt-2\/4{margin-top:50%}.md\:mr-2\/4{margin-right:50%}.md\:mb-2\/4{margin-bottom:50%}.md\:ml-2\/4{margin-left:50%}.md\:mt-3\/4{margin-top:75%}.md\:mr-3\/4{margin-right:75%}.md\:mb-3\/4{margin-bottom:75%}.md\:ml-3\/4{margin-left:75%}.md\:mt-1\/5{margin-top:20%}.md\:mr-1\/5{margin-right:20%}.md\:mb-1\/5{margin-bottom:20%}.md\:ml-1\/5{margin-left:20%}.md\:mt-2\/5{margin-top:40%}.md\:mr-2\/5{margin-right:40%}.md\:mb-2\/5{margin-bottom:40%}.md\:ml-2\/5{margin-left:40%}.md\:mt-3\/5{margin-top:60%}.md\:mr-3\/5{margin-right:60%}.md\:mb-3\/5{margin-bottom:60%}.md\:ml-3\/5{margin-left:60%}.md\:mt-4\/5{margin-top:80%}.md\:mr-4\/5{margin-right:80%}.md\:mb-4\/5{margin-bottom:80%}.md\:ml-4\/5{margin-left:80%}.md\:mt-1\/6{margin-top:16.666667%}.md\:mr-1\/6{margin-right:16.666667%}.md\:mb-1\/6{margin-bottom:16.666667%}.md\:ml-1\/6{margin-left:16.666667%}.md\:mt-2\/6{margin-top:33.333333%}.md\:mr-2\/6{margin-right:33.333333%}.md\:mb-2\/6{margin-bottom:33.333333%}.md\:ml-2\/6{margin-left:33.333333%}.md\:mt-3\/6{margin-top:50%}.md\:mr-3\/6{margin-right:50%}.md\:mb-3\/6{margin-bottom:50%}.md\:ml-3\/6{margin-left:50%}.md\:mt-4\/6{margin-top:66.666667%}.md\:mr-4\/6{margin-right:66.666667%}.md\:mb-4\/6{margin-bottom:66.666667%}.md\:ml-4\/6{margin-left:66.666667%}.md\:mt-5\/6{margin-top:83.333333%}.md\:mr-5\/6{margin-right:83.333333%}.md\:mb-5\/6{margin-bottom:83.333333%}.md\:ml-5\/6{margin-left:83.333333%}.md\:mt-1\/12{margin-top:8.333333%}.md\:mr-1\/12{margin-right:8.333333%}.md\:mb-1\/12{margin-bottom:8.333333%}.md\:ml-1\/12{margin-left:8.333333%}.md\:mt-2\/12{margin-top:16.666667%}.md\:mr-2\/12{margin-right:16.666667%}.md\:mb-2\/12{margin-bottom:16.666667%}.md\:ml-2\/12{margin-left:16.666667%}.md\:mt-3\/12{margin-top:25%}.md\:mr-3\/12{margin-right:25%}.md\:mb-3\/12{margin-bottom:25%}.md\:ml-3\/12{margin-left:25%}.md\:mt-4\/12{margin-top:33.333333%}.md\:mr-4\/12{margin-right:33.333333%}.md\:mb-4\/12{margin-bottom:33.333333%}.md\:ml-4\/12{margin-left:33.333333%}.md\:mt-5\/12{margin-top:41.666667%}.md\:mr-5\/12{margin-right:41.666667%}.md\:mb-5\/12{margin-bottom:41.666667%}.md\:ml-5\/12{margin-left:41.666667%}.md\:mt-6\/12{margin-top:50%}.md\:mr-6\/12{margin-right:50%}.md\:mb-6\/12{margin-bottom:50%}.md\:ml-6\/12{margin-left:50%}.md\:mt-7\/12{margin-top:58.333333%}.md\:mr-7\/12{margin-right:58.333333%}.md\:mb-7\/12{margin-bottom:58.333333%}.md\:ml-7\/12{margin-left:58.333333%}.md\:mt-8\/12{margin-top:66.666667%}.md\:mr-8\/12{margin-right:66.666667%}.md\:mb-8\/12{margin-bottom:66.666667%}.md\:ml-8\/12{margin-left:66.666667%}.md\:mt-9\/12{margin-top:75%}.md\:mr-9\/12{margin-right:75%}.md\:mb-9\/12{margin-bottom:75%}.md\:ml-9\/12{margin-left:75%}.md\:mt-10\/12{margin-top:83.333333%}.md\:mr-10\/12{margin-right:83.333333%}.md\:mb-10\/12{margin-bottom:83.333333%}.md\:ml-10\/12{margin-left:83.333333%}.md\:mt-11\/12{margin-top:91.666667%}.md\:mr-11\/12{margin-right:91.666667%}.md\:mb-11\/12{margin-bottom:91.666667%}.md\:ml-11\/12{margin-left:91.666667%}.md\:mt-full{margin-top:100%}.md\:mr-full{margin-right:100%}.md\:mb-full{margin-bottom:100%}.md\:ml-full{margin-left:100%}.md\:-mt-1{margin-top:-.25rem}.md\:-mr-1{margin-right:-.25rem}.md\:-mb-1{margin-bottom:-.25rem}.md\:-ml-1{margin-left:-.25rem}.md\:-mt-2{margin-top:-.5rem}.md\:-mr-2{margin-right:-.5rem}.md\:-mb-2{margin-bottom:-.5rem}.md\:-ml-2{margin-left:-.5rem}.md\:-mt-3{margin-top:-.75rem}.md\:-mr-3{margin-right:-.75rem}.md\:-mb-3{margin-bottom:-.75rem}.md\:-ml-3{margin-left:-.75rem}.md\:-mt-4{margin-top:-1rem}.md\:-mr-4{margin-right:-1rem}.md\:-mb-4{margin-bottom:-1rem}.md\:-ml-4{margin-left:-1rem}.md\:-mt-5{margin-top:-1.25rem}.md\:-mr-5{margin-right:-1.25rem}.md\:-mb-5{margin-bottom:-1.25rem}.md\:-ml-5{margin-left:-1.25rem}.md\:-mt-6{margin-top:-1.5rem}.md\:-mr-6{margin-right:-1.5rem}.md\:-mb-6{margin-bottom:-1.5rem}.md\:-ml-6{margin-left:-1.5rem}.md\:-mt-7{margin-top:-1.75rem}.md\:-mr-7{margin-right:-1.75rem}.md\:-mb-7{margin-bottom:-1.75rem}.md\:-ml-7{margin-left:-1.75rem}.md\:-mt-8{margin-top:-2rem}.md\:-mr-8{margin-right:-2rem}.md\:-mb-8{margin-bottom:-2rem}.md\:-ml-8{margin-left:-2rem}.md\:-mt-9{margin-top:-2.25rem}.md\:-mr-9{margin-right:-2.25rem}.md\:-mb-9{margin-bottom:-2.25rem}.md\:-ml-9{margin-left:-2.25rem}.md\:-mt-10{margin-top:-2.5rem}.md\:-mr-10{margin-right:-2.5rem}.md\:-mb-10{margin-bottom:-2.5rem}.md\:-ml-10{margin-left:-2.5rem}.md\:-mt-11{margin-top:-2.75rem}.md\:-mr-11{margin-right:-2.75rem}.md\:-mb-11{margin-bottom:-2.75rem}.md\:-ml-11{margin-left:-2.75rem}.md\:-mt-12{margin-top:-3rem}.md\:-mr-12{margin-right:-3rem}.md\:-mb-12{margin-bottom:-3rem}.md\:-ml-12{margin-left:-3rem}.md\:-mt-13{margin-top:-3.25rem}.md\:-mr-13{margin-right:-3.25rem}.md\:-mb-13{margin-bottom:-3.25rem}.md\:-ml-13{margin-left:-3.25rem}.md\:-mt-14{margin-top:-3.5rem}.md\:-mr-14{margin-right:-3.5rem}.md\:-mb-14{margin-bottom:-3.5rem}.md\:-ml-14{margin-left:-3.5rem}.md\:-mt-15{margin-top:-3.75rem}.md\:-mr-15{margin-right:-3.75rem}.md\:-mb-15{margin-bottom:-3.75rem}.md\:-ml-15{margin-left:-3.75rem}.md\:-mt-16{margin-top:-4rem}.md\:-mr-16{margin-right:-4rem}.md\:-mb-16{margin-bottom:-4rem}.md\:-ml-16{margin-left:-4rem}.md\:-mt-20{margin-top:-5rem}.md\:-mr-20{margin-right:-5rem}.md\:-mb-20{margin-bottom:-5rem}.md\:-ml-20{margin-left:-5rem}.md\:-mt-24{margin-top:-6rem}.md\:-mr-24{margin-right:-6rem}.md\:-mb-24{margin-bottom:-6rem}.md\:-ml-24{margin-left:-6rem}.md\:-mt-28{margin-top:-7rem}.md\:-mr-28{margin-right:-7rem}.md\:-mb-28{margin-bottom:-7rem}.md\:-ml-28{margin-left:-7rem}.md\:-mt-32{margin-top:-8rem}.md\:-mr-32{margin-right:-8rem}.md\:-mb-32{margin-bottom:-8rem}.md\:-ml-32{margin-left:-8rem}.md\:-mt-36{margin-top:-9rem}.md\:-mr-36{margin-right:-9rem}.md\:-mb-36{margin-bottom:-9rem}.md\:-ml-36{margin-left:-9rem}.md\:-mt-40{margin-top:-10rem}.md\:-mr-40{margin-right:-10rem}.md\:-mb-40{margin-bottom:-10rem}.md\:-ml-40{margin-left:-10rem}.md\:-mt-44{margin-top:-11rem}.md\:-mr-44{margin-right:-11rem}.md\:-mb-44{margin-bottom:-11rem}.md\:-ml-44{margin-left:-11rem}.md\:-mt-48{margin-top:-12rem}.md\:-mr-48{margin-right:-12rem}.md\:-mb-48{margin-bottom:-12rem}.md\:-ml-48{margin-left:-12rem}.md\:-mt-52{margin-top:-13rem}.md\:-mr-52{margin-right:-13rem}.md\:-mb-52{margin-bottom:-13rem}.md\:-ml-52{margin-left:-13rem}.md\:-mt-56{margin-top:-14rem}.md\:-mr-56{margin-right:-14rem}.md\:-mb-56{margin-bottom:-14rem}.md\:-ml-56{margin-left:-14rem}.md\:-mt-60{margin-top:-15rem}.md\:-mr-60{margin-right:-15rem}.md\:-mb-60{margin-bottom:-15rem}.md\:-ml-60{margin-left:-15rem}.md\:-mt-64{margin-top:-16rem}.md\:-mr-64{margin-right:-16rem}.md\:-mb-64{margin-bottom:-16rem}.md\:-ml-64{margin-left:-16rem}.md\:-mt-72{margin-top:-18rem}.md\:-mr-72{margin-right:-18rem}.md\:-mb-72{margin-bottom:-18rem}.md\:-ml-72{margin-left:-18rem}.md\:-mt-80{margin-top:-20rem}.md\:-mr-80{margin-right:-20rem}.md\:-mb-80{margin-bottom:-20rem}.md\:-ml-80{margin-left:-20rem}.md\:-mt-96{margin-top:-24rem}.md\:-mr-96{margin-right:-24rem}.md\:-mb-96{margin-bottom:-24rem}.md\:-ml-96{margin-left:-24rem}.md\:-mt-px{margin-top:-1px}.md\:-mr-px{margin-right:-1px}.md\:-mb-px{margin-bottom:-1px}.md\:-ml-px{margin-left:-1px}.md\:-mt-0\.5{margin-top:-.125rem}.md\:-mr-0\.5{margin-right:-.125rem}.md\:-mb-0\.5{margin-bottom:-.125rem}.md\:-ml-0\.5{margin-left:-.125rem}.md\:-mt-1\.5{margin-top:-.375rem}.md\:-mr-1\.5{margin-right:-.375rem}.md\:-mb-1\.5{margin-bottom:-.375rem}.md\:-ml-1\.5{margin-left:-.375rem}.md\:-mt-2\.5{margin-top:-.625rem}.md\:-mr-2\.5{margin-right:-.625rem}.md\:-mb-2\.5{margin-bottom:-.625rem}.md\:-ml-2\.5{margin-left:-.625rem}.md\:-mt-3\.5{margin-top:-.875rem}.md\:-mr-3\.5{margin-right:-.875rem}.md\:-mb-3\.5{margin-bottom:-.875rem}.md\:-ml-3\.5{margin-left:-.875rem}.md\:-mt-1\/2{margin-top:-50%}.md\:-mr-1\/2{margin-right:-50%}.md\:-mb-1\/2{margin-bottom:-50%}.md\:-ml-1\/2{margin-left:-50%}.md\:-mt-1\/3{margin-top:-33.33333%}.md\:-mr-1\/3{margin-right:-33.33333%}.md\:-mb-1\/3{margin-bottom:-33.33333%}.md\:-ml-1\/3{margin-left:-33.33333%}.md\:-mt-2\/3{margin-top:-66.66667%}.md\:-mr-2\/3{margin-right:-66.66667%}.md\:-mb-2\/3{margin-bottom:-66.66667%}.md\:-ml-2\/3{margin-left:-66.66667%}.md\:-mt-1\/4{margin-top:-25%}.md\:-mr-1\/4{margin-right:-25%}.md\:-mb-1\/4{margin-bottom:-25%}.md\:-ml-1\/4{margin-left:-25%}.md\:-mt-2\/4{margin-top:-50%}.md\:-mr-2\/4{margin-right:-50%}.md\:-mb-2\/4{margin-bottom:-50%}.md\:-ml-2\/4{margin-left:-50%}.md\:-mt-3\/4{margin-top:-75%}.md\:-mr-3\/4{margin-right:-75%}.md\:-mb-3\/4{margin-bottom:-75%}.md\:-ml-3\/4{margin-left:-75%}.md\:-mt-1\/5{margin-top:-20%}.md\:-mr-1\/5{margin-right:-20%}.md\:-mb-1\/5{margin-bottom:-20%}.md\:-ml-1\/5{margin-left:-20%}.md\:-mt-2\/5{margin-top:-40%}.md\:-mr-2\/5{margin-right:-40%}.md\:-mb-2\/5{margin-bottom:-40%}.md\:-ml-2\/5{margin-left:-40%}.md\:-mt-3\/5{margin-top:-60%}.md\:-mr-3\/5{margin-right:-60%}.md\:-mb-3\/5{margin-bottom:-60%}.md\:-ml-3\/5{margin-left:-60%}.md\:-mt-4\/5{margin-top:-80%}.md\:-mr-4\/5{margin-right:-80%}.md\:-mb-4\/5{margin-bottom:-80%}.md\:-ml-4\/5{margin-left:-80%}.md\:-mt-1\/6{margin-top:-16.66667%}.md\:-mr-1\/6{margin-right:-16.66667%}.md\:-mb-1\/6{margin-bottom:-16.66667%}.md\:-ml-1\/6{margin-left:-16.66667%}.md\:-mt-2\/6{margin-top:-33.33333%}.md\:-mr-2\/6{margin-right:-33.33333%}.md\:-mb-2\/6{margin-bottom:-33.33333%}.md\:-ml-2\/6{margin-left:-33.33333%}.md\:-mt-3\/6{margin-top:-50%}.md\:-mr-3\/6{margin-right:-50%}.md\:-mb-3\/6{margin-bottom:-50%}.md\:-ml-3\/6{margin-left:-50%}.md\:-mt-4\/6{margin-top:-66.66667%}.md\:-mr-4\/6{margin-right:-66.66667%}.md\:-mb-4\/6{margin-bottom:-66.66667%}.md\:-ml-4\/6{margin-left:-66.66667%}.md\:-mt-5\/6{margin-top:-83.33333%}.md\:-mr-5\/6{margin-right:-83.33333%}.md\:-mb-5\/6{margin-bottom:-83.33333%}.md\:-ml-5\/6{margin-left:-83.33333%}.md\:-mt-1\/12{margin-top:-8.33333%}.md\:-mr-1\/12{margin-right:-8.33333%}.md\:-mb-1\/12{margin-bottom:-8.33333%}.md\:-ml-1\/12{margin-left:-8.33333%}.md\:-mt-2\/12{margin-top:-16.66667%}.md\:-mr-2\/12{margin-right:-16.66667%}.md\:-mb-2\/12{margin-bottom:-16.66667%}.md\:-ml-2\/12{margin-left:-16.66667%}.md\:-mt-3\/12{margin-top:-25%}.md\:-mr-3\/12{margin-right:-25%}.md\:-mb-3\/12{margin-bottom:-25%}.md\:-ml-3\/12{margin-left:-25%}.md\:-mt-4\/12{margin-top:-33.33333%}.md\:-mr-4\/12{margin-right:-33.33333%}.md\:-mb-4\/12{margin-bottom:-33.33333%}.md\:-ml-4\/12{margin-left:-33.33333%}.md\:-mt-5\/12{margin-top:-41.66667%}.md\:-mr-5\/12{margin-right:-41.66667%}.md\:-mb-5\/12{margin-bottom:-41.66667%}.md\:-ml-5\/12{margin-left:-41.66667%}.md\:-mt-6\/12{margin-top:-50%}.md\:-mr-6\/12{margin-right:-50%}.md\:-mb-6\/12{margin-bottom:-50%}.md\:-ml-6\/12{margin-left:-50%}.md\:-mt-7\/12{margin-top:-58.33333%}.md\:-mr-7\/12{margin-right:-58.33333%}.md\:-mb-7\/12{margin-bottom:-58.33333%}.md\:-ml-7\/12{margin-left:-58.33333%}.md\:-mt-8\/12{margin-top:-66.66667%}.md\:-mr-8\/12{margin-right:-66.66667%}.md\:-mb-8\/12{margin-bottom:-66.66667%}.md\:-ml-8\/12{margin-left:-66.66667%}.md\:-mt-9\/12{margin-top:-75%}.md\:-mr-9\/12{margin-right:-75%}.md\:-mb-9\/12{margin-bottom:-75%}.md\:-ml-9\/12{margin-left:-75%}.md\:-mt-10\/12{margin-top:-83.33333%}.md\:-mr-10\/12{margin-right:-83.33333%}.md\:-mb-10\/12{margin-bottom:-83.33333%}.md\:-ml-10\/12{margin-left:-83.33333%}.md\:-mt-11\/12{margin-top:-91.66667%}.md\:-mr-11\/12{margin-right:-91.66667%}.md\:-mb-11\/12{margin-bottom:-91.66667%}.md\:-ml-11\/12{margin-left:-91.66667%}.md\:-mt-full{margin-top:-100%}.md\:-mr-full{margin-right:-100%}.md\:-mb-full{margin-bottom:-100%}.md\:-ml-full{margin-left:-100%}.md\:max-h-0{max-height:0}.md\:max-h-1{max-height:.25rem}.md\:max-h-2{max-height:.5rem}.md\:max-h-3{max-height:.75rem}.md\:max-h-4{max-height:1rem}.md\:max-h-5{max-height:1.25rem}.md\:max-h-6{max-height:1.5rem}.md\:max-h-7{max-height:1.75rem}.md\:max-h-8{max-height:2rem}.md\:max-h-9{max-height:2.25rem}.md\:max-h-10{max-height:2.5rem}.md\:max-h-11{max-height:2.75rem}.md\:max-h-12{max-height:3rem}.md\:max-h-13{max-height:3.25rem}.md\:max-h-14{max-height:3.5rem}.md\:max-h-15{max-height:3.75rem}.md\:max-h-16{max-height:4rem}.md\:max-h-20{max-height:5rem}.md\:max-h-24{max-height:6rem}.md\:max-h-28{max-height:7rem}.md\:max-h-32{max-height:8rem}.md\:max-h-36{max-height:9rem}.md\:max-h-40{max-height:10rem}.md\:max-h-44{max-height:11rem}.md\:max-h-48{max-height:12rem}.md\:max-h-52{max-height:13rem}.md\:max-h-56{max-height:14rem}.md\:max-h-60{max-height:15rem}.md\:max-h-64{max-height:16rem}.md\:max-h-72{max-height:18rem}.md\:max-h-80{max-height:20rem}.md\:max-h-96{max-height:24rem}.md\:max-h-screen{max-height:100vh}.md\:max-h-px{max-height:1px}.md\:max-h-0\.5{max-height:.125rem}.md\:max-h-1\.5{max-height:.375rem}.md\:max-h-2\.5{max-height:.625rem}.md\:max-h-3\.5{max-height:.875rem}.md\:max-h-1\/2{max-height:50%}.md\:max-h-1\/3{max-height:33.333333%}.md\:max-h-2\/3{max-height:66.666667%}.md\:max-h-1\/4{max-height:25%}.md\:max-h-2\/4{max-height:50%}.md\:max-h-3\/4{max-height:75%}.md\:max-h-1\/5{max-height:20%}.md\:max-h-2\/5{max-height:40%}.md\:max-h-3\/5{max-height:60%}.md\:max-h-4\/5{max-height:80%}.md\:max-h-1\/6{max-height:16.666667%}.md\:max-h-2\/6{max-height:33.333333%}.md\:max-h-3\/6{max-height:50%}.md\:max-h-4\/6{max-height:66.666667%}.md\:max-h-5\/6{max-height:83.333333%}.md\:max-h-1\/12{max-height:8.333333%}.md\:max-h-2\/12{max-height:16.666667%}.md\:max-h-3\/12{max-height:25%}.md\:max-h-4\/12{max-height:33.333333%}.md\:max-h-5\/12{max-height:41.666667%}.md\:max-h-6\/12{max-height:50%}.md\:max-h-7\/12{max-height:58.333333%}.md\:max-h-8\/12{max-height:66.666667%}.md\:max-h-9\/12{max-height:75%}.md\:max-h-10\/12{max-height:83.333333%}.md\:max-h-11\/12{max-height:91.666667%}.md\:max-h-full{max-height:100%}.md\:max-w-0{max-width:0}.md\:max-w-none{max-width:none}.md\:max-w-xs{max-width:20rem}.md\:max-w-sm{max-width:24rem}.md\:max-w-md{max-width:28rem}.md\:max-w-lg{max-width:32rem}.md\:max-w-xl{max-width:36rem}.md\:max-w-2xl{max-width:42rem}.md\:max-w-3xl{max-width:48rem}.md\:max-w-4xl{max-width:56rem}.md\:max-w-5xl{max-width:64rem}.md\:max-w-6xl{max-width:72rem}.md\:max-w-7xl{max-width:80rem}.md\:max-w-full{max-width:100%}.md\:max-w-min-content{max-width:-webkit-min-content;max-width:-moz-min-content;max-width:min-content}.md\:max-w-max-content{max-width:-webkit-max-content;max-width:-moz-max-content;max-width:max-content}.md\:max-w-prose{max-width:65ch}.md\:max-w-screen-sm{max-width:640px}.md\:max-w-screen-md{max-width:768px}.md\:max-w-screen-lg{max-width:1024px}.md\:max-w-screen-xl{max-width:1280px}.md\:min-h-0{min-height:0}.md\:min-h-full{min-height:100%}.md\:min-h-screen{min-height:100vh}.md\:min-w-0{min-width:0}.md\:min-w-full{min-width:100%}.md\:min-w-min-content{min-width:-webkit-min-content;min-width:-moz-min-content;min-width:min-content}.md\:min-w-max-content{min-width:-webkit-max-content;min-width:-moz-max-content;min-width:max-content}.md\:object-contain{-o-object-fit:contain;object-fit:contain}.md\:object-cover{-o-object-fit:cover;object-fit:cover}.md\:object-fill{-o-object-fit:fill;object-fit:fill}.md\:object-none{-o-object-fit:none;object-fit:none}.md\:object-scale-down{-o-object-fit:scale-down;object-fit:scale-down}.md\:object-bottom{-o-object-position:bottom;object-position:bottom}.md\:object-center{-o-object-position:center;object-position:center}.md\:object-left{-o-object-position:left;object-position:left}.md\:object-left-bottom{-o-object-position:left bottom;object-position:left bottom}.md\:object-left-top{-o-object-position:left top;object-position:left top}.md\:object-right{-o-object-position:right;object-position:right}.md\:object-right-bottom{-o-object-position:right bottom;object-position:right bottom}.md\:object-right-top{-o-object-position:right top;object-position:right top}.md\:object-top{-o-object-position:top;object-position:top}.md\:opacity-0{opacity:0}.md\:opacity-25{opacity:.25}.md\:opacity-50{opacity:.5}.md\:opacity-75{opacity:.75}.md\:opacity-100{opacity:1}.md\:hover\:opacity-0:hover{opacity:0}.md\:hover\:opacity-25:hover{opacity:.25}.md\:hover\:opacity-50:hover{opacity:.5}.md\:hover\:opacity-75:hover{opacity:.75}.md\:hover\:opacity-100:hover{opacity:1}.md\:focus\:opacity-0:focus{opacity:0}.md\:focus\:opacity-25:focus{opacity:.25}.md\:focus\:opacity-50:focus{opacity:.5}.md\:focus\:opacity-75:focus{opacity:.75}.md\:focus\:opacity-100:focus{opacity:1}.md\:outline-none{outline:0}.md\:focus\:outline-none:focus{outline:0}.md\:overflow-auto{overflow:auto}.md\:overflow-hidden{overflow:hidden}.md\:overflow-visible{overflow:visible}.md\:overflow-scroll{overflow:scroll}.md\:overflow-x-auto{overflow-x:auto}.md\:overflow-y-auto{overflow-y:auto}.md\:overflow-x-hidden{overflow-x:hidden}.md\:overflow-y-hidden{overflow-y:hidden}.md\:overflow-x-visible{overflow-x:visible}.md\:overflow-y-visible{overflow-y:visible}.md\:overflow-x-scroll{overflow-x:scroll}.md\:overflow-y-scroll{overflow-y:scroll}.md\:scrolling-touch{-webkit-overflow-scrolling:touch}.md\:scrolling-auto{-webkit-overflow-scrolling:auto}.md\:p-0{padding:0}.md\:p-1{padding:.25rem}.md\:p-2{padding:.5rem}.md\:p-3{padding:.75rem}.md\:p-4{padding:1rem}.md\:p-5{padding:1.25rem}.md\:p-6{padding:1.5rem}.md\:p-7{padding:1.75rem}.md\:p-8{padding:2rem}.md\:p-9{padding:2.25rem}.md\:p-10{padding:2.5rem}.md\:p-11{padding:2.75rem}.md\:p-12{padding:3rem}.md\:p-13{padding:3.25rem}.md\:p-14{padding:3.5rem}.md\:p-15{padding:3.75rem}.md\:p-16{padding:4rem}.md\:p-20{padding:5rem}.md\:p-24{padding:6rem}.md\:p-28{padding:7rem}.md\:p-32{padding:8rem}.md\:p-36{padding:9rem}.md\:p-40{padding:10rem}.md\:p-44{padding:11rem}.md\:p-48{padding:12rem}.md\:p-52{padding:13rem}.md\:p-56{padding:14rem}.md\:p-60{padding:15rem}.md\:p-64{padding:16rem}.md\:p-72{padding:18rem}.md\:p-80{padding:20rem}.md\:p-96{padding:24rem}.md\:p-px{padding:1px}.md\:p-0\.5{padding:.125rem}.md\:p-1\.5{padding:.375rem}.md\:p-2\.5{padding:.625rem}.md\:p-3\.5{padding:.875rem}.md\:p-1\/2{padding:50%}.md\:p-1\/3{padding:33.333333%}.md\:p-2\/3{padding:66.666667%}.md\:p-1\/4{padding:25%}.md\:p-2\/4{padding:50%}.md\:p-3\/4{padding:75%}.md\:p-1\/5{padding:20%}.md\:p-2\/5{padding:40%}.md\:p-3\/5{padding:60%}.md\:p-4\/5{padding:80%}.md\:p-1\/6{padding:16.666667%}.md\:p-2\/6{padding:33.333333%}.md\:p-3\/6{padding:50%}.md\:p-4\/6{padding:66.666667%}.md\:p-5\/6{padding:83.333333%}.md\:p-1\/12{padding:8.333333%}.md\:p-2\/12{padding:16.666667%}.md\:p-3\/12{padding:25%}.md\:p-4\/12{padding:33.333333%}.md\:p-5\/12{padding:41.666667%}.md\:p-6\/12{padding:50%}.md\:p-7\/12{padding:58.333333%}.md\:p-8\/12{padding:66.666667%}.md\:p-9\/12{padding:75%}.md\:p-10\/12{padding:83.333333%}.md\:p-11\/12{padding:91.666667%}.md\:p-full{padding:100%}.md\:py-0{padding-top:0;padding-bottom:0}.md\:px-0{padding-left:0;padding-right:0}.md\:py-1{padding-top:.25rem;padding-bottom:.25rem}.md\:px-1{padding-left:.25rem;padding-right:.25rem}.md\:py-2{padding-top:.5rem;padding-bottom:.5rem}.md\:px-2{padding-left:.5rem;padding-right:.5rem}.md\:py-3{padding-top:.75rem;padding-bottom:.75rem}.md\:px-3{padding-left:.75rem;padding-right:.75rem}.md\:py-4{padding-top:1rem;padding-bottom:1rem}.md\:px-4{padding-left:1rem;padding-right:1rem}.md\:py-5{padding-top:1.25rem;padding-bottom:1.25rem}.md\:px-5{padding-left:1.25rem;padding-right:1.25rem}.md\:py-6{padding-top:1.5rem;padding-bottom:1.5rem}.md\:px-6{padding-left:1.5rem;padding-right:1.5rem}.md\:py-7{padding-top:1.75rem;padding-bottom:1.75rem}.md\:px-7{padding-left:1.75rem;padding-right:1.75rem}.md\:py-8{padding-top:2rem;padding-bottom:2rem}.md\:px-8{padding-left:2rem;padding-right:2rem}.md\:py-9{padding-top:2.25rem;padding-bottom:2.25rem}.md\:px-9{padding-left:2.25rem;padding-right:2.25rem}.md\:py-10{padding-top:2.5rem;padding-bottom:2.5rem}.md\:px-10{padding-left:2.5rem;padding-right:2.5rem}.md\:py-11{padding-top:2.75rem;padding-bottom:2.75rem}.md\:px-11{padding-left:2.75rem;padding-right:2.75rem}.md\:py-12{padding-top:3rem;padding-bottom:3rem}.md\:px-12{padding-left:3rem;padding-right:3rem}.md\:py-13{padding-top:3.25rem;padding-bottom:3.25rem}.md\:px-13{padding-left:3.25rem;padding-right:3.25rem}.md\:py-14{padding-top:3.5rem;padding-bottom:3.5rem}.md\:px-14{padding-left:3.5rem;padding-right:3.5rem}.md\:py-15{padding-top:3.75rem;padding-bottom:3.75rem}.md\:px-15{padding-left:3.75rem;padding-right:3.75rem}.md\:py-16{padding-top:4rem;padding-bottom:4rem}.md\:px-16{padding-left:4rem;padding-right:4rem}.md\:py-20{padding-top:5rem;padding-bottom:5rem}.md\:px-20{padding-left:5rem;padding-right:5rem}.md\:py-24{padding-top:6rem;padding-bottom:6rem}.md\:px-24{padding-left:6rem;padding-right:6rem}.md\:py-28{padding-top:7rem;padding-bottom:7rem}.md\:px-28{padding-left:7rem;padding-right:7rem}.md\:py-32{padding-top:8rem;padding-bottom:8rem}.md\:px-32{padding-left:8rem;padding-right:8rem}.md\:py-36{padding-top:9rem;padding-bottom:9rem}.md\:px-36{padding-left:9rem;padding-right:9rem}.md\:py-40{padding-top:10rem;padding-bottom:10rem}.md\:px-40{padding-left:10rem;padding-right:10rem}.md\:py-44{padding-top:11rem;padding-bottom:11rem}.md\:px-44{padding-left:11rem;padding-right:11rem}.md\:py-48{padding-top:12rem;padding-bottom:12rem}.md\:px-48{padding-left:12rem;padding-right:12rem}.md\:py-52{padding-top:13rem;padding-bottom:13rem}.md\:px-52{padding-left:13rem;padding-right:13rem}.md\:py-56{padding-top:14rem;padding-bottom:14rem}.md\:px-56{padding-left:14rem;padding-right:14rem}.md\:py-60{padding-top:15rem;padding-bottom:15rem}.md\:px-60{padding-left:15rem;padding-right:15rem}.md\:py-64{padding-top:16rem;padding-bottom:16rem}.md\:px-64{padding-left:16rem;padding-right:16rem}.md\:py-72{padding-top:18rem;padding-bottom:18rem}.md\:px-72{padding-left:18rem;padding-right:18rem}.md\:py-80{padding-top:20rem;padding-bottom:20rem}.md\:px-80{padding-left:20rem;padding-right:20rem}.md\:py-96{padding-top:24rem;padding-bottom:24rem}.md\:px-96{padding-left:24rem;padding-right:24rem}.md\:py-px{padding-top:1px;padding-bottom:1px}.md\:px-px{padding-left:1px;padding-right:1px}.md\:py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.md\:px-0\.5{padding-left:.125rem;padding-right:.125rem}.md\:py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.md\:px-1\.5{padding-left:.375rem;padding-right:.375rem}.md\:py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.md\:px-2\.5{padding-left:.625rem;padding-right:.625rem}.md\:py-3\.5{padding-top:.875rem;padding-bottom:.875rem}.md\:px-3\.5{padding-left:.875rem;padding-right:.875rem}.md\:py-1\/2{padding-top:50%;padding-bottom:50%}.md\:px-1\/2{padding-left:50%;padding-right:50%}.md\:py-1\/3{padding-top:33.333333%;padding-bottom:33.333333%}.md\:px-1\/3{padding-left:33.333333%;padding-right:33.333333%}.md\:py-2\/3{padding-top:66.666667%;padding-bottom:66.666667%}.md\:px-2\/3{padding-left:66.666667%;padding-right:66.666667%}.md\:py-1\/4{padding-top:25%;padding-bottom:25%}.md\:px-1\/4{padding-left:25%;padding-right:25%}.md\:py-2\/4{padding-top:50%;padding-bottom:50%}.md\:px-2\/4{padding-left:50%;padding-right:50%}.md\:py-3\/4{padding-top:75%;padding-bottom:75%}.md\:px-3\/4{padding-left:75%;padding-right:75%}.md\:py-1\/5{padding-top:20%;padding-bottom:20%}.md\:px-1\/5{padding-left:20%;padding-right:20%}.md\:py-2\/5{padding-top:40%;padding-bottom:40%}.md\:px-2\/5{padding-left:40%;padding-right:40%}.md\:py-3\/5{padding-top:60%;padding-bottom:60%}.md\:px-3\/5{padding-left:60%;padding-right:60%}.md\:py-4\/5{padding-top:80%;padding-bottom:80%}.md\:px-4\/5{padding-left:80%;padding-right:80%}.md\:py-1\/6{padding-top:16.666667%;padding-bottom:16.666667%}.md\:px-1\/6{padding-left:16.666667%;padding-right:16.666667%}.md\:py-2\/6{padding-top:33.333333%;padding-bottom:33.333333%}.md\:px-2\/6{padding-left:33.333333%;padding-right:33.333333%}.md\:py-3\/6{padding-top:50%;padding-bottom:50%}.md\:px-3\/6{padding-left:50%;padding-right:50%}.md\:py-4\/6{padding-top:66.666667%;padding-bottom:66.666667%}.md\:px-4\/6{padding-left:66.666667%;padding-right:66.666667%}.md\:py-5\/6{padding-top:83.333333%;padding-bottom:83.333333%}.md\:px-5\/6{padding-left:83.333333%;padding-right:83.333333%}.md\:py-1\/12{padding-top:8.333333%;padding-bottom:8.333333%}.md\:px-1\/12{padding-left:8.333333%;padding-right:8.333333%}.md\:py-2\/12{padding-top:16.666667%;padding-bottom:16.666667%}.md\:px-2\/12{padding-left:16.666667%;padding-right:16.666667%}.md\:py-3\/12{padding-top:25%;padding-bottom:25%}.md\:px-3\/12{padding-left:25%;padding-right:25%}.md\:py-4\/12{padding-top:33.333333%;padding-bottom:33.333333%}.md\:px-4\/12{padding-left:33.333333%;padding-right:33.333333%}.md\:py-5\/12{padding-top:41.666667%;padding-bottom:41.666667%}.md\:px-5\/12{padding-left:41.666667%;padding-right:41.666667%}.md\:py-6\/12{padding-top:50%;padding-bottom:50%}.md\:px-6\/12{padding-left:50%;padding-right:50%}.md\:py-7\/12{padding-top:58.333333%;padding-bottom:58.333333%}.md\:px-7\/12{padding-left:58.333333%;padding-right:58.333333%}.md\:py-8\/12{padding-top:66.666667%;padding-bottom:66.666667%}.md\:px-8\/12{padding-left:66.666667%;padding-right:66.666667%}.md\:py-9\/12{padding-top:75%;padding-bottom:75%}.md\:px-9\/12{padding-left:75%;padding-right:75%}.md\:py-10\/12{padding-top:83.333333%;padding-bottom:83.333333%}.md\:px-10\/12{padding-left:83.333333%;padding-right:83.333333%}.md\:py-11\/12{padding-top:91.666667%;padding-bottom:91.666667%}.md\:px-11\/12{padding-left:91.666667%;padding-right:91.666667%}.md\:py-full{padding-top:100%;padding-bottom:100%}.md\:px-full{padding-left:100%;padding-right:100%}.md\:pt-0{padding-top:0}.md\:pr-0{padding-right:0}.md\:pb-0{padding-bottom:0}.md\:pl-0{padding-left:0}.md\:pt-1{padding-top:.25rem}.md\:pr-1{padding-right:.25rem}.md\:pb-1{padding-bottom:.25rem}.md\:pl-1{padding-left:.25rem}.md\:pt-2{padding-top:.5rem}.md\:pr-2{padding-right:.5rem}.md\:pb-2{padding-bottom:.5rem}.md\:pl-2{padding-left:.5rem}.md\:pt-3{padding-top:.75rem}.md\:pr-3{padding-right:.75rem}.md\:pb-3{padding-bottom:.75rem}.md\:pl-3{padding-left:.75rem}.md\:pt-4{padding-top:1rem}.md\:pr-4{padding-right:1rem}.md\:pb-4{padding-bottom:1rem}.md\:pl-4{padding-left:1rem}.md\:pt-5{padding-top:1.25rem}.md\:pr-5{padding-right:1.25rem}.md\:pb-5{padding-bottom:1.25rem}.md\:pl-5{padding-left:1.25rem}.md\:pt-6{padding-top:1.5rem}.md\:pr-6{padding-right:1.5rem}.md\:pb-6{padding-bottom:1.5rem}.md\:pl-6{padding-left:1.5rem}.md\:pt-7{padding-top:1.75rem}.md\:pr-7{padding-right:1.75rem}.md\:pb-7{padding-bottom:1.75rem}.md\:pl-7{padding-left:1.75rem}.md\:pt-8{padding-top:2rem}.md\:pr-8{padding-right:2rem}.md\:pb-8{padding-bottom:2rem}.md\:pl-8{padding-left:2rem}.md\:pt-9{padding-top:2.25rem}.md\:pr-9{padding-right:2.25rem}.md\:pb-9{padding-bottom:2.25rem}.md\:pl-9{padding-left:2.25rem}.md\:pt-10{padding-top:2.5rem}.md\:pr-10{padding-right:2.5rem}.md\:pb-10{padding-bottom:2.5rem}.md\:pl-10{padding-left:2.5rem}.md\:pt-11{padding-top:2.75rem}.md\:pr-11{padding-right:2.75rem}.md\:pb-11{padding-bottom:2.75rem}.md\:pl-11{padding-left:2.75rem}.md\:pt-12{padding-top:3rem}.md\:pr-12{padding-right:3rem}.md\:pb-12{padding-bottom:3rem}.md\:pl-12{padding-left:3rem}.md\:pt-13{padding-top:3.25rem}.md\:pr-13{padding-right:3.25rem}.md\:pb-13{padding-bottom:3.25rem}.md\:pl-13{padding-left:3.25rem}.md\:pt-14{padding-top:3.5rem}.md\:pr-14{padding-right:3.5rem}.md\:pb-14{padding-bottom:3.5rem}.md\:pl-14{padding-left:3.5rem}.md\:pt-15{padding-top:3.75rem}.md\:pr-15{padding-right:3.75rem}.md\:pb-15{padding-bottom:3.75rem}.md\:pl-15{padding-left:3.75rem}.md\:pt-16{padding-top:4rem}.md\:pr-16{padding-right:4rem}.md\:pb-16{padding-bottom:4rem}.md\:pl-16{padding-left:4rem}.md\:pt-20{padding-top:5rem}.md\:pr-20{padding-right:5rem}.md\:pb-20{padding-bottom:5rem}.md\:pl-20{padding-left:5rem}.md\:pt-24{padding-top:6rem}.md\:pr-24{padding-right:6rem}.md\:pb-24{padding-bottom:6rem}.md\:pl-24{padding-left:6rem}.md\:pt-28{padding-top:7rem}.md\:pr-28{padding-right:7rem}.md\:pb-28{padding-bottom:7rem}.md\:pl-28{padding-left:7rem}.md\:pt-32{padding-top:8rem}.md\:pr-32{padding-right:8rem}.md\:pb-32{padding-bottom:8rem}.md\:pl-32{padding-left:8rem}.md\:pt-36{padding-top:9rem}.md\:pr-36{padding-right:9rem}.md\:pb-36{padding-bottom:9rem}.md\:pl-36{padding-left:9rem}.md\:pt-40{padding-top:10rem}.md\:pr-40{padding-right:10rem}.md\:pb-40{padding-bottom:10rem}.md\:pl-40{padding-left:10rem}.md\:pt-44{padding-top:11rem}.md\:pr-44{padding-right:11rem}.md\:pb-44{padding-bottom:11rem}.md\:pl-44{padding-left:11rem}.md\:pt-48{padding-top:12rem}.md\:pr-48{padding-right:12rem}.md\:pb-48{padding-bottom:12rem}.md\:pl-48{padding-left:12rem}.md\:pt-52{padding-top:13rem}.md\:pr-52{padding-right:13rem}.md\:pb-52{padding-bottom:13rem}.md\:pl-52{padding-left:13rem}.md\:pt-56{padding-top:14rem}.md\:pr-56{padding-right:14rem}.md\:pb-56{padding-bottom:14rem}.md\:pl-56{padding-left:14rem}.md\:pt-60{padding-top:15rem}.md\:pr-60{padding-right:15rem}.md\:pb-60{padding-bottom:15rem}.md\:pl-60{padding-left:15rem}.md\:pt-64{padding-top:16rem}.md\:pr-64{padding-right:16rem}.md\:pb-64{padding-bottom:16rem}.md\:pl-64{padding-left:16rem}.md\:pt-72{padding-top:18rem}.md\:pr-72{padding-right:18rem}.md\:pb-72{padding-bottom:18rem}.md\:pl-72{padding-left:18rem}.md\:pt-80{padding-top:20rem}.md\:pr-80{padding-right:20rem}.md\:pb-80{padding-bottom:20rem}.md\:pl-80{padding-left:20rem}.md\:pt-96{padding-top:24rem}.md\:pr-96{padding-right:24rem}.md\:pb-96{padding-bottom:24rem}.md\:pl-96{padding-left:24rem}.md\:pt-px{padding-top:1px}.md\:pr-px{padding-right:1px}.md\:pb-px{padding-bottom:1px}.md\:pl-px{padding-left:1px}.md\:pt-0\.5{padding-top:.125rem}.md\:pr-0\.5{padding-right:.125rem}.md\:pb-0\.5{padding-bottom:.125rem}.md\:pl-0\.5{padding-left:.125rem}.md\:pt-1\.5{padding-top:.375rem}.md\:pr-1\.5{padding-right:.375rem}.md\:pb-1\.5{padding-bottom:.375rem}.md\:pl-1\.5{padding-left:.375rem}.md\:pt-2\.5{padding-top:.625rem}.md\:pr-2\.5{padding-right:.625rem}.md\:pb-2\.5{padding-bottom:.625rem}.md\:pl-2\.5{padding-left:.625rem}.md\:pt-3\.5{padding-top:.875rem}.md\:pr-3\.5{padding-right:.875rem}.md\:pb-3\.5{padding-bottom:.875rem}.md\:pl-3\.5{padding-left:.875rem}.md\:pt-1\/2{padding-top:50%}.md\:pr-1\/2{padding-right:50%}.md\:pb-1\/2{padding-bottom:50%}.md\:pl-1\/2{padding-left:50%}.md\:pt-1\/3{padding-top:33.333333%}.md\:pr-1\/3{padding-right:33.333333%}.md\:pb-1\/3{padding-bottom:33.333333%}.md\:pl-1\/3{padding-left:33.333333%}.md\:pt-2\/3{padding-top:66.666667%}.md\:pr-2\/3{padding-right:66.666667%}.md\:pb-2\/3{padding-bottom:66.666667%}.md\:pl-2\/3{padding-left:66.666667%}.md\:pt-1\/4{padding-top:25%}.md\:pr-1\/4{padding-right:25%}.md\:pb-1\/4{padding-bottom:25%}.md\:pl-1\/4{padding-left:25%}.md\:pt-2\/4{padding-top:50%}.md\:pr-2\/4{padding-right:50%}.md\:pb-2\/4{padding-bottom:50%}.md\:pl-2\/4{padding-left:50%}.md\:pt-3\/4{padding-top:75%}.md\:pr-3\/4{padding-right:75%}.md\:pb-3\/4{padding-bottom:75%}.md\:pl-3\/4{padding-left:75%}.md\:pt-1\/5{padding-top:20%}.md\:pr-1\/5{padding-right:20%}.md\:pb-1\/5{padding-bottom:20%}.md\:pl-1\/5{padding-left:20%}.md\:pt-2\/5{padding-top:40%}.md\:pr-2\/5{padding-right:40%}.md\:pb-2\/5{padding-bottom:40%}.md\:pl-2\/5{padding-left:40%}.md\:pt-3\/5{padding-top:60%}.md\:pr-3\/5{padding-right:60%}.md\:pb-3\/5{padding-bottom:60%}.md\:pl-3\/5{padding-left:60%}.md\:pt-4\/5{padding-top:80%}.md\:pr-4\/5{padding-right:80%}.md\:pb-4\/5{padding-bottom:80%}.md\:pl-4\/5{padding-left:80%}.md\:pt-1\/6{padding-top:16.666667%}.md\:pr-1\/6{padding-right:16.666667%}.md\:pb-1\/6{padding-bottom:16.666667%}.md\:pl-1\/6{padding-left:16.666667%}.md\:pt-2\/6{padding-top:33.333333%}.md\:pr-2\/6{padding-right:33.333333%}.md\:pb-2\/6{padding-bottom:33.333333%}.md\:pl-2\/6{padding-left:33.333333%}.md\:pt-3\/6{padding-top:50%}.md\:pr-3\/6{padding-right:50%}.md\:pb-3\/6{padding-bottom:50%}.md\:pl-3\/6{padding-left:50%}.md\:pt-4\/6{padding-top:66.666667%}.md\:pr-4\/6{padding-right:66.666667%}.md\:pb-4\/6{padding-bottom:66.666667%}.md\:pl-4\/6{padding-left:66.666667%}.md\:pt-5\/6{padding-top:83.333333%}.md\:pr-5\/6{padding-right:83.333333%}.md\:pb-5\/6{padding-bottom:83.333333%}.md\:pl-5\/6{padding-left:83.333333%}.md\:pt-1\/12{padding-top:8.333333%}.md\:pr-1\/12{padding-right:8.333333%}.md\:pb-1\/12{padding-bottom:8.333333%}.md\:pl-1\/12{padding-left:8.333333%}.md\:pt-2\/12{padding-top:16.666667%}.md\:pr-2\/12{padding-right:16.666667%}.md\:pb-2\/12{padding-bottom:16.666667%}.md\:pl-2\/12{padding-left:16.666667%}.md\:pt-3\/12{padding-top:25%}.md\:pr-3\/12{padding-right:25%}.md\:pb-3\/12{padding-bottom:25%}.md\:pl-3\/12{padding-left:25%}.md\:pt-4\/12{padding-top:33.333333%}.md\:pr-4\/12{padding-right:33.333333%}.md\:pb-4\/12{padding-bottom:33.333333%}.md\:pl-4\/12{padding-left:33.333333%}.md\:pt-5\/12{padding-top:41.666667%}.md\:pr-5\/12{padding-right:41.666667%}.md\:pb-5\/12{padding-bottom:41.666667%}.md\:pl-5\/12{padding-left:41.666667%}.md\:pt-6\/12{padding-top:50%}.md\:pr-6\/12{padding-right:50%}.md\:pb-6\/12{padding-bottom:50%}.md\:pl-6\/12{padding-left:50%}.md\:pt-7\/12{padding-top:58.333333%}.md\:pr-7\/12{padding-right:58.333333%}.md\:pb-7\/12{padding-bottom:58.333333%}.md\:pl-7\/12{padding-left:58.333333%}.md\:pt-8\/12{padding-top:66.666667%}.md\:pr-8\/12{padding-right:66.666667%}.md\:pb-8\/12{padding-bottom:66.666667%}.md\:pl-8\/12{padding-left:66.666667%}.md\:pt-9\/12{padding-top:75%}.md\:pr-9\/12{padding-right:75%}.md\:pb-9\/12{padding-bottom:75%}.md\:pl-9\/12{padding-left:75%}.md\:pt-10\/12{padding-top:83.333333%}.md\:pr-10\/12{padding-right:83.333333%}.md\:pb-10\/12{padding-bottom:83.333333%}.md\:pl-10\/12{padding-left:83.333333%}.md\:pt-11\/12{padding-top:91.666667%}.md\:pr-11\/12{padding-right:91.666667%}.md\:pb-11\/12{padding-bottom:91.666667%}.md\:pl-11\/12{padding-left:91.666667%}.md\:pt-full{padding-top:100%}.md\:pr-full{padding-right:100%}.md\:pb-full{padding-bottom:100%}.md\:pl-full{padding-left:100%}.md\:placeholder-transparent::-moz-placeholder{color:transparent}.md\:placeholder-transparent:-ms-input-placeholder{color:transparent}.md\:placeholder-transparent::-ms-input-placeholder{color:transparent}.md\:placeholder-transparent::placeholder{color:transparent}.md\:placeholder-white::-moz-placeholder{--placeholder-opacity:1;color:#fff;color:rgba(255,255,255,var(--placeholder-opacity))}.md\:placeholder-white:-ms-input-placeholder{--placeholder-opacity:1;color:#fff;color:rgba(255,255,255,var(--placeholder-opacity))}.md\:placeholder-white::-ms-input-placeholder{--placeholder-opacity:1;color:#fff;color:rgba(255,255,255,var(--placeholder-opacity))}.md\:placeholder-white::placeholder{--placeholder-opacity:1;color:#fff;color:rgba(255,255,255,var(--placeholder-opacity))}.md\:placeholder-black::-moz-placeholder{--placeholder-opacity:1;color:#000;color:rgba(0,0,0,var(--placeholder-opacity))}.md\:placeholder-black:-ms-input-placeholder{--placeholder-opacity:1;color:#000;color:rgba(0,0,0,var(--placeholder-opacity))}.md\:placeholder-black::-ms-input-placeholder{--placeholder-opacity:1;color:#000;color:rgba(0,0,0,var(--placeholder-opacity))}.md\:placeholder-black::placeholder{--placeholder-opacity:1;color:#000;color:rgba(0,0,0,var(--placeholder-opacity))}.md\:placeholder-gray-50::-moz-placeholder{--placeholder-opacity:1;color:#f9fafb;color:rgba(249,250,251,var(--placeholder-opacity))}.md\:placeholder-gray-50:-ms-input-placeholder{--placeholder-opacity:1;color:#f9fafb;color:rgba(249,250,251,var(--placeholder-opacity))}.md\:placeholder-gray-50::-ms-input-placeholder{--placeholder-opacity:1;color:#f9fafb;color:rgba(249,250,251,var(--placeholder-opacity))}.md\:placeholder-gray-50::placeholder{--placeholder-opacity:1;color:#f9fafb;color:rgba(249,250,251,var(--placeholder-opacity))}.md\:placeholder-gray-100::-moz-placeholder{--placeholder-opacity:1;color:#f4f5f7;color:rgba(244,245,247,var(--placeholder-opacity))}.md\:placeholder-gray-100:-ms-input-placeholder{--placeholder-opacity:1;color:#f4f5f7;color:rgba(244,245,247,var(--placeholder-opacity))}.md\:placeholder-gray-100::-ms-input-placeholder{--placeholder-opacity:1;color:#f4f5f7;color:rgba(244,245,247,var(--placeholder-opacity))}.md\:placeholder-gray-100::placeholder{--placeholder-opacity:1;color:#f4f5f7;color:rgba(244,245,247,var(--placeholder-opacity))}.md\:placeholder-gray-200::-moz-placeholder{--placeholder-opacity:1;color:#e5e7eb;color:rgba(229,231,235,var(--placeholder-opacity))}.md\:placeholder-gray-200:-ms-input-placeholder{--placeholder-opacity:1;color:#e5e7eb;color:rgba(229,231,235,var(--placeholder-opacity))}.md\:placeholder-gray-200::-ms-input-placeholder{--placeholder-opacity:1;color:#e5e7eb;color:rgba(229,231,235,var(--placeholder-opacity))}.md\:placeholder-gray-200::placeholder{--placeholder-opacity:1;color:#e5e7eb;color:rgba(229,231,235,var(--placeholder-opacity))}.md\:placeholder-gray-300::-moz-placeholder{--placeholder-opacity:1;color:#d2d6dc;color:rgba(210,214,220,var(--placeholder-opacity))}.md\:placeholder-gray-300:-ms-input-placeholder{--placeholder-opacity:1;color:#d2d6dc;color:rgba(210,214,220,var(--placeholder-opacity))}.md\:placeholder-gray-300::-ms-input-placeholder{--placeholder-opacity:1;color:#d2d6dc;color:rgba(210,214,220,var(--placeholder-opacity))}.md\:placeholder-gray-300::placeholder{--placeholder-opacity:1;color:#d2d6dc;color:rgba(210,214,220,var(--placeholder-opacity))}.md\:placeholder-gray-400::-moz-placeholder{--placeholder-opacity:1;color:#9fa6b2;color:rgba(159,166,178,var(--placeholder-opacity))}.md\:placeholder-gray-400:-ms-input-placeholder{--placeholder-opacity:1;color:#9fa6b2;color:rgba(159,166,178,var(--placeholder-opacity))}.md\:placeholder-gray-400::-ms-input-placeholder{--placeholder-opacity:1;color:#9fa6b2;color:rgba(159,166,178,var(--placeholder-opacity))}.md\:placeholder-gray-400::placeholder{--placeholder-opacity:1;color:#9fa6b2;color:rgba(159,166,178,var(--placeholder-opacity))}.md\:placeholder-gray-500::-moz-placeholder{--placeholder-opacity:1;color:#6b7280;color:rgba(107,114,128,var(--placeholder-opacity))}.md\:placeholder-gray-500:-ms-input-placeholder{--placeholder-opacity:1;color:#6b7280;color:rgba(107,114,128,var(--placeholder-opacity))}.md\:placeholder-gray-500::-ms-input-placeholder{--placeholder-opacity:1;color:#6b7280;color:rgba(107,114,128,var(--placeholder-opacity))}.md\:placeholder-gray-500::placeholder{--placeholder-opacity:1;color:#6b7280;color:rgba(107,114,128,var(--placeholder-opacity))}.md\:placeholder-gray-600::-moz-placeholder{--placeholder-opacity:1;color:#4b5563;color:rgba(75,85,99,var(--placeholder-opacity))}.md\:placeholder-gray-600:-ms-input-placeholder{--placeholder-opacity:1;color:#4b5563;color:rgba(75,85,99,var(--placeholder-opacity))}.md\:placeholder-gray-600::-ms-input-placeholder{--placeholder-opacity:1;color:#4b5563;color:rgba(75,85,99,var(--placeholder-opacity))}.md\:placeholder-gray-600::placeholder{--placeholder-opacity:1;color:#4b5563;color:rgba(75,85,99,var(--placeholder-opacity))}.md\:placeholder-gray-700::-moz-placeholder{--placeholder-opacity:1;color:#374151;color:rgba(55,65,81,var(--placeholder-opacity))}.md\:placeholder-gray-700:-ms-input-placeholder{--placeholder-opacity:1;color:#374151;color:rgba(55,65,81,var(--placeholder-opacity))}.md\:placeholder-gray-700::-ms-input-placeholder{--placeholder-opacity:1;color:#374151;color:rgba(55,65,81,var(--placeholder-opacity))}.md\:placeholder-gray-700::placeholder{--placeholder-opacity:1;color:#374151;color:rgba(55,65,81,var(--placeholder-opacity))}.md\:placeholder-gray-800::-moz-placeholder{--placeholder-opacity:1;color:#252f3f;color:rgba(37,47,63,var(--placeholder-opacity))}.md\:placeholder-gray-800:-ms-input-placeholder{--placeholder-opacity:1;color:#252f3f;color:rgba(37,47,63,var(--placeholder-opacity))}.md\:placeholder-gray-800::-ms-input-placeholder{--placeholder-opacity:1;color:#252f3f;color:rgba(37,47,63,var(--placeholder-opacity))}.md\:placeholder-gray-800::placeholder{--placeholder-opacity:1;color:#252f3f;color:rgba(37,47,63,var(--placeholder-opacity))}.md\:placeholder-gray-900::-moz-placeholder{--placeholder-opacity:1;color:#161e2e;color:rgba(22,30,46,var(--placeholder-opacity))}.md\:placeholder-gray-900:-ms-input-placeholder{--placeholder-opacity:1;color:#161e2e;color:rgba(22,30,46,var(--placeholder-opacity))}.md\:placeholder-gray-900::-ms-input-placeholder{--placeholder-opacity:1;color:#161e2e;color:rgba(22,30,46,var(--placeholder-opacity))}.md\:placeholder-gray-900::placeholder{--placeholder-opacity:1;color:#161e2e;color:rgba(22,30,46,var(--placeholder-opacity))}.md\:placeholder-cool-gray-50::-moz-placeholder{--placeholder-opacity:1;color:#f8fafc;color:rgba(248,250,252,var(--placeholder-opacity))}.md\:placeholder-cool-gray-50:-ms-input-placeholder{--placeholder-opacity:1;color:#f8fafc;color:rgba(248,250,252,var(--placeholder-opacity))}.md\:placeholder-cool-gray-50::-ms-input-placeholder{--placeholder-opacity:1;color:#f8fafc;color:rgba(248,250,252,var(--placeholder-opacity))}.md\:placeholder-cool-gray-50::placeholder{--placeholder-opacity:1;color:#f8fafc;color:rgba(248,250,252,var(--placeholder-opacity))}.md\:placeholder-cool-gray-100::-moz-placeholder{--placeholder-opacity:1;color:#f1f5f9;color:rgba(241,245,249,var(--placeholder-opacity))}.md\:placeholder-cool-gray-100:-ms-input-placeholder{--placeholder-opacity:1;color:#f1f5f9;color:rgba(241,245,249,var(--placeholder-opacity))}.md\:placeholder-cool-gray-100::-ms-input-placeholder{--placeholder-opacity:1;color:#f1f5f9;color:rgba(241,245,249,var(--placeholder-opacity))}.md\:placeholder-cool-gray-100::placeholder{--placeholder-opacity:1;color:#f1f5f9;color:rgba(241,245,249,var(--placeholder-opacity))}.md\:placeholder-cool-gray-200::-moz-placeholder{--placeholder-opacity:1;color:#e2e8f0;color:rgba(226,232,240,var(--placeholder-opacity))}.md\:placeholder-cool-gray-200:-ms-input-placeholder{--placeholder-opacity:1;color:#e2e8f0;color:rgba(226,232,240,var(--placeholder-opacity))}.md\:placeholder-cool-gray-200::-ms-input-placeholder{--placeholder-opacity:1;color:#e2e8f0;color:rgba(226,232,240,var(--placeholder-opacity))}.md\:placeholder-cool-gray-200::placeholder{--placeholder-opacity:1;color:#e2e8f0;color:rgba(226,232,240,var(--placeholder-opacity))}.md\:placeholder-cool-gray-300::-moz-placeholder{--placeholder-opacity:1;color:#cfd8e3;color:rgba(207,216,227,var(--placeholder-opacity))}.md\:placeholder-cool-gray-300:-ms-input-placeholder{--placeholder-opacity:1;color:#cfd8e3;color:rgba(207,216,227,var(--placeholder-opacity))}.md\:placeholder-cool-gray-300::-ms-input-placeholder{--placeholder-opacity:1;color:#cfd8e3;color:rgba(207,216,227,var(--placeholder-opacity))}.md\:placeholder-cool-gray-300::placeholder{--placeholder-opacity:1;color:#cfd8e3;color:rgba(207,216,227,var(--placeholder-opacity))}.md\:placeholder-cool-gray-400::-moz-placeholder{--placeholder-opacity:1;color:#97a6ba;color:rgba(151,166,186,var(--placeholder-opacity))}.md\:placeholder-cool-gray-400:-ms-input-placeholder{--placeholder-opacity:1;color:#97a6ba;color:rgba(151,166,186,var(--placeholder-opacity))}.md\:placeholder-cool-gray-400::-ms-input-placeholder{--placeholder-opacity:1;color:#97a6ba;color:rgba(151,166,186,var(--placeholder-opacity))}.md\:placeholder-cool-gray-400::placeholder{--placeholder-opacity:1;color:#97a6ba;color:rgba(151,166,186,var(--placeholder-opacity))}.md\:placeholder-cool-gray-500::-moz-placeholder{--placeholder-opacity:1;color:#64748b;color:rgba(100,116,139,var(--placeholder-opacity))}.md\:placeholder-cool-gray-500:-ms-input-placeholder{--placeholder-opacity:1;color:#64748b;color:rgba(100,116,139,var(--placeholder-opacity))}.md\:placeholder-cool-gray-500::-ms-input-placeholder{--placeholder-opacity:1;color:#64748b;color:rgba(100,116,139,var(--placeholder-opacity))}.md\:placeholder-cool-gray-500::placeholder{--placeholder-opacity:1;color:#64748b;color:rgba(100,116,139,var(--placeholder-opacity))}.md\:placeholder-cool-gray-600::-moz-placeholder{--placeholder-opacity:1;color:#475569;color:rgba(71,85,105,var(--placeholder-opacity))}.md\:placeholder-cool-gray-600:-ms-input-placeholder{--placeholder-opacity:1;color:#475569;color:rgba(71,85,105,var(--placeholder-opacity))}.md\:placeholder-cool-gray-600::-ms-input-placeholder{--placeholder-opacity:1;color:#475569;color:rgba(71,85,105,var(--placeholder-opacity))}.md\:placeholder-cool-gray-600::placeholder{--placeholder-opacity:1;color:#475569;color:rgba(71,85,105,var(--placeholder-opacity))}.md\:placeholder-cool-gray-700::-moz-placeholder{--placeholder-opacity:1;color:#364152;color:rgba(54,65,82,var(--placeholder-opacity))}.md\:placeholder-cool-gray-700:-ms-input-placeholder{--placeholder-opacity:1;color:#364152;color:rgba(54,65,82,var(--placeholder-opacity))}.md\:placeholder-cool-gray-700::-ms-input-placeholder{--placeholder-opacity:1;color:#364152;color:rgba(54,65,82,var(--placeholder-opacity))}.md\:placeholder-cool-gray-700::placeholder{--placeholder-opacity:1;color:#364152;color:rgba(54,65,82,var(--placeholder-opacity))}.md\:placeholder-cool-gray-800::-moz-placeholder{--placeholder-opacity:1;color:#27303f;color:rgba(39,48,63,var(--placeholder-opacity))}.md\:placeholder-cool-gray-800:-ms-input-placeholder{--placeholder-opacity:1;color:#27303f;color:rgba(39,48,63,var(--placeholder-opacity))}.md\:placeholder-cool-gray-800::-ms-input-placeholder{--placeholder-opacity:1;color:#27303f;color:rgba(39,48,63,var(--placeholder-opacity))}.md\:placeholder-cool-gray-800::placeholder{--placeholder-opacity:1;color:#27303f;color:rgba(39,48,63,var(--placeholder-opacity))}.md\:placeholder-cool-gray-900::-moz-placeholder{--placeholder-opacity:1;color:#1a202e;color:rgba(26,32,46,var(--placeholder-opacity))}.md\:placeholder-cool-gray-900:-ms-input-placeholder{--placeholder-opacity:1;color:#1a202e;color:rgba(26,32,46,var(--placeholder-opacity))}.md\:placeholder-cool-gray-900::-ms-input-placeholder{--placeholder-opacity:1;color:#1a202e;color:rgba(26,32,46,var(--placeholder-opacity))}.md\:placeholder-cool-gray-900::placeholder{--placeholder-opacity:1;color:#1a202e;color:rgba(26,32,46,var(--placeholder-opacity))}.md\:placeholder-red-50::-moz-placeholder{--placeholder-opacity:1;color:#fdf2f2;color:rgba(253,242,242,var(--placeholder-opacity))}.md\:placeholder-red-50:-ms-input-placeholder{--placeholder-opacity:1;color:#fdf2f2;color:rgba(253,242,242,var(--placeholder-opacity))}.md\:placeholder-red-50::-ms-input-placeholder{--placeholder-opacity:1;color:#fdf2f2;color:rgba(253,242,242,var(--placeholder-opacity))}.md\:placeholder-red-50::placeholder{--placeholder-opacity:1;color:#fdf2f2;color:rgba(253,242,242,var(--placeholder-opacity))}.md\:placeholder-red-100::-moz-placeholder{--placeholder-opacity:1;color:#fde8e8;color:rgba(253,232,232,var(--placeholder-opacity))}.md\:placeholder-red-100:-ms-input-placeholder{--placeholder-opacity:1;color:#fde8e8;color:rgba(253,232,232,var(--placeholder-opacity))}.md\:placeholder-red-100::-ms-input-placeholder{--placeholder-opacity:1;color:#fde8e8;color:rgba(253,232,232,var(--placeholder-opacity))}.md\:placeholder-red-100::placeholder{--placeholder-opacity:1;color:#fde8e8;color:rgba(253,232,232,var(--placeholder-opacity))}.md\:placeholder-red-200::-moz-placeholder{--placeholder-opacity:1;color:#fbd5d5;color:rgba(251,213,213,var(--placeholder-opacity))}.md\:placeholder-red-200:-ms-input-placeholder{--placeholder-opacity:1;color:#fbd5d5;color:rgba(251,213,213,var(--placeholder-opacity))}.md\:placeholder-red-200::-ms-input-placeholder{--placeholder-opacity:1;color:#fbd5d5;color:rgba(251,213,213,var(--placeholder-opacity))}.md\:placeholder-red-200::placeholder{--placeholder-opacity:1;color:#fbd5d5;color:rgba(251,213,213,var(--placeholder-opacity))}.md\:placeholder-red-300::-moz-placeholder{--placeholder-opacity:1;color:#f8b4b4;color:rgba(248,180,180,var(--placeholder-opacity))}.md\:placeholder-red-300:-ms-input-placeholder{--placeholder-opacity:1;color:#f8b4b4;color:rgba(248,180,180,var(--placeholder-opacity))}.md\:placeholder-red-300::-ms-input-placeholder{--placeholder-opacity:1;color:#f8b4b4;color:rgba(248,180,180,var(--placeholder-opacity))}.md\:placeholder-red-300::placeholder{--placeholder-opacity:1;color:#f8b4b4;color:rgba(248,180,180,var(--placeholder-opacity))}.md\:placeholder-red-400::-moz-placeholder{--placeholder-opacity:1;color:#f98080;color:rgba(249,128,128,var(--placeholder-opacity))}.md\:placeholder-red-400:-ms-input-placeholder{--placeholder-opacity:1;color:#f98080;color:rgba(249,128,128,var(--placeholder-opacity))}.md\:placeholder-red-400::-ms-input-placeholder{--placeholder-opacity:1;color:#f98080;color:rgba(249,128,128,var(--placeholder-opacity))}.md\:placeholder-red-400::placeholder{--placeholder-opacity:1;color:#f98080;color:rgba(249,128,128,var(--placeholder-opacity))}.md\:placeholder-red-500::-moz-placeholder{--placeholder-opacity:1;color:#f05252;color:rgba(240,82,82,var(--placeholder-opacity))}.md\:placeholder-red-500:-ms-input-placeholder{--placeholder-opacity:1;color:#f05252;color:rgba(240,82,82,var(--placeholder-opacity))}.md\:placeholder-red-500::-ms-input-placeholder{--placeholder-opacity:1;color:#f05252;color:rgba(240,82,82,var(--placeholder-opacity))}.md\:placeholder-red-500::placeholder{--placeholder-opacity:1;color:#f05252;color:rgba(240,82,82,var(--placeholder-opacity))}.md\:placeholder-red-600::-moz-placeholder{--placeholder-opacity:1;color:#e02424;color:rgba(224,36,36,var(--placeholder-opacity))}.md\:placeholder-red-600:-ms-input-placeholder{--placeholder-opacity:1;color:#e02424;color:rgba(224,36,36,var(--placeholder-opacity))}.md\:placeholder-red-600::-ms-input-placeholder{--placeholder-opacity:1;color:#e02424;color:rgba(224,36,36,var(--placeholder-opacity))}.md\:placeholder-red-600::placeholder{--placeholder-opacity:1;color:#e02424;color:rgba(224,36,36,var(--placeholder-opacity))}.md\:placeholder-red-700::-moz-placeholder{--placeholder-opacity:1;color:#c81e1e;color:rgba(200,30,30,var(--placeholder-opacity))}.md\:placeholder-red-700:-ms-input-placeholder{--placeholder-opacity:1;color:#c81e1e;color:rgba(200,30,30,var(--placeholder-opacity))}.md\:placeholder-red-700::-ms-input-placeholder{--placeholder-opacity:1;color:#c81e1e;color:rgba(200,30,30,var(--placeholder-opacity))}.md\:placeholder-red-700::placeholder{--placeholder-opacity:1;color:#c81e1e;color:rgba(200,30,30,var(--placeholder-opacity))}.md\:placeholder-red-800::-moz-placeholder{--placeholder-opacity:1;color:#9b1c1c;color:rgba(155,28,28,var(--placeholder-opacity))}.md\:placeholder-red-800:-ms-input-placeholder{--placeholder-opacity:1;color:#9b1c1c;color:rgba(155,28,28,var(--placeholder-opacity))}.md\:placeholder-red-800::-ms-input-placeholder{--placeholder-opacity:1;color:#9b1c1c;color:rgba(155,28,28,var(--placeholder-opacity))}.md\:placeholder-red-800::placeholder{--placeholder-opacity:1;color:#9b1c1c;color:rgba(155,28,28,var(--placeholder-opacity))}.md\:placeholder-red-900::-moz-placeholder{--placeholder-opacity:1;color:#771d1d;color:rgba(119,29,29,var(--placeholder-opacity))}.md\:placeholder-red-900:-ms-input-placeholder{--placeholder-opacity:1;color:#771d1d;color:rgba(119,29,29,var(--placeholder-opacity))}.md\:placeholder-red-900::-ms-input-placeholder{--placeholder-opacity:1;color:#771d1d;color:rgba(119,29,29,var(--placeholder-opacity))}.md\:placeholder-red-900::placeholder{--placeholder-opacity:1;color:#771d1d;color:rgba(119,29,29,var(--placeholder-opacity))}.md\:placeholder-orange-50::-moz-placeholder{--placeholder-opacity:1;color:#fff8f1;color:rgba(255,248,241,var(--placeholder-opacity))}.md\:placeholder-orange-50:-ms-input-placeholder{--placeholder-opacity:1;color:#fff8f1;color:rgba(255,248,241,var(--placeholder-opacity))}.md\:placeholder-orange-50::-ms-input-placeholder{--placeholder-opacity:1;color:#fff8f1;color:rgba(255,248,241,var(--placeholder-opacity))}.md\:placeholder-orange-50::placeholder{--placeholder-opacity:1;color:#fff8f1;color:rgba(255,248,241,var(--placeholder-opacity))}.md\:placeholder-orange-100::-moz-placeholder{--placeholder-opacity:1;color:#feecdc;color:rgba(254,236,220,var(--placeholder-opacity))}.md\:placeholder-orange-100:-ms-input-placeholder{--placeholder-opacity:1;color:#feecdc;color:rgba(254,236,220,var(--placeholder-opacity))}.md\:placeholder-orange-100::-ms-input-placeholder{--placeholder-opacity:1;color:#feecdc;color:rgba(254,236,220,var(--placeholder-opacity))}.md\:placeholder-orange-100::placeholder{--placeholder-opacity:1;color:#feecdc;color:rgba(254,236,220,var(--placeholder-opacity))}.md\:placeholder-orange-200::-moz-placeholder{--placeholder-opacity:1;color:#fcd9bd;color:rgba(252,217,189,var(--placeholder-opacity))}.md\:placeholder-orange-200:-ms-input-placeholder{--placeholder-opacity:1;color:#fcd9bd;color:rgba(252,217,189,var(--placeholder-opacity))}.md\:placeholder-orange-200::-ms-input-placeholder{--placeholder-opacity:1;color:#fcd9bd;color:rgba(252,217,189,var(--placeholder-opacity))}.md\:placeholder-orange-200::placeholder{--placeholder-opacity:1;color:#fcd9bd;color:rgba(252,217,189,var(--placeholder-opacity))}.md\:placeholder-orange-300::-moz-placeholder{--placeholder-opacity:1;color:#fdba8c;color:rgba(253,186,140,var(--placeholder-opacity))}.md\:placeholder-orange-300:-ms-input-placeholder{--placeholder-opacity:1;color:#fdba8c;color:rgba(253,186,140,var(--placeholder-opacity))}.md\:placeholder-orange-300::-ms-input-placeholder{--placeholder-opacity:1;color:#fdba8c;color:rgba(253,186,140,var(--placeholder-opacity))}.md\:placeholder-orange-300::placeholder{--placeholder-opacity:1;color:#fdba8c;color:rgba(253,186,140,var(--placeholder-opacity))}.md\:placeholder-orange-400::-moz-placeholder{--placeholder-opacity:1;color:#ff8a4c;color:rgba(255,138,76,var(--placeholder-opacity))}.md\:placeholder-orange-400:-ms-input-placeholder{--placeholder-opacity:1;color:#ff8a4c;color:rgba(255,138,76,var(--placeholder-opacity))}.md\:placeholder-orange-400::-ms-input-placeholder{--placeholder-opacity:1;color:#ff8a4c;color:rgba(255,138,76,var(--placeholder-opacity))}.md\:placeholder-orange-400::placeholder{--placeholder-opacity:1;color:#ff8a4c;color:rgba(255,138,76,var(--placeholder-opacity))}.md\:placeholder-orange-500::-moz-placeholder{--placeholder-opacity:1;color:#ff5a1f;color:rgba(255,90,31,var(--placeholder-opacity))}.md\:placeholder-orange-500:-ms-input-placeholder{--placeholder-opacity:1;color:#ff5a1f;color:rgba(255,90,31,var(--placeholder-opacity))}.md\:placeholder-orange-500::-ms-input-placeholder{--placeholder-opacity:1;color:#ff5a1f;color:rgba(255,90,31,var(--placeholder-opacity))}.md\:placeholder-orange-500::placeholder{--placeholder-opacity:1;color:#ff5a1f;color:rgba(255,90,31,var(--placeholder-opacity))}.md\:placeholder-orange-600::-moz-placeholder{--placeholder-opacity:1;color:#d03801;color:rgba(208,56,1,var(--placeholder-opacity))}.md\:placeholder-orange-600:-ms-input-placeholder{--placeholder-opacity:1;color:#d03801;color:rgba(208,56,1,var(--placeholder-opacity))}.md\:placeholder-orange-600::-ms-input-placeholder{--placeholder-opacity:1;color:#d03801;color:rgba(208,56,1,var(--placeholder-opacity))}.md\:placeholder-orange-600::placeholder{--placeholder-opacity:1;color:#d03801;color:rgba(208,56,1,var(--placeholder-opacity))}.md\:placeholder-orange-700::-moz-placeholder{--placeholder-opacity:1;color:#b43403;color:rgba(180,52,3,var(--placeholder-opacity))}.md\:placeholder-orange-700:-ms-input-placeholder{--placeholder-opacity:1;color:#b43403;color:rgba(180,52,3,var(--placeholder-opacity))}.md\:placeholder-orange-700::-ms-input-placeholder{--placeholder-opacity:1;color:#b43403;color:rgba(180,52,3,var(--placeholder-opacity))}.md\:placeholder-orange-700::placeholder{--placeholder-opacity:1;color:#b43403;color:rgba(180,52,3,var(--placeholder-opacity))}.md\:placeholder-orange-800::-moz-placeholder{--placeholder-opacity:1;color:#8a2c0d;color:rgba(138,44,13,var(--placeholder-opacity))}.md\:placeholder-orange-800:-ms-input-placeholder{--placeholder-opacity:1;color:#8a2c0d;color:rgba(138,44,13,var(--placeholder-opacity))}.md\:placeholder-orange-800::-ms-input-placeholder{--placeholder-opacity:1;color:#8a2c0d;color:rgba(138,44,13,var(--placeholder-opacity))}.md\:placeholder-orange-800::placeholder{--placeholder-opacity:1;color:#8a2c0d;color:rgba(138,44,13,var(--placeholder-opacity))}.md\:placeholder-orange-900::-moz-placeholder{--placeholder-opacity:1;color:#73230d;color:rgba(115,35,13,var(--placeholder-opacity))}.md\:placeholder-orange-900:-ms-input-placeholder{--placeholder-opacity:1;color:#73230d;color:rgba(115,35,13,var(--placeholder-opacity))}.md\:placeholder-orange-900::-ms-input-placeholder{--placeholder-opacity:1;color:#73230d;color:rgba(115,35,13,var(--placeholder-opacity))}.md\:placeholder-orange-900::placeholder{--placeholder-opacity:1;color:#73230d;color:rgba(115,35,13,var(--placeholder-opacity))}.md\:placeholder-yellow-50::-moz-placeholder{--placeholder-opacity:1;color:#fdfdea;color:rgba(253,253,234,var(--placeholder-opacity))}.md\:placeholder-yellow-50:-ms-input-placeholder{--placeholder-opacity:1;color:#fdfdea;color:rgba(253,253,234,var(--placeholder-opacity))}.md\:placeholder-yellow-50::-ms-input-placeholder{--placeholder-opacity:1;color:#fdfdea;color:rgba(253,253,234,var(--placeholder-opacity))}.md\:placeholder-yellow-50::placeholder{--placeholder-opacity:1;color:#fdfdea;color:rgba(253,253,234,var(--placeholder-opacity))}.md\:placeholder-yellow-100::-moz-placeholder{--placeholder-opacity:1;color:#fdf6b2;color:rgba(253,246,178,var(--placeholder-opacity))}.md\:placeholder-yellow-100:-ms-input-placeholder{--placeholder-opacity:1;color:#fdf6b2;color:rgba(253,246,178,var(--placeholder-opacity))}.md\:placeholder-yellow-100::-ms-input-placeholder{--placeholder-opacity:1;color:#fdf6b2;color:rgba(253,246,178,var(--placeholder-opacity))}.md\:placeholder-yellow-100::placeholder{--placeholder-opacity:1;color:#fdf6b2;color:rgba(253,246,178,var(--placeholder-opacity))}.md\:placeholder-yellow-200::-moz-placeholder{--placeholder-opacity:1;color:#fce96a;color:rgba(252,233,106,var(--placeholder-opacity))}.md\:placeholder-yellow-200:-ms-input-placeholder{--placeholder-opacity:1;color:#fce96a;color:rgba(252,233,106,var(--placeholder-opacity))}.md\:placeholder-yellow-200::-ms-input-placeholder{--placeholder-opacity:1;color:#fce96a;color:rgba(252,233,106,var(--placeholder-opacity))}.md\:placeholder-yellow-200::placeholder{--placeholder-opacity:1;color:#fce96a;color:rgba(252,233,106,var(--placeholder-opacity))}.md\:placeholder-yellow-300::-moz-placeholder{--placeholder-opacity:1;color:#faca15;color:rgba(250,202,21,var(--placeholder-opacity))}.md\:placeholder-yellow-300:-ms-input-placeholder{--placeholder-opacity:1;color:#faca15;color:rgba(250,202,21,var(--placeholder-opacity))}.md\:placeholder-yellow-300::-ms-input-placeholder{--placeholder-opacity:1;color:#faca15;color:rgba(250,202,21,var(--placeholder-opacity))}.md\:placeholder-yellow-300::placeholder{--placeholder-opacity:1;color:#faca15;color:rgba(250,202,21,var(--placeholder-opacity))}.md\:placeholder-yellow-400::-moz-placeholder{--placeholder-opacity:1;color:#e3a008;color:rgba(227,160,8,var(--placeholder-opacity))}.md\:placeholder-yellow-400:-ms-input-placeholder{--placeholder-opacity:1;color:#e3a008;color:rgba(227,160,8,var(--placeholder-opacity))}.md\:placeholder-yellow-400::-ms-input-placeholder{--placeholder-opacity:1;color:#e3a008;color:rgba(227,160,8,var(--placeholder-opacity))}.md\:placeholder-yellow-400::placeholder{--placeholder-opacity:1;color:#e3a008;color:rgba(227,160,8,var(--placeholder-opacity))}.md\:placeholder-yellow-500::-moz-placeholder{--placeholder-opacity:1;color:#c27803;color:rgba(194,120,3,var(--placeholder-opacity))}.md\:placeholder-yellow-500:-ms-input-placeholder{--placeholder-opacity:1;color:#c27803;color:rgba(194,120,3,var(--placeholder-opacity))}.md\:placeholder-yellow-500::-ms-input-placeholder{--placeholder-opacity:1;color:#c27803;color:rgba(194,120,3,var(--placeholder-opacity))}.md\:placeholder-yellow-500::placeholder{--placeholder-opacity:1;color:#c27803;color:rgba(194,120,3,var(--placeholder-opacity))}.md\:placeholder-yellow-600::-moz-placeholder{--placeholder-opacity:1;color:#9f580a;color:rgba(159,88,10,var(--placeholder-opacity))}.md\:placeholder-yellow-600:-ms-input-placeholder{--placeholder-opacity:1;color:#9f580a;color:rgba(159,88,10,var(--placeholder-opacity))}.md\:placeholder-yellow-600::-ms-input-placeholder{--placeholder-opacity:1;color:#9f580a;color:rgba(159,88,10,var(--placeholder-opacity))}.md\:placeholder-yellow-600::placeholder{--placeholder-opacity:1;color:#9f580a;color:rgba(159,88,10,var(--placeholder-opacity))}.md\:placeholder-yellow-700::-moz-placeholder{--placeholder-opacity:1;color:#8e4b10;color:rgba(142,75,16,var(--placeholder-opacity))}.md\:placeholder-yellow-700:-ms-input-placeholder{--placeholder-opacity:1;color:#8e4b10;color:rgba(142,75,16,var(--placeholder-opacity))}.md\:placeholder-yellow-700::-ms-input-placeholder{--placeholder-opacity:1;color:#8e4b10;color:rgba(142,75,16,var(--placeholder-opacity))}.md\:placeholder-yellow-700::placeholder{--placeholder-opacity:1;color:#8e4b10;color:rgba(142,75,16,var(--placeholder-opacity))}.md\:placeholder-yellow-800::-moz-placeholder{--placeholder-opacity:1;color:#723b13;color:rgba(114,59,19,var(--placeholder-opacity))}.md\:placeholder-yellow-800:-ms-input-placeholder{--placeholder-opacity:1;color:#723b13;color:rgba(114,59,19,var(--placeholder-opacity))}.md\:placeholder-yellow-800::-ms-input-placeholder{--placeholder-opacity:1;color:#723b13;color:rgba(114,59,19,var(--placeholder-opacity))}.md\:placeholder-yellow-800::placeholder{--placeholder-opacity:1;color:#723b13;color:rgba(114,59,19,var(--placeholder-opacity))}.md\:placeholder-yellow-900::-moz-placeholder{--placeholder-opacity:1;color:#633112;color:rgba(99,49,18,var(--placeholder-opacity))}.md\:placeholder-yellow-900:-ms-input-placeholder{--placeholder-opacity:1;color:#633112;color:rgba(99,49,18,var(--placeholder-opacity))}.md\:placeholder-yellow-900::-ms-input-placeholder{--placeholder-opacity:1;color:#633112;color:rgba(99,49,18,var(--placeholder-opacity))}.md\:placeholder-yellow-900::placeholder{--placeholder-opacity:1;color:#633112;color:rgba(99,49,18,var(--placeholder-opacity))}.md\:placeholder-green-50::-moz-placeholder{--placeholder-opacity:1;color:#f3faf7;color:rgba(243,250,247,var(--placeholder-opacity))}.md\:placeholder-green-50:-ms-input-placeholder{--placeholder-opacity:1;color:#f3faf7;color:rgba(243,250,247,var(--placeholder-opacity))}.md\:placeholder-green-50::-ms-input-placeholder{--placeholder-opacity:1;color:#f3faf7;color:rgba(243,250,247,var(--placeholder-opacity))}.md\:placeholder-green-50::placeholder{--placeholder-opacity:1;color:#f3faf7;color:rgba(243,250,247,var(--placeholder-opacity))}.md\:placeholder-green-100::-moz-placeholder{--placeholder-opacity:1;color:#def7ec;color:rgba(222,247,236,var(--placeholder-opacity))}.md\:placeholder-green-100:-ms-input-placeholder{--placeholder-opacity:1;color:#def7ec;color:rgba(222,247,236,var(--placeholder-opacity))}.md\:placeholder-green-100::-ms-input-placeholder{--placeholder-opacity:1;color:#def7ec;color:rgba(222,247,236,var(--placeholder-opacity))}.md\:placeholder-green-100::placeholder{--placeholder-opacity:1;color:#def7ec;color:rgba(222,247,236,var(--placeholder-opacity))}.md\:placeholder-green-200::-moz-placeholder{--placeholder-opacity:1;color:#bcf0da;color:rgba(188,240,218,var(--placeholder-opacity))}.md\:placeholder-green-200:-ms-input-placeholder{--placeholder-opacity:1;color:#bcf0da;color:rgba(188,240,218,var(--placeholder-opacity))}.md\:placeholder-green-200::-ms-input-placeholder{--placeholder-opacity:1;color:#bcf0da;color:rgba(188,240,218,var(--placeholder-opacity))}.md\:placeholder-green-200::placeholder{--placeholder-opacity:1;color:#bcf0da;color:rgba(188,240,218,var(--placeholder-opacity))}.md\:placeholder-green-300::-moz-placeholder{--placeholder-opacity:1;color:#84e1bc;color:rgba(132,225,188,var(--placeholder-opacity))}.md\:placeholder-green-300:-ms-input-placeholder{--placeholder-opacity:1;color:#84e1bc;color:rgba(132,225,188,var(--placeholder-opacity))}.md\:placeholder-green-300::-ms-input-placeholder{--placeholder-opacity:1;color:#84e1bc;color:rgba(132,225,188,var(--placeholder-opacity))}.md\:placeholder-green-300::placeholder{--placeholder-opacity:1;color:#84e1bc;color:rgba(132,225,188,var(--placeholder-opacity))}.md\:placeholder-green-400::-moz-placeholder{--placeholder-opacity:1;color:#31c48d;color:rgba(49,196,141,var(--placeholder-opacity))}.md\:placeholder-green-400:-ms-input-placeholder{--placeholder-opacity:1;color:#31c48d;color:rgba(49,196,141,var(--placeholder-opacity))}.md\:placeholder-green-400::-ms-input-placeholder{--placeholder-opacity:1;color:#31c48d;color:rgba(49,196,141,var(--placeholder-opacity))}.md\:placeholder-green-400::placeholder{--placeholder-opacity:1;color:#31c48d;color:rgba(49,196,141,var(--placeholder-opacity))}.md\:placeholder-green-500::-moz-placeholder{--placeholder-opacity:1;color:#0e9f6e;color:rgba(14,159,110,var(--placeholder-opacity))}.md\:placeholder-green-500:-ms-input-placeholder{--placeholder-opacity:1;color:#0e9f6e;color:rgba(14,159,110,var(--placeholder-opacity))}.md\:placeholder-green-500::-ms-input-placeholder{--placeholder-opacity:1;color:#0e9f6e;color:rgba(14,159,110,var(--placeholder-opacity))}.md\:placeholder-green-500::placeholder{--placeholder-opacity:1;color:#0e9f6e;color:rgba(14,159,110,var(--placeholder-opacity))}.md\:placeholder-green-600::-moz-placeholder{--placeholder-opacity:1;color:#057a55;color:rgba(5,122,85,var(--placeholder-opacity))}.md\:placeholder-green-600:-ms-input-placeholder{--placeholder-opacity:1;color:#057a55;color:rgba(5,122,85,var(--placeholder-opacity))}.md\:placeholder-green-600::-ms-input-placeholder{--placeholder-opacity:1;color:#057a55;color:rgba(5,122,85,var(--placeholder-opacity))}.md\:placeholder-green-600::placeholder{--placeholder-opacity:1;color:#057a55;color:rgba(5,122,85,var(--placeholder-opacity))}.md\:placeholder-green-700::-moz-placeholder{--placeholder-opacity:1;color:#046c4e;color:rgba(4,108,78,var(--placeholder-opacity))}.md\:placeholder-green-700:-ms-input-placeholder{--placeholder-opacity:1;color:#046c4e;color:rgba(4,108,78,var(--placeholder-opacity))}.md\:placeholder-green-700::-ms-input-placeholder{--placeholder-opacity:1;color:#046c4e;color:rgba(4,108,78,var(--placeholder-opacity))}.md\:placeholder-green-700::placeholder{--placeholder-opacity:1;color:#046c4e;color:rgba(4,108,78,var(--placeholder-opacity))}.md\:placeholder-green-800::-moz-placeholder{--placeholder-opacity:1;color:#03543f;color:rgba(3,84,63,var(--placeholder-opacity))}.md\:placeholder-green-800:-ms-input-placeholder{--placeholder-opacity:1;color:#03543f;color:rgba(3,84,63,var(--placeholder-opacity))}.md\:placeholder-green-800::-ms-input-placeholder{--placeholder-opacity:1;color:#03543f;color:rgba(3,84,63,var(--placeholder-opacity))}.md\:placeholder-green-800::placeholder{--placeholder-opacity:1;color:#03543f;color:rgba(3,84,63,var(--placeholder-opacity))}.md\:placeholder-green-900::-moz-placeholder{--placeholder-opacity:1;color:#014737;color:rgba(1,71,55,var(--placeholder-opacity))}.md\:placeholder-green-900:-ms-input-placeholder{--placeholder-opacity:1;color:#014737;color:rgba(1,71,55,var(--placeholder-opacity))}.md\:placeholder-green-900::-ms-input-placeholder{--placeholder-opacity:1;color:#014737;color:rgba(1,71,55,var(--placeholder-opacity))}.md\:placeholder-green-900::placeholder{--placeholder-opacity:1;color:#014737;color:rgba(1,71,55,var(--placeholder-opacity))}.md\:placeholder-teal-50::-moz-placeholder{--placeholder-opacity:1;color:#edfafa;color:rgba(237,250,250,var(--placeholder-opacity))}.md\:placeholder-teal-50:-ms-input-placeholder{--placeholder-opacity:1;color:#edfafa;color:rgba(237,250,250,var(--placeholder-opacity))}.md\:placeholder-teal-50::-ms-input-placeholder{--placeholder-opacity:1;color:#edfafa;color:rgba(237,250,250,var(--placeholder-opacity))}.md\:placeholder-teal-50::placeholder{--placeholder-opacity:1;color:#edfafa;color:rgba(237,250,250,var(--placeholder-opacity))}.md\:placeholder-teal-100::-moz-placeholder{--placeholder-opacity:1;color:#d5f5f6;color:rgba(213,245,246,var(--placeholder-opacity))}.md\:placeholder-teal-100:-ms-input-placeholder{--placeholder-opacity:1;color:#d5f5f6;color:rgba(213,245,246,var(--placeholder-opacity))}.md\:placeholder-teal-100::-ms-input-placeholder{--placeholder-opacity:1;color:#d5f5f6;color:rgba(213,245,246,var(--placeholder-opacity))}.md\:placeholder-teal-100::placeholder{--placeholder-opacity:1;color:#d5f5f6;color:rgba(213,245,246,var(--placeholder-opacity))}.md\:placeholder-teal-200::-moz-placeholder{--placeholder-opacity:1;color:#afecef;color:rgba(175,236,239,var(--placeholder-opacity))}.md\:placeholder-teal-200:-ms-input-placeholder{--placeholder-opacity:1;color:#afecef;color:rgba(175,236,239,var(--placeholder-opacity))}.md\:placeholder-teal-200::-ms-input-placeholder{--placeholder-opacity:1;color:#afecef;color:rgba(175,236,239,var(--placeholder-opacity))}.md\:placeholder-teal-200::placeholder{--placeholder-opacity:1;color:#afecef;color:rgba(175,236,239,var(--placeholder-opacity))}.md\:placeholder-teal-300::-moz-placeholder{--placeholder-opacity:1;color:#7edce2;color:rgba(126,220,226,var(--placeholder-opacity))}.md\:placeholder-teal-300:-ms-input-placeholder{--placeholder-opacity:1;color:#7edce2;color:rgba(126,220,226,var(--placeholder-opacity))}.md\:placeholder-teal-300::-ms-input-placeholder{--placeholder-opacity:1;color:#7edce2;color:rgba(126,220,226,var(--placeholder-opacity))}.md\:placeholder-teal-300::placeholder{--placeholder-opacity:1;color:#7edce2;color:rgba(126,220,226,var(--placeholder-opacity))}.md\:placeholder-teal-400::-moz-placeholder{--placeholder-opacity:1;color:#16bdca;color:rgba(22,189,202,var(--placeholder-opacity))}.md\:placeholder-teal-400:-ms-input-placeholder{--placeholder-opacity:1;color:#16bdca;color:rgba(22,189,202,var(--placeholder-opacity))}.md\:placeholder-teal-400::-ms-input-placeholder{--placeholder-opacity:1;color:#16bdca;color:rgba(22,189,202,var(--placeholder-opacity))}.md\:placeholder-teal-400::placeholder{--placeholder-opacity:1;color:#16bdca;color:rgba(22,189,202,var(--placeholder-opacity))}.md\:placeholder-teal-500::-moz-placeholder{--placeholder-opacity:1;color:#0694a2;color:rgba(6,148,162,var(--placeholder-opacity))}.md\:placeholder-teal-500:-ms-input-placeholder{--placeholder-opacity:1;color:#0694a2;color:rgba(6,148,162,var(--placeholder-opacity))}.md\:placeholder-teal-500::-ms-input-placeholder{--placeholder-opacity:1;color:#0694a2;color:rgba(6,148,162,var(--placeholder-opacity))}.md\:placeholder-teal-500::placeholder{--placeholder-opacity:1;color:#0694a2;color:rgba(6,148,162,var(--placeholder-opacity))}.md\:placeholder-teal-600::-moz-placeholder{--placeholder-opacity:1;color:#047481;color:rgba(4,116,129,var(--placeholder-opacity))}.md\:placeholder-teal-600:-ms-input-placeholder{--placeholder-opacity:1;color:#047481;color:rgba(4,116,129,var(--placeholder-opacity))}.md\:placeholder-teal-600::-ms-input-placeholder{--placeholder-opacity:1;color:#047481;color:rgba(4,116,129,var(--placeholder-opacity))}.md\:placeholder-teal-600::placeholder{--placeholder-opacity:1;color:#047481;color:rgba(4,116,129,var(--placeholder-opacity))}.md\:placeholder-teal-700::-moz-placeholder{--placeholder-opacity:1;color:#036672;color:rgba(3,102,114,var(--placeholder-opacity))}.md\:placeholder-teal-700:-ms-input-placeholder{--placeholder-opacity:1;color:#036672;color:rgba(3,102,114,var(--placeholder-opacity))}.md\:placeholder-teal-700::-ms-input-placeholder{--placeholder-opacity:1;color:#036672;color:rgba(3,102,114,var(--placeholder-opacity))}.md\:placeholder-teal-700::placeholder{--placeholder-opacity:1;color:#036672;color:rgba(3,102,114,var(--placeholder-opacity))}.md\:placeholder-teal-800::-moz-placeholder{--placeholder-opacity:1;color:#05505c;color:rgba(5,80,92,var(--placeholder-opacity))}.md\:placeholder-teal-800:-ms-input-placeholder{--placeholder-opacity:1;color:#05505c;color:rgba(5,80,92,var(--placeholder-opacity))}.md\:placeholder-teal-800::-ms-input-placeholder{--placeholder-opacity:1;color:#05505c;color:rgba(5,80,92,var(--placeholder-opacity))}.md\:placeholder-teal-800::placeholder{--placeholder-opacity:1;color:#05505c;color:rgba(5,80,92,var(--placeholder-opacity))}.md\:placeholder-teal-900::-moz-placeholder{--placeholder-opacity:1;color:#014451;color:rgba(1,68,81,var(--placeholder-opacity))}.md\:placeholder-teal-900:-ms-input-placeholder{--placeholder-opacity:1;color:#014451;color:rgba(1,68,81,var(--placeholder-opacity))}.md\:placeholder-teal-900::-ms-input-placeholder{--placeholder-opacity:1;color:#014451;color:rgba(1,68,81,var(--placeholder-opacity))}.md\:placeholder-teal-900::placeholder{--placeholder-opacity:1;color:#014451;color:rgba(1,68,81,var(--placeholder-opacity))}.md\:placeholder-blue-50::-moz-placeholder{--placeholder-opacity:1;color:#ebf5ff;color:rgba(235,245,255,var(--placeholder-opacity))}.md\:placeholder-blue-50:-ms-input-placeholder{--placeholder-opacity:1;color:#ebf5ff;color:rgba(235,245,255,var(--placeholder-opacity))}.md\:placeholder-blue-50::-ms-input-placeholder{--placeholder-opacity:1;color:#ebf5ff;color:rgba(235,245,255,var(--placeholder-opacity))}.md\:placeholder-blue-50::placeholder{--placeholder-opacity:1;color:#ebf5ff;color:rgba(235,245,255,var(--placeholder-opacity))}.md\:placeholder-blue-100::-moz-placeholder{--placeholder-opacity:1;color:#e1effe;color:rgba(225,239,254,var(--placeholder-opacity))}.md\:placeholder-blue-100:-ms-input-placeholder{--placeholder-opacity:1;color:#e1effe;color:rgba(225,239,254,var(--placeholder-opacity))}.md\:placeholder-blue-100::-ms-input-placeholder{--placeholder-opacity:1;color:#e1effe;color:rgba(225,239,254,var(--placeholder-opacity))}.md\:placeholder-blue-100::placeholder{--placeholder-opacity:1;color:#e1effe;color:rgba(225,239,254,var(--placeholder-opacity))}.md\:placeholder-blue-200::-moz-placeholder{--placeholder-opacity:1;color:#c3ddfd;color:rgba(195,221,253,var(--placeholder-opacity))}.md\:placeholder-blue-200:-ms-input-placeholder{--placeholder-opacity:1;color:#c3ddfd;color:rgba(195,221,253,var(--placeholder-opacity))}.md\:placeholder-blue-200::-ms-input-placeholder{--placeholder-opacity:1;color:#c3ddfd;color:rgba(195,221,253,var(--placeholder-opacity))}.md\:placeholder-blue-200::placeholder{--placeholder-opacity:1;color:#c3ddfd;color:rgba(195,221,253,var(--placeholder-opacity))}.md\:placeholder-blue-300::-moz-placeholder{--placeholder-opacity:1;color:#a4cafe;color:rgba(164,202,254,var(--placeholder-opacity))}.md\:placeholder-blue-300:-ms-input-placeholder{--placeholder-opacity:1;color:#a4cafe;color:rgba(164,202,254,var(--placeholder-opacity))}.md\:placeholder-blue-300::-ms-input-placeholder{--placeholder-opacity:1;color:#a4cafe;color:rgba(164,202,254,var(--placeholder-opacity))}.md\:placeholder-blue-300::placeholder{--placeholder-opacity:1;color:#a4cafe;color:rgba(164,202,254,var(--placeholder-opacity))}.md\:placeholder-blue-400::-moz-placeholder{--placeholder-opacity:1;color:#76a9fa;color:rgba(118,169,250,var(--placeholder-opacity))}.md\:placeholder-blue-400:-ms-input-placeholder{--placeholder-opacity:1;color:#76a9fa;color:rgba(118,169,250,var(--placeholder-opacity))}.md\:placeholder-blue-400::-ms-input-placeholder{--placeholder-opacity:1;color:#76a9fa;color:rgba(118,169,250,var(--placeholder-opacity))}.md\:placeholder-blue-400::placeholder{--placeholder-opacity:1;color:#76a9fa;color:rgba(118,169,250,var(--placeholder-opacity))}.md\:placeholder-blue-500::-moz-placeholder{--placeholder-opacity:1;color:#3f83f8;color:rgba(63,131,248,var(--placeholder-opacity))}.md\:placeholder-blue-500:-ms-input-placeholder{--placeholder-opacity:1;color:#3f83f8;color:rgba(63,131,248,var(--placeholder-opacity))}.md\:placeholder-blue-500::-ms-input-placeholder{--placeholder-opacity:1;color:#3f83f8;color:rgba(63,131,248,var(--placeholder-opacity))}.md\:placeholder-blue-500::placeholder{--placeholder-opacity:1;color:#3f83f8;color:rgba(63,131,248,var(--placeholder-opacity))}.md\:placeholder-blue-600::-moz-placeholder{--placeholder-opacity:1;color:#1c64f2;color:rgba(28,100,242,var(--placeholder-opacity))}.md\:placeholder-blue-600:-ms-input-placeholder{--placeholder-opacity:1;color:#1c64f2;color:rgba(28,100,242,var(--placeholder-opacity))}.md\:placeholder-blue-600::-ms-input-placeholder{--placeholder-opacity:1;color:#1c64f2;color:rgba(28,100,242,var(--placeholder-opacity))}.md\:placeholder-blue-600::placeholder{--placeholder-opacity:1;color:#1c64f2;color:rgba(28,100,242,var(--placeholder-opacity))}.md\:placeholder-blue-700::-moz-placeholder{--placeholder-opacity:1;color:#1a56db;color:rgba(26,86,219,var(--placeholder-opacity))}.md\:placeholder-blue-700:-ms-input-placeholder{--placeholder-opacity:1;color:#1a56db;color:rgba(26,86,219,var(--placeholder-opacity))}.md\:placeholder-blue-700::-ms-input-placeholder{--placeholder-opacity:1;color:#1a56db;color:rgba(26,86,219,var(--placeholder-opacity))}.md\:placeholder-blue-700::placeholder{--placeholder-opacity:1;color:#1a56db;color:rgba(26,86,219,var(--placeholder-opacity))}.md\:placeholder-blue-800::-moz-placeholder{--placeholder-opacity:1;color:#1e429f;color:rgba(30,66,159,var(--placeholder-opacity))}.md\:placeholder-blue-800:-ms-input-placeholder{--placeholder-opacity:1;color:#1e429f;color:rgba(30,66,159,var(--placeholder-opacity))}.md\:placeholder-blue-800::-ms-input-placeholder{--placeholder-opacity:1;color:#1e429f;color:rgba(30,66,159,var(--placeholder-opacity))}.md\:placeholder-blue-800::placeholder{--placeholder-opacity:1;color:#1e429f;color:rgba(30,66,159,var(--placeholder-opacity))}.md\:placeholder-blue-900::-moz-placeholder{--placeholder-opacity:1;color:#233876;color:rgba(35,56,118,var(--placeholder-opacity))}.md\:placeholder-blue-900:-ms-input-placeholder{--placeholder-opacity:1;color:#233876;color:rgba(35,56,118,var(--placeholder-opacity))}.md\:placeholder-blue-900::-ms-input-placeholder{--placeholder-opacity:1;color:#233876;color:rgba(35,56,118,var(--placeholder-opacity))}.md\:placeholder-blue-900::placeholder{--placeholder-opacity:1;color:#233876;color:rgba(35,56,118,var(--placeholder-opacity))}.md\:placeholder-indigo-50::-moz-placeholder{--placeholder-opacity:1;color:#f0f5ff;color:rgba(240,245,255,var(--placeholder-opacity))}.md\:placeholder-indigo-50:-ms-input-placeholder{--placeholder-opacity:1;color:#f0f5ff;color:rgba(240,245,255,var(--placeholder-opacity))}.md\:placeholder-indigo-50::-ms-input-placeholder{--placeholder-opacity:1;color:#f0f5ff;color:rgba(240,245,255,var(--placeholder-opacity))}.md\:placeholder-indigo-50::placeholder{--placeholder-opacity:1;color:#f0f5ff;color:rgba(240,245,255,var(--placeholder-opacity))}.md\:placeholder-indigo-100::-moz-placeholder{--placeholder-opacity:1;color:#e5edff;color:rgba(229,237,255,var(--placeholder-opacity))}.md\:placeholder-indigo-100:-ms-input-placeholder{--placeholder-opacity:1;color:#e5edff;color:rgba(229,237,255,var(--placeholder-opacity))}.md\:placeholder-indigo-100::-ms-input-placeholder{--placeholder-opacity:1;color:#e5edff;color:rgba(229,237,255,var(--placeholder-opacity))}.md\:placeholder-indigo-100::placeholder{--placeholder-opacity:1;color:#e5edff;color:rgba(229,237,255,var(--placeholder-opacity))}.md\:placeholder-indigo-200::-moz-placeholder{--placeholder-opacity:1;color:#cddbfe;color:rgba(205,219,254,var(--placeholder-opacity))}.md\:placeholder-indigo-200:-ms-input-placeholder{--placeholder-opacity:1;color:#cddbfe;color:rgba(205,219,254,var(--placeholder-opacity))}.md\:placeholder-indigo-200::-ms-input-placeholder{--placeholder-opacity:1;color:#cddbfe;color:rgba(205,219,254,var(--placeholder-opacity))}.md\:placeholder-indigo-200::placeholder{--placeholder-opacity:1;color:#cddbfe;color:rgba(205,219,254,var(--placeholder-opacity))}.md\:placeholder-indigo-300::-moz-placeholder{--placeholder-opacity:1;color:#b4c6fc;color:rgba(180,198,252,var(--placeholder-opacity))}.md\:placeholder-indigo-300:-ms-input-placeholder{--placeholder-opacity:1;color:#b4c6fc;color:rgba(180,198,252,var(--placeholder-opacity))}.md\:placeholder-indigo-300::-ms-input-placeholder{--placeholder-opacity:1;color:#b4c6fc;color:rgba(180,198,252,var(--placeholder-opacity))}.md\:placeholder-indigo-300::placeholder{--placeholder-opacity:1;color:#b4c6fc;color:rgba(180,198,252,var(--placeholder-opacity))}.md\:placeholder-indigo-400::-moz-placeholder{--placeholder-opacity:1;color:#8da2fb;color:rgba(141,162,251,var(--placeholder-opacity))}.md\:placeholder-indigo-400:-ms-input-placeholder{--placeholder-opacity:1;color:#8da2fb;color:rgba(141,162,251,var(--placeholder-opacity))}.md\:placeholder-indigo-400::-ms-input-placeholder{--placeholder-opacity:1;color:#8da2fb;color:rgba(141,162,251,var(--placeholder-opacity))}.md\:placeholder-indigo-400::placeholder{--placeholder-opacity:1;color:#8da2fb;color:rgba(141,162,251,var(--placeholder-opacity))}.md\:placeholder-indigo-500::-moz-placeholder{--placeholder-opacity:1;color:#6875f5;color:rgba(104,117,245,var(--placeholder-opacity))}.md\:placeholder-indigo-500:-ms-input-placeholder{--placeholder-opacity:1;color:#6875f5;color:rgba(104,117,245,var(--placeholder-opacity))}.md\:placeholder-indigo-500::-ms-input-placeholder{--placeholder-opacity:1;color:#6875f5;color:rgba(104,117,245,var(--placeholder-opacity))}.md\:placeholder-indigo-500::placeholder{--placeholder-opacity:1;color:#6875f5;color:rgba(104,117,245,var(--placeholder-opacity))}.md\:placeholder-indigo-600::-moz-placeholder{--placeholder-opacity:1;color:#5850ec;color:rgba(88,80,236,var(--placeholder-opacity))}.md\:placeholder-indigo-600:-ms-input-placeholder{--placeholder-opacity:1;color:#5850ec;color:rgba(88,80,236,var(--placeholder-opacity))}.md\:placeholder-indigo-600::-ms-input-placeholder{--placeholder-opacity:1;color:#5850ec;color:rgba(88,80,236,var(--placeholder-opacity))}.md\:placeholder-indigo-600::placeholder{--placeholder-opacity:1;color:#5850ec;color:rgba(88,80,236,var(--placeholder-opacity))}.md\:placeholder-indigo-700::-moz-placeholder{--placeholder-opacity:1;color:#5145cd;color:rgba(81,69,205,var(--placeholder-opacity))}.md\:placeholder-indigo-700:-ms-input-placeholder{--placeholder-opacity:1;color:#5145cd;color:rgba(81,69,205,var(--placeholder-opacity))}.md\:placeholder-indigo-700::-ms-input-placeholder{--placeholder-opacity:1;color:#5145cd;color:rgba(81,69,205,var(--placeholder-opacity))}.md\:placeholder-indigo-700::placeholder{--placeholder-opacity:1;color:#5145cd;color:rgba(81,69,205,var(--placeholder-opacity))}.md\:placeholder-indigo-800::-moz-placeholder{--placeholder-opacity:1;color:#42389d;color:rgba(66,56,157,var(--placeholder-opacity))}.md\:placeholder-indigo-800:-ms-input-placeholder{--placeholder-opacity:1;color:#42389d;color:rgba(66,56,157,var(--placeholder-opacity))}.md\:placeholder-indigo-800::-ms-input-placeholder{--placeholder-opacity:1;color:#42389d;color:rgba(66,56,157,var(--placeholder-opacity))}.md\:placeholder-indigo-800::placeholder{--placeholder-opacity:1;color:#42389d;color:rgba(66,56,157,var(--placeholder-opacity))}.md\:placeholder-indigo-900::-moz-placeholder{--placeholder-opacity:1;color:#362f78;color:rgba(54,47,120,var(--placeholder-opacity))}.md\:placeholder-indigo-900:-ms-input-placeholder{--placeholder-opacity:1;color:#362f78;color:rgba(54,47,120,var(--placeholder-opacity))}.md\:placeholder-indigo-900::-ms-input-placeholder{--placeholder-opacity:1;color:#362f78;color:rgba(54,47,120,var(--placeholder-opacity))}.md\:placeholder-indigo-900::placeholder{--placeholder-opacity:1;color:#362f78;color:rgba(54,47,120,var(--placeholder-opacity))}.md\:placeholder-purple-50::-moz-placeholder{--placeholder-opacity:1;color:#f6f5ff;color:rgba(246,245,255,var(--placeholder-opacity))}.md\:placeholder-purple-50:-ms-input-placeholder{--placeholder-opacity:1;color:#f6f5ff;color:rgba(246,245,255,var(--placeholder-opacity))}.md\:placeholder-purple-50::-ms-input-placeholder{--placeholder-opacity:1;color:#f6f5ff;color:rgba(246,245,255,var(--placeholder-opacity))}.md\:placeholder-purple-50::placeholder{--placeholder-opacity:1;color:#f6f5ff;color:rgba(246,245,255,var(--placeholder-opacity))}.md\:placeholder-purple-100::-moz-placeholder{--placeholder-opacity:1;color:#edebfe;color:rgba(237,235,254,var(--placeholder-opacity))}.md\:placeholder-purple-100:-ms-input-placeholder{--placeholder-opacity:1;color:#edebfe;color:rgba(237,235,254,var(--placeholder-opacity))}.md\:placeholder-purple-100::-ms-input-placeholder{--placeholder-opacity:1;color:#edebfe;color:rgba(237,235,254,var(--placeholder-opacity))}.md\:placeholder-purple-100::placeholder{--placeholder-opacity:1;color:#edebfe;color:rgba(237,235,254,var(--placeholder-opacity))}.md\:placeholder-purple-200::-moz-placeholder{--placeholder-opacity:1;color:#dcd7fe;color:rgba(220,215,254,var(--placeholder-opacity))}.md\:placeholder-purple-200:-ms-input-placeholder{--placeholder-opacity:1;color:#dcd7fe;color:rgba(220,215,254,var(--placeholder-opacity))}.md\:placeholder-purple-200::-ms-input-placeholder{--placeholder-opacity:1;color:#dcd7fe;color:rgba(220,215,254,var(--placeholder-opacity))}.md\:placeholder-purple-200::placeholder{--placeholder-opacity:1;color:#dcd7fe;color:rgba(220,215,254,var(--placeholder-opacity))}.md\:placeholder-purple-300::-moz-placeholder{--placeholder-opacity:1;color:#cabffd;color:rgba(202,191,253,var(--placeholder-opacity))}.md\:placeholder-purple-300:-ms-input-placeholder{--placeholder-opacity:1;color:#cabffd;color:rgba(202,191,253,var(--placeholder-opacity))}.md\:placeholder-purple-300::-ms-input-placeholder{--placeholder-opacity:1;color:#cabffd;color:rgba(202,191,253,var(--placeholder-opacity))}.md\:placeholder-purple-300::placeholder{--placeholder-opacity:1;color:#cabffd;color:rgba(202,191,253,var(--placeholder-opacity))}.md\:placeholder-purple-400::-moz-placeholder{--placeholder-opacity:1;color:#ac94fa;color:rgba(172,148,250,var(--placeholder-opacity))}.md\:placeholder-purple-400:-ms-input-placeholder{--placeholder-opacity:1;color:#ac94fa;color:rgba(172,148,250,var(--placeholder-opacity))}.md\:placeholder-purple-400::-ms-input-placeholder{--placeholder-opacity:1;color:#ac94fa;color:rgba(172,148,250,var(--placeholder-opacity))}.md\:placeholder-purple-400::placeholder{--placeholder-opacity:1;color:#ac94fa;color:rgba(172,148,250,var(--placeholder-opacity))}.md\:placeholder-purple-500::-moz-placeholder{--placeholder-opacity:1;color:#9061f9;color:rgba(144,97,249,var(--placeholder-opacity))}.md\:placeholder-purple-500:-ms-input-placeholder{--placeholder-opacity:1;color:#9061f9;color:rgba(144,97,249,var(--placeholder-opacity))}.md\:placeholder-purple-500::-ms-input-placeholder{--placeholder-opacity:1;color:#9061f9;color:rgba(144,97,249,var(--placeholder-opacity))}.md\:placeholder-purple-500::placeholder{--placeholder-opacity:1;color:#9061f9;color:rgba(144,97,249,var(--placeholder-opacity))}.md\:placeholder-purple-600::-moz-placeholder{--placeholder-opacity:1;color:#7e3af2;color:rgba(126,58,242,var(--placeholder-opacity))}.md\:placeholder-purple-600:-ms-input-placeholder{--placeholder-opacity:1;color:#7e3af2;color:rgba(126,58,242,var(--placeholder-opacity))}.md\:placeholder-purple-600::-ms-input-placeholder{--placeholder-opacity:1;color:#7e3af2;color:rgba(126,58,242,var(--placeholder-opacity))}.md\:placeholder-purple-600::placeholder{--placeholder-opacity:1;color:#7e3af2;color:rgba(126,58,242,var(--placeholder-opacity))}.md\:placeholder-purple-700::-moz-placeholder{--placeholder-opacity:1;color:#6c2bd9;color:rgba(108,43,217,var(--placeholder-opacity))}.md\:placeholder-purple-700:-ms-input-placeholder{--placeholder-opacity:1;color:#6c2bd9;color:rgba(108,43,217,var(--placeholder-opacity))}.md\:placeholder-purple-700::-ms-input-placeholder{--placeholder-opacity:1;color:#6c2bd9;color:rgba(108,43,217,var(--placeholder-opacity))}.md\:placeholder-purple-700::placeholder{--placeholder-opacity:1;color:#6c2bd9;color:rgba(108,43,217,var(--placeholder-opacity))}.md\:placeholder-purple-800::-moz-placeholder{--placeholder-opacity:1;color:#5521b5;color:rgba(85,33,181,var(--placeholder-opacity))}.md\:placeholder-purple-800:-ms-input-placeholder{--placeholder-opacity:1;color:#5521b5;color:rgba(85,33,181,var(--placeholder-opacity))}.md\:placeholder-purple-800::-ms-input-placeholder{--placeholder-opacity:1;color:#5521b5;color:rgba(85,33,181,var(--placeholder-opacity))}.md\:placeholder-purple-800::placeholder{--placeholder-opacity:1;color:#5521b5;color:rgba(85,33,181,var(--placeholder-opacity))}.md\:placeholder-purple-900::-moz-placeholder{--placeholder-opacity:1;color:#4a1d96;color:rgba(74,29,150,var(--placeholder-opacity))}.md\:placeholder-purple-900:-ms-input-placeholder{--placeholder-opacity:1;color:#4a1d96;color:rgba(74,29,150,var(--placeholder-opacity))}.md\:placeholder-purple-900::-ms-input-placeholder{--placeholder-opacity:1;color:#4a1d96;color:rgba(74,29,150,var(--placeholder-opacity))}.md\:placeholder-purple-900::placeholder{--placeholder-opacity:1;color:#4a1d96;color:rgba(74,29,150,var(--placeholder-opacity))}.md\:placeholder-pink-50::-moz-placeholder{--placeholder-opacity:1;color:#fdf2f8;color:rgba(253,242,248,var(--placeholder-opacity))}.md\:placeholder-pink-50:-ms-input-placeholder{--placeholder-opacity:1;color:#fdf2f8;color:rgba(253,242,248,var(--placeholder-opacity))}.md\:placeholder-pink-50::-ms-input-placeholder{--placeholder-opacity:1;color:#fdf2f8;color:rgba(253,242,248,var(--placeholder-opacity))}.md\:placeholder-pink-50::placeholder{--placeholder-opacity:1;color:#fdf2f8;color:rgba(253,242,248,var(--placeholder-opacity))}.md\:placeholder-pink-100::-moz-placeholder{--placeholder-opacity:1;color:#fce8f3;color:rgba(252,232,243,var(--placeholder-opacity))}.md\:placeholder-pink-100:-ms-input-placeholder{--placeholder-opacity:1;color:#fce8f3;color:rgba(252,232,243,var(--placeholder-opacity))}.md\:placeholder-pink-100::-ms-input-placeholder{--placeholder-opacity:1;color:#fce8f3;color:rgba(252,232,243,var(--placeholder-opacity))}.md\:placeholder-pink-100::placeholder{--placeholder-opacity:1;color:#fce8f3;color:rgba(252,232,243,var(--placeholder-opacity))}.md\:placeholder-pink-200::-moz-placeholder{--placeholder-opacity:1;color:#fad1e8;color:rgba(250,209,232,var(--placeholder-opacity))}.md\:placeholder-pink-200:-ms-input-placeholder{--placeholder-opacity:1;color:#fad1e8;color:rgba(250,209,232,var(--placeholder-opacity))}.md\:placeholder-pink-200::-ms-input-placeholder{--placeholder-opacity:1;color:#fad1e8;color:rgba(250,209,232,var(--placeholder-opacity))}.md\:placeholder-pink-200::placeholder{--placeholder-opacity:1;color:#fad1e8;color:rgba(250,209,232,var(--placeholder-opacity))}.md\:placeholder-pink-300::-moz-placeholder{--placeholder-opacity:1;color:#f8b4d9;color:rgba(248,180,217,var(--placeholder-opacity))}.md\:placeholder-pink-300:-ms-input-placeholder{--placeholder-opacity:1;color:#f8b4d9;color:rgba(248,180,217,var(--placeholder-opacity))}.md\:placeholder-pink-300::-ms-input-placeholder{--placeholder-opacity:1;color:#f8b4d9;color:rgba(248,180,217,var(--placeholder-opacity))}.md\:placeholder-pink-300::placeholder{--placeholder-opacity:1;color:#f8b4d9;color:rgba(248,180,217,var(--placeholder-opacity))}.md\:placeholder-pink-400::-moz-placeholder{--placeholder-opacity:1;color:#f17eb8;color:rgba(241,126,184,var(--placeholder-opacity))}.md\:placeholder-pink-400:-ms-input-placeholder{--placeholder-opacity:1;color:#f17eb8;color:rgba(241,126,184,var(--placeholder-opacity))}.md\:placeholder-pink-400::-ms-input-placeholder{--placeholder-opacity:1;color:#f17eb8;color:rgba(241,126,184,var(--placeholder-opacity))}.md\:placeholder-pink-400::placeholder{--placeholder-opacity:1;color:#f17eb8;color:rgba(241,126,184,var(--placeholder-opacity))}.md\:placeholder-pink-500::-moz-placeholder{--placeholder-opacity:1;color:#e74694;color:rgba(231,70,148,var(--placeholder-opacity))}.md\:placeholder-pink-500:-ms-input-placeholder{--placeholder-opacity:1;color:#e74694;color:rgba(231,70,148,var(--placeholder-opacity))}.md\:placeholder-pink-500::-ms-input-placeholder{--placeholder-opacity:1;color:#e74694;color:rgba(231,70,148,var(--placeholder-opacity))}.md\:placeholder-pink-500::placeholder{--placeholder-opacity:1;color:#e74694;color:rgba(231,70,148,var(--placeholder-opacity))}.md\:placeholder-pink-600::-moz-placeholder{--placeholder-opacity:1;color:#d61f69;color:rgba(214,31,105,var(--placeholder-opacity))}.md\:placeholder-pink-600:-ms-input-placeholder{--placeholder-opacity:1;color:#d61f69;color:rgba(214,31,105,var(--placeholder-opacity))}.md\:placeholder-pink-600::-ms-input-placeholder{--placeholder-opacity:1;color:#d61f69;color:rgba(214,31,105,var(--placeholder-opacity))}.md\:placeholder-pink-600::placeholder{--placeholder-opacity:1;color:#d61f69;color:rgba(214,31,105,var(--placeholder-opacity))}.md\:placeholder-pink-700::-moz-placeholder{--placeholder-opacity:1;color:#bf125d;color:rgba(191,18,93,var(--placeholder-opacity))}.md\:placeholder-pink-700:-ms-input-placeholder{--placeholder-opacity:1;color:#bf125d;color:rgba(191,18,93,var(--placeholder-opacity))}.md\:placeholder-pink-700::-ms-input-placeholder{--placeholder-opacity:1;color:#bf125d;color:rgba(191,18,93,var(--placeholder-opacity))}.md\:placeholder-pink-700::placeholder{--placeholder-opacity:1;color:#bf125d;color:rgba(191,18,93,var(--placeholder-opacity))}.md\:placeholder-pink-800::-moz-placeholder{--placeholder-opacity:1;color:#99154b;color:rgba(153,21,75,var(--placeholder-opacity))}.md\:placeholder-pink-800:-ms-input-placeholder{--placeholder-opacity:1;color:#99154b;color:rgba(153,21,75,var(--placeholder-opacity))}.md\:placeholder-pink-800::-ms-input-placeholder{--placeholder-opacity:1;color:#99154b;color:rgba(153,21,75,var(--placeholder-opacity))}.md\:placeholder-pink-800::placeholder{--placeholder-opacity:1;color:#99154b;color:rgba(153,21,75,var(--placeholder-opacity))}.md\:placeholder-pink-900::-moz-placeholder{--placeholder-opacity:1;color:#751a3d;color:rgba(117,26,61,var(--placeholder-opacity))}.md\:placeholder-pink-900:-ms-input-placeholder{--placeholder-opacity:1;color:#751a3d;color:rgba(117,26,61,var(--placeholder-opacity))}.md\:placeholder-pink-900::-ms-input-placeholder{--placeholder-opacity:1;color:#751a3d;color:rgba(117,26,61,var(--placeholder-opacity))}.md\:placeholder-pink-900::placeholder{--placeholder-opacity:1;color:#751a3d;color:rgba(117,26,61,var(--placeholder-opacity))}.md\:focus\:placeholder-transparent:focus::-moz-placeholder{color:transparent}.md\:focus\:placeholder-transparent:focus:-ms-input-placeholder{color:transparent}.md\:focus\:placeholder-transparent:focus::-ms-input-placeholder{color:transparent}.md\:focus\:placeholder-transparent:focus::placeholder{color:transparent}.md\:focus\:placeholder-white:focus::-moz-placeholder{--placeholder-opacity:1;color:#fff;color:rgba(255,255,255,var(--placeholder-opacity))}.md\:focus\:placeholder-white:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#fff;color:rgba(255,255,255,var(--placeholder-opacity))}.md\:focus\:placeholder-white:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#fff;color:rgba(255,255,255,var(--placeholder-opacity))}.md\:focus\:placeholder-white:focus::placeholder{--placeholder-opacity:1;color:#fff;color:rgba(255,255,255,var(--placeholder-opacity))}.md\:focus\:placeholder-black:focus::-moz-placeholder{--placeholder-opacity:1;color:#000;color:rgba(0,0,0,var(--placeholder-opacity))}.md\:focus\:placeholder-black:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#000;color:rgba(0,0,0,var(--placeholder-opacity))}.md\:focus\:placeholder-black:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#000;color:rgba(0,0,0,var(--placeholder-opacity))}.md\:focus\:placeholder-black:focus::placeholder{--placeholder-opacity:1;color:#000;color:rgba(0,0,0,var(--placeholder-opacity))}.md\:focus\:placeholder-gray-50:focus::-moz-placeholder{--placeholder-opacity:1;color:#f9fafb;color:rgba(249,250,251,var(--placeholder-opacity))}.md\:focus\:placeholder-gray-50:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#f9fafb;color:rgba(249,250,251,var(--placeholder-opacity))}.md\:focus\:placeholder-gray-50:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#f9fafb;color:rgba(249,250,251,var(--placeholder-opacity))}.md\:focus\:placeholder-gray-50:focus::placeholder{--placeholder-opacity:1;color:#f9fafb;color:rgba(249,250,251,var(--placeholder-opacity))}.md\:focus\:placeholder-gray-100:focus::-moz-placeholder{--placeholder-opacity:1;color:#f4f5f7;color:rgba(244,245,247,var(--placeholder-opacity))}.md\:focus\:placeholder-gray-100:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#f4f5f7;color:rgba(244,245,247,var(--placeholder-opacity))}.md\:focus\:placeholder-gray-100:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#f4f5f7;color:rgba(244,245,247,var(--placeholder-opacity))}.md\:focus\:placeholder-gray-100:focus::placeholder{--placeholder-opacity:1;color:#f4f5f7;color:rgba(244,245,247,var(--placeholder-opacity))}.md\:focus\:placeholder-gray-200:focus::-moz-placeholder{--placeholder-opacity:1;color:#e5e7eb;color:rgba(229,231,235,var(--placeholder-opacity))}.md\:focus\:placeholder-gray-200:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#e5e7eb;color:rgba(229,231,235,var(--placeholder-opacity))}.md\:focus\:placeholder-gray-200:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#e5e7eb;color:rgba(229,231,235,var(--placeholder-opacity))}.md\:focus\:placeholder-gray-200:focus::placeholder{--placeholder-opacity:1;color:#e5e7eb;color:rgba(229,231,235,var(--placeholder-opacity))}.md\:focus\:placeholder-gray-300:focus::-moz-placeholder{--placeholder-opacity:1;color:#d2d6dc;color:rgba(210,214,220,var(--placeholder-opacity))}.md\:focus\:placeholder-gray-300:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#d2d6dc;color:rgba(210,214,220,var(--placeholder-opacity))}.md\:focus\:placeholder-gray-300:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#d2d6dc;color:rgba(210,214,220,var(--placeholder-opacity))}.md\:focus\:placeholder-gray-300:focus::placeholder{--placeholder-opacity:1;color:#d2d6dc;color:rgba(210,214,220,var(--placeholder-opacity))}.md\:focus\:placeholder-gray-400:focus::-moz-placeholder{--placeholder-opacity:1;color:#9fa6b2;color:rgba(159,166,178,var(--placeholder-opacity))}.md\:focus\:placeholder-gray-400:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#9fa6b2;color:rgba(159,166,178,var(--placeholder-opacity))}.md\:focus\:placeholder-gray-400:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#9fa6b2;color:rgba(159,166,178,var(--placeholder-opacity))}.md\:focus\:placeholder-gray-400:focus::placeholder{--placeholder-opacity:1;color:#9fa6b2;color:rgba(159,166,178,var(--placeholder-opacity))}.md\:focus\:placeholder-gray-500:focus::-moz-placeholder{--placeholder-opacity:1;color:#6b7280;color:rgba(107,114,128,var(--placeholder-opacity))}.md\:focus\:placeholder-gray-500:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#6b7280;color:rgba(107,114,128,var(--placeholder-opacity))}.md\:focus\:placeholder-gray-500:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#6b7280;color:rgba(107,114,128,var(--placeholder-opacity))}.md\:focus\:placeholder-gray-500:focus::placeholder{--placeholder-opacity:1;color:#6b7280;color:rgba(107,114,128,var(--placeholder-opacity))}.md\:focus\:placeholder-gray-600:focus::-moz-placeholder{--placeholder-opacity:1;color:#4b5563;color:rgba(75,85,99,var(--placeholder-opacity))}.md\:focus\:placeholder-gray-600:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#4b5563;color:rgba(75,85,99,var(--placeholder-opacity))}.md\:focus\:placeholder-gray-600:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#4b5563;color:rgba(75,85,99,var(--placeholder-opacity))}.md\:focus\:placeholder-gray-600:focus::placeholder{--placeholder-opacity:1;color:#4b5563;color:rgba(75,85,99,var(--placeholder-opacity))}.md\:focus\:placeholder-gray-700:focus::-moz-placeholder{--placeholder-opacity:1;color:#374151;color:rgba(55,65,81,var(--placeholder-opacity))}.md\:focus\:placeholder-gray-700:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#374151;color:rgba(55,65,81,var(--placeholder-opacity))}.md\:focus\:placeholder-gray-700:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#374151;color:rgba(55,65,81,var(--placeholder-opacity))}.md\:focus\:placeholder-gray-700:focus::placeholder{--placeholder-opacity:1;color:#374151;color:rgba(55,65,81,var(--placeholder-opacity))}.md\:focus\:placeholder-gray-800:focus::-moz-placeholder{--placeholder-opacity:1;color:#252f3f;color:rgba(37,47,63,var(--placeholder-opacity))}.md\:focus\:placeholder-gray-800:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#252f3f;color:rgba(37,47,63,var(--placeholder-opacity))}.md\:focus\:placeholder-gray-800:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#252f3f;color:rgba(37,47,63,var(--placeholder-opacity))}.md\:focus\:placeholder-gray-800:focus::placeholder{--placeholder-opacity:1;color:#252f3f;color:rgba(37,47,63,var(--placeholder-opacity))}.md\:focus\:placeholder-gray-900:focus::-moz-placeholder{--placeholder-opacity:1;color:#161e2e;color:rgba(22,30,46,var(--placeholder-opacity))}.md\:focus\:placeholder-gray-900:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#161e2e;color:rgba(22,30,46,var(--placeholder-opacity))}.md\:focus\:placeholder-gray-900:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#161e2e;color:rgba(22,30,46,var(--placeholder-opacity))}.md\:focus\:placeholder-gray-900:focus::placeholder{--placeholder-opacity:1;color:#161e2e;color:rgba(22,30,46,var(--placeholder-opacity))}.md\:focus\:placeholder-cool-gray-50:focus::-moz-placeholder{--placeholder-opacity:1;color:#f8fafc;color:rgba(248,250,252,var(--placeholder-opacity))}.md\:focus\:placeholder-cool-gray-50:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#f8fafc;color:rgba(248,250,252,var(--placeholder-opacity))}.md\:focus\:placeholder-cool-gray-50:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#f8fafc;color:rgba(248,250,252,var(--placeholder-opacity))}.md\:focus\:placeholder-cool-gray-50:focus::placeholder{--placeholder-opacity:1;color:#f8fafc;color:rgba(248,250,252,var(--placeholder-opacity))}.md\:focus\:placeholder-cool-gray-100:focus::-moz-placeholder{--placeholder-opacity:1;color:#f1f5f9;color:rgba(241,245,249,var(--placeholder-opacity))}.md\:focus\:placeholder-cool-gray-100:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#f1f5f9;color:rgba(241,245,249,var(--placeholder-opacity))}.md\:focus\:placeholder-cool-gray-100:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#f1f5f9;color:rgba(241,245,249,var(--placeholder-opacity))}.md\:focus\:placeholder-cool-gray-100:focus::placeholder{--placeholder-opacity:1;color:#f1f5f9;color:rgba(241,245,249,var(--placeholder-opacity))}.md\:focus\:placeholder-cool-gray-200:focus::-moz-placeholder{--placeholder-opacity:1;color:#e2e8f0;color:rgba(226,232,240,var(--placeholder-opacity))}.md\:focus\:placeholder-cool-gray-200:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#e2e8f0;color:rgba(226,232,240,var(--placeholder-opacity))}.md\:focus\:placeholder-cool-gray-200:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#e2e8f0;color:rgba(226,232,240,var(--placeholder-opacity))}.md\:focus\:placeholder-cool-gray-200:focus::placeholder{--placeholder-opacity:1;color:#e2e8f0;color:rgba(226,232,240,var(--placeholder-opacity))}.md\:focus\:placeholder-cool-gray-300:focus::-moz-placeholder{--placeholder-opacity:1;color:#cfd8e3;color:rgba(207,216,227,var(--placeholder-opacity))}.md\:focus\:placeholder-cool-gray-300:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#cfd8e3;color:rgba(207,216,227,var(--placeholder-opacity))}.md\:focus\:placeholder-cool-gray-300:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#cfd8e3;color:rgba(207,216,227,var(--placeholder-opacity))}.md\:focus\:placeholder-cool-gray-300:focus::placeholder{--placeholder-opacity:1;color:#cfd8e3;color:rgba(207,216,227,var(--placeholder-opacity))}.md\:focus\:placeholder-cool-gray-400:focus::-moz-placeholder{--placeholder-opacity:1;color:#97a6ba;color:rgba(151,166,186,var(--placeholder-opacity))}.md\:focus\:placeholder-cool-gray-400:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#97a6ba;color:rgba(151,166,186,var(--placeholder-opacity))}.md\:focus\:placeholder-cool-gray-400:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#97a6ba;color:rgba(151,166,186,var(--placeholder-opacity))}.md\:focus\:placeholder-cool-gray-400:focus::placeholder{--placeholder-opacity:1;color:#97a6ba;color:rgba(151,166,186,var(--placeholder-opacity))}.md\:focus\:placeholder-cool-gray-500:focus::-moz-placeholder{--placeholder-opacity:1;color:#64748b;color:rgba(100,116,139,var(--placeholder-opacity))}.md\:focus\:placeholder-cool-gray-500:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#64748b;color:rgba(100,116,139,var(--placeholder-opacity))}.md\:focus\:placeholder-cool-gray-500:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#64748b;color:rgba(100,116,139,var(--placeholder-opacity))}.md\:focus\:placeholder-cool-gray-500:focus::placeholder{--placeholder-opacity:1;color:#64748b;color:rgba(100,116,139,var(--placeholder-opacity))}.md\:focus\:placeholder-cool-gray-600:focus::-moz-placeholder{--placeholder-opacity:1;color:#475569;color:rgba(71,85,105,var(--placeholder-opacity))}.md\:focus\:placeholder-cool-gray-600:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#475569;color:rgba(71,85,105,var(--placeholder-opacity))}.md\:focus\:placeholder-cool-gray-600:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#475569;color:rgba(71,85,105,var(--placeholder-opacity))}.md\:focus\:placeholder-cool-gray-600:focus::placeholder{--placeholder-opacity:1;color:#475569;color:rgba(71,85,105,var(--placeholder-opacity))}.md\:focus\:placeholder-cool-gray-700:focus::-moz-placeholder{--placeholder-opacity:1;color:#364152;color:rgba(54,65,82,var(--placeholder-opacity))}.md\:focus\:placeholder-cool-gray-700:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#364152;color:rgba(54,65,82,var(--placeholder-opacity))}.md\:focus\:placeholder-cool-gray-700:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#364152;color:rgba(54,65,82,var(--placeholder-opacity))}.md\:focus\:placeholder-cool-gray-700:focus::placeholder{--placeholder-opacity:1;color:#364152;color:rgba(54,65,82,var(--placeholder-opacity))}.md\:focus\:placeholder-cool-gray-800:focus::-moz-placeholder{--placeholder-opacity:1;color:#27303f;color:rgba(39,48,63,var(--placeholder-opacity))}.md\:focus\:placeholder-cool-gray-800:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#27303f;color:rgba(39,48,63,var(--placeholder-opacity))}.md\:focus\:placeholder-cool-gray-800:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#27303f;color:rgba(39,48,63,var(--placeholder-opacity))}.md\:focus\:placeholder-cool-gray-800:focus::placeholder{--placeholder-opacity:1;color:#27303f;color:rgba(39,48,63,var(--placeholder-opacity))}.md\:focus\:placeholder-cool-gray-900:focus::-moz-placeholder{--placeholder-opacity:1;color:#1a202e;color:rgba(26,32,46,var(--placeholder-opacity))}.md\:focus\:placeholder-cool-gray-900:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#1a202e;color:rgba(26,32,46,var(--placeholder-opacity))}.md\:focus\:placeholder-cool-gray-900:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#1a202e;color:rgba(26,32,46,var(--placeholder-opacity))}.md\:focus\:placeholder-cool-gray-900:focus::placeholder{--placeholder-opacity:1;color:#1a202e;color:rgba(26,32,46,var(--placeholder-opacity))}.md\:focus\:placeholder-red-50:focus::-moz-placeholder{--placeholder-opacity:1;color:#fdf2f2;color:rgba(253,242,242,var(--placeholder-opacity))}.md\:focus\:placeholder-red-50:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#fdf2f2;color:rgba(253,242,242,var(--placeholder-opacity))}.md\:focus\:placeholder-red-50:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#fdf2f2;color:rgba(253,242,242,var(--placeholder-opacity))}.md\:focus\:placeholder-red-50:focus::placeholder{--placeholder-opacity:1;color:#fdf2f2;color:rgba(253,242,242,var(--placeholder-opacity))}.md\:focus\:placeholder-red-100:focus::-moz-placeholder{--placeholder-opacity:1;color:#fde8e8;color:rgba(253,232,232,var(--placeholder-opacity))}.md\:focus\:placeholder-red-100:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#fde8e8;color:rgba(253,232,232,var(--placeholder-opacity))}.md\:focus\:placeholder-red-100:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#fde8e8;color:rgba(253,232,232,var(--placeholder-opacity))}.md\:focus\:placeholder-red-100:focus::placeholder{--placeholder-opacity:1;color:#fde8e8;color:rgba(253,232,232,var(--placeholder-opacity))}.md\:focus\:placeholder-red-200:focus::-moz-placeholder{--placeholder-opacity:1;color:#fbd5d5;color:rgba(251,213,213,var(--placeholder-opacity))}.md\:focus\:placeholder-red-200:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#fbd5d5;color:rgba(251,213,213,var(--placeholder-opacity))}.md\:focus\:placeholder-red-200:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#fbd5d5;color:rgba(251,213,213,var(--placeholder-opacity))}.md\:focus\:placeholder-red-200:focus::placeholder{--placeholder-opacity:1;color:#fbd5d5;color:rgba(251,213,213,var(--placeholder-opacity))}.md\:focus\:placeholder-red-300:focus::-moz-placeholder{--placeholder-opacity:1;color:#f8b4b4;color:rgba(248,180,180,var(--placeholder-opacity))}.md\:focus\:placeholder-red-300:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#f8b4b4;color:rgba(248,180,180,var(--placeholder-opacity))}.md\:focus\:placeholder-red-300:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#f8b4b4;color:rgba(248,180,180,var(--placeholder-opacity))}.md\:focus\:placeholder-red-300:focus::placeholder{--placeholder-opacity:1;color:#f8b4b4;color:rgba(248,180,180,var(--placeholder-opacity))}.md\:focus\:placeholder-red-400:focus::-moz-placeholder{--placeholder-opacity:1;color:#f98080;color:rgba(249,128,128,var(--placeholder-opacity))}.md\:focus\:placeholder-red-400:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#f98080;color:rgba(249,128,128,var(--placeholder-opacity))}.md\:focus\:placeholder-red-400:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#f98080;color:rgba(249,128,128,var(--placeholder-opacity))}.md\:focus\:placeholder-red-400:focus::placeholder{--placeholder-opacity:1;color:#f98080;color:rgba(249,128,128,var(--placeholder-opacity))}.md\:focus\:placeholder-red-500:focus::-moz-placeholder{--placeholder-opacity:1;color:#f05252;color:rgba(240,82,82,var(--placeholder-opacity))}.md\:focus\:placeholder-red-500:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#f05252;color:rgba(240,82,82,var(--placeholder-opacity))}.md\:focus\:placeholder-red-500:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#f05252;color:rgba(240,82,82,var(--placeholder-opacity))}.md\:focus\:placeholder-red-500:focus::placeholder{--placeholder-opacity:1;color:#f05252;color:rgba(240,82,82,var(--placeholder-opacity))}.md\:focus\:placeholder-red-600:focus::-moz-placeholder{--placeholder-opacity:1;color:#e02424;color:rgba(224,36,36,var(--placeholder-opacity))}.md\:focus\:placeholder-red-600:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#e02424;color:rgba(224,36,36,var(--placeholder-opacity))}.md\:focus\:placeholder-red-600:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#e02424;color:rgba(224,36,36,var(--placeholder-opacity))}.md\:focus\:placeholder-red-600:focus::placeholder{--placeholder-opacity:1;color:#e02424;color:rgba(224,36,36,var(--placeholder-opacity))}.md\:focus\:placeholder-red-700:focus::-moz-placeholder{--placeholder-opacity:1;color:#c81e1e;color:rgba(200,30,30,var(--placeholder-opacity))}.md\:focus\:placeholder-red-700:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#c81e1e;color:rgba(200,30,30,var(--placeholder-opacity))}.md\:focus\:placeholder-red-700:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#c81e1e;color:rgba(200,30,30,var(--placeholder-opacity))}.md\:focus\:placeholder-red-700:focus::placeholder{--placeholder-opacity:1;color:#c81e1e;color:rgba(200,30,30,var(--placeholder-opacity))}.md\:focus\:placeholder-red-800:focus::-moz-placeholder{--placeholder-opacity:1;color:#9b1c1c;color:rgba(155,28,28,var(--placeholder-opacity))}.md\:focus\:placeholder-red-800:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#9b1c1c;color:rgba(155,28,28,var(--placeholder-opacity))}.md\:focus\:placeholder-red-800:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#9b1c1c;color:rgba(155,28,28,var(--placeholder-opacity))}.md\:focus\:placeholder-red-800:focus::placeholder{--placeholder-opacity:1;color:#9b1c1c;color:rgba(155,28,28,var(--placeholder-opacity))}.md\:focus\:placeholder-red-900:focus::-moz-placeholder{--placeholder-opacity:1;color:#771d1d;color:rgba(119,29,29,var(--placeholder-opacity))}.md\:focus\:placeholder-red-900:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#771d1d;color:rgba(119,29,29,var(--placeholder-opacity))}.md\:focus\:placeholder-red-900:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#771d1d;color:rgba(119,29,29,var(--placeholder-opacity))}.md\:focus\:placeholder-red-900:focus::placeholder{--placeholder-opacity:1;color:#771d1d;color:rgba(119,29,29,var(--placeholder-opacity))}.md\:focus\:placeholder-orange-50:focus::-moz-placeholder{--placeholder-opacity:1;color:#fff8f1;color:rgba(255,248,241,var(--placeholder-opacity))}.md\:focus\:placeholder-orange-50:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#fff8f1;color:rgba(255,248,241,var(--placeholder-opacity))}.md\:focus\:placeholder-orange-50:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#fff8f1;color:rgba(255,248,241,var(--placeholder-opacity))}.md\:focus\:placeholder-orange-50:focus::placeholder{--placeholder-opacity:1;color:#fff8f1;color:rgba(255,248,241,var(--placeholder-opacity))}.md\:focus\:placeholder-orange-100:focus::-moz-placeholder{--placeholder-opacity:1;color:#feecdc;color:rgba(254,236,220,var(--placeholder-opacity))}.md\:focus\:placeholder-orange-100:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#feecdc;color:rgba(254,236,220,var(--placeholder-opacity))}.md\:focus\:placeholder-orange-100:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#feecdc;color:rgba(254,236,220,var(--placeholder-opacity))}.md\:focus\:placeholder-orange-100:focus::placeholder{--placeholder-opacity:1;color:#feecdc;color:rgba(254,236,220,var(--placeholder-opacity))}.md\:focus\:placeholder-orange-200:focus::-moz-placeholder{--placeholder-opacity:1;color:#fcd9bd;color:rgba(252,217,189,var(--placeholder-opacity))}.md\:focus\:placeholder-orange-200:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#fcd9bd;color:rgba(252,217,189,var(--placeholder-opacity))}.md\:focus\:placeholder-orange-200:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#fcd9bd;color:rgba(252,217,189,var(--placeholder-opacity))}.md\:focus\:placeholder-orange-200:focus::placeholder{--placeholder-opacity:1;color:#fcd9bd;color:rgba(252,217,189,var(--placeholder-opacity))}.md\:focus\:placeholder-orange-300:focus::-moz-placeholder{--placeholder-opacity:1;color:#fdba8c;color:rgba(253,186,140,var(--placeholder-opacity))}.md\:focus\:placeholder-orange-300:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#fdba8c;color:rgba(253,186,140,var(--placeholder-opacity))}.md\:focus\:placeholder-orange-300:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#fdba8c;color:rgba(253,186,140,var(--placeholder-opacity))}.md\:focus\:placeholder-orange-300:focus::placeholder{--placeholder-opacity:1;color:#fdba8c;color:rgba(253,186,140,var(--placeholder-opacity))}.md\:focus\:placeholder-orange-400:focus::-moz-placeholder{--placeholder-opacity:1;color:#ff8a4c;color:rgba(255,138,76,var(--placeholder-opacity))}.md\:focus\:placeholder-orange-400:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#ff8a4c;color:rgba(255,138,76,var(--placeholder-opacity))}.md\:focus\:placeholder-orange-400:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#ff8a4c;color:rgba(255,138,76,var(--placeholder-opacity))}.md\:focus\:placeholder-orange-400:focus::placeholder{--placeholder-opacity:1;color:#ff8a4c;color:rgba(255,138,76,var(--placeholder-opacity))}.md\:focus\:placeholder-orange-500:focus::-moz-placeholder{--placeholder-opacity:1;color:#ff5a1f;color:rgba(255,90,31,var(--placeholder-opacity))}.md\:focus\:placeholder-orange-500:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#ff5a1f;color:rgba(255,90,31,var(--placeholder-opacity))}.md\:focus\:placeholder-orange-500:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#ff5a1f;color:rgba(255,90,31,var(--placeholder-opacity))}.md\:focus\:placeholder-orange-500:focus::placeholder{--placeholder-opacity:1;color:#ff5a1f;color:rgba(255,90,31,var(--placeholder-opacity))}.md\:focus\:placeholder-orange-600:focus::-moz-placeholder{--placeholder-opacity:1;color:#d03801;color:rgba(208,56,1,var(--placeholder-opacity))}.md\:focus\:placeholder-orange-600:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#d03801;color:rgba(208,56,1,var(--placeholder-opacity))}.md\:focus\:placeholder-orange-600:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#d03801;color:rgba(208,56,1,var(--placeholder-opacity))}.md\:focus\:placeholder-orange-600:focus::placeholder{--placeholder-opacity:1;color:#d03801;color:rgba(208,56,1,var(--placeholder-opacity))}.md\:focus\:placeholder-orange-700:focus::-moz-placeholder{--placeholder-opacity:1;color:#b43403;color:rgba(180,52,3,var(--placeholder-opacity))}.md\:focus\:placeholder-orange-700:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#b43403;color:rgba(180,52,3,var(--placeholder-opacity))}.md\:focus\:placeholder-orange-700:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#b43403;color:rgba(180,52,3,var(--placeholder-opacity))}.md\:focus\:placeholder-orange-700:focus::placeholder{--placeholder-opacity:1;color:#b43403;color:rgba(180,52,3,var(--placeholder-opacity))}.md\:focus\:placeholder-orange-800:focus::-moz-placeholder{--placeholder-opacity:1;color:#8a2c0d;color:rgba(138,44,13,var(--placeholder-opacity))}.md\:focus\:placeholder-orange-800:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#8a2c0d;color:rgba(138,44,13,var(--placeholder-opacity))}.md\:focus\:placeholder-orange-800:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#8a2c0d;color:rgba(138,44,13,var(--placeholder-opacity))}.md\:focus\:placeholder-orange-800:focus::placeholder{--placeholder-opacity:1;color:#8a2c0d;color:rgba(138,44,13,var(--placeholder-opacity))}.md\:focus\:placeholder-orange-900:focus::-moz-placeholder{--placeholder-opacity:1;color:#73230d;color:rgba(115,35,13,var(--placeholder-opacity))}.md\:focus\:placeholder-orange-900:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#73230d;color:rgba(115,35,13,var(--placeholder-opacity))}.md\:focus\:placeholder-orange-900:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#73230d;color:rgba(115,35,13,var(--placeholder-opacity))}.md\:focus\:placeholder-orange-900:focus::placeholder{--placeholder-opacity:1;color:#73230d;color:rgba(115,35,13,var(--placeholder-opacity))}.md\:focus\:placeholder-yellow-50:focus::-moz-placeholder{--placeholder-opacity:1;color:#fdfdea;color:rgba(253,253,234,var(--placeholder-opacity))}.md\:focus\:placeholder-yellow-50:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#fdfdea;color:rgba(253,253,234,var(--placeholder-opacity))}.md\:focus\:placeholder-yellow-50:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#fdfdea;color:rgba(253,253,234,var(--placeholder-opacity))}.md\:focus\:placeholder-yellow-50:focus::placeholder{--placeholder-opacity:1;color:#fdfdea;color:rgba(253,253,234,var(--placeholder-opacity))}.md\:focus\:placeholder-yellow-100:focus::-moz-placeholder{--placeholder-opacity:1;color:#fdf6b2;color:rgba(253,246,178,var(--placeholder-opacity))}.md\:focus\:placeholder-yellow-100:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#fdf6b2;color:rgba(253,246,178,var(--placeholder-opacity))}.md\:focus\:placeholder-yellow-100:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#fdf6b2;color:rgba(253,246,178,var(--placeholder-opacity))}.md\:focus\:placeholder-yellow-100:focus::placeholder{--placeholder-opacity:1;color:#fdf6b2;color:rgba(253,246,178,var(--placeholder-opacity))}.md\:focus\:placeholder-yellow-200:focus::-moz-placeholder{--placeholder-opacity:1;color:#fce96a;color:rgba(252,233,106,var(--placeholder-opacity))}.md\:focus\:placeholder-yellow-200:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#fce96a;color:rgba(252,233,106,var(--placeholder-opacity))}.md\:focus\:placeholder-yellow-200:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#fce96a;color:rgba(252,233,106,var(--placeholder-opacity))}.md\:focus\:placeholder-yellow-200:focus::placeholder{--placeholder-opacity:1;color:#fce96a;color:rgba(252,233,106,var(--placeholder-opacity))}.md\:focus\:placeholder-yellow-300:focus::-moz-placeholder{--placeholder-opacity:1;color:#faca15;color:rgba(250,202,21,var(--placeholder-opacity))}.md\:focus\:placeholder-yellow-300:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#faca15;color:rgba(250,202,21,var(--placeholder-opacity))}.md\:focus\:placeholder-yellow-300:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#faca15;color:rgba(250,202,21,var(--placeholder-opacity))}.md\:focus\:placeholder-yellow-300:focus::placeholder{--placeholder-opacity:1;color:#faca15;color:rgba(250,202,21,var(--placeholder-opacity))}.md\:focus\:placeholder-yellow-400:focus::-moz-placeholder{--placeholder-opacity:1;color:#e3a008;color:rgba(227,160,8,var(--placeholder-opacity))}.md\:focus\:placeholder-yellow-400:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#e3a008;color:rgba(227,160,8,var(--placeholder-opacity))}.md\:focus\:placeholder-yellow-400:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#e3a008;color:rgba(227,160,8,var(--placeholder-opacity))}.md\:focus\:placeholder-yellow-400:focus::placeholder{--placeholder-opacity:1;color:#e3a008;color:rgba(227,160,8,var(--placeholder-opacity))}.md\:focus\:placeholder-yellow-500:focus::-moz-placeholder{--placeholder-opacity:1;color:#c27803;color:rgba(194,120,3,var(--placeholder-opacity))}.md\:focus\:placeholder-yellow-500:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#c27803;color:rgba(194,120,3,var(--placeholder-opacity))}.md\:focus\:placeholder-yellow-500:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#c27803;color:rgba(194,120,3,var(--placeholder-opacity))}.md\:focus\:placeholder-yellow-500:focus::placeholder{--placeholder-opacity:1;color:#c27803;color:rgba(194,120,3,var(--placeholder-opacity))}.md\:focus\:placeholder-yellow-600:focus::-moz-placeholder{--placeholder-opacity:1;color:#9f580a;color:rgba(159,88,10,var(--placeholder-opacity))}.md\:focus\:placeholder-yellow-600:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#9f580a;color:rgba(159,88,10,var(--placeholder-opacity))}.md\:focus\:placeholder-yellow-600:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#9f580a;color:rgba(159,88,10,var(--placeholder-opacity))}.md\:focus\:placeholder-yellow-600:focus::placeholder{--placeholder-opacity:1;color:#9f580a;color:rgba(159,88,10,var(--placeholder-opacity))}.md\:focus\:placeholder-yellow-700:focus::-moz-placeholder{--placeholder-opacity:1;color:#8e4b10;color:rgba(142,75,16,var(--placeholder-opacity))}.md\:focus\:placeholder-yellow-700:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#8e4b10;color:rgba(142,75,16,var(--placeholder-opacity))}.md\:focus\:placeholder-yellow-700:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#8e4b10;color:rgba(142,75,16,var(--placeholder-opacity))}.md\:focus\:placeholder-yellow-700:focus::placeholder{--placeholder-opacity:1;color:#8e4b10;color:rgba(142,75,16,var(--placeholder-opacity))}.md\:focus\:placeholder-yellow-800:focus::-moz-placeholder{--placeholder-opacity:1;color:#723b13;color:rgba(114,59,19,var(--placeholder-opacity))}.md\:focus\:placeholder-yellow-800:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#723b13;color:rgba(114,59,19,var(--placeholder-opacity))}.md\:focus\:placeholder-yellow-800:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#723b13;color:rgba(114,59,19,var(--placeholder-opacity))}.md\:focus\:placeholder-yellow-800:focus::placeholder{--placeholder-opacity:1;color:#723b13;color:rgba(114,59,19,var(--placeholder-opacity))}.md\:focus\:placeholder-yellow-900:focus::-moz-placeholder{--placeholder-opacity:1;color:#633112;color:rgba(99,49,18,var(--placeholder-opacity))}.md\:focus\:placeholder-yellow-900:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#633112;color:rgba(99,49,18,var(--placeholder-opacity))}.md\:focus\:placeholder-yellow-900:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#633112;color:rgba(99,49,18,var(--placeholder-opacity))}.md\:focus\:placeholder-yellow-900:focus::placeholder{--placeholder-opacity:1;color:#633112;color:rgba(99,49,18,var(--placeholder-opacity))}.md\:focus\:placeholder-green-50:focus::-moz-placeholder{--placeholder-opacity:1;color:#f3faf7;color:rgba(243,250,247,var(--placeholder-opacity))}.md\:focus\:placeholder-green-50:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#f3faf7;color:rgba(243,250,247,var(--placeholder-opacity))}.md\:focus\:placeholder-green-50:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#f3faf7;color:rgba(243,250,247,var(--placeholder-opacity))}.md\:focus\:placeholder-green-50:focus::placeholder{--placeholder-opacity:1;color:#f3faf7;color:rgba(243,250,247,var(--placeholder-opacity))}.md\:focus\:placeholder-green-100:focus::-moz-placeholder{--placeholder-opacity:1;color:#def7ec;color:rgba(222,247,236,var(--placeholder-opacity))}.md\:focus\:placeholder-green-100:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#def7ec;color:rgba(222,247,236,var(--placeholder-opacity))}.md\:focus\:placeholder-green-100:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#def7ec;color:rgba(222,247,236,var(--placeholder-opacity))}.md\:focus\:placeholder-green-100:focus::placeholder{--placeholder-opacity:1;color:#def7ec;color:rgba(222,247,236,var(--placeholder-opacity))}.md\:focus\:placeholder-green-200:focus::-moz-placeholder{--placeholder-opacity:1;color:#bcf0da;color:rgba(188,240,218,var(--placeholder-opacity))}.md\:focus\:placeholder-green-200:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#bcf0da;color:rgba(188,240,218,var(--placeholder-opacity))}.md\:focus\:placeholder-green-200:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#bcf0da;color:rgba(188,240,218,var(--placeholder-opacity))}.md\:focus\:placeholder-green-200:focus::placeholder{--placeholder-opacity:1;color:#bcf0da;color:rgba(188,240,218,var(--placeholder-opacity))}.md\:focus\:placeholder-green-300:focus::-moz-placeholder{--placeholder-opacity:1;color:#84e1bc;color:rgba(132,225,188,var(--placeholder-opacity))}.md\:focus\:placeholder-green-300:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#84e1bc;color:rgba(132,225,188,var(--placeholder-opacity))}.md\:focus\:placeholder-green-300:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#84e1bc;color:rgba(132,225,188,var(--placeholder-opacity))}.md\:focus\:placeholder-green-300:focus::placeholder{--placeholder-opacity:1;color:#84e1bc;color:rgba(132,225,188,var(--placeholder-opacity))}.md\:focus\:placeholder-green-400:focus::-moz-placeholder{--placeholder-opacity:1;color:#31c48d;color:rgba(49,196,141,var(--placeholder-opacity))}.md\:focus\:placeholder-green-400:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#31c48d;color:rgba(49,196,141,var(--placeholder-opacity))}.md\:focus\:placeholder-green-400:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#31c48d;color:rgba(49,196,141,var(--placeholder-opacity))}.md\:focus\:placeholder-green-400:focus::placeholder{--placeholder-opacity:1;color:#31c48d;color:rgba(49,196,141,var(--placeholder-opacity))}.md\:focus\:placeholder-green-500:focus::-moz-placeholder{--placeholder-opacity:1;color:#0e9f6e;color:rgba(14,159,110,var(--placeholder-opacity))}.md\:focus\:placeholder-green-500:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#0e9f6e;color:rgba(14,159,110,var(--placeholder-opacity))}.md\:focus\:placeholder-green-500:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#0e9f6e;color:rgba(14,159,110,var(--placeholder-opacity))}.md\:focus\:placeholder-green-500:focus::placeholder{--placeholder-opacity:1;color:#0e9f6e;color:rgba(14,159,110,var(--placeholder-opacity))}.md\:focus\:placeholder-green-600:focus::-moz-placeholder{--placeholder-opacity:1;color:#057a55;color:rgba(5,122,85,var(--placeholder-opacity))}.md\:focus\:placeholder-green-600:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#057a55;color:rgba(5,122,85,var(--placeholder-opacity))}.md\:focus\:placeholder-green-600:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#057a55;color:rgba(5,122,85,var(--placeholder-opacity))}.md\:focus\:placeholder-green-600:focus::placeholder{--placeholder-opacity:1;color:#057a55;color:rgba(5,122,85,var(--placeholder-opacity))}.md\:focus\:placeholder-green-700:focus::-moz-placeholder{--placeholder-opacity:1;color:#046c4e;color:rgba(4,108,78,var(--placeholder-opacity))}.md\:focus\:placeholder-green-700:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#046c4e;color:rgba(4,108,78,var(--placeholder-opacity))}.md\:focus\:placeholder-green-700:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#046c4e;color:rgba(4,108,78,var(--placeholder-opacity))}.md\:focus\:placeholder-green-700:focus::placeholder{--placeholder-opacity:1;color:#046c4e;color:rgba(4,108,78,var(--placeholder-opacity))}.md\:focus\:placeholder-green-800:focus::-moz-placeholder{--placeholder-opacity:1;color:#03543f;color:rgba(3,84,63,var(--placeholder-opacity))}.md\:focus\:placeholder-green-800:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#03543f;color:rgba(3,84,63,var(--placeholder-opacity))}.md\:focus\:placeholder-green-800:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#03543f;color:rgba(3,84,63,var(--placeholder-opacity))}.md\:focus\:placeholder-green-800:focus::placeholder{--placeholder-opacity:1;color:#03543f;color:rgba(3,84,63,var(--placeholder-opacity))}.md\:focus\:placeholder-green-900:focus::-moz-placeholder{--placeholder-opacity:1;color:#014737;color:rgba(1,71,55,var(--placeholder-opacity))}.md\:focus\:placeholder-green-900:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#014737;color:rgba(1,71,55,var(--placeholder-opacity))}.md\:focus\:placeholder-green-900:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#014737;color:rgba(1,71,55,var(--placeholder-opacity))}.md\:focus\:placeholder-green-900:focus::placeholder{--placeholder-opacity:1;color:#014737;color:rgba(1,71,55,var(--placeholder-opacity))}.md\:focus\:placeholder-teal-50:focus::-moz-placeholder{--placeholder-opacity:1;color:#edfafa;color:rgba(237,250,250,var(--placeholder-opacity))}.md\:focus\:placeholder-teal-50:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#edfafa;color:rgba(237,250,250,var(--placeholder-opacity))}.md\:focus\:placeholder-teal-50:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#edfafa;color:rgba(237,250,250,var(--placeholder-opacity))}.md\:focus\:placeholder-teal-50:focus::placeholder{--placeholder-opacity:1;color:#edfafa;color:rgba(237,250,250,var(--placeholder-opacity))}.md\:focus\:placeholder-teal-100:focus::-moz-placeholder{--placeholder-opacity:1;color:#d5f5f6;color:rgba(213,245,246,var(--placeholder-opacity))}.md\:focus\:placeholder-teal-100:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#d5f5f6;color:rgba(213,245,246,var(--placeholder-opacity))}.md\:focus\:placeholder-teal-100:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#d5f5f6;color:rgba(213,245,246,var(--placeholder-opacity))}.md\:focus\:placeholder-teal-100:focus::placeholder{--placeholder-opacity:1;color:#d5f5f6;color:rgba(213,245,246,var(--placeholder-opacity))}.md\:focus\:placeholder-teal-200:focus::-moz-placeholder{--placeholder-opacity:1;color:#afecef;color:rgba(175,236,239,var(--placeholder-opacity))}.md\:focus\:placeholder-teal-200:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#afecef;color:rgba(175,236,239,var(--placeholder-opacity))}.md\:focus\:placeholder-teal-200:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#afecef;color:rgba(175,236,239,var(--placeholder-opacity))}.md\:focus\:placeholder-teal-200:focus::placeholder{--placeholder-opacity:1;color:#afecef;color:rgba(175,236,239,var(--placeholder-opacity))}.md\:focus\:placeholder-teal-300:focus::-moz-placeholder{--placeholder-opacity:1;color:#7edce2;color:rgba(126,220,226,var(--placeholder-opacity))}.md\:focus\:placeholder-teal-300:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#7edce2;color:rgba(126,220,226,var(--placeholder-opacity))}.md\:focus\:placeholder-teal-300:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#7edce2;color:rgba(126,220,226,var(--placeholder-opacity))}.md\:focus\:placeholder-teal-300:focus::placeholder{--placeholder-opacity:1;color:#7edce2;color:rgba(126,220,226,var(--placeholder-opacity))}.md\:focus\:placeholder-teal-400:focus::-moz-placeholder{--placeholder-opacity:1;color:#16bdca;color:rgba(22,189,202,var(--placeholder-opacity))}.md\:focus\:placeholder-teal-400:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#16bdca;color:rgba(22,189,202,var(--placeholder-opacity))}.md\:focus\:placeholder-teal-400:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#16bdca;color:rgba(22,189,202,var(--placeholder-opacity))}.md\:focus\:placeholder-teal-400:focus::placeholder{--placeholder-opacity:1;color:#16bdca;color:rgba(22,189,202,var(--placeholder-opacity))}.md\:focus\:placeholder-teal-500:focus::-moz-placeholder{--placeholder-opacity:1;color:#0694a2;color:rgba(6,148,162,var(--placeholder-opacity))}.md\:focus\:placeholder-teal-500:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#0694a2;color:rgba(6,148,162,var(--placeholder-opacity))}.md\:focus\:placeholder-teal-500:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#0694a2;color:rgba(6,148,162,var(--placeholder-opacity))}.md\:focus\:placeholder-teal-500:focus::placeholder{--placeholder-opacity:1;color:#0694a2;color:rgba(6,148,162,var(--placeholder-opacity))}.md\:focus\:placeholder-teal-600:focus::-moz-placeholder{--placeholder-opacity:1;color:#047481;color:rgba(4,116,129,var(--placeholder-opacity))}.md\:focus\:placeholder-teal-600:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#047481;color:rgba(4,116,129,var(--placeholder-opacity))}.md\:focus\:placeholder-teal-600:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#047481;color:rgba(4,116,129,var(--placeholder-opacity))}.md\:focus\:placeholder-teal-600:focus::placeholder{--placeholder-opacity:1;color:#047481;color:rgba(4,116,129,var(--placeholder-opacity))}.md\:focus\:placeholder-teal-700:focus::-moz-placeholder{--placeholder-opacity:1;color:#036672;color:rgba(3,102,114,var(--placeholder-opacity))}.md\:focus\:placeholder-teal-700:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#036672;color:rgba(3,102,114,var(--placeholder-opacity))}.md\:focus\:placeholder-teal-700:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#036672;color:rgba(3,102,114,var(--placeholder-opacity))}.md\:focus\:placeholder-teal-700:focus::placeholder{--placeholder-opacity:1;color:#036672;color:rgba(3,102,114,var(--placeholder-opacity))}.md\:focus\:placeholder-teal-800:focus::-moz-placeholder{--placeholder-opacity:1;color:#05505c;color:rgba(5,80,92,var(--placeholder-opacity))}.md\:focus\:placeholder-teal-800:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#05505c;color:rgba(5,80,92,var(--placeholder-opacity))}.md\:focus\:placeholder-teal-800:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#05505c;color:rgba(5,80,92,var(--placeholder-opacity))}.md\:focus\:placeholder-teal-800:focus::placeholder{--placeholder-opacity:1;color:#05505c;color:rgba(5,80,92,var(--placeholder-opacity))}.md\:focus\:placeholder-teal-900:focus::-moz-placeholder{--placeholder-opacity:1;color:#014451;color:rgba(1,68,81,var(--placeholder-opacity))}.md\:focus\:placeholder-teal-900:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#014451;color:rgba(1,68,81,var(--placeholder-opacity))}.md\:focus\:placeholder-teal-900:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#014451;color:rgba(1,68,81,var(--placeholder-opacity))}.md\:focus\:placeholder-teal-900:focus::placeholder{--placeholder-opacity:1;color:#014451;color:rgba(1,68,81,var(--placeholder-opacity))}.md\:focus\:placeholder-blue-50:focus::-moz-placeholder{--placeholder-opacity:1;color:#ebf5ff;color:rgba(235,245,255,var(--placeholder-opacity))}.md\:focus\:placeholder-blue-50:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#ebf5ff;color:rgba(235,245,255,var(--placeholder-opacity))}.md\:focus\:placeholder-blue-50:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#ebf5ff;color:rgba(235,245,255,var(--placeholder-opacity))}.md\:focus\:placeholder-blue-50:focus::placeholder{--placeholder-opacity:1;color:#ebf5ff;color:rgba(235,245,255,var(--placeholder-opacity))}.md\:focus\:placeholder-blue-100:focus::-moz-placeholder{--placeholder-opacity:1;color:#e1effe;color:rgba(225,239,254,var(--placeholder-opacity))}.md\:focus\:placeholder-blue-100:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#e1effe;color:rgba(225,239,254,var(--placeholder-opacity))}.md\:focus\:placeholder-blue-100:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#e1effe;color:rgba(225,239,254,var(--placeholder-opacity))}.md\:focus\:placeholder-blue-100:focus::placeholder{--placeholder-opacity:1;color:#e1effe;color:rgba(225,239,254,var(--placeholder-opacity))}.md\:focus\:placeholder-blue-200:focus::-moz-placeholder{--placeholder-opacity:1;color:#c3ddfd;color:rgba(195,221,253,var(--placeholder-opacity))}.md\:focus\:placeholder-blue-200:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#c3ddfd;color:rgba(195,221,253,var(--placeholder-opacity))}.md\:focus\:placeholder-blue-200:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#c3ddfd;color:rgba(195,221,253,var(--placeholder-opacity))}.md\:focus\:placeholder-blue-200:focus::placeholder{--placeholder-opacity:1;color:#c3ddfd;color:rgba(195,221,253,var(--placeholder-opacity))}.md\:focus\:placeholder-blue-300:focus::-moz-placeholder{--placeholder-opacity:1;color:#a4cafe;color:rgba(164,202,254,var(--placeholder-opacity))}.md\:focus\:placeholder-blue-300:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#a4cafe;color:rgba(164,202,254,var(--placeholder-opacity))}.md\:focus\:placeholder-blue-300:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#a4cafe;color:rgba(164,202,254,var(--placeholder-opacity))}.md\:focus\:placeholder-blue-300:focus::placeholder{--placeholder-opacity:1;color:#a4cafe;color:rgba(164,202,254,var(--placeholder-opacity))}.md\:focus\:placeholder-blue-400:focus::-moz-placeholder{--placeholder-opacity:1;color:#76a9fa;color:rgba(118,169,250,var(--placeholder-opacity))}.md\:focus\:placeholder-blue-400:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#76a9fa;color:rgba(118,169,250,var(--placeholder-opacity))}.md\:focus\:placeholder-blue-400:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#76a9fa;color:rgba(118,169,250,var(--placeholder-opacity))}.md\:focus\:placeholder-blue-400:focus::placeholder{--placeholder-opacity:1;color:#76a9fa;color:rgba(118,169,250,var(--placeholder-opacity))}.md\:focus\:placeholder-blue-500:focus::-moz-placeholder{--placeholder-opacity:1;color:#3f83f8;color:rgba(63,131,248,var(--placeholder-opacity))}.md\:focus\:placeholder-blue-500:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#3f83f8;color:rgba(63,131,248,var(--placeholder-opacity))}.md\:focus\:placeholder-blue-500:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#3f83f8;color:rgba(63,131,248,var(--placeholder-opacity))}.md\:focus\:placeholder-blue-500:focus::placeholder{--placeholder-opacity:1;color:#3f83f8;color:rgba(63,131,248,var(--placeholder-opacity))}.md\:focus\:placeholder-blue-600:focus::-moz-placeholder{--placeholder-opacity:1;color:#1c64f2;color:rgba(28,100,242,var(--placeholder-opacity))}.md\:focus\:placeholder-blue-600:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#1c64f2;color:rgba(28,100,242,var(--placeholder-opacity))}.md\:focus\:placeholder-blue-600:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#1c64f2;color:rgba(28,100,242,var(--placeholder-opacity))}.md\:focus\:placeholder-blue-600:focus::placeholder{--placeholder-opacity:1;color:#1c64f2;color:rgba(28,100,242,var(--placeholder-opacity))}.md\:focus\:placeholder-blue-700:focus::-moz-placeholder{--placeholder-opacity:1;color:#1a56db;color:rgba(26,86,219,var(--placeholder-opacity))}.md\:focus\:placeholder-blue-700:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#1a56db;color:rgba(26,86,219,var(--placeholder-opacity))}.md\:focus\:placeholder-blue-700:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#1a56db;color:rgba(26,86,219,var(--placeholder-opacity))}.md\:focus\:placeholder-blue-700:focus::placeholder{--placeholder-opacity:1;color:#1a56db;color:rgba(26,86,219,var(--placeholder-opacity))}.md\:focus\:placeholder-blue-800:focus::-moz-placeholder{--placeholder-opacity:1;color:#1e429f;color:rgba(30,66,159,var(--placeholder-opacity))}.md\:focus\:placeholder-blue-800:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#1e429f;color:rgba(30,66,159,var(--placeholder-opacity))}.md\:focus\:placeholder-blue-800:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#1e429f;color:rgba(30,66,159,var(--placeholder-opacity))}.md\:focus\:placeholder-blue-800:focus::placeholder{--placeholder-opacity:1;color:#1e429f;color:rgba(30,66,159,var(--placeholder-opacity))}.md\:focus\:placeholder-blue-900:focus::-moz-placeholder{--placeholder-opacity:1;color:#233876;color:rgba(35,56,118,var(--placeholder-opacity))}.md\:focus\:placeholder-blue-900:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#233876;color:rgba(35,56,118,var(--placeholder-opacity))}.md\:focus\:placeholder-blue-900:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#233876;color:rgba(35,56,118,var(--placeholder-opacity))}.md\:focus\:placeholder-blue-900:focus::placeholder{--placeholder-opacity:1;color:#233876;color:rgba(35,56,118,var(--placeholder-opacity))}.md\:focus\:placeholder-indigo-50:focus::-moz-placeholder{--placeholder-opacity:1;color:#f0f5ff;color:rgba(240,245,255,var(--placeholder-opacity))}.md\:focus\:placeholder-indigo-50:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#f0f5ff;color:rgba(240,245,255,var(--placeholder-opacity))}.md\:focus\:placeholder-indigo-50:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#f0f5ff;color:rgba(240,245,255,var(--placeholder-opacity))}.md\:focus\:placeholder-indigo-50:focus::placeholder{--placeholder-opacity:1;color:#f0f5ff;color:rgba(240,245,255,var(--placeholder-opacity))}.md\:focus\:placeholder-indigo-100:focus::-moz-placeholder{--placeholder-opacity:1;color:#e5edff;color:rgba(229,237,255,var(--placeholder-opacity))}.md\:focus\:placeholder-indigo-100:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#e5edff;color:rgba(229,237,255,var(--placeholder-opacity))}.md\:focus\:placeholder-indigo-100:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#e5edff;color:rgba(229,237,255,var(--placeholder-opacity))}.md\:focus\:placeholder-indigo-100:focus::placeholder{--placeholder-opacity:1;color:#e5edff;color:rgba(229,237,255,var(--placeholder-opacity))}.md\:focus\:placeholder-indigo-200:focus::-moz-placeholder{--placeholder-opacity:1;color:#cddbfe;color:rgba(205,219,254,var(--placeholder-opacity))}.md\:focus\:placeholder-indigo-200:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#cddbfe;color:rgba(205,219,254,var(--placeholder-opacity))}.md\:focus\:placeholder-indigo-200:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#cddbfe;color:rgba(205,219,254,var(--placeholder-opacity))}.md\:focus\:placeholder-indigo-200:focus::placeholder{--placeholder-opacity:1;color:#cddbfe;color:rgba(205,219,254,var(--placeholder-opacity))}.md\:focus\:placeholder-indigo-300:focus::-moz-placeholder{--placeholder-opacity:1;color:#b4c6fc;color:rgba(180,198,252,var(--placeholder-opacity))}.md\:focus\:placeholder-indigo-300:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#b4c6fc;color:rgba(180,198,252,var(--placeholder-opacity))}.md\:focus\:placeholder-indigo-300:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#b4c6fc;color:rgba(180,198,252,var(--placeholder-opacity))}.md\:focus\:placeholder-indigo-300:focus::placeholder{--placeholder-opacity:1;color:#b4c6fc;color:rgba(180,198,252,var(--placeholder-opacity))}.md\:focus\:placeholder-indigo-400:focus::-moz-placeholder{--placeholder-opacity:1;color:#8da2fb;color:rgba(141,162,251,var(--placeholder-opacity))}.md\:focus\:placeholder-indigo-400:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#8da2fb;color:rgba(141,162,251,var(--placeholder-opacity))}.md\:focus\:placeholder-indigo-400:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#8da2fb;color:rgba(141,162,251,var(--placeholder-opacity))}.md\:focus\:placeholder-indigo-400:focus::placeholder{--placeholder-opacity:1;color:#8da2fb;color:rgba(141,162,251,var(--placeholder-opacity))}.md\:focus\:placeholder-indigo-500:focus::-moz-placeholder{--placeholder-opacity:1;color:#6875f5;color:rgba(104,117,245,var(--placeholder-opacity))}.md\:focus\:placeholder-indigo-500:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#6875f5;color:rgba(104,117,245,var(--placeholder-opacity))}.md\:focus\:placeholder-indigo-500:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#6875f5;color:rgba(104,117,245,var(--placeholder-opacity))}.md\:focus\:placeholder-indigo-500:focus::placeholder{--placeholder-opacity:1;color:#6875f5;color:rgba(104,117,245,var(--placeholder-opacity))}.md\:focus\:placeholder-indigo-600:focus::-moz-placeholder{--placeholder-opacity:1;color:#5850ec;color:rgba(88,80,236,var(--placeholder-opacity))}.md\:focus\:placeholder-indigo-600:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#5850ec;color:rgba(88,80,236,var(--placeholder-opacity))}.md\:focus\:placeholder-indigo-600:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#5850ec;color:rgba(88,80,236,var(--placeholder-opacity))}.md\:focus\:placeholder-indigo-600:focus::placeholder{--placeholder-opacity:1;color:#5850ec;color:rgba(88,80,236,var(--placeholder-opacity))}.md\:focus\:placeholder-indigo-700:focus::-moz-placeholder{--placeholder-opacity:1;color:#5145cd;color:rgba(81,69,205,var(--placeholder-opacity))}.md\:focus\:placeholder-indigo-700:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#5145cd;color:rgba(81,69,205,var(--placeholder-opacity))}.md\:focus\:placeholder-indigo-700:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#5145cd;color:rgba(81,69,205,var(--placeholder-opacity))}.md\:focus\:placeholder-indigo-700:focus::placeholder{--placeholder-opacity:1;color:#5145cd;color:rgba(81,69,205,var(--placeholder-opacity))}.md\:focus\:placeholder-indigo-800:focus::-moz-placeholder{--placeholder-opacity:1;color:#42389d;color:rgba(66,56,157,var(--placeholder-opacity))}.md\:focus\:placeholder-indigo-800:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#42389d;color:rgba(66,56,157,var(--placeholder-opacity))}.md\:focus\:placeholder-indigo-800:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#42389d;color:rgba(66,56,157,var(--placeholder-opacity))}.md\:focus\:placeholder-indigo-800:focus::placeholder{--placeholder-opacity:1;color:#42389d;color:rgba(66,56,157,var(--placeholder-opacity))}.md\:focus\:placeholder-indigo-900:focus::-moz-placeholder{--placeholder-opacity:1;color:#362f78;color:rgba(54,47,120,var(--placeholder-opacity))}.md\:focus\:placeholder-indigo-900:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#362f78;color:rgba(54,47,120,var(--placeholder-opacity))}.md\:focus\:placeholder-indigo-900:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#362f78;color:rgba(54,47,120,var(--placeholder-opacity))}.md\:focus\:placeholder-indigo-900:focus::placeholder{--placeholder-opacity:1;color:#362f78;color:rgba(54,47,120,var(--placeholder-opacity))}.md\:focus\:placeholder-purple-50:focus::-moz-placeholder{--placeholder-opacity:1;color:#f6f5ff;color:rgba(246,245,255,var(--placeholder-opacity))}.md\:focus\:placeholder-purple-50:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#f6f5ff;color:rgba(246,245,255,var(--placeholder-opacity))}.md\:focus\:placeholder-purple-50:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#f6f5ff;color:rgba(246,245,255,var(--placeholder-opacity))}.md\:focus\:placeholder-purple-50:focus::placeholder{--placeholder-opacity:1;color:#f6f5ff;color:rgba(246,245,255,var(--placeholder-opacity))}.md\:focus\:placeholder-purple-100:focus::-moz-placeholder{--placeholder-opacity:1;color:#edebfe;color:rgba(237,235,254,var(--placeholder-opacity))}.md\:focus\:placeholder-purple-100:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#edebfe;color:rgba(237,235,254,var(--placeholder-opacity))}.md\:focus\:placeholder-purple-100:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#edebfe;color:rgba(237,235,254,var(--placeholder-opacity))}.md\:focus\:placeholder-purple-100:focus::placeholder{--placeholder-opacity:1;color:#edebfe;color:rgba(237,235,254,var(--placeholder-opacity))}.md\:focus\:placeholder-purple-200:focus::-moz-placeholder{--placeholder-opacity:1;color:#dcd7fe;color:rgba(220,215,254,var(--placeholder-opacity))}.md\:focus\:placeholder-purple-200:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#dcd7fe;color:rgba(220,215,254,var(--placeholder-opacity))}.md\:focus\:placeholder-purple-200:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#dcd7fe;color:rgba(220,215,254,var(--placeholder-opacity))}.md\:focus\:placeholder-purple-200:focus::placeholder{--placeholder-opacity:1;color:#dcd7fe;color:rgba(220,215,254,var(--placeholder-opacity))}.md\:focus\:placeholder-purple-300:focus::-moz-placeholder{--placeholder-opacity:1;color:#cabffd;color:rgba(202,191,253,var(--placeholder-opacity))}.md\:focus\:placeholder-purple-300:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#cabffd;color:rgba(202,191,253,var(--placeholder-opacity))}.md\:focus\:placeholder-purple-300:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#cabffd;color:rgba(202,191,253,var(--placeholder-opacity))}.md\:focus\:placeholder-purple-300:focus::placeholder{--placeholder-opacity:1;color:#cabffd;color:rgba(202,191,253,var(--placeholder-opacity))}.md\:focus\:placeholder-purple-400:focus::-moz-placeholder{--placeholder-opacity:1;color:#ac94fa;color:rgba(172,148,250,var(--placeholder-opacity))}.md\:focus\:placeholder-purple-400:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#ac94fa;color:rgba(172,148,250,var(--placeholder-opacity))}.md\:focus\:placeholder-purple-400:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#ac94fa;color:rgba(172,148,250,var(--placeholder-opacity))}.md\:focus\:placeholder-purple-400:focus::placeholder{--placeholder-opacity:1;color:#ac94fa;color:rgba(172,148,250,var(--placeholder-opacity))}.md\:focus\:placeholder-purple-500:focus::-moz-placeholder{--placeholder-opacity:1;color:#9061f9;color:rgba(144,97,249,var(--placeholder-opacity))}.md\:focus\:placeholder-purple-500:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#9061f9;color:rgba(144,97,249,var(--placeholder-opacity))}.md\:focus\:placeholder-purple-500:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#9061f9;color:rgba(144,97,249,var(--placeholder-opacity))}.md\:focus\:placeholder-purple-500:focus::placeholder{--placeholder-opacity:1;color:#9061f9;color:rgba(144,97,249,var(--placeholder-opacity))}.md\:focus\:placeholder-purple-600:focus::-moz-placeholder{--placeholder-opacity:1;color:#7e3af2;color:rgba(126,58,242,var(--placeholder-opacity))}.md\:focus\:placeholder-purple-600:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#7e3af2;color:rgba(126,58,242,var(--placeholder-opacity))}.md\:focus\:placeholder-purple-600:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#7e3af2;color:rgba(126,58,242,var(--placeholder-opacity))}.md\:focus\:placeholder-purple-600:focus::placeholder{--placeholder-opacity:1;color:#7e3af2;color:rgba(126,58,242,var(--placeholder-opacity))}.md\:focus\:placeholder-purple-700:focus::-moz-placeholder{--placeholder-opacity:1;color:#6c2bd9;color:rgba(108,43,217,var(--placeholder-opacity))}.md\:focus\:placeholder-purple-700:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#6c2bd9;color:rgba(108,43,217,var(--placeholder-opacity))}.md\:focus\:placeholder-purple-700:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#6c2bd9;color:rgba(108,43,217,var(--placeholder-opacity))}.md\:focus\:placeholder-purple-700:focus::placeholder{--placeholder-opacity:1;color:#6c2bd9;color:rgba(108,43,217,var(--placeholder-opacity))}.md\:focus\:placeholder-purple-800:focus::-moz-placeholder{--placeholder-opacity:1;color:#5521b5;color:rgba(85,33,181,var(--placeholder-opacity))}.md\:focus\:placeholder-purple-800:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#5521b5;color:rgba(85,33,181,var(--placeholder-opacity))}.md\:focus\:placeholder-purple-800:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#5521b5;color:rgba(85,33,181,var(--placeholder-opacity))}.md\:focus\:placeholder-purple-800:focus::placeholder{--placeholder-opacity:1;color:#5521b5;color:rgba(85,33,181,var(--placeholder-opacity))}.md\:focus\:placeholder-purple-900:focus::-moz-placeholder{--placeholder-opacity:1;color:#4a1d96;color:rgba(74,29,150,var(--placeholder-opacity))}.md\:focus\:placeholder-purple-900:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#4a1d96;color:rgba(74,29,150,var(--placeholder-opacity))}.md\:focus\:placeholder-purple-900:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#4a1d96;color:rgba(74,29,150,var(--placeholder-opacity))}.md\:focus\:placeholder-purple-900:focus::placeholder{--placeholder-opacity:1;color:#4a1d96;color:rgba(74,29,150,var(--placeholder-opacity))}.md\:focus\:placeholder-pink-50:focus::-moz-placeholder{--placeholder-opacity:1;color:#fdf2f8;color:rgba(253,242,248,var(--placeholder-opacity))}.md\:focus\:placeholder-pink-50:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#fdf2f8;color:rgba(253,242,248,var(--placeholder-opacity))}.md\:focus\:placeholder-pink-50:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#fdf2f8;color:rgba(253,242,248,var(--placeholder-opacity))}.md\:focus\:placeholder-pink-50:focus::placeholder{--placeholder-opacity:1;color:#fdf2f8;color:rgba(253,242,248,var(--placeholder-opacity))}.md\:focus\:placeholder-pink-100:focus::-moz-placeholder{--placeholder-opacity:1;color:#fce8f3;color:rgba(252,232,243,var(--placeholder-opacity))}.md\:focus\:placeholder-pink-100:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#fce8f3;color:rgba(252,232,243,var(--placeholder-opacity))}.md\:focus\:placeholder-pink-100:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#fce8f3;color:rgba(252,232,243,var(--placeholder-opacity))}.md\:focus\:placeholder-pink-100:focus::placeholder{--placeholder-opacity:1;color:#fce8f3;color:rgba(252,232,243,var(--placeholder-opacity))}.md\:focus\:placeholder-pink-200:focus::-moz-placeholder{--placeholder-opacity:1;color:#fad1e8;color:rgba(250,209,232,var(--placeholder-opacity))}.md\:focus\:placeholder-pink-200:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#fad1e8;color:rgba(250,209,232,var(--placeholder-opacity))}.md\:focus\:placeholder-pink-200:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#fad1e8;color:rgba(250,209,232,var(--placeholder-opacity))}.md\:focus\:placeholder-pink-200:focus::placeholder{--placeholder-opacity:1;color:#fad1e8;color:rgba(250,209,232,var(--placeholder-opacity))}.md\:focus\:placeholder-pink-300:focus::-moz-placeholder{--placeholder-opacity:1;color:#f8b4d9;color:rgba(248,180,217,var(--placeholder-opacity))}.md\:focus\:placeholder-pink-300:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#f8b4d9;color:rgba(248,180,217,var(--placeholder-opacity))}.md\:focus\:placeholder-pink-300:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#f8b4d9;color:rgba(248,180,217,var(--placeholder-opacity))}.md\:focus\:placeholder-pink-300:focus::placeholder{--placeholder-opacity:1;color:#f8b4d9;color:rgba(248,180,217,var(--placeholder-opacity))}.md\:focus\:placeholder-pink-400:focus::-moz-placeholder{--placeholder-opacity:1;color:#f17eb8;color:rgba(241,126,184,var(--placeholder-opacity))}.md\:focus\:placeholder-pink-400:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#f17eb8;color:rgba(241,126,184,var(--placeholder-opacity))}.md\:focus\:placeholder-pink-400:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#f17eb8;color:rgba(241,126,184,var(--placeholder-opacity))}.md\:focus\:placeholder-pink-400:focus::placeholder{--placeholder-opacity:1;color:#f17eb8;color:rgba(241,126,184,var(--placeholder-opacity))}.md\:focus\:placeholder-pink-500:focus::-moz-placeholder{--placeholder-opacity:1;color:#e74694;color:rgba(231,70,148,var(--placeholder-opacity))}.md\:focus\:placeholder-pink-500:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#e74694;color:rgba(231,70,148,var(--placeholder-opacity))}.md\:focus\:placeholder-pink-500:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#e74694;color:rgba(231,70,148,var(--placeholder-opacity))}.md\:focus\:placeholder-pink-500:focus::placeholder{--placeholder-opacity:1;color:#e74694;color:rgba(231,70,148,var(--placeholder-opacity))}.md\:focus\:placeholder-pink-600:focus::-moz-placeholder{--placeholder-opacity:1;color:#d61f69;color:rgba(214,31,105,var(--placeholder-opacity))}.md\:focus\:placeholder-pink-600:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#d61f69;color:rgba(214,31,105,var(--placeholder-opacity))}.md\:focus\:placeholder-pink-600:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#d61f69;color:rgba(214,31,105,var(--placeholder-opacity))}.md\:focus\:placeholder-pink-600:focus::placeholder{--placeholder-opacity:1;color:#d61f69;color:rgba(214,31,105,var(--placeholder-opacity))}.md\:focus\:placeholder-pink-700:focus::-moz-placeholder{--placeholder-opacity:1;color:#bf125d;color:rgba(191,18,93,var(--placeholder-opacity))}.md\:focus\:placeholder-pink-700:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#bf125d;color:rgba(191,18,93,var(--placeholder-opacity))}.md\:focus\:placeholder-pink-700:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#bf125d;color:rgba(191,18,93,var(--placeholder-opacity))}.md\:focus\:placeholder-pink-700:focus::placeholder{--placeholder-opacity:1;color:#bf125d;color:rgba(191,18,93,var(--placeholder-opacity))}.md\:focus\:placeholder-pink-800:focus::-moz-placeholder{--placeholder-opacity:1;color:#99154b;color:rgba(153,21,75,var(--placeholder-opacity))}.md\:focus\:placeholder-pink-800:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#99154b;color:rgba(153,21,75,var(--placeholder-opacity))}.md\:focus\:placeholder-pink-800:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#99154b;color:rgba(153,21,75,var(--placeholder-opacity))}.md\:focus\:placeholder-pink-800:focus::placeholder{--placeholder-opacity:1;color:#99154b;color:rgba(153,21,75,var(--placeholder-opacity))}.md\:focus\:placeholder-pink-900:focus::-moz-placeholder{--placeholder-opacity:1;color:#751a3d;color:rgba(117,26,61,var(--placeholder-opacity))}.md\:focus\:placeholder-pink-900:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#751a3d;color:rgba(117,26,61,var(--placeholder-opacity))}.md\:focus\:placeholder-pink-900:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#751a3d;color:rgba(117,26,61,var(--placeholder-opacity))}.md\:focus\:placeholder-pink-900:focus::placeholder{--placeholder-opacity:1;color:#751a3d;color:rgba(117,26,61,var(--placeholder-opacity))}.md\:placeholder-opacity-0::-moz-placeholder{--placeholder-opacity:0}.md\:placeholder-opacity-0:-ms-input-placeholder{--placeholder-opacity:0}.md\:placeholder-opacity-0::-ms-input-placeholder{--placeholder-opacity:0}.md\:placeholder-opacity-0::placeholder{--placeholder-opacity:0}.md\:placeholder-opacity-25::-moz-placeholder{--placeholder-opacity:0.25}.md\:placeholder-opacity-25:-ms-input-placeholder{--placeholder-opacity:0.25}.md\:placeholder-opacity-25::-ms-input-placeholder{--placeholder-opacity:0.25}.md\:placeholder-opacity-25::placeholder{--placeholder-opacity:0.25}.md\:placeholder-opacity-50::-moz-placeholder{--placeholder-opacity:0.5}.md\:placeholder-opacity-50:-ms-input-placeholder{--placeholder-opacity:0.5}.md\:placeholder-opacity-50::-ms-input-placeholder{--placeholder-opacity:0.5}.md\:placeholder-opacity-50::placeholder{--placeholder-opacity:0.5}.md\:placeholder-opacity-75::-moz-placeholder{--placeholder-opacity:0.75}.md\:placeholder-opacity-75:-ms-input-placeholder{--placeholder-opacity:0.75}.md\:placeholder-opacity-75::-ms-input-placeholder{--placeholder-opacity:0.75}.md\:placeholder-opacity-75::placeholder{--placeholder-opacity:0.75}.md\:placeholder-opacity-100::-moz-placeholder{--placeholder-opacity:1}.md\:placeholder-opacity-100:-ms-input-placeholder{--placeholder-opacity:1}.md\:placeholder-opacity-100::-ms-input-placeholder{--placeholder-opacity:1}.md\:placeholder-opacity-100::placeholder{--placeholder-opacity:1}.md\:focus\:placeholder-opacity-0:focus::-moz-placeholder{--placeholder-opacity:0}.md\:focus\:placeholder-opacity-0:focus:-ms-input-placeholder{--placeholder-opacity:0}.md\:focus\:placeholder-opacity-0:focus::-ms-input-placeholder{--placeholder-opacity:0}.md\:focus\:placeholder-opacity-0:focus::placeholder{--placeholder-opacity:0}.md\:focus\:placeholder-opacity-25:focus::-moz-placeholder{--placeholder-opacity:0.25}.md\:focus\:placeholder-opacity-25:focus:-ms-input-placeholder{--placeholder-opacity:0.25}.md\:focus\:placeholder-opacity-25:focus::-ms-input-placeholder{--placeholder-opacity:0.25}.md\:focus\:placeholder-opacity-25:focus::placeholder{--placeholder-opacity:0.25}.md\:focus\:placeholder-opacity-50:focus::-moz-placeholder{--placeholder-opacity:0.5}.md\:focus\:placeholder-opacity-50:focus:-ms-input-placeholder{--placeholder-opacity:0.5}.md\:focus\:placeholder-opacity-50:focus::-ms-input-placeholder{--placeholder-opacity:0.5}.md\:focus\:placeholder-opacity-50:focus::placeholder{--placeholder-opacity:0.5}.md\:focus\:placeholder-opacity-75:focus::-moz-placeholder{--placeholder-opacity:0.75}.md\:focus\:placeholder-opacity-75:focus:-ms-input-placeholder{--placeholder-opacity:0.75}.md\:focus\:placeholder-opacity-75:focus::-ms-input-placeholder{--placeholder-opacity:0.75}.md\:focus\:placeholder-opacity-75:focus::placeholder{--placeholder-opacity:0.75}.md\:focus\:placeholder-opacity-100:focus::-moz-placeholder{--placeholder-opacity:1}.md\:focus\:placeholder-opacity-100:focus:-ms-input-placeholder{--placeholder-opacity:1}.md\:focus\:placeholder-opacity-100:focus::-ms-input-placeholder{--placeholder-opacity:1}.md\:focus\:placeholder-opacity-100:focus::placeholder{--placeholder-opacity:1}.md\:pointer-events-none{pointer-events:none}.md\:pointer-events-auto{pointer-events:auto}.md\:static{position:static}.md\:fixed{position:fixed}.md\:absolute{position:absolute}.md\:relative{position:relative}.md\:sticky{position:-webkit-sticky;position:sticky}.md\:inset-0{top:0;right:0;bottom:0;left:0}.md\:inset-1{top:.25rem;right:.25rem;bottom:.25rem;left:.25rem}.md\:inset-2{top:.5rem;right:.5rem;bottom:.5rem;left:.5rem}.md\:inset-3{top:.75rem;right:.75rem;bottom:.75rem;left:.75rem}.md\:inset-4{top:1rem;right:1rem;bottom:1rem;left:1rem}.md\:inset-5{top:1.25rem;right:1.25rem;bottom:1.25rem;left:1.25rem}.md\:inset-6{top:1.5rem;right:1.5rem;bottom:1.5rem;left:1.5rem}.md\:inset-7{top:1.75rem;right:1.75rem;bottom:1.75rem;left:1.75rem}.md\:inset-8{top:2rem;right:2rem;bottom:2rem;left:2rem}.md\:inset-9{top:2.25rem;right:2.25rem;bottom:2.25rem;left:2.25rem}.md\:inset-10{top:2.5rem;right:2.5rem;bottom:2.5rem;left:2.5rem}.md\:inset-11{top:2.75rem;right:2.75rem;bottom:2.75rem;left:2.75rem}.md\:inset-12{top:3rem;right:3rem;bottom:3rem;left:3rem}.md\:inset-13{top:3.25rem;right:3.25rem;bottom:3.25rem;left:3.25rem}.md\:inset-14{top:3.5rem;right:3.5rem;bottom:3.5rem;left:3.5rem}.md\:inset-15{top:3.75rem;right:3.75rem;bottom:3.75rem;left:3.75rem}.md\:inset-16{top:4rem;right:4rem;bottom:4rem;left:4rem}.md\:inset-20{top:5rem;right:5rem;bottom:5rem;left:5rem}.md\:inset-24{top:6rem;right:6rem;bottom:6rem;left:6rem}.md\:inset-28{top:7rem;right:7rem;bottom:7rem;left:7rem}.md\:inset-32{top:8rem;right:8rem;bottom:8rem;left:8rem}.md\:inset-36{top:9rem;right:9rem;bottom:9rem;left:9rem}.md\:inset-40{top:10rem;right:10rem;bottom:10rem;left:10rem}.md\:inset-44{top:11rem;right:11rem;bottom:11rem;left:11rem}.md\:inset-48{top:12rem;right:12rem;bottom:12rem;left:12rem}.md\:inset-52{top:13rem;right:13rem;bottom:13rem;left:13rem}.md\:inset-56{top:14rem;right:14rem;bottom:14rem;left:14rem}.md\:inset-60{top:15rem;right:15rem;bottom:15rem;left:15rem}.md\:inset-64{top:16rem;right:16rem;bottom:16rem;left:16rem}.md\:inset-72{top:18rem;right:18rem;bottom:18rem;left:18rem}.md\:inset-80{top:20rem;right:20rem;bottom:20rem;left:20rem}.md\:inset-96{top:24rem;right:24rem;bottom:24rem;left:24rem}.md\:inset-auto{top:auto;right:auto;bottom:auto;left:auto}.md\:inset-px{top:1px;right:1px;bottom:1px;left:1px}.md\:inset-0\.5{top:.125rem;right:.125rem;bottom:.125rem;left:.125rem}.md\:inset-1\.5{top:.375rem;right:.375rem;bottom:.375rem;left:.375rem}.md\:inset-2\.5{top:.625rem;right:.625rem;bottom:.625rem;left:.625rem}.md\:inset-3\.5{top:.875rem;right:.875rem;bottom:.875rem;left:.875rem}.md\:inset-1\/2{top:50%;right:50%;bottom:50%;left:50%}.md\:inset-1\/3{top:33.333333%;right:33.333333%;bottom:33.333333%;left:33.333333%}.md\:inset-2\/3{top:66.666667%;right:66.666667%;bottom:66.666667%;left:66.666667%}.md\:inset-1\/4{top:25%;right:25%;bottom:25%;left:25%}.md\:inset-2\/4{top:50%;right:50%;bottom:50%;left:50%}.md\:inset-3\/4{top:75%;right:75%;bottom:75%;left:75%}.md\:inset-1\/5{top:20%;right:20%;bottom:20%;left:20%}.md\:inset-2\/5{top:40%;right:40%;bottom:40%;left:40%}.md\:inset-3\/5{top:60%;right:60%;bottom:60%;left:60%}.md\:inset-4\/5{top:80%;right:80%;bottom:80%;left:80%}.md\:inset-1\/6{top:16.666667%;right:16.666667%;bottom:16.666667%;left:16.666667%}.md\:inset-2\/6{top:33.333333%;right:33.333333%;bottom:33.333333%;left:33.333333%}.md\:inset-3\/6{top:50%;right:50%;bottom:50%;left:50%}.md\:inset-4\/6{top:66.666667%;right:66.666667%;bottom:66.666667%;left:66.666667%}.md\:inset-5\/6{top:83.333333%;right:83.333333%;bottom:83.333333%;left:83.333333%}.md\:inset-1\/12{top:8.333333%;right:8.333333%;bottom:8.333333%;left:8.333333%}.md\:inset-2\/12{top:16.666667%;right:16.666667%;bottom:16.666667%;left:16.666667%}.md\:inset-3\/12{top:25%;right:25%;bottom:25%;left:25%}.md\:inset-4\/12{top:33.333333%;right:33.333333%;bottom:33.333333%;left:33.333333%}.md\:inset-5\/12{top:41.666667%;right:41.666667%;bottom:41.666667%;left:41.666667%}.md\:inset-6\/12{top:50%;right:50%;bottom:50%;left:50%}.md\:inset-7\/12{top:58.333333%;right:58.333333%;bottom:58.333333%;left:58.333333%}.md\:inset-8\/12{top:66.666667%;right:66.666667%;bottom:66.666667%;left:66.666667%}.md\:inset-9\/12{top:75%;right:75%;bottom:75%;left:75%}.md\:inset-10\/12{top:83.333333%;right:83.333333%;bottom:83.333333%;left:83.333333%}.md\:inset-11\/12{top:91.666667%;right:91.666667%;bottom:91.666667%;left:91.666667%}.md\:inset-full{top:100%;right:100%;bottom:100%;left:100%}.md\:inset-y-0{top:0;bottom:0}.md\:inset-x-0{right:0;left:0}.md\:inset-y-1{top:.25rem;bottom:.25rem}.md\:inset-x-1{right:.25rem;left:.25rem}.md\:inset-y-2{top:.5rem;bottom:.5rem}.md\:inset-x-2{right:.5rem;left:.5rem}.md\:inset-y-3{top:.75rem;bottom:.75rem}.md\:inset-x-3{right:.75rem;left:.75rem}.md\:inset-y-4{top:1rem;bottom:1rem}.md\:inset-x-4{right:1rem;left:1rem}.md\:inset-y-5{top:1.25rem;bottom:1.25rem}.md\:inset-x-5{right:1.25rem;left:1.25rem}.md\:inset-y-6{top:1.5rem;bottom:1.5rem}.md\:inset-x-6{right:1.5rem;left:1.5rem}.md\:inset-y-7{top:1.75rem;bottom:1.75rem}.md\:inset-x-7{right:1.75rem;left:1.75rem}.md\:inset-y-8{top:2rem;bottom:2rem}.md\:inset-x-8{right:2rem;left:2rem}.md\:inset-y-9{top:2.25rem;bottom:2.25rem}.md\:inset-x-9{right:2.25rem;left:2.25rem}.md\:inset-y-10{top:2.5rem;bottom:2.5rem}.md\:inset-x-10{right:2.5rem;left:2.5rem}.md\:inset-y-11{top:2.75rem;bottom:2.75rem}.md\:inset-x-11{right:2.75rem;left:2.75rem}.md\:inset-y-12{top:3rem;bottom:3rem}.md\:inset-x-12{right:3rem;left:3rem}.md\:inset-y-13{top:3.25rem;bottom:3.25rem}.md\:inset-x-13{right:3.25rem;left:3.25rem}.md\:inset-y-14{top:3.5rem;bottom:3.5rem}.md\:inset-x-14{right:3.5rem;left:3.5rem}.md\:inset-y-15{top:3.75rem;bottom:3.75rem}.md\:inset-x-15{right:3.75rem;left:3.75rem}.md\:inset-y-16{top:4rem;bottom:4rem}.md\:inset-x-16{right:4rem;left:4rem}.md\:inset-y-20{top:5rem;bottom:5rem}.md\:inset-x-20{right:5rem;left:5rem}.md\:inset-y-24{top:6rem;bottom:6rem}.md\:inset-x-24{right:6rem;left:6rem}.md\:inset-y-28{top:7rem;bottom:7rem}.md\:inset-x-28{right:7rem;left:7rem}.md\:inset-y-32{top:8rem;bottom:8rem}.md\:inset-x-32{right:8rem;left:8rem}.md\:inset-y-36{top:9rem;bottom:9rem}.md\:inset-x-36{right:9rem;left:9rem}.md\:inset-y-40{top:10rem;bottom:10rem}.md\:inset-x-40{right:10rem;left:10rem}.md\:inset-y-44{top:11rem;bottom:11rem}.md\:inset-x-44{right:11rem;left:11rem}.md\:inset-y-48{top:12rem;bottom:12rem}.md\:inset-x-48{right:12rem;left:12rem}.md\:inset-y-52{top:13rem;bottom:13rem}.md\:inset-x-52{right:13rem;left:13rem}.md\:inset-y-56{top:14rem;bottom:14rem}.md\:inset-x-56{right:14rem;left:14rem}.md\:inset-y-60{top:15rem;bottom:15rem}.md\:inset-x-60{right:15rem;left:15rem}.md\:inset-y-64{top:16rem;bottom:16rem}.md\:inset-x-64{right:16rem;left:16rem}.md\:inset-y-72{top:18rem;bottom:18rem}.md\:inset-x-72{right:18rem;left:18rem}.md\:inset-y-80{top:20rem;bottom:20rem}.md\:inset-x-80{right:20rem;left:20rem}.md\:inset-y-96{top:24rem;bottom:24rem}.md\:inset-x-96{right:24rem;left:24rem}.md\:inset-y-auto{top:auto;bottom:auto}.md\:inset-x-auto{right:auto;left:auto}.md\:inset-y-px{top:1px;bottom:1px}.md\:inset-x-px{right:1px;left:1px}.md\:inset-y-0\.5{top:.125rem;bottom:.125rem}.md\:inset-x-0\.5{right:.125rem;left:.125rem}.md\:inset-y-1\.5{top:.375rem;bottom:.375rem}.md\:inset-x-1\.5{right:.375rem;left:.375rem}.md\:inset-y-2\.5{top:.625rem;bottom:.625rem}.md\:inset-x-2\.5{right:.625rem;left:.625rem}.md\:inset-y-3\.5{top:.875rem;bottom:.875rem}.md\:inset-x-3\.5{right:.875rem;left:.875rem}.md\:inset-y-1\/2{top:50%;bottom:50%}.md\:inset-x-1\/2{right:50%;left:50%}.md\:inset-y-1\/3{top:33.333333%;bottom:33.333333%}.md\:inset-x-1\/3{right:33.333333%;left:33.333333%}.md\:inset-y-2\/3{top:66.666667%;bottom:66.666667%}.md\:inset-x-2\/3{right:66.666667%;left:66.666667%}.md\:inset-y-1\/4{top:25%;bottom:25%}.md\:inset-x-1\/4{right:25%;left:25%}.md\:inset-y-2\/4{top:50%;bottom:50%}.md\:inset-x-2\/4{right:50%;left:50%}.md\:inset-y-3\/4{top:75%;bottom:75%}.md\:inset-x-3\/4{right:75%;left:75%}.md\:inset-y-1\/5{top:20%;bottom:20%}.md\:inset-x-1\/5{right:20%;left:20%}.md\:inset-y-2\/5{top:40%;bottom:40%}.md\:inset-x-2\/5{right:40%;left:40%}.md\:inset-y-3\/5{top:60%;bottom:60%}.md\:inset-x-3\/5{right:60%;left:60%}.md\:inset-y-4\/5{top:80%;bottom:80%}.md\:inset-x-4\/5{right:80%;left:80%}.md\:inset-y-1\/6{top:16.666667%;bottom:16.666667%}.md\:inset-x-1\/6{right:16.666667%;left:16.666667%}.md\:inset-y-2\/6{top:33.333333%;bottom:33.333333%}.md\:inset-x-2\/6{right:33.333333%;left:33.333333%}.md\:inset-y-3\/6{top:50%;bottom:50%}.md\:inset-x-3\/6{right:50%;left:50%}.md\:inset-y-4\/6{top:66.666667%;bottom:66.666667%}.md\:inset-x-4\/6{right:66.666667%;left:66.666667%}.md\:inset-y-5\/6{top:83.333333%;bottom:83.333333%}.md\:inset-x-5\/6{right:83.333333%;left:83.333333%}.md\:inset-y-1\/12{top:8.333333%;bottom:8.333333%}.md\:inset-x-1\/12{right:8.333333%;left:8.333333%}.md\:inset-y-2\/12{top:16.666667%;bottom:16.666667%}.md\:inset-x-2\/12{right:16.666667%;left:16.666667%}.md\:inset-y-3\/12{top:25%;bottom:25%}.md\:inset-x-3\/12{right:25%;left:25%}.md\:inset-y-4\/12{top:33.333333%;bottom:33.333333%}.md\:inset-x-4\/12{right:33.333333%;left:33.333333%}.md\:inset-y-5\/12{top:41.666667%;bottom:41.666667%}.md\:inset-x-5\/12{right:41.666667%;left:41.666667%}.md\:inset-y-6\/12{top:50%;bottom:50%}.md\:inset-x-6\/12{right:50%;left:50%}.md\:inset-y-7\/12{top:58.333333%;bottom:58.333333%}.md\:inset-x-7\/12{right:58.333333%;left:58.333333%}.md\:inset-y-8\/12{top:66.666667%;bottom:66.666667%}.md\:inset-x-8\/12{right:66.666667%;left:66.666667%}.md\:inset-y-9\/12{top:75%;bottom:75%}.md\:inset-x-9\/12{right:75%;left:75%}.md\:inset-y-10\/12{top:83.333333%;bottom:83.333333%}.md\:inset-x-10\/12{right:83.333333%;left:83.333333%}.md\:inset-y-11\/12{top:91.666667%;bottom:91.666667%}.md\:inset-x-11\/12{right:91.666667%;left:91.666667%}.md\:inset-y-full{top:100%;bottom:100%}.md\:inset-x-full{right:100%;left:100%}.md\:top-0{top:0}.md\:right-0{right:0}.md\:bottom-0{bottom:0}.md\:left-0{left:0}.md\:top-1{top:.25rem}.md\:right-1{right:.25rem}.md\:bottom-1{bottom:.25rem}.md\:left-1{left:.25rem}.md\:top-2{top:.5rem}.md\:right-2{right:.5rem}.md\:bottom-2{bottom:.5rem}.md\:left-2{left:.5rem}.md\:top-3{top:.75rem}.md\:right-3{right:.75rem}.md\:bottom-3{bottom:.75rem}.md\:left-3{left:.75rem}.md\:top-4{top:1rem}.md\:right-4{right:1rem}.md\:bottom-4{bottom:1rem}.md\:left-4{left:1rem}.md\:top-5{top:1.25rem}.md\:right-5{right:1.25rem}.md\:bottom-5{bottom:1.25rem}.md\:left-5{left:1.25rem}.md\:top-6{top:1.5rem}.md\:right-6{right:1.5rem}.md\:bottom-6{bottom:1.5rem}.md\:left-6{left:1.5rem}.md\:top-7{top:1.75rem}.md\:right-7{right:1.75rem}.md\:bottom-7{bottom:1.75rem}.md\:left-7{left:1.75rem}.md\:top-8{top:2rem}.md\:right-8{right:2rem}.md\:bottom-8{bottom:2rem}.md\:left-8{left:2rem}.md\:top-9{top:2.25rem}.md\:right-9{right:2.25rem}.md\:bottom-9{bottom:2.25rem}.md\:left-9{left:2.25rem}.md\:top-10{top:2.5rem}.md\:right-10{right:2.5rem}.md\:bottom-10{bottom:2.5rem}.md\:left-10{left:2.5rem}.md\:top-11{top:2.75rem}.md\:right-11{right:2.75rem}.md\:bottom-11{bottom:2.75rem}.md\:left-11{left:2.75rem}.md\:top-12{top:3rem}.md\:right-12{right:3rem}.md\:bottom-12{bottom:3rem}.md\:left-12{left:3rem}.md\:top-13{top:3.25rem}.md\:right-13{right:3.25rem}.md\:bottom-13{bottom:3.25rem}.md\:left-13{left:3.25rem}.md\:top-14{top:3.5rem}.md\:right-14{right:3.5rem}.md\:bottom-14{bottom:3.5rem}.md\:left-14{left:3.5rem}.md\:top-15{top:3.75rem}.md\:right-15{right:3.75rem}.md\:bottom-15{bottom:3.75rem}.md\:left-15{left:3.75rem}.md\:top-16{top:4rem}.md\:right-16{right:4rem}.md\:bottom-16{bottom:4rem}.md\:left-16{left:4rem}.md\:top-20{top:5rem}.md\:right-20{right:5rem}.md\:bottom-20{bottom:5rem}.md\:left-20{left:5rem}.md\:top-24{top:6rem}.md\:right-24{right:6rem}.md\:bottom-24{bottom:6rem}.md\:left-24{left:6rem}.md\:top-28{top:7rem}.md\:right-28{right:7rem}.md\:bottom-28{bottom:7rem}.md\:left-28{left:7rem}.md\:top-32{top:8rem}.md\:right-32{right:8rem}.md\:bottom-32{bottom:8rem}.md\:left-32{left:8rem}.md\:top-36{top:9rem}.md\:right-36{right:9rem}.md\:bottom-36{bottom:9rem}.md\:left-36{left:9rem}.md\:top-40{top:10rem}.md\:right-40{right:10rem}.md\:bottom-40{bottom:10rem}.md\:left-40{left:10rem}.md\:top-44{top:11rem}.md\:right-44{right:11rem}.md\:bottom-44{bottom:11rem}.md\:left-44{left:11rem}.md\:top-48{top:12rem}.md\:right-48{right:12rem}.md\:bottom-48{bottom:12rem}.md\:left-48{left:12rem}.md\:top-52{top:13rem}.md\:right-52{right:13rem}.md\:bottom-52{bottom:13rem}.md\:left-52{left:13rem}.md\:top-56{top:14rem}.md\:right-56{right:14rem}.md\:bottom-56{bottom:14rem}.md\:left-56{left:14rem}.md\:top-60{top:15rem}.md\:right-60{right:15rem}.md\:bottom-60{bottom:15rem}.md\:left-60{left:15rem}.md\:top-64{top:16rem}.md\:right-64{right:16rem}.md\:bottom-64{bottom:16rem}.md\:left-64{left:16rem}.md\:top-72{top:18rem}.md\:right-72{right:18rem}.md\:bottom-72{bottom:18rem}.md\:left-72{left:18rem}.md\:top-80{top:20rem}.md\:right-80{right:20rem}.md\:bottom-80{bottom:20rem}.md\:left-80{left:20rem}.md\:top-96{top:24rem}.md\:right-96{right:24rem}.md\:bottom-96{bottom:24rem}.md\:left-96{left:24rem}.md\:top-auto{top:auto}.md\:right-auto{right:auto}.md\:bottom-auto{bottom:auto}.md\:left-auto{left:auto}.md\:top-px{top:1px}.md\:right-px{right:1px}.md\:bottom-px{bottom:1px}.md\:left-px{left:1px}.md\:top-0\.5{top:.125rem}.md\:right-0\.5{right:.125rem}.md\:bottom-0\.5{bottom:.125rem}.md\:left-0\.5{left:.125rem}.md\:top-1\.5{top:.375rem}.md\:right-1\.5{right:.375rem}.md\:bottom-1\.5{bottom:.375rem}.md\:left-1\.5{left:.375rem}.md\:top-2\.5{top:.625rem}.md\:right-2\.5{right:.625rem}.md\:bottom-2\.5{bottom:.625rem}.md\:left-2\.5{left:.625rem}.md\:top-3\.5{top:.875rem}.md\:right-3\.5{right:.875rem}.md\:bottom-3\.5{bottom:.875rem}.md\:left-3\.5{left:.875rem}.md\:top-1\/2{top:50%}.md\:right-1\/2{right:50%}.md\:bottom-1\/2{bottom:50%}.md\:left-1\/2{left:50%}.md\:top-1\/3{top:33.333333%}.md\:right-1\/3{right:33.333333%}.md\:bottom-1\/3{bottom:33.333333%}.md\:left-1\/3{left:33.333333%}.md\:top-2\/3{top:66.666667%}.md\:right-2\/3{right:66.666667%}.md\:bottom-2\/3{bottom:66.666667%}.md\:left-2\/3{left:66.666667%}.md\:top-1\/4{top:25%}.md\:right-1\/4{right:25%}.md\:bottom-1\/4{bottom:25%}.md\:left-1\/4{left:25%}.md\:top-2\/4{top:50%}.md\:right-2\/4{right:50%}.md\:bottom-2\/4{bottom:50%}.md\:left-2\/4{left:50%}.md\:top-3\/4{top:75%}.md\:right-3\/4{right:75%}.md\:bottom-3\/4{bottom:75%}.md\:left-3\/4{left:75%}.md\:top-1\/5{top:20%}.md\:right-1\/5{right:20%}.md\:bottom-1\/5{bottom:20%}.md\:left-1\/5{left:20%}.md\:top-2\/5{top:40%}.md\:right-2\/5{right:40%}.md\:bottom-2\/5{bottom:40%}.md\:left-2\/5{left:40%}.md\:top-3\/5{top:60%}.md\:right-3\/5{right:60%}.md\:bottom-3\/5{bottom:60%}.md\:left-3\/5{left:60%}.md\:top-4\/5{top:80%}.md\:right-4\/5{right:80%}.md\:bottom-4\/5{bottom:80%}.md\:left-4\/5{left:80%}.md\:top-1\/6{top:16.666667%}.md\:right-1\/6{right:16.666667%}.md\:bottom-1\/6{bottom:16.666667%}.md\:left-1\/6{left:16.666667%}.md\:top-2\/6{top:33.333333%}.md\:right-2\/6{right:33.333333%}.md\:bottom-2\/6{bottom:33.333333%}.md\:left-2\/6{left:33.333333%}.md\:top-3\/6{top:50%}.md\:right-3\/6{right:50%}.md\:bottom-3\/6{bottom:50%}.md\:left-3\/6{left:50%}.md\:top-4\/6{top:66.666667%}.md\:right-4\/6{right:66.666667%}.md\:bottom-4\/6{bottom:66.666667%}.md\:left-4\/6{left:66.666667%}.md\:top-5\/6{top:83.333333%}.md\:right-5\/6{right:83.333333%}.md\:bottom-5\/6{bottom:83.333333%}.md\:left-5\/6{left:83.333333%}.md\:top-1\/12{top:8.333333%}.md\:right-1\/12{right:8.333333%}.md\:bottom-1\/12{bottom:8.333333%}.md\:left-1\/12{left:8.333333%}.md\:top-2\/12{top:16.666667%}.md\:right-2\/12{right:16.666667%}.md\:bottom-2\/12{bottom:16.666667%}.md\:left-2\/12{left:16.666667%}.md\:top-3\/12{top:25%}.md\:right-3\/12{right:25%}.md\:bottom-3\/12{bottom:25%}.md\:left-3\/12{left:25%}.md\:top-4\/12{top:33.333333%}.md\:right-4\/12{right:33.333333%}.md\:bottom-4\/12{bottom:33.333333%}.md\:left-4\/12{left:33.333333%}.md\:top-5\/12{top:41.666667%}.md\:right-5\/12{right:41.666667%}.md\:bottom-5\/12{bottom:41.666667%}.md\:left-5\/12{left:41.666667%}.md\:top-6\/12{top:50%}.md\:right-6\/12{right:50%}.md\:bottom-6\/12{bottom:50%}.md\:left-6\/12{left:50%}.md\:top-7\/12{top:58.333333%}.md\:right-7\/12{right:58.333333%}.md\:bottom-7\/12{bottom:58.333333%}.md\:left-7\/12{left:58.333333%}.md\:top-8\/12{top:66.666667%}.md\:right-8\/12{right:66.666667%}.md\:bottom-8\/12{bottom:66.666667%}.md\:left-8\/12{left:66.666667%}.md\:top-9\/12{top:75%}.md\:right-9\/12{right:75%}.md\:bottom-9\/12{bottom:75%}.md\:left-9\/12{left:75%}.md\:top-10\/12{top:83.333333%}.md\:right-10\/12{right:83.333333%}.md\:bottom-10\/12{bottom:83.333333%}.md\:left-10\/12{left:83.333333%}.md\:top-11\/12{top:91.666667%}.md\:right-11\/12{right:91.666667%}.md\:bottom-11\/12{bottom:91.666667%}.md\:left-11\/12{left:91.666667%}.md\:top-full{top:100%}.md\:right-full{right:100%}.md\:bottom-full{bottom:100%}.md\:left-full{left:100%}.md\:resize-none{resize:none}.md\:resize-y{resize:vertical}.md\:resize-x{resize:horizontal}.md\:resize{resize:both}.md\:shadow-xs{box-shadow:0 0 0 1px rgba(0,0,0,.05)}.md\:shadow-sm{box-shadow:0 1px 2px 0 rgba(0,0,0,.05)}.md\:shadow{box-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px 0 rgba(0,0,0,.06)}.md\:shadow-md{box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06)}.md\:shadow-lg{box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05)}.md\:shadow-xl{box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04)}.md\:shadow-2xl{box-shadow:0 25px 50px -12px rgba(0,0,0,.25)}.md\:shadow-inner{box-shadow:inset 0 2px 4px 0 rgba(0,0,0,.06)}.md\:shadow-outline{box-shadow:0 0 0 3px rgba(118,169,250,.45)}.md\:shadow-none{box-shadow:none}.md\:shadow-solid{box-shadow:0 0 0 2px currentColor}.md\:shadow-outline-gray{box-shadow:0 0 0 3px rgba(159,166,178,.45)}.md\:shadow-outline-blue{box-shadow:0 0 0 3px rgba(164,202,254,.45)}.md\:shadow-outline-teal{box-shadow:0 0 0 3px rgba(126,220,226,.45)}.md\:shadow-outline-green{box-shadow:0 0 0 3px rgba(132,225,188,.45)}.md\:shadow-outline-yellow{box-shadow:0 0 0 3px rgba(250,202,21,.45)}.md\:shadow-outline-orange{box-shadow:0 0 0 3px rgba(253,186,140,.45)}.md\:shadow-outline-red{box-shadow:0 0 0 3px rgba(248,180,180,.45)}.md\:shadow-outline-pink{box-shadow:0 0 0 3px rgba(248,180,217,.45)}.md\:shadow-outline-purple{box-shadow:0 0 0 3px rgba(202,191,253,.45)}.md\:shadow-outline-indigo{box-shadow:0 0 0 3px rgba(180,198,252,.45)}.group:focus .md\:group-focus\:shadow-xs{box-shadow:0 0 0 1px rgba(0,0,0,.05)}.group:focus .md\:group-focus\:shadow-sm{box-shadow:0 1px 2px 0 rgba(0,0,0,.05)}.group:focus .md\:group-focus\:shadow{box-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px 0 rgba(0,0,0,.06)}.group:focus .md\:group-focus\:shadow-md{box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06)}.group:focus .md\:group-focus\:shadow-lg{box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05)}.group:focus .md\:group-focus\:shadow-xl{box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04)}.group:focus .md\:group-focus\:shadow-2xl{box-shadow:0 25px 50px -12px rgba(0,0,0,.25)}.group:focus .md\:group-focus\:shadow-inner{box-shadow:inset 0 2px 4px 0 rgba(0,0,0,.06)}.group:focus .md\:group-focus\:shadow-outline{box-shadow:0 0 0 3px rgba(118,169,250,.45)}.group:focus .md\:group-focus\:shadow-none{box-shadow:none}.group:focus .md\:group-focus\:shadow-solid{box-shadow:0 0 0 2px currentColor}.group:focus .md\:group-focus\:shadow-outline-gray{box-shadow:0 0 0 3px rgba(159,166,178,.45)}.group:focus .md\:group-focus\:shadow-outline-blue{box-shadow:0 0 0 3px rgba(164,202,254,.45)}.group:focus .md\:group-focus\:shadow-outline-teal{box-shadow:0 0 0 3px rgba(126,220,226,.45)}.group:focus .md\:group-focus\:shadow-outline-green{box-shadow:0 0 0 3px rgba(132,225,188,.45)}.group:focus .md\:group-focus\:shadow-outline-yellow{box-shadow:0 0 0 3px rgba(250,202,21,.45)}.group:focus .md\:group-focus\:shadow-outline-orange{box-shadow:0 0 0 3px rgba(253,186,140,.45)}.group:focus .md\:group-focus\:shadow-outline-red{box-shadow:0 0 0 3px rgba(248,180,180,.45)}.group:focus .md\:group-focus\:shadow-outline-pink{box-shadow:0 0 0 3px rgba(248,180,217,.45)}.group:focus .md\:group-focus\:shadow-outline-purple{box-shadow:0 0 0 3px rgba(202,191,253,.45)}.group:focus .md\:group-focus\:shadow-outline-indigo{box-shadow:0 0 0 3px rgba(180,198,252,.45)}.md\:hover\:shadow-xs:hover{box-shadow:0 0 0 1px rgba(0,0,0,.05)}.md\:hover\:shadow-sm:hover{box-shadow:0 1px 2px 0 rgba(0,0,0,.05)}.md\:hover\:shadow:hover{box-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px 0 rgba(0,0,0,.06)}.md\:hover\:shadow-md:hover{box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06)}.md\:hover\:shadow-lg:hover{box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05)}.md\:hover\:shadow-xl:hover{box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04)}.md\:hover\:shadow-2xl:hover{box-shadow:0 25px 50px -12px rgba(0,0,0,.25)}.md\:hover\:shadow-inner:hover{box-shadow:inset 0 2px 4px 0 rgba(0,0,0,.06)}.md\:hover\:shadow-outline:hover{box-shadow:0 0 0 3px rgba(118,169,250,.45)}.md\:hover\:shadow-none:hover{box-shadow:none}.md\:hover\:shadow-solid:hover{box-shadow:0 0 0 2px currentColor}.md\:hover\:shadow-outline-gray:hover{box-shadow:0 0 0 3px rgba(159,166,178,.45)}.md\:hover\:shadow-outline-blue:hover{box-shadow:0 0 0 3px rgba(164,202,254,.45)}.md\:hover\:shadow-outline-teal:hover{box-shadow:0 0 0 3px rgba(126,220,226,.45)}.md\:hover\:shadow-outline-green:hover{box-shadow:0 0 0 3px rgba(132,225,188,.45)}.md\:hover\:shadow-outline-yellow:hover{box-shadow:0 0 0 3px rgba(250,202,21,.45)}.md\:hover\:shadow-outline-orange:hover{box-shadow:0 0 0 3px rgba(253,186,140,.45)}.md\:hover\:shadow-outline-red:hover{box-shadow:0 0 0 3px rgba(248,180,180,.45)}.md\:hover\:shadow-outline-pink:hover{box-shadow:0 0 0 3px rgba(248,180,217,.45)}.md\:hover\:shadow-outline-purple:hover{box-shadow:0 0 0 3px rgba(202,191,253,.45)}.md\:hover\:shadow-outline-indigo:hover{box-shadow:0 0 0 3px rgba(180,198,252,.45)}.md\:focus\:shadow-xs:focus{box-shadow:0 0 0 1px rgba(0,0,0,.05)}.md\:focus\:shadow-sm:focus{box-shadow:0 1px 2px 0 rgba(0,0,0,.05)}.md\:focus\:shadow:focus{box-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px 0 rgba(0,0,0,.06)}.md\:focus\:shadow-md:focus{box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06)}.md\:focus\:shadow-lg:focus{box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05)}.md\:focus\:shadow-xl:focus{box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04)}.md\:focus\:shadow-2xl:focus{box-shadow:0 25px 50px -12px rgba(0,0,0,.25)}.md\:focus\:shadow-inner:focus{box-shadow:inset 0 2px 4px 0 rgba(0,0,0,.06)}.md\:focus\:shadow-outline:focus{box-shadow:0 0 0 3px rgba(118,169,250,.45)}.md\:focus\:shadow-none:focus{box-shadow:none}.md\:focus\:shadow-solid:focus{box-shadow:0 0 0 2px currentColor}.md\:focus\:shadow-outline-gray:focus{box-shadow:0 0 0 3px rgba(159,166,178,.45)}.md\:focus\:shadow-outline-blue:focus{box-shadow:0 0 0 3px rgba(164,202,254,.45)}.md\:focus\:shadow-outline-teal:focus{box-shadow:0 0 0 3px rgba(126,220,226,.45)}.md\:focus\:shadow-outline-green:focus{box-shadow:0 0 0 3px rgba(132,225,188,.45)}.md\:focus\:shadow-outline-yellow:focus{box-shadow:0 0 0 3px rgba(250,202,21,.45)}.md\:focus\:shadow-outline-orange:focus{box-shadow:0 0 0 3px rgba(253,186,140,.45)}.md\:focus\:shadow-outline-red:focus{box-shadow:0 0 0 3px rgba(248,180,180,.45)}.md\:focus\:shadow-outline-pink:focus{box-shadow:0 0 0 3px rgba(248,180,217,.45)}.md\:focus\:shadow-outline-purple:focus{box-shadow:0 0 0 3px rgba(202,191,253,.45)}.md\:focus\:shadow-outline-indigo:focus{box-shadow:0 0 0 3px rgba(180,198,252,.45)}.md\:fill-current{fill:currentColor}.md\:stroke-current{stroke:currentColor}.md\:stroke-0{stroke-width:0}.md\:stroke-1{stroke-width:1}.md\:stroke-2{stroke-width:2}.md\:table-auto{table-layout:auto}.md\:table-fixed{table-layout:fixed}.md\:text-left{text-align:left}.md\:text-center{text-align:center}.md\:text-right{text-align:right}.md\:text-justify{text-align:justify}.md\:text-transparent{color:transparent}.md\:text-white{--text-opacity:1;color:#fff;color:rgba(255,255,255,var(--text-opacity))}.md\:text-black{--text-opacity:1;color:#000;color:rgba(0,0,0,var(--text-opacity))}.md\:text-gray-50{--text-opacity:1;color:#f9fafb;color:rgba(249,250,251,var(--text-opacity))}.md\:text-gray-100{--text-opacity:1;color:#f4f5f7;color:rgba(244,245,247,var(--text-opacity))}.md\:text-gray-200{--text-opacity:1;color:#e5e7eb;color:rgba(229,231,235,var(--text-opacity))}.md\:text-gray-300{--text-opacity:1;color:#d2d6dc;color:rgba(210,214,220,var(--text-opacity))}.md\:text-gray-400{--text-opacity:1;color:#9fa6b2;color:rgba(159,166,178,var(--text-opacity))}.md\:text-gray-500{--text-opacity:1;color:#6b7280;color:rgba(107,114,128,var(--text-opacity))}.md\:text-gray-600{--text-opacity:1;color:#4b5563;color:rgba(75,85,99,var(--text-opacity))}.md\:text-gray-700{--text-opacity:1;color:#374151;color:rgba(55,65,81,var(--text-opacity))}.md\:text-gray-800{--text-opacity:1;color:#252f3f;color:rgba(37,47,63,var(--text-opacity))}.md\:text-gray-900{--text-opacity:1;color:#161e2e;color:rgba(22,30,46,var(--text-opacity))}.md\:text-cool-gray-50{--text-opacity:1;color:#f8fafc;color:rgba(248,250,252,var(--text-opacity))}.md\:text-cool-gray-100{--text-opacity:1;color:#f1f5f9;color:rgba(241,245,249,var(--text-opacity))}.md\:text-cool-gray-200{--text-opacity:1;color:#e2e8f0;color:rgba(226,232,240,var(--text-opacity))}.md\:text-cool-gray-300{--text-opacity:1;color:#cfd8e3;color:rgba(207,216,227,var(--text-opacity))}.md\:text-cool-gray-400{--text-opacity:1;color:#97a6ba;color:rgba(151,166,186,var(--text-opacity))}.md\:text-cool-gray-500{--text-opacity:1;color:#64748b;color:rgba(100,116,139,var(--text-opacity))}.md\:text-cool-gray-600{--text-opacity:1;color:#475569;color:rgba(71,85,105,var(--text-opacity))}.md\:text-cool-gray-700{--text-opacity:1;color:#364152;color:rgba(54,65,82,var(--text-opacity))}.md\:text-cool-gray-800{--text-opacity:1;color:#27303f;color:rgba(39,48,63,var(--text-opacity))}.md\:text-cool-gray-900{--text-opacity:1;color:#1a202e;color:rgba(26,32,46,var(--text-opacity))}.md\:text-red-50{--text-opacity:1;color:#fdf2f2;color:rgba(253,242,242,var(--text-opacity))}.md\:text-red-100{--text-opacity:1;color:#fde8e8;color:rgba(253,232,232,var(--text-opacity))}.md\:text-red-200{--text-opacity:1;color:#fbd5d5;color:rgba(251,213,213,var(--text-opacity))}.md\:text-red-300{--text-opacity:1;color:#f8b4b4;color:rgba(248,180,180,var(--text-opacity))}.md\:text-red-400{--text-opacity:1;color:#f98080;color:rgba(249,128,128,var(--text-opacity))}.md\:text-red-500{--text-opacity:1;color:#f05252;color:rgba(240,82,82,var(--text-opacity))}.md\:text-red-600{--text-opacity:1;color:#e02424;color:rgba(224,36,36,var(--text-opacity))}.md\:text-red-700{--text-opacity:1;color:#c81e1e;color:rgba(200,30,30,var(--text-opacity))}.md\:text-red-800{--text-opacity:1;color:#9b1c1c;color:rgba(155,28,28,var(--text-opacity))}.md\:text-red-900{--text-opacity:1;color:#771d1d;color:rgba(119,29,29,var(--text-opacity))}.md\:text-orange-50{--text-opacity:1;color:#fff8f1;color:rgba(255,248,241,var(--text-opacity))}.md\:text-orange-100{--text-opacity:1;color:#feecdc;color:rgba(254,236,220,var(--text-opacity))}.md\:text-orange-200{--text-opacity:1;color:#fcd9bd;color:rgba(252,217,189,var(--text-opacity))}.md\:text-orange-300{--text-opacity:1;color:#fdba8c;color:rgba(253,186,140,var(--text-opacity))}.md\:text-orange-400{--text-opacity:1;color:#ff8a4c;color:rgba(255,138,76,var(--text-opacity))}.md\:text-orange-500{--text-opacity:1;color:#ff5a1f;color:rgba(255,90,31,var(--text-opacity))}.md\:text-orange-600{--text-opacity:1;color:#d03801;color:rgba(208,56,1,var(--text-opacity))}.md\:text-orange-700{--text-opacity:1;color:#b43403;color:rgba(180,52,3,var(--text-opacity))}.md\:text-orange-800{--text-opacity:1;color:#8a2c0d;color:rgba(138,44,13,var(--text-opacity))}.md\:text-orange-900{--text-opacity:1;color:#73230d;color:rgba(115,35,13,var(--text-opacity))}.md\:text-yellow-50{--text-opacity:1;color:#fdfdea;color:rgba(253,253,234,var(--text-opacity))}.md\:text-yellow-100{--text-opacity:1;color:#fdf6b2;color:rgba(253,246,178,var(--text-opacity))}.md\:text-yellow-200{--text-opacity:1;color:#fce96a;color:rgba(252,233,106,var(--text-opacity))}.md\:text-yellow-300{--text-opacity:1;color:#faca15;color:rgba(250,202,21,var(--text-opacity))}.md\:text-yellow-400{--text-opacity:1;color:#e3a008;color:rgba(227,160,8,var(--text-opacity))}.md\:text-yellow-500{--text-opacity:1;color:#c27803;color:rgba(194,120,3,var(--text-opacity))}.md\:text-yellow-600{--text-opacity:1;color:#9f580a;color:rgba(159,88,10,var(--text-opacity))}.md\:text-yellow-700{--text-opacity:1;color:#8e4b10;color:rgba(142,75,16,var(--text-opacity))}.md\:text-yellow-800{--text-opacity:1;color:#723b13;color:rgba(114,59,19,var(--text-opacity))}.md\:text-yellow-900{--text-opacity:1;color:#633112;color:rgba(99,49,18,var(--text-opacity))}.md\:text-green-50{--text-opacity:1;color:#f3faf7;color:rgba(243,250,247,var(--text-opacity))}.md\:text-green-100{--text-opacity:1;color:#def7ec;color:rgba(222,247,236,var(--text-opacity))}.md\:text-green-200{--text-opacity:1;color:#bcf0da;color:rgba(188,240,218,var(--text-opacity))}.md\:text-green-300{--text-opacity:1;color:#84e1bc;color:rgba(132,225,188,var(--text-opacity))}.md\:text-green-400{--text-opacity:1;color:#31c48d;color:rgba(49,196,141,var(--text-opacity))}.md\:text-green-500{--text-opacity:1;color:#0e9f6e;color:rgba(14,159,110,var(--text-opacity))}.md\:text-green-600{--text-opacity:1;color:#057a55;color:rgba(5,122,85,var(--text-opacity))}.md\:text-green-700{--text-opacity:1;color:#046c4e;color:rgba(4,108,78,var(--text-opacity))}.md\:text-green-800{--text-opacity:1;color:#03543f;color:rgba(3,84,63,var(--text-opacity))}.md\:text-green-900{--text-opacity:1;color:#014737;color:rgba(1,71,55,var(--text-opacity))}.md\:text-teal-50{--text-opacity:1;color:#edfafa;color:rgba(237,250,250,var(--text-opacity))}.md\:text-teal-100{--text-opacity:1;color:#d5f5f6;color:rgba(213,245,246,var(--text-opacity))}.md\:text-teal-200{--text-opacity:1;color:#afecef;color:rgba(175,236,239,var(--text-opacity))}.md\:text-teal-300{--text-opacity:1;color:#7edce2;color:rgba(126,220,226,var(--text-opacity))}.md\:text-teal-400{--text-opacity:1;color:#16bdca;color:rgba(22,189,202,var(--text-opacity))}.md\:text-teal-500{--text-opacity:1;color:#0694a2;color:rgba(6,148,162,var(--text-opacity))}.md\:text-teal-600{--text-opacity:1;color:#047481;color:rgba(4,116,129,var(--text-opacity))}.md\:text-teal-700{--text-opacity:1;color:#036672;color:rgba(3,102,114,var(--text-opacity))}.md\:text-teal-800{--text-opacity:1;color:#05505c;color:rgba(5,80,92,var(--text-opacity))}.md\:text-teal-900{--text-opacity:1;color:#014451;color:rgba(1,68,81,var(--text-opacity))}.md\:text-blue-50{--text-opacity:1;color:#ebf5ff;color:rgba(235,245,255,var(--text-opacity))}.md\:text-blue-100{--text-opacity:1;color:#e1effe;color:rgba(225,239,254,var(--text-opacity))}.md\:text-blue-200{--text-opacity:1;color:#c3ddfd;color:rgba(195,221,253,var(--text-opacity))}.md\:text-blue-300{--text-opacity:1;color:#a4cafe;color:rgba(164,202,254,var(--text-opacity))}.md\:text-blue-400{--text-opacity:1;color:#76a9fa;color:rgba(118,169,250,var(--text-opacity))}.md\:text-blue-500{--text-opacity:1;color:#3f83f8;color:rgba(63,131,248,var(--text-opacity))}.md\:text-blue-600{--text-opacity:1;color:#1c64f2;color:rgba(28,100,242,var(--text-opacity))}.md\:text-blue-700{--text-opacity:1;color:#1a56db;color:rgba(26,86,219,var(--text-opacity))}.md\:text-blue-800{--text-opacity:1;color:#1e429f;color:rgba(30,66,159,var(--text-opacity))}.md\:text-blue-900{--text-opacity:1;color:#233876;color:rgba(35,56,118,var(--text-opacity))}.md\:text-indigo-50{--text-opacity:1;color:#f0f5ff;color:rgba(240,245,255,var(--text-opacity))}.md\:text-indigo-100{--text-opacity:1;color:#e5edff;color:rgba(229,237,255,var(--text-opacity))}.md\:text-indigo-200{--text-opacity:1;color:#cddbfe;color:rgba(205,219,254,var(--text-opacity))}.md\:text-indigo-300{--text-opacity:1;color:#b4c6fc;color:rgba(180,198,252,var(--text-opacity))}.md\:text-indigo-400{--text-opacity:1;color:#8da2fb;color:rgba(141,162,251,var(--text-opacity))}.md\:text-indigo-500{--text-opacity:1;color:#6875f5;color:rgba(104,117,245,var(--text-opacity))}.md\:text-indigo-600{--text-opacity:1;color:#5850ec;color:rgba(88,80,236,var(--text-opacity))}.md\:text-indigo-700{--text-opacity:1;color:#5145cd;color:rgba(81,69,205,var(--text-opacity))}.md\:text-indigo-800{--text-opacity:1;color:#42389d;color:rgba(66,56,157,var(--text-opacity))}.md\:text-indigo-900{--text-opacity:1;color:#362f78;color:rgba(54,47,120,var(--text-opacity))}.md\:text-purple-50{--text-opacity:1;color:#f6f5ff;color:rgba(246,245,255,var(--text-opacity))}.md\:text-purple-100{--text-opacity:1;color:#edebfe;color:rgba(237,235,254,var(--text-opacity))}.md\:text-purple-200{--text-opacity:1;color:#dcd7fe;color:rgba(220,215,254,var(--text-opacity))}.md\:text-purple-300{--text-opacity:1;color:#cabffd;color:rgba(202,191,253,var(--text-opacity))}.md\:text-purple-400{--text-opacity:1;color:#ac94fa;color:rgba(172,148,250,var(--text-opacity))}.md\:text-purple-500{--text-opacity:1;color:#9061f9;color:rgba(144,97,249,var(--text-opacity))}.md\:text-purple-600{--text-opacity:1;color:#7e3af2;color:rgba(126,58,242,var(--text-opacity))}.md\:text-purple-700{--text-opacity:1;color:#6c2bd9;color:rgba(108,43,217,var(--text-opacity))}.md\:text-purple-800{--text-opacity:1;color:#5521b5;color:rgba(85,33,181,var(--text-opacity))}.md\:text-purple-900{--text-opacity:1;color:#4a1d96;color:rgba(74,29,150,var(--text-opacity))}.md\:text-pink-50{--text-opacity:1;color:#fdf2f8;color:rgba(253,242,248,var(--text-opacity))}.md\:text-pink-100{--text-opacity:1;color:#fce8f3;color:rgba(252,232,243,var(--text-opacity))}.md\:text-pink-200{--text-opacity:1;color:#fad1e8;color:rgba(250,209,232,var(--text-opacity))}.md\:text-pink-300{--text-opacity:1;color:#f8b4d9;color:rgba(248,180,217,var(--text-opacity))}.md\:text-pink-400{--text-opacity:1;color:#f17eb8;color:rgba(241,126,184,var(--text-opacity))}.md\:text-pink-500{--text-opacity:1;color:#e74694;color:rgba(231,70,148,var(--text-opacity))}.md\:text-pink-600{--text-opacity:1;color:#d61f69;color:rgba(214,31,105,var(--text-opacity))}.md\:text-pink-700{--text-opacity:1;color:#bf125d;color:rgba(191,18,93,var(--text-opacity))}.md\:text-pink-800{--text-opacity:1;color:#99154b;color:rgba(153,21,75,var(--text-opacity))}.md\:text-pink-900{--text-opacity:1;color:#751a3d;color:rgba(117,26,61,var(--text-opacity))}.group:hover .md\:group-hover\:text-transparent{color:transparent}.group:hover .md\:group-hover\:text-white{--text-opacity:1;color:#fff;color:rgba(255,255,255,var(--text-opacity))}.group:hover .md\:group-hover\:text-black{--text-opacity:1;color:#000;color:rgba(0,0,0,var(--text-opacity))}.group:hover .md\:group-hover\:text-gray-50{--text-opacity:1;color:#f9fafb;color:rgba(249,250,251,var(--text-opacity))}.group:hover .md\:group-hover\:text-gray-100{--text-opacity:1;color:#f4f5f7;color:rgba(244,245,247,var(--text-opacity))}.group:hover .md\:group-hover\:text-gray-200{--text-opacity:1;color:#e5e7eb;color:rgba(229,231,235,var(--text-opacity))}.group:hover .md\:group-hover\:text-gray-300{--text-opacity:1;color:#d2d6dc;color:rgba(210,214,220,var(--text-opacity))}.group:hover .md\:group-hover\:text-gray-400{--text-opacity:1;color:#9fa6b2;color:rgba(159,166,178,var(--text-opacity))}.group:hover .md\:group-hover\:text-gray-500{--text-opacity:1;color:#6b7280;color:rgba(107,114,128,var(--text-opacity))}.group:hover .md\:group-hover\:text-gray-600{--text-opacity:1;color:#4b5563;color:rgba(75,85,99,var(--text-opacity))}.group:hover .md\:group-hover\:text-gray-700{--text-opacity:1;color:#374151;color:rgba(55,65,81,var(--text-opacity))}.group:hover .md\:group-hover\:text-gray-800{--text-opacity:1;color:#252f3f;color:rgba(37,47,63,var(--text-opacity))}.group:hover .md\:group-hover\:text-gray-900{--text-opacity:1;color:#161e2e;color:rgba(22,30,46,var(--text-opacity))}.group:hover .md\:group-hover\:text-cool-gray-50{--text-opacity:1;color:#f8fafc;color:rgba(248,250,252,var(--text-opacity))}.group:hover .md\:group-hover\:text-cool-gray-100{--text-opacity:1;color:#f1f5f9;color:rgba(241,245,249,var(--text-opacity))}.group:hover .md\:group-hover\:text-cool-gray-200{--text-opacity:1;color:#e2e8f0;color:rgba(226,232,240,var(--text-opacity))}.group:hover .md\:group-hover\:text-cool-gray-300{--text-opacity:1;color:#cfd8e3;color:rgba(207,216,227,var(--text-opacity))}.group:hover .md\:group-hover\:text-cool-gray-400{--text-opacity:1;color:#97a6ba;color:rgba(151,166,186,var(--text-opacity))}.group:hover .md\:group-hover\:text-cool-gray-500{--text-opacity:1;color:#64748b;color:rgba(100,116,139,var(--text-opacity))}.group:hover .md\:group-hover\:text-cool-gray-600{--text-opacity:1;color:#475569;color:rgba(71,85,105,var(--text-opacity))}.group:hover .md\:group-hover\:text-cool-gray-700{--text-opacity:1;color:#364152;color:rgba(54,65,82,var(--text-opacity))}.group:hover .md\:group-hover\:text-cool-gray-800{--text-opacity:1;color:#27303f;color:rgba(39,48,63,var(--text-opacity))}.group:hover .md\:group-hover\:text-cool-gray-900{--text-opacity:1;color:#1a202e;color:rgba(26,32,46,var(--text-opacity))}.group:hover .md\:group-hover\:text-red-50{--text-opacity:1;color:#fdf2f2;color:rgba(253,242,242,var(--text-opacity))}.group:hover .md\:group-hover\:text-red-100{--text-opacity:1;color:#fde8e8;color:rgba(253,232,232,var(--text-opacity))}.group:hover .md\:group-hover\:text-red-200{--text-opacity:1;color:#fbd5d5;color:rgba(251,213,213,var(--text-opacity))}.group:hover .md\:group-hover\:text-red-300{--text-opacity:1;color:#f8b4b4;color:rgba(248,180,180,var(--text-opacity))}.group:hover .md\:group-hover\:text-red-400{--text-opacity:1;color:#f98080;color:rgba(249,128,128,var(--text-opacity))}.group:hover .md\:group-hover\:text-red-500{--text-opacity:1;color:#f05252;color:rgba(240,82,82,var(--text-opacity))}.group:hover .md\:group-hover\:text-red-600{--text-opacity:1;color:#e02424;color:rgba(224,36,36,var(--text-opacity))}.group:hover .md\:group-hover\:text-red-700{--text-opacity:1;color:#c81e1e;color:rgba(200,30,30,var(--text-opacity))}.group:hover .md\:group-hover\:text-red-800{--text-opacity:1;color:#9b1c1c;color:rgba(155,28,28,var(--text-opacity))}.group:hover .md\:group-hover\:text-red-900{--text-opacity:1;color:#771d1d;color:rgba(119,29,29,var(--text-opacity))}.group:hover .md\:group-hover\:text-orange-50{--text-opacity:1;color:#fff8f1;color:rgba(255,248,241,var(--text-opacity))}.group:hover .md\:group-hover\:text-orange-100{--text-opacity:1;color:#feecdc;color:rgba(254,236,220,var(--text-opacity))}.group:hover .md\:group-hover\:text-orange-200{--text-opacity:1;color:#fcd9bd;color:rgba(252,217,189,var(--text-opacity))}.group:hover .md\:group-hover\:text-orange-300{--text-opacity:1;color:#fdba8c;color:rgba(253,186,140,var(--text-opacity))}.group:hover .md\:group-hover\:text-orange-400{--text-opacity:1;color:#ff8a4c;color:rgba(255,138,76,var(--text-opacity))}.group:hover .md\:group-hover\:text-orange-500{--text-opacity:1;color:#ff5a1f;color:rgba(255,90,31,var(--text-opacity))}.group:hover .md\:group-hover\:text-orange-600{--text-opacity:1;color:#d03801;color:rgba(208,56,1,var(--text-opacity))}.group:hover .md\:group-hover\:text-orange-700{--text-opacity:1;color:#b43403;color:rgba(180,52,3,var(--text-opacity))}.group:hover .md\:group-hover\:text-orange-800{--text-opacity:1;color:#8a2c0d;color:rgba(138,44,13,var(--text-opacity))}.group:hover .md\:group-hover\:text-orange-900{--text-opacity:1;color:#73230d;color:rgba(115,35,13,var(--text-opacity))}.group:hover .md\:group-hover\:text-yellow-50{--text-opacity:1;color:#fdfdea;color:rgba(253,253,234,var(--text-opacity))}.group:hover .md\:group-hover\:text-yellow-100{--text-opacity:1;color:#fdf6b2;color:rgba(253,246,178,var(--text-opacity))}.group:hover .md\:group-hover\:text-yellow-200{--text-opacity:1;color:#fce96a;color:rgba(252,233,106,var(--text-opacity))}.group:hover .md\:group-hover\:text-yellow-300{--text-opacity:1;color:#faca15;color:rgba(250,202,21,var(--text-opacity))}.group:hover .md\:group-hover\:text-yellow-400{--text-opacity:1;color:#e3a008;color:rgba(227,160,8,var(--text-opacity))}.group:hover .md\:group-hover\:text-yellow-500{--text-opacity:1;color:#c27803;color:rgba(194,120,3,var(--text-opacity))}.group:hover .md\:group-hover\:text-yellow-600{--text-opacity:1;color:#9f580a;color:rgba(159,88,10,var(--text-opacity))}.group:hover .md\:group-hover\:text-yellow-700{--text-opacity:1;color:#8e4b10;color:rgba(142,75,16,var(--text-opacity))}.group:hover .md\:group-hover\:text-yellow-800{--text-opacity:1;color:#723b13;color:rgba(114,59,19,var(--text-opacity))}.group:hover .md\:group-hover\:text-yellow-900{--text-opacity:1;color:#633112;color:rgba(99,49,18,var(--text-opacity))}.group:hover .md\:group-hover\:text-green-50{--text-opacity:1;color:#f3faf7;color:rgba(243,250,247,var(--text-opacity))}.group:hover .md\:group-hover\:text-green-100{--text-opacity:1;color:#def7ec;color:rgba(222,247,236,var(--text-opacity))}.group:hover .md\:group-hover\:text-green-200{--text-opacity:1;color:#bcf0da;color:rgba(188,240,218,var(--text-opacity))}.group:hover .md\:group-hover\:text-green-300{--text-opacity:1;color:#84e1bc;color:rgba(132,225,188,var(--text-opacity))}.group:hover .md\:group-hover\:text-green-400{--text-opacity:1;color:#31c48d;color:rgba(49,196,141,var(--text-opacity))}.group:hover .md\:group-hover\:text-green-500{--text-opacity:1;color:#0e9f6e;color:rgba(14,159,110,var(--text-opacity))}.group:hover .md\:group-hover\:text-green-600{--text-opacity:1;color:#057a55;color:rgba(5,122,85,var(--text-opacity))}.group:hover .md\:group-hover\:text-green-700{--text-opacity:1;color:#046c4e;color:rgba(4,108,78,var(--text-opacity))}.group:hover .md\:group-hover\:text-green-800{--text-opacity:1;color:#03543f;color:rgba(3,84,63,var(--text-opacity))}.group:hover .md\:group-hover\:text-green-900{--text-opacity:1;color:#014737;color:rgba(1,71,55,var(--text-opacity))}.group:hover .md\:group-hover\:text-teal-50{--text-opacity:1;color:#edfafa;color:rgba(237,250,250,var(--text-opacity))}.group:hover .md\:group-hover\:text-teal-100{--text-opacity:1;color:#d5f5f6;color:rgba(213,245,246,var(--text-opacity))}.group:hover .md\:group-hover\:text-teal-200{--text-opacity:1;color:#afecef;color:rgba(175,236,239,var(--text-opacity))}.group:hover .md\:group-hover\:text-teal-300{--text-opacity:1;color:#7edce2;color:rgba(126,220,226,var(--text-opacity))}.group:hover .md\:group-hover\:text-teal-400{--text-opacity:1;color:#16bdca;color:rgba(22,189,202,var(--text-opacity))}.group:hover .md\:group-hover\:text-teal-500{--text-opacity:1;color:#0694a2;color:rgba(6,148,162,var(--text-opacity))}.group:hover .md\:group-hover\:text-teal-600{--text-opacity:1;color:#047481;color:rgba(4,116,129,var(--text-opacity))}.group:hover .md\:group-hover\:text-teal-700{--text-opacity:1;color:#036672;color:rgba(3,102,114,var(--text-opacity))}.group:hover .md\:group-hover\:text-teal-800{--text-opacity:1;color:#05505c;color:rgba(5,80,92,var(--text-opacity))}.group:hover .md\:group-hover\:text-teal-900{--text-opacity:1;color:#014451;color:rgba(1,68,81,var(--text-opacity))}.group:hover .md\:group-hover\:text-blue-50{--text-opacity:1;color:#ebf5ff;color:rgba(235,245,255,var(--text-opacity))}.group:hover .md\:group-hover\:text-blue-100{--text-opacity:1;color:#e1effe;color:rgba(225,239,254,var(--text-opacity))}.group:hover .md\:group-hover\:text-blue-200{--text-opacity:1;color:#c3ddfd;color:rgba(195,221,253,var(--text-opacity))}.group:hover .md\:group-hover\:text-blue-300{--text-opacity:1;color:#a4cafe;color:rgba(164,202,254,var(--text-opacity))}.group:hover .md\:group-hover\:text-blue-400{--text-opacity:1;color:#76a9fa;color:rgba(118,169,250,var(--text-opacity))}.group:hover .md\:group-hover\:text-blue-500{--text-opacity:1;color:#3f83f8;color:rgba(63,131,248,var(--text-opacity))}.group:hover .md\:group-hover\:text-blue-600{--text-opacity:1;color:#1c64f2;color:rgba(28,100,242,var(--text-opacity))}.group:hover .md\:group-hover\:text-blue-700{--text-opacity:1;color:#1a56db;color:rgba(26,86,219,var(--text-opacity))}.group:hover .md\:group-hover\:text-blue-800{--text-opacity:1;color:#1e429f;color:rgba(30,66,159,var(--text-opacity))}.group:hover .md\:group-hover\:text-blue-900{--text-opacity:1;color:#233876;color:rgba(35,56,118,var(--text-opacity))}.group:hover .md\:group-hover\:text-indigo-50{--text-opacity:1;color:#f0f5ff;color:rgba(240,245,255,var(--text-opacity))}.group:hover .md\:group-hover\:text-indigo-100{--text-opacity:1;color:#e5edff;color:rgba(229,237,255,var(--text-opacity))}.group:hover .md\:group-hover\:text-indigo-200{--text-opacity:1;color:#cddbfe;color:rgba(205,219,254,var(--text-opacity))}.group:hover .md\:group-hover\:text-indigo-300{--text-opacity:1;color:#b4c6fc;color:rgba(180,198,252,var(--text-opacity))}.group:hover .md\:group-hover\:text-indigo-400{--text-opacity:1;color:#8da2fb;color:rgba(141,162,251,var(--text-opacity))}.group:hover .md\:group-hover\:text-indigo-500{--text-opacity:1;color:#6875f5;color:rgba(104,117,245,var(--text-opacity))}.group:hover .md\:group-hover\:text-indigo-600{--text-opacity:1;color:#5850ec;color:rgba(88,80,236,var(--text-opacity))}.group:hover .md\:group-hover\:text-indigo-700{--text-opacity:1;color:#5145cd;color:rgba(81,69,205,var(--text-opacity))}.group:hover .md\:group-hover\:text-indigo-800{--text-opacity:1;color:#42389d;color:rgba(66,56,157,var(--text-opacity))}.group:hover .md\:group-hover\:text-indigo-900{--text-opacity:1;color:#362f78;color:rgba(54,47,120,var(--text-opacity))}.group:hover .md\:group-hover\:text-purple-50{--text-opacity:1;color:#f6f5ff;color:rgba(246,245,255,var(--text-opacity))}.group:hover .md\:group-hover\:text-purple-100{--text-opacity:1;color:#edebfe;color:rgba(237,235,254,var(--text-opacity))}.group:hover .md\:group-hover\:text-purple-200{--text-opacity:1;color:#dcd7fe;color:rgba(220,215,254,var(--text-opacity))}.group:hover .md\:group-hover\:text-purple-300{--text-opacity:1;color:#cabffd;color:rgba(202,191,253,var(--text-opacity))}.group:hover .md\:group-hover\:text-purple-400{--text-opacity:1;color:#ac94fa;color:rgba(172,148,250,var(--text-opacity))}.group:hover .md\:group-hover\:text-purple-500{--text-opacity:1;color:#9061f9;color:rgba(144,97,249,var(--text-opacity))}.group:hover .md\:group-hover\:text-purple-600{--text-opacity:1;color:#7e3af2;color:rgba(126,58,242,var(--text-opacity))}.group:hover .md\:group-hover\:text-purple-700{--text-opacity:1;color:#6c2bd9;color:rgba(108,43,217,var(--text-opacity))}.group:hover .md\:group-hover\:text-purple-800{--text-opacity:1;color:#5521b5;color:rgba(85,33,181,var(--text-opacity))}.group:hover .md\:group-hover\:text-purple-900{--text-opacity:1;color:#4a1d96;color:rgba(74,29,150,var(--text-opacity))}.group:hover .md\:group-hover\:text-pink-50{--text-opacity:1;color:#fdf2f8;color:rgba(253,242,248,var(--text-opacity))}.group:hover .md\:group-hover\:text-pink-100{--text-opacity:1;color:#fce8f3;color:rgba(252,232,243,var(--text-opacity))}.group:hover .md\:group-hover\:text-pink-200{--text-opacity:1;color:#fad1e8;color:rgba(250,209,232,var(--text-opacity))}.group:hover .md\:group-hover\:text-pink-300{--text-opacity:1;color:#f8b4d9;color:rgba(248,180,217,var(--text-opacity))}.group:hover .md\:group-hover\:text-pink-400{--text-opacity:1;color:#f17eb8;color:rgba(241,126,184,var(--text-opacity))}.group:hover .md\:group-hover\:text-pink-500{--text-opacity:1;color:#e74694;color:rgba(231,70,148,var(--text-opacity))}.group:hover .md\:group-hover\:text-pink-600{--text-opacity:1;color:#d61f69;color:rgba(214,31,105,var(--text-opacity))}.group:hover .md\:group-hover\:text-pink-700{--text-opacity:1;color:#bf125d;color:rgba(191,18,93,var(--text-opacity))}.group:hover .md\:group-hover\:text-pink-800{--text-opacity:1;color:#99154b;color:rgba(153,21,75,var(--text-opacity))}.group:hover .md\:group-hover\:text-pink-900{--text-opacity:1;color:#751a3d;color:rgba(117,26,61,var(--text-opacity))}.group:focus .md\:group-focus\:text-transparent{color:transparent}.group:focus .md\:group-focus\:text-white{--text-opacity:1;color:#fff;color:rgba(255,255,255,var(--text-opacity))}.group:focus .md\:group-focus\:text-black{--text-opacity:1;color:#000;color:rgba(0,0,0,var(--text-opacity))}.group:focus .md\:group-focus\:text-gray-50{--text-opacity:1;color:#f9fafb;color:rgba(249,250,251,var(--text-opacity))}.group:focus .md\:group-focus\:text-gray-100{--text-opacity:1;color:#f4f5f7;color:rgba(244,245,247,var(--text-opacity))}.group:focus .md\:group-focus\:text-gray-200{--text-opacity:1;color:#e5e7eb;color:rgba(229,231,235,var(--text-opacity))}.group:focus .md\:group-focus\:text-gray-300{--text-opacity:1;color:#d2d6dc;color:rgba(210,214,220,var(--text-opacity))}.group:focus .md\:group-focus\:text-gray-400{--text-opacity:1;color:#9fa6b2;color:rgba(159,166,178,var(--text-opacity))}.group:focus .md\:group-focus\:text-gray-500{--text-opacity:1;color:#6b7280;color:rgba(107,114,128,var(--text-opacity))}.group:focus .md\:group-focus\:text-gray-600{--text-opacity:1;color:#4b5563;color:rgba(75,85,99,var(--text-opacity))}.group:focus .md\:group-focus\:text-gray-700{--text-opacity:1;color:#374151;color:rgba(55,65,81,var(--text-opacity))}.group:focus .md\:group-focus\:text-gray-800{--text-opacity:1;color:#252f3f;color:rgba(37,47,63,var(--text-opacity))}.group:focus .md\:group-focus\:text-gray-900{--text-opacity:1;color:#161e2e;color:rgba(22,30,46,var(--text-opacity))}.group:focus .md\:group-focus\:text-cool-gray-50{--text-opacity:1;color:#f8fafc;color:rgba(248,250,252,var(--text-opacity))}.group:focus .md\:group-focus\:text-cool-gray-100{--text-opacity:1;color:#f1f5f9;color:rgba(241,245,249,var(--text-opacity))}.group:focus .md\:group-focus\:text-cool-gray-200{--text-opacity:1;color:#e2e8f0;color:rgba(226,232,240,var(--text-opacity))}.group:focus .md\:group-focus\:text-cool-gray-300{--text-opacity:1;color:#cfd8e3;color:rgba(207,216,227,var(--text-opacity))}.group:focus .md\:group-focus\:text-cool-gray-400{--text-opacity:1;color:#97a6ba;color:rgba(151,166,186,var(--text-opacity))}.group:focus .md\:group-focus\:text-cool-gray-500{--text-opacity:1;color:#64748b;color:rgba(100,116,139,var(--text-opacity))}.group:focus .md\:group-focus\:text-cool-gray-600{--text-opacity:1;color:#475569;color:rgba(71,85,105,var(--text-opacity))}.group:focus .md\:group-focus\:text-cool-gray-700{--text-opacity:1;color:#364152;color:rgba(54,65,82,var(--text-opacity))}.group:focus .md\:group-focus\:text-cool-gray-800{--text-opacity:1;color:#27303f;color:rgba(39,48,63,var(--text-opacity))}.group:focus .md\:group-focus\:text-cool-gray-900{--text-opacity:1;color:#1a202e;color:rgba(26,32,46,var(--text-opacity))}.group:focus .md\:group-focus\:text-red-50{--text-opacity:1;color:#fdf2f2;color:rgba(253,242,242,var(--text-opacity))}.group:focus .md\:group-focus\:text-red-100{--text-opacity:1;color:#fde8e8;color:rgba(253,232,232,var(--text-opacity))}.group:focus .md\:group-focus\:text-red-200{--text-opacity:1;color:#fbd5d5;color:rgba(251,213,213,var(--text-opacity))}.group:focus .md\:group-focus\:text-red-300{--text-opacity:1;color:#f8b4b4;color:rgba(248,180,180,var(--text-opacity))}.group:focus .md\:group-focus\:text-red-400{--text-opacity:1;color:#f98080;color:rgba(249,128,128,var(--text-opacity))}.group:focus .md\:group-focus\:text-red-500{--text-opacity:1;color:#f05252;color:rgba(240,82,82,var(--text-opacity))}.group:focus .md\:group-focus\:text-red-600{--text-opacity:1;color:#e02424;color:rgba(224,36,36,var(--text-opacity))}.group:focus .md\:group-focus\:text-red-700{--text-opacity:1;color:#c81e1e;color:rgba(200,30,30,var(--text-opacity))}.group:focus .md\:group-focus\:text-red-800{--text-opacity:1;color:#9b1c1c;color:rgba(155,28,28,var(--text-opacity))}.group:focus .md\:group-focus\:text-red-900{--text-opacity:1;color:#771d1d;color:rgba(119,29,29,var(--text-opacity))}.group:focus .md\:group-focus\:text-orange-50{--text-opacity:1;color:#fff8f1;color:rgba(255,248,241,var(--text-opacity))}.group:focus .md\:group-focus\:text-orange-100{--text-opacity:1;color:#feecdc;color:rgba(254,236,220,var(--text-opacity))}.group:focus .md\:group-focus\:text-orange-200{--text-opacity:1;color:#fcd9bd;color:rgba(252,217,189,var(--text-opacity))}.group:focus .md\:group-focus\:text-orange-300{--text-opacity:1;color:#fdba8c;color:rgba(253,186,140,var(--text-opacity))}.group:focus .md\:group-focus\:text-orange-400{--text-opacity:1;color:#ff8a4c;color:rgba(255,138,76,var(--text-opacity))}.group:focus .md\:group-focus\:text-orange-500{--text-opacity:1;color:#ff5a1f;color:rgba(255,90,31,var(--text-opacity))}.group:focus .md\:group-focus\:text-orange-600{--text-opacity:1;color:#d03801;color:rgba(208,56,1,var(--text-opacity))}.group:focus .md\:group-focus\:text-orange-700{--text-opacity:1;color:#b43403;color:rgba(180,52,3,var(--text-opacity))}.group:focus .md\:group-focus\:text-orange-800{--text-opacity:1;color:#8a2c0d;color:rgba(138,44,13,var(--text-opacity))}.group:focus .md\:group-focus\:text-orange-900{--text-opacity:1;color:#73230d;color:rgba(115,35,13,var(--text-opacity))}.group:focus .md\:group-focus\:text-yellow-50{--text-opacity:1;color:#fdfdea;color:rgba(253,253,234,var(--text-opacity))}.group:focus .md\:group-focus\:text-yellow-100{--text-opacity:1;color:#fdf6b2;color:rgba(253,246,178,var(--text-opacity))}.group:focus .md\:group-focus\:text-yellow-200{--text-opacity:1;color:#fce96a;color:rgba(252,233,106,var(--text-opacity))}.group:focus .md\:group-focus\:text-yellow-300{--text-opacity:1;color:#faca15;color:rgba(250,202,21,var(--text-opacity))}.group:focus .md\:group-focus\:text-yellow-400{--text-opacity:1;color:#e3a008;color:rgba(227,160,8,var(--text-opacity))}.group:focus .md\:group-focus\:text-yellow-500{--text-opacity:1;color:#c27803;color:rgba(194,120,3,var(--text-opacity))}.group:focus .md\:group-focus\:text-yellow-600{--text-opacity:1;color:#9f580a;color:rgba(159,88,10,var(--text-opacity))}.group:focus .md\:group-focus\:text-yellow-700{--text-opacity:1;color:#8e4b10;color:rgba(142,75,16,var(--text-opacity))}.group:focus .md\:group-focus\:text-yellow-800{--text-opacity:1;color:#723b13;color:rgba(114,59,19,var(--text-opacity))}.group:focus .md\:group-focus\:text-yellow-900{--text-opacity:1;color:#633112;color:rgba(99,49,18,var(--text-opacity))}.group:focus .md\:group-focus\:text-green-50{--text-opacity:1;color:#f3faf7;color:rgba(243,250,247,var(--text-opacity))}.group:focus .md\:group-focus\:text-green-100{--text-opacity:1;color:#def7ec;color:rgba(222,247,236,var(--text-opacity))}.group:focus .md\:group-focus\:text-green-200{--text-opacity:1;color:#bcf0da;color:rgba(188,240,218,var(--text-opacity))}.group:focus .md\:group-focus\:text-green-300{--text-opacity:1;color:#84e1bc;color:rgba(132,225,188,var(--text-opacity))}.group:focus .md\:group-focus\:text-green-400{--text-opacity:1;color:#31c48d;color:rgba(49,196,141,var(--text-opacity))}.group:focus .md\:group-focus\:text-green-500{--text-opacity:1;color:#0e9f6e;color:rgba(14,159,110,var(--text-opacity))}.group:focus .md\:group-focus\:text-green-600{--text-opacity:1;color:#057a55;color:rgba(5,122,85,var(--text-opacity))}.group:focus .md\:group-focus\:text-green-700{--text-opacity:1;color:#046c4e;color:rgba(4,108,78,var(--text-opacity))}.group:focus .md\:group-focus\:text-green-800{--text-opacity:1;color:#03543f;color:rgba(3,84,63,var(--text-opacity))}.group:focus .md\:group-focus\:text-green-900{--text-opacity:1;color:#014737;color:rgba(1,71,55,var(--text-opacity))}.group:focus .md\:group-focus\:text-teal-50{--text-opacity:1;color:#edfafa;color:rgba(237,250,250,var(--text-opacity))}.group:focus .md\:group-focus\:text-teal-100{--text-opacity:1;color:#d5f5f6;color:rgba(213,245,246,var(--text-opacity))}.group:focus .md\:group-focus\:text-teal-200{--text-opacity:1;color:#afecef;color:rgba(175,236,239,var(--text-opacity))}.group:focus .md\:group-focus\:text-teal-300{--text-opacity:1;color:#7edce2;color:rgba(126,220,226,var(--text-opacity))}.group:focus .md\:group-focus\:text-teal-400{--text-opacity:1;color:#16bdca;color:rgba(22,189,202,var(--text-opacity))}.group:focus .md\:group-focus\:text-teal-500{--text-opacity:1;color:#0694a2;color:rgba(6,148,162,var(--text-opacity))}.group:focus .md\:group-focus\:text-teal-600{--text-opacity:1;color:#047481;color:rgba(4,116,129,var(--text-opacity))}.group:focus .md\:group-focus\:text-teal-700{--text-opacity:1;color:#036672;color:rgba(3,102,114,var(--text-opacity))}.group:focus .md\:group-focus\:text-teal-800{--text-opacity:1;color:#05505c;color:rgba(5,80,92,var(--text-opacity))}.group:focus .md\:group-focus\:text-teal-900{--text-opacity:1;color:#014451;color:rgba(1,68,81,var(--text-opacity))}.group:focus .md\:group-focus\:text-blue-50{--text-opacity:1;color:#ebf5ff;color:rgba(235,245,255,var(--text-opacity))}.group:focus .md\:group-focus\:text-blue-100{--text-opacity:1;color:#e1effe;color:rgba(225,239,254,var(--text-opacity))}.group:focus .md\:group-focus\:text-blue-200{--text-opacity:1;color:#c3ddfd;color:rgba(195,221,253,var(--text-opacity))}.group:focus .md\:group-focus\:text-blue-300{--text-opacity:1;color:#a4cafe;color:rgba(164,202,254,var(--text-opacity))}.group:focus .md\:group-focus\:text-blue-400{--text-opacity:1;color:#76a9fa;color:rgba(118,169,250,var(--text-opacity))}.group:focus .md\:group-focus\:text-blue-500{--text-opacity:1;color:#3f83f8;color:rgba(63,131,248,var(--text-opacity))}.group:focus .md\:group-focus\:text-blue-600{--text-opacity:1;color:#1c64f2;color:rgba(28,100,242,var(--text-opacity))}.group:focus .md\:group-focus\:text-blue-700{--text-opacity:1;color:#1a56db;color:rgba(26,86,219,var(--text-opacity))}.group:focus .md\:group-focus\:text-blue-800{--text-opacity:1;color:#1e429f;color:rgba(30,66,159,var(--text-opacity))}.group:focus .md\:group-focus\:text-blue-900{--text-opacity:1;color:#233876;color:rgba(35,56,118,var(--text-opacity))}.group:focus .md\:group-focus\:text-indigo-50{--text-opacity:1;color:#f0f5ff;color:rgba(240,245,255,var(--text-opacity))}.group:focus .md\:group-focus\:text-indigo-100{--text-opacity:1;color:#e5edff;color:rgba(229,237,255,var(--text-opacity))}.group:focus .md\:group-focus\:text-indigo-200{--text-opacity:1;color:#cddbfe;color:rgba(205,219,254,var(--text-opacity))}.group:focus .md\:group-focus\:text-indigo-300{--text-opacity:1;color:#b4c6fc;color:rgba(180,198,252,var(--text-opacity))}.group:focus .md\:group-focus\:text-indigo-400{--text-opacity:1;color:#8da2fb;color:rgba(141,162,251,var(--text-opacity))}.group:focus .md\:group-focus\:text-indigo-500{--text-opacity:1;color:#6875f5;color:rgba(104,117,245,var(--text-opacity))}.group:focus .md\:group-focus\:text-indigo-600{--text-opacity:1;color:#5850ec;color:rgba(88,80,236,var(--text-opacity))}.group:focus .md\:group-focus\:text-indigo-700{--text-opacity:1;color:#5145cd;color:rgba(81,69,205,var(--text-opacity))}.group:focus .md\:group-focus\:text-indigo-800{--text-opacity:1;color:#42389d;color:rgba(66,56,157,var(--text-opacity))}.group:focus .md\:group-focus\:text-indigo-900{--text-opacity:1;color:#362f78;color:rgba(54,47,120,var(--text-opacity))}.group:focus .md\:group-focus\:text-purple-50{--text-opacity:1;color:#f6f5ff;color:rgba(246,245,255,var(--text-opacity))}.group:focus .md\:group-focus\:text-purple-100{--text-opacity:1;color:#edebfe;color:rgba(237,235,254,var(--text-opacity))}.group:focus .md\:group-focus\:text-purple-200{--text-opacity:1;color:#dcd7fe;color:rgba(220,215,254,var(--text-opacity))}.group:focus .md\:group-focus\:text-purple-300{--text-opacity:1;color:#cabffd;color:rgba(202,191,253,var(--text-opacity))}.group:focus .md\:group-focus\:text-purple-400{--text-opacity:1;color:#ac94fa;color:rgba(172,148,250,var(--text-opacity))}.group:focus .md\:group-focus\:text-purple-500{--text-opacity:1;color:#9061f9;color:rgba(144,97,249,var(--text-opacity))}.group:focus .md\:group-focus\:text-purple-600{--text-opacity:1;color:#7e3af2;color:rgba(126,58,242,var(--text-opacity))}.group:focus .md\:group-focus\:text-purple-700{--text-opacity:1;color:#6c2bd9;color:rgba(108,43,217,var(--text-opacity))}.group:focus .md\:group-focus\:text-purple-800{--text-opacity:1;color:#5521b5;color:rgba(85,33,181,var(--text-opacity))}.group:focus .md\:group-focus\:text-purple-900{--text-opacity:1;color:#4a1d96;color:rgba(74,29,150,var(--text-opacity))}.group:focus .md\:group-focus\:text-pink-50{--text-opacity:1;color:#fdf2f8;color:rgba(253,242,248,var(--text-opacity))}.group:focus .md\:group-focus\:text-pink-100{--text-opacity:1;color:#fce8f3;color:rgba(252,232,243,var(--text-opacity))}.group:focus .md\:group-focus\:text-pink-200{--text-opacity:1;color:#fad1e8;color:rgba(250,209,232,var(--text-opacity))}.group:focus .md\:group-focus\:text-pink-300{--text-opacity:1;color:#f8b4d9;color:rgba(248,180,217,var(--text-opacity))}.group:focus .md\:group-focus\:text-pink-400{--text-opacity:1;color:#f17eb8;color:rgba(241,126,184,var(--text-opacity))}.group:focus .md\:group-focus\:text-pink-500{--text-opacity:1;color:#e74694;color:rgba(231,70,148,var(--text-opacity))}.group:focus .md\:group-focus\:text-pink-600{--text-opacity:1;color:#d61f69;color:rgba(214,31,105,var(--text-opacity))}.group:focus .md\:group-focus\:text-pink-700{--text-opacity:1;color:#bf125d;color:rgba(191,18,93,var(--text-opacity))}.group:focus .md\:group-focus\:text-pink-800{--text-opacity:1;color:#99154b;color:rgba(153,21,75,var(--text-opacity))}.group:focus .md\:group-focus\:text-pink-900{--text-opacity:1;color:#751a3d;color:rgba(117,26,61,var(--text-opacity))}.md\:hover\:text-transparent:hover{color:transparent}.md\:hover\:text-white:hover{--text-opacity:1;color:#fff;color:rgba(255,255,255,var(--text-opacity))}.md\:hover\:text-black:hover{--text-opacity:1;color:#000;color:rgba(0,0,0,var(--text-opacity))}.md\:hover\:text-gray-50:hover{--text-opacity:1;color:#f9fafb;color:rgba(249,250,251,var(--text-opacity))}.md\:hover\:text-gray-100:hover{--text-opacity:1;color:#f4f5f7;color:rgba(244,245,247,var(--text-opacity))}.md\:hover\:text-gray-200:hover{--text-opacity:1;color:#e5e7eb;color:rgba(229,231,235,var(--text-opacity))}.md\:hover\:text-gray-300:hover{--text-opacity:1;color:#d2d6dc;color:rgba(210,214,220,var(--text-opacity))}.md\:hover\:text-gray-400:hover{--text-opacity:1;color:#9fa6b2;color:rgba(159,166,178,var(--text-opacity))}.md\:hover\:text-gray-500:hover{--text-opacity:1;color:#6b7280;color:rgba(107,114,128,var(--text-opacity))}.md\:hover\:text-gray-600:hover{--text-opacity:1;color:#4b5563;color:rgba(75,85,99,var(--text-opacity))}.md\:hover\:text-gray-700:hover{--text-opacity:1;color:#374151;color:rgba(55,65,81,var(--text-opacity))}.md\:hover\:text-gray-800:hover{--text-opacity:1;color:#252f3f;color:rgba(37,47,63,var(--text-opacity))}.md\:hover\:text-gray-900:hover{--text-opacity:1;color:#161e2e;color:rgba(22,30,46,var(--text-opacity))}.md\:hover\:text-cool-gray-50:hover{--text-opacity:1;color:#f8fafc;color:rgba(248,250,252,var(--text-opacity))}.md\:hover\:text-cool-gray-100:hover{--text-opacity:1;color:#f1f5f9;color:rgba(241,245,249,var(--text-opacity))}.md\:hover\:text-cool-gray-200:hover{--text-opacity:1;color:#e2e8f0;color:rgba(226,232,240,var(--text-opacity))}.md\:hover\:text-cool-gray-300:hover{--text-opacity:1;color:#cfd8e3;color:rgba(207,216,227,var(--text-opacity))}.md\:hover\:text-cool-gray-400:hover{--text-opacity:1;color:#97a6ba;color:rgba(151,166,186,var(--text-opacity))}.md\:hover\:text-cool-gray-500:hover{--text-opacity:1;color:#64748b;color:rgba(100,116,139,var(--text-opacity))}.md\:hover\:text-cool-gray-600:hover{--text-opacity:1;color:#475569;color:rgba(71,85,105,var(--text-opacity))}.md\:hover\:text-cool-gray-700:hover{--text-opacity:1;color:#364152;color:rgba(54,65,82,var(--text-opacity))}.md\:hover\:text-cool-gray-800:hover{--text-opacity:1;color:#27303f;color:rgba(39,48,63,var(--text-opacity))}.md\:hover\:text-cool-gray-900:hover{--text-opacity:1;color:#1a202e;color:rgba(26,32,46,var(--text-opacity))}.md\:hover\:text-red-50:hover{--text-opacity:1;color:#fdf2f2;color:rgba(253,242,242,var(--text-opacity))}.md\:hover\:text-red-100:hover{--text-opacity:1;color:#fde8e8;color:rgba(253,232,232,var(--text-opacity))}.md\:hover\:text-red-200:hover{--text-opacity:1;color:#fbd5d5;color:rgba(251,213,213,var(--text-opacity))}.md\:hover\:text-red-300:hover{--text-opacity:1;color:#f8b4b4;color:rgba(248,180,180,var(--text-opacity))}.md\:hover\:text-red-400:hover{--text-opacity:1;color:#f98080;color:rgba(249,128,128,var(--text-opacity))}.md\:hover\:text-red-500:hover{--text-opacity:1;color:#f05252;color:rgba(240,82,82,var(--text-opacity))}.md\:hover\:text-red-600:hover{--text-opacity:1;color:#e02424;color:rgba(224,36,36,var(--text-opacity))}.md\:hover\:text-red-700:hover{--text-opacity:1;color:#c81e1e;color:rgba(200,30,30,var(--text-opacity))}.md\:hover\:text-red-800:hover{--text-opacity:1;color:#9b1c1c;color:rgba(155,28,28,var(--text-opacity))}.md\:hover\:text-red-900:hover{--text-opacity:1;color:#771d1d;color:rgba(119,29,29,var(--text-opacity))}.md\:hover\:text-orange-50:hover{--text-opacity:1;color:#fff8f1;color:rgba(255,248,241,var(--text-opacity))}.md\:hover\:text-orange-100:hover{--text-opacity:1;color:#feecdc;color:rgba(254,236,220,var(--text-opacity))}.md\:hover\:text-orange-200:hover{--text-opacity:1;color:#fcd9bd;color:rgba(252,217,189,var(--text-opacity))}.md\:hover\:text-orange-300:hover{--text-opacity:1;color:#fdba8c;color:rgba(253,186,140,var(--text-opacity))}.md\:hover\:text-orange-400:hover{--text-opacity:1;color:#ff8a4c;color:rgba(255,138,76,var(--text-opacity))}.md\:hover\:text-orange-500:hover{--text-opacity:1;color:#ff5a1f;color:rgba(255,90,31,var(--text-opacity))}.md\:hover\:text-orange-600:hover{--text-opacity:1;color:#d03801;color:rgba(208,56,1,var(--text-opacity))}.md\:hover\:text-orange-700:hover{--text-opacity:1;color:#b43403;color:rgba(180,52,3,var(--text-opacity))}.md\:hover\:text-orange-800:hover{--text-opacity:1;color:#8a2c0d;color:rgba(138,44,13,var(--text-opacity))}.md\:hover\:text-orange-900:hover{--text-opacity:1;color:#73230d;color:rgba(115,35,13,var(--text-opacity))}.md\:hover\:text-yellow-50:hover{--text-opacity:1;color:#fdfdea;color:rgba(253,253,234,var(--text-opacity))}.md\:hover\:text-yellow-100:hover{--text-opacity:1;color:#fdf6b2;color:rgba(253,246,178,var(--text-opacity))}.md\:hover\:text-yellow-200:hover{--text-opacity:1;color:#fce96a;color:rgba(252,233,106,var(--text-opacity))}.md\:hover\:text-yellow-300:hover{--text-opacity:1;color:#faca15;color:rgba(250,202,21,var(--text-opacity))}.md\:hover\:text-yellow-400:hover{--text-opacity:1;color:#e3a008;color:rgba(227,160,8,var(--text-opacity))}.md\:hover\:text-yellow-500:hover{--text-opacity:1;color:#c27803;color:rgba(194,120,3,var(--text-opacity))}.md\:hover\:text-yellow-600:hover{--text-opacity:1;color:#9f580a;color:rgba(159,88,10,var(--text-opacity))}.md\:hover\:text-yellow-700:hover{--text-opacity:1;color:#8e4b10;color:rgba(142,75,16,var(--text-opacity))}.md\:hover\:text-yellow-800:hover{--text-opacity:1;color:#723b13;color:rgba(114,59,19,var(--text-opacity))}.md\:hover\:text-yellow-900:hover{--text-opacity:1;color:#633112;color:rgba(99,49,18,var(--text-opacity))}.md\:hover\:text-green-50:hover{--text-opacity:1;color:#f3faf7;color:rgba(243,250,247,var(--text-opacity))}.md\:hover\:text-green-100:hover{--text-opacity:1;color:#def7ec;color:rgba(222,247,236,var(--text-opacity))}.md\:hover\:text-green-200:hover{--text-opacity:1;color:#bcf0da;color:rgba(188,240,218,var(--text-opacity))}.md\:hover\:text-green-300:hover{--text-opacity:1;color:#84e1bc;color:rgba(132,225,188,var(--text-opacity))}.md\:hover\:text-green-400:hover{--text-opacity:1;color:#31c48d;color:rgba(49,196,141,var(--text-opacity))}.md\:hover\:text-green-500:hover{--text-opacity:1;color:#0e9f6e;color:rgba(14,159,110,var(--text-opacity))}.md\:hover\:text-green-600:hover{--text-opacity:1;color:#057a55;color:rgba(5,122,85,var(--text-opacity))}.md\:hover\:text-green-700:hover{--text-opacity:1;color:#046c4e;color:rgba(4,108,78,var(--text-opacity))}.md\:hover\:text-green-800:hover{--text-opacity:1;color:#03543f;color:rgba(3,84,63,var(--text-opacity))}.md\:hover\:text-green-900:hover{--text-opacity:1;color:#014737;color:rgba(1,71,55,var(--text-opacity))}.md\:hover\:text-teal-50:hover{--text-opacity:1;color:#edfafa;color:rgba(237,250,250,var(--text-opacity))}.md\:hover\:text-teal-100:hover{--text-opacity:1;color:#d5f5f6;color:rgba(213,245,246,var(--text-opacity))}.md\:hover\:text-teal-200:hover{--text-opacity:1;color:#afecef;color:rgba(175,236,239,var(--text-opacity))}.md\:hover\:text-teal-300:hover{--text-opacity:1;color:#7edce2;color:rgba(126,220,226,var(--text-opacity))}.md\:hover\:text-teal-400:hover{--text-opacity:1;color:#16bdca;color:rgba(22,189,202,var(--text-opacity))}.md\:hover\:text-teal-500:hover{--text-opacity:1;color:#0694a2;color:rgba(6,148,162,var(--text-opacity))}.md\:hover\:text-teal-600:hover{--text-opacity:1;color:#047481;color:rgba(4,116,129,var(--text-opacity))}.md\:hover\:text-teal-700:hover{--text-opacity:1;color:#036672;color:rgba(3,102,114,var(--text-opacity))}.md\:hover\:text-teal-800:hover{--text-opacity:1;color:#05505c;color:rgba(5,80,92,var(--text-opacity))}.md\:hover\:text-teal-900:hover{--text-opacity:1;color:#014451;color:rgba(1,68,81,var(--text-opacity))}.md\:hover\:text-blue-50:hover{--text-opacity:1;color:#ebf5ff;color:rgba(235,245,255,var(--text-opacity))}.md\:hover\:text-blue-100:hover{--text-opacity:1;color:#e1effe;color:rgba(225,239,254,var(--text-opacity))}.md\:hover\:text-blue-200:hover{--text-opacity:1;color:#c3ddfd;color:rgba(195,221,253,var(--text-opacity))}.md\:hover\:text-blue-300:hover{--text-opacity:1;color:#a4cafe;color:rgba(164,202,254,var(--text-opacity))}.md\:hover\:text-blue-400:hover{--text-opacity:1;color:#76a9fa;color:rgba(118,169,250,var(--text-opacity))}.md\:hover\:text-blue-500:hover{--text-opacity:1;color:#3f83f8;color:rgba(63,131,248,var(--text-opacity))}.md\:hover\:text-blue-600:hover{--text-opacity:1;color:#1c64f2;color:rgba(28,100,242,var(--text-opacity))}.md\:hover\:text-blue-700:hover{--text-opacity:1;color:#1a56db;color:rgba(26,86,219,var(--text-opacity))}.md\:hover\:text-blue-800:hover{--text-opacity:1;color:#1e429f;color:rgba(30,66,159,var(--text-opacity))}.md\:hover\:text-blue-900:hover{--text-opacity:1;color:#233876;color:rgba(35,56,118,var(--text-opacity))}.md\:hover\:text-indigo-50:hover{--text-opacity:1;color:#f0f5ff;color:rgba(240,245,255,var(--text-opacity))}.md\:hover\:text-indigo-100:hover{--text-opacity:1;color:#e5edff;color:rgba(229,237,255,var(--text-opacity))}.md\:hover\:text-indigo-200:hover{--text-opacity:1;color:#cddbfe;color:rgba(205,219,254,var(--text-opacity))}.md\:hover\:text-indigo-300:hover{--text-opacity:1;color:#b4c6fc;color:rgba(180,198,252,var(--text-opacity))}.md\:hover\:text-indigo-400:hover{--text-opacity:1;color:#8da2fb;color:rgba(141,162,251,var(--text-opacity))}.md\:hover\:text-indigo-500:hover{--text-opacity:1;color:#6875f5;color:rgba(104,117,245,var(--text-opacity))}.md\:hover\:text-indigo-600:hover{--text-opacity:1;color:#5850ec;color:rgba(88,80,236,var(--text-opacity))}.md\:hover\:text-indigo-700:hover{--text-opacity:1;color:#5145cd;color:rgba(81,69,205,var(--text-opacity))}.md\:hover\:text-indigo-800:hover{--text-opacity:1;color:#42389d;color:rgba(66,56,157,var(--text-opacity))}.md\:hover\:text-indigo-900:hover{--text-opacity:1;color:#362f78;color:rgba(54,47,120,var(--text-opacity))}.md\:hover\:text-purple-50:hover{--text-opacity:1;color:#f6f5ff;color:rgba(246,245,255,var(--text-opacity))}.md\:hover\:text-purple-100:hover{--text-opacity:1;color:#edebfe;color:rgba(237,235,254,var(--text-opacity))}.md\:hover\:text-purple-200:hover{--text-opacity:1;color:#dcd7fe;color:rgba(220,215,254,var(--text-opacity))}.md\:hover\:text-purple-300:hover{--text-opacity:1;color:#cabffd;color:rgba(202,191,253,var(--text-opacity))}.md\:hover\:text-purple-400:hover{--text-opacity:1;color:#ac94fa;color:rgba(172,148,250,var(--text-opacity))}.md\:hover\:text-purple-500:hover{--text-opacity:1;color:#9061f9;color:rgba(144,97,249,var(--text-opacity))}.md\:hover\:text-purple-600:hover{--text-opacity:1;color:#7e3af2;color:rgba(126,58,242,var(--text-opacity))}.md\:hover\:text-purple-700:hover{--text-opacity:1;color:#6c2bd9;color:rgba(108,43,217,var(--text-opacity))}.md\:hover\:text-purple-800:hover{--text-opacity:1;color:#5521b5;color:rgba(85,33,181,var(--text-opacity))}.md\:hover\:text-purple-900:hover{--text-opacity:1;color:#4a1d96;color:rgba(74,29,150,var(--text-opacity))}.md\:hover\:text-pink-50:hover{--text-opacity:1;color:#fdf2f8;color:rgba(253,242,248,var(--text-opacity))}.md\:hover\:text-pink-100:hover{--text-opacity:1;color:#fce8f3;color:rgba(252,232,243,var(--text-opacity))}.md\:hover\:text-pink-200:hover{--text-opacity:1;color:#fad1e8;color:rgba(250,209,232,var(--text-opacity))}.md\:hover\:text-pink-300:hover{--text-opacity:1;color:#f8b4d9;color:rgba(248,180,217,var(--text-opacity))}.md\:hover\:text-pink-400:hover{--text-opacity:1;color:#f17eb8;color:rgba(241,126,184,var(--text-opacity))}.md\:hover\:text-pink-500:hover{--text-opacity:1;color:#e74694;color:rgba(231,70,148,var(--text-opacity))}.md\:hover\:text-pink-600:hover{--text-opacity:1;color:#d61f69;color:rgba(214,31,105,var(--text-opacity))}.md\:hover\:text-pink-700:hover{--text-opacity:1;color:#bf125d;color:rgba(191,18,93,var(--text-opacity))}.md\:hover\:text-pink-800:hover{--text-opacity:1;color:#99154b;color:rgba(153,21,75,var(--text-opacity))}.md\:hover\:text-pink-900:hover{--text-opacity:1;color:#751a3d;color:rgba(117,26,61,var(--text-opacity))}.md\:focus-within\:text-transparent:focus-within{color:transparent}.md\:focus-within\:text-white:focus-within{--text-opacity:1;color:#fff;color:rgba(255,255,255,var(--text-opacity))}.md\:focus-within\:text-black:focus-within{--text-opacity:1;color:#000;color:rgba(0,0,0,var(--text-opacity))}.md\:focus-within\:text-gray-50:focus-within{--text-opacity:1;color:#f9fafb;color:rgba(249,250,251,var(--text-opacity))}.md\:focus-within\:text-gray-100:focus-within{--text-opacity:1;color:#f4f5f7;color:rgba(244,245,247,var(--text-opacity))}.md\:focus-within\:text-gray-200:focus-within{--text-opacity:1;color:#e5e7eb;color:rgba(229,231,235,var(--text-opacity))}.md\:focus-within\:text-gray-300:focus-within{--text-opacity:1;color:#d2d6dc;color:rgba(210,214,220,var(--text-opacity))}.md\:focus-within\:text-gray-400:focus-within{--text-opacity:1;color:#9fa6b2;color:rgba(159,166,178,var(--text-opacity))}.md\:focus-within\:text-gray-500:focus-within{--text-opacity:1;color:#6b7280;color:rgba(107,114,128,var(--text-opacity))}.md\:focus-within\:text-gray-600:focus-within{--text-opacity:1;color:#4b5563;color:rgba(75,85,99,var(--text-opacity))}.md\:focus-within\:text-gray-700:focus-within{--text-opacity:1;color:#374151;color:rgba(55,65,81,var(--text-opacity))}.md\:focus-within\:text-gray-800:focus-within{--text-opacity:1;color:#252f3f;color:rgba(37,47,63,var(--text-opacity))}.md\:focus-within\:text-gray-900:focus-within{--text-opacity:1;color:#161e2e;color:rgba(22,30,46,var(--text-opacity))}.md\:focus-within\:text-cool-gray-50:focus-within{--text-opacity:1;color:#f8fafc;color:rgba(248,250,252,var(--text-opacity))}.md\:focus-within\:text-cool-gray-100:focus-within{--text-opacity:1;color:#f1f5f9;color:rgba(241,245,249,var(--text-opacity))}.md\:focus-within\:text-cool-gray-200:focus-within{--text-opacity:1;color:#e2e8f0;color:rgba(226,232,240,var(--text-opacity))}.md\:focus-within\:text-cool-gray-300:focus-within{--text-opacity:1;color:#cfd8e3;color:rgba(207,216,227,var(--text-opacity))}.md\:focus-within\:text-cool-gray-400:focus-within{--text-opacity:1;color:#97a6ba;color:rgba(151,166,186,var(--text-opacity))}.md\:focus-within\:text-cool-gray-500:focus-within{--text-opacity:1;color:#64748b;color:rgba(100,116,139,var(--text-opacity))}.md\:focus-within\:text-cool-gray-600:focus-within{--text-opacity:1;color:#475569;color:rgba(71,85,105,var(--text-opacity))}.md\:focus-within\:text-cool-gray-700:focus-within{--text-opacity:1;color:#364152;color:rgba(54,65,82,var(--text-opacity))}.md\:focus-within\:text-cool-gray-800:focus-within{--text-opacity:1;color:#27303f;color:rgba(39,48,63,var(--text-opacity))}.md\:focus-within\:text-cool-gray-900:focus-within{--text-opacity:1;color:#1a202e;color:rgba(26,32,46,var(--text-opacity))}.md\:focus-within\:text-red-50:focus-within{--text-opacity:1;color:#fdf2f2;color:rgba(253,242,242,var(--text-opacity))}.md\:focus-within\:text-red-100:focus-within{--text-opacity:1;color:#fde8e8;color:rgba(253,232,232,var(--text-opacity))}.md\:focus-within\:text-red-200:focus-within{--text-opacity:1;color:#fbd5d5;color:rgba(251,213,213,var(--text-opacity))}.md\:focus-within\:text-red-300:focus-within{--text-opacity:1;color:#f8b4b4;color:rgba(248,180,180,var(--text-opacity))}.md\:focus-within\:text-red-400:focus-within{--text-opacity:1;color:#f98080;color:rgba(249,128,128,var(--text-opacity))}.md\:focus-within\:text-red-500:focus-within{--text-opacity:1;color:#f05252;color:rgba(240,82,82,var(--text-opacity))}.md\:focus-within\:text-red-600:focus-within{--text-opacity:1;color:#e02424;color:rgba(224,36,36,var(--text-opacity))}.md\:focus-within\:text-red-700:focus-within{--text-opacity:1;color:#c81e1e;color:rgba(200,30,30,var(--text-opacity))}.md\:focus-within\:text-red-800:focus-within{--text-opacity:1;color:#9b1c1c;color:rgba(155,28,28,var(--text-opacity))}.md\:focus-within\:text-red-900:focus-within{--text-opacity:1;color:#771d1d;color:rgba(119,29,29,var(--text-opacity))}.md\:focus-within\:text-orange-50:focus-within{--text-opacity:1;color:#fff8f1;color:rgba(255,248,241,var(--text-opacity))}.md\:focus-within\:text-orange-100:focus-within{--text-opacity:1;color:#feecdc;color:rgba(254,236,220,var(--text-opacity))}.md\:focus-within\:text-orange-200:focus-within{--text-opacity:1;color:#fcd9bd;color:rgba(252,217,189,var(--text-opacity))}.md\:focus-within\:text-orange-300:focus-within{--text-opacity:1;color:#fdba8c;color:rgba(253,186,140,var(--text-opacity))}.md\:focus-within\:text-orange-400:focus-within{--text-opacity:1;color:#ff8a4c;color:rgba(255,138,76,var(--text-opacity))}.md\:focus-within\:text-orange-500:focus-within{--text-opacity:1;color:#ff5a1f;color:rgba(255,90,31,var(--text-opacity))}.md\:focus-within\:text-orange-600:focus-within{--text-opacity:1;color:#d03801;color:rgba(208,56,1,var(--text-opacity))}.md\:focus-within\:text-orange-700:focus-within{--text-opacity:1;color:#b43403;color:rgba(180,52,3,var(--text-opacity))}.md\:focus-within\:text-orange-800:focus-within{--text-opacity:1;color:#8a2c0d;color:rgba(138,44,13,var(--text-opacity))}.md\:focus-within\:text-orange-900:focus-within{--text-opacity:1;color:#73230d;color:rgba(115,35,13,var(--text-opacity))}.md\:focus-within\:text-yellow-50:focus-within{--text-opacity:1;color:#fdfdea;color:rgba(253,253,234,var(--text-opacity))}.md\:focus-within\:text-yellow-100:focus-within{--text-opacity:1;color:#fdf6b2;color:rgba(253,246,178,var(--text-opacity))}.md\:focus-within\:text-yellow-200:focus-within{--text-opacity:1;color:#fce96a;color:rgba(252,233,106,var(--text-opacity))}.md\:focus-within\:text-yellow-300:focus-within{--text-opacity:1;color:#faca15;color:rgba(250,202,21,var(--text-opacity))}.md\:focus-within\:text-yellow-400:focus-within{--text-opacity:1;color:#e3a008;color:rgba(227,160,8,var(--text-opacity))}.md\:focus-within\:text-yellow-500:focus-within{--text-opacity:1;color:#c27803;color:rgba(194,120,3,var(--text-opacity))}.md\:focus-within\:text-yellow-600:focus-within{--text-opacity:1;color:#9f580a;color:rgba(159,88,10,var(--text-opacity))}.md\:focus-within\:text-yellow-700:focus-within{--text-opacity:1;color:#8e4b10;color:rgba(142,75,16,var(--text-opacity))}.md\:focus-within\:text-yellow-800:focus-within{--text-opacity:1;color:#723b13;color:rgba(114,59,19,var(--text-opacity))}.md\:focus-within\:text-yellow-900:focus-within{--text-opacity:1;color:#633112;color:rgba(99,49,18,var(--text-opacity))}.md\:focus-within\:text-green-50:focus-within{--text-opacity:1;color:#f3faf7;color:rgba(243,250,247,var(--text-opacity))}.md\:focus-within\:text-green-100:focus-within{--text-opacity:1;color:#def7ec;color:rgba(222,247,236,var(--text-opacity))}.md\:focus-within\:text-green-200:focus-within{--text-opacity:1;color:#bcf0da;color:rgba(188,240,218,var(--text-opacity))}.md\:focus-within\:text-green-300:focus-within{--text-opacity:1;color:#84e1bc;color:rgba(132,225,188,var(--text-opacity))}.md\:focus-within\:text-green-400:focus-within{--text-opacity:1;color:#31c48d;color:rgba(49,196,141,var(--text-opacity))}.md\:focus-within\:text-green-500:focus-within{--text-opacity:1;color:#0e9f6e;color:rgba(14,159,110,var(--text-opacity))}.md\:focus-within\:text-green-600:focus-within{--text-opacity:1;color:#057a55;color:rgba(5,122,85,var(--text-opacity))}.md\:focus-within\:text-green-700:focus-within{--text-opacity:1;color:#046c4e;color:rgba(4,108,78,var(--text-opacity))}.md\:focus-within\:text-green-800:focus-within{--text-opacity:1;color:#03543f;color:rgba(3,84,63,var(--text-opacity))}.md\:focus-within\:text-green-900:focus-within{--text-opacity:1;color:#014737;color:rgba(1,71,55,var(--text-opacity))}.md\:focus-within\:text-teal-50:focus-within{--text-opacity:1;color:#edfafa;color:rgba(237,250,250,var(--text-opacity))}.md\:focus-within\:text-teal-100:focus-within{--text-opacity:1;color:#d5f5f6;color:rgba(213,245,246,var(--text-opacity))}.md\:focus-within\:text-teal-200:focus-within{--text-opacity:1;color:#afecef;color:rgba(175,236,239,var(--text-opacity))}.md\:focus-within\:text-teal-300:focus-within{--text-opacity:1;color:#7edce2;color:rgba(126,220,226,var(--text-opacity))}.md\:focus-within\:text-teal-400:focus-within{--text-opacity:1;color:#16bdca;color:rgba(22,189,202,var(--text-opacity))}.md\:focus-within\:text-teal-500:focus-within{--text-opacity:1;color:#0694a2;color:rgba(6,148,162,var(--text-opacity))}.md\:focus-within\:text-teal-600:focus-within{--text-opacity:1;color:#047481;color:rgba(4,116,129,var(--text-opacity))}.md\:focus-within\:text-teal-700:focus-within{--text-opacity:1;color:#036672;color:rgba(3,102,114,var(--text-opacity))}.md\:focus-within\:text-teal-800:focus-within{--text-opacity:1;color:#05505c;color:rgba(5,80,92,var(--text-opacity))}.md\:focus-within\:text-teal-900:focus-within{--text-opacity:1;color:#014451;color:rgba(1,68,81,var(--text-opacity))}.md\:focus-within\:text-blue-50:focus-within{--text-opacity:1;color:#ebf5ff;color:rgba(235,245,255,var(--text-opacity))}.md\:focus-within\:text-blue-100:focus-within{--text-opacity:1;color:#e1effe;color:rgba(225,239,254,var(--text-opacity))}.md\:focus-within\:text-blue-200:focus-within{--text-opacity:1;color:#c3ddfd;color:rgba(195,221,253,var(--text-opacity))}.md\:focus-within\:text-blue-300:focus-within{--text-opacity:1;color:#a4cafe;color:rgba(164,202,254,var(--text-opacity))}.md\:focus-within\:text-blue-400:focus-within{--text-opacity:1;color:#76a9fa;color:rgba(118,169,250,var(--text-opacity))}.md\:focus-within\:text-blue-500:focus-within{--text-opacity:1;color:#3f83f8;color:rgba(63,131,248,var(--text-opacity))}.md\:focus-within\:text-blue-600:focus-within{--text-opacity:1;color:#1c64f2;color:rgba(28,100,242,var(--text-opacity))}.md\:focus-within\:text-blue-700:focus-within{--text-opacity:1;color:#1a56db;color:rgba(26,86,219,var(--text-opacity))}.md\:focus-within\:text-blue-800:focus-within{--text-opacity:1;color:#1e429f;color:rgba(30,66,159,var(--text-opacity))}.md\:focus-within\:text-blue-900:focus-within{--text-opacity:1;color:#233876;color:rgba(35,56,118,var(--text-opacity))}.md\:focus-within\:text-indigo-50:focus-within{--text-opacity:1;color:#f0f5ff;color:rgba(240,245,255,var(--text-opacity))}.md\:focus-within\:text-indigo-100:focus-within{--text-opacity:1;color:#e5edff;color:rgba(229,237,255,var(--text-opacity))}.md\:focus-within\:text-indigo-200:focus-within{--text-opacity:1;color:#cddbfe;color:rgba(205,219,254,var(--text-opacity))}.md\:focus-within\:text-indigo-300:focus-within{--text-opacity:1;color:#b4c6fc;color:rgba(180,198,252,var(--text-opacity))}.md\:focus-within\:text-indigo-400:focus-within{--text-opacity:1;color:#8da2fb;color:rgba(141,162,251,var(--text-opacity))}.md\:focus-within\:text-indigo-500:focus-within{--text-opacity:1;color:#6875f5;color:rgba(104,117,245,var(--text-opacity))}.md\:focus-within\:text-indigo-600:focus-within{--text-opacity:1;color:#5850ec;color:rgba(88,80,236,var(--text-opacity))}.md\:focus-within\:text-indigo-700:focus-within{--text-opacity:1;color:#5145cd;color:rgba(81,69,205,var(--text-opacity))}.md\:focus-within\:text-indigo-800:focus-within{--text-opacity:1;color:#42389d;color:rgba(66,56,157,var(--text-opacity))}.md\:focus-within\:text-indigo-900:focus-within{--text-opacity:1;color:#362f78;color:rgba(54,47,120,var(--text-opacity))}.md\:focus-within\:text-purple-50:focus-within{--text-opacity:1;color:#f6f5ff;color:rgba(246,245,255,var(--text-opacity))}.md\:focus-within\:text-purple-100:focus-within{--text-opacity:1;color:#edebfe;color:rgba(237,235,254,var(--text-opacity))}.md\:focus-within\:text-purple-200:focus-within{--text-opacity:1;color:#dcd7fe;color:rgba(220,215,254,var(--text-opacity))}.md\:focus-within\:text-purple-300:focus-within{--text-opacity:1;color:#cabffd;color:rgba(202,191,253,var(--text-opacity))}.md\:focus-within\:text-purple-400:focus-within{--text-opacity:1;color:#ac94fa;color:rgba(172,148,250,var(--text-opacity))}.md\:focus-within\:text-purple-500:focus-within{--text-opacity:1;color:#9061f9;color:rgba(144,97,249,var(--text-opacity))}.md\:focus-within\:text-purple-600:focus-within{--text-opacity:1;color:#7e3af2;color:rgba(126,58,242,var(--text-opacity))}.md\:focus-within\:text-purple-700:focus-within{--text-opacity:1;color:#6c2bd9;color:rgba(108,43,217,var(--text-opacity))}.md\:focus-within\:text-purple-800:focus-within{--text-opacity:1;color:#5521b5;color:rgba(85,33,181,var(--text-opacity))}.md\:focus-within\:text-purple-900:focus-within{--text-opacity:1;color:#4a1d96;color:rgba(74,29,150,var(--text-opacity))}.md\:focus-within\:text-pink-50:focus-within{--text-opacity:1;color:#fdf2f8;color:rgba(253,242,248,var(--text-opacity))}.md\:focus-within\:text-pink-100:focus-within{--text-opacity:1;color:#fce8f3;color:rgba(252,232,243,var(--text-opacity))}.md\:focus-within\:text-pink-200:focus-within{--text-opacity:1;color:#fad1e8;color:rgba(250,209,232,var(--text-opacity))}.md\:focus-within\:text-pink-300:focus-within{--text-opacity:1;color:#f8b4d9;color:rgba(248,180,217,var(--text-opacity))}.md\:focus-within\:text-pink-400:focus-within{--text-opacity:1;color:#f17eb8;color:rgba(241,126,184,var(--text-opacity))}.md\:focus-within\:text-pink-500:focus-within{--text-opacity:1;color:#e74694;color:rgba(231,70,148,var(--text-opacity))}.md\:focus-within\:text-pink-600:focus-within{--text-opacity:1;color:#d61f69;color:rgba(214,31,105,var(--text-opacity))}.md\:focus-within\:text-pink-700:focus-within{--text-opacity:1;color:#bf125d;color:rgba(191,18,93,var(--text-opacity))}.md\:focus-within\:text-pink-800:focus-within{--text-opacity:1;color:#99154b;color:rgba(153,21,75,var(--text-opacity))}.md\:focus-within\:text-pink-900:focus-within{--text-opacity:1;color:#751a3d;color:rgba(117,26,61,var(--text-opacity))}.md\:focus\:text-transparent:focus{color:transparent}.md\:focus\:text-white:focus{--text-opacity:1;color:#fff;color:rgba(255,255,255,var(--text-opacity))}.md\:focus\:text-black:focus{--text-opacity:1;color:#000;color:rgba(0,0,0,var(--text-opacity))}.md\:focus\:text-gray-50:focus{--text-opacity:1;color:#f9fafb;color:rgba(249,250,251,var(--text-opacity))}.md\:focus\:text-gray-100:focus{--text-opacity:1;color:#f4f5f7;color:rgba(244,245,247,var(--text-opacity))}.md\:focus\:text-gray-200:focus{--text-opacity:1;color:#e5e7eb;color:rgba(229,231,235,var(--text-opacity))}.md\:focus\:text-gray-300:focus{--text-opacity:1;color:#d2d6dc;color:rgba(210,214,220,var(--text-opacity))}.md\:focus\:text-gray-400:focus{--text-opacity:1;color:#9fa6b2;color:rgba(159,166,178,var(--text-opacity))}.md\:focus\:text-gray-500:focus{--text-opacity:1;color:#6b7280;color:rgba(107,114,128,var(--text-opacity))}.md\:focus\:text-gray-600:focus{--text-opacity:1;color:#4b5563;color:rgba(75,85,99,var(--text-opacity))}.md\:focus\:text-gray-700:focus{--text-opacity:1;color:#374151;color:rgba(55,65,81,var(--text-opacity))}.md\:focus\:text-gray-800:focus{--text-opacity:1;color:#252f3f;color:rgba(37,47,63,var(--text-opacity))}.md\:focus\:text-gray-900:focus{--text-opacity:1;color:#161e2e;color:rgba(22,30,46,var(--text-opacity))}.md\:focus\:text-cool-gray-50:focus{--text-opacity:1;color:#f8fafc;color:rgba(248,250,252,var(--text-opacity))}.md\:focus\:text-cool-gray-100:focus{--text-opacity:1;color:#f1f5f9;color:rgba(241,245,249,var(--text-opacity))}.md\:focus\:text-cool-gray-200:focus{--text-opacity:1;color:#e2e8f0;color:rgba(226,232,240,var(--text-opacity))}.md\:focus\:text-cool-gray-300:focus{--text-opacity:1;color:#cfd8e3;color:rgba(207,216,227,var(--text-opacity))}.md\:focus\:text-cool-gray-400:focus{--text-opacity:1;color:#97a6ba;color:rgba(151,166,186,var(--text-opacity))}.md\:focus\:text-cool-gray-500:focus{--text-opacity:1;color:#64748b;color:rgba(100,116,139,var(--text-opacity))}.md\:focus\:text-cool-gray-600:focus{--text-opacity:1;color:#475569;color:rgba(71,85,105,var(--text-opacity))}.md\:focus\:text-cool-gray-700:focus{--text-opacity:1;color:#364152;color:rgba(54,65,82,var(--text-opacity))}.md\:focus\:text-cool-gray-800:focus{--text-opacity:1;color:#27303f;color:rgba(39,48,63,var(--text-opacity))}.md\:focus\:text-cool-gray-900:focus{--text-opacity:1;color:#1a202e;color:rgba(26,32,46,var(--text-opacity))}.md\:focus\:text-red-50:focus{--text-opacity:1;color:#fdf2f2;color:rgba(253,242,242,var(--text-opacity))}.md\:focus\:text-red-100:focus{--text-opacity:1;color:#fde8e8;color:rgba(253,232,232,var(--text-opacity))}.md\:focus\:text-red-200:focus{--text-opacity:1;color:#fbd5d5;color:rgba(251,213,213,var(--text-opacity))}.md\:focus\:text-red-300:focus{--text-opacity:1;color:#f8b4b4;color:rgba(248,180,180,var(--text-opacity))}.md\:focus\:text-red-400:focus{--text-opacity:1;color:#f98080;color:rgba(249,128,128,var(--text-opacity))}.md\:focus\:text-red-500:focus{--text-opacity:1;color:#f05252;color:rgba(240,82,82,var(--text-opacity))}.md\:focus\:text-red-600:focus{--text-opacity:1;color:#e02424;color:rgba(224,36,36,var(--text-opacity))}.md\:focus\:text-red-700:focus{--text-opacity:1;color:#c81e1e;color:rgba(200,30,30,var(--text-opacity))}.md\:focus\:text-red-800:focus{--text-opacity:1;color:#9b1c1c;color:rgba(155,28,28,var(--text-opacity))}.md\:focus\:text-red-900:focus{--text-opacity:1;color:#771d1d;color:rgba(119,29,29,var(--text-opacity))}.md\:focus\:text-orange-50:focus{--text-opacity:1;color:#fff8f1;color:rgba(255,248,241,var(--text-opacity))}.md\:focus\:text-orange-100:focus{--text-opacity:1;color:#feecdc;color:rgba(254,236,220,var(--text-opacity))}.md\:focus\:text-orange-200:focus{--text-opacity:1;color:#fcd9bd;color:rgba(252,217,189,var(--text-opacity))}.md\:focus\:text-orange-300:focus{--text-opacity:1;color:#fdba8c;color:rgba(253,186,140,var(--text-opacity))}.md\:focus\:text-orange-400:focus{--text-opacity:1;color:#ff8a4c;color:rgba(255,138,76,var(--text-opacity))}.md\:focus\:text-orange-500:focus{--text-opacity:1;color:#ff5a1f;color:rgba(255,90,31,var(--text-opacity))}.md\:focus\:text-orange-600:focus{--text-opacity:1;color:#d03801;color:rgba(208,56,1,var(--text-opacity))}.md\:focus\:text-orange-700:focus{--text-opacity:1;color:#b43403;color:rgba(180,52,3,var(--text-opacity))}.md\:focus\:text-orange-800:focus{--text-opacity:1;color:#8a2c0d;color:rgba(138,44,13,var(--text-opacity))}.md\:focus\:text-orange-900:focus{--text-opacity:1;color:#73230d;color:rgba(115,35,13,var(--text-opacity))}.md\:focus\:text-yellow-50:focus{--text-opacity:1;color:#fdfdea;color:rgba(253,253,234,var(--text-opacity))}.md\:focus\:text-yellow-100:focus{--text-opacity:1;color:#fdf6b2;color:rgba(253,246,178,var(--text-opacity))}.md\:focus\:text-yellow-200:focus{--text-opacity:1;color:#fce96a;color:rgba(252,233,106,var(--text-opacity))}.md\:focus\:text-yellow-300:focus{--text-opacity:1;color:#faca15;color:rgba(250,202,21,var(--text-opacity))}.md\:focus\:text-yellow-400:focus{--text-opacity:1;color:#e3a008;color:rgba(227,160,8,var(--text-opacity))}.md\:focus\:text-yellow-500:focus{--text-opacity:1;color:#c27803;color:rgba(194,120,3,var(--text-opacity))}.md\:focus\:text-yellow-600:focus{--text-opacity:1;color:#9f580a;color:rgba(159,88,10,var(--text-opacity))}.md\:focus\:text-yellow-700:focus{--text-opacity:1;color:#8e4b10;color:rgba(142,75,16,var(--text-opacity))}.md\:focus\:text-yellow-800:focus{--text-opacity:1;color:#723b13;color:rgba(114,59,19,var(--text-opacity))}.md\:focus\:text-yellow-900:focus{--text-opacity:1;color:#633112;color:rgba(99,49,18,var(--text-opacity))}.md\:focus\:text-green-50:focus{--text-opacity:1;color:#f3faf7;color:rgba(243,250,247,var(--text-opacity))}.md\:focus\:text-green-100:focus{--text-opacity:1;color:#def7ec;color:rgba(222,247,236,var(--text-opacity))}.md\:focus\:text-green-200:focus{--text-opacity:1;color:#bcf0da;color:rgba(188,240,218,var(--text-opacity))}.md\:focus\:text-green-300:focus{--text-opacity:1;color:#84e1bc;color:rgba(132,225,188,var(--text-opacity))}.md\:focus\:text-green-400:focus{--text-opacity:1;color:#31c48d;color:rgba(49,196,141,var(--text-opacity))}.md\:focus\:text-green-500:focus{--text-opacity:1;color:#0e9f6e;color:rgba(14,159,110,var(--text-opacity))}.md\:focus\:text-green-600:focus{--text-opacity:1;color:#057a55;color:rgba(5,122,85,var(--text-opacity))}.md\:focus\:text-green-700:focus{--text-opacity:1;color:#046c4e;color:rgba(4,108,78,var(--text-opacity))}.md\:focus\:text-green-800:focus{--text-opacity:1;color:#03543f;color:rgba(3,84,63,var(--text-opacity))}.md\:focus\:text-green-900:focus{--text-opacity:1;color:#014737;color:rgba(1,71,55,var(--text-opacity))}.md\:focus\:text-teal-50:focus{--text-opacity:1;color:#edfafa;color:rgba(237,250,250,var(--text-opacity))}.md\:focus\:text-teal-100:focus{--text-opacity:1;color:#d5f5f6;color:rgba(213,245,246,var(--text-opacity))}.md\:focus\:text-teal-200:focus{--text-opacity:1;color:#afecef;color:rgba(175,236,239,var(--text-opacity))}.md\:focus\:text-teal-300:focus{--text-opacity:1;color:#7edce2;color:rgba(126,220,226,var(--text-opacity))}.md\:focus\:text-teal-400:focus{--text-opacity:1;color:#16bdca;color:rgba(22,189,202,var(--text-opacity))}.md\:focus\:text-teal-500:focus{--text-opacity:1;color:#0694a2;color:rgba(6,148,162,var(--text-opacity))}.md\:focus\:text-teal-600:focus{--text-opacity:1;color:#047481;color:rgba(4,116,129,var(--text-opacity))}.md\:focus\:text-teal-700:focus{--text-opacity:1;color:#036672;color:rgba(3,102,114,var(--text-opacity))}.md\:focus\:text-teal-800:focus{--text-opacity:1;color:#05505c;color:rgba(5,80,92,var(--text-opacity))}.md\:focus\:text-teal-900:focus{--text-opacity:1;color:#014451;color:rgba(1,68,81,var(--text-opacity))}.md\:focus\:text-blue-50:focus{--text-opacity:1;color:#ebf5ff;color:rgba(235,245,255,var(--text-opacity))}.md\:focus\:text-blue-100:focus{--text-opacity:1;color:#e1effe;color:rgba(225,239,254,var(--text-opacity))}.md\:focus\:text-blue-200:focus{--text-opacity:1;color:#c3ddfd;color:rgba(195,221,253,var(--text-opacity))}.md\:focus\:text-blue-300:focus{--text-opacity:1;color:#a4cafe;color:rgba(164,202,254,var(--text-opacity))}.md\:focus\:text-blue-400:focus{--text-opacity:1;color:#76a9fa;color:rgba(118,169,250,var(--text-opacity))}.md\:focus\:text-blue-500:focus{--text-opacity:1;color:#3f83f8;color:rgba(63,131,248,var(--text-opacity))}.md\:focus\:text-blue-600:focus{--text-opacity:1;color:#1c64f2;color:rgba(28,100,242,var(--text-opacity))}.md\:focus\:text-blue-700:focus{--text-opacity:1;color:#1a56db;color:rgba(26,86,219,var(--text-opacity))}.md\:focus\:text-blue-800:focus{--text-opacity:1;color:#1e429f;color:rgba(30,66,159,var(--text-opacity))}.md\:focus\:text-blue-900:focus{--text-opacity:1;color:#233876;color:rgba(35,56,118,var(--text-opacity))}.md\:focus\:text-indigo-50:focus{--text-opacity:1;color:#f0f5ff;color:rgba(240,245,255,var(--text-opacity))}.md\:focus\:text-indigo-100:focus{--text-opacity:1;color:#e5edff;color:rgba(229,237,255,var(--text-opacity))}.md\:focus\:text-indigo-200:focus{--text-opacity:1;color:#cddbfe;color:rgba(205,219,254,var(--text-opacity))}.md\:focus\:text-indigo-300:focus{--text-opacity:1;color:#b4c6fc;color:rgba(180,198,252,var(--text-opacity))}.md\:focus\:text-indigo-400:focus{--text-opacity:1;color:#8da2fb;color:rgba(141,162,251,var(--text-opacity))}.md\:focus\:text-indigo-500:focus{--text-opacity:1;color:#6875f5;color:rgba(104,117,245,var(--text-opacity))}.md\:focus\:text-indigo-600:focus{--text-opacity:1;color:#5850ec;color:rgba(88,80,236,var(--text-opacity))}.md\:focus\:text-indigo-700:focus{--text-opacity:1;color:#5145cd;color:rgba(81,69,205,var(--text-opacity))}.md\:focus\:text-indigo-800:focus{--text-opacity:1;color:#42389d;color:rgba(66,56,157,var(--text-opacity))}.md\:focus\:text-indigo-900:focus{--text-opacity:1;color:#362f78;color:rgba(54,47,120,var(--text-opacity))}.md\:focus\:text-purple-50:focus{--text-opacity:1;color:#f6f5ff;color:rgba(246,245,255,var(--text-opacity))}.md\:focus\:text-purple-100:focus{--text-opacity:1;color:#edebfe;color:rgba(237,235,254,var(--text-opacity))}.md\:focus\:text-purple-200:focus{--text-opacity:1;color:#dcd7fe;color:rgba(220,215,254,var(--text-opacity))}.md\:focus\:text-purple-300:focus{--text-opacity:1;color:#cabffd;color:rgba(202,191,253,var(--text-opacity))}.md\:focus\:text-purple-400:focus{--text-opacity:1;color:#ac94fa;color:rgba(172,148,250,var(--text-opacity))}.md\:focus\:text-purple-500:focus{--text-opacity:1;color:#9061f9;color:rgba(144,97,249,var(--text-opacity))}.md\:focus\:text-purple-600:focus{--text-opacity:1;color:#7e3af2;color:rgba(126,58,242,var(--text-opacity))}.md\:focus\:text-purple-700:focus{--text-opacity:1;color:#6c2bd9;color:rgba(108,43,217,var(--text-opacity))}.md\:focus\:text-purple-800:focus{--text-opacity:1;color:#5521b5;color:rgba(85,33,181,var(--text-opacity))}.md\:focus\:text-purple-900:focus{--text-opacity:1;color:#4a1d96;color:rgba(74,29,150,var(--text-opacity))}.md\:focus\:text-pink-50:focus{--text-opacity:1;color:#fdf2f8;color:rgba(253,242,248,var(--text-opacity))}.md\:focus\:text-pink-100:focus{--text-opacity:1;color:#fce8f3;color:rgba(252,232,243,var(--text-opacity))}.md\:focus\:text-pink-200:focus{--text-opacity:1;color:#fad1e8;color:rgba(250,209,232,var(--text-opacity))}.md\:focus\:text-pink-300:focus{--text-opacity:1;color:#f8b4d9;color:rgba(248,180,217,var(--text-opacity))}.md\:focus\:text-pink-400:focus{--text-opacity:1;color:#f17eb8;color:rgba(241,126,184,var(--text-opacity))}.md\:focus\:text-pink-500:focus{--text-opacity:1;color:#e74694;color:rgba(231,70,148,var(--text-opacity))}.md\:focus\:text-pink-600:focus{--text-opacity:1;color:#d61f69;color:rgba(214,31,105,var(--text-opacity))}.md\:focus\:text-pink-700:focus{--text-opacity:1;color:#bf125d;color:rgba(191,18,93,var(--text-opacity))}.md\:focus\:text-pink-800:focus{--text-opacity:1;color:#99154b;color:rgba(153,21,75,var(--text-opacity))}.md\:focus\:text-pink-900:focus{--text-opacity:1;color:#751a3d;color:rgba(117,26,61,var(--text-opacity))}.md\:active\:text-transparent:active{color:transparent}.md\:active\:text-white:active{--text-opacity:1;color:#fff;color:rgba(255,255,255,var(--text-opacity))}.md\:active\:text-black:active{--text-opacity:1;color:#000;color:rgba(0,0,0,var(--text-opacity))}.md\:active\:text-gray-50:active{--text-opacity:1;color:#f9fafb;color:rgba(249,250,251,var(--text-opacity))}.md\:active\:text-gray-100:active{--text-opacity:1;color:#f4f5f7;color:rgba(244,245,247,var(--text-opacity))}.md\:active\:text-gray-200:active{--text-opacity:1;color:#e5e7eb;color:rgba(229,231,235,var(--text-opacity))}.md\:active\:text-gray-300:active{--text-opacity:1;color:#d2d6dc;color:rgba(210,214,220,var(--text-opacity))}.md\:active\:text-gray-400:active{--text-opacity:1;color:#9fa6b2;color:rgba(159,166,178,var(--text-opacity))}.md\:active\:text-gray-500:active{--text-opacity:1;color:#6b7280;color:rgba(107,114,128,var(--text-opacity))}.md\:active\:text-gray-600:active{--text-opacity:1;color:#4b5563;color:rgba(75,85,99,var(--text-opacity))}.md\:active\:text-gray-700:active{--text-opacity:1;color:#374151;color:rgba(55,65,81,var(--text-opacity))}.md\:active\:text-gray-800:active{--text-opacity:1;color:#252f3f;color:rgba(37,47,63,var(--text-opacity))}.md\:active\:text-gray-900:active{--text-opacity:1;color:#161e2e;color:rgba(22,30,46,var(--text-opacity))}.md\:active\:text-cool-gray-50:active{--text-opacity:1;color:#f8fafc;color:rgba(248,250,252,var(--text-opacity))}.md\:active\:text-cool-gray-100:active{--text-opacity:1;color:#f1f5f9;color:rgba(241,245,249,var(--text-opacity))}.md\:active\:text-cool-gray-200:active{--text-opacity:1;color:#e2e8f0;color:rgba(226,232,240,var(--text-opacity))}.md\:active\:text-cool-gray-300:active{--text-opacity:1;color:#cfd8e3;color:rgba(207,216,227,var(--text-opacity))}.md\:active\:text-cool-gray-400:active{--text-opacity:1;color:#97a6ba;color:rgba(151,166,186,var(--text-opacity))}.md\:active\:text-cool-gray-500:active{--text-opacity:1;color:#64748b;color:rgba(100,116,139,var(--text-opacity))}.md\:active\:text-cool-gray-600:active{--text-opacity:1;color:#475569;color:rgba(71,85,105,var(--text-opacity))}.md\:active\:text-cool-gray-700:active{--text-opacity:1;color:#364152;color:rgba(54,65,82,var(--text-opacity))}.md\:active\:text-cool-gray-800:active{--text-opacity:1;color:#27303f;color:rgba(39,48,63,var(--text-opacity))}.md\:active\:text-cool-gray-900:active{--text-opacity:1;color:#1a202e;color:rgba(26,32,46,var(--text-opacity))}.md\:active\:text-red-50:active{--text-opacity:1;color:#fdf2f2;color:rgba(253,242,242,var(--text-opacity))}.md\:active\:text-red-100:active{--text-opacity:1;color:#fde8e8;color:rgba(253,232,232,var(--text-opacity))}.md\:active\:text-red-200:active{--text-opacity:1;color:#fbd5d5;color:rgba(251,213,213,var(--text-opacity))}.md\:active\:text-red-300:active{--text-opacity:1;color:#f8b4b4;color:rgba(248,180,180,var(--text-opacity))}.md\:active\:text-red-400:active{--text-opacity:1;color:#f98080;color:rgba(249,128,128,var(--text-opacity))}.md\:active\:text-red-500:active{--text-opacity:1;color:#f05252;color:rgba(240,82,82,var(--text-opacity))}.md\:active\:text-red-600:active{--text-opacity:1;color:#e02424;color:rgba(224,36,36,var(--text-opacity))}.md\:active\:text-red-700:active{--text-opacity:1;color:#c81e1e;color:rgba(200,30,30,var(--text-opacity))}.md\:active\:text-red-800:active{--text-opacity:1;color:#9b1c1c;color:rgba(155,28,28,var(--text-opacity))}.md\:active\:text-red-900:active{--text-opacity:1;color:#771d1d;color:rgba(119,29,29,var(--text-opacity))}.md\:active\:text-orange-50:active{--text-opacity:1;color:#fff8f1;color:rgba(255,248,241,var(--text-opacity))}.md\:active\:text-orange-100:active{--text-opacity:1;color:#feecdc;color:rgba(254,236,220,var(--text-opacity))}.md\:active\:text-orange-200:active{--text-opacity:1;color:#fcd9bd;color:rgba(252,217,189,var(--text-opacity))}.md\:active\:text-orange-300:active{--text-opacity:1;color:#fdba8c;color:rgba(253,186,140,var(--text-opacity))}.md\:active\:text-orange-400:active{--text-opacity:1;color:#ff8a4c;color:rgba(255,138,76,var(--text-opacity))}.md\:active\:text-orange-500:active{--text-opacity:1;color:#ff5a1f;color:rgba(255,90,31,var(--text-opacity))}.md\:active\:text-orange-600:active{--text-opacity:1;color:#d03801;color:rgba(208,56,1,var(--text-opacity))}.md\:active\:text-orange-700:active{--text-opacity:1;color:#b43403;color:rgba(180,52,3,var(--text-opacity))}.md\:active\:text-orange-800:active{--text-opacity:1;color:#8a2c0d;color:rgba(138,44,13,var(--text-opacity))}.md\:active\:text-orange-900:active{--text-opacity:1;color:#73230d;color:rgba(115,35,13,var(--text-opacity))}.md\:active\:text-yellow-50:active{--text-opacity:1;color:#fdfdea;color:rgba(253,253,234,var(--text-opacity))}.md\:active\:text-yellow-100:active{--text-opacity:1;color:#fdf6b2;color:rgba(253,246,178,var(--text-opacity))}.md\:active\:text-yellow-200:active{--text-opacity:1;color:#fce96a;color:rgba(252,233,106,var(--text-opacity))}.md\:active\:text-yellow-300:active{--text-opacity:1;color:#faca15;color:rgba(250,202,21,var(--text-opacity))}.md\:active\:text-yellow-400:active{--text-opacity:1;color:#e3a008;color:rgba(227,160,8,var(--text-opacity))}.md\:active\:text-yellow-500:active{--text-opacity:1;color:#c27803;color:rgba(194,120,3,var(--text-opacity))}.md\:active\:text-yellow-600:active{--text-opacity:1;color:#9f580a;color:rgba(159,88,10,var(--text-opacity))}.md\:active\:text-yellow-700:active{--text-opacity:1;color:#8e4b10;color:rgba(142,75,16,var(--text-opacity))}.md\:active\:text-yellow-800:active{--text-opacity:1;color:#723b13;color:rgba(114,59,19,var(--text-opacity))}.md\:active\:text-yellow-900:active{--text-opacity:1;color:#633112;color:rgba(99,49,18,var(--text-opacity))}.md\:active\:text-green-50:active{--text-opacity:1;color:#f3faf7;color:rgba(243,250,247,var(--text-opacity))}.md\:active\:text-green-100:active{--text-opacity:1;color:#def7ec;color:rgba(222,247,236,var(--text-opacity))}.md\:active\:text-green-200:active{--text-opacity:1;color:#bcf0da;color:rgba(188,240,218,var(--text-opacity))}.md\:active\:text-green-300:active{--text-opacity:1;color:#84e1bc;color:rgba(132,225,188,var(--text-opacity))}.md\:active\:text-green-400:active{--text-opacity:1;color:#31c48d;color:rgba(49,196,141,var(--text-opacity))}.md\:active\:text-green-500:active{--text-opacity:1;color:#0e9f6e;color:rgba(14,159,110,var(--text-opacity))}.md\:active\:text-green-600:active{--text-opacity:1;color:#057a55;color:rgba(5,122,85,var(--text-opacity))}.md\:active\:text-green-700:active{--text-opacity:1;color:#046c4e;color:rgba(4,108,78,var(--text-opacity))}.md\:active\:text-green-800:active{--text-opacity:1;color:#03543f;color:rgba(3,84,63,var(--text-opacity))}.md\:active\:text-green-900:active{--text-opacity:1;color:#014737;color:rgba(1,71,55,var(--text-opacity))}.md\:active\:text-teal-50:active{--text-opacity:1;color:#edfafa;color:rgba(237,250,250,var(--text-opacity))}.md\:active\:text-teal-100:active{--text-opacity:1;color:#d5f5f6;color:rgba(213,245,246,var(--text-opacity))}.md\:active\:text-teal-200:active{--text-opacity:1;color:#afecef;color:rgba(175,236,239,var(--text-opacity))}.md\:active\:text-teal-300:active{--text-opacity:1;color:#7edce2;color:rgba(126,220,226,var(--text-opacity))}.md\:active\:text-teal-400:active{--text-opacity:1;color:#16bdca;color:rgba(22,189,202,var(--text-opacity))}.md\:active\:text-teal-500:active{--text-opacity:1;color:#0694a2;color:rgba(6,148,162,var(--text-opacity))}.md\:active\:text-teal-600:active{--text-opacity:1;color:#047481;color:rgba(4,116,129,var(--text-opacity))}.md\:active\:text-teal-700:active{--text-opacity:1;color:#036672;color:rgba(3,102,114,var(--text-opacity))}.md\:active\:text-teal-800:active{--text-opacity:1;color:#05505c;color:rgba(5,80,92,var(--text-opacity))}.md\:active\:text-teal-900:active{--text-opacity:1;color:#014451;color:rgba(1,68,81,var(--text-opacity))}.md\:active\:text-blue-50:active{--text-opacity:1;color:#ebf5ff;color:rgba(235,245,255,var(--text-opacity))}.md\:active\:text-blue-100:active{--text-opacity:1;color:#e1effe;color:rgba(225,239,254,var(--text-opacity))}.md\:active\:text-blue-200:active{--text-opacity:1;color:#c3ddfd;color:rgba(195,221,253,var(--text-opacity))}.md\:active\:text-blue-300:active{--text-opacity:1;color:#a4cafe;color:rgba(164,202,254,var(--text-opacity))}.md\:active\:text-blue-400:active{--text-opacity:1;color:#76a9fa;color:rgba(118,169,250,var(--text-opacity))}.md\:active\:text-blue-500:active{--text-opacity:1;color:#3f83f8;color:rgba(63,131,248,var(--text-opacity))}.md\:active\:text-blue-600:active{--text-opacity:1;color:#1c64f2;color:rgba(28,100,242,var(--text-opacity))}.md\:active\:text-blue-700:active{--text-opacity:1;color:#1a56db;color:rgba(26,86,219,var(--text-opacity))}.md\:active\:text-blue-800:active{--text-opacity:1;color:#1e429f;color:rgba(30,66,159,var(--text-opacity))}.md\:active\:text-blue-900:active{--text-opacity:1;color:#233876;color:rgba(35,56,118,var(--text-opacity))}.md\:active\:text-indigo-50:active{--text-opacity:1;color:#f0f5ff;color:rgba(240,245,255,var(--text-opacity))}.md\:active\:text-indigo-100:active{--text-opacity:1;color:#e5edff;color:rgba(229,237,255,var(--text-opacity))}.md\:active\:text-indigo-200:active{--text-opacity:1;color:#cddbfe;color:rgba(205,219,254,var(--text-opacity))}.md\:active\:text-indigo-300:active{--text-opacity:1;color:#b4c6fc;color:rgba(180,198,252,var(--text-opacity))}.md\:active\:text-indigo-400:active{--text-opacity:1;color:#8da2fb;color:rgba(141,162,251,var(--text-opacity))}.md\:active\:text-indigo-500:active{--text-opacity:1;color:#6875f5;color:rgba(104,117,245,var(--text-opacity))}.md\:active\:text-indigo-600:active{--text-opacity:1;color:#5850ec;color:rgba(88,80,236,var(--text-opacity))}.md\:active\:text-indigo-700:active{--text-opacity:1;color:#5145cd;color:rgba(81,69,205,var(--text-opacity))}.md\:active\:text-indigo-800:active{--text-opacity:1;color:#42389d;color:rgba(66,56,157,var(--text-opacity))}.md\:active\:text-indigo-900:active{--text-opacity:1;color:#362f78;color:rgba(54,47,120,var(--text-opacity))}.md\:active\:text-purple-50:active{--text-opacity:1;color:#f6f5ff;color:rgba(246,245,255,var(--text-opacity))}.md\:active\:text-purple-100:active{--text-opacity:1;color:#edebfe;color:rgba(237,235,254,var(--text-opacity))}.md\:active\:text-purple-200:active{--text-opacity:1;color:#dcd7fe;color:rgba(220,215,254,var(--text-opacity))}.md\:active\:text-purple-300:active{--text-opacity:1;color:#cabffd;color:rgba(202,191,253,var(--text-opacity))}.md\:active\:text-purple-400:active{--text-opacity:1;color:#ac94fa;color:rgba(172,148,250,var(--text-opacity))}.md\:active\:text-purple-500:active{--text-opacity:1;color:#9061f9;color:rgba(144,97,249,var(--text-opacity))}.md\:active\:text-purple-600:active{--text-opacity:1;color:#7e3af2;color:rgba(126,58,242,var(--text-opacity))}.md\:active\:text-purple-700:active{--text-opacity:1;color:#6c2bd9;color:rgba(108,43,217,var(--text-opacity))}.md\:active\:text-purple-800:active{--text-opacity:1;color:#5521b5;color:rgba(85,33,181,var(--text-opacity))}.md\:active\:text-purple-900:active{--text-opacity:1;color:#4a1d96;color:rgba(74,29,150,var(--text-opacity))}.md\:active\:text-pink-50:active{--text-opacity:1;color:#fdf2f8;color:rgba(253,242,248,var(--text-opacity))}.md\:active\:text-pink-100:active{--text-opacity:1;color:#fce8f3;color:rgba(252,232,243,var(--text-opacity))}.md\:active\:text-pink-200:active{--text-opacity:1;color:#fad1e8;color:rgba(250,209,232,var(--text-opacity))}.md\:active\:text-pink-300:active{--text-opacity:1;color:#f8b4d9;color:rgba(248,180,217,var(--text-opacity))}.md\:active\:text-pink-400:active{--text-opacity:1;color:#f17eb8;color:rgba(241,126,184,var(--text-opacity))}.md\:active\:text-pink-500:active{--text-opacity:1;color:#e74694;color:rgba(231,70,148,var(--text-opacity))}.md\:active\:text-pink-600:active{--text-opacity:1;color:#d61f69;color:rgba(214,31,105,var(--text-opacity))}.md\:active\:text-pink-700:active{--text-opacity:1;color:#bf125d;color:rgba(191,18,93,var(--text-opacity))}.md\:active\:text-pink-800:active{--text-opacity:1;color:#99154b;color:rgba(153,21,75,var(--text-opacity))}.md\:active\:text-pink-900:active{--text-opacity:1;color:#751a3d;color:rgba(117,26,61,var(--text-opacity))}.md\:text-opacity-0{--text-opacity:0}.md\:text-opacity-25{--text-opacity:0.25}.md\:text-opacity-50{--text-opacity:0.5}.md\:text-opacity-75{--text-opacity:0.75}.md\:text-opacity-100{--text-opacity:1}.md\:hover\:text-opacity-0:hover{--text-opacity:0}.md\:hover\:text-opacity-25:hover{--text-opacity:0.25}.md\:hover\:text-opacity-50:hover{--text-opacity:0.5}.md\:hover\:text-opacity-75:hover{--text-opacity:0.75}.md\:hover\:text-opacity-100:hover{--text-opacity:1}.md\:focus\:text-opacity-0:focus{--text-opacity:0}.md\:focus\:text-opacity-25:focus{--text-opacity:0.25}.md\:focus\:text-opacity-50:focus{--text-opacity:0.5}.md\:focus\:text-opacity-75:focus{--text-opacity:0.75}.md\:focus\:text-opacity-100:focus{--text-opacity:1}.md\:italic{font-style:italic}.md\:not-italic{font-style:normal}.md\:uppercase{text-transform:uppercase}.md\:lowercase{text-transform:lowercase}.md\:capitalize{text-transform:capitalize}.md\:normal-case{text-transform:none}.md\:underline{text-decoration:underline}.md\:line-through{text-decoration:line-through}.md\:no-underline{text-decoration:none}.group:hover .md\:group-hover\:underline{text-decoration:underline}.group:hover .md\:group-hover\:line-through{text-decoration:line-through}.group:hover .md\:group-hover\:no-underline{text-decoration:none}.group:focus .md\:group-focus\:underline{text-decoration:underline}.group:focus .md\:group-focus\:line-through{text-decoration:line-through}.group:focus .md\:group-focus\:no-underline{text-decoration:none}.md\:hover\:underline:hover{text-decoration:underline}.md\:hover\:line-through:hover{text-decoration:line-through}.md\:hover\:no-underline:hover{text-decoration:none}.md\:focus\:underline:focus{text-decoration:underline}.md\:focus\:line-through:focus{text-decoration:line-through}.md\:focus\:no-underline:focus{text-decoration:none}.md\:antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.md\:subpixel-antialiased{-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}.md\:tracking-tighter{letter-spacing:-.05em}.md\:tracking-tight{letter-spacing:-.025em}.md\:tracking-normal{letter-spacing:0}.md\:tracking-wide{letter-spacing:.025em}.md\:tracking-wider{letter-spacing:.05em}.md\:tracking-widest{letter-spacing:.1em}.md\:select-none{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.md\:select-text{-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text}.md\:select-all{-webkit-user-select:all;-moz-user-select:all;-ms-user-select:all;user-select:all}.md\:select-auto{-webkit-user-select:auto;-moz-user-select:auto;-ms-user-select:auto;user-select:auto}.md\:align-baseline{vertical-align:baseline}.md\:align-top{vertical-align:top}.md\:align-middle{vertical-align:middle}.md\:align-bottom{vertical-align:bottom}.md\:align-text-top{vertical-align:text-top}.md\:align-text-bottom{vertical-align:text-bottom}.md\:visible{visibility:visible}.md\:invisible{visibility:hidden}.md\:whitespace-normal{white-space:normal}.md\:whitespace-no-wrap{white-space:nowrap}.md\:whitespace-pre{white-space:pre}.md\:whitespace-pre-line{white-space:pre-line}.md\:whitespace-pre-wrap{white-space:pre-wrap}.md\:break-normal{overflow-wrap:normal;word-break:normal}.md\:break-words{overflow-wrap:break-word}.md\:break-all{word-break:break-all}.md\:truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.md\:w-0{width:0}.md\:w-1{width:.25rem}.md\:w-2{width:.5rem}.md\:w-3{width:.75rem}.md\:w-4{width:1rem}.md\:w-5{width:1.25rem}.md\:w-6{width:1.5rem}.md\:w-7{width:1.75rem}.md\:w-8{width:2rem}.md\:w-9{width:2.25rem}.md\:w-10{width:2.5rem}.md\:w-11{width:2.75rem}.md\:w-12{width:3rem}.md\:w-13{width:3.25rem}.md\:w-14{width:3.5rem}.md\:w-15{width:3.75rem}.md\:w-16{width:4rem}.md\:w-20{width:5rem}.md\:w-24{width:6rem}.md\:w-28{width:7rem}.md\:w-32{width:8rem}.md\:w-36{width:9rem}.md\:w-40{width:10rem}.md\:w-44{width:11rem}.md\:w-48{width:12rem}.md\:w-52{width:13rem}.md\:w-56{width:14rem}.md\:w-60{width:15rem}.md\:w-64{width:16rem}.md\:w-72{width:18rem}.md\:w-80{width:20rem}.md\:w-96{width:24rem}.md\:w-auto{width:auto}.md\:w-px{width:1px}.md\:w-0\.5{width:.125rem}.md\:w-1\.5{width:.375rem}.md\:w-2\.5{width:.625rem}.md\:w-3\.5{width:.875rem}.md\:w-1\/2{width:50%}.md\:w-1\/3{width:33.333333%}.md\:w-2\/3{width:66.666667%}.md\:w-1\/4{width:25%}.md\:w-2\/4{width:50%}.md\:w-3\/4{width:75%}.md\:w-1\/5{width:20%}.md\:w-2\/5{width:40%}.md\:w-3\/5{width:60%}.md\:w-4\/5{width:80%}.md\:w-1\/6{width:16.666667%}.md\:w-2\/6{width:33.333333%}.md\:w-3\/6{width:50%}.md\:w-4\/6{width:66.666667%}.md\:w-5\/6{width:83.333333%}.md\:w-1\/12{width:8.333333%}.md\:w-2\/12{width:16.666667%}.md\:w-3\/12{width:25%}.md\:w-4\/12{width:33.333333%}.md\:w-5\/12{width:41.666667%}.md\:w-6\/12{width:50%}.md\:w-7\/12{width:58.333333%}.md\:w-8\/12{width:66.666667%}.md\:w-9\/12{width:75%}.md\:w-10\/12{width:83.333333%}.md\:w-11\/12{width:91.666667%}.md\:w-full{width:100%}.md\:w-screen{width:100vw}.md\:w-min-content{width:-webkit-min-content;width:-moz-min-content;width:min-content}.md\:w-max-content{width:-webkit-max-content;width:-moz-max-content;width:max-content}.md\:z-0{z-index:0}.md\:z-10{z-index:10}.md\:z-20{z-index:20}.md\:z-30{z-index:30}.md\:z-40{z-index:40}.md\:z-50{z-index:50}.md\:z-auto{z-index:auto}.md\:focus-within\:z-0:focus-within{z-index:0}.md\:focus-within\:z-10:focus-within{z-index:10}.md\:focus-within\:z-20:focus-within{z-index:20}.md\:focus-within\:z-30:focus-within{z-index:30}.md\:focus-within\:z-40:focus-within{z-index:40}.md\:focus-within\:z-50:focus-within{z-index:50}.md\:focus-within\:z-auto:focus-within{z-index:auto}.md\:focus\:z-0:focus{z-index:0}.md\:focus\:z-10:focus{z-index:10}.md\:focus\:z-20:focus{z-index:20}.md\:focus\:z-30:focus{z-index:30}.md\:focus\:z-40:focus{z-index:40}.md\:focus\:z-50:focus{z-index:50}.md\:focus\:z-auto:focus{z-index:auto}.md\:gap-0{grid-gap:0;gap:0}.md\:gap-1{grid-gap:.25rem;gap:.25rem}.md\:gap-2{grid-gap:.5rem;gap:.5rem}.md\:gap-3{grid-gap:.75rem;gap:.75rem}.md\:gap-4{grid-gap:1rem;gap:1rem}.md\:gap-5{grid-gap:1.25rem;gap:1.25rem}.md\:gap-6{grid-gap:1.5rem;gap:1.5rem}.md\:gap-7{grid-gap:1.75rem;gap:1.75rem}.md\:gap-8{grid-gap:2rem;gap:2rem}.md\:gap-9{grid-gap:2.25rem;gap:2.25rem}.md\:gap-10{grid-gap:2.5rem;gap:2.5rem}.md\:gap-11{grid-gap:2.75rem;gap:2.75rem}.md\:gap-12{grid-gap:3rem;gap:3rem}.md\:gap-13{grid-gap:3.25rem;gap:3.25rem}.md\:gap-14{grid-gap:3.5rem;gap:3.5rem}.md\:gap-15{grid-gap:3.75rem;gap:3.75rem}.md\:gap-16{grid-gap:4rem;gap:4rem}.md\:gap-20{grid-gap:5rem;gap:5rem}.md\:gap-24{grid-gap:6rem;gap:6rem}.md\:gap-28{grid-gap:7rem;gap:7rem}.md\:gap-32{grid-gap:8rem;gap:8rem}.md\:gap-36{grid-gap:9rem;gap:9rem}.md\:gap-40{grid-gap:10rem;gap:10rem}.md\:gap-44{grid-gap:11rem;gap:11rem}.md\:gap-48{grid-gap:12rem;gap:12rem}.md\:gap-52{grid-gap:13rem;gap:13rem}.md\:gap-56{grid-gap:14rem;gap:14rem}.md\:gap-60{grid-gap:15rem;gap:15rem}.md\:gap-64{grid-gap:16rem;gap:16rem}.md\:gap-72{grid-gap:18rem;gap:18rem}.md\:gap-80{grid-gap:20rem;gap:20rem}.md\:gap-96{grid-gap:24rem;gap:24rem}.md\:gap-px{grid-gap:1px;gap:1px}.md\:gap-0\.5{grid-gap:.125rem;gap:.125rem}.md\:gap-1\.5{grid-gap:.375rem;gap:.375rem}.md\:gap-2\.5{grid-gap:.625rem;gap:.625rem}.md\:gap-3\.5{grid-gap:.875rem;gap:.875rem}.md\:gap-1\/2{grid-gap:50%;gap:50%}.md\:gap-1\/3{grid-gap:33.333333%;gap:33.333333%}.md\:gap-2\/3{grid-gap:66.666667%;gap:66.666667%}.md\:gap-1\/4{grid-gap:25%;gap:25%}.md\:gap-2\/4{grid-gap:50%;gap:50%}.md\:gap-3\/4{grid-gap:75%;gap:75%}.md\:gap-1\/5{grid-gap:20%;gap:20%}.md\:gap-2\/5{grid-gap:40%;gap:40%}.md\:gap-3\/5{grid-gap:60%;gap:60%}.md\:gap-4\/5{grid-gap:80%;gap:80%}.md\:gap-1\/6{grid-gap:16.666667%;gap:16.666667%}.md\:gap-2\/6{grid-gap:33.333333%;gap:33.333333%}.md\:gap-3\/6{grid-gap:50%;gap:50%}.md\:gap-4\/6{grid-gap:66.666667%;gap:66.666667%}.md\:gap-5\/6{grid-gap:83.333333%;gap:83.333333%}.md\:gap-1\/12{grid-gap:8.333333%;gap:8.333333%}.md\:gap-2\/12{grid-gap:16.666667%;gap:16.666667%}.md\:gap-3\/12{grid-gap:25%;gap:25%}.md\:gap-4\/12{grid-gap:33.333333%;gap:33.333333%}.md\:gap-5\/12{grid-gap:41.666667%;gap:41.666667%}.md\:gap-6\/12{grid-gap:50%;gap:50%}.md\:gap-7\/12{grid-gap:58.333333%;gap:58.333333%}.md\:gap-8\/12{grid-gap:66.666667%;gap:66.666667%}.md\:gap-9\/12{grid-gap:75%;gap:75%}.md\:gap-10\/12{grid-gap:83.333333%;gap:83.333333%}.md\:gap-11\/12{grid-gap:91.666667%;gap:91.666667%}.md\:gap-full{grid-gap:100%;gap:100%}.md\:col-gap-0{grid-column-gap:0;-moz-column-gap:0;column-gap:0}.md\:col-gap-1{grid-column-gap:.25rem;-moz-column-gap:.25rem;column-gap:.25rem}.md\:col-gap-2{grid-column-gap:.5rem;-moz-column-gap:.5rem;column-gap:.5rem}.md\:col-gap-3{grid-column-gap:.75rem;-moz-column-gap:.75rem;column-gap:.75rem}.md\:col-gap-4{grid-column-gap:1rem;-moz-column-gap:1rem;column-gap:1rem}.md\:col-gap-5{grid-column-gap:1.25rem;-moz-column-gap:1.25rem;column-gap:1.25rem}.md\:col-gap-6{grid-column-gap:1.5rem;-moz-column-gap:1.5rem;column-gap:1.5rem}.md\:col-gap-7{grid-column-gap:1.75rem;-moz-column-gap:1.75rem;column-gap:1.75rem}.md\:col-gap-8{grid-column-gap:2rem;-moz-column-gap:2rem;column-gap:2rem}.md\:col-gap-9{grid-column-gap:2.25rem;-moz-column-gap:2.25rem;column-gap:2.25rem}.md\:col-gap-10{grid-column-gap:2.5rem;-moz-column-gap:2.5rem;column-gap:2.5rem}.md\:col-gap-11{grid-column-gap:2.75rem;-moz-column-gap:2.75rem;column-gap:2.75rem}.md\:col-gap-12{grid-column-gap:3rem;-moz-column-gap:3rem;column-gap:3rem}.md\:col-gap-13{grid-column-gap:3.25rem;-moz-column-gap:3.25rem;column-gap:3.25rem}.md\:col-gap-14{grid-column-gap:3.5rem;-moz-column-gap:3.5rem;column-gap:3.5rem}.md\:col-gap-15{grid-column-gap:3.75rem;-moz-column-gap:3.75rem;column-gap:3.75rem}.md\:col-gap-16{grid-column-gap:4rem;-moz-column-gap:4rem;column-gap:4rem}.md\:col-gap-20{grid-column-gap:5rem;-moz-column-gap:5rem;column-gap:5rem}.md\:col-gap-24{grid-column-gap:6rem;-moz-column-gap:6rem;column-gap:6rem}.md\:col-gap-28{grid-column-gap:7rem;-moz-column-gap:7rem;column-gap:7rem}.md\:col-gap-32{grid-column-gap:8rem;-moz-column-gap:8rem;column-gap:8rem}.md\:col-gap-36{grid-column-gap:9rem;-moz-column-gap:9rem;column-gap:9rem}.md\:col-gap-40{grid-column-gap:10rem;-moz-column-gap:10rem;column-gap:10rem}.md\:col-gap-44{grid-column-gap:11rem;-moz-column-gap:11rem;column-gap:11rem}.md\:col-gap-48{grid-column-gap:12rem;-moz-column-gap:12rem;column-gap:12rem}.md\:col-gap-52{grid-column-gap:13rem;-moz-column-gap:13rem;column-gap:13rem}.md\:col-gap-56{grid-column-gap:14rem;-moz-column-gap:14rem;column-gap:14rem}.md\:col-gap-60{grid-column-gap:15rem;-moz-column-gap:15rem;column-gap:15rem}.md\:col-gap-64{grid-column-gap:16rem;-moz-column-gap:16rem;column-gap:16rem}.md\:col-gap-72{grid-column-gap:18rem;-moz-column-gap:18rem;column-gap:18rem}.md\:col-gap-80{grid-column-gap:20rem;-moz-column-gap:20rem;column-gap:20rem}.md\:col-gap-96{grid-column-gap:24rem;-moz-column-gap:24rem;column-gap:24rem}.md\:col-gap-px{grid-column-gap:1px;-moz-column-gap:1px;column-gap:1px}.md\:col-gap-0\.5{grid-column-gap:.125rem;-moz-column-gap:.125rem;column-gap:.125rem}.md\:col-gap-1\.5{grid-column-gap:.375rem;-moz-column-gap:.375rem;column-gap:.375rem}.md\:col-gap-2\.5{grid-column-gap:.625rem;-moz-column-gap:.625rem;column-gap:.625rem}.md\:col-gap-3\.5{grid-column-gap:.875rem;-moz-column-gap:.875rem;column-gap:.875rem}.md\:col-gap-1\/2{grid-column-gap:50%;-moz-column-gap:50%;column-gap:50%}.md\:col-gap-1\/3{grid-column-gap:33.333333%;-moz-column-gap:33.333333%;column-gap:33.333333%}.md\:col-gap-2\/3{grid-column-gap:66.666667%;-moz-column-gap:66.666667%;column-gap:66.666667%}.md\:col-gap-1\/4{grid-column-gap:25%;-moz-column-gap:25%;column-gap:25%}.md\:col-gap-2\/4{grid-column-gap:50%;-moz-column-gap:50%;column-gap:50%}.md\:col-gap-3\/4{grid-column-gap:75%;-moz-column-gap:75%;column-gap:75%}.md\:col-gap-1\/5{grid-column-gap:20%;-moz-column-gap:20%;column-gap:20%}.md\:col-gap-2\/5{grid-column-gap:40%;-moz-column-gap:40%;column-gap:40%}.md\:col-gap-3\/5{grid-column-gap:60%;-moz-column-gap:60%;column-gap:60%}.md\:col-gap-4\/5{grid-column-gap:80%;-moz-column-gap:80%;column-gap:80%}.md\:col-gap-1\/6{grid-column-gap:16.666667%;-moz-column-gap:16.666667%;column-gap:16.666667%}.md\:col-gap-2\/6{grid-column-gap:33.333333%;-moz-column-gap:33.333333%;column-gap:33.333333%}.md\:col-gap-3\/6{grid-column-gap:50%;-moz-column-gap:50%;column-gap:50%}.md\:col-gap-4\/6{grid-column-gap:66.666667%;-moz-column-gap:66.666667%;column-gap:66.666667%}.md\:col-gap-5\/6{grid-column-gap:83.333333%;-moz-column-gap:83.333333%;column-gap:83.333333%}.md\:col-gap-1\/12{grid-column-gap:8.333333%;-moz-column-gap:8.333333%;column-gap:8.333333%}.md\:col-gap-2\/12{grid-column-gap:16.666667%;-moz-column-gap:16.666667%;column-gap:16.666667%}.md\:col-gap-3\/12{grid-column-gap:25%;-moz-column-gap:25%;column-gap:25%}.md\:col-gap-4\/12{grid-column-gap:33.333333%;-moz-column-gap:33.333333%;column-gap:33.333333%}.md\:col-gap-5\/12{grid-column-gap:41.666667%;-moz-column-gap:41.666667%;column-gap:41.666667%}.md\:col-gap-6\/12{grid-column-gap:50%;-moz-column-gap:50%;column-gap:50%}.md\:col-gap-7\/12{grid-column-gap:58.333333%;-moz-column-gap:58.333333%;column-gap:58.333333%}.md\:col-gap-8\/12{grid-column-gap:66.666667%;-moz-column-gap:66.666667%;column-gap:66.666667%}.md\:col-gap-9\/12{grid-column-gap:75%;-moz-column-gap:75%;column-gap:75%}.md\:col-gap-10\/12{grid-column-gap:83.333333%;-moz-column-gap:83.333333%;column-gap:83.333333%}.md\:col-gap-11\/12{grid-column-gap:91.666667%;-moz-column-gap:91.666667%;column-gap:91.666667%}.md\:col-gap-full{grid-column-gap:100%;-moz-column-gap:100%;column-gap:100%}.md\:row-gap-0{grid-row-gap:0;row-gap:0}.md\:row-gap-1{grid-row-gap:.25rem;row-gap:.25rem}.md\:row-gap-2{grid-row-gap:.5rem;row-gap:.5rem}.md\:row-gap-3{grid-row-gap:.75rem;row-gap:.75rem}.md\:row-gap-4{grid-row-gap:1rem;row-gap:1rem}.md\:row-gap-5{grid-row-gap:1.25rem;row-gap:1.25rem}.md\:row-gap-6{grid-row-gap:1.5rem;row-gap:1.5rem}.md\:row-gap-7{grid-row-gap:1.75rem;row-gap:1.75rem}.md\:row-gap-8{grid-row-gap:2rem;row-gap:2rem}.md\:row-gap-9{grid-row-gap:2.25rem;row-gap:2.25rem}.md\:row-gap-10{grid-row-gap:2.5rem;row-gap:2.5rem}.md\:row-gap-11{grid-row-gap:2.75rem;row-gap:2.75rem}.md\:row-gap-12{grid-row-gap:3rem;row-gap:3rem}.md\:row-gap-13{grid-row-gap:3.25rem;row-gap:3.25rem}.md\:row-gap-14{grid-row-gap:3.5rem;row-gap:3.5rem}.md\:row-gap-15{grid-row-gap:3.75rem;row-gap:3.75rem}.md\:row-gap-16{grid-row-gap:4rem;row-gap:4rem}.md\:row-gap-20{grid-row-gap:5rem;row-gap:5rem}.md\:row-gap-24{grid-row-gap:6rem;row-gap:6rem}.md\:row-gap-28{grid-row-gap:7rem;row-gap:7rem}.md\:row-gap-32{grid-row-gap:8rem;row-gap:8rem}.md\:row-gap-36{grid-row-gap:9rem;row-gap:9rem}.md\:row-gap-40{grid-row-gap:10rem;row-gap:10rem}.md\:row-gap-44{grid-row-gap:11rem;row-gap:11rem}.md\:row-gap-48{grid-row-gap:12rem;row-gap:12rem}.md\:row-gap-52{grid-row-gap:13rem;row-gap:13rem}.md\:row-gap-56{grid-row-gap:14rem;row-gap:14rem}.md\:row-gap-60{grid-row-gap:15rem;row-gap:15rem}.md\:row-gap-64{grid-row-gap:16rem;row-gap:16rem}.md\:row-gap-72{grid-row-gap:18rem;row-gap:18rem}.md\:row-gap-80{grid-row-gap:20rem;row-gap:20rem}.md\:row-gap-96{grid-row-gap:24rem;row-gap:24rem}.md\:row-gap-px{grid-row-gap:1px;row-gap:1px}.md\:row-gap-0\.5{grid-row-gap:.125rem;row-gap:.125rem}.md\:row-gap-1\.5{grid-row-gap:.375rem;row-gap:.375rem}.md\:row-gap-2\.5{grid-row-gap:.625rem;row-gap:.625rem}.md\:row-gap-3\.5{grid-row-gap:.875rem;row-gap:.875rem}.md\:row-gap-1\/2{grid-row-gap:50%;row-gap:50%}.md\:row-gap-1\/3{grid-row-gap:33.333333%;row-gap:33.333333%}.md\:row-gap-2\/3{grid-row-gap:66.666667%;row-gap:66.666667%}.md\:row-gap-1\/4{grid-row-gap:25%;row-gap:25%}.md\:row-gap-2\/4{grid-row-gap:50%;row-gap:50%}.md\:row-gap-3\/4{grid-row-gap:75%;row-gap:75%}.md\:row-gap-1\/5{grid-row-gap:20%;row-gap:20%}.md\:row-gap-2\/5{grid-row-gap:40%;row-gap:40%}.md\:row-gap-3\/5{grid-row-gap:60%;row-gap:60%}.md\:row-gap-4\/5{grid-row-gap:80%;row-gap:80%}.md\:row-gap-1\/6{grid-row-gap:16.666667%;row-gap:16.666667%}.md\:row-gap-2\/6{grid-row-gap:33.333333%;row-gap:33.333333%}.md\:row-gap-3\/6{grid-row-gap:50%;row-gap:50%}.md\:row-gap-4\/6{grid-row-gap:66.666667%;row-gap:66.666667%}.md\:row-gap-5\/6{grid-row-gap:83.333333%;row-gap:83.333333%}.md\:row-gap-1\/12{grid-row-gap:8.333333%;row-gap:8.333333%}.md\:row-gap-2\/12{grid-row-gap:16.666667%;row-gap:16.666667%}.md\:row-gap-3\/12{grid-row-gap:25%;row-gap:25%}.md\:row-gap-4\/12{grid-row-gap:33.333333%;row-gap:33.333333%}.md\:row-gap-5\/12{grid-row-gap:41.666667%;row-gap:41.666667%}.md\:row-gap-6\/12{grid-row-gap:50%;row-gap:50%}.md\:row-gap-7\/12{grid-row-gap:58.333333%;row-gap:58.333333%}.md\:row-gap-8\/12{grid-row-gap:66.666667%;row-gap:66.666667%}.md\:row-gap-9\/12{grid-row-gap:75%;row-gap:75%}.md\:row-gap-10\/12{grid-row-gap:83.333333%;row-gap:83.333333%}.md\:row-gap-11\/12{grid-row-gap:91.666667%;row-gap:91.666667%}.md\:row-gap-full{grid-row-gap:100%;row-gap:100%}.md\:grid-flow-row{grid-auto-flow:row}.md\:grid-flow-col{grid-auto-flow:column}.md\:grid-flow-row-dense{grid-auto-flow:row dense}.md\:grid-flow-col-dense{grid-auto-flow:column dense}.md\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.md\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.md\:grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.md\:grid-cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}.md\:grid-cols-9{grid-template-columns:repeat(9,minmax(0,1fr))}.md\:grid-cols-10{grid-template-columns:repeat(10,minmax(0,1fr))}.md\:grid-cols-11{grid-template-columns:repeat(11,minmax(0,1fr))}.md\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.md\:grid-cols-none{grid-template-columns:none}.md\:col-auto{grid-column:auto}.md\:col-span-1{grid-column:span 1/span 1}.md\:col-span-2{grid-column:span 2/span 2}.md\:col-span-3{grid-column:span 3/span 3}.md\:col-span-4{grid-column:span 4/span 4}.md\:col-span-5{grid-column:span 5/span 5}.md\:col-span-6{grid-column:span 6/span 6}.md\:col-span-7{grid-column:span 7/span 7}.md\:col-span-8{grid-column:span 8/span 8}.md\:col-span-9{grid-column:span 9/span 9}.md\:col-span-10{grid-column:span 10/span 10}.md\:col-span-11{grid-column:span 11/span 11}.md\:col-span-12{grid-column:span 12/span 12}.md\:col-start-1{grid-column-start:1}.md\:col-start-2{grid-column-start:2}.md\:col-start-3{grid-column-start:3}.md\:col-start-4{grid-column-start:4}.md\:col-start-5{grid-column-start:5}.md\:col-start-6{grid-column-start:6}.md\:col-start-7{grid-column-start:7}.md\:col-start-8{grid-column-start:8}.md\:col-start-9{grid-column-start:9}.md\:col-start-10{grid-column-start:10}.md\:col-start-11{grid-column-start:11}.md\:col-start-12{grid-column-start:12}.md\:col-start-13{grid-column-start:13}.md\:col-start-auto{grid-column-start:auto}.md\:col-end-1{grid-column-end:1}.md\:col-end-2{grid-column-end:2}.md\:col-end-3{grid-column-end:3}.md\:col-end-4{grid-column-end:4}.md\:col-end-5{grid-column-end:5}.md\:col-end-6{grid-column-end:6}.md\:col-end-7{grid-column-end:7}.md\:col-end-8{grid-column-end:8}.md\:col-end-9{grid-column-end:9}.md\:col-end-10{grid-column-end:10}.md\:col-end-11{grid-column-end:11}.md\:col-end-12{grid-column-end:12}.md\:col-end-13{grid-column-end:13}.md\:col-end-auto{grid-column-end:auto}.md\:grid-rows-1{grid-template-rows:repeat(1,minmax(0,1fr))}.md\:grid-rows-2{grid-template-rows:repeat(2,minmax(0,1fr))}.md\:grid-rows-3{grid-template-rows:repeat(3,minmax(0,1fr))}.md\:grid-rows-4{grid-template-rows:repeat(4,minmax(0,1fr))}.md\:grid-rows-5{grid-template-rows:repeat(5,minmax(0,1fr))}.md\:grid-rows-6{grid-template-rows:repeat(6,minmax(0,1fr))}.md\:grid-rows-none{grid-template-rows:none}.md\:row-auto{grid-row:auto}.md\:row-span-1{grid-row:span 1/span 1}.md\:row-span-2{grid-row:span 2/span 2}.md\:row-span-3{grid-row:span 3/span 3}.md\:row-span-4{grid-row:span 4/span 4}.md\:row-span-5{grid-row:span 5/span 5}.md\:row-span-6{grid-row:span 6/span 6}.md\:row-start-1{grid-row-start:1}.md\:row-start-2{grid-row-start:2}.md\:row-start-3{grid-row-start:3}.md\:row-start-4{grid-row-start:4}.md\:row-start-5{grid-row-start:5}.md\:row-start-6{grid-row-start:6}.md\:row-start-7{grid-row-start:7}.md\:row-start-auto{grid-row-start:auto}.md\:row-end-1{grid-row-end:1}.md\:row-end-2{grid-row-end:2}.md\:row-end-3{grid-row-end:3}.md\:row-end-4{grid-row-end:4}.md\:row-end-5{grid-row-end:5}.md\:row-end-6{grid-row-end:6}.md\:row-end-7{grid-row-end:7}.md\:row-end-auto{grid-row-end:auto}.md\:transform{--transform-translate-x:0;--transform-translate-y:0;--transform-rotate:0;--transform-skew-x:0;--transform-skew-y:0;--transform-scale-x:1;--transform-scale-y:1;transform:translateX(var(--transform-translate-x)) translateY(var(--transform-translate-y)) rotate(var(--transform-rotate)) skewX(var(--transform-skew-x)) skewY(var(--transform-skew-y)) scaleX(var(--transform-scale-x)) scaleY(var(--transform-scale-y))}.md\:transform-none{transform:none}.md\:origin-center{transform-origin:center}.md\:origin-top{transform-origin:top}.md\:origin-top-right{transform-origin:top right}.md\:origin-right{transform-origin:right}.md\:origin-bottom-right{transform-origin:bottom right}.md\:origin-bottom{transform-origin:bottom}.md\:origin-bottom-left{transform-origin:bottom left}.md\:origin-left{transform-origin:left}.md\:origin-top-left{transform-origin:top left}.md\:scale-0{--transform-scale-x:0;--transform-scale-y:0}.md\:scale-50{--transform-scale-x:.5;--transform-scale-y:.5}.md\:scale-75{--transform-scale-x:.75;--transform-scale-y:.75}.md\:scale-90{--transform-scale-x:.9;--transform-scale-y:.9}.md\:scale-95{--transform-scale-x:.95;--transform-scale-y:.95}.md\:scale-100{--transform-scale-x:1;--transform-scale-y:1}.md\:scale-105{--transform-scale-x:1.05;--transform-scale-y:1.05}.md\:scale-110{--transform-scale-x:1.1;--transform-scale-y:1.1}.md\:scale-125{--transform-scale-x:1.25;--transform-scale-y:1.25}.md\:scale-150{--transform-scale-x:1.5;--transform-scale-y:1.5}.md\:scale-x-0{--transform-scale-x:0}.md\:scale-x-50{--transform-scale-x:.5}.md\:scale-x-75{--transform-scale-x:.75}.md\:scale-x-90{--transform-scale-x:.9}.md\:scale-x-95{--transform-scale-x:.95}.md\:scale-x-100{--transform-scale-x:1}.md\:scale-x-105{--transform-scale-x:1.05}.md\:scale-x-110{--transform-scale-x:1.1}.md\:scale-x-125{--transform-scale-x:1.25}.md\:scale-x-150{--transform-scale-x:1.5}.md\:scale-y-0{--transform-scale-y:0}.md\:scale-y-50{--transform-scale-y:.5}.md\:scale-y-75{--transform-scale-y:.75}.md\:scale-y-90{--transform-scale-y:.9}.md\:scale-y-95{--transform-scale-y:.95}.md\:scale-y-100{--transform-scale-y:1}.md\:scale-y-105{--transform-scale-y:1.05}.md\:scale-y-110{--transform-scale-y:1.1}.md\:scale-y-125{--transform-scale-y:1.25}.md\:scale-y-150{--transform-scale-y:1.5}.md\:hover\:scale-0:hover{--transform-scale-x:0;--transform-scale-y:0}.md\:hover\:scale-50:hover{--transform-scale-x:.5;--transform-scale-y:.5}.md\:hover\:scale-75:hover{--transform-scale-x:.75;--transform-scale-y:.75}.md\:hover\:scale-90:hover{--transform-scale-x:.9;--transform-scale-y:.9}.md\:hover\:scale-95:hover{--transform-scale-x:.95;--transform-scale-y:.95}.md\:hover\:scale-100:hover{--transform-scale-x:1;--transform-scale-y:1}.md\:hover\:scale-105:hover{--transform-scale-x:1.05;--transform-scale-y:1.05}.md\:hover\:scale-110:hover{--transform-scale-x:1.1;--transform-scale-y:1.1}.md\:hover\:scale-125:hover{--transform-scale-x:1.25;--transform-scale-y:1.25}.md\:hover\:scale-150:hover{--transform-scale-x:1.5;--transform-scale-y:1.5}.md\:hover\:scale-x-0:hover{--transform-scale-x:0}.md\:hover\:scale-x-50:hover{--transform-scale-x:.5}.md\:hover\:scale-x-75:hover{--transform-scale-x:.75}.md\:hover\:scale-x-90:hover{--transform-scale-x:.9}.md\:hover\:scale-x-95:hover{--transform-scale-x:.95}.md\:hover\:scale-x-100:hover{--transform-scale-x:1}.md\:hover\:scale-x-105:hover{--transform-scale-x:1.05}.md\:hover\:scale-x-110:hover{--transform-scale-x:1.1}.md\:hover\:scale-x-125:hover{--transform-scale-x:1.25}.md\:hover\:scale-x-150:hover{--transform-scale-x:1.5}.md\:hover\:scale-y-0:hover{--transform-scale-y:0}.md\:hover\:scale-y-50:hover{--transform-scale-y:.5}.md\:hover\:scale-y-75:hover{--transform-scale-y:.75}.md\:hover\:scale-y-90:hover{--transform-scale-y:.9}.md\:hover\:scale-y-95:hover{--transform-scale-y:.95}.md\:hover\:scale-y-100:hover{--transform-scale-y:1}.md\:hover\:scale-y-105:hover{--transform-scale-y:1.05}.md\:hover\:scale-y-110:hover{--transform-scale-y:1.1}.md\:hover\:scale-y-125:hover{--transform-scale-y:1.25}.md\:hover\:scale-y-150:hover{--transform-scale-y:1.5}.md\:focus\:scale-0:focus{--transform-scale-x:0;--transform-scale-y:0}.md\:focus\:scale-50:focus{--transform-scale-x:.5;--transform-scale-y:.5}.md\:focus\:scale-75:focus{--transform-scale-x:.75;--transform-scale-y:.75}.md\:focus\:scale-90:focus{--transform-scale-x:.9;--transform-scale-y:.9}.md\:focus\:scale-95:focus{--transform-scale-x:.95;--transform-scale-y:.95}.md\:focus\:scale-100:focus{--transform-scale-x:1;--transform-scale-y:1}.md\:focus\:scale-105:focus{--transform-scale-x:1.05;--transform-scale-y:1.05}.md\:focus\:scale-110:focus{--transform-scale-x:1.1;--transform-scale-y:1.1}.md\:focus\:scale-125:focus{--transform-scale-x:1.25;--transform-scale-y:1.25}.md\:focus\:scale-150:focus{--transform-scale-x:1.5;--transform-scale-y:1.5}.md\:focus\:scale-x-0:focus{--transform-scale-x:0}.md\:focus\:scale-x-50:focus{--transform-scale-x:.5}.md\:focus\:scale-x-75:focus{--transform-scale-x:.75}.md\:focus\:scale-x-90:focus{--transform-scale-x:.9}.md\:focus\:scale-x-95:focus{--transform-scale-x:.95}.md\:focus\:scale-x-100:focus{--transform-scale-x:1}.md\:focus\:scale-x-105:focus{--transform-scale-x:1.05}.md\:focus\:scale-x-110:focus{--transform-scale-x:1.1}.md\:focus\:scale-x-125:focus{--transform-scale-x:1.25}.md\:focus\:scale-x-150:focus{--transform-scale-x:1.5}.md\:focus\:scale-y-0:focus{--transform-scale-y:0}.md\:focus\:scale-y-50:focus{--transform-scale-y:.5}.md\:focus\:scale-y-75:focus{--transform-scale-y:.75}.md\:focus\:scale-y-90:focus{--transform-scale-y:.9}.md\:focus\:scale-y-95:focus{--transform-scale-y:.95}.md\:focus\:scale-y-100:focus{--transform-scale-y:1}.md\:focus\:scale-y-105:focus{--transform-scale-y:1.05}.md\:focus\:scale-y-110:focus{--transform-scale-y:1.1}.md\:focus\:scale-y-125:focus{--transform-scale-y:1.25}.md\:focus\:scale-y-150:focus{--transform-scale-y:1.5}.md\:rotate-0{--transform-rotate:0}.md\:rotate-45{--transform-rotate:45deg}.md\:rotate-90{--transform-rotate:90deg}.md\:rotate-180{--transform-rotate:180deg}.md\:-rotate-180{--transform-rotate:-180deg}.md\:-rotate-90{--transform-rotate:-90deg}.md\:-rotate-45{--transform-rotate:-45deg}.md\:hover\:rotate-0:hover{--transform-rotate:0}.md\:hover\:rotate-45:hover{--transform-rotate:45deg}.md\:hover\:rotate-90:hover{--transform-rotate:90deg}.md\:hover\:rotate-180:hover{--transform-rotate:180deg}.md\:hover\:-rotate-180:hover{--transform-rotate:-180deg}.md\:hover\:-rotate-90:hover{--transform-rotate:-90deg}.md\:hover\:-rotate-45:hover{--transform-rotate:-45deg}.md\:focus\:rotate-0:focus{--transform-rotate:0}.md\:focus\:rotate-45:focus{--transform-rotate:45deg}.md\:focus\:rotate-90:focus{--transform-rotate:90deg}.md\:focus\:rotate-180:focus{--transform-rotate:180deg}.md\:focus\:-rotate-180:focus{--transform-rotate:-180deg}.md\:focus\:-rotate-90:focus{--transform-rotate:-90deg}.md\:focus\:-rotate-45:focus{--transform-rotate:-45deg}.md\:translate-x-0{--transform-translate-x:0}.md\:translate-x-1{--transform-translate-x:0.25rem}.md\:translate-x-2{--transform-translate-x:0.5rem}.md\:translate-x-3{--transform-translate-x:0.75rem}.md\:translate-x-4{--transform-translate-x:1rem}.md\:translate-x-5{--transform-translate-x:1.25rem}.md\:translate-x-6{--transform-translate-x:1.5rem}.md\:translate-x-7{--transform-translate-x:1.75rem}.md\:translate-x-8{--transform-translate-x:2rem}.md\:translate-x-9{--transform-translate-x:2.25rem}.md\:translate-x-10{--transform-translate-x:2.5rem}.md\:translate-x-11{--transform-translate-x:2.75rem}.md\:translate-x-12{--transform-translate-x:3rem}.md\:translate-x-13{--transform-translate-x:3.25rem}.md\:translate-x-14{--transform-translate-x:3.5rem}.md\:translate-x-15{--transform-translate-x:3.75rem}.md\:translate-x-16{--transform-translate-x:4rem}.md\:translate-x-20{--transform-translate-x:5rem}.md\:translate-x-24{--transform-translate-x:6rem}.md\:translate-x-28{--transform-translate-x:7rem}.md\:translate-x-32{--transform-translate-x:8rem}.md\:translate-x-36{--transform-translate-x:9rem}.md\:translate-x-40{--transform-translate-x:10rem}.md\:translate-x-44{--transform-translate-x:11rem}.md\:translate-x-48{--transform-translate-x:12rem}.md\:translate-x-52{--transform-translate-x:13rem}.md\:translate-x-56{--transform-translate-x:14rem}.md\:translate-x-60{--transform-translate-x:15rem}.md\:translate-x-64{--transform-translate-x:16rem}.md\:translate-x-72{--transform-translate-x:18rem}.md\:translate-x-80{--transform-translate-x:20rem}.md\:translate-x-96{--transform-translate-x:24rem}.md\:translate-x-px{--transform-translate-x:1px}.md\:translate-x-0\.5{--transform-translate-x:0.125rem}.md\:translate-x-1\.5{--transform-translate-x:0.375rem}.md\:translate-x-2\.5{--transform-translate-x:0.625rem}.md\:translate-x-3\.5{--transform-translate-x:0.875rem}.md\:translate-x-1\/2{--transform-translate-x:50%}.md\:translate-x-1\/3{--transform-translate-x:33.333333%}.md\:translate-x-2\/3{--transform-translate-x:66.666667%}.md\:translate-x-1\/4{--transform-translate-x:25%}.md\:translate-x-2\/4{--transform-translate-x:50%}.md\:translate-x-3\/4{--transform-translate-x:75%}.md\:translate-x-1\/5{--transform-translate-x:20%}.md\:translate-x-2\/5{--transform-translate-x:40%}.md\:translate-x-3\/5{--transform-translate-x:60%}.md\:translate-x-4\/5{--transform-translate-x:80%}.md\:translate-x-1\/6{--transform-translate-x:16.666667%}.md\:translate-x-2\/6{--transform-translate-x:33.333333%}.md\:translate-x-3\/6{--transform-translate-x:50%}.md\:translate-x-4\/6{--transform-translate-x:66.666667%}.md\:translate-x-5\/6{--transform-translate-x:83.333333%}.md\:translate-x-1\/12{--transform-translate-x:8.333333%}.md\:translate-x-2\/12{--transform-translate-x:16.666667%}.md\:translate-x-3\/12{--transform-translate-x:25%}.md\:translate-x-4\/12{--transform-translate-x:33.333333%}.md\:translate-x-5\/12{--transform-translate-x:41.666667%}.md\:translate-x-6\/12{--transform-translate-x:50%}.md\:translate-x-7\/12{--transform-translate-x:58.333333%}.md\:translate-x-8\/12{--transform-translate-x:66.666667%}.md\:translate-x-9\/12{--transform-translate-x:75%}.md\:translate-x-10\/12{--transform-translate-x:83.333333%}.md\:translate-x-11\/12{--transform-translate-x:91.666667%}.md\:translate-x-full{--transform-translate-x:100%}.md\:-translate-x-1{--transform-translate-x:-0.25rem}.md\:-translate-x-2{--transform-translate-x:-0.5rem}.md\:-translate-x-3{--transform-translate-x:-0.75rem}.md\:-translate-x-4{--transform-translate-x:-1rem}.md\:-translate-x-5{--transform-translate-x:-1.25rem}.md\:-translate-x-6{--transform-translate-x:-1.5rem}.md\:-translate-x-7{--transform-translate-x:-1.75rem}.md\:-translate-x-8{--transform-translate-x:-2rem}.md\:-translate-x-9{--transform-translate-x:-2.25rem}.md\:-translate-x-10{--transform-translate-x:-2.5rem}.md\:-translate-x-11{--transform-translate-x:-2.75rem}.md\:-translate-x-12{--transform-translate-x:-3rem}.md\:-translate-x-13{--transform-translate-x:-3.25rem}.md\:-translate-x-14{--transform-translate-x:-3.5rem}.md\:-translate-x-15{--transform-translate-x:-3.75rem}.md\:-translate-x-16{--transform-translate-x:-4rem}.md\:-translate-x-20{--transform-translate-x:-5rem}.md\:-translate-x-24{--transform-translate-x:-6rem}.md\:-translate-x-28{--transform-translate-x:-7rem}.md\:-translate-x-32{--transform-translate-x:-8rem}.md\:-translate-x-36{--transform-translate-x:-9rem}.md\:-translate-x-40{--transform-translate-x:-10rem}.md\:-translate-x-44{--transform-translate-x:-11rem}.md\:-translate-x-48{--transform-translate-x:-12rem}.md\:-translate-x-52{--transform-translate-x:-13rem}.md\:-translate-x-56{--transform-translate-x:-14rem}.md\:-translate-x-60{--transform-translate-x:-15rem}.md\:-translate-x-64{--transform-translate-x:-16rem}.md\:-translate-x-72{--transform-translate-x:-18rem}.md\:-translate-x-80{--transform-translate-x:-20rem}.md\:-translate-x-96{--transform-translate-x:-24rem}.md\:-translate-x-px{--transform-translate-x:-1px}.md\:-translate-x-0\.5{--transform-translate-x:-0.125rem}.md\:-translate-x-1\.5{--transform-translate-x:-0.375rem}.md\:-translate-x-2\.5{--transform-translate-x:-0.625rem}.md\:-translate-x-3\.5{--transform-translate-x:-0.875rem}.md\:-translate-x-1\/2{--transform-translate-x:-50%}.md\:-translate-x-1\/3{--transform-translate-x:-33.33333%}.md\:-translate-x-2\/3{--transform-translate-x:-66.66667%}.md\:-translate-x-1\/4{--transform-translate-x:-25%}.md\:-translate-x-2\/4{--transform-translate-x:-50%}.md\:-translate-x-3\/4{--transform-translate-x:-75%}.md\:-translate-x-1\/5{--transform-translate-x:-20%}.md\:-translate-x-2\/5{--transform-translate-x:-40%}.md\:-translate-x-3\/5{--transform-translate-x:-60%}.md\:-translate-x-4\/5{--transform-translate-x:-80%}.md\:-translate-x-1\/6{--transform-translate-x:-16.66667%}.md\:-translate-x-2\/6{--transform-translate-x:-33.33333%}.md\:-translate-x-3\/6{--transform-translate-x:-50%}.md\:-translate-x-4\/6{--transform-translate-x:-66.66667%}.md\:-translate-x-5\/6{--transform-translate-x:-83.33333%}.md\:-translate-x-1\/12{--transform-translate-x:-8.33333%}.md\:-translate-x-2\/12{--transform-translate-x:-16.66667%}.md\:-translate-x-3\/12{--transform-translate-x:-25%}.md\:-translate-x-4\/12{--transform-translate-x:-33.33333%}.md\:-translate-x-5\/12{--transform-translate-x:-41.66667%}.md\:-translate-x-6\/12{--transform-translate-x:-50%}.md\:-translate-x-7\/12{--transform-translate-x:-58.33333%}.md\:-translate-x-8\/12{--transform-translate-x:-66.66667%}.md\:-translate-x-9\/12{--transform-translate-x:-75%}.md\:-translate-x-10\/12{--transform-translate-x:-83.33333%}.md\:-translate-x-11\/12{--transform-translate-x:-91.66667%}.md\:-translate-x-full{--transform-translate-x:-100%}.md\:translate-y-0{--transform-translate-y:0}.md\:translate-y-1{--transform-translate-y:0.25rem}.md\:translate-y-2{--transform-translate-y:0.5rem}.md\:translate-y-3{--transform-translate-y:0.75rem}.md\:translate-y-4{--transform-translate-y:1rem}.md\:translate-y-5{--transform-translate-y:1.25rem}.md\:translate-y-6{--transform-translate-y:1.5rem}.md\:translate-y-7{--transform-translate-y:1.75rem}.md\:translate-y-8{--transform-translate-y:2rem}.md\:translate-y-9{--transform-translate-y:2.25rem}.md\:translate-y-10{--transform-translate-y:2.5rem}.md\:translate-y-11{--transform-translate-y:2.75rem}.md\:translate-y-12{--transform-translate-y:3rem}.md\:translate-y-13{--transform-translate-y:3.25rem}.md\:translate-y-14{--transform-translate-y:3.5rem}.md\:translate-y-15{--transform-translate-y:3.75rem}.md\:translate-y-16{--transform-translate-y:4rem}.md\:translate-y-20{--transform-translate-y:5rem}.md\:translate-y-24{--transform-translate-y:6rem}.md\:translate-y-28{--transform-translate-y:7rem}.md\:translate-y-32{--transform-translate-y:8rem}.md\:translate-y-36{--transform-translate-y:9rem}.md\:translate-y-40{--transform-translate-y:10rem}.md\:translate-y-44{--transform-translate-y:11rem}.md\:translate-y-48{--transform-translate-y:12rem}.md\:translate-y-52{--transform-translate-y:13rem}.md\:translate-y-56{--transform-translate-y:14rem}.md\:translate-y-60{--transform-translate-y:15rem}.md\:translate-y-64{--transform-translate-y:16rem}.md\:translate-y-72{--transform-translate-y:18rem}.md\:translate-y-80{--transform-translate-y:20rem}.md\:translate-y-96{--transform-translate-y:24rem}.md\:translate-y-px{--transform-translate-y:1px}.md\:translate-y-0\.5{--transform-translate-y:0.125rem}.md\:translate-y-1\.5{--transform-translate-y:0.375rem}.md\:translate-y-2\.5{--transform-translate-y:0.625rem}.md\:translate-y-3\.5{--transform-translate-y:0.875rem}.md\:translate-y-1\/2{--transform-translate-y:50%}.md\:translate-y-1\/3{--transform-translate-y:33.333333%}.md\:translate-y-2\/3{--transform-translate-y:66.666667%}.md\:translate-y-1\/4{--transform-translate-y:25%}.md\:translate-y-2\/4{--transform-translate-y:50%}.md\:translate-y-3\/4{--transform-translate-y:75%}.md\:translate-y-1\/5{--transform-translate-y:20%}.md\:translate-y-2\/5{--transform-translate-y:40%}.md\:translate-y-3\/5{--transform-translate-y:60%}.md\:translate-y-4\/5{--transform-translate-y:80%}.md\:translate-y-1\/6{--transform-translate-y:16.666667%}.md\:translate-y-2\/6{--transform-translate-y:33.333333%}.md\:translate-y-3\/6{--transform-translate-y:50%}.md\:translate-y-4\/6{--transform-translate-y:66.666667%}.md\:translate-y-5\/6{--transform-translate-y:83.333333%}.md\:translate-y-1\/12{--transform-translate-y:8.333333%}.md\:translate-y-2\/12{--transform-translate-y:16.666667%}.md\:translate-y-3\/12{--transform-translate-y:25%}.md\:translate-y-4\/12{--transform-translate-y:33.333333%}.md\:translate-y-5\/12{--transform-translate-y:41.666667%}.md\:translate-y-6\/12{--transform-translate-y:50%}.md\:translate-y-7\/12{--transform-translate-y:58.333333%}.md\:translate-y-8\/12{--transform-translate-y:66.666667%}.md\:translate-y-9\/12{--transform-translate-y:75%}.md\:translate-y-10\/12{--transform-translate-y:83.333333%}.md\:translate-y-11\/12{--transform-translate-y:91.666667%}.md\:translate-y-full{--transform-translate-y:100%}.md\:-translate-y-1{--transform-translate-y:-0.25rem}.md\:-translate-y-2{--transform-translate-y:-0.5rem}.md\:-translate-y-3{--transform-translate-y:-0.75rem}.md\:-translate-y-4{--transform-translate-y:-1rem}.md\:-translate-y-5{--transform-translate-y:-1.25rem}.md\:-translate-y-6{--transform-translate-y:-1.5rem}.md\:-translate-y-7{--transform-translate-y:-1.75rem}.md\:-translate-y-8{--transform-translate-y:-2rem}.md\:-translate-y-9{--transform-translate-y:-2.25rem}.md\:-translate-y-10{--transform-translate-y:-2.5rem}.md\:-translate-y-11{--transform-translate-y:-2.75rem}.md\:-translate-y-12{--transform-translate-y:-3rem}.md\:-translate-y-13{--transform-translate-y:-3.25rem}.md\:-translate-y-14{--transform-translate-y:-3.5rem}.md\:-translate-y-15{--transform-translate-y:-3.75rem}.md\:-translate-y-16{--transform-translate-y:-4rem}.md\:-translate-y-20{--transform-translate-y:-5rem}.md\:-translate-y-24{--transform-translate-y:-6rem}.md\:-translate-y-28{--transform-translate-y:-7rem}.md\:-translate-y-32{--transform-translate-y:-8rem}.md\:-translate-y-36{--transform-translate-y:-9rem}.md\:-translate-y-40{--transform-translate-y:-10rem}.md\:-translate-y-44{--transform-translate-y:-11rem}.md\:-translate-y-48{--transform-translate-y:-12rem}.md\:-translate-y-52{--transform-translate-y:-13rem}.md\:-translate-y-56{--transform-translate-y:-14rem}.md\:-translate-y-60{--transform-translate-y:-15rem}.md\:-translate-y-64{--transform-translate-y:-16rem}.md\:-translate-y-72{--transform-translate-y:-18rem}.md\:-translate-y-80{--transform-translate-y:-20rem}.md\:-translate-y-96{--transform-translate-y:-24rem}.md\:-translate-y-px{--transform-translate-y:-1px}.md\:-translate-y-0\.5{--transform-translate-y:-0.125rem}.md\:-translate-y-1\.5{--transform-translate-y:-0.375rem}.md\:-translate-y-2\.5{--transform-translate-y:-0.625rem}.md\:-translate-y-3\.5{--transform-translate-y:-0.875rem}.md\:-translate-y-1\/2{--transform-translate-y:-50%}.md\:-translate-y-1\/3{--transform-translate-y:-33.33333%}.md\:-translate-y-2\/3{--transform-translate-y:-66.66667%}.md\:-translate-y-1\/4{--transform-translate-y:-25%}.md\:-translate-y-2\/4{--transform-translate-y:-50%}.md\:-translate-y-3\/4{--transform-translate-y:-75%}.md\:-translate-y-1\/5{--transform-translate-y:-20%}.md\:-translate-y-2\/5{--transform-translate-y:-40%}.md\:-translate-y-3\/5{--transform-translate-y:-60%}.md\:-translate-y-4\/5{--transform-translate-y:-80%}.md\:-translate-y-1\/6{--transform-translate-y:-16.66667%}.md\:-translate-y-2\/6{--transform-translate-y:-33.33333%}.md\:-translate-y-3\/6{--transform-translate-y:-50%}.md\:-translate-y-4\/6{--transform-translate-y:-66.66667%}.md\:-translate-y-5\/6{--transform-translate-y:-83.33333%}.md\:-translate-y-1\/12{--transform-translate-y:-8.33333%}.md\:-translate-y-2\/12{--transform-translate-y:-16.66667%}.md\:-translate-y-3\/12{--transform-translate-y:-25%}.md\:-translate-y-4\/12{--transform-translate-y:-33.33333%}.md\:-translate-y-5\/12{--transform-translate-y:-41.66667%}.md\:-translate-y-6\/12{--transform-translate-y:-50%}.md\:-translate-y-7\/12{--transform-translate-y:-58.33333%}.md\:-translate-y-8\/12{--transform-translate-y:-66.66667%}.md\:-translate-y-9\/12{--transform-translate-y:-75%}.md\:-translate-y-10\/12{--transform-translate-y:-83.33333%}.md\:-translate-y-11\/12{--transform-translate-y:-91.66667%}.md\:-translate-y-full{--transform-translate-y:-100%}.md\:hover\:translate-x-0:hover{--transform-translate-x:0}.md\:hover\:translate-x-1:hover{--transform-translate-x:0.25rem}.md\:hover\:translate-x-2:hover{--transform-translate-x:0.5rem}.md\:hover\:translate-x-3:hover{--transform-translate-x:0.75rem}.md\:hover\:translate-x-4:hover{--transform-translate-x:1rem}.md\:hover\:translate-x-5:hover{--transform-translate-x:1.25rem}.md\:hover\:translate-x-6:hover{--transform-translate-x:1.5rem}.md\:hover\:translate-x-7:hover{--transform-translate-x:1.75rem}.md\:hover\:translate-x-8:hover{--transform-translate-x:2rem}.md\:hover\:translate-x-9:hover{--transform-translate-x:2.25rem}.md\:hover\:translate-x-10:hover{--transform-translate-x:2.5rem}.md\:hover\:translate-x-11:hover{--transform-translate-x:2.75rem}.md\:hover\:translate-x-12:hover{--transform-translate-x:3rem}.md\:hover\:translate-x-13:hover{--transform-translate-x:3.25rem}.md\:hover\:translate-x-14:hover{--transform-translate-x:3.5rem}.md\:hover\:translate-x-15:hover{--transform-translate-x:3.75rem}.md\:hover\:translate-x-16:hover{--transform-translate-x:4rem}.md\:hover\:translate-x-20:hover{--transform-translate-x:5rem}.md\:hover\:translate-x-24:hover{--transform-translate-x:6rem}.md\:hover\:translate-x-28:hover{--transform-translate-x:7rem}.md\:hover\:translate-x-32:hover{--transform-translate-x:8rem}.md\:hover\:translate-x-36:hover{--transform-translate-x:9rem}.md\:hover\:translate-x-40:hover{--transform-translate-x:10rem}.md\:hover\:translate-x-44:hover{--transform-translate-x:11rem}.md\:hover\:translate-x-48:hover{--transform-translate-x:12rem}.md\:hover\:translate-x-52:hover{--transform-translate-x:13rem}.md\:hover\:translate-x-56:hover{--transform-translate-x:14rem}.md\:hover\:translate-x-60:hover{--transform-translate-x:15rem}.md\:hover\:translate-x-64:hover{--transform-translate-x:16rem}.md\:hover\:translate-x-72:hover{--transform-translate-x:18rem}.md\:hover\:translate-x-80:hover{--transform-translate-x:20rem}.md\:hover\:translate-x-96:hover{--transform-translate-x:24rem}.md\:hover\:translate-x-px:hover{--transform-translate-x:1px}.md\:hover\:translate-x-0\.5:hover{--transform-translate-x:0.125rem}.md\:hover\:translate-x-1\.5:hover{--transform-translate-x:0.375rem}.md\:hover\:translate-x-2\.5:hover{--transform-translate-x:0.625rem}.md\:hover\:translate-x-3\.5:hover{--transform-translate-x:0.875rem}.md\:hover\:translate-x-1\/2:hover{--transform-translate-x:50%}.md\:hover\:translate-x-1\/3:hover{--transform-translate-x:33.333333%}.md\:hover\:translate-x-2\/3:hover{--transform-translate-x:66.666667%}.md\:hover\:translate-x-1\/4:hover{--transform-translate-x:25%}.md\:hover\:translate-x-2\/4:hover{--transform-translate-x:50%}.md\:hover\:translate-x-3\/4:hover{--transform-translate-x:75%}.md\:hover\:translate-x-1\/5:hover{--transform-translate-x:20%}.md\:hover\:translate-x-2\/5:hover{--transform-translate-x:40%}.md\:hover\:translate-x-3\/5:hover{--transform-translate-x:60%}.md\:hover\:translate-x-4\/5:hover{--transform-translate-x:80%}.md\:hover\:translate-x-1\/6:hover{--transform-translate-x:16.666667%}.md\:hover\:translate-x-2\/6:hover{--transform-translate-x:33.333333%}.md\:hover\:translate-x-3\/6:hover{--transform-translate-x:50%}.md\:hover\:translate-x-4\/6:hover{--transform-translate-x:66.666667%}.md\:hover\:translate-x-5\/6:hover{--transform-translate-x:83.333333%}.md\:hover\:translate-x-1\/12:hover{--transform-translate-x:8.333333%}.md\:hover\:translate-x-2\/12:hover{--transform-translate-x:16.666667%}.md\:hover\:translate-x-3\/12:hover{--transform-translate-x:25%}.md\:hover\:translate-x-4\/12:hover{--transform-translate-x:33.333333%}.md\:hover\:translate-x-5\/12:hover{--transform-translate-x:41.666667%}.md\:hover\:translate-x-6\/12:hover{--transform-translate-x:50%}.md\:hover\:translate-x-7\/12:hover{--transform-translate-x:58.333333%}.md\:hover\:translate-x-8\/12:hover{--transform-translate-x:66.666667%}.md\:hover\:translate-x-9\/12:hover{--transform-translate-x:75%}.md\:hover\:translate-x-10\/12:hover{--transform-translate-x:83.333333%}.md\:hover\:translate-x-11\/12:hover{--transform-translate-x:91.666667%}.md\:hover\:translate-x-full:hover{--transform-translate-x:100%}.md\:hover\:-translate-x-1:hover{--transform-translate-x:-0.25rem}.md\:hover\:-translate-x-2:hover{--transform-translate-x:-0.5rem}.md\:hover\:-translate-x-3:hover{--transform-translate-x:-0.75rem}.md\:hover\:-translate-x-4:hover{--transform-translate-x:-1rem}.md\:hover\:-translate-x-5:hover{--transform-translate-x:-1.25rem}.md\:hover\:-translate-x-6:hover{--transform-translate-x:-1.5rem}.md\:hover\:-translate-x-7:hover{--transform-translate-x:-1.75rem}.md\:hover\:-translate-x-8:hover{--transform-translate-x:-2rem}.md\:hover\:-translate-x-9:hover{--transform-translate-x:-2.25rem}.md\:hover\:-translate-x-10:hover{--transform-translate-x:-2.5rem}.md\:hover\:-translate-x-11:hover{--transform-translate-x:-2.75rem}.md\:hover\:-translate-x-12:hover{--transform-translate-x:-3rem}.md\:hover\:-translate-x-13:hover{--transform-translate-x:-3.25rem}.md\:hover\:-translate-x-14:hover{--transform-translate-x:-3.5rem}.md\:hover\:-translate-x-15:hover{--transform-translate-x:-3.75rem}.md\:hover\:-translate-x-16:hover{--transform-translate-x:-4rem}.md\:hover\:-translate-x-20:hover{--transform-translate-x:-5rem}.md\:hover\:-translate-x-24:hover{--transform-translate-x:-6rem}.md\:hover\:-translate-x-28:hover{--transform-translate-x:-7rem}.md\:hover\:-translate-x-32:hover{--transform-translate-x:-8rem}.md\:hover\:-translate-x-36:hover{--transform-translate-x:-9rem}.md\:hover\:-translate-x-40:hover{--transform-translate-x:-10rem}.md\:hover\:-translate-x-44:hover{--transform-translate-x:-11rem}.md\:hover\:-translate-x-48:hover{--transform-translate-x:-12rem}.md\:hover\:-translate-x-52:hover{--transform-translate-x:-13rem}.md\:hover\:-translate-x-56:hover{--transform-translate-x:-14rem}.md\:hover\:-translate-x-60:hover{--transform-translate-x:-15rem}.md\:hover\:-translate-x-64:hover{--transform-translate-x:-16rem}.md\:hover\:-translate-x-72:hover{--transform-translate-x:-18rem}.md\:hover\:-translate-x-80:hover{--transform-translate-x:-20rem}.md\:hover\:-translate-x-96:hover{--transform-translate-x:-24rem}.md\:hover\:-translate-x-px:hover{--transform-translate-x:-1px}.md\:hover\:-translate-x-0\.5:hover{--transform-translate-x:-0.125rem}.md\:hover\:-translate-x-1\.5:hover{--transform-translate-x:-0.375rem}.md\:hover\:-translate-x-2\.5:hover{--transform-translate-x:-0.625rem}.md\:hover\:-translate-x-3\.5:hover{--transform-translate-x:-0.875rem}.md\:hover\:-translate-x-1\/2:hover{--transform-translate-x:-50%}.md\:hover\:-translate-x-1\/3:hover{--transform-translate-x:-33.33333%}.md\:hover\:-translate-x-2\/3:hover{--transform-translate-x:-66.66667%}.md\:hover\:-translate-x-1\/4:hover{--transform-translate-x:-25%}.md\:hover\:-translate-x-2\/4:hover{--transform-translate-x:-50%}.md\:hover\:-translate-x-3\/4:hover{--transform-translate-x:-75%}.md\:hover\:-translate-x-1\/5:hover{--transform-translate-x:-20%}.md\:hover\:-translate-x-2\/5:hover{--transform-translate-x:-40%}.md\:hover\:-translate-x-3\/5:hover{--transform-translate-x:-60%}.md\:hover\:-translate-x-4\/5:hover{--transform-translate-x:-80%}.md\:hover\:-translate-x-1\/6:hover{--transform-translate-x:-16.66667%}.md\:hover\:-translate-x-2\/6:hover{--transform-translate-x:-33.33333%}.md\:hover\:-translate-x-3\/6:hover{--transform-translate-x:-50%}.md\:hover\:-translate-x-4\/6:hover{--transform-translate-x:-66.66667%}.md\:hover\:-translate-x-5\/6:hover{--transform-translate-x:-83.33333%}.md\:hover\:-translate-x-1\/12:hover{--transform-translate-x:-8.33333%}.md\:hover\:-translate-x-2\/12:hover{--transform-translate-x:-16.66667%}.md\:hover\:-translate-x-3\/12:hover{--transform-translate-x:-25%}.md\:hover\:-translate-x-4\/12:hover{--transform-translate-x:-33.33333%}.md\:hover\:-translate-x-5\/12:hover{--transform-translate-x:-41.66667%}.md\:hover\:-translate-x-6\/12:hover{--transform-translate-x:-50%}.md\:hover\:-translate-x-7\/12:hover{--transform-translate-x:-58.33333%}.md\:hover\:-translate-x-8\/12:hover{--transform-translate-x:-66.66667%}.md\:hover\:-translate-x-9\/12:hover{--transform-translate-x:-75%}.md\:hover\:-translate-x-10\/12:hover{--transform-translate-x:-83.33333%}.md\:hover\:-translate-x-11\/12:hover{--transform-translate-x:-91.66667%}.md\:hover\:-translate-x-full:hover{--transform-translate-x:-100%}.md\:hover\:translate-y-0:hover{--transform-translate-y:0}.md\:hover\:translate-y-1:hover{--transform-translate-y:0.25rem}.md\:hover\:translate-y-2:hover{--transform-translate-y:0.5rem}.md\:hover\:translate-y-3:hover{--transform-translate-y:0.75rem}.md\:hover\:translate-y-4:hover{--transform-translate-y:1rem}.md\:hover\:translate-y-5:hover{--transform-translate-y:1.25rem}.md\:hover\:translate-y-6:hover{--transform-translate-y:1.5rem}.md\:hover\:translate-y-7:hover{--transform-translate-y:1.75rem}.md\:hover\:translate-y-8:hover{--transform-translate-y:2rem}.md\:hover\:translate-y-9:hover{--transform-translate-y:2.25rem}.md\:hover\:translate-y-10:hover{--transform-translate-y:2.5rem}.md\:hover\:translate-y-11:hover{--transform-translate-y:2.75rem}.md\:hover\:translate-y-12:hover{--transform-translate-y:3rem}.md\:hover\:translate-y-13:hover{--transform-translate-y:3.25rem}.md\:hover\:translate-y-14:hover{--transform-translate-y:3.5rem}.md\:hover\:translate-y-15:hover{--transform-translate-y:3.75rem}.md\:hover\:translate-y-16:hover{--transform-translate-y:4rem}.md\:hover\:translate-y-20:hover{--transform-translate-y:5rem}.md\:hover\:translate-y-24:hover{--transform-translate-y:6rem}.md\:hover\:translate-y-28:hover{--transform-translate-y:7rem}.md\:hover\:translate-y-32:hover{--transform-translate-y:8rem}.md\:hover\:translate-y-36:hover{--transform-translate-y:9rem}.md\:hover\:translate-y-40:hover{--transform-translate-y:10rem}.md\:hover\:translate-y-44:hover{--transform-translate-y:11rem}.md\:hover\:translate-y-48:hover{--transform-translate-y:12rem}.md\:hover\:translate-y-52:hover{--transform-translate-y:13rem}.md\:hover\:translate-y-56:hover{--transform-translate-y:14rem}.md\:hover\:translate-y-60:hover{--transform-translate-y:15rem}.md\:hover\:translate-y-64:hover{--transform-translate-y:16rem}.md\:hover\:translate-y-72:hover{--transform-translate-y:18rem}.md\:hover\:translate-y-80:hover{--transform-translate-y:20rem}.md\:hover\:translate-y-96:hover{--transform-translate-y:24rem}.md\:hover\:translate-y-px:hover{--transform-translate-y:1px}.md\:hover\:translate-y-0\.5:hover{--transform-translate-y:0.125rem}.md\:hover\:translate-y-1\.5:hover{--transform-translate-y:0.375rem}.md\:hover\:translate-y-2\.5:hover{--transform-translate-y:0.625rem}.md\:hover\:translate-y-3\.5:hover{--transform-translate-y:0.875rem}.md\:hover\:translate-y-1\/2:hover{--transform-translate-y:50%}.md\:hover\:translate-y-1\/3:hover{--transform-translate-y:33.333333%}.md\:hover\:translate-y-2\/3:hover{--transform-translate-y:66.666667%}.md\:hover\:translate-y-1\/4:hover{--transform-translate-y:25%}.md\:hover\:translate-y-2\/4:hover{--transform-translate-y:50%}.md\:hover\:translate-y-3\/4:hover{--transform-translate-y:75%}.md\:hover\:translate-y-1\/5:hover{--transform-translate-y:20%}.md\:hover\:translate-y-2\/5:hover{--transform-translate-y:40%}.md\:hover\:translate-y-3\/5:hover{--transform-translate-y:60%}.md\:hover\:translate-y-4\/5:hover{--transform-translate-y:80%}.md\:hover\:translate-y-1\/6:hover{--transform-translate-y:16.666667%}.md\:hover\:translate-y-2\/6:hover{--transform-translate-y:33.333333%}.md\:hover\:translate-y-3\/6:hover{--transform-translate-y:50%}.md\:hover\:translate-y-4\/6:hover{--transform-translate-y:66.666667%}.md\:hover\:translate-y-5\/6:hover{--transform-translate-y:83.333333%}.md\:hover\:translate-y-1\/12:hover{--transform-translate-y:8.333333%}.md\:hover\:translate-y-2\/12:hover{--transform-translate-y:16.666667%}.md\:hover\:translate-y-3\/12:hover{--transform-translate-y:25%}.md\:hover\:translate-y-4\/12:hover{--transform-translate-y:33.333333%}.md\:hover\:translate-y-5\/12:hover{--transform-translate-y:41.666667%}.md\:hover\:translate-y-6\/12:hover{--transform-translate-y:50%}.md\:hover\:translate-y-7\/12:hover{--transform-translate-y:58.333333%}.md\:hover\:translate-y-8\/12:hover{--transform-translate-y:66.666667%}.md\:hover\:translate-y-9\/12:hover{--transform-translate-y:75%}.md\:hover\:translate-y-10\/12:hover{--transform-translate-y:83.333333%}.md\:hover\:translate-y-11\/12:hover{--transform-translate-y:91.666667%}.md\:hover\:translate-y-full:hover{--transform-translate-y:100%}.md\:hover\:-translate-y-1:hover{--transform-translate-y:-0.25rem}.md\:hover\:-translate-y-2:hover{--transform-translate-y:-0.5rem}.md\:hover\:-translate-y-3:hover{--transform-translate-y:-0.75rem}.md\:hover\:-translate-y-4:hover{--transform-translate-y:-1rem}.md\:hover\:-translate-y-5:hover{--transform-translate-y:-1.25rem}.md\:hover\:-translate-y-6:hover{--transform-translate-y:-1.5rem}.md\:hover\:-translate-y-7:hover{--transform-translate-y:-1.75rem}.md\:hover\:-translate-y-8:hover{--transform-translate-y:-2rem}.md\:hover\:-translate-y-9:hover{--transform-translate-y:-2.25rem}.md\:hover\:-translate-y-10:hover{--transform-translate-y:-2.5rem}.md\:hover\:-translate-y-11:hover{--transform-translate-y:-2.75rem}.md\:hover\:-translate-y-12:hover{--transform-translate-y:-3rem}.md\:hover\:-translate-y-13:hover{--transform-translate-y:-3.25rem}.md\:hover\:-translate-y-14:hover{--transform-translate-y:-3.5rem}.md\:hover\:-translate-y-15:hover{--transform-translate-y:-3.75rem}.md\:hover\:-translate-y-16:hover{--transform-translate-y:-4rem}.md\:hover\:-translate-y-20:hover{--transform-translate-y:-5rem}.md\:hover\:-translate-y-24:hover{--transform-translate-y:-6rem}.md\:hover\:-translate-y-28:hover{--transform-translate-y:-7rem}.md\:hover\:-translate-y-32:hover{--transform-translate-y:-8rem}.md\:hover\:-translate-y-36:hover{--transform-translate-y:-9rem}.md\:hover\:-translate-y-40:hover{--transform-translate-y:-10rem}.md\:hover\:-translate-y-44:hover{--transform-translate-y:-11rem}.md\:hover\:-translate-y-48:hover{--transform-translate-y:-12rem}.md\:hover\:-translate-y-52:hover{--transform-translate-y:-13rem}.md\:hover\:-translate-y-56:hover{--transform-translate-y:-14rem}.md\:hover\:-translate-y-60:hover{--transform-translate-y:-15rem}.md\:hover\:-translate-y-64:hover{--transform-translate-y:-16rem}.md\:hover\:-translate-y-72:hover{--transform-translate-y:-18rem}.md\:hover\:-translate-y-80:hover{--transform-translate-y:-20rem}.md\:hover\:-translate-y-96:hover{--transform-translate-y:-24rem}.md\:hover\:-translate-y-px:hover{--transform-translate-y:-1px}.md\:hover\:-translate-y-0\.5:hover{--transform-translate-y:-0.125rem}.md\:hover\:-translate-y-1\.5:hover{--transform-translate-y:-0.375rem}.md\:hover\:-translate-y-2\.5:hover{--transform-translate-y:-0.625rem}.md\:hover\:-translate-y-3\.5:hover{--transform-translate-y:-0.875rem}.md\:hover\:-translate-y-1\/2:hover{--transform-translate-y:-50%}.md\:hover\:-translate-y-1\/3:hover{--transform-translate-y:-33.33333%}.md\:hover\:-translate-y-2\/3:hover{--transform-translate-y:-66.66667%}.md\:hover\:-translate-y-1\/4:hover{--transform-translate-y:-25%}.md\:hover\:-translate-y-2\/4:hover{--transform-translate-y:-50%}.md\:hover\:-translate-y-3\/4:hover{--transform-translate-y:-75%}.md\:hover\:-translate-y-1\/5:hover{--transform-translate-y:-20%}.md\:hover\:-translate-y-2\/5:hover{--transform-translate-y:-40%}.md\:hover\:-translate-y-3\/5:hover{--transform-translate-y:-60%}.md\:hover\:-translate-y-4\/5:hover{--transform-translate-y:-80%}.md\:hover\:-translate-y-1\/6:hover{--transform-translate-y:-16.66667%}.md\:hover\:-translate-y-2\/6:hover{--transform-translate-y:-33.33333%}.md\:hover\:-translate-y-3\/6:hover{--transform-translate-y:-50%}.md\:hover\:-translate-y-4\/6:hover{--transform-translate-y:-66.66667%}.md\:hover\:-translate-y-5\/6:hover{--transform-translate-y:-83.33333%}.md\:hover\:-translate-y-1\/12:hover{--transform-translate-y:-8.33333%}.md\:hover\:-translate-y-2\/12:hover{--transform-translate-y:-16.66667%}.md\:hover\:-translate-y-3\/12:hover{--transform-translate-y:-25%}.md\:hover\:-translate-y-4\/12:hover{--transform-translate-y:-33.33333%}.md\:hover\:-translate-y-5\/12:hover{--transform-translate-y:-41.66667%}.md\:hover\:-translate-y-6\/12:hover{--transform-translate-y:-50%}.md\:hover\:-translate-y-7\/12:hover{--transform-translate-y:-58.33333%}.md\:hover\:-translate-y-8\/12:hover{--transform-translate-y:-66.66667%}.md\:hover\:-translate-y-9\/12:hover{--transform-translate-y:-75%}.md\:hover\:-translate-y-10\/12:hover{--transform-translate-y:-83.33333%}.md\:hover\:-translate-y-11\/12:hover{--transform-translate-y:-91.66667%}.md\:hover\:-translate-y-full:hover{--transform-translate-y:-100%}.md\:focus\:translate-x-0:focus{--transform-translate-x:0}.md\:focus\:translate-x-1:focus{--transform-translate-x:0.25rem}.md\:focus\:translate-x-2:focus{--transform-translate-x:0.5rem}.md\:focus\:translate-x-3:focus{--transform-translate-x:0.75rem}.md\:focus\:translate-x-4:focus{--transform-translate-x:1rem}.md\:focus\:translate-x-5:focus{--transform-translate-x:1.25rem}.md\:focus\:translate-x-6:focus{--transform-translate-x:1.5rem}.md\:focus\:translate-x-7:focus{--transform-translate-x:1.75rem}.md\:focus\:translate-x-8:focus{--transform-translate-x:2rem}.md\:focus\:translate-x-9:focus{--transform-translate-x:2.25rem}.md\:focus\:translate-x-10:focus{--transform-translate-x:2.5rem}.md\:focus\:translate-x-11:focus{--transform-translate-x:2.75rem}.md\:focus\:translate-x-12:focus{--transform-translate-x:3rem}.md\:focus\:translate-x-13:focus{--transform-translate-x:3.25rem}.md\:focus\:translate-x-14:focus{--transform-translate-x:3.5rem}.md\:focus\:translate-x-15:focus{--transform-translate-x:3.75rem}.md\:focus\:translate-x-16:focus{--transform-translate-x:4rem}.md\:focus\:translate-x-20:focus{--transform-translate-x:5rem}.md\:focus\:translate-x-24:focus{--transform-translate-x:6rem}.md\:focus\:translate-x-28:focus{--transform-translate-x:7rem}.md\:focus\:translate-x-32:focus{--transform-translate-x:8rem}.md\:focus\:translate-x-36:focus{--transform-translate-x:9rem}.md\:focus\:translate-x-40:focus{--transform-translate-x:10rem}.md\:focus\:translate-x-44:focus{--transform-translate-x:11rem}.md\:focus\:translate-x-48:focus{--transform-translate-x:12rem}.md\:focus\:translate-x-52:focus{--transform-translate-x:13rem}.md\:focus\:translate-x-56:focus{--transform-translate-x:14rem}.md\:focus\:translate-x-60:focus{--transform-translate-x:15rem}.md\:focus\:translate-x-64:focus{--transform-translate-x:16rem}.md\:focus\:translate-x-72:focus{--transform-translate-x:18rem}.md\:focus\:translate-x-80:focus{--transform-translate-x:20rem}.md\:focus\:translate-x-96:focus{--transform-translate-x:24rem}.md\:focus\:translate-x-px:focus{--transform-translate-x:1px}.md\:focus\:translate-x-0\.5:focus{--transform-translate-x:0.125rem}.md\:focus\:translate-x-1\.5:focus{--transform-translate-x:0.375rem}.md\:focus\:translate-x-2\.5:focus{--transform-translate-x:0.625rem}.md\:focus\:translate-x-3\.5:focus{--transform-translate-x:0.875rem}.md\:focus\:translate-x-1\/2:focus{--transform-translate-x:50%}.md\:focus\:translate-x-1\/3:focus{--transform-translate-x:33.333333%}.md\:focus\:translate-x-2\/3:focus{--transform-translate-x:66.666667%}.md\:focus\:translate-x-1\/4:focus{--transform-translate-x:25%}.md\:focus\:translate-x-2\/4:focus{--transform-translate-x:50%}.md\:focus\:translate-x-3\/4:focus{--transform-translate-x:75%}.md\:focus\:translate-x-1\/5:focus{--transform-translate-x:20%}.md\:focus\:translate-x-2\/5:focus{--transform-translate-x:40%}.md\:focus\:translate-x-3\/5:focus{--transform-translate-x:60%}.md\:focus\:translate-x-4\/5:focus{--transform-translate-x:80%}.md\:focus\:translate-x-1\/6:focus{--transform-translate-x:16.666667%}.md\:focus\:translate-x-2\/6:focus{--transform-translate-x:33.333333%}.md\:focus\:translate-x-3\/6:focus{--transform-translate-x:50%}.md\:focus\:translate-x-4\/6:focus{--transform-translate-x:66.666667%}.md\:focus\:translate-x-5\/6:focus{--transform-translate-x:83.333333%}.md\:focus\:translate-x-1\/12:focus{--transform-translate-x:8.333333%}.md\:focus\:translate-x-2\/12:focus{--transform-translate-x:16.666667%}.md\:focus\:translate-x-3\/12:focus{--transform-translate-x:25%}.md\:focus\:translate-x-4\/12:focus{--transform-translate-x:33.333333%}.md\:focus\:translate-x-5\/12:focus{--transform-translate-x:41.666667%}.md\:focus\:translate-x-6\/12:focus{--transform-translate-x:50%}.md\:focus\:translate-x-7\/12:focus{--transform-translate-x:58.333333%}.md\:focus\:translate-x-8\/12:focus{--transform-translate-x:66.666667%}.md\:focus\:translate-x-9\/12:focus{--transform-translate-x:75%}.md\:focus\:translate-x-10\/12:focus{--transform-translate-x:83.333333%}.md\:focus\:translate-x-11\/12:focus{--transform-translate-x:91.666667%}.md\:focus\:translate-x-full:focus{--transform-translate-x:100%}.md\:focus\:-translate-x-1:focus{--transform-translate-x:-0.25rem}.md\:focus\:-translate-x-2:focus{--transform-translate-x:-0.5rem}.md\:focus\:-translate-x-3:focus{--transform-translate-x:-0.75rem}.md\:focus\:-translate-x-4:focus{--transform-translate-x:-1rem}.md\:focus\:-translate-x-5:focus{--transform-translate-x:-1.25rem}.md\:focus\:-translate-x-6:focus{--transform-translate-x:-1.5rem}.md\:focus\:-translate-x-7:focus{--transform-translate-x:-1.75rem}.md\:focus\:-translate-x-8:focus{--transform-translate-x:-2rem}.md\:focus\:-translate-x-9:focus{--transform-translate-x:-2.25rem}.md\:focus\:-translate-x-10:focus{--transform-translate-x:-2.5rem}.md\:focus\:-translate-x-11:focus{--transform-translate-x:-2.75rem}.md\:focus\:-translate-x-12:focus{--transform-translate-x:-3rem}.md\:focus\:-translate-x-13:focus{--transform-translate-x:-3.25rem}.md\:focus\:-translate-x-14:focus{--transform-translate-x:-3.5rem}.md\:focus\:-translate-x-15:focus{--transform-translate-x:-3.75rem}.md\:focus\:-translate-x-16:focus{--transform-translate-x:-4rem}.md\:focus\:-translate-x-20:focus{--transform-translate-x:-5rem}.md\:focus\:-translate-x-24:focus{--transform-translate-x:-6rem}.md\:focus\:-translate-x-28:focus{--transform-translate-x:-7rem}.md\:focus\:-translate-x-32:focus{--transform-translate-x:-8rem}.md\:focus\:-translate-x-36:focus{--transform-translate-x:-9rem}.md\:focus\:-translate-x-40:focus{--transform-translate-x:-10rem}.md\:focus\:-translate-x-44:focus{--transform-translate-x:-11rem}.md\:focus\:-translate-x-48:focus{--transform-translate-x:-12rem}.md\:focus\:-translate-x-52:focus{--transform-translate-x:-13rem}.md\:focus\:-translate-x-56:focus{--transform-translate-x:-14rem}.md\:focus\:-translate-x-60:focus{--transform-translate-x:-15rem}.md\:focus\:-translate-x-64:focus{--transform-translate-x:-16rem}.md\:focus\:-translate-x-72:focus{--transform-translate-x:-18rem}.md\:focus\:-translate-x-80:focus{--transform-translate-x:-20rem}.md\:focus\:-translate-x-96:focus{--transform-translate-x:-24rem}.md\:focus\:-translate-x-px:focus{--transform-translate-x:-1px}.md\:focus\:-translate-x-0\.5:focus{--transform-translate-x:-0.125rem}.md\:focus\:-translate-x-1\.5:focus{--transform-translate-x:-0.375rem}.md\:focus\:-translate-x-2\.5:focus{--transform-translate-x:-0.625rem}.md\:focus\:-translate-x-3\.5:focus{--transform-translate-x:-0.875rem}.md\:focus\:-translate-x-1\/2:focus{--transform-translate-x:-50%}.md\:focus\:-translate-x-1\/3:focus{--transform-translate-x:-33.33333%}.md\:focus\:-translate-x-2\/3:focus{--transform-translate-x:-66.66667%}.md\:focus\:-translate-x-1\/4:focus{--transform-translate-x:-25%}.md\:focus\:-translate-x-2\/4:focus{--transform-translate-x:-50%}.md\:focus\:-translate-x-3\/4:focus{--transform-translate-x:-75%}.md\:focus\:-translate-x-1\/5:focus{--transform-translate-x:-20%}.md\:focus\:-translate-x-2\/5:focus{--transform-translate-x:-40%}.md\:focus\:-translate-x-3\/5:focus{--transform-translate-x:-60%}.md\:focus\:-translate-x-4\/5:focus{--transform-translate-x:-80%}.md\:focus\:-translate-x-1\/6:focus{--transform-translate-x:-16.66667%}.md\:focus\:-translate-x-2\/6:focus{--transform-translate-x:-33.33333%}.md\:focus\:-translate-x-3\/6:focus{--transform-translate-x:-50%}.md\:focus\:-translate-x-4\/6:focus{--transform-translate-x:-66.66667%}.md\:focus\:-translate-x-5\/6:focus{--transform-translate-x:-83.33333%}.md\:focus\:-translate-x-1\/12:focus{--transform-translate-x:-8.33333%}.md\:focus\:-translate-x-2\/12:focus{--transform-translate-x:-16.66667%}.md\:focus\:-translate-x-3\/12:focus{--transform-translate-x:-25%}.md\:focus\:-translate-x-4\/12:focus{--transform-translate-x:-33.33333%}.md\:focus\:-translate-x-5\/12:focus{--transform-translate-x:-41.66667%}.md\:focus\:-translate-x-6\/12:focus{--transform-translate-x:-50%}.md\:focus\:-translate-x-7\/12:focus{--transform-translate-x:-58.33333%}.md\:focus\:-translate-x-8\/12:focus{--transform-translate-x:-66.66667%}.md\:focus\:-translate-x-9\/12:focus{--transform-translate-x:-75%}.md\:focus\:-translate-x-10\/12:focus{--transform-translate-x:-83.33333%}.md\:focus\:-translate-x-11\/12:focus{--transform-translate-x:-91.66667%}.md\:focus\:-translate-x-full:focus{--transform-translate-x:-100%}.md\:focus\:translate-y-0:focus{--transform-translate-y:0}.md\:focus\:translate-y-1:focus{--transform-translate-y:0.25rem}.md\:focus\:translate-y-2:focus{--transform-translate-y:0.5rem}.md\:focus\:translate-y-3:focus{--transform-translate-y:0.75rem}.md\:focus\:translate-y-4:focus{--transform-translate-y:1rem}.md\:focus\:translate-y-5:focus{--transform-translate-y:1.25rem}.md\:focus\:translate-y-6:focus{--transform-translate-y:1.5rem}.md\:focus\:translate-y-7:focus{--transform-translate-y:1.75rem}.md\:focus\:translate-y-8:focus{--transform-translate-y:2rem}.md\:focus\:translate-y-9:focus{--transform-translate-y:2.25rem}.md\:focus\:translate-y-10:focus{--transform-translate-y:2.5rem}.md\:focus\:translate-y-11:focus{--transform-translate-y:2.75rem}.md\:focus\:translate-y-12:focus{--transform-translate-y:3rem}.md\:focus\:translate-y-13:focus{--transform-translate-y:3.25rem}.md\:focus\:translate-y-14:focus{--transform-translate-y:3.5rem}.md\:focus\:translate-y-15:focus{--transform-translate-y:3.75rem}.md\:focus\:translate-y-16:focus{--transform-translate-y:4rem}.md\:focus\:translate-y-20:focus{--transform-translate-y:5rem}.md\:focus\:translate-y-24:focus{--transform-translate-y:6rem}.md\:focus\:translate-y-28:focus{--transform-translate-y:7rem}.md\:focus\:translate-y-32:focus{--transform-translate-y:8rem}.md\:focus\:translate-y-36:focus{--transform-translate-y:9rem}.md\:focus\:translate-y-40:focus{--transform-translate-y:10rem}.md\:focus\:translate-y-44:focus{--transform-translate-y:11rem}.md\:focus\:translate-y-48:focus{--transform-translate-y:12rem}.md\:focus\:translate-y-52:focus{--transform-translate-y:13rem}.md\:focus\:translate-y-56:focus{--transform-translate-y:14rem}.md\:focus\:translate-y-60:focus{--transform-translate-y:15rem}.md\:focus\:translate-y-64:focus{--transform-translate-y:16rem}.md\:focus\:translate-y-72:focus{--transform-translate-y:18rem}.md\:focus\:translate-y-80:focus{--transform-translate-y:20rem}.md\:focus\:translate-y-96:focus{--transform-translate-y:24rem}.md\:focus\:translate-y-px:focus{--transform-translate-y:1px}.md\:focus\:translate-y-0\.5:focus{--transform-translate-y:0.125rem}.md\:focus\:translate-y-1\.5:focus{--transform-translate-y:0.375rem}.md\:focus\:translate-y-2\.5:focus{--transform-translate-y:0.625rem}.md\:focus\:translate-y-3\.5:focus{--transform-translate-y:0.875rem}.md\:focus\:translate-y-1\/2:focus{--transform-translate-y:50%}.md\:focus\:translate-y-1\/3:focus{--transform-translate-y:33.333333%}.md\:focus\:translate-y-2\/3:focus{--transform-translate-y:66.666667%}.md\:focus\:translate-y-1\/4:focus{--transform-translate-y:25%}.md\:focus\:translate-y-2\/4:focus{--transform-translate-y:50%}.md\:focus\:translate-y-3\/4:focus{--transform-translate-y:75%}.md\:focus\:translate-y-1\/5:focus{--transform-translate-y:20%}.md\:focus\:translate-y-2\/5:focus{--transform-translate-y:40%}.md\:focus\:translate-y-3\/5:focus{--transform-translate-y:60%}.md\:focus\:translate-y-4\/5:focus{--transform-translate-y:80%}.md\:focus\:translate-y-1\/6:focus{--transform-translate-y:16.666667%}.md\:focus\:translate-y-2\/6:focus{--transform-translate-y:33.333333%}.md\:focus\:translate-y-3\/6:focus{--transform-translate-y:50%}.md\:focus\:translate-y-4\/6:focus{--transform-translate-y:66.666667%}.md\:focus\:translate-y-5\/6:focus{--transform-translate-y:83.333333%}.md\:focus\:translate-y-1\/12:focus{--transform-translate-y:8.333333%}.md\:focus\:translate-y-2\/12:focus{--transform-translate-y:16.666667%}.md\:focus\:translate-y-3\/12:focus{--transform-translate-y:25%}.md\:focus\:translate-y-4\/12:focus{--transform-translate-y:33.333333%}.md\:focus\:translate-y-5\/12:focus{--transform-translate-y:41.666667%}.md\:focus\:translate-y-6\/12:focus{--transform-translate-y:50%}.md\:focus\:translate-y-7\/12:focus{--transform-translate-y:58.333333%}.md\:focus\:translate-y-8\/12:focus{--transform-translate-y:66.666667%}.md\:focus\:translate-y-9\/12:focus{--transform-translate-y:75%}.md\:focus\:translate-y-10\/12:focus{--transform-translate-y:83.333333%}.md\:focus\:translate-y-11\/12:focus{--transform-translate-y:91.666667%}.md\:focus\:translate-y-full:focus{--transform-translate-y:100%}.md\:focus\:-translate-y-1:focus{--transform-translate-y:-0.25rem}.md\:focus\:-translate-y-2:focus{--transform-translate-y:-0.5rem}.md\:focus\:-translate-y-3:focus{--transform-translate-y:-0.75rem}.md\:focus\:-translate-y-4:focus{--transform-translate-y:-1rem}.md\:focus\:-translate-y-5:focus{--transform-translate-y:-1.25rem}.md\:focus\:-translate-y-6:focus{--transform-translate-y:-1.5rem}.md\:focus\:-translate-y-7:focus{--transform-translate-y:-1.75rem}.md\:focus\:-translate-y-8:focus{--transform-translate-y:-2rem}.md\:focus\:-translate-y-9:focus{--transform-translate-y:-2.25rem}.md\:focus\:-translate-y-10:focus{--transform-translate-y:-2.5rem}.md\:focus\:-translate-y-11:focus{--transform-translate-y:-2.75rem}.md\:focus\:-translate-y-12:focus{--transform-translate-y:-3rem}.md\:focus\:-translate-y-13:focus{--transform-translate-y:-3.25rem}.md\:focus\:-translate-y-14:focus{--transform-translate-y:-3.5rem}.md\:focus\:-translate-y-15:focus{--transform-translate-y:-3.75rem}.md\:focus\:-translate-y-16:focus{--transform-translate-y:-4rem}.md\:focus\:-translate-y-20:focus{--transform-translate-y:-5rem}.md\:focus\:-translate-y-24:focus{--transform-translate-y:-6rem}.md\:focus\:-translate-y-28:focus{--transform-translate-y:-7rem}.md\:focus\:-translate-y-32:focus{--transform-translate-y:-8rem}.md\:focus\:-translate-y-36:focus{--transform-translate-y:-9rem}.md\:focus\:-translate-y-40:focus{--transform-translate-y:-10rem}.md\:focus\:-translate-y-44:focus{--transform-translate-y:-11rem}.md\:focus\:-translate-y-48:focus{--transform-translate-y:-12rem}.md\:focus\:-translate-y-52:focus{--transform-translate-y:-13rem}.md\:focus\:-translate-y-56:focus{--transform-translate-y:-14rem}.md\:focus\:-translate-y-60:focus{--transform-translate-y:-15rem}.md\:focus\:-translate-y-64:focus{--transform-translate-y:-16rem}.md\:focus\:-translate-y-72:focus{--transform-translate-y:-18rem}.md\:focus\:-translate-y-80:focus{--transform-translate-y:-20rem}.md\:focus\:-translate-y-96:focus{--transform-translate-y:-24rem}.md\:focus\:-translate-y-px:focus{--transform-translate-y:-1px}.md\:focus\:-translate-y-0\.5:focus{--transform-translate-y:-0.125rem}.md\:focus\:-translate-y-1\.5:focus{--transform-translate-y:-0.375rem}.md\:focus\:-translate-y-2\.5:focus{--transform-translate-y:-0.625rem}.md\:focus\:-translate-y-3\.5:focus{--transform-translate-y:-0.875rem}.md\:focus\:-translate-y-1\/2:focus{--transform-translate-y:-50%}.md\:focus\:-translate-y-1\/3:focus{--transform-translate-y:-33.33333%}.md\:focus\:-translate-y-2\/3:focus{--transform-translate-y:-66.66667%}.md\:focus\:-translate-y-1\/4:focus{--transform-translate-y:-25%}.md\:focus\:-translate-y-2\/4:focus{--transform-translate-y:-50%}.md\:focus\:-translate-y-3\/4:focus{--transform-translate-y:-75%}.md\:focus\:-translate-y-1\/5:focus{--transform-translate-y:-20%}.md\:focus\:-translate-y-2\/5:focus{--transform-translate-y:-40%}.md\:focus\:-translate-y-3\/5:focus{--transform-translate-y:-60%}.md\:focus\:-translate-y-4\/5:focus{--transform-translate-y:-80%}.md\:focus\:-translate-y-1\/6:focus{--transform-translate-y:-16.66667%}.md\:focus\:-translate-y-2\/6:focus{--transform-translate-y:-33.33333%}.md\:focus\:-translate-y-3\/6:focus{--transform-translate-y:-50%}.md\:focus\:-translate-y-4\/6:focus{--transform-translate-y:-66.66667%}.md\:focus\:-translate-y-5\/6:focus{--transform-translate-y:-83.33333%}.md\:focus\:-translate-y-1\/12:focus{--transform-translate-y:-8.33333%}.md\:focus\:-translate-y-2\/12:focus{--transform-translate-y:-16.66667%}.md\:focus\:-translate-y-3\/12:focus{--transform-translate-y:-25%}.md\:focus\:-translate-y-4\/12:focus{--transform-translate-y:-33.33333%}.md\:focus\:-translate-y-5\/12:focus{--transform-translate-y:-41.66667%}.md\:focus\:-translate-y-6\/12:focus{--transform-translate-y:-50%}.md\:focus\:-translate-y-7\/12:focus{--transform-translate-y:-58.33333%}.md\:focus\:-translate-y-8\/12:focus{--transform-translate-y:-66.66667%}.md\:focus\:-translate-y-9\/12:focus{--transform-translate-y:-75%}.md\:focus\:-translate-y-10\/12:focus{--transform-translate-y:-83.33333%}.md\:focus\:-translate-y-11\/12:focus{--transform-translate-y:-91.66667%}.md\:focus\:-translate-y-full:focus{--transform-translate-y:-100%}.md\:skew-x-0{--transform-skew-x:0}.md\:skew-x-3{--transform-skew-x:3deg}.md\:skew-x-6{--transform-skew-x:6deg}.md\:skew-x-12{--transform-skew-x:12deg}.md\:-skew-x-12{--transform-skew-x:-12deg}.md\:-skew-x-6{--transform-skew-x:-6deg}.md\:-skew-x-3{--transform-skew-x:-3deg}.md\:skew-y-0{--transform-skew-y:0}.md\:skew-y-3{--transform-skew-y:3deg}.md\:skew-y-6{--transform-skew-y:6deg}.md\:skew-y-12{--transform-skew-y:12deg}.md\:-skew-y-12{--transform-skew-y:-12deg}.md\:-skew-y-6{--transform-skew-y:-6deg}.md\:-skew-y-3{--transform-skew-y:-3deg}.md\:hover\:skew-x-0:hover{--transform-skew-x:0}.md\:hover\:skew-x-3:hover{--transform-skew-x:3deg}.md\:hover\:skew-x-6:hover{--transform-skew-x:6deg}.md\:hover\:skew-x-12:hover{--transform-skew-x:12deg}.md\:hover\:-skew-x-12:hover{--transform-skew-x:-12deg}.md\:hover\:-skew-x-6:hover{--transform-skew-x:-6deg}.md\:hover\:-skew-x-3:hover{--transform-skew-x:-3deg}.md\:hover\:skew-y-0:hover{--transform-skew-y:0}.md\:hover\:skew-y-3:hover{--transform-skew-y:3deg}.md\:hover\:skew-y-6:hover{--transform-skew-y:6deg}.md\:hover\:skew-y-12:hover{--transform-skew-y:12deg}.md\:hover\:-skew-y-12:hover{--transform-skew-y:-12deg}.md\:hover\:-skew-y-6:hover{--transform-skew-y:-6deg}.md\:hover\:-skew-y-3:hover{--transform-skew-y:-3deg}.md\:focus\:skew-x-0:focus{--transform-skew-x:0}.md\:focus\:skew-x-3:focus{--transform-skew-x:3deg}.md\:focus\:skew-x-6:focus{--transform-skew-x:6deg}.md\:focus\:skew-x-12:focus{--transform-skew-x:12deg}.md\:focus\:-skew-x-12:focus{--transform-skew-x:-12deg}.md\:focus\:-skew-x-6:focus{--transform-skew-x:-6deg}.md\:focus\:-skew-x-3:focus{--transform-skew-x:-3deg}.md\:focus\:skew-y-0:focus{--transform-skew-y:0}.md\:focus\:skew-y-3:focus{--transform-skew-y:3deg}.md\:focus\:skew-y-6:focus{--transform-skew-y:6deg}.md\:focus\:skew-y-12:focus{--transform-skew-y:12deg}.md\:focus\:-skew-y-12:focus{--transform-skew-y:-12deg}.md\:focus\:-skew-y-6:focus{--transform-skew-y:-6deg}.md\:focus\:-skew-y-3:focus{--transform-skew-y:-3deg}.md\:transition-none{transition-property:none}.md\:transition-all{transition-property:all}.md\:transition{transition-property:background-color,border-color,color,fill,stroke,opacity,box-shadow,transform}.md\:transition-colors{transition-property:background-color,border-color,color,fill,stroke}.md\:transition-opacity{transition-property:opacity}.md\:transition-shadow{transition-property:box-shadow}.md\:transition-transform{transition-property:transform}.md\:ease-linear{transition-timing-function:linear}.md\:ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.md\:ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.md\:ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.md\:duration-75{transition-duration:75ms}.md\:duration-100{transition-duration:.1s}.md\:duration-150{transition-duration:150ms}.md\:duration-200{transition-duration:.2s}.md\:duration-300{transition-duration:.3s}.md\:duration-500{transition-duration:.5s}.md\:duration-700{transition-duration:.7s}.md\:duration-1000{transition-duration:1s}.md\:delay-75{transition-delay:75ms}.md\:delay-100{transition-delay:.1s}.md\:delay-150{transition-delay:150ms}.md\:delay-200{transition-delay:.2s}.md\:delay-300{transition-delay:.3s}.md\:delay-500{transition-delay:.5s}.md\:delay-700{transition-delay:.7s}.md\:delay-1000{transition-delay:1s}}@media (min-width:1024px){.lg\:container{width:100%}@media (min-width:640px){.lg\:container{max-width:640px}}@media (min-width:768px){.lg\:container{max-width:768px}}@media (min-width:1024px){.lg\:container{max-width:1024px}}@media (min-width:1280px){.lg\:container{max-width:1280px}}.lg\:prose{color:#374151;max-width:65ch}.lg\:prose [class~=lead]{color:#4b5563;font-size:1.25em;line-height:1.6;margin-top:1.2em;margin-bottom:1.2em}.lg\:prose a{color:#5850ec;text-decoration:none;font-weight:600}.lg\:prose strong{color:#161e2e;font-weight:600}.lg\:prose ol{counter-reset:list-counter;margin-top:1.25em;margin-bottom:1.25em}.lg\:prose ol>li{position:relative;counter-increment:list-counter;padding-left:1.75em}.lg\:prose ol>li::before{content:counter(list-counter) ".";position:absolute;font-weight:400;color:#6b7280}.lg\:prose ul>li{position:relative;padding-left:1.75em}.lg\:prose ul>li::before{content:"";position:absolute;background-color:#d2d6dc;border-radius:50%;width:.375em;height:.375em;top:calc(.875em - .1875em);left:.25em}.lg\:prose hr{border-color:#e5e7eb;border-top-width:1px;margin-top:3em;margin-bottom:3em}.lg\:prose blockquote{font-weight:500;font-style:italic;color:#161e2e;border-left-width:.25rem;border-left-color:#e5e7eb;quotes:"\201C""\201D""\2018""\2019";margin-top:1.6em;margin-bottom:1.6em;padding-left:1em}.lg\:prose blockquote p:first-of-type::before{content:open-quote}.lg\:prose blockquote p:last-of-type::after{content:close-quote}.lg\:prose h1{color:#1a202c;font-weight:800;font-size:2.25em;margin-top:0;margin-bottom:.8888889em;line-height:1.1111111}.lg\:prose h2{color:#1a202c;font-weight:700;font-size:1.5em;margin-top:2em;margin-bottom:1em;line-height:1.3333333}.lg\:prose h3{color:#1a202c;font-weight:600;font-size:1.25em;margin-top:1.6em;margin-bottom:.6em;line-height:1.6}.lg\:prose h4{color:#1a202c;font-weight:600;margin-top:1.5em;margin-bottom:.5em;line-height:1.5}.lg\:prose figure figcaption{color:#6b7280;font-size:.875em;line-height:1.4285714;margin-top:.8571429em}.lg\:prose code{color:#161e2e;font-weight:600;font-size:.875em}.lg\:prose code::before{content:"`"}.lg\:prose code::after{content:"`"}.lg\:prose pre{color:#e5e7eb;background-color:#252f3f;overflow-x:auto;font-size:.875em;line-height:1.7142857;margin-top:1.7142857em;margin-bottom:1.7142857em;border-radius:.375rem;padding-top:.8571429em;padding-right:1.1428571em;padding-bottom:.8571429em;padding-left:1.1428571em}.lg\:prose pre code{background-color:transparent;border-width:0;border-radius:0;padding:0;font-weight:400;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}.lg\:prose pre code::before{content:""}.lg\:prose pre code::after{content:""}.lg\:prose table{width:100%;table-layout:auto;text-align:left;margin-top:2em;margin-bottom:2em;font-size:.875em;line-height:1.7142857}.lg\:prose thead{color:#161e2e;font-weight:600;border-bottom-width:1px;border-bottom-color:#d2d6dc}.lg\:prose thead th{vertical-align:bottom;padding-right:.5714286em;padding-bottom:.5714286em;padding-left:.5714286em}.lg\:prose tbody tr{border-bottom-width:1px;border-bottom-color:#e5e7eb}.lg\:prose tbody tr:last-child{border-bottom-width:0}.lg\:prose tbody td{vertical-align:top;padding-top:.5714286em;padding-right:.5714286em;padding-bottom:.5714286em;padding-left:.5714286em}.lg\:prose{font-size:1rem;line-height:1.75}.lg\:prose p{margin-top:1.25em;margin-bottom:1.25em}.lg\:prose img{margin-top:2em;margin-bottom:2em}.lg\:prose video{margin-top:2em;margin-bottom:2em}.lg\:prose figure{margin-top:2em;margin-bottom:2em}.lg\:prose figure>*{margin-top:0;margin-bottom:0}.lg\:prose h2 code{font-size:.875em}.lg\:prose h3 code{font-size:.9em}.lg\:prose ul{margin-top:1.25em;margin-bottom:1.25em}.lg\:prose li{margin-top:.5em;margin-bottom:.5em}.lg\:prose ol>li:before{left:0}.lg\:prose>ul>li p{margin-top:.75em;margin-bottom:.75em}.lg\:prose>ul>li>:first-child{margin-top:1.25em}.lg\:prose>ul>li>:last-child{margin-bottom:1.25em}.lg\:prose>ol>li>:first-child{margin-top:1.25em}.lg\:prose>ol>li>:last-child{margin-bottom:1.25em}.lg\:prose ol ol,.lg\:prose ol ul,.lg\:prose ul ol,.lg\:prose ul ul{margin-top:.75em;margin-bottom:.75em}.lg\:prose hr+*{margin-top:0}.lg\:prose h2+*{margin-top:0}.lg\:prose h3+*{margin-top:0}.lg\:prose h4+*{margin-top:0}.lg\:prose thead th:first-child{padding-left:0}.lg\:prose thead th:last-child{padding-right:0}.lg\:prose tbody td:first-child{padding-left:0}.lg\:prose tbody td:last-child{padding-right:0}.lg\:prose>:first-child{margin-top:0}.lg\:prose>:last-child{margin-bottom:0}.lg\:prose h1,.lg\:prose h2,.lg\:prose h3,.lg\:prose h4{color:#161e2e}.lg\:prose-sm{font-size:.875rem;line-height:1.7142857}.lg\:prose-sm p{margin-top:1.1428571em;margin-bottom:1.1428571em}.lg\:prose-sm [class~=lead]{font-size:1.2857143em;line-height:1.5555556;margin-top:.8888889em;margin-bottom:.8888889em}.lg\:prose-sm blockquote{margin-top:1.3333333em;margin-bottom:1.3333333em;padding-left:1.1111111em}.lg\:prose-sm h1{font-size:2.1428571em;margin-top:0;margin-bottom:.8em;line-height:1.2}.lg\:prose-sm h2{font-size:1.4285714em;margin-top:1.6em;margin-bottom:.8em;line-height:1.4}.lg\:prose-sm h3{font-size:1.2857143em;margin-top:1.5555556em;margin-bottom:.4444444em;line-height:1.5555556}.lg\:prose-sm h4{margin-top:1.4285714em;margin-bottom:.5714286em;line-height:1.4285714}.lg\:prose-sm img{margin-top:1.7142857em;margin-bottom:1.7142857em}.lg\:prose-sm video{margin-top:1.7142857em;margin-bottom:1.7142857em}.lg\:prose-sm figure{margin-top:1.7142857em;margin-bottom:1.7142857em}.lg\:prose-sm figure>*{margin-top:0;margin-bottom:0}.lg\:prose-sm figure figcaption{font-size:.8571429em;line-height:1.3333333;margin-top:.6666667em}.lg\:prose-sm code{font-size:.8571429em}.lg\:prose-sm h2 code{font-size:.9em}.lg\:prose-sm h3 code{font-size:.8888889em}.lg\:prose-sm pre{font-size:.8571429em;line-height:1.6666667;margin-top:1.6666667em;margin-bottom:1.6666667em;border-radius:.25rem;padding-top:.6666667em;padding-right:1em;padding-bottom:.6666667em;padding-left:1em}.lg\:prose-sm ol{margin-top:1.1428571em;margin-bottom:1.1428571em}.lg\:prose-sm ul{margin-top:1.1428571em;margin-bottom:1.1428571em}.lg\:prose-sm li{margin-top:.2857143em;margin-bottom:.2857143em}.lg\:prose-sm ol>li{padding-left:1.5714286em}.lg\:prose-sm ol>li:before{left:0}.lg\:prose-sm ul>li{padding-left:1.5714286em}.lg\:prose-sm ul>li::before{height:.3571429em;width:.3571429em;top:calc(.8571429em - .1785714em);left:.2142857em}.lg\:prose-sm>ul>li p{margin-top:.5714286em;margin-bottom:.5714286em}.lg\:prose-sm>ul>li>:first-child{margin-top:1.1428571em}.lg\:prose-sm>ul>li>:last-child{margin-bottom:1.1428571em}.lg\:prose-sm>ol>li>:first-child{margin-top:1.1428571em}.lg\:prose-sm>ol>li>:last-child{margin-bottom:1.1428571em}.lg\:prose-sm ol ol,.lg\:prose-sm ol ul,.lg\:prose-sm ul ol,.lg\:prose-sm ul ul{margin-top:.5714286em;margin-bottom:.5714286em}.lg\:prose-sm hr{margin-top:2.8571429em;margin-bottom:2.8571429em}.lg\:prose-sm hr+*{margin-top:0}.lg\:prose-sm h2+*{margin-top:0}.lg\:prose-sm h3+*{margin-top:0}.lg\:prose-sm h4+*{margin-top:0}.lg\:prose-sm table{font-size:.8571429em;line-height:1.5}.lg\:prose-sm thead th{padding-right:1em;padding-bottom:.6666667em;padding-left:1em}.lg\:prose-sm thead th:first-child{padding-left:0}.lg\:prose-sm thead th:last-child{padding-right:0}.lg\:prose-sm tbody td{padding-top:.6666667em;padding-right:1em;padding-bottom:.6666667em;padding-left:1em}.lg\:prose-sm tbody td:first-child{padding-left:0}.lg\:prose-sm tbody td:last-child{padding-right:0}.lg\:prose-sm>:first-child{margin-top:0}.lg\:prose-sm>:last-child{margin-bottom:0}.lg\:prose-lg{font-size:1.125rem;line-height:1.7777778}.lg\:prose-lg p{margin-top:1.3333333em;margin-bottom:1.3333333em}.lg\:prose-lg [class~=lead]{font-size:1.2222222em;line-height:1.4545455;margin-top:1.0909091em;margin-bottom:1.0909091em}.lg\:prose-lg blockquote{margin-top:1.6666667em;margin-bottom:1.6666667em;padding-left:1em}.lg\:prose-lg h1{font-size:2.6666667em;margin-top:0;margin-bottom:.8333333em;line-height:1}.lg\:prose-lg h2{font-size:1.6666667em;margin-top:1.8666667em;margin-bottom:1.0666667em;line-height:1.3333333}.lg\:prose-lg h3{font-size:1.3333333em;margin-top:1.6666667em;margin-bottom:.6666667em;line-height:1.5}.lg\:prose-lg h4{margin-top:1.7777778em;margin-bottom:.4444444em;line-height:1.5555556}.lg\:prose-lg img{margin-top:1.7777778em;margin-bottom:1.7777778em}.lg\:prose-lg video{margin-top:1.7777778em;margin-bottom:1.7777778em}.lg\:prose-lg figure{margin-top:1.7777778em;margin-bottom:1.7777778em}.lg\:prose-lg figure>*{margin-top:0;margin-bottom:0}.lg\:prose-lg figure figcaption{font-size:.8888889em;line-height:1.5;margin-top:1em}.lg\:prose-lg code{font-size:.8888889em}.lg\:prose-lg h2 code{font-size:.8666667em}.lg\:prose-lg h3 code{font-size:.875em}.lg\:prose-lg pre{font-size:.8888889em;line-height:1.75;margin-top:2em;margin-bottom:2em;border-radius:.375rem;padding-top:1em;padding-right:1.5em;padding-bottom:1em;padding-left:1.5em}.lg\:prose-lg ol{margin-top:1.3333333em;margin-bottom:1.3333333em}.lg\:prose-lg ul{margin-top:1.3333333em;margin-bottom:1.3333333em}.lg\:prose-lg li{margin-top:.6666667em;margin-bottom:.6666667em}.lg\:prose-lg ol>li{padding-left:1.6666667em}.lg\:prose-lg ol>li:before{left:0}.lg\:prose-lg ul>li{padding-left:1.6666667em}.lg\:prose-lg ul>li::before{width:.3333333em;height:.3333333em;top:calc(.8888889em - .1666667em);left:.2222222em}.lg\:prose-lg>ul>li p{margin-top:.8888889em;margin-bottom:.8888889em}.lg\:prose-lg>ul>li>:first-child{margin-top:1.3333333em}.lg\:prose-lg>ul>li>:last-child{margin-bottom:1.3333333em}.lg\:prose-lg>ol>li>:first-child{margin-top:1.3333333em}.lg\:prose-lg>ol>li>:last-child{margin-bottom:1.3333333em}.lg\:prose-lg ol ol,.lg\:prose-lg ol ul,.lg\:prose-lg ul ol,.lg\:prose-lg ul ul{margin-top:.8888889em;margin-bottom:.8888889em}.lg\:prose-lg hr{margin-top:3.1111111em;margin-bottom:3.1111111em}.lg\:prose-lg hr+*{margin-top:0}.lg\:prose-lg h2+*{margin-top:0}.lg\:prose-lg h3+*{margin-top:0}.lg\:prose-lg h4+*{margin-top:0}.lg\:prose-lg table{font-size:.8888889em;line-height:1.5}.lg\:prose-lg thead th{padding-right:.75em;padding-bottom:.75em;padding-left:.75em}.lg\:prose-lg thead th:first-child{padding-left:0}.lg\:prose-lg thead th:last-child{padding-right:0}.lg\:prose-lg tbody td{padding-top:.75em;padding-right:.75em;padding-bottom:.75em;padding-left:.75em}.lg\:prose-lg tbody td:first-child{padding-left:0}.lg\:prose-lg tbody td:last-child{padding-right:0}.lg\:prose-lg>:first-child{margin-top:0}.lg\:prose-lg>:last-child{margin-bottom:0}.lg\:prose-xl{font-size:1.25rem;line-height:1.8}.lg\:prose-xl p{margin-top:1.2em;margin-bottom:1.2em}.lg\:prose-xl [class~=lead]{font-size:1.2em;line-height:1.5;margin-top:1em;margin-bottom:1em}.lg\:prose-xl blockquote{margin-top:1.6em;margin-bottom:1.6em;padding-left:1.0666667em}.lg\:prose-xl h1{font-size:2.8em;margin-top:0;margin-bottom:.8571429em;line-height:1}.lg\:prose-xl h2{font-size:1.8em;margin-top:1.5555556em;margin-bottom:.8888889em;line-height:1.1111111}.lg\:prose-xl h3{font-size:1.5em;margin-top:1.6em;margin-bottom:.6666667em;line-height:1.3333333}.lg\:prose-xl h4{margin-top:1.8em;margin-bottom:.6em;line-height:1.6}.lg\:prose-xl img{margin-top:2em;margin-bottom:2em}.lg\:prose-xl video{margin-top:2em;margin-bottom:2em}.lg\:prose-xl figure{margin-top:2em;margin-bottom:2em}.lg\:prose-xl figure>*{margin-top:0;margin-bottom:0}.lg\:prose-xl figure figcaption{font-size:.9em;line-height:1.5555556;margin-top:1em}.lg\:prose-xl code{font-size:.9em}.lg\:prose-xl h2 code{font-size:.8611111em}.lg\:prose-xl h3 code{font-size:.9em}.lg\:prose-xl pre{font-size:.9em;line-height:1.7777778;margin-top:2em;margin-bottom:2em;border-radius:.5rem;padding-top:1.1111111em;padding-right:1.3333333em;padding-bottom:1.1111111em;padding-left:1.3333333em}.lg\:prose-xl ol{margin-top:1.2em;margin-bottom:1.2em}.lg\:prose-xl ul{margin-top:1.2em;margin-bottom:1.2em}.lg\:prose-xl li{margin-top:.6em;margin-bottom:.6em}.lg\:prose-xl ol>li{padding-left:1.8em}.lg\:prose-xl ol>li:before{left:0}.lg\:prose-xl ul>li{padding-left:1.8em}.lg\:prose-xl ul>li::before{width:.35em;height:.35em;top:calc(.9em - .175em);left:.25em}.lg\:prose-xl>ul>li p{margin-top:.8em;margin-bottom:.8em}.lg\:prose-xl>ul>li>:first-child{margin-top:1.2em}.lg\:prose-xl>ul>li>:last-child{margin-bottom:1.2em}.lg\:prose-xl>ol>li>:first-child{margin-top:1.2em}.lg\:prose-xl>ol>li>:last-child{margin-bottom:1.2em}.lg\:prose-xl ol ol,.lg\:prose-xl ol ul,.lg\:prose-xl ul ol,.lg\:prose-xl ul ul{margin-top:.8em;margin-bottom:.8em}.lg\:prose-xl hr{margin-top:2.8em;margin-bottom:2.8em}.lg\:prose-xl hr+*{margin-top:0}.lg\:prose-xl h2+*{margin-top:0}.lg\:prose-xl h3+*{margin-top:0}.lg\:prose-xl h4+*{margin-top:0}.lg\:prose-xl table{font-size:.9em;line-height:1.5555556}.lg\:prose-xl thead th{padding-right:.6666667em;padding-bottom:.8888889em;padding-left:.6666667em}.lg\:prose-xl thead th:first-child{padding-left:0}.lg\:prose-xl thead th:last-child{padding-right:0}.lg\:prose-xl tbody td{padding-top:.8888889em;padding-right:.6666667em;padding-bottom:.8888889em;padding-left:.6666667em}.lg\:prose-xl tbody td:first-child{padding-left:0}.lg\:prose-xl tbody td:last-child{padding-right:0}.lg\:prose-xl>:first-child{margin-top:0}.lg\:prose-xl>:last-child{margin-bottom:0}.lg\:prose-2xl{font-size:1.5rem;line-height:1.6666667}.lg\:prose-2xl p{margin-top:1.3333333em;margin-bottom:1.3333333em}.lg\:prose-2xl [class~=lead]{font-size:1.25em;line-height:1.4666667;margin-top:1.0666667em;margin-bottom:1.0666667em}.lg\:prose-2xl blockquote{margin-top:1.7777778em;margin-bottom:1.7777778em;padding-left:1.1111111em}.lg\:prose-2xl h1{font-size:2.6666667em;margin-top:0;margin-bottom:.875em;line-height:1}.lg\:prose-2xl h2{font-size:2em;margin-top:1.5em;margin-bottom:.8333333em;line-height:1.0833333}.lg\:prose-2xl h3{font-size:1.5em;margin-top:1.5555556em;margin-bottom:.6666667em;line-height:1.2222222}.lg\:prose-2xl h4{margin-top:1.6666667em;margin-bottom:.6666667em;line-height:1.5}.lg\:prose-2xl img{margin-top:2em;margin-bottom:2em}.lg\:prose-2xl video{margin-top:2em;margin-bottom:2em}.lg\:prose-2xl figure{margin-top:2em;margin-bottom:2em}.lg\:prose-2xl figure>*{margin-top:0;margin-bottom:0}.lg\:prose-2xl figure figcaption{font-size:.8333333em;line-height:1.6;margin-top:1em}.lg\:prose-2xl code{font-size:.8333333em}.lg\:prose-2xl h2 code{font-size:.875em}.lg\:prose-2xl h3 code{font-size:.8888889em}.lg\:prose-2xl pre{font-size:.8333333em;line-height:1.8;margin-top:2em;margin-bottom:2em;border-radius:.5rem;padding-top:1.2em;padding-right:1.6em;padding-bottom:1.2em;padding-left:1.6em}.lg\:prose-2xl ol{margin-top:1.3333333em;margin-bottom:1.3333333em}.lg\:prose-2xl ul{margin-top:1.3333333em;margin-bottom:1.3333333em}.lg\:prose-2xl li{margin-top:.5em;margin-bottom:.5em}.lg\:prose-2xl ol>li{padding-left:1.6666667em}.lg\:prose-2xl ol>li:before{left:0}.lg\:prose-2xl ul>li{padding-left:1.6666667em}.lg\:prose-2xl ul>li::before{width:.3333333em;height:.3333333em;top:calc(.8333333em - .1666667em);left:.25em}.lg\:prose-2xl>ul>li p{margin-top:.8333333em;margin-bottom:.8333333em}.lg\:prose-2xl>ul>li>:first-child{margin-top:1.3333333em}.lg\:prose-2xl>ul>li>:last-child{margin-bottom:1.3333333em}.lg\:prose-2xl>ol>li>:first-child{margin-top:1.3333333em}.lg\:prose-2xl>ol>li>:last-child{margin-bottom:1.3333333em}.lg\:prose-2xl ol ol,.lg\:prose-2xl ol ul,.lg\:prose-2xl ul ol,.lg\:prose-2xl ul ul{margin-top:.6666667em;margin-bottom:.6666667em}.lg\:prose-2xl hr{margin-top:3em;margin-bottom:3em}.lg\:prose-2xl hr+*{margin-top:0}.lg\:prose-2xl h2+*{margin-top:0}.lg\:prose-2xl h3+*{margin-top:0}.lg\:prose-2xl h4+*{margin-top:0}.lg\:prose-2xl table{font-size:.8333333em;line-height:1.4}.lg\:prose-2xl thead th{padding-right:.6em;padding-bottom:.8em;padding-left:.6em}.lg\:prose-2xl thead th:first-child{padding-left:0}.lg\:prose-2xl thead th:last-child{padding-right:0}.lg\:prose-2xl tbody td{padding-top:.8em;padding-right:.6em;padding-bottom:.8em;padding-left:.6em}.lg\:prose-2xl tbody td:first-child{padding-left:0}.lg\:prose-2xl tbody td:last-child{padding-right:0}.lg\:prose-2xl>:first-child{margin-top:0}.lg\:prose-2xl>:last-child{margin-bottom:0}.lg\:space-y-0>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(0px * calc(1 - var(--space-y-reverse)));margin-bottom:calc(0px * var(--space-y-reverse))}.lg\:space-x-0>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(0px * var(--space-x-reverse));margin-left:calc(0px * calc(1 - var(--space-x-reverse)))}.lg\:space-y-1>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(.25rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(.25rem * var(--space-y-reverse))}.lg\:space-x-1>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(.25rem * var(--space-x-reverse));margin-left:calc(.25rem * calc(1 - var(--space-x-reverse)))}.lg\:space-y-2>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(.5rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(.5rem * var(--space-y-reverse))}.lg\:space-x-2>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(.5rem * var(--space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--space-x-reverse)))}.lg\:space-y-3>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(.75rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(.75rem * var(--space-y-reverse))}.lg\:space-x-3>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(.75rem * var(--space-x-reverse));margin-left:calc(.75rem * calc(1 - var(--space-x-reverse)))}.lg\:space-y-4>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(1rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(1rem * var(--space-y-reverse))}.lg\:space-x-4>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(1rem * var(--space-x-reverse));margin-left:calc(1rem * calc(1 - var(--space-x-reverse)))}.lg\:space-y-5>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(1.25rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(1.25rem * var(--space-y-reverse))}.lg\:space-x-5>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(1.25rem * var(--space-x-reverse));margin-left:calc(1.25rem * calc(1 - var(--space-x-reverse)))}.lg\:space-y-6>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(1.5rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(1.5rem * var(--space-y-reverse))}.lg\:space-x-6>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(1.5rem * var(--space-x-reverse));margin-left:calc(1.5rem * calc(1 - var(--space-x-reverse)))}.lg\:space-y-7>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(1.75rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(1.75rem * var(--space-y-reverse))}.lg\:space-x-7>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(1.75rem * var(--space-x-reverse));margin-left:calc(1.75rem * calc(1 - var(--space-x-reverse)))}.lg\:space-y-8>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(2rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(2rem * var(--space-y-reverse))}.lg\:space-x-8>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(2rem * var(--space-x-reverse));margin-left:calc(2rem * calc(1 - var(--space-x-reverse)))}.lg\:space-y-9>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(2.25rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(2.25rem * var(--space-y-reverse))}.lg\:space-x-9>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(2.25rem * var(--space-x-reverse));margin-left:calc(2.25rem * calc(1 - var(--space-x-reverse)))}.lg\:space-y-10>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(2.5rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(2.5rem * var(--space-y-reverse))}.lg\:space-x-10>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(2.5rem * var(--space-x-reverse));margin-left:calc(2.5rem * calc(1 - var(--space-x-reverse)))}.lg\:space-y-11>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(2.75rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(2.75rem * var(--space-y-reverse))}.lg\:space-x-11>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(2.75rem * var(--space-x-reverse));margin-left:calc(2.75rem * calc(1 - var(--space-x-reverse)))}.lg\:space-y-12>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(3rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(3rem * var(--space-y-reverse))}.lg\:space-x-12>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(3rem * var(--space-x-reverse));margin-left:calc(3rem * calc(1 - var(--space-x-reverse)))}.lg\:space-y-13>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(3.25rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(3.25rem * var(--space-y-reverse))}.lg\:space-x-13>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(3.25rem * var(--space-x-reverse));margin-left:calc(3.25rem * calc(1 - var(--space-x-reverse)))}.lg\:space-y-14>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(3.5rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(3.5rem * var(--space-y-reverse))}.lg\:space-x-14>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(3.5rem * var(--space-x-reverse));margin-left:calc(3.5rem * calc(1 - var(--space-x-reverse)))}.lg\:space-y-15>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(3.75rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(3.75rem * var(--space-y-reverse))}.lg\:space-x-15>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(3.75rem * var(--space-x-reverse));margin-left:calc(3.75rem * calc(1 - var(--space-x-reverse)))}.lg\:space-y-16>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(4rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(4rem * var(--space-y-reverse))}.lg\:space-x-16>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(4rem * var(--space-x-reverse));margin-left:calc(4rem * calc(1 - var(--space-x-reverse)))}.lg\:space-y-20>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(5rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(5rem * var(--space-y-reverse))}.lg\:space-x-20>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(5rem * var(--space-x-reverse));margin-left:calc(5rem * calc(1 - var(--space-x-reverse)))}.lg\:space-y-24>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(6rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(6rem * var(--space-y-reverse))}.lg\:space-x-24>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(6rem * var(--space-x-reverse));margin-left:calc(6rem * calc(1 - var(--space-x-reverse)))}.lg\:space-y-28>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(7rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(7rem * var(--space-y-reverse))}.lg\:space-x-28>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(7rem * var(--space-x-reverse));margin-left:calc(7rem * calc(1 - var(--space-x-reverse)))}.lg\:space-y-32>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(8rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(8rem * var(--space-y-reverse))}.lg\:space-x-32>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(8rem * var(--space-x-reverse));margin-left:calc(8rem * calc(1 - var(--space-x-reverse)))}.lg\:space-y-36>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(9rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(9rem * var(--space-y-reverse))}.lg\:space-x-36>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(9rem * var(--space-x-reverse));margin-left:calc(9rem * calc(1 - var(--space-x-reverse)))}.lg\:space-y-40>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(10rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(10rem * var(--space-y-reverse))}.lg\:space-x-40>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(10rem * var(--space-x-reverse));margin-left:calc(10rem * calc(1 - var(--space-x-reverse)))}.lg\:space-y-44>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(11rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(11rem * var(--space-y-reverse))}.lg\:space-x-44>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(11rem * var(--space-x-reverse));margin-left:calc(11rem * calc(1 - var(--space-x-reverse)))}.lg\:space-y-48>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(12rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(12rem * var(--space-y-reverse))}.lg\:space-x-48>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(12rem * var(--space-x-reverse));margin-left:calc(12rem * calc(1 - var(--space-x-reverse)))}.lg\:space-y-52>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(13rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(13rem * var(--space-y-reverse))}.lg\:space-x-52>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(13rem * var(--space-x-reverse));margin-left:calc(13rem * calc(1 - var(--space-x-reverse)))}.lg\:space-y-56>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(14rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(14rem * var(--space-y-reverse))}.lg\:space-x-56>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(14rem * var(--space-x-reverse));margin-left:calc(14rem * calc(1 - var(--space-x-reverse)))}.lg\:space-y-60>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(15rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(15rem * var(--space-y-reverse))}.lg\:space-x-60>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(15rem * var(--space-x-reverse));margin-left:calc(15rem * calc(1 - var(--space-x-reverse)))}.lg\:space-y-64>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(16rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(16rem * var(--space-y-reverse))}.lg\:space-x-64>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(16rem * var(--space-x-reverse));margin-left:calc(16rem * calc(1 - var(--space-x-reverse)))}.lg\:space-y-72>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(18rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(18rem * var(--space-y-reverse))}.lg\:space-x-72>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(18rem * var(--space-x-reverse));margin-left:calc(18rem * calc(1 - var(--space-x-reverse)))}.lg\:space-y-80>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(20rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(20rem * var(--space-y-reverse))}.lg\:space-x-80>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(20rem * var(--space-x-reverse));margin-left:calc(20rem * calc(1 - var(--space-x-reverse)))}.lg\:space-y-96>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(24rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(24rem * var(--space-y-reverse))}.lg\:space-x-96>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(24rem * var(--space-x-reverse));margin-left:calc(24rem * calc(1 - var(--space-x-reverse)))}.lg\:space-y-px>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(1px * calc(1 - var(--space-y-reverse)));margin-bottom:calc(1px * var(--space-y-reverse))}.lg\:space-x-px>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(1px * var(--space-x-reverse));margin-left:calc(1px * calc(1 - var(--space-x-reverse)))}.lg\:space-y-0\.5>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(.125rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(.125rem * var(--space-y-reverse))}.lg\:space-x-0\.5>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(.125rem * var(--space-x-reverse));margin-left:calc(.125rem * calc(1 - var(--space-x-reverse)))}.lg\:space-y-1\.5>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(.375rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(.375rem * var(--space-y-reverse))}.lg\:space-x-1\.5>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(.375rem * var(--space-x-reverse));margin-left:calc(.375rem * calc(1 - var(--space-x-reverse)))}.lg\:space-y-2\.5>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(.625rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(.625rem * var(--space-y-reverse))}.lg\:space-x-2\.5>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(.625rem * var(--space-x-reverse));margin-left:calc(.625rem * calc(1 - var(--space-x-reverse)))}.lg\:space-y-3\.5>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(.875rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(.875rem * var(--space-y-reverse))}.lg\:space-x-3\.5>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(.875rem * var(--space-x-reverse));margin-left:calc(.875rem * calc(1 - var(--space-x-reverse)))}.lg\:space-y-1\/2>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(50% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(50% * var(--space-y-reverse))}.lg\:space-x-1\/2>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(50% * var(--space-x-reverse));margin-left:calc(50% * calc(1 - var(--space-x-reverse)))}.lg\:space-y-1\/3>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(33.333333% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(33.333333% * var(--space-y-reverse))}.lg\:space-x-1\/3>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(33.333333% * var(--space-x-reverse));margin-left:calc(33.333333% * calc(1 - var(--space-x-reverse)))}.lg\:space-y-2\/3>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(66.666667% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(66.666667% * var(--space-y-reverse))}.lg\:space-x-2\/3>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(66.666667% * var(--space-x-reverse));margin-left:calc(66.666667% * calc(1 - var(--space-x-reverse)))}.lg\:space-y-1\/4>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(25% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(25% * var(--space-y-reverse))}.lg\:space-x-1\/4>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(25% * var(--space-x-reverse));margin-left:calc(25% * calc(1 - var(--space-x-reverse)))}.lg\:space-y-2\/4>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(50% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(50% * var(--space-y-reverse))}.lg\:space-x-2\/4>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(50% * var(--space-x-reverse));margin-left:calc(50% * calc(1 - var(--space-x-reverse)))}.lg\:space-y-3\/4>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(75% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(75% * var(--space-y-reverse))}.lg\:space-x-3\/4>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(75% * var(--space-x-reverse));margin-left:calc(75% * calc(1 - var(--space-x-reverse)))}.lg\:space-y-1\/5>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(20% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(20% * var(--space-y-reverse))}.lg\:space-x-1\/5>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(20% * var(--space-x-reverse));margin-left:calc(20% * calc(1 - var(--space-x-reverse)))}.lg\:space-y-2\/5>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(40% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(40% * var(--space-y-reverse))}.lg\:space-x-2\/5>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(40% * var(--space-x-reverse));margin-left:calc(40% * calc(1 - var(--space-x-reverse)))}.lg\:space-y-3\/5>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(60% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(60% * var(--space-y-reverse))}.lg\:space-x-3\/5>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(60% * var(--space-x-reverse));margin-left:calc(60% * calc(1 - var(--space-x-reverse)))}.lg\:space-y-4\/5>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(80% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(80% * var(--space-y-reverse))}.lg\:space-x-4\/5>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(80% * var(--space-x-reverse));margin-left:calc(80% * calc(1 - var(--space-x-reverse)))}.lg\:space-y-1\/6>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(16.666667% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(16.666667% * var(--space-y-reverse))}.lg\:space-x-1\/6>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(16.666667% * var(--space-x-reverse));margin-left:calc(16.666667% * calc(1 - var(--space-x-reverse)))}.lg\:space-y-2\/6>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(33.333333% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(33.333333% * var(--space-y-reverse))}.lg\:space-x-2\/6>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(33.333333% * var(--space-x-reverse));margin-left:calc(33.333333% * calc(1 - var(--space-x-reverse)))}.lg\:space-y-3\/6>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(50% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(50% * var(--space-y-reverse))}.lg\:space-x-3\/6>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(50% * var(--space-x-reverse));margin-left:calc(50% * calc(1 - var(--space-x-reverse)))}.lg\:space-y-4\/6>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(66.666667% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(66.666667% * var(--space-y-reverse))}.lg\:space-x-4\/6>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(66.666667% * var(--space-x-reverse));margin-left:calc(66.666667% * calc(1 - var(--space-x-reverse)))}.lg\:space-y-5\/6>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(83.333333% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(83.333333% * var(--space-y-reverse))}.lg\:space-x-5\/6>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(83.333333% * var(--space-x-reverse));margin-left:calc(83.333333% * calc(1 - var(--space-x-reverse)))}.lg\:space-y-1\/12>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(8.333333% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(8.333333% * var(--space-y-reverse))}.lg\:space-x-1\/12>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(8.333333% * var(--space-x-reverse));margin-left:calc(8.333333% * calc(1 - var(--space-x-reverse)))}.lg\:space-y-2\/12>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(16.666667% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(16.666667% * var(--space-y-reverse))}.lg\:space-x-2\/12>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(16.666667% * var(--space-x-reverse));margin-left:calc(16.666667% * calc(1 - var(--space-x-reverse)))}.lg\:space-y-3\/12>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(25% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(25% * var(--space-y-reverse))}.lg\:space-x-3\/12>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(25% * var(--space-x-reverse));margin-left:calc(25% * calc(1 - var(--space-x-reverse)))}.lg\:space-y-4\/12>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(33.333333% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(33.333333% * var(--space-y-reverse))}.lg\:space-x-4\/12>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(33.333333% * var(--space-x-reverse));margin-left:calc(33.333333% * calc(1 - var(--space-x-reverse)))}.lg\:space-y-5\/12>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(41.666667% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(41.666667% * var(--space-y-reverse))}.lg\:space-x-5\/12>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(41.666667% * var(--space-x-reverse));margin-left:calc(41.666667% * calc(1 - var(--space-x-reverse)))}.lg\:space-y-6\/12>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(50% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(50% * var(--space-y-reverse))}.lg\:space-x-6\/12>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(50% * var(--space-x-reverse));margin-left:calc(50% * calc(1 - var(--space-x-reverse)))}.lg\:space-y-7\/12>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(58.333333% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(58.333333% * var(--space-y-reverse))}.lg\:space-x-7\/12>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(58.333333% * var(--space-x-reverse));margin-left:calc(58.333333% * calc(1 - var(--space-x-reverse)))}.lg\:space-y-8\/12>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(66.666667% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(66.666667% * var(--space-y-reverse))}.lg\:space-x-8\/12>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(66.666667% * var(--space-x-reverse));margin-left:calc(66.666667% * calc(1 - var(--space-x-reverse)))}.lg\:space-y-9\/12>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(75% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(75% * var(--space-y-reverse))}.lg\:space-x-9\/12>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(75% * var(--space-x-reverse));margin-left:calc(75% * calc(1 - var(--space-x-reverse)))}.lg\:space-y-10\/12>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(83.333333% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(83.333333% * var(--space-y-reverse))}.lg\:space-x-10\/12>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(83.333333% * var(--space-x-reverse));margin-left:calc(83.333333% * calc(1 - var(--space-x-reverse)))}.lg\:space-y-11\/12>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(91.666667% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(91.666667% * var(--space-y-reverse))}.lg\:space-x-11\/12>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(91.666667% * var(--space-x-reverse));margin-left:calc(91.666667% * calc(1 - var(--space-x-reverse)))}.lg\:space-y-full>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(100% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(100% * var(--space-y-reverse))}.lg\:space-x-full>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(100% * var(--space-x-reverse));margin-left:calc(100% * calc(1 - var(--space-x-reverse)))}.lg\:-space-y-1>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-.25rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-.25rem * var(--space-y-reverse))}.lg\:-space-x-1>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-.25rem * var(--space-x-reverse));margin-left:calc(-.25rem * calc(1 - var(--space-x-reverse)))}.lg\:-space-y-2>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-.5rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-.5rem * var(--space-y-reverse))}.lg\:-space-x-2>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-.5rem * var(--space-x-reverse));margin-left:calc(-.5rem * calc(1 - var(--space-x-reverse)))}.lg\:-space-y-3>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-.75rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-.75rem * var(--space-y-reverse))}.lg\:-space-x-3>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-.75rem * var(--space-x-reverse));margin-left:calc(-.75rem * calc(1 - var(--space-x-reverse)))}.lg\:-space-y-4>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-1rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-1rem * var(--space-y-reverse))}.lg\:-space-x-4>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-1rem * var(--space-x-reverse));margin-left:calc(-1rem * calc(1 - var(--space-x-reverse)))}.lg\:-space-y-5>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-1.25rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-1.25rem * var(--space-y-reverse))}.lg\:-space-x-5>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-1.25rem * var(--space-x-reverse));margin-left:calc(-1.25rem * calc(1 - var(--space-x-reverse)))}.lg\:-space-y-6>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-1.5rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-1.5rem * var(--space-y-reverse))}.lg\:-space-x-6>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-1.5rem * var(--space-x-reverse));margin-left:calc(-1.5rem * calc(1 - var(--space-x-reverse)))}.lg\:-space-y-7>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-1.75rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-1.75rem * var(--space-y-reverse))}.lg\:-space-x-7>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-1.75rem * var(--space-x-reverse));margin-left:calc(-1.75rem * calc(1 - var(--space-x-reverse)))}.lg\:-space-y-8>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-2rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-2rem * var(--space-y-reverse))}.lg\:-space-x-8>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-2rem * var(--space-x-reverse));margin-left:calc(-2rem * calc(1 - var(--space-x-reverse)))}.lg\:-space-y-9>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-2.25rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-2.25rem * var(--space-y-reverse))}.lg\:-space-x-9>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-2.25rem * var(--space-x-reverse));margin-left:calc(-2.25rem * calc(1 - var(--space-x-reverse)))}.lg\:-space-y-10>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-2.5rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-2.5rem * var(--space-y-reverse))}.lg\:-space-x-10>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-2.5rem * var(--space-x-reverse));margin-left:calc(-2.5rem * calc(1 - var(--space-x-reverse)))}.lg\:-space-y-11>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-2.75rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-2.75rem * var(--space-y-reverse))}.lg\:-space-x-11>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-2.75rem * var(--space-x-reverse));margin-left:calc(-2.75rem * calc(1 - var(--space-x-reverse)))}.lg\:-space-y-12>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-3rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-3rem * var(--space-y-reverse))}.lg\:-space-x-12>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-3rem * var(--space-x-reverse));margin-left:calc(-3rem * calc(1 - var(--space-x-reverse)))}.lg\:-space-y-13>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-3.25rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-3.25rem * var(--space-y-reverse))}.lg\:-space-x-13>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-3.25rem * var(--space-x-reverse));margin-left:calc(-3.25rem * calc(1 - var(--space-x-reverse)))}.lg\:-space-y-14>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-3.5rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-3.5rem * var(--space-y-reverse))}.lg\:-space-x-14>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-3.5rem * var(--space-x-reverse));margin-left:calc(-3.5rem * calc(1 - var(--space-x-reverse)))}.lg\:-space-y-15>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-3.75rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-3.75rem * var(--space-y-reverse))}.lg\:-space-x-15>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-3.75rem * var(--space-x-reverse));margin-left:calc(-3.75rem * calc(1 - var(--space-x-reverse)))}.lg\:-space-y-16>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-4rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-4rem * var(--space-y-reverse))}.lg\:-space-x-16>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-4rem * var(--space-x-reverse));margin-left:calc(-4rem * calc(1 - var(--space-x-reverse)))}.lg\:-space-y-20>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-5rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-5rem * var(--space-y-reverse))}.lg\:-space-x-20>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-5rem * var(--space-x-reverse));margin-left:calc(-5rem * calc(1 - var(--space-x-reverse)))}.lg\:-space-y-24>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-6rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-6rem * var(--space-y-reverse))}.lg\:-space-x-24>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-6rem * var(--space-x-reverse));margin-left:calc(-6rem * calc(1 - var(--space-x-reverse)))}.lg\:-space-y-28>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-7rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-7rem * var(--space-y-reverse))}.lg\:-space-x-28>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-7rem * var(--space-x-reverse));margin-left:calc(-7rem * calc(1 - var(--space-x-reverse)))}.lg\:-space-y-32>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-8rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-8rem * var(--space-y-reverse))}.lg\:-space-x-32>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-8rem * var(--space-x-reverse));margin-left:calc(-8rem * calc(1 - var(--space-x-reverse)))}.lg\:-space-y-36>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-9rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-9rem * var(--space-y-reverse))}.lg\:-space-x-36>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-9rem * var(--space-x-reverse));margin-left:calc(-9rem * calc(1 - var(--space-x-reverse)))}.lg\:-space-y-40>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-10rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-10rem * var(--space-y-reverse))}.lg\:-space-x-40>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-10rem * var(--space-x-reverse));margin-left:calc(-10rem * calc(1 - var(--space-x-reverse)))}.lg\:-space-y-44>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-11rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-11rem * var(--space-y-reverse))}.lg\:-space-x-44>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-11rem * var(--space-x-reverse));margin-left:calc(-11rem * calc(1 - var(--space-x-reverse)))}.lg\:-space-y-48>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-12rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-12rem * var(--space-y-reverse))}.lg\:-space-x-48>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-12rem * var(--space-x-reverse));margin-left:calc(-12rem * calc(1 - var(--space-x-reverse)))}.lg\:-space-y-52>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-13rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-13rem * var(--space-y-reverse))}.lg\:-space-x-52>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-13rem * var(--space-x-reverse));margin-left:calc(-13rem * calc(1 - var(--space-x-reverse)))}.lg\:-space-y-56>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-14rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-14rem * var(--space-y-reverse))}.lg\:-space-x-56>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-14rem * var(--space-x-reverse));margin-left:calc(-14rem * calc(1 - var(--space-x-reverse)))}.lg\:-space-y-60>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-15rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-15rem * var(--space-y-reverse))}.lg\:-space-x-60>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-15rem * var(--space-x-reverse));margin-left:calc(-15rem * calc(1 - var(--space-x-reverse)))}.lg\:-space-y-64>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-16rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-16rem * var(--space-y-reverse))}.lg\:-space-x-64>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-16rem * var(--space-x-reverse));margin-left:calc(-16rem * calc(1 - var(--space-x-reverse)))}.lg\:-space-y-72>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-18rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-18rem * var(--space-y-reverse))}.lg\:-space-x-72>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-18rem * var(--space-x-reverse));margin-left:calc(-18rem * calc(1 - var(--space-x-reverse)))}.lg\:-space-y-80>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-20rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-20rem * var(--space-y-reverse))}.lg\:-space-x-80>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-20rem * var(--space-x-reverse));margin-left:calc(-20rem * calc(1 - var(--space-x-reverse)))}.lg\:-space-y-96>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-24rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-24rem * var(--space-y-reverse))}.lg\:-space-x-96>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-24rem * var(--space-x-reverse));margin-left:calc(-24rem * calc(1 - var(--space-x-reverse)))}.lg\:-space-y-px>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-1px * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-1px * var(--space-y-reverse))}.lg\:-space-x-px>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-1px * var(--space-x-reverse));margin-left:calc(-1px * calc(1 - var(--space-x-reverse)))}.lg\:-space-y-0\.5>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-.125rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-.125rem * var(--space-y-reverse))}.lg\:-space-x-0\.5>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-.125rem * var(--space-x-reverse));margin-left:calc(-.125rem * calc(1 - var(--space-x-reverse)))}.lg\:-space-y-1\.5>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-.375rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-.375rem * var(--space-y-reverse))}.lg\:-space-x-1\.5>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-.375rem * var(--space-x-reverse));margin-left:calc(-.375rem * calc(1 - var(--space-x-reverse)))}.lg\:-space-y-2\.5>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-.625rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-.625rem * var(--space-y-reverse))}.lg\:-space-x-2\.5>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-.625rem * var(--space-x-reverse));margin-left:calc(-.625rem * calc(1 - var(--space-x-reverse)))}.lg\:-space-y-3\.5>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-.875rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-.875rem * var(--space-y-reverse))}.lg\:-space-x-3\.5>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-.875rem * var(--space-x-reverse));margin-left:calc(-.875rem * calc(1 - var(--space-x-reverse)))}.lg\:-space-y-1\/2>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-50% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-50% * var(--space-y-reverse))}.lg\:-space-x-1\/2>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-50% * var(--space-x-reverse));margin-left:calc(-50% * calc(1 - var(--space-x-reverse)))}.lg\:-space-y-1\/3>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-33.33333% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-33.33333% * var(--space-y-reverse))}.lg\:-space-x-1\/3>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-33.33333% * var(--space-x-reverse));margin-left:calc(-33.33333% * calc(1 - var(--space-x-reverse)))}.lg\:-space-y-2\/3>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-66.66667% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-66.66667% * var(--space-y-reverse))}.lg\:-space-x-2\/3>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-66.66667% * var(--space-x-reverse));margin-left:calc(-66.66667% * calc(1 - var(--space-x-reverse)))}.lg\:-space-y-1\/4>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-25% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-25% * var(--space-y-reverse))}.lg\:-space-x-1\/4>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-25% * var(--space-x-reverse));margin-left:calc(-25% * calc(1 - var(--space-x-reverse)))}.lg\:-space-y-2\/4>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-50% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-50% * var(--space-y-reverse))}.lg\:-space-x-2\/4>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-50% * var(--space-x-reverse));margin-left:calc(-50% * calc(1 - var(--space-x-reverse)))}.lg\:-space-y-3\/4>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-75% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-75% * var(--space-y-reverse))}.lg\:-space-x-3\/4>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-75% * var(--space-x-reverse));margin-left:calc(-75% * calc(1 - var(--space-x-reverse)))}.lg\:-space-y-1\/5>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-20% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-20% * var(--space-y-reverse))}.lg\:-space-x-1\/5>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-20% * var(--space-x-reverse));margin-left:calc(-20% * calc(1 - var(--space-x-reverse)))}.lg\:-space-y-2\/5>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-40% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-40% * var(--space-y-reverse))}.lg\:-space-x-2\/5>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-40% * var(--space-x-reverse));margin-left:calc(-40% * calc(1 - var(--space-x-reverse)))}.lg\:-space-y-3\/5>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-60% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-60% * var(--space-y-reverse))}.lg\:-space-x-3\/5>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-60% * var(--space-x-reverse));margin-left:calc(-60% * calc(1 - var(--space-x-reverse)))}.lg\:-space-y-4\/5>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-80% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-80% * var(--space-y-reverse))}.lg\:-space-x-4\/5>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-80% * var(--space-x-reverse));margin-left:calc(-80% * calc(1 - var(--space-x-reverse)))}.lg\:-space-y-1\/6>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-16.66667% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-16.66667% * var(--space-y-reverse))}.lg\:-space-x-1\/6>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-16.66667% * var(--space-x-reverse));margin-left:calc(-16.66667% * calc(1 - var(--space-x-reverse)))}.lg\:-space-y-2\/6>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-33.33333% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-33.33333% * var(--space-y-reverse))}.lg\:-space-x-2\/6>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-33.33333% * var(--space-x-reverse));margin-left:calc(-33.33333% * calc(1 - var(--space-x-reverse)))}.lg\:-space-y-3\/6>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-50% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-50% * var(--space-y-reverse))}.lg\:-space-x-3\/6>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-50% * var(--space-x-reverse));margin-left:calc(-50% * calc(1 - var(--space-x-reverse)))}.lg\:-space-y-4\/6>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-66.66667% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-66.66667% * var(--space-y-reverse))}.lg\:-space-x-4\/6>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-66.66667% * var(--space-x-reverse));margin-left:calc(-66.66667% * calc(1 - var(--space-x-reverse)))}.lg\:-space-y-5\/6>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-83.33333% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-83.33333% * var(--space-y-reverse))}.lg\:-space-x-5\/6>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-83.33333% * var(--space-x-reverse));margin-left:calc(-83.33333% * calc(1 - var(--space-x-reverse)))}.lg\:-space-y-1\/12>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-8.33333% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-8.33333% * var(--space-y-reverse))}.lg\:-space-x-1\/12>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-8.33333% * var(--space-x-reverse));margin-left:calc(-8.33333% * calc(1 - var(--space-x-reverse)))}.lg\:-space-y-2\/12>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-16.66667% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-16.66667% * var(--space-y-reverse))}.lg\:-space-x-2\/12>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-16.66667% * var(--space-x-reverse));margin-left:calc(-16.66667% * calc(1 - var(--space-x-reverse)))}.lg\:-space-y-3\/12>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-25% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-25% * var(--space-y-reverse))}.lg\:-space-x-3\/12>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-25% * var(--space-x-reverse));margin-left:calc(-25% * calc(1 - var(--space-x-reverse)))}.lg\:-space-y-4\/12>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-33.33333% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-33.33333% * var(--space-y-reverse))}.lg\:-space-x-4\/12>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-33.33333% * var(--space-x-reverse));margin-left:calc(-33.33333% * calc(1 - var(--space-x-reverse)))}.lg\:-space-y-5\/12>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-41.66667% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-41.66667% * var(--space-y-reverse))}.lg\:-space-x-5\/12>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-41.66667% * var(--space-x-reverse));margin-left:calc(-41.66667% * calc(1 - var(--space-x-reverse)))}.lg\:-space-y-6\/12>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-50% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-50% * var(--space-y-reverse))}.lg\:-space-x-6\/12>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-50% * var(--space-x-reverse));margin-left:calc(-50% * calc(1 - var(--space-x-reverse)))}.lg\:-space-y-7\/12>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-58.33333% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-58.33333% * var(--space-y-reverse))}.lg\:-space-x-7\/12>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-58.33333% * var(--space-x-reverse));margin-left:calc(-58.33333% * calc(1 - var(--space-x-reverse)))}.lg\:-space-y-8\/12>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-66.66667% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-66.66667% * var(--space-y-reverse))}.lg\:-space-x-8\/12>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-66.66667% * var(--space-x-reverse));margin-left:calc(-66.66667% * calc(1 - var(--space-x-reverse)))}.lg\:-space-y-9\/12>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-75% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-75% * var(--space-y-reverse))}.lg\:-space-x-9\/12>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-75% * var(--space-x-reverse));margin-left:calc(-75% * calc(1 - var(--space-x-reverse)))}.lg\:-space-y-10\/12>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-83.33333% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-83.33333% * var(--space-y-reverse))}.lg\:-space-x-10\/12>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-83.33333% * var(--space-x-reverse));margin-left:calc(-83.33333% * calc(1 - var(--space-x-reverse)))}.lg\:-space-y-11\/12>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-91.66667% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-91.66667% * var(--space-y-reverse))}.lg\:-space-x-11\/12>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-91.66667% * var(--space-x-reverse));margin-left:calc(-91.66667% * calc(1 - var(--space-x-reverse)))}.lg\:-space-y-full>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-100% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-100% * var(--space-y-reverse))}.lg\:-space-x-full>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-100% * var(--space-x-reverse));margin-left:calc(-100% * calc(1 - var(--space-x-reverse)))}.lg\:space-y-reverse>:not(template)~:not(template){--space-y-reverse:1}.lg\:space-x-reverse>:not(template)~:not(template){--space-x-reverse:1}.lg\:divide-y-0>:not(template)~:not(template){--divide-y-reverse:0;border-top-width:calc(0px * calc(1 - var(--divide-y-reverse)));border-bottom-width:calc(0px * var(--divide-y-reverse))}.lg\:divide-x-0>:not(template)~:not(template){--divide-x-reverse:0;border-right-width:calc(0px * var(--divide-x-reverse));border-left-width:calc(0px * calc(1 - var(--divide-x-reverse)))}.lg\:divide-y-2>:not(template)~:not(template){--divide-y-reverse:0;border-top-width:calc(2px * calc(1 - var(--divide-y-reverse)));border-bottom-width:calc(2px * var(--divide-y-reverse))}.lg\:divide-x-2>:not(template)~:not(template){--divide-x-reverse:0;border-right-width:calc(2px * var(--divide-x-reverse));border-left-width:calc(2px * calc(1 - var(--divide-x-reverse)))}.lg\:divide-y-4>:not(template)~:not(template){--divide-y-reverse:0;border-top-width:calc(4px * calc(1 - var(--divide-y-reverse)));border-bottom-width:calc(4px * var(--divide-y-reverse))}.lg\:divide-x-4>:not(template)~:not(template){--divide-x-reverse:0;border-right-width:calc(4px * var(--divide-x-reverse));border-left-width:calc(4px * calc(1 - var(--divide-x-reverse)))}.lg\:divide-y-8>:not(template)~:not(template){--divide-y-reverse:0;border-top-width:calc(8px * calc(1 - var(--divide-y-reverse)));border-bottom-width:calc(8px * var(--divide-y-reverse))}.lg\:divide-x-8>:not(template)~:not(template){--divide-x-reverse:0;border-right-width:calc(8px * var(--divide-x-reverse));border-left-width:calc(8px * calc(1 - var(--divide-x-reverse)))}.lg\:divide-y>:not(template)~:not(template){--divide-y-reverse:0;border-top-width:calc(1px * calc(1 - var(--divide-y-reverse)));border-bottom-width:calc(1px * var(--divide-y-reverse))}.lg\:divide-x>:not(template)~:not(template){--divide-x-reverse:0;border-right-width:calc(1px * var(--divide-x-reverse));border-left-width:calc(1px * calc(1 - var(--divide-x-reverse)))}.lg\:divide-y-reverse>:not(template)~:not(template){--divide-y-reverse:1}.lg\:divide-x-reverse>:not(template)~:not(template){--divide-x-reverse:1}.lg\:divide-transparent>:not(template)~:not(template){border-color:transparent}.lg\:divide-white>:not(template)~:not(template){--divide-opacity:1;border-color:#fff;border-color:rgba(255,255,255,var(--divide-opacity))}.lg\:divide-black>:not(template)~:not(template){--divide-opacity:1;border-color:#000;border-color:rgba(0,0,0,var(--divide-opacity))}.lg\:divide-gray-50>:not(template)~:not(template){--divide-opacity:1;border-color:#f9fafb;border-color:rgba(249,250,251,var(--divide-opacity))}.lg\:divide-gray-100>:not(template)~:not(template){--divide-opacity:1;border-color:#f4f5f7;border-color:rgba(244,245,247,var(--divide-opacity))}.lg\:divide-gray-200>:not(template)~:not(template){--divide-opacity:1;border-color:#e5e7eb;border-color:rgba(229,231,235,var(--divide-opacity))}.lg\:divide-gray-300>:not(template)~:not(template){--divide-opacity:1;border-color:#d2d6dc;border-color:rgba(210,214,220,var(--divide-opacity))}.lg\:divide-gray-400>:not(template)~:not(template){--divide-opacity:1;border-color:#9fa6b2;border-color:rgba(159,166,178,var(--divide-opacity))}.lg\:divide-gray-500>:not(template)~:not(template){--divide-opacity:1;border-color:#6b7280;border-color:rgba(107,114,128,var(--divide-opacity))}.lg\:divide-gray-600>:not(template)~:not(template){--divide-opacity:1;border-color:#4b5563;border-color:rgba(75,85,99,var(--divide-opacity))}.lg\:divide-gray-700>:not(template)~:not(template){--divide-opacity:1;border-color:#374151;border-color:rgba(55,65,81,var(--divide-opacity))}.lg\:divide-gray-800>:not(template)~:not(template){--divide-opacity:1;border-color:#252f3f;border-color:rgba(37,47,63,var(--divide-opacity))}.lg\:divide-gray-900>:not(template)~:not(template){--divide-opacity:1;border-color:#161e2e;border-color:rgba(22,30,46,var(--divide-opacity))}.lg\:divide-cool-gray-50>:not(template)~:not(template){--divide-opacity:1;border-color:#f8fafc;border-color:rgba(248,250,252,var(--divide-opacity))}.lg\:divide-cool-gray-100>:not(template)~:not(template){--divide-opacity:1;border-color:#f1f5f9;border-color:rgba(241,245,249,var(--divide-opacity))}.lg\:divide-cool-gray-200>:not(template)~:not(template){--divide-opacity:1;border-color:#e2e8f0;border-color:rgba(226,232,240,var(--divide-opacity))}.lg\:divide-cool-gray-300>:not(template)~:not(template){--divide-opacity:1;border-color:#cfd8e3;border-color:rgba(207,216,227,var(--divide-opacity))}.lg\:divide-cool-gray-400>:not(template)~:not(template){--divide-opacity:1;border-color:#97a6ba;border-color:rgba(151,166,186,var(--divide-opacity))}.lg\:divide-cool-gray-500>:not(template)~:not(template){--divide-opacity:1;border-color:#64748b;border-color:rgba(100,116,139,var(--divide-opacity))}.lg\:divide-cool-gray-600>:not(template)~:not(template){--divide-opacity:1;border-color:#475569;border-color:rgba(71,85,105,var(--divide-opacity))}.lg\:divide-cool-gray-700>:not(template)~:not(template){--divide-opacity:1;border-color:#364152;border-color:rgba(54,65,82,var(--divide-opacity))}.lg\:divide-cool-gray-800>:not(template)~:not(template){--divide-opacity:1;border-color:#27303f;border-color:rgba(39,48,63,var(--divide-opacity))}.lg\:divide-cool-gray-900>:not(template)~:not(template){--divide-opacity:1;border-color:#1a202e;border-color:rgba(26,32,46,var(--divide-opacity))}.lg\:divide-red-50>:not(template)~:not(template){--divide-opacity:1;border-color:#fdf2f2;border-color:rgba(253,242,242,var(--divide-opacity))}.lg\:divide-red-100>:not(template)~:not(template){--divide-opacity:1;border-color:#fde8e8;border-color:rgba(253,232,232,var(--divide-opacity))}.lg\:divide-red-200>:not(template)~:not(template){--divide-opacity:1;border-color:#fbd5d5;border-color:rgba(251,213,213,var(--divide-opacity))}.lg\:divide-red-300>:not(template)~:not(template){--divide-opacity:1;border-color:#f8b4b4;border-color:rgba(248,180,180,var(--divide-opacity))}.lg\:divide-red-400>:not(template)~:not(template){--divide-opacity:1;border-color:#f98080;border-color:rgba(249,128,128,var(--divide-opacity))}.lg\:divide-red-500>:not(template)~:not(template){--divide-opacity:1;border-color:#f05252;border-color:rgba(240,82,82,var(--divide-opacity))}.lg\:divide-red-600>:not(template)~:not(template){--divide-opacity:1;border-color:#e02424;border-color:rgba(224,36,36,var(--divide-opacity))}.lg\:divide-red-700>:not(template)~:not(template){--divide-opacity:1;border-color:#c81e1e;border-color:rgba(200,30,30,var(--divide-opacity))}.lg\:divide-red-800>:not(template)~:not(template){--divide-opacity:1;border-color:#9b1c1c;border-color:rgba(155,28,28,var(--divide-opacity))}.lg\:divide-red-900>:not(template)~:not(template){--divide-opacity:1;border-color:#771d1d;border-color:rgba(119,29,29,var(--divide-opacity))}.lg\:divide-orange-50>:not(template)~:not(template){--divide-opacity:1;border-color:#fff8f1;border-color:rgba(255,248,241,var(--divide-opacity))}.lg\:divide-orange-100>:not(template)~:not(template){--divide-opacity:1;border-color:#feecdc;border-color:rgba(254,236,220,var(--divide-opacity))}.lg\:divide-orange-200>:not(template)~:not(template){--divide-opacity:1;border-color:#fcd9bd;border-color:rgba(252,217,189,var(--divide-opacity))}.lg\:divide-orange-300>:not(template)~:not(template){--divide-opacity:1;border-color:#fdba8c;border-color:rgba(253,186,140,var(--divide-opacity))}.lg\:divide-orange-400>:not(template)~:not(template){--divide-opacity:1;border-color:#ff8a4c;border-color:rgba(255,138,76,var(--divide-opacity))}.lg\:divide-orange-500>:not(template)~:not(template){--divide-opacity:1;border-color:#ff5a1f;border-color:rgba(255,90,31,var(--divide-opacity))}.lg\:divide-orange-600>:not(template)~:not(template){--divide-opacity:1;border-color:#d03801;border-color:rgba(208,56,1,var(--divide-opacity))}.lg\:divide-orange-700>:not(template)~:not(template){--divide-opacity:1;border-color:#b43403;border-color:rgba(180,52,3,var(--divide-opacity))}.lg\:divide-orange-800>:not(template)~:not(template){--divide-opacity:1;border-color:#8a2c0d;border-color:rgba(138,44,13,var(--divide-opacity))}.lg\:divide-orange-900>:not(template)~:not(template){--divide-opacity:1;border-color:#73230d;border-color:rgba(115,35,13,var(--divide-opacity))}.lg\:divide-yellow-50>:not(template)~:not(template){--divide-opacity:1;border-color:#fdfdea;border-color:rgba(253,253,234,var(--divide-opacity))}.lg\:divide-yellow-100>:not(template)~:not(template){--divide-opacity:1;border-color:#fdf6b2;border-color:rgba(253,246,178,var(--divide-opacity))}.lg\:divide-yellow-200>:not(template)~:not(template){--divide-opacity:1;border-color:#fce96a;border-color:rgba(252,233,106,var(--divide-opacity))}.lg\:divide-yellow-300>:not(template)~:not(template){--divide-opacity:1;border-color:#faca15;border-color:rgba(250,202,21,var(--divide-opacity))}.lg\:divide-yellow-400>:not(template)~:not(template){--divide-opacity:1;border-color:#e3a008;border-color:rgba(227,160,8,var(--divide-opacity))}.lg\:divide-yellow-500>:not(template)~:not(template){--divide-opacity:1;border-color:#c27803;border-color:rgba(194,120,3,var(--divide-opacity))}.lg\:divide-yellow-600>:not(template)~:not(template){--divide-opacity:1;border-color:#9f580a;border-color:rgba(159,88,10,var(--divide-opacity))}.lg\:divide-yellow-700>:not(template)~:not(template){--divide-opacity:1;border-color:#8e4b10;border-color:rgba(142,75,16,var(--divide-opacity))}.lg\:divide-yellow-800>:not(template)~:not(template){--divide-opacity:1;border-color:#723b13;border-color:rgba(114,59,19,var(--divide-opacity))}.lg\:divide-yellow-900>:not(template)~:not(template){--divide-opacity:1;border-color:#633112;border-color:rgba(99,49,18,var(--divide-opacity))}.lg\:divide-green-50>:not(template)~:not(template){--divide-opacity:1;border-color:#f3faf7;border-color:rgba(243,250,247,var(--divide-opacity))}.lg\:divide-green-100>:not(template)~:not(template){--divide-opacity:1;border-color:#def7ec;border-color:rgba(222,247,236,var(--divide-opacity))}.lg\:divide-green-200>:not(template)~:not(template){--divide-opacity:1;border-color:#bcf0da;border-color:rgba(188,240,218,var(--divide-opacity))}.lg\:divide-green-300>:not(template)~:not(template){--divide-opacity:1;border-color:#84e1bc;border-color:rgba(132,225,188,var(--divide-opacity))}.lg\:divide-green-400>:not(template)~:not(template){--divide-opacity:1;border-color:#31c48d;border-color:rgba(49,196,141,var(--divide-opacity))}.lg\:divide-green-500>:not(template)~:not(template){--divide-opacity:1;border-color:#0e9f6e;border-color:rgba(14,159,110,var(--divide-opacity))}.lg\:divide-green-600>:not(template)~:not(template){--divide-opacity:1;border-color:#057a55;border-color:rgba(5,122,85,var(--divide-opacity))}.lg\:divide-green-700>:not(template)~:not(template){--divide-opacity:1;border-color:#046c4e;border-color:rgba(4,108,78,var(--divide-opacity))}.lg\:divide-green-800>:not(template)~:not(template){--divide-opacity:1;border-color:#03543f;border-color:rgba(3,84,63,var(--divide-opacity))}.lg\:divide-green-900>:not(template)~:not(template){--divide-opacity:1;border-color:#014737;border-color:rgba(1,71,55,var(--divide-opacity))}.lg\:divide-teal-50>:not(template)~:not(template){--divide-opacity:1;border-color:#edfafa;border-color:rgba(237,250,250,var(--divide-opacity))}.lg\:divide-teal-100>:not(template)~:not(template){--divide-opacity:1;border-color:#d5f5f6;border-color:rgba(213,245,246,var(--divide-opacity))}.lg\:divide-teal-200>:not(template)~:not(template){--divide-opacity:1;border-color:#afecef;border-color:rgba(175,236,239,var(--divide-opacity))}.lg\:divide-teal-300>:not(template)~:not(template){--divide-opacity:1;border-color:#7edce2;border-color:rgba(126,220,226,var(--divide-opacity))}.lg\:divide-teal-400>:not(template)~:not(template){--divide-opacity:1;border-color:#16bdca;border-color:rgba(22,189,202,var(--divide-opacity))}.lg\:divide-teal-500>:not(template)~:not(template){--divide-opacity:1;border-color:#0694a2;border-color:rgba(6,148,162,var(--divide-opacity))}.lg\:divide-teal-600>:not(template)~:not(template){--divide-opacity:1;border-color:#047481;border-color:rgba(4,116,129,var(--divide-opacity))}.lg\:divide-teal-700>:not(template)~:not(template){--divide-opacity:1;border-color:#036672;border-color:rgba(3,102,114,var(--divide-opacity))}.lg\:divide-teal-800>:not(template)~:not(template){--divide-opacity:1;border-color:#05505c;border-color:rgba(5,80,92,var(--divide-opacity))}.lg\:divide-teal-900>:not(template)~:not(template){--divide-opacity:1;border-color:#014451;border-color:rgba(1,68,81,var(--divide-opacity))}.lg\:divide-blue-50>:not(template)~:not(template){--divide-opacity:1;border-color:#ebf5ff;border-color:rgba(235,245,255,var(--divide-opacity))}.lg\:divide-blue-100>:not(template)~:not(template){--divide-opacity:1;border-color:#e1effe;border-color:rgba(225,239,254,var(--divide-opacity))}.lg\:divide-blue-200>:not(template)~:not(template){--divide-opacity:1;border-color:#c3ddfd;border-color:rgba(195,221,253,var(--divide-opacity))}.lg\:divide-blue-300>:not(template)~:not(template){--divide-opacity:1;border-color:#a4cafe;border-color:rgba(164,202,254,var(--divide-opacity))}.lg\:divide-blue-400>:not(template)~:not(template){--divide-opacity:1;border-color:#76a9fa;border-color:rgba(118,169,250,var(--divide-opacity))}.lg\:divide-blue-500>:not(template)~:not(template){--divide-opacity:1;border-color:#3f83f8;border-color:rgba(63,131,248,var(--divide-opacity))}.lg\:divide-blue-600>:not(template)~:not(template){--divide-opacity:1;border-color:#1c64f2;border-color:rgba(28,100,242,var(--divide-opacity))}.lg\:divide-blue-700>:not(template)~:not(template){--divide-opacity:1;border-color:#1a56db;border-color:rgba(26,86,219,var(--divide-opacity))}.lg\:divide-blue-800>:not(template)~:not(template){--divide-opacity:1;border-color:#1e429f;border-color:rgba(30,66,159,var(--divide-opacity))}.lg\:divide-blue-900>:not(template)~:not(template){--divide-opacity:1;border-color:#233876;border-color:rgba(35,56,118,var(--divide-opacity))}.lg\:divide-indigo-50>:not(template)~:not(template){--divide-opacity:1;border-color:#f0f5ff;border-color:rgba(240,245,255,var(--divide-opacity))}.lg\:divide-indigo-100>:not(template)~:not(template){--divide-opacity:1;border-color:#e5edff;border-color:rgba(229,237,255,var(--divide-opacity))}.lg\:divide-indigo-200>:not(template)~:not(template){--divide-opacity:1;border-color:#cddbfe;border-color:rgba(205,219,254,var(--divide-opacity))}.lg\:divide-indigo-300>:not(template)~:not(template){--divide-opacity:1;border-color:#b4c6fc;border-color:rgba(180,198,252,var(--divide-opacity))}.lg\:divide-indigo-400>:not(template)~:not(template){--divide-opacity:1;border-color:#8da2fb;border-color:rgba(141,162,251,var(--divide-opacity))}.lg\:divide-indigo-500>:not(template)~:not(template){--divide-opacity:1;border-color:#6875f5;border-color:rgba(104,117,245,var(--divide-opacity))}.lg\:divide-indigo-600>:not(template)~:not(template){--divide-opacity:1;border-color:#5850ec;border-color:rgba(88,80,236,var(--divide-opacity))}.lg\:divide-indigo-700>:not(template)~:not(template){--divide-opacity:1;border-color:#5145cd;border-color:rgba(81,69,205,var(--divide-opacity))}.lg\:divide-indigo-800>:not(template)~:not(template){--divide-opacity:1;border-color:#42389d;border-color:rgba(66,56,157,var(--divide-opacity))}.lg\:divide-indigo-900>:not(template)~:not(template){--divide-opacity:1;border-color:#362f78;border-color:rgba(54,47,120,var(--divide-opacity))}.lg\:divide-purple-50>:not(template)~:not(template){--divide-opacity:1;border-color:#f6f5ff;border-color:rgba(246,245,255,var(--divide-opacity))}.lg\:divide-purple-100>:not(template)~:not(template){--divide-opacity:1;border-color:#edebfe;border-color:rgba(237,235,254,var(--divide-opacity))}.lg\:divide-purple-200>:not(template)~:not(template){--divide-opacity:1;border-color:#dcd7fe;border-color:rgba(220,215,254,var(--divide-opacity))}.lg\:divide-purple-300>:not(template)~:not(template){--divide-opacity:1;border-color:#cabffd;border-color:rgba(202,191,253,var(--divide-opacity))}.lg\:divide-purple-400>:not(template)~:not(template){--divide-opacity:1;border-color:#ac94fa;border-color:rgba(172,148,250,var(--divide-opacity))}.lg\:divide-purple-500>:not(template)~:not(template){--divide-opacity:1;border-color:#9061f9;border-color:rgba(144,97,249,var(--divide-opacity))}.lg\:divide-purple-600>:not(template)~:not(template){--divide-opacity:1;border-color:#7e3af2;border-color:rgba(126,58,242,var(--divide-opacity))}.lg\:divide-purple-700>:not(template)~:not(template){--divide-opacity:1;border-color:#6c2bd9;border-color:rgba(108,43,217,var(--divide-opacity))}.lg\:divide-purple-800>:not(template)~:not(template){--divide-opacity:1;border-color:#5521b5;border-color:rgba(85,33,181,var(--divide-opacity))}.lg\:divide-purple-900>:not(template)~:not(template){--divide-opacity:1;border-color:#4a1d96;border-color:rgba(74,29,150,var(--divide-opacity))}.lg\:divide-pink-50>:not(template)~:not(template){--divide-opacity:1;border-color:#fdf2f8;border-color:rgba(253,242,248,var(--divide-opacity))}.lg\:divide-pink-100>:not(template)~:not(template){--divide-opacity:1;border-color:#fce8f3;border-color:rgba(252,232,243,var(--divide-opacity))}.lg\:divide-pink-200>:not(template)~:not(template){--divide-opacity:1;border-color:#fad1e8;border-color:rgba(250,209,232,var(--divide-opacity))}.lg\:divide-pink-300>:not(template)~:not(template){--divide-opacity:1;border-color:#f8b4d9;border-color:rgba(248,180,217,var(--divide-opacity))}.lg\:divide-pink-400>:not(template)~:not(template){--divide-opacity:1;border-color:#f17eb8;border-color:rgba(241,126,184,var(--divide-opacity))}.lg\:divide-pink-500>:not(template)~:not(template){--divide-opacity:1;border-color:#e74694;border-color:rgba(231,70,148,var(--divide-opacity))}.lg\:divide-pink-600>:not(template)~:not(template){--divide-opacity:1;border-color:#d61f69;border-color:rgba(214,31,105,var(--divide-opacity))}.lg\:divide-pink-700>:not(template)~:not(template){--divide-opacity:1;border-color:#bf125d;border-color:rgba(191,18,93,var(--divide-opacity))}.lg\:divide-pink-800>:not(template)~:not(template){--divide-opacity:1;border-color:#99154b;border-color:rgba(153,21,75,var(--divide-opacity))}.lg\:divide-pink-900>:not(template)~:not(template){--divide-opacity:1;border-color:#751a3d;border-color:rgba(117,26,61,var(--divide-opacity))}.lg\:divide-opacity-0>:not(template)~:not(template){--divide-opacity:0}.lg\:divide-opacity-25>:not(template)~:not(template){--divide-opacity:0.25}.lg\:divide-opacity-50>:not(template)~:not(template){--divide-opacity:0.5}.lg\:divide-opacity-75>:not(template)~:not(template){--divide-opacity:0.75}.lg\:divide-opacity-100>:not(template)~:not(template){--divide-opacity:1}.lg\:sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.lg\:not-sr-only{position:static;width:auto;height:auto;padding:0;margin:0;overflow:visible;clip:auto;white-space:normal}.lg\:focus\:sr-only:focus{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.lg\:focus\:not-sr-only:focus{position:static;width:auto;height:auto;padding:0;margin:0;overflow:visible;clip:auto;white-space:normal}.lg\:appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.lg\:bg-fixed{background-attachment:fixed}.lg\:bg-local{background-attachment:local}.lg\:bg-scroll{background-attachment:scroll}.lg\:bg-transparent{background-color:transparent}.lg\:bg-white{--bg-opacity:1;background-color:#fff;background-color:rgba(255,255,255,var(--bg-opacity))}.lg\:bg-black{--bg-opacity:1;background-color:#000;background-color:rgba(0,0,0,var(--bg-opacity))}.lg\:bg-gray-50{--bg-opacity:1;background-color:#f9fafb;background-color:rgba(249,250,251,var(--bg-opacity))}.lg\:bg-gray-100{--bg-opacity:1;background-color:#f4f5f7;background-color:rgba(244,245,247,var(--bg-opacity))}.lg\:bg-gray-200{--bg-opacity:1;background-color:#e5e7eb;background-color:rgba(229,231,235,var(--bg-opacity))}.lg\:bg-gray-300{--bg-opacity:1;background-color:#d2d6dc;background-color:rgba(210,214,220,var(--bg-opacity))}.lg\:bg-gray-400{--bg-opacity:1;background-color:#9fa6b2;background-color:rgba(159,166,178,var(--bg-opacity))}.lg\:bg-gray-500{--bg-opacity:1;background-color:#6b7280;background-color:rgba(107,114,128,var(--bg-opacity))}.lg\:bg-gray-600{--bg-opacity:1;background-color:#4b5563;background-color:rgba(75,85,99,var(--bg-opacity))}.lg\:bg-gray-700{--bg-opacity:1;background-color:#374151;background-color:rgba(55,65,81,var(--bg-opacity))}.lg\:bg-gray-800{--bg-opacity:1;background-color:#252f3f;background-color:rgba(37,47,63,var(--bg-opacity))}.lg\:bg-gray-900{--bg-opacity:1;background-color:#161e2e;background-color:rgba(22,30,46,var(--bg-opacity))}.lg\:bg-cool-gray-50{--bg-opacity:1;background-color:#f8fafc;background-color:rgba(248,250,252,var(--bg-opacity))}.lg\:bg-cool-gray-100{--bg-opacity:1;background-color:#f1f5f9;background-color:rgba(241,245,249,var(--bg-opacity))}.lg\:bg-cool-gray-200{--bg-opacity:1;background-color:#e2e8f0;background-color:rgba(226,232,240,var(--bg-opacity))}.lg\:bg-cool-gray-300{--bg-opacity:1;background-color:#cfd8e3;background-color:rgba(207,216,227,var(--bg-opacity))}.lg\:bg-cool-gray-400{--bg-opacity:1;background-color:#97a6ba;background-color:rgba(151,166,186,var(--bg-opacity))}.lg\:bg-cool-gray-500{--bg-opacity:1;background-color:#64748b;background-color:rgba(100,116,139,var(--bg-opacity))}.lg\:bg-cool-gray-600{--bg-opacity:1;background-color:#475569;background-color:rgba(71,85,105,var(--bg-opacity))}.lg\:bg-cool-gray-700{--bg-opacity:1;background-color:#364152;background-color:rgba(54,65,82,var(--bg-opacity))}.lg\:bg-cool-gray-800{--bg-opacity:1;background-color:#27303f;background-color:rgba(39,48,63,var(--bg-opacity))}.lg\:bg-cool-gray-900{--bg-opacity:1;background-color:#1a202e;background-color:rgba(26,32,46,var(--bg-opacity))}.lg\:bg-red-50{--bg-opacity:1;background-color:#fdf2f2;background-color:rgba(253,242,242,var(--bg-opacity))}.lg\:bg-red-100{--bg-opacity:1;background-color:#fde8e8;background-color:rgba(253,232,232,var(--bg-opacity))}.lg\:bg-red-200{--bg-opacity:1;background-color:#fbd5d5;background-color:rgba(251,213,213,var(--bg-opacity))}.lg\:bg-red-300{--bg-opacity:1;background-color:#f8b4b4;background-color:rgba(248,180,180,var(--bg-opacity))}.lg\:bg-red-400{--bg-opacity:1;background-color:#f98080;background-color:rgba(249,128,128,var(--bg-opacity))}.lg\:bg-red-500{--bg-opacity:1;background-color:#f05252;background-color:rgba(240,82,82,var(--bg-opacity))}.lg\:bg-red-600{--bg-opacity:1;background-color:#e02424;background-color:rgba(224,36,36,var(--bg-opacity))}.lg\:bg-red-700{--bg-opacity:1;background-color:#c81e1e;background-color:rgba(200,30,30,var(--bg-opacity))}.lg\:bg-red-800{--bg-opacity:1;background-color:#9b1c1c;background-color:rgba(155,28,28,var(--bg-opacity))}.lg\:bg-red-900{--bg-opacity:1;background-color:#771d1d;background-color:rgba(119,29,29,var(--bg-opacity))}.lg\:bg-orange-50{--bg-opacity:1;background-color:#fff8f1;background-color:rgba(255,248,241,var(--bg-opacity))}.lg\:bg-orange-100{--bg-opacity:1;background-color:#feecdc;background-color:rgba(254,236,220,var(--bg-opacity))}.lg\:bg-orange-200{--bg-opacity:1;background-color:#fcd9bd;background-color:rgba(252,217,189,var(--bg-opacity))}.lg\:bg-orange-300{--bg-opacity:1;background-color:#fdba8c;background-color:rgba(253,186,140,var(--bg-opacity))}.lg\:bg-orange-400{--bg-opacity:1;background-color:#ff8a4c;background-color:rgba(255,138,76,var(--bg-opacity))}.lg\:bg-orange-500{--bg-opacity:1;background-color:#ff5a1f;background-color:rgba(255,90,31,var(--bg-opacity))}.lg\:bg-orange-600{--bg-opacity:1;background-color:#d03801;background-color:rgba(208,56,1,var(--bg-opacity))}.lg\:bg-orange-700{--bg-opacity:1;background-color:#b43403;background-color:rgba(180,52,3,var(--bg-opacity))}.lg\:bg-orange-800{--bg-opacity:1;background-color:#8a2c0d;background-color:rgba(138,44,13,var(--bg-opacity))}.lg\:bg-orange-900{--bg-opacity:1;background-color:#73230d;background-color:rgba(115,35,13,var(--bg-opacity))}.lg\:bg-yellow-50{--bg-opacity:1;background-color:#fdfdea;background-color:rgba(253,253,234,var(--bg-opacity))}.lg\:bg-yellow-100{--bg-opacity:1;background-color:#fdf6b2;background-color:rgba(253,246,178,var(--bg-opacity))}.lg\:bg-yellow-200{--bg-opacity:1;background-color:#fce96a;background-color:rgba(252,233,106,var(--bg-opacity))}.lg\:bg-yellow-300{--bg-opacity:1;background-color:#faca15;background-color:rgba(250,202,21,var(--bg-opacity))}.lg\:bg-yellow-400{--bg-opacity:1;background-color:#e3a008;background-color:rgba(227,160,8,var(--bg-opacity))}.lg\:bg-yellow-500{--bg-opacity:1;background-color:#c27803;background-color:rgba(194,120,3,var(--bg-opacity))}.lg\:bg-yellow-600{--bg-opacity:1;background-color:#9f580a;background-color:rgba(159,88,10,var(--bg-opacity))}.lg\:bg-yellow-700{--bg-opacity:1;background-color:#8e4b10;background-color:rgba(142,75,16,var(--bg-opacity))}.lg\:bg-yellow-800{--bg-opacity:1;background-color:#723b13;background-color:rgba(114,59,19,var(--bg-opacity))}.lg\:bg-yellow-900{--bg-opacity:1;background-color:#633112;background-color:rgba(99,49,18,var(--bg-opacity))}.lg\:bg-green-50{--bg-opacity:1;background-color:#f3faf7;background-color:rgba(243,250,247,var(--bg-opacity))}.lg\:bg-green-100{--bg-opacity:1;background-color:#def7ec;background-color:rgba(222,247,236,var(--bg-opacity))}.lg\:bg-green-200{--bg-opacity:1;background-color:#bcf0da;background-color:rgba(188,240,218,var(--bg-opacity))}.lg\:bg-green-300{--bg-opacity:1;background-color:#84e1bc;background-color:rgba(132,225,188,var(--bg-opacity))}.lg\:bg-green-400{--bg-opacity:1;background-color:#31c48d;background-color:rgba(49,196,141,var(--bg-opacity))}.lg\:bg-green-500{--bg-opacity:1;background-color:#0e9f6e;background-color:rgba(14,159,110,var(--bg-opacity))}.lg\:bg-green-600{--bg-opacity:1;background-color:#057a55;background-color:rgba(5,122,85,var(--bg-opacity))}.lg\:bg-green-700{--bg-opacity:1;background-color:#046c4e;background-color:rgba(4,108,78,var(--bg-opacity))}.lg\:bg-green-800{--bg-opacity:1;background-color:#03543f;background-color:rgba(3,84,63,var(--bg-opacity))}.lg\:bg-green-900{--bg-opacity:1;background-color:#014737;background-color:rgba(1,71,55,var(--bg-opacity))}.lg\:bg-teal-50{--bg-opacity:1;background-color:#edfafa;background-color:rgba(237,250,250,var(--bg-opacity))}.lg\:bg-teal-100{--bg-opacity:1;background-color:#d5f5f6;background-color:rgba(213,245,246,var(--bg-opacity))}.lg\:bg-teal-200{--bg-opacity:1;background-color:#afecef;background-color:rgba(175,236,239,var(--bg-opacity))}.lg\:bg-teal-300{--bg-opacity:1;background-color:#7edce2;background-color:rgba(126,220,226,var(--bg-opacity))}.lg\:bg-teal-400{--bg-opacity:1;background-color:#16bdca;background-color:rgba(22,189,202,var(--bg-opacity))}.lg\:bg-teal-500{--bg-opacity:1;background-color:#0694a2;background-color:rgba(6,148,162,var(--bg-opacity))}.lg\:bg-teal-600{--bg-opacity:1;background-color:#047481;background-color:rgba(4,116,129,var(--bg-opacity))}.lg\:bg-teal-700{--bg-opacity:1;background-color:#036672;background-color:rgba(3,102,114,var(--bg-opacity))}.lg\:bg-teal-800{--bg-opacity:1;background-color:#05505c;background-color:rgba(5,80,92,var(--bg-opacity))}.lg\:bg-teal-900{--bg-opacity:1;background-color:#014451;background-color:rgba(1,68,81,var(--bg-opacity))}.lg\:bg-blue-50{--bg-opacity:1;background-color:#ebf5ff;background-color:rgba(235,245,255,var(--bg-opacity))}.lg\:bg-blue-100{--bg-opacity:1;background-color:#e1effe;background-color:rgba(225,239,254,var(--bg-opacity))}.lg\:bg-blue-200{--bg-opacity:1;background-color:#c3ddfd;background-color:rgba(195,221,253,var(--bg-opacity))}.lg\:bg-blue-300{--bg-opacity:1;background-color:#a4cafe;background-color:rgba(164,202,254,var(--bg-opacity))}.lg\:bg-blue-400{--bg-opacity:1;background-color:#76a9fa;background-color:rgba(118,169,250,var(--bg-opacity))}.lg\:bg-blue-500{--bg-opacity:1;background-color:#3f83f8;background-color:rgba(63,131,248,var(--bg-opacity))}.lg\:bg-blue-600{--bg-opacity:1;background-color:#1c64f2;background-color:rgba(28,100,242,var(--bg-opacity))}.lg\:bg-blue-700{--bg-opacity:1;background-color:#1a56db;background-color:rgba(26,86,219,var(--bg-opacity))}.lg\:bg-blue-800{--bg-opacity:1;background-color:#1e429f;background-color:rgba(30,66,159,var(--bg-opacity))}.lg\:bg-blue-900{--bg-opacity:1;background-color:#233876;background-color:rgba(35,56,118,var(--bg-opacity))}.lg\:bg-indigo-50{--bg-opacity:1;background-color:#f0f5ff;background-color:rgba(240,245,255,var(--bg-opacity))}.lg\:bg-indigo-100{--bg-opacity:1;background-color:#e5edff;background-color:rgba(229,237,255,var(--bg-opacity))}.lg\:bg-indigo-200{--bg-opacity:1;background-color:#cddbfe;background-color:rgba(205,219,254,var(--bg-opacity))}.lg\:bg-indigo-300{--bg-opacity:1;background-color:#b4c6fc;background-color:rgba(180,198,252,var(--bg-opacity))}.lg\:bg-indigo-400{--bg-opacity:1;background-color:#8da2fb;background-color:rgba(141,162,251,var(--bg-opacity))}.lg\:bg-indigo-500{--bg-opacity:1;background-color:#6875f5;background-color:rgba(104,117,245,var(--bg-opacity))}.lg\:bg-indigo-600{--bg-opacity:1;background-color:#5850ec;background-color:rgba(88,80,236,var(--bg-opacity))}.lg\:bg-indigo-700{--bg-opacity:1;background-color:#5145cd;background-color:rgba(81,69,205,var(--bg-opacity))}.lg\:bg-indigo-800{--bg-opacity:1;background-color:#42389d;background-color:rgba(66,56,157,var(--bg-opacity))}.lg\:bg-indigo-900{--bg-opacity:1;background-color:#362f78;background-color:rgba(54,47,120,var(--bg-opacity))}.lg\:bg-purple-50{--bg-opacity:1;background-color:#f6f5ff;background-color:rgba(246,245,255,var(--bg-opacity))}.lg\:bg-purple-100{--bg-opacity:1;background-color:#edebfe;background-color:rgba(237,235,254,var(--bg-opacity))}.lg\:bg-purple-200{--bg-opacity:1;background-color:#dcd7fe;background-color:rgba(220,215,254,var(--bg-opacity))}.lg\:bg-purple-300{--bg-opacity:1;background-color:#cabffd;background-color:rgba(202,191,253,var(--bg-opacity))}.lg\:bg-purple-400{--bg-opacity:1;background-color:#ac94fa;background-color:rgba(172,148,250,var(--bg-opacity))}.lg\:bg-purple-500{--bg-opacity:1;background-color:#9061f9;background-color:rgba(144,97,249,var(--bg-opacity))}.lg\:bg-purple-600{--bg-opacity:1;background-color:#7e3af2;background-color:rgba(126,58,242,var(--bg-opacity))}.lg\:bg-purple-700{--bg-opacity:1;background-color:#6c2bd9;background-color:rgba(108,43,217,var(--bg-opacity))}.lg\:bg-purple-800{--bg-opacity:1;background-color:#5521b5;background-color:rgba(85,33,181,var(--bg-opacity))}.lg\:bg-purple-900{--bg-opacity:1;background-color:#4a1d96;background-color:rgba(74,29,150,var(--bg-opacity))}.lg\:bg-pink-50{--bg-opacity:1;background-color:#fdf2f8;background-color:rgba(253,242,248,var(--bg-opacity))}.lg\:bg-pink-100{--bg-opacity:1;background-color:#fce8f3;background-color:rgba(252,232,243,var(--bg-opacity))}.lg\:bg-pink-200{--bg-opacity:1;background-color:#fad1e8;background-color:rgba(250,209,232,var(--bg-opacity))}.lg\:bg-pink-300{--bg-opacity:1;background-color:#f8b4d9;background-color:rgba(248,180,217,var(--bg-opacity))}.lg\:bg-pink-400{--bg-opacity:1;background-color:#f17eb8;background-color:rgba(241,126,184,var(--bg-opacity))}.lg\:bg-pink-500{--bg-opacity:1;background-color:#e74694;background-color:rgba(231,70,148,var(--bg-opacity))}.lg\:bg-pink-600{--bg-opacity:1;background-color:#d61f69;background-color:rgba(214,31,105,var(--bg-opacity))}.lg\:bg-pink-700{--bg-opacity:1;background-color:#bf125d;background-color:rgba(191,18,93,var(--bg-opacity))}.lg\:bg-pink-800{--bg-opacity:1;background-color:#99154b;background-color:rgba(153,21,75,var(--bg-opacity))}.lg\:bg-pink-900{--bg-opacity:1;background-color:#751a3d;background-color:rgba(117,26,61,var(--bg-opacity))}.group:hover .lg\:group-hover\:bg-transparent{background-color:transparent}.group:hover .lg\:group-hover\:bg-white{--bg-opacity:1;background-color:#fff;background-color:rgba(255,255,255,var(--bg-opacity))}.group:hover .lg\:group-hover\:bg-black{--bg-opacity:1;background-color:#000;background-color:rgba(0,0,0,var(--bg-opacity))}.group:hover .lg\:group-hover\:bg-gray-50{--bg-opacity:1;background-color:#f9fafb;background-color:rgba(249,250,251,var(--bg-opacity))}.group:hover .lg\:group-hover\:bg-gray-100{--bg-opacity:1;background-color:#f4f5f7;background-color:rgba(244,245,247,var(--bg-opacity))}.group:hover .lg\:group-hover\:bg-gray-200{--bg-opacity:1;background-color:#e5e7eb;background-color:rgba(229,231,235,var(--bg-opacity))}.group:hover .lg\:group-hover\:bg-gray-300{--bg-opacity:1;background-color:#d2d6dc;background-color:rgba(210,214,220,var(--bg-opacity))}.group:hover .lg\:group-hover\:bg-gray-400{--bg-opacity:1;background-color:#9fa6b2;background-color:rgba(159,166,178,var(--bg-opacity))}.group:hover .lg\:group-hover\:bg-gray-500{--bg-opacity:1;background-color:#6b7280;background-color:rgba(107,114,128,var(--bg-opacity))}.group:hover .lg\:group-hover\:bg-gray-600{--bg-opacity:1;background-color:#4b5563;background-color:rgba(75,85,99,var(--bg-opacity))}.group:hover .lg\:group-hover\:bg-gray-700{--bg-opacity:1;background-color:#374151;background-color:rgba(55,65,81,var(--bg-opacity))}.group:hover .lg\:group-hover\:bg-gray-800{--bg-opacity:1;background-color:#252f3f;background-color:rgba(37,47,63,var(--bg-opacity))}.group:hover .lg\:group-hover\:bg-gray-900{--bg-opacity:1;background-color:#161e2e;background-color:rgba(22,30,46,var(--bg-opacity))}.group:hover .lg\:group-hover\:bg-cool-gray-50{--bg-opacity:1;background-color:#f8fafc;background-color:rgba(248,250,252,var(--bg-opacity))}.group:hover .lg\:group-hover\:bg-cool-gray-100{--bg-opacity:1;background-color:#f1f5f9;background-color:rgba(241,245,249,var(--bg-opacity))}.group:hover .lg\:group-hover\:bg-cool-gray-200{--bg-opacity:1;background-color:#e2e8f0;background-color:rgba(226,232,240,var(--bg-opacity))}.group:hover .lg\:group-hover\:bg-cool-gray-300{--bg-opacity:1;background-color:#cfd8e3;background-color:rgba(207,216,227,var(--bg-opacity))}.group:hover .lg\:group-hover\:bg-cool-gray-400{--bg-opacity:1;background-color:#97a6ba;background-color:rgba(151,166,186,var(--bg-opacity))}.group:hover .lg\:group-hover\:bg-cool-gray-500{--bg-opacity:1;background-color:#64748b;background-color:rgba(100,116,139,var(--bg-opacity))}.group:hover .lg\:group-hover\:bg-cool-gray-600{--bg-opacity:1;background-color:#475569;background-color:rgba(71,85,105,var(--bg-opacity))}.group:hover .lg\:group-hover\:bg-cool-gray-700{--bg-opacity:1;background-color:#364152;background-color:rgba(54,65,82,var(--bg-opacity))}.group:hover .lg\:group-hover\:bg-cool-gray-800{--bg-opacity:1;background-color:#27303f;background-color:rgba(39,48,63,var(--bg-opacity))}.group:hover .lg\:group-hover\:bg-cool-gray-900{--bg-opacity:1;background-color:#1a202e;background-color:rgba(26,32,46,var(--bg-opacity))}.group:hover .lg\:group-hover\:bg-red-50{--bg-opacity:1;background-color:#fdf2f2;background-color:rgba(253,242,242,var(--bg-opacity))}.group:hover .lg\:group-hover\:bg-red-100{--bg-opacity:1;background-color:#fde8e8;background-color:rgba(253,232,232,var(--bg-opacity))}.group:hover .lg\:group-hover\:bg-red-200{--bg-opacity:1;background-color:#fbd5d5;background-color:rgba(251,213,213,var(--bg-opacity))}.group:hover .lg\:group-hover\:bg-red-300{--bg-opacity:1;background-color:#f8b4b4;background-color:rgba(248,180,180,var(--bg-opacity))}.group:hover .lg\:group-hover\:bg-red-400{--bg-opacity:1;background-color:#f98080;background-color:rgba(249,128,128,var(--bg-opacity))}.group:hover .lg\:group-hover\:bg-red-500{--bg-opacity:1;background-color:#f05252;background-color:rgba(240,82,82,var(--bg-opacity))}.group:hover .lg\:group-hover\:bg-red-600{--bg-opacity:1;background-color:#e02424;background-color:rgba(224,36,36,var(--bg-opacity))}.group:hover .lg\:group-hover\:bg-red-700{--bg-opacity:1;background-color:#c81e1e;background-color:rgba(200,30,30,var(--bg-opacity))}.group:hover .lg\:group-hover\:bg-red-800{--bg-opacity:1;background-color:#9b1c1c;background-color:rgba(155,28,28,var(--bg-opacity))}.group:hover .lg\:group-hover\:bg-red-900{--bg-opacity:1;background-color:#771d1d;background-color:rgba(119,29,29,var(--bg-opacity))}.group:hover .lg\:group-hover\:bg-orange-50{--bg-opacity:1;background-color:#fff8f1;background-color:rgba(255,248,241,var(--bg-opacity))}.group:hover .lg\:group-hover\:bg-orange-100{--bg-opacity:1;background-color:#feecdc;background-color:rgba(254,236,220,var(--bg-opacity))}.group:hover .lg\:group-hover\:bg-orange-200{--bg-opacity:1;background-color:#fcd9bd;background-color:rgba(252,217,189,var(--bg-opacity))}.group:hover .lg\:group-hover\:bg-orange-300{--bg-opacity:1;background-color:#fdba8c;background-color:rgba(253,186,140,var(--bg-opacity))}.group:hover .lg\:group-hover\:bg-orange-400{--bg-opacity:1;background-color:#ff8a4c;background-color:rgba(255,138,76,var(--bg-opacity))}.group:hover .lg\:group-hover\:bg-orange-500{--bg-opacity:1;background-color:#ff5a1f;background-color:rgba(255,90,31,var(--bg-opacity))}.group:hover .lg\:group-hover\:bg-orange-600{--bg-opacity:1;background-color:#d03801;background-color:rgba(208,56,1,var(--bg-opacity))}.group:hover .lg\:group-hover\:bg-orange-700{--bg-opacity:1;background-color:#b43403;background-color:rgba(180,52,3,var(--bg-opacity))}.group:hover .lg\:group-hover\:bg-orange-800{--bg-opacity:1;background-color:#8a2c0d;background-color:rgba(138,44,13,var(--bg-opacity))}.group:hover .lg\:group-hover\:bg-orange-900{--bg-opacity:1;background-color:#73230d;background-color:rgba(115,35,13,var(--bg-opacity))}.group:hover .lg\:group-hover\:bg-yellow-50{--bg-opacity:1;background-color:#fdfdea;background-color:rgba(253,253,234,var(--bg-opacity))}.group:hover .lg\:group-hover\:bg-yellow-100{--bg-opacity:1;background-color:#fdf6b2;background-color:rgba(253,246,178,var(--bg-opacity))}.group:hover .lg\:group-hover\:bg-yellow-200{--bg-opacity:1;background-color:#fce96a;background-color:rgba(252,233,106,var(--bg-opacity))}.group:hover .lg\:group-hover\:bg-yellow-300{--bg-opacity:1;background-color:#faca15;background-color:rgba(250,202,21,var(--bg-opacity))}.group:hover .lg\:group-hover\:bg-yellow-400{--bg-opacity:1;background-color:#e3a008;background-color:rgba(227,160,8,var(--bg-opacity))}.group:hover .lg\:group-hover\:bg-yellow-500{--bg-opacity:1;background-color:#c27803;background-color:rgba(194,120,3,var(--bg-opacity))}.group:hover .lg\:group-hover\:bg-yellow-600{--bg-opacity:1;background-color:#9f580a;background-color:rgba(159,88,10,var(--bg-opacity))}.group:hover .lg\:group-hover\:bg-yellow-700{--bg-opacity:1;background-color:#8e4b10;background-color:rgba(142,75,16,var(--bg-opacity))}.group:hover .lg\:group-hover\:bg-yellow-800{--bg-opacity:1;background-color:#723b13;background-color:rgba(114,59,19,var(--bg-opacity))}.group:hover .lg\:group-hover\:bg-yellow-900{--bg-opacity:1;background-color:#633112;background-color:rgba(99,49,18,var(--bg-opacity))}.group:hover .lg\:group-hover\:bg-green-50{--bg-opacity:1;background-color:#f3faf7;background-color:rgba(243,250,247,var(--bg-opacity))}.group:hover .lg\:group-hover\:bg-green-100{--bg-opacity:1;background-color:#def7ec;background-color:rgba(222,247,236,var(--bg-opacity))}.group:hover .lg\:group-hover\:bg-green-200{--bg-opacity:1;background-color:#bcf0da;background-color:rgba(188,240,218,var(--bg-opacity))}.group:hover .lg\:group-hover\:bg-green-300{--bg-opacity:1;background-color:#84e1bc;background-color:rgba(132,225,188,var(--bg-opacity))}.group:hover .lg\:group-hover\:bg-green-400{--bg-opacity:1;background-color:#31c48d;background-color:rgba(49,196,141,var(--bg-opacity))}.group:hover .lg\:group-hover\:bg-green-500{--bg-opacity:1;background-color:#0e9f6e;background-color:rgba(14,159,110,var(--bg-opacity))}.group:hover .lg\:group-hover\:bg-green-600{--bg-opacity:1;background-color:#057a55;background-color:rgba(5,122,85,var(--bg-opacity))}.group:hover .lg\:group-hover\:bg-green-700{--bg-opacity:1;background-color:#046c4e;background-color:rgba(4,108,78,var(--bg-opacity))}.group:hover .lg\:group-hover\:bg-green-800{--bg-opacity:1;background-color:#03543f;background-color:rgba(3,84,63,var(--bg-opacity))}.group:hover .lg\:group-hover\:bg-green-900{--bg-opacity:1;background-color:#014737;background-color:rgba(1,71,55,var(--bg-opacity))}.group:hover .lg\:group-hover\:bg-teal-50{--bg-opacity:1;background-color:#edfafa;background-color:rgba(237,250,250,var(--bg-opacity))}.group:hover .lg\:group-hover\:bg-teal-100{--bg-opacity:1;background-color:#d5f5f6;background-color:rgba(213,245,246,var(--bg-opacity))}.group:hover .lg\:group-hover\:bg-teal-200{--bg-opacity:1;background-color:#afecef;background-color:rgba(175,236,239,var(--bg-opacity))}.group:hover .lg\:group-hover\:bg-teal-300{--bg-opacity:1;background-color:#7edce2;background-color:rgba(126,220,226,var(--bg-opacity))}.group:hover .lg\:group-hover\:bg-teal-400{--bg-opacity:1;background-color:#16bdca;background-color:rgba(22,189,202,var(--bg-opacity))}.group:hover .lg\:group-hover\:bg-teal-500{--bg-opacity:1;background-color:#0694a2;background-color:rgba(6,148,162,var(--bg-opacity))}.group:hover .lg\:group-hover\:bg-teal-600{--bg-opacity:1;background-color:#047481;background-color:rgba(4,116,129,var(--bg-opacity))}.group:hover .lg\:group-hover\:bg-teal-700{--bg-opacity:1;background-color:#036672;background-color:rgba(3,102,114,var(--bg-opacity))}.group:hover .lg\:group-hover\:bg-teal-800{--bg-opacity:1;background-color:#05505c;background-color:rgba(5,80,92,var(--bg-opacity))}.group:hover .lg\:group-hover\:bg-teal-900{--bg-opacity:1;background-color:#014451;background-color:rgba(1,68,81,var(--bg-opacity))}.group:hover .lg\:group-hover\:bg-blue-50{--bg-opacity:1;background-color:#ebf5ff;background-color:rgba(235,245,255,var(--bg-opacity))}.group:hover .lg\:group-hover\:bg-blue-100{--bg-opacity:1;background-color:#e1effe;background-color:rgba(225,239,254,var(--bg-opacity))}.group:hover .lg\:group-hover\:bg-blue-200{--bg-opacity:1;background-color:#c3ddfd;background-color:rgba(195,221,253,var(--bg-opacity))}.group:hover .lg\:group-hover\:bg-blue-300{--bg-opacity:1;background-color:#a4cafe;background-color:rgba(164,202,254,var(--bg-opacity))}.group:hover .lg\:group-hover\:bg-blue-400{--bg-opacity:1;background-color:#76a9fa;background-color:rgba(118,169,250,var(--bg-opacity))}.group:hover .lg\:group-hover\:bg-blue-500{--bg-opacity:1;background-color:#3f83f8;background-color:rgba(63,131,248,var(--bg-opacity))}.group:hover .lg\:group-hover\:bg-blue-600{--bg-opacity:1;background-color:#1c64f2;background-color:rgba(28,100,242,var(--bg-opacity))}.group:hover .lg\:group-hover\:bg-blue-700{--bg-opacity:1;background-color:#1a56db;background-color:rgba(26,86,219,var(--bg-opacity))}.group:hover .lg\:group-hover\:bg-blue-800{--bg-opacity:1;background-color:#1e429f;background-color:rgba(30,66,159,var(--bg-opacity))}.group:hover .lg\:group-hover\:bg-blue-900{--bg-opacity:1;background-color:#233876;background-color:rgba(35,56,118,var(--bg-opacity))}.group:hover .lg\:group-hover\:bg-indigo-50{--bg-opacity:1;background-color:#f0f5ff;background-color:rgba(240,245,255,var(--bg-opacity))}.group:hover .lg\:group-hover\:bg-indigo-100{--bg-opacity:1;background-color:#e5edff;background-color:rgba(229,237,255,var(--bg-opacity))}.group:hover .lg\:group-hover\:bg-indigo-200{--bg-opacity:1;background-color:#cddbfe;background-color:rgba(205,219,254,var(--bg-opacity))}.group:hover .lg\:group-hover\:bg-indigo-300{--bg-opacity:1;background-color:#b4c6fc;background-color:rgba(180,198,252,var(--bg-opacity))}.group:hover .lg\:group-hover\:bg-indigo-400{--bg-opacity:1;background-color:#8da2fb;background-color:rgba(141,162,251,var(--bg-opacity))}.group:hover .lg\:group-hover\:bg-indigo-500{--bg-opacity:1;background-color:#6875f5;background-color:rgba(104,117,245,var(--bg-opacity))}.group:hover .lg\:group-hover\:bg-indigo-600{--bg-opacity:1;background-color:#5850ec;background-color:rgba(88,80,236,var(--bg-opacity))}.group:hover .lg\:group-hover\:bg-indigo-700{--bg-opacity:1;background-color:#5145cd;background-color:rgba(81,69,205,var(--bg-opacity))}.group:hover .lg\:group-hover\:bg-indigo-800{--bg-opacity:1;background-color:#42389d;background-color:rgba(66,56,157,var(--bg-opacity))}.group:hover .lg\:group-hover\:bg-indigo-900{--bg-opacity:1;background-color:#362f78;background-color:rgba(54,47,120,var(--bg-opacity))}.group:hover .lg\:group-hover\:bg-purple-50{--bg-opacity:1;background-color:#f6f5ff;background-color:rgba(246,245,255,var(--bg-opacity))}.group:hover .lg\:group-hover\:bg-purple-100{--bg-opacity:1;background-color:#edebfe;background-color:rgba(237,235,254,var(--bg-opacity))}.group:hover .lg\:group-hover\:bg-purple-200{--bg-opacity:1;background-color:#dcd7fe;background-color:rgba(220,215,254,var(--bg-opacity))}.group:hover .lg\:group-hover\:bg-purple-300{--bg-opacity:1;background-color:#cabffd;background-color:rgba(202,191,253,var(--bg-opacity))}.group:hover .lg\:group-hover\:bg-purple-400{--bg-opacity:1;background-color:#ac94fa;background-color:rgba(172,148,250,var(--bg-opacity))}.group:hover .lg\:group-hover\:bg-purple-500{--bg-opacity:1;background-color:#9061f9;background-color:rgba(144,97,249,var(--bg-opacity))}.group:hover .lg\:group-hover\:bg-purple-600{--bg-opacity:1;background-color:#7e3af2;background-color:rgba(126,58,242,var(--bg-opacity))}.group:hover .lg\:group-hover\:bg-purple-700{--bg-opacity:1;background-color:#6c2bd9;background-color:rgba(108,43,217,var(--bg-opacity))}.group:hover .lg\:group-hover\:bg-purple-800{--bg-opacity:1;background-color:#5521b5;background-color:rgba(85,33,181,var(--bg-opacity))}.group:hover .lg\:group-hover\:bg-purple-900{--bg-opacity:1;background-color:#4a1d96;background-color:rgba(74,29,150,var(--bg-opacity))}.group:hover .lg\:group-hover\:bg-pink-50{--bg-opacity:1;background-color:#fdf2f8;background-color:rgba(253,242,248,var(--bg-opacity))}.group:hover .lg\:group-hover\:bg-pink-100{--bg-opacity:1;background-color:#fce8f3;background-color:rgba(252,232,243,var(--bg-opacity))}.group:hover .lg\:group-hover\:bg-pink-200{--bg-opacity:1;background-color:#fad1e8;background-color:rgba(250,209,232,var(--bg-opacity))}.group:hover .lg\:group-hover\:bg-pink-300{--bg-opacity:1;background-color:#f8b4d9;background-color:rgba(248,180,217,var(--bg-opacity))}.group:hover .lg\:group-hover\:bg-pink-400{--bg-opacity:1;background-color:#f17eb8;background-color:rgba(241,126,184,var(--bg-opacity))}.group:hover .lg\:group-hover\:bg-pink-500{--bg-opacity:1;background-color:#e74694;background-color:rgba(231,70,148,var(--bg-opacity))}.group:hover .lg\:group-hover\:bg-pink-600{--bg-opacity:1;background-color:#d61f69;background-color:rgba(214,31,105,var(--bg-opacity))}.group:hover .lg\:group-hover\:bg-pink-700{--bg-opacity:1;background-color:#bf125d;background-color:rgba(191,18,93,var(--bg-opacity))}.group:hover .lg\:group-hover\:bg-pink-800{--bg-opacity:1;background-color:#99154b;background-color:rgba(153,21,75,var(--bg-opacity))}.group:hover .lg\:group-hover\:bg-pink-900{--bg-opacity:1;background-color:#751a3d;background-color:rgba(117,26,61,var(--bg-opacity))}.group:focus .lg\:group-focus\:bg-transparent{background-color:transparent}.group:focus .lg\:group-focus\:bg-white{--bg-opacity:1;background-color:#fff;background-color:rgba(255,255,255,var(--bg-opacity))}.group:focus .lg\:group-focus\:bg-black{--bg-opacity:1;background-color:#000;background-color:rgba(0,0,0,var(--bg-opacity))}.group:focus .lg\:group-focus\:bg-gray-50{--bg-opacity:1;background-color:#f9fafb;background-color:rgba(249,250,251,var(--bg-opacity))}.group:focus .lg\:group-focus\:bg-gray-100{--bg-opacity:1;background-color:#f4f5f7;background-color:rgba(244,245,247,var(--bg-opacity))}.group:focus .lg\:group-focus\:bg-gray-200{--bg-opacity:1;background-color:#e5e7eb;background-color:rgba(229,231,235,var(--bg-opacity))}.group:focus .lg\:group-focus\:bg-gray-300{--bg-opacity:1;background-color:#d2d6dc;background-color:rgba(210,214,220,var(--bg-opacity))}.group:focus .lg\:group-focus\:bg-gray-400{--bg-opacity:1;background-color:#9fa6b2;background-color:rgba(159,166,178,var(--bg-opacity))}.group:focus .lg\:group-focus\:bg-gray-500{--bg-opacity:1;background-color:#6b7280;background-color:rgba(107,114,128,var(--bg-opacity))}.group:focus .lg\:group-focus\:bg-gray-600{--bg-opacity:1;background-color:#4b5563;background-color:rgba(75,85,99,var(--bg-opacity))}.group:focus .lg\:group-focus\:bg-gray-700{--bg-opacity:1;background-color:#374151;background-color:rgba(55,65,81,var(--bg-opacity))}.group:focus .lg\:group-focus\:bg-gray-800{--bg-opacity:1;background-color:#252f3f;background-color:rgba(37,47,63,var(--bg-opacity))}.group:focus .lg\:group-focus\:bg-gray-900{--bg-opacity:1;background-color:#161e2e;background-color:rgba(22,30,46,var(--bg-opacity))}.group:focus .lg\:group-focus\:bg-cool-gray-50{--bg-opacity:1;background-color:#f8fafc;background-color:rgba(248,250,252,var(--bg-opacity))}.group:focus .lg\:group-focus\:bg-cool-gray-100{--bg-opacity:1;background-color:#f1f5f9;background-color:rgba(241,245,249,var(--bg-opacity))}.group:focus .lg\:group-focus\:bg-cool-gray-200{--bg-opacity:1;background-color:#e2e8f0;background-color:rgba(226,232,240,var(--bg-opacity))}.group:focus .lg\:group-focus\:bg-cool-gray-300{--bg-opacity:1;background-color:#cfd8e3;background-color:rgba(207,216,227,var(--bg-opacity))}.group:focus .lg\:group-focus\:bg-cool-gray-400{--bg-opacity:1;background-color:#97a6ba;background-color:rgba(151,166,186,var(--bg-opacity))}.group:focus .lg\:group-focus\:bg-cool-gray-500{--bg-opacity:1;background-color:#64748b;background-color:rgba(100,116,139,var(--bg-opacity))}.group:focus .lg\:group-focus\:bg-cool-gray-600{--bg-opacity:1;background-color:#475569;background-color:rgba(71,85,105,var(--bg-opacity))}.group:focus .lg\:group-focus\:bg-cool-gray-700{--bg-opacity:1;background-color:#364152;background-color:rgba(54,65,82,var(--bg-opacity))}.group:focus .lg\:group-focus\:bg-cool-gray-800{--bg-opacity:1;background-color:#27303f;background-color:rgba(39,48,63,var(--bg-opacity))}.group:focus .lg\:group-focus\:bg-cool-gray-900{--bg-opacity:1;background-color:#1a202e;background-color:rgba(26,32,46,var(--bg-opacity))}.group:focus .lg\:group-focus\:bg-red-50{--bg-opacity:1;background-color:#fdf2f2;background-color:rgba(253,242,242,var(--bg-opacity))}.group:focus .lg\:group-focus\:bg-red-100{--bg-opacity:1;background-color:#fde8e8;background-color:rgba(253,232,232,var(--bg-opacity))}.group:focus .lg\:group-focus\:bg-red-200{--bg-opacity:1;background-color:#fbd5d5;background-color:rgba(251,213,213,var(--bg-opacity))}.group:focus .lg\:group-focus\:bg-red-300{--bg-opacity:1;background-color:#f8b4b4;background-color:rgba(248,180,180,var(--bg-opacity))}.group:focus .lg\:group-focus\:bg-red-400{--bg-opacity:1;background-color:#f98080;background-color:rgba(249,128,128,var(--bg-opacity))}.group:focus .lg\:group-focus\:bg-red-500{--bg-opacity:1;background-color:#f05252;background-color:rgba(240,82,82,var(--bg-opacity))}.group:focus .lg\:group-focus\:bg-red-600{--bg-opacity:1;background-color:#e02424;background-color:rgba(224,36,36,var(--bg-opacity))}.group:focus .lg\:group-focus\:bg-red-700{--bg-opacity:1;background-color:#c81e1e;background-color:rgba(200,30,30,var(--bg-opacity))}.group:focus .lg\:group-focus\:bg-red-800{--bg-opacity:1;background-color:#9b1c1c;background-color:rgba(155,28,28,var(--bg-opacity))}.group:focus .lg\:group-focus\:bg-red-900{--bg-opacity:1;background-color:#771d1d;background-color:rgba(119,29,29,var(--bg-opacity))}.group:focus .lg\:group-focus\:bg-orange-50{--bg-opacity:1;background-color:#fff8f1;background-color:rgba(255,248,241,var(--bg-opacity))}.group:focus .lg\:group-focus\:bg-orange-100{--bg-opacity:1;background-color:#feecdc;background-color:rgba(254,236,220,var(--bg-opacity))}.group:focus .lg\:group-focus\:bg-orange-200{--bg-opacity:1;background-color:#fcd9bd;background-color:rgba(252,217,189,var(--bg-opacity))}.group:focus .lg\:group-focus\:bg-orange-300{--bg-opacity:1;background-color:#fdba8c;background-color:rgba(253,186,140,var(--bg-opacity))}.group:focus .lg\:group-focus\:bg-orange-400{--bg-opacity:1;background-color:#ff8a4c;background-color:rgba(255,138,76,var(--bg-opacity))}.group:focus .lg\:group-focus\:bg-orange-500{--bg-opacity:1;background-color:#ff5a1f;background-color:rgba(255,90,31,var(--bg-opacity))}.group:focus .lg\:group-focus\:bg-orange-600{--bg-opacity:1;background-color:#d03801;background-color:rgba(208,56,1,var(--bg-opacity))}.group:focus .lg\:group-focus\:bg-orange-700{--bg-opacity:1;background-color:#b43403;background-color:rgba(180,52,3,var(--bg-opacity))}.group:focus .lg\:group-focus\:bg-orange-800{--bg-opacity:1;background-color:#8a2c0d;background-color:rgba(138,44,13,var(--bg-opacity))}.group:focus .lg\:group-focus\:bg-orange-900{--bg-opacity:1;background-color:#73230d;background-color:rgba(115,35,13,var(--bg-opacity))}.group:focus .lg\:group-focus\:bg-yellow-50{--bg-opacity:1;background-color:#fdfdea;background-color:rgba(253,253,234,var(--bg-opacity))}.group:focus .lg\:group-focus\:bg-yellow-100{--bg-opacity:1;background-color:#fdf6b2;background-color:rgba(253,246,178,var(--bg-opacity))}.group:focus .lg\:group-focus\:bg-yellow-200{--bg-opacity:1;background-color:#fce96a;background-color:rgba(252,233,106,var(--bg-opacity))}.group:focus .lg\:group-focus\:bg-yellow-300{--bg-opacity:1;background-color:#faca15;background-color:rgba(250,202,21,var(--bg-opacity))}.group:focus .lg\:group-focus\:bg-yellow-400{--bg-opacity:1;background-color:#e3a008;background-color:rgba(227,160,8,var(--bg-opacity))}.group:focus .lg\:group-focus\:bg-yellow-500{--bg-opacity:1;background-color:#c27803;background-color:rgba(194,120,3,var(--bg-opacity))}.group:focus .lg\:group-focus\:bg-yellow-600{--bg-opacity:1;background-color:#9f580a;background-color:rgba(159,88,10,var(--bg-opacity))}.group:focus .lg\:group-focus\:bg-yellow-700{--bg-opacity:1;background-color:#8e4b10;background-color:rgba(142,75,16,var(--bg-opacity))}.group:focus .lg\:group-focus\:bg-yellow-800{--bg-opacity:1;background-color:#723b13;background-color:rgba(114,59,19,var(--bg-opacity))}.group:focus .lg\:group-focus\:bg-yellow-900{--bg-opacity:1;background-color:#633112;background-color:rgba(99,49,18,var(--bg-opacity))}.group:focus .lg\:group-focus\:bg-green-50{--bg-opacity:1;background-color:#f3faf7;background-color:rgba(243,250,247,var(--bg-opacity))}.group:focus .lg\:group-focus\:bg-green-100{--bg-opacity:1;background-color:#def7ec;background-color:rgba(222,247,236,var(--bg-opacity))}.group:focus .lg\:group-focus\:bg-green-200{--bg-opacity:1;background-color:#bcf0da;background-color:rgba(188,240,218,var(--bg-opacity))}.group:focus .lg\:group-focus\:bg-green-300{--bg-opacity:1;background-color:#84e1bc;background-color:rgba(132,225,188,var(--bg-opacity))}.group:focus .lg\:group-focus\:bg-green-400{--bg-opacity:1;background-color:#31c48d;background-color:rgba(49,196,141,var(--bg-opacity))}.group:focus .lg\:group-focus\:bg-green-500{--bg-opacity:1;background-color:#0e9f6e;background-color:rgba(14,159,110,var(--bg-opacity))}.group:focus .lg\:group-focus\:bg-green-600{--bg-opacity:1;background-color:#057a55;background-color:rgba(5,122,85,var(--bg-opacity))}.group:focus .lg\:group-focus\:bg-green-700{--bg-opacity:1;background-color:#046c4e;background-color:rgba(4,108,78,var(--bg-opacity))}.group:focus .lg\:group-focus\:bg-green-800{--bg-opacity:1;background-color:#03543f;background-color:rgba(3,84,63,var(--bg-opacity))}.group:focus .lg\:group-focus\:bg-green-900{--bg-opacity:1;background-color:#014737;background-color:rgba(1,71,55,var(--bg-opacity))}.group:focus .lg\:group-focus\:bg-teal-50{--bg-opacity:1;background-color:#edfafa;background-color:rgba(237,250,250,var(--bg-opacity))}.group:focus .lg\:group-focus\:bg-teal-100{--bg-opacity:1;background-color:#d5f5f6;background-color:rgba(213,245,246,var(--bg-opacity))}.group:focus .lg\:group-focus\:bg-teal-200{--bg-opacity:1;background-color:#afecef;background-color:rgba(175,236,239,var(--bg-opacity))}.group:focus .lg\:group-focus\:bg-teal-300{--bg-opacity:1;background-color:#7edce2;background-color:rgba(126,220,226,var(--bg-opacity))}.group:focus .lg\:group-focus\:bg-teal-400{--bg-opacity:1;background-color:#16bdca;background-color:rgba(22,189,202,var(--bg-opacity))}.group:focus .lg\:group-focus\:bg-teal-500{--bg-opacity:1;background-color:#0694a2;background-color:rgba(6,148,162,var(--bg-opacity))}.group:focus .lg\:group-focus\:bg-teal-600{--bg-opacity:1;background-color:#047481;background-color:rgba(4,116,129,var(--bg-opacity))}.group:focus .lg\:group-focus\:bg-teal-700{--bg-opacity:1;background-color:#036672;background-color:rgba(3,102,114,var(--bg-opacity))}.group:focus .lg\:group-focus\:bg-teal-800{--bg-opacity:1;background-color:#05505c;background-color:rgba(5,80,92,var(--bg-opacity))}.group:focus .lg\:group-focus\:bg-teal-900{--bg-opacity:1;background-color:#014451;background-color:rgba(1,68,81,var(--bg-opacity))}.group:focus .lg\:group-focus\:bg-blue-50{--bg-opacity:1;background-color:#ebf5ff;background-color:rgba(235,245,255,var(--bg-opacity))}.group:focus .lg\:group-focus\:bg-blue-100{--bg-opacity:1;background-color:#e1effe;background-color:rgba(225,239,254,var(--bg-opacity))}.group:focus .lg\:group-focus\:bg-blue-200{--bg-opacity:1;background-color:#c3ddfd;background-color:rgba(195,221,253,var(--bg-opacity))}.group:focus .lg\:group-focus\:bg-blue-300{--bg-opacity:1;background-color:#a4cafe;background-color:rgba(164,202,254,var(--bg-opacity))}.group:focus .lg\:group-focus\:bg-blue-400{--bg-opacity:1;background-color:#76a9fa;background-color:rgba(118,169,250,var(--bg-opacity))}.group:focus .lg\:group-focus\:bg-blue-500{--bg-opacity:1;background-color:#3f83f8;background-color:rgba(63,131,248,var(--bg-opacity))}.group:focus .lg\:group-focus\:bg-blue-600{--bg-opacity:1;background-color:#1c64f2;background-color:rgba(28,100,242,var(--bg-opacity))}.group:focus .lg\:group-focus\:bg-blue-700{--bg-opacity:1;background-color:#1a56db;background-color:rgba(26,86,219,var(--bg-opacity))}.group:focus .lg\:group-focus\:bg-blue-800{--bg-opacity:1;background-color:#1e429f;background-color:rgba(30,66,159,var(--bg-opacity))}.group:focus .lg\:group-focus\:bg-blue-900{--bg-opacity:1;background-color:#233876;background-color:rgba(35,56,118,var(--bg-opacity))}.group:focus .lg\:group-focus\:bg-indigo-50{--bg-opacity:1;background-color:#f0f5ff;background-color:rgba(240,245,255,var(--bg-opacity))}.group:focus .lg\:group-focus\:bg-indigo-100{--bg-opacity:1;background-color:#e5edff;background-color:rgba(229,237,255,var(--bg-opacity))}.group:focus .lg\:group-focus\:bg-indigo-200{--bg-opacity:1;background-color:#cddbfe;background-color:rgba(205,219,254,var(--bg-opacity))}.group:focus .lg\:group-focus\:bg-indigo-300{--bg-opacity:1;background-color:#b4c6fc;background-color:rgba(180,198,252,var(--bg-opacity))}.group:focus .lg\:group-focus\:bg-indigo-400{--bg-opacity:1;background-color:#8da2fb;background-color:rgba(141,162,251,var(--bg-opacity))}.group:focus .lg\:group-focus\:bg-indigo-500{--bg-opacity:1;background-color:#6875f5;background-color:rgba(104,117,245,var(--bg-opacity))}.group:focus .lg\:group-focus\:bg-indigo-600{--bg-opacity:1;background-color:#5850ec;background-color:rgba(88,80,236,var(--bg-opacity))}.group:focus .lg\:group-focus\:bg-indigo-700{--bg-opacity:1;background-color:#5145cd;background-color:rgba(81,69,205,var(--bg-opacity))}.group:focus .lg\:group-focus\:bg-indigo-800{--bg-opacity:1;background-color:#42389d;background-color:rgba(66,56,157,var(--bg-opacity))}.group:focus .lg\:group-focus\:bg-indigo-900{--bg-opacity:1;background-color:#362f78;background-color:rgba(54,47,120,var(--bg-opacity))}.group:focus .lg\:group-focus\:bg-purple-50{--bg-opacity:1;background-color:#f6f5ff;background-color:rgba(246,245,255,var(--bg-opacity))}.group:focus .lg\:group-focus\:bg-purple-100{--bg-opacity:1;background-color:#edebfe;background-color:rgba(237,235,254,var(--bg-opacity))}.group:focus .lg\:group-focus\:bg-purple-200{--bg-opacity:1;background-color:#dcd7fe;background-color:rgba(220,215,254,var(--bg-opacity))}.group:focus .lg\:group-focus\:bg-purple-300{--bg-opacity:1;background-color:#cabffd;background-color:rgba(202,191,253,var(--bg-opacity))}.group:focus .lg\:group-focus\:bg-purple-400{--bg-opacity:1;background-color:#ac94fa;background-color:rgba(172,148,250,var(--bg-opacity))}.group:focus .lg\:group-focus\:bg-purple-500{--bg-opacity:1;background-color:#9061f9;background-color:rgba(144,97,249,var(--bg-opacity))}.group:focus .lg\:group-focus\:bg-purple-600{--bg-opacity:1;background-color:#7e3af2;background-color:rgba(126,58,242,var(--bg-opacity))}.group:focus .lg\:group-focus\:bg-purple-700{--bg-opacity:1;background-color:#6c2bd9;background-color:rgba(108,43,217,var(--bg-opacity))}.group:focus .lg\:group-focus\:bg-purple-800{--bg-opacity:1;background-color:#5521b5;background-color:rgba(85,33,181,var(--bg-opacity))}.group:focus .lg\:group-focus\:bg-purple-900{--bg-opacity:1;background-color:#4a1d96;background-color:rgba(74,29,150,var(--bg-opacity))}.group:focus .lg\:group-focus\:bg-pink-50{--bg-opacity:1;background-color:#fdf2f8;background-color:rgba(253,242,248,var(--bg-opacity))}.group:focus .lg\:group-focus\:bg-pink-100{--bg-opacity:1;background-color:#fce8f3;background-color:rgba(252,232,243,var(--bg-opacity))}.group:focus .lg\:group-focus\:bg-pink-200{--bg-opacity:1;background-color:#fad1e8;background-color:rgba(250,209,232,var(--bg-opacity))}.group:focus .lg\:group-focus\:bg-pink-300{--bg-opacity:1;background-color:#f8b4d9;background-color:rgba(248,180,217,var(--bg-opacity))}.group:focus .lg\:group-focus\:bg-pink-400{--bg-opacity:1;background-color:#f17eb8;background-color:rgba(241,126,184,var(--bg-opacity))}.group:focus .lg\:group-focus\:bg-pink-500{--bg-opacity:1;background-color:#e74694;background-color:rgba(231,70,148,var(--bg-opacity))}.group:focus .lg\:group-focus\:bg-pink-600{--bg-opacity:1;background-color:#d61f69;background-color:rgba(214,31,105,var(--bg-opacity))}.group:focus .lg\:group-focus\:bg-pink-700{--bg-opacity:1;background-color:#bf125d;background-color:rgba(191,18,93,var(--bg-opacity))}.group:focus .lg\:group-focus\:bg-pink-800{--bg-opacity:1;background-color:#99154b;background-color:rgba(153,21,75,var(--bg-opacity))}.group:focus .lg\:group-focus\:bg-pink-900{--bg-opacity:1;background-color:#751a3d;background-color:rgba(117,26,61,var(--bg-opacity))}.lg\:hover\:bg-transparent:hover{background-color:transparent}.lg\:hover\:bg-white:hover{--bg-opacity:1;background-color:#fff;background-color:rgba(255,255,255,var(--bg-opacity))}.lg\:hover\:bg-black:hover{--bg-opacity:1;background-color:#000;background-color:rgba(0,0,0,var(--bg-opacity))}.lg\:hover\:bg-gray-50:hover{--bg-opacity:1;background-color:#f9fafb;background-color:rgba(249,250,251,var(--bg-opacity))}.lg\:hover\:bg-gray-100:hover{--bg-opacity:1;background-color:#f4f5f7;background-color:rgba(244,245,247,var(--bg-opacity))}.lg\:hover\:bg-gray-200:hover{--bg-opacity:1;background-color:#e5e7eb;background-color:rgba(229,231,235,var(--bg-opacity))}.lg\:hover\:bg-gray-300:hover{--bg-opacity:1;background-color:#d2d6dc;background-color:rgba(210,214,220,var(--bg-opacity))}.lg\:hover\:bg-gray-400:hover{--bg-opacity:1;background-color:#9fa6b2;background-color:rgba(159,166,178,var(--bg-opacity))}.lg\:hover\:bg-gray-500:hover{--bg-opacity:1;background-color:#6b7280;background-color:rgba(107,114,128,var(--bg-opacity))}.lg\:hover\:bg-gray-600:hover{--bg-opacity:1;background-color:#4b5563;background-color:rgba(75,85,99,var(--bg-opacity))}.lg\:hover\:bg-gray-700:hover{--bg-opacity:1;background-color:#374151;background-color:rgba(55,65,81,var(--bg-opacity))}.lg\:hover\:bg-gray-800:hover{--bg-opacity:1;background-color:#252f3f;background-color:rgba(37,47,63,var(--bg-opacity))}.lg\:hover\:bg-gray-900:hover{--bg-opacity:1;background-color:#161e2e;background-color:rgba(22,30,46,var(--bg-opacity))}.lg\:hover\:bg-cool-gray-50:hover{--bg-opacity:1;background-color:#f8fafc;background-color:rgba(248,250,252,var(--bg-opacity))}.lg\:hover\:bg-cool-gray-100:hover{--bg-opacity:1;background-color:#f1f5f9;background-color:rgba(241,245,249,var(--bg-opacity))}.lg\:hover\:bg-cool-gray-200:hover{--bg-opacity:1;background-color:#e2e8f0;background-color:rgba(226,232,240,var(--bg-opacity))}.lg\:hover\:bg-cool-gray-300:hover{--bg-opacity:1;background-color:#cfd8e3;background-color:rgba(207,216,227,var(--bg-opacity))}.lg\:hover\:bg-cool-gray-400:hover{--bg-opacity:1;background-color:#97a6ba;background-color:rgba(151,166,186,var(--bg-opacity))}.lg\:hover\:bg-cool-gray-500:hover{--bg-opacity:1;background-color:#64748b;background-color:rgba(100,116,139,var(--bg-opacity))}.lg\:hover\:bg-cool-gray-600:hover{--bg-opacity:1;background-color:#475569;background-color:rgba(71,85,105,var(--bg-opacity))}.lg\:hover\:bg-cool-gray-700:hover{--bg-opacity:1;background-color:#364152;background-color:rgba(54,65,82,var(--bg-opacity))}.lg\:hover\:bg-cool-gray-800:hover{--bg-opacity:1;background-color:#27303f;background-color:rgba(39,48,63,var(--bg-opacity))}.lg\:hover\:bg-cool-gray-900:hover{--bg-opacity:1;background-color:#1a202e;background-color:rgba(26,32,46,var(--bg-opacity))}.lg\:hover\:bg-red-50:hover{--bg-opacity:1;background-color:#fdf2f2;background-color:rgba(253,242,242,var(--bg-opacity))}.lg\:hover\:bg-red-100:hover{--bg-opacity:1;background-color:#fde8e8;background-color:rgba(253,232,232,var(--bg-opacity))}.lg\:hover\:bg-red-200:hover{--bg-opacity:1;background-color:#fbd5d5;background-color:rgba(251,213,213,var(--bg-opacity))}.lg\:hover\:bg-red-300:hover{--bg-opacity:1;background-color:#f8b4b4;background-color:rgba(248,180,180,var(--bg-opacity))}.lg\:hover\:bg-red-400:hover{--bg-opacity:1;background-color:#f98080;background-color:rgba(249,128,128,var(--bg-opacity))}.lg\:hover\:bg-red-500:hover{--bg-opacity:1;background-color:#f05252;background-color:rgba(240,82,82,var(--bg-opacity))}.lg\:hover\:bg-red-600:hover{--bg-opacity:1;background-color:#e02424;background-color:rgba(224,36,36,var(--bg-opacity))}.lg\:hover\:bg-red-700:hover{--bg-opacity:1;background-color:#c81e1e;background-color:rgba(200,30,30,var(--bg-opacity))}.lg\:hover\:bg-red-800:hover{--bg-opacity:1;background-color:#9b1c1c;background-color:rgba(155,28,28,var(--bg-opacity))}.lg\:hover\:bg-red-900:hover{--bg-opacity:1;background-color:#771d1d;background-color:rgba(119,29,29,var(--bg-opacity))}.lg\:hover\:bg-orange-50:hover{--bg-opacity:1;background-color:#fff8f1;background-color:rgba(255,248,241,var(--bg-opacity))}.lg\:hover\:bg-orange-100:hover{--bg-opacity:1;background-color:#feecdc;background-color:rgba(254,236,220,var(--bg-opacity))}.lg\:hover\:bg-orange-200:hover{--bg-opacity:1;background-color:#fcd9bd;background-color:rgba(252,217,189,var(--bg-opacity))}.lg\:hover\:bg-orange-300:hover{--bg-opacity:1;background-color:#fdba8c;background-color:rgba(253,186,140,var(--bg-opacity))}.lg\:hover\:bg-orange-400:hover{--bg-opacity:1;background-color:#ff8a4c;background-color:rgba(255,138,76,var(--bg-opacity))}.lg\:hover\:bg-orange-500:hover{--bg-opacity:1;background-color:#ff5a1f;background-color:rgba(255,90,31,var(--bg-opacity))}.lg\:hover\:bg-orange-600:hover{--bg-opacity:1;background-color:#d03801;background-color:rgba(208,56,1,var(--bg-opacity))}.lg\:hover\:bg-orange-700:hover{--bg-opacity:1;background-color:#b43403;background-color:rgba(180,52,3,var(--bg-opacity))}.lg\:hover\:bg-orange-800:hover{--bg-opacity:1;background-color:#8a2c0d;background-color:rgba(138,44,13,var(--bg-opacity))}.lg\:hover\:bg-orange-900:hover{--bg-opacity:1;background-color:#73230d;background-color:rgba(115,35,13,var(--bg-opacity))}.lg\:hover\:bg-yellow-50:hover{--bg-opacity:1;background-color:#fdfdea;background-color:rgba(253,253,234,var(--bg-opacity))}.lg\:hover\:bg-yellow-100:hover{--bg-opacity:1;background-color:#fdf6b2;background-color:rgba(253,246,178,var(--bg-opacity))}.lg\:hover\:bg-yellow-200:hover{--bg-opacity:1;background-color:#fce96a;background-color:rgba(252,233,106,var(--bg-opacity))}.lg\:hover\:bg-yellow-300:hover{--bg-opacity:1;background-color:#faca15;background-color:rgba(250,202,21,var(--bg-opacity))}.lg\:hover\:bg-yellow-400:hover{--bg-opacity:1;background-color:#e3a008;background-color:rgba(227,160,8,var(--bg-opacity))}.lg\:hover\:bg-yellow-500:hover{--bg-opacity:1;background-color:#c27803;background-color:rgba(194,120,3,var(--bg-opacity))}.lg\:hover\:bg-yellow-600:hover{--bg-opacity:1;background-color:#9f580a;background-color:rgba(159,88,10,var(--bg-opacity))}.lg\:hover\:bg-yellow-700:hover{--bg-opacity:1;background-color:#8e4b10;background-color:rgba(142,75,16,var(--bg-opacity))}.lg\:hover\:bg-yellow-800:hover{--bg-opacity:1;background-color:#723b13;background-color:rgba(114,59,19,var(--bg-opacity))}.lg\:hover\:bg-yellow-900:hover{--bg-opacity:1;background-color:#633112;background-color:rgba(99,49,18,var(--bg-opacity))}.lg\:hover\:bg-green-50:hover{--bg-opacity:1;background-color:#f3faf7;background-color:rgba(243,250,247,var(--bg-opacity))}.lg\:hover\:bg-green-100:hover{--bg-opacity:1;background-color:#def7ec;background-color:rgba(222,247,236,var(--bg-opacity))}.lg\:hover\:bg-green-200:hover{--bg-opacity:1;background-color:#bcf0da;background-color:rgba(188,240,218,var(--bg-opacity))}.lg\:hover\:bg-green-300:hover{--bg-opacity:1;background-color:#84e1bc;background-color:rgba(132,225,188,var(--bg-opacity))}.lg\:hover\:bg-green-400:hover{--bg-opacity:1;background-color:#31c48d;background-color:rgba(49,196,141,var(--bg-opacity))}.lg\:hover\:bg-green-500:hover{--bg-opacity:1;background-color:#0e9f6e;background-color:rgba(14,159,110,var(--bg-opacity))}.lg\:hover\:bg-green-600:hover{--bg-opacity:1;background-color:#057a55;background-color:rgba(5,122,85,var(--bg-opacity))}.lg\:hover\:bg-green-700:hover{--bg-opacity:1;background-color:#046c4e;background-color:rgba(4,108,78,var(--bg-opacity))}.lg\:hover\:bg-green-800:hover{--bg-opacity:1;background-color:#03543f;background-color:rgba(3,84,63,var(--bg-opacity))}.lg\:hover\:bg-green-900:hover{--bg-opacity:1;background-color:#014737;background-color:rgba(1,71,55,var(--bg-opacity))}.lg\:hover\:bg-teal-50:hover{--bg-opacity:1;background-color:#edfafa;background-color:rgba(237,250,250,var(--bg-opacity))}.lg\:hover\:bg-teal-100:hover{--bg-opacity:1;background-color:#d5f5f6;background-color:rgba(213,245,246,var(--bg-opacity))}.lg\:hover\:bg-teal-200:hover{--bg-opacity:1;background-color:#afecef;background-color:rgba(175,236,239,var(--bg-opacity))}.lg\:hover\:bg-teal-300:hover{--bg-opacity:1;background-color:#7edce2;background-color:rgba(126,220,226,var(--bg-opacity))}.lg\:hover\:bg-teal-400:hover{--bg-opacity:1;background-color:#16bdca;background-color:rgba(22,189,202,var(--bg-opacity))}.lg\:hover\:bg-teal-500:hover{--bg-opacity:1;background-color:#0694a2;background-color:rgba(6,148,162,var(--bg-opacity))}.lg\:hover\:bg-teal-600:hover{--bg-opacity:1;background-color:#047481;background-color:rgba(4,116,129,var(--bg-opacity))}.lg\:hover\:bg-teal-700:hover{--bg-opacity:1;background-color:#036672;background-color:rgba(3,102,114,var(--bg-opacity))}.lg\:hover\:bg-teal-800:hover{--bg-opacity:1;background-color:#05505c;background-color:rgba(5,80,92,var(--bg-opacity))}.lg\:hover\:bg-teal-900:hover{--bg-opacity:1;background-color:#014451;background-color:rgba(1,68,81,var(--bg-opacity))}.lg\:hover\:bg-blue-50:hover{--bg-opacity:1;background-color:#ebf5ff;background-color:rgba(235,245,255,var(--bg-opacity))}.lg\:hover\:bg-blue-100:hover{--bg-opacity:1;background-color:#e1effe;background-color:rgba(225,239,254,var(--bg-opacity))}.lg\:hover\:bg-blue-200:hover{--bg-opacity:1;background-color:#c3ddfd;background-color:rgba(195,221,253,var(--bg-opacity))}.lg\:hover\:bg-blue-300:hover{--bg-opacity:1;background-color:#a4cafe;background-color:rgba(164,202,254,var(--bg-opacity))}.lg\:hover\:bg-blue-400:hover{--bg-opacity:1;background-color:#76a9fa;background-color:rgba(118,169,250,var(--bg-opacity))}.lg\:hover\:bg-blue-500:hover{--bg-opacity:1;background-color:#3f83f8;background-color:rgba(63,131,248,var(--bg-opacity))}.lg\:hover\:bg-blue-600:hover{--bg-opacity:1;background-color:#1c64f2;background-color:rgba(28,100,242,var(--bg-opacity))}.lg\:hover\:bg-blue-700:hover{--bg-opacity:1;background-color:#1a56db;background-color:rgba(26,86,219,var(--bg-opacity))}.lg\:hover\:bg-blue-800:hover{--bg-opacity:1;background-color:#1e429f;background-color:rgba(30,66,159,var(--bg-opacity))}.lg\:hover\:bg-blue-900:hover{--bg-opacity:1;background-color:#233876;background-color:rgba(35,56,118,var(--bg-opacity))}.lg\:hover\:bg-indigo-50:hover{--bg-opacity:1;background-color:#f0f5ff;background-color:rgba(240,245,255,var(--bg-opacity))}.lg\:hover\:bg-indigo-100:hover{--bg-opacity:1;background-color:#e5edff;background-color:rgba(229,237,255,var(--bg-opacity))}.lg\:hover\:bg-indigo-200:hover{--bg-opacity:1;background-color:#cddbfe;background-color:rgba(205,219,254,var(--bg-opacity))}.lg\:hover\:bg-indigo-300:hover{--bg-opacity:1;background-color:#b4c6fc;background-color:rgba(180,198,252,var(--bg-opacity))}.lg\:hover\:bg-indigo-400:hover{--bg-opacity:1;background-color:#8da2fb;background-color:rgba(141,162,251,var(--bg-opacity))}.lg\:hover\:bg-indigo-500:hover{--bg-opacity:1;background-color:#6875f5;background-color:rgba(104,117,245,var(--bg-opacity))}.lg\:hover\:bg-indigo-600:hover{--bg-opacity:1;background-color:#5850ec;background-color:rgba(88,80,236,var(--bg-opacity))}.lg\:hover\:bg-indigo-700:hover{--bg-opacity:1;background-color:#5145cd;background-color:rgba(81,69,205,var(--bg-opacity))}.lg\:hover\:bg-indigo-800:hover{--bg-opacity:1;background-color:#42389d;background-color:rgba(66,56,157,var(--bg-opacity))}.lg\:hover\:bg-indigo-900:hover{--bg-opacity:1;background-color:#362f78;background-color:rgba(54,47,120,var(--bg-opacity))}.lg\:hover\:bg-purple-50:hover{--bg-opacity:1;background-color:#f6f5ff;background-color:rgba(246,245,255,var(--bg-opacity))}.lg\:hover\:bg-purple-100:hover{--bg-opacity:1;background-color:#edebfe;background-color:rgba(237,235,254,var(--bg-opacity))}.lg\:hover\:bg-purple-200:hover{--bg-opacity:1;background-color:#dcd7fe;background-color:rgba(220,215,254,var(--bg-opacity))}.lg\:hover\:bg-purple-300:hover{--bg-opacity:1;background-color:#cabffd;background-color:rgba(202,191,253,var(--bg-opacity))}.lg\:hover\:bg-purple-400:hover{--bg-opacity:1;background-color:#ac94fa;background-color:rgba(172,148,250,var(--bg-opacity))}.lg\:hover\:bg-purple-500:hover{--bg-opacity:1;background-color:#9061f9;background-color:rgba(144,97,249,var(--bg-opacity))}.lg\:hover\:bg-purple-600:hover{--bg-opacity:1;background-color:#7e3af2;background-color:rgba(126,58,242,var(--bg-opacity))}.lg\:hover\:bg-purple-700:hover{--bg-opacity:1;background-color:#6c2bd9;background-color:rgba(108,43,217,var(--bg-opacity))}.lg\:hover\:bg-purple-800:hover{--bg-opacity:1;background-color:#5521b5;background-color:rgba(85,33,181,var(--bg-opacity))}.lg\:hover\:bg-purple-900:hover{--bg-opacity:1;background-color:#4a1d96;background-color:rgba(74,29,150,var(--bg-opacity))}.lg\:hover\:bg-pink-50:hover{--bg-opacity:1;background-color:#fdf2f8;background-color:rgba(253,242,248,var(--bg-opacity))}.lg\:hover\:bg-pink-100:hover{--bg-opacity:1;background-color:#fce8f3;background-color:rgba(252,232,243,var(--bg-opacity))}.lg\:hover\:bg-pink-200:hover{--bg-opacity:1;background-color:#fad1e8;background-color:rgba(250,209,232,var(--bg-opacity))}.lg\:hover\:bg-pink-300:hover{--bg-opacity:1;background-color:#f8b4d9;background-color:rgba(248,180,217,var(--bg-opacity))}.lg\:hover\:bg-pink-400:hover{--bg-opacity:1;background-color:#f17eb8;background-color:rgba(241,126,184,var(--bg-opacity))}.lg\:hover\:bg-pink-500:hover{--bg-opacity:1;background-color:#e74694;background-color:rgba(231,70,148,var(--bg-opacity))}.lg\:hover\:bg-pink-600:hover{--bg-opacity:1;background-color:#d61f69;background-color:rgba(214,31,105,var(--bg-opacity))}.lg\:hover\:bg-pink-700:hover{--bg-opacity:1;background-color:#bf125d;background-color:rgba(191,18,93,var(--bg-opacity))}.lg\:hover\:bg-pink-800:hover{--bg-opacity:1;background-color:#99154b;background-color:rgba(153,21,75,var(--bg-opacity))}.lg\:hover\:bg-pink-900:hover{--bg-opacity:1;background-color:#751a3d;background-color:rgba(117,26,61,var(--bg-opacity))}.lg\:focus\:bg-transparent:focus{background-color:transparent}.lg\:focus\:bg-white:focus{--bg-opacity:1;background-color:#fff;background-color:rgba(255,255,255,var(--bg-opacity))}.lg\:focus\:bg-black:focus{--bg-opacity:1;background-color:#000;background-color:rgba(0,0,0,var(--bg-opacity))}.lg\:focus\:bg-gray-50:focus{--bg-opacity:1;background-color:#f9fafb;background-color:rgba(249,250,251,var(--bg-opacity))}.lg\:focus\:bg-gray-100:focus{--bg-opacity:1;background-color:#f4f5f7;background-color:rgba(244,245,247,var(--bg-opacity))}.lg\:focus\:bg-gray-200:focus{--bg-opacity:1;background-color:#e5e7eb;background-color:rgba(229,231,235,var(--bg-opacity))}.lg\:focus\:bg-gray-300:focus{--bg-opacity:1;background-color:#d2d6dc;background-color:rgba(210,214,220,var(--bg-opacity))}.lg\:focus\:bg-gray-400:focus{--bg-opacity:1;background-color:#9fa6b2;background-color:rgba(159,166,178,var(--bg-opacity))}.lg\:focus\:bg-gray-500:focus{--bg-opacity:1;background-color:#6b7280;background-color:rgba(107,114,128,var(--bg-opacity))}.lg\:focus\:bg-gray-600:focus{--bg-opacity:1;background-color:#4b5563;background-color:rgba(75,85,99,var(--bg-opacity))}.lg\:focus\:bg-gray-700:focus{--bg-opacity:1;background-color:#374151;background-color:rgba(55,65,81,var(--bg-opacity))}.lg\:focus\:bg-gray-800:focus{--bg-opacity:1;background-color:#252f3f;background-color:rgba(37,47,63,var(--bg-opacity))}.lg\:focus\:bg-gray-900:focus{--bg-opacity:1;background-color:#161e2e;background-color:rgba(22,30,46,var(--bg-opacity))}.lg\:focus\:bg-cool-gray-50:focus{--bg-opacity:1;background-color:#f8fafc;background-color:rgba(248,250,252,var(--bg-opacity))}.lg\:focus\:bg-cool-gray-100:focus{--bg-opacity:1;background-color:#f1f5f9;background-color:rgba(241,245,249,var(--bg-opacity))}.lg\:focus\:bg-cool-gray-200:focus{--bg-opacity:1;background-color:#e2e8f0;background-color:rgba(226,232,240,var(--bg-opacity))}.lg\:focus\:bg-cool-gray-300:focus{--bg-opacity:1;background-color:#cfd8e3;background-color:rgba(207,216,227,var(--bg-opacity))}.lg\:focus\:bg-cool-gray-400:focus{--bg-opacity:1;background-color:#97a6ba;background-color:rgba(151,166,186,var(--bg-opacity))}.lg\:focus\:bg-cool-gray-500:focus{--bg-opacity:1;background-color:#64748b;background-color:rgba(100,116,139,var(--bg-opacity))}.lg\:focus\:bg-cool-gray-600:focus{--bg-opacity:1;background-color:#475569;background-color:rgba(71,85,105,var(--bg-opacity))}.lg\:focus\:bg-cool-gray-700:focus{--bg-opacity:1;background-color:#364152;background-color:rgba(54,65,82,var(--bg-opacity))}.lg\:focus\:bg-cool-gray-800:focus{--bg-opacity:1;background-color:#27303f;background-color:rgba(39,48,63,var(--bg-opacity))}.lg\:focus\:bg-cool-gray-900:focus{--bg-opacity:1;background-color:#1a202e;background-color:rgba(26,32,46,var(--bg-opacity))}.lg\:focus\:bg-red-50:focus{--bg-opacity:1;background-color:#fdf2f2;background-color:rgba(253,242,242,var(--bg-opacity))}.lg\:focus\:bg-red-100:focus{--bg-opacity:1;background-color:#fde8e8;background-color:rgba(253,232,232,var(--bg-opacity))}.lg\:focus\:bg-red-200:focus{--bg-opacity:1;background-color:#fbd5d5;background-color:rgba(251,213,213,var(--bg-opacity))}.lg\:focus\:bg-red-300:focus{--bg-opacity:1;background-color:#f8b4b4;background-color:rgba(248,180,180,var(--bg-opacity))}.lg\:focus\:bg-red-400:focus{--bg-opacity:1;background-color:#f98080;background-color:rgba(249,128,128,var(--bg-opacity))}.lg\:focus\:bg-red-500:focus{--bg-opacity:1;background-color:#f05252;background-color:rgba(240,82,82,var(--bg-opacity))}.lg\:focus\:bg-red-600:focus{--bg-opacity:1;background-color:#e02424;background-color:rgba(224,36,36,var(--bg-opacity))}.lg\:focus\:bg-red-700:focus{--bg-opacity:1;background-color:#c81e1e;background-color:rgba(200,30,30,var(--bg-opacity))}.lg\:focus\:bg-red-800:focus{--bg-opacity:1;background-color:#9b1c1c;background-color:rgba(155,28,28,var(--bg-opacity))}.lg\:focus\:bg-red-900:focus{--bg-opacity:1;background-color:#771d1d;background-color:rgba(119,29,29,var(--bg-opacity))}.lg\:focus\:bg-orange-50:focus{--bg-opacity:1;background-color:#fff8f1;background-color:rgba(255,248,241,var(--bg-opacity))}.lg\:focus\:bg-orange-100:focus{--bg-opacity:1;background-color:#feecdc;background-color:rgba(254,236,220,var(--bg-opacity))}.lg\:focus\:bg-orange-200:focus{--bg-opacity:1;background-color:#fcd9bd;background-color:rgba(252,217,189,var(--bg-opacity))}.lg\:focus\:bg-orange-300:focus{--bg-opacity:1;background-color:#fdba8c;background-color:rgba(253,186,140,var(--bg-opacity))}.lg\:focus\:bg-orange-400:focus{--bg-opacity:1;background-color:#ff8a4c;background-color:rgba(255,138,76,var(--bg-opacity))}.lg\:focus\:bg-orange-500:focus{--bg-opacity:1;background-color:#ff5a1f;background-color:rgba(255,90,31,var(--bg-opacity))}.lg\:focus\:bg-orange-600:focus{--bg-opacity:1;background-color:#d03801;background-color:rgba(208,56,1,var(--bg-opacity))}.lg\:focus\:bg-orange-700:focus{--bg-opacity:1;background-color:#b43403;background-color:rgba(180,52,3,var(--bg-opacity))}.lg\:focus\:bg-orange-800:focus{--bg-opacity:1;background-color:#8a2c0d;background-color:rgba(138,44,13,var(--bg-opacity))}.lg\:focus\:bg-orange-900:focus{--bg-opacity:1;background-color:#73230d;background-color:rgba(115,35,13,var(--bg-opacity))}.lg\:focus\:bg-yellow-50:focus{--bg-opacity:1;background-color:#fdfdea;background-color:rgba(253,253,234,var(--bg-opacity))}.lg\:focus\:bg-yellow-100:focus{--bg-opacity:1;background-color:#fdf6b2;background-color:rgba(253,246,178,var(--bg-opacity))}.lg\:focus\:bg-yellow-200:focus{--bg-opacity:1;background-color:#fce96a;background-color:rgba(252,233,106,var(--bg-opacity))}.lg\:focus\:bg-yellow-300:focus{--bg-opacity:1;background-color:#faca15;background-color:rgba(250,202,21,var(--bg-opacity))}.lg\:focus\:bg-yellow-400:focus{--bg-opacity:1;background-color:#e3a008;background-color:rgba(227,160,8,var(--bg-opacity))}.lg\:focus\:bg-yellow-500:focus{--bg-opacity:1;background-color:#c27803;background-color:rgba(194,120,3,var(--bg-opacity))}.lg\:focus\:bg-yellow-600:focus{--bg-opacity:1;background-color:#9f580a;background-color:rgba(159,88,10,var(--bg-opacity))}.lg\:focus\:bg-yellow-700:focus{--bg-opacity:1;background-color:#8e4b10;background-color:rgba(142,75,16,var(--bg-opacity))}.lg\:focus\:bg-yellow-800:focus{--bg-opacity:1;background-color:#723b13;background-color:rgba(114,59,19,var(--bg-opacity))}.lg\:focus\:bg-yellow-900:focus{--bg-opacity:1;background-color:#633112;background-color:rgba(99,49,18,var(--bg-opacity))}.lg\:focus\:bg-green-50:focus{--bg-opacity:1;background-color:#f3faf7;background-color:rgba(243,250,247,var(--bg-opacity))}.lg\:focus\:bg-green-100:focus{--bg-opacity:1;background-color:#def7ec;background-color:rgba(222,247,236,var(--bg-opacity))}.lg\:focus\:bg-green-200:focus{--bg-opacity:1;background-color:#bcf0da;background-color:rgba(188,240,218,var(--bg-opacity))}.lg\:focus\:bg-green-300:focus{--bg-opacity:1;background-color:#84e1bc;background-color:rgba(132,225,188,var(--bg-opacity))}.lg\:focus\:bg-green-400:focus{--bg-opacity:1;background-color:#31c48d;background-color:rgba(49,196,141,var(--bg-opacity))}.lg\:focus\:bg-green-500:focus{--bg-opacity:1;background-color:#0e9f6e;background-color:rgba(14,159,110,var(--bg-opacity))}.lg\:focus\:bg-green-600:focus{--bg-opacity:1;background-color:#057a55;background-color:rgba(5,122,85,var(--bg-opacity))}.lg\:focus\:bg-green-700:focus{--bg-opacity:1;background-color:#046c4e;background-color:rgba(4,108,78,var(--bg-opacity))}.lg\:focus\:bg-green-800:focus{--bg-opacity:1;background-color:#03543f;background-color:rgba(3,84,63,var(--bg-opacity))}.lg\:focus\:bg-green-900:focus{--bg-opacity:1;background-color:#014737;background-color:rgba(1,71,55,var(--bg-opacity))}.lg\:focus\:bg-teal-50:focus{--bg-opacity:1;background-color:#edfafa;background-color:rgba(237,250,250,var(--bg-opacity))}.lg\:focus\:bg-teal-100:focus{--bg-opacity:1;background-color:#d5f5f6;background-color:rgba(213,245,246,var(--bg-opacity))}.lg\:focus\:bg-teal-200:focus{--bg-opacity:1;background-color:#afecef;background-color:rgba(175,236,239,var(--bg-opacity))}.lg\:focus\:bg-teal-300:focus{--bg-opacity:1;background-color:#7edce2;background-color:rgba(126,220,226,var(--bg-opacity))}.lg\:focus\:bg-teal-400:focus{--bg-opacity:1;background-color:#16bdca;background-color:rgba(22,189,202,var(--bg-opacity))}.lg\:focus\:bg-teal-500:focus{--bg-opacity:1;background-color:#0694a2;background-color:rgba(6,148,162,var(--bg-opacity))}.lg\:focus\:bg-teal-600:focus{--bg-opacity:1;background-color:#047481;background-color:rgba(4,116,129,var(--bg-opacity))}.lg\:focus\:bg-teal-700:focus{--bg-opacity:1;background-color:#036672;background-color:rgba(3,102,114,var(--bg-opacity))}.lg\:focus\:bg-teal-800:focus{--bg-opacity:1;background-color:#05505c;background-color:rgba(5,80,92,var(--bg-opacity))}.lg\:focus\:bg-teal-900:focus{--bg-opacity:1;background-color:#014451;background-color:rgba(1,68,81,var(--bg-opacity))}.lg\:focus\:bg-blue-50:focus{--bg-opacity:1;background-color:#ebf5ff;background-color:rgba(235,245,255,var(--bg-opacity))}.lg\:focus\:bg-blue-100:focus{--bg-opacity:1;background-color:#e1effe;background-color:rgba(225,239,254,var(--bg-opacity))}.lg\:focus\:bg-blue-200:focus{--bg-opacity:1;background-color:#c3ddfd;background-color:rgba(195,221,253,var(--bg-opacity))}.lg\:focus\:bg-blue-300:focus{--bg-opacity:1;background-color:#a4cafe;background-color:rgba(164,202,254,var(--bg-opacity))}.lg\:focus\:bg-blue-400:focus{--bg-opacity:1;background-color:#76a9fa;background-color:rgba(118,169,250,var(--bg-opacity))}.lg\:focus\:bg-blue-500:focus{--bg-opacity:1;background-color:#3f83f8;background-color:rgba(63,131,248,var(--bg-opacity))}.lg\:focus\:bg-blue-600:focus{--bg-opacity:1;background-color:#1c64f2;background-color:rgba(28,100,242,var(--bg-opacity))}.lg\:focus\:bg-blue-700:focus{--bg-opacity:1;background-color:#1a56db;background-color:rgba(26,86,219,var(--bg-opacity))}.lg\:focus\:bg-blue-800:focus{--bg-opacity:1;background-color:#1e429f;background-color:rgba(30,66,159,var(--bg-opacity))}.lg\:focus\:bg-blue-900:focus{--bg-opacity:1;background-color:#233876;background-color:rgba(35,56,118,var(--bg-opacity))}.lg\:focus\:bg-indigo-50:focus{--bg-opacity:1;background-color:#f0f5ff;background-color:rgba(240,245,255,var(--bg-opacity))}.lg\:focus\:bg-indigo-100:focus{--bg-opacity:1;background-color:#e5edff;background-color:rgba(229,237,255,var(--bg-opacity))}.lg\:focus\:bg-indigo-200:focus{--bg-opacity:1;background-color:#cddbfe;background-color:rgba(205,219,254,var(--bg-opacity))}.lg\:focus\:bg-indigo-300:focus{--bg-opacity:1;background-color:#b4c6fc;background-color:rgba(180,198,252,var(--bg-opacity))}.lg\:focus\:bg-indigo-400:focus{--bg-opacity:1;background-color:#8da2fb;background-color:rgba(141,162,251,var(--bg-opacity))}.lg\:focus\:bg-indigo-500:focus{--bg-opacity:1;background-color:#6875f5;background-color:rgba(104,117,245,var(--bg-opacity))}.lg\:focus\:bg-indigo-600:focus{--bg-opacity:1;background-color:#5850ec;background-color:rgba(88,80,236,var(--bg-opacity))}.lg\:focus\:bg-indigo-700:focus{--bg-opacity:1;background-color:#5145cd;background-color:rgba(81,69,205,var(--bg-opacity))}.lg\:focus\:bg-indigo-800:focus{--bg-opacity:1;background-color:#42389d;background-color:rgba(66,56,157,var(--bg-opacity))}.lg\:focus\:bg-indigo-900:focus{--bg-opacity:1;background-color:#362f78;background-color:rgba(54,47,120,var(--bg-opacity))}.lg\:focus\:bg-purple-50:focus{--bg-opacity:1;background-color:#f6f5ff;background-color:rgba(246,245,255,var(--bg-opacity))}.lg\:focus\:bg-purple-100:focus{--bg-opacity:1;background-color:#edebfe;background-color:rgba(237,235,254,var(--bg-opacity))}.lg\:focus\:bg-purple-200:focus{--bg-opacity:1;background-color:#dcd7fe;background-color:rgba(220,215,254,var(--bg-opacity))}.lg\:focus\:bg-purple-300:focus{--bg-opacity:1;background-color:#cabffd;background-color:rgba(202,191,253,var(--bg-opacity))}.lg\:focus\:bg-purple-400:focus{--bg-opacity:1;background-color:#ac94fa;background-color:rgba(172,148,250,var(--bg-opacity))}.lg\:focus\:bg-purple-500:focus{--bg-opacity:1;background-color:#9061f9;background-color:rgba(144,97,249,var(--bg-opacity))}.lg\:focus\:bg-purple-600:focus{--bg-opacity:1;background-color:#7e3af2;background-color:rgba(126,58,242,var(--bg-opacity))}.lg\:focus\:bg-purple-700:focus{--bg-opacity:1;background-color:#6c2bd9;background-color:rgba(108,43,217,var(--bg-opacity))}.lg\:focus\:bg-purple-800:focus{--bg-opacity:1;background-color:#5521b5;background-color:rgba(85,33,181,var(--bg-opacity))}.lg\:focus\:bg-purple-900:focus{--bg-opacity:1;background-color:#4a1d96;background-color:rgba(74,29,150,var(--bg-opacity))}.lg\:focus\:bg-pink-50:focus{--bg-opacity:1;background-color:#fdf2f8;background-color:rgba(253,242,248,var(--bg-opacity))}.lg\:focus\:bg-pink-100:focus{--bg-opacity:1;background-color:#fce8f3;background-color:rgba(252,232,243,var(--bg-opacity))}.lg\:focus\:bg-pink-200:focus{--bg-opacity:1;background-color:#fad1e8;background-color:rgba(250,209,232,var(--bg-opacity))}.lg\:focus\:bg-pink-300:focus{--bg-opacity:1;background-color:#f8b4d9;background-color:rgba(248,180,217,var(--bg-opacity))}.lg\:focus\:bg-pink-400:focus{--bg-opacity:1;background-color:#f17eb8;background-color:rgba(241,126,184,var(--bg-opacity))}.lg\:focus\:bg-pink-500:focus{--bg-opacity:1;background-color:#e74694;background-color:rgba(231,70,148,var(--bg-opacity))}.lg\:focus\:bg-pink-600:focus{--bg-opacity:1;background-color:#d61f69;background-color:rgba(214,31,105,var(--bg-opacity))}.lg\:focus\:bg-pink-700:focus{--bg-opacity:1;background-color:#bf125d;background-color:rgba(191,18,93,var(--bg-opacity))}.lg\:focus\:bg-pink-800:focus{--bg-opacity:1;background-color:#99154b;background-color:rgba(153,21,75,var(--bg-opacity))}.lg\:focus\:bg-pink-900:focus{--bg-opacity:1;background-color:#751a3d;background-color:rgba(117,26,61,var(--bg-opacity))}.lg\:active\:bg-transparent:active{background-color:transparent}.lg\:active\:bg-white:active{--bg-opacity:1;background-color:#fff;background-color:rgba(255,255,255,var(--bg-opacity))}.lg\:active\:bg-black:active{--bg-opacity:1;background-color:#000;background-color:rgba(0,0,0,var(--bg-opacity))}.lg\:active\:bg-gray-50:active{--bg-opacity:1;background-color:#f9fafb;background-color:rgba(249,250,251,var(--bg-opacity))}.lg\:active\:bg-gray-100:active{--bg-opacity:1;background-color:#f4f5f7;background-color:rgba(244,245,247,var(--bg-opacity))}.lg\:active\:bg-gray-200:active{--bg-opacity:1;background-color:#e5e7eb;background-color:rgba(229,231,235,var(--bg-opacity))}.lg\:active\:bg-gray-300:active{--bg-opacity:1;background-color:#d2d6dc;background-color:rgba(210,214,220,var(--bg-opacity))}.lg\:active\:bg-gray-400:active{--bg-opacity:1;background-color:#9fa6b2;background-color:rgba(159,166,178,var(--bg-opacity))}.lg\:active\:bg-gray-500:active{--bg-opacity:1;background-color:#6b7280;background-color:rgba(107,114,128,var(--bg-opacity))}.lg\:active\:bg-gray-600:active{--bg-opacity:1;background-color:#4b5563;background-color:rgba(75,85,99,var(--bg-opacity))}.lg\:active\:bg-gray-700:active{--bg-opacity:1;background-color:#374151;background-color:rgba(55,65,81,var(--bg-opacity))}.lg\:active\:bg-gray-800:active{--bg-opacity:1;background-color:#252f3f;background-color:rgba(37,47,63,var(--bg-opacity))}.lg\:active\:bg-gray-900:active{--bg-opacity:1;background-color:#161e2e;background-color:rgba(22,30,46,var(--bg-opacity))}.lg\:active\:bg-cool-gray-50:active{--bg-opacity:1;background-color:#f8fafc;background-color:rgba(248,250,252,var(--bg-opacity))}.lg\:active\:bg-cool-gray-100:active{--bg-opacity:1;background-color:#f1f5f9;background-color:rgba(241,245,249,var(--bg-opacity))}.lg\:active\:bg-cool-gray-200:active{--bg-opacity:1;background-color:#e2e8f0;background-color:rgba(226,232,240,var(--bg-opacity))}.lg\:active\:bg-cool-gray-300:active{--bg-opacity:1;background-color:#cfd8e3;background-color:rgba(207,216,227,var(--bg-opacity))}.lg\:active\:bg-cool-gray-400:active{--bg-opacity:1;background-color:#97a6ba;background-color:rgba(151,166,186,var(--bg-opacity))}.lg\:active\:bg-cool-gray-500:active{--bg-opacity:1;background-color:#64748b;background-color:rgba(100,116,139,var(--bg-opacity))}.lg\:active\:bg-cool-gray-600:active{--bg-opacity:1;background-color:#475569;background-color:rgba(71,85,105,var(--bg-opacity))}.lg\:active\:bg-cool-gray-700:active{--bg-opacity:1;background-color:#364152;background-color:rgba(54,65,82,var(--bg-opacity))}.lg\:active\:bg-cool-gray-800:active{--bg-opacity:1;background-color:#27303f;background-color:rgba(39,48,63,var(--bg-opacity))}.lg\:active\:bg-cool-gray-900:active{--bg-opacity:1;background-color:#1a202e;background-color:rgba(26,32,46,var(--bg-opacity))}.lg\:active\:bg-red-50:active{--bg-opacity:1;background-color:#fdf2f2;background-color:rgba(253,242,242,var(--bg-opacity))}.lg\:active\:bg-red-100:active{--bg-opacity:1;background-color:#fde8e8;background-color:rgba(253,232,232,var(--bg-opacity))}.lg\:active\:bg-red-200:active{--bg-opacity:1;background-color:#fbd5d5;background-color:rgba(251,213,213,var(--bg-opacity))}.lg\:active\:bg-red-300:active{--bg-opacity:1;background-color:#f8b4b4;background-color:rgba(248,180,180,var(--bg-opacity))}.lg\:active\:bg-red-400:active{--bg-opacity:1;background-color:#f98080;background-color:rgba(249,128,128,var(--bg-opacity))}.lg\:active\:bg-red-500:active{--bg-opacity:1;background-color:#f05252;background-color:rgba(240,82,82,var(--bg-opacity))}.lg\:active\:bg-red-600:active{--bg-opacity:1;background-color:#e02424;background-color:rgba(224,36,36,var(--bg-opacity))}.lg\:active\:bg-red-700:active{--bg-opacity:1;background-color:#c81e1e;background-color:rgba(200,30,30,var(--bg-opacity))}.lg\:active\:bg-red-800:active{--bg-opacity:1;background-color:#9b1c1c;background-color:rgba(155,28,28,var(--bg-opacity))}.lg\:active\:bg-red-900:active{--bg-opacity:1;background-color:#771d1d;background-color:rgba(119,29,29,var(--bg-opacity))}.lg\:active\:bg-orange-50:active{--bg-opacity:1;background-color:#fff8f1;background-color:rgba(255,248,241,var(--bg-opacity))}.lg\:active\:bg-orange-100:active{--bg-opacity:1;background-color:#feecdc;background-color:rgba(254,236,220,var(--bg-opacity))}.lg\:active\:bg-orange-200:active{--bg-opacity:1;background-color:#fcd9bd;background-color:rgba(252,217,189,var(--bg-opacity))}.lg\:active\:bg-orange-300:active{--bg-opacity:1;background-color:#fdba8c;background-color:rgba(253,186,140,var(--bg-opacity))}.lg\:active\:bg-orange-400:active{--bg-opacity:1;background-color:#ff8a4c;background-color:rgba(255,138,76,var(--bg-opacity))}.lg\:active\:bg-orange-500:active{--bg-opacity:1;background-color:#ff5a1f;background-color:rgba(255,90,31,var(--bg-opacity))}.lg\:active\:bg-orange-600:active{--bg-opacity:1;background-color:#d03801;background-color:rgba(208,56,1,var(--bg-opacity))}.lg\:active\:bg-orange-700:active{--bg-opacity:1;background-color:#b43403;background-color:rgba(180,52,3,var(--bg-opacity))}.lg\:active\:bg-orange-800:active{--bg-opacity:1;background-color:#8a2c0d;background-color:rgba(138,44,13,var(--bg-opacity))}.lg\:active\:bg-orange-900:active{--bg-opacity:1;background-color:#73230d;background-color:rgba(115,35,13,var(--bg-opacity))}.lg\:active\:bg-yellow-50:active{--bg-opacity:1;background-color:#fdfdea;background-color:rgba(253,253,234,var(--bg-opacity))}.lg\:active\:bg-yellow-100:active{--bg-opacity:1;background-color:#fdf6b2;background-color:rgba(253,246,178,var(--bg-opacity))}.lg\:active\:bg-yellow-200:active{--bg-opacity:1;background-color:#fce96a;background-color:rgba(252,233,106,var(--bg-opacity))}.lg\:active\:bg-yellow-300:active{--bg-opacity:1;background-color:#faca15;background-color:rgba(250,202,21,var(--bg-opacity))}.lg\:active\:bg-yellow-400:active{--bg-opacity:1;background-color:#e3a008;background-color:rgba(227,160,8,var(--bg-opacity))}.lg\:active\:bg-yellow-500:active{--bg-opacity:1;background-color:#c27803;background-color:rgba(194,120,3,var(--bg-opacity))}.lg\:active\:bg-yellow-600:active{--bg-opacity:1;background-color:#9f580a;background-color:rgba(159,88,10,var(--bg-opacity))}.lg\:active\:bg-yellow-700:active{--bg-opacity:1;background-color:#8e4b10;background-color:rgba(142,75,16,var(--bg-opacity))}.lg\:active\:bg-yellow-800:active{--bg-opacity:1;background-color:#723b13;background-color:rgba(114,59,19,var(--bg-opacity))}.lg\:active\:bg-yellow-900:active{--bg-opacity:1;background-color:#633112;background-color:rgba(99,49,18,var(--bg-opacity))}.lg\:active\:bg-green-50:active{--bg-opacity:1;background-color:#f3faf7;background-color:rgba(243,250,247,var(--bg-opacity))}.lg\:active\:bg-green-100:active{--bg-opacity:1;background-color:#def7ec;background-color:rgba(222,247,236,var(--bg-opacity))}.lg\:active\:bg-green-200:active{--bg-opacity:1;background-color:#bcf0da;background-color:rgba(188,240,218,var(--bg-opacity))}.lg\:active\:bg-green-300:active{--bg-opacity:1;background-color:#84e1bc;background-color:rgba(132,225,188,var(--bg-opacity))}.lg\:active\:bg-green-400:active{--bg-opacity:1;background-color:#31c48d;background-color:rgba(49,196,141,var(--bg-opacity))}.lg\:active\:bg-green-500:active{--bg-opacity:1;background-color:#0e9f6e;background-color:rgba(14,159,110,var(--bg-opacity))}.lg\:active\:bg-green-600:active{--bg-opacity:1;background-color:#057a55;background-color:rgba(5,122,85,var(--bg-opacity))}.lg\:active\:bg-green-700:active{--bg-opacity:1;background-color:#046c4e;background-color:rgba(4,108,78,var(--bg-opacity))}.lg\:active\:bg-green-800:active{--bg-opacity:1;background-color:#03543f;background-color:rgba(3,84,63,var(--bg-opacity))}.lg\:active\:bg-green-900:active{--bg-opacity:1;background-color:#014737;background-color:rgba(1,71,55,var(--bg-opacity))}.lg\:active\:bg-teal-50:active{--bg-opacity:1;background-color:#edfafa;background-color:rgba(237,250,250,var(--bg-opacity))}.lg\:active\:bg-teal-100:active{--bg-opacity:1;background-color:#d5f5f6;background-color:rgba(213,245,246,var(--bg-opacity))}.lg\:active\:bg-teal-200:active{--bg-opacity:1;background-color:#afecef;background-color:rgba(175,236,239,var(--bg-opacity))}.lg\:active\:bg-teal-300:active{--bg-opacity:1;background-color:#7edce2;background-color:rgba(126,220,226,var(--bg-opacity))}.lg\:active\:bg-teal-400:active{--bg-opacity:1;background-color:#16bdca;background-color:rgba(22,189,202,var(--bg-opacity))}.lg\:active\:bg-teal-500:active{--bg-opacity:1;background-color:#0694a2;background-color:rgba(6,148,162,var(--bg-opacity))}.lg\:active\:bg-teal-600:active{--bg-opacity:1;background-color:#047481;background-color:rgba(4,116,129,var(--bg-opacity))}.lg\:active\:bg-teal-700:active{--bg-opacity:1;background-color:#036672;background-color:rgba(3,102,114,var(--bg-opacity))}.lg\:active\:bg-teal-800:active{--bg-opacity:1;background-color:#05505c;background-color:rgba(5,80,92,var(--bg-opacity))}.lg\:active\:bg-teal-900:active{--bg-opacity:1;background-color:#014451;background-color:rgba(1,68,81,var(--bg-opacity))}.lg\:active\:bg-blue-50:active{--bg-opacity:1;background-color:#ebf5ff;background-color:rgba(235,245,255,var(--bg-opacity))}.lg\:active\:bg-blue-100:active{--bg-opacity:1;background-color:#e1effe;background-color:rgba(225,239,254,var(--bg-opacity))}.lg\:active\:bg-blue-200:active{--bg-opacity:1;background-color:#c3ddfd;background-color:rgba(195,221,253,var(--bg-opacity))}.lg\:active\:bg-blue-300:active{--bg-opacity:1;background-color:#a4cafe;background-color:rgba(164,202,254,var(--bg-opacity))}.lg\:active\:bg-blue-400:active{--bg-opacity:1;background-color:#76a9fa;background-color:rgba(118,169,250,var(--bg-opacity))}.lg\:active\:bg-blue-500:active{--bg-opacity:1;background-color:#3f83f8;background-color:rgba(63,131,248,var(--bg-opacity))}.lg\:active\:bg-blue-600:active{--bg-opacity:1;background-color:#1c64f2;background-color:rgba(28,100,242,var(--bg-opacity))}.lg\:active\:bg-blue-700:active{--bg-opacity:1;background-color:#1a56db;background-color:rgba(26,86,219,var(--bg-opacity))}.lg\:active\:bg-blue-800:active{--bg-opacity:1;background-color:#1e429f;background-color:rgba(30,66,159,var(--bg-opacity))}.lg\:active\:bg-blue-900:active{--bg-opacity:1;background-color:#233876;background-color:rgba(35,56,118,var(--bg-opacity))}.lg\:active\:bg-indigo-50:active{--bg-opacity:1;background-color:#f0f5ff;background-color:rgba(240,245,255,var(--bg-opacity))}.lg\:active\:bg-indigo-100:active{--bg-opacity:1;background-color:#e5edff;background-color:rgba(229,237,255,var(--bg-opacity))}.lg\:active\:bg-indigo-200:active{--bg-opacity:1;background-color:#cddbfe;background-color:rgba(205,219,254,var(--bg-opacity))}.lg\:active\:bg-indigo-300:active{--bg-opacity:1;background-color:#b4c6fc;background-color:rgba(180,198,252,var(--bg-opacity))}.lg\:active\:bg-indigo-400:active{--bg-opacity:1;background-color:#8da2fb;background-color:rgba(141,162,251,var(--bg-opacity))}.lg\:active\:bg-indigo-500:active{--bg-opacity:1;background-color:#6875f5;background-color:rgba(104,117,245,var(--bg-opacity))}.lg\:active\:bg-indigo-600:active{--bg-opacity:1;background-color:#5850ec;background-color:rgba(88,80,236,var(--bg-opacity))}.lg\:active\:bg-indigo-700:active{--bg-opacity:1;background-color:#5145cd;background-color:rgba(81,69,205,var(--bg-opacity))}.lg\:active\:bg-indigo-800:active{--bg-opacity:1;background-color:#42389d;background-color:rgba(66,56,157,var(--bg-opacity))}.lg\:active\:bg-indigo-900:active{--bg-opacity:1;background-color:#362f78;background-color:rgba(54,47,120,var(--bg-opacity))}.lg\:active\:bg-purple-50:active{--bg-opacity:1;background-color:#f6f5ff;background-color:rgba(246,245,255,var(--bg-opacity))}.lg\:active\:bg-purple-100:active{--bg-opacity:1;background-color:#edebfe;background-color:rgba(237,235,254,var(--bg-opacity))}.lg\:active\:bg-purple-200:active{--bg-opacity:1;background-color:#dcd7fe;background-color:rgba(220,215,254,var(--bg-opacity))}.lg\:active\:bg-purple-300:active{--bg-opacity:1;background-color:#cabffd;background-color:rgba(202,191,253,var(--bg-opacity))}.lg\:active\:bg-purple-400:active{--bg-opacity:1;background-color:#ac94fa;background-color:rgba(172,148,250,var(--bg-opacity))}.lg\:active\:bg-purple-500:active{--bg-opacity:1;background-color:#9061f9;background-color:rgba(144,97,249,var(--bg-opacity))}.lg\:active\:bg-purple-600:active{--bg-opacity:1;background-color:#7e3af2;background-color:rgba(126,58,242,var(--bg-opacity))}.lg\:active\:bg-purple-700:active{--bg-opacity:1;background-color:#6c2bd9;background-color:rgba(108,43,217,var(--bg-opacity))}.lg\:active\:bg-purple-800:active{--bg-opacity:1;background-color:#5521b5;background-color:rgba(85,33,181,var(--bg-opacity))}.lg\:active\:bg-purple-900:active{--bg-opacity:1;background-color:#4a1d96;background-color:rgba(74,29,150,var(--bg-opacity))}.lg\:active\:bg-pink-50:active{--bg-opacity:1;background-color:#fdf2f8;background-color:rgba(253,242,248,var(--bg-opacity))}.lg\:active\:bg-pink-100:active{--bg-opacity:1;background-color:#fce8f3;background-color:rgba(252,232,243,var(--bg-opacity))}.lg\:active\:bg-pink-200:active{--bg-opacity:1;background-color:#fad1e8;background-color:rgba(250,209,232,var(--bg-opacity))}.lg\:active\:bg-pink-300:active{--bg-opacity:1;background-color:#f8b4d9;background-color:rgba(248,180,217,var(--bg-opacity))}.lg\:active\:bg-pink-400:active{--bg-opacity:1;background-color:#f17eb8;background-color:rgba(241,126,184,var(--bg-opacity))}.lg\:active\:bg-pink-500:active{--bg-opacity:1;background-color:#e74694;background-color:rgba(231,70,148,var(--bg-opacity))}.lg\:active\:bg-pink-600:active{--bg-opacity:1;background-color:#d61f69;background-color:rgba(214,31,105,var(--bg-opacity))}.lg\:active\:bg-pink-700:active{--bg-opacity:1;background-color:#bf125d;background-color:rgba(191,18,93,var(--bg-opacity))}.lg\:active\:bg-pink-800:active{--bg-opacity:1;background-color:#99154b;background-color:rgba(153,21,75,var(--bg-opacity))}.lg\:active\:bg-pink-900:active{--bg-opacity:1;background-color:#751a3d;background-color:rgba(117,26,61,var(--bg-opacity))}.lg\:bg-opacity-0{--bg-opacity:0}.lg\:bg-opacity-25{--bg-opacity:0.25}.lg\:bg-opacity-50{--bg-opacity:0.5}.lg\:bg-opacity-75{--bg-opacity:0.75}.lg\:bg-opacity-100{--bg-opacity:1}.lg\:hover\:bg-opacity-0:hover{--bg-opacity:0}.lg\:hover\:bg-opacity-25:hover{--bg-opacity:0.25}.lg\:hover\:bg-opacity-50:hover{--bg-opacity:0.5}.lg\:hover\:bg-opacity-75:hover{--bg-opacity:0.75}.lg\:hover\:bg-opacity-100:hover{--bg-opacity:1}.lg\:focus\:bg-opacity-0:focus{--bg-opacity:0}.lg\:focus\:bg-opacity-25:focus{--bg-opacity:0.25}.lg\:focus\:bg-opacity-50:focus{--bg-opacity:0.5}.lg\:focus\:bg-opacity-75:focus{--bg-opacity:0.75}.lg\:focus\:bg-opacity-100:focus{--bg-opacity:1}.lg\:bg-bottom{background-position:bottom}.lg\:bg-center{background-position:center}.lg\:bg-left{background-position:left}.lg\:bg-left-bottom{background-position:left bottom}.lg\:bg-left-top{background-position:left top}.lg\:bg-right{background-position:right}.lg\:bg-right-bottom{background-position:right bottom}.lg\:bg-right-top{background-position:right top}.lg\:bg-top{background-position:top}.lg\:bg-repeat{background-repeat:repeat}.lg\:bg-no-repeat{background-repeat:no-repeat}.lg\:bg-repeat-x{background-repeat:repeat-x}.lg\:bg-repeat-y{background-repeat:repeat-y}.lg\:bg-repeat-round{background-repeat:round}.lg\:bg-repeat-space{background-repeat:space}.lg\:bg-auto{background-size:auto}.lg\:bg-cover{background-size:cover}.lg\:bg-contain{background-size:contain}.lg\:border-collapse{border-collapse:collapse}.lg\:border-separate{border-collapse:separate}.lg\:border-transparent{border-color:transparent}.lg\:border-white{--border-opacity:1;border-color:#fff;border-color:rgba(255,255,255,var(--border-opacity))}.lg\:border-black{--border-opacity:1;border-color:#000;border-color:rgba(0,0,0,var(--border-opacity))}.lg\:border-gray-50{--border-opacity:1;border-color:#f9fafb;border-color:rgba(249,250,251,var(--border-opacity))}.lg\:border-gray-100{--border-opacity:1;border-color:#f4f5f7;border-color:rgba(244,245,247,var(--border-opacity))}.lg\:border-gray-200{--border-opacity:1;border-color:#e5e7eb;border-color:rgba(229,231,235,var(--border-opacity))}.lg\:border-gray-300{--border-opacity:1;border-color:#d2d6dc;border-color:rgba(210,214,220,var(--border-opacity))}.lg\:border-gray-400{--border-opacity:1;border-color:#9fa6b2;border-color:rgba(159,166,178,var(--border-opacity))}.lg\:border-gray-500{--border-opacity:1;border-color:#6b7280;border-color:rgba(107,114,128,var(--border-opacity))}.lg\:border-gray-600{--border-opacity:1;border-color:#4b5563;border-color:rgba(75,85,99,var(--border-opacity))}.lg\:border-gray-700{--border-opacity:1;border-color:#374151;border-color:rgba(55,65,81,var(--border-opacity))}.lg\:border-gray-800{--border-opacity:1;border-color:#252f3f;border-color:rgba(37,47,63,var(--border-opacity))}.lg\:border-gray-900{--border-opacity:1;border-color:#161e2e;border-color:rgba(22,30,46,var(--border-opacity))}.lg\:border-cool-gray-50{--border-opacity:1;border-color:#f8fafc;border-color:rgba(248,250,252,var(--border-opacity))}.lg\:border-cool-gray-100{--border-opacity:1;border-color:#f1f5f9;border-color:rgba(241,245,249,var(--border-opacity))}.lg\:border-cool-gray-200{--border-opacity:1;border-color:#e2e8f0;border-color:rgba(226,232,240,var(--border-opacity))}.lg\:border-cool-gray-300{--border-opacity:1;border-color:#cfd8e3;border-color:rgba(207,216,227,var(--border-opacity))}.lg\:border-cool-gray-400{--border-opacity:1;border-color:#97a6ba;border-color:rgba(151,166,186,var(--border-opacity))}.lg\:border-cool-gray-500{--border-opacity:1;border-color:#64748b;border-color:rgba(100,116,139,var(--border-opacity))}.lg\:border-cool-gray-600{--border-opacity:1;border-color:#475569;border-color:rgba(71,85,105,var(--border-opacity))}.lg\:border-cool-gray-700{--border-opacity:1;border-color:#364152;border-color:rgba(54,65,82,var(--border-opacity))}.lg\:border-cool-gray-800{--border-opacity:1;border-color:#27303f;border-color:rgba(39,48,63,var(--border-opacity))}.lg\:border-cool-gray-900{--border-opacity:1;border-color:#1a202e;border-color:rgba(26,32,46,var(--border-opacity))}.lg\:border-red-50{--border-opacity:1;border-color:#fdf2f2;border-color:rgba(253,242,242,var(--border-opacity))}.lg\:border-red-100{--border-opacity:1;border-color:#fde8e8;border-color:rgba(253,232,232,var(--border-opacity))}.lg\:border-red-200{--border-opacity:1;border-color:#fbd5d5;border-color:rgba(251,213,213,var(--border-opacity))}.lg\:border-red-300{--border-opacity:1;border-color:#f8b4b4;border-color:rgba(248,180,180,var(--border-opacity))}.lg\:border-red-400{--border-opacity:1;border-color:#f98080;border-color:rgba(249,128,128,var(--border-opacity))}.lg\:border-red-500{--border-opacity:1;border-color:#f05252;border-color:rgba(240,82,82,var(--border-opacity))}.lg\:border-red-600{--border-opacity:1;border-color:#e02424;border-color:rgba(224,36,36,var(--border-opacity))}.lg\:border-red-700{--border-opacity:1;border-color:#c81e1e;border-color:rgba(200,30,30,var(--border-opacity))}.lg\:border-red-800{--border-opacity:1;border-color:#9b1c1c;border-color:rgba(155,28,28,var(--border-opacity))}.lg\:border-red-900{--border-opacity:1;border-color:#771d1d;border-color:rgba(119,29,29,var(--border-opacity))}.lg\:border-orange-50{--border-opacity:1;border-color:#fff8f1;border-color:rgba(255,248,241,var(--border-opacity))}.lg\:border-orange-100{--border-opacity:1;border-color:#feecdc;border-color:rgba(254,236,220,var(--border-opacity))}.lg\:border-orange-200{--border-opacity:1;border-color:#fcd9bd;border-color:rgba(252,217,189,var(--border-opacity))}.lg\:border-orange-300{--border-opacity:1;border-color:#fdba8c;border-color:rgba(253,186,140,var(--border-opacity))}.lg\:border-orange-400{--border-opacity:1;border-color:#ff8a4c;border-color:rgba(255,138,76,var(--border-opacity))}.lg\:border-orange-500{--border-opacity:1;border-color:#ff5a1f;border-color:rgba(255,90,31,var(--border-opacity))}.lg\:border-orange-600{--border-opacity:1;border-color:#d03801;border-color:rgba(208,56,1,var(--border-opacity))}.lg\:border-orange-700{--border-opacity:1;border-color:#b43403;border-color:rgba(180,52,3,var(--border-opacity))}.lg\:border-orange-800{--border-opacity:1;border-color:#8a2c0d;border-color:rgba(138,44,13,var(--border-opacity))}.lg\:border-orange-900{--border-opacity:1;border-color:#73230d;border-color:rgba(115,35,13,var(--border-opacity))}.lg\:border-yellow-50{--border-opacity:1;border-color:#fdfdea;border-color:rgba(253,253,234,var(--border-opacity))}.lg\:border-yellow-100{--border-opacity:1;border-color:#fdf6b2;border-color:rgba(253,246,178,var(--border-opacity))}.lg\:border-yellow-200{--border-opacity:1;border-color:#fce96a;border-color:rgba(252,233,106,var(--border-opacity))}.lg\:border-yellow-300{--border-opacity:1;border-color:#faca15;border-color:rgba(250,202,21,var(--border-opacity))}.lg\:border-yellow-400{--border-opacity:1;border-color:#e3a008;border-color:rgba(227,160,8,var(--border-opacity))}.lg\:border-yellow-500{--border-opacity:1;border-color:#c27803;border-color:rgba(194,120,3,var(--border-opacity))}.lg\:border-yellow-600{--border-opacity:1;border-color:#9f580a;border-color:rgba(159,88,10,var(--border-opacity))}.lg\:border-yellow-700{--border-opacity:1;border-color:#8e4b10;border-color:rgba(142,75,16,var(--border-opacity))}.lg\:border-yellow-800{--border-opacity:1;border-color:#723b13;border-color:rgba(114,59,19,var(--border-opacity))}.lg\:border-yellow-900{--border-opacity:1;border-color:#633112;border-color:rgba(99,49,18,var(--border-opacity))}.lg\:border-green-50{--border-opacity:1;border-color:#f3faf7;border-color:rgba(243,250,247,var(--border-opacity))}.lg\:border-green-100{--border-opacity:1;border-color:#def7ec;border-color:rgba(222,247,236,var(--border-opacity))}.lg\:border-green-200{--border-opacity:1;border-color:#bcf0da;border-color:rgba(188,240,218,var(--border-opacity))}.lg\:border-green-300{--border-opacity:1;border-color:#84e1bc;border-color:rgba(132,225,188,var(--border-opacity))}.lg\:border-green-400{--border-opacity:1;border-color:#31c48d;border-color:rgba(49,196,141,var(--border-opacity))}.lg\:border-green-500{--border-opacity:1;border-color:#0e9f6e;border-color:rgba(14,159,110,var(--border-opacity))}.lg\:border-green-600{--border-opacity:1;border-color:#057a55;border-color:rgba(5,122,85,var(--border-opacity))}.lg\:border-green-700{--border-opacity:1;border-color:#046c4e;border-color:rgba(4,108,78,var(--border-opacity))}.lg\:border-green-800{--border-opacity:1;border-color:#03543f;border-color:rgba(3,84,63,var(--border-opacity))}.lg\:border-green-900{--border-opacity:1;border-color:#014737;border-color:rgba(1,71,55,var(--border-opacity))}.lg\:border-teal-50{--border-opacity:1;border-color:#edfafa;border-color:rgba(237,250,250,var(--border-opacity))}.lg\:border-teal-100{--border-opacity:1;border-color:#d5f5f6;border-color:rgba(213,245,246,var(--border-opacity))}.lg\:border-teal-200{--border-opacity:1;border-color:#afecef;border-color:rgba(175,236,239,var(--border-opacity))}.lg\:border-teal-300{--border-opacity:1;border-color:#7edce2;border-color:rgba(126,220,226,var(--border-opacity))}.lg\:border-teal-400{--border-opacity:1;border-color:#16bdca;border-color:rgba(22,189,202,var(--border-opacity))}.lg\:border-teal-500{--border-opacity:1;border-color:#0694a2;border-color:rgba(6,148,162,var(--border-opacity))}.lg\:border-teal-600{--border-opacity:1;border-color:#047481;border-color:rgba(4,116,129,var(--border-opacity))}.lg\:border-teal-700{--border-opacity:1;border-color:#036672;border-color:rgba(3,102,114,var(--border-opacity))}.lg\:border-teal-800{--border-opacity:1;border-color:#05505c;border-color:rgba(5,80,92,var(--border-opacity))}.lg\:border-teal-900{--border-opacity:1;border-color:#014451;border-color:rgba(1,68,81,var(--border-opacity))}.lg\:border-blue-50{--border-opacity:1;border-color:#ebf5ff;border-color:rgba(235,245,255,var(--border-opacity))}.lg\:border-blue-100{--border-opacity:1;border-color:#e1effe;border-color:rgba(225,239,254,var(--border-opacity))}.lg\:border-blue-200{--border-opacity:1;border-color:#c3ddfd;border-color:rgba(195,221,253,var(--border-opacity))}.lg\:border-blue-300{--border-opacity:1;border-color:#a4cafe;border-color:rgba(164,202,254,var(--border-opacity))}.lg\:border-blue-400{--border-opacity:1;border-color:#76a9fa;border-color:rgba(118,169,250,var(--border-opacity))}.lg\:border-blue-500{--border-opacity:1;border-color:#3f83f8;border-color:rgba(63,131,248,var(--border-opacity))}.lg\:border-blue-600{--border-opacity:1;border-color:#1c64f2;border-color:rgba(28,100,242,var(--border-opacity))}.lg\:border-blue-700{--border-opacity:1;border-color:#1a56db;border-color:rgba(26,86,219,var(--border-opacity))}.lg\:border-blue-800{--border-opacity:1;border-color:#1e429f;border-color:rgba(30,66,159,var(--border-opacity))}.lg\:border-blue-900{--border-opacity:1;border-color:#233876;border-color:rgba(35,56,118,var(--border-opacity))}.lg\:border-indigo-50{--border-opacity:1;border-color:#f0f5ff;border-color:rgba(240,245,255,var(--border-opacity))}.lg\:border-indigo-100{--border-opacity:1;border-color:#e5edff;border-color:rgba(229,237,255,var(--border-opacity))}.lg\:border-indigo-200{--border-opacity:1;border-color:#cddbfe;border-color:rgba(205,219,254,var(--border-opacity))}.lg\:border-indigo-300{--border-opacity:1;border-color:#b4c6fc;border-color:rgba(180,198,252,var(--border-opacity))}.lg\:border-indigo-400{--border-opacity:1;border-color:#8da2fb;border-color:rgba(141,162,251,var(--border-opacity))}.lg\:border-indigo-500{--border-opacity:1;border-color:#6875f5;border-color:rgba(104,117,245,var(--border-opacity))}.lg\:border-indigo-600{--border-opacity:1;border-color:#5850ec;border-color:rgba(88,80,236,var(--border-opacity))}.lg\:border-indigo-700{--border-opacity:1;border-color:#5145cd;border-color:rgba(81,69,205,var(--border-opacity))}.lg\:border-indigo-800{--border-opacity:1;border-color:#42389d;border-color:rgba(66,56,157,var(--border-opacity))}.lg\:border-indigo-900{--border-opacity:1;border-color:#362f78;border-color:rgba(54,47,120,var(--border-opacity))}.lg\:border-purple-50{--border-opacity:1;border-color:#f6f5ff;border-color:rgba(246,245,255,var(--border-opacity))}.lg\:border-purple-100{--border-opacity:1;border-color:#edebfe;border-color:rgba(237,235,254,var(--border-opacity))}.lg\:border-purple-200{--border-opacity:1;border-color:#dcd7fe;border-color:rgba(220,215,254,var(--border-opacity))}.lg\:border-purple-300{--border-opacity:1;border-color:#cabffd;border-color:rgba(202,191,253,var(--border-opacity))}.lg\:border-purple-400{--border-opacity:1;border-color:#ac94fa;border-color:rgba(172,148,250,var(--border-opacity))}.lg\:border-purple-500{--border-opacity:1;border-color:#9061f9;border-color:rgba(144,97,249,var(--border-opacity))}.lg\:border-purple-600{--border-opacity:1;border-color:#7e3af2;border-color:rgba(126,58,242,var(--border-opacity))}.lg\:border-purple-700{--border-opacity:1;border-color:#6c2bd9;border-color:rgba(108,43,217,var(--border-opacity))}.lg\:border-purple-800{--border-opacity:1;border-color:#5521b5;border-color:rgba(85,33,181,var(--border-opacity))}.lg\:border-purple-900{--border-opacity:1;border-color:#4a1d96;border-color:rgba(74,29,150,var(--border-opacity))}.lg\:border-pink-50{--border-opacity:1;border-color:#fdf2f8;border-color:rgba(253,242,248,var(--border-opacity))}.lg\:border-pink-100{--border-opacity:1;border-color:#fce8f3;border-color:rgba(252,232,243,var(--border-opacity))}.lg\:border-pink-200{--border-opacity:1;border-color:#fad1e8;border-color:rgba(250,209,232,var(--border-opacity))}.lg\:border-pink-300{--border-opacity:1;border-color:#f8b4d9;border-color:rgba(248,180,217,var(--border-opacity))}.lg\:border-pink-400{--border-opacity:1;border-color:#f17eb8;border-color:rgba(241,126,184,var(--border-opacity))}.lg\:border-pink-500{--border-opacity:1;border-color:#e74694;border-color:rgba(231,70,148,var(--border-opacity))}.lg\:border-pink-600{--border-opacity:1;border-color:#d61f69;border-color:rgba(214,31,105,var(--border-opacity))}.lg\:border-pink-700{--border-opacity:1;border-color:#bf125d;border-color:rgba(191,18,93,var(--border-opacity))}.lg\:border-pink-800{--border-opacity:1;border-color:#99154b;border-color:rgba(153,21,75,var(--border-opacity))}.lg\:border-pink-900{--border-opacity:1;border-color:#751a3d;border-color:rgba(117,26,61,var(--border-opacity))}.group:hover .lg\:group-hover\:border-transparent{border-color:transparent}.group:hover .lg\:group-hover\:border-white{--border-opacity:1;border-color:#fff;border-color:rgba(255,255,255,var(--border-opacity))}.group:hover .lg\:group-hover\:border-black{--border-opacity:1;border-color:#000;border-color:rgba(0,0,0,var(--border-opacity))}.group:hover .lg\:group-hover\:border-gray-50{--border-opacity:1;border-color:#f9fafb;border-color:rgba(249,250,251,var(--border-opacity))}.group:hover .lg\:group-hover\:border-gray-100{--border-opacity:1;border-color:#f4f5f7;border-color:rgba(244,245,247,var(--border-opacity))}.group:hover .lg\:group-hover\:border-gray-200{--border-opacity:1;border-color:#e5e7eb;border-color:rgba(229,231,235,var(--border-opacity))}.group:hover .lg\:group-hover\:border-gray-300{--border-opacity:1;border-color:#d2d6dc;border-color:rgba(210,214,220,var(--border-opacity))}.group:hover .lg\:group-hover\:border-gray-400{--border-opacity:1;border-color:#9fa6b2;border-color:rgba(159,166,178,var(--border-opacity))}.group:hover .lg\:group-hover\:border-gray-500{--border-opacity:1;border-color:#6b7280;border-color:rgba(107,114,128,var(--border-opacity))}.group:hover .lg\:group-hover\:border-gray-600{--border-opacity:1;border-color:#4b5563;border-color:rgba(75,85,99,var(--border-opacity))}.group:hover .lg\:group-hover\:border-gray-700{--border-opacity:1;border-color:#374151;border-color:rgba(55,65,81,var(--border-opacity))}.group:hover .lg\:group-hover\:border-gray-800{--border-opacity:1;border-color:#252f3f;border-color:rgba(37,47,63,var(--border-opacity))}.group:hover .lg\:group-hover\:border-gray-900{--border-opacity:1;border-color:#161e2e;border-color:rgba(22,30,46,var(--border-opacity))}.group:hover .lg\:group-hover\:border-cool-gray-50{--border-opacity:1;border-color:#f8fafc;border-color:rgba(248,250,252,var(--border-opacity))}.group:hover .lg\:group-hover\:border-cool-gray-100{--border-opacity:1;border-color:#f1f5f9;border-color:rgba(241,245,249,var(--border-opacity))}.group:hover .lg\:group-hover\:border-cool-gray-200{--border-opacity:1;border-color:#e2e8f0;border-color:rgba(226,232,240,var(--border-opacity))}.group:hover .lg\:group-hover\:border-cool-gray-300{--border-opacity:1;border-color:#cfd8e3;border-color:rgba(207,216,227,var(--border-opacity))}.group:hover .lg\:group-hover\:border-cool-gray-400{--border-opacity:1;border-color:#97a6ba;border-color:rgba(151,166,186,var(--border-opacity))}.group:hover .lg\:group-hover\:border-cool-gray-500{--border-opacity:1;border-color:#64748b;border-color:rgba(100,116,139,var(--border-opacity))}.group:hover .lg\:group-hover\:border-cool-gray-600{--border-opacity:1;border-color:#475569;border-color:rgba(71,85,105,var(--border-opacity))}.group:hover .lg\:group-hover\:border-cool-gray-700{--border-opacity:1;border-color:#364152;border-color:rgba(54,65,82,var(--border-opacity))}.group:hover .lg\:group-hover\:border-cool-gray-800{--border-opacity:1;border-color:#27303f;border-color:rgba(39,48,63,var(--border-opacity))}.group:hover .lg\:group-hover\:border-cool-gray-900{--border-opacity:1;border-color:#1a202e;border-color:rgba(26,32,46,var(--border-opacity))}.group:hover .lg\:group-hover\:border-red-50{--border-opacity:1;border-color:#fdf2f2;border-color:rgba(253,242,242,var(--border-opacity))}.group:hover .lg\:group-hover\:border-red-100{--border-opacity:1;border-color:#fde8e8;border-color:rgba(253,232,232,var(--border-opacity))}.group:hover .lg\:group-hover\:border-red-200{--border-opacity:1;border-color:#fbd5d5;border-color:rgba(251,213,213,var(--border-opacity))}.group:hover .lg\:group-hover\:border-red-300{--border-opacity:1;border-color:#f8b4b4;border-color:rgba(248,180,180,var(--border-opacity))}.group:hover .lg\:group-hover\:border-red-400{--border-opacity:1;border-color:#f98080;border-color:rgba(249,128,128,var(--border-opacity))}.group:hover .lg\:group-hover\:border-red-500{--border-opacity:1;border-color:#f05252;border-color:rgba(240,82,82,var(--border-opacity))}.group:hover .lg\:group-hover\:border-red-600{--border-opacity:1;border-color:#e02424;border-color:rgba(224,36,36,var(--border-opacity))}.group:hover .lg\:group-hover\:border-red-700{--border-opacity:1;border-color:#c81e1e;border-color:rgba(200,30,30,var(--border-opacity))}.group:hover .lg\:group-hover\:border-red-800{--border-opacity:1;border-color:#9b1c1c;border-color:rgba(155,28,28,var(--border-opacity))}.group:hover .lg\:group-hover\:border-red-900{--border-opacity:1;border-color:#771d1d;border-color:rgba(119,29,29,var(--border-opacity))}.group:hover .lg\:group-hover\:border-orange-50{--border-opacity:1;border-color:#fff8f1;border-color:rgba(255,248,241,var(--border-opacity))}.group:hover .lg\:group-hover\:border-orange-100{--border-opacity:1;border-color:#feecdc;border-color:rgba(254,236,220,var(--border-opacity))}.group:hover .lg\:group-hover\:border-orange-200{--border-opacity:1;border-color:#fcd9bd;border-color:rgba(252,217,189,var(--border-opacity))}.group:hover .lg\:group-hover\:border-orange-300{--border-opacity:1;border-color:#fdba8c;border-color:rgba(253,186,140,var(--border-opacity))}.group:hover .lg\:group-hover\:border-orange-400{--border-opacity:1;border-color:#ff8a4c;border-color:rgba(255,138,76,var(--border-opacity))}.group:hover .lg\:group-hover\:border-orange-500{--border-opacity:1;border-color:#ff5a1f;border-color:rgba(255,90,31,var(--border-opacity))}.group:hover .lg\:group-hover\:border-orange-600{--border-opacity:1;border-color:#d03801;border-color:rgba(208,56,1,var(--border-opacity))}.group:hover .lg\:group-hover\:border-orange-700{--border-opacity:1;border-color:#b43403;border-color:rgba(180,52,3,var(--border-opacity))}.group:hover .lg\:group-hover\:border-orange-800{--border-opacity:1;border-color:#8a2c0d;border-color:rgba(138,44,13,var(--border-opacity))}.group:hover .lg\:group-hover\:border-orange-900{--border-opacity:1;border-color:#73230d;border-color:rgba(115,35,13,var(--border-opacity))}.group:hover .lg\:group-hover\:border-yellow-50{--border-opacity:1;border-color:#fdfdea;border-color:rgba(253,253,234,var(--border-opacity))}.group:hover .lg\:group-hover\:border-yellow-100{--border-opacity:1;border-color:#fdf6b2;border-color:rgba(253,246,178,var(--border-opacity))}.group:hover .lg\:group-hover\:border-yellow-200{--border-opacity:1;border-color:#fce96a;border-color:rgba(252,233,106,var(--border-opacity))}.group:hover .lg\:group-hover\:border-yellow-300{--border-opacity:1;border-color:#faca15;border-color:rgba(250,202,21,var(--border-opacity))}.group:hover .lg\:group-hover\:border-yellow-400{--border-opacity:1;border-color:#e3a008;border-color:rgba(227,160,8,var(--border-opacity))}.group:hover .lg\:group-hover\:border-yellow-500{--border-opacity:1;border-color:#c27803;border-color:rgba(194,120,3,var(--border-opacity))}.group:hover .lg\:group-hover\:border-yellow-600{--border-opacity:1;border-color:#9f580a;border-color:rgba(159,88,10,var(--border-opacity))}.group:hover .lg\:group-hover\:border-yellow-700{--border-opacity:1;border-color:#8e4b10;border-color:rgba(142,75,16,var(--border-opacity))}.group:hover .lg\:group-hover\:border-yellow-800{--border-opacity:1;border-color:#723b13;border-color:rgba(114,59,19,var(--border-opacity))}.group:hover .lg\:group-hover\:border-yellow-900{--border-opacity:1;border-color:#633112;border-color:rgba(99,49,18,var(--border-opacity))}.group:hover .lg\:group-hover\:border-green-50{--border-opacity:1;border-color:#f3faf7;border-color:rgba(243,250,247,var(--border-opacity))}.group:hover .lg\:group-hover\:border-green-100{--border-opacity:1;border-color:#def7ec;border-color:rgba(222,247,236,var(--border-opacity))}.group:hover .lg\:group-hover\:border-green-200{--border-opacity:1;border-color:#bcf0da;border-color:rgba(188,240,218,var(--border-opacity))}.group:hover .lg\:group-hover\:border-green-300{--border-opacity:1;border-color:#84e1bc;border-color:rgba(132,225,188,var(--border-opacity))}.group:hover .lg\:group-hover\:border-green-400{--border-opacity:1;border-color:#31c48d;border-color:rgba(49,196,141,var(--border-opacity))}.group:hover .lg\:group-hover\:border-green-500{--border-opacity:1;border-color:#0e9f6e;border-color:rgba(14,159,110,var(--border-opacity))}.group:hover .lg\:group-hover\:border-green-600{--border-opacity:1;border-color:#057a55;border-color:rgba(5,122,85,var(--border-opacity))}.group:hover .lg\:group-hover\:border-green-700{--border-opacity:1;border-color:#046c4e;border-color:rgba(4,108,78,var(--border-opacity))}.group:hover .lg\:group-hover\:border-green-800{--border-opacity:1;border-color:#03543f;border-color:rgba(3,84,63,var(--border-opacity))}.group:hover .lg\:group-hover\:border-green-900{--border-opacity:1;border-color:#014737;border-color:rgba(1,71,55,var(--border-opacity))}.group:hover .lg\:group-hover\:border-teal-50{--border-opacity:1;border-color:#edfafa;border-color:rgba(237,250,250,var(--border-opacity))}.group:hover .lg\:group-hover\:border-teal-100{--border-opacity:1;border-color:#d5f5f6;border-color:rgba(213,245,246,var(--border-opacity))}.group:hover .lg\:group-hover\:border-teal-200{--border-opacity:1;border-color:#afecef;border-color:rgba(175,236,239,var(--border-opacity))}.group:hover .lg\:group-hover\:border-teal-300{--border-opacity:1;border-color:#7edce2;border-color:rgba(126,220,226,var(--border-opacity))}.group:hover .lg\:group-hover\:border-teal-400{--border-opacity:1;border-color:#16bdca;border-color:rgba(22,189,202,var(--border-opacity))}.group:hover .lg\:group-hover\:border-teal-500{--border-opacity:1;border-color:#0694a2;border-color:rgba(6,148,162,var(--border-opacity))}.group:hover .lg\:group-hover\:border-teal-600{--border-opacity:1;border-color:#047481;border-color:rgba(4,116,129,var(--border-opacity))}.group:hover .lg\:group-hover\:border-teal-700{--border-opacity:1;border-color:#036672;border-color:rgba(3,102,114,var(--border-opacity))}.group:hover .lg\:group-hover\:border-teal-800{--border-opacity:1;border-color:#05505c;border-color:rgba(5,80,92,var(--border-opacity))}.group:hover .lg\:group-hover\:border-teal-900{--border-opacity:1;border-color:#014451;border-color:rgba(1,68,81,var(--border-opacity))}.group:hover .lg\:group-hover\:border-blue-50{--border-opacity:1;border-color:#ebf5ff;border-color:rgba(235,245,255,var(--border-opacity))}.group:hover .lg\:group-hover\:border-blue-100{--border-opacity:1;border-color:#e1effe;border-color:rgba(225,239,254,var(--border-opacity))}.group:hover .lg\:group-hover\:border-blue-200{--border-opacity:1;border-color:#c3ddfd;border-color:rgba(195,221,253,var(--border-opacity))}.group:hover .lg\:group-hover\:border-blue-300{--border-opacity:1;border-color:#a4cafe;border-color:rgba(164,202,254,var(--border-opacity))}.group:hover .lg\:group-hover\:border-blue-400{--border-opacity:1;border-color:#76a9fa;border-color:rgba(118,169,250,var(--border-opacity))}.group:hover .lg\:group-hover\:border-blue-500{--border-opacity:1;border-color:#3f83f8;border-color:rgba(63,131,248,var(--border-opacity))}.group:hover .lg\:group-hover\:border-blue-600{--border-opacity:1;border-color:#1c64f2;border-color:rgba(28,100,242,var(--border-opacity))}.group:hover .lg\:group-hover\:border-blue-700{--border-opacity:1;border-color:#1a56db;border-color:rgba(26,86,219,var(--border-opacity))}.group:hover .lg\:group-hover\:border-blue-800{--border-opacity:1;border-color:#1e429f;border-color:rgba(30,66,159,var(--border-opacity))}.group:hover .lg\:group-hover\:border-blue-900{--border-opacity:1;border-color:#233876;border-color:rgba(35,56,118,var(--border-opacity))}.group:hover .lg\:group-hover\:border-indigo-50{--border-opacity:1;border-color:#f0f5ff;border-color:rgba(240,245,255,var(--border-opacity))}.group:hover .lg\:group-hover\:border-indigo-100{--border-opacity:1;border-color:#e5edff;border-color:rgba(229,237,255,var(--border-opacity))}.group:hover .lg\:group-hover\:border-indigo-200{--border-opacity:1;border-color:#cddbfe;border-color:rgba(205,219,254,var(--border-opacity))}.group:hover .lg\:group-hover\:border-indigo-300{--border-opacity:1;border-color:#b4c6fc;border-color:rgba(180,198,252,var(--border-opacity))}.group:hover .lg\:group-hover\:border-indigo-400{--border-opacity:1;border-color:#8da2fb;border-color:rgba(141,162,251,var(--border-opacity))}.group:hover .lg\:group-hover\:border-indigo-500{--border-opacity:1;border-color:#6875f5;border-color:rgba(104,117,245,var(--border-opacity))}.group:hover .lg\:group-hover\:border-indigo-600{--border-opacity:1;border-color:#5850ec;border-color:rgba(88,80,236,var(--border-opacity))}.group:hover .lg\:group-hover\:border-indigo-700{--border-opacity:1;border-color:#5145cd;border-color:rgba(81,69,205,var(--border-opacity))}.group:hover .lg\:group-hover\:border-indigo-800{--border-opacity:1;border-color:#42389d;border-color:rgba(66,56,157,var(--border-opacity))}.group:hover .lg\:group-hover\:border-indigo-900{--border-opacity:1;border-color:#362f78;border-color:rgba(54,47,120,var(--border-opacity))}.group:hover .lg\:group-hover\:border-purple-50{--border-opacity:1;border-color:#f6f5ff;border-color:rgba(246,245,255,var(--border-opacity))}.group:hover .lg\:group-hover\:border-purple-100{--border-opacity:1;border-color:#edebfe;border-color:rgba(237,235,254,var(--border-opacity))}.group:hover .lg\:group-hover\:border-purple-200{--border-opacity:1;border-color:#dcd7fe;border-color:rgba(220,215,254,var(--border-opacity))}.group:hover .lg\:group-hover\:border-purple-300{--border-opacity:1;border-color:#cabffd;border-color:rgba(202,191,253,var(--border-opacity))}.group:hover .lg\:group-hover\:border-purple-400{--border-opacity:1;border-color:#ac94fa;border-color:rgba(172,148,250,var(--border-opacity))}.group:hover .lg\:group-hover\:border-purple-500{--border-opacity:1;border-color:#9061f9;border-color:rgba(144,97,249,var(--border-opacity))}.group:hover .lg\:group-hover\:border-purple-600{--border-opacity:1;border-color:#7e3af2;border-color:rgba(126,58,242,var(--border-opacity))}.group:hover .lg\:group-hover\:border-purple-700{--border-opacity:1;border-color:#6c2bd9;border-color:rgba(108,43,217,var(--border-opacity))}.group:hover .lg\:group-hover\:border-purple-800{--border-opacity:1;border-color:#5521b5;border-color:rgba(85,33,181,var(--border-opacity))}.group:hover .lg\:group-hover\:border-purple-900{--border-opacity:1;border-color:#4a1d96;border-color:rgba(74,29,150,var(--border-opacity))}.group:hover .lg\:group-hover\:border-pink-50{--border-opacity:1;border-color:#fdf2f8;border-color:rgba(253,242,248,var(--border-opacity))}.group:hover .lg\:group-hover\:border-pink-100{--border-opacity:1;border-color:#fce8f3;border-color:rgba(252,232,243,var(--border-opacity))}.group:hover .lg\:group-hover\:border-pink-200{--border-opacity:1;border-color:#fad1e8;border-color:rgba(250,209,232,var(--border-opacity))}.group:hover .lg\:group-hover\:border-pink-300{--border-opacity:1;border-color:#f8b4d9;border-color:rgba(248,180,217,var(--border-opacity))}.group:hover .lg\:group-hover\:border-pink-400{--border-opacity:1;border-color:#f17eb8;border-color:rgba(241,126,184,var(--border-opacity))}.group:hover .lg\:group-hover\:border-pink-500{--border-opacity:1;border-color:#e74694;border-color:rgba(231,70,148,var(--border-opacity))}.group:hover .lg\:group-hover\:border-pink-600{--border-opacity:1;border-color:#d61f69;border-color:rgba(214,31,105,var(--border-opacity))}.group:hover .lg\:group-hover\:border-pink-700{--border-opacity:1;border-color:#bf125d;border-color:rgba(191,18,93,var(--border-opacity))}.group:hover .lg\:group-hover\:border-pink-800{--border-opacity:1;border-color:#99154b;border-color:rgba(153,21,75,var(--border-opacity))}.group:hover .lg\:group-hover\:border-pink-900{--border-opacity:1;border-color:#751a3d;border-color:rgba(117,26,61,var(--border-opacity))}.group:focus .lg\:group-focus\:border-transparent{border-color:transparent}.group:focus .lg\:group-focus\:border-white{--border-opacity:1;border-color:#fff;border-color:rgba(255,255,255,var(--border-opacity))}.group:focus .lg\:group-focus\:border-black{--border-opacity:1;border-color:#000;border-color:rgba(0,0,0,var(--border-opacity))}.group:focus .lg\:group-focus\:border-gray-50{--border-opacity:1;border-color:#f9fafb;border-color:rgba(249,250,251,var(--border-opacity))}.group:focus .lg\:group-focus\:border-gray-100{--border-opacity:1;border-color:#f4f5f7;border-color:rgba(244,245,247,var(--border-opacity))}.group:focus .lg\:group-focus\:border-gray-200{--border-opacity:1;border-color:#e5e7eb;border-color:rgba(229,231,235,var(--border-opacity))}.group:focus .lg\:group-focus\:border-gray-300{--border-opacity:1;border-color:#d2d6dc;border-color:rgba(210,214,220,var(--border-opacity))}.group:focus .lg\:group-focus\:border-gray-400{--border-opacity:1;border-color:#9fa6b2;border-color:rgba(159,166,178,var(--border-opacity))}.group:focus .lg\:group-focus\:border-gray-500{--border-opacity:1;border-color:#6b7280;border-color:rgba(107,114,128,var(--border-opacity))}.group:focus .lg\:group-focus\:border-gray-600{--border-opacity:1;border-color:#4b5563;border-color:rgba(75,85,99,var(--border-opacity))}.group:focus .lg\:group-focus\:border-gray-700{--border-opacity:1;border-color:#374151;border-color:rgba(55,65,81,var(--border-opacity))}.group:focus .lg\:group-focus\:border-gray-800{--border-opacity:1;border-color:#252f3f;border-color:rgba(37,47,63,var(--border-opacity))}.group:focus .lg\:group-focus\:border-gray-900{--border-opacity:1;border-color:#161e2e;border-color:rgba(22,30,46,var(--border-opacity))}.group:focus .lg\:group-focus\:border-cool-gray-50{--border-opacity:1;border-color:#f8fafc;border-color:rgba(248,250,252,var(--border-opacity))}.group:focus .lg\:group-focus\:border-cool-gray-100{--border-opacity:1;border-color:#f1f5f9;border-color:rgba(241,245,249,var(--border-opacity))}.group:focus .lg\:group-focus\:border-cool-gray-200{--border-opacity:1;border-color:#e2e8f0;border-color:rgba(226,232,240,var(--border-opacity))}.group:focus .lg\:group-focus\:border-cool-gray-300{--border-opacity:1;border-color:#cfd8e3;border-color:rgba(207,216,227,var(--border-opacity))}.group:focus .lg\:group-focus\:border-cool-gray-400{--border-opacity:1;border-color:#97a6ba;border-color:rgba(151,166,186,var(--border-opacity))}.group:focus .lg\:group-focus\:border-cool-gray-500{--border-opacity:1;border-color:#64748b;border-color:rgba(100,116,139,var(--border-opacity))}.group:focus .lg\:group-focus\:border-cool-gray-600{--border-opacity:1;border-color:#475569;border-color:rgba(71,85,105,var(--border-opacity))}.group:focus .lg\:group-focus\:border-cool-gray-700{--border-opacity:1;border-color:#364152;border-color:rgba(54,65,82,var(--border-opacity))}.group:focus .lg\:group-focus\:border-cool-gray-800{--border-opacity:1;border-color:#27303f;border-color:rgba(39,48,63,var(--border-opacity))}.group:focus .lg\:group-focus\:border-cool-gray-900{--border-opacity:1;border-color:#1a202e;border-color:rgba(26,32,46,var(--border-opacity))}.group:focus .lg\:group-focus\:border-red-50{--border-opacity:1;border-color:#fdf2f2;border-color:rgba(253,242,242,var(--border-opacity))}.group:focus .lg\:group-focus\:border-red-100{--border-opacity:1;border-color:#fde8e8;border-color:rgba(253,232,232,var(--border-opacity))}.group:focus .lg\:group-focus\:border-red-200{--border-opacity:1;border-color:#fbd5d5;border-color:rgba(251,213,213,var(--border-opacity))}.group:focus .lg\:group-focus\:border-red-300{--border-opacity:1;border-color:#f8b4b4;border-color:rgba(248,180,180,var(--border-opacity))}.group:focus .lg\:group-focus\:border-red-400{--border-opacity:1;border-color:#f98080;border-color:rgba(249,128,128,var(--border-opacity))}.group:focus .lg\:group-focus\:border-red-500{--border-opacity:1;border-color:#f05252;border-color:rgba(240,82,82,var(--border-opacity))}.group:focus .lg\:group-focus\:border-red-600{--border-opacity:1;border-color:#e02424;border-color:rgba(224,36,36,var(--border-opacity))}.group:focus .lg\:group-focus\:border-red-700{--border-opacity:1;border-color:#c81e1e;border-color:rgba(200,30,30,var(--border-opacity))}.group:focus .lg\:group-focus\:border-red-800{--border-opacity:1;border-color:#9b1c1c;border-color:rgba(155,28,28,var(--border-opacity))}.group:focus .lg\:group-focus\:border-red-900{--border-opacity:1;border-color:#771d1d;border-color:rgba(119,29,29,var(--border-opacity))}.group:focus .lg\:group-focus\:border-orange-50{--border-opacity:1;border-color:#fff8f1;border-color:rgba(255,248,241,var(--border-opacity))}.group:focus .lg\:group-focus\:border-orange-100{--border-opacity:1;border-color:#feecdc;border-color:rgba(254,236,220,var(--border-opacity))}.group:focus .lg\:group-focus\:border-orange-200{--border-opacity:1;border-color:#fcd9bd;border-color:rgba(252,217,189,var(--border-opacity))}.group:focus .lg\:group-focus\:border-orange-300{--border-opacity:1;border-color:#fdba8c;border-color:rgba(253,186,140,var(--border-opacity))}.group:focus .lg\:group-focus\:border-orange-400{--border-opacity:1;border-color:#ff8a4c;border-color:rgba(255,138,76,var(--border-opacity))}.group:focus .lg\:group-focus\:border-orange-500{--border-opacity:1;border-color:#ff5a1f;border-color:rgba(255,90,31,var(--border-opacity))}.group:focus .lg\:group-focus\:border-orange-600{--border-opacity:1;border-color:#d03801;border-color:rgba(208,56,1,var(--border-opacity))}.group:focus .lg\:group-focus\:border-orange-700{--border-opacity:1;border-color:#b43403;border-color:rgba(180,52,3,var(--border-opacity))}.group:focus .lg\:group-focus\:border-orange-800{--border-opacity:1;border-color:#8a2c0d;border-color:rgba(138,44,13,var(--border-opacity))}.group:focus .lg\:group-focus\:border-orange-900{--border-opacity:1;border-color:#73230d;border-color:rgba(115,35,13,var(--border-opacity))}.group:focus .lg\:group-focus\:border-yellow-50{--border-opacity:1;border-color:#fdfdea;border-color:rgba(253,253,234,var(--border-opacity))}.group:focus .lg\:group-focus\:border-yellow-100{--border-opacity:1;border-color:#fdf6b2;border-color:rgba(253,246,178,var(--border-opacity))}.group:focus .lg\:group-focus\:border-yellow-200{--border-opacity:1;border-color:#fce96a;border-color:rgba(252,233,106,var(--border-opacity))}.group:focus .lg\:group-focus\:border-yellow-300{--border-opacity:1;border-color:#faca15;border-color:rgba(250,202,21,var(--border-opacity))}.group:focus .lg\:group-focus\:border-yellow-400{--border-opacity:1;border-color:#e3a008;border-color:rgba(227,160,8,var(--border-opacity))}.group:focus .lg\:group-focus\:border-yellow-500{--border-opacity:1;border-color:#c27803;border-color:rgba(194,120,3,var(--border-opacity))}.group:focus .lg\:group-focus\:border-yellow-600{--border-opacity:1;border-color:#9f580a;border-color:rgba(159,88,10,var(--border-opacity))}.group:focus .lg\:group-focus\:border-yellow-700{--border-opacity:1;border-color:#8e4b10;border-color:rgba(142,75,16,var(--border-opacity))}.group:focus .lg\:group-focus\:border-yellow-800{--border-opacity:1;border-color:#723b13;border-color:rgba(114,59,19,var(--border-opacity))}.group:focus .lg\:group-focus\:border-yellow-900{--border-opacity:1;border-color:#633112;border-color:rgba(99,49,18,var(--border-opacity))}.group:focus .lg\:group-focus\:border-green-50{--border-opacity:1;border-color:#f3faf7;border-color:rgba(243,250,247,var(--border-opacity))}.group:focus .lg\:group-focus\:border-green-100{--border-opacity:1;border-color:#def7ec;border-color:rgba(222,247,236,var(--border-opacity))}.group:focus .lg\:group-focus\:border-green-200{--border-opacity:1;border-color:#bcf0da;border-color:rgba(188,240,218,var(--border-opacity))}.group:focus .lg\:group-focus\:border-green-300{--border-opacity:1;border-color:#84e1bc;border-color:rgba(132,225,188,var(--border-opacity))}.group:focus .lg\:group-focus\:border-green-400{--border-opacity:1;border-color:#31c48d;border-color:rgba(49,196,141,var(--border-opacity))}.group:focus .lg\:group-focus\:border-green-500{--border-opacity:1;border-color:#0e9f6e;border-color:rgba(14,159,110,var(--border-opacity))}.group:focus .lg\:group-focus\:border-green-600{--border-opacity:1;border-color:#057a55;border-color:rgba(5,122,85,var(--border-opacity))}.group:focus .lg\:group-focus\:border-green-700{--border-opacity:1;border-color:#046c4e;border-color:rgba(4,108,78,var(--border-opacity))}.group:focus .lg\:group-focus\:border-green-800{--border-opacity:1;border-color:#03543f;border-color:rgba(3,84,63,var(--border-opacity))}.group:focus .lg\:group-focus\:border-green-900{--border-opacity:1;border-color:#014737;border-color:rgba(1,71,55,var(--border-opacity))}.group:focus .lg\:group-focus\:border-teal-50{--border-opacity:1;border-color:#edfafa;border-color:rgba(237,250,250,var(--border-opacity))}.group:focus .lg\:group-focus\:border-teal-100{--border-opacity:1;border-color:#d5f5f6;border-color:rgba(213,245,246,var(--border-opacity))}.group:focus .lg\:group-focus\:border-teal-200{--border-opacity:1;border-color:#afecef;border-color:rgba(175,236,239,var(--border-opacity))}.group:focus .lg\:group-focus\:border-teal-300{--border-opacity:1;border-color:#7edce2;border-color:rgba(126,220,226,var(--border-opacity))}.group:focus .lg\:group-focus\:border-teal-400{--border-opacity:1;border-color:#16bdca;border-color:rgba(22,189,202,var(--border-opacity))}.group:focus .lg\:group-focus\:border-teal-500{--border-opacity:1;border-color:#0694a2;border-color:rgba(6,148,162,var(--border-opacity))}.group:focus .lg\:group-focus\:border-teal-600{--border-opacity:1;border-color:#047481;border-color:rgba(4,116,129,var(--border-opacity))}.group:focus .lg\:group-focus\:border-teal-700{--border-opacity:1;border-color:#036672;border-color:rgba(3,102,114,var(--border-opacity))}.group:focus .lg\:group-focus\:border-teal-800{--border-opacity:1;border-color:#05505c;border-color:rgba(5,80,92,var(--border-opacity))}.group:focus .lg\:group-focus\:border-teal-900{--border-opacity:1;border-color:#014451;border-color:rgba(1,68,81,var(--border-opacity))}.group:focus .lg\:group-focus\:border-blue-50{--border-opacity:1;border-color:#ebf5ff;border-color:rgba(235,245,255,var(--border-opacity))}.group:focus .lg\:group-focus\:border-blue-100{--border-opacity:1;border-color:#e1effe;border-color:rgba(225,239,254,var(--border-opacity))}.group:focus .lg\:group-focus\:border-blue-200{--border-opacity:1;border-color:#c3ddfd;border-color:rgba(195,221,253,var(--border-opacity))}.group:focus .lg\:group-focus\:border-blue-300{--border-opacity:1;border-color:#a4cafe;border-color:rgba(164,202,254,var(--border-opacity))}.group:focus .lg\:group-focus\:border-blue-400{--border-opacity:1;border-color:#76a9fa;border-color:rgba(118,169,250,var(--border-opacity))}.group:focus .lg\:group-focus\:border-blue-500{--border-opacity:1;border-color:#3f83f8;border-color:rgba(63,131,248,var(--border-opacity))}.group:focus .lg\:group-focus\:border-blue-600{--border-opacity:1;border-color:#1c64f2;border-color:rgba(28,100,242,var(--border-opacity))}.group:focus .lg\:group-focus\:border-blue-700{--border-opacity:1;border-color:#1a56db;border-color:rgba(26,86,219,var(--border-opacity))}.group:focus .lg\:group-focus\:border-blue-800{--border-opacity:1;border-color:#1e429f;border-color:rgba(30,66,159,var(--border-opacity))}.group:focus .lg\:group-focus\:border-blue-900{--border-opacity:1;border-color:#233876;border-color:rgba(35,56,118,var(--border-opacity))}.group:focus .lg\:group-focus\:border-indigo-50{--border-opacity:1;border-color:#f0f5ff;border-color:rgba(240,245,255,var(--border-opacity))}.group:focus .lg\:group-focus\:border-indigo-100{--border-opacity:1;border-color:#e5edff;border-color:rgba(229,237,255,var(--border-opacity))}.group:focus .lg\:group-focus\:border-indigo-200{--border-opacity:1;border-color:#cddbfe;border-color:rgba(205,219,254,var(--border-opacity))}.group:focus .lg\:group-focus\:border-indigo-300{--border-opacity:1;border-color:#b4c6fc;border-color:rgba(180,198,252,var(--border-opacity))}.group:focus .lg\:group-focus\:border-indigo-400{--border-opacity:1;border-color:#8da2fb;border-color:rgba(141,162,251,var(--border-opacity))}.group:focus .lg\:group-focus\:border-indigo-500{--border-opacity:1;border-color:#6875f5;border-color:rgba(104,117,245,var(--border-opacity))}.group:focus .lg\:group-focus\:border-indigo-600{--border-opacity:1;border-color:#5850ec;border-color:rgba(88,80,236,var(--border-opacity))}.group:focus .lg\:group-focus\:border-indigo-700{--border-opacity:1;border-color:#5145cd;border-color:rgba(81,69,205,var(--border-opacity))}.group:focus .lg\:group-focus\:border-indigo-800{--border-opacity:1;border-color:#42389d;border-color:rgba(66,56,157,var(--border-opacity))}.group:focus .lg\:group-focus\:border-indigo-900{--border-opacity:1;border-color:#362f78;border-color:rgba(54,47,120,var(--border-opacity))}.group:focus .lg\:group-focus\:border-purple-50{--border-opacity:1;border-color:#f6f5ff;border-color:rgba(246,245,255,var(--border-opacity))}.group:focus .lg\:group-focus\:border-purple-100{--border-opacity:1;border-color:#edebfe;border-color:rgba(237,235,254,var(--border-opacity))}.group:focus .lg\:group-focus\:border-purple-200{--border-opacity:1;border-color:#dcd7fe;border-color:rgba(220,215,254,var(--border-opacity))}.group:focus .lg\:group-focus\:border-purple-300{--border-opacity:1;border-color:#cabffd;border-color:rgba(202,191,253,var(--border-opacity))}.group:focus .lg\:group-focus\:border-purple-400{--border-opacity:1;border-color:#ac94fa;border-color:rgba(172,148,250,var(--border-opacity))}.group:focus .lg\:group-focus\:border-purple-500{--border-opacity:1;border-color:#9061f9;border-color:rgba(144,97,249,var(--border-opacity))}.group:focus .lg\:group-focus\:border-purple-600{--border-opacity:1;border-color:#7e3af2;border-color:rgba(126,58,242,var(--border-opacity))}.group:focus .lg\:group-focus\:border-purple-700{--border-opacity:1;border-color:#6c2bd9;border-color:rgba(108,43,217,var(--border-opacity))}.group:focus .lg\:group-focus\:border-purple-800{--border-opacity:1;border-color:#5521b5;border-color:rgba(85,33,181,var(--border-opacity))}.group:focus .lg\:group-focus\:border-purple-900{--border-opacity:1;border-color:#4a1d96;border-color:rgba(74,29,150,var(--border-opacity))}.group:focus .lg\:group-focus\:border-pink-50{--border-opacity:1;border-color:#fdf2f8;border-color:rgba(253,242,248,var(--border-opacity))}.group:focus .lg\:group-focus\:border-pink-100{--border-opacity:1;border-color:#fce8f3;border-color:rgba(252,232,243,var(--border-opacity))}.group:focus .lg\:group-focus\:border-pink-200{--border-opacity:1;border-color:#fad1e8;border-color:rgba(250,209,232,var(--border-opacity))}.group:focus .lg\:group-focus\:border-pink-300{--border-opacity:1;border-color:#f8b4d9;border-color:rgba(248,180,217,var(--border-opacity))}.group:focus .lg\:group-focus\:border-pink-400{--border-opacity:1;border-color:#f17eb8;border-color:rgba(241,126,184,var(--border-opacity))}.group:focus .lg\:group-focus\:border-pink-500{--border-opacity:1;border-color:#e74694;border-color:rgba(231,70,148,var(--border-opacity))}.group:focus .lg\:group-focus\:border-pink-600{--border-opacity:1;border-color:#d61f69;border-color:rgba(214,31,105,var(--border-opacity))}.group:focus .lg\:group-focus\:border-pink-700{--border-opacity:1;border-color:#bf125d;border-color:rgba(191,18,93,var(--border-opacity))}.group:focus .lg\:group-focus\:border-pink-800{--border-opacity:1;border-color:#99154b;border-color:rgba(153,21,75,var(--border-opacity))}.group:focus .lg\:group-focus\:border-pink-900{--border-opacity:1;border-color:#751a3d;border-color:rgba(117,26,61,var(--border-opacity))}.lg\:hover\:border-transparent:hover{border-color:transparent}.lg\:hover\:border-white:hover{--border-opacity:1;border-color:#fff;border-color:rgba(255,255,255,var(--border-opacity))}.lg\:hover\:border-black:hover{--border-opacity:1;border-color:#000;border-color:rgba(0,0,0,var(--border-opacity))}.lg\:hover\:border-gray-50:hover{--border-opacity:1;border-color:#f9fafb;border-color:rgba(249,250,251,var(--border-opacity))}.lg\:hover\:border-gray-100:hover{--border-opacity:1;border-color:#f4f5f7;border-color:rgba(244,245,247,var(--border-opacity))}.lg\:hover\:border-gray-200:hover{--border-opacity:1;border-color:#e5e7eb;border-color:rgba(229,231,235,var(--border-opacity))}.lg\:hover\:border-gray-300:hover{--border-opacity:1;border-color:#d2d6dc;border-color:rgba(210,214,220,var(--border-opacity))}.lg\:hover\:border-gray-400:hover{--border-opacity:1;border-color:#9fa6b2;border-color:rgba(159,166,178,var(--border-opacity))}.lg\:hover\:border-gray-500:hover{--border-opacity:1;border-color:#6b7280;border-color:rgba(107,114,128,var(--border-opacity))}.lg\:hover\:border-gray-600:hover{--border-opacity:1;border-color:#4b5563;border-color:rgba(75,85,99,var(--border-opacity))}.lg\:hover\:border-gray-700:hover{--border-opacity:1;border-color:#374151;border-color:rgba(55,65,81,var(--border-opacity))}.lg\:hover\:border-gray-800:hover{--border-opacity:1;border-color:#252f3f;border-color:rgba(37,47,63,var(--border-opacity))}.lg\:hover\:border-gray-900:hover{--border-opacity:1;border-color:#161e2e;border-color:rgba(22,30,46,var(--border-opacity))}.lg\:hover\:border-cool-gray-50:hover{--border-opacity:1;border-color:#f8fafc;border-color:rgba(248,250,252,var(--border-opacity))}.lg\:hover\:border-cool-gray-100:hover{--border-opacity:1;border-color:#f1f5f9;border-color:rgba(241,245,249,var(--border-opacity))}.lg\:hover\:border-cool-gray-200:hover{--border-opacity:1;border-color:#e2e8f0;border-color:rgba(226,232,240,var(--border-opacity))}.lg\:hover\:border-cool-gray-300:hover{--border-opacity:1;border-color:#cfd8e3;border-color:rgba(207,216,227,var(--border-opacity))}.lg\:hover\:border-cool-gray-400:hover{--border-opacity:1;border-color:#97a6ba;border-color:rgba(151,166,186,var(--border-opacity))}.lg\:hover\:border-cool-gray-500:hover{--border-opacity:1;border-color:#64748b;border-color:rgba(100,116,139,var(--border-opacity))}.lg\:hover\:border-cool-gray-600:hover{--border-opacity:1;border-color:#475569;border-color:rgba(71,85,105,var(--border-opacity))}.lg\:hover\:border-cool-gray-700:hover{--border-opacity:1;border-color:#364152;border-color:rgba(54,65,82,var(--border-opacity))}.lg\:hover\:border-cool-gray-800:hover{--border-opacity:1;border-color:#27303f;border-color:rgba(39,48,63,var(--border-opacity))}.lg\:hover\:border-cool-gray-900:hover{--border-opacity:1;border-color:#1a202e;border-color:rgba(26,32,46,var(--border-opacity))}.lg\:hover\:border-red-50:hover{--border-opacity:1;border-color:#fdf2f2;border-color:rgba(253,242,242,var(--border-opacity))}.lg\:hover\:border-red-100:hover{--border-opacity:1;border-color:#fde8e8;border-color:rgba(253,232,232,var(--border-opacity))}.lg\:hover\:border-red-200:hover{--border-opacity:1;border-color:#fbd5d5;border-color:rgba(251,213,213,var(--border-opacity))}.lg\:hover\:border-red-300:hover{--border-opacity:1;border-color:#f8b4b4;border-color:rgba(248,180,180,var(--border-opacity))}.lg\:hover\:border-red-400:hover{--border-opacity:1;border-color:#f98080;border-color:rgba(249,128,128,var(--border-opacity))}.lg\:hover\:border-red-500:hover{--border-opacity:1;border-color:#f05252;border-color:rgba(240,82,82,var(--border-opacity))}.lg\:hover\:border-red-600:hover{--border-opacity:1;border-color:#e02424;border-color:rgba(224,36,36,var(--border-opacity))}.lg\:hover\:border-red-700:hover{--border-opacity:1;border-color:#c81e1e;border-color:rgba(200,30,30,var(--border-opacity))}.lg\:hover\:border-red-800:hover{--border-opacity:1;border-color:#9b1c1c;border-color:rgba(155,28,28,var(--border-opacity))}.lg\:hover\:border-red-900:hover{--border-opacity:1;border-color:#771d1d;border-color:rgba(119,29,29,var(--border-opacity))}.lg\:hover\:border-orange-50:hover{--border-opacity:1;border-color:#fff8f1;border-color:rgba(255,248,241,var(--border-opacity))}.lg\:hover\:border-orange-100:hover{--border-opacity:1;border-color:#feecdc;border-color:rgba(254,236,220,var(--border-opacity))}.lg\:hover\:border-orange-200:hover{--border-opacity:1;border-color:#fcd9bd;border-color:rgba(252,217,189,var(--border-opacity))}.lg\:hover\:border-orange-300:hover{--border-opacity:1;border-color:#fdba8c;border-color:rgba(253,186,140,var(--border-opacity))}.lg\:hover\:border-orange-400:hover{--border-opacity:1;border-color:#ff8a4c;border-color:rgba(255,138,76,var(--border-opacity))}.lg\:hover\:border-orange-500:hover{--border-opacity:1;border-color:#ff5a1f;border-color:rgba(255,90,31,var(--border-opacity))}.lg\:hover\:border-orange-600:hover{--border-opacity:1;border-color:#d03801;border-color:rgba(208,56,1,var(--border-opacity))}.lg\:hover\:border-orange-700:hover{--border-opacity:1;border-color:#b43403;border-color:rgba(180,52,3,var(--border-opacity))}.lg\:hover\:border-orange-800:hover{--border-opacity:1;border-color:#8a2c0d;border-color:rgba(138,44,13,var(--border-opacity))}.lg\:hover\:border-orange-900:hover{--border-opacity:1;border-color:#73230d;border-color:rgba(115,35,13,var(--border-opacity))}.lg\:hover\:border-yellow-50:hover{--border-opacity:1;border-color:#fdfdea;border-color:rgba(253,253,234,var(--border-opacity))}.lg\:hover\:border-yellow-100:hover{--border-opacity:1;border-color:#fdf6b2;border-color:rgba(253,246,178,var(--border-opacity))}.lg\:hover\:border-yellow-200:hover{--border-opacity:1;border-color:#fce96a;border-color:rgba(252,233,106,var(--border-opacity))}.lg\:hover\:border-yellow-300:hover{--border-opacity:1;border-color:#faca15;border-color:rgba(250,202,21,var(--border-opacity))}.lg\:hover\:border-yellow-400:hover{--border-opacity:1;border-color:#e3a008;border-color:rgba(227,160,8,var(--border-opacity))}.lg\:hover\:border-yellow-500:hover{--border-opacity:1;border-color:#c27803;border-color:rgba(194,120,3,var(--border-opacity))}.lg\:hover\:border-yellow-600:hover{--border-opacity:1;border-color:#9f580a;border-color:rgba(159,88,10,var(--border-opacity))}.lg\:hover\:border-yellow-700:hover{--border-opacity:1;border-color:#8e4b10;border-color:rgba(142,75,16,var(--border-opacity))}.lg\:hover\:border-yellow-800:hover{--border-opacity:1;border-color:#723b13;border-color:rgba(114,59,19,var(--border-opacity))}.lg\:hover\:border-yellow-900:hover{--border-opacity:1;border-color:#633112;border-color:rgba(99,49,18,var(--border-opacity))}.lg\:hover\:border-green-50:hover{--border-opacity:1;border-color:#f3faf7;border-color:rgba(243,250,247,var(--border-opacity))}.lg\:hover\:border-green-100:hover{--border-opacity:1;border-color:#def7ec;border-color:rgba(222,247,236,var(--border-opacity))}.lg\:hover\:border-green-200:hover{--border-opacity:1;border-color:#bcf0da;border-color:rgba(188,240,218,var(--border-opacity))}.lg\:hover\:border-green-300:hover{--border-opacity:1;border-color:#84e1bc;border-color:rgba(132,225,188,var(--border-opacity))}.lg\:hover\:border-green-400:hover{--border-opacity:1;border-color:#31c48d;border-color:rgba(49,196,141,var(--border-opacity))}.lg\:hover\:border-green-500:hover{--border-opacity:1;border-color:#0e9f6e;border-color:rgba(14,159,110,var(--border-opacity))}.lg\:hover\:border-green-600:hover{--border-opacity:1;border-color:#057a55;border-color:rgba(5,122,85,var(--border-opacity))}.lg\:hover\:border-green-700:hover{--border-opacity:1;border-color:#046c4e;border-color:rgba(4,108,78,var(--border-opacity))}.lg\:hover\:border-green-800:hover{--border-opacity:1;border-color:#03543f;border-color:rgba(3,84,63,var(--border-opacity))}.lg\:hover\:border-green-900:hover{--border-opacity:1;border-color:#014737;border-color:rgba(1,71,55,var(--border-opacity))}.lg\:hover\:border-teal-50:hover{--border-opacity:1;border-color:#edfafa;border-color:rgba(237,250,250,var(--border-opacity))}.lg\:hover\:border-teal-100:hover{--border-opacity:1;border-color:#d5f5f6;border-color:rgba(213,245,246,var(--border-opacity))}.lg\:hover\:border-teal-200:hover{--border-opacity:1;border-color:#afecef;border-color:rgba(175,236,239,var(--border-opacity))}.lg\:hover\:border-teal-300:hover{--border-opacity:1;border-color:#7edce2;border-color:rgba(126,220,226,var(--border-opacity))}.lg\:hover\:border-teal-400:hover{--border-opacity:1;border-color:#16bdca;border-color:rgba(22,189,202,var(--border-opacity))}.lg\:hover\:border-teal-500:hover{--border-opacity:1;border-color:#0694a2;border-color:rgba(6,148,162,var(--border-opacity))}.lg\:hover\:border-teal-600:hover{--border-opacity:1;border-color:#047481;border-color:rgba(4,116,129,var(--border-opacity))}.lg\:hover\:border-teal-700:hover{--border-opacity:1;border-color:#036672;border-color:rgba(3,102,114,var(--border-opacity))}.lg\:hover\:border-teal-800:hover{--border-opacity:1;border-color:#05505c;border-color:rgba(5,80,92,var(--border-opacity))}.lg\:hover\:border-teal-900:hover{--border-opacity:1;border-color:#014451;border-color:rgba(1,68,81,var(--border-opacity))}.lg\:hover\:border-blue-50:hover{--border-opacity:1;border-color:#ebf5ff;border-color:rgba(235,245,255,var(--border-opacity))}.lg\:hover\:border-blue-100:hover{--border-opacity:1;border-color:#e1effe;border-color:rgba(225,239,254,var(--border-opacity))}.lg\:hover\:border-blue-200:hover{--border-opacity:1;border-color:#c3ddfd;border-color:rgba(195,221,253,var(--border-opacity))}.lg\:hover\:border-blue-300:hover{--border-opacity:1;border-color:#a4cafe;border-color:rgba(164,202,254,var(--border-opacity))}.lg\:hover\:border-blue-400:hover{--border-opacity:1;border-color:#76a9fa;border-color:rgba(118,169,250,var(--border-opacity))}.lg\:hover\:border-blue-500:hover{--border-opacity:1;border-color:#3f83f8;border-color:rgba(63,131,248,var(--border-opacity))}.lg\:hover\:border-blue-600:hover{--border-opacity:1;border-color:#1c64f2;border-color:rgba(28,100,242,var(--border-opacity))}.lg\:hover\:border-blue-700:hover{--border-opacity:1;border-color:#1a56db;border-color:rgba(26,86,219,var(--border-opacity))}.lg\:hover\:border-blue-800:hover{--border-opacity:1;border-color:#1e429f;border-color:rgba(30,66,159,var(--border-opacity))}.lg\:hover\:border-blue-900:hover{--border-opacity:1;border-color:#233876;border-color:rgba(35,56,118,var(--border-opacity))}.lg\:hover\:border-indigo-50:hover{--border-opacity:1;border-color:#f0f5ff;border-color:rgba(240,245,255,var(--border-opacity))}.lg\:hover\:border-indigo-100:hover{--border-opacity:1;border-color:#e5edff;border-color:rgba(229,237,255,var(--border-opacity))}.lg\:hover\:border-indigo-200:hover{--border-opacity:1;border-color:#cddbfe;border-color:rgba(205,219,254,var(--border-opacity))}.lg\:hover\:border-indigo-300:hover{--border-opacity:1;border-color:#b4c6fc;border-color:rgba(180,198,252,var(--border-opacity))}.lg\:hover\:border-indigo-400:hover{--border-opacity:1;border-color:#8da2fb;border-color:rgba(141,162,251,var(--border-opacity))}.lg\:hover\:border-indigo-500:hover{--border-opacity:1;border-color:#6875f5;border-color:rgba(104,117,245,var(--border-opacity))}.lg\:hover\:border-indigo-600:hover{--border-opacity:1;border-color:#5850ec;border-color:rgba(88,80,236,var(--border-opacity))}.lg\:hover\:border-indigo-700:hover{--border-opacity:1;border-color:#5145cd;border-color:rgba(81,69,205,var(--border-opacity))}.lg\:hover\:border-indigo-800:hover{--border-opacity:1;border-color:#42389d;border-color:rgba(66,56,157,var(--border-opacity))}.lg\:hover\:border-indigo-900:hover{--border-opacity:1;border-color:#362f78;border-color:rgba(54,47,120,var(--border-opacity))}.lg\:hover\:border-purple-50:hover{--border-opacity:1;border-color:#f6f5ff;border-color:rgba(246,245,255,var(--border-opacity))}.lg\:hover\:border-purple-100:hover{--border-opacity:1;border-color:#edebfe;border-color:rgba(237,235,254,var(--border-opacity))}.lg\:hover\:border-purple-200:hover{--border-opacity:1;border-color:#dcd7fe;border-color:rgba(220,215,254,var(--border-opacity))}.lg\:hover\:border-purple-300:hover{--border-opacity:1;border-color:#cabffd;border-color:rgba(202,191,253,var(--border-opacity))}.lg\:hover\:border-purple-400:hover{--border-opacity:1;border-color:#ac94fa;border-color:rgba(172,148,250,var(--border-opacity))}.lg\:hover\:border-purple-500:hover{--border-opacity:1;border-color:#9061f9;border-color:rgba(144,97,249,var(--border-opacity))}.lg\:hover\:border-purple-600:hover{--border-opacity:1;border-color:#7e3af2;border-color:rgba(126,58,242,var(--border-opacity))}.lg\:hover\:border-purple-700:hover{--border-opacity:1;border-color:#6c2bd9;border-color:rgba(108,43,217,var(--border-opacity))}.lg\:hover\:border-purple-800:hover{--border-opacity:1;border-color:#5521b5;border-color:rgba(85,33,181,var(--border-opacity))}.lg\:hover\:border-purple-900:hover{--border-opacity:1;border-color:#4a1d96;border-color:rgba(74,29,150,var(--border-opacity))}.lg\:hover\:border-pink-50:hover{--border-opacity:1;border-color:#fdf2f8;border-color:rgba(253,242,248,var(--border-opacity))}.lg\:hover\:border-pink-100:hover{--border-opacity:1;border-color:#fce8f3;border-color:rgba(252,232,243,var(--border-opacity))}.lg\:hover\:border-pink-200:hover{--border-opacity:1;border-color:#fad1e8;border-color:rgba(250,209,232,var(--border-opacity))}.lg\:hover\:border-pink-300:hover{--border-opacity:1;border-color:#f8b4d9;border-color:rgba(248,180,217,var(--border-opacity))}.lg\:hover\:border-pink-400:hover{--border-opacity:1;border-color:#f17eb8;border-color:rgba(241,126,184,var(--border-opacity))}.lg\:hover\:border-pink-500:hover{--border-opacity:1;border-color:#e74694;border-color:rgba(231,70,148,var(--border-opacity))}.lg\:hover\:border-pink-600:hover{--border-opacity:1;border-color:#d61f69;border-color:rgba(214,31,105,var(--border-opacity))}.lg\:hover\:border-pink-700:hover{--border-opacity:1;border-color:#bf125d;border-color:rgba(191,18,93,var(--border-opacity))}.lg\:hover\:border-pink-800:hover{--border-opacity:1;border-color:#99154b;border-color:rgba(153,21,75,var(--border-opacity))}.lg\:hover\:border-pink-900:hover{--border-opacity:1;border-color:#751a3d;border-color:rgba(117,26,61,var(--border-opacity))}.lg\:focus\:border-transparent:focus{border-color:transparent}.lg\:focus\:border-white:focus{--border-opacity:1;border-color:#fff;border-color:rgba(255,255,255,var(--border-opacity))}.lg\:focus\:border-black:focus{--border-opacity:1;border-color:#000;border-color:rgba(0,0,0,var(--border-opacity))}.lg\:focus\:border-gray-50:focus{--border-opacity:1;border-color:#f9fafb;border-color:rgba(249,250,251,var(--border-opacity))}.lg\:focus\:border-gray-100:focus{--border-opacity:1;border-color:#f4f5f7;border-color:rgba(244,245,247,var(--border-opacity))}.lg\:focus\:border-gray-200:focus{--border-opacity:1;border-color:#e5e7eb;border-color:rgba(229,231,235,var(--border-opacity))}.lg\:focus\:border-gray-300:focus{--border-opacity:1;border-color:#d2d6dc;border-color:rgba(210,214,220,var(--border-opacity))}.lg\:focus\:border-gray-400:focus{--border-opacity:1;border-color:#9fa6b2;border-color:rgba(159,166,178,var(--border-opacity))}.lg\:focus\:border-gray-500:focus{--border-opacity:1;border-color:#6b7280;border-color:rgba(107,114,128,var(--border-opacity))}.lg\:focus\:border-gray-600:focus{--border-opacity:1;border-color:#4b5563;border-color:rgba(75,85,99,var(--border-opacity))}.lg\:focus\:border-gray-700:focus{--border-opacity:1;border-color:#374151;border-color:rgba(55,65,81,var(--border-opacity))}.lg\:focus\:border-gray-800:focus{--border-opacity:1;border-color:#252f3f;border-color:rgba(37,47,63,var(--border-opacity))}.lg\:focus\:border-gray-900:focus{--border-opacity:1;border-color:#161e2e;border-color:rgba(22,30,46,var(--border-opacity))}.lg\:focus\:border-cool-gray-50:focus{--border-opacity:1;border-color:#f8fafc;border-color:rgba(248,250,252,var(--border-opacity))}.lg\:focus\:border-cool-gray-100:focus{--border-opacity:1;border-color:#f1f5f9;border-color:rgba(241,245,249,var(--border-opacity))}.lg\:focus\:border-cool-gray-200:focus{--border-opacity:1;border-color:#e2e8f0;border-color:rgba(226,232,240,var(--border-opacity))}.lg\:focus\:border-cool-gray-300:focus{--border-opacity:1;border-color:#cfd8e3;border-color:rgba(207,216,227,var(--border-opacity))}.lg\:focus\:border-cool-gray-400:focus{--border-opacity:1;border-color:#97a6ba;border-color:rgba(151,166,186,var(--border-opacity))}.lg\:focus\:border-cool-gray-500:focus{--border-opacity:1;border-color:#64748b;border-color:rgba(100,116,139,var(--border-opacity))}.lg\:focus\:border-cool-gray-600:focus{--border-opacity:1;border-color:#475569;border-color:rgba(71,85,105,var(--border-opacity))}.lg\:focus\:border-cool-gray-700:focus{--border-opacity:1;border-color:#364152;border-color:rgba(54,65,82,var(--border-opacity))}.lg\:focus\:border-cool-gray-800:focus{--border-opacity:1;border-color:#27303f;border-color:rgba(39,48,63,var(--border-opacity))}.lg\:focus\:border-cool-gray-900:focus{--border-opacity:1;border-color:#1a202e;border-color:rgba(26,32,46,var(--border-opacity))}.lg\:focus\:border-red-50:focus{--border-opacity:1;border-color:#fdf2f2;border-color:rgba(253,242,242,var(--border-opacity))}.lg\:focus\:border-red-100:focus{--border-opacity:1;border-color:#fde8e8;border-color:rgba(253,232,232,var(--border-opacity))}.lg\:focus\:border-red-200:focus{--border-opacity:1;border-color:#fbd5d5;border-color:rgba(251,213,213,var(--border-opacity))}.lg\:focus\:border-red-300:focus{--border-opacity:1;border-color:#f8b4b4;border-color:rgba(248,180,180,var(--border-opacity))}.lg\:focus\:border-red-400:focus{--border-opacity:1;border-color:#f98080;border-color:rgba(249,128,128,var(--border-opacity))}.lg\:focus\:border-red-500:focus{--border-opacity:1;border-color:#f05252;border-color:rgba(240,82,82,var(--border-opacity))}.lg\:focus\:border-red-600:focus{--border-opacity:1;border-color:#e02424;border-color:rgba(224,36,36,var(--border-opacity))}.lg\:focus\:border-red-700:focus{--border-opacity:1;border-color:#c81e1e;border-color:rgba(200,30,30,var(--border-opacity))}.lg\:focus\:border-red-800:focus{--border-opacity:1;border-color:#9b1c1c;border-color:rgba(155,28,28,var(--border-opacity))}.lg\:focus\:border-red-900:focus{--border-opacity:1;border-color:#771d1d;border-color:rgba(119,29,29,var(--border-opacity))}.lg\:focus\:border-orange-50:focus{--border-opacity:1;border-color:#fff8f1;border-color:rgba(255,248,241,var(--border-opacity))}.lg\:focus\:border-orange-100:focus{--border-opacity:1;border-color:#feecdc;border-color:rgba(254,236,220,var(--border-opacity))}.lg\:focus\:border-orange-200:focus{--border-opacity:1;border-color:#fcd9bd;border-color:rgba(252,217,189,var(--border-opacity))}.lg\:focus\:border-orange-300:focus{--border-opacity:1;border-color:#fdba8c;border-color:rgba(253,186,140,var(--border-opacity))}.lg\:focus\:border-orange-400:focus{--border-opacity:1;border-color:#ff8a4c;border-color:rgba(255,138,76,var(--border-opacity))}.lg\:focus\:border-orange-500:focus{--border-opacity:1;border-color:#ff5a1f;border-color:rgba(255,90,31,var(--border-opacity))}.lg\:focus\:border-orange-600:focus{--border-opacity:1;border-color:#d03801;border-color:rgba(208,56,1,var(--border-opacity))}.lg\:focus\:border-orange-700:focus{--border-opacity:1;border-color:#b43403;border-color:rgba(180,52,3,var(--border-opacity))}.lg\:focus\:border-orange-800:focus{--border-opacity:1;border-color:#8a2c0d;border-color:rgba(138,44,13,var(--border-opacity))}.lg\:focus\:border-orange-900:focus{--border-opacity:1;border-color:#73230d;border-color:rgba(115,35,13,var(--border-opacity))}.lg\:focus\:border-yellow-50:focus{--border-opacity:1;border-color:#fdfdea;border-color:rgba(253,253,234,var(--border-opacity))}.lg\:focus\:border-yellow-100:focus{--border-opacity:1;border-color:#fdf6b2;border-color:rgba(253,246,178,var(--border-opacity))}.lg\:focus\:border-yellow-200:focus{--border-opacity:1;border-color:#fce96a;border-color:rgba(252,233,106,var(--border-opacity))}.lg\:focus\:border-yellow-300:focus{--border-opacity:1;border-color:#faca15;border-color:rgba(250,202,21,var(--border-opacity))}.lg\:focus\:border-yellow-400:focus{--border-opacity:1;border-color:#e3a008;border-color:rgba(227,160,8,var(--border-opacity))}.lg\:focus\:border-yellow-500:focus{--border-opacity:1;border-color:#c27803;border-color:rgba(194,120,3,var(--border-opacity))}.lg\:focus\:border-yellow-600:focus{--border-opacity:1;border-color:#9f580a;border-color:rgba(159,88,10,var(--border-opacity))}.lg\:focus\:border-yellow-700:focus{--border-opacity:1;border-color:#8e4b10;border-color:rgba(142,75,16,var(--border-opacity))}.lg\:focus\:border-yellow-800:focus{--border-opacity:1;border-color:#723b13;border-color:rgba(114,59,19,var(--border-opacity))}.lg\:focus\:border-yellow-900:focus{--border-opacity:1;border-color:#633112;border-color:rgba(99,49,18,var(--border-opacity))}.lg\:focus\:border-green-50:focus{--border-opacity:1;border-color:#f3faf7;border-color:rgba(243,250,247,var(--border-opacity))}.lg\:focus\:border-green-100:focus{--border-opacity:1;border-color:#def7ec;border-color:rgba(222,247,236,var(--border-opacity))}.lg\:focus\:border-green-200:focus{--border-opacity:1;border-color:#bcf0da;border-color:rgba(188,240,218,var(--border-opacity))}.lg\:focus\:border-green-300:focus{--border-opacity:1;border-color:#84e1bc;border-color:rgba(132,225,188,var(--border-opacity))}.lg\:focus\:border-green-400:focus{--border-opacity:1;border-color:#31c48d;border-color:rgba(49,196,141,var(--border-opacity))}.lg\:focus\:border-green-500:focus{--border-opacity:1;border-color:#0e9f6e;border-color:rgba(14,159,110,var(--border-opacity))}.lg\:focus\:border-green-600:focus{--border-opacity:1;border-color:#057a55;border-color:rgba(5,122,85,var(--border-opacity))}.lg\:focus\:border-green-700:focus{--border-opacity:1;border-color:#046c4e;border-color:rgba(4,108,78,var(--border-opacity))}.lg\:focus\:border-green-800:focus{--border-opacity:1;border-color:#03543f;border-color:rgba(3,84,63,var(--border-opacity))}.lg\:focus\:border-green-900:focus{--border-opacity:1;border-color:#014737;border-color:rgba(1,71,55,var(--border-opacity))}.lg\:focus\:border-teal-50:focus{--border-opacity:1;border-color:#edfafa;border-color:rgba(237,250,250,var(--border-opacity))}.lg\:focus\:border-teal-100:focus{--border-opacity:1;border-color:#d5f5f6;border-color:rgba(213,245,246,var(--border-opacity))}.lg\:focus\:border-teal-200:focus{--border-opacity:1;border-color:#afecef;border-color:rgba(175,236,239,var(--border-opacity))}.lg\:focus\:border-teal-300:focus{--border-opacity:1;border-color:#7edce2;border-color:rgba(126,220,226,var(--border-opacity))}.lg\:focus\:border-teal-400:focus{--border-opacity:1;border-color:#16bdca;border-color:rgba(22,189,202,var(--border-opacity))}.lg\:focus\:border-teal-500:focus{--border-opacity:1;border-color:#0694a2;border-color:rgba(6,148,162,var(--border-opacity))}.lg\:focus\:border-teal-600:focus{--border-opacity:1;border-color:#047481;border-color:rgba(4,116,129,var(--border-opacity))}.lg\:focus\:border-teal-700:focus{--border-opacity:1;border-color:#036672;border-color:rgba(3,102,114,var(--border-opacity))}.lg\:focus\:border-teal-800:focus{--border-opacity:1;border-color:#05505c;border-color:rgba(5,80,92,var(--border-opacity))}.lg\:focus\:border-teal-900:focus{--border-opacity:1;border-color:#014451;border-color:rgba(1,68,81,var(--border-opacity))}.lg\:focus\:border-blue-50:focus{--border-opacity:1;border-color:#ebf5ff;border-color:rgba(235,245,255,var(--border-opacity))}.lg\:focus\:border-blue-100:focus{--border-opacity:1;border-color:#e1effe;border-color:rgba(225,239,254,var(--border-opacity))}.lg\:focus\:border-blue-200:focus{--border-opacity:1;border-color:#c3ddfd;border-color:rgba(195,221,253,var(--border-opacity))}.lg\:focus\:border-blue-300:focus{--border-opacity:1;border-color:#a4cafe;border-color:rgba(164,202,254,var(--border-opacity))}.lg\:focus\:border-blue-400:focus{--border-opacity:1;border-color:#76a9fa;border-color:rgba(118,169,250,var(--border-opacity))}.lg\:focus\:border-blue-500:focus{--border-opacity:1;border-color:#3f83f8;border-color:rgba(63,131,248,var(--border-opacity))}.lg\:focus\:border-blue-600:focus{--border-opacity:1;border-color:#1c64f2;border-color:rgba(28,100,242,var(--border-opacity))}.lg\:focus\:border-blue-700:focus{--border-opacity:1;border-color:#1a56db;border-color:rgba(26,86,219,var(--border-opacity))}.lg\:focus\:border-blue-800:focus{--border-opacity:1;border-color:#1e429f;border-color:rgba(30,66,159,var(--border-opacity))}.lg\:focus\:border-blue-900:focus{--border-opacity:1;border-color:#233876;border-color:rgba(35,56,118,var(--border-opacity))}.lg\:focus\:border-indigo-50:focus{--border-opacity:1;border-color:#f0f5ff;border-color:rgba(240,245,255,var(--border-opacity))}.lg\:focus\:border-indigo-100:focus{--border-opacity:1;border-color:#e5edff;border-color:rgba(229,237,255,var(--border-opacity))}.lg\:focus\:border-indigo-200:focus{--border-opacity:1;border-color:#cddbfe;border-color:rgba(205,219,254,var(--border-opacity))}.lg\:focus\:border-indigo-300:focus{--border-opacity:1;border-color:#b4c6fc;border-color:rgba(180,198,252,var(--border-opacity))}.lg\:focus\:border-indigo-400:focus{--border-opacity:1;border-color:#8da2fb;border-color:rgba(141,162,251,var(--border-opacity))}.lg\:focus\:border-indigo-500:focus{--border-opacity:1;border-color:#6875f5;border-color:rgba(104,117,245,var(--border-opacity))}.lg\:focus\:border-indigo-600:focus{--border-opacity:1;border-color:#5850ec;border-color:rgba(88,80,236,var(--border-opacity))}.lg\:focus\:border-indigo-700:focus{--border-opacity:1;border-color:#5145cd;border-color:rgba(81,69,205,var(--border-opacity))}.lg\:focus\:border-indigo-800:focus{--border-opacity:1;border-color:#42389d;border-color:rgba(66,56,157,var(--border-opacity))}.lg\:focus\:border-indigo-900:focus{--border-opacity:1;border-color:#362f78;border-color:rgba(54,47,120,var(--border-opacity))}.lg\:focus\:border-purple-50:focus{--border-opacity:1;border-color:#f6f5ff;border-color:rgba(246,245,255,var(--border-opacity))}.lg\:focus\:border-purple-100:focus{--border-opacity:1;border-color:#edebfe;border-color:rgba(237,235,254,var(--border-opacity))}.lg\:focus\:border-purple-200:focus{--border-opacity:1;border-color:#dcd7fe;border-color:rgba(220,215,254,var(--border-opacity))}.lg\:focus\:border-purple-300:focus{--border-opacity:1;border-color:#cabffd;border-color:rgba(202,191,253,var(--border-opacity))}.lg\:focus\:border-purple-400:focus{--border-opacity:1;border-color:#ac94fa;border-color:rgba(172,148,250,var(--border-opacity))}.lg\:focus\:border-purple-500:focus{--border-opacity:1;border-color:#9061f9;border-color:rgba(144,97,249,var(--border-opacity))}.lg\:focus\:border-purple-600:focus{--border-opacity:1;border-color:#7e3af2;border-color:rgba(126,58,242,var(--border-opacity))}.lg\:focus\:border-purple-700:focus{--border-opacity:1;border-color:#6c2bd9;border-color:rgba(108,43,217,var(--border-opacity))}.lg\:focus\:border-purple-800:focus{--border-opacity:1;border-color:#5521b5;border-color:rgba(85,33,181,var(--border-opacity))}.lg\:focus\:border-purple-900:focus{--border-opacity:1;border-color:#4a1d96;border-color:rgba(74,29,150,var(--border-opacity))}.lg\:focus\:border-pink-50:focus{--border-opacity:1;border-color:#fdf2f8;border-color:rgba(253,242,248,var(--border-opacity))}.lg\:focus\:border-pink-100:focus{--border-opacity:1;border-color:#fce8f3;border-color:rgba(252,232,243,var(--border-opacity))}.lg\:focus\:border-pink-200:focus{--border-opacity:1;border-color:#fad1e8;border-color:rgba(250,209,232,var(--border-opacity))}.lg\:focus\:border-pink-300:focus{--border-opacity:1;border-color:#f8b4d9;border-color:rgba(248,180,217,var(--border-opacity))}.lg\:focus\:border-pink-400:focus{--border-opacity:1;border-color:#f17eb8;border-color:rgba(241,126,184,var(--border-opacity))}.lg\:focus\:border-pink-500:focus{--border-opacity:1;border-color:#e74694;border-color:rgba(231,70,148,var(--border-opacity))}.lg\:focus\:border-pink-600:focus{--border-opacity:1;border-color:#d61f69;border-color:rgba(214,31,105,var(--border-opacity))}.lg\:focus\:border-pink-700:focus{--border-opacity:1;border-color:#bf125d;border-color:rgba(191,18,93,var(--border-opacity))}.lg\:focus\:border-pink-800:focus{--border-opacity:1;border-color:#99154b;border-color:rgba(153,21,75,var(--border-opacity))}.lg\:focus\:border-pink-900:focus{--border-opacity:1;border-color:#751a3d;border-color:rgba(117,26,61,var(--border-opacity))}.lg\:border-opacity-0{--border-opacity:0}.lg\:border-opacity-25{--border-opacity:0.25}.lg\:border-opacity-50{--border-opacity:0.5}.lg\:border-opacity-75{--border-opacity:0.75}.lg\:border-opacity-100{--border-opacity:1}.lg\:hover\:border-opacity-0:hover{--border-opacity:0}.lg\:hover\:border-opacity-25:hover{--border-opacity:0.25}.lg\:hover\:border-opacity-50:hover{--border-opacity:0.5}.lg\:hover\:border-opacity-75:hover{--border-opacity:0.75}.lg\:hover\:border-opacity-100:hover{--border-opacity:1}.lg\:focus\:border-opacity-0:focus{--border-opacity:0}.lg\:focus\:border-opacity-25:focus{--border-opacity:0.25}.lg\:focus\:border-opacity-50:focus{--border-opacity:0.5}.lg\:focus\:border-opacity-75:focus{--border-opacity:0.75}.lg\:focus\:border-opacity-100:focus{--border-opacity:1}.lg\:rounded-none{border-radius:0}.lg\:rounded-sm{border-radius:.125rem}.lg\:rounded{border-radius:.25rem}.lg\:rounded-md{border-radius:.375rem}.lg\:rounded-lg{border-radius:.5rem}.lg\:rounded-full{border-radius:9999px}.lg\:rounded-t-none{border-top-left-radius:0;border-top-right-radius:0}.lg\:rounded-r-none{border-top-right-radius:0;border-bottom-right-radius:0}.lg\:rounded-b-none{border-bottom-right-radius:0;border-bottom-left-radius:0}.lg\:rounded-l-none{border-top-left-radius:0;border-bottom-left-radius:0}.lg\:rounded-t-sm{border-top-left-radius:.125rem;border-top-right-radius:.125rem}.lg\:rounded-r-sm{border-top-right-radius:.125rem;border-bottom-right-radius:.125rem}.lg\:rounded-b-sm{border-bottom-right-radius:.125rem;border-bottom-left-radius:.125rem}.lg\:rounded-l-sm{border-top-left-radius:.125rem;border-bottom-left-radius:.125rem}.lg\:rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.lg\:rounded-r{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.lg\:rounded-b{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.lg\:rounded-l{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.lg\:rounded-t-md{border-top-left-radius:.375rem;border-top-right-radius:.375rem}.lg\:rounded-r-md{border-top-right-radius:.375rem;border-bottom-right-radius:.375rem}.lg\:rounded-b-md{border-bottom-right-radius:.375rem;border-bottom-left-radius:.375rem}.lg\:rounded-l-md{border-top-left-radius:.375rem;border-bottom-left-radius:.375rem}.lg\:rounded-t-lg{border-top-left-radius:.5rem;border-top-right-radius:.5rem}.lg\:rounded-r-lg{border-top-right-radius:.5rem;border-bottom-right-radius:.5rem}.lg\:rounded-b-lg{border-bottom-right-radius:.5rem;border-bottom-left-radius:.5rem}.lg\:rounded-l-lg{border-top-left-radius:.5rem;border-bottom-left-radius:.5rem}.lg\:rounded-t-full{border-top-left-radius:9999px;border-top-right-radius:9999px}.lg\:rounded-r-full{border-top-right-radius:9999px;border-bottom-right-radius:9999px}.lg\:rounded-b-full{border-bottom-right-radius:9999px;border-bottom-left-radius:9999px}.lg\:rounded-l-full{border-top-left-radius:9999px;border-bottom-left-radius:9999px}.lg\:rounded-tl-none{border-top-left-radius:0}.lg\:rounded-tr-none{border-top-right-radius:0}.lg\:rounded-br-none{border-bottom-right-radius:0}.lg\:rounded-bl-none{border-bottom-left-radius:0}.lg\:rounded-tl-sm{border-top-left-radius:.125rem}.lg\:rounded-tr-sm{border-top-right-radius:.125rem}.lg\:rounded-br-sm{border-bottom-right-radius:.125rem}.lg\:rounded-bl-sm{border-bottom-left-radius:.125rem}.lg\:rounded-tl{border-top-left-radius:.25rem}.lg\:rounded-tr{border-top-right-radius:.25rem}.lg\:rounded-br{border-bottom-right-radius:.25rem}.lg\:rounded-bl{border-bottom-left-radius:.25rem}.lg\:rounded-tl-md{border-top-left-radius:.375rem}.lg\:rounded-tr-md{border-top-right-radius:.375rem}.lg\:rounded-br-md{border-bottom-right-radius:.375rem}.lg\:rounded-bl-md{border-bottom-left-radius:.375rem}.lg\:rounded-tl-lg{border-top-left-radius:.5rem}.lg\:rounded-tr-lg{border-top-right-radius:.5rem}.lg\:rounded-br-lg{border-bottom-right-radius:.5rem}.lg\:rounded-bl-lg{border-bottom-left-radius:.5rem}.lg\:rounded-tl-full{border-top-left-radius:9999px}.lg\:rounded-tr-full{border-top-right-radius:9999px}.lg\:rounded-br-full{border-bottom-right-radius:9999px}.lg\:rounded-bl-full{border-bottom-left-radius:9999px}.lg\:border-solid{border-style:solid}.lg\:border-dashed{border-style:dashed}.lg\:border-dotted{border-style:dotted}.lg\:border-double{border-style:double}.lg\:border-none{border-style:none}.lg\:border-0{border-width:0}.lg\:border-2{border-width:2px}.lg\:border-4{border-width:4px}.lg\:border-8{border-width:8px}.lg\:border{border-width:1px}.lg\:border-t-0{border-top-width:0}.lg\:border-r-0{border-right-width:0}.lg\:border-b-0{border-bottom-width:0}.lg\:border-l-0{border-left-width:0}.lg\:border-t-2{border-top-width:2px}.lg\:border-r-2{border-right-width:2px}.lg\:border-b-2{border-bottom-width:2px}.lg\:border-l-2{border-left-width:2px}.lg\:border-t-4{border-top-width:4px}.lg\:border-r-4{border-right-width:4px}.lg\:border-b-4{border-bottom-width:4px}.lg\:border-l-4{border-left-width:4px}.lg\:border-t-8{border-top-width:8px}.lg\:border-r-8{border-right-width:8px}.lg\:border-b-8{border-bottom-width:8px}.lg\:border-l-8{border-left-width:8px}.lg\:border-t{border-top-width:1px}.lg\:border-r{border-right-width:1px}.lg\:border-b{border-bottom-width:1px}.lg\:border-l{border-left-width:1px}.lg\:box-border{box-sizing:border-box}.lg\:box-content{box-sizing:content-box}.lg\:cursor-auto{cursor:auto}.lg\:cursor-default{cursor:default}.lg\:cursor-pointer{cursor:pointer}.lg\:cursor-wait{cursor:wait}.lg\:cursor-text{cursor:text}.lg\:cursor-move{cursor:move}.lg\:cursor-not-allowed{cursor:not-allowed}.lg\:block{display:block}.lg\:inline-block{display:inline-block}.lg\:inline{display:inline}.lg\:flex{display:flex}.lg\:inline-flex{display:inline-flex}.lg\:table{display:table}.lg\:table-caption{display:table-caption}.lg\:table-cell{display:table-cell}.lg\:table-column{display:table-column}.lg\:table-column-group{display:table-column-group}.lg\:table-footer-group{display:table-footer-group}.lg\:table-header-group{display:table-header-group}.lg\:table-row-group{display:table-row-group}.lg\:table-row{display:table-row}.lg\:flow-root{display:flow-root}.lg\:grid{display:grid}.lg\:inline-grid{display:inline-grid}.lg\:hidden{display:none}.lg\:flex-row{flex-direction:row}.lg\:flex-row-reverse{flex-direction:row-reverse}.lg\:flex-col{flex-direction:column}.lg\:flex-col-reverse{flex-direction:column-reverse}.lg\:flex-wrap{flex-wrap:wrap}.lg\:flex-wrap-reverse{flex-wrap:wrap-reverse}.lg\:flex-no-wrap{flex-wrap:nowrap}.lg\:items-start{align-items:flex-start}.lg\:items-end{align-items:flex-end}.lg\:items-center{align-items:center}.lg\:items-baseline{align-items:baseline}.lg\:items-stretch{align-items:stretch}.lg\:self-auto{align-self:auto}.lg\:self-start{align-self:flex-start}.lg\:self-end{align-self:flex-end}.lg\:self-center{align-self:center}.lg\:self-stretch{align-self:stretch}.lg\:justify-start{justify-content:flex-start}.lg\:justify-end{justify-content:flex-end}.lg\:justify-center{justify-content:center}.lg\:justify-between{justify-content:space-between}.lg\:justify-around{justify-content:space-around}.lg\:justify-evenly{justify-content:space-evenly}.lg\:content-center{align-content:center}.lg\:content-start{align-content:flex-start}.lg\:content-end{align-content:flex-end}.lg\:content-between{align-content:space-between}.lg\:content-around{align-content:space-around}.lg\:flex-1{flex:1 1 0%}.lg\:flex-auto{flex:1 1 auto}.lg\:flex-initial{flex:0 1 auto}.lg\:flex-none{flex:none}.lg\:flex-grow-0{flex-grow:0}.lg\:flex-grow{flex-grow:1}.lg\:flex-shrink-0{flex-shrink:0}.lg\:flex-shrink{flex-shrink:1}.lg\:order-1{order:1}.lg\:order-2{order:2}.lg\:order-3{order:3}.lg\:order-4{order:4}.lg\:order-5{order:5}.lg\:order-6{order:6}.lg\:order-7{order:7}.lg\:order-8{order:8}.lg\:order-9{order:9}.lg\:order-10{order:10}.lg\:order-11{order:11}.lg\:order-12{order:12}.lg\:order-first{order:-9999}.lg\:order-last{order:9999}.lg\:order-none{order:0}.lg\:float-right{float:right}.lg\:float-left{float:left}.lg\:float-none{float:none}.lg\:clearfix:after{content:"";display:table;clear:both}.lg\:clear-left{clear:left}.lg\:clear-right{clear:right}.lg\:clear-both{clear:both}.lg\:clear-none{clear:none}.lg\:font-sans{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"}.lg\:font-serif{font-family:Georgia,Cambria,"Times New Roman",Times,serif}.lg\:font-mono{font-family:Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}.lg\:font-hairline{font-weight:100}.lg\:font-thin{font-weight:200}.lg\:font-light{font-weight:300}.lg\:font-normal{font-weight:400}.lg\:font-medium{font-weight:500}.lg\:font-semibold{font-weight:600}.lg\:font-bold{font-weight:700}.lg\:font-extrabold{font-weight:800}.lg\:font-black{font-weight:900}.lg\:hover\:font-hairline:hover{font-weight:100}.lg\:hover\:font-thin:hover{font-weight:200}.lg\:hover\:font-light:hover{font-weight:300}.lg\:hover\:font-normal:hover{font-weight:400}.lg\:hover\:font-medium:hover{font-weight:500}.lg\:hover\:font-semibold:hover{font-weight:600}.lg\:hover\:font-bold:hover{font-weight:700}.lg\:hover\:font-extrabold:hover{font-weight:800}.lg\:hover\:font-black:hover{font-weight:900}.lg\:focus\:font-hairline:focus{font-weight:100}.lg\:focus\:font-thin:focus{font-weight:200}.lg\:focus\:font-light:focus{font-weight:300}.lg\:focus\:font-normal:focus{font-weight:400}.lg\:focus\:font-medium:focus{font-weight:500}.lg\:focus\:font-semibold:focus{font-weight:600}.lg\:focus\:font-bold:focus{font-weight:700}.lg\:focus\:font-extrabold:focus{font-weight:800}.lg\:focus\:font-black:focus{font-weight:900}.lg\:h-0{height:0}.lg\:h-1{height:.25rem}.lg\:h-2{height:.5rem}.lg\:h-3{height:.75rem}.lg\:h-4{height:1rem}.lg\:h-5{height:1.25rem}.lg\:h-6{height:1.5rem}.lg\:h-7{height:1.75rem}.lg\:h-8{height:2rem}.lg\:h-9{height:2.25rem}.lg\:h-10{height:2.5rem}.lg\:h-11{height:2.75rem}.lg\:h-12{height:3rem}.lg\:h-13{height:3.25rem}.lg\:h-14{height:3.5rem}.lg\:h-15{height:3.75rem}.lg\:h-16{height:4rem}.lg\:h-20{height:5rem}.lg\:h-24{height:6rem}.lg\:h-28{height:7rem}.lg\:h-32{height:8rem}.lg\:h-36{height:9rem}.lg\:h-40{height:10rem}.lg\:h-44{height:11rem}.lg\:h-48{height:12rem}.lg\:h-52{height:13rem}.lg\:h-56{height:14rem}.lg\:h-60{height:15rem}.lg\:h-64{height:16rem}.lg\:h-72{height:18rem}.lg\:h-80{height:20rem}.lg\:h-96{height:24rem}.lg\:h-auto{height:auto}.lg\:h-px{height:1px}.lg\:h-0\.5{height:.125rem}.lg\:h-1\.5{height:.375rem}.lg\:h-2\.5{height:.625rem}.lg\:h-3\.5{height:.875rem}.lg\:h-1\/2{height:50%}.lg\:h-1\/3{height:33.333333%}.lg\:h-2\/3{height:66.666667%}.lg\:h-1\/4{height:25%}.lg\:h-2\/4{height:50%}.lg\:h-3\/4{height:75%}.lg\:h-1\/5{height:20%}.lg\:h-2\/5{height:40%}.lg\:h-3\/5{height:60%}.lg\:h-4\/5{height:80%}.lg\:h-1\/6{height:16.666667%}.lg\:h-2\/6{height:33.333333%}.lg\:h-3\/6{height:50%}.lg\:h-4\/6{height:66.666667%}.lg\:h-5\/6{height:83.333333%}.lg\:h-1\/12{height:8.333333%}.lg\:h-2\/12{height:16.666667%}.lg\:h-3\/12{height:25%}.lg\:h-4\/12{height:33.333333%}.lg\:h-5\/12{height:41.666667%}.lg\:h-6\/12{height:50%}.lg\:h-7\/12{height:58.333333%}.lg\:h-8\/12{height:66.666667%}.lg\:h-9\/12{height:75%}.lg\:h-10\/12{height:83.333333%}.lg\:h-11\/12{height:91.666667%}.lg\:h-full{height:100%}.lg\:h-screen{height:100vh}.lg\:text-xs{font-size:.75rem}.lg\:text-sm{font-size:.875rem}.lg\:text-base{font-size:1rem}.lg\:text-lg{font-size:1.125rem}.lg\:text-xl{font-size:1.25rem}.lg\:text-2xl{font-size:1.5rem}.lg\:text-3xl{font-size:1.875rem}.lg\:text-4xl{font-size:2.25rem}.lg\:text-5xl{font-size:3rem}.lg\:text-6xl{font-size:4rem}.lg\:leading-3{line-height:.75rem}.lg\:leading-4{line-height:1rem}.lg\:leading-5{line-height:1.25rem}.lg\:leading-6{line-height:1.5rem}.lg\:leading-7{line-height:1.75rem}.lg\:leading-8{line-height:2rem}.lg\:leading-9{line-height:2.25rem}.lg\:leading-10{line-height:2.5rem}.lg\:leading-none{line-height:1}.lg\:leading-tight{line-height:1.25}.lg\:leading-snug{line-height:1.375}.lg\:leading-normal{line-height:1.5}.lg\:leading-relaxed{line-height:1.625}.lg\:leading-loose{line-height:2}.lg\:list-inside{list-style-position:inside}.lg\:list-outside{list-style-position:outside}.lg\:list-none{list-style-type:none}.lg\:list-disc{list-style-type:disc}.lg\:list-decimal{list-style-type:decimal}.lg\:m-0{margin:0}.lg\:m-1{margin:.25rem}.lg\:m-2{margin:.5rem}.lg\:m-3{margin:.75rem}.lg\:m-4{margin:1rem}.lg\:m-5{margin:1.25rem}.lg\:m-6{margin:1.5rem}.lg\:m-7{margin:1.75rem}.lg\:m-8{margin:2rem}.lg\:m-9{margin:2.25rem}.lg\:m-10{margin:2.5rem}.lg\:m-11{margin:2.75rem}.lg\:m-12{margin:3rem}.lg\:m-13{margin:3.25rem}.lg\:m-14{margin:3.5rem}.lg\:m-15{margin:3.75rem}.lg\:m-16{margin:4rem}.lg\:m-20{margin:5rem}.lg\:m-24{margin:6rem}.lg\:m-28{margin:7rem}.lg\:m-32{margin:8rem}.lg\:m-36{margin:9rem}.lg\:m-40{margin:10rem}.lg\:m-44{margin:11rem}.lg\:m-48{margin:12rem}.lg\:m-52{margin:13rem}.lg\:m-56{margin:14rem}.lg\:m-60{margin:15rem}.lg\:m-64{margin:16rem}.lg\:m-72{margin:18rem}.lg\:m-80{margin:20rem}.lg\:m-96{margin:24rem}.lg\:m-auto{margin:auto}.lg\:m-px{margin:1px}.lg\:m-0\.5{margin:.125rem}.lg\:m-1\.5{margin:.375rem}.lg\:m-2\.5{margin:.625rem}.lg\:m-3\.5{margin:.875rem}.lg\:m-1\/2{margin:50%}.lg\:m-1\/3{margin:33.333333%}.lg\:m-2\/3{margin:66.666667%}.lg\:m-1\/4{margin:25%}.lg\:m-2\/4{margin:50%}.lg\:m-3\/4{margin:75%}.lg\:m-1\/5{margin:20%}.lg\:m-2\/5{margin:40%}.lg\:m-3\/5{margin:60%}.lg\:m-4\/5{margin:80%}.lg\:m-1\/6{margin:16.666667%}.lg\:m-2\/6{margin:33.333333%}.lg\:m-3\/6{margin:50%}.lg\:m-4\/6{margin:66.666667%}.lg\:m-5\/6{margin:83.333333%}.lg\:m-1\/12{margin:8.333333%}.lg\:m-2\/12{margin:16.666667%}.lg\:m-3\/12{margin:25%}.lg\:m-4\/12{margin:33.333333%}.lg\:m-5\/12{margin:41.666667%}.lg\:m-6\/12{margin:50%}.lg\:m-7\/12{margin:58.333333%}.lg\:m-8\/12{margin:66.666667%}.lg\:m-9\/12{margin:75%}.lg\:m-10\/12{margin:83.333333%}.lg\:m-11\/12{margin:91.666667%}.lg\:m-full{margin:100%}.lg\:-m-1{margin:-.25rem}.lg\:-m-2{margin:-.5rem}.lg\:-m-3{margin:-.75rem}.lg\:-m-4{margin:-1rem}.lg\:-m-5{margin:-1.25rem}.lg\:-m-6{margin:-1.5rem}.lg\:-m-7{margin:-1.75rem}.lg\:-m-8{margin:-2rem}.lg\:-m-9{margin:-2.25rem}.lg\:-m-10{margin:-2.5rem}.lg\:-m-11{margin:-2.75rem}.lg\:-m-12{margin:-3rem}.lg\:-m-13{margin:-3.25rem}.lg\:-m-14{margin:-3.5rem}.lg\:-m-15{margin:-3.75rem}.lg\:-m-16{margin:-4rem}.lg\:-m-20{margin:-5rem}.lg\:-m-24{margin:-6rem}.lg\:-m-28{margin:-7rem}.lg\:-m-32{margin:-8rem}.lg\:-m-36{margin:-9rem}.lg\:-m-40{margin:-10rem}.lg\:-m-44{margin:-11rem}.lg\:-m-48{margin:-12rem}.lg\:-m-52{margin:-13rem}.lg\:-m-56{margin:-14rem}.lg\:-m-60{margin:-15rem}.lg\:-m-64{margin:-16rem}.lg\:-m-72{margin:-18rem}.lg\:-m-80{margin:-20rem}.lg\:-m-96{margin:-24rem}.lg\:-m-px{margin:-1px}.lg\:-m-0\.5{margin:-.125rem}.lg\:-m-1\.5{margin:-.375rem}.lg\:-m-2\.5{margin:-.625rem}.lg\:-m-3\.5{margin:-.875rem}.lg\:-m-1\/2{margin:-50%}.lg\:-m-1\/3{margin:-33.33333%}.lg\:-m-2\/3{margin:-66.66667%}.lg\:-m-1\/4{margin:-25%}.lg\:-m-2\/4{margin:-50%}.lg\:-m-3\/4{margin:-75%}.lg\:-m-1\/5{margin:-20%}.lg\:-m-2\/5{margin:-40%}.lg\:-m-3\/5{margin:-60%}.lg\:-m-4\/5{margin:-80%}.lg\:-m-1\/6{margin:-16.66667%}.lg\:-m-2\/6{margin:-33.33333%}.lg\:-m-3\/6{margin:-50%}.lg\:-m-4\/6{margin:-66.66667%}.lg\:-m-5\/6{margin:-83.33333%}.lg\:-m-1\/12{margin:-8.33333%}.lg\:-m-2\/12{margin:-16.66667%}.lg\:-m-3\/12{margin:-25%}.lg\:-m-4\/12{margin:-33.33333%}.lg\:-m-5\/12{margin:-41.66667%}.lg\:-m-6\/12{margin:-50%}.lg\:-m-7\/12{margin:-58.33333%}.lg\:-m-8\/12{margin:-66.66667%}.lg\:-m-9\/12{margin:-75%}.lg\:-m-10\/12{margin:-83.33333%}.lg\:-m-11\/12{margin:-91.66667%}.lg\:-m-full{margin:-100%}.lg\:my-0{margin-top:0;margin-bottom:0}.lg\:mx-0{margin-left:0;margin-right:0}.lg\:my-1{margin-top:.25rem;margin-bottom:.25rem}.lg\:mx-1{margin-left:.25rem;margin-right:.25rem}.lg\:my-2{margin-top:.5rem;margin-bottom:.5rem}.lg\:mx-2{margin-left:.5rem;margin-right:.5rem}.lg\:my-3{margin-top:.75rem;margin-bottom:.75rem}.lg\:mx-3{margin-left:.75rem;margin-right:.75rem}.lg\:my-4{margin-top:1rem;margin-bottom:1rem}.lg\:mx-4{margin-left:1rem;margin-right:1rem}.lg\:my-5{margin-top:1.25rem;margin-bottom:1.25rem}.lg\:mx-5{margin-left:1.25rem;margin-right:1.25rem}.lg\:my-6{margin-top:1.5rem;margin-bottom:1.5rem}.lg\:mx-6{margin-left:1.5rem;margin-right:1.5rem}.lg\:my-7{margin-top:1.75rem;margin-bottom:1.75rem}.lg\:mx-7{margin-left:1.75rem;margin-right:1.75rem}.lg\:my-8{margin-top:2rem;margin-bottom:2rem}.lg\:mx-8{margin-left:2rem;margin-right:2rem}.lg\:my-9{margin-top:2.25rem;margin-bottom:2.25rem}.lg\:mx-9{margin-left:2.25rem;margin-right:2.25rem}.lg\:my-10{margin-top:2.5rem;margin-bottom:2.5rem}.lg\:mx-10{margin-left:2.5rem;margin-right:2.5rem}.lg\:my-11{margin-top:2.75rem;margin-bottom:2.75rem}.lg\:mx-11{margin-left:2.75rem;margin-right:2.75rem}.lg\:my-12{margin-top:3rem;margin-bottom:3rem}.lg\:mx-12{margin-left:3rem;margin-right:3rem}.lg\:my-13{margin-top:3.25rem;margin-bottom:3.25rem}.lg\:mx-13{margin-left:3.25rem;margin-right:3.25rem}.lg\:my-14{margin-top:3.5rem;margin-bottom:3.5rem}.lg\:mx-14{margin-left:3.5rem;margin-right:3.5rem}.lg\:my-15{margin-top:3.75rem;margin-bottom:3.75rem}.lg\:mx-15{margin-left:3.75rem;margin-right:3.75rem}.lg\:my-16{margin-top:4rem;margin-bottom:4rem}.lg\:mx-16{margin-left:4rem;margin-right:4rem}.lg\:my-20{margin-top:5rem;margin-bottom:5rem}.lg\:mx-20{margin-left:5rem;margin-right:5rem}.lg\:my-24{margin-top:6rem;margin-bottom:6rem}.lg\:mx-24{margin-left:6rem;margin-right:6rem}.lg\:my-28{margin-top:7rem;margin-bottom:7rem}.lg\:mx-28{margin-left:7rem;margin-right:7rem}.lg\:my-32{margin-top:8rem;margin-bottom:8rem}.lg\:mx-32{margin-left:8rem;margin-right:8rem}.lg\:my-36{margin-top:9rem;margin-bottom:9rem}.lg\:mx-36{margin-left:9rem;margin-right:9rem}.lg\:my-40{margin-top:10rem;margin-bottom:10rem}.lg\:mx-40{margin-left:10rem;margin-right:10rem}.lg\:my-44{margin-top:11rem;margin-bottom:11rem}.lg\:mx-44{margin-left:11rem;margin-right:11rem}.lg\:my-48{margin-top:12rem;margin-bottom:12rem}.lg\:mx-48{margin-left:12rem;margin-right:12rem}.lg\:my-52{margin-top:13rem;margin-bottom:13rem}.lg\:mx-52{margin-left:13rem;margin-right:13rem}.lg\:my-56{margin-top:14rem;margin-bottom:14rem}.lg\:mx-56{margin-left:14rem;margin-right:14rem}.lg\:my-60{margin-top:15rem;margin-bottom:15rem}.lg\:mx-60{margin-left:15rem;margin-right:15rem}.lg\:my-64{margin-top:16rem;margin-bottom:16rem}.lg\:mx-64{margin-left:16rem;margin-right:16rem}.lg\:my-72{margin-top:18rem;margin-bottom:18rem}.lg\:mx-72{margin-left:18rem;margin-right:18rem}.lg\:my-80{margin-top:20rem;margin-bottom:20rem}.lg\:mx-80{margin-left:20rem;margin-right:20rem}.lg\:my-96{margin-top:24rem;margin-bottom:24rem}.lg\:mx-96{margin-left:24rem;margin-right:24rem}.lg\:my-auto{margin-top:auto;margin-bottom:auto}.lg\:mx-auto{margin-left:auto;margin-right:auto}.lg\:my-px{margin-top:1px;margin-bottom:1px}.lg\:mx-px{margin-left:1px;margin-right:1px}.lg\:my-0\.5{margin-top:.125rem;margin-bottom:.125rem}.lg\:mx-0\.5{margin-left:.125rem;margin-right:.125rem}.lg\:my-1\.5{margin-top:.375rem;margin-bottom:.375rem}.lg\:mx-1\.5{margin-left:.375rem;margin-right:.375rem}.lg\:my-2\.5{margin-top:.625rem;margin-bottom:.625rem}.lg\:mx-2\.5{margin-left:.625rem;margin-right:.625rem}.lg\:my-3\.5{margin-top:.875rem;margin-bottom:.875rem}.lg\:mx-3\.5{margin-left:.875rem;margin-right:.875rem}.lg\:my-1\/2{margin-top:50%;margin-bottom:50%}.lg\:mx-1\/2{margin-left:50%;margin-right:50%}.lg\:my-1\/3{margin-top:33.333333%;margin-bottom:33.333333%}.lg\:mx-1\/3{margin-left:33.333333%;margin-right:33.333333%}.lg\:my-2\/3{margin-top:66.666667%;margin-bottom:66.666667%}.lg\:mx-2\/3{margin-left:66.666667%;margin-right:66.666667%}.lg\:my-1\/4{margin-top:25%;margin-bottom:25%}.lg\:mx-1\/4{margin-left:25%;margin-right:25%}.lg\:my-2\/4{margin-top:50%;margin-bottom:50%}.lg\:mx-2\/4{margin-left:50%;margin-right:50%}.lg\:my-3\/4{margin-top:75%;margin-bottom:75%}.lg\:mx-3\/4{margin-left:75%;margin-right:75%}.lg\:my-1\/5{margin-top:20%;margin-bottom:20%}.lg\:mx-1\/5{margin-left:20%;margin-right:20%}.lg\:my-2\/5{margin-top:40%;margin-bottom:40%}.lg\:mx-2\/5{margin-left:40%;margin-right:40%}.lg\:my-3\/5{margin-top:60%;margin-bottom:60%}.lg\:mx-3\/5{margin-left:60%;margin-right:60%}.lg\:my-4\/5{margin-top:80%;margin-bottom:80%}.lg\:mx-4\/5{margin-left:80%;margin-right:80%}.lg\:my-1\/6{margin-top:16.666667%;margin-bottom:16.666667%}.lg\:mx-1\/6{margin-left:16.666667%;margin-right:16.666667%}.lg\:my-2\/6{margin-top:33.333333%;margin-bottom:33.333333%}.lg\:mx-2\/6{margin-left:33.333333%;margin-right:33.333333%}.lg\:my-3\/6{margin-top:50%;margin-bottom:50%}.lg\:mx-3\/6{margin-left:50%;margin-right:50%}.lg\:my-4\/6{margin-top:66.666667%;margin-bottom:66.666667%}.lg\:mx-4\/6{margin-left:66.666667%;margin-right:66.666667%}.lg\:my-5\/6{margin-top:83.333333%;margin-bottom:83.333333%}.lg\:mx-5\/6{margin-left:83.333333%;margin-right:83.333333%}.lg\:my-1\/12{margin-top:8.333333%;margin-bottom:8.333333%}.lg\:mx-1\/12{margin-left:8.333333%;margin-right:8.333333%}.lg\:my-2\/12{margin-top:16.666667%;margin-bottom:16.666667%}.lg\:mx-2\/12{margin-left:16.666667%;margin-right:16.666667%}.lg\:my-3\/12{margin-top:25%;margin-bottom:25%}.lg\:mx-3\/12{margin-left:25%;margin-right:25%}.lg\:my-4\/12{margin-top:33.333333%;margin-bottom:33.333333%}.lg\:mx-4\/12{margin-left:33.333333%;margin-right:33.333333%}.lg\:my-5\/12{margin-top:41.666667%;margin-bottom:41.666667%}.lg\:mx-5\/12{margin-left:41.666667%;margin-right:41.666667%}.lg\:my-6\/12{margin-top:50%;margin-bottom:50%}.lg\:mx-6\/12{margin-left:50%;margin-right:50%}.lg\:my-7\/12{margin-top:58.333333%;margin-bottom:58.333333%}.lg\:mx-7\/12{margin-left:58.333333%;margin-right:58.333333%}.lg\:my-8\/12{margin-top:66.666667%;margin-bottom:66.666667%}.lg\:mx-8\/12{margin-left:66.666667%;margin-right:66.666667%}.lg\:my-9\/12{margin-top:75%;margin-bottom:75%}.lg\:mx-9\/12{margin-left:75%;margin-right:75%}.lg\:my-10\/12{margin-top:83.333333%;margin-bottom:83.333333%}.lg\:mx-10\/12{margin-left:83.333333%;margin-right:83.333333%}.lg\:my-11\/12{margin-top:91.666667%;margin-bottom:91.666667%}.lg\:mx-11\/12{margin-left:91.666667%;margin-right:91.666667%}.lg\:my-full{margin-top:100%;margin-bottom:100%}.lg\:mx-full{margin-left:100%;margin-right:100%}.lg\:-my-1{margin-top:-.25rem;margin-bottom:-.25rem}.lg\:-mx-1{margin-left:-.25rem;margin-right:-.25rem}.lg\:-my-2{margin-top:-.5rem;margin-bottom:-.5rem}.lg\:-mx-2{margin-left:-.5rem;margin-right:-.5rem}.lg\:-my-3{margin-top:-.75rem;margin-bottom:-.75rem}.lg\:-mx-3{margin-left:-.75rem;margin-right:-.75rem}.lg\:-my-4{margin-top:-1rem;margin-bottom:-1rem}.lg\:-mx-4{margin-left:-1rem;margin-right:-1rem}.lg\:-my-5{margin-top:-1.25rem;margin-bottom:-1.25rem}.lg\:-mx-5{margin-left:-1.25rem;margin-right:-1.25rem}.lg\:-my-6{margin-top:-1.5rem;margin-bottom:-1.5rem}.lg\:-mx-6{margin-left:-1.5rem;margin-right:-1.5rem}.lg\:-my-7{margin-top:-1.75rem;margin-bottom:-1.75rem}.lg\:-mx-7{margin-left:-1.75rem;margin-right:-1.75rem}.lg\:-my-8{margin-top:-2rem;margin-bottom:-2rem}.lg\:-mx-8{margin-left:-2rem;margin-right:-2rem}.lg\:-my-9{margin-top:-2.25rem;margin-bottom:-2.25rem}.lg\:-mx-9{margin-left:-2.25rem;margin-right:-2.25rem}.lg\:-my-10{margin-top:-2.5rem;margin-bottom:-2.5rem}.lg\:-mx-10{margin-left:-2.5rem;margin-right:-2.5rem}.lg\:-my-11{margin-top:-2.75rem;margin-bottom:-2.75rem}.lg\:-mx-11{margin-left:-2.75rem;margin-right:-2.75rem}.lg\:-my-12{margin-top:-3rem;margin-bottom:-3rem}.lg\:-mx-12{margin-left:-3rem;margin-right:-3rem}.lg\:-my-13{margin-top:-3.25rem;margin-bottom:-3.25rem}.lg\:-mx-13{margin-left:-3.25rem;margin-right:-3.25rem}.lg\:-my-14{margin-top:-3.5rem;margin-bottom:-3.5rem}.lg\:-mx-14{margin-left:-3.5rem;margin-right:-3.5rem}.lg\:-my-15{margin-top:-3.75rem;margin-bottom:-3.75rem}.lg\:-mx-15{margin-left:-3.75rem;margin-right:-3.75rem}.lg\:-my-16{margin-top:-4rem;margin-bottom:-4rem}.lg\:-mx-16{margin-left:-4rem;margin-right:-4rem}.lg\:-my-20{margin-top:-5rem;margin-bottom:-5rem}.lg\:-mx-20{margin-left:-5rem;margin-right:-5rem}.lg\:-my-24{margin-top:-6rem;margin-bottom:-6rem}.lg\:-mx-24{margin-left:-6rem;margin-right:-6rem}.lg\:-my-28{margin-top:-7rem;margin-bottom:-7rem}.lg\:-mx-28{margin-left:-7rem;margin-right:-7rem}.lg\:-my-32{margin-top:-8rem;margin-bottom:-8rem}.lg\:-mx-32{margin-left:-8rem;margin-right:-8rem}.lg\:-my-36{margin-top:-9rem;margin-bottom:-9rem}.lg\:-mx-36{margin-left:-9rem;margin-right:-9rem}.lg\:-my-40{margin-top:-10rem;margin-bottom:-10rem}.lg\:-mx-40{margin-left:-10rem;margin-right:-10rem}.lg\:-my-44{margin-top:-11rem;margin-bottom:-11rem}.lg\:-mx-44{margin-left:-11rem;margin-right:-11rem}.lg\:-my-48{margin-top:-12rem;margin-bottom:-12rem}.lg\:-mx-48{margin-left:-12rem;margin-right:-12rem}.lg\:-my-52{margin-top:-13rem;margin-bottom:-13rem}.lg\:-mx-52{margin-left:-13rem;margin-right:-13rem}.lg\:-my-56{margin-top:-14rem;margin-bottom:-14rem}.lg\:-mx-56{margin-left:-14rem;margin-right:-14rem}.lg\:-my-60{margin-top:-15rem;margin-bottom:-15rem}.lg\:-mx-60{margin-left:-15rem;margin-right:-15rem}.lg\:-my-64{margin-top:-16rem;margin-bottom:-16rem}.lg\:-mx-64{margin-left:-16rem;margin-right:-16rem}.lg\:-my-72{margin-top:-18rem;margin-bottom:-18rem}.lg\:-mx-72{margin-left:-18rem;margin-right:-18rem}.lg\:-my-80{margin-top:-20rem;margin-bottom:-20rem}.lg\:-mx-80{margin-left:-20rem;margin-right:-20rem}.lg\:-my-96{margin-top:-24rem;margin-bottom:-24rem}.lg\:-mx-96{margin-left:-24rem;margin-right:-24rem}.lg\:-my-px{margin-top:-1px;margin-bottom:-1px}.lg\:-mx-px{margin-left:-1px;margin-right:-1px}.lg\:-my-0\.5{margin-top:-.125rem;margin-bottom:-.125rem}.lg\:-mx-0\.5{margin-left:-.125rem;margin-right:-.125rem}.lg\:-my-1\.5{margin-top:-.375rem;margin-bottom:-.375rem}.lg\:-mx-1\.5{margin-left:-.375rem;margin-right:-.375rem}.lg\:-my-2\.5{margin-top:-.625rem;margin-bottom:-.625rem}.lg\:-mx-2\.5{margin-left:-.625rem;margin-right:-.625rem}.lg\:-my-3\.5{margin-top:-.875rem;margin-bottom:-.875rem}.lg\:-mx-3\.5{margin-left:-.875rem;margin-right:-.875rem}.lg\:-my-1\/2{margin-top:-50%;margin-bottom:-50%}.lg\:-mx-1\/2{margin-left:-50%;margin-right:-50%}.lg\:-my-1\/3{margin-top:-33.33333%;margin-bottom:-33.33333%}.lg\:-mx-1\/3{margin-left:-33.33333%;margin-right:-33.33333%}.lg\:-my-2\/3{margin-top:-66.66667%;margin-bottom:-66.66667%}.lg\:-mx-2\/3{margin-left:-66.66667%;margin-right:-66.66667%}.lg\:-my-1\/4{margin-top:-25%;margin-bottom:-25%}.lg\:-mx-1\/4{margin-left:-25%;margin-right:-25%}.lg\:-my-2\/4{margin-top:-50%;margin-bottom:-50%}.lg\:-mx-2\/4{margin-left:-50%;margin-right:-50%}.lg\:-my-3\/4{margin-top:-75%;margin-bottom:-75%}.lg\:-mx-3\/4{margin-left:-75%;margin-right:-75%}.lg\:-my-1\/5{margin-top:-20%;margin-bottom:-20%}.lg\:-mx-1\/5{margin-left:-20%;margin-right:-20%}.lg\:-my-2\/5{margin-top:-40%;margin-bottom:-40%}.lg\:-mx-2\/5{margin-left:-40%;margin-right:-40%}.lg\:-my-3\/5{margin-top:-60%;margin-bottom:-60%}.lg\:-mx-3\/5{margin-left:-60%;margin-right:-60%}.lg\:-my-4\/5{margin-top:-80%;margin-bottom:-80%}.lg\:-mx-4\/5{margin-left:-80%;margin-right:-80%}.lg\:-my-1\/6{margin-top:-16.66667%;margin-bottom:-16.66667%}.lg\:-mx-1\/6{margin-left:-16.66667%;margin-right:-16.66667%}.lg\:-my-2\/6{margin-top:-33.33333%;margin-bottom:-33.33333%}.lg\:-mx-2\/6{margin-left:-33.33333%;margin-right:-33.33333%}.lg\:-my-3\/6{margin-top:-50%;margin-bottom:-50%}.lg\:-mx-3\/6{margin-left:-50%;margin-right:-50%}.lg\:-my-4\/6{margin-top:-66.66667%;margin-bottom:-66.66667%}.lg\:-mx-4\/6{margin-left:-66.66667%;margin-right:-66.66667%}.lg\:-my-5\/6{margin-top:-83.33333%;margin-bottom:-83.33333%}.lg\:-mx-5\/6{margin-left:-83.33333%;margin-right:-83.33333%}.lg\:-my-1\/12{margin-top:-8.33333%;margin-bottom:-8.33333%}.lg\:-mx-1\/12{margin-left:-8.33333%;margin-right:-8.33333%}.lg\:-my-2\/12{margin-top:-16.66667%;margin-bottom:-16.66667%}.lg\:-mx-2\/12{margin-left:-16.66667%;margin-right:-16.66667%}.lg\:-my-3\/12{margin-top:-25%;margin-bottom:-25%}.lg\:-mx-3\/12{margin-left:-25%;margin-right:-25%}.lg\:-my-4\/12{margin-top:-33.33333%;margin-bottom:-33.33333%}.lg\:-mx-4\/12{margin-left:-33.33333%;margin-right:-33.33333%}.lg\:-my-5\/12{margin-top:-41.66667%;margin-bottom:-41.66667%}.lg\:-mx-5\/12{margin-left:-41.66667%;margin-right:-41.66667%}.lg\:-my-6\/12{margin-top:-50%;margin-bottom:-50%}.lg\:-mx-6\/12{margin-left:-50%;margin-right:-50%}.lg\:-my-7\/12{margin-top:-58.33333%;margin-bottom:-58.33333%}.lg\:-mx-7\/12{margin-left:-58.33333%;margin-right:-58.33333%}.lg\:-my-8\/12{margin-top:-66.66667%;margin-bottom:-66.66667%}.lg\:-mx-8\/12{margin-left:-66.66667%;margin-right:-66.66667%}.lg\:-my-9\/12{margin-top:-75%;margin-bottom:-75%}.lg\:-mx-9\/12{margin-left:-75%;margin-right:-75%}.lg\:-my-10\/12{margin-top:-83.33333%;margin-bottom:-83.33333%}.lg\:-mx-10\/12{margin-left:-83.33333%;margin-right:-83.33333%}.lg\:-my-11\/12{margin-top:-91.66667%;margin-bottom:-91.66667%}.lg\:-mx-11\/12{margin-left:-91.66667%;margin-right:-91.66667%}.lg\:-my-full{margin-top:-100%;margin-bottom:-100%}.lg\:-mx-full{margin-left:-100%;margin-right:-100%}.lg\:mt-0{margin-top:0}.lg\:mr-0{margin-right:0}.lg\:mb-0{margin-bottom:0}.lg\:ml-0{margin-left:0}.lg\:mt-1{margin-top:.25rem}.lg\:mr-1{margin-right:.25rem}.lg\:mb-1{margin-bottom:.25rem}.lg\:ml-1{margin-left:.25rem}.lg\:mt-2{margin-top:.5rem}.lg\:mr-2{margin-right:.5rem}.lg\:mb-2{margin-bottom:.5rem}.lg\:ml-2{margin-left:.5rem}.lg\:mt-3{margin-top:.75rem}.lg\:mr-3{margin-right:.75rem}.lg\:mb-3{margin-bottom:.75rem}.lg\:ml-3{margin-left:.75rem}.lg\:mt-4{margin-top:1rem}.lg\:mr-4{margin-right:1rem}.lg\:mb-4{margin-bottom:1rem}.lg\:ml-4{margin-left:1rem}.lg\:mt-5{margin-top:1.25rem}.lg\:mr-5{margin-right:1.25rem}.lg\:mb-5{margin-bottom:1.25rem}.lg\:ml-5{margin-left:1.25rem}.lg\:mt-6{margin-top:1.5rem}.lg\:mr-6{margin-right:1.5rem}.lg\:mb-6{margin-bottom:1.5rem}.lg\:ml-6{margin-left:1.5rem}.lg\:mt-7{margin-top:1.75rem}.lg\:mr-7{margin-right:1.75rem}.lg\:mb-7{margin-bottom:1.75rem}.lg\:ml-7{margin-left:1.75rem}.lg\:mt-8{margin-top:2rem}.lg\:mr-8{margin-right:2rem}.lg\:mb-8{margin-bottom:2rem}.lg\:ml-8{margin-left:2rem}.lg\:mt-9{margin-top:2.25rem}.lg\:mr-9{margin-right:2.25rem}.lg\:mb-9{margin-bottom:2.25rem}.lg\:ml-9{margin-left:2.25rem}.lg\:mt-10{margin-top:2.5rem}.lg\:mr-10{margin-right:2.5rem}.lg\:mb-10{margin-bottom:2.5rem}.lg\:ml-10{margin-left:2.5rem}.lg\:mt-11{margin-top:2.75rem}.lg\:mr-11{margin-right:2.75rem}.lg\:mb-11{margin-bottom:2.75rem}.lg\:ml-11{margin-left:2.75rem}.lg\:mt-12{margin-top:3rem}.lg\:mr-12{margin-right:3rem}.lg\:mb-12{margin-bottom:3rem}.lg\:ml-12{margin-left:3rem}.lg\:mt-13{margin-top:3.25rem}.lg\:mr-13{margin-right:3.25rem}.lg\:mb-13{margin-bottom:3.25rem}.lg\:ml-13{margin-left:3.25rem}.lg\:mt-14{margin-top:3.5rem}.lg\:mr-14{margin-right:3.5rem}.lg\:mb-14{margin-bottom:3.5rem}.lg\:ml-14{margin-left:3.5rem}.lg\:mt-15{margin-top:3.75rem}.lg\:mr-15{margin-right:3.75rem}.lg\:mb-15{margin-bottom:3.75rem}.lg\:ml-15{margin-left:3.75rem}.lg\:mt-16{margin-top:4rem}.lg\:mr-16{margin-right:4rem}.lg\:mb-16{margin-bottom:4rem}.lg\:ml-16{margin-left:4rem}.lg\:mt-20{margin-top:5rem}.lg\:mr-20{margin-right:5rem}.lg\:mb-20{margin-bottom:5rem}.lg\:ml-20{margin-left:5rem}.lg\:mt-24{margin-top:6rem}.lg\:mr-24{margin-right:6rem}.lg\:mb-24{margin-bottom:6rem}.lg\:ml-24{margin-left:6rem}.lg\:mt-28{margin-top:7rem}.lg\:mr-28{margin-right:7rem}.lg\:mb-28{margin-bottom:7rem}.lg\:ml-28{margin-left:7rem}.lg\:mt-32{margin-top:8rem}.lg\:mr-32{margin-right:8rem}.lg\:mb-32{margin-bottom:8rem}.lg\:ml-32{margin-left:8rem}.lg\:mt-36{margin-top:9rem}.lg\:mr-36{margin-right:9rem}.lg\:mb-36{margin-bottom:9rem}.lg\:ml-36{margin-left:9rem}.lg\:mt-40{margin-top:10rem}.lg\:mr-40{margin-right:10rem}.lg\:mb-40{margin-bottom:10rem}.lg\:ml-40{margin-left:10rem}.lg\:mt-44{margin-top:11rem}.lg\:mr-44{margin-right:11rem}.lg\:mb-44{margin-bottom:11rem}.lg\:ml-44{margin-left:11rem}.lg\:mt-48{margin-top:12rem}.lg\:mr-48{margin-right:12rem}.lg\:mb-48{margin-bottom:12rem}.lg\:ml-48{margin-left:12rem}.lg\:mt-52{margin-top:13rem}.lg\:mr-52{margin-right:13rem}.lg\:mb-52{margin-bottom:13rem}.lg\:ml-52{margin-left:13rem}.lg\:mt-56{margin-top:14rem}.lg\:mr-56{margin-right:14rem}.lg\:mb-56{margin-bottom:14rem}.lg\:ml-56{margin-left:14rem}.lg\:mt-60{margin-top:15rem}.lg\:mr-60{margin-right:15rem}.lg\:mb-60{margin-bottom:15rem}.lg\:ml-60{margin-left:15rem}.lg\:mt-64{margin-top:16rem}.lg\:mr-64{margin-right:16rem}.lg\:mb-64{margin-bottom:16rem}.lg\:ml-64{margin-left:16rem}.lg\:mt-72{margin-top:18rem}.lg\:mr-72{margin-right:18rem}.lg\:mb-72{margin-bottom:18rem}.lg\:ml-72{margin-left:18rem}.lg\:mt-80{margin-top:20rem}.lg\:mr-80{margin-right:20rem}.lg\:mb-80{margin-bottom:20rem}.lg\:ml-80{margin-left:20rem}.lg\:mt-96{margin-top:24rem}.lg\:mr-96{margin-right:24rem}.lg\:mb-96{margin-bottom:24rem}.lg\:ml-96{margin-left:24rem}.lg\:mt-auto{margin-top:auto}.lg\:mr-auto{margin-right:auto}.lg\:mb-auto{margin-bottom:auto}.lg\:ml-auto{margin-left:auto}.lg\:mt-px{margin-top:1px}.lg\:mr-px{margin-right:1px}.lg\:mb-px{margin-bottom:1px}.lg\:ml-px{margin-left:1px}.lg\:mt-0\.5{margin-top:.125rem}.lg\:mr-0\.5{margin-right:.125rem}.lg\:mb-0\.5{margin-bottom:.125rem}.lg\:ml-0\.5{margin-left:.125rem}.lg\:mt-1\.5{margin-top:.375rem}.lg\:mr-1\.5{margin-right:.375rem}.lg\:mb-1\.5{margin-bottom:.375rem}.lg\:ml-1\.5{margin-left:.375rem}.lg\:mt-2\.5{margin-top:.625rem}.lg\:mr-2\.5{margin-right:.625rem}.lg\:mb-2\.5{margin-bottom:.625rem}.lg\:ml-2\.5{margin-left:.625rem}.lg\:mt-3\.5{margin-top:.875rem}.lg\:mr-3\.5{margin-right:.875rem}.lg\:mb-3\.5{margin-bottom:.875rem}.lg\:ml-3\.5{margin-left:.875rem}.lg\:mt-1\/2{margin-top:50%}.lg\:mr-1\/2{margin-right:50%}.lg\:mb-1\/2{margin-bottom:50%}.lg\:ml-1\/2{margin-left:50%}.lg\:mt-1\/3{margin-top:33.333333%}.lg\:mr-1\/3{margin-right:33.333333%}.lg\:mb-1\/3{margin-bottom:33.333333%}.lg\:ml-1\/3{margin-left:33.333333%}.lg\:mt-2\/3{margin-top:66.666667%}.lg\:mr-2\/3{margin-right:66.666667%}.lg\:mb-2\/3{margin-bottom:66.666667%}.lg\:ml-2\/3{margin-left:66.666667%}.lg\:mt-1\/4{margin-top:25%}.lg\:mr-1\/4{margin-right:25%}.lg\:mb-1\/4{margin-bottom:25%}.lg\:ml-1\/4{margin-left:25%}.lg\:mt-2\/4{margin-top:50%}.lg\:mr-2\/4{margin-right:50%}.lg\:mb-2\/4{margin-bottom:50%}.lg\:ml-2\/4{margin-left:50%}.lg\:mt-3\/4{margin-top:75%}.lg\:mr-3\/4{margin-right:75%}.lg\:mb-3\/4{margin-bottom:75%}.lg\:ml-3\/4{margin-left:75%}.lg\:mt-1\/5{margin-top:20%}.lg\:mr-1\/5{margin-right:20%}.lg\:mb-1\/5{margin-bottom:20%}.lg\:ml-1\/5{margin-left:20%}.lg\:mt-2\/5{margin-top:40%}.lg\:mr-2\/5{margin-right:40%}.lg\:mb-2\/5{margin-bottom:40%}.lg\:ml-2\/5{margin-left:40%}.lg\:mt-3\/5{margin-top:60%}.lg\:mr-3\/5{margin-right:60%}.lg\:mb-3\/5{margin-bottom:60%}.lg\:ml-3\/5{margin-left:60%}.lg\:mt-4\/5{margin-top:80%}.lg\:mr-4\/5{margin-right:80%}.lg\:mb-4\/5{margin-bottom:80%}.lg\:ml-4\/5{margin-left:80%}.lg\:mt-1\/6{margin-top:16.666667%}.lg\:mr-1\/6{margin-right:16.666667%}.lg\:mb-1\/6{margin-bottom:16.666667%}.lg\:ml-1\/6{margin-left:16.666667%}.lg\:mt-2\/6{margin-top:33.333333%}.lg\:mr-2\/6{margin-right:33.333333%}.lg\:mb-2\/6{margin-bottom:33.333333%}.lg\:ml-2\/6{margin-left:33.333333%}.lg\:mt-3\/6{margin-top:50%}.lg\:mr-3\/6{margin-right:50%}.lg\:mb-3\/6{margin-bottom:50%}.lg\:ml-3\/6{margin-left:50%}.lg\:mt-4\/6{margin-top:66.666667%}.lg\:mr-4\/6{margin-right:66.666667%}.lg\:mb-4\/6{margin-bottom:66.666667%}.lg\:ml-4\/6{margin-left:66.666667%}.lg\:mt-5\/6{margin-top:83.333333%}.lg\:mr-5\/6{margin-right:83.333333%}.lg\:mb-5\/6{margin-bottom:83.333333%}.lg\:ml-5\/6{margin-left:83.333333%}.lg\:mt-1\/12{margin-top:8.333333%}.lg\:mr-1\/12{margin-right:8.333333%}.lg\:mb-1\/12{margin-bottom:8.333333%}.lg\:ml-1\/12{margin-left:8.333333%}.lg\:mt-2\/12{margin-top:16.666667%}.lg\:mr-2\/12{margin-right:16.666667%}.lg\:mb-2\/12{margin-bottom:16.666667%}.lg\:ml-2\/12{margin-left:16.666667%}.lg\:mt-3\/12{margin-top:25%}.lg\:mr-3\/12{margin-right:25%}.lg\:mb-3\/12{margin-bottom:25%}.lg\:ml-3\/12{margin-left:25%}.lg\:mt-4\/12{margin-top:33.333333%}.lg\:mr-4\/12{margin-right:33.333333%}.lg\:mb-4\/12{margin-bottom:33.333333%}.lg\:ml-4\/12{margin-left:33.333333%}.lg\:mt-5\/12{margin-top:41.666667%}.lg\:mr-5\/12{margin-right:41.666667%}.lg\:mb-5\/12{margin-bottom:41.666667%}.lg\:ml-5\/12{margin-left:41.666667%}.lg\:mt-6\/12{margin-top:50%}.lg\:mr-6\/12{margin-right:50%}.lg\:mb-6\/12{margin-bottom:50%}.lg\:ml-6\/12{margin-left:50%}.lg\:mt-7\/12{margin-top:58.333333%}.lg\:mr-7\/12{margin-right:58.333333%}.lg\:mb-7\/12{margin-bottom:58.333333%}.lg\:ml-7\/12{margin-left:58.333333%}.lg\:mt-8\/12{margin-top:66.666667%}.lg\:mr-8\/12{margin-right:66.666667%}.lg\:mb-8\/12{margin-bottom:66.666667%}.lg\:ml-8\/12{margin-left:66.666667%}.lg\:mt-9\/12{margin-top:75%}.lg\:mr-9\/12{margin-right:75%}.lg\:mb-9\/12{margin-bottom:75%}.lg\:ml-9\/12{margin-left:75%}.lg\:mt-10\/12{margin-top:83.333333%}.lg\:mr-10\/12{margin-right:83.333333%}.lg\:mb-10\/12{margin-bottom:83.333333%}.lg\:ml-10\/12{margin-left:83.333333%}.lg\:mt-11\/12{margin-top:91.666667%}.lg\:mr-11\/12{margin-right:91.666667%}.lg\:mb-11\/12{margin-bottom:91.666667%}.lg\:ml-11\/12{margin-left:91.666667%}.lg\:mt-full{margin-top:100%}.lg\:mr-full{margin-right:100%}.lg\:mb-full{margin-bottom:100%}.lg\:ml-full{margin-left:100%}.lg\:-mt-1{margin-top:-.25rem}.lg\:-mr-1{margin-right:-.25rem}.lg\:-mb-1{margin-bottom:-.25rem}.lg\:-ml-1{margin-left:-.25rem}.lg\:-mt-2{margin-top:-.5rem}.lg\:-mr-2{margin-right:-.5rem}.lg\:-mb-2{margin-bottom:-.5rem}.lg\:-ml-2{margin-left:-.5rem}.lg\:-mt-3{margin-top:-.75rem}.lg\:-mr-3{margin-right:-.75rem}.lg\:-mb-3{margin-bottom:-.75rem}.lg\:-ml-3{margin-left:-.75rem}.lg\:-mt-4{margin-top:-1rem}.lg\:-mr-4{margin-right:-1rem}.lg\:-mb-4{margin-bottom:-1rem}.lg\:-ml-4{margin-left:-1rem}.lg\:-mt-5{margin-top:-1.25rem}.lg\:-mr-5{margin-right:-1.25rem}.lg\:-mb-5{margin-bottom:-1.25rem}.lg\:-ml-5{margin-left:-1.25rem}.lg\:-mt-6{margin-top:-1.5rem}.lg\:-mr-6{margin-right:-1.5rem}.lg\:-mb-6{margin-bottom:-1.5rem}.lg\:-ml-6{margin-left:-1.5rem}.lg\:-mt-7{margin-top:-1.75rem}.lg\:-mr-7{margin-right:-1.75rem}.lg\:-mb-7{margin-bottom:-1.75rem}.lg\:-ml-7{margin-left:-1.75rem}.lg\:-mt-8{margin-top:-2rem}.lg\:-mr-8{margin-right:-2rem}.lg\:-mb-8{margin-bottom:-2rem}.lg\:-ml-8{margin-left:-2rem}.lg\:-mt-9{margin-top:-2.25rem}.lg\:-mr-9{margin-right:-2.25rem}.lg\:-mb-9{margin-bottom:-2.25rem}.lg\:-ml-9{margin-left:-2.25rem}.lg\:-mt-10{margin-top:-2.5rem}.lg\:-mr-10{margin-right:-2.5rem}.lg\:-mb-10{margin-bottom:-2.5rem}.lg\:-ml-10{margin-left:-2.5rem}.lg\:-mt-11{margin-top:-2.75rem}.lg\:-mr-11{margin-right:-2.75rem}.lg\:-mb-11{margin-bottom:-2.75rem}.lg\:-ml-11{margin-left:-2.75rem}.lg\:-mt-12{margin-top:-3rem}.lg\:-mr-12{margin-right:-3rem}.lg\:-mb-12{margin-bottom:-3rem}.lg\:-ml-12{margin-left:-3rem}.lg\:-mt-13{margin-top:-3.25rem}.lg\:-mr-13{margin-right:-3.25rem}.lg\:-mb-13{margin-bottom:-3.25rem}.lg\:-ml-13{margin-left:-3.25rem}.lg\:-mt-14{margin-top:-3.5rem}.lg\:-mr-14{margin-right:-3.5rem}.lg\:-mb-14{margin-bottom:-3.5rem}.lg\:-ml-14{margin-left:-3.5rem}.lg\:-mt-15{margin-top:-3.75rem}.lg\:-mr-15{margin-right:-3.75rem}.lg\:-mb-15{margin-bottom:-3.75rem}.lg\:-ml-15{margin-left:-3.75rem}.lg\:-mt-16{margin-top:-4rem}.lg\:-mr-16{margin-right:-4rem}.lg\:-mb-16{margin-bottom:-4rem}.lg\:-ml-16{margin-left:-4rem}.lg\:-mt-20{margin-top:-5rem}.lg\:-mr-20{margin-right:-5rem}.lg\:-mb-20{margin-bottom:-5rem}.lg\:-ml-20{margin-left:-5rem}.lg\:-mt-24{margin-top:-6rem}.lg\:-mr-24{margin-right:-6rem}.lg\:-mb-24{margin-bottom:-6rem}.lg\:-ml-24{margin-left:-6rem}.lg\:-mt-28{margin-top:-7rem}.lg\:-mr-28{margin-right:-7rem}.lg\:-mb-28{margin-bottom:-7rem}.lg\:-ml-28{margin-left:-7rem}.lg\:-mt-32{margin-top:-8rem}.lg\:-mr-32{margin-right:-8rem}.lg\:-mb-32{margin-bottom:-8rem}.lg\:-ml-32{margin-left:-8rem}.lg\:-mt-36{margin-top:-9rem}.lg\:-mr-36{margin-right:-9rem}.lg\:-mb-36{margin-bottom:-9rem}.lg\:-ml-36{margin-left:-9rem}.lg\:-mt-40{margin-top:-10rem}.lg\:-mr-40{margin-right:-10rem}.lg\:-mb-40{margin-bottom:-10rem}.lg\:-ml-40{margin-left:-10rem}.lg\:-mt-44{margin-top:-11rem}.lg\:-mr-44{margin-right:-11rem}.lg\:-mb-44{margin-bottom:-11rem}.lg\:-ml-44{margin-left:-11rem}.lg\:-mt-48{margin-top:-12rem}.lg\:-mr-48{margin-right:-12rem}.lg\:-mb-48{margin-bottom:-12rem}.lg\:-ml-48{margin-left:-12rem}.lg\:-mt-52{margin-top:-13rem}.lg\:-mr-52{margin-right:-13rem}.lg\:-mb-52{margin-bottom:-13rem}.lg\:-ml-52{margin-left:-13rem}.lg\:-mt-56{margin-top:-14rem}.lg\:-mr-56{margin-right:-14rem}.lg\:-mb-56{margin-bottom:-14rem}.lg\:-ml-56{margin-left:-14rem}.lg\:-mt-60{margin-top:-15rem}.lg\:-mr-60{margin-right:-15rem}.lg\:-mb-60{margin-bottom:-15rem}.lg\:-ml-60{margin-left:-15rem}.lg\:-mt-64{margin-top:-16rem}.lg\:-mr-64{margin-right:-16rem}.lg\:-mb-64{margin-bottom:-16rem}.lg\:-ml-64{margin-left:-16rem}.lg\:-mt-72{margin-top:-18rem}.lg\:-mr-72{margin-right:-18rem}.lg\:-mb-72{margin-bottom:-18rem}.lg\:-ml-72{margin-left:-18rem}.lg\:-mt-80{margin-top:-20rem}.lg\:-mr-80{margin-right:-20rem}.lg\:-mb-80{margin-bottom:-20rem}.lg\:-ml-80{margin-left:-20rem}.lg\:-mt-96{margin-top:-24rem}.lg\:-mr-96{margin-right:-24rem}.lg\:-mb-96{margin-bottom:-24rem}.lg\:-ml-96{margin-left:-24rem}.lg\:-mt-px{margin-top:-1px}.lg\:-mr-px{margin-right:-1px}.lg\:-mb-px{margin-bottom:-1px}.lg\:-ml-px{margin-left:-1px}.lg\:-mt-0\.5{margin-top:-.125rem}.lg\:-mr-0\.5{margin-right:-.125rem}.lg\:-mb-0\.5{margin-bottom:-.125rem}.lg\:-ml-0\.5{margin-left:-.125rem}.lg\:-mt-1\.5{margin-top:-.375rem}.lg\:-mr-1\.5{margin-right:-.375rem}.lg\:-mb-1\.5{margin-bottom:-.375rem}.lg\:-ml-1\.5{margin-left:-.375rem}.lg\:-mt-2\.5{margin-top:-.625rem}.lg\:-mr-2\.5{margin-right:-.625rem}.lg\:-mb-2\.5{margin-bottom:-.625rem}.lg\:-ml-2\.5{margin-left:-.625rem}.lg\:-mt-3\.5{margin-top:-.875rem}.lg\:-mr-3\.5{margin-right:-.875rem}.lg\:-mb-3\.5{margin-bottom:-.875rem}.lg\:-ml-3\.5{margin-left:-.875rem}.lg\:-mt-1\/2{margin-top:-50%}.lg\:-mr-1\/2{margin-right:-50%}.lg\:-mb-1\/2{margin-bottom:-50%}.lg\:-ml-1\/2{margin-left:-50%}.lg\:-mt-1\/3{margin-top:-33.33333%}.lg\:-mr-1\/3{margin-right:-33.33333%}.lg\:-mb-1\/3{margin-bottom:-33.33333%}.lg\:-ml-1\/3{margin-left:-33.33333%}.lg\:-mt-2\/3{margin-top:-66.66667%}.lg\:-mr-2\/3{margin-right:-66.66667%}.lg\:-mb-2\/3{margin-bottom:-66.66667%}.lg\:-ml-2\/3{margin-left:-66.66667%}.lg\:-mt-1\/4{margin-top:-25%}.lg\:-mr-1\/4{margin-right:-25%}.lg\:-mb-1\/4{margin-bottom:-25%}.lg\:-ml-1\/4{margin-left:-25%}.lg\:-mt-2\/4{margin-top:-50%}.lg\:-mr-2\/4{margin-right:-50%}.lg\:-mb-2\/4{margin-bottom:-50%}.lg\:-ml-2\/4{margin-left:-50%}.lg\:-mt-3\/4{margin-top:-75%}.lg\:-mr-3\/4{margin-right:-75%}.lg\:-mb-3\/4{margin-bottom:-75%}.lg\:-ml-3\/4{margin-left:-75%}.lg\:-mt-1\/5{margin-top:-20%}.lg\:-mr-1\/5{margin-right:-20%}.lg\:-mb-1\/5{margin-bottom:-20%}.lg\:-ml-1\/5{margin-left:-20%}.lg\:-mt-2\/5{margin-top:-40%}.lg\:-mr-2\/5{margin-right:-40%}.lg\:-mb-2\/5{margin-bottom:-40%}.lg\:-ml-2\/5{margin-left:-40%}.lg\:-mt-3\/5{margin-top:-60%}.lg\:-mr-3\/5{margin-right:-60%}.lg\:-mb-3\/5{margin-bottom:-60%}.lg\:-ml-3\/5{margin-left:-60%}.lg\:-mt-4\/5{margin-top:-80%}.lg\:-mr-4\/5{margin-right:-80%}.lg\:-mb-4\/5{margin-bottom:-80%}.lg\:-ml-4\/5{margin-left:-80%}.lg\:-mt-1\/6{margin-top:-16.66667%}.lg\:-mr-1\/6{margin-right:-16.66667%}.lg\:-mb-1\/6{margin-bottom:-16.66667%}.lg\:-ml-1\/6{margin-left:-16.66667%}.lg\:-mt-2\/6{margin-top:-33.33333%}.lg\:-mr-2\/6{margin-right:-33.33333%}.lg\:-mb-2\/6{margin-bottom:-33.33333%}.lg\:-ml-2\/6{margin-left:-33.33333%}.lg\:-mt-3\/6{margin-top:-50%}.lg\:-mr-3\/6{margin-right:-50%}.lg\:-mb-3\/6{margin-bottom:-50%}.lg\:-ml-3\/6{margin-left:-50%}.lg\:-mt-4\/6{margin-top:-66.66667%}.lg\:-mr-4\/6{margin-right:-66.66667%}.lg\:-mb-4\/6{margin-bottom:-66.66667%}.lg\:-ml-4\/6{margin-left:-66.66667%}.lg\:-mt-5\/6{margin-top:-83.33333%}.lg\:-mr-5\/6{margin-right:-83.33333%}.lg\:-mb-5\/6{margin-bottom:-83.33333%}.lg\:-ml-5\/6{margin-left:-83.33333%}.lg\:-mt-1\/12{margin-top:-8.33333%}.lg\:-mr-1\/12{margin-right:-8.33333%}.lg\:-mb-1\/12{margin-bottom:-8.33333%}.lg\:-ml-1\/12{margin-left:-8.33333%}.lg\:-mt-2\/12{margin-top:-16.66667%}.lg\:-mr-2\/12{margin-right:-16.66667%}.lg\:-mb-2\/12{margin-bottom:-16.66667%}.lg\:-ml-2\/12{margin-left:-16.66667%}.lg\:-mt-3\/12{margin-top:-25%}.lg\:-mr-3\/12{margin-right:-25%}.lg\:-mb-3\/12{margin-bottom:-25%}.lg\:-ml-3\/12{margin-left:-25%}.lg\:-mt-4\/12{margin-top:-33.33333%}.lg\:-mr-4\/12{margin-right:-33.33333%}.lg\:-mb-4\/12{margin-bottom:-33.33333%}.lg\:-ml-4\/12{margin-left:-33.33333%}.lg\:-mt-5\/12{margin-top:-41.66667%}.lg\:-mr-5\/12{margin-right:-41.66667%}.lg\:-mb-5\/12{margin-bottom:-41.66667%}.lg\:-ml-5\/12{margin-left:-41.66667%}.lg\:-mt-6\/12{margin-top:-50%}.lg\:-mr-6\/12{margin-right:-50%}.lg\:-mb-6\/12{margin-bottom:-50%}.lg\:-ml-6\/12{margin-left:-50%}.lg\:-mt-7\/12{margin-top:-58.33333%}.lg\:-mr-7\/12{margin-right:-58.33333%}.lg\:-mb-7\/12{margin-bottom:-58.33333%}.lg\:-ml-7\/12{margin-left:-58.33333%}.lg\:-mt-8\/12{margin-top:-66.66667%}.lg\:-mr-8\/12{margin-right:-66.66667%}.lg\:-mb-8\/12{margin-bottom:-66.66667%}.lg\:-ml-8\/12{margin-left:-66.66667%}.lg\:-mt-9\/12{margin-top:-75%}.lg\:-mr-9\/12{margin-right:-75%}.lg\:-mb-9\/12{margin-bottom:-75%}.lg\:-ml-9\/12{margin-left:-75%}.lg\:-mt-10\/12{margin-top:-83.33333%}.lg\:-mr-10\/12{margin-right:-83.33333%}.lg\:-mb-10\/12{margin-bottom:-83.33333%}.lg\:-ml-10\/12{margin-left:-83.33333%}.lg\:-mt-11\/12{margin-top:-91.66667%}.lg\:-mr-11\/12{margin-right:-91.66667%}.lg\:-mb-11\/12{margin-bottom:-91.66667%}.lg\:-ml-11\/12{margin-left:-91.66667%}.lg\:-mt-full{margin-top:-100%}.lg\:-mr-full{margin-right:-100%}.lg\:-mb-full{margin-bottom:-100%}.lg\:-ml-full{margin-left:-100%}.lg\:max-h-0{max-height:0}.lg\:max-h-1{max-height:.25rem}.lg\:max-h-2{max-height:.5rem}.lg\:max-h-3{max-height:.75rem}.lg\:max-h-4{max-height:1rem}.lg\:max-h-5{max-height:1.25rem}.lg\:max-h-6{max-height:1.5rem}.lg\:max-h-7{max-height:1.75rem}.lg\:max-h-8{max-height:2rem}.lg\:max-h-9{max-height:2.25rem}.lg\:max-h-10{max-height:2.5rem}.lg\:max-h-11{max-height:2.75rem}.lg\:max-h-12{max-height:3rem}.lg\:max-h-13{max-height:3.25rem}.lg\:max-h-14{max-height:3.5rem}.lg\:max-h-15{max-height:3.75rem}.lg\:max-h-16{max-height:4rem}.lg\:max-h-20{max-height:5rem}.lg\:max-h-24{max-height:6rem}.lg\:max-h-28{max-height:7rem}.lg\:max-h-32{max-height:8rem}.lg\:max-h-36{max-height:9rem}.lg\:max-h-40{max-height:10rem}.lg\:max-h-44{max-height:11rem}.lg\:max-h-48{max-height:12rem}.lg\:max-h-52{max-height:13rem}.lg\:max-h-56{max-height:14rem}.lg\:max-h-60{max-height:15rem}.lg\:max-h-64{max-height:16rem}.lg\:max-h-72{max-height:18rem}.lg\:max-h-80{max-height:20rem}.lg\:max-h-96{max-height:24rem}.lg\:max-h-screen{max-height:100vh}.lg\:max-h-px{max-height:1px}.lg\:max-h-0\.5{max-height:.125rem}.lg\:max-h-1\.5{max-height:.375rem}.lg\:max-h-2\.5{max-height:.625rem}.lg\:max-h-3\.5{max-height:.875rem}.lg\:max-h-1\/2{max-height:50%}.lg\:max-h-1\/3{max-height:33.333333%}.lg\:max-h-2\/3{max-height:66.666667%}.lg\:max-h-1\/4{max-height:25%}.lg\:max-h-2\/4{max-height:50%}.lg\:max-h-3\/4{max-height:75%}.lg\:max-h-1\/5{max-height:20%}.lg\:max-h-2\/5{max-height:40%}.lg\:max-h-3\/5{max-height:60%}.lg\:max-h-4\/5{max-height:80%}.lg\:max-h-1\/6{max-height:16.666667%}.lg\:max-h-2\/6{max-height:33.333333%}.lg\:max-h-3\/6{max-height:50%}.lg\:max-h-4\/6{max-height:66.666667%}.lg\:max-h-5\/6{max-height:83.333333%}.lg\:max-h-1\/12{max-height:8.333333%}.lg\:max-h-2\/12{max-height:16.666667%}.lg\:max-h-3\/12{max-height:25%}.lg\:max-h-4\/12{max-height:33.333333%}.lg\:max-h-5\/12{max-height:41.666667%}.lg\:max-h-6\/12{max-height:50%}.lg\:max-h-7\/12{max-height:58.333333%}.lg\:max-h-8\/12{max-height:66.666667%}.lg\:max-h-9\/12{max-height:75%}.lg\:max-h-10\/12{max-height:83.333333%}.lg\:max-h-11\/12{max-height:91.666667%}.lg\:max-h-full{max-height:100%}.lg\:max-w-0{max-width:0}.lg\:max-w-none{max-width:none}.lg\:max-w-xs{max-width:20rem}.lg\:max-w-sm{max-width:24rem}.lg\:max-w-md{max-width:28rem}.lg\:max-w-lg{max-width:32rem}.lg\:max-w-xl{max-width:36rem}.lg\:max-w-2xl{max-width:42rem}.lg\:max-w-3xl{max-width:48rem}.lg\:max-w-4xl{max-width:56rem}.lg\:max-w-5xl{max-width:64rem}.lg\:max-w-6xl{max-width:72rem}.lg\:max-w-7xl{max-width:80rem}.lg\:max-w-full{max-width:100%}.lg\:max-w-min-content{max-width:-webkit-min-content;max-width:-moz-min-content;max-width:min-content}.lg\:max-w-max-content{max-width:-webkit-max-content;max-width:-moz-max-content;max-width:max-content}.lg\:max-w-prose{max-width:65ch}.lg\:max-w-screen-sm{max-width:640px}.lg\:max-w-screen-md{max-width:768px}.lg\:max-w-screen-lg{max-width:1024px}.lg\:max-w-screen-xl{max-width:1280px}.lg\:min-h-0{min-height:0}.lg\:min-h-full{min-height:100%}.lg\:min-h-screen{min-height:100vh}.lg\:min-w-0{min-width:0}.lg\:min-w-full{min-width:100%}.lg\:min-w-min-content{min-width:-webkit-min-content;min-width:-moz-min-content;min-width:min-content}.lg\:min-w-max-content{min-width:-webkit-max-content;min-width:-moz-max-content;min-width:max-content}.lg\:object-contain{-o-object-fit:contain;object-fit:contain}.lg\:object-cover{-o-object-fit:cover;object-fit:cover}.lg\:object-fill{-o-object-fit:fill;object-fit:fill}.lg\:object-none{-o-object-fit:none;object-fit:none}.lg\:object-scale-down{-o-object-fit:scale-down;object-fit:scale-down}.lg\:object-bottom{-o-object-position:bottom;object-position:bottom}.lg\:object-center{-o-object-position:center;object-position:center}.lg\:object-left{-o-object-position:left;object-position:left}.lg\:object-left-bottom{-o-object-position:left bottom;object-position:left bottom}.lg\:object-left-top{-o-object-position:left top;object-position:left top}.lg\:object-right{-o-object-position:right;object-position:right}.lg\:object-right-bottom{-o-object-position:right bottom;object-position:right bottom}.lg\:object-right-top{-o-object-position:right top;object-position:right top}.lg\:object-top{-o-object-position:top;object-position:top}.lg\:opacity-0{opacity:0}.lg\:opacity-25{opacity:.25}.lg\:opacity-50{opacity:.5}.lg\:opacity-75{opacity:.75}.lg\:opacity-100{opacity:1}.lg\:hover\:opacity-0:hover{opacity:0}.lg\:hover\:opacity-25:hover{opacity:.25}.lg\:hover\:opacity-50:hover{opacity:.5}.lg\:hover\:opacity-75:hover{opacity:.75}.lg\:hover\:opacity-100:hover{opacity:1}.lg\:focus\:opacity-0:focus{opacity:0}.lg\:focus\:opacity-25:focus{opacity:.25}.lg\:focus\:opacity-50:focus{opacity:.5}.lg\:focus\:opacity-75:focus{opacity:.75}.lg\:focus\:opacity-100:focus{opacity:1}.lg\:outline-none{outline:0}.lg\:focus\:outline-none:focus{outline:0}.lg\:overflow-auto{overflow:auto}.lg\:overflow-hidden{overflow:hidden}.lg\:overflow-visible{overflow:visible}.lg\:overflow-scroll{overflow:scroll}.lg\:overflow-x-auto{overflow-x:auto}.lg\:overflow-y-auto{overflow-y:auto}.lg\:overflow-x-hidden{overflow-x:hidden}.lg\:overflow-y-hidden{overflow-y:hidden}.lg\:overflow-x-visible{overflow-x:visible}.lg\:overflow-y-visible{overflow-y:visible}.lg\:overflow-x-scroll{overflow-x:scroll}.lg\:overflow-y-scroll{overflow-y:scroll}.lg\:scrolling-touch{-webkit-overflow-scrolling:touch}.lg\:scrolling-auto{-webkit-overflow-scrolling:auto}.lg\:p-0{padding:0}.lg\:p-1{padding:.25rem}.lg\:p-2{padding:.5rem}.lg\:p-3{padding:.75rem}.lg\:p-4{padding:1rem}.lg\:p-5{padding:1.25rem}.lg\:p-6{padding:1.5rem}.lg\:p-7{padding:1.75rem}.lg\:p-8{padding:2rem}.lg\:p-9{padding:2.25rem}.lg\:p-10{padding:2.5rem}.lg\:p-11{padding:2.75rem}.lg\:p-12{padding:3rem}.lg\:p-13{padding:3.25rem}.lg\:p-14{padding:3.5rem}.lg\:p-15{padding:3.75rem}.lg\:p-16{padding:4rem}.lg\:p-20{padding:5rem}.lg\:p-24{padding:6rem}.lg\:p-28{padding:7rem}.lg\:p-32{padding:8rem}.lg\:p-36{padding:9rem}.lg\:p-40{padding:10rem}.lg\:p-44{padding:11rem}.lg\:p-48{padding:12rem}.lg\:p-52{padding:13rem}.lg\:p-56{padding:14rem}.lg\:p-60{padding:15rem}.lg\:p-64{padding:16rem}.lg\:p-72{padding:18rem}.lg\:p-80{padding:20rem}.lg\:p-96{padding:24rem}.lg\:p-px{padding:1px}.lg\:p-0\.5{padding:.125rem}.lg\:p-1\.5{padding:.375rem}.lg\:p-2\.5{padding:.625rem}.lg\:p-3\.5{padding:.875rem}.lg\:p-1\/2{padding:50%}.lg\:p-1\/3{padding:33.333333%}.lg\:p-2\/3{padding:66.666667%}.lg\:p-1\/4{padding:25%}.lg\:p-2\/4{padding:50%}.lg\:p-3\/4{padding:75%}.lg\:p-1\/5{padding:20%}.lg\:p-2\/5{padding:40%}.lg\:p-3\/5{padding:60%}.lg\:p-4\/5{padding:80%}.lg\:p-1\/6{padding:16.666667%}.lg\:p-2\/6{padding:33.333333%}.lg\:p-3\/6{padding:50%}.lg\:p-4\/6{padding:66.666667%}.lg\:p-5\/6{padding:83.333333%}.lg\:p-1\/12{padding:8.333333%}.lg\:p-2\/12{padding:16.666667%}.lg\:p-3\/12{padding:25%}.lg\:p-4\/12{padding:33.333333%}.lg\:p-5\/12{padding:41.666667%}.lg\:p-6\/12{padding:50%}.lg\:p-7\/12{padding:58.333333%}.lg\:p-8\/12{padding:66.666667%}.lg\:p-9\/12{padding:75%}.lg\:p-10\/12{padding:83.333333%}.lg\:p-11\/12{padding:91.666667%}.lg\:p-full{padding:100%}.lg\:py-0{padding-top:0;padding-bottom:0}.lg\:px-0{padding-left:0;padding-right:0}.lg\:py-1{padding-top:.25rem;padding-bottom:.25rem}.lg\:px-1{padding-left:.25rem;padding-right:.25rem}.lg\:py-2{padding-top:.5rem;padding-bottom:.5rem}.lg\:px-2{padding-left:.5rem;padding-right:.5rem}.lg\:py-3{padding-top:.75rem;padding-bottom:.75rem}.lg\:px-3{padding-left:.75rem;padding-right:.75rem}.lg\:py-4{padding-top:1rem;padding-bottom:1rem}.lg\:px-4{padding-left:1rem;padding-right:1rem}.lg\:py-5{padding-top:1.25rem;padding-bottom:1.25rem}.lg\:px-5{padding-left:1.25rem;padding-right:1.25rem}.lg\:py-6{padding-top:1.5rem;padding-bottom:1.5rem}.lg\:px-6{padding-left:1.5rem;padding-right:1.5rem}.lg\:py-7{padding-top:1.75rem;padding-bottom:1.75rem}.lg\:px-7{padding-left:1.75rem;padding-right:1.75rem}.lg\:py-8{padding-top:2rem;padding-bottom:2rem}.lg\:px-8{padding-left:2rem;padding-right:2rem}.lg\:py-9{padding-top:2.25rem;padding-bottom:2.25rem}.lg\:px-9{padding-left:2.25rem;padding-right:2.25rem}.lg\:py-10{padding-top:2.5rem;padding-bottom:2.5rem}.lg\:px-10{padding-left:2.5rem;padding-right:2.5rem}.lg\:py-11{padding-top:2.75rem;padding-bottom:2.75rem}.lg\:px-11{padding-left:2.75rem;padding-right:2.75rem}.lg\:py-12{padding-top:3rem;padding-bottom:3rem}.lg\:px-12{padding-left:3rem;padding-right:3rem}.lg\:py-13{padding-top:3.25rem;padding-bottom:3.25rem}.lg\:px-13{padding-left:3.25rem;padding-right:3.25rem}.lg\:py-14{padding-top:3.5rem;padding-bottom:3.5rem}.lg\:px-14{padding-left:3.5rem;padding-right:3.5rem}.lg\:py-15{padding-top:3.75rem;padding-bottom:3.75rem}.lg\:px-15{padding-left:3.75rem;padding-right:3.75rem}.lg\:py-16{padding-top:4rem;padding-bottom:4rem}.lg\:px-16{padding-left:4rem;padding-right:4rem}.lg\:py-20{padding-top:5rem;padding-bottom:5rem}.lg\:px-20{padding-left:5rem;padding-right:5rem}.lg\:py-24{padding-top:6rem;padding-bottom:6rem}.lg\:px-24{padding-left:6rem;padding-right:6rem}.lg\:py-28{padding-top:7rem;padding-bottom:7rem}.lg\:px-28{padding-left:7rem;padding-right:7rem}.lg\:py-32{padding-top:8rem;padding-bottom:8rem}.lg\:px-32{padding-left:8rem;padding-right:8rem}.lg\:py-36{padding-top:9rem;padding-bottom:9rem}.lg\:px-36{padding-left:9rem;padding-right:9rem}.lg\:py-40{padding-top:10rem;padding-bottom:10rem}.lg\:px-40{padding-left:10rem;padding-right:10rem}.lg\:py-44{padding-top:11rem;padding-bottom:11rem}.lg\:px-44{padding-left:11rem;padding-right:11rem}.lg\:py-48{padding-top:12rem;padding-bottom:12rem}.lg\:px-48{padding-left:12rem;padding-right:12rem}.lg\:py-52{padding-top:13rem;padding-bottom:13rem}.lg\:px-52{padding-left:13rem;padding-right:13rem}.lg\:py-56{padding-top:14rem;padding-bottom:14rem}.lg\:px-56{padding-left:14rem;padding-right:14rem}.lg\:py-60{padding-top:15rem;padding-bottom:15rem}.lg\:px-60{padding-left:15rem;padding-right:15rem}.lg\:py-64{padding-top:16rem;padding-bottom:16rem}.lg\:px-64{padding-left:16rem;padding-right:16rem}.lg\:py-72{padding-top:18rem;padding-bottom:18rem}.lg\:px-72{padding-left:18rem;padding-right:18rem}.lg\:py-80{padding-top:20rem;padding-bottom:20rem}.lg\:px-80{padding-left:20rem;padding-right:20rem}.lg\:py-96{padding-top:24rem;padding-bottom:24rem}.lg\:px-96{padding-left:24rem;padding-right:24rem}.lg\:py-px{padding-top:1px;padding-bottom:1px}.lg\:px-px{padding-left:1px;padding-right:1px}.lg\:py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.lg\:px-0\.5{padding-left:.125rem;padding-right:.125rem}.lg\:py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.lg\:px-1\.5{padding-left:.375rem;padding-right:.375rem}.lg\:py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.lg\:px-2\.5{padding-left:.625rem;padding-right:.625rem}.lg\:py-3\.5{padding-top:.875rem;padding-bottom:.875rem}.lg\:px-3\.5{padding-left:.875rem;padding-right:.875rem}.lg\:py-1\/2{padding-top:50%;padding-bottom:50%}.lg\:px-1\/2{padding-left:50%;padding-right:50%}.lg\:py-1\/3{padding-top:33.333333%;padding-bottom:33.333333%}.lg\:px-1\/3{padding-left:33.333333%;padding-right:33.333333%}.lg\:py-2\/3{padding-top:66.666667%;padding-bottom:66.666667%}.lg\:px-2\/3{padding-left:66.666667%;padding-right:66.666667%}.lg\:py-1\/4{padding-top:25%;padding-bottom:25%}.lg\:px-1\/4{padding-left:25%;padding-right:25%}.lg\:py-2\/4{padding-top:50%;padding-bottom:50%}.lg\:px-2\/4{padding-left:50%;padding-right:50%}.lg\:py-3\/4{padding-top:75%;padding-bottom:75%}.lg\:px-3\/4{padding-left:75%;padding-right:75%}.lg\:py-1\/5{padding-top:20%;padding-bottom:20%}.lg\:px-1\/5{padding-left:20%;padding-right:20%}.lg\:py-2\/5{padding-top:40%;padding-bottom:40%}.lg\:px-2\/5{padding-left:40%;padding-right:40%}.lg\:py-3\/5{padding-top:60%;padding-bottom:60%}.lg\:px-3\/5{padding-left:60%;padding-right:60%}.lg\:py-4\/5{padding-top:80%;padding-bottom:80%}.lg\:px-4\/5{padding-left:80%;padding-right:80%}.lg\:py-1\/6{padding-top:16.666667%;padding-bottom:16.666667%}.lg\:px-1\/6{padding-left:16.666667%;padding-right:16.666667%}.lg\:py-2\/6{padding-top:33.333333%;padding-bottom:33.333333%}.lg\:px-2\/6{padding-left:33.333333%;padding-right:33.333333%}.lg\:py-3\/6{padding-top:50%;padding-bottom:50%}.lg\:px-3\/6{padding-left:50%;padding-right:50%}.lg\:py-4\/6{padding-top:66.666667%;padding-bottom:66.666667%}.lg\:px-4\/6{padding-left:66.666667%;padding-right:66.666667%}.lg\:py-5\/6{padding-top:83.333333%;padding-bottom:83.333333%}.lg\:px-5\/6{padding-left:83.333333%;padding-right:83.333333%}.lg\:py-1\/12{padding-top:8.333333%;padding-bottom:8.333333%}.lg\:px-1\/12{padding-left:8.333333%;padding-right:8.333333%}.lg\:py-2\/12{padding-top:16.666667%;padding-bottom:16.666667%}.lg\:px-2\/12{padding-left:16.666667%;padding-right:16.666667%}.lg\:py-3\/12{padding-top:25%;padding-bottom:25%}.lg\:px-3\/12{padding-left:25%;padding-right:25%}.lg\:py-4\/12{padding-top:33.333333%;padding-bottom:33.333333%}.lg\:px-4\/12{padding-left:33.333333%;padding-right:33.333333%}.lg\:py-5\/12{padding-top:41.666667%;padding-bottom:41.666667%}.lg\:px-5\/12{padding-left:41.666667%;padding-right:41.666667%}.lg\:py-6\/12{padding-top:50%;padding-bottom:50%}.lg\:px-6\/12{padding-left:50%;padding-right:50%}.lg\:py-7\/12{padding-top:58.333333%;padding-bottom:58.333333%}.lg\:px-7\/12{padding-left:58.333333%;padding-right:58.333333%}.lg\:py-8\/12{padding-top:66.666667%;padding-bottom:66.666667%}.lg\:px-8\/12{padding-left:66.666667%;padding-right:66.666667%}.lg\:py-9\/12{padding-top:75%;padding-bottom:75%}.lg\:px-9\/12{padding-left:75%;padding-right:75%}.lg\:py-10\/12{padding-top:83.333333%;padding-bottom:83.333333%}.lg\:px-10\/12{padding-left:83.333333%;padding-right:83.333333%}.lg\:py-11\/12{padding-top:91.666667%;padding-bottom:91.666667%}.lg\:px-11\/12{padding-left:91.666667%;padding-right:91.666667%}.lg\:py-full{padding-top:100%;padding-bottom:100%}.lg\:px-full{padding-left:100%;padding-right:100%}.lg\:pt-0{padding-top:0}.lg\:pr-0{padding-right:0}.lg\:pb-0{padding-bottom:0}.lg\:pl-0{padding-left:0}.lg\:pt-1{padding-top:.25rem}.lg\:pr-1{padding-right:.25rem}.lg\:pb-1{padding-bottom:.25rem}.lg\:pl-1{padding-left:.25rem}.lg\:pt-2{padding-top:.5rem}.lg\:pr-2{padding-right:.5rem}.lg\:pb-2{padding-bottom:.5rem}.lg\:pl-2{padding-left:.5rem}.lg\:pt-3{padding-top:.75rem}.lg\:pr-3{padding-right:.75rem}.lg\:pb-3{padding-bottom:.75rem}.lg\:pl-3{padding-left:.75rem}.lg\:pt-4{padding-top:1rem}.lg\:pr-4{padding-right:1rem}.lg\:pb-4{padding-bottom:1rem}.lg\:pl-4{padding-left:1rem}.lg\:pt-5{padding-top:1.25rem}.lg\:pr-5{padding-right:1.25rem}.lg\:pb-5{padding-bottom:1.25rem}.lg\:pl-5{padding-left:1.25rem}.lg\:pt-6{padding-top:1.5rem}.lg\:pr-6{padding-right:1.5rem}.lg\:pb-6{padding-bottom:1.5rem}.lg\:pl-6{padding-left:1.5rem}.lg\:pt-7{padding-top:1.75rem}.lg\:pr-7{padding-right:1.75rem}.lg\:pb-7{padding-bottom:1.75rem}.lg\:pl-7{padding-left:1.75rem}.lg\:pt-8{padding-top:2rem}.lg\:pr-8{padding-right:2rem}.lg\:pb-8{padding-bottom:2rem}.lg\:pl-8{padding-left:2rem}.lg\:pt-9{padding-top:2.25rem}.lg\:pr-9{padding-right:2.25rem}.lg\:pb-9{padding-bottom:2.25rem}.lg\:pl-9{padding-left:2.25rem}.lg\:pt-10{padding-top:2.5rem}.lg\:pr-10{padding-right:2.5rem}.lg\:pb-10{padding-bottom:2.5rem}.lg\:pl-10{padding-left:2.5rem}.lg\:pt-11{padding-top:2.75rem}.lg\:pr-11{padding-right:2.75rem}.lg\:pb-11{padding-bottom:2.75rem}.lg\:pl-11{padding-left:2.75rem}.lg\:pt-12{padding-top:3rem}.lg\:pr-12{padding-right:3rem}.lg\:pb-12{padding-bottom:3rem}.lg\:pl-12{padding-left:3rem}.lg\:pt-13{padding-top:3.25rem}.lg\:pr-13{padding-right:3.25rem}.lg\:pb-13{padding-bottom:3.25rem}.lg\:pl-13{padding-left:3.25rem}.lg\:pt-14{padding-top:3.5rem}.lg\:pr-14{padding-right:3.5rem}.lg\:pb-14{padding-bottom:3.5rem}.lg\:pl-14{padding-left:3.5rem}.lg\:pt-15{padding-top:3.75rem}.lg\:pr-15{padding-right:3.75rem}.lg\:pb-15{padding-bottom:3.75rem}.lg\:pl-15{padding-left:3.75rem}.lg\:pt-16{padding-top:4rem}.lg\:pr-16{padding-right:4rem}.lg\:pb-16{padding-bottom:4rem}.lg\:pl-16{padding-left:4rem}.lg\:pt-20{padding-top:5rem}.lg\:pr-20{padding-right:5rem}.lg\:pb-20{padding-bottom:5rem}.lg\:pl-20{padding-left:5rem}.lg\:pt-24{padding-top:6rem}.lg\:pr-24{padding-right:6rem}.lg\:pb-24{padding-bottom:6rem}.lg\:pl-24{padding-left:6rem}.lg\:pt-28{padding-top:7rem}.lg\:pr-28{padding-right:7rem}.lg\:pb-28{padding-bottom:7rem}.lg\:pl-28{padding-left:7rem}.lg\:pt-32{padding-top:8rem}.lg\:pr-32{padding-right:8rem}.lg\:pb-32{padding-bottom:8rem}.lg\:pl-32{padding-left:8rem}.lg\:pt-36{padding-top:9rem}.lg\:pr-36{padding-right:9rem}.lg\:pb-36{padding-bottom:9rem}.lg\:pl-36{padding-left:9rem}.lg\:pt-40{padding-top:10rem}.lg\:pr-40{padding-right:10rem}.lg\:pb-40{padding-bottom:10rem}.lg\:pl-40{padding-left:10rem}.lg\:pt-44{padding-top:11rem}.lg\:pr-44{padding-right:11rem}.lg\:pb-44{padding-bottom:11rem}.lg\:pl-44{padding-left:11rem}.lg\:pt-48{padding-top:12rem}.lg\:pr-48{padding-right:12rem}.lg\:pb-48{padding-bottom:12rem}.lg\:pl-48{padding-left:12rem}.lg\:pt-52{padding-top:13rem}.lg\:pr-52{padding-right:13rem}.lg\:pb-52{padding-bottom:13rem}.lg\:pl-52{padding-left:13rem}.lg\:pt-56{padding-top:14rem}.lg\:pr-56{padding-right:14rem}.lg\:pb-56{padding-bottom:14rem}.lg\:pl-56{padding-left:14rem}.lg\:pt-60{padding-top:15rem}.lg\:pr-60{padding-right:15rem}.lg\:pb-60{padding-bottom:15rem}.lg\:pl-60{padding-left:15rem}.lg\:pt-64{padding-top:16rem}.lg\:pr-64{padding-right:16rem}.lg\:pb-64{padding-bottom:16rem}.lg\:pl-64{padding-left:16rem}.lg\:pt-72{padding-top:18rem}.lg\:pr-72{padding-right:18rem}.lg\:pb-72{padding-bottom:18rem}.lg\:pl-72{padding-left:18rem}.lg\:pt-80{padding-top:20rem}.lg\:pr-80{padding-right:20rem}.lg\:pb-80{padding-bottom:20rem}.lg\:pl-80{padding-left:20rem}.lg\:pt-96{padding-top:24rem}.lg\:pr-96{padding-right:24rem}.lg\:pb-96{padding-bottom:24rem}.lg\:pl-96{padding-left:24rem}.lg\:pt-px{padding-top:1px}.lg\:pr-px{padding-right:1px}.lg\:pb-px{padding-bottom:1px}.lg\:pl-px{padding-left:1px}.lg\:pt-0\.5{padding-top:.125rem}.lg\:pr-0\.5{padding-right:.125rem}.lg\:pb-0\.5{padding-bottom:.125rem}.lg\:pl-0\.5{padding-left:.125rem}.lg\:pt-1\.5{padding-top:.375rem}.lg\:pr-1\.5{padding-right:.375rem}.lg\:pb-1\.5{padding-bottom:.375rem}.lg\:pl-1\.5{padding-left:.375rem}.lg\:pt-2\.5{padding-top:.625rem}.lg\:pr-2\.5{padding-right:.625rem}.lg\:pb-2\.5{padding-bottom:.625rem}.lg\:pl-2\.5{padding-left:.625rem}.lg\:pt-3\.5{padding-top:.875rem}.lg\:pr-3\.5{padding-right:.875rem}.lg\:pb-3\.5{padding-bottom:.875rem}.lg\:pl-3\.5{padding-left:.875rem}.lg\:pt-1\/2{padding-top:50%}.lg\:pr-1\/2{padding-right:50%}.lg\:pb-1\/2{padding-bottom:50%}.lg\:pl-1\/2{padding-left:50%}.lg\:pt-1\/3{padding-top:33.333333%}.lg\:pr-1\/3{padding-right:33.333333%}.lg\:pb-1\/3{padding-bottom:33.333333%}.lg\:pl-1\/3{padding-left:33.333333%}.lg\:pt-2\/3{padding-top:66.666667%}.lg\:pr-2\/3{padding-right:66.666667%}.lg\:pb-2\/3{padding-bottom:66.666667%}.lg\:pl-2\/3{padding-left:66.666667%}.lg\:pt-1\/4{padding-top:25%}.lg\:pr-1\/4{padding-right:25%}.lg\:pb-1\/4{padding-bottom:25%}.lg\:pl-1\/4{padding-left:25%}.lg\:pt-2\/4{padding-top:50%}.lg\:pr-2\/4{padding-right:50%}.lg\:pb-2\/4{padding-bottom:50%}.lg\:pl-2\/4{padding-left:50%}.lg\:pt-3\/4{padding-top:75%}.lg\:pr-3\/4{padding-right:75%}.lg\:pb-3\/4{padding-bottom:75%}.lg\:pl-3\/4{padding-left:75%}.lg\:pt-1\/5{padding-top:20%}.lg\:pr-1\/5{padding-right:20%}.lg\:pb-1\/5{padding-bottom:20%}.lg\:pl-1\/5{padding-left:20%}.lg\:pt-2\/5{padding-top:40%}.lg\:pr-2\/5{padding-right:40%}.lg\:pb-2\/5{padding-bottom:40%}.lg\:pl-2\/5{padding-left:40%}.lg\:pt-3\/5{padding-top:60%}.lg\:pr-3\/5{padding-right:60%}.lg\:pb-3\/5{padding-bottom:60%}.lg\:pl-3\/5{padding-left:60%}.lg\:pt-4\/5{padding-top:80%}.lg\:pr-4\/5{padding-right:80%}.lg\:pb-4\/5{padding-bottom:80%}.lg\:pl-4\/5{padding-left:80%}.lg\:pt-1\/6{padding-top:16.666667%}.lg\:pr-1\/6{padding-right:16.666667%}.lg\:pb-1\/6{padding-bottom:16.666667%}.lg\:pl-1\/6{padding-left:16.666667%}.lg\:pt-2\/6{padding-top:33.333333%}.lg\:pr-2\/6{padding-right:33.333333%}.lg\:pb-2\/6{padding-bottom:33.333333%}.lg\:pl-2\/6{padding-left:33.333333%}.lg\:pt-3\/6{padding-top:50%}.lg\:pr-3\/6{padding-right:50%}.lg\:pb-3\/6{padding-bottom:50%}.lg\:pl-3\/6{padding-left:50%}.lg\:pt-4\/6{padding-top:66.666667%}.lg\:pr-4\/6{padding-right:66.666667%}.lg\:pb-4\/6{padding-bottom:66.666667%}.lg\:pl-4\/6{padding-left:66.666667%}.lg\:pt-5\/6{padding-top:83.333333%}.lg\:pr-5\/6{padding-right:83.333333%}.lg\:pb-5\/6{padding-bottom:83.333333%}.lg\:pl-5\/6{padding-left:83.333333%}.lg\:pt-1\/12{padding-top:8.333333%}.lg\:pr-1\/12{padding-right:8.333333%}.lg\:pb-1\/12{padding-bottom:8.333333%}.lg\:pl-1\/12{padding-left:8.333333%}.lg\:pt-2\/12{padding-top:16.666667%}.lg\:pr-2\/12{padding-right:16.666667%}.lg\:pb-2\/12{padding-bottom:16.666667%}.lg\:pl-2\/12{padding-left:16.666667%}.lg\:pt-3\/12{padding-top:25%}.lg\:pr-3\/12{padding-right:25%}.lg\:pb-3\/12{padding-bottom:25%}.lg\:pl-3\/12{padding-left:25%}.lg\:pt-4\/12{padding-top:33.333333%}.lg\:pr-4\/12{padding-right:33.333333%}.lg\:pb-4\/12{padding-bottom:33.333333%}.lg\:pl-4\/12{padding-left:33.333333%}.lg\:pt-5\/12{padding-top:41.666667%}.lg\:pr-5\/12{padding-right:41.666667%}.lg\:pb-5\/12{padding-bottom:41.666667%}.lg\:pl-5\/12{padding-left:41.666667%}.lg\:pt-6\/12{padding-top:50%}.lg\:pr-6\/12{padding-right:50%}.lg\:pb-6\/12{padding-bottom:50%}.lg\:pl-6\/12{padding-left:50%}.lg\:pt-7\/12{padding-top:58.333333%}.lg\:pr-7\/12{padding-right:58.333333%}.lg\:pb-7\/12{padding-bottom:58.333333%}.lg\:pl-7\/12{padding-left:58.333333%}.lg\:pt-8\/12{padding-top:66.666667%}.lg\:pr-8\/12{padding-right:66.666667%}.lg\:pb-8\/12{padding-bottom:66.666667%}.lg\:pl-8\/12{padding-left:66.666667%}.lg\:pt-9\/12{padding-top:75%}.lg\:pr-9\/12{padding-right:75%}.lg\:pb-9\/12{padding-bottom:75%}.lg\:pl-9\/12{padding-left:75%}.lg\:pt-10\/12{padding-top:83.333333%}.lg\:pr-10\/12{padding-right:83.333333%}.lg\:pb-10\/12{padding-bottom:83.333333%}.lg\:pl-10\/12{padding-left:83.333333%}.lg\:pt-11\/12{padding-top:91.666667%}.lg\:pr-11\/12{padding-right:91.666667%}.lg\:pb-11\/12{padding-bottom:91.666667%}.lg\:pl-11\/12{padding-left:91.666667%}.lg\:pt-full{padding-top:100%}.lg\:pr-full{padding-right:100%}.lg\:pb-full{padding-bottom:100%}.lg\:pl-full{padding-left:100%}.lg\:placeholder-transparent::-moz-placeholder{color:transparent}.lg\:placeholder-transparent:-ms-input-placeholder{color:transparent}.lg\:placeholder-transparent::-ms-input-placeholder{color:transparent}.lg\:placeholder-transparent::placeholder{color:transparent}.lg\:placeholder-white::-moz-placeholder{--placeholder-opacity:1;color:#fff;color:rgba(255,255,255,var(--placeholder-opacity))}.lg\:placeholder-white:-ms-input-placeholder{--placeholder-opacity:1;color:#fff;color:rgba(255,255,255,var(--placeholder-opacity))}.lg\:placeholder-white::-ms-input-placeholder{--placeholder-opacity:1;color:#fff;color:rgba(255,255,255,var(--placeholder-opacity))}.lg\:placeholder-white::placeholder{--placeholder-opacity:1;color:#fff;color:rgba(255,255,255,var(--placeholder-opacity))}.lg\:placeholder-black::-moz-placeholder{--placeholder-opacity:1;color:#000;color:rgba(0,0,0,var(--placeholder-opacity))}.lg\:placeholder-black:-ms-input-placeholder{--placeholder-opacity:1;color:#000;color:rgba(0,0,0,var(--placeholder-opacity))}.lg\:placeholder-black::-ms-input-placeholder{--placeholder-opacity:1;color:#000;color:rgba(0,0,0,var(--placeholder-opacity))}.lg\:placeholder-black::placeholder{--placeholder-opacity:1;color:#000;color:rgba(0,0,0,var(--placeholder-opacity))}.lg\:placeholder-gray-50::-moz-placeholder{--placeholder-opacity:1;color:#f9fafb;color:rgba(249,250,251,var(--placeholder-opacity))}.lg\:placeholder-gray-50:-ms-input-placeholder{--placeholder-opacity:1;color:#f9fafb;color:rgba(249,250,251,var(--placeholder-opacity))}.lg\:placeholder-gray-50::-ms-input-placeholder{--placeholder-opacity:1;color:#f9fafb;color:rgba(249,250,251,var(--placeholder-opacity))}.lg\:placeholder-gray-50::placeholder{--placeholder-opacity:1;color:#f9fafb;color:rgba(249,250,251,var(--placeholder-opacity))}.lg\:placeholder-gray-100::-moz-placeholder{--placeholder-opacity:1;color:#f4f5f7;color:rgba(244,245,247,var(--placeholder-opacity))}.lg\:placeholder-gray-100:-ms-input-placeholder{--placeholder-opacity:1;color:#f4f5f7;color:rgba(244,245,247,var(--placeholder-opacity))}.lg\:placeholder-gray-100::-ms-input-placeholder{--placeholder-opacity:1;color:#f4f5f7;color:rgba(244,245,247,var(--placeholder-opacity))}.lg\:placeholder-gray-100::placeholder{--placeholder-opacity:1;color:#f4f5f7;color:rgba(244,245,247,var(--placeholder-opacity))}.lg\:placeholder-gray-200::-moz-placeholder{--placeholder-opacity:1;color:#e5e7eb;color:rgba(229,231,235,var(--placeholder-opacity))}.lg\:placeholder-gray-200:-ms-input-placeholder{--placeholder-opacity:1;color:#e5e7eb;color:rgba(229,231,235,var(--placeholder-opacity))}.lg\:placeholder-gray-200::-ms-input-placeholder{--placeholder-opacity:1;color:#e5e7eb;color:rgba(229,231,235,var(--placeholder-opacity))}.lg\:placeholder-gray-200::placeholder{--placeholder-opacity:1;color:#e5e7eb;color:rgba(229,231,235,var(--placeholder-opacity))}.lg\:placeholder-gray-300::-moz-placeholder{--placeholder-opacity:1;color:#d2d6dc;color:rgba(210,214,220,var(--placeholder-opacity))}.lg\:placeholder-gray-300:-ms-input-placeholder{--placeholder-opacity:1;color:#d2d6dc;color:rgba(210,214,220,var(--placeholder-opacity))}.lg\:placeholder-gray-300::-ms-input-placeholder{--placeholder-opacity:1;color:#d2d6dc;color:rgba(210,214,220,var(--placeholder-opacity))}.lg\:placeholder-gray-300::placeholder{--placeholder-opacity:1;color:#d2d6dc;color:rgba(210,214,220,var(--placeholder-opacity))}.lg\:placeholder-gray-400::-moz-placeholder{--placeholder-opacity:1;color:#9fa6b2;color:rgba(159,166,178,var(--placeholder-opacity))}.lg\:placeholder-gray-400:-ms-input-placeholder{--placeholder-opacity:1;color:#9fa6b2;color:rgba(159,166,178,var(--placeholder-opacity))}.lg\:placeholder-gray-400::-ms-input-placeholder{--placeholder-opacity:1;color:#9fa6b2;color:rgba(159,166,178,var(--placeholder-opacity))}.lg\:placeholder-gray-400::placeholder{--placeholder-opacity:1;color:#9fa6b2;color:rgba(159,166,178,var(--placeholder-opacity))}.lg\:placeholder-gray-500::-moz-placeholder{--placeholder-opacity:1;color:#6b7280;color:rgba(107,114,128,var(--placeholder-opacity))}.lg\:placeholder-gray-500:-ms-input-placeholder{--placeholder-opacity:1;color:#6b7280;color:rgba(107,114,128,var(--placeholder-opacity))}.lg\:placeholder-gray-500::-ms-input-placeholder{--placeholder-opacity:1;color:#6b7280;color:rgba(107,114,128,var(--placeholder-opacity))}.lg\:placeholder-gray-500::placeholder{--placeholder-opacity:1;color:#6b7280;color:rgba(107,114,128,var(--placeholder-opacity))}.lg\:placeholder-gray-600::-moz-placeholder{--placeholder-opacity:1;color:#4b5563;color:rgba(75,85,99,var(--placeholder-opacity))}.lg\:placeholder-gray-600:-ms-input-placeholder{--placeholder-opacity:1;color:#4b5563;color:rgba(75,85,99,var(--placeholder-opacity))}.lg\:placeholder-gray-600::-ms-input-placeholder{--placeholder-opacity:1;color:#4b5563;color:rgba(75,85,99,var(--placeholder-opacity))}.lg\:placeholder-gray-600::placeholder{--placeholder-opacity:1;color:#4b5563;color:rgba(75,85,99,var(--placeholder-opacity))}.lg\:placeholder-gray-700::-moz-placeholder{--placeholder-opacity:1;color:#374151;color:rgba(55,65,81,var(--placeholder-opacity))}.lg\:placeholder-gray-700:-ms-input-placeholder{--placeholder-opacity:1;color:#374151;color:rgba(55,65,81,var(--placeholder-opacity))}.lg\:placeholder-gray-700::-ms-input-placeholder{--placeholder-opacity:1;color:#374151;color:rgba(55,65,81,var(--placeholder-opacity))}.lg\:placeholder-gray-700::placeholder{--placeholder-opacity:1;color:#374151;color:rgba(55,65,81,var(--placeholder-opacity))}.lg\:placeholder-gray-800::-moz-placeholder{--placeholder-opacity:1;color:#252f3f;color:rgba(37,47,63,var(--placeholder-opacity))}.lg\:placeholder-gray-800:-ms-input-placeholder{--placeholder-opacity:1;color:#252f3f;color:rgba(37,47,63,var(--placeholder-opacity))}.lg\:placeholder-gray-800::-ms-input-placeholder{--placeholder-opacity:1;color:#252f3f;color:rgba(37,47,63,var(--placeholder-opacity))}.lg\:placeholder-gray-800::placeholder{--placeholder-opacity:1;color:#252f3f;color:rgba(37,47,63,var(--placeholder-opacity))}.lg\:placeholder-gray-900::-moz-placeholder{--placeholder-opacity:1;color:#161e2e;color:rgba(22,30,46,var(--placeholder-opacity))}.lg\:placeholder-gray-900:-ms-input-placeholder{--placeholder-opacity:1;color:#161e2e;color:rgba(22,30,46,var(--placeholder-opacity))}.lg\:placeholder-gray-900::-ms-input-placeholder{--placeholder-opacity:1;color:#161e2e;color:rgba(22,30,46,var(--placeholder-opacity))}.lg\:placeholder-gray-900::placeholder{--placeholder-opacity:1;color:#161e2e;color:rgba(22,30,46,var(--placeholder-opacity))}.lg\:placeholder-cool-gray-50::-moz-placeholder{--placeholder-opacity:1;color:#f8fafc;color:rgba(248,250,252,var(--placeholder-opacity))}.lg\:placeholder-cool-gray-50:-ms-input-placeholder{--placeholder-opacity:1;color:#f8fafc;color:rgba(248,250,252,var(--placeholder-opacity))}.lg\:placeholder-cool-gray-50::-ms-input-placeholder{--placeholder-opacity:1;color:#f8fafc;color:rgba(248,250,252,var(--placeholder-opacity))}.lg\:placeholder-cool-gray-50::placeholder{--placeholder-opacity:1;color:#f8fafc;color:rgba(248,250,252,var(--placeholder-opacity))}.lg\:placeholder-cool-gray-100::-moz-placeholder{--placeholder-opacity:1;color:#f1f5f9;color:rgba(241,245,249,var(--placeholder-opacity))}.lg\:placeholder-cool-gray-100:-ms-input-placeholder{--placeholder-opacity:1;color:#f1f5f9;color:rgba(241,245,249,var(--placeholder-opacity))}.lg\:placeholder-cool-gray-100::-ms-input-placeholder{--placeholder-opacity:1;color:#f1f5f9;color:rgba(241,245,249,var(--placeholder-opacity))}.lg\:placeholder-cool-gray-100::placeholder{--placeholder-opacity:1;color:#f1f5f9;color:rgba(241,245,249,var(--placeholder-opacity))}.lg\:placeholder-cool-gray-200::-moz-placeholder{--placeholder-opacity:1;color:#e2e8f0;color:rgba(226,232,240,var(--placeholder-opacity))}.lg\:placeholder-cool-gray-200:-ms-input-placeholder{--placeholder-opacity:1;color:#e2e8f0;color:rgba(226,232,240,var(--placeholder-opacity))}.lg\:placeholder-cool-gray-200::-ms-input-placeholder{--placeholder-opacity:1;color:#e2e8f0;color:rgba(226,232,240,var(--placeholder-opacity))}.lg\:placeholder-cool-gray-200::placeholder{--placeholder-opacity:1;color:#e2e8f0;color:rgba(226,232,240,var(--placeholder-opacity))}.lg\:placeholder-cool-gray-300::-moz-placeholder{--placeholder-opacity:1;color:#cfd8e3;color:rgba(207,216,227,var(--placeholder-opacity))}.lg\:placeholder-cool-gray-300:-ms-input-placeholder{--placeholder-opacity:1;color:#cfd8e3;color:rgba(207,216,227,var(--placeholder-opacity))}.lg\:placeholder-cool-gray-300::-ms-input-placeholder{--placeholder-opacity:1;color:#cfd8e3;color:rgba(207,216,227,var(--placeholder-opacity))}.lg\:placeholder-cool-gray-300::placeholder{--placeholder-opacity:1;color:#cfd8e3;color:rgba(207,216,227,var(--placeholder-opacity))}.lg\:placeholder-cool-gray-400::-moz-placeholder{--placeholder-opacity:1;color:#97a6ba;color:rgba(151,166,186,var(--placeholder-opacity))}.lg\:placeholder-cool-gray-400:-ms-input-placeholder{--placeholder-opacity:1;color:#97a6ba;color:rgba(151,166,186,var(--placeholder-opacity))}.lg\:placeholder-cool-gray-400::-ms-input-placeholder{--placeholder-opacity:1;color:#97a6ba;color:rgba(151,166,186,var(--placeholder-opacity))}.lg\:placeholder-cool-gray-400::placeholder{--placeholder-opacity:1;color:#97a6ba;color:rgba(151,166,186,var(--placeholder-opacity))}.lg\:placeholder-cool-gray-500::-moz-placeholder{--placeholder-opacity:1;color:#64748b;color:rgba(100,116,139,var(--placeholder-opacity))}.lg\:placeholder-cool-gray-500:-ms-input-placeholder{--placeholder-opacity:1;color:#64748b;color:rgba(100,116,139,var(--placeholder-opacity))}.lg\:placeholder-cool-gray-500::-ms-input-placeholder{--placeholder-opacity:1;color:#64748b;color:rgba(100,116,139,var(--placeholder-opacity))}.lg\:placeholder-cool-gray-500::placeholder{--placeholder-opacity:1;color:#64748b;color:rgba(100,116,139,var(--placeholder-opacity))}.lg\:placeholder-cool-gray-600::-moz-placeholder{--placeholder-opacity:1;color:#475569;color:rgba(71,85,105,var(--placeholder-opacity))}.lg\:placeholder-cool-gray-600:-ms-input-placeholder{--placeholder-opacity:1;color:#475569;color:rgba(71,85,105,var(--placeholder-opacity))}.lg\:placeholder-cool-gray-600::-ms-input-placeholder{--placeholder-opacity:1;color:#475569;color:rgba(71,85,105,var(--placeholder-opacity))}.lg\:placeholder-cool-gray-600::placeholder{--placeholder-opacity:1;color:#475569;color:rgba(71,85,105,var(--placeholder-opacity))}.lg\:placeholder-cool-gray-700::-moz-placeholder{--placeholder-opacity:1;color:#364152;color:rgba(54,65,82,var(--placeholder-opacity))}.lg\:placeholder-cool-gray-700:-ms-input-placeholder{--placeholder-opacity:1;color:#364152;color:rgba(54,65,82,var(--placeholder-opacity))}.lg\:placeholder-cool-gray-700::-ms-input-placeholder{--placeholder-opacity:1;color:#364152;color:rgba(54,65,82,var(--placeholder-opacity))}.lg\:placeholder-cool-gray-700::placeholder{--placeholder-opacity:1;color:#364152;color:rgba(54,65,82,var(--placeholder-opacity))}.lg\:placeholder-cool-gray-800::-moz-placeholder{--placeholder-opacity:1;color:#27303f;color:rgba(39,48,63,var(--placeholder-opacity))}.lg\:placeholder-cool-gray-800:-ms-input-placeholder{--placeholder-opacity:1;color:#27303f;color:rgba(39,48,63,var(--placeholder-opacity))}.lg\:placeholder-cool-gray-800::-ms-input-placeholder{--placeholder-opacity:1;color:#27303f;color:rgba(39,48,63,var(--placeholder-opacity))}.lg\:placeholder-cool-gray-800::placeholder{--placeholder-opacity:1;color:#27303f;color:rgba(39,48,63,var(--placeholder-opacity))}.lg\:placeholder-cool-gray-900::-moz-placeholder{--placeholder-opacity:1;color:#1a202e;color:rgba(26,32,46,var(--placeholder-opacity))}.lg\:placeholder-cool-gray-900:-ms-input-placeholder{--placeholder-opacity:1;color:#1a202e;color:rgba(26,32,46,var(--placeholder-opacity))}.lg\:placeholder-cool-gray-900::-ms-input-placeholder{--placeholder-opacity:1;color:#1a202e;color:rgba(26,32,46,var(--placeholder-opacity))}.lg\:placeholder-cool-gray-900::placeholder{--placeholder-opacity:1;color:#1a202e;color:rgba(26,32,46,var(--placeholder-opacity))}.lg\:placeholder-red-50::-moz-placeholder{--placeholder-opacity:1;color:#fdf2f2;color:rgba(253,242,242,var(--placeholder-opacity))}.lg\:placeholder-red-50:-ms-input-placeholder{--placeholder-opacity:1;color:#fdf2f2;color:rgba(253,242,242,var(--placeholder-opacity))}.lg\:placeholder-red-50::-ms-input-placeholder{--placeholder-opacity:1;color:#fdf2f2;color:rgba(253,242,242,var(--placeholder-opacity))}.lg\:placeholder-red-50::placeholder{--placeholder-opacity:1;color:#fdf2f2;color:rgba(253,242,242,var(--placeholder-opacity))}.lg\:placeholder-red-100::-moz-placeholder{--placeholder-opacity:1;color:#fde8e8;color:rgba(253,232,232,var(--placeholder-opacity))}.lg\:placeholder-red-100:-ms-input-placeholder{--placeholder-opacity:1;color:#fde8e8;color:rgba(253,232,232,var(--placeholder-opacity))}.lg\:placeholder-red-100::-ms-input-placeholder{--placeholder-opacity:1;color:#fde8e8;color:rgba(253,232,232,var(--placeholder-opacity))}.lg\:placeholder-red-100::placeholder{--placeholder-opacity:1;color:#fde8e8;color:rgba(253,232,232,var(--placeholder-opacity))}.lg\:placeholder-red-200::-moz-placeholder{--placeholder-opacity:1;color:#fbd5d5;color:rgba(251,213,213,var(--placeholder-opacity))}.lg\:placeholder-red-200:-ms-input-placeholder{--placeholder-opacity:1;color:#fbd5d5;color:rgba(251,213,213,var(--placeholder-opacity))}.lg\:placeholder-red-200::-ms-input-placeholder{--placeholder-opacity:1;color:#fbd5d5;color:rgba(251,213,213,var(--placeholder-opacity))}.lg\:placeholder-red-200::placeholder{--placeholder-opacity:1;color:#fbd5d5;color:rgba(251,213,213,var(--placeholder-opacity))}.lg\:placeholder-red-300::-moz-placeholder{--placeholder-opacity:1;color:#f8b4b4;color:rgba(248,180,180,var(--placeholder-opacity))}.lg\:placeholder-red-300:-ms-input-placeholder{--placeholder-opacity:1;color:#f8b4b4;color:rgba(248,180,180,var(--placeholder-opacity))}.lg\:placeholder-red-300::-ms-input-placeholder{--placeholder-opacity:1;color:#f8b4b4;color:rgba(248,180,180,var(--placeholder-opacity))}.lg\:placeholder-red-300::placeholder{--placeholder-opacity:1;color:#f8b4b4;color:rgba(248,180,180,var(--placeholder-opacity))}.lg\:placeholder-red-400::-moz-placeholder{--placeholder-opacity:1;color:#f98080;color:rgba(249,128,128,var(--placeholder-opacity))}.lg\:placeholder-red-400:-ms-input-placeholder{--placeholder-opacity:1;color:#f98080;color:rgba(249,128,128,var(--placeholder-opacity))}.lg\:placeholder-red-400::-ms-input-placeholder{--placeholder-opacity:1;color:#f98080;color:rgba(249,128,128,var(--placeholder-opacity))}.lg\:placeholder-red-400::placeholder{--placeholder-opacity:1;color:#f98080;color:rgba(249,128,128,var(--placeholder-opacity))}.lg\:placeholder-red-500::-moz-placeholder{--placeholder-opacity:1;color:#f05252;color:rgba(240,82,82,var(--placeholder-opacity))}.lg\:placeholder-red-500:-ms-input-placeholder{--placeholder-opacity:1;color:#f05252;color:rgba(240,82,82,var(--placeholder-opacity))}.lg\:placeholder-red-500::-ms-input-placeholder{--placeholder-opacity:1;color:#f05252;color:rgba(240,82,82,var(--placeholder-opacity))}.lg\:placeholder-red-500::placeholder{--placeholder-opacity:1;color:#f05252;color:rgba(240,82,82,var(--placeholder-opacity))}.lg\:placeholder-red-600::-moz-placeholder{--placeholder-opacity:1;color:#e02424;color:rgba(224,36,36,var(--placeholder-opacity))}.lg\:placeholder-red-600:-ms-input-placeholder{--placeholder-opacity:1;color:#e02424;color:rgba(224,36,36,var(--placeholder-opacity))}.lg\:placeholder-red-600::-ms-input-placeholder{--placeholder-opacity:1;color:#e02424;color:rgba(224,36,36,var(--placeholder-opacity))}.lg\:placeholder-red-600::placeholder{--placeholder-opacity:1;color:#e02424;color:rgba(224,36,36,var(--placeholder-opacity))}.lg\:placeholder-red-700::-moz-placeholder{--placeholder-opacity:1;color:#c81e1e;color:rgba(200,30,30,var(--placeholder-opacity))}.lg\:placeholder-red-700:-ms-input-placeholder{--placeholder-opacity:1;color:#c81e1e;color:rgba(200,30,30,var(--placeholder-opacity))}.lg\:placeholder-red-700::-ms-input-placeholder{--placeholder-opacity:1;color:#c81e1e;color:rgba(200,30,30,var(--placeholder-opacity))}.lg\:placeholder-red-700::placeholder{--placeholder-opacity:1;color:#c81e1e;color:rgba(200,30,30,var(--placeholder-opacity))}.lg\:placeholder-red-800::-moz-placeholder{--placeholder-opacity:1;color:#9b1c1c;color:rgba(155,28,28,var(--placeholder-opacity))}.lg\:placeholder-red-800:-ms-input-placeholder{--placeholder-opacity:1;color:#9b1c1c;color:rgba(155,28,28,var(--placeholder-opacity))}.lg\:placeholder-red-800::-ms-input-placeholder{--placeholder-opacity:1;color:#9b1c1c;color:rgba(155,28,28,var(--placeholder-opacity))}.lg\:placeholder-red-800::placeholder{--placeholder-opacity:1;color:#9b1c1c;color:rgba(155,28,28,var(--placeholder-opacity))}.lg\:placeholder-red-900::-moz-placeholder{--placeholder-opacity:1;color:#771d1d;color:rgba(119,29,29,var(--placeholder-opacity))}.lg\:placeholder-red-900:-ms-input-placeholder{--placeholder-opacity:1;color:#771d1d;color:rgba(119,29,29,var(--placeholder-opacity))}.lg\:placeholder-red-900::-ms-input-placeholder{--placeholder-opacity:1;color:#771d1d;color:rgba(119,29,29,var(--placeholder-opacity))}.lg\:placeholder-red-900::placeholder{--placeholder-opacity:1;color:#771d1d;color:rgba(119,29,29,var(--placeholder-opacity))}.lg\:placeholder-orange-50::-moz-placeholder{--placeholder-opacity:1;color:#fff8f1;color:rgba(255,248,241,var(--placeholder-opacity))}.lg\:placeholder-orange-50:-ms-input-placeholder{--placeholder-opacity:1;color:#fff8f1;color:rgba(255,248,241,var(--placeholder-opacity))}.lg\:placeholder-orange-50::-ms-input-placeholder{--placeholder-opacity:1;color:#fff8f1;color:rgba(255,248,241,var(--placeholder-opacity))}.lg\:placeholder-orange-50::placeholder{--placeholder-opacity:1;color:#fff8f1;color:rgba(255,248,241,var(--placeholder-opacity))}.lg\:placeholder-orange-100::-moz-placeholder{--placeholder-opacity:1;color:#feecdc;color:rgba(254,236,220,var(--placeholder-opacity))}.lg\:placeholder-orange-100:-ms-input-placeholder{--placeholder-opacity:1;color:#feecdc;color:rgba(254,236,220,var(--placeholder-opacity))}.lg\:placeholder-orange-100::-ms-input-placeholder{--placeholder-opacity:1;color:#feecdc;color:rgba(254,236,220,var(--placeholder-opacity))}.lg\:placeholder-orange-100::placeholder{--placeholder-opacity:1;color:#feecdc;color:rgba(254,236,220,var(--placeholder-opacity))}.lg\:placeholder-orange-200::-moz-placeholder{--placeholder-opacity:1;color:#fcd9bd;color:rgba(252,217,189,var(--placeholder-opacity))}.lg\:placeholder-orange-200:-ms-input-placeholder{--placeholder-opacity:1;color:#fcd9bd;color:rgba(252,217,189,var(--placeholder-opacity))}.lg\:placeholder-orange-200::-ms-input-placeholder{--placeholder-opacity:1;color:#fcd9bd;color:rgba(252,217,189,var(--placeholder-opacity))}.lg\:placeholder-orange-200::placeholder{--placeholder-opacity:1;color:#fcd9bd;color:rgba(252,217,189,var(--placeholder-opacity))}.lg\:placeholder-orange-300::-moz-placeholder{--placeholder-opacity:1;color:#fdba8c;color:rgba(253,186,140,var(--placeholder-opacity))}.lg\:placeholder-orange-300:-ms-input-placeholder{--placeholder-opacity:1;color:#fdba8c;color:rgba(253,186,140,var(--placeholder-opacity))}.lg\:placeholder-orange-300::-ms-input-placeholder{--placeholder-opacity:1;color:#fdba8c;color:rgba(253,186,140,var(--placeholder-opacity))}.lg\:placeholder-orange-300::placeholder{--placeholder-opacity:1;color:#fdba8c;color:rgba(253,186,140,var(--placeholder-opacity))}.lg\:placeholder-orange-400::-moz-placeholder{--placeholder-opacity:1;color:#ff8a4c;color:rgba(255,138,76,var(--placeholder-opacity))}.lg\:placeholder-orange-400:-ms-input-placeholder{--placeholder-opacity:1;color:#ff8a4c;color:rgba(255,138,76,var(--placeholder-opacity))}.lg\:placeholder-orange-400::-ms-input-placeholder{--placeholder-opacity:1;color:#ff8a4c;color:rgba(255,138,76,var(--placeholder-opacity))}.lg\:placeholder-orange-400::placeholder{--placeholder-opacity:1;color:#ff8a4c;color:rgba(255,138,76,var(--placeholder-opacity))}.lg\:placeholder-orange-500::-moz-placeholder{--placeholder-opacity:1;color:#ff5a1f;color:rgba(255,90,31,var(--placeholder-opacity))}.lg\:placeholder-orange-500:-ms-input-placeholder{--placeholder-opacity:1;color:#ff5a1f;color:rgba(255,90,31,var(--placeholder-opacity))}.lg\:placeholder-orange-500::-ms-input-placeholder{--placeholder-opacity:1;color:#ff5a1f;color:rgba(255,90,31,var(--placeholder-opacity))}.lg\:placeholder-orange-500::placeholder{--placeholder-opacity:1;color:#ff5a1f;color:rgba(255,90,31,var(--placeholder-opacity))}.lg\:placeholder-orange-600::-moz-placeholder{--placeholder-opacity:1;color:#d03801;color:rgba(208,56,1,var(--placeholder-opacity))}.lg\:placeholder-orange-600:-ms-input-placeholder{--placeholder-opacity:1;color:#d03801;color:rgba(208,56,1,var(--placeholder-opacity))}.lg\:placeholder-orange-600::-ms-input-placeholder{--placeholder-opacity:1;color:#d03801;color:rgba(208,56,1,var(--placeholder-opacity))}.lg\:placeholder-orange-600::placeholder{--placeholder-opacity:1;color:#d03801;color:rgba(208,56,1,var(--placeholder-opacity))}.lg\:placeholder-orange-700::-moz-placeholder{--placeholder-opacity:1;color:#b43403;color:rgba(180,52,3,var(--placeholder-opacity))}.lg\:placeholder-orange-700:-ms-input-placeholder{--placeholder-opacity:1;color:#b43403;color:rgba(180,52,3,var(--placeholder-opacity))}.lg\:placeholder-orange-700::-ms-input-placeholder{--placeholder-opacity:1;color:#b43403;color:rgba(180,52,3,var(--placeholder-opacity))}.lg\:placeholder-orange-700::placeholder{--placeholder-opacity:1;color:#b43403;color:rgba(180,52,3,var(--placeholder-opacity))}.lg\:placeholder-orange-800::-moz-placeholder{--placeholder-opacity:1;color:#8a2c0d;color:rgba(138,44,13,var(--placeholder-opacity))}.lg\:placeholder-orange-800:-ms-input-placeholder{--placeholder-opacity:1;color:#8a2c0d;color:rgba(138,44,13,var(--placeholder-opacity))}.lg\:placeholder-orange-800::-ms-input-placeholder{--placeholder-opacity:1;color:#8a2c0d;color:rgba(138,44,13,var(--placeholder-opacity))}.lg\:placeholder-orange-800::placeholder{--placeholder-opacity:1;color:#8a2c0d;color:rgba(138,44,13,var(--placeholder-opacity))}.lg\:placeholder-orange-900::-moz-placeholder{--placeholder-opacity:1;color:#73230d;color:rgba(115,35,13,var(--placeholder-opacity))}.lg\:placeholder-orange-900:-ms-input-placeholder{--placeholder-opacity:1;color:#73230d;color:rgba(115,35,13,var(--placeholder-opacity))}.lg\:placeholder-orange-900::-ms-input-placeholder{--placeholder-opacity:1;color:#73230d;color:rgba(115,35,13,var(--placeholder-opacity))}.lg\:placeholder-orange-900::placeholder{--placeholder-opacity:1;color:#73230d;color:rgba(115,35,13,var(--placeholder-opacity))}.lg\:placeholder-yellow-50::-moz-placeholder{--placeholder-opacity:1;color:#fdfdea;color:rgba(253,253,234,var(--placeholder-opacity))}.lg\:placeholder-yellow-50:-ms-input-placeholder{--placeholder-opacity:1;color:#fdfdea;color:rgba(253,253,234,var(--placeholder-opacity))}.lg\:placeholder-yellow-50::-ms-input-placeholder{--placeholder-opacity:1;color:#fdfdea;color:rgba(253,253,234,var(--placeholder-opacity))}.lg\:placeholder-yellow-50::placeholder{--placeholder-opacity:1;color:#fdfdea;color:rgba(253,253,234,var(--placeholder-opacity))}.lg\:placeholder-yellow-100::-moz-placeholder{--placeholder-opacity:1;color:#fdf6b2;color:rgba(253,246,178,var(--placeholder-opacity))}.lg\:placeholder-yellow-100:-ms-input-placeholder{--placeholder-opacity:1;color:#fdf6b2;color:rgba(253,246,178,var(--placeholder-opacity))}.lg\:placeholder-yellow-100::-ms-input-placeholder{--placeholder-opacity:1;color:#fdf6b2;color:rgba(253,246,178,var(--placeholder-opacity))}.lg\:placeholder-yellow-100::placeholder{--placeholder-opacity:1;color:#fdf6b2;color:rgba(253,246,178,var(--placeholder-opacity))}.lg\:placeholder-yellow-200::-moz-placeholder{--placeholder-opacity:1;color:#fce96a;color:rgba(252,233,106,var(--placeholder-opacity))}.lg\:placeholder-yellow-200:-ms-input-placeholder{--placeholder-opacity:1;color:#fce96a;color:rgba(252,233,106,var(--placeholder-opacity))}.lg\:placeholder-yellow-200::-ms-input-placeholder{--placeholder-opacity:1;color:#fce96a;color:rgba(252,233,106,var(--placeholder-opacity))}.lg\:placeholder-yellow-200::placeholder{--placeholder-opacity:1;color:#fce96a;color:rgba(252,233,106,var(--placeholder-opacity))}.lg\:placeholder-yellow-300::-moz-placeholder{--placeholder-opacity:1;color:#faca15;color:rgba(250,202,21,var(--placeholder-opacity))}.lg\:placeholder-yellow-300:-ms-input-placeholder{--placeholder-opacity:1;color:#faca15;color:rgba(250,202,21,var(--placeholder-opacity))}.lg\:placeholder-yellow-300::-ms-input-placeholder{--placeholder-opacity:1;color:#faca15;color:rgba(250,202,21,var(--placeholder-opacity))}.lg\:placeholder-yellow-300::placeholder{--placeholder-opacity:1;color:#faca15;color:rgba(250,202,21,var(--placeholder-opacity))}.lg\:placeholder-yellow-400::-moz-placeholder{--placeholder-opacity:1;color:#e3a008;color:rgba(227,160,8,var(--placeholder-opacity))}.lg\:placeholder-yellow-400:-ms-input-placeholder{--placeholder-opacity:1;color:#e3a008;color:rgba(227,160,8,var(--placeholder-opacity))}.lg\:placeholder-yellow-400::-ms-input-placeholder{--placeholder-opacity:1;color:#e3a008;color:rgba(227,160,8,var(--placeholder-opacity))}.lg\:placeholder-yellow-400::placeholder{--placeholder-opacity:1;color:#e3a008;color:rgba(227,160,8,var(--placeholder-opacity))}.lg\:placeholder-yellow-500::-moz-placeholder{--placeholder-opacity:1;color:#c27803;color:rgba(194,120,3,var(--placeholder-opacity))}.lg\:placeholder-yellow-500:-ms-input-placeholder{--placeholder-opacity:1;color:#c27803;color:rgba(194,120,3,var(--placeholder-opacity))}.lg\:placeholder-yellow-500::-ms-input-placeholder{--placeholder-opacity:1;color:#c27803;color:rgba(194,120,3,var(--placeholder-opacity))}.lg\:placeholder-yellow-500::placeholder{--placeholder-opacity:1;color:#c27803;color:rgba(194,120,3,var(--placeholder-opacity))}.lg\:placeholder-yellow-600::-moz-placeholder{--placeholder-opacity:1;color:#9f580a;color:rgba(159,88,10,var(--placeholder-opacity))}.lg\:placeholder-yellow-600:-ms-input-placeholder{--placeholder-opacity:1;color:#9f580a;color:rgba(159,88,10,var(--placeholder-opacity))}.lg\:placeholder-yellow-600::-ms-input-placeholder{--placeholder-opacity:1;color:#9f580a;color:rgba(159,88,10,var(--placeholder-opacity))}.lg\:placeholder-yellow-600::placeholder{--placeholder-opacity:1;color:#9f580a;color:rgba(159,88,10,var(--placeholder-opacity))}.lg\:placeholder-yellow-700::-moz-placeholder{--placeholder-opacity:1;color:#8e4b10;color:rgba(142,75,16,var(--placeholder-opacity))}.lg\:placeholder-yellow-700:-ms-input-placeholder{--placeholder-opacity:1;color:#8e4b10;color:rgba(142,75,16,var(--placeholder-opacity))}.lg\:placeholder-yellow-700::-ms-input-placeholder{--placeholder-opacity:1;color:#8e4b10;color:rgba(142,75,16,var(--placeholder-opacity))}.lg\:placeholder-yellow-700::placeholder{--placeholder-opacity:1;color:#8e4b10;color:rgba(142,75,16,var(--placeholder-opacity))}.lg\:placeholder-yellow-800::-moz-placeholder{--placeholder-opacity:1;color:#723b13;color:rgba(114,59,19,var(--placeholder-opacity))}.lg\:placeholder-yellow-800:-ms-input-placeholder{--placeholder-opacity:1;color:#723b13;color:rgba(114,59,19,var(--placeholder-opacity))}.lg\:placeholder-yellow-800::-ms-input-placeholder{--placeholder-opacity:1;color:#723b13;color:rgba(114,59,19,var(--placeholder-opacity))}.lg\:placeholder-yellow-800::placeholder{--placeholder-opacity:1;color:#723b13;color:rgba(114,59,19,var(--placeholder-opacity))}.lg\:placeholder-yellow-900::-moz-placeholder{--placeholder-opacity:1;color:#633112;color:rgba(99,49,18,var(--placeholder-opacity))}.lg\:placeholder-yellow-900:-ms-input-placeholder{--placeholder-opacity:1;color:#633112;color:rgba(99,49,18,var(--placeholder-opacity))}.lg\:placeholder-yellow-900::-ms-input-placeholder{--placeholder-opacity:1;color:#633112;color:rgba(99,49,18,var(--placeholder-opacity))}.lg\:placeholder-yellow-900::placeholder{--placeholder-opacity:1;color:#633112;color:rgba(99,49,18,var(--placeholder-opacity))}.lg\:placeholder-green-50::-moz-placeholder{--placeholder-opacity:1;color:#f3faf7;color:rgba(243,250,247,var(--placeholder-opacity))}.lg\:placeholder-green-50:-ms-input-placeholder{--placeholder-opacity:1;color:#f3faf7;color:rgba(243,250,247,var(--placeholder-opacity))}.lg\:placeholder-green-50::-ms-input-placeholder{--placeholder-opacity:1;color:#f3faf7;color:rgba(243,250,247,var(--placeholder-opacity))}.lg\:placeholder-green-50::placeholder{--placeholder-opacity:1;color:#f3faf7;color:rgba(243,250,247,var(--placeholder-opacity))}.lg\:placeholder-green-100::-moz-placeholder{--placeholder-opacity:1;color:#def7ec;color:rgba(222,247,236,var(--placeholder-opacity))}.lg\:placeholder-green-100:-ms-input-placeholder{--placeholder-opacity:1;color:#def7ec;color:rgba(222,247,236,var(--placeholder-opacity))}.lg\:placeholder-green-100::-ms-input-placeholder{--placeholder-opacity:1;color:#def7ec;color:rgba(222,247,236,var(--placeholder-opacity))}.lg\:placeholder-green-100::placeholder{--placeholder-opacity:1;color:#def7ec;color:rgba(222,247,236,var(--placeholder-opacity))}.lg\:placeholder-green-200::-moz-placeholder{--placeholder-opacity:1;color:#bcf0da;color:rgba(188,240,218,var(--placeholder-opacity))}.lg\:placeholder-green-200:-ms-input-placeholder{--placeholder-opacity:1;color:#bcf0da;color:rgba(188,240,218,var(--placeholder-opacity))}.lg\:placeholder-green-200::-ms-input-placeholder{--placeholder-opacity:1;color:#bcf0da;color:rgba(188,240,218,var(--placeholder-opacity))}.lg\:placeholder-green-200::placeholder{--placeholder-opacity:1;color:#bcf0da;color:rgba(188,240,218,var(--placeholder-opacity))}.lg\:placeholder-green-300::-moz-placeholder{--placeholder-opacity:1;color:#84e1bc;color:rgba(132,225,188,var(--placeholder-opacity))}.lg\:placeholder-green-300:-ms-input-placeholder{--placeholder-opacity:1;color:#84e1bc;color:rgba(132,225,188,var(--placeholder-opacity))}.lg\:placeholder-green-300::-ms-input-placeholder{--placeholder-opacity:1;color:#84e1bc;color:rgba(132,225,188,var(--placeholder-opacity))}.lg\:placeholder-green-300::placeholder{--placeholder-opacity:1;color:#84e1bc;color:rgba(132,225,188,var(--placeholder-opacity))}.lg\:placeholder-green-400::-moz-placeholder{--placeholder-opacity:1;color:#31c48d;color:rgba(49,196,141,var(--placeholder-opacity))}.lg\:placeholder-green-400:-ms-input-placeholder{--placeholder-opacity:1;color:#31c48d;color:rgba(49,196,141,var(--placeholder-opacity))}.lg\:placeholder-green-400::-ms-input-placeholder{--placeholder-opacity:1;color:#31c48d;color:rgba(49,196,141,var(--placeholder-opacity))}.lg\:placeholder-green-400::placeholder{--placeholder-opacity:1;color:#31c48d;color:rgba(49,196,141,var(--placeholder-opacity))}.lg\:placeholder-green-500::-moz-placeholder{--placeholder-opacity:1;color:#0e9f6e;color:rgba(14,159,110,var(--placeholder-opacity))}.lg\:placeholder-green-500:-ms-input-placeholder{--placeholder-opacity:1;color:#0e9f6e;color:rgba(14,159,110,var(--placeholder-opacity))}.lg\:placeholder-green-500::-ms-input-placeholder{--placeholder-opacity:1;color:#0e9f6e;color:rgba(14,159,110,var(--placeholder-opacity))}.lg\:placeholder-green-500::placeholder{--placeholder-opacity:1;color:#0e9f6e;color:rgba(14,159,110,var(--placeholder-opacity))}.lg\:placeholder-green-600::-moz-placeholder{--placeholder-opacity:1;color:#057a55;color:rgba(5,122,85,var(--placeholder-opacity))}.lg\:placeholder-green-600:-ms-input-placeholder{--placeholder-opacity:1;color:#057a55;color:rgba(5,122,85,var(--placeholder-opacity))}.lg\:placeholder-green-600::-ms-input-placeholder{--placeholder-opacity:1;color:#057a55;color:rgba(5,122,85,var(--placeholder-opacity))}.lg\:placeholder-green-600::placeholder{--placeholder-opacity:1;color:#057a55;color:rgba(5,122,85,var(--placeholder-opacity))}.lg\:placeholder-green-700::-moz-placeholder{--placeholder-opacity:1;color:#046c4e;color:rgba(4,108,78,var(--placeholder-opacity))}.lg\:placeholder-green-700:-ms-input-placeholder{--placeholder-opacity:1;color:#046c4e;color:rgba(4,108,78,var(--placeholder-opacity))}.lg\:placeholder-green-700::-ms-input-placeholder{--placeholder-opacity:1;color:#046c4e;color:rgba(4,108,78,var(--placeholder-opacity))}.lg\:placeholder-green-700::placeholder{--placeholder-opacity:1;color:#046c4e;color:rgba(4,108,78,var(--placeholder-opacity))}.lg\:placeholder-green-800::-moz-placeholder{--placeholder-opacity:1;color:#03543f;color:rgba(3,84,63,var(--placeholder-opacity))}.lg\:placeholder-green-800:-ms-input-placeholder{--placeholder-opacity:1;color:#03543f;color:rgba(3,84,63,var(--placeholder-opacity))}.lg\:placeholder-green-800::-ms-input-placeholder{--placeholder-opacity:1;color:#03543f;color:rgba(3,84,63,var(--placeholder-opacity))}.lg\:placeholder-green-800::placeholder{--placeholder-opacity:1;color:#03543f;color:rgba(3,84,63,var(--placeholder-opacity))}.lg\:placeholder-green-900::-moz-placeholder{--placeholder-opacity:1;color:#014737;color:rgba(1,71,55,var(--placeholder-opacity))}.lg\:placeholder-green-900:-ms-input-placeholder{--placeholder-opacity:1;color:#014737;color:rgba(1,71,55,var(--placeholder-opacity))}.lg\:placeholder-green-900::-ms-input-placeholder{--placeholder-opacity:1;color:#014737;color:rgba(1,71,55,var(--placeholder-opacity))}.lg\:placeholder-green-900::placeholder{--placeholder-opacity:1;color:#014737;color:rgba(1,71,55,var(--placeholder-opacity))}.lg\:placeholder-teal-50::-moz-placeholder{--placeholder-opacity:1;color:#edfafa;color:rgba(237,250,250,var(--placeholder-opacity))}.lg\:placeholder-teal-50:-ms-input-placeholder{--placeholder-opacity:1;color:#edfafa;color:rgba(237,250,250,var(--placeholder-opacity))}.lg\:placeholder-teal-50::-ms-input-placeholder{--placeholder-opacity:1;color:#edfafa;color:rgba(237,250,250,var(--placeholder-opacity))}.lg\:placeholder-teal-50::placeholder{--placeholder-opacity:1;color:#edfafa;color:rgba(237,250,250,var(--placeholder-opacity))}.lg\:placeholder-teal-100::-moz-placeholder{--placeholder-opacity:1;color:#d5f5f6;color:rgba(213,245,246,var(--placeholder-opacity))}.lg\:placeholder-teal-100:-ms-input-placeholder{--placeholder-opacity:1;color:#d5f5f6;color:rgba(213,245,246,var(--placeholder-opacity))}.lg\:placeholder-teal-100::-ms-input-placeholder{--placeholder-opacity:1;color:#d5f5f6;color:rgba(213,245,246,var(--placeholder-opacity))}.lg\:placeholder-teal-100::placeholder{--placeholder-opacity:1;color:#d5f5f6;color:rgba(213,245,246,var(--placeholder-opacity))}.lg\:placeholder-teal-200::-moz-placeholder{--placeholder-opacity:1;color:#afecef;color:rgba(175,236,239,var(--placeholder-opacity))}.lg\:placeholder-teal-200:-ms-input-placeholder{--placeholder-opacity:1;color:#afecef;color:rgba(175,236,239,var(--placeholder-opacity))}.lg\:placeholder-teal-200::-ms-input-placeholder{--placeholder-opacity:1;color:#afecef;color:rgba(175,236,239,var(--placeholder-opacity))}.lg\:placeholder-teal-200::placeholder{--placeholder-opacity:1;color:#afecef;color:rgba(175,236,239,var(--placeholder-opacity))}.lg\:placeholder-teal-300::-moz-placeholder{--placeholder-opacity:1;color:#7edce2;color:rgba(126,220,226,var(--placeholder-opacity))}.lg\:placeholder-teal-300:-ms-input-placeholder{--placeholder-opacity:1;color:#7edce2;color:rgba(126,220,226,var(--placeholder-opacity))}.lg\:placeholder-teal-300::-ms-input-placeholder{--placeholder-opacity:1;color:#7edce2;color:rgba(126,220,226,var(--placeholder-opacity))}.lg\:placeholder-teal-300::placeholder{--placeholder-opacity:1;color:#7edce2;color:rgba(126,220,226,var(--placeholder-opacity))}.lg\:placeholder-teal-400::-moz-placeholder{--placeholder-opacity:1;color:#16bdca;color:rgba(22,189,202,var(--placeholder-opacity))}.lg\:placeholder-teal-400:-ms-input-placeholder{--placeholder-opacity:1;color:#16bdca;color:rgba(22,189,202,var(--placeholder-opacity))}.lg\:placeholder-teal-400::-ms-input-placeholder{--placeholder-opacity:1;color:#16bdca;color:rgba(22,189,202,var(--placeholder-opacity))}.lg\:placeholder-teal-400::placeholder{--placeholder-opacity:1;color:#16bdca;color:rgba(22,189,202,var(--placeholder-opacity))}.lg\:placeholder-teal-500::-moz-placeholder{--placeholder-opacity:1;color:#0694a2;color:rgba(6,148,162,var(--placeholder-opacity))}.lg\:placeholder-teal-500:-ms-input-placeholder{--placeholder-opacity:1;color:#0694a2;color:rgba(6,148,162,var(--placeholder-opacity))}.lg\:placeholder-teal-500::-ms-input-placeholder{--placeholder-opacity:1;color:#0694a2;color:rgba(6,148,162,var(--placeholder-opacity))}.lg\:placeholder-teal-500::placeholder{--placeholder-opacity:1;color:#0694a2;color:rgba(6,148,162,var(--placeholder-opacity))}.lg\:placeholder-teal-600::-moz-placeholder{--placeholder-opacity:1;color:#047481;color:rgba(4,116,129,var(--placeholder-opacity))}.lg\:placeholder-teal-600:-ms-input-placeholder{--placeholder-opacity:1;color:#047481;color:rgba(4,116,129,var(--placeholder-opacity))}.lg\:placeholder-teal-600::-ms-input-placeholder{--placeholder-opacity:1;color:#047481;color:rgba(4,116,129,var(--placeholder-opacity))}.lg\:placeholder-teal-600::placeholder{--placeholder-opacity:1;color:#047481;color:rgba(4,116,129,var(--placeholder-opacity))}.lg\:placeholder-teal-700::-moz-placeholder{--placeholder-opacity:1;color:#036672;color:rgba(3,102,114,var(--placeholder-opacity))}.lg\:placeholder-teal-700:-ms-input-placeholder{--placeholder-opacity:1;color:#036672;color:rgba(3,102,114,var(--placeholder-opacity))}.lg\:placeholder-teal-700::-ms-input-placeholder{--placeholder-opacity:1;color:#036672;color:rgba(3,102,114,var(--placeholder-opacity))}.lg\:placeholder-teal-700::placeholder{--placeholder-opacity:1;color:#036672;color:rgba(3,102,114,var(--placeholder-opacity))}.lg\:placeholder-teal-800::-moz-placeholder{--placeholder-opacity:1;color:#05505c;color:rgba(5,80,92,var(--placeholder-opacity))}.lg\:placeholder-teal-800:-ms-input-placeholder{--placeholder-opacity:1;color:#05505c;color:rgba(5,80,92,var(--placeholder-opacity))}.lg\:placeholder-teal-800::-ms-input-placeholder{--placeholder-opacity:1;color:#05505c;color:rgba(5,80,92,var(--placeholder-opacity))}.lg\:placeholder-teal-800::placeholder{--placeholder-opacity:1;color:#05505c;color:rgba(5,80,92,var(--placeholder-opacity))}.lg\:placeholder-teal-900::-moz-placeholder{--placeholder-opacity:1;color:#014451;color:rgba(1,68,81,var(--placeholder-opacity))}.lg\:placeholder-teal-900:-ms-input-placeholder{--placeholder-opacity:1;color:#014451;color:rgba(1,68,81,var(--placeholder-opacity))}.lg\:placeholder-teal-900::-ms-input-placeholder{--placeholder-opacity:1;color:#014451;color:rgba(1,68,81,var(--placeholder-opacity))}.lg\:placeholder-teal-900::placeholder{--placeholder-opacity:1;color:#014451;color:rgba(1,68,81,var(--placeholder-opacity))}.lg\:placeholder-blue-50::-moz-placeholder{--placeholder-opacity:1;color:#ebf5ff;color:rgba(235,245,255,var(--placeholder-opacity))}.lg\:placeholder-blue-50:-ms-input-placeholder{--placeholder-opacity:1;color:#ebf5ff;color:rgba(235,245,255,var(--placeholder-opacity))}.lg\:placeholder-blue-50::-ms-input-placeholder{--placeholder-opacity:1;color:#ebf5ff;color:rgba(235,245,255,var(--placeholder-opacity))}.lg\:placeholder-blue-50::placeholder{--placeholder-opacity:1;color:#ebf5ff;color:rgba(235,245,255,var(--placeholder-opacity))}.lg\:placeholder-blue-100::-moz-placeholder{--placeholder-opacity:1;color:#e1effe;color:rgba(225,239,254,var(--placeholder-opacity))}.lg\:placeholder-blue-100:-ms-input-placeholder{--placeholder-opacity:1;color:#e1effe;color:rgba(225,239,254,var(--placeholder-opacity))}.lg\:placeholder-blue-100::-ms-input-placeholder{--placeholder-opacity:1;color:#e1effe;color:rgba(225,239,254,var(--placeholder-opacity))}.lg\:placeholder-blue-100::placeholder{--placeholder-opacity:1;color:#e1effe;color:rgba(225,239,254,var(--placeholder-opacity))}.lg\:placeholder-blue-200::-moz-placeholder{--placeholder-opacity:1;color:#c3ddfd;color:rgba(195,221,253,var(--placeholder-opacity))}.lg\:placeholder-blue-200:-ms-input-placeholder{--placeholder-opacity:1;color:#c3ddfd;color:rgba(195,221,253,var(--placeholder-opacity))}.lg\:placeholder-blue-200::-ms-input-placeholder{--placeholder-opacity:1;color:#c3ddfd;color:rgba(195,221,253,var(--placeholder-opacity))}.lg\:placeholder-blue-200::placeholder{--placeholder-opacity:1;color:#c3ddfd;color:rgba(195,221,253,var(--placeholder-opacity))}.lg\:placeholder-blue-300::-moz-placeholder{--placeholder-opacity:1;color:#a4cafe;color:rgba(164,202,254,var(--placeholder-opacity))}.lg\:placeholder-blue-300:-ms-input-placeholder{--placeholder-opacity:1;color:#a4cafe;color:rgba(164,202,254,var(--placeholder-opacity))}.lg\:placeholder-blue-300::-ms-input-placeholder{--placeholder-opacity:1;color:#a4cafe;color:rgba(164,202,254,var(--placeholder-opacity))}.lg\:placeholder-blue-300::placeholder{--placeholder-opacity:1;color:#a4cafe;color:rgba(164,202,254,var(--placeholder-opacity))}.lg\:placeholder-blue-400::-moz-placeholder{--placeholder-opacity:1;color:#76a9fa;color:rgba(118,169,250,var(--placeholder-opacity))}.lg\:placeholder-blue-400:-ms-input-placeholder{--placeholder-opacity:1;color:#76a9fa;color:rgba(118,169,250,var(--placeholder-opacity))}.lg\:placeholder-blue-400::-ms-input-placeholder{--placeholder-opacity:1;color:#76a9fa;color:rgba(118,169,250,var(--placeholder-opacity))}.lg\:placeholder-blue-400::placeholder{--placeholder-opacity:1;color:#76a9fa;color:rgba(118,169,250,var(--placeholder-opacity))}.lg\:placeholder-blue-500::-moz-placeholder{--placeholder-opacity:1;color:#3f83f8;color:rgba(63,131,248,var(--placeholder-opacity))}.lg\:placeholder-blue-500:-ms-input-placeholder{--placeholder-opacity:1;color:#3f83f8;color:rgba(63,131,248,var(--placeholder-opacity))}.lg\:placeholder-blue-500::-ms-input-placeholder{--placeholder-opacity:1;color:#3f83f8;color:rgba(63,131,248,var(--placeholder-opacity))}.lg\:placeholder-blue-500::placeholder{--placeholder-opacity:1;color:#3f83f8;color:rgba(63,131,248,var(--placeholder-opacity))}.lg\:placeholder-blue-600::-moz-placeholder{--placeholder-opacity:1;color:#1c64f2;color:rgba(28,100,242,var(--placeholder-opacity))}.lg\:placeholder-blue-600:-ms-input-placeholder{--placeholder-opacity:1;color:#1c64f2;color:rgba(28,100,242,var(--placeholder-opacity))}.lg\:placeholder-blue-600::-ms-input-placeholder{--placeholder-opacity:1;color:#1c64f2;color:rgba(28,100,242,var(--placeholder-opacity))}.lg\:placeholder-blue-600::placeholder{--placeholder-opacity:1;color:#1c64f2;color:rgba(28,100,242,var(--placeholder-opacity))}.lg\:placeholder-blue-700::-moz-placeholder{--placeholder-opacity:1;color:#1a56db;color:rgba(26,86,219,var(--placeholder-opacity))}.lg\:placeholder-blue-700:-ms-input-placeholder{--placeholder-opacity:1;color:#1a56db;color:rgba(26,86,219,var(--placeholder-opacity))}.lg\:placeholder-blue-700::-ms-input-placeholder{--placeholder-opacity:1;color:#1a56db;color:rgba(26,86,219,var(--placeholder-opacity))}.lg\:placeholder-blue-700::placeholder{--placeholder-opacity:1;color:#1a56db;color:rgba(26,86,219,var(--placeholder-opacity))}.lg\:placeholder-blue-800::-moz-placeholder{--placeholder-opacity:1;color:#1e429f;color:rgba(30,66,159,var(--placeholder-opacity))}.lg\:placeholder-blue-800:-ms-input-placeholder{--placeholder-opacity:1;color:#1e429f;color:rgba(30,66,159,var(--placeholder-opacity))}.lg\:placeholder-blue-800::-ms-input-placeholder{--placeholder-opacity:1;color:#1e429f;color:rgba(30,66,159,var(--placeholder-opacity))}.lg\:placeholder-blue-800::placeholder{--placeholder-opacity:1;color:#1e429f;color:rgba(30,66,159,var(--placeholder-opacity))}.lg\:placeholder-blue-900::-moz-placeholder{--placeholder-opacity:1;color:#233876;color:rgba(35,56,118,var(--placeholder-opacity))}.lg\:placeholder-blue-900:-ms-input-placeholder{--placeholder-opacity:1;color:#233876;color:rgba(35,56,118,var(--placeholder-opacity))}.lg\:placeholder-blue-900::-ms-input-placeholder{--placeholder-opacity:1;color:#233876;color:rgba(35,56,118,var(--placeholder-opacity))}.lg\:placeholder-blue-900::placeholder{--placeholder-opacity:1;color:#233876;color:rgba(35,56,118,var(--placeholder-opacity))}.lg\:placeholder-indigo-50::-moz-placeholder{--placeholder-opacity:1;color:#f0f5ff;color:rgba(240,245,255,var(--placeholder-opacity))}.lg\:placeholder-indigo-50:-ms-input-placeholder{--placeholder-opacity:1;color:#f0f5ff;color:rgba(240,245,255,var(--placeholder-opacity))}.lg\:placeholder-indigo-50::-ms-input-placeholder{--placeholder-opacity:1;color:#f0f5ff;color:rgba(240,245,255,var(--placeholder-opacity))}.lg\:placeholder-indigo-50::placeholder{--placeholder-opacity:1;color:#f0f5ff;color:rgba(240,245,255,var(--placeholder-opacity))}.lg\:placeholder-indigo-100::-moz-placeholder{--placeholder-opacity:1;color:#e5edff;color:rgba(229,237,255,var(--placeholder-opacity))}.lg\:placeholder-indigo-100:-ms-input-placeholder{--placeholder-opacity:1;color:#e5edff;color:rgba(229,237,255,var(--placeholder-opacity))}.lg\:placeholder-indigo-100::-ms-input-placeholder{--placeholder-opacity:1;color:#e5edff;color:rgba(229,237,255,var(--placeholder-opacity))}.lg\:placeholder-indigo-100::placeholder{--placeholder-opacity:1;color:#e5edff;color:rgba(229,237,255,var(--placeholder-opacity))}.lg\:placeholder-indigo-200::-moz-placeholder{--placeholder-opacity:1;color:#cddbfe;color:rgba(205,219,254,var(--placeholder-opacity))}.lg\:placeholder-indigo-200:-ms-input-placeholder{--placeholder-opacity:1;color:#cddbfe;color:rgba(205,219,254,var(--placeholder-opacity))}.lg\:placeholder-indigo-200::-ms-input-placeholder{--placeholder-opacity:1;color:#cddbfe;color:rgba(205,219,254,var(--placeholder-opacity))}.lg\:placeholder-indigo-200::placeholder{--placeholder-opacity:1;color:#cddbfe;color:rgba(205,219,254,var(--placeholder-opacity))}.lg\:placeholder-indigo-300::-moz-placeholder{--placeholder-opacity:1;color:#b4c6fc;color:rgba(180,198,252,var(--placeholder-opacity))}.lg\:placeholder-indigo-300:-ms-input-placeholder{--placeholder-opacity:1;color:#b4c6fc;color:rgba(180,198,252,var(--placeholder-opacity))}.lg\:placeholder-indigo-300::-ms-input-placeholder{--placeholder-opacity:1;color:#b4c6fc;color:rgba(180,198,252,var(--placeholder-opacity))}.lg\:placeholder-indigo-300::placeholder{--placeholder-opacity:1;color:#b4c6fc;color:rgba(180,198,252,var(--placeholder-opacity))}.lg\:placeholder-indigo-400::-moz-placeholder{--placeholder-opacity:1;color:#8da2fb;color:rgba(141,162,251,var(--placeholder-opacity))}.lg\:placeholder-indigo-400:-ms-input-placeholder{--placeholder-opacity:1;color:#8da2fb;color:rgba(141,162,251,var(--placeholder-opacity))}.lg\:placeholder-indigo-400::-ms-input-placeholder{--placeholder-opacity:1;color:#8da2fb;color:rgba(141,162,251,var(--placeholder-opacity))}.lg\:placeholder-indigo-400::placeholder{--placeholder-opacity:1;color:#8da2fb;color:rgba(141,162,251,var(--placeholder-opacity))}.lg\:placeholder-indigo-500::-moz-placeholder{--placeholder-opacity:1;color:#6875f5;color:rgba(104,117,245,var(--placeholder-opacity))}.lg\:placeholder-indigo-500:-ms-input-placeholder{--placeholder-opacity:1;color:#6875f5;color:rgba(104,117,245,var(--placeholder-opacity))}.lg\:placeholder-indigo-500::-ms-input-placeholder{--placeholder-opacity:1;color:#6875f5;color:rgba(104,117,245,var(--placeholder-opacity))}.lg\:placeholder-indigo-500::placeholder{--placeholder-opacity:1;color:#6875f5;color:rgba(104,117,245,var(--placeholder-opacity))}.lg\:placeholder-indigo-600::-moz-placeholder{--placeholder-opacity:1;color:#5850ec;color:rgba(88,80,236,var(--placeholder-opacity))}.lg\:placeholder-indigo-600:-ms-input-placeholder{--placeholder-opacity:1;color:#5850ec;color:rgba(88,80,236,var(--placeholder-opacity))}.lg\:placeholder-indigo-600::-ms-input-placeholder{--placeholder-opacity:1;color:#5850ec;color:rgba(88,80,236,var(--placeholder-opacity))}.lg\:placeholder-indigo-600::placeholder{--placeholder-opacity:1;color:#5850ec;color:rgba(88,80,236,var(--placeholder-opacity))}.lg\:placeholder-indigo-700::-moz-placeholder{--placeholder-opacity:1;color:#5145cd;color:rgba(81,69,205,var(--placeholder-opacity))}.lg\:placeholder-indigo-700:-ms-input-placeholder{--placeholder-opacity:1;color:#5145cd;color:rgba(81,69,205,var(--placeholder-opacity))}.lg\:placeholder-indigo-700::-ms-input-placeholder{--placeholder-opacity:1;color:#5145cd;color:rgba(81,69,205,var(--placeholder-opacity))}.lg\:placeholder-indigo-700::placeholder{--placeholder-opacity:1;color:#5145cd;color:rgba(81,69,205,var(--placeholder-opacity))}.lg\:placeholder-indigo-800::-moz-placeholder{--placeholder-opacity:1;color:#42389d;color:rgba(66,56,157,var(--placeholder-opacity))}.lg\:placeholder-indigo-800:-ms-input-placeholder{--placeholder-opacity:1;color:#42389d;color:rgba(66,56,157,var(--placeholder-opacity))}.lg\:placeholder-indigo-800::-ms-input-placeholder{--placeholder-opacity:1;color:#42389d;color:rgba(66,56,157,var(--placeholder-opacity))}.lg\:placeholder-indigo-800::placeholder{--placeholder-opacity:1;color:#42389d;color:rgba(66,56,157,var(--placeholder-opacity))}.lg\:placeholder-indigo-900::-moz-placeholder{--placeholder-opacity:1;color:#362f78;color:rgba(54,47,120,var(--placeholder-opacity))}.lg\:placeholder-indigo-900:-ms-input-placeholder{--placeholder-opacity:1;color:#362f78;color:rgba(54,47,120,var(--placeholder-opacity))}.lg\:placeholder-indigo-900::-ms-input-placeholder{--placeholder-opacity:1;color:#362f78;color:rgba(54,47,120,var(--placeholder-opacity))}.lg\:placeholder-indigo-900::placeholder{--placeholder-opacity:1;color:#362f78;color:rgba(54,47,120,var(--placeholder-opacity))}.lg\:placeholder-purple-50::-moz-placeholder{--placeholder-opacity:1;color:#f6f5ff;color:rgba(246,245,255,var(--placeholder-opacity))}.lg\:placeholder-purple-50:-ms-input-placeholder{--placeholder-opacity:1;color:#f6f5ff;color:rgba(246,245,255,var(--placeholder-opacity))}.lg\:placeholder-purple-50::-ms-input-placeholder{--placeholder-opacity:1;color:#f6f5ff;color:rgba(246,245,255,var(--placeholder-opacity))}.lg\:placeholder-purple-50::placeholder{--placeholder-opacity:1;color:#f6f5ff;color:rgba(246,245,255,var(--placeholder-opacity))}.lg\:placeholder-purple-100::-moz-placeholder{--placeholder-opacity:1;color:#edebfe;color:rgba(237,235,254,var(--placeholder-opacity))}.lg\:placeholder-purple-100:-ms-input-placeholder{--placeholder-opacity:1;color:#edebfe;color:rgba(237,235,254,var(--placeholder-opacity))}.lg\:placeholder-purple-100::-ms-input-placeholder{--placeholder-opacity:1;color:#edebfe;color:rgba(237,235,254,var(--placeholder-opacity))}.lg\:placeholder-purple-100::placeholder{--placeholder-opacity:1;color:#edebfe;color:rgba(237,235,254,var(--placeholder-opacity))}.lg\:placeholder-purple-200::-moz-placeholder{--placeholder-opacity:1;color:#dcd7fe;color:rgba(220,215,254,var(--placeholder-opacity))}.lg\:placeholder-purple-200:-ms-input-placeholder{--placeholder-opacity:1;color:#dcd7fe;color:rgba(220,215,254,var(--placeholder-opacity))}.lg\:placeholder-purple-200::-ms-input-placeholder{--placeholder-opacity:1;color:#dcd7fe;color:rgba(220,215,254,var(--placeholder-opacity))}.lg\:placeholder-purple-200::placeholder{--placeholder-opacity:1;color:#dcd7fe;color:rgba(220,215,254,var(--placeholder-opacity))}.lg\:placeholder-purple-300::-moz-placeholder{--placeholder-opacity:1;color:#cabffd;color:rgba(202,191,253,var(--placeholder-opacity))}.lg\:placeholder-purple-300:-ms-input-placeholder{--placeholder-opacity:1;color:#cabffd;color:rgba(202,191,253,var(--placeholder-opacity))}.lg\:placeholder-purple-300::-ms-input-placeholder{--placeholder-opacity:1;color:#cabffd;color:rgba(202,191,253,var(--placeholder-opacity))}.lg\:placeholder-purple-300::placeholder{--placeholder-opacity:1;color:#cabffd;color:rgba(202,191,253,var(--placeholder-opacity))}.lg\:placeholder-purple-400::-moz-placeholder{--placeholder-opacity:1;color:#ac94fa;color:rgba(172,148,250,var(--placeholder-opacity))}.lg\:placeholder-purple-400:-ms-input-placeholder{--placeholder-opacity:1;color:#ac94fa;color:rgba(172,148,250,var(--placeholder-opacity))}.lg\:placeholder-purple-400::-ms-input-placeholder{--placeholder-opacity:1;color:#ac94fa;color:rgba(172,148,250,var(--placeholder-opacity))}.lg\:placeholder-purple-400::placeholder{--placeholder-opacity:1;color:#ac94fa;color:rgba(172,148,250,var(--placeholder-opacity))}.lg\:placeholder-purple-500::-moz-placeholder{--placeholder-opacity:1;color:#9061f9;color:rgba(144,97,249,var(--placeholder-opacity))}.lg\:placeholder-purple-500:-ms-input-placeholder{--placeholder-opacity:1;color:#9061f9;color:rgba(144,97,249,var(--placeholder-opacity))}.lg\:placeholder-purple-500::-ms-input-placeholder{--placeholder-opacity:1;color:#9061f9;color:rgba(144,97,249,var(--placeholder-opacity))}.lg\:placeholder-purple-500::placeholder{--placeholder-opacity:1;color:#9061f9;color:rgba(144,97,249,var(--placeholder-opacity))}.lg\:placeholder-purple-600::-moz-placeholder{--placeholder-opacity:1;color:#7e3af2;color:rgba(126,58,242,var(--placeholder-opacity))}.lg\:placeholder-purple-600:-ms-input-placeholder{--placeholder-opacity:1;color:#7e3af2;color:rgba(126,58,242,var(--placeholder-opacity))}.lg\:placeholder-purple-600::-ms-input-placeholder{--placeholder-opacity:1;color:#7e3af2;color:rgba(126,58,242,var(--placeholder-opacity))}.lg\:placeholder-purple-600::placeholder{--placeholder-opacity:1;color:#7e3af2;color:rgba(126,58,242,var(--placeholder-opacity))}.lg\:placeholder-purple-700::-moz-placeholder{--placeholder-opacity:1;color:#6c2bd9;color:rgba(108,43,217,var(--placeholder-opacity))}.lg\:placeholder-purple-700:-ms-input-placeholder{--placeholder-opacity:1;color:#6c2bd9;color:rgba(108,43,217,var(--placeholder-opacity))}.lg\:placeholder-purple-700::-ms-input-placeholder{--placeholder-opacity:1;color:#6c2bd9;color:rgba(108,43,217,var(--placeholder-opacity))}.lg\:placeholder-purple-700::placeholder{--placeholder-opacity:1;color:#6c2bd9;color:rgba(108,43,217,var(--placeholder-opacity))}.lg\:placeholder-purple-800::-moz-placeholder{--placeholder-opacity:1;color:#5521b5;color:rgba(85,33,181,var(--placeholder-opacity))}.lg\:placeholder-purple-800:-ms-input-placeholder{--placeholder-opacity:1;color:#5521b5;color:rgba(85,33,181,var(--placeholder-opacity))}.lg\:placeholder-purple-800::-ms-input-placeholder{--placeholder-opacity:1;color:#5521b5;color:rgba(85,33,181,var(--placeholder-opacity))}.lg\:placeholder-purple-800::placeholder{--placeholder-opacity:1;color:#5521b5;color:rgba(85,33,181,var(--placeholder-opacity))}.lg\:placeholder-purple-900::-moz-placeholder{--placeholder-opacity:1;color:#4a1d96;color:rgba(74,29,150,var(--placeholder-opacity))}.lg\:placeholder-purple-900:-ms-input-placeholder{--placeholder-opacity:1;color:#4a1d96;color:rgba(74,29,150,var(--placeholder-opacity))}.lg\:placeholder-purple-900::-ms-input-placeholder{--placeholder-opacity:1;color:#4a1d96;color:rgba(74,29,150,var(--placeholder-opacity))}.lg\:placeholder-purple-900::placeholder{--placeholder-opacity:1;color:#4a1d96;color:rgba(74,29,150,var(--placeholder-opacity))}.lg\:placeholder-pink-50::-moz-placeholder{--placeholder-opacity:1;color:#fdf2f8;color:rgba(253,242,248,var(--placeholder-opacity))}.lg\:placeholder-pink-50:-ms-input-placeholder{--placeholder-opacity:1;color:#fdf2f8;color:rgba(253,242,248,var(--placeholder-opacity))}.lg\:placeholder-pink-50::-ms-input-placeholder{--placeholder-opacity:1;color:#fdf2f8;color:rgba(253,242,248,var(--placeholder-opacity))}.lg\:placeholder-pink-50::placeholder{--placeholder-opacity:1;color:#fdf2f8;color:rgba(253,242,248,var(--placeholder-opacity))}.lg\:placeholder-pink-100::-moz-placeholder{--placeholder-opacity:1;color:#fce8f3;color:rgba(252,232,243,var(--placeholder-opacity))}.lg\:placeholder-pink-100:-ms-input-placeholder{--placeholder-opacity:1;color:#fce8f3;color:rgba(252,232,243,var(--placeholder-opacity))}.lg\:placeholder-pink-100::-ms-input-placeholder{--placeholder-opacity:1;color:#fce8f3;color:rgba(252,232,243,var(--placeholder-opacity))}.lg\:placeholder-pink-100::placeholder{--placeholder-opacity:1;color:#fce8f3;color:rgba(252,232,243,var(--placeholder-opacity))}.lg\:placeholder-pink-200::-moz-placeholder{--placeholder-opacity:1;color:#fad1e8;color:rgba(250,209,232,var(--placeholder-opacity))}.lg\:placeholder-pink-200:-ms-input-placeholder{--placeholder-opacity:1;color:#fad1e8;color:rgba(250,209,232,var(--placeholder-opacity))}.lg\:placeholder-pink-200::-ms-input-placeholder{--placeholder-opacity:1;color:#fad1e8;color:rgba(250,209,232,var(--placeholder-opacity))}.lg\:placeholder-pink-200::placeholder{--placeholder-opacity:1;color:#fad1e8;color:rgba(250,209,232,var(--placeholder-opacity))}.lg\:placeholder-pink-300::-moz-placeholder{--placeholder-opacity:1;color:#f8b4d9;color:rgba(248,180,217,var(--placeholder-opacity))}.lg\:placeholder-pink-300:-ms-input-placeholder{--placeholder-opacity:1;color:#f8b4d9;color:rgba(248,180,217,var(--placeholder-opacity))}.lg\:placeholder-pink-300::-ms-input-placeholder{--placeholder-opacity:1;color:#f8b4d9;color:rgba(248,180,217,var(--placeholder-opacity))}.lg\:placeholder-pink-300::placeholder{--placeholder-opacity:1;color:#f8b4d9;color:rgba(248,180,217,var(--placeholder-opacity))}.lg\:placeholder-pink-400::-moz-placeholder{--placeholder-opacity:1;color:#f17eb8;color:rgba(241,126,184,var(--placeholder-opacity))}.lg\:placeholder-pink-400:-ms-input-placeholder{--placeholder-opacity:1;color:#f17eb8;color:rgba(241,126,184,var(--placeholder-opacity))}.lg\:placeholder-pink-400::-ms-input-placeholder{--placeholder-opacity:1;color:#f17eb8;color:rgba(241,126,184,var(--placeholder-opacity))}.lg\:placeholder-pink-400::placeholder{--placeholder-opacity:1;color:#f17eb8;color:rgba(241,126,184,var(--placeholder-opacity))}.lg\:placeholder-pink-500::-moz-placeholder{--placeholder-opacity:1;color:#e74694;color:rgba(231,70,148,var(--placeholder-opacity))}.lg\:placeholder-pink-500:-ms-input-placeholder{--placeholder-opacity:1;color:#e74694;color:rgba(231,70,148,var(--placeholder-opacity))}.lg\:placeholder-pink-500::-ms-input-placeholder{--placeholder-opacity:1;color:#e74694;color:rgba(231,70,148,var(--placeholder-opacity))}.lg\:placeholder-pink-500::placeholder{--placeholder-opacity:1;color:#e74694;color:rgba(231,70,148,var(--placeholder-opacity))}.lg\:placeholder-pink-600::-moz-placeholder{--placeholder-opacity:1;color:#d61f69;color:rgba(214,31,105,var(--placeholder-opacity))}.lg\:placeholder-pink-600:-ms-input-placeholder{--placeholder-opacity:1;color:#d61f69;color:rgba(214,31,105,var(--placeholder-opacity))}.lg\:placeholder-pink-600::-ms-input-placeholder{--placeholder-opacity:1;color:#d61f69;color:rgba(214,31,105,var(--placeholder-opacity))}.lg\:placeholder-pink-600::placeholder{--placeholder-opacity:1;color:#d61f69;color:rgba(214,31,105,var(--placeholder-opacity))}.lg\:placeholder-pink-700::-moz-placeholder{--placeholder-opacity:1;color:#bf125d;color:rgba(191,18,93,var(--placeholder-opacity))}.lg\:placeholder-pink-700:-ms-input-placeholder{--placeholder-opacity:1;color:#bf125d;color:rgba(191,18,93,var(--placeholder-opacity))}.lg\:placeholder-pink-700::-ms-input-placeholder{--placeholder-opacity:1;color:#bf125d;color:rgba(191,18,93,var(--placeholder-opacity))}.lg\:placeholder-pink-700::placeholder{--placeholder-opacity:1;color:#bf125d;color:rgba(191,18,93,var(--placeholder-opacity))}.lg\:placeholder-pink-800::-moz-placeholder{--placeholder-opacity:1;color:#99154b;color:rgba(153,21,75,var(--placeholder-opacity))}.lg\:placeholder-pink-800:-ms-input-placeholder{--placeholder-opacity:1;color:#99154b;color:rgba(153,21,75,var(--placeholder-opacity))}.lg\:placeholder-pink-800::-ms-input-placeholder{--placeholder-opacity:1;color:#99154b;color:rgba(153,21,75,var(--placeholder-opacity))}.lg\:placeholder-pink-800::placeholder{--placeholder-opacity:1;color:#99154b;color:rgba(153,21,75,var(--placeholder-opacity))}.lg\:placeholder-pink-900::-moz-placeholder{--placeholder-opacity:1;color:#751a3d;color:rgba(117,26,61,var(--placeholder-opacity))}.lg\:placeholder-pink-900:-ms-input-placeholder{--placeholder-opacity:1;color:#751a3d;color:rgba(117,26,61,var(--placeholder-opacity))}.lg\:placeholder-pink-900::-ms-input-placeholder{--placeholder-opacity:1;color:#751a3d;color:rgba(117,26,61,var(--placeholder-opacity))}.lg\:placeholder-pink-900::placeholder{--placeholder-opacity:1;color:#751a3d;color:rgba(117,26,61,var(--placeholder-opacity))}.lg\:focus\:placeholder-transparent:focus::-moz-placeholder{color:transparent}.lg\:focus\:placeholder-transparent:focus:-ms-input-placeholder{color:transparent}.lg\:focus\:placeholder-transparent:focus::-ms-input-placeholder{color:transparent}.lg\:focus\:placeholder-transparent:focus::placeholder{color:transparent}.lg\:focus\:placeholder-white:focus::-moz-placeholder{--placeholder-opacity:1;color:#fff;color:rgba(255,255,255,var(--placeholder-opacity))}.lg\:focus\:placeholder-white:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#fff;color:rgba(255,255,255,var(--placeholder-opacity))}.lg\:focus\:placeholder-white:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#fff;color:rgba(255,255,255,var(--placeholder-opacity))}.lg\:focus\:placeholder-white:focus::placeholder{--placeholder-opacity:1;color:#fff;color:rgba(255,255,255,var(--placeholder-opacity))}.lg\:focus\:placeholder-black:focus::-moz-placeholder{--placeholder-opacity:1;color:#000;color:rgba(0,0,0,var(--placeholder-opacity))}.lg\:focus\:placeholder-black:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#000;color:rgba(0,0,0,var(--placeholder-opacity))}.lg\:focus\:placeholder-black:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#000;color:rgba(0,0,0,var(--placeholder-opacity))}.lg\:focus\:placeholder-black:focus::placeholder{--placeholder-opacity:1;color:#000;color:rgba(0,0,0,var(--placeholder-opacity))}.lg\:focus\:placeholder-gray-50:focus::-moz-placeholder{--placeholder-opacity:1;color:#f9fafb;color:rgba(249,250,251,var(--placeholder-opacity))}.lg\:focus\:placeholder-gray-50:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#f9fafb;color:rgba(249,250,251,var(--placeholder-opacity))}.lg\:focus\:placeholder-gray-50:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#f9fafb;color:rgba(249,250,251,var(--placeholder-opacity))}.lg\:focus\:placeholder-gray-50:focus::placeholder{--placeholder-opacity:1;color:#f9fafb;color:rgba(249,250,251,var(--placeholder-opacity))}.lg\:focus\:placeholder-gray-100:focus::-moz-placeholder{--placeholder-opacity:1;color:#f4f5f7;color:rgba(244,245,247,var(--placeholder-opacity))}.lg\:focus\:placeholder-gray-100:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#f4f5f7;color:rgba(244,245,247,var(--placeholder-opacity))}.lg\:focus\:placeholder-gray-100:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#f4f5f7;color:rgba(244,245,247,var(--placeholder-opacity))}.lg\:focus\:placeholder-gray-100:focus::placeholder{--placeholder-opacity:1;color:#f4f5f7;color:rgba(244,245,247,var(--placeholder-opacity))}.lg\:focus\:placeholder-gray-200:focus::-moz-placeholder{--placeholder-opacity:1;color:#e5e7eb;color:rgba(229,231,235,var(--placeholder-opacity))}.lg\:focus\:placeholder-gray-200:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#e5e7eb;color:rgba(229,231,235,var(--placeholder-opacity))}.lg\:focus\:placeholder-gray-200:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#e5e7eb;color:rgba(229,231,235,var(--placeholder-opacity))}.lg\:focus\:placeholder-gray-200:focus::placeholder{--placeholder-opacity:1;color:#e5e7eb;color:rgba(229,231,235,var(--placeholder-opacity))}.lg\:focus\:placeholder-gray-300:focus::-moz-placeholder{--placeholder-opacity:1;color:#d2d6dc;color:rgba(210,214,220,var(--placeholder-opacity))}.lg\:focus\:placeholder-gray-300:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#d2d6dc;color:rgba(210,214,220,var(--placeholder-opacity))}.lg\:focus\:placeholder-gray-300:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#d2d6dc;color:rgba(210,214,220,var(--placeholder-opacity))}.lg\:focus\:placeholder-gray-300:focus::placeholder{--placeholder-opacity:1;color:#d2d6dc;color:rgba(210,214,220,var(--placeholder-opacity))}.lg\:focus\:placeholder-gray-400:focus::-moz-placeholder{--placeholder-opacity:1;color:#9fa6b2;color:rgba(159,166,178,var(--placeholder-opacity))}.lg\:focus\:placeholder-gray-400:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#9fa6b2;color:rgba(159,166,178,var(--placeholder-opacity))}.lg\:focus\:placeholder-gray-400:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#9fa6b2;color:rgba(159,166,178,var(--placeholder-opacity))}.lg\:focus\:placeholder-gray-400:focus::placeholder{--placeholder-opacity:1;color:#9fa6b2;color:rgba(159,166,178,var(--placeholder-opacity))}.lg\:focus\:placeholder-gray-500:focus::-moz-placeholder{--placeholder-opacity:1;color:#6b7280;color:rgba(107,114,128,var(--placeholder-opacity))}.lg\:focus\:placeholder-gray-500:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#6b7280;color:rgba(107,114,128,var(--placeholder-opacity))}.lg\:focus\:placeholder-gray-500:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#6b7280;color:rgba(107,114,128,var(--placeholder-opacity))}.lg\:focus\:placeholder-gray-500:focus::placeholder{--placeholder-opacity:1;color:#6b7280;color:rgba(107,114,128,var(--placeholder-opacity))}.lg\:focus\:placeholder-gray-600:focus::-moz-placeholder{--placeholder-opacity:1;color:#4b5563;color:rgba(75,85,99,var(--placeholder-opacity))}.lg\:focus\:placeholder-gray-600:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#4b5563;color:rgba(75,85,99,var(--placeholder-opacity))}.lg\:focus\:placeholder-gray-600:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#4b5563;color:rgba(75,85,99,var(--placeholder-opacity))}.lg\:focus\:placeholder-gray-600:focus::placeholder{--placeholder-opacity:1;color:#4b5563;color:rgba(75,85,99,var(--placeholder-opacity))}.lg\:focus\:placeholder-gray-700:focus::-moz-placeholder{--placeholder-opacity:1;color:#374151;color:rgba(55,65,81,var(--placeholder-opacity))}.lg\:focus\:placeholder-gray-700:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#374151;color:rgba(55,65,81,var(--placeholder-opacity))}.lg\:focus\:placeholder-gray-700:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#374151;color:rgba(55,65,81,var(--placeholder-opacity))}.lg\:focus\:placeholder-gray-700:focus::placeholder{--placeholder-opacity:1;color:#374151;color:rgba(55,65,81,var(--placeholder-opacity))}.lg\:focus\:placeholder-gray-800:focus::-moz-placeholder{--placeholder-opacity:1;color:#252f3f;color:rgba(37,47,63,var(--placeholder-opacity))}.lg\:focus\:placeholder-gray-800:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#252f3f;color:rgba(37,47,63,var(--placeholder-opacity))}.lg\:focus\:placeholder-gray-800:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#252f3f;color:rgba(37,47,63,var(--placeholder-opacity))}.lg\:focus\:placeholder-gray-800:focus::placeholder{--placeholder-opacity:1;color:#252f3f;color:rgba(37,47,63,var(--placeholder-opacity))}.lg\:focus\:placeholder-gray-900:focus::-moz-placeholder{--placeholder-opacity:1;color:#161e2e;color:rgba(22,30,46,var(--placeholder-opacity))}.lg\:focus\:placeholder-gray-900:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#161e2e;color:rgba(22,30,46,var(--placeholder-opacity))}.lg\:focus\:placeholder-gray-900:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#161e2e;color:rgba(22,30,46,var(--placeholder-opacity))}.lg\:focus\:placeholder-gray-900:focus::placeholder{--placeholder-opacity:1;color:#161e2e;color:rgba(22,30,46,var(--placeholder-opacity))}.lg\:focus\:placeholder-cool-gray-50:focus::-moz-placeholder{--placeholder-opacity:1;color:#f8fafc;color:rgba(248,250,252,var(--placeholder-opacity))}.lg\:focus\:placeholder-cool-gray-50:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#f8fafc;color:rgba(248,250,252,var(--placeholder-opacity))}.lg\:focus\:placeholder-cool-gray-50:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#f8fafc;color:rgba(248,250,252,var(--placeholder-opacity))}.lg\:focus\:placeholder-cool-gray-50:focus::placeholder{--placeholder-opacity:1;color:#f8fafc;color:rgba(248,250,252,var(--placeholder-opacity))}.lg\:focus\:placeholder-cool-gray-100:focus::-moz-placeholder{--placeholder-opacity:1;color:#f1f5f9;color:rgba(241,245,249,var(--placeholder-opacity))}.lg\:focus\:placeholder-cool-gray-100:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#f1f5f9;color:rgba(241,245,249,var(--placeholder-opacity))}.lg\:focus\:placeholder-cool-gray-100:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#f1f5f9;color:rgba(241,245,249,var(--placeholder-opacity))}.lg\:focus\:placeholder-cool-gray-100:focus::placeholder{--placeholder-opacity:1;color:#f1f5f9;color:rgba(241,245,249,var(--placeholder-opacity))}.lg\:focus\:placeholder-cool-gray-200:focus::-moz-placeholder{--placeholder-opacity:1;color:#e2e8f0;color:rgba(226,232,240,var(--placeholder-opacity))}.lg\:focus\:placeholder-cool-gray-200:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#e2e8f0;color:rgba(226,232,240,var(--placeholder-opacity))}.lg\:focus\:placeholder-cool-gray-200:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#e2e8f0;color:rgba(226,232,240,var(--placeholder-opacity))}.lg\:focus\:placeholder-cool-gray-200:focus::placeholder{--placeholder-opacity:1;color:#e2e8f0;color:rgba(226,232,240,var(--placeholder-opacity))}.lg\:focus\:placeholder-cool-gray-300:focus::-moz-placeholder{--placeholder-opacity:1;color:#cfd8e3;color:rgba(207,216,227,var(--placeholder-opacity))}.lg\:focus\:placeholder-cool-gray-300:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#cfd8e3;color:rgba(207,216,227,var(--placeholder-opacity))}.lg\:focus\:placeholder-cool-gray-300:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#cfd8e3;color:rgba(207,216,227,var(--placeholder-opacity))}.lg\:focus\:placeholder-cool-gray-300:focus::placeholder{--placeholder-opacity:1;color:#cfd8e3;color:rgba(207,216,227,var(--placeholder-opacity))}.lg\:focus\:placeholder-cool-gray-400:focus::-moz-placeholder{--placeholder-opacity:1;color:#97a6ba;color:rgba(151,166,186,var(--placeholder-opacity))}.lg\:focus\:placeholder-cool-gray-400:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#97a6ba;color:rgba(151,166,186,var(--placeholder-opacity))}.lg\:focus\:placeholder-cool-gray-400:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#97a6ba;color:rgba(151,166,186,var(--placeholder-opacity))}.lg\:focus\:placeholder-cool-gray-400:focus::placeholder{--placeholder-opacity:1;color:#97a6ba;color:rgba(151,166,186,var(--placeholder-opacity))}.lg\:focus\:placeholder-cool-gray-500:focus::-moz-placeholder{--placeholder-opacity:1;color:#64748b;color:rgba(100,116,139,var(--placeholder-opacity))}.lg\:focus\:placeholder-cool-gray-500:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#64748b;color:rgba(100,116,139,var(--placeholder-opacity))}.lg\:focus\:placeholder-cool-gray-500:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#64748b;color:rgba(100,116,139,var(--placeholder-opacity))}.lg\:focus\:placeholder-cool-gray-500:focus::placeholder{--placeholder-opacity:1;color:#64748b;color:rgba(100,116,139,var(--placeholder-opacity))}.lg\:focus\:placeholder-cool-gray-600:focus::-moz-placeholder{--placeholder-opacity:1;color:#475569;color:rgba(71,85,105,var(--placeholder-opacity))}.lg\:focus\:placeholder-cool-gray-600:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#475569;color:rgba(71,85,105,var(--placeholder-opacity))}.lg\:focus\:placeholder-cool-gray-600:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#475569;color:rgba(71,85,105,var(--placeholder-opacity))}.lg\:focus\:placeholder-cool-gray-600:focus::placeholder{--placeholder-opacity:1;color:#475569;color:rgba(71,85,105,var(--placeholder-opacity))}.lg\:focus\:placeholder-cool-gray-700:focus::-moz-placeholder{--placeholder-opacity:1;color:#364152;color:rgba(54,65,82,var(--placeholder-opacity))}.lg\:focus\:placeholder-cool-gray-700:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#364152;color:rgba(54,65,82,var(--placeholder-opacity))}.lg\:focus\:placeholder-cool-gray-700:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#364152;color:rgba(54,65,82,var(--placeholder-opacity))}.lg\:focus\:placeholder-cool-gray-700:focus::placeholder{--placeholder-opacity:1;color:#364152;color:rgba(54,65,82,var(--placeholder-opacity))}.lg\:focus\:placeholder-cool-gray-800:focus::-moz-placeholder{--placeholder-opacity:1;color:#27303f;color:rgba(39,48,63,var(--placeholder-opacity))}.lg\:focus\:placeholder-cool-gray-800:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#27303f;color:rgba(39,48,63,var(--placeholder-opacity))}.lg\:focus\:placeholder-cool-gray-800:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#27303f;color:rgba(39,48,63,var(--placeholder-opacity))}.lg\:focus\:placeholder-cool-gray-800:focus::placeholder{--placeholder-opacity:1;color:#27303f;color:rgba(39,48,63,var(--placeholder-opacity))}.lg\:focus\:placeholder-cool-gray-900:focus::-moz-placeholder{--placeholder-opacity:1;color:#1a202e;color:rgba(26,32,46,var(--placeholder-opacity))}.lg\:focus\:placeholder-cool-gray-900:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#1a202e;color:rgba(26,32,46,var(--placeholder-opacity))}.lg\:focus\:placeholder-cool-gray-900:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#1a202e;color:rgba(26,32,46,var(--placeholder-opacity))}.lg\:focus\:placeholder-cool-gray-900:focus::placeholder{--placeholder-opacity:1;color:#1a202e;color:rgba(26,32,46,var(--placeholder-opacity))}.lg\:focus\:placeholder-red-50:focus::-moz-placeholder{--placeholder-opacity:1;color:#fdf2f2;color:rgba(253,242,242,var(--placeholder-opacity))}.lg\:focus\:placeholder-red-50:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#fdf2f2;color:rgba(253,242,242,var(--placeholder-opacity))}.lg\:focus\:placeholder-red-50:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#fdf2f2;color:rgba(253,242,242,var(--placeholder-opacity))}.lg\:focus\:placeholder-red-50:focus::placeholder{--placeholder-opacity:1;color:#fdf2f2;color:rgba(253,242,242,var(--placeholder-opacity))}.lg\:focus\:placeholder-red-100:focus::-moz-placeholder{--placeholder-opacity:1;color:#fde8e8;color:rgba(253,232,232,var(--placeholder-opacity))}.lg\:focus\:placeholder-red-100:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#fde8e8;color:rgba(253,232,232,var(--placeholder-opacity))}.lg\:focus\:placeholder-red-100:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#fde8e8;color:rgba(253,232,232,var(--placeholder-opacity))}.lg\:focus\:placeholder-red-100:focus::placeholder{--placeholder-opacity:1;color:#fde8e8;color:rgba(253,232,232,var(--placeholder-opacity))}.lg\:focus\:placeholder-red-200:focus::-moz-placeholder{--placeholder-opacity:1;color:#fbd5d5;color:rgba(251,213,213,var(--placeholder-opacity))}.lg\:focus\:placeholder-red-200:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#fbd5d5;color:rgba(251,213,213,var(--placeholder-opacity))}.lg\:focus\:placeholder-red-200:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#fbd5d5;color:rgba(251,213,213,var(--placeholder-opacity))}.lg\:focus\:placeholder-red-200:focus::placeholder{--placeholder-opacity:1;color:#fbd5d5;color:rgba(251,213,213,var(--placeholder-opacity))}.lg\:focus\:placeholder-red-300:focus::-moz-placeholder{--placeholder-opacity:1;color:#f8b4b4;color:rgba(248,180,180,var(--placeholder-opacity))}.lg\:focus\:placeholder-red-300:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#f8b4b4;color:rgba(248,180,180,var(--placeholder-opacity))}.lg\:focus\:placeholder-red-300:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#f8b4b4;color:rgba(248,180,180,var(--placeholder-opacity))}.lg\:focus\:placeholder-red-300:focus::placeholder{--placeholder-opacity:1;color:#f8b4b4;color:rgba(248,180,180,var(--placeholder-opacity))}.lg\:focus\:placeholder-red-400:focus::-moz-placeholder{--placeholder-opacity:1;color:#f98080;color:rgba(249,128,128,var(--placeholder-opacity))}.lg\:focus\:placeholder-red-400:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#f98080;color:rgba(249,128,128,var(--placeholder-opacity))}.lg\:focus\:placeholder-red-400:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#f98080;color:rgba(249,128,128,var(--placeholder-opacity))}.lg\:focus\:placeholder-red-400:focus::placeholder{--placeholder-opacity:1;color:#f98080;color:rgba(249,128,128,var(--placeholder-opacity))}.lg\:focus\:placeholder-red-500:focus::-moz-placeholder{--placeholder-opacity:1;color:#f05252;color:rgba(240,82,82,var(--placeholder-opacity))}.lg\:focus\:placeholder-red-500:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#f05252;color:rgba(240,82,82,var(--placeholder-opacity))}.lg\:focus\:placeholder-red-500:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#f05252;color:rgba(240,82,82,var(--placeholder-opacity))}.lg\:focus\:placeholder-red-500:focus::placeholder{--placeholder-opacity:1;color:#f05252;color:rgba(240,82,82,var(--placeholder-opacity))}.lg\:focus\:placeholder-red-600:focus::-moz-placeholder{--placeholder-opacity:1;color:#e02424;color:rgba(224,36,36,var(--placeholder-opacity))}.lg\:focus\:placeholder-red-600:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#e02424;color:rgba(224,36,36,var(--placeholder-opacity))}.lg\:focus\:placeholder-red-600:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#e02424;color:rgba(224,36,36,var(--placeholder-opacity))}.lg\:focus\:placeholder-red-600:focus::placeholder{--placeholder-opacity:1;color:#e02424;color:rgba(224,36,36,var(--placeholder-opacity))}.lg\:focus\:placeholder-red-700:focus::-moz-placeholder{--placeholder-opacity:1;color:#c81e1e;color:rgba(200,30,30,var(--placeholder-opacity))}.lg\:focus\:placeholder-red-700:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#c81e1e;color:rgba(200,30,30,var(--placeholder-opacity))}.lg\:focus\:placeholder-red-700:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#c81e1e;color:rgba(200,30,30,var(--placeholder-opacity))}.lg\:focus\:placeholder-red-700:focus::placeholder{--placeholder-opacity:1;color:#c81e1e;color:rgba(200,30,30,var(--placeholder-opacity))}.lg\:focus\:placeholder-red-800:focus::-moz-placeholder{--placeholder-opacity:1;color:#9b1c1c;color:rgba(155,28,28,var(--placeholder-opacity))}.lg\:focus\:placeholder-red-800:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#9b1c1c;color:rgba(155,28,28,var(--placeholder-opacity))}.lg\:focus\:placeholder-red-800:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#9b1c1c;color:rgba(155,28,28,var(--placeholder-opacity))}.lg\:focus\:placeholder-red-800:focus::placeholder{--placeholder-opacity:1;color:#9b1c1c;color:rgba(155,28,28,var(--placeholder-opacity))}.lg\:focus\:placeholder-red-900:focus::-moz-placeholder{--placeholder-opacity:1;color:#771d1d;color:rgba(119,29,29,var(--placeholder-opacity))}.lg\:focus\:placeholder-red-900:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#771d1d;color:rgba(119,29,29,var(--placeholder-opacity))}.lg\:focus\:placeholder-red-900:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#771d1d;color:rgba(119,29,29,var(--placeholder-opacity))}.lg\:focus\:placeholder-red-900:focus::placeholder{--placeholder-opacity:1;color:#771d1d;color:rgba(119,29,29,var(--placeholder-opacity))}.lg\:focus\:placeholder-orange-50:focus::-moz-placeholder{--placeholder-opacity:1;color:#fff8f1;color:rgba(255,248,241,var(--placeholder-opacity))}.lg\:focus\:placeholder-orange-50:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#fff8f1;color:rgba(255,248,241,var(--placeholder-opacity))}.lg\:focus\:placeholder-orange-50:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#fff8f1;color:rgba(255,248,241,var(--placeholder-opacity))}.lg\:focus\:placeholder-orange-50:focus::placeholder{--placeholder-opacity:1;color:#fff8f1;color:rgba(255,248,241,var(--placeholder-opacity))}.lg\:focus\:placeholder-orange-100:focus::-moz-placeholder{--placeholder-opacity:1;color:#feecdc;color:rgba(254,236,220,var(--placeholder-opacity))}.lg\:focus\:placeholder-orange-100:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#feecdc;color:rgba(254,236,220,var(--placeholder-opacity))}.lg\:focus\:placeholder-orange-100:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#feecdc;color:rgba(254,236,220,var(--placeholder-opacity))}.lg\:focus\:placeholder-orange-100:focus::placeholder{--placeholder-opacity:1;color:#feecdc;color:rgba(254,236,220,var(--placeholder-opacity))}.lg\:focus\:placeholder-orange-200:focus::-moz-placeholder{--placeholder-opacity:1;color:#fcd9bd;color:rgba(252,217,189,var(--placeholder-opacity))}.lg\:focus\:placeholder-orange-200:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#fcd9bd;color:rgba(252,217,189,var(--placeholder-opacity))}.lg\:focus\:placeholder-orange-200:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#fcd9bd;color:rgba(252,217,189,var(--placeholder-opacity))}.lg\:focus\:placeholder-orange-200:focus::placeholder{--placeholder-opacity:1;color:#fcd9bd;color:rgba(252,217,189,var(--placeholder-opacity))}.lg\:focus\:placeholder-orange-300:focus::-moz-placeholder{--placeholder-opacity:1;color:#fdba8c;color:rgba(253,186,140,var(--placeholder-opacity))}.lg\:focus\:placeholder-orange-300:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#fdba8c;color:rgba(253,186,140,var(--placeholder-opacity))}.lg\:focus\:placeholder-orange-300:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#fdba8c;color:rgba(253,186,140,var(--placeholder-opacity))}.lg\:focus\:placeholder-orange-300:focus::placeholder{--placeholder-opacity:1;color:#fdba8c;color:rgba(253,186,140,var(--placeholder-opacity))}.lg\:focus\:placeholder-orange-400:focus::-moz-placeholder{--placeholder-opacity:1;color:#ff8a4c;color:rgba(255,138,76,var(--placeholder-opacity))}.lg\:focus\:placeholder-orange-400:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#ff8a4c;color:rgba(255,138,76,var(--placeholder-opacity))}.lg\:focus\:placeholder-orange-400:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#ff8a4c;color:rgba(255,138,76,var(--placeholder-opacity))}.lg\:focus\:placeholder-orange-400:focus::placeholder{--placeholder-opacity:1;color:#ff8a4c;color:rgba(255,138,76,var(--placeholder-opacity))}.lg\:focus\:placeholder-orange-500:focus::-moz-placeholder{--placeholder-opacity:1;color:#ff5a1f;color:rgba(255,90,31,var(--placeholder-opacity))}.lg\:focus\:placeholder-orange-500:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#ff5a1f;color:rgba(255,90,31,var(--placeholder-opacity))}.lg\:focus\:placeholder-orange-500:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#ff5a1f;color:rgba(255,90,31,var(--placeholder-opacity))}.lg\:focus\:placeholder-orange-500:focus::placeholder{--placeholder-opacity:1;color:#ff5a1f;color:rgba(255,90,31,var(--placeholder-opacity))}.lg\:focus\:placeholder-orange-600:focus::-moz-placeholder{--placeholder-opacity:1;color:#d03801;color:rgba(208,56,1,var(--placeholder-opacity))}.lg\:focus\:placeholder-orange-600:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#d03801;color:rgba(208,56,1,var(--placeholder-opacity))}.lg\:focus\:placeholder-orange-600:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#d03801;color:rgba(208,56,1,var(--placeholder-opacity))}.lg\:focus\:placeholder-orange-600:focus::placeholder{--placeholder-opacity:1;color:#d03801;color:rgba(208,56,1,var(--placeholder-opacity))}.lg\:focus\:placeholder-orange-700:focus::-moz-placeholder{--placeholder-opacity:1;color:#b43403;color:rgba(180,52,3,var(--placeholder-opacity))}.lg\:focus\:placeholder-orange-700:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#b43403;color:rgba(180,52,3,var(--placeholder-opacity))}.lg\:focus\:placeholder-orange-700:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#b43403;color:rgba(180,52,3,var(--placeholder-opacity))}.lg\:focus\:placeholder-orange-700:focus::placeholder{--placeholder-opacity:1;color:#b43403;color:rgba(180,52,3,var(--placeholder-opacity))}.lg\:focus\:placeholder-orange-800:focus::-moz-placeholder{--placeholder-opacity:1;color:#8a2c0d;color:rgba(138,44,13,var(--placeholder-opacity))}.lg\:focus\:placeholder-orange-800:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#8a2c0d;color:rgba(138,44,13,var(--placeholder-opacity))}.lg\:focus\:placeholder-orange-800:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#8a2c0d;color:rgba(138,44,13,var(--placeholder-opacity))}.lg\:focus\:placeholder-orange-800:focus::placeholder{--placeholder-opacity:1;color:#8a2c0d;color:rgba(138,44,13,var(--placeholder-opacity))}.lg\:focus\:placeholder-orange-900:focus::-moz-placeholder{--placeholder-opacity:1;color:#73230d;color:rgba(115,35,13,var(--placeholder-opacity))}.lg\:focus\:placeholder-orange-900:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#73230d;color:rgba(115,35,13,var(--placeholder-opacity))}.lg\:focus\:placeholder-orange-900:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#73230d;color:rgba(115,35,13,var(--placeholder-opacity))}.lg\:focus\:placeholder-orange-900:focus::placeholder{--placeholder-opacity:1;color:#73230d;color:rgba(115,35,13,var(--placeholder-opacity))}.lg\:focus\:placeholder-yellow-50:focus::-moz-placeholder{--placeholder-opacity:1;color:#fdfdea;color:rgba(253,253,234,var(--placeholder-opacity))}.lg\:focus\:placeholder-yellow-50:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#fdfdea;color:rgba(253,253,234,var(--placeholder-opacity))}.lg\:focus\:placeholder-yellow-50:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#fdfdea;color:rgba(253,253,234,var(--placeholder-opacity))}.lg\:focus\:placeholder-yellow-50:focus::placeholder{--placeholder-opacity:1;color:#fdfdea;color:rgba(253,253,234,var(--placeholder-opacity))}.lg\:focus\:placeholder-yellow-100:focus::-moz-placeholder{--placeholder-opacity:1;color:#fdf6b2;color:rgba(253,246,178,var(--placeholder-opacity))}.lg\:focus\:placeholder-yellow-100:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#fdf6b2;color:rgba(253,246,178,var(--placeholder-opacity))}.lg\:focus\:placeholder-yellow-100:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#fdf6b2;color:rgba(253,246,178,var(--placeholder-opacity))}.lg\:focus\:placeholder-yellow-100:focus::placeholder{--placeholder-opacity:1;color:#fdf6b2;color:rgba(253,246,178,var(--placeholder-opacity))}.lg\:focus\:placeholder-yellow-200:focus::-moz-placeholder{--placeholder-opacity:1;color:#fce96a;color:rgba(252,233,106,var(--placeholder-opacity))}.lg\:focus\:placeholder-yellow-200:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#fce96a;color:rgba(252,233,106,var(--placeholder-opacity))}.lg\:focus\:placeholder-yellow-200:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#fce96a;color:rgba(252,233,106,var(--placeholder-opacity))}.lg\:focus\:placeholder-yellow-200:focus::placeholder{--placeholder-opacity:1;color:#fce96a;color:rgba(252,233,106,var(--placeholder-opacity))}.lg\:focus\:placeholder-yellow-300:focus::-moz-placeholder{--placeholder-opacity:1;color:#faca15;color:rgba(250,202,21,var(--placeholder-opacity))}.lg\:focus\:placeholder-yellow-300:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#faca15;color:rgba(250,202,21,var(--placeholder-opacity))}.lg\:focus\:placeholder-yellow-300:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#faca15;color:rgba(250,202,21,var(--placeholder-opacity))}.lg\:focus\:placeholder-yellow-300:focus::placeholder{--placeholder-opacity:1;color:#faca15;color:rgba(250,202,21,var(--placeholder-opacity))}.lg\:focus\:placeholder-yellow-400:focus::-moz-placeholder{--placeholder-opacity:1;color:#e3a008;color:rgba(227,160,8,var(--placeholder-opacity))}.lg\:focus\:placeholder-yellow-400:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#e3a008;color:rgba(227,160,8,var(--placeholder-opacity))}.lg\:focus\:placeholder-yellow-400:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#e3a008;color:rgba(227,160,8,var(--placeholder-opacity))}.lg\:focus\:placeholder-yellow-400:focus::placeholder{--placeholder-opacity:1;color:#e3a008;color:rgba(227,160,8,var(--placeholder-opacity))}.lg\:focus\:placeholder-yellow-500:focus::-moz-placeholder{--placeholder-opacity:1;color:#c27803;color:rgba(194,120,3,var(--placeholder-opacity))}.lg\:focus\:placeholder-yellow-500:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#c27803;color:rgba(194,120,3,var(--placeholder-opacity))}.lg\:focus\:placeholder-yellow-500:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#c27803;color:rgba(194,120,3,var(--placeholder-opacity))}.lg\:focus\:placeholder-yellow-500:focus::placeholder{--placeholder-opacity:1;color:#c27803;color:rgba(194,120,3,var(--placeholder-opacity))}.lg\:focus\:placeholder-yellow-600:focus::-moz-placeholder{--placeholder-opacity:1;color:#9f580a;color:rgba(159,88,10,var(--placeholder-opacity))}.lg\:focus\:placeholder-yellow-600:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#9f580a;color:rgba(159,88,10,var(--placeholder-opacity))}.lg\:focus\:placeholder-yellow-600:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#9f580a;color:rgba(159,88,10,var(--placeholder-opacity))}.lg\:focus\:placeholder-yellow-600:focus::placeholder{--placeholder-opacity:1;color:#9f580a;color:rgba(159,88,10,var(--placeholder-opacity))}.lg\:focus\:placeholder-yellow-700:focus::-moz-placeholder{--placeholder-opacity:1;color:#8e4b10;color:rgba(142,75,16,var(--placeholder-opacity))}.lg\:focus\:placeholder-yellow-700:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#8e4b10;color:rgba(142,75,16,var(--placeholder-opacity))}.lg\:focus\:placeholder-yellow-700:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#8e4b10;color:rgba(142,75,16,var(--placeholder-opacity))}.lg\:focus\:placeholder-yellow-700:focus::placeholder{--placeholder-opacity:1;color:#8e4b10;color:rgba(142,75,16,var(--placeholder-opacity))}.lg\:focus\:placeholder-yellow-800:focus::-moz-placeholder{--placeholder-opacity:1;color:#723b13;color:rgba(114,59,19,var(--placeholder-opacity))}.lg\:focus\:placeholder-yellow-800:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#723b13;color:rgba(114,59,19,var(--placeholder-opacity))}.lg\:focus\:placeholder-yellow-800:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#723b13;color:rgba(114,59,19,var(--placeholder-opacity))}.lg\:focus\:placeholder-yellow-800:focus::placeholder{--placeholder-opacity:1;color:#723b13;color:rgba(114,59,19,var(--placeholder-opacity))}.lg\:focus\:placeholder-yellow-900:focus::-moz-placeholder{--placeholder-opacity:1;color:#633112;color:rgba(99,49,18,var(--placeholder-opacity))}.lg\:focus\:placeholder-yellow-900:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#633112;color:rgba(99,49,18,var(--placeholder-opacity))}.lg\:focus\:placeholder-yellow-900:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#633112;color:rgba(99,49,18,var(--placeholder-opacity))}.lg\:focus\:placeholder-yellow-900:focus::placeholder{--placeholder-opacity:1;color:#633112;color:rgba(99,49,18,var(--placeholder-opacity))}.lg\:focus\:placeholder-green-50:focus::-moz-placeholder{--placeholder-opacity:1;color:#f3faf7;color:rgba(243,250,247,var(--placeholder-opacity))}.lg\:focus\:placeholder-green-50:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#f3faf7;color:rgba(243,250,247,var(--placeholder-opacity))}.lg\:focus\:placeholder-green-50:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#f3faf7;color:rgba(243,250,247,var(--placeholder-opacity))}.lg\:focus\:placeholder-green-50:focus::placeholder{--placeholder-opacity:1;color:#f3faf7;color:rgba(243,250,247,var(--placeholder-opacity))}.lg\:focus\:placeholder-green-100:focus::-moz-placeholder{--placeholder-opacity:1;color:#def7ec;color:rgba(222,247,236,var(--placeholder-opacity))}.lg\:focus\:placeholder-green-100:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#def7ec;color:rgba(222,247,236,var(--placeholder-opacity))}.lg\:focus\:placeholder-green-100:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#def7ec;color:rgba(222,247,236,var(--placeholder-opacity))}.lg\:focus\:placeholder-green-100:focus::placeholder{--placeholder-opacity:1;color:#def7ec;color:rgba(222,247,236,var(--placeholder-opacity))}.lg\:focus\:placeholder-green-200:focus::-moz-placeholder{--placeholder-opacity:1;color:#bcf0da;color:rgba(188,240,218,var(--placeholder-opacity))}.lg\:focus\:placeholder-green-200:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#bcf0da;color:rgba(188,240,218,var(--placeholder-opacity))}.lg\:focus\:placeholder-green-200:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#bcf0da;color:rgba(188,240,218,var(--placeholder-opacity))}.lg\:focus\:placeholder-green-200:focus::placeholder{--placeholder-opacity:1;color:#bcf0da;color:rgba(188,240,218,var(--placeholder-opacity))}.lg\:focus\:placeholder-green-300:focus::-moz-placeholder{--placeholder-opacity:1;color:#84e1bc;color:rgba(132,225,188,var(--placeholder-opacity))}.lg\:focus\:placeholder-green-300:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#84e1bc;color:rgba(132,225,188,var(--placeholder-opacity))}.lg\:focus\:placeholder-green-300:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#84e1bc;color:rgba(132,225,188,var(--placeholder-opacity))}.lg\:focus\:placeholder-green-300:focus::placeholder{--placeholder-opacity:1;color:#84e1bc;color:rgba(132,225,188,var(--placeholder-opacity))}.lg\:focus\:placeholder-green-400:focus::-moz-placeholder{--placeholder-opacity:1;color:#31c48d;color:rgba(49,196,141,var(--placeholder-opacity))}.lg\:focus\:placeholder-green-400:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#31c48d;color:rgba(49,196,141,var(--placeholder-opacity))}.lg\:focus\:placeholder-green-400:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#31c48d;color:rgba(49,196,141,var(--placeholder-opacity))}.lg\:focus\:placeholder-green-400:focus::placeholder{--placeholder-opacity:1;color:#31c48d;color:rgba(49,196,141,var(--placeholder-opacity))}.lg\:focus\:placeholder-green-500:focus::-moz-placeholder{--placeholder-opacity:1;color:#0e9f6e;color:rgba(14,159,110,var(--placeholder-opacity))}.lg\:focus\:placeholder-green-500:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#0e9f6e;color:rgba(14,159,110,var(--placeholder-opacity))}.lg\:focus\:placeholder-green-500:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#0e9f6e;color:rgba(14,159,110,var(--placeholder-opacity))}.lg\:focus\:placeholder-green-500:focus::placeholder{--placeholder-opacity:1;color:#0e9f6e;color:rgba(14,159,110,var(--placeholder-opacity))}.lg\:focus\:placeholder-green-600:focus::-moz-placeholder{--placeholder-opacity:1;color:#057a55;color:rgba(5,122,85,var(--placeholder-opacity))}.lg\:focus\:placeholder-green-600:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#057a55;color:rgba(5,122,85,var(--placeholder-opacity))}.lg\:focus\:placeholder-green-600:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#057a55;color:rgba(5,122,85,var(--placeholder-opacity))}.lg\:focus\:placeholder-green-600:focus::placeholder{--placeholder-opacity:1;color:#057a55;color:rgba(5,122,85,var(--placeholder-opacity))}.lg\:focus\:placeholder-green-700:focus::-moz-placeholder{--placeholder-opacity:1;color:#046c4e;color:rgba(4,108,78,var(--placeholder-opacity))}.lg\:focus\:placeholder-green-700:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#046c4e;color:rgba(4,108,78,var(--placeholder-opacity))}.lg\:focus\:placeholder-green-700:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#046c4e;color:rgba(4,108,78,var(--placeholder-opacity))}.lg\:focus\:placeholder-green-700:focus::placeholder{--placeholder-opacity:1;color:#046c4e;color:rgba(4,108,78,var(--placeholder-opacity))}.lg\:focus\:placeholder-green-800:focus::-moz-placeholder{--placeholder-opacity:1;color:#03543f;color:rgba(3,84,63,var(--placeholder-opacity))}.lg\:focus\:placeholder-green-800:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#03543f;color:rgba(3,84,63,var(--placeholder-opacity))}.lg\:focus\:placeholder-green-800:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#03543f;color:rgba(3,84,63,var(--placeholder-opacity))}.lg\:focus\:placeholder-green-800:focus::placeholder{--placeholder-opacity:1;color:#03543f;color:rgba(3,84,63,var(--placeholder-opacity))}.lg\:focus\:placeholder-green-900:focus::-moz-placeholder{--placeholder-opacity:1;color:#014737;color:rgba(1,71,55,var(--placeholder-opacity))}.lg\:focus\:placeholder-green-900:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#014737;color:rgba(1,71,55,var(--placeholder-opacity))}.lg\:focus\:placeholder-green-900:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#014737;color:rgba(1,71,55,var(--placeholder-opacity))}.lg\:focus\:placeholder-green-900:focus::placeholder{--placeholder-opacity:1;color:#014737;color:rgba(1,71,55,var(--placeholder-opacity))}.lg\:focus\:placeholder-teal-50:focus::-moz-placeholder{--placeholder-opacity:1;color:#edfafa;color:rgba(237,250,250,var(--placeholder-opacity))}.lg\:focus\:placeholder-teal-50:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#edfafa;color:rgba(237,250,250,var(--placeholder-opacity))}.lg\:focus\:placeholder-teal-50:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#edfafa;color:rgba(237,250,250,var(--placeholder-opacity))}.lg\:focus\:placeholder-teal-50:focus::placeholder{--placeholder-opacity:1;color:#edfafa;color:rgba(237,250,250,var(--placeholder-opacity))}.lg\:focus\:placeholder-teal-100:focus::-moz-placeholder{--placeholder-opacity:1;color:#d5f5f6;color:rgba(213,245,246,var(--placeholder-opacity))}.lg\:focus\:placeholder-teal-100:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#d5f5f6;color:rgba(213,245,246,var(--placeholder-opacity))}.lg\:focus\:placeholder-teal-100:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#d5f5f6;color:rgba(213,245,246,var(--placeholder-opacity))}.lg\:focus\:placeholder-teal-100:focus::placeholder{--placeholder-opacity:1;color:#d5f5f6;color:rgba(213,245,246,var(--placeholder-opacity))}.lg\:focus\:placeholder-teal-200:focus::-moz-placeholder{--placeholder-opacity:1;color:#afecef;color:rgba(175,236,239,var(--placeholder-opacity))}.lg\:focus\:placeholder-teal-200:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#afecef;color:rgba(175,236,239,var(--placeholder-opacity))}.lg\:focus\:placeholder-teal-200:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#afecef;color:rgba(175,236,239,var(--placeholder-opacity))}.lg\:focus\:placeholder-teal-200:focus::placeholder{--placeholder-opacity:1;color:#afecef;color:rgba(175,236,239,var(--placeholder-opacity))}.lg\:focus\:placeholder-teal-300:focus::-moz-placeholder{--placeholder-opacity:1;color:#7edce2;color:rgba(126,220,226,var(--placeholder-opacity))}.lg\:focus\:placeholder-teal-300:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#7edce2;color:rgba(126,220,226,var(--placeholder-opacity))}.lg\:focus\:placeholder-teal-300:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#7edce2;color:rgba(126,220,226,var(--placeholder-opacity))}.lg\:focus\:placeholder-teal-300:focus::placeholder{--placeholder-opacity:1;color:#7edce2;color:rgba(126,220,226,var(--placeholder-opacity))}.lg\:focus\:placeholder-teal-400:focus::-moz-placeholder{--placeholder-opacity:1;color:#16bdca;color:rgba(22,189,202,var(--placeholder-opacity))}.lg\:focus\:placeholder-teal-400:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#16bdca;color:rgba(22,189,202,var(--placeholder-opacity))}.lg\:focus\:placeholder-teal-400:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#16bdca;color:rgba(22,189,202,var(--placeholder-opacity))}.lg\:focus\:placeholder-teal-400:focus::placeholder{--placeholder-opacity:1;color:#16bdca;color:rgba(22,189,202,var(--placeholder-opacity))}.lg\:focus\:placeholder-teal-500:focus::-moz-placeholder{--placeholder-opacity:1;color:#0694a2;color:rgba(6,148,162,var(--placeholder-opacity))}.lg\:focus\:placeholder-teal-500:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#0694a2;color:rgba(6,148,162,var(--placeholder-opacity))}.lg\:focus\:placeholder-teal-500:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#0694a2;color:rgba(6,148,162,var(--placeholder-opacity))}.lg\:focus\:placeholder-teal-500:focus::placeholder{--placeholder-opacity:1;color:#0694a2;color:rgba(6,148,162,var(--placeholder-opacity))}.lg\:focus\:placeholder-teal-600:focus::-moz-placeholder{--placeholder-opacity:1;color:#047481;color:rgba(4,116,129,var(--placeholder-opacity))}.lg\:focus\:placeholder-teal-600:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#047481;color:rgba(4,116,129,var(--placeholder-opacity))}.lg\:focus\:placeholder-teal-600:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#047481;color:rgba(4,116,129,var(--placeholder-opacity))}.lg\:focus\:placeholder-teal-600:focus::placeholder{--placeholder-opacity:1;color:#047481;color:rgba(4,116,129,var(--placeholder-opacity))}.lg\:focus\:placeholder-teal-700:focus::-moz-placeholder{--placeholder-opacity:1;color:#036672;color:rgba(3,102,114,var(--placeholder-opacity))}.lg\:focus\:placeholder-teal-700:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#036672;color:rgba(3,102,114,var(--placeholder-opacity))}.lg\:focus\:placeholder-teal-700:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#036672;color:rgba(3,102,114,var(--placeholder-opacity))}.lg\:focus\:placeholder-teal-700:focus::placeholder{--placeholder-opacity:1;color:#036672;color:rgba(3,102,114,var(--placeholder-opacity))}.lg\:focus\:placeholder-teal-800:focus::-moz-placeholder{--placeholder-opacity:1;color:#05505c;color:rgba(5,80,92,var(--placeholder-opacity))}.lg\:focus\:placeholder-teal-800:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#05505c;color:rgba(5,80,92,var(--placeholder-opacity))}.lg\:focus\:placeholder-teal-800:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#05505c;color:rgba(5,80,92,var(--placeholder-opacity))}.lg\:focus\:placeholder-teal-800:focus::placeholder{--placeholder-opacity:1;color:#05505c;color:rgba(5,80,92,var(--placeholder-opacity))}.lg\:focus\:placeholder-teal-900:focus::-moz-placeholder{--placeholder-opacity:1;color:#014451;color:rgba(1,68,81,var(--placeholder-opacity))}.lg\:focus\:placeholder-teal-900:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#014451;color:rgba(1,68,81,var(--placeholder-opacity))}.lg\:focus\:placeholder-teal-900:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#014451;color:rgba(1,68,81,var(--placeholder-opacity))}.lg\:focus\:placeholder-teal-900:focus::placeholder{--placeholder-opacity:1;color:#014451;color:rgba(1,68,81,var(--placeholder-opacity))}.lg\:focus\:placeholder-blue-50:focus::-moz-placeholder{--placeholder-opacity:1;color:#ebf5ff;color:rgba(235,245,255,var(--placeholder-opacity))}.lg\:focus\:placeholder-blue-50:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#ebf5ff;color:rgba(235,245,255,var(--placeholder-opacity))}.lg\:focus\:placeholder-blue-50:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#ebf5ff;color:rgba(235,245,255,var(--placeholder-opacity))}.lg\:focus\:placeholder-blue-50:focus::placeholder{--placeholder-opacity:1;color:#ebf5ff;color:rgba(235,245,255,var(--placeholder-opacity))}.lg\:focus\:placeholder-blue-100:focus::-moz-placeholder{--placeholder-opacity:1;color:#e1effe;color:rgba(225,239,254,var(--placeholder-opacity))}.lg\:focus\:placeholder-blue-100:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#e1effe;color:rgba(225,239,254,var(--placeholder-opacity))}.lg\:focus\:placeholder-blue-100:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#e1effe;color:rgba(225,239,254,var(--placeholder-opacity))}.lg\:focus\:placeholder-blue-100:focus::placeholder{--placeholder-opacity:1;color:#e1effe;color:rgba(225,239,254,var(--placeholder-opacity))}.lg\:focus\:placeholder-blue-200:focus::-moz-placeholder{--placeholder-opacity:1;color:#c3ddfd;color:rgba(195,221,253,var(--placeholder-opacity))}.lg\:focus\:placeholder-blue-200:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#c3ddfd;color:rgba(195,221,253,var(--placeholder-opacity))}.lg\:focus\:placeholder-blue-200:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#c3ddfd;color:rgba(195,221,253,var(--placeholder-opacity))}.lg\:focus\:placeholder-blue-200:focus::placeholder{--placeholder-opacity:1;color:#c3ddfd;color:rgba(195,221,253,var(--placeholder-opacity))}.lg\:focus\:placeholder-blue-300:focus::-moz-placeholder{--placeholder-opacity:1;color:#a4cafe;color:rgba(164,202,254,var(--placeholder-opacity))}.lg\:focus\:placeholder-blue-300:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#a4cafe;color:rgba(164,202,254,var(--placeholder-opacity))}.lg\:focus\:placeholder-blue-300:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#a4cafe;color:rgba(164,202,254,var(--placeholder-opacity))}.lg\:focus\:placeholder-blue-300:focus::placeholder{--placeholder-opacity:1;color:#a4cafe;color:rgba(164,202,254,var(--placeholder-opacity))}.lg\:focus\:placeholder-blue-400:focus::-moz-placeholder{--placeholder-opacity:1;color:#76a9fa;color:rgba(118,169,250,var(--placeholder-opacity))}.lg\:focus\:placeholder-blue-400:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#76a9fa;color:rgba(118,169,250,var(--placeholder-opacity))}.lg\:focus\:placeholder-blue-400:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#76a9fa;color:rgba(118,169,250,var(--placeholder-opacity))}.lg\:focus\:placeholder-blue-400:focus::placeholder{--placeholder-opacity:1;color:#76a9fa;color:rgba(118,169,250,var(--placeholder-opacity))}.lg\:focus\:placeholder-blue-500:focus::-moz-placeholder{--placeholder-opacity:1;color:#3f83f8;color:rgba(63,131,248,var(--placeholder-opacity))}.lg\:focus\:placeholder-blue-500:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#3f83f8;color:rgba(63,131,248,var(--placeholder-opacity))}.lg\:focus\:placeholder-blue-500:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#3f83f8;color:rgba(63,131,248,var(--placeholder-opacity))}.lg\:focus\:placeholder-blue-500:focus::placeholder{--placeholder-opacity:1;color:#3f83f8;color:rgba(63,131,248,var(--placeholder-opacity))}.lg\:focus\:placeholder-blue-600:focus::-moz-placeholder{--placeholder-opacity:1;color:#1c64f2;color:rgba(28,100,242,var(--placeholder-opacity))}.lg\:focus\:placeholder-blue-600:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#1c64f2;color:rgba(28,100,242,var(--placeholder-opacity))}.lg\:focus\:placeholder-blue-600:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#1c64f2;color:rgba(28,100,242,var(--placeholder-opacity))}.lg\:focus\:placeholder-blue-600:focus::placeholder{--placeholder-opacity:1;color:#1c64f2;color:rgba(28,100,242,var(--placeholder-opacity))}.lg\:focus\:placeholder-blue-700:focus::-moz-placeholder{--placeholder-opacity:1;color:#1a56db;color:rgba(26,86,219,var(--placeholder-opacity))}.lg\:focus\:placeholder-blue-700:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#1a56db;color:rgba(26,86,219,var(--placeholder-opacity))}.lg\:focus\:placeholder-blue-700:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#1a56db;color:rgba(26,86,219,var(--placeholder-opacity))}.lg\:focus\:placeholder-blue-700:focus::placeholder{--placeholder-opacity:1;color:#1a56db;color:rgba(26,86,219,var(--placeholder-opacity))}.lg\:focus\:placeholder-blue-800:focus::-moz-placeholder{--placeholder-opacity:1;color:#1e429f;color:rgba(30,66,159,var(--placeholder-opacity))}.lg\:focus\:placeholder-blue-800:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#1e429f;color:rgba(30,66,159,var(--placeholder-opacity))}.lg\:focus\:placeholder-blue-800:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#1e429f;color:rgba(30,66,159,var(--placeholder-opacity))}.lg\:focus\:placeholder-blue-800:focus::placeholder{--placeholder-opacity:1;color:#1e429f;color:rgba(30,66,159,var(--placeholder-opacity))}.lg\:focus\:placeholder-blue-900:focus::-moz-placeholder{--placeholder-opacity:1;color:#233876;color:rgba(35,56,118,var(--placeholder-opacity))}.lg\:focus\:placeholder-blue-900:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#233876;color:rgba(35,56,118,var(--placeholder-opacity))}.lg\:focus\:placeholder-blue-900:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#233876;color:rgba(35,56,118,var(--placeholder-opacity))}.lg\:focus\:placeholder-blue-900:focus::placeholder{--placeholder-opacity:1;color:#233876;color:rgba(35,56,118,var(--placeholder-opacity))}.lg\:focus\:placeholder-indigo-50:focus::-moz-placeholder{--placeholder-opacity:1;color:#f0f5ff;color:rgba(240,245,255,var(--placeholder-opacity))}.lg\:focus\:placeholder-indigo-50:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#f0f5ff;color:rgba(240,245,255,var(--placeholder-opacity))}.lg\:focus\:placeholder-indigo-50:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#f0f5ff;color:rgba(240,245,255,var(--placeholder-opacity))}.lg\:focus\:placeholder-indigo-50:focus::placeholder{--placeholder-opacity:1;color:#f0f5ff;color:rgba(240,245,255,var(--placeholder-opacity))}.lg\:focus\:placeholder-indigo-100:focus::-moz-placeholder{--placeholder-opacity:1;color:#e5edff;color:rgba(229,237,255,var(--placeholder-opacity))}.lg\:focus\:placeholder-indigo-100:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#e5edff;color:rgba(229,237,255,var(--placeholder-opacity))}.lg\:focus\:placeholder-indigo-100:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#e5edff;color:rgba(229,237,255,var(--placeholder-opacity))}.lg\:focus\:placeholder-indigo-100:focus::placeholder{--placeholder-opacity:1;color:#e5edff;color:rgba(229,237,255,var(--placeholder-opacity))}.lg\:focus\:placeholder-indigo-200:focus::-moz-placeholder{--placeholder-opacity:1;color:#cddbfe;color:rgba(205,219,254,var(--placeholder-opacity))}.lg\:focus\:placeholder-indigo-200:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#cddbfe;color:rgba(205,219,254,var(--placeholder-opacity))}.lg\:focus\:placeholder-indigo-200:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#cddbfe;color:rgba(205,219,254,var(--placeholder-opacity))}.lg\:focus\:placeholder-indigo-200:focus::placeholder{--placeholder-opacity:1;color:#cddbfe;color:rgba(205,219,254,var(--placeholder-opacity))}.lg\:focus\:placeholder-indigo-300:focus::-moz-placeholder{--placeholder-opacity:1;color:#b4c6fc;color:rgba(180,198,252,var(--placeholder-opacity))}.lg\:focus\:placeholder-indigo-300:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#b4c6fc;color:rgba(180,198,252,var(--placeholder-opacity))}.lg\:focus\:placeholder-indigo-300:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#b4c6fc;color:rgba(180,198,252,var(--placeholder-opacity))}.lg\:focus\:placeholder-indigo-300:focus::placeholder{--placeholder-opacity:1;color:#b4c6fc;color:rgba(180,198,252,var(--placeholder-opacity))}.lg\:focus\:placeholder-indigo-400:focus::-moz-placeholder{--placeholder-opacity:1;color:#8da2fb;color:rgba(141,162,251,var(--placeholder-opacity))}.lg\:focus\:placeholder-indigo-400:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#8da2fb;color:rgba(141,162,251,var(--placeholder-opacity))}.lg\:focus\:placeholder-indigo-400:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#8da2fb;color:rgba(141,162,251,var(--placeholder-opacity))}.lg\:focus\:placeholder-indigo-400:focus::placeholder{--placeholder-opacity:1;color:#8da2fb;color:rgba(141,162,251,var(--placeholder-opacity))}.lg\:focus\:placeholder-indigo-500:focus::-moz-placeholder{--placeholder-opacity:1;color:#6875f5;color:rgba(104,117,245,var(--placeholder-opacity))}.lg\:focus\:placeholder-indigo-500:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#6875f5;color:rgba(104,117,245,var(--placeholder-opacity))}.lg\:focus\:placeholder-indigo-500:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#6875f5;color:rgba(104,117,245,var(--placeholder-opacity))}.lg\:focus\:placeholder-indigo-500:focus::placeholder{--placeholder-opacity:1;color:#6875f5;color:rgba(104,117,245,var(--placeholder-opacity))}.lg\:focus\:placeholder-indigo-600:focus::-moz-placeholder{--placeholder-opacity:1;color:#5850ec;color:rgba(88,80,236,var(--placeholder-opacity))}.lg\:focus\:placeholder-indigo-600:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#5850ec;color:rgba(88,80,236,var(--placeholder-opacity))}.lg\:focus\:placeholder-indigo-600:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#5850ec;color:rgba(88,80,236,var(--placeholder-opacity))}.lg\:focus\:placeholder-indigo-600:focus::placeholder{--placeholder-opacity:1;color:#5850ec;color:rgba(88,80,236,var(--placeholder-opacity))}.lg\:focus\:placeholder-indigo-700:focus::-moz-placeholder{--placeholder-opacity:1;color:#5145cd;color:rgba(81,69,205,var(--placeholder-opacity))}.lg\:focus\:placeholder-indigo-700:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#5145cd;color:rgba(81,69,205,var(--placeholder-opacity))}.lg\:focus\:placeholder-indigo-700:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#5145cd;color:rgba(81,69,205,var(--placeholder-opacity))}.lg\:focus\:placeholder-indigo-700:focus::placeholder{--placeholder-opacity:1;color:#5145cd;color:rgba(81,69,205,var(--placeholder-opacity))}.lg\:focus\:placeholder-indigo-800:focus::-moz-placeholder{--placeholder-opacity:1;color:#42389d;color:rgba(66,56,157,var(--placeholder-opacity))}.lg\:focus\:placeholder-indigo-800:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#42389d;color:rgba(66,56,157,var(--placeholder-opacity))}.lg\:focus\:placeholder-indigo-800:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#42389d;color:rgba(66,56,157,var(--placeholder-opacity))}.lg\:focus\:placeholder-indigo-800:focus::placeholder{--placeholder-opacity:1;color:#42389d;color:rgba(66,56,157,var(--placeholder-opacity))}.lg\:focus\:placeholder-indigo-900:focus::-moz-placeholder{--placeholder-opacity:1;color:#362f78;color:rgba(54,47,120,var(--placeholder-opacity))}.lg\:focus\:placeholder-indigo-900:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#362f78;color:rgba(54,47,120,var(--placeholder-opacity))}.lg\:focus\:placeholder-indigo-900:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#362f78;color:rgba(54,47,120,var(--placeholder-opacity))}.lg\:focus\:placeholder-indigo-900:focus::placeholder{--placeholder-opacity:1;color:#362f78;color:rgba(54,47,120,var(--placeholder-opacity))}.lg\:focus\:placeholder-purple-50:focus::-moz-placeholder{--placeholder-opacity:1;color:#f6f5ff;color:rgba(246,245,255,var(--placeholder-opacity))}.lg\:focus\:placeholder-purple-50:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#f6f5ff;color:rgba(246,245,255,var(--placeholder-opacity))}.lg\:focus\:placeholder-purple-50:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#f6f5ff;color:rgba(246,245,255,var(--placeholder-opacity))}.lg\:focus\:placeholder-purple-50:focus::placeholder{--placeholder-opacity:1;color:#f6f5ff;color:rgba(246,245,255,var(--placeholder-opacity))}.lg\:focus\:placeholder-purple-100:focus::-moz-placeholder{--placeholder-opacity:1;color:#edebfe;color:rgba(237,235,254,var(--placeholder-opacity))}.lg\:focus\:placeholder-purple-100:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#edebfe;color:rgba(237,235,254,var(--placeholder-opacity))}.lg\:focus\:placeholder-purple-100:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#edebfe;color:rgba(237,235,254,var(--placeholder-opacity))}.lg\:focus\:placeholder-purple-100:focus::placeholder{--placeholder-opacity:1;color:#edebfe;color:rgba(237,235,254,var(--placeholder-opacity))}.lg\:focus\:placeholder-purple-200:focus::-moz-placeholder{--placeholder-opacity:1;color:#dcd7fe;color:rgba(220,215,254,var(--placeholder-opacity))}.lg\:focus\:placeholder-purple-200:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#dcd7fe;color:rgba(220,215,254,var(--placeholder-opacity))}.lg\:focus\:placeholder-purple-200:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#dcd7fe;color:rgba(220,215,254,var(--placeholder-opacity))}.lg\:focus\:placeholder-purple-200:focus::placeholder{--placeholder-opacity:1;color:#dcd7fe;color:rgba(220,215,254,var(--placeholder-opacity))}.lg\:focus\:placeholder-purple-300:focus::-moz-placeholder{--placeholder-opacity:1;color:#cabffd;color:rgba(202,191,253,var(--placeholder-opacity))}.lg\:focus\:placeholder-purple-300:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#cabffd;color:rgba(202,191,253,var(--placeholder-opacity))}.lg\:focus\:placeholder-purple-300:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#cabffd;color:rgba(202,191,253,var(--placeholder-opacity))}.lg\:focus\:placeholder-purple-300:focus::placeholder{--placeholder-opacity:1;color:#cabffd;color:rgba(202,191,253,var(--placeholder-opacity))}.lg\:focus\:placeholder-purple-400:focus::-moz-placeholder{--placeholder-opacity:1;color:#ac94fa;color:rgba(172,148,250,var(--placeholder-opacity))}.lg\:focus\:placeholder-purple-400:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#ac94fa;color:rgba(172,148,250,var(--placeholder-opacity))}.lg\:focus\:placeholder-purple-400:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#ac94fa;color:rgba(172,148,250,var(--placeholder-opacity))}.lg\:focus\:placeholder-purple-400:focus::placeholder{--placeholder-opacity:1;color:#ac94fa;color:rgba(172,148,250,var(--placeholder-opacity))}.lg\:focus\:placeholder-purple-500:focus::-moz-placeholder{--placeholder-opacity:1;color:#9061f9;color:rgba(144,97,249,var(--placeholder-opacity))}.lg\:focus\:placeholder-purple-500:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#9061f9;color:rgba(144,97,249,var(--placeholder-opacity))}.lg\:focus\:placeholder-purple-500:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#9061f9;color:rgba(144,97,249,var(--placeholder-opacity))}.lg\:focus\:placeholder-purple-500:focus::placeholder{--placeholder-opacity:1;color:#9061f9;color:rgba(144,97,249,var(--placeholder-opacity))}.lg\:focus\:placeholder-purple-600:focus::-moz-placeholder{--placeholder-opacity:1;color:#7e3af2;color:rgba(126,58,242,var(--placeholder-opacity))}.lg\:focus\:placeholder-purple-600:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#7e3af2;color:rgba(126,58,242,var(--placeholder-opacity))}.lg\:focus\:placeholder-purple-600:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#7e3af2;color:rgba(126,58,242,var(--placeholder-opacity))}.lg\:focus\:placeholder-purple-600:focus::placeholder{--placeholder-opacity:1;color:#7e3af2;color:rgba(126,58,242,var(--placeholder-opacity))}.lg\:focus\:placeholder-purple-700:focus::-moz-placeholder{--placeholder-opacity:1;color:#6c2bd9;color:rgba(108,43,217,var(--placeholder-opacity))}.lg\:focus\:placeholder-purple-700:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#6c2bd9;color:rgba(108,43,217,var(--placeholder-opacity))}.lg\:focus\:placeholder-purple-700:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#6c2bd9;color:rgba(108,43,217,var(--placeholder-opacity))}.lg\:focus\:placeholder-purple-700:focus::placeholder{--placeholder-opacity:1;color:#6c2bd9;color:rgba(108,43,217,var(--placeholder-opacity))}.lg\:focus\:placeholder-purple-800:focus::-moz-placeholder{--placeholder-opacity:1;color:#5521b5;color:rgba(85,33,181,var(--placeholder-opacity))}.lg\:focus\:placeholder-purple-800:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#5521b5;color:rgba(85,33,181,var(--placeholder-opacity))}.lg\:focus\:placeholder-purple-800:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#5521b5;color:rgba(85,33,181,var(--placeholder-opacity))}.lg\:focus\:placeholder-purple-800:focus::placeholder{--placeholder-opacity:1;color:#5521b5;color:rgba(85,33,181,var(--placeholder-opacity))}.lg\:focus\:placeholder-purple-900:focus::-moz-placeholder{--placeholder-opacity:1;color:#4a1d96;color:rgba(74,29,150,var(--placeholder-opacity))}.lg\:focus\:placeholder-purple-900:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#4a1d96;color:rgba(74,29,150,var(--placeholder-opacity))}.lg\:focus\:placeholder-purple-900:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#4a1d96;color:rgba(74,29,150,var(--placeholder-opacity))}.lg\:focus\:placeholder-purple-900:focus::placeholder{--placeholder-opacity:1;color:#4a1d96;color:rgba(74,29,150,var(--placeholder-opacity))}.lg\:focus\:placeholder-pink-50:focus::-moz-placeholder{--placeholder-opacity:1;color:#fdf2f8;color:rgba(253,242,248,var(--placeholder-opacity))}.lg\:focus\:placeholder-pink-50:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#fdf2f8;color:rgba(253,242,248,var(--placeholder-opacity))}.lg\:focus\:placeholder-pink-50:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#fdf2f8;color:rgba(253,242,248,var(--placeholder-opacity))}.lg\:focus\:placeholder-pink-50:focus::placeholder{--placeholder-opacity:1;color:#fdf2f8;color:rgba(253,242,248,var(--placeholder-opacity))}.lg\:focus\:placeholder-pink-100:focus::-moz-placeholder{--placeholder-opacity:1;color:#fce8f3;color:rgba(252,232,243,var(--placeholder-opacity))}.lg\:focus\:placeholder-pink-100:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#fce8f3;color:rgba(252,232,243,var(--placeholder-opacity))}.lg\:focus\:placeholder-pink-100:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#fce8f3;color:rgba(252,232,243,var(--placeholder-opacity))}.lg\:focus\:placeholder-pink-100:focus::placeholder{--placeholder-opacity:1;color:#fce8f3;color:rgba(252,232,243,var(--placeholder-opacity))}.lg\:focus\:placeholder-pink-200:focus::-moz-placeholder{--placeholder-opacity:1;color:#fad1e8;color:rgba(250,209,232,var(--placeholder-opacity))}.lg\:focus\:placeholder-pink-200:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#fad1e8;color:rgba(250,209,232,var(--placeholder-opacity))}.lg\:focus\:placeholder-pink-200:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#fad1e8;color:rgba(250,209,232,var(--placeholder-opacity))}.lg\:focus\:placeholder-pink-200:focus::placeholder{--placeholder-opacity:1;color:#fad1e8;color:rgba(250,209,232,var(--placeholder-opacity))}.lg\:focus\:placeholder-pink-300:focus::-moz-placeholder{--placeholder-opacity:1;color:#f8b4d9;color:rgba(248,180,217,var(--placeholder-opacity))}.lg\:focus\:placeholder-pink-300:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#f8b4d9;color:rgba(248,180,217,var(--placeholder-opacity))}.lg\:focus\:placeholder-pink-300:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#f8b4d9;color:rgba(248,180,217,var(--placeholder-opacity))}.lg\:focus\:placeholder-pink-300:focus::placeholder{--placeholder-opacity:1;color:#f8b4d9;color:rgba(248,180,217,var(--placeholder-opacity))}.lg\:focus\:placeholder-pink-400:focus::-moz-placeholder{--placeholder-opacity:1;color:#f17eb8;color:rgba(241,126,184,var(--placeholder-opacity))}.lg\:focus\:placeholder-pink-400:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#f17eb8;color:rgba(241,126,184,var(--placeholder-opacity))}.lg\:focus\:placeholder-pink-400:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#f17eb8;color:rgba(241,126,184,var(--placeholder-opacity))}.lg\:focus\:placeholder-pink-400:focus::placeholder{--placeholder-opacity:1;color:#f17eb8;color:rgba(241,126,184,var(--placeholder-opacity))}.lg\:focus\:placeholder-pink-500:focus::-moz-placeholder{--placeholder-opacity:1;color:#e74694;color:rgba(231,70,148,var(--placeholder-opacity))}.lg\:focus\:placeholder-pink-500:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#e74694;color:rgba(231,70,148,var(--placeholder-opacity))}.lg\:focus\:placeholder-pink-500:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#e74694;color:rgba(231,70,148,var(--placeholder-opacity))}.lg\:focus\:placeholder-pink-500:focus::placeholder{--placeholder-opacity:1;color:#e74694;color:rgba(231,70,148,var(--placeholder-opacity))}.lg\:focus\:placeholder-pink-600:focus::-moz-placeholder{--placeholder-opacity:1;color:#d61f69;color:rgba(214,31,105,var(--placeholder-opacity))}.lg\:focus\:placeholder-pink-600:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#d61f69;color:rgba(214,31,105,var(--placeholder-opacity))}.lg\:focus\:placeholder-pink-600:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#d61f69;color:rgba(214,31,105,var(--placeholder-opacity))}.lg\:focus\:placeholder-pink-600:focus::placeholder{--placeholder-opacity:1;color:#d61f69;color:rgba(214,31,105,var(--placeholder-opacity))}.lg\:focus\:placeholder-pink-700:focus::-moz-placeholder{--placeholder-opacity:1;color:#bf125d;color:rgba(191,18,93,var(--placeholder-opacity))}.lg\:focus\:placeholder-pink-700:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#bf125d;color:rgba(191,18,93,var(--placeholder-opacity))}.lg\:focus\:placeholder-pink-700:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#bf125d;color:rgba(191,18,93,var(--placeholder-opacity))}.lg\:focus\:placeholder-pink-700:focus::placeholder{--placeholder-opacity:1;color:#bf125d;color:rgba(191,18,93,var(--placeholder-opacity))}.lg\:focus\:placeholder-pink-800:focus::-moz-placeholder{--placeholder-opacity:1;color:#99154b;color:rgba(153,21,75,var(--placeholder-opacity))}.lg\:focus\:placeholder-pink-800:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#99154b;color:rgba(153,21,75,var(--placeholder-opacity))}.lg\:focus\:placeholder-pink-800:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#99154b;color:rgba(153,21,75,var(--placeholder-opacity))}.lg\:focus\:placeholder-pink-800:focus::placeholder{--placeholder-opacity:1;color:#99154b;color:rgba(153,21,75,var(--placeholder-opacity))}.lg\:focus\:placeholder-pink-900:focus::-moz-placeholder{--placeholder-opacity:1;color:#751a3d;color:rgba(117,26,61,var(--placeholder-opacity))}.lg\:focus\:placeholder-pink-900:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#751a3d;color:rgba(117,26,61,var(--placeholder-opacity))}.lg\:focus\:placeholder-pink-900:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#751a3d;color:rgba(117,26,61,var(--placeholder-opacity))}.lg\:focus\:placeholder-pink-900:focus::placeholder{--placeholder-opacity:1;color:#751a3d;color:rgba(117,26,61,var(--placeholder-opacity))}.lg\:placeholder-opacity-0::-moz-placeholder{--placeholder-opacity:0}.lg\:placeholder-opacity-0:-ms-input-placeholder{--placeholder-opacity:0}.lg\:placeholder-opacity-0::-ms-input-placeholder{--placeholder-opacity:0}.lg\:placeholder-opacity-0::placeholder{--placeholder-opacity:0}.lg\:placeholder-opacity-25::-moz-placeholder{--placeholder-opacity:0.25}.lg\:placeholder-opacity-25:-ms-input-placeholder{--placeholder-opacity:0.25}.lg\:placeholder-opacity-25::-ms-input-placeholder{--placeholder-opacity:0.25}.lg\:placeholder-opacity-25::placeholder{--placeholder-opacity:0.25}.lg\:placeholder-opacity-50::-moz-placeholder{--placeholder-opacity:0.5}.lg\:placeholder-opacity-50:-ms-input-placeholder{--placeholder-opacity:0.5}.lg\:placeholder-opacity-50::-ms-input-placeholder{--placeholder-opacity:0.5}.lg\:placeholder-opacity-50::placeholder{--placeholder-opacity:0.5}.lg\:placeholder-opacity-75::-moz-placeholder{--placeholder-opacity:0.75}.lg\:placeholder-opacity-75:-ms-input-placeholder{--placeholder-opacity:0.75}.lg\:placeholder-opacity-75::-ms-input-placeholder{--placeholder-opacity:0.75}.lg\:placeholder-opacity-75::placeholder{--placeholder-opacity:0.75}.lg\:placeholder-opacity-100::-moz-placeholder{--placeholder-opacity:1}.lg\:placeholder-opacity-100:-ms-input-placeholder{--placeholder-opacity:1}.lg\:placeholder-opacity-100::-ms-input-placeholder{--placeholder-opacity:1}.lg\:placeholder-opacity-100::placeholder{--placeholder-opacity:1}.lg\:focus\:placeholder-opacity-0:focus::-moz-placeholder{--placeholder-opacity:0}.lg\:focus\:placeholder-opacity-0:focus:-ms-input-placeholder{--placeholder-opacity:0}.lg\:focus\:placeholder-opacity-0:focus::-ms-input-placeholder{--placeholder-opacity:0}.lg\:focus\:placeholder-opacity-0:focus::placeholder{--placeholder-opacity:0}.lg\:focus\:placeholder-opacity-25:focus::-moz-placeholder{--placeholder-opacity:0.25}.lg\:focus\:placeholder-opacity-25:focus:-ms-input-placeholder{--placeholder-opacity:0.25}.lg\:focus\:placeholder-opacity-25:focus::-ms-input-placeholder{--placeholder-opacity:0.25}.lg\:focus\:placeholder-opacity-25:focus::placeholder{--placeholder-opacity:0.25}.lg\:focus\:placeholder-opacity-50:focus::-moz-placeholder{--placeholder-opacity:0.5}.lg\:focus\:placeholder-opacity-50:focus:-ms-input-placeholder{--placeholder-opacity:0.5}.lg\:focus\:placeholder-opacity-50:focus::-ms-input-placeholder{--placeholder-opacity:0.5}.lg\:focus\:placeholder-opacity-50:focus::placeholder{--placeholder-opacity:0.5}.lg\:focus\:placeholder-opacity-75:focus::-moz-placeholder{--placeholder-opacity:0.75}.lg\:focus\:placeholder-opacity-75:focus:-ms-input-placeholder{--placeholder-opacity:0.75}.lg\:focus\:placeholder-opacity-75:focus::-ms-input-placeholder{--placeholder-opacity:0.75}.lg\:focus\:placeholder-opacity-75:focus::placeholder{--placeholder-opacity:0.75}.lg\:focus\:placeholder-opacity-100:focus::-moz-placeholder{--placeholder-opacity:1}.lg\:focus\:placeholder-opacity-100:focus:-ms-input-placeholder{--placeholder-opacity:1}.lg\:focus\:placeholder-opacity-100:focus::-ms-input-placeholder{--placeholder-opacity:1}.lg\:focus\:placeholder-opacity-100:focus::placeholder{--placeholder-opacity:1}.lg\:pointer-events-none{pointer-events:none}.lg\:pointer-events-auto{pointer-events:auto}.lg\:static{position:static}.lg\:fixed{position:fixed}.lg\:absolute{position:absolute}.lg\:relative{position:relative}.lg\:sticky{position:-webkit-sticky;position:sticky}.lg\:inset-0{top:0;right:0;bottom:0;left:0}.lg\:inset-1{top:.25rem;right:.25rem;bottom:.25rem;left:.25rem}.lg\:inset-2{top:.5rem;right:.5rem;bottom:.5rem;left:.5rem}.lg\:inset-3{top:.75rem;right:.75rem;bottom:.75rem;left:.75rem}.lg\:inset-4{top:1rem;right:1rem;bottom:1rem;left:1rem}.lg\:inset-5{top:1.25rem;right:1.25rem;bottom:1.25rem;left:1.25rem}.lg\:inset-6{top:1.5rem;right:1.5rem;bottom:1.5rem;left:1.5rem}.lg\:inset-7{top:1.75rem;right:1.75rem;bottom:1.75rem;left:1.75rem}.lg\:inset-8{top:2rem;right:2rem;bottom:2rem;left:2rem}.lg\:inset-9{top:2.25rem;right:2.25rem;bottom:2.25rem;left:2.25rem}.lg\:inset-10{top:2.5rem;right:2.5rem;bottom:2.5rem;left:2.5rem}.lg\:inset-11{top:2.75rem;right:2.75rem;bottom:2.75rem;left:2.75rem}.lg\:inset-12{top:3rem;right:3rem;bottom:3rem;left:3rem}.lg\:inset-13{top:3.25rem;right:3.25rem;bottom:3.25rem;left:3.25rem}.lg\:inset-14{top:3.5rem;right:3.5rem;bottom:3.5rem;left:3.5rem}.lg\:inset-15{top:3.75rem;right:3.75rem;bottom:3.75rem;left:3.75rem}.lg\:inset-16{top:4rem;right:4rem;bottom:4rem;left:4rem}.lg\:inset-20{top:5rem;right:5rem;bottom:5rem;left:5rem}.lg\:inset-24{top:6rem;right:6rem;bottom:6rem;left:6rem}.lg\:inset-28{top:7rem;right:7rem;bottom:7rem;left:7rem}.lg\:inset-32{top:8rem;right:8rem;bottom:8rem;left:8rem}.lg\:inset-36{top:9rem;right:9rem;bottom:9rem;left:9rem}.lg\:inset-40{top:10rem;right:10rem;bottom:10rem;left:10rem}.lg\:inset-44{top:11rem;right:11rem;bottom:11rem;left:11rem}.lg\:inset-48{top:12rem;right:12rem;bottom:12rem;left:12rem}.lg\:inset-52{top:13rem;right:13rem;bottom:13rem;left:13rem}.lg\:inset-56{top:14rem;right:14rem;bottom:14rem;left:14rem}.lg\:inset-60{top:15rem;right:15rem;bottom:15rem;left:15rem}.lg\:inset-64{top:16rem;right:16rem;bottom:16rem;left:16rem}.lg\:inset-72{top:18rem;right:18rem;bottom:18rem;left:18rem}.lg\:inset-80{top:20rem;right:20rem;bottom:20rem;left:20rem}.lg\:inset-96{top:24rem;right:24rem;bottom:24rem;left:24rem}.lg\:inset-auto{top:auto;right:auto;bottom:auto;left:auto}.lg\:inset-px{top:1px;right:1px;bottom:1px;left:1px}.lg\:inset-0\.5{top:.125rem;right:.125rem;bottom:.125rem;left:.125rem}.lg\:inset-1\.5{top:.375rem;right:.375rem;bottom:.375rem;left:.375rem}.lg\:inset-2\.5{top:.625rem;right:.625rem;bottom:.625rem;left:.625rem}.lg\:inset-3\.5{top:.875rem;right:.875rem;bottom:.875rem;left:.875rem}.lg\:inset-1\/2{top:50%;right:50%;bottom:50%;left:50%}.lg\:inset-1\/3{top:33.333333%;right:33.333333%;bottom:33.333333%;left:33.333333%}.lg\:inset-2\/3{top:66.666667%;right:66.666667%;bottom:66.666667%;left:66.666667%}.lg\:inset-1\/4{top:25%;right:25%;bottom:25%;left:25%}.lg\:inset-2\/4{top:50%;right:50%;bottom:50%;left:50%}.lg\:inset-3\/4{top:75%;right:75%;bottom:75%;left:75%}.lg\:inset-1\/5{top:20%;right:20%;bottom:20%;left:20%}.lg\:inset-2\/5{top:40%;right:40%;bottom:40%;left:40%}.lg\:inset-3\/5{top:60%;right:60%;bottom:60%;left:60%}.lg\:inset-4\/5{top:80%;right:80%;bottom:80%;left:80%}.lg\:inset-1\/6{top:16.666667%;right:16.666667%;bottom:16.666667%;left:16.666667%}.lg\:inset-2\/6{top:33.333333%;right:33.333333%;bottom:33.333333%;left:33.333333%}.lg\:inset-3\/6{top:50%;right:50%;bottom:50%;left:50%}.lg\:inset-4\/6{top:66.666667%;right:66.666667%;bottom:66.666667%;left:66.666667%}.lg\:inset-5\/6{top:83.333333%;right:83.333333%;bottom:83.333333%;left:83.333333%}.lg\:inset-1\/12{top:8.333333%;right:8.333333%;bottom:8.333333%;left:8.333333%}.lg\:inset-2\/12{top:16.666667%;right:16.666667%;bottom:16.666667%;left:16.666667%}.lg\:inset-3\/12{top:25%;right:25%;bottom:25%;left:25%}.lg\:inset-4\/12{top:33.333333%;right:33.333333%;bottom:33.333333%;left:33.333333%}.lg\:inset-5\/12{top:41.666667%;right:41.666667%;bottom:41.666667%;left:41.666667%}.lg\:inset-6\/12{top:50%;right:50%;bottom:50%;left:50%}.lg\:inset-7\/12{top:58.333333%;right:58.333333%;bottom:58.333333%;left:58.333333%}.lg\:inset-8\/12{top:66.666667%;right:66.666667%;bottom:66.666667%;left:66.666667%}.lg\:inset-9\/12{top:75%;right:75%;bottom:75%;left:75%}.lg\:inset-10\/12{top:83.333333%;right:83.333333%;bottom:83.333333%;left:83.333333%}.lg\:inset-11\/12{top:91.666667%;right:91.666667%;bottom:91.666667%;left:91.666667%}.lg\:inset-full{top:100%;right:100%;bottom:100%;left:100%}.lg\:inset-y-0{top:0;bottom:0}.lg\:inset-x-0{right:0;left:0}.lg\:inset-y-1{top:.25rem;bottom:.25rem}.lg\:inset-x-1{right:.25rem;left:.25rem}.lg\:inset-y-2{top:.5rem;bottom:.5rem}.lg\:inset-x-2{right:.5rem;left:.5rem}.lg\:inset-y-3{top:.75rem;bottom:.75rem}.lg\:inset-x-3{right:.75rem;left:.75rem}.lg\:inset-y-4{top:1rem;bottom:1rem}.lg\:inset-x-4{right:1rem;left:1rem}.lg\:inset-y-5{top:1.25rem;bottom:1.25rem}.lg\:inset-x-5{right:1.25rem;left:1.25rem}.lg\:inset-y-6{top:1.5rem;bottom:1.5rem}.lg\:inset-x-6{right:1.5rem;left:1.5rem}.lg\:inset-y-7{top:1.75rem;bottom:1.75rem}.lg\:inset-x-7{right:1.75rem;left:1.75rem}.lg\:inset-y-8{top:2rem;bottom:2rem}.lg\:inset-x-8{right:2rem;left:2rem}.lg\:inset-y-9{top:2.25rem;bottom:2.25rem}.lg\:inset-x-9{right:2.25rem;left:2.25rem}.lg\:inset-y-10{top:2.5rem;bottom:2.5rem}.lg\:inset-x-10{right:2.5rem;left:2.5rem}.lg\:inset-y-11{top:2.75rem;bottom:2.75rem}.lg\:inset-x-11{right:2.75rem;left:2.75rem}.lg\:inset-y-12{top:3rem;bottom:3rem}.lg\:inset-x-12{right:3rem;left:3rem}.lg\:inset-y-13{top:3.25rem;bottom:3.25rem}.lg\:inset-x-13{right:3.25rem;left:3.25rem}.lg\:inset-y-14{top:3.5rem;bottom:3.5rem}.lg\:inset-x-14{right:3.5rem;left:3.5rem}.lg\:inset-y-15{top:3.75rem;bottom:3.75rem}.lg\:inset-x-15{right:3.75rem;left:3.75rem}.lg\:inset-y-16{top:4rem;bottom:4rem}.lg\:inset-x-16{right:4rem;left:4rem}.lg\:inset-y-20{top:5rem;bottom:5rem}.lg\:inset-x-20{right:5rem;left:5rem}.lg\:inset-y-24{top:6rem;bottom:6rem}.lg\:inset-x-24{right:6rem;left:6rem}.lg\:inset-y-28{top:7rem;bottom:7rem}.lg\:inset-x-28{right:7rem;left:7rem}.lg\:inset-y-32{top:8rem;bottom:8rem}.lg\:inset-x-32{right:8rem;left:8rem}.lg\:inset-y-36{top:9rem;bottom:9rem}.lg\:inset-x-36{right:9rem;left:9rem}.lg\:inset-y-40{top:10rem;bottom:10rem}.lg\:inset-x-40{right:10rem;left:10rem}.lg\:inset-y-44{top:11rem;bottom:11rem}.lg\:inset-x-44{right:11rem;left:11rem}.lg\:inset-y-48{top:12rem;bottom:12rem}.lg\:inset-x-48{right:12rem;left:12rem}.lg\:inset-y-52{top:13rem;bottom:13rem}.lg\:inset-x-52{right:13rem;left:13rem}.lg\:inset-y-56{top:14rem;bottom:14rem}.lg\:inset-x-56{right:14rem;left:14rem}.lg\:inset-y-60{top:15rem;bottom:15rem}.lg\:inset-x-60{right:15rem;left:15rem}.lg\:inset-y-64{top:16rem;bottom:16rem}.lg\:inset-x-64{right:16rem;left:16rem}.lg\:inset-y-72{top:18rem;bottom:18rem}.lg\:inset-x-72{right:18rem;left:18rem}.lg\:inset-y-80{top:20rem;bottom:20rem}.lg\:inset-x-80{right:20rem;left:20rem}.lg\:inset-y-96{top:24rem;bottom:24rem}.lg\:inset-x-96{right:24rem;left:24rem}.lg\:inset-y-auto{top:auto;bottom:auto}.lg\:inset-x-auto{right:auto;left:auto}.lg\:inset-y-px{top:1px;bottom:1px}.lg\:inset-x-px{right:1px;left:1px}.lg\:inset-y-0\.5{top:.125rem;bottom:.125rem}.lg\:inset-x-0\.5{right:.125rem;left:.125rem}.lg\:inset-y-1\.5{top:.375rem;bottom:.375rem}.lg\:inset-x-1\.5{right:.375rem;left:.375rem}.lg\:inset-y-2\.5{top:.625rem;bottom:.625rem}.lg\:inset-x-2\.5{right:.625rem;left:.625rem}.lg\:inset-y-3\.5{top:.875rem;bottom:.875rem}.lg\:inset-x-3\.5{right:.875rem;left:.875rem}.lg\:inset-y-1\/2{top:50%;bottom:50%}.lg\:inset-x-1\/2{right:50%;left:50%}.lg\:inset-y-1\/3{top:33.333333%;bottom:33.333333%}.lg\:inset-x-1\/3{right:33.333333%;left:33.333333%}.lg\:inset-y-2\/3{top:66.666667%;bottom:66.666667%}.lg\:inset-x-2\/3{right:66.666667%;left:66.666667%}.lg\:inset-y-1\/4{top:25%;bottom:25%}.lg\:inset-x-1\/4{right:25%;left:25%}.lg\:inset-y-2\/4{top:50%;bottom:50%}.lg\:inset-x-2\/4{right:50%;left:50%}.lg\:inset-y-3\/4{top:75%;bottom:75%}.lg\:inset-x-3\/4{right:75%;left:75%}.lg\:inset-y-1\/5{top:20%;bottom:20%}.lg\:inset-x-1\/5{right:20%;left:20%}.lg\:inset-y-2\/5{top:40%;bottom:40%}.lg\:inset-x-2\/5{right:40%;left:40%}.lg\:inset-y-3\/5{top:60%;bottom:60%}.lg\:inset-x-3\/5{right:60%;left:60%}.lg\:inset-y-4\/5{top:80%;bottom:80%}.lg\:inset-x-4\/5{right:80%;left:80%}.lg\:inset-y-1\/6{top:16.666667%;bottom:16.666667%}.lg\:inset-x-1\/6{right:16.666667%;left:16.666667%}.lg\:inset-y-2\/6{top:33.333333%;bottom:33.333333%}.lg\:inset-x-2\/6{right:33.333333%;left:33.333333%}.lg\:inset-y-3\/6{top:50%;bottom:50%}.lg\:inset-x-3\/6{right:50%;left:50%}.lg\:inset-y-4\/6{top:66.666667%;bottom:66.666667%}.lg\:inset-x-4\/6{right:66.666667%;left:66.666667%}.lg\:inset-y-5\/6{top:83.333333%;bottom:83.333333%}.lg\:inset-x-5\/6{right:83.333333%;left:83.333333%}.lg\:inset-y-1\/12{top:8.333333%;bottom:8.333333%}.lg\:inset-x-1\/12{right:8.333333%;left:8.333333%}.lg\:inset-y-2\/12{top:16.666667%;bottom:16.666667%}.lg\:inset-x-2\/12{right:16.666667%;left:16.666667%}.lg\:inset-y-3\/12{top:25%;bottom:25%}.lg\:inset-x-3\/12{right:25%;left:25%}.lg\:inset-y-4\/12{top:33.333333%;bottom:33.333333%}.lg\:inset-x-4\/12{right:33.333333%;left:33.333333%}.lg\:inset-y-5\/12{top:41.666667%;bottom:41.666667%}.lg\:inset-x-5\/12{right:41.666667%;left:41.666667%}.lg\:inset-y-6\/12{top:50%;bottom:50%}.lg\:inset-x-6\/12{right:50%;left:50%}.lg\:inset-y-7\/12{top:58.333333%;bottom:58.333333%}.lg\:inset-x-7\/12{right:58.333333%;left:58.333333%}.lg\:inset-y-8\/12{top:66.666667%;bottom:66.666667%}.lg\:inset-x-8\/12{right:66.666667%;left:66.666667%}.lg\:inset-y-9\/12{top:75%;bottom:75%}.lg\:inset-x-9\/12{right:75%;left:75%}.lg\:inset-y-10\/12{top:83.333333%;bottom:83.333333%}.lg\:inset-x-10\/12{right:83.333333%;left:83.333333%}.lg\:inset-y-11\/12{top:91.666667%;bottom:91.666667%}.lg\:inset-x-11\/12{right:91.666667%;left:91.666667%}.lg\:inset-y-full{top:100%;bottom:100%}.lg\:inset-x-full{right:100%;left:100%}.lg\:top-0{top:0}.lg\:right-0{right:0}.lg\:bottom-0{bottom:0}.lg\:left-0{left:0}.lg\:top-1{top:.25rem}.lg\:right-1{right:.25rem}.lg\:bottom-1{bottom:.25rem}.lg\:left-1{left:.25rem}.lg\:top-2{top:.5rem}.lg\:right-2{right:.5rem}.lg\:bottom-2{bottom:.5rem}.lg\:left-2{left:.5rem}.lg\:top-3{top:.75rem}.lg\:right-3{right:.75rem}.lg\:bottom-3{bottom:.75rem}.lg\:left-3{left:.75rem}.lg\:top-4{top:1rem}.lg\:right-4{right:1rem}.lg\:bottom-4{bottom:1rem}.lg\:left-4{left:1rem}.lg\:top-5{top:1.25rem}.lg\:right-5{right:1.25rem}.lg\:bottom-5{bottom:1.25rem}.lg\:left-5{left:1.25rem}.lg\:top-6{top:1.5rem}.lg\:right-6{right:1.5rem}.lg\:bottom-6{bottom:1.5rem}.lg\:left-6{left:1.5rem}.lg\:top-7{top:1.75rem}.lg\:right-7{right:1.75rem}.lg\:bottom-7{bottom:1.75rem}.lg\:left-7{left:1.75rem}.lg\:top-8{top:2rem}.lg\:right-8{right:2rem}.lg\:bottom-8{bottom:2rem}.lg\:left-8{left:2rem}.lg\:top-9{top:2.25rem}.lg\:right-9{right:2.25rem}.lg\:bottom-9{bottom:2.25rem}.lg\:left-9{left:2.25rem}.lg\:top-10{top:2.5rem}.lg\:right-10{right:2.5rem}.lg\:bottom-10{bottom:2.5rem}.lg\:left-10{left:2.5rem}.lg\:top-11{top:2.75rem}.lg\:right-11{right:2.75rem}.lg\:bottom-11{bottom:2.75rem}.lg\:left-11{left:2.75rem}.lg\:top-12{top:3rem}.lg\:right-12{right:3rem}.lg\:bottom-12{bottom:3rem}.lg\:left-12{left:3rem}.lg\:top-13{top:3.25rem}.lg\:right-13{right:3.25rem}.lg\:bottom-13{bottom:3.25rem}.lg\:left-13{left:3.25rem}.lg\:top-14{top:3.5rem}.lg\:right-14{right:3.5rem}.lg\:bottom-14{bottom:3.5rem}.lg\:left-14{left:3.5rem}.lg\:top-15{top:3.75rem}.lg\:right-15{right:3.75rem}.lg\:bottom-15{bottom:3.75rem}.lg\:left-15{left:3.75rem}.lg\:top-16{top:4rem}.lg\:right-16{right:4rem}.lg\:bottom-16{bottom:4rem}.lg\:left-16{left:4rem}.lg\:top-20{top:5rem}.lg\:right-20{right:5rem}.lg\:bottom-20{bottom:5rem}.lg\:left-20{left:5rem}.lg\:top-24{top:6rem}.lg\:right-24{right:6rem}.lg\:bottom-24{bottom:6rem}.lg\:left-24{left:6rem}.lg\:top-28{top:7rem}.lg\:right-28{right:7rem}.lg\:bottom-28{bottom:7rem}.lg\:left-28{left:7rem}.lg\:top-32{top:8rem}.lg\:right-32{right:8rem}.lg\:bottom-32{bottom:8rem}.lg\:left-32{left:8rem}.lg\:top-36{top:9rem}.lg\:right-36{right:9rem}.lg\:bottom-36{bottom:9rem}.lg\:left-36{left:9rem}.lg\:top-40{top:10rem}.lg\:right-40{right:10rem}.lg\:bottom-40{bottom:10rem}.lg\:left-40{left:10rem}.lg\:top-44{top:11rem}.lg\:right-44{right:11rem}.lg\:bottom-44{bottom:11rem}.lg\:left-44{left:11rem}.lg\:top-48{top:12rem}.lg\:right-48{right:12rem}.lg\:bottom-48{bottom:12rem}.lg\:left-48{left:12rem}.lg\:top-52{top:13rem}.lg\:right-52{right:13rem}.lg\:bottom-52{bottom:13rem}.lg\:left-52{left:13rem}.lg\:top-56{top:14rem}.lg\:right-56{right:14rem}.lg\:bottom-56{bottom:14rem}.lg\:left-56{left:14rem}.lg\:top-60{top:15rem}.lg\:right-60{right:15rem}.lg\:bottom-60{bottom:15rem}.lg\:left-60{left:15rem}.lg\:top-64{top:16rem}.lg\:right-64{right:16rem}.lg\:bottom-64{bottom:16rem}.lg\:left-64{left:16rem}.lg\:top-72{top:18rem}.lg\:right-72{right:18rem}.lg\:bottom-72{bottom:18rem}.lg\:left-72{left:18rem}.lg\:top-80{top:20rem}.lg\:right-80{right:20rem}.lg\:bottom-80{bottom:20rem}.lg\:left-80{left:20rem}.lg\:top-96{top:24rem}.lg\:right-96{right:24rem}.lg\:bottom-96{bottom:24rem}.lg\:left-96{left:24rem}.lg\:top-auto{top:auto}.lg\:right-auto{right:auto}.lg\:bottom-auto{bottom:auto}.lg\:left-auto{left:auto}.lg\:top-px{top:1px}.lg\:right-px{right:1px}.lg\:bottom-px{bottom:1px}.lg\:left-px{left:1px}.lg\:top-0\.5{top:.125rem}.lg\:right-0\.5{right:.125rem}.lg\:bottom-0\.5{bottom:.125rem}.lg\:left-0\.5{left:.125rem}.lg\:top-1\.5{top:.375rem}.lg\:right-1\.5{right:.375rem}.lg\:bottom-1\.5{bottom:.375rem}.lg\:left-1\.5{left:.375rem}.lg\:top-2\.5{top:.625rem}.lg\:right-2\.5{right:.625rem}.lg\:bottom-2\.5{bottom:.625rem}.lg\:left-2\.5{left:.625rem}.lg\:top-3\.5{top:.875rem}.lg\:right-3\.5{right:.875rem}.lg\:bottom-3\.5{bottom:.875rem}.lg\:left-3\.5{left:.875rem}.lg\:top-1\/2{top:50%}.lg\:right-1\/2{right:50%}.lg\:bottom-1\/2{bottom:50%}.lg\:left-1\/2{left:50%}.lg\:top-1\/3{top:33.333333%}.lg\:right-1\/3{right:33.333333%}.lg\:bottom-1\/3{bottom:33.333333%}.lg\:left-1\/3{left:33.333333%}.lg\:top-2\/3{top:66.666667%}.lg\:right-2\/3{right:66.666667%}.lg\:bottom-2\/3{bottom:66.666667%}.lg\:left-2\/3{left:66.666667%}.lg\:top-1\/4{top:25%}.lg\:right-1\/4{right:25%}.lg\:bottom-1\/4{bottom:25%}.lg\:left-1\/4{left:25%}.lg\:top-2\/4{top:50%}.lg\:right-2\/4{right:50%}.lg\:bottom-2\/4{bottom:50%}.lg\:left-2\/4{left:50%}.lg\:top-3\/4{top:75%}.lg\:right-3\/4{right:75%}.lg\:bottom-3\/4{bottom:75%}.lg\:left-3\/4{left:75%}.lg\:top-1\/5{top:20%}.lg\:right-1\/5{right:20%}.lg\:bottom-1\/5{bottom:20%}.lg\:left-1\/5{left:20%}.lg\:top-2\/5{top:40%}.lg\:right-2\/5{right:40%}.lg\:bottom-2\/5{bottom:40%}.lg\:left-2\/5{left:40%}.lg\:top-3\/5{top:60%}.lg\:right-3\/5{right:60%}.lg\:bottom-3\/5{bottom:60%}.lg\:left-3\/5{left:60%}.lg\:top-4\/5{top:80%}.lg\:right-4\/5{right:80%}.lg\:bottom-4\/5{bottom:80%}.lg\:left-4\/5{left:80%}.lg\:top-1\/6{top:16.666667%}.lg\:right-1\/6{right:16.666667%}.lg\:bottom-1\/6{bottom:16.666667%}.lg\:left-1\/6{left:16.666667%}.lg\:top-2\/6{top:33.333333%}.lg\:right-2\/6{right:33.333333%}.lg\:bottom-2\/6{bottom:33.333333%}.lg\:left-2\/6{left:33.333333%}.lg\:top-3\/6{top:50%}.lg\:right-3\/6{right:50%}.lg\:bottom-3\/6{bottom:50%}.lg\:left-3\/6{left:50%}.lg\:top-4\/6{top:66.666667%}.lg\:right-4\/6{right:66.666667%}.lg\:bottom-4\/6{bottom:66.666667%}.lg\:left-4\/6{left:66.666667%}.lg\:top-5\/6{top:83.333333%}.lg\:right-5\/6{right:83.333333%}.lg\:bottom-5\/6{bottom:83.333333%}.lg\:left-5\/6{left:83.333333%}.lg\:top-1\/12{top:8.333333%}.lg\:right-1\/12{right:8.333333%}.lg\:bottom-1\/12{bottom:8.333333%}.lg\:left-1\/12{left:8.333333%}.lg\:top-2\/12{top:16.666667%}.lg\:right-2\/12{right:16.666667%}.lg\:bottom-2\/12{bottom:16.666667%}.lg\:left-2\/12{left:16.666667%}.lg\:top-3\/12{top:25%}.lg\:right-3\/12{right:25%}.lg\:bottom-3\/12{bottom:25%}.lg\:left-3\/12{left:25%}.lg\:top-4\/12{top:33.333333%}.lg\:right-4\/12{right:33.333333%}.lg\:bottom-4\/12{bottom:33.333333%}.lg\:left-4\/12{left:33.333333%}.lg\:top-5\/12{top:41.666667%}.lg\:right-5\/12{right:41.666667%}.lg\:bottom-5\/12{bottom:41.666667%}.lg\:left-5\/12{left:41.666667%}.lg\:top-6\/12{top:50%}.lg\:right-6\/12{right:50%}.lg\:bottom-6\/12{bottom:50%}.lg\:left-6\/12{left:50%}.lg\:top-7\/12{top:58.333333%}.lg\:right-7\/12{right:58.333333%}.lg\:bottom-7\/12{bottom:58.333333%}.lg\:left-7\/12{left:58.333333%}.lg\:top-8\/12{top:66.666667%}.lg\:right-8\/12{right:66.666667%}.lg\:bottom-8\/12{bottom:66.666667%}.lg\:left-8\/12{left:66.666667%}.lg\:top-9\/12{top:75%}.lg\:right-9\/12{right:75%}.lg\:bottom-9\/12{bottom:75%}.lg\:left-9\/12{left:75%}.lg\:top-10\/12{top:83.333333%}.lg\:right-10\/12{right:83.333333%}.lg\:bottom-10\/12{bottom:83.333333%}.lg\:left-10\/12{left:83.333333%}.lg\:top-11\/12{top:91.666667%}.lg\:right-11\/12{right:91.666667%}.lg\:bottom-11\/12{bottom:91.666667%}.lg\:left-11\/12{left:91.666667%}.lg\:top-full{top:100%}.lg\:right-full{right:100%}.lg\:bottom-full{bottom:100%}.lg\:left-full{left:100%}.lg\:resize-none{resize:none}.lg\:resize-y{resize:vertical}.lg\:resize-x{resize:horizontal}.lg\:resize{resize:both}.lg\:shadow-xs{box-shadow:0 0 0 1px rgba(0,0,0,.05)}.lg\:shadow-sm{box-shadow:0 1px 2px 0 rgba(0,0,0,.05)}.lg\:shadow{box-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px 0 rgba(0,0,0,.06)}.lg\:shadow-md{box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06)}.lg\:shadow-lg{box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05)}.lg\:shadow-xl{box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04)}.lg\:shadow-2xl{box-shadow:0 25px 50px -12px rgba(0,0,0,.25)}.lg\:shadow-inner{box-shadow:inset 0 2px 4px 0 rgba(0,0,0,.06)}.lg\:shadow-outline{box-shadow:0 0 0 3px rgba(118,169,250,.45)}.lg\:shadow-none{box-shadow:none}.lg\:shadow-solid{box-shadow:0 0 0 2px currentColor}.lg\:shadow-outline-gray{box-shadow:0 0 0 3px rgba(159,166,178,.45)}.lg\:shadow-outline-blue{box-shadow:0 0 0 3px rgba(164,202,254,.45)}.lg\:shadow-outline-teal{box-shadow:0 0 0 3px rgba(126,220,226,.45)}.lg\:shadow-outline-green{box-shadow:0 0 0 3px rgba(132,225,188,.45)}.lg\:shadow-outline-yellow{box-shadow:0 0 0 3px rgba(250,202,21,.45)}.lg\:shadow-outline-orange{box-shadow:0 0 0 3px rgba(253,186,140,.45)}.lg\:shadow-outline-red{box-shadow:0 0 0 3px rgba(248,180,180,.45)}.lg\:shadow-outline-pink{box-shadow:0 0 0 3px rgba(248,180,217,.45)}.lg\:shadow-outline-purple{box-shadow:0 0 0 3px rgba(202,191,253,.45)}.lg\:shadow-outline-indigo{box-shadow:0 0 0 3px rgba(180,198,252,.45)}.group:focus .lg\:group-focus\:shadow-xs{box-shadow:0 0 0 1px rgba(0,0,0,.05)}.group:focus .lg\:group-focus\:shadow-sm{box-shadow:0 1px 2px 0 rgba(0,0,0,.05)}.group:focus .lg\:group-focus\:shadow{box-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px 0 rgba(0,0,0,.06)}.group:focus .lg\:group-focus\:shadow-md{box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06)}.group:focus .lg\:group-focus\:shadow-lg{box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05)}.group:focus .lg\:group-focus\:shadow-xl{box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04)}.group:focus .lg\:group-focus\:shadow-2xl{box-shadow:0 25px 50px -12px rgba(0,0,0,.25)}.group:focus .lg\:group-focus\:shadow-inner{box-shadow:inset 0 2px 4px 0 rgba(0,0,0,.06)}.group:focus .lg\:group-focus\:shadow-outline{box-shadow:0 0 0 3px rgba(118,169,250,.45)}.group:focus .lg\:group-focus\:shadow-none{box-shadow:none}.group:focus .lg\:group-focus\:shadow-solid{box-shadow:0 0 0 2px currentColor}.group:focus .lg\:group-focus\:shadow-outline-gray{box-shadow:0 0 0 3px rgba(159,166,178,.45)}.group:focus .lg\:group-focus\:shadow-outline-blue{box-shadow:0 0 0 3px rgba(164,202,254,.45)}.group:focus .lg\:group-focus\:shadow-outline-teal{box-shadow:0 0 0 3px rgba(126,220,226,.45)}.group:focus .lg\:group-focus\:shadow-outline-green{box-shadow:0 0 0 3px rgba(132,225,188,.45)}.group:focus .lg\:group-focus\:shadow-outline-yellow{box-shadow:0 0 0 3px rgba(250,202,21,.45)}.group:focus .lg\:group-focus\:shadow-outline-orange{box-shadow:0 0 0 3px rgba(253,186,140,.45)}.group:focus .lg\:group-focus\:shadow-outline-red{box-shadow:0 0 0 3px rgba(248,180,180,.45)}.group:focus .lg\:group-focus\:shadow-outline-pink{box-shadow:0 0 0 3px rgba(248,180,217,.45)}.group:focus .lg\:group-focus\:shadow-outline-purple{box-shadow:0 0 0 3px rgba(202,191,253,.45)}.group:focus .lg\:group-focus\:shadow-outline-indigo{box-shadow:0 0 0 3px rgba(180,198,252,.45)}.lg\:hover\:shadow-xs:hover{box-shadow:0 0 0 1px rgba(0,0,0,.05)}.lg\:hover\:shadow-sm:hover{box-shadow:0 1px 2px 0 rgba(0,0,0,.05)}.lg\:hover\:shadow:hover{box-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px 0 rgba(0,0,0,.06)}.lg\:hover\:shadow-md:hover{box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06)}.lg\:hover\:shadow-lg:hover{box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05)}.lg\:hover\:shadow-xl:hover{box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04)}.lg\:hover\:shadow-2xl:hover{box-shadow:0 25px 50px -12px rgba(0,0,0,.25)}.lg\:hover\:shadow-inner:hover{box-shadow:inset 0 2px 4px 0 rgba(0,0,0,.06)}.lg\:hover\:shadow-outline:hover{box-shadow:0 0 0 3px rgba(118,169,250,.45)}.lg\:hover\:shadow-none:hover{box-shadow:none}.lg\:hover\:shadow-solid:hover{box-shadow:0 0 0 2px currentColor}.lg\:hover\:shadow-outline-gray:hover{box-shadow:0 0 0 3px rgba(159,166,178,.45)}.lg\:hover\:shadow-outline-blue:hover{box-shadow:0 0 0 3px rgba(164,202,254,.45)}.lg\:hover\:shadow-outline-teal:hover{box-shadow:0 0 0 3px rgba(126,220,226,.45)}.lg\:hover\:shadow-outline-green:hover{box-shadow:0 0 0 3px rgba(132,225,188,.45)}.lg\:hover\:shadow-outline-yellow:hover{box-shadow:0 0 0 3px rgba(250,202,21,.45)}.lg\:hover\:shadow-outline-orange:hover{box-shadow:0 0 0 3px rgba(253,186,140,.45)}.lg\:hover\:shadow-outline-red:hover{box-shadow:0 0 0 3px rgba(248,180,180,.45)}.lg\:hover\:shadow-outline-pink:hover{box-shadow:0 0 0 3px rgba(248,180,217,.45)}.lg\:hover\:shadow-outline-purple:hover{box-shadow:0 0 0 3px rgba(202,191,253,.45)}.lg\:hover\:shadow-outline-indigo:hover{box-shadow:0 0 0 3px rgba(180,198,252,.45)}.lg\:focus\:shadow-xs:focus{box-shadow:0 0 0 1px rgba(0,0,0,.05)}.lg\:focus\:shadow-sm:focus{box-shadow:0 1px 2px 0 rgba(0,0,0,.05)}.lg\:focus\:shadow:focus{box-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px 0 rgba(0,0,0,.06)}.lg\:focus\:shadow-md:focus{box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06)}.lg\:focus\:shadow-lg:focus{box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05)}.lg\:focus\:shadow-xl:focus{box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04)}.lg\:focus\:shadow-2xl:focus{box-shadow:0 25px 50px -12px rgba(0,0,0,.25)}.lg\:focus\:shadow-inner:focus{box-shadow:inset 0 2px 4px 0 rgba(0,0,0,.06)}.lg\:focus\:shadow-outline:focus{box-shadow:0 0 0 3px rgba(118,169,250,.45)}.lg\:focus\:shadow-none:focus{box-shadow:none}.lg\:focus\:shadow-solid:focus{box-shadow:0 0 0 2px currentColor}.lg\:focus\:shadow-outline-gray:focus{box-shadow:0 0 0 3px rgba(159,166,178,.45)}.lg\:focus\:shadow-outline-blue:focus{box-shadow:0 0 0 3px rgba(164,202,254,.45)}.lg\:focus\:shadow-outline-teal:focus{box-shadow:0 0 0 3px rgba(126,220,226,.45)}.lg\:focus\:shadow-outline-green:focus{box-shadow:0 0 0 3px rgba(132,225,188,.45)}.lg\:focus\:shadow-outline-yellow:focus{box-shadow:0 0 0 3px rgba(250,202,21,.45)}.lg\:focus\:shadow-outline-orange:focus{box-shadow:0 0 0 3px rgba(253,186,140,.45)}.lg\:focus\:shadow-outline-red:focus{box-shadow:0 0 0 3px rgba(248,180,180,.45)}.lg\:focus\:shadow-outline-pink:focus{box-shadow:0 0 0 3px rgba(248,180,217,.45)}.lg\:focus\:shadow-outline-purple:focus{box-shadow:0 0 0 3px rgba(202,191,253,.45)}.lg\:focus\:shadow-outline-indigo:focus{box-shadow:0 0 0 3px rgba(180,198,252,.45)}.lg\:fill-current{fill:currentColor}.lg\:stroke-current{stroke:currentColor}.lg\:stroke-0{stroke-width:0}.lg\:stroke-1{stroke-width:1}.lg\:stroke-2{stroke-width:2}.lg\:table-auto{table-layout:auto}.lg\:table-fixed{table-layout:fixed}.lg\:text-left{text-align:left}.lg\:text-center{text-align:center}.lg\:text-right{text-align:right}.lg\:text-justify{text-align:justify}.lg\:text-transparent{color:transparent}.lg\:text-white{--text-opacity:1;color:#fff;color:rgba(255,255,255,var(--text-opacity))}.lg\:text-black{--text-opacity:1;color:#000;color:rgba(0,0,0,var(--text-opacity))}.lg\:text-gray-50{--text-opacity:1;color:#f9fafb;color:rgba(249,250,251,var(--text-opacity))}.lg\:text-gray-100{--text-opacity:1;color:#f4f5f7;color:rgba(244,245,247,var(--text-opacity))}.lg\:text-gray-200{--text-opacity:1;color:#e5e7eb;color:rgba(229,231,235,var(--text-opacity))}.lg\:text-gray-300{--text-opacity:1;color:#d2d6dc;color:rgba(210,214,220,var(--text-opacity))}.lg\:text-gray-400{--text-opacity:1;color:#9fa6b2;color:rgba(159,166,178,var(--text-opacity))}.lg\:text-gray-500{--text-opacity:1;color:#6b7280;color:rgba(107,114,128,var(--text-opacity))}.lg\:text-gray-600{--text-opacity:1;color:#4b5563;color:rgba(75,85,99,var(--text-opacity))}.lg\:text-gray-700{--text-opacity:1;color:#374151;color:rgba(55,65,81,var(--text-opacity))}.lg\:text-gray-800{--text-opacity:1;color:#252f3f;color:rgba(37,47,63,var(--text-opacity))}.lg\:text-gray-900{--text-opacity:1;color:#161e2e;color:rgba(22,30,46,var(--text-opacity))}.lg\:text-cool-gray-50{--text-opacity:1;color:#f8fafc;color:rgba(248,250,252,var(--text-opacity))}.lg\:text-cool-gray-100{--text-opacity:1;color:#f1f5f9;color:rgba(241,245,249,var(--text-opacity))}.lg\:text-cool-gray-200{--text-opacity:1;color:#e2e8f0;color:rgba(226,232,240,var(--text-opacity))}.lg\:text-cool-gray-300{--text-opacity:1;color:#cfd8e3;color:rgba(207,216,227,var(--text-opacity))}.lg\:text-cool-gray-400{--text-opacity:1;color:#97a6ba;color:rgba(151,166,186,var(--text-opacity))}.lg\:text-cool-gray-500{--text-opacity:1;color:#64748b;color:rgba(100,116,139,var(--text-opacity))}.lg\:text-cool-gray-600{--text-opacity:1;color:#475569;color:rgba(71,85,105,var(--text-opacity))}.lg\:text-cool-gray-700{--text-opacity:1;color:#364152;color:rgba(54,65,82,var(--text-opacity))}.lg\:text-cool-gray-800{--text-opacity:1;color:#27303f;color:rgba(39,48,63,var(--text-opacity))}.lg\:text-cool-gray-900{--text-opacity:1;color:#1a202e;color:rgba(26,32,46,var(--text-opacity))}.lg\:text-red-50{--text-opacity:1;color:#fdf2f2;color:rgba(253,242,242,var(--text-opacity))}.lg\:text-red-100{--text-opacity:1;color:#fde8e8;color:rgba(253,232,232,var(--text-opacity))}.lg\:text-red-200{--text-opacity:1;color:#fbd5d5;color:rgba(251,213,213,var(--text-opacity))}.lg\:text-red-300{--text-opacity:1;color:#f8b4b4;color:rgba(248,180,180,var(--text-opacity))}.lg\:text-red-400{--text-opacity:1;color:#f98080;color:rgba(249,128,128,var(--text-opacity))}.lg\:text-red-500{--text-opacity:1;color:#f05252;color:rgba(240,82,82,var(--text-opacity))}.lg\:text-red-600{--text-opacity:1;color:#e02424;color:rgba(224,36,36,var(--text-opacity))}.lg\:text-red-700{--text-opacity:1;color:#c81e1e;color:rgba(200,30,30,var(--text-opacity))}.lg\:text-red-800{--text-opacity:1;color:#9b1c1c;color:rgba(155,28,28,var(--text-opacity))}.lg\:text-red-900{--text-opacity:1;color:#771d1d;color:rgba(119,29,29,var(--text-opacity))}.lg\:text-orange-50{--text-opacity:1;color:#fff8f1;color:rgba(255,248,241,var(--text-opacity))}.lg\:text-orange-100{--text-opacity:1;color:#feecdc;color:rgba(254,236,220,var(--text-opacity))}.lg\:text-orange-200{--text-opacity:1;color:#fcd9bd;color:rgba(252,217,189,var(--text-opacity))}.lg\:text-orange-300{--text-opacity:1;color:#fdba8c;color:rgba(253,186,140,var(--text-opacity))}.lg\:text-orange-400{--text-opacity:1;color:#ff8a4c;color:rgba(255,138,76,var(--text-opacity))}.lg\:text-orange-500{--text-opacity:1;color:#ff5a1f;color:rgba(255,90,31,var(--text-opacity))}.lg\:text-orange-600{--text-opacity:1;color:#d03801;color:rgba(208,56,1,var(--text-opacity))}.lg\:text-orange-700{--text-opacity:1;color:#b43403;color:rgba(180,52,3,var(--text-opacity))}.lg\:text-orange-800{--text-opacity:1;color:#8a2c0d;color:rgba(138,44,13,var(--text-opacity))}.lg\:text-orange-900{--text-opacity:1;color:#73230d;color:rgba(115,35,13,var(--text-opacity))}.lg\:text-yellow-50{--text-opacity:1;color:#fdfdea;color:rgba(253,253,234,var(--text-opacity))}.lg\:text-yellow-100{--text-opacity:1;color:#fdf6b2;color:rgba(253,246,178,var(--text-opacity))}.lg\:text-yellow-200{--text-opacity:1;color:#fce96a;color:rgba(252,233,106,var(--text-opacity))}.lg\:text-yellow-300{--text-opacity:1;color:#faca15;color:rgba(250,202,21,var(--text-opacity))}.lg\:text-yellow-400{--text-opacity:1;color:#e3a008;color:rgba(227,160,8,var(--text-opacity))}.lg\:text-yellow-500{--text-opacity:1;color:#c27803;color:rgba(194,120,3,var(--text-opacity))}.lg\:text-yellow-600{--text-opacity:1;color:#9f580a;color:rgba(159,88,10,var(--text-opacity))}.lg\:text-yellow-700{--text-opacity:1;color:#8e4b10;color:rgba(142,75,16,var(--text-opacity))}.lg\:text-yellow-800{--text-opacity:1;color:#723b13;color:rgba(114,59,19,var(--text-opacity))}.lg\:text-yellow-900{--text-opacity:1;color:#633112;color:rgba(99,49,18,var(--text-opacity))}.lg\:text-green-50{--text-opacity:1;color:#f3faf7;color:rgba(243,250,247,var(--text-opacity))}.lg\:text-green-100{--text-opacity:1;color:#def7ec;color:rgba(222,247,236,var(--text-opacity))}.lg\:text-green-200{--text-opacity:1;color:#bcf0da;color:rgba(188,240,218,var(--text-opacity))}.lg\:text-green-300{--text-opacity:1;color:#84e1bc;color:rgba(132,225,188,var(--text-opacity))}.lg\:text-green-400{--text-opacity:1;color:#31c48d;color:rgba(49,196,141,var(--text-opacity))}.lg\:text-green-500{--text-opacity:1;color:#0e9f6e;color:rgba(14,159,110,var(--text-opacity))}.lg\:text-green-600{--text-opacity:1;color:#057a55;color:rgba(5,122,85,var(--text-opacity))}.lg\:text-green-700{--text-opacity:1;color:#046c4e;color:rgba(4,108,78,var(--text-opacity))}.lg\:text-green-800{--text-opacity:1;color:#03543f;color:rgba(3,84,63,var(--text-opacity))}.lg\:text-green-900{--text-opacity:1;color:#014737;color:rgba(1,71,55,var(--text-opacity))}.lg\:text-teal-50{--text-opacity:1;color:#edfafa;color:rgba(237,250,250,var(--text-opacity))}.lg\:text-teal-100{--text-opacity:1;color:#d5f5f6;color:rgba(213,245,246,var(--text-opacity))}.lg\:text-teal-200{--text-opacity:1;color:#afecef;color:rgba(175,236,239,var(--text-opacity))}.lg\:text-teal-300{--text-opacity:1;color:#7edce2;color:rgba(126,220,226,var(--text-opacity))}.lg\:text-teal-400{--text-opacity:1;color:#16bdca;color:rgba(22,189,202,var(--text-opacity))}.lg\:text-teal-500{--text-opacity:1;color:#0694a2;color:rgba(6,148,162,var(--text-opacity))}.lg\:text-teal-600{--text-opacity:1;color:#047481;color:rgba(4,116,129,var(--text-opacity))}.lg\:text-teal-700{--text-opacity:1;color:#036672;color:rgba(3,102,114,var(--text-opacity))}.lg\:text-teal-800{--text-opacity:1;color:#05505c;color:rgba(5,80,92,var(--text-opacity))}.lg\:text-teal-900{--text-opacity:1;color:#014451;color:rgba(1,68,81,var(--text-opacity))}.lg\:text-blue-50{--text-opacity:1;color:#ebf5ff;color:rgba(235,245,255,var(--text-opacity))}.lg\:text-blue-100{--text-opacity:1;color:#e1effe;color:rgba(225,239,254,var(--text-opacity))}.lg\:text-blue-200{--text-opacity:1;color:#c3ddfd;color:rgba(195,221,253,var(--text-opacity))}.lg\:text-blue-300{--text-opacity:1;color:#a4cafe;color:rgba(164,202,254,var(--text-opacity))}.lg\:text-blue-400{--text-opacity:1;color:#76a9fa;color:rgba(118,169,250,var(--text-opacity))}.lg\:text-blue-500{--text-opacity:1;color:#3f83f8;color:rgba(63,131,248,var(--text-opacity))}.lg\:text-blue-600{--text-opacity:1;color:#1c64f2;color:rgba(28,100,242,var(--text-opacity))}.lg\:text-blue-700{--text-opacity:1;color:#1a56db;color:rgba(26,86,219,var(--text-opacity))}.lg\:text-blue-800{--text-opacity:1;color:#1e429f;color:rgba(30,66,159,var(--text-opacity))}.lg\:text-blue-900{--text-opacity:1;color:#233876;color:rgba(35,56,118,var(--text-opacity))}.lg\:text-indigo-50{--text-opacity:1;color:#f0f5ff;color:rgba(240,245,255,var(--text-opacity))}.lg\:text-indigo-100{--text-opacity:1;color:#e5edff;color:rgba(229,237,255,var(--text-opacity))}.lg\:text-indigo-200{--text-opacity:1;color:#cddbfe;color:rgba(205,219,254,var(--text-opacity))}.lg\:text-indigo-300{--text-opacity:1;color:#b4c6fc;color:rgba(180,198,252,var(--text-opacity))}.lg\:text-indigo-400{--text-opacity:1;color:#8da2fb;color:rgba(141,162,251,var(--text-opacity))}.lg\:text-indigo-500{--text-opacity:1;color:#6875f5;color:rgba(104,117,245,var(--text-opacity))}.lg\:text-indigo-600{--text-opacity:1;color:#5850ec;color:rgba(88,80,236,var(--text-opacity))}.lg\:text-indigo-700{--text-opacity:1;color:#5145cd;color:rgba(81,69,205,var(--text-opacity))}.lg\:text-indigo-800{--text-opacity:1;color:#42389d;color:rgba(66,56,157,var(--text-opacity))}.lg\:text-indigo-900{--text-opacity:1;color:#362f78;color:rgba(54,47,120,var(--text-opacity))}.lg\:text-purple-50{--text-opacity:1;color:#f6f5ff;color:rgba(246,245,255,var(--text-opacity))}.lg\:text-purple-100{--text-opacity:1;color:#edebfe;color:rgba(237,235,254,var(--text-opacity))}.lg\:text-purple-200{--text-opacity:1;color:#dcd7fe;color:rgba(220,215,254,var(--text-opacity))}.lg\:text-purple-300{--text-opacity:1;color:#cabffd;color:rgba(202,191,253,var(--text-opacity))}.lg\:text-purple-400{--text-opacity:1;color:#ac94fa;color:rgba(172,148,250,var(--text-opacity))}.lg\:text-purple-500{--text-opacity:1;color:#9061f9;color:rgba(144,97,249,var(--text-opacity))}.lg\:text-purple-600{--text-opacity:1;color:#7e3af2;color:rgba(126,58,242,var(--text-opacity))}.lg\:text-purple-700{--text-opacity:1;color:#6c2bd9;color:rgba(108,43,217,var(--text-opacity))}.lg\:text-purple-800{--text-opacity:1;color:#5521b5;color:rgba(85,33,181,var(--text-opacity))}.lg\:text-purple-900{--text-opacity:1;color:#4a1d96;color:rgba(74,29,150,var(--text-opacity))}.lg\:text-pink-50{--text-opacity:1;color:#fdf2f8;color:rgba(253,242,248,var(--text-opacity))}.lg\:text-pink-100{--text-opacity:1;color:#fce8f3;color:rgba(252,232,243,var(--text-opacity))}.lg\:text-pink-200{--text-opacity:1;color:#fad1e8;color:rgba(250,209,232,var(--text-opacity))}.lg\:text-pink-300{--text-opacity:1;color:#f8b4d9;color:rgba(248,180,217,var(--text-opacity))}.lg\:text-pink-400{--text-opacity:1;color:#f17eb8;color:rgba(241,126,184,var(--text-opacity))}.lg\:text-pink-500{--text-opacity:1;color:#e74694;color:rgba(231,70,148,var(--text-opacity))}.lg\:text-pink-600{--text-opacity:1;color:#d61f69;color:rgba(214,31,105,var(--text-opacity))}.lg\:text-pink-700{--text-opacity:1;color:#bf125d;color:rgba(191,18,93,var(--text-opacity))}.lg\:text-pink-800{--text-opacity:1;color:#99154b;color:rgba(153,21,75,var(--text-opacity))}.lg\:text-pink-900{--text-opacity:1;color:#751a3d;color:rgba(117,26,61,var(--text-opacity))}.group:hover .lg\:group-hover\:text-transparent{color:transparent}.group:hover .lg\:group-hover\:text-white{--text-opacity:1;color:#fff;color:rgba(255,255,255,var(--text-opacity))}.group:hover .lg\:group-hover\:text-black{--text-opacity:1;color:#000;color:rgba(0,0,0,var(--text-opacity))}.group:hover .lg\:group-hover\:text-gray-50{--text-opacity:1;color:#f9fafb;color:rgba(249,250,251,var(--text-opacity))}.group:hover .lg\:group-hover\:text-gray-100{--text-opacity:1;color:#f4f5f7;color:rgba(244,245,247,var(--text-opacity))}.group:hover .lg\:group-hover\:text-gray-200{--text-opacity:1;color:#e5e7eb;color:rgba(229,231,235,var(--text-opacity))}.group:hover .lg\:group-hover\:text-gray-300{--text-opacity:1;color:#d2d6dc;color:rgba(210,214,220,var(--text-opacity))}.group:hover .lg\:group-hover\:text-gray-400{--text-opacity:1;color:#9fa6b2;color:rgba(159,166,178,var(--text-opacity))}.group:hover .lg\:group-hover\:text-gray-500{--text-opacity:1;color:#6b7280;color:rgba(107,114,128,var(--text-opacity))}.group:hover .lg\:group-hover\:text-gray-600{--text-opacity:1;color:#4b5563;color:rgba(75,85,99,var(--text-opacity))}.group:hover .lg\:group-hover\:text-gray-700{--text-opacity:1;color:#374151;color:rgba(55,65,81,var(--text-opacity))}.group:hover .lg\:group-hover\:text-gray-800{--text-opacity:1;color:#252f3f;color:rgba(37,47,63,var(--text-opacity))}.group:hover .lg\:group-hover\:text-gray-900{--text-opacity:1;color:#161e2e;color:rgba(22,30,46,var(--text-opacity))}.group:hover .lg\:group-hover\:text-cool-gray-50{--text-opacity:1;color:#f8fafc;color:rgba(248,250,252,var(--text-opacity))}.group:hover .lg\:group-hover\:text-cool-gray-100{--text-opacity:1;color:#f1f5f9;color:rgba(241,245,249,var(--text-opacity))}.group:hover .lg\:group-hover\:text-cool-gray-200{--text-opacity:1;color:#e2e8f0;color:rgba(226,232,240,var(--text-opacity))}.group:hover .lg\:group-hover\:text-cool-gray-300{--text-opacity:1;color:#cfd8e3;color:rgba(207,216,227,var(--text-opacity))}.group:hover .lg\:group-hover\:text-cool-gray-400{--text-opacity:1;color:#97a6ba;color:rgba(151,166,186,var(--text-opacity))}.group:hover .lg\:group-hover\:text-cool-gray-500{--text-opacity:1;color:#64748b;color:rgba(100,116,139,var(--text-opacity))}.group:hover .lg\:group-hover\:text-cool-gray-600{--text-opacity:1;color:#475569;color:rgba(71,85,105,var(--text-opacity))}.group:hover .lg\:group-hover\:text-cool-gray-700{--text-opacity:1;color:#364152;color:rgba(54,65,82,var(--text-opacity))}.group:hover .lg\:group-hover\:text-cool-gray-800{--text-opacity:1;color:#27303f;color:rgba(39,48,63,var(--text-opacity))}.group:hover .lg\:group-hover\:text-cool-gray-900{--text-opacity:1;color:#1a202e;color:rgba(26,32,46,var(--text-opacity))}.group:hover .lg\:group-hover\:text-red-50{--text-opacity:1;color:#fdf2f2;color:rgba(253,242,242,var(--text-opacity))}.group:hover .lg\:group-hover\:text-red-100{--text-opacity:1;color:#fde8e8;color:rgba(253,232,232,var(--text-opacity))}.group:hover .lg\:group-hover\:text-red-200{--text-opacity:1;color:#fbd5d5;color:rgba(251,213,213,var(--text-opacity))}.group:hover .lg\:group-hover\:text-red-300{--text-opacity:1;color:#f8b4b4;color:rgba(248,180,180,var(--text-opacity))}.group:hover .lg\:group-hover\:text-red-400{--text-opacity:1;color:#f98080;color:rgba(249,128,128,var(--text-opacity))}.group:hover .lg\:group-hover\:text-red-500{--text-opacity:1;color:#f05252;color:rgba(240,82,82,var(--text-opacity))}.group:hover .lg\:group-hover\:text-red-600{--text-opacity:1;color:#e02424;color:rgba(224,36,36,var(--text-opacity))}.group:hover .lg\:group-hover\:text-red-700{--text-opacity:1;color:#c81e1e;color:rgba(200,30,30,var(--text-opacity))}.group:hover .lg\:group-hover\:text-red-800{--text-opacity:1;color:#9b1c1c;color:rgba(155,28,28,var(--text-opacity))}.group:hover .lg\:group-hover\:text-red-900{--text-opacity:1;color:#771d1d;color:rgba(119,29,29,var(--text-opacity))}.group:hover .lg\:group-hover\:text-orange-50{--text-opacity:1;color:#fff8f1;color:rgba(255,248,241,var(--text-opacity))}.group:hover .lg\:group-hover\:text-orange-100{--text-opacity:1;color:#feecdc;color:rgba(254,236,220,var(--text-opacity))}.group:hover .lg\:group-hover\:text-orange-200{--text-opacity:1;color:#fcd9bd;color:rgba(252,217,189,var(--text-opacity))}.group:hover .lg\:group-hover\:text-orange-300{--text-opacity:1;color:#fdba8c;color:rgba(253,186,140,var(--text-opacity))}.group:hover .lg\:group-hover\:text-orange-400{--text-opacity:1;color:#ff8a4c;color:rgba(255,138,76,var(--text-opacity))}.group:hover .lg\:group-hover\:text-orange-500{--text-opacity:1;color:#ff5a1f;color:rgba(255,90,31,var(--text-opacity))}.group:hover .lg\:group-hover\:text-orange-600{--text-opacity:1;color:#d03801;color:rgba(208,56,1,var(--text-opacity))}.group:hover .lg\:group-hover\:text-orange-700{--text-opacity:1;color:#b43403;color:rgba(180,52,3,var(--text-opacity))}.group:hover .lg\:group-hover\:text-orange-800{--text-opacity:1;color:#8a2c0d;color:rgba(138,44,13,var(--text-opacity))}.group:hover .lg\:group-hover\:text-orange-900{--text-opacity:1;color:#73230d;color:rgba(115,35,13,var(--text-opacity))}.group:hover .lg\:group-hover\:text-yellow-50{--text-opacity:1;color:#fdfdea;color:rgba(253,253,234,var(--text-opacity))}.group:hover .lg\:group-hover\:text-yellow-100{--text-opacity:1;color:#fdf6b2;color:rgba(253,246,178,var(--text-opacity))}.group:hover .lg\:group-hover\:text-yellow-200{--text-opacity:1;color:#fce96a;color:rgba(252,233,106,var(--text-opacity))}.group:hover .lg\:group-hover\:text-yellow-300{--text-opacity:1;color:#faca15;color:rgba(250,202,21,var(--text-opacity))}.group:hover .lg\:group-hover\:text-yellow-400{--text-opacity:1;color:#e3a008;color:rgba(227,160,8,var(--text-opacity))}.group:hover .lg\:group-hover\:text-yellow-500{--text-opacity:1;color:#c27803;color:rgba(194,120,3,var(--text-opacity))}.group:hover .lg\:group-hover\:text-yellow-600{--text-opacity:1;color:#9f580a;color:rgba(159,88,10,var(--text-opacity))}.group:hover .lg\:group-hover\:text-yellow-700{--text-opacity:1;color:#8e4b10;color:rgba(142,75,16,var(--text-opacity))}.group:hover .lg\:group-hover\:text-yellow-800{--text-opacity:1;color:#723b13;color:rgba(114,59,19,var(--text-opacity))}.group:hover .lg\:group-hover\:text-yellow-900{--text-opacity:1;color:#633112;color:rgba(99,49,18,var(--text-opacity))}.group:hover .lg\:group-hover\:text-green-50{--text-opacity:1;color:#f3faf7;color:rgba(243,250,247,var(--text-opacity))}.group:hover .lg\:group-hover\:text-green-100{--text-opacity:1;color:#def7ec;color:rgba(222,247,236,var(--text-opacity))}.group:hover .lg\:group-hover\:text-green-200{--text-opacity:1;color:#bcf0da;color:rgba(188,240,218,var(--text-opacity))}.group:hover .lg\:group-hover\:text-green-300{--text-opacity:1;color:#84e1bc;color:rgba(132,225,188,var(--text-opacity))}.group:hover .lg\:group-hover\:text-green-400{--text-opacity:1;color:#31c48d;color:rgba(49,196,141,var(--text-opacity))}.group:hover .lg\:group-hover\:text-green-500{--text-opacity:1;color:#0e9f6e;color:rgba(14,159,110,var(--text-opacity))}.group:hover .lg\:group-hover\:text-green-600{--text-opacity:1;color:#057a55;color:rgba(5,122,85,var(--text-opacity))}.group:hover .lg\:group-hover\:text-green-700{--text-opacity:1;color:#046c4e;color:rgba(4,108,78,var(--text-opacity))}.group:hover .lg\:group-hover\:text-green-800{--text-opacity:1;color:#03543f;color:rgba(3,84,63,var(--text-opacity))}.group:hover .lg\:group-hover\:text-green-900{--text-opacity:1;color:#014737;color:rgba(1,71,55,var(--text-opacity))}.group:hover .lg\:group-hover\:text-teal-50{--text-opacity:1;color:#edfafa;color:rgba(237,250,250,var(--text-opacity))}.group:hover .lg\:group-hover\:text-teal-100{--text-opacity:1;color:#d5f5f6;color:rgba(213,245,246,var(--text-opacity))}.group:hover .lg\:group-hover\:text-teal-200{--text-opacity:1;color:#afecef;color:rgba(175,236,239,var(--text-opacity))}.group:hover .lg\:group-hover\:text-teal-300{--text-opacity:1;color:#7edce2;color:rgba(126,220,226,var(--text-opacity))}.group:hover .lg\:group-hover\:text-teal-400{--text-opacity:1;color:#16bdca;color:rgba(22,189,202,var(--text-opacity))}.group:hover .lg\:group-hover\:text-teal-500{--text-opacity:1;color:#0694a2;color:rgba(6,148,162,var(--text-opacity))}.group:hover .lg\:group-hover\:text-teal-600{--text-opacity:1;color:#047481;color:rgba(4,116,129,var(--text-opacity))}.group:hover .lg\:group-hover\:text-teal-700{--text-opacity:1;color:#036672;color:rgba(3,102,114,var(--text-opacity))}.group:hover .lg\:group-hover\:text-teal-800{--text-opacity:1;color:#05505c;color:rgba(5,80,92,var(--text-opacity))}.group:hover .lg\:group-hover\:text-teal-900{--text-opacity:1;color:#014451;color:rgba(1,68,81,var(--text-opacity))}.group:hover .lg\:group-hover\:text-blue-50{--text-opacity:1;color:#ebf5ff;color:rgba(235,245,255,var(--text-opacity))}.group:hover .lg\:group-hover\:text-blue-100{--text-opacity:1;color:#e1effe;color:rgba(225,239,254,var(--text-opacity))}.group:hover .lg\:group-hover\:text-blue-200{--text-opacity:1;color:#c3ddfd;color:rgba(195,221,253,var(--text-opacity))}.group:hover .lg\:group-hover\:text-blue-300{--text-opacity:1;color:#a4cafe;color:rgba(164,202,254,var(--text-opacity))}.group:hover .lg\:group-hover\:text-blue-400{--text-opacity:1;color:#76a9fa;color:rgba(118,169,250,var(--text-opacity))}.group:hover .lg\:group-hover\:text-blue-500{--text-opacity:1;color:#3f83f8;color:rgba(63,131,248,var(--text-opacity))}.group:hover .lg\:group-hover\:text-blue-600{--text-opacity:1;color:#1c64f2;color:rgba(28,100,242,var(--text-opacity))}.group:hover .lg\:group-hover\:text-blue-700{--text-opacity:1;color:#1a56db;color:rgba(26,86,219,var(--text-opacity))}.group:hover .lg\:group-hover\:text-blue-800{--text-opacity:1;color:#1e429f;color:rgba(30,66,159,var(--text-opacity))}.group:hover .lg\:group-hover\:text-blue-900{--text-opacity:1;color:#233876;color:rgba(35,56,118,var(--text-opacity))}.group:hover .lg\:group-hover\:text-indigo-50{--text-opacity:1;color:#f0f5ff;color:rgba(240,245,255,var(--text-opacity))}.group:hover .lg\:group-hover\:text-indigo-100{--text-opacity:1;color:#e5edff;color:rgba(229,237,255,var(--text-opacity))}.group:hover .lg\:group-hover\:text-indigo-200{--text-opacity:1;color:#cddbfe;color:rgba(205,219,254,var(--text-opacity))}.group:hover .lg\:group-hover\:text-indigo-300{--text-opacity:1;color:#b4c6fc;color:rgba(180,198,252,var(--text-opacity))}.group:hover .lg\:group-hover\:text-indigo-400{--text-opacity:1;color:#8da2fb;color:rgba(141,162,251,var(--text-opacity))}.group:hover .lg\:group-hover\:text-indigo-500{--text-opacity:1;color:#6875f5;color:rgba(104,117,245,var(--text-opacity))}.group:hover .lg\:group-hover\:text-indigo-600{--text-opacity:1;color:#5850ec;color:rgba(88,80,236,var(--text-opacity))}.group:hover .lg\:group-hover\:text-indigo-700{--text-opacity:1;color:#5145cd;color:rgba(81,69,205,var(--text-opacity))}.group:hover .lg\:group-hover\:text-indigo-800{--text-opacity:1;color:#42389d;color:rgba(66,56,157,var(--text-opacity))}.group:hover .lg\:group-hover\:text-indigo-900{--text-opacity:1;color:#362f78;color:rgba(54,47,120,var(--text-opacity))}.group:hover .lg\:group-hover\:text-purple-50{--text-opacity:1;color:#f6f5ff;color:rgba(246,245,255,var(--text-opacity))}.group:hover .lg\:group-hover\:text-purple-100{--text-opacity:1;color:#edebfe;color:rgba(237,235,254,var(--text-opacity))}.group:hover .lg\:group-hover\:text-purple-200{--text-opacity:1;color:#dcd7fe;color:rgba(220,215,254,var(--text-opacity))}.group:hover .lg\:group-hover\:text-purple-300{--text-opacity:1;color:#cabffd;color:rgba(202,191,253,var(--text-opacity))}.group:hover .lg\:group-hover\:text-purple-400{--text-opacity:1;color:#ac94fa;color:rgba(172,148,250,var(--text-opacity))}.group:hover .lg\:group-hover\:text-purple-500{--text-opacity:1;color:#9061f9;color:rgba(144,97,249,var(--text-opacity))}.group:hover .lg\:group-hover\:text-purple-600{--text-opacity:1;color:#7e3af2;color:rgba(126,58,242,var(--text-opacity))}.group:hover .lg\:group-hover\:text-purple-700{--text-opacity:1;color:#6c2bd9;color:rgba(108,43,217,var(--text-opacity))}.group:hover .lg\:group-hover\:text-purple-800{--text-opacity:1;color:#5521b5;color:rgba(85,33,181,var(--text-opacity))}.group:hover .lg\:group-hover\:text-purple-900{--text-opacity:1;color:#4a1d96;color:rgba(74,29,150,var(--text-opacity))}.group:hover .lg\:group-hover\:text-pink-50{--text-opacity:1;color:#fdf2f8;color:rgba(253,242,248,var(--text-opacity))}.group:hover .lg\:group-hover\:text-pink-100{--text-opacity:1;color:#fce8f3;color:rgba(252,232,243,var(--text-opacity))}.group:hover .lg\:group-hover\:text-pink-200{--text-opacity:1;color:#fad1e8;color:rgba(250,209,232,var(--text-opacity))}.group:hover .lg\:group-hover\:text-pink-300{--text-opacity:1;color:#f8b4d9;color:rgba(248,180,217,var(--text-opacity))}.group:hover .lg\:group-hover\:text-pink-400{--text-opacity:1;color:#f17eb8;color:rgba(241,126,184,var(--text-opacity))}.group:hover .lg\:group-hover\:text-pink-500{--text-opacity:1;color:#e74694;color:rgba(231,70,148,var(--text-opacity))}.group:hover .lg\:group-hover\:text-pink-600{--text-opacity:1;color:#d61f69;color:rgba(214,31,105,var(--text-opacity))}.group:hover .lg\:group-hover\:text-pink-700{--text-opacity:1;color:#bf125d;color:rgba(191,18,93,var(--text-opacity))}.group:hover .lg\:group-hover\:text-pink-800{--text-opacity:1;color:#99154b;color:rgba(153,21,75,var(--text-opacity))}.group:hover .lg\:group-hover\:text-pink-900{--text-opacity:1;color:#751a3d;color:rgba(117,26,61,var(--text-opacity))}.group:focus .lg\:group-focus\:text-transparent{color:transparent}.group:focus .lg\:group-focus\:text-white{--text-opacity:1;color:#fff;color:rgba(255,255,255,var(--text-opacity))}.group:focus .lg\:group-focus\:text-black{--text-opacity:1;color:#000;color:rgba(0,0,0,var(--text-opacity))}.group:focus .lg\:group-focus\:text-gray-50{--text-opacity:1;color:#f9fafb;color:rgba(249,250,251,var(--text-opacity))}.group:focus .lg\:group-focus\:text-gray-100{--text-opacity:1;color:#f4f5f7;color:rgba(244,245,247,var(--text-opacity))}.group:focus .lg\:group-focus\:text-gray-200{--text-opacity:1;color:#e5e7eb;color:rgba(229,231,235,var(--text-opacity))}.group:focus .lg\:group-focus\:text-gray-300{--text-opacity:1;color:#d2d6dc;color:rgba(210,214,220,var(--text-opacity))}.group:focus .lg\:group-focus\:text-gray-400{--text-opacity:1;color:#9fa6b2;color:rgba(159,166,178,var(--text-opacity))}.group:focus .lg\:group-focus\:text-gray-500{--text-opacity:1;color:#6b7280;color:rgba(107,114,128,var(--text-opacity))}.group:focus .lg\:group-focus\:text-gray-600{--text-opacity:1;color:#4b5563;color:rgba(75,85,99,var(--text-opacity))}.group:focus .lg\:group-focus\:text-gray-700{--text-opacity:1;color:#374151;color:rgba(55,65,81,var(--text-opacity))}.group:focus .lg\:group-focus\:text-gray-800{--text-opacity:1;color:#252f3f;color:rgba(37,47,63,var(--text-opacity))}.group:focus .lg\:group-focus\:text-gray-900{--text-opacity:1;color:#161e2e;color:rgba(22,30,46,var(--text-opacity))}.group:focus .lg\:group-focus\:text-cool-gray-50{--text-opacity:1;color:#f8fafc;color:rgba(248,250,252,var(--text-opacity))}.group:focus .lg\:group-focus\:text-cool-gray-100{--text-opacity:1;color:#f1f5f9;color:rgba(241,245,249,var(--text-opacity))}.group:focus .lg\:group-focus\:text-cool-gray-200{--text-opacity:1;color:#e2e8f0;color:rgba(226,232,240,var(--text-opacity))}.group:focus .lg\:group-focus\:text-cool-gray-300{--text-opacity:1;color:#cfd8e3;color:rgba(207,216,227,var(--text-opacity))}.group:focus .lg\:group-focus\:text-cool-gray-400{--text-opacity:1;color:#97a6ba;color:rgba(151,166,186,var(--text-opacity))}.group:focus .lg\:group-focus\:text-cool-gray-500{--text-opacity:1;color:#64748b;color:rgba(100,116,139,var(--text-opacity))}.group:focus .lg\:group-focus\:text-cool-gray-600{--text-opacity:1;color:#475569;color:rgba(71,85,105,var(--text-opacity))}.group:focus .lg\:group-focus\:text-cool-gray-700{--text-opacity:1;color:#364152;color:rgba(54,65,82,var(--text-opacity))}.group:focus .lg\:group-focus\:text-cool-gray-800{--text-opacity:1;color:#27303f;color:rgba(39,48,63,var(--text-opacity))}.group:focus .lg\:group-focus\:text-cool-gray-900{--text-opacity:1;color:#1a202e;color:rgba(26,32,46,var(--text-opacity))}.group:focus .lg\:group-focus\:text-red-50{--text-opacity:1;color:#fdf2f2;color:rgba(253,242,242,var(--text-opacity))}.group:focus .lg\:group-focus\:text-red-100{--text-opacity:1;color:#fde8e8;color:rgba(253,232,232,var(--text-opacity))}.group:focus .lg\:group-focus\:text-red-200{--text-opacity:1;color:#fbd5d5;color:rgba(251,213,213,var(--text-opacity))}.group:focus .lg\:group-focus\:text-red-300{--text-opacity:1;color:#f8b4b4;color:rgba(248,180,180,var(--text-opacity))}.group:focus .lg\:group-focus\:text-red-400{--text-opacity:1;color:#f98080;color:rgba(249,128,128,var(--text-opacity))}.group:focus .lg\:group-focus\:text-red-500{--text-opacity:1;color:#f05252;color:rgba(240,82,82,var(--text-opacity))}.group:focus .lg\:group-focus\:text-red-600{--text-opacity:1;color:#e02424;color:rgba(224,36,36,var(--text-opacity))}.group:focus .lg\:group-focus\:text-red-700{--text-opacity:1;color:#c81e1e;color:rgba(200,30,30,var(--text-opacity))}.group:focus .lg\:group-focus\:text-red-800{--text-opacity:1;color:#9b1c1c;color:rgba(155,28,28,var(--text-opacity))}.group:focus .lg\:group-focus\:text-red-900{--text-opacity:1;color:#771d1d;color:rgba(119,29,29,var(--text-opacity))}.group:focus .lg\:group-focus\:text-orange-50{--text-opacity:1;color:#fff8f1;color:rgba(255,248,241,var(--text-opacity))}.group:focus .lg\:group-focus\:text-orange-100{--text-opacity:1;color:#feecdc;color:rgba(254,236,220,var(--text-opacity))}.group:focus .lg\:group-focus\:text-orange-200{--text-opacity:1;color:#fcd9bd;color:rgba(252,217,189,var(--text-opacity))}.group:focus .lg\:group-focus\:text-orange-300{--text-opacity:1;color:#fdba8c;color:rgba(253,186,140,var(--text-opacity))}.group:focus .lg\:group-focus\:text-orange-400{--text-opacity:1;color:#ff8a4c;color:rgba(255,138,76,var(--text-opacity))}.group:focus .lg\:group-focus\:text-orange-500{--text-opacity:1;color:#ff5a1f;color:rgba(255,90,31,var(--text-opacity))}.group:focus .lg\:group-focus\:text-orange-600{--text-opacity:1;color:#d03801;color:rgba(208,56,1,var(--text-opacity))}.group:focus .lg\:group-focus\:text-orange-700{--text-opacity:1;color:#b43403;color:rgba(180,52,3,var(--text-opacity))}.group:focus .lg\:group-focus\:text-orange-800{--text-opacity:1;color:#8a2c0d;color:rgba(138,44,13,var(--text-opacity))}.group:focus .lg\:group-focus\:text-orange-900{--text-opacity:1;color:#73230d;color:rgba(115,35,13,var(--text-opacity))}.group:focus .lg\:group-focus\:text-yellow-50{--text-opacity:1;color:#fdfdea;color:rgba(253,253,234,var(--text-opacity))}.group:focus .lg\:group-focus\:text-yellow-100{--text-opacity:1;color:#fdf6b2;color:rgba(253,246,178,var(--text-opacity))}.group:focus .lg\:group-focus\:text-yellow-200{--text-opacity:1;color:#fce96a;color:rgba(252,233,106,var(--text-opacity))}.group:focus .lg\:group-focus\:text-yellow-300{--text-opacity:1;color:#faca15;color:rgba(250,202,21,var(--text-opacity))}.group:focus .lg\:group-focus\:text-yellow-400{--text-opacity:1;color:#e3a008;color:rgba(227,160,8,var(--text-opacity))}.group:focus .lg\:group-focus\:text-yellow-500{--text-opacity:1;color:#c27803;color:rgba(194,120,3,var(--text-opacity))}.group:focus .lg\:group-focus\:text-yellow-600{--text-opacity:1;color:#9f580a;color:rgba(159,88,10,var(--text-opacity))}.group:focus .lg\:group-focus\:text-yellow-700{--text-opacity:1;color:#8e4b10;color:rgba(142,75,16,var(--text-opacity))}.group:focus .lg\:group-focus\:text-yellow-800{--text-opacity:1;color:#723b13;color:rgba(114,59,19,var(--text-opacity))}.group:focus .lg\:group-focus\:text-yellow-900{--text-opacity:1;color:#633112;color:rgba(99,49,18,var(--text-opacity))}.group:focus .lg\:group-focus\:text-green-50{--text-opacity:1;color:#f3faf7;color:rgba(243,250,247,var(--text-opacity))}.group:focus .lg\:group-focus\:text-green-100{--text-opacity:1;color:#def7ec;color:rgba(222,247,236,var(--text-opacity))}.group:focus .lg\:group-focus\:text-green-200{--text-opacity:1;color:#bcf0da;color:rgba(188,240,218,var(--text-opacity))}.group:focus .lg\:group-focus\:text-green-300{--text-opacity:1;color:#84e1bc;color:rgba(132,225,188,var(--text-opacity))}.group:focus .lg\:group-focus\:text-green-400{--text-opacity:1;color:#31c48d;color:rgba(49,196,141,var(--text-opacity))}.group:focus .lg\:group-focus\:text-green-500{--text-opacity:1;color:#0e9f6e;color:rgba(14,159,110,var(--text-opacity))}.group:focus .lg\:group-focus\:text-green-600{--text-opacity:1;color:#057a55;color:rgba(5,122,85,var(--text-opacity))}.group:focus .lg\:group-focus\:text-green-700{--text-opacity:1;color:#046c4e;color:rgba(4,108,78,var(--text-opacity))}.group:focus .lg\:group-focus\:text-green-800{--text-opacity:1;color:#03543f;color:rgba(3,84,63,var(--text-opacity))}.group:focus .lg\:group-focus\:text-green-900{--text-opacity:1;color:#014737;color:rgba(1,71,55,var(--text-opacity))}.group:focus .lg\:group-focus\:text-teal-50{--text-opacity:1;color:#edfafa;color:rgba(237,250,250,var(--text-opacity))}.group:focus .lg\:group-focus\:text-teal-100{--text-opacity:1;color:#d5f5f6;color:rgba(213,245,246,var(--text-opacity))}.group:focus .lg\:group-focus\:text-teal-200{--text-opacity:1;color:#afecef;color:rgba(175,236,239,var(--text-opacity))}.group:focus .lg\:group-focus\:text-teal-300{--text-opacity:1;color:#7edce2;color:rgba(126,220,226,var(--text-opacity))}.group:focus .lg\:group-focus\:text-teal-400{--text-opacity:1;color:#16bdca;color:rgba(22,189,202,var(--text-opacity))}.group:focus .lg\:group-focus\:text-teal-500{--text-opacity:1;color:#0694a2;color:rgba(6,148,162,var(--text-opacity))}.group:focus .lg\:group-focus\:text-teal-600{--text-opacity:1;color:#047481;color:rgba(4,116,129,var(--text-opacity))}.group:focus .lg\:group-focus\:text-teal-700{--text-opacity:1;color:#036672;color:rgba(3,102,114,var(--text-opacity))}.group:focus .lg\:group-focus\:text-teal-800{--text-opacity:1;color:#05505c;color:rgba(5,80,92,var(--text-opacity))}.group:focus .lg\:group-focus\:text-teal-900{--text-opacity:1;color:#014451;color:rgba(1,68,81,var(--text-opacity))}.group:focus .lg\:group-focus\:text-blue-50{--text-opacity:1;color:#ebf5ff;color:rgba(235,245,255,var(--text-opacity))}.group:focus .lg\:group-focus\:text-blue-100{--text-opacity:1;color:#e1effe;color:rgba(225,239,254,var(--text-opacity))}.group:focus .lg\:group-focus\:text-blue-200{--text-opacity:1;color:#c3ddfd;color:rgba(195,221,253,var(--text-opacity))}.group:focus .lg\:group-focus\:text-blue-300{--text-opacity:1;color:#a4cafe;color:rgba(164,202,254,var(--text-opacity))}.group:focus .lg\:group-focus\:text-blue-400{--text-opacity:1;color:#76a9fa;color:rgba(118,169,250,var(--text-opacity))}.group:focus .lg\:group-focus\:text-blue-500{--text-opacity:1;color:#3f83f8;color:rgba(63,131,248,var(--text-opacity))}.group:focus .lg\:group-focus\:text-blue-600{--text-opacity:1;color:#1c64f2;color:rgba(28,100,242,var(--text-opacity))}.group:focus .lg\:group-focus\:text-blue-700{--text-opacity:1;color:#1a56db;color:rgba(26,86,219,var(--text-opacity))}.group:focus .lg\:group-focus\:text-blue-800{--text-opacity:1;color:#1e429f;color:rgba(30,66,159,var(--text-opacity))}.group:focus .lg\:group-focus\:text-blue-900{--text-opacity:1;color:#233876;color:rgba(35,56,118,var(--text-opacity))}.group:focus .lg\:group-focus\:text-indigo-50{--text-opacity:1;color:#f0f5ff;color:rgba(240,245,255,var(--text-opacity))}.group:focus .lg\:group-focus\:text-indigo-100{--text-opacity:1;color:#e5edff;color:rgba(229,237,255,var(--text-opacity))}.group:focus .lg\:group-focus\:text-indigo-200{--text-opacity:1;color:#cddbfe;color:rgba(205,219,254,var(--text-opacity))}.group:focus .lg\:group-focus\:text-indigo-300{--text-opacity:1;color:#b4c6fc;color:rgba(180,198,252,var(--text-opacity))}.group:focus .lg\:group-focus\:text-indigo-400{--text-opacity:1;color:#8da2fb;color:rgba(141,162,251,var(--text-opacity))}.group:focus .lg\:group-focus\:text-indigo-500{--text-opacity:1;color:#6875f5;color:rgba(104,117,245,var(--text-opacity))}.group:focus .lg\:group-focus\:text-indigo-600{--text-opacity:1;color:#5850ec;color:rgba(88,80,236,var(--text-opacity))}.group:focus .lg\:group-focus\:text-indigo-700{--text-opacity:1;color:#5145cd;color:rgba(81,69,205,var(--text-opacity))}.group:focus .lg\:group-focus\:text-indigo-800{--text-opacity:1;color:#42389d;color:rgba(66,56,157,var(--text-opacity))}.group:focus .lg\:group-focus\:text-indigo-900{--text-opacity:1;color:#362f78;color:rgba(54,47,120,var(--text-opacity))}.group:focus .lg\:group-focus\:text-purple-50{--text-opacity:1;color:#f6f5ff;color:rgba(246,245,255,var(--text-opacity))}.group:focus .lg\:group-focus\:text-purple-100{--text-opacity:1;color:#edebfe;color:rgba(237,235,254,var(--text-opacity))}.group:focus .lg\:group-focus\:text-purple-200{--text-opacity:1;color:#dcd7fe;color:rgba(220,215,254,var(--text-opacity))}.group:focus .lg\:group-focus\:text-purple-300{--text-opacity:1;color:#cabffd;color:rgba(202,191,253,var(--text-opacity))}.group:focus .lg\:group-focus\:text-purple-400{--text-opacity:1;color:#ac94fa;color:rgba(172,148,250,var(--text-opacity))}.group:focus .lg\:group-focus\:text-purple-500{--text-opacity:1;color:#9061f9;color:rgba(144,97,249,var(--text-opacity))}.group:focus .lg\:group-focus\:text-purple-600{--text-opacity:1;color:#7e3af2;color:rgba(126,58,242,var(--text-opacity))}.group:focus .lg\:group-focus\:text-purple-700{--text-opacity:1;color:#6c2bd9;color:rgba(108,43,217,var(--text-opacity))}.group:focus .lg\:group-focus\:text-purple-800{--text-opacity:1;color:#5521b5;color:rgba(85,33,181,var(--text-opacity))}.group:focus .lg\:group-focus\:text-purple-900{--text-opacity:1;color:#4a1d96;color:rgba(74,29,150,var(--text-opacity))}.group:focus .lg\:group-focus\:text-pink-50{--text-opacity:1;color:#fdf2f8;color:rgba(253,242,248,var(--text-opacity))}.group:focus .lg\:group-focus\:text-pink-100{--text-opacity:1;color:#fce8f3;color:rgba(252,232,243,var(--text-opacity))}.group:focus .lg\:group-focus\:text-pink-200{--text-opacity:1;color:#fad1e8;color:rgba(250,209,232,var(--text-opacity))}.group:focus .lg\:group-focus\:text-pink-300{--text-opacity:1;color:#f8b4d9;color:rgba(248,180,217,var(--text-opacity))}.group:focus .lg\:group-focus\:text-pink-400{--text-opacity:1;color:#f17eb8;color:rgba(241,126,184,var(--text-opacity))}.group:focus .lg\:group-focus\:text-pink-500{--text-opacity:1;color:#e74694;color:rgba(231,70,148,var(--text-opacity))}.group:focus .lg\:group-focus\:text-pink-600{--text-opacity:1;color:#d61f69;color:rgba(214,31,105,var(--text-opacity))}.group:focus .lg\:group-focus\:text-pink-700{--text-opacity:1;color:#bf125d;color:rgba(191,18,93,var(--text-opacity))}.group:focus .lg\:group-focus\:text-pink-800{--text-opacity:1;color:#99154b;color:rgba(153,21,75,var(--text-opacity))}.group:focus .lg\:group-focus\:text-pink-900{--text-opacity:1;color:#751a3d;color:rgba(117,26,61,var(--text-opacity))}.lg\:hover\:text-transparent:hover{color:transparent}.lg\:hover\:text-white:hover{--text-opacity:1;color:#fff;color:rgba(255,255,255,var(--text-opacity))}.lg\:hover\:text-black:hover{--text-opacity:1;color:#000;color:rgba(0,0,0,var(--text-opacity))}.lg\:hover\:text-gray-50:hover{--text-opacity:1;color:#f9fafb;color:rgba(249,250,251,var(--text-opacity))}.lg\:hover\:text-gray-100:hover{--text-opacity:1;color:#f4f5f7;color:rgba(244,245,247,var(--text-opacity))}.lg\:hover\:text-gray-200:hover{--text-opacity:1;color:#e5e7eb;color:rgba(229,231,235,var(--text-opacity))}.lg\:hover\:text-gray-300:hover{--text-opacity:1;color:#d2d6dc;color:rgba(210,214,220,var(--text-opacity))}.lg\:hover\:text-gray-400:hover{--text-opacity:1;color:#9fa6b2;color:rgba(159,166,178,var(--text-opacity))}.lg\:hover\:text-gray-500:hover{--text-opacity:1;color:#6b7280;color:rgba(107,114,128,var(--text-opacity))}.lg\:hover\:text-gray-600:hover{--text-opacity:1;color:#4b5563;color:rgba(75,85,99,var(--text-opacity))}.lg\:hover\:text-gray-700:hover{--text-opacity:1;color:#374151;color:rgba(55,65,81,var(--text-opacity))}.lg\:hover\:text-gray-800:hover{--text-opacity:1;color:#252f3f;color:rgba(37,47,63,var(--text-opacity))}.lg\:hover\:text-gray-900:hover{--text-opacity:1;color:#161e2e;color:rgba(22,30,46,var(--text-opacity))}.lg\:hover\:text-cool-gray-50:hover{--text-opacity:1;color:#f8fafc;color:rgba(248,250,252,var(--text-opacity))}.lg\:hover\:text-cool-gray-100:hover{--text-opacity:1;color:#f1f5f9;color:rgba(241,245,249,var(--text-opacity))}.lg\:hover\:text-cool-gray-200:hover{--text-opacity:1;color:#e2e8f0;color:rgba(226,232,240,var(--text-opacity))}.lg\:hover\:text-cool-gray-300:hover{--text-opacity:1;color:#cfd8e3;color:rgba(207,216,227,var(--text-opacity))}.lg\:hover\:text-cool-gray-400:hover{--text-opacity:1;color:#97a6ba;color:rgba(151,166,186,var(--text-opacity))}.lg\:hover\:text-cool-gray-500:hover{--text-opacity:1;color:#64748b;color:rgba(100,116,139,var(--text-opacity))}.lg\:hover\:text-cool-gray-600:hover{--text-opacity:1;color:#475569;color:rgba(71,85,105,var(--text-opacity))}.lg\:hover\:text-cool-gray-700:hover{--text-opacity:1;color:#364152;color:rgba(54,65,82,var(--text-opacity))}.lg\:hover\:text-cool-gray-800:hover{--text-opacity:1;color:#27303f;color:rgba(39,48,63,var(--text-opacity))}.lg\:hover\:text-cool-gray-900:hover{--text-opacity:1;color:#1a202e;color:rgba(26,32,46,var(--text-opacity))}.lg\:hover\:text-red-50:hover{--text-opacity:1;color:#fdf2f2;color:rgba(253,242,242,var(--text-opacity))}.lg\:hover\:text-red-100:hover{--text-opacity:1;color:#fde8e8;color:rgba(253,232,232,var(--text-opacity))}.lg\:hover\:text-red-200:hover{--text-opacity:1;color:#fbd5d5;color:rgba(251,213,213,var(--text-opacity))}.lg\:hover\:text-red-300:hover{--text-opacity:1;color:#f8b4b4;color:rgba(248,180,180,var(--text-opacity))}.lg\:hover\:text-red-400:hover{--text-opacity:1;color:#f98080;color:rgba(249,128,128,var(--text-opacity))}.lg\:hover\:text-red-500:hover{--text-opacity:1;color:#f05252;color:rgba(240,82,82,var(--text-opacity))}.lg\:hover\:text-red-600:hover{--text-opacity:1;color:#e02424;color:rgba(224,36,36,var(--text-opacity))}.lg\:hover\:text-red-700:hover{--text-opacity:1;color:#c81e1e;color:rgba(200,30,30,var(--text-opacity))}.lg\:hover\:text-red-800:hover{--text-opacity:1;color:#9b1c1c;color:rgba(155,28,28,var(--text-opacity))}.lg\:hover\:text-red-900:hover{--text-opacity:1;color:#771d1d;color:rgba(119,29,29,var(--text-opacity))}.lg\:hover\:text-orange-50:hover{--text-opacity:1;color:#fff8f1;color:rgba(255,248,241,var(--text-opacity))}.lg\:hover\:text-orange-100:hover{--text-opacity:1;color:#feecdc;color:rgba(254,236,220,var(--text-opacity))}.lg\:hover\:text-orange-200:hover{--text-opacity:1;color:#fcd9bd;color:rgba(252,217,189,var(--text-opacity))}.lg\:hover\:text-orange-300:hover{--text-opacity:1;color:#fdba8c;color:rgba(253,186,140,var(--text-opacity))}.lg\:hover\:text-orange-400:hover{--text-opacity:1;color:#ff8a4c;color:rgba(255,138,76,var(--text-opacity))}.lg\:hover\:text-orange-500:hover{--text-opacity:1;color:#ff5a1f;color:rgba(255,90,31,var(--text-opacity))}.lg\:hover\:text-orange-600:hover{--text-opacity:1;color:#d03801;color:rgba(208,56,1,var(--text-opacity))}.lg\:hover\:text-orange-700:hover{--text-opacity:1;color:#b43403;color:rgba(180,52,3,var(--text-opacity))}.lg\:hover\:text-orange-800:hover{--text-opacity:1;color:#8a2c0d;color:rgba(138,44,13,var(--text-opacity))}.lg\:hover\:text-orange-900:hover{--text-opacity:1;color:#73230d;color:rgba(115,35,13,var(--text-opacity))}.lg\:hover\:text-yellow-50:hover{--text-opacity:1;color:#fdfdea;color:rgba(253,253,234,var(--text-opacity))}.lg\:hover\:text-yellow-100:hover{--text-opacity:1;color:#fdf6b2;color:rgba(253,246,178,var(--text-opacity))}.lg\:hover\:text-yellow-200:hover{--text-opacity:1;color:#fce96a;color:rgba(252,233,106,var(--text-opacity))}.lg\:hover\:text-yellow-300:hover{--text-opacity:1;color:#faca15;color:rgba(250,202,21,var(--text-opacity))}.lg\:hover\:text-yellow-400:hover{--text-opacity:1;color:#e3a008;color:rgba(227,160,8,var(--text-opacity))}.lg\:hover\:text-yellow-500:hover{--text-opacity:1;color:#c27803;color:rgba(194,120,3,var(--text-opacity))}.lg\:hover\:text-yellow-600:hover{--text-opacity:1;color:#9f580a;color:rgba(159,88,10,var(--text-opacity))}.lg\:hover\:text-yellow-700:hover{--text-opacity:1;color:#8e4b10;color:rgba(142,75,16,var(--text-opacity))}.lg\:hover\:text-yellow-800:hover{--text-opacity:1;color:#723b13;color:rgba(114,59,19,var(--text-opacity))}.lg\:hover\:text-yellow-900:hover{--text-opacity:1;color:#633112;color:rgba(99,49,18,var(--text-opacity))}.lg\:hover\:text-green-50:hover{--text-opacity:1;color:#f3faf7;color:rgba(243,250,247,var(--text-opacity))}.lg\:hover\:text-green-100:hover{--text-opacity:1;color:#def7ec;color:rgba(222,247,236,var(--text-opacity))}.lg\:hover\:text-green-200:hover{--text-opacity:1;color:#bcf0da;color:rgba(188,240,218,var(--text-opacity))}.lg\:hover\:text-green-300:hover{--text-opacity:1;color:#84e1bc;color:rgba(132,225,188,var(--text-opacity))}.lg\:hover\:text-green-400:hover{--text-opacity:1;color:#31c48d;color:rgba(49,196,141,var(--text-opacity))}.lg\:hover\:text-green-500:hover{--text-opacity:1;color:#0e9f6e;color:rgba(14,159,110,var(--text-opacity))}.lg\:hover\:text-green-600:hover{--text-opacity:1;color:#057a55;color:rgba(5,122,85,var(--text-opacity))}.lg\:hover\:text-green-700:hover{--text-opacity:1;color:#046c4e;color:rgba(4,108,78,var(--text-opacity))}.lg\:hover\:text-green-800:hover{--text-opacity:1;color:#03543f;color:rgba(3,84,63,var(--text-opacity))}.lg\:hover\:text-green-900:hover{--text-opacity:1;color:#014737;color:rgba(1,71,55,var(--text-opacity))}.lg\:hover\:text-teal-50:hover{--text-opacity:1;color:#edfafa;color:rgba(237,250,250,var(--text-opacity))}.lg\:hover\:text-teal-100:hover{--text-opacity:1;color:#d5f5f6;color:rgba(213,245,246,var(--text-opacity))}.lg\:hover\:text-teal-200:hover{--text-opacity:1;color:#afecef;color:rgba(175,236,239,var(--text-opacity))}.lg\:hover\:text-teal-300:hover{--text-opacity:1;color:#7edce2;color:rgba(126,220,226,var(--text-opacity))}.lg\:hover\:text-teal-400:hover{--text-opacity:1;color:#16bdca;color:rgba(22,189,202,var(--text-opacity))}.lg\:hover\:text-teal-500:hover{--text-opacity:1;color:#0694a2;color:rgba(6,148,162,var(--text-opacity))}.lg\:hover\:text-teal-600:hover{--text-opacity:1;color:#047481;color:rgba(4,116,129,var(--text-opacity))}.lg\:hover\:text-teal-700:hover{--text-opacity:1;color:#036672;color:rgba(3,102,114,var(--text-opacity))}.lg\:hover\:text-teal-800:hover{--text-opacity:1;color:#05505c;color:rgba(5,80,92,var(--text-opacity))}.lg\:hover\:text-teal-900:hover{--text-opacity:1;color:#014451;color:rgba(1,68,81,var(--text-opacity))}.lg\:hover\:text-blue-50:hover{--text-opacity:1;color:#ebf5ff;color:rgba(235,245,255,var(--text-opacity))}.lg\:hover\:text-blue-100:hover{--text-opacity:1;color:#e1effe;color:rgba(225,239,254,var(--text-opacity))}.lg\:hover\:text-blue-200:hover{--text-opacity:1;color:#c3ddfd;color:rgba(195,221,253,var(--text-opacity))}.lg\:hover\:text-blue-300:hover{--text-opacity:1;color:#a4cafe;color:rgba(164,202,254,var(--text-opacity))}.lg\:hover\:text-blue-400:hover{--text-opacity:1;color:#76a9fa;color:rgba(118,169,250,var(--text-opacity))}.lg\:hover\:text-blue-500:hover{--text-opacity:1;color:#3f83f8;color:rgba(63,131,248,var(--text-opacity))}.lg\:hover\:text-blue-600:hover{--text-opacity:1;color:#1c64f2;color:rgba(28,100,242,var(--text-opacity))}.lg\:hover\:text-blue-700:hover{--text-opacity:1;color:#1a56db;color:rgba(26,86,219,var(--text-opacity))}.lg\:hover\:text-blue-800:hover{--text-opacity:1;color:#1e429f;color:rgba(30,66,159,var(--text-opacity))}.lg\:hover\:text-blue-900:hover{--text-opacity:1;color:#233876;color:rgba(35,56,118,var(--text-opacity))}.lg\:hover\:text-indigo-50:hover{--text-opacity:1;color:#f0f5ff;color:rgba(240,245,255,var(--text-opacity))}.lg\:hover\:text-indigo-100:hover{--text-opacity:1;color:#e5edff;color:rgba(229,237,255,var(--text-opacity))}.lg\:hover\:text-indigo-200:hover{--text-opacity:1;color:#cddbfe;color:rgba(205,219,254,var(--text-opacity))}.lg\:hover\:text-indigo-300:hover{--text-opacity:1;color:#b4c6fc;color:rgba(180,198,252,var(--text-opacity))}.lg\:hover\:text-indigo-400:hover{--text-opacity:1;color:#8da2fb;color:rgba(141,162,251,var(--text-opacity))}.lg\:hover\:text-indigo-500:hover{--text-opacity:1;color:#6875f5;color:rgba(104,117,245,var(--text-opacity))}.lg\:hover\:text-indigo-600:hover{--text-opacity:1;color:#5850ec;color:rgba(88,80,236,var(--text-opacity))}.lg\:hover\:text-indigo-700:hover{--text-opacity:1;color:#5145cd;color:rgba(81,69,205,var(--text-opacity))}.lg\:hover\:text-indigo-800:hover{--text-opacity:1;color:#42389d;color:rgba(66,56,157,var(--text-opacity))}.lg\:hover\:text-indigo-900:hover{--text-opacity:1;color:#362f78;color:rgba(54,47,120,var(--text-opacity))}.lg\:hover\:text-purple-50:hover{--text-opacity:1;color:#f6f5ff;color:rgba(246,245,255,var(--text-opacity))}.lg\:hover\:text-purple-100:hover{--text-opacity:1;color:#edebfe;color:rgba(237,235,254,var(--text-opacity))}.lg\:hover\:text-purple-200:hover{--text-opacity:1;color:#dcd7fe;color:rgba(220,215,254,var(--text-opacity))}.lg\:hover\:text-purple-300:hover{--text-opacity:1;color:#cabffd;color:rgba(202,191,253,var(--text-opacity))}.lg\:hover\:text-purple-400:hover{--text-opacity:1;color:#ac94fa;color:rgba(172,148,250,var(--text-opacity))}.lg\:hover\:text-purple-500:hover{--text-opacity:1;color:#9061f9;color:rgba(144,97,249,var(--text-opacity))}.lg\:hover\:text-purple-600:hover{--text-opacity:1;color:#7e3af2;color:rgba(126,58,242,var(--text-opacity))}.lg\:hover\:text-purple-700:hover{--text-opacity:1;color:#6c2bd9;color:rgba(108,43,217,var(--text-opacity))}.lg\:hover\:text-purple-800:hover{--text-opacity:1;color:#5521b5;color:rgba(85,33,181,var(--text-opacity))}.lg\:hover\:text-purple-900:hover{--text-opacity:1;color:#4a1d96;color:rgba(74,29,150,var(--text-opacity))}.lg\:hover\:text-pink-50:hover{--text-opacity:1;color:#fdf2f8;color:rgba(253,242,248,var(--text-opacity))}.lg\:hover\:text-pink-100:hover{--text-opacity:1;color:#fce8f3;color:rgba(252,232,243,var(--text-opacity))}.lg\:hover\:text-pink-200:hover{--text-opacity:1;color:#fad1e8;color:rgba(250,209,232,var(--text-opacity))}.lg\:hover\:text-pink-300:hover{--text-opacity:1;color:#f8b4d9;color:rgba(248,180,217,var(--text-opacity))}.lg\:hover\:text-pink-400:hover{--text-opacity:1;color:#f17eb8;color:rgba(241,126,184,var(--text-opacity))}.lg\:hover\:text-pink-500:hover{--text-opacity:1;color:#e74694;color:rgba(231,70,148,var(--text-opacity))}.lg\:hover\:text-pink-600:hover{--text-opacity:1;color:#d61f69;color:rgba(214,31,105,var(--text-opacity))}.lg\:hover\:text-pink-700:hover{--text-opacity:1;color:#bf125d;color:rgba(191,18,93,var(--text-opacity))}.lg\:hover\:text-pink-800:hover{--text-opacity:1;color:#99154b;color:rgba(153,21,75,var(--text-opacity))}.lg\:hover\:text-pink-900:hover{--text-opacity:1;color:#751a3d;color:rgba(117,26,61,var(--text-opacity))}.lg\:focus-within\:text-transparent:focus-within{color:transparent}.lg\:focus-within\:text-white:focus-within{--text-opacity:1;color:#fff;color:rgba(255,255,255,var(--text-opacity))}.lg\:focus-within\:text-black:focus-within{--text-opacity:1;color:#000;color:rgba(0,0,0,var(--text-opacity))}.lg\:focus-within\:text-gray-50:focus-within{--text-opacity:1;color:#f9fafb;color:rgba(249,250,251,var(--text-opacity))}.lg\:focus-within\:text-gray-100:focus-within{--text-opacity:1;color:#f4f5f7;color:rgba(244,245,247,var(--text-opacity))}.lg\:focus-within\:text-gray-200:focus-within{--text-opacity:1;color:#e5e7eb;color:rgba(229,231,235,var(--text-opacity))}.lg\:focus-within\:text-gray-300:focus-within{--text-opacity:1;color:#d2d6dc;color:rgba(210,214,220,var(--text-opacity))}.lg\:focus-within\:text-gray-400:focus-within{--text-opacity:1;color:#9fa6b2;color:rgba(159,166,178,var(--text-opacity))}.lg\:focus-within\:text-gray-500:focus-within{--text-opacity:1;color:#6b7280;color:rgba(107,114,128,var(--text-opacity))}.lg\:focus-within\:text-gray-600:focus-within{--text-opacity:1;color:#4b5563;color:rgba(75,85,99,var(--text-opacity))}.lg\:focus-within\:text-gray-700:focus-within{--text-opacity:1;color:#374151;color:rgba(55,65,81,var(--text-opacity))}.lg\:focus-within\:text-gray-800:focus-within{--text-opacity:1;color:#252f3f;color:rgba(37,47,63,var(--text-opacity))}.lg\:focus-within\:text-gray-900:focus-within{--text-opacity:1;color:#161e2e;color:rgba(22,30,46,var(--text-opacity))}.lg\:focus-within\:text-cool-gray-50:focus-within{--text-opacity:1;color:#f8fafc;color:rgba(248,250,252,var(--text-opacity))}.lg\:focus-within\:text-cool-gray-100:focus-within{--text-opacity:1;color:#f1f5f9;color:rgba(241,245,249,var(--text-opacity))}.lg\:focus-within\:text-cool-gray-200:focus-within{--text-opacity:1;color:#e2e8f0;color:rgba(226,232,240,var(--text-opacity))}.lg\:focus-within\:text-cool-gray-300:focus-within{--text-opacity:1;color:#cfd8e3;color:rgba(207,216,227,var(--text-opacity))}.lg\:focus-within\:text-cool-gray-400:focus-within{--text-opacity:1;color:#97a6ba;color:rgba(151,166,186,var(--text-opacity))}.lg\:focus-within\:text-cool-gray-500:focus-within{--text-opacity:1;color:#64748b;color:rgba(100,116,139,var(--text-opacity))}.lg\:focus-within\:text-cool-gray-600:focus-within{--text-opacity:1;color:#475569;color:rgba(71,85,105,var(--text-opacity))}.lg\:focus-within\:text-cool-gray-700:focus-within{--text-opacity:1;color:#364152;color:rgba(54,65,82,var(--text-opacity))}.lg\:focus-within\:text-cool-gray-800:focus-within{--text-opacity:1;color:#27303f;color:rgba(39,48,63,var(--text-opacity))}.lg\:focus-within\:text-cool-gray-900:focus-within{--text-opacity:1;color:#1a202e;color:rgba(26,32,46,var(--text-opacity))}.lg\:focus-within\:text-red-50:focus-within{--text-opacity:1;color:#fdf2f2;color:rgba(253,242,242,var(--text-opacity))}.lg\:focus-within\:text-red-100:focus-within{--text-opacity:1;color:#fde8e8;color:rgba(253,232,232,var(--text-opacity))}.lg\:focus-within\:text-red-200:focus-within{--text-opacity:1;color:#fbd5d5;color:rgba(251,213,213,var(--text-opacity))}.lg\:focus-within\:text-red-300:focus-within{--text-opacity:1;color:#f8b4b4;color:rgba(248,180,180,var(--text-opacity))}.lg\:focus-within\:text-red-400:focus-within{--text-opacity:1;color:#f98080;color:rgba(249,128,128,var(--text-opacity))}.lg\:focus-within\:text-red-500:focus-within{--text-opacity:1;color:#f05252;color:rgba(240,82,82,var(--text-opacity))}.lg\:focus-within\:text-red-600:focus-within{--text-opacity:1;color:#e02424;color:rgba(224,36,36,var(--text-opacity))}.lg\:focus-within\:text-red-700:focus-within{--text-opacity:1;color:#c81e1e;color:rgba(200,30,30,var(--text-opacity))}.lg\:focus-within\:text-red-800:focus-within{--text-opacity:1;color:#9b1c1c;color:rgba(155,28,28,var(--text-opacity))}.lg\:focus-within\:text-red-900:focus-within{--text-opacity:1;color:#771d1d;color:rgba(119,29,29,var(--text-opacity))}.lg\:focus-within\:text-orange-50:focus-within{--text-opacity:1;color:#fff8f1;color:rgba(255,248,241,var(--text-opacity))}.lg\:focus-within\:text-orange-100:focus-within{--text-opacity:1;color:#feecdc;color:rgba(254,236,220,var(--text-opacity))}.lg\:focus-within\:text-orange-200:focus-within{--text-opacity:1;color:#fcd9bd;color:rgba(252,217,189,var(--text-opacity))}.lg\:focus-within\:text-orange-300:focus-within{--text-opacity:1;color:#fdba8c;color:rgba(253,186,140,var(--text-opacity))}.lg\:focus-within\:text-orange-400:focus-within{--text-opacity:1;color:#ff8a4c;color:rgba(255,138,76,var(--text-opacity))}.lg\:focus-within\:text-orange-500:focus-within{--text-opacity:1;color:#ff5a1f;color:rgba(255,90,31,var(--text-opacity))}.lg\:focus-within\:text-orange-600:focus-within{--text-opacity:1;color:#d03801;color:rgba(208,56,1,var(--text-opacity))}.lg\:focus-within\:text-orange-700:focus-within{--text-opacity:1;color:#b43403;color:rgba(180,52,3,var(--text-opacity))}.lg\:focus-within\:text-orange-800:focus-within{--text-opacity:1;color:#8a2c0d;color:rgba(138,44,13,var(--text-opacity))}.lg\:focus-within\:text-orange-900:focus-within{--text-opacity:1;color:#73230d;color:rgba(115,35,13,var(--text-opacity))}.lg\:focus-within\:text-yellow-50:focus-within{--text-opacity:1;color:#fdfdea;color:rgba(253,253,234,var(--text-opacity))}.lg\:focus-within\:text-yellow-100:focus-within{--text-opacity:1;color:#fdf6b2;color:rgba(253,246,178,var(--text-opacity))}.lg\:focus-within\:text-yellow-200:focus-within{--text-opacity:1;color:#fce96a;color:rgba(252,233,106,var(--text-opacity))}.lg\:focus-within\:text-yellow-300:focus-within{--text-opacity:1;color:#faca15;color:rgba(250,202,21,var(--text-opacity))}.lg\:focus-within\:text-yellow-400:focus-within{--text-opacity:1;color:#e3a008;color:rgba(227,160,8,var(--text-opacity))}.lg\:focus-within\:text-yellow-500:focus-within{--text-opacity:1;color:#c27803;color:rgba(194,120,3,var(--text-opacity))}.lg\:focus-within\:text-yellow-600:focus-within{--text-opacity:1;color:#9f580a;color:rgba(159,88,10,var(--text-opacity))}.lg\:focus-within\:text-yellow-700:focus-within{--text-opacity:1;color:#8e4b10;color:rgba(142,75,16,var(--text-opacity))}.lg\:focus-within\:text-yellow-800:focus-within{--text-opacity:1;color:#723b13;color:rgba(114,59,19,var(--text-opacity))}.lg\:focus-within\:text-yellow-900:focus-within{--text-opacity:1;color:#633112;color:rgba(99,49,18,var(--text-opacity))}.lg\:focus-within\:text-green-50:focus-within{--text-opacity:1;color:#f3faf7;color:rgba(243,250,247,var(--text-opacity))}.lg\:focus-within\:text-green-100:focus-within{--text-opacity:1;color:#def7ec;color:rgba(222,247,236,var(--text-opacity))}.lg\:focus-within\:text-green-200:focus-within{--text-opacity:1;color:#bcf0da;color:rgba(188,240,218,var(--text-opacity))}.lg\:focus-within\:text-green-300:focus-within{--text-opacity:1;color:#84e1bc;color:rgba(132,225,188,var(--text-opacity))}.lg\:focus-within\:text-green-400:focus-within{--text-opacity:1;color:#31c48d;color:rgba(49,196,141,var(--text-opacity))}.lg\:focus-within\:text-green-500:focus-within{--text-opacity:1;color:#0e9f6e;color:rgba(14,159,110,var(--text-opacity))}.lg\:focus-within\:text-green-600:focus-within{--text-opacity:1;color:#057a55;color:rgba(5,122,85,var(--text-opacity))}.lg\:focus-within\:text-green-700:focus-within{--text-opacity:1;color:#046c4e;color:rgba(4,108,78,var(--text-opacity))}.lg\:focus-within\:text-green-800:focus-within{--text-opacity:1;color:#03543f;color:rgba(3,84,63,var(--text-opacity))}.lg\:focus-within\:text-green-900:focus-within{--text-opacity:1;color:#014737;color:rgba(1,71,55,var(--text-opacity))}.lg\:focus-within\:text-teal-50:focus-within{--text-opacity:1;color:#edfafa;color:rgba(237,250,250,var(--text-opacity))}.lg\:focus-within\:text-teal-100:focus-within{--text-opacity:1;color:#d5f5f6;color:rgba(213,245,246,var(--text-opacity))}.lg\:focus-within\:text-teal-200:focus-within{--text-opacity:1;color:#afecef;color:rgba(175,236,239,var(--text-opacity))}.lg\:focus-within\:text-teal-300:focus-within{--text-opacity:1;color:#7edce2;color:rgba(126,220,226,var(--text-opacity))}.lg\:focus-within\:text-teal-400:focus-within{--text-opacity:1;color:#16bdca;color:rgba(22,189,202,var(--text-opacity))}.lg\:focus-within\:text-teal-500:focus-within{--text-opacity:1;color:#0694a2;color:rgba(6,148,162,var(--text-opacity))}.lg\:focus-within\:text-teal-600:focus-within{--text-opacity:1;color:#047481;color:rgba(4,116,129,var(--text-opacity))}.lg\:focus-within\:text-teal-700:focus-within{--text-opacity:1;color:#036672;color:rgba(3,102,114,var(--text-opacity))}.lg\:focus-within\:text-teal-800:focus-within{--text-opacity:1;color:#05505c;color:rgba(5,80,92,var(--text-opacity))}.lg\:focus-within\:text-teal-900:focus-within{--text-opacity:1;color:#014451;color:rgba(1,68,81,var(--text-opacity))}.lg\:focus-within\:text-blue-50:focus-within{--text-opacity:1;color:#ebf5ff;color:rgba(235,245,255,var(--text-opacity))}.lg\:focus-within\:text-blue-100:focus-within{--text-opacity:1;color:#e1effe;color:rgba(225,239,254,var(--text-opacity))}.lg\:focus-within\:text-blue-200:focus-within{--text-opacity:1;color:#c3ddfd;color:rgba(195,221,253,var(--text-opacity))}.lg\:focus-within\:text-blue-300:focus-within{--text-opacity:1;color:#a4cafe;color:rgba(164,202,254,var(--text-opacity))}.lg\:focus-within\:text-blue-400:focus-within{--text-opacity:1;color:#76a9fa;color:rgba(118,169,250,var(--text-opacity))}.lg\:focus-within\:text-blue-500:focus-within{--text-opacity:1;color:#3f83f8;color:rgba(63,131,248,var(--text-opacity))}.lg\:focus-within\:text-blue-600:focus-within{--text-opacity:1;color:#1c64f2;color:rgba(28,100,242,var(--text-opacity))}.lg\:focus-within\:text-blue-700:focus-within{--text-opacity:1;color:#1a56db;color:rgba(26,86,219,var(--text-opacity))}.lg\:focus-within\:text-blue-800:focus-within{--text-opacity:1;color:#1e429f;color:rgba(30,66,159,var(--text-opacity))}.lg\:focus-within\:text-blue-900:focus-within{--text-opacity:1;color:#233876;color:rgba(35,56,118,var(--text-opacity))}.lg\:focus-within\:text-indigo-50:focus-within{--text-opacity:1;color:#f0f5ff;color:rgba(240,245,255,var(--text-opacity))}.lg\:focus-within\:text-indigo-100:focus-within{--text-opacity:1;color:#e5edff;color:rgba(229,237,255,var(--text-opacity))}.lg\:focus-within\:text-indigo-200:focus-within{--text-opacity:1;color:#cddbfe;color:rgba(205,219,254,var(--text-opacity))}.lg\:focus-within\:text-indigo-300:focus-within{--text-opacity:1;color:#b4c6fc;color:rgba(180,198,252,var(--text-opacity))}.lg\:focus-within\:text-indigo-400:focus-within{--text-opacity:1;color:#8da2fb;color:rgba(141,162,251,var(--text-opacity))}.lg\:focus-within\:text-indigo-500:focus-within{--text-opacity:1;color:#6875f5;color:rgba(104,117,245,var(--text-opacity))}.lg\:focus-within\:text-indigo-600:focus-within{--text-opacity:1;color:#5850ec;color:rgba(88,80,236,var(--text-opacity))}.lg\:focus-within\:text-indigo-700:focus-within{--text-opacity:1;color:#5145cd;color:rgba(81,69,205,var(--text-opacity))}.lg\:focus-within\:text-indigo-800:focus-within{--text-opacity:1;color:#42389d;color:rgba(66,56,157,var(--text-opacity))}.lg\:focus-within\:text-indigo-900:focus-within{--text-opacity:1;color:#362f78;color:rgba(54,47,120,var(--text-opacity))}.lg\:focus-within\:text-purple-50:focus-within{--text-opacity:1;color:#f6f5ff;color:rgba(246,245,255,var(--text-opacity))}.lg\:focus-within\:text-purple-100:focus-within{--text-opacity:1;color:#edebfe;color:rgba(237,235,254,var(--text-opacity))}.lg\:focus-within\:text-purple-200:focus-within{--text-opacity:1;color:#dcd7fe;color:rgba(220,215,254,var(--text-opacity))}.lg\:focus-within\:text-purple-300:focus-within{--text-opacity:1;color:#cabffd;color:rgba(202,191,253,var(--text-opacity))}.lg\:focus-within\:text-purple-400:focus-within{--text-opacity:1;color:#ac94fa;color:rgba(172,148,250,var(--text-opacity))}.lg\:focus-within\:text-purple-500:focus-within{--text-opacity:1;color:#9061f9;color:rgba(144,97,249,var(--text-opacity))}.lg\:focus-within\:text-purple-600:focus-within{--text-opacity:1;color:#7e3af2;color:rgba(126,58,242,var(--text-opacity))}.lg\:focus-within\:text-purple-700:focus-within{--text-opacity:1;color:#6c2bd9;color:rgba(108,43,217,var(--text-opacity))}.lg\:focus-within\:text-purple-800:focus-within{--text-opacity:1;color:#5521b5;color:rgba(85,33,181,var(--text-opacity))}.lg\:focus-within\:text-purple-900:focus-within{--text-opacity:1;color:#4a1d96;color:rgba(74,29,150,var(--text-opacity))}.lg\:focus-within\:text-pink-50:focus-within{--text-opacity:1;color:#fdf2f8;color:rgba(253,242,248,var(--text-opacity))}.lg\:focus-within\:text-pink-100:focus-within{--text-opacity:1;color:#fce8f3;color:rgba(252,232,243,var(--text-opacity))}.lg\:focus-within\:text-pink-200:focus-within{--text-opacity:1;color:#fad1e8;color:rgba(250,209,232,var(--text-opacity))}.lg\:focus-within\:text-pink-300:focus-within{--text-opacity:1;color:#f8b4d9;color:rgba(248,180,217,var(--text-opacity))}.lg\:focus-within\:text-pink-400:focus-within{--text-opacity:1;color:#f17eb8;color:rgba(241,126,184,var(--text-opacity))}.lg\:focus-within\:text-pink-500:focus-within{--text-opacity:1;color:#e74694;color:rgba(231,70,148,var(--text-opacity))}.lg\:focus-within\:text-pink-600:focus-within{--text-opacity:1;color:#d61f69;color:rgba(214,31,105,var(--text-opacity))}.lg\:focus-within\:text-pink-700:focus-within{--text-opacity:1;color:#bf125d;color:rgba(191,18,93,var(--text-opacity))}.lg\:focus-within\:text-pink-800:focus-within{--text-opacity:1;color:#99154b;color:rgba(153,21,75,var(--text-opacity))}.lg\:focus-within\:text-pink-900:focus-within{--text-opacity:1;color:#751a3d;color:rgba(117,26,61,var(--text-opacity))}.lg\:focus\:text-transparent:focus{color:transparent}.lg\:focus\:text-white:focus{--text-opacity:1;color:#fff;color:rgba(255,255,255,var(--text-opacity))}.lg\:focus\:text-black:focus{--text-opacity:1;color:#000;color:rgba(0,0,0,var(--text-opacity))}.lg\:focus\:text-gray-50:focus{--text-opacity:1;color:#f9fafb;color:rgba(249,250,251,var(--text-opacity))}.lg\:focus\:text-gray-100:focus{--text-opacity:1;color:#f4f5f7;color:rgba(244,245,247,var(--text-opacity))}.lg\:focus\:text-gray-200:focus{--text-opacity:1;color:#e5e7eb;color:rgba(229,231,235,var(--text-opacity))}.lg\:focus\:text-gray-300:focus{--text-opacity:1;color:#d2d6dc;color:rgba(210,214,220,var(--text-opacity))}.lg\:focus\:text-gray-400:focus{--text-opacity:1;color:#9fa6b2;color:rgba(159,166,178,var(--text-opacity))}.lg\:focus\:text-gray-500:focus{--text-opacity:1;color:#6b7280;color:rgba(107,114,128,var(--text-opacity))}.lg\:focus\:text-gray-600:focus{--text-opacity:1;color:#4b5563;color:rgba(75,85,99,var(--text-opacity))}.lg\:focus\:text-gray-700:focus{--text-opacity:1;color:#374151;color:rgba(55,65,81,var(--text-opacity))}.lg\:focus\:text-gray-800:focus{--text-opacity:1;color:#252f3f;color:rgba(37,47,63,var(--text-opacity))}.lg\:focus\:text-gray-900:focus{--text-opacity:1;color:#161e2e;color:rgba(22,30,46,var(--text-opacity))}.lg\:focus\:text-cool-gray-50:focus{--text-opacity:1;color:#f8fafc;color:rgba(248,250,252,var(--text-opacity))}.lg\:focus\:text-cool-gray-100:focus{--text-opacity:1;color:#f1f5f9;color:rgba(241,245,249,var(--text-opacity))}.lg\:focus\:text-cool-gray-200:focus{--text-opacity:1;color:#e2e8f0;color:rgba(226,232,240,var(--text-opacity))}.lg\:focus\:text-cool-gray-300:focus{--text-opacity:1;color:#cfd8e3;color:rgba(207,216,227,var(--text-opacity))}.lg\:focus\:text-cool-gray-400:focus{--text-opacity:1;color:#97a6ba;color:rgba(151,166,186,var(--text-opacity))}.lg\:focus\:text-cool-gray-500:focus{--text-opacity:1;color:#64748b;color:rgba(100,116,139,var(--text-opacity))}.lg\:focus\:text-cool-gray-600:focus{--text-opacity:1;color:#475569;color:rgba(71,85,105,var(--text-opacity))}.lg\:focus\:text-cool-gray-700:focus{--text-opacity:1;color:#364152;color:rgba(54,65,82,var(--text-opacity))}.lg\:focus\:text-cool-gray-800:focus{--text-opacity:1;color:#27303f;color:rgba(39,48,63,var(--text-opacity))}.lg\:focus\:text-cool-gray-900:focus{--text-opacity:1;color:#1a202e;color:rgba(26,32,46,var(--text-opacity))}.lg\:focus\:text-red-50:focus{--text-opacity:1;color:#fdf2f2;color:rgba(253,242,242,var(--text-opacity))}.lg\:focus\:text-red-100:focus{--text-opacity:1;color:#fde8e8;color:rgba(253,232,232,var(--text-opacity))}.lg\:focus\:text-red-200:focus{--text-opacity:1;color:#fbd5d5;color:rgba(251,213,213,var(--text-opacity))}.lg\:focus\:text-red-300:focus{--text-opacity:1;color:#f8b4b4;color:rgba(248,180,180,var(--text-opacity))}.lg\:focus\:text-red-400:focus{--text-opacity:1;color:#f98080;color:rgba(249,128,128,var(--text-opacity))}.lg\:focus\:text-red-500:focus{--text-opacity:1;color:#f05252;color:rgba(240,82,82,var(--text-opacity))}.lg\:focus\:text-red-600:focus{--text-opacity:1;color:#e02424;color:rgba(224,36,36,var(--text-opacity))}.lg\:focus\:text-red-700:focus{--text-opacity:1;color:#c81e1e;color:rgba(200,30,30,var(--text-opacity))}.lg\:focus\:text-red-800:focus{--text-opacity:1;color:#9b1c1c;color:rgba(155,28,28,var(--text-opacity))}.lg\:focus\:text-red-900:focus{--text-opacity:1;color:#771d1d;color:rgba(119,29,29,var(--text-opacity))}.lg\:focus\:text-orange-50:focus{--text-opacity:1;color:#fff8f1;color:rgba(255,248,241,var(--text-opacity))}.lg\:focus\:text-orange-100:focus{--text-opacity:1;color:#feecdc;color:rgba(254,236,220,var(--text-opacity))}.lg\:focus\:text-orange-200:focus{--text-opacity:1;color:#fcd9bd;color:rgba(252,217,189,var(--text-opacity))}.lg\:focus\:text-orange-300:focus{--text-opacity:1;color:#fdba8c;color:rgba(253,186,140,var(--text-opacity))}.lg\:focus\:text-orange-400:focus{--text-opacity:1;color:#ff8a4c;color:rgba(255,138,76,var(--text-opacity))}.lg\:focus\:text-orange-500:focus{--text-opacity:1;color:#ff5a1f;color:rgba(255,90,31,var(--text-opacity))}.lg\:focus\:text-orange-600:focus{--text-opacity:1;color:#d03801;color:rgba(208,56,1,var(--text-opacity))}.lg\:focus\:text-orange-700:focus{--text-opacity:1;color:#b43403;color:rgba(180,52,3,var(--text-opacity))}.lg\:focus\:text-orange-800:focus{--text-opacity:1;color:#8a2c0d;color:rgba(138,44,13,var(--text-opacity))}.lg\:focus\:text-orange-900:focus{--text-opacity:1;color:#73230d;color:rgba(115,35,13,var(--text-opacity))}.lg\:focus\:text-yellow-50:focus{--text-opacity:1;color:#fdfdea;color:rgba(253,253,234,var(--text-opacity))}.lg\:focus\:text-yellow-100:focus{--text-opacity:1;color:#fdf6b2;color:rgba(253,246,178,var(--text-opacity))}.lg\:focus\:text-yellow-200:focus{--text-opacity:1;color:#fce96a;color:rgba(252,233,106,var(--text-opacity))}.lg\:focus\:text-yellow-300:focus{--text-opacity:1;color:#faca15;color:rgba(250,202,21,var(--text-opacity))}.lg\:focus\:text-yellow-400:focus{--text-opacity:1;color:#e3a008;color:rgba(227,160,8,var(--text-opacity))}.lg\:focus\:text-yellow-500:focus{--text-opacity:1;color:#c27803;color:rgba(194,120,3,var(--text-opacity))}.lg\:focus\:text-yellow-600:focus{--text-opacity:1;color:#9f580a;color:rgba(159,88,10,var(--text-opacity))}.lg\:focus\:text-yellow-700:focus{--text-opacity:1;color:#8e4b10;color:rgba(142,75,16,var(--text-opacity))}.lg\:focus\:text-yellow-800:focus{--text-opacity:1;color:#723b13;color:rgba(114,59,19,var(--text-opacity))}.lg\:focus\:text-yellow-900:focus{--text-opacity:1;color:#633112;color:rgba(99,49,18,var(--text-opacity))}.lg\:focus\:text-green-50:focus{--text-opacity:1;color:#f3faf7;color:rgba(243,250,247,var(--text-opacity))}.lg\:focus\:text-green-100:focus{--text-opacity:1;color:#def7ec;color:rgba(222,247,236,var(--text-opacity))}.lg\:focus\:text-green-200:focus{--text-opacity:1;color:#bcf0da;color:rgba(188,240,218,var(--text-opacity))}.lg\:focus\:text-green-300:focus{--text-opacity:1;color:#84e1bc;color:rgba(132,225,188,var(--text-opacity))}.lg\:focus\:text-green-400:focus{--text-opacity:1;color:#31c48d;color:rgba(49,196,141,var(--text-opacity))}.lg\:focus\:text-green-500:focus{--text-opacity:1;color:#0e9f6e;color:rgba(14,159,110,var(--text-opacity))}.lg\:focus\:text-green-600:focus{--text-opacity:1;color:#057a55;color:rgba(5,122,85,var(--text-opacity))}.lg\:focus\:text-green-700:focus{--text-opacity:1;color:#046c4e;color:rgba(4,108,78,var(--text-opacity))}.lg\:focus\:text-green-800:focus{--text-opacity:1;color:#03543f;color:rgba(3,84,63,var(--text-opacity))}.lg\:focus\:text-green-900:focus{--text-opacity:1;color:#014737;color:rgba(1,71,55,var(--text-opacity))}.lg\:focus\:text-teal-50:focus{--text-opacity:1;color:#edfafa;color:rgba(237,250,250,var(--text-opacity))}.lg\:focus\:text-teal-100:focus{--text-opacity:1;color:#d5f5f6;color:rgba(213,245,246,var(--text-opacity))}.lg\:focus\:text-teal-200:focus{--text-opacity:1;color:#afecef;color:rgba(175,236,239,var(--text-opacity))}.lg\:focus\:text-teal-300:focus{--text-opacity:1;color:#7edce2;color:rgba(126,220,226,var(--text-opacity))}.lg\:focus\:text-teal-400:focus{--text-opacity:1;color:#16bdca;color:rgba(22,189,202,var(--text-opacity))}.lg\:focus\:text-teal-500:focus{--text-opacity:1;color:#0694a2;color:rgba(6,148,162,var(--text-opacity))}.lg\:focus\:text-teal-600:focus{--text-opacity:1;color:#047481;color:rgba(4,116,129,var(--text-opacity))}.lg\:focus\:text-teal-700:focus{--text-opacity:1;color:#036672;color:rgba(3,102,114,var(--text-opacity))}.lg\:focus\:text-teal-800:focus{--text-opacity:1;color:#05505c;color:rgba(5,80,92,var(--text-opacity))}.lg\:focus\:text-teal-900:focus{--text-opacity:1;color:#014451;color:rgba(1,68,81,var(--text-opacity))}.lg\:focus\:text-blue-50:focus{--text-opacity:1;color:#ebf5ff;color:rgba(235,245,255,var(--text-opacity))}.lg\:focus\:text-blue-100:focus{--text-opacity:1;color:#e1effe;color:rgba(225,239,254,var(--text-opacity))}.lg\:focus\:text-blue-200:focus{--text-opacity:1;color:#c3ddfd;color:rgba(195,221,253,var(--text-opacity))}.lg\:focus\:text-blue-300:focus{--text-opacity:1;color:#a4cafe;color:rgba(164,202,254,var(--text-opacity))}.lg\:focus\:text-blue-400:focus{--text-opacity:1;color:#76a9fa;color:rgba(118,169,250,var(--text-opacity))}.lg\:focus\:text-blue-500:focus{--text-opacity:1;color:#3f83f8;color:rgba(63,131,248,var(--text-opacity))}.lg\:focus\:text-blue-600:focus{--text-opacity:1;color:#1c64f2;color:rgba(28,100,242,var(--text-opacity))}.lg\:focus\:text-blue-700:focus{--text-opacity:1;color:#1a56db;color:rgba(26,86,219,var(--text-opacity))}.lg\:focus\:text-blue-800:focus{--text-opacity:1;color:#1e429f;color:rgba(30,66,159,var(--text-opacity))}.lg\:focus\:text-blue-900:focus{--text-opacity:1;color:#233876;color:rgba(35,56,118,var(--text-opacity))}.lg\:focus\:text-indigo-50:focus{--text-opacity:1;color:#f0f5ff;color:rgba(240,245,255,var(--text-opacity))}.lg\:focus\:text-indigo-100:focus{--text-opacity:1;color:#e5edff;color:rgba(229,237,255,var(--text-opacity))}.lg\:focus\:text-indigo-200:focus{--text-opacity:1;color:#cddbfe;color:rgba(205,219,254,var(--text-opacity))}.lg\:focus\:text-indigo-300:focus{--text-opacity:1;color:#b4c6fc;color:rgba(180,198,252,var(--text-opacity))}.lg\:focus\:text-indigo-400:focus{--text-opacity:1;color:#8da2fb;color:rgba(141,162,251,var(--text-opacity))}.lg\:focus\:text-indigo-500:focus{--text-opacity:1;color:#6875f5;color:rgba(104,117,245,var(--text-opacity))}.lg\:focus\:text-indigo-600:focus{--text-opacity:1;color:#5850ec;color:rgba(88,80,236,var(--text-opacity))}.lg\:focus\:text-indigo-700:focus{--text-opacity:1;color:#5145cd;color:rgba(81,69,205,var(--text-opacity))}.lg\:focus\:text-indigo-800:focus{--text-opacity:1;color:#42389d;color:rgba(66,56,157,var(--text-opacity))}.lg\:focus\:text-indigo-900:focus{--text-opacity:1;color:#362f78;color:rgba(54,47,120,var(--text-opacity))}.lg\:focus\:text-purple-50:focus{--text-opacity:1;color:#f6f5ff;color:rgba(246,245,255,var(--text-opacity))}.lg\:focus\:text-purple-100:focus{--text-opacity:1;color:#edebfe;color:rgba(237,235,254,var(--text-opacity))}.lg\:focus\:text-purple-200:focus{--text-opacity:1;color:#dcd7fe;color:rgba(220,215,254,var(--text-opacity))}.lg\:focus\:text-purple-300:focus{--text-opacity:1;color:#cabffd;color:rgba(202,191,253,var(--text-opacity))}.lg\:focus\:text-purple-400:focus{--text-opacity:1;color:#ac94fa;color:rgba(172,148,250,var(--text-opacity))}.lg\:focus\:text-purple-500:focus{--text-opacity:1;color:#9061f9;color:rgba(144,97,249,var(--text-opacity))}.lg\:focus\:text-purple-600:focus{--text-opacity:1;color:#7e3af2;color:rgba(126,58,242,var(--text-opacity))}.lg\:focus\:text-purple-700:focus{--text-opacity:1;color:#6c2bd9;color:rgba(108,43,217,var(--text-opacity))}.lg\:focus\:text-purple-800:focus{--text-opacity:1;color:#5521b5;color:rgba(85,33,181,var(--text-opacity))}.lg\:focus\:text-purple-900:focus{--text-opacity:1;color:#4a1d96;color:rgba(74,29,150,var(--text-opacity))}.lg\:focus\:text-pink-50:focus{--text-opacity:1;color:#fdf2f8;color:rgba(253,242,248,var(--text-opacity))}.lg\:focus\:text-pink-100:focus{--text-opacity:1;color:#fce8f3;color:rgba(252,232,243,var(--text-opacity))}.lg\:focus\:text-pink-200:focus{--text-opacity:1;color:#fad1e8;color:rgba(250,209,232,var(--text-opacity))}.lg\:focus\:text-pink-300:focus{--text-opacity:1;color:#f8b4d9;color:rgba(248,180,217,var(--text-opacity))}.lg\:focus\:text-pink-400:focus{--text-opacity:1;color:#f17eb8;color:rgba(241,126,184,var(--text-opacity))}.lg\:focus\:text-pink-500:focus{--text-opacity:1;color:#e74694;color:rgba(231,70,148,var(--text-opacity))}.lg\:focus\:text-pink-600:focus{--text-opacity:1;color:#d61f69;color:rgba(214,31,105,var(--text-opacity))}.lg\:focus\:text-pink-700:focus{--text-opacity:1;color:#bf125d;color:rgba(191,18,93,var(--text-opacity))}.lg\:focus\:text-pink-800:focus{--text-opacity:1;color:#99154b;color:rgba(153,21,75,var(--text-opacity))}.lg\:focus\:text-pink-900:focus{--text-opacity:1;color:#751a3d;color:rgba(117,26,61,var(--text-opacity))}.lg\:active\:text-transparent:active{color:transparent}.lg\:active\:text-white:active{--text-opacity:1;color:#fff;color:rgba(255,255,255,var(--text-opacity))}.lg\:active\:text-black:active{--text-opacity:1;color:#000;color:rgba(0,0,0,var(--text-opacity))}.lg\:active\:text-gray-50:active{--text-opacity:1;color:#f9fafb;color:rgba(249,250,251,var(--text-opacity))}.lg\:active\:text-gray-100:active{--text-opacity:1;color:#f4f5f7;color:rgba(244,245,247,var(--text-opacity))}.lg\:active\:text-gray-200:active{--text-opacity:1;color:#e5e7eb;color:rgba(229,231,235,var(--text-opacity))}.lg\:active\:text-gray-300:active{--text-opacity:1;color:#d2d6dc;color:rgba(210,214,220,var(--text-opacity))}.lg\:active\:text-gray-400:active{--text-opacity:1;color:#9fa6b2;color:rgba(159,166,178,var(--text-opacity))}.lg\:active\:text-gray-500:active{--text-opacity:1;color:#6b7280;color:rgba(107,114,128,var(--text-opacity))}.lg\:active\:text-gray-600:active{--text-opacity:1;color:#4b5563;color:rgba(75,85,99,var(--text-opacity))}.lg\:active\:text-gray-700:active{--text-opacity:1;color:#374151;color:rgba(55,65,81,var(--text-opacity))}.lg\:active\:text-gray-800:active{--text-opacity:1;color:#252f3f;color:rgba(37,47,63,var(--text-opacity))}.lg\:active\:text-gray-900:active{--text-opacity:1;color:#161e2e;color:rgba(22,30,46,var(--text-opacity))}.lg\:active\:text-cool-gray-50:active{--text-opacity:1;color:#f8fafc;color:rgba(248,250,252,var(--text-opacity))}.lg\:active\:text-cool-gray-100:active{--text-opacity:1;color:#f1f5f9;color:rgba(241,245,249,var(--text-opacity))}.lg\:active\:text-cool-gray-200:active{--text-opacity:1;color:#e2e8f0;color:rgba(226,232,240,var(--text-opacity))}.lg\:active\:text-cool-gray-300:active{--text-opacity:1;color:#cfd8e3;color:rgba(207,216,227,var(--text-opacity))}.lg\:active\:text-cool-gray-400:active{--text-opacity:1;color:#97a6ba;color:rgba(151,166,186,var(--text-opacity))}.lg\:active\:text-cool-gray-500:active{--text-opacity:1;color:#64748b;color:rgba(100,116,139,var(--text-opacity))}.lg\:active\:text-cool-gray-600:active{--text-opacity:1;color:#475569;color:rgba(71,85,105,var(--text-opacity))}.lg\:active\:text-cool-gray-700:active{--text-opacity:1;color:#364152;color:rgba(54,65,82,var(--text-opacity))}.lg\:active\:text-cool-gray-800:active{--text-opacity:1;color:#27303f;color:rgba(39,48,63,var(--text-opacity))}.lg\:active\:text-cool-gray-900:active{--text-opacity:1;color:#1a202e;color:rgba(26,32,46,var(--text-opacity))}.lg\:active\:text-red-50:active{--text-opacity:1;color:#fdf2f2;color:rgba(253,242,242,var(--text-opacity))}.lg\:active\:text-red-100:active{--text-opacity:1;color:#fde8e8;color:rgba(253,232,232,var(--text-opacity))}.lg\:active\:text-red-200:active{--text-opacity:1;color:#fbd5d5;color:rgba(251,213,213,var(--text-opacity))}.lg\:active\:text-red-300:active{--text-opacity:1;color:#f8b4b4;color:rgba(248,180,180,var(--text-opacity))}.lg\:active\:text-red-400:active{--text-opacity:1;color:#f98080;color:rgba(249,128,128,var(--text-opacity))}.lg\:active\:text-red-500:active{--text-opacity:1;color:#f05252;color:rgba(240,82,82,var(--text-opacity))}.lg\:active\:text-red-600:active{--text-opacity:1;color:#e02424;color:rgba(224,36,36,var(--text-opacity))}.lg\:active\:text-red-700:active{--text-opacity:1;color:#c81e1e;color:rgba(200,30,30,var(--text-opacity))}.lg\:active\:text-red-800:active{--text-opacity:1;color:#9b1c1c;color:rgba(155,28,28,var(--text-opacity))}.lg\:active\:text-red-900:active{--text-opacity:1;color:#771d1d;color:rgba(119,29,29,var(--text-opacity))}.lg\:active\:text-orange-50:active{--text-opacity:1;color:#fff8f1;color:rgba(255,248,241,var(--text-opacity))}.lg\:active\:text-orange-100:active{--text-opacity:1;color:#feecdc;color:rgba(254,236,220,var(--text-opacity))}.lg\:active\:text-orange-200:active{--text-opacity:1;color:#fcd9bd;color:rgba(252,217,189,var(--text-opacity))}.lg\:active\:text-orange-300:active{--text-opacity:1;color:#fdba8c;color:rgba(253,186,140,var(--text-opacity))}.lg\:active\:text-orange-400:active{--text-opacity:1;color:#ff8a4c;color:rgba(255,138,76,var(--text-opacity))}.lg\:active\:text-orange-500:active{--text-opacity:1;color:#ff5a1f;color:rgba(255,90,31,var(--text-opacity))}.lg\:active\:text-orange-600:active{--text-opacity:1;color:#d03801;color:rgba(208,56,1,var(--text-opacity))}.lg\:active\:text-orange-700:active{--text-opacity:1;color:#b43403;color:rgba(180,52,3,var(--text-opacity))}.lg\:active\:text-orange-800:active{--text-opacity:1;color:#8a2c0d;color:rgba(138,44,13,var(--text-opacity))}.lg\:active\:text-orange-900:active{--text-opacity:1;color:#73230d;color:rgba(115,35,13,var(--text-opacity))}.lg\:active\:text-yellow-50:active{--text-opacity:1;color:#fdfdea;color:rgba(253,253,234,var(--text-opacity))}.lg\:active\:text-yellow-100:active{--text-opacity:1;color:#fdf6b2;color:rgba(253,246,178,var(--text-opacity))}.lg\:active\:text-yellow-200:active{--text-opacity:1;color:#fce96a;color:rgba(252,233,106,var(--text-opacity))}.lg\:active\:text-yellow-300:active{--text-opacity:1;color:#faca15;color:rgba(250,202,21,var(--text-opacity))}.lg\:active\:text-yellow-400:active{--text-opacity:1;color:#e3a008;color:rgba(227,160,8,var(--text-opacity))}.lg\:active\:text-yellow-500:active{--text-opacity:1;color:#c27803;color:rgba(194,120,3,var(--text-opacity))}.lg\:active\:text-yellow-600:active{--text-opacity:1;color:#9f580a;color:rgba(159,88,10,var(--text-opacity))}.lg\:active\:text-yellow-700:active{--text-opacity:1;color:#8e4b10;color:rgba(142,75,16,var(--text-opacity))}.lg\:active\:text-yellow-800:active{--text-opacity:1;color:#723b13;color:rgba(114,59,19,var(--text-opacity))}.lg\:active\:text-yellow-900:active{--text-opacity:1;color:#633112;color:rgba(99,49,18,var(--text-opacity))}.lg\:active\:text-green-50:active{--text-opacity:1;color:#f3faf7;color:rgba(243,250,247,var(--text-opacity))}.lg\:active\:text-green-100:active{--text-opacity:1;color:#def7ec;color:rgba(222,247,236,var(--text-opacity))}.lg\:active\:text-green-200:active{--text-opacity:1;color:#bcf0da;color:rgba(188,240,218,var(--text-opacity))}.lg\:active\:text-green-300:active{--text-opacity:1;color:#84e1bc;color:rgba(132,225,188,var(--text-opacity))}.lg\:active\:text-green-400:active{--text-opacity:1;color:#31c48d;color:rgba(49,196,141,var(--text-opacity))}.lg\:active\:text-green-500:active{--text-opacity:1;color:#0e9f6e;color:rgba(14,159,110,var(--text-opacity))}.lg\:active\:text-green-600:active{--text-opacity:1;color:#057a55;color:rgba(5,122,85,var(--text-opacity))}.lg\:active\:text-green-700:active{--text-opacity:1;color:#046c4e;color:rgba(4,108,78,var(--text-opacity))}.lg\:active\:text-green-800:active{--text-opacity:1;color:#03543f;color:rgba(3,84,63,var(--text-opacity))}.lg\:active\:text-green-900:active{--text-opacity:1;color:#014737;color:rgba(1,71,55,var(--text-opacity))}.lg\:active\:text-teal-50:active{--text-opacity:1;color:#edfafa;color:rgba(237,250,250,var(--text-opacity))}.lg\:active\:text-teal-100:active{--text-opacity:1;color:#d5f5f6;color:rgba(213,245,246,var(--text-opacity))}.lg\:active\:text-teal-200:active{--text-opacity:1;color:#afecef;color:rgba(175,236,239,var(--text-opacity))}.lg\:active\:text-teal-300:active{--text-opacity:1;color:#7edce2;color:rgba(126,220,226,var(--text-opacity))}.lg\:active\:text-teal-400:active{--text-opacity:1;color:#16bdca;color:rgba(22,189,202,var(--text-opacity))}.lg\:active\:text-teal-500:active{--text-opacity:1;color:#0694a2;color:rgba(6,148,162,var(--text-opacity))}.lg\:active\:text-teal-600:active{--text-opacity:1;color:#047481;color:rgba(4,116,129,var(--text-opacity))}.lg\:active\:text-teal-700:active{--text-opacity:1;color:#036672;color:rgba(3,102,114,var(--text-opacity))}.lg\:active\:text-teal-800:active{--text-opacity:1;color:#05505c;color:rgba(5,80,92,var(--text-opacity))}.lg\:active\:text-teal-900:active{--text-opacity:1;color:#014451;color:rgba(1,68,81,var(--text-opacity))}.lg\:active\:text-blue-50:active{--text-opacity:1;color:#ebf5ff;color:rgba(235,245,255,var(--text-opacity))}.lg\:active\:text-blue-100:active{--text-opacity:1;color:#e1effe;color:rgba(225,239,254,var(--text-opacity))}.lg\:active\:text-blue-200:active{--text-opacity:1;color:#c3ddfd;color:rgba(195,221,253,var(--text-opacity))}.lg\:active\:text-blue-300:active{--text-opacity:1;color:#a4cafe;color:rgba(164,202,254,var(--text-opacity))}.lg\:active\:text-blue-400:active{--text-opacity:1;color:#76a9fa;color:rgba(118,169,250,var(--text-opacity))}.lg\:active\:text-blue-500:active{--text-opacity:1;color:#3f83f8;color:rgba(63,131,248,var(--text-opacity))}.lg\:active\:text-blue-600:active{--text-opacity:1;color:#1c64f2;color:rgba(28,100,242,var(--text-opacity))}.lg\:active\:text-blue-700:active{--text-opacity:1;color:#1a56db;color:rgba(26,86,219,var(--text-opacity))}.lg\:active\:text-blue-800:active{--text-opacity:1;color:#1e429f;color:rgba(30,66,159,var(--text-opacity))}.lg\:active\:text-blue-900:active{--text-opacity:1;color:#233876;color:rgba(35,56,118,var(--text-opacity))}.lg\:active\:text-indigo-50:active{--text-opacity:1;color:#f0f5ff;color:rgba(240,245,255,var(--text-opacity))}.lg\:active\:text-indigo-100:active{--text-opacity:1;color:#e5edff;color:rgba(229,237,255,var(--text-opacity))}.lg\:active\:text-indigo-200:active{--text-opacity:1;color:#cddbfe;color:rgba(205,219,254,var(--text-opacity))}.lg\:active\:text-indigo-300:active{--text-opacity:1;color:#b4c6fc;color:rgba(180,198,252,var(--text-opacity))}.lg\:active\:text-indigo-400:active{--text-opacity:1;color:#8da2fb;color:rgba(141,162,251,var(--text-opacity))}.lg\:active\:text-indigo-500:active{--text-opacity:1;color:#6875f5;color:rgba(104,117,245,var(--text-opacity))}.lg\:active\:text-indigo-600:active{--text-opacity:1;color:#5850ec;color:rgba(88,80,236,var(--text-opacity))}.lg\:active\:text-indigo-700:active{--text-opacity:1;color:#5145cd;color:rgba(81,69,205,var(--text-opacity))}.lg\:active\:text-indigo-800:active{--text-opacity:1;color:#42389d;color:rgba(66,56,157,var(--text-opacity))}.lg\:active\:text-indigo-900:active{--text-opacity:1;color:#362f78;color:rgba(54,47,120,var(--text-opacity))}.lg\:active\:text-purple-50:active{--text-opacity:1;color:#f6f5ff;color:rgba(246,245,255,var(--text-opacity))}.lg\:active\:text-purple-100:active{--text-opacity:1;color:#edebfe;color:rgba(237,235,254,var(--text-opacity))}.lg\:active\:text-purple-200:active{--text-opacity:1;color:#dcd7fe;color:rgba(220,215,254,var(--text-opacity))}.lg\:active\:text-purple-300:active{--text-opacity:1;color:#cabffd;color:rgba(202,191,253,var(--text-opacity))}.lg\:active\:text-purple-400:active{--text-opacity:1;color:#ac94fa;color:rgba(172,148,250,var(--text-opacity))}.lg\:active\:text-purple-500:active{--text-opacity:1;color:#9061f9;color:rgba(144,97,249,var(--text-opacity))}.lg\:active\:text-purple-600:active{--text-opacity:1;color:#7e3af2;color:rgba(126,58,242,var(--text-opacity))}.lg\:active\:text-purple-700:active{--text-opacity:1;color:#6c2bd9;color:rgba(108,43,217,var(--text-opacity))}.lg\:active\:text-purple-800:active{--text-opacity:1;color:#5521b5;color:rgba(85,33,181,var(--text-opacity))}.lg\:active\:text-purple-900:active{--text-opacity:1;color:#4a1d96;color:rgba(74,29,150,var(--text-opacity))}.lg\:active\:text-pink-50:active{--text-opacity:1;color:#fdf2f8;color:rgba(253,242,248,var(--text-opacity))}.lg\:active\:text-pink-100:active{--text-opacity:1;color:#fce8f3;color:rgba(252,232,243,var(--text-opacity))}.lg\:active\:text-pink-200:active{--text-opacity:1;color:#fad1e8;color:rgba(250,209,232,var(--text-opacity))}.lg\:active\:text-pink-300:active{--text-opacity:1;color:#f8b4d9;color:rgba(248,180,217,var(--text-opacity))}.lg\:active\:text-pink-400:active{--text-opacity:1;color:#f17eb8;color:rgba(241,126,184,var(--text-opacity))}.lg\:active\:text-pink-500:active{--text-opacity:1;color:#e74694;color:rgba(231,70,148,var(--text-opacity))}.lg\:active\:text-pink-600:active{--text-opacity:1;color:#d61f69;color:rgba(214,31,105,var(--text-opacity))}.lg\:active\:text-pink-700:active{--text-opacity:1;color:#bf125d;color:rgba(191,18,93,var(--text-opacity))}.lg\:active\:text-pink-800:active{--text-opacity:1;color:#99154b;color:rgba(153,21,75,var(--text-opacity))}.lg\:active\:text-pink-900:active{--text-opacity:1;color:#751a3d;color:rgba(117,26,61,var(--text-opacity))}.lg\:text-opacity-0{--text-opacity:0}.lg\:text-opacity-25{--text-opacity:0.25}.lg\:text-opacity-50{--text-opacity:0.5}.lg\:text-opacity-75{--text-opacity:0.75}.lg\:text-opacity-100{--text-opacity:1}.lg\:hover\:text-opacity-0:hover{--text-opacity:0}.lg\:hover\:text-opacity-25:hover{--text-opacity:0.25}.lg\:hover\:text-opacity-50:hover{--text-opacity:0.5}.lg\:hover\:text-opacity-75:hover{--text-opacity:0.75}.lg\:hover\:text-opacity-100:hover{--text-opacity:1}.lg\:focus\:text-opacity-0:focus{--text-opacity:0}.lg\:focus\:text-opacity-25:focus{--text-opacity:0.25}.lg\:focus\:text-opacity-50:focus{--text-opacity:0.5}.lg\:focus\:text-opacity-75:focus{--text-opacity:0.75}.lg\:focus\:text-opacity-100:focus{--text-opacity:1}.lg\:italic{font-style:italic}.lg\:not-italic{font-style:normal}.lg\:uppercase{text-transform:uppercase}.lg\:lowercase{text-transform:lowercase}.lg\:capitalize{text-transform:capitalize}.lg\:normal-case{text-transform:none}.lg\:underline{text-decoration:underline}.lg\:line-through{text-decoration:line-through}.lg\:no-underline{text-decoration:none}.group:hover .lg\:group-hover\:underline{text-decoration:underline}.group:hover .lg\:group-hover\:line-through{text-decoration:line-through}.group:hover .lg\:group-hover\:no-underline{text-decoration:none}.group:focus .lg\:group-focus\:underline{text-decoration:underline}.group:focus .lg\:group-focus\:line-through{text-decoration:line-through}.group:focus .lg\:group-focus\:no-underline{text-decoration:none}.lg\:hover\:underline:hover{text-decoration:underline}.lg\:hover\:line-through:hover{text-decoration:line-through}.lg\:hover\:no-underline:hover{text-decoration:none}.lg\:focus\:underline:focus{text-decoration:underline}.lg\:focus\:line-through:focus{text-decoration:line-through}.lg\:focus\:no-underline:focus{text-decoration:none}.lg\:antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.lg\:subpixel-antialiased{-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}.lg\:tracking-tighter{letter-spacing:-.05em}.lg\:tracking-tight{letter-spacing:-.025em}.lg\:tracking-normal{letter-spacing:0}.lg\:tracking-wide{letter-spacing:.025em}.lg\:tracking-wider{letter-spacing:.05em}.lg\:tracking-widest{letter-spacing:.1em}.lg\:select-none{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.lg\:select-text{-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text}.lg\:select-all{-webkit-user-select:all;-moz-user-select:all;-ms-user-select:all;user-select:all}.lg\:select-auto{-webkit-user-select:auto;-moz-user-select:auto;-ms-user-select:auto;user-select:auto}.lg\:align-baseline{vertical-align:baseline}.lg\:align-top{vertical-align:top}.lg\:align-middle{vertical-align:middle}.lg\:align-bottom{vertical-align:bottom}.lg\:align-text-top{vertical-align:text-top}.lg\:align-text-bottom{vertical-align:text-bottom}.lg\:visible{visibility:visible}.lg\:invisible{visibility:hidden}.lg\:whitespace-normal{white-space:normal}.lg\:whitespace-no-wrap{white-space:nowrap}.lg\:whitespace-pre{white-space:pre}.lg\:whitespace-pre-line{white-space:pre-line}.lg\:whitespace-pre-wrap{white-space:pre-wrap}.lg\:break-normal{overflow-wrap:normal;word-break:normal}.lg\:break-words{overflow-wrap:break-word}.lg\:break-all{word-break:break-all}.lg\:truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lg\:w-0{width:0}.lg\:w-1{width:.25rem}.lg\:w-2{width:.5rem}.lg\:w-3{width:.75rem}.lg\:w-4{width:1rem}.lg\:w-5{width:1.25rem}.lg\:w-6{width:1.5rem}.lg\:w-7{width:1.75rem}.lg\:w-8{width:2rem}.lg\:w-9{width:2.25rem}.lg\:w-10{width:2.5rem}.lg\:w-11{width:2.75rem}.lg\:w-12{width:3rem}.lg\:w-13{width:3.25rem}.lg\:w-14{width:3.5rem}.lg\:w-15{width:3.75rem}.lg\:w-16{width:4rem}.lg\:w-20{width:5rem}.lg\:w-24{width:6rem}.lg\:w-28{width:7rem}.lg\:w-32{width:8rem}.lg\:w-36{width:9rem}.lg\:w-40{width:10rem}.lg\:w-44{width:11rem}.lg\:w-48{width:12rem}.lg\:w-52{width:13rem}.lg\:w-56{width:14rem}.lg\:w-60{width:15rem}.lg\:w-64{width:16rem}.lg\:w-72{width:18rem}.lg\:w-80{width:20rem}.lg\:w-96{width:24rem}.lg\:w-auto{width:auto}.lg\:w-px{width:1px}.lg\:w-0\.5{width:.125rem}.lg\:w-1\.5{width:.375rem}.lg\:w-2\.5{width:.625rem}.lg\:w-3\.5{width:.875rem}.lg\:w-1\/2{width:50%}.lg\:w-1\/3{width:33.333333%}.lg\:w-2\/3{width:66.666667%}.lg\:w-1\/4{width:25%}.lg\:w-2\/4{width:50%}.lg\:w-3\/4{width:75%}.lg\:w-1\/5{width:20%}.lg\:w-2\/5{width:40%}.lg\:w-3\/5{width:60%}.lg\:w-4\/5{width:80%}.lg\:w-1\/6{width:16.666667%}.lg\:w-2\/6{width:33.333333%}.lg\:w-3\/6{width:50%}.lg\:w-4\/6{width:66.666667%}.lg\:w-5\/6{width:83.333333%}.lg\:w-1\/12{width:8.333333%}.lg\:w-2\/12{width:16.666667%}.lg\:w-3\/12{width:25%}.lg\:w-4\/12{width:33.333333%}.lg\:w-5\/12{width:41.666667%}.lg\:w-6\/12{width:50%}.lg\:w-7\/12{width:58.333333%}.lg\:w-8\/12{width:66.666667%}.lg\:w-9\/12{width:75%}.lg\:w-10\/12{width:83.333333%}.lg\:w-11\/12{width:91.666667%}.lg\:w-full{width:100%}.lg\:w-screen{width:100vw}.lg\:w-min-content{width:-webkit-min-content;width:-moz-min-content;width:min-content}.lg\:w-max-content{width:-webkit-max-content;width:-moz-max-content;width:max-content}.lg\:z-0{z-index:0}.lg\:z-10{z-index:10}.lg\:z-20{z-index:20}.lg\:z-30{z-index:30}.lg\:z-40{z-index:40}.lg\:z-50{z-index:50}.lg\:z-auto{z-index:auto}.lg\:focus-within\:z-0:focus-within{z-index:0}.lg\:focus-within\:z-10:focus-within{z-index:10}.lg\:focus-within\:z-20:focus-within{z-index:20}.lg\:focus-within\:z-30:focus-within{z-index:30}.lg\:focus-within\:z-40:focus-within{z-index:40}.lg\:focus-within\:z-50:focus-within{z-index:50}.lg\:focus-within\:z-auto:focus-within{z-index:auto}.lg\:focus\:z-0:focus{z-index:0}.lg\:focus\:z-10:focus{z-index:10}.lg\:focus\:z-20:focus{z-index:20}.lg\:focus\:z-30:focus{z-index:30}.lg\:focus\:z-40:focus{z-index:40}.lg\:focus\:z-50:focus{z-index:50}.lg\:focus\:z-auto:focus{z-index:auto}.lg\:gap-0{grid-gap:0;gap:0}.lg\:gap-1{grid-gap:.25rem;gap:.25rem}.lg\:gap-2{grid-gap:.5rem;gap:.5rem}.lg\:gap-3{grid-gap:.75rem;gap:.75rem}.lg\:gap-4{grid-gap:1rem;gap:1rem}.lg\:gap-5{grid-gap:1.25rem;gap:1.25rem}.lg\:gap-6{grid-gap:1.5rem;gap:1.5rem}.lg\:gap-7{grid-gap:1.75rem;gap:1.75rem}.lg\:gap-8{grid-gap:2rem;gap:2rem}.lg\:gap-9{grid-gap:2.25rem;gap:2.25rem}.lg\:gap-10{grid-gap:2.5rem;gap:2.5rem}.lg\:gap-11{grid-gap:2.75rem;gap:2.75rem}.lg\:gap-12{grid-gap:3rem;gap:3rem}.lg\:gap-13{grid-gap:3.25rem;gap:3.25rem}.lg\:gap-14{grid-gap:3.5rem;gap:3.5rem}.lg\:gap-15{grid-gap:3.75rem;gap:3.75rem}.lg\:gap-16{grid-gap:4rem;gap:4rem}.lg\:gap-20{grid-gap:5rem;gap:5rem}.lg\:gap-24{grid-gap:6rem;gap:6rem}.lg\:gap-28{grid-gap:7rem;gap:7rem}.lg\:gap-32{grid-gap:8rem;gap:8rem}.lg\:gap-36{grid-gap:9rem;gap:9rem}.lg\:gap-40{grid-gap:10rem;gap:10rem}.lg\:gap-44{grid-gap:11rem;gap:11rem}.lg\:gap-48{grid-gap:12rem;gap:12rem}.lg\:gap-52{grid-gap:13rem;gap:13rem}.lg\:gap-56{grid-gap:14rem;gap:14rem}.lg\:gap-60{grid-gap:15rem;gap:15rem}.lg\:gap-64{grid-gap:16rem;gap:16rem}.lg\:gap-72{grid-gap:18rem;gap:18rem}.lg\:gap-80{grid-gap:20rem;gap:20rem}.lg\:gap-96{grid-gap:24rem;gap:24rem}.lg\:gap-px{grid-gap:1px;gap:1px}.lg\:gap-0\.5{grid-gap:.125rem;gap:.125rem}.lg\:gap-1\.5{grid-gap:.375rem;gap:.375rem}.lg\:gap-2\.5{grid-gap:.625rem;gap:.625rem}.lg\:gap-3\.5{grid-gap:.875rem;gap:.875rem}.lg\:gap-1\/2{grid-gap:50%;gap:50%}.lg\:gap-1\/3{grid-gap:33.333333%;gap:33.333333%}.lg\:gap-2\/3{grid-gap:66.666667%;gap:66.666667%}.lg\:gap-1\/4{grid-gap:25%;gap:25%}.lg\:gap-2\/4{grid-gap:50%;gap:50%}.lg\:gap-3\/4{grid-gap:75%;gap:75%}.lg\:gap-1\/5{grid-gap:20%;gap:20%}.lg\:gap-2\/5{grid-gap:40%;gap:40%}.lg\:gap-3\/5{grid-gap:60%;gap:60%}.lg\:gap-4\/5{grid-gap:80%;gap:80%}.lg\:gap-1\/6{grid-gap:16.666667%;gap:16.666667%}.lg\:gap-2\/6{grid-gap:33.333333%;gap:33.333333%}.lg\:gap-3\/6{grid-gap:50%;gap:50%}.lg\:gap-4\/6{grid-gap:66.666667%;gap:66.666667%}.lg\:gap-5\/6{grid-gap:83.333333%;gap:83.333333%}.lg\:gap-1\/12{grid-gap:8.333333%;gap:8.333333%}.lg\:gap-2\/12{grid-gap:16.666667%;gap:16.666667%}.lg\:gap-3\/12{grid-gap:25%;gap:25%}.lg\:gap-4\/12{grid-gap:33.333333%;gap:33.333333%}.lg\:gap-5\/12{grid-gap:41.666667%;gap:41.666667%}.lg\:gap-6\/12{grid-gap:50%;gap:50%}.lg\:gap-7\/12{grid-gap:58.333333%;gap:58.333333%}.lg\:gap-8\/12{grid-gap:66.666667%;gap:66.666667%}.lg\:gap-9\/12{grid-gap:75%;gap:75%}.lg\:gap-10\/12{grid-gap:83.333333%;gap:83.333333%}.lg\:gap-11\/12{grid-gap:91.666667%;gap:91.666667%}.lg\:gap-full{grid-gap:100%;gap:100%}.lg\:col-gap-0{grid-column-gap:0;-moz-column-gap:0;column-gap:0}.lg\:col-gap-1{grid-column-gap:.25rem;-moz-column-gap:.25rem;column-gap:.25rem}.lg\:col-gap-2{grid-column-gap:.5rem;-moz-column-gap:.5rem;column-gap:.5rem}.lg\:col-gap-3{grid-column-gap:.75rem;-moz-column-gap:.75rem;column-gap:.75rem}.lg\:col-gap-4{grid-column-gap:1rem;-moz-column-gap:1rem;column-gap:1rem}.lg\:col-gap-5{grid-column-gap:1.25rem;-moz-column-gap:1.25rem;column-gap:1.25rem}.lg\:col-gap-6{grid-column-gap:1.5rem;-moz-column-gap:1.5rem;column-gap:1.5rem}.lg\:col-gap-7{grid-column-gap:1.75rem;-moz-column-gap:1.75rem;column-gap:1.75rem}.lg\:col-gap-8{grid-column-gap:2rem;-moz-column-gap:2rem;column-gap:2rem}.lg\:col-gap-9{grid-column-gap:2.25rem;-moz-column-gap:2.25rem;column-gap:2.25rem}.lg\:col-gap-10{grid-column-gap:2.5rem;-moz-column-gap:2.5rem;column-gap:2.5rem}.lg\:col-gap-11{grid-column-gap:2.75rem;-moz-column-gap:2.75rem;column-gap:2.75rem}.lg\:col-gap-12{grid-column-gap:3rem;-moz-column-gap:3rem;column-gap:3rem}.lg\:col-gap-13{grid-column-gap:3.25rem;-moz-column-gap:3.25rem;column-gap:3.25rem}.lg\:col-gap-14{grid-column-gap:3.5rem;-moz-column-gap:3.5rem;column-gap:3.5rem}.lg\:col-gap-15{grid-column-gap:3.75rem;-moz-column-gap:3.75rem;column-gap:3.75rem}.lg\:col-gap-16{grid-column-gap:4rem;-moz-column-gap:4rem;column-gap:4rem}.lg\:col-gap-20{grid-column-gap:5rem;-moz-column-gap:5rem;column-gap:5rem}.lg\:col-gap-24{grid-column-gap:6rem;-moz-column-gap:6rem;column-gap:6rem}.lg\:col-gap-28{grid-column-gap:7rem;-moz-column-gap:7rem;column-gap:7rem}.lg\:col-gap-32{grid-column-gap:8rem;-moz-column-gap:8rem;column-gap:8rem}.lg\:col-gap-36{grid-column-gap:9rem;-moz-column-gap:9rem;column-gap:9rem}.lg\:col-gap-40{grid-column-gap:10rem;-moz-column-gap:10rem;column-gap:10rem}.lg\:col-gap-44{grid-column-gap:11rem;-moz-column-gap:11rem;column-gap:11rem}.lg\:col-gap-48{grid-column-gap:12rem;-moz-column-gap:12rem;column-gap:12rem}.lg\:col-gap-52{grid-column-gap:13rem;-moz-column-gap:13rem;column-gap:13rem}.lg\:col-gap-56{grid-column-gap:14rem;-moz-column-gap:14rem;column-gap:14rem}.lg\:col-gap-60{grid-column-gap:15rem;-moz-column-gap:15rem;column-gap:15rem}.lg\:col-gap-64{grid-column-gap:16rem;-moz-column-gap:16rem;column-gap:16rem}.lg\:col-gap-72{grid-column-gap:18rem;-moz-column-gap:18rem;column-gap:18rem}.lg\:col-gap-80{grid-column-gap:20rem;-moz-column-gap:20rem;column-gap:20rem}.lg\:col-gap-96{grid-column-gap:24rem;-moz-column-gap:24rem;column-gap:24rem}.lg\:col-gap-px{grid-column-gap:1px;-moz-column-gap:1px;column-gap:1px}.lg\:col-gap-0\.5{grid-column-gap:.125rem;-moz-column-gap:.125rem;column-gap:.125rem}.lg\:col-gap-1\.5{grid-column-gap:.375rem;-moz-column-gap:.375rem;column-gap:.375rem}.lg\:col-gap-2\.5{grid-column-gap:.625rem;-moz-column-gap:.625rem;column-gap:.625rem}.lg\:col-gap-3\.5{grid-column-gap:.875rem;-moz-column-gap:.875rem;column-gap:.875rem}.lg\:col-gap-1\/2{grid-column-gap:50%;-moz-column-gap:50%;column-gap:50%}.lg\:col-gap-1\/3{grid-column-gap:33.333333%;-moz-column-gap:33.333333%;column-gap:33.333333%}.lg\:col-gap-2\/3{grid-column-gap:66.666667%;-moz-column-gap:66.666667%;column-gap:66.666667%}.lg\:col-gap-1\/4{grid-column-gap:25%;-moz-column-gap:25%;column-gap:25%}.lg\:col-gap-2\/4{grid-column-gap:50%;-moz-column-gap:50%;column-gap:50%}.lg\:col-gap-3\/4{grid-column-gap:75%;-moz-column-gap:75%;column-gap:75%}.lg\:col-gap-1\/5{grid-column-gap:20%;-moz-column-gap:20%;column-gap:20%}.lg\:col-gap-2\/5{grid-column-gap:40%;-moz-column-gap:40%;column-gap:40%}.lg\:col-gap-3\/5{grid-column-gap:60%;-moz-column-gap:60%;column-gap:60%}.lg\:col-gap-4\/5{grid-column-gap:80%;-moz-column-gap:80%;column-gap:80%}.lg\:col-gap-1\/6{grid-column-gap:16.666667%;-moz-column-gap:16.666667%;column-gap:16.666667%}.lg\:col-gap-2\/6{grid-column-gap:33.333333%;-moz-column-gap:33.333333%;column-gap:33.333333%}.lg\:col-gap-3\/6{grid-column-gap:50%;-moz-column-gap:50%;column-gap:50%}.lg\:col-gap-4\/6{grid-column-gap:66.666667%;-moz-column-gap:66.666667%;column-gap:66.666667%}.lg\:col-gap-5\/6{grid-column-gap:83.333333%;-moz-column-gap:83.333333%;column-gap:83.333333%}.lg\:col-gap-1\/12{grid-column-gap:8.333333%;-moz-column-gap:8.333333%;column-gap:8.333333%}.lg\:col-gap-2\/12{grid-column-gap:16.666667%;-moz-column-gap:16.666667%;column-gap:16.666667%}.lg\:col-gap-3\/12{grid-column-gap:25%;-moz-column-gap:25%;column-gap:25%}.lg\:col-gap-4\/12{grid-column-gap:33.333333%;-moz-column-gap:33.333333%;column-gap:33.333333%}.lg\:col-gap-5\/12{grid-column-gap:41.666667%;-moz-column-gap:41.666667%;column-gap:41.666667%}.lg\:col-gap-6\/12{grid-column-gap:50%;-moz-column-gap:50%;column-gap:50%}.lg\:col-gap-7\/12{grid-column-gap:58.333333%;-moz-column-gap:58.333333%;column-gap:58.333333%}.lg\:col-gap-8\/12{grid-column-gap:66.666667%;-moz-column-gap:66.666667%;column-gap:66.666667%}.lg\:col-gap-9\/12{grid-column-gap:75%;-moz-column-gap:75%;column-gap:75%}.lg\:col-gap-10\/12{grid-column-gap:83.333333%;-moz-column-gap:83.333333%;column-gap:83.333333%}.lg\:col-gap-11\/12{grid-column-gap:91.666667%;-moz-column-gap:91.666667%;column-gap:91.666667%}.lg\:col-gap-full{grid-column-gap:100%;-moz-column-gap:100%;column-gap:100%}.lg\:row-gap-0{grid-row-gap:0;row-gap:0}.lg\:row-gap-1{grid-row-gap:.25rem;row-gap:.25rem}.lg\:row-gap-2{grid-row-gap:.5rem;row-gap:.5rem}.lg\:row-gap-3{grid-row-gap:.75rem;row-gap:.75rem}.lg\:row-gap-4{grid-row-gap:1rem;row-gap:1rem}.lg\:row-gap-5{grid-row-gap:1.25rem;row-gap:1.25rem}.lg\:row-gap-6{grid-row-gap:1.5rem;row-gap:1.5rem}.lg\:row-gap-7{grid-row-gap:1.75rem;row-gap:1.75rem}.lg\:row-gap-8{grid-row-gap:2rem;row-gap:2rem}.lg\:row-gap-9{grid-row-gap:2.25rem;row-gap:2.25rem}.lg\:row-gap-10{grid-row-gap:2.5rem;row-gap:2.5rem}.lg\:row-gap-11{grid-row-gap:2.75rem;row-gap:2.75rem}.lg\:row-gap-12{grid-row-gap:3rem;row-gap:3rem}.lg\:row-gap-13{grid-row-gap:3.25rem;row-gap:3.25rem}.lg\:row-gap-14{grid-row-gap:3.5rem;row-gap:3.5rem}.lg\:row-gap-15{grid-row-gap:3.75rem;row-gap:3.75rem}.lg\:row-gap-16{grid-row-gap:4rem;row-gap:4rem}.lg\:row-gap-20{grid-row-gap:5rem;row-gap:5rem}.lg\:row-gap-24{grid-row-gap:6rem;row-gap:6rem}.lg\:row-gap-28{grid-row-gap:7rem;row-gap:7rem}.lg\:row-gap-32{grid-row-gap:8rem;row-gap:8rem}.lg\:row-gap-36{grid-row-gap:9rem;row-gap:9rem}.lg\:row-gap-40{grid-row-gap:10rem;row-gap:10rem}.lg\:row-gap-44{grid-row-gap:11rem;row-gap:11rem}.lg\:row-gap-48{grid-row-gap:12rem;row-gap:12rem}.lg\:row-gap-52{grid-row-gap:13rem;row-gap:13rem}.lg\:row-gap-56{grid-row-gap:14rem;row-gap:14rem}.lg\:row-gap-60{grid-row-gap:15rem;row-gap:15rem}.lg\:row-gap-64{grid-row-gap:16rem;row-gap:16rem}.lg\:row-gap-72{grid-row-gap:18rem;row-gap:18rem}.lg\:row-gap-80{grid-row-gap:20rem;row-gap:20rem}.lg\:row-gap-96{grid-row-gap:24rem;row-gap:24rem}.lg\:row-gap-px{grid-row-gap:1px;row-gap:1px}.lg\:row-gap-0\.5{grid-row-gap:.125rem;row-gap:.125rem}.lg\:row-gap-1\.5{grid-row-gap:.375rem;row-gap:.375rem}.lg\:row-gap-2\.5{grid-row-gap:.625rem;row-gap:.625rem}.lg\:row-gap-3\.5{grid-row-gap:.875rem;row-gap:.875rem}.lg\:row-gap-1\/2{grid-row-gap:50%;row-gap:50%}.lg\:row-gap-1\/3{grid-row-gap:33.333333%;row-gap:33.333333%}.lg\:row-gap-2\/3{grid-row-gap:66.666667%;row-gap:66.666667%}.lg\:row-gap-1\/4{grid-row-gap:25%;row-gap:25%}.lg\:row-gap-2\/4{grid-row-gap:50%;row-gap:50%}.lg\:row-gap-3\/4{grid-row-gap:75%;row-gap:75%}.lg\:row-gap-1\/5{grid-row-gap:20%;row-gap:20%}.lg\:row-gap-2\/5{grid-row-gap:40%;row-gap:40%}.lg\:row-gap-3\/5{grid-row-gap:60%;row-gap:60%}.lg\:row-gap-4\/5{grid-row-gap:80%;row-gap:80%}.lg\:row-gap-1\/6{grid-row-gap:16.666667%;row-gap:16.666667%}.lg\:row-gap-2\/6{grid-row-gap:33.333333%;row-gap:33.333333%}.lg\:row-gap-3\/6{grid-row-gap:50%;row-gap:50%}.lg\:row-gap-4\/6{grid-row-gap:66.666667%;row-gap:66.666667%}.lg\:row-gap-5\/6{grid-row-gap:83.333333%;row-gap:83.333333%}.lg\:row-gap-1\/12{grid-row-gap:8.333333%;row-gap:8.333333%}.lg\:row-gap-2\/12{grid-row-gap:16.666667%;row-gap:16.666667%}.lg\:row-gap-3\/12{grid-row-gap:25%;row-gap:25%}.lg\:row-gap-4\/12{grid-row-gap:33.333333%;row-gap:33.333333%}.lg\:row-gap-5\/12{grid-row-gap:41.666667%;row-gap:41.666667%}.lg\:row-gap-6\/12{grid-row-gap:50%;row-gap:50%}.lg\:row-gap-7\/12{grid-row-gap:58.333333%;row-gap:58.333333%}.lg\:row-gap-8\/12{grid-row-gap:66.666667%;row-gap:66.666667%}.lg\:row-gap-9\/12{grid-row-gap:75%;row-gap:75%}.lg\:row-gap-10\/12{grid-row-gap:83.333333%;row-gap:83.333333%}.lg\:row-gap-11\/12{grid-row-gap:91.666667%;row-gap:91.666667%}.lg\:row-gap-full{grid-row-gap:100%;row-gap:100%}.lg\:grid-flow-row{grid-auto-flow:row}.lg\:grid-flow-col{grid-auto-flow:column}.lg\:grid-flow-row-dense{grid-auto-flow:row dense}.lg\:grid-flow-col-dense{grid-auto-flow:column dense}.lg\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.lg\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.lg\:grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.lg\:grid-cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}.lg\:grid-cols-9{grid-template-columns:repeat(9,minmax(0,1fr))}.lg\:grid-cols-10{grid-template-columns:repeat(10,minmax(0,1fr))}.lg\:grid-cols-11{grid-template-columns:repeat(11,minmax(0,1fr))}.lg\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.lg\:grid-cols-none{grid-template-columns:none}.lg\:col-auto{grid-column:auto}.lg\:col-span-1{grid-column:span 1/span 1}.lg\:col-span-2{grid-column:span 2/span 2}.lg\:col-span-3{grid-column:span 3/span 3}.lg\:col-span-4{grid-column:span 4/span 4}.lg\:col-span-5{grid-column:span 5/span 5}.lg\:col-span-6{grid-column:span 6/span 6}.lg\:col-span-7{grid-column:span 7/span 7}.lg\:col-span-8{grid-column:span 8/span 8}.lg\:col-span-9{grid-column:span 9/span 9}.lg\:col-span-10{grid-column:span 10/span 10}.lg\:col-span-11{grid-column:span 11/span 11}.lg\:col-span-12{grid-column:span 12/span 12}.lg\:col-start-1{grid-column-start:1}.lg\:col-start-2{grid-column-start:2}.lg\:col-start-3{grid-column-start:3}.lg\:col-start-4{grid-column-start:4}.lg\:col-start-5{grid-column-start:5}.lg\:col-start-6{grid-column-start:6}.lg\:col-start-7{grid-column-start:7}.lg\:col-start-8{grid-column-start:8}.lg\:col-start-9{grid-column-start:9}.lg\:col-start-10{grid-column-start:10}.lg\:col-start-11{grid-column-start:11}.lg\:col-start-12{grid-column-start:12}.lg\:col-start-13{grid-column-start:13}.lg\:col-start-auto{grid-column-start:auto}.lg\:col-end-1{grid-column-end:1}.lg\:col-end-2{grid-column-end:2}.lg\:col-end-3{grid-column-end:3}.lg\:col-end-4{grid-column-end:4}.lg\:col-end-5{grid-column-end:5}.lg\:col-end-6{grid-column-end:6}.lg\:col-end-7{grid-column-end:7}.lg\:col-end-8{grid-column-end:8}.lg\:col-end-9{grid-column-end:9}.lg\:col-end-10{grid-column-end:10}.lg\:col-end-11{grid-column-end:11}.lg\:col-end-12{grid-column-end:12}.lg\:col-end-13{grid-column-end:13}.lg\:col-end-auto{grid-column-end:auto}.lg\:grid-rows-1{grid-template-rows:repeat(1,minmax(0,1fr))}.lg\:grid-rows-2{grid-template-rows:repeat(2,minmax(0,1fr))}.lg\:grid-rows-3{grid-template-rows:repeat(3,minmax(0,1fr))}.lg\:grid-rows-4{grid-template-rows:repeat(4,minmax(0,1fr))}.lg\:grid-rows-5{grid-template-rows:repeat(5,minmax(0,1fr))}.lg\:grid-rows-6{grid-template-rows:repeat(6,minmax(0,1fr))}.lg\:grid-rows-none{grid-template-rows:none}.lg\:row-auto{grid-row:auto}.lg\:row-span-1{grid-row:span 1/span 1}.lg\:row-span-2{grid-row:span 2/span 2}.lg\:row-span-3{grid-row:span 3/span 3}.lg\:row-span-4{grid-row:span 4/span 4}.lg\:row-span-5{grid-row:span 5/span 5}.lg\:row-span-6{grid-row:span 6/span 6}.lg\:row-start-1{grid-row-start:1}.lg\:row-start-2{grid-row-start:2}.lg\:row-start-3{grid-row-start:3}.lg\:row-start-4{grid-row-start:4}.lg\:row-start-5{grid-row-start:5}.lg\:row-start-6{grid-row-start:6}.lg\:row-start-7{grid-row-start:7}.lg\:row-start-auto{grid-row-start:auto}.lg\:row-end-1{grid-row-end:1}.lg\:row-end-2{grid-row-end:2}.lg\:row-end-3{grid-row-end:3}.lg\:row-end-4{grid-row-end:4}.lg\:row-end-5{grid-row-end:5}.lg\:row-end-6{grid-row-end:6}.lg\:row-end-7{grid-row-end:7}.lg\:row-end-auto{grid-row-end:auto}.lg\:transform{--transform-translate-x:0;--transform-translate-y:0;--transform-rotate:0;--transform-skew-x:0;--transform-skew-y:0;--transform-scale-x:1;--transform-scale-y:1;transform:translateX(var(--transform-translate-x)) translateY(var(--transform-translate-y)) rotate(var(--transform-rotate)) skewX(var(--transform-skew-x)) skewY(var(--transform-skew-y)) scaleX(var(--transform-scale-x)) scaleY(var(--transform-scale-y))}.lg\:transform-none{transform:none}.lg\:origin-center{transform-origin:center}.lg\:origin-top{transform-origin:top}.lg\:origin-top-right{transform-origin:top right}.lg\:origin-right{transform-origin:right}.lg\:origin-bottom-right{transform-origin:bottom right}.lg\:origin-bottom{transform-origin:bottom}.lg\:origin-bottom-left{transform-origin:bottom left}.lg\:origin-left{transform-origin:left}.lg\:origin-top-left{transform-origin:top left}.lg\:scale-0{--transform-scale-x:0;--transform-scale-y:0}.lg\:scale-50{--transform-scale-x:.5;--transform-scale-y:.5}.lg\:scale-75{--transform-scale-x:.75;--transform-scale-y:.75}.lg\:scale-90{--transform-scale-x:.9;--transform-scale-y:.9}.lg\:scale-95{--transform-scale-x:.95;--transform-scale-y:.95}.lg\:scale-100{--transform-scale-x:1;--transform-scale-y:1}.lg\:scale-105{--transform-scale-x:1.05;--transform-scale-y:1.05}.lg\:scale-110{--transform-scale-x:1.1;--transform-scale-y:1.1}.lg\:scale-125{--transform-scale-x:1.25;--transform-scale-y:1.25}.lg\:scale-150{--transform-scale-x:1.5;--transform-scale-y:1.5}.lg\:scale-x-0{--transform-scale-x:0}.lg\:scale-x-50{--transform-scale-x:.5}.lg\:scale-x-75{--transform-scale-x:.75}.lg\:scale-x-90{--transform-scale-x:.9}.lg\:scale-x-95{--transform-scale-x:.95}.lg\:scale-x-100{--transform-scale-x:1}.lg\:scale-x-105{--transform-scale-x:1.05}.lg\:scale-x-110{--transform-scale-x:1.1}.lg\:scale-x-125{--transform-scale-x:1.25}.lg\:scale-x-150{--transform-scale-x:1.5}.lg\:scale-y-0{--transform-scale-y:0}.lg\:scale-y-50{--transform-scale-y:.5}.lg\:scale-y-75{--transform-scale-y:.75}.lg\:scale-y-90{--transform-scale-y:.9}.lg\:scale-y-95{--transform-scale-y:.95}.lg\:scale-y-100{--transform-scale-y:1}.lg\:scale-y-105{--transform-scale-y:1.05}.lg\:scale-y-110{--transform-scale-y:1.1}.lg\:scale-y-125{--transform-scale-y:1.25}.lg\:scale-y-150{--transform-scale-y:1.5}.lg\:hover\:scale-0:hover{--transform-scale-x:0;--transform-scale-y:0}.lg\:hover\:scale-50:hover{--transform-scale-x:.5;--transform-scale-y:.5}.lg\:hover\:scale-75:hover{--transform-scale-x:.75;--transform-scale-y:.75}.lg\:hover\:scale-90:hover{--transform-scale-x:.9;--transform-scale-y:.9}.lg\:hover\:scale-95:hover{--transform-scale-x:.95;--transform-scale-y:.95}.lg\:hover\:scale-100:hover{--transform-scale-x:1;--transform-scale-y:1}.lg\:hover\:scale-105:hover{--transform-scale-x:1.05;--transform-scale-y:1.05}.lg\:hover\:scale-110:hover{--transform-scale-x:1.1;--transform-scale-y:1.1}.lg\:hover\:scale-125:hover{--transform-scale-x:1.25;--transform-scale-y:1.25}.lg\:hover\:scale-150:hover{--transform-scale-x:1.5;--transform-scale-y:1.5}.lg\:hover\:scale-x-0:hover{--transform-scale-x:0}.lg\:hover\:scale-x-50:hover{--transform-scale-x:.5}.lg\:hover\:scale-x-75:hover{--transform-scale-x:.75}.lg\:hover\:scale-x-90:hover{--transform-scale-x:.9}.lg\:hover\:scale-x-95:hover{--transform-scale-x:.95}.lg\:hover\:scale-x-100:hover{--transform-scale-x:1}.lg\:hover\:scale-x-105:hover{--transform-scale-x:1.05}.lg\:hover\:scale-x-110:hover{--transform-scale-x:1.1}.lg\:hover\:scale-x-125:hover{--transform-scale-x:1.25}.lg\:hover\:scale-x-150:hover{--transform-scale-x:1.5}.lg\:hover\:scale-y-0:hover{--transform-scale-y:0}.lg\:hover\:scale-y-50:hover{--transform-scale-y:.5}.lg\:hover\:scale-y-75:hover{--transform-scale-y:.75}.lg\:hover\:scale-y-90:hover{--transform-scale-y:.9}.lg\:hover\:scale-y-95:hover{--transform-scale-y:.95}.lg\:hover\:scale-y-100:hover{--transform-scale-y:1}.lg\:hover\:scale-y-105:hover{--transform-scale-y:1.05}.lg\:hover\:scale-y-110:hover{--transform-scale-y:1.1}.lg\:hover\:scale-y-125:hover{--transform-scale-y:1.25}.lg\:hover\:scale-y-150:hover{--transform-scale-y:1.5}.lg\:focus\:scale-0:focus{--transform-scale-x:0;--transform-scale-y:0}.lg\:focus\:scale-50:focus{--transform-scale-x:.5;--transform-scale-y:.5}.lg\:focus\:scale-75:focus{--transform-scale-x:.75;--transform-scale-y:.75}.lg\:focus\:scale-90:focus{--transform-scale-x:.9;--transform-scale-y:.9}.lg\:focus\:scale-95:focus{--transform-scale-x:.95;--transform-scale-y:.95}.lg\:focus\:scale-100:focus{--transform-scale-x:1;--transform-scale-y:1}.lg\:focus\:scale-105:focus{--transform-scale-x:1.05;--transform-scale-y:1.05}.lg\:focus\:scale-110:focus{--transform-scale-x:1.1;--transform-scale-y:1.1}.lg\:focus\:scale-125:focus{--transform-scale-x:1.25;--transform-scale-y:1.25}.lg\:focus\:scale-150:focus{--transform-scale-x:1.5;--transform-scale-y:1.5}.lg\:focus\:scale-x-0:focus{--transform-scale-x:0}.lg\:focus\:scale-x-50:focus{--transform-scale-x:.5}.lg\:focus\:scale-x-75:focus{--transform-scale-x:.75}.lg\:focus\:scale-x-90:focus{--transform-scale-x:.9}.lg\:focus\:scale-x-95:focus{--transform-scale-x:.95}.lg\:focus\:scale-x-100:focus{--transform-scale-x:1}.lg\:focus\:scale-x-105:focus{--transform-scale-x:1.05}.lg\:focus\:scale-x-110:focus{--transform-scale-x:1.1}.lg\:focus\:scale-x-125:focus{--transform-scale-x:1.25}.lg\:focus\:scale-x-150:focus{--transform-scale-x:1.5}.lg\:focus\:scale-y-0:focus{--transform-scale-y:0}.lg\:focus\:scale-y-50:focus{--transform-scale-y:.5}.lg\:focus\:scale-y-75:focus{--transform-scale-y:.75}.lg\:focus\:scale-y-90:focus{--transform-scale-y:.9}.lg\:focus\:scale-y-95:focus{--transform-scale-y:.95}.lg\:focus\:scale-y-100:focus{--transform-scale-y:1}.lg\:focus\:scale-y-105:focus{--transform-scale-y:1.05}.lg\:focus\:scale-y-110:focus{--transform-scale-y:1.1}.lg\:focus\:scale-y-125:focus{--transform-scale-y:1.25}.lg\:focus\:scale-y-150:focus{--transform-scale-y:1.5}.lg\:rotate-0{--transform-rotate:0}.lg\:rotate-45{--transform-rotate:45deg}.lg\:rotate-90{--transform-rotate:90deg}.lg\:rotate-180{--transform-rotate:180deg}.lg\:-rotate-180{--transform-rotate:-180deg}.lg\:-rotate-90{--transform-rotate:-90deg}.lg\:-rotate-45{--transform-rotate:-45deg}.lg\:hover\:rotate-0:hover{--transform-rotate:0}.lg\:hover\:rotate-45:hover{--transform-rotate:45deg}.lg\:hover\:rotate-90:hover{--transform-rotate:90deg}.lg\:hover\:rotate-180:hover{--transform-rotate:180deg}.lg\:hover\:-rotate-180:hover{--transform-rotate:-180deg}.lg\:hover\:-rotate-90:hover{--transform-rotate:-90deg}.lg\:hover\:-rotate-45:hover{--transform-rotate:-45deg}.lg\:focus\:rotate-0:focus{--transform-rotate:0}.lg\:focus\:rotate-45:focus{--transform-rotate:45deg}.lg\:focus\:rotate-90:focus{--transform-rotate:90deg}.lg\:focus\:rotate-180:focus{--transform-rotate:180deg}.lg\:focus\:-rotate-180:focus{--transform-rotate:-180deg}.lg\:focus\:-rotate-90:focus{--transform-rotate:-90deg}.lg\:focus\:-rotate-45:focus{--transform-rotate:-45deg}.lg\:translate-x-0{--transform-translate-x:0}.lg\:translate-x-1{--transform-translate-x:0.25rem}.lg\:translate-x-2{--transform-translate-x:0.5rem}.lg\:translate-x-3{--transform-translate-x:0.75rem}.lg\:translate-x-4{--transform-translate-x:1rem}.lg\:translate-x-5{--transform-translate-x:1.25rem}.lg\:translate-x-6{--transform-translate-x:1.5rem}.lg\:translate-x-7{--transform-translate-x:1.75rem}.lg\:translate-x-8{--transform-translate-x:2rem}.lg\:translate-x-9{--transform-translate-x:2.25rem}.lg\:translate-x-10{--transform-translate-x:2.5rem}.lg\:translate-x-11{--transform-translate-x:2.75rem}.lg\:translate-x-12{--transform-translate-x:3rem}.lg\:translate-x-13{--transform-translate-x:3.25rem}.lg\:translate-x-14{--transform-translate-x:3.5rem}.lg\:translate-x-15{--transform-translate-x:3.75rem}.lg\:translate-x-16{--transform-translate-x:4rem}.lg\:translate-x-20{--transform-translate-x:5rem}.lg\:translate-x-24{--transform-translate-x:6rem}.lg\:translate-x-28{--transform-translate-x:7rem}.lg\:translate-x-32{--transform-translate-x:8rem}.lg\:translate-x-36{--transform-translate-x:9rem}.lg\:translate-x-40{--transform-translate-x:10rem}.lg\:translate-x-44{--transform-translate-x:11rem}.lg\:translate-x-48{--transform-translate-x:12rem}.lg\:translate-x-52{--transform-translate-x:13rem}.lg\:translate-x-56{--transform-translate-x:14rem}.lg\:translate-x-60{--transform-translate-x:15rem}.lg\:translate-x-64{--transform-translate-x:16rem}.lg\:translate-x-72{--transform-translate-x:18rem}.lg\:translate-x-80{--transform-translate-x:20rem}.lg\:translate-x-96{--transform-translate-x:24rem}.lg\:translate-x-px{--transform-translate-x:1px}.lg\:translate-x-0\.5{--transform-translate-x:0.125rem}.lg\:translate-x-1\.5{--transform-translate-x:0.375rem}.lg\:translate-x-2\.5{--transform-translate-x:0.625rem}.lg\:translate-x-3\.5{--transform-translate-x:0.875rem}.lg\:translate-x-1\/2{--transform-translate-x:50%}.lg\:translate-x-1\/3{--transform-translate-x:33.333333%}.lg\:translate-x-2\/3{--transform-translate-x:66.666667%}.lg\:translate-x-1\/4{--transform-translate-x:25%}.lg\:translate-x-2\/4{--transform-translate-x:50%}.lg\:translate-x-3\/4{--transform-translate-x:75%}.lg\:translate-x-1\/5{--transform-translate-x:20%}.lg\:translate-x-2\/5{--transform-translate-x:40%}.lg\:translate-x-3\/5{--transform-translate-x:60%}.lg\:translate-x-4\/5{--transform-translate-x:80%}.lg\:translate-x-1\/6{--transform-translate-x:16.666667%}.lg\:translate-x-2\/6{--transform-translate-x:33.333333%}.lg\:translate-x-3\/6{--transform-translate-x:50%}.lg\:translate-x-4\/6{--transform-translate-x:66.666667%}.lg\:translate-x-5\/6{--transform-translate-x:83.333333%}.lg\:translate-x-1\/12{--transform-translate-x:8.333333%}.lg\:translate-x-2\/12{--transform-translate-x:16.666667%}.lg\:translate-x-3\/12{--transform-translate-x:25%}.lg\:translate-x-4\/12{--transform-translate-x:33.333333%}.lg\:translate-x-5\/12{--transform-translate-x:41.666667%}.lg\:translate-x-6\/12{--transform-translate-x:50%}.lg\:translate-x-7\/12{--transform-translate-x:58.333333%}.lg\:translate-x-8\/12{--transform-translate-x:66.666667%}.lg\:translate-x-9\/12{--transform-translate-x:75%}.lg\:translate-x-10\/12{--transform-translate-x:83.333333%}.lg\:translate-x-11\/12{--transform-translate-x:91.666667%}.lg\:translate-x-full{--transform-translate-x:100%}.lg\:-translate-x-1{--transform-translate-x:-0.25rem}.lg\:-translate-x-2{--transform-translate-x:-0.5rem}.lg\:-translate-x-3{--transform-translate-x:-0.75rem}.lg\:-translate-x-4{--transform-translate-x:-1rem}.lg\:-translate-x-5{--transform-translate-x:-1.25rem}.lg\:-translate-x-6{--transform-translate-x:-1.5rem}.lg\:-translate-x-7{--transform-translate-x:-1.75rem}.lg\:-translate-x-8{--transform-translate-x:-2rem}.lg\:-translate-x-9{--transform-translate-x:-2.25rem}.lg\:-translate-x-10{--transform-translate-x:-2.5rem}.lg\:-translate-x-11{--transform-translate-x:-2.75rem}.lg\:-translate-x-12{--transform-translate-x:-3rem}.lg\:-translate-x-13{--transform-translate-x:-3.25rem}.lg\:-translate-x-14{--transform-translate-x:-3.5rem}.lg\:-translate-x-15{--transform-translate-x:-3.75rem}.lg\:-translate-x-16{--transform-translate-x:-4rem}.lg\:-translate-x-20{--transform-translate-x:-5rem}.lg\:-translate-x-24{--transform-translate-x:-6rem}.lg\:-translate-x-28{--transform-translate-x:-7rem}.lg\:-translate-x-32{--transform-translate-x:-8rem}.lg\:-translate-x-36{--transform-translate-x:-9rem}.lg\:-translate-x-40{--transform-translate-x:-10rem}.lg\:-translate-x-44{--transform-translate-x:-11rem}.lg\:-translate-x-48{--transform-translate-x:-12rem}.lg\:-translate-x-52{--transform-translate-x:-13rem}.lg\:-translate-x-56{--transform-translate-x:-14rem}.lg\:-translate-x-60{--transform-translate-x:-15rem}.lg\:-translate-x-64{--transform-translate-x:-16rem}.lg\:-translate-x-72{--transform-translate-x:-18rem}.lg\:-translate-x-80{--transform-translate-x:-20rem}.lg\:-translate-x-96{--transform-translate-x:-24rem}.lg\:-translate-x-px{--transform-translate-x:-1px}.lg\:-translate-x-0\.5{--transform-translate-x:-0.125rem}.lg\:-translate-x-1\.5{--transform-translate-x:-0.375rem}.lg\:-translate-x-2\.5{--transform-translate-x:-0.625rem}.lg\:-translate-x-3\.5{--transform-translate-x:-0.875rem}.lg\:-translate-x-1\/2{--transform-translate-x:-50%}.lg\:-translate-x-1\/3{--transform-translate-x:-33.33333%}.lg\:-translate-x-2\/3{--transform-translate-x:-66.66667%}.lg\:-translate-x-1\/4{--transform-translate-x:-25%}.lg\:-translate-x-2\/4{--transform-translate-x:-50%}.lg\:-translate-x-3\/4{--transform-translate-x:-75%}.lg\:-translate-x-1\/5{--transform-translate-x:-20%}.lg\:-translate-x-2\/5{--transform-translate-x:-40%}.lg\:-translate-x-3\/5{--transform-translate-x:-60%}.lg\:-translate-x-4\/5{--transform-translate-x:-80%}.lg\:-translate-x-1\/6{--transform-translate-x:-16.66667%}.lg\:-translate-x-2\/6{--transform-translate-x:-33.33333%}.lg\:-translate-x-3\/6{--transform-translate-x:-50%}.lg\:-translate-x-4\/6{--transform-translate-x:-66.66667%}.lg\:-translate-x-5\/6{--transform-translate-x:-83.33333%}.lg\:-translate-x-1\/12{--transform-translate-x:-8.33333%}.lg\:-translate-x-2\/12{--transform-translate-x:-16.66667%}.lg\:-translate-x-3\/12{--transform-translate-x:-25%}.lg\:-translate-x-4\/12{--transform-translate-x:-33.33333%}.lg\:-translate-x-5\/12{--transform-translate-x:-41.66667%}.lg\:-translate-x-6\/12{--transform-translate-x:-50%}.lg\:-translate-x-7\/12{--transform-translate-x:-58.33333%}.lg\:-translate-x-8\/12{--transform-translate-x:-66.66667%}.lg\:-translate-x-9\/12{--transform-translate-x:-75%}.lg\:-translate-x-10\/12{--transform-translate-x:-83.33333%}.lg\:-translate-x-11\/12{--transform-translate-x:-91.66667%}.lg\:-translate-x-full{--transform-translate-x:-100%}.lg\:translate-y-0{--transform-translate-y:0}.lg\:translate-y-1{--transform-translate-y:0.25rem}.lg\:translate-y-2{--transform-translate-y:0.5rem}.lg\:translate-y-3{--transform-translate-y:0.75rem}.lg\:translate-y-4{--transform-translate-y:1rem}.lg\:translate-y-5{--transform-translate-y:1.25rem}.lg\:translate-y-6{--transform-translate-y:1.5rem}.lg\:translate-y-7{--transform-translate-y:1.75rem}.lg\:translate-y-8{--transform-translate-y:2rem}.lg\:translate-y-9{--transform-translate-y:2.25rem}.lg\:translate-y-10{--transform-translate-y:2.5rem}.lg\:translate-y-11{--transform-translate-y:2.75rem}.lg\:translate-y-12{--transform-translate-y:3rem}.lg\:translate-y-13{--transform-translate-y:3.25rem}.lg\:translate-y-14{--transform-translate-y:3.5rem}.lg\:translate-y-15{--transform-translate-y:3.75rem}.lg\:translate-y-16{--transform-translate-y:4rem}.lg\:translate-y-20{--transform-translate-y:5rem}.lg\:translate-y-24{--transform-translate-y:6rem}.lg\:translate-y-28{--transform-translate-y:7rem}.lg\:translate-y-32{--transform-translate-y:8rem}.lg\:translate-y-36{--transform-translate-y:9rem}.lg\:translate-y-40{--transform-translate-y:10rem}.lg\:translate-y-44{--transform-translate-y:11rem}.lg\:translate-y-48{--transform-translate-y:12rem}.lg\:translate-y-52{--transform-translate-y:13rem}.lg\:translate-y-56{--transform-translate-y:14rem}.lg\:translate-y-60{--transform-translate-y:15rem}.lg\:translate-y-64{--transform-translate-y:16rem}.lg\:translate-y-72{--transform-translate-y:18rem}.lg\:translate-y-80{--transform-translate-y:20rem}.lg\:translate-y-96{--transform-translate-y:24rem}.lg\:translate-y-px{--transform-translate-y:1px}.lg\:translate-y-0\.5{--transform-translate-y:0.125rem}.lg\:translate-y-1\.5{--transform-translate-y:0.375rem}.lg\:translate-y-2\.5{--transform-translate-y:0.625rem}.lg\:translate-y-3\.5{--transform-translate-y:0.875rem}.lg\:translate-y-1\/2{--transform-translate-y:50%}.lg\:translate-y-1\/3{--transform-translate-y:33.333333%}.lg\:translate-y-2\/3{--transform-translate-y:66.666667%}.lg\:translate-y-1\/4{--transform-translate-y:25%}.lg\:translate-y-2\/4{--transform-translate-y:50%}.lg\:translate-y-3\/4{--transform-translate-y:75%}.lg\:translate-y-1\/5{--transform-translate-y:20%}.lg\:translate-y-2\/5{--transform-translate-y:40%}.lg\:translate-y-3\/5{--transform-translate-y:60%}.lg\:translate-y-4\/5{--transform-translate-y:80%}.lg\:translate-y-1\/6{--transform-translate-y:16.666667%}.lg\:translate-y-2\/6{--transform-translate-y:33.333333%}.lg\:translate-y-3\/6{--transform-translate-y:50%}.lg\:translate-y-4\/6{--transform-translate-y:66.666667%}.lg\:translate-y-5\/6{--transform-translate-y:83.333333%}.lg\:translate-y-1\/12{--transform-translate-y:8.333333%}.lg\:translate-y-2\/12{--transform-translate-y:16.666667%}.lg\:translate-y-3\/12{--transform-translate-y:25%}.lg\:translate-y-4\/12{--transform-translate-y:33.333333%}.lg\:translate-y-5\/12{--transform-translate-y:41.666667%}.lg\:translate-y-6\/12{--transform-translate-y:50%}.lg\:translate-y-7\/12{--transform-translate-y:58.333333%}.lg\:translate-y-8\/12{--transform-translate-y:66.666667%}.lg\:translate-y-9\/12{--transform-translate-y:75%}.lg\:translate-y-10\/12{--transform-translate-y:83.333333%}.lg\:translate-y-11\/12{--transform-translate-y:91.666667%}.lg\:translate-y-full{--transform-translate-y:100%}.lg\:-translate-y-1{--transform-translate-y:-0.25rem}.lg\:-translate-y-2{--transform-translate-y:-0.5rem}.lg\:-translate-y-3{--transform-translate-y:-0.75rem}.lg\:-translate-y-4{--transform-translate-y:-1rem}.lg\:-translate-y-5{--transform-translate-y:-1.25rem}.lg\:-translate-y-6{--transform-translate-y:-1.5rem}.lg\:-translate-y-7{--transform-translate-y:-1.75rem}.lg\:-translate-y-8{--transform-translate-y:-2rem}.lg\:-translate-y-9{--transform-translate-y:-2.25rem}.lg\:-translate-y-10{--transform-translate-y:-2.5rem}.lg\:-translate-y-11{--transform-translate-y:-2.75rem}.lg\:-translate-y-12{--transform-translate-y:-3rem}.lg\:-translate-y-13{--transform-translate-y:-3.25rem}.lg\:-translate-y-14{--transform-translate-y:-3.5rem}.lg\:-translate-y-15{--transform-translate-y:-3.75rem}.lg\:-translate-y-16{--transform-translate-y:-4rem}.lg\:-translate-y-20{--transform-translate-y:-5rem}.lg\:-translate-y-24{--transform-translate-y:-6rem}.lg\:-translate-y-28{--transform-translate-y:-7rem}.lg\:-translate-y-32{--transform-translate-y:-8rem}.lg\:-translate-y-36{--transform-translate-y:-9rem}.lg\:-translate-y-40{--transform-translate-y:-10rem}.lg\:-translate-y-44{--transform-translate-y:-11rem}.lg\:-translate-y-48{--transform-translate-y:-12rem}.lg\:-translate-y-52{--transform-translate-y:-13rem}.lg\:-translate-y-56{--transform-translate-y:-14rem}.lg\:-translate-y-60{--transform-translate-y:-15rem}.lg\:-translate-y-64{--transform-translate-y:-16rem}.lg\:-translate-y-72{--transform-translate-y:-18rem}.lg\:-translate-y-80{--transform-translate-y:-20rem}.lg\:-translate-y-96{--transform-translate-y:-24rem}.lg\:-translate-y-px{--transform-translate-y:-1px}.lg\:-translate-y-0\.5{--transform-translate-y:-0.125rem}.lg\:-translate-y-1\.5{--transform-translate-y:-0.375rem}.lg\:-translate-y-2\.5{--transform-translate-y:-0.625rem}.lg\:-translate-y-3\.5{--transform-translate-y:-0.875rem}.lg\:-translate-y-1\/2{--transform-translate-y:-50%}.lg\:-translate-y-1\/3{--transform-translate-y:-33.33333%}.lg\:-translate-y-2\/3{--transform-translate-y:-66.66667%}.lg\:-translate-y-1\/4{--transform-translate-y:-25%}.lg\:-translate-y-2\/4{--transform-translate-y:-50%}.lg\:-translate-y-3\/4{--transform-translate-y:-75%}.lg\:-translate-y-1\/5{--transform-translate-y:-20%}.lg\:-translate-y-2\/5{--transform-translate-y:-40%}.lg\:-translate-y-3\/5{--transform-translate-y:-60%}.lg\:-translate-y-4\/5{--transform-translate-y:-80%}.lg\:-translate-y-1\/6{--transform-translate-y:-16.66667%}.lg\:-translate-y-2\/6{--transform-translate-y:-33.33333%}.lg\:-translate-y-3\/6{--transform-translate-y:-50%}.lg\:-translate-y-4\/6{--transform-translate-y:-66.66667%}.lg\:-translate-y-5\/6{--transform-translate-y:-83.33333%}.lg\:-translate-y-1\/12{--transform-translate-y:-8.33333%}.lg\:-translate-y-2\/12{--transform-translate-y:-16.66667%}.lg\:-translate-y-3\/12{--transform-translate-y:-25%}.lg\:-translate-y-4\/12{--transform-translate-y:-33.33333%}.lg\:-translate-y-5\/12{--transform-translate-y:-41.66667%}.lg\:-translate-y-6\/12{--transform-translate-y:-50%}.lg\:-translate-y-7\/12{--transform-translate-y:-58.33333%}.lg\:-translate-y-8\/12{--transform-translate-y:-66.66667%}.lg\:-translate-y-9\/12{--transform-translate-y:-75%}.lg\:-translate-y-10\/12{--transform-translate-y:-83.33333%}.lg\:-translate-y-11\/12{--transform-translate-y:-91.66667%}.lg\:-translate-y-full{--transform-translate-y:-100%}.lg\:hover\:translate-x-0:hover{--transform-translate-x:0}.lg\:hover\:translate-x-1:hover{--transform-translate-x:0.25rem}.lg\:hover\:translate-x-2:hover{--transform-translate-x:0.5rem}.lg\:hover\:translate-x-3:hover{--transform-translate-x:0.75rem}.lg\:hover\:translate-x-4:hover{--transform-translate-x:1rem}.lg\:hover\:translate-x-5:hover{--transform-translate-x:1.25rem}.lg\:hover\:translate-x-6:hover{--transform-translate-x:1.5rem}.lg\:hover\:translate-x-7:hover{--transform-translate-x:1.75rem}.lg\:hover\:translate-x-8:hover{--transform-translate-x:2rem}.lg\:hover\:translate-x-9:hover{--transform-translate-x:2.25rem}.lg\:hover\:translate-x-10:hover{--transform-translate-x:2.5rem}.lg\:hover\:translate-x-11:hover{--transform-translate-x:2.75rem}.lg\:hover\:translate-x-12:hover{--transform-translate-x:3rem}.lg\:hover\:translate-x-13:hover{--transform-translate-x:3.25rem}.lg\:hover\:translate-x-14:hover{--transform-translate-x:3.5rem}.lg\:hover\:translate-x-15:hover{--transform-translate-x:3.75rem}.lg\:hover\:translate-x-16:hover{--transform-translate-x:4rem}.lg\:hover\:translate-x-20:hover{--transform-translate-x:5rem}.lg\:hover\:translate-x-24:hover{--transform-translate-x:6rem}.lg\:hover\:translate-x-28:hover{--transform-translate-x:7rem}.lg\:hover\:translate-x-32:hover{--transform-translate-x:8rem}.lg\:hover\:translate-x-36:hover{--transform-translate-x:9rem}.lg\:hover\:translate-x-40:hover{--transform-translate-x:10rem}.lg\:hover\:translate-x-44:hover{--transform-translate-x:11rem}.lg\:hover\:translate-x-48:hover{--transform-translate-x:12rem}.lg\:hover\:translate-x-52:hover{--transform-translate-x:13rem}.lg\:hover\:translate-x-56:hover{--transform-translate-x:14rem}.lg\:hover\:translate-x-60:hover{--transform-translate-x:15rem}.lg\:hover\:translate-x-64:hover{--transform-translate-x:16rem}.lg\:hover\:translate-x-72:hover{--transform-translate-x:18rem}.lg\:hover\:translate-x-80:hover{--transform-translate-x:20rem}.lg\:hover\:translate-x-96:hover{--transform-translate-x:24rem}.lg\:hover\:translate-x-px:hover{--transform-translate-x:1px}.lg\:hover\:translate-x-0\.5:hover{--transform-translate-x:0.125rem}.lg\:hover\:translate-x-1\.5:hover{--transform-translate-x:0.375rem}.lg\:hover\:translate-x-2\.5:hover{--transform-translate-x:0.625rem}.lg\:hover\:translate-x-3\.5:hover{--transform-translate-x:0.875rem}.lg\:hover\:translate-x-1\/2:hover{--transform-translate-x:50%}.lg\:hover\:translate-x-1\/3:hover{--transform-translate-x:33.333333%}.lg\:hover\:translate-x-2\/3:hover{--transform-translate-x:66.666667%}.lg\:hover\:translate-x-1\/4:hover{--transform-translate-x:25%}.lg\:hover\:translate-x-2\/4:hover{--transform-translate-x:50%}.lg\:hover\:translate-x-3\/4:hover{--transform-translate-x:75%}.lg\:hover\:translate-x-1\/5:hover{--transform-translate-x:20%}.lg\:hover\:translate-x-2\/5:hover{--transform-translate-x:40%}.lg\:hover\:translate-x-3\/5:hover{--transform-translate-x:60%}.lg\:hover\:translate-x-4\/5:hover{--transform-translate-x:80%}.lg\:hover\:translate-x-1\/6:hover{--transform-translate-x:16.666667%}.lg\:hover\:translate-x-2\/6:hover{--transform-translate-x:33.333333%}.lg\:hover\:translate-x-3\/6:hover{--transform-translate-x:50%}.lg\:hover\:translate-x-4\/6:hover{--transform-translate-x:66.666667%}.lg\:hover\:translate-x-5\/6:hover{--transform-translate-x:83.333333%}.lg\:hover\:translate-x-1\/12:hover{--transform-translate-x:8.333333%}.lg\:hover\:translate-x-2\/12:hover{--transform-translate-x:16.666667%}.lg\:hover\:translate-x-3\/12:hover{--transform-translate-x:25%}.lg\:hover\:translate-x-4\/12:hover{--transform-translate-x:33.333333%}.lg\:hover\:translate-x-5\/12:hover{--transform-translate-x:41.666667%}.lg\:hover\:translate-x-6\/12:hover{--transform-translate-x:50%}.lg\:hover\:translate-x-7\/12:hover{--transform-translate-x:58.333333%}.lg\:hover\:translate-x-8\/12:hover{--transform-translate-x:66.666667%}.lg\:hover\:translate-x-9\/12:hover{--transform-translate-x:75%}.lg\:hover\:translate-x-10\/12:hover{--transform-translate-x:83.333333%}.lg\:hover\:translate-x-11\/12:hover{--transform-translate-x:91.666667%}.lg\:hover\:translate-x-full:hover{--transform-translate-x:100%}.lg\:hover\:-translate-x-1:hover{--transform-translate-x:-0.25rem}.lg\:hover\:-translate-x-2:hover{--transform-translate-x:-0.5rem}.lg\:hover\:-translate-x-3:hover{--transform-translate-x:-0.75rem}.lg\:hover\:-translate-x-4:hover{--transform-translate-x:-1rem}.lg\:hover\:-translate-x-5:hover{--transform-translate-x:-1.25rem}.lg\:hover\:-translate-x-6:hover{--transform-translate-x:-1.5rem}.lg\:hover\:-translate-x-7:hover{--transform-translate-x:-1.75rem}.lg\:hover\:-translate-x-8:hover{--transform-translate-x:-2rem}.lg\:hover\:-translate-x-9:hover{--transform-translate-x:-2.25rem}.lg\:hover\:-translate-x-10:hover{--transform-translate-x:-2.5rem}.lg\:hover\:-translate-x-11:hover{--transform-translate-x:-2.75rem}.lg\:hover\:-translate-x-12:hover{--transform-translate-x:-3rem}.lg\:hover\:-translate-x-13:hover{--transform-translate-x:-3.25rem}.lg\:hover\:-translate-x-14:hover{--transform-translate-x:-3.5rem}.lg\:hover\:-translate-x-15:hover{--transform-translate-x:-3.75rem}.lg\:hover\:-translate-x-16:hover{--transform-translate-x:-4rem}.lg\:hover\:-translate-x-20:hover{--transform-translate-x:-5rem}.lg\:hover\:-translate-x-24:hover{--transform-translate-x:-6rem}.lg\:hover\:-translate-x-28:hover{--transform-translate-x:-7rem}.lg\:hover\:-translate-x-32:hover{--transform-translate-x:-8rem}.lg\:hover\:-translate-x-36:hover{--transform-translate-x:-9rem}.lg\:hover\:-translate-x-40:hover{--transform-translate-x:-10rem}.lg\:hover\:-translate-x-44:hover{--transform-translate-x:-11rem}.lg\:hover\:-translate-x-48:hover{--transform-translate-x:-12rem}.lg\:hover\:-translate-x-52:hover{--transform-translate-x:-13rem}.lg\:hover\:-translate-x-56:hover{--transform-translate-x:-14rem}.lg\:hover\:-translate-x-60:hover{--transform-translate-x:-15rem}.lg\:hover\:-translate-x-64:hover{--transform-translate-x:-16rem}.lg\:hover\:-translate-x-72:hover{--transform-translate-x:-18rem}.lg\:hover\:-translate-x-80:hover{--transform-translate-x:-20rem}.lg\:hover\:-translate-x-96:hover{--transform-translate-x:-24rem}.lg\:hover\:-translate-x-px:hover{--transform-translate-x:-1px}.lg\:hover\:-translate-x-0\.5:hover{--transform-translate-x:-0.125rem}.lg\:hover\:-translate-x-1\.5:hover{--transform-translate-x:-0.375rem}.lg\:hover\:-translate-x-2\.5:hover{--transform-translate-x:-0.625rem}.lg\:hover\:-translate-x-3\.5:hover{--transform-translate-x:-0.875rem}.lg\:hover\:-translate-x-1\/2:hover{--transform-translate-x:-50%}.lg\:hover\:-translate-x-1\/3:hover{--transform-translate-x:-33.33333%}.lg\:hover\:-translate-x-2\/3:hover{--transform-translate-x:-66.66667%}.lg\:hover\:-translate-x-1\/4:hover{--transform-translate-x:-25%}.lg\:hover\:-translate-x-2\/4:hover{--transform-translate-x:-50%}.lg\:hover\:-translate-x-3\/4:hover{--transform-translate-x:-75%}.lg\:hover\:-translate-x-1\/5:hover{--transform-translate-x:-20%}.lg\:hover\:-translate-x-2\/5:hover{--transform-translate-x:-40%}.lg\:hover\:-translate-x-3\/5:hover{--transform-translate-x:-60%}.lg\:hover\:-translate-x-4\/5:hover{--transform-translate-x:-80%}.lg\:hover\:-translate-x-1\/6:hover{--transform-translate-x:-16.66667%}.lg\:hover\:-translate-x-2\/6:hover{--transform-translate-x:-33.33333%}.lg\:hover\:-translate-x-3\/6:hover{--transform-translate-x:-50%}.lg\:hover\:-translate-x-4\/6:hover{--transform-translate-x:-66.66667%}.lg\:hover\:-translate-x-5\/6:hover{--transform-translate-x:-83.33333%}.lg\:hover\:-translate-x-1\/12:hover{--transform-translate-x:-8.33333%}.lg\:hover\:-translate-x-2\/12:hover{--transform-translate-x:-16.66667%}.lg\:hover\:-translate-x-3\/12:hover{--transform-translate-x:-25%}.lg\:hover\:-translate-x-4\/12:hover{--transform-translate-x:-33.33333%}.lg\:hover\:-translate-x-5\/12:hover{--transform-translate-x:-41.66667%}.lg\:hover\:-translate-x-6\/12:hover{--transform-translate-x:-50%}.lg\:hover\:-translate-x-7\/12:hover{--transform-translate-x:-58.33333%}.lg\:hover\:-translate-x-8\/12:hover{--transform-translate-x:-66.66667%}.lg\:hover\:-translate-x-9\/12:hover{--transform-translate-x:-75%}.lg\:hover\:-translate-x-10\/12:hover{--transform-translate-x:-83.33333%}.lg\:hover\:-translate-x-11\/12:hover{--transform-translate-x:-91.66667%}.lg\:hover\:-translate-x-full:hover{--transform-translate-x:-100%}.lg\:hover\:translate-y-0:hover{--transform-translate-y:0}.lg\:hover\:translate-y-1:hover{--transform-translate-y:0.25rem}.lg\:hover\:translate-y-2:hover{--transform-translate-y:0.5rem}.lg\:hover\:translate-y-3:hover{--transform-translate-y:0.75rem}.lg\:hover\:translate-y-4:hover{--transform-translate-y:1rem}.lg\:hover\:translate-y-5:hover{--transform-translate-y:1.25rem}.lg\:hover\:translate-y-6:hover{--transform-translate-y:1.5rem}.lg\:hover\:translate-y-7:hover{--transform-translate-y:1.75rem}.lg\:hover\:translate-y-8:hover{--transform-translate-y:2rem}.lg\:hover\:translate-y-9:hover{--transform-translate-y:2.25rem}.lg\:hover\:translate-y-10:hover{--transform-translate-y:2.5rem}.lg\:hover\:translate-y-11:hover{--transform-translate-y:2.75rem}.lg\:hover\:translate-y-12:hover{--transform-translate-y:3rem}.lg\:hover\:translate-y-13:hover{--transform-translate-y:3.25rem}.lg\:hover\:translate-y-14:hover{--transform-translate-y:3.5rem}.lg\:hover\:translate-y-15:hover{--transform-translate-y:3.75rem}.lg\:hover\:translate-y-16:hover{--transform-translate-y:4rem}.lg\:hover\:translate-y-20:hover{--transform-translate-y:5rem}.lg\:hover\:translate-y-24:hover{--transform-translate-y:6rem}.lg\:hover\:translate-y-28:hover{--transform-translate-y:7rem}.lg\:hover\:translate-y-32:hover{--transform-translate-y:8rem}.lg\:hover\:translate-y-36:hover{--transform-translate-y:9rem}.lg\:hover\:translate-y-40:hover{--transform-translate-y:10rem}.lg\:hover\:translate-y-44:hover{--transform-translate-y:11rem}.lg\:hover\:translate-y-48:hover{--transform-translate-y:12rem}.lg\:hover\:translate-y-52:hover{--transform-translate-y:13rem}.lg\:hover\:translate-y-56:hover{--transform-translate-y:14rem}.lg\:hover\:translate-y-60:hover{--transform-translate-y:15rem}.lg\:hover\:translate-y-64:hover{--transform-translate-y:16rem}.lg\:hover\:translate-y-72:hover{--transform-translate-y:18rem}.lg\:hover\:translate-y-80:hover{--transform-translate-y:20rem}.lg\:hover\:translate-y-96:hover{--transform-translate-y:24rem}.lg\:hover\:translate-y-px:hover{--transform-translate-y:1px}.lg\:hover\:translate-y-0\.5:hover{--transform-translate-y:0.125rem}.lg\:hover\:translate-y-1\.5:hover{--transform-translate-y:0.375rem}.lg\:hover\:translate-y-2\.5:hover{--transform-translate-y:0.625rem}.lg\:hover\:translate-y-3\.5:hover{--transform-translate-y:0.875rem}.lg\:hover\:translate-y-1\/2:hover{--transform-translate-y:50%}.lg\:hover\:translate-y-1\/3:hover{--transform-translate-y:33.333333%}.lg\:hover\:translate-y-2\/3:hover{--transform-translate-y:66.666667%}.lg\:hover\:translate-y-1\/4:hover{--transform-translate-y:25%}.lg\:hover\:translate-y-2\/4:hover{--transform-translate-y:50%}.lg\:hover\:translate-y-3\/4:hover{--transform-translate-y:75%}.lg\:hover\:translate-y-1\/5:hover{--transform-translate-y:20%}.lg\:hover\:translate-y-2\/5:hover{--transform-translate-y:40%}.lg\:hover\:translate-y-3\/5:hover{--transform-translate-y:60%}.lg\:hover\:translate-y-4\/5:hover{--transform-translate-y:80%}.lg\:hover\:translate-y-1\/6:hover{--transform-translate-y:16.666667%}.lg\:hover\:translate-y-2\/6:hover{--transform-translate-y:33.333333%}.lg\:hover\:translate-y-3\/6:hover{--transform-translate-y:50%}.lg\:hover\:translate-y-4\/6:hover{--transform-translate-y:66.666667%}.lg\:hover\:translate-y-5\/6:hover{--transform-translate-y:83.333333%}.lg\:hover\:translate-y-1\/12:hover{--transform-translate-y:8.333333%}.lg\:hover\:translate-y-2\/12:hover{--transform-translate-y:16.666667%}.lg\:hover\:translate-y-3\/12:hover{--transform-translate-y:25%}.lg\:hover\:translate-y-4\/12:hover{--transform-translate-y:33.333333%}.lg\:hover\:translate-y-5\/12:hover{--transform-translate-y:41.666667%}.lg\:hover\:translate-y-6\/12:hover{--transform-translate-y:50%}.lg\:hover\:translate-y-7\/12:hover{--transform-translate-y:58.333333%}.lg\:hover\:translate-y-8\/12:hover{--transform-translate-y:66.666667%}.lg\:hover\:translate-y-9\/12:hover{--transform-translate-y:75%}.lg\:hover\:translate-y-10\/12:hover{--transform-translate-y:83.333333%}.lg\:hover\:translate-y-11\/12:hover{--transform-translate-y:91.666667%}.lg\:hover\:translate-y-full:hover{--transform-translate-y:100%}.lg\:hover\:-translate-y-1:hover{--transform-translate-y:-0.25rem}.lg\:hover\:-translate-y-2:hover{--transform-translate-y:-0.5rem}.lg\:hover\:-translate-y-3:hover{--transform-translate-y:-0.75rem}.lg\:hover\:-translate-y-4:hover{--transform-translate-y:-1rem}.lg\:hover\:-translate-y-5:hover{--transform-translate-y:-1.25rem}.lg\:hover\:-translate-y-6:hover{--transform-translate-y:-1.5rem}.lg\:hover\:-translate-y-7:hover{--transform-translate-y:-1.75rem}.lg\:hover\:-translate-y-8:hover{--transform-translate-y:-2rem}.lg\:hover\:-translate-y-9:hover{--transform-translate-y:-2.25rem}.lg\:hover\:-translate-y-10:hover{--transform-translate-y:-2.5rem}.lg\:hover\:-translate-y-11:hover{--transform-translate-y:-2.75rem}.lg\:hover\:-translate-y-12:hover{--transform-translate-y:-3rem}.lg\:hover\:-translate-y-13:hover{--transform-translate-y:-3.25rem}.lg\:hover\:-translate-y-14:hover{--transform-translate-y:-3.5rem}.lg\:hover\:-translate-y-15:hover{--transform-translate-y:-3.75rem}.lg\:hover\:-translate-y-16:hover{--transform-translate-y:-4rem}.lg\:hover\:-translate-y-20:hover{--transform-translate-y:-5rem}.lg\:hover\:-translate-y-24:hover{--transform-translate-y:-6rem}.lg\:hover\:-translate-y-28:hover{--transform-translate-y:-7rem}.lg\:hover\:-translate-y-32:hover{--transform-translate-y:-8rem}.lg\:hover\:-translate-y-36:hover{--transform-translate-y:-9rem}.lg\:hover\:-translate-y-40:hover{--transform-translate-y:-10rem}.lg\:hover\:-translate-y-44:hover{--transform-translate-y:-11rem}.lg\:hover\:-translate-y-48:hover{--transform-translate-y:-12rem}.lg\:hover\:-translate-y-52:hover{--transform-translate-y:-13rem}.lg\:hover\:-translate-y-56:hover{--transform-translate-y:-14rem}.lg\:hover\:-translate-y-60:hover{--transform-translate-y:-15rem}.lg\:hover\:-translate-y-64:hover{--transform-translate-y:-16rem}.lg\:hover\:-translate-y-72:hover{--transform-translate-y:-18rem}.lg\:hover\:-translate-y-80:hover{--transform-translate-y:-20rem}.lg\:hover\:-translate-y-96:hover{--transform-translate-y:-24rem}.lg\:hover\:-translate-y-px:hover{--transform-translate-y:-1px}.lg\:hover\:-translate-y-0\.5:hover{--transform-translate-y:-0.125rem}.lg\:hover\:-translate-y-1\.5:hover{--transform-translate-y:-0.375rem}.lg\:hover\:-translate-y-2\.5:hover{--transform-translate-y:-0.625rem}.lg\:hover\:-translate-y-3\.5:hover{--transform-translate-y:-0.875rem}.lg\:hover\:-translate-y-1\/2:hover{--transform-translate-y:-50%}.lg\:hover\:-translate-y-1\/3:hover{--transform-translate-y:-33.33333%}.lg\:hover\:-translate-y-2\/3:hover{--transform-translate-y:-66.66667%}.lg\:hover\:-translate-y-1\/4:hover{--transform-translate-y:-25%}.lg\:hover\:-translate-y-2\/4:hover{--transform-translate-y:-50%}.lg\:hover\:-translate-y-3\/4:hover{--transform-translate-y:-75%}.lg\:hover\:-translate-y-1\/5:hover{--transform-translate-y:-20%}.lg\:hover\:-translate-y-2\/5:hover{--transform-translate-y:-40%}.lg\:hover\:-translate-y-3\/5:hover{--transform-translate-y:-60%}.lg\:hover\:-translate-y-4\/5:hover{--transform-translate-y:-80%}.lg\:hover\:-translate-y-1\/6:hover{--transform-translate-y:-16.66667%}.lg\:hover\:-translate-y-2\/6:hover{--transform-translate-y:-33.33333%}.lg\:hover\:-translate-y-3\/6:hover{--transform-translate-y:-50%}.lg\:hover\:-translate-y-4\/6:hover{--transform-translate-y:-66.66667%}.lg\:hover\:-translate-y-5\/6:hover{--transform-translate-y:-83.33333%}.lg\:hover\:-translate-y-1\/12:hover{--transform-translate-y:-8.33333%}.lg\:hover\:-translate-y-2\/12:hover{--transform-translate-y:-16.66667%}.lg\:hover\:-translate-y-3\/12:hover{--transform-translate-y:-25%}.lg\:hover\:-translate-y-4\/12:hover{--transform-translate-y:-33.33333%}.lg\:hover\:-translate-y-5\/12:hover{--transform-translate-y:-41.66667%}.lg\:hover\:-translate-y-6\/12:hover{--transform-translate-y:-50%}.lg\:hover\:-translate-y-7\/12:hover{--transform-translate-y:-58.33333%}.lg\:hover\:-translate-y-8\/12:hover{--transform-translate-y:-66.66667%}.lg\:hover\:-translate-y-9\/12:hover{--transform-translate-y:-75%}.lg\:hover\:-translate-y-10\/12:hover{--transform-translate-y:-83.33333%}.lg\:hover\:-translate-y-11\/12:hover{--transform-translate-y:-91.66667%}.lg\:hover\:-translate-y-full:hover{--transform-translate-y:-100%}.lg\:focus\:translate-x-0:focus{--transform-translate-x:0}.lg\:focus\:translate-x-1:focus{--transform-translate-x:0.25rem}.lg\:focus\:translate-x-2:focus{--transform-translate-x:0.5rem}.lg\:focus\:translate-x-3:focus{--transform-translate-x:0.75rem}.lg\:focus\:translate-x-4:focus{--transform-translate-x:1rem}.lg\:focus\:translate-x-5:focus{--transform-translate-x:1.25rem}.lg\:focus\:translate-x-6:focus{--transform-translate-x:1.5rem}.lg\:focus\:translate-x-7:focus{--transform-translate-x:1.75rem}.lg\:focus\:translate-x-8:focus{--transform-translate-x:2rem}.lg\:focus\:translate-x-9:focus{--transform-translate-x:2.25rem}.lg\:focus\:translate-x-10:focus{--transform-translate-x:2.5rem}.lg\:focus\:translate-x-11:focus{--transform-translate-x:2.75rem}.lg\:focus\:translate-x-12:focus{--transform-translate-x:3rem}.lg\:focus\:translate-x-13:focus{--transform-translate-x:3.25rem}.lg\:focus\:translate-x-14:focus{--transform-translate-x:3.5rem}.lg\:focus\:translate-x-15:focus{--transform-translate-x:3.75rem}.lg\:focus\:translate-x-16:focus{--transform-translate-x:4rem}.lg\:focus\:translate-x-20:focus{--transform-translate-x:5rem}.lg\:focus\:translate-x-24:focus{--transform-translate-x:6rem}.lg\:focus\:translate-x-28:focus{--transform-translate-x:7rem}.lg\:focus\:translate-x-32:focus{--transform-translate-x:8rem}.lg\:focus\:translate-x-36:focus{--transform-translate-x:9rem}.lg\:focus\:translate-x-40:focus{--transform-translate-x:10rem}.lg\:focus\:translate-x-44:focus{--transform-translate-x:11rem}.lg\:focus\:translate-x-48:focus{--transform-translate-x:12rem}.lg\:focus\:translate-x-52:focus{--transform-translate-x:13rem}.lg\:focus\:translate-x-56:focus{--transform-translate-x:14rem}.lg\:focus\:translate-x-60:focus{--transform-translate-x:15rem}.lg\:focus\:translate-x-64:focus{--transform-translate-x:16rem}.lg\:focus\:translate-x-72:focus{--transform-translate-x:18rem}.lg\:focus\:translate-x-80:focus{--transform-translate-x:20rem}.lg\:focus\:translate-x-96:focus{--transform-translate-x:24rem}.lg\:focus\:translate-x-px:focus{--transform-translate-x:1px}.lg\:focus\:translate-x-0\.5:focus{--transform-translate-x:0.125rem}.lg\:focus\:translate-x-1\.5:focus{--transform-translate-x:0.375rem}.lg\:focus\:translate-x-2\.5:focus{--transform-translate-x:0.625rem}.lg\:focus\:translate-x-3\.5:focus{--transform-translate-x:0.875rem}.lg\:focus\:translate-x-1\/2:focus{--transform-translate-x:50%}.lg\:focus\:translate-x-1\/3:focus{--transform-translate-x:33.333333%}.lg\:focus\:translate-x-2\/3:focus{--transform-translate-x:66.666667%}.lg\:focus\:translate-x-1\/4:focus{--transform-translate-x:25%}.lg\:focus\:translate-x-2\/4:focus{--transform-translate-x:50%}.lg\:focus\:translate-x-3\/4:focus{--transform-translate-x:75%}.lg\:focus\:translate-x-1\/5:focus{--transform-translate-x:20%}.lg\:focus\:translate-x-2\/5:focus{--transform-translate-x:40%}.lg\:focus\:translate-x-3\/5:focus{--transform-translate-x:60%}.lg\:focus\:translate-x-4\/5:focus{--transform-translate-x:80%}.lg\:focus\:translate-x-1\/6:focus{--transform-translate-x:16.666667%}.lg\:focus\:translate-x-2\/6:focus{--transform-translate-x:33.333333%}.lg\:focus\:translate-x-3\/6:focus{--transform-translate-x:50%}.lg\:focus\:translate-x-4\/6:focus{--transform-translate-x:66.666667%}.lg\:focus\:translate-x-5\/6:focus{--transform-translate-x:83.333333%}.lg\:focus\:translate-x-1\/12:focus{--transform-translate-x:8.333333%}.lg\:focus\:translate-x-2\/12:focus{--transform-translate-x:16.666667%}.lg\:focus\:translate-x-3\/12:focus{--transform-translate-x:25%}.lg\:focus\:translate-x-4\/12:focus{--transform-translate-x:33.333333%}.lg\:focus\:translate-x-5\/12:focus{--transform-translate-x:41.666667%}.lg\:focus\:translate-x-6\/12:focus{--transform-translate-x:50%}.lg\:focus\:translate-x-7\/12:focus{--transform-translate-x:58.333333%}.lg\:focus\:translate-x-8\/12:focus{--transform-translate-x:66.666667%}.lg\:focus\:translate-x-9\/12:focus{--transform-translate-x:75%}.lg\:focus\:translate-x-10\/12:focus{--transform-translate-x:83.333333%}.lg\:focus\:translate-x-11\/12:focus{--transform-translate-x:91.666667%}.lg\:focus\:translate-x-full:focus{--transform-translate-x:100%}.lg\:focus\:-translate-x-1:focus{--transform-translate-x:-0.25rem}.lg\:focus\:-translate-x-2:focus{--transform-translate-x:-0.5rem}.lg\:focus\:-translate-x-3:focus{--transform-translate-x:-0.75rem}.lg\:focus\:-translate-x-4:focus{--transform-translate-x:-1rem}.lg\:focus\:-translate-x-5:focus{--transform-translate-x:-1.25rem}.lg\:focus\:-translate-x-6:focus{--transform-translate-x:-1.5rem}.lg\:focus\:-translate-x-7:focus{--transform-translate-x:-1.75rem}.lg\:focus\:-translate-x-8:focus{--transform-translate-x:-2rem}.lg\:focus\:-translate-x-9:focus{--transform-translate-x:-2.25rem}.lg\:focus\:-translate-x-10:focus{--transform-translate-x:-2.5rem}.lg\:focus\:-translate-x-11:focus{--transform-translate-x:-2.75rem}.lg\:focus\:-translate-x-12:focus{--transform-translate-x:-3rem}.lg\:focus\:-translate-x-13:focus{--transform-translate-x:-3.25rem}.lg\:focus\:-translate-x-14:focus{--transform-translate-x:-3.5rem}.lg\:focus\:-translate-x-15:focus{--transform-translate-x:-3.75rem}.lg\:focus\:-translate-x-16:focus{--transform-translate-x:-4rem}.lg\:focus\:-translate-x-20:focus{--transform-translate-x:-5rem}.lg\:focus\:-translate-x-24:focus{--transform-translate-x:-6rem}.lg\:focus\:-translate-x-28:focus{--transform-translate-x:-7rem}.lg\:focus\:-translate-x-32:focus{--transform-translate-x:-8rem}.lg\:focus\:-translate-x-36:focus{--transform-translate-x:-9rem}.lg\:focus\:-translate-x-40:focus{--transform-translate-x:-10rem}.lg\:focus\:-translate-x-44:focus{--transform-translate-x:-11rem}.lg\:focus\:-translate-x-48:focus{--transform-translate-x:-12rem}.lg\:focus\:-translate-x-52:focus{--transform-translate-x:-13rem}.lg\:focus\:-translate-x-56:focus{--transform-translate-x:-14rem}.lg\:focus\:-translate-x-60:focus{--transform-translate-x:-15rem}.lg\:focus\:-translate-x-64:focus{--transform-translate-x:-16rem}.lg\:focus\:-translate-x-72:focus{--transform-translate-x:-18rem}.lg\:focus\:-translate-x-80:focus{--transform-translate-x:-20rem}.lg\:focus\:-translate-x-96:focus{--transform-translate-x:-24rem}.lg\:focus\:-translate-x-px:focus{--transform-translate-x:-1px}.lg\:focus\:-translate-x-0\.5:focus{--transform-translate-x:-0.125rem}.lg\:focus\:-translate-x-1\.5:focus{--transform-translate-x:-0.375rem}.lg\:focus\:-translate-x-2\.5:focus{--transform-translate-x:-0.625rem}.lg\:focus\:-translate-x-3\.5:focus{--transform-translate-x:-0.875rem}.lg\:focus\:-translate-x-1\/2:focus{--transform-translate-x:-50%}.lg\:focus\:-translate-x-1\/3:focus{--transform-translate-x:-33.33333%}.lg\:focus\:-translate-x-2\/3:focus{--transform-translate-x:-66.66667%}.lg\:focus\:-translate-x-1\/4:focus{--transform-translate-x:-25%}.lg\:focus\:-translate-x-2\/4:focus{--transform-translate-x:-50%}.lg\:focus\:-translate-x-3\/4:focus{--transform-translate-x:-75%}.lg\:focus\:-translate-x-1\/5:focus{--transform-translate-x:-20%}.lg\:focus\:-translate-x-2\/5:focus{--transform-translate-x:-40%}.lg\:focus\:-translate-x-3\/5:focus{--transform-translate-x:-60%}.lg\:focus\:-translate-x-4\/5:focus{--transform-translate-x:-80%}.lg\:focus\:-translate-x-1\/6:focus{--transform-translate-x:-16.66667%}.lg\:focus\:-translate-x-2\/6:focus{--transform-translate-x:-33.33333%}.lg\:focus\:-translate-x-3\/6:focus{--transform-translate-x:-50%}.lg\:focus\:-translate-x-4\/6:focus{--transform-translate-x:-66.66667%}.lg\:focus\:-translate-x-5\/6:focus{--transform-translate-x:-83.33333%}.lg\:focus\:-translate-x-1\/12:focus{--transform-translate-x:-8.33333%}.lg\:focus\:-translate-x-2\/12:focus{--transform-translate-x:-16.66667%}.lg\:focus\:-translate-x-3\/12:focus{--transform-translate-x:-25%}.lg\:focus\:-translate-x-4\/12:focus{--transform-translate-x:-33.33333%}.lg\:focus\:-translate-x-5\/12:focus{--transform-translate-x:-41.66667%}.lg\:focus\:-translate-x-6\/12:focus{--transform-translate-x:-50%}.lg\:focus\:-translate-x-7\/12:focus{--transform-translate-x:-58.33333%}.lg\:focus\:-translate-x-8\/12:focus{--transform-translate-x:-66.66667%}.lg\:focus\:-translate-x-9\/12:focus{--transform-translate-x:-75%}.lg\:focus\:-translate-x-10\/12:focus{--transform-translate-x:-83.33333%}.lg\:focus\:-translate-x-11\/12:focus{--transform-translate-x:-91.66667%}.lg\:focus\:-translate-x-full:focus{--transform-translate-x:-100%}.lg\:focus\:translate-y-0:focus{--transform-translate-y:0}.lg\:focus\:translate-y-1:focus{--transform-translate-y:0.25rem}.lg\:focus\:translate-y-2:focus{--transform-translate-y:0.5rem}.lg\:focus\:translate-y-3:focus{--transform-translate-y:0.75rem}.lg\:focus\:translate-y-4:focus{--transform-translate-y:1rem}.lg\:focus\:translate-y-5:focus{--transform-translate-y:1.25rem}.lg\:focus\:translate-y-6:focus{--transform-translate-y:1.5rem}.lg\:focus\:translate-y-7:focus{--transform-translate-y:1.75rem}.lg\:focus\:translate-y-8:focus{--transform-translate-y:2rem}.lg\:focus\:translate-y-9:focus{--transform-translate-y:2.25rem}.lg\:focus\:translate-y-10:focus{--transform-translate-y:2.5rem}.lg\:focus\:translate-y-11:focus{--transform-translate-y:2.75rem}.lg\:focus\:translate-y-12:focus{--transform-translate-y:3rem}.lg\:focus\:translate-y-13:focus{--transform-translate-y:3.25rem}.lg\:focus\:translate-y-14:focus{--transform-translate-y:3.5rem}.lg\:focus\:translate-y-15:focus{--transform-translate-y:3.75rem}.lg\:focus\:translate-y-16:focus{--transform-translate-y:4rem}.lg\:focus\:translate-y-20:focus{--transform-translate-y:5rem}.lg\:focus\:translate-y-24:focus{--transform-translate-y:6rem}.lg\:focus\:translate-y-28:focus{--transform-translate-y:7rem}.lg\:focus\:translate-y-32:focus{--transform-translate-y:8rem}.lg\:focus\:translate-y-36:focus{--transform-translate-y:9rem}.lg\:focus\:translate-y-40:focus{--transform-translate-y:10rem}.lg\:focus\:translate-y-44:focus{--transform-translate-y:11rem}.lg\:focus\:translate-y-48:focus{--transform-translate-y:12rem}.lg\:focus\:translate-y-52:focus{--transform-translate-y:13rem}.lg\:focus\:translate-y-56:focus{--transform-translate-y:14rem}.lg\:focus\:translate-y-60:focus{--transform-translate-y:15rem}.lg\:focus\:translate-y-64:focus{--transform-translate-y:16rem}.lg\:focus\:translate-y-72:focus{--transform-translate-y:18rem}.lg\:focus\:translate-y-80:focus{--transform-translate-y:20rem}.lg\:focus\:translate-y-96:focus{--transform-translate-y:24rem}.lg\:focus\:translate-y-px:focus{--transform-translate-y:1px}.lg\:focus\:translate-y-0\.5:focus{--transform-translate-y:0.125rem}.lg\:focus\:translate-y-1\.5:focus{--transform-translate-y:0.375rem}.lg\:focus\:translate-y-2\.5:focus{--transform-translate-y:0.625rem}.lg\:focus\:translate-y-3\.5:focus{--transform-translate-y:0.875rem}.lg\:focus\:translate-y-1\/2:focus{--transform-translate-y:50%}.lg\:focus\:translate-y-1\/3:focus{--transform-translate-y:33.333333%}.lg\:focus\:translate-y-2\/3:focus{--transform-translate-y:66.666667%}.lg\:focus\:translate-y-1\/4:focus{--transform-translate-y:25%}.lg\:focus\:translate-y-2\/4:focus{--transform-translate-y:50%}.lg\:focus\:translate-y-3\/4:focus{--transform-translate-y:75%}.lg\:focus\:translate-y-1\/5:focus{--transform-translate-y:20%}.lg\:focus\:translate-y-2\/5:focus{--transform-translate-y:40%}.lg\:focus\:translate-y-3\/5:focus{--transform-translate-y:60%}.lg\:focus\:translate-y-4\/5:focus{--transform-translate-y:80%}.lg\:focus\:translate-y-1\/6:focus{--transform-translate-y:16.666667%}.lg\:focus\:translate-y-2\/6:focus{--transform-translate-y:33.333333%}.lg\:focus\:translate-y-3\/6:focus{--transform-translate-y:50%}.lg\:focus\:translate-y-4\/6:focus{--transform-translate-y:66.666667%}.lg\:focus\:translate-y-5\/6:focus{--transform-translate-y:83.333333%}.lg\:focus\:translate-y-1\/12:focus{--transform-translate-y:8.333333%}.lg\:focus\:translate-y-2\/12:focus{--transform-translate-y:16.666667%}.lg\:focus\:translate-y-3\/12:focus{--transform-translate-y:25%}.lg\:focus\:translate-y-4\/12:focus{--transform-translate-y:33.333333%}.lg\:focus\:translate-y-5\/12:focus{--transform-translate-y:41.666667%}.lg\:focus\:translate-y-6\/12:focus{--transform-translate-y:50%}.lg\:focus\:translate-y-7\/12:focus{--transform-translate-y:58.333333%}.lg\:focus\:translate-y-8\/12:focus{--transform-translate-y:66.666667%}.lg\:focus\:translate-y-9\/12:focus{--transform-translate-y:75%}.lg\:focus\:translate-y-10\/12:focus{--transform-translate-y:83.333333%}.lg\:focus\:translate-y-11\/12:focus{--transform-translate-y:91.666667%}.lg\:focus\:translate-y-full:focus{--transform-translate-y:100%}.lg\:focus\:-translate-y-1:focus{--transform-translate-y:-0.25rem}.lg\:focus\:-translate-y-2:focus{--transform-translate-y:-0.5rem}.lg\:focus\:-translate-y-3:focus{--transform-translate-y:-0.75rem}.lg\:focus\:-translate-y-4:focus{--transform-translate-y:-1rem}.lg\:focus\:-translate-y-5:focus{--transform-translate-y:-1.25rem}.lg\:focus\:-translate-y-6:focus{--transform-translate-y:-1.5rem}.lg\:focus\:-translate-y-7:focus{--transform-translate-y:-1.75rem}.lg\:focus\:-translate-y-8:focus{--transform-translate-y:-2rem}.lg\:focus\:-translate-y-9:focus{--transform-translate-y:-2.25rem}.lg\:focus\:-translate-y-10:focus{--transform-translate-y:-2.5rem}.lg\:focus\:-translate-y-11:focus{--transform-translate-y:-2.75rem}.lg\:focus\:-translate-y-12:focus{--transform-translate-y:-3rem}.lg\:focus\:-translate-y-13:focus{--transform-translate-y:-3.25rem}.lg\:focus\:-translate-y-14:focus{--transform-translate-y:-3.5rem}.lg\:focus\:-translate-y-15:focus{--transform-translate-y:-3.75rem}.lg\:focus\:-translate-y-16:focus{--transform-translate-y:-4rem}.lg\:focus\:-translate-y-20:focus{--transform-translate-y:-5rem}.lg\:focus\:-translate-y-24:focus{--transform-translate-y:-6rem}.lg\:focus\:-translate-y-28:focus{--transform-translate-y:-7rem}.lg\:focus\:-translate-y-32:focus{--transform-translate-y:-8rem}.lg\:focus\:-translate-y-36:focus{--transform-translate-y:-9rem}.lg\:focus\:-translate-y-40:focus{--transform-translate-y:-10rem}.lg\:focus\:-translate-y-44:focus{--transform-translate-y:-11rem}.lg\:focus\:-translate-y-48:focus{--transform-translate-y:-12rem}.lg\:focus\:-translate-y-52:focus{--transform-translate-y:-13rem}.lg\:focus\:-translate-y-56:focus{--transform-translate-y:-14rem}.lg\:focus\:-translate-y-60:focus{--transform-translate-y:-15rem}.lg\:focus\:-translate-y-64:focus{--transform-translate-y:-16rem}.lg\:focus\:-translate-y-72:focus{--transform-translate-y:-18rem}.lg\:focus\:-translate-y-80:focus{--transform-translate-y:-20rem}.lg\:focus\:-translate-y-96:focus{--transform-translate-y:-24rem}.lg\:focus\:-translate-y-px:focus{--transform-translate-y:-1px}.lg\:focus\:-translate-y-0\.5:focus{--transform-translate-y:-0.125rem}.lg\:focus\:-translate-y-1\.5:focus{--transform-translate-y:-0.375rem}.lg\:focus\:-translate-y-2\.5:focus{--transform-translate-y:-0.625rem}.lg\:focus\:-translate-y-3\.5:focus{--transform-translate-y:-0.875rem}.lg\:focus\:-translate-y-1\/2:focus{--transform-translate-y:-50%}.lg\:focus\:-translate-y-1\/3:focus{--transform-translate-y:-33.33333%}.lg\:focus\:-translate-y-2\/3:focus{--transform-translate-y:-66.66667%}.lg\:focus\:-translate-y-1\/4:focus{--transform-translate-y:-25%}.lg\:focus\:-translate-y-2\/4:focus{--transform-translate-y:-50%}.lg\:focus\:-translate-y-3\/4:focus{--transform-translate-y:-75%}.lg\:focus\:-translate-y-1\/5:focus{--transform-translate-y:-20%}.lg\:focus\:-translate-y-2\/5:focus{--transform-translate-y:-40%}.lg\:focus\:-translate-y-3\/5:focus{--transform-translate-y:-60%}.lg\:focus\:-translate-y-4\/5:focus{--transform-translate-y:-80%}.lg\:focus\:-translate-y-1\/6:focus{--transform-translate-y:-16.66667%}.lg\:focus\:-translate-y-2\/6:focus{--transform-translate-y:-33.33333%}.lg\:focus\:-translate-y-3\/6:focus{--transform-translate-y:-50%}.lg\:focus\:-translate-y-4\/6:focus{--transform-translate-y:-66.66667%}.lg\:focus\:-translate-y-5\/6:focus{--transform-translate-y:-83.33333%}.lg\:focus\:-translate-y-1\/12:focus{--transform-translate-y:-8.33333%}.lg\:focus\:-translate-y-2\/12:focus{--transform-translate-y:-16.66667%}.lg\:focus\:-translate-y-3\/12:focus{--transform-translate-y:-25%}.lg\:focus\:-translate-y-4\/12:focus{--transform-translate-y:-33.33333%}.lg\:focus\:-translate-y-5\/12:focus{--transform-translate-y:-41.66667%}.lg\:focus\:-translate-y-6\/12:focus{--transform-translate-y:-50%}.lg\:focus\:-translate-y-7\/12:focus{--transform-translate-y:-58.33333%}.lg\:focus\:-translate-y-8\/12:focus{--transform-translate-y:-66.66667%}.lg\:focus\:-translate-y-9\/12:focus{--transform-translate-y:-75%}.lg\:focus\:-translate-y-10\/12:focus{--transform-translate-y:-83.33333%}.lg\:focus\:-translate-y-11\/12:focus{--transform-translate-y:-91.66667%}.lg\:focus\:-translate-y-full:focus{--transform-translate-y:-100%}.lg\:skew-x-0{--transform-skew-x:0}.lg\:skew-x-3{--transform-skew-x:3deg}.lg\:skew-x-6{--transform-skew-x:6deg}.lg\:skew-x-12{--transform-skew-x:12deg}.lg\:-skew-x-12{--transform-skew-x:-12deg}.lg\:-skew-x-6{--transform-skew-x:-6deg}.lg\:-skew-x-3{--transform-skew-x:-3deg}.lg\:skew-y-0{--transform-skew-y:0}.lg\:skew-y-3{--transform-skew-y:3deg}.lg\:skew-y-6{--transform-skew-y:6deg}.lg\:skew-y-12{--transform-skew-y:12deg}.lg\:-skew-y-12{--transform-skew-y:-12deg}.lg\:-skew-y-6{--transform-skew-y:-6deg}.lg\:-skew-y-3{--transform-skew-y:-3deg}.lg\:hover\:skew-x-0:hover{--transform-skew-x:0}.lg\:hover\:skew-x-3:hover{--transform-skew-x:3deg}.lg\:hover\:skew-x-6:hover{--transform-skew-x:6deg}.lg\:hover\:skew-x-12:hover{--transform-skew-x:12deg}.lg\:hover\:-skew-x-12:hover{--transform-skew-x:-12deg}.lg\:hover\:-skew-x-6:hover{--transform-skew-x:-6deg}.lg\:hover\:-skew-x-3:hover{--transform-skew-x:-3deg}.lg\:hover\:skew-y-0:hover{--transform-skew-y:0}.lg\:hover\:skew-y-3:hover{--transform-skew-y:3deg}.lg\:hover\:skew-y-6:hover{--transform-skew-y:6deg}.lg\:hover\:skew-y-12:hover{--transform-skew-y:12deg}.lg\:hover\:-skew-y-12:hover{--transform-skew-y:-12deg}.lg\:hover\:-skew-y-6:hover{--transform-skew-y:-6deg}.lg\:hover\:-skew-y-3:hover{--transform-skew-y:-3deg}.lg\:focus\:skew-x-0:focus{--transform-skew-x:0}.lg\:focus\:skew-x-3:focus{--transform-skew-x:3deg}.lg\:focus\:skew-x-6:focus{--transform-skew-x:6deg}.lg\:focus\:skew-x-12:focus{--transform-skew-x:12deg}.lg\:focus\:-skew-x-12:focus{--transform-skew-x:-12deg}.lg\:focus\:-skew-x-6:focus{--transform-skew-x:-6deg}.lg\:focus\:-skew-x-3:focus{--transform-skew-x:-3deg}.lg\:focus\:skew-y-0:focus{--transform-skew-y:0}.lg\:focus\:skew-y-3:focus{--transform-skew-y:3deg}.lg\:focus\:skew-y-6:focus{--transform-skew-y:6deg}.lg\:focus\:skew-y-12:focus{--transform-skew-y:12deg}.lg\:focus\:-skew-y-12:focus{--transform-skew-y:-12deg}.lg\:focus\:-skew-y-6:focus{--transform-skew-y:-6deg}.lg\:focus\:-skew-y-3:focus{--transform-skew-y:-3deg}.lg\:transition-none{transition-property:none}.lg\:transition-all{transition-property:all}.lg\:transition{transition-property:background-color,border-color,color,fill,stroke,opacity,box-shadow,transform}.lg\:transition-colors{transition-property:background-color,border-color,color,fill,stroke}.lg\:transition-opacity{transition-property:opacity}.lg\:transition-shadow{transition-property:box-shadow}.lg\:transition-transform{transition-property:transform}.lg\:ease-linear{transition-timing-function:linear}.lg\:ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.lg\:ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.lg\:ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.lg\:duration-75{transition-duration:75ms}.lg\:duration-100{transition-duration:.1s}.lg\:duration-150{transition-duration:150ms}.lg\:duration-200{transition-duration:.2s}.lg\:duration-300{transition-duration:.3s}.lg\:duration-500{transition-duration:.5s}.lg\:duration-700{transition-duration:.7s}.lg\:duration-1000{transition-duration:1s}.lg\:delay-75{transition-delay:75ms}.lg\:delay-100{transition-delay:.1s}.lg\:delay-150{transition-delay:150ms}.lg\:delay-200{transition-delay:.2s}.lg\:delay-300{transition-delay:.3s}.lg\:delay-500{transition-delay:.5s}.lg\:delay-700{transition-delay:.7s}.lg\:delay-1000{transition-delay:1s}}@media (min-width:1280px){.xl\:container{width:100%}@media (min-width:640px){.xl\:container{max-width:640px}}@media (min-width:768px){.xl\:container{max-width:768px}}@media (min-width:1024px){.xl\:container{max-width:1024px}}@media (min-width:1280px){.xl\:container{max-width:1280px}}.xl\:prose{color:#374151;max-width:65ch}.xl\:prose [class~=lead]{color:#4b5563;font-size:1.25em;line-height:1.6;margin-top:1.2em;margin-bottom:1.2em}.xl\:prose a{color:#5850ec;text-decoration:none;font-weight:600}.xl\:prose strong{color:#161e2e;font-weight:600}.xl\:prose ol{counter-reset:list-counter;margin-top:1.25em;margin-bottom:1.25em}.xl\:prose ol>li{position:relative;counter-increment:list-counter;padding-left:1.75em}.xl\:prose ol>li::before{content:counter(list-counter) ".";position:absolute;font-weight:400;color:#6b7280}.xl\:prose ul>li{position:relative;padding-left:1.75em}.xl\:prose ul>li::before{content:"";position:absolute;background-color:#d2d6dc;border-radius:50%;width:.375em;height:.375em;top:calc(.875em - .1875em);left:.25em}.xl\:prose hr{border-color:#e5e7eb;border-top-width:1px;margin-top:3em;margin-bottom:3em}.xl\:prose blockquote{font-weight:500;font-style:italic;color:#161e2e;border-left-width:.25rem;border-left-color:#e5e7eb;quotes:"\201C""\201D""\2018""\2019";margin-top:1.6em;margin-bottom:1.6em;padding-left:1em}.xl\:prose blockquote p:first-of-type::before{content:open-quote}.xl\:prose blockquote p:last-of-type::after{content:close-quote}.xl\:prose h1{color:#1a202c;font-weight:800;font-size:2.25em;margin-top:0;margin-bottom:.8888889em;line-height:1.1111111}.xl\:prose h2{color:#1a202c;font-weight:700;font-size:1.5em;margin-top:2em;margin-bottom:1em;line-height:1.3333333}.xl\:prose h3{color:#1a202c;font-weight:600;font-size:1.25em;margin-top:1.6em;margin-bottom:.6em;line-height:1.6}.xl\:prose h4{color:#1a202c;font-weight:600;margin-top:1.5em;margin-bottom:.5em;line-height:1.5}.xl\:prose figure figcaption{color:#6b7280;font-size:.875em;line-height:1.4285714;margin-top:.8571429em}.xl\:prose code{color:#161e2e;font-weight:600;font-size:.875em}.xl\:prose code::before{content:"`"}.xl\:prose code::after{content:"`"}.xl\:prose pre{color:#e5e7eb;background-color:#252f3f;overflow-x:auto;font-size:.875em;line-height:1.7142857;margin-top:1.7142857em;margin-bottom:1.7142857em;border-radius:.375rem;padding-top:.8571429em;padding-right:1.1428571em;padding-bottom:.8571429em;padding-left:1.1428571em}.xl\:prose pre code{background-color:transparent;border-width:0;border-radius:0;padding:0;font-weight:400;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}.xl\:prose pre code::before{content:""}.xl\:prose pre code::after{content:""}.xl\:prose table{width:100%;table-layout:auto;text-align:left;margin-top:2em;margin-bottom:2em;font-size:.875em;line-height:1.7142857}.xl\:prose thead{color:#161e2e;font-weight:600;border-bottom-width:1px;border-bottom-color:#d2d6dc}.xl\:prose thead th{vertical-align:bottom;padding-right:.5714286em;padding-bottom:.5714286em;padding-left:.5714286em}.xl\:prose tbody tr{border-bottom-width:1px;border-bottom-color:#e5e7eb}.xl\:prose tbody tr:last-child{border-bottom-width:0}.xl\:prose tbody td{vertical-align:top;padding-top:.5714286em;padding-right:.5714286em;padding-bottom:.5714286em;padding-left:.5714286em}.xl\:prose{font-size:1rem;line-height:1.75}.xl\:prose p{margin-top:1.25em;margin-bottom:1.25em}.xl\:prose img{margin-top:2em;margin-bottom:2em}.xl\:prose video{margin-top:2em;margin-bottom:2em}.xl\:prose figure{margin-top:2em;margin-bottom:2em}.xl\:prose figure>*{margin-top:0;margin-bottom:0}.xl\:prose h2 code{font-size:.875em}.xl\:prose h3 code{font-size:.9em}.xl\:prose ul{margin-top:1.25em;margin-bottom:1.25em}.xl\:prose li{margin-top:.5em;margin-bottom:.5em}.xl\:prose ol>li:before{left:0}.xl\:prose>ul>li p{margin-top:.75em;margin-bottom:.75em}.xl\:prose>ul>li>:first-child{margin-top:1.25em}.xl\:prose>ul>li>:last-child{margin-bottom:1.25em}.xl\:prose>ol>li>:first-child{margin-top:1.25em}.xl\:prose>ol>li>:last-child{margin-bottom:1.25em}.xl\:prose ol ol,.xl\:prose ol ul,.xl\:prose ul ol,.xl\:prose ul ul{margin-top:.75em;margin-bottom:.75em}.xl\:prose hr+*{margin-top:0}.xl\:prose h2+*{margin-top:0}.xl\:prose h3+*{margin-top:0}.xl\:prose h4+*{margin-top:0}.xl\:prose thead th:first-child{padding-left:0}.xl\:prose thead th:last-child{padding-right:0}.xl\:prose tbody td:first-child{padding-left:0}.xl\:prose tbody td:last-child{padding-right:0}.xl\:prose>:first-child{margin-top:0}.xl\:prose>:last-child{margin-bottom:0}.xl\:prose h1,.xl\:prose h2,.xl\:prose h3,.xl\:prose h4{color:#161e2e}.xl\:prose-sm{font-size:.875rem;line-height:1.7142857}.xl\:prose-sm p{margin-top:1.1428571em;margin-bottom:1.1428571em}.xl\:prose-sm [class~=lead]{font-size:1.2857143em;line-height:1.5555556;margin-top:.8888889em;margin-bottom:.8888889em}.xl\:prose-sm blockquote{margin-top:1.3333333em;margin-bottom:1.3333333em;padding-left:1.1111111em}.xl\:prose-sm h1{font-size:2.1428571em;margin-top:0;margin-bottom:.8em;line-height:1.2}.xl\:prose-sm h2{font-size:1.4285714em;margin-top:1.6em;margin-bottom:.8em;line-height:1.4}.xl\:prose-sm h3{font-size:1.2857143em;margin-top:1.5555556em;margin-bottom:.4444444em;line-height:1.5555556}.xl\:prose-sm h4{margin-top:1.4285714em;margin-bottom:.5714286em;line-height:1.4285714}.xl\:prose-sm img{margin-top:1.7142857em;margin-bottom:1.7142857em}.xl\:prose-sm video{margin-top:1.7142857em;margin-bottom:1.7142857em}.xl\:prose-sm figure{margin-top:1.7142857em;margin-bottom:1.7142857em}.xl\:prose-sm figure>*{margin-top:0;margin-bottom:0}.xl\:prose-sm figure figcaption{font-size:.8571429em;line-height:1.3333333;margin-top:.6666667em}.xl\:prose-sm code{font-size:.8571429em}.xl\:prose-sm h2 code{font-size:.9em}.xl\:prose-sm h3 code{font-size:.8888889em}.xl\:prose-sm pre{font-size:.8571429em;line-height:1.6666667;margin-top:1.6666667em;margin-bottom:1.6666667em;border-radius:.25rem;padding-top:.6666667em;padding-right:1em;padding-bottom:.6666667em;padding-left:1em}.xl\:prose-sm ol{margin-top:1.1428571em;margin-bottom:1.1428571em}.xl\:prose-sm ul{margin-top:1.1428571em;margin-bottom:1.1428571em}.xl\:prose-sm li{margin-top:.2857143em;margin-bottom:.2857143em}.xl\:prose-sm ol>li{padding-left:1.5714286em}.xl\:prose-sm ol>li:before{left:0}.xl\:prose-sm ul>li{padding-left:1.5714286em}.xl\:prose-sm ul>li::before{height:.3571429em;width:.3571429em;top:calc(.8571429em - .1785714em);left:.2142857em}.xl\:prose-sm>ul>li p{margin-top:.5714286em;margin-bottom:.5714286em}.xl\:prose-sm>ul>li>:first-child{margin-top:1.1428571em}.xl\:prose-sm>ul>li>:last-child{margin-bottom:1.1428571em}.xl\:prose-sm>ol>li>:first-child{margin-top:1.1428571em}.xl\:prose-sm>ol>li>:last-child{margin-bottom:1.1428571em}.xl\:prose-sm ol ol,.xl\:prose-sm ol ul,.xl\:prose-sm ul ol,.xl\:prose-sm ul ul{margin-top:.5714286em;margin-bottom:.5714286em}.xl\:prose-sm hr{margin-top:2.8571429em;margin-bottom:2.8571429em}.xl\:prose-sm hr+*{margin-top:0}.xl\:prose-sm h2+*{margin-top:0}.xl\:prose-sm h3+*{margin-top:0}.xl\:prose-sm h4+*{margin-top:0}.xl\:prose-sm table{font-size:.8571429em;line-height:1.5}.xl\:prose-sm thead th{padding-right:1em;padding-bottom:.6666667em;padding-left:1em}.xl\:prose-sm thead th:first-child{padding-left:0}.xl\:prose-sm thead th:last-child{padding-right:0}.xl\:prose-sm tbody td{padding-top:.6666667em;padding-right:1em;padding-bottom:.6666667em;padding-left:1em}.xl\:prose-sm tbody td:first-child{padding-left:0}.xl\:prose-sm tbody td:last-child{padding-right:0}.xl\:prose-sm>:first-child{margin-top:0}.xl\:prose-sm>:last-child{margin-bottom:0}.xl\:prose-lg{font-size:1.125rem;line-height:1.7777778}.xl\:prose-lg p{margin-top:1.3333333em;margin-bottom:1.3333333em}.xl\:prose-lg [class~=lead]{font-size:1.2222222em;line-height:1.4545455;margin-top:1.0909091em;margin-bottom:1.0909091em}.xl\:prose-lg blockquote{margin-top:1.6666667em;margin-bottom:1.6666667em;padding-left:1em}.xl\:prose-lg h1{font-size:2.6666667em;margin-top:0;margin-bottom:.8333333em;line-height:1}.xl\:prose-lg h2{font-size:1.6666667em;margin-top:1.8666667em;margin-bottom:1.0666667em;line-height:1.3333333}.xl\:prose-lg h3{font-size:1.3333333em;margin-top:1.6666667em;margin-bottom:.6666667em;line-height:1.5}.xl\:prose-lg h4{margin-top:1.7777778em;margin-bottom:.4444444em;line-height:1.5555556}.xl\:prose-lg img{margin-top:1.7777778em;margin-bottom:1.7777778em}.xl\:prose-lg video{margin-top:1.7777778em;margin-bottom:1.7777778em}.xl\:prose-lg figure{margin-top:1.7777778em;margin-bottom:1.7777778em}.xl\:prose-lg figure>*{margin-top:0;margin-bottom:0}.xl\:prose-lg figure figcaption{font-size:.8888889em;line-height:1.5;margin-top:1em}.xl\:prose-lg code{font-size:.8888889em}.xl\:prose-lg h2 code{font-size:.8666667em}.xl\:prose-lg h3 code{font-size:.875em}.xl\:prose-lg pre{font-size:.8888889em;line-height:1.75;margin-top:2em;margin-bottom:2em;border-radius:.375rem;padding-top:1em;padding-right:1.5em;padding-bottom:1em;padding-left:1.5em}.xl\:prose-lg ol{margin-top:1.3333333em;margin-bottom:1.3333333em}.xl\:prose-lg ul{margin-top:1.3333333em;margin-bottom:1.3333333em}.xl\:prose-lg li{margin-top:.6666667em;margin-bottom:.6666667em}.xl\:prose-lg ol>li{padding-left:1.6666667em}.xl\:prose-lg ol>li:before{left:0}.xl\:prose-lg ul>li{padding-left:1.6666667em}.xl\:prose-lg ul>li::before{width:.3333333em;height:.3333333em;top:calc(.8888889em - .1666667em);left:.2222222em}.xl\:prose-lg>ul>li p{margin-top:.8888889em;margin-bottom:.8888889em}.xl\:prose-lg>ul>li>:first-child{margin-top:1.3333333em}.xl\:prose-lg>ul>li>:last-child{margin-bottom:1.3333333em}.xl\:prose-lg>ol>li>:first-child{margin-top:1.3333333em}.xl\:prose-lg>ol>li>:last-child{margin-bottom:1.3333333em}.xl\:prose-lg ol ol,.xl\:prose-lg ol ul,.xl\:prose-lg ul ol,.xl\:prose-lg ul ul{margin-top:.8888889em;margin-bottom:.8888889em}.xl\:prose-lg hr{margin-top:3.1111111em;margin-bottom:3.1111111em}.xl\:prose-lg hr+*{margin-top:0}.xl\:prose-lg h2+*{margin-top:0}.xl\:prose-lg h3+*{margin-top:0}.xl\:prose-lg h4+*{margin-top:0}.xl\:prose-lg table{font-size:.8888889em;line-height:1.5}.xl\:prose-lg thead th{padding-right:.75em;padding-bottom:.75em;padding-left:.75em}.xl\:prose-lg thead th:first-child{padding-left:0}.xl\:prose-lg thead th:last-child{padding-right:0}.xl\:prose-lg tbody td{padding-top:.75em;padding-right:.75em;padding-bottom:.75em;padding-left:.75em}.xl\:prose-lg tbody td:first-child{padding-left:0}.xl\:prose-lg tbody td:last-child{padding-right:0}.xl\:prose-lg>:first-child{margin-top:0}.xl\:prose-lg>:last-child{margin-bottom:0}.xl\:prose-xl{font-size:1.25rem;line-height:1.8}.xl\:prose-xl p{margin-top:1.2em;margin-bottom:1.2em}.xl\:prose-xl [class~=lead]{font-size:1.2em;line-height:1.5;margin-top:1em;margin-bottom:1em}.xl\:prose-xl blockquote{margin-top:1.6em;margin-bottom:1.6em;padding-left:1.0666667em}.xl\:prose-xl h1{font-size:2.8em;margin-top:0;margin-bottom:.8571429em;line-height:1}.xl\:prose-xl h2{font-size:1.8em;margin-top:1.5555556em;margin-bottom:.8888889em;line-height:1.1111111}.xl\:prose-xl h3{font-size:1.5em;margin-top:1.6em;margin-bottom:.6666667em;line-height:1.3333333}.xl\:prose-xl h4{margin-top:1.8em;margin-bottom:.6em;line-height:1.6}.xl\:prose-xl img{margin-top:2em;margin-bottom:2em}.xl\:prose-xl video{margin-top:2em;margin-bottom:2em}.xl\:prose-xl figure{margin-top:2em;margin-bottom:2em}.xl\:prose-xl figure>*{margin-top:0;margin-bottom:0}.xl\:prose-xl figure figcaption{font-size:.9em;line-height:1.5555556;margin-top:1em}.xl\:prose-xl code{font-size:.9em}.xl\:prose-xl h2 code{font-size:.8611111em}.xl\:prose-xl h3 code{font-size:.9em}.xl\:prose-xl pre{font-size:.9em;line-height:1.7777778;margin-top:2em;margin-bottom:2em;border-radius:.5rem;padding-top:1.1111111em;padding-right:1.3333333em;padding-bottom:1.1111111em;padding-left:1.3333333em}.xl\:prose-xl ol{margin-top:1.2em;margin-bottom:1.2em}.xl\:prose-xl ul{margin-top:1.2em;margin-bottom:1.2em}.xl\:prose-xl li{margin-top:.6em;margin-bottom:.6em}.xl\:prose-xl ol>li{padding-left:1.8em}.xl\:prose-xl ol>li:before{left:0}.xl\:prose-xl ul>li{padding-left:1.8em}.xl\:prose-xl ul>li::before{width:.35em;height:.35em;top:calc(.9em - .175em);left:.25em}.xl\:prose-xl>ul>li p{margin-top:.8em;margin-bottom:.8em}.xl\:prose-xl>ul>li>:first-child{margin-top:1.2em}.xl\:prose-xl>ul>li>:last-child{margin-bottom:1.2em}.xl\:prose-xl>ol>li>:first-child{margin-top:1.2em}.xl\:prose-xl>ol>li>:last-child{margin-bottom:1.2em}.xl\:prose-xl ol ol,.xl\:prose-xl ol ul,.xl\:prose-xl ul ol,.xl\:prose-xl ul ul{margin-top:.8em;margin-bottom:.8em}.xl\:prose-xl hr{margin-top:2.8em;margin-bottom:2.8em}.xl\:prose-xl hr+*{margin-top:0}.xl\:prose-xl h2+*{margin-top:0}.xl\:prose-xl h3+*{margin-top:0}.xl\:prose-xl h4+*{margin-top:0}.xl\:prose-xl table{font-size:.9em;line-height:1.5555556}.xl\:prose-xl thead th{padding-right:.6666667em;padding-bottom:.8888889em;padding-left:.6666667em}.xl\:prose-xl thead th:first-child{padding-left:0}.xl\:prose-xl thead th:last-child{padding-right:0}.xl\:prose-xl tbody td{padding-top:.8888889em;padding-right:.6666667em;padding-bottom:.8888889em;padding-left:.6666667em}.xl\:prose-xl tbody td:first-child{padding-left:0}.xl\:prose-xl tbody td:last-child{padding-right:0}.xl\:prose-xl>:first-child{margin-top:0}.xl\:prose-xl>:last-child{margin-bottom:0}.xl\:prose-2xl{font-size:1.5rem;line-height:1.6666667}.xl\:prose-2xl p{margin-top:1.3333333em;margin-bottom:1.3333333em}.xl\:prose-2xl [class~=lead]{font-size:1.25em;line-height:1.4666667;margin-top:1.0666667em;margin-bottom:1.0666667em}.xl\:prose-2xl blockquote{margin-top:1.7777778em;margin-bottom:1.7777778em;padding-left:1.1111111em}.xl\:prose-2xl h1{font-size:2.6666667em;margin-top:0;margin-bottom:.875em;line-height:1}.xl\:prose-2xl h2{font-size:2em;margin-top:1.5em;margin-bottom:.8333333em;line-height:1.0833333}.xl\:prose-2xl h3{font-size:1.5em;margin-top:1.5555556em;margin-bottom:.6666667em;line-height:1.2222222}.xl\:prose-2xl h4{margin-top:1.6666667em;margin-bottom:.6666667em;line-height:1.5}.xl\:prose-2xl img{margin-top:2em;margin-bottom:2em}.xl\:prose-2xl video{margin-top:2em;margin-bottom:2em}.xl\:prose-2xl figure{margin-top:2em;margin-bottom:2em}.xl\:prose-2xl figure>*{margin-top:0;margin-bottom:0}.xl\:prose-2xl figure figcaption{font-size:.8333333em;line-height:1.6;margin-top:1em}.xl\:prose-2xl code{font-size:.8333333em}.xl\:prose-2xl h2 code{font-size:.875em}.xl\:prose-2xl h3 code{font-size:.8888889em}.xl\:prose-2xl pre{font-size:.8333333em;line-height:1.8;margin-top:2em;margin-bottom:2em;border-radius:.5rem;padding-top:1.2em;padding-right:1.6em;padding-bottom:1.2em;padding-left:1.6em}.xl\:prose-2xl ol{margin-top:1.3333333em;margin-bottom:1.3333333em}.xl\:prose-2xl ul{margin-top:1.3333333em;margin-bottom:1.3333333em}.xl\:prose-2xl li{margin-top:.5em;margin-bottom:.5em}.xl\:prose-2xl ol>li{padding-left:1.6666667em}.xl\:prose-2xl ol>li:before{left:0}.xl\:prose-2xl ul>li{padding-left:1.6666667em}.xl\:prose-2xl ul>li::before{width:.3333333em;height:.3333333em;top:calc(.8333333em - .1666667em);left:.25em}.xl\:prose-2xl>ul>li p{margin-top:.8333333em;margin-bottom:.8333333em}.xl\:prose-2xl>ul>li>:first-child{margin-top:1.3333333em}.xl\:prose-2xl>ul>li>:last-child{margin-bottom:1.3333333em}.xl\:prose-2xl>ol>li>:first-child{margin-top:1.3333333em}.xl\:prose-2xl>ol>li>:last-child{margin-bottom:1.3333333em}.xl\:prose-2xl ol ol,.xl\:prose-2xl ol ul,.xl\:prose-2xl ul ol,.xl\:prose-2xl ul ul{margin-top:.6666667em;margin-bottom:.6666667em}.xl\:prose-2xl hr{margin-top:3em;margin-bottom:3em}.xl\:prose-2xl hr+*{margin-top:0}.xl\:prose-2xl h2+*{margin-top:0}.xl\:prose-2xl h3+*{margin-top:0}.xl\:prose-2xl h4+*{margin-top:0}.xl\:prose-2xl table{font-size:.8333333em;line-height:1.4}.xl\:prose-2xl thead th{padding-right:.6em;padding-bottom:.8em;padding-left:.6em}.xl\:prose-2xl thead th:first-child{padding-left:0}.xl\:prose-2xl thead th:last-child{padding-right:0}.xl\:prose-2xl tbody td{padding-top:.8em;padding-right:.6em;padding-bottom:.8em;padding-left:.6em}.xl\:prose-2xl tbody td:first-child{padding-left:0}.xl\:prose-2xl tbody td:last-child{padding-right:0}.xl\:prose-2xl>:first-child{margin-top:0}.xl\:prose-2xl>:last-child{margin-bottom:0}.xl\:space-y-0>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(0px * calc(1 - var(--space-y-reverse)));margin-bottom:calc(0px * var(--space-y-reverse))}.xl\:space-x-0>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(0px * var(--space-x-reverse));margin-left:calc(0px * calc(1 - var(--space-x-reverse)))}.xl\:space-y-1>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(.25rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(.25rem * var(--space-y-reverse))}.xl\:space-x-1>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(.25rem * var(--space-x-reverse));margin-left:calc(.25rem * calc(1 - var(--space-x-reverse)))}.xl\:space-y-2>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(.5rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(.5rem * var(--space-y-reverse))}.xl\:space-x-2>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(.5rem * var(--space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--space-x-reverse)))}.xl\:space-y-3>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(.75rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(.75rem * var(--space-y-reverse))}.xl\:space-x-3>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(.75rem * var(--space-x-reverse));margin-left:calc(.75rem * calc(1 - var(--space-x-reverse)))}.xl\:space-y-4>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(1rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(1rem * var(--space-y-reverse))}.xl\:space-x-4>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(1rem * var(--space-x-reverse));margin-left:calc(1rem * calc(1 - var(--space-x-reverse)))}.xl\:space-y-5>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(1.25rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(1.25rem * var(--space-y-reverse))}.xl\:space-x-5>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(1.25rem * var(--space-x-reverse));margin-left:calc(1.25rem * calc(1 - var(--space-x-reverse)))}.xl\:space-y-6>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(1.5rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(1.5rem * var(--space-y-reverse))}.xl\:space-x-6>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(1.5rem * var(--space-x-reverse));margin-left:calc(1.5rem * calc(1 - var(--space-x-reverse)))}.xl\:space-y-7>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(1.75rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(1.75rem * var(--space-y-reverse))}.xl\:space-x-7>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(1.75rem * var(--space-x-reverse));margin-left:calc(1.75rem * calc(1 - var(--space-x-reverse)))}.xl\:space-y-8>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(2rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(2rem * var(--space-y-reverse))}.xl\:space-x-8>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(2rem * var(--space-x-reverse));margin-left:calc(2rem * calc(1 - var(--space-x-reverse)))}.xl\:space-y-9>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(2.25rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(2.25rem * var(--space-y-reverse))}.xl\:space-x-9>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(2.25rem * var(--space-x-reverse));margin-left:calc(2.25rem * calc(1 - var(--space-x-reverse)))}.xl\:space-y-10>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(2.5rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(2.5rem * var(--space-y-reverse))}.xl\:space-x-10>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(2.5rem * var(--space-x-reverse));margin-left:calc(2.5rem * calc(1 - var(--space-x-reverse)))}.xl\:space-y-11>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(2.75rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(2.75rem * var(--space-y-reverse))}.xl\:space-x-11>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(2.75rem * var(--space-x-reverse));margin-left:calc(2.75rem * calc(1 - var(--space-x-reverse)))}.xl\:space-y-12>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(3rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(3rem * var(--space-y-reverse))}.xl\:space-x-12>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(3rem * var(--space-x-reverse));margin-left:calc(3rem * calc(1 - var(--space-x-reverse)))}.xl\:space-y-13>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(3.25rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(3.25rem * var(--space-y-reverse))}.xl\:space-x-13>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(3.25rem * var(--space-x-reverse));margin-left:calc(3.25rem * calc(1 - var(--space-x-reverse)))}.xl\:space-y-14>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(3.5rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(3.5rem * var(--space-y-reverse))}.xl\:space-x-14>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(3.5rem * var(--space-x-reverse));margin-left:calc(3.5rem * calc(1 - var(--space-x-reverse)))}.xl\:space-y-15>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(3.75rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(3.75rem * var(--space-y-reverse))}.xl\:space-x-15>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(3.75rem * var(--space-x-reverse));margin-left:calc(3.75rem * calc(1 - var(--space-x-reverse)))}.xl\:space-y-16>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(4rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(4rem * var(--space-y-reverse))}.xl\:space-x-16>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(4rem * var(--space-x-reverse));margin-left:calc(4rem * calc(1 - var(--space-x-reverse)))}.xl\:space-y-20>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(5rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(5rem * var(--space-y-reverse))}.xl\:space-x-20>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(5rem * var(--space-x-reverse));margin-left:calc(5rem * calc(1 - var(--space-x-reverse)))}.xl\:space-y-24>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(6rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(6rem * var(--space-y-reverse))}.xl\:space-x-24>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(6rem * var(--space-x-reverse));margin-left:calc(6rem * calc(1 - var(--space-x-reverse)))}.xl\:space-y-28>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(7rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(7rem * var(--space-y-reverse))}.xl\:space-x-28>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(7rem * var(--space-x-reverse));margin-left:calc(7rem * calc(1 - var(--space-x-reverse)))}.xl\:space-y-32>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(8rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(8rem * var(--space-y-reverse))}.xl\:space-x-32>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(8rem * var(--space-x-reverse));margin-left:calc(8rem * calc(1 - var(--space-x-reverse)))}.xl\:space-y-36>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(9rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(9rem * var(--space-y-reverse))}.xl\:space-x-36>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(9rem * var(--space-x-reverse));margin-left:calc(9rem * calc(1 - var(--space-x-reverse)))}.xl\:space-y-40>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(10rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(10rem * var(--space-y-reverse))}.xl\:space-x-40>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(10rem * var(--space-x-reverse));margin-left:calc(10rem * calc(1 - var(--space-x-reverse)))}.xl\:space-y-44>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(11rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(11rem * var(--space-y-reverse))}.xl\:space-x-44>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(11rem * var(--space-x-reverse));margin-left:calc(11rem * calc(1 - var(--space-x-reverse)))}.xl\:space-y-48>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(12rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(12rem * var(--space-y-reverse))}.xl\:space-x-48>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(12rem * var(--space-x-reverse));margin-left:calc(12rem * calc(1 - var(--space-x-reverse)))}.xl\:space-y-52>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(13rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(13rem * var(--space-y-reverse))}.xl\:space-x-52>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(13rem * var(--space-x-reverse));margin-left:calc(13rem * calc(1 - var(--space-x-reverse)))}.xl\:space-y-56>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(14rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(14rem * var(--space-y-reverse))}.xl\:space-x-56>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(14rem * var(--space-x-reverse));margin-left:calc(14rem * calc(1 - var(--space-x-reverse)))}.xl\:space-y-60>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(15rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(15rem * var(--space-y-reverse))}.xl\:space-x-60>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(15rem * var(--space-x-reverse));margin-left:calc(15rem * calc(1 - var(--space-x-reverse)))}.xl\:space-y-64>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(16rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(16rem * var(--space-y-reverse))}.xl\:space-x-64>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(16rem * var(--space-x-reverse));margin-left:calc(16rem * calc(1 - var(--space-x-reverse)))}.xl\:space-y-72>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(18rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(18rem * var(--space-y-reverse))}.xl\:space-x-72>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(18rem * var(--space-x-reverse));margin-left:calc(18rem * calc(1 - var(--space-x-reverse)))}.xl\:space-y-80>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(20rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(20rem * var(--space-y-reverse))}.xl\:space-x-80>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(20rem * var(--space-x-reverse));margin-left:calc(20rem * calc(1 - var(--space-x-reverse)))}.xl\:space-y-96>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(24rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(24rem * var(--space-y-reverse))}.xl\:space-x-96>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(24rem * var(--space-x-reverse));margin-left:calc(24rem * calc(1 - var(--space-x-reverse)))}.xl\:space-y-px>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(1px * calc(1 - var(--space-y-reverse)));margin-bottom:calc(1px * var(--space-y-reverse))}.xl\:space-x-px>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(1px * var(--space-x-reverse));margin-left:calc(1px * calc(1 - var(--space-x-reverse)))}.xl\:space-y-0\.5>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(.125rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(.125rem * var(--space-y-reverse))}.xl\:space-x-0\.5>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(.125rem * var(--space-x-reverse));margin-left:calc(.125rem * calc(1 - var(--space-x-reverse)))}.xl\:space-y-1\.5>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(.375rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(.375rem * var(--space-y-reverse))}.xl\:space-x-1\.5>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(.375rem * var(--space-x-reverse));margin-left:calc(.375rem * calc(1 - var(--space-x-reverse)))}.xl\:space-y-2\.5>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(.625rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(.625rem * var(--space-y-reverse))}.xl\:space-x-2\.5>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(.625rem * var(--space-x-reverse));margin-left:calc(.625rem * calc(1 - var(--space-x-reverse)))}.xl\:space-y-3\.5>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(.875rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(.875rem * var(--space-y-reverse))}.xl\:space-x-3\.5>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(.875rem * var(--space-x-reverse));margin-left:calc(.875rem * calc(1 - var(--space-x-reverse)))}.xl\:space-y-1\/2>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(50% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(50% * var(--space-y-reverse))}.xl\:space-x-1\/2>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(50% * var(--space-x-reverse));margin-left:calc(50% * calc(1 - var(--space-x-reverse)))}.xl\:space-y-1\/3>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(33.333333% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(33.333333% * var(--space-y-reverse))}.xl\:space-x-1\/3>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(33.333333% * var(--space-x-reverse));margin-left:calc(33.333333% * calc(1 - var(--space-x-reverse)))}.xl\:space-y-2\/3>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(66.666667% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(66.666667% * var(--space-y-reverse))}.xl\:space-x-2\/3>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(66.666667% * var(--space-x-reverse));margin-left:calc(66.666667% * calc(1 - var(--space-x-reverse)))}.xl\:space-y-1\/4>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(25% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(25% * var(--space-y-reverse))}.xl\:space-x-1\/4>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(25% * var(--space-x-reverse));margin-left:calc(25% * calc(1 - var(--space-x-reverse)))}.xl\:space-y-2\/4>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(50% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(50% * var(--space-y-reverse))}.xl\:space-x-2\/4>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(50% * var(--space-x-reverse));margin-left:calc(50% * calc(1 - var(--space-x-reverse)))}.xl\:space-y-3\/4>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(75% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(75% * var(--space-y-reverse))}.xl\:space-x-3\/4>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(75% * var(--space-x-reverse));margin-left:calc(75% * calc(1 - var(--space-x-reverse)))}.xl\:space-y-1\/5>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(20% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(20% * var(--space-y-reverse))}.xl\:space-x-1\/5>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(20% * var(--space-x-reverse));margin-left:calc(20% * calc(1 - var(--space-x-reverse)))}.xl\:space-y-2\/5>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(40% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(40% * var(--space-y-reverse))}.xl\:space-x-2\/5>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(40% * var(--space-x-reverse));margin-left:calc(40% * calc(1 - var(--space-x-reverse)))}.xl\:space-y-3\/5>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(60% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(60% * var(--space-y-reverse))}.xl\:space-x-3\/5>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(60% * var(--space-x-reverse));margin-left:calc(60% * calc(1 - var(--space-x-reverse)))}.xl\:space-y-4\/5>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(80% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(80% * var(--space-y-reverse))}.xl\:space-x-4\/5>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(80% * var(--space-x-reverse));margin-left:calc(80% * calc(1 - var(--space-x-reverse)))}.xl\:space-y-1\/6>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(16.666667% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(16.666667% * var(--space-y-reverse))}.xl\:space-x-1\/6>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(16.666667% * var(--space-x-reverse));margin-left:calc(16.666667% * calc(1 - var(--space-x-reverse)))}.xl\:space-y-2\/6>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(33.333333% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(33.333333% * var(--space-y-reverse))}.xl\:space-x-2\/6>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(33.333333% * var(--space-x-reverse));margin-left:calc(33.333333% * calc(1 - var(--space-x-reverse)))}.xl\:space-y-3\/6>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(50% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(50% * var(--space-y-reverse))}.xl\:space-x-3\/6>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(50% * var(--space-x-reverse));margin-left:calc(50% * calc(1 - var(--space-x-reverse)))}.xl\:space-y-4\/6>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(66.666667% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(66.666667% * var(--space-y-reverse))}.xl\:space-x-4\/6>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(66.666667% * var(--space-x-reverse));margin-left:calc(66.666667% * calc(1 - var(--space-x-reverse)))}.xl\:space-y-5\/6>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(83.333333% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(83.333333% * var(--space-y-reverse))}.xl\:space-x-5\/6>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(83.333333% * var(--space-x-reverse));margin-left:calc(83.333333% * calc(1 - var(--space-x-reverse)))}.xl\:space-y-1\/12>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(8.333333% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(8.333333% * var(--space-y-reverse))}.xl\:space-x-1\/12>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(8.333333% * var(--space-x-reverse));margin-left:calc(8.333333% * calc(1 - var(--space-x-reverse)))}.xl\:space-y-2\/12>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(16.666667% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(16.666667% * var(--space-y-reverse))}.xl\:space-x-2\/12>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(16.666667% * var(--space-x-reverse));margin-left:calc(16.666667% * calc(1 - var(--space-x-reverse)))}.xl\:space-y-3\/12>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(25% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(25% * var(--space-y-reverse))}.xl\:space-x-3\/12>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(25% * var(--space-x-reverse));margin-left:calc(25% * calc(1 - var(--space-x-reverse)))}.xl\:space-y-4\/12>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(33.333333% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(33.333333% * var(--space-y-reverse))}.xl\:space-x-4\/12>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(33.333333% * var(--space-x-reverse));margin-left:calc(33.333333% * calc(1 - var(--space-x-reverse)))}.xl\:space-y-5\/12>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(41.666667% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(41.666667% * var(--space-y-reverse))}.xl\:space-x-5\/12>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(41.666667% * var(--space-x-reverse));margin-left:calc(41.666667% * calc(1 - var(--space-x-reverse)))}.xl\:space-y-6\/12>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(50% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(50% * var(--space-y-reverse))}.xl\:space-x-6\/12>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(50% * var(--space-x-reverse));margin-left:calc(50% * calc(1 - var(--space-x-reverse)))}.xl\:space-y-7\/12>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(58.333333% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(58.333333% * var(--space-y-reverse))}.xl\:space-x-7\/12>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(58.333333% * var(--space-x-reverse));margin-left:calc(58.333333% * calc(1 - var(--space-x-reverse)))}.xl\:space-y-8\/12>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(66.666667% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(66.666667% * var(--space-y-reverse))}.xl\:space-x-8\/12>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(66.666667% * var(--space-x-reverse));margin-left:calc(66.666667% * calc(1 - var(--space-x-reverse)))}.xl\:space-y-9\/12>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(75% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(75% * var(--space-y-reverse))}.xl\:space-x-9\/12>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(75% * var(--space-x-reverse));margin-left:calc(75% * calc(1 - var(--space-x-reverse)))}.xl\:space-y-10\/12>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(83.333333% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(83.333333% * var(--space-y-reverse))}.xl\:space-x-10\/12>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(83.333333% * var(--space-x-reverse));margin-left:calc(83.333333% * calc(1 - var(--space-x-reverse)))}.xl\:space-y-11\/12>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(91.666667% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(91.666667% * var(--space-y-reverse))}.xl\:space-x-11\/12>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(91.666667% * var(--space-x-reverse));margin-left:calc(91.666667% * calc(1 - var(--space-x-reverse)))}.xl\:space-y-full>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(100% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(100% * var(--space-y-reverse))}.xl\:space-x-full>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(100% * var(--space-x-reverse));margin-left:calc(100% * calc(1 - var(--space-x-reverse)))}.xl\:-space-y-1>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-.25rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-.25rem * var(--space-y-reverse))}.xl\:-space-x-1>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-.25rem * var(--space-x-reverse));margin-left:calc(-.25rem * calc(1 - var(--space-x-reverse)))}.xl\:-space-y-2>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-.5rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-.5rem * var(--space-y-reverse))}.xl\:-space-x-2>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-.5rem * var(--space-x-reverse));margin-left:calc(-.5rem * calc(1 - var(--space-x-reverse)))}.xl\:-space-y-3>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-.75rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-.75rem * var(--space-y-reverse))}.xl\:-space-x-3>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-.75rem * var(--space-x-reverse));margin-left:calc(-.75rem * calc(1 - var(--space-x-reverse)))}.xl\:-space-y-4>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-1rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-1rem * var(--space-y-reverse))}.xl\:-space-x-4>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-1rem * var(--space-x-reverse));margin-left:calc(-1rem * calc(1 - var(--space-x-reverse)))}.xl\:-space-y-5>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-1.25rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-1.25rem * var(--space-y-reverse))}.xl\:-space-x-5>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-1.25rem * var(--space-x-reverse));margin-left:calc(-1.25rem * calc(1 - var(--space-x-reverse)))}.xl\:-space-y-6>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-1.5rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-1.5rem * var(--space-y-reverse))}.xl\:-space-x-6>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-1.5rem * var(--space-x-reverse));margin-left:calc(-1.5rem * calc(1 - var(--space-x-reverse)))}.xl\:-space-y-7>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-1.75rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-1.75rem * var(--space-y-reverse))}.xl\:-space-x-7>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-1.75rem * var(--space-x-reverse));margin-left:calc(-1.75rem * calc(1 - var(--space-x-reverse)))}.xl\:-space-y-8>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-2rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-2rem * var(--space-y-reverse))}.xl\:-space-x-8>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-2rem * var(--space-x-reverse));margin-left:calc(-2rem * calc(1 - var(--space-x-reverse)))}.xl\:-space-y-9>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-2.25rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-2.25rem * var(--space-y-reverse))}.xl\:-space-x-9>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-2.25rem * var(--space-x-reverse));margin-left:calc(-2.25rem * calc(1 - var(--space-x-reverse)))}.xl\:-space-y-10>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-2.5rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-2.5rem * var(--space-y-reverse))}.xl\:-space-x-10>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-2.5rem * var(--space-x-reverse));margin-left:calc(-2.5rem * calc(1 - var(--space-x-reverse)))}.xl\:-space-y-11>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-2.75rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-2.75rem * var(--space-y-reverse))}.xl\:-space-x-11>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-2.75rem * var(--space-x-reverse));margin-left:calc(-2.75rem * calc(1 - var(--space-x-reverse)))}.xl\:-space-y-12>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-3rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-3rem * var(--space-y-reverse))}.xl\:-space-x-12>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-3rem * var(--space-x-reverse));margin-left:calc(-3rem * calc(1 - var(--space-x-reverse)))}.xl\:-space-y-13>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-3.25rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-3.25rem * var(--space-y-reverse))}.xl\:-space-x-13>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-3.25rem * var(--space-x-reverse));margin-left:calc(-3.25rem * calc(1 - var(--space-x-reverse)))}.xl\:-space-y-14>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-3.5rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-3.5rem * var(--space-y-reverse))}.xl\:-space-x-14>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-3.5rem * var(--space-x-reverse));margin-left:calc(-3.5rem * calc(1 - var(--space-x-reverse)))}.xl\:-space-y-15>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-3.75rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-3.75rem * var(--space-y-reverse))}.xl\:-space-x-15>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-3.75rem * var(--space-x-reverse));margin-left:calc(-3.75rem * calc(1 - var(--space-x-reverse)))}.xl\:-space-y-16>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-4rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-4rem * var(--space-y-reverse))}.xl\:-space-x-16>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-4rem * var(--space-x-reverse));margin-left:calc(-4rem * calc(1 - var(--space-x-reverse)))}.xl\:-space-y-20>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-5rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-5rem * var(--space-y-reverse))}.xl\:-space-x-20>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-5rem * var(--space-x-reverse));margin-left:calc(-5rem * calc(1 - var(--space-x-reverse)))}.xl\:-space-y-24>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-6rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-6rem * var(--space-y-reverse))}.xl\:-space-x-24>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-6rem * var(--space-x-reverse));margin-left:calc(-6rem * calc(1 - var(--space-x-reverse)))}.xl\:-space-y-28>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-7rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-7rem * var(--space-y-reverse))}.xl\:-space-x-28>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-7rem * var(--space-x-reverse));margin-left:calc(-7rem * calc(1 - var(--space-x-reverse)))}.xl\:-space-y-32>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-8rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-8rem * var(--space-y-reverse))}.xl\:-space-x-32>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-8rem * var(--space-x-reverse));margin-left:calc(-8rem * calc(1 - var(--space-x-reverse)))}.xl\:-space-y-36>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-9rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-9rem * var(--space-y-reverse))}.xl\:-space-x-36>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-9rem * var(--space-x-reverse));margin-left:calc(-9rem * calc(1 - var(--space-x-reverse)))}.xl\:-space-y-40>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-10rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-10rem * var(--space-y-reverse))}.xl\:-space-x-40>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-10rem * var(--space-x-reverse));margin-left:calc(-10rem * calc(1 - var(--space-x-reverse)))}.xl\:-space-y-44>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-11rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-11rem * var(--space-y-reverse))}.xl\:-space-x-44>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-11rem * var(--space-x-reverse));margin-left:calc(-11rem * calc(1 - var(--space-x-reverse)))}.xl\:-space-y-48>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-12rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-12rem * var(--space-y-reverse))}.xl\:-space-x-48>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-12rem * var(--space-x-reverse));margin-left:calc(-12rem * calc(1 - var(--space-x-reverse)))}.xl\:-space-y-52>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-13rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-13rem * var(--space-y-reverse))}.xl\:-space-x-52>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-13rem * var(--space-x-reverse));margin-left:calc(-13rem * calc(1 - var(--space-x-reverse)))}.xl\:-space-y-56>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-14rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-14rem * var(--space-y-reverse))}.xl\:-space-x-56>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-14rem * var(--space-x-reverse));margin-left:calc(-14rem * calc(1 - var(--space-x-reverse)))}.xl\:-space-y-60>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-15rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-15rem * var(--space-y-reverse))}.xl\:-space-x-60>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-15rem * var(--space-x-reverse));margin-left:calc(-15rem * calc(1 - var(--space-x-reverse)))}.xl\:-space-y-64>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-16rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-16rem * var(--space-y-reverse))}.xl\:-space-x-64>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-16rem * var(--space-x-reverse));margin-left:calc(-16rem * calc(1 - var(--space-x-reverse)))}.xl\:-space-y-72>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-18rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-18rem * var(--space-y-reverse))}.xl\:-space-x-72>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-18rem * var(--space-x-reverse));margin-left:calc(-18rem * calc(1 - var(--space-x-reverse)))}.xl\:-space-y-80>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-20rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-20rem * var(--space-y-reverse))}.xl\:-space-x-80>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-20rem * var(--space-x-reverse));margin-left:calc(-20rem * calc(1 - var(--space-x-reverse)))}.xl\:-space-y-96>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-24rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-24rem * var(--space-y-reverse))}.xl\:-space-x-96>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-24rem * var(--space-x-reverse));margin-left:calc(-24rem * calc(1 - var(--space-x-reverse)))}.xl\:-space-y-px>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-1px * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-1px * var(--space-y-reverse))}.xl\:-space-x-px>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-1px * var(--space-x-reverse));margin-left:calc(-1px * calc(1 - var(--space-x-reverse)))}.xl\:-space-y-0\.5>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-.125rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-.125rem * var(--space-y-reverse))}.xl\:-space-x-0\.5>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-.125rem * var(--space-x-reverse));margin-left:calc(-.125rem * calc(1 - var(--space-x-reverse)))}.xl\:-space-y-1\.5>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-.375rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-.375rem * var(--space-y-reverse))}.xl\:-space-x-1\.5>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-.375rem * var(--space-x-reverse));margin-left:calc(-.375rem * calc(1 - var(--space-x-reverse)))}.xl\:-space-y-2\.5>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-.625rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-.625rem * var(--space-y-reverse))}.xl\:-space-x-2\.5>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-.625rem * var(--space-x-reverse));margin-left:calc(-.625rem * calc(1 - var(--space-x-reverse)))}.xl\:-space-y-3\.5>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-.875rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-.875rem * var(--space-y-reverse))}.xl\:-space-x-3\.5>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-.875rem * var(--space-x-reverse));margin-left:calc(-.875rem * calc(1 - var(--space-x-reverse)))}.xl\:-space-y-1\/2>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-50% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-50% * var(--space-y-reverse))}.xl\:-space-x-1\/2>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-50% * var(--space-x-reverse));margin-left:calc(-50% * calc(1 - var(--space-x-reverse)))}.xl\:-space-y-1\/3>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-33.33333% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-33.33333% * var(--space-y-reverse))}.xl\:-space-x-1\/3>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-33.33333% * var(--space-x-reverse));margin-left:calc(-33.33333% * calc(1 - var(--space-x-reverse)))}.xl\:-space-y-2\/3>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-66.66667% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-66.66667% * var(--space-y-reverse))}.xl\:-space-x-2\/3>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-66.66667% * var(--space-x-reverse));margin-left:calc(-66.66667% * calc(1 - var(--space-x-reverse)))}.xl\:-space-y-1\/4>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-25% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-25% * var(--space-y-reverse))}.xl\:-space-x-1\/4>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-25% * var(--space-x-reverse));margin-left:calc(-25% * calc(1 - var(--space-x-reverse)))}.xl\:-space-y-2\/4>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-50% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-50% * var(--space-y-reverse))}.xl\:-space-x-2\/4>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-50% * var(--space-x-reverse));margin-left:calc(-50% * calc(1 - var(--space-x-reverse)))}.xl\:-space-y-3\/4>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-75% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-75% * var(--space-y-reverse))}.xl\:-space-x-3\/4>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-75% * var(--space-x-reverse));margin-left:calc(-75% * calc(1 - var(--space-x-reverse)))}.xl\:-space-y-1\/5>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-20% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-20% * var(--space-y-reverse))}.xl\:-space-x-1\/5>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-20% * var(--space-x-reverse));margin-left:calc(-20% * calc(1 - var(--space-x-reverse)))}.xl\:-space-y-2\/5>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-40% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-40% * var(--space-y-reverse))}.xl\:-space-x-2\/5>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-40% * var(--space-x-reverse));margin-left:calc(-40% * calc(1 - var(--space-x-reverse)))}.xl\:-space-y-3\/5>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-60% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-60% * var(--space-y-reverse))}.xl\:-space-x-3\/5>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-60% * var(--space-x-reverse));margin-left:calc(-60% * calc(1 - var(--space-x-reverse)))}.xl\:-space-y-4\/5>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-80% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-80% * var(--space-y-reverse))}.xl\:-space-x-4\/5>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-80% * var(--space-x-reverse));margin-left:calc(-80% * calc(1 - var(--space-x-reverse)))}.xl\:-space-y-1\/6>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-16.66667% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-16.66667% * var(--space-y-reverse))}.xl\:-space-x-1\/6>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-16.66667% * var(--space-x-reverse));margin-left:calc(-16.66667% * calc(1 - var(--space-x-reverse)))}.xl\:-space-y-2\/6>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-33.33333% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-33.33333% * var(--space-y-reverse))}.xl\:-space-x-2\/6>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-33.33333% * var(--space-x-reverse));margin-left:calc(-33.33333% * calc(1 - var(--space-x-reverse)))}.xl\:-space-y-3\/6>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-50% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-50% * var(--space-y-reverse))}.xl\:-space-x-3\/6>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-50% * var(--space-x-reverse));margin-left:calc(-50% * calc(1 - var(--space-x-reverse)))}.xl\:-space-y-4\/6>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-66.66667% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-66.66667% * var(--space-y-reverse))}.xl\:-space-x-4\/6>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-66.66667% * var(--space-x-reverse));margin-left:calc(-66.66667% * calc(1 - var(--space-x-reverse)))}.xl\:-space-y-5\/6>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-83.33333% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-83.33333% * var(--space-y-reverse))}.xl\:-space-x-5\/6>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-83.33333% * var(--space-x-reverse));margin-left:calc(-83.33333% * calc(1 - var(--space-x-reverse)))}.xl\:-space-y-1\/12>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-8.33333% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-8.33333% * var(--space-y-reverse))}.xl\:-space-x-1\/12>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-8.33333% * var(--space-x-reverse));margin-left:calc(-8.33333% * calc(1 - var(--space-x-reverse)))}.xl\:-space-y-2\/12>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-16.66667% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-16.66667% * var(--space-y-reverse))}.xl\:-space-x-2\/12>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-16.66667% * var(--space-x-reverse));margin-left:calc(-16.66667% * calc(1 - var(--space-x-reverse)))}.xl\:-space-y-3\/12>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-25% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-25% * var(--space-y-reverse))}.xl\:-space-x-3\/12>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-25% * var(--space-x-reverse));margin-left:calc(-25% * calc(1 - var(--space-x-reverse)))}.xl\:-space-y-4\/12>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-33.33333% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-33.33333% * var(--space-y-reverse))}.xl\:-space-x-4\/12>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-33.33333% * var(--space-x-reverse));margin-left:calc(-33.33333% * calc(1 - var(--space-x-reverse)))}.xl\:-space-y-5\/12>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-41.66667% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-41.66667% * var(--space-y-reverse))}.xl\:-space-x-5\/12>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-41.66667% * var(--space-x-reverse));margin-left:calc(-41.66667% * calc(1 - var(--space-x-reverse)))}.xl\:-space-y-6\/12>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-50% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-50% * var(--space-y-reverse))}.xl\:-space-x-6\/12>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-50% * var(--space-x-reverse));margin-left:calc(-50% * calc(1 - var(--space-x-reverse)))}.xl\:-space-y-7\/12>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-58.33333% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-58.33333% * var(--space-y-reverse))}.xl\:-space-x-7\/12>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-58.33333% * var(--space-x-reverse));margin-left:calc(-58.33333% * calc(1 - var(--space-x-reverse)))}.xl\:-space-y-8\/12>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-66.66667% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-66.66667% * var(--space-y-reverse))}.xl\:-space-x-8\/12>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-66.66667% * var(--space-x-reverse));margin-left:calc(-66.66667% * calc(1 - var(--space-x-reverse)))}.xl\:-space-y-9\/12>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-75% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-75% * var(--space-y-reverse))}.xl\:-space-x-9\/12>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-75% * var(--space-x-reverse));margin-left:calc(-75% * calc(1 - var(--space-x-reverse)))}.xl\:-space-y-10\/12>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-83.33333% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-83.33333% * var(--space-y-reverse))}.xl\:-space-x-10\/12>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-83.33333% * var(--space-x-reverse));margin-left:calc(-83.33333% * calc(1 - var(--space-x-reverse)))}.xl\:-space-y-11\/12>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-91.66667% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-91.66667% * var(--space-y-reverse))}.xl\:-space-x-11\/12>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-91.66667% * var(--space-x-reverse));margin-left:calc(-91.66667% * calc(1 - var(--space-x-reverse)))}.xl\:-space-y-full>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-100% * calc(1 - var(--space-y-reverse)));margin-bottom:calc(-100% * var(--space-y-reverse))}.xl\:-space-x-full>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-100% * var(--space-x-reverse));margin-left:calc(-100% * calc(1 - var(--space-x-reverse)))}.xl\:space-y-reverse>:not(template)~:not(template){--space-y-reverse:1}.xl\:space-x-reverse>:not(template)~:not(template){--space-x-reverse:1}.xl\:divide-y-0>:not(template)~:not(template){--divide-y-reverse:0;border-top-width:calc(0px * calc(1 - var(--divide-y-reverse)));border-bottom-width:calc(0px * var(--divide-y-reverse))}.xl\:divide-x-0>:not(template)~:not(template){--divide-x-reverse:0;border-right-width:calc(0px * var(--divide-x-reverse));border-left-width:calc(0px * calc(1 - var(--divide-x-reverse)))}.xl\:divide-y-2>:not(template)~:not(template){--divide-y-reverse:0;border-top-width:calc(2px * calc(1 - var(--divide-y-reverse)));border-bottom-width:calc(2px * var(--divide-y-reverse))}.xl\:divide-x-2>:not(template)~:not(template){--divide-x-reverse:0;border-right-width:calc(2px * var(--divide-x-reverse));border-left-width:calc(2px * calc(1 - var(--divide-x-reverse)))}.xl\:divide-y-4>:not(template)~:not(template){--divide-y-reverse:0;border-top-width:calc(4px * calc(1 - var(--divide-y-reverse)));border-bottom-width:calc(4px * var(--divide-y-reverse))}.xl\:divide-x-4>:not(template)~:not(template){--divide-x-reverse:0;border-right-width:calc(4px * var(--divide-x-reverse));border-left-width:calc(4px * calc(1 - var(--divide-x-reverse)))}.xl\:divide-y-8>:not(template)~:not(template){--divide-y-reverse:0;border-top-width:calc(8px * calc(1 - var(--divide-y-reverse)));border-bottom-width:calc(8px * var(--divide-y-reverse))}.xl\:divide-x-8>:not(template)~:not(template){--divide-x-reverse:0;border-right-width:calc(8px * var(--divide-x-reverse));border-left-width:calc(8px * calc(1 - var(--divide-x-reverse)))}.xl\:divide-y>:not(template)~:not(template){--divide-y-reverse:0;border-top-width:calc(1px * calc(1 - var(--divide-y-reverse)));border-bottom-width:calc(1px * var(--divide-y-reverse))}.xl\:divide-x>:not(template)~:not(template){--divide-x-reverse:0;border-right-width:calc(1px * var(--divide-x-reverse));border-left-width:calc(1px * calc(1 - var(--divide-x-reverse)))}.xl\:divide-y-reverse>:not(template)~:not(template){--divide-y-reverse:1}.xl\:divide-x-reverse>:not(template)~:not(template){--divide-x-reverse:1}.xl\:divide-transparent>:not(template)~:not(template){border-color:transparent}.xl\:divide-white>:not(template)~:not(template){--divide-opacity:1;border-color:#fff;border-color:rgba(255,255,255,var(--divide-opacity))}.xl\:divide-black>:not(template)~:not(template){--divide-opacity:1;border-color:#000;border-color:rgba(0,0,0,var(--divide-opacity))}.xl\:divide-gray-50>:not(template)~:not(template){--divide-opacity:1;border-color:#f9fafb;border-color:rgba(249,250,251,var(--divide-opacity))}.xl\:divide-gray-100>:not(template)~:not(template){--divide-opacity:1;border-color:#f4f5f7;border-color:rgba(244,245,247,var(--divide-opacity))}.xl\:divide-gray-200>:not(template)~:not(template){--divide-opacity:1;border-color:#e5e7eb;border-color:rgba(229,231,235,var(--divide-opacity))}.xl\:divide-gray-300>:not(template)~:not(template){--divide-opacity:1;border-color:#d2d6dc;border-color:rgba(210,214,220,var(--divide-opacity))}.xl\:divide-gray-400>:not(template)~:not(template){--divide-opacity:1;border-color:#9fa6b2;border-color:rgba(159,166,178,var(--divide-opacity))}.xl\:divide-gray-500>:not(template)~:not(template){--divide-opacity:1;border-color:#6b7280;border-color:rgba(107,114,128,var(--divide-opacity))}.xl\:divide-gray-600>:not(template)~:not(template){--divide-opacity:1;border-color:#4b5563;border-color:rgba(75,85,99,var(--divide-opacity))}.xl\:divide-gray-700>:not(template)~:not(template){--divide-opacity:1;border-color:#374151;border-color:rgba(55,65,81,var(--divide-opacity))}.xl\:divide-gray-800>:not(template)~:not(template){--divide-opacity:1;border-color:#252f3f;border-color:rgba(37,47,63,var(--divide-opacity))}.xl\:divide-gray-900>:not(template)~:not(template){--divide-opacity:1;border-color:#161e2e;border-color:rgba(22,30,46,var(--divide-opacity))}.xl\:divide-cool-gray-50>:not(template)~:not(template){--divide-opacity:1;border-color:#f8fafc;border-color:rgba(248,250,252,var(--divide-opacity))}.xl\:divide-cool-gray-100>:not(template)~:not(template){--divide-opacity:1;border-color:#f1f5f9;border-color:rgba(241,245,249,var(--divide-opacity))}.xl\:divide-cool-gray-200>:not(template)~:not(template){--divide-opacity:1;border-color:#e2e8f0;border-color:rgba(226,232,240,var(--divide-opacity))}.xl\:divide-cool-gray-300>:not(template)~:not(template){--divide-opacity:1;border-color:#cfd8e3;border-color:rgba(207,216,227,var(--divide-opacity))}.xl\:divide-cool-gray-400>:not(template)~:not(template){--divide-opacity:1;border-color:#97a6ba;border-color:rgba(151,166,186,var(--divide-opacity))}.xl\:divide-cool-gray-500>:not(template)~:not(template){--divide-opacity:1;border-color:#64748b;border-color:rgba(100,116,139,var(--divide-opacity))}.xl\:divide-cool-gray-600>:not(template)~:not(template){--divide-opacity:1;border-color:#475569;border-color:rgba(71,85,105,var(--divide-opacity))}.xl\:divide-cool-gray-700>:not(template)~:not(template){--divide-opacity:1;border-color:#364152;border-color:rgba(54,65,82,var(--divide-opacity))}.xl\:divide-cool-gray-800>:not(template)~:not(template){--divide-opacity:1;border-color:#27303f;border-color:rgba(39,48,63,var(--divide-opacity))}.xl\:divide-cool-gray-900>:not(template)~:not(template){--divide-opacity:1;border-color:#1a202e;border-color:rgba(26,32,46,var(--divide-opacity))}.xl\:divide-red-50>:not(template)~:not(template){--divide-opacity:1;border-color:#fdf2f2;border-color:rgba(253,242,242,var(--divide-opacity))}.xl\:divide-red-100>:not(template)~:not(template){--divide-opacity:1;border-color:#fde8e8;border-color:rgba(253,232,232,var(--divide-opacity))}.xl\:divide-red-200>:not(template)~:not(template){--divide-opacity:1;border-color:#fbd5d5;border-color:rgba(251,213,213,var(--divide-opacity))}.xl\:divide-red-300>:not(template)~:not(template){--divide-opacity:1;border-color:#f8b4b4;border-color:rgba(248,180,180,var(--divide-opacity))}.xl\:divide-red-400>:not(template)~:not(template){--divide-opacity:1;border-color:#f98080;border-color:rgba(249,128,128,var(--divide-opacity))}.xl\:divide-red-500>:not(template)~:not(template){--divide-opacity:1;border-color:#f05252;border-color:rgba(240,82,82,var(--divide-opacity))}.xl\:divide-red-600>:not(template)~:not(template){--divide-opacity:1;border-color:#e02424;border-color:rgba(224,36,36,var(--divide-opacity))}.xl\:divide-red-700>:not(template)~:not(template){--divide-opacity:1;border-color:#c81e1e;border-color:rgba(200,30,30,var(--divide-opacity))}.xl\:divide-red-800>:not(template)~:not(template){--divide-opacity:1;border-color:#9b1c1c;border-color:rgba(155,28,28,var(--divide-opacity))}.xl\:divide-red-900>:not(template)~:not(template){--divide-opacity:1;border-color:#771d1d;border-color:rgba(119,29,29,var(--divide-opacity))}.xl\:divide-orange-50>:not(template)~:not(template){--divide-opacity:1;border-color:#fff8f1;border-color:rgba(255,248,241,var(--divide-opacity))}.xl\:divide-orange-100>:not(template)~:not(template){--divide-opacity:1;border-color:#feecdc;border-color:rgba(254,236,220,var(--divide-opacity))}.xl\:divide-orange-200>:not(template)~:not(template){--divide-opacity:1;border-color:#fcd9bd;border-color:rgba(252,217,189,var(--divide-opacity))}.xl\:divide-orange-300>:not(template)~:not(template){--divide-opacity:1;border-color:#fdba8c;border-color:rgba(253,186,140,var(--divide-opacity))}.xl\:divide-orange-400>:not(template)~:not(template){--divide-opacity:1;border-color:#ff8a4c;border-color:rgba(255,138,76,var(--divide-opacity))}.xl\:divide-orange-500>:not(template)~:not(template){--divide-opacity:1;border-color:#ff5a1f;border-color:rgba(255,90,31,var(--divide-opacity))}.xl\:divide-orange-600>:not(template)~:not(template){--divide-opacity:1;border-color:#d03801;border-color:rgba(208,56,1,var(--divide-opacity))}.xl\:divide-orange-700>:not(template)~:not(template){--divide-opacity:1;border-color:#b43403;border-color:rgba(180,52,3,var(--divide-opacity))}.xl\:divide-orange-800>:not(template)~:not(template){--divide-opacity:1;border-color:#8a2c0d;border-color:rgba(138,44,13,var(--divide-opacity))}.xl\:divide-orange-900>:not(template)~:not(template){--divide-opacity:1;border-color:#73230d;border-color:rgba(115,35,13,var(--divide-opacity))}.xl\:divide-yellow-50>:not(template)~:not(template){--divide-opacity:1;border-color:#fdfdea;border-color:rgba(253,253,234,var(--divide-opacity))}.xl\:divide-yellow-100>:not(template)~:not(template){--divide-opacity:1;border-color:#fdf6b2;border-color:rgba(253,246,178,var(--divide-opacity))}.xl\:divide-yellow-200>:not(template)~:not(template){--divide-opacity:1;border-color:#fce96a;border-color:rgba(252,233,106,var(--divide-opacity))}.xl\:divide-yellow-300>:not(template)~:not(template){--divide-opacity:1;border-color:#faca15;border-color:rgba(250,202,21,var(--divide-opacity))}.xl\:divide-yellow-400>:not(template)~:not(template){--divide-opacity:1;border-color:#e3a008;border-color:rgba(227,160,8,var(--divide-opacity))}.xl\:divide-yellow-500>:not(template)~:not(template){--divide-opacity:1;border-color:#c27803;border-color:rgba(194,120,3,var(--divide-opacity))}.xl\:divide-yellow-600>:not(template)~:not(template){--divide-opacity:1;border-color:#9f580a;border-color:rgba(159,88,10,var(--divide-opacity))}.xl\:divide-yellow-700>:not(template)~:not(template){--divide-opacity:1;border-color:#8e4b10;border-color:rgba(142,75,16,var(--divide-opacity))}.xl\:divide-yellow-800>:not(template)~:not(template){--divide-opacity:1;border-color:#723b13;border-color:rgba(114,59,19,var(--divide-opacity))}.xl\:divide-yellow-900>:not(template)~:not(template){--divide-opacity:1;border-color:#633112;border-color:rgba(99,49,18,var(--divide-opacity))}.xl\:divide-green-50>:not(template)~:not(template){--divide-opacity:1;border-color:#f3faf7;border-color:rgba(243,250,247,var(--divide-opacity))}.xl\:divide-green-100>:not(template)~:not(template){--divide-opacity:1;border-color:#def7ec;border-color:rgba(222,247,236,var(--divide-opacity))}.xl\:divide-green-200>:not(template)~:not(template){--divide-opacity:1;border-color:#bcf0da;border-color:rgba(188,240,218,var(--divide-opacity))}.xl\:divide-green-300>:not(template)~:not(template){--divide-opacity:1;border-color:#84e1bc;border-color:rgba(132,225,188,var(--divide-opacity))}.xl\:divide-green-400>:not(template)~:not(template){--divide-opacity:1;border-color:#31c48d;border-color:rgba(49,196,141,var(--divide-opacity))}.xl\:divide-green-500>:not(template)~:not(template){--divide-opacity:1;border-color:#0e9f6e;border-color:rgba(14,159,110,var(--divide-opacity))}.xl\:divide-green-600>:not(template)~:not(template){--divide-opacity:1;border-color:#057a55;border-color:rgba(5,122,85,var(--divide-opacity))}.xl\:divide-green-700>:not(template)~:not(template){--divide-opacity:1;border-color:#046c4e;border-color:rgba(4,108,78,var(--divide-opacity))}.xl\:divide-green-800>:not(template)~:not(template){--divide-opacity:1;border-color:#03543f;border-color:rgba(3,84,63,var(--divide-opacity))}.xl\:divide-green-900>:not(template)~:not(template){--divide-opacity:1;border-color:#014737;border-color:rgba(1,71,55,var(--divide-opacity))}.xl\:divide-teal-50>:not(template)~:not(template){--divide-opacity:1;border-color:#edfafa;border-color:rgba(237,250,250,var(--divide-opacity))}.xl\:divide-teal-100>:not(template)~:not(template){--divide-opacity:1;border-color:#d5f5f6;border-color:rgba(213,245,246,var(--divide-opacity))}.xl\:divide-teal-200>:not(template)~:not(template){--divide-opacity:1;border-color:#afecef;border-color:rgba(175,236,239,var(--divide-opacity))}.xl\:divide-teal-300>:not(template)~:not(template){--divide-opacity:1;border-color:#7edce2;border-color:rgba(126,220,226,var(--divide-opacity))}.xl\:divide-teal-400>:not(template)~:not(template){--divide-opacity:1;border-color:#16bdca;border-color:rgba(22,189,202,var(--divide-opacity))}.xl\:divide-teal-500>:not(template)~:not(template){--divide-opacity:1;border-color:#0694a2;border-color:rgba(6,148,162,var(--divide-opacity))}.xl\:divide-teal-600>:not(template)~:not(template){--divide-opacity:1;border-color:#047481;border-color:rgba(4,116,129,var(--divide-opacity))}.xl\:divide-teal-700>:not(template)~:not(template){--divide-opacity:1;border-color:#036672;border-color:rgba(3,102,114,var(--divide-opacity))}.xl\:divide-teal-800>:not(template)~:not(template){--divide-opacity:1;border-color:#05505c;border-color:rgba(5,80,92,var(--divide-opacity))}.xl\:divide-teal-900>:not(template)~:not(template){--divide-opacity:1;border-color:#014451;border-color:rgba(1,68,81,var(--divide-opacity))}.xl\:divide-blue-50>:not(template)~:not(template){--divide-opacity:1;border-color:#ebf5ff;border-color:rgba(235,245,255,var(--divide-opacity))}.xl\:divide-blue-100>:not(template)~:not(template){--divide-opacity:1;border-color:#e1effe;border-color:rgba(225,239,254,var(--divide-opacity))}.xl\:divide-blue-200>:not(template)~:not(template){--divide-opacity:1;border-color:#c3ddfd;border-color:rgba(195,221,253,var(--divide-opacity))}.xl\:divide-blue-300>:not(template)~:not(template){--divide-opacity:1;border-color:#a4cafe;border-color:rgba(164,202,254,var(--divide-opacity))}.xl\:divide-blue-400>:not(template)~:not(template){--divide-opacity:1;border-color:#76a9fa;border-color:rgba(118,169,250,var(--divide-opacity))}.xl\:divide-blue-500>:not(template)~:not(template){--divide-opacity:1;border-color:#3f83f8;border-color:rgba(63,131,248,var(--divide-opacity))}.xl\:divide-blue-600>:not(template)~:not(template){--divide-opacity:1;border-color:#1c64f2;border-color:rgba(28,100,242,var(--divide-opacity))}.xl\:divide-blue-700>:not(template)~:not(template){--divide-opacity:1;border-color:#1a56db;border-color:rgba(26,86,219,var(--divide-opacity))}.xl\:divide-blue-800>:not(template)~:not(template){--divide-opacity:1;border-color:#1e429f;border-color:rgba(30,66,159,var(--divide-opacity))}.xl\:divide-blue-900>:not(template)~:not(template){--divide-opacity:1;border-color:#233876;border-color:rgba(35,56,118,var(--divide-opacity))}.xl\:divide-indigo-50>:not(template)~:not(template){--divide-opacity:1;border-color:#f0f5ff;border-color:rgba(240,245,255,var(--divide-opacity))}.xl\:divide-indigo-100>:not(template)~:not(template){--divide-opacity:1;border-color:#e5edff;border-color:rgba(229,237,255,var(--divide-opacity))}.xl\:divide-indigo-200>:not(template)~:not(template){--divide-opacity:1;border-color:#cddbfe;border-color:rgba(205,219,254,var(--divide-opacity))}.xl\:divide-indigo-300>:not(template)~:not(template){--divide-opacity:1;border-color:#b4c6fc;border-color:rgba(180,198,252,var(--divide-opacity))}.xl\:divide-indigo-400>:not(template)~:not(template){--divide-opacity:1;border-color:#8da2fb;border-color:rgba(141,162,251,var(--divide-opacity))}.xl\:divide-indigo-500>:not(template)~:not(template){--divide-opacity:1;border-color:#6875f5;border-color:rgba(104,117,245,var(--divide-opacity))}.xl\:divide-indigo-600>:not(template)~:not(template){--divide-opacity:1;border-color:#5850ec;border-color:rgba(88,80,236,var(--divide-opacity))}.xl\:divide-indigo-700>:not(template)~:not(template){--divide-opacity:1;border-color:#5145cd;border-color:rgba(81,69,205,var(--divide-opacity))}.xl\:divide-indigo-800>:not(template)~:not(template){--divide-opacity:1;border-color:#42389d;border-color:rgba(66,56,157,var(--divide-opacity))}.xl\:divide-indigo-900>:not(template)~:not(template){--divide-opacity:1;border-color:#362f78;border-color:rgba(54,47,120,var(--divide-opacity))}.xl\:divide-purple-50>:not(template)~:not(template){--divide-opacity:1;border-color:#f6f5ff;border-color:rgba(246,245,255,var(--divide-opacity))}.xl\:divide-purple-100>:not(template)~:not(template){--divide-opacity:1;border-color:#edebfe;border-color:rgba(237,235,254,var(--divide-opacity))}.xl\:divide-purple-200>:not(template)~:not(template){--divide-opacity:1;border-color:#dcd7fe;border-color:rgba(220,215,254,var(--divide-opacity))}.xl\:divide-purple-300>:not(template)~:not(template){--divide-opacity:1;border-color:#cabffd;border-color:rgba(202,191,253,var(--divide-opacity))}.xl\:divide-purple-400>:not(template)~:not(template){--divide-opacity:1;border-color:#ac94fa;border-color:rgba(172,148,250,var(--divide-opacity))}.xl\:divide-purple-500>:not(template)~:not(template){--divide-opacity:1;border-color:#9061f9;border-color:rgba(144,97,249,var(--divide-opacity))}.xl\:divide-purple-600>:not(template)~:not(template){--divide-opacity:1;border-color:#7e3af2;border-color:rgba(126,58,242,var(--divide-opacity))}.xl\:divide-purple-700>:not(template)~:not(template){--divide-opacity:1;border-color:#6c2bd9;border-color:rgba(108,43,217,var(--divide-opacity))}.xl\:divide-purple-800>:not(template)~:not(template){--divide-opacity:1;border-color:#5521b5;border-color:rgba(85,33,181,var(--divide-opacity))}.xl\:divide-purple-900>:not(template)~:not(template){--divide-opacity:1;border-color:#4a1d96;border-color:rgba(74,29,150,var(--divide-opacity))}.xl\:divide-pink-50>:not(template)~:not(template){--divide-opacity:1;border-color:#fdf2f8;border-color:rgba(253,242,248,var(--divide-opacity))}.xl\:divide-pink-100>:not(template)~:not(template){--divide-opacity:1;border-color:#fce8f3;border-color:rgba(252,232,243,var(--divide-opacity))}.xl\:divide-pink-200>:not(template)~:not(template){--divide-opacity:1;border-color:#fad1e8;border-color:rgba(250,209,232,var(--divide-opacity))}.xl\:divide-pink-300>:not(template)~:not(template){--divide-opacity:1;border-color:#f8b4d9;border-color:rgba(248,180,217,var(--divide-opacity))}.xl\:divide-pink-400>:not(template)~:not(template){--divide-opacity:1;border-color:#f17eb8;border-color:rgba(241,126,184,var(--divide-opacity))}.xl\:divide-pink-500>:not(template)~:not(template){--divide-opacity:1;border-color:#e74694;border-color:rgba(231,70,148,var(--divide-opacity))}.xl\:divide-pink-600>:not(template)~:not(template){--divide-opacity:1;border-color:#d61f69;border-color:rgba(214,31,105,var(--divide-opacity))}.xl\:divide-pink-700>:not(template)~:not(template){--divide-opacity:1;border-color:#bf125d;border-color:rgba(191,18,93,var(--divide-opacity))}.xl\:divide-pink-800>:not(template)~:not(template){--divide-opacity:1;border-color:#99154b;border-color:rgba(153,21,75,var(--divide-opacity))}.xl\:divide-pink-900>:not(template)~:not(template){--divide-opacity:1;border-color:#751a3d;border-color:rgba(117,26,61,var(--divide-opacity))}.xl\:divide-opacity-0>:not(template)~:not(template){--divide-opacity:0}.xl\:divide-opacity-25>:not(template)~:not(template){--divide-opacity:0.25}.xl\:divide-opacity-50>:not(template)~:not(template){--divide-opacity:0.5}.xl\:divide-opacity-75>:not(template)~:not(template){--divide-opacity:0.75}.xl\:divide-opacity-100>:not(template)~:not(template){--divide-opacity:1}.xl\:sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.xl\:not-sr-only{position:static;width:auto;height:auto;padding:0;margin:0;overflow:visible;clip:auto;white-space:normal}.xl\:focus\:sr-only:focus{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.xl\:focus\:not-sr-only:focus{position:static;width:auto;height:auto;padding:0;margin:0;overflow:visible;clip:auto;white-space:normal}.xl\:appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.xl\:bg-fixed{background-attachment:fixed}.xl\:bg-local{background-attachment:local}.xl\:bg-scroll{background-attachment:scroll}.xl\:bg-transparent{background-color:transparent}.xl\:bg-white{--bg-opacity:1;background-color:#fff;background-color:rgba(255,255,255,var(--bg-opacity))}.xl\:bg-black{--bg-opacity:1;background-color:#000;background-color:rgba(0,0,0,var(--bg-opacity))}.xl\:bg-gray-50{--bg-opacity:1;background-color:#f9fafb;background-color:rgba(249,250,251,var(--bg-opacity))}.xl\:bg-gray-100{--bg-opacity:1;background-color:#f4f5f7;background-color:rgba(244,245,247,var(--bg-opacity))}.xl\:bg-gray-200{--bg-opacity:1;background-color:#e5e7eb;background-color:rgba(229,231,235,var(--bg-opacity))}.xl\:bg-gray-300{--bg-opacity:1;background-color:#d2d6dc;background-color:rgba(210,214,220,var(--bg-opacity))}.xl\:bg-gray-400{--bg-opacity:1;background-color:#9fa6b2;background-color:rgba(159,166,178,var(--bg-opacity))}.xl\:bg-gray-500{--bg-opacity:1;background-color:#6b7280;background-color:rgba(107,114,128,var(--bg-opacity))}.xl\:bg-gray-600{--bg-opacity:1;background-color:#4b5563;background-color:rgba(75,85,99,var(--bg-opacity))}.xl\:bg-gray-700{--bg-opacity:1;background-color:#374151;background-color:rgba(55,65,81,var(--bg-opacity))}.xl\:bg-gray-800{--bg-opacity:1;background-color:#252f3f;background-color:rgba(37,47,63,var(--bg-opacity))}.xl\:bg-gray-900{--bg-opacity:1;background-color:#161e2e;background-color:rgba(22,30,46,var(--bg-opacity))}.xl\:bg-cool-gray-50{--bg-opacity:1;background-color:#f8fafc;background-color:rgba(248,250,252,var(--bg-opacity))}.xl\:bg-cool-gray-100{--bg-opacity:1;background-color:#f1f5f9;background-color:rgba(241,245,249,var(--bg-opacity))}.xl\:bg-cool-gray-200{--bg-opacity:1;background-color:#e2e8f0;background-color:rgba(226,232,240,var(--bg-opacity))}.xl\:bg-cool-gray-300{--bg-opacity:1;background-color:#cfd8e3;background-color:rgba(207,216,227,var(--bg-opacity))}.xl\:bg-cool-gray-400{--bg-opacity:1;background-color:#97a6ba;background-color:rgba(151,166,186,var(--bg-opacity))}.xl\:bg-cool-gray-500{--bg-opacity:1;background-color:#64748b;background-color:rgba(100,116,139,var(--bg-opacity))}.xl\:bg-cool-gray-600{--bg-opacity:1;background-color:#475569;background-color:rgba(71,85,105,var(--bg-opacity))}.xl\:bg-cool-gray-700{--bg-opacity:1;background-color:#364152;background-color:rgba(54,65,82,var(--bg-opacity))}.xl\:bg-cool-gray-800{--bg-opacity:1;background-color:#27303f;background-color:rgba(39,48,63,var(--bg-opacity))}.xl\:bg-cool-gray-900{--bg-opacity:1;background-color:#1a202e;background-color:rgba(26,32,46,var(--bg-opacity))}.xl\:bg-red-50{--bg-opacity:1;background-color:#fdf2f2;background-color:rgba(253,242,242,var(--bg-opacity))}.xl\:bg-red-100{--bg-opacity:1;background-color:#fde8e8;background-color:rgba(253,232,232,var(--bg-opacity))}.xl\:bg-red-200{--bg-opacity:1;background-color:#fbd5d5;background-color:rgba(251,213,213,var(--bg-opacity))}.xl\:bg-red-300{--bg-opacity:1;background-color:#f8b4b4;background-color:rgba(248,180,180,var(--bg-opacity))}.xl\:bg-red-400{--bg-opacity:1;background-color:#f98080;background-color:rgba(249,128,128,var(--bg-opacity))}.xl\:bg-red-500{--bg-opacity:1;background-color:#f05252;background-color:rgba(240,82,82,var(--bg-opacity))}.xl\:bg-red-600{--bg-opacity:1;background-color:#e02424;background-color:rgba(224,36,36,var(--bg-opacity))}.xl\:bg-red-700{--bg-opacity:1;background-color:#c81e1e;background-color:rgba(200,30,30,var(--bg-opacity))}.xl\:bg-red-800{--bg-opacity:1;background-color:#9b1c1c;background-color:rgba(155,28,28,var(--bg-opacity))}.xl\:bg-red-900{--bg-opacity:1;background-color:#771d1d;background-color:rgba(119,29,29,var(--bg-opacity))}.xl\:bg-orange-50{--bg-opacity:1;background-color:#fff8f1;background-color:rgba(255,248,241,var(--bg-opacity))}.xl\:bg-orange-100{--bg-opacity:1;background-color:#feecdc;background-color:rgba(254,236,220,var(--bg-opacity))}.xl\:bg-orange-200{--bg-opacity:1;background-color:#fcd9bd;background-color:rgba(252,217,189,var(--bg-opacity))}.xl\:bg-orange-300{--bg-opacity:1;background-color:#fdba8c;background-color:rgba(253,186,140,var(--bg-opacity))}.xl\:bg-orange-400{--bg-opacity:1;background-color:#ff8a4c;background-color:rgba(255,138,76,var(--bg-opacity))}.xl\:bg-orange-500{--bg-opacity:1;background-color:#ff5a1f;background-color:rgba(255,90,31,var(--bg-opacity))}.xl\:bg-orange-600{--bg-opacity:1;background-color:#d03801;background-color:rgba(208,56,1,var(--bg-opacity))}.xl\:bg-orange-700{--bg-opacity:1;background-color:#b43403;background-color:rgba(180,52,3,var(--bg-opacity))}.xl\:bg-orange-800{--bg-opacity:1;background-color:#8a2c0d;background-color:rgba(138,44,13,var(--bg-opacity))}.xl\:bg-orange-900{--bg-opacity:1;background-color:#73230d;background-color:rgba(115,35,13,var(--bg-opacity))}.xl\:bg-yellow-50{--bg-opacity:1;background-color:#fdfdea;background-color:rgba(253,253,234,var(--bg-opacity))}.xl\:bg-yellow-100{--bg-opacity:1;background-color:#fdf6b2;background-color:rgba(253,246,178,var(--bg-opacity))}.xl\:bg-yellow-200{--bg-opacity:1;background-color:#fce96a;background-color:rgba(252,233,106,var(--bg-opacity))}.xl\:bg-yellow-300{--bg-opacity:1;background-color:#faca15;background-color:rgba(250,202,21,var(--bg-opacity))}.xl\:bg-yellow-400{--bg-opacity:1;background-color:#e3a008;background-color:rgba(227,160,8,var(--bg-opacity))}.xl\:bg-yellow-500{--bg-opacity:1;background-color:#c27803;background-color:rgba(194,120,3,var(--bg-opacity))}.xl\:bg-yellow-600{--bg-opacity:1;background-color:#9f580a;background-color:rgba(159,88,10,var(--bg-opacity))}.xl\:bg-yellow-700{--bg-opacity:1;background-color:#8e4b10;background-color:rgba(142,75,16,var(--bg-opacity))}.xl\:bg-yellow-800{--bg-opacity:1;background-color:#723b13;background-color:rgba(114,59,19,var(--bg-opacity))}.xl\:bg-yellow-900{--bg-opacity:1;background-color:#633112;background-color:rgba(99,49,18,var(--bg-opacity))}.xl\:bg-green-50{--bg-opacity:1;background-color:#f3faf7;background-color:rgba(243,250,247,var(--bg-opacity))}.xl\:bg-green-100{--bg-opacity:1;background-color:#def7ec;background-color:rgba(222,247,236,var(--bg-opacity))}.xl\:bg-green-200{--bg-opacity:1;background-color:#bcf0da;background-color:rgba(188,240,218,var(--bg-opacity))}.xl\:bg-green-300{--bg-opacity:1;background-color:#84e1bc;background-color:rgba(132,225,188,var(--bg-opacity))}.xl\:bg-green-400{--bg-opacity:1;background-color:#31c48d;background-color:rgba(49,196,141,var(--bg-opacity))}.xl\:bg-green-500{--bg-opacity:1;background-color:#0e9f6e;background-color:rgba(14,159,110,var(--bg-opacity))}.xl\:bg-green-600{--bg-opacity:1;background-color:#057a55;background-color:rgba(5,122,85,var(--bg-opacity))}.xl\:bg-green-700{--bg-opacity:1;background-color:#046c4e;background-color:rgba(4,108,78,var(--bg-opacity))}.xl\:bg-green-800{--bg-opacity:1;background-color:#03543f;background-color:rgba(3,84,63,var(--bg-opacity))}.xl\:bg-green-900{--bg-opacity:1;background-color:#014737;background-color:rgba(1,71,55,var(--bg-opacity))}.xl\:bg-teal-50{--bg-opacity:1;background-color:#edfafa;background-color:rgba(237,250,250,var(--bg-opacity))}.xl\:bg-teal-100{--bg-opacity:1;background-color:#d5f5f6;background-color:rgba(213,245,246,var(--bg-opacity))}.xl\:bg-teal-200{--bg-opacity:1;background-color:#afecef;background-color:rgba(175,236,239,var(--bg-opacity))}.xl\:bg-teal-300{--bg-opacity:1;background-color:#7edce2;background-color:rgba(126,220,226,var(--bg-opacity))}.xl\:bg-teal-400{--bg-opacity:1;background-color:#16bdca;background-color:rgba(22,189,202,var(--bg-opacity))}.xl\:bg-teal-500{--bg-opacity:1;background-color:#0694a2;background-color:rgba(6,148,162,var(--bg-opacity))}.xl\:bg-teal-600{--bg-opacity:1;background-color:#047481;background-color:rgba(4,116,129,var(--bg-opacity))}.xl\:bg-teal-700{--bg-opacity:1;background-color:#036672;background-color:rgba(3,102,114,var(--bg-opacity))}.xl\:bg-teal-800{--bg-opacity:1;background-color:#05505c;background-color:rgba(5,80,92,var(--bg-opacity))}.xl\:bg-teal-900{--bg-opacity:1;background-color:#014451;background-color:rgba(1,68,81,var(--bg-opacity))}.xl\:bg-blue-50{--bg-opacity:1;background-color:#ebf5ff;background-color:rgba(235,245,255,var(--bg-opacity))}.xl\:bg-blue-100{--bg-opacity:1;background-color:#e1effe;background-color:rgba(225,239,254,var(--bg-opacity))}.xl\:bg-blue-200{--bg-opacity:1;background-color:#c3ddfd;background-color:rgba(195,221,253,var(--bg-opacity))}.xl\:bg-blue-300{--bg-opacity:1;background-color:#a4cafe;background-color:rgba(164,202,254,var(--bg-opacity))}.xl\:bg-blue-400{--bg-opacity:1;background-color:#76a9fa;background-color:rgba(118,169,250,var(--bg-opacity))}.xl\:bg-blue-500{--bg-opacity:1;background-color:#3f83f8;background-color:rgba(63,131,248,var(--bg-opacity))}.xl\:bg-blue-600{--bg-opacity:1;background-color:#1c64f2;background-color:rgba(28,100,242,var(--bg-opacity))}.xl\:bg-blue-700{--bg-opacity:1;background-color:#1a56db;background-color:rgba(26,86,219,var(--bg-opacity))}.xl\:bg-blue-800{--bg-opacity:1;background-color:#1e429f;background-color:rgba(30,66,159,var(--bg-opacity))}.xl\:bg-blue-900{--bg-opacity:1;background-color:#233876;background-color:rgba(35,56,118,var(--bg-opacity))}.xl\:bg-indigo-50{--bg-opacity:1;background-color:#f0f5ff;background-color:rgba(240,245,255,var(--bg-opacity))}.xl\:bg-indigo-100{--bg-opacity:1;background-color:#e5edff;background-color:rgba(229,237,255,var(--bg-opacity))}.xl\:bg-indigo-200{--bg-opacity:1;background-color:#cddbfe;background-color:rgba(205,219,254,var(--bg-opacity))}.xl\:bg-indigo-300{--bg-opacity:1;background-color:#b4c6fc;background-color:rgba(180,198,252,var(--bg-opacity))}.xl\:bg-indigo-400{--bg-opacity:1;background-color:#8da2fb;background-color:rgba(141,162,251,var(--bg-opacity))}.xl\:bg-indigo-500{--bg-opacity:1;background-color:#6875f5;background-color:rgba(104,117,245,var(--bg-opacity))}.xl\:bg-indigo-600{--bg-opacity:1;background-color:#5850ec;background-color:rgba(88,80,236,var(--bg-opacity))}.xl\:bg-indigo-700{--bg-opacity:1;background-color:#5145cd;background-color:rgba(81,69,205,var(--bg-opacity))}.xl\:bg-indigo-800{--bg-opacity:1;background-color:#42389d;background-color:rgba(66,56,157,var(--bg-opacity))}.xl\:bg-indigo-900{--bg-opacity:1;background-color:#362f78;background-color:rgba(54,47,120,var(--bg-opacity))}.xl\:bg-purple-50{--bg-opacity:1;background-color:#f6f5ff;background-color:rgba(246,245,255,var(--bg-opacity))}.xl\:bg-purple-100{--bg-opacity:1;background-color:#edebfe;background-color:rgba(237,235,254,var(--bg-opacity))}.xl\:bg-purple-200{--bg-opacity:1;background-color:#dcd7fe;background-color:rgba(220,215,254,var(--bg-opacity))}.xl\:bg-purple-300{--bg-opacity:1;background-color:#cabffd;background-color:rgba(202,191,253,var(--bg-opacity))}.xl\:bg-purple-400{--bg-opacity:1;background-color:#ac94fa;background-color:rgba(172,148,250,var(--bg-opacity))}.xl\:bg-purple-500{--bg-opacity:1;background-color:#9061f9;background-color:rgba(144,97,249,var(--bg-opacity))}.xl\:bg-purple-600{--bg-opacity:1;background-color:#7e3af2;background-color:rgba(126,58,242,var(--bg-opacity))}.xl\:bg-purple-700{--bg-opacity:1;background-color:#6c2bd9;background-color:rgba(108,43,217,var(--bg-opacity))}.xl\:bg-purple-800{--bg-opacity:1;background-color:#5521b5;background-color:rgba(85,33,181,var(--bg-opacity))}.xl\:bg-purple-900{--bg-opacity:1;background-color:#4a1d96;background-color:rgba(74,29,150,var(--bg-opacity))}.xl\:bg-pink-50{--bg-opacity:1;background-color:#fdf2f8;background-color:rgba(253,242,248,var(--bg-opacity))}.xl\:bg-pink-100{--bg-opacity:1;background-color:#fce8f3;background-color:rgba(252,232,243,var(--bg-opacity))}.xl\:bg-pink-200{--bg-opacity:1;background-color:#fad1e8;background-color:rgba(250,209,232,var(--bg-opacity))}.xl\:bg-pink-300{--bg-opacity:1;background-color:#f8b4d9;background-color:rgba(248,180,217,var(--bg-opacity))}.xl\:bg-pink-400{--bg-opacity:1;background-color:#f17eb8;background-color:rgba(241,126,184,var(--bg-opacity))}.xl\:bg-pink-500{--bg-opacity:1;background-color:#e74694;background-color:rgba(231,70,148,var(--bg-opacity))}.xl\:bg-pink-600{--bg-opacity:1;background-color:#d61f69;background-color:rgba(214,31,105,var(--bg-opacity))}.xl\:bg-pink-700{--bg-opacity:1;background-color:#bf125d;background-color:rgba(191,18,93,var(--bg-opacity))}.xl\:bg-pink-800{--bg-opacity:1;background-color:#99154b;background-color:rgba(153,21,75,var(--bg-opacity))}.xl\:bg-pink-900{--bg-opacity:1;background-color:#751a3d;background-color:rgba(117,26,61,var(--bg-opacity))}.group:hover .xl\:group-hover\:bg-transparent{background-color:transparent}.group:hover .xl\:group-hover\:bg-white{--bg-opacity:1;background-color:#fff;background-color:rgba(255,255,255,var(--bg-opacity))}.group:hover .xl\:group-hover\:bg-black{--bg-opacity:1;background-color:#000;background-color:rgba(0,0,0,var(--bg-opacity))}.group:hover .xl\:group-hover\:bg-gray-50{--bg-opacity:1;background-color:#f9fafb;background-color:rgba(249,250,251,var(--bg-opacity))}.group:hover .xl\:group-hover\:bg-gray-100{--bg-opacity:1;background-color:#f4f5f7;background-color:rgba(244,245,247,var(--bg-opacity))}.group:hover .xl\:group-hover\:bg-gray-200{--bg-opacity:1;background-color:#e5e7eb;background-color:rgba(229,231,235,var(--bg-opacity))}.group:hover .xl\:group-hover\:bg-gray-300{--bg-opacity:1;background-color:#d2d6dc;background-color:rgba(210,214,220,var(--bg-opacity))}.group:hover .xl\:group-hover\:bg-gray-400{--bg-opacity:1;background-color:#9fa6b2;background-color:rgba(159,166,178,var(--bg-opacity))}.group:hover .xl\:group-hover\:bg-gray-500{--bg-opacity:1;background-color:#6b7280;background-color:rgba(107,114,128,var(--bg-opacity))}.group:hover .xl\:group-hover\:bg-gray-600{--bg-opacity:1;background-color:#4b5563;background-color:rgba(75,85,99,var(--bg-opacity))}.group:hover .xl\:group-hover\:bg-gray-700{--bg-opacity:1;background-color:#374151;background-color:rgba(55,65,81,var(--bg-opacity))}.group:hover .xl\:group-hover\:bg-gray-800{--bg-opacity:1;background-color:#252f3f;background-color:rgba(37,47,63,var(--bg-opacity))}.group:hover .xl\:group-hover\:bg-gray-900{--bg-opacity:1;background-color:#161e2e;background-color:rgba(22,30,46,var(--bg-opacity))}.group:hover .xl\:group-hover\:bg-cool-gray-50{--bg-opacity:1;background-color:#f8fafc;background-color:rgba(248,250,252,var(--bg-opacity))}.group:hover .xl\:group-hover\:bg-cool-gray-100{--bg-opacity:1;background-color:#f1f5f9;background-color:rgba(241,245,249,var(--bg-opacity))}.group:hover .xl\:group-hover\:bg-cool-gray-200{--bg-opacity:1;background-color:#e2e8f0;background-color:rgba(226,232,240,var(--bg-opacity))}.group:hover .xl\:group-hover\:bg-cool-gray-300{--bg-opacity:1;background-color:#cfd8e3;background-color:rgba(207,216,227,var(--bg-opacity))}.group:hover .xl\:group-hover\:bg-cool-gray-400{--bg-opacity:1;background-color:#97a6ba;background-color:rgba(151,166,186,var(--bg-opacity))}.group:hover .xl\:group-hover\:bg-cool-gray-500{--bg-opacity:1;background-color:#64748b;background-color:rgba(100,116,139,var(--bg-opacity))}.group:hover .xl\:group-hover\:bg-cool-gray-600{--bg-opacity:1;background-color:#475569;background-color:rgba(71,85,105,var(--bg-opacity))}.group:hover .xl\:group-hover\:bg-cool-gray-700{--bg-opacity:1;background-color:#364152;background-color:rgba(54,65,82,var(--bg-opacity))}.group:hover .xl\:group-hover\:bg-cool-gray-800{--bg-opacity:1;background-color:#27303f;background-color:rgba(39,48,63,var(--bg-opacity))}.group:hover .xl\:group-hover\:bg-cool-gray-900{--bg-opacity:1;background-color:#1a202e;background-color:rgba(26,32,46,var(--bg-opacity))}.group:hover .xl\:group-hover\:bg-red-50{--bg-opacity:1;background-color:#fdf2f2;background-color:rgba(253,242,242,var(--bg-opacity))}.group:hover .xl\:group-hover\:bg-red-100{--bg-opacity:1;background-color:#fde8e8;background-color:rgba(253,232,232,var(--bg-opacity))}.group:hover .xl\:group-hover\:bg-red-200{--bg-opacity:1;background-color:#fbd5d5;background-color:rgba(251,213,213,var(--bg-opacity))}.group:hover .xl\:group-hover\:bg-red-300{--bg-opacity:1;background-color:#f8b4b4;background-color:rgba(248,180,180,var(--bg-opacity))}.group:hover .xl\:group-hover\:bg-red-400{--bg-opacity:1;background-color:#f98080;background-color:rgba(249,128,128,var(--bg-opacity))}.group:hover .xl\:group-hover\:bg-red-500{--bg-opacity:1;background-color:#f05252;background-color:rgba(240,82,82,var(--bg-opacity))}.group:hover .xl\:group-hover\:bg-red-600{--bg-opacity:1;background-color:#e02424;background-color:rgba(224,36,36,var(--bg-opacity))}.group:hover .xl\:group-hover\:bg-red-700{--bg-opacity:1;background-color:#c81e1e;background-color:rgba(200,30,30,var(--bg-opacity))}.group:hover .xl\:group-hover\:bg-red-800{--bg-opacity:1;background-color:#9b1c1c;background-color:rgba(155,28,28,var(--bg-opacity))}.group:hover .xl\:group-hover\:bg-red-900{--bg-opacity:1;background-color:#771d1d;background-color:rgba(119,29,29,var(--bg-opacity))}.group:hover .xl\:group-hover\:bg-orange-50{--bg-opacity:1;background-color:#fff8f1;background-color:rgba(255,248,241,var(--bg-opacity))}.group:hover .xl\:group-hover\:bg-orange-100{--bg-opacity:1;background-color:#feecdc;background-color:rgba(254,236,220,var(--bg-opacity))}.group:hover .xl\:group-hover\:bg-orange-200{--bg-opacity:1;background-color:#fcd9bd;background-color:rgba(252,217,189,var(--bg-opacity))}.group:hover .xl\:group-hover\:bg-orange-300{--bg-opacity:1;background-color:#fdba8c;background-color:rgba(253,186,140,var(--bg-opacity))}.group:hover .xl\:group-hover\:bg-orange-400{--bg-opacity:1;background-color:#ff8a4c;background-color:rgba(255,138,76,var(--bg-opacity))}.group:hover .xl\:group-hover\:bg-orange-500{--bg-opacity:1;background-color:#ff5a1f;background-color:rgba(255,90,31,var(--bg-opacity))}.group:hover .xl\:group-hover\:bg-orange-600{--bg-opacity:1;background-color:#d03801;background-color:rgba(208,56,1,var(--bg-opacity))}.group:hover .xl\:group-hover\:bg-orange-700{--bg-opacity:1;background-color:#b43403;background-color:rgba(180,52,3,var(--bg-opacity))}.group:hover .xl\:group-hover\:bg-orange-800{--bg-opacity:1;background-color:#8a2c0d;background-color:rgba(138,44,13,var(--bg-opacity))}.group:hover .xl\:group-hover\:bg-orange-900{--bg-opacity:1;background-color:#73230d;background-color:rgba(115,35,13,var(--bg-opacity))}.group:hover .xl\:group-hover\:bg-yellow-50{--bg-opacity:1;background-color:#fdfdea;background-color:rgba(253,253,234,var(--bg-opacity))}.group:hover .xl\:group-hover\:bg-yellow-100{--bg-opacity:1;background-color:#fdf6b2;background-color:rgba(253,246,178,var(--bg-opacity))}.group:hover .xl\:group-hover\:bg-yellow-200{--bg-opacity:1;background-color:#fce96a;background-color:rgba(252,233,106,var(--bg-opacity))}.group:hover .xl\:group-hover\:bg-yellow-300{--bg-opacity:1;background-color:#faca15;background-color:rgba(250,202,21,var(--bg-opacity))}.group:hover .xl\:group-hover\:bg-yellow-400{--bg-opacity:1;background-color:#e3a008;background-color:rgba(227,160,8,var(--bg-opacity))}.group:hover .xl\:group-hover\:bg-yellow-500{--bg-opacity:1;background-color:#c27803;background-color:rgba(194,120,3,var(--bg-opacity))}.group:hover .xl\:group-hover\:bg-yellow-600{--bg-opacity:1;background-color:#9f580a;background-color:rgba(159,88,10,var(--bg-opacity))}.group:hover .xl\:group-hover\:bg-yellow-700{--bg-opacity:1;background-color:#8e4b10;background-color:rgba(142,75,16,var(--bg-opacity))}.group:hover .xl\:group-hover\:bg-yellow-800{--bg-opacity:1;background-color:#723b13;background-color:rgba(114,59,19,var(--bg-opacity))}.group:hover .xl\:group-hover\:bg-yellow-900{--bg-opacity:1;background-color:#633112;background-color:rgba(99,49,18,var(--bg-opacity))}.group:hover .xl\:group-hover\:bg-green-50{--bg-opacity:1;background-color:#f3faf7;background-color:rgba(243,250,247,var(--bg-opacity))}.group:hover .xl\:group-hover\:bg-green-100{--bg-opacity:1;background-color:#def7ec;background-color:rgba(222,247,236,var(--bg-opacity))}.group:hover .xl\:group-hover\:bg-green-200{--bg-opacity:1;background-color:#bcf0da;background-color:rgba(188,240,218,var(--bg-opacity))}.group:hover .xl\:group-hover\:bg-green-300{--bg-opacity:1;background-color:#84e1bc;background-color:rgba(132,225,188,var(--bg-opacity))}.group:hover .xl\:group-hover\:bg-green-400{--bg-opacity:1;background-color:#31c48d;background-color:rgba(49,196,141,var(--bg-opacity))}.group:hover .xl\:group-hover\:bg-green-500{--bg-opacity:1;background-color:#0e9f6e;background-color:rgba(14,159,110,var(--bg-opacity))}.group:hover .xl\:group-hover\:bg-green-600{--bg-opacity:1;background-color:#057a55;background-color:rgba(5,122,85,var(--bg-opacity))}.group:hover .xl\:group-hover\:bg-green-700{--bg-opacity:1;background-color:#046c4e;background-color:rgba(4,108,78,var(--bg-opacity))}.group:hover .xl\:group-hover\:bg-green-800{--bg-opacity:1;background-color:#03543f;background-color:rgba(3,84,63,var(--bg-opacity))}.group:hover .xl\:group-hover\:bg-green-900{--bg-opacity:1;background-color:#014737;background-color:rgba(1,71,55,var(--bg-opacity))}.group:hover .xl\:group-hover\:bg-teal-50{--bg-opacity:1;background-color:#edfafa;background-color:rgba(237,250,250,var(--bg-opacity))}.group:hover .xl\:group-hover\:bg-teal-100{--bg-opacity:1;background-color:#d5f5f6;background-color:rgba(213,245,246,var(--bg-opacity))}.group:hover .xl\:group-hover\:bg-teal-200{--bg-opacity:1;background-color:#afecef;background-color:rgba(175,236,239,var(--bg-opacity))}.group:hover .xl\:group-hover\:bg-teal-300{--bg-opacity:1;background-color:#7edce2;background-color:rgba(126,220,226,var(--bg-opacity))}.group:hover .xl\:group-hover\:bg-teal-400{--bg-opacity:1;background-color:#16bdca;background-color:rgba(22,189,202,var(--bg-opacity))}.group:hover .xl\:group-hover\:bg-teal-500{--bg-opacity:1;background-color:#0694a2;background-color:rgba(6,148,162,var(--bg-opacity))}.group:hover .xl\:group-hover\:bg-teal-600{--bg-opacity:1;background-color:#047481;background-color:rgba(4,116,129,var(--bg-opacity))}.group:hover .xl\:group-hover\:bg-teal-700{--bg-opacity:1;background-color:#036672;background-color:rgba(3,102,114,var(--bg-opacity))}.group:hover .xl\:group-hover\:bg-teal-800{--bg-opacity:1;background-color:#05505c;background-color:rgba(5,80,92,var(--bg-opacity))}.group:hover .xl\:group-hover\:bg-teal-900{--bg-opacity:1;background-color:#014451;background-color:rgba(1,68,81,var(--bg-opacity))}.group:hover .xl\:group-hover\:bg-blue-50{--bg-opacity:1;background-color:#ebf5ff;background-color:rgba(235,245,255,var(--bg-opacity))}.group:hover .xl\:group-hover\:bg-blue-100{--bg-opacity:1;background-color:#e1effe;background-color:rgba(225,239,254,var(--bg-opacity))}.group:hover .xl\:group-hover\:bg-blue-200{--bg-opacity:1;background-color:#c3ddfd;background-color:rgba(195,221,253,var(--bg-opacity))}.group:hover .xl\:group-hover\:bg-blue-300{--bg-opacity:1;background-color:#a4cafe;background-color:rgba(164,202,254,var(--bg-opacity))}.group:hover .xl\:group-hover\:bg-blue-400{--bg-opacity:1;background-color:#76a9fa;background-color:rgba(118,169,250,var(--bg-opacity))}.group:hover .xl\:group-hover\:bg-blue-500{--bg-opacity:1;background-color:#3f83f8;background-color:rgba(63,131,248,var(--bg-opacity))}.group:hover .xl\:group-hover\:bg-blue-600{--bg-opacity:1;background-color:#1c64f2;background-color:rgba(28,100,242,var(--bg-opacity))}.group:hover .xl\:group-hover\:bg-blue-700{--bg-opacity:1;background-color:#1a56db;background-color:rgba(26,86,219,var(--bg-opacity))}.group:hover .xl\:group-hover\:bg-blue-800{--bg-opacity:1;background-color:#1e429f;background-color:rgba(30,66,159,var(--bg-opacity))}.group:hover .xl\:group-hover\:bg-blue-900{--bg-opacity:1;background-color:#233876;background-color:rgba(35,56,118,var(--bg-opacity))}.group:hover .xl\:group-hover\:bg-indigo-50{--bg-opacity:1;background-color:#f0f5ff;background-color:rgba(240,245,255,var(--bg-opacity))}.group:hover .xl\:group-hover\:bg-indigo-100{--bg-opacity:1;background-color:#e5edff;background-color:rgba(229,237,255,var(--bg-opacity))}.group:hover .xl\:group-hover\:bg-indigo-200{--bg-opacity:1;background-color:#cddbfe;background-color:rgba(205,219,254,var(--bg-opacity))}.group:hover .xl\:group-hover\:bg-indigo-300{--bg-opacity:1;background-color:#b4c6fc;background-color:rgba(180,198,252,var(--bg-opacity))}.group:hover .xl\:group-hover\:bg-indigo-400{--bg-opacity:1;background-color:#8da2fb;background-color:rgba(141,162,251,var(--bg-opacity))}.group:hover .xl\:group-hover\:bg-indigo-500{--bg-opacity:1;background-color:#6875f5;background-color:rgba(104,117,245,var(--bg-opacity))}.group:hover .xl\:group-hover\:bg-indigo-600{--bg-opacity:1;background-color:#5850ec;background-color:rgba(88,80,236,var(--bg-opacity))}.group:hover .xl\:group-hover\:bg-indigo-700{--bg-opacity:1;background-color:#5145cd;background-color:rgba(81,69,205,var(--bg-opacity))}.group:hover .xl\:group-hover\:bg-indigo-800{--bg-opacity:1;background-color:#42389d;background-color:rgba(66,56,157,var(--bg-opacity))}.group:hover .xl\:group-hover\:bg-indigo-900{--bg-opacity:1;background-color:#362f78;background-color:rgba(54,47,120,var(--bg-opacity))}.group:hover .xl\:group-hover\:bg-purple-50{--bg-opacity:1;background-color:#f6f5ff;background-color:rgba(246,245,255,var(--bg-opacity))}.group:hover .xl\:group-hover\:bg-purple-100{--bg-opacity:1;background-color:#edebfe;background-color:rgba(237,235,254,var(--bg-opacity))}.group:hover .xl\:group-hover\:bg-purple-200{--bg-opacity:1;background-color:#dcd7fe;background-color:rgba(220,215,254,var(--bg-opacity))}.group:hover .xl\:group-hover\:bg-purple-300{--bg-opacity:1;background-color:#cabffd;background-color:rgba(202,191,253,var(--bg-opacity))}.group:hover .xl\:group-hover\:bg-purple-400{--bg-opacity:1;background-color:#ac94fa;background-color:rgba(172,148,250,var(--bg-opacity))}.group:hover .xl\:group-hover\:bg-purple-500{--bg-opacity:1;background-color:#9061f9;background-color:rgba(144,97,249,var(--bg-opacity))}.group:hover .xl\:group-hover\:bg-purple-600{--bg-opacity:1;background-color:#7e3af2;background-color:rgba(126,58,242,var(--bg-opacity))}.group:hover .xl\:group-hover\:bg-purple-700{--bg-opacity:1;background-color:#6c2bd9;background-color:rgba(108,43,217,var(--bg-opacity))}.group:hover .xl\:group-hover\:bg-purple-800{--bg-opacity:1;background-color:#5521b5;background-color:rgba(85,33,181,var(--bg-opacity))}.group:hover .xl\:group-hover\:bg-purple-900{--bg-opacity:1;background-color:#4a1d96;background-color:rgba(74,29,150,var(--bg-opacity))}.group:hover .xl\:group-hover\:bg-pink-50{--bg-opacity:1;background-color:#fdf2f8;background-color:rgba(253,242,248,var(--bg-opacity))}.group:hover .xl\:group-hover\:bg-pink-100{--bg-opacity:1;background-color:#fce8f3;background-color:rgba(252,232,243,var(--bg-opacity))}.group:hover .xl\:group-hover\:bg-pink-200{--bg-opacity:1;background-color:#fad1e8;background-color:rgba(250,209,232,var(--bg-opacity))}.group:hover .xl\:group-hover\:bg-pink-300{--bg-opacity:1;background-color:#f8b4d9;background-color:rgba(248,180,217,var(--bg-opacity))}.group:hover .xl\:group-hover\:bg-pink-400{--bg-opacity:1;background-color:#f17eb8;background-color:rgba(241,126,184,var(--bg-opacity))}.group:hover .xl\:group-hover\:bg-pink-500{--bg-opacity:1;background-color:#e74694;background-color:rgba(231,70,148,var(--bg-opacity))}.group:hover .xl\:group-hover\:bg-pink-600{--bg-opacity:1;background-color:#d61f69;background-color:rgba(214,31,105,var(--bg-opacity))}.group:hover .xl\:group-hover\:bg-pink-700{--bg-opacity:1;background-color:#bf125d;background-color:rgba(191,18,93,var(--bg-opacity))}.group:hover .xl\:group-hover\:bg-pink-800{--bg-opacity:1;background-color:#99154b;background-color:rgba(153,21,75,var(--bg-opacity))}.group:hover .xl\:group-hover\:bg-pink-900{--bg-opacity:1;background-color:#751a3d;background-color:rgba(117,26,61,var(--bg-opacity))}.group:focus .xl\:group-focus\:bg-transparent{background-color:transparent}.group:focus .xl\:group-focus\:bg-white{--bg-opacity:1;background-color:#fff;background-color:rgba(255,255,255,var(--bg-opacity))}.group:focus .xl\:group-focus\:bg-black{--bg-opacity:1;background-color:#000;background-color:rgba(0,0,0,var(--bg-opacity))}.group:focus .xl\:group-focus\:bg-gray-50{--bg-opacity:1;background-color:#f9fafb;background-color:rgba(249,250,251,var(--bg-opacity))}.group:focus .xl\:group-focus\:bg-gray-100{--bg-opacity:1;background-color:#f4f5f7;background-color:rgba(244,245,247,var(--bg-opacity))}.group:focus .xl\:group-focus\:bg-gray-200{--bg-opacity:1;background-color:#e5e7eb;background-color:rgba(229,231,235,var(--bg-opacity))}.group:focus .xl\:group-focus\:bg-gray-300{--bg-opacity:1;background-color:#d2d6dc;background-color:rgba(210,214,220,var(--bg-opacity))}.group:focus .xl\:group-focus\:bg-gray-400{--bg-opacity:1;background-color:#9fa6b2;background-color:rgba(159,166,178,var(--bg-opacity))}.group:focus .xl\:group-focus\:bg-gray-500{--bg-opacity:1;background-color:#6b7280;background-color:rgba(107,114,128,var(--bg-opacity))}.group:focus .xl\:group-focus\:bg-gray-600{--bg-opacity:1;background-color:#4b5563;background-color:rgba(75,85,99,var(--bg-opacity))}.group:focus .xl\:group-focus\:bg-gray-700{--bg-opacity:1;background-color:#374151;background-color:rgba(55,65,81,var(--bg-opacity))}.group:focus .xl\:group-focus\:bg-gray-800{--bg-opacity:1;background-color:#252f3f;background-color:rgba(37,47,63,var(--bg-opacity))}.group:focus .xl\:group-focus\:bg-gray-900{--bg-opacity:1;background-color:#161e2e;background-color:rgba(22,30,46,var(--bg-opacity))}.group:focus .xl\:group-focus\:bg-cool-gray-50{--bg-opacity:1;background-color:#f8fafc;background-color:rgba(248,250,252,var(--bg-opacity))}.group:focus .xl\:group-focus\:bg-cool-gray-100{--bg-opacity:1;background-color:#f1f5f9;background-color:rgba(241,245,249,var(--bg-opacity))}.group:focus .xl\:group-focus\:bg-cool-gray-200{--bg-opacity:1;background-color:#e2e8f0;background-color:rgba(226,232,240,var(--bg-opacity))}.group:focus .xl\:group-focus\:bg-cool-gray-300{--bg-opacity:1;background-color:#cfd8e3;background-color:rgba(207,216,227,var(--bg-opacity))}.group:focus .xl\:group-focus\:bg-cool-gray-400{--bg-opacity:1;background-color:#97a6ba;background-color:rgba(151,166,186,var(--bg-opacity))}.group:focus .xl\:group-focus\:bg-cool-gray-500{--bg-opacity:1;background-color:#64748b;background-color:rgba(100,116,139,var(--bg-opacity))}.group:focus .xl\:group-focus\:bg-cool-gray-600{--bg-opacity:1;background-color:#475569;background-color:rgba(71,85,105,var(--bg-opacity))}.group:focus .xl\:group-focus\:bg-cool-gray-700{--bg-opacity:1;background-color:#364152;background-color:rgba(54,65,82,var(--bg-opacity))}.group:focus .xl\:group-focus\:bg-cool-gray-800{--bg-opacity:1;background-color:#27303f;background-color:rgba(39,48,63,var(--bg-opacity))}.group:focus .xl\:group-focus\:bg-cool-gray-900{--bg-opacity:1;background-color:#1a202e;background-color:rgba(26,32,46,var(--bg-opacity))}.group:focus .xl\:group-focus\:bg-red-50{--bg-opacity:1;background-color:#fdf2f2;background-color:rgba(253,242,242,var(--bg-opacity))}.group:focus .xl\:group-focus\:bg-red-100{--bg-opacity:1;background-color:#fde8e8;background-color:rgba(253,232,232,var(--bg-opacity))}.group:focus .xl\:group-focus\:bg-red-200{--bg-opacity:1;background-color:#fbd5d5;background-color:rgba(251,213,213,var(--bg-opacity))}.group:focus .xl\:group-focus\:bg-red-300{--bg-opacity:1;background-color:#f8b4b4;background-color:rgba(248,180,180,var(--bg-opacity))}.group:focus .xl\:group-focus\:bg-red-400{--bg-opacity:1;background-color:#f98080;background-color:rgba(249,128,128,var(--bg-opacity))}.group:focus .xl\:group-focus\:bg-red-500{--bg-opacity:1;background-color:#f05252;background-color:rgba(240,82,82,var(--bg-opacity))}.group:focus .xl\:group-focus\:bg-red-600{--bg-opacity:1;background-color:#e02424;background-color:rgba(224,36,36,var(--bg-opacity))}.group:focus .xl\:group-focus\:bg-red-700{--bg-opacity:1;background-color:#c81e1e;background-color:rgba(200,30,30,var(--bg-opacity))}.group:focus .xl\:group-focus\:bg-red-800{--bg-opacity:1;background-color:#9b1c1c;background-color:rgba(155,28,28,var(--bg-opacity))}.group:focus .xl\:group-focus\:bg-red-900{--bg-opacity:1;background-color:#771d1d;background-color:rgba(119,29,29,var(--bg-opacity))}.group:focus .xl\:group-focus\:bg-orange-50{--bg-opacity:1;background-color:#fff8f1;background-color:rgba(255,248,241,var(--bg-opacity))}.group:focus .xl\:group-focus\:bg-orange-100{--bg-opacity:1;background-color:#feecdc;background-color:rgba(254,236,220,var(--bg-opacity))}.group:focus .xl\:group-focus\:bg-orange-200{--bg-opacity:1;background-color:#fcd9bd;background-color:rgba(252,217,189,var(--bg-opacity))}.group:focus .xl\:group-focus\:bg-orange-300{--bg-opacity:1;background-color:#fdba8c;background-color:rgba(253,186,140,var(--bg-opacity))}.group:focus .xl\:group-focus\:bg-orange-400{--bg-opacity:1;background-color:#ff8a4c;background-color:rgba(255,138,76,var(--bg-opacity))}.group:focus .xl\:group-focus\:bg-orange-500{--bg-opacity:1;background-color:#ff5a1f;background-color:rgba(255,90,31,var(--bg-opacity))}.group:focus .xl\:group-focus\:bg-orange-600{--bg-opacity:1;background-color:#d03801;background-color:rgba(208,56,1,var(--bg-opacity))}.group:focus .xl\:group-focus\:bg-orange-700{--bg-opacity:1;background-color:#b43403;background-color:rgba(180,52,3,var(--bg-opacity))}.group:focus .xl\:group-focus\:bg-orange-800{--bg-opacity:1;background-color:#8a2c0d;background-color:rgba(138,44,13,var(--bg-opacity))}.group:focus .xl\:group-focus\:bg-orange-900{--bg-opacity:1;background-color:#73230d;background-color:rgba(115,35,13,var(--bg-opacity))}.group:focus .xl\:group-focus\:bg-yellow-50{--bg-opacity:1;background-color:#fdfdea;background-color:rgba(253,253,234,var(--bg-opacity))}.group:focus .xl\:group-focus\:bg-yellow-100{--bg-opacity:1;background-color:#fdf6b2;background-color:rgba(253,246,178,var(--bg-opacity))}.group:focus .xl\:group-focus\:bg-yellow-200{--bg-opacity:1;background-color:#fce96a;background-color:rgba(252,233,106,var(--bg-opacity))}.group:focus .xl\:group-focus\:bg-yellow-300{--bg-opacity:1;background-color:#faca15;background-color:rgba(250,202,21,var(--bg-opacity))}.group:focus .xl\:group-focus\:bg-yellow-400{--bg-opacity:1;background-color:#e3a008;background-color:rgba(227,160,8,var(--bg-opacity))}.group:focus .xl\:group-focus\:bg-yellow-500{--bg-opacity:1;background-color:#c27803;background-color:rgba(194,120,3,var(--bg-opacity))}.group:focus .xl\:group-focus\:bg-yellow-600{--bg-opacity:1;background-color:#9f580a;background-color:rgba(159,88,10,var(--bg-opacity))}.group:focus .xl\:group-focus\:bg-yellow-700{--bg-opacity:1;background-color:#8e4b10;background-color:rgba(142,75,16,var(--bg-opacity))}.group:focus .xl\:group-focus\:bg-yellow-800{--bg-opacity:1;background-color:#723b13;background-color:rgba(114,59,19,var(--bg-opacity))}.group:focus .xl\:group-focus\:bg-yellow-900{--bg-opacity:1;background-color:#633112;background-color:rgba(99,49,18,var(--bg-opacity))}.group:focus .xl\:group-focus\:bg-green-50{--bg-opacity:1;background-color:#f3faf7;background-color:rgba(243,250,247,var(--bg-opacity))}.group:focus .xl\:group-focus\:bg-green-100{--bg-opacity:1;background-color:#def7ec;background-color:rgba(222,247,236,var(--bg-opacity))}.group:focus .xl\:group-focus\:bg-green-200{--bg-opacity:1;background-color:#bcf0da;background-color:rgba(188,240,218,var(--bg-opacity))}.group:focus .xl\:group-focus\:bg-green-300{--bg-opacity:1;background-color:#84e1bc;background-color:rgba(132,225,188,var(--bg-opacity))}.group:focus .xl\:group-focus\:bg-green-400{--bg-opacity:1;background-color:#31c48d;background-color:rgba(49,196,141,var(--bg-opacity))}.group:focus .xl\:group-focus\:bg-green-500{--bg-opacity:1;background-color:#0e9f6e;background-color:rgba(14,159,110,var(--bg-opacity))}.group:focus .xl\:group-focus\:bg-green-600{--bg-opacity:1;background-color:#057a55;background-color:rgba(5,122,85,var(--bg-opacity))}.group:focus .xl\:group-focus\:bg-green-700{--bg-opacity:1;background-color:#046c4e;background-color:rgba(4,108,78,var(--bg-opacity))}.group:focus .xl\:group-focus\:bg-green-800{--bg-opacity:1;background-color:#03543f;background-color:rgba(3,84,63,var(--bg-opacity))}.group:focus .xl\:group-focus\:bg-green-900{--bg-opacity:1;background-color:#014737;background-color:rgba(1,71,55,var(--bg-opacity))}.group:focus .xl\:group-focus\:bg-teal-50{--bg-opacity:1;background-color:#edfafa;background-color:rgba(237,250,250,var(--bg-opacity))}.group:focus .xl\:group-focus\:bg-teal-100{--bg-opacity:1;background-color:#d5f5f6;background-color:rgba(213,245,246,var(--bg-opacity))}.group:focus .xl\:group-focus\:bg-teal-200{--bg-opacity:1;background-color:#afecef;background-color:rgba(175,236,239,var(--bg-opacity))}.group:focus .xl\:group-focus\:bg-teal-300{--bg-opacity:1;background-color:#7edce2;background-color:rgba(126,220,226,var(--bg-opacity))}.group:focus .xl\:group-focus\:bg-teal-400{--bg-opacity:1;background-color:#16bdca;background-color:rgba(22,189,202,var(--bg-opacity))}.group:focus .xl\:group-focus\:bg-teal-500{--bg-opacity:1;background-color:#0694a2;background-color:rgba(6,148,162,var(--bg-opacity))}.group:focus .xl\:group-focus\:bg-teal-600{--bg-opacity:1;background-color:#047481;background-color:rgba(4,116,129,var(--bg-opacity))}.group:focus .xl\:group-focus\:bg-teal-700{--bg-opacity:1;background-color:#036672;background-color:rgba(3,102,114,var(--bg-opacity))}.group:focus .xl\:group-focus\:bg-teal-800{--bg-opacity:1;background-color:#05505c;background-color:rgba(5,80,92,var(--bg-opacity))}.group:focus .xl\:group-focus\:bg-teal-900{--bg-opacity:1;background-color:#014451;background-color:rgba(1,68,81,var(--bg-opacity))}.group:focus .xl\:group-focus\:bg-blue-50{--bg-opacity:1;background-color:#ebf5ff;background-color:rgba(235,245,255,var(--bg-opacity))}.group:focus .xl\:group-focus\:bg-blue-100{--bg-opacity:1;background-color:#e1effe;background-color:rgba(225,239,254,var(--bg-opacity))}.group:focus .xl\:group-focus\:bg-blue-200{--bg-opacity:1;background-color:#c3ddfd;background-color:rgba(195,221,253,var(--bg-opacity))}.group:focus .xl\:group-focus\:bg-blue-300{--bg-opacity:1;background-color:#a4cafe;background-color:rgba(164,202,254,var(--bg-opacity))}.group:focus .xl\:group-focus\:bg-blue-400{--bg-opacity:1;background-color:#76a9fa;background-color:rgba(118,169,250,var(--bg-opacity))}.group:focus .xl\:group-focus\:bg-blue-500{--bg-opacity:1;background-color:#3f83f8;background-color:rgba(63,131,248,var(--bg-opacity))}.group:focus .xl\:group-focus\:bg-blue-600{--bg-opacity:1;background-color:#1c64f2;background-color:rgba(28,100,242,var(--bg-opacity))}.group:focus .xl\:group-focus\:bg-blue-700{--bg-opacity:1;background-color:#1a56db;background-color:rgba(26,86,219,var(--bg-opacity))}.group:focus .xl\:group-focus\:bg-blue-800{--bg-opacity:1;background-color:#1e429f;background-color:rgba(30,66,159,var(--bg-opacity))}.group:focus .xl\:group-focus\:bg-blue-900{--bg-opacity:1;background-color:#233876;background-color:rgba(35,56,118,var(--bg-opacity))}.group:focus .xl\:group-focus\:bg-indigo-50{--bg-opacity:1;background-color:#f0f5ff;background-color:rgba(240,245,255,var(--bg-opacity))}.group:focus .xl\:group-focus\:bg-indigo-100{--bg-opacity:1;background-color:#e5edff;background-color:rgba(229,237,255,var(--bg-opacity))}.group:focus .xl\:group-focus\:bg-indigo-200{--bg-opacity:1;background-color:#cddbfe;background-color:rgba(205,219,254,var(--bg-opacity))}.group:focus .xl\:group-focus\:bg-indigo-300{--bg-opacity:1;background-color:#b4c6fc;background-color:rgba(180,198,252,var(--bg-opacity))}.group:focus .xl\:group-focus\:bg-indigo-400{--bg-opacity:1;background-color:#8da2fb;background-color:rgba(141,162,251,var(--bg-opacity))}.group:focus .xl\:group-focus\:bg-indigo-500{--bg-opacity:1;background-color:#6875f5;background-color:rgba(104,117,245,var(--bg-opacity))}.group:focus .xl\:group-focus\:bg-indigo-600{--bg-opacity:1;background-color:#5850ec;background-color:rgba(88,80,236,var(--bg-opacity))}.group:focus .xl\:group-focus\:bg-indigo-700{--bg-opacity:1;background-color:#5145cd;background-color:rgba(81,69,205,var(--bg-opacity))}.group:focus .xl\:group-focus\:bg-indigo-800{--bg-opacity:1;background-color:#42389d;background-color:rgba(66,56,157,var(--bg-opacity))}.group:focus .xl\:group-focus\:bg-indigo-900{--bg-opacity:1;background-color:#362f78;background-color:rgba(54,47,120,var(--bg-opacity))}.group:focus .xl\:group-focus\:bg-purple-50{--bg-opacity:1;background-color:#f6f5ff;background-color:rgba(246,245,255,var(--bg-opacity))}.group:focus .xl\:group-focus\:bg-purple-100{--bg-opacity:1;background-color:#edebfe;background-color:rgba(237,235,254,var(--bg-opacity))}.group:focus .xl\:group-focus\:bg-purple-200{--bg-opacity:1;background-color:#dcd7fe;background-color:rgba(220,215,254,var(--bg-opacity))}.group:focus .xl\:group-focus\:bg-purple-300{--bg-opacity:1;background-color:#cabffd;background-color:rgba(202,191,253,var(--bg-opacity))}.group:focus .xl\:group-focus\:bg-purple-400{--bg-opacity:1;background-color:#ac94fa;background-color:rgba(172,148,250,var(--bg-opacity))}.group:focus .xl\:group-focus\:bg-purple-500{--bg-opacity:1;background-color:#9061f9;background-color:rgba(144,97,249,var(--bg-opacity))}.group:focus .xl\:group-focus\:bg-purple-600{--bg-opacity:1;background-color:#7e3af2;background-color:rgba(126,58,242,var(--bg-opacity))}.group:focus .xl\:group-focus\:bg-purple-700{--bg-opacity:1;background-color:#6c2bd9;background-color:rgba(108,43,217,var(--bg-opacity))}.group:focus .xl\:group-focus\:bg-purple-800{--bg-opacity:1;background-color:#5521b5;background-color:rgba(85,33,181,var(--bg-opacity))}.group:focus .xl\:group-focus\:bg-purple-900{--bg-opacity:1;background-color:#4a1d96;background-color:rgba(74,29,150,var(--bg-opacity))}.group:focus .xl\:group-focus\:bg-pink-50{--bg-opacity:1;background-color:#fdf2f8;background-color:rgba(253,242,248,var(--bg-opacity))}.group:focus .xl\:group-focus\:bg-pink-100{--bg-opacity:1;background-color:#fce8f3;background-color:rgba(252,232,243,var(--bg-opacity))}.group:focus .xl\:group-focus\:bg-pink-200{--bg-opacity:1;background-color:#fad1e8;background-color:rgba(250,209,232,var(--bg-opacity))}.group:focus .xl\:group-focus\:bg-pink-300{--bg-opacity:1;background-color:#f8b4d9;background-color:rgba(248,180,217,var(--bg-opacity))}.group:focus .xl\:group-focus\:bg-pink-400{--bg-opacity:1;background-color:#f17eb8;background-color:rgba(241,126,184,var(--bg-opacity))}.group:focus .xl\:group-focus\:bg-pink-500{--bg-opacity:1;background-color:#e74694;background-color:rgba(231,70,148,var(--bg-opacity))}.group:focus .xl\:group-focus\:bg-pink-600{--bg-opacity:1;background-color:#d61f69;background-color:rgba(214,31,105,var(--bg-opacity))}.group:focus .xl\:group-focus\:bg-pink-700{--bg-opacity:1;background-color:#bf125d;background-color:rgba(191,18,93,var(--bg-opacity))}.group:focus .xl\:group-focus\:bg-pink-800{--bg-opacity:1;background-color:#99154b;background-color:rgba(153,21,75,var(--bg-opacity))}.group:focus .xl\:group-focus\:bg-pink-900{--bg-opacity:1;background-color:#751a3d;background-color:rgba(117,26,61,var(--bg-opacity))}.xl\:hover\:bg-transparent:hover{background-color:transparent}.xl\:hover\:bg-white:hover{--bg-opacity:1;background-color:#fff;background-color:rgba(255,255,255,var(--bg-opacity))}.xl\:hover\:bg-black:hover{--bg-opacity:1;background-color:#000;background-color:rgba(0,0,0,var(--bg-opacity))}.xl\:hover\:bg-gray-50:hover{--bg-opacity:1;background-color:#f9fafb;background-color:rgba(249,250,251,var(--bg-opacity))}.xl\:hover\:bg-gray-100:hover{--bg-opacity:1;background-color:#f4f5f7;background-color:rgba(244,245,247,var(--bg-opacity))}.xl\:hover\:bg-gray-200:hover{--bg-opacity:1;background-color:#e5e7eb;background-color:rgba(229,231,235,var(--bg-opacity))}.xl\:hover\:bg-gray-300:hover{--bg-opacity:1;background-color:#d2d6dc;background-color:rgba(210,214,220,var(--bg-opacity))}.xl\:hover\:bg-gray-400:hover{--bg-opacity:1;background-color:#9fa6b2;background-color:rgba(159,166,178,var(--bg-opacity))}.xl\:hover\:bg-gray-500:hover{--bg-opacity:1;background-color:#6b7280;background-color:rgba(107,114,128,var(--bg-opacity))}.xl\:hover\:bg-gray-600:hover{--bg-opacity:1;background-color:#4b5563;background-color:rgba(75,85,99,var(--bg-opacity))}.xl\:hover\:bg-gray-700:hover{--bg-opacity:1;background-color:#374151;background-color:rgba(55,65,81,var(--bg-opacity))}.xl\:hover\:bg-gray-800:hover{--bg-opacity:1;background-color:#252f3f;background-color:rgba(37,47,63,var(--bg-opacity))}.xl\:hover\:bg-gray-900:hover{--bg-opacity:1;background-color:#161e2e;background-color:rgba(22,30,46,var(--bg-opacity))}.xl\:hover\:bg-cool-gray-50:hover{--bg-opacity:1;background-color:#f8fafc;background-color:rgba(248,250,252,var(--bg-opacity))}.xl\:hover\:bg-cool-gray-100:hover{--bg-opacity:1;background-color:#f1f5f9;background-color:rgba(241,245,249,var(--bg-opacity))}.xl\:hover\:bg-cool-gray-200:hover{--bg-opacity:1;background-color:#e2e8f0;background-color:rgba(226,232,240,var(--bg-opacity))}.xl\:hover\:bg-cool-gray-300:hover{--bg-opacity:1;background-color:#cfd8e3;background-color:rgba(207,216,227,var(--bg-opacity))}.xl\:hover\:bg-cool-gray-400:hover{--bg-opacity:1;background-color:#97a6ba;background-color:rgba(151,166,186,var(--bg-opacity))}.xl\:hover\:bg-cool-gray-500:hover{--bg-opacity:1;background-color:#64748b;background-color:rgba(100,116,139,var(--bg-opacity))}.xl\:hover\:bg-cool-gray-600:hover{--bg-opacity:1;background-color:#475569;background-color:rgba(71,85,105,var(--bg-opacity))}.xl\:hover\:bg-cool-gray-700:hover{--bg-opacity:1;background-color:#364152;background-color:rgba(54,65,82,var(--bg-opacity))}.xl\:hover\:bg-cool-gray-800:hover{--bg-opacity:1;background-color:#27303f;background-color:rgba(39,48,63,var(--bg-opacity))}.xl\:hover\:bg-cool-gray-900:hover{--bg-opacity:1;background-color:#1a202e;background-color:rgba(26,32,46,var(--bg-opacity))}.xl\:hover\:bg-red-50:hover{--bg-opacity:1;background-color:#fdf2f2;background-color:rgba(253,242,242,var(--bg-opacity))}.xl\:hover\:bg-red-100:hover{--bg-opacity:1;background-color:#fde8e8;background-color:rgba(253,232,232,var(--bg-opacity))}.xl\:hover\:bg-red-200:hover{--bg-opacity:1;background-color:#fbd5d5;background-color:rgba(251,213,213,var(--bg-opacity))}.xl\:hover\:bg-red-300:hover{--bg-opacity:1;background-color:#f8b4b4;background-color:rgba(248,180,180,var(--bg-opacity))}.xl\:hover\:bg-red-400:hover{--bg-opacity:1;background-color:#f98080;background-color:rgba(249,128,128,var(--bg-opacity))}.xl\:hover\:bg-red-500:hover{--bg-opacity:1;background-color:#f05252;background-color:rgba(240,82,82,var(--bg-opacity))}.xl\:hover\:bg-red-600:hover{--bg-opacity:1;background-color:#e02424;background-color:rgba(224,36,36,var(--bg-opacity))}.xl\:hover\:bg-red-700:hover{--bg-opacity:1;background-color:#c81e1e;background-color:rgba(200,30,30,var(--bg-opacity))}.xl\:hover\:bg-red-800:hover{--bg-opacity:1;background-color:#9b1c1c;background-color:rgba(155,28,28,var(--bg-opacity))}.xl\:hover\:bg-red-900:hover{--bg-opacity:1;background-color:#771d1d;background-color:rgba(119,29,29,var(--bg-opacity))}.xl\:hover\:bg-orange-50:hover{--bg-opacity:1;background-color:#fff8f1;background-color:rgba(255,248,241,var(--bg-opacity))}.xl\:hover\:bg-orange-100:hover{--bg-opacity:1;background-color:#feecdc;background-color:rgba(254,236,220,var(--bg-opacity))}.xl\:hover\:bg-orange-200:hover{--bg-opacity:1;background-color:#fcd9bd;background-color:rgba(252,217,189,var(--bg-opacity))}.xl\:hover\:bg-orange-300:hover{--bg-opacity:1;background-color:#fdba8c;background-color:rgba(253,186,140,var(--bg-opacity))}.xl\:hover\:bg-orange-400:hover{--bg-opacity:1;background-color:#ff8a4c;background-color:rgba(255,138,76,var(--bg-opacity))}.xl\:hover\:bg-orange-500:hover{--bg-opacity:1;background-color:#ff5a1f;background-color:rgba(255,90,31,var(--bg-opacity))}.xl\:hover\:bg-orange-600:hover{--bg-opacity:1;background-color:#d03801;background-color:rgba(208,56,1,var(--bg-opacity))}.xl\:hover\:bg-orange-700:hover{--bg-opacity:1;background-color:#b43403;background-color:rgba(180,52,3,var(--bg-opacity))}.xl\:hover\:bg-orange-800:hover{--bg-opacity:1;background-color:#8a2c0d;background-color:rgba(138,44,13,var(--bg-opacity))}.xl\:hover\:bg-orange-900:hover{--bg-opacity:1;background-color:#73230d;background-color:rgba(115,35,13,var(--bg-opacity))}.xl\:hover\:bg-yellow-50:hover{--bg-opacity:1;background-color:#fdfdea;background-color:rgba(253,253,234,var(--bg-opacity))}.xl\:hover\:bg-yellow-100:hover{--bg-opacity:1;background-color:#fdf6b2;background-color:rgba(253,246,178,var(--bg-opacity))}.xl\:hover\:bg-yellow-200:hover{--bg-opacity:1;background-color:#fce96a;background-color:rgba(252,233,106,var(--bg-opacity))}.xl\:hover\:bg-yellow-300:hover{--bg-opacity:1;background-color:#faca15;background-color:rgba(250,202,21,var(--bg-opacity))}.xl\:hover\:bg-yellow-400:hover{--bg-opacity:1;background-color:#e3a008;background-color:rgba(227,160,8,var(--bg-opacity))}.xl\:hover\:bg-yellow-500:hover{--bg-opacity:1;background-color:#c27803;background-color:rgba(194,120,3,var(--bg-opacity))}.xl\:hover\:bg-yellow-600:hover{--bg-opacity:1;background-color:#9f580a;background-color:rgba(159,88,10,var(--bg-opacity))}.xl\:hover\:bg-yellow-700:hover{--bg-opacity:1;background-color:#8e4b10;background-color:rgba(142,75,16,var(--bg-opacity))}.xl\:hover\:bg-yellow-800:hover{--bg-opacity:1;background-color:#723b13;background-color:rgba(114,59,19,var(--bg-opacity))}.xl\:hover\:bg-yellow-900:hover{--bg-opacity:1;background-color:#633112;background-color:rgba(99,49,18,var(--bg-opacity))}.xl\:hover\:bg-green-50:hover{--bg-opacity:1;background-color:#f3faf7;background-color:rgba(243,250,247,var(--bg-opacity))}.xl\:hover\:bg-green-100:hover{--bg-opacity:1;background-color:#def7ec;background-color:rgba(222,247,236,var(--bg-opacity))}.xl\:hover\:bg-green-200:hover{--bg-opacity:1;background-color:#bcf0da;background-color:rgba(188,240,218,var(--bg-opacity))}.xl\:hover\:bg-green-300:hover{--bg-opacity:1;background-color:#84e1bc;background-color:rgba(132,225,188,var(--bg-opacity))}.xl\:hover\:bg-green-400:hover{--bg-opacity:1;background-color:#31c48d;background-color:rgba(49,196,141,var(--bg-opacity))}.xl\:hover\:bg-green-500:hover{--bg-opacity:1;background-color:#0e9f6e;background-color:rgba(14,159,110,var(--bg-opacity))}.xl\:hover\:bg-green-600:hover{--bg-opacity:1;background-color:#057a55;background-color:rgba(5,122,85,var(--bg-opacity))}.xl\:hover\:bg-green-700:hover{--bg-opacity:1;background-color:#046c4e;background-color:rgba(4,108,78,var(--bg-opacity))}.xl\:hover\:bg-green-800:hover{--bg-opacity:1;background-color:#03543f;background-color:rgba(3,84,63,var(--bg-opacity))}.xl\:hover\:bg-green-900:hover{--bg-opacity:1;background-color:#014737;background-color:rgba(1,71,55,var(--bg-opacity))}.xl\:hover\:bg-teal-50:hover{--bg-opacity:1;background-color:#edfafa;background-color:rgba(237,250,250,var(--bg-opacity))}.xl\:hover\:bg-teal-100:hover{--bg-opacity:1;background-color:#d5f5f6;background-color:rgba(213,245,246,var(--bg-opacity))}.xl\:hover\:bg-teal-200:hover{--bg-opacity:1;background-color:#afecef;background-color:rgba(175,236,239,var(--bg-opacity))}.xl\:hover\:bg-teal-300:hover{--bg-opacity:1;background-color:#7edce2;background-color:rgba(126,220,226,var(--bg-opacity))}.xl\:hover\:bg-teal-400:hover{--bg-opacity:1;background-color:#16bdca;background-color:rgba(22,189,202,var(--bg-opacity))}.xl\:hover\:bg-teal-500:hover{--bg-opacity:1;background-color:#0694a2;background-color:rgba(6,148,162,var(--bg-opacity))}.xl\:hover\:bg-teal-600:hover{--bg-opacity:1;background-color:#047481;background-color:rgba(4,116,129,var(--bg-opacity))}.xl\:hover\:bg-teal-700:hover{--bg-opacity:1;background-color:#036672;background-color:rgba(3,102,114,var(--bg-opacity))}.xl\:hover\:bg-teal-800:hover{--bg-opacity:1;background-color:#05505c;background-color:rgba(5,80,92,var(--bg-opacity))}.xl\:hover\:bg-teal-900:hover{--bg-opacity:1;background-color:#014451;background-color:rgba(1,68,81,var(--bg-opacity))}.xl\:hover\:bg-blue-50:hover{--bg-opacity:1;background-color:#ebf5ff;background-color:rgba(235,245,255,var(--bg-opacity))}.xl\:hover\:bg-blue-100:hover{--bg-opacity:1;background-color:#e1effe;background-color:rgba(225,239,254,var(--bg-opacity))}.xl\:hover\:bg-blue-200:hover{--bg-opacity:1;background-color:#c3ddfd;background-color:rgba(195,221,253,var(--bg-opacity))}.xl\:hover\:bg-blue-300:hover{--bg-opacity:1;background-color:#a4cafe;background-color:rgba(164,202,254,var(--bg-opacity))}.xl\:hover\:bg-blue-400:hover{--bg-opacity:1;background-color:#76a9fa;background-color:rgba(118,169,250,var(--bg-opacity))}.xl\:hover\:bg-blue-500:hover{--bg-opacity:1;background-color:#3f83f8;background-color:rgba(63,131,248,var(--bg-opacity))}.xl\:hover\:bg-blue-600:hover{--bg-opacity:1;background-color:#1c64f2;background-color:rgba(28,100,242,var(--bg-opacity))}.xl\:hover\:bg-blue-700:hover{--bg-opacity:1;background-color:#1a56db;background-color:rgba(26,86,219,var(--bg-opacity))}.xl\:hover\:bg-blue-800:hover{--bg-opacity:1;background-color:#1e429f;background-color:rgba(30,66,159,var(--bg-opacity))}.xl\:hover\:bg-blue-900:hover{--bg-opacity:1;background-color:#233876;background-color:rgba(35,56,118,var(--bg-opacity))}.xl\:hover\:bg-indigo-50:hover{--bg-opacity:1;background-color:#f0f5ff;background-color:rgba(240,245,255,var(--bg-opacity))}.xl\:hover\:bg-indigo-100:hover{--bg-opacity:1;background-color:#e5edff;background-color:rgba(229,237,255,var(--bg-opacity))}.xl\:hover\:bg-indigo-200:hover{--bg-opacity:1;background-color:#cddbfe;background-color:rgba(205,219,254,var(--bg-opacity))}.xl\:hover\:bg-indigo-300:hover{--bg-opacity:1;background-color:#b4c6fc;background-color:rgba(180,198,252,var(--bg-opacity))}.xl\:hover\:bg-indigo-400:hover{--bg-opacity:1;background-color:#8da2fb;background-color:rgba(141,162,251,var(--bg-opacity))}.xl\:hover\:bg-indigo-500:hover{--bg-opacity:1;background-color:#6875f5;background-color:rgba(104,117,245,var(--bg-opacity))}.xl\:hover\:bg-indigo-600:hover{--bg-opacity:1;background-color:#5850ec;background-color:rgba(88,80,236,var(--bg-opacity))}.xl\:hover\:bg-indigo-700:hover{--bg-opacity:1;background-color:#5145cd;background-color:rgba(81,69,205,var(--bg-opacity))}.xl\:hover\:bg-indigo-800:hover{--bg-opacity:1;background-color:#42389d;background-color:rgba(66,56,157,var(--bg-opacity))}.xl\:hover\:bg-indigo-900:hover{--bg-opacity:1;background-color:#362f78;background-color:rgba(54,47,120,var(--bg-opacity))}.xl\:hover\:bg-purple-50:hover{--bg-opacity:1;background-color:#f6f5ff;background-color:rgba(246,245,255,var(--bg-opacity))}.xl\:hover\:bg-purple-100:hover{--bg-opacity:1;background-color:#edebfe;background-color:rgba(237,235,254,var(--bg-opacity))}.xl\:hover\:bg-purple-200:hover{--bg-opacity:1;background-color:#dcd7fe;background-color:rgba(220,215,254,var(--bg-opacity))}.xl\:hover\:bg-purple-300:hover{--bg-opacity:1;background-color:#cabffd;background-color:rgba(202,191,253,var(--bg-opacity))}.xl\:hover\:bg-purple-400:hover{--bg-opacity:1;background-color:#ac94fa;background-color:rgba(172,148,250,var(--bg-opacity))}.xl\:hover\:bg-purple-500:hover{--bg-opacity:1;background-color:#9061f9;background-color:rgba(144,97,249,var(--bg-opacity))}.xl\:hover\:bg-purple-600:hover{--bg-opacity:1;background-color:#7e3af2;background-color:rgba(126,58,242,var(--bg-opacity))}.xl\:hover\:bg-purple-700:hover{--bg-opacity:1;background-color:#6c2bd9;background-color:rgba(108,43,217,var(--bg-opacity))}.xl\:hover\:bg-purple-800:hover{--bg-opacity:1;background-color:#5521b5;background-color:rgba(85,33,181,var(--bg-opacity))}.xl\:hover\:bg-purple-900:hover{--bg-opacity:1;background-color:#4a1d96;background-color:rgba(74,29,150,var(--bg-opacity))}.xl\:hover\:bg-pink-50:hover{--bg-opacity:1;background-color:#fdf2f8;background-color:rgba(253,242,248,var(--bg-opacity))}.xl\:hover\:bg-pink-100:hover{--bg-opacity:1;background-color:#fce8f3;background-color:rgba(252,232,243,var(--bg-opacity))}.xl\:hover\:bg-pink-200:hover{--bg-opacity:1;background-color:#fad1e8;background-color:rgba(250,209,232,var(--bg-opacity))}.xl\:hover\:bg-pink-300:hover{--bg-opacity:1;background-color:#f8b4d9;background-color:rgba(248,180,217,var(--bg-opacity))}.xl\:hover\:bg-pink-400:hover{--bg-opacity:1;background-color:#f17eb8;background-color:rgba(241,126,184,var(--bg-opacity))}.xl\:hover\:bg-pink-500:hover{--bg-opacity:1;background-color:#e74694;background-color:rgba(231,70,148,var(--bg-opacity))}.xl\:hover\:bg-pink-600:hover{--bg-opacity:1;background-color:#d61f69;background-color:rgba(214,31,105,var(--bg-opacity))}.xl\:hover\:bg-pink-700:hover{--bg-opacity:1;background-color:#bf125d;background-color:rgba(191,18,93,var(--bg-opacity))}.xl\:hover\:bg-pink-800:hover{--bg-opacity:1;background-color:#99154b;background-color:rgba(153,21,75,var(--bg-opacity))}.xl\:hover\:bg-pink-900:hover{--bg-opacity:1;background-color:#751a3d;background-color:rgba(117,26,61,var(--bg-opacity))}.xl\:focus\:bg-transparent:focus{background-color:transparent}.xl\:focus\:bg-white:focus{--bg-opacity:1;background-color:#fff;background-color:rgba(255,255,255,var(--bg-opacity))}.xl\:focus\:bg-black:focus{--bg-opacity:1;background-color:#000;background-color:rgba(0,0,0,var(--bg-opacity))}.xl\:focus\:bg-gray-50:focus{--bg-opacity:1;background-color:#f9fafb;background-color:rgba(249,250,251,var(--bg-opacity))}.xl\:focus\:bg-gray-100:focus{--bg-opacity:1;background-color:#f4f5f7;background-color:rgba(244,245,247,var(--bg-opacity))}.xl\:focus\:bg-gray-200:focus{--bg-opacity:1;background-color:#e5e7eb;background-color:rgba(229,231,235,var(--bg-opacity))}.xl\:focus\:bg-gray-300:focus{--bg-opacity:1;background-color:#d2d6dc;background-color:rgba(210,214,220,var(--bg-opacity))}.xl\:focus\:bg-gray-400:focus{--bg-opacity:1;background-color:#9fa6b2;background-color:rgba(159,166,178,var(--bg-opacity))}.xl\:focus\:bg-gray-500:focus{--bg-opacity:1;background-color:#6b7280;background-color:rgba(107,114,128,var(--bg-opacity))}.xl\:focus\:bg-gray-600:focus{--bg-opacity:1;background-color:#4b5563;background-color:rgba(75,85,99,var(--bg-opacity))}.xl\:focus\:bg-gray-700:focus{--bg-opacity:1;background-color:#374151;background-color:rgba(55,65,81,var(--bg-opacity))}.xl\:focus\:bg-gray-800:focus{--bg-opacity:1;background-color:#252f3f;background-color:rgba(37,47,63,var(--bg-opacity))}.xl\:focus\:bg-gray-900:focus{--bg-opacity:1;background-color:#161e2e;background-color:rgba(22,30,46,var(--bg-opacity))}.xl\:focus\:bg-cool-gray-50:focus{--bg-opacity:1;background-color:#f8fafc;background-color:rgba(248,250,252,var(--bg-opacity))}.xl\:focus\:bg-cool-gray-100:focus{--bg-opacity:1;background-color:#f1f5f9;background-color:rgba(241,245,249,var(--bg-opacity))}.xl\:focus\:bg-cool-gray-200:focus{--bg-opacity:1;background-color:#e2e8f0;background-color:rgba(226,232,240,var(--bg-opacity))}.xl\:focus\:bg-cool-gray-300:focus{--bg-opacity:1;background-color:#cfd8e3;background-color:rgba(207,216,227,var(--bg-opacity))}.xl\:focus\:bg-cool-gray-400:focus{--bg-opacity:1;background-color:#97a6ba;background-color:rgba(151,166,186,var(--bg-opacity))}.xl\:focus\:bg-cool-gray-500:focus{--bg-opacity:1;background-color:#64748b;background-color:rgba(100,116,139,var(--bg-opacity))}.xl\:focus\:bg-cool-gray-600:focus{--bg-opacity:1;background-color:#475569;background-color:rgba(71,85,105,var(--bg-opacity))}.xl\:focus\:bg-cool-gray-700:focus{--bg-opacity:1;background-color:#364152;background-color:rgba(54,65,82,var(--bg-opacity))}.xl\:focus\:bg-cool-gray-800:focus{--bg-opacity:1;background-color:#27303f;background-color:rgba(39,48,63,var(--bg-opacity))}.xl\:focus\:bg-cool-gray-900:focus{--bg-opacity:1;background-color:#1a202e;background-color:rgba(26,32,46,var(--bg-opacity))}.xl\:focus\:bg-red-50:focus{--bg-opacity:1;background-color:#fdf2f2;background-color:rgba(253,242,242,var(--bg-opacity))}.xl\:focus\:bg-red-100:focus{--bg-opacity:1;background-color:#fde8e8;background-color:rgba(253,232,232,var(--bg-opacity))}.xl\:focus\:bg-red-200:focus{--bg-opacity:1;background-color:#fbd5d5;background-color:rgba(251,213,213,var(--bg-opacity))}.xl\:focus\:bg-red-300:focus{--bg-opacity:1;background-color:#f8b4b4;background-color:rgba(248,180,180,var(--bg-opacity))}.xl\:focus\:bg-red-400:focus{--bg-opacity:1;background-color:#f98080;background-color:rgba(249,128,128,var(--bg-opacity))}.xl\:focus\:bg-red-500:focus{--bg-opacity:1;background-color:#f05252;background-color:rgba(240,82,82,var(--bg-opacity))}.xl\:focus\:bg-red-600:focus{--bg-opacity:1;background-color:#e02424;background-color:rgba(224,36,36,var(--bg-opacity))}.xl\:focus\:bg-red-700:focus{--bg-opacity:1;background-color:#c81e1e;background-color:rgba(200,30,30,var(--bg-opacity))}.xl\:focus\:bg-red-800:focus{--bg-opacity:1;background-color:#9b1c1c;background-color:rgba(155,28,28,var(--bg-opacity))}.xl\:focus\:bg-red-900:focus{--bg-opacity:1;background-color:#771d1d;background-color:rgba(119,29,29,var(--bg-opacity))}.xl\:focus\:bg-orange-50:focus{--bg-opacity:1;background-color:#fff8f1;background-color:rgba(255,248,241,var(--bg-opacity))}.xl\:focus\:bg-orange-100:focus{--bg-opacity:1;background-color:#feecdc;background-color:rgba(254,236,220,var(--bg-opacity))}.xl\:focus\:bg-orange-200:focus{--bg-opacity:1;background-color:#fcd9bd;background-color:rgba(252,217,189,var(--bg-opacity))}.xl\:focus\:bg-orange-300:focus{--bg-opacity:1;background-color:#fdba8c;background-color:rgba(253,186,140,var(--bg-opacity))}.xl\:focus\:bg-orange-400:focus{--bg-opacity:1;background-color:#ff8a4c;background-color:rgba(255,138,76,var(--bg-opacity))}.xl\:focus\:bg-orange-500:focus{--bg-opacity:1;background-color:#ff5a1f;background-color:rgba(255,90,31,var(--bg-opacity))}.xl\:focus\:bg-orange-600:focus{--bg-opacity:1;background-color:#d03801;background-color:rgba(208,56,1,var(--bg-opacity))}.xl\:focus\:bg-orange-700:focus{--bg-opacity:1;background-color:#b43403;background-color:rgba(180,52,3,var(--bg-opacity))}.xl\:focus\:bg-orange-800:focus{--bg-opacity:1;background-color:#8a2c0d;background-color:rgba(138,44,13,var(--bg-opacity))}.xl\:focus\:bg-orange-900:focus{--bg-opacity:1;background-color:#73230d;background-color:rgba(115,35,13,var(--bg-opacity))}.xl\:focus\:bg-yellow-50:focus{--bg-opacity:1;background-color:#fdfdea;background-color:rgba(253,253,234,var(--bg-opacity))}.xl\:focus\:bg-yellow-100:focus{--bg-opacity:1;background-color:#fdf6b2;background-color:rgba(253,246,178,var(--bg-opacity))}.xl\:focus\:bg-yellow-200:focus{--bg-opacity:1;background-color:#fce96a;background-color:rgba(252,233,106,var(--bg-opacity))}.xl\:focus\:bg-yellow-300:focus{--bg-opacity:1;background-color:#faca15;background-color:rgba(250,202,21,var(--bg-opacity))}.xl\:focus\:bg-yellow-400:focus{--bg-opacity:1;background-color:#e3a008;background-color:rgba(227,160,8,var(--bg-opacity))}.xl\:focus\:bg-yellow-500:focus{--bg-opacity:1;background-color:#c27803;background-color:rgba(194,120,3,var(--bg-opacity))}.xl\:focus\:bg-yellow-600:focus{--bg-opacity:1;background-color:#9f580a;background-color:rgba(159,88,10,var(--bg-opacity))}.xl\:focus\:bg-yellow-700:focus{--bg-opacity:1;background-color:#8e4b10;background-color:rgba(142,75,16,var(--bg-opacity))}.xl\:focus\:bg-yellow-800:focus{--bg-opacity:1;background-color:#723b13;background-color:rgba(114,59,19,var(--bg-opacity))}.xl\:focus\:bg-yellow-900:focus{--bg-opacity:1;background-color:#633112;background-color:rgba(99,49,18,var(--bg-opacity))}.xl\:focus\:bg-green-50:focus{--bg-opacity:1;background-color:#f3faf7;background-color:rgba(243,250,247,var(--bg-opacity))}.xl\:focus\:bg-green-100:focus{--bg-opacity:1;background-color:#def7ec;background-color:rgba(222,247,236,var(--bg-opacity))}.xl\:focus\:bg-green-200:focus{--bg-opacity:1;background-color:#bcf0da;background-color:rgba(188,240,218,var(--bg-opacity))}.xl\:focus\:bg-green-300:focus{--bg-opacity:1;background-color:#84e1bc;background-color:rgba(132,225,188,var(--bg-opacity))}.xl\:focus\:bg-green-400:focus{--bg-opacity:1;background-color:#31c48d;background-color:rgba(49,196,141,var(--bg-opacity))}.xl\:focus\:bg-green-500:focus{--bg-opacity:1;background-color:#0e9f6e;background-color:rgba(14,159,110,var(--bg-opacity))}.xl\:focus\:bg-green-600:focus{--bg-opacity:1;background-color:#057a55;background-color:rgba(5,122,85,var(--bg-opacity))}.xl\:focus\:bg-green-700:focus{--bg-opacity:1;background-color:#046c4e;background-color:rgba(4,108,78,var(--bg-opacity))}.xl\:focus\:bg-green-800:focus{--bg-opacity:1;background-color:#03543f;background-color:rgba(3,84,63,var(--bg-opacity))}.xl\:focus\:bg-green-900:focus{--bg-opacity:1;background-color:#014737;background-color:rgba(1,71,55,var(--bg-opacity))}.xl\:focus\:bg-teal-50:focus{--bg-opacity:1;background-color:#edfafa;background-color:rgba(237,250,250,var(--bg-opacity))}.xl\:focus\:bg-teal-100:focus{--bg-opacity:1;background-color:#d5f5f6;background-color:rgba(213,245,246,var(--bg-opacity))}.xl\:focus\:bg-teal-200:focus{--bg-opacity:1;background-color:#afecef;background-color:rgba(175,236,239,var(--bg-opacity))}.xl\:focus\:bg-teal-300:focus{--bg-opacity:1;background-color:#7edce2;background-color:rgba(126,220,226,var(--bg-opacity))}.xl\:focus\:bg-teal-400:focus{--bg-opacity:1;background-color:#16bdca;background-color:rgba(22,189,202,var(--bg-opacity))}.xl\:focus\:bg-teal-500:focus{--bg-opacity:1;background-color:#0694a2;background-color:rgba(6,148,162,var(--bg-opacity))}.xl\:focus\:bg-teal-600:focus{--bg-opacity:1;background-color:#047481;background-color:rgba(4,116,129,var(--bg-opacity))}.xl\:focus\:bg-teal-700:focus{--bg-opacity:1;background-color:#036672;background-color:rgba(3,102,114,var(--bg-opacity))}.xl\:focus\:bg-teal-800:focus{--bg-opacity:1;background-color:#05505c;background-color:rgba(5,80,92,var(--bg-opacity))}.xl\:focus\:bg-teal-900:focus{--bg-opacity:1;background-color:#014451;background-color:rgba(1,68,81,var(--bg-opacity))}.xl\:focus\:bg-blue-50:focus{--bg-opacity:1;background-color:#ebf5ff;background-color:rgba(235,245,255,var(--bg-opacity))}.xl\:focus\:bg-blue-100:focus{--bg-opacity:1;background-color:#e1effe;background-color:rgba(225,239,254,var(--bg-opacity))}.xl\:focus\:bg-blue-200:focus{--bg-opacity:1;background-color:#c3ddfd;background-color:rgba(195,221,253,var(--bg-opacity))}.xl\:focus\:bg-blue-300:focus{--bg-opacity:1;background-color:#a4cafe;background-color:rgba(164,202,254,var(--bg-opacity))}.xl\:focus\:bg-blue-400:focus{--bg-opacity:1;background-color:#76a9fa;background-color:rgba(118,169,250,var(--bg-opacity))}.xl\:focus\:bg-blue-500:focus{--bg-opacity:1;background-color:#3f83f8;background-color:rgba(63,131,248,var(--bg-opacity))}.xl\:focus\:bg-blue-600:focus{--bg-opacity:1;background-color:#1c64f2;background-color:rgba(28,100,242,var(--bg-opacity))}.xl\:focus\:bg-blue-700:focus{--bg-opacity:1;background-color:#1a56db;background-color:rgba(26,86,219,var(--bg-opacity))}.xl\:focus\:bg-blue-800:focus{--bg-opacity:1;background-color:#1e429f;background-color:rgba(30,66,159,var(--bg-opacity))}.xl\:focus\:bg-blue-900:focus{--bg-opacity:1;background-color:#233876;background-color:rgba(35,56,118,var(--bg-opacity))}.xl\:focus\:bg-indigo-50:focus{--bg-opacity:1;background-color:#f0f5ff;background-color:rgba(240,245,255,var(--bg-opacity))}.xl\:focus\:bg-indigo-100:focus{--bg-opacity:1;background-color:#e5edff;background-color:rgba(229,237,255,var(--bg-opacity))}.xl\:focus\:bg-indigo-200:focus{--bg-opacity:1;background-color:#cddbfe;background-color:rgba(205,219,254,var(--bg-opacity))}.xl\:focus\:bg-indigo-300:focus{--bg-opacity:1;background-color:#b4c6fc;background-color:rgba(180,198,252,var(--bg-opacity))}.xl\:focus\:bg-indigo-400:focus{--bg-opacity:1;background-color:#8da2fb;background-color:rgba(141,162,251,var(--bg-opacity))}.xl\:focus\:bg-indigo-500:focus{--bg-opacity:1;background-color:#6875f5;background-color:rgba(104,117,245,var(--bg-opacity))}.xl\:focus\:bg-indigo-600:focus{--bg-opacity:1;background-color:#5850ec;background-color:rgba(88,80,236,var(--bg-opacity))}.xl\:focus\:bg-indigo-700:focus{--bg-opacity:1;background-color:#5145cd;background-color:rgba(81,69,205,var(--bg-opacity))}.xl\:focus\:bg-indigo-800:focus{--bg-opacity:1;background-color:#42389d;background-color:rgba(66,56,157,var(--bg-opacity))}.xl\:focus\:bg-indigo-900:focus{--bg-opacity:1;background-color:#362f78;background-color:rgba(54,47,120,var(--bg-opacity))}.xl\:focus\:bg-purple-50:focus{--bg-opacity:1;background-color:#f6f5ff;background-color:rgba(246,245,255,var(--bg-opacity))}.xl\:focus\:bg-purple-100:focus{--bg-opacity:1;background-color:#edebfe;background-color:rgba(237,235,254,var(--bg-opacity))}.xl\:focus\:bg-purple-200:focus{--bg-opacity:1;background-color:#dcd7fe;background-color:rgba(220,215,254,var(--bg-opacity))}.xl\:focus\:bg-purple-300:focus{--bg-opacity:1;background-color:#cabffd;background-color:rgba(202,191,253,var(--bg-opacity))}.xl\:focus\:bg-purple-400:focus{--bg-opacity:1;background-color:#ac94fa;background-color:rgba(172,148,250,var(--bg-opacity))}.xl\:focus\:bg-purple-500:focus{--bg-opacity:1;background-color:#9061f9;background-color:rgba(144,97,249,var(--bg-opacity))}.xl\:focus\:bg-purple-600:focus{--bg-opacity:1;background-color:#7e3af2;background-color:rgba(126,58,242,var(--bg-opacity))}.xl\:focus\:bg-purple-700:focus{--bg-opacity:1;background-color:#6c2bd9;background-color:rgba(108,43,217,var(--bg-opacity))}.xl\:focus\:bg-purple-800:focus{--bg-opacity:1;background-color:#5521b5;background-color:rgba(85,33,181,var(--bg-opacity))}.xl\:focus\:bg-purple-900:focus{--bg-opacity:1;background-color:#4a1d96;background-color:rgba(74,29,150,var(--bg-opacity))}.xl\:focus\:bg-pink-50:focus{--bg-opacity:1;background-color:#fdf2f8;background-color:rgba(253,242,248,var(--bg-opacity))}.xl\:focus\:bg-pink-100:focus{--bg-opacity:1;background-color:#fce8f3;background-color:rgba(252,232,243,var(--bg-opacity))}.xl\:focus\:bg-pink-200:focus{--bg-opacity:1;background-color:#fad1e8;background-color:rgba(250,209,232,var(--bg-opacity))}.xl\:focus\:bg-pink-300:focus{--bg-opacity:1;background-color:#f8b4d9;background-color:rgba(248,180,217,var(--bg-opacity))}.xl\:focus\:bg-pink-400:focus{--bg-opacity:1;background-color:#f17eb8;background-color:rgba(241,126,184,var(--bg-opacity))}.xl\:focus\:bg-pink-500:focus{--bg-opacity:1;background-color:#e74694;background-color:rgba(231,70,148,var(--bg-opacity))}.xl\:focus\:bg-pink-600:focus{--bg-opacity:1;background-color:#d61f69;background-color:rgba(214,31,105,var(--bg-opacity))}.xl\:focus\:bg-pink-700:focus{--bg-opacity:1;background-color:#bf125d;background-color:rgba(191,18,93,var(--bg-opacity))}.xl\:focus\:bg-pink-800:focus{--bg-opacity:1;background-color:#99154b;background-color:rgba(153,21,75,var(--bg-opacity))}.xl\:focus\:bg-pink-900:focus{--bg-opacity:1;background-color:#751a3d;background-color:rgba(117,26,61,var(--bg-opacity))}.xl\:active\:bg-transparent:active{background-color:transparent}.xl\:active\:bg-white:active{--bg-opacity:1;background-color:#fff;background-color:rgba(255,255,255,var(--bg-opacity))}.xl\:active\:bg-black:active{--bg-opacity:1;background-color:#000;background-color:rgba(0,0,0,var(--bg-opacity))}.xl\:active\:bg-gray-50:active{--bg-opacity:1;background-color:#f9fafb;background-color:rgba(249,250,251,var(--bg-opacity))}.xl\:active\:bg-gray-100:active{--bg-opacity:1;background-color:#f4f5f7;background-color:rgba(244,245,247,var(--bg-opacity))}.xl\:active\:bg-gray-200:active{--bg-opacity:1;background-color:#e5e7eb;background-color:rgba(229,231,235,var(--bg-opacity))}.xl\:active\:bg-gray-300:active{--bg-opacity:1;background-color:#d2d6dc;background-color:rgba(210,214,220,var(--bg-opacity))}.xl\:active\:bg-gray-400:active{--bg-opacity:1;background-color:#9fa6b2;background-color:rgba(159,166,178,var(--bg-opacity))}.xl\:active\:bg-gray-500:active{--bg-opacity:1;background-color:#6b7280;background-color:rgba(107,114,128,var(--bg-opacity))}.xl\:active\:bg-gray-600:active{--bg-opacity:1;background-color:#4b5563;background-color:rgba(75,85,99,var(--bg-opacity))}.xl\:active\:bg-gray-700:active{--bg-opacity:1;background-color:#374151;background-color:rgba(55,65,81,var(--bg-opacity))}.xl\:active\:bg-gray-800:active{--bg-opacity:1;background-color:#252f3f;background-color:rgba(37,47,63,var(--bg-opacity))}.xl\:active\:bg-gray-900:active{--bg-opacity:1;background-color:#161e2e;background-color:rgba(22,30,46,var(--bg-opacity))}.xl\:active\:bg-cool-gray-50:active{--bg-opacity:1;background-color:#f8fafc;background-color:rgba(248,250,252,var(--bg-opacity))}.xl\:active\:bg-cool-gray-100:active{--bg-opacity:1;background-color:#f1f5f9;background-color:rgba(241,245,249,var(--bg-opacity))}.xl\:active\:bg-cool-gray-200:active{--bg-opacity:1;background-color:#e2e8f0;background-color:rgba(226,232,240,var(--bg-opacity))}.xl\:active\:bg-cool-gray-300:active{--bg-opacity:1;background-color:#cfd8e3;background-color:rgba(207,216,227,var(--bg-opacity))}.xl\:active\:bg-cool-gray-400:active{--bg-opacity:1;background-color:#97a6ba;background-color:rgba(151,166,186,var(--bg-opacity))}.xl\:active\:bg-cool-gray-500:active{--bg-opacity:1;background-color:#64748b;background-color:rgba(100,116,139,var(--bg-opacity))}.xl\:active\:bg-cool-gray-600:active{--bg-opacity:1;background-color:#475569;background-color:rgba(71,85,105,var(--bg-opacity))}.xl\:active\:bg-cool-gray-700:active{--bg-opacity:1;background-color:#364152;background-color:rgba(54,65,82,var(--bg-opacity))}.xl\:active\:bg-cool-gray-800:active{--bg-opacity:1;background-color:#27303f;background-color:rgba(39,48,63,var(--bg-opacity))}.xl\:active\:bg-cool-gray-900:active{--bg-opacity:1;background-color:#1a202e;background-color:rgba(26,32,46,var(--bg-opacity))}.xl\:active\:bg-red-50:active{--bg-opacity:1;background-color:#fdf2f2;background-color:rgba(253,242,242,var(--bg-opacity))}.xl\:active\:bg-red-100:active{--bg-opacity:1;background-color:#fde8e8;background-color:rgba(253,232,232,var(--bg-opacity))}.xl\:active\:bg-red-200:active{--bg-opacity:1;background-color:#fbd5d5;background-color:rgba(251,213,213,var(--bg-opacity))}.xl\:active\:bg-red-300:active{--bg-opacity:1;background-color:#f8b4b4;background-color:rgba(248,180,180,var(--bg-opacity))}.xl\:active\:bg-red-400:active{--bg-opacity:1;background-color:#f98080;background-color:rgba(249,128,128,var(--bg-opacity))}.xl\:active\:bg-red-500:active{--bg-opacity:1;background-color:#f05252;background-color:rgba(240,82,82,var(--bg-opacity))}.xl\:active\:bg-red-600:active{--bg-opacity:1;background-color:#e02424;background-color:rgba(224,36,36,var(--bg-opacity))}.xl\:active\:bg-red-700:active{--bg-opacity:1;background-color:#c81e1e;background-color:rgba(200,30,30,var(--bg-opacity))}.xl\:active\:bg-red-800:active{--bg-opacity:1;background-color:#9b1c1c;background-color:rgba(155,28,28,var(--bg-opacity))}.xl\:active\:bg-red-900:active{--bg-opacity:1;background-color:#771d1d;background-color:rgba(119,29,29,var(--bg-opacity))}.xl\:active\:bg-orange-50:active{--bg-opacity:1;background-color:#fff8f1;background-color:rgba(255,248,241,var(--bg-opacity))}.xl\:active\:bg-orange-100:active{--bg-opacity:1;background-color:#feecdc;background-color:rgba(254,236,220,var(--bg-opacity))}.xl\:active\:bg-orange-200:active{--bg-opacity:1;background-color:#fcd9bd;background-color:rgba(252,217,189,var(--bg-opacity))}.xl\:active\:bg-orange-300:active{--bg-opacity:1;background-color:#fdba8c;background-color:rgba(253,186,140,var(--bg-opacity))}.xl\:active\:bg-orange-400:active{--bg-opacity:1;background-color:#ff8a4c;background-color:rgba(255,138,76,var(--bg-opacity))}.xl\:active\:bg-orange-500:active{--bg-opacity:1;background-color:#ff5a1f;background-color:rgba(255,90,31,var(--bg-opacity))}.xl\:active\:bg-orange-600:active{--bg-opacity:1;background-color:#d03801;background-color:rgba(208,56,1,var(--bg-opacity))}.xl\:active\:bg-orange-700:active{--bg-opacity:1;background-color:#b43403;background-color:rgba(180,52,3,var(--bg-opacity))}.xl\:active\:bg-orange-800:active{--bg-opacity:1;background-color:#8a2c0d;background-color:rgba(138,44,13,var(--bg-opacity))}.xl\:active\:bg-orange-900:active{--bg-opacity:1;background-color:#73230d;background-color:rgba(115,35,13,var(--bg-opacity))}.xl\:active\:bg-yellow-50:active{--bg-opacity:1;background-color:#fdfdea;background-color:rgba(253,253,234,var(--bg-opacity))}.xl\:active\:bg-yellow-100:active{--bg-opacity:1;background-color:#fdf6b2;background-color:rgba(253,246,178,var(--bg-opacity))}.xl\:active\:bg-yellow-200:active{--bg-opacity:1;background-color:#fce96a;background-color:rgba(252,233,106,var(--bg-opacity))}.xl\:active\:bg-yellow-300:active{--bg-opacity:1;background-color:#faca15;background-color:rgba(250,202,21,var(--bg-opacity))}.xl\:active\:bg-yellow-400:active{--bg-opacity:1;background-color:#e3a008;background-color:rgba(227,160,8,var(--bg-opacity))}.xl\:active\:bg-yellow-500:active{--bg-opacity:1;background-color:#c27803;background-color:rgba(194,120,3,var(--bg-opacity))}.xl\:active\:bg-yellow-600:active{--bg-opacity:1;background-color:#9f580a;background-color:rgba(159,88,10,var(--bg-opacity))}.xl\:active\:bg-yellow-700:active{--bg-opacity:1;background-color:#8e4b10;background-color:rgba(142,75,16,var(--bg-opacity))}.xl\:active\:bg-yellow-800:active{--bg-opacity:1;background-color:#723b13;background-color:rgba(114,59,19,var(--bg-opacity))}.xl\:active\:bg-yellow-900:active{--bg-opacity:1;background-color:#633112;background-color:rgba(99,49,18,var(--bg-opacity))}.xl\:active\:bg-green-50:active{--bg-opacity:1;background-color:#f3faf7;background-color:rgba(243,250,247,var(--bg-opacity))}.xl\:active\:bg-green-100:active{--bg-opacity:1;background-color:#def7ec;background-color:rgba(222,247,236,var(--bg-opacity))}.xl\:active\:bg-green-200:active{--bg-opacity:1;background-color:#bcf0da;background-color:rgba(188,240,218,var(--bg-opacity))}.xl\:active\:bg-green-300:active{--bg-opacity:1;background-color:#84e1bc;background-color:rgba(132,225,188,var(--bg-opacity))}.xl\:active\:bg-green-400:active{--bg-opacity:1;background-color:#31c48d;background-color:rgba(49,196,141,var(--bg-opacity))}.xl\:active\:bg-green-500:active{--bg-opacity:1;background-color:#0e9f6e;background-color:rgba(14,159,110,var(--bg-opacity))}.xl\:active\:bg-green-600:active{--bg-opacity:1;background-color:#057a55;background-color:rgba(5,122,85,var(--bg-opacity))}.xl\:active\:bg-green-700:active{--bg-opacity:1;background-color:#046c4e;background-color:rgba(4,108,78,var(--bg-opacity))}.xl\:active\:bg-green-800:active{--bg-opacity:1;background-color:#03543f;background-color:rgba(3,84,63,var(--bg-opacity))}.xl\:active\:bg-green-900:active{--bg-opacity:1;background-color:#014737;background-color:rgba(1,71,55,var(--bg-opacity))}.xl\:active\:bg-teal-50:active{--bg-opacity:1;background-color:#edfafa;background-color:rgba(237,250,250,var(--bg-opacity))}.xl\:active\:bg-teal-100:active{--bg-opacity:1;background-color:#d5f5f6;background-color:rgba(213,245,246,var(--bg-opacity))}.xl\:active\:bg-teal-200:active{--bg-opacity:1;background-color:#afecef;background-color:rgba(175,236,239,var(--bg-opacity))}.xl\:active\:bg-teal-300:active{--bg-opacity:1;background-color:#7edce2;background-color:rgba(126,220,226,var(--bg-opacity))}.xl\:active\:bg-teal-400:active{--bg-opacity:1;background-color:#16bdca;background-color:rgba(22,189,202,var(--bg-opacity))}.xl\:active\:bg-teal-500:active{--bg-opacity:1;background-color:#0694a2;background-color:rgba(6,148,162,var(--bg-opacity))}.xl\:active\:bg-teal-600:active{--bg-opacity:1;background-color:#047481;background-color:rgba(4,116,129,var(--bg-opacity))}.xl\:active\:bg-teal-700:active{--bg-opacity:1;background-color:#036672;background-color:rgba(3,102,114,var(--bg-opacity))}.xl\:active\:bg-teal-800:active{--bg-opacity:1;background-color:#05505c;background-color:rgba(5,80,92,var(--bg-opacity))}.xl\:active\:bg-teal-900:active{--bg-opacity:1;background-color:#014451;background-color:rgba(1,68,81,var(--bg-opacity))}.xl\:active\:bg-blue-50:active{--bg-opacity:1;background-color:#ebf5ff;background-color:rgba(235,245,255,var(--bg-opacity))}.xl\:active\:bg-blue-100:active{--bg-opacity:1;background-color:#e1effe;background-color:rgba(225,239,254,var(--bg-opacity))}.xl\:active\:bg-blue-200:active{--bg-opacity:1;background-color:#c3ddfd;background-color:rgba(195,221,253,var(--bg-opacity))}.xl\:active\:bg-blue-300:active{--bg-opacity:1;background-color:#a4cafe;background-color:rgba(164,202,254,var(--bg-opacity))}.xl\:active\:bg-blue-400:active{--bg-opacity:1;background-color:#76a9fa;background-color:rgba(118,169,250,var(--bg-opacity))}.xl\:active\:bg-blue-500:active{--bg-opacity:1;background-color:#3f83f8;background-color:rgba(63,131,248,var(--bg-opacity))}.xl\:active\:bg-blue-600:active{--bg-opacity:1;background-color:#1c64f2;background-color:rgba(28,100,242,var(--bg-opacity))}.xl\:active\:bg-blue-700:active{--bg-opacity:1;background-color:#1a56db;background-color:rgba(26,86,219,var(--bg-opacity))}.xl\:active\:bg-blue-800:active{--bg-opacity:1;background-color:#1e429f;background-color:rgba(30,66,159,var(--bg-opacity))}.xl\:active\:bg-blue-900:active{--bg-opacity:1;background-color:#233876;background-color:rgba(35,56,118,var(--bg-opacity))}.xl\:active\:bg-indigo-50:active{--bg-opacity:1;background-color:#f0f5ff;background-color:rgba(240,245,255,var(--bg-opacity))}.xl\:active\:bg-indigo-100:active{--bg-opacity:1;background-color:#e5edff;background-color:rgba(229,237,255,var(--bg-opacity))}.xl\:active\:bg-indigo-200:active{--bg-opacity:1;background-color:#cddbfe;background-color:rgba(205,219,254,var(--bg-opacity))}.xl\:active\:bg-indigo-300:active{--bg-opacity:1;background-color:#b4c6fc;background-color:rgba(180,198,252,var(--bg-opacity))}.xl\:active\:bg-indigo-400:active{--bg-opacity:1;background-color:#8da2fb;background-color:rgba(141,162,251,var(--bg-opacity))}.xl\:active\:bg-indigo-500:active{--bg-opacity:1;background-color:#6875f5;background-color:rgba(104,117,245,var(--bg-opacity))}.xl\:active\:bg-indigo-600:active{--bg-opacity:1;background-color:#5850ec;background-color:rgba(88,80,236,var(--bg-opacity))}.xl\:active\:bg-indigo-700:active{--bg-opacity:1;background-color:#5145cd;background-color:rgba(81,69,205,var(--bg-opacity))}.xl\:active\:bg-indigo-800:active{--bg-opacity:1;background-color:#42389d;background-color:rgba(66,56,157,var(--bg-opacity))}.xl\:active\:bg-indigo-900:active{--bg-opacity:1;background-color:#362f78;background-color:rgba(54,47,120,var(--bg-opacity))}.xl\:active\:bg-purple-50:active{--bg-opacity:1;background-color:#f6f5ff;background-color:rgba(246,245,255,var(--bg-opacity))}.xl\:active\:bg-purple-100:active{--bg-opacity:1;background-color:#edebfe;background-color:rgba(237,235,254,var(--bg-opacity))}.xl\:active\:bg-purple-200:active{--bg-opacity:1;background-color:#dcd7fe;background-color:rgba(220,215,254,var(--bg-opacity))}.xl\:active\:bg-purple-300:active{--bg-opacity:1;background-color:#cabffd;background-color:rgba(202,191,253,var(--bg-opacity))}.xl\:active\:bg-purple-400:active{--bg-opacity:1;background-color:#ac94fa;background-color:rgba(172,148,250,var(--bg-opacity))}.xl\:active\:bg-purple-500:active{--bg-opacity:1;background-color:#9061f9;background-color:rgba(144,97,249,var(--bg-opacity))}.xl\:active\:bg-purple-600:active{--bg-opacity:1;background-color:#7e3af2;background-color:rgba(126,58,242,var(--bg-opacity))}.xl\:active\:bg-purple-700:active{--bg-opacity:1;background-color:#6c2bd9;background-color:rgba(108,43,217,var(--bg-opacity))}.xl\:active\:bg-purple-800:active{--bg-opacity:1;background-color:#5521b5;background-color:rgba(85,33,181,var(--bg-opacity))}.xl\:active\:bg-purple-900:active{--bg-opacity:1;background-color:#4a1d96;background-color:rgba(74,29,150,var(--bg-opacity))}.xl\:active\:bg-pink-50:active{--bg-opacity:1;background-color:#fdf2f8;background-color:rgba(253,242,248,var(--bg-opacity))}.xl\:active\:bg-pink-100:active{--bg-opacity:1;background-color:#fce8f3;background-color:rgba(252,232,243,var(--bg-opacity))}.xl\:active\:bg-pink-200:active{--bg-opacity:1;background-color:#fad1e8;background-color:rgba(250,209,232,var(--bg-opacity))}.xl\:active\:bg-pink-300:active{--bg-opacity:1;background-color:#f8b4d9;background-color:rgba(248,180,217,var(--bg-opacity))}.xl\:active\:bg-pink-400:active{--bg-opacity:1;background-color:#f17eb8;background-color:rgba(241,126,184,var(--bg-opacity))}.xl\:active\:bg-pink-500:active{--bg-opacity:1;background-color:#e74694;background-color:rgba(231,70,148,var(--bg-opacity))}.xl\:active\:bg-pink-600:active{--bg-opacity:1;background-color:#d61f69;background-color:rgba(214,31,105,var(--bg-opacity))}.xl\:active\:bg-pink-700:active{--bg-opacity:1;background-color:#bf125d;background-color:rgba(191,18,93,var(--bg-opacity))}.xl\:active\:bg-pink-800:active{--bg-opacity:1;background-color:#99154b;background-color:rgba(153,21,75,var(--bg-opacity))}.xl\:active\:bg-pink-900:active{--bg-opacity:1;background-color:#751a3d;background-color:rgba(117,26,61,var(--bg-opacity))}.xl\:bg-opacity-0{--bg-opacity:0}.xl\:bg-opacity-25{--bg-opacity:0.25}.xl\:bg-opacity-50{--bg-opacity:0.5}.xl\:bg-opacity-75{--bg-opacity:0.75}.xl\:bg-opacity-100{--bg-opacity:1}.xl\:hover\:bg-opacity-0:hover{--bg-opacity:0}.xl\:hover\:bg-opacity-25:hover{--bg-opacity:0.25}.xl\:hover\:bg-opacity-50:hover{--bg-opacity:0.5}.xl\:hover\:bg-opacity-75:hover{--bg-opacity:0.75}.xl\:hover\:bg-opacity-100:hover{--bg-opacity:1}.xl\:focus\:bg-opacity-0:focus{--bg-opacity:0}.xl\:focus\:bg-opacity-25:focus{--bg-opacity:0.25}.xl\:focus\:bg-opacity-50:focus{--bg-opacity:0.5}.xl\:focus\:bg-opacity-75:focus{--bg-opacity:0.75}.xl\:focus\:bg-opacity-100:focus{--bg-opacity:1}.xl\:bg-bottom{background-position:bottom}.xl\:bg-center{background-position:center}.xl\:bg-left{background-position:left}.xl\:bg-left-bottom{background-position:left bottom}.xl\:bg-left-top{background-position:left top}.xl\:bg-right{background-position:right}.xl\:bg-right-bottom{background-position:right bottom}.xl\:bg-right-top{background-position:right top}.xl\:bg-top{background-position:top}.xl\:bg-repeat{background-repeat:repeat}.xl\:bg-no-repeat{background-repeat:no-repeat}.xl\:bg-repeat-x{background-repeat:repeat-x}.xl\:bg-repeat-y{background-repeat:repeat-y}.xl\:bg-repeat-round{background-repeat:round}.xl\:bg-repeat-space{background-repeat:space}.xl\:bg-auto{background-size:auto}.xl\:bg-cover{background-size:cover}.xl\:bg-contain{background-size:contain}.xl\:border-collapse{border-collapse:collapse}.xl\:border-separate{border-collapse:separate}.xl\:border-transparent{border-color:transparent}.xl\:border-white{--border-opacity:1;border-color:#fff;border-color:rgba(255,255,255,var(--border-opacity))}.xl\:border-black{--border-opacity:1;border-color:#000;border-color:rgba(0,0,0,var(--border-opacity))}.xl\:border-gray-50{--border-opacity:1;border-color:#f9fafb;border-color:rgba(249,250,251,var(--border-opacity))}.xl\:border-gray-100{--border-opacity:1;border-color:#f4f5f7;border-color:rgba(244,245,247,var(--border-opacity))}.xl\:border-gray-200{--border-opacity:1;border-color:#e5e7eb;border-color:rgba(229,231,235,var(--border-opacity))}.xl\:border-gray-300{--border-opacity:1;border-color:#d2d6dc;border-color:rgba(210,214,220,var(--border-opacity))}.xl\:border-gray-400{--border-opacity:1;border-color:#9fa6b2;border-color:rgba(159,166,178,var(--border-opacity))}.xl\:border-gray-500{--border-opacity:1;border-color:#6b7280;border-color:rgba(107,114,128,var(--border-opacity))}.xl\:border-gray-600{--border-opacity:1;border-color:#4b5563;border-color:rgba(75,85,99,var(--border-opacity))}.xl\:border-gray-700{--border-opacity:1;border-color:#374151;border-color:rgba(55,65,81,var(--border-opacity))}.xl\:border-gray-800{--border-opacity:1;border-color:#252f3f;border-color:rgba(37,47,63,var(--border-opacity))}.xl\:border-gray-900{--border-opacity:1;border-color:#161e2e;border-color:rgba(22,30,46,var(--border-opacity))}.xl\:border-cool-gray-50{--border-opacity:1;border-color:#f8fafc;border-color:rgba(248,250,252,var(--border-opacity))}.xl\:border-cool-gray-100{--border-opacity:1;border-color:#f1f5f9;border-color:rgba(241,245,249,var(--border-opacity))}.xl\:border-cool-gray-200{--border-opacity:1;border-color:#e2e8f0;border-color:rgba(226,232,240,var(--border-opacity))}.xl\:border-cool-gray-300{--border-opacity:1;border-color:#cfd8e3;border-color:rgba(207,216,227,var(--border-opacity))}.xl\:border-cool-gray-400{--border-opacity:1;border-color:#97a6ba;border-color:rgba(151,166,186,var(--border-opacity))}.xl\:border-cool-gray-500{--border-opacity:1;border-color:#64748b;border-color:rgba(100,116,139,var(--border-opacity))}.xl\:border-cool-gray-600{--border-opacity:1;border-color:#475569;border-color:rgba(71,85,105,var(--border-opacity))}.xl\:border-cool-gray-700{--border-opacity:1;border-color:#364152;border-color:rgba(54,65,82,var(--border-opacity))}.xl\:border-cool-gray-800{--border-opacity:1;border-color:#27303f;border-color:rgba(39,48,63,var(--border-opacity))}.xl\:border-cool-gray-900{--border-opacity:1;border-color:#1a202e;border-color:rgba(26,32,46,var(--border-opacity))}.xl\:border-red-50{--border-opacity:1;border-color:#fdf2f2;border-color:rgba(253,242,242,var(--border-opacity))}.xl\:border-red-100{--border-opacity:1;border-color:#fde8e8;border-color:rgba(253,232,232,var(--border-opacity))}.xl\:border-red-200{--border-opacity:1;border-color:#fbd5d5;border-color:rgba(251,213,213,var(--border-opacity))}.xl\:border-red-300{--border-opacity:1;border-color:#f8b4b4;border-color:rgba(248,180,180,var(--border-opacity))}.xl\:border-red-400{--border-opacity:1;border-color:#f98080;border-color:rgba(249,128,128,var(--border-opacity))}.xl\:border-red-500{--border-opacity:1;border-color:#f05252;border-color:rgba(240,82,82,var(--border-opacity))}.xl\:border-red-600{--border-opacity:1;border-color:#e02424;border-color:rgba(224,36,36,var(--border-opacity))}.xl\:border-red-700{--border-opacity:1;border-color:#c81e1e;border-color:rgba(200,30,30,var(--border-opacity))}.xl\:border-red-800{--border-opacity:1;border-color:#9b1c1c;border-color:rgba(155,28,28,var(--border-opacity))}.xl\:border-red-900{--border-opacity:1;border-color:#771d1d;border-color:rgba(119,29,29,var(--border-opacity))}.xl\:border-orange-50{--border-opacity:1;border-color:#fff8f1;border-color:rgba(255,248,241,var(--border-opacity))}.xl\:border-orange-100{--border-opacity:1;border-color:#feecdc;border-color:rgba(254,236,220,var(--border-opacity))}.xl\:border-orange-200{--border-opacity:1;border-color:#fcd9bd;border-color:rgba(252,217,189,var(--border-opacity))}.xl\:border-orange-300{--border-opacity:1;border-color:#fdba8c;border-color:rgba(253,186,140,var(--border-opacity))}.xl\:border-orange-400{--border-opacity:1;border-color:#ff8a4c;border-color:rgba(255,138,76,var(--border-opacity))}.xl\:border-orange-500{--border-opacity:1;border-color:#ff5a1f;border-color:rgba(255,90,31,var(--border-opacity))}.xl\:border-orange-600{--border-opacity:1;border-color:#d03801;border-color:rgba(208,56,1,var(--border-opacity))}.xl\:border-orange-700{--border-opacity:1;border-color:#b43403;border-color:rgba(180,52,3,var(--border-opacity))}.xl\:border-orange-800{--border-opacity:1;border-color:#8a2c0d;border-color:rgba(138,44,13,var(--border-opacity))}.xl\:border-orange-900{--border-opacity:1;border-color:#73230d;border-color:rgba(115,35,13,var(--border-opacity))}.xl\:border-yellow-50{--border-opacity:1;border-color:#fdfdea;border-color:rgba(253,253,234,var(--border-opacity))}.xl\:border-yellow-100{--border-opacity:1;border-color:#fdf6b2;border-color:rgba(253,246,178,var(--border-opacity))}.xl\:border-yellow-200{--border-opacity:1;border-color:#fce96a;border-color:rgba(252,233,106,var(--border-opacity))}.xl\:border-yellow-300{--border-opacity:1;border-color:#faca15;border-color:rgba(250,202,21,var(--border-opacity))}.xl\:border-yellow-400{--border-opacity:1;border-color:#e3a008;border-color:rgba(227,160,8,var(--border-opacity))}.xl\:border-yellow-500{--border-opacity:1;border-color:#c27803;border-color:rgba(194,120,3,var(--border-opacity))}.xl\:border-yellow-600{--border-opacity:1;border-color:#9f580a;border-color:rgba(159,88,10,var(--border-opacity))}.xl\:border-yellow-700{--border-opacity:1;border-color:#8e4b10;border-color:rgba(142,75,16,var(--border-opacity))}.xl\:border-yellow-800{--border-opacity:1;border-color:#723b13;border-color:rgba(114,59,19,var(--border-opacity))}.xl\:border-yellow-900{--border-opacity:1;border-color:#633112;border-color:rgba(99,49,18,var(--border-opacity))}.xl\:border-green-50{--border-opacity:1;border-color:#f3faf7;border-color:rgba(243,250,247,var(--border-opacity))}.xl\:border-green-100{--border-opacity:1;border-color:#def7ec;border-color:rgba(222,247,236,var(--border-opacity))}.xl\:border-green-200{--border-opacity:1;border-color:#bcf0da;border-color:rgba(188,240,218,var(--border-opacity))}.xl\:border-green-300{--border-opacity:1;border-color:#84e1bc;border-color:rgba(132,225,188,var(--border-opacity))}.xl\:border-green-400{--border-opacity:1;border-color:#31c48d;border-color:rgba(49,196,141,var(--border-opacity))}.xl\:border-green-500{--border-opacity:1;border-color:#0e9f6e;border-color:rgba(14,159,110,var(--border-opacity))}.xl\:border-green-600{--border-opacity:1;border-color:#057a55;border-color:rgba(5,122,85,var(--border-opacity))}.xl\:border-green-700{--border-opacity:1;border-color:#046c4e;border-color:rgba(4,108,78,var(--border-opacity))}.xl\:border-green-800{--border-opacity:1;border-color:#03543f;border-color:rgba(3,84,63,var(--border-opacity))}.xl\:border-green-900{--border-opacity:1;border-color:#014737;border-color:rgba(1,71,55,var(--border-opacity))}.xl\:border-teal-50{--border-opacity:1;border-color:#edfafa;border-color:rgba(237,250,250,var(--border-opacity))}.xl\:border-teal-100{--border-opacity:1;border-color:#d5f5f6;border-color:rgba(213,245,246,var(--border-opacity))}.xl\:border-teal-200{--border-opacity:1;border-color:#afecef;border-color:rgba(175,236,239,var(--border-opacity))}.xl\:border-teal-300{--border-opacity:1;border-color:#7edce2;border-color:rgba(126,220,226,var(--border-opacity))}.xl\:border-teal-400{--border-opacity:1;border-color:#16bdca;border-color:rgba(22,189,202,var(--border-opacity))}.xl\:border-teal-500{--border-opacity:1;border-color:#0694a2;border-color:rgba(6,148,162,var(--border-opacity))}.xl\:border-teal-600{--border-opacity:1;border-color:#047481;border-color:rgba(4,116,129,var(--border-opacity))}.xl\:border-teal-700{--border-opacity:1;border-color:#036672;border-color:rgba(3,102,114,var(--border-opacity))}.xl\:border-teal-800{--border-opacity:1;border-color:#05505c;border-color:rgba(5,80,92,var(--border-opacity))}.xl\:border-teal-900{--border-opacity:1;border-color:#014451;border-color:rgba(1,68,81,var(--border-opacity))}.xl\:border-blue-50{--border-opacity:1;border-color:#ebf5ff;border-color:rgba(235,245,255,var(--border-opacity))}.xl\:border-blue-100{--border-opacity:1;border-color:#e1effe;border-color:rgba(225,239,254,var(--border-opacity))}.xl\:border-blue-200{--border-opacity:1;border-color:#c3ddfd;border-color:rgba(195,221,253,var(--border-opacity))}.xl\:border-blue-300{--border-opacity:1;border-color:#a4cafe;border-color:rgba(164,202,254,var(--border-opacity))}.xl\:border-blue-400{--border-opacity:1;border-color:#76a9fa;border-color:rgba(118,169,250,var(--border-opacity))}.xl\:border-blue-500{--border-opacity:1;border-color:#3f83f8;border-color:rgba(63,131,248,var(--border-opacity))}.xl\:border-blue-600{--border-opacity:1;border-color:#1c64f2;border-color:rgba(28,100,242,var(--border-opacity))}.xl\:border-blue-700{--border-opacity:1;border-color:#1a56db;border-color:rgba(26,86,219,var(--border-opacity))}.xl\:border-blue-800{--border-opacity:1;border-color:#1e429f;border-color:rgba(30,66,159,var(--border-opacity))}.xl\:border-blue-900{--border-opacity:1;border-color:#233876;border-color:rgba(35,56,118,var(--border-opacity))}.xl\:border-indigo-50{--border-opacity:1;border-color:#f0f5ff;border-color:rgba(240,245,255,var(--border-opacity))}.xl\:border-indigo-100{--border-opacity:1;border-color:#e5edff;border-color:rgba(229,237,255,var(--border-opacity))}.xl\:border-indigo-200{--border-opacity:1;border-color:#cddbfe;border-color:rgba(205,219,254,var(--border-opacity))}.xl\:border-indigo-300{--border-opacity:1;border-color:#b4c6fc;border-color:rgba(180,198,252,var(--border-opacity))}.xl\:border-indigo-400{--border-opacity:1;border-color:#8da2fb;border-color:rgba(141,162,251,var(--border-opacity))}.xl\:border-indigo-500{--border-opacity:1;border-color:#6875f5;border-color:rgba(104,117,245,var(--border-opacity))}.xl\:border-indigo-600{--border-opacity:1;border-color:#5850ec;border-color:rgba(88,80,236,var(--border-opacity))}.xl\:border-indigo-700{--border-opacity:1;border-color:#5145cd;border-color:rgba(81,69,205,var(--border-opacity))}.xl\:border-indigo-800{--border-opacity:1;border-color:#42389d;border-color:rgba(66,56,157,var(--border-opacity))}.xl\:border-indigo-900{--border-opacity:1;border-color:#362f78;border-color:rgba(54,47,120,var(--border-opacity))}.xl\:border-purple-50{--border-opacity:1;border-color:#f6f5ff;border-color:rgba(246,245,255,var(--border-opacity))}.xl\:border-purple-100{--border-opacity:1;border-color:#edebfe;border-color:rgba(237,235,254,var(--border-opacity))}.xl\:border-purple-200{--border-opacity:1;border-color:#dcd7fe;border-color:rgba(220,215,254,var(--border-opacity))}.xl\:border-purple-300{--border-opacity:1;border-color:#cabffd;border-color:rgba(202,191,253,var(--border-opacity))}.xl\:border-purple-400{--border-opacity:1;border-color:#ac94fa;border-color:rgba(172,148,250,var(--border-opacity))}.xl\:border-purple-500{--border-opacity:1;border-color:#9061f9;border-color:rgba(144,97,249,var(--border-opacity))}.xl\:border-purple-600{--border-opacity:1;border-color:#7e3af2;border-color:rgba(126,58,242,var(--border-opacity))}.xl\:border-purple-700{--border-opacity:1;border-color:#6c2bd9;border-color:rgba(108,43,217,var(--border-opacity))}.xl\:border-purple-800{--border-opacity:1;border-color:#5521b5;border-color:rgba(85,33,181,var(--border-opacity))}.xl\:border-purple-900{--border-opacity:1;border-color:#4a1d96;border-color:rgba(74,29,150,var(--border-opacity))}.xl\:border-pink-50{--border-opacity:1;border-color:#fdf2f8;border-color:rgba(253,242,248,var(--border-opacity))}.xl\:border-pink-100{--border-opacity:1;border-color:#fce8f3;border-color:rgba(252,232,243,var(--border-opacity))}.xl\:border-pink-200{--border-opacity:1;border-color:#fad1e8;border-color:rgba(250,209,232,var(--border-opacity))}.xl\:border-pink-300{--border-opacity:1;border-color:#f8b4d9;border-color:rgba(248,180,217,var(--border-opacity))}.xl\:border-pink-400{--border-opacity:1;border-color:#f17eb8;border-color:rgba(241,126,184,var(--border-opacity))}.xl\:border-pink-500{--border-opacity:1;border-color:#e74694;border-color:rgba(231,70,148,var(--border-opacity))}.xl\:border-pink-600{--border-opacity:1;border-color:#d61f69;border-color:rgba(214,31,105,var(--border-opacity))}.xl\:border-pink-700{--border-opacity:1;border-color:#bf125d;border-color:rgba(191,18,93,var(--border-opacity))}.xl\:border-pink-800{--border-opacity:1;border-color:#99154b;border-color:rgba(153,21,75,var(--border-opacity))}.xl\:border-pink-900{--border-opacity:1;border-color:#751a3d;border-color:rgba(117,26,61,var(--border-opacity))}.group:hover .xl\:group-hover\:border-transparent{border-color:transparent}.group:hover .xl\:group-hover\:border-white{--border-opacity:1;border-color:#fff;border-color:rgba(255,255,255,var(--border-opacity))}.group:hover .xl\:group-hover\:border-black{--border-opacity:1;border-color:#000;border-color:rgba(0,0,0,var(--border-opacity))}.group:hover .xl\:group-hover\:border-gray-50{--border-opacity:1;border-color:#f9fafb;border-color:rgba(249,250,251,var(--border-opacity))}.group:hover .xl\:group-hover\:border-gray-100{--border-opacity:1;border-color:#f4f5f7;border-color:rgba(244,245,247,var(--border-opacity))}.group:hover .xl\:group-hover\:border-gray-200{--border-opacity:1;border-color:#e5e7eb;border-color:rgba(229,231,235,var(--border-opacity))}.group:hover .xl\:group-hover\:border-gray-300{--border-opacity:1;border-color:#d2d6dc;border-color:rgba(210,214,220,var(--border-opacity))}.group:hover .xl\:group-hover\:border-gray-400{--border-opacity:1;border-color:#9fa6b2;border-color:rgba(159,166,178,var(--border-opacity))}.group:hover .xl\:group-hover\:border-gray-500{--border-opacity:1;border-color:#6b7280;border-color:rgba(107,114,128,var(--border-opacity))}.group:hover .xl\:group-hover\:border-gray-600{--border-opacity:1;border-color:#4b5563;border-color:rgba(75,85,99,var(--border-opacity))}.group:hover .xl\:group-hover\:border-gray-700{--border-opacity:1;border-color:#374151;border-color:rgba(55,65,81,var(--border-opacity))}.group:hover .xl\:group-hover\:border-gray-800{--border-opacity:1;border-color:#252f3f;border-color:rgba(37,47,63,var(--border-opacity))}.group:hover .xl\:group-hover\:border-gray-900{--border-opacity:1;border-color:#161e2e;border-color:rgba(22,30,46,var(--border-opacity))}.group:hover .xl\:group-hover\:border-cool-gray-50{--border-opacity:1;border-color:#f8fafc;border-color:rgba(248,250,252,var(--border-opacity))}.group:hover .xl\:group-hover\:border-cool-gray-100{--border-opacity:1;border-color:#f1f5f9;border-color:rgba(241,245,249,var(--border-opacity))}.group:hover .xl\:group-hover\:border-cool-gray-200{--border-opacity:1;border-color:#e2e8f0;border-color:rgba(226,232,240,var(--border-opacity))}.group:hover .xl\:group-hover\:border-cool-gray-300{--border-opacity:1;border-color:#cfd8e3;border-color:rgba(207,216,227,var(--border-opacity))}.group:hover .xl\:group-hover\:border-cool-gray-400{--border-opacity:1;border-color:#97a6ba;border-color:rgba(151,166,186,var(--border-opacity))}.group:hover .xl\:group-hover\:border-cool-gray-500{--border-opacity:1;border-color:#64748b;border-color:rgba(100,116,139,var(--border-opacity))}.group:hover .xl\:group-hover\:border-cool-gray-600{--border-opacity:1;border-color:#475569;border-color:rgba(71,85,105,var(--border-opacity))}.group:hover .xl\:group-hover\:border-cool-gray-700{--border-opacity:1;border-color:#364152;border-color:rgba(54,65,82,var(--border-opacity))}.group:hover .xl\:group-hover\:border-cool-gray-800{--border-opacity:1;border-color:#27303f;border-color:rgba(39,48,63,var(--border-opacity))}.group:hover .xl\:group-hover\:border-cool-gray-900{--border-opacity:1;border-color:#1a202e;border-color:rgba(26,32,46,var(--border-opacity))}.group:hover .xl\:group-hover\:border-red-50{--border-opacity:1;border-color:#fdf2f2;border-color:rgba(253,242,242,var(--border-opacity))}.group:hover .xl\:group-hover\:border-red-100{--border-opacity:1;border-color:#fde8e8;border-color:rgba(253,232,232,var(--border-opacity))}.group:hover .xl\:group-hover\:border-red-200{--border-opacity:1;border-color:#fbd5d5;border-color:rgba(251,213,213,var(--border-opacity))}.group:hover .xl\:group-hover\:border-red-300{--border-opacity:1;border-color:#f8b4b4;border-color:rgba(248,180,180,var(--border-opacity))}.group:hover .xl\:group-hover\:border-red-400{--border-opacity:1;border-color:#f98080;border-color:rgba(249,128,128,var(--border-opacity))}.group:hover .xl\:group-hover\:border-red-500{--border-opacity:1;border-color:#f05252;border-color:rgba(240,82,82,var(--border-opacity))}.group:hover .xl\:group-hover\:border-red-600{--border-opacity:1;border-color:#e02424;border-color:rgba(224,36,36,var(--border-opacity))}.group:hover .xl\:group-hover\:border-red-700{--border-opacity:1;border-color:#c81e1e;border-color:rgba(200,30,30,var(--border-opacity))}.group:hover .xl\:group-hover\:border-red-800{--border-opacity:1;border-color:#9b1c1c;border-color:rgba(155,28,28,var(--border-opacity))}.group:hover .xl\:group-hover\:border-red-900{--border-opacity:1;border-color:#771d1d;border-color:rgba(119,29,29,var(--border-opacity))}.group:hover .xl\:group-hover\:border-orange-50{--border-opacity:1;border-color:#fff8f1;border-color:rgba(255,248,241,var(--border-opacity))}.group:hover .xl\:group-hover\:border-orange-100{--border-opacity:1;border-color:#feecdc;border-color:rgba(254,236,220,var(--border-opacity))}.group:hover .xl\:group-hover\:border-orange-200{--border-opacity:1;border-color:#fcd9bd;border-color:rgba(252,217,189,var(--border-opacity))}.group:hover .xl\:group-hover\:border-orange-300{--border-opacity:1;border-color:#fdba8c;border-color:rgba(253,186,140,var(--border-opacity))}.group:hover .xl\:group-hover\:border-orange-400{--border-opacity:1;border-color:#ff8a4c;border-color:rgba(255,138,76,var(--border-opacity))}.group:hover .xl\:group-hover\:border-orange-500{--border-opacity:1;border-color:#ff5a1f;border-color:rgba(255,90,31,var(--border-opacity))}.group:hover .xl\:group-hover\:border-orange-600{--border-opacity:1;border-color:#d03801;border-color:rgba(208,56,1,var(--border-opacity))}.group:hover .xl\:group-hover\:border-orange-700{--border-opacity:1;border-color:#b43403;border-color:rgba(180,52,3,var(--border-opacity))}.group:hover .xl\:group-hover\:border-orange-800{--border-opacity:1;border-color:#8a2c0d;border-color:rgba(138,44,13,var(--border-opacity))}.group:hover .xl\:group-hover\:border-orange-900{--border-opacity:1;border-color:#73230d;border-color:rgba(115,35,13,var(--border-opacity))}.group:hover .xl\:group-hover\:border-yellow-50{--border-opacity:1;border-color:#fdfdea;border-color:rgba(253,253,234,var(--border-opacity))}.group:hover .xl\:group-hover\:border-yellow-100{--border-opacity:1;border-color:#fdf6b2;border-color:rgba(253,246,178,var(--border-opacity))}.group:hover .xl\:group-hover\:border-yellow-200{--border-opacity:1;border-color:#fce96a;border-color:rgba(252,233,106,var(--border-opacity))}.group:hover .xl\:group-hover\:border-yellow-300{--border-opacity:1;border-color:#faca15;border-color:rgba(250,202,21,var(--border-opacity))}.group:hover .xl\:group-hover\:border-yellow-400{--border-opacity:1;border-color:#e3a008;border-color:rgba(227,160,8,var(--border-opacity))}.group:hover .xl\:group-hover\:border-yellow-500{--border-opacity:1;border-color:#c27803;border-color:rgba(194,120,3,var(--border-opacity))}.group:hover .xl\:group-hover\:border-yellow-600{--border-opacity:1;border-color:#9f580a;border-color:rgba(159,88,10,var(--border-opacity))}.group:hover .xl\:group-hover\:border-yellow-700{--border-opacity:1;border-color:#8e4b10;border-color:rgba(142,75,16,var(--border-opacity))}.group:hover .xl\:group-hover\:border-yellow-800{--border-opacity:1;border-color:#723b13;border-color:rgba(114,59,19,var(--border-opacity))}.group:hover .xl\:group-hover\:border-yellow-900{--border-opacity:1;border-color:#633112;border-color:rgba(99,49,18,var(--border-opacity))}.group:hover .xl\:group-hover\:border-green-50{--border-opacity:1;border-color:#f3faf7;border-color:rgba(243,250,247,var(--border-opacity))}.group:hover .xl\:group-hover\:border-green-100{--border-opacity:1;border-color:#def7ec;border-color:rgba(222,247,236,var(--border-opacity))}.group:hover .xl\:group-hover\:border-green-200{--border-opacity:1;border-color:#bcf0da;border-color:rgba(188,240,218,var(--border-opacity))}.group:hover .xl\:group-hover\:border-green-300{--border-opacity:1;border-color:#84e1bc;border-color:rgba(132,225,188,var(--border-opacity))}.group:hover .xl\:group-hover\:border-green-400{--border-opacity:1;border-color:#31c48d;border-color:rgba(49,196,141,var(--border-opacity))}.group:hover .xl\:group-hover\:border-green-500{--border-opacity:1;border-color:#0e9f6e;border-color:rgba(14,159,110,var(--border-opacity))}.group:hover .xl\:group-hover\:border-green-600{--border-opacity:1;border-color:#057a55;border-color:rgba(5,122,85,var(--border-opacity))}.group:hover .xl\:group-hover\:border-green-700{--border-opacity:1;border-color:#046c4e;border-color:rgba(4,108,78,var(--border-opacity))}.group:hover .xl\:group-hover\:border-green-800{--border-opacity:1;border-color:#03543f;border-color:rgba(3,84,63,var(--border-opacity))}.group:hover .xl\:group-hover\:border-green-900{--border-opacity:1;border-color:#014737;border-color:rgba(1,71,55,var(--border-opacity))}.group:hover .xl\:group-hover\:border-teal-50{--border-opacity:1;border-color:#edfafa;border-color:rgba(237,250,250,var(--border-opacity))}.group:hover .xl\:group-hover\:border-teal-100{--border-opacity:1;border-color:#d5f5f6;border-color:rgba(213,245,246,var(--border-opacity))}.group:hover .xl\:group-hover\:border-teal-200{--border-opacity:1;border-color:#afecef;border-color:rgba(175,236,239,var(--border-opacity))}.group:hover .xl\:group-hover\:border-teal-300{--border-opacity:1;border-color:#7edce2;border-color:rgba(126,220,226,var(--border-opacity))}.group:hover .xl\:group-hover\:border-teal-400{--border-opacity:1;border-color:#16bdca;border-color:rgba(22,189,202,var(--border-opacity))}.group:hover .xl\:group-hover\:border-teal-500{--border-opacity:1;border-color:#0694a2;border-color:rgba(6,148,162,var(--border-opacity))}.group:hover .xl\:group-hover\:border-teal-600{--border-opacity:1;border-color:#047481;border-color:rgba(4,116,129,var(--border-opacity))}.group:hover .xl\:group-hover\:border-teal-700{--border-opacity:1;border-color:#036672;border-color:rgba(3,102,114,var(--border-opacity))}.group:hover .xl\:group-hover\:border-teal-800{--border-opacity:1;border-color:#05505c;border-color:rgba(5,80,92,var(--border-opacity))}.group:hover .xl\:group-hover\:border-teal-900{--border-opacity:1;border-color:#014451;border-color:rgba(1,68,81,var(--border-opacity))}.group:hover .xl\:group-hover\:border-blue-50{--border-opacity:1;border-color:#ebf5ff;border-color:rgba(235,245,255,var(--border-opacity))}.group:hover .xl\:group-hover\:border-blue-100{--border-opacity:1;border-color:#e1effe;border-color:rgba(225,239,254,var(--border-opacity))}.group:hover .xl\:group-hover\:border-blue-200{--border-opacity:1;border-color:#c3ddfd;border-color:rgba(195,221,253,var(--border-opacity))}.group:hover .xl\:group-hover\:border-blue-300{--border-opacity:1;border-color:#a4cafe;border-color:rgba(164,202,254,var(--border-opacity))}.group:hover .xl\:group-hover\:border-blue-400{--border-opacity:1;border-color:#76a9fa;border-color:rgba(118,169,250,var(--border-opacity))}.group:hover .xl\:group-hover\:border-blue-500{--border-opacity:1;border-color:#3f83f8;border-color:rgba(63,131,248,var(--border-opacity))}.group:hover .xl\:group-hover\:border-blue-600{--border-opacity:1;border-color:#1c64f2;border-color:rgba(28,100,242,var(--border-opacity))}.group:hover .xl\:group-hover\:border-blue-700{--border-opacity:1;border-color:#1a56db;border-color:rgba(26,86,219,var(--border-opacity))}.group:hover .xl\:group-hover\:border-blue-800{--border-opacity:1;border-color:#1e429f;border-color:rgba(30,66,159,var(--border-opacity))}.group:hover .xl\:group-hover\:border-blue-900{--border-opacity:1;border-color:#233876;border-color:rgba(35,56,118,var(--border-opacity))}.group:hover .xl\:group-hover\:border-indigo-50{--border-opacity:1;border-color:#f0f5ff;border-color:rgba(240,245,255,var(--border-opacity))}.group:hover .xl\:group-hover\:border-indigo-100{--border-opacity:1;border-color:#e5edff;border-color:rgba(229,237,255,var(--border-opacity))}.group:hover .xl\:group-hover\:border-indigo-200{--border-opacity:1;border-color:#cddbfe;border-color:rgba(205,219,254,var(--border-opacity))}.group:hover .xl\:group-hover\:border-indigo-300{--border-opacity:1;border-color:#b4c6fc;border-color:rgba(180,198,252,var(--border-opacity))}.group:hover .xl\:group-hover\:border-indigo-400{--border-opacity:1;border-color:#8da2fb;border-color:rgba(141,162,251,var(--border-opacity))}.group:hover .xl\:group-hover\:border-indigo-500{--border-opacity:1;border-color:#6875f5;border-color:rgba(104,117,245,var(--border-opacity))}.group:hover .xl\:group-hover\:border-indigo-600{--border-opacity:1;border-color:#5850ec;border-color:rgba(88,80,236,var(--border-opacity))}.group:hover .xl\:group-hover\:border-indigo-700{--border-opacity:1;border-color:#5145cd;border-color:rgba(81,69,205,var(--border-opacity))}.group:hover .xl\:group-hover\:border-indigo-800{--border-opacity:1;border-color:#42389d;border-color:rgba(66,56,157,var(--border-opacity))}.group:hover .xl\:group-hover\:border-indigo-900{--border-opacity:1;border-color:#362f78;border-color:rgba(54,47,120,var(--border-opacity))}.group:hover .xl\:group-hover\:border-purple-50{--border-opacity:1;border-color:#f6f5ff;border-color:rgba(246,245,255,var(--border-opacity))}.group:hover .xl\:group-hover\:border-purple-100{--border-opacity:1;border-color:#edebfe;border-color:rgba(237,235,254,var(--border-opacity))}.group:hover .xl\:group-hover\:border-purple-200{--border-opacity:1;border-color:#dcd7fe;border-color:rgba(220,215,254,var(--border-opacity))}.group:hover .xl\:group-hover\:border-purple-300{--border-opacity:1;border-color:#cabffd;border-color:rgba(202,191,253,var(--border-opacity))}.group:hover .xl\:group-hover\:border-purple-400{--border-opacity:1;border-color:#ac94fa;border-color:rgba(172,148,250,var(--border-opacity))}.group:hover .xl\:group-hover\:border-purple-500{--border-opacity:1;border-color:#9061f9;border-color:rgba(144,97,249,var(--border-opacity))}.group:hover .xl\:group-hover\:border-purple-600{--border-opacity:1;border-color:#7e3af2;border-color:rgba(126,58,242,var(--border-opacity))}.group:hover .xl\:group-hover\:border-purple-700{--border-opacity:1;border-color:#6c2bd9;border-color:rgba(108,43,217,var(--border-opacity))}.group:hover .xl\:group-hover\:border-purple-800{--border-opacity:1;border-color:#5521b5;border-color:rgba(85,33,181,var(--border-opacity))}.group:hover .xl\:group-hover\:border-purple-900{--border-opacity:1;border-color:#4a1d96;border-color:rgba(74,29,150,var(--border-opacity))}.group:hover .xl\:group-hover\:border-pink-50{--border-opacity:1;border-color:#fdf2f8;border-color:rgba(253,242,248,var(--border-opacity))}.group:hover .xl\:group-hover\:border-pink-100{--border-opacity:1;border-color:#fce8f3;border-color:rgba(252,232,243,var(--border-opacity))}.group:hover .xl\:group-hover\:border-pink-200{--border-opacity:1;border-color:#fad1e8;border-color:rgba(250,209,232,var(--border-opacity))}.group:hover .xl\:group-hover\:border-pink-300{--border-opacity:1;border-color:#f8b4d9;border-color:rgba(248,180,217,var(--border-opacity))}.group:hover .xl\:group-hover\:border-pink-400{--border-opacity:1;border-color:#f17eb8;border-color:rgba(241,126,184,var(--border-opacity))}.group:hover .xl\:group-hover\:border-pink-500{--border-opacity:1;border-color:#e74694;border-color:rgba(231,70,148,var(--border-opacity))}.group:hover .xl\:group-hover\:border-pink-600{--border-opacity:1;border-color:#d61f69;border-color:rgba(214,31,105,var(--border-opacity))}.group:hover .xl\:group-hover\:border-pink-700{--border-opacity:1;border-color:#bf125d;border-color:rgba(191,18,93,var(--border-opacity))}.group:hover .xl\:group-hover\:border-pink-800{--border-opacity:1;border-color:#99154b;border-color:rgba(153,21,75,var(--border-opacity))}.group:hover .xl\:group-hover\:border-pink-900{--border-opacity:1;border-color:#751a3d;border-color:rgba(117,26,61,var(--border-opacity))}.group:focus .xl\:group-focus\:border-transparent{border-color:transparent}.group:focus .xl\:group-focus\:border-white{--border-opacity:1;border-color:#fff;border-color:rgba(255,255,255,var(--border-opacity))}.group:focus .xl\:group-focus\:border-black{--border-opacity:1;border-color:#000;border-color:rgba(0,0,0,var(--border-opacity))}.group:focus .xl\:group-focus\:border-gray-50{--border-opacity:1;border-color:#f9fafb;border-color:rgba(249,250,251,var(--border-opacity))}.group:focus .xl\:group-focus\:border-gray-100{--border-opacity:1;border-color:#f4f5f7;border-color:rgba(244,245,247,var(--border-opacity))}.group:focus .xl\:group-focus\:border-gray-200{--border-opacity:1;border-color:#e5e7eb;border-color:rgba(229,231,235,var(--border-opacity))}.group:focus .xl\:group-focus\:border-gray-300{--border-opacity:1;border-color:#d2d6dc;border-color:rgba(210,214,220,var(--border-opacity))}.group:focus .xl\:group-focus\:border-gray-400{--border-opacity:1;border-color:#9fa6b2;border-color:rgba(159,166,178,var(--border-opacity))}.group:focus .xl\:group-focus\:border-gray-500{--border-opacity:1;border-color:#6b7280;border-color:rgba(107,114,128,var(--border-opacity))}.group:focus .xl\:group-focus\:border-gray-600{--border-opacity:1;border-color:#4b5563;border-color:rgba(75,85,99,var(--border-opacity))}.group:focus .xl\:group-focus\:border-gray-700{--border-opacity:1;border-color:#374151;border-color:rgba(55,65,81,var(--border-opacity))}.group:focus .xl\:group-focus\:border-gray-800{--border-opacity:1;border-color:#252f3f;border-color:rgba(37,47,63,var(--border-opacity))}.group:focus .xl\:group-focus\:border-gray-900{--border-opacity:1;border-color:#161e2e;border-color:rgba(22,30,46,var(--border-opacity))}.group:focus .xl\:group-focus\:border-cool-gray-50{--border-opacity:1;border-color:#f8fafc;border-color:rgba(248,250,252,var(--border-opacity))}.group:focus .xl\:group-focus\:border-cool-gray-100{--border-opacity:1;border-color:#f1f5f9;border-color:rgba(241,245,249,var(--border-opacity))}.group:focus .xl\:group-focus\:border-cool-gray-200{--border-opacity:1;border-color:#e2e8f0;border-color:rgba(226,232,240,var(--border-opacity))}.group:focus .xl\:group-focus\:border-cool-gray-300{--border-opacity:1;border-color:#cfd8e3;border-color:rgba(207,216,227,var(--border-opacity))}.group:focus .xl\:group-focus\:border-cool-gray-400{--border-opacity:1;border-color:#97a6ba;border-color:rgba(151,166,186,var(--border-opacity))}.group:focus .xl\:group-focus\:border-cool-gray-500{--border-opacity:1;border-color:#64748b;border-color:rgba(100,116,139,var(--border-opacity))}.group:focus .xl\:group-focus\:border-cool-gray-600{--border-opacity:1;border-color:#475569;border-color:rgba(71,85,105,var(--border-opacity))}.group:focus .xl\:group-focus\:border-cool-gray-700{--border-opacity:1;border-color:#364152;border-color:rgba(54,65,82,var(--border-opacity))}.group:focus .xl\:group-focus\:border-cool-gray-800{--border-opacity:1;border-color:#27303f;border-color:rgba(39,48,63,var(--border-opacity))}.group:focus .xl\:group-focus\:border-cool-gray-900{--border-opacity:1;border-color:#1a202e;border-color:rgba(26,32,46,var(--border-opacity))}.group:focus .xl\:group-focus\:border-red-50{--border-opacity:1;border-color:#fdf2f2;border-color:rgba(253,242,242,var(--border-opacity))}.group:focus .xl\:group-focus\:border-red-100{--border-opacity:1;border-color:#fde8e8;border-color:rgba(253,232,232,var(--border-opacity))}.group:focus .xl\:group-focus\:border-red-200{--border-opacity:1;border-color:#fbd5d5;border-color:rgba(251,213,213,var(--border-opacity))}.group:focus .xl\:group-focus\:border-red-300{--border-opacity:1;border-color:#f8b4b4;border-color:rgba(248,180,180,var(--border-opacity))}.group:focus .xl\:group-focus\:border-red-400{--border-opacity:1;border-color:#f98080;border-color:rgba(249,128,128,var(--border-opacity))}.group:focus .xl\:group-focus\:border-red-500{--border-opacity:1;border-color:#f05252;border-color:rgba(240,82,82,var(--border-opacity))}.group:focus .xl\:group-focus\:border-red-600{--border-opacity:1;border-color:#e02424;border-color:rgba(224,36,36,var(--border-opacity))}.group:focus .xl\:group-focus\:border-red-700{--border-opacity:1;border-color:#c81e1e;border-color:rgba(200,30,30,var(--border-opacity))}.group:focus .xl\:group-focus\:border-red-800{--border-opacity:1;border-color:#9b1c1c;border-color:rgba(155,28,28,var(--border-opacity))}.group:focus .xl\:group-focus\:border-red-900{--border-opacity:1;border-color:#771d1d;border-color:rgba(119,29,29,var(--border-opacity))}.group:focus .xl\:group-focus\:border-orange-50{--border-opacity:1;border-color:#fff8f1;border-color:rgba(255,248,241,var(--border-opacity))}.group:focus .xl\:group-focus\:border-orange-100{--border-opacity:1;border-color:#feecdc;border-color:rgba(254,236,220,var(--border-opacity))}.group:focus .xl\:group-focus\:border-orange-200{--border-opacity:1;border-color:#fcd9bd;border-color:rgba(252,217,189,var(--border-opacity))}.group:focus .xl\:group-focus\:border-orange-300{--border-opacity:1;border-color:#fdba8c;border-color:rgba(253,186,140,var(--border-opacity))}.group:focus .xl\:group-focus\:border-orange-400{--border-opacity:1;border-color:#ff8a4c;border-color:rgba(255,138,76,var(--border-opacity))}.group:focus .xl\:group-focus\:border-orange-500{--border-opacity:1;border-color:#ff5a1f;border-color:rgba(255,90,31,var(--border-opacity))}.group:focus .xl\:group-focus\:border-orange-600{--border-opacity:1;border-color:#d03801;border-color:rgba(208,56,1,var(--border-opacity))}.group:focus .xl\:group-focus\:border-orange-700{--border-opacity:1;border-color:#b43403;border-color:rgba(180,52,3,var(--border-opacity))}.group:focus .xl\:group-focus\:border-orange-800{--border-opacity:1;border-color:#8a2c0d;border-color:rgba(138,44,13,var(--border-opacity))}.group:focus .xl\:group-focus\:border-orange-900{--border-opacity:1;border-color:#73230d;border-color:rgba(115,35,13,var(--border-opacity))}.group:focus .xl\:group-focus\:border-yellow-50{--border-opacity:1;border-color:#fdfdea;border-color:rgba(253,253,234,var(--border-opacity))}.group:focus .xl\:group-focus\:border-yellow-100{--border-opacity:1;border-color:#fdf6b2;border-color:rgba(253,246,178,var(--border-opacity))}.group:focus .xl\:group-focus\:border-yellow-200{--border-opacity:1;border-color:#fce96a;border-color:rgba(252,233,106,var(--border-opacity))}.group:focus .xl\:group-focus\:border-yellow-300{--border-opacity:1;border-color:#faca15;border-color:rgba(250,202,21,var(--border-opacity))}.group:focus .xl\:group-focus\:border-yellow-400{--border-opacity:1;border-color:#e3a008;border-color:rgba(227,160,8,var(--border-opacity))}.group:focus .xl\:group-focus\:border-yellow-500{--border-opacity:1;border-color:#c27803;border-color:rgba(194,120,3,var(--border-opacity))}.group:focus .xl\:group-focus\:border-yellow-600{--border-opacity:1;border-color:#9f580a;border-color:rgba(159,88,10,var(--border-opacity))}.group:focus .xl\:group-focus\:border-yellow-700{--border-opacity:1;border-color:#8e4b10;border-color:rgba(142,75,16,var(--border-opacity))}.group:focus .xl\:group-focus\:border-yellow-800{--border-opacity:1;border-color:#723b13;border-color:rgba(114,59,19,var(--border-opacity))}.group:focus .xl\:group-focus\:border-yellow-900{--border-opacity:1;border-color:#633112;border-color:rgba(99,49,18,var(--border-opacity))}.group:focus .xl\:group-focus\:border-green-50{--border-opacity:1;border-color:#f3faf7;border-color:rgba(243,250,247,var(--border-opacity))}.group:focus .xl\:group-focus\:border-green-100{--border-opacity:1;border-color:#def7ec;border-color:rgba(222,247,236,var(--border-opacity))}.group:focus .xl\:group-focus\:border-green-200{--border-opacity:1;border-color:#bcf0da;border-color:rgba(188,240,218,var(--border-opacity))}.group:focus .xl\:group-focus\:border-green-300{--border-opacity:1;border-color:#84e1bc;border-color:rgba(132,225,188,var(--border-opacity))}.group:focus .xl\:group-focus\:border-green-400{--border-opacity:1;border-color:#31c48d;border-color:rgba(49,196,141,var(--border-opacity))}.group:focus .xl\:group-focus\:border-green-500{--border-opacity:1;border-color:#0e9f6e;border-color:rgba(14,159,110,var(--border-opacity))}.group:focus .xl\:group-focus\:border-green-600{--border-opacity:1;border-color:#057a55;border-color:rgba(5,122,85,var(--border-opacity))}.group:focus .xl\:group-focus\:border-green-700{--border-opacity:1;border-color:#046c4e;border-color:rgba(4,108,78,var(--border-opacity))}.group:focus .xl\:group-focus\:border-green-800{--border-opacity:1;border-color:#03543f;border-color:rgba(3,84,63,var(--border-opacity))}.group:focus .xl\:group-focus\:border-green-900{--border-opacity:1;border-color:#014737;border-color:rgba(1,71,55,var(--border-opacity))}.group:focus .xl\:group-focus\:border-teal-50{--border-opacity:1;border-color:#edfafa;border-color:rgba(237,250,250,var(--border-opacity))}.group:focus .xl\:group-focus\:border-teal-100{--border-opacity:1;border-color:#d5f5f6;border-color:rgba(213,245,246,var(--border-opacity))}.group:focus .xl\:group-focus\:border-teal-200{--border-opacity:1;border-color:#afecef;border-color:rgba(175,236,239,var(--border-opacity))}.group:focus .xl\:group-focus\:border-teal-300{--border-opacity:1;border-color:#7edce2;border-color:rgba(126,220,226,var(--border-opacity))}.group:focus .xl\:group-focus\:border-teal-400{--border-opacity:1;border-color:#16bdca;border-color:rgba(22,189,202,var(--border-opacity))}.group:focus .xl\:group-focus\:border-teal-500{--border-opacity:1;border-color:#0694a2;border-color:rgba(6,148,162,var(--border-opacity))}.group:focus .xl\:group-focus\:border-teal-600{--border-opacity:1;border-color:#047481;border-color:rgba(4,116,129,var(--border-opacity))}.group:focus .xl\:group-focus\:border-teal-700{--border-opacity:1;border-color:#036672;border-color:rgba(3,102,114,var(--border-opacity))}.group:focus .xl\:group-focus\:border-teal-800{--border-opacity:1;border-color:#05505c;border-color:rgba(5,80,92,var(--border-opacity))}.group:focus .xl\:group-focus\:border-teal-900{--border-opacity:1;border-color:#014451;border-color:rgba(1,68,81,var(--border-opacity))}.group:focus .xl\:group-focus\:border-blue-50{--border-opacity:1;border-color:#ebf5ff;border-color:rgba(235,245,255,var(--border-opacity))}.group:focus .xl\:group-focus\:border-blue-100{--border-opacity:1;border-color:#e1effe;border-color:rgba(225,239,254,var(--border-opacity))}.group:focus .xl\:group-focus\:border-blue-200{--border-opacity:1;border-color:#c3ddfd;border-color:rgba(195,221,253,var(--border-opacity))}.group:focus .xl\:group-focus\:border-blue-300{--border-opacity:1;border-color:#a4cafe;border-color:rgba(164,202,254,var(--border-opacity))}.group:focus .xl\:group-focus\:border-blue-400{--border-opacity:1;border-color:#76a9fa;border-color:rgba(118,169,250,var(--border-opacity))}.group:focus .xl\:group-focus\:border-blue-500{--border-opacity:1;border-color:#3f83f8;border-color:rgba(63,131,248,var(--border-opacity))}.group:focus .xl\:group-focus\:border-blue-600{--border-opacity:1;border-color:#1c64f2;border-color:rgba(28,100,242,var(--border-opacity))}.group:focus .xl\:group-focus\:border-blue-700{--border-opacity:1;border-color:#1a56db;border-color:rgba(26,86,219,var(--border-opacity))}.group:focus .xl\:group-focus\:border-blue-800{--border-opacity:1;border-color:#1e429f;border-color:rgba(30,66,159,var(--border-opacity))}.group:focus .xl\:group-focus\:border-blue-900{--border-opacity:1;border-color:#233876;border-color:rgba(35,56,118,var(--border-opacity))}.group:focus .xl\:group-focus\:border-indigo-50{--border-opacity:1;border-color:#f0f5ff;border-color:rgba(240,245,255,var(--border-opacity))}.group:focus .xl\:group-focus\:border-indigo-100{--border-opacity:1;border-color:#e5edff;border-color:rgba(229,237,255,var(--border-opacity))}.group:focus .xl\:group-focus\:border-indigo-200{--border-opacity:1;border-color:#cddbfe;border-color:rgba(205,219,254,var(--border-opacity))}.group:focus .xl\:group-focus\:border-indigo-300{--border-opacity:1;border-color:#b4c6fc;border-color:rgba(180,198,252,var(--border-opacity))}.group:focus .xl\:group-focus\:border-indigo-400{--border-opacity:1;border-color:#8da2fb;border-color:rgba(141,162,251,var(--border-opacity))}.group:focus .xl\:group-focus\:border-indigo-500{--border-opacity:1;border-color:#6875f5;border-color:rgba(104,117,245,var(--border-opacity))}.group:focus .xl\:group-focus\:border-indigo-600{--border-opacity:1;border-color:#5850ec;border-color:rgba(88,80,236,var(--border-opacity))}.group:focus .xl\:group-focus\:border-indigo-700{--border-opacity:1;border-color:#5145cd;border-color:rgba(81,69,205,var(--border-opacity))}.group:focus .xl\:group-focus\:border-indigo-800{--border-opacity:1;border-color:#42389d;border-color:rgba(66,56,157,var(--border-opacity))}.group:focus .xl\:group-focus\:border-indigo-900{--border-opacity:1;border-color:#362f78;border-color:rgba(54,47,120,var(--border-opacity))}.group:focus .xl\:group-focus\:border-purple-50{--border-opacity:1;border-color:#f6f5ff;border-color:rgba(246,245,255,var(--border-opacity))}.group:focus .xl\:group-focus\:border-purple-100{--border-opacity:1;border-color:#edebfe;border-color:rgba(237,235,254,var(--border-opacity))}.group:focus .xl\:group-focus\:border-purple-200{--border-opacity:1;border-color:#dcd7fe;border-color:rgba(220,215,254,var(--border-opacity))}.group:focus .xl\:group-focus\:border-purple-300{--border-opacity:1;border-color:#cabffd;border-color:rgba(202,191,253,var(--border-opacity))}.group:focus .xl\:group-focus\:border-purple-400{--border-opacity:1;border-color:#ac94fa;border-color:rgba(172,148,250,var(--border-opacity))}.group:focus .xl\:group-focus\:border-purple-500{--border-opacity:1;border-color:#9061f9;border-color:rgba(144,97,249,var(--border-opacity))}.group:focus .xl\:group-focus\:border-purple-600{--border-opacity:1;border-color:#7e3af2;border-color:rgba(126,58,242,var(--border-opacity))}.group:focus .xl\:group-focus\:border-purple-700{--border-opacity:1;border-color:#6c2bd9;border-color:rgba(108,43,217,var(--border-opacity))}.group:focus .xl\:group-focus\:border-purple-800{--border-opacity:1;border-color:#5521b5;border-color:rgba(85,33,181,var(--border-opacity))}.group:focus .xl\:group-focus\:border-purple-900{--border-opacity:1;border-color:#4a1d96;border-color:rgba(74,29,150,var(--border-opacity))}.group:focus .xl\:group-focus\:border-pink-50{--border-opacity:1;border-color:#fdf2f8;border-color:rgba(253,242,248,var(--border-opacity))}.group:focus .xl\:group-focus\:border-pink-100{--border-opacity:1;border-color:#fce8f3;border-color:rgba(252,232,243,var(--border-opacity))}.group:focus .xl\:group-focus\:border-pink-200{--border-opacity:1;border-color:#fad1e8;border-color:rgba(250,209,232,var(--border-opacity))}.group:focus .xl\:group-focus\:border-pink-300{--border-opacity:1;border-color:#f8b4d9;border-color:rgba(248,180,217,var(--border-opacity))}.group:focus .xl\:group-focus\:border-pink-400{--border-opacity:1;border-color:#f17eb8;border-color:rgba(241,126,184,var(--border-opacity))}.group:focus .xl\:group-focus\:border-pink-500{--border-opacity:1;border-color:#e74694;border-color:rgba(231,70,148,var(--border-opacity))}.group:focus .xl\:group-focus\:border-pink-600{--border-opacity:1;border-color:#d61f69;border-color:rgba(214,31,105,var(--border-opacity))}.group:focus .xl\:group-focus\:border-pink-700{--border-opacity:1;border-color:#bf125d;border-color:rgba(191,18,93,var(--border-opacity))}.group:focus .xl\:group-focus\:border-pink-800{--border-opacity:1;border-color:#99154b;border-color:rgba(153,21,75,var(--border-opacity))}.group:focus .xl\:group-focus\:border-pink-900{--border-opacity:1;border-color:#751a3d;border-color:rgba(117,26,61,var(--border-opacity))}.xl\:hover\:border-transparent:hover{border-color:transparent}.xl\:hover\:border-white:hover{--border-opacity:1;border-color:#fff;border-color:rgba(255,255,255,var(--border-opacity))}.xl\:hover\:border-black:hover{--border-opacity:1;border-color:#000;border-color:rgba(0,0,0,var(--border-opacity))}.xl\:hover\:border-gray-50:hover{--border-opacity:1;border-color:#f9fafb;border-color:rgba(249,250,251,var(--border-opacity))}.xl\:hover\:border-gray-100:hover{--border-opacity:1;border-color:#f4f5f7;border-color:rgba(244,245,247,var(--border-opacity))}.xl\:hover\:border-gray-200:hover{--border-opacity:1;border-color:#e5e7eb;border-color:rgba(229,231,235,var(--border-opacity))}.xl\:hover\:border-gray-300:hover{--border-opacity:1;border-color:#d2d6dc;border-color:rgba(210,214,220,var(--border-opacity))}.xl\:hover\:border-gray-400:hover{--border-opacity:1;border-color:#9fa6b2;border-color:rgba(159,166,178,var(--border-opacity))}.xl\:hover\:border-gray-500:hover{--border-opacity:1;border-color:#6b7280;border-color:rgba(107,114,128,var(--border-opacity))}.xl\:hover\:border-gray-600:hover{--border-opacity:1;border-color:#4b5563;border-color:rgba(75,85,99,var(--border-opacity))}.xl\:hover\:border-gray-700:hover{--border-opacity:1;border-color:#374151;border-color:rgba(55,65,81,var(--border-opacity))}.xl\:hover\:border-gray-800:hover{--border-opacity:1;border-color:#252f3f;border-color:rgba(37,47,63,var(--border-opacity))}.xl\:hover\:border-gray-900:hover{--border-opacity:1;border-color:#161e2e;border-color:rgba(22,30,46,var(--border-opacity))}.xl\:hover\:border-cool-gray-50:hover{--border-opacity:1;border-color:#f8fafc;border-color:rgba(248,250,252,var(--border-opacity))}.xl\:hover\:border-cool-gray-100:hover{--border-opacity:1;border-color:#f1f5f9;border-color:rgba(241,245,249,var(--border-opacity))}.xl\:hover\:border-cool-gray-200:hover{--border-opacity:1;border-color:#e2e8f0;border-color:rgba(226,232,240,var(--border-opacity))}.xl\:hover\:border-cool-gray-300:hover{--border-opacity:1;border-color:#cfd8e3;border-color:rgba(207,216,227,var(--border-opacity))}.xl\:hover\:border-cool-gray-400:hover{--border-opacity:1;border-color:#97a6ba;border-color:rgba(151,166,186,var(--border-opacity))}.xl\:hover\:border-cool-gray-500:hover{--border-opacity:1;border-color:#64748b;border-color:rgba(100,116,139,var(--border-opacity))}.xl\:hover\:border-cool-gray-600:hover{--border-opacity:1;border-color:#475569;border-color:rgba(71,85,105,var(--border-opacity))}.xl\:hover\:border-cool-gray-700:hover{--border-opacity:1;border-color:#364152;border-color:rgba(54,65,82,var(--border-opacity))}.xl\:hover\:border-cool-gray-800:hover{--border-opacity:1;border-color:#27303f;border-color:rgba(39,48,63,var(--border-opacity))}.xl\:hover\:border-cool-gray-900:hover{--border-opacity:1;border-color:#1a202e;border-color:rgba(26,32,46,var(--border-opacity))}.xl\:hover\:border-red-50:hover{--border-opacity:1;border-color:#fdf2f2;border-color:rgba(253,242,242,var(--border-opacity))}.xl\:hover\:border-red-100:hover{--border-opacity:1;border-color:#fde8e8;border-color:rgba(253,232,232,var(--border-opacity))}.xl\:hover\:border-red-200:hover{--border-opacity:1;border-color:#fbd5d5;border-color:rgba(251,213,213,var(--border-opacity))}.xl\:hover\:border-red-300:hover{--border-opacity:1;border-color:#f8b4b4;border-color:rgba(248,180,180,var(--border-opacity))}.xl\:hover\:border-red-400:hover{--border-opacity:1;border-color:#f98080;border-color:rgba(249,128,128,var(--border-opacity))}.xl\:hover\:border-red-500:hover{--border-opacity:1;border-color:#f05252;border-color:rgba(240,82,82,var(--border-opacity))}.xl\:hover\:border-red-600:hover{--border-opacity:1;border-color:#e02424;border-color:rgba(224,36,36,var(--border-opacity))}.xl\:hover\:border-red-700:hover{--border-opacity:1;border-color:#c81e1e;border-color:rgba(200,30,30,var(--border-opacity))}.xl\:hover\:border-red-800:hover{--border-opacity:1;border-color:#9b1c1c;border-color:rgba(155,28,28,var(--border-opacity))}.xl\:hover\:border-red-900:hover{--border-opacity:1;border-color:#771d1d;border-color:rgba(119,29,29,var(--border-opacity))}.xl\:hover\:border-orange-50:hover{--border-opacity:1;border-color:#fff8f1;border-color:rgba(255,248,241,var(--border-opacity))}.xl\:hover\:border-orange-100:hover{--border-opacity:1;border-color:#feecdc;border-color:rgba(254,236,220,var(--border-opacity))}.xl\:hover\:border-orange-200:hover{--border-opacity:1;border-color:#fcd9bd;border-color:rgba(252,217,189,var(--border-opacity))}.xl\:hover\:border-orange-300:hover{--border-opacity:1;border-color:#fdba8c;border-color:rgba(253,186,140,var(--border-opacity))}.xl\:hover\:border-orange-400:hover{--border-opacity:1;border-color:#ff8a4c;border-color:rgba(255,138,76,var(--border-opacity))}.xl\:hover\:border-orange-500:hover{--border-opacity:1;border-color:#ff5a1f;border-color:rgba(255,90,31,var(--border-opacity))}.xl\:hover\:border-orange-600:hover{--border-opacity:1;border-color:#d03801;border-color:rgba(208,56,1,var(--border-opacity))}.xl\:hover\:border-orange-700:hover{--border-opacity:1;border-color:#b43403;border-color:rgba(180,52,3,var(--border-opacity))}.xl\:hover\:border-orange-800:hover{--border-opacity:1;border-color:#8a2c0d;border-color:rgba(138,44,13,var(--border-opacity))}.xl\:hover\:border-orange-900:hover{--border-opacity:1;border-color:#73230d;border-color:rgba(115,35,13,var(--border-opacity))}.xl\:hover\:border-yellow-50:hover{--border-opacity:1;border-color:#fdfdea;border-color:rgba(253,253,234,var(--border-opacity))}.xl\:hover\:border-yellow-100:hover{--border-opacity:1;border-color:#fdf6b2;border-color:rgba(253,246,178,var(--border-opacity))}.xl\:hover\:border-yellow-200:hover{--border-opacity:1;border-color:#fce96a;border-color:rgba(252,233,106,var(--border-opacity))}.xl\:hover\:border-yellow-300:hover{--border-opacity:1;border-color:#faca15;border-color:rgba(250,202,21,var(--border-opacity))}.xl\:hover\:border-yellow-400:hover{--border-opacity:1;border-color:#e3a008;border-color:rgba(227,160,8,var(--border-opacity))}.xl\:hover\:border-yellow-500:hover{--border-opacity:1;border-color:#c27803;border-color:rgba(194,120,3,var(--border-opacity))}.xl\:hover\:border-yellow-600:hover{--border-opacity:1;border-color:#9f580a;border-color:rgba(159,88,10,var(--border-opacity))}.xl\:hover\:border-yellow-700:hover{--border-opacity:1;border-color:#8e4b10;border-color:rgba(142,75,16,var(--border-opacity))}.xl\:hover\:border-yellow-800:hover{--border-opacity:1;border-color:#723b13;border-color:rgba(114,59,19,var(--border-opacity))}.xl\:hover\:border-yellow-900:hover{--border-opacity:1;border-color:#633112;border-color:rgba(99,49,18,var(--border-opacity))}.xl\:hover\:border-green-50:hover{--border-opacity:1;border-color:#f3faf7;border-color:rgba(243,250,247,var(--border-opacity))}.xl\:hover\:border-green-100:hover{--border-opacity:1;border-color:#def7ec;border-color:rgba(222,247,236,var(--border-opacity))}.xl\:hover\:border-green-200:hover{--border-opacity:1;border-color:#bcf0da;border-color:rgba(188,240,218,var(--border-opacity))}.xl\:hover\:border-green-300:hover{--border-opacity:1;border-color:#84e1bc;border-color:rgba(132,225,188,var(--border-opacity))}.xl\:hover\:border-green-400:hover{--border-opacity:1;border-color:#31c48d;border-color:rgba(49,196,141,var(--border-opacity))}.xl\:hover\:border-green-500:hover{--border-opacity:1;border-color:#0e9f6e;border-color:rgba(14,159,110,var(--border-opacity))}.xl\:hover\:border-green-600:hover{--border-opacity:1;border-color:#057a55;border-color:rgba(5,122,85,var(--border-opacity))}.xl\:hover\:border-green-700:hover{--border-opacity:1;border-color:#046c4e;border-color:rgba(4,108,78,var(--border-opacity))}.xl\:hover\:border-green-800:hover{--border-opacity:1;border-color:#03543f;border-color:rgba(3,84,63,var(--border-opacity))}.xl\:hover\:border-green-900:hover{--border-opacity:1;border-color:#014737;border-color:rgba(1,71,55,var(--border-opacity))}.xl\:hover\:border-teal-50:hover{--border-opacity:1;border-color:#edfafa;border-color:rgba(237,250,250,var(--border-opacity))}.xl\:hover\:border-teal-100:hover{--border-opacity:1;border-color:#d5f5f6;border-color:rgba(213,245,246,var(--border-opacity))}.xl\:hover\:border-teal-200:hover{--border-opacity:1;border-color:#afecef;border-color:rgba(175,236,239,var(--border-opacity))}.xl\:hover\:border-teal-300:hover{--border-opacity:1;border-color:#7edce2;border-color:rgba(126,220,226,var(--border-opacity))}.xl\:hover\:border-teal-400:hover{--border-opacity:1;border-color:#16bdca;border-color:rgba(22,189,202,var(--border-opacity))}.xl\:hover\:border-teal-500:hover{--border-opacity:1;border-color:#0694a2;border-color:rgba(6,148,162,var(--border-opacity))}.xl\:hover\:border-teal-600:hover{--border-opacity:1;border-color:#047481;border-color:rgba(4,116,129,var(--border-opacity))}.xl\:hover\:border-teal-700:hover{--border-opacity:1;border-color:#036672;border-color:rgba(3,102,114,var(--border-opacity))}.xl\:hover\:border-teal-800:hover{--border-opacity:1;border-color:#05505c;border-color:rgba(5,80,92,var(--border-opacity))}.xl\:hover\:border-teal-900:hover{--border-opacity:1;border-color:#014451;border-color:rgba(1,68,81,var(--border-opacity))}.xl\:hover\:border-blue-50:hover{--border-opacity:1;border-color:#ebf5ff;border-color:rgba(235,245,255,var(--border-opacity))}.xl\:hover\:border-blue-100:hover{--border-opacity:1;border-color:#e1effe;border-color:rgba(225,239,254,var(--border-opacity))}.xl\:hover\:border-blue-200:hover{--border-opacity:1;border-color:#c3ddfd;border-color:rgba(195,221,253,var(--border-opacity))}.xl\:hover\:border-blue-300:hover{--border-opacity:1;border-color:#a4cafe;border-color:rgba(164,202,254,var(--border-opacity))}.xl\:hover\:border-blue-400:hover{--border-opacity:1;border-color:#76a9fa;border-color:rgba(118,169,250,var(--border-opacity))}.xl\:hover\:border-blue-500:hover{--border-opacity:1;border-color:#3f83f8;border-color:rgba(63,131,248,var(--border-opacity))}.xl\:hover\:border-blue-600:hover{--border-opacity:1;border-color:#1c64f2;border-color:rgba(28,100,242,var(--border-opacity))}.xl\:hover\:border-blue-700:hover{--border-opacity:1;border-color:#1a56db;border-color:rgba(26,86,219,var(--border-opacity))}.xl\:hover\:border-blue-800:hover{--border-opacity:1;border-color:#1e429f;border-color:rgba(30,66,159,var(--border-opacity))}.xl\:hover\:border-blue-900:hover{--border-opacity:1;border-color:#233876;border-color:rgba(35,56,118,var(--border-opacity))}.xl\:hover\:border-indigo-50:hover{--border-opacity:1;border-color:#f0f5ff;border-color:rgba(240,245,255,var(--border-opacity))}.xl\:hover\:border-indigo-100:hover{--border-opacity:1;border-color:#e5edff;border-color:rgba(229,237,255,var(--border-opacity))}.xl\:hover\:border-indigo-200:hover{--border-opacity:1;border-color:#cddbfe;border-color:rgba(205,219,254,var(--border-opacity))}.xl\:hover\:border-indigo-300:hover{--border-opacity:1;border-color:#b4c6fc;border-color:rgba(180,198,252,var(--border-opacity))}.xl\:hover\:border-indigo-400:hover{--border-opacity:1;border-color:#8da2fb;border-color:rgba(141,162,251,var(--border-opacity))}.xl\:hover\:border-indigo-500:hover{--border-opacity:1;border-color:#6875f5;border-color:rgba(104,117,245,var(--border-opacity))}.xl\:hover\:border-indigo-600:hover{--border-opacity:1;border-color:#5850ec;border-color:rgba(88,80,236,var(--border-opacity))}.xl\:hover\:border-indigo-700:hover{--border-opacity:1;border-color:#5145cd;border-color:rgba(81,69,205,var(--border-opacity))}.xl\:hover\:border-indigo-800:hover{--border-opacity:1;border-color:#42389d;border-color:rgba(66,56,157,var(--border-opacity))}.xl\:hover\:border-indigo-900:hover{--border-opacity:1;border-color:#362f78;border-color:rgba(54,47,120,var(--border-opacity))}.xl\:hover\:border-purple-50:hover{--border-opacity:1;border-color:#f6f5ff;border-color:rgba(246,245,255,var(--border-opacity))}.xl\:hover\:border-purple-100:hover{--border-opacity:1;border-color:#edebfe;border-color:rgba(237,235,254,var(--border-opacity))}.xl\:hover\:border-purple-200:hover{--border-opacity:1;border-color:#dcd7fe;border-color:rgba(220,215,254,var(--border-opacity))}.xl\:hover\:border-purple-300:hover{--border-opacity:1;border-color:#cabffd;border-color:rgba(202,191,253,var(--border-opacity))}.xl\:hover\:border-purple-400:hover{--border-opacity:1;border-color:#ac94fa;border-color:rgba(172,148,250,var(--border-opacity))}.xl\:hover\:border-purple-500:hover{--border-opacity:1;border-color:#9061f9;border-color:rgba(144,97,249,var(--border-opacity))}.xl\:hover\:border-purple-600:hover{--border-opacity:1;border-color:#7e3af2;border-color:rgba(126,58,242,var(--border-opacity))}.xl\:hover\:border-purple-700:hover{--border-opacity:1;border-color:#6c2bd9;border-color:rgba(108,43,217,var(--border-opacity))}.xl\:hover\:border-purple-800:hover{--border-opacity:1;border-color:#5521b5;border-color:rgba(85,33,181,var(--border-opacity))}.xl\:hover\:border-purple-900:hover{--border-opacity:1;border-color:#4a1d96;border-color:rgba(74,29,150,var(--border-opacity))}.xl\:hover\:border-pink-50:hover{--border-opacity:1;border-color:#fdf2f8;border-color:rgba(253,242,248,var(--border-opacity))}.xl\:hover\:border-pink-100:hover{--border-opacity:1;border-color:#fce8f3;border-color:rgba(252,232,243,var(--border-opacity))}.xl\:hover\:border-pink-200:hover{--border-opacity:1;border-color:#fad1e8;border-color:rgba(250,209,232,var(--border-opacity))}.xl\:hover\:border-pink-300:hover{--border-opacity:1;border-color:#f8b4d9;border-color:rgba(248,180,217,var(--border-opacity))}.xl\:hover\:border-pink-400:hover{--border-opacity:1;border-color:#f17eb8;border-color:rgba(241,126,184,var(--border-opacity))}.xl\:hover\:border-pink-500:hover{--border-opacity:1;border-color:#e74694;border-color:rgba(231,70,148,var(--border-opacity))}.xl\:hover\:border-pink-600:hover{--border-opacity:1;border-color:#d61f69;border-color:rgba(214,31,105,var(--border-opacity))}.xl\:hover\:border-pink-700:hover{--border-opacity:1;border-color:#bf125d;border-color:rgba(191,18,93,var(--border-opacity))}.xl\:hover\:border-pink-800:hover{--border-opacity:1;border-color:#99154b;border-color:rgba(153,21,75,var(--border-opacity))}.xl\:hover\:border-pink-900:hover{--border-opacity:1;border-color:#751a3d;border-color:rgba(117,26,61,var(--border-opacity))}.xl\:focus\:border-transparent:focus{border-color:transparent}.xl\:focus\:border-white:focus{--border-opacity:1;border-color:#fff;border-color:rgba(255,255,255,var(--border-opacity))}.xl\:focus\:border-black:focus{--border-opacity:1;border-color:#000;border-color:rgba(0,0,0,var(--border-opacity))}.xl\:focus\:border-gray-50:focus{--border-opacity:1;border-color:#f9fafb;border-color:rgba(249,250,251,var(--border-opacity))}.xl\:focus\:border-gray-100:focus{--border-opacity:1;border-color:#f4f5f7;border-color:rgba(244,245,247,var(--border-opacity))}.xl\:focus\:border-gray-200:focus{--border-opacity:1;border-color:#e5e7eb;border-color:rgba(229,231,235,var(--border-opacity))}.xl\:focus\:border-gray-300:focus{--border-opacity:1;border-color:#d2d6dc;border-color:rgba(210,214,220,var(--border-opacity))}.xl\:focus\:border-gray-400:focus{--border-opacity:1;border-color:#9fa6b2;border-color:rgba(159,166,178,var(--border-opacity))}.xl\:focus\:border-gray-500:focus{--border-opacity:1;border-color:#6b7280;border-color:rgba(107,114,128,var(--border-opacity))}.xl\:focus\:border-gray-600:focus{--border-opacity:1;border-color:#4b5563;border-color:rgba(75,85,99,var(--border-opacity))}.xl\:focus\:border-gray-700:focus{--border-opacity:1;border-color:#374151;border-color:rgba(55,65,81,var(--border-opacity))}.xl\:focus\:border-gray-800:focus{--border-opacity:1;border-color:#252f3f;border-color:rgba(37,47,63,var(--border-opacity))}.xl\:focus\:border-gray-900:focus{--border-opacity:1;border-color:#161e2e;border-color:rgba(22,30,46,var(--border-opacity))}.xl\:focus\:border-cool-gray-50:focus{--border-opacity:1;border-color:#f8fafc;border-color:rgba(248,250,252,var(--border-opacity))}.xl\:focus\:border-cool-gray-100:focus{--border-opacity:1;border-color:#f1f5f9;border-color:rgba(241,245,249,var(--border-opacity))}.xl\:focus\:border-cool-gray-200:focus{--border-opacity:1;border-color:#e2e8f0;border-color:rgba(226,232,240,var(--border-opacity))}.xl\:focus\:border-cool-gray-300:focus{--border-opacity:1;border-color:#cfd8e3;border-color:rgba(207,216,227,var(--border-opacity))}.xl\:focus\:border-cool-gray-400:focus{--border-opacity:1;border-color:#97a6ba;border-color:rgba(151,166,186,var(--border-opacity))}.xl\:focus\:border-cool-gray-500:focus{--border-opacity:1;border-color:#64748b;border-color:rgba(100,116,139,var(--border-opacity))}.xl\:focus\:border-cool-gray-600:focus{--border-opacity:1;border-color:#475569;border-color:rgba(71,85,105,var(--border-opacity))}.xl\:focus\:border-cool-gray-700:focus{--border-opacity:1;border-color:#364152;border-color:rgba(54,65,82,var(--border-opacity))}.xl\:focus\:border-cool-gray-800:focus{--border-opacity:1;border-color:#27303f;border-color:rgba(39,48,63,var(--border-opacity))}.xl\:focus\:border-cool-gray-900:focus{--border-opacity:1;border-color:#1a202e;border-color:rgba(26,32,46,var(--border-opacity))}.xl\:focus\:border-red-50:focus{--border-opacity:1;border-color:#fdf2f2;border-color:rgba(253,242,242,var(--border-opacity))}.xl\:focus\:border-red-100:focus{--border-opacity:1;border-color:#fde8e8;border-color:rgba(253,232,232,var(--border-opacity))}.xl\:focus\:border-red-200:focus{--border-opacity:1;border-color:#fbd5d5;border-color:rgba(251,213,213,var(--border-opacity))}.xl\:focus\:border-red-300:focus{--border-opacity:1;border-color:#f8b4b4;border-color:rgba(248,180,180,var(--border-opacity))}.xl\:focus\:border-red-400:focus{--border-opacity:1;border-color:#f98080;border-color:rgba(249,128,128,var(--border-opacity))}.xl\:focus\:border-red-500:focus{--border-opacity:1;border-color:#f05252;border-color:rgba(240,82,82,var(--border-opacity))}.xl\:focus\:border-red-600:focus{--border-opacity:1;border-color:#e02424;border-color:rgba(224,36,36,var(--border-opacity))}.xl\:focus\:border-red-700:focus{--border-opacity:1;border-color:#c81e1e;border-color:rgba(200,30,30,var(--border-opacity))}.xl\:focus\:border-red-800:focus{--border-opacity:1;border-color:#9b1c1c;border-color:rgba(155,28,28,var(--border-opacity))}.xl\:focus\:border-red-900:focus{--border-opacity:1;border-color:#771d1d;border-color:rgba(119,29,29,var(--border-opacity))}.xl\:focus\:border-orange-50:focus{--border-opacity:1;border-color:#fff8f1;border-color:rgba(255,248,241,var(--border-opacity))}.xl\:focus\:border-orange-100:focus{--border-opacity:1;border-color:#feecdc;border-color:rgba(254,236,220,var(--border-opacity))}.xl\:focus\:border-orange-200:focus{--border-opacity:1;border-color:#fcd9bd;border-color:rgba(252,217,189,var(--border-opacity))}.xl\:focus\:border-orange-300:focus{--border-opacity:1;border-color:#fdba8c;border-color:rgba(253,186,140,var(--border-opacity))}.xl\:focus\:border-orange-400:focus{--border-opacity:1;border-color:#ff8a4c;border-color:rgba(255,138,76,var(--border-opacity))}.xl\:focus\:border-orange-500:focus{--border-opacity:1;border-color:#ff5a1f;border-color:rgba(255,90,31,var(--border-opacity))}.xl\:focus\:border-orange-600:focus{--border-opacity:1;border-color:#d03801;border-color:rgba(208,56,1,var(--border-opacity))}.xl\:focus\:border-orange-700:focus{--border-opacity:1;border-color:#b43403;border-color:rgba(180,52,3,var(--border-opacity))}.xl\:focus\:border-orange-800:focus{--border-opacity:1;border-color:#8a2c0d;border-color:rgba(138,44,13,var(--border-opacity))}.xl\:focus\:border-orange-900:focus{--border-opacity:1;border-color:#73230d;border-color:rgba(115,35,13,var(--border-opacity))}.xl\:focus\:border-yellow-50:focus{--border-opacity:1;border-color:#fdfdea;border-color:rgba(253,253,234,var(--border-opacity))}.xl\:focus\:border-yellow-100:focus{--border-opacity:1;border-color:#fdf6b2;border-color:rgba(253,246,178,var(--border-opacity))}.xl\:focus\:border-yellow-200:focus{--border-opacity:1;border-color:#fce96a;border-color:rgba(252,233,106,var(--border-opacity))}.xl\:focus\:border-yellow-300:focus{--border-opacity:1;border-color:#faca15;border-color:rgba(250,202,21,var(--border-opacity))}.xl\:focus\:border-yellow-400:focus{--border-opacity:1;border-color:#e3a008;border-color:rgba(227,160,8,var(--border-opacity))}.xl\:focus\:border-yellow-500:focus{--border-opacity:1;border-color:#c27803;border-color:rgba(194,120,3,var(--border-opacity))}.xl\:focus\:border-yellow-600:focus{--border-opacity:1;border-color:#9f580a;border-color:rgba(159,88,10,var(--border-opacity))}.xl\:focus\:border-yellow-700:focus{--border-opacity:1;border-color:#8e4b10;border-color:rgba(142,75,16,var(--border-opacity))}.xl\:focus\:border-yellow-800:focus{--border-opacity:1;border-color:#723b13;border-color:rgba(114,59,19,var(--border-opacity))}.xl\:focus\:border-yellow-900:focus{--border-opacity:1;border-color:#633112;border-color:rgba(99,49,18,var(--border-opacity))}.xl\:focus\:border-green-50:focus{--border-opacity:1;border-color:#f3faf7;border-color:rgba(243,250,247,var(--border-opacity))}.xl\:focus\:border-green-100:focus{--border-opacity:1;border-color:#def7ec;border-color:rgba(222,247,236,var(--border-opacity))}.xl\:focus\:border-green-200:focus{--border-opacity:1;border-color:#bcf0da;border-color:rgba(188,240,218,var(--border-opacity))}.xl\:focus\:border-green-300:focus{--border-opacity:1;border-color:#84e1bc;border-color:rgba(132,225,188,var(--border-opacity))}.xl\:focus\:border-green-400:focus{--border-opacity:1;border-color:#31c48d;border-color:rgba(49,196,141,var(--border-opacity))}.xl\:focus\:border-green-500:focus{--border-opacity:1;border-color:#0e9f6e;border-color:rgba(14,159,110,var(--border-opacity))}.xl\:focus\:border-green-600:focus{--border-opacity:1;border-color:#057a55;border-color:rgba(5,122,85,var(--border-opacity))}.xl\:focus\:border-green-700:focus{--border-opacity:1;border-color:#046c4e;border-color:rgba(4,108,78,var(--border-opacity))}.xl\:focus\:border-green-800:focus{--border-opacity:1;border-color:#03543f;border-color:rgba(3,84,63,var(--border-opacity))}.xl\:focus\:border-green-900:focus{--border-opacity:1;border-color:#014737;border-color:rgba(1,71,55,var(--border-opacity))}.xl\:focus\:border-teal-50:focus{--border-opacity:1;border-color:#edfafa;border-color:rgba(237,250,250,var(--border-opacity))}.xl\:focus\:border-teal-100:focus{--border-opacity:1;border-color:#d5f5f6;border-color:rgba(213,245,246,var(--border-opacity))}.xl\:focus\:border-teal-200:focus{--border-opacity:1;border-color:#afecef;border-color:rgba(175,236,239,var(--border-opacity))}.xl\:focus\:border-teal-300:focus{--border-opacity:1;border-color:#7edce2;border-color:rgba(126,220,226,var(--border-opacity))}.xl\:focus\:border-teal-400:focus{--border-opacity:1;border-color:#16bdca;border-color:rgba(22,189,202,var(--border-opacity))}.xl\:focus\:border-teal-500:focus{--border-opacity:1;border-color:#0694a2;border-color:rgba(6,148,162,var(--border-opacity))}.xl\:focus\:border-teal-600:focus{--border-opacity:1;border-color:#047481;border-color:rgba(4,116,129,var(--border-opacity))}.xl\:focus\:border-teal-700:focus{--border-opacity:1;border-color:#036672;border-color:rgba(3,102,114,var(--border-opacity))}.xl\:focus\:border-teal-800:focus{--border-opacity:1;border-color:#05505c;border-color:rgba(5,80,92,var(--border-opacity))}.xl\:focus\:border-teal-900:focus{--border-opacity:1;border-color:#014451;border-color:rgba(1,68,81,var(--border-opacity))}.xl\:focus\:border-blue-50:focus{--border-opacity:1;border-color:#ebf5ff;border-color:rgba(235,245,255,var(--border-opacity))}.xl\:focus\:border-blue-100:focus{--border-opacity:1;border-color:#e1effe;border-color:rgba(225,239,254,var(--border-opacity))}.xl\:focus\:border-blue-200:focus{--border-opacity:1;border-color:#c3ddfd;border-color:rgba(195,221,253,var(--border-opacity))}.xl\:focus\:border-blue-300:focus{--border-opacity:1;border-color:#a4cafe;border-color:rgba(164,202,254,var(--border-opacity))}.xl\:focus\:border-blue-400:focus{--border-opacity:1;border-color:#76a9fa;border-color:rgba(118,169,250,var(--border-opacity))}.xl\:focus\:border-blue-500:focus{--border-opacity:1;border-color:#3f83f8;border-color:rgba(63,131,248,var(--border-opacity))}.xl\:focus\:border-blue-600:focus{--border-opacity:1;border-color:#1c64f2;border-color:rgba(28,100,242,var(--border-opacity))}.xl\:focus\:border-blue-700:focus{--border-opacity:1;border-color:#1a56db;border-color:rgba(26,86,219,var(--border-opacity))}.xl\:focus\:border-blue-800:focus{--border-opacity:1;border-color:#1e429f;border-color:rgba(30,66,159,var(--border-opacity))}.xl\:focus\:border-blue-900:focus{--border-opacity:1;border-color:#233876;border-color:rgba(35,56,118,var(--border-opacity))}.xl\:focus\:border-indigo-50:focus{--border-opacity:1;border-color:#f0f5ff;border-color:rgba(240,245,255,var(--border-opacity))}.xl\:focus\:border-indigo-100:focus{--border-opacity:1;border-color:#e5edff;border-color:rgba(229,237,255,var(--border-opacity))}.xl\:focus\:border-indigo-200:focus{--border-opacity:1;border-color:#cddbfe;border-color:rgba(205,219,254,var(--border-opacity))}.xl\:focus\:border-indigo-300:focus{--border-opacity:1;border-color:#b4c6fc;border-color:rgba(180,198,252,var(--border-opacity))}.xl\:focus\:border-indigo-400:focus{--border-opacity:1;border-color:#8da2fb;border-color:rgba(141,162,251,var(--border-opacity))}.xl\:focus\:border-indigo-500:focus{--border-opacity:1;border-color:#6875f5;border-color:rgba(104,117,245,var(--border-opacity))}.xl\:focus\:border-indigo-600:focus{--border-opacity:1;border-color:#5850ec;border-color:rgba(88,80,236,var(--border-opacity))}.xl\:focus\:border-indigo-700:focus{--border-opacity:1;border-color:#5145cd;border-color:rgba(81,69,205,var(--border-opacity))}.xl\:focus\:border-indigo-800:focus{--border-opacity:1;border-color:#42389d;border-color:rgba(66,56,157,var(--border-opacity))}.xl\:focus\:border-indigo-900:focus{--border-opacity:1;border-color:#362f78;border-color:rgba(54,47,120,var(--border-opacity))}.xl\:focus\:border-purple-50:focus{--border-opacity:1;border-color:#f6f5ff;border-color:rgba(246,245,255,var(--border-opacity))}.xl\:focus\:border-purple-100:focus{--border-opacity:1;border-color:#edebfe;border-color:rgba(237,235,254,var(--border-opacity))}.xl\:focus\:border-purple-200:focus{--border-opacity:1;border-color:#dcd7fe;border-color:rgba(220,215,254,var(--border-opacity))}.xl\:focus\:border-purple-300:focus{--border-opacity:1;border-color:#cabffd;border-color:rgba(202,191,253,var(--border-opacity))}.xl\:focus\:border-purple-400:focus{--border-opacity:1;border-color:#ac94fa;border-color:rgba(172,148,250,var(--border-opacity))}.xl\:focus\:border-purple-500:focus{--border-opacity:1;border-color:#9061f9;border-color:rgba(144,97,249,var(--border-opacity))}.xl\:focus\:border-purple-600:focus{--border-opacity:1;border-color:#7e3af2;border-color:rgba(126,58,242,var(--border-opacity))}.xl\:focus\:border-purple-700:focus{--border-opacity:1;border-color:#6c2bd9;border-color:rgba(108,43,217,var(--border-opacity))}.xl\:focus\:border-purple-800:focus{--border-opacity:1;border-color:#5521b5;border-color:rgba(85,33,181,var(--border-opacity))}.xl\:focus\:border-purple-900:focus{--border-opacity:1;border-color:#4a1d96;border-color:rgba(74,29,150,var(--border-opacity))}.xl\:focus\:border-pink-50:focus{--border-opacity:1;border-color:#fdf2f8;border-color:rgba(253,242,248,var(--border-opacity))}.xl\:focus\:border-pink-100:focus{--border-opacity:1;border-color:#fce8f3;border-color:rgba(252,232,243,var(--border-opacity))}.xl\:focus\:border-pink-200:focus{--border-opacity:1;border-color:#fad1e8;border-color:rgba(250,209,232,var(--border-opacity))}.xl\:focus\:border-pink-300:focus{--border-opacity:1;border-color:#f8b4d9;border-color:rgba(248,180,217,var(--border-opacity))}.xl\:focus\:border-pink-400:focus{--border-opacity:1;border-color:#f17eb8;border-color:rgba(241,126,184,var(--border-opacity))}.xl\:focus\:border-pink-500:focus{--border-opacity:1;border-color:#e74694;border-color:rgba(231,70,148,var(--border-opacity))}.xl\:focus\:border-pink-600:focus{--border-opacity:1;border-color:#d61f69;border-color:rgba(214,31,105,var(--border-opacity))}.xl\:focus\:border-pink-700:focus{--border-opacity:1;border-color:#bf125d;border-color:rgba(191,18,93,var(--border-opacity))}.xl\:focus\:border-pink-800:focus{--border-opacity:1;border-color:#99154b;border-color:rgba(153,21,75,var(--border-opacity))}.xl\:focus\:border-pink-900:focus{--border-opacity:1;border-color:#751a3d;border-color:rgba(117,26,61,var(--border-opacity))}.xl\:border-opacity-0{--border-opacity:0}.xl\:border-opacity-25{--border-opacity:0.25}.xl\:border-opacity-50{--border-opacity:0.5}.xl\:border-opacity-75{--border-opacity:0.75}.xl\:border-opacity-100{--border-opacity:1}.xl\:hover\:border-opacity-0:hover{--border-opacity:0}.xl\:hover\:border-opacity-25:hover{--border-opacity:0.25}.xl\:hover\:border-opacity-50:hover{--border-opacity:0.5}.xl\:hover\:border-opacity-75:hover{--border-opacity:0.75}.xl\:hover\:border-opacity-100:hover{--border-opacity:1}.xl\:focus\:border-opacity-0:focus{--border-opacity:0}.xl\:focus\:border-opacity-25:focus{--border-opacity:0.25}.xl\:focus\:border-opacity-50:focus{--border-opacity:0.5}.xl\:focus\:border-opacity-75:focus{--border-opacity:0.75}.xl\:focus\:border-opacity-100:focus{--border-opacity:1}.xl\:rounded-none{border-radius:0}.xl\:rounded-sm{border-radius:.125rem}.xl\:rounded{border-radius:.25rem}.xl\:rounded-md{border-radius:.375rem}.xl\:rounded-lg{border-radius:.5rem}.xl\:rounded-full{border-radius:9999px}.xl\:rounded-t-none{border-top-left-radius:0;border-top-right-radius:0}.xl\:rounded-r-none{border-top-right-radius:0;border-bottom-right-radius:0}.xl\:rounded-b-none{border-bottom-right-radius:0;border-bottom-left-radius:0}.xl\:rounded-l-none{border-top-left-radius:0;border-bottom-left-radius:0}.xl\:rounded-t-sm{border-top-left-radius:.125rem;border-top-right-radius:.125rem}.xl\:rounded-r-sm{border-top-right-radius:.125rem;border-bottom-right-radius:.125rem}.xl\:rounded-b-sm{border-bottom-right-radius:.125rem;border-bottom-left-radius:.125rem}.xl\:rounded-l-sm{border-top-left-radius:.125rem;border-bottom-left-radius:.125rem}.xl\:rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.xl\:rounded-r{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.xl\:rounded-b{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.xl\:rounded-l{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.xl\:rounded-t-md{border-top-left-radius:.375rem;border-top-right-radius:.375rem}.xl\:rounded-r-md{border-top-right-radius:.375rem;border-bottom-right-radius:.375rem}.xl\:rounded-b-md{border-bottom-right-radius:.375rem;border-bottom-left-radius:.375rem}.xl\:rounded-l-md{border-top-left-radius:.375rem;border-bottom-left-radius:.375rem}.xl\:rounded-t-lg{border-top-left-radius:.5rem;border-top-right-radius:.5rem}.xl\:rounded-r-lg{border-top-right-radius:.5rem;border-bottom-right-radius:.5rem}.xl\:rounded-b-lg{border-bottom-right-radius:.5rem;border-bottom-left-radius:.5rem}.xl\:rounded-l-lg{border-top-left-radius:.5rem;border-bottom-left-radius:.5rem}.xl\:rounded-t-full{border-top-left-radius:9999px;border-top-right-radius:9999px}.xl\:rounded-r-full{border-top-right-radius:9999px;border-bottom-right-radius:9999px}.xl\:rounded-b-full{border-bottom-right-radius:9999px;border-bottom-left-radius:9999px}.xl\:rounded-l-full{border-top-left-radius:9999px;border-bottom-left-radius:9999px}.xl\:rounded-tl-none{border-top-left-radius:0}.xl\:rounded-tr-none{border-top-right-radius:0}.xl\:rounded-br-none{border-bottom-right-radius:0}.xl\:rounded-bl-none{border-bottom-left-radius:0}.xl\:rounded-tl-sm{border-top-left-radius:.125rem}.xl\:rounded-tr-sm{border-top-right-radius:.125rem}.xl\:rounded-br-sm{border-bottom-right-radius:.125rem}.xl\:rounded-bl-sm{border-bottom-left-radius:.125rem}.xl\:rounded-tl{border-top-left-radius:.25rem}.xl\:rounded-tr{border-top-right-radius:.25rem}.xl\:rounded-br{border-bottom-right-radius:.25rem}.xl\:rounded-bl{border-bottom-left-radius:.25rem}.xl\:rounded-tl-md{border-top-left-radius:.375rem}.xl\:rounded-tr-md{border-top-right-radius:.375rem}.xl\:rounded-br-md{border-bottom-right-radius:.375rem}.xl\:rounded-bl-md{border-bottom-left-radius:.375rem}.xl\:rounded-tl-lg{border-top-left-radius:.5rem}.xl\:rounded-tr-lg{border-top-right-radius:.5rem}.xl\:rounded-br-lg{border-bottom-right-radius:.5rem}.xl\:rounded-bl-lg{border-bottom-left-radius:.5rem}.xl\:rounded-tl-full{border-top-left-radius:9999px}.xl\:rounded-tr-full{border-top-right-radius:9999px}.xl\:rounded-br-full{border-bottom-right-radius:9999px}.xl\:rounded-bl-full{border-bottom-left-radius:9999px}.xl\:border-solid{border-style:solid}.xl\:border-dashed{border-style:dashed}.xl\:border-dotted{border-style:dotted}.xl\:border-double{border-style:double}.xl\:border-none{border-style:none}.xl\:border-0{border-width:0}.xl\:border-2{border-width:2px}.xl\:border-4{border-width:4px}.xl\:border-8{border-width:8px}.xl\:border{border-width:1px}.xl\:border-t-0{border-top-width:0}.xl\:border-r-0{border-right-width:0}.xl\:border-b-0{border-bottom-width:0}.xl\:border-l-0{border-left-width:0}.xl\:border-t-2{border-top-width:2px}.xl\:border-r-2{border-right-width:2px}.xl\:border-b-2{border-bottom-width:2px}.xl\:border-l-2{border-left-width:2px}.xl\:border-t-4{border-top-width:4px}.xl\:border-r-4{border-right-width:4px}.xl\:border-b-4{border-bottom-width:4px}.xl\:border-l-4{border-left-width:4px}.xl\:border-t-8{border-top-width:8px}.xl\:border-r-8{border-right-width:8px}.xl\:border-b-8{border-bottom-width:8px}.xl\:border-l-8{border-left-width:8px}.xl\:border-t{border-top-width:1px}.xl\:border-r{border-right-width:1px}.xl\:border-b{border-bottom-width:1px}.xl\:border-l{border-left-width:1px}.xl\:box-border{box-sizing:border-box}.xl\:box-content{box-sizing:content-box}.xl\:cursor-auto{cursor:auto}.xl\:cursor-default{cursor:default}.xl\:cursor-pointer{cursor:pointer}.xl\:cursor-wait{cursor:wait}.xl\:cursor-text{cursor:text}.xl\:cursor-move{cursor:move}.xl\:cursor-not-allowed{cursor:not-allowed}.xl\:block{display:block}.xl\:inline-block{display:inline-block}.xl\:inline{display:inline}.xl\:flex{display:flex}.xl\:inline-flex{display:inline-flex}.xl\:table{display:table}.xl\:table-caption{display:table-caption}.xl\:table-cell{display:table-cell}.xl\:table-column{display:table-column}.xl\:table-column-group{display:table-column-group}.xl\:table-footer-group{display:table-footer-group}.xl\:table-header-group{display:table-header-group}.xl\:table-row-group{display:table-row-group}.xl\:table-row{display:table-row}.xl\:flow-root{display:flow-root}.xl\:grid{display:grid}.xl\:inline-grid{display:inline-grid}.xl\:hidden{display:none}.xl\:flex-row{flex-direction:row}.xl\:flex-row-reverse{flex-direction:row-reverse}.xl\:flex-col{flex-direction:column}.xl\:flex-col-reverse{flex-direction:column-reverse}.xl\:flex-wrap{flex-wrap:wrap}.xl\:flex-wrap-reverse{flex-wrap:wrap-reverse}.xl\:flex-no-wrap{flex-wrap:nowrap}.xl\:items-start{align-items:flex-start}.xl\:items-end{align-items:flex-end}.xl\:items-center{align-items:center}.xl\:items-baseline{align-items:baseline}.xl\:items-stretch{align-items:stretch}.xl\:self-auto{align-self:auto}.xl\:self-start{align-self:flex-start}.xl\:self-end{align-self:flex-end}.xl\:self-center{align-self:center}.xl\:self-stretch{align-self:stretch}.xl\:justify-start{justify-content:flex-start}.xl\:justify-end{justify-content:flex-end}.xl\:justify-center{justify-content:center}.xl\:justify-between{justify-content:space-between}.xl\:justify-around{justify-content:space-around}.xl\:justify-evenly{justify-content:space-evenly}.xl\:content-center{align-content:center}.xl\:content-start{align-content:flex-start}.xl\:content-end{align-content:flex-end}.xl\:content-between{align-content:space-between}.xl\:content-around{align-content:space-around}.xl\:flex-1{flex:1 1 0%}.xl\:flex-auto{flex:1 1 auto}.xl\:flex-initial{flex:0 1 auto}.xl\:flex-none{flex:none}.xl\:flex-grow-0{flex-grow:0}.xl\:flex-grow{flex-grow:1}.xl\:flex-shrink-0{flex-shrink:0}.xl\:flex-shrink{flex-shrink:1}.xl\:order-1{order:1}.xl\:order-2{order:2}.xl\:order-3{order:3}.xl\:order-4{order:4}.xl\:order-5{order:5}.xl\:order-6{order:6}.xl\:order-7{order:7}.xl\:order-8{order:8}.xl\:order-9{order:9}.xl\:order-10{order:10}.xl\:order-11{order:11}.xl\:order-12{order:12}.xl\:order-first{order:-9999}.xl\:order-last{order:9999}.xl\:order-none{order:0}.xl\:float-right{float:right}.xl\:float-left{float:left}.xl\:float-none{float:none}.xl\:clearfix:after{content:"";display:table;clear:both}.xl\:clear-left{clear:left}.xl\:clear-right{clear:right}.xl\:clear-both{clear:both}.xl\:clear-none{clear:none}.xl\:font-sans{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"}.xl\:font-serif{font-family:Georgia,Cambria,"Times New Roman",Times,serif}.xl\:font-mono{font-family:Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}.xl\:font-hairline{font-weight:100}.xl\:font-thin{font-weight:200}.xl\:font-light{font-weight:300}.xl\:font-normal{font-weight:400}.xl\:font-medium{font-weight:500}.xl\:font-semibold{font-weight:600}.xl\:font-bold{font-weight:700}.xl\:font-extrabold{font-weight:800}.xl\:font-black{font-weight:900}.xl\:hover\:font-hairline:hover{font-weight:100}.xl\:hover\:font-thin:hover{font-weight:200}.xl\:hover\:font-light:hover{font-weight:300}.xl\:hover\:font-normal:hover{font-weight:400}.xl\:hover\:font-medium:hover{font-weight:500}.xl\:hover\:font-semibold:hover{font-weight:600}.xl\:hover\:font-bold:hover{font-weight:700}.xl\:hover\:font-extrabold:hover{font-weight:800}.xl\:hover\:font-black:hover{font-weight:900}.xl\:focus\:font-hairline:focus{font-weight:100}.xl\:focus\:font-thin:focus{font-weight:200}.xl\:focus\:font-light:focus{font-weight:300}.xl\:focus\:font-normal:focus{font-weight:400}.xl\:focus\:font-medium:focus{font-weight:500}.xl\:focus\:font-semibold:focus{font-weight:600}.xl\:focus\:font-bold:focus{font-weight:700}.xl\:focus\:font-extrabold:focus{font-weight:800}.xl\:focus\:font-black:focus{font-weight:900}.xl\:h-0{height:0}.xl\:h-1{height:.25rem}.xl\:h-2{height:.5rem}.xl\:h-3{height:.75rem}.xl\:h-4{height:1rem}.xl\:h-5{height:1.25rem}.xl\:h-6{height:1.5rem}.xl\:h-7{height:1.75rem}.xl\:h-8{height:2rem}.xl\:h-9{height:2.25rem}.xl\:h-10{height:2.5rem}.xl\:h-11{height:2.75rem}.xl\:h-12{height:3rem}.xl\:h-13{height:3.25rem}.xl\:h-14{height:3.5rem}.xl\:h-15{height:3.75rem}.xl\:h-16{height:4rem}.xl\:h-20{height:5rem}.xl\:h-24{height:6rem}.xl\:h-28{height:7rem}.xl\:h-32{height:8rem}.xl\:h-36{height:9rem}.xl\:h-40{height:10rem}.xl\:h-44{height:11rem}.xl\:h-48{height:12rem}.xl\:h-52{height:13rem}.xl\:h-56{height:14rem}.xl\:h-60{height:15rem}.xl\:h-64{height:16rem}.xl\:h-72{height:18rem}.xl\:h-80{height:20rem}.xl\:h-96{height:24rem}.xl\:h-auto{height:auto}.xl\:h-px{height:1px}.xl\:h-0\.5{height:.125rem}.xl\:h-1\.5{height:.375rem}.xl\:h-2\.5{height:.625rem}.xl\:h-3\.5{height:.875rem}.xl\:h-1\/2{height:50%}.xl\:h-1\/3{height:33.333333%}.xl\:h-2\/3{height:66.666667%}.xl\:h-1\/4{height:25%}.xl\:h-2\/4{height:50%}.xl\:h-3\/4{height:75%}.xl\:h-1\/5{height:20%}.xl\:h-2\/5{height:40%}.xl\:h-3\/5{height:60%}.xl\:h-4\/5{height:80%}.xl\:h-1\/6{height:16.666667%}.xl\:h-2\/6{height:33.333333%}.xl\:h-3\/6{height:50%}.xl\:h-4\/6{height:66.666667%}.xl\:h-5\/6{height:83.333333%}.xl\:h-1\/12{height:8.333333%}.xl\:h-2\/12{height:16.666667%}.xl\:h-3\/12{height:25%}.xl\:h-4\/12{height:33.333333%}.xl\:h-5\/12{height:41.666667%}.xl\:h-6\/12{height:50%}.xl\:h-7\/12{height:58.333333%}.xl\:h-8\/12{height:66.666667%}.xl\:h-9\/12{height:75%}.xl\:h-10\/12{height:83.333333%}.xl\:h-11\/12{height:91.666667%}.xl\:h-full{height:100%}.xl\:h-screen{height:100vh}.xl\:text-xs{font-size:.75rem}.xl\:text-sm{font-size:.875rem}.xl\:text-base{font-size:1rem}.xl\:text-lg{font-size:1.125rem}.xl\:text-xl{font-size:1.25rem}.xl\:text-2xl{font-size:1.5rem}.xl\:text-3xl{font-size:1.875rem}.xl\:text-4xl{font-size:2.25rem}.xl\:text-5xl{font-size:3rem}.xl\:text-6xl{font-size:4rem}.xl\:leading-3{line-height:.75rem}.xl\:leading-4{line-height:1rem}.xl\:leading-5{line-height:1.25rem}.xl\:leading-6{line-height:1.5rem}.xl\:leading-7{line-height:1.75rem}.xl\:leading-8{line-height:2rem}.xl\:leading-9{line-height:2.25rem}.xl\:leading-10{line-height:2.5rem}.xl\:leading-none{line-height:1}.xl\:leading-tight{line-height:1.25}.xl\:leading-snug{line-height:1.375}.xl\:leading-normal{line-height:1.5}.xl\:leading-relaxed{line-height:1.625}.xl\:leading-loose{line-height:2}.xl\:list-inside{list-style-position:inside}.xl\:list-outside{list-style-position:outside}.xl\:list-none{list-style-type:none}.xl\:list-disc{list-style-type:disc}.xl\:list-decimal{list-style-type:decimal}.xl\:m-0{margin:0}.xl\:m-1{margin:.25rem}.xl\:m-2{margin:.5rem}.xl\:m-3{margin:.75rem}.xl\:m-4{margin:1rem}.xl\:m-5{margin:1.25rem}.xl\:m-6{margin:1.5rem}.xl\:m-7{margin:1.75rem}.xl\:m-8{margin:2rem}.xl\:m-9{margin:2.25rem}.xl\:m-10{margin:2.5rem}.xl\:m-11{margin:2.75rem}.xl\:m-12{margin:3rem}.xl\:m-13{margin:3.25rem}.xl\:m-14{margin:3.5rem}.xl\:m-15{margin:3.75rem}.xl\:m-16{margin:4rem}.xl\:m-20{margin:5rem}.xl\:m-24{margin:6rem}.xl\:m-28{margin:7rem}.xl\:m-32{margin:8rem}.xl\:m-36{margin:9rem}.xl\:m-40{margin:10rem}.xl\:m-44{margin:11rem}.xl\:m-48{margin:12rem}.xl\:m-52{margin:13rem}.xl\:m-56{margin:14rem}.xl\:m-60{margin:15rem}.xl\:m-64{margin:16rem}.xl\:m-72{margin:18rem}.xl\:m-80{margin:20rem}.xl\:m-96{margin:24rem}.xl\:m-auto{margin:auto}.xl\:m-px{margin:1px}.xl\:m-0\.5{margin:.125rem}.xl\:m-1\.5{margin:.375rem}.xl\:m-2\.5{margin:.625rem}.xl\:m-3\.5{margin:.875rem}.xl\:m-1\/2{margin:50%}.xl\:m-1\/3{margin:33.333333%}.xl\:m-2\/3{margin:66.666667%}.xl\:m-1\/4{margin:25%}.xl\:m-2\/4{margin:50%}.xl\:m-3\/4{margin:75%}.xl\:m-1\/5{margin:20%}.xl\:m-2\/5{margin:40%}.xl\:m-3\/5{margin:60%}.xl\:m-4\/5{margin:80%}.xl\:m-1\/6{margin:16.666667%}.xl\:m-2\/6{margin:33.333333%}.xl\:m-3\/6{margin:50%}.xl\:m-4\/6{margin:66.666667%}.xl\:m-5\/6{margin:83.333333%}.xl\:m-1\/12{margin:8.333333%}.xl\:m-2\/12{margin:16.666667%}.xl\:m-3\/12{margin:25%}.xl\:m-4\/12{margin:33.333333%}.xl\:m-5\/12{margin:41.666667%}.xl\:m-6\/12{margin:50%}.xl\:m-7\/12{margin:58.333333%}.xl\:m-8\/12{margin:66.666667%}.xl\:m-9\/12{margin:75%}.xl\:m-10\/12{margin:83.333333%}.xl\:m-11\/12{margin:91.666667%}.xl\:m-full{margin:100%}.xl\:-m-1{margin:-.25rem}.xl\:-m-2{margin:-.5rem}.xl\:-m-3{margin:-.75rem}.xl\:-m-4{margin:-1rem}.xl\:-m-5{margin:-1.25rem}.xl\:-m-6{margin:-1.5rem}.xl\:-m-7{margin:-1.75rem}.xl\:-m-8{margin:-2rem}.xl\:-m-9{margin:-2.25rem}.xl\:-m-10{margin:-2.5rem}.xl\:-m-11{margin:-2.75rem}.xl\:-m-12{margin:-3rem}.xl\:-m-13{margin:-3.25rem}.xl\:-m-14{margin:-3.5rem}.xl\:-m-15{margin:-3.75rem}.xl\:-m-16{margin:-4rem}.xl\:-m-20{margin:-5rem}.xl\:-m-24{margin:-6rem}.xl\:-m-28{margin:-7rem}.xl\:-m-32{margin:-8rem}.xl\:-m-36{margin:-9rem}.xl\:-m-40{margin:-10rem}.xl\:-m-44{margin:-11rem}.xl\:-m-48{margin:-12rem}.xl\:-m-52{margin:-13rem}.xl\:-m-56{margin:-14rem}.xl\:-m-60{margin:-15rem}.xl\:-m-64{margin:-16rem}.xl\:-m-72{margin:-18rem}.xl\:-m-80{margin:-20rem}.xl\:-m-96{margin:-24rem}.xl\:-m-px{margin:-1px}.xl\:-m-0\.5{margin:-.125rem}.xl\:-m-1\.5{margin:-.375rem}.xl\:-m-2\.5{margin:-.625rem}.xl\:-m-3\.5{margin:-.875rem}.xl\:-m-1\/2{margin:-50%}.xl\:-m-1\/3{margin:-33.33333%}.xl\:-m-2\/3{margin:-66.66667%}.xl\:-m-1\/4{margin:-25%}.xl\:-m-2\/4{margin:-50%}.xl\:-m-3\/4{margin:-75%}.xl\:-m-1\/5{margin:-20%}.xl\:-m-2\/5{margin:-40%}.xl\:-m-3\/5{margin:-60%}.xl\:-m-4\/5{margin:-80%}.xl\:-m-1\/6{margin:-16.66667%}.xl\:-m-2\/6{margin:-33.33333%}.xl\:-m-3\/6{margin:-50%}.xl\:-m-4\/6{margin:-66.66667%}.xl\:-m-5\/6{margin:-83.33333%}.xl\:-m-1\/12{margin:-8.33333%}.xl\:-m-2\/12{margin:-16.66667%}.xl\:-m-3\/12{margin:-25%}.xl\:-m-4\/12{margin:-33.33333%}.xl\:-m-5\/12{margin:-41.66667%}.xl\:-m-6\/12{margin:-50%}.xl\:-m-7\/12{margin:-58.33333%}.xl\:-m-8\/12{margin:-66.66667%}.xl\:-m-9\/12{margin:-75%}.xl\:-m-10\/12{margin:-83.33333%}.xl\:-m-11\/12{margin:-91.66667%}.xl\:-m-full{margin:-100%}.xl\:my-0{margin-top:0;margin-bottom:0}.xl\:mx-0{margin-left:0;margin-right:0}.xl\:my-1{margin-top:.25rem;margin-bottom:.25rem}.xl\:mx-1{margin-left:.25rem;margin-right:.25rem}.xl\:my-2{margin-top:.5rem;margin-bottom:.5rem}.xl\:mx-2{margin-left:.5rem;margin-right:.5rem}.xl\:my-3{margin-top:.75rem;margin-bottom:.75rem}.xl\:mx-3{margin-left:.75rem;margin-right:.75rem}.xl\:my-4{margin-top:1rem;margin-bottom:1rem}.xl\:mx-4{margin-left:1rem;margin-right:1rem}.xl\:my-5{margin-top:1.25rem;margin-bottom:1.25rem}.xl\:mx-5{margin-left:1.25rem;margin-right:1.25rem}.xl\:my-6{margin-top:1.5rem;margin-bottom:1.5rem}.xl\:mx-6{margin-left:1.5rem;margin-right:1.5rem}.xl\:my-7{margin-top:1.75rem;margin-bottom:1.75rem}.xl\:mx-7{margin-left:1.75rem;margin-right:1.75rem}.xl\:my-8{margin-top:2rem;margin-bottom:2rem}.xl\:mx-8{margin-left:2rem;margin-right:2rem}.xl\:my-9{margin-top:2.25rem;margin-bottom:2.25rem}.xl\:mx-9{margin-left:2.25rem;margin-right:2.25rem}.xl\:my-10{margin-top:2.5rem;margin-bottom:2.5rem}.xl\:mx-10{margin-left:2.5rem;margin-right:2.5rem}.xl\:my-11{margin-top:2.75rem;margin-bottom:2.75rem}.xl\:mx-11{margin-left:2.75rem;margin-right:2.75rem}.xl\:my-12{margin-top:3rem;margin-bottom:3rem}.xl\:mx-12{margin-left:3rem;margin-right:3rem}.xl\:my-13{margin-top:3.25rem;margin-bottom:3.25rem}.xl\:mx-13{margin-left:3.25rem;margin-right:3.25rem}.xl\:my-14{margin-top:3.5rem;margin-bottom:3.5rem}.xl\:mx-14{margin-left:3.5rem;margin-right:3.5rem}.xl\:my-15{margin-top:3.75rem;margin-bottom:3.75rem}.xl\:mx-15{margin-left:3.75rem;margin-right:3.75rem}.xl\:my-16{margin-top:4rem;margin-bottom:4rem}.xl\:mx-16{margin-left:4rem;margin-right:4rem}.xl\:my-20{margin-top:5rem;margin-bottom:5rem}.xl\:mx-20{margin-left:5rem;margin-right:5rem}.xl\:my-24{margin-top:6rem;margin-bottom:6rem}.xl\:mx-24{margin-left:6rem;margin-right:6rem}.xl\:my-28{margin-top:7rem;margin-bottom:7rem}.xl\:mx-28{margin-left:7rem;margin-right:7rem}.xl\:my-32{margin-top:8rem;margin-bottom:8rem}.xl\:mx-32{margin-left:8rem;margin-right:8rem}.xl\:my-36{margin-top:9rem;margin-bottom:9rem}.xl\:mx-36{margin-left:9rem;margin-right:9rem}.xl\:my-40{margin-top:10rem;margin-bottom:10rem}.xl\:mx-40{margin-left:10rem;margin-right:10rem}.xl\:my-44{margin-top:11rem;margin-bottom:11rem}.xl\:mx-44{margin-left:11rem;margin-right:11rem}.xl\:my-48{margin-top:12rem;margin-bottom:12rem}.xl\:mx-48{margin-left:12rem;margin-right:12rem}.xl\:my-52{margin-top:13rem;margin-bottom:13rem}.xl\:mx-52{margin-left:13rem;margin-right:13rem}.xl\:my-56{margin-top:14rem;margin-bottom:14rem}.xl\:mx-56{margin-left:14rem;margin-right:14rem}.xl\:my-60{margin-top:15rem;margin-bottom:15rem}.xl\:mx-60{margin-left:15rem;margin-right:15rem}.xl\:my-64{margin-top:16rem;margin-bottom:16rem}.xl\:mx-64{margin-left:16rem;margin-right:16rem}.xl\:my-72{margin-top:18rem;margin-bottom:18rem}.xl\:mx-72{margin-left:18rem;margin-right:18rem}.xl\:my-80{margin-top:20rem;margin-bottom:20rem}.xl\:mx-80{margin-left:20rem;margin-right:20rem}.xl\:my-96{margin-top:24rem;margin-bottom:24rem}.xl\:mx-96{margin-left:24rem;margin-right:24rem}.xl\:my-auto{margin-top:auto;margin-bottom:auto}.xl\:mx-auto{margin-left:auto;margin-right:auto}.xl\:my-px{margin-top:1px;margin-bottom:1px}.xl\:mx-px{margin-left:1px;margin-right:1px}.xl\:my-0\.5{margin-top:.125rem;margin-bottom:.125rem}.xl\:mx-0\.5{margin-left:.125rem;margin-right:.125rem}.xl\:my-1\.5{margin-top:.375rem;margin-bottom:.375rem}.xl\:mx-1\.5{margin-left:.375rem;margin-right:.375rem}.xl\:my-2\.5{margin-top:.625rem;margin-bottom:.625rem}.xl\:mx-2\.5{margin-left:.625rem;margin-right:.625rem}.xl\:my-3\.5{margin-top:.875rem;margin-bottom:.875rem}.xl\:mx-3\.5{margin-left:.875rem;margin-right:.875rem}.xl\:my-1\/2{margin-top:50%;margin-bottom:50%}.xl\:mx-1\/2{margin-left:50%;margin-right:50%}.xl\:my-1\/3{margin-top:33.333333%;margin-bottom:33.333333%}.xl\:mx-1\/3{margin-left:33.333333%;margin-right:33.333333%}.xl\:my-2\/3{margin-top:66.666667%;margin-bottom:66.666667%}.xl\:mx-2\/3{margin-left:66.666667%;margin-right:66.666667%}.xl\:my-1\/4{margin-top:25%;margin-bottom:25%}.xl\:mx-1\/4{margin-left:25%;margin-right:25%}.xl\:my-2\/4{margin-top:50%;margin-bottom:50%}.xl\:mx-2\/4{margin-left:50%;margin-right:50%}.xl\:my-3\/4{margin-top:75%;margin-bottom:75%}.xl\:mx-3\/4{margin-left:75%;margin-right:75%}.xl\:my-1\/5{margin-top:20%;margin-bottom:20%}.xl\:mx-1\/5{margin-left:20%;margin-right:20%}.xl\:my-2\/5{margin-top:40%;margin-bottom:40%}.xl\:mx-2\/5{margin-left:40%;margin-right:40%}.xl\:my-3\/5{margin-top:60%;margin-bottom:60%}.xl\:mx-3\/5{margin-left:60%;margin-right:60%}.xl\:my-4\/5{margin-top:80%;margin-bottom:80%}.xl\:mx-4\/5{margin-left:80%;margin-right:80%}.xl\:my-1\/6{margin-top:16.666667%;margin-bottom:16.666667%}.xl\:mx-1\/6{margin-left:16.666667%;margin-right:16.666667%}.xl\:my-2\/6{margin-top:33.333333%;margin-bottom:33.333333%}.xl\:mx-2\/6{margin-left:33.333333%;margin-right:33.333333%}.xl\:my-3\/6{margin-top:50%;margin-bottom:50%}.xl\:mx-3\/6{margin-left:50%;margin-right:50%}.xl\:my-4\/6{margin-top:66.666667%;margin-bottom:66.666667%}.xl\:mx-4\/6{margin-left:66.666667%;margin-right:66.666667%}.xl\:my-5\/6{margin-top:83.333333%;margin-bottom:83.333333%}.xl\:mx-5\/6{margin-left:83.333333%;margin-right:83.333333%}.xl\:my-1\/12{margin-top:8.333333%;margin-bottom:8.333333%}.xl\:mx-1\/12{margin-left:8.333333%;margin-right:8.333333%}.xl\:my-2\/12{margin-top:16.666667%;margin-bottom:16.666667%}.xl\:mx-2\/12{margin-left:16.666667%;margin-right:16.666667%}.xl\:my-3\/12{margin-top:25%;margin-bottom:25%}.xl\:mx-3\/12{margin-left:25%;margin-right:25%}.xl\:my-4\/12{margin-top:33.333333%;margin-bottom:33.333333%}.xl\:mx-4\/12{margin-left:33.333333%;margin-right:33.333333%}.xl\:my-5\/12{margin-top:41.666667%;margin-bottom:41.666667%}.xl\:mx-5\/12{margin-left:41.666667%;margin-right:41.666667%}.xl\:my-6\/12{margin-top:50%;margin-bottom:50%}.xl\:mx-6\/12{margin-left:50%;margin-right:50%}.xl\:my-7\/12{margin-top:58.333333%;margin-bottom:58.333333%}.xl\:mx-7\/12{margin-left:58.333333%;margin-right:58.333333%}.xl\:my-8\/12{margin-top:66.666667%;margin-bottom:66.666667%}.xl\:mx-8\/12{margin-left:66.666667%;margin-right:66.666667%}.xl\:my-9\/12{margin-top:75%;margin-bottom:75%}.xl\:mx-9\/12{margin-left:75%;margin-right:75%}.xl\:my-10\/12{margin-top:83.333333%;margin-bottom:83.333333%}.xl\:mx-10\/12{margin-left:83.333333%;margin-right:83.333333%}.xl\:my-11\/12{margin-top:91.666667%;margin-bottom:91.666667%}.xl\:mx-11\/12{margin-left:91.666667%;margin-right:91.666667%}.xl\:my-full{margin-top:100%;margin-bottom:100%}.xl\:mx-full{margin-left:100%;margin-right:100%}.xl\:-my-1{margin-top:-.25rem;margin-bottom:-.25rem}.xl\:-mx-1{margin-left:-.25rem;margin-right:-.25rem}.xl\:-my-2{margin-top:-.5rem;margin-bottom:-.5rem}.xl\:-mx-2{margin-left:-.5rem;margin-right:-.5rem}.xl\:-my-3{margin-top:-.75rem;margin-bottom:-.75rem}.xl\:-mx-3{margin-left:-.75rem;margin-right:-.75rem}.xl\:-my-4{margin-top:-1rem;margin-bottom:-1rem}.xl\:-mx-4{margin-left:-1rem;margin-right:-1rem}.xl\:-my-5{margin-top:-1.25rem;margin-bottom:-1.25rem}.xl\:-mx-5{margin-left:-1.25rem;margin-right:-1.25rem}.xl\:-my-6{margin-top:-1.5rem;margin-bottom:-1.5rem}.xl\:-mx-6{margin-left:-1.5rem;margin-right:-1.5rem}.xl\:-my-7{margin-top:-1.75rem;margin-bottom:-1.75rem}.xl\:-mx-7{margin-left:-1.75rem;margin-right:-1.75rem}.xl\:-my-8{margin-top:-2rem;margin-bottom:-2rem}.xl\:-mx-8{margin-left:-2rem;margin-right:-2rem}.xl\:-my-9{margin-top:-2.25rem;margin-bottom:-2.25rem}.xl\:-mx-9{margin-left:-2.25rem;margin-right:-2.25rem}.xl\:-my-10{margin-top:-2.5rem;margin-bottom:-2.5rem}.xl\:-mx-10{margin-left:-2.5rem;margin-right:-2.5rem}.xl\:-my-11{margin-top:-2.75rem;margin-bottom:-2.75rem}.xl\:-mx-11{margin-left:-2.75rem;margin-right:-2.75rem}.xl\:-my-12{margin-top:-3rem;margin-bottom:-3rem}.xl\:-mx-12{margin-left:-3rem;margin-right:-3rem}.xl\:-my-13{margin-top:-3.25rem;margin-bottom:-3.25rem}.xl\:-mx-13{margin-left:-3.25rem;margin-right:-3.25rem}.xl\:-my-14{margin-top:-3.5rem;margin-bottom:-3.5rem}.xl\:-mx-14{margin-left:-3.5rem;margin-right:-3.5rem}.xl\:-my-15{margin-top:-3.75rem;margin-bottom:-3.75rem}.xl\:-mx-15{margin-left:-3.75rem;margin-right:-3.75rem}.xl\:-my-16{margin-top:-4rem;margin-bottom:-4rem}.xl\:-mx-16{margin-left:-4rem;margin-right:-4rem}.xl\:-my-20{margin-top:-5rem;margin-bottom:-5rem}.xl\:-mx-20{margin-left:-5rem;margin-right:-5rem}.xl\:-my-24{margin-top:-6rem;margin-bottom:-6rem}.xl\:-mx-24{margin-left:-6rem;margin-right:-6rem}.xl\:-my-28{margin-top:-7rem;margin-bottom:-7rem}.xl\:-mx-28{margin-left:-7rem;margin-right:-7rem}.xl\:-my-32{margin-top:-8rem;margin-bottom:-8rem}.xl\:-mx-32{margin-left:-8rem;margin-right:-8rem}.xl\:-my-36{margin-top:-9rem;margin-bottom:-9rem}.xl\:-mx-36{margin-left:-9rem;margin-right:-9rem}.xl\:-my-40{margin-top:-10rem;margin-bottom:-10rem}.xl\:-mx-40{margin-left:-10rem;margin-right:-10rem}.xl\:-my-44{margin-top:-11rem;margin-bottom:-11rem}.xl\:-mx-44{margin-left:-11rem;margin-right:-11rem}.xl\:-my-48{margin-top:-12rem;margin-bottom:-12rem}.xl\:-mx-48{margin-left:-12rem;margin-right:-12rem}.xl\:-my-52{margin-top:-13rem;margin-bottom:-13rem}.xl\:-mx-52{margin-left:-13rem;margin-right:-13rem}.xl\:-my-56{margin-top:-14rem;margin-bottom:-14rem}.xl\:-mx-56{margin-left:-14rem;margin-right:-14rem}.xl\:-my-60{margin-top:-15rem;margin-bottom:-15rem}.xl\:-mx-60{margin-left:-15rem;margin-right:-15rem}.xl\:-my-64{margin-top:-16rem;margin-bottom:-16rem}.xl\:-mx-64{margin-left:-16rem;margin-right:-16rem}.xl\:-my-72{margin-top:-18rem;margin-bottom:-18rem}.xl\:-mx-72{margin-left:-18rem;margin-right:-18rem}.xl\:-my-80{margin-top:-20rem;margin-bottom:-20rem}.xl\:-mx-80{margin-left:-20rem;margin-right:-20rem}.xl\:-my-96{margin-top:-24rem;margin-bottom:-24rem}.xl\:-mx-96{margin-left:-24rem;margin-right:-24rem}.xl\:-my-px{margin-top:-1px;margin-bottom:-1px}.xl\:-mx-px{margin-left:-1px;margin-right:-1px}.xl\:-my-0\.5{margin-top:-.125rem;margin-bottom:-.125rem}.xl\:-mx-0\.5{margin-left:-.125rem;margin-right:-.125rem}.xl\:-my-1\.5{margin-top:-.375rem;margin-bottom:-.375rem}.xl\:-mx-1\.5{margin-left:-.375rem;margin-right:-.375rem}.xl\:-my-2\.5{margin-top:-.625rem;margin-bottom:-.625rem}.xl\:-mx-2\.5{margin-left:-.625rem;margin-right:-.625rem}.xl\:-my-3\.5{margin-top:-.875rem;margin-bottom:-.875rem}.xl\:-mx-3\.5{margin-left:-.875rem;margin-right:-.875rem}.xl\:-my-1\/2{margin-top:-50%;margin-bottom:-50%}.xl\:-mx-1\/2{margin-left:-50%;margin-right:-50%}.xl\:-my-1\/3{margin-top:-33.33333%;margin-bottom:-33.33333%}.xl\:-mx-1\/3{margin-left:-33.33333%;margin-right:-33.33333%}.xl\:-my-2\/3{margin-top:-66.66667%;margin-bottom:-66.66667%}.xl\:-mx-2\/3{margin-left:-66.66667%;margin-right:-66.66667%}.xl\:-my-1\/4{margin-top:-25%;margin-bottom:-25%}.xl\:-mx-1\/4{margin-left:-25%;margin-right:-25%}.xl\:-my-2\/4{margin-top:-50%;margin-bottom:-50%}.xl\:-mx-2\/4{margin-left:-50%;margin-right:-50%}.xl\:-my-3\/4{margin-top:-75%;margin-bottom:-75%}.xl\:-mx-3\/4{margin-left:-75%;margin-right:-75%}.xl\:-my-1\/5{margin-top:-20%;margin-bottom:-20%}.xl\:-mx-1\/5{margin-left:-20%;margin-right:-20%}.xl\:-my-2\/5{margin-top:-40%;margin-bottom:-40%}.xl\:-mx-2\/5{margin-left:-40%;margin-right:-40%}.xl\:-my-3\/5{margin-top:-60%;margin-bottom:-60%}.xl\:-mx-3\/5{margin-left:-60%;margin-right:-60%}.xl\:-my-4\/5{margin-top:-80%;margin-bottom:-80%}.xl\:-mx-4\/5{margin-left:-80%;margin-right:-80%}.xl\:-my-1\/6{margin-top:-16.66667%;margin-bottom:-16.66667%}.xl\:-mx-1\/6{margin-left:-16.66667%;margin-right:-16.66667%}.xl\:-my-2\/6{margin-top:-33.33333%;margin-bottom:-33.33333%}.xl\:-mx-2\/6{margin-left:-33.33333%;margin-right:-33.33333%}.xl\:-my-3\/6{margin-top:-50%;margin-bottom:-50%}.xl\:-mx-3\/6{margin-left:-50%;margin-right:-50%}.xl\:-my-4\/6{margin-top:-66.66667%;margin-bottom:-66.66667%}.xl\:-mx-4\/6{margin-left:-66.66667%;margin-right:-66.66667%}.xl\:-my-5\/6{margin-top:-83.33333%;margin-bottom:-83.33333%}.xl\:-mx-5\/6{margin-left:-83.33333%;margin-right:-83.33333%}.xl\:-my-1\/12{margin-top:-8.33333%;margin-bottom:-8.33333%}.xl\:-mx-1\/12{margin-left:-8.33333%;margin-right:-8.33333%}.xl\:-my-2\/12{margin-top:-16.66667%;margin-bottom:-16.66667%}.xl\:-mx-2\/12{margin-left:-16.66667%;margin-right:-16.66667%}.xl\:-my-3\/12{margin-top:-25%;margin-bottom:-25%}.xl\:-mx-3\/12{margin-left:-25%;margin-right:-25%}.xl\:-my-4\/12{margin-top:-33.33333%;margin-bottom:-33.33333%}.xl\:-mx-4\/12{margin-left:-33.33333%;margin-right:-33.33333%}.xl\:-my-5\/12{margin-top:-41.66667%;margin-bottom:-41.66667%}.xl\:-mx-5\/12{margin-left:-41.66667%;margin-right:-41.66667%}.xl\:-my-6\/12{margin-top:-50%;margin-bottom:-50%}.xl\:-mx-6\/12{margin-left:-50%;margin-right:-50%}.xl\:-my-7\/12{margin-top:-58.33333%;margin-bottom:-58.33333%}.xl\:-mx-7\/12{margin-left:-58.33333%;margin-right:-58.33333%}.xl\:-my-8\/12{margin-top:-66.66667%;margin-bottom:-66.66667%}.xl\:-mx-8\/12{margin-left:-66.66667%;margin-right:-66.66667%}.xl\:-my-9\/12{margin-top:-75%;margin-bottom:-75%}.xl\:-mx-9\/12{margin-left:-75%;margin-right:-75%}.xl\:-my-10\/12{margin-top:-83.33333%;margin-bottom:-83.33333%}.xl\:-mx-10\/12{margin-left:-83.33333%;margin-right:-83.33333%}.xl\:-my-11\/12{margin-top:-91.66667%;margin-bottom:-91.66667%}.xl\:-mx-11\/12{margin-left:-91.66667%;margin-right:-91.66667%}.xl\:-my-full{margin-top:-100%;margin-bottom:-100%}.xl\:-mx-full{margin-left:-100%;margin-right:-100%}.xl\:mt-0{margin-top:0}.xl\:mr-0{margin-right:0}.xl\:mb-0{margin-bottom:0}.xl\:ml-0{margin-left:0}.xl\:mt-1{margin-top:.25rem}.xl\:mr-1{margin-right:.25rem}.xl\:mb-1{margin-bottom:.25rem}.xl\:ml-1{margin-left:.25rem}.xl\:mt-2{margin-top:.5rem}.xl\:mr-2{margin-right:.5rem}.xl\:mb-2{margin-bottom:.5rem}.xl\:ml-2{margin-left:.5rem}.xl\:mt-3{margin-top:.75rem}.xl\:mr-3{margin-right:.75rem}.xl\:mb-3{margin-bottom:.75rem}.xl\:ml-3{margin-left:.75rem}.xl\:mt-4{margin-top:1rem}.xl\:mr-4{margin-right:1rem}.xl\:mb-4{margin-bottom:1rem}.xl\:ml-4{margin-left:1rem}.xl\:mt-5{margin-top:1.25rem}.xl\:mr-5{margin-right:1.25rem}.xl\:mb-5{margin-bottom:1.25rem}.xl\:ml-5{margin-left:1.25rem}.xl\:mt-6{margin-top:1.5rem}.xl\:mr-6{margin-right:1.5rem}.xl\:mb-6{margin-bottom:1.5rem}.xl\:ml-6{margin-left:1.5rem}.xl\:mt-7{margin-top:1.75rem}.xl\:mr-7{margin-right:1.75rem}.xl\:mb-7{margin-bottom:1.75rem}.xl\:ml-7{margin-left:1.75rem}.xl\:mt-8{margin-top:2rem}.xl\:mr-8{margin-right:2rem}.xl\:mb-8{margin-bottom:2rem}.xl\:ml-8{margin-left:2rem}.xl\:mt-9{margin-top:2.25rem}.xl\:mr-9{margin-right:2.25rem}.xl\:mb-9{margin-bottom:2.25rem}.xl\:ml-9{margin-left:2.25rem}.xl\:mt-10{margin-top:2.5rem}.xl\:mr-10{margin-right:2.5rem}.xl\:mb-10{margin-bottom:2.5rem}.xl\:ml-10{margin-left:2.5rem}.xl\:mt-11{margin-top:2.75rem}.xl\:mr-11{margin-right:2.75rem}.xl\:mb-11{margin-bottom:2.75rem}.xl\:ml-11{margin-left:2.75rem}.xl\:mt-12{margin-top:3rem}.xl\:mr-12{margin-right:3rem}.xl\:mb-12{margin-bottom:3rem}.xl\:ml-12{margin-left:3rem}.xl\:mt-13{margin-top:3.25rem}.xl\:mr-13{margin-right:3.25rem}.xl\:mb-13{margin-bottom:3.25rem}.xl\:ml-13{margin-left:3.25rem}.xl\:mt-14{margin-top:3.5rem}.xl\:mr-14{margin-right:3.5rem}.xl\:mb-14{margin-bottom:3.5rem}.xl\:ml-14{margin-left:3.5rem}.xl\:mt-15{margin-top:3.75rem}.xl\:mr-15{margin-right:3.75rem}.xl\:mb-15{margin-bottom:3.75rem}.xl\:ml-15{margin-left:3.75rem}.xl\:mt-16{margin-top:4rem}.xl\:mr-16{margin-right:4rem}.xl\:mb-16{margin-bottom:4rem}.xl\:ml-16{margin-left:4rem}.xl\:mt-20{margin-top:5rem}.xl\:mr-20{margin-right:5rem}.xl\:mb-20{margin-bottom:5rem}.xl\:ml-20{margin-left:5rem}.xl\:mt-24{margin-top:6rem}.xl\:mr-24{margin-right:6rem}.xl\:mb-24{margin-bottom:6rem}.xl\:ml-24{margin-left:6rem}.xl\:mt-28{margin-top:7rem}.xl\:mr-28{margin-right:7rem}.xl\:mb-28{margin-bottom:7rem}.xl\:ml-28{margin-left:7rem}.xl\:mt-32{margin-top:8rem}.xl\:mr-32{margin-right:8rem}.xl\:mb-32{margin-bottom:8rem}.xl\:ml-32{margin-left:8rem}.xl\:mt-36{margin-top:9rem}.xl\:mr-36{margin-right:9rem}.xl\:mb-36{margin-bottom:9rem}.xl\:ml-36{margin-left:9rem}.xl\:mt-40{margin-top:10rem}.xl\:mr-40{margin-right:10rem}.xl\:mb-40{margin-bottom:10rem}.xl\:ml-40{margin-left:10rem}.xl\:mt-44{margin-top:11rem}.xl\:mr-44{margin-right:11rem}.xl\:mb-44{margin-bottom:11rem}.xl\:ml-44{margin-left:11rem}.xl\:mt-48{margin-top:12rem}.xl\:mr-48{margin-right:12rem}.xl\:mb-48{margin-bottom:12rem}.xl\:ml-48{margin-left:12rem}.xl\:mt-52{margin-top:13rem}.xl\:mr-52{margin-right:13rem}.xl\:mb-52{margin-bottom:13rem}.xl\:ml-52{margin-left:13rem}.xl\:mt-56{margin-top:14rem}.xl\:mr-56{margin-right:14rem}.xl\:mb-56{margin-bottom:14rem}.xl\:ml-56{margin-left:14rem}.xl\:mt-60{margin-top:15rem}.xl\:mr-60{margin-right:15rem}.xl\:mb-60{margin-bottom:15rem}.xl\:ml-60{margin-left:15rem}.xl\:mt-64{margin-top:16rem}.xl\:mr-64{margin-right:16rem}.xl\:mb-64{margin-bottom:16rem}.xl\:ml-64{margin-left:16rem}.xl\:mt-72{margin-top:18rem}.xl\:mr-72{margin-right:18rem}.xl\:mb-72{margin-bottom:18rem}.xl\:ml-72{margin-left:18rem}.xl\:mt-80{margin-top:20rem}.xl\:mr-80{margin-right:20rem}.xl\:mb-80{margin-bottom:20rem}.xl\:ml-80{margin-left:20rem}.xl\:mt-96{margin-top:24rem}.xl\:mr-96{margin-right:24rem}.xl\:mb-96{margin-bottom:24rem}.xl\:ml-96{margin-left:24rem}.xl\:mt-auto{margin-top:auto}.xl\:mr-auto{margin-right:auto}.xl\:mb-auto{margin-bottom:auto}.xl\:ml-auto{margin-left:auto}.xl\:mt-px{margin-top:1px}.xl\:mr-px{margin-right:1px}.xl\:mb-px{margin-bottom:1px}.xl\:ml-px{margin-left:1px}.xl\:mt-0\.5{margin-top:.125rem}.xl\:mr-0\.5{margin-right:.125rem}.xl\:mb-0\.5{margin-bottom:.125rem}.xl\:ml-0\.5{margin-left:.125rem}.xl\:mt-1\.5{margin-top:.375rem}.xl\:mr-1\.5{margin-right:.375rem}.xl\:mb-1\.5{margin-bottom:.375rem}.xl\:ml-1\.5{margin-left:.375rem}.xl\:mt-2\.5{margin-top:.625rem}.xl\:mr-2\.5{margin-right:.625rem}.xl\:mb-2\.5{margin-bottom:.625rem}.xl\:ml-2\.5{margin-left:.625rem}.xl\:mt-3\.5{margin-top:.875rem}.xl\:mr-3\.5{margin-right:.875rem}.xl\:mb-3\.5{margin-bottom:.875rem}.xl\:ml-3\.5{margin-left:.875rem}.xl\:mt-1\/2{margin-top:50%}.xl\:mr-1\/2{margin-right:50%}.xl\:mb-1\/2{margin-bottom:50%}.xl\:ml-1\/2{margin-left:50%}.xl\:mt-1\/3{margin-top:33.333333%}.xl\:mr-1\/3{margin-right:33.333333%}.xl\:mb-1\/3{margin-bottom:33.333333%}.xl\:ml-1\/3{margin-left:33.333333%}.xl\:mt-2\/3{margin-top:66.666667%}.xl\:mr-2\/3{margin-right:66.666667%}.xl\:mb-2\/3{margin-bottom:66.666667%}.xl\:ml-2\/3{margin-left:66.666667%}.xl\:mt-1\/4{margin-top:25%}.xl\:mr-1\/4{margin-right:25%}.xl\:mb-1\/4{margin-bottom:25%}.xl\:ml-1\/4{margin-left:25%}.xl\:mt-2\/4{margin-top:50%}.xl\:mr-2\/4{margin-right:50%}.xl\:mb-2\/4{margin-bottom:50%}.xl\:ml-2\/4{margin-left:50%}.xl\:mt-3\/4{margin-top:75%}.xl\:mr-3\/4{margin-right:75%}.xl\:mb-3\/4{margin-bottom:75%}.xl\:ml-3\/4{margin-left:75%}.xl\:mt-1\/5{margin-top:20%}.xl\:mr-1\/5{margin-right:20%}.xl\:mb-1\/5{margin-bottom:20%}.xl\:ml-1\/5{margin-left:20%}.xl\:mt-2\/5{margin-top:40%}.xl\:mr-2\/5{margin-right:40%}.xl\:mb-2\/5{margin-bottom:40%}.xl\:ml-2\/5{margin-left:40%}.xl\:mt-3\/5{margin-top:60%}.xl\:mr-3\/5{margin-right:60%}.xl\:mb-3\/5{margin-bottom:60%}.xl\:ml-3\/5{margin-left:60%}.xl\:mt-4\/5{margin-top:80%}.xl\:mr-4\/5{margin-right:80%}.xl\:mb-4\/5{margin-bottom:80%}.xl\:ml-4\/5{margin-left:80%}.xl\:mt-1\/6{margin-top:16.666667%}.xl\:mr-1\/6{margin-right:16.666667%}.xl\:mb-1\/6{margin-bottom:16.666667%}.xl\:ml-1\/6{margin-left:16.666667%}.xl\:mt-2\/6{margin-top:33.333333%}.xl\:mr-2\/6{margin-right:33.333333%}.xl\:mb-2\/6{margin-bottom:33.333333%}.xl\:ml-2\/6{margin-left:33.333333%}.xl\:mt-3\/6{margin-top:50%}.xl\:mr-3\/6{margin-right:50%}.xl\:mb-3\/6{margin-bottom:50%}.xl\:ml-3\/6{margin-left:50%}.xl\:mt-4\/6{margin-top:66.666667%}.xl\:mr-4\/6{margin-right:66.666667%}.xl\:mb-4\/6{margin-bottom:66.666667%}.xl\:ml-4\/6{margin-left:66.666667%}.xl\:mt-5\/6{margin-top:83.333333%}.xl\:mr-5\/6{margin-right:83.333333%}.xl\:mb-5\/6{margin-bottom:83.333333%}.xl\:ml-5\/6{margin-left:83.333333%}.xl\:mt-1\/12{margin-top:8.333333%}.xl\:mr-1\/12{margin-right:8.333333%}.xl\:mb-1\/12{margin-bottom:8.333333%}.xl\:ml-1\/12{margin-left:8.333333%}.xl\:mt-2\/12{margin-top:16.666667%}.xl\:mr-2\/12{margin-right:16.666667%}.xl\:mb-2\/12{margin-bottom:16.666667%}.xl\:ml-2\/12{margin-left:16.666667%}.xl\:mt-3\/12{margin-top:25%}.xl\:mr-3\/12{margin-right:25%}.xl\:mb-3\/12{margin-bottom:25%}.xl\:ml-3\/12{margin-left:25%}.xl\:mt-4\/12{margin-top:33.333333%}.xl\:mr-4\/12{margin-right:33.333333%}.xl\:mb-4\/12{margin-bottom:33.333333%}.xl\:ml-4\/12{margin-left:33.333333%}.xl\:mt-5\/12{margin-top:41.666667%}.xl\:mr-5\/12{margin-right:41.666667%}.xl\:mb-5\/12{margin-bottom:41.666667%}.xl\:ml-5\/12{margin-left:41.666667%}.xl\:mt-6\/12{margin-top:50%}.xl\:mr-6\/12{margin-right:50%}.xl\:mb-6\/12{margin-bottom:50%}.xl\:ml-6\/12{margin-left:50%}.xl\:mt-7\/12{margin-top:58.333333%}.xl\:mr-7\/12{margin-right:58.333333%}.xl\:mb-7\/12{margin-bottom:58.333333%}.xl\:ml-7\/12{margin-left:58.333333%}.xl\:mt-8\/12{margin-top:66.666667%}.xl\:mr-8\/12{margin-right:66.666667%}.xl\:mb-8\/12{margin-bottom:66.666667%}.xl\:ml-8\/12{margin-left:66.666667%}.xl\:mt-9\/12{margin-top:75%}.xl\:mr-9\/12{margin-right:75%}.xl\:mb-9\/12{margin-bottom:75%}.xl\:ml-9\/12{margin-left:75%}.xl\:mt-10\/12{margin-top:83.333333%}.xl\:mr-10\/12{margin-right:83.333333%}.xl\:mb-10\/12{margin-bottom:83.333333%}.xl\:ml-10\/12{margin-left:83.333333%}.xl\:mt-11\/12{margin-top:91.666667%}.xl\:mr-11\/12{margin-right:91.666667%}.xl\:mb-11\/12{margin-bottom:91.666667%}.xl\:ml-11\/12{margin-left:91.666667%}.xl\:mt-full{margin-top:100%}.xl\:mr-full{margin-right:100%}.xl\:mb-full{margin-bottom:100%}.xl\:ml-full{margin-left:100%}.xl\:-mt-1{margin-top:-.25rem}.xl\:-mr-1{margin-right:-.25rem}.xl\:-mb-1{margin-bottom:-.25rem}.xl\:-ml-1{margin-left:-.25rem}.xl\:-mt-2{margin-top:-.5rem}.xl\:-mr-2{margin-right:-.5rem}.xl\:-mb-2{margin-bottom:-.5rem}.xl\:-ml-2{margin-left:-.5rem}.xl\:-mt-3{margin-top:-.75rem}.xl\:-mr-3{margin-right:-.75rem}.xl\:-mb-3{margin-bottom:-.75rem}.xl\:-ml-3{margin-left:-.75rem}.xl\:-mt-4{margin-top:-1rem}.xl\:-mr-4{margin-right:-1rem}.xl\:-mb-4{margin-bottom:-1rem}.xl\:-ml-4{margin-left:-1rem}.xl\:-mt-5{margin-top:-1.25rem}.xl\:-mr-5{margin-right:-1.25rem}.xl\:-mb-5{margin-bottom:-1.25rem}.xl\:-ml-5{margin-left:-1.25rem}.xl\:-mt-6{margin-top:-1.5rem}.xl\:-mr-6{margin-right:-1.5rem}.xl\:-mb-6{margin-bottom:-1.5rem}.xl\:-ml-6{margin-left:-1.5rem}.xl\:-mt-7{margin-top:-1.75rem}.xl\:-mr-7{margin-right:-1.75rem}.xl\:-mb-7{margin-bottom:-1.75rem}.xl\:-ml-7{margin-left:-1.75rem}.xl\:-mt-8{margin-top:-2rem}.xl\:-mr-8{margin-right:-2rem}.xl\:-mb-8{margin-bottom:-2rem}.xl\:-ml-8{margin-left:-2rem}.xl\:-mt-9{margin-top:-2.25rem}.xl\:-mr-9{margin-right:-2.25rem}.xl\:-mb-9{margin-bottom:-2.25rem}.xl\:-ml-9{margin-left:-2.25rem}.xl\:-mt-10{margin-top:-2.5rem}.xl\:-mr-10{margin-right:-2.5rem}.xl\:-mb-10{margin-bottom:-2.5rem}.xl\:-ml-10{margin-left:-2.5rem}.xl\:-mt-11{margin-top:-2.75rem}.xl\:-mr-11{margin-right:-2.75rem}.xl\:-mb-11{margin-bottom:-2.75rem}.xl\:-ml-11{margin-left:-2.75rem}.xl\:-mt-12{margin-top:-3rem}.xl\:-mr-12{margin-right:-3rem}.xl\:-mb-12{margin-bottom:-3rem}.xl\:-ml-12{margin-left:-3rem}.xl\:-mt-13{margin-top:-3.25rem}.xl\:-mr-13{margin-right:-3.25rem}.xl\:-mb-13{margin-bottom:-3.25rem}.xl\:-ml-13{margin-left:-3.25rem}.xl\:-mt-14{margin-top:-3.5rem}.xl\:-mr-14{margin-right:-3.5rem}.xl\:-mb-14{margin-bottom:-3.5rem}.xl\:-ml-14{margin-left:-3.5rem}.xl\:-mt-15{margin-top:-3.75rem}.xl\:-mr-15{margin-right:-3.75rem}.xl\:-mb-15{margin-bottom:-3.75rem}.xl\:-ml-15{margin-left:-3.75rem}.xl\:-mt-16{margin-top:-4rem}.xl\:-mr-16{margin-right:-4rem}.xl\:-mb-16{margin-bottom:-4rem}.xl\:-ml-16{margin-left:-4rem}.xl\:-mt-20{margin-top:-5rem}.xl\:-mr-20{margin-right:-5rem}.xl\:-mb-20{margin-bottom:-5rem}.xl\:-ml-20{margin-left:-5rem}.xl\:-mt-24{margin-top:-6rem}.xl\:-mr-24{margin-right:-6rem}.xl\:-mb-24{margin-bottom:-6rem}.xl\:-ml-24{margin-left:-6rem}.xl\:-mt-28{margin-top:-7rem}.xl\:-mr-28{margin-right:-7rem}.xl\:-mb-28{margin-bottom:-7rem}.xl\:-ml-28{margin-left:-7rem}.xl\:-mt-32{margin-top:-8rem}.xl\:-mr-32{margin-right:-8rem}.xl\:-mb-32{margin-bottom:-8rem}.xl\:-ml-32{margin-left:-8rem}.xl\:-mt-36{margin-top:-9rem}.xl\:-mr-36{margin-right:-9rem}.xl\:-mb-36{margin-bottom:-9rem}.xl\:-ml-36{margin-left:-9rem}.xl\:-mt-40{margin-top:-10rem}.xl\:-mr-40{margin-right:-10rem}.xl\:-mb-40{margin-bottom:-10rem}.xl\:-ml-40{margin-left:-10rem}.xl\:-mt-44{margin-top:-11rem}.xl\:-mr-44{margin-right:-11rem}.xl\:-mb-44{margin-bottom:-11rem}.xl\:-ml-44{margin-left:-11rem}.xl\:-mt-48{margin-top:-12rem}.xl\:-mr-48{margin-right:-12rem}.xl\:-mb-48{margin-bottom:-12rem}.xl\:-ml-48{margin-left:-12rem}.xl\:-mt-52{margin-top:-13rem}.xl\:-mr-52{margin-right:-13rem}.xl\:-mb-52{margin-bottom:-13rem}.xl\:-ml-52{margin-left:-13rem}.xl\:-mt-56{margin-top:-14rem}.xl\:-mr-56{margin-right:-14rem}.xl\:-mb-56{margin-bottom:-14rem}.xl\:-ml-56{margin-left:-14rem}.xl\:-mt-60{margin-top:-15rem}.xl\:-mr-60{margin-right:-15rem}.xl\:-mb-60{margin-bottom:-15rem}.xl\:-ml-60{margin-left:-15rem}.xl\:-mt-64{margin-top:-16rem}.xl\:-mr-64{margin-right:-16rem}.xl\:-mb-64{margin-bottom:-16rem}.xl\:-ml-64{margin-left:-16rem}.xl\:-mt-72{margin-top:-18rem}.xl\:-mr-72{margin-right:-18rem}.xl\:-mb-72{margin-bottom:-18rem}.xl\:-ml-72{margin-left:-18rem}.xl\:-mt-80{margin-top:-20rem}.xl\:-mr-80{margin-right:-20rem}.xl\:-mb-80{margin-bottom:-20rem}.xl\:-ml-80{margin-left:-20rem}.xl\:-mt-96{margin-top:-24rem}.xl\:-mr-96{margin-right:-24rem}.xl\:-mb-96{margin-bottom:-24rem}.xl\:-ml-96{margin-left:-24rem}.xl\:-mt-px{margin-top:-1px}.xl\:-mr-px{margin-right:-1px}.xl\:-mb-px{margin-bottom:-1px}.xl\:-ml-px{margin-left:-1px}.xl\:-mt-0\.5{margin-top:-.125rem}.xl\:-mr-0\.5{margin-right:-.125rem}.xl\:-mb-0\.5{margin-bottom:-.125rem}.xl\:-ml-0\.5{margin-left:-.125rem}.xl\:-mt-1\.5{margin-top:-.375rem}.xl\:-mr-1\.5{margin-right:-.375rem}.xl\:-mb-1\.5{margin-bottom:-.375rem}.xl\:-ml-1\.5{margin-left:-.375rem}.xl\:-mt-2\.5{margin-top:-.625rem}.xl\:-mr-2\.5{margin-right:-.625rem}.xl\:-mb-2\.5{margin-bottom:-.625rem}.xl\:-ml-2\.5{margin-left:-.625rem}.xl\:-mt-3\.5{margin-top:-.875rem}.xl\:-mr-3\.5{margin-right:-.875rem}.xl\:-mb-3\.5{margin-bottom:-.875rem}.xl\:-ml-3\.5{margin-left:-.875rem}.xl\:-mt-1\/2{margin-top:-50%}.xl\:-mr-1\/2{margin-right:-50%}.xl\:-mb-1\/2{margin-bottom:-50%}.xl\:-ml-1\/2{margin-left:-50%}.xl\:-mt-1\/3{margin-top:-33.33333%}.xl\:-mr-1\/3{margin-right:-33.33333%}.xl\:-mb-1\/3{margin-bottom:-33.33333%}.xl\:-ml-1\/3{margin-left:-33.33333%}.xl\:-mt-2\/3{margin-top:-66.66667%}.xl\:-mr-2\/3{margin-right:-66.66667%}.xl\:-mb-2\/3{margin-bottom:-66.66667%}.xl\:-ml-2\/3{margin-left:-66.66667%}.xl\:-mt-1\/4{margin-top:-25%}.xl\:-mr-1\/4{margin-right:-25%}.xl\:-mb-1\/4{margin-bottom:-25%}.xl\:-ml-1\/4{margin-left:-25%}.xl\:-mt-2\/4{margin-top:-50%}.xl\:-mr-2\/4{margin-right:-50%}.xl\:-mb-2\/4{margin-bottom:-50%}.xl\:-ml-2\/4{margin-left:-50%}.xl\:-mt-3\/4{margin-top:-75%}.xl\:-mr-3\/4{margin-right:-75%}.xl\:-mb-3\/4{margin-bottom:-75%}.xl\:-ml-3\/4{margin-left:-75%}.xl\:-mt-1\/5{margin-top:-20%}.xl\:-mr-1\/5{margin-right:-20%}.xl\:-mb-1\/5{margin-bottom:-20%}.xl\:-ml-1\/5{margin-left:-20%}.xl\:-mt-2\/5{margin-top:-40%}.xl\:-mr-2\/5{margin-right:-40%}.xl\:-mb-2\/5{margin-bottom:-40%}.xl\:-ml-2\/5{margin-left:-40%}.xl\:-mt-3\/5{margin-top:-60%}.xl\:-mr-3\/5{margin-right:-60%}.xl\:-mb-3\/5{margin-bottom:-60%}.xl\:-ml-3\/5{margin-left:-60%}.xl\:-mt-4\/5{margin-top:-80%}.xl\:-mr-4\/5{margin-right:-80%}.xl\:-mb-4\/5{margin-bottom:-80%}.xl\:-ml-4\/5{margin-left:-80%}.xl\:-mt-1\/6{margin-top:-16.66667%}.xl\:-mr-1\/6{margin-right:-16.66667%}.xl\:-mb-1\/6{margin-bottom:-16.66667%}.xl\:-ml-1\/6{margin-left:-16.66667%}.xl\:-mt-2\/6{margin-top:-33.33333%}.xl\:-mr-2\/6{margin-right:-33.33333%}.xl\:-mb-2\/6{margin-bottom:-33.33333%}.xl\:-ml-2\/6{margin-left:-33.33333%}.xl\:-mt-3\/6{margin-top:-50%}.xl\:-mr-3\/6{margin-right:-50%}.xl\:-mb-3\/6{margin-bottom:-50%}.xl\:-ml-3\/6{margin-left:-50%}.xl\:-mt-4\/6{margin-top:-66.66667%}.xl\:-mr-4\/6{margin-right:-66.66667%}.xl\:-mb-4\/6{margin-bottom:-66.66667%}.xl\:-ml-4\/6{margin-left:-66.66667%}.xl\:-mt-5\/6{margin-top:-83.33333%}.xl\:-mr-5\/6{margin-right:-83.33333%}.xl\:-mb-5\/6{margin-bottom:-83.33333%}.xl\:-ml-5\/6{margin-left:-83.33333%}.xl\:-mt-1\/12{margin-top:-8.33333%}.xl\:-mr-1\/12{margin-right:-8.33333%}.xl\:-mb-1\/12{margin-bottom:-8.33333%}.xl\:-ml-1\/12{margin-left:-8.33333%}.xl\:-mt-2\/12{margin-top:-16.66667%}.xl\:-mr-2\/12{margin-right:-16.66667%}.xl\:-mb-2\/12{margin-bottom:-16.66667%}.xl\:-ml-2\/12{margin-left:-16.66667%}.xl\:-mt-3\/12{margin-top:-25%}.xl\:-mr-3\/12{margin-right:-25%}.xl\:-mb-3\/12{margin-bottom:-25%}.xl\:-ml-3\/12{margin-left:-25%}.xl\:-mt-4\/12{margin-top:-33.33333%}.xl\:-mr-4\/12{margin-right:-33.33333%}.xl\:-mb-4\/12{margin-bottom:-33.33333%}.xl\:-ml-4\/12{margin-left:-33.33333%}.xl\:-mt-5\/12{margin-top:-41.66667%}.xl\:-mr-5\/12{margin-right:-41.66667%}.xl\:-mb-5\/12{margin-bottom:-41.66667%}.xl\:-ml-5\/12{margin-left:-41.66667%}.xl\:-mt-6\/12{margin-top:-50%}.xl\:-mr-6\/12{margin-right:-50%}.xl\:-mb-6\/12{margin-bottom:-50%}.xl\:-ml-6\/12{margin-left:-50%}.xl\:-mt-7\/12{margin-top:-58.33333%}.xl\:-mr-7\/12{margin-right:-58.33333%}.xl\:-mb-7\/12{margin-bottom:-58.33333%}.xl\:-ml-7\/12{margin-left:-58.33333%}.xl\:-mt-8\/12{margin-top:-66.66667%}.xl\:-mr-8\/12{margin-right:-66.66667%}.xl\:-mb-8\/12{margin-bottom:-66.66667%}.xl\:-ml-8\/12{margin-left:-66.66667%}.xl\:-mt-9\/12{margin-top:-75%}.xl\:-mr-9\/12{margin-right:-75%}.xl\:-mb-9\/12{margin-bottom:-75%}.xl\:-ml-9\/12{margin-left:-75%}.xl\:-mt-10\/12{margin-top:-83.33333%}.xl\:-mr-10\/12{margin-right:-83.33333%}.xl\:-mb-10\/12{margin-bottom:-83.33333%}.xl\:-ml-10\/12{margin-left:-83.33333%}.xl\:-mt-11\/12{margin-top:-91.66667%}.xl\:-mr-11\/12{margin-right:-91.66667%}.xl\:-mb-11\/12{margin-bottom:-91.66667%}.xl\:-ml-11\/12{margin-left:-91.66667%}.xl\:-mt-full{margin-top:-100%}.xl\:-mr-full{margin-right:-100%}.xl\:-mb-full{margin-bottom:-100%}.xl\:-ml-full{margin-left:-100%}.xl\:max-h-0{max-height:0}.xl\:max-h-1{max-height:.25rem}.xl\:max-h-2{max-height:.5rem}.xl\:max-h-3{max-height:.75rem}.xl\:max-h-4{max-height:1rem}.xl\:max-h-5{max-height:1.25rem}.xl\:max-h-6{max-height:1.5rem}.xl\:max-h-7{max-height:1.75rem}.xl\:max-h-8{max-height:2rem}.xl\:max-h-9{max-height:2.25rem}.xl\:max-h-10{max-height:2.5rem}.xl\:max-h-11{max-height:2.75rem}.xl\:max-h-12{max-height:3rem}.xl\:max-h-13{max-height:3.25rem}.xl\:max-h-14{max-height:3.5rem}.xl\:max-h-15{max-height:3.75rem}.xl\:max-h-16{max-height:4rem}.xl\:max-h-20{max-height:5rem}.xl\:max-h-24{max-height:6rem}.xl\:max-h-28{max-height:7rem}.xl\:max-h-32{max-height:8rem}.xl\:max-h-36{max-height:9rem}.xl\:max-h-40{max-height:10rem}.xl\:max-h-44{max-height:11rem}.xl\:max-h-48{max-height:12rem}.xl\:max-h-52{max-height:13rem}.xl\:max-h-56{max-height:14rem}.xl\:max-h-60{max-height:15rem}.xl\:max-h-64{max-height:16rem}.xl\:max-h-72{max-height:18rem}.xl\:max-h-80{max-height:20rem}.xl\:max-h-96{max-height:24rem}.xl\:max-h-screen{max-height:100vh}.xl\:max-h-px{max-height:1px}.xl\:max-h-0\.5{max-height:.125rem}.xl\:max-h-1\.5{max-height:.375rem}.xl\:max-h-2\.5{max-height:.625rem}.xl\:max-h-3\.5{max-height:.875rem}.xl\:max-h-1\/2{max-height:50%}.xl\:max-h-1\/3{max-height:33.333333%}.xl\:max-h-2\/3{max-height:66.666667%}.xl\:max-h-1\/4{max-height:25%}.xl\:max-h-2\/4{max-height:50%}.xl\:max-h-3\/4{max-height:75%}.xl\:max-h-1\/5{max-height:20%}.xl\:max-h-2\/5{max-height:40%}.xl\:max-h-3\/5{max-height:60%}.xl\:max-h-4\/5{max-height:80%}.xl\:max-h-1\/6{max-height:16.666667%}.xl\:max-h-2\/6{max-height:33.333333%}.xl\:max-h-3\/6{max-height:50%}.xl\:max-h-4\/6{max-height:66.666667%}.xl\:max-h-5\/6{max-height:83.333333%}.xl\:max-h-1\/12{max-height:8.333333%}.xl\:max-h-2\/12{max-height:16.666667%}.xl\:max-h-3\/12{max-height:25%}.xl\:max-h-4\/12{max-height:33.333333%}.xl\:max-h-5\/12{max-height:41.666667%}.xl\:max-h-6\/12{max-height:50%}.xl\:max-h-7\/12{max-height:58.333333%}.xl\:max-h-8\/12{max-height:66.666667%}.xl\:max-h-9\/12{max-height:75%}.xl\:max-h-10\/12{max-height:83.333333%}.xl\:max-h-11\/12{max-height:91.666667%}.xl\:max-h-full{max-height:100%}.xl\:max-w-0{max-width:0}.xl\:max-w-none{max-width:none}.xl\:max-w-xs{max-width:20rem}.xl\:max-w-sm{max-width:24rem}.xl\:max-w-md{max-width:28rem}.xl\:max-w-lg{max-width:32rem}.xl\:max-w-xl{max-width:36rem}.xl\:max-w-2xl{max-width:42rem}.xl\:max-w-3xl{max-width:48rem}.xl\:max-w-4xl{max-width:56rem}.xl\:max-w-5xl{max-width:64rem}.xl\:max-w-6xl{max-width:72rem}.xl\:max-w-7xl{max-width:80rem}.xl\:max-w-full{max-width:100%}.xl\:max-w-min-content{max-width:-webkit-min-content;max-width:-moz-min-content;max-width:min-content}.xl\:max-w-max-content{max-width:-webkit-max-content;max-width:-moz-max-content;max-width:max-content}.xl\:max-w-prose{max-width:65ch}.xl\:max-w-screen-sm{max-width:640px}.xl\:max-w-screen-md{max-width:768px}.xl\:max-w-screen-lg{max-width:1024px}.xl\:max-w-screen-xl{max-width:1280px}.xl\:min-h-0{min-height:0}.xl\:min-h-full{min-height:100%}.xl\:min-h-screen{min-height:100vh}.xl\:min-w-0{min-width:0}.xl\:min-w-full{min-width:100%}.xl\:min-w-min-content{min-width:-webkit-min-content;min-width:-moz-min-content;min-width:min-content}.xl\:min-w-max-content{min-width:-webkit-max-content;min-width:-moz-max-content;min-width:max-content}.xl\:object-contain{-o-object-fit:contain;object-fit:contain}.xl\:object-cover{-o-object-fit:cover;object-fit:cover}.xl\:object-fill{-o-object-fit:fill;object-fit:fill}.xl\:object-none{-o-object-fit:none;object-fit:none}.xl\:object-scale-down{-o-object-fit:scale-down;object-fit:scale-down}.xl\:object-bottom{-o-object-position:bottom;object-position:bottom}.xl\:object-center{-o-object-position:center;object-position:center}.xl\:object-left{-o-object-position:left;object-position:left}.xl\:object-left-bottom{-o-object-position:left bottom;object-position:left bottom}.xl\:object-left-top{-o-object-position:left top;object-position:left top}.xl\:object-right{-o-object-position:right;object-position:right}.xl\:object-right-bottom{-o-object-position:right bottom;object-position:right bottom}.xl\:object-right-top{-o-object-position:right top;object-position:right top}.xl\:object-top{-o-object-position:top;object-position:top}.xl\:opacity-0{opacity:0}.xl\:opacity-25{opacity:.25}.xl\:opacity-50{opacity:.5}.xl\:opacity-75{opacity:.75}.xl\:opacity-100{opacity:1}.xl\:hover\:opacity-0:hover{opacity:0}.xl\:hover\:opacity-25:hover{opacity:.25}.xl\:hover\:opacity-50:hover{opacity:.5}.xl\:hover\:opacity-75:hover{opacity:.75}.xl\:hover\:opacity-100:hover{opacity:1}.xl\:focus\:opacity-0:focus{opacity:0}.xl\:focus\:opacity-25:focus{opacity:.25}.xl\:focus\:opacity-50:focus{opacity:.5}.xl\:focus\:opacity-75:focus{opacity:.75}.xl\:focus\:opacity-100:focus{opacity:1}.xl\:outline-none{outline:0}.xl\:focus\:outline-none:focus{outline:0}.xl\:overflow-auto{overflow:auto}.xl\:overflow-hidden{overflow:hidden}.xl\:overflow-visible{overflow:visible}.xl\:overflow-scroll{overflow:scroll}.xl\:overflow-x-auto{overflow-x:auto}.xl\:overflow-y-auto{overflow-y:auto}.xl\:overflow-x-hidden{overflow-x:hidden}.xl\:overflow-y-hidden{overflow-y:hidden}.xl\:overflow-x-visible{overflow-x:visible}.xl\:overflow-y-visible{overflow-y:visible}.xl\:overflow-x-scroll{overflow-x:scroll}.xl\:overflow-y-scroll{overflow-y:scroll}.xl\:scrolling-touch{-webkit-overflow-scrolling:touch}.xl\:scrolling-auto{-webkit-overflow-scrolling:auto}.xl\:p-0{padding:0}.xl\:p-1{padding:.25rem}.xl\:p-2{padding:.5rem}.xl\:p-3{padding:.75rem}.xl\:p-4{padding:1rem}.xl\:p-5{padding:1.25rem}.xl\:p-6{padding:1.5rem}.xl\:p-7{padding:1.75rem}.xl\:p-8{padding:2rem}.xl\:p-9{padding:2.25rem}.xl\:p-10{padding:2.5rem}.xl\:p-11{padding:2.75rem}.xl\:p-12{padding:3rem}.xl\:p-13{padding:3.25rem}.xl\:p-14{padding:3.5rem}.xl\:p-15{padding:3.75rem}.xl\:p-16{padding:4rem}.xl\:p-20{padding:5rem}.xl\:p-24{padding:6rem}.xl\:p-28{padding:7rem}.xl\:p-32{padding:8rem}.xl\:p-36{padding:9rem}.xl\:p-40{padding:10rem}.xl\:p-44{padding:11rem}.xl\:p-48{padding:12rem}.xl\:p-52{padding:13rem}.xl\:p-56{padding:14rem}.xl\:p-60{padding:15rem}.xl\:p-64{padding:16rem}.xl\:p-72{padding:18rem}.xl\:p-80{padding:20rem}.xl\:p-96{padding:24rem}.xl\:p-px{padding:1px}.xl\:p-0\.5{padding:.125rem}.xl\:p-1\.5{padding:.375rem}.xl\:p-2\.5{padding:.625rem}.xl\:p-3\.5{padding:.875rem}.xl\:p-1\/2{padding:50%}.xl\:p-1\/3{padding:33.333333%}.xl\:p-2\/3{padding:66.666667%}.xl\:p-1\/4{padding:25%}.xl\:p-2\/4{padding:50%}.xl\:p-3\/4{padding:75%}.xl\:p-1\/5{padding:20%}.xl\:p-2\/5{padding:40%}.xl\:p-3\/5{padding:60%}.xl\:p-4\/5{padding:80%}.xl\:p-1\/6{padding:16.666667%}.xl\:p-2\/6{padding:33.333333%}.xl\:p-3\/6{padding:50%}.xl\:p-4\/6{padding:66.666667%}.xl\:p-5\/6{padding:83.333333%}.xl\:p-1\/12{padding:8.333333%}.xl\:p-2\/12{padding:16.666667%}.xl\:p-3\/12{padding:25%}.xl\:p-4\/12{padding:33.333333%}.xl\:p-5\/12{padding:41.666667%}.xl\:p-6\/12{padding:50%}.xl\:p-7\/12{padding:58.333333%}.xl\:p-8\/12{padding:66.666667%}.xl\:p-9\/12{padding:75%}.xl\:p-10\/12{padding:83.333333%}.xl\:p-11\/12{padding:91.666667%}.xl\:p-full{padding:100%}.xl\:py-0{padding-top:0;padding-bottom:0}.xl\:px-0{padding-left:0;padding-right:0}.xl\:py-1{padding-top:.25rem;padding-bottom:.25rem}.xl\:px-1{padding-left:.25rem;padding-right:.25rem}.xl\:py-2{padding-top:.5rem;padding-bottom:.5rem}.xl\:px-2{padding-left:.5rem;padding-right:.5rem}.xl\:py-3{padding-top:.75rem;padding-bottom:.75rem}.xl\:px-3{padding-left:.75rem;padding-right:.75rem}.xl\:py-4{padding-top:1rem;padding-bottom:1rem}.xl\:px-4{padding-left:1rem;padding-right:1rem}.xl\:py-5{padding-top:1.25rem;padding-bottom:1.25rem}.xl\:px-5{padding-left:1.25rem;padding-right:1.25rem}.xl\:py-6{padding-top:1.5rem;padding-bottom:1.5rem}.xl\:px-6{padding-left:1.5rem;padding-right:1.5rem}.xl\:py-7{padding-top:1.75rem;padding-bottom:1.75rem}.xl\:px-7{padding-left:1.75rem;padding-right:1.75rem}.xl\:py-8{padding-top:2rem;padding-bottom:2rem}.xl\:px-8{padding-left:2rem;padding-right:2rem}.xl\:py-9{padding-top:2.25rem;padding-bottom:2.25rem}.xl\:px-9{padding-left:2.25rem;padding-right:2.25rem}.xl\:py-10{padding-top:2.5rem;padding-bottom:2.5rem}.xl\:px-10{padding-left:2.5rem;padding-right:2.5rem}.xl\:py-11{padding-top:2.75rem;padding-bottom:2.75rem}.xl\:px-11{padding-left:2.75rem;padding-right:2.75rem}.xl\:py-12{padding-top:3rem;padding-bottom:3rem}.xl\:px-12{padding-left:3rem;padding-right:3rem}.xl\:py-13{padding-top:3.25rem;padding-bottom:3.25rem}.xl\:px-13{padding-left:3.25rem;padding-right:3.25rem}.xl\:py-14{padding-top:3.5rem;padding-bottom:3.5rem}.xl\:px-14{padding-left:3.5rem;padding-right:3.5rem}.xl\:py-15{padding-top:3.75rem;padding-bottom:3.75rem}.xl\:px-15{padding-left:3.75rem;padding-right:3.75rem}.xl\:py-16{padding-top:4rem;padding-bottom:4rem}.xl\:px-16{padding-left:4rem;padding-right:4rem}.xl\:py-20{padding-top:5rem;padding-bottom:5rem}.xl\:px-20{padding-left:5rem;padding-right:5rem}.xl\:py-24{padding-top:6rem;padding-bottom:6rem}.xl\:px-24{padding-left:6rem;padding-right:6rem}.xl\:py-28{padding-top:7rem;padding-bottom:7rem}.xl\:px-28{padding-left:7rem;padding-right:7rem}.xl\:py-32{padding-top:8rem;padding-bottom:8rem}.xl\:px-32{padding-left:8rem;padding-right:8rem}.xl\:py-36{padding-top:9rem;padding-bottom:9rem}.xl\:px-36{padding-left:9rem;padding-right:9rem}.xl\:py-40{padding-top:10rem;padding-bottom:10rem}.xl\:px-40{padding-left:10rem;padding-right:10rem}.xl\:py-44{padding-top:11rem;padding-bottom:11rem}.xl\:px-44{padding-left:11rem;padding-right:11rem}.xl\:py-48{padding-top:12rem;padding-bottom:12rem}.xl\:px-48{padding-left:12rem;padding-right:12rem}.xl\:py-52{padding-top:13rem;padding-bottom:13rem}.xl\:px-52{padding-left:13rem;padding-right:13rem}.xl\:py-56{padding-top:14rem;padding-bottom:14rem}.xl\:px-56{padding-left:14rem;padding-right:14rem}.xl\:py-60{padding-top:15rem;padding-bottom:15rem}.xl\:px-60{padding-left:15rem;padding-right:15rem}.xl\:py-64{padding-top:16rem;padding-bottom:16rem}.xl\:px-64{padding-left:16rem;padding-right:16rem}.xl\:py-72{padding-top:18rem;padding-bottom:18rem}.xl\:px-72{padding-left:18rem;padding-right:18rem}.xl\:py-80{padding-top:20rem;padding-bottom:20rem}.xl\:px-80{padding-left:20rem;padding-right:20rem}.xl\:py-96{padding-top:24rem;padding-bottom:24rem}.xl\:px-96{padding-left:24rem;padding-right:24rem}.xl\:py-px{padding-top:1px;padding-bottom:1px}.xl\:px-px{padding-left:1px;padding-right:1px}.xl\:py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.xl\:px-0\.5{padding-left:.125rem;padding-right:.125rem}.xl\:py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.xl\:px-1\.5{padding-left:.375rem;padding-right:.375rem}.xl\:py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.xl\:px-2\.5{padding-left:.625rem;padding-right:.625rem}.xl\:py-3\.5{padding-top:.875rem;padding-bottom:.875rem}.xl\:px-3\.5{padding-left:.875rem;padding-right:.875rem}.xl\:py-1\/2{padding-top:50%;padding-bottom:50%}.xl\:px-1\/2{padding-left:50%;padding-right:50%}.xl\:py-1\/3{padding-top:33.333333%;padding-bottom:33.333333%}.xl\:px-1\/3{padding-left:33.333333%;padding-right:33.333333%}.xl\:py-2\/3{padding-top:66.666667%;padding-bottom:66.666667%}.xl\:px-2\/3{padding-left:66.666667%;padding-right:66.666667%}.xl\:py-1\/4{padding-top:25%;padding-bottom:25%}.xl\:px-1\/4{padding-left:25%;padding-right:25%}.xl\:py-2\/4{padding-top:50%;padding-bottom:50%}.xl\:px-2\/4{padding-left:50%;padding-right:50%}.xl\:py-3\/4{padding-top:75%;padding-bottom:75%}.xl\:px-3\/4{padding-left:75%;padding-right:75%}.xl\:py-1\/5{padding-top:20%;padding-bottom:20%}.xl\:px-1\/5{padding-left:20%;padding-right:20%}.xl\:py-2\/5{padding-top:40%;padding-bottom:40%}.xl\:px-2\/5{padding-left:40%;padding-right:40%}.xl\:py-3\/5{padding-top:60%;padding-bottom:60%}.xl\:px-3\/5{padding-left:60%;padding-right:60%}.xl\:py-4\/5{padding-top:80%;padding-bottom:80%}.xl\:px-4\/5{padding-left:80%;padding-right:80%}.xl\:py-1\/6{padding-top:16.666667%;padding-bottom:16.666667%}.xl\:px-1\/6{padding-left:16.666667%;padding-right:16.666667%}.xl\:py-2\/6{padding-top:33.333333%;padding-bottom:33.333333%}.xl\:px-2\/6{padding-left:33.333333%;padding-right:33.333333%}.xl\:py-3\/6{padding-top:50%;padding-bottom:50%}.xl\:px-3\/6{padding-left:50%;padding-right:50%}.xl\:py-4\/6{padding-top:66.666667%;padding-bottom:66.666667%}.xl\:px-4\/6{padding-left:66.666667%;padding-right:66.666667%}.xl\:py-5\/6{padding-top:83.333333%;padding-bottom:83.333333%}.xl\:px-5\/6{padding-left:83.333333%;padding-right:83.333333%}.xl\:py-1\/12{padding-top:8.333333%;padding-bottom:8.333333%}.xl\:px-1\/12{padding-left:8.333333%;padding-right:8.333333%}.xl\:py-2\/12{padding-top:16.666667%;padding-bottom:16.666667%}.xl\:px-2\/12{padding-left:16.666667%;padding-right:16.666667%}.xl\:py-3\/12{padding-top:25%;padding-bottom:25%}.xl\:px-3\/12{padding-left:25%;padding-right:25%}.xl\:py-4\/12{padding-top:33.333333%;padding-bottom:33.333333%}.xl\:px-4\/12{padding-left:33.333333%;padding-right:33.333333%}.xl\:py-5\/12{padding-top:41.666667%;padding-bottom:41.666667%}.xl\:px-5\/12{padding-left:41.666667%;padding-right:41.666667%}.xl\:py-6\/12{padding-top:50%;padding-bottom:50%}.xl\:px-6\/12{padding-left:50%;padding-right:50%}.xl\:py-7\/12{padding-top:58.333333%;padding-bottom:58.333333%}.xl\:px-7\/12{padding-left:58.333333%;padding-right:58.333333%}.xl\:py-8\/12{padding-top:66.666667%;padding-bottom:66.666667%}.xl\:px-8\/12{padding-left:66.666667%;padding-right:66.666667%}.xl\:py-9\/12{padding-top:75%;padding-bottom:75%}.xl\:px-9\/12{padding-left:75%;padding-right:75%}.xl\:py-10\/12{padding-top:83.333333%;padding-bottom:83.333333%}.xl\:px-10\/12{padding-left:83.333333%;padding-right:83.333333%}.xl\:py-11\/12{padding-top:91.666667%;padding-bottom:91.666667%}.xl\:px-11\/12{padding-left:91.666667%;padding-right:91.666667%}.xl\:py-full{padding-top:100%;padding-bottom:100%}.xl\:px-full{padding-left:100%;padding-right:100%}.xl\:pt-0{padding-top:0}.xl\:pr-0{padding-right:0}.xl\:pb-0{padding-bottom:0}.xl\:pl-0{padding-left:0}.xl\:pt-1{padding-top:.25rem}.xl\:pr-1{padding-right:.25rem}.xl\:pb-1{padding-bottom:.25rem}.xl\:pl-1{padding-left:.25rem}.xl\:pt-2{padding-top:.5rem}.xl\:pr-2{padding-right:.5rem}.xl\:pb-2{padding-bottom:.5rem}.xl\:pl-2{padding-left:.5rem}.xl\:pt-3{padding-top:.75rem}.xl\:pr-3{padding-right:.75rem}.xl\:pb-3{padding-bottom:.75rem}.xl\:pl-3{padding-left:.75rem}.xl\:pt-4{padding-top:1rem}.xl\:pr-4{padding-right:1rem}.xl\:pb-4{padding-bottom:1rem}.xl\:pl-4{padding-left:1rem}.xl\:pt-5{padding-top:1.25rem}.xl\:pr-5{padding-right:1.25rem}.xl\:pb-5{padding-bottom:1.25rem}.xl\:pl-5{padding-left:1.25rem}.xl\:pt-6{padding-top:1.5rem}.xl\:pr-6{padding-right:1.5rem}.xl\:pb-6{padding-bottom:1.5rem}.xl\:pl-6{padding-left:1.5rem}.xl\:pt-7{padding-top:1.75rem}.xl\:pr-7{padding-right:1.75rem}.xl\:pb-7{padding-bottom:1.75rem}.xl\:pl-7{padding-left:1.75rem}.xl\:pt-8{padding-top:2rem}.xl\:pr-8{padding-right:2rem}.xl\:pb-8{padding-bottom:2rem}.xl\:pl-8{padding-left:2rem}.xl\:pt-9{padding-top:2.25rem}.xl\:pr-9{padding-right:2.25rem}.xl\:pb-9{padding-bottom:2.25rem}.xl\:pl-9{padding-left:2.25rem}.xl\:pt-10{padding-top:2.5rem}.xl\:pr-10{padding-right:2.5rem}.xl\:pb-10{padding-bottom:2.5rem}.xl\:pl-10{padding-left:2.5rem}.xl\:pt-11{padding-top:2.75rem}.xl\:pr-11{padding-right:2.75rem}.xl\:pb-11{padding-bottom:2.75rem}.xl\:pl-11{padding-left:2.75rem}.xl\:pt-12{padding-top:3rem}.xl\:pr-12{padding-right:3rem}.xl\:pb-12{padding-bottom:3rem}.xl\:pl-12{padding-left:3rem}.xl\:pt-13{padding-top:3.25rem}.xl\:pr-13{padding-right:3.25rem}.xl\:pb-13{padding-bottom:3.25rem}.xl\:pl-13{padding-left:3.25rem}.xl\:pt-14{padding-top:3.5rem}.xl\:pr-14{padding-right:3.5rem}.xl\:pb-14{padding-bottom:3.5rem}.xl\:pl-14{padding-left:3.5rem}.xl\:pt-15{padding-top:3.75rem}.xl\:pr-15{padding-right:3.75rem}.xl\:pb-15{padding-bottom:3.75rem}.xl\:pl-15{padding-left:3.75rem}.xl\:pt-16{padding-top:4rem}.xl\:pr-16{padding-right:4rem}.xl\:pb-16{padding-bottom:4rem}.xl\:pl-16{padding-left:4rem}.xl\:pt-20{padding-top:5rem}.xl\:pr-20{padding-right:5rem}.xl\:pb-20{padding-bottom:5rem}.xl\:pl-20{padding-left:5rem}.xl\:pt-24{padding-top:6rem}.xl\:pr-24{padding-right:6rem}.xl\:pb-24{padding-bottom:6rem}.xl\:pl-24{padding-left:6rem}.xl\:pt-28{padding-top:7rem}.xl\:pr-28{padding-right:7rem}.xl\:pb-28{padding-bottom:7rem}.xl\:pl-28{padding-left:7rem}.xl\:pt-32{padding-top:8rem}.xl\:pr-32{padding-right:8rem}.xl\:pb-32{padding-bottom:8rem}.xl\:pl-32{padding-left:8rem}.xl\:pt-36{padding-top:9rem}.xl\:pr-36{padding-right:9rem}.xl\:pb-36{padding-bottom:9rem}.xl\:pl-36{padding-left:9rem}.xl\:pt-40{padding-top:10rem}.xl\:pr-40{padding-right:10rem}.xl\:pb-40{padding-bottom:10rem}.xl\:pl-40{padding-left:10rem}.xl\:pt-44{padding-top:11rem}.xl\:pr-44{padding-right:11rem}.xl\:pb-44{padding-bottom:11rem}.xl\:pl-44{padding-left:11rem}.xl\:pt-48{padding-top:12rem}.xl\:pr-48{padding-right:12rem}.xl\:pb-48{padding-bottom:12rem}.xl\:pl-48{padding-left:12rem}.xl\:pt-52{padding-top:13rem}.xl\:pr-52{padding-right:13rem}.xl\:pb-52{padding-bottom:13rem}.xl\:pl-52{padding-left:13rem}.xl\:pt-56{padding-top:14rem}.xl\:pr-56{padding-right:14rem}.xl\:pb-56{padding-bottom:14rem}.xl\:pl-56{padding-left:14rem}.xl\:pt-60{padding-top:15rem}.xl\:pr-60{padding-right:15rem}.xl\:pb-60{padding-bottom:15rem}.xl\:pl-60{padding-left:15rem}.xl\:pt-64{padding-top:16rem}.xl\:pr-64{padding-right:16rem}.xl\:pb-64{padding-bottom:16rem}.xl\:pl-64{padding-left:16rem}.xl\:pt-72{padding-top:18rem}.xl\:pr-72{padding-right:18rem}.xl\:pb-72{padding-bottom:18rem}.xl\:pl-72{padding-left:18rem}.xl\:pt-80{padding-top:20rem}.xl\:pr-80{padding-right:20rem}.xl\:pb-80{padding-bottom:20rem}.xl\:pl-80{padding-left:20rem}.xl\:pt-96{padding-top:24rem}.xl\:pr-96{padding-right:24rem}.xl\:pb-96{padding-bottom:24rem}.xl\:pl-96{padding-left:24rem}.xl\:pt-px{padding-top:1px}.xl\:pr-px{padding-right:1px}.xl\:pb-px{padding-bottom:1px}.xl\:pl-px{padding-left:1px}.xl\:pt-0\.5{padding-top:.125rem}.xl\:pr-0\.5{padding-right:.125rem}.xl\:pb-0\.5{padding-bottom:.125rem}.xl\:pl-0\.5{padding-left:.125rem}.xl\:pt-1\.5{padding-top:.375rem}.xl\:pr-1\.5{padding-right:.375rem}.xl\:pb-1\.5{padding-bottom:.375rem}.xl\:pl-1\.5{padding-left:.375rem}.xl\:pt-2\.5{padding-top:.625rem}.xl\:pr-2\.5{padding-right:.625rem}.xl\:pb-2\.5{padding-bottom:.625rem}.xl\:pl-2\.5{padding-left:.625rem}.xl\:pt-3\.5{padding-top:.875rem}.xl\:pr-3\.5{padding-right:.875rem}.xl\:pb-3\.5{padding-bottom:.875rem}.xl\:pl-3\.5{padding-left:.875rem}.xl\:pt-1\/2{padding-top:50%}.xl\:pr-1\/2{padding-right:50%}.xl\:pb-1\/2{padding-bottom:50%}.xl\:pl-1\/2{padding-left:50%}.xl\:pt-1\/3{padding-top:33.333333%}.xl\:pr-1\/3{padding-right:33.333333%}.xl\:pb-1\/3{padding-bottom:33.333333%}.xl\:pl-1\/3{padding-left:33.333333%}.xl\:pt-2\/3{padding-top:66.666667%}.xl\:pr-2\/3{padding-right:66.666667%}.xl\:pb-2\/3{padding-bottom:66.666667%}.xl\:pl-2\/3{padding-left:66.666667%}.xl\:pt-1\/4{padding-top:25%}.xl\:pr-1\/4{padding-right:25%}.xl\:pb-1\/4{padding-bottom:25%}.xl\:pl-1\/4{padding-left:25%}.xl\:pt-2\/4{padding-top:50%}.xl\:pr-2\/4{padding-right:50%}.xl\:pb-2\/4{padding-bottom:50%}.xl\:pl-2\/4{padding-left:50%}.xl\:pt-3\/4{padding-top:75%}.xl\:pr-3\/4{padding-right:75%}.xl\:pb-3\/4{padding-bottom:75%}.xl\:pl-3\/4{padding-left:75%}.xl\:pt-1\/5{padding-top:20%}.xl\:pr-1\/5{padding-right:20%}.xl\:pb-1\/5{padding-bottom:20%}.xl\:pl-1\/5{padding-left:20%}.xl\:pt-2\/5{padding-top:40%}.xl\:pr-2\/5{padding-right:40%}.xl\:pb-2\/5{padding-bottom:40%}.xl\:pl-2\/5{padding-left:40%}.xl\:pt-3\/5{padding-top:60%}.xl\:pr-3\/5{padding-right:60%}.xl\:pb-3\/5{padding-bottom:60%}.xl\:pl-3\/5{padding-left:60%}.xl\:pt-4\/5{padding-top:80%}.xl\:pr-4\/5{padding-right:80%}.xl\:pb-4\/5{padding-bottom:80%}.xl\:pl-4\/5{padding-left:80%}.xl\:pt-1\/6{padding-top:16.666667%}.xl\:pr-1\/6{padding-right:16.666667%}.xl\:pb-1\/6{padding-bottom:16.666667%}.xl\:pl-1\/6{padding-left:16.666667%}.xl\:pt-2\/6{padding-top:33.333333%}.xl\:pr-2\/6{padding-right:33.333333%}.xl\:pb-2\/6{padding-bottom:33.333333%}.xl\:pl-2\/6{padding-left:33.333333%}.xl\:pt-3\/6{padding-top:50%}.xl\:pr-3\/6{padding-right:50%}.xl\:pb-3\/6{padding-bottom:50%}.xl\:pl-3\/6{padding-left:50%}.xl\:pt-4\/6{padding-top:66.666667%}.xl\:pr-4\/6{padding-right:66.666667%}.xl\:pb-4\/6{padding-bottom:66.666667%}.xl\:pl-4\/6{padding-left:66.666667%}.xl\:pt-5\/6{padding-top:83.333333%}.xl\:pr-5\/6{padding-right:83.333333%}.xl\:pb-5\/6{padding-bottom:83.333333%}.xl\:pl-5\/6{padding-left:83.333333%}.xl\:pt-1\/12{padding-top:8.333333%}.xl\:pr-1\/12{padding-right:8.333333%}.xl\:pb-1\/12{padding-bottom:8.333333%}.xl\:pl-1\/12{padding-left:8.333333%}.xl\:pt-2\/12{padding-top:16.666667%}.xl\:pr-2\/12{padding-right:16.666667%}.xl\:pb-2\/12{padding-bottom:16.666667%}.xl\:pl-2\/12{padding-left:16.666667%}.xl\:pt-3\/12{padding-top:25%}.xl\:pr-3\/12{padding-right:25%}.xl\:pb-3\/12{padding-bottom:25%}.xl\:pl-3\/12{padding-left:25%}.xl\:pt-4\/12{padding-top:33.333333%}.xl\:pr-4\/12{padding-right:33.333333%}.xl\:pb-4\/12{padding-bottom:33.333333%}.xl\:pl-4\/12{padding-left:33.333333%}.xl\:pt-5\/12{padding-top:41.666667%}.xl\:pr-5\/12{padding-right:41.666667%}.xl\:pb-5\/12{padding-bottom:41.666667%}.xl\:pl-5\/12{padding-left:41.666667%}.xl\:pt-6\/12{padding-top:50%}.xl\:pr-6\/12{padding-right:50%}.xl\:pb-6\/12{padding-bottom:50%}.xl\:pl-6\/12{padding-left:50%}.xl\:pt-7\/12{padding-top:58.333333%}.xl\:pr-7\/12{padding-right:58.333333%}.xl\:pb-7\/12{padding-bottom:58.333333%}.xl\:pl-7\/12{padding-left:58.333333%}.xl\:pt-8\/12{padding-top:66.666667%}.xl\:pr-8\/12{padding-right:66.666667%}.xl\:pb-8\/12{padding-bottom:66.666667%}.xl\:pl-8\/12{padding-left:66.666667%}.xl\:pt-9\/12{padding-top:75%}.xl\:pr-9\/12{padding-right:75%}.xl\:pb-9\/12{padding-bottom:75%}.xl\:pl-9\/12{padding-left:75%}.xl\:pt-10\/12{padding-top:83.333333%}.xl\:pr-10\/12{padding-right:83.333333%}.xl\:pb-10\/12{padding-bottom:83.333333%}.xl\:pl-10\/12{padding-left:83.333333%}.xl\:pt-11\/12{padding-top:91.666667%}.xl\:pr-11\/12{padding-right:91.666667%}.xl\:pb-11\/12{padding-bottom:91.666667%}.xl\:pl-11\/12{padding-left:91.666667%}.xl\:pt-full{padding-top:100%}.xl\:pr-full{padding-right:100%}.xl\:pb-full{padding-bottom:100%}.xl\:pl-full{padding-left:100%}.xl\:placeholder-transparent::-moz-placeholder{color:transparent}.xl\:placeholder-transparent:-ms-input-placeholder{color:transparent}.xl\:placeholder-transparent::-ms-input-placeholder{color:transparent}.xl\:placeholder-transparent::placeholder{color:transparent}.xl\:placeholder-white::-moz-placeholder{--placeholder-opacity:1;color:#fff;color:rgba(255,255,255,var(--placeholder-opacity))}.xl\:placeholder-white:-ms-input-placeholder{--placeholder-opacity:1;color:#fff;color:rgba(255,255,255,var(--placeholder-opacity))}.xl\:placeholder-white::-ms-input-placeholder{--placeholder-opacity:1;color:#fff;color:rgba(255,255,255,var(--placeholder-opacity))}.xl\:placeholder-white::placeholder{--placeholder-opacity:1;color:#fff;color:rgba(255,255,255,var(--placeholder-opacity))}.xl\:placeholder-black::-moz-placeholder{--placeholder-opacity:1;color:#000;color:rgba(0,0,0,var(--placeholder-opacity))}.xl\:placeholder-black:-ms-input-placeholder{--placeholder-opacity:1;color:#000;color:rgba(0,0,0,var(--placeholder-opacity))}.xl\:placeholder-black::-ms-input-placeholder{--placeholder-opacity:1;color:#000;color:rgba(0,0,0,var(--placeholder-opacity))}.xl\:placeholder-black::placeholder{--placeholder-opacity:1;color:#000;color:rgba(0,0,0,var(--placeholder-opacity))}.xl\:placeholder-gray-50::-moz-placeholder{--placeholder-opacity:1;color:#f9fafb;color:rgba(249,250,251,var(--placeholder-opacity))}.xl\:placeholder-gray-50:-ms-input-placeholder{--placeholder-opacity:1;color:#f9fafb;color:rgba(249,250,251,var(--placeholder-opacity))}.xl\:placeholder-gray-50::-ms-input-placeholder{--placeholder-opacity:1;color:#f9fafb;color:rgba(249,250,251,var(--placeholder-opacity))}.xl\:placeholder-gray-50::placeholder{--placeholder-opacity:1;color:#f9fafb;color:rgba(249,250,251,var(--placeholder-opacity))}.xl\:placeholder-gray-100::-moz-placeholder{--placeholder-opacity:1;color:#f4f5f7;color:rgba(244,245,247,var(--placeholder-opacity))}.xl\:placeholder-gray-100:-ms-input-placeholder{--placeholder-opacity:1;color:#f4f5f7;color:rgba(244,245,247,var(--placeholder-opacity))}.xl\:placeholder-gray-100::-ms-input-placeholder{--placeholder-opacity:1;color:#f4f5f7;color:rgba(244,245,247,var(--placeholder-opacity))}.xl\:placeholder-gray-100::placeholder{--placeholder-opacity:1;color:#f4f5f7;color:rgba(244,245,247,var(--placeholder-opacity))}.xl\:placeholder-gray-200::-moz-placeholder{--placeholder-opacity:1;color:#e5e7eb;color:rgba(229,231,235,var(--placeholder-opacity))}.xl\:placeholder-gray-200:-ms-input-placeholder{--placeholder-opacity:1;color:#e5e7eb;color:rgba(229,231,235,var(--placeholder-opacity))}.xl\:placeholder-gray-200::-ms-input-placeholder{--placeholder-opacity:1;color:#e5e7eb;color:rgba(229,231,235,var(--placeholder-opacity))}.xl\:placeholder-gray-200::placeholder{--placeholder-opacity:1;color:#e5e7eb;color:rgba(229,231,235,var(--placeholder-opacity))}.xl\:placeholder-gray-300::-moz-placeholder{--placeholder-opacity:1;color:#d2d6dc;color:rgba(210,214,220,var(--placeholder-opacity))}.xl\:placeholder-gray-300:-ms-input-placeholder{--placeholder-opacity:1;color:#d2d6dc;color:rgba(210,214,220,var(--placeholder-opacity))}.xl\:placeholder-gray-300::-ms-input-placeholder{--placeholder-opacity:1;color:#d2d6dc;color:rgba(210,214,220,var(--placeholder-opacity))}.xl\:placeholder-gray-300::placeholder{--placeholder-opacity:1;color:#d2d6dc;color:rgba(210,214,220,var(--placeholder-opacity))}.xl\:placeholder-gray-400::-moz-placeholder{--placeholder-opacity:1;color:#9fa6b2;color:rgba(159,166,178,var(--placeholder-opacity))}.xl\:placeholder-gray-400:-ms-input-placeholder{--placeholder-opacity:1;color:#9fa6b2;color:rgba(159,166,178,var(--placeholder-opacity))}.xl\:placeholder-gray-400::-ms-input-placeholder{--placeholder-opacity:1;color:#9fa6b2;color:rgba(159,166,178,var(--placeholder-opacity))}.xl\:placeholder-gray-400::placeholder{--placeholder-opacity:1;color:#9fa6b2;color:rgba(159,166,178,var(--placeholder-opacity))}.xl\:placeholder-gray-500::-moz-placeholder{--placeholder-opacity:1;color:#6b7280;color:rgba(107,114,128,var(--placeholder-opacity))}.xl\:placeholder-gray-500:-ms-input-placeholder{--placeholder-opacity:1;color:#6b7280;color:rgba(107,114,128,var(--placeholder-opacity))}.xl\:placeholder-gray-500::-ms-input-placeholder{--placeholder-opacity:1;color:#6b7280;color:rgba(107,114,128,var(--placeholder-opacity))}.xl\:placeholder-gray-500::placeholder{--placeholder-opacity:1;color:#6b7280;color:rgba(107,114,128,var(--placeholder-opacity))}.xl\:placeholder-gray-600::-moz-placeholder{--placeholder-opacity:1;color:#4b5563;color:rgba(75,85,99,var(--placeholder-opacity))}.xl\:placeholder-gray-600:-ms-input-placeholder{--placeholder-opacity:1;color:#4b5563;color:rgba(75,85,99,var(--placeholder-opacity))}.xl\:placeholder-gray-600::-ms-input-placeholder{--placeholder-opacity:1;color:#4b5563;color:rgba(75,85,99,var(--placeholder-opacity))}.xl\:placeholder-gray-600::placeholder{--placeholder-opacity:1;color:#4b5563;color:rgba(75,85,99,var(--placeholder-opacity))}.xl\:placeholder-gray-700::-moz-placeholder{--placeholder-opacity:1;color:#374151;color:rgba(55,65,81,var(--placeholder-opacity))}.xl\:placeholder-gray-700:-ms-input-placeholder{--placeholder-opacity:1;color:#374151;color:rgba(55,65,81,var(--placeholder-opacity))}.xl\:placeholder-gray-700::-ms-input-placeholder{--placeholder-opacity:1;color:#374151;color:rgba(55,65,81,var(--placeholder-opacity))}.xl\:placeholder-gray-700::placeholder{--placeholder-opacity:1;color:#374151;color:rgba(55,65,81,var(--placeholder-opacity))}.xl\:placeholder-gray-800::-moz-placeholder{--placeholder-opacity:1;color:#252f3f;color:rgba(37,47,63,var(--placeholder-opacity))}.xl\:placeholder-gray-800:-ms-input-placeholder{--placeholder-opacity:1;color:#252f3f;color:rgba(37,47,63,var(--placeholder-opacity))}.xl\:placeholder-gray-800::-ms-input-placeholder{--placeholder-opacity:1;color:#252f3f;color:rgba(37,47,63,var(--placeholder-opacity))}.xl\:placeholder-gray-800::placeholder{--placeholder-opacity:1;color:#252f3f;color:rgba(37,47,63,var(--placeholder-opacity))}.xl\:placeholder-gray-900::-moz-placeholder{--placeholder-opacity:1;color:#161e2e;color:rgba(22,30,46,var(--placeholder-opacity))}.xl\:placeholder-gray-900:-ms-input-placeholder{--placeholder-opacity:1;color:#161e2e;color:rgba(22,30,46,var(--placeholder-opacity))}.xl\:placeholder-gray-900::-ms-input-placeholder{--placeholder-opacity:1;color:#161e2e;color:rgba(22,30,46,var(--placeholder-opacity))}.xl\:placeholder-gray-900::placeholder{--placeholder-opacity:1;color:#161e2e;color:rgba(22,30,46,var(--placeholder-opacity))}.xl\:placeholder-cool-gray-50::-moz-placeholder{--placeholder-opacity:1;color:#f8fafc;color:rgba(248,250,252,var(--placeholder-opacity))}.xl\:placeholder-cool-gray-50:-ms-input-placeholder{--placeholder-opacity:1;color:#f8fafc;color:rgba(248,250,252,var(--placeholder-opacity))}.xl\:placeholder-cool-gray-50::-ms-input-placeholder{--placeholder-opacity:1;color:#f8fafc;color:rgba(248,250,252,var(--placeholder-opacity))}.xl\:placeholder-cool-gray-50::placeholder{--placeholder-opacity:1;color:#f8fafc;color:rgba(248,250,252,var(--placeholder-opacity))}.xl\:placeholder-cool-gray-100::-moz-placeholder{--placeholder-opacity:1;color:#f1f5f9;color:rgba(241,245,249,var(--placeholder-opacity))}.xl\:placeholder-cool-gray-100:-ms-input-placeholder{--placeholder-opacity:1;color:#f1f5f9;color:rgba(241,245,249,var(--placeholder-opacity))}.xl\:placeholder-cool-gray-100::-ms-input-placeholder{--placeholder-opacity:1;color:#f1f5f9;color:rgba(241,245,249,var(--placeholder-opacity))}.xl\:placeholder-cool-gray-100::placeholder{--placeholder-opacity:1;color:#f1f5f9;color:rgba(241,245,249,var(--placeholder-opacity))}.xl\:placeholder-cool-gray-200::-moz-placeholder{--placeholder-opacity:1;color:#e2e8f0;color:rgba(226,232,240,var(--placeholder-opacity))}.xl\:placeholder-cool-gray-200:-ms-input-placeholder{--placeholder-opacity:1;color:#e2e8f0;color:rgba(226,232,240,var(--placeholder-opacity))}.xl\:placeholder-cool-gray-200::-ms-input-placeholder{--placeholder-opacity:1;color:#e2e8f0;color:rgba(226,232,240,var(--placeholder-opacity))}.xl\:placeholder-cool-gray-200::placeholder{--placeholder-opacity:1;color:#e2e8f0;color:rgba(226,232,240,var(--placeholder-opacity))}.xl\:placeholder-cool-gray-300::-moz-placeholder{--placeholder-opacity:1;color:#cfd8e3;color:rgba(207,216,227,var(--placeholder-opacity))}.xl\:placeholder-cool-gray-300:-ms-input-placeholder{--placeholder-opacity:1;color:#cfd8e3;color:rgba(207,216,227,var(--placeholder-opacity))}.xl\:placeholder-cool-gray-300::-ms-input-placeholder{--placeholder-opacity:1;color:#cfd8e3;color:rgba(207,216,227,var(--placeholder-opacity))}.xl\:placeholder-cool-gray-300::placeholder{--placeholder-opacity:1;color:#cfd8e3;color:rgba(207,216,227,var(--placeholder-opacity))}.xl\:placeholder-cool-gray-400::-moz-placeholder{--placeholder-opacity:1;color:#97a6ba;color:rgba(151,166,186,var(--placeholder-opacity))}.xl\:placeholder-cool-gray-400:-ms-input-placeholder{--placeholder-opacity:1;color:#97a6ba;color:rgba(151,166,186,var(--placeholder-opacity))}.xl\:placeholder-cool-gray-400::-ms-input-placeholder{--placeholder-opacity:1;color:#97a6ba;color:rgba(151,166,186,var(--placeholder-opacity))}.xl\:placeholder-cool-gray-400::placeholder{--placeholder-opacity:1;color:#97a6ba;color:rgba(151,166,186,var(--placeholder-opacity))}.xl\:placeholder-cool-gray-500::-moz-placeholder{--placeholder-opacity:1;color:#64748b;color:rgba(100,116,139,var(--placeholder-opacity))}.xl\:placeholder-cool-gray-500:-ms-input-placeholder{--placeholder-opacity:1;color:#64748b;color:rgba(100,116,139,var(--placeholder-opacity))}.xl\:placeholder-cool-gray-500::-ms-input-placeholder{--placeholder-opacity:1;color:#64748b;color:rgba(100,116,139,var(--placeholder-opacity))}.xl\:placeholder-cool-gray-500::placeholder{--placeholder-opacity:1;color:#64748b;color:rgba(100,116,139,var(--placeholder-opacity))}.xl\:placeholder-cool-gray-600::-moz-placeholder{--placeholder-opacity:1;color:#475569;color:rgba(71,85,105,var(--placeholder-opacity))}.xl\:placeholder-cool-gray-600:-ms-input-placeholder{--placeholder-opacity:1;color:#475569;color:rgba(71,85,105,var(--placeholder-opacity))}.xl\:placeholder-cool-gray-600::-ms-input-placeholder{--placeholder-opacity:1;color:#475569;color:rgba(71,85,105,var(--placeholder-opacity))}.xl\:placeholder-cool-gray-600::placeholder{--placeholder-opacity:1;color:#475569;color:rgba(71,85,105,var(--placeholder-opacity))}.xl\:placeholder-cool-gray-700::-moz-placeholder{--placeholder-opacity:1;color:#364152;color:rgba(54,65,82,var(--placeholder-opacity))}.xl\:placeholder-cool-gray-700:-ms-input-placeholder{--placeholder-opacity:1;color:#364152;color:rgba(54,65,82,var(--placeholder-opacity))}.xl\:placeholder-cool-gray-700::-ms-input-placeholder{--placeholder-opacity:1;color:#364152;color:rgba(54,65,82,var(--placeholder-opacity))}.xl\:placeholder-cool-gray-700::placeholder{--placeholder-opacity:1;color:#364152;color:rgba(54,65,82,var(--placeholder-opacity))}.xl\:placeholder-cool-gray-800::-moz-placeholder{--placeholder-opacity:1;color:#27303f;color:rgba(39,48,63,var(--placeholder-opacity))}.xl\:placeholder-cool-gray-800:-ms-input-placeholder{--placeholder-opacity:1;color:#27303f;color:rgba(39,48,63,var(--placeholder-opacity))}.xl\:placeholder-cool-gray-800::-ms-input-placeholder{--placeholder-opacity:1;color:#27303f;color:rgba(39,48,63,var(--placeholder-opacity))}.xl\:placeholder-cool-gray-800::placeholder{--placeholder-opacity:1;color:#27303f;color:rgba(39,48,63,var(--placeholder-opacity))}.xl\:placeholder-cool-gray-900::-moz-placeholder{--placeholder-opacity:1;color:#1a202e;color:rgba(26,32,46,var(--placeholder-opacity))}.xl\:placeholder-cool-gray-900:-ms-input-placeholder{--placeholder-opacity:1;color:#1a202e;color:rgba(26,32,46,var(--placeholder-opacity))}.xl\:placeholder-cool-gray-900::-ms-input-placeholder{--placeholder-opacity:1;color:#1a202e;color:rgba(26,32,46,var(--placeholder-opacity))}.xl\:placeholder-cool-gray-900::placeholder{--placeholder-opacity:1;color:#1a202e;color:rgba(26,32,46,var(--placeholder-opacity))}.xl\:placeholder-red-50::-moz-placeholder{--placeholder-opacity:1;color:#fdf2f2;color:rgba(253,242,242,var(--placeholder-opacity))}.xl\:placeholder-red-50:-ms-input-placeholder{--placeholder-opacity:1;color:#fdf2f2;color:rgba(253,242,242,var(--placeholder-opacity))}.xl\:placeholder-red-50::-ms-input-placeholder{--placeholder-opacity:1;color:#fdf2f2;color:rgba(253,242,242,var(--placeholder-opacity))}.xl\:placeholder-red-50::placeholder{--placeholder-opacity:1;color:#fdf2f2;color:rgba(253,242,242,var(--placeholder-opacity))}.xl\:placeholder-red-100::-moz-placeholder{--placeholder-opacity:1;color:#fde8e8;color:rgba(253,232,232,var(--placeholder-opacity))}.xl\:placeholder-red-100:-ms-input-placeholder{--placeholder-opacity:1;color:#fde8e8;color:rgba(253,232,232,var(--placeholder-opacity))}.xl\:placeholder-red-100::-ms-input-placeholder{--placeholder-opacity:1;color:#fde8e8;color:rgba(253,232,232,var(--placeholder-opacity))}.xl\:placeholder-red-100::placeholder{--placeholder-opacity:1;color:#fde8e8;color:rgba(253,232,232,var(--placeholder-opacity))}.xl\:placeholder-red-200::-moz-placeholder{--placeholder-opacity:1;color:#fbd5d5;color:rgba(251,213,213,var(--placeholder-opacity))}.xl\:placeholder-red-200:-ms-input-placeholder{--placeholder-opacity:1;color:#fbd5d5;color:rgba(251,213,213,var(--placeholder-opacity))}.xl\:placeholder-red-200::-ms-input-placeholder{--placeholder-opacity:1;color:#fbd5d5;color:rgba(251,213,213,var(--placeholder-opacity))}.xl\:placeholder-red-200::placeholder{--placeholder-opacity:1;color:#fbd5d5;color:rgba(251,213,213,var(--placeholder-opacity))}.xl\:placeholder-red-300::-moz-placeholder{--placeholder-opacity:1;color:#f8b4b4;color:rgba(248,180,180,var(--placeholder-opacity))}.xl\:placeholder-red-300:-ms-input-placeholder{--placeholder-opacity:1;color:#f8b4b4;color:rgba(248,180,180,var(--placeholder-opacity))}.xl\:placeholder-red-300::-ms-input-placeholder{--placeholder-opacity:1;color:#f8b4b4;color:rgba(248,180,180,var(--placeholder-opacity))}.xl\:placeholder-red-300::placeholder{--placeholder-opacity:1;color:#f8b4b4;color:rgba(248,180,180,var(--placeholder-opacity))}.xl\:placeholder-red-400::-moz-placeholder{--placeholder-opacity:1;color:#f98080;color:rgba(249,128,128,var(--placeholder-opacity))}.xl\:placeholder-red-400:-ms-input-placeholder{--placeholder-opacity:1;color:#f98080;color:rgba(249,128,128,var(--placeholder-opacity))}.xl\:placeholder-red-400::-ms-input-placeholder{--placeholder-opacity:1;color:#f98080;color:rgba(249,128,128,var(--placeholder-opacity))}.xl\:placeholder-red-400::placeholder{--placeholder-opacity:1;color:#f98080;color:rgba(249,128,128,var(--placeholder-opacity))}.xl\:placeholder-red-500::-moz-placeholder{--placeholder-opacity:1;color:#f05252;color:rgba(240,82,82,var(--placeholder-opacity))}.xl\:placeholder-red-500:-ms-input-placeholder{--placeholder-opacity:1;color:#f05252;color:rgba(240,82,82,var(--placeholder-opacity))}.xl\:placeholder-red-500::-ms-input-placeholder{--placeholder-opacity:1;color:#f05252;color:rgba(240,82,82,var(--placeholder-opacity))}.xl\:placeholder-red-500::placeholder{--placeholder-opacity:1;color:#f05252;color:rgba(240,82,82,var(--placeholder-opacity))}.xl\:placeholder-red-600::-moz-placeholder{--placeholder-opacity:1;color:#e02424;color:rgba(224,36,36,var(--placeholder-opacity))}.xl\:placeholder-red-600:-ms-input-placeholder{--placeholder-opacity:1;color:#e02424;color:rgba(224,36,36,var(--placeholder-opacity))}.xl\:placeholder-red-600::-ms-input-placeholder{--placeholder-opacity:1;color:#e02424;color:rgba(224,36,36,var(--placeholder-opacity))}.xl\:placeholder-red-600::placeholder{--placeholder-opacity:1;color:#e02424;color:rgba(224,36,36,var(--placeholder-opacity))}.xl\:placeholder-red-700::-moz-placeholder{--placeholder-opacity:1;color:#c81e1e;color:rgba(200,30,30,var(--placeholder-opacity))}.xl\:placeholder-red-700:-ms-input-placeholder{--placeholder-opacity:1;color:#c81e1e;color:rgba(200,30,30,var(--placeholder-opacity))}.xl\:placeholder-red-700::-ms-input-placeholder{--placeholder-opacity:1;color:#c81e1e;color:rgba(200,30,30,var(--placeholder-opacity))}.xl\:placeholder-red-700::placeholder{--placeholder-opacity:1;color:#c81e1e;color:rgba(200,30,30,var(--placeholder-opacity))}.xl\:placeholder-red-800::-moz-placeholder{--placeholder-opacity:1;color:#9b1c1c;color:rgba(155,28,28,var(--placeholder-opacity))}.xl\:placeholder-red-800:-ms-input-placeholder{--placeholder-opacity:1;color:#9b1c1c;color:rgba(155,28,28,var(--placeholder-opacity))}.xl\:placeholder-red-800::-ms-input-placeholder{--placeholder-opacity:1;color:#9b1c1c;color:rgba(155,28,28,var(--placeholder-opacity))}.xl\:placeholder-red-800::placeholder{--placeholder-opacity:1;color:#9b1c1c;color:rgba(155,28,28,var(--placeholder-opacity))}.xl\:placeholder-red-900::-moz-placeholder{--placeholder-opacity:1;color:#771d1d;color:rgba(119,29,29,var(--placeholder-opacity))}.xl\:placeholder-red-900:-ms-input-placeholder{--placeholder-opacity:1;color:#771d1d;color:rgba(119,29,29,var(--placeholder-opacity))}.xl\:placeholder-red-900::-ms-input-placeholder{--placeholder-opacity:1;color:#771d1d;color:rgba(119,29,29,var(--placeholder-opacity))}.xl\:placeholder-red-900::placeholder{--placeholder-opacity:1;color:#771d1d;color:rgba(119,29,29,var(--placeholder-opacity))}.xl\:placeholder-orange-50::-moz-placeholder{--placeholder-opacity:1;color:#fff8f1;color:rgba(255,248,241,var(--placeholder-opacity))}.xl\:placeholder-orange-50:-ms-input-placeholder{--placeholder-opacity:1;color:#fff8f1;color:rgba(255,248,241,var(--placeholder-opacity))}.xl\:placeholder-orange-50::-ms-input-placeholder{--placeholder-opacity:1;color:#fff8f1;color:rgba(255,248,241,var(--placeholder-opacity))}.xl\:placeholder-orange-50::placeholder{--placeholder-opacity:1;color:#fff8f1;color:rgba(255,248,241,var(--placeholder-opacity))}.xl\:placeholder-orange-100::-moz-placeholder{--placeholder-opacity:1;color:#feecdc;color:rgba(254,236,220,var(--placeholder-opacity))}.xl\:placeholder-orange-100:-ms-input-placeholder{--placeholder-opacity:1;color:#feecdc;color:rgba(254,236,220,var(--placeholder-opacity))}.xl\:placeholder-orange-100::-ms-input-placeholder{--placeholder-opacity:1;color:#feecdc;color:rgba(254,236,220,var(--placeholder-opacity))}.xl\:placeholder-orange-100::placeholder{--placeholder-opacity:1;color:#feecdc;color:rgba(254,236,220,var(--placeholder-opacity))}.xl\:placeholder-orange-200::-moz-placeholder{--placeholder-opacity:1;color:#fcd9bd;color:rgba(252,217,189,var(--placeholder-opacity))}.xl\:placeholder-orange-200:-ms-input-placeholder{--placeholder-opacity:1;color:#fcd9bd;color:rgba(252,217,189,var(--placeholder-opacity))}.xl\:placeholder-orange-200::-ms-input-placeholder{--placeholder-opacity:1;color:#fcd9bd;color:rgba(252,217,189,var(--placeholder-opacity))}.xl\:placeholder-orange-200::placeholder{--placeholder-opacity:1;color:#fcd9bd;color:rgba(252,217,189,var(--placeholder-opacity))}.xl\:placeholder-orange-300::-moz-placeholder{--placeholder-opacity:1;color:#fdba8c;color:rgba(253,186,140,var(--placeholder-opacity))}.xl\:placeholder-orange-300:-ms-input-placeholder{--placeholder-opacity:1;color:#fdba8c;color:rgba(253,186,140,var(--placeholder-opacity))}.xl\:placeholder-orange-300::-ms-input-placeholder{--placeholder-opacity:1;color:#fdba8c;color:rgba(253,186,140,var(--placeholder-opacity))}.xl\:placeholder-orange-300::placeholder{--placeholder-opacity:1;color:#fdba8c;color:rgba(253,186,140,var(--placeholder-opacity))}.xl\:placeholder-orange-400::-moz-placeholder{--placeholder-opacity:1;color:#ff8a4c;color:rgba(255,138,76,var(--placeholder-opacity))}.xl\:placeholder-orange-400:-ms-input-placeholder{--placeholder-opacity:1;color:#ff8a4c;color:rgba(255,138,76,var(--placeholder-opacity))}.xl\:placeholder-orange-400::-ms-input-placeholder{--placeholder-opacity:1;color:#ff8a4c;color:rgba(255,138,76,var(--placeholder-opacity))}.xl\:placeholder-orange-400::placeholder{--placeholder-opacity:1;color:#ff8a4c;color:rgba(255,138,76,var(--placeholder-opacity))}.xl\:placeholder-orange-500::-moz-placeholder{--placeholder-opacity:1;color:#ff5a1f;color:rgba(255,90,31,var(--placeholder-opacity))}.xl\:placeholder-orange-500:-ms-input-placeholder{--placeholder-opacity:1;color:#ff5a1f;color:rgba(255,90,31,var(--placeholder-opacity))}.xl\:placeholder-orange-500::-ms-input-placeholder{--placeholder-opacity:1;color:#ff5a1f;color:rgba(255,90,31,var(--placeholder-opacity))}.xl\:placeholder-orange-500::placeholder{--placeholder-opacity:1;color:#ff5a1f;color:rgba(255,90,31,var(--placeholder-opacity))}.xl\:placeholder-orange-600::-moz-placeholder{--placeholder-opacity:1;color:#d03801;color:rgba(208,56,1,var(--placeholder-opacity))}.xl\:placeholder-orange-600:-ms-input-placeholder{--placeholder-opacity:1;color:#d03801;color:rgba(208,56,1,var(--placeholder-opacity))}.xl\:placeholder-orange-600::-ms-input-placeholder{--placeholder-opacity:1;color:#d03801;color:rgba(208,56,1,var(--placeholder-opacity))}.xl\:placeholder-orange-600::placeholder{--placeholder-opacity:1;color:#d03801;color:rgba(208,56,1,var(--placeholder-opacity))}.xl\:placeholder-orange-700::-moz-placeholder{--placeholder-opacity:1;color:#b43403;color:rgba(180,52,3,var(--placeholder-opacity))}.xl\:placeholder-orange-700:-ms-input-placeholder{--placeholder-opacity:1;color:#b43403;color:rgba(180,52,3,var(--placeholder-opacity))}.xl\:placeholder-orange-700::-ms-input-placeholder{--placeholder-opacity:1;color:#b43403;color:rgba(180,52,3,var(--placeholder-opacity))}.xl\:placeholder-orange-700::placeholder{--placeholder-opacity:1;color:#b43403;color:rgba(180,52,3,var(--placeholder-opacity))}.xl\:placeholder-orange-800::-moz-placeholder{--placeholder-opacity:1;color:#8a2c0d;color:rgba(138,44,13,var(--placeholder-opacity))}.xl\:placeholder-orange-800:-ms-input-placeholder{--placeholder-opacity:1;color:#8a2c0d;color:rgba(138,44,13,var(--placeholder-opacity))}.xl\:placeholder-orange-800::-ms-input-placeholder{--placeholder-opacity:1;color:#8a2c0d;color:rgba(138,44,13,var(--placeholder-opacity))}.xl\:placeholder-orange-800::placeholder{--placeholder-opacity:1;color:#8a2c0d;color:rgba(138,44,13,var(--placeholder-opacity))}.xl\:placeholder-orange-900::-moz-placeholder{--placeholder-opacity:1;color:#73230d;color:rgba(115,35,13,var(--placeholder-opacity))}.xl\:placeholder-orange-900:-ms-input-placeholder{--placeholder-opacity:1;color:#73230d;color:rgba(115,35,13,var(--placeholder-opacity))}.xl\:placeholder-orange-900::-ms-input-placeholder{--placeholder-opacity:1;color:#73230d;color:rgba(115,35,13,var(--placeholder-opacity))}.xl\:placeholder-orange-900::placeholder{--placeholder-opacity:1;color:#73230d;color:rgba(115,35,13,var(--placeholder-opacity))}.xl\:placeholder-yellow-50::-moz-placeholder{--placeholder-opacity:1;color:#fdfdea;color:rgba(253,253,234,var(--placeholder-opacity))}.xl\:placeholder-yellow-50:-ms-input-placeholder{--placeholder-opacity:1;color:#fdfdea;color:rgba(253,253,234,var(--placeholder-opacity))}.xl\:placeholder-yellow-50::-ms-input-placeholder{--placeholder-opacity:1;color:#fdfdea;color:rgba(253,253,234,var(--placeholder-opacity))}.xl\:placeholder-yellow-50::placeholder{--placeholder-opacity:1;color:#fdfdea;color:rgba(253,253,234,var(--placeholder-opacity))}.xl\:placeholder-yellow-100::-moz-placeholder{--placeholder-opacity:1;color:#fdf6b2;color:rgba(253,246,178,var(--placeholder-opacity))}.xl\:placeholder-yellow-100:-ms-input-placeholder{--placeholder-opacity:1;color:#fdf6b2;color:rgba(253,246,178,var(--placeholder-opacity))}.xl\:placeholder-yellow-100::-ms-input-placeholder{--placeholder-opacity:1;color:#fdf6b2;color:rgba(253,246,178,var(--placeholder-opacity))}.xl\:placeholder-yellow-100::placeholder{--placeholder-opacity:1;color:#fdf6b2;color:rgba(253,246,178,var(--placeholder-opacity))}.xl\:placeholder-yellow-200::-moz-placeholder{--placeholder-opacity:1;color:#fce96a;color:rgba(252,233,106,var(--placeholder-opacity))}.xl\:placeholder-yellow-200:-ms-input-placeholder{--placeholder-opacity:1;color:#fce96a;color:rgba(252,233,106,var(--placeholder-opacity))}.xl\:placeholder-yellow-200::-ms-input-placeholder{--placeholder-opacity:1;color:#fce96a;color:rgba(252,233,106,var(--placeholder-opacity))}.xl\:placeholder-yellow-200::placeholder{--placeholder-opacity:1;color:#fce96a;color:rgba(252,233,106,var(--placeholder-opacity))}.xl\:placeholder-yellow-300::-moz-placeholder{--placeholder-opacity:1;color:#faca15;color:rgba(250,202,21,var(--placeholder-opacity))}.xl\:placeholder-yellow-300:-ms-input-placeholder{--placeholder-opacity:1;color:#faca15;color:rgba(250,202,21,var(--placeholder-opacity))}.xl\:placeholder-yellow-300::-ms-input-placeholder{--placeholder-opacity:1;color:#faca15;color:rgba(250,202,21,var(--placeholder-opacity))}.xl\:placeholder-yellow-300::placeholder{--placeholder-opacity:1;color:#faca15;color:rgba(250,202,21,var(--placeholder-opacity))}.xl\:placeholder-yellow-400::-moz-placeholder{--placeholder-opacity:1;color:#e3a008;color:rgba(227,160,8,var(--placeholder-opacity))}.xl\:placeholder-yellow-400:-ms-input-placeholder{--placeholder-opacity:1;color:#e3a008;color:rgba(227,160,8,var(--placeholder-opacity))}.xl\:placeholder-yellow-400::-ms-input-placeholder{--placeholder-opacity:1;color:#e3a008;color:rgba(227,160,8,var(--placeholder-opacity))}.xl\:placeholder-yellow-400::placeholder{--placeholder-opacity:1;color:#e3a008;color:rgba(227,160,8,var(--placeholder-opacity))}.xl\:placeholder-yellow-500::-moz-placeholder{--placeholder-opacity:1;color:#c27803;color:rgba(194,120,3,var(--placeholder-opacity))}.xl\:placeholder-yellow-500:-ms-input-placeholder{--placeholder-opacity:1;color:#c27803;color:rgba(194,120,3,var(--placeholder-opacity))}.xl\:placeholder-yellow-500::-ms-input-placeholder{--placeholder-opacity:1;color:#c27803;color:rgba(194,120,3,var(--placeholder-opacity))}.xl\:placeholder-yellow-500::placeholder{--placeholder-opacity:1;color:#c27803;color:rgba(194,120,3,var(--placeholder-opacity))}.xl\:placeholder-yellow-600::-moz-placeholder{--placeholder-opacity:1;color:#9f580a;color:rgba(159,88,10,var(--placeholder-opacity))}.xl\:placeholder-yellow-600:-ms-input-placeholder{--placeholder-opacity:1;color:#9f580a;color:rgba(159,88,10,var(--placeholder-opacity))}.xl\:placeholder-yellow-600::-ms-input-placeholder{--placeholder-opacity:1;color:#9f580a;color:rgba(159,88,10,var(--placeholder-opacity))}.xl\:placeholder-yellow-600::placeholder{--placeholder-opacity:1;color:#9f580a;color:rgba(159,88,10,var(--placeholder-opacity))}.xl\:placeholder-yellow-700::-moz-placeholder{--placeholder-opacity:1;color:#8e4b10;color:rgba(142,75,16,var(--placeholder-opacity))}.xl\:placeholder-yellow-700:-ms-input-placeholder{--placeholder-opacity:1;color:#8e4b10;color:rgba(142,75,16,var(--placeholder-opacity))}.xl\:placeholder-yellow-700::-ms-input-placeholder{--placeholder-opacity:1;color:#8e4b10;color:rgba(142,75,16,var(--placeholder-opacity))}.xl\:placeholder-yellow-700::placeholder{--placeholder-opacity:1;color:#8e4b10;color:rgba(142,75,16,var(--placeholder-opacity))}.xl\:placeholder-yellow-800::-moz-placeholder{--placeholder-opacity:1;color:#723b13;color:rgba(114,59,19,var(--placeholder-opacity))}.xl\:placeholder-yellow-800:-ms-input-placeholder{--placeholder-opacity:1;color:#723b13;color:rgba(114,59,19,var(--placeholder-opacity))}.xl\:placeholder-yellow-800::-ms-input-placeholder{--placeholder-opacity:1;color:#723b13;color:rgba(114,59,19,var(--placeholder-opacity))}.xl\:placeholder-yellow-800::placeholder{--placeholder-opacity:1;color:#723b13;color:rgba(114,59,19,var(--placeholder-opacity))}.xl\:placeholder-yellow-900::-moz-placeholder{--placeholder-opacity:1;color:#633112;color:rgba(99,49,18,var(--placeholder-opacity))}.xl\:placeholder-yellow-900:-ms-input-placeholder{--placeholder-opacity:1;color:#633112;color:rgba(99,49,18,var(--placeholder-opacity))}.xl\:placeholder-yellow-900::-ms-input-placeholder{--placeholder-opacity:1;color:#633112;color:rgba(99,49,18,var(--placeholder-opacity))}.xl\:placeholder-yellow-900::placeholder{--placeholder-opacity:1;color:#633112;color:rgba(99,49,18,var(--placeholder-opacity))}.xl\:placeholder-green-50::-moz-placeholder{--placeholder-opacity:1;color:#f3faf7;color:rgba(243,250,247,var(--placeholder-opacity))}.xl\:placeholder-green-50:-ms-input-placeholder{--placeholder-opacity:1;color:#f3faf7;color:rgba(243,250,247,var(--placeholder-opacity))}.xl\:placeholder-green-50::-ms-input-placeholder{--placeholder-opacity:1;color:#f3faf7;color:rgba(243,250,247,var(--placeholder-opacity))}.xl\:placeholder-green-50::placeholder{--placeholder-opacity:1;color:#f3faf7;color:rgba(243,250,247,var(--placeholder-opacity))}.xl\:placeholder-green-100::-moz-placeholder{--placeholder-opacity:1;color:#def7ec;color:rgba(222,247,236,var(--placeholder-opacity))}.xl\:placeholder-green-100:-ms-input-placeholder{--placeholder-opacity:1;color:#def7ec;color:rgba(222,247,236,var(--placeholder-opacity))}.xl\:placeholder-green-100::-ms-input-placeholder{--placeholder-opacity:1;color:#def7ec;color:rgba(222,247,236,var(--placeholder-opacity))}.xl\:placeholder-green-100::placeholder{--placeholder-opacity:1;color:#def7ec;color:rgba(222,247,236,var(--placeholder-opacity))}.xl\:placeholder-green-200::-moz-placeholder{--placeholder-opacity:1;color:#bcf0da;color:rgba(188,240,218,var(--placeholder-opacity))}.xl\:placeholder-green-200:-ms-input-placeholder{--placeholder-opacity:1;color:#bcf0da;color:rgba(188,240,218,var(--placeholder-opacity))}.xl\:placeholder-green-200::-ms-input-placeholder{--placeholder-opacity:1;color:#bcf0da;color:rgba(188,240,218,var(--placeholder-opacity))}.xl\:placeholder-green-200::placeholder{--placeholder-opacity:1;color:#bcf0da;color:rgba(188,240,218,var(--placeholder-opacity))}.xl\:placeholder-green-300::-moz-placeholder{--placeholder-opacity:1;color:#84e1bc;color:rgba(132,225,188,var(--placeholder-opacity))}.xl\:placeholder-green-300:-ms-input-placeholder{--placeholder-opacity:1;color:#84e1bc;color:rgba(132,225,188,var(--placeholder-opacity))}.xl\:placeholder-green-300::-ms-input-placeholder{--placeholder-opacity:1;color:#84e1bc;color:rgba(132,225,188,var(--placeholder-opacity))}.xl\:placeholder-green-300::placeholder{--placeholder-opacity:1;color:#84e1bc;color:rgba(132,225,188,var(--placeholder-opacity))}.xl\:placeholder-green-400::-moz-placeholder{--placeholder-opacity:1;color:#31c48d;color:rgba(49,196,141,var(--placeholder-opacity))}.xl\:placeholder-green-400:-ms-input-placeholder{--placeholder-opacity:1;color:#31c48d;color:rgba(49,196,141,var(--placeholder-opacity))}.xl\:placeholder-green-400::-ms-input-placeholder{--placeholder-opacity:1;color:#31c48d;color:rgba(49,196,141,var(--placeholder-opacity))}.xl\:placeholder-green-400::placeholder{--placeholder-opacity:1;color:#31c48d;color:rgba(49,196,141,var(--placeholder-opacity))}.xl\:placeholder-green-500::-moz-placeholder{--placeholder-opacity:1;color:#0e9f6e;color:rgba(14,159,110,var(--placeholder-opacity))}.xl\:placeholder-green-500:-ms-input-placeholder{--placeholder-opacity:1;color:#0e9f6e;color:rgba(14,159,110,var(--placeholder-opacity))}.xl\:placeholder-green-500::-ms-input-placeholder{--placeholder-opacity:1;color:#0e9f6e;color:rgba(14,159,110,var(--placeholder-opacity))}.xl\:placeholder-green-500::placeholder{--placeholder-opacity:1;color:#0e9f6e;color:rgba(14,159,110,var(--placeholder-opacity))}.xl\:placeholder-green-600::-moz-placeholder{--placeholder-opacity:1;color:#057a55;color:rgba(5,122,85,var(--placeholder-opacity))}.xl\:placeholder-green-600:-ms-input-placeholder{--placeholder-opacity:1;color:#057a55;color:rgba(5,122,85,var(--placeholder-opacity))}.xl\:placeholder-green-600::-ms-input-placeholder{--placeholder-opacity:1;color:#057a55;color:rgba(5,122,85,var(--placeholder-opacity))}.xl\:placeholder-green-600::placeholder{--placeholder-opacity:1;color:#057a55;color:rgba(5,122,85,var(--placeholder-opacity))}.xl\:placeholder-green-700::-moz-placeholder{--placeholder-opacity:1;color:#046c4e;color:rgba(4,108,78,var(--placeholder-opacity))}.xl\:placeholder-green-700:-ms-input-placeholder{--placeholder-opacity:1;color:#046c4e;color:rgba(4,108,78,var(--placeholder-opacity))}.xl\:placeholder-green-700::-ms-input-placeholder{--placeholder-opacity:1;color:#046c4e;color:rgba(4,108,78,var(--placeholder-opacity))}.xl\:placeholder-green-700::placeholder{--placeholder-opacity:1;color:#046c4e;color:rgba(4,108,78,var(--placeholder-opacity))}.xl\:placeholder-green-800::-moz-placeholder{--placeholder-opacity:1;color:#03543f;color:rgba(3,84,63,var(--placeholder-opacity))}.xl\:placeholder-green-800:-ms-input-placeholder{--placeholder-opacity:1;color:#03543f;color:rgba(3,84,63,var(--placeholder-opacity))}.xl\:placeholder-green-800::-ms-input-placeholder{--placeholder-opacity:1;color:#03543f;color:rgba(3,84,63,var(--placeholder-opacity))}.xl\:placeholder-green-800::placeholder{--placeholder-opacity:1;color:#03543f;color:rgba(3,84,63,var(--placeholder-opacity))}.xl\:placeholder-green-900::-moz-placeholder{--placeholder-opacity:1;color:#014737;color:rgba(1,71,55,var(--placeholder-opacity))}.xl\:placeholder-green-900:-ms-input-placeholder{--placeholder-opacity:1;color:#014737;color:rgba(1,71,55,var(--placeholder-opacity))}.xl\:placeholder-green-900::-ms-input-placeholder{--placeholder-opacity:1;color:#014737;color:rgba(1,71,55,var(--placeholder-opacity))}.xl\:placeholder-green-900::placeholder{--placeholder-opacity:1;color:#014737;color:rgba(1,71,55,var(--placeholder-opacity))}.xl\:placeholder-teal-50::-moz-placeholder{--placeholder-opacity:1;color:#edfafa;color:rgba(237,250,250,var(--placeholder-opacity))}.xl\:placeholder-teal-50:-ms-input-placeholder{--placeholder-opacity:1;color:#edfafa;color:rgba(237,250,250,var(--placeholder-opacity))}.xl\:placeholder-teal-50::-ms-input-placeholder{--placeholder-opacity:1;color:#edfafa;color:rgba(237,250,250,var(--placeholder-opacity))}.xl\:placeholder-teal-50::placeholder{--placeholder-opacity:1;color:#edfafa;color:rgba(237,250,250,var(--placeholder-opacity))}.xl\:placeholder-teal-100::-moz-placeholder{--placeholder-opacity:1;color:#d5f5f6;color:rgba(213,245,246,var(--placeholder-opacity))}.xl\:placeholder-teal-100:-ms-input-placeholder{--placeholder-opacity:1;color:#d5f5f6;color:rgba(213,245,246,var(--placeholder-opacity))}.xl\:placeholder-teal-100::-ms-input-placeholder{--placeholder-opacity:1;color:#d5f5f6;color:rgba(213,245,246,var(--placeholder-opacity))}.xl\:placeholder-teal-100::placeholder{--placeholder-opacity:1;color:#d5f5f6;color:rgba(213,245,246,var(--placeholder-opacity))}.xl\:placeholder-teal-200::-moz-placeholder{--placeholder-opacity:1;color:#afecef;color:rgba(175,236,239,var(--placeholder-opacity))}.xl\:placeholder-teal-200:-ms-input-placeholder{--placeholder-opacity:1;color:#afecef;color:rgba(175,236,239,var(--placeholder-opacity))}.xl\:placeholder-teal-200::-ms-input-placeholder{--placeholder-opacity:1;color:#afecef;color:rgba(175,236,239,var(--placeholder-opacity))}.xl\:placeholder-teal-200::placeholder{--placeholder-opacity:1;color:#afecef;color:rgba(175,236,239,var(--placeholder-opacity))}.xl\:placeholder-teal-300::-moz-placeholder{--placeholder-opacity:1;color:#7edce2;color:rgba(126,220,226,var(--placeholder-opacity))}.xl\:placeholder-teal-300:-ms-input-placeholder{--placeholder-opacity:1;color:#7edce2;color:rgba(126,220,226,var(--placeholder-opacity))}.xl\:placeholder-teal-300::-ms-input-placeholder{--placeholder-opacity:1;color:#7edce2;color:rgba(126,220,226,var(--placeholder-opacity))}.xl\:placeholder-teal-300::placeholder{--placeholder-opacity:1;color:#7edce2;color:rgba(126,220,226,var(--placeholder-opacity))}.xl\:placeholder-teal-400::-moz-placeholder{--placeholder-opacity:1;color:#16bdca;color:rgba(22,189,202,var(--placeholder-opacity))}.xl\:placeholder-teal-400:-ms-input-placeholder{--placeholder-opacity:1;color:#16bdca;color:rgba(22,189,202,var(--placeholder-opacity))}.xl\:placeholder-teal-400::-ms-input-placeholder{--placeholder-opacity:1;color:#16bdca;color:rgba(22,189,202,var(--placeholder-opacity))}.xl\:placeholder-teal-400::placeholder{--placeholder-opacity:1;color:#16bdca;color:rgba(22,189,202,var(--placeholder-opacity))}.xl\:placeholder-teal-500::-moz-placeholder{--placeholder-opacity:1;color:#0694a2;color:rgba(6,148,162,var(--placeholder-opacity))}.xl\:placeholder-teal-500:-ms-input-placeholder{--placeholder-opacity:1;color:#0694a2;color:rgba(6,148,162,var(--placeholder-opacity))}.xl\:placeholder-teal-500::-ms-input-placeholder{--placeholder-opacity:1;color:#0694a2;color:rgba(6,148,162,var(--placeholder-opacity))}.xl\:placeholder-teal-500::placeholder{--placeholder-opacity:1;color:#0694a2;color:rgba(6,148,162,var(--placeholder-opacity))}.xl\:placeholder-teal-600::-moz-placeholder{--placeholder-opacity:1;color:#047481;color:rgba(4,116,129,var(--placeholder-opacity))}.xl\:placeholder-teal-600:-ms-input-placeholder{--placeholder-opacity:1;color:#047481;color:rgba(4,116,129,var(--placeholder-opacity))}.xl\:placeholder-teal-600::-ms-input-placeholder{--placeholder-opacity:1;color:#047481;color:rgba(4,116,129,var(--placeholder-opacity))}.xl\:placeholder-teal-600::placeholder{--placeholder-opacity:1;color:#047481;color:rgba(4,116,129,var(--placeholder-opacity))}.xl\:placeholder-teal-700::-moz-placeholder{--placeholder-opacity:1;color:#036672;color:rgba(3,102,114,var(--placeholder-opacity))}.xl\:placeholder-teal-700:-ms-input-placeholder{--placeholder-opacity:1;color:#036672;color:rgba(3,102,114,var(--placeholder-opacity))}.xl\:placeholder-teal-700::-ms-input-placeholder{--placeholder-opacity:1;color:#036672;color:rgba(3,102,114,var(--placeholder-opacity))}.xl\:placeholder-teal-700::placeholder{--placeholder-opacity:1;color:#036672;color:rgba(3,102,114,var(--placeholder-opacity))}.xl\:placeholder-teal-800::-moz-placeholder{--placeholder-opacity:1;color:#05505c;color:rgba(5,80,92,var(--placeholder-opacity))}.xl\:placeholder-teal-800:-ms-input-placeholder{--placeholder-opacity:1;color:#05505c;color:rgba(5,80,92,var(--placeholder-opacity))}.xl\:placeholder-teal-800::-ms-input-placeholder{--placeholder-opacity:1;color:#05505c;color:rgba(5,80,92,var(--placeholder-opacity))}.xl\:placeholder-teal-800::placeholder{--placeholder-opacity:1;color:#05505c;color:rgba(5,80,92,var(--placeholder-opacity))}.xl\:placeholder-teal-900::-moz-placeholder{--placeholder-opacity:1;color:#014451;color:rgba(1,68,81,var(--placeholder-opacity))}.xl\:placeholder-teal-900:-ms-input-placeholder{--placeholder-opacity:1;color:#014451;color:rgba(1,68,81,var(--placeholder-opacity))}.xl\:placeholder-teal-900::-ms-input-placeholder{--placeholder-opacity:1;color:#014451;color:rgba(1,68,81,var(--placeholder-opacity))}.xl\:placeholder-teal-900::placeholder{--placeholder-opacity:1;color:#014451;color:rgba(1,68,81,var(--placeholder-opacity))}.xl\:placeholder-blue-50::-moz-placeholder{--placeholder-opacity:1;color:#ebf5ff;color:rgba(235,245,255,var(--placeholder-opacity))}.xl\:placeholder-blue-50:-ms-input-placeholder{--placeholder-opacity:1;color:#ebf5ff;color:rgba(235,245,255,var(--placeholder-opacity))}.xl\:placeholder-blue-50::-ms-input-placeholder{--placeholder-opacity:1;color:#ebf5ff;color:rgba(235,245,255,var(--placeholder-opacity))}.xl\:placeholder-blue-50::placeholder{--placeholder-opacity:1;color:#ebf5ff;color:rgba(235,245,255,var(--placeholder-opacity))}.xl\:placeholder-blue-100::-moz-placeholder{--placeholder-opacity:1;color:#e1effe;color:rgba(225,239,254,var(--placeholder-opacity))}.xl\:placeholder-blue-100:-ms-input-placeholder{--placeholder-opacity:1;color:#e1effe;color:rgba(225,239,254,var(--placeholder-opacity))}.xl\:placeholder-blue-100::-ms-input-placeholder{--placeholder-opacity:1;color:#e1effe;color:rgba(225,239,254,var(--placeholder-opacity))}.xl\:placeholder-blue-100::placeholder{--placeholder-opacity:1;color:#e1effe;color:rgba(225,239,254,var(--placeholder-opacity))}.xl\:placeholder-blue-200::-moz-placeholder{--placeholder-opacity:1;color:#c3ddfd;color:rgba(195,221,253,var(--placeholder-opacity))}.xl\:placeholder-blue-200:-ms-input-placeholder{--placeholder-opacity:1;color:#c3ddfd;color:rgba(195,221,253,var(--placeholder-opacity))}.xl\:placeholder-blue-200::-ms-input-placeholder{--placeholder-opacity:1;color:#c3ddfd;color:rgba(195,221,253,var(--placeholder-opacity))}.xl\:placeholder-blue-200::placeholder{--placeholder-opacity:1;color:#c3ddfd;color:rgba(195,221,253,var(--placeholder-opacity))}.xl\:placeholder-blue-300::-moz-placeholder{--placeholder-opacity:1;color:#a4cafe;color:rgba(164,202,254,var(--placeholder-opacity))}.xl\:placeholder-blue-300:-ms-input-placeholder{--placeholder-opacity:1;color:#a4cafe;color:rgba(164,202,254,var(--placeholder-opacity))}.xl\:placeholder-blue-300::-ms-input-placeholder{--placeholder-opacity:1;color:#a4cafe;color:rgba(164,202,254,var(--placeholder-opacity))}.xl\:placeholder-blue-300::placeholder{--placeholder-opacity:1;color:#a4cafe;color:rgba(164,202,254,var(--placeholder-opacity))}.xl\:placeholder-blue-400::-moz-placeholder{--placeholder-opacity:1;color:#76a9fa;color:rgba(118,169,250,var(--placeholder-opacity))}.xl\:placeholder-blue-400:-ms-input-placeholder{--placeholder-opacity:1;color:#76a9fa;color:rgba(118,169,250,var(--placeholder-opacity))}.xl\:placeholder-blue-400::-ms-input-placeholder{--placeholder-opacity:1;color:#76a9fa;color:rgba(118,169,250,var(--placeholder-opacity))}.xl\:placeholder-blue-400::placeholder{--placeholder-opacity:1;color:#76a9fa;color:rgba(118,169,250,var(--placeholder-opacity))}.xl\:placeholder-blue-500::-moz-placeholder{--placeholder-opacity:1;color:#3f83f8;color:rgba(63,131,248,var(--placeholder-opacity))}.xl\:placeholder-blue-500:-ms-input-placeholder{--placeholder-opacity:1;color:#3f83f8;color:rgba(63,131,248,var(--placeholder-opacity))}.xl\:placeholder-blue-500::-ms-input-placeholder{--placeholder-opacity:1;color:#3f83f8;color:rgba(63,131,248,var(--placeholder-opacity))}.xl\:placeholder-blue-500::placeholder{--placeholder-opacity:1;color:#3f83f8;color:rgba(63,131,248,var(--placeholder-opacity))}.xl\:placeholder-blue-600::-moz-placeholder{--placeholder-opacity:1;color:#1c64f2;color:rgba(28,100,242,var(--placeholder-opacity))}.xl\:placeholder-blue-600:-ms-input-placeholder{--placeholder-opacity:1;color:#1c64f2;color:rgba(28,100,242,var(--placeholder-opacity))}.xl\:placeholder-blue-600::-ms-input-placeholder{--placeholder-opacity:1;color:#1c64f2;color:rgba(28,100,242,var(--placeholder-opacity))}.xl\:placeholder-blue-600::placeholder{--placeholder-opacity:1;color:#1c64f2;color:rgba(28,100,242,var(--placeholder-opacity))}.xl\:placeholder-blue-700::-moz-placeholder{--placeholder-opacity:1;color:#1a56db;color:rgba(26,86,219,var(--placeholder-opacity))}.xl\:placeholder-blue-700:-ms-input-placeholder{--placeholder-opacity:1;color:#1a56db;color:rgba(26,86,219,var(--placeholder-opacity))}.xl\:placeholder-blue-700::-ms-input-placeholder{--placeholder-opacity:1;color:#1a56db;color:rgba(26,86,219,var(--placeholder-opacity))}.xl\:placeholder-blue-700::placeholder{--placeholder-opacity:1;color:#1a56db;color:rgba(26,86,219,var(--placeholder-opacity))}.xl\:placeholder-blue-800::-moz-placeholder{--placeholder-opacity:1;color:#1e429f;color:rgba(30,66,159,var(--placeholder-opacity))}.xl\:placeholder-blue-800:-ms-input-placeholder{--placeholder-opacity:1;color:#1e429f;color:rgba(30,66,159,var(--placeholder-opacity))}.xl\:placeholder-blue-800::-ms-input-placeholder{--placeholder-opacity:1;color:#1e429f;color:rgba(30,66,159,var(--placeholder-opacity))}.xl\:placeholder-blue-800::placeholder{--placeholder-opacity:1;color:#1e429f;color:rgba(30,66,159,var(--placeholder-opacity))}.xl\:placeholder-blue-900::-moz-placeholder{--placeholder-opacity:1;color:#233876;color:rgba(35,56,118,var(--placeholder-opacity))}.xl\:placeholder-blue-900:-ms-input-placeholder{--placeholder-opacity:1;color:#233876;color:rgba(35,56,118,var(--placeholder-opacity))}.xl\:placeholder-blue-900::-ms-input-placeholder{--placeholder-opacity:1;color:#233876;color:rgba(35,56,118,var(--placeholder-opacity))}.xl\:placeholder-blue-900::placeholder{--placeholder-opacity:1;color:#233876;color:rgba(35,56,118,var(--placeholder-opacity))}.xl\:placeholder-indigo-50::-moz-placeholder{--placeholder-opacity:1;color:#f0f5ff;color:rgba(240,245,255,var(--placeholder-opacity))}.xl\:placeholder-indigo-50:-ms-input-placeholder{--placeholder-opacity:1;color:#f0f5ff;color:rgba(240,245,255,var(--placeholder-opacity))}.xl\:placeholder-indigo-50::-ms-input-placeholder{--placeholder-opacity:1;color:#f0f5ff;color:rgba(240,245,255,var(--placeholder-opacity))}.xl\:placeholder-indigo-50::placeholder{--placeholder-opacity:1;color:#f0f5ff;color:rgba(240,245,255,var(--placeholder-opacity))}.xl\:placeholder-indigo-100::-moz-placeholder{--placeholder-opacity:1;color:#e5edff;color:rgba(229,237,255,var(--placeholder-opacity))}.xl\:placeholder-indigo-100:-ms-input-placeholder{--placeholder-opacity:1;color:#e5edff;color:rgba(229,237,255,var(--placeholder-opacity))}.xl\:placeholder-indigo-100::-ms-input-placeholder{--placeholder-opacity:1;color:#e5edff;color:rgba(229,237,255,var(--placeholder-opacity))}.xl\:placeholder-indigo-100::placeholder{--placeholder-opacity:1;color:#e5edff;color:rgba(229,237,255,var(--placeholder-opacity))}.xl\:placeholder-indigo-200::-moz-placeholder{--placeholder-opacity:1;color:#cddbfe;color:rgba(205,219,254,var(--placeholder-opacity))}.xl\:placeholder-indigo-200:-ms-input-placeholder{--placeholder-opacity:1;color:#cddbfe;color:rgba(205,219,254,var(--placeholder-opacity))}.xl\:placeholder-indigo-200::-ms-input-placeholder{--placeholder-opacity:1;color:#cddbfe;color:rgba(205,219,254,var(--placeholder-opacity))}.xl\:placeholder-indigo-200::placeholder{--placeholder-opacity:1;color:#cddbfe;color:rgba(205,219,254,var(--placeholder-opacity))}.xl\:placeholder-indigo-300::-moz-placeholder{--placeholder-opacity:1;color:#b4c6fc;color:rgba(180,198,252,var(--placeholder-opacity))}.xl\:placeholder-indigo-300:-ms-input-placeholder{--placeholder-opacity:1;color:#b4c6fc;color:rgba(180,198,252,var(--placeholder-opacity))}.xl\:placeholder-indigo-300::-ms-input-placeholder{--placeholder-opacity:1;color:#b4c6fc;color:rgba(180,198,252,var(--placeholder-opacity))}.xl\:placeholder-indigo-300::placeholder{--placeholder-opacity:1;color:#b4c6fc;color:rgba(180,198,252,var(--placeholder-opacity))}.xl\:placeholder-indigo-400::-moz-placeholder{--placeholder-opacity:1;color:#8da2fb;color:rgba(141,162,251,var(--placeholder-opacity))}.xl\:placeholder-indigo-400:-ms-input-placeholder{--placeholder-opacity:1;color:#8da2fb;color:rgba(141,162,251,var(--placeholder-opacity))}.xl\:placeholder-indigo-400::-ms-input-placeholder{--placeholder-opacity:1;color:#8da2fb;color:rgba(141,162,251,var(--placeholder-opacity))}.xl\:placeholder-indigo-400::placeholder{--placeholder-opacity:1;color:#8da2fb;color:rgba(141,162,251,var(--placeholder-opacity))}.xl\:placeholder-indigo-500::-moz-placeholder{--placeholder-opacity:1;color:#6875f5;color:rgba(104,117,245,var(--placeholder-opacity))}.xl\:placeholder-indigo-500:-ms-input-placeholder{--placeholder-opacity:1;color:#6875f5;color:rgba(104,117,245,var(--placeholder-opacity))}.xl\:placeholder-indigo-500::-ms-input-placeholder{--placeholder-opacity:1;color:#6875f5;color:rgba(104,117,245,var(--placeholder-opacity))}.xl\:placeholder-indigo-500::placeholder{--placeholder-opacity:1;color:#6875f5;color:rgba(104,117,245,var(--placeholder-opacity))}.xl\:placeholder-indigo-600::-moz-placeholder{--placeholder-opacity:1;color:#5850ec;color:rgba(88,80,236,var(--placeholder-opacity))}.xl\:placeholder-indigo-600:-ms-input-placeholder{--placeholder-opacity:1;color:#5850ec;color:rgba(88,80,236,var(--placeholder-opacity))}.xl\:placeholder-indigo-600::-ms-input-placeholder{--placeholder-opacity:1;color:#5850ec;color:rgba(88,80,236,var(--placeholder-opacity))}.xl\:placeholder-indigo-600::placeholder{--placeholder-opacity:1;color:#5850ec;color:rgba(88,80,236,var(--placeholder-opacity))}.xl\:placeholder-indigo-700::-moz-placeholder{--placeholder-opacity:1;color:#5145cd;color:rgba(81,69,205,var(--placeholder-opacity))}.xl\:placeholder-indigo-700:-ms-input-placeholder{--placeholder-opacity:1;color:#5145cd;color:rgba(81,69,205,var(--placeholder-opacity))}.xl\:placeholder-indigo-700::-ms-input-placeholder{--placeholder-opacity:1;color:#5145cd;color:rgba(81,69,205,var(--placeholder-opacity))}.xl\:placeholder-indigo-700::placeholder{--placeholder-opacity:1;color:#5145cd;color:rgba(81,69,205,var(--placeholder-opacity))}.xl\:placeholder-indigo-800::-moz-placeholder{--placeholder-opacity:1;color:#42389d;color:rgba(66,56,157,var(--placeholder-opacity))}.xl\:placeholder-indigo-800:-ms-input-placeholder{--placeholder-opacity:1;color:#42389d;color:rgba(66,56,157,var(--placeholder-opacity))}.xl\:placeholder-indigo-800::-ms-input-placeholder{--placeholder-opacity:1;color:#42389d;color:rgba(66,56,157,var(--placeholder-opacity))}.xl\:placeholder-indigo-800::placeholder{--placeholder-opacity:1;color:#42389d;color:rgba(66,56,157,var(--placeholder-opacity))}.xl\:placeholder-indigo-900::-moz-placeholder{--placeholder-opacity:1;color:#362f78;color:rgba(54,47,120,var(--placeholder-opacity))}.xl\:placeholder-indigo-900:-ms-input-placeholder{--placeholder-opacity:1;color:#362f78;color:rgba(54,47,120,var(--placeholder-opacity))}.xl\:placeholder-indigo-900::-ms-input-placeholder{--placeholder-opacity:1;color:#362f78;color:rgba(54,47,120,var(--placeholder-opacity))}.xl\:placeholder-indigo-900::placeholder{--placeholder-opacity:1;color:#362f78;color:rgba(54,47,120,var(--placeholder-opacity))}.xl\:placeholder-purple-50::-moz-placeholder{--placeholder-opacity:1;color:#f6f5ff;color:rgba(246,245,255,var(--placeholder-opacity))}.xl\:placeholder-purple-50:-ms-input-placeholder{--placeholder-opacity:1;color:#f6f5ff;color:rgba(246,245,255,var(--placeholder-opacity))}.xl\:placeholder-purple-50::-ms-input-placeholder{--placeholder-opacity:1;color:#f6f5ff;color:rgba(246,245,255,var(--placeholder-opacity))}.xl\:placeholder-purple-50::placeholder{--placeholder-opacity:1;color:#f6f5ff;color:rgba(246,245,255,var(--placeholder-opacity))}.xl\:placeholder-purple-100::-moz-placeholder{--placeholder-opacity:1;color:#edebfe;color:rgba(237,235,254,var(--placeholder-opacity))}.xl\:placeholder-purple-100:-ms-input-placeholder{--placeholder-opacity:1;color:#edebfe;color:rgba(237,235,254,var(--placeholder-opacity))}.xl\:placeholder-purple-100::-ms-input-placeholder{--placeholder-opacity:1;color:#edebfe;color:rgba(237,235,254,var(--placeholder-opacity))}.xl\:placeholder-purple-100::placeholder{--placeholder-opacity:1;color:#edebfe;color:rgba(237,235,254,var(--placeholder-opacity))}.xl\:placeholder-purple-200::-moz-placeholder{--placeholder-opacity:1;color:#dcd7fe;color:rgba(220,215,254,var(--placeholder-opacity))}.xl\:placeholder-purple-200:-ms-input-placeholder{--placeholder-opacity:1;color:#dcd7fe;color:rgba(220,215,254,var(--placeholder-opacity))}.xl\:placeholder-purple-200::-ms-input-placeholder{--placeholder-opacity:1;color:#dcd7fe;color:rgba(220,215,254,var(--placeholder-opacity))}.xl\:placeholder-purple-200::placeholder{--placeholder-opacity:1;color:#dcd7fe;color:rgba(220,215,254,var(--placeholder-opacity))}.xl\:placeholder-purple-300::-moz-placeholder{--placeholder-opacity:1;color:#cabffd;color:rgba(202,191,253,var(--placeholder-opacity))}.xl\:placeholder-purple-300:-ms-input-placeholder{--placeholder-opacity:1;color:#cabffd;color:rgba(202,191,253,var(--placeholder-opacity))}.xl\:placeholder-purple-300::-ms-input-placeholder{--placeholder-opacity:1;color:#cabffd;color:rgba(202,191,253,var(--placeholder-opacity))}.xl\:placeholder-purple-300::placeholder{--placeholder-opacity:1;color:#cabffd;color:rgba(202,191,253,var(--placeholder-opacity))}.xl\:placeholder-purple-400::-moz-placeholder{--placeholder-opacity:1;color:#ac94fa;color:rgba(172,148,250,var(--placeholder-opacity))}.xl\:placeholder-purple-400:-ms-input-placeholder{--placeholder-opacity:1;color:#ac94fa;color:rgba(172,148,250,var(--placeholder-opacity))}.xl\:placeholder-purple-400::-ms-input-placeholder{--placeholder-opacity:1;color:#ac94fa;color:rgba(172,148,250,var(--placeholder-opacity))}.xl\:placeholder-purple-400::placeholder{--placeholder-opacity:1;color:#ac94fa;color:rgba(172,148,250,var(--placeholder-opacity))}.xl\:placeholder-purple-500::-moz-placeholder{--placeholder-opacity:1;color:#9061f9;color:rgba(144,97,249,var(--placeholder-opacity))}.xl\:placeholder-purple-500:-ms-input-placeholder{--placeholder-opacity:1;color:#9061f9;color:rgba(144,97,249,var(--placeholder-opacity))}.xl\:placeholder-purple-500::-ms-input-placeholder{--placeholder-opacity:1;color:#9061f9;color:rgba(144,97,249,var(--placeholder-opacity))}.xl\:placeholder-purple-500::placeholder{--placeholder-opacity:1;color:#9061f9;color:rgba(144,97,249,var(--placeholder-opacity))}.xl\:placeholder-purple-600::-moz-placeholder{--placeholder-opacity:1;color:#7e3af2;color:rgba(126,58,242,var(--placeholder-opacity))}.xl\:placeholder-purple-600:-ms-input-placeholder{--placeholder-opacity:1;color:#7e3af2;color:rgba(126,58,242,var(--placeholder-opacity))}.xl\:placeholder-purple-600::-ms-input-placeholder{--placeholder-opacity:1;color:#7e3af2;color:rgba(126,58,242,var(--placeholder-opacity))}.xl\:placeholder-purple-600::placeholder{--placeholder-opacity:1;color:#7e3af2;color:rgba(126,58,242,var(--placeholder-opacity))}.xl\:placeholder-purple-700::-moz-placeholder{--placeholder-opacity:1;color:#6c2bd9;color:rgba(108,43,217,var(--placeholder-opacity))}.xl\:placeholder-purple-700:-ms-input-placeholder{--placeholder-opacity:1;color:#6c2bd9;color:rgba(108,43,217,var(--placeholder-opacity))}.xl\:placeholder-purple-700::-ms-input-placeholder{--placeholder-opacity:1;color:#6c2bd9;color:rgba(108,43,217,var(--placeholder-opacity))}.xl\:placeholder-purple-700::placeholder{--placeholder-opacity:1;color:#6c2bd9;color:rgba(108,43,217,var(--placeholder-opacity))}.xl\:placeholder-purple-800::-moz-placeholder{--placeholder-opacity:1;color:#5521b5;color:rgba(85,33,181,var(--placeholder-opacity))}.xl\:placeholder-purple-800:-ms-input-placeholder{--placeholder-opacity:1;color:#5521b5;color:rgba(85,33,181,var(--placeholder-opacity))}.xl\:placeholder-purple-800::-ms-input-placeholder{--placeholder-opacity:1;color:#5521b5;color:rgba(85,33,181,var(--placeholder-opacity))}.xl\:placeholder-purple-800::placeholder{--placeholder-opacity:1;color:#5521b5;color:rgba(85,33,181,var(--placeholder-opacity))}.xl\:placeholder-purple-900::-moz-placeholder{--placeholder-opacity:1;color:#4a1d96;color:rgba(74,29,150,var(--placeholder-opacity))}.xl\:placeholder-purple-900:-ms-input-placeholder{--placeholder-opacity:1;color:#4a1d96;color:rgba(74,29,150,var(--placeholder-opacity))}.xl\:placeholder-purple-900::-ms-input-placeholder{--placeholder-opacity:1;color:#4a1d96;color:rgba(74,29,150,var(--placeholder-opacity))}.xl\:placeholder-purple-900::placeholder{--placeholder-opacity:1;color:#4a1d96;color:rgba(74,29,150,var(--placeholder-opacity))}.xl\:placeholder-pink-50::-moz-placeholder{--placeholder-opacity:1;color:#fdf2f8;color:rgba(253,242,248,var(--placeholder-opacity))}.xl\:placeholder-pink-50:-ms-input-placeholder{--placeholder-opacity:1;color:#fdf2f8;color:rgba(253,242,248,var(--placeholder-opacity))}.xl\:placeholder-pink-50::-ms-input-placeholder{--placeholder-opacity:1;color:#fdf2f8;color:rgba(253,242,248,var(--placeholder-opacity))}.xl\:placeholder-pink-50::placeholder{--placeholder-opacity:1;color:#fdf2f8;color:rgba(253,242,248,var(--placeholder-opacity))}.xl\:placeholder-pink-100::-moz-placeholder{--placeholder-opacity:1;color:#fce8f3;color:rgba(252,232,243,var(--placeholder-opacity))}.xl\:placeholder-pink-100:-ms-input-placeholder{--placeholder-opacity:1;color:#fce8f3;color:rgba(252,232,243,var(--placeholder-opacity))}.xl\:placeholder-pink-100::-ms-input-placeholder{--placeholder-opacity:1;color:#fce8f3;color:rgba(252,232,243,var(--placeholder-opacity))}.xl\:placeholder-pink-100::placeholder{--placeholder-opacity:1;color:#fce8f3;color:rgba(252,232,243,var(--placeholder-opacity))}.xl\:placeholder-pink-200::-moz-placeholder{--placeholder-opacity:1;color:#fad1e8;color:rgba(250,209,232,var(--placeholder-opacity))}.xl\:placeholder-pink-200:-ms-input-placeholder{--placeholder-opacity:1;color:#fad1e8;color:rgba(250,209,232,var(--placeholder-opacity))}.xl\:placeholder-pink-200::-ms-input-placeholder{--placeholder-opacity:1;color:#fad1e8;color:rgba(250,209,232,var(--placeholder-opacity))}.xl\:placeholder-pink-200::placeholder{--placeholder-opacity:1;color:#fad1e8;color:rgba(250,209,232,var(--placeholder-opacity))}.xl\:placeholder-pink-300::-moz-placeholder{--placeholder-opacity:1;color:#f8b4d9;color:rgba(248,180,217,var(--placeholder-opacity))}.xl\:placeholder-pink-300:-ms-input-placeholder{--placeholder-opacity:1;color:#f8b4d9;color:rgba(248,180,217,var(--placeholder-opacity))}.xl\:placeholder-pink-300::-ms-input-placeholder{--placeholder-opacity:1;color:#f8b4d9;color:rgba(248,180,217,var(--placeholder-opacity))}.xl\:placeholder-pink-300::placeholder{--placeholder-opacity:1;color:#f8b4d9;color:rgba(248,180,217,var(--placeholder-opacity))}.xl\:placeholder-pink-400::-moz-placeholder{--placeholder-opacity:1;color:#f17eb8;color:rgba(241,126,184,var(--placeholder-opacity))}.xl\:placeholder-pink-400:-ms-input-placeholder{--placeholder-opacity:1;color:#f17eb8;color:rgba(241,126,184,var(--placeholder-opacity))}.xl\:placeholder-pink-400::-ms-input-placeholder{--placeholder-opacity:1;color:#f17eb8;color:rgba(241,126,184,var(--placeholder-opacity))}.xl\:placeholder-pink-400::placeholder{--placeholder-opacity:1;color:#f17eb8;color:rgba(241,126,184,var(--placeholder-opacity))}.xl\:placeholder-pink-500::-moz-placeholder{--placeholder-opacity:1;color:#e74694;color:rgba(231,70,148,var(--placeholder-opacity))}.xl\:placeholder-pink-500:-ms-input-placeholder{--placeholder-opacity:1;color:#e74694;color:rgba(231,70,148,var(--placeholder-opacity))}.xl\:placeholder-pink-500::-ms-input-placeholder{--placeholder-opacity:1;color:#e74694;color:rgba(231,70,148,var(--placeholder-opacity))}.xl\:placeholder-pink-500::placeholder{--placeholder-opacity:1;color:#e74694;color:rgba(231,70,148,var(--placeholder-opacity))}.xl\:placeholder-pink-600::-moz-placeholder{--placeholder-opacity:1;color:#d61f69;color:rgba(214,31,105,var(--placeholder-opacity))}.xl\:placeholder-pink-600:-ms-input-placeholder{--placeholder-opacity:1;color:#d61f69;color:rgba(214,31,105,var(--placeholder-opacity))}.xl\:placeholder-pink-600::-ms-input-placeholder{--placeholder-opacity:1;color:#d61f69;color:rgba(214,31,105,var(--placeholder-opacity))}.xl\:placeholder-pink-600::placeholder{--placeholder-opacity:1;color:#d61f69;color:rgba(214,31,105,var(--placeholder-opacity))}.xl\:placeholder-pink-700::-moz-placeholder{--placeholder-opacity:1;color:#bf125d;color:rgba(191,18,93,var(--placeholder-opacity))}.xl\:placeholder-pink-700:-ms-input-placeholder{--placeholder-opacity:1;color:#bf125d;color:rgba(191,18,93,var(--placeholder-opacity))}.xl\:placeholder-pink-700::-ms-input-placeholder{--placeholder-opacity:1;color:#bf125d;color:rgba(191,18,93,var(--placeholder-opacity))}.xl\:placeholder-pink-700::placeholder{--placeholder-opacity:1;color:#bf125d;color:rgba(191,18,93,var(--placeholder-opacity))}.xl\:placeholder-pink-800::-moz-placeholder{--placeholder-opacity:1;color:#99154b;color:rgba(153,21,75,var(--placeholder-opacity))}.xl\:placeholder-pink-800:-ms-input-placeholder{--placeholder-opacity:1;color:#99154b;color:rgba(153,21,75,var(--placeholder-opacity))}.xl\:placeholder-pink-800::-ms-input-placeholder{--placeholder-opacity:1;color:#99154b;color:rgba(153,21,75,var(--placeholder-opacity))}.xl\:placeholder-pink-800::placeholder{--placeholder-opacity:1;color:#99154b;color:rgba(153,21,75,var(--placeholder-opacity))}.xl\:placeholder-pink-900::-moz-placeholder{--placeholder-opacity:1;color:#751a3d;color:rgba(117,26,61,var(--placeholder-opacity))}.xl\:placeholder-pink-900:-ms-input-placeholder{--placeholder-opacity:1;color:#751a3d;color:rgba(117,26,61,var(--placeholder-opacity))}.xl\:placeholder-pink-900::-ms-input-placeholder{--placeholder-opacity:1;color:#751a3d;color:rgba(117,26,61,var(--placeholder-opacity))}.xl\:placeholder-pink-900::placeholder{--placeholder-opacity:1;color:#751a3d;color:rgba(117,26,61,var(--placeholder-opacity))}.xl\:focus\:placeholder-transparent:focus::-moz-placeholder{color:transparent}.xl\:focus\:placeholder-transparent:focus:-ms-input-placeholder{color:transparent}.xl\:focus\:placeholder-transparent:focus::-ms-input-placeholder{color:transparent}.xl\:focus\:placeholder-transparent:focus::placeholder{color:transparent}.xl\:focus\:placeholder-white:focus::-moz-placeholder{--placeholder-opacity:1;color:#fff;color:rgba(255,255,255,var(--placeholder-opacity))}.xl\:focus\:placeholder-white:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#fff;color:rgba(255,255,255,var(--placeholder-opacity))}.xl\:focus\:placeholder-white:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#fff;color:rgba(255,255,255,var(--placeholder-opacity))}.xl\:focus\:placeholder-white:focus::placeholder{--placeholder-opacity:1;color:#fff;color:rgba(255,255,255,var(--placeholder-opacity))}.xl\:focus\:placeholder-black:focus::-moz-placeholder{--placeholder-opacity:1;color:#000;color:rgba(0,0,0,var(--placeholder-opacity))}.xl\:focus\:placeholder-black:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#000;color:rgba(0,0,0,var(--placeholder-opacity))}.xl\:focus\:placeholder-black:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#000;color:rgba(0,0,0,var(--placeholder-opacity))}.xl\:focus\:placeholder-black:focus::placeholder{--placeholder-opacity:1;color:#000;color:rgba(0,0,0,var(--placeholder-opacity))}.xl\:focus\:placeholder-gray-50:focus::-moz-placeholder{--placeholder-opacity:1;color:#f9fafb;color:rgba(249,250,251,var(--placeholder-opacity))}.xl\:focus\:placeholder-gray-50:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#f9fafb;color:rgba(249,250,251,var(--placeholder-opacity))}.xl\:focus\:placeholder-gray-50:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#f9fafb;color:rgba(249,250,251,var(--placeholder-opacity))}.xl\:focus\:placeholder-gray-50:focus::placeholder{--placeholder-opacity:1;color:#f9fafb;color:rgba(249,250,251,var(--placeholder-opacity))}.xl\:focus\:placeholder-gray-100:focus::-moz-placeholder{--placeholder-opacity:1;color:#f4f5f7;color:rgba(244,245,247,var(--placeholder-opacity))}.xl\:focus\:placeholder-gray-100:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#f4f5f7;color:rgba(244,245,247,var(--placeholder-opacity))}.xl\:focus\:placeholder-gray-100:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#f4f5f7;color:rgba(244,245,247,var(--placeholder-opacity))}.xl\:focus\:placeholder-gray-100:focus::placeholder{--placeholder-opacity:1;color:#f4f5f7;color:rgba(244,245,247,var(--placeholder-opacity))}.xl\:focus\:placeholder-gray-200:focus::-moz-placeholder{--placeholder-opacity:1;color:#e5e7eb;color:rgba(229,231,235,var(--placeholder-opacity))}.xl\:focus\:placeholder-gray-200:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#e5e7eb;color:rgba(229,231,235,var(--placeholder-opacity))}.xl\:focus\:placeholder-gray-200:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#e5e7eb;color:rgba(229,231,235,var(--placeholder-opacity))}.xl\:focus\:placeholder-gray-200:focus::placeholder{--placeholder-opacity:1;color:#e5e7eb;color:rgba(229,231,235,var(--placeholder-opacity))}.xl\:focus\:placeholder-gray-300:focus::-moz-placeholder{--placeholder-opacity:1;color:#d2d6dc;color:rgba(210,214,220,var(--placeholder-opacity))}.xl\:focus\:placeholder-gray-300:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#d2d6dc;color:rgba(210,214,220,var(--placeholder-opacity))}.xl\:focus\:placeholder-gray-300:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#d2d6dc;color:rgba(210,214,220,var(--placeholder-opacity))}.xl\:focus\:placeholder-gray-300:focus::placeholder{--placeholder-opacity:1;color:#d2d6dc;color:rgba(210,214,220,var(--placeholder-opacity))}.xl\:focus\:placeholder-gray-400:focus::-moz-placeholder{--placeholder-opacity:1;color:#9fa6b2;color:rgba(159,166,178,var(--placeholder-opacity))}.xl\:focus\:placeholder-gray-400:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#9fa6b2;color:rgba(159,166,178,var(--placeholder-opacity))}.xl\:focus\:placeholder-gray-400:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#9fa6b2;color:rgba(159,166,178,var(--placeholder-opacity))}.xl\:focus\:placeholder-gray-400:focus::placeholder{--placeholder-opacity:1;color:#9fa6b2;color:rgba(159,166,178,var(--placeholder-opacity))}.xl\:focus\:placeholder-gray-500:focus::-moz-placeholder{--placeholder-opacity:1;color:#6b7280;color:rgba(107,114,128,var(--placeholder-opacity))}.xl\:focus\:placeholder-gray-500:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#6b7280;color:rgba(107,114,128,var(--placeholder-opacity))}.xl\:focus\:placeholder-gray-500:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#6b7280;color:rgba(107,114,128,var(--placeholder-opacity))}.xl\:focus\:placeholder-gray-500:focus::placeholder{--placeholder-opacity:1;color:#6b7280;color:rgba(107,114,128,var(--placeholder-opacity))}.xl\:focus\:placeholder-gray-600:focus::-moz-placeholder{--placeholder-opacity:1;color:#4b5563;color:rgba(75,85,99,var(--placeholder-opacity))}.xl\:focus\:placeholder-gray-600:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#4b5563;color:rgba(75,85,99,var(--placeholder-opacity))}.xl\:focus\:placeholder-gray-600:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#4b5563;color:rgba(75,85,99,var(--placeholder-opacity))}.xl\:focus\:placeholder-gray-600:focus::placeholder{--placeholder-opacity:1;color:#4b5563;color:rgba(75,85,99,var(--placeholder-opacity))}.xl\:focus\:placeholder-gray-700:focus::-moz-placeholder{--placeholder-opacity:1;color:#374151;color:rgba(55,65,81,var(--placeholder-opacity))}.xl\:focus\:placeholder-gray-700:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#374151;color:rgba(55,65,81,var(--placeholder-opacity))}.xl\:focus\:placeholder-gray-700:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#374151;color:rgba(55,65,81,var(--placeholder-opacity))}.xl\:focus\:placeholder-gray-700:focus::placeholder{--placeholder-opacity:1;color:#374151;color:rgba(55,65,81,var(--placeholder-opacity))}.xl\:focus\:placeholder-gray-800:focus::-moz-placeholder{--placeholder-opacity:1;color:#252f3f;color:rgba(37,47,63,var(--placeholder-opacity))}.xl\:focus\:placeholder-gray-800:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#252f3f;color:rgba(37,47,63,var(--placeholder-opacity))}.xl\:focus\:placeholder-gray-800:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#252f3f;color:rgba(37,47,63,var(--placeholder-opacity))}.xl\:focus\:placeholder-gray-800:focus::placeholder{--placeholder-opacity:1;color:#252f3f;color:rgba(37,47,63,var(--placeholder-opacity))}.xl\:focus\:placeholder-gray-900:focus::-moz-placeholder{--placeholder-opacity:1;color:#161e2e;color:rgba(22,30,46,var(--placeholder-opacity))}.xl\:focus\:placeholder-gray-900:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#161e2e;color:rgba(22,30,46,var(--placeholder-opacity))}.xl\:focus\:placeholder-gray-900:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#161e2e;color:rgba(22,30,46,var(--placeholder-opacity))}.xl\:focus\:placeholder-gray-900:focus::placeholder{--placeholder-opacity:1;color:#161e2e;color:rgba(22,30,46,var(--placeholder-opacity))}.xl\:focus\:placeholder-cool-gray-50:focus::-moz-placeholder{--placeholder-opacity:1;color:#f8fafc;color:rgba(248,250,252,var(--placeholder-opacity))}.xl\:focus\:placeholder-cool-gray-50:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#f8fafc;color:rgba(248,250,252,var(--placeholder-opacity))}.xl\:focus\:placeholder-cool-gray-50:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#f8fafc;color:rgba(248,250,252,var(--placeholder-opacity))}.xl\:focus\:placeholder-cool-gray-50:focus::placeholder{--placeholder-opacity:1;color:#f8fafc;color:rgba(248,250,252,var(--placeholder-opacity))}.xl\:focus\:placeholder-cool-gray-100:focus::-moz-placeholder{--placeholder-opacity:1;color:#f1f5f9;color:rgba(241,245,249,var(--placeholder-opacity))}.xl\:focus\:placeholder-cool-gray-100:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#f1f5f9;color:rgba(241,245,249,var(--placeholder-opacity))}.xl\:focus\:placeholder-cool-gray-100:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#f1f5f9;color:rgba(241,245,249,var(--placeholder-opacity))}.xl\:focus\:placeholder-cool-gray-100:focus::placeholder{--placeholder-opacity:1;color:#f1f5f9;color:rgba(241,245,249,var(--placeholder-opacity))}.xl\:focus\:placeholder-cool-gray-200:focus::-moz-placeholder{--placeholder-opacity:1;color:#e2e8f0;color:rgba(226,232,240,var(--placeholder-opacity))}.xl\:focus\:placeholder-cool-gray-200:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#e2e8f0;color:rgba(226,232,240,var(--placeholder-opacity))}.xl\:focus\:placeholder-cool-gray-200:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#e2e8f0;color:rgba(226,232,240,var(--placeholder-opacity))}.xl\:focus\:placeholder-cool-gray-200:focus::placeholder{--placeholder-opacity:1;color:#e2e8f0;color:rgba(226,232,240,var(--placeholder-opacity))}.xl\:focus\:placeholder-cool-gray-300:focus::-moz-placeholder{--placeholder-opacity:1;color:#cfd8e3;color:rgba(207,216,227,var(--placeholder-opacity))}.xl\:focus\:placeholder-cool-gray-300:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#cfd8e3;color:rgba(207,216,227,var(--placeholder-opacity))}.xl\:focus\:placeholder-cool-gray-300:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#cfd8e3;color:rgba(207,216,227,var(--placeholder-opacity))}.xl\:focus\:placeholder-cool-gray-300:focus::placeholder{--placeholder-opacity:1;color:#cfd8e3;color:rgba(207,216,227,var(--placeholder-opacity))}.xl\:focus\:placeholder-cool-gray-400:focus::-moz-placeholder{--placeholder-opacity:1;color:#97a6ba;color:rgba(151,166,186,var(--placeholder-opacity))}.xl\:focus\:placeholder-cool-gray-400:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#97a6ba;color:rgba(151,166,186,var(--placeholder-opacity))}.xl\:focus\:placeholder-cool-gray-400:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#97a6ba;color:rgba(151,166,186,var(--placeholder-opacity))}.xl\:focus\:placeholder-cool-gray-400:focus::placeholder{--placeholder-opacity:1;color:#97a6ba;color:rgba(151,166,186,var(--placeholder-opacity))}.xl\:focus\:placeholder-cool-gray-500:focus::-moz-placeholder{--placeholder-opacity:1;color:#64748b;color:rgba(100,116,139,var(--placeholder-opacity))}.xl\:focus\:placeholder-cool-gray-500:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#64748b;color:rgba(100,116,139,var(--placeholder-opacity))}.xl\:focus\:placeholder-cool-gray-500:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#64748b;color:rgba(100,116,139,var(--placeholder-opacity))}.xl\:focus\:placeholder-cool-gray-500:focus::placeholder{--placeholder-opacity:1;color:#64748b;color:rgba(100,116,139,var(--placeholder-opacity))}.xl\:focus\:placeholder-cool-gray-600:focus::-moz-placeholder{--placeholder-opacity:1;color:#475569;color:rgba(71,85,105,var(--placeholder-opacity))}.xl\:focus\:placeholder-cool-gray-600:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#475569;color:rgba(71,85,105,var(--placeholder-opacity))}.xl\:focus\:placeholder-cool-gray-600:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#475569;color:rgba(71,85,105,var(--placeholder-opacity))}.xl\:focus\:placeholder-cool-gray-600:focus::placeholder{--placeholder-opacity:1;color:#475569;color:rgba(71,85,105,var(--placeholder-opacity))}.xl\:focus\:placeholder-cool-gray-700:focus::-moz-placeholder{--placeholder-opacity:1;color:#364152;color:rgba(54,65,82,var(--placeholder-opacity))}.xl\:focus\:placeholder-cool-gray-700:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#364152;color:rgba(54,65,82,var(--placeholder-opacity))}.xl\:focus\:placeholder-cool-gray-700:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#364152;color:rgba(54,65,82,var(--placeholder-opacity))}.xl\:focus\:placeholder-cool-gray-700:focus::placeholder{--placeholder-opacity:1;color:#364152;color:rgba(54,65,82,var(--placeholder-opacity))}.xl\:focus\:placeholder-cool-gray-800:focus::-moz-placeholder{--placeholder-opacity:1;color:#27303f;color:rgba(39,48,63,var(--placeholder-opacity))}.xl\:focus\:placeholder-cool-gray-800:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#27303f;color:rgba(39,48,63,var(--placeholder-opacity))}.xl\:focus\:placeholder-cool-gray-800:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#27303f;color:rgba(39,48,63,var(--placeholder-opacity))}.xl\:focus\:placeholder-cool-gray-800:focus::placeholder{--placeholder-opacity:1;color:#27303f;color:rgba(39,48,63,var(--placeholder-opacity))}.xl\:focus\:placeholder-cool-gray-900:focus::-moz-placeholder{--placeholder-opacity:1;color:#1a202e;color:rgba(26,32,46,var(--placeholder-opacity))}.xl\:focus\:placeholder-cool-gray-900:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#1a202e;color:rgba(26,32,46,var(--placeholder-opacity))}.xl\:focus\:placeholder-cool-gray-900:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#1a202e;color:rgba(26,32,46,var(--placeholder-opacity))}.xl\:focus\:placeholder-cool-gray-900:focus::placeholder{--placeholder-opacity:1;color:#1a202e;color:rgba(26,32,46,var(--placeholder-opacity))}.xl\:focus\:placeholder-red-50:focus::-moz-placeholder{--placeholder-opacity:1;color:#fdf2f2;color:rgba(253,242,242,var(--placeholder-opacity))}.xl\:focus\:placeholder-red-50:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#fdf2f2;color:rgba(253,242,242,var(--placeholder-opacity))}.xl\:focus\:placeholder-red-50:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#fdf2f2;color:rgba(253,242,242,var(--placeholder-opacity))}.xl\:focus\:placeholder-red-50:focus::placeholder{--placeholder-opacity:1;color:#fdf2f2;color:rgba(253,242,242,var(--placeholder-opacity))}.xl\:focus\:placeholder-red-100:focus::-moz-placeholder{--placeholder-opacity:1;color:#fde8e8;color:rgba(253,232,232,var(--placeholder-opacity))}.xl\:focus\:placeholder-red-100:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#fde8e8;color:rgba(253,232,232,var(--placeholder-opacity))}.xl\:focus\:placeholder-red-100:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#fde8e8;color:rgba(253,232,232,var(--placeholder-opacity))}.xl\:focus\:placeholder-red-100:focus::placeholder{--placeholder-opacity:1;color:#fde8e8;color:rgba(253,232,232,var(--placeholder-opacity))}.xl\:focus\:placeholder-red-200:focus::-moz-placeholder{--placeholder-opacity:1;color:#fbd5d5;color:rgba(251,213,213,var(--placeholder-opacity))}.xl\:focus\:placeholder-red-200:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#fbd5d5;color:rgba(251,213,213,var(--placeholder-opacity))}.xl\:focus\:placeholder-red-200:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#fbd5d5;color:rgba(251,213,213,var(--placeholder-opacity))}.xl\:focus\:placeholder-red-200:focus::placeholder{--placeholder-opacity:1;color:#fbd5d5;color:rgba(251,213,213,var(--placeholder-opacity))}.xl\:focus\:placeholder-red-300:focus::-moz-placeholder{--placeholder-opacity:1;color:#f8b4b4;color:rgba(248,180,180,var(--placeholder-opacity))}.xl\:focus\:placeholder-red-300:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#f8b4b4;color:rgba(248,180,180,var(--placeholder-opacity))}.xl\:focus\:placeholder-red-300:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#f8b4b4;color:rgba(248,180,180,var(--placeholder-opacity))}.xl\:focus\:placeholder-red-300:focus::placeholder{--placeholder-opacity:1;color:#f8b4b4;color:rgba(248,180,180,var(--placeholder-opacity))}.xl\:focus\:placeholder-red-400:focus::-moz-placeholder{--placeholder-opacity:1;color:#f98080;color:rgba(249,128,128,var(--placeholder-opacity))}.xl\:focus\:placeholder-red-400:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#f98080;color:rgba(249,128,128,var(--placeholder-opacity))}.xl\:focus\:placeholder-red-400:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#f98080;color:rgba(249,128,128,var(--placeholder-opacity))}.xl\:focus\:placeholder-red-400:focus::placeholder{--placeholder-opacity:1;color:#f98080;color:rgba(249,128,128,var(--placeholder-opacity))}.xl\:focus\:placeholder-red-500:focus::-moz-placeholder{--placeholder-opacity:1;color:#f05252;color:rgba(240,82,82,var(--placeholder-opacity))}.xl\:focus\:placeholder-red-500:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#f05252;color:rgba(240,82,82,var(--placeholder-opacity))}.xl\:focus\:placeholder-red-500:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#f05252;color:rgba(240,82,82,var(--placeholder-opacity))}.xl\:focus\:placeholder-red-500:focus::placeholder{--placeholder-opacity:1;color:#f05252;color:rgba(240,82,82,var(--placeholder-opacity))}.xl\:focus\:placeholder-red-600:focus::-moz-placeholder{--placeholder-opacity:1;color:#e02424;color:rgba(224,36,36,var(--placeholder-opacity))}.xl\:focus\:placeholder-red-600:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#e02424;color:rgba(224,36,36,var(--placeholder-opacity))}.xl\:focus\:placeholder-red-600:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#e02424;color:rgba(224,36,36,var(--placeholder-opacity))}.xl\:focus\:placeholder-red-600:focus::placeholder{--placeholder-opacity:1;color:#e02424;color:rgba(224,36,36,var(--placeholder-opacity))}.xl\:focus\:placeholder-red-700:focus::-moz-placeholder{--placeholder-opacity:1;color:#c81e1e;color:rgba(200,30,30,var(--placeholder-opacity))}.xl\:focus\:placeholder-red-700:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#c81e1e;color:rgba(200,30,30,var(--placeholder-opacity))}.xl\:focus\:placeholder-red-700:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#c81e1e;color:rgba(200,30,30,var(--placeholder-opacity))}.xl\:focus\:placeholder-red-700:focus::placeholder{--placeholder-opacity:1;color:#c81e1e;color:rgba(200,30,30,var(--placeholder-opacity))}.xl\:focus\:placeholder-red-800:focus::-moz-placeholder{--placeholder-opacity:1;color:#9b1c1c;color:rgba(155,28,28,var(--placeholder-opacity))}.xl\:focus\:placeholder-red-800:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#9b1c1c;color:rgba(155,28,28,var(--placeholder-opacity))}.xl\:focus\:placeholder-red-800:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#9b1c1c;color:rgba(155,28,28,var(--placeholder-opacity))}.xl\:focus\:placeholder-red-800:focus::placeholder{--placeholder-opacity:1;color:#9b1c1c;color:rgba(155,28,28,var(--placeholder-opacity))}.xl\:focus\:placeholder-red-900:focus::-moz-placeholder{--placeholder-opacity:1;color:#771d1d;color:rgba(119,29,29,var(--placeholder-opacity))}.xl\:focus\:placeholder-red-900:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#771d1d;color:rgba(119,29,29,var(--placeholder-opacity))}.xl\:focus\:placeholder-red-900:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#771d1d;color:rgba(119,29,29,var(--placeholder-opacity))}.xl\:focus\:placeholder-red-900:focus::placeholder{--placeholder-opacity:1;color:#771d1d;color:rgba(119,29,29,var(--placeholder-opacity))}.xl\:focus\:placeholder-orange-50:focus::-moz-placeholder{--placeholder-opacity:1;color:#fff8f1;color:rgba(255,248,241,var(--placeholder-opacity))}.xl\:focus\:placeholder-orange-50:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#fff8f1;color:rgba(255,248,241,var(--placeholder-opacity))}.xl\:focus\:placeholder-orange-50:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#fff8f1;color:rgba(255,248,241,var(--placeholder-opacity))}.xl\:focus\:placeholder-orange-50:focus::placeholder{--placeholder-opacity:1;color:#fff8f1;color:rgba(255,248,241,var(--placeholder-opacity))}.xl\:focus\:placeholder-orange-100:focus::-moz-placeholder{--placeholder-opacity:1;color:#feecdc;color:rgba(254,236,220,var(--placeholder-opacity))}.xl\:focus\:placeholder-orange-100:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#feecdc;color:rgba(254,236,220,var(--placeholder-opacity))}.xl\:focus\:placeholder-orange-100:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#feecdc;color:rgba(254,236,220,var(--placeholder-opacity))}.xl\:focus\:placeholder-orange-100:focus::placeholder{--placeholder-opacity:1;color:#feecdc;color:rgba(254,236,220,var(--placeholder-opacity))}.xl\:focus\:placeholder-orange-200:focus::-moz-placeholder{--placeholder-opacity:1;color:#fcd9bd;color:rgba(252,217,189,var(--placeholder-opacity))}.xl\:focus\:placeholder-orange-200:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#fcd9bd;color:rgba(252,217,189,var(--placeholder-opacity))}.xl\:focus\:placeholder-orange-200:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#fcd9bd;color:rgba(252,217,189,var(--placeholder-opacity))}.xl\:focus\:placeholder-orange-200:focus::placeholder{--placeholder-opacity:1;color:#fcd9bd;color:rgba(252,217,189,var(--placeholder-opacity))}.xl\:focus\:placeholder-orange-300:focus::-moz-placeholder{--placeholder-opacity:1;color:#fdba8c;color:rgba(253,186,140,var(--placeholder-opacity))}.xl\:focus\:placeholder-orange-300:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#fdba8c;color:rgba(253,186,140,var(--placeholder-opacity))}.xl\:focus\:placeholder-orange-300:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#fdba8c;color:rgba(253,186,140,var(--placeholder-opacity))}.xl\:focus\:placeholder-orange-300:focus::placeholder{--placeholder-opacity:1;color:#fdba8c;color:rgba(253,186,140,var(--placeholder-opacity))}.xl\:focus\:placeholder-orange-400:focus::-moz-placeholder{--placeholder-opacity:1;color:#ff8a4c;color:rgba(255,138,76,var(--placeholder-opacity))}.xl\:focus\:placeholder-orange-400:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#ff8a4c;color:rgba(255,138,76,var(--placeholder-opacity))}.xl\:focus\:placeholder-orange-400:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#ff8a4c;color:rgba(255,138,76,var(--placeholder-opacity))}.xl\:focus\:placeholder-orange-400:focus::placeholder{--placeholder-opacity:1;color:#ff8a4c;color:rgba(255,138,76,var(--placeholder-opacity))}.xl\:focus\:placeholder-orange-500:focus::-moz-placeholder{--placeholder-opacity:1;color:#ff5a1f;color:rgba(255,90,31,var(--placeholder-opacity))}.xl\:focus\:placeholder-orange-500:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#ff5a1f;color:rgba(255,90,31,var(--placeholder-opacity))}.xl\:focus\:placeholder-orange-500:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#ff5a1f;color:rgba(255,90,31,var(--placeholder-opacity))}.xl\:focus\:placeholder-orange-500:focus::placeholder{--placeholder-opacity:1;color:#ff5a1f;color:rgba(255,90,31,var(--placeholder-opacity))}.xl\:focus\:placeholder-orange-600:focus::-moz-placeholder{--placeholder-opacity:1;color:#d03801;color:rgba(208,56,1,var(--placeholder-opacity))}.xl\:focus\:placeholder-orange-600:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#d03801;color:rgba(208,56,1,var(--placeholder-opacity))}.xl\:focus\:placeholder-orange-600:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#d03801;color:rgba(208,56,1,var(--placeholder-opacity))}.xl\:focus\:placeholder-orange-600:focus::placeholder{--placeholder-opacity:1;color:#d03801;color:rgba(208,56,1,var(--placeholder-opacity))}.xl\:focus\:placeholder-orange-700:focus::-moz-placeholder{--placeholder-opacity:1;color:#b43403;color:rgba(180,52,3,var(--placeholder-opacity))}.xl\:focus\:placeholder-orange-700:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#b43403;color:rgba(180,52,3,var(--placeholder-opacity))}.xl\:focus\:placeholder-orange-700:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#b43403;color:rgba(180,52,3,var(--placeholder-opacity))}.xl\:focus\:placeholder-orange-700:focus::placeholder{--placeholder-opacity:1;color:#b43403;color:rgba(180,52,3,var(--placeholder-opacity))}.xl\:focus\:placeholder-orange-800:focus::-moz-placeholder{--placeholder-opacity:1;color:#8a2c0d;color:rgba(138,44,13,var(--placeholder-opacity))}.xl\:focus\:placeholder-orange-800:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#8a2c0d;color:rgba(138,44,13,var(--placeholder-opacity))}.xl\:focus\:placeholder-orange-800:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#8a2c0d;color:rgba(138,44,13,var(--placeholder-opacity))}.xl\:focus\:placeholder-orange-800:focus::placeholder{--placeholder-opacity:1;color:#8a2c0d;color:rgba(138,44,13,var(--placeholder-opacity))}.xl\:focus\:placeholder-orange-900:focus::-moz-placeholder{--placeholder-opacity:1;color:#73230d;color:rgba(115,35,13,var(--placeholder-opacity))}.xl\:focus\:placeholder-orange-900:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#73230d;color:rgba(115,35,13,var(--placeholder-opacity))}.xl\:focus\:placeholder-orange-900:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#73230d;color:rgba(115,35,13,var(--placeholder-opacity))}.xl\:focus\:placeholder-orange-900:focus::placeholder{--placeholder-opacity:1;color:#73230d;color:rgba(115,35,13,var(--placeholder-opacity))}.xl\:focus\:placeholder-yellow-50:focus::-moz-placeholder{--placeholder-opacity:1;color:#fdfdea;color:rgba(253,253,234,var(--placeholder-opacity))}.xl\:focus\:placeholder-yellow-50:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#fdfdea;color:rgba(253,253,234,var(--placeholder-opacity))}.xl\:focus\:placeholder-yellow-50:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#fdfdea;color:rgba(253,253,234,var(--placeholder-opacity))}.xl\:focus\:placeholder-yellow-50:focus::placeholder{--placeholder-opacity:1;color:#fdfdea;color:rgba(253,253,234,var(--placeholder-opacity))}.xl\:focus\:placeholder-yellow-100:focus::-moz-placeholder{--placeholder-opacity:1;color:#fdf6b2;color:rgba(253,246,178,var(--placeholder-opacity))}.xl\:focus\:placeholder-yellow-100:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#fdf6b2;color:rgba(253,246,178,var(--placeholder-opacity))}.xl\:focus\:placeholder-yellow-100:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#fdf6b2;color:rgba(253,246,178,var(--placeholder-opacity))}.xl\:focus\:placeholder-yellow-100:focus::placeholder{--placeholder-opacity:1;color:#fdf6b2;color:rgba(253,246,178,var(--placeholder-opacity))}.xl\:focus\:placeholder-yellow-200:focus::-moz-placeholder{--placeholder-opacity:1;color:#fce96a;color:rgba(252,233,106,var(--placeholder-opacity))}.xl\:focus\:placeholder-yellow-200:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#fce96a;color:rgba(252,233,106,var(--placeholder-opacity))}.xl\:focus\:placeholder-yellow-200:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#fce96a;color:rgba(252,233,106,var(--placeholder-opacity))}.xl\:focus\:placeholder-yellow-200:focus::placeholder{--placeholder-opacity:1;color:#fce96a;color:rgba(252,233,106,var(--placeholder-opacity))}.xl\:focus\:placeholder-yellow-300:focus::-moz-placeholder{--placeholder-opacity:1;color:#faca15;color:rgba(250,202,21,var(--placeholder-opacity))}.xl\:focus\:placeholder-yellow-300:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#faca15;color:rgba(250,202,21,var(--placeholder-opacity))}.xl\:focus\:placeholder-yellow-300:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#faca15;color:rgba(250,202,21,var(--placeholder-opacity))}.xl\:focus\:placeholder-yellow-300:focus::placeholder{--placeholder-opacity:1;color:#faca15;color:rgba(250,202,21,var(--placeholder-opacity))}.xl\:focus\:placeholder-yellow-400:focus::-moz-placeholder{--placeholder-opacity:1;color:#e3a008;color:rgba(227,160,8,var(--placeholder-opacity))}.xl\:focus\:placeholder-yellow-400:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#e3a008;color:rgba(227,160,8,var(--placeholder-opacity))}.xl\:focus\:placeholder-yellow-400:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#e3a008;color:rgba(227,160,8,var(--placeholder-opacity))}.xl\:focus\:placeholder-yellow-400:focus::placeholder{--placeholder-opacity:1;color:#e3a008;color:rgba(227,160,8,var(--placeholder-opacity))}.xl\:focus\:placeholder-yellow-500:focus::-moz-placeholder{--placeholder-opacity:1;color:#c27803;color:rgba(194,120,3,var(--placeholder-opacity))}.xl\:focus\:placeholder-yellow-500:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#c27803;color:rgba(194,120,3,var(--placeholder-opacity))}.xl\:focus\:placeholder-yellow-500:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#c27803;color:rgba(194,120,3,var(--placeholder-opacity))}.xl\:focus\:placeholder-yellow-500:focus::placeholder{--placeholder-opacity:1;color:#c27803;color:rgba(194,120,3,var(--placeholder-opacity))}.xl\:focus\:placeholder-yellow-600:focus::-moz-placeholder{--placeholder-opacity:1;color:#9f580a;color:rgba(159,88,10,var(--placeholder-opacity))}.xl\:focus\:placeholder-yellow-600:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#9f580a;color:rgba(159,88,10,var(--placeholder-opacity))}.xl\:focus\:placeholder-yellow-600:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#9f580a;color:rgba(159,88,10,var(--placeholder-opacity))}.xl\:focus\:placeholder-yellow-600:focus::placeholder{--placeholder-opacity:1;color:#9f580a;color:rgba(159,88,10,var(--placeholder-opacity))}.xl\:focus\:placeholder-yellow-700:focus::-moz-placeholder{--placeholder-opacity:1;color:#8e4b10;color:rgba(142,75,16,var(--placeholder-opacity))}.xl\:focus\:placeholder-yellow-700:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#8e4b10;color:rgba(142,75,16,var(--placeholder-opacity))}.xl\:focus\:placeholder-yellow-700:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#8e4b10;color:rgba(142,75,16,var(--placeholder-opacity))}.xl\:focus\:placeholder-yellow-700:focus::placeholder{--placeholder-opacity:1;color:#8e4b10;color:rgba(142,75,16,var(--placeholder-opacity))}.xl\:focus\:placeholder-yellow-800:focus::-moz-placeholder{--placeholder-opacity:1;color:#723b13;color:rgba(114,59,19,var(--placeholder-opacity))}.xl\:focus\:placeholder-yellow-800:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#723b13;color:rgba(114,59,19,var(--placeholder-opacity))}.xl\:focus\:placeholder-yellow-800:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#723b13;color:rgba(114,59,19,var(--placeholder-opacity))}.xl\:focus\:placeholder-yellow-800:focus::placeholder{--placeholder-opacity:1;color:#723b13;color:rgba(114,59,19,var(--placeholder-opacity))}.xl\:focus\:placeholder-yellow-900:focus::-moz-placeholder{--placeholder-opacity:1;color:#633112;color:rgba(99,49,18,var(--placeholder-opacity))}.xl\:focus\:placeholder-yellow-900:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#633112;color:rgba(99,49,18,var(--placeholder-opacity))}.xl\:focus\:placeholder-yellow-900:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#633112;color:rgba(99,49,18,var(--placeholder-opacity))}.xl\:focus\:placeholder-yellow-900:focus::placeholder{--placeholder-opacity:1;color:#633112;color:rgba(99,49,18,var(--placeholder-opacity))}.xl\:focus\:placeholder-green-50:focus::-moz-placeholder{--placeholder-opacity:1;color:#f3faf7;color:rgba(243,250,247,var(--placeholder-opacity))}.xl\:focus\:placeholder-green-50:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#f3faf7;color:rgba(243,250,247,var(--placeholder-opacity))}.xl\:focus\:placeholder-green-50:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#f3faf7;color:rgba(243,250,247,var(--placeholder-opacity))}.xl\:focus\:placeholder-green-50:focus::placeholder{--placeholder-opacity:1;color:#f3faf7;color:rgba(243,250,247,var(--placeholder-opacity))}.xl\:focus\:placeholder-green-100:focus::-moz-placeholder{--placeholder-opacity:1;color:#def7ec;color:rgba(222,247,236,var(--placeholder-opacity))}.xl\:focus\:placeholder-green-100:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#def7ec;color:rgba(222,247,236,var(--placeholder-opacity))}.xl\:focus\:placeholder-green-100:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#def7ec;color:rgba(222,247,236,var(--placeholder-opacity))}.xl\:focus\:placeholder-green-100:focus::placeholder{--placeholder-opacity:1;color:#def7ec;color:rgba(222,247,236,var(--placeholder-opacity))}.xl\:focus\:placeholder-green-200:focus::-moz-placeholder{--placeholder-opacity:1;color:#bcf0da;color:rgba(188,240,218,var(--placeholder-opacity))}.xl\:focus\:placeholder-green-200:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#bcf0da;color:rgba(188,240,218,var(--placeholder-opacity))}.xl\:focus\:placeholder-green-200:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#bcf0da;color:rgba(188,240,218,var(--placeholder-opacity))}.xl\:focus\:placeholder-green-200:focus::placeholder{--placeholder-opacity:1;color:#bcf0da;color:rgba(188,240,218,var(--placeholder-opacity))}.xl\:focus\:placeholder-green-300:focus::-moz-placeholder{--placeholder-opacity:1;color:#84e1bc;color:rgba(132,225,188,var(--placeholder-opacity))}.xl\:focus\:placeholder-green-300:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#84e1bc;color:rgba(132,225,188,var(--placeholder-opacity))}.xl\:focus\:placeholder-green-300:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#84e1bc;color:rgba(132,225,188,var(--placeholder-opacity))}.xl\:focus\:placeholder-green-300:focus::placeholder{--placeholder-opacity:1;color:#84e1bc;color:rgba(132,225,188,var(--placeholder-opacity))}.xl\:focus\:placeholder-green-400:focus::-moz-placeholder{--placeholder-opacity:1;color:#31c48d;color:rgba(49,196,141,var(--placeholder-opacity))}.xl\:focus\:placeholder-green-400:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#31c48d;color:rgba(49,196,141,var(--placeholder-opacity))}.xl\:focus\:placeholder-green-400:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#31c48d;color:rgba(49,196,141,var(--placeholder-opacity))}.xl\:focus\:placeholder-green-400:focus::placeholder{--placeholder-opacity:1;color:#31c48d;color:rgba(49,196,141,var(--placeholder-opacity))}.xl\:focus\:placeholder-green-500:focus::-moz-placeholder{--placeholder-opacity:1;color:#0e9f6e;color:rgba(14,159,110,var(--placeholder-opacity))}.xl\:focus\:placeholder-green-500:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#0e9f6e;color:rgba(14,159,110,var(--placeholder-opacity))}.xl\:focus\:placeholder-green-500:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#0e9f6e;color:rgba(14,159,110,var(--placeholder-opacity))}.xl\:focus\:placeholder-green-500:focus::placeholder{--placeholder-opacity:1;color:#0e9f6e;color:rgba(14,159,110,var(--placeholder-opacity))}.xl\:focus\:placeholder-green-600:focus::-moz-placeholder{--placeholder-opacity:1;color:#057a55;color:rgba(5,122,85,var(--placeholder-opacity))}.xl\:focus\:placeholder-green-600:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#057a55;color:rgba(5,122,85,var(--placeholder-opacity))}.xl\:focus\:placeholder-green-600:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#057a55;color:rgba(5,122,85,var(--placeholder-opacity))}.xl\:focus\:placeholder-green-600:focus::placeholder{--placeholder-opacity:1;color:#057a55;color:rgba(5,122,85,var(--placeholder-opacity))}.xl\:focus\:placeholder-green-700:focus::-moz-placeholder{--placeholder-opacity:1;color:#046c4e;color:rgba(4,108,78,var(--placeholder-opacity))}.xl\:focus\:placeholder-green-700:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#046c4e;color:rgba(4,108,78,var(--placeholder-opacity))}.xl\:focus\:placeholder-green-700:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#046c4e;color:rgba(4,108,78,var(--placeholder-opacity))}.xl\:focus\:placeholder-green-700:focus::placeholder{--placeholder-opacity:1;color:#046c4e;color:rgba(4,108,78,var(--placeholder-opacity))}.xl\:focus\:placeholder-green-800:focus::-moz-placeholder{--placeholder-opacity:1;color:#03543f;color:rgba(3,84,63,var(--placeholder-opacity))}.xl\:focus\:placeholder-green-800:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#03543f;color:rgba(3,84,63,var(--placeholder-opacity))}.xl\:focus\:placeholder-green-800:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#03543f;color:rgba(3,84,63,var(--placeholder-opacity))}.xl\:focus\:placeholder-green-800:focus::placeholder{--placeholder-opacity:1;color:#03543f;color:rgba(3,84,63,var(--placeholder-opacity))}.xl\:focus\:placeholder-green-900:focus::-moz-placeholder{--placeholder-opacity:1;color:#014737;color:rgba(1,71,55,var(--placeholder-opacity))}.xl\:focus\:placeholder-green-900:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#014737;color:rgba(1,71,55,var(--placeholder-opacity))}.xl\:focus\:placeholder-green-900:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#014737;color:rgba(1,71,55,var(--placeholder-opacity))}.xl\:focus\:placeholder-green-900:focus::placeholder{--placeholder-opacity:1;color:#014737;color:rgba(1,71,55,var(--placeholder-opacity))}.xl\:focus\:placeholder-teal-50:focus::-moz-placeholder{--placeholder-opacity:1;color:#edfafa;color:rgba(237,250,250,var(--placeholder-opacity))}.xl\:focus\:placeholder-teal-50:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#edfafa;color:rgba(237,250,250,var(--placeholder-opacity))}.xl\:focus\:placeholder-teal-50:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#edfafa;color:rgba(237,250,250,var(--placeholder-opacity))}.xl\:focus\:placeholder-teal-50:focus::placeholder{--placeholder-opacity:1;color:#edfafa;color:rgba(237,250,250,var(--placeholder-opacity))}.xl\:focus\:placeholder-teal-100:focus::-moz-placeholder{--placeholder-opacity:1;color:#d5f5f6;color:rgba(213,245,246,var(--placeholder-opacity))}.xl\:focus\:placeholder-teal-100:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#d5f5f6;color:rgba(213,245,246,var(--placeholder-opacity))}.xl\:focus\:placeholder-teal-100:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#d5f5f6;color:rgba(213,245,246,var(--placeholder-opacity))}.xl\:focus\:placeholder-teal-100:focus::placeholder{--placeholder-opacity:1;color:#d5f5f6;color:rgba(213,245,246,var(--placeholder-opacity))}.xl\:focus\:placeholder-teal-200:focus::-moz-placeholder{--placeholder-opacity:1;color:#afecef;color:rgba(175,236,239,var(--placeholder-opacity))}.xl\:focus\:placeholder-teal-200:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#afecef;color:rgba(175,236,239,var(--placeholder-opacity))}.xl\:focus\:placeholder-teal-200:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#afecef;color:rgba(175,236,239,var(--placeholder-opacity))}.xl\:focus\:placeholder-teal-200:focus::placeholder{--placeholder-opacity:1;color:#afecef;color:rgba(175,236,239,var(--placeholder-opacity))}.xl\:focus\:placeholder-teal-300:focus::-moz-placeholder{--placeholder-opacity:1;color:#7edce2;color:rgba(126,220,226,var(--placeholder-opacity))}.xl\:focus\:placeholder-teal-300:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#7edce2;color:rgba(126,220,226,var(--placeholder-opacity))}.xl\:focus\:placeholder-teal-300:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#7edce2;color:rgba(126,220,226,var(--placeholder-opacity))}.xl\:focus\:placeholder-teal-300:focus::placeholder{--placeholder-opacity:1;color:#7edce2;color:rgba(126,220,226,var(--placeholder-opacity))}.xl\:focus\:placeholder-teal-400:focus::-moz-placeholder{--placeholder-opacity:1;color:#16bdca;color:rgba(22,189,202,var(--placeholder-opacity))}.xl\:focus\:placeholder-teal-400:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#16bdca;color:rgba(22,189,202,var(--placeholder-opacity))}.xl\:focus\:placeholder-teal-400:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#16bdca;color:rgba(22,189,202,var(--placeholder-opacity))}.xl\:focus\:placeholder-teal-400:focus::placeholder{--placeholder-opacity:1;color:#16bdca;color:rgba(22,189,202,var(--placeholder-opacity))}.xl\:focus\:placeholder-teal-500:focus::-moz-placeholder{--placeholder-opacity:1;color:#0694a2;color:rgba(6,148,162,var(--placeholder-opacity))}.xl\:focus\:placeholder-teal-500:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#0694a2;color:rgba(6,148,162,var(--placeholder-opacity))}.xl\:focus\:placeholder-teal-500:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#0694a2;color:rgba(6,148,162,var(--placeholder-opacity))}.xl\:focus\:placeholder-teal-500:focus::placeholder{--placeholder-opacity:1;color:#0694a2;color:rgba(6,148,162,var(--placeholder-opacity))}.xl\:focus\:placeholder-teal-600:focus::-moz-placeholder{--placeholder-opacity:1;color:#047481;color:rgba(4,116,129,var(--placeholder-opacity))}.xl\:focus\:placeholder-teal-600:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#047481;color:rgba(4,116,129,var(--placeholder-opacity))}.xl\:focus\:placeholder-teal-600:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#047481;color:rgba(4,116,129,var(--placeholder-opacity))}.xl\:focus\:placeholder-teal-600:focus::placeholder{--placeholder-opacity:1;color:#047481;color:rgba(4,116,129,var(--placeholder-opacity))}.xl\:focus\:placeholder-teal-700:focus::-moz-placeholder{--placeholder-opacity:1;color:#036672;color:rgba(3,102,114,var(--placeholder-opacity))}.xl\:focus\:placeholder-teal-700:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#036672;color:rgba(3,102,114,var(--placeholder-opacity))}.xl\:focus\:placeholder-teal-700:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#036672;color:rgba(3,102,114,var(--placeholder-opacity))}.xl\:focus\:placeholder-teal-700:focus::placeholder{--placeholder-opacity:1;color:#036672;color:rgba(3,102,114,var(--placeholder-opacity))}.xl\:focus\:placeholder-teal-800:focus::-moz-placeholder{--placeholder-opacity:1;color:#05505c;color:rgba(5,80,92,var(--placeholder-opacity))}.xl\:focus\:placeholder-teal-800:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#05505c;color:rgba(5,80,92,var(--placeholder-opacity))}.xl\:focus\:placeholder-teal-800:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#05505c;color:rgba(5,80,92,var(--placeholder-opacity))}.xl\:focus\:placeholder-teal-800:focus::placeholder{--placeholder-opacity:1;color:#05505c;color:rgba(5,80,92,var(--placeholder-opacity))}.xl\:focus\:placeholder-teal-900:focus::-moz-placeholder{--placeholder-opacity:1;color:#014451;color:rgba(1,68,81,var(--placeholder-opacity))}.xl\:focus\:placeholder-teal-900:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#014451;color:rgba(1,68,81,var(--placeholder-opacity))}.xl\:focus\:placeholder-teal-900:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#014451;color:rgba(1,68,81,var(--placeholder-opacity))}.xl\:focus\:placeholder-teal-900:focus::placeholder{--placeholder-opacity:1;color:#014451;color:rgba(1,68,81,var(--placeholder-opacity))}.xl\:focus\:placeholder-blue-50:focus::-moz-placeholder{--placeholder-opacity:1;color:#ebf5ff;color:rgba(235,245,255,var(--placeholder-opacity))}.xl\:focus\:placeholder-blue-50:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#ebf5ff;color:rgba(235,245,255,var(--placeholder-opacity))}.xl\:focus\:placeholder-blue-50:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#ebf5ff;color:rgba(235,245,255,var(--placeholder-opacity))}.xl\:focus\:placeholder-blue-50:focus::placeholder{--placeholder-opacity:1;color:#ebf5ff;color:rgba(235,245,255,var(--placeholder-opacity))}.xl\:focus\:placeholder-blue-100:focus::-moz-placeholder{--placeholder-opacity:1;color:#e1effe;color:rgba(225,239,254,var(--placeholder-opacity))}.xl\:focus\:placeholder-blue-100:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#e1effe;color:rgba(225,239,254,var(--placeholder-opacity))}.xl\:focus\:placeholder-blue-100:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#e1effe;color:rgba(225,239,254,var(--placeholder-opacity))}.xl\:focus\:placeholder-blue-100:focus::placeholder{--placeholder-opacity:1;color:#e1effe;color:rgba(225,239,254,var(--placeholder-opacity))}.xl\:focus\:placeholder-blue-200:focus::-moz-placeholder{--placeholder-opacity:1;color:#c3ddfd;color:rgba(195,221,253,var(--placeholder-opacity))}.xl\:focus\:placeholder-blue-200:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#c3ddfd;color:rgba(195,221,253,var(--placeholder-opacity))}.xl\:focus\:placeholder-blue-200:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#c3ddfd;color:rgba(195,221,253,var(--placeholder-opacity))}.xl\:focus\:placeholder-blue-200:focus::placeholder{--placeholder-opacity:1;color:#c3ddfd;color:rgba(195,221,253,var(--placeholder-opacity))}.xl\:focus\:placeholder-blue-300:focus::-moz-placeholder{--placeholder-opacity:1;color:#a4cafe;color:rgba(164,202,254,var(--placeholder-opacity))}.xl\:focus\:placeholder-blue-300:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#a4cafe;color:rgba(164,202,254,var(--placeholder-opacity))}.xl\:focus\:placeholder-blue-300:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#a4cafe;color:rgba(164,202,254,var(--placeholder-opacity))}.xl\:focus\:placeholder-blue-300:focus::placeholder{--placeholder-opacity:1;color:#a4cafe;color:rgba(164,202,254,var(--placeholder-opacity))}.xl\:focus\:placeholder-blue-400:focus::-moz-placeholder{--placeholder-opacity:1;color:#76a9fa;color:rgba(118,169,250,var(--placeholder-opacity))}.xl\:focus\:placeholder-blue-400:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#76a9fa;color:rgba(118,169,250,var(--placeholder-opacity))}.xl\:focus\:placeholder-blue-400:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#76a9fa;color:rgba(118,169,250,var(--placeholder-opacity))}.xl\:focus\:placeholder-blue-400:focus::placeholder{--placeholder-opacity:1;color:#76a9fa;color:rgba(118,169,250,var(--placeholder-opacity))}.xl\:focus\:placeholder-blue-500:focus::-moz-placeholder{--placeholder-opacity:1;color:#3f83f8;color:rgba(63,131,248,var(--placeholder-opacity))}.xl\:focus\:placeholder-blue-500:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#3f83f8;color:rgba(63,131,248,var(--placeholder-opacity))}.xl\:focus\:placeholder-blue-500:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#3f83f8;color:rgba(63,131,248,var(--placeholder-opacity))}.xl\:focus\:placeholder-blue-500:focus::placeholder{--placeholder-opacity:1;color:#3f83f8;color:rgba(63,131,248,var(--placeholder-opacity))}.xl\:focus\:placeholder-blue-600:focus::-moz-placeholder{--placeholder-opacity:1;color:#1c64f2;color:rgba(28,100,242,var(--placeholder-opacity))}.xl\:focus\:placeholder-blue-600:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#1c64f2;color:rgba(28,100,242,var(--placeholder-opacity))}.xl\:focus\:placeholder-blue-600:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#1c64f2;color:rgba(28,100,242,var(--placeholder-opacity))}.xl\:focus\:placeholder-blue-600:focus::placeholder{--placeholder-opacity:1;color:#1c64f2;color:rgba(28,100,242,var(--placeholder-opacity))}.xl\:focus\:placeholder-blue-700:focus::-moz-placeholder{--placeholder-opacity:1;color:#1a56db;color:rgba(26,86,219,var(--placeholder-opacity))}.xl\:focus\:placeholder-blue-700:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#1a56db;color:rgba(26,86,219,var(--placeholder-opacity))}.xl\:focus\:placeholder-blue-700:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#1a56db;color:rgba(26,86,219,var(--placeholder-opacity))}.xl\:focus\:placeholder-blue-700:focus::placeholder{--placeholder-opacity:1;color:#1a56db;color:rgba(26,86,219,var(--placeholder-opacity))}.xl\:focus\:placeholder-blue-800:focus::-moz-placeholder{--placeholder-opacity:1;color:#1e429f;color:rgba(30,66,159,var(--placeholder-opacity))}.xl\:focus\:placeholder-blue-800:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#1e429f;color:rgba(30,66,159,var(--placeholder-opacity))}.xl\:focus\:placeholder-blue-800:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#1e429f;color:rgba(30,66,159,var(--placeholder-opacity))}.xl\:focus\:placeholder-blue-800:focus::placeholder{--placeholder-opacity:1;color:#1e429f;color:rgba(30,66,159,var(--placeholder-opacity))}.xl\:focus\:placeholder-blue-900:focus::-moz-placeholder{--placeholder-opacity:1;color:#233876;color:rgba(35,56,118,var(--placeholder-opacity))}.xl\:focus\:placeholder-blue-900:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#233876;color:rgba(35,56,118,var(--placeholder-opacity))}.xl\:focus\:placeholder-blue-900:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#233876;color:rgba(35,56,118,var(--placeholder-opacity))}.xl\:focus\:placeholder-blue-900:focus::placeholder{--placeholder-opacity:1;color:#233876;color:rgba(35,56,118,var(--placeholder-opacity))}.xl\:focus\:placeholder-indigo-50:focus::-moz-placeholder{--placeholder-opacity:1;color:#f0f5ff;color:rgba(240,245,255,var(--placeholder-opacity))}.xl\:focus\:placeholder-indigo-50:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#f0f5ff;color:rgba(240,245,255,var(--placeholder-opacity))}.xl\:focus\:placeholder-indigo-50:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#f0f5ff;color:rgba(240,245,255,var(--placeholder-opacity))}.xl\:focus\:placeholder-indigo-50:focus::placeholder{--placeholder-opacity:1;color:#f0f5ff;color:rgba(240,245,255,var(--placeholder-opacity))}.xl\:focus\:placeholder-indigo-100:focus::-moz-placeholder{--placeholder-opacity:1;color:#e5edff;color:rgba(229,237,255,var(--placeholder-opacity))}.xl\:focus\:placeholder-indigo-100:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#e5edff;color:rgba(229,237,255,var(--placeholder-opacity))}.xl\:focus\:placeholder-indigo-100:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#e5edff;color:rgba(229,237,255,var(--placeholder-opacity))}.xl\:focus\:placeholder-indigo-100:focus::placeholder{--placeholder-opacity:1;color:#e5edff;color:rgba(229,237,255,var(--placeholder-opacity))}.xl\:focus\:placeholder-indigo-200:focus::-moz-placeholder{--placeholder-opacity:1;color:#cddbfe;color:rgba(205,219,254,var(--placeholder-opacity))}.xl\:focus\:placeholder-indigo-200:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#cddbfe;color:rgba(205,219,254,var(--placeholder-opacity))}.xl\:focus\:placeholder-indigo-200:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#cddbfe;color:rgba(205,219,254,var(--placeholder-opacity))}.xl\:focus\:placeholder-indigo-200:focus::placeholder{--placeholder-opacity:1;color:#cddbfe;color:rgba(205,219,254,var(--placeholder-opacity))}.xl\:focus\:placeholder-indigo-300:focus::-moz-placeholder{--placeholder-opacity:1;color:#b4c6fc;color:rgba(180,198,252,var(--placeholder-opacity))}.xl\:focus\:placeholder-indigo-300:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#b4c6fc;color:rgba(180,198,252,var(--placeholder-opacity))}.xl\:focus\:placeholder-indigo-300:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#b4c6fc;color:rgba(180,198,252,var(--placeholder-opacity))}.xl\:focus\:placeholder-indigo-300:focus::placeholder{--placeholder-opacity:1;color:#b4c6fc;color:rgba(180,198,252,var(--placeholder-opacity))}.xl\:focus\:placeholder-indigo-400:focus::-moz-placeholder{--placeholder-opacity:1;color:#8da2fb;color:rgba(141,162,251,var(--placeholder-opacity))}.xl\:focus\:placeholder-indigo-400:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#8da2fb;color:rgba(141,162,251,var(--placeholder-opacity))}.xl\:focus\:placeholder-indigo-400:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#8da2fb;color:rgba(141,162,251,var(--placeholder-opacity))}.xl\:focus\:placeholder-indigo-400:focus::placeholder{--placeholder-opacity:1;color:#8da2fb;color:rgba(141,162,251,var(--placeholder-opacity))}.xl\:focus\:placeholder-indigo-500:focus::-moz-placeholder{--placeholder-opacity:1;color:#6875f5;color:rgba(104,117,245,var(--placeholder-opacity))}.xl\:focus\:placeholder-indigo-500:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#6875f5;color:rgba(104,117,245,var(--placeholder-opacity))}.xl\:focus\:placeholder-indigo-500:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#6875f5;color:rgba(104,117,245,var(--placeholder-opacity))}.xl\:focus\:placeholder-indigo-500:focus::placeholder{--placeholder-opacity:1;color:#6875f5;color:rgba(104,117,245,var(--placeholder-opacity))}.xl\:focus\:placeholder-indigo-600:focus::-moz-placeholder{--placeholder-opacity:1;color:#5850ec;color:rgba(88,80,236,var(--placeholder-opacity))}.xl\:focus\:placeholder-indigo-600:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#5850ec;color:rgba(88,80,236,var(--placeholder-opacity))}.xl\:focus\:placeholder-indigo-600:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#5850ec;color:rgba(88,80,236,var(--placeholder-opacity))}.xl\:focus\:placeholder-indigo-600:focus::placeholder{--placeholder-opacity:1;color:#5850ec;color:rgba(88,80,236,var(--placeholder-opacity))}.xl\:focus\:placeholder-indigo-700:focus::-moz-placeholder{--placeholder-opacity:1;color:#5145cd;color:rgba(81,69,205,var(--placeholder-opacity))}.xl\:focus\:placeholder-indigo-700:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#5145cd;color:rgba(81,69,205,var(--placeholder-opacity))}.xl\:focus\:placeholder-indigo-700:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#5145cd;color:rgba(81,69,205,var(--placeholder-opacity))}.xl\:focus\:placeholder-indigo-700:focus::placeholder{--placeholder-opacity:1;color:#5145cd;color:rgba(81,69,205,var(--placeholder-opacity))}.xl\:focus\:placeholder-indigo-800:focus::-moz-placeholder{--placeholder-opacity:1;color:#42389d;color:rgba(66,56,157,var(--placeholder-opacity))}.xl\:focus\:placeholder-indigo-800:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#42389d;color:rgba(66,56,157,var(--placeholder-opacity))}.xl\:focus\:placeholder-indigo-800:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#42389d;color:rgba(66,56,157,var(--placeholder-opacity))}.xl\:focus\:placeholder-indigo-800:focus::placeholder{--placeholder-opacity:1;color:#42389d;color:rgba(66,56,157,var(--placeholder-opacity))}.xl\:focus\:placeholder-indigo-900:focus::-moz-placeholder{--placeholder-opacity:1;color:#362f78;color:rgba(54,47,120,var(--placeholder-opacity))}.xl\:focus\:placeholder-indigo-900:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#362f78;color:rgba(54,47,120,var(--placeholder-opacity))}.xl\:focus\:placeholder-indigo-900:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#362f78;color:rgba(54,47,120,var(--placeholder-opacity))}.xl\:focus\:placeholder-indigo-900:focus::placeholder{--placeholder-opacity:1;color:#362f78;color:rgba(54,47,120,var(--placeholder-opacity))}.xl\:focus\:placeholder-purple-50:focus::-moz-placeholder{--placeholder-opacity:1;color:#f6f5ff;color:rgba(246,245,255,var(--placeholder-opacity))}.xl\:focus\:placeholder-purple-50:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#f6f5ff;color:rgba(246,245,255,var(--placeholder-opacity))}.xl\:focus\:placeholder-purple-50:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#f6f5ff;color:rgba(246,245,255,var(--placeholder-opacity))}.xl\:focus\:placeholder-purple-50:focus::placeholder{--placeholder-opacity:1;color:#f6f5ff;color:rgba(246,245,255,var(--placeholder-opacity))}.xl\:focus\:placeholder-purple-100:focus::-moz-placeholder{--placeholder-opacity:1;color:#edebfe;color:rgba(237,235,254,var(--placeholder-opacity))}.xl\:focus\:placeholder-purple-100:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#edebfe;color:rgba(237,235,254,var(--placeholder-opacity))}.xl\:focus\:placeholder-purple-100:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#edebfe;color:rgba(237,235,254,var(--placeholder-opacity))}.xl\:focus\:placeholder-purple-100:focus::placeholder{--placeholder-opacity:1;color:#edebfe;color:rgba(237,235,254,var(--placeholder-opacity))}.xl\:focus\:placeholder-purple-200:focus::-moz-placeholder{--placeholder-opacity:1;color:#dcd7fe;color:rgba(220,215,254,var(--placeholder-opacity))}.xl\:focus\:placeholder-purple-200:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#dcd7fe;color:rgba(220,215,254,var(--placeholder-opacity))}.xl\:focus\:placeholder-purple-200:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#dcd7fe;color:rgba(220,215,254,var(--placeholder-opacity))}.xl\:focus\:placeholder-purple-200:focus::placeholder{--placeholder-opacity:1;color:#dcd7fe;color:rgba(220,215,254,var(--placeholder-opacity))}.xl\:focus\:placeholder-purple-300:focus::-moz-placeholder{--placeholder-opacity:1;color:#cabffd;color:rgba(202,191,253,var(--placeholder-opacity))}.xl\:focus\:placeholder-purple-300:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#cabffd;color:rgba(202,191,253,var(--placeholder-opacity))}.xl\:focus\:placeholder-purple-300:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#cabffd;color:rgba(202,191,253,var(--placeholder-opacity))}.xl\:focus\:placeholder-purple-300:focus::placeholder{--placeholder-opacity:1;color:#cabffd;color:rgba(202,191,253,var(--placeholder-opacity))}.xl\:focus\:placeholder-purple-400:focus::-moz-placeholder{--placeholder-opacity:1;color:#ac94fa;color:rgba(172,148,250,var(--placeholder-opacity))}.xl\:focus\:placeholder-purple-400:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#ac94fa;color:rgba(172,148,250,var(--placeholder-opacity))}.xl\:focus\:placeholder-purple-400:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#ac94fa;color:rgba(172,148,250,var(--placeholder-opacity))}.xl\:focus\:placeholder-purple-400:focus::placeholder{--placeholder-opacity:1;color:#ac94fa;color:rgba(172,148,250,var(--placeholder-opacity))}.xl\:focus\:placeholder-purple-500:focus::-moz-placeholder{--placeholder-opacity:1;color:#9061f9;color:rgba(144,97,249,var(--placeholder-opacity))}.xl\:focus\:placeholder-purple-500:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#9061f9;color:rgba(144,97,249,var(--placeholder-opacity))}.xl\:focus\:placeholder-purple-500:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#9061f9;color:rgba(144,97,249,var(--placeholder-opacity))}.xl\:focus\:placeholder-purple-500:focus::placeholder{--placeholder-opacity:1;color:#9061f9;color:rgba(144,97,249,var(--placeholder-opacity))}.xl\:focus\:placeholder-purple-600:focus::-moz-placeholder{--placeholder-opacity:1;color:#7e3af2;color:rgba(126,58,242,var(--placeholder-opacity))}.xl\:focus\:placeholder-purple-600:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#7e3af2;color:rgba(126,58,242,var(--placeholder-opacity))}.xl\:focus\:placeholder-purple-600:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#7e3af2;color:rgba(126,58,242,var(--placeholder-opacity))}.xl\:focus\:placeholder-purple-600:focus::placeholder{--placeholder-opacity:1;color:#7e3af2;color:rgba(126,58,242,var(--placeholder-opacity))}.xl\:focus\:placeholder-purple-700:focus::-moz-placeholder{--placeholder-opacity:1;color:#6c2bd9;color:rgba(108,43,217,var(--placeholder-opacity))}.xl\:focus\:placeholder-purple-700:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#6c2bd9;color:rgba(108,43,217,var(--placeholder-opacity))}.xl\:focus\:placeholder-purple-700:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#6c2bd9;color:rgba(108,43,217,var(--placeholder-opacity))}.xl\:focus\:placeholder-purple-700:focus::placeholder{--placeholder-opacity:1;color:#6c2bd9;color:rgba(108,43,217,var(--placeholder-opacity))}.xl\:focus\:placeholder-purple-800:focus::-moz-placeholder{--placeholder-opacity:1;color:#5521b5;color:rgba(85,33,181,var(--placeholder-opacity))}.xl\:focus\:placeholder-purple-800:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#5521b5;color:rgba(85,33,181,var(--placeholder-opacity))}.xl\:focus\:placeholder-purple-800:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#5521b5;color:rgba(85,33,181,var(--placeholder-opacity))}.xl\:focus\:placeholder-purple-800:focus::placeholder{--placeholder-opacity:1;color:#5521b5;color:rgba(85,33,181,var(--placeholder-opacity))}.xl\:focus\:placeholder-purple-900:focus::-moz-placeholder{--placeholder-opacity:1;color:#4a1d96;color:rgba(74,29,150,var(--placeholder-opacity))}.xl\:focus\:placeholder-purple-900:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#4a1d96;color:rgba(74,29,150,var(--placeholder-opacity))}.xl\:focus\:placeholder-purple-900:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#4a1d96;color:rgba(74,29,150,var(--placeholder-opacity))}.xl\:focus\:placeholder-purple-900:focus::placeholder{--placeholder-opacity:1;color:#4a1d96;color:rgba(74,29,150,var(--placeholder-opacity))}.xl\:focus\:placeholder-pink-50:focus::-moz-placeholder{--placeholder-opacity:1;color:#fdf2f8;color:rgba(253,242,248,var(--placeholder-opacity))}.xl\:focus\:placeholder-pink-50:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#fdf2f8;color:rgba(253,242,248,var(--placeholder-opacity))}.xl\:focus\:placeholder-pink-50:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#fdf2f8;color:rgba(253,242,248,var(--placeholder-opacity))}.xl\:focus\:placeholder-pink-50:focus::placeholder{--placeholder-opacity:1;color:#fdf2f8;color:rgba(253,242,248,var(--placeholder-opacity))}.xl\:focus\:placeholder-pink-100:focus::-moz-placeholder{--placeholder-opacity:1;color:#fce8f3;color:rgba(252,232,243,var(--placeholder-opacity))}.xl\:focus\:placeholder-pink-100:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#fce8f3;color:rgba(252,232,243,var(--placeholder-opacity))}.xl\:focus\:placeholder-pink-100:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#fce8f3;color:rgba(252,232,243,var(--placeholder-opacity))}.xl\:focus\:placeholder-pink-100:focus::placeholder{--placeholder-opacity:1;color:#fce8f3;color:rgba(252,232,243,var(--placeholder-opacity))}.xl\:focus\:placeholder-pink-200:focus::-moz-placeholder{--placeholder-opacity:1;color:#fad1e8;color:rgba(250,209,232,var(--placeholder-opacity))}.xl\:focus\:placeholder-pink-200:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#fad1e8;color:rgba(250,209,232,var(--placeholder-opacity))}.xl\:focus\:placeholder-pink-200:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#fad1e8;color:rgba(250,209,232,var(--placeholder-opacity))}.xl\:focus\:placeholder-pink-200:focus::placeholder{--placeholder-opacity:1;color:#fad1e8;color:rgba(250,209,232,var(--placeholder-opacity))}.xl\:focus\:placeholder-pink-300:focus::-moz-placeholder{--placeholder-opacity:1;color:#f8b4d9;color:rgba(248,180,217,var(--placeholder-opacity))}.xl\:focus\:placeholder-pink-300:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#f8b4d9;color:rgba(248,180,217,var(--placeholder-opacity))}.xl\:focus\:placeholder-pink-300:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#f8b4d9;color:rgba(248,180,217,var(--placeholder-opacity))}.xl\:focus\:placeholder-pink-300:focus::placeholder{--placeholder-opacity:1;color:#f8b4d9;color:rgba(248,180,217,var(--placeholder-opacity))}.xl\:focus\:placeholder-pink-400:focus::-moz-placeholder{--placeholder-opacity:1;color:#f17eb8;color:rgba(241,126,184,var(--placeholder-opacity))}.xl\:focus\:placeholder-pink-400:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#f17eb8;color:rgba(241,126,184,var(--placeholder-opacity))}.xl\:focus\:placeholder-pink-400:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#f17eb8;color:rgba(241,126,184,var(--placeholder-opacity))}.xl\:focus\:placeholder-pink-400:focus::placeholder{--placeholder-opacity:1;color:#f17eb8;color:rgba(241,126,184,var(--placeholder-opacity))}.xl\:focus\:placeholder-pink-500:focus::-moz-placeholder{--placeholder-opacity:1;color:#e74694;color:rgba(231,70,148,var(--placeholder-opacity))}.xl\:focus\:placeholder-pink-500:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#e74694;color:rgba(231,70,148,var(--placeholder-opacity))}.xl\:focus\:placeholder-pink-500:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#e74694;color:rgba(231,70,148,var(--placeholder-opacity))}.xl\:focus\:placeholder-pink-500:focus::placeholder{--placeholder-opacity:1;color:#e74694;color:rgba(231,70,148,var(--placeholder-opacity))}.xl\:focus\:placeholder-pink-600:focus::-moz-placeholder{--placeholder-opacity:1;color:#d61f69;color:rgba(214,31,105,var(--placeholder-opacity))}.xl\:focus\:placeholder-pink-600:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#d61f69;color:rgba(214,31,105,var(--placeholder-opacity))}.xl\:focus\:placeholder-pink-600:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#d61f69;color:rgba(214,31,105,var(--placeholder-opacity))}.xl\:focus\:placeholder-pink-600:focus::placeholder{--placeholder-opacity:1;color:#d61f69;color:rgba(214,31,105,var(--placeholder-opacity))}.xl\:focus\:placeholder-pink-700:focus::-moz-placeholder{--placeholder-opacity:1;color:#bf125d;color:rgba(191,18,93,var(--placeholder-opacity))}.xl\:focus\:placeholder-pink-700:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#bf125d;color:rgba(191,18,93,var(--placeholder-opacity))}.xl\:focus\:placeholder-pink-700:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#bf125d;color:rgba(191,18,93,var(--placeholder-opacity))}.xl\:focus\:placeholder-pink-700:focus::placeholder{--placeholder-opacity:1;color:#bf125d;color:rgba(191,18,93,var(--placeholder-opacity))}.xl\:focus\:placeholder-pink-800:focus::-moz-placeholder{--placeholder-opacity:1;color:#99154b;color:rgba(153,21,75,var(--placeholder-opacity))}.xl\:focus\:placeholder-pink-800:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#99154b;color:rgba(153,21,75,var(--placeholder-opacity))}.xl\:focus\:placeholder-pink-800:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#99154b;color:rgba(153,21,75,var(--placeholder-opacity))}.xl\:focus\:placeholder-pink-800:focus::placeholder{--placeholder-opacity:1;color:#99154b;color:rgba(153,21,75,var(--placeholder-opacity))}.xl\:focus\:placeholder-pink-900:focus::-moz-placeholder{--placeholder-opacity:1;color:#751a3d;color:rgba(117,26,61,var(--placeholder-opacity))}.xl\:focus\:placeholder-pink-900:focus:-ms-input-placeholder{--placeholder-opacity:1;color:#751a3d;color:rgba(117,26,61,var(--placeholder-opacity))}.xl\:focus\:placeholder-pink-900:focus::-ms-input-placeholder{--placeholder-opacity:1;color:#751a3d;color:rgba(117,26,61,var(--placeholder-opacity))}.xl\:focus\:placeholder-pink-900:focus::placeholder{--placeholder-opacity:1;color:#751a3d;color:rgba(117,26,61,var(--placeholder-opacity))}.xl\:placeholder-opacity-0::-moz-placeholder{--placeholder-opacity:0}.xl\:placeholder-opacity-0:-ms-input-placeholder{--placeholder-opacity:0}.xl\:placeholder-opacity-0::-ms-input-placeholder{--placeholder-opacity:0}.xl\:placeholder-opacity-0::placeholder{--placeholder-opacity:0}.xl\:placeholder-opacity-25::-moz-placeholder{--placeholder-opacity:0.25}.xl\:placeholder-opacity-25:-ms-input-placeholder{--placeholder-opacity:0.25}.xl\:placeholder-opacity-25::-ms-input-placeholder{--placeholder-opacity:0.25}.xl\:placeholder-opacity-25::placeholder{--placeholder-opacity:0.25}.xl\:placeholder-opacity-50::-moz-placeholder{--placeholder-opacity:0.5}.xl\:placeholder-opacity-50:-ms-input-placeholder{--placeholder-opacity:0.5}.xl\:placeholder-opacity-50::-ms-input-placeholder{--placeholder-opacity:0.5}.xl\:placeholder-opacity-50::placeholder{--placeholder-opacity:0.5}.xl\:placeholder-opacity-75::-moz-placeholder{--placeholder-opacity:0.75}.xl\:placeholder-opacity-75:-ms-input-placeholder{--placeholder-opacity:0.75}.xl\:placeholder-opacity-75::-ms-input-placeholder{--placeholder-opacity:0.75}.xl\:placeholder-opacity-75::placeholder{--placeholder-opacity:0.75}.xl\:placeholder-opacity-100::-moz-placeholder{--placeholder-opacity:1}.xl\:placeholder-opacity-100:-ms-input-placeholder{--placeholder-opacity:1}.xl\:placeholder-opacity-100::-ms-input-placeholder{--placeholder-opacity:1}.xl\:placeholder-opacity-100::placeholder{--placeholder-opacity:1}.xl\:focus\:placeholder-opacity-0:focus::-moz-placeholder{--placeholder-opacity:0}.xl\:focus\:placeholder-opacity-0:focus:-ms-input-placeholder{--placeholder-opacity:0}.xl\:focus\:placeholder-opacity-0:focus::-ms-input-placeholder{--placeholder-opacity:0}.xl\:focus\:placeholder-opacity-0:focus::placeholder{--placeholder-opacity:0}.xl\:focus\:placeholder-opacity-25:focus::-moz-placeholder{--placeholder-opacity:0.25}.xl\:focus\:placeholder-opacity-25:focus:-ms-input-placeholder{--placeholder-opacity:0.25}.xl\:focus\:placeholder-opacity-25:focus::-ms-input-placeholder{--placeholder-opacity:0.25}.xl\:focus\:placeholder-opacity-25:focus::placeholder{--placeholder-opacity:0.25}.xl\:focus\:placeholder-opacity-50:focus::-moz-placeholder{--placeholder-opacity:0.5}.xl\:focus\:placeholder-opacity-50:focus:-ms-input-placeholder{--placeholder-opacity:0.5}.xl\:focus\:placeholder-opacity-50:focus::-ms-input-placeholder{--placeholder-opacity:0.5}.xl\:focus\:placeholder-opacity-50:focus::placeholder{--placeholder-opacity:0.5}.xl\:focus\:placeholder-opacity-75:focus::-moz-placeholder{--placeholder-opacity:0.75}.xl\:focus\:placeholder-opacity-75:focus:-ms-input-placeholder{--placeholder-opacity:0.75}.xl\:focus\:placeholder-opacity-75:focus::-ms-input-placeholder{--placeholder-opacity:0.75}.xl\:focus\:placeholder-opacity-75:focus::placeholder{--placeholder-opacity:0.75}.xl\:focus\:placeholder-opacity-100:focus::-moz-placeholder{--placeholder-opacity:1}.xl\:focus\:placeholder-opacity-100:focus:-ms-input-placeholder{--placeholder-opacity:1}.xl\:focus\:placeholder-opacity-100:focus::-ms-input-placeholder{--placeholder-opacity:1}.xl\:focus\:placeholder-opacity-100:focus::placeholder{--placeholder-opacity:1}.xl\:pointer-events-none{pointer-events:none}.xl\:pointer-events-auto{pointer-events:auto}.xl\:static{position:static}.xl\:fixed{position:fixed}.xl\:absolute{position:absolute}.xl\:relative{position:relative}.xl\:sticky{position:-webkit-sticky;position:sticky}.xl\:inset-0{top:0;right:0;bottom:0;left:0}.xl\:inset-1{top:.25rem;right:.25rem;bottom:.25rem;left:.25rem}.xl\:inset-2{top:.5rem;right:.5rem;bottom:.5rem;left:.5rem}.xl\:inset-3{top:.75rem;right:.75rem;bottom:.75rem;left:.75rem}.xl\:inset-4{top:1rem;right:1rem;bottom:1rem;left:1rem}.xl\:inset-5{top:1.25rem;right:1.25rem;bottom:1.25rem;left:1.25rem}.xl\:inset-6{top:1.5rem;right:1.5rem;bottom:1.5rem;left:1.5rem}.xl\:inset-7{top:1.75rem;right:1.75rem;bottom:1.75rem;left:1.75rem}.xl\:inset-8{top:2rem;right:2rem;bottom:2rem;left:2rem}.xl\:inset-9{top:2.25rem;right:2.25rem;bottom:2.25rem;left:2.25rem}.xl\:inset-10{top:2.5rem;right:2.5rem;bottom:2.5rem;left:2.5rem}.xl\:inset-11{top:2.75rem;right:2.75rem;bottom:2.75rem;left:2.75rem}.xl\:inset-12{top:3rem;right:3rem;bottom:3rem;left:3rem}.xl\:inset-13{top:3.25rem;right:3.25rem;bottom:3.25rem;left:3.25rem}.xl\:inset-14{top:3.5rem;right:3.5rem;bottom:3.5rem;left:3.5rem}.xl\:inset-15{top:3.75rem;right:3.75rem;bottom:3.75rem;left:3.75rem}.xl\:inset-16{top:4rem;right:4rem;bottom:4rem;left:4rem}.xl\:inset-20{top:5rem;right:5rem;bottom:5rem;left:5rem}.xl\:inset-24{top:6rem;right:6rem;bottom:6rem;left:6rem}.xl\:inset-28{top:7rem;right:7rem;bottom:7rem;left:7rem}.xl\:inset-32{top:8rem;right:8rem;bottom:8rem;left:8rem}.xl\:inset-36{top:9rem;right:9rem;bottom:9rem;left:9rem}.xl\:inset-40{top:10rem;right:10rem;bottom:10rem;left:10rem}.xl\:inset-44{top:11rem;right:11rem;bottom:11rem;left:11rem}.xl\:inset-48{top:12rem;right:12rem;bottom:12rem;left:12rem}.xl\:inset-52{top:13rem;right:13rem;bottom:13rem;left:13rem}.xl\:inset-56{top:14rem;right:14rem;bottom:14rem;left:14rem}.xl\:inset-60{top:15rem;right:15rem;bottom:15rem;left:15rem}.xl\:inset-64{top:16rem;right:16rem;bottom:16rem;left:16rem}.xl\:inset-72{top:18rem;right:18rem;bottom:18rem;left:18rem}.xl\:inset-80{top:20rem;right:20rem;bottom:20rem;left:20rem}.xl\:inset-96{top:24rem;right:24rem;bottom:24rem;left:24rem}.xl\:inset-auto{top:auto;right:auto;bottom:auto;left:auto}.xl\:inset-px{top:1px;right:1px;bottom:1px;left:1px}.xl\:inset-0\.5{top:.125rem;right:.125rem;bottom:.125rem;left:.125rem}.xl\:inset-1\.5{top:.375rem;right:.375rem;bottom:.375rem;left:.375rem}.xl\:inset-2\.5{top:.625rem;right:.625rem;bottom:.625rem;left:.625rem}.xl\:inset-3\.5{top:.875rem;right:.875rem;bottom:.875rem;left:.875rem}.xl\:inset-1\/2{top:50%;right:50%;bottom:50%;left:50%}.xl\:inset-1\/3{top:33.333333%;right:33.333333%;bottom:33.333333%;left:33.333333%}.xl\:inset-2\/3{top:66.666667%;right:66.666667%;bottom:66.666667%;left:66.666667%}.xl\:inset-1\/4{top:25%;right:25%;bottom:25%;left:25%}.xl\:inset-2\/4{top:50%;right:50%;bottom:50%;left:50%}.xl\:inset-3\/4{top:75%;right:75%;bottom:75%;left:75%}.xl\:inset-1\/5{top:20%;right:20%;bottom:20%;left:20%}.xl\:inset-2\/5{top:40%;right:40%;bottom:40%;left:40%}.xl\:inset-3\/5{top:60%;right:60%;bottom:60%;left:60%}.xl\:inset-4\/5{top:80%;right:80%;bottom:80%;left:80%}.xl\:inset-1\/6{top:16.666667%;right:16.666667%;bottom:16.666667%;left:16.666667%}.xl\:inset-2\/6{top:33.333333%;right:33.333333%;bottom:33.333333%;left:33.333333%}.xl\:inset-3\/6{top:50%;right:50%;bottom:50%;left:50%}.xl\:inset-4\/6{top:66.666667%;right:66.666667%;bottom:66.666667%;left:66.666667%}.xl\:inset-5\/6{top:83.333333%;right:83.333333%;bottom:83.333333%;left:83.333333%}.xl\:inset-1\/12{top:8.333333%;right:8.333333%;bottom:8.333333%;left:8.333333%}.xl\:inset-2\/12{top:16.666667%;right:16.666667%;bottom:16.666667%;left:16.666667%}.xl\:inset-3\/12{top:25%;right:25%;bottom:25%;left:25%}.xl\:inset-4\/12{top:33.333333%;right:33.333333%;bottom:33.333333%;left:33.333333%}.xl\:inset-5\/12{top:41.666667%;right:41.666667%;bottom:41.666667%;left:41.666667%}.xl\:inset-6\/12{top:50%;right:50%;bottom:50%;left:50%}.xl\:inset-7\/12{top:58.333333%;right:58.333333%;bottom:58.333333%;left:58.333333%}.xl\:inset-8\/12{top:66.666667%;right:66.666667%;bottom:66.666667%;left:66.666667%}.xl\:inset-9\/12{top:75%;right:75%;bottom:75%;left:75%}.xl\:inset-10\/12{top:83.333333%;right:83.333333%;bottom:83.333333%;left:83.333333%}.xl\:inset-11\/12{top:91.666667%;right:91.666667%;bottom:91.666667%;left:91.666667%}.xl\:inset-full{top:100%;right:100%;bottom:100%;left:100%}.xl\:inset-y-0{top:0;bottom:0}.xl\:inset-x-0{right:0;left:0}.xl\:inset-y-1{top:.25rem;bottom:.25rem}.xl\:inset-x-1{right:.25rem;left:.25rem}.xl\:inset-y-2{top:.5rem;bottom:.5rem}.xl\:inset-x-2{right:.5rem;left:.5rem}.xl\:inset-y-3{top:.75rem;bottom:.75rem}.xl\:inset-x-3{right:.75rem;left:.75rem}.xl\:inset-y-4{top:1rem;bottom:1rem}.xl\:inset-x-4{right:1rem;left:1rem}.xl\:inset-y-5{top:1.25rem;bottom:1.25rem}.xl\:inset-x-5{right:1.25rem;left:1.25rem}.xl\:inset-y-6{top:1.5rem;bottom:1.5rem}.xl\:inset-x-6{right:1.5rem;left:1.5rem}.xl\:inset-y-7{top:1.75rem;bottom:1.75rem}.xl\:inset-x-7{right:1.75rem;left:1.75rem}.xl\:inset-y-8{top:2rem;bottom:2rem}.xl\:inset-x-8{right:2rem;left:2rem}.xl\:inset-y-9{top:2.25rem;bottom:2.25rem}.xl\:inset-x-9{right:2.25rem;left:2.25rem}.xl\:inset-y-10{top:2.5rem;bottom:2.5rem}.xl\:inset-x-10{right:2.5rem;left:2.5rem}.xl\:inset-y-11{top:2.75rem;bottom:2.75rem}.xl\:inset-x-11{right:2.75rem;left:2.75rem}.xl\:inset-y-12{top:3rem;bottom:3rem}.xl\:inset-x-12{right:3rem;left:3rem}.xl\:inset-y-13{top:3.25rem;bottom:3.25rem}.xl\:inset-x-13{right:3.25rem;left:3.25rem}.xl\:inset-y-14{top:3.5rem;bottom:3.5rem}.xl\:inset-x-14{right:3.5rem;left:3.5rem}.xl\:inset-y-15{top:3.75rem;bottom:3.75rem}.xl\:inset-x-15{right:3.75rem;left:3.75rem}.xl\:inset-y-16{top:4rem;bottom:4rem}.xl\:inset-x-16{right:4rem;left:4rem}.xl\:inset-y-20{top:5rem;bottom:5rem}.xl\:inset-x-20{right:5rem;left:5rem}.xl\:inset-y-24{top:6rem;bottom:6rem}.xl\:inset-x-24{right:6rem;left:6rem}.xl\:inset-y-28{top:7rem;bottom:7rem}.xl\:inset-x-28{right:7rem;left:7rem}.xl\:inset-y-32{top:8rem;bottom:8rem}.xl\:inset-x-32{right:8rem;left:8rem}.xl\:inset-y-36{top:9rem;bottom:9rem}.xl\:inset-x-36{right:9rem;left:9rem}.xl\:inset-y-40{top:10rem;bottom:10rem}.xl\:inset-x-40{right:10rem;left:10rem}.xl\:inset-y-44{top:11rem;bottom:11rem}.xl\:inset-x-44{right:11rem;left:11rem}.xl\:inset-y-48{top:12rem;bottom:12rem}.xl\:inset-x-48{right:12rem;left:12rem}.xl\:inset-y-52{top:13rem;bottom:13rem}.xl\:inset-x-52{right:13rem;left:13rem}.xl\:inset-y-56{top:14rem;bottom:14rem}.xl\:inset-x-56{right:14rem;left:14rem}.xl\:inset-y-60{top:15rem;bottom:15rem}.xl\:inset-x-60{right:15rem;left:15rem}.xl\:inset-y-64{top:16rem;bottom:16rem}.xl\:inset-x-64{right:16rem;left:16rem}.xl\:inset-y-72{top:18rem;bottom:18rem}.xl\:inset-x-72{right:18rem;left:18rem}.xl\:inset-y-80{top:20rem;bottom:20rem}.xl\:inset-x-80{right:20rem;left:20rem}.xl\:inset-y-96{top:24rem;bottom:24rem}.xl\:inset-x-96{right:24rem;left:24rem}.xl\:inset-y-auto{top:auto;bottom:auto}.xl\:inset-x-auto{right:auto;left:auto}.xl\:inset-y-px{top:1px;bottom:1px}.xl\:inset-x-px{right:1px;left:1px}.xl\:inset-y-0\.5{top:.125rem;bottom:.125rem}.xl\:inset-x-0\.5{right:.125rem;left:.125rem}.xl\:inset-y-1\.5{top:.375rem;bottom:.375rem}.xl\:inset-x-1\.5{right:.375rem;left:.375rem}.xl\:inset-y-2\.5{top:.625rem;bottom:.625rem}.xl\:inset-x-2\.5{right:.625rem;left:.625rem}.xl\:inset-y-3\.5{top:.875rem;bottom:.875rem}.xl\:inset-x-3\.5{right:.875rem;left:.875rem}.xl\:inset-y-1\/2{top:50%;bottom:50%}.xl\:inset-x-1\/2{right:50%;left:50%}.xl\:inset-y-1\/3{top:33.333333%;bottom:33.333333%}.xl\:inset-x-1\/3{right:33.333333%;left:33.333333%}.xl\:inset-y-2\/3{top:66.666667%;bottom:66.666667%}.xl\:inset-x-2\/3{right:66.666667%;left:66.666667%}.xl\:inset-y-1\/4{top:25%;bottom:25%}.xl\:inset-x-1\/4{right:25%;left:25%}.xl\:inset-y-2\/4{top:50%;bottom:50%}.xl\:inset-x-2\/4{right:50%;left:50%}.xl\:inset-y-3\/4{top:75%;bottom:75%}.xl\:inset-x-3\/4{right:75%;left:75%}.xl\:inset-y-1\/5{top:20%;bottom:20%}.xl\:inset-x-1\/5{right:20%;left:20%}.xl\:inset-y-2\/5{top:40%;bottom:40%}.xl\:inset-x-2\/5{right:40%;left:40%}.xl\:inset-y-3\/5{top:60%;bottom:60%}.xl\:inset-x-3\/5{right:60%;left:60%}.xl\:inset-y-4\/5{top:80%;bottom:80%}.xl\:inset-x-4\/5{right:80%;left:80%}.xl\:inset-y-1\/6{top:16.666667%;bottom:16.666667%}.xl\:inset-x-1\/6{right:16.666667%;left:16.666667%}.xl\:inset-y-2\/6{top:33.333333%;bottom:33.333333%}.xl\:inset-x-2\/6{right:33.333333%;left:33.333333%}.xl\:inset-y-3\/6{top:50%;bottom:50%}.xl\:inset-x-3\/6{right:50%;left:50%}.xl\:inset-y-4\/6{top:66.666667%;bottom:66.666667%}.xl\:inset-x-4\/6{right:66.666667%;left:66.666667%}.xl\:inset-y-5\/6{top:83.333333%;bottom:83.333333%}.xl\:inset-x-5\/6{right:83.333333%;left:83.333333%}.xl\:inset-y-1\/12{top:8.333333%;bottom:8.333333%}.xl\:inset-x-1\/12{right:8.333333%;left:8.333333%}.xl\:inset-y-2\/12{top:16.666667%;bottom:16.666667%}.xl\:inset-x-2\/12{right:16.666667%;left:16.666667%}.xl\:inset-y-3\/12{top:25%;bottom:25%}.xl\:inset-x-3\/12{right:25%;left:25%}.xl\:inset-y-4\/12{top:33.333333%;bottom:33.333333%}.xl\:inset-x-4\/12{right:33.333333%;left:33.333333%}.xl\:inset-y-5\/12{top:41.666667%;bottom:41.666667%}.xl\:inset-x-5\/12{right:41.666667%;left:41.666667%}.xl\:inset-y-6\/12{top:50%;bottom:50%}.xl\:inset-x-6\/12{right:50%;left:50%}.xl\:inset-y-7\/12{top:58.333333%;bottom:58.333333%}.xl\:inset-x-7\/12{right:58.333333%;left:58.333333%}.xl\:inset-y-8\/12{top:66.666667%;bottom:66.666667%}.xl\:inset-x-8\/12{right:66.666667%;left:66.666667%}.xl\:inset-y-9\/12{top:75%;bottom:75%}.xl\:inset-x-9\/12{right:75%;left:75%}.xl\:inset-y-10\/12{top:83.333333%;bottom:83.333333%}.xl\:inset-x-10\/12{right:83.333333%;left:83.333333%}.xl\:inset-y-11\/12{top:91.666667%;bottom:91.666667%}.xl\:inset-x-11\/12{right:91.666667%;left:91.666667%}.xl\:inset-y-full{top:100%;bottom:100%}.xl\:inset-x-full{right:100%;left:100%}.xl\:top-0{top:0}.xl\:right-0{right:0}.xl\:bottom-0{bottom:0}.xl\:left-0{left:0}.xl\:top-1{top:.25rem}.xl\:right-1{right:.25rem}.xl\:bottom-1{bottom:.25rem}.xl\:left-1{left:.25rem}.xl\:top-2{top:.5rem}.xl\:right-2{right:.5rem}.xl\:bottom-2{bottom:.5rem}.xl\:left-2{left:.5rem}.xl\:top-3{top:.75rem}.xl\:right-3{right:.75rem}.xl\:bottom-3{bottom:.75rem}.xl\:left-3{left:.75rem}.xl\:top-4{top:1rem}.xl\:right-4{right:1rem}.xl\:bottom-4{bottom:1rem}.xl\:left-4{left:1rem}.xl\:top-5{top:1.25rem}.xl\:right-5{right:1.25rem}.xl\:bottom-5{bottom:1.25rem}.xl\:left-5{left:1.25rem}.xl\:top-6{top:1.5rem}.xl\:right-6{right:1.5rem}.xl\:bottom-6{bottom:1.5rem}.xl\:left-6{left:1.5rem}.xl\:top-7{top:1.75rem}.xl\:right-7{right:1.75rem}.xl\:bottom-7{bottom:1.75rem}.xl\:left-7{left:1.75rem}.xl\:top-8{top:2rem}.xl\:right-8{right:2rem}.xl\:bottom-8{bottom:2rem}.xl\:left-8{left:2rem}.xl\:top-9{top:2.25rem}.xl\:right-9{right:2.25rem}.xl\:bottom-9{bottom:2.25rem}.xl\:left-9{left:2.25rem}.xl\:top-10{top:2.5rem}.xl\:right-10{right:2.5rem}.xl\:bottom-10{bottom:2.5rem}.xl\:left-10{left:2.5rem}.xl\:top-11{top:2.75rem}.xl\:right-11{right:2.75rem}.xl\:bottom-11{bottom:2.75rem}.xl\:left-11{left:2.75rem}.xl\:top-12{top:3rem}.xl\:right-12{right:3rem}.xl\:bottom-12{bottom:3rem}.xl\:left-12{left:3rem}.xl\:top-13{top:3.25rem}.xl\:right-13{right:3.25rem}.xl\:bottom-13{bottom:3.25rem}.xl\:left-13{left:3.25rem}.xl\:top-14{top:3.5rem}.xl\:right-14{right:3.5rem}.xl\:bottom-14{bottom:3.5rem}.xl\:left-14{left:3.5rem}.xl\:top-15{top:3.75rem}.xl\:right-15{right:3.75rem}.xl\:bottom-15{bottom:3.75rem}.xl\:left-15{left:3.75rem}.xl\:top-16{top:4rem}.xl\:right-16{right:4rem}.xl\:bottom-16{bottom:4rem}.xl\:left-16{left:4rem}.xl\:top-20{top:5rem}.xl\:right-20{right:5rem}.xl\:bottom-20{bottom:5rem}.xl\:left-20{left:5rem}.xl\:top-24{top:6rem}.xl\:right-24{right:6rem}.xl\:bottom-24{bottom:6rem}.xl\:left-24{left:6rem}.xl\:top-28{top:7rem}.xl\:right-28{right:7rem}.xl\:bottom-28{bottom:7rem}.xl\:left-28{left:7rem}.xl\:top-32{top:8rem}.xl\:right-32{right:8rem}.xl\:bottom-32{bottom:8rem}.xl\:left-32{left:8rem}.xl\:top-36{top:9rem}.xl\:right-36{right:9rem}.xl\:bottom-36{bottom:9rem}.xl\:left-36{left:9rem}.xl\:top-40{top:10rem}.xl\:right-40{right:10rem}.xl\:bottom-40{bottom:10rem}.xl\:left-40{left:10rem}.xl\:top-44{top:11rem}.xl\:right-44{right:11rem}.xl\:bottom-44{bottom:11rem}.xl\:left-44{left:11rem}.xl\:top-48{top:12rem}.xl\:right-48{right:12rem}.xl\:bottom-48{bottom:12rem}.xl\:left-48{left:12rem}.xl\:top-52{top:13rem}.xl\:right-52{right:13rem}.xl\:bottom-52{bottom:13rem}.xl\:left-52{left:13rem}.xl\:top-56{top:14rem}.xl\:right-56{right:14rem}.xl\:bottom-56{bottom:14rem}.xl\:left-56{left:14rem}.xl\:top-60{top:15rem}.xl\:right-60{right:15rem}.xl\:bottom-60{bottom:15rem}.xl\:left-60{left:15rem}.xl\:top-64{top:16rem}.xl\:right-64{right:16rem}.xl\:bottom-64{bottom:16rem}.xl\:left-64{left:16rem}.xl\:top-72{top:18rem}.xl\:right-72{right:18rem}.xl\:bottom-72{bottom:18rem}.xl\:left-72{left:18rem}.xl\:top-80{top:20rem}.xl\:right-80{right:20rem}.xl\:bottom-80{bottom:20rem}.xl\:left-80{left:20rem}.xl\:top-96{top:24rem}.xl\:right-96{right:24rem}.xl\:bottom-96{bottom:24rem}.xl\:left-96{left:24rem}.xl\:top-auto{top:auto}.xl\:right-auto{right:auto}.xl\:bottom-auto{bottom:auto}.xl\:left-auto{left:auto}.xl\:top-px{top:1px}.xl\:right-px{right:1px}.xl\:bottom-px{bottom:1px}.xl\:left-px{left:1px}.xl\:top-0\.5{top:.125rem}.xl\:right-0\.5{right:.125rem}.xl\:bottom-0\.5{bottom:.125rem}.xl\:left-0\.5{left:.125rem}.xl\:top-1\.5{top:.375rem}.xl\:right-1\.5{right:.375rem}.xl\:bottom-1\.5{bottom:.375rem}.xl\:left-1\.5{left:.375rem}.xl\:top-2\.5{top:.625rem}.xl\:right-2\.5{right:.625rem}.xl\:bottom-2\.5{bottom:.625rem}.xl\:left-2\.5{left:.625rem}.xl\:top-3\.5{top:.875rem}.xl\:right-3\.5{right:.875rem}.xl\:bottom-3\.5{bottom:.875rem}.xl\:left-3\.5{left:.875rem}.xl\:top-1\/2{top:50%}.xl\:right-1\/2{right:50%}.xl\:bottom-1\/2{bottom:50%}.xl\:left-1\/2{left:50%}.xl\:top-1\/3{top:33.333333%}.xl\:right-1\/3{right:33.333333%}.xl\:bottom-1\/3{bottom:33.333333%}.xl\:left-1\/3{left:33.333333%}.xl\:top-2\/3{top:66.666667%}.xl\:right-2\/3{right:66.666667%}.xl\:bottom-2\/3{bottom:66.666667%}.xl\:left-2\/3{left:66.666667%}.xl\:top-1\/4{top:25%}.xl\:right-1\/4{right:25%}.xl\:bottom-1\/4{bottom:25%}.xl\:left-1\/4{left:25%}.xl\:top-2\/4{top:50%}.xl\:right-2\/4{right:50%}.xl\:bottom-2\/4{bottom:50%}.xl\:left-2\/4{left:50%}.xl\:top-3\/4{top:75%}.xl\:right-3\/4{right:75%}.xl\:bottom-3\/4{bottom:75%}.xl\:left-3\/4{left:75%}.xl\:top-1\/5{top:20%}.xl\:right-1\/5{right:20%}.xl\:bottom-1\/5{bottom:20%}.xl\:left-1\/5{left:20%}.xl\:top-2\/5{top:40%}.xl\:right-2\/5{right:40%}.xl\:bottom-2\/5{bottom:40%}.xl\:left-2\/5{left:40%}.xl\:top-3\/5{top:60%}.xl\:right-3\/5{right:60%}.xl\:bottom-3\/5{bottom:60%}.xl\:left-3\/5{left:60%}.xl\:top-4\/5{top:80%}.xl\:right-4\/5{right:80%}.xl\:bottom-4\/5{bottom:80%}.xl\:left-4\/5{left:80%}.xl\:top-1\/6{top:16.666667%}.xl\:right-1\/6{right:16.666667%}.xl\:bottom-1\/6{bottom:16.666667%}.xl\:left-1\/6{left:16.666667%}.xl\:top-2\/6{top:33.333333%}.xl\:right-2\/6{right:33.333333%}.xl\:bottom-2\/6{bottom:33.333333%}.xl\:left-2\/6{left:33.333333%}.xl\:top-3\/6{top:50%}.xl\:right-3\/6{right:50%}.xl\:bottom-3\/6{bottom:50%}.xl\:left-3\/6{left:50%}.xl\:top-4\/6{top:66.666667%}.xl\:right-4\/6{right:66.666667%}.xl\:bottom-4\/6{bottom:66.666667%}.xl\:left-4\/6{left:66.666667%}.xl\:top-5\/6{top:83.333333%}.xl\:right-5\/6{right:83.333333%}.xl\:bottom-5\/6{bottom:83.333333%}.xl\:left-5\/6{left:83.333333%}.xl\:top-1\/12{top:8.333333%}.xl\:right-1\/12{right:8.333333%}.xl\:bottom-1\/12{bottom:8.333333%}.xl\:left-1\/12{left:8.333333%}.xl\:top-2\/12{top:16.666667%}.xl\:right-2\/12{right:16.666667%}.xl\:bottom-2\/12{bottom:16.666667%}.xl\:left-2\/12{left:16.666667%}.xl\:top-3\/12{top:25%}.xl\:right-3\/12{right:25%}.xl\:bottom-3\/12{bottom:25%}.xl\:left-3\/12{left:25%}.xl\:top-4\/12{top:33.333333%}.xl\:right-4\/12{right:33.333333%}.xl\:bottom-4\/12{bottom:33.333333%}.xl\:left-4\/12{left:33.333333%}.xl\:top-5\/12{top:41.666667%}.xl\:right-5\/12{right:41.666667%}.xl\:bottom-5\/12{bottom:41.666667%}.xl\:left-5\/12{left:41.666667%}.xl\:top-6\/12{top:50%}.xl\:right-6\/12{right:50%}.xl\:bottom-6\/12{bottom:50%}.xl\:left-6\/12{left:50%}.xl\:top-7\/12{top:58.333333%}.xl\:right-7\/12{right:58.333333%}.xl\:bottom-7\/12{bottom:58.333333%}.xl\:left-7\/12{left:58.333333%}.xl\:top-8\/12{top:66.666667%}.xl\:right-8\/12{right:66.666667%}.xl\:bottom-8\/12{bottom:66.666667%}.xl\:left-8\/12{left:66.666667%}.xl\:top-9\/12{top:75%}.xl\:right-9\/12{right:75%}.xl\:bottom-9\/12{bottom:75%}.xl\:left-9\/12{left:75%}.xl\:top-10\/12{top:83.333333%}.xl\:right-10\/12{right:83.333333%}.xl\:bottom-10\/12{bottom:83.333333%}.xl\:left-10\/12{left:83.333333%}.xl\:top-11\/12{top:91.666667%}.xl\:right-11\/12{right:91.666667%}.xl\:bottom-11\/12{bottom:91.666667%}.xl\:left-11\/12{left:91.666667%}.xl\:top-full{top:100%}.xl\:right-full{right:100%}.xl\:bottom-full{bottom:100%}.xl\:left-full{left:100%}.xl\:resize-none{resize:none}.xl\:resize-y{resize:vertical}.xl\:resize-x{resize:horizontal}.xl\:resize{resize:both}.xl\:shadow-xs{box-shadow:0 0 0 1px rgba(0,0,0,.05)}.xl\:shadow-sm{box-shadow:0 1px 2px 0 rgba(0,0,0,.05)}.xl\:shadow{box-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px 0 rgba(0,0,0,.06)}.xl\:shadow-md{box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06)}.xl\:shadow-lg{box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05)}.xl\:shadow-xl{box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04)}.xl\:shadow-2xl{box-shadow:0 25px 50px -12px rgba(0,0,0,.25)}.xl\:shadow-inner{box-shadow:inset 0 2px 4px 0 rgba(0,0,0,.06)}.xl\:shadow-outline{box-shadow:0 0 0 3px rgba(118,169,250,.45)}.xl\:shadow-none{box-shadow:none}.xl\:shadow-solid{box-shadow:0 0 0 2px currentColor}.xl\:shadow-outline-gray{box-shadow:0 0 0 3px rgba(159,166,178,.45)}.xl\:shadow-outline-blue{box-shadow:0 0 0 3px rgba(164,202,254,.45)}.xl\:shadow-outline-teal{box-shadow:0 0 0 3px rgba(126,220,226,.45)}.xl\:shadow-outline-green{box-shadow:0 0 0 3px rgba(132,225,188,.45)}.xl\:shadow-outline-yellow{box-shadow:0 0 0 3px rgba(250,202,21,.45)}.xl\:shadow-outline-orange{box-shadow:0 0 0 3px rgba(253,186,140,.45)}.xl\:shadow-outline-red{box-shadow:0 0 0 3px rgba(248,180,180,.45)}.xl\:shadow-outline-pink{box-shadow:0 0 0 3px rgba(248,180,217,.45)}.xl\:shadow-outline-purple{box-shadow:0 0 0 3px rgba(202,191,253,.45)}.xl\:shadow-outline-indigo{box-shadow:0 0 0 3px rgba(180,198,252,.45)}.group:focus .xl\:group-focus\:shadow-xs{box-shadow:0 0 0 1px rgba(0,0,0,.05)}.group:focus .xl\:group-focus\:shadow-sm{box-shadow:0 1px 2px 0 rgba(0,0,0,.05)}.group:focus .xl\:group-focus\:shadow{box-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px 0 rgba(0,0,0,.06)}.group:focus .xl\:group-focus\:shadow-md{box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06)}.group:focus .xl\:group-focus\:shadow-lg{box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05)}.group:focus .xl\:group-focus\:shadow-xl{box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04)}.group:focus .xl\:group-focus\:shadow-2xl{box-shadow:0 25px 50px -12px rgba(0,0,0,.25)}.group:focus .xl\:group-focus\:shadow-inner{box-shadow:inset 0 2px 4px 0 rgba(0,0,0,.06)}.group:focus .xl\:group-focus\:shadow-outline{box-shadow:0 0 0 3px rgba(118,169,250,.45)}.group:focus .xl\:group-focus\:shadow-none{box-shadow:none}.group:focus .xl\:group-focus\:shadow-solid{box-shadow:0 0 0 2px currentColor}.group:focus .xl\:group-focus\:shadow-outline-gray{box-shadow:0 0 0 3px rgba(159,166,178,.45)}.group:focus .xl\:group-focus\:shadow-outline-blue{box-shadow:0 0 0 3px rgba(164,202,254,.45)}.group:focus .xl\:group-focus\:shadow-outline-teal{box-shadow:0 0 0 3px rgba(126,220,226,.45)}.group:focus .xl\:group-focus\:shadow-outline-green{box-shadow:0 0 0 3px rgba(132,225,188,.45)}.group:focus .xl\:group-focus\:shadow-outline-yellow{box-shadow:0 0 0 3px rgba(250,202,21,.45)}.group:focus .xl\:group-focus\:shadow-outline-orange{box-shadow:0 0 0 3px rgba(253,186,140,.45)}.group:focus .xl\:group-focus\:shadow-outline-red{box-shadow:0 0 0 3px rgba(248,180,180,.45)}.group:focus .xl\:group-focus\:shadow-outline-pink{box-shadow:0 0 0 3px rgba(248,180,217,.45)}.group:focus .xl\:group-focus\:shadow-outline-purple{box-shadow:0 0 0 3px rgba(202,191,253,.45)}.group:focus .xl\:group-focus\:shadow-outline-indigo{box-shadow:0 0 0 3px rgba(180,198,252,.45)}.xl\:hover\:shadow-xs:hover{box-shadow:0 0 0 1px rgba(0,0,0,.05)}.xl\:hover\:shadow-sm:hover{box-shadow:0 1px 2px 0 rgba(0,0,0,.05)}.xl\:hover\:shadow:hover{box-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px 0 rgba(0,0,0,.06)}.xl\:hover\:shadow-md:hover{box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06)}.xl\:hover\:shadow-lg:hover{box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05)}.xl\:hover\:shadow-xl:hover{box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04)}.xl\:hover\:shadow-2xl:hover{box-shadow:0 25px 50px -12px rgba(0,0,0,.25)}.xl\:hover\:shadow-inner:hover{box-shadow:inset 0 2px 4px 0 rgba(0,0,0,.06)}.xl\:hover\:shadow-outline:hover{box-shadow:0 0 0 3px rgba(118,169,250,.45)}.xl\:hover\:shadow-none:hover{box-shadow:none}.xl\:hover\:shadow-solid:hover{box-shadow:0 0 0 2px currentColor}.xl\:hover\:shadow-outline-gray:hover{box-shadow:0 0 0 3px rgba(159,166,178,.45)}.xl\:hover\:shadow-outline-blue:hover{box-shadow:0 0 0 3px rgba(164,202,254,.45)}.xl\:hover\:shadow-outline-teal:hover{box-shadow:0 0 0 3px rgba(126,220,226,.45)}.xl\:hover\:shadow-outline-green:hover{box-shadow:0 0 0 3px rgba(132,225,188,.45)}.xl\:hover\:shadow-outline-yellow:hover{box-shadow:0 0 0 3px rgba(250,202,21,.45)}.xl\:hover\:shadow-outline-orange:hover{box-shadow:0 0 0 3px rgba(253,186,140,.45)}.xl\:hover\:shadow-outline-red:hover{box-shadow:0 0 0 3px rgba(248,180,180,.45)}.xl\:hover\:shadow-outline-pink:hover{box-shadow:0 0 0 3px rgba(248,180,217,.45)}.xl\:hover\:shadow-outline-purple:hover{box-shadow:0 0 0 3px rgba(202,191,253,.45)}.xl\:hover\:shadow-outline-indigo:hover{box-shadow:0 0 0 3px rgba(180,198,252,.45)}.xl\:focus\:shadow-xs:focus{box-shadow:0 0 0 1px rgba(0,0,0,.05)}.xl\:focus\:shadow-sm:focus{box-shadow:0 1px 2px 0 rgba(0,0,0,.05)}.xl\:focus\:shadow:focus{box-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px 0 rgba(0,0,0,.06)}.xl\:focus\:shadow-md:focus{box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06)}.xl\:focus\:shadow-lg:focus{box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05)}.xl\:focus\:shadow-xl:focus{box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04)}.xl\:focus\:shadow-2xl:focus{box-shadow:0 25px 50px -12px rgba(0,0,0,.25)}.xl\:focus\:shadow-inner:focus{box-shadow:inset 0 2px 4px 0 rgba(0,0,0,.06)}.xl\:focus\:shadow-outline:focus{box-shadow:0 0 0 3px rgba(118,169,250,.45)}.xl\:focus\:shadow-none:focus{box-shadow:none}.xl\:focus\:shadow-solid:focus{box-shadow:0 0 0 2px currentColor}.xl\:focus\:shadow-outline-gray:focus{box-shadow:0 0 0 3px rgba(159,166,178,.45)}.xl\:focus\:shadow-outline-blue:focus{box-shadow:0 0 0 3px rgba(164,202,254,.45)}.xl\:focus\:shadow-outline-teal:focus{box-shadow:0 0 0 3px rgba(126,220,226,.45)}.xl\:focus\:shadow-outline-green:focus{box-shadow:0 0 0 3px rgba(132,225,188,.45)}.xl\:focus\:shadow-outline-yellow:focus{box-shadow:0 0 0 3px rgba(250,202,21,.45)}.xl\:focus\:shadow-outline-orange:focus{box-shadow:0 0 0 3px rgba(253,186,140,.45)}.xl\:focus\:shadow-outline-red:focus{box-shadow:0 0 0 3px rgba(248,180,180,.45)}.xl\:focus\:shadow-outline-pink:focus{box-shadow:0 0 0 3px rgba(248,180,217,.45)}.xl\:focus\:shadow-outline-purple:focus{box-shadow:0 0 0 3px rgba(202,191,253,.45)}.xl\:focus\:shadow-outline-indigo:focus{box-shadow:0 0 0 3px rgba(180,198,252,.45)}.xl\:fill-current{fill:currentColor}.xl\:stroke-current{stroke:currentColor}.xl\:stroke-0{stroke-width:0}.xl\:stroke-1{stroke-width:1}.xl\:stroke-2{stroke-width:2}.xl\:table-auto{table-layout:auto}.xl\:table-fixed{table-layout:fixed}.xl\:text-left{text-align:left}.xl\:text-center{text-align:center}.xl\:text-right{text-align:right}.xl\:text-justify{text-align:justify}.xl\:text-transparent{color:transparent}.xl\:text-white{--text-opacity:1;color:#fff;color:rgba(255,255,255,var(--text-opacity))}.xl\:text-black{--text-opacity:1;color:#000;color:rgba(0,0,0,var(--text-opacity))}.xl\:text-gray-50{--text-opacity:1;color:#f9fafb;color:rgba(249,250,251,var(--text-opacity))}.xl\:text-gray-100{--text-opacity:1;color:#f4f5f7;color:rgba(244,245,247,var(--text-opacity))}.xl\:text-gray-200{--text-opacity:1;color:#e5e7eb;color:rgba(229,231,235,var(--text-opacity))}.xl\:text-gray-300{--text-opacity:1;color:#d2d6dc;color:rgba(210,214,220,var(--text-opacity))}.xl\:text-gray-400{--text-opacity:1;color:#9fa6b2;color:rgba(159,166,178,var(--text-opacity))}.xl\:text-gray-500{--text-opacity:1;color:#6b7280;color:rgba(107,114,128,var(--text-opacity))}.xl\:text-gray-600{--text-opacity:1;color:#4b5563;color:rgba(75,85,99,var(--text-opacity))}.xl\:text-gray-700{--text-opacity:1;color:#374151;color:rgba(55,65,81,var(--text-opacity))}.xl\:text-gray-800{--text-opacity:1;color:#252f3f;color:rgba(37,47,63,var(--text-opacity))}.xl\:text-gray-900{--text-opacity:1;color:#161e2e;color:rgba(22,30,46,var(--text-opacity))}.xl\:text-cool-gray-50{--text-opacity:1;color:#f8fafc;color:rgba(248,250,252,var(--text-opacity))}.xl\:text-cool-gray-100{--text-opacity:1;color:#f1f5f9;color:rgba(241,245,249,var(--text-opacity))}.xl\:text-cool-gray-200{--text-opacity:1;color:#e2e8f0;color:rgba(226,232,240,var(--text-opacity))}.xl\:text-cool-gray-300{--text-opacity:1;color:#cfd8e3;color:rgba(207,216,227,var(--text-opacity))}.xl\:text-cool-gray-400{--text-opacity:1;color:#97a6ba;color:rgba(151,166,186,var(--text-opacity))}.xl\:text-cool-gray-500{--text-opacity:1;color:#64748b;color:rgba(100,116,139,var(--text-opacity))}.xl\:text-cool-gray-600{--text-opacity:1;color:#475569;color:rgba(71,85,105,var(--text-opacity))}.xl\:text-cool-gray-700{--text-opacity:1;color:#364152;color:rgba(54,65,82,var(--text-opacity))}.xl\:text-cool-gray-800{--text-opacity:1;color:#27303f;color:rgba(39,48,63,var(--text-opacity))}.xl\:text-cool-gray-900{--text-opacity:1;color:#1a202e;color:rgba(26,32,46,var(--text-opacity))}.xl\:text-red-50{--text-opacity:1;color:#fdf2f2;color:rgba(253,242,242,var(--text-opacity))}.xl\:text-red-100{--text-opacity:1;color:#fde8e8;color:rgba(253,232,232,var(--text-opacity))}.xl\:text-red-200{--text-opacity:1;color:#fbd5d5;color:rgba(251,213,213,var(--text-opacity))}.xl\:text-red-300{--text-opacity:1;color:#f8b4b4;color:rgba(248,180,180,var(--text-opacity))}.xl\:text-red-400{--text-opacity:1;color:#f98080;color:rgba(249,128,128,var(--text-opacity))}.xl\:text-red-500{--text-opacity:1;color:#f05252;color:rgba(240,82,82,var(--text-opacity))}.xl\:text-red-600{--text-opacity:1;color:#e02424;color:rgba(224,36,36,var(--text-opacity))}.xl\:text-red-700{--text-opacity:1;color:#c81e1e;color:rgba(200,30,30,var(--text-opacity))}.xl\:text-red-800{--text-opacity:1;color:#9b1c1c;color:rgba(155,28,28,var(--text-opacity))}.xl\:text-red-900{--text-opacity:1;color:#771d1d;color:rgba(119,29,29,var(--text-opacity))}.xl\:text-orange-50{--text-opacity:1;color:#fff8f1;color:rgba(255,248,241,var(--text-opacity))}.xl\:text-orange-100{--text-opacity:1;color:#feecdc;color:rgba(254,236,220,var(--text-opacity))}.xl\:text-orange-200{--text-opacity:1;color:#fcd9bd;color:rgba(252,217,189,var(--text-opacity))}.xl\:text-orange-300{--text-opacity:1;color:#fdba8c;color:rgba(253,186,140,var(--text-opacity))}.xl\:text-orange-400{--text-opacity:1;color:#ff8a4c;color:rgba(255,138,76,var(--text-opacity))}.xl\:text-orange-500{--text-opacity:1;color:#ff5a1f;color:rgba(255,90,31,var(--text-opacity))}.xl\:text-orange-600{--text-opacity:1;color:#d03801;color:rgba(208,56,1,var(--text-opacity))}.xl\:text-orange-700{--text-opacity:1;color:#b43403;color:rgba(180,52,3,var(--text-opacity))}.xl\:text-orange-800{--text-opacity:1;color:#8a2c0d;color:rgba(138,44,13,var(--text-opacity))}.xl\:text-orange-900{--text-opacity:1;color:#73230d;color:rgba(115,35,13,var(--text-opacity))}.xl\:text-yellow-50{--text-opacity:1;color:#fdfdea;color:rgba(253,253,234,var(--text-opacity))}.xl\:text-yellow-100{--text-opacity:1;color:#fdf6b2;color:rgba(253,246,178,var(--text-opacity))}.xl\:text-yellow-200{--text-opacity:1;color:#fce96a;color:rgba(252,233,106,var(--text-opacity))}.xl\:text-yellow-300{--text-opacity:1;color:#faca15;color:rgba(250,202,21,var(--text-opacity))}.xl\:text-yellow-400{--text-opacity:1;color:#e3a008;color:rgba(227,160,8,var(--text-opacity))}.xl\:text-yellow-500{--text-opacity:1;color:#c27803;color:rgba(194,120,3,var(--text-opacity))}.xl\:text-yellow-600{--text-opacity:1;color:#9f580a;color:rgba(159,88,10,var(--text-opacity))}.xl\:text-yellow-700{--text-opacity:1;color:#8e4b10;color:rgba(142,75,16,var(--text-opacity))}.xl\:text-yellow-800{--text-opacity:1;color:#723b13;color:rgba(114,59,19,var(--text-opacity))}.xl\:text-yellow-900{--text-opacity:1;color:#633112;color:rgba(99,49,18,var(--text-opacity))}.xl\:text-green-50{--text-opacity:1;color:#f3faf7;color:rgba(243,250,247,var(--text-opacity))}.xl\:text-green-100{--text-opacity:1;color:#def7ec;color:rgba(222,247,236,var(--text-opacity))}.xl\:text-green-200{--text-opacity:1;color:#bcf0da;color:rgba(188,240,218,var(--text-opacity))}.xl\:text-green-300{--text-opacity:1;color:#84e1bc;color:rgba(132,225,188,var(--text-opacity))}.xl\:text-green-400{--text-opacity:1;color:#31c48d;color:rgba(49,196,141,var(--text-opacity))}.xl\:text-green-500{--text-opacity:1;color:#0e9f6e;color:rgba(14,159,110,var(--text-opacity))}.xl\:text-green-600{--text-opacity:1;color:#057a55;color:rgba(5,122,85,var(--text-opacity))}.xl\:text-green-700{--text-opacity:1;color:#046c4e;color:rgba(4,108,78,var(--text-opacity))}.xl\:text-green-800{--text-opacity:1;color:#03543f;color:rgba(3,84,63,var(--text-opacity))}.xl\:text-green-900{--text-opacity:1;color:#014737;color:rgba(1,71,55,var(--text-opacity))}.xl\:text-teal-50{--text-opacity:1;color:#edfafa;color:rgba(237,250,250,var(--text-opacity))}.xl\:text-teal-100{--text-opacity:1;color:#d5f5f6;color:rgba(213,245,246,var(--text-opacity))}.xl\:text-teal-200{--text-opacity:1;color:#afecef;color:rgba(175,236,239,var(--text-opacity))}.xl\:text-teal-300{--text-opacity:1;color:#7edce2;color:rgba(126,220,226,var(--text-opacity))}.xl\:text-teal-400{--text-opacity:1;color:#16bdca;color:rgba(22,189,202,var(--text-opacity))}.xl\:text-teal-500{--text-opacity:1;color:#0694a2;color:rgba(6,148,162,var(--text-opacity))}.xl\:text-teal-600{--text-opacity:1;color:#047481;color:rgba(4,116,129,var(--text-opacity))}.xl\:text-teal-700{--text-opacity:1;color:#036672;color:rgba(3,102,114,var(--text-opacity))}.xl\:text-teal-800{--text-opacity:1;color:#05505c;color:rgba(5,80,92,var(--text-opacity))}.xl\:text-teal-900{--text-opacity:1;color:#014451;color:rgba(1,68,81,var(--text-opacity))}.xl\:text-blue-50{--text-opacity:1;color:#ebf5ff;color:rgba(235,245,255,var(--text-opacity))}.xl\:text-blue-100{--text-opacity:1;color:#e1effe;color:rgba(225,239,254,var(--text-opacity))}.xl\:text-blue-200{--text-opacity:1;color:#c3ddfd;color:rgba(195,221,253,var(--text-opacity))}.xl\:text-blue-300{--text-opacity:1;color:#a4cafe;color:rgba(164,202,254,var(--text-opacity))}.xl\:text-blue-400{--text-opacity:1;color:#76a9fa;color:rgba(118,169,250,var(--text-opacity))}.xl\:text-blue-500{--text-opacity:1;color:#3f83f8;color:rgba(63,131,248,var(--text-opacity))}.xl\:text-blue-600{--text-opacity:1;color:#1c64f2;color:rgba(28,100,242,var(--text-opacity))}.xl\:text-blue-700{--text-opacity:1;color:#1a56db;color:rgba(26,86,219,var(--text-opacity))}.xl\:text-blue-800{--text-opacity:1;color:#1e429f;color:rgba(30,66,159,var(--text-opacity))}.xl\:text-blue-900{--text-opacity:1;color:#233876;color:rgba(35,56,118,var(--text-opacity))}.xl\:text-indigo-50{--text-opacity:1;color:#f0f5ff;color:rgba(240,245,255,var(--text-opacity))}.xl\:text-indigo-100{--text-opacity:1;color:#e5edff;color:rgba(229,237,255,var(--text-opacity))}.xl\:text-indigo-200{--text-opacity:1;color:#cddbfe;color:rgba(205,219,254,var(--text-opacity))}.xl\:text-indigo-300{--text-opacity:1;color:#b4c6fc;color:rgba(180,198,252,var(--text-opacity))}.xl\:text-indigo-400{--text-opacity:1;color:#8da2fb;color:rgba(141,162,251,var(--text-opacity))}.xl\:text-indigo-500{--text-opacity:1;color:#6875f5;color:rgba(104,117,245,var(--text-opacity))}.xl\:text-indigo-600{--text-opacity:1;color:#5850ec;color:rgba(88,80,236,var(--text-opacity))}.xl\:text-indigo-700{--text-opacity:1;color:#5145cd;color:rgba(81,69,205,var(--text-opacity))}.xl\:text-indigo-800{--text-opacity:1;color:#42389d;color:rgba(66,56,157,var(--text-opacity))}.xl\:text-indigo-900{--text-opacity:1;color:#362f78;color:rgba(54,47,120,var(--text-opacity))}.xl\:text-purple-50{--text-opacity:1;color:#f6f5ff;color:rgba(246,245,255,var(--text-opacity))}.xl\:text-purple-100{--text-opacity:1;color:#edebfe;color:rgba(237,235,254,var(--text-opacity))}.xl\:text-purple-200{--text-opacity:1;color:#dcd7fe;color:rgba(220,215,254,var(--text-opacity))}.xl\:text-purple-300{--text-opacity:1;color:#cabffd;color:rgba(202,191,253,var(--text-opacity))}.xl\:text-purple-400{--text-opacity:1;color:#ac94fa;color:rgba(172,148,250,var(--text-opacity))}.xl\:text-purple-500{--text-opacity:1;color:#9061f9;color:rgba(144,97,249,var(--text-opacity))}.xl\:text-purple-600{--text-opacity:1;color:#7e3af2;color:rgba(126,58,242,var(--text-opacity))}.xl\:text-purple-700{--text-opacity:1;color:#6c2bd9;color:rgba(108,43,217,var(--text-opacity))}.xl\:text-purple-800{--text-opacity:1;color:#5521b5;color:rgba(85,33,181,var(--text-opacity))}.xl\:text-purple-900{--text-opacity:1;color:#4a1d96;color:rgba(74,29,150,var(--text-opacity))}.xl\:text-pink-50{--text-opacity:1;color:#fdf2f8;color:rgba(253,242,248,var(--text-opacity))}.xl\:text-pink-100{--text-opacity:1;color:#fce8f3;color:rgba(252,232,243,var(--text-opacity))}.xl\:text-pink-200{--text-opacity:1;color:#fad1e8;color:rgba(250,209,232,var(--text-opacity))}.xl\:text-pink-300{--text-opacity:1;color:#f8b4d9;color:rgba(248,180,217,var(--text-opacity))}.xl\:text-pink-400{--text-opacity:1;color:#f17eb8;color:rgba(241,126,184,var(--text-opacity))}.xl\:text-pink-500{--text-opacity:1;color:#e74694;color:rgba(231,70,148,var(--text-opacity))}.xl\:text-pink-600{--text-opacity:1;color:#d61f69;color:rgba(214,31,105,var(--text-opacity))}.xl\:text-pink-700{--text-opacity:1;color:#bf125d;color:rgba(191,18,93,var(--text-opacity))}.xl\:text-pink-800{--text-opacity:1;color:#99154b;color:rgba(153,21,75,var(--text-opacity))}.xl\:text-pink-900{--text-opacity:1;color:#751a3d;color:rgba(117,26,61,var(--text-opacity))}.group:hover .xl\:group-hover\:text-transparent{color:transparent}.group:hover .xl\:group-hover\:text-white{--text-opacity:1;color:#fff;color:rgba(255,255,255,var(--text-opacity))}.group:hover .xl\:group-hover\:text-black{--text-opacity:1;color:#000;color:rgba(0,0,0,var(--text-opacity))}.group:hover .xl\:group-hover\:text-gray-50{--text-opacity:1;color:#f9fafb;color:rgba(249,250,251,var(--text-opacity))}.group:hover .xl\:group-hover\:text-gray-100{--text-opacity:1;color:#f4f5f7;color:rgba(244,245,247,var(--text-opacity))}.group:hover .xl\:group-hover\:text-gray-200{--text-opacity:1;color:#e5e7eb;color:rgba(229,231,235,var(--text-opacity))}.group:hover .xl\:group-hover\:text-gray-300{--text-opacity:1;color:#d2d6dc;color:rgba(210,214,220,var(--text-opacity))}.group:hover .xl\:group-hover\:text-gray-400{--text-opacity:1;color:#9fa6b2;color:rgba(159,166,178,var(--text-opacity))}.group:hover .xl\:group-hover\:text-gray-500{--text-opacity:1;color:#6b7280;color:rgba(107,114,128,var(--text-opacity))}.group:hover .xl\:group-hover\:text-gray-600{--text-opacity:1;color:#4b5563;color:rgba(75,85,99,var(--text-opacity))}.group:hover .xl\:group-hover\:text-gray-700{--text-opacity:1;color:#374151;color:rgba(55,65,81,var(--text-opacity))}.group:hover .xl\:group-hover\:text-gray-800{--text-opacity:1;color:#252f3f;color:rgba(37,47,63,var(--text-opacity))}.group:hover .xl\:group-hover\:text-gray-900{--text-opacity:1;color:#161e2e;color:rgba(22,30,46,var(--text-opacity))}.group:hover .xl\:group-hover\:text-cool-gray-50{--text-opacity:1;color:#f8fafc;color:rgba(248,250,252,var(--text-opacity))}.group:hover .xl\:group-hover\:text-cool-gray-100{--text-opacity:1;color:#f1f5f9;color:rgba(241,245,249,var(--text-opacity))}.group:hover .xl\:group-hover\:text-cool-gray-200{--text-opacity:1;color:#e2e8f0;color:rgba(226,232,240,var(--text-opacity))}.group:hover .xl\:group-hover\:text-cool-gray-300{--text-opacity:1;color:#cfd8e3;color:rgba(207,216,227,var(--text-opacity))}.group:hover .xl\:group-hover\:text-cool-gray-400{--text-opacity:1;color:#97a6ba;color:rgba(151,166,186,var(--text-opacity))}.group:hover .xl\:group-hover\:text-cool-gray-500{--text-opacity:1;color:#64748b;color:rgba(100,116,139,var(--text-opacity))}.group:hover .xl\:group-hover\:text-cool-gray-600{--text-opacity:1;color:#475569;color:rgba(71,85,105,var(--text-opacity))}.group:hover .xl\:group-hover\:text-cool-gray-700{--text-opacity:1;color:#364152;color:rgba(54,65,82,var(--text-opacity))}.group:hover .xl\:group-hover\:text-cool-gray-800{--text-opacity:1;color:#27303f;color:rgba(39,48,63,var(--text-opacity))}.group:hover .xl\:group-hover\:text-cool-gray-900{--text-opacity:1;color:#1a202e;color:rgba(26,32,46,var(--text-opacity))}.group:hover .xl\:group-hover\:text-red-50{--text-opacity:1;color:#fdf2f2;color:rgba(253,242,242,var(--text-opacity))}.group:hover .xl\:group-hover\:text-red-100{--text-opacity:1;color:#fde8e8;color:rgba(253,232,232,var(--text-opacity))}.group:hover .xl\:group-hover\:text-red-200{--text-opacity:1;color:#fbd5d5;color:rgba(251,213,213,var(--text-opacity))}.group:hover .xl\:group-hover\:text-red-300{--text-opacity:1;color:#f8b4b4;color:rgba(248,180,180,var(--text-opacity))}.group:hover .xl\:group-hover\:text-red-400{--text-opacity:1;color:#f98080;color:rgba(249,128,128,var(--text-opacity))}.group:hover .xl\:group-hover\:text-red-500{--text-opacity:1;color:#f05252;color:rgba(240,82,82,var(--text-opacity))}.group:hover .xl\:group-hover\:text-red-600{--text-opacity:1;color:#e02424;color:rgba(224,36,36,var(--text-opacity))}.group:hover .xl\:group-hover\:text-red-700{--text-opacity:1;color:#c81e1e;color:rgba(200,30,30,var(--text-opacity))}.group:hover .xl\:group-hover\:text-red-800{--text-opacity:1;color:#9b1c1c;color:rgba(155,28,28,var(--text-opacity))}.group:hover .xl\:group-hover\:text-red-900{--text-opacity:1;color:#771d1d;color:rgba(119,29,29,var(--text-opacity))}.group:hover .xl\:group-hover\:text-orange-50{--text-opacity:1;color:#fff8f1;color:rgba(255,248,241,var(--text-opacity))}.group:hover .xl\:group-hover\:text-orange-100{--text-opacity:1;color:#feecdc;color:rgba(254,236,220,var(--text-opacity))}.group:hover .xl\:group-hover\:text-orange-200{--text-opacity:1;color:#fcd9bd;color:rgba(252,217,189,var(--text-opacity))}.group:hover .xl\:group-hover\:text-orange-300{--text-opacity:1;color:#fdba8c;color:rgba(253,186,140,var(--text-opacity))}.group:hover .xl\:group-hover\:text-orange-400{--text-opacity:1;color:#ff8a4c;color:rgba(255,138,76,var(--text-opacity))}.group:hover .xl\:group-hover\:text-orange-500{--text-opacity:1;color:#ff5a1f;color:rgba(255,90,31,var(--text-opacity))}.group:hover .xl\:group-hover\:text-orange-600{--text-opacity:1;color:#d03801;color:rgba(208,56,1,var(--text-opacity))}.group:hover .xl\:group-hover\:text-orange-700{--text-opacity:1;color:#b43403;color:rgba(180,52,3,var(--text-opacity))}.group:hover .xl\:group-hover\:text-orange-800{--text-opacity:1;color:#8a2c0d;color:rgba(138,44,13,var(--text-opacity))}.group:hover .xl\:group-hover\:text-orange-900{--text-opacity:1;color:#73230d;color:rgba(115,35,13,var(--text-opacity))}.group:hover .xl\:group-hover\:text-yellow-50{--text-opacity:1;color:#fdfdea;color:rgba(253,253,234,var(--text-opacity))}.group:hover .xl\:group-hover\:text-yellow-100{--text-opacity:1;color:#fdf6b2;color:rgba(253,246,178,var(--text-opacity))}.group:hover .xl\:group-hover\:text-yellow-200{--text-opacity:1;color:#fce96a;color:rgba(252,233,106,var(--text-opacity))}.group:hover .xl\:group-hover\:text-yellow-300{--text-opacity:1;color:#faca15;color:rgba(250,202,21,var(--text-opacity))}.group:hover .xl\:group-hover\:text-yellow-400{--text-opacity:1;color:#e3a008;color:rgba(227,160,8,var(--text-opacity))}.group:hover .xl\:group-hover\:text-yellow-500{--text-opacity:1;color:#c27803;color:rgba(194,120,3,var(--text-opacity))}.group:hover .xl\:group-hover\:text-yellow-600{--text-opacity:1;color:#9f580a;color:rgba(159,88,10,var(--text-opacity))}.group:hover .xl\:group-hover\:text-yellow-700{--text-opacity:1;color:#8e4b10;color:rgba(142,75,16,var(--text-opacity))}.group:hover .xl\:group-hover\:text-yellow-800{--text-opacity:1;color:#723b13;color:rgba(114,59,19,var(--text-opacity))}.group:hover .xl\:group-hover\:text-yellow-900{--text-opacity:1;color:#633112;color:rgba(99,49,18,var(--text-opacity))}.group:hover .xl\:group-hover\:text-green-50{--text-opacity:1;color:#f3faf7;color:rgba(243,250,247,var(--text-opacity))}.group:hover .xl\:group-hover\:text-green-100{--text-opacity:1;color:#def7ec;color:rgba(222,247,236,var(--text-opacity))}.group:hover .xl\:group-hover\:text-green-200{--text-opacity:1;color:#bcf0da;color:rgba(188,240,218,var(--text-opacity))}.group:hover .xl\:group-hover\:text-green-300{--text-opacity:1;color:#84e1bc;color:rgba(132,225,188,var(--text-opacity))}.group:hover .xl\:group-hover\:text-green-400{--text-opacity:1;color:#31c48d;color:rgba(49,196,141,var(--text-opacity))}.group:hover .xl\:group-hover\:text-green-500{--text-opacity:1;color:#0e9f6e;color:rgba(14,159,110,var(--text-opacity))}.group:hover .xl\:group-hover\:text-green-600{--text-opacity:1;color:#057a55;color:rgba(5,122,85,var(--text-opacity))}.group:hover .xl\:group-hover\:text-green-700{--text-opacity:1;color:#046c4e;color:rgba(4,108,78,var(--text-opacity))}.group:hover .xl\:group-hover\:text-green-800{--text-opacity:1;color:#03543f;color:rgba(3,84,63,var(--text-opacity))}.group:hover .xl\:group-hover\:text-green-900{--text-opacity:1;color:#014737;color:rgba(1,71,55,var(--text-opacity))}.group:hover .xl\:group-hover\:text-teal-50{--text-opacity:1;color:#edfafa;color:rgba(237,250,250,var(--text-opacity))}.group:hover .xl\:group-hover\:text-teal-100{--text-opacity:1;color:#d5f5f6;color:rgba(213,245,246,var(--text-opacity))}.group:hover .xl\:group-hover\:text-teal-200{--text-opacity:1;color:#afecef;color:rgba(175,236,239,var(--text-opacity))}.group:hover .xl\:group-hover\:text-teal-300{--text-opacity:1;color:#7edce2;color:rgba(126,220,226,var(--text-opacity))}.group:hover .xl\:group-hover\:text-teal-400{--text-opacity:1;color:#16bdca;color:rgba(22,189,202,var(--text-opacity))}.group:hover .xl\:group-hover\:text-teal-500{--text-opacity:1;color:#0694a2;color:rgba(6,148,162,var(--text-opacity))}.group:hover .xl\:group-hover\:text-teal-600{--text-opacity:1;color:#047481;color:rgba(4,116,129,var(--text-opacity))}.group:hover .xl\:group-hover\:text-teal-700{--text-opacity:1;color:#036672;color:rgba(3,102,114,var(--text-opacity))}.group:hover .xl\:group-hover\:text-teal-800{--text-opacity:1;color:#05505c;color:rgba(5,80,92,var(--text-opacity))}.group:hover .xl\:group-hover\:text-teal-900{--text-opacity:1;color:#014451;color:rgba(1,68,81,var(--text-opacity))}.group:hover .xl\:group-hover\:text-blue-50{--text-opacity:1;color:#ebf5ff;color:rgba(235,245,255,var(--text-opacity))}.group:hover .xl\:group-hover\:text-blue-100{--text-opacity:1;color:#e1effe;color:rgba(225,239,254,var(--text-opacity))}.group:hover .xl\:group-hover\:text-blue-200{--text-opacity:1;color:#c3ddfd;color:rgba(195,221,253,var(--text-opacity))}.group:hover .xl\:group-hover\:text-blue-300{--text-opacity:1;color:#a4cafe;color:rgba(164,202,254,var(--text-opacity))}.group:hover .xl\:group-hover\:text-blue-400{--text-opacity:1;color:#76a9fa;color:rgba(118,169,250,var(--text-opacity))}.group:hover .xl\:group-hover\:text-blue-500{--text-opacity:1;color:#3f83f8;color:rgba(63,131,248,var(--text-opacity))}.group:hover .xl\:group-hover\:text-blue-600{--text-opacity:1;color:#1c64f2;color:rgba(28,100,242,var(--text-opacity))}.group:hover .xl\:group-hover\:text-blue-700{--text-opacity:1;color:#1a56db;color:rgba(26,86,219,var(--text-opacity))}.group:hover .xl\:group-hover\:text-blue-800{--text-opacity:1;color:#1e429f;color:rgba(30,66,159,var(--text-opacity))}.group:hover .xl\:group-hover\:text-blue-900{--text-opacity:1;color:#233876;color:rgba(35,56,118,var(--text-opacity))}.group:hover .xl\:group-hover\:text-indigo-50{--text-opacity:1;color:#f0f5ff;color:rgba(240,245,255,var(--text-opacity))}.group:hover .xl\:group-hover\:text-indigo-100{--text-opacity:1;color:#e5edff;color:rgba(229,237,255,var(--text-opacity))}.group:hover .xl\:group-hover\:text-indigo-200{--text-opacity:1;color:#cddbfe;color:rgba(205,219,254,var(--text-opacity))}.group:hover .xl\:group-hover\:text-indigo-300{--text-opacity:1;color:#b4c6fc;color:rgba(180,198,252,var(--text-opacity))}.group:hover .xl\:group-hover\:text-indigo-400{--text-opacity:1;color:#8da2fb;color:rgba(141,162,251,var(--text-opacity))}.group:hover .xl\:group-hover\:text-indigo-500{--text-opacity:1;color:#6875f5;color:rgba(104,117,245,var(--text-opacity))}.group:hover .xl\:group-hover\:text-indigo-600{--text-opacity:1;color:#5850ec;color:rgba(88,80,236,var(--text-opacity))}.group:hover .xl\:group-hover\:text-indigo-700{--text-opacity:1;color:#5145cd;color:rgba(81,69,205,var(--text-opacity))}.group:hover .xl\:group-hover\:text-indigo-800{--text-opacity:1;color:#42389d;color:rgba(66,56,157,var(--text-opacity))}.group:hover .xl\:group-hover\:text-indigo-900{--text-opacity:1;color:#362f78;color:rgba(54,47,120,var(--text-opacity))}.group:hover .xl\:group-hover\:text-purple-50{--text-opacity:1;color:#f6f5ff;color:rgba(246,245,255,var(--text-opacity))}.group:hover .xl\:group-hover\:text-purple-100{--text-opacity:1;color:#edebfe;color:rgba(237,235,254,var(--text-opacity))}.group:hover .xl\:group-hover\:text-purple-200{--text-opacity:1;color:#dcd7fe;color:rgba(220,215,254,var(--text-opacity))}.group:hover .xl\:group-hover\:text-purple-300{--text-opacity:1;color:#cabffd;color:rgba(202,191,253,var(--text-opacity))}.group:hover .xl\:group-hover\:text-purple-400{--text-opacity:1;color:#ac94fa;color:rgba(172,148,250,var(--text-opacity))}.group:hover .xl\:group-hover\:text-purple-500{--text-opacity:1;color:#9061f9;color:rgba(144,97,249,var(--text-opacity))}.group:hover .xl\:group-hover\:text-purple-600{--text-opacity:1;color:#7e3af2;color:rgba(126,58,242,var(--text-opacity))}.group:hover .xl\:group-hover\:text-purple-700{--text-opacity:1;color:#6c2bd9;color:rgba(108,43,217,var(--text-opacity))}.group:hover .xl\:group-hover\:text-purple-800{--text-opacity:1;color:#5521b5;color:rgba(85,33,181,var(--text-opacity))}.group:hover .xl\:group-hover\:text-purple-900{--text-opacity:1;color:#4a1d96;color:rgba(74,29,150,var(--text-opacity))}.group:hover .xl\:group-hover\:text-pink-50{--text-opacity:1;color:#fdf2f8;color:rgba(253,242,248,var(--text-opacity))}.group:hover .xl\:group-hover\:text-pink-100{--text-opacity:1;color:#fce8f3;color:rgba(252,232,243,var(--text-opacity))}.group:hover .xl\:group-hover\:text-pink-200{--text-opacity:1;color:#fad1e8;color:rgba(250,209,232,var(--text-opacity))}.group:hover .xl\:group-hover\:text-pink-300{--text-opacity:1;color:#f8b4d9;color:rgba(248,180,217,var(--text-opacity))}.group:hover .xl\:group-hover\:text-pink-400{--text-opacity:1;color:#f17eb8;color:rgba(241,126,184,var(--text-opacity))}.group:hover .xl\:group-hover\:text-pink-500{--text-opacity:1;color:#e74694;color:rgba(231,70,148,var(--text-opacity))}.group:hover .xl\:group-hover\:text-pink-600{--text-opacity:1;color:#d61f69;color:rgba(214,31,105,var(--text-opacity))}.group:hover .xl\:group-hover\:text-pink-700{--text-opacity:1;color:#bf125d;color:rgba(191,18,93,var(--text-opacity))}.group:hover .xl\:group-hover\:text-pink-800{--text-opacity:1;color:#99154b;color:rgba(153,21,75,var(--text-opacity))}.group:hover .xl\:group-hover\:text-pink-900{--text-opacity:1;color:#751a3d;color:rgba(117,26,61,var(--text-opacity))}.group:focus .xl\:group-focus\:text-transparent{color:transparent}.group:focus .xl\:group-focus\:text-white{--text-opacity:1;color:#fff;color:rgba(255,255,255,var(--text-opacity))}.group:focus .xl\:group-focus\:text-black{--text-opacity:1;color:#000;color:rgba(0,0,0,var(--text-opacity))}.group:focus .xl\:group-focus\:text-gray-50{--text-opacity:1;color:#f9fafb;color:rgba(249,250,251,var(--text-opacity))}.group:focus .xl\:group-focus\:text-gray-100{--text-opacity:1;color:#f4f5f7;color:rgba(244,245,247,var(--text-opacity))}.group:focus .xl\:group-focus\:text-gray-200{--text-opacity:1;color:#e5e7eb;color:rgba(229,231,235,var(--text-opacity))}.group:focus .xl\:group-focus\:text-gray-300{--text-opacity:1;color:#d2d6dc;color:rgba(210,214,220,var(--text-opacity))}.group:focus .xl\:group-focus\:text-gray-400{--text-opacity:1;color:#9fa6b2;color:rgba(159,166,178,var(--text-opacity))}.group:focus .xl\:group-focus\:text-gray-500{--text-opacity:1;color:#6b7280;color:rgba(107,114,128,var(--text-opacity))}.group:focus .xl\:group-focus\:text-gray-600{--text-opacity:1;color:#4b5563;color:rgba(75,85,99,var(--text-opacity))}.group:focus .xl\:group-focus\:text-gray-700{--text-opacity:1;color:#374151;color:rgba(55,65,81,var(--text-opacity))}.group:focus .xl\:group-focus\:text-gray-800{--text-opacity:1;color:#252f3f;color:rgba(37,47,63,var(--text-opacity))}.group:focus .xl\:group-focus\:text-gray-900{--text-opacity:1;color:#161e2e;color:rgba(22,30,46,var(--text-opacity))}.group:focus .xl\:group-focus\:text-cool-gray-50{--text-opacity:1;color:#f8fafc;color:rgba(248,250,252,var(--text-opacity))}.group:focus .xl\:group-focus\:text-cool-gray-100{--text-opacity:1;color:#f1f5f9;color:rgba(241,245,249,var(--text-opacity))}.group:focus .xl\:group-focus\:text-cool-gray-200{--text-opacity:1;color:#e2e8f0;color:rgba(226,232,240,var(--text-opacity))}.group:focus .xl\:group-focus\:text-cool-gray-300{--text-opacity:1;color:#cfd8e3;color:rgba(207,216,227,var(--text-opacity))}.group:focus .xl\:group-focus\:text-cool-gray-400{--text-opacity:1;color:#97a6ba;color:rgba(151,166,186,var(--text-opacity))}.group:focus .xl\:group-focus\:text-cool-gray-500{--text-opacity:1;color:#64748b;color:rgba(100,116,139,var(--text-opacity))}.group:focus .xl\:group-focus\:text-cool-gray-600{--text-opacity:1;color:#475569;color:rgba(71,85,105,var(--text-opacity))}.group:focus .xl\:group-focus\:text-cool-gray-700{--text-opacity:1;color:#364152;color:rgba(54,65,82,var(--text-opacity))}.group:focus .xl\:group-focus\:text-cool-gray-800{--text-opacity:1;color:#27303f;color:rgba(39,48,63,var(--text-opacity))}.group:focus .xl\:group-focus\:text-cool-gray-900{--text-opacity:1;color:#1a202e;color:rgba(26,32,46,var(--text-opacity))}.group:focus .xl\:group-focus\:text-red-50{--text-opacity:1;color:#fdf2f2;color:rgba(253,242,242,var(--text-opacity))}.group:focus .xl\:group-focus\:text-red-100{--text-opacity:1;color:#fde8e8;color:rgba(253,232,232,var(--text-opacity))}.group:focus .xl\:group-focus\:text-red-200{--text-opacity:1;color:#fbd5d5;color:rgba(251,213,213,var(--text-opacity))}.group:focus .xl\:group-focus\:text-red-300{--text-opacity:1;color:#f8b4b4;color:rgba(248,180,180,var(--text-opacity))}.group:focus .xl\:group-focus\:text-red-400{--text-opacity:1;color:#f98080;color:rgba(249,128,128,var(--text-opacity))}.group:focus .xl\:group-focus\:text-red-500{--text-opacity:1;color:#f05252;color:rgba(240,82,82,var(--text-opacity))}.group:focus .xl\:group-focus\:text-red-600{--text-opacity:1;color:#e02424;color:rgba(224,36,36,var(--text-opacity))}.group:focus .xl\:group-focus\:text-red-700{--text-opacity:1;color:#c81e1e;color:rgba(200,30,30,var(--text-opacity))}.group:focus .xl\:group-focus\:text-red-800{--text-opacity:1;color:#9b1c1c;color:rgba(155,28,28,var(--text-opacity))}.group:focus .xl\:group-focus\:text-red-900{--text-opacity:1;color:#771d1d;color:rgba(119,29,29,var(--text-opacity))}.group:focus .xl\:group-focus\:text-orange-50{--text-opacity:1;color:#fff8f1;color:rgba(255,248,241,var(--text-opacity))}.group:focus .xl\:group-focus\:text-orange-100{--text-opacity:1;color:#feecdc;color:rgba(254,236,220,var(--text-opacity))}.group:focus .xl\:group-focus\:text-orange-200{--text-opacity:1;color:#fcd9bd;color:rgba(252,217,189,var(--text-opacity))}.group:focus .xl\:group-focus\:text-orange-300{--text-opacity:1;color:#fdba8c;color:rgba(253,186,140,var(--text-opacity))}.group:focus .xl\:group-focus\:text-orange-400{--text-opacity:1;color:#ff8a4c;color:rgba(255,138,76,var(--text-opacity))}.group:focus .xl\:group-focus\:text-orange-500{--text-opacity:1;color:#ff5a1f;color:rgba(255,90,31,var(--text-opacity))}.group:focus .xl\:group-focus\:text-orange-600{--text-opacity:1;color:#d03801;color:rgba(208,56,1,var(--text-opacity))}.group:focus .xl\:group-focus\:text-orange-700{--text-opacity:1;color:#b43403;color:rgba(180,52,3,var(--text-opacity))}.group:focus .xl\:group-focus\:text-orange-800{--text-opacity:1;color:#8a2c0d;color:rgba(138,44,13,var(--text-opacity))}.group:focus .xl\:group-focus\:text-orange-900{--text-opacity:1;color:#73230d;color:rgba(115,35,13,var(--text-opacity))}.group:focus .xl\:group-focus\:text-yellow-50{--text-opacity:1;color:#fdfdea;color:rgba(253,253,234,var(--text-opacity))}.group:focus .xl\:group-focus\:text-yellow-100{--text-opacity:1;color:#fdf6b2;color:rgba(253,246,178,var(--text-opacity))}.group:focus .xl\:group-focus\:text-yellow-200{--text-opacity:1;color:#fce96a;color:rgba(252,233,106,var(--text-opacity))}.group:focus .xl\:group-focus\:text-yellow-300{--text-opacity:1;color:#faca15;color:rgba(250,202,21,var(--text-opacity))}.group:focus .xl\:group-focus\:text-yellow-400{--text-opacity:1;color:#e3a008;color:rgba(227,160,8,var(--text-opacity))}.group:focus .xl\:group-focus\:text-yellow-500{--text-opacity:1;color:#c27803;color:rgba(194,120,3,var(--text-opacity))}.group:focus .xl\:group-focus\:text-yellow-600{--text-opacity:1;color:#9f580a;color:rgba(159,88,10,var(--text-opacity))}.group:focus .xl\:group-focus\:text-yellow-700{--text-opacity:1;color:#8e4b10;color:rgba(142,75,16,var(--text-opacity))}.group:focus .xl\:group-focus\:text-yellow-800{--text-opacity:1;color:#723b13;color:rgba(114,59,19,var(--text-opacity))}.group:focus .xl\:group-focus\:text-yellow-900{--text-opacity:1;color:#633112;color:rgba(99,49,18,var(--text-opacity))}.group:focus .xl\:group-focus\:text-green-50{--text-opacity:1;color:#f3faf7;color:rgba(243,250,247,var(--text-opacity))}.group:focus .xl\:group-focus\:text-green-100{--text-opacity:1;color:#def7ec;color:rgba(222,247,236,var(--text-opacity))}.group:focus .xl\:group-focus\:text-green-200{--text-opacity:1;color:#bcf0da;color:rgba(188,240,218,var(--text-opacity))}.group:focus .xl\:group-focus\:text-green-300{--text-opacity:1;color:#84e1bc;color:rgba(132,225,188,var(--text-opacity))}.group:focus .xl\:group-focus\:text-green-400{--text-opacity:1;color:#31c48d;color:rgba(49,196,141,var(--text-opacity))}.group:focus .xl\:group-focus\:text-green-500{--text-opacity:1;color:#0e9f6e;color:rgba(14,159,110,var(--text-opacity))}.group:focus .xl\:group-focus\:text-green-600{--text-opacity:1;color:#057a55;color:rgba(5,122,85,var(--text-opacity))}.group:focus .xl\:group-focus\:text-green-700{--text-opacity:1;color:#046c4e;color:rgba(4,108,78,var(--text-opacity))}.group:focus .xl\:group-focus\:text-green-800{--text-opacity:1;color:#03543f;color:rgba(3,84,63,var(--text-opacity))}.group:focus .xl\:group-focus\:text-green-900{--text-opacity:1;color:#014737;color:rgba(1,71,55,var(--text-opacity))}.group:focus .xl\:group-focus\:text-teal-50{--text-opacity:1;color:#edfafa;color:rgba(237,250,250,var(--text-opacity))}.group:focus .xl\:group-focus\:text-teal-100{--text-opacity:1;color:#d5f5f6;color:rgba(213,245,246,var(--text-opacity))}.group:focus .xl\:group-focus\:text-teal-200{--text-opacity:1;color:#afecef;color:rgba(175,236,239,var(--text-opacity))}.group:focus .xl\:group-focus\:text-teal-300{--text-opacity:1;color:#7edce2;color:rgba(126,220,226,var(--text-opacity))}.group:focus .xl\:group-focus\:text-teal-400{--text-opacity:1;color:#16bdca;color:rgba(22,189,202,var(--text-opacity))}.group:focus .xl\:group-focus\:text-teal-500{--text-opacity:1;color:#0694a2;color:rgba(6,148,162,var(--text-opacity))}.group:focus .xl\:group-focus\:text-teal-600{--text-opacity:1;color:#047481;color:rgba(4,116,129,var(--text-opacity))}.group:focus .xl\:group-focus\:text-teal-700{--text-opacity:1;color:#036672;color:rgba(3,102,114,var(--text-opacity))}.group:focus .xl\:group-focus\:text-teal-800{--text-opacity:1;color:#05505c;color:rgba(5,80,92,var(--text-opacity))}.group:focus .xl\:group-focus\:text-teal-900{--text-opacity:1;color:#014451;color:rgba(1,68,81,var(--text-opacity))}.group:focus .xl\:group-focus\:text-blue-50{--text-opacity:1;color:#ebf5ff;color:rgba(235,245,255,var(--text-opacity))}.group:focus .xl\:group-focus\:text-blue-100{--text-opacity:1;color:#e1effe;color:rgba(225,239,254,var(--text-opacity))}.group:focus .xl\:group-focus\:text-blue-200{--text-opacity:1;color:#c3ddfd;color:rgba(195,221,253,var(--text-opacity))}.group:focus .xl\:group-focus\:text-blue-300{--text-opacity:1;color:#a4cafe;color:rgba(164,202,254,var(--text-opacity))}.group:focus .xl\:group-focus\:text-blue-400{--text-opacity:1;color:#76a9fa;color:rgba(118,169,250,var(--text-opacity))}.group:focus .xl\:group-focus\:text-blue-500{--text-opacity:1;color:#3f83f8;color:rgba(63,131,248,var(--text-opacity))}.group:focus .xl\:group-focus\:text-blue-600{--text-opacity:1;color:#1c64f2;color:rgba(28,100,242,var(--text-opacity))}.group:focus .xl\:group-focus\:text-blue-700{--text-opacity:1;color:#1a56db;color:rgba(26,86,219,var(--text-opacity))}.group:focus .xl\:group-focus\:text-blue-800{--text-opacity:1;color:#1e429f;color:rgba(30,66,159,var(--text-opacity))}.group:focus .xl\:group-focus\:text-blue-900{--text-opacity:1;color:#233876;color:rgba(35,56,118,var(--text-opacity))}.group:focus .xl\:group-focus\:text-indigo-50{--text-opacity:1;color:#f0f5ff;color:rgba(240,245,255,var(--text-opacity))}.group:focus .xl\:group-focus\:text-indigo-100{--text-opacity:1;color:#e5edff;color:rgba(229,237,255,var(--text-opacity))}.group:focus .xl\:group-focus\:text-indigo-200{--text-opacity:1;color:#cddbfe;color:rgba(205,219,254,var(--text-opacity))}.group:focus .xl\:group-focus\:text-indigo-300{--text-opacity:1;color:#b4c6fc;color:rgba(180,198,252,var(--text-opacity))}.group:focus .xl\:group-focus\:text-indigo-400{--text-opacity:1;color:#8da2fb;color:rgba(141,162,251,var(--text-opacity))}.group:focus .xl\:group-focus\:text-indigo-500{--text-opacity:1;color:#6875f5;color:rgba(104,117,245,var(--text-opacity))}.group:focus .xl\:group-focus\:text-indigo-600{--text-opacity:1;color:#5850ec;color:rgba(88,80,236,var(--text-opacity))}.group:focus .xl\:group-focus\:text-indigo-700{--text-opacity:1;color:#5145cd;color:rgba(81,69,205,var(--text-opacity))}.group:focus .xl\:group-focus\:text-indigo-800{--text-opacity:1;color:#42389d;color:rgba(66,56,157,var(--text-opacity))}.group:focus .xl\:group-focus\:text-indigo-900{--text-opacity:1;color:#362f78;color:rgba(54,47,120,var(--text-opacity))}.group:focus .xl\:group-focus\:text-purple-50{--text-opacity:1;color:#f6f5ff;color:rgba(246,245,255,var(--text-opacity))}.group:focus .xl\:group-focus\:text-purple-100{--text-opacity:1;color:#edebfe;color:rgba(237,235,254,var(--text-opacity))}.group:focus .xl\:group-focus\:text-purple-200{--text-opacity:1;color:#dcd7fe;color:rgba(220,215,254,var(--text-opacity))}.group:focus .xl\:group-focus\:text-purple-300{--text-opacity:1;color:#cabffd;color:rgba(202,191,253,var(--text-opacity))}.group:focus .xl\:group-focus\:text-purple-400{--text-opacity:1;color:#ac94fa;color:rgba(172,148,250,var(--text-opacity))}.group:focus .xl\:group-focus\:text-purple-500{--text-opacity:1;color:#9061f9;color:rgba(144,97,249,var(--text-opacity))}.group:focus .xl\:group-focus\:text-purple-600{--text-opacity:1;color:#7e3af2;color:rgba(126,58,242,var(--text-opacity))}.group:focus .xl\:group-focus\:text-purple-700{--text-opacity:1;color:#6c2bd9;color:rgba(108,43,217,var(--text-opacity))}.group:focus .xl\:group-focus\:text-purple-800{--text-opacity:1;color:#5521b5;color:rgba(85,33,181,var(--text-opacity))}.group:focus .xl\:group-focus\:text-purple-900{--text-opacity:1;color:#4a1d96;color:rgba(74,29,150,var(--text-opacity))}.group:focus .xl\:group-focus\:text-pink-50{--text-opacity:1;color:#fdf2f8;color:rgba(253,242,248,var(--text-opacity))}.group:focus .xl\:group-focus\:text-pink-100{--text-opacity:1;color:#fce8f3;color:rgba(252,232,243,var(--text-opacity))}.group:focus .xl\:group-focus\:text-pink-200{--text-opacity:1;color:#fad1e8;color:rgba(250,209,232,var(--text-opacity))}.group:focus .xl\:group-focus\:text-pink-300{--text-opacity:1;color:#f8b4d9;color:rgba(248,180,217,var(--text-opacity))}.group:focus .xl\:group-focus\:text-pink-400{--text-opacity:1;color:#f17eb8;color:rgba(241,126,184,var(--text-opacity))}.group:focus .xl\:group-focus\:text-pink-500{--text-opacity:1;color:#e74694;color:rgba(231,70,148,var(--text-opacity))}.group:focus .xl\:group-focus\:text-pink-600{--text-opacity:1;color:#d61f69;color:rgba(214,31,105,var(--text-opacity))}.group:focus .xl\:group-focus\:text-pink-700{--text-opacity:1;color:#bf125d;color:rgba(191,18,93,var(--text-opacity))}.group:focus .xl\:group-focus\:text-pink-800{--text-opacity:1;color:#99154b;color:rgba(153,21,75,var(--text-opacity))}.group:focus .xl\:group-focus\:text-pink-900{--text-opacity:1;color:#751a3d;color:rgba(117,26,61,var(--text-opacity))}.xl\:hover\:text-transparent:hover{color:transparent}.xl\:hover\:text-white:hover{--text-opacity:1;color:#fff;color:rgba(255,255,255,var(--text-opacity))}.xl\:hover\:text-black:hover{--text-opacity:1;color:#000;color:rgba(0,0,0,var(--text-opacity))}.xl\:hover\:text-gray-50:hover{--text-opacity:1;color:#f9fafb;color:rgba(249,250,251,var(--text-opacity))}.xl\:hover\:text-gray-100:hover{--text-opacity:1;color:#f4f5f7;color:rgba(244,245,247,var(--text-opacity))}.xl\:hover\:text-gray-200:hover{--text-opacity:1;color:#e5e7eb;color:rgba(229,231,235,var(--text-opacity))}.xl\:hover\:text-gray-300:hover{--text-opacity:1;color:#d2d6dc;color:rgba(210,214,220,var(--text-opacity))}.xl\:hover\:text-gray-400:hover{--text-opacity:1;color:#9fa6b2;color:rgba(159,166,178,var(--text-opacity))}.xl\:hover\:text-gray-500:hover{--text-opacity:1;color:#6b7280;color:rgba(107,114,128,var(--text-opacity))}.xl\:hover\:text-gray-600:hover{--text-opacity:1;color:#4b5563;color:rgba(75,85,99,var(--text-opacity))}.xl\:hover\:text-gray-700:hover{--text-opacity:1;color:#374151;color:rgba(55,65,81,var(--text-opacity))}.xl\:hover\:text-gray-800:hover{--text-opacity:1;color:#252f3f;color:rgba(37,47,63,var(--text-opacity))}.xl\:hover\:text-gray-900:hover{--text-opacity:1;color:#161e2e;color:rgba(22,30,46,var(--text-opacity))}.xl\:hover\:text-cool-gray-50:hover{--text-opacity:1;color:#f8fafc;color:rgba(248,250,252,var(--text-opacity))}.xl\:hover\:text-cool-gray-100:hover{--text-opacity:1;color:#f1f5f9;color:rgba(241,245,249,var(--text-opacity))}.xl\:hover\:text-cool-gray-200:hover{--text-opacity:1;color:#e2e8f0;color:rgba(226,232,240,var(--text-opacity))}.xl\:hover\:text-cool-gray-300:hover{--text-opacity:1;color:#cfd8e3;color:rgba(207,216,227,var(--text-opacity))}.xl\:hover\:text-cool-gray-400:hover{--text-opacity:1;color:#97a6ba;color:rgba(151,166,186,var(--text-opacity))}.xl\:hover\:text-cool-gray-500:hover{--text-opacity:1;color:#64748b;color:rgba(100,116,139,var(--text-opacity))}.xl\:hover\:text-cool-gray-600:hover{--text-opacity:1;color:#475569;color:rgba(71,85,105,var(--text-opacity))}.xl\:hover\:text-cool-gray-700:hover{--text-opacity:1;color:#364152;color:rgba(54,65,82,var(--text-opacity))}.xl\:hover\:text-cool-gray-800:hover{--text-opacity:1;color:#27303f;color:rgba(39,48,63,var(--text-opacity))}.xl\:hover\:text-cool-gray-900:hover{--text-opacity:1;color:#1a202e;color:rgba(26,32,46,var(--text-opacity))}.xl\:hover\:text-red-50:hover{--text-opacity:1;color:#fdf2f2;color:rgba(253,242,242,var(--text-opacity))}.xl\:hover\:text-red-100:hover{--text-opacity:1;color:#fde8e8;color:rgba(253,232,232,var(--text-opacity))}.xl\:hover\:text-red-200:hover{--text-opacity:1;color:#fbd5d5;color:rgba(251,213,213,var(--text-opacity))}.xl\:hover\:text-red-300:hover{--text-opacity:1;color:#f8b4b4;color:rgba(248,180,180,var(--text-opacity))}.xl\:hover\:text-red-400:hover{--text-opacity:1;color:#f98080;color:rgba(249,128,128,var(--text-opacity))}.xl\:hover\:text-red-500:hover{--text-opacity:1;color:#f05252;color:rgba(240,82,82,var(--text-opacity))}.xl\:hover\:text-red-600:hover{--text-opacity:1;color:#e02424;color:rgba(224,36,36,var(--text-opacity))}.xl\:hover\:text-red-700:hover{--text-opacity:1;color:#c81e1e;color:rgba(200,30,30,var(--text-opacity))}.xl\:hover\:text-red-800:hover{--text-opacity:1;color:#9b1c1c;color:rgba(155,28,28,var(--text-opacity))}.xl\:hover\:text-red-900:hover{--text-opacity:1;color:#771d1d;color:rgba(119,29,29,var(--text-opacity))}.xl\:hover\:text-orange-50:hover{--text-opacity:1;color:#fff8f1;color:rgba(255,248,241,var(--text-opacity))}.xl\:hover\:text-orange-100:hover{--text-opacity:1;color:#feecdc;color:rgba(254,236,220,var(--text-opacity))}.xl\:hover\:text-orange-200:hover{--text-opacity:1;color:#fcd9bd;color:rgba(252,217,189,var(--text-opacity))}.xl\:hover\:text-orange-300:hover{--text-opacity:1;color:#fdba8c;color:rgba(253,186,140,var(--text-opacity))}.xl\:hover\:text-orange-400:hover{--text-opacity:1;color:#ff8a4c;color:rgba(255,138,76,var(--text-opacity))}.xl\:hover\:text-orange-500:hover{--text-opacity:1;color:#ff5a1f;color:rgba(255,90,31,var(--text-opacity))}.xl\:hover\:text-orange-600:hover{--text-opacity:1;color:#d03801;color:rgba(208,56,1,var(--text-opacity))}.xl\:hover\:text-orange-700:hover{--text-opacity:1;color:#b43403;color:rgba(180,52,3,var(--text-opacity))}.xl\:hover\:text-orange-800:hover{--text-opacity:1;color:#8a2c0d;color:rgba(138,44,13,var(--text-opacity))}.xl\:hover\:text-orange-900:hover{--text-opacity:1;color:#73230d;color:rgba(115,35,13,var(--text-opacity))}.xl\:hover\:text-yellow-50:hover{--text-opacity:1;color:#fdfdea;color:rgba(253,253,234,var(--text-opacity))}.xl\:hover\:text-yellow-100:hover{--text-opacity:1;color:#fdf6b2;color:rgba(253,246,178,var(--text-opacity))}.xl\:hover\:text-yellow-200:hover{--text-opacity:1;color:#fce96a;color:rgba(252,233,106,var(--text-opacity))}.xl\:hover\:text-yellow-300:hover{--text-opacity:1;color:#faca15;color:rgba(250,202,21,var(--text-opacity))}.xl\:hover\:text-yellow-400:hover{--text-opacity:1;color:#e3a008;color:rgba(227,160,8,var(--text-opacity))}.xl\:hover\:text-yellow-500:hover{--text-opacity:1;color:#c27803;color:rgba(194,120,3,var(--text-opacity))}.xl\:hover\:text-yellow-600:hover{--text-opacity:1;color:#9f580a;color:rgba(159,88,10,var(--text-opacity))}.xl\:hover\:text-yellow-700:hover{--text-opacity:1;color:#8e4b10;color:rgba(142,75,16,var(--text-opacity))}.xl\:hover\:text-yellow-800:hover{--text-opacity:1;color:#723b13;color:rgba(114,59,19,var(--text-opacity))}.xl\:hover\:text-yellow-900:hover{--text-opacity:1;color:#633112;color:rgba(99,49,18,var(--text-opacity))}.xl\:hover\:text-green-50:hover{--text-opacity:1;color:#f3faf7;color:rgba(243,250,247,var(--text-opacity))}.xl\:hover\:text-green-100:hover{--text-opacity:1;color:#def7ec;color:rgba(222,247,236,var(--text-opacity))}.xl\:hover\:text-green-200:hover{--text-opacity:1;color:#bcf0da;color:rgba(188,240,218,var(--text-opacity))}.xl\:hover\:text-green-300:hover{--text-opacity:1;color:#84e1bc;color:rgba(132,225,188,var(--text-opacity))}.xl\:hover\:text-green-400:hover{--text-opacity:1;color:#31c48d;color:rgba(49,196,141,var(--text-opacity))}.xl\:hover\:text-green-500:hover{--text-opacity:1;color:#0e9f6e;color:rgba(14,159,110,var(--text-opacity))}.xl\:hover\:text-green-600:hover{--text-opacity:1;color:#057a55;color:rgba(5,122,85,var(--text-opacity))}.xl\:hover\:text-green-700:hover{--text-opacity:1;color:#046c4e;color:rgba(4,108,78,var(--text-opacity))}.xl\:hover\:text-green-800:hover{--text-opacity:1;color:#03543f;color:rgba(3,84,63,var(--text-opacity))}.xl\:hover\:text-green-900:hover{--text-opacity:1;color:#014737;color:rgba(1,71,55,var(--text-opacity))}.xl\:hover\:text-teal-50:hover{--text-opacity:1;color:#edfafa;color:rgba(237,250,250,var(--text-opacity))}.xl\:hover\:text-teal-100:hover{--text-opacity:1;color:#d5f5f6;color:rgba(213,245,246,var(--text-opacity))}.xl\:hover\:text-teal-200:hover{--text-opacity:1;color:#afecef;color:rgba(175,236,239,var(--text-opacity))}.xl\:hover\:text-teal-300:hover{--text-opacity:1;color:#7edce2;color:rgba(126,220,226,var(--text-opacity))}.xl\:hover\:text-teal-400:hover{--text-opacity:1;color:#16bdca;color:rgba(22,189,202,var(--text-opacity))}.xl\:hover\:text-teal-500:hover{--text-opacity:1;color:#0694a2;color:rgba(6,148,162,var(--text-opacity))}.xl\:hover\:text-teal-600:hover{--text-opacity:1;color:#047481;color:rgba(4,116,129,var(--text-opacity))}.xl\:hover\:text-teal-700:hover{--text-opacity:1;color:#036672;color:rgba(3,102,114,var(--text-opacity))}.xl\:hover\:text-teal-800:hover{--text-opacity:1;color:#05505c;color:rgba(5,80,92,var(--text-opacity))}.xl\:hover\:text-teal-900:hover{--text-opacity:1;color:#014451;color:rgba(1,68,81,var(--text-opacity))}.xl\:hover\:text-blue-50:hover{--text-opacity:1;color:#ebf5ff;color:rgba(235,245,255,var(--text-opacity))}.xl\:hover\:text-blue-100:hover{--text-opacity:1;color:#e1effe;color:rgba(225,239,254,var(--text-opacity))}.xl\:hover\:text-blue-200:hover{--text-opacity:1;color:#c3ddfd;color:rgba(195,221,253,var(--text-opacity))}.xl\:hover\:text-blue-300:hover{--text-opacity:1;color:#a4cafe;color:rgba(164,202,254,var(--text-opacity))}.xl\:hover\:text-blue-400:hover{--text-opacity:1;color:#76a9fa;color:rgba(118,169,250,var(--text-opacity))}.xl\:hover\:text-blue-500:hover{--text-opacity:1;color:#3f83f8;color:rgba(63,131,248,var(--text-opacity))}.xl\:hover\:text-blue-600:hover{--text-opacity:1;color:#1c64f2;color:rgba(28,100,242,var(--text-opacity))}.xl\:hover\:text-blue-700:hover{--text-opacity:1;color:#1a56db;color:rgba(26,86,219,var(--text-opacity))}.xl\:hover\:text-blue-800:hover{--text-opacity:1;color:#1e429f;color:rgba(30,66,159,var(--text-opacity))}.xl\:hover\:text-blue-900:hover{--text-opacity:1;color:#233876;color:rgba(35,56,118,var(--text-opacity))}.xl\:hover\:text-indigo-50:hover{--text-opacity:1;color:#f0f5ff;color:rgba(240,245,255,var(--text-opacity))}.xl\:hover\:text-indigo-100:hover{--text-opacity:1;color:#e5edff;color:rgba(229,237,255,var(--text-opacity))}.xl\:hover\:text-indigo-200:hover{--text-opacity:1;color:#cddbfe;color:rgba(205,219,254,var(--text-opacity))}.xl\:hover\:text-indigo-300:hover{--text-opacity:1;color:#b4c6fc;color:rgba(180,198,252,var(--text-opacity))}.xl\:hover\:text-indigo-400:hover{--text-opacity:1;color:#8da2fb;color:rgba(141,162,251,var(--text-opacity))}.xl\:hover\:text-indigo-500:hover{--text-opacity:1;color:#6875f5;color:rgba(104,117,245,var(--text-opacity))}.xl\:hover\:text-indigo-600:hover{--text-opacity:1;color:#5850ec;color:rgba(88,80,236,var(--text-opacity))}.xl\:hover\:text-indigo-700:hover{--text-opacity:1;color:#5145cd;color:rgba(81,69,205,var(--text-opacity))}.xl\:hover\:text-indigo-800:hover{--text-opacity:1;color:#42389d;color:rgba(66,56,157,var(--text-opacity))}.xl\:hover\:text-indigo-900:hover{--text-opacity:1;color:#362f78;color:rgba(54,47,120,var(--text-opacity))}.xl\:hover\:text-purple-50:hover{--text-opacity:1;color:#f6f5ff;color:rgba(246,245,255,var(--text-opacity))}.xl\:hover\:text-purple-100:hover{--text-opacity:1;color:#edebfe;color:rgba(237,235,254,var(--text-opacity))}.xl\:hover\:text-purple-200:hover{--text-opacity:1;color:#dcd7fe;color:rgba(220,215,254,var(--text-opacity))}.xl\:hover\:text-purple-300:hover{--text-opacity:1;color:#cabffd;color:rgba(202,191,253,var(--text-opacity))}.xl\:hover\:text-purple-400:hover{--text-opacity:1;color:#ac94fa;color:rgba(172,148,250,var(--text-opacity))}.xl\:hover\:text-purple-500:hover{--text-opacity:1;color:#9061f9;color:rgba(144,97,249,var(--text-opacity))}.xl\:hover\:text-purple-600:hover{--text-opacity:1;color:#7e3af2;color:rgba(126,58,242,var(--text-opacity))}.xl\:hover\:text-purple-700:hover{--text-opacity:1;color:#6c2bd9;color:rgba(108,43,217,var(--text-opacity))}.xl\:hover\:text-purple-800:hover{--text-opacity:1;color:#5521b5;color:rgba(85,33,181,var(--text-opacity))}.xl\:hover\:text-purple-900:hover{--text-opacity:1;color:#4a1d96;color:rgba(74,29,150,var(--text-opacity))}.xl\:hover\:text-pink-50:hover{--text-opacity:1;color:#fdf2f8;color:rgba(253,242,248,var(--text-opacity))}.xl\:hover\:text-pink-100:hover{--text-opacity:1;color:#fce8f3;color:rgba(252,232,243,var(--text-opacity))}.xl\:hover\:text-pink-200:hover{--text-opacity:1;color:#fad1e8;color:rgba(250,209,232,var(--text-opacity))}.xl\:hover\:text-pink-300:hover{--text-opacity:1;color:#f8b4d9;color:rgba(248,180,217,var(--text-opacity))}.xl\:hover\:text-pink-400:hover{--text-opacity:1;color:#f17eb8;color:rgba(241,126,184,var(--text-opacity))}.xl\:hover\:text-pink-500:hover{--text-opacity:1;color:#e74694;color:rgba(231,70,148,var(--text-opacity))}.xl\:hover\:text-pink-600:hover{--text-opacity:1;color:#d61f69;color:rgba(214,31,105,var(--text-opacity))}.xl\:hover\:text-pink-700:hover{--text-opacity:1;color:#bf125d;color:rgba(191,18,93,var(--text-opacity))}.xl\:hover\:text-pink-800:hover{--text-opacity:1;color:#99154b;color:rgba(153,21,75,var(--text-opacity))}.xl\:hover\:text-pink-900:hover{--text-opacity:1;color:#751a3d;color:rgba(117,26,61,var(--text-opacity))}.xl\:focus-within\:text-transparent:focus-within{color:transparent}.xl\:focus-within\:text-white:focus-within{--text-opacity:1;color:#fff;color:rgba(255,255,255,var(--text-opacity))}.xl\:focus-within\:text-black:focus-within{--text-opacity:1;color:#000;color:rgba(0,0,0,var(--text-opacity))}.xl\:focus-within\:text-gray-50:focus-within{--text-opacity:1;color:#f9fafb;color:rgba(249,250,251,var(--text-opacity))}.xl\:focus-within\:text-gray-100:focus-within{--text-opacity:1;color:#f4f5f7;color:rgba(244,245,247,var(--text-opacity))}.xl\:focus-within\:text-gray-200:focus-within{--text-opacity:1;color:#e5e7eb;color:rgba(229,231,235,var(--text-opacity))}.xl\:focus-within\:text-gray-300:focus-within{--text-opacity:1;color:#d2d6dc;color:rgba(210,214,220,var(--text-opacity))}.xl\:focus-within\:text-gray-400:focus-within{--text-opacity:1;color:#9fa6b2;color:rgba(159,166,178,var(--text-opacity))}.xl\:focus-within\:text-gray-500:focus-within{--text-opacity:1;color:#6b7280;color:rgba(107,114,128,var(--text-opacity))}.xl\:focus-within\:text-gray-600:focus-within{--text-opacity:1;color:#4b5563;color:rgba(75,85,99,var(--text-opacity))}.xl\:focus-within\:text-gray-700:focus-within{--text-opacity:1;color:#374151;color:rgba(55,65,81,var(--text-opacity))}.xl\:focus-within\:text-gray-800:focus-within{--text-opacity:1;color:#252f3f;color:rgba(37,47,63,var(--text-opacity))}.xl\:focus-within\:text-gray-900:focus-within{--text-opacity:1;color:#161e2e;color:rgba(22,30,46,var(--text-opacity))}.xl\:focus-within\:text-cool-gray-50:focus-within{--text-opacity:1;color:#f8fafc;color:rgba(248,250,252,var(--text-opacity))}.xl\:focus-within\:text-cool-gray-100:focus-within{--text-opacity:1;color:#f1f5f9;color:rgba(241,245,249,var(--text-opacity))}.xl\:focus-within\:text-cool-gray-200:focus-within{--text-opacity:1;color:#e2e8f0;color:rgba(226,232,240,var(--text-opacity))}.xl\:focus-within\:text-cool-gray-300:focus-within{--text-opacity:1;color:#cfd8e3;color:rgba(207,216,227,var(--text-opacity))}.xl\:focus-within\:text-cool-gray-400:focus-within{--text-opacity:1;color:#97a6ba;color:rgba(151,166,186,var(--text-opacity))}.xl\:focus-within\:text-cool-gray-500:focus-within{--text-opacity:1;color:#64748b;color:rgba(100,116,139,var(--text-opacity))}.xl\:focus-within\:text-cool-gray-600:focus-within{--text-opacity:1;color:#475569;color:rgba(71,85,105,var(--text-opacity))}.xl\:focus-within\:text-cool-gray-700:focus-within{--text-opacity:1;color:#364152;color:rgba(54,65,82,var(--text-opacity))}.xl\:focus-within\:text-cool-gray-800:focus-within{--text-opacity:1;color:#27303f;color:rgba(39,48,63,var(--text-opacity))}.xl\:focus-within\:text-cool-gray-900:focus-within{--text-opacity:1;color:#1a202e;color:rgba(26,32,46,var(--text-opacity))}.xl\:focus-within\:text-red-50:focus-within{--text-opacity:1;color:#fdf2f2;color:rgba(253,242,242,var(--text-opacity))}.xl\:focus-within\:text-red-100:focus-within{--text-opacity:1;color:#fde8e8;color:rgba(253,232,232,var(--text-opacity))}.xl\:focus-within\:text-red-200:focus-within{--text-opacity:1;color:#fbd5d5;color:rgba(251,213,213,var(--text-opacity))}.xl\:focus-within\:text-red-300:focus-within{--text-opacity:1;color:#f8b4b4;color:rgba(248,180,180,var(--text-opacity))}.xl\:focus-within\:text-red-400:focus-within{--text-opacity:1;color:#f98080;color:rgba(249,128,128,var(--text-opacity))}.xl\:focus-within\:text-red-500:focus-within{--text-opacity:1;color:#f05252;color:rgba(240,82,82,var(--text-opacity))}.xl\:focus-within\:text-red-600:focus-within{--text-opacity:1;color:#e02424;color:rgba(224,36,36,var(--text-opacity))}.xl\:focus-within\:text-red-700:focus-within{--text-opacity:1;color:#c81e1e;color:rgba(200,30,30,var(--text-opacity))}.xl\:focus-within\:text-red-800:focus-within{--text-opacity:1;color:#9b1c1c;color:rgba(155,28,28,var(--text-opacity))}.xl\:focus-within\:text-red-900:focus-within{--text-opacity:1;color:#771d1d;color:rgba(119,29,29,var(--text-opacity))}.xl\:focus-within\:text-orange-50:focus-within{--text-opacity:1;color:#fff8f1;color:rgba(255,248,241,var(--text-opacity))}.xl\:focus-within\:text-orange-100:focus-within{--text-opacity:1;color:#feecdc;color:rgba(254,236,220,var(--text-opacity))}.xl\:focus-within\:text-orange-200:focus-within{--text-opacity:1;color:#fcd9bd;color:rgba(252,217,189,var(--text-opacity))}.xl\:focus-within\:text-orange-300:focus-within{--text-opacity:1;color:#fdba8c;color:rgba(253,186,140,var(--text-opacity))}.xl\:focus-within\:text-orange-400:focus-within{--text-opacity:1;color:#ff8a4c;color:rgba(255,138,76,var(--text-opacity))}.xl\:focus-within\:text-orange-500:focus-within{--text-opacity:1;color:#ff5a1f;color:rgba(255,90,31,var(--text-opacity))}.xl\:focus-within\:text-orange-600:focus-within{--text-opacity:1;color:#d03801;color:rgba(208,56,1,var(--text-opacity))}.xl\:focus-within\:text-orange-700:focus-within{--text-opacity:1;color:#b43403;color:rgba(180,52,3,var(--text-opacity))}.xl\:focus-within\:text-orange-800:focus-within{--text-opacity:1;color:#8a2c0d;color:rgba(138,44,13,var(--text-opacity))}.xl\:focus-within\:text-orange-900:focus-within{--text-opacity:1;color:#73230d;color:rgba(115,35,13,var(--text-opacity))}.xl\:focus-within\:text-yellow-50:focus-within{--text-opacity:1;color:#fdfdea;color:rgba(253,253,234,var(--text-opacity))}.xl\:focus-within\:text-yellow-100:focus-within{--text-opacity:1;color:#fdf6b2;color:rgba(253,246,178,var(--text-opacity))}.xl\:focus-within\:text-yellow-200:focus-within{--text-opacity:1;color:#fce96a;color:rgba(252,233,106,var(--text-opacity))}.xl\:focus-within\:text-yellow-300:focus-within{--text-opacity:1;color:#faca15;color:rgba(250,202,21,var(--text-opacity))}.xl\:focus-within\:text-yellow-400:focus-within{--text-opacity:1;color:#e3a008;color:rgba(227,160,8,var(--text-opacity))}.xl\:focus-within\:text-yellow-500:focus-within{--text-opacity:1;color:#c27803;color:rgba(194,120,3,var(--text-opacity))}.xl\:focus-within\:text-yellow-600:focus-within{--text-opacity:1;color:#9f580a;color:rgba(159,88,10,var(--text-opacity))}.xl\:focus-within\:text-yellow-700:focus-within{--text-opacity:1;color:#8e4b10;color:rgba(142,75,16,var(--text-opacity))}.xl\:focus-within\:text-yellow-800:focus-within{--text-opacity:1;color:#723b13;color:rgba(114,59,19,var(--text-opacity))}.xl\:focus-within\:text-yellow-900:focus-within{--text-opacity:1;color:#633112;color:rgba(99,49,18,var(--text-opacity))}.xl\:focus-within\:text-green-50:focus-within{--text-opacity:1;color:#f3faf7;color:rgba(243,250,247,var(--text-opacity))}.xl\:focus-within\:text-green-100:focus-within{--text-opacity:1;color:#def7ec;color:rgba(222,247,236,var(--text-opacity))}.xl\:focus-within\:text-green-200:focus-within{--text-opacity:1;color:#bcf0da;color:rgba(188,240,218,var(--text-opacity))}.xl\:focus-within\:text-green-300:focus-within{--text-opacity:1;color:#84e1bc;color:rgba(132,225,188,var(--text-opacity))}.xl\:focus-within\:text-green-400:focus-within{--text-opacity:1;color:#31c48d;color:rgba(49,196,141,var(--text-opacity))}.xl\:focus-within\:text-green-500:focus-within{--text-opacity:1;color:#0e9f6e;color:rgba(14,159,110,var(--text-opacity))}.xl\:focus-within\:text-green-600:focus-within{--text-opacity:1;color:#057a55;color:rgba(5,122,85,var(--text-opacity))}.xl\:focus-within\:text-green-700:focus-within{--text-opacity:1;color:#046c4e;color:rgba(4,108,78,var(--text-opacity))}.xl\:focus-within\:text-green-800:focus-within{--text-opacity:1;color:#03543f;color:rgba(3,84,63,var(--text-opacity))}.xl\:focus-within\:text-green-900:focus-within{--text-opacity:1;color:#014737;color:rgba(1,71,55,var(--text-opacity))}.xl\:focus-within\:text-teal-50:focus-within{--text-opacity:1;color:#edfafa;color:rgba(237,250,250,var(--text-opacity))}.xl\:focus-within\:text-teal-100:focus-within{--text-opacity:1;color:#d5f5f6;color:rgba(213,245,246,var(--text-opacity))}.xl\:focus-within\:text-teal-200:focus-within{--text-opacity:1;color:#afecef;color:rgba(175,236,239,var(--text-opacity))}.xl\:focus-within\:text-teal-300:focus-within{--text-opacity:1;color:#7edce2;color:rgba(126,220,226,var(--text-opacity))}.xl\:focus-within\:text-teal-400:focus-within{--text-opacity:1;color:#16bdca;color:rgba(22,189,202,var(--text-opacity))}.xl\:focus-within\:text-teal-500:focus-within{--text-opacity:1;color:#0694a2;color:rgba(6,148,162,var(--text-opacity))}.xl\:focus-within\:text-teal-600:focus-within{--text-opacity:1;color:#047481;color:rgba(4,116,129,var(--text-opacity))}.xl\:focus-within\:text-teal-700:focus-within{--text-opacity:1;color:#036672;color:rgba(3,102,114,var(--text-opacity))}.xl\:focus-within\:text-teal-800:focus-within{--text-opacity:1;color:#05505c;color:rgba(5,80,92,var(--text-opacity))}.xl\:focus-within\:text-teal-900:focus-within{--text-opacity:1;color:#014451;color:rgba(1,68,81,var(--text-opacity))}.xl\:focus-within\:text-blue-50:focus-within{--text-opacity:1;color:#ebf5ff;color:rgba(235,245,255,var(--text-opacity))}.xl\:focus-within\:text-blue-100:focus-within{--text-opacity:1;color:#e1effe;color:rgba(225,239,254,var(--text-opacity))}.xl\:focus-within\:text-blue-200:focus-within{--text-opacity:1;color:#c3ddfd;color:rgba(195,221,253,var(--text-opacity))}.xl\:focus-within\:text-blue-300:focus-within{--text-opacity:1;color:#a4cafe;color:rgba(164,202,254,var(--text-opacity))}.xl\:focus-within\:text-blue-400:focus-within{--text-opacity:1;color:#76a9fa;color:rgba(118,169,250,var(--text-opacity))}.xl\:focus-within\:text-blue-500:focus-within{--text-opacity:1;color:#3f83f8;color:rgba(63,131,248,var(--text-opacity))}.xl\:focus-within\:text-blue-600:focus-within{--text-opacity:1;color:#1c64f2;color:rgba(28,100,242,var(--text-opacity))}.xl\:focus-within\:text-blue-700:focus-within{--text-opacity:1;color:#1a56db;color:rgba(26,86,219,var(--text-opacity))}.xl\:focus-within\:text-blue-800:focus-within{--text-opacity:1;color:#1e429f;color:rgba(30,66,159,var(--text-opacity))}.xl\:focus-within\:text-blue-900:focus-within{--text-opacity:1;color:#233876;color:rgba(35,56,118,var(--text-opacity))}.xl\:focus-within\:text-indigo-50:focus-within{--text-opacity:1;color:#f0f5ff;color:rgba(240,245,255,var(--text-opacity))}.xl\:focus-within\:text-indigo-100:focus-within{--text-opacity:1;color:#e5edff;color:rgba(229,237,255,var(--text-opacity))}.xl\:focus-within\:text-indigo-200:focus-within{--text-opacity:1;color:#cddbfe;color:rgba(205,219,254,var(--text-opacity))}.xl\:focus-within\:text-indigo-300:focus-within{--text-opacity:1;color:#b4c6fc;color:rgba(180,198,252,var(--text-opacity))}.xl\:focus-within\:text-indigo-400:focus-within{--text-opacity:1;color:#8da2fb;color:rgba(141,162,251,var(--text-opacity))}.xl\:focus-within\:text-indigo-500:focus-within{--text-opacity:1;color:#6875f5;color:rgba(104,117,245,var(--text-opacity))}.xl\:focus-within\:text-indigo-600:focus-within{--text-opacity:1;color:#5850ec;color:rgba(88,80,236,var(--text-opacity))}.xl\:focus-within\:text-indigo-700:focus-within{--text-opacity:1;color:#5145cd;color:rgba(81,69,205,var(--text-opacity))}.xl\:focus-within\:text-indigo-800:focus-within{--text-opacity:1;color:#42389d;color:rgba(66,56,157,var(--text-opacity))}.xl\:focus-within\:text-indigo-900:focus-within{--text-opacity:1;color:#362f78;color:rgba(54,47,120,var(--text-opacity))}.xl\:focus-within\:text-purple-50:focus-within{--text-opacity:1;color:#f6f5ff;color:rgba(246,245,255,var(--text-opacity))}.xl\:focus-within\:text-purple-100:focus-within{--text-opacity:1;color:#edebfe;color:rgba(237,235,254,var(--text-opacity))}.xl\:focus-within\:text-purple-200:focus-within{--text-opacity:1;color:#dcd7fe;color:rgba(220,215,254,var(--text-opacity))}.xl\:focus-within\:text-purple-300:focus-within{--text-opacity:1;color:#cabffd;color:rgba(202,191,253,var(--text-opacity))}.xl\:focus-within\:text-purple-400:focus-within{--text-opacity:1;color:#ac94fa;color:rgba(172,148,250,var(--text-opacity))}.xl\:focus-within\:text-purple-500:focus-within{--text-opacity:1;color:#9061f9;color:rgba(144,97,249,var(--text-opacity))}.xl\:focus-within\:text-purple-600:focus-within{--text-opacity:1;color:#7e3af2;color:rgba(126,58,242,var(--text-opacity))}.xl\:focus-within\:text-purple-700:focus-within{--text-opacity:1;color:#6c2bd9;color:rgba(108,43,217,var(--text-opacity))}.xl\:focus-within\:text-purple-800:focus-within{--text-opacity:1;color:#5521b5;color:rgba(85,33,181,var(--text-opacity))}.xl\:focus-within\:text-purple-900:focus-within{--text-opacity:1;color:#4a1d96;color:rgba(74,29,150,var(--text-opacity))}.xl\:focus-within\:text-pink-50:focus-within{--text-opacity:1;color:#fdf2f8;color:rgba(253,242,248,var(--text-opacity))}.xl\:focus-within\:text-pink-100:focus-within{--text-opacity:1;color:#fce8f3;color:rgba(252,232,243,var(--text-opacity))}.xl\:focus-within\:text-pink-200:focus-within{--text-opacity:1;color:#fad1e8;color:rgba(250,209,232,var(--text-opacity))}.xl\:focus-within\:text-pink-300:focus-within{--text-opacity:1;color:#f8b4d9;color:rgba(248,180,217,var(--text-opacity))}.xl\:focus-within\:text-pink-400:focus-within{--text-opacity:1;color:#f17eb8;color:rgba(241,126,184,var(--text-opacity))}.xl\:focus-within\:text-pink-500:focus-within{--text-opacity:1;color:#e74694;color:rgba(231,70,148,var(--text-opacity))}.xl\:focus-within\:text-pink-600:focus-within{--text-opacity:1;color:#d61f69;color:rgba(214,31,105,var(--text-opacity))}.xl\:focus-within\:text-pink-700:focus-within{--text-opacity:1;color:#bf125d;color:rgba(191,18,93,var(--text-opacity))}.xl\:focus-within\:text-pink-800:focus-within{--text-opacity:1;color:#99154b;color:rgba(153,21,75,var(--text-opacity))}.xl\:focus-within\:text-pink-900:focus-within{--text-opacity:1;color:#751a3d;color:rgba(117,26,61,var(--text-opacity))}.xl\:focus\:text-transparent:focus{color:transparent}.xl\:focus\:text-white:focus{--text-opacity:1;color:#fff;color:rgba(255,255,255,var(--text-opacity))}.xl\:focus\:text-black:focus{--text-opacity:1;color:#000;color:rgba(0,0,0,var(--text-opacity))}.xl\:focus\:text-gray-50:focus{--text-opacity:1;color:#f9fafb;color:rgba(249,250,251,var(--text-opacity))}.xl\:focus\:text-gray-100:focus{--text-opacity:1;color:#f4f5f7;color:rgba(244,245,247,var(--text-opacity))}.xl\:focus\:text-gray-200:focus{--text-opacity:1;color:#e5e7eb;color:rgba(229,231,235,var(--text-opacity))}.xl\:focus\:text-gray-300:focus{--text-opacity:1;color:#d2d6dc;color:rgba(210,214,220,var(--text-opacity))}.xl\:focus\:text-gray-400:focus{--text-opacity:1;color:#9fa6b2;color:rgba(159,166,178,var(--text-opacity))}.xl\:focus\:text-gray-500:focus{--text-opacity:1;color:#6b7280;color:rgba(107,114,128,var(--text-opacity))}.xl\:focus\:text-gray-600:focus{--text-opacity:1;color:#4b5563;color:rgba(75,85,99,var(--text-opacity))}.xl\:focus\:text-gray-700:focus{--text-opacity:1;color:#374151;color:rgba(55,65,81,var(--text-opacity))}.xl\:focus\:text-gray-800:focus{--text-opacity:1;color:#252f3f;color:rgba(37,47,63,var(--text-opacity))}.xl\:focus\:text-gray-900:focus{--text-opacity:1;color:#161e2e;color:rgba(22,30,46,var(--text-opacity))}.xl\:focus\:text-cool-gray-50:focus{--text-opacity:1;color:#f8fafc;color:rgba(248,250,252,var(--text-opacity))}.xl\:focus\:text-cool-gray-100:focus{--text-opacity:1;color:#f1f5f9;color:rgba(241,245,249,var(--text-opacity))}.xl\:focus\:text-cool-gray-200:focus{--text-opacity:1;color:#e2e8f0;color:rgba(226,232,240,var(--text-opacity))}.xl\:focus\:text-cool-gray-300:focus{--text-opacity:1;color:#cfd8e3;color:rgba(207,216,227,var(--text-opacity))}.xl\:focus\:text-cool-gray-400:focus{--text-opacity:1;color:#97a6ba;color:rgba(151,166,186,var(--text-opacity))}.xl\:focus\:text-cool-gray-500:focus{--text-opacity:1;color:#64748b;color:rgba(100,116,139,var(--text-opacity))}.xl\:focus\:text-cool-gray-600:focus{--text-opacity:1;color:#475569;color:rgba(71,85,105,var(--text-opacity))}.xl\:focus\:text-cool-gray-700:focus{--text-opacity:1;color:#364152;color:rgba(54,65,82,var(--text-opacity))}.xl\:focus\:text-cool-gray-800:focus{--text-opacity:1;color:#27303f;color:rgba(39,48,63,var(--text-opacity))}.xl\:focus\:text-cool-gray-900:focus{--text-opacity:1;color:#1a202e;color:rgba(26,32,46,var(--text-opacity))}.xl\:focus\:text-red-50:focus{--text-opacity:1;color:#fdf2f2;color:rgba(253,242,242,var(--text-opacity))}.xl\:focus\:text-red-100:focus{--text-opacity:1;color:#fde8e8;color:rgba(253,232,232,var(--text-opacity))}.xl\:focus\:text-red-200:focus{--text-opacity:1;color:#fbd5d5;color:rgba(251,213,213,var(--text-opacity))}.xl\:focus\:text-red-300:focus{--text-opacity:1;color:#f8b4b4;color:rgba(248,180,180,var(--text-opacity))}.xl\:focus\:text-red-400:focus{--text-opacity:1;color:#f98080;color:rgba(249,128,128,var(--text-opacity))}.xl\:focus\:text-red-500:focus{--text-opacity:1;color:#f05252;color:rgba(240,82,82,var(--text-opacity))}.xl\:focus\:text-red-600:focus{--text-opacity:1;color:#e02424;color:rgba(224,36,36,var(--text-opacity))}.xl\:focus\:text-red-700:focus{--text-opacity:1;color:#c81e1e;color:rgba(200,30,30,var(--text-opacity))}.xl\:focus\:text-red-800:focus{--text-opacity:1;color:#9b1c1c;color:rgba(155,28,28,var(--text-opacity))}.xl\:focus\:text-red-900:focus{--text-opacity:1;color:#771d1d;color:rgba(119,29,29,var(--text-opacity))}.xl\:focus\:text-orange-50:focus{--text-opacity:1;color:#fff8f1;color:rgba(255,248,241,var(--text-opacity))}.xl\:focus\:text-orange-100:focus{--text-opacity:1;color:#feecdc;color:rgba(254,236,220,var(--text-opacity))}.xl\:focus\:text-orange-200:focus{--text-opacity:1;color:#fcd9bd;color:rgba(252,217,189,var(--text-opacity))}.xl\:focus\:text-orange-300:focus{--text-opacity:1;color:#fdba8c;color:rgba(253,186,140,var(--text-opacity))}.xl\:focus\:text-orange-400:focus{--text-opacity:1;color:#ff8a4c;color:rgba(255,138,76,var(--text-opacity))}.xl\:focus\:text-orange-500:focus{--text-opacity:1;color:#ff5a1f;color:rgba(255,90,31,var(--text-opacity))}.xl\:focus\:text-orange-600:focus{--text-opacity:1;color:#d03801;color:rgba(208,56,1,var(--text-opacity))}.xl\:focus\:text-orange-700:focus{--text-opacity:1;color:#b43403;color:rgba(180,52,3,var(--text-opacity))}.xl\:focus\:text-orange-800:focus{--text-opacity:1;color:#8a2c0d;color:rgba(138,44,13,var(--text-opacity))}.xl\:focus\:text-orange-900:focus{--text-opacity:1;color:#73230d;color:rgba(115,35,13,var(--text-opacity))}.xl\:focus\:text-yellow-50:focus{--text-opacity:1;color:#fdfdea;color:rgba(253,253,234,var(--text-opacity))}.xl\:focus\:text-yellow-100:focus{--text-opacity:1;color:#fdf6b2;color:rgba(253,246,178,var(--text-opacity))}.xl\:focus\:text-yellow-200:focus{--text-opacity:1;color:#fce96a;color:rgba(252,233,106,var(--text-opacity))}.xl\:focus\:text-yellow-300:focus{--text-opacity:1;color:#faca15;color:rgba(250,202,21,var(--text-opacity))}.xl\:focus\:text-yellow-400:focus{--text-opacity:1;color:#e3a008;color:rgba(227,160,8,var(--text-opacity))}.xl\:focus\:text-yellow-500:focus{--text-opacity:1;color:#c27803;color:rgba(194,120,3,var(--text-opacity))}.xl\:focus\:text-yellow-600:focus{--text-opacity:1;color:#9f580a;color:rgba(159,88,10,var(--text-opacity))}.xl\:focus\:text-yellow-700:focus{--text-opacity:1;color:#8e4b10;color:rgba(142,75,16,var(--text-opacity))}.xl\:focus\:text-yellow-800:focus{--text-opacity:1;color:#723b13;color:rgba(114,59,19,var(--text-opacity))}.xl\:focus\:text-yellow-900:focus{--text-opacity:1;color:#633112;color:rgba(99,49,18,var(--text-opacity))}.xl\:focus\:text-green-50:focus{--text-opacity:1;color:#f3faf7;color:rgba(243,250,247,var(--text-opacity))}.xl\:focus\:text-green-100:focus{--text-opacity:1;color:#def7ec;color:rgba(222,247,236,var(--text-opacity))}.xl\:focus\:text-green-200:focus{--text-opacity:1;color:#bcf0da;color:rgba(188,240,218,var(--text-opacity))}.xl\:focus\:text-green-300:focus{--text-opacity:1;color:#84e1bc;color:rgba(132,225,188,var(--text-opacity))}.xl\:focus\:text-green-400:focus{--text-opacity:1;color:#31c48d;color:rgba(49,196,141,var(--text-opacity))}.xl\:focus\:text-green-500:focus{--text-opacity:1;color:#0e9f6e;color:rgba(14,159,110,var(--text-opacity))}.xl\:focus\:text-green-600:focus{--text-opacity:1;color:#057a55;color:rgba(5,122,85,var(--text-opacity))}.xl\:focus\:text-green-700:focus{--text-opacity:1;color:#046c4e;color:rgba(4,108,78,var(--text-opacity))}.xl\:focus\:text-green-800:focus{--text-opacity:1;color:#03543f;color:rgba(3,84,63,var(--text-opacity))}.xl\:focus\:text-green-900:focus{--text-opacity:1;color:#014737;color:rgba(1,71,55,var(--text-opacity))}.xl\:focus\:text-teal-50:focus{--text-opacity:1;color:#edfafa;color:rgba(237,250,250,var(--text-opacity))}.xl\:focus\:text-teal-100:focus{--text-opacity:1;color:#d5f5f6;color:rgba(213,245,246,var(--text-opacity))}.xl\:focus\:text-teal-200:focus{--text-opacity:1;color:#afecef;color:rgba(175,236,239,var(--text-opacity))}.xl\:focus\:text-teal-300:focus{--text-opacity:1;color:#7edce2;color:rgba(126,220,226,var(--text-opacity))}.xl\:focus\:text-teal-400:focus{--text-opacity:1;color:#16bdca;color:rgba(22,189,202,var(--text-opacity))}.xl\:focus\:text-teal-500:focus{--text-opacity:1;color:#0694a2;color:rgba(6,148,162,var(--text-opacity))}.xl\:focus\:text-teal-600:focus{--text-opacity:1;color:#047481;color:rgba(4,116,129,var(--text-opacity))}.xl\:focus\:text-teal-700:focus{--text-opacity:1;color:#036672;color:rgba(3,102,114,var(--text-opacity))}.xl\:focus\:text-teal-800:focus{--text-opacity:1;color:#05505c;color:rgba(5,80,92,var(--text-opacity))}.xl\:focus\:text-teal-900:focus{--text-opacity:1;color:#014451;color:rgba(1,68,81,var(--text-opacity))}.xl\:focus\:text-blue-50:focus{--text-opacity:1;color:#ebf5ff;color:rgba(235,245,255,var(--text-opacity))}.xl\:focus\:text-blue-100:focus{--text-opacity:1;color:#e1effe;color:rgba(225,239,254,var(--text-opacity))}.xl\:focus\:text-blue-200:focus{--text-opacity:1;color:#c3ddfd;color:rgba(195,221,253,var(--text-opacity))}.xl\:focus\:text-blue-300:focus{--text-opacity:1;color:#a4cafe;color:rgba(164,202,254,var(--text-opacity))}.xl\:focus\:text-blue-400:focus{--text-opacity:1;color:#76a9fa;color:rgba(118,169,250,var(--text-opacity))}.xl\:focus\:text-blue-500:focus{--text-opacity:1;color:#3f83f8;color:rgba(63,131,248,var(--text-opacity))}.xl\:focus\:text-blue-600:focus{--text-opacity:1;color:#1c64f2;color:rgba(28,100,242,var(--text-opacity))}.xl\:focus\:text-blue-700:focus{--text-opacity:1;color:#1a56db;color:rgba(26,86,219,var(--text-opacity))}.xl\:focus\:text-blue-800:focus{--text-opacity:1;color:#1e429f;color:rgba(30,66,159,var(--text-opacity))}.xl\:focus\:text-blue-900:focus{--text-opacity:1;color:#233876;color:rgba(35,56,118,var(--text-opacity))}.xl\:focus\:text-indigo-50:focus{--text-opacity:1;color:#f0f5ff;color:rgba(240,245,255,var(--text-opacity))}.xl\:focus\:text-indigo-100:focus{--text-opacity:1;color:#e5edff;color:rgba(229,237,255,var(--text-opacity))}.xl\:focus\:text-indigo-200:focus{--text-opacity:1;color:#cddbfe;color:rgba(205,219,254,var(--text-opacity))}.xl\:focus\:text-indigo-300:focus{--text-opacity:1;color:#b4c6fc;color:rgba(180,198,252,var(--text-opacity))}.xl\:focus\:text-indigo-400:focus{--text-opacity:1;color:#8da2fb;color:rgba(141,162,251,var(--text-opacity))}.xl\:focus\:text-indigo-500:focus{--text-opacity:1;color:#6875f5;color:rgba(104,117,245,var(--text-opacity))}.xl\:focus\:text-indigo-600:focus{--text-opacity:1;color:#5850ec;color:rgba(88,80,236,var(--text-opacity))}.xl\:focus\:text-indigo-700:focus{--text-opacity:1;color:#5145cd;color:rgba(81,69,205,var(--text-opacity))}.xl\:focus\:text-indigo-800:focus{--text-opacity:1;color:#42389d;color:rgba(66,56,157,var(--text-opacity))}.xl\:focus\:text-indigo-900:focus{--text-opacity:1;color:#362f78;color:rgba(54,47,120,var(--text-opacity))}.xl\:focus\:text-purple-50:focus{--text-opacity:1;color:#f6f5ff;color:rgba(246,245,255,var(--text-opacity))}.xl\:focus\:text-purple-100:focus{--text-opacity:1;color:#edebfe;color:rgba(237,235,254,var(--text-opacity))}.xl\:focus\:text-purple-200:focus{--text-opacity:1;color:#dcd7fe;color:rgba(220,215,254,var(--text-opacity))}.xl\:focus\:text-purple-300:focus{--text-opacity:1;color:#cabffd;color:rgba(202,191,253,var(--text-opacity))}.xl\:focus\:text-purple-400:focus{--text-opacity:1;color:#ac94fa;color:rgba(172,148,250,var(--text-opacity))}.xl\:focus\:text-purple-500:focus{--text-opacity:1;color:#9061f9;color:rgba(144,97,249,var(--text-opacity))}.xl\:focus\:text-purple-600:focus{--text-opacity:1;color:#7e3af2;color:rgba(126,58,242,var(--text-opacity))}.xl\:focus\:text-purple-700:focus{--text-opacity:1;color:#6c2bd9;color:rgba(108,43,217,var(--text-opacity))}.xl\:focus\:text-purple-800:focus{--text-opacity:1;color:#5521b5;color:rgba(85,33,181,var(--text-opacity))}.xl\:focus\:text-purple-900:focus{--text-opacity:1;color:#4a1d96;color:rgba(74,29,150,var(--text-opacity))}.xl\:focus\:text-pink-50:focus{--text-opacity:1;color:#fdf2f8;color:rgba(253,242,248,var(--text-opacity))}.xl\:focus\:text-pink-100:focus{--text-opacity:1;color:#fce8f3;color:rgba(252,232,243,var(--text-opacity))}.xl\:focus\:text-pink-200:focus{--text-opacity:1;color:#fad1e8;color:rgba(250,209,232,var(--text-opacity))}.xl\:focus\:text-pink-300:focus{--text-opacity:1;color:#f8b4d9;color:rgba(248,180,217,var(--text-opacity))}.xl\:focus\:text-pink-400:focus{--text-opacity:1;color:#f17eb8;color:rgba(241,126,184,var(--text-opacity))}.xl\:focus\:text-pink-500:focus{--text-opacity:1;color:#e74694;color:rgba(231,70,148,var(--text-opacity))}.xl\:focus\:text-pink-600:focus{--text-opacity:1;color:#d61f69;color:rgba(214,31,105,var(--text-opacity))}.xl\:focus\:text-pink-700:focus{--text-opacity:1;color:#bf125d;color:rgba(191,18,93,var(--text-opacity))}.xl\:focus\:text-pink-800:focus{--text-opacity:1;color:#99154b;color:rgba(153,21,75,var(--text-opacity))}.xl\:focus\:text-pink-900:focus{--text-opacity:1;color:#751a3d;color:rgba(117,26,61,var(--text-opacity))}.xl\:active\:text-transparent:active{color:transparent}.xl\:active\:text-white:active{--text-opacity:1;color:#fff;color:rgba(255,255,255,var(--text-opacity))}.xl\:active\:text-black:active{--text-opacity:1;color:#000;color:rgba(0,0,0,var(--text-opacity))}.xl\:active\:text-gray-50:active{--text-opacity:1;color:#f9fafb;color:rgba(249,250,251,var(--text-opacity))}.xl\:active\:text-gray-100:active{--text-opacity:1;color:#f4f5f7;color:rgba(244,245,247,var(--text-opacity))}.xl\:active\:text-gray-200:active{--text-opacity:1;color:#e5e7eb;color:rgba(229,231,235,var(--text-opacity))}.xl\:active\:text-gray-300:active{--text-opacity:1;color:#d2d6dc;color:rgba(210,214,220,var(--text-opacity))}.xl\:active\:text-gray-400:active{--text-opacity:1;color:#9fa6b2;color:rgba(159,166,178,var(--text-opacity))}.xl\:active\:text-gray-500:active{--text-opacity:1;color:#6b7280;color:rgba(107,114,128,var(--text-opacity))}.xl\:active\:text-gray-600:active{--text-opacity:1;color:#4b5563;color:rgba(75,85,99,var(--text-opacity))}.xl\:active\:text-gray-700:active{--text-opacity:1;color:#374151;color:rgba(55,65,81,var(--text-opacity))}.xl\:active\:text-gray-800:active{--text-opacity:1;color:#252f3f;color:rgba(37,47,63,var(--text-opacity))}.xl\:active\:text-gray-900:active{--text-opacity:1;color:#161e2e;color:rgba(22,30,46,var(--text-opacity))}.xl\:active\:text-cool-gray-50:active{--text-opacity:1;color:#f8fafc;color:rgba(248,250,252,var(--text-opacity))}.xl\:active\:text-cool-gray-100:active{--text-opacity:1;color:#f1f5f9;color:rgba(241,245,249,var(--text-opacity))}.xl\:active\:text-cool-gray-200:active{--text-opacity:1;color:#e2e8f0;color:rgba(226,232,240,var(--text-opacity))}.xl\:active\:text-cool-gray-300:active{--text-opacity:1;color:#cfd8e3;color:rgba(207,216,227,var(--text-opacity))}.xl\:active\:text-cool-gray-400:active{--text-opacity:1;color:#97a6ba;color:rgba(151,166,186,var(--text-opacity))}.xl\:active\:text-cool-gray-500:active{--text-opacity:1;color:#64748b;color:rgba(100,116,139,var(--text-opacity))}.xl\:active\:text-cool-gray-600:active{--text-opacity:1;color:#475569;color:rgba(71,85,105,var(--text-opacity))}.xl\:active\:text-cool-gray-700:active{--text-opacity:1;color:#364152;color:rgba(54,65,82,var(--text-opacity))}.xl\:active\:text-cool-gray-800:active{--text-opacity:1;color:#27303f;color:rgba(39,48,63,var(--text-opacity))}.xl\:active\:text-cool-gray-900:active{--text-opacity:1;color:#1a202e;color:rgba(26,32,46,var(--text-opacity))}.xl\:active\:text-red-50:active{--text-opacity:1;color:#fdf2f2;color:rgba(253,242,242,var(--text-opacity))}.xl\:active\:text-red-100:active{--text-opacity:1;color:#fde8e8;color:rgba(253,232,232,var(--text-opacity))}.xl\:active\:text-red-200:active{--text-opacity:1;color:#fbd5d5;color:rgba(251,213,213,var(--text-opacity))}.xl\:active\:text-red-300:active{--text-opacity:1;color:#f8b4b4;color:rgba(248,180,180,var(--text-opacity))}.xl\:active\:text-red-400:active{--text-opacity:1;color:#f98080;color:rgba(249,128,128,var(--text-opacity))}.xl\:active\:text-red-500:active{--text-opacity:1;color:#f05252;color:rgba(240,82,82,var(--text-opacity))}.xl\:active\:text-red-600:active{--text-opacity:1;color:#e02424;color:rgba(224,36,36,var(--text-opacity))}.xl\:active\:text-red-700:active{--text-opacity:1;color:#c81e1e;color:rgba(200,30,30,var(--text-opacity))}.xl\:active\:text-red-800:active{--text-opacity:1;color:#9b1c1c;color:rgba(155,28,28,var(--text-opacity))}.xl\:active\:text-red-900:active{--text-opacity:1;color:#771d1d;color:rgba(119,29,29,var(--text-opacity))}.xl\:active\:text-orange-50:active{--text-opacity:1;color:#fff8f1;color:rgba(255,248,241,var(--text-opacity))}.xl\:active\:text-orange-100:active{--text-opacity:1;color:#feecdc;color:rgba(254,236,220,var(--text-opacity))}.xl\:active\:text-orange-200:active{--text-opacity:1;color:#fcd9bd;color:rgba(252,217,189,var(--text-opacity))}.xl\:active\:text-orange-300:active{--text-opacity:1;color:#fdba8c;color:rgba(253,186,140,var(--text-opacity))}.xl\:active\:text-orange-400:active{--text-opacity:1;color:#ff8a4c;color:rgba(255,138,76,var(--text-opacity))}.xl\:active\:text-orange-500:active{--text-opacity:1;color:#ff5a1f;color:rgba(255,90,31,var(--text-opacity))}.xl\:active\:text-orange-600:active{--text-opacity:1;color:#d03801;color:rgba(208,56,1,var(--text-opacity))}.xl\:active\:text-orange-700:active{--text-opacity:1;color:#b43403;color:rgba(180,52,3,var(--text-opacity))}.xl\:active\:text-orange-800:active{--text-opacity:1;color:#8a2c0d;color:rgba(138,44,13,var(--text-opacity))}.xl\:active\:text-orange-900:active{--text-opacity:1;color:#73230d;color:rgba(115,35,13,var(--text-opacity))}.xl\:active\:text-yellow-50:active{--text-opacity:1;color:#fdfdea;color:rgba(253,253,234,var(--text-opacity))}.xl\:active\:text-yellow-100:active{--text-opacity:1;color:#fdf6b2;color:rgba(253,246,178,var(--text-opacity))}.xl\:active\:text-yellow-200:active{--text-opacity:1;color:#fce96a;color:rgba(252,233,106,var(--text-opacity))}.xl\:active\:text-yellow-300:active{--text-opacity:1;color:#faca15;color:rgba(250,202,21,var(--text-opacity))}.xl\:active\:text-yellow-400:active{--text-opacity:1;color:#e3a008;color:rgba(227,160,8,var(--text-opacity))}.xl\:active\:text-yellow-500:active{--text-opacity:1;color:#c27803;color:rgba(194,120,3,var(--text-opacity))}.xl\:active\:text-yellow-600:active{--text-opacity:1;color:#9f580a;color:rgba(159,88,10,var(--text-opacity))}.xl\:active\:text-yellow-700:active{--text-opacity:1;color:#8e4b10;color:rgba(142,75,16,var(--text-opacity))}.xl\:active\:text-yellow-800:active{--text-opacity:1;color:#723b13;color:rgba(114,59,19,var(--text-opacity))}.xl\:active\:text-yellow-900:active{--text-opacity:1;color:#633112;color:rgba(99,49,18,var(--text-opacity))}.xl\:active\:text-green-50:active{--text-opacity:1;color:#f3faf7;color:rgba(243,250,247,var(--text-opacity))}.xl\:active\:text-green-100:active{--text-opacity:1;color:#def7ec;color:rgba(222,247,236,var(--text-opacity))}.xl\:active\:text-green-200:active{--text-opacity:1;color:#bcf0da;color:rgba(188,240,218,var(--text-opacity))}.xl\:active\:text-green-300:active{--text-opacity:1;color:#84e1bc;color:rgba(132,225,188,var(--text-opacity))}.xl\:active\:text-green-400:active{--text-opacity:1;color:#31c48d;color:rgba(49,196,141,var(--text-opacity))}.xl\:active\:text-green-500:active{--text-opacity:1;color:#0e9f6e;color:rgba(14,159,110,var(--text-opacity))}.xl\:active\:text-green-600:active{--text-opacity:1;color:#057a55;color:rgba(5,122,85,var(--text-opacity))}.xl\:active\:text-green-700:active{--text-opacity:1;color:#046c4e;color:rgba(4,108,78,var(--text-opacity))}.xl\:active\:text-green-800:active{--text-opacity:1;color:#03543f;color:rgba(3,84,63,var(--text-opacity))}.xl\:active\:text-green-900:active{--text-opacity:1;color:#014737;color:rgba(1,71,55,var(--text-opacity))}.xl\:active\:text-teal-50:active{--text-opacity:1;color:#edfafa;color:rgba(237,250,250,var(--text-opacity))}.xl\:active\:text-teal-100:active{--text-opacity:1;color:#d5f5f6;color:rgba(213,245,246,var(--text-opacity))}.xl\:active\:text-teal-200:active{--text-opacity:1;color:#afecef;color:rgba(175,236,239,var(--text-opacity))}.xl\:active\:text-teal-300:active{--text-opacity:1;color:#7edce2;color:rgba(126,220,226,var(--text-opacity))}.xl\:active\:text-teal-400:active{--text-opacity:1;color:#16bdca;color:rgba(22,189,202,var(--text-opacity))}.xl\:active\:text-teal-500:active{--text-opacity:1;color:#0694a2;color:rgba(6,148,162,var(--text-opacity))}.xl\:active\:text-teal-600:active{--text-opacity:1;color:#047481;color:rgba(4,116,129,var(--text-opacity))}.xl\:active\:text-teal-700:active{--text-opacity:1;color:#036672;color:rgba(3,102,114,var(--text-opacity))}.xl\:active\:text-teal-800:active{--text-opacity:1;color:#05505c;color:rgba(5,80,92,var(--text-opacity))}.xl\:active\:text-teal-900:active{--text-opacity:1;color:#014451;color:rgba(1,68,81,var(--text-opacity))}.xl\:active\:text-blue-50:active{--text-opacity:1;color:#ebf5ff;color:rgba(235,245,255,var(--text-opacity))}.xl\:active\:text-blue-100:active{--text-opacity:1;color:#e1effe;color:rgba(225,239,254,var(--text-opacity))}.xl\:active\:text-blue-200:active{--text-opacity:1;color:#c3ddfd;color:rgba(195,221,253,var(--text-opacity))}.xl\:active\:text-blue-300:active{--text-opacity:1;color:#a4cafe;color:rgba(164,202,254,var(--text-opacity))}.xl\:active\:text-blue-400:active{--text-opacity:1;color:#76a9fa;color:rgba(118,169,250,var(--text-opacity))}.xl\:active\:text-blue-500:active{--text-opacity:1;color:#3f83f8;color:rgba(63,131,248,var(--text-opacity))}.xl\:active\:text-blue-600:active{--text-opacity:1;color:#1c64f2;color:rgba(28,100,242,var(--text-opacity))}.xl\:active\:text-blue-700:active{--text-opacity:1;color:#1a56db;color:rgba(26,86,219,var(--text-opacity))}.xl\:active\:text-blue-800:active{--text-opacity:1;color:#1e429f;color:rgba(30,66,159,var(--text-opacity))}.xl\:active\:text-blue-900:active{--text-opacity:1;color:#233876;color:rgba(35,56,118,var(--text-opacity))}.xl\:active\:text-indigo-50:active{--text-opacity:1;color:#f0f5ff;color:rgba(240,245,255,var(--text-opacity))}.xl\:active\:text-indigo-100:active{--text-opacity:1;color:#e5edff;color:rgba(229,237,255,var(--text-opacity))}.xl\:active\:text-indigo-200:active{--text-opacity:1;color:#cddbfe;color:rgba(205,219,254,var(--text-opacity))}.xl\:active\:text-indigo-300:active{--text-opacity:1;color:#b4c6fc;color:rgba(180,198,252,var(--text-opacity))}.xl\:active\:text-indigo-400:active{--text-opacity:1;color:#8da2fb;color:rgba(141,162,251,var(--text-opacity))}.xl\:active\:text-indigo-500:active{--text-opacity:1;color:#6875f5;color:rgba(104,117,245,var(--text-opacity))}.xl\:active\:text-indigo-600:active{--text-opacity:1;color:#5850ec;color:rgba(88,80,236,var(--text-opacity))}.xl\:active\:text-indigo-700:active{--text-opacity:1;color:#5145cd;color:rgba(81,69,205,var(--text-opacity))}.xl\:active\:text-indigo-800:active{--text-opacity:1;color:#42389d;color:rgba(66,56,157,var(--text-opacity))}.xl\:active\:text-indigo-900:active{--text-opacity:1;color:#362f78;color:rgba(54,47,120,var(--text-opacity))}.xl\:active\:text-purple-50:active{--text-opacity:1;color:#f6f5ff;color:rgba(246,245,255,var(--text-opacity))}.xl\:active\:text-purple-100:active{--text-opacity:1;color:#edebfe;color:rgba(237,235,254,var(--text-opacity))}.xl\:active\:text-purple-200:active{--text-opacity:1;color:#dcd7fe;color:rgba(220,215,254,var(--text-opacity))}.xl\:active\:text-purple-300:active{--text-opacity:1;color:#cabffd;color:rgba(202,191,253,var(--text-opacity))}.xl\:active\:text-purple-400:active{--text-opacity:1;color:#ac94fa;color:rgba(172,148,250,var(--text-opacity))}.xl\:active\:text-purple-500:active{--text-opacity:1;color:#9061f9;color:rgba(144,97,249,var(--text-opacity))}.xl\:active\:text-purple-600:active{--text-opacity:1;color:#7e3af2;color:rgba(126,58,242,var(--text-opacity))}.xl\:active\:text-purple-700:active{--text-opacity:1;color:#6c2bd9;color:rgba(108,43,217,var(--text-opacity))}.xl\:active\:text-purple-800:active{--text-opacity:1;color:#5521b5;color:rgba(85,33,181,var(--text-opacity))}.xl\:active\:text-purple-900:active{--text-opacity:1;color:#4a1d96;color:rgba(74,29,150,var(--text-opacity))}.xl\:active\:text-pink-50:active{--text-opacity:1;color:#fdf2f8;color:rgba(253,242,248,var(--text-opacity))}.xl\:active\:text-pink-100:active{--text-opacity:1;color:#fce8f3;color:rgba(252,232,243,var(--text-opacity))}.xl\:active\:text-pink-200:active{--text-opacity:1;color:#fad1e8;color:rgba(250,209,232,var(--text-opacity))}.xl\:active\:text-pink-300:active{--text-opacity:1;color:#f8b4d9;color:rgba(248,180,217,var(--text-opacity))}.xl\:active\:text-pink-400:active{--text-opacity:1;color:#f17eb8;color:rgba(241,126,184,var(--text-opacity))}.xl\:active\:text-pink-500:active{--text-opacity:1;color:#e74694;color:rgba(231,70,148,var(--text-opacity))}.xl\:active\:text-pink-600:active{--text-opacity:1;color:#d61f69;color:rgba(214,31,105,var(--text-opacity))}.xl\:active\:text-pink-700:active{--text-opacity:1;color:#bf125d;color:rgba(191,18,93,var(--text-opacity))}.xl\:active\:text-pink-800:active{--text-opacity:1;color:#99154b;color:rgba(153,21,75,var(--text-opacity))}.xl\:active\:text-pink-900:active{--text-opacity:1;color:#751a3d;color:rgba(117,26,61,var(--text-opacity))}.xl\:text-opacity-0{--text-opacity:0}.xl\:text-opacity-25{--text-opacity:0.25}.xl\:text-opacity-50{--text-opacity:0.5}.xl\:text-opacity-75{--text-opacity:0.75}.xl\:text-opacity-100{--text-opacity:1}.xl\:hover\:text-opacity-0:hover{--text-opacity:0}.xl\:hover\:text-opacity-25:hover{--text-opacity:0.25}.xl\:hover\:text-opacity-50:hover{--text-opacity:0.5}.xl\:hover\:text-opacity-75:hover{--text-opacity:0.75}.xl\:hover\:text-opacity-100:hover{--text-opacity:1}.xl\:focus\:text-opacity-0:focus{--text-opacity:0}.xl\:focus\:text-opacity-25:focus{--text-opacity:0.25}.xl\:focus\:text-opacity-50:focus{--text-opacity:0.5}.xl\:focus\:text-opacity-75:focus{--text-opacity:0.75}.xl\:focus\:text-opacity-100:focus{--text-opacity:1}.xl\:italic{font-style:italic}.xl\:not-italic{font-style:normal}.xl\:uppercase{text-transform:uppercase}.xl\:lowercase{text-transform:lowercase}.xl\:capitalize{text-transform:capitalize}.xl\:normal-case{text-transform:none}.xl\:underline{text-decoration:underline}.xl\:line-through{text-decoration:line-through}.xl\:no-underline{text-decoration:none}.group:hover .xl\:group-hover\:underline{text-decoration:underline}.group:hover .xl\:group-hover\:line-through{text-decoration:line-through}.group:hover .xl\:group-hover\:no-underline{text-decoration:none}.group:focus .xl\:group-focus\:underline{text-decoration:underline}.group:focus .xl\:group-focus\:line-through{text-decoration:line-through}.group:focus .xl\:group-focus\:no-underline{text-decoration:none}.xl\:hover\:underline:hover{text-decoration:underline}.xl\:hover\:line-through:hover{text-decoration:line-through}.xl\:hover\:no-underline:hover{text-decoration:none}.xl\:focus\:underline:focus{text-decoration:underline}.xl\:focus\:line-through:focus{text-decoration:line-through}.xl\:focus\:no-underline:focus{text-decoration:none}.xl\:antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.xl\:subpixel-antialiased{-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}.xl\:tracking-tighter{letter-spacing:-.05em}.xl\:tracking-tight{letter-spacing:-.025em}.xl\:tracking-normal{letter-spacing:0}.xl\:tracking-wide{letter-spacing:.025em}.xl\:tracking-wider{letter-spacing:.05em}.xl\:tracking-widest{letter-spacing:.1em}.xl\:select-none{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.xl\:select-text{-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text}.xl\:select-all{-webkit-user-select:all;-moz-user-select:all;-ms-user-select:all;user-select:all}.xl\:select-auto{-webkit-user-select:auto;-moz-user-select:auto;-ms-user-select:auto;user-select:auto}.xl\:align-baseline{vertical-align:baseline}.xl\:align-top{vertical-align:top}.xl\:align-middle{vertical-align:middle}.xl\:align-bottom{vertical-align:bottom}.xl\:align-text-top{vertical-align:text-top}.xl\:align-text-bottom{vertical-align:text-bottom}.xl\:visible{visibility:visible}.xl\:invisible{visibility:hidden}.xl\:whitespace-normal{white-space:normal}.xl\:whitespace-no-wrap{white-space:nowrap}.xl\:whitespace-pre{white-space:pre}.xl\:whitespace-pre-line{white-space:pre-line}.xl\:whitespace-pre-wrap{white-space:pre-wrap}.xl\:break-normal{overflow-wrap:normal;word-break:normal}.xl\:break-words{overflow-wrap:break-word}.xl\:break-all{word-break:break-all}.xl\:truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.xl\:w-0{width:0}.xl\:w-1{width:.25rem}.xl\:w-2{width:.5rem}.xl\:w-3{width:.75rem}.xl\:w-4{width:1rem}.xl\:w-5{width:1.25rem}.xl\:w-6{width:1.5rem}.xl\:w-7{width:1.75rem}.xl\:w-8{width:2rem}.xl\:w-9{width:2.25rem}.xl\:w-10{width:2.5rem}.xl\:w-11{width:2.75rem}.xl\:w-12{width:3rem}.xl\:w-13{width:3.25rem}.xl\:w-14{width:3.5rem}.xl\:w-15{width:3.75rem}.xl\:w-16{width:4rem}.xl\:w-20{width:5rem}.xl\:w-24{width:6rem}.xl\:w-28{width:7rem}.xl\:w-32{width:8rem}.xl\:w-36{width:9rem}.xl\:w-40{width:10rem}.xl\:w-44{width:11rem}.xl\:w-48{width:12rem}.xl\:w-52{width:13rem}.xl\:w-56{width:14rem}.xl\:w-60{width:15rem}.xl\:w-64{width:16rem}.xl\:w-72{width:18rem}.xl\:w-80{width:20rem}.xl\:w-96{width:24rem}.xl\:w-auto{width:auto}.xl\:w-px{width:1px}.xl\:w-0\.5{width:.125rem}.xl\:w-1\.5{width:.375rem}.xl\:w-2\.5{width:.625rem}.xl\:w-3\.5{width:.875rem}.xl\:w-1\/2{width:50%}.xl\:w-1\/3{width:33.333333%}.xl\:w-2\/3{width:66.666667%}.xl\:w-1\/4{width:25%}.xl\:w-2\/4{width:50%}.xl\:w-3\/4{width:75%}.xl\:w-1\/5{width:20%}.xl\:w-2\/5{width:40%}.xl\:w-3\/5{width:60%}.xl\:w-4\/5{width:80%}.xl\:w-1\/6{width:16.666667%}.xl\:w-2\/6{width:33.333333%}.xl\:w-3\/6{width:50%}.xl\:w-4\/6{width:66.666667%}.xl\:w-5\/6{width:83.333333%}.xl\:w-1\/12{width:8.333333%}.xl\:w-2\/12{width:16.666667%}.xl\:w-3\/12{width:25%}.xl\:w-4\/12{width:33.333333%}.xl\:w-5\/12{width:41.666667%}.xl\:w-6\/12{width:50%}.xl\:w-7\/12{width:58.333333%}.xl\:w-8\/12{width:66.666667%}.xl\:w-9\/12{width:75%}.xl\:w-10\/12{width:83.333333%}.xl\:w-11\/12{width:91.666667%}.xl\:w-full{width:100%}.xl\:w-screen{width:100vw}.xl\:w-min-content{width:-webkit-min-content;width:-moz-min-content;width:min-content}.xl\:w-max-content{width:-webkit-max-content;width:-moz-max-content;width:max-content}.xl\:z-0{z-index:0}.xl\:z-10{z-index:10}.xl\:z-20{z-index:20}.xl\:z-30{z-index:30}.xl\:z-40{z-index:40}.xl\:z-50{z-index:50}.xl\:z-auto{z-index:auto}.xl\:focus-within\:z-0:focus-within{z-index:0}.xl\:focus-within\:z-10:focus-within{z-index:10}.xl\:focus-within\:z-20:focus-within{z-index:20}.xl\:focus-within\:z-30:focus-within{z-index:30}.xl\:focus-within\:z-40:focus-within{z-index:40}.xl\:focus-within\:z-50:focus-within{z-index:50}.xl\:focus-within\:z-auto:focus-within{z-index:auto}.xl\:focus\:z-0:focus{z-index:0}.xl\:focus\:z-10:focus{z-index:10}.xl\:focus\:z-20:focus{z-index:20}.xl\:focus\:z-30:focus{z-index:30}.xl\:focus\:z-40:focus{z-index:40}.xl\:focus\:z-50:focus{z-index:50}.xl\:focus\:z-auto:focus{z-index:auto}.xl\:gap-0{grid-gap:0;gap:0}.xl\:gap-1{grid-gap:.25rem;gap:.25rem}.xl\:gap-2{grid-gap:.5rem;gap:.5rem}.xl\:gap-3{grid-gap:.75rem;gap:.75rem}.xl\:gap-4{grid-gap:1rem;gap:1rem}.xl\:gap-5{grid-gap:1.25rem;gap:1.25rem}.xl\:gap-6{grid-gap:1.5rem;gap:1.5rem}.xl\:gap-7{grid-gap:1.75rem;gap:1.75rem}.xl\:gap-8{grid-gap:2rem;gap:2rem}.xl\:gap-9{grid-gap:2.25rem;gap:2.25rem}.xl\:gap-10{grid-gap:2.5rem;gap:2.5rem}.xl\:gap-11{grid-gap:2.75rem;gap:2.75rem}.xl\:gap-12{grid-gap:3rem;gap:3rem}.xl\:gap-13{grid-gap:3.25rem;gap:3.25rem}.xl\:gap-14{grid-gap:3.5rem;gap:3.5rem}.xl\:gap-15{grid-gap:3.75rem;gap:3.75rem}.xl\:gap-16{grid-gap:4rem;gap:4rem}.xl\:gap-20{grid-gap:5rem;gap:5rem}.xl\:gap-24{grid-gap:6rem;gap:6rem}.xl\:gap-28{grid-gap:7rem;gap:7rem}.xl\:gap-32{grid-gap:8rem;gap:8rem}.xl\:gap-36{grid-gap:9rem;gap:9rem}.xl\:gap-40{grid-gap:10rem;gap:10rem}.xl\:gap-44{grid-gap:11rem;gap:11rem}.xl\:gap-48{grid-gap:12rem;gap:12rem}.xl\:gap-52{grid-gap:13rem;gap:13rem}.xl\:gap-56{grid-gap:14rem;gap:14rem}.xl\:gap-60{grid-gap:15rem;gap:15rem}.xl\:gap-64{grid-gap:16rem;gap:16rem}.xl\:gap-72{grid-gap:18rem;gap:18rem}.xl\:gap-80{grid-gap:20rem;gap:20rem}.xl\:gap-96{grid-gap:24rem;gap:24rem}.xl\:gap-px{grid-gap:1px;gap:1px}.xl\:gap-0\.5{grid-gap:.125rem;gap:.125rem}.xl\:gap-1\.5{grid-gap:.375rem;gap:.375rem}.xl\:gap-2\.5{grid-gap:.625rem;gap:.625rem}.xl\:gap-3\.5{grid-gap:.875rem;gap:.875rem}.xl\:gap-1\/2{grid-gap:50%;gap:50%}.xl\:gap-1\/3{grid-gap:33.333333%;gap:33.333333%}.xl\:gap-2\/3{grid-gap:66.666667%;gap:66.666667%}.xl\:gap-1\/4{grid-gap:25%;gap:25%}.xl\:gap-2\/4{grid-gap:50%;gap:50%}.xl\:gap-3\/4{grid-gap:75%;gap:75%}.xl\:gap-1\/5{grid-gap:20%;gap:20%}.xl\:gap-2\/5{grid-gap:40%;gap:40%}.xl\:gap-3\/5{grid-gap:60%;gap:60%}.xl\:gap-4\/5{grid-gap:80%;gap:80%}.xl\:gap-1\/6{grid-gap:16.666667%;gap:16.666667%}.xl\:gap-2\/6{grid-gap:33.333333%;gap:33.333333%}.xl\:gap-3\/6{grid-gap:50%;gap:50%}.xl\:gap-4\/6{grid-gap:66.666667%;gap:66.666667%}.xl\:gap-5\/6{grid-gap:83.333333%;gap:83.333333%}.xl\:gap-1\/12{grid-gap:8.333333%;gap:8.333333%}.xl\:gap-2\/12{grid-gap:16.666667%;gap:16.666667%}.xl\:gap-3\/12{grid-gap:25%;gap:25%}.xl\:gap-4\/12{grid-gap:33.333333%;gap:33.333333%}.xl\:gap-5\/12{grid-gap:41.666667%;gap:41.666667%}.xl\:gap-6\/12{grid-gap:50%;gap:50%}.xl\:gap-7\/12{grid-gap:58.333333%;gap:58.333333%}.xl\:gap-8\/12{grid-gap:66.666667%;gap:66.666667%}.xl\:gap-9\/12{grid-gap:75%;gap:75%}.xl\:gap-10\/12{grid-gap:83.333333%;gap:83.333333%}.xl\:gap-11\/12{grid-gap:91.666667%;gap:91.666667%}.xl\:gap-full{grid-gap:100%;gap:100%}.xl\:col-gap-0{grid-column-gap:0;-moz-column-gap:0;column-gap:0}.xl\:col-gap-1{grid-column-gap:.25rem;-moz-column-gap:.25rem;column-gap:.25rem}.xl\:col-gap-2{grid-column-gap:.5rem;-moz-column-gap:.5rem;column-gap:.5rem}.xl\:col-gap-3{grid-column-gap:.75rem;-moz-column-gap:.75rem;column-gap:.75rem}.xl\:col-gap-4{grid-column-gap:1rem;-moz-column-gap:1rem;column-gap:1rem}.xl\:col-gap-5{grid-column-gap:1.25rem;-moz-column-gap:1.25rem;column-gap:1.25rem}.xl\:col-gap-6{grid-column-gap:1.5rem;-moz-column-gap:1.5rem;column-gap:1.5rem}.xl\:col-gap-7{grid-column-gap:1.75rem;-moz-column-gap:1.75rem;column-gap:1.75rem}.xl\:col-gap-8{grid-column-gap:2rem;-moz-column-gap:2rem;column-gap:2rem}.xl\:col-gap-9{grid-column-gap:2.25rem;-moz-column-gap:2.25rem;column-gap:2.25rem}.xl\:col-gap-10{grid-column-gap:2.5rem;-moz-column-gap:2.5rem;column-gap:2.5rem}.xl\:col-gap-11{grid-column-gap:2.75rem;-moz-column-gap:2.75rem;column-gap:2.75rem}.xl\:col-gap-12{grid-column-gap:3rem;-moz-column-gap:3rem;column-gap:3rem}.xl\:col-gap-13{grid-column-gap:3.25rem;-moz-column-gap:3.25rem;column-gap:3.25rem}.xl\:col-gap-14{grid-column-gap:3.5rem;-moz-column-gap:3.5rem;column-gap:3.5rem}.xl\:col-gap-15{grid-column-gap:3.75rem;-moz-column-gap:3.75rem;column-gap:3.75rem}.xl\:col-gap-16{grid-column-gap:4rem;-moz-column-gap:4rem;column-gap:4rem}.xl\:col-gap-20{grid-column-gap:5rem;-moz-column-gap:5rem;column-gap:5rem}.xl\:col-gap-24{grid-column-gap:6rem;-moz-column-gap:6rem;column-gap:6rem}.xl\:col-gap-28{grid-column-gap:7rem;-moz-column-gap:7rem;column-gap:7rem}.xl\:col-gap-32{grid-column-gap:8rem;-moz-column-gap:8rem;column-gap:8rem}.xl\:col-gap-36{grid-column-gap:9rem;-moz-column-gap:9rem;column-gap:9rem}.xl\:col-gap-40{grid-column-gap:10rem;-moz-column-gap:10rem;column-gap:10rem}.xl\:col-gap-44{grid-column-gap:11rem;-moz-column-gap:11rem;column-gap:11rem}.xl\:col-gap-48{grid-column-gap:12rem;-moz-column-gap:12rem;column-gap:12rem}.xl\:col-gap-52{grid-column-gap:13rem;-moz-column-gap:13rem;column-gap:13rem}.xl\:col-gap-56{grid-column-gap:14rem;-moz-column-gap:14rem;column-gap:14rem}.xl\:col-gap-60{grid-column-gap:15rem;-moz-column-gap:15rem;column-gap:15rem}.xl\:col-gap-64{grid-column-gap:16rem;-moz-column-gap:16rem;column-gap:16rem}.xl\:col-gap-72{grid-column-gap:18rem;-moz-column-gap:18rem;column-gap:18rem}.xl\:col-gap-80{grid-column-gap:20rem;-moz-column-gap:20rem;column-gap:20rem}.xl\:col-gap-96{grid-column-gap:24rem;-moz-column-gap:24rem;column-gap:24rem}.xl\:col-gap-px{grid-column-gap:1px;-moz-column-gap:1px;column-gap:1px}.xl\:col-gap-0\.5{grid-column-gap:.125rem;-moz-column-gap:.125rem;column-gap:.125rem}.xl\:col-gap-1\.5{grid-column-gap:.375rem;-moz-column-gap:.375rem;column-gap:.375rem}.xl\:col-gap-2\.5{grid-column-gap:.625rem;-moz-column-gap:.625rem;column-gap:.625rem}.xl\:col-gap-3\.5{grid-column-gap:.875rem;-moz-column-gap:.875rem;column-gap:.875rem}.xl\:col-gap-1\/2{grid-column-gap:50%;-moz-column-gap:50%;column-gap:50%}.xl\:col-gap-1\/3{grid-column-gap:33.333333%;-moz-column-gap:33.333333%;column-gap:33.333333%}.xl\:col-gap-2\/3{grid-column-gap:66.666667%;-moz-column-gap:66.666667%;column-gap:66.666667%}.xl\:col-gap-1\/4{grid-column-gap:25%;-moz-column-gap:25%;column-gap:25%}.xl\:col-gap-2\/4{grid-column-gap:50%;-moz-column-gap:50%;column-gap:50%}.xl\:col-gap-3\/4{grid-column-gap:75%;-moz-column-gap:75%;column-gap:75%}.xl\:col-gap-1\/5{grid-column-gap:20%;-moz-column-gap:20%;column-gap:20%}.xl\:col-gap-2\/5{grid-column-gap:40%;-moz-column-gap:40%;column-gap:40%}.xl\:col-gap-3\/5{grid-column-gap:60%;-moz-column-gap:60%;column-gap:60%}.xl\:col-gap-4\/5{grid-column-gap:80%;-moz-column-gap:80%;column-gap:80%}.xl\:col-gap-1\/6{grid-column-gap:16.666667%;-moz-column-gap:16.666667%;column-gap:16.666667%}.xl\:col-gap-2\/6{grid-column-gap:33.333333%;-moz-column-gap:33.333333%;column-gap:33.333333%}.xl\:col-gap-3\/6{grid-column-gap:50%;-moz-column-gap:50%;column-gap:50%}.xl\:col-gap-4\/6{grid-column-gap:66.666667%;-moz-column-gap:66.666667%;column-gap:66.666667%}.xl\:col-gap-5\/6{grid-column-gap:83.333333%;-moz-column-gap:83.333333%;column-gap:83.333333%}.xl\:col-gap-1\/12{grid-column-gap:8.333333%;-moz-column-gap:8.333333%;column-gap:8.333333%}.xl\:col-gap-2\/12{grid-column-gap:16.666667%;-moz-column-gap:16.666667%;column-gap:16.666667%}.xl\:col-gap-3\/12{grid-column-gap:25%;-moz-column-gap:25%;column-gap:25%}.xl\:col-gap-4\/12{grid-column-gap:33.333333%;-moz-column-gap:33.333333%;column-gap:33.333333%}.xl\:col-gap-5\/12{grid-column-gap:41.666667%;-moz-column-gap:41.666667%;column-gap:41.666667%}.xl\:col-gap-6\/12{grid-column-gap:50%;-moz-column-gap:50%;column-gap:50%}.xl\:col-gap-7\/12{grid-column-gap:58.333333%;-moz-column-gap:58.333333%;column-gap:58.333333%}.xl\:col-gap-8\/12{grid-column-gap:66.666667%;-moz-column-gap:66.666667%;column-gap:66.666667%}.xl\:col-gap-9\/12{grid-column-gap:75%;-moz-column-gap:75%;column-gap:75%}.xl\:col-gap-10\/12{grid-column-gap:83.333333%;-moz-column-gap:83.333333%;column-gap:83.333333%}.xl\:col-gap-11\/12{grid-column-gap:91.666667%;-moz-column-gap:91.666667%;column-gap:91.666667%}.xl\:col-gap-full{grid-column-gap:100%;-moz-column-gap:100%;column-gap:100%}.xl\:row-gap-0{grid-row-gap:0;row-gap:0}.xl\:row-gap-1{grid-row-gap:.25rem;row-gap:.25rem}.xl\:row-gap-2{grid-row-gap:.5rem;row-gap:.5rem}.xl\:row-gap-3{grid-row-gap:.75rem;row-gap:.75rem}.xl\:row-gap-4{grid-row-gap:1rem;row-gap:1rem}.xl\:row-gap-5{grid-row-gap:1.25rem;row-gap:1.25rem}.xl\:row-gap-6{grid-row-gap:1.5rem;row-gap:1.5rem}.xl\:row-gap-7{grid-row-gap:1.75rem;row-gap:1.75rem}.xl\:row-gap-8{grid-row-gap:2rem;row-gap:2rem}.xl\:row-gap-9{grid-row-gap:2.25rem;row-gap:2.25rem}.xl\:row-gap-10{grid-row-gap:2.5rem;row-gap:2.5rem}.xl\:row-gap-11{grid-row-gap:2.75rem;row-gap:2.75rem}.xl\:row-gap-12{grid-row-gap:3rem;row-gap:3rem}.xl\:row-gap-13{grid-row-gap:3.25rem;row-gap:3.25rem}.xl\:row-gap-14{grid-row-gap:3.5rem;row-gap:3.5rem}.xl\:row-gap-15{grid-row-gap:3.75rem;row-gap:3.75rem}.xl\:row-gap-16{grid-row-gap:4rem;row-gap:4rem}.xl\:row-gap-20{grid-row-gap:5rem;row-gap:5rem}.xl\:row-gap-24{grid-row-gap:6rem;row-gap:6rem}.xl\:row-gap-28{grid-row-gap:7rem;row-gap:7rem}.xl\:row-gap-32{grid-row-gap:8rem;row-gap:8rem}.xl\:row-gap-36{grid-row-gap:9rem;row-gap:9rem}.xl\:row-gap-40{grid-row-gap:10rem;row-gap:10rem}.xl\:row-gap-44{grid-row-gap:11rem;row-gap:11rem}.xl\:row-gap-48{grid-row-gap:12rem;row-gap:12rem}.xl\:row-gap-52{grid-row-gap:13rem;row-gap:13rem}.xl\:row-gap-56{grid-row-gap:14rem;row-gap:14rem}.xl\:row-gap-60{grid-row-gap:15rem;row-gap:15rem}.xl\:row-gap-64{grid-row-gap:16rem;row-gap:16rem}.xl\:row-gap-72{grid-row-gap:18rem;row-gap:18rem}.xl\:row-gap-80{grid-row-gap:20rem;row-gap:20rem}.xl\:row-gap-96{grid-row-gap:24rem;row-gap:24rem}.xl\:row-gap-px{grid-row-gap:1px;row-gap:1px}.xl\:row-gap-0\.5{grid-row-gap:.125rem;row-gap:.125rem}.xl\:row-gap-1\.5{grid-row-gap:.375rem;row-gap:.375rem}.xl\:row-gap-2\.5{grid-row-gap:.625rem;row-gap:.625rem}.xl\:row-gap-3\.5{grid-row-gap:.875rem;row-gap:.875rem}.xl\:row-gap-1\/2{grid-row-gap:50%;row-gap:50%}.xl\:row-gap-1\/3{grid-row-gap:33.333333%;row-gap:33.333333%}.xl\:row-gap-2\/3{grid-row-gap:66.666667%;row-gap:66.666667%}.xl\:row-gap-1\/4{grid-row-gap:25%;row-gap:25%}.xl\:row-gap-2\/4{grid-row-gap:50%;row-gap:50%}.xl\:row-gap-3\/4{grid-row-gap:75%;row-gap:75%}.xl\:row-gap-1\/5{grid-row-gap:20%;row-gap:20%}.xl\:row-gap-2\/5{grid-row-gap:40%;row-gap:40%}.xl\:row-gap-3\/5{grid-row-gap:60%;row-gap:60%}.xl\:row-gap-4\/5{grid-row-gap:80%;row-gap:80%}.xl\:row-gap-1\/6{grid-row-gap:16.666667%;row-gap:16.666667%}.xl\:row-gap-2\/6{grid-row-gap:33.333333%;row-gap:33.333333%}.xl\:row-gap-3\/6{grid-row-gap:50%;row-gap:50%}.xl\:row-gap-4\/6{grid-row-gap:66.666667%;row-gap:66.666667%}.xl\:row-gap-5\/6{grid-row-gap:83.333333%;row-gap:83.333333%}.xl\:row-gap-1\/12{grid-row-gap:8.333333%;row-gap:8.333333%}.xl\:row-gap-2\/12{grid-row-gap:16.666667%;row-gap:16.666667%}.xl\:row-gap-3\/12{grid-row-gap:25%;row-gap:25%}.xl\:row-gap-4\/12{grid-row-gap:33.333333%;row-gap:33.333333%}.xl\:row-gap-5\/12{grid-row-gap:41.666667%;row-gap:41.666667%}.xl\:row-gap-6\/12{grid-row-gap:50%;row-gap:50%}.xl\:row-gap-7\/12{grid-row-gap:58.333333%;row-gap:58.333333%}.xl\:row-gap-8\/12{grid-row-gap:66.666667%;row-gap:66.666667%}.xl\:row-gap-9\/12{grid-row-gap:75%;row-gap:75%}.xl\:row-gap-10\/12{grid-row-gap:83.333333%;row-gap:83.333333%}.xl\:row-gap-11\/12{grid-row-gap:91.666667%;row-gap:91.666667%}.xl\:row-gap-full{grid-row-gap:100%;row-gap:100%}.xl\:grid-flow-row{grid-auto-flow:row}.xl\:grid-flow-col{grid-auto-flow:column}.xl\:grid-flow-row-dense{grid-auto-flow:row dense}.xl\:grid-flow-col-dense{grid-auto-flow:column dense}.xl\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.xl\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.xl\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.xl\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.xl\:grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.xl\:grid-cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}.xl\:grid-cols-9{grid-template-columns:repeat(9,minmax(0,1fr))}.xl\:grid-cols-10{grid-template-columns:repeat(10,minmax(0,1fr))}.xl\:grid-cols-11{grid-template-columns:repeat(11,minmax(0,1fr))}.xl\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.xl\:grid-cols-none{grid-template-columns:none}.xl\:col-auto{grid-column:auto}.xl\:col-span-1{grid-column:span 1/span 1}.xl\:col-span-2{grid-column:span 2/span 2}.xl\:col-span-3{grid-column:span 3/span 3}.xl\:col-span-4{grid-column:span 4/span 4}.xl\:col-span-5{grid-column:span 5/span 5}.xl\:col-span-6{grid-column:span 6/span 6}.xl\:col-span-7{grid-column:span 7/span 7}.xl\:col-span-8{grid-column:span 8/span 8}.xl\:col-span-9{grid-column:span 9/span 9}.xl\:col-span-10{grid-column:span 10/span 10}.xl\:col-span-11{grid-column:span 11/span 11}.xl\:col-span-12{grid-column:span 12/span 12}.xl\:col-start-1{grid-column-start:1}.xl\:col-start-2{grid-column-start:2}.xl\:col-start-3{grid-column-start:3}.xl\:col-start-4{grid-column-start:4}.xl\:col-start-5{grid-column-start:5}.xl\:col-start-6{grid-column-start:6}.xl\:col-start-7{grid-column-start:7}.xl\:col-start-8{grid-column-start:8}.xl\:col-start-9{grid-column-start:9}.xl\:col-start-10{grid-column-start:10}.xl\:col-start-11{grid-column-start:11}.xl\:col-start-12{grid-column-start:12}.xl\:col-start-13{grid-column-start:13}.xl\:col-start-auto{grid-column-start:auto}.xl\:col-end-1{grid-column-end:1}.xl\:col-end-2{grid-column-end:2}.xl\:col-end-3{grid-column-end:3}.xl\:col-end-4{grid-column-end:4}.xl\:col-end-5{grid-column-end:5}.xl\:col-end-6{grid-column-end:6}.xl\:col-end-7{grid-column-end:7}.xl\:col-end-8{grid-column-end:8}.xl\:col-end-9{grid-column-end:9}.xl\:col-end-10{grid-column-end:10}.xl\:col-end-11{grid-column-end:11}.xl\:col-end-12{grid-column-end:12}.xl\:col-end-13{grid-column-end:13}.xl\:col-end-auto{grid-column-end:auto}.xl\:grid-rows-1{grid-template-rows:repeat(1,minmax(0,1fr))}.xl\:grid-rows-2{grid-template-rows:repeat(2,minmax(0,1fr))}.xl\:grid-rows-3{grid-template-rows:repeat(3,minmax(0,1fr))}.xl\:grid-rows-4{grid-template-rows:repeat(4,minmax(0,1fr))}.xl\:grid-rows-5{grid-template-rows:repeat(5,minmax(0,1fr))}.xl\:grid-rows-6{grid-template-rows:repeat(6,minmax(0,1fr))}.xl\:grid-rows-none{grid-template-rows:none}.xl\:row-auto{grid-row:auto}.xl\:row-span-1{grid-row:span 1/span 1}.xl\:row-span-2{grid-row:span 2/span 2}.xl\:row-span-3{grid-row:span 3/span 3}.xl\:row-span-4{grid-row:span 4/span 4}.xl\:row-span-5{grid-row:span 5/span 5}.xl\:row-span-6{grid-row:span 6/span 6}.xl\:row-start-1{grid-row-start:1}.xl\:row-start-2{grid-row-start:2}.xl\:row-start-3{grid-row-start:3}.xl\:row-start-4{grid-row-start:4}.xl\:row-start-5{grid-row-start:5}.xl\:row-start-6{grid-row-start:6}.xl\:row-start-7{grid-row-start:7}.xl\:row-start-auto{grid-row-start:auto}.xl\:row-end-1{grid-row-end:1}.xl\:row-end-2{grid-row-end:2}.xl\:row-end-3{grid-row-end:3}.xl\:row-end-4{grid-row-end:4}.xl\:row-end-5{grid-row-end:5}.xl\:row-end-6{grid-row-end:6}.xl\:row-end-7{grid-row-end:7}.xl\:row-end-auto{grid-row-end:auto}.xl\:transform{--transform-translate-x:0;--transform-translate-y:0;--transform-rotate:0;--transform-skew-x:0;--transform-skew-y:0;--transform-scale-x:1;--transform-scale-y:1;transform:translateX(var(--transform-translate-x)) translateY(var(--transform-translate-y)) rotate(var(--transform-rotate)) skewX(var(--transform-skew-x)) skewY(var(--transform-skew-y)) scaleX(var(--transform-scale-x)) scaleY(var(--transform-scale-y))}.xl\:transform-none{transform:none}.xl\:origin-center{transform-origin:center}.xl\:origin-top{transform-origin:top}.xl\:origin-top-right{transform-origin:top right}.xl\:origin-right{transform-origin:right}.xl\:origin-bottom-right{transform-origin:bottom right}.xl\:origin-bottom{transform-origin:bottom}.xl\:origin-bottom-left{transform-origin:bottom left}.xl\:origin-left{transform-origin:left}.xl\:origin-top-left{transform-origin:top left}.xl\:scale-0{--transform-scale-x:0;--transform-scale-y:0}.xl\:scale-50{--transform-scale-x:.5;--transform-scale-y:.5}.xl\:scale-75{--transform-scale-x:.75;--transform-scale-y:.75}.xl\:scale-90{--transform-scale-x:.9;--transform-scale-y:.9}.xl\:scale-95{--transform-scale-x:.95;--transform-scale-y:.95}.xl\:scale-100{--transform-scale-x:1;--transform-scale-y:1}.xl\:scale-105{--transform-scale-x:1.05;--transform-scale-y:1.05}.xl\:scale-110{--transform-scale-x:1.1;--transform-scale-y:1.1}.xl\:scale-125{--transform-scale-x:1.25;--transform-scale-y:1.25}.xl\:scale-150{--transform-scale-x:1.5;--transform-scale-y:1.5}.xl\:scale-x-0{--transform-scale-x:0}.xl\:scale-x-50{--transform-scale-x:.5}.xl\:scale-x-75{--transform-scale-x:.75}.xl\:scale-x-90{--transform-scale-x:.9}.xl\:scale-x-95{--transform-scale-x:.95}.xl\:scale-x-100{--transform-scale-x:1}.xl\:scale-x-105{--transform-scale-x:1.05}.xl\:scale-x-110{--transform-scale-x:1.1}.xl\:scale-x-125{--transform-scale-x:1.25}.xl\:scale-x-150{--transform-scale-x:1.5}.xl\:scale-y-0{--transform-scale-y:0}.xl\:scale-y-50{--transform-scale-y:.5}.xl\:scale-y-75{--transform-scale-y:.75}.xl\:scale-y-90{--transform-scale-y:.9}.xl\:scale-y-95{--transform-scale-y:.95}.xl\:scale-y-100{--transform-scale-y:1}.xl\:scale-y-105{--transform-scale-y:1.05}.xl\:scale-y-110{--transform-scale-y:1.1}.xl\:scale-y-125{--transform-scale-y:1.25}.xl\:scale-y-150{--transform-scale-y:1.5}.xl\:hover\:scale-0:hover{--transform-scale-x:0;--transform-scale-y:0}.xl\:hover\:scale-50:hover{--transform-scale-x:.5;--transform-scale-y:.5}.xl\:hover\:scale-75:hover{--transform-scale-x:.75;--transform-scale-y:.75}.xl\:hover\:scale-90:hover{--transform-scale-x:.9;--transform-scale-y:.9}.xl\:hover\:scale-95:hover{--transform-scale-x:.95;--transform-scale-y:.95}.xl\:hover\:scale-100:hover{--transform-scale-x:1;--transform-scale-y:1}.xl\:hover\:scale-105:hover{--transform-scale-x:1.05;--transform-scale-y:1.05}.xl\:hover\:scale-110:hover{--transform-scale-x:1.1;--transform-scale-y:1.1}.xl\:hover\:scale-125:hover{--transform-scale-x:1.25;--transform-scale-y:1.25}.xl\:hover\:scale-150:hover{--transform-scale-x:1.5;--transform-scale-y:1.5}.xl\:hover\:scale-x-0:hover{--transform-scale-x:0}.xl\:hover\:scale-x-50:hover{--transform-scale-x:.5}.xl\:hover\:scale-x-75:hover{--transform-scale-x:.75}.xl\:hover\:scale-x-90:hover{--transform-scale-x:.9}.xl\:hover\:scale-x-95:hover{--transform-scale-x:.95}.xl\:hover\:scale-x-100:hover{--transform-scale-x:1}.xl\:hover\:scale-x-105:hover{--transform-scale-x:1.05}.xl\:hover\:scale-x-110:hover{--transform-scale-x:1.1}.xl\:hover\:scale-x-125:hover{--transform-scale-x:1.25}.xl\:hover\:scale-x-150:hover{--transform-scale-x:1.5}.xl\:hover\:scale-y-0:hover{--transform-scale-y:0}.xl\:hover\:scale-y-50:hover{--transform-scale-y:.5}.xl\:hover\:scale-y-75:hover{--transform-scale-y:.75}.xl\:hover\:scale-y-90:hover{--transform-scale-y:.9}.xl\:hover\:scale-y-95:hover{--transform-scale-y:.95}.xl\:hover\:scale-y-100:hover{--transform-scale-y:1}.xl\:hover\:scale-y-105:hover{--transform-scale-y:1.05}.xl\:hover\:scale-y-110:hover{--transform-scale-y:1.1}.xl\:hover\:scale-y-125:hover{--transform-scale-y:1.25}.xl\:hover\:scale-y-150:hover{--transform-scale-y:1.5}.xl\:focus\:scale-0:focus{--transform-scale-x:0;--transform-scale-y:0}.xl\:focus\:scale-50:focus{--transform-scale-x:.5;--transform-scale-y:.5}.xl\:focus\:scale-75:focus{--transform-scale-x:.75;--transform-scale-y:.75}.xl\:focus\:scale-90:focus{--transform-scale-x:.9;--transform-scale-y:.9}.xl\:focus\:scale-95:focus{--transform-scale-x:.95;--transform-scale-y:.95}.xl\:focus\:scale-100:focus{--transform-scale-x:1;--transform-scale-y:1}.xl\:focus\:scale-105:focus{--transform-scale-x:1.05;--transform-scale-y:1.05}.xl\:focus\:scale-110:focus{--transform-scale-x:1.1;--transform-scale-y:1.1}.xl\:focus\:scale-125:focus{--transform-scale-x:1.25;--transform-scale-y:1.25}.xl\:focus\:scale-150:focus{--transform-scale-x:1.5;--transform-scale-y:1.5}.xl\:focus\:scale-x-0:focus{--transform-scale-x:0}.xl\:focus\:scale-x-50:focus{--transform-scale-x:.5}.xl\:focus\:scale-x-75:focus{--transform-scale-x:.75}.xl\:focus\:scale-x-90:focus{--transform-scale-x:.9}.xl\:focus\:scale-x-95:focus{--transform-scale-x:.95}.xl\:focus\:scale-x-100:focus{--transform-scale-x:1}.xl\:focus\:scale-x-105:focus{--transform-scale-x:1.05}.xl\:focus\:scale-x-110:focus{--transform-scale-x:1.1}.xl\:focus\:scale-x-125:focus{--transform-scale-x:1.25}.xl\:focus\:scale-x-150:focus{--transform-scale-x:1.5}.xl\:focus\:scale-y-0:focus{--transform-scale-y:0}.xl\:focus\:scale-y-50:focus{--transform-scale-y:.5}.xl\:focus\:scale-y-75:focus{--transform-scale-y:.75}.xl\:focus\:scale-y-90:focus{--transform-scale-y:.9}.xl\:focus\:scale-y-95:focus{--transform-scale-y:.95}.xl\:focus\:scale-y-100:focus{--transform-scale-y:1}.xl\:focus\:scale-y-105:focus{--transform-scale-y:1.05}.xl\:focus\:scale-y-110:focus{--transform-scale-y:1.1}.xl\:focus\:scale-y-125:focus{--transform-scale-y:1.25}.xl\:focus\:scale-y-150:focus{--transform-scale-y:1.5}.xl\:rotate-0{--transform-rotate:0}.xl\:rotate-45{--transform-rotate:45deg}.xl\:rotate-90{--transform-rotate:90deg}.xl\:rotate-180{--transform-rotate:180deg}.xl\:-rotate-180{--transform-rotate:-180deg}.xl\:-rotate-90{--transform-rotate:-90deg}.xl\:-rotate-45{--transform-rotate:-45deg}.xl\:hover\:rotate-0:hover{--transform-rotate:0}.xl\:hover\:rotate-45:hover{--transform-rotate:45deg}.xl\:hover\:rotate-90:hover{--transform-rotate:90deg}.xl\:hover\:rotate-180:hover{--transform-rotate:180deg}.xl\:hover\:-rotate-180:hover{--transform-rotate:-180deg}.xl\:hover\:-rotate-90:hover{--transform-rotate:-90deg}.xl\:hover\:-rotate-45:hover{--transform-rotate:-45deg}.xl\:focus\:rotate-0:focus{--transform-rotate:0}.xl\:focus\:rotate-45:focus{--transform-rotate:45deg}.xl\:focus\:rotate-90:focus{--transform-rotate:90deg}.xl\:focus\:rotate-180:focus{--transform-rotate:180deg}.xl\:focus\:-rotate-180:focus{--transform-rotate:-180deg}.xl\:focus\:-rotate-90:focus{--transform-rotate:-90deg}.xl\:focus\:-rotate-45:focus{--transform-rotate:-45deg}.xl\:translate-x-0{--transform-translate-x:0}.xl\:translate-x-1{--transform-translate-x:0.25rem}.xl\:translate-x-2{--transform-translate-x:0.5rem}.xl\:translate-x-3{--transform-translate-x:0.75rem}.xl\:translate-x-4{--transform-translate-x:1rem}.xl\:translate-x-5{--transform-translate-x:1.25rem}.xl\:translate-x-6{--transform-translate-x:1.5rem}.xl\:translate-x-7{--transform-translate-x:1.75rem}.xl\:translate-x-8{--transform-translate-x:2rem}.xl\:translate-x-9{--transform-translate-x:2.25rem}.xl\:translate-x-10{--transform-translate-x:2.5rem}.xl\:translate-x-11{--transform-translate-x:2.75rem}.xl\:translate-x-12{--transform-translate-x:3rem}.xl\:translate-x-13{--transform-translate-x:3.25rem}.xl\:translate-x-14{--transform-translate-x:3.5rem}.xl\:translate-x-15{--transform-translate-x:3.75rem}.xl\:translate-x-16{--transform-translate-x:4rem}.xl\:translate-x-20{--transform-translate-x:5rem}.xl\:translate-x-24{--transform-translate-x:6rem}.xl\:translate-x-28{--transform-translate-x:7rem}.xl\:translate-x-32{--transform-translate-x:8rem}.xl\:translate-x-36{--transform-translate-x:9rem}.xl\:translate-x-40{--transform-translate-x:10rem}.xl\:translate-x-44{--transform-translate-x:11rem}.xl\:translate-x-48{--transform-translate-x:12rem}.xl\:translate-x-52{--transform-translate-x:13rem}.xl\:translate-x-56{--transform-translate-x:14rem}.xl\:translate-x-60{--transform-translate-x:15rem}.xl\:translate-x-64{--transform-translate-x:16rem}.xl\:translate-x-72{--transform-translate-x:18rem}.xl\:translate-x-80{--transform-translate-x:20rem}.xl\:translate-x-96{--transform-translate-x:24rem}.xl\:translate-x-px{--transform-translate-x:1px}.xl\:translate-x-0\.5{--transform-translate-x:0.125rem}.xl\:translate-x-1\.5{--transform-translate-x:0.375rem}.xl\:translate-x-2\.5{--transform-translate-x:0.625rem}.xl\:translate-x-3\.5{--transform-translate-x:0.875rem}.xl\:translate-x-1\/2{--transform-translate-x:50%}.xl\:translate-x-1\/3{--transform-translate-x:33.333333%}.xl\:translate-x-2\/3{--transform-translate-x:66.666667%}.xl\:translate-x-1\/4{--transform-translate-x:25%}.xl\:translate-x-2\/4{--transform-translate-x:50%}.xl\:translate-x-3\/4{--transform-translate-x:75%}.xl\:translate-x-1\/5{--transform-translate-x:20%}.xl\:translate-x-2\/5{--transform-translate-x:40%}.xl\:translate-x-3\/5{--transform-translate-x:60%}.xl\:translate-x-4\/5{--transform-translate-x:80%}.xl\:translate-x-1\/6{--transform-translate-x:16.666667%}.xl\:translate-x-2\/6{--transform-translate-x:33.333333%}.xl\:translate-x-3\/6{--transform-translate-x:50%}.xl\:translate-x-4\/6{--transform-translate-x:66.666667%}.xl\:translate-x-5\/6{--transform-translate-x:83.333333%}.xl\:translate-x-1\/12{--transform-translate-x:8.333333%}.xl\:translate-x-2\/12{--transform-translate-x:16.666667%}.xl\:translate-x-3\/12{--transform-translate-x:25%}.xl\:translate-x-4\/12{--transform-translate-x:33.333333%}.xl\:translate-x-5\/12{--transform-translate-x:41.666667%}.xl\:translate-x-6\/12{--transform-translate-x:50%}.xl\:translate-x-7\/12{--transform-translate-x:58.333333%}.xl\:translate-x-8\/12{--transform-translate-x:66.666667%}.xl\:translate-x-9\/12{--transform-translate-x:75%}.xl\:translate-x-10\/12{--transform-translate-x:83.333333%}.xl\:translate-x-11\/12{--transform-translate-x:91.666667%}.xl\:translate-x-full{--transform-translate-x:100%}.xl\:-translate-x-1{--transform-translate-x:-0.25rem}.xl\:-translate-x-2{--transform-translate-x:-0.5rem}.xl\:-translate-x-3{--transform-translate-x:-0.75rem}.xl\:-translate-x-4{--transform-translate-x:-1rem}.xl\:-translate-x-5{--transform-translate-x:-1.25rem}.xl\:-translate-x-6{--transform-translate-x:-1.5rem}.xl\:-translate-x-7{--transform-translate-x:-1.75rem}.xl\:-translate-x-8{--transform-translate-x:-2rem}.xl\:-translate-x-9{--transform-translate-x:-2.25rem}.xl\:-translate-x-10{--transform-translate-x:-2.5rem}.xl\:-translate-x-11{--transform-translate-x:-2.75rem}.xl\:-translate-x-12{--transform-translate-x:-3rem}.xl\:-translate-x-13{--transform-translate-x:-3.25rem}.xl\:-translate-x-14{--transform-translate-x:-3.5rem}.xl\:-translate-x-15{--transform-translate-x:-3.75rem}.xl\:-translate-x-16{--transform-translate-x:-4rem}.xl\:-translate-x-20{--transform-translate-x:-5rem}.xl\:-translate-x-24{--transform-translate-x:-6rem}.xl\:-translate-x-28{--transform-translate-x:-7rem}.xl\:-translate-x-32{--transform-translate-x:-8rem}.xl\:-translate-x-36{--transform-translate-x:-9rem}.xl\:-translate-x-40{--transform-translate-x:-10rem}.xl\:-translate-x-44{--transform-translate-x:-11rem}.xl\:-translate-x-48{--transform-translate-x:-12rem}.xl\:-translate-x-52{--transform-translate-x:-13rem}.xl\:-translate-x-56{--transform-translate-x:-14rem}.xl\:-translate-x-60{--transform-translate-x:-15rem}.xl\:-translate-x-64{--transform-translate-x:-16rem}.xl\:-translate-x-72{--transform-translate-x:-18rem}.xl\:-translate-x-80{--transform-translate-x:-20rem}.xl\:-translate-x-96{--transform-translate-x:-24rem}.xl\:-translate-x-px{--transform-translate-x:-1px}.xl\:-translate-x-0\.5{--transform-translate-x:-0.125rem}.xl\:-translate-x-1\.5{--transform-translate-x:-0.375rem}.xl\:-translate-x-2\.5{--transform-translate-x:-0.625rem}.xl\:-translate-x-3\.5{--transform-translate-x:-0.875rem}.xl\:-translate-x-1\/2{--transform-translate-x:-50%}.xl\:-translate-x-1\/3{--transform-translate-x:-33.33333%}.xl\:-translate-x-2\/3{--transform-translate-x:-66.66667%}.xl\:-translate-x-1\/4{--transform-translate-x:-25%}.xl\:-translate-x-2\/4{--transform-translate-x:-50%}.xl\:-translate-x-3\/4{--transform-translate-x:-75%}.xl\:-translate-x-1\/5{--transform-translate-x:-20%}.xl\:-translate-x-2\/5{--transform-translate-x:-40%}.xl\:-translate-x-3\/5{--transform-translate-x:-60%}.xl\:-translate-x-4\/5{--transform-translate-x:-80%}.xl\:-translate-x-1\/6{--transform-translate-x:-16.66667%}.xl\:-translate-x-2\/6{--transform-translate-x:-33.33333%}.xl\:-translate-x-3\/6{--transform-translate-x:-50%}.xl\:-translate-x-4\/6{--transform-translate-x:-66.66667%}.xl\:-translate-x-5\/6{--transform-translate-x:-83.33333%}.xl\:-translate-x-1\/12{--transform-translate-x:-8.33333%}.xl\:-translate-x-2\/12{--transform-translate-x:-16.66667%}.xl\:-translate-x-3\/12{--transform-translate-x:-25%}.xl\:-translate-x-4\/12{--transform-translate-x:-33.33333%}.xl\:-translate-x-5\/12{--transform-translate-x:-41.66667%}.xl\:-translate-x-6\/12{--transform-translate-x:-50%}.xl\:-translate-x-7\/12{--transform-translate-x:-58.33333%}.xl\:-translate-x-8\/12{--transform-translate-x:-66.66667%}.xl\:-translate-x-9\/12{--transform-translate-x:-75%}.xl\:-translate-x-10\/12{--transform-translate-x:-83.33333%}.xl\:-translate-x-11\/12{--transform-translate-x:-91.66667%}.xl\:-translate-x-full{--transform-translate-x:-100%}.xl\:translate-y-0{--transform-translate-y:0}.xl\:translate-y-1{--transform-translate-y:0.25rem}.xl\:translate-y-2{--transform-translate-y:0.5rem}.xl\:translate-y-3{--transform-translate-y:0.75rem}.xl\:translate-y-4{--transform-translate-y:1rem}.xl\:translate-y-5{--transform-translate-y:1.25rem}.xl\:translate-y-6{--transform-translate-y:1.5rem}.xl\:translate-y-7{--transform-translate-y:1.75rem}.xl\:translate-y-8{--transform-translate-y:2rem}.xl\:translate-y-9{--transform-translate-y:2.25rem}.xl\:translate-y-10{--transform-translate-y:2.5rem}.xl\:translate-y-11{--transform-translate-y:2.75rem}.xl\:translate-y-12{--transform-translate-y:3rem}.xl\:translate-y-13{--transform-translate-y:3.25rem}.xl\:translate-y-14{--transform-translate-y:3.5rem}.xl\:translate-y-15{--transform-translate-y:3.75rem}.xl\:translate-y-16{--transform-translate-y:4rem}.xl\:translate-y-20{--transform-translate-y:5rem}.xl\:translate-y-24{--transform-translate-y:6rem}.xl\:translate-y-28{--transform-translate-y:7rem}.xl\:translate-y-32{--transform-translate-y:8rem}.xl\:translate-y-36{--transform-translate-y:9rem}.xl\:translate-y-40{--transform-translate-y:10rem}.xl\:translate-y-44{--transform-translate-y:11rem}.xl\:translate-y-48{--transform-translate-y:12rem}.xl\:translate-y-52{--transform-translate-y:13rem}.xl\:translate-y-56{--transform-translate-y:14rem}.xl\:translate-y-60{--transform-translate-y:15rem}.xl\:translate-y-64{--transform-translate-y:16rem}.xl\:translate-y-72{--transform-translate-y:18rem}.xl\:translate-y-80{--transform-translate-y:20rem}.xl\:translate-y-96{--transform-translate-y:24rem}.xl\:translate-y-px{--transform-translate-y:1px}.xl\:translate-y-0\.5{--transform-translate-y:0.125rem}.xl\:translate-y-1\.5{--transform-translate-y:0.375rem}.xl\:translate-y-2\.5{--transform-translate-y:0.625rem}.xl\:translate-y-3\.5{--transform-translate-y:0.875rem}.xl\:translate-y-1\/2{--transform-translate-y:50%}.xl\:translate-y-1\/3{--transform-translate-y:33.333333%}.xl\:translate-y-2\/3{--transform-translate-y:66.666667%}.xl\:translate-y-1\/4{--transform-translate-y:25%}.xl\:translate-y-2\/4{--transform-translate-y:50%}.xl\:translate-y-3\/4{--transform-translate-y:75%}.xl\:translate-y-1\/5{--transform-translate-y:20%}.xl\:translate-y-2\/5{--transform-translate-y:40%}.xl\:translate-y-3\/5{--transform-translate-y:60%}.xl\:translate-y-4\/5{--transform-translate-y:80%}.xl\:translate-y-1\/6{--transform-translate-y:16.666667%}.xl\:translate-y-2\/6{--transform-translate-y:33.333333%}.xl\:translate-y-3\/6{--transform-translate-y:50%}.xl\:translate-y-4\/6{--transform-translate-y:66.666667%}.xl\:translate-y-5\/6{--transform-translate-y:83.333333%}.xl\:translate-y-1\/12{--transform-translate-y:8.333333%}.xl\:translate-y-2\/12{--transform-translate-y:16.666667%}.xl\:translate-y-3\/12{--transform-translate-y:25%}.xl\:translate-y-4\/12{--transform-translate-y:33.333333%}.xl\:translate-y-5\/12{--transform-translate-y:41.666667%}.xl\:translate-y-6\/12{--transform-translate-y:50%}.xl\:translate-y-7\/12{--transform-translate-y:58.333333%}.xl\:translate-y-8\/12{--transform-translate-y:66.666667%}.xl\:translate-y-9\/12{--transform-translate-y:75%}.xl\:translate-y-10\/12{--transform-translate-y:83.333333%}.xl\:translate-y-11\/12{--transform-translate-y:91.666667%}.xl\:translate-y-full{--transform-translate-y:100%}.xl\:-translate-y-1{--transform-translate-y:-0.25rem}.xl\:-translate-y-2{--transform-translate-y:-0.5rem}.xl\:-translate-y-3{--transform-translate-y:-0.75rem}.xl\:-translate-y-4{--transform-translate-y:-1rem}.xl\:-translate-y-5{--transform-translate-y:-1.25rem}.xl\:-translate-y-6{--transform-translate-y:-1.5rem}.xl\:-translate-y-7{--transform-translate-y:-1.75rem}.xl\:-translate-y-8{--transform-translate-y:-2rem}.xl\:-translate-y-9{--transform-translate-y:-2.25rem}.xl\:-translate-y-10{--transform-translate-y:-2.5rem}.xl\:-translate-y-11{--transform-translate-y:-2.75rem}.xl\:-translate-y-12{--transform-translate-y:-3rem}.xl\:-translate-y-13{--transform-translate-y:-3.25rem}.xl\:-translate-y-14{--transform-translate-y:-3.5rem}.xl\:-translate-y-15{--transform-translate-y:-3.75rem}.xl\:-translate-y-16{--transform-translate-y:-4rem}.xl\:-translate-y-20{--transform-translate-y:-5rem}.xl\:-translate-y-24{--transform-translate-y:-6rem}.xl\:-translate-y-28{--transform-translate-y:-7rem}.xl\:-translate-y-32{--transform-translate-y:-8rem}.xl\:-translate-y-36{--transform-translate-y:-9rem}.xl\:-translate-y-40{--transform-translate-y:-10rem}.xl\:-translate-y-44{--transform-translate-y:-11rem}.xl\:-translate-y-48{--transform-translate-y:-12rem}.xl\:-translate-y-52{--transform-translate-y:-13rem}.xl\:-translate-y-56{--transform-translate-y:-14rem}.xl\:-translate-y-60{--transform-translate-y:-15rem}.xl\:-translate-y-64{--transform-translate-y:-16rem}.xl\:-translate-y-72{--transform-translate-y:-18rem}.xl\:-translate-y-80{--transform-translate-y:-20rem}.xl\:-translate-y-96{--transform-translate-y:-24rem}.xl\:-translate-y-px{--transform-translate-y:-1px}.xl\:-translate-y-0\.5{--transform-translate-y:-0.125rem}.xl\:-translate-y-1\.5{--transform-translate-y:-0.375rem}.xl\:-translate-y-2\.5{--transform-translate-y:-0.625rem}.xl\:-translate-y-3\.5{--transform-translate-y:-0.875rem}.xl\:-translate-y-1\/2{--transform-translate-y:-50%}.xl\:-translate-y-1\/3{--transform-translate-y:-33.33333%}.xl\:-translate-y-2\/3{--transform-translate-y:-66.66667%}.xl\:-translate-y-1\/4{--transform-translate-y:-25%}.xl\:-translate-y-2\/4{--transform-translate-y:-50%}.xl\:-translate-y-3\/4{--transform-translate-y:-75%}.xl\:-translate-y-1\/5{--transform-translate-y:-20%}.xl\:-translate-y-2\/5{--transform-translate-y:-40%}.xl\:-translate-y-3\/5{--transform-translate-y:-60%}.xl\:-translate-y-4\/5{--transform-translate-y:-80%}.xl\:-translate-y-1\/6{--transform-translate-y:-16.66667%}.xl\:-translate-y-2\/6{--transform-translate-y:-33.33333%}.xl\:-translate-y-3\/6{--transform-translate-y:-50%}.xl\:-translate-y-4\/6{--transform-translate-y:-66.66667%}.xl\:-translate-y-5\/6{--transform-translate-y:-83.33333%}.xl\:-translate-y-1\/12{--transform-translate-y:-8.33333%}.xl\:-translate-y-2\/12{--transform-translate-y:-16.66667%}.xl\:-translate-y-3\/12{--transform-translate-y:-25%}.xl\:-translate-y-4\/12{--transform-translate-y:-33.33333%}.xl\:-translate-y-5\/12{--transform-translate-y:-41.66667%}.xl\:-translate-y-6\/12{--transform-translate-y:-50%}.xl\:-translate-y-7\/12{--transform-translate-y:-58.33333%}.xl\:-translate-y-8\/12{--transform-translate-y:-66.66667%}.xl\:-translate-y-9\/12{--transform-translate-y:-75%}.xl\:-translate-y-10\/12{--transform-translate-y:-83.33333%}.xl\:-translate-y-11\/12{--transform-translate-y:-91.66667%}.xl\:-translate-y-full{--transform-translate-y:-100%}.xl\:hover\:translate-x-0:hover{--transform-translate-x:0}.xl\:hover\:translate-x-1:hover{--transform-translate-x:0.25rem}.xl\:hover\:translate-x-2:hover{--transform-translate-x:0.5rem}.xl\:hover\:translate-x-3:hover{--transform-translate-x:0.75rem}.xl\:hover\:translate-x-4:hover{--transform-translate-x:1rem}.xl\:hover\:translate-x-5:hover{--transform-translate-x:1.25rem}.xl\:hover\:translate-x-6:hover{--transform-translate-x:1.5rem}.xl\:hover\:translate-x-7:hover{--transform-translate-x:1.75rem}.xl\:hover\:translate-x-8:hover{--transform-translate-x:2rem}.xl\:hover\:translate-x-9:hover{--transform-translate-x:2.25rem}.xl\:hover\:translate-x-10:hover{--transform-translate-x:2.5rem}.xl\:hover\:translate-x-11:hover{--transform-translate-x:2.75rem}.xl\:hover\:translate-x-12:hover{--transform-translate-x:3rem}.xl\:hover\:translate-x-13:hover{--transform-translate-x:3.25rem}.xl\:hover\:translate-x-14:hover{--transform-translate-x:3.5rem}.xl\:hover\:translate-x-15:hover{--transform-translate-x:3.75rem}.xl\:hover\:translate-x-16:hover{--transform-translate-x:4rem}.xl\:hover\:translate-x-20:hover{--transform-translate-x:5rem}.xl\:hover\:translate-x-24:hover{--transform-translate-x:6rem}.xl\:hover\:translate-x-28:hover{--transform-translate-x:7rem}.xl\:hover\:translate-x-32:hover{--transform-translate-x:8rem}.xl\:hover\:translate-x-36:hover{--transform-translate-x:9rem}.xl\:hover\:translate-x-40:hover{--transform-translate-x:10rem}.xl\:hover\:translate-x-44:hover{--transform-translate-x:11rem}.xl\:hover\:translate-x-48:hover{--transform-translate-x:12rem}.xl\:hover\:translate-x-52:hover{--transform-translate-x:13rem}.xl\:hover\:translate-x-56:hover{--transform-translate-x:14rem}.xl\:hover\:translate-x-60:hover{--transform-translate-x:15rem}.xl\:hover\:translate-x-64:hover{--transform-translate-x:16rem}.xl\:hover\:translate-x-72:hover{--transform-translate-x:18rem}.xl\:hover\:translate-x-80:hover{--transform-translate-x:20rem}.xl\:hover\:translate-x-96:hover{--transform-translate-x:24rem}.xl\:hover\:translate-x-px:hover{--transform-translate-x:1px}.xl\:hover\:translate-x-0\.5:hover{--transform-translate-x:0.125rem}.xl\:hover\:translate-x-1\.5:hover{--transform-translate-x:0.375rem}.xl\:hover\:translate-x-2\.5:hover{--transform-translate-x:0.625rem}.xl\:hover\:translate-x-3\.5:hover{--transform-translate-x:0.875rem}.xl\:hover\:translate-x-1\/2:hover{--transform-translate-x:50%}.xl\:hover\:translate-x-1\/3:hover{--transform-translate-x:33.333333%}.xl\:hover\:translate-x-2\/3:hover{--transform-translate-x:66.666667%}.xl\:hover\:translate-x-1\/4:hover{--transform-translate-x:25%}.xl\:hover\:translate-x-2\/4:hover{--transform-translate-x:50%}.xl\:hover\:translate-x-3\/4:hover{--transform-translate-x:75%}.xl\:hover\:translate-x-1\/5:hover{--transform-translate-x:20%}.xl\:hover\:translate-x-2\/5:hover{--transform-translate-x:40%}.xl\:hover\:translate-x-3\/5:hover{--transform-translate-x:60%}.xl\:hover\:translate-x-4\/5:hover{--transform-translate-x:80%}.xl\:hover\:translate-x-1\/6:hover{--transform-translate-x:16.666667%}.xl\:hover\:translate-x-2\/6:hover{--transform-translate-x:33.333333%}.xl\:hover\:translate-x-3\/6:hover{--transform-translate-x:50%}.xl\:hover\:translate-x-4\/6:hover{--transform-translate-x:66.666667%}.xl\:hover\:translate-x-5\/6:hover{--transform-translate-x:83.333333%}.xl\:hover\:translate-x-1\/12:hover{--transform-translate-x:8.333333%}.xl\:hover\:translate-x-2\/12:hover{--transform-translate-x:16.666667%}.xl\:hover\:translate-x-3\/12:hover{--transform-translate-x:25%}.xl\:hover\:translate-x-4\/12:hover{--transform-translate-x:33.333333%}.xl\:hover\:translate-x-5\/12:hover{--transform-translate-x:41.666667%}.xl\:hover\:translate-x-6\/12:hover{--transform-translate-x:50%}.xl\:hover\:translate-x-7\/12:hover{--transform-translate-x:58.333333%}.xl\:hover\:translate-x-8\/12:hover{--transform-translate-x:66.666667%}.xl\:hover\:translate-x-9\/12:hover{--transform-translate-x:75%}.xl\:hover\:translate-x-10\/12:hover{--transform-translate-x:83.333333%}.xl\:hover\:translate-x-11\/12:hover{--transform-translate-x:91.666667%}.xl\:hover\:translate-x-full:hover{--transform-translate-x:100%}.xl\:hover\:-translate-x-1:hover{--transform-translate-x:-0.25rem}.xl\:hover\:-translate-x-2:hover{--transform-translate-x:-0.5rem}.xl\:hover\:-translate-x-3:hover{--transform-translate-x:-0.75rem}.xl\:hover\:-translate-x-4:hover{--transform-translate-x:-1rem}.xl\:hover\:-translate-x-5:hover{--transform-translate-x:-1.25rem}.xl\:hover\:-translate-x-6:hover{--transform-translate-x:-1.5rem}.xl\:hover\:-translate-x-7:hover{--transform-translate-x:-1.75rem}.xl\:hover\:-translate-x-8:hover{--transform-translate-x:-2rem}.xl\:hover\:-translate-x-9:hover{--transform-translate-x:-2.25rem}.xl\:hover\:-translate-x-10:hover{--transform-translate-x:-2.5rem}.xl\:hover\:-translate-x-11:hover{--transform-translate-x:-2.75rem}.xl\:hover\:-translate-x-12:hover{--transform-translate-x:-3rem}.xl\:hover\:-translate-x-13:hover{--transform-translate-x:-3.25rem}.xl\:hover\:-translate-x-14:hover{--transform-translate-x:-3.5rem}.xl\:hover\:-translate-x-15:hover{--transform-translate-x:-3.75rem}.xl\:hover\:-translate-x-16:hover{--transform-translate-x:-4rem}.xl\:hover\:-translate-x-20:hover{--transform-translate-x:-5rem}.xl\:hover\:-translate-x-24:hover{--transform-translate-x:-6rem}.xl\:hover\:-translate-x-28:hover{--transform-translate-x:-7rem}.xl\:hover\:-translate-x-32:hover{--transform-translate-x:-8rem}.xl\:hover\:-translate-x-36:hover{--transform-translate-x:-9rem}.xl\:hover\:-translate-x-40:hover{--transform-translate-x:-10rem}.xl\:hover\:-translate-x-44:hover{--transform-translate-x:-11rem}.xl\:hover\:-translate-x-48:hover{--transform-translate-x:-12rem}.xl\:hover\:-translate-x-52:hover{--transform-translate-x:-13rem}.xl\:hover\:-translate-x-56:hover{--transform-translate-x:-14rem}.xl\:hover\:-translate-x-60:hover{--transform-translate-x:-15rem}.xl\:hover\:-translate-x-64:hover{--transform-translate-x:-16rem}.xl\:hover\:-translate-x-72:hover{--transform-translate-x:-18rem}.xl\:hover\:-translate-x-80:hover{--transform-translate-x:-20rem}.xl\:hover\:-translate-x-96:hover{--transform-translate-x:-24rem}.xl\:hover\:-translate-x-px:hover{--transform-translate-x:-1px}.xl\:hover\:-translate-x-0\.5:hover{--transform-translate-x:-0.125rem}.xl\:hover\:-translate-x-1\.5:hover{--transform-translate-x:-0.375rem}.xl\:hover\:-translate-x-2\.5:hover{--transform-translate-x:-0.625rem}.xl\:hover\:-translate-x-3\.5:hover{--transform-translate-x:-0.875rem}.xl\:hover\:-translate-x-1\/2:hover{--transform-translate-x:-50%}.xl\:hover\:-translate-x-1\/3:hover{--transform-translate-x:-33.33333%}.xl\:hover\:-translate-x-2\/3:hover{--transform-translate-x:-66.66667%}.xl\:hover\:-translate-x-1\/4:hover{--transform-translate-x:-25%}.xl\:hover\:-translate-x-2\/4:hover{--transform-translate-x:-50%}.xl\:hover\:-translate-x-3\/4:hover{--transform-translate-x:-75%}.xl\:hover\:-translate-x-1\/5:hover{--transform-translate-x:-20%}.xl\:hover\:-translate-x-2\/5:hover{--transform-translate-x:-40%}.xl\:hover\:-translate-x-3\/5:hover{--transform-translate-x:-60%}.xl\:hover\:-translate-x-4\/5:hover{--transform-translate-x:-80%}.xl\:hover\:-translate-x-1\/6:hover{--transform-translate-x:-16.66667%}.xl\:hover\:-translate-x-2\/6:hover{--transform-translate-x:-33.33333%}.xl\:hover\:-translate-x-3\/6:hover{--transform-translate-x:-50%}.xl\:hover\:-translate-x-4\/6:hover{--transform-translate-x:-66.66667%}.xl\:hover\:-translate-x-5\/6:hover{--transform-translate-x:-83.33333%}.xl\:hover\:-translate-x-1\/12:hover{--transform-translate-x:-8.33333%}.xl\:hover\:-translate-x-2\/12:hover{--transform-translate-x:-16.66667%}.xl\:hover\:-translate-x-3\/12:hover{--transform-translate-x:-25%}.xl\:hover\:-translate-x-4\/12:hover{--transform-translate-x:-33.33333%}.xl\:hover\:-translate-x-5\/12:hover{--transform-translate-x:-41.66667%}.xl\:hover\:-translate-x-6\/12:hover{--transform-translate-x:-50%}.xl\:hover\:-translate-x-7\/12:hover{--transform-translate-x:-58.33333%}.xl\:hover\:-translate-x-8\/12:hover{--transform-translate-x:-66.66667%}.xl\:hover\:-translate-x-9\/12:hover{--transform-translate-x:-75%}.xl\:hover\:-translate-x-10\/12:hover{--transform-translate-x:-83.33333%}.xl\:hover\:-translate-x-11\/12:hover{--transform-translate-x:-91.66667%}.xl\:hover\:-translate-x-full:hover{--transform-translate-x:-100%}.xl\:hover\:translate-y-0:hover{--transform-translate-y:0}.xl\:hover\:translate-y-1:hover{--transform-translate-y:0.25rem}.xl\:hover\:translate-y-2:hover{--transform-translate-y:0.5rem}.xl\:hover\:translate-y-3:hover{--transform-translate-y:0.75rem}.xl\:hover\:translate-y-4:hover{--transform-translate-y:1rem}.xl\:hover\:translate-y-5:hover{--transform-translate-y:1.25rem}.xl\:hover\:translate-y-6:hover{--transform-translate-y:1.5rem}.xl\:hover\:translate-y-7:hover{--transform-translate-y:1.75rem}.xl\:hover\:translate-y-8:hover{--transform-translate-y:2rem}.xl\:hover\:translate-y-9:hover{--transform-translate-y:2.25rem}.xl\:hover\:translate-y-10:hover{--transform-translate-y:2.5rem}.xl\:hover\:translate-y-11:hover{--transform-translate-y:2.75rem}.xl\:hover\:translate-y-12:hover{--transform-translate-y:3rem}.xl\:hover\:translate-y-13:hover{--transform-translate-y:3.25rem}.xl\:hover\:translate-y-14:hover{--transform-translate-y:3.5rem}.xl\:hover\:translate-y-15:hover{--transform-translate-y:3.75rem}.xl\:hover\:translate-y-16:hover{--transform-translate-y:4rem}.xl\:hover\:translate-y-20:hover{--transform-translate-y:5rem}.xl\:hover\:translate-y-24:hover{--transform-translate-y:6rem}.xl\:hover\:translate-y-28:hover{--transform-translate-y:7rem}.xl\:hover\:translate-y-32:hover{--transform-translate-y:8rem}.xl\:hover\:translate-y-36:hover{--transform-translate-y:9rem}.xl\:hover\:translate-y-40:hover{--transform-translate-y:10rem}.xl\:hover\:translate-y-44:hover{--transform-translate-y:11rem}.xl\:hover\:translate-y-48:hover{--transform-translate-y:12rem}.xl\:hover\:translate-y-52:hover{--transform-translate-y:13rem}.xl\:hover\:translate-y-56:hover{--transform-translate-y:14rem}.xl\:hover\:translate-y-60:hover{--transform-translate-y:15rem}.xl\:hover\:translate-y-64:hover{--transform-translate-y:16rem}.xl\:hover\:translate-y-72:hover{--transform-translate-y:18rem}.xl\:hover\:translate-y-80:hover{--transform-translate-y:20rem}.xl\:hover\:translate-y-96:hover{--transform-translate-y:24rem}.xl\:hover\:translate-y-px:hover{--transform-translate-y:1px}.xl\:hover\:translate-y-0\.5:hover{--transform-translate-y:0.125rem}.xl\:hover\:translate-y-1\.5:hover{--transform-translate-y:0.375rem}.xl\:hover\:translate-y-2\.5:hover{--transform-translate-y:0.625rem}.xl\:hover\:translate-y-3\.5:hover{--transform-translate-y:0.875rem}.xl\:hover\:translate-y-1\/2:hover{--transform-translate-y:50%}.xl\:hover\:translate-y-1\/3:hover{--transform-translate-y:33.333333%}.xl\:hover\:translate-y-2\/3:hover{--transform-translate-y:66.666667%}.xl\:hover\:translate-y-1\/4:hover{--transform-translate-y:25%}.xl\:hover\:translate-y-2\/4:hover{--transform-translate-y:50%}.xl\:hover\:translate-y-3\/4:hover{--transform-translate-y:75%}.xl\:hover\:translate-y-1\/5:hover{--transform-translate-y:20%}.xl\:hover\:translate-y-2\/5:hover{--transform-translate-y:40%}.xl\:hover\:translate-y-3\/5:hover{--transform-translate-y:60%}.xl\:hover\:translate-y-4\/5:hover{--transform-translate-y:80%}.xl\:hover\:translate-y-1\/6:hover{--transform-translate-y:16.666667%}.xl\:hover\:translate-y-2\/6:hover{--transform-translate-y:33.333333%}.xl\:hover\:translate-y-3\/6:hover{--transform-translate-y:50%}.xl\:hover\:translate-y-4\/6:hover{--transform-translate-y:66.666667%}.xl\:hover\:translate-y-5\/6:hover{--transform-translate-y:83.333333%}.xl\:hover\:translate-y-1\/12:hover{--transform-translate-y:8.333333%}.xl\:hover\:translate-y-2\/12:hover{--transform-translate-y:16.666667%}.xl\:hover\:translate-y-3\/12:hover{--transform-translate-y:25%}.xl\:hover\:translate-y-4\/12:hover{--transform-translate-y:33.333333%}.xl\:hover\:translate-y-5\/12:hover{--transform-translate-y:41.666667%}.xl\:hover\:translate-y-6\/12:hover{--transform-translate-y:50%}.xl\:hover\:translate-y-7\/12:hover{--transform-translate-y:58.333333%}.xl\:hover\:translate-y-8\/12:hover{--transform-translate-y:66.666667%}.xl\:hover\:translate-y-9\/12:hover{--transform-translate-y:75%}.xl\:hover\:translate-y-10\/12:hover{--transform-translate-y:83.333333%}.xl\:hover\:translate-y-11\/12:hover{--transform-translate-y:91.666667%}.xl\:hover\:translate-y-full:hover{--transform-translate-y:100%}.xl\:hover\:-translate-y-1:hover{--transform-translate-y:-0.25rem}.xl\:hover\:-translate-y-2:hover{--transform-translate-y:-0.5rem}.xl\:hover\:-translate-y-3:hover{--transform-translate-y:-0.75rem}.xl\:hover\:-translate-y-4:hover{--transform-translate-y:-1rem}.xl\:hover\:-translate-y-5:hover{--transform-translate-y:-1.25rem}.xl\:hover\:-translate-y-6:hover{--transform-translate-y:-1.5rem}.xl\:hover\:-translate-y-7:hover{--transform-translate-y:-1.75rem}.xl\:hover\:-translate-y-8:hover{--transform-translate-y:-2rem}.xl\:hover\:-translate-y-9:hover{--transform-translate-y:-2.25rem}.xl\:hover\:-translate-y-10:hover{--transform-translate-y:-2.5rem}.xl\:hover\:-translate-y-11:hover{--transform-translate-y:-2.75rem}.xl\:hover\:-translate-y-12:hover{--transform-translate-y:-3rem}.xl\:hover\:-translate-y-13:hover{--transform-translate-y:-3.25rem}.xl\:hover\:-translate-y-14:hover{--transform-translate-y:-3.5rem}.xl\:hover\:-translate-y-15:hover{--transform-translate-y:-3.75rem}.xl\:hover\:-translate-y-16:hover{--transform-translate-y:-4rem}.xl\:hover\:-translate-y-20:hover{--transform-translate-y:-5rem}.xl\:hover\:-translate-y-24:hover{--transform-translate-y:-6rem}.xl\:hover\:-translate-y-28:hover{--transform-translate-y:-7rem}.xl\:hover\:-translate-y-32:hover{--transform-translate-y:-8rem}.xl\:hover\:-translate-y-36:hover{--transform-translate-y:-9rem}.xl\:hover\:-translate-y-40:hover{--transform-translate-y:-10rem}.xl\:hover\:-translate-y-44:hover{--transform-translate-y:-11rem}.xl\:hover\:-translate-y-48:hover{--transform-translate-y:-12rem}.xl\:hover\:-translate-y-52:hover{--transform-translate-y:-13rem}.xl\:hover\:-translate-y-56:hover{--transform-translate-y:-14rem}.xl\:hover\:-translate-y-60:hover{--transform-translate-y:-15rem}.xl\:hover\:-translate-y-64:hover{--transform-translate-y:-16rem}.xl\:hover\:-translate-y-72:hover{--transform-translate-y:-18rem}.xl\:hover\:-translate-y-80:hover{--transform-translate-y:-20rem}.xl\:hover\:-translate-y-96:hover{--transform-translate-y:-24rem}.xl\:hover\:-translate-y-px:hover{--transform-translate-y:-1px}.xl\:hover\:-translate-y-0\.5:hover{--transform-translate-y:-0.125rem}.xl\:hover\:-translate-y-1\.5:hover{--transform-translate-y:-0.375rem}.xl\:hover\:-translate-y-2\.5:hover{--transform-translate-y:-0.625rem}.xl\:hover\:-translate-y-3\.5:hover{--transform-translate-y:-0.875rem}.xl\:hover\:-translate-y-1\/2:hover{--transform-translate-y:-50%}.xl\:hover\:-translate-y-1\/3:hover{--transform-translate-y:-33.33333%}.xl\:hover\:-translate-y-2\/3:hover{--transform-translate-y:-66.66667%}.xl\:hover\:-translate-y-1\/4:hover{--transform-translate-y:-25%}.xl\:hover\:-translate-y-2\/4:hover{--transform-translate-y:-50%}.xl\:hover\:-translate-y-3\/4:hover{--transform-translate-y:-75%}.xl\:hover\:-translate-y-1\/5:hover{--transform-translate-y:-20%}.xl\:hover\:-translate-y-2\/5:hover{--transform-translate-y:-40%}.xl\:hover\:-translate-y-3\/5:hover{--transform-translate-y:-60%}.xl\:hover\:-translate-y-4\/5:hover{--transform-translate-y:-80%}.xl\:hover\:-translate-y-1\/6:hover{--transform-translate-y:-16.66667%}.xl\:hover\:-translate-y-2\/6:hover{--transform-translate-y:-33.33333%}.xl\:hover\:-translate-y-3\/6:hover{--transform-translate-y:-50%}.xl\:hover\:-translate-y-4\/6:hover{--transform-translate-y:-66.66667%}.xl\:hover\:-translate-y-5\/6:hover{--transform-translate-y:-83.33333%}.xl\:hover\:-translate-y-1\/12:hover{--transform-translate-y:-8.33333%}.xl\:hover\:-translate-y-2\/12:hover{--transform-translate-y:-16.66667%}.xl\:hover\:-translate-y-3\/12:hover{--transform-translate-y:-25%}.xl\:hover\:-translate-y-4\/12:hover{--transform-translate-y:-33.33333%}.xl\:hover\:-translate-y-5\/12:hover{--transform-translate-y:-41.66667%}.xl\:hover\:-translate-y-6\/12:hover{--transform-translate-y:-50%}.xl\:hover\:-translate-y-7\/12:hover{--transform-translate-y:-58.33333%}.xl\:hover\:-translate-y-8\/12:hover{--transform-translate-y:-66.66667%}.xl\:hover\:-translate-y-9\/12:hover{--transform-translate-y:-75%}.xl\:hover\:-translate-y-10\/12:hover{--transform-translate-y:-83.33333%}.xl\:hover\:-translate-y-11\/12:hover{--transform-translate-y:-91.66667%}.xl\:hover\:-translate-y-full:hover{--transform-translate-y:-100%}.xl\:focus\:translate-x-0:focus{--transform-translate-x:0}.xl\:focus\:translate-x-1:focus{--transform-translate-x:0.25rem}.xl\:focus\:translate-x-2:focus{--transform-translate-x:0.5rem}.xl\:focus\:translate-x-3:focus{--transform-translate-x:0.75rem}.xl\:focus\:translate-x-4:focus{--transform-translate-x:1rem}.xl\:focus\:translate-x-5:focus{--transform-translate-x:1.25rem}.xl\:focus\:translate-x-6:focus{--transform-translate-x:1.5rem}.xl\:focus\:translate-x-7:focus{--transform-translate-x:1.75rem}.xl\:focus\:translate-x-8:focus{--transform-translate-x:2rem}.xl\:focus\:translate-x-9:focus{--transform-translate-x:2.25rem}.xl\:focus\:translate-x-10:focus{--transform-translate-x:2.5rem}.xl\:focus\:translate-x-11:focus{--transform-translate-x:2.75rem}.xl\:focus\:translate-x-12:focus{--transform-translate-x:3rem}.xl\:focus\:translate-x-13:focus{--transform-translate-x:3.25rem}.xl\:focus\:translate-x-14:focus{--transform-translate-x:3.5rem}.xl\:focus\:translate-x-15:focus{--transform-translate-x:3.75rem}.xl\:focus\:translate-x-16:focus{--transform-translate-x:4rem}.xl\:focus\:translate-x-20:focus{--transform-translate-x:5rem}.xl\:focus\:translate-x-24:focus{--transform-translate-x:6rem}.xl\:focus\:translate-x-28:focus{--transform-translate-x:7rem}.xl\:focus\:translate-x-32:focus{--transform-translate-x:8rem}.xl\:focus\:translate-x-36:focus{--transform-translate-x:9rem}.xl\:focus\:translate-x-40:focus{--transform-translate-x:10rem}.xl\:focus\:translate-x-44:focus{--transform-translate-x:11rem}.xl\:focus\:translate-x-48:focus{--transform-translate-x:12rem}.xl\:focus\:translate-x-52:focus{--transform-translate-x:13rem}.xl\:focus\:translate-x-56:focus{--transform-translate-x:14rem}.xl\:focus\:translate-x-60:focus{--transform-translate-x:15rem}.xl\:focus\:translate-x-64:focus{--transform-translate-x:16rem}.xl\:focus\:translate-x-72:focus{--transform-translate-x:18rem}.xl\:focus\:translate-x-80:focus{--transform-translate-x:20rem}.xl\:focus\:translate-x-96:focus{--transform-translate-x:24rem}.xl\:focus\:translate-x-px:focus{--transform-translate-x:1px}.xl\:focus\:translate-x-0\.5:focus{--transform-translate-x:0.125rem}.xl\:focus\:translate-x-1\.5:focus{--transform-translate-x:0.375rem}.xl\:focus\:translate-x-2\.5:focus{--transform-translate-x:0.625rem}.xl\:focus\:translate-x-3\.5:focus{--transform-translate-x:0.875rem}.xl\:focus\:translate-x-1\/2:focus{--transform-translate-x:50%}.xl\:focus\:translate-x-1\/3:focus{--transform-translate-x:33.333333%}.xl\:focus\:translate-x-2\/3:focus{--transform-translate-x:66.666667%}.xl\:focus\:translate-x-1\/4:focus{--transform-translate-x:25%}.xl\:focus\:translate-x-2\/4:focus{--transform-translate-x:50%}.xl\:focus\:translate-x-3\/4:focus{--transform-translate-x:75%}.xl\:focus\:translate-x-1\/5:focus{--transform-translate-x:20%}.xl\:focus\:translate-x-2\/5:focus{--transform-translate-x:40%}.xl\:focus\:translate-x-3\/5:focus{--transform-translate-x:60%}.xl\:focus\:translate-x-4\/5:focus{--transform-translate-x:80%}.xl\:focus\:translate-x-1\/6:focus{--transform-translate-x:16.666667%}.xl\:focus\:translate-x-2\/6:focus{--transform-translate-x:33.333333%}.xl\:focus\:translate-x-3\/6:focus{--transform-translate-x:50%}.xl\:focus\:translate-x-4\/6:focus{--transform-translate-x:66.666667%}.xl\:focus\:translate-x-5\/6:focus{--transform-translate-x:83.333333%}.xl\:focus\:translate-x-1\/12:focus{--transform-translate-x:8.333333%}.xl\:focus\:translate-x-2\/12:focus{--transform-translate-x:16.666667%}.xl\:focus\:translate-x-3\/12:focus{--transform-translate-x:25%}.xl\:focus\:translate-x-4\/12:focus{--transform-translate-x:33.333333%}.xl\:focus\:translate-x-5\/12:focus{--transform-translate-x:41.666667%}.xl\:focus\:translate-x-6\/12:focus{--transform-translate-x:50%}.xl\:focus\:translate-x-7\/12:focus{--transform-translate-x:58.333333%}.xl\:focus\:translate-x-8\/12:focus{--transform-translate-x:66.666667%}.xl\:focus\:translate-x-9\/12:focus{--transform-translate-x:75%}.xl\:focus\:translate-x-10\/12:focus{--transform-translate-x:83.333333%}.xl\:focus\:translate-x-11\/12:focus{--transform-translate-x:91.666667%}.xl\:focus\:translate-x-full:focus{--transform-translate-x:100%}.xl\:focus\:-translate-x-1:focus{--transform-translate-x:-0.25rem}.xl\:focus\:-translate-x-2:focus{--transform-translate-x:-0.5rem}.xl\:focus\:-translate-x-3:focus{--transform-translate-x:-0.75rem}.xl\:focus\:-translate-x-4:focus{--transform-translate-x:-1rem}.xl\:focus\:-translate-x-5:focus{--transform-translate-x:-1.25rem}.xl\:focus\:-translate-x-6:focus{--transform-translate-x:-1.5rem}.xl\:focus\:-translate-x-7:focus{--transform-translate-x:-1.75rem}.xl\:focus\:-translate-x-8:focus{--transform-translate-x:-2rem}.xl\:focus\:-translate-x-9:focus{--transform-translate-x:-2.25rem}.xl\:focus\:-translate-x-10:focus{--transform-translate-x:-2.5rem}.xl\:focus\:-translate-x-11:focus{--transform-translate-x:-2.75rem}.xl\:focus\:-translate-x-12:focus{--transform-translate-x:-3rem}.xl\:focus\:-translate-x-13:focus{--transform-translate-x:-3.25rem}.xl\:focus\:-translate-x-14:focus{--transform-translate-x:-3.5rem}.xl\:focus\:-translate-x-15:focus{--transform-translate-x:-3.75rem}.xl\:focus\:-translate-x-16:focus{--transform-translate-x:-4rem}.xl\:focus\:-translate-x-20:focus{--transform-translate-x:-5rem}.xl\:focus\:-translate-x-24:focus{--transform-translate-x:-6rem}.xl\:focus\:-translate-x-28:focus{--transform-translate-x:-7rem}.xl\:focus\:-translate-x-32:focus{--transform-translate-x:-8rem}.xl\:focus\:-translate-x-36:focus{--transform-translate-x:-9rem}.xl\:focus\:-translate-x-40:focus{--transform-translate-x:-10rem}.xl\:focus\:-translate-x-44:focus{--transform-translate-x:-11rem}.xl\:focus\:-translate-x-48:focus{--transform-translate-x:-12rem}.xl\:focus\:-translate-x-52:focus{--transform-translate-x:-13rem}.xl\:focus\:-translate-x-56:focus{--transform-translate-x:-14rem}.xl\:focus\:-translate-x-60:focus{--transform-translate-x:-15rem}.xl\:focus\:-translate-x-64:focus{--transform-translate-x:-16rem}.xl\:focus\:-translate-x-72:focus{--transform-translate-x:-18rem}.xl\:focus\:-translate-x-80:focus{--transform-translate-x:-20rem}.xl\:focus\:-translate-x-96:focus{--transform-translate-x:-24rem}.xl\:focus\:-translate-x-px:focus{--transform-translate-x:-1px}.xl\:focus\:-translate-x-0\.5:focus{--transform-translate-x:-0.125rem}.xl\:focus\:-translate-x-1\.5:focus{--transform-translate-x:-0.375rem}.xl\:focus\:-translate-x-2\.5:focus{--transform-translate-x:-0.625rem}.xl\:focus\:-translate-x-3\.5:focus{--transform-translate-x:-0.875rem}.xl\:focus\:-translate-x-1\/2:focus{--transform-translate-x:-50%}.xl\:focus\:-translate-x-1\/3:focus{--transform-translate-x:-33.33333%}.xl\:focus\:-translate-x-2\/3:focus{--transform-translate-x:-66.66667%}.xl\:focus\:-translate-x-1\/4:focus{--transform-translate-x:-25%}.xl\:focus\:-translate-x-2\/4:focus{--transform-translate-x:-50%}.xl\:focus\:-translate-x-3\/4:focus{--transform-translate-x:-75%}.xl\:focus\:-translate-x-1\/5:focus{--transform-translate-x:-20%}.xl\:focus\:-translate-x-2\/5:focus{--transform-translate-x:-40%}.xl\:focus\:-translate-x-3\/5:focus{--transform-translate-x:-60%}.xl\:focus\:-translate-x-4\/5:focus{--transform-translate-x:-80%}.xl\:focus\:-translate-x-1\/6:focus{--transform-translate-x:-16.66667%}.xl\:focus\:-translate-x-2\/6:focus{--transform-translate-x:-33.33333%}.xl\:focus\:-translate-x-3\/6:focus{--transform-translate-x:-50%}.xl\:focus\:-translate-x-4\/6:focus{--transform-translate-x:-66.66667%}.xl\:focus\:-translate-x-5\/6:focus{--transform-translate-x:-83.33333%}.xl\:focus\:-translate-x-1\/12:focus{--transform-translate-x:-8.33333%}.xl\:focus\:-translate-x-2\/12:focus{--transform-translate-x:-16.66667%}.xl\:focus\:-translate-x-3\/12:focus{--transform-translate-x:-25%}.xl\:focus\:-translate-x-4\/12:focus{--transform-translate-x:-33.33333%}.xl\:focus\:-translate-x-5\/12:focus{--transform-translate-x:-41.66667%}.xl\:focus\:-translate-x-6\/12:focus{--transform-translate-x:-50%}.xl\:focus\:-translate-x-7\/12:focus{--transform-translate-x:-58.33333%}.xl\:focus\:-translate-x-8\/12:focus{--transform-translate-x:-66.66667%}.xl\:focus\:-translate-x-9\/12:focus{--transform-translate-x:-75%}.xl\:focus\:-translate-x-10\/12:focus{--transform-translate-x:-83.33333%}.xl\:focus\:-translate-x-11\/12:focus{--transform-translate-x:-91.66667%}.xl\:focus\:-translate-x-full:focus{--transform-translate-x:-100%}.xl\:focus\:translate-y-0:focus{--transform-translate-y:0}.xl\:focus\:translate-y-1:focus{--transform-translate-y:0.25rem}.xl\:focus\:translate-y-2:focus{--transform-translate-y:0.5rem}.xl\:focus\:translate-y-3:focus{--transform-translate-y:0.75rem}.xl\:focus\:translate-y-4:focus{--transform-translate-y:1rem}.xl\:focus\:translate-y-5:focus{--transform-translate-y:1.25rem}.xl\:focus\:translate-y-6:focus{--transform-translate-y:1.5rem}.xl\:focus\:translate-y-7:focus{--transform-translate-y:1.75rem}.xl\:focus\:translate-y-8:focus{--transform-translate-y:2rem}.xl\:focus\:translate-y-9:focus{--transform-translate-y:2.25rem}.xl\:focus\:translate-y-10:focus{--transform-translate-y:2.5rem}.xl\:focus\:translate-y-11:focus{--transform-translate-y:2.75rem}.xl\:focus\:translate-y-12:focus{--transform-translate-y:3rem}.xl\:focus\:translate-y-13:focus{--transform-translate-y:3.25rem}.xl\:focus\:translate-y-14:focus{--transform-translate-y:3.5rem}.xl\:focus\:translate-y-15:focus{--transform-translate-y:3.75rem}.xl\:focus\:translate-y-16:focus{--transform-translate-y:4rem}.xl\:focus\:translate-y-20:focus{--transform-translate-y:5rem}.xl\:focus\:translate-y-24:focus{--transform-translate-y:6rem}.xl\:focus\:translate-y-28:focus{--transform-translate-y:7rem}.xl\:focus\:translate-y-32:focus{--transform-translate-y:8rem}.xl\:focus\:translate-y-36:focus{--transform-translate-y:9rem}.xl\:focus\:translate-y-40:focus{--transform-translate-y:10rem}.xl\:focus\:translate-y-44:focus{--transform-translate-y:11rem}.xl\:focus\:translate-y-48:focus{--transform-translate-y:12rem}.xl\:focus\:translate-y-52:focus{--transform-translate-y:13rem}.xl\:focus\:translate-y-56:focus{--transform-translate-y:14rem}.xl\:focus\:translate-y-60:focus{--transform-translate-y:15rem}.xl\:focus\:translate-y-64:focus{--transform-translate-y:16rem}.xl\:focus\:translate-y-72:focus{--transform-translate-y:18rem}.xl\:focus\:translate-y-80:focus{--transform-translate-y:20rem}.xl\:focus\:translate-y-96:focus{--transform-translate-y:24rem}.xl\:focus\:translate-y-px:focus{--transform-translate-y:1px}.xl\:focus\:translate-y-0\.5:focus{--transform-translate-y:0.125rem}.xl\:focus\:translate-y-1\.5:focus{--transform-translate-y:0.375rem}.xl\:focus\:translate-y-2\.5:focus{--transform-translate-y:0.625rem}.xl\:focus\:translate-y-3\.5:focus{--transform-translate-y:0.875rem}.xl\:focus\:translate-y-1\/2:focus{--transform-translate-y:50%}.xl\:focus\:translate-y-1\/3:focus{--transform-translate-y:33.333333%}.xl\:focus\:translate-y-2\/3:focus{--transform-translate-y:66.666667%}.xl\:focus\:translate-y-1\/4:focus{--transform-translate-y:25%}.xl\:focus\:translate-y-2\/4:focus{--transform-translate-y:50%}.xl\:focus\:translate-y-3\/4:focus{--transform-translate-y:75%}.xl\:focus\:translate-y-1\/5:focus{--transform-translate-y:20%}.xl\:focus\:translate-y-2\/5:focus{--transform-translate-y:40%}.xl\:focus\:translate-y-3\/5:focus{--transform-translate-y:60%}.xl\:focus\:translate-y-4\/5:focus{--transform-translate-y:80%}.xl\:focus\:translate-y-1\/6:focus{--transform-translate-y:16.666667%}.xl\:focus\:translate-y-2\/6:focus{--transform-translate-y:33.333333%}.xl\:focus\:translate-y-3\/6:focus{--transform-translate-y:50%}.xl\:focus\:translate-y-4\/6:focus{--transform-translate-y:66.666667%}.xl\:focus\:translate-y-5\/6:focus{--transform-translate-y:83.333333%}.xl\:focus\:translate-y-1\/12:focus{--transform-translate-y:8.333333%}.xl\:focus\:translate-y-2\/12:focus{--transform-translate-y:16.666667%}.xl\:focus\:translate-y-3\/12:focus{--transform-translate-y:25%}.xl\:focus\:translate-y-4\/12:focus{--transform-translate-y:33.333333%}.xl\:focus\:translate-y-5\/12:focus{--transform-translate-y:41.666667%}.xl\:focus\:translate-y-6\/12:focus{--transform-translate-y:50%}.xl\:focus\:translate-y-7\/12:focus{--transform-translate-y:58.333333%}.xl\:focus\:translate-y-8\/12:focus{--transform-translate-y:66.666667%}.xl\:focus\:translate-y-9\/12:focus{--transform-translate-y:75%}.xl\:focus\:translate-y-10\/12:focus{--transform-translate-y:83.333333%}.xl\:focus\:translate-y-11\/12:focus{--transform-translate-y:91.666667%}.xl\:focus\:translate-y-full:focus{--transform-translate-y:100%}.xl\:focus\:-translate-y-1:focus{--transform-translate-y:-0.25rem}.xl\:focus\:-translate-y-2:focus{--transform-translate-y:-0.5rem}.xl\:focus\:-translate-y-3:focus{--transform-translate-y:-0.75rem}.xl\:focus\:-translate-y-4:focus{--transform-translate-y:-1rem}.xl\:focus\:-translate-y-5:focus{--transform-translate-y:-1.25rem}.xl\:focus\:-translate-y-6:focus{--transform-translate-y:-1.5rem}.xl\:focus\:-translate-y-7:focus{--transform-translate-y:-1.75rem}.xl\:focus\:-translate-y-8:focus{--transform-translate-y:-2rem}.xl\:focus\:-translate-y-9:focus{--transform-translate-y:-2.25rem}.xl\:focus\:-translate-y-10:focus{--transform-translate-y:-2.5rem}.xl\:focus\:-translate-y-11:focus{--transform-translate-y:-2.75rem}.xl\:focus\:-translate-y-12:focus{--transform-translate-y:-3rem}.xl\:focus\:-translate-y-13:focus{--transform-translate-y:-3.25rem}.xl\:focus\:-translate-y-14:focus{--transform-translate-y:-3.5rem}.xl\:focus\:-translate-y-15:focus{--transform-translate-y:-3.75rem}.xl\:focus\:-translate-y-16:focus{--transform-translate-y:-4rem}.xl\:focus\:-translate-y-20:focus{--transform-translate-y:-5rem}.xl\:focus\:-translate-y-24:focus{--transform-translate-y:-6rem}.xl\:focus\:-translate-y-28:focus{--transform-translate-y:-7rem}.xl\:focus\:-translate-y-32:focus{--transform-translate-y:-8rem}.xl\:focus\:-translate-y-36:focus{--transform-translate-y:-9rem}.xl\:focus\:-translate-y-40:focus{--transform-translate-y:-10rem}.xl\:focus\:-translate-y-44:focus{--transform-translate-y:-11rem}.xl\:focus\:-translate-y-48:focus{--transform-translate-y:-12rem}.xl\:focus\:-translate-y-52:focus{--transform-translate-y:-13rem}.xl\:focus\:-translate-y-56:focus{--transform-translate-y:-14rem}.xl\:focus\:-translate-y-60:focus{--transform-translate-y:-15rem}.xl\:focus\:-translate-y-64:focus{--transform-translate-y:-16rem}.xl\:focus\:-translate-y-72:focus{--transform-translate-y:-18rem}.xl\:focus\:-translate-y-80:focus{--transform-translate-y:-20rem}.xl\:focus\:-translate-y-96:focus{--transform-translate-y:-24rem}.xl\:focus\:-translate-y-px:focus{--transform-translate-y:-1px}.xl\:focus\:-translate-y-0\.5:focus{--transform-translate-y:-0.125rem}.xl\:focus\:-translate-y-1\.5:focus{--transform-translate-y:-0.375rem}.xl\:focus\:-translate-y-2\.5:focus{--transform-translate-y:-0.625rem}.xl\:focus\:-translate-y-3\.5:focus{--transform-translate-y:-0.875rem}.xl\:focus\:-translate-y-1\/2:focus{--transform-translate-y:-50%}.xl\:focus\:-translate-y-1\/3:focus{--transform-translate-y:-33.33333%}.xl\:focus\:-translate-y-2\/3:focus{--transform-translate-y:-66.66667%}.xl\:focus\:-translate-y-1\/4:focus{--transform-translate-y:-25%}.xl\:focus\:-translate-y-2\/4:focus{--transform-translate-y:-50%}.xl\:focus\:-translate-y-3\/4:focus{--transform-translate-y:-75%}.xl\:focus\:-translate-y-1\/5:focus{--transform-translate-y:-20%}.xl\:focus\:-translate-y-2\/5:focus{--transform-translate-y:-40%}.xl\:focus\:-translate-y-3\/5:focus{--transform-translate-y:-60%}.xl\:focus\:-translate-y-4\/5:focus{--transform-translate-y:-80%}.xl\:focus\:-translate-y-1\/6:focus{--transform-translate-y:-16.66667%}.xl\:focus\:-translate-y-2\/6:focus{--transform-translate-y:-33.33333%}.xl\:focus\:-translate-y-3\/6:focus{--transform-translate-y:-50%}.xl\:focus\:-translate-y-4\/6:focus{--transform-translate-y:-66.66667%}.xl\:focus\:-translate-y-5\/6:focus{--transform-translate-y:-83.33333%}.xl\:focus\:-translate-y-1\/12:focus{--transform-translate-y:-8.33333%}.xl\:focus\:-translate-y-2\/12:focus{--transform-translate-y:-16.66667%}.xl\:focus\:-translate-y-3\/12:focus{--transform-translate-y:-25%}.xl\:focus\:-translate-y-4\/12:focus{--transform-translate-y:-33.33333%}.xl\:focus\:-translate-y-5\/12:focus{--transform-translate-y:-41.66667%}.xl\:focus\:-translate-y-6\/12:focus{--transform-translate-y:-50%}.xl\:focus\:-translate-y-7\/12:focus{--transform-translate-y:-58.33333%}.xl\:focus\:-translate-y-8\/12:focus{--transform-translate-y:-66.66667%}.xl\:focus\:-translate-y-9\/12:focus{--transform-translate-y:-75%}.xl\:focus\:-translate-y-10\/12:focus{--transform-translate-y:-83.33333%}.xl\:focus\:-translate-y-11\/12:focus{--transform-translate-y:-91.66667%}.xl\:focus\:-translate-y-full:focus{--transform-translate-y:-100%}.xl\:skew-x-0{--transform-skew-x:0}.xl\:skew-x-3{--transform-skew-x:3deg}.xl\:skew-x-6{--transform-skew-x:6deg}.xl\:skew-x-12{--transform-skew-x:12deg}.xl\:-skew-x-12{--transform-skew-x:-12deg}.xl\:-skew-x-6{--transform-skew-x:-6deg}.xl\:-skew-x-3{--transform-skew-x:-3deg}.xl\:skew-y-0{--transform-skew-y:0}.xl\:skew-y-3{--transform-skew-y:3deg}.xl\:skew-y-6{--transform-skew-y:6deg}.xl\:skew-y-12{--transform-skew-y:12deg}.xl\:-skew-y-12{--transform-skew-y:-12deg}.xl\:-skew-y-6{--transform-skew-y:-6deg}.xl\:-skew-y-3{--transform-skew-y:-3deg}.xl\:hover\:skew-x-0:hover{--transform-skew-x:0}.xl\:hover\:skew-x-3:hover{--transform-skew-x:3deg}.xl\:hover\:skew-x-6:hover{--transform-skew-x:6deg}.xl\:hover\:skew-x-12:hover{--transform-skew-x:12deg}.xl\:hover\:-skew-x-12:hover{--transform-skew-x:-12deg}.xl\:hover\:-skew-x-6:hover{--transform-skew-x:-6deg}.xl\:hover\:-skew-x-3:hover{--transform-skew-x:-3deg}.xl\:hover\:skew-y-0:hover{--transform-skew-y:0}.xl\:hover\:skew-y-3:hover{--transform-skew-y:3deg}.xl\:hover\:skew-y-6:hover{--transform-skew-y:6deg}.xl\:hover\:skew-y-12:hover{--transform-skew-y:12deg}.xl\:hover\:-skew-y-12:hover{--transform-skew-y:-12deg}.xl\:hover\:-skew-y-6:hover{--transform-skew-y:-6deg}.xl\:hover\:-skew-y-3:hover{--transform-skew-y:-3deg}.xl\:focus\:skew-x-0:focus{--transform-skew-x:0}.xl\:focus\:skew-x-3:focus{--transform-skew-x:3deg}.xl\:focus\:skew-x-6:focus{--transform-skew-x:6deg}.xl\:focus\:skew-x-12:focus{--transform-skew-x:12deg}.xl\:focus\:-skew-x-12:focus{--transform-skew-x:-12deg}.xl\:focus\:-skew-x-6:focus{--transform-skew-x:-6deg}.xl\:focus\:-skew-x-3:focus{--transform-skew-x:-3deg}.xl\:focus\:skew-y-0:focus{--transform-skew-y:0}.xl\:focus\:skew-y-3:focus{--transform-skew-y:3deg}.xl\:focus\:skew-y-6:focus{--transform-skew-y:6deg}.xl\:focus\:skew-y-12:focus{--transform-skew-y:12deg}.xl\:focus\:-skew-y-12:focus{--transform-skew-y:-12deg}.xl\:focus\:-skew-y-6:focus{--transform-skew-y:-6deg}.xl\:focus\:-skew-y-3:focus{--transform-skew-y:-3deg}.xl\:transition-none{transition-property:none}.xl\:transition-all{transition-property:all}.xl\:transition{transition-property:background-color,border-color,color,fill,stroke,opacity,box-shadow,transform}.xl\:transition-colors{transition-property:background-color,border-color,color,fill,stroke}.xl\:transition-opacity{transition-property:opacity}.xl\:transition-shadow{transition-property:box-shadow}.xl\:transition-transform{transition-property:transform}.xl\:ease-linear{transition-timing-function:linear}.xl\:ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.xl\:ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.xl\:ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.xl\:duration-75{transition-duration:75ms}.xl\:duration-100{transition-duration:.1s}.xl\:duration-150{transition-duration:150ms}.xl\:duration-200{transition-duration:.2s}.xl\:duration-300{transition-duration:.3s}.xl\:duration-500{transition-duration:.5s}.xl\:duration-700{transition-duration:.7s}.xl\:duration-1000{transition-duration:1s}.xl\:delay-75{transition-delay:75ms}.xl\:delay-100{transition-delay:.1s}.xl\:delay-150{transition-delay:150ms}.xl\:delay-200{transition-delay:.2s}.xl\:delay-300{transition-delay:.3s}.xl\:delay-500{transition-delay:.5s}.xl\:delay-700{transition-delay:.7s}.xl\:delay-1000{transition-delay:1s}} \ No newline at end of file
diff --git a/priv/static/js/d3.v4.min.js b/priv/static/js/d3.v4.min.js
new file mode 100644
index 0000000..607d187
--- /dev/null
+++ b/priv/static/js/d3.v4.min.js
@@ -0,0 +1,2 @@
+// https://d3js.org Version 4.13.0. Copyright 2018 Mike Bostock.
+(function(t,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports):"function"==typeof define&&define.amd?define(["exports"],n):n(t.d3=t.d3||{})})(this,function(t){"use strict";function n(t,n){return t<n?-1:t>n?1:t>=n?0:NaN}function e(t){return 1===t.length&&(t=function(t){return function(e,r){return n(t(e),r)}}(t)),{left:function(n,e,r,i){for(null==r&&(r=0),null==i&&(i=n.length);r<i;){var o=r+i>>>1;t(n[o],e)<0?r=o+1:i=o}return r},right:function(n,e,r,i){for(null==r&&(r=0),null==i&&(i=n.length);r<i;){var o=r+i>>>1;t(n[o],e)>0?i=o:r=o+1}return r}}}function r(t,n){return[t,n]}function i(t){return null===t?NaN:+t}function o(t,n){var e,r,o=t.length,u=0,a=-1,c=0,s=0;if(null==n)for(;++a<o;)isNaN(e=i(t[a]))||(s+=(r=e-c)*(e-(c+=r/++u)));else for(;++a<o;)isNaN(e=i(n(t[a],a,t)))||(s+=(r=e-c)*(e-(c+=r/++u)));if(u>1)return s/(u-1)}function u(t,n){var e=o(t,n);return e?Math.sqrt(e):e}function a(t,n){var e,r,i,o=t.length,u=-1;if(null==n){for(;++u<o;)if(null!=(e=t[u])&&e>=e)for(r=i=e;++u<o;)null!=(e=t[u])&&(r>e&&(r=e),i<e&&(i=e))}else for(;++u<o;)if(null!=(e=n(t[u],u,t))&&e>=e)for(r=i=e;++u<o;)null!=(e=n(t[u],u,t))&&(r>e&&(r=e),i<e&&(i=e));return[r,i]}function c(t){return function(){return t}}function s(t){return t}function f(t,n,e){t=+t,n=+n,e=(i=arguments.length)<2?(n=t,t=0,1):i<3?1:+e;for(var r=-1,i=0|Math.max(0,Math.ceil((n-t)/e)),o=new Array(i);++r<i;)o[r]=t+r*e;return o}function l(t,n,e){var r,i,o,u,a=-1;if(n=+n,t=+t,e=+e,t===n&&e>0)return[t];if((r=n<t)&&(i=t,t=n,n=i),0===(u=h(t,n,e))||!isFinite(u))return[];if(u>0)for(t=Math.ceil(t/u),n=Math.floor(n/u),o=new Array(i=Math.ceil(n-t+1));++a<i;)o[a]=(t+a)*u;else for(t=Math.floor(t*u),n=Math.ceil(n*u),o=new Array(i=Math.ceil(t-n+1));++a<i;)o[a]=(t-a)/u;return r&&o.reverse(),o}function h(t,n,e){var r=(n-t)/Math.max(0,e),i=Math.floor(Math.log(r)/Math.LN10),o=r/Math.pow(10,i);return i>=0?(o>=Hs?10:o>=js?5:o>=Xs?2:1)*Math.pow(10,i):-Math.pow(10,-i)/(o>=Hs?10:o>=js?5:o>=Xs?2:1)}function p(t,n,e){var r=Math.abs(n-t)/Math.max(0,e),i=Math.pow(10,Math.floor(Math.log(r)/Math.LN10)),o=r/i;return o>=Hs?i*=10:o>=js?i*=5:o>=Xs&&(i*=2),n<t?-i:i}function d(t){return Math.ceil(Math.log(t.length)/Math.LN2)+1}function v(t,n,e){if(null==e&&(e=i),r=t.length){if((n=+n)<=0||r<2)return+e(t[0],0,t);if(n>=1)return+e(t[r-1],r-1,t);var r,o=(r-1)*n,u=Math.floor(o),a=+e(t[u],u,t);return a+(+e(t[u+1],u+1,t)-a)*(o-u)}}function g(t){for(var n,e,r,i=t.length,o=-1,u=0;++o<i;)u+=t[o].length;for(e=new Array(u);--i>=0;)for(n=(r=t[i]).length;--n>=0;)e[--u]=r[n];return e}function _(t,n){var e,r,i=t.length,o=-1;if(null==n){for(;++o<i;)if(null!=(e=t[o])&&e>=e)for(r=e;++o<i;)null!=(e=t[o])&&r>e&&(r=e)}else for(;++o<i;)if(null!=(e=n(t[o],o,t))&&e>=e)for(r=e;++o<i;)null!=(e=n(t[o],o,t))&&r>e&&(r=e);return r}function y(t){if(!(i=t.length))return[];for(var n=-1,e=_(t,m),r=new Array(e);++n<e;)for(var i,o=-1,u=r[n]=new Array(i);++o<i;)u[o]=t[o][n];return r}function m(t){return t.length}function x(t){return t}function b(t){return"translate("+(t+.5)+",0)"}function w(t){return"translate(0,"+(t+.5)+")"}function M(){return!this.__axis}function T(t,n){function e(e){var h=null==i?n.ticks?n.ticks.apply(n,r):n.domain():i,p=null==o?n.tickFormat?n.tickFormat.apply(n,r):x:o,d=Math.max(u,0)+c,v=n.range(),g=+v[0]+.5,_=+v[v.length-1]+.5,y=(n.bandwidth?function(t){var n=Math.max(0,t.bandwidth()-1)/2;return t.round()&&(n=Math.round(n)),function(e){return+t(e)+n}}:function(t){return function(n){return+t(n)}})(n.copy()),m=e.selection?e.selection():e,b=m.selectAll(".domain").data([null]),w=m.selectAll(".tick").data(h,n).order(),T=w.exit(),N=w.enter().append("g").attr("class","tick"),k=w.select("line"),S=w.select("text");b=b.merge(b.enter().insert("path",".tick").attr("class","domain").attr("stroke","#000")),w=w.merge(N),k=k.merge(N.append("line").attr("stroke","#000").attr(f+"2",s*u)),S=S.merge(N.append("text").attr("fill","#000").attr(f,s*d).attr("dy",t===$s?"0em":t===Zs?"0.71em":"0.32em")),e!==m&&(b=b.transition(e),w=w.transition(e),k=k.transition(e),S=S.transition(e),T=T.transition(e).attr("opacity",Qs).attr("transform",function(t){return isFinite(t=y(t))?l(t):this.getAttribute("transform")}),N.attr("opacity",Qs).attr("transform",function(t){var n=this.parentNode.__axis;return l(n&&isFinite(n=n(t))?n:y(t))})),T.remove(),b.attr("d",t===Gs||t==Ws?"M"+s*a+","+g+"H0.5V"+_+"H"+s*a:"M"+g+","+s*a+"V0.5H"+_+"V"+s*a),w.attr("opacity",1).attr("transform",function(t){return l(y(t))}),k.attr(f+"2",s*u),S.attr(f,s*d).text(p),m.filter(M).attr("fill","none").attr("font-size",10).attr("font-family","sans-serif").attr("text-anchor",t===Ws?"start":t===Gs?"end":"middle"),m.each(function(){this.__axis=y})}var r=[],i=null,o=null,u=6,a=6,c=3,s=t===$s||t===Gs?-1:1,f=t===Gs||t===Ws?"x":"y",l=t===$s||t===Zs?b:w;return e.scale=function(t){return arguments.length?(n=t,e):n},e.ticks=function(){return r=Vs.call(arguments),e},e.tickArguments=function(t){return arguments.length?(r=null==t?[]:Vs.call(t),e):r.slice()},e.tickValues=function(t){return arguments.length?(i=null==t?null:Vs.call(t),e):i&&i.slice()},e.tickFormat=function(t){return arguments.length?(o=t,e):o},e.tickSize=function(t){return arguments.length?(u=a=+t,e):u},e.tickSizeInner=function(t){return arguments.length?(u=+t,e):u},e.tickSizeOuter=function(t){return arguments.length?(a=+t,e):a},e.tickPadding=function(t){return arguments.length?(c=+t,e):c},e}function N(){for(var t,n=0,e=arguments.length,r={};n<e;++n){if(!(t=arguments[n]+"")||t in r)throw new Error("illegal type: "+t);r[t]=[]}return new k(r)}function k(t){this._=t}function S(t,n,e){for(var r=0,i=t.length;r<i;++r)if(t[r].name===n){t[r]=Js,t=t.slice(0,r).concat(t.slice(r+1));break}return null!=e&&t.push({name:n,value:e}),t}function E(t){var n=t+="",e=n.indexOf(":");return e>=0&&"xmlns"!==(n=t.slice(0,e))&&(t=t.slice(e+1)),tf.hasOwnProperty(n)?{space:tf[n],local:t}:t}function A(t){var n=E(t);return(n.local?function(t){return function(){return this.ownerDocument.createElementNS(t.space,t.local)}}:function(t){return function(){var n=this.ownerDocument,e=this.namespaceURI;return e===Ks&&n.documentElement.namespaceURI===Ks?n.createElement(t):n.createElementNS(e,t)}})(n)}function C(){}function z(t){return null==t?C:function(){return this.querySelector(t)}}function P(){return[]}function R(t){return null==t?P:function(){return this.querySelectorAll(t)}}function L(t){return new Array(t.length)}function q(t,n){this.ownerDocument=t.ownerDocument,this.namespaceURI=t.namespaceURI,this._next=null,this._parent=t,this.__data__=n}function D(t,n,e,r,i,o){for(var u,a=0,c=n.length,s=o.length;a<s;++a)(u=n[a])?(u.__data__=o[a],r[a]=u):e[a]=new q(t,o[a]);for(;a<c;++a)(u=n[a])&&(i[a]=u)}function U(t,n,e,r,i,o,u){var a,c,s,f={},l=n.length,h=o.length,p=new Array(l);for(a=0;a<l;++a)(c=n[a])&&(p[a]=s=uf+u.call(c,c.__data__,a,n),s in f?i[a]=c:f[s]=c);for(a=0;a<h;++a)(c=f[s=uf+u.call(t,o[a],a,o)])?(r[a]=c,c.__data__=o[a],f[s]=null):e[a]=new q(t,o[a]);for(a=0;a<l;++a)(c=n[a])&&f[p[a]]===c&&(i[a]=c)}function O(t,n){return t<n?-1:t>n?1:t>=n?0:NaN}function F(t){return t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.defaultView}function I(t,n){return t.style.getPropertyValue(n)||F(t).getComputedStyle(t,null).getPropertyValue(n)}function Y(t){return t.trim().split(/^|\s+/)}function B(t){return t.classList||new H(t)}function H(t){this._node=t,this._names=Y(t.getAttribute("class")||"")}function j(t,n){for(var e=B(t),r=-1,i=n.length;++r<i;)e.add(n[r])}function X(t,n){for(var e=B(t),r=-1,i=n.length;++r<i;)e.remove(n[r])}function V(){this.textContent=""}function $(){this.innerHTML=""}function W(){this.nextSibling&&this.parentNode.appendChild(this)}function Z(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function G(){return null}function Q(){var t=this.parentNode;t&&t.removeChild(this)}function J(){return this.parentNode.insertBefore(this.cloneNode(!1),this.nextSibling)}function K(){return this.parentNode.insertBefore(this.cloneNode(!0),this.nextSibling)}function tt(t,n,e){return t=nt(t,n,e),function(n){var e=n.relatedTarget;e&&(e===this||8&e.compareDocumentPosition(this))||t.call(this,n)}}function nt(n,e,r){return function(i){var o=t.event;t.event=i;try{n.call(this,this.__data__,e,r)}finally{t.event=o}}}function et(t){return function(){var n=this.__on;if(n){for(var e,r=0,i=-1,o=n.length;r<o;++r)e=n[r],t.type&&e.type!==t.type||e.name!==t.name?n[++i]=e:this.removeEventListener(e.type,e.listener,e.capture);++i?n.length=i:delete this.__on}}}function rt(t,n,e){var r=af.hasOwnProperty(t.type)?tt:nt;return function(i,o,u){var a,c=this.__on,s=r(n,o,u);if(c)for(var f=0,l=c.length;f<l;++f)if((a=c[f]).type===t.type&&a.name===t.name)return this.removeEventListener(a.type,a.listener,a.capture),this.addEventListener(a.type,a.listener=s,a.capture=e),void(a.value=n);this.addEventListener(t.type,s,e),a={type:t.type,name:t.name,value:n,listener:s,capture:e},c?c.push(a):this.__on=[a]}}function it(n,e,r,i){var o=t.event;n.sourceEvent=t.event,t.event=n;try{return e.apply(r,i)}finally{t.event=o}}function ot(t,n,e){var r=F(t),i=r.CustomEvent;"function"==typeof i?i=new i(n,e):(i=r.document.createEvent("Event"),e?(i.initEvent(n,e.bubbles,e.cancelable),i.detail=e.detail):i.initEvent(n,!1,!1)),t.dispatchEvent(i)}function ut(t,n){this._groups=t,this._parents=n}function at(){return new ut([[document.documentElement]],cf)}function ct(t){return"string"==typeof t?new ut([[document.querySelector(t)]],[document.documentElement]):new ut([[t]],cf)}function st(){return new ft}function ft(){this._="@"+(++sf).toString(36)}function lt(){for(var n,e=t.event;n=e.sourceEvent;)e=n;return e}function ht(t,n){var e=t.ownerSVGElement||t;if(e.createSVGPoint){var r=e.createSVGPoint();return r.x=n.clientX,r.y=n.clientY,r=r.matrixTransform(t.getScreenCTM().inverse()),[r.x,r.y]}var i=t.getBoundingClientRect();return[n.clientX-i.left-t.clientLeft,n.clientY-i.top-t.clientTop]}function pt(t){var n=lt();return n.changedTouches&&(n=n.changedTouches[0]),ht(t,n)}function dt(t,n,e){arguments.length<3&&(e=n,n=lt().changedTouches);for(var r,i=0,o=n?n.length:0;i<o;++i)if((r=n[i]).identifier===e)return ht(t,r);return null}function vt(){t.event.stopImmediatePropagation()}function gt(){t.event.preventDefault(),t.event.stopImmediatePropagation()}function _t(t){var n=t.document.documentElement,e=ct(t).on("dragstart.drag",gt,!0);"onselectstart"in n?e.on("selectstart.drag",gt,!0):(n.__noselect=n.style.MozUserSelect,n.style.MozUserSelect="none")}function yt(t,n){var e=t.document.documentElement,r=ct(t).on("dragstart.drag",null);n&&(r.on("click.drag",gt,!0),setTimeout(function(){r.on("click.drag",null)},0)),"onselectstart"in e?r.on("selectstart.drag",null):(e.style.MozUserSelect=e.__noselect,delete e.__noselect)}function mt(t){return function(){return t}}function xt(t,n,e,r,i,o,u,a,c,s){this.target=t,this.type=n,this.subject=e,this.identifier=r,this.active=i,this.x=o,this.y=u,this.dx=a,this.dy=c,this._=s}function bt(){return!t.event.button}function wt(){return this.parentNode}function Mt(n){return null==n?{x:t.event.x,y:t.event.y}:n}function Tt(){return"ontouchstart"in this}function Nt(t,n,e){t.prototype=n.prototype=e,e.constructor=t}function kt(t,n){var e=Object.create(t.prototype);for(var r in n)e[r]=n[r];return e}function St(){}function Et(t){var n;return t=(t+"").trim().toLowerCase(),(n=pf.exec(t))?(n=parseInt(n[1],16),new Rt(n>>8&15|n>>4&240,n>>4&15|240&n,(15&n)<<4|15&n,1)):(n=df.exec(t))?At(parseInt(n[1],16)):(n=vf.exec(t))?new Rt(n[1],n[2],n[3],1):(n=gf.exec(t))?new Rt(255*n[1]/100,255*n[2]/100,255*n[3]/100,1):(n=_f.exec(t))?Ct(n[1],n[2],n[3],n[4]):(n=yf.exec(t))?Ct(255*n[1]/100,255*n[2]/100,255*n[3]/100,n[4]):(n=mf.exec(t))?Lt(n[1],n[2]/100,n[3]/100,1):(n=xf.exec(t))?Lt(n[1],n[2]/100,n[3]/100,n[4]):bf.hasOwnProperty(t)?At(bf[t]):"transparent"===t?new Rt(NaN,NaN,NaN,0):null}function At(t){return new Rt(t>>16&255,t>>8&255,255&t,1)}function Ct(t,n,e,r){return r<=0&&(t=n=e=NaN),new Rt(t,n,e,r)}function zt(t){return t instanceof St||(t=Et(t)),t?(t=t.rgb(),new Rt(t.r,t.g,t.b,t.opacity)):new Rt}function Pt(t,n,e,r){return 1===arguments.length?zt(t):new Rt(t,n,e,null==r?1:r)}function Rt(t,n,e,r){this.r=+t,this.g=+n,this.b=+e,this.opacity=+r}function Lt(t,n,e,r){return r<=0?t=n=e=NaN:e<=0||e>=1?t=n=NaN:n<=0&&(t=NaN),new Dt(t,n,e,r)}function qt(t,n,e,r){return 1===arguments.length?function(t){if(t instanceof Dt)return new Dt(t.h,t.s,t.l,t.opacity);if(t instanceof St||(t=Et(t)),!t)return new Dt;if(t instanceof Dt)return t;var n=(t=t.rgb()).r/255,e=t.g/255,r=t.b/255,i=Math.min(n,e,r),o=Math.max(n,e,r),u=NaN,a=o-i,c=(o+i)/2;return a?(u=n===o?(e-r)/a+6*(e<r):e===o?(r-n)/a+2:(n-e)/a+4,a/=c<.5?o+i:2-o-i,u*=60):a=c>0&&c<1?0:u,new Dt(u,a,c,t.opacity)}(t):new Dt(t,n,e,null==r?1:r)}function Dt(t,n,e,r){this.h=+t,this.s=+n,this.l=+e,this.opacity=+r}function Ut(t,n,e){return 255*(t<60?n+(e-n)*t/60:t<180?e:t<240?n+(e-n)*(240-t)/60:n)}function Ot(t){if(t instanceof It)return new It(t.l,t.a,t.b,t.opacity);if(t instanceof Vt){var n=t.h*wf;return new It(t.l,Math.cos(n)*t.c,Math.sin(n)*t.c,t.opacity)}t instanceof Rt||(t=zt(t));var e=jt(t.r),r=jt(t.g),i=jt(t.b),o=Yt((.4124564*e+.3575761*r+.1804375*i)/Tf),u=Yt((.2126729*e+.7151522*r+.072175*i)/Nf);return new It(116*u-16,500*(o-u),200*(u-Yt((.0193339*e+.119192*r+.9503041*i)/kf)),t.opacity)}function Ft(t,n,e,r){return 1===arguments.length?Ot(t):new It(t,n,e,null==r?1:r)}function It(t,n,e,r){this.l=+t,this.a=+n,this.b=+e,this.opacity=+r}function Yt(t){return t>Cf?Math.pow(t,1/3):t/Af+Sf}function Bt(t){return t>Ef?t*t*t:Af*(t-Sf)}function Ht(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function jt(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function Xt(t,n,e,r){return 1===arguments.length?function(t){if(t instanceof Vt)return new Vt(t.h,t.c,t.l,t.opacity);t instanceof It||(t=Ot(t));var n=Math.atan2(t.b,t.a)*Mf;return new Vt(n<0?n+360:n,Math.sqrt(t.a*t.a+t.b*t.b),t.l,t.opacity)}(t):new Vt(t,n,e,null==r?1:r)}function Vt(t,n,e,r){this.h=+t,this.c=+n,this.l=+e,this.opacity=+r}function $t(t,n,e,r){return 1===arguments.length?function(t){if(t instanceof Wt)return new Wt(t.h,t.s,t.l,t.opacity);t instanceof Rt||(t=zt(t));var n=t.r/255,e=t.g/255,r=t.b/255,i=(Df*r+Lf*n-qf*e)/(Df+Lf-qf),o=r-i,u=(Rf*(e-i)-zf*o)/Pf,a=Math.sqrt(u*u+o*o)/(Rf*i*(1-i)),c=a?Math.atan2(u,o)*Mf-120:NaN;return new Wt(c<0?c+360:c,a,i,t.opacity)}(t):new Wt(t,n,e,null==r?1:r)}function Wt(t,n,e,r){this.h=+t,this.s=+n,this.l=+e,this.opacity=+r}function Zt(t,n,e,r,i){var o=t*t,u=o*t;return((1-3*t+3*o-u)*n+(4-6*o+3*u)*e+(1+3*t+3*o-3*u)*r+u*i)/6}function Gt(t){var n=t.length-1;return function(e){var r=e<=0?e=0:e>=1?(e=1,n-1):Math.floor(e*n),i=t[r],o=t[r+1],u=r>0?t[r-1]:2*i-o,a=r<n-1?t[r+2]:2*o-i;return Zt((e-r/n)*n,u,i,o,a)}}function Qt(t){var n=t.length;return function(e){var r=Math.floor(((e%=1)<0?++e:e)*n),i=t[(r+n-1)%n],o=t[r%n],u=t[(r+1)%n],a=t[(r+2)%n];return Zt((e-r/n)*n,i,o,u,a)}}function Jt(t){return function(){return t}}function Kt(t,n){return function(e){return t+e*n}}function tn(t,n){var e=n-t;return e?Kt(t,e>180||e<-180?e-360*Math.round(e/360):e):Jt(isNaN(t)?n:t)}function nn(t){return 1==(t=+t)?en:function(n,e){return e-n?function(t,n,e){return t=Math.pow(t,e),n=Math.pow(n,e)-t,e=1/e,function(r){return Math.pow(t+r*n,e)}}(n,e,t):Jt(isNaN(n)?e:n)}}function en(t,n){var e=n-t;return e?Kt(t,e):Jt(isNaN(t)?n:t)}function rn(t){return function(n){var e,r,i=n.length,o=new Array(i),u=new Array(i),a=new Array(i);for(e=0;e<i;++e)r=Pt(n[e]),o[e]=r.r||0,u[e]=r.g||0,a[e]=r.b||0;return o=t(o),u=t(u),a=t(a),r.opacity=1,function(t){return r.r=o(t),r.g=u(t),r.b=a(t),r+""}}}function on(t,n){var e,r=n?n.length:0,i=t?Math.min(r,t.length):0,o=new Array(i),u=new Array(r);for(e=0;e<i;++e)o[e]=fn(t[e],n[e]);for(;e<r;++e)u[e]=n[e];return function(t){for(e=0;e<i;++e)u[e]=o[e](t);return u}}function un(t,n){var e=new Date;return t=+t,n-=t,function(r){return e.setTime(t+n*r),e}}function an(t,n){return t=+t,n-=t,function(e){return t+n*e}}function cn(t,n){var e,r={},i={};null!==t&&"object"==typeof t||(t={}),null!==n&&"object"==typeof n||(n={});for(e in n)e in t?r[e]=fn(t[e],n[e]):i[e]=n[e];return function(t){for(e in r)i[e]=r[e](t);return i}}function sn(t,n){var e,r,i,o=Vf.lastIndex=$f.lastIndex=0,u=-1,a=[],c=[];for(t+="",n+="";(e=Vf.exec(t))&&(r=$f.exec(n));)(i=r.index)>o&&(i=n.slice(o,i),a[u]?a[u]+=i:a[++u]=i),(e=e[0])===(r=r[0])?a[u]?a[u]+=r:a[++u]=r:(a[++u]=null,c.push({i:u,x:an(e,r)})),o=$f.lastIndex;return o<n.length&&(i=n.slice(o),a[u]?a[u]+=i:a[++u]=i),a.length<2?c[0]?function(t){return function(n){return t(n)+""}}(c[0].x):function(t){return function(){return t}}(n):(n=c.length,function(t){for(var e,r=0;r<n;++r)a[(e=c[r]).i]=e.x(t);return a.join("")})}function fn(t,n){var e,r=typeof n;return null==n||"boolean"===r?Jt(n):("number"===r?an:"string"===r?(e=Et(n))?(n=e,Hf):sn:n instanceof Et?Hf:n instanceof Date?un:Array.isArray(n)?on:"function"!=typeof n.valueOf&&"function"!=typeof n.toString||isNaN(n)?cn:an)(t,n)}function ln(t,n){return t=+t,n-=t,function(e){return Math.round(t+n*e)}}function hn(t,n,e,r,i,o){var u,a,c;return(u=Math.sqrt(t*t+n*n))&&(t/=u,n/=u),(c=t*e+n*r)&&(e-=t*c,r-=n*c),(a=Math.sqrt(e*e+r*r))&&(e/=a,r/=a,c/=a),t*r<n*e&&(t=-t,n=-n,c=-c,u=-u),{translateX:i,translateY:o,rotate:Math.atan2(n,t)*Wf,skewX:Math.atan(c)*Wf,scaleX:u,scaleY:a}}function pn(t,n,e,r){function i(t){return t.length?t.pop()+" ":""}return function(o,u){var a=[],c=[];return o=t(o),u=t(u),function(t,r,i,o,u,a){if(t!==i||r!==o){var c=u.push("translate(",null,n,null,e);a.push({i:c-4,x:an(t,i)},{i:c-2,x:an(r,o)})}else(i||o)&&u.push("translate("+i+n+o+e)}(o.translateX,o.translateY,u.translateX,u.translateY,a,c),function(t,n,e,o){t!==n?(t-n>180?n+=360:n-t>180&&(t+=360),o.push({i:e.push(i(e)+"rotate(",null,r)-2,x:an(t,n)})):n&&e.push(i(e)+"rotate("+n+r)}(o.rotate,u.rotate,a,c),function(t,n,e,o){t!==n?o.push({i:e.push(i(e)+"skewX(",null,r)-2,x:an(t,n)}):n&&e.push(i(e)+"skewX("+n+r)}(o.skewX,u.skewX,a,c),function(t,n,e,r,o,u){if(t!==e||n!==r){var a=o.push(i(o)+"scale(",null,",",null,")");u.push({i:a-4,x:an(t,e)},{i:a-2,x:an(n,r)})}else 1===e&&1===r||o.push(i(o)+"scale("+e+","+r+")")}(o.scaleX,o.scaleY,u.scaleX,u.scaleY,a,c),o=u=null,function(t){for(var n,e=-1,r=c.length;++e<r;)a[(n=c[e]).i]=n.x(t);return a.join("")}}}function dn(t){return((t=Math.exp(t))+1/t)/2}function vn(t,n){var e,r,i=t[0],o=t[1],u=t[2],a=n[0],c=n[1],s=n[2],f=a-i,l=c-o,h=f*f+l*l;if(h<nl)r=Math.log(s/u)/Jf,e=function(t){return[i+t*f,o+t*l,u*Math.exp(Jf*t*r)]};else{var p=Math.sqrt(h),d=(s*s-u*u+tl*h)/(2*u*Kf*p),v=(s*s-u*u-tl*h)/(2*s*Kf*p),g=Math.log(Math.sqrt(d*d+1)-d),_=Math.log(Math.sqrt(v*v+1)-v);r=(_-g)/Jf,e=function(t){var n=t*r,e=dn(g),a=u/(Kf*p)*(e*function(t){return((t=Math.exp(2*t))-1)/(t+1)}(Jf*n+g)-function(t){return((t=Math.exp(t))-1/t)/2}(g));return[i+a*f,o+a*l,u*e/dn(Jf*n+g)]}}return e.duration=1e3*r,e}function gn(t){return function(n,e){var r=t((n=qt(n)).h,(e=qt(e)).h),i=en(n.s,e.s),o=en(n.l,e.l),u=en(n.opacity,e.opacity);return function(t){return n.h=r(t),n.s=i(t),n.l=o(t),n.opacity=u(t),n+""}}}function _n(t){return function(n,e){var r=t((n=Xt(n)).h,(e=Xt(e)).h),i=en(n.c,e.c),o=en(n.l,e.l),u=en(n.opacity,e.opacity);return function(t){return n.h=r(t),n.c=i(t),n.l=o(t),n.opacity=u(t),n+""}}}function yn(t){return function n(e){function r(n,r){var i=t((n=$t(n)).h,(r=$t(r)).h),o=en(n.s,r.s),u=en(n.l,r.l),a=en(n.opacity,r.opacity);return function(t){return n.h=i(t),n.s=o(t),n.l=u(Math.pow(t,e)),n.opacity=a(t),n+""}}return e=+e,r.gamma=n,r}(1)}function mn(){return pl||(gl(xn),pl=vl.now()+dl)}function xn(){pl=0}function bn(){this._call=this._time=this._next=null}function wn(t,n,e){var r=new bn;return r.restart(t,n,e),r}function Mn(){mn(),++cl;for(var t,n=Yf;n;)(t=pl-n._time)>=0&&n._call.call(null,t),n=n._next;--cl}function Tn(){pl=(hl=vl.now())+dl,cl=sl=0;try{Mn()}finally{cl=0,function(){var t,n,e=Yf,r=1/0;for(;e;)e._call?(r>e._time&&(r=e._time),t=e,e=e._next):(n=e._next,e._next=null,e=t?t._next=n:Yf=n);Bf=t,kn(r)}(),pl=0}}function Nn(){var t=vl.now(),n=t-hl;n>ll&&(dl-=n,hl=t)}function kn(t){if(!cl){sl&&(sl=clearTimeout(sl));t-pl>24?(t<1/0&&(sl=setTimeout(Tn,t-vl.now()-dl)),fl&&(fl=clearInterval(fl))):(fl||(hl=vl.now(),fl=setInterval(Nn,ll)),cl=1,gl(Tn))}}function Sn(t,n,e){var r=new bn;return n=null==n?0:+n,r.restart(function(e){r.stop(),t(e+n)},n,e),r}function En(t,n,e,r,i,o){var u=t.__transition;if(u){if(e in u)return}else t.__transition={};(function(t,n,e){function r(c){var s,f,l,h;if(e.state!==xl)return o();for(s in a)if((h=a[s]).name===e.name){if(h.state===wl)return Sn(r);h.state===Ml?(h.state=Nl,h.timer.stop(),h.on.call("interrupt",t,t.__data__,h.index,h.group),delete a[s]):+s<n&&(h.state=Nl,h.timer.stop(),delete a[s])}if(Sn(function(){e.state===wl&&(e.state=Ml,e.timer.restart(i,e.delay,e.time),i(c))}),e.state=bl,e.on.call("start",t,t.__data__,e.index,e.group),e.state===bl){for(e.state=wl,u=new Array(l=e.tween.length),s=0,f=-1;s<l;++s)(h=e.tween[s].value.call(t,t.__data__,e.index,e.group))&&(u[++f]=h);u.length=f+1}}function i(n){for(var r=n<e.duration?e.ease.call(null,n/e.duration):(e.timer.restart(o),e.state=Tl,1),i=-1,a=u.length;++i<a;)u[i].call(null,r);e.state===Tl&&(e.on.call("end",t,t.__data__,e.index,e.group),o())}function o(){e.state=Nl,e.timer.stop(),delete a[n];for(var r in a)return;delete t.__transition}var u,a=t.__transition;a[n]=e,e.timer=wn(function(t){e.state=xl,e.timer.restart(r,e.delay,e.time),e.delay<=t&&r(t-e.delay)},0,e.time)})(t,e,{name:n,index:r,group:i,on:_l,tween:yl,time:o.time,delay:o.delay,duration:o.duration,ease:o.ease,timer:null,state:ml})}function An(t,n){var e=zn(t,n);if(e.state>ml)throw new Error("too late; already scheduled");return e}function Cn(t,n){var e=zn(t,n);if(e.state>bl)throw new Error("too late; already started");return e}function zn(t,n){var e=t.__transition;if(!e||!(e=e[n]))throw new Error("transition not found");return e}function Pn(t,n){var e,r,i,o=t.__transition,u=!0;if(o){n=null==n?null:n+"";for(i in o)(e=o[i]).name===n?(r=e.state>bl&&e.state<Tl,e.state=Nl,e.timer.stop(),r&&e.on.call("interrupt",t,t.__data__,e.index,e.group),delete o[i]):u=!1;u&&delete t.__transition}}function Rn(t,n,e){var r=t._id;return t.each(function(){var t=Cn(this,r);(t.value||(t.value={}))[n]=e.apply(this,arguments)}),function(t){return zn(t,r).value[n]}}function Ln(t,n){var e;return("number"==typeof n?an:n instanceof Et?Hf:(e=Et(n))?(n=e,Hf):sn)(t,n)}function qn(t,n,e,r){this._groups=t,this._parents=n,this._name=e,this._id=r}function Dn(t){return at().transition(t)}function Un(){return++Sl}function On(t){return((t*=2)<=1?t*t:--t*(2-t)+1)/2}function Fn(t){return((t*=2)<=1?t*t*t:(t-=2)*t*t+2)/2}function In(t){return(1-Math.cos(Pl*t))/2}function Yn(t){return((t*=2)<=1?Math.pow(2,10*t-10):2-Math.pow(2,10-10*t))/2}function Bn(t){return((t*=2)<=1?1-Math.sqrt(1-t*t):Math.sqrt(1-(t-=2)*t)+1)/2}function Hn(t){return(t=+t)<Ll?Hl*t*t:t<Dl?Hl*(t-=ql)*t+Ul:t<Fl?Hl*(t-=Ol)*t+Il:Hl*(t-=Yl)*t+Bl}function jn(t,n){for(var e;!(e=t.__transition)||!(e=e[n]);)if(!(t=t.parentNode))return Ql.time=mn(),Ql;return e}function Xn(t){return function(){return t}}function Vn(){t.event.stopImmediatePropagation()}function $n(){t.event.preventDefault(),t.event.stopImmediatePropagation()}function Wn(t){return{type:t}}function Zn(){return!t.event.button}function Gn(){var t=this.ownerSVGElement||this;return[[0,0],[t.width.baseVal.value,t.height.baseVal.value]]}function Qn(t){for(;!t.__brush;)if(!(t=t.parentNode))return;return t.__brush}function Jn(t){return t[0][0]===t[1][0]||t[0][1]===t[1][1]}function Kn(n){function e(t){var e=t.property("__brush",a).selectAll(".overlay").data([Wn("overlay")]);e.enter().append("rect").attr("class","overlay").attr("pointer-events","all").attr("cursor",uh.overlay).merge(e).each(function(){var t=Qn(this).extent;ct(this).attr("x",t[0][0]).attr("y",t[0][1]).attr("width",t[1][0]-t[0][0]).attr("height",t[1][1]-t[0][1])}),t.selectAll(".selection").data([Wn("selection")]).enter().append("rect").attr("class","selection").attr("cursor",uh.selection).attr("fill","#777").attr("fill-opacity",.3).attr("stroke","#fff").attr("shape-rendering","crispEdges");var i=t.selectAll(".handle").data(n.handles,function(t){return t.type});i.exit().remove(),i.enter().append("rect").attr("class",function(t){return"handle handle--"+t.type}).attr("cursor",function(t){return uh[t.type]}),t.each(r).attr("fill","none").attr("pointer-events","all").style("-webkit-tap-highlight-color","rgba(0,0,0,0)").on("mousedown.brush touchstart.brush",u)}function r(){var t=ct(this),n=Qn(this).selection;n?(t.selectAll(".selection").style("display",null).attr("x",n[0][0]).attr("y",n[0][1]).attr("width",n[1][0]-n[0][0]).attr("height",n[1][1]-n[0][1]),t.selectAll(".handle").style("display",null).attr("x",function(t){return"e"===t.type[t.type.length-1]?n[1][0]-h/2:n[0][0]-h/2}).attr("y",function(t){return"s"===t.type[0]?n[1][1]-h/2:n[0][1]-h/2}).attr("width",function(t){return"n"===t.type||"s"===t.type?n[1][0]-n[0][0]+h:h}).attr("height",function(t){return"e"===t.type||"w"===t.type?n[1][1]-n[0][1]+h:h})):t.selectAll(".selection,.handle").style("display","none").attr("x",null).attr("y",null).attr("width",null).attr("height",null)}function i(t,n){return t.__brush.emitter||new o(t,n)}function o(t,n){this.that=t,this.args=n,this.state=t.__brush,this.active=0}function u(){function e(){var t=pt(w);!L||x||b||(Math.abs(t[0]-D[0])>Math.abs(t[1]-D[1])?b=!0:x=!0),D=t,m=!0,$n(),o()}function o(){var t;switch(_=D[0]-q[0],y=D[1]-q[1],T){case th:case Kl:N&&(_=Math.max(C-a,Math.min(P-p,_)),s=a+_,d=p+_),k&&(y=Math.max(z-l,Math.min(R-v,y)),h=l+y,g=v+y);break;case nh:N<0?(_=Math.max(C-a,Math.min(P-a,_)),s=a+_,d=p):N>0&&(_=Math.max(C-p,Math.min(P-p,_)),s=a,d=p+_),k<0?(y=Math.max(z-l,Math.min(R-l,y)),h=l+y,g=v):k>0&&(y=Math.max(z-v,Math.min(R-v,y)),h=l,g=v+y);break;case eh:N&&(s=Math.max(C,Math.min(P,a-_*N)),d=Math.max(C,Math.min(P,p+_*N))),k&&(h=Math.max(z,Math.min(R,l-y*k)),g=Math.max(z,Math.min(R,v+y*k)))}d<s&&(N*=-1,t=a,a=p,p=t,t=s,s=d,d=t,M in ah&&F.attr("cursor",uh[M=ah[M]])),g<h&&(k*=-1,t=l,l=v,v=t,t=h,h=g,g=t,M in ch&&F.attr("cursor",uh[M=ch[M]])),S.selection&&(A=S.selection),x&&(s=A[0][0],d=A[1][0]),b&&(h=A[0][1],g=A[1][1]),A[0][0]===s&&A[0][1]===h&&A[1][0]===d&&A[1][1]===g||(S.selection=[[s,h],[d,g]],r.call(w),U.brush())}function u(){if(Vn(),t.event.touches){if(t.event.touches.length)return;c&&clearTimeout(c),c=setTimeout(function(){c=null},500),O.on("touchmove.brush touchend.brush touchcancel.brush",null)}else yt(t.event.view,m),I.on("keydown.brush keyup.brush mousemove.brush mouseup.brush",null);O.attr("pointer-events","all"),F.attr("cursor",uh.overlay),S.selection&&(A=S.selection),Jn(A)&&(S.selection=null,r.call(w)),U.end()}if(t.event.touches){if(t.event.changedTouches.length<t.event.touches.length)return $n()}else if(c)return;if(f.apply(this,arguments)){var a,s,l,h,p,d,v,g,_,y,m,x,b,w=this,M=t.event.target.__data__.type,T="selection"===(t.event.metaKey?M="overlay":M)?Kl:t.event.altKey?eh:nh,N=n===ih?null:sh[M],k=n===rh?null:fh[M],S=Qn(w),E=S.extent,A=S.selection,C=E[0][0],z=E[0][1],P=E[1][0],R=E[1][1],L=N&&k&&t.event.shiftKey,q=pt(w),D=q,U=i(w,arguments).beforestart();"overlay"===M?S.selection=A=[[a=n===ih?C:q[0],l=n===rh?z:q[1]],[p=n===ih?P:a,v=n===rh?R:l]]:(a=A[0][0],l=A[0][1],p=A[1][0],v=A[1][1]),s=a,h=l,d=p,g=v;var O=ct(w).attr("pointer-events","none"),F=O.selectAll(".overlay").attr("cursor",uh[M]);if(t.event.touches)O.on("touchmove.brush",e,!0).on("touchend.brush touchcancel.brush",u,!0);else{var I=ct(t.event.view).on("keydown.brush",function(){switch(t.event.keyCode){case 16:L=N&&k;break;case 18:T===nh&&(N&&(p=d-_*N,a=s+_*N),k&&(v=g-y*k,l=h+y*k),T=eh,o());break;case 32:T!==nh&&T!==eh||(N<0?p=d-_:N>0&&(a=s-_),k<0?v=g-y:k>0&&(l=h-y),T=th,F.attr("cursor",uh.selection),o());break;default:return}$n()},!0).on("keyup.brush",function(){switch(t.event.keyCode){case 16:L&&(x=b=L=!1,o());break;case 18:T===eh&&(N<0?p=d:N>0&&(a=s),k<0?v=g:k>0&&(l=h),T=nh,o());break;case 32:T===th&&(t.event.altKey?(N&&(p=d-_*N,a=s+_*N),k&&(v=g-y*k,l=h+y*k),T=eh):(N<0?p=d:N>0&&(a=s),k<0?v=g:k>0&&(l=h),T=nh),F.attr("cursor",uh[M]),o());break;default:return}$n()},!0).on("mousemove.brush",e,!0).on("mouseup.brush",u,!0);_t(t.event.view)}Vn(),Pn(w),r.call(w),U.start()}}function a(){var t=this.__brush||{selection:null};return t.extent=s.apply(this,arguments),t.dim=n,t}var c,s=Gn,f=Zn,l=N(e,"start","brush","end"),h=6;return e.move=function(t,e){t.selection?t.on("start.brush",function(){i(this,arguments).beforestart().start()}).on("interrupt.brush end.brush",function(){i(this,arguments).end()}).tween("brush",function(){function t(t){u.selection=1===t&&Jn(s)?null:f(t),r.call(o),a.brush()}var o=this,u=o.__brush,a=i(o,arguments),c=u.selection,s=n.input("function"==typeof e?e.apply(this,arguments):e,u.extent),f=fn(c,s);return c&&s?t:t(1)}):t.each(function(){var t=arguments,o=this.__brush,u=n.input("function"==typeof e?e.apply(this,t):e,o.extent),a=i(this,t).beforestart();Pn(this),o.selection=null==u||Jn(u)?null:u,r.call(this),a.start().brush().end()})},o.prototype={beforestart:function(){return 1==++this.active&&(this.state.emitter=this,this.starting=!0),this},start:function(){return this.starting&&(this.starting=!1,this.emit("start")),this},brush:function(){return this.emit("brush"),this},end:function(){return 0==--this.active&&(delete this.state.emitter,this.emit("end")),this},emit:function(t){it(new function(t,n,e){this.target=t,this.type=n,this.selection=e}(e,t,n.output(this.state.selection)),l.apply,l,[t,this.that,this.args])}},e.extent=function(t){return arguments.length?(s="function"==typeof t?t:Xn([[+t[0][0],+t[0][1]],[+t[1][0],+t[1][1]]]),e):s},e.filter=function(t){return arguments.length?(f="function"==typeof t?t:Xn(!!t),e):f},e.handleSize=function(t){return arguments.length?(h=+t,e):h},e.on=function(){var t=l.on.apply(l,arguments);return t===l?e:t},e}function te(t){return function(){return t}}function ne(){this._x0=this._y0=this._x1=this._y1=null,this._=""}function ee(){return new ne}function re(t){return t.source}function ie(t){return t.target}function oe(t){return t.radius}function ue(t){return t.startAngle}function ae(t){return t.endAngle}function ce(){}function se(t,n){var e=new ce;if(t instanceof ce)t.each(function(t,n){e.set(n,t)});else if(Array.isArray(t)){var r,i=-1,o=t.length;if(null==n)for(;++i<o;)e.set(i,t[i]);else for(;++i<o;)e.set(n(r=t[i],i,t),r)}else if(t)for(var u in t)e.set(u,t[u]);return e}function fe(){return{}}function le(t,n,e){t[n]=e}function he(){return se()}function pe(t,n,e){t.set(n,e)}function de(){}function ve(t,n){var e=new de;if(t instanceof de)t.each(function(t){e.add(t)});else if(t){var r=-1,i=t.length;if(null==n)for(;++r<i;)e.add(t[r]);else for(;++r<i;)e.add(n(t[r],r,t))}return e}function ge(t){return new Function("d","return {"+t.map(function(t,n){return JSON.stringify(t)+": d["+n+"]"}).join(",")+"}")}function _e(t){function n(t,n){function e(){if(s)return Mh;if(f)return f=!1,wh;var n,e,r=a;if(t.charCodeAt(r)===Th){for(;a++<u&&t.charCodeAt(a)!==Th||t.charCodeAt(++a)===Th;);return(n=a)>=u?s=!0:(e=t.charCodeAt(a++))===Nh?f=!0:e===kh&&(f=!0,t.charCodeAt(a)===Nh&&++a),t.slice(r+1,n-1).replace(/""/g,'"')}for(;a<u;){if((e=t.charCodeAt(n=a++))===Nh)f=!0;else if(e===kh)f=!0,t.charCodeAt(a)===Nh&&++a;else if(e!==o)continue;return t.slice(r,n)}return s=!0,t.slice(r,u)}var r,i=[],u=t.length,a=0,c=0,s=u<=0,f=!1;for(t.charCodeAt(u-1)===Nh&&--u,t.charCodeAt(u-1)===kh&&--u;(r=e())!==Mh;){for(var l=[];r!==wh&&r!==Mh;)l.push(r),r=e();n&&null==(l=n(l,c++))||i.push(l)}return i}function e(n){return n.map(r).join(t)}function r(t){return null==t?"":i.test(t+="")?'"'+t.replace(/"/g,'""')+'"':t}var i=new RegExp('["'+t+"\n\r]"),o=t.charCodeAt(0);return{parse:function(t,e){var r,i,o=n(t,function(t,n){if(r)return r(t,n-1);i=t,r=e?function(t,n){var e=ge(t);return function(r,i){return n(e(r),i,t)}}(t,e):ge(t)});return o.columns=i||[],o},parseRows:n,format:function(n,e){return null==e&&(e=function(t){var n=Object.create(null),e=[];return t.forEach(function(t){for(var r in t)r in n||e.push(n[r]=r)}),e}(n)),[e.map(r).join(t)].concat(n.map(function(n){return e.map(function(t){return r(n[t])}).join(t)})).join("\n")},formatRows:function(t){return t.map(e).join("\n")}}}function ye(t){return function(){return t}}function me(){return 1e-6*(Math.random()-.5)}function xe(t,n,e,r){if(isNaN(n)||isNaN(e))return t;var i,o,u,a,c,s,f,l,h,p=t._root,d={data:r},v=t._x0,g=t._y0,_=t._x1,y=t._y1;if(!p)return t._root=d,t;for(;p.length;)if((s=n>=(o=(v+_)/2))?v=o:_=o,(f=e>=(u=(g+y)/2))?g=u:y=u,i=p,!(p=p[l=f<<1|s]))return i[l]=d,t;if(a=+t._x.call(null,p.data),c=+t._y.call(null,p.data),n===a&&e===c)return d.next=p,i?i[l]=d:t._root=d,t;do{i=i?i[l]=new Array(4):t._root=new Array(4),(s=n>=(o=(v+_)/2))?v=o:_=o,(f=e>=(u=(g+y)/2))?g=u:y=u}while((l=f<<1|s)==(h=(c>=u)<<1|a>=o));return i[h]=p,i[l]=d,t}function be(t,n,e,r,i){this.node=t,this.x0=n,this.y0=e,this.x1=r,this.y1=i}function we(t){return t[0]}function Me(t){return t[1]}function Te(t,n,e){var r=new Ne(null==n?we:n,null==e?Me:e,NaN,NaN,NaN,NaN);return null==t?r:r.addAll(t)}function Ne(t,n,e,r,i,o){this._x=t,this._y=n,this._x0=e,this._y0=r,this._x1=i,this._y1=o,this._root=void 0}function ke(t){for(var n={data:t.data},e=n;t=t.next;)e=e.next={data:t.data};return n}function Se(t){return t.x+t.vx}function Ee(t){return t.y+t.vy}function Ae(t){return t.index}function Ce(t,n){var e=t.get(n);if(!e)throw new Error("missing: "+n);return e}function ze(t){return t.x}function Pe(t){return t.y}function Re(t,n){if((e=(t=n?t.toExponential(n-1):t.toExponential()).indexOf("e"))<0)return null;var e,r=t.slice(0,e);return[r.length>1?r[0]+r.slice(2):r,+t.slice(e+1)]}function Le(t){return(t=Re(Math.abs(t)))?t[1]:NaN}function qe(t,n){var e=Re(t,n);if(!e)return t+"";var r=e[0],i=e[1];return i<0?"0."+new Array(-i).join("0")+r:r.length>i+1?r.slice(0,i+1)+"."+r.slice(i+1):r+new Array(i-r.length+2).join("0")}function De(t){return new Ue(t)}function Ue(t){if(!(n=Bh.exec(t)))throw new Error("invalid format: "+t);var n,e=n[1]||" ",r=n[2]||">",i=n[3]||"-",o=n[4]||"",u=!!n[5],a=n[6]&&+n[6],c=!!n[7],s=n[8]&&+n[8].slice(1),f=n[9]||"";"n"===f?(c=!0,f="g"):Yh[f]||(f=""),(u||"0"===e&&"="===r)&&(u=!0,e="0",r="="),this.fill=e,this.align=r,this.sign=i,this.symbol=o,this.zero=u,this.width=a,this.comma=c,this.precision=s,this.type=f}function Oe(t){return t}function Fe(t){function n(t){function n(t){var n,r,u,f=g,x=_;if("c"===v)x=y(t)+x,t="";else{var b=(t=+t)<0;if(t=y(Math.abs(t),d),b&&0==+t&&(b=!1),f=(b?"("===s?s:"-":"-"===s||"("===s?"":s)+f,x=("s"===v?jh[8+Oh/3]:"")+x+(b&&"("===s?")":""),m)for(n=-1,r=t.length;++n<r;)if(48>(u=t.charCodeAt(n))||u>57){x=(46===u?i+t.slice(n+1):t.slice(n))+x,t=t.slice(0,n);break}}p&&!l&&(t=e(t,1/0));var w=f.length+t.length+x.length,M=w<h?new Array(h-w+1).join(a):"";switch(p&&l&&(t=e(M+t,M.length?h-x.length:1/0),M=""),c){case"<":t=f+t+x+M;break;case"=":t=f+M+t+x;break;case"^":t=M.slice(0,w=M.length>>1)+f+t+x+M.slice(w);break;default:t=M+f+t+x}return o(t)}var a=(t=De(t)).fill,c=t.align,s=t.sign,f=t.symbol,l=t.zero,h=t.width,p=t.comma,d=t.precision,v=t.type,g="$"===f?r[0]:"#"===f&&/[boxX]/.test(v)?"0"+v.toLowerCase():"",_="$"===f?r[1]:/[%p]/.test(v)?u:"",y=Yh[v],m=!v||/[defgprs%]/.test(v);return d=null==d?v?6:12:/[gprs]/.test(v)?Math.max(1,Math.min(21,d)):Math.max(0,Math.min(20,d)),n.toString=function(){return t+""},n}var e=t.grouping&&t.thousands?function(t,n){return function(e,r){for(var i=e.length,o=[],u=0,a=t[0],c=0;i>0&&a>0&&(c+a+1>r&&(a=Math.max(1,r-c)),o.push(e.substring(i-=a,i+a)),!((c+=a+1)>r));)a=t[u=(u+1)%t.length];return o.reverse().join(n)}}(t.grouping,t.thousands):Oe,r=t.currency,i=t.decimal,o=t.numerals?function(t){return function(n){return n.replace(/[0-9]/g,function(n){return t[+n]})}}(t.numerals):Oe,u=t.percent||"%";return{format:n,formatPrefix:function(t,e){var r=n((t=De(t),t.type="f",t)),i=3*Math.max(-8,Math.min(8,Math.floor(Le(e)/3))),o=Math.pow(10,-i),u=jh[8+i/3];return function(t){return r(o*t)+u}}}}function Ie(n){return Hh=Fe(n),t.format=Hh.format,t.formatPrefix=Hh.formatPrefix,Hh}function Ye(t){return Math.max(0,-Le(Math.abs(t)))}function Be(t,n){return Math.max(0,3*Math.max(-8,Math.min(8,Math.floor(Le(n)/3)))-Le(Math.abs(t)))}function He(t,n){return t=Math.abs(t),n=Math.abs(n)-t,Math.max(0,Le(n)-Le(t))+1}function je(){return new Xe}function Xe(){this.reset()}function Ve(t,n,e){var r=t.s=n+e,i=r-n,o=r-i;t.t=n-o+(e-i)}function $e(t){return t>1?0:t<-1?Np:Math.acos(t)}function We(t){return t>1?kp:t<-1?-kp:Math.asin(t)}function Ze(t){return(t=Fp(t/2))*t}function Ge(){}function Qe(t,n){t&&jp.hasOwnProperty(t.type)&&jp[t.type](t,n)}function Je(t,n,e){var r,i=-1,o=t.length-e;for(n.lineStart();++i<o;)r=t[i],n.point(r[0],r[1],r[2]);n.lineEnd()}function Ke(t,n){var e=-1,r=t.length;for(n.polygonStart();++e<r;)Je(t[e],n,1);n.polygonEnd()}function tr(t,n){t&&Hp.hasOwnProperty(t.type)?Hp[t.type](t,n):Qe(t,n)}function nr(){$p.point=rr}function er(){ir(Xh,Vh)}function rr(t,n){$p.point=ir,Xh=t,Vh=n,$h=t*=Cp,Wh=Lp(n=(n*=Cp)/2+Sp),Zh=Fp(n)}function ir(t,n){n=(n*=Cp)/2+Sp;var e=(t*=Cp)-$h,r=e>=0?1:-1,i=r*e,o=Lp(n),u=Fp(n),a=Zh*u,c=Wh*o+a*Lp(i),s=a*r*Fp(i);Xp.add(Rp(s,c)),$h=t,Wh=o,Zh=u}function or(t){return[Rp(t[1],t[0]),We(t[2])]}function ur(t){var n=t[0],e=t[1],r=Lp(e);return[r*Lp(n),r*Fp(n),Fp(e)]}function ar(t,n){return t[0]*n[0]+t[1]*n[1]+t[2]*n[2]}function cr(t,n){return[t[1]*n[2]-t[2]*n[1],t[2]*n[0]-t[0]*n[2],t[0]*n[1]-t[1]*n[0]]}function sr(t,n){t[0]+=n[0],t[1]+=n[1],t[2]+=n[2]}function fr(t,n){return[t[0]*n,t[1]*n,t[2]*n]}function lr(t){var n=Yp(t[0]*t[0]+t[1]*t[1]+t[2]*t[2]);t[0]/=n,t[1]/=n,t[2]/=n}function hr(t,n){ip.push(op=[Gh=t,Jh=t]),n<Qh&&(Qh=n),n>Kh&&(Kh=n)}function pr(t,n){var e=ur([t*Cp,n*Cp]);if(rp){var r=cr(rp,e),i=cr([r[1],-r[0],0],r);lr(i),i=or(i);var o,u=t-tp,a=u>0?1:-1,c=i[0]*Ap*a,s=zp(u)>180;s^(a*tp<c&&c<a*t)?(o=i[1]*Ap)>Kh&&(Kh=o):(c=(c+360)%360-180,s^(a*tp<c&&c<a*t)?(o=-i[1]*Ap)<Qh&&(Qh=o):(n<Qh&&(Qh=n),n>Kh&&(Kh=n))),s?t<tp?mr(Gh,t)>mr(Gh,Jh)&&(Jh=t):mr(t,Jh)>mr(Gh,Jh)&&(Gh=t):Jh>=Gh?(t<Gh&&(Gh=t),t>Jh&&(Jh=t)):t>tp?mr(Gh,t)>mr(Gh,Jh)&&(Jh=t):mr(t,Jh)>mr(Gh,Jh)&&(Gh=t)}else ip.push(op=[Gh=t,Jh=t]);n<Qh&&(Qh=n),n>Kh&&(Kh=n),rp=e,tp=t}function dr(){Zp.point=pr}function vr(){op[0]=Gh,op[1]=Jh,Zp.point=hr,rp=null}function gr(t,n){if(rp){var e=t-tp;Wp.add(zp(e)>180?e+(e>0?360:-360):e)}else np=t,ep=n;$p.point(t,n),pr(t,n)}function _r(){$p.lineStart()}function yr(){gr(np,ep),$p.lineEnd(),zp(Wp)>Mp&&(Gh=-(Jh=180)),op[0]=Gh,op[1]=Jh,rp=null}function mr(t,n){return(n-=t)<0?n+360:n}function xr(t,n){return t[0]-n[0]}function br(t,n){return t[0]<=t[1]?t[0]<=n&&n<=t[1]:n<t[0]||t[1]<n}function wr(t,n){t*=Cp;var e=Lp(n*=Cp);Mr(e*Lp(t),e*Fp(t),Fp(n))}function Mr(t,n,e){cp+=(t-cp)/++up,sp+=(n-sp)/up,fp+=(e-fp)/up}function Tr(){Gp.point=Nr}function Nr(t,n){t*=Cp;var e=Lp(n*=Cp);mp=e*Lp(t),xp=e*Fp(t),bp=Fp(n),Gp.point=kr,Mr(mp,xp,bp)}function kr(t,n){t*=Cp;var e=Lp(n*=Cp),r=e*Lp(t),i=e*Fp(t),o=Fp(n),u=Rp(Yp((u=xp*o-bp*i)*u+(u=bp*r-mp*o)*u+(u=mp*i-xp*r)*u),mp*r+xp*i+bp*o);ap+=u,lp+=u*(mp+(mp=r)),hp+=u*(xp+(xp=i)),pp+=u*(bp+(bp=o)),Mr(mp,xp,bp)}function Sr(){Gp.point=wr}function Er(){Gp.point=Cr}function Ar(){zr(_p,yp),Gp.point=wr}function Cr(t,n){_p=t,yp=n,t*=Cp,n*=Cp,Gp.point=zr;var e=Lp(n);mp=e*Lp(t),xp=e*Fp(t),bp=Fp(n),Mr(mp,xp,bp)}function zr(t,n){t*=Cp;var e=Lp(n*=Cp),r=e*Lp(t),i=e*Fp(t),o=Fp(n),u=xp*o-bp*i,a=bp*r-mp*o,c=mp*i-xp*r,s=Yp(u*u+a*a+c*c),f=We(s),l=s&&-f/s;dp+=l*u,vp+=l*a,gp+=l*c,ap+=f,lp+=f*(mp+(mp=r)),hp+=f*(xp+(xp=i)),pp+=f*(bp+(bp=o)),Mr(mp,xp,bp)}function Pr(t){return function(){return t}}function Rr(t,n){function e(e,r){return e=t(e,r),n(e[0],e[1])}return t.invert&&n.invert&&(e.invert=function(e,r){return(e=n.invert(e,r))&&t.invert(e[0],e[1])}),e}function Lr(t,n){return[t>Np?t-Ep:t<-Np?t+Ep:t,n]}function qr(t,n,e){return(t%=Ep)?n||e?Rr(Ur(t),Or(n,e)):Ur(t):n||e?Or(n,e):Lr}function Dr(t){return function(n,e){return n+=t,[n>Np?n-Ep:n<-Np?n+Ep:n,e]}}function Ur(t){var n=Dr(t);return n.invert=Dr(-t),n}function Or(t,n){function e(t,n){var e=Lp(n),a=Lp(t)*e,c=Fp(t)*e,s=Fp(n),f=s*r+a*i;return[Rp(c*o-f*u,a*r-s*i),We(f*o+c*u)]}var r=Lp(t),i=Fp(t),o=Lp(n),u=Fp(n);return e.invert=function(t,n){var e=Lp(n),a=Lp(t)*e,c=Fp(t)*e,s=Fp(n),f=s*o-c*u;return[Rp(c*o+s*u,a*r+f*i),We(f*r-a*i)]},e}function Fr(t){function n(n){return n=t(n[0]*Cp,n[1]*Cp),n[0]*=Ap,n[1]*=Ap,n}return t=qr(t[0]*Cp,t[1]*Cp,t.length>2?t[2]*Cp:0),n.invert=function(n){return n=t.invert(n[0]*Cp,n[1]*Cp),n[0]*=Ap,n[1]*=Ap,n},n}function Ir(t,n,e,r,i,o){if(e){var u=Lp(n),a=Fp(n),c=r*e;null==i?(i=n+r*Ep,o=n-c/2):(i=Yr(u,i),o=Yr(u,o),(r>0?i<o:i>o)&&(i+=r*Ep));for(var s,f=i;r>0?f>o:f<o;f-=c)s=or([u,-a*Lp(f),-a*Fp(f)]),t.point(s[0],s[1])}}function Yr(t,n){(n=ur(n))[0]-=t,lr(n);var e=$e(-n[1]);return((-n[2]<0?-e:e)+Ep-Mp)%Ep}function Br(){var t,n=[];return{point:function(n,e){t.push([n,e])},lineStart:function(){n.push(t=[])},lineEnd:Ge,rejoin:function(){n.length>1&&n.push(n.pop().concat(n.shift()))},result:function(){var e=n;return n=[],t=null,e}}}function Hr(t,n){return zp(t[0]-n[0])<Mp&&zp(t[1]-n[1])<Mp}function jr(t,n,e,r){this.x=t,this.z=n,this.o=e,this.e=r,this.v=!1,this.n=this.p=null}function Xr(t,n,e,r,i){var o,u,a=[],c=[];if(t.forEach(function(t){if(!((n=t.length-1)<=0)){var n,e,r=t[0],u=t[n];if(Hr(r,u)){for(i.lineStart(),o=0;o<n;++o)i.point((r=t[o])[0],r[1]);i.lineEnd()}else a.push(e=new jr(r,t,null,!0)),c.push(e.o=new jr(r,null,e,!1)),a.push(e=new jr(u,t,null,!1)),c.push(e.o=new jr(u,null,e,!0))}}),a.length){for(c.sort(n),Vr(a),Vr(c),o=0,u=c.length;o<u;++o)c[o].e=e=!e;for(var s,f,l=a[0];;){for(var h=l,p=!0;h.v;)if((h=h.n)===l)return;s=h.z,i.lineStart();do{if(h.v=h.o.v=!0,h.e){if(p)for(o=0,u=s.length;o<u;++o)i.point((f=s[o])[0],f[1]);else r(h.x,h.n.x,1,i);h=h.n}else{if(p)for(s=h.p.z,o=s.length-1;o>=0;--o)i.point((f=s[o])[0],f[1]);else r(h.x,h.p.x,-1,i);h=h.p}s=(h=h.o).z,p=!p}while(!h.v);i.lineEnd()}}}function Vr(t){if(n=t.length){for(var n,e,r=0,i=t[0];++r<n;)i.n=e=t[r],e.p=i,i=e;i.n=e=t[0],e.p=i}}function $r(t,n){var e=n[0],r=n[1],i=[Fp(e),-Lp(e),0],o=0,u=0;cd.reset();for(var a=0,c=t.length;a<c;++a)if(f=(s=t[a]).length)for(var s,f,l=s[f-1],h=l[0],p=l[1]/2+Sp,d=Fp(p),v=Lp(p),g=0;g<f;++g,h=y,d=x,v=b,l=_){var _=s[g],y=_[0],m=_[1]/2+Sp,x=Fp(m),b=Lp(m),w=y-h,M=w>=0?1:-1,T=M*w,N=T>Np,k=d*x;if(cd.add(Rp(k*M*Fp(T),v*b+k*Lp(T))),o+=N?w+M*Ep:w,N^h>=e^y>=e){var S=cr(ur(l),ur(_));lr(S);var E=cr(i,S);lr(E);var A=(N^w>=0?-1:1)*We(E[2]);(r>A||r===A&&(S[0]||S[1]))&&(u+=N^w>=0?1:-1)}}return(o<-Mp||o<Mp&&cd<-Mp)^1&u}function Wr(t,n,e,r){return function(i){function o(n,e){t(n,e)&&i.point(n,e)}function u(t,n){v.point(t,n)}function a(){x.point=u,v.lineStart()}function c(){x.point=o,v.lineEnd()}function s(t,n){d.push([t,n]),y.point(t,n)}function f(){y.lineStart(),d=[]}function l(){s(d[0][0],d[0][1]),y.lineEnd();var t,n,e,r,o=y.clean(),u=_.result(),a=u.length;if(d.pop(),h.push(d),d=null,a)if(1&o){if(e=u[0],(n=e.length-1)>0){for(m||(i.polygonStart(),m=!0),i.lineStart(),t=0;t<n;++t)i.point((r=e[t])[0],r[1]);i.lineEnd()}}else a>1&&2&o&&u.push(u.pop().concat(u.shift())),p.push(u.filter(Zr))}var h,p,d,v=n(i),_=Br(),y=n(_),m=!1,x={point:o,lineStart:a,lineEnd:c,polygonStart:function(){x.point=s,x.lineStart=f,x.lineEnd=l,p=[],h=[]},polygonEnd:function(){x.point=o,x.lineStart=a,x.lineEnd=c,p=g(p);var t=$r(h,r);p.length?(m||(i.polygonStart(),m=!0),Xr(p,Gr,t,e,i)):t&&(m||(i.polygonStart(),m=!0),i.lineStart(),e(null,null,1,i),i.lineEnd()),m&&(i.polygonEnd(),m=!1),p=h=null},sphere:function(){i.polygonStart(),i.lineStart(),e(null,null,1,i),i.lineEnd(),i.polygonEnd()}};return x}}function Zr(t){return t.length>1}function Gr(t,n){return((t=t.x)[0]<0?t[1]-kp-Mp:kp-t[1])-((n=n.x)[0]<0?n[1]-kp-Mp:kp-n[1])}function Qr(t){function n(t,n){return Lp(t)*Lp(n)>i}function e(t,n,e){var r=[1,0,0],o=cr(ur(t),ur(n)),u=ar(o,o),a=o[0],c=u-a*a;if(!c)return!e&&t;var s=i*u/c,f=-i*a/c,l=cr(r,o),h=fr(r,s);sr(h,fr(o,f));var p=l,d=ar(h,p),v=ar(p,p),g=d*d-v*(ar(h,h)-1);if(!(g<0)){var _=Yp(g),y=fr(p,(-d-_)/v);if(sr(y,h),y=or(y),!e)return y;var m,x=t[0],b=n[0],w=t[1],M=n[1];b<x&&(m=x,x=b,b=m);var T=b-x,N=zp(T-Np)<Mp;if(!N&&M<w&&(m=w,w=M,M=m),N||T<Mp?N?w+M>0^y[1]<(zp(y[0]-x)<Mp?w:M):w<=y[1]&&y[1]<=M:T>Np^(x<=y[0]&&y[0]<=b)){var k=fr(p,(-d+_)/v);return sr(k,h),[y,or(k)]}}}function r(n,e){var r=u?t:Np-t,i=0;return n<-r?i|=1:n>r&&(i|=2),e<-r?i|=4:e>r&&(i|=8),i}var i=Lp(t),o=6*Cp,u=i>0,a=zp(i)>Mp;return Wr(n,function(t){var i,o,c,s,f;return{lineStart:function(){s=c=!1,f=1},point:function(l,h){var p,d=[l,h],v=n(l,h),g=u?v?0:r(l,h):v?r(l+(l<0?Np:-Np),h):0;if(!i&&(s=c=v)&&t.lineStart(),v!==c&&(!(p=e(i,d))||Hr(i,p)||Hr(d,p))&&(d[0]+=Mp,d[1]+=Mp,v=n(d[0],d[1])),v!==c)f=0,v?(t.lineStart(),p=e(d,i),t.point(p[0],p[1])):(p=e(i,d),t.point(p[0],p[1]),t.lineEnd()),i=p;else if(a&&i&&u^v){var _;g&o||!(_=e(d,i,!0))||(f=0,u?(t.lineStart(),t.point(_[0][0],_[0][1]),t.point(_[1][0],_[1][1]),t.lineEnd()):(t.point(_[1][0],_[1][1]),t.lineEnd(),t.lineStart(),t.point(_[0][0],_[0][1])))}!v||i&&Hr(i,d)||t.point(d[0],d[1]),i=d,c=v,o=g},lineEnd:function(){c&&t.lineEnd(),i=null},clean:function(){return f|(s&&c)<<1}}},function(n,e,r,i){Ir(i,t,o,r,n,e)},u?[0,-t]:[-Np,t-Np])}function Jr(t,n,e,r){function i(i,o){return t<=i&&i<=e&&n<=o&&o<=r}function o(i,o,a,s){var f=0,l=0;if(null==i||(f=u(i,a))!==(l=u(o,a))||c(i,o)<0^a>0)do{s.point(0===f||3===f?t:e,f>1?r:n)}while((f=(f+a+4)%4)!==l);else s.point(o[0],o[1])}function u(r,i){return zp(r[0]-t)<Mp?i>0?0:3:zp(r[0]-e)<Mp?i>0?2:1:zp(r[1]-n)<Mp?i>0?1:0:i>0?3:2}function a(t,n){return c(t.x,n.x)}function c(t,n){var e=u(t,1),r=u(n,1);return e!==r?e-r:0===e?n[1]-t[1]:1===e?t[0]-n[0]:2===e?t[1]-n[1]:n[0]-t[0]}return function(u){function c(t,n){i(t,n)&&w.point(t,n)}function s(o,u){var a=i(o,u);if(l&&h.push([o,u]),x)p=o,d=u,v=a,x=!1,a&&(w.lineStart(),w.point(o,u));else if(a&&m)w.point(o,u);else{var c=[_=Math.max(ld,Math.min(fd,_)),y=Math.max(ld,Math.min(fd,y))],s=[o=Math.max(ld,Math.min(fd,o)),u=Math.max(ld,Math.min(fd,u))];!function(t,n,e,r,i,o){var u,a=t[0],c=t[1],s=0,f=1,l=n[0]-a,h=n[1]-c;if(u=e-a,l||!(u>0)){if(u/=l,l<0){if(u<s)return;u<f&&(f=u)}else if(l>0){if(u>f)return;u>s&&(s=u)}if(u=i-a,l||!(u<0)){if(u/=l,l<0){if(u>f)return;u>s&&(s=u)}else if(l>0){if(u<s)return;u<f&&(f=u)}if(u=r-c,h||!(u>0)){if(u/=h,h<0){if(u<s)return;u<f&&(f=u)}else if(h>0){if(u>f)return;u>s&&(s=u)}if(u=o-c,h||!(u<0)){if(u/=h,h<0){if(u>f)return;u>s&&(s=u)}else if(h>0){if(u<s)return;u<f&&(f=u)}return s>0&&(t[0]=a+s*l,t[1]=c+s*h),f<1&&(n[0]=a+f*l,n[1]=c+f*h),!0}}}}}(c,s,t,n,e,r)?a&&(w.lineStart(),w.point(o,u),b=!1):(m||(w.lineStart(),w.point(c[0],c[1])),w.point(s[0],s[1]),a||w.lineEnd(),b=!1)}_=o,y=u,m=a}var f,l,h,p,d,v,_,y,m,x,b,w=u,M=Br(),T={point:c,lineStart:function(){T.point=s,l&&l.push(h=[]),x=!0,m=!1,_=y=NaN},lineEnd:function(){f&&(s(p,d),v&&m&&M.rejoin(),f.push(M.result())),T.point=c,m&&w.lineEnd()},polygonStart:function(){w=M,f=[],l=[],b=!0},polygonEnd:function(){var n=function(){for(var n=0,e=0,i=l.length;e<i;++e)for(var o,u,a=l[e],c=1,s=a.length,f=a[0],h=f[0],p=f[1];c<s;++c)o=h,u=p,h=(f=a[c])[0],p=f[1],u<=r?p>r&&(h-o)*(r-u)>(p-u)*(t-o)&&++n:p<=r&&(h-o)*(r-u)<(p-u)*(t-o)&&--n;return n}(),e=b&&n,i=(f=g(f)).length;(e||i)&&(u.polygonStart(),e&&(u.lineStart(),o(null,null,1,u),u.lineEnd()),i&&Xr(f,a,n,o,u),u.polygonEnd()),w=u,f=l=h=null}};return T}}function Kr(){pd.point=pd.lineEnd=Ge}function ti(t,n){Qp=t*=Cp,Jp=Fp(n*=Cp),Kp=Lp(n),pd.point=ni}function ni(t,n){t*=Cp;var e=Fp(n*=Cp),r=Lp(n),i=zp(t-Qp),o=Lp(i),u=r*Fp(i),a=Kp*e-Jp*r*o,c=Jp*e+Kp*r*o;hd.add(Rp(Yp(u*u+a*a),c)),Qp=t,Jp=e,Kp=r}function ei(t){return hd.reset(),tr(t,pd),+hd}function ri(t,n){return dd[0]=t,dd[1]=n,ei(vd)}function ii(t,n){return!(!t||!_d.hasOwnProperty(t.type))&&_d[t.type](t,n)}function oi(t,n){return 0===ri(t,n)}function ui(t,n){var e=ri(t[0],t[1]);return ri(t[0],n)+ri(n,t[1])<=e+Mp}function ai(t,n){return!!$r(t.map(ci),si(n))}function ci(t){return(t=t.map(si)).pop(),t}function si(t){return[t[0]*Cp,t[1]*Cp]}function fi(t,n,e){var r=f(t,n-Mp,e).concat(n);return function(t){return r.map(function(n){return[t,n]})}}function li(t,n,e){var r=f(t,n-Mp,e).concat(n);return function(t){return r.map(function(n){return[n,t]})}}function hi(){function t(){return{type:"MultiLineString",coordinates:n()}}function n(){return f(qp(o/_)*_,i,_).map(p).concat(f(qp(s/y)*y,c,y).map(d)).concat(f(qp(r/v)*v,e,v).filter(function(t){return zp(t%_)>Mp}).map(l)).concat(f(qp(a/g)*g,u,g).filter(function(t){return zp(t%y)>Mp}).map(h))}var e,r,i,o,u,a,c,s,l,h,p,d,v=10,g=v,_=90,y=360,m=2.5;return t.lines=function(){return n().map(function(t){return{type:"LineString",coordinates:t}})},t.outline=function(){return{type:"Polygon",coordinates:[p(o).concat(d(c).slice(1),p(i).reverse().slice(1),d(s).reverse().slice(1))]}},t.extent=function(n){return arguments.length?t.extentMajor(n).extentMinor(n):t.extentMinor()},t.extentMajor=function(n){return arguments.length?(o=+n[0][0],i=+n[1][0],s=+n[0][1],c=+n[1][1],o>i&&(n=o,o=i,i=n),s>c&&(n=s,s=c,c=n),t.precision(m)):[[o,s],[i,c]]},t.extentMinor=function(n){return arguments.length?(r=+n[0][0],e=+n[1][0],a=+n[0][1],u=+n[1][1],r>e&&(n=r,r=e,e=n),a>u&&(n=a,a=u,u=n),t.precision(m)):[[r,a],[e,u]]},t.step=function(n){return arguments.length?t.stepMajor(n).stepMinor(n):t.stepMinor()},t.stepMajor=function(n){return arguments.length?(_=+n[0],y=+n[1],t):[_,y]},t.stepMinor=function(n){return arguments.length?(v=+n[0],g=+n[1],t):[v,g]},t.precision=function(n){return arguments.length?(m=+n,l=fi(a,u,90),h=li(r,e,m),p=fi(s,c,90),d=li(o,i,m),t):m},t.extentMajor([[-180,-90+Mp],[180,90-Mp]]).extentMinor([[-180,-80-Mp],[180,80+Mp]])}function pi(t){return t}function di(){xd.point=vi}function vi(t,n){xd.point=gi,td=ed=t,nd=rd=n}function gi(t,n){md.add(rd*t-ed*n),ed=t,rd=n}function _i(){gi(td,nd)}function yi(t,n){kd+=t,Sd+=n,++Ed}function mi(){qd.point=xi}function xi(t,n){qd.point=bi,yi(ud=t,ad=n)}function bi(t,n){var e=t-ud,r=n-ad,i=Yp(e*e+r*r);Ad+=i*(ud+t)/2,Cd+=i*(ad+n)/2,zd+=i,yi(ud=t,ad=n)}function wi(){qd.point=yi}function Mi(){qd.point=Ni}function Ti(){ki(id,od)}function Ni(t,n){qd.point=ki,yi(id=ud=t,od=ad=n)}function ki(t,n){var e=t-ud,r=n-ad,i=Yp(e*e+r*r);Ad+=i*(ud+t)/2,Cd+=i*(ad+n)/2,zd+=i,Pd+=(i=ad*t-ud*n)*(ud+t),Rd+=i*(ad+n),Ld+=3*i,yi(ud=t,ad=n)}function Si(t){this._context=t}function Ei(t,n){Bd.point=Ai,Ud=Fd=t,Od=Id=n}function Ai(t,n){Fd-=t,Id-=n,Yd.add(Yp(Fd*Fd+Id*Id)),Fd=t,Id=n}function Ci(){this._string=[]}function zi(t){return"m0,"+t+"a"+t+","+t+" 0 1,1 0,"+-2*t+"a"+t+","+t+" 0 1,1 0,"+2*t+"z"}function Pi(t){return function(n){var e=new Ri;for(var r in t)e[r]=t[r];return e.stream=n,e}}function Ri(){}function Li(t,n,e){var r=t.clipExtent&&t.clipExtent();return t.scale(150).translate([0,0]),null!=r&&t.clipExtent(null),tr(e,t.stream(Nd)),n(Nd.result()),null!=r&&t.clipExtent(r),t}function qi(t,n,e){return Li(t,function(e){var r=n[1][0]-n[0][0],i=n[1][1]-n[0][1],o=Math.min(r/(e[1][0]-e[0][0]),i/(e[1][1]-e[0][1])),u=+n[0][0]+(r-o*(e[1][0]+e[0][0]))/2,a=+n[0][1]+(i-o*(e[1][1]+e[0][1]))/2;t.scale(150*o).translate([u,a])},e)}function Di(t,n,e){return qi(t,[[0,0],n],e)}function Ui(t,n,e){return Li(t,function(e){var r=+n,i=r/(e[1][0]-e[0][0]),o=(r-i*(e[1][0]+e[0][0]))/2,u=-i*e[0][1];t.scale(150*i).translate([o,u])},e)}function Oi(t,n,e){return Li(t,function(e){var r=+n,i=r/(e[1][1]-e[0][1]),o=-i*e[0][0],u=(r-i*(e[1][1]+e[0][1]))/2;t.scale(150*i).translate([o,u])},e)}function Fi(t,n){return+n?function(t,n){function e(r,i,o,u,a,c,s,f,l,h,p,d,v,g){var _=s-r,y=f-i,m=_*_+y*y;if(m>4*n&&v--){var x=u+h,b=a+p,w=c+d,M=Yp(x*x+b*b+w*w),T=We(w/=M),N=zp(zp(w)-1)<Mp||zp(o-l)<Mp?(o+l)/2:Rp(b,x),k=t(N,T),S=k[0],E=k[1],A=S-r,C=E-i,z=y*A-_*C;(z*z/m>n||zp((_*A+y*C)/m-.5)>.3||u*h+a*p+c*d<jd)&&(e(r,i,o,u,a,c,S,E,N,x/=M,b/=M,w,v,g),g.point(S,E),e(S,E,N,x,b,w,s,f,l,h,p,d,v,g))}}return function(n){function r(e,r){e=t(e,r),n.point(e[0],e[1])}function i(){_=NaN,w.point=o,n.lineStart()}function o(r,i){var o=ur([r,i]),u=t(r,i);e(_,y,g,m,x,b,_=u[0],y=u[1],g=r,m=o[0],x=o[1],b=o[2],Hd,n),n.point(_,y)}function u(){w.point=r,n.lineEnd()}function a(){i(),w.point=c,w.lineEnd=s}function c(t,n){o(f=t,n),l=_,h=y,p=m,d=x,v=b,w.point=o}function s(){e(_,y,g,m,x,b,l,h,f,p,d,v,Hd,n),w.lineEnd=u,u()}var f,l,h,p,d,v,g,_,y,m,x,b,w={point:r,lineStart:i,lineEnd:u,polygonStart:function(){n.polygonStart(),w.lineStart=a},polygonEnd:function(){n.polygonEnd(),w.lineStart=i}};return w}}(t,n):function(t){return Pi({point:function(n,e){n=t(n,e),this.stream.point(n[0],n[1])}})}(t)}function Ii(t){return Yi(function(){return t})()}function Yi(t){function n(t){return t=s(t[0]*Cp,t[1]*Cp),[t[0]*v+u,a-t[1]*v]}function e(t,n){return t=o(t,n),[t[0]*v+u,a-t[1]*v]}function r(){s=Rr(c=qr(x,b,w),o);var t=o(y,m);return u=g-t[0]*v,a=_+t[1]*v,i()}function i(){return p=d=null,n}var o,u,a,c,s,f,l,h,p,d,v=150,g=480,_=250,y=0,m=0,x=0,b=0,w=0,M=null,T=sd,N=null,k=pi,S=.5,E=Fi(e,S);return n.stream=function(t){return p&&d===t?p:p=Xd(function(t){return Pi({point:function(n,e){var r=t(n,e);return this.stream.point(r[0],r[1])}})}(c)(T(E(k(d=t)))))},n.preclip=function(t){return arguments.length?(T=t,M=void 0,i()):T},n.postclip=function(t){return arguments.length?(k=t,N=f=l=h=null,i()):k},n.clipAngle=function(t){return arguments.length?(T=+t?Qr(M=t*Cp):(M=null,sd),i()):M*Ap},n.clipExtent=function(t){return arguments.length?(k=null==t?(N=f=l=h=null,pi):Jr(N=+t[0][0],f=+t[0][1],l=+t[1][0],h=+t[1][1]),i()):null==N?null:[[N,f],[l,h]]},n.scale=function(t){return arguments.length?(v=+t,r()):v},n.translate=function(t){return arguments.length?(g=+t[0],_=+t[1],r()):[g,_]},n.center=function(t){return arguments.length?(y=t[0]%360*Cp,m=t[1]%360*Cp,r()):[y*Ap,m*Ap]},n.rotate=function(t){return arguments.length?(x=t[0]%360*Cp,b=t[1]%360*Cp,w=t.length>2?t[2]%360*Cp:0,r()):[x*Ap,b*Ap,w*Ap]},n.precision=function(t){return arguments.length?(E=Fi(e,S=t*t),i()):Yp(S)},n.fitExtent=function(t,e){return qi(n,t,e)},n.fitSize=function(t,e){return Di(n,t,e)},n.fitWidth=function(t,e){return Ui(n,t,e)},n.fitHeight=function(t,e){return Oi(n,t,e)},function(){return o=t.apply(this,arguments),n.invert=o.invert&&function(t){return(t=s.invert((t[0]-u)/v,(a-t[1])/v))&&[t[0]*Ap,t[1]*Ap]},r()}}function Bi(t){var n=0,e=Np/3,r=Yi(t),i=r(n,e);return i.parallels=function(t){return arguments.length?r(n=t[0]*Cp,e=t[1]*Cp):[n*Ap,e*Ap]},i}function Hi(t,n){function e(t,n){var e=Yp(o-2*i*Fp(n))/i;return[e*Fp(t*=i),u-e*Lp(t)]}var r=Fp(t),i=(r+Fp(n))/2;if(zp(i)<Mp)return function(t){function n(t,n){return[t*e,Fp(n)/e]}var e=Lp(t);return n.invert=function(t,n){return[t/e,We(n*e)]},n}(t);var o=1+r*(2*i-r),u=Yp(o)/i;return e.invert=function(t,n){var e=u-n;return[Rp(t,zp(e))/i*Ip(e),We((o-(t*t+e*e)*i*i)/(2*i))]},e}function ji(){return Bi(Hi).scale(155.424).center([0,33.6442])}function Xi(){return ji().parallels([29.5,45.5]).scale(1070).translate([480,250]).rotate([96,0]).center([-.6,38.7])}function Vi(t){return function(n,e){var r=Lp(n),i=Lp(e),o=t(r*i);return[o*i*Fp(n),o*Fp(e)]}}function $i(t){return function(n,e){var r=Yp(n*n+e*e),i=t(r),o=Fp(i),u=Lp(i);return[Rp(n*o,r*u),We(r&&e*o/r)]}}function Wi(t,n){return[t,Up(Bp((kp+n)/2))]}function Zi(t){function n(){var n=Np*a(),u=o(Fr(o.rotate()).invert([0,0]));return s(null==f?[[u[0]-n,u[1]-n],[u[0]+n,u[1]+n]]:t===Wi?[[Math.max(u[0]-n,f),e],[Math.min(u[0]+n,r),i]]:[[f,Math.max(u[1]-n,e)],[r,Math.min(u[1]+n,i)]])}var e,r,i,o=Ii(t),u=o.center,a=o.scale,c=o.translate,s=o.clipExtent,f=null;return o.scale=function(t){return arguments.length?(a(t),n()):a()},o.translate=function(t){return arguments.length?(c(t),n()):c()},o.center=function(t){return arguments.length?(u(t),n()):u()},o.clipExtent=function(t){return arguments.length?(null==t?f=e=r=i=null:(f=+t[0][0],e=+t[0][1],r=+t[1][0],i=+t[1][1]),n()):null==f?null:[[f,e],[r,i]]},n()}function Gi(t){return Bp((kp+t)/2)}function Qi(t,n){function e(t,n){o>0?n<-kp+Mp&&(n=-kp+Mp):n>kp-Mp&&(n=kp-Mp);var e=o/Op(Gi(n),i);return[e*Fp(i*t),o-e*Lp(i*t)]}var r=Lp(t),i=t===n?Fp(t):Up(r/Lp(n))/Up(Gi(n)/Gi(t)),o=r*Op(Gi(t),i)/i;return i?(e.invert=function(t,n){var e=o-n,r=Ip(i)*Yp(t*t+e*e);return[Rp(t,zp(e))/i*Ip(e),2*Pp(Op(o/r,1/i))-kp]},e):Wi}function Ji(t,n){return[t,n]}function Ki(t,n){function e(t,n){var e=o-n,r=i*t;return[e*Fp(r),o-e*Lp(r)]}var r=Lp(t),i=t===n?Fp(t):(r-Lp(n))/(n-t),o=r/i+t;return zp(i)<Mp?Ji:(e.invert=function(t,n){var e=o-n;return[Rp(t,zp(e))/i*Ip(e),o-Ip(i)*Yp(t*t+e*e)]},e)}function to(t,n){var e=Lp(n),r=Lp(t)*e;return[e*Fp(t)/r,Fp(n)/r]}function no(t,n,e,r){return 1===t&&1===n&&0===e&&0===r?pi:Pi({point:function(i,o){this.stream.point(i*t+e,o*n+r)}})}function eo(t,n){var e=n*n,r=e*e;return[t*(.8707-.131979*e+r*(r*(.003971*e-.001529*r)-.013791)),n*(1.007226+e*(.015085+r*(.028874*e-.044475-.005916*r)))]}function ro(t,n){return[Lp(n)*Fp(t),Fp(n)]}function io(t,n){var e=Lp(n),r=1+Lp(t)*e;return[e*Fp(t)/r,Fp(n)/r]}function oo(t,n){return[Up(Bp((kp+n)/2)),-t]}function uo(t,n){return t.parent===n.parent?1:2}function ao(t,n){return t+n.x}function co(t,n){return Math.max(t,n.y)}function so(t){var n=0,e=t.children,r=e&&e.length;if(r)for(;--r>=0;)n+=e[r].value;else n=1;t.value=n}function fo(t,n){var e,r,i,o,u,a=new vo(t),c=+t.value&&(a.value=t.value),s=[a];for(null==n&&(n=lo);e=s.pop();)if(c&&(e.value=+e.data.value),(i=n(e.data))&&(u=i.length))for(e.children=new Array(u),o=u-1;o>=0;--o)s.push(r=e.children[o]=new vo(i[o])),r.parent=e,r.depth=e.depth+1;return a.eachBefore(po)}function lo(t){return t.children}function ho(t){t.data=t.data.data}function po(t){var n=0;do{t.height=n}while((t=t.parent)&&t.height<++n)}function vo(t){this.data=t,this.depth=this.height=0,this.parent=null}function go(t){for(var n,e,r=0,i=(t=function(t){for(var n,e,r=t.length;r;)e=Math.random()*r--|0,n=t[r],t[r]=t[e],t[e]=n;return t}(Wd.call(t))).length,o=[];r<i;)n=t[r],e&&yo(e,n)?++r:(e=function(t){switch(t.length){case 1:return function(t){return{x:t.x,y:t.y,r:t.r}}(t[0]);case 2:return xo(t[0],t[1]);case 3:return bo(t[0],t[1],t[2])}}(o=function(t,n){var e,r;if(mo(n,t))return[n];for(e=0;e<t.length;++e)if(_o(n,t[e])&&mo(xo(t[e],n),t))return[t[e],n];for(e=0;e<t.length-1;++e)for(r=e+1;r<t.length;++r)if(_o(xo(t[e],t[r]),n)&&_o(xo(t[e],n),t[r])&&_o(xo(t[r],n),t[e])&&mo(bo(t[e],t[r],n),t))return[t[e],t[r],n];throw new Error}(o,n)),r=0);return e}function _o(t,n){var e=t.r-n.r,r=n.x-t.x,i=n.y-t.y;return e<0||e*e<r*r+i*i}function yo(t,n){var e=t.r-n.r+1e-6,r=n.x-t.x,i=n.y-t.y;return e>0&&e*e>r*r+i*i}function mo(t,n){for(var e=0;e<n.length;++e)if(!yo(t,n[e]))return!1;return!0}function xo(t,n){var e=t.x,r=t.y,i=t.r,o=n.x,u=n.y,a=n.r,c=o-e,s=u-r,f=a-i,l=Math.sqrt(c*c+s*s);return{x:(e+o+c/l*f)/2,y:(r+u+s/l*f)/2,r:(l+i+a)/2}}function bo(t,n,e){var r=t.x,i=t.y,o=t.r,u=n.x,a=n.y,c=n.r,s=e.x,f=e.y,l=e.r,h=r-u,p=r-s,d=i-a,v=i-f,g=c-o,_=l-o,y=r*r+i*i-o*o,m=y-u*u-a*a+c*c,x=y-s*s-f*f+l*l,b=p*d-h*v,w=(d*x-v*m)/(2*b)-r,M=(v*g-d*_)/b,T=(p*m-h*x)/(2*b)-i,N=(h*_-p*g)/b,k=M*M+N*N-1,S=2*(o+w*M+T*N),E=w*w+T*T-o*o,A=-(k?(S+Math.sqrt(S*S-4*k*E))/(2*k):E/S);return{x:r+w+M*A,y:i+T+N*A,r:A}}function wo(t,n,e){var r=t.x,i=t.y,o=n.r+e.r,u=t.r+e.r,a=n.x-r,c=n.y-i,s=a*a+c*c;if(s){var f=.5+((u*=u)-(o*=o))/(2*s),l=Math.sqrt(Math.max(0,2*o*(u+s)-(u-=s)*u-o*o))/(2*s);e.x=r+f*a+l*c,e.y=i+f*c-l*a}else e.x=r+u,e.y=i}function Mo(t,n){var e=n.x-t.x,r=n.y-t.y,i=t.r+n.r;return i*i-1e-6>e*e+r*r}function To(t){var n=t._,e=t.next._,r=n.r+e.r,i=(n.x*e.r+e.x*n.r)/r,o=(n.y*e.r+e.y*n.r)/r;return i*i+o*o}function No(t){this._=t,this.next=null,this.previous=null}function ko(t){if(!(i=t.length))return 0;var n,e,r,i,o,u,a,c,s,f,l;if(n=t[0],n.x=0,n.y=0,!(i>1))return n.r;if(e=t[1],n.x=-e.r,e.x=n.r,e.y=0,!(i>2))return n.r+e.r;wo(e,n,r=t[2]),n=new No(n),e=new No(e),r=new No(r),n.next=r.previous=e,e.next=n.previous=r,r.next=e.previous=n;t:for(a=3;a<i;++a){wo(n._,e._,r=t[a]),r=new No(r),c=e.next,s=n.previous,f=e._.r,l=n._.r;do{if(f<=l){if(Mo(c._,r._)){e=c,n.next=e,e.previous=n,--a;continue t}f+=c._.r,c=c.next}else{if(Mo(s._,r._)){(n=s).next=e,e.previous=n,--a;continue t}l+=s._.r,s=s.previous}}while(c!==s.next);for(r.previous=n,r.next=e,n.next=e.previous=e=r,o=To(n);(r=r.next)!==e;)(u=To(r))<o&&(n=r,o=u);e=n.next}for(n=[e._],r=e;(r=r.next)!==e;)n.push(r._);for(r=go(n),a=0;a<i;++a)n=t[a],n.x-=r.x,n.y-=r.y;return r.r}function So(t){if("function"!=typeof t)throw new Error;return t}function Eo(){return 0}function Ao(t){return function(){return t}}function Co(t){return Math.sqrt(t.value)}function zo(t){return function(n){n.children||(n.r=Math.max(0,+t(n)||0))}}function Po(t,n){return function(e){if(r=e.children){var r,i,o,u=r.length,a=t(e)*n||0;if(a)for(i=0;i<u;++i)r[i].r+=a;if(o=ko(r),a)for(i=0;i<u;++i)r[i].r-=a;e.r=o+a}}}function Ro(t){return function(n){var e=n.parent;n.r*=t,e&&(n.x=e.x+t*n.x,n.y=e.y+t*n.y)}}function Lo(t){t.x0=Math.round(t.x0),t.y0=Math.round(t.y0),t.x1=Math.round(t.x1),t.y1=Math.round(t.y1)}function qo(t,n,e,r,i){for(var o,u=t.children,a=-1,c=u.length,s=t.value&&(r-n)/t.value;++a<c;)(o=u[a]).y0=e,o.y1=i,o.x0=n,o.x1=n+=o.value*s}function Do(t){return t.id}function Uo(t){return t.parentId}function Oo(t,n){return t.parent===n.parent?1:2}function Fo(t){var n=t.children;return n?n[0]:t.t}function Io(t){var n=t.children;return n?n[n.length-1]:t.t}function Yo(t,n,e){var r=e/(n.i-t.i);n.c-=r,n.s+=e,t.c+=r,n.z+=e,n.m+=e}function Bo(t,n,e){return t.a.parent===n.parent?t.a:e}function Ho(t,n){this._=t,this.parent=null,this.children=null,this.A=null,this.a=this,this.z=0,this.m=0,this.c=0,this.s=0,this.t=null,this.i=n}function jo(t,n,e,r,i){for(var o,u=t.children,a=-1,c=u.length,s=t.value&&(i-e)/t.value;++a<c;)(o=u[a]).x0=n,o.x1=r,o.y0=e,o.y1=e+=o.value*s}function Xo(t,n,e,r,i,o){for(var u,a,c,s,f,l,h,p,d,v,g,_=[],y=n.children,m=0,x=0,b=y.length,w=n.value;m<b;){c=i-e,s=o-r;do{f=y[x++].value}while(!f&&x<b);for(l=h=f,g=f*f*(v=Math.max(s/c,c/s)/(w*t)),d=Math.max(h/g,g/l);x<b;++x){if(f+=a=y[x].value,a<l&&(l=a),a>h&&(h=a),g=f*f*v,(p=Math.max(h/g,g/l))>d){f-=a;break}d=p}_.push(u={value:f,dice:c<s,children:y.slice(m,x)}),u.dice?qo(u,e,r,i,w?r+=s*f/w:o):jo(u,e,r,w?e+=c*f/w:i,o),w-=f,m=x}return _}function Vo(t,n,e){return(n[0]-t[0])*(e[1]-t[1])-(n[1]-t[1])*(e[0]-t[0])}function $o(t,n){return t[0]-n[0]||t[1]-n[1]}function Wo(t){for(var n=t.length,e=[0,1],r=2,i=2;i<n;++i){for(;r>1&&Vo(t[e[r-2]],t[e[r-1]],t[i])<=0;)--r;e[r++]=i}return e.slice(0,r)}function Zo(t){this._size=t,this._call=this._error=null,this._tasks=[],this._data=[],this._waiting=this._active=this._ended=this._start=0}function Go(t){if(!t._start)try{(function(t){for(;t._start=t._waiting&&t._active<t._size;){var n=t._ended+t._active,e=t._tasks[n],r=e.length-1,i=e[r];e[r]=function(t,n){return function(e,r){t._tasks[n]&&(--t._active,++t._ended,t._tasks[n]=null,null==t._error&&(null!=e?Qo(t,e):(t._data[n]=r,t._waiting?Go(t):Jo(t))))}}(t,n),--t._waiting,++t._active,e=i.apply(null,e),t._tasks[n]&&(t._tasks[n]=e||ev)}})(t)}catch(n){if(t._tasks[t._ended+t._active-1])Qo(t,n);else if(!t._data)throw n}}function Qo(t,n){var e,r=t._tasks.length;for(t._error=n,t._data=void 0,t._waiting=NaN;--r>=0;)if((e=t._tasks[r])&&(t._tasks[r]=null,e.abort))try{e.abort()}catch(n){}t._active=NaN,Jo(t)}function Jo(t){if(!t._active&&t._call){var n=t._data;t._data=void 0,t._call(t._error,n)}}function Ko(t){if(null==t)t=1/0;else if(!((t=+t)>=1))throw new Error("invalid concurrency");return new Zo(t)}function tu(){return Math.random()}function nu(t,n){function e(t){var n,e=s.status;if(!e&&function(t){var n=t.responseType;return n&&"text"!==n?t.response:t.responseText}(s)||e>=200&&e<300||304===e){if(o)try{n=o.call(r,s)}catch(t){return void a.call("error",r,t)}else n=s;a.call("load",r,n)}else a.call("error",r,t)}var r,i,o,u,a=N("beforesend","progress","load","error"),c=se(),s=new XMLHttpRequest,f=null,l=null,h=0;if("undefined"==typeof XDomainRequest||"withCredentials"in s||!/^(http(s)?:)?\/\//.test(t)||(s=new XDomainRequest),"onload"in s?s.onload=s.onerror=s.ontimeout=e:s.onreadystatechange=function(t){s.readyState>3&&e(t)},s.onprogress=function(t){a.call("progress",r,t)},r={header:function(t,n){return t=(t+"").toLowerCase(),arguments.length<2?c.get(t):(null==n?c.remove(t):c.set(t,n+""),r)},mimeType:function(t){return arguments.length?(i=null==t?null:t+"",r):i},responseType:function(t){return arguments.length?(u=t,r):u},timeout:function(t){return arguments.length?(h=+t,r):h},user:function(t){return arguments.length<1?f:(f=null==t?null:t+"",r)},password:function(t){return arguments.length<1?l:(l=null==t?null:t+"",r)},response:function(t){return o=t,r},get:function(t,n){return r.send("GET",t,n)},post:function(t,n){return r.send("POST",t,n)},send:function(n,e,o){return s.open(n,t,!0,f,l),null==i||c.has("accept")||c.set("accept",i+",*/*"),s.setRequestHeader&&c.each(function(t,n){s.setRequestHeader(n,t)}),null!=i&&s.overrideMimeType&&s.overrideMimeType(i),null!=u&&(s.responseType=u),h>0&&(s.timeout=h),null==o&&"function"==typeof e&&(o=e,e=null),null!=o&&1===o.length&&(o=function(t){return function(n,e){t(null==n?e:null)}}(o)),null!=o&&r.on("error",o).on("load",function(t){o(null,t)}),a.call("beforesend",r,s),s.send(null==e?null:e),r},abort:function(){return s.abort(),r},on:function(){var t=a.on.apply(a,arguments);return t===a?r:t}},null!=n){if("function"!=typeof n)throw new Error("invalid callback: "+n);return r.get(n)}return r}function eu(t,n){return function(e,r){var i=nu(e).mimeType(t).response(n);if(null!=r){if("function"!=typeof r)throw new Error("invalid callback: "+r);return i.get(r)}return i}}function ru(t,n){return function(e,r,i){arguments.length<3&&(i=r,r=null);var o=nu(e).mimeType(t);return o.row=function(t){return arguments.length?o.response(function(t,n){return function(e){return t(e.responseText,n)}}(n,r=t)):r},o.row(r),i?o.get(i):o}}function iu(t){function n(n){var o=n+"",u=e.get(o);if(!u){if(i!==yv)return i;e.set(o,u=r.push(n))}return t[(u-1)%t.length]}var e=se(),r=[],i=yv;return t=null==t?[]:_v.call(t),n.domain=function(t){if(!arguments.length)return r.slice();r=[],e=se();for(var i,o,u=-1,a=t.length;++u<a;)e.has(o=(i=t[u])+"")||e.set(o,r.push(i));return n},n.range=function(e){return arguments.length?(t=_v.call(e),n):t.slice()},n.unknown=function(t){return arguments.length?(i=t,n):i},n.copy=function(){return iu().domain(r).range(t).unknown(i)},n}function ou(){function t(){var t=i().length,r=u[1]<u[0],h=u[r-0],p=u[1-r];n=(p-h)/Math.max(1,t-c+2*s),a&&(n=Math.floor(n)),h+=(p-h-n*(t-c))*l,e=n*(1-c),a&&(h=Math.round(h),e=Math.round(e));var d=f(t).map(function(t){return h+n*t});return o(r?d.reverse():d)}var n,e,r=iu().unknown(void 0),i=r.domain,o=r.range,u=[0,1],a=!1,c=0,s=0,l=.5;return delete r.unknown,r.domain=function(n){return arguments.length?(i(n),t()):i()},r.range=function(n){return arguments.length?(u=[+n[0],+n[1]],t()):u.slice()},r.rangeRound=function(n){return u=[+n[0],+n[1]],a=!0,t()},r.bandwidth=function(){return e},r.step=function(){return n},r.round=function(n){return arguments.length?(a=!!n,t()):a},r.padding=function(n){return arguments.length?(c=s=Math.max(0,Math.min(1,n)),t()):c},r.paddingInner=function(n){return arguments.length?(c=Math.max(0,Math.min(1,n)),t()):c},r.paddingOuter=function(n){return arguments.length?(s=Math.max(0,Math.min(1,n)),t()):s},r.align=function(n){return arguments.length?(l=Math.max(0,Math.min(1,n)),t()):l},r.copy=function(){return ou().domain(i()).range(u).round(a).paddingInner(c).paddingOuter(s).align(l)},t()}function uu(t){var n=t.copy;return t.padding=t.paddingOuter,delete t.paddingInner,delete t.paddingOuter,t.copy=function(){return uu(n())},t}function au(t){return function(){return t}}function cu(t){return+t}function su(t,n){return(n-=t=+t)?function(e){return(e-t)/n}:au(n)}function fu(t,n,e,r){var i=t[0],o=t[1],u=n[0],a=n[1];return o<i?(i=e(o,i),u=r(a,u)):(i=e(i,o),u=r(u,a)),function(t){return u(i(t))}}function lu(t,n,e,r){var i=Math.min(t.length,n.length)-1,o=new Array(i),u=new Array(i),a=-1;for(t[i]<t[0]&&(t=t.slice().reverse(),n=n.slice().reverse());++a<i;)o[a]=e(t[a],t[a+1]),u[a]=r(n[a],n[a+1]);return function(n){var e=Os(t,n,1,i)-1;return u[e](o[e](n))}}function hu(t,n){return n.domain(t.domain()).range(t.range()).interpolate(t.interpolate()).clamp(t.clamp())}function pu(t,n){function e(){return i=Math.min(a.length,c.length)>2?lu:fu,o=u=null,r}function r(n){return(o||(o=i(a,c,f?function(t){return function(n,e){var r=t(n=+n,e=+e);return function(t){return t<=n?0:t>=e?1:r(t)}}}(t):t,s)))(+n)}var i,o,u,a=mv,c=mv,s=fn,f=!1;return r.invert=function(t){return(u||(u=i(c,a,su,f?function(t){return function(n,e){var r=t(n=+n,e=+e);return function(t){return t<=0?n:t>=1?e:r(t)}}}(n):n)))(+t)},r.domain=function(t){return arguments.length?(a=gv.call(t,cu),e()):a.slice()},r.range=function(t){return arguments.length?(c=_v.call(t),e()):c.slice()},r.rangeRound=function(t){return c=_v.call(t),s=ln,e()},r.clamp=function(t){return arguments.length?(f=!!t,e()):f},r.interpolate=function(t){return arguments.length?(s=t,e()):s},e()}function du(n){var e=n.domain;return n.ticks=function(t){var n=e();return l(n[0],n[n.length-1],null==t?10:t)},n.tickFormat=function(n,r){return function(n,e,r){var i,o=n[0],u=n[n.length-1],a=p(o,u,null==e?10:e);switch((r=De(null==r?",f":r)).type){case"s":var c=Math.max(Math.abs(o),Math.abs(u));return null!=r.precision||isNaN(i=Be(a,c))||(r.precision=i),t.formatPrefix(r,c);case"":case"e":case"g":case"p":case"r":null!=r.precision||isNaN(i=He(a,Math.max(Math.abs(o),Math.abs(u))))||(r.precision=i-("e"===r.type));break;case"f":case"%":null!=r.precision||isNaN(i=Ye(a))||(r.precision=i-2*("%"===r.type))}return t.format(r)}(e(),n,r)},n.nice=function(t){null==t&&(t=10);var r,i=e(),o=0,u=i.length-1,a=i[o],c=i[u];return c<a&&(r=a,a=c,c=r,r=o,o=u,u=r),(r=h(a,c,t))>0?r=h(a=Math.floor(a/r)*r,c=Math.ceil(c/r)*r,t):r<0&&(r=h(a=Math.ceil(a*r)/r,c=Math.floor(c*r)/r,t)),r>0?(i[o]=Math.floor(a/r)*r,i[u]=Math.ceil(c/r)*r,e(i)):r<0&&(i[o]=Math.ceil(a*r)/r,i[u]=Math.floor(c*r)/r,e(i)),n},n}function vu(){var t=pu(su,an);return t.copy=function(){return hu(t,vu())},du(t)}function gu(){function t(t){return+t}var n=[0,1];return t.invert=t,t.domain=t.range=function(e){return arguments.length?(n=gv.call(e,cu),t):n.slice()},t.copy=function(){return gu().domain(n)},du(t)}function _u(t,n){var e,r=0,i=(t=t.slice()).length-1,o=t[r],u=t[i];return u<o&&(e=r,r=i,i=e,e=o,o=u,u=e),t[r]=n.floor(o),t[i]=n.ceil(u),t}function yu(t,n){return(n=Math.log(n/t))?function(e){return Math.log(e/t)/n}:au(n)}function mu(t,n){return t<0?function(e){return-Math.pow(-n,e)*Math.pow(-t,1-e)}:function(e){return Math.pow(n,e)*Math.pow(t,1-e)}}function xu(t){return isFinite(t)?+("1e"+t):t<0?0:t}function bu(t){return 10===t?xu:t===Math.E?Math.exp:function(n){return Math.pow(t,n)}}function wu(t){return t===Math.E?Math.log:10===t&&Math.log10||2===t&&Math.log2||(t=Math.log(t),function(n){return Math.log(n)/t})}function Mu(t){return function(n){return-t(-n)}}function Tu(){function n(){return o=wu(i),u=bu(i),r()[0]<0&&(o=Mu(o),u=Mu(u)),e}var e=pu(yu,mu).domain([1,10]),r=e.domain,i=10,o=wu(10),u=bu(10);return e.base=function(t){return arguments.length?(i=+t,n()):i},e.domain=function(t){return arguments.length?(r(t),n()):r()},e.ticks=function(t){var n,e=r(),a=e[0],c=e[e.length-1];(n=c<a)&&(p=a,a=c,c=p);var s,f,h,p=o(a),d=o(c),v=null==t?10:+t,g=[];if(!(i%1)&&d-p<v){if(p=Math.round(p)-1,d=Math.round(d)+1,a>0){for(;p<d;++p)for(f=1,s=u(p);f<i;++f)if(!((h=s*f)<a)){if(h>c)break;g.push(h)}}else for(;p<d;++p)for(f=i-1,s=u(p);f>=1;--f)if(!((h=s*f)<a)){if(h>c)break;g.push(h)}}else g=l(p,d,Math.min(d-p,v)).map(u);return n?g.reverse():g},e.tickFormat=function(n,r){if(null==r&&(r=10===i?".0e":","),"function"!=typeof r&&(r=t.format(r)),n===1/0)return r;null==n&&(n=10);var a=Math.max(1,i*n/e.ticks().length);return function(t){var n=t/u(Math.round(o(t)));return n*i<i-.5&&(n*=i),n<=a?r(t):""}},e.nice=function(){return r(_u(r(),{floor:function(t){return u(Math.floor(o(t)))},ceil:function(t){return u(Math.ceil(o(t)))}}))},e.copy=function(){return hu(e,Tu().base(i))},e}function Nu(t,n){return t<0?-Math.pow(-t,n):Math.pow(t,n)}function ku(){var t=1,n=pu(function(n,e){return(e=Nu(e,t)-(n=Nu(n,t)))?function(r){return(Nu(r,t)-n)/e}:au(e)},function(n,e){return e=Nu(e,t)-(n=Nu(n,t)),function(r){return Nu(n+e*r,1/t)}}),e=n.domain;return n.exponent=function(n){return arguments.length?(t=+n,e(e())):t},n.copy=function(){return hu(n,ku().exponent(t))},du(n)}function Su(){function t(){var t=0,n=Math.max(1,i.length);for(o=new Array(n-1);++t<n;)o[t-1]=v(r,t/n);return e}function e(t){if(!isNaN(t=+t))return i[Os(o,t)]}var r=[],i=[],o=[];return e.invertExtent=function(t){var n=i.indexOf(t);return n<0?[NaN,NaN]:[n>0?o[n-1]:r[0],n<o.length?o[n]:r[r.length-1]]},e.domain=function(e){if(!arguments.length)return r.slice();r=[];for(var i,o=0,u=e.length;o<u;++o)null==(i=e[o])||isNaN(i=+i)||r.push(i);return r.sort(n),t()},e.range=function(n){return arguments.length?(i=_v.call(n),t()):i.slice()},e.quantiles=function(){return o.slice()},e.copy=function(){return Su().domain(r).range(i)},e}function Eu(){function t(t){if(t<=t)return u[Os(o,t,0,i)]}function n(){var n=-1;for(o=new Array(i);++n<i;)o[n]=((n+1)*r-(n-i)*e)/(i+1);return t}var e=0,r=1,i=1,o=[.5],u=[0,1];return t.domain=function(t){return arguments.length?(e=+t[0],r=+t[1],n()):[e,r]},t.range=function(t){return arguments.length?(i=(u=_v.call(t)).length-1,n()):u.slice()},t.invertExtent=function(t){var n=u.indexOf(t);return n<0?[NaN,NaN]:n<1?[e,o[0]]:n>=i?[o[i-1],r]:[o[n-1],o[n]]},t.copy=function(){return Eu().domain([e,r]).range(u)},du(t)}function Au(){function t(t){if(t<=t)return e[Os(n,t,0,r)]}var n=[.5],e=[0,1],r=1;return t.domain=function(i){return arguments.length?(n=_v.call(i),r=Math.min(n.length,e.length-1),t):n.slice()},t.range=function(i){return arguments.length?(e=_v.call(i),r=Math.min(n.length,e.length-1),t):e.slice()},t.invertExtent=function(t){var r=e.indexOf(t);return[n[r-1],n[r]]},t.copy=function(){return Au().domain(n).range(e)},t}function Cu(t,n,e,r){function i(n){return t(n=new Date(+n)),n}return i.floor=i,i.ceil=function(e){return t(e=new Date(e-1)),n(e,1),t(e),e},i.round=function(t){var n=i(t),e=i.ceil(t);return t-n<e-t?n:e},i.offset=function(t,e){return n(t=new Date(+t),null==e?1:Math.floor(e)),t},i.range=function(e,r,o){var u,a=[];if(e=i.ceil(e),o=null==o?1:Math.floor(o),!(e<r&&o>0))return a;do{a.push(u=new Date(+e)),n(e,o),t(e)}while(u<e&&e<r);return a},i.filter=function(e){return Cu(function(n){if(n>=n)for(;t(n),!e(n);)n.setTime(n-1)},function(t,r){if(t>=t)if(r<0)for(;++r<=0;)for(;n(t,-1),!e(t););else for(;--r>=0;)for(;n(t,1),!e(t););})},e&&(i.count=function(n,r){return xv.setTime(+n),bv.setTime(+r),t(xv),t(bv),Math.floor(e(xv,bv))},i.every=function(t){return t=Math.floor(t),isFinite(t)&&t>0?t>1?i.filter(r?function(n){return r(n)%t==0}:function(n){return i.count(0,n)%t==0}):i:null}),i}function zu(t){return Cu(function(n){n.setDate(n.getDate()-(n.getDay()+7-t)%7),n.setHours(0,0,0,0)},function(t,n){t.setDate(t.getDate()+7*n)},function(t,n){return(n-t-(n.getTimezoneOffset()-t.getTimezoneOffset())*Tv)/Nv})}function Pu(t){return Cu(function(n){n.setUTCDate(n.getUTCDate()-(n.getUTCDay()+7-t)%7),n.setUTCHours(0,0,0,0)},function(t,n){t.setUTCDate(t.getUTCDate()+7*n)},function(t,n){return(n-t)/Nv})}function Ru(t){if(0<=t.y&&t.y<100){var n=new Date(-1,t.m,t.d,t.H,t.M,t.S,t.L);return n.setFullYear(t.y),n}return new Date(t.y,t.m,t.d,t.H,t.M,t.S,t.L)}function Lu(t){if(0<=t.y&&t.y<100){var n=new Date(Date.UTC(-1,t.m,t.d,t.H,t.M,t.S,t.L));return n.setUTCFullYear(t.y),n}return new Date(Date.UTC(t.y,t.m,t.d,t.H,t.M,t.S,t.L))}function qu(t){return{y:t,m:0,d:1,H:0,M:0,S:0,L:0}}function Du(t){function n(t,n){return function(e){var r,i,o,u=[],a=-1,c=0,s=t.length;for(e instanceof Date||(e=new Date(+e));++a<s;)37===t.charCodeAt(a)&&(u.push(t.slice(c,a)),null!=(i=Mg[r=t.charAt(++a)])?r=t.charAt(++a):i="e"===r?" ":"0",(o=n[r])&&(r=o(e,i)),u.push(r),c=a+1);return u.push(t.slice(c,a)),u.join("")}}function e(t,n){return function(e){var i,o,u=qu(1900);if(r(u,t,e+="",0)!=e.length)return null;if("Q"in u)return new Date(u.Q);if("p"in u&&(u.H=u.H%12+12*u.p),"V"in u){if(u.V<1||u.V>53)return null;"w"in u||(u.w=1),"Z"in u?(i=(o=(i=Lu(qu(u.y))).getUTCDay())>4||0===o?og.ceil(i):og(i),i=eg.offset(i,7*(u.V-1)),u.y=i.getUTCFullYear(),u.m=i.getUTCMonth(),u.d=i.getUTCDate()+(u.w+6)%7):(i=(o=(i=n(qu(u.y))).getDay())>4||0===o?qv.ceil(i):qv(i),i=Pv.offset(i,7*(u.V-1)),u.y=i.getFullYear(),u.m=i.getMonth(),u.d=i.getDate()+(u.w+6)%7)}else("W"in u||"U"in u)&&("w"in u||(u.w="u"in u?u.u%7:"W"in u?1:0),o="Z"in u?Lu(qu(u.y)).getUTCDay():n(qu(u.y)).getDay(),u.m=0,u.d="W"in u?(u.w+6)%7+7*u.W-(o+5)%7:u.w+7*u.U-(o+6)%7);return"Z"in u?(u.H+=u.Z/100|0,u.M+=u.Z%100,Lu(u)):n(u)}}function r(t,n,e,r){for(var i,o,u=0,a=n.length,c=e.length;u<a;){if(r>=c)return-1;if(37===(i=n.charCodeAt(u++))){if(i=n.charAt(u++),!(o=T[i in Mg?n.charAt(u++):i])||(r=o(t,e,r))<0)return-1}else if(i!=e.charCodeAt(r++))return-1}return r}var i=t.dateTime,o=t.date,u=t.time,a=t.periods,c=t.days,s=t.shortDays,f=t.months,l=t.shortMonths,h=Fu(a),p=Iu(a),d=Fu(c),v=Iu(c),g=Fu(s),_=Iu(s),y=Fu(f),m=Iu(f),x=Fu(l),b=Iu(l),w={a:function(t){return s[t.getDay()]},A:function(t){return c[t.getDay()]},b:function(t){return l[t.getMonth()]},B:function(t){return f[t.getMonth()]},c:null,d:ua,e:ua,f:la,H:aa,I:ca,j:sa,L:fa,m:ha,M:pa,p:function(t){return a[+(t.getHours()>=12)]},Q:Ya,s:Ba,S:da,u:va,U:ga,V:_a,w:ya,W:ma,x:null,X:null,y:xa,Y:ba,Z:wa,"%":Ia},M={a:function(t){return s[t.getUTCDay()]},A:function(t){return c[t.getUTCDay()]},b:function(t){return l[t.getUTCMonth()]},B:function(t){return f[t.getUTCMonth()]},c:null,d:Ma,e:Ma,f:Ea,H:Ta,I:Na,j:ka,L:Sa,m:Aa,M:Ca,p:function(t){return a[+(t.getUTCHours()>=12)]},Q:Ya,s:Ba,S:za,u:Pa,U:Ra,V:La,w:qa,W:Da,x:null,X:null,y:Ua,Y:Oa,Z:Fa,"%":Ia},T={a:function(t,n,e){var r=g.exec(n.slice(e));return r?(t.w=_[r[0].toLowerCase()],e+r[0].length):-1},A:function(t,n,e){var r=d.exec(n.slice(e));return r?(t.w=v[r[0].toLowerCase()],e+r[0].length):-1},b:function(t,n,e){var r=x.exec(n.slice(e));return r?(t.m=b[r[0].toLowerCase()],e+r[0].length):-1},B:function(t,n,e){var r=y.exec(n.slice(e));return r?(t.m=m[r[0].toLowerCase()],e+r[0].length):-1},c:function(t,n,e){return r(t,i,n,e)},d:Gu,e:Gu,f:ea,H:Ju,I:Ju,j:Qu,L:na,m:Zu,M:Ku,p:function(t,n,e){var r=h.exec(n.slice(e));return r?(t.p=p[r[0].toLowerCase()],e+r[0].length):-1},Q:ia,s:oa,S:ta,u:Bu,U:Hu,V:ju,w:Yu,W:Xu,x:function(t,n,e){return r(t,o,n,e)},X:function(t,n,e){return r(t,u,n,e)},y:$u,Y:Vu,Z:Wu,"%":ra};return w.x=n(o,w),w.X=n(u,w),w.c=n(i,w),M.x=n(o,M),M.X=n(u,M),M.c=n(i,M),{format:function(t){var e=n(t+="",w);return e.toString=function(){return t},e},parse:function(t){var n=e(t+="",Ru);return n.toString=function(){return t},n},utcFormat:function(t){var e=n(t+="",M);return e.toString=function(){return t},e},utcParse:function(t){var n=e(t,Lu);return n.toString=function(){return t},n}}}function Uu(t,n,e){var r=t<0?"-":"",i=(r?-t:t)+"",o=i.length;return r+(o<e?new Array(e-o+1).join(n)+i:i)}function Ou(t){return t.replace(kg,"\\$&")}function Fu(t){return new RegExp("^(?:"+t.map(Ou).join("|")+")","i")}function Iu(t){for(var n={},e=-1,r=t.length;++e<r;)n[t[e].toLowerCase()]=e;return n}function Yu(t,n,e){var r=Tg.exec(n.slice(e,e+1));return r?(t.w=+r[0],e+r[0].length):-1}function Bu(t,n,e){var r=Tg.exec(n.slice(e,e+1));return r?(t.u=+r[0],e+r[0].length):-1}function Hu(t,n,e){var r=Tg.exec(n.slice(e,e+2));return r?(t.U=+r[0],e+r[0].length):-1}function ju(t,n,e){var r=Tg.exec(n.slice(e,e+2));return r?(t.V=+r[0],e+r[0].length):-1}function Xu(t,n,e){var r=Tg.exec(n.slice(e,e+2));return r?(t.W=+r[0],e+r[0].length):-1}function Vu(t,n,e){var r=Tg.exec(n.slice(e,e+4));return r?(t.y=+r[0],e+r[0].length):-1}function $u(t,n,e){var r=Tg.exec(n.slice(e,e+2));return r?(t.y=+r[0]+(+r[0]>68?1900:2e3),e+r[0].length):-1}function Wu(t,n,e){var r=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(n.slice(e,e+6));return r?(t.Z=r[1]?0:-(r[2]+(r[3]||"00")),e+r[0].length):-1}function Zu(t,n,e){var r=Tg.exec(n.slice(e,e+2));return r?(t.m=r[0]-1,e+r[0].length):-1}function Gu(t,n,e){var r=Tg.exec(n.slice(e,e+2));return r?(t.d=+r[0],e+r[0].length):-1}function Qu(t,n,e){var r=Tg.exec(n.slice(e,e+3));return r?(t.m=0,t.d=+r[0],e+r[0].length):-1}function Ju(t,n,e){var r=Tg.exec(n.slice(e,e+2));return r?(t.H=+r[0],e+r[0].length):-1}function Ku(t,n,e){var r=Tg.exec(n.slice(e,e+2));return r?(t.M=+r[0],e+r[0].length):-1}function ta(t,n,e){var r=Tg.exec(n.slice(e,e+2));return r?(t.S=+r[0],e+r[0].length):-1}function na(t,n,e){var r=Tg.exec(n.slice(e,e+3));return r?(t.L=+r[0],e+r[0].length):-1}function ea(t,n,e){var r=Tg.exec(n.slice(e,e+6));return r?(t.L=Math.floor(r[0]/1e3),e+r[0].length):-1}function ra(t,n,e){var r=Ng.exec(n.slice(e,e+1));return r?e+r[0].length:-1}function ia(t,n,e){var r=Tg.exec(n.slice(e));return r?(t.Q=+r[0],e+r[0].length):-1}function oa(t,n,e){var r=Tg.exec(n.slice(e));return r?(t.Q=1e3*+r[0],e+r[0].length):-1}function ua(t,n){return Uu(t.getDate(),n,2)}function aa(t,n){return Uu(t.getHours(),n,2)}function ca(t,n){return Uu(t.getHours()%12||12,n,2)}function sa(t,n){return Uu(1+Pv.count(Gv(t),t),n,3)}function fa(t,n){return Uu(t.getMilliseconds(),n,3)}function la(t,n){return fa(t,n)+"000"}function ha(t,n){return Uu(t.getMonth()+1,n,2)}function pa(t,n){return Uu(t.getMinutes(),n,2)}function da(t,n){return Uu(t.getSeconds(),n,2)}function va(t){var n=t.getDay();return 0===n?7:n}function ga(t,n){return Uu(Lv.count(Gv(t),t),n,2)}function _a(t,n){var e=t.getDay();return t=e>=4||0===e?Ov(t):Ov.ceil(t),Uu(Ov.count(Gv(t),t)+(4===Gv(t).getDay()),n,2)}function ya(t){return t.getDay()}function ma(t,n){return Uu(qv.count(Gv(t),t),n,2)}function xa(t,n){return Uu(t.getFullYear()%100,n,2)}function ba(t,n){return Uu(t.getFullYear()%1e4,n,4)}function wa(t){var n=t.getTimezoneOffset();return(n>0?"-":(n*=-1,"+"))+Uu(n/60|0,"0",2)+Uu(n%60,"0",2)}function Ma(t,n){return Uu(t.getUTCDate(),n,2)}function Ta(t,n){return Uu(t.getUTCHours(),n,2)}function Na(t,n){return Uu(t.getUTCHours()%12||12,n,2)}function ka(t,n){return Uu(1+eg.count(xg(t),t),n,3)}function Sa(t,n){return Uu(t.getUTCMilliseconds(),n,3)}function Ea(t,n){return Sa(t,n)+"000"}function Aa(t,n){return Uu(t.getUTCMonth()+1,n,2)}function Ca(t,n){return Uu(t.getUTCMinutes(),n,2)}function za(t,n){return Uu(t.getUTCSeconds(),n,2)}function Pa(t){var n=t.getUTCDay();return 0===n?7:n}function Ra(t,n){return Uu(ig.count(xg(t),t),n,2)}function La(t,n){var e=t.getUTCDay();return t=e>=4||0===e?cg(t):cg.ceil(t),Uu(cg.count(xg(t),t)+(4===xg(t).getUTCDay()),n,2)}function qa(t){return t.getUTCDay()}function Da(t,n){return Uu(og.count(xg(t),t),n,2)}function Ua(t,n){return Uu(t.getUTCFullYear()%100,n,2)}function Oa(t,n){return Uu(t.getUTCFullYear()%1e4,n,4)}function Fa(){return"+0000"}function Ia(){return"%"}function Ya(t){return+t}function Ba(t){return Math.floor(+t/1e3)}function Ha(n){return bg=Du(n),t.timeFormat=bg.format,t.timeParse=bg.parse,t.utcFormat=bg.utcFormat,t.utcParse=bg.utcParse,bg}function ja(t){return new Date(t)}function Xa(t){return t instanceof Date?+t:+new Date(+t)}function Va(t,n,r,i,o,u,a,c,s){function f(e){return(a(e)<e?g:u(e)<e?_:o(e)<e?y:i(e)<e?m:n(e)<e?r(e)<e?x:b:t(e)<e?w:M)(e)}function l(n,r,i,o){if(null==n&&(n=10),"number"==typeof n){var u=Math.abs(i-r)/n,a=e(function(t){return t[2]}).right(T,u);a===T.length?(o=p(r/Dg,i/Dg,n),n=t):a?(o=(a=T[u/T[a-1][2]<T[a][2]/u?a-1:a])[1],n=a[0]):(o=Math.max(p(r,i,n),1),n=c)}return null==o?n:n.every(o)}var h=pu(su,an),d=h.invert,v=h.domain,g=s(".%L"),_=s(":%S"),y=s("%I:%M"),m=s("%I %p"),x=s("%a %d"),b=s("%b %d"),w=s("%B"),M=s("%Y"),T=[[a,1,Cg],[a,5,5*Cg],[a,15,15*Cg],[a,30,30*Cg],[u,1,zg],[u,5,5*zg],[u,15,15*zg],[u,30,30*zg],[o,1,Pg],[o,3,3*Pg],[o,6,6*Pg],[o,12,12*Pg],[i,1,Rg],[i,2,2*Rg],[r,1,Lg],[n,1,qg],[n,3,3*qg],[t,1,Dg]];return h.invert=function(t){return new Date(d(t))},h.domain=function(t){return arguments.length?v(gv.call(t,Xa)):v().map(ja)},h.ticks=function(t,n){var e,r=v(),i=r[0],o=r[r.length-1],u=o<i;return u&&(e=i,i=o,o=e),e=l(t,i,o,n),e=e?e.range(i,o+1):[],u?e.reverse():e},h.tickFormat=function(t,n){return null==n?f:s(n)},h.nice=function(t,n){var e=v();return(t=l(t,e[0],e[e.length-1],n))?v(_u(e,t)):h},h.copy=function(){return hu(h,Va(t,n,r,i,o,u,a,c,s))},h}function $a(t){return t.match(/.{6}/g).map(function(t){return"#"+t})}function Wa(t){var n=t.length;return function(e){return t[Math.max(0,Math.min(n-1,Math.floor(e*n)))]}}function Za(t){function n(n){var o=(n-e)/(r-e);return t(i?Math.max(0,Math.min(1,o)):o)}var e=0,r=1,i=!1;return n.domain=function(t){return arguments.length?(e=+t[0],r=+t[1],n):[e,r]},n.clamp=function(t){return arguments.length?(i=!!t,n):i},n.interpolator=function(e){return arguments.length?(t=e,n):t},n.copy=function(){return Za(t).domain([e,r]).clamp(i)},du(n)}function Ga(t){return function(){return t}}function Qa(t){return t>=1?i_:t<=-1?-i_:Math.asin(t)}function Ja(t){return t.innerRadius}function Ka(t){return t.outerRadius}function tc(t){return t.startAngle}function nc(t){return t.endAngle}function ec(t){return t&&t.padAngle}function rc(t,n,e,r,i,o,u){var a=t-e,c=n-r,s=(u?o:-o)/n_(a*a+c*c),f=s*c,l=-s*a,h=t+f,p=n+l,d=e+f,v=r+l,g=(h+d)/2,_=(p+v)/2,y=d-h,m=v-p,x=y*y+m*m,b=i-o,w=h*v-d*p,M=(m<0?-1:1)*n_(Jg(0,b*b*x-w*w)),T=(w*m-y*M)/x,N=(-w*y-m*M)/x,k=(w*m+y*M)/x,S=(-w*y+m*M)/x,E=T-g,A=N-_,C=k-g,z=S-_;return E*E+A*A>C*C+z*z&&(T=k,N=S),{cx:T,cy:N,x01:-f,y01:-l,x11:T*(i/b-1),y11:N*(i/b-1)}}function ic(t){this._context=t}function oc(t){return new ic(t)}function uc(t){return t[0]}function ac(t){return t[1]}function cc(){function t(t){var a,c,s,f=t.length,l=!1;for(null==i&&(u=o(s=ee())),a=0;a<=f;++a)!(a<f&&r(c=t[a],a,t))===l&&((l=!l)?u.lineStart():u.lineEnd()),l&&u.point(+n(c,a,t),+e(c,a,t));if(s)return u=null,s+""||null}var n=uc,e=ac,r=Ga(!0),i=null,o=oc,u=null;return t.x=function(e){return arguments.length?(n="function"==typeof e?e:Ga(+e),t):n},t.y=function(n){return arguments.length?(e="function"==typeof n?n:Ga(+n),t):e},t.defined=function(n){return arguments.length?(r="function"==typeof n?n:Ga(!!n),t):r},t.curve=function(n){return arguments.length?(o=n,null!=i&&(u=o(i)),t):o},t.context=function(n){return arguments.length?(null==n?i=u=null:u=o(i=n),t):i},t}function sc(){function t(t){var n,f,l,h,p,d=t.length,v=!1,g=new Array(d),_=new Array(d);for(null==a&&(s=c(p=ee())),n=0;n<=d;++n){if(!(n<d&&u(h=t[n],n,t))===v)if(v=!v)f=n,s.areaStart(),s.lineStart();else{for(s.lineEnd(),s.lineStart(),l=n-1;l>=f;--l)s.point(g[l],_[l]);s.lineEnd(),s.areaEnd()}v&&(g[n]=+e(h,n,t),_[n]=+i(h,n,t),s.point(r?+r(h,n,t):g[n],o?+o(h,n,t):_[n]))}if(p)return s=null,p+""||null}function n(){return cc().defined(u).curve(c).context(a)}var e=uc,r=null,i=Ga(0),o=ac,u=Ga(!0),a=null,c=oc,s=null;return t.x=function(n){return arguments.length?(e="function"==typeof n?n:Ga(+n),r=null,t):e},t.x0=function(n){return arguments.length?(e="function"==typeof n?n:Ga(+n),t):e},t.x1=function(n){return arguments.length?(r=null==n?null:"function"==typeof n?n:Ga(+n),t):r},t.y=function(n){return arguments.length?(i="function"==typeof n?n:Ga(+n),o=null,t):i},t.y0=function(n){return arguments.length?(i="function"==typeof n?n:Ga(+n),t):i},t.y1=function(n){return arguments.length?(o=null==n?null:"function"==typeof n?n:Ga(+n),t):o},t.lineX0=t.lineY0=function(){return n().x(e).y(i)},t.lineY1=function(){return n().x(e).y(o)},t.lineX1=function(){return n().x(r).y(i)},t.defined=function(n){return arguments.length?(u="function"==typeof n?n:Ga(!!n),t):u},t.curve=function(n){return arguments.length?(c=n,null!=a&&(s=c(a)),t):c},t.context=function(n){return arguments.length?(null==n?a=s=null:s=c(a=n),t):a},t}function fc(t,n){return n<t?-1:n>t?1:n>=t?0:NaN}function lc(t){return t}function hc(t){this._curve=t}function pc(t){function n(n){return new hc(t(n))}return n._curve=t,n}function dc(t){var n=t.curve;return t.angle=t.x,delete t.x,t.radius=t.y,delete t.y,t.curve=function(t){return arguments.length?n(pc(t)):n()._curve},t}function vc(){return dc(cc().curve(u_))}function gc(){var t=sc().curve(u_),n=t.curve,e=t.lineX0,r=t.lineX1,i=t.lineY0,o=t.lineY1;return t.angle=t.x,delete t.x,t.startAngle=t.x0,delete t.x0,t.endAngle=t.x1,delete t.x1,t.radius=t.y,delete t.y,t.innerRadius=t.y0,delete t.y0,t.outerRadius=t.y1,delete t.y1,t.lineStartAngle=function(){return dc(e())},delete t.lineX0,t.lineEndAngle=function(){return dc(r())},delete t.lineX1,t.lineInnerRadius=function(){return dc(i())},delete t.lineY0,t.lineOuterRadius=function(){return dc(o())},delete t.lineY1,t.curve=function(t){return arguments.length?n(pc(t)):n()._curve},t}function _c(t,n){return[(n=+n)*Math.cos(t-=Math.PI/2),n*Math.sin(t)]}function yc(t){return t.source}function mc(t){return t.target}function xc(t){function n(){var n,a=a_.call(arguments),c=e.apply(this,a),s=r.apply(this,a);if(u||(u=n=ee()),t(u,+i.apply(this,(a[0]=c,a)),+o.apply(this,a),+i.apply(this,(a[0]=s,a)),+o.apply(this,a)),n)return u=null,n+""||null}var e=yc,r=mc,i=uc,o=ac,u=null;return n.source=function(t){return arguments.length?(e=t,n):e},n.target=function(t){return arguments.length?(r=t,n):r},n.x=function(t){return arguments.length?(i="function"==typeof t?t:Ga(+t),n):i},n.y=function(t){return arguments.length?(o="function"==typeof t?t:Ga(+t),n):o},n.context=function(t){return arguments.length?(u=null==t?null:t,n):u},n}function bc(t,n,e,r,i){t.moveTo(n,e),t.bezierCurveTo(n=(n+r)/2,e,n,i,r,i)}function wc(t,n,e,r,i){t.moveTo(n,e),t.bezierCurveTo(n,e=(e+i)/2,r,e,r,i)}function Mc(t,n,e,r,i){var o=_c(n,e),u=_c(n,e=(e+i)/2),a=_c(r,e),c=_c(r,i);t.moveTo(o[0],o[1]),t.bezierCurveTo(u[0],u[1],a[0],a[1],c[0],c[1])}function Tc(){}function Nc(t,n,e){t._context.bezierCurveTo((2*t._x0+t._x1)/3,(2*t._y0+t._y1)/3,(t._x0+2*t._x1)/3,(t._y0+2*t._y1)/3,(t._x0+4*t._x1+n)/6,(t._y0+4*t._y1+e)/6)}function kc(t){this._context=t}function Sc(t){this._context=t}function Ec(t){this._context=t}function Ac(t,n){this._basis=new kc(t),this._beta=n}function Cc(t,n,e){t._context.bezierCurveTo(t._x1+t._k*(t._x2-t._x0),t._y1+t._k*(t._y2-t._y0),t._x2+t._k*(t._x1-n),t._y2+t._k*(t._y1-e),t._x2,t._y2)}function zc(t,n){this._context=t,this._k=(1-n)/6}function Pc(t,n){this._context=t,this._k=(1-n)/6}function Rc(t,n){this._context=t,this._k=(1-n)/6}function Lc(t,n,e){var r=t._x1,i=t._y1,o=t._x2,u=t._y2;if(t._l01_a>e_){var a=2*t._l01_2a+3*t._l01_a*t._l12_a+t._l12_2a,c=3*t._l01_a*(t._l01_a+t._l12_a);r=(r*a-t._x0*t._l12_2a+t._x2*t._l01_2a)/c,i=(i*a-t._y0*t._l12_2a+t._y2*t._l01_2a)/c}if(t._l23_a>e_){var s=2*t._l23_2a+3*t._l23_a*t._l12_a+t._l12_2a,f=3*t._l23_a*(t._l23_a+t._l12_a);o=(o*s+t._x1*t._l23_2a-n*t._l12_2a)/f,u=(u*s+t._y1*t._l23_2a-e*t._l12_2a)/f}t._context.bezierCurveTo(r,i,o,u,t._x2,t._y2)}function qc(t,n){this._context=t,this._alpha=n}function Dc(t,n){this._context=t,this._alpha=n}function Uc(t,n){this._context=t,this._alpha=n}function Oc(t){this._context=t}function Fc(t){return t<0?-1:1}function Ic(t,n,e){var r=t._x1-t._x0,i=n-t._x1,o=(t._y1-t._y0)/(r||i<0&&-0),u=(e-t._y1)/(i||r<0&&-0),a=(o*i+u*r)/(r+i);return(Fc(o)+Fc(u))*Math.min(Math.abs(o),Math.abs(u),.5*Math.abs(a))||0}function Yc(t,n){var e=t._x1-t._x0;return e?(3*(t._y1-t._y0)/e-n)/2:n}function Bc(t,n,e){var r=t._x0,i=t._y0,o=t._x1,u=t._y1,a=(o-r)/3;t._context.bezierCurveTo(r+a,i+a*n,o-a,u-a*e,o,u)}function Hc(t){this._context=t}function jc(t){this._context=new Xc(t)}function Xc(t){this._context=t}function Vc(t){this._context=t}function $c(t){var n,e,r=t.length-1,i=new Array(r),o=new Array(r),u=new Array(r);for(i[0]=0,o[0]=2,u[0]=t[0]+2*t[1],n=1;n<r-1;++n)i[n]=1,o[n]=4,u[n]=4*t[n]+2*t[n+1];for(i[r-1]=2,o[r-1]=7,u[r-1]=8*t[r-1]+t[r],n=1;n<r;++n)e=i[n]/o[n-1],o[n]-=e,u[n]-=e*u[n-1];for(i[r-1]=u[r-1]/o[r-1],n=r-2;n>=0;--n)i[n]=(u[n]-i[n+1])/o[n];for(o[r-1]=(t[r]+i[r-1])/2,n=0;n<r-1;++n)o[n]=2*t[n+1]-i[n+1];return[i,o]}function Wc(t,n){this._context=t,this._t=n}function Zc(t,n){if((i=t.length)>1)for(var e,r,i,o=1,u=t[n[0]],a=u.length;o<i;++o)for(r=u,u=t[n[o]],e=0;e<a;++e)u[e][1]+=u[e][0]=isNaN(r[e][1])?r[e][0]:r[e][1]}function Gc(t){for(var n=t.length,e=new Array(n);--n>=0;)e[n]=n;return e}function Qc(t,n){return t[n]}function Jc(t){var n=t.map(Kc);return Gc(t).sort(function(t,e){return n[t]-n[e]})}function Kc(t){for(var n,e=0,r=-1,i=t.length;++r<i;)(n=+t[r][1])&&(e+=n);return e}function ts(t){return function(){return t}}function ns(t){return t[0]}function es(t){return t[1]}function rs(){this._=null}function is(t){t.U=t.C=t.L=t.R=t.P=t.N=null}function os(t,n){var e=n,r=n.R,i=e.U;i?i.L===e?i.L=r:i.R=r:t._=r,r.U=i,e.U=r,e.R=r.L,e.R&&(e.R.U=e),r.L=e}function us(t,n){var e=n,r=n.L,i=e.U;i?i.L===e?i.L=r:i.R=r:t._=r,r.U=i,e.U=r,e.L=r.R,e.L&&(e.L.U=e),r.R=e}function as(t){for(;t.L;)t=t.L;return t}function cs(t,n,e,r){var i=[null,null],o=D_.push(i)-1;return i.left=t,i.right=n,e&&fs(i,t,n,e),r&&fs(i,n,t,r),L_[t.index].halfedges.push(o),L_[n.index].halfedges.push(o),i}function ss(t,n,e){var r=[n,e];return r.left=t,r}function fs(t,n,e,r){t[0]||t[1]?t.left===e?t[1]=r:t[0]=r:(t[0]=r,t.left=n,t.right=e)}function ls(t,n,e,r,i){var o,u=t[0],a=t[1],c=u[0],s=u[1],f=0,l=1,h=a[0]-c,p=a[1]-s;if(o=n-c,h||!(o>0)){if(o/=h,h<0){if(o<f)return;o<l&&(l=o)}else if(h>0){if(o>l)return;o>f&&(f=o)}if(o=r-c,h||!(o<0)){if(o/=h,h<0){if(o>l)return;o>f&&(f=o)}else if(h>0){if(o<f)return;o<l&&(l=o)}if(o=e-s,p||!(o>0)){if(o/=p,p<0){if(o<f)return;o<l&&(l=o)}else if(p>0){if(o>l)return;o>f&&(f=o)}if(o=i-s,p||!(o<0)){if(o/=p,p<0){if(o>l)return;o>f&&(f=o)}else if(p>0){if(o<f)return;o<l&&(l=o)}return!(f>0||l<1)||(f>0&&(t[0]=[c+f*h,s+f*p]),l<1&&(t[1]=[c+l*h,s+l*p]),!0)}}}}}function hs(t,n,e,r,i){var o=t[1];if(o)return!0;var u,a,c=t[0],s=t.left,f=t.right,l=s[0],h=s[1],p=f[0],d=f[1],v=(l+p)/2,g=(h+d)/2;if(d===h){if(v<n||v>=r)return;if(l>p){if(c){if(c[1]>=i)return}else c=[v,e];o=[v,i]}else{if(c){if(c[1]<e)return}else c=[v,i];o=[v,e]}}else if(u=(l-p)/(d-h),a=g-u*v,u<-1||u>1)if(l>p){if(c){if(c[1]>=i)return}else c=[(e-a)/u,e];o=[(i-a)/u,i]}else{if(c){if(c[1]<e)return}else c=[(i-a)/u,i];o=[(e-a)/u,e]}else if(h<d){if(c){if(c[0]>=r)return}else c=[n,u*n+a];o=[r,u*r+a]}else{if(c){if(c[0]<n)return}else c=[r,u*r+a];o=[n,u*n+a]}return t[0]=c,t[1]=o,!0}function ps(t,n){var e=t.site,r=n.left,i=n.right;return e===i&&(i=r,r=e),i?Math.atan2(i[1]-r[1],i[0]-r[0]):(e===r?(r=n[1],i=n[0]):(r=n[0],i=n[1]),Math.atan2(r[0]-i[0],i[1]-r[1]))}function ds(t,n){return n[+(n.left!==t.site)]}function vs(t,n){return n[+(n.left===t.site)]}function gs(t){var n=t.P,e=t.N;if(n&&e){var r=n.site,i=t.site,o=e.site;if(r!==o){var u=i[0],a=i[1],c=r[0]-u,s=r[1]-a,f=o[0]-u,l=o[1]-a,h=2*(c*l-s*f);if(!(h>=-I_)){var p=c*c+s*s,d=f*f+l*l,v=(l*p-s*d)/h,g=(c*d-f*p)/h,_=U_.pop()||new function(){is(this),this.x=this.y=this.arc=this.site=this.cy=null};_.arc=t,_.site=i,_.x=v+u,_.y=(_.cy=g+a)+Math.sqrt(v*v+g*g),t.circle=_;for(var y=null,m=q_._;m;)if(_.y<m.y||_.y===m.y&&_.x<=m.x){if(!m.L){y=m.P;break}m=m.L}else{if(!m.R){y=m;break}m=m.R}q_.insert(y,_),y||(P_=_)}}}}function _s(t){var n=t.circle;n&&(n.P||(P_=n.N),q_.remove(n),U_.push(n),is(n),t.circle=null)}function ys(t){var n=O_.pop()||new function(){is(this),this.edge=this.site=this.circle=null};return n.site=t,n}function ms(t){_s(t),R_.remove(t),O_.push(t),is(t)}function xs(t){var n=t.circle,e=n.x,r=n.cy,i=[e,r],o=t.P,u=t.N,a=[t];ms(t);for(var c=o;c.circle&&Math.abs(e-c.circle.x)<F_&&Math.abs(r-c.circle.cy)<F_;)o=c.P,a.unshift(c),ms(c),c=o;a.unshift(c),_s(c);for(var s=u;s.circle&&Math.abs(e-s.circle.x)<F_&&Math.abs(r-s.circle.cy)<F_;)u=s.N,a.push(s),ms(s),s=u;a.push(s),_s(s);var f,l=a.length;for(f=1;f<l;++f)s=a[f],c=a[f-1],fs(s.edge,c.site,s.site,i);c=a[0],(s=a[l-1]).edge=cs(c.site,s.site,null,i),gs(c),gs(s)}function bs(t){for(var n,e,r,i,o=t[0],u=t[1],a=R_._;a;)if((r=ws(a,u)-o)>F_)a=a.L;else{if(!((i=o-function(t,n){var e=t.N;if(e)return ws(e,n);var r=t.site;return r[1]===n?r[0]:1/0}(a,u))>F_)){r>-F_?(n=a.P,e=a):i>-F_?(n=a,e=a.N):n=e=a;break}if(!a.R){n=a;break}a=a.R}(function(t){L_[t.index]={site:t,halfedges:[]}})(t);var c=ys(t);if(R_.insert(n,c),n||e){if(n===e)return _s(n),e=ys(n.site),R_.insert(c,e),c.edge=e.edge=cs(n.site,c.site),gs(n),void gs(e);if(e){_s(n),_s(e);var s=n.site,f=s[0],l=s[1],h=t[0]-f,p=t[1]-l,d=e.site,v=d[0]-f,g=d[1]-l,_=2*(h*g-p*v),y=h*h+p*p,m=v*v+g*g,x=[(g*y-p*m)/_+f,(h*m-v*y)/_+l];fs(e.edge,s,d,x),c.edge=cs(s,t,null,x),e.edge=cs(t,d,null,x),gs(n),gs(e)}else c.edge=cs(n.site,c.site)}}function ws(t,n){var e=t.site,r=e[0],i=e[1],o=i-n;if(!o)return r;var u=t.P;if(!u)return-1/0;var a=(e=u.site)[0],c=e[1],s=c-n;if(!s)return a;var f=a-r,l=1/o-1/s,h=f/s;return l?(-h+Math.sqrt(h*h-2*l*(f*f/(-2*s)-c+s/2+i-o/2)))/l+r:(r+a)/2}function Ms(t,n,e){return(t[0]-e[0])*(n[1]-t[1])-(t[0]-n[0])*(e[1]-t[1])}function Ts(t,n){return n[1]-t[1]||n[0]-t[0]}function Ns(t,n){var e,r,i,o=t.sort(Ts).pop();for(D_=[],L_=new Array(t.length),R_=new rs,q_=new rs;;)if(i=P_,o&&(!i||o[1]<i.y||o[1]===i.y&&o[0]<i.x))o[0]===e&&o[1]===r||(bs(o),e=o[0],r=o[1]),o=t.pop();else{if(!i)break;xs(i.arc)}if(function(){for(var t,n,e,r,i=0,o=L_.length;i<o;++i)if((t=L_[i])&&(r=(n=t.halfedges).length)){var u=new Array(r),a=new Array(r);for(e=0;e<r;++e)u[e]=e,a[e]=ps(t,D_[n[e]]);for(u.sort(function(t,n){return a[n]-a[t]}),e=0;e<r;++e)a[e]=n[u[e]];for(e=0;e<r;++e)n[e]=a[e]}}(),n){var u=+n[0][0],a=+n[0][1],c=+n[1][0],s=+n[1][1];(function(t,n,e,r){for(var i,o=D_.length;o--;)hs(i=D_[o],t,n,e,r)&&ls(i,t,n,e,r)&&(Math.abs(i[0][0]-i[1][0])>F_||Math.abs(i[0][1]-i[1][1])>F_)||delete D_[o]})(u,a,c,s),function(t,n,e,r){var i,o,u,a,c,s,f,l,h,p,d,v,g=L_.length,_=!0;for(i=0;i<g;++i)if(o=L_[i]){for(u=o.site,a=(c=o.halfedges).length;a--;)D_[c[a]]||c.splice(a,1);for(a=0,s=c.length;a<s;)d=(p=vs(o,D_[c[a]]))[0],v=p[1],l=(f=ds(o,D_[c[++a%s]]))[0],h=f[1],(Math.abs(d-l)>F_||Math.abs(v-h)>F_)&&(c.splice(a,0,D_.push(ss(u,p,Math.abs(d-t)<F_&&r-v>F_?[t,Math.abs(l-t)<F_?h:r]:Math.abs(v-r)<F_&&e-d>F_?[Math.abs(h-r)<F_?l:e,r]:Math.abs(d-e)<F_&&v-n>F_?[e,Math.abs(l-e)<F_?h:n]:Math.abs(v-n)<F_&&d-t>F_?[Math.abs(h-n)<F_?l:t,n]:null))-1),++s);s&&(_=!1)}if(_){var y,m,x,b=1/0;for(i=0,_=null;i<g;++i)(o=L_[i])&&(x=(y=(u=o.site)[0]-t)*y+(m=u[1]-n)*m)<b&&(b=x,_=o);if(_){var w=[t,n],M=[t,r],T=[e,r],N=[e,n];_.halfedges.push(D_.push(ss(u=_.site,w,M))-1,D_.push(ss(u,M,T))-1,D_.push(ss(u,T,N))-1,D_.push(ss(u,N,w))-1)}}for(i=0;i<g;++i)(o=L_[i])&&(o.halfedges.length||delete L_[i])}(u,a,c,s)}this.edges=D_,this.cells=L_,R_=q_=D_=L_=null}function ks(t){return function(){return t}}function Ss(t,n,e){this.k=t,this.x=n,this.y=e}function Es(t){return t.__zoom||Y_}function As(){t.event.stopImmediatePropagation()}function Cs(){t.event.preventDefault(),t.event.stopImmediatePropagation()}function zs(){return!t.event.button}function Ps(){var t,n,e=this;return e instanceof SVGElement?(t=(e=e.ownerSVGElement||e).width.baseVal.value,n=e.height.baseVal.value):(t=e.clientWidth,n=e.clientHeight),[[0,0],[t,n]]}function Rs(){return this.__zoom||Y_}function Ls(){return-t.event.deltaY*(t.event.deltaMode?120:1)/500}function qs(){return"ontouchstart"in this}function Ds(t,n,e){var r=t.invertX(n[0][0])-e[0][0],i=t.invertX(n[1][0])-e[1][0],o=t.invertY(n[0][1])-e[0][1],u=t.invertY(n[1][1])-e[1][1];return t.translate(i>r?(r+i)/2:Math.min(0,r)||Math.max(0,i),u>o?(o+u)/2:Math.min(0,o)||Math.max(0,u))}var Us=e(n),Os=Us.right,Fs=Us.left,Is=Array.prototype,Ys=Is.slice,Bs=Is.map,Hs=Math.sqrt(50),js=Math.sqrt(10),Xs=Math.sqrt(2),Vs=Array.prototype.slice,$s=1,Ws=2,Zs=3,Gs=4,Qs=1e-6,Js={value:function(){}};k.prototype=N.prototype={constructor:k,on:function(t,n){var e,r=this._,i=function(t,n){return t.trim().split(/^|\s+/).map(function(t){var e="",r=t.indexOf(".");if(r>=0&&(e=t.slice(r+1),t=t.slice(0,r)),t&&!n.hasOwnProperty(t))throw new Error("unknown type: "+t);return{type:t,name:e}})}(t+"",r),o=-1,u=i.length;{if(!(arguments.length<2)){if(null!=n&&"function"!=typeof n)throw new Error("invalid callback: "+n);for(;++o<u;)if(e=(t=i[o]).type)r[e]=S(r[e],t.name,n);else if(null==n)for(e in r)r[e]=S(r[e],t.name,null);return this}for(;++o<u;)if((e=(t=i[o]).type)&&(e=function(t,n){for(var e,r=0,i=t.length;r<i;++r)if((e=t[r]).name===n)return e.value}(r[e],t.name)))return e}},copy:function(){var t={},n=this._;for(var e in n)t[e]=n[e].slice();return new k(t)},call:function(t,n){if((e=arguments.length-2)>0)for(var e,r,i=new Array(e),o=0;o<e;++o)i[o]=arguments[o+2];if(!this._.hasOwnProperty(t))throw new Error("unknown type: "+t);for(o=0,e=(r=this._[t]).length;o<e;++o)r[o].value.apply(n,i)},apply:function(t,n,e){if(!this._.hasOwnProperty(t))throw new Error("unknown type: "+t);for(var r=this._[t],i=0,o=r.length;i<o;++i)r[i].value.apply(n,e)}};var Ks="http://www.w3.org/1999/xhtml",tf={svg:"http://www.w3.org/2000/svg",xhtml:Ks,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"},nf=function(t){return function(){return this.matches(t)}};if("undefined"!=typeof document){var ef=document.documentElement;if(!ef.matches){var rf=ef.webkitMatchesSelector||ef.msMatchesSelector||ef.mozMatchesSelector||ef.oMatchesSelector;nf=function(t){return function(){return rf.call(this,t)}}}}var of=nf;q.prototype={constructor:q,appendChild:function(t){return this._parent.insertBefore(t,this._next)},insertBefore:function(t,n){return this._parent.insertBefore(t,n)},querySelector:function(t){return this._parent.querySelector(t)},querySelectorAll:function(t){return this._parent.querySelectorAll(t)}};var uf="$";H.prototype={add:function(t){this._names.indexOf(t)<0&&(this._names.push(t),this._node.setAttribute("class",this._names.join(" ")))},remove:function(t){var n=this._names.indexOf(t);n>=0&&(this._names.splice(n,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(t){return this._names.indexOf(t)>=0}};var af={};if(t.event=null,"undefined"!=typeof document){"onmouseenter"in document.documentElement||(af={mouseenter:"mouseover",mouseleave:"mouseout"})}var cf=[null];ut.prototype=at.prototype={constructor:ut,select:function(t){"function"!=typeof t&&(t=z(t));for(var n=this._groups,e=n.length,r=new Array(e),i=0;i<e;++i)for(var o,u,a=n[i],c=a.length,s=r[i]=new Array(c),f=0;f<c;++f)(o=a[f])&&(u=t.call(o,o.__data__,f,a))&&("__data__"in o&&(u.__data__=o.__data__),s[f]=u);return new ut(r,this._parents)},selectAll:function(t){"function"!=typeof t&&(t=R(t));for(var n=this._groups,e=n.length,r=[],i=[],o=0;o<e;++o)for(var u,a=n[o],c=a.length,s=0;s<c;++s)(u=a[s])&&(r.push(t.call(u,u.__data__,s,a)),i.push(u));return new ut(r,i)},filter:function(t){"function"!=typeof t&&(t=of(t));for(var n=this._groups,e=n.length,r=new Array(e),i=0;i<e;++i)for(var o,u=n[i],a=u.length,c=r[i]=[],s=0;s<a;++s)(o=u[s])&&t.call(o,o.__data__,s,u)&&c.push(o);return new ut(r,this._parents)},data:function(t,n){if(!t)return p=new Array(this.size()),s=-1,this.each(function(t){p[++s]=t}),p;var e=n?U:D,r=this._parents,i=this._groups;"function"!=typeof t&&(t=function(t){return function(){return t}}(t));for(var o=i.length,u=new Array(o),a=new Array(o),c=new Array(o),s=0;s<o;++s){var f=r[s],l=i[s],h=l.length,p=t.call(f,f&&f.__data__,s,r),d=p.length,v=a[s]=new Array(d),g=u[s]=new Array(d);e(f,l,v,g,c[s]=new Array(h),p,n);for(var _,y,m=0,x=0;m<d;++m)if(_=v[m]){for(m>=x&&(x=m+1);!(y=g[x])&&++x<d;);_._next=y||null}}return u=new ut(u,r),u._enter=a,u._exit=c,u},enter:function(){return new ut(this._enter||this._groups.map(L),this._parents)},exit:function(){return new ut(this._exit||this._groups.map(L),this._parents)},merge:function(t){for(var n=this._groups,e=t._groups,r=n.length,i=e.length,o=Math.min(r,i),u=new Array(r),a=0;a<o;++a)for(var c,s=n[a],f=e[a],l=s.length,h=u[a]=new Array(l),p=0;p<l;++p)(c=s[p]||f[p])&&(h[p]=c);for(;a<r;++a)u[a]=n[a];return new ut(u,this._parents)},order:function(){for(var t=this._groups,n=-1,e=t.length;++n<e;)for(var r,i=t[n],o=i.length-1,u=i[o];--o>=0;)(r=i[o])&&(u&&u!==r.nextSibling&&u.parentNode.insertBefore(r,u),u=r);return this},sort:function(t){function n(n,e){return n&&e?t(n.__data__,e.__data__):!n-!e}t||(t=O);for(var e=this._groups,r=e.length,i=new Array(r),o=0;o<r;++o){for(var u,a=e[o],c=a.length,s=i[o]=new Array(c),f=0;f<c;++f)(u=a[f])&&(s[f]=u);s.sort(n)}return new ut(i,this._parents).order()},call:function(){var t=arguments[0];return arguments[0]=this,t.apply(null,arguments),this},nodes:function(){var t=new Array(this.size()),n=-1;return this.each(function(){t[++n]=this}),t},node:function(){for(var t=this._groups,n=0,e=t.length;n<e;++n)for(var r=t[n],i=0,o=r.length;i<o;++i){var u=r[i];if(u)return u}return null},size:function(){var t=0;return this.each(function(){++t}),t},empty:function(){return!this.node()},each:function(t){for(var n=this._groups,e=0,r=n.length;e<r;++e)for(var i,o=n[e],u=0,a=o.length;u<a;++u)(i=o[u])&&t.call(i,i.__data__,u,o);return this},attr:function(t,n){var e=E(t);if(arguments.length<2){var r=this.node();return e.local?r.getAttributeNS(e.space,e.local):r.getAttribute(e)}return this.each((null==n?e.local?function(t){return function(){this.removeAttributeNS(t.space,t.local)}}:function(t){return function(){this.removeAttribute(t)}}:"function"==typeof n?e.local?function(t,n){return function(){var e=n.apply(this,arguments);null==e?this.removeAttributeNS(t.space,t.local):this.setAttributeNS(t.space,t.local,e)}}:function(t,n){return function(){var e=n.apply(this,arguments);null==e?this.removeAttribute(t):this.setAttribute(t,e)}}:e.local?function(t,n){return function(){this.setAttributeNS(t.space,t.local,n)}}:function(t,n){return function(){this.setAttribute(t,n)}})(e,n))},style:function(t,n,e){return arguments.length>1?this.each((null==n?function(t){return function(){this.style.removeProperty(t)}}:"function"==typeof n?function(t,n,e){return function(){var r=n.apply(this,arguments);null==r?this.style.removeProperty(t):this.style.setProperty(t,r,e)}}:function(t,n,e){return function(){this.style.setProperty(t,n,e)}})(t,n,null==e?"":e)):I(this.node(),t)},property:function(t,n){return arguments.length>1?this.each((null==n?function(t){return function(){delete this[t]}}:"function"==typeof n?function(t,n){return function(){var e=n.apply(this,arguments);null==e?delete this[t]:this[t]=e}}:function(t,n){return function(){this[t]=n}})(t,n)):this.node()[t]},classed:function(t,n){var e=Y(t+"");if(arguments.length<2){for(var r=B(this.node()),i=-1,o=e.length;++i<o;)if(!r.contains(e[i]))return!1;return!0}return this.each(("function"==typeof n?function(t,n){return function(){(n.apply(this,arguments)?j:X)(this,t)}}:n?function(t){return function(){j(this,t)}}:function(t){return function(){X(this,t)}})(e,n))},text:function(t){return arguments.length?this.each(null==t?V:("function"==typeof t?function(t){return function(){var n=t.apply(this,arguments);this.textContent=null==n?"":n}}:function(t){return function(){this.textContent=t}})(t)):this.node().textContent},html:function(t){return arguments.length?this.each(null==t?$:("function"==typeof t?function(t){return function(){var n=t.apply(this,arguments);this.innerHTML=null==n?"":n}}:function(t){return function(){this.innerHTML=t}})(t)):this.node().innerHTML},raise:function(){return this.each(W)},lower:function(){return this.each(Z)},append:function(t){var n="function"==typeof t?t:A(t);return this.select(function(){return this.appendChild(n.apply(this,arguments))})},insert:function(t,n){var e="function"==typeof t?t:A(t),r=null==n?G:"function"==typeof n?n:z(n);return this.select(function(){return this.insertBefore(e.apply(this,arguments),r.apply(this,arguments)||null)})},remove:function(){return this.each(Q)},clone:function(t){return this.select(t?K:J)},datum:function(t){return arguments.length?this.property("__data__",t):this.node().__data__},on:function(t,n,e){var r,i,o=function(t){return t.trim().split(/^|\s+/).map(function(t){var n="",e=t.indexOf(".");return e>=0&&(n=t.slice(e+1),t=t.slice(0,e)),{type:t,name:n}})}(t+""),u=o.length;if(!(arguments.length<2)){for(a=n?rt:et,null==e&&(e=!1),r=0;r<u;++r)this.each(a(o[r],n,e));return this}var a=this.node().__on;if(a)for(var c,s=0,f=a.length;s<f;++s)for(r=0,c=a[s];r<u;++r)if((i=o[r]).type===c.type&&i.name===c.name)return c.value},dispatch:function(t,n){return this.each(("function"==typeof n?function(t,n){return function(){return ot(this,t,n.apply(this,arguments))}}:function(t,n){return function(){return ot(this,t,n)}})(t,n))}};var sf=0;ft.prototype=st.prototype={constructor:ft,get:function(t){for(var n=this._;!(n in t);)if(!(t=t.parentNode))return;return t[n]},set:function(t,n){return t[this._]=n},remove:function(t){return this._ in t&&delete t[this._]},toString:function(){return this._}},xt.prototype.on=function(){var t=this._.on.apply(this._,arguments);return t===this._?this:t};var ff="\\s*([+-]?\\d+)\\s*",lf="\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)\\s*",hf="\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)%\\s*",pf=/^#([0-9a-f]{3})$/,df=/^#([0-9a-f]{6})$/,vf=new RegExp("^rgb\\("+[ff,ff,ff]+"\\)$"),gf=new RegExp("^rgb\\("+[hf,hf,hf]+"\\)$"),_f=new RegExp("^rgba\\("+[ff,ff,ff,lf]+"\\)$"),yf=new RegExp("^rgba\\("+[hf,hf,hf,lf]+"\\)$"),mf=new RegExp("^hsl\\("+[lf,hf,hf]+"\\)$"),xf=new RegExp("^hsla\\("+[lf,hf,hf,lf]+"\\)$"),bf={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};Nt(St,Et,{displayable:function(){return this.rgb().displayable()},toString:function(){return this.rgb()+""}}),Nt(Rt,Pt,kt(St,{brighter:function(t){return t=null==t?1/.7:Math.pow(1/.7,t),new Rt(this.r*t,this.g*t,this.b*t,this.opacity)},darker:function(t){return t=null==t?.7:Math.pow(.7,t),new Rt(this.r*t,this.g*t,this.b*t,this.opacity)},rgb:function(){return this},displayable:function(){return 0<=this.r&&this.r<=255&&0<=this.g&&this.g<=255&&0<=this.b&&this.b<=255&&0<=this.opacity&&this.opacity<=1},toString:function(){var t=this.opacity;return(1===(t=isNaN(t)?1:Math.max(0,Math.min(1,t)))?"rgb(":"rgba(")+Math.max(0,Math.min(255,Math.round(this.r)||0))+", "+Math.max(0,Math.min(255,Math.round(this.g)||0))+", "+Math.max(0,Math.min(255,Math.round(this.b)||0))+(1===t?")":", "+t+")")}})),Nt(Dt,qt,kt(St,{brighter:function(t){return t=null==t?1/.7:Math.pow(1/.7,t),new Dt(this.h,this.s,this.l*t,this.opacity)},darker:function(t){return t=null==t?.7:Math.pow(.7,t),new Dt(this.h,this.s,this.l*t,this.opacity)},rgb:function(){var t=this.h%360+360*(this.h<0),n=isNaN(t)||isNaN(this.s)?0:this.s,e=this.l,r=e+(e<.5?e:1-e)*n,i=2*e-r;return new Rt(Ut(t>=240?t-240:t+120,i,r),Ut(t,i,r),Ut(t<120?t+240:t-120,i,r),this.opacity)},displayable:function(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1}}));var wf=Math.PI/180,Mf=180/Math.PI,Tf=.95047,Nf=1,kf=1.08883,Sf=4/29,Ef=6/29,Af=3*Ef*Ef,Cf=Ef*Ef*Ef;Nt(It,Ft,kt(St,{brighter:function(t){return new It(this.l+18*(null==t?1:t),this.a,this.b,this.opacity)},darker:function(t){return new It(this.l-18*(null==t?1:t),this.a,this.b,this.opacity)},rgb:function(){var t=(this.l+16)/116,n=isNaN(this.a)?t:t+this.a/500,e=isNaN(this.b)?t:t-this.b/200;return t=Nf*Bt(t),n=Tf*Bt(n),e=kf*Bt(e),new Rt(Ht(3.2404542*n-1.5371385*t-.4985314*e),Ht(-.969266*n+1.8760108*t+.041556*e),Ht(.0556434*n-.2040259*t+1.0572252*e),this.opacity)}})),Nt(Vt,Xt,kt(St,{brighter:function(t){return new Vt(this.h,this.c,this.l+18*(null==t?1:t),this.opacity)},darker:function(t){return new Vt(this.h,this.c,this.l-18*(null==t?1:t),this.opacity)},rgb:function(){return Ot(this).rgb()}}));var zf=-.29227,Pf=-.90649,Rf=1.97294,Lf=Rf*Pf,qf=1.78277*Rf,Df=1.78277*zf- -.14861*Pf;Nt(Wt,$t,kt(St,{brighter:function(t){return t=null==t?1/.7:Math.pow(1/.7,t),new Wt(this.h,this.s,this.l*t,this.opacity)},darker:function(t){return t=null==t?.7:Math.pow(.7,t),new Wt(this.h,this.s,this.l*t,this.opacity)},rgb:function(){var t=isNaN(this.h)?0:(this.h+120)*wf,n=+this.l,e=isNaN(this.s)?0:this.s*n*(1-n),r=Math.cos(t),i=Math.sin(t);return new Rt(255*(n+e*(-.14861*r+1.78277*i)),255*(n+e*(zf*r+Pf*i)),255*(n+e*(Rf*r)),this.opacity)}}));var Uf,Of,Ff,If,Yf,Bf,Hf=function t(n){function e(t,n){var e=r((t=Pt(t)).r,(n=Pt(n)).r),i=r(t.g,n.g),o=r(t.b,n.b),u=en(t.opacity,n.opacity);return function(n){return t.r=e(n),t.g=i(n),t.b=o(n),t.opacity=u(n),t+""}}var r=nn(n);return e.gamma=t,e}(1),jf=rn(Gt),Xf=rn(Qt),Vf=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,$f=new RegExp(Vf.source,"g"),Wf=180/Math.PI,Zf={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1},Gf=pn(function(t){return"none"===t?Zf:(Uf||(Uf=document.createElement("DIV"),Of=document.documentElement,Ff=document.defaultView),Uf.style.transform=t,t=Ff.getComputedStyle(Of.appendChild(Uf),null).getPropertyValue("transform"),Of.removeChild(Uf),t=t.slice(7,-1).split(","),hn(+t[0],+t[1],+t[2],+t[3],+t[4],+t[5]))},"px, ","px)","deg)"),Qf=pn(function(t){return null==t?Zf:(If||(If=document.createElementNS("http://www.w3.org/2000/svg","g")),If.setAttribute("transform",t),(t=If.transform.baseVal.consolidate())?(t=t.matrix,hn(t.a,t.b,t.c,t.d,t.e,t.f)):Zf)},", ",")",")"),Jf=Math.SQRT2,Kf=2,tl=4,nl=1e-12,el=gn(tn),rl=gn(en),il=_n(tn),ol=_n(en),ul=yn(tn),al=yn(en),cl=0,sl=0,fl=0,ll=1e3,hl=0,pl=0,dl=0,vl="object"==typeof performance&&performance.now?performance:Date,gl="object"==typeof window&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(t){setTimeout(t,17)};bn.prototype=wn.prototype={constructor:bn,restart:function(t,n,e){if("function"!=typeof t)throw new TypeError("callback is not a function");e=(null==e?mn():+e)+(null==n?0:+n),this._next||Bf===this||(Bf?Bf._next=this:Yf=this,Bf=this),this._call=t,this._time=e,kn()},stop:function(){this._call&&(this._call=null,this._time=1/0,kn())}};var _l=N("start","end","interrupt"),yl=[],ml=0,xl=1,bl=2,wl=3,Ml=4,Tl=5,Nl=6,kl=at.prototype.constructor,Sl=0,El=at.prototype;qn.prototype=Dn.prototype={constructor:qn,select:function(t){var n=this._name,e=this._id;"function"!=typeof t&&(t=z(t));for(var r=this._groups,i=r.length,o=new Array(i),u=0;u<i;++u)for(var a,c,s=r[u],f=s.length,l=o[u]=new Array(f),h=0;h<f;++h)(a=s[h])&&(c=t.call(a,a.__data__,h,s))&&("__data__"in a&&(c.__data__=a.__data__),l[h]=c,En(l[h],n,e,h,l,zn(a,e)));return new qn(o,this._parents,n,e)},selectAll:function(t){var n=this._name,e=this._id;"function"!=typeof t&&(t=R(t));for(var r=this._groups,i=r.length,o=[],u=[],a=0;a<i;++a)for(var c,s=r[a],f=s.length,l=0;l<f;++l)if(c=s[l]){for(var h,p=t.call(c,c.__data__,l,s),d=zn(c,e),v=0,g=p.length;v<g;++v)(h=p[v])&&En(h,n,e,v,p,d);o.push(p),u.push(c)}return new qn(o,u,n,e)},filter:function(t){"function"!=typeof t&&(t=of(t));for(var n=this._groups,e=n.length,r=new Array(e),i=0;i<e;++i)for(var o,u=n[i],a=u.length,c=r[i]=[],s=0;s<a;++s)(o=u[s])&&t.call(o,o.__data__,s,u)&&c.push(o);return new qn(r,this._parents,this._name,this._id)},merge:function(t){if(t._id!==this._id)throw new Error;for(var n=this._groups,e=t._groups,r=n.length,i=e.length,o=Math.min(r,i),u=new Array(r),a=0;a<o;++a)for(var c,s=n[a],f=e[a],l=s.length,h=u[a]=new Array(l),p=0;p<l;++p)(c=s[p]||f[p])&&(h[p]=c);for(;a<r;++a)u[a]=n[a];return new qn(u,this._parents,this._name,this._id)},selection:function(){return new kl(this._groups,this._parents)},transition:function(){for(var t=this._name,n=this._id,e=Un(),r=this._groups,i=r.length,o=0;o<i;++o)for(var u,a=r[o],c=a.length,s=0;s<c;++s)if(u=a[s]){var f=zn(u,n);En(u,t,e,s,a,{time:f.time+f.delay+f.duration,delay:0,duration:f.duration,ease:f.ease})}return new qn(r,this._parents,t,e)},call:El.call,nodes:El.nodes,node:El.node,size:El.size,empty:El.empty,each:El.each,on:function(t,n){var e=this._id;return arguments.length<2?zn(this.node(),e).on.on(t):this.each(function(t,n,e){var r,i,o=function(t){return(t+"").trim().split(/^|\s+/).every(function(t){var n=t.indexOf(".");return n>=0&&(t=t.slice(0,n)),!t||"start"===t})}(n)?An:Cn;return function(){var u=o(this,t),a=u.on;a!==r&&(i=(r=a).copy()).on(n,e),u.on=i}}(e,t,n))},attr:function(t,n){var e=E(t),r="transform"===e?Qf:Ln;return this.attrTween(t,"function"==typeof n?(e.local?function(t,n,e){var r,i,o;return function(){var u,a=e(this);if(null!=a)return(u=this.getAttributeNS(t.space,t.local))===a?null:u===r&&a===i?o:o=n(r=u,i=a);this.removeAttributeNS(t.space,t.local)}}:function(t,n,e){var r,i,o;return function(){var u,a=e(this);if(null!=a)return(u=this.getAttribute(t))===a?null:u===r&&a===i?o:o=n(r=u,i=a);this.removeAttribute(t)}})(e,r,Rn(this,"attr."+t,n)):null==n?(e.local?function(t){return function(){this.removeAttributeNS(t.space,t.local)}}:function(t){return function(){this.removeAttribute(t)}})(e):(e.local?function(t,n,e){var r,i;return function(){var o=this.getAttributeNS(t.space,t.local);return o===e?null:o===r?i:i=n(r=o,e)}}:function(t,n,e){var r,i;return function(){var o=this.getAttribute(t);return o===e?null:o===r?i:i=n(r=o,e)}})(e,r,n+""))},attrTween:function(t,n){var e="attr."+t;if(arguments.length<2)return(e=this.tween(e))&&e._value;if(null==n)return this.tween(e,null);if("function"!=typeof n)throw new Error;var r=E(t);return this.tween(e,(r.local?function(t,n){function e(){var e=this,r=n.apply(e,arguments);return r&&function(n){e.setAttributeNS(t.space,t.local,r(n))}}return e._value=n,e}:function(t,n){function e(){var e=this,r=n.apply(e,arguments);return r&&function(n){e.setAttribute(t,r(n))}}return e._value=n,e})(r,n))},style:function(t,n,e){var r="transform"==(t+="")?Gf:Ln;return null==n?this.styleTween(t,function(t,n){var e,r,i;return function(){var o=I(this,t),u=(this.style.removeProperty(t),I(this,t));return o===u?null:o===e&&u===r?i:i=n(e=o,r=u)}}(t,r)).on("end.style."+t,function(t){return function(){this.style.removeProperty(t)}}(t)):this.styleTween(t,"function"==typeof n?function(t,n,e){var r,i,o;return function(){var u=I(this,t),a=e(this);return null==a&&(this.style.removeProperty(t),a=I(this,t)),u===a?null:u===r&&a===i?o:o=n(r=u,i=a)}}(t,r,Rn(this,"style."+t,n)):function(t,n,e){var r,i;return function(){var o=I(this,t);return o===e?null:o===r?i:i=n(r=o,e)}}(t,r,n+""),e)},styleTween:function(t,n,e){var r="style."+(t+="");if(arguments.length<2)return(r=this.tween(r))&&r._value;if(null==n)return this.tween(r,null);if("function"!=typeof n)throw new Error;return this.tween(r,function(t,n,e){function r(){var r=this,i=n.apply(r,arguments);return i&&function(n){r.style.setProperty(t,i(n),e)}}return r._value=n,r}(t,n,null==e?"":e))},text:function(t){return this.tween("text","function"==typeof t?function(t){return function(){var n=t(this);this.textContent=null==n?"":n}}(Rn(this,"text",t)):function(t){return function(){this.textContent=t}}(null==t?"":t+""))},remove:function(){return this.on("end.remove",function(t){return function(){var n=this.parentNode;for(var e in this.__transition)if(+e!==t)return;n&&n.removeChild(this)}}(this._id))},tween:function(t,n){var e=this._id;if(t+="",arguments.length<2){for(var r,i=zn(this.node(),e).tween,o=0,u=i.length;o<u;++o)if((r=i[o]).name===t)return r.value;return null}return this.each((null==n?function(t,n){var e,r;return function(){var i=Cn(this,t),o=i.tween;if(o!==e)for(var u=0,a=(r=e=o).length;u<a;++u)if(r[u].name===n){(r=r.slice()).splice(u,1);break}i.tween=r}}:function(t,n,e){var r,i;if("function"!=typeof e)throw new Error;return function(){var o=Cn(this,t),u=o.tween;if(u!==r){i=(r=u).slice();for(var a={name:n,value:e},c=0,s=i.length;c<s;++c)if(i[c].name===n){i[c]=a;break}c===s&&i.push(a)}o.tween=i}})(e,t,n))},delay:function(t){var n=this._id;return arguments.length?this.each(("function"==typeof t?function(t,n){return function(){An(this,t).delay=+n.apply(this,arguments)}}:function(t,n){return n=+n,function(){An(this,t).delay=n}})(n,t)):zn(this.node(),n).delay},duration:function(t){var n=this._id;return arguments.length?this.each(("function"==typeof t?function(t,n){return function(){Cn(this,t).duration=+n.apply(this,arguments)}}:function(t,n){return n=+n,function(){Cn(this,t).duration=n}})(n,t)):zn(this.node(),n).duration},ease:function(t){var n=this._id;return arguments.length?this.each(function(t,n){if("function"!=typeof n)throw new Error;return function(){Cn(this,t).ease=n}}(n,t)):zn(this.node(),n).ease}};var Al=function t(n){function e(t){return Math.pow(t,n)}return n=+n,e.exponent=t,e}(3),Cl=function t(n){function e(t){return 1-Math.pow(1-t,n)}return n=+n,e.exponent=t,e}(3),zl=function t(n){function e(t){return((t*=2)<=1?Math.pow(t,n):2-Math.pow(2-t,n))/2}return n=+n,e.exponent=t,e}(3),Pl=Math.PI,Rl=Pl/2,Ll=4/11,ql=6/11,Dl=8/11,Ul=.75,Ol=9/11,Fl=10/11,Il=.9375,Yl=21/22,Bl=63/64,Hl=1/Ll/Ll,jl=function t(n){function e(t){return t*t*((n+1)*t-n)}return n=+n,e.overshoot=t,e}(1.70158),Xl=function t(n){function e(t){return--t*t*((n+1)*t+n)+1}return n=+n,e.overshoot=t,e}(1.70158),Vl=function t(n){function e(t){return((t*=2)<1?t*t*((n+1)*t-n):(t-=2)*t*((n+1)*t+n)+2)/2}return n=+n,e.overshoot=t,e}(1.70158),$l=2*Math.PI,Wl=function t(n,e){function r(t){return n*Math.pow(2,10*--t)*Math.sin((i-t)/e)}var i=Math.asin(1/(n=Math.max(1,n)))*(e/=$l);return r.amplitude=function(n){return t(n,e*$l)},r.period=function(e){return t(n,e)},r}(1,.3),Zl=function t(n,e){function r(t){return 1-n*Math.pow(2,-10*(t=+t))*Math.sin((t+i)/e)}var i=Math.asin(1/(n=Math.max(1,n)))*(e/=$l);return r.amplitude=function(n){return t(n,e*$l)},r.period=function(e){return t(n,e)},r}(1,.3),Gl=function t(n,e){function r(t){return((t=2*t-1)<0?n*Math.pow(2,10*t)*Math.sin((i-t)/e):2-n*Math.pow(2,-10*t)*Math.sin((i+t)/e))/2}var i=Math.asin(1/(n=Math.max(1,n)))*(e/=$l);return r.amplitude=function(n){return t(n,e*$l)},r.period=function(e){return t(n,e)},r}(1,.3),Ql={time:null,delay:0,duration:250,ease:Fn};at.prototype.interrupt=function(t){return this.each(function(){Pn(this,t)})},at.prototype.transition=function(t){var n,e;t instanceof qn?(n=t._id,t=t._name):(n=Un(),(e=Ql).time=mn(),t=null==t?null:t+"");for(var r=this._groups,i=r.length,o=0;o<i;++o)for(var u,a=r[o],c=a.length,s=0;s<c;++s)(u=a[s])&&En(u,t,n,s,a,e||jn(u,n));return new qn(r,this._parents,t,n)};var Jl=[null],Kl={name:"drag"},th={name:"space"},nh={name:"handle"},eh={name:"center"},rh={name:"x",handles:["e","w"].map(Wn),input:function(t,n){return t&&[[t[0],n[0][1]],[t[1],n[1][1]]]},output:function(t){return t&&[t[0][0],t[1][0]]}},ih={name:"y",handles:["n","s"].map(Wn),input:function(t,n){return t&&[[n[0][0],t[0]],[n[1][0],t[1]]]},output:function(t){return t&&[t[0][1],t[1][1]]}},oh={name:"xy",handles:["n","e","s","w","nw","ne","se","sw"].map(Wn),input:function(t){return t},output:function(t){return t}},uh={overlay:"crosshair",selection:"move",n:"ns-resize",e:"ew-resize",s:"ns-resize",w:"ew-resize",nw:"nwse-resize",ne:"nesw-resize",se:"nwse-resize",sw:"nesw-resize"},ah={e:"w",w:"e",nw:"ne",ne:"nw",se:"sw",sw:"se"},ch={n:"s",s:"n",nw:"sw",ne:"se",se:"ne",sw:"nw"},sh={overlay:1,selection:1,n:null,e:1,s:null,w:-1,nw:-1,ne:1,se:1,sw:-1},fh={overlay:1,selection:1,n:-1,e:null,s:1,w:null,nw:-1,ne:-1,se:1,sw:1},lh=Math.cos,hh=Math.sin,ph=Math.PI,dh=ph/2,vh=2*ph,gh=Math.max,_h=Array.prototype.slice,yh=Math.PI,mh=2*yh,xh=mh-1e-6;ne.prototype=ee.prototype={constructor:ne,moveTo:function(t,n){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+n)},closePath:function(){null!==this._x1&&(this._x1=this._x0,this._y1=this._y0,this._+="Z")},lineTo:function(t,n){this._+="L"+(this._x1=+t)+","+(this._y1=+n)},quadraticCurveTo:function(t,n,e,r){this._+="Q"+ +t+","+ +n+","+(this._x1=+e)+","+(this._y1=+r)},bezierCurveTo:function(t,n,e,r,i,o){this._+="C"+ +t+","+ +n+","+ +e+","+ +r+","+(this._x1=+i)+","+(this._y1=+o)},arcTo:function(t,n,e,r,i){t=+t,n=+n,e=+e,r=+r,i=+i;var o=this._x1,u=this._y1,a=e-t,c=r-n,s=o-t,f=u-n,l=s*s+f*f;if(i<0)throw new Error("negative radius: "+i);if(null===this._x1)this._+="M"+(this._x1=t)+","+(this._y1=n);else if(l>1e-6)if(Math.abs(f*a-c*s)>1e-6&&i){var h=e-o,p=r-u,d=a*a+c*c,v=h*h+p*p,g=Math.sqrt(d),_=Math.sqrt(l),y=i*Math.tan((yh-Math.acos((d+l-v)/(2*g*_)))/2),m=y/_,x=y/g;Math.abs(m-1)>1e-6&&(this._+="L"+(t+m*s)+","+(n+m*f)),this._+="A"+i+","+i+",0,0,"+ +(f*h>s*p)+","+(this._x1=t+x*a)+","+(this._y1=n+x*c)}else this._+="L"+(this._x1=t)+","+(this._y1=n);else;},arc:function(t,n,e,r,i,o){t=+t,n=+n;var u=(e=+e)*Math.cos(r),a=e*Math.sin(r),c=t+u,s=n+a,f=1^o,l=o?r-i:i-r;if(e<0)throw new Error("negative radius: "+e);null===this._x1?this._+="M"+c+","+s:(Math.abs(this._x1-c)>1e-6||Math.abs(this._y1-s)>1e-6)&&(this._+="L"+c+","+s),e&&(l<0&&(l=l%mh+mh),l>xh?this._+="A"+e+","+e+",0,1,"+f+","+(t-u)+","+(n-a)+"A"+e+","+e+",0,1,"+f+","+(this._x1=c)+","+(this._y1=s):l>1e-6&&(this._+="A"+e+","+e+",0,"+ +(l>=yh)+","+f+","+(this._x1=t+e*Math.cos(i))+","+(this._y1=n+e*Math.sin(i))))},rect:function(t,n,e,r){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+n)+"h"+ +e+"v"+ +r+"h"+-e+"Z"},toString:function(){return this._}};ce.prototype=se.prototype={constructor:ce,has:function(t){return"$"+t in this},get:function(t){return this["$"+t]},set:function(t,n){return this["$"+t]=n,this},remove:function(t){var n="$"+t;return n in this&&delete this[n]},clear:function(){for(var t in this)"$"===t[0]&&delete this[t]},keys:function(){var t=[];for(var n in this)"$"===n[0]&&t.push(n.slice(1));return t},values:function(){var t=[];for(var n in this)"$"===n[0]&&t.push(this[n]);return t},entries:function(){var t=[];for(var n in this)"$"===n[0]&&t.push({key:n.slice(1),value:this[n]});return t},size:function(){var t=0;for(var n in this)"$"===n[0]&&++t;return t},empty:function(){for(var t in this)if("$"===t[0])return!1;return!0},each:function(t){for(var n in this)"$"===n[0]&&t(this[n],n.slice(1),this)}};var bh=se.prototype;de.prototype=ve.prototype={constructor:de,has:bh.has,add:function(t){return t+="",this["$"+t]=t,this},remove:bh.remove,clear:bh.clear,values:bh.keys,size:bh.size,empty:bh.empty,each:bh.each};var wh={},Mh={},Th=34,Nh=10,kh=13,Sh=_e(","),Eh=Sh.parse,Ah=Sh.parseRows,Ch=Sh.format,zh=Sh.formatRows,Ph=_e("\t"),Rh=Ph.parse,Lh=Ph.parseRows,qh=Ph.format,Dh=Ph.formatRows,Uh=Te.prototype=Ne.prototype;Uh.copy=function(){var t,n,e=new Ne(this._x,this._y,this._x0,this._y0,this._x1,this._y1),r=this._root;if(!r)return e;if(!r.length)return e._root=ke(r),e;for(t=[{source:r,target:e._root=new Array(4)}];r=t.pop();)for(var i=0;i<4;++i)(n=r.source[i])&&(n.length?t.push({source:n,target:r.target[i]=new Array(4)}):r.target[i]=ke(n));return e},Uh.add=function(t){var n=+this._x.call(null,t),e=+this._y.call(null,t);return xe(this.cover(n,e),n,e,t)},Uh.addAll=function(t){var n,e,r,i,o=t.length,u=new Array(o),a=new Array(o),c=1/0,s=1/0,f=-1/0,l=-1/0;for(e=0;e<o;++e)isNaN(r=+this._x.call(null,n=t[e]))||isNaN(i=+this._y.call(null,n))||(u[e]=r,a[e]=i,r<c&&(c=r),r>f&&(f=r),i<s&&(s=i),i>l&&(l=i));for(f<c&&(c=this._x0,f=this._x1),l<s&&(s=this._y0,l=this._y1),this.cover(c,s).cover(f,l),e=0;e<o;++e)xe(this,u[e],a[e],t[e]);return this},Uh.cover=function(t,n){if(isNaN(t=+t)||isNaN(n=+n))return this;var e=this._x0,r=this._y0,i=this._x1,o=this._y1;if(isNaN(e))i=(e=Math.floor(t))+1,o=(r=Math.floor(n))+1;else{if(!(e>t||t>i||r>n||n>o))return this;var u,a,c=i-e,s=this._root;switch(a=(n<(r+o)/2)<<1|t<(e+i)/2){case 0:do{u=new Array(4),u[a]=s,s=u}while(c*=2,i=e+c,o=r+c,t>i||n>o);break;case 1:do{u=new Array(4),u[a]=s,s=u}while(c*=2,e=i-c,o=r+c,e>t||n>o);break;case 2:do{u=new Array(4),u[a]=s,s=u}while(c*=2,i=e+c,r=o-c,t>i||r>n);break;case 3:do{u=new Array(4),u[a]=s,s=u}while(c*=2,e=i-c,r=o-c,e>t||r>n)}this._root&&this._root.length&&(this._root=s)}return this._x0=e,this._y0=r,this._x1=i,this._y1=o,this},Uh.data=function(){var t=[];return this.visit(function(n){if(!n.length)do{t.push(n.data)}while(n=n.next)}),t},Uh.extent=function(t){return arguments.length?this.cover(+t[0][0],+t[0][1]).cover(+t[1][0],+t[1][1]):isNaN(this._x0)?void 0:[[this._x0,this._y0],[this._x1,this._y1]]},Uh.find=function(t,n,e){var r,i,o,u,a,c,s,f=this._x0,l=this._y0,h=this._x1,p=this._y1,d=[],v=this._root;for(v&&d.push(new be(v,f,l,h,p)),null==e?e=1/0:(f=t-e,l=n-e,h=t+e,p=n+e,e*=e);c=d.pop();)if(!(!(v=c.node)||(i=c.x0)>h||(o=c.y0)>p||(u=c.x1)<f||(a=c.y1)<l))if(v.length){var g=(i+u)/2,_=(o+a)/2;d.push(new be(v[3],g,_,u,a),new be(v[2],i,_,g,a),new be(v[1],g,o,u,_),new be(v[0],i,o,g,_)),(s=(n>=_)<<1|t>=g)&&(c=d[d.length-1],d[d.length-1]=d[d.length-1-s],d[d.length-1-s]=c)}else{var y=t-+this._x.call(null,v.data),m=n-+this._y.call(null,v.data),x=y*y+m*m;if(x<e){var b=Math.sqrt(e=x);f=t-b,l=n-b,h=t+b,p=n+b,r=v.data}}return r},Uh.remove=function(t){if(isNaN(o=+this._x.call(null,t))||isNaN(u=+this._y.call(null,t)))return this;var n,e,r,i,o,u,a,c,s,f,l,h,p=this._root,d=this._x0,v=this._y0,g=this._x1,_=this._y1;if(!p)return this;if(p.length)for(;;){if((s=o>=(a=(d+g)/2))?d=a:g=a,(f=u>=(c=(v+_)/2))?v=c:_=c,n=p,!(p=p[l=f<<1|s]))return this;if(!p.length)break;(n[l+1&3]||n[l+2&3]||n[l+3&3])&&(e=n,h=l)}for(;p.data!==t;)if(r=p,!(p=p.next))return this;return(i=p.next)&&delete p.next,r?(i?r.next=i:delete r.next,this):n?(i?n[l]=i:delete n[l],(p=n[0]||n[1]||n[2]||n[3])&&p===(n[3]||n[2]||n[1]||n[0])&&!p.length&&(e?e[h]=p:this._root=p),this):(this._root=i,this)},Uh.removeAll=function(t){for(var n=0,e=t.length;n<e;++n)this.remove(t[n]);return this},Uh.root=function(){return this._root},Uh.size=function(){var t=0;return this.visit(function(n){if(!n.length)do{++t}while(n=n.next)}),t},Uh.visit=function(t){var n,e,r,i,o,u,a=[],c=this._root;for(c&&a.push(new be(c,this._x0,this._y0,this._x1,this._y1));n=a.pop();)if(!t(c=n.node,r=n.x0,i=n.y0,o=n.x1,u=n.y1)&&c.length){var s=(r+o)/2,f=(i+u)/2;(e=c[3])&&a.push(new be(e,s,f,o,u)),(e=c[2])&&a.push(new be(e,r,f,s,u)),(e=c[1])&&a.push(new be(e,s,i,o,f)),(e=c[0])&&a.push(new be(e,r,i,s,f))}return this},Uh.visitAfter=function(t){var n,e=[],r=[];for(this._root&&e.push(new be(this._root,this._x0,this._y0,this._x1,this._y1));n=e.pop();){var i=n.node;if(i.length){var o,u=n.x0,a=n.y0,c=n.x1,s=n.y1,f=(u+c)/2,l=(a+s)/2;(o=i[0])&&e.push(new be(o,u,a,f,l)),(o=i[1])&&e.push(new be(o,f,a,c,l)),(o=i[2])&&e.push(new be(o,u,l,f,s)),(o=i[3])&&e.push(new be(o,f,l,c,s))}r.push(n)}for(;n=r.pop();)t(n.node,n.x0,n.y0,n.x1,n.y1);return this},Uh.x=function(t){return arguments.length?(this._x=t,this):this._x},Uh.y=function(t){return arguments.length?(this._y=t,this):this._y};var Oh,Fh=10,Ih=Math.PI*(3-Math.sqrt(5)),Yh={"":function(t,n){t:for(var e,r=(t=t.toPrecision(n)).length,i=1,o=-1;i<r;++i)switch(t[i]){case".":o=e=i;break;case"0":0===o&&(o=i),e=i;break;case"e":break t;default:o>0&&(o=0)}return o>0?t.slice(0,o)+t.slice(e+1):t},"%":function(t,n){return(100*t).toFixed(n)},b:function(t){return Math.round(t).toString(2)},c:function(t){return t+""},d:function(t){return Math.round(t).toString(10)},e:function(t,n){return t.toExponential(n)},f:function(t,n){return t.toFixed(n)},g:function(t,n){return t.toPrecision(n)},o:function(t){return Math.round(t).toString(8)},p:function(t,n){return qe(100*t,n)},r:qe,s:function(t,n){var e=Re(t,n);if(!e)return t+"";var r=e[0],i=e[1],o=i-(Oh=3*Math.max(-8,Math.min(8,Math.floor(i/3))))+1,u=r.length;return o===u?r:o>u?r+new Array(o-u+1).join("0"):o>0?r.slice(0,o)+"."+r.slice(o):"0."+new Array(1-o).join("0")+Re(t,Math.max(0,n+o-1))[0]},X:function(t){return Math.round(t).toString(16).toUpperCase()},x:function(t){return Math.round(t).toString(16)}},Bh=/^(?:(.)?([<>=^]))?([+\-\( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?([a-z%])?$/i;De.prototype=Ue.prototype,Ue.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(null==this.width?"":Math.max(1,0|this.width))+(this.comma?",":"")+(null==this.precision?"":"."+Math.max(0,0|this.precision))+this.type};var Hh,jh=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];Ie({decimal:".",thousands:",",grouping:[3],currency:["$",""]}),Xe.prototype={constructor:Xe,reset:function(){this.s=this.t=0},add:function(t){Ve(wp,t,this.t),Ve(this,wp.s,this.s),this.s?this.t+=wp.t:this.s=wp.t},valueOf:function(){return this.s}};var Xh,Vh,$h,Wh,Zh,Gh,Qh,Jh,Kh,tp,np,ep,rp,ip,op,up,ap,cp,sp,fp,lp,hp,pp,dp,vp,gp,_p,yp,mp,xp,bp,wp=new Xe,Mp=1e-6,Tp=1e-12,Np=Math.PI,kp=Np/2,Sp=Np/4,Ep=2*Np,Ap=180/Np,Cp=Np/180,zp=Math.abs,Pp=Math.atan,Rp=Math.atan2,Lp=Math.cos,qp=Math.ceil,Dp=Math.exp,Up=Math.log,Op=Math.pow,Fp=Math.sin,Ip=Math.sign||function(t){return t>0?1:t<0?-1:0},Yp=Math.sqrt,Bp=Math.tan,Hp={Feature:function(t,n){Qe(t.geometry,n)},FeatureCollection:function(t,n){for(var e=t.features,r=-1,i=e.length;++r<i;)Qe(e[r].geometry,n)}},jp={Sphere:function(t,n){n.sphere()},Point:function(t,n){t=t.coordinates,n.point(t[0],t[1],t[2])},MultiPoint:function(t,n){for(var e=t.coordinates,r=-1,i=e.length;++r<i;)t=e[r],n.point(t[0],t[1],t[2])},LineString:function(t,n){Je(t.coordinates,n,0)},MultiLineString:function(t,n){for(var e=t.coordinates,r=-1,i=e.length;++r<i;)Je(e[r],n,0)},Polygon:function(t,n){Ke(t.coordinates,n)},MultiPolygon:function(t,n){for(var e=t.coordinates,r=-1,i=e.length;++r<i;)Ke(e[r],n)},GeometryCollection:function(t,n){for(var e=t.geometries,r=-1,i=e.length;++r<i;)Qe(e[r],n)}},Xp=je(),Vp=je(),$p={point:Ge,lineStart:Ge,lineEnd:Ge,polygonStart:function(){Xp.reset(),$p.lineStart=nr,$p.lineEnd=er},polygonEnd:function(){var t=+Xp;Vp.add(t<0?Ep+t:t),this.lineStart=this.lineEnd=this.point=Ge},sphere:function(){Vp.add(Ep)}},Wp=je(),Zp={point:hr,lineStart:dr,lineEnd:vr,polygonStart:function(){Zp.point=gr,Zp.lineStart=_r,Zp.lineEnd=yr,Wp.reset(),$p.polygonStart()},polygonEnd:function(){$p.polygonEnd(),Zp.point=hr,Zp.lineStart=dr,Zp.lineEnd=vr,Xp<0?(Gh=-(Jh=180),Qh=-(Kh=90)):Wp>Mp?Kh=90:Wp<-Mp&&(Qh=-90),op[0]=Gh,op[1]=Jh}},Gp={sphere:Ge,point:wr,lineStart:Tr,lineEnd:Sr,polygonStart:function(){Gp.lineStart=Er,Gp.lineEnd=Ar},polygonEnd:function(){Gp.lineStart=Tr,Gp.lineEnd=Sr}};Lr.invert=Lr;var Qp,Jp,Kp,td,nd,ed,rd,id,od,ud,ad,cd=je(),sd=Wr(function(){return!0},function(t){var n,e=NaN,r=NaN,i=NaN;return{lineStart:function(){t.lineStart(),n=1},point:function(o,u){var a=o>0?Np:-Np,c=zp(o-e);zp(c-Np)<Mp?(t.point(e,r=(r+u)/2>0?kp:-kp),t.point(i,r),t.lineEnd(),t.lineStart(),t.point(a,r),t.point(o,r),n=0):i!==a&&c>=Np&&(zp(e-i)<Mp&&(e-=i*Mp),zp(o-a)<Mp&&(o-=a*Mp),r=function(t,n,e,r){var i,o,u=Fp(t-e);return zp(u)>Mp?Pp((Fp(n)*(o=Lp(r))*Fp(e)-Fp(r)*(i=Lp(n))*Fp(t))/(i*o*u)):(n+r)/2}(e,r,o,u),t.point(i,r),t.lineEnd(),t.lineStart(),t.point(a,r),n=0),t.point(e=o,r=u),i=a},lineEnd:function(){t.lineEnd(),e=r=NaN},clean:function(){return 2-n}}},function(t,n,e,r){var i;if(null==t)i=e*kp,r.point(-Np,i),r.point(0,i),r.point(Np,i),r.point(Np,0),r.point(Np,-i),r.point(0,-i),r.point(-Np,-i),r.point(-Np,0),r.point(-Np,i);else if(zp(t[0]-n[0])>Mp){var o=t[0]<n[0]?Np:-Np;i=e*o/2,r.point(-o,i),r.point(0,i),r.point(o,i)}else r.point(n[0],n[1])},[-Np,-kp]),fd=1e9,ld=-fd,hd=je(),pd={sphere:Ge,point:Ge,lineStart:function(){pd.point=ti,pd.lineEnd=Kr},lineEnd:Ge,polygonStart:Ge,polygonEnd:Ge},dd=[null,null],vd={type:"LineString",coordinates:dd},gd={Feature:function(t,n){return ii(t.geometry,n)},FeatureCollection:function(t,n){for(var e=t.features,r=-1,i=e.length;++r<i;)if(ii(e[r].geometry,n))return!0;return!1}},_d={Sphere:function(){return!0},Point:function(t,n){return oi(t.coordinates,n)},MultiPoint:function(t,n){for(var e=t.coordinates,r=-1,i=e.length;++r<i;)if(oi(e[r],n))return!0;return!1},LineString:function(t,n){return ui(t.coordinates,n)},MultiLineString:function(t,n){for(var e=t.coordinates,r=-1,i=e.length;++r<i;)if(ui(e[r],n))return!0;return!1},Polygon:function(t,n){return ai(t.coordinates,n)},MultiPolygon:function(t,n){for(var e=t.coordinates,r=-1,i=e.length;++r<i;)if(ai(e[r],n))return!0;return!1},GeometryCollection:function(t,n){for(var e=t.geometries,r=-1,i=e.length;++r<i;)if(ii(e[r],n))return!0;return!1}},yd=je(),md=je(),xd={point:Ge,lineStart:Ge,lineEnd:Ge,polygonStart:function(){xd.lineStart=di,xd.lineEnd=_i},polygonEnd:function(){xd.lineStart=xd.lineEnd=xd.point=Ge,yd.add(zp(md)),md.reset()},result:function(){var t=yd/2;return yd.reset(),t}},bd=1/0,wd=bd,Md=-bd,Td=Md,Nd={point:function(t,n){t<bd&&(bd=t),t>Md&&(Md=t),n<wd&&(wd=n),n>Td&&(Td=n)},lineStart:Ge,lineEnd:Ge,polygonStart:Ge,polygonEnd:Ge,result:function(){var t=[[bd,wd],[Md,Td]];return Md=Td=-(wd=bd=1/0),t}},kd=0,Sd=0,Ed=0,Ad=0,Cd=0,zd=0,Pd=0,Rd=0,Ld=0,qd={point:yi,lineStart:mi,lineEnd:wi,polygonStart:function(){qd.lineStart=Mi,qd.lineEnd=Ti},polygonEnd:function(){qd.point=yi,qd.lineStart=mi,qd.lineEnd=wi},result:function(){var t=Ld?[Pd/Ld,Rd/Ld]:zd?[Ad/zd,Cd/zd]:Ed?[kd/Ed,Sd/Ed]:[NaN,NaN];return kd=Sd=Ed=Ad=Cd=zd=Pd=Rd=Ld=0,t}};Si.prototype={_radius:4.5,pointRadius:function(t){return this._radius=t,this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){0===this._line&&this._context.closePath(),this._point=NaN},point:function(t,n){switch(this._point){case 0:this._context.moveTo(t,n),this._point=1;break;case 1:this._context.lineTo(t,n);break;default:this._context.moveTo(t+this._radius,n),this._context.arc(t,n,this._radius,0,Ep)}},result:Ge};var Dd,Ud,Od,Fd,Id,Yd=je(),Bd={point:Ge,lineStart:function(){Bd.point=Ei},lineEnd:function(){Dd&&Ai(Ud,Od),Bd.point=Ge},polygonStart:function(){Dd=!0},polygonEnd:function(){Dd=null},result:function(){var t=+Yd;return Yd.reset(),t}};Ci.prototype={_radius:4.5,_circle:zi(4.5),pointRadius:function(t){return(t=+t)!==this._radius&&(this._radius=t,this._circle=null),this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){0===this._line&&this._string.push("Z"),this._point=NaN},point:function(t,n){switch(this._point){case 0:this._string.push("M",t,",",n),this._point=1;break;case 1:this._string.push("L",t,",",n);break;default:null==this._circle&&(this._circle=zi(this._radius)),this._string.push("M",t,",",n,this._circle)}},result:function(){if(this._string.length){var t=this._string.join("");return this._string=[],t}return null}},Ri.prototype={constructor:Ri,point:function(t,n){this.stream.point(t,n)},sphere:function(){this.stream.sphere()},lineStart:function(){this.stream.lineStart()},lineEnd:function(){this.stream.lineEnd()},polygonStart:function(){this.stream.polygonStart()},polygonEnd:function(){this.stream.polygonEnd()}};var Hd=16,jd=Lp(30*Cp),Xd=Pi({point:function(t,n){this.stream.point(t*Cp,n*Cp)}}),Vd=Vi(function(t){return Yp(2/(1+t))});Vd.invert=$i(function(t){return 2*We(t/2)});var $d=Vi(function(t){return(t=$e(t))&&t/Fp(t)});$d.invert=$i(function(t){return t}),Wi.invert=function(t,n){return[t,2*Pp(Dp(n))-kp]},Ji.invert=Ji,to.invert=$i(Pp),eo.invert=function(t,n){var e,r=n,i=25;do{var o=r*r,u=o*o;r-=e=(r*(1.007226+o*(.015085+u*(.028874*o-.044475-.005916*u)))-n)/(1.007226+o*(.045255+u*(.259866*o-.311325-.005916*11*u)))}while(zp(e)>Mp&&--i>0);return[t/(.8707+(o=r*r)*(o*(o*o*o*(.003971-.001529*o)-.013791)-.131979)),r]},ro.invert=$i(We),io.invert=$i(function(t){return 2*Pp(t)}),oo.invert=function(t,n){return[-n,2*Pp(Dp(t))-kp]},vo.prototype=fo.prototype={constructor:vo,count:function(){return this.eachAfter(so)},each:function(t){var n,e,r,i,o=this,u=[o];do{for(n=u.reverse(),u=[];o=n.pop();)if(t(o),e=o.children)for(r=0,i=e.length;r<i;++r)u.push(e[r])}while(u.length);return this},eachAfter:function(t){for(var n,e,r,i=this,o=[i],u=[];i=o.pop();)if(u.push(i),n=i.children)for(e=0,r=n.length;e<r;++e)o.push(n[e]);for(;i=u.pop();)t(i);return this},eachBefore:function(t){for(var n,e,r=this,i=[r];r=i.pop();)if(t(r),n=r.children)for(e=n.length-1;e>=0;--e)i.push(n[e]);return this},sum:function(t){return this.eachAfter(function(n){for(var e=+t(n.data)||0,r=n.children,i=r&&r.length;--i>=0;)e+=r[i].value;n.value=e})},sort:function(t){return this.eachBefore(function(n){n.children&&n.children.sort(t)})},path:function(t){for(var n=this,e=function(t,n){if(t===n)return t;var e=t.ancestors(),r=n.ancestors(),i=null;for(t=e.pop(),n=r.pop();t===n;)i=t,t=e.pop(),n=r.pop();return i}(n,t),r=[n];n!==e;)n=n.parent,r.push(n);for(var i=r.length;t!==e;)r.splice(i,0,t),t=t.parent;return r},ancestors:function(){for(var t=this,n=[t];t=t.parent;)n.push(t);return n},descendants:function(){var t=[];return this.each(function(n){t.push(n)}),t},leaves:function(){var t=[];return this.eachBefore(function(n){n.children||t.push(n)}),t},links:function(){var t=this,n=[];return t.each(function(e){e!==t&&n.push({source:e.parent,target:e})}),n},copy:function(){return fo(this).eachBefore(ho)}};var Wd=Array.prototype.slice,Zd="$",Gd={depth:-1},Qd={};Ho.prototype=Object.create(vo.prototype);var Jd=(1+Math.sqrt(5))/2,Kd=function t(n){function e(t,e,r,i,o){Xo(n,t,e,r,i,o)}return e.ratio=function(n){return t((n=+n)>1?n:1)},e}(Jd),tv=function t(n){function e(t,e,r,i,o){if((u=t._squarify)&&u.ratio===n)for(var u,a,c,s,f,l=-1,h=u.length,p=t.value;++l<h;){for(c=(a=u[l]).children,s=a.value=0,f=c.length;s<f;++s)a.value+=c[s].value;a.dice?qo(a,e,r,i,r+=(o-r)*a.value/p):jo(a,e,r,e+=(i-e)*a.value/p,o),p-=a.value}else t._squarify=u=Xo(n,t,e,r,i,o),u.ratio=n}return e.ratio=function(n){return t((n=+n)>1?n:1)},e}(Jd),nv=[].slice,ev={};Zo.prototype=Ko.prototype={constructor:Zo,defer:function(t){if("function"!=typeof t)throw new Error("invalid callback");if(this._call)throw new Error("defer after await");if(null!=this._error)return this;var n=nv.call(arguments,1);return n.push(t),++this._waiting,this._tasks.push(n),Go(this),this},abort:function(){return null==this._error&&Qo(this,new Error("abort")),this},await:function(t){if("function"!=typeof t)throw new Error("invalid callback");if(this._call)throw new Error("multiple await");return this._call=function(n,e){t.apply(null,[n].concat(e))},Jo(this),this},awaitAll:function(t){if("function"!=typeof t)throw new Error("invalid callback");if(this._call)throw new Error("multiple await");return this._call=t,Jo(this),this}};var rv=function t(n){function e(t,e){return t=null==t?0:+t,e=null==e?1:+e,1===arguments.length?(e=t,t=0):e-=t,function(){return n()*e+t}}return e.source=t,e}(tu),iv=function t(n){function e(t,e){var r,i;return t=null==t?0:+t,e=null==e?1:+e,function(){var o;if(null!=r)o=r,r=null;else do{r=2*n()-1,o=2*n()-1,i=r*r+o*o}while(!i||i>1);return t+e*o*Math.sqrt(-2*Math.log(i)/i)}}return e.source=t,e}(tu),ov=function t(n){function e(){var t=iv.source(n).apply(this,arguments);return function(){return Math.exp(t())}}return e.source=t,e}(tu),uv=function t(n){function e(t){return function(){for(var e=0,r=0;r<t;++r)e+=n();return e}}return e.source=t,e}(tu),av=function t(n){function e(t){var e=uv.source(n)(t);return function(){return e()/t}}return e.source=t,e}(tu),cv=function t(n){function e(t){return function(){return-Math.log(1-n())/t}}return e.source=t,e}(tu),sv=eu("text/html",function(t){return document.createRange().createContextualFragment(t.responseText)}),fv=eu("application/json",function(t){return JSON.parse(t.responseText)}),lv=eu("text/plain",function(t){return t.responseText}),hv=eu("application/xml",function(t){var n=t.responseXML;if(!n)throw new Error("parse error");return n}),pv=ru("text/csv",Eh),dv=ru("text/tab-separated-values",Rh),vv=Array.prototype,gv=vv.map,_v=vv.slice,yv={name:"implicit"},mv=[0,1],xv=new Date,bv=new Date,wv=Cu(function(){},function(t,n){t.setTime(+t+n)},function(t,n){return n-t});wv.every=function(t){return t=Math.floor(t),isFinite(t)&&t>0?t>1?Cu(function(n){n.setTime(Math.floor(n/t)*t)},function(n,e){n.setTime(+n+e*t)},function(n,e){return(e-n)/t}):wv:null};var Mv=wv.range,Tv=6e4,Nv=6048e5,kv=Cu(function(t){t.setTime(1e3*Math.floor(t/1e3))},function(t,n){t.setTime(+t+1e3*n)},function(t,n){return(n-t)/1e3},function(t){return t.getUTCSeconds()}),Sv=kv.range,Ev=Cu(function(t){t.setTime(Math.floor(t/Tv)*Tv)},function(t,n){t.setTime(+t+n*Tv)},function(t,n){return(n-t)/Tv},function(t){return t.getMinutes()}),Av=Ev.range,Cv=Cu(function(t){var n=t.getTimezoneOffset()*Tv%36e5;n<0&&(n+=36e5),t.setTime(36e5*Math.floor((+t-n)/36e5)+n)},function(t,n){t.setTime(+t+36e5*n)},function(t,n){return(n-t)/36e5},function(t){return t.getHours()}),zv=Cv.range,Pv=Cu(function(t){t.setHours(0,0,0,0)},function(t,n){t.setDate(t.getDate()+n)},function(t,n){return(n-t-(n.getTimezoneOffset()-t.getTimezoneOffset())*Tv)/864e5},function(t){return t.getDate()-1}),Rv=Pv.range,Lv=zu(0),qv=zu(1),Dv=zu(2),Uv=zu(3),Ov=zu(4),Fv=zu(5),Iv=zu(6),Yv=Lv.range,Bv=qv.range,Hv=Dv.range,jv=Uv.range,Xv=Ov.range,Vv=Fv.range,$v=Iv.range,Wv=Cu(function(t){t.setDate(1),t.setHours(0,0,0,0)},function(t,n){t.setMonth(t.getMonth()+n)},function(t,n){return n.getMonth()-t.getMonth()+12*(n.getFullYear()-t.getFullYear())},function(t){return t.getMonth()}),Zv=Wv.range,Gv=Cu(function(t){t.setMonth(0,1),t.setHours(0,0,0,0)},function(t,n){t.setFullYear(t.getFullYear()+n)},function(t,n){return n.getFullYear()-t.getFullYear()},function(t){return t.getFullYear()});Gv.every=function(t){return isFinite(t=Math.floor(t))&&t>0?Cu(function(n){n.setFullYear(Math.floor(n.getFullYear()/t)*t),n.setMonth(0,1),n.setHours(0,0,0,0)},function(n,e){n.setFullYear(n.getFullYear()+e*t)}):null};var Qv=Gv.range,Jv=Cu(function(t){t.setUTCSeconds(0,0)},function(t,n){t.setTime(+t+n*Tv)},function(t,n){return(n-t)/Tv},function(t){return t.getUTCMinutes()}),Kv=Jv.range,tg=Cu(function(t){t.setUTCMinutes(0,0,0)},function(t,n){t.setTime(+t+36e5*n)},function(t,n){return(n-t)/36e5},function(t){return t.getUTCHours()}),ng=tg.range,eg=Cu(function(t){t.setUTCHours(0,0,0,0)},function(t,n){t.setUTCDate(t.getUTCDate()+n)},function(t,n){return(n-t)/864e5},function(t){return t.getUTCDate()-1}),rg=eg.range,ig=Pu(0),og=Pu(1),ug=Pu(2),ag=Pu(3),cg=Pu(4),sg=Pu(5),fg=Pu(6),lg=ig.range,hg=og.range,pg=ug.range,dg=ag.range,vg=cg.range,gg=sg.range,_g=fg.range,yg=Cu(function(t){t.setUTCDate(1),t.setUTCHours(0,0,0,0)},function(t,n){t.setUTCMonth(t.getUTCMonth()+n)},function(t,n){return n.getUTCMonth()-t.getUTCMonth()+12*(n.getUTCFullYear()-t.getUTCFullYear())},function(t){return t.getUTCMonth()}),mg=yg.range,xg=Cu(function(t){t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},function(t,n){t.setUTCFullYear(t.getUTCFullYear()+n)},function(t,n){return n.getUTCFullYear()-t.getUTCFullYear()},function(t){return t.getUTCFullYear()});xg.every=function(t){return isFinite(t=Math.floor(t))&&t>0?Cu(function(n){n.setUTCFullYear(Math.floor(n.getUTCFullYear()/t)*t),n.setUTCMonth(0,1),n.setUTCHours(0,0,0,0)},function(n,e){n.setUTCFullYear(n.getUTCFullYear()+e*t)}):null};var bg,wg=xg.range,Mg={"-":"",_:" ",0:"0"},Tg=/^\s*\d+/,Ng=/^%/,kg=/[\\^$*+?|[\]().{}]/g;Ha({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});var Sg="%Y-%m-%dT%H:%M:%S.%LZ",Eg=Date.prototype.toISOString?function(t){return t.toISOString()}:t.utcFormat(Sg),Ag=+new Date("2000-01-01T00:00:00.000Z")?function(t){var n=new Date(t);return isNaN(n)?null:n}:t.utcParse(Sg),Cg=1e3,zg=60*Cg,Pg=60*zg,Rg=24*Pg,Lg=7*Rg,qg=30*Rg,Dg=365*Rg,Ug=$a("1f77b4ff7f0e2ca02cd627289467bd8c564be377c27f7f7fbcbd2217becf"),Og=$a("393b795254a36b6ecf9c9ede6379398ca252b5cf6bcedb9c8c6d31bd9e39e7ba52e7cb94843c39ad494ad6616be7969c7b4173a55194ce6dbdde9ed6"),Fg=$a("3182bd6baed69ecae1c6dbefe6550dfd8d3cfdae6bfdd0a231a35474c476a1d99bc7e9c0756bb19e9ac8bcbddcdadaeb636363969696bdbdbdd9d9d9"),Ig=$a("1f77b4aec7e8ff7f0effbb782ca02c98df8ad62728ff98969467bdc5b0d58c564bc49c94e377c2f7b6d27f7f7fc7c7c7bcbd22dbdb8d17becf9edae5"),Yg=al($t(300,.5,0),$t(-240,.5,1)),Bg=al($t(-100,.75,.35),$t(80,1.5,.8)),Hg=al($t(260,.75,.35),$t(80,1.5,.8)),jg=$t(),Xg=Wa($a("44015444025645045745055946075a46085c460a5d460b5e470d60470e6147106347116447136548146748166848176948186a481a6c481b6d481c6e481d6f481f70482071482173482374482475482576482677482878482979472a7a472c7a472d7b472e7c472f7d46307e46327e46337f463480453581453781453882443983443a83443b84433d84433e85423f854240864241864142874144874045884046883f47883f48893e49893e4a893e4c8a3d4d8a3d4e8a3c4f8a3c508b3b518b3b528b3a538b3a548c39558c39568c38588c38598c375a8c375b8d365c8d365d8d355e8d355f8d34608d34618d33628d33638d32648e32658e31668e31678e31688e30698e306a8e2f6b8e2f6c8e2e6d8e2e6e8e2e6f8e2d708e2d718e2c718e2c728e2c738e2b748e2b758e2a768e2a778e2a788e29798e297a8e297b8e287c8e287d8e277e8e277f8e27808e26818e26828e26828e25838e25848e25858e24868e24878e23888e23898e238a8d228b8d228c8d228d8d218e8d218f8d21908d21918c20928c20928c20938c1f948c1f958b1f968b1f978b1f988b1f998a1f9a8a1e9b8a1e9c891e9d891f9e891f9f881fa0881fa1881fa1871fa28720a38620a48621a58521a68522a78522a88423a98324aa8325ab8225ac8226ad8127ad8128ae8029af7f2ab07f2cb17e2db27d2eb37c2fb47c31b57b32b67a34b67935b77937b87838b9773aba763bbb753dbc743fbc7340bd7242be7144bf7046c06f48c16e4ac16d4cc26c4ec36b50c46a52c56954c56856c66758c7655ac8645cc8635ec96260ca6063cb5f65cb5e67cc5c69cd5b6ccd5a6ece5870cf5773d05675d05477d1537ad1517cd2507fd34e81d34d84d44b86d54989d5488bd6468ed64590d74393d74195d84098d83e9bd93c9dd93ba0da39a2da37a5db36a8db34aadc32addc30b0dd2fb2dd2db5de2bb8de29bade28bddf26c0df25c2df23c5e021c8e020cae11fcde11dd0e11cd2e21bd5e21ad8e219dae319dde318dfe318e2e418e5e419e7e419eae51aece51befe51cf1e51df4e61ef6e620f8e621fbe723fde725")),Vg=Wa($a("00000401000501010601010802010902020b02020d03030f03031204041405041606051806051a07061c08071e0907200a08220b09240c09260d0a290e0b2b100b2d110c2f120d31130d34140e36150e38160f3b180f3d19103f1a10421c10441d11471e114920114b21114e22115024125325125527125829115a2a115c2c115f2d11612f116331116533106734106936106b38106c390f6e3b0f703d0f713f0f72400f74420f75440f764510774710784910784a10794c117a4e117b4f127b51127c52137c54137d56147d57157e59157e5a167e5c167f5d177f5f187f601880621980641a80651a80671b80681c816a1c816b1d816d1d816e1e81701f81721f817320817521817621817822817922827b23827c23827e24828025828125818326818426818627818827818928818b29818c29818e2a81902a81912b81932b80942c80962c80982d80992d809b2e7f9c2e7f9e2f7fa02f7fa1307ea3307ea5317ea6317da8327daa337dab337cad347cae347bb0357bb2357bb3367ab5367ab73779b83779ba3878bc3978bd3977bf3a77c03a76c23b75c43c75c53c74c73d73c83e73ca3e72cc3f71cd4071cf4070d0416fd2426fd3436ed5446dd6456cd8456cd9466bdb476adc4869de4968df4a68e04c67e24d66e34e65e44f64e55064e75263e85362e95462ea5661eb5760ec5860ed5a5fee5b5eef5d5ef05f5ef1605df2625df2645cf3655cf4675cf4695cf56b5cf66c5cf66e5cf7705cf7725cf8745cf8765cf9785df9795df97b5dfa7d5efa7f5efa815ffb835ffb8560fb8761fc8961fc8a62fc8c63fc8e64fc9065fd9266fd9467fd9668fd9869fd9a6afd9b6bfe9d6cfe9f6dfea16efea36ffea571fea772fea973feaa74feac76feae77feb078feb27afeb47bfeb67cfeb77efeb97ffebb81febd82febf84fec185fec287fec488fec68afec88cfeca8dfecc8ffecd90fecf92fed194fed395fed597fed799fed89afdda9cfddc9efddea0fde0a1fde2a3fde3a5fde5a7fde7a9fde9aafdebacfcecaefceeb0fcf0b2fcf2b4fcf4b6fcf6b8fcf7b9fcf9bbfcfbbdfcfdbf")),$g=Wa($a("00000401000501010601010802010a02020c02020e03021004031204031405041706041907051b08051d09061f0a07220b07240c08260d08290e092b10092d110a30120a32140b34150b37160b39180c3c190c3e1b0c411c0c431e0c451f0c48210c4a230c4c240c4f260c51280b53290b552b0b572d0b592f0a5b310a5c320a5e340a5f3609613809623909633b09643d09653e0966400a67420a68440a68450a69470b6a490b6a4a0c6b4c0c6b4d0d6c4f0d6c510e6c520e6d540f6d550f6d57106e59106e5a116e5c126e5d126e5f136e61136e62146e64156e65156e67166e69166e6a176e6c186e6d186e6f196e71196e721a6e741a6e751b6e771c6d781c6d7a1d6d7c1d6d7d1e6d7f1e6c801f6c82206c84206b85216b87216b88226a8a226a8c23698d23698f24699025689225689326679526679727669827669a28659b29649d29649f2a63a02a63a22b62a32c61a52c60a62d60a82e5fa92e5eab2f5ead305dae305cb0315bb1325ab3325ab43359b63458b73557b93556ba3655bc3754bd3853bf3952c03a51c13a50c33b4fc43c4ec63d4dc73e4cc83f4bca404acb4149cc4248ce4347cf4446d04545d24644d34743d44842d54a41d74b3fd84c3ed94d3dda4e3cdb503bdd513ade5238df5337e05536e15635e25734e35933e45a31e55c30e65d2fe75e2ee8602de9612bea632aeb6429eb6628ec6726ed6925ee6a24ef6c23ef6e21f06f20f1711ff1731df2741cf3761bf37819f47918f57b17f57d15f67e14f68013f78212f78410f8850ff8870ef8890cf98b0bf98c0af98e09fa9008fa9207fa9407fb9606fb9706fb9906fb9b06fb9d07fc9f07fca108fca309fca50afca60cfca80dfcaa0ffcac11fcae12fcb014fcb216fcb418fbb61afbb81dfbba1ffbbc21fbbe23fac026fac228fac42afac62df9c72ff9c932f9cb35f8cd37f8cf3af7d13df7d340f6d543f6d746f5d949f5db4cf4dd4ff4df53f4e156f3e35af3e55df2e661f2e865f2ea69f1ec6df1ed71f1ef75f1f179f2f27df2f482f3f586f3f68af4f88ef5f992f6fa96f8fb9af9fc9dfafda1fcffa4")),Wg=Wa($a("0d088710078813078916078a19068c1b068d1d068e20068f2206902406912605912805922a05932c05942e05952f059631059733059735049837049938049a3a049a3c049b3e049c3f049c41049d43039e44039e46039f48039f4903a04b03a14c02a14e02a25002a25102a35302a35502a45601a45801a45901a55b01a55c01a65e01a66001a66100a76300a76400a76600a76700a86900a86a00a86c00a86e00a86f00a87100a87201a87401a87501a87701a87801a87a02a87b02a87d03a87e03a88004a88104a78305a78405a78606a68707a68808a68a09a58b0aa58d0ba58e0ca48f0da4910ea3920fa39410a29511a19613a19814a099159f9a169f9c179e9d189d9e199da01a9ca11b9ba21d9aa31e9aa51f99a62098a72197a82296aa2395ab2494ac2694ad2793ae2892b02991b12a90b22b8fb32c8eb42e8db52f8cb6308bb7318ab83289ba3388bb3488bc3587bd3786be3885bf3984c03a83c13b82c23c81c33d80c43e7fc5407ec6417dc7427cc8437bc9447aca457acb4679cc4778cc4977cd4a76ce4b75cf4c74d04d73d14e72d24f71d35171d45270d5536fd5546ed6556dd7566cd8576bd9586ada5a6ada5b69db5c68dc5d67dd5e66de5f65de6164df6263e06363e16462e26561e26660e3685fe4695ee56a5de56b5de66c5ce76e5be76f5ae87059e97158e97257ea7457eb7556eb7655ec7754ed7953ed7a52ee7b51ef7c51ef7e50f07f4ff0804ef1814df1834cf2844bf3854bf3874af48849f48948f58b47f58c46f68d45f68f44f79044f79143f79342f89441f89540f9973ff9983ef99a3efa9b3dfa9c3cfa9e3bfb9f3afba139fba238fca338fca537fca636fca835fca934fdab33fdac33fdae32fdaf31fdb130fdb22ffdb42ffdb52efeb72dfeb82cfeba2cfebb2bfebd2afebe2afec029fdc229fdc328fdc527fdc627fdc827fdca26fdcb26fccd25fcce25fcd025fcd225fbd324fbd524fbd724fad824fada24f9dc24f9dd25f8df25f8e125f7e225f7e425f6e626f6e826f5e926f5eb27f4ed27f3ee27f3f027f2f227f1f426f1f525f0f724f0f921")),Zg=Math.abs,Gg=Math.atan2,Qg=Math.cos,Jg=Math.max,Kg=Math.min,t_=Math.sin,n_=Math.sqrt,e_=1e-12,r_=Math.PI,i_=r_/2,o_=2*r_;ic.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,n){switch(t=+t,n=+n,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,n):this._context.moveTo(t,n);break;case 1:this._point=2;default:this._context.lineTo(t,n)}}};var u_=pc(oc);hc.prototype={areaStart:function(){this._curve.areaStart()},areaEnd:function(){this._curve.areaEnd()},lineStart:function(){this._curve.lineStart()},lineEnd:function(){this._curve.lineEnd()},point:function(t,n){this._curve.point(n*Math.sin(t),n*-Math.cos(t))}};var a_=Array.prototype.slice,c_={draw:function(t,n){var e=Math.sqrt(n/r_);t.moveTo(e,0),t.arc(0,0,e,0,o_)}},s_={draw:function(t,n){var e=Math.sqrt(n/5)/2;t.moveTo(-3*e,-e),t.lineTo(-e,-e),t.lineTo(-e,-3*e),t.lineTo(e,-3*e),t.lineTo(e,-e),t.lineTo(3*e,-e),t.lineTo(3*e,e),t.lineTo(e,e),t.lineTo(e,3*e),t.lineTo(-e,3*e),t.lineTo(-e,e),t.lineTo(-3*e,e),t.closePath()}},f_=Math.sqrt(1/3),l_=2*f_,h_={draw:function(t,n){var e=Math.sqrt(n/l_),r=e*f_;t.moveTo(0,-e),t.lineTo(r,0),t.lineTo(0,e),t.lineTo(-r,0),t.closePath()}},p_=Math.sin(r_/10)/Math.sin(7*r_/10),d_=Math.sin(o_/10)*p_,v_=-Math.cos(o_/10)*p_,g_={draw:function(t,n){var e=Math.sqrt(.8908130915292852*n),r=d_*e,i=v_*e;t.moveTo(0,-e),t.lineTo(r,i);for(var o=1;o<5;++o){var u=o_*o/5,a=Math.cos(u),c=Math.sin(u);t.lineTo(c*e,-a*e),t.lineTo(a*r-c*i,c*r+a*i)}t.closePath()}},__={draw:function(t,n){var e=Math.sqrt(n),r=-e/2;t.rect(r,r,e,e)}},y_=Math.sqrt(3),m_={draw:function(t,n){var e=-Math.sqrt(n/(3*y_));t.moveTo(0,2*e),t.lineTo(-y_*e,-e),t.lineTo(y_*e,-e),t.closePath()}},x_=Math.sqrt(3)/2,b_=1/Math.sqrt(12),w_=3*(b_/2+1),M_={draw:function(t,n){var e=Math.sqrt(n/w_),r=e/2,i=e*b_,o=r,u=e*b_+e,a=-o,c=u;t.moveTo(r,i),t.lineTo(o,u),t.lineTo(a,c),t.lineTo(-.5*r-x_*i,x_*r+-.5*i),t.lineTo(-.5*o-x_*u,x_*o+-.5*u),t.lineTo(-.5*a-x_*c,x_*a+-.5*c),t.lineTo(-.5*r+x_*i,-.5*i-x_*r),t.lineTo(-.5*o+x_*u,-.5*u-x_*o),t.lineTo(-.5*a+x_*c,-.5*c-x_*a),t.closePath()}},T_=[c_,s_,h_,__,g_,m_,M_];kc.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:Nc(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,n){switch(t=+t,n=+n,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,n):this._context.moveTo(t,n);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:Nc(this,t,n)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=n}},Sc.prototype={areaStart:Tc,areaEnd:Tc,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x2,this._y2),this._context.closePath();break;case 2:this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break;case 3:this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4)}},point:function(t,n){switch(t=+t,n=+n,this._point){case 0:this._point=1,this._x2=t,this._y2=n;break;case 1:this._point=2,this._x3=t,this._y3=n;break;case 2:this._point=3,this._x4=t,this._y4=n,this._context.moveTo((this._x0+4*this._x1+t)/6,(this._y0+4*this._y1+n)/6);break;default:Nc(this,t,n)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=n}},Ec.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,n){switch(t=+t,n=+n,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var e=(this._x0+4*this._x1+t)/6,r=(this._y0+4*this._y1+n)/6;this._line?this._context.lineTo(e,r):this._context.moveTo(e,r);break;case 3:this._point=4;default:Nc(this,t,n)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=n}},Ac.prototype={lineStart:function(){this._x=[],this._y=[],this._basis.lineStart()},lineEnd:function(){var t=this._x,n=this._y,e=t.length-1;if(e>0)for(var r,i=t[0],o=n[0],u=t[e]-i,a=n[e]-o,c=-1;++c<=e;)r=c/e,this._basis.point(this._beta*t[c]+(1-this._beta)*(i+r*u),this._beta*n[c]+(1-this._beta)*(o+r*a));this._x=this._y=null,this._basis.lineEnd()},point:function(t,n){this._x.push(+t),this._y.push(+n)}};var N_=function t(n){function e(t){return 1===n?new kc(t):new Ac(t,n)}return e.beta=function(n){return t(+n)},e}(.85);zc.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:Cc(this,this._x1,this._y1)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,n){switch(t=+t,n=+n,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,n):this._context.moveTo(t,n);break;case 1:this._point=2,this._x1=t,this._y1=n;break;case 2:this._point=3;default:Cc(this,t,n)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=n}};var k_=function t(n){function e(t){return new zc(t,n)}return e.tension=function(n){return t(+n)},e}(0);Pc.prototype={areaStart:Tc,areaEnd:Tc,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x3,this._y3),this._context.closePath();break;case 2:this._context.lineTo(this._x3,this._y3),this._context.closePath();break;case 3:this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5)}},point:function(t,n){switch(t=+t,n=+n,this._point){case 0:this._point=1,this._x3=t,this._y3=n;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=n);break;case 2:this._point=3,this._x5=t,this._y5=n;break;default:Cc(this,t,n)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=n}};var S_=function t(n){function e(t){return new Pc(t,n)}return e.tension=function(n){return t(+n)},e}(0);Rc.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,n){switch(t=+t,n=+n,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:Cc(this,t,n)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=n}};var E_=function t(n){function e(t){return new Rc(t,n)}return e.tension=function(n){return t(+n)},e}(0);qc.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:this.point(this._x2,this._y2)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,n){if(t=+t,n=+n,this._point){var e=this._x2-t,r=this._y2-n;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(e*e+r*r,this._alpha))}switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(t,n):this._context.moveTo(t,n);break;case 1:this._point=2;break;case 2:this._point=3;default:Lc(this,t,n)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=n}};var A_=function t(n){function e(t){return n?new qc(t,n):new zc(t,0)}return e.alpha=function(n){return t(+n)},e}(.5);Dc.prototype={areaStart:Tc,areaEnd:Tc,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x3,this._y3),this._context.closePath();break;case 2:this._context.lineTo(this._x3,this._y3),this._context.closePath();break;case 3:this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5)}},point:function(t,n){if(t=+t,n=+n,this._point){var e=this._x2-t,r=this._y2-n;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(e*e+r*r,this._alpha))}switch(this._point){case 0:this._point=1,this._x3=t,this._y3=n;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=n);break;case 2:this._point=3,this._x5=t,this._y5=n;break;default:Lc(this,t,n)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=n}};var C_=function t(n){function e(t){return n?new Dc(t,n):new Pc(t,0)}return e.alpha=function(n){return t(+n)},e}(.5);Uc.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,n){if(t=+t,n=+n,this._point){var e=this._x2-t,r=this._y2-n;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(e*e+r*r,this._alpha))}switch(this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:Lc(this,t,n)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=n}};var z_=function t(n){function e(t){return n?new Uc(t,n):new Rc(t,0)}return e.alpha=function(n){return t(+n)},e}(.5);Oc.prototype={areaStart:Tc,areaEnd:Tc,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(t,n){t=+t,n=+n,this._point?this._context.lineTo(t,n):(this._point=1,this._context.moveTo(t,n))}},Hc.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:Bc(this,this._t0,Yc(this,this._t0))}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,n){var e=NaN;if(t=+t,n=+n,t!==this._x1||n!==this._y1){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(t,n):this._context.moveTo(t,n);break;case 1:this._point=2;break;case 2:this._point=3,Bc(this,Yc(this,e=Ic(this,t,n)),e);break;default:Bc(this,this._t0,e=Ic(this,t,n))}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=n,this._t0=e}}},(jc.prototype=Object.create(Hc.prototype)).point=function(t,n){Hc.prototype.point.call(this,n,t)},Xc.prototype={moveTo:function(t,n){this._context.moveTo(n,t)},closePath:function(){this._context.closePath()},lineTo:function(t,n){this._context.lineTo(n,t)},bezierCurveTo:function(t,n,e,r,i,o){this._context.bezierCurveTo(n,t,r,e,o,i)}},Vc.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var t=this._x,n=this._y,e=t.length;if(e)if(this._line?this._context.lineTo(t[0],n[0]):this._context.moveTo(t[0],n[0]),2===e)this._context.lineTo(t[1],n[1]);else for(var r=$c(t),i=$c(n),o=0,u=1;u<e;++o,++u)this._context.bezierCurveTo(r[0][o],i[0][o],r[1][o],i[1][o],t[u],n[u]);(this._line||0!==this._line&&1===e)&&this._context.closePath(),this._line=1-this._line,this._x=this._y=null},point:function(t,n){this._x.push(+t),this._y.push(+n)}},Wc.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=this._y=NaN,this._point=0},lineEnd:function(){0<this._t&&this._t<1&&2===this._point&&this._context.lineTo(this._x,this._y),(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line>=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(t,n){switch(t=+t,n=+n,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,n):this._context.moveTo(t,n);break;case 1:this._point=2;default:if(this._t<=0)this._context.lineTo(this._x,n),this._context.lineTo(t,n);else{var e=this._x*(1-this._t)+t*this._t;this._context.lineTo(e,this._y),this._context.lineTo(e,n)}}this._x=t,this._y=n}},rs.prototype={constructor:rs,insert:function(t,n){var e,r,i;if(t){if(n.P=t,n.N=t.N,t.N&&(t.N.P=n),t.N=n,t.R){for(t=t.R;t.L;)t=t.L;t.L=n}else t.R=n;e=t}else this._?(t=as(this._),n.P=null,n.N=t,t.P=t.L=n,e=t):(n.P=n.N=null,this._=n,e=null);for(n.L=n.R=null,n.U=e,n.C=!0,t=n;e&&e.C;)e===(r=e.U).L?(i=r.R)&&i.C?(e.C=i.C=!1,r.C=!0,t=r):(t===e.R&&(os(this,e),e=(t=e).U),e.C=!1,r.C=!0,us(this,r)):(i=r.L)&&i.C?(e.C=i.C=!1,r.C=!0,t=r):(t===e.L&&(us(this,e),e=(t=e).U),e.C=!1,r.C=!0,os(this,r)),e=t.U;this._.C=!1},remove:function(t){t.N&&(t.N.P=t.P),t.P&&(t.P.N=t.N),t.N=t.P=null;var n,e,r,i=t.U,o=t.L,u=t.R;if(e=o?u?as(u):o:u,i?i.L===t?i.L=e:i.R=e:this._=e,o&&u?(r=e.C,e.C=t.C,e.L=o,o.U=e,e!==u?(i=e.U,e.U=t.U,t=e.R,i.L=t,e.R=u,u.U=e):(e.U=i,i=e,t=e.R)):(r=t.C,t=e),t&&(t.U=i),!r)if(t&&t.C)t.C=!1;else{do{if(t===this._)break;if(t===i.L){if((n=i.R).C&&(n.C=!1,i.C=!0,os(this,i),n=i.R),n.L&&n.L.C||n.R&&n.R.C){n.R&&n.R.C||(n.L.C=!1,n.C=!0,us(this,n),n=i.R),n.C=i.C,i.C=n.R.C=!1,os(this,i),t=this._;break}}else if((n=i.L).C&&(n.C=!1,i.C=!0,us(this,i),n=i.L),n.L&&n.L.C||n.R&&n.R.C){n.L&&n.L.C||(n.R.C=!1,n.C=!0,os(this,n),n=i.L),n.C=i.C,i.C=n.L.C=!1,us(this,i),t=this._;break}n.C=!0,t=i,i=i.U}while(!t.C);t&&(t.C=!1)}}};var P_,R_,L_,q_,D_,U_=[],O_=[],F_=1e-6,I_=1e-12;Ns.prototype={constructor:Ns,polygons:function(){var t=this.edges;return this.cells.map(function(n){var e=n.halfedges.map(function(e){return ds(n,t[e])});return e.data=n.site.data,e})},triangles:function(){var t=[],n=this.edges;return this.cells.forEach(function(e,r){if(o=(i=e.halfedges).length)for(var i,o,u,a=e.site,c=-1,s=n[i[o-1]],f=s.left===a?s.right:s.left;++c<o;)u=f,f=(s=n[i[c]]).left===a?s.right:s.left,u&&f&&r<u.index&&r<f.index&&Ms(a,u,f)<0&&t.push([a.data,u.data,f.data])}),t},links:function(){return this.edges.filter(function(t){return t.right}).map(function(t){return{source:t.left.data,target:t.right.data}})},find:function(t,n,e){for(var r,i,o=this,u=o._found||0,a=o.cells.length;!(i=o.cells[u]);)if(++u>=a)return null;var c=t-i.site[0],s=n-i.site[1],f=c*c+s*s;do{i=o.cells[r=u],u=null,i.halfedges.forEach(function(e){var r=o.edges[e],a=r.left;if(a!==i.site&&a||(a=r.right)){var c=t-a[0],s=n-a[1],l=c*c+s*s;l<f&&(f=l,u=a.index)}})}while(null!==u);return o._found=r,null==e||f<=e*e?i.site:null}},Ss.prototype={constructor:Ss,scale:function(t){return 1===t?this:new Ss(this.k*t,this.x,this.y)},translate:function(t,n){return 0===t&0===n?this:new Ss(this.k,this.x+this.k*t,this.y+this.k*n)},apply:function(t){return[t[0]*this.k+this.x,t[1]*this.k+this.y]},applyX:function(t){return t*this.k+this.x},applyY:function(t){return t*this.k+this.y},invert:function(t){return[(t[0]-this.x)/this.k,(t[1]-this.y)/this.k]},invertX:function(t){return(t-this.x)/this.k},invertY:function(t){return(t-this.y)/this.k},rescaleX:function(t){return t.copy().domain(t.range().map(this.invertX,this).map(t.invert,t))},rescaleY:function(t){return t.copy().domain(t.range().map(this.invertY,this).map(t.invert,t))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var Y_=new Ss(1,0,0);Es.prototype=Ss.prototype,t.version="4.13.0",t.bisect=Os,t.bisectRight=Os,t.bisectLeft=Fs,t.ascending=n,t.bisector=e,t.cross=function(t,n,e){var i,o,u,a,c=t.length,s=n.length,f=new Array(c*s);for(null==e&&(e=r),i=u=0;i<c;++i)for(a=t[i],o=0;o<s;++o,++u)f[u]=e(a,n[o]);return f},t.descending=function(t,n){return n<t?-1:n>t?1:n>=t?0:NaN},t.deviation=u,t.extent=a,t.histogram=function(){function t(t){var i,o,u=t.length,a=new Array(u);for(i=0;i<u;++i)a[i]=n(t[i],i,t);var c=e(a),s=c[0],l=c[1],h=r(a,s,l);Array.isArray(h)||(h=p(s,l,h),h=f(Math.ceil(s/h)*h,Math.floor(l/h)*h,h));for(var d=h.length;h[0]<=s;)h.shift(),--d;for(;h[d-1]>l;)h.pop(),--d;var v,g=new Array(d+1);for(i=0;i<=d;++i)(v=g[i]=[]).x0=i>0?h[i-1]:s,v.x1=i<d?h[i]:l;for(i=0;i<u;++i)s<=(o=a[i])&&o<=l&&g[Os(h,o,0,d)].push(t[i]);return g}var n=s,e=a,r=d;return t.value=function(e){return arguments.length?(n="function"==typeof e?e:c(e),t):n},t.domain=function(n){return arguments.length?(e="function"==typeof n?n:c([n[0],n[1]]),t):e},t.thresholds=function(n){return arguments.length?(r="function"==typeof n?n:Array.isArray(n)?c(Ys.call(n)):c(n),t):r},t},t.thresholdFreedmanDiaconis=function(t,e,r){return t=Bs.call(t,i).sort(n),Math.ceil((r-e)/(2*(v(t,.75)-v(t,.25))*Math.pow(t.length,-1/3)))},t.thresholdScott=function(t,n,e){return Math.ceil((e-n)/(3.5*u(t)*Math.pow(t.length,-1/3)))},t.thresholdSturges=d,t.max=function(t,n){var e,r,i=t.length,o=-1;if(null==n){for(;++o<i;)if(null!=(e=t[o])&&e>=e)for(r=e;++o<i;)null!=(e=t[o])&&e>r&&(r=e)}else for(;++o<i;)if(null!=(e=n(t[o],o,t))&&e>=e)for(r=e;++o<i;)null!=(e=n(t[o],o,t))&&e>r&&(r=e);return r},t.mean=function(t,n){var e,r=t.length,o=r,u=-1,a=0;if(null==n)for(;++u<r;)isNaN(e=i(t[u]))?--o:a+=e;else for(;++u<r;)isNaN(e=i(n(t[u],u,t)))?--o:a+=e;if(o)return a/o},t.median=function(t,e){var r,o=t.length,u=-1,a=[];if(null==e)for(;++u<o;)isNaN(r=i(t[u]))||a.push(r);else for(;++u<o;)isNaN(r=i(e(t[u],u,t)))||a.push(r);return v(a.sort(n),.5)},t.merge=g,t.min=_,t.pairs=function(t,n){null==n&&(n=r);for(var e=0,i=t.length-1,o=t[0],u=new Array(i<0?0:i);e<i;)u[e]=n(o,o=t[++e]);return u},t.permute=function(t,n){for(var e=n.length,r=new Array(e);e--;)r[e]=t[n[e]];return r},t.quantile=v,t.range=f,t.scan=function(t,e){if(r=t.length){var r,i,o=0,u=0,a=t[u];for(null==e&&(e=n);++o<r;)(e(i=t[o],a)<0||0!==e(a,a))&&(a=i,u=o);return 0===e(a,a)?u:void 0}},t.shuffle=function(t,n,e){for(var r,i,o=(null==e?t.length:e)-(n=null==n?0:+n);o;)i=Math.random()*o--|0,r=t[o+n],t[o+n]=t[i+n],t[i+n]=r;return t},t.sum=function(t,n){var e,r=t.length,i=-1,o=0;if(null==n)for(;++i<r;)(e=+t[i])&&(o+=e);else for(;++i<r;)(e=+n(t[i],i,t))&&(o+=e);return o},t.ticks=l,t.tickIncrement=h,t.tickStep=p,t.transpose=y,t.variance=o,t.zip=function(){return y(arguments)},t.axisTop=function(t){return T($s,t)},t.axisRight=function(t){return T(Ws,t)},t.axisBottom=function(t){return T(Zs,t)},t.axisLeft=function(t){return T(Gs,t)},t.brush=function(){return Kn(oh)},t.brushX=function(){return Kn(rh)},t.brushY=function(){return Kn(ih)},t.brushSelection=function(t){var n=t.__brush;return n?n.dim.output(n.selection):null},t.chord=function(){function t(t){var o,u,a,c,s,l,h=t.length,p=[],d=f(h),v=[],g=[],_=g.groups=new Array(h),y=new Array(h*h);for(o=0,s=-1;++s<h;){for(u=0,l=-1;++l<h;)u+=t[s][l];p.push(u),v.push(f(h)),o+=u}for(e&&d.sort(function(t,n){return e(p[t],p[n])}),r&&v.forEach(function(n,e){n.sort(function(n,i){return r(t[e][n],t[e][i])})}),c=(o=gh(0,vh-n*h)/o)?n:vh/h,u=0,s=-1;++s<h;){for(a=u,l=-1;++l<h;){var m=d[s],x=v[m][l],b=t[m][x],w=u,M=u+=b*o;y[x*h+m]={index:m,subindex:x,startAngle:w,endAngle:M,value:b}}_[m]={index:m,startAngle:a,endAngle:u,value:p[m]},u+=c}for(s=-1;++s<h;)for(l=s-1;++l<h;){var T=y[l*h+s],N=y[s*h+l];(T.value||N.value)&&g.push(T.value<N.value?{source:N,target:T}:{source:T,target:N})}return i?g.sort(i):g}var n=0,e=null,r=null,i=null;return t.padAngle=function(e){return arguments.length?(n=gh(0,e),t):n},t.sortGroups=function(n){return arguments.length?(e=n,t):e},t.sortSubgroups=function(n){return arguments.length?(r=n,t):r},t.sortChords=function(n){return arguments.length?(null==n?i=null:(i=function(t){return function(n,e){return t(n.source.value+n.target.value,e.source.value+e.target.value)}}(n))._=n,t):i&&i._},t},t.ribbon=function(){function t(){var t,a=_h.call(arguments),c=n.apply(this,a),s=e.apply(this,a),f=+r.apply(this,(a[0]=c,a)),l=i.apply(this,a)-dh,h=o.apply(this,a)-dh,p=f*lh(l),d=f*hh(l),v=+r.apply(this,(a[0]=s,a)),g=i.apply(this,a)-dh,_=o.apply(this,a)-dh;if(u||(u=t=ee()),u.moveTo(p,d),u.arc(0,0,f,l,h),l===g&&h===_||(u.quadraticCurveTo(0,0,v*lh(g),v*hh(g)),u.arc(0,0,v,g,_)),u.quadraticCurveTo(0,0,p,d),u.closePath(),t)return u=null,t+""||null}var n=re,e=ie,r=oe,i=ue,o=ae,u=null;return t.radius=function(n){return arguments.length?(r="function"==typeof n?n:te(+n),t):r},t.startAngle=function(n){return arguments.length?(i="function"==typeof n?n:te(+n),t):i},t.endAngle=function(n){return arguments.length?(o="function"==typeof n?n:te(+n),t):o},t.source=function(e){return arguments.length?(n=e,t):n},t.target=function(n){return arguments.length?(e=n,t):e},t.context=function(n){return arguments.length?(u=null==n?null:n,t):u},t},t.nest=function(){function t(n,i,u,a){if(i>=o.length)return null!=e&&n.sort(e),null!=r?r(n):n;for(var c,s,f,l=-1,h=n.length,p=o[i++],d=se(),v=u();++l<h;)(f=d.get(c=p(s=n[l])+""))?f.push(s):d.set(c,[s]);return d.each(function(n,e){a(v,e,t(n,i,u,a))}),v}function n(t,e){if(++e>o.length)return t;var i,a=u[e-1];return null!=r&&e>=o.length?i=t.entries():(i=[],t.each(function(t,r){i.push({key:r,values:n(t,e)})})),null!=a?i.sort(function(t,n){return a(t.key,n.key)}):i}var e,r,i,o=[],u=[];return i={object:function(n){return t(n,0,fe,le)},map:function(n){return t(n,0,he,pe)},entries:function(e){return n(t(e,0,he,pe),0)},key:function(t){return o.push(t),i},sortKeys:function(t){return u[o.length-1]=t,i},sortValues:function(t){return e=t,i},rollup:function(t){return r=t,i}}},t.set=ve,t.map=se,t.keys=function(t){var n=[];for(var e in t)n.push(e);return n},t.values=function(t){var n=[];for(var e in t)n.push(t[e]);return n},t.entries=function(t){var n=[];for(var e in t)n.push({key:e,value:t[e]});return n},t.color=Et,t.rgb=Pt,t.hsl=qt,t.lab=Ft,t.hcl=Xt,t.cubehelix=$t,t.dispatch=N,t.drag=function(){function n(t){t.on("mousedown.drag",e).filter(g).on("touchstart.drag",o).on("touchmove.drag",u).on("touchend.drag touchcancel.drag",a).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function e(){if(!h&&p.apply(this,arguments)){var n=c("mouse",d.apply(this,arguments),pt,this,arguments);n&&(ct(t.event.view).on("mousemove.drag",r,!0).on("mouseup.drag",i,!0),_t(t.event.view),vt(),l=!1,s=t.event.clientX,f=t.event.clientY,n("start"))}}function r(){if(gt(),!l){var n=t.event.clientX-s,e=t.event.clientY-f;l=n*n+e*e>x}_.mouse("drag")}function i(){ct(t.event.view).on("mousemove.drag mouseup.drag",null),yt(t.event.view,l),gt(),_.mouse("end")}function o(){if(p.apply(this,arguments)){var n,e,r=t.event.changedTouches,i=d.apply(this,arguments),o=r.length;for(n=0;n<o;++n)(e=c(r[n].identifier,i,dt,this,arguments))&&(vt(),e("start"))}}function u(){var n,e,r=t.event.changedTouches,i=r.length;for(n=0;n<i;++n)(e=_[r[n].identifier])&&(gt(),e("drag"))}function a(){var n,e,r=t.event.changedTouches,i=r.length;for(h&&clearTimeout(h),h=setTimeout(function(){h=null},500),n=0;n<i;++n)(e=_[r[n].identifier])&&(vt(),e("end"))}function c(e,r,i,o,u){var a,c,s,f=i(r,e),l=y.copy();if(it(new xt(n,"beforestart",a,e,m,f[0],f[1],0,0,l),function(){return null!=(t.event.subject=a=v.apply(o,u))&&(c=a.x-f[0]||0,s=a.y-f[1]||0,!0)}))return function t(h){var p,d=f;switch(h){case"start":_[e]=t,p=m++;break;case"end":delete _[e],--m;case"drag":f=i(r,e),p=m}it(new xt(n,h,a,e,p,f[0]+c,f[1]+s,f[0]-d[0],f[1]-d[1],l),l.apply,l,[h,o,u])}}var s,f,l,h,p=bt,d=wt,v=Mt,g=Tt,_={},y=N("start","drag","end"),m=0,x=0;return n.filter=function(t){return arguments.length?(p="function"==typeof t?t:mt(!!t),n):p},n.container=function(t){return arguments.length?(d="function"==typeof t?t:mt(t),n):d},n.subject=function(t){return arguments.length?(v="function"==typeof t?t:mt(t),n):v},n.touchable=function(t){return arguments.length?(g="function"==typeof t?t:mt(!!t),n):g},n.on=function(){var t=y.on.apply(y,arguments);return t===y?n:t},n.clickDistance=function(t){return arguments.length?(x=(t=+t)*t,n):Math.sqrt(x)},n},t.dragDisable=_t,t.dragEnable=yt,t.dsvFormat=_e,t.csvParse=Eh,t.csvParseRows=Ah,t.csvFormat=Ch,t.csvFormatRows=zh,t.tsvParse=Rh,t.tsvParseRows=Lh,t.tsvFormat=qh,t.tsvFormatRows=Dh,t.easeLinear=function(t){return+t},t.easeQuad=On,t.easeQuadIn=function(t){return t*t},t.easeQuadOut=function(t){return t*(2-t)},t.easeQuadInOut=On,t.easeCubic=Fn,t.easeCubicIn=function(t){return t*t*t},t.easeCubicOut=function(t){return--t*t*t+1},t.easeCubicInOut=Fn,t.easePoly=zl,t.easePolyIn=Al,t.easePolyOut=Cl,t.easePolyInOut=zl,t.easeSin=In,t.easeSinIn=function(t){return 1-Math.cos(t*Rl)},t.easeSinOut=function(t){return Math.sin(t*Rl)},t.easeSinInOut=In,t.easeExp=Yn,t.easeExpIn=function(t){return Math.pow(2,10*t-10)},t.easeExpOut=function(t){return 1-Math.pow(2,-10*t)},t.easeExpInOut=Yn,t.easeCircle=Bn,t.easeCircleIn=function(t){return 1-Math.sqrt(1-t*t)},t.easeCircleOut=function(t){return Math.sqrt(1- --t*t)},t.easeCircleInOut=Bn,t.easeBounce=Hn,t.easeBounceIn=function(t){return 1-Hn(1-t)},t.easeBounceOut=Hn,t.easeBounceInOut=function(t){return((t*=2)<=1?1-Hn(1-t):Hn(t-1)+1)/2},t.easeBack=Vl,t.easeBackIn=jl,t.easeBackOut=Xl,t.easeBackInOut=Vl,t.easeElastic=Zl,t.easeElasticIn=Wl,t.easeElasticOut=Zl,t.easeElasticInOut=Gl,t.forceCenter=function(t,n){function e(){var e,i,o=r.length,u=0,a=0;for(e=0;e<o;++e)u+=(i=r[e]).x,a+=i.y;for(u=u/o-t,a=a/o-n,e=0;e<o;++e)(i=r[e]).x-=u,i.y-=a}var r;return null==t&&(t=0),null==n&&(n=0),e.initialize=function(t){r=t},e.x=function(n){return arguments.length?(t=+n,e):t},e.y=function(t){return arguments.length?(n=+t,e):n},e},t.forceCollide=function(t){function n(){for(var t,n,r,c,s,f,l,h=i.length,p=0;p<a;++p)for(n=Te(i,Se,Ee).visitAfter(e),t=0;t<h;++t)r=i[t],f=o[r.index],l=f*f,c=r.x+r.vx,s=r.y+r.vy,n.visit(function(t,n,e,i,o){var a=t.data,h=t.r,p=f+h;if(!a)return n>c+p||i<c-p||e>s+p||o<s-p;if(a.index>r.index){var d=c-a.x-a.vx,v=s-a.y-a.vy,g=d*d+v*v;g<p*p&&(0===d&&(d=me(),g+=d*d),0===v&&(v=me(),g+=v*v),g=(p-(g=Math.sqrt(g)))/g*u,r.vx+=(d*=g)*(p=(h*=h)/(l+h)),r.vy+=(v*=g)*p,a.vx-=d*(p=1-p),a.vy-=v*p)}})}function e(t){if(t.data)return t.r=o[t.data.index];for(var n=t.r=0;n<4;++n)t[n]&&t[n].r>t.r&&(t.r=t[n].r)}function r(){if(i){var n,e,r=i.length;for(o=new Array(r),n=0;n<r;++n)e=i[n],o[e.index]=+t(e,n,i)}}var i,o,u=1,a=1;return"function"!=typeof t&&(t=ye(null==t?1:+t)),n.initialize=function(t){i=t,r()},n.iterations=function(t){return arguments.length?(a=+t,n):a},n.strength=function(t){return arguments.length?(u=+t,n):u},n.radius=function(e){return arguments.length?(t="function"==typeof e?e:ye(+e),r(),n):t},n},t.forceLink=function(t){function n(n){for(var e=0,r=t.length;e<p;++e)for(var i,a,c,f,l,h,d,v=0;v<r;++v)a=(i=t[v]).source,f=(c=i.target).x+c.vx-a.x-a.vx||me(),l=c.y+c.vy-a.y-a.vy||me(),f*=h=((h=Math.sqrt(f*f+l*l))-u[v])/h*n*o[v],l*=h,c.vx-=f*(d=s[v]),c.vy-=l*d,a.vx+=f*(d=1-d),a.vy+=l*d}function e(){if(a){var n,e,l=a.length,h=t.length,p=se(a,f);for(n=0,c=new Array(l);n<h;++n)(e=t[n]).index=n,"object"!=typeof e.source&&(e.source=Ce(p,e.source)),"object"!=typeof e.target&&(e.target=Ce(p,e.target)),c[e.source.index]=(c[e.source.index]||0)+1,c[e.target.index]=(c[e.target.index]||0)+1;for(n=0,s=new Array(h);n<h;++n)e=t[n],s[n]=c[e.source.index]/(c[e.source.index]+c[e.target.index]);o=new Array(h),r(),u=new Array(h),i()}}function r(){if(a)for(var n=0,e=t.length;n<e;++n)o[n]=+l(t[n],n,t)}function i(){if(a)for(var n=0,e=t.length;n<e;++n)u[n]=+h(t[n],n,t)}var o,u,a,c,s,f=Ae,l=function(t){return 1/Math.min(c[t.source.index],c[t.target.index])},h=ye(30),p=1;return null==t&&(t=[]),n.initialize=function(t){a=t,e()},n.links=function(r){return arguments.length?(t=r,e(),n):t},n.id=function(t){return arguments.length?(f=t,n):f},n.iterations=function(t){return arguments.length?(p=+t,n):p},n.strength=function(t){return arguments.length?(l="function"==typeof t?t:ye(+t),r(),n):l},n.distance=function(t){return arguments.length?(h="function"==typeof t?t:ye(+t),i(),n):h},n},t.forceManyBody=function(){function t(t){var n,a=i.length,c=Te(i,ze,Pe).visitAfter(e);for(u=t,n=0;n<a;++n)o=i[n],c.visit(r)}function n(){if(i){var t,n,e=i.length;for(a=new Array(e),t=0;t<e;++t)n=i[t],a[n.index]=+c(n,t,i)}}function e(t){var n,e,r,i,o,u=0,c=0;if(t.length){for(r=i=o=0;o<4;++o)(n=t[o])&&(e=Math.abs(n.value))&&(u+=n.value,c+=e,r+=e*n.x,i+=e*n.y);t.x=r/c,t.y=i/c}else{(n=t).x=n.data.x,n.y=n.data.y;do{u+=a[n.data.index]}while(n=n.next)}t.value=u}function r(t,n,e,r){if(!t.value)return!0;var i=t.x-o.x,c=t.y-o.y,h=r-n,p=i*i+c*c;if(h*h/l<p)return p<f&&(0===i&&(i=me(),p+=i*i),0===c&&(c=me(),p+=c*c),p<s&&(p=Math.sqrt(s*p)),o.vx+=i*t.value*u/p,o.vy+=c*t.value*u/p),!0;if(!(t.length||p>=f)){(t.data!==o||t.next)&&(0===i&&(i=me(),p+=i*i),0===c&&(c=me(),p+=c*c),p<s&&(p=Math.sqrt(s*p)));do{t.data!==o&&(h=a[t.data.index]*u/p,o.vx+=i*h,o.vy+=c*h)}while(t=t.next)}}var i,o,u,a,c=ye(-30),s=1,f=1/0,l=.81;return t.initialize=function(t){i=t,n()},t.strength=function(e){return arguments.length?(c="function"==typeof e?e:ye(+e),n(),t):c},t.distanceMin=function(n){return arguments.length?(s=n*n,t):Math.sqrt(s)},t.distanceMax=function(n){return arguments.length?(f=n*n,t):Math.sqrt(f)},t.theta=function(n){return arguments.length?(l=n*n,t):Math.sqrt(l)},t},t.forceRadial=function(t,n,e){function r(t){for(var r=0,i=o.length;r<i;++r){var c=o[r],s=c.x-n||1e-6,f=c.y-e||1e-6,l=Math.sqrt(s*s+f*f),h=(a[r]-l)*u[r]*t/l;c.vx+=s*h,c.vy+=f*h}}function i(){if(o){var n,e=o.length;for(u=new Array(e),a=new Array(e),n=0;n<e;++n)a[n]=+t(o[n],n,o),u[n]=isNaN(a[n])?0:+c(o[n],n,o)}}var o,u,a,c=ye(.1);return"function"!=typeof t&&(t=ye(+t)),null==n&&(n=0),null==e&&(e=0),r.initialize=function(t){o=t,i()},r.strength=function(t){return arguments.length?(c="function"==typeof t?t:ye(+t),i(),r):c},r.radius=function(n){return arguments.length?(t="function"==typeof n?n:ye(+n),i(),r):t},r.x=function(t){return arguments.length?(n=+t,r):n},r.y=function(t){return arguments.length?(e=+t,r):e},r},t.forceSimulation=function(t){function n(){e(),p.call("tick",o),u<a&&(h.stop(),p.call("end",o))}function e(){var n,e,r=t.length;for(u+=(s-u)*c,l.each(function(t){t(u)}),n=0;n<r;++n)null==(e=t[n]).fx?e.x+=e.vx*=f:(e.x=e.fx,e.vx=0),null==e.fy?e.y+=e.vy*=f:(e.y=e.fy,e.vy=0)}function r(){for(var n,e=0,r=t.length;e<r;++e){if(n=t[e],n.index=e,isNaN(n.x)||isNaN(n.y)){var i=Fh*Math.sqrt(e),o=e*Ih;n.x=i*Math.cos(o),n.y=i*Math.sin(o)}(isNaN(n.vx)||isNaN(n.vy))&&(n.vx=n.vy=0)}}function i(n){return n.initialize&&n.initialize(t),n}var o,u=1,a=.001,c=1-Math.pow(a,1/300),s=0,f=.6,l=se(),h=wn(n),p=N("tick","end");return null==t&&(t=[]),r(),o={tick:e,restart:function(){return h.restart(n),o},stop:function(){return h.stop(),o},nodes:function(n){return arguments.length?(t=n,r(),l.each(i),o):t},alpha:function(t){return arguments.length?(u=+t,o):u},alphaMin:function(t){return arguments.length?(a=+t,o):a},alphaDecay:function(t){return arguments.length?(c=+t,o):+c},alphaTarget:function(t){return arguments.length?(s=+t,o):s},velocityDecay:function(t){return arguments.length?(f=1-t,o):1-f},force:function(t,n){return arguments.length>1?(null==n?l.remove(t):l.set(t,i(n)),o):l.get(t)},find:function(n,e,r){var i,o,u,a,c,s=0,f=t.length;for(null==r?r=1/0:r*=r,s=0;s<f;++s)(u=(i=n-(a=t[s]).x)*i+(o=e-a.y)*o)<r&&(c=a,r=u);return c},on:function(t,n){return arguments.length>1?(p.on(t,n),o):p.on(t)}}},t.forceX=function(t){function n(t){for(var n,e=0,u=r.length;e<u;++e)(n=r[e]).vx+=(o[e]-n.x)*i[e]*t}function e(){if(r){var n,e=r.length;for(i=new Array(e),o=new Array(e),n=0;n<e;++n)i[n]=isNaN(o[n]=+t(r[n],n,r))?0:+u(r[n],n,r)}}var r,i,o,u=ye(.1);return"function"!=typeof t&&(t=ye(null==t?0:+t)),n.initialize=function(t){r=t,e()},n.strength=function(t){return arguments.length?(u="function"==typeof t?t:ye(+t),e(),n):u},n.x=function(r){return arguments.length?(t="function"==typeof r?r:ye(+r),e(),n):t},n},t.forceY=function(t){function n(t){for(var n,e=0,u=r.length;e<u;++e)(n=r[e]).vy+=(o[e]-n.y)*i[e]*t}function e(){if(r){var n,e=r.length;for(i=new Array(e),o=new Array(e),n=0;n<e;++n)i[n]=isNaN(o[n]=+t(r[n],n,r))?0:+u(r[n],n,r)}}var r,i,o,u=ye(.1);return"function"!=typeof t&&(t=ye(null==t?0:+t)),n.initialize=function(t){r=t,e()},n.strength=function(t){return arguments.length?(u="function"==typeof t?t:ye(+t),e(),n):u},n.y=function(r){return arguments.length?(t="function"==typeof r?r:ye(+r),e(),n):t},n},t.formatDefaultLocale=Ie,t.formatLocale=Fe,t.formatSpecifier=De,t.precisionFixed=Ye,t.precisionPrefix=Be,t.precisionRound=He,t.geoArea=function(t){return Vp.reset(),tr(t,$p),2*Vp},t.geoBounds=function(t){var n,e,r,i,o,u,a;if(Kh=Jh=-(Gh=Qh=1/0),ip=[],tr(t,Zp),e=ip.length){for(ip.sort(xr),n=1,o=[r=ip[0]];n<e;++n)br(r,(i=ip[n])[0])||br(r,i[1])?(mr(r[0],i[1])>mr(r[0],r[1])&&(r[1]=i[1]),mr(i[0],r[1])>mr(r[0],r[1])&&(r[0]=i[0])):o.push(r=i);for(u=-1/0,n=0,r=o[e=o.length-1];n<=e;r=i,++n)i=o[n],(a=mr(r[1],i[0]))>u&&(u=a,Gh=i[0],Jh=r[1])}return ip=op=null,Gh===1/0||Qh===1/0?[[NaN,NaN],[NaN,NaN]]:[[Gh,Qh],[Jh,Kh]]},t.geoCentroid=function(t){up=ap=cp=sp=fp=lp=hp=pp=dp=vp=gp=0,tr(t,Gp);var n=dp,e=vp,r=gp,i=n*n+e*e+r*r;return i<Tp&&(n=lp,e=hp,r=pp,ap<Mp&&(n=cp,e=sp,r=fp),(i=n*n+e*e+r*r)<Tp)?[NaN,NaN]:[Rp(e,n)*Ap,We(r/Yp(i))*Ap]},t.geoCircle=function(){function t(){var t=r.apply(this,arguments),a=i.apply(this,arguments)*Cp,c=o.apply(this,arguments)*Cp;return n=[],e=qr(-t[0]*Cp,-t[1]*Cp,0).invert,Ir(u,a,c,1),t={type:"Polygon",coordinates:[n]},n=e=null,t}var n,e,r=Pr([0,0]),i=Pr(90),o=Pr(6),u={point:function(t,r){n.push(t=e(t,r)),t[0]*=Ap,t[1]*=Ap}};return t.center=function(n){return arguments.length?(r="function"==typeof n?n:Pr([+n[0],+n[1]]),t):r},t.radius=function(n){return arguments.length?(i="function"==typeof n?n:Pr(+n),t):i},t.precision=function(n){return arguments.length?(o="function"==typeof n?n:Pr(+n),t):o},t},t.geoClipAntimeridian=sd,t.geoClipCircle=Qr,t.geoClipExtent=function(){var t,n,e,r=0,i=0,o=960,u=500;return e={stream:function(e){return t&&n===e?t:t=Jr(r,i,o,u)(n=e)},extent:function(a){return arguments.length?(r=+a[0][0],i=+a[0][1],o=+a[1][0],u=+a[1][1],t=n=null,e):[[r,i],[o,u]]}}},t.geoClipRectangle=Jr,t.geoContains=function(t,n){return(t&&gd.hasOwnProperty(t.type)?gd[t.type]:ii)(t,n)},t.geoDistance=ri,t.geoGraticule=hi,t.geoGraticule10=function(){return hi()()},t.geoInterpolate=function(t,n){var e=t[0]*Cp,r=t[1]*Cp,i=n[0]*Cp,o=n[1]*Cp,u=Lp(r),a=Fp(r),c=Lp(o),s=Fp(o),f=u*Lp(e),l=u*Fp(e),h=c*Lp(i),p=c*Fp(i),d=2*We(Yp(Ze(o-r)+u*c*Ze(i-e))),v=Fp(d),g=d?function(t){var n=Fp(t*=d)/v,e=Fp(d-t)/v,r=e*f+n*h,i=e*l+n*p,o=e*a+n*s;return[Rp(i,r)*Ap,Rp(o,Yp(r*r+i*i))*Ap]}:function(){return[e*Ap,r*Ap]};return g.distance=d,g},t.geoLength=ei,t.geoPath=function(t,n){function e(t){return t&&("function"==typeof o&&i.pointRadius(+o.apply(this,arguments)),tr(t,r(i))),i.result()}var r,i,o=4.5;return e.area=function(t){return tr(t,r(xd)),xd.result()},e.measure=function(t){return tr(t,r(Bd)),Bd.result()},e.bounds=function(t){return tr(t,r(Nd)),Nd.result()},e.centroid=function(t){return tr(t,r(qd)),qd.result()},e.projection=function(n){return arguments.length?(r=null==n?(t=null,pi):(t=n).stream,e):t},e.context=function(t){return arguments.length?(i=null==t?(n=null,new Ci):new Si(n=t),"function"!=typeof o&&i.pointRadius(o),e):n},e.pointRadius=function(t){return arguments.length?(o="function"==typeof t?t:(i.pointRadius(+t),+t),e):o},e.projection(t).context(n)},t.geoAlbers=Xi,t.geoAlbersUsa=function(){function t(t){var n=t[0],e=t[1];return a=null,i.point(n,e),a||(o.point(n,e),a)||(u.point(n,e),a)}function n(){return e=r=null,t}var e,r,i,o,u,a,c=Xi(),s=ji().rotate([154,0]).center([-2,58.5]).parallels([55,65]),f=ji().rotate([157,0]).center([-3,19.9]).parallels([8,18]),l={point:function(t,n){a=[t,n]}};return t.invert=function(t){var n=c.scale(),e=c.translate(),r=(t[0]-e[0])/n,i=(t[1]-e[1])/n;return(i>=.12&&i<.234&&r>=-.425&&r<-.214?s:i>=.166&&i<.234&&r>=-.214&&r<-.115?f:c).invert(t)},t.stream=function(t){return e&&r===t?e:e=function(t){var n=t.length;return{point:function(e,r){for(var i=-1;++i<n;)t[i].point(e,r)},sphere:function(){for(var e=-1;++e<n;)t[e].sphere()},lineStart:function(){for(var e=-1;++e<n;)t[e].lineStart()},lineEnd:function(){for(var e=-1;++e<n;)t[e].lineEnd()},polygonStart:function(){for(var e=-1;++e<n;)t[e].polygonStart()},polygonEnd:function(){for(var e=-1;++e<n;)t[e].polygonEnd()}}}([c.stream(r=t),s.stream(t),f.stream(t)])},t.precision=function(t){return arguments.length?(c.precision(t),s.precision(t),f.precision(t),n()):c.precision()},t.scale=function(n){return arguments.length?(c.scale(n),s.scale(.35*n),f.scale(n),t.translate(c.translate())):c.scale()},t.translate=function(t){if(!arguments.length)return c.translate();var e=c.scale(),r=+t[0],a=+t[1];return i=c.translate(t).clipExtent([[r-.455*e,a-.238*e],[r+.455*e,a+.238*e]]).stream(l),o=s.translate([r-.307*e,a+.201*e]).clipExtent([[r-.425*e+Mp,a+.12*e+Mp],[r-.214*e-Mp,a+.234*e-Mp]]).stream(l),u=f.translate([r-.205*e,a+.212*e]).clipExtent([[r-.214*e+Mp,a+.166*e+Mp],[r-.115*e-Mp,a+.234*e-Mp]]).stream(l),n()},t.fitExtent=function(n,e){return qi(t,n,e)},t.fitSize=function(n,e){return Di(t,n,e)},t.fitWidth=function(n,e){return Ui(t,n,e)},t.fitHeight=function(n,e){return Oi(t,n,e)},t.scale(1070)},t.geoAzimuthalEqualArea=function(){return Ii(Vd).scale(124.75).clipAngle(179.999)},t.geoAzimuthalEqualAreaRaw=Vd,t.geoAzimuthalEquidistant=function(){return Ii($d).scale(79.4188).clipAngle(179.999)},t.geoAzimuthalEquidistantRaw=$d,t.geoConicConformal=function(){return Bi(Qi).scale(109.5).parallels([30,30])},t.geoConicConformalRaw=Qi,t.geoConicEqualArea=ji,t.geoConicEqualAreaRaw=Hi,t.geoConicEquidistant=function(){return Bi(Ki).scale(131.154).center([0,13.9389])},t.geoConicEquidistantRaw=Ki,t.geoEquirectangular=function(){return Ii(Ji).scale(152.63)},t.geoEquirectangularRaw=Ji,t.geoGnomonic=function(){return Ii(to).scale(144.049).clipAngle(60)},t.geoGnomonicRaw=to,t.geoIdentity=function(){function t(){return i=o=null,u}var n,e,r,i,o,u,a=1,c=0,s=0,f=1,l=1,h=pi,p=null,d=pi;return u={stream:function(t){return i&&o===t?i:i=h(d(o=t))},postclip:function(i){return arguments.length?(d=i,p=n=e=r=null,t()):d},clipExtent:function(i){return arguments.length?(d=null==i?(p=n=e=r=null,pi):Jr(p=+i[0][0],n=+i[0][1],e=+i[1][0],r=+i[1][1]),t()):null==p?null:[[p,n],[e,r]]},scale:function(n){return arguments.length?(h=no((a=+n)*f,a*l,c,s),t()):a},translate:function(n){return arguments.length?(h=no(a*f,a*l,c=+n[0],s=+n[1]),t()):[c,s]},reflectX:function(n){return arguments.length?(h=no(a*(f=n?-1:1),a*l,c,s),t()):f<0},reflectY:function(n){return arguments.length?(h=no(a*f,a*(l=n?-1:1),c,s),t()):l<0},fitExtent:function(t,n){return qi(u,t,n)},fitSize:function(t,n){return Di(u,t,n)},fitWidth:function(t,n){return Ui(u,t,n)},fitHeight:function(t,n){return Oi(u,t,n)}}},t.geoProjection=Ii,t.geoProjectionMutator=Yi,t.geoMercator=function(){return Zi(Wi).scale(961/Ep)},t.geoMercatorRaw=Wi,t.geoNaturalEarth1=function(){return Ii(eo).scale(175.295)},t.geoNaturalEarth1Raw=eo,t.geoOrthographic=function(){return Ii(ro).scale(249.5).clipAngle(90+Mp)},t.geoOrthographicRaw=ro,t.geoStereographic=function(){return Ii(io).scale(250).clipAngle(142)},t.geoStereographicRaw=io,t.geoTransverseMercator=function(){var t=Zi(oo),n=t.center,e=t.rotate;return t.center=function(t){return arguments.length?n([-t[1],t[0]]):(t=n(),[t[1],-t[0]])},t.rotate=function(t){return arguments.length?e([t[0],t[1],t.length>2?t[2]+90:90]):(t=e(),[t[0],t[1],t[2]-90])},e([0,0,90]).scale(159.155)},t.geoTransverseMercatorRaw=oo,t.geoRotation=Fr,t.geoStream=tr,t.geoTransform=function(t){return{stream:Pi(t)}},t.cluster=function(){function t(t){var o,u=0;t.eachAfter(function(t){var e=t.children;e?(t.x=function(t){return t.reduce(ao,0)/t.length}(e),t.y=function(t){return 1+t.reduce(co,0)}(e)):(t.x=o?u+=n(t,o):0,t.y=0,o=t)});var a=function(t){for(var n;n=t.children;)t=n[0];return t}(t),c=function(t){for(var n;n=t.children;)t=n[n.length-1];return t}(t),s=a.x-n(a,c)/2,f=c.x+n(c,a)/2;return t.eachAfter(i?function(n){n.x=(n.x-t.x)*e,n.y=(t.y-n.y)*r}:function(n){n.x=(n.x-s)/(f-s)*e,n.y=(1-(t.y?n.y/t.y:1))*r})}var n=uo,e=1,r=1,i=!1;return t.separation=function(e){return arguments.length?(n=e,t):n},t.size=function(n){return arguments.length?(i=!1,e=+n[0],r=+n[1],t):i?null:[e,r]},t.nodeSize=function(n){return arguments.length?(i=!0,e=+n[0],r=+n[1],t):i?[e,r]:null},t},t.hierarchy=fo,t.pack=function(){function t(t){return t.x=e/2,t.y=r/2,n?t.eachBefore(zo(n)).eachAfter(Po(i,.5)).eachBefore(Ro(1)):t.eachBefore(zo(Co)).eachAfter(Po(Eo,1)).eachAfter(Po(i,t.r/Math.min(e,r))).eachBefore(Ro(Math.min(e,r)/(2*t.r))),t}var n=null,e=1,r=1,i=Eo;return t.radius=function(e){return arguments.length?(n=function(t){return null==t?null:So(t)}(e),t):n},t.size=function(n){return arguments.length?(e=+n[0],r=+n[1],t):[e,r]},t.padding=function(n){return arguments.length?(i="function"==typeof n?n:Ao(+n),t):i},t},t.packSiblings=function(t){return ko(t),t},t.packEnclose=go,t.partition=function(){function t(t){var o=t.height+1;return t.x0=t.y0=r,t.x1=n,t.y1=e/o,t.eachBefore(function(t,n){return function(e){e.children&&qo(e,e.x0,t*(e.depth+1)/n,e.x1,t*(e.depth+2)/n);var i=e.x0,o=e.y0,u=e.x1-r,a=e.y1-r;u<i&&(i=u=(i+u)/2),a<o&&(o=a=(o+a)/2),e.x0=i,e.y0=o,e.x1=u,e.y1=a}}(e,o)),i&&t.eachBefore(Lo),t}var n=1,e=1,r=0,i=!1;return t.round=function(n){return arguments.length?(i=!!n,t):i},t.size=function(r){return arguments.length?(n=+r[0],e=+r[1],t):[n,e]},t.padding=function(n){return arguments.length?(r=+n,t):r},t},t.stratify=function(){function t(t){var r,i,o,u,a,c,s,f=t.length,l=new Array(f),h={};for(i=0;i<f;++i)r=t[i],a=l[i]=new vo(r),null!=(c=n(r,i,t))&&(c+="")&&(h[s=Zd+(a.id=c)]=s in h?Qd:a);for(i=0;i<f;++i)if(a=l[i],null!=(c=e(t[i],i,t))&&(c+="")){if(!(u=h[Zd+c]))throw new Error("missing: "+c);if(u===Qd)throw new Error("ambiguous: "+c);u.children?u.children.push(a):u.children=[a],a.parent=u}else{if(o)throw new Error("multiple roots");o=a}if(!o)throw new Error("no root");if(o.parent=Gd,o.eachBefore(function(t){t.depth=t.parent.depth+1,--f}).eachBefore(po),o.parent=null,f>0)throw new Error("cycle");return o}var n=Do,e=Uo;return t.id=function(e){return arguments.length?(n=So(e),t):n},t.parentId=function(n){return arguments.length?(e=So(n),t):e},t},t.tree=function(){function t(t){var c=function(t){for(var n,e,r,i,o,u=new Ho(t,0),a=[u];n=a.pop();)if(r=n._.children)for(n.children=new Array(o=r.length),i=o-1;i>=0;--i)a.push(e=n.children[i]=new Ho(r[i],i)),e.parent=n;return(u.parent=new Ho(null,0)).children=[u],u}(t);if(c.eachAfter(n),c.parent.m=-c.z,c.eachBefore(e),a)t.eachBefore(r);else{var s=t,f=t,l=t;t.eachBefore(function(t){t.x<s.x&&(s=t),t.x>f.x&&(f=t),t.depth>l.depth&&(l=t)});var h=s===f?1:i(s,f)/2,p=h-s.x,d=o/(f.x+h+p),v=u/(l.depth||1);t.eachBefore(function(t){t.x=(t.x+p)*d,t.y=t.depth*v})}return t}function n(t){var n=t.children,e=t.parent.children,r=t.i?e[t.i-1]:null;if(n){(function(t){for(var n,e=0,r=0,i=t.children,o=i.length;--o>=0;)(n=i[o]).z+=e,n.m+=e,e+=n.s+(r+=n.c)})(t);var o=(n[0].z+n[n.length-1].z)/2;r?(t.z=r.z+i(t._,r._),t.m=t.z-o):t.z=o}else r&&(t.z=r.z+i(t._,r._));t.parent.A=function(t,n,e){if(n){for(var r,o=t,u=t,a=n,c=o.parent.children[0],s=o.m,f=u.m,l=a.m,h=c.m;a=Io(a),o=Fo(o),a&&o;)c=Fo(c),(u=Io(u)).a=t,(r=a.z+l-o.z-s+i(a._,o._))>0&&(Yo(Bo(a,t,e),t,r),s+=r,f+=r),l+=a.m,s+=o.m,h+=c.m,f+=u.m;a&&!Io(u)&&(u.t=a,u.m+=l-f),o&&!Fo(c)&&(c.t=o,c.m+=s-h,e=t)}return e}(t,r,t.parent.A||e[0])}function e(t){t._.x=t.z+t.parent.m,t.m+=t.parent.m}function r(t){t.x*=o,t.y=t.depth*u}var i=Oo,o=1,u=1,a=null;return t.separation=function(n){return arguments.length?(i=n,t):i},t.size=function(n){return arguments.length?(a=!1,o=+n[0],u=+n[1],t):a?null:[o,u]},t.nodeSize=function(n){return arguments.length?(a=!0,o=+n[0],u=+n[1],t):a?[o,u]:null},t},t.treemap=function(){function t(t){return t.x0=t.y0=0,t.x1=i,t.y1=o,t.eachBefore(n),u=[0],r&&t.eachBefore(Lo),t}function n(t){var n=u[t.depth],r=t.x0+n,i=t.y0+n,o=t.x1-n,h=t.y1-n;o<r&&(r=o=(r+o)/2),h<i&&(i=h=(i+h)/2),t.x0=r,t.y0=i,t.x1=o,t.y1=h,t.children&&(n=u[t.depth+1]=a(t)/2,r+=l(t)-n,i+=c(t)-n,o-=s(t)-n,h-=f(t)-n,o<r&&(r=o=(r+o)/2),h<i&&(i=h=(i+h)/2),e(t,r,i,o,h))}var e=Kd,r=!1,i=1,o=1,u=[0],a=Eo,c=Eo,s=Eo,f=Eo,l=Eo;return t.round=function(n){return arguments.length?(r=!!n,t):r},t.size=function(n){return arguments.length?(i=+n[0],o=+n[1],t):[i,o]},t.tile=function(n){return arguments.length?(e=So(n),t):e},t.padding=function(n){return arguments.length?t.paddingInner(n).paddingOuter(n):t.paddingInner()},t.paddingInner=function(n){return arguments.length?(a="function"==typeof n?n:Ao(+n),t):a},t.paddingOuter=function(n){return arguments.length?t.paddingTop(n).paddingRight(n).paddingBottom(n).paddingLeft(n):t.paddingTop()},t.paddingTop=function(n){return arguments.length?(c="function"==typeof n?n:Ao(+n),t):c},t.paddingRight=function(n){return arguments.length?(s="function"==typeof n?n:Ao(+n),t):s},t.paddingBottom=function(n){return arguments.length?(f="function"==typeof n?n:Ao(+n),t):f},t.paddingLeft=function(n){return arguments.length?(l="function"==typeof n?n:Ao(+n),t):l},t},t.treemapBinary=function(t,n,e,r,i){function o(t,n,e,r,i,u,a){if(t>=n-1){var s=c[t];return s.x0=r,s.y0=i,s.x1=u,void(s.y1=a)}for(var l=f[t],h=e/2+l,p=t+1,d=n-1;p<d;){var v=p+d>>>1;f[v]<h?p=v+1:d=v}h-f[p-1]<f[p]-h&&t+1<p&&--p;var g=f[p]-l,_=e-g;if(u-r>a-i){var y=(r*_+u*g)/e;o(t,p,g,r,i,y,a),o(p,n,_,y,i,u,a)}else{var m=(i*_+a*g)/e;o(t,p,g,r,i,u,m),o(p,n,_,r,m,u,a)}}var u,a,c=t.children,s=c.length,f=new Array(s+1);for(f[0]=a=u=0;u<s;++u)f[u+1]=a+=c[u].value;o(0,s,t.value,n,e,r,i)},t.treemapDice=qo,t.treemapSlice=jo,t.treemapSliceDice=function(t,n,e,r,i){(1&t.depth?jo:qo)(t,n,e,r,i)},t.treemapSquarify=Kd,t.treemapResquarify=tv,t.interpolate=fn,t.interpolateArray=on,t.interpolateBasis=Gt,t.interpolateBasisClosed=Qt,t.interpolateDate=un,t.interpolateNumber=an,t.interpolateObject=cn,t.interpolateRound=ln,t.interpolateString=sn,t.interpolateTransformCss=Gf,t.interpolateTransformSvg=Qf,t.interpolateZoom=vn,t.interpolateRgb=Hf,t.interpolateRgbBasis=jf,t.interpolateRgbBasisClosed=Xf,t.interpolateHsl=el,t.interpolateHslLong=rl,t.interpolateLab=function(t,n){var e=en((t=Ft(t)).l,(n=Ft(n)).l),r=en(t.a,n.a),i=en(t.b,n.b),o=en(t.opacity,n.opacity);return function(n){return t.l=e(n),t.a=r(n),t.b=i(n),t.opacity=o(n),t+""}},t.interpolateHcl=il,t.interpolateHclLong=ol,t.interpolateCubehelix=ul,t.interpolateCubehelixLong=al,t.quantize=function(t,n){for(var e=new Array(n),r=0;r<n;++r)e[r]=t(r/(n-1));return e},t.path=ee,t.polygonArea=function(t){for(var n,e=-1,r=t.length,i=t[r-1],o=0;++e<r;)n=i,i=t[e],o+=n[1]*i[0]-n[0]*i[1];return o/2},t.polygonCentroid=function(t){for(var n,e,r=-1,i=t.length,o=0,u=0,a=t[i-1],c=0;++r<i;)n=a,a=t[r],c+=e=n[0]*a[1]-a[0]*n[1],o+=(n[0]+a[0])*e,u+=(n[1]+a[1])*e;return c*=3,[o/c,u/c]},t.polygonHull=function(t){if((e=t.length)<3)return null;var n,e,r=new Array(e),i=new Array(e);for(n=0;n<e;++n)r[n]=[+t[n][0],+t[n][1],n];for(r.sort($o),n=0;n<e;++n)i[n]=[r[n][0],-r[n][1]];var o=Wo(r),u=Wo(i),a=u[0]===o[0],c=u[u.length-1]===o[o.length-1],s=[];for(n=o.length-1;n>=0;--n)s.push(t[r[o[n]][2]]);for(n=+a;n<u.length-c;++n)s.push(t[r[u[n]][2]]);return s},t.polygonContains=function(t,n){for(var e,r,i=t.length,o=t[i-1],u=n[0],a=n[1],c=o[0],s=o[1],f=!1,l=0;l<i;++l)e=(o=t[l])[0],(r=o[1])>a!=s>a&&u<(c-e)*(a-r)/(s-r)+e&&(f=!f),c=e,s=r;return f},t.polygonLength=function(t){for(var n,e,r=-1,i=t.length,o=t[i-1],u=o[0],a=o[1],c=0;++r<i;)n=u,e=a,n-=u=(o=t[r])[0],e-=a=o[1],c+=Math.sqrt(n*n+e*e);return c},t.quadtree=Te,t.queue=Ko,t.randomUniform=rv,t.randomNormal=iv,t.randomLogNormal=ov,t.randomBates=av,t.randomIrwinHall=uv,t.randomExponential=cv,t.request=nu,t.html=sv,t.json=fv,t.text=lv,t.xml=hv,t.csv=pv,t.tsv=dv,t.scaleBand=ou,t.scalePoint=function(){return uu(ou().paddingInner(1))},t.scaleIdentity=gu,t.scaleLinear=vu,t.scaleLog=Tu,t.scaleOrdinal=iu,t.scaleImplicit=yv,t.scalePow=ku,t.scaleSqrt=function(){return ku().exponent(.5)},t.scaleQuantile=Su,t.scaleQuantize=Eu,t.scaleThreshold=Au,t.scaleTime=function(){return Va(Gv,Wv,Lv,Pv,Cv,Ev,kv,wv,t.timeFormat).domain([new Date(2e3,0,1),new Date(2e3,0,2)])},t.scaleUtc=function(){return Va(xg,yg,ig,eg,tg,Jv,kv,wv,t.utcFormat).domain([Date.UTC(2e3,0,1),Date.UTC(2e3,0,2)])},t.schemeCategory10=Ug,t.schemeCategory20b=Og,t.schemeCategory20c=Fg,t.schemeCategory20=Ig,t.interpolateCubehelixDefault=Yg,t.interpolateRainbow=function(t){(t<0||t>1)&&(t-=Math.floor(t));var n=Math.abs(t-.5);return jg.h=360*t-100,jg.s=1.5-1.5*n,jg.l=.8-.9*n,jg+""},t.interpolateWarm=Bg,t.interpolateCool=Hg,t.interpolateViridis=Xg,t.interpolateMagma=Vg,t.interpolateInferno=$g,t.interpolatePlasma=Wg,t.scaleSequential=Za,t.create=function(t){return ct(A(t).call(document.documentElement))},t.creator=A,t.local=st,t.matcher=of,t.mouse=pt,t.namespace=E,t.namespaces=tf,t.clientPoint=ht,t.select=ct,t.selectAll=function(t){return"string"==typeof t?new ut([document.querySelectorAll(t)],[document.documentElement]):new ut([null==t?[]:t],cf)},t.selection=at,t.selector=z,t.selectorAll=R,t.style=I,t.touch=dt,t.touches=function(t,n){null==n&&(n=lt().touches);for(var e=0,r=n?n.length:0,i=new Array(r);e<r;++e)i[e]=ht(t,n[e]);return i},t.window=F,t.customEvent=it,t.arc=function(){function t(){var t,s,f=+n.apply(this,arguments),l=+e.apply(this,arguments),h=o.apply(this,arguments)-i_,p=u.apply(this,arguments)-i_,d=Zg(p-h),v=p>h;if(c||(c=t=ee()),l<f&&(s=l,l=f,f=s),l>e_)if(d>o_-e_)c.moveTo(l*Qg(h),l*t_(h)),c.arc(0,0,l,h,p,!v),f>e_&&(c.moveTo(f*Qg(p),f*t_(p)),c.arc(0,0,f,p,h,v));else{var g,_,y=h,m=p,x=h,b=p,w=d,M=d,T=a.apply(this,arguments)/2,N=T>e_&&(i?+i.apply(this,arguments):n_(f*f+l*l)),k=Kg(Zg(l-f)/2,+r.apply(this,arguments)),S=k,E=k;if(N>e_){var A=Qa(N/f*t_(T)),C=Qa(N/l*t_(T));(w-=2*A)>e_?(A*=v?1:-1,x+=A,b-=A):(w=0,x=b=(h+p)/2),(M-=2*C)>e_?(C*=v?1:-1,y+=C,m-=C):(M=0,y=m=(h+p)/2)}var z=l*Qg(y),P=l*t_(y),R=f*Qg(b),L=f*t_(b);if(k>e_){var q=l*Qg(m),D=l*t_(m),U=f*Qg(x),O=f*t_(x);if(d<r_){var F=w>e_?function(t,n,e,r,i,o,u,a){var c=e-t,s=r-n,f=u-i,l=a-o,h=(f*(n-o)-l*(t-i))/(l*c-f*s);return[t+h*c,n+h*s]}(z,P,U,O,q,D,R,L):[R,L],I=z-F[0],Y=P-F[1],B=q-F[0],H=D-F[1],j=1/t_(function(t){return t>1?0:t<-1?r_:Math.acos(t)}((I*B+Y*H)/(n_(I*I+Y*Y)*n_(B*B+H*H)))/2),X=n_(F[0]*F[0]+F[1]*F[1]);S=Kg(k,(f-X)/(j-1)),E=Kg(k,(l-X)/(j+1))}}M>e_?E>e_?(g=rc(U,O,z,P,l,E,v),_=rc(q,D,R,L,l,E,v),c.moveTo(g.cx+g.x01,g.cy+g.y01),E<k?c.arc(g.cx,g.cy,E,Gg(g.y01,g.x01),Gg(_.y01,_.x01),!v):(c.arc(g.cx,g.cy,E,Gg(g.y01,g.x01),Gg(g.y11,g.x11),!v),c.arc(0,0,l,Gg(g.cy+g.y11,g.cx+g.x11),Gg(_.cy+_.y11,_.cx+_.x11),!v),c.arc(_.cx,_.cy,E,Gg(_.y11,_.x11),Gg(_.y01,_.x01),!v))):(c.moveTo(z,P),c.arc(0,0,l,y,m,!v)):c.moveTo(z,P),f>e_&&w>e_?S>e_?(g=rc(R,L,q,D,f,-S,v),_=rc(z,P,U,O,f,-S,v),c.lineTo(g.cx+g.x01,g.cy+g.y01),S<k?c.arc(g.cx,g.cy,S,Gg(g.y01,g.x01),Gg(_.y01,_.x01),!v):(c.arc(g.cx,g.cy,S,Gg(g.y01,g.x01),Gg(g.y11,g.x11),!v),c.arc(0,0,f,Gg(g.cy+g.y11,g.cx+g.x11),Gg(_.cy+_.y11,_.cx+_.x11),v),c.arc(_.cx,_.cy,S,Gg(_.y11,_.x11),Gg(_.y01,_.x01),!v))):c.arc(0,0,f,b,x,v):c.lineTo(R,L)}else c.moveTo(0,0);if(c.closePath(),t)return c=null,t+""||null}var n=Ja,e=Ka,r=Ga(0),i=null,o=tc,u=nc,a=ec,c=null;return t.centroid=function(){var t=(+n.apply(this,arguments)+ +e.apply(this,arguments))/2,r=(+o.apply(this,arguments)+ +u.apply(this,arguments))/2-r_/2;return[Qg(r)*t,t_(r)*t]},t.innerRadius=function(e){return arguments.length?(n="function"==typeof e?e:Ga(+e),t):n},t.outerRadius=function(n){return arguments.length?(e="function"==typeof n?n:Ga(+n),t):e},t.cornerRadius=function(n){return arguments.length?(r="function"==typeof n?n:Ga(+n),t):r},t.padRadius=function(n){return arguments.length?(i=null==n?null:"function"==typeof n?n:Ga(+n),t):i},t.startAngle=function(n){return arguments.length?(o="function"==typeof n?n:Ga(+n),t):o},t.endAngle=function(n){return arguments.length?(u="function"==typeof n?n:Ga(+n),t):u},t.padAngle=function(n){return arguments.length?(a="function"==typeof n?n:Ga(+n),t):a},t.context=function(n){return arguments.length?(c=null==n?null:n,t):c},t},t.area=sc,t.line=cc,t.pie=function(){function t(t){var a,c,s,f,l,h=t.length,p=0,d=new Array(h),v=new Array(h),g=+i.apply(this,arguments),_=Math.min(o_,Math.max(-o_,o.apply(this,arguments)-g)),y=Math.min(Math.abs(_)/h,u.apply(this,arguments)),m=y*(_<0?-1:1);for(a=0;a<h;++a)(l=v[d[a]=a]=+n(t[a],a,t))>0&&(p+=l);for(null!=e?d.sort(function(t,n){return e(v[t],v[n])}):null!=r&&d.sort(function(n,e){return r(t[n],t[e])}),a=0,s=p?(_-h*m)/p:0;a<h;++a,g=f)c=d[a],f=g+((l=v[c])>0?l*s:0)+m,v[c]={data:t[c],index:a,value:l,startAngle:g,endAngle:f,padAngle:y};return v}var n=lc,e=fc,r=null,i=Ga(0),o=Ga(o_),u=Ga(0);return t.value=function(e){return arguments.length?(n="function"==typeof e?e:Ga(+e),t):n},t.sortValues=function(n){return arguments.length?(e=n,r=null,t):e},t.sort=function(n){return arguments.length?(r=n,e=null,t):r},t.startAngle=function(n){return arguments.length?(i="function"==typeof n?n:Ga(+n),t):i},t.endAngle=function(n){return arguments.length?(o="function"==typeof n?n:Ga(+n),t):o},t.padAngle=function(n){return arguments.length?(u="function"==typeof n?n:Ga(+n),t):u},t},t.areaRadial=gc,t.radialArea=gc,t.lineRadial=vc,t.radialLine=vc,t.pointRadial=_c,t.linkHorizontal=function(){return xc(bc)},t.linkVertical=function(){return xc(wc)},t.linkRadial=function(){var t=xc(Mc);return t.angle=t.x,delete t.x,t.radius=t.y,delete t.y,t},t.symbol=function(){function t(){var t;if(r||(r=t=ee()),n.apply(this,arguments).draw(r,+e.apply(this,arguments)),t)return r=null,t+""||null}var n=Ga(c_),e=Ga(64),r=null;return t.type=function(e){return arguments.length?(n="function"==typeof e?e:Ga(e),t):n},t.size=function(n){return arguments.length?(e="function"==typeof n?n:Ga(+n),t):e},t.context=function(n){return arguments.length?(r=null==n?null:n,t):r},t},t.symbols=T_,t.symbolCircle=c_,t.symbolCross=s_,t.symbolDiamond=h_,t.symbolSquare=__,t.symbolStar=g_,t.symbolTriangle=m_,t.symbolWye=M_,t.curveBasisClosed=function(t){return new Sc(t)},t.curveBasisOpen=function(t){return new Ec(t)},t.curveBasis=function(t){return new kc(t)},t.curveBundle=N_,t.curveCardinalClosed=S_,t.curveCardinalOpen=E_,t.curveCardinal=k_,t.curveCatmullRomClosed=C_,t.curveCatmullRomOpen=z_,t.curveCatmullRom=A_,t.curveLinearClosed=function(t){return new Oc(t)},t.curveLinear=oc,t.curveMonotoneX=function(t){return new Hc(t)},t.curveMonotoneY=function(t){return new jc(t)},t.curveNatural=function(t){return new Vc(t)},t.curveStep=function(t){return new Wc(t,.5)},t.curveStepAfter=function(t){return new Wc(t,1)},t.curveStepBefore=function(t){return new Wc(t,0)},t.stack=function(){function t(t){var o,u,a=n.apply(this,arguments),c=t.length,s=a.length,f=new Array(s);for(o=0;o<s;++o){for(var l,h=a[o],p=f[o]=new Array(c),d=0;d<c;++d)p[d]=l=[0,+i(t[d],h,d,t)],l.data=t[d];p.key=h}for(o=0,u=e(f);o<s;++o)f[u[o]].index=o;return r(f,u),f}var n=Ga([]),e=Gc,r=Zc,i=Qc;return t.keys=function(e){return arguments.length?(n="function"==typeof e?e:Ga(a_.call(e)),t):n},t.value=function(n){return arguments.length?(i="function"==typeof n?n:Ga(+n),t):i},t.order=function(n){return arguments.length?(e=null==n?Gc:"function"==typeof n?n:Ga(a_.call(n)),t):e},t.offset=function(n){return arguments.length?(r=null==n?Zc:n,t):r},t},t.stackOffsetExpand=function(t,n){if((r=t.length)>0){for(var e,r,i,o=0,u=t[0].length;o<u;++o){for(i=e=0;e<r;++e)i+=t[e][o][1]||0;if(i)for(e=0;e<r;++e)t[e][o][1]/=i}Zc(t,n)}},t.stackOffsetDiverging=function(t,n){if((a=t.length)>1)for(var e,r,i,o,u,a,c=0,s=t[n[0]].length;c<s;++c)for(o=u=0,e=0;e<a;++e)(i=(r=t[n[e]][c])[1]-r[0])>=0?(r[0]=o,r[1]=o+=i):i<0?(r[1]=u,r[0]=u+=i):r[0]=o},t.stackOffsetNone=Zc,t.stackOffsetSilhouette=function(t,n){if((e=t.length)>0){for(var e,r=0,i=t[n[0]],o=i.length;r<o;++r){for(var u=0,a=0;u<e;++u)a+=t[u][r][1]||0;i[r][1]+=i[r][0]=-a/2}Zc(t,n)}},t.stackOffsetWiggle=function(t,n){if((i=t.length)>0&&(r=(e=t[n[0]]).length)>0){for(var e,r,i,o=0,u=1;u<r;++u){for(var a=0,c=0,s=0;a<i;++a){for(var f=t[n[a]],l=f[u][1]||0,h=(l-(f[u-1][1]||0))/2,p=0;p<a;++p){var d=t[n[p]];h+=(d[u][1]||0)-(d[u-1][1]||0)}c+=l,s+=h*l}e[u-1][1]+=e[u-1][0]=o,c&&(o-=s/c)}e[u-1][1]+=e[u-1][0]=o,Zc(t,n)}},t.stackOrderAscending=Jc,t.stackOrderDescending=function(t){return Jc(t).reverse()},t.stackOrderInsideOut=function(t){var n,e,r=t.length,i=t.map(Kc),o=Gc(t).sort(function(t,n){return i[n]-i[t]}),u=0,a=0,c=[],s=[];for(n=0;n<r;++n)e=o[n],u<a?(u+=i[e],c.push(e)):(a+=i[e],s.push(e));return s.reverse().concat(c)},t.stackOrderNone=Gc,t.stackOrderReverse=function(t){return Gc(t).reverse()},t.timeInterval=Cu,t.timeMillisecond=wv,t.timeMilliseconds=Mv,t.utcMillisecond=wv,t.utcMilliseconds=Mv,t.timeSecond=kv,t.timeSeconds=Sv,t.utcSecond=kv,t.utcSeconds=Sv,t.timeMinute=Ev,t.timeMinutes=Av,t.timeHour=Cv,t.timeHours=zv,t.timeDay=Pv,t.timeDays=Rv,t.timeWeek=Lv,t.timeWeeks=Yv,t.timeSunday=Lv,t.timeSundays=Yv,t.timeMonday=qv,t.timeMondays=Bv,t.timeTuesday=Dv,t.timeTuesdays=Hv,t.timeWednesday=Uv,t.timeWednesdays=jv,t.timeThursday=Ov,t.timeThursdays=Xv,t.timeFriday=Fv,t.timeFridays=Vv,t.timeSaturday=Iv,t.timeSaturdays=$v,t.timeMonth=Wv,t.timeMonths=Zv,t.timeYear=Gv,t.timeYears=Qv,t.utcMinute=Jv,t.utcMinutes=Kv,t.utcHour=tg,t.utcHours=ng,t.utcDay=eg,t.utcDays=rg,t.utcWeek=ig,t.utcWeeks=lg,t.utcSunday=ig,t.utcSundays=lg,t.utcMonday=og,t.utcMondays=hg,t.utcTuesday=ug,t.utcTuesdays=pg,t.utcWednesday=ag,t.utcWednesdays=dg,t.utcThursday=cg,t.utcThursdays=vg,t.utcFriday=sg,t.utcFridays=gg,t.utcSaturday=fg,t.utcSaturdays=_g,t.utcMonth=yg,t.utcMonths=mg,t.utcYear=xg,t.utcYears=wg,t.timeFormatDefaultLocale=Ha,t.timeFormatLocale=Du,t.isoFormat=Eg,t.isoParse=Ag,t.now=mn,t.timer=wn,t.timerFlush=Mn,t.timeout=Sn,t.interval=function(t,n,e){var r=new bn,i=n;return null==n?(r.restart(t,n,e),r):(n=+n,e=null==e?mn():+e,r.restart(function o(u){u+=i,r.restart(o,i+=n,e),t(u)},n,e),r)},t.transition=Dn,t.active=function(t,n){var e,r,i=t.__transition;if(i){n=null==n?null:n+"";for(r in i)if((e=i[r]).state>xl&&e.name===n)return new qn([[t]],Jl,n,+r)}return null},t.interrupt=Pn,t.voronoi=function(){function t(t){return new Ns(t.map(function(r,i){var o=[Math.round(n(r,i,t)/F_)*F_,Math.round(e(r,i,t)/F_)*F_];return o.index=i,o.data=r,o}),r)}var n=ns,e=es,r=null;return t.polygons=function(n){return t(n).polygons()},t.links=function(n){return t(n).links()},t.triangles=function(n){return t(n).triangles()},t.x=function(e){return arguments.length?(n="function"==typeof e?e:ts(+e),t):n},t.y=function(n){return arguments.length?(e="function"==typeof n?n:ts(+n),t):e},t.extent=function(n){return arguments.length?(r=null==n?null:[[+n[0][0],+n[0][1]],[+n[1][0],+n[1][1]]],t):r&&[[r[0][0],r[0][1]],[r[1][0],r[1][1]]]},t.size=function(n){return arguments.length?(r=null==n?null:[[0,0],[+n[0],+n[1]]],t):r&&[r[1][0]-r[0][0],r[1][1]-r[0][1]]},t},t.zoom=function(){function n(t){t.property("__zoom",Rs).on("wheel.zoom",c).on("mousedown.zoom",s).on("dblclick.zoom",f).filter(x).on("touchstart.zoom",l).on("touchmove.zoom",h).on("touchend.zoom touchcancel.zoom",p).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function e(t,n){return(n=Math.max(b[0],Math.min(b[1],n)))===t.k?t:new Ss(n,t.x,t.y)}function r(t,n,e){var r=n[0]-e[0]*t.k,i=n[1]-e[1]*t.k;return r===t.x&&i===t.y?t:new Ss(t.k,r,i)}function i(t){return[(+t[0][0]+ +t[1][0])/2,(+t[0][1]+ +t[1][1])/2]}function o(t,n,e){t.on("start.zoom",function(){u(this,arguments).start()}).on("interrupt.zoom end.zoom",function(){u(this,arguments).end()}).tween("zoom",function(){var t=arguments,r=u(this,t),o=_.apply(this,t),a=e||i(o),c=Math.max(o[1][0]-o[0][0],o[1][1]-o[0][1]),s=this.__zoom,f="function"==typeof n?n.apply(this,t):n,l=T(s.invert(a).concat(c/s.k),f.invert(a).concat(c/f.k));return function(t){if(1===t)t=f;else{var n=l(t),e=c/n[2];t=new Ss(e,a[0]-n[0]*e,a[1]-n[1]*e)}r.zoom(null,t)}})}function u(t,n){for(var e,r=0,i=k.length;r<i;++r)if((e=k[r]).that===t)return e;return new a(t,n)}function a(t,n){this.that=t,this.args=n,this.index=-1,this.active=0,this.extent=_.apply(t,n)}function c(){if(g.apply(this,arguments)){var t=u(this,arguments),n=this.__zoom,i=Math.max(b[0],Math.min(b[1],n.k*Math.pow(2,m.apply(this,arguments)))),o=pt(this);if(t.wheel)t.mouse[0][0]===o[0]&&t.mouse[0][1]===o[1]||(t.mouse[1]=n.invert(t.mouse[0]=o)),clearTimeout(t.wheel);else{if(n.k===i)return;t.mouse=[o,n.invert(o)],Pn(this),t.start()}Cs(),t.wheel=setTimeout(function(){t.wheel=null,t.end()},A),t.zoom("mouse",y(r(e(n,i),t.mouse[0],t.mouse[1]),t.extent,w))}}function s(){if(!v&&g.apply(this,arguments)){var n=u(this,arguments),e=ct(t.event.view).on("mousemove.zoom",function(){if(Cs(),!n.moved){var e=t.event.clientX-o,i=t.event.clientY-a;n.moved=e*e+i*i>C}n.zoom("mouse",y(r(n.that.__zoom,n.mouse[0]=pt(n.that),n.mouse[1]),n.extent,w))},!0).on("mouseup.zoom",function(){e.on("mousemove.zoom mouseup.zoom",null),yt(t.event.view,n.moved),Cs(),n.end()},!0),i=pt(this),o=t.event.clientX,a=t.event.clientY;_t(t.event.view),As(),n.mouse=[i,this.__zoom.invert(i)],Pn(this),n.start()}}function f(){if(g.apply(this,arguments)){var i=this.__zoom,u=pt(this),a=i.invert(u),c=i.k*(t.event.shiftKey?.5:2),s=y(r(e(i,c),u,a),_.apply(this,arguments),w);Cs(),M>0?ct(this).transition().duration(M).call(o,s,u):ct(this).call(n.transform,s)}}function l(){if(g.apply(this,arguments)){var n,e,r,i,o=u(this,arguments),a=t.event.changedTouches,c=a.length;for(As(),e=0;e<c;++e)i=[i=dt(this,a,(r=a[e]).identifier),this.__zoom.invert(i),r.identifier],o.touch0?o.touch1||(o.touch1=i):(o.touch0=i,n=!0);if(d&&(d=clearTimeout(d),!o.touch1))return o.end(),void((i=ct(this).on("dblclick.zoom"))&&i.apply(this,arguments));n&&(d=setTimeout(function(){d=null},E),Pn(this),o.start())}}function h(){var n,i,o,a,c=u(this,arguments),s=t.event.changedTouches,f=s.length;for(Cs(),d&&(d=clearTimeout(d)),n=0;n<f;++n)o=dt(this,s,(i=s[n]).identifier),c.touch0&&c.touch0[2]===i.identifier?c.touch0[0]=o:c.touch1&&c.touch1[2]===i.identifier&&(c.touch1[0]=o);if(i=c.that.__zoom,c.touch1){var l=c.touch0[0],h=c.touch0[1],p=c.touch1[0],v=c.touch1[1],g=(g=p[0]-l[0])*g+(g=p[1]-l[1])*g,_=(_=v[0]-h[0])*_+(_=v[1]-h[1])*_;i=e(i,Math.sqrt(g/_)),o=[(l[0]+p[0])/2,(l[1]+p[1])/2],a=[(h[0]+v[0])/2,(h[1]+v[1])/2]}else{if(!c.touch0)return;o=c.touch0[0],a=c.touch0[1]}c.zoom("touch",y(r(i,o,a),c.extent,w))}function p(){var n,e,r=u(this,arguments),i=t.event.changedTouches,o=i.length;for(As(),v&&clearTimeout(v),v=setTimeout(function(){v=null},E),n=0;n<o;++n)e=i[n],r.touch0&&r.touch0[2]===e.identifier?delete r.touch0:r.touch1&&r.touch1[2]===e.identifier&&delete r.touch1;r.touch1&&!r.touch0&&(r.touch0=r.touch1,delete r.touch1),r.touch0?r.touch0[1]=this.__zoom.invert(r.touch0[0]):r.end()}var d,v,g=zs,_=Ps,y=Ds,m=Ls,x=qs,b=[0,1/0],w=[[-1/0,-1/0],[1/0,1/0]],M=250,T=vn,k=[],S=N("start","zoom","end"),E=500,A=150,C=0;return n.transform=function(t,n){var e=t.selection?t.selection():t;e.property("__zoom",Rs),t!==e?o(t,n):e.interrupt().each(function(){u(this,arguments).start().zoom(null,"function"==typeof n?n.apply(this,arguments):n).end()})},n.scaleBy=function(t,e){n.scaleTo(t,function(){return this.__zoom.k*("function"==typeof e?e.apply(this,arguments):e)})},n.scaleTo=function(t,o){n.transform(t,function(){var t=_.apply(this,arguments),n=this.__zoom,u=i(t),a=n.invert(u),c="function"==typeof o?o.apply(this,arguments):o;return y(r(e(n,c),u,a),t,w)})},n.translateBy=function(t,e,r){n.transform(t,function(){return y(this.__zoom.translate("function"==typeof e?e.apply(this,arguments):e,"function"==typeof r?r.apply(this,arguments):r),_.apply(this,arguments),w)})},n.translateTo=function(t,e,r){n.transform(t,function(){var t=_.apply(this,arguments),n=this.__zoom,o=i(t);return y(Y_.translate(o[0],o[1]).scale(n.k).translate("function"==typeof e?-e.apply(this,arguments):-e,"function"==typeof r?-r.apply(this,arguments):-r),t,w)})},a.prototype={start:function(){return 1==++this.active&&(this.index=k.push(this)-1,this.emit("start")),this},zoom:function(t,n){return this.mouse&&"mouse"!==t&&(this.mouse[1]=n.invert(this.mouse[0])),this.touch0&&"touch"!==t&&(this.touch0[1]=n.invert(this.touch0[0])),this.touch1&&"touch"!==t&&(this.touch1[1]=n.invert(this.touch1[0])),this.that.__zoom=n,this.emit("zoom"),this},end:function(){return 0==--this.active&&(k.splice(this.index,1),this.index=-1,this.emit("end")),this},emit:function(t){it(new function(t,n,e){this.target=t,this.type=n,this.transform=e}(n,t,this.that.__zoom),S.apply,S,[t,this.that,this.args])}},n.wheelDelta=function(t){return arguments.length?(m="function"==typeof t?t:ks(+t),n):m},n.filter=function(t){return arguments.length?(g="function"==typeof t?t:ks(!!t),n):g},n.touchable=function(t){return arguments.length?(x="function"==typeof t?t:ks(!!t),n):x},n.extent=function(t){return arguments.length?(_="function"==typeof t?t:ks([[+t[0][0],+t[0][1]],[+t[1][0],+t[1][1]]]),n):_},n.scaleExtent=function(t){return arguments.length?(b[0]=+t[0],b[1]=+t[1],n):[b[0],b[1]]},n.translateExtent=function(t){return arguments.length?(w[0][0]=+t[0][0],w[1][0]=+t[1][0],w[0][1]=+t[0][1],w[1][1]=+t[1][1],n):[[w[0][0],w[0][1]],[w[1][0],w[1][1]]]},n.constrain=function(t){return arguments.length?(y=t,n):y},n.duration=function(t){return arguments.length?(M=+t,n):M},n.interpolate=function(t){return arguments.length?(T=t,n):T},n.on=function(){var t=S.on.apply(S,arguments);return t===S?n:t},n.clickDistance=function(t){return arguments.length?(C=(t=+t)*t,n):Math.sqrt(C)},n},t.zoomTransform=Es,t.zoomIdentity=Y_,Object.defineProperty(t,"__esModule",{value:!0})}); \ No newline at end of file
diff --git a/priv/static/js/jquery3.1.0.min.js b/priv/static/js/jquery3.1.0.min.js
new file mode 100644
index 0000000..f6a6a99
--- /dev/null
+++ b/priv/static/js/jquery3.1.0.min.js
@@ -0,0 +1,4 @@
+/*! jQuery v3.1.0 | (c) jQuery Foundation | jquery.org/license */
+!function(a,b){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){"use strict";var c=[],d=a.document,e=Object.getPrototypeOf,f=c.slice,g=c.concat,h=c.push,i=c.indexOf,j={},k=j.toString,l=j.hasOwnProperty,m=l.toString,n=m.call(Object),o={};function p(a,b){b=b||d;var c=b.createElement("script");c.text=a,b.head.appendChild(c).parentNode.removeChild(c)}var q="3.1.0",r=function(a,b){return new r.fn.init(a,b)},s=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,t=/^-ms-/,u=/-([a-z])/g,v=function(a,b){return b.toUpperCase()};r.fn=r.prototype={jquery:q,constructor:r,length:0,toArray:function(){return f.call(this)},get:function(a){return null!=a?a<0?this[a+this.length]:this[a]:f.call(this)},pushStack:function(a){var b=r.merge(this.constructor(),a);return b.prevObject=this,b},each:function(a){return r.each(this,a)},map:function(a){return this.pushStack(r.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(f.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(a<0?b:0);return this.pushStack(c>=0&&c<b?[this[c]]:[])},end:function(){return this.prevObject||this.constructor()},push:h,sort:c.sort,splice:c.splice},r.extend=r.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||r.isFunction(g)||(g={}),h===i&&(g=this,h--);h<i;h++)if(null!=(a=arguments[h]))for(b in a)c=g[b],d=a[b],g!==d&&(j&&d&&(r.isPlainObject(d)||(e=r.isArray(d)))?(e?(e=!1,f=c&&r.isArray(c)?c:[]):f=c&&r.isPlainObject(c)?c:{},g[b]=r.extend(j,f,d)):void 0!==d&&(g[b]=d));return g},r.extend({expando:"jQuery"+(q+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===r.type(a)},isArray:Array.isArray,isWindow:function(a){return null!=a&&a===a.window},isNumeric:function(a){var b=r.type(a);return("number"===b||"string"===b)&&!isNaN(a-parseFloat(a))},isPlainObject:function(a){var b,c;return!(!a||"[object Object]"!==k.call(a))&&(!(b=e(a))||(c=l.call(b,"constructor")&&b.constructor,"function"==typeof c&&m.call(c)===n))},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?j[k.call(a)]||"object":typeof a},globalEval:function(a){p(a)},camelCase:function(a){return a.replace(t,"ms-").replace(u,v)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b){var c,d=0;if(w(a)){for(c=a.length;d<c;d++)if(b.call(a[d],d,a[d])===!1)break}else for(d in a)if(b.call(a[d],d,a[d])===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(s,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(w(Object(a))?r.merge(c,"string"==typeof a?[a]:a):h.call(c,a)),c},inArray:function(a,b,c){return null==b?-1:i.call(b,a,c)},merge:function(a,b){for(var c=+b.length,d=0,e=a.length;d<c;d++)a[e++]=b[d];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;f<g;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,e,f=0,h=[];if(w(a))for(d=a.length;f<d;f++)e=b(a[f],f,c),null!=e&&h.push(e);else for(f in a)e=b(a[f],f,c),null!=e&&h.push(e);return g.apply([],h)},guid:1,proxy:function(a,b){var c,d,e;if("string"==typeof b&&(c=a[b],b=a,a=c),r.isFunction(a))return d=f.call(arguments,2),e=function(){return a.apply(b||this,d.concat(f.call(arguments)))},e.guid=a.guid=a.guid||r.guid++,e},now:Date.now,support:o}),"function"==typeof Symbol&&(r.fn[Symbol.iterator]=c[Symbol.iterator]),r.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(a,b){j["[object "+b+"]"]=b.toLowerCase()});function w(a){var b=!!a&&"length"in a&&a.length,c=r.type(a);return"function"!==c&&!r.isWindow(a)&&("array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a)}var x=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+1*new Date,v=a.document,w=0,x=0,y=ha(),z=ha(),A=ha(),B=function(a,b){return a===b&&(l=!0),0},C={}.hasOwnProperty,D=[],E=D.pop,F=D.push,G=D.push,H=D.slice,I=function(a,b){for(var c=0,d=a.length;c<d;c++)if(a[c]===b)return c;return-1},J="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",K="[\\x20\\t\\r\\n\\f]",L="(?:\\\\.|[\\w-]|[^\0-\\xa0])+",M="\\["+K+"*("+L+")(?:"+K+"*([*^$|!~]?=)"+K+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+L+"))|)"+K+"*\\]",N=":("+L+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+M+")*)|.*)\\)|)",O=new RegExp(K+"+","g"),P=new RegExp("^"+K+"+|((?:^|[^\\\\])(?:\\\\.)*)"+K+"+$","g"),Q=new RegExp("^"+K+"*,"+K+"*"),R=new RegExp("^"+K+"*([>+~]|"+K+")"+K+"*"),S=new RegExp("="+K+"*([^\\]'\"]*?)"+K+"*\\]","g"),T=new RegExp(N),U=new RegExp("^"+L+"$"),V={ID:new RegExp("^#("+L+")"),CLASS:new RegExp("^\\.("+L+")"),TAG:new RegExp("^("+L+"|[*])"),ATTR:new RegExp("^"+M),PSEUDO:new RegExp("^"+N),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+K+"*(even|odd|(([+-]|)(\\d*)n|)"+K+"*(?:([+-]|)"+K+"*(\\d+)|))"+K+"*\\)|)","i"),bool:new RegExp("^(?:"+J+")$","i"),needsContext:new RegExp("^"+K+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+K+"*((?:-\\d)?\\d*)"+K+"*\\)|)(?=[^-]|$)","i")},W=/^(?:input|select|textarea|button)$/i,X=/^h\d$/i,Y=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,$=/[+~]/,_=new RegExp("\\\\([\\da-f]{1,6}"+K+"?|("+K+")|.)","ig"),aa=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:d<0?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)},ba=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\x80-\uFFFF\w-]/g,ca=function(a,b){return b?"\0"===a?"\ufffd":a.slice(0,-1)+"\\"+a.charCodeAt(a.length-1).toString(16)+" ":"\\"+a},da=function(){m()},ea=ta(function(a){return a.disabled===!0},{dir:"parentNode",next:"legend"});try{G.apply(D=H.call(v.childNodes),v.childNodes),D[v.childNodes.length].nodeType}catch(fa){G={apply:D.length?function(a,b){F.apply(a,H.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function ga(a,b,d,e){var f,h,j,k,l,o,r,s=b&&b.ownerDocument,w=b?b.nodeType:9;if(d=d||[],"string"!=typeof a||!a||1!==w&&9!==w&&11!==w)return d;if(!e&&((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,p)){if(11!==w&&(l=Z.exec(a)))if(f=l[1]){if(9===w){if(!(j=b.getElementById(f)))return d;if(j.id===f)return d.push(j),d}else if(s&&(j=s.getElementById(f))&&t(b,j)&&j.id===f)return d.push(j),d}else{if(l[2])return G.apply(d,b.getElementsByTagName(a)),d;if((f=l[3])&&c.getElementsByClassName&&b.getElementsByClassName)return G.apply(d,b.getElementsByClassName(f)),d}if(c.qsa&&!A[a+" "]&&(!q||!q.test(a))){if(1!==w)s=b,r=a;else if("object"!==b.nodeName.toLowerCase()){(k=b.getAttribute("id"))?k=k.replace(ba,ca):b.setAttribute("id",k=u),o=g(a),h=o.length;while(h--)o[h]="#"+k+" "+sa(o[h]);r=o.join(","),s=$.test(a)&&qa(b.parentNode)||b}if(r)try{return G.apply(d,s.querySelectorAll(r)),d}catch(x){}finally{k===u&&b.removeAttribute("id")}}}return i(a.replace(P,"$1"),b,d,e)}function ha(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function ia(a){return a[u]=!0,a}function ja(a){var b=n.createElement("fieldset");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function ka(a,b){var c=a.split("|"),e=c.length;while(e--)d.attrHandle[c[e]]=b}function la(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&a.sourceIndex-b.sourceIndex;if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function ma(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function na(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function oa(a){return function(b){return"label"in b&&b.disabled===a||"form"in b&&b.disabled===a||"form"in b&&b.disabled===!1&&(b.isDisabled===a||b.isDisabled!==!a&&("label"in b||!ea(b))!==a)}}function pa(a){return ia(function(b){return b=+b,ia(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function qa(a){return a&&"undefined"!=typeof a.getElementsByTagName&&a}c=ga.support={},f=ga.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return!!b&&"HTML"!==b.nodeName},m=ga.setDocument=function(a){var b,e,g=a?a.ownerDocument||a:v;return g!==n&&9===g.nodeType&&g.documentElement?(n=g,o=n.documentElement,p=!f(n),v!==n&&(e=n.defaultView)&&e.top!==e&&(e.addEventListener?e.addEventListener("unload",da,!1):e.attachEvent&&e.attachEvent("onunload",da)),c.attributes=ja(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=ja(function(a){return a.appendChild(n.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=Y.test(n.getElementsByClassName),c.getById=ja(function(a){return o.appendChild(a).id=u,!n.getElementsByName||!n.getElementsByName(u).length}),c.getById?(d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c=b.getElementById(a);return c?[c]:[]}},d.filter.ID=function(a){var b=a.replace(_,aa);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(_,aa);return function(a){var c="undefined"!=typeof a.getAttributeNode&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return"undefined"!=typeof b.getElementsByTagName?b.getElementsByTagName(a):c.qsa?b.querySelectorAll(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){if("undefined"!=typeof b.getElementsByClassName&&p)return b.getElementsByClassName(a)},r=[],q=[],(c.qsa=Y.test(n.querySelectorAll))&&(ja(function(a){o.appendChild(a).innerHTML="<a id='"+u+"'></a><select id='"+u+"-\r\\' msallowcapture=''><option selected=''></option></select>",a.querySelectorAll("[msallowcapture^='']").length&&q.push("[*^$]="+K+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+K+"*(?:value|"+J+")"),a.querySelectorAll("[id~="+u+"-]").length||q.push("~="),a.querySelectorAll(":checked").length||q.push(":checked"),a.querySelectorAll("a#"+u+"+*").length||q.push(".#.+[+~]")}),ja(function(a){a.innerHTML="<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>";var b=n.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+K+"*[*^$|!~]?="),2!==a.querySelectorAll(":enabled").length&&q.push(":enabled",":disabled"),o.appendChild(a).disabled=!0,2!==a.querySelectorAll(":disabled").length&&q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=Y.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ja(function(a){c.disconnectedMatch=s.call(a,"*"),s.call(a,"[s!='']:x"),r.push("!=",N)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=Y.test(o.compareDocumentPosition),t=b||Y.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===n||a.ownerDocument===v&&t(v,a)?-1:b===n||b.ownerDocument===v&&t(v,b)?1:k?I(k,a)-I(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,e=a.parentNode,f=b.parentNode,g=[a],h=[b];if(!e||!f)return a===n?-1:b===n?1:e?-1:f?1:k?I(k,a)-I(k,b):0;if(e===f)return la(a,b);c=a;while(c=c.parentNode)g.unshift(c);c=b;while(c=c.parentNode)h.unshift(c);while(g[d]===h[d])d++;return d?la(g[d],h[d]):g[d]===v?-1:h[d]===v?1:0},n):n},ga.matches=function(a,b){return ga(a,null,null,b)},ga.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(S,"='$1']"),c.matchesSelector&&p&&!A[b+" "]&&(!r||!r.test(b))&&(!q||!q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return ga(b,n,null,[a]).length>0},ga.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},ga.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&C.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},ga.escape=function(a){return(a+"").replace(ba,ca)},ga.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},ga.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=ga.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=ga.selectors={cacheLength:50,createPseudo:ia,match:V,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(_,aa),a[3]=(a[3]||a[4]||a[5]||"").replace(_,aa),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||ga.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&ga.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return V.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&T.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(_,aa).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+K+")"+a+"("+K+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||"undefined"!=typeof a.getAttribute&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=ga.attr(d,a);return null==e?"!="===b:!b||(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e.replace(O," ")+" ").indexOf(c)>-1:"|="===b&&(e===c||e.slice(0,c.length+1)===c+"-"))}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h,t=!1;if(q){if(f){while(p){m=b;while(m=m[p])if(h?m.nodeName.toLowerCase()===r:1===m.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){m=q,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n&&j[2],m=n&&q.childNodes[n];while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if(1===m.nodeType&&++t&&m===b){k[a]=[w,n,t];break}}else if(s&&(m=b,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n),t===!1)while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if((h?m.nodeName.toLowerCase()===r:1===m.nodeType)&&++t&&(s&&(l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),k[a]=[w,t]),m===b))break;return t-=e,t===d||t%d===0&&t/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||ga.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?ia(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=I(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:ia(function(a){var b=[],c=[],d=h(a.replace(P,"$1"));return d[u]?ia(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),b[0]=null,!c.pop()}}),has:ia(function(a){return function(b){return ga(a,b).length>0}}),contains:ia(function(a){return a=a.replace(_,aa),function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:ia(function(a){return U.test(a||"")||ga.error("unsupported lang: "+a),a=a.replace(_,aa).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:oa(!1),disabled:oa(!0),checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return X.test(a.nodeName)},input:function(a){return W.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:pa(function(){return[0]}),last:pa(function(a,b){return[b-1]}),eq:pa(function(a,b,c){return[c<0?c+b:c]}),even:pa(function(a,b){for(var c=0;c<b;c+=2)a.push(c);return a}),odd:pa(function(a,b){for(var c=1;c<b;c+=2)a.push(c);return a}),lt:pa(function(a,b,c){for(var d=c<0?c+b:c;--d>=0;)a.push(d);return a}),gt:pa(function(a,b,c){for(var d=c<0?c+b:c;++d<b;)a.push(d);return a})}},d.pseudos.nth=d.pseudos.eq;for(b in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})d.pseudos[b]=ma(b);for(b in{submit:!0,reset:!0})d.pseudos[b]=na(b);function ra(){}ra.prototype=d.filters=d.pseudos,d.setFilters=new ra,g=ga.tokenize=function(a,b){var c,e,f,g,h,i,j,k=z[a+" "];if(k)return b?0:k.slice(0);h=a,i=[],j=d.preFilter;while(h){c&&!(e=Q.exec(h))||(e&&(h=h.slice(e[0].length)||h),i.push(f=[])),c=!1,(e=R.exec(h))&&(c=e.shift(),f.push({value:c,type:e[0].replace(P," ")}),h=h.slice(c.length));for(g in d.filter)!(e=V[g].exec(h))||j[g]&&!(e=j[g](e))||(c=e.shift(),f.push({value:c,type:g,matches:e}),h=h.slice(c.length));if(!c)break}return b?h.length:h?ga.error(a):z(a,i).slice(0)};function sa(a){for(var b=0,c=a.length,d="";b<c;b++)d+=a[b].value;return d}function ta(a,b,c){var d=b.dir,e=b.next,f=e||d,g=c&&"parentNode"===f,h=x++;return b.first?function(b,c,e){while(b=b[d])if(1===b.nodeType||g)return a(b,c,e)}:function(b,c,i){var j,k,l,m=[w,h];if(i){while(b=b[d])if((1===b.nodeType||g)&&a(b,c,i))return!0}else while(b=b[d])if(1===b.nodeType||g)if(l=b[u]||(b[u]={}),k=l[b.uniqueID]||(l[b.uniqueID]={}),e&&e===b.nodeName.toLowerCase())b=b[d]||b;else{if((j=k[f])&&j[0]===w&&j[1]===h)return m[2]=j[2];if(k[f]=m,m[2]=a(b,c,i))return!0}}}function ua(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function va(a,b,c){for(var d=0,e=b.length;d<e;d++)ga(a,b[d],c);return c}function wa(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;h<i;h++)(f=a[h])&&(c&&!c(f,d,e)||(g.push(f),j&&b.push(h)));return g}function xa(a,b,c,d,e,f){return d&&!d[u]&&(d=xa(d)),e&&!e[u]&&(e=xa(e,f)),ia(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||va(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:wa(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=wa(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?I(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=wa(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):G.apply(g,r)})}function ya(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=ta(function(a){return a===b},h,!0),l=ta(function(a){return I(b,a)>-1},h,!0),m=[function(a,c,d){var e=!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d));return b=null,e}];i<f;i++)if(c=d.relative[a[i].type])m=[ta(ua(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;e<f;e++)if(d.relative[a[e].type])break;return xa(i>1&&ua(m),i>1&&sa(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(P,"$1"),c,i<e&&ya(a.slice(i,e)),e<f&&ya(a=a.slice(e)),e<f&&sa(a))}m.push(c)}return ua(m)}function za(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,o,q,r=0,s="0",t=f&&[],u=[],v=j,x=f||e&&d.find.TAG("*",k),y=w+=null==v?1:Math.random()||.1,z=x.length;for(k&&(j=g===n||g||k);s!==z&&null!=(l=x[s]);s++){if(e&&l){o=0,g||l.ownerDocument===n||(m(l),h=!p);while(q=a[o++])if(q(l,g||n,h)){i.push(l);break}k&&(w=y)}c&&((l=!q&&l)&&r--,f&&t.push(l))}if(r+=s,c&&s!==r){o=0;while(q=b[o++])q(t,u,g,h);if(f){if(r>0)while(s--)t[s]||u[s]||(u[s]=E.call(i));u=wa(u)}G.apply(i,u),k&&!f&&u.length>0&&r+b.length>1&&ga.uniqueSort(i)}return k&&(w=y,j=v),t};return c?ia(f):f}return h=ga.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=ya(b[c]),f[u]?d.push(f):e.push(f);f=A(a,za(e,d)),f.selector=a}return f},i=ga.select=function(a,b,e,f){var i,j,k,l,m,n="function"==typeof a&&a,o=!f&&g(a=n.selector||a);if(e=e||[],1===o.length){if(j=o[0]=o[0].slice(0),j.length>2&&"ID"===(k=j[0]).type&&c.getById&&9===b.nodeType&&p&&d.relative[j[1].type]){if(b=(d.find.ID(k.matches[0].replace(_,aa),b)||[])[0],!b)return e;n&&(b=b.parentNode),a=a.slice(j.shift().value.length)}i=V.needsContext.test(a)?0:j.length;while(i--){if(k=j[i],d.relative[l=k.type])break;if((m=d.find[l])&&(f=m(k.matches[0].replace(_,aa),$.test(j[0].type)&&qa(b.parentNode)||b))){if(j.splice(i,1),a=f.length&&sa(j),!a)return G.apply(e,f),e;break}}}return(n||h(a,o))(f,b,!p,e,!b||$.test(a)&&qa(b.parentNode)||b),e},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=ja(function(a){return 1&a.compareDocumentPosition(n.createElement("fieldset"))}),ja(function(a){return a.innerHTML="<a href='#'></a>","#"===a.firstChild.getAttribute("href")})||ka("type|href|height|width",function(a,b,c){if(!c)return a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&ja(function(a){return a.innerHTML="<input/>",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||ka("value",function(a,b,c){if(!c&&"input"===a.nodeName.toLowerCase())return a.defaultValue}),ja(function(a){return null==a.getAttribute("disabled")})||ka(J,function(a,b,c){var d;if(!c)return a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),ga}(a);r.find=x,r.expr=x.selectors,r.expr[":"]=r.expr.pseudos,r.uniqueSort=r.unique=x.uniqueSort,r.text=x.getText,r.isXMLDoc=x.isXML,r.contains=x.contains,r.escapeSelector=x.escape;var y=function(a,b,c){var d=[],e=void 0!==c;while((a=a[b])&&9!==a.nodeType)if(1===a.nodeType){if(e&&r(a).is(c))break;d.push(a)}return d},z=function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c},A=r.expr.match.needsContext,B=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i,C=/^.[^:#\[\.,]*$/;function D(a,b,c){if(r.isFunction(b))return r.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return r.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(C.test(b))return r.filter(b,a,c);b=r.filter(b,a)}return r.grep(a,function(a){return i.call(b,a)>-1!==c&&1===a.nodeType})}r.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?r.find.matchesSelector(d,a)?[d]:[]:r.find.matches(a,r.grep(b,function(a){return 1===a.nodeType}))},r.fn.extend({find:function(a){var b,c,d=this.length,e=this;if("string"!=typeof a)return this.pushStack(r(a).filter(function(){for(b=0;b<d;b++)if(r.contains(e[b],this))return!0}));for(c=this.pushStack([]),b=0;b<d;b++)r.find(a,e[b],c);return d>1?r.uniqueSort(c):c},filter:function(a){return this.pushStack(D(this,a||[],!1))},not:function(a){return this.pushStack(D(this,a||[],!0))},is:function(a){return!!D(this,"string"==typeof a&&A.test(a)?r(a):a||[],!1).length}});var E,F=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/,G=r.fn.init=function(a,b,c){var e,f;if(!a)return this;if(c=c||E,"string"==typeof a){if(e="<"===a[0]&&">"===a[a.length-1]&&a.length>=3?[null,a,null]:F.exec(a),!e||!e[1]&&b)return!b||b.jquery?(b||c).find(a):this.constructor(b).find(a);if(e[1]){if(b=b instanceof r?b[0]:b,r.merge(this,r.parseHTML(e[1],b&&b.nodeType?b.ownerDocument||b:d,!0)),B.test(e[1])&&r.isPlainObject(b))for(e in b)r.isFunction(this[e])?this[e](b[e]):this.attr(e,b[e]);return this}return f=d.getElementById(e[2]),f&&(this[0]=f,this.length=1),this}return a.nodeType?(this[0]=a,this.length=1,this):r.isFunction(a)?void 0!==c.ready?c.ready(a):a(r):r.makeArray(a,this)};G.prototype=r.fn,E=r(d);var H=/^(?:parents|prev(?:Until|All))/,I={children:!0,contents:!0,next:!0,prev:!0};r.fn.extend({has:function(a){var b=r(a,this),c=b.length;return this.filter(function(){for(var a=0;a<c;a++)if(r.contains(this,b[a]))return!0})},closest:function(a,b){var c,d=0,e=this.length,f=[],g="string"!=typeof a&&r(a);if(!A.test(a))for(;d<e;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&r.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?r.uniqueSort(f):f)},index:function(a){return a?"string"==typeof a?i.call(r(a),this[0]):i.call(this,a.jquery?a[0]:a):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(r.uniqueSort(r.merge(this.get(),r(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function J(a,b){while((a=a[b])&&1!==a.nodeType);return a}r.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return y(a,"parentNode")},parentsUntil:function(a,b,c){return y(a,"parentNode",c)},next:function(a){return J(a,"nextSibling")},prev:function(a){return J(a,"previousSibling")},nextAll:function(a){return y(a,"nextSibling")},prevAll:function(a){return y(a,"previousSibling")},nextUntil:function(a,b,c){return y(a,"nextSibling",c)},prevUntil:function(a,b,c){return y(a,"previousSibling",c)},siblings:function(a){return z((a.parentNode||{}).firstChild,a)},children:function(a){return z(a.firstChild)},contents:function(a){return a.contentDocument||r.merge([],a.childNodes)}},function(a,b){r.fn[a]=function(c,d){var e=r.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=r.filter(d,e)),this.length>1&&(I[a]||r.uniqueSort(e),H.test(a)&&e.reverse()),this.pushStack(e)}});var K=/\S+/g;function L(a){var b={};return r.each(a.match(K)||[],function(a,c){b[c]=!0}),b}r.Callbacks=function(a){a="string"==typeof a?L(a):r.extend({},a);var b,c,d,e,f=[],g=[],h=-1,i=function(){for(e=a.once,d=b=!0;g.length;h=-1){c=g.shift();while(++h<f.length)f[h].apply(c[0],c[1])===!1&&a.stopOnFalse&&(h=f.length,c=!1)}a.memory||(c=!1),b=!1,e&&(f=c?[]:"")},j={add:function(){return f&&(c&&!b&&(h=f.length-1,g.push(c)),function d(b){r.each(b,function(b,c){r.isFunction(c)?a.unique&&j.has(c)||f.push(c):c&&c.length&&"string"!==r.type(c)&&d(c)})}(arguments),c&&!b&&i()),this},remove:function(){return r.each(arguments,function(a,b){var c;while((c=r.inArray(b,f,c))>-1)f.splice(c,1),c<=h&&h--}),this},has:function(a){return a?r.inArray(a,f)>-1:f.length>0},empty:function(){return f&&(f=[]),this},disable:function(){return e=g=[],f=c="",this},disabled:function(){return!f},lock:function(){return e=g=[],c||b||(f=c=""),this},locked:function(){return!!e},fireWith:function(a,c){return e||(c=c||[],c=[a,c.slice?c.slice():c],g.push(c),b||i()),this},fire:function(){return j.fireWith(this,arguments),this},fired:function(){return!!d}};return j};function M(a){return a}function N(a){throw a}function O(a,b,c){var d;try{a&&r.isFunction(d=a.promise)?d.call(a).done(b).fail(c):a&&r.isFunction(d=a.then)?d.call(a,b,c):b.call(void 0,a)}catch(a){c.call(void 0,a)}}r.extend({Deferred:function(b){var c=[["notify","progress",r.Callbacks("memory"),r.Callbacks("memory"),2],["resolve","done",r.Callbacks("once memory"),r.Callbacks("once memory"),0,"resolved"],["reject","fail",r.Callbacks("once memory"),r.Callbacks("once memory"),1,"rejected"]],d="pending",e={state:function(){return d},always:function(){return f.done(arguments).fail(arguments),this},"catch":function(a){return e.then(null,a)},pipe:function(){var a=arguments;return r.Deferred(function(b){r.each(c,function(c,d){var e=r.isFunction(a[d[4]])&&a[d[4]];f[d[1]](function(){var a=e&&e.apply(this,arguments);a&&r.isFunction(a.promise)?a.promise().progress(b.notify).done(b.resolve).fail(b.reject):b[d[0]+"With"](this,e?[a]:arguments)})}),a=null}).promise()},then:function(b,d,e){var f=0;function g(b,c,d,e){return function(){var h=this,i=arguments,j=function(){var a,j;if(!(b<f)){if(a=d.apply(h,i),a===c.promise())throw new TypeError("Thenable self-resolution");j=a&&("object"==typeof a||"function"==typeof a)&&a.then,r.isFunction(j)?e?j.call(a,g(f,c,M,e),g(f,c,N,e)):(f++,j.call(a,g(f,c,M,e),g(f,c,N,e),g(f,c,M,c.notifyWith))):(d!==M&&(h=void 0,i=[a]),(e||c.resolveWith)(h,i))}},k=e?j:function(){try{j()}catch(a){r.Deferred.exceptionHook&&r.Deferred.exceptionHook(a,k.stackTrace),b+1>=f&&(d!==N&&(h=void 0,i=[a]),c.rejectWith(h,i))}};b?k():(r.Deferred.getStackHook&&(k.stackTrace=r.Deferred.getStackHook()),a.setTimeout(k))}}return r.Deferred(function(a){c[0][3].add(g(0,a,r.isFunction(e)?e:M,a.notifyWith)),c[1][3].add(g(0,a,r.isFunction(b)?b:M)),c[2][3].add(g(0,a,r.isFunction(d)?d:N))}).promise()},promise:function(a){return null!=a?r.extend(a,e):e}},f={};return r.each(c,function(a,b){var g=b[2],h=b[5];e[b[1]]=g.add,h&&g.add(function(){d=h},c[3-a][2].disable,c[0][2].lock),g.add(b[3].fire),f[b[0]]=function(){return f[b[0]+"With"](this===f?void 0:this,arguments),this},f[b[0]+"With"]=g.fireWith}),e.promise(f),b&&b.call(f,f),f},when:function(a){var b=arguments.length,c=b,d=Array(c),e=f.call(arguments),g=r.Deferred(),h=function(a){return function(c){d[a]=this,e[a]=arguments.length>1?f.call(arguments):c,--b||g.resolveWith(d,e)}};if(b<=1&&(O(a,g.done(h(c)).resolve,g.reject),"pending"===g.state()||r.isFunction(e[c]&&e[c].then)))return g.then();while(c--)O(e[c],h(c),g.reject);return g.promise()}});var P=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;r.Deferred.exceptionHook=function(b,c){a.console&&a.console.warn&&b&&P.test(b.name)&&a.console.warn("jQuery.Deferred exception: "+b.message,b.stack,c)},r.readyException=function(b){a.setTimeout(function(){throw b})};var Q=r.Deferred();r.fn.ready=function(a){return Q.then(a)["catch"](function(a){r.readyException(a)}),this},r.extend({isReady:!1,readyWait:1,holdReady:function(a){a?r.readyWait++:r.ready(!0)},ready:function(a){(a===!0?--r.readyWait:r.isReady)||(r.isReady=!0,a!==!0&&--r.readyWait>0||Q.resolveWith(d,[r]))}}),r.ready.then=Q.then;function R(){d.removeEventListener("DOMContentLoaded",R),a.removeEventListener("load",R),r.ready()}"complete"===d.readyState||"loading"!==d.readyState&&!d.documentElement.doScroll?a.setTimeout(r.ready):(d.addEventListener("DOMContentLoaded",R),a.addEventListener("load",R));var S=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===r.type(c)){e=!0;for(h in c)S(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0,
+r.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(r(a),c)})),b))for(;h<i;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f},T=function(a){return 1===a.nodeType||9===a.nodeType||!+a.nodeType};function U(){this.expando=r.expando+U.uid++}U.uid=1,U.prototype={cache:function(a){var b=a[this.expando];return b||(b={},T(a)&&(a.nodeType?a[this.expando]=b:Object.defineProperty(a,this.expando,{value:b,configurable:!0}))),b},set:function(a,b,c){var d,e=this.cache(a);if("string"==typeof b)e[r.camelCase(b)]=c;else for(d in b)e[r.camelCase(d)]=b[d];return e},get:function(a,b){return void 0===b?this.cache(a):a[this.expando]&&a[this.expando][r.camelCase(b)]},access:function(a,b,c){return void 0===b||b&&"string"==typeof b&&void 0===c?this.get(a,b):(this.set(a,b,c),void 0!==c?c:b)},remove:function(a,b){var c,d=a[this.expando];if(void 0!==d){if(void 0!==b){r.isArray(b)?b=b.map(r.camelCase):(b=r.camelCase(b),b=b in d?[b]:b.match(K)||[]),c=b.length;while(c--)delete d[b[c]]}(void 0===b||r.isEmptyObject(d))&&(a.nodeType?a[this.expando]=void 0:delete a[this.expando])}},hasData:function(a){var b=a[this.expando];return void 0!==b&&!r.isEmptyObject(b)}};var V=new U,W=new U,X=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,Y=/[A-Z]/g;function Z(a,b,c){var d;if(void 0===c&&1===a.nodeType)if(d="data-"+b.replace(Y,"-$&").toLowerCase(),c=a.getAttribute(d),"string"==typeof c){try{c="true"===c||"false"!==c&&("null"===c?null:+c+""===c?+c:X.test(c)?JSON.parse(c):c)}catch(e){}W.set(a,b,c)}else c=void 0;return c}r.extend({hasData:function(a){return W.hasData(a)||V.hasData(a)},data:function(a,b,c){return W.access(a,b,c)},removeData:function(a,b){W.remove(a,b)},_data:function(a,b,c){return V.access(a,b,c)},_removeData:function(a,b){V.remove(a,b)}}),r.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=W.get(f),1===f.nodeType&&!V.get(f,"hasDataAttrs"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=r.camelCase(d.slice(5)),Z(f,d,e[d])));V.set(f,"hasDataAttrs",!0)}return e}return"object"==typeof a?this.each(function(){W.set(this,a)}):S(this,function(b){var c;if(f&&void 0===b){if(c=W.get(f,a),void 0!==c)return c;if(c=Z(f,a),void 0!==c)return c}else this.each(function(){W.set(this,a,b)})},null,b,arguments.length>1,null,!0)},removeData:function(a){return this.each(function(){W.remove(this,a)})}}),r.extend({queue:function(a,b,c){var d;if(a)return b=(b||"fx")+"queue",d=V.get(a,b),c&&(!d||r.isArray(c)?d=V.access(a,b,r.makeArray(c)):d.push(c)),d||[]},dequeue:function(a,b){b=b||"fx";var c=r.queue(a,b),d=c.length,e=c.shift(),f=r._queueHooks(a,b),g=function(){r.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return V.get(a,c)||V.access(a,c,{empty:r.Callbacks("once memory").add(function(){V.remove(a,[b+"queue",c])})})}}),r.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.length<c?r.queue(this[0],a):void 0===b?this:this.each(function(){var c=r.queue(this,a,b);r._queueHooks(this,a),"fx"===a&&"inprogress"!==c[0]&&r.dequeue(this,a)})},dequeue:function(a){return this.each(function(){r.dequeue(this,a)})},clearQueue:function(a){return this.queue(a||"fx",[])},promise:function(a,b){var c,d=1,e=r.Deferred(),f=this,g=this.length,h=function(){--d||e.resolveWith(f,[f])};"string"!=typeof a&&(b=a,a=void 0),a=a||"fx";while(g--)c=V.get(f[g],a+"queueHooks"),c&&c.empty&&(d++,c.empty.add(h));return h(),e.promise(b)}});var $=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,_=new RegExp("^(?:([+-])=|)("+$+")([a-z%]*)$","i"),aa=["Top","Right","Bottom","Left"],ba=function(a,b){return a=b||a,"none"===a.style.display||""===a.style.display&&r.contains(a.ownerDocument,a)&&"none"===r.css(a,"display")},ca=function(a,b,c,d){var e,f,g={};for(f in b)g[f]=a.style[f],a.style[f]=b[f];e=c.apply(a,d||[]);for(f in b)a.style[f]=g[f];return e};function da(a,b,c,d){var e,f=1,g=20,h=d?function(){return d.cur()}:function(){return r.css(a,b,"")},i=h(),j=c&&c[3]||(r.cssNumber[b]?"":"px"),k=(r.cssNumber[b]||"px"!==j&&+i)&&_.exec(r.css(a,b));if(k&&k[3]!==j){j=j||k[3],c=c||[],k=+i||1;do f=f||".5",k/=f,r.style(a,b,k+j);while(f!==(f=h()/i)&&1!==f&&--g)}return c&&(k=+k||+i||0,e=c[1]?k+(c[1]+1)*c[2]:+c[2],d&&(d.unit=j,d.start=k,d.end=e)),e}var ea={};function fa(a){var b,c=a.ownerDocument,d=a.nodeName,e=ea[d];return e?e:(b=c.body.appendChild(c.createElement(d)),e=r.css(b,"display"),b.parentNode.removeChild(b),"none"===e&&(e="block"),ea[d]=e,e)}function ga(a,b){for(var c,d,e=[],f=0,g=a.length;f<g;f++)d=a[f],d.style&&(c=d.style.display,b?("none"===c&&(e[f]=V.get(d,"display")||null,e[f]||(d.style.display="")),""===d.style.display&&ba(d)&&(e[f]=fa(d))):"none"!==c&&(e[f]="none",V.set(d,"display",c)));for(f=0;f<g;f++)null!=e[f]&&(a[f].style.display=e[f]);return a}r.fn.extend({show:function(){return ga(this,!0)},hide:function(){return ga(this)},toggle:function(a){return"boolean"==typeof a?a?this.show():this.hide():this.each(function(){ba(this)?r(this).show():r(this).hide()})}});var ha=/^(?:checkbox|radio)$/i,ia=/<([a-z][^\/\0>\x20\t\r\n\f]+)/i,ja=/^$|\/(?:java|ecma)script/i,ka={option:[1,"<select multiple='multiple'>","</select>"],thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};ka.optgroup=ka.option,ka.tbody=ka.tfoot=ka.colgroup=ka.caption=ka.thead,ka.th=ka.td;function la(a,b){var c="undefined"!=typeof a.getElementsByTagName?a.getElementsByTagName(b||"*"):"undefined"!=typeof a.querySelectorAll?a.querySelectorAll(b||"*"):[];return void 0===b||b&&r.nodeName(a,b)?r.merge([a],c):c}function ma(a,b){for(var c=0,d=a.length;c<d;c++)V.set(a[c],"globalEval",!b||V.get(b[c],"globalEval"))}var na=/<|&#?\w+;/;function oa(a,b,c,d,e){for(var f,g,h,i,j,k,l=b.createDocumentFragment(),m=[],n=0,o=a.length;n<o;n++)if(f=a[n],f||0===f)if("object"===r.type(f))r.merge(m,f.nodeType?[f]:f);else if(na.test(f)){g=g||l.appendChild(b.createElement("div")),h=(ia.exec(f)||["",""])[1].toLowerCase(),i=ka[h]||ka._default,g.innerHTML=i[1]+r.htmlPrefilter(f)+i[2],k=i[0];while(k--)g=g.lastChild;r.merge(m,g.childNodes),g=l.firstChild,g.textContent=""}else m.push(b.createTextNode(f));l.textContent="",n=0;while(f=m[n++])if(d&&r.inArray(f,d)>-1)e&&e.push(f);else if(j=r.contains(f.ownerDocument,f),g=la(l.appendChild(f),"script"),j&&ma(g),c){k=0;while(f=g[k++])ja.test(f.type||"")&&c.push(f)}return l}!function(){var a=d.createDocumentFragment(),b=a.appendChild(d.createElement("div")),c=d.createElement("input");c.setAttribute("type","radio"),c.setAttribute("checked","checked"),c.setAttribute("name","t"),b.appendChild(c),o.checkClone=b.cloneNode(!0).cloneNode(!0).lastChild.checked,b.innerHTML="<textarea>x</textarea>",o.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue}();var pa=d.documentElement,qa=/^key/,ra=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,sa=/^([^.]*)(?:\.(.+)|)/;function ta(){return!0}function ua(){return!1}function va(){try{return d.activeElement}catch(a){}}function wa(a,b,c,d,e,f){var g,h;if("object"==typeof b){"string"!=typeof c&&(d=d||c,c=void 0);for(h in b)wa(a,h,c,d,b[h],f);return a}if(null==d&&null==e?(e=c,d=c=void 0):null==e&&("string"==typeof c?(e=d,d=void 0):(e=d,d=c,c=void 0)),e===!1)e=ua;else if(!e)return a;return 1===f&&(g=e,e=function(a){return r().off(a),g.apply(this,arguments)},e.guid=g.guid||(g.guid=r.guid++)),a.each(function(){r.event.add(this,b,e,d,c)})}r.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,p,q=V.get(a);if(q){c.handler&&(f=c,c=f.handler,e=f.selector),e&&r.find.matchesSelector(pa,e),c.guid||(c.guid=r.guid++),(i=q.events)||(i=q.events={}),(g=q.handle)||(g=q.handle=function(b){return"undefined"!=typeof r&&r.event.triggered!==b.type?r.event.dispatch.apply(a,arguments):void 0}),b=(b||"").match(K)||[""],j=b.length;while(j--)h=sa.exec(b[j])||[],n=p=h[1],o=(h[2]||"").split(".").sort(),n&&(l=r.event.special[n]||{},n=(e?l.delegateType:l.bindType)||n,l=r.event.special[n]||{},k=r.extend({type:n,origType:p,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&r.expr.match.needsContext.test(e),namespace:o.join(".")},f),(m=i[n])||(m=i[n]=[],m.delegateCount=0,l.setup&&l.setup.call(a,d,o,g)!==!1||a.addEventListener&&a.addEventListener(n,g)),l.add&&(l.add.call(a,k),k.handler.guid||(k.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,k):m.push(k),r.event.global[n]=!0)}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,p,q=V.hasData(a)&&V.get(a);if(q&&(i=q.events)){b=(b||"").match(K)||[""],j=b.length;while(j--)if(h=sa.exec(b[j])||[],n=p=h[1],o=(h[2]||"").split(".").sort(),n){l=r.event.special[n]||{},n=(d?l.delegateType:l.bindType)||n,m=i[n]||[],h=h[2]&&new RegExp("(^|\\.)"+o.join("\\.(?:.*\\.|)")+"(\\.|$)"),g=f=m.length;while(f--)k=m[f],!e&&p!==k.origType||c&&c.guid!==k.guid||h&&!h.test(k.namespace)||d&&d!==k.selector&&("**"!==d||!k.selector)||(m.splice(f,1),k.selector&&m.delegateCount--,l.remove&&l.remove.call(a,k));g&&!m.length&&(l.teardown&&l.teardown.call(a,o,q.handle)!==!1||r.removeEvent(a,n,q.handle),delete i[n])}else for(n in i)r.event.remove(a,n+b[j],c,d,!0);r.isEmptyObject(i)&&V.remove(a,"handle events")}},dispatch:function(a){var b=r.event.fix(a),c,d,e,f,g,h,i=new Array(arguments.length),j=(V.get(this,"events")||{})[b.type]||[],k=r.event.special[b.type]||{};for(i[0]=b,c=1;c<arguments.length;c++)i[c]=arguments[c];if(b.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,b)!==!1){h=r.event.handlers.call(this,b,j),c=0;while((f=h[c++])&&!b.isPropagationStopped()){b.currentTarget=f.elem,d=0;while((g=f.handlers[d++])&&!b.isImmediatePropagationStopped())b.rnamespace&&!b.rnamespace.test(g.namespace)||(b.handleObj=g,b.data=g.data,e=((r.event.special[g.origType]||{}).handle||g.handler).apply(f.elem,i),void 0!==e&&(b.result=e)===!1&&(b.preventDefault(),b.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,b),b.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&("click"!==a.type||isNaN(a.button)||a.button<1))for(;i!==this;i=i.parentNode||this)if(1===i.nodeType&&(i.disabled!==!0||"click"!==a.type)){for(d=[],c=0;c<h;c++)f=b[c],e=f.selector+" ",void 0===d[e]&&(d[e]=f.needsContext?r(e,this).index(i)>-1:r.find(e,this,null,[i]).length),d[e]&&d.push(f);d.length&&g.push({elem:i,handlers:d})}return h<b.length&&g.push({elem:this,handlers:b.slice(h)}),g},addProp:function(a,b){Object.defineProperty(r.Event.prototype,a,{enumerable:!0,configurable:!0,get:r.isFunction(b)?function(){if(this.originalEvent)return b(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[a]},set:function(b){Object.defineProperty(this,a,{enumerable:!0,configurable:!0,writable:!0,value:b})}})},fix:function(a){return a[r.expando]?a:new r.Event(a)},special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==va()&&this.focus)return this.focus(),!1},delegateType:"focusin"},blur:{trigger:function(){if(this===va()&&this.blur)return this.blur(),!1},delegateType:"focusout"},click:{trigger:function(){if("checkbox"===this.type&&this.click&&r.nodeName(this,"input"))return this.click(),!1},_default:function(a){return r.nodeName(a.target,"a")}},beforeunload:{postDispatch:function(a){void 0!==a.result&&a.originalEvent&&(a.originalEvent.returnValue=a.result)}}}},r.removeEvent=function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c)},r.Event=function(a,b){return this instanceof r.Event?(a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||void 0===a.defaultPrevented&&a.returnValue===!1?ta:ua,this.target=a.target&&3===a.target.nodeType?a.target.parentNode:a.target,this.currentTarget=a.currentTarget,this.relatedTarget=a.relatedTarget):this.type=a,b&&r.extend(this,b),this.timeStamp=a&&a.timeStamp||r.now(),void(this[r.expando]=!0)):new r.Event(a,b)},r.Event.prototype={constructor:r.Event,isDefaultPrevented:ua,isPropagationStopped:ua,isImmediatePropagationStopped:ua,isSimulated:!1,preventDefault:function(){var a=this.originalEvent;this.isDefaultPrevented=ta,a&&!this.isSimulated&&a.preventDefault()},stopPropagation:function(){var a=this.originalEvent;this.isPropagationStopped=ta,a&&!this.isSimulated&&a.stopPropagation()},stopImmediatePropagation:function(){var a=this.originalEvent;this.isImmediatePropagationStopped=ta,a&&!this.isSimulated&&a.stopImmediatePropagation(),this.stopPropagation()}},r.each({altKey:!0,bubbles:!0,cancelable:!0,changedTouches:!0,ctrlKey:!0,detail:!0,eventPhase:!0,metaKey:!0,pageX:!0,pageY:!0,shiftKey:!0,view:!0,"char":!0,charCode:!0,key:!0,keyCode:!0,button:!0,buttons:!0,clientX:!0,clientY:!0,offsetX:!0,offsetY:!0,pointerId:!0,pointerType:!0,screenX:!0,screenY:!0,targetTouches:!0,toElement:!0,touches:!0,which:function(a){var b=a.button;return null==a.which&&qa.test(a.type)?null!=a.charCode?a.charCode:a.keyCode:!a.which&&void 0!==b&&ra.test(a.type)?1&b?1:2&b?3:4&b?2:0:a.which}},r.event.addProp),r.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(a,b){r.event.special[a]={delegateType:b,bindType:b,handle:function(a){var c,d=this,e=a.relatedTarget,f=a.handleObj;return e&&(e===d||r.contains(d,e))||(a.type=f.origType,c=f.handler.apply(this,arguments),a.type=b),c}}}),r.fn.extend({on:function(a,b,c,d){return wa(this,a,b,c,d)},one:function(a,b,c,d){return wa(this,a,b,c,d,1)},off:function(a,b,c){var d,e;if(a&&a.preventDefault&&a.handleObj)return d=a.handleObj,r(a.delegateTarget).off(d.namespace?d.origType+"."+d.namespace:d.origType,d.selector,d.handler),this;if("object"==typeof a){for(e in a)this.off(e,b,a[e]);return this}return b!==!1&&"function"!=typeof b||(c=b,b=void 0),c===!1&&(c=ua),this.each(function(){r.event.remove(this,a,c,b)})}});var xa=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi,ya=/<script|<style|<link/i,za=/checked\s*(?:[^=]|=\s*.checked.)/i,Aa=/^true\/(.*)/,Ba=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;function Ca(a,b){return r.nodeName(a,"table")&&r.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a:a}function Da(a){return a.type=(null!==a.getAttribute("type"))+"/"+a.type,a}function Ea(a){var b=Aa.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function Fa(a,b){var c,d,e,f,g,h,i,j;if(1===b.nodeType){if(V.hasData(a)&&(f=V.access(a),g=V.set(b,f),j=f.events)){delete g.handle,g.events={};for(e in j)for(c=0,d=j[e].length;c<d;c++)r.event.add(b,e,j[e][c])}W.hasData(a)&&(h=W.access(a),i=r.extend({},h),W.set(b,i))}}function Ga(a,b){var c=b.nodeName.toLowerCase();"input"===c&&ha.test(a.type)?b.checked=a.checked:"input"!==c&&"textarea"!==c||(b.defaultValue=a.defaultValue)}function Ha(a,b,c,d){b=g.apply([],b);var e,f,h,i,j,k,l=0,m=a.length,n=m-1,q=b[0],s=r.isFunction(q);if(s||m>1&&"string"==typeof q&&!o.checkClone&&za.test(q))return a.each(function(e){var f=a.eq(e);s&&(b[0]=q.call(this,e,f.html())),Ha(f,b,c,d)});if(m&&(e=oa(b,a[0].ownerDocument,!1,a,d),f=e.firstChild,1===e.childNodes.length&&(e=f),f||d)){for(h=r.map(la(e,"script"),Da),i=h.length;l<m;l++)j=e,l!==n&&(j=r.clone(j,!0,!0),i&&r.merge(h,la(j,"script"))),c.call(a[l],j,l);if(i)for(k=h[h.length-1].ownerDocument,r.map(h,Ea),l=0;l<i;l++)j=h[l],ja.test(j.type||"")&&!V.access(j,"globalEval")&&r.contains(k,j)&&(j.src?r._evalUrl&&r._evalUrl(j.src):p(j.textContent.replace(Ba,""),k))}return a}function Ia(a,b,c){for(var d,e=b?r.filter(b,a):a,f=0;null!=(d=e[f]);f++)c||1!==d.nodeType||r.cleanData(la(d)),d.parentNode&&(c&&r.contains(d.ownerDocument,d)&&ma(la(d,"script")),d.parentNode.removeChild(d));return a}r.extend({htmlPrefilter:function(a){return a.replace(xa,"<$1></$2>")},clone:function(a,b,c){var d,e,f,g,h=a.cloneNode(!0),i=r.contains(a.ownerDocument,a);if(!(o.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||r.isXMLDoc(a)))for(g=la(h),f=la(a),d=0,e=f.length;d<e;d++)Ga(f[d],g[d]);if(b)if(c)for(f=f||la(a),g=g||la(h),d=0,e=f.length;d<e;d++)Fa(f[d],g[d]);else Fa(a,h);return g=la(h,"script"),g.length>0&&ma(g,!i&&la(a,"script")),h},cleanData:function(a){for(var b,c,d,e=r.event.special,f=0;void 0!==(c=a[f]);f++)if(T(c)){if(b=c[V.expando]){if(b.events)for(d in b.events)e[d]?r.event.remove(c,d):r.removeEvent(c,d,b.handle);c[V.expando]=void 0}c[W.expando]&&(c[W.expando]=void 0)}}}),r.fn.extend({detach:function(a){return Ia(this,a,!0)},remove:function(a){return Ia(this,a)},text:function(a){return S(this,function(a){return void 0===a?r.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=a)})},null,a,arguments.length)},append:function(){return Ha(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=Ca(this,a);b.appendChild(a)}})},prepend:function(){return Ha(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=Ca(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return Ha(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return Ha(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},empty:function(){for(var a,b=0;null!=(a=this[b]);b++)1===a.nodeType&&(r.cleanData(la(a,!1)),a.textContent="");return this},clone:function(a,b){return a=null!=a&&a,b=null==b?a:b,this.map(function(){return r.clone(this,a,b)})},html:function(a){return S(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a&&1===b.nodeType)return b.innerHTML;if("string"==typeof a&&!ya.test(a)&&!ka[(ia.exec(a)||["",""])[1].toLowerCase()]){a=r.htmlPrefilter(a);try{for(;c<d;c++)b=this[c]||{},1===b.nodeType&&(r.cleanData(la(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=[];return Ha(this,arguments,function(b){var c=this.parentNode;r.inArray(this,a)<0&&(r.cleanData(la(this)),c&&c.replaceChild(b,this))},a)}}),r.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){r.fn[a]=function(a){for(var c,d=[],e=r(a),f=e.length-1,g=0;g<=f;g++)c=g===f?this:this.clone(!0),r(e[g])[b](c),h.apply(d,c.get());return this.pushStack(d)}});var Ja=/^margin/,Ka=new RegExp("^("+$+")(?!px)[a-z%]+$","i"),La=function(b){var c=b.ownerDocument.defaultView;return c&&c.opener||(c=a),c.getComputedStyle(b)};!function(){function b(){if(i){i.style.cssText="box-sizing:border-box;position:relative;display:block;margin:auto;border:1px;padding:1px;top:1%;width:50%",i.innerHTML="",pa.appendChild(h);var b=a.getComputedStyle(i);c="1%"!==b.top,g="2px"===b.marginLeft,e="4px"===b.width,i.style.marginRight="50%",f="4px"===b.marginRight,pa.removeChild(h),i=null}}var c,e,f,g,h=d.createElement("div"),i=d.createElement("div");i.style&&(i.style.backgroundClip="content-box",i.cloneNode(!0).style.backgroundClip="",o.clearCloneStyle="content-box"===i.style.backgroundClip,h.style.cssText="border:0;width:8px;height:0;top:0;left:-9999px;padding:0;margin-top:1px;position:absolute",h.appendChild(i),r.extend(o,{pixelPosition:function(){return b(),c},boxSizingReliable:function(){return b(),e},pixelMarginRight:function(){return b(),f},reliableMarginLeft:function(){return b(),g}}))}();function Ma(a,b,c){var d,e,f,g,h=a.style;return c=c||La(a),c&&(g=c.getPropertyValue(b)||c[b],""!==g||r.contains(a.ownerDocument,a)||(g=r.style(a,b)),!o.pixelMarginRight()&&Ka.test(g)&&Ja.test(b)&&(d=h.width,e=h.minWidth,f=h.maxWidth,h.minWidth=h.maxWidth=h.width=g,g=c.width,h.width=d,h.minWidth=e,h.maxWidth=f)),void 0!==g?g+"":g}function Na(a,b){return{get:function(){return a()?void delete this.get:(this.get=b).apply(this,arguments)}}}var Oa=/^(none|table(?!-c[ea]).+)/,Pa={position:"absolute",visibility:"hidden",display:"block"},Qa={letterSpacing:"0",fontWeight:"400"},Ra=["Webkit","Moz","ms"],Sa=d.createElement("div").style;function Ta(a){if(a in Sa)return a;var b=a[0].toUpperCase()+a.slice(1),c=Ra.length;while(c--)if(a=Ra[c]+b,a in Sa)return a}function Ua(a,b,c){var d=_.exec(b);return d?Math.max(0,d[2]-(c||0))+(d[3]||"px"):b}function Va(a,b,c,d,e){for(var f=c===(d?"border":"content")?4:"width"===b?1:0,g=0;f<4;f+=2)"margin"===c&&(g+=r.css(a,c+aa[f],!0,e)),d?("content"===c&&(g-=r.css(a,"padding"+aa[f],!0,e)),"margin"!==c&&(g-=r.css(a,"border"+aa[f]+"Width",!0,e))):(g+=r.css(a,"padding"+aa[f],!0,e),"padding"!==c&&(g+=r.css(a,"border"+aa[f]+"Width",!0,e)));return g}function Wa(a,b,c){var d,e=!0,f=La(a),g="border-box"===r.css(a,"boxSizing",!1,f);if(a.getClientRects().length&&(d=a.getBoundingClientRect()[b]),d<=0||null==d){if(d=Ma(a,b,f),(d<0||null==d)&&(d=a.style[b]),Ka.test(d))return d;e=g&&(o.boxSizingReliable()||d===a.style[b]),d=parseFloat(d)||0}return d+Va(a,b,c||(g?"border":"content"),e,f)+"px"}r.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=Ma(a,"opacity");return""===c?"1":c}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":"cssFloat"},style:function(a,b,c,d){if(a&&3!==a.nodeType&&8!==a.nodeType&&a.style){var e,f,g,h=r.camelCase(b),i=a.style;return b=r.cssProps[h]||(r.cssProps[h]=Ta(h)||h),g=r.cssHooks[b]||r.cssHooks[h],void 0===c?g&&"get"in g&&void 0!==(e=g.get(a,!1,d))?e:i[b]:(f=typeof c,"string"===f&&(e=_.exec(c))&&e[1]&&(c=da(a,b,e),f="number"),null!=c&&c===c&&("number"===f&&(c+=e&&e[3]||(r.cssNumber[h]?"":"px")),o.clearCloneStyle||""!==c||0!==b.indexOf("background")||(i[b]="inherit"),g&&"set"in g&&void 0===(c=g.set(a,c,d))||(i[b]=c)),void 0)}},css:function(a,b,c,d){var e,f,g,h=r.camelCase(b);return b=r.cssProps[h]||(r.cssProps[h]=Ta(h)||h),g=r.cssHooks[b]||r.cssHooks[h],g&&"get"in g&&(e=g.get(a,!0,c)),void 0===e&&(e=Ma(a,b,d)),"normal"===e&&b in Qa&&(e=Qa[b]),""===c||c?(f=parseFloat(e),c===!0||isFinite(f)?f||0:e):e}}),r.each(["height","width"],function(a,b){r.cssHooks[b]={get:function(a,c,d){if(c)return!Oa.test(r.css(a,"display"))||a.getClientRects().length&&a.getBoundingClientRect().width?Wa(a,b,d):ca(a,Pa,function(){return Wa(a,b,d)})},set:function(a,c,d){var e,f=d&&La(a),g=d&&Va(a,b,d,"border-box"===r.css(a,"boxSizing",!1,f),f);return g&&(e=_.exec(c))&&"px"!==(e[3]||"px")&&(a.style[b]=c,c=r.css(a,b)),Ua(a,c,g)}}}),r.cssHooks.marginLeft=Na(o.reliableMarginLeft,function(a,b){if(b)return(parseFloat(Ma(a,"marginLeft"))||a.getBoundingClientRect().left-ca(a,{marginLeft:0},function(){return a.getBoundingClientRect().left}))+"px"}),r.each({margin:"",padding:"",border:"Width"},function(a,b){r.cssHooks[a+b]={expand:function(c){for(var d=0,e={},f="string"==typeof c?c.split(" "):[c];d<4;d++)e[a+aa[d]+b]=f[d]||f[d-2]||f[0];return e}},Ja.test(a)||(r.cssHooks[a+b].set=Ua)}),r.fn.extend({css:function(a,b){return S(this,function(a,b,c){var d,e,f={},g=0;if(r.isArray(b)){for(d=La(a),e=b.length;g<e;g++)f[b[g]]=r.css(a,b[g],!1,d);return f}return void 0!==c?r.style(a,b,c):r.css(a,b)},a,b,arguments.length>1)}});function Xa(a,b,c,d,e){return new Xa.prototype.init(a,b,c,d,e)}r.Tween=Xa,Xa.prototype={constructor:Xa,init:function(a,b,c,d,e,f){this.elem=a,this.prop=c,this.easing=e||r.easing._default,this.options=b,this.start=this.now=this.cur(),this.end=d,this.unit=f||(r.cssNumber[c]?"":"px")},cur:function(){var a=Xa.propHooks[this.prop];return a&&a.get?a.get(this):Xa.propHooks._default.get(this)},run:function(a){var b,c=Xa.propHooks[this.prop];return this.options.duration?this.pos=b=r.easing[this.easing](a,this.options.duration*a,0,1,this.options.duration):this.pos=b=a,this.now=(this.end-this.start)*b+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),c&&c.set?c.set(this):Xa.propHooks._default.set(this),this}},Xa.prototype.init.prototype=Xa.prototype,Xa.propHooks={_default:{get:function(a){var b;return 1!==a.elem.nodeType||null!=a.elem[a.prop]&&null==a.elem.style[a.prop]?a.elem[a.prop]:(b=r.css(a.elem,a.prop,""),b&&"auto"!==b?b:0)},set:function(a){r.fx.step[a.prop]?r.fx.step[a.prop](a):1!==a.elem.nodeType||null==a.elem.style[r.cssProps[a.prop]]&&!r.cssHooks[a.prop]?a.elem[a.prop]=a.now:r.style(a.elem,a.prop,a.now+a.unit)}}},Xa.propHooks.scrollTop=Xa.propHooks.scrollLeft={set:function(a){a.elem.nodeType&&a.elem.parentNode&&(a.elem[a.prop]=a.now)}},r.easing={linear:function(a){return a},swing:function(a){return.5-Math.cos(a*Math.PI)/2},_default:"swing"},r.fx=Xa.prototype.init,r.fx.step={};var Ya,Za,$a=/^(?:toggle|show|hide)$/,_a=/queueHooks$/;function ab(){Za&&(a.requestAnimationFrame(ab),r.fx.tick())}function bb(){return a.setTimeout(function(){Ya=void 0}),Ya=r.now()}function cb(a,b){var c,d=0,e={height:a};for(b=b?1:0;d<4;d+=2-b)c=aa[d],e["margin"+c]=e["padding"+c]=a;return b&&(e.opacity=e.width=a),e}function db(a,b,c){for(var d,e=(gb.tweeners[b]||[]).concat(gb.tweeners["*"]),f=0,g=e.length;f<g;f++)if(d=e[f].call(c,b,a))return d}function eb(a,b,c){var d,e,f,g,h,i,j,k,l="width"in b||"height"in b,m=this,n={},o=a.style,p=a.nodeType&&ba(a),q=V.get(a,"fxshow");c.queue||(g=r._queueHooks(a,"fx"),null==g.unqueued&&(g.unqueued=0,h=g.empty.fire,g.empty.fire=function(){g.unqueued||h()}),g.unqueued++,m.always(function(){m.always(function(){g.unqueued--,r.queue(a,"fx").length||g.empty.fire()})}));for(d in b)if(e=b[d],$a.test(e)){if(delete b[d],f=f||"toggle"===e,e===(p?"hide":"show")){if("show"!==e||!q||void 0===q[d])continue;p=!0}n[d]=q&&q[d]||r.style(a,d)}if(i=!r.isEmptyObject(b),i||!r.isEmptyObject(n)){l&&1===a.nodeType&&(c.overflow=[o.overflow,o.overflowX,o.overflowY],j=q&&q.display,null==j&&(j=V.get(a,"display")),k=r.css(a,"display"),"none"===k&&(j?k=j:(ga([a],!0),j=a.style.display||j,k=r.css(a,"display"),ga([a]))),("inline"===k||"inline-block"===k&&null!=j)&&"none"===r.css(a,"float")&&(i||(m.done(function(){o.display=j}),null==j&&(k=o.display,j="none"===k?"":k)),o.display="inline-block")),c.overflow&&(o.overflow="hidden",m.always(function(){o.overflow=c.overflow[0],o.overflowX=c.overflow[1],o.overflowY=c.overflow[2]})),i=!1;for(d in n)i||(q?"hidden"in q&&(p=q.hidden):q=V.access(a,"fxshow",{display:j}),f&&(q.hidden=!p),p&&ga([a],!0),m.done(function(){p||ga([a]),V.remove(a,"fxshow");for(d in n)r.style(a,d,n[d])})),i=db(p?q[d]:0,d,m),d in q||(q[d]=i.start,p&&(i.end=i.start,i.start=0))}}function fb(a,b){var c,d,e,f,g;for(c in a)if(d=r.camelCase(c),e=b[d],f=a[c],r.isArray(f)&&(e=f[1],f=a[c]=f[0]),c!==d&&(a[d]=f,delete a[c]),g=r.cssHooks[d],g&&"expand"in g){f=g.expand(f),delete a[d];for(c in f)c in a||(a[c]=f[c],b[c]=e)}else b[d]=e}function gb(a,b,c){var d,e,f=0,g=gb.prefilters.length,h=r.Deferred().always(function(){delete i.elem}),i=function(){if(e)return!1;for(var b=Ya||bb(),c=Math.max(0,j.startTime+j.duration-b),d=c/j.duration||0,f=1-d,g=0,i=j.tweens.length;g<i;g++)j.tweens[g].run(f);return h.notifyWith(a,[j,f,c]),f<1&&i?c:(h.resolveWith(a,[j]),!1)},j=h.promise({elem:a,props:r.extend({},b),opts:r.extend(!0,{specialEasing:{},easing:r.easing._default},c),originalProperties:b,originalOptions:c,startTime:Ya||bb(),duration:c.duration,tweens:[],createTween:function(b,c){var d=r.Tween(a,j.opts,b,c,j.opts.specialEasing[b]||j.opts.easing);return j.tweens.push(d),d},stop:function(b){var c=0,d=b?j.tweens.length:0;if(e)return this;for(e=!0;c<d;c++)j.tweens[c].run(1);return b?(h.notifyWith(a,[j,1,0]),h.resolveWith(a,[j,b])):h.rejectWith(a,[j,b]),this}}),k=j.props;for(fb(k,j.opts.specialEasing);f<g;f++)if(d=gb.prefilters[f].call(j,a,k,j.opts))return r.isFunction(d.stop)&&(r._queueHooks(j.elem,j.opts.queue).stop=r.proxy(d.stop,d)),d;return r.map(k,db,j),r.isFunction(j.opts.start)&&j.opts.start.call(a,j),r.fx.timer(r.extend(i,{elem:a,anim:j,queue:j.opts.queue})),j.progress(j.opts.progress).done(j.opts.done,j.opts.complete).fail(j.opts.fail).always(j.opts.always)}r.Animation=r.extend(gb,{tweeners:{"*":[function(a,b){var c=this.createTween(a,b);return da(c.elem,a,_.exec(b),c),c}]},tweener:function(a,b){r.isFunction(a)?(b=a,a=["*"]):a=a.match(K);for(var c,d=0,e=a.length;d<e;d++)c=a[d],gb.tweeners[c]=gb.tweeners[c]||[],gb.tweeners[c].unshift(b)},prefilters:[eb],prefilter:function(a,b){b?gb.prefilters.unshift(a):gb.prefilters.push(a)}}),r.speed=function(a,b,c){var e=a&&"object"==typeof a?r.extend({},a):{complete:c||!c&&b||r.isFunction(a)&&a,duration:a,easing:c&&b||b&&!r.isFunction(b)&&b};return r.fx.off||d.hidden?e.duration=0:e.duration="number"==typeof e.duration?e.duration:e.duration in r.fx.speeds?r.fx.speeds[e.duration]:r.fx.speeds._default,null!=e.queue&&e.queue!==!0||(e.queue="fx"),e.old=e.complete,e.complete=function(){r.isFunction(e.old)&&e.old.call(this),e.queue&&r.dequeue(this,e.queue)},e},r.fn.extend({fadeTo:function(a,b,c,d){return this.filter(ba).css("opacity",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,d){var e=r.isEmptyObject(a),f=r.speed(b,c,d),g=function(){var b=gb(this,r.extend({},a),f);(e||V.get(this,"finish"))&&b.stop(!0)};return g.finish=g,e||f.queue===!1?this.each(g):this.queue(f.queue,g)},stop:function(a,b,c){var d=function(a){var b=a.stop;delete a.stop,b(c)};return"string"!=typeof a&&(c=b,b=a,a=void 0),b&&a!==!1&&this.queue(a||"fx",[]),this.each(function(){var b=!0,e=null!=a&&a+"queueHooks",f=r.timers,g=V.get(this);if(e)g[e]&&g[e].stop&&d(g[e]);else for(e in g)g[e]&&g[e].stop&&_a.test(e)&&d(g[e]);for(e=f.length;e--;)f[e].elem!==this||null!=a&&f[e].queue!==a||(f[e].anim.stop(c),b=!1,f.splice(e,1));!b&&c||r.dequeue(this,a)})},finish:function(a){return a!==!1&&(a=a||"fx"),this.each(function(){var b,c=V.get(this),d=c[a+"queue"],e=c[a+"queueHooks"],f=r.timers,g=d?d.length:0;for(c.finish=!0,r.queue(this,a,[]),e&&e.stop&&e.stop.call(this,!0),b=f.length;b--;)f[b].elem===this&&f[b].queue===a&&(f[b].anim.stop(!0),f.splice(b,1));for(b=0;b<g;b++)d[b]&&d[b].finish&&d[b].finish.call(this);delete c.finish})}}),r.each(["toggle","show","hide"],function(a,b){var c=r.fn[b];r.fn[b]=function(a,d,e){return null==a||"boolean"==typeof a?c.apply(this,arguments):this.animate(cb(b,!0),a,d,e)}}),r.each({slideDown:cb("show"),slideUp:cb("hide"),slideToggle:cb("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){r.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),r.timers=[],r.fx.tick=function(){var a,b=0,c=r.timers;for(Ya=r.now();b<c.length;b++)a=c[b],a()||c[b]!==a||c.splice(b--,1);c.length||r.fx.stop(),Ya=void 0},r.fx.timer=function(a){r.timers.push(a),a()?r.fx.start():r.timers.pop()},r.fx.interval=13,r.fx.start=function(){Za||(Za=a.requestAnimationFrame?a.requestAnimationFrame(ab):a.setInterval(r.fx.tick,r.fx.interval))},r.fx.stop=function(){a.cancelAnimationFrame?a.cancelAnimationFrame(Za):a.clearInterval(Za),Za=null},r.fx.speeds={slow:600,fast:200,_default:400},r.fn.delay=function(b,c){return b=r.fx?r.fx.speeds[b]||b:b,c=c||"fx",this.queue(c,function(c,d){var e=a.setTimeout(c,b);d.stop=function(){a.clearTimeout(e)}})},function(){var a=d.createElement("input"),b=d.createElement("select"),c=b.appendChild(d.createElement("option"));a.type="checkbox",o.checkOn=""!==a.value,o.optSelected=c.selected,a=d.createElement("input"),a.value="t",a.type="radio",o.radioValue="t"===a.value}();var hb,ib=r.expr.attrHandle;r.fn.extend({attr:function(a,b){return S(this,r.attr,a,b,arguments.length>1)},removeAttr:function(a){return this.each(function(){r.removeAttr(this,a)})}}),r.extend({attr:function(a,b,c){var d,e,f=a.nodeType;if(3!==f&&8!==f&&2!==f)return"undefined"==typeof a.getAttribute?r.prop(a,b,c):(1===f&&r.isXMLDoc(a)||(e=r.attrHooks[b.toLowerCase()]||(r.expr.match.bool.test(b)?hb:void 0)),void 0!==c?null===c?void r.removeAttr(a,b):e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:(a.setAttribute(b,c+""),c):e&&"get"in e&&null!==(d=e.get(a,b))?d:(d=r.find.attr(a,b),null==d?void 0:d))},attrHooks:{type:{set:function(a,b){if(!o.radioValue&&"radio"===b&&r.nodeName(a,"input")){var c=a.value;return a.setAttribute("type",b),c&&(a.value=c),b}}}},removeAttr:function(a,b){var c,d=0,e=b&&b.match(K);
+if(e&&1===a.nodeType)while(c=e[d++])a.removeAttribute(c)}}),hb={set:function(a,b,c){return b===!1?r.removeAttr(a,c):a.setAttribute(c,c),c}},r.each(r.expr.match.bool.source.match(/\w+/g),function(a,b){var c=ib[b]||r.find.attr;ib[b]=function(a,b,d){var e,f,g=b.toLowerCase();return d||(f=ib[g],ib[g]=e,e=null!=c(a,b,d)?g:null,ib[g]=f),e}});var jb=/^(?:input|select|textarea|button)$/i,kb=/^(?:a|area)$/i;r.fn.extend({prop:function(a,b){return S(this,r.prop,a,b,arguments.length>1)},removeProp:function(a){return this.each(function(){delete this[r.propFix[a]||a]})}}),r.extend({prop:function(a,b,c){var d,e,f=a.nodeType;if(3!==f&&8!==f&&2!==f)return 1===f&&r.isXMLDoc(a)||(b=r.propFix[b]||b,e=r.propHooks[b]),void 0!==c?e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:a[b]=c:e&&"get"in e&&null!==(d=e.get(a,b))?d:a[b]},propHooks:{tabIndex:{get:function(a){var b=r.find.attr(a,"tabindex");return b?parseInt(b,10):jb.test(a.nodeName)||kb.test(a.nodeName)&&a.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),o.optSelected||(r.propHooks.selected={get:function(a){var b=a.parentNode;return b&&b.parentNode&&b.parentNode.selectedIndex,null},set:function(a){var b=a.parentNode;b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex)}}),r.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){r.propFix[this.toLowerCase()]=this});var lb=/[\t\r\n\f]/g;function mb(a){return a.getAttribute&&a.getAttribute("class")||""}r.fn.extend({addClass:function(a){var b,c,d,e,f,g,h,i=0;if(r.isFunction(a))return this.each(function(b){r(this).addClass(a.call(this,b,mb(this)))});if("string"==typeof a&&a){b=a.match(K)||[];while(c=this[i++])if(e=mb(c),d=1===c.nodeType&&(" "+e+" ").replace(lb," ")){g=0;while(f=b[g++])d.indexOf(" "+f+" ")<0&&(d+=f+" ");h=r.trim(d),e!==h&&c.setAttribute("class",h)}}return this},removeClass:function(a){var b,c,d,e,f,g,h,i=0;if(r.isFunction(a))return this.each(function(b){r(this).removeClass(a.call(this,b,mb(this)))});if(!arguments.length)return this.attr("class","");if("string"==typeof a&&a){b=a.match(K)||[];while(c=this[i++])if(e=mb(c),d=1===c.nodeType&&(" "+e+" ").replace(lb," ")){g=0;while(f=b[g++])while(d.indexOf(" "+f+" ")>-1)d=d.replace(" "+f+" "," ");h=r.trim(d),e!==h&&c.setAttribute("class",h)}}return this},toggleClass:function(a,b){var c=typeof a;return"boolean"==typeof b&&"string"===c?b?this.addClass(a):this.removeClass(a):r.isFunction(a)?this.each(function(c){r(this).toggleClass(a.call(this,c,mb(this),b),b)}):this.each(function(){var b,d,e,f;if("string"===c){d=0,e=r(this),f=a.match(K)||[];while(b=f[d++])e.hasClass(b)?e.removeClass(b):e.addClass(b)}else void 0!==a&&"boolean"!==c||(b=mb(this),b&&V.set(this,"__className__",b),this.setAttribute&&this.setAttribute("class",b||a===!1?"":V.get(this,"__className__")||""))})},hasClass:function(a){var b,c,d=0;b=" "+a+" ";while(c=this[d++])if(1===c.nodeType&&(" "+mb(c)+" ").replace(lb," ").indexOf(b)>-1)return!0;return!1}});var nb=/\r/g,ob=/[\x20\t\r\n\f]+/g;r.fn.extend({val:function(a){var b,c,d,e=this[0];{if(arguments.length)return d=r.isFunction(a),this.each(function(c){var e;1===this.nodeType&&(e=d?a.call(this,c,r(this).val()):a,null==e?e="":"number"==typeof e?e+="":r.isArray(e)&&(e=r.map(e,function(a){return null==a?"":a+""})),b=r.valHooks[this.type]||r.valHooks[this.nodeName.toLowerCase()],b&&"set"in b&&void 0!==b.set(this,e,"value")||(this.value=e))});if(e)return b=r.valHooks[e.type]||r.valHooks[e.nodeName.toLowerCase()],b&&"get"in b&&void 0!==(c=b.get(e,"value"))?c:(c=e.value,"string"==typeof c?c.replace(nb,""):null==c?"":c)}}}),r.extend({valHooks:{option:{get:function(a){var b=r.find.attr(a,"value");return null!=b?b:r.trim(r.text(a)).replace(ob," ")}},select:{get:function(a){for(var b,c,d=a.options,e=a.selectedIndex,f="select-one"===a.type,g=f?null:[],h=f?e+1:d.length,i=e<0?h:f?e:0;i<h;i++)if(c=d[i],(c.selected||i===e)&&!c.disabled&&(!c.parentNode.disabled||!r.nodeName(c.parentNode,"optgroup"))){if(b=r(c).val(),f)return b;g.push(b)}return g},set:function(a,b){var c,d,e=a.options,f=r.makeArray(b),g=e.length;while(g--)d=e[g],(d.selected=r.inArray(r.valHooks.option.get(d),f)>-1)&&(c=!0);return c||(a.selectedIndex=-1),f}}}}),r.each(["radio","checkbox"],function(){r.valHooks[this]={set:function(a,b){if(r.isArray(b))return a.checked=r.inArray(r(a).val(),b)>-1}},o.checkOn||(r.valHooks[this].get=function(a){return null===a.getAttribute("value")?"on":a.value})});var pb=/^(?:focusinfocus|focusoutblur)$/;r.extend(r.event,{trigger:function(b,c,e,f){var g,h,i,j,k,m,n,o=[e||d],p=l.call(b,"type")?b.type:b,q=l.call(b,"namespace")?b.namespace.split("."):[];if(h=i=e=e||d,3!==e.nodeType&&8!==e.nodeType&&!pb.test(p+r.event.triggered)&&(p.indexOf(".")>-1&&(q=p.split("."),p=q.shift(),q.sort()),k=p.indexOf(":")<0&&"on"+p,b=b[r.expando]?b:new r.Event(p,"object"==typeof b&&b),b.isTrigger=f?2:3,b.namespace=q.join("."),b.rnamespace=b.namespace?new RegExp("(^|\\.)"+q.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=e),c=null==c?[b]:r.makeArray(c,[b]),n=r.event.special[p]||{},f||!n.trigger||n.trigger.apply(e,c)!==!1)){if(!f&&!n.noBubble&&!r.isWindow(e)){for(j=n.delegateType||p,pb.test(j+p)||(h=h.parentNode);h;h=h.parentNode)o.push(h),i=h;i===(e.ownerDocument||d)&&o.push(i.defaultView||i.parentWindow||a)}g=0;while((h=o[g++])&&!b.isPropagationStopped())b.type=g>1?j:n.bindType||p,m=(V.get(h,"events")||{})[b.type]&&V.get(h,"handle"),m&&m.apply(h,c),m=k&&h[k],m&&m.apply&&T(h)&&(b.result=m.apply(h,c),b.result===!1&&b.preventDefault());return b.type=p,f||b.isDefaultPrevented()||n._default&&n._default.apply(o.pop(),c)!==!1||!T(e)||k&&r.isFunction(e[p])&&!r.isWindow(e)&&(i=e[k],i&&(e[k]=null),r.event.triggered=p,e[p](),r.event.triggered=void 0,i&&(e[k]=i)),b.result}},simulate:function(a,b,c){var d=r.extend(new r.Event,c,{type:a,isSimulated:!0});r.event.trigger(d,null,b)}}),r.fn.extend({trigger:function(a,b){return this.each(function(){r.event.trigger(a,b,this)})},triggerHandler:function(a,b){var c=this[0];if(c)return r.event.trigger(a,b,c,!0)}}),r.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(a,b){r.fn[b]=function(a,c){return arguments.length>0?this.on(b,null,a,c):this.trigger(b)}}),r.fn.extend({hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}}),o.focusin="onfocusin"in a,o.focusin||r.each({focus:"focusin",blur:"focusout"},function(a,b){var c=function(a){r.event.simulate(b,a.target,r.event.fix(a))};r.event.special[b]={setup:function(){var d=this.ownerDocument||this,e=V.access(d,b);e||d.addEventListener(a,c,!0),V.access(d,b,(e||0)+1)},teardown:function(){var d=this.ownerDocument||this,e=V.access(d,b)-1;e?V.access(d,b,e):(d.removeEventListener(a,c,!0),V.remove(d,b))}}});var qb=a.location,rb=r.now(),sb=/\?/;r.parseXML=function(b){var c;if(!b||"string"!=typeof b)return null;try{c=(new a.DOMParser).parseFromString(b,"text/xml")}catch(d){c=void 0}return c&&!c.getElementsByTagName("parsererror").length||r.error("Invalid XML: "+b),c};var tb=/\[\]$/,ub=/\r?\n/g,vb=/^(?:submit|button|image|reset|file)$/i,wb=/^(?:input|select|textarea|keygen)/i;function xb(a,b,c,d){var e;if(r.isArray(b))r.each(b,function(b,e){c||tb.test(a)?d(a,e):xb(a+"["+("object"==typeof e&&null!=e?b:"")+"]",e,c,d)});else if(c||"object"!==r.type(b))d(a,b);else for(e in b)xb(a+"["+e+"]",b[e],c,d)}r.param=function(a,b){var c,d=[],e=function(a,b){var c=r.isFunction(b)?b():b;d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(null==c?"":c)};if(r.isArray(a)||a.jquery&&!r.isPlainObject(a))r.each(a,function(){e(this.name,this.value)});else for(c in a)xb(c,a[c],b,e);return d.join("&")},r.fn.extend({serialize:function(){return r.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var a=r.prop(this,"elements");return a?r.makeArray(a):this}).filter(function(){var a=this.type;return this.name&&!r(this).is(":disabled")&&wb.test(this.nodeName)&&!vb.test(a)&&(this.checked||!ha.test(a))}).map(function(a,b){var c=r(this).val();return null==c?null:r.isArray(c)?r.map(c,function(a){return{name:b.name,value:a.replace(ub,"\r\n")}}):{name:b.name,value:c.replace(ub,"\r\n")}}).get()}});var yb=/%20/g,zb=/#.*$/,Ab=/([?&])_=[^&]*/,Bb=/^(.*?):[ \t]*([^\r\n]*)$/gm,Cb=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Db=/^(?:GET|HEAD)$/,Eb=/^\/\//,Fb={},Gb={},Hb="*/".concat("*"),Ib=d.createElement("a");Ib.href=qb.href;function Jb(a){return function(b,c){"string"!=typeof b&&(c=b,b="*");var d,e=0,f=b.toLowerCase().match(K)||[];if(r.isFunction(c))while(d=f[e++])"+"===d[0]?(d=d.slice(1)||"*",(a[d]=a[d]||[]).unshift(c)):(a[d]=a[d]||[]).push(c)}}function Kb(a,b,c,d){var e={},f=a===Gb;function g(h){var i;return e[h]=!0,r.each(a[h]||[],function(a,h){var j=h(b,c,d);return"string"!=typeof j||f||e[j]?f?!(i=j):void 0:(b.dataTypes.unshift(j),g(j),!1)}),i}return g(b.dataTypes[0])||!e["*"]&&g("*")}function Lb(a,b){var c,d,e=r.ajaxSettings.flatOptions||{};for(c in b)void 0!==b[c]&&((e[c]?a:d||(d={}))[c]=b[c]);return d&&r.extend(!0,a,d),a}function Mb(a,b,c){var d,e,f,g,h=a.contents,i=a.dataTypes;while("*"===i[0])i.shift(),void 0===d&&(d=a.mimeType||b.getResponseHeader("Content-Type"));if(d)for(e in h)if(h[e]&&h[e].test(d)){i.unshift(e);break}if(i[0]in c)f=i[0];else{for(e in c){if(!i[0]||a.converters[e+" "+i[0]]){f=e;break}g||(g=e)}f=f||g}if(f)return f!==i[0]&&i.unshift(f),c[f]}function Nb(a,b,c,d){var e,f,g,h,i,j={},k=a.dataTypes.slice();if(k[1])for(g in a.converters)j[g.toLowerCase()]=a.converters[g];f=k.shift();while(f)if(a.responseFields[f]&&(c[a.responseFields[f]]=b),!i&&d&&a.dataFilter&&(b=a.dataFilter(b,a.dataType)),i=f,f=k.shift())if("*"===f)f=i;else if("*"!==i&&i!==f){if(g=j[i+" "+f]||j["* "+f],!g)for(e in j)if(h=e.split(" "),h[1]===f&&(g=j[i+" "+h[0]]||j["* "+h[0]])){g===!0?g=j[e]:j[e]!==!0&&(f=h[0],k.unshift(h[1]));break}if(g!==!0)if(g&&a["throws"])b=g(b);else try{b=g(b)}catch(l){return{state:"parsererror",error:g?l:"No conversion from "+i+" to "+f}}}return{state:"success",data:b}}r.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:qb.href,type:"GET",isLocal:Cb.test(qb.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Hb,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":r.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(a,b){return b?Lb(Lb(a,r.ajaxSettings),b):Lb(r.ajaxSettings,a)},ajaxPrefilter:Jb(Fb),ajaxTransport:Jb(Gb),ajax:function(b,c){"object"==typeof b&&(c=b,b=void 0),c=c||{};var e,f,g,h,i,j,k,l,m,n,o=r.ajaxSetup({},c),p=o.context||o,q=o.context&&(p.nodeType||p.jquery)?r(p):r.event,s=r.Deferred(),t=r.Callbacks("once memory"),u=o.statusCode||{},v={},w={},x="canceled",y={readyState:0,getResponseHeader:function(a){var b;if(k){if(!h){h={};while(b=Bb.exec(g))h[b[1].toLowerCase()]=b[2]}b=h[a.toLowerCase()]}return null==b?null:b},getAllResponseHeaders:function(){return k?g:null},setRequestHeader:function(a,b){return null==k&&(a=w[a.toLowerCase()]=w[a.toLowerCase()]||a,v[a]=b),this},overrideMimeType:function(a){return null==k&&(o.mimeType=a),this},statusCode:function(a){var b;if(a)if(k)y.always(a[y.status]);else for(b in a)u[b]=[u[b],a[b]];return this},abort:function(a){var b=a||x;return e&&e.abort(b),A(0,b),this}};if(s.promise(y),o.url=((b||o.url||qb.href)+"").replace(Eb,qb.protocol+"//"),o.type=c.method||c.type||o.method||o.type,o.dataTypes=(o.dataType||"*").toLowerCase().match(K)||[""],null==o.crossDomain){j=d.createElement("a");try{j.href=o.url,j.href=j.href,o.crossDomain=Ib.protocol+"//"+Ib.host!=j.protocol+"//"+j.host}catch(z){o.crossDomain=!0}}if(o.data&&o.processData&&"string"!=typeof o.data&&(o.data=r.param(o.data,o.traditional)),Kb(Fb,o,c,y),k)return y;l=r.event&&o.global,l&&0===r.active++&&r.event.trigger("ajaxStart"),o.type=o.type.toUpperCase(),o.hasContent=!Db.test(o.type),f=o.url.replace(zb,""),o.hasContent?o.data&&o.processData&&0===(o.contentType||"").indexOf("application/x-www-form-urlencoded")&&(o.data=o.data.replace(yb,"+")):(n=o.url.slice(f.length),o.data&&(f+=(sb.test(f)?"&":"?")+o.data,delete o.data),o.cache===!1&&(f=f.replace(Ab,""),n=(sb.test(f)?"&":"?")+"_="+rb++ +n),o.url=f+n),o.ifModified&&(r.lastModified[f]&&y.setRequestHeader("If-Modified-Since",r.lastModified[f]),r.etag[f]&&y.setRequestHeader("If-None-Match",r.etag[f])),(o.data&&o.hasContent&&o.contentType!==!1||c.contentType)&&y.setRequestHeader("Content-Type",o.contentType),y.setRequestHeader("Accept",o.dataTypes[0]&&o.accepts[o.dataTypes[0]]?o.accepts[o.dataTypes[0]]+("*"!==o.dataTypes[0]?", "+Hb+"; q=0.01":""):o.accepts["*"]);for(m in o.headers)y.setRequestHeader(m,o.headers[m]);if(o.beforeSend&&(o.beforeSend.call(p,y,o)===!1||k))return y.abort();if(x="abort",t.add(o.complete),y.done(o.success),y.fail(o.error),e=Kb(Gb,o,c,y)){if(y.readyState=1,l&&q.trigger("ajaxSend",[y,o]),k)return y;o.async&&o.timeout>0&&(i=a.setTimeout(function(){y.abort("timeout")},o.timeout));try{k=!1,e.send(v,A)}catch(z){if(k)throw z;A(-1,z)}}else A(-1,"No Transport");function A(b,c,d,h){var j,m,n,v,w,x=c;k||(k=!0,i&&a.clearTimeout(i),e=void 0,g=h||"",y.readyState=b>0?4:0,j=b>=200&&b<300||304===b,d&&(v=Mb(o,y,d)),v=Nb(o,v,y,j),j?(o.ifModified&&(w=y.getResponseHeader("Last-Modified"),w&&(r.lastModified[f]=w),w=y.getResponseHeader("etag"),w&&(r.etag[f]=w)),204===b||"HEAD"===o.type?x="nocontent":304===b?x="notmodified":(x=v.state,m=v.data,n=v.error,j=!n)):(n=x,!b&&x||(x="error",b<0&&(b=0))),y.status=b,y.statusText=(c||x)+"",j?s.resolveWith(p,[m,x,y]):s.rejectWith(p,[y,x,n]),y.statusCode(u),u=void 0,l&&q.trigger(j?"ajaxSuccess":"ajaxError",[y,o,j?m:n]),t.fireWith(p,[y,x]),l&&(q.trigger("ajaxComplete",[y,o]),--r.active||r.event.trigger("ajaxStop")))}return y},getJSON:function(a,b,c){return r.get(a,b,c,"json")},getScript:function(a,b){return r.get(a,void 0,b,"script")}}),r.each(["get","post"],function(a,b){r[b]=function(a,c,d,e){return r.isFunction(c)&&(e=e||d,d=c,c=void 0),r.ajax(r.extend({url:a,type:b,dataType:e,data:c,success:d},r.isPlainObject(a)&&a))}}),r._evalUrl=function(a){return r.ajax({url:a,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,"throws":!0})},r.fn.extend({wrapAll:function(a){var b;return this[0]&&(r.isFunction(a)&&(a=a.call(this[0])),b=r(a,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstElementChild)a=a.firstElementChild;return a}).append(this)),this},wrapInner:function(a){return r.isFunction(a)?this.each(function(b){r(this).wrapInner(a.call(this,b))}):this.each(function(){var b=r(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=r.isFunction(a);return this.each(function(c){r(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(a){return this.parent(a).not("body").each(function(){r(this).replaceWith(this.childNodes)}),this}}),r.expr.pseudos.hidden=function(a){return!r.expr.pseudos.visible(a)},r.expr.pseudos.visible=function(a){return!!(a.offsetWidth||a.offsetHeight||a.getClientRects().length)},r.ajaxSettings.xhr=function(){try{return new a.XMLHttpRequest}catch(b){}};var Ob={0:200,1223:204},Pb=r.ajaxSettings.xhr();o.cors=!!Pb&&"withCredentials"in Pb,o.ajax=Pb=!!Pb,r.ajaxTransport(function(b){var c,d;if(o.cors||Pb&&!b.crossDomain)return{send:function(e,f){var g,h=b.xhr();if(h.open(b.type,b.url,b.async,b.username,b.password),b.xhrFields)for(g in b.xhrFields)h[g]=b.xhrFields[g];b.mimeType&&h.overrideMimeType&&h.overrideMimeType(b.mimeType),b.crossDomain||e["X-Requested-With"]||(e["X-Requested-With"]="XMLHttpRequest");for(g in e)h.setRequestHeader(g,e[g]);c=function(a){return function(){c&&(c=d=h.onload=h.onerror=h.onabort=h.onreadystatechange=null,"abort"===a?h.abort():"error"===a?"number"!=typeof h.status?f(0,"error"):f(h.status,h.statusText):f(Ob[h.status]||h.status,h.statusText,"text"!==(h.responseType||"text")||"string"!=typeof h.responseText?{binary:h.response}:{text:h.responseText},h.getAllResponseHeaders()))}},h.onload=c(),d=h.onerror=c("error"),void 0!==h.onabort?h.onabort=d:h.onreadystatechange=function(){4===h.readyState&&a.setTimeout(function(){c&&d()})},c=c("abort");try{h.send(b.hasContent&&b.data||null)}catch(i){if(c)throw i}},abort:function(){c&&c()}}}),r.ajaxPrefilter(function(a){a.crossDomain&&(a.contents.script=!1)}),r.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(a){return r.globalEval(a),a}}}),r.ajaxPrefilter("script",function(a){void 0===a.cache&&(a.cache=!1),a.crossDomain&&(a.type="GET")}),r.ajaxTransport("script",function(a){if(a.crossDomain){var b,c;return{send:function(e,f){b=r("<script>").prop({charset:a.scriptCharset,src:a.url}).on("load error",c=function(a){b.remove(),c=null,a&&f("error"===a.type?404:200,a.type)}),d.head.appendChild(b[0])},abort:function(){c&&c()}}}});var Qb=[],Rb=/(=)\?(?=&|$)|\?\?/;r.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var a=Qb.pop()||r.expando+"_"+rb++;return this[a]=!0,a}}),r.ajaxPrefilter("json jsonp",function(b,c,d){var e,f,g,h=b.jsonp!==!1&&(Rb.test(b.url)?"url":"string"==typeof b.data&&0===(b.contentType||"").indexOf("application/x-www-form-urlencoded")&&Rb.test(b.data)&&"data");if(h||"jsonp"===b.dataTypes[0])return e=b.jsonpCallback=r.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,h?b[h]=b[h].replace(Rb,"$1"+e):b.jsonp!==!1&&(b.url+=(sb.test(b.url)?"&":"?")+b.jsonp+"="+e),b.converters["script json"]=function(){return g||r.error(e+" was not called"),g[0]},b.dataTypes[0]="json",f=a[e],a[e]=function(){g=arguments},d.always(function(){void 0===f?r(a).removeProp(e):a[e]=f,b[e]&&(b.jsonpCallback=c.jsonpCallback,Qb.push(e)),g&&r.isFunction(f)&&f(g[0]),g=f=void 0}),"script"}),o.createHTMLDocument=function(){var a=d.implementation.createHTMLDocument("").body;return a.innerHTML="<form></form><form></form>",2===a.childNodes.length}(),r.parseHTML=function(a,b,c){if("string"!=typeof a)return[];"boolean"==typeof b&&(c=b,b=!1);var e,f,g;return b||(o.createHTMLDocument?(b=d.implementation.createHTMLDocument(""),e=b.createElement("base"),e.href=d.location.href,b.head.appendChild(e)):b=d),f=B.exec(a),g=!c&&[],f?[b.createElement(f[1])]:(f=oa([a],b,g),g&&g.length&&r(g).remove(),r.merge([],f.childNodes))},r.fn.load=function(a,b,c){var d,e,f,g=this,h=a.indexOf(" ");return h>-1&&(d=r.trim(a.slice(h)),a=a.slice(0,h)),r.isFunction(b)?(c=b,b=void 0):b&&"object"==typeof b&&(e="POST"),g.length>0&&r.ajax({url:a,type:e||"GET",dataType:"html",data:b}).done(function(a){f=arguments,g.html(d?r("<div>").append(r.parseHTML(a)).find(d):a)}).always(c&&function(a,b){g.each(function(){c.apply(this,f||[a.responseText,b,a])})}),this},r.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(a,b){r.fn[b]=function(a){return this.on(b,a)}}),r.expr.pseudos.animated=function(a){return r.grep(r.timers,function(b){return a===b.elem}).length};function Sb(a){return r.isWindow(a)?a:9===a.nodeType&&a.defaultView}r.offset={setOffset:function(a,b,c){var d,e,f,g,h,i,j,k=r.css(a,"position"),l=r(a),m={};"static"===k&&(a.style.position="relative"),h=l.offset(),f=r.css(a,"top"),i=r.css(a,"left"),j=("absolute"===k||"fixed"===k)&&(f+i).indexOf("auto")>-1,j?(d=l.position(),g=d.top,e=d.left):(g=parseFloat(f)||0,e=parseFloat(i)||0),r.isFunction(b)&&(b=b.call(a,c,r.extend({},h))),null!=b.top&&(m.top=b.top-h.top+g),null!=b.left&&(m.left=b.left-h.left+e),"using"in b?b.using.call(a,m):l.css(m)}},r.fn.extend({offset:function(a){if(arguments.length)return void 0===a?this:this.each(function(b){r.offset.setOffset(this,a,b)});var b,c,d,e,f=this[0];if(f)return f.getClientRects().length?(d=f.getBoundingClientRect(),d.width||d.height?(e=f.ownerDocument,c=Sb(e),b=e.documentElement,{top:d.top+c.pageYOffset-b.clientTop,left:d.left+c.pageXOffset-b.clientLeft}):d):{top:0,left:0}},position:function(){if(this[0]){var a,b,c=this[0],d={top:0,left:0};return"fixed"===r.css(c,"position")?b=c.getBoundingClientRect():(a=this.offsetParent(),b=this.offset(),r.nodeName(a[0],"html")||(d=a.offset()),d={top:d.top+r.css(a[0],"borderTopWidth",!0),left:d.left+r.css(a[0],"borderLeftWidth",!0)}),{top:b.top-d.top-r.css(c,"marginTop",!0),left:b.left-d.left-r.css(c,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var a=this.offsetParent;while(a&&"static"===r.css(a,"position"))a=a.offsetParent;return a||pa})}}),r.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(a,b){var c="pageYOffset"===b;r.fn[a]=function(d){return S(this,function(a,d,e){var f=Sb(a);return void 0===e?f?f[b]:a[d]:void(f?f.scrollTo(c?f.pageXOffset:e,c?e:f.pageYOffset):a[d]=e)},a,d,arguments.length)}}),r.each(["top","left"],function(a,b){r.cssHooks[b]=Na(o.pixelPosition,function(a,c){if(c)return c=Ma(a,b),Ka.test(c)?r(a).position()[b]+"px":c})}),r.each({Height:"height",Width:"width"},function(a,b){r.each({padding:"inner"+a,content:b,"":"outer"+a},function(c,d){r.fn[d]=function(e,f){var g=arguments.length&&(c||"boolean"!=typeof e),h=c||(e===!0||f===!0?"margin":"border");return S(this,function(b,c,e){var f;return r.isWindow(b)?0===d.indexOf("outer")?b["inner"+a]:b.document.documentElement["client"+a]:9===b.nodeType?(f=b.documentElement,Math.max(b.body["scroll"+a],f["scroll"+a],b.body["offset"+a],f["offset"+a],f["client"+a])):void 0===e?r.css(b,c,h):r.style(b,c,e,h)},b,g?e:void 0,g)}})}),r.fn.extend({bind:function(a,b,c){return this.on(a,null,b,c)},unbind:function(a,b){return this.off(a,null,b)},delegate:function(a,b,c,d){return this.on(b,a,c,d)},undelegate:function(a,b,c){return 1===arguments.length?this.off(a,"**"):this.off(b,a||"**",c)}}),r.parseJSON=JSON.parse,"function"==typeof define&&define.amd&&define("jquery",[],function(){return r});var Tb=a.jQuery,Ub=a.$;return r.noConflict=function(b){return a.$===r&&(a.$=Ub),b&&a.jQuery===r&&(a.jQuery=Tb),r},b||(a.jQuery=a.$=r),r});
diff --git a/priv/static/js/metricsgraphics.min.js b/priv/static/js/metricsgraphics.min.js
new file mode 100644
index 0000000..19e96b7
--- /dev/null
+++ b/priv/static/js/metricsgraphics.min.js
@@ -0,0 +1 @@
+!function(t,e){"function"==typeof define&&define.amd?define(["d3"],e):"object"==typeof exports?module.exports=e(require("d3")):t.MG=e(t.d3)}(this,function(E){"use strict";var c="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t};function k(){return"undefined"!=typeof jQuery||"undefined"!=typeof $}function i(t,e){return t[e.x_accessor]>=e.processed.min_x&&t[e.x_accessor]<=e.processed.max_x&&t[e.y_accessor]>=e.processed.min_y&&t[e.y_accessor]<=e.processed.max_y}function u(t){return"[object Array]"===Object.prototype.toString.call(t)}function a(t){var e=t.map(function(t){return!0===u(t)&&0<t.length});return E.sum(e)===t.length}function n(t){var e=t.map(function(t){return!0==(e=t,"[object Object]"===Object.prototype.toString.call(e));var e});return E.sum(e)===t.length}function e(t){return u(e=t)&&0===e.length||n(t);var e}function w(t){return t.height-t.bottom}function v(t){return w(t)-t.buffer}function M(t){return t.top}function b(t){return M(t)+t.buffer}function G(t){return t.left}function Y(t){return G(t)+t.buffer}function A(t){return t.width-t.right}function P(t){return A(t)-t.buffer}function _(t){t.exit().remove()}function D(t,e){t.selectAll(e).remove()}function S(t,e){return t.append("g").classed(e,!0)}function r(t,e){var r=O(t.target),a=h(t.data),n=r.selectAll("line."+e).data(a);return n.enter().append("line").attr("class",e).attr("opacity",.3),_(n),_(n),n}function m(t,e,r){e.color_accessor?(t.attr("stroke",e.scalefns.colorf),t.classed(r,!1)):(t.attr("stroke",null),t.classed(r,!0))}function l(t,e){e&&t.attr({dy:0,transform:function(){var t=E.select(this);return"rotate("+e+" "+t.attr("x")+","+t.attr("y")+")"}})}function g(t){if(!(t=t.node()))return!1;for(var e=0;e<t.length;e++)if(o(t[e],t))return!0;return!1}function o(t,e){for(var r=t.getBoundingClientRect(),a=0;a<e.length;a++)if(e[a]!=t){var n=e[a].getBoundingClientRect();if(r.top===n.top&&!(n.left>r.right||n.right<r.left))return!0}return!1}function s(t,e){var r=h(t.data);return"string"==typeof(r=r[0][t[e+"_accessor"]])?"categorical":"numerical"}function O(t){return E.select(t).select("svg")}function h(t){var e=[];return e.concat.apply(e,t)}function z(t){if("string"==typeof t)return F(t);if(t instanceof window.HTMLElement){var e=t.getAttribute("data-mg-uid");return e||(void 0===MG._next_elem_id&&(MG._next_elem_id=0),e="mg-"+MG._next_elem_id++,t.setAttribute("data-mg-uid",e)),e}return console.warn("The specified target should be a string or an HTMLElement.",t),F(t)}function F(t){return t.replace(/[^a-zA-Z0-9 _-]+/g,"").replace(/ +?/g,"")}function d(t,e){return Number(E.select(t).style(e).replace(/px/g,""))}function f(t){return d(t,"width")}("undefined"==typeof window?global:window).MG={version:"2.11"},MG.convert={},MG.convert.date=function(t,e,r){r=void 0===r?"%Y-%m-%d":r;var a=E.timeParse(r);return t=t.map(function(t){return t[e]=a(t[e].trim()),t})},MG.convert.number=function(t,e){return t=t.map(function(t){return t[e]=Number(t[e]),t})},MG.time_format=function(t,e){return t?E.utcFormat(e):E.timeFormat(e)};var t=function(t,e,r){var a={};if(null===t)return t;if(Array.prototype.forEach&&t.forEach===Array.prototype.forEach)t.forEach(e,r);else if(t.length===+t.length){for(var n=0,o=t.length;n<o;n++)if(e.call(r,t[n],n,t)===a)return}else for(var i in t)if(e.call(r,t[i],i,t)===a)return;return t};function p(r){return t(Array.prototype.slice.call(arguments,1),function(t){if(t)for(var e in t)void 0===r[e]&&(r[e]=t[e])}),r}function x(t){return"[object Date]"===Object.prototype.toString.call(t)}function y(t){return Array.isArray?Array.isArray(t):"[object Array]"===Object.prototype.toString.call(t)}function C(t){return"[object Function]"===Object.prototype.toString.call(t)}function T(t,e){var r,a=[],n=[];for(r=0;r<e.length;r++)a[e[r]]=!0;for(r=0;r<t.length;r++)a[t[r]]||n.push(t[r]);return n}function R(t,e){console.warn("Deprecation: "+t+(e?". This feature will be removed in "+e+".":" the near future.")),console.trace()}function L(t,e,r){var a,n=0;for(t.textContent=e,a=t.getBBox();a.width>r&&(t.textContent=e.slice(0,--n)+"...",a=t.getBBox(),"..."!==t.textContent););}function j(t){var e=O(t.target);if(e.select(".mg-header").remove(),t.target&&t.title){var r=e.insert("text").attr("class","mg-header").attr("x",t.center_title_full_width?t.width/2:(t.width+t.left-t.right)/2).attr("y",t.title_y_position).attr("text-anchor","middle").attr("dy","0.55em");if(r.append("tspan").attr("class","mg-chart-title").text(t.title),t.show_tooltips&&t.description&&k()){r.append("tspan").attr("class","mg-chart-description").attr("dx","0.3em").text("");var a=$(r.node());a.popover({html:!0,animation:!1,placement:"top",content:t.description,container:t.target,trigger:"manual",template:'<div class="popover mg-popover"><div class="arrow"></div><div class="popover-inner"><h3 class="popover-title"></h3><div class="popover-content"><p></p></div></div></div>'}).on("mouseenter",function(){E.selectAll(t.target).selectAll(".mg-popover").remove(),$(this).popover("show"),$(E.select(t.target).select(".popover").node()).on("mouseleave",function(){a.popover("hide")})}).on("mouseleave",function(){setTimeout(function(){$(".popover:hover").length||a.popover("hide")},120)})}else t.show_tooltips&&t.description&&"undefined"==typeof $&&(t.error="In order to enable tooltips, please make sure you include jQuery.")}t.error&&Xe(t)}function X(e,t,r,a,n){e.scalefns[t]=function(t){return void 0===n?e.scales[r](t[a]):e.scales[r](t[a])+n}}function U(t,e){return"bottom"===t||"top"===t?[Y(e),P(e)]:"left"===t||"right"===t?[v(e),e.top]:void 0}function N(t,e){return E.set(t.map(function(t){return t[e]})).values()}function B(e){var t;return null===e.color_domain?"number"===e.color_type?t=E.extent(e.data[0],function(t){return t[e.color_accessor]}):"category"===e.color_type&&(t=N(e.data[0],e.color_accessor)):t=e.color_domain,t}function I(t){return null===t.color_range?"number"===t.color_type?["blue","red"]:null:t.color_range}function H(t,e,r){var a=xt(t),n=a.secondary(t.processed.min_x,t.processed.max_x);0===n.length&&(n=[t.scales.X.ticks(t.xax_count)[0]]);var o,i,s,c=S(r,"mg-year-marker");"default"===a.timeframe&&t.show_year_markers&&(o=t,i=c,s=n,a.yformat,i.selectAll(".mg-year-marker").data(s).enter().append("line").attr("x1",function(t){return o.scales.X(t).toFixed(2)}).attr("x2",function(t){return o.scales.X(t).toFixed(2)}).attr("y1",M(o)).attr("y2",w(o))),"years"!=a.tick_diff_timeframe&&function(t,e,r,a,n){var o,i,s,c,l,u=e.position,d=e.namespace,f=t.scales[d.toUpperCase()],p=E.select(t.target).select(".mg-x-axis text").node().getBoundingClientRect();"top"===u&&(o=function(t,e){return f(t).toFixed(2)},i=M(t)-7*t.xax_tick_length/3-p.height,s=".50em",c="middle",l=function(t){return n(new Date(t))});"bottom"===u&&(o=function(t,e){return f(t).toFixed(2)},i=w(t)+7*t.xax_tick_length/3+.8*p.height,s=".50em",c="middle",l=function(t){return n(new Date(t))});r.selectAll(".mg-year-marker").data(a).enter().append("text").attr("x",o).attr("y",i).attr("dy",s).attr("text-anchor",c).text(l)}(t,e,c,n,a.yformat)}function q(t,a,e){var r,n,o,i,s,c,l,u=e.namespace,d=(r=a,o=(n=e).position,i=n.namespace,s=r[i+"ax_tick_length"],c=r.scales[i.toUpperCase()],l={},"left"===o&&(l.x=G(r)-3*s/2,l.y=function(t){return c(t).toFixed(2)},l.dx=-3,l.dy=".35em",l.textAnchor="end",l.text=function(t){return J(r)(t)}),"right"===o&&(l.x=A(r)+3*s/2,l.y=function(t){return c(t).toFixed(2)},l.dx=3,l.dy=".35em",l.textAnchor="start",l.text=function(t){return J(r)(t)}),"top"===o&&(l.x=function(t){return c(t).toFixed(2)},l.y=(M(r)-7*s/3).toFixed(2),l.dx=0,l.dy="0em",l.textAnchor="middle",l.text=function(t){return ht(r)(t)}),"bottom"===o&&(l.x=function(t){return c(t).toFixed(2)},l.y=(w(r)+7*s/3).toFixed(2),l.dx=0,l.dy=".50em",l.textAnchor="middle",l.text=function(t){return ht(r)(t)}),l),f=a.processed[u+"_ticks"],p=t.selectAll(".mg-yax-labels").data(f).enter().append("text").attr("x",d.x).attr("dx",d.dx).attr("y",d.y).attr("dy",d.dy).attr("text-anchor",d.textAnchor).text(d.text);("x"==u&&(a.time_series&&a.european_clock?(p.append("tspan").classed("mg-european-hours",!0).text(function(t,e){var r=new Date(t);return 0===e?E.timeFormat("%H")(r):""}),p.append("tspan").classed("mg-european-minutes-seconds",!0).text(function(t,e){var r=new Date(t);return":"+a.processed.xax_format(r)})):p.text(function(t){return a.xax_units+a.processed.xax_format(t)}),a.time_series&&(a.show_years||a.show_secondary_x_label)&&H(a,e,t)),g(p))&&(p.filter(function(t,e){return(e+1)%2==0}).remove(),O(a.target).selectAll(".mg-"+u+"ax-ticks").filter(function(t,e){return(e+1)%2==0}).remove())}function V(t,e,r){var a,n,o,i,s,c,l,u,d=r.namespace,f=e.processed[d+"_ticks"].length,p=(a=e,o=(n=r).namespace,i=n.position,s=a.processed[o+"_ticks"].length,c=a.processed[o+"_ticks"],l=a.scales[o.toUpperCase()],u={},"left"===i&&(u.x1=G(a),u.x2=G(a),u.y1=l(c[0]).toFixed(2),u.y2=l(c[s-1]).toFixed(2)),"right"===i&&(u.x1=A(a),u.x2=A(a),u.y1=l(c[0]).toFixed(2),u.y2=l(c[s-1]).toFixed(2)),"top"===i&&(u.x1=G(a),u.x2=A(a),u.y1=M(a),u.y2=M(a)),"bottom"===i&&(u.x1=G(a),u.x2=A(a),u.y1=w(a),u.y2=w(a)),"left"!==i&&"right"!==i||(a.axes_not_compact?(u.y1=w(a),u.y2=M(a)):s&&(u.y1=l(c[0]).toFixed(2),u.y2=l(c[s-1]).toFixed(2))),u);e[d+"_extended_ticks"]||e[d+"_extended_ticks"]||!f||t.append("line").attr("x1",p.x1).attr("x2",p.x2).attr("y1",p.y1).attr("y2",p.y2)}function W(t,e){t.rug_buffer_size="point"===t.chart_type?t.buffer/2:2*t.buffer/3;var r,a,n,o,i,s,c,l,u,d,f=(r=t,a="mg-"+e.namespace+"-rug",n=O(r.target),o=h(r.data),(i=n.selectAll("line."+a).data(o)).enter().append("svg:line").attr("class",a).attr("opacity",.3),_(i),_(i),i),p=(s=t,l=(c=e).position,u=c.namespace,d={},"left"===l&&(d.x1=G(s)+1,d.x2=G(s)+s.rug_buffer_size,d.y1=s.scalefns[u+"f"],d.y2=s.scalefns[u+"f"]),"right"===l&&(d.x1=A(s)-1,d.x2=A(s)-s.rug_buffer_size,d.y1=s.scalefns[u+"f"],d.y2=s.scalefns[u+"f"]),"top"===l&&(d.x1=s.scalefns[u+"f"],d.x2=s.scalefns[u+"f"],d.y1=M(s)+1,d.y2=M(s)+s.rug_buffer_size),"bottom"===l&&(d.x1=s.scalefns[u+"f"],d.x2=s.scalefns[u+"f"],d.y1=w(s)-1,d.y2=w(s)-s.rug_buffer_size),d);f.attr("x1",p.x1).attr("x2",p.x2).attr("y1",p.y1).attr("y2",p.y2),m(f,t,"mg-"+e.namespace+"-rug-mono")}function Q(p,_){var m=_.namespace,t="mg-"+m+"-axis",g=p.scales[m.toUpperCase()],e=p.scales[(m+"group").toUpperCase()],h=m+"group_accessor",r=O(p.target);D(r,"."+t);var x,y=S(r,t);(e.domain&&e.domain()?e.domain():["1"]).forEach(function(t){var e,r,a,n,o,i,s,c,l,u,d=(e=p,a=t,n=(r=_).namespace,o=r.position,i=e.scales[n.toUpperCase()],s=e.scales[(n+"group").toUpperCase()],c={cat:{},group:{}},"left"===o&&(c.cat.x=Y(e)-e.buffer,c.cat.y=function(t){return s(a)+i(t)+i.bandwidth()/2},c.cat.dy=".35em",c.cat.textAnchor="end",c.group.x=Y(e)-e.buffer,c.group.y=s(a)+(s.bandwidth?s.bandwidth()/2:0),c.group.dy=".35em",c.group.textAnchor=(e["rotate_"+n+"_labels"],"end")),"right"===o&&(c.cat.x=P(e)-e.buffer,c.cat.y=function(t){return s(a)+i(t)+i.bandwidth()/2},c.cat.dy=".35em",c.cat.textAnchor="start",c.group.x=P(e)-e.buffer,c.group.y=s(a)+(s.bandwidth?s.bandwidth()/2:0),c.group.dy=".35em",c.group.textAnchor="start"),"top"===o&&(c.cat.x=function(t){return s(a)+i(t)+i.bandwidth()/2},c.cat.y=b(e)+e.buffer,c.cat.dy=".35em",c.cat.textAnchor=e["rotate_"+n+"_labels"]?"start":"middle",c.group.x=s(a)+(s.bandwidth?s.bandwidth()/2:0),c.group.y=b(e)+e.buffer,c.group.dy=".35em",c.group.textAnchor=e["rotate_"+n+"_labels"]?"start":"middle"),"bottom"===o&&(c.cat.x=function(t){return s(a)+i(t)+i.bandwidth()/2},c.cat.y=v(e)+e.buffer,c.cat.dy=".35em",c.cat.textAnchor=e["rotate_"+n+"_labels"]?"start":"middle",c.group.x=s(a)+(s.bandwidth?s.bandwidth()/2-i.bandwidth()/2:0),c.group.y=v(e)+e.buffer,c.group.dy=".35em",c.group.textAnchor=e["rotate_"+n+"_labels"]?"start":"middle"),c);if(x=S(y,"mg-group-"+F(t)),null!==p[h])var f=x.append("text").classed("mg-barplot-group-label",!0).attr("x",d.group.x).attr("y",d.group.y).attr("dy",d.group.dy).attr("text-anchor",d.group.textAnchor).text(t);else f=x.selectAll("text").data(g.domain()).enter().append("text").attr("x",d.cat.x).attr("y",d.cat.y).attr("dy",d.cat.dy).attr("text-anchor",d.cat.textAnchor).text(String);p["rotate_"+m+"_labels"]&&(l=f,(u=p["rotate_"+m+"_labels"])&&l.attr("transform",function(){var t=E.select(this);return"rotate("+u+" "+t.attr("x")+","+t.attr("y")+")"}))})}MG.merge_with_defaults=p,MG.clone=function(t){var e,r;if(null===t||"object"!==(void 0===t?"undefined":c(t)))return t;if(x(t))return(e=new Date).setTime(t.getTime()),e;if(y(t)){e=[];for(var a=0,n=t.length;a<n;a++)e[a]=MG.clone(t[a]);return e}if(r=t,"[object Object]"===Object.prototype.toString.call(r)){for(var o in e={},t)t.hasOwnProperty(o)&&(e[o]=MG.clone(t[o]));return e}throw new Error("Unable to copy obj! Its type isn't supported.")},MG.arr_diff=T,MG.warn_deprecation=R,MG.truncate_text=L,MG.wrap_text=function(t,i,s,c){t.each(function(){for(var t,e=E.select(this),r=e.text().split(s||/\s+/).reverse(),a=[],n=0,o=(e.attr("y"),e.text(null).append("tspan").attr("x",0).attr("y","0em").attr(c||{}));t=r.pop();)a.push(t),o.text(a.join(" ")),(null===i||o.node().getComputedTextLength()>i)&&(a.pop(),o.text(a.join(" ")),a=[t],o=e.append("tspan").attr("x",0).attr("y",1.1*++n+0+"em").attr(c||{}).text(t))})},MG.register=function(t,e,r){MG.charts[t]={descriptor:e,defaults:r||{}}},MG._hooks={},MG.add_hook=function(t,e,r){var a;if(MG._hooks[t]||(MG._hooks[t]=[]),0<(a=MG._hooks[t]).filter(function(t){return t.func===e}).length)throw"That function is already registered.";a.push({func:e,context:r})},MG.call_hook=function(t){var r,e=MG._hooks[t],a=[].slice.apply(arguments,[1]);return e&&e.forEach(function(t){if(t.func){var e=r||a;e&&e.constructor!==Array&&(e=[e]),e=[].concat.apply([],e),r=t.func.apply(t.context,e)}}),r||a},MG.globals={},MG.deprecations={rollover_callback:{replacement:"mouseover",version:"2.0"},rollout_callback:{replacement:"mouseout",version:"2.0"},x_rollover_format:{replacement:"x_mouseover",version:"2.10"},y_rollover_format:{replacement:"y_mouseover",version:"2.10"},show_years:{replacement:"show_secondary_x_label",version:"2.1"},xax_start_at_min:{replacement:"axes_not_compact",version:"2.7"},interpolate_tension:{replacement:"interpolate",version:"2.10"}},MG.globals.link=!1,MG.globals.version="1.1",MG.charts={},MG.data_graphic=function(t){var e={missing_is_zero:!1,missing_is_hidden:!1,missing_is_hidden_accessor:null,legend:"",legend_target:"",error:"",animate_on_load:!1,top:65,title_y_position:10,center_title_full_width:!1,bottom:45,right:10,left:50,buffer:8,width:350,height:220,full_width:!1,full_height:!1,small_height_threshold:120,small_width_threshold:160,xax_count:6,xax_tick_length:5,axes_not_compact:!0,yax_count:3,yax_tick_length:5,x_extended_ticks:!1,y_extended_ticks:!1,y_scale_type:"linear",max_x:null,max_y:null,min_x:null,min_y:null,min_y_from_data:!1,point_size:2.5,active_point_on_lines:!1,active_point_accessor:"active",active_point_size:2,points_always_visible:!1,x_accessor:"date",xax_units:"",x_label:"",x_sort:!0,x_axis:!0,y_axis:!0,x_axis_position:"bottom",y_axis_position:"left",x_axis_type:null,y_axis_type:null,ygroup_accessor:null,xgroup_accessor:null,y_padding_percentage:.05,y_outer_padding_percentage:.1,ygroup_padding_percentage:.25,ygroup_outer_padding_percentage:0,x_padding_percentage:.05,x_outer_padding_percentage:.1,xgroup_padding_percentage:.25,xgroup_outer_padding_percentage:0,y_categorical_show_guides:!1,x_categorical_show_guide:!1,rotate_x_labels:0,rotate_y_labels:0,y_accessor:"value",y_label:"",yax_units:"",yax_units_append:!1,x_rug:!1,y_rug:!1,mouseover_align:"right",x_mouseover:null,y_mouseover:null,transition_on_update:!0,mouseover:null,click:null,show_rollover_text:!0,show_confidence_band:null,xax_format:null,area:!0,flip_area_under_y_value:null,chart_type:"line",data:[],decimals:2,format:"count",inflator:10/9,linked:!1,linked_format:"%Y-%m-%d",list:!1,baselines:null,markers:null,scalefns:{},scales:{},utc_time:!1,european_clock:!1,show_year_markers:!1,show_secondary_x_label:!0,target:"#viz",interpolate:E.curveCatmullRom.alpha(0),custom_line_color_map:[],colors:null,max_data_size:null,aggregate_rollover:!1,show_tooltips:!0,showActivePoint:!0,brush:null,zoom_target:null,brushing_selection_changed:null};MG.call_hook("global.defaults",e),t||(t={});var r=MG.charts[t.chart_type||e.chart_type];for(var a in p(t,r.defaults,e),t.list&&(t.x_accessor=0,t.y_accessor=1),MG.deprecations)if(t.hasOwnProperty(a)){var n=MG.deprecations[a],o="Use of `args."+a+"` has been deprecated",i=n.replacement;if(i&&(t[i]?o+=". The replacement - `args."+i+"` - has already been defined. This definition will be discarded.":t[i]=t[a]),n.warned)continue;n.warned=!0,i&&(o+=" in favor of `args."+i+"`"),R(o,n.version)}return MG.call_hook("global.before_init",t),new r.descriptor(t),t.data},k()&&(function(m){var g=function(t,e){this.type=null,this.options=null,this.enabled=null,this.timeout=null,this.hoverState=null,this.$element=null,this.inState=null,this.init("tooltip",t,e)};g.VERSION="3.3.5",g.TRANSITION_DURATION=150,g.DEFAULTS={animation:!0,placement:"top",selector:!1,template:'<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!1,container:!1,viewport:{selector:"body",padding:0}},g.prototype.init=function(t,e,r){if(this.enabled=!0,this.type=t,this.$element=m(e),this.options=this.getOptions(r),this.$viewport=this.options.viewport&&m(m.isFunction(this.options.viewport)?this.options.viewport.call(this,this.$element):this.options.viewport.selector||this.options.viewport),this.inState={click:!1,hover:!1,focus:!1},this.$element[0]instanceof document.constructor&&!this.options.selector)throw new Error("`selector` option must be specified when initializing "+this.type+" on the window.document object!");for(var a=this.options.trigger.split(" "),n=a.length;n--;){var o=a[n];if("click"==o)this.$element.on("click."+this.type,this.options.selector,m.proxy(this.toggle,this));else if("manual"!=o){var i="hover"==o?"mouseenter":"focusin",s="hover"==o?"mouseleave":"focusout";this.$element.on(i+"."+this.type,this.options.selector,m.proxy(this.enter,this)),this.$element.on(s+"."+this.type,this.options.selector,m.proxy(this.leave,this))}}this.options.selector?this._options=m.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},g.prototype.getDefaults=function(){return g.DEFAULTS},g.prototype.getOptions=function(t){return(t=m.extend({},this.getDefaults(),this.$element.data(),t)).delay&&"number"==typeof t.delay&&(t.delay={show:t.delay,hide:t.delay}),t},g.prototype.getDelegateOptions=function(){var r={},a=this.getDefaults();return this._options&&m.each(this._options,function(t,e){a[t]!=e&&(r[t]=e)}),r},g.prototype.enter=function(t){var e=t instanceof this.constructor?t:m(t.currentTarget).data("bs."+this.type);if(e||(e=new this.constructor(t.currentTarget,this.getDelegateOptions()),m(t.currentTarget).data("bs."+this.type,e)),t instanceof m.Event&&(e.inState["focusin"==t.type?"focus":"hover"]=!0),e.tip().hasClass("in")||"in"==e.hoverState)e.hoverState="in";else{if(clearTimeout(e.timeout),e.hoverState="in",!e.options.delay||!e.options.delay.show)return e.show();e.timeout=setTimeout(function(){"in"==e.hoverState&&e.show()},e.options.delay.show)}},g.prototype.isInStateTrue=function(){for(var t in this.inState)if(this.inState[t])return!0;return!1},g.prototype.leave=function(t){var e=t instanceof this.constructor?t:m(t.currentTarget).data("bs."+this.type);if(e||(e=new this.constructor(t.currentTarget,this.getDelegateOptions()),m(t.currentTarget).data("bs."+this.type,e)),t instanceof m.Event&&(e.inState["focusout"==t.type?"focus":"hover"]=!1),!e.isInStateTrue()){if(clearTimeout(e.timeout),e.hoverState="out",!e.options.delay||!e.options.delay.hide)return e.hide();e.timeout=setTimeout(function(){"out"==e.hoverState&&e.hide()},e.options.delay.hide)}},g.prototype.show=function(){var t=m.Event("show.bs."+this.type);if(this.hasContent()&&this.enabled){this.$element.trigger(t);var e=m.contains(this.$element[0].ownerDocument.documentElement,this.$element[0]);if(t.isDefaultPrevented()||!e)return;var r=this,a=this.tip(),n=this.getUID(this.type);this.setContent(),a.attr("id",n),this.$element.attr("aria-describedby",n),this.options.animation&&a.addClass("fade");var o="function"==typeof this.options.placement?this.options.placement.call(this,a[0],this.$element[0]):this.options.placement,i=/\s?auto?\s?/i,s=i.test(o);s&&(o=o.replace(i,"")||"top"),a.detach().css({top:0,left:0,display:"block"}).addClass(o).data("bs."+this.type,this),this.options.container?a.appendTo(this.options.container):a.insertAfter(this.$element),this.$element.trigger("inserted.bs."+this.type);var c=this.getPosition(),l=a[0].offsetWidth,u=a[0].offsetHeight;if(s){var d=o,f=this.getPosition(this.$viewport);o="bottom"==o&&c.bottom+u>f.bottom?"top":"top"==o&&c.top-u<f.top?"bottom":"right"==o&&c.right+l>f.width?"left":"left"==o&&c.left-l<f.left?"right":o,a.removeClass(d).addClass(o)}var p=this.getCalculatedOffset(o,c,l,u);this.applyPlacement(p,o);var _=function(){var t=r.hoverState;r.$element.trigger("shown.bs."+r.type),r.hoverState=null,"out"==t&&r.leave(r)};m.support.transition&&this.$tip.hasClass("fade")?a.one("bsTransitionEnd",_).emulateTransitionEnd(g.TRANSITION_DURATION):_()}},g.prototype.applyPlacement=function(t,e){var r=this.tip(),a=r[0].offsetWidth,n=r[0].offsetHeight,o=parseInt(r.css("margin-top"),10),i=parseInt(r.css("margin-left"),10);isNaN(o)&&(o=0),isNaN(i)&&(i=0),t.top+=o,t.left+=i,m.offset.setOffset(r[0],m.extend({using:function(t){r.css({top:Math.round(t.top),left:Math.round(t.left)})}},t),0),r.addClass("in");var s=r[0].offsetWidth,c=r[0].offsetHeight;"top"==e&&c!=n&&(t.top=t.top+n-c);var l=this.getViewportAdjustedDelta(e,t,s,c);l.left?t.left+=l.left:t.top+=l.top;var u=/top|bottom/.test(e),d=u?2*l.left-a+s:2*l.top-n+c,f=u?"offsetWidth":"offsetHeight";r.offset(t),this.replaceArrow(d,r[0][f],u)},g.prototype.replaceArrow=function(t,e,r){this.arrow().css(r?"left":"top",50*(1-t/e)+"%").css(r?"top":"left","")},g.prototype.setContent=function(){var t=this.tip(),e=this.getTitle();t.find(".tooltip-inner")[this.options.html?"html":"text"](e),t.removeClass("fade in top bottom left right")},g.prototype.hide=function(t){var e=this,r=m(this.$tip),a=m.Event("hide.bs."+this.type);function n(){"in"!=e.hoverState&&r.detach(),e.$element.removeAttr("aria-describedby").trigger("hidden.bs."+e.type),t&&t()}if(this.$element.trigger(a),!a.isDefaultPrevented())return r.removeClass("in"),m.support.transition&&r.hasClass("fade")?r.one("bsTransitionEnd",n).emulateTransitionEnd(g.TRANSITION_DURATION):n(),this.hoverState=null,this},g.prototype.fixTitle=function(){var t=this.$element;(t.attr("title")||"string"!=typeof t.attr("data-original-title"))&&t.attr("data-original-title",t.attr("title")||"").attr("title","")},g.prototype.hasContent=function(){return this.getTitle()},g.prototype.getPosition=function(t){var e=(t=t||this.$element)[0],r="BODY"==e.tagName,a=e.getBoundingClientRect();null==a.width&&(a=m.extend({},a,{width:a.right-a.left,height:a.bottom-a.top}));var n=r?{top:0,left:0}:t.offset(),o={scroll:r?document.documentElement.scrollTop||document.body.scrollTop:t.scrollTop()},i=r?{width:m(window).width(),height:m(window).height()}:null;return m.extend({},a,o,i,n)},g.prototype.getCalculatedOffset=function(t,e,r,a){return"bottom"==t?{top:e.top+e.height,left:e.left+e.width/2-r/2}:"top"==t?{top:e.top-a,left:e.left+e.width/2-r/2}:"left"==t?{top:e.top+e.height/2-a/2,left:e.left-r}:{top:e.top+e.height/2-a/2,left:e.left+e.width}},g.prototype.getViewportAdjustedDelta=function(t,e,r,a){var n={top:0,left:0};if(!this.$viewport)return n;var o=this.options.viewport&&this.options.viewport.padding||0,i=this.getPosition(this.$viewport);if(/right|left/.test(t)){var s=e.top-o-i.scroll,c=e.top+o-i.scroll+a;s<i.top?n.top=i.top-s:c>i.top+i.height&&(n.top=i.top+i.height-c)}else{var l=e.left-o,u=e.left+o+r;l<i.left?n.left=i.left-l:u>i.right&&(n.left=i.left+i.width-u)}return n},g.prototype.getTitle=function(){var t=this.$element,e=this.options;return t.attr("data-original-title")||("function"==typeof e.title?e.title.call(t[0]):e.title)},g.prototype.getUID=function(t){for(;t+=~~(1e6*Math.random()),document.getElementById(t););return t},g.prototype.tip=function(){if(!this.$tip&&(this.$tip=m(this.options.template),1!=this.$tip.length))throw new Error(this.type+" `template` option must consist of exactly 1 top-level element!");return this.$tip},g.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".tooltip-arrow")},g.prototype.enable=function(){this.enabled=!0},g.prototype.disable=function(){this.enabled=!1},g.prototype.toggleEnabled=function(){this.enabled=!this.enabled},g.prototype.toggle=function(t){var e=this;t&&((e=m(t.currentTarget).data("bs."+this.type))||(e=new this.constructor(t.currentTarget,this.getDelegateOptions()),m(t.currentTarget).data("bs."+this.type,e))),t?(e.inState.click=!e.inState.click,e.isInStateTrue()?e.enter(e):e.leave(e)):e.tip().hasClass("in")?e.leave(e):e.enter(e)},g.prototype.destroy=function(){var t=this;clearTimeout(this.timeout),this.hide(function(){t.$element.off("."+t.type).removeData("bs."+t.type),t.$tip&&t.$tip.detach(),t.$tip=null,t.$arrow=null,t.$viewport=null})};var t=m.fn.tooltip;m.fn.tooltip=function(a){return this.each(function(){var t=m(this),e=t.data("bs.tooltip"),r="object"==(void 0===a?"undefined":c(a))&&a;!e&&/destroy|hide/.test(a)||(e||t.data("bs.tooltip",e=new g(this,r)),"string"==typeof a&&e[a]())})},m.fn.tooltip.Constructor=g,m.fn.tooltip.noConflict=function(){return m.fn.tooltip=t,this}}(jQuery),function(n){var o=function(t,e){this.init("popover",t,e)};if(!n.fn.tooltip)throw new Error("Popover requires tooltip.js");o.VERSION="3.3.5",o.DEFAULTS=n.extend({},n.fn.tooltip.Constructor.DEFAULTS,{placement:"right",trigger:"click",content:"",template:'<div class="popover" role="tooltip"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>'}),((o.prototype=n.extend({},n.fn.tooltip.Constructor.prototype)).constructor=o).prototype.getDefaults=function(){return o.DEFAULTS},o.prototype.setContent=function(){var t=this.tip(),e=this.getTitle(),r=this.getContent();t.find(".popover-title")[this.options.html?"html":"text"](e),t.find(".popover-content").children().detach().end()[this.options.html?"string"==typeof r?"html":"append":"text"](r),t.removeClass("fade top bottom left right in"),t.find(".popover-title").html()||t.find(".popover-title").hide()},o.prototype.hasContent=function(){return this.getTitle()||this.getContent()},o.prototype.getContent=function(){var t=this.$element,e=this.options;return t.attr("data-content")||("function"==typeof e.content?e.content.call(t[0]):e.content)},o.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".arrow")};var t=n.fn.popover;n.fn.popover=function(a){return this.each(function(){var t=n(this),e=t.data("bs.popover"),r="object"==(void 0===a?"undefined":c(a))&&a;!e&&/destroy|hide/.test(a)||(e||t.data("bs.popover",e=new o(this,r)),"string"==typeof a&&e[a]())})},n.fn.popover.Constructor=o,n.fn.popover.noConflict=function(){return n.fn.popover=t,this}}(jQuery)),MG.chart_title=j,MG.scale_factory=function(o){var i={use_inflator:!1,zero_bottom:!1,scaleType:"numerical"};return this.namespace=function(t){return i.namespace=t,i.namespace_accessor_name=i.namespace+"_accessor",i.scale_name=i.namespace.toUpperCase(),i.scalefn_name=i.namespace+"f",this},this.scaleName=function(t){return i.scale_name=t.toUpperCase(),i.scalefn_name=t+"f",this},this.inflateDomain=function(t){return i.use_inflator=t,this},this.zeroBottom=function(t){return i.zero_bottom=t,this},this.numericalDomainFromData=function(){var t,e=[];0<arguments.length&&(e=arguments);for(var r=0;r<o.data.length;r++)0<o.data[r].length&&(t=o.data[r]);i.is_time_series=!!x(t[0][o[i.namespace_accessor_name]]),X(o,i.scalefn_name,i.scale_name,o[i.namespace_accessor_name]),function(t,e,r){var a=e.namespace,n=e.namespace_accessor_name,o=e.use_inflator,i=e.zero_bottom,s=t[n],c=h(t.data).map(function(t){return t[s]}).concat(h(r));"log"===t[a+"_scale_type"]&&(c=c.filter(function(t){return 0<t}));var l=E.extent(c),u=l[0],d=l[1];i&&!t["min_"+a+"_from_data"]&&0<u&&!e.is_time_series&&(u="log"===t[a+"_scale_type"]?1:0),"log"!==t[a+"_scale_type"]&&u<0&&!e.is_time_series&&(u-=(u-u*t.inflator)*o),e.is_time_series||(d=d<0?d+(d-d*t.inflator)*o:d*(o?t.inflator:1)),u=null!=t["min_"+a]?t["min_"+a]:u,d=null!=t["max_"+a]?t["max_"+a]:d,u===d&&null==t["min_"+a]&&null==t["max_"+a]&&(x(u)?d=new Date(MG.clone(u).setDate(u.getDate()+1)):"number"==typeof u&&(d=u+1,t.xax_count=2)),t.processed["min_"+a]=u,t.processed["max_"+a]=d,t.processed["zoom_"+a]&&(t.processed["min_"+a]=t.processed["zoom_"+a][0],t.processed["max_"+a]=t.processed["zoom_"+a][1]),MG.call_hook("x_axis.process_min_max",t,t.processed.min_x,t.processed.max_x),MG.call_hook("y_axis.process_min_max",t,t.processed.min_y,t.processed.max_y)}(o,i,e,i.use_inflator);var a=o.utc_time?E.scaleUtc():E.scaleTime();return o.scales[i.scale_name]=i.is_time_series?a:C(o[i.namespace+"_scale_type"])?o.y_scale_type():"log"===o[i.namespace+"_scale_type"]?E.scaleLog():E.scaleLinear(),o.scales[i.scale_name].domain([o.processed["min_"+i.namespace],o.processed["max_"+i.namespace]]),i.scaleType="numerical",this},this.categoricalDomain=function(t){return o.scales[i.scale_name]=E.scaleOrdinal().domain(t),X(o,i.scalefn_name,i.scale_name,o[i.namespace_accessor_name]),this},this.categoricalDomainFromData=function(){var t=h(o.data);return i.categoricalVariables=E.set(t.map(function(t){return t[o[i.namespace_accessor_name]]})).values(),o.scales[i.scale_name]=E.scaleBand().domain(i.categoricalVariables),i.scaleType="categorical",this},this.numericalRange=function(t){return"string"==typeof t?o.scales[i.scale_name].range(U(t,o)):o.scales[i.scale_name].range(t),this},this.categoricalRangeBands=function(t,e){void 0===e&&(e=!1);var r=i.namespace,a=o[r+"_padding_percentage"],n=o[r+"_outer_padding_percentage"];return"string"==typeof t?o.scales[i.scale_name].range(U(t,o)).paddingInner(a).paddingOuter(n):o.scales[i.scale_name].range(t).paddingInner(a).paddingOuter(n),X(o,i.scalefn_name,i.scale_name,o[i.namespace_accessor_name],e?o.scales[i.scale_name].bandwidth()/2:0),this},this.categoricalRange=function(t){return o.scales[i.scale_name].range(t),X(o,i.scalefn_name,i.scale_name,o[i.namespace_accessor_name]),this},this.categoricalColorRange=function(){return o.scales[i.scale_name]=10<o.scales[i.scale_name].domain().length?E.scaleOrdinal(E.schemeCategory20):E.scaleOrdinal(E.schemeCategory10),o.scales[i.scale_name].domain(i.categoricalVariables),X(o,i.scalefn_name,i.scale_name,o[i.namespace_accessor_name]),this},this.clamp=function(t){return o.scales[i.scale_name].clamp(t),this},this};var Z={};function K(t){if(t.y_rug){t.rug_buffer_size="point"===t.chart_type?t.buffer/2:2*t.buffer/3;var e=r(t,"mg-y-rug");e.attr("x1",t.left+1).attr("x2",t.left+t.rug_buffer_size).attr("y1",t.scalefns.yf).attr("y2",t.scalefns.yf),m(e,t,"mg-y-rug-mono")}}function J(r){var t=r.yax_format;if(!t){var a=r.decimals;"count"===r.format?(1<r.processed.y_ticks.length&&(a=Math.max(0,-Math.floor(Math.log(Math.abs(r.processed.y_ticks[1]-r.processed.y_ticks[0]))/Math.LN10))),t=function(t){var e;return e=0!==a?E.format(",."+a+"f"):t<1e3?E.format(",.0f"):E.format(",.2s"),r.yax_units_append?e(t)+r.yax_units:r.yax_units+e(t)}):t=function(t){return E.format(".0%")(t)}}return t}function tt(t){var e=O(t.target),r=t.scales.X.domain();if(r[0]<=0&&0<=r[1]){var a=t.scales.Y.range(),n=t.categorical_groups.length?t.scales.YGROUP(t.categorical_groups[t.categorical_groups.length-1]):t.scales.YGROUP();e.append("svg:line").attr("x1",t.scales.X(0)).attr("x2",t.scales.X(0)).attr("y1",a[0]+b(t)).attr("y2",a[a.length-1]+n).attr("stroke","black").attr("opacity",.2)}}function et(t,e){e.y_label&&t.append("text").attr("class","label").attr("x",function(){return-1*(b(e)+(v(e)-b(e))/2)}).attr("y",function(){return e.left/2}).attr("dy","-1.2em").attr("text-anchor","middle").text(function(t){return e.y_label}).attr("transform",function(t){return"rotate(-90)"})}function rt(t){t.processed||(t.processed={});var e=O(t.target);if(MG.call_hook("y_axis.process_min_max",t,t.processed.min_y,t.processed.max_y),D(e,".mg-y-axis"),!t.y_axis)return this;var r,a,n,o,i,s,c,l,u,d=S(e,"mg-y-axis");return et(d,t),ke(t,"y"),r=d,i=(a=t).processed.y_ticks.length,a.x_extended_ticks||a.y_extended_ticks||!i||(a.axes_not_compact&&"bar"!==a.chart_type?(n=a.height-a.bottom,o=a.top):i?(n=a.scales.Y(a.processed.y_ticks[0]).toFixed(2),o=a.scales.Y(a.processed.y_ticks[i-1]).toFixed(2)):o=n=0,r.append("line").attr("x1",a.left).attr("x2",a.left).attr("y1",n).attr("y2",o)),s=t,d.selectAll(".mg-yax-ticks").data(s.processed.y_ticks).enter().append("line").classed("mg-extended-yax-ticks",s.y_extended_ticks).attr("x1",s.left).attr("x2",function(){return s.y_extended_ticks?s.width-s.right:s.left-s.yax_tick_length}).attr("y1",function(t){return s.scales.Y(t).toFixed(2)}).attr("y2",function(t){return s.scales.Y(t).toFixed(2)}),c=d,u=J(l=t),c.selectAll(".mg-yax-labels").data(l.processed.y_ticks).enter().append("text").attr("x",l.left-3*l.yax_tick_length/2).attr("dx",-3).attr("y",function(t){return l.scales.Y(t).toFixed(2)}).attr("dy",".35em").attr("text-anchor","end").text(function(t){return u(t)}),t.y_rug&&K(t),this}function at(o){var t=O(o.target);D(t,".mg-y-axis");var i,s=S(t,"mg-y-axis");(o.categorical_groups.length?o.categorical_groups:["1"]).forEach(function(t){var e,r,a,n;(i=S(s,"mg-group-"+F(t)),null!==o.ygroup_accessor)?(a=t,n=o,i.append("svg:text").classed("mg-barplot-group-label",!0).attr("x",n.left-n.buffer).attr("y",n.scales.YGROUP(a)+n.scales.YGROUP.bandwidth()/2).attr("dy",".35em").attr("text-anchor","end").text(a)):l((e=t,r=o,i.selectAll("text").data(r.scales.Y.domain()).enter().append("svg:text").attr("x",r.left-r.buffer).attr("y",function(t){return r.scales.YGROUP(e)+r.scales.Y(t)+r.scales.Y.bandwidth()/2}).attr("dy",".35em").attr("text-anchor","end").text(String)),o.rotate_y_labels)})}function nt(t){if(t.x_rug){t.rug_buffer_size="point"===t.chart_type?t.buffer/2:t.buffer;var e=r(t,"mg-x-rug");e.attr("x1",t.scalefns.xf).attr("x2",t.scalefns.xf).attr("y1",t.height-t.bottom-t.rug_buffer_size).attr("y2",t.height-t.bottom),m(e,t,"mg-x-rug-mono")}}function ot(t){var e,r,a,n=O(t.target);if((e=t).processed||(e.processed={}),a=(r=t).chart_type,r.processed.xax_format||(r.xax_format?r.processed.xax_format=r.xax_format:"line"===a||"point"===a||"histogram"===a?r.processed.xax_format=ht(r):"bar"===a&&(r.processed.xax_format=ct(r))),D(n,".mg-x-axis"),!t.x_axis)return this;var o,i,s,c,l,u,d,f,p,_,m=S(n,"mg-x-axis");return o=m,ke(i=t,"x"),l=o,u=(c=i).scales.X.ticks(c.xax_count).length-1,c.x_extended_ticks||l.append("line").attr("x1",function(){return 0===c.xax_count?Y(c):c.axes_not_compact&&"bar"!==c.chart_type?c.left:c.scales.X(c.scales.X.ticks(c.xax_count)[0]).toFixed(2)}).attr("x2",function(){return 0===c.xax_count||c.axes_not_compact&&"bar"!==c.chart_type?A(c):c.scales.X(c.scales.X.ticks(c.xax_count)[u]).toFixed(2)}).attr("y1",c.height-c.bottom).attr("y2",c.height-c.bottom),s=i,o.selectAll(".mg-xax-ticks").data(s.processed.x_ticks).enter().append("line").attr("x1",function(t){return s.scales.X(t).toFixed(2)}).attr("x2",function(t){return s.scales.X(t).toFixed(2)}).attr("y1",s.height-s.bottom).attr("y2",function(){return s.x_extended_ticks?s.top:s.height-s.bottom+s.xax_tick_length}).attr("class",function(){if(s.x_extended_ticks)return"mg-extended-xax-ticks"}).classed("mg-xax-ticks",!0),function(a,t){var e=t.selectAll(".mg-xax-labels").data(a.processed.x_ticks).enter().append("text").attr("x",function(t){return a.scales.X(t).toFixed(2)}).attr("y",(a.height-a.bottom+7*a.xax_tick_length/3).toFixed(2)).attr("dy",".50em").attr("text-anchor","middle");if(a.time_series&&a.european_clock?(e.append("tspan").classed("mg-european-hours",!0).text(function(t,e){var r=new Date(t);return 0===e?E.timeFormat("%H")(r):""}),e.append("tspan").classed("mg-european-minutes-seconds",!0).text(function(t,e){var r=new Date(t);return":"+a.processed.xax_format(r)})):e.text(function(t){return a.xax_units+a.processed.xax_format(t)}),g(e)){e.filter(function(t,e){return(e+1)%2==0}).remove();var r=O(a.target);r.selectAll(".mg-xax-ticks").filter(function(t,e){return(e+1)%2==0}).remove()}}(f=t,d=m),_=d,(p=f).time_series&&(p.show_years||p.show_secondary_x_label)&&function(t,e){var r=xt(t),a=r.secondary(t.processed.min_x,t.processed.max_x);if(0===a.length){var n=t.scales.X.ticks(t.xax_count)[0];a=[n]}var o,i,s,c,l,u,d,f=S(e,"mg-year-marker");"default"===r.timeframe&&t.show_year_markers&&(o=t,i=f,s=a,r.yformat,i.selectAll(".mg-year-marker").data(s).enter().append("line").attr("x1",function(t){return o.scales.X(t).toFixed(2)}).attr("x2",function(t){return o.scales.X(t).toFixed(2)}).attr("y1",M(o)).attr("y2",w(o))),"years"!=r.tick_diff_time_frame&&(c=t,l=f,u=a,d=r.yformat,l.selectAll(".mg-year-marker").data(u).enter().append("text").attr("x",function(t,e){return c.scales.X(t).toFixed(2)}).attr("y",function(){var t=E.select(c.target).select(".mg-x-axis text").node().getBoundingClientRect();return w(c)+7*c.xax_tick_length/3+.8*t.height}).attr("dy",".50em").attr("text-anchor","middle").text(function(t){return d(new Date(t))}))}(p,_),t.x_label&&st(m,t),t.x_rug&&nt(t),this}function B(e){var t;return null===e.color_domain?"number"===e.color_type?t=E.extent(e.data[0],function(t){return t[e.color_accessor]}):"category"===e.color_type&&(t=E.set(e.data[0].map(function(t){return t[e.color_accessor]})).values()).sort():t=e.color_domain,t}function I(t){return null===t.color_range?"number"===t.color_type?["blue","red"]:null:t.color_range}function it(t){return null===t.size_range?[1,5]:t.size_range}function st(t,e){e.x_label&&t.append("text").attr("class","label").attr("x",function(){return Y(e)+(P(e)-Y(e))/2}).attr("dx",null!=e.x_label_nudge_x?e.x_label_nudge_x:0).attr("y",function(){var t=E.select(e.target).select(".mg-x-axis text").node().getBoundingClientRect();return w(e)+e.xax_tick_length*(7/3)+.8*t.height+10}).attr("dy",".5em").attr("text-anchor","middle").text(function(t){return e.x_label})}function ct(r){return function(t){if(t<1&&-1<t&&0!==t)return r.xax_units+t.toFixed(r.decimals);var e=E.format(",.0f");return r.xax_units+e(t)}}function lt(t){var e;return ut(t)?e="millis":dt(t)?e="seconds":ft(t)?e="less-than-a-day":pt(t)?e="four-days":_t(t)?e="many-days":mt(t)?e="many-months":e=365<=t/86400?"years":"default",e}function ut(t){return t<1}function dt(t){return t<60}function ft(t){return t/3600<24}function pt(t){return t/3600<96}function _t(t){return t/86400<60}function mt(t){return t/86400<365}function gt(t){if(t.time_series){var e=(t.processed.max_x-t.processed.min_x)/1e3,r=(t.processed.x_ticks[1]-t.processed.x_ticks[0])/1e3;t.processed.x_time_frame=lt(e),t.processed.x_tick_diff_time_frame=lt(r),t.processed.main_x_time_format=(a=t.utc_time,ut(n=r)?MG.time_format(a,"%M:%S.%L"):dt(n)?MG.time_format(a,"%M:%S"):ft(n)?MG.time_format(a,"%H:%M"):pt(n)||_t(n)?MG.time_format(a,"%b %d"):mt(n)?MG.time_format(a,"%b"):MG.time_format(a,"%Y"))}var a,n}function ht(r){if(r.xax_format)return r.xax_format;var t=h(r.processed.original_data||r.data)[0],a=t[r.processed.original_x_accessor||r.x_accessor];return void 0===a&&(a=t),function(t){return gt(r),x(a)?r.processed.main_x_time_format(new Date(t)):"number"==typeof a?(e=t%1!=0?E.format(",."+r.decimals+"f"):t<1e3?E.format(",.0f"):E.format(",.2s"),r.xax_units+e(t)):r.xax_units+t;var e}}function xt(t){var e={timeframe:t.processed.x_time_frame,tick_diff_timeframe:t.processed.x_tick_diff_time_frame};switch(e.timeframe){case"millis":case"seconds":e.secondary=E.timeDays,t.european_clock?e.yformat=MG.time_format(t.utc_time,"%b %d"):e.yformat=MG.time_format(t.utc_time,"%I %p");break;case"less-than-a-day":case"four-days":e.secondary=E.timeDays,e.yformat=MG.time_format(t.utc_time,"%b %d");break;case"many-days":case"many-months":e.secondary=E.timeYears,e.yformat=MG.time_format(t.utc_time,"%Y");break;default:e.secondary=E.timeYears,e.yformat=MG.time_format(t.utc_time,"%Y")}return e}function yt(t){var e=parseInt(t.width);t.full_width&&(e=f(t.target)),"categorical"===t.x_axis_type&&null===e&&(e=Dt(t,"x")),t.width=e}function vt(t){var e=parseInt(t.height);t.full_height&&(e=d(t.target,"height")),"categorical"===t.y_axis_type&&null===e&&(e=Dt(t,"y")),t.height=e}function bt(t,e){(!t.selectAll(".mg-main-line").empty()&&"line"!==e.chart_type||!t.selectAll(".mg-points").empty()&&"point"!==e.chart_type||!t.selectAll(".mg-histogram").empty()&&"histogram"!==e.chart_type||!t.selectAll(".mg-barplot").empty()&&"bar"!==e.chart_type)&&t.remove()}function wt(t,e){return O(e.target).empty()&&(t=E.select(e.target).append("svg").classed("linked",e.linked).attr("width",e.width).attr("height",e.height)),t}function kt(t,e){e.width!==Number(t.attr("width"))&&t.attr("width",e.width),e.height!==Number(t.attr("height"))&&t.attr("height",e.height)}function Mt(t,e){t.attr("viewBox","0 0 "+e.width+" "+e.height),(e.full_width||e.full_height)&&t.attr("preserveAspectRatio","xMinYMin meet")}function Gt(t,e){t.empty()&&console.warn('The specified target element "'+e.target+'" could not be found in the page. The chart will not be rendered.')}function At(t,e){var r,a,n,o="x"===e?t.width:t.height;!function(t,e){var r=t[e+"group_accessor"];if(t.categorical_groups=[],r){var a=t.data[0];t.categorical_groups=E.set(a.map(function(t){return t[r]})).values()}}(t,e),function(t,e){var r=t[e+"group_accessor"];if(t.total_bars=t.data[0].length,r){var a=(n=t.data[0],o=r,n.map(function(t){return t[o]}).reduce(function(t,e){return t[e]=t[e]+1||1,t},{}));a=E.max(Object.keys(a).map(function(t){return a[t]})),t.bars_per_group=a}else t.bars_per_group=t.data[0].length;var n,o}(t,e),function(t,e,r){var a=e+"group_height";if(r){var n="y"===e?(t.height-t.top-t.bottom-2*t.buffer)/(t.categorical_groups.length||1):(t.width-t.left-t.right-2*t.buffer)/(t.categorical_groups.length||1);t[a]=n}else{var o=(1+t[e+"_padding_percentage"])*t.bar_thickness;t[a]=t.bars_per_group*o+2*t[e+"_outer_padding_percentage"]*o}}(t,e,o),o&&(n=(r=t)[(a=e)+"group_height"]/(r.bars_per_group+r[a+"_outer_padding_percentage"]),r.bar_thickness=n-n*r[a+"_padding_percentage"])}function Dt(t,e){return t[e+"group_height"]*(t.categorical_groups.length||1)+("y"===e?t.top+t.bottom+2*t.buffer:t.left+t.right+2*t.buffer)+t.categorical_groups.length*t[e+"group_height"]*(t[e+"group_padding_percentage"]+t[e+"group_outer_padding_percentage"])}function Ot(t){var e;(e=t=t)||(e={}),e.processed||(e.processed={}),t=e=p(e,{target:null,title:null,description:null});var r=E.select(t.target);Gt(r,t);var a,n,o,i,s,c,l,u=r.selectAll("svg");return"categorical"===t.y_axis_type&&At(t,"y"),"categorical"===t.x_axis_type&&At(t,"x"),n=(a=t).chart_type,a.processed.xax_format||(a.xax_format?a.processed.xax_format=a.xax_format:"line"===n||"point"===n||"histogram"===n?a.processed.xax_format=ht(a):"bar"===n&&(a.processed.xax_format=ct(a))),i=h((o=t).processed.original_data||o.data)[0],o.time_series=x(i[o.processed.original_x_accessor||o.x_accessor]),yt(t),vt(t),bt(u,t),u=wt(u,t),c=t,(s=u).selectAll(".mg-clip-path").remove(),s.append("defs").attr("class","mg-clip-path").append("clipPath").attr("id","mg-plot-window-"+z(c.target)).append("svg:rect").attr("x",G(c)).attr("y",M(c)).attr("width",c.width-c.left-c.right-c.buffer).attr("height",c.height-c.top-c.bottom-c.buffer+1),kt(u,t),Mt(u,t),(l=u).classed("mg-missing",!1),l.selectAll(".mg-missing-text").remove(),l.selectAll(".mg-missing-pane").remove(),j(t),function(t,e){var r=0;if(t.selectAll(".mg-main-line").nodes().length>=e.data.length)if(0<e.custom_line_color_map.length){var a=T(function(t){for(var e=new Array(t),r=0;r<e.length;r++)e[r]=r+1;return e}(e.max_data_size),e.custom_line_color_map);for(r=0;r<a.length;r++)t.selectAll(".mg-main-line.mg-line"+a[r]+"-color").remove()}else{var n=e.data.length;for(r=t.selectAll(".mg-main-line").nodes()?t.selectAll(".mg-main-line").nodes().length:0;n<r;r--)t.selectAll(".mg-main-line.mg-line"+r+"-color").remove()}}(u,t),this}function zt(t){return t.label}function Ft(e){return function(t){return e.scales.X(t[e.x_accessor])>=Y(e)&&e.scales.X(t[e.x_accessor])<=P(e)}}function Ct(e){return function(t){return e.scales.X(t[e.x_accessor])}}function Tt(t){var e=t.scales.Y;return function(t){return e(t.value).toFixed(2)}}function Rt(t,e,r,a,n,o){var i;t&&(n(i=a.append("g").attr("class",e),r),o(i,r))}function Et(t,e){var r,a=(r=Ct(e),function(t){return r(t).toFixed(2)});t.selectAll(".mg-markers").data(e.markers.filter(Ft(e))).enter().append("line").attr("x1",a).attr("x2",a).attr("y1",e.top).attr("y2",v(e)).attr("class",function(t){return t.lineclass}).attr("stroke-dasharray","3,1")}function Yt(t,e){t.selectAll(".mg-markers").data(e.markers.filter(Ft(e))).enter().append("text").attr("class",function(t){return t.textclass||""}).classed("mg-marker-text",!0).attr("x",Ct(e)).attr("y","bottom"===e.x_axis_position?.95*M(e):w(e)+e.buffer).attr("text-anchor","middle").text(zt).each(function(t){t.click&&E.select(this).style("cursor","pointer").on("click",t.click),t.mouseover&&E.select(this).style("cursor","pointer").on("mouseover",t.mouseover),t.mouseout&&E.select(this).style("cursor","pointer").on("mouseout",t.mouseout)}),function(t,e){if(t&&1!=t.length)for(var r=0;r<t.length;r++)if(o(t[r],t)){var a=E.select(t[r]),n=+a.attr("y");n+8>=e.top&&(n=e.top-16),a.attr("y",n)}}(t.selectAll(".mg-marker-text").nodes(),e)}function $t(t,e){var r=Tt(e);t.selectAll(".mg-baselines").data(e.baselines).enter().append("line").attr("x1",Y(e)).attr("x2",P(e)).attr("y1",r).attr("y2",r)}function Pt(t,e){var r=Tt(e);t.selectAll(".mg-baselines").data(e.baselines).enter().append("text").attr("x",P(e)).attr("y",r).attr("dy",-3).attr("text-anchor","end").text(zt)}function St(t){var e,r,a,n,o,i=O(t.target);return(e=i).selectAll(".mg-markers").remove(),e.selectAll(".mg-baselines").remove(),a=i,Rt((r=t).markers,"mg-markers",r,a,Et,Yt),o=i,Rt((n=t).baselines,"mg-baselines",n,o,$t,Pt),this}function Lt(t){t.selectAll(".mg-active-datapoint-container").selectAll("*").remove()}function jt(t,e){t.select(".mg-active-datapoint").remove();var r,a="right"===e.mouseover_align?"end":"left"===e.mouseover_align?"start":"middle",n="right"===e.mouseover_align?P(e):"left"===e.mouseover_align?Y(e):(e.width-e.left-e.right)/2+e.left,o=t.select(".mg-active-datapoint-container").append("text").attr("class","mg-active-datapoint").attr("xml:space","preserve").attr("text-anchor",a),i=.75,s="bottom"===e.x_axis_position?M(e)*i:w(e)+3*e.buffer;e.markers&&t.selectAll(".mg-marker-text").each(function(){r?r!==E.select(this).attr("y")&&(i=.56):r=E.select(this).attr("y")});o.attr("transform","translate("+n+","+s+")")}function Xt(t,e){jt(e.svg,t);var r,a,o={row_number:0,rargs:e,mouseover_row:function(t){return o.row_number+=1,e=o.row_number,r=o.text_container,a=t,n=r.append("tspan").attr("x",0).attr("y",1.1*e+"em"),{rargs:a,text:function(t){return e=t,{bold:function(){return r.attr("font-weight","bold")},font_size:function(t){return r.attr("font-size",t)},x:function(t){return r.attr("x",t)},y:function(t){return r.attr("y",t)},elem:r=n.append("tspan").text(e)};var e,r}};var e,r,a,n},text_container:(r=e.svg,a=r.select(".mg-active-datapoint"),a.selectAll("*").remove(),a)};return o}Z.categorical=function(t,e){e.namespace;Q(t,e),function(d,t){var f,p,_,m,e=t.namespace,g=(d.scalefns[e+"f"],d.scalefns[e+"groupf"],d.scales[(e+"group").toUpperCase()]),h=d.scales[e.toUpperCase()],x=t.position,r=O(d.target),a=g.domain&&g.domain()?g.domain():[null];D(r,".mg-category-guides");var y=S(r,"mg-category-guides");a.forEach(function(e){h.domain().forEach(function(t){"left"!==x&&"right"!==x||(f=Y(d),p=P(d),_=h(t)+g(e)+h.bandwidth()/2,m=h(t)+g(e)+h.bandwidth()/2),"top"!==x&&"bottom"!==x||(f=h(t)+g(e)+h.bandwidth()/2*(null===e),p=h(t)+g(e)+h.bandwidth()/2*(null===e),_=v(d),m=b(d)),y.append("line").attr("x1",f).attr("x2",p).attr("y1",_).attr("y2",m).attr("stroke-dasharray","2,1")});var t,r,a,n,o,i,s,c,l=g(e)+h(h.domain()[0])+h.bandwidth()/2*(null===e||"top"!==x&&"bottom"!=x),u=g(e)+h(h.domain()[h.domain().length-1])+h.bandwidth()/2*(null===e||"top"!==x&&"bottom"!=x);"left"!==x&&"right"!==x||(t=Y(d),r=Y(d),a=l,n=u,o=P(d),i=P(d),s=l,c=u),"bottom"!==x&&"top"!==x||(t=l,r=u,a=v(d),n=v(d),o=l,i=u,s=b(d),c=b(d)),y.append("line").attr("x1",t).attr("x2",r).attr("y1",a).attr("y2",n).attr("stroke-dasharray","2,1"),y.append("line").attr("x1",o).attr("x2",i).attr("y1",s).attr("y2",c).attr("stroke-dasharray","2,1")})}(t,e)},Z.numerical=function(t,e){var r=e.namespace,a=r+"_axis",n="mg-"+r+"-axis",o=O(t.target);if(D(o,"."+n),!t[a])return this;var i,s,c,l,u,d,f,p,_,m,g,h,x,y,v,b=S(o,n);return function(t,e){var r=t[e+"_accessor"],a=t.scales[e.toUpperCase()].ticks(t[e+"ax_count"]),n=t.processed["max_"+e];function o(t){return 1e3===t?3:1e6===t?7:Math.log(t)/Math.LN10}"log"===t[e+"_scale_type"]&&(a=a.filter(function(t){return Math.abs(o(t))%1<1e-6||Math.abs(o(t))%1>1-1e-6}));var i=a.length,s=!0;t.data.forEach(function(t,e){t.forEach(function(t,e){if(t[r]%1!=0)return s=!1})}),s&&n<i&&"count"===t.format&&(a=a.filter(function(t){return t%1==0})),t.processed[e+"_ticks"]=a}(t,r),V(b,t,e),i=b,s=t,p=(c=e).namespace,_=c.position,m=s.scales[p.toUpperCase()],g=s.processed[p+"_ticks"],h="mg-"+p+"ax-ticks",x="mg-extended-"+p+"ax-ticks",y=s[p+"_extended_ticks"],v=s[p+"ax_tick_length"],"left"===_&&(l=G(s),u=y?A(s):G(s)-v,d=function(t){return m(t).toFixed(2)},f=function(t){return m(t).toFixed(2)}),"right"===_&&(l=A(s),u=y?G(s):A(s)+v,d=function(t){return m(t).toFixed(2)},f=function(t){return m(t).toFixed(2)}),"top"===_&&(l=function(t){return m(t).toFixed(2)},u=function(t){return m(t).toFixed(2)},d=M(s),f=y?w(s):M(s)-v),"bottom"===_&&(l=function(t){return m(t).toFixed(2)},u=function(t){return m(t).toFixed(2)},d=w(s),f=y?M(s):w(s)+v),i.selectAll("."+h).data(g).enter().append("line").classed(x,y).attr("x1",l).attr("x2",u).attr("y1",d).attr("y2",f),q(b,t,e),t[r+"_label"]&&e.label(o.select(".mg-"+r+"-axis"),t),t[r+"_rug"]&&W(t,e),t.show_bar_zero&&tt(t),this},MG.axis_factory=function(t){var e={type:"numerical"};return this.namespace=function(t){return e.namespace=t,this},this.rug=function(t){return e.rug=t,this},this.label=function(t){return e.label=t,this},this.type=function(t){return e.type=t,this},this.position=function(t){return e.position=t,this},this.zeroLine=function(t){return e.zeroLine=t,this},this.draw=function(){return Z[e.type](t,e),this},this},MG.y_rug=K,MG.y_axis=rt,MG.y_axis_categorical=function(t){return t.y_axis&&(at(t),t.show_bar_zero&&tt(t),t.ygroup_accessor&&(r=O((e=t).target),(a=e.scales.YGROUP.domain())[0],a[a.length-1],r.select(".mg-category-guides").selectAll("mg-group-lines").data(a).enter().append("line").attr("x1",Y(e)).attr("x2",Y(e)).attr("y1",function(t){return e.scales.YGROUP(t)}).attr("y2",function(t){return e.scales.YGROUP(t)+e.ygroup_height}).attr("stroke-width",1)),t.y_categorical_show_guides&&(o=O((n=t).target),i=[],n.data[0].forEach(function(t){-1===i.indexOf(t[n.y_accessor])&&o.select(".mg-category-guides").append("line").attr("x1",Y(n)).attr("x2",P(n)).attr("y1",n.scalefns.yf(t)+n.scalefns.ygroupf(t)).attr("y2",n.scalefns.yf(t)+n.scalefns.ygroupf(t)).attr("stroke-dasharray","2,1")}))),this;var e,r,a,n,o,i},MG.x_rug=nt,MG.x_axis=ot,MG.x_axis_categorical=function(t){var e=O(t.target),r=0;"bar"===t.chart_type&&(r=t.buffer+5),mg_add_categorical_scale(t,"X",t.categorical_variables.reverse(),t.left,P(t)-r),X(t,"xf","X","value"),D(e,".mg-x-axis");var a=S(e,"mg-x-axis");return t.x_axis&&(n=a,o=t,i=r,s=n.selectAll("text").data(o.categorical_variables).enter().append("text"),s.attr("x",function(t){return o.scales.X(t)+o.scales.X.bandwidth()/2+o.buffer*o.bar_outer_padding_percentage+i/2}).attr("y",v(o)).attr("dy",".35em").attr("text-anchor","middle").text(String),o.truncate_x_labels&&s.each(function(t,e){var r=o.scales.X.bandwidth();L(this,t,r)}),l(s,o.rotate_x_labels)),this;var n,o,i,s},MG.init=Ot,MG.markers=St;var Ut=function(n,o){return function(a){return["x","y"].every(function(t){return!(t in o)||(e=a[n[t+"_accessor"]],r=o[t],e>Math.min(r[0],r[1])&&e<Math.max(r[0],r[1]));var e,r})}},Nt=function(e,r){var t=e.processed.raw_data||e.data;"raw_data"in e.processed||(e.processed.raw_domain={x:e.scales.X.domain(),y:e.scales.Y.domain()},e.processed.raw_data=t),"point"===e.chart_type&&(a(t)?e.data=t.map(function(t){return t.filter(Ut(e,r))}):e.data=t.filter(Ut(e,r))),["x","y"].forEach(function(t){t in r?e.processed["zoom_"+t]=r[t]:delete e.processed["zoom_"+t]}),e.processed.subplot&&(r!==e.processed.raw_domain?MG.create_brushing_pattern(e.processed.subplot,It(e.processed.subplot,r)):MG.remove_brushing_pattern(e.processed.subplot)),new MG.charts[e.chart_type||defaults.chart_type].descriptor(e)},Bt=function(r,a){return["x","y"].reduce(function(t,e){return e in a&&(t[e]=a[e].map(function(t){return+r.scales[e.toUpperCase()].invert(t)}),"y"===e&&t[e].reverse()),t},{})},It=function(r,a){return["x","y"].reduce(function(t,e){return e in a&&(t[e]=a[e].map(function(t){return+r.scales[e.toUpperCase()](t)}),"y"===e&&t[e].reverse()),t},{})};MG.convert_range_to_domain=Bt,MG.zoom_to_data_domain=Nt,MG.zoom_to_data_range=function(t,e){var r=Bt(t,e);Nt(t,r)},MG.zoom_to_raw_range=function(t){"raw_domain"in t.processed&&(Nt(t,t.processed.raw_domain),delete t.processed.raw_domain,delete t.processed.raw_data)};var Ht=function(t){return E.select(t.target).select(".mg-extent").size()?E.select(t.target).select(".mg-extent"):E.select(t.target).select(".mg-rollover-rect, .mg-voronoi").insert("g","*").classed("mg-brush",!0).append("rect").classed("mg-extent",!0)},qt=function(t,e){var r=e.x[0],a=e.x[1]-e.x[0],n=e.y[0],o=e.y[1]-e.y[0];Ht(t).attr("x",r).attr("width",a).attr("y",n).attr("height",o).attr("opacity",1)},Vt=function(t){Ht(t).attr("width",0).attr("height",0).attr("opacity",0)};MG.add_brush_function=function(t){if("categorical"===t.x_axis_type||"categorical"===t.y_axis_type)return console.warn('The option "brush" does not support axis type "categorical" currently.');t.zoom_target||(t.zoom_target=t),t.zoom_target!==t&&(t.zoom_target.processed.subplot=t);var i,r,s,a,e,c,n,o,l,u,d=void 0;switch(t.brush){case"x":d={x:!0,y:!1};break;case"y":d={x:!1,y:!0};break;case"xy":d={x:!0,y:!0};break;default:d={x:!0,y:!0}}r=(i=t).zoom_target,s=d,a=E.select(i.target).select("svg"),e=a.select(".mg-rollover-rect, .mg-voronoi"),c=e.node(),o=n=!1,l=[],u=function(){var t=i.left,e=i.width-i.right-i.buffer,r=i.top,a=i.height-i.bottom-i.buffer,n=E.mouse(c),o={};return o.x=s.x?[Math.max(t,Math.min(l[0],n[0])),Math.min(e,Math.max(l[0],n[0]))]:[t,e],o.y=s.y?[Math.max(r,Math.min(l[1],n[1])),Math.min(a,Math.max(l[1],n[1]))]:[r,a],o},e.classed("mg-brush-container",!0),e.on("mousedown."+i.target,function(){n=!(o=!0),l=E.mouse(c),a.classed("mg-brushed",!1),a.classed("mg-brushing-in-progress",!0),Vt(i)}),E.select(document).on("mousemove."+i.target,function(){o&&(n=!0,e.classed("mg-brushing",!0),qt(i,u()))}),E.select(document).on("mouseup."+i.target,function(){if(o){o=!1,a.classed("mg-brushing-in-progress",!1);var t=u();if(n)if(n=!1,r===i)MG.zoom_to_data_range(r,t),a.select(".mg-rollover-rect, .mg-voronoi").classed("mg-brushed",!0);else{var e=MG.convert_range_to_domain(i,t);MG.zoom_to_data_domain(r,e)}else MG.zoom_to_raw_range(r);C(i.brushing_selection_changed)&&i.brushing_selection_changed(i,t)}})},MG.create_brushing_pattern=qt,MG.remove_brushing_pattern=Vt;var Wt=new function(){var t,i=[];function s(){i.forEach(function(t){var e=E.select(t).select("svg");if(!e.empty()&&(0<e.node().parentNode.offsetWidth||0<e.node().parentNode.offsetHeight)){var r=0!==e.attr("width")?e.attr("height")/e.attr("width"):0,a=f(t);e.attr("width",a),e.attr("height",r*a)}})}return"undefined"!=typeof MutationObserver?t=MutationObserver:"undefined"!=typeof WebKitMutationObserver&&(t=WebKitMutationObserver),{add_target:function(n){if(0===i.length&&window.addEventListener("resize",s,!0),-1===i.indexOf(n)&&(i.push(n),t)){var o=new t(function(t){var e,r,a=E.select(n).node();a&&!t.some(function(t){for(var e=0;e<t.removedNodes.length;e++)if(t.removedNodes[e]===a)return!0})||(o.disconnect(),e=n,-1!==(r=i.indexOf(e))&&i.splice(r,1),0===i.length&&window.removeEventListener("resize",s,!0))});o.observe(E.select(n).node().parentNode,{childList:!0})}}}};function Qt(t){var e;((e=t).full_width||e.full_height)&&Wt.add_target(e.target)}k()&&function(s){if("function"==typeof s().dropdown)return;var c='[data-toggle="dropdown"]',a=function(t){s(t).on("click.bs.dropdown",this.toggle)};function o(a){a&&3===a.which||(s(".dropdown-backdrop").remove(),s(c).each(function(){var t=s(this),e=l(t),r={relatedTarget:this};e.hasClass("open")&&(e.trigger(a=s.Event("hide.bs.dropdown",r)),a.isDefaultPrevented()||(t.attr("aria-expanded","false"),e.removeClass("open").trigger("hidden.bs.dropdown",r)))}))}function l(t){var e=t.attr("data-target");e||(e=(e=t.attr("href"))&&/#[A-Za-z]/.test(e)&&e.replace(/.*(?=#[^\s]*$)/,""));var r=e&&s(e);return r&&r.length?r:t.parent()}a.VERSION="3.3.1",a.prototype.toggle=function(t){var e=s(this);if(!e.is(".disabled, :disabled")){var r=l(e),a=r.hasClass("open");if(o(),!a){"ontouchstart"in document.documentElement&&!r.closest(".navbar-nav").length&&s('<div class="dropdown-backdrop"/>').insertAfter(s(this)).on("click",o);var n={relatedTarget:this};if(r.trigger(t=s.Event("show.bs.dropdown",n)),t.isDefaultPrevented())return;e.trigger("focus").attr("aria-expanded","true"),r.toggleClass("open").trigger("shown.bs.dropdown",n)}return!1}},a.prototype.keydown=function(t){if(/(38|40|27|32)/.test(t.which)&&!/input|textarea/i.test(t.target.tagName)){var e=s(this);if(t.preventDefault(),t.stopPropagation(),!e.is(".disabled, :disabled")){var r=l(e),a=r.hasClass("open");if(!a&&27!=t.which||a&&27==t.which)return 27==t.which&&r.find(c).trigger("focus"),e.trigger("click");var n=" li:not(.divider):visible a",o=r.find('[role="menu"]'+n+', [role="listbox"]'+n);if(o.length){var i=o.index(t.target);38==t.which&&0<i&&i--,40==t.which&&i<o.length-1&&i++,~i||(i=0),o.eq(i).trigger("focus")}}}};var t=s.fn.dropdown;s.fn.dropdown=function(r){return this.each(function(){var t=s(this),e=t.data("bs.dropdown");e||t.data("bs.dropdown",e=new a(this)),"string"==typeof r&&e[r].call(t)})},s.fn.dropdown.Constructor=a,s.fn.dropdown.noConflict=function(){return s.fn.dropdown=t,this},s(document).on("click.bs.dropdown.data-api",o).on("click.bs.dropdown.data-api",".dropdown form",function(t){t.stopPropagation()}).on("click.bs.dropdown.data-api",c,a.prototype.toggle).on("keydown.bs.dropdown.data-api",c,a.prototype.keydown).on("keydown.bs.dropdown.data-api",'[role="menu"]',a.prototype.keydown).on("keydown.bs.dropdown.data-api",'[role="listbox"]',a.prototype.keydown)}(jQuery),MG.button_layout=function(t){return this.target=t,this.feature_set={},this.public_name={},this.sorters={},this.manual=[],this.manual_map={},this.manual_callback={},this._strip_punctuation=function(t){return t.replace(/[^a-zA-Z0-9 _]+/g,"").replace(/ +?/g,"")},this.data=function(t){return this._data=t,this},this.manual_button=function(t,e,r){return this.feature_set[t]=e,this.manual_map[this._strip_punctuation(t)]=t,this.manual_callback[t]=r,this},this.button=function(t){return 1<arguments.length&&(this.public_name[t]=arguments[1]),2<arguments.length&&(this.sorters[t]=arguments[2]),this.feature_set[t]=[],this},this.callback=function(t){return this._callback=t,this},this.display=function(){var e,t,r,a,n=this._callback,o=this.manual_callback,i=this.manual_map;r=Object.keys(this.feature_set);var s,c=function(t){return e[t]};for(s=0;s<this._data.length;s++){e=this._data[s],t=r.map(c);for(var l=0;l<r.length;l++)a=r[l],-1===this.feature_set[a].indexOf(t[l])&&this.feature_set[a].push(t[l])}for(a in this.feature_set)this.sorters.hasOwnProperty(a)&&this.feature_set[a].sort(this.sorters[a]);$(this.target).empty(),$(this.target).append("<div class='col-lg-12 segments text-center'></div>");var u=function(){var t,e=$(this).data("key"),r=$(this).data("feature");return $("."+r+"-btns button.btn span.title").html(e),i.hasOwnProperty(r)?(t=i[r],o[t](e)):n(r,e),!1};for(var d in this.feature_set){for(r=this.feature_set[d],$(this.target+" div.segments").append('<div class="btn-group '+this._strip_punctuation(d)+'-btns text-left"><button type="button" class="btn btn-default btn-lg dropdown-toggle" data-toggle="dropdown"><span class=\'which-button\'>'+(this.public_name.hasOwnProperty(d)?this.public_name[d]:d)+"</span><span class='title'>"+(this.manual_callback.hasOwnProperty(d)?this.feature_set[d][0]:"all")+'</span><span class="caret"></span></button><ul class="dropdown-menu" role="menu">'+(this.manual_callback.hasOwnProperty(d)?"":'<li><a href="#" data-feature="'+d+'" data-key="all">All</a></li>')+(this.manual_callback.hasOwnProperty(d)?"":'<li class="divider"></li>')+"</ul></div>"),s=0;s<r.length;s++)"all"!==r[s]&&void 0!==r[s]&&$(this.target+" div."+this._strip_punctuation(d)+"-btns ul.dropdown-menu").append('<li><a href="#" data-feature="'+this._strip_punctuation(d)+'" data-key="'+r[s]+'">'+r[s]+"</a></li>");$("."+this._strip_punctuation(d)+"-btns .dropdown-menu li a").on("click",u)}return this},this};var Zt=function(t,e,r){var a=e.line_id,n=r.color,o=r.colors;t.classed("mg-hover-line-color",null===n).classed("mg-hover-line"+a+"-color",null===o).attr("fill",null===o?"":o[a-1])},Kt=function(r,t,e){t.existing_band=e.selectAll(".mg-confidence-band").nodes(),r.show_confidence_band&&(t.confidence_area=E.area().defined(t.line.defined()).x(r.scalefns.xf).y0(function(t){var e=r.show_confidence_band[0];return null!=t[e]?r.scales.Y(t[e]):r.scales.Y(t[r.y_accessor])}).y1(function(t){var e=r.show_confidence_band[1];return null!=t[e]?r.scales.Y(t[e]):r.scales.Y(t[r.y_accessor])}).curve(r.interpolate))},Jt=function(t,e){var r=t.scalefns,a=t.scales,n=t.interpolate,o=t.flip_area_under_y_value,i=Number.isFinite(o)?a.Y(o):a.Y.range()[0];e.area=E.area().defined(e.line.defined()).x(r.xf).y0(function(){return i}).y1(r.yf).curve(n)},te=function(t,e){var r=t.y_accessor,a=t.scalefns,n=t.scales,o=t.interpolate;e.flat_line=E.line().defined(function(t){return(void 0===t._missing||!0!==t._missing)&&null!==t[r]}).x(a.xf).y(function(){return n.Y(e.data_median)}).curve(o)},ee=function(t,e){var r=t.scalefns,a=t.interpolate,n=t.missing_is_zero,o=t.y_accessor;e.line=E.line().x(r.xf).y(r.yf).curve(a),n||(e.line=e.line.defined(function(t){return(void 0===t._missing||!0!==t._missing)&&null!==t[o]}))},re=function(t,e,r,a){var n=t.show_confidence_band,o=t.transition_on_update,i=t.data,s=t.target;if(n){r.select(".mg-confidence-band-"+a).empty()&&r.append("path").attr("class","mg-confidence-band mg-confidence-band-"+a),r.select(".mg-confidence-band-"+a).transition().duration(function(){return o?1e3:0}).attr("d",e.confidence_area(i[a-1])).attr("clip-path","url(#mg-plot-window-"+z(s)+")")}},ae=function(t,e,r,a,n){var o=t.data,i=t.target,s=t.colors,c=r.selectAll(".mg-main-area.mg-area"+n);e.display_area?c.empty()?r.append("path").classed("mg-main-area",!0).classed("mg-area"+n,!0).classed("mg-area-color",null===s).classed("mg-area"+n+"-color",null===s).attr("d",e.area(o[a])).attr("fill",null===s?"":s[n-1]).attr("clip-path","url(#mg-plot-window-"+z(i)+")"):(r.node().appendChild(c.node()),c.transition().duration(e.update_transition_duration).attr("d",e.area(o[a])).attr("clip-path","url(#mg-plot-window-"+z(i)+")")):c.empty()||c.remove()},ne=function(t,e){t.classed("mg-line-color",!0).classed("mg-line"+e+"-color",!0)},oe=function(t,e,r,a,n,o){if(a.empty()){var i=r.append("path").attr("class","mg-main-line mg-line"+o);g=i,h=n,x=o,(y=t.colors)&&y.constructor===Array?(g.attr("stroke",y[h]),y.length<h+1&&ne(g,x)):ne(g,x),l=e,u=i,d=n,f=(c=t).animate_on_load,p=c.data,_=c.y_accessor,m=c.target,f?(l.data_median=E.median(p[d],function(t){return t[_]}),u.attr("d",l.flat_line(p[d])).transition().duration(1e3).attr("d",l.line(p[d])).attr("clip-path","url(#mg-plot-window-"+z(m)+")")):u.attr("d",l.line(p[d])).attr("clip-path","url(#mg-plot-window-"+z(m)+")")}else{r.node().appendChild(a.node());var s=a.transition().duration(e.update_transition_duration);e.display_area||!t.transition_on_update||t.missing_is_hidden?s.attr("d",e.line(t.data[n])):s.attrTween("d",je(e.line(t.data[n]),4))}var c,l,u,d,f,p,_,m,g,h,x,y},ie=function(t,e,r,a){var n,o=void 0;if(t.legend)if(u(t.legend)?o=t.legend[r]:(n=t.legend,"[object Function]"===Object.prototype.toString.call(n)&&(o=t.legend(t.data[r]))),t.legend_target)t.colors&&t.colors.constructor===Array?e.legend_text="<span style='color:"+t.colors[r]+"'>&mdash; "+o+"&nbsp; </span>"+e.legend_text:e.legend_text="<span class='mg-line"+a+"-legend-color'>&mdash; "+o+"&nbsp; </span>"+e.legend_text;else{var i=void 0,s=void 0,c=void 0;"left"===t.y_axis_position?(i=t.data[r][t.data[r].length-1],s="start",c=t.buffer):(i=t.data[r][0],s="end",c=-t.buffer);var l=e.legend_group.append("svg:text").attr("x",t.scalefns.xf(i)).attr("dx",c).attr("y",t.scalefns.yf(i)).attr("dy",".35em").attr("font-size",10).attr("text-anchor",s).attr("font-weight","300").text(o);t.colors&&t.colors.constructor===Array?t.colors.length<r+1?l.classed("mg-line"+a+"-legend-color",!0):l.attr("fill",t.colors[r]):l.classed("mg-line-legend-color",!0).classed("mg-line"+a+"-legend-color",!0),function(t,e){if(t&&1!=t.length){var r,a,n;t.sort(function(t,e){return E.select(e).attr("y")-E.select(t).attr("y")}),t.reverse();for(var o=0;o<t.length;o++){a=E.select(t[o]).text();for(var i=0;i<t.length;i++)if(n=E.select(t[i]).text(),!1!==(l=t[o],u=t[i],void 0,d=l.getBoundingClientRect(),f=u.getBoundingClientRect(),r=d.top<=f.bottom&&d.top>=f.top&&f.bottom-d.top)&&a!==n){var s=E.select(t[o]),c=+s.attr("y");c+=r,s.attr("y",c)}}}var l,u,d,f}(e.legend_group.selectAll(".mg-line-legend text").nodes())}},se=function(e,t,r,a,n,o){var i,s,c,l=E.voronoi().x(function(t){return e.scales.X(t[e.x_accessor]).toFixed(2)}).y(function(t){return e.scales.Y(t[e.y_accessor]).toFixed(2)}).extent([[e.buffer,e.buffer+(e.title?e.title_y_position:0)],[e.width-e.buffer,e.height-e.buffer]]);S(t,"mg-voronoi").selectAll("path").data(l.polygons((s=e,c=s.data,E.merge(c)))).enter().append("path").filter(function(t){return void 0!==t&&0<t.length}).attr("d",function(t){return null==t?null:"M"+t.join("L")+"Z"}).datum(function(t){return null==t?null:t.data}).attr("class",(i=e,function(t){var e=void 0;if(i.linked){var r=t[i.x_accessor],a=MG.time_format(i.utc_time,i.linked_format);return e="roll_"+("number"==typeof r?t.line_id-1:a(r))+" mg-line"+t.line_id,null===i.color&&(e+=" mg-line"+t.line_id+"-color"),e}return e="mg-line"+t.line_id,null===i.color&&(e+=" mg-line"+t.line_id+"-color"),e})).on("click",o).on("mouseover",r).on("mouseout",a).on("mousemove",n),le(e,t)},ce=function(a,t,e,r,n,o){var i,s,c,l,u,d=(s=(i=a).x_accessor,c=i.data,l=i.x_sort,(u=E.nest().key(function(t){return t[s]}).entries(E.merge(c))).forEach(function(t){var e=t.values[0];t.key=e[s]}),l?u.sort(function(t,e){return new Date(t.key)-new Date(e.key)}):u),f=d.map(function(t){var e=t.key;return a.scales.X(e)});t.append("g").attr("class","mg-rollover-rect").selectAll(".mg-rollover-rects").data(d).enter().append("rect").attr("x",function(t,e){return 1===f.length?Y(a):0===e?f[e].toFixed(2):((f[e-1]+f[e])/2).toFixed(2)}).attr("y",a.top).attr("width",function(t,e){return 1===f.length?P(a):0===e?((f[e+1]-f[e])/2).toFixed(2):e===f.length-1?((f[e]-f[e-1])/2).toFixed(2):((f[e+1]-f[e-1])/2).toFixed(2)}).attr("class",function(t){var e=t.values,r=e.map(function(t){var e=t.line_id,r=ue(e);return null===a.colors&&(r+=" "+de(e)),r}).join(" ");return a.linked&&0<e.length&&(r+=" "+fe(pe(e[0],a))),r}).attr("height",a.height-a.bottom-a.top-a.buffer).attr("opacity",0).on("click",o).on("mouseover",e).on("mouseout",r).on("mousemove",n),_e(a,t)},le=function(t,e){for(var r=t.data,a=t.custom_line_color_map,n=0;n<r.length;n++){var o=n+1;0<a.length&&void 0!==a[n]&&(o=a[n]),1!==r[n].length||e.selectAll(".mg-voronoi .mg-line"+o).empty()||(e.selectAll(".mg-voronoi .mg-line"+o).on("mouseover")(r[n][0],0),e.selectAll(".mg-voronoi .mg-line"+o).on("mouseout")(r[n][0],0))}},ue=function(t){return"mg-line"+t},de=function(t){return"mg-line"+t+"-color"},fe=function(t){return"roll_"+t},pe=function(t,e){var r=e.x_accessor,a=e.utc_time,n=e.linked_format,o=t[r],i=MG.time_format(a,n);return"number"==typeof o?o.toString().replace(".","_"):i(o)},_e=function(t,e){var r=t.data,a=e.selectAll(".mg-rollover-rect rect"),n=a.nodes()[0][0]||a.nodes()[0];0<r.filter(function(t){return 1===t.length}).length&&a.on("mouseover")(n.__data__,0)},me=function(t){var e=t.data;return 1===e.length&&1===e[0].length},ge=function(t,e){var r=t.existing_band;r[0]&&r[0].length>e.selectAll(".mg-main-line").node().length&&e.selectAll(".mg-confidence-band").remove()},he=function(t){var e,r,a,n,o,i,s,c={},l=O(t.target);D(l,".mg-line-legend"),e=c,r=l,t.legend&&(e.legend_group=S(r,"mg-line-legend")),c.data_median=0,c.update_transition_duration=t.transition_on_update?1e3:0,c.display_area=t.area&&!t.use_data_y_min&&t.data.length<=1&&!1===t.aggregate_rollover||Array.isArray(t.area)&&0<t.area.length,c.legend_text="",o=l,ee(a=t,n=c),Jt(a,n),te(a,n),Kt(a,n,o),c.existing_band=l.selectAll(".mg-confidence-band").nodes(),!1!==MG.call_hook("line.before_all_series",[t])&&function(e,t,r){ge(t,r),e.active_point_on_lines&&r.selectAll("circle.mg-shown-active-point").remove();for(var a=e.data.length-1;0<=a;a--){var n=e.data[a];MG.call_hook("line.before_each_series",[n,e]);var o=a+1;if(0<e.custom_line_color_map.length&&(o=e.custom_line_color_map[a]),e.data[a].line_id=o,e.active_point_on_lines&&r.selectAll("circle-"+o).data(e.data[a]).enter().filter(function(t){return t[e.active_point_accessor]}).append("circle").attr("class","mg-area"+o+"-color mg-shown-active-point").attr("cx",e.scalefns.xf).attr("cy",e.scalefns.yf).attr("r",function(){return e.active_point_size}),0!==n.length){var i=r.select("path.mg-main-line.mg-line"+o);re(e,t,r,o),Array.isArray(e.area)?e.area[o-1]&&ae(e,t,r,a,o):ae(e,t,r,a,o),oe(e,t,r,i,a,o),ie(e,t,a,o),MG.call_hook("line.after_each_series",[n,i,e])}}}(t,c,l),i=t.legend_target,s=c.legend_text,i&&E.select(i).html(s)},xe=function(t,e){var r,a,n,o,i,s,c,l,u,d,f,p,_=O(t.target);t.showActivePoint&&0===_.selectAll(".mg-active-datapoint-container").nodes().length&&S(_,"mg-active-datapoint-container"),D(r=_,".mg-rollover-rect"),D(r,".mg-voronoi"),D(r,".mg-active-datapoint"),D(r,".mg-line-rollover-circle"),n=_,o=(a=t).data,i=a.colors,s=n.selectAll(".mg-line-rollover-circle").data(o).enter().append("circle").attr("cx",0).attr("cy",0).attr("r",0),i&&i.constructor===Array?s.attr("class",function(t){return"mg-line"+t.line_id}).attr("fill",function(t,e){return i[e]}).attr("stroke",function(t,e){return i[e]}):s.attr("class",function(t,e){var r=t.line_id;return["mg-line"+r,"mg-line"+r+"-color","mg-area"+r+"-color"].join(" ")}),s.classed("mg-line-rollover-circle",!0),function(t){for(var e=t.data,r=t.custom_line_color_map,a=0;a<e.length;a++)for(var n=0;n<e[a].length;n++)e[a][n].index=a+1,0<r.length?e[a][n].line_id=r[a]:e[a][n].line_id=a+1}(t),f=(d=t).data,p=d.aggregate_rollover,1<f.length&&!p?se(t,_,e.rolloverOn(t),e.rolloverOff(t),e.rolloverMove(t),e.rolloverClick(t)):(l=(c=t).data,u=c.aggregate_rollover,1<l.length&&u?ce(t,_,e.rolloverOn(t),e.rolloverOff(t),e.rolloverMove(t),e.rolloverClick(t)):function(a,t,e,r,n,o){var i=1;0<a.custom_line_color_map.length&&(i=a.custom_line_color_map[0]);var s,c,l=t.append("g").attr("class","mg-rollover-rect"),u=a.data[0].map(a.scalefns.xf);l.selectAll(".mg-rollover-rects").data(a.data[0]).enter().append("rect").attr("class",function(t,e){var r=de(i)+" "+ue(t.line_id);return a.linked&&(r+=r+" "+fe(pe(t,a))),r}).attr("x",function(t,e){return 1===u.length?Y(a):0===e?u[e].toFixed(2):((u[e-1]+u[e])/2).toFixed(2)}).attr("y",function(t,e){return 1<a.data.length?a.scalefns.yf(t)-6:a.top}).attr("width",function(t,e){return 1===u.length?P(a):0===e?((u[e+1]-u[e])/2).toFixed(2):e===u.length-1?((u[e]-u[e-1])/2).toFixed(2):((u[e+1]-u[e-1])/2).toFixed(2)}).attr("height",function(t,e){return 1<a.data.length?12:a.height-a.bottom-a.top-a.buffer}).attr("opacity",0).on("click",o).on("mouseover",e).on("mouseout",r).on("mousemove",n),me(a)&&(s=t,c=a.data,s.select(".mg-rollover-rect rect").on("mouseover")(c[0][0],0))}(t,_,e.rolloverOn(t),e.rolloverOff(t),e.rolloverMove(t),e.rolloverClick(t)))},ye=function(t,e,r){var a=t.scales,n=t.x_accessor,o=t.y_accessor,i=t.point_size;e.select("circle.mg-line-rollover-circle.mg-line"+r.line_id).attr("cx",a.X(r[n]).toFixed(2)).attr("cy",a.Y(r[o]).toFixed(2)).attr("r",i).style("opacity",1)},ve=function(t,e,r){var a=t.scales,n=t.x_accessor,o=t.y_accessor,i=t.point_size;e.selectAll("circle.mg-line-rollover-circle.mg-line"+r.line_id).classed("mg-line-rollover-circle",!0).attr("cx",function(){return a.X(r[n]).toFixed(2)}).attr("cy",function(){return a.Y(r[o]).toFixed(2)}).attr("r",i).style("opacity",1)};MG.register("line",function(t){this.init=function(e){if(!(this.args=e).data||0===e.data.length)return e.internal_error="No data was supplied",t=e,console.error("INTERNAL ERROR : ",t.target," : ",t.internal_error),this;var t;e.internal_error=void 0,Me(e),Ae(e),MG.call_hook("line.before_destroy",this),Ot(e),new MG.scale_factory(e).namespace("x").numericalDomainFromData().numericalRange("bottom");var r=(e.baselines||[]).map(function(t){return t[e.y_accessor]});return new MG.scale_factory(e).namespace("y").zeroBottom(!0).inflateDomain(!0).numericalDomainFromData(r).numericalRange("left"),e.x_axis&&new MG.axis_factory(e).namespace("x").type("numerical").position(e.x_axis_position).rug(nt(e)).label(st).draw(),e.y_axis&&new MG.axis_factory(e).namespace("y").type("numerical").position(e.y_axis_position).rug(K(e)).label(et).draw(),this.markers(),this.mainPlot(),this.rollover(),this.windowListeners(),e.brush&&MG.add_brush_function(e),MG.call_hook("line.after_init",this),this},this.mainPlot=function(){return he(t),this},this.markers=function(){return St(t),this},this.rollover=function(){return xe(t,this),MG.call_hook("line.after_rollover",t),this},this.rolloverClick=function(r){return function(t,e){r.click&&r.click(t,e)}},this.rolloverOn=function(n){var o=O(n.target);return function(r,t){if(function(a,n,t){if(a.aggregate_rollover&&1<a.data.length)n.selectAll("circle.mg-line-rollover-circle").style("opacity",0),t.values.forEach(function(t,e,r){a.missing_is_hidden&&r[e]._missing||i(t,a)&&ye(a,n,t)});else{if(a.missing_is_hidden&&t._missing||null===t[a.y_accessor])return;i(t,a)&&ve(a,n,t)}}(n,o,r),function(t,e,r){if(t.linked&&!MG.globals.link&&(MG.globals.link=!0,!t.aggregate_rollover||void 0!==e[t.y_accessor]||e.values&&0<e.values.length)){var a=e.values?e.values[0]:e,n=pe(a,t);E.selectAll("."+ue(a.line_id)+"."+fe(n)).each(function(t){E.select(this).on("mouseover")(t,r)})}}(n,r,t),o.selectAll("text").filter(function(t,e){return r===t}).attr("opacity",.3),n.show_rollover_text&&!(n.missing_is_hidden&&r._missing||null===r[n.y_accessor])){var e=Xt(n,{svg:o}),a=e.mouseover_row();n.aggregate_rollover&&a.text((n.aggregate_rollover&&1<n.data.length?function(t,e){return Pe(t,e,t.x_mouseover,"key",t.time_series)}:Se)(n,r)),(n.aggregate_rollover&&1<n.data.length?r.values:[r]).forEach(function(t){n.aggregate_rollover&&(a=e.mouseover_row()),n.legend&&Zt(a.text(n.legend[t.index-1]+" ").bold(),t,n),Zt(a.text("— ").elem,t,n),n.aggregate_rollover||a.text(Se(n,t)),a.text(Le(n,t,n.time_series))})}n.mouseover&&n.mouseover(r,t)}},this.rolloverOff=function(c){var l=O(c.target);return function(t,e){var r,a,n,o,i,s;!function(t,e,a){var r=t.linked,n=t.utc_time,o=t.linked_format,i=t.x_accessor;if(r&&MG.globals.link){MG.globals.link=!1;var s=MG.time_format(n,o);(e.values?e.values:[e]).forEach(function(t){var e=t[i],r="number"==typeof e?a:s(e);E.selectAll(".roll_"+r).each(function(t){E.select(this).on("mouseout")(t)})})}}(c,t,e),c.aggregate_rollover?l.selectAll("circle.mg-line-rollover-circle").filter(function(t){return 1<t.length}).style("opacity",0):(a=l,n=t,o=(r=c).custom_line_color_map,i=r.data,s=n.line_id,a.selectAll("circle.mg-line-rollover-circle.mg-line"+s).style("opacity",function(){var t=s-1;return 0<o.length&&void 0!==o.indexOf(s)&&(t=o.indexOf(s)),1===i[t].length?1:0})),1<c.data[0].length&&Lt(l),c.mouseout&&c.mouseout(t,e)}},this.rolloverMove=function(r){return function(t,e){r.mousemove&&r.mousemove(t,e)}},this.windowListeners=function(){return Qt(this.args),this},this.init(t)});function be(t,e,r){var a,n,o,i,s,c=Xt(t,{svg:e}).mouseover_row();if(null!==t.color_accessor&&"category"===t.color_type){var l=r[t.color_accessor];c.text(l+" ").bold().attr("fill",t.scalefns.colorf(r))}a=t,n=c.text("● ").elem,o=r,i=a.color_accessor,s=a.scalefns,null!==i?(n.attr("fill",s.colorf(o)),n.attr("stroke",s.colorf(o))):n.classed("mg-points-mono",!0),c.text(Se(t,r)),c.text(Le(t,r,t.time_series))}MG.register("histogram",function(r){var a=this;this.init=function(e){Me(a.args=e),De(e),Ot(e),new MG.scale_factory(e).namespace("x").numericalDomainFromData().numericalRange("bottom");var t=(e.baselines||[]).map(function(t){return t[e.y_accessor]});return new MG.scale_factory(e).namespace("y").zeroBottom(!0).inflateDomain(!0).numericalDomainFromData(t).numericalRange("left"),ot(e),rt(e),a.mainPlot(),a.markers(),a.rollover(),a.windowListeners(),a},this.mainPlot=function(){var t=O(r.target);return t.selectAll(".mg-histogram").remove(),t.append("g").attr("class","mg-histogram").selectAll(".mg-bar").data(r.data[0]).enter().append("g").attr("class","mg-bar").attr("transform",function(t){return"translate("+r.scales.X(t[r.x_accessor]).toFixed(2)+","+r.scales.Y(t[r.y_accessor]).toFixed(2)+")"}).append("rect").attr("x",1).attr("width",function(t,e){return 1===r.data[0].length?(r.scalefns.xf(r.data[0][0])-r.bar_margin).toFixed(0):e!==r.data[0].length-1?(r.scalefns.xf(r.data[0][e+1])-r.scalefns.xf(t)).toFixed(0):(r.scalefns.xf(r.data[0][1])-r.scalefns.xf(r.data[0][0])).toFixed(0)}).attr("height",function(t){return 0===t[r.y_accessor]?0:(r.height-r.bottom-r.buffer-r.scales.Y(t[r.y_accessor])).toFixed(2)}),a},this.markers=function(){return St(r),a},this.rollover=function(){var t=O(r.target);return 0===t.selectAll(".mg-active-datapoint-container").nodes().length&&S(t,"mg-active-datapoint-container"),t.selectAll(".mg-rollover-rect").remove(),t.selectAll(".mg-active-datapoint").remove(),t.append("g").attr("class","mg-rollover-rect").selectAll(".mg-bar").data(r.data[0]).enter().append("g").attr("class",function(t,e){return r.linked?"mg-rollover-rects roll_"+e:"mg-rollover-rects"}).attr("transform",function(t){return"translate("+r.scales.X(t[r.x_accessor])+",0)"}).append("rect").attr("x",1).attr("y",r.buffer+(r.title?r.title_y_position:0)).attr("width",function(t,e){return 1===r.data[0].length?(r.scalefns.xf(r.data[0][0])-r.bar_margin).toFixed(0):e!==r.data[0].length-1?(r.scalefns.xf(r.data[0][e+1])-r.scalefns.xf(t)).toFixed(0):(r.scalefns.xf(r.data[0][1])-r.scalefns.xf(r.data[0][0])).toFixed(0)}).attr("height",function(t){return r.height}).attr("opacity",0).on("mouseover",a.rolloverOn(r)).on("mouseout",a.rolloverOff(r)).on("mousemove",a.rolloverMove(r)),a},this.rolloverOn=function(e){var n=O(e.target);return function(r,a){if(n.selectAll("text").filter(function(t,e){return r===t}).attr("opacity",.3),e.processed.xax_format||MG.time_format(e.utc_time,"%b %e, %Y"),Ee(e),n.selectAll(".mg-bar rect").filter(function(t,e){return e===a}).classed("active",!0),e.linked&&!MG.globals.link&&(MG.globals.link=!0,E.selectAll(".mg-rollover-rects.roll_"+a+" rect").each(function(t){E.select(this).on("mouseover")(t,a)})),e.show_rollover_text){var t=Xt(e,{svg:n}).mouseover_row();t.text("▟ ").elem.classed("hist-symbol",!0),t.text(Se(e,r)),t.text(Le(e,r,e.time_series))}e.mouseover&&(jt(n,e),e.mouseover(r,a))}},this.rolloverOff=function(r){var a=O(r.target);return function(t,e){r.linked&&MG.globals.link&&(MG.globals.link=!1,E.selectAll(".mg-rollover-rects.roll_"+e+" rect").each(function(t){E.select(this).on("mouseout")(t,e)})),a.selectAll(".mg-bar rect").classed("active",!1),Lt(a),r.mouseout&&r.mouseout(t,e)}},this.rolloverMove=function(r){return function(t,e){r.mousemove&&r.mousemove(t,e)}},this.windowListeners=function(){return Qt(a.args),a},this.init(r)},{binned:!1,bins:null,processed_x_accessor:"x",processed_y_accessor:"y",processed_dx_accessor:"dx",bar_margin:1});var we=function(t,e){var r=e.x_accessor,a=e.y_accessor;return t.filter(function(t){return(null===e.min_x||t[r]>=e.min_x)&&(null===e.max_x||t[r]<=e.max_x)&&(null===e.min_y||t[a]>=e.min_y)&&(null===e.max_y||t[a]<=e.max_y)})};MG.register("point",function(a){var o=this;this.init=function(e){if((this.args=e).x_axis_type=s(e,"x"),e.y_axis_type=s(e,"y"),Me(e),Oe(e),Ot(e),"categorical"===e.x_axis_type?(MG.scale_factory(e).namespace("x").categoricalDomainFromData().categoricalRangeBands([0,e.xgroup_height],null===e.xgroup_accessor),e.xgroup_accessor?new MG.scale_factory(e).namespace("xgroup").categoricalDomainFromData().categoricalRangeBands("bottom"):(e.scales.XGROUP=function(){return Y(e)},e.scalefns.xgroupf=function(){return Y(e)}),e.scalefns.xoutf=function(t){return e.scalefns.xf(t)+e.scalefns.xgroupf(t)}):(MG.scale_factory(e).namespace("x").inflateDomain(!0).zeroBottom("categorical"===e.y_axis_type).numericalDomainFromData((e.baselines||[]).map(function(t){return t[e.x_accessor]})).numericalRange("bottom"),e.scalefns.xoutf=e.scalefns.xf),"categorical"===e.y_axis_type)MG.scale_factory(e).namespace("y").zeroBottom(!0).categoricalDomainFromData().categoricalRangeBands([0,e.ygroup_height],!0),e.ygroup_accessor?new MG.scale_factory(e).namespace("ygroup").categoricalDomainFromData().categoricalRangeBands("left"):(e.scales.YGROUP=function(){return b(e)},e.scalefns.ygroupf=function(){return b(e)}),e.scalefns.youtf=function(t){return e.scalefns.yf(t)+e.scalefns.ygroupf(t)};else{var t=(e.baselines||[]).map(function(t){return t[e.y_accessor]});MG.scale_factory(e).namespace("y").inflateDomain(!0).zeroBottom("categorical"===e.x_axis_type).numericalDomainFromData(t).numericalRange("left"),e.scalefns.youtf=function(t){return e.scalefns.yf(t)}}if(null!==e.color_accessor){var r=MG.scale_factory(e).namespace("color");"number"===e.color_type?r.numericalDomainFromData(B(e)).numericalRange(I(e)).clamp(!0):e.color_domain?r.categoricalDomain(e.color_domain).categoricalRange(e.color_range):r.categoricalDomainFromData().categoricalColorRange()}return e.size_accessor&&new MG.scale_factory(e).namespace("size").numericalDomainFromData().numericalRange(it(e)).clamp(!0),new MG.axis_factory(e).namespace("x").type(e.x_axis_type).zeroLine("categorical"===e.y_axis_type).position(e.x_axis_position).rug(nt(e)).label(st).draw(),new MG.axis_factory(e).namespace("y").type(e.y_axis_type).zeroLine("categorical"===e.x_axis_type).position(e.y_axis_position).rug(K(e)).label(et).draw(),this.mainPlot(),this.markers(),this.rollover(),this.windowListeners(),e.brush&&MG.add_brush_function(e),this},this.markers=function(){return St(a),a.least_squares&&ze(a),this},this.mainPlot=function(){var t=O(a.target),e=we(a.data[0],a);t.selectAll(".mg-points").remove();var r=t.append("g").classed("mg-points",!0).selectAll("circle").data(e).enter().append("circle").attr("class",function(t,e){return"path-"+e}).attr("cx",a.scalefns.xoutf).attr("cy",function(t){return a.scalefns.youtf(t)});return null!==a.color_accessor?(r.attr("fill",a.scalefns.colorf),r.attr("stroke",a.scalefns.colorf)):r.classed("mg-points-mono",!0),null!==a.size_accessor?r.attr("r",a.scalefns.sizef):r.attr("r",a.point_size),this},this.rollover=function(){var t=O(a.target);0===t.selectAll(".mg-active-datapoint-container").nodes().length&&S(t,"mg-active-datapoint-container"),t.selectAll(".mg-voronoi").remove();var e=E.voronoi().x(a.scalefns.xoutf).y(a.scalefns.youtf).extent([[a.buffer,a.buffer+(a.title?a.title_y_position:0)],[a.width-a.buffer,a.height-a.buffer]]);return t.append("g").attr("class","mg-voronoi").selectAll("path").data(e.polygons(we(a.data[0],a))).enter().append("path").attr("d",function(t){return null==t?null:"M"+t.join(",")+"Z"}).attr("class",function(t,e){return"path-"+e}).style("fill-opacity",0).on("mouseover",this.rolloverOn(a)).on("mouseout",this.rolloverOff(a)).on("mousemove",this.rolloverMove(a)),1===a.data[0].length&&be(a,t,a.data[0][0]),this},this.rolloverOn=function(a){var n=O(a.target);return function(t,e){n.selectAll(".mg-points circle").classed("selected",!1);var r=n.selectAll(".mg-points circle.path-"+e).classed("selected",!0);a.size_accessor?r.attr("r",function(t){return a.scalefns.sizef(t)+a.active_point_size_increase}):r.attr("r",a.point_size+a.active_point_size_increase),a.linked&&!MG.globals.link&&(MG.globals.link=!0,E.selectAll(".mg-voronoi .path-"+e).each(function(){E.select(o).on("mouseover")(t,e)})),a.show_rollover_text&&be(a,n,t.data),a.mouseover&&a.mouseover(t,e)}},this.rolloverOff=function(a){var n=O(a.target);return function(t,e){a.linked&&MG.globals.link&&(MG.globals.link=!1,E.selectAll(".mg-voronoi .path-"+e).each(function(){E.select(o).on("mouseout")(t,e)}));var r=n.selectAll(".mg-points circle").classed("unselected",!1).classed("selected",!1);a.size_accessor?r.attr("r",a.scalefns.sizef):r.attr("r",a.point_size),1<a.data[0].length&&Lt(n),a.mouseout&&a.mouseout(t,e)}},this.rolloverMove=function(r){return function(t,e){r.mousemove&&r.mousemove(t,e)}},this.update=function(t){return this},this.windowListeners=function(){return Qt(this.args),this},this.init(a)},{y_padding_percentage:.05,y_outer_padding_percentage:.2,ygroup_padding_percentage:0,ygroup_outer_padding_percentage:0,x_padding_percentage:.05,x_outer_padding_percentage:.2,xgroup_padding_percentage:0,xgroup_outer_padding_percentage:0,y_categorical_show_guides:!0,x_categorical_show_guides:!0,buffer:16,ls:!1,lowess:!1,point_size:2.5,label_accessor:null,size_accessor:null,color_accessor:null,size_range:null,color_range:null,size_domain:null,color_domain:null,active_point_size_increase:1,color_type:"number"});MG.register("bar",function(M){var G=this;this.args=M,this.init=function(e){if((G.args=e).x_axis_type=s(e,"x"),e.y_axis_type=s(e,"y"),"categorical"==e.x_axis_type?e.orientation="vertical":"categorical"==e.y_axis_type?e.orientation="horizontal":"categorical"!=e.x_axis_type&&"categorical"!=e.y_axis_type&&(e.orientation="vertical"),Me(e),Oe(e),Ot(e),"categorical"===e.x_axis_type?(MG.scale_factory(e).namespace("x").categoricalDomainFromData().categoricalRangeBands([0,e.xgroup_height],null===e.xgroup_accessor),e.xgroup_accessor?new MG.scale_factory(e).namespace("xgroup").categoricalDomainFromData().categoricalRangeBands("bottom"):(e.scales.XGROUP=function(t){return Y(e)},e.scalefns.xgroupf=function(t){return Y(e)}),e.scalefns.xoutf=function(t){return e.scalefns.xf(t)+e.scalefns.xgroupf(t)}):(MG.scale_factory(e).namespace("x").inflateDomain(!0).zeroBottom("categorical"===e.y_axis_type).numericalDomainFromData((e.baselines||[]).map(function(t){return t[e.x_accessor]})).numericalRange("bottom"),e.scalefns.xoutf=e.scalefns.xf),"categorical"===e.y_axis_type)MG.scale_factory(e).namespace("y").zeroBottom(!0).categoricalDomainFromData().categoricalRangeBands([0,e.ygroup_height],!0),e.ygroup_accessor?new MG.scale_factory(e).namespace("ygroup").categoricalDomainFromData().categoricalRangeBands("left"):(e.scales.YGROUP=function(){return b(e)},e.scalefns.ygroupf=function(t){return b(e)}),e.scalefns.youtf=function(t){return e.scalefns.yf(t)+e.scalefns.ygroupf(t)};else{var t=(e.baselines||[]).map(function(t){return t[e.y_accessor]});MG.scale_factory(e).namespace("y").inflateDomain(!0).zeroBottom("categorical"===e.x_axis_type).numericalDomainFromData(t).numericalRange("left"),e.scalefns.youtf=function(t){return e.scalefns.yf(t)}}return null!==e.ygroup_accessor&&(e.ycolor_accessor=e.y_accessor,MG.scale_factory(e).namespace("ycolor").scaleName("color").categoricalDomainFromData().categoricalColorRange()),null!==e.xgroup_accessor&&(e.xcolor_accessor=e.x_accessor,MG.scale_factory(e).namespace("xcolor").scaleName("color").categoricalDomainFromData().categoricalColorRange()),new MG.axis_factory(e).namespace("x").type(e.x_axis_type).zeroLine("categorical"===e.y_axis_type).position(e.x_axis_position).draw(),new MG.axis_factory(e).namespace("y").type(e.y_axis_type).zeroLine("categorical"===e.x_axis_type).position(e.y_axis_position).draw(),G.mainPlot(),G.markers(),G.rollover(),G.windowListeners(),G},this.mainPlot=function(){var t=O(M.target),e=M.data[0],r=t.select("g.mg-barplot"),a=r.empty(),n=void 0;a&&M.animate_on_load||M.transition_on_update,M.transition_duration,a&&(r=t.append("g").classed("mg-barplot",!0)),n=r.selectAll(".mg-bar").data(e).enter().append("rect").classed("mg-bar",!0).classed("default-bar",!M.scales.hasOwnProperty("COLOR"));var o=void 0,i=void 0,s=void 0,c=void 0,l=void 0,u=void 0,d=void 0,f=void 0,p=void 0,_=void 0,m=void 0,g=void 0,h=void 0,x=void 0,y=void 0,v=void 0;if("vertical"==M.orientation&&(o="height",i="width",s=M.y_axis_type,c=M.x_axis_type,l="y",u="x",d="categorical"==s?M.scalefns.youtf:M.scalefns.yf,f="categorical"==c?M.scalefns.xoutf:M.scalefns.xf,p=M.scales.Y,_=M.scales.X,m=M.y_accessor,g=M.x_accessor,h=function(t){var e=void 0;return e=d(t),t[m]<0&&(e=p(0)),e},x=function(t){return Math.abs(d(t)-p(0))},y=function(t){return Math.abs(p(t[M.reference_accessor])-p(0))},v=function(t){return p(t[M.reference_accessor])}),"horizontal"==M.orientation&&(o="width",i="height",s=M.x_axis_type,c=M.y_axis_type,l="x",u="y",d="categorical"==s?M.scalefns.xoutf:M.scalefns.xf,f="categorical"==c?M.scalefns.youtf:M.scalefns.yf,p=M.scales.X,_=M.scales.Y,m=M.x_accessor,g=M.y_accessor,h=function(t){return p(0)},x=function(t){return Math.abs(d(t)-p(0))},y=function(t){return Math.abs(p(t[M.reference_accessor])-p(0))},v=function(t){return p(0)}),n.attr(l,h),n.attr(u,function(t){var e=void 0;return"categorical"==c?e=f(t):(e=_(0),t[g]<0&&(e=f(t))),e-=M.bar_thickness/2}),M.scales.COLOR&&n.attr("fill",M.scalefns.colorf),n.attr(o,x).attr(i,function(t){return M.bar_thickness}),null!==M.reference_accessor){var b=e.filter(function(t){return t.hasOwnProperty(M.reference_accessor)});r.selectAll(".mg-categorical-reference").data(b).enter().append("rect").attr(l,v).attr(u,function(t){return f(t)-M.reference_thickness/2}).attr(o,y).attr(i,M.reference_thickness)}if(null!==M.comparison_accessor){var w=null;w=null===M.comparison_thickness?M.bar_thickness/2:M.comparison_thickness;var k=e.filter(function(t){return t.hasOwnProperty(M.comparison_accessor)});r.selectAll(".mg-categorical-comparison").data(k).enter().append("line").attr(l+"1",function(t){return p(t[M.comparison_accessor])}).attr(l+"2",function(t){return p(t[M.comparison_accessor])}).attr(u+"1",function(t){return f(t)-w/2}).attr(u+"2",function(t){return f(t)+w/2}).attr("stroke","black").attr("stroke-width",M.comparison_width)}return(M.legend||null!==M.color_accessor&&M.ygroup_accessor!==M.color_accessor)&&(M.legend_target?function(t){var e=t.legend_target,r=t.orientation,a=t.scales;if(e){var n=E.select(e).append("div").classed("mg-bar-target-legend",!0);("horizontal"==r?a.Y.domain():a.X.domain()).forEach(function(t){var e=n.append("span").classed("mg-bar-target-element",!0);e.append("span").classed("mg-bar-target-legend-shape",!0).style("color",a.COLOR(t)).text("◼ "),e.append("span").classed("mg-bar-target-legend-text",!0).text(t)})}}(M):function(t,r){var e=void 0;e="horizontal"==r.orientation?r.scales.Y.domain():r.scales.X.domain();var a=0,n=t.append("g").classed("mg-bar-legend",!0).append("text");n.selectAll("*").remove(),n.attr("width",r.right).attr("height",100).attr("text-anchor","start"),e.forEach(function(t){var e=n.append("tspan").attr("x",P(r)).attr("y",r.height/2).attr("dy",1.1*a+"em");e.append("tspan").text("■ ").attr("fill",r.scales.COLOR(t)).attr("font-size",20),e.append("tspan").text(t).attr("font-weight",300).attr("font-size",10),a++})}(t,M)),G},this.markers=function(){return St(M),G},this.rollover=function(){var t=O(M.target);0===t.selectAll(".mg-active-datapoint-container").nodes().length&&S(t,"mg-active-datapoint-container"),t.selectAll(".mg-rollover-rect").remove(),t.selectAll(".mg-active-datapoint").remove();var e=void 0,r=void 0,a=void 0,n=void 0,o=void 0,i=void 0,s=void 0,c=void 0,l=void 0,u=void 0,d=void 0,f=void 0;"vertical"==M.orientation&&(e="height",r="width",a=M.y_axis_type,n=M.x_axis_type,o="y",i="x","categorical"==a?M.scalefns.youtf:M.scalefns.yf,s="categorical"==n?M.scalefns.xoutf:M.scalefns.xf,c=M.scales.Y,l=M.scales.X,M.y_accessor,u=M.x_accessor,d=function(t){return b(M)},f=function(t){return M.height-M.top-M.bottom-2*M.buffer}),"horizontal"==M.orientation&&(e="width",r="height",a=M.x_axis_type,n=M.y_axis_type,o="x",i="y","categorical"==a?M.scalefns.xoutf:M.scalefns.xf,s="categorical"==n?M.scalefns.youtf:M.scalefns.yf,c=M.scales.X,l=M.scales.Y,M.x_accessor,u=M.y_accessor,d=function(t){return c(0)},f=function(t){return M.width-M.left-M.right-2*M.buffer});var p=void 0,_=void 0;"right"===M.rollover_align?(p=M.width-M.right,_="end"):"left"===M.rollover_align?(p=M.left,_="start"):(p=(M.width-M.left-M.right)/2+M.left,_="middle"),t.append("text").attr("class","mg-active-datapoint").attr("xml:space","preserve").attr("x",p).attr("y",.75*M.top).attr("dy",".35em").attr("text-anchor",_);var m=t.append("g").attr("class","mg-rollover-rect").selectAll(".mg-bar-rollover").data(M.data[0]).enter().append("rect").attr("class","mg-bar-rollover");return m.attr("opacity",0).attr(o,d).attr(i,function(t){var e=void 0;return"categorical"==n?e=s(t):(e=l(0),t[u]<0&&(e=s(t))),e-=M.bar_thickness/2}),m.attr(e,f),m.attr(r,function(t){return M.bar_thickness}),m.on("mouseover",G.rolloverOn(M)).on("mouseout",G.rolloverOff(M)).on("mousemove",G.rolloverMove(M)),G},this.rolloverOn=function(o){var i=O(o.target);return G.is_vertical?o.x_accessor:o.y_accessor,G.is_vertical?o.y_accessor:o.x_accessor,G.is_vertical?o.yax_units:o.xax_units,function(t,r){MG.time_format(o.utc_time,"%b %e, %Y"),Ee(o);var e=i.selectAll("g.mg-barplot .mg-bar").filter(function(t,e){return e===r}).classed("active",!0);if(o.scales.hasOwnProperty("COLOR")?e.attr("fill",E.rgb(o.scalefns.colorf(t)).darker()):e.classed("default-active",!0),o.show_rollover_text){var a=Xt(o,{svg:i}),n=a.mouseover_row();o.ygroup_accessor&&n.text(t[o.ygroup_accessor]+" ").bold(),n.text(Se(o,t)),n.text(o.y_accessor+": "+t[o.y_accessor]),(o.predictor_accessor||o.baseline_accessor)&&(n=a.mouseover_row(),o.predictor_accessor&&n.text(Pe(o,t,null,o.predictor_accessor,!1)),o.baseline_accessor&&n.text(Pe(o,t,null,o.baseline_accessor,!1)))}o.mouseover&&o.mouseover(t,r)}},this.rolloverOff=function(a){var n=O(a.target);return function(t,e){var r=n.selectAll("g.mg-barplot .mg-bar.active").classed("active",!1);a.scales.hasOwnProperty("COLOR")?r.attr("fill",a.scalefns.colorf(t)):r.classed("default-active",!1),n.select(".mg-active-datapoint").text(""),Lt(n),a.mouseout&&a.mouseout(t,e)}},this.rolloverMove=function(r){return function(t,e){r.mousemove&&r.mousemove(t,e)}},this.windowListeners=function(){return Qt(G.args),G},this.init(M)},{y_padding_percentage:.05,y_outer_padding_percentage:.2,ygroup_padding_percentage:0,ygroup_outer_padding_percentage:0,x_padding_percentage:.05,x_outer_padding_percentage:.2,xgroup_padding_percentage:0,xgroup_outer_padding_percentage:0,buffer:16,y_accessor:"factor",x_accessor:"value",reference_accessor:null,comparison_accessor:null,secondary_label_accessor:null,color_accessor:null,color_type:"category",color_domain:null,reference_thickness:1,comparison_width:3,comparison_thickness:null,legend:!1,legend_target:null,mouseover_align:"right",baseline_accessor:null,predictor_accessor:null,predictor_proportion:5,show_bar_zero:!0,binned:!0,truncate_x_labels:!0,truncate_y_labels:!0}),MG.data_table=function(t){return this.args=t,this.args.standard_col={width:150,font_size:12,font_weight:"normal"},this.args.columns=[],this.formatting_options=[["color","color"],["font-weight","font_weight"],["font-style","font_style"],["font-size","font_size"]],this._strip_punctuation=function(t){return t.replace(/[^a-zA-Z0-9 _]+/g,"").replace(/ +?/g,"")},this._format_element=function(a,n,o){this.formatting_options.forEach(function(t){var e=t[0],r=t[1];o[r]&&a.style(e,"string"==typeof o[r]||"number"==typeof o[r]?o[r]:o[r](n))})},this._add_column=function(t,e){var r=this.args.standard_col,a=p(MG.clone(t),MG.clone(r));a.type=e,this.args.columns.push(a)},this.target=function(){var t=arguments[0];return this.args.target=t,this},this.title=function(){return this._add_column(arguments[0],"title"),this},this.text=function(){return this._add_column(arguments[0],"text"),this},this.bullet=function(){return this},this.sparkline=function(){return this},this.number=function(){return this._add_column(arguments[0],"number"),this},this.display=function(){var t=this.args;j(t);var e,r,a,n,o,i,s,c,l,u,d,f,p=t.target,_=E.select(p).append("table").classed("mg-data-table",!0),m=_.append("colgroup"),g=_.append("thead"),h=_.append("tbody");for(a=g.append("tr"),f=0;f<t.columns.length;f++){var x=t.columns[f];i=x.type,c=void 0===(c=x.label)?"":c,n=a.append("th").style("width",x.width).style("text-align","title"===i?"left":"right").text(c),t.show_tooltips&&x.description&&k()&&(n.append("i").classed("fa",!0).classed("fa-question-circle",!0).classed("fa-inverse",!0),$(n.node()).popover({html:!0,animation:!1,content:x.description,trigger:"hover",placement:"top",container:$(n.node())}))}for(f=0;f<t.columns.length;f++)d=m.append("col"),"number"===t.columns[f].type&&d.attr("align","char").attr("char",".");for(var y=0;y<t.data.length;y++){a=h.append("tr");for(var v=0;v<t.columns.length;v++){if(o=(e=t.columns[v]).accessor,s=l=t.data[y][o],"number"===(i=e.type)){if(e.hasOwnProperty("round")&&!e.hasOwnProperty("format")&&(l=E.format("0,."+e.round+"f")(l)),e.hasOwnProperty("value_formatter")&&(l=e.value_formatter(l)),e.hasOwnProperty("format")){e.round&&(l=Math.round(l,e.round));var b,w=e.format;"percentage"===w&&(b=E.format(".0%")),"count"===w&&(b=E.format(",.0f")),"temperature"===w&&(b=function(t){return t+"°"}),l=b(l)}e.hasOwnProperty("currency")&&(l=e.currency+l)}u=a.append("td").classed("table-"+i,!0).classed("table-"+i+"-"+this._strip_punctuation(o),!0).attr("data-value",s).style("width",e.width).style("text-align","title"===i||"text"===i?"left":"right"),this._format_element(u,s,e),"title"===i?(r=u.append("div").text(l),this._format_element(r,l,e),t.columns[v].hasOwnProperty("secondary_accessor")&&u.append("div").text(t.data[y][t.columns[v].secondary_accessor]).classed("secondary-title",!0)):u.text(l)}}return this},this};function ke(t,e){var r,a,n;function o(t){return 1e3===t?3:1e6===t?7:Math.log(t)/Math.LN10}"x"===e?(r=t.x_accessor,a=t.scales.X.ticks(t.xax_count),n=t.processed.max_x):"y"===e&&(r=t.y_accessor,a=t.scales.Y.ticks(t.yax_count),n=t.processed.max_y),("x"===e&&"log"===t.x_scale_type||"y"===e&&"log"===t.y_scale_type)&&(a=a.filter(function(t){return Math.abs(o(t))%1<1e-6||Math.abs(o(t))%1>1-1e-6}));var i=a.length,s=!0;t.data.forEach(function(t,e){t.forEach(function(t,e){if(t[r]%1!=0)return s=!1})}),s&&n<i&&"count"===t.format&&(a=a.filter(function(t){return t%1==0})),"x"===e?t.processed.x_ticks=a:"y"===e&&(t.processed.y_ticks=a)}function Me(r){if(r.data=MG.clone(r.data),r.single_object=!1,r.array_of_objects=!1,r.array_of_arrays=!1,r.nested_array_of_arrays=!1,r.nested_array_of_objects=!1,a(r.data)?(r.nested_array_of_objects=r.data.map(function(t){return e(t)}),r.nested_array_of_arrays=r.data.map(function(t){return a(t)})):(r.array_of_objects=n(r.data),r.array_of_arrays=a(r.data)),"line"===r.chart_type?(r.array_of_objects||r.array_of_arrays)&&(r.data=[r.data]):y(r.data[0])||(r.data=[r.data]),Ge(r,"x_accessor"),Ge(r,"y_accessor"),void 0!==r.color&&(r.colors=r.color),null!==r.colors&&"string"==typeof r.colors&&(r.colors=[r.colors]),"line"===r.chart_type&&!0===r.x_sort)for(var t=0;t<r.data.length;t++)r.data[t].sort(function(t,e){return t[r.x_accessor]-e[r.x_accessor]});return this}function Ge(e,r){y(e[r])&&(e.data=e.data.map(function(t){return e[r].map(function(e){return t.map(function(t){if(void 0!==(t=MG.clone(t))[e])return t["multiline_"+r]=t[e],t}).filter(function(t){return void 0!==t})})})[0],e[r]="multiline_"+r)}function Ae(r){var t,e=0<E.sum(r.data.map(function(t){return 0<t.length&&x(t[0][r.x_accessor])}));if((r.missing_is_zero||r.missing_is_hidden)&&"line"===r.chart_type&&e)for(var a=0;a<r.data.length;a++)if(!(r.data[a].length<=1)){var n=r.data[a][0],o=r.data[a][r.data[a].length-1],i=[],s=MG.clone(n[r.x_accessor]).setDate(n[r.x_accessor].getDate()+1),c=r.min_x?r.min_x:s,l=r.max_x?r.max_x:o[r.x_accessor];if(t=lt((l-c)/1e3),-1!==["four-days","many-days","many-months","years","default"].indexOf(t)&&null===r.missing_is_hidden_accessor)for(var u=new Date(c);u<=l;u.setDate(u.getDate()+1)){var d={};u.setHours(0,0,0,0),Date.parse(u)===Date.parse(new Date(s))&&i.push(MG.clone(r.data[a][0]));var f=null;r.data[a].forEach(function(t,e){if(Date.parse(t[r.x_accessor])===Date.parse(new Date(u)))return f=t,!1}),f?((f[r.missing_is_hidden_accessor]||null===f[r.y_accessor])&&(f._missing=!0),i.push(f)):(d[r.x_accessor]=new Date(u),d[r.y_accessor]=0,d._missing=!0,i.push(d))}else for(var p=0;p<r.data[a].length;p+=1){var _=MG.clone(r.data[a][p]);_._missing=r.data[a][p][r.missing_is_hidden_accessor],i.push(_)}r.data[a]=i}return this}function De(e){var t,r=e.data[0];if(!1===e.binned){if("object"===c(r[0]))t=r.map(function(t){return t[e.x_accessor]});else{if("number"!=typeof r[0])return void console.log("TypeError: expected an array of numbers, found "+c(r[0]));t=r}var a=E.histogram();e.bins&&a.thresholds(e.bins);var n=a(t);e.processed_data=n.map(function(t){return{x:t.x0,y:t.length}})}else{var o,i;e.processed_data=r.map(function(t){return{x:t[e.x_accessor],y:t[e.y_accessor]}});for(var s=0;s<e.processed_data.length;s++)o=e.processed_data[s],s===e.processed_data.length-1?o.dx=e.processed_data[s-1].dx:(i=e.processed_data[s+1],o.dx=i.x-o.x)}return e.processed||(e.processed={}),e.processed.original_data=e.data,e.processed.original_x_accessor=e.x_accessor,e.processed.original_y_accessor=e.y_accessor,e.data=[e.processed_data],e.x_accessor=e.processed_x_accessor,e.y_accessor=e.processed_y_accessor,this}function Oe(e){var t=e.data[0],r=t.map(function(t){return t[e.x_accessor]}),a=t.map(function(t){return t[e.y_accessor]});return e.least_squares&&(e.ls_line=Fe(r,a)),this}function ze(e){var t=O(e.target),r=e.data[0],a=E.min(r,function(t){return t[e.x_accessor]}),n=E.max(r,function(t){return t[e.x_accessor]});E.select(e.target).selectAll(".mg-least-squares-line").remove(),t.append("svg:line").attr("x1",e.scales.X(a)).attr("x2",e.scales.X(n)).attr("y1",e.scales.Y(e.ls_line.fit(a))).attr("y2",e.scales.Y(e.ls_line.fit(n))).attr("class","mg-least-squares-line")}function Fe(t,e){var r,a,n;t.length;r=x(t[0])?t.map(function(t){return t.getTime()}):t,a=x(e[0])?e.map(function(t){return t.getTime()}):e;for(var o=E.mean(r),i=E.mean(a),s=0,c=0,l=0;l<r.length;l++)s+=((n=r[l])-o)*(a[l]-i),c+=(n-o)*(n-o);var u=s/c,d=i-u*o;return{x0:d,beta:u,fit:function(t){return d+t*u}}}function Ce(t,e){return 0<=t&&t<=1?Math.pow(1-Math.pow(t,e),e):0}function Te(t){var e,r,a,n,o,i,s,c=(a=t,n=E.sum(a.map(function(t){return t.w})),{xbar:E.sum(a.map(function(t){return t.w*t.x}))/n,ybar:E.sum(a.map(function(t){return t.w*t.y}))/n}),l=(o=t,i=r=c.xbar,s=e=c.ybar,E.sum(o.map(function(t){return Math.pow(t.w,2)*(t.x-i)*(t.y-s)}))/E.sum(o.map(function(t){return Math.pow(t.w,2)*Math.pow(t.x-i,2)})));return{beta:l,xbar:r,ybar:e,x0:e-l*r}}function Re(t,e,r,a,n){var o=Math.floor(t.length*r),i=t.slice();i.sort(function(t,e){return t<e?-1:e<t?1:0});for(var s,c,l,u,d,f=E.quantile(i,.98),p=E.quantile(i,.02),_=E.zip(t,e,n).sort(),m=Math.abs(f-p)/a,g=p,h=f,x=E.range(g,h,m),y=[],v=0;v<x.length;v+=1){c=x[v],s=_.map(function(t){return[Math.abs(t[0]-c),t[0],t[1],t[2]]}).sort().slice(0,o),d=E.max(s)[0];var b=Te(s=s.map(function(t){return{w:(e=t[0]/d,Ce(e,3)*t[3]),x:t[1],y:t[2]};var e}));u=b.x0,l=b.beta,y.push(u+l*c)}return{x:x,y:y}}function Ee(r){return"count"===r.format?function(t){var e;return e=t%1!=0?E.format(",."+r.decimals+"f"):E.format(",.0f"),r.yax_units_append?e(t)+r.yax_units:r.yax_units+e(t)}:function(t){var e=(r.decimals?"."+r.decimals:"")+"%";return E.format(e)(t)}}MG.register("missing-data",function(t){var R=this;this.init=function(t){yt(R.args=t),vt(t);var e=E.select(t.target);Gt(e,t);var r,a,n,o,i,s,c,l,u,d,f,p,_,m,g,h,x,y,v,b,w,k,M,G,A,D,O,z,F,C=e.selectAll("svg");if(bt(C,t),kt(C=wt(C,t),t),Mt(C,t),r=t.target,E.select(r).selectAll("svg *").remove(),C.classed("mg-missing",!0),(a=t.legend_target)&&E.select(a).html(""),j(t),t.show_missing_background){!function(t){for(var e=[],r=1;r<=50;r++)e.push({x:r,y:Math.random()-.03*r});t.data=e}(t),(G=t).scales.X=E.scaleLinear().domain([0,G.data.length]).range([Y(G),P(G)]),G.scalefns.yf=function(t){var e=t.y;return G.scales.Y(e)},(M=t).scales.Y=E.scaleLinear().domain([-2,2]).range([M.height-M.bottom-2*M.buffer,M.top]),M.scalefns.xf=function(t){var e=t.x;return M.scales.X(e)};var T=S(C,"mg-missing-pane");h=T,y=(x=t).title,v=x.buffer,b=x.title_y_position,w=x.width,k=x.height,h.append("svg:rect").classed("mg-missing-background",!0).attr("x",v).attr("y",v+2*(y?b:0)).attr("width",w-2*v).attr("height",k-2*v-2*(y?b:0)).attr("rx",15).attr("ry",15),d=T,p=(f=t).scalefns,_=f.interpolate,m=f.data,g=E.line().x(p.xf).y(p.yf).curve(_),d.append("path").attr("class","mg-main-line mg-line1-color").attr("d",g(m)),n=T,i=(o=t).scalefns,s=o.scales,c=o.interpolate,l=o.data,u=E.area().x(i.xf).y0(s.Y.range()[0]).y1(i.yf).curve(c),n.append("path").attr("class","mg-main-area mg-area1-color").attr("d",u(l))}return A=C,O=(D=t).missing_text,z=D.width,F=D.height,A.selectAll(".mg-missing-text").data([O]).enter().append("text").attr("class","mg-missing-text").attr("x",z/2).attr("y",F/2).attr("dy",".50em").attr("text-anchor","middle").text(O),R.windowListeners(),R},this.windowListeners=function(){return Qt(R.args),R},this.init(t)},{top:40,bottom:30,right:10,left:0,buffer:8,legend_target:"",width:350,height:220,missing_text:"Data currently missing or unavailable",scalefns:{},scales:{},show_tooltips:!0,show_missing_background:!0}),MG.raw_data_transformation=Me,MG.process_line=Ae,MG.process_histogram=De,MG.process_categorical_variables=function(t){return"vertical"===t.bar_orientation?t.x_accessor:t.y_accessor,"vertical"===t.bar_orientation?t.y_accessor:t.x_accessor,this},MG.process_point=Oe,MG.add_ls=ze,MG.add_lowess=function(e){var t=O(e.target),r=e.lowess_line,a=E.svg.line().x(function(t){return e.scales.X(t.x)}).y(function(t){return e.scales.Y(t.y)}).interpolate(e.interpolate);t.append("path").attr("d",a(r)).attr("class","mg-lowess-line")},MG.lowess_robust=function(t,e,r,a){var n,o,i=[];for(E.mean(e),o=0;o<t.length;o+=1)i.push(1);var s=(n=Re(t,e,r,a,i)).x,c=n.y;for(o=0;o<100;o+=1){i=E.zip(c,e).map(function(t){return Math.abs(t[1]-t[0])});var l=E.quantile(i.sort(),.5);s=(n=Re(t,e,r,a,i=i.map(function(t){return Ce(t/(6*l),2)}))).x,c=n.y}return E.zip(s,c).map(function(t){var e={};return e.x=t[0],e.y=t[1],e})},MG.lowess=function(t,e,r,a){for(var n=[],o=0;o<t.length;o+=1)n.push(1);Re(t,e,r,a,n)},MG.least_squares=Fe;var Ye=function(t,e,r,a){return"string"==typeof t?MG.time_format(a,t)(e[r]):"function"==typeof t?t(e):e[r]},$e=function(t,e,r){return"string"==typeof t?E.format("s")(e[r]):"function"==typeof t?t(e):e[r]};function Pe(t,e,r,a,n){var o,i=function(t){if(t.rollover_time_format)return MG.time_format(t.utc_time,t.rollover_time_format);switch(t.processed.x_time_frame){case"millis":return MG.time_format(t.utc_time,"%b %e, %Y %H:%M:%S.%L");case"seconds":return MG.time_format(t.utc_time,"%b %e, %Y %H:%M:%S");case"less-than-a-day":case"four-days":return MG.time_format(t.utc_time,"%b %e, %Y %I:%M%p")}return MG.time_format(t.utc_time,"%b %e, %Y")}(t);return o="string"==typeof e[a]?function(t){return t}:Ee(t),null!==r?n?Ye(r,e,a,t.utc):$e(r,e,a):n?i(new Date(+e[a]))+" ":(t.time_series?"":a+": ")+o(e[a])+" "}function Se(t,e){return Pe(t,e,t.x_mouseover,t.x_accessor,t.time_series)}function Le(t,e){return Pe(t,e,t.y_mouseover,t.y_accessor,!1)}function je(c,l){return function(){for(var a=this,n=a.cloneNode(),o=a.getTotalLength()||0,i=(n.setAttribute("d",c),n).getTotalLength()||0,t=[0],e=0,r=l/Math.max(o,i);(e+=r)<1;)t.push(e);t.push(1);var s=t.map(function(t){var e=a.getPointAtLength(t*o),r=n.getPointAtLength(t*i);return E.interpolate([e.x,e.y],[r.x,r.y])});return function(e){return e<1?"M"+s.map(function(t){return t(e)}).join("L"):c}}}function Xe(t){console.error("ERROR : ",t.target," : ",t.error),E.select(t.target).select(".mg-chart-title").append("tspan").attr("class","fa fa-x fa-exclamation-circle mg-warning").attr("dx","0.3em").text("")}return MG.format_rollover_number=Ee,MG.path_tween=je,MG.render_markup=function(t){switch("undefined"==typeof window?"undefined":c(window)){case"undefined":return function(t){var e,r=MG.virtual_window,a=E.select(r.document),n=r.document.createElement("div"),o=global.d3,i=global.window,s=global.document;global.d3=a,global.window=r,global.document=r.document;try{t(n)}catch(t){e=t}if(global.d3=o,global.window=i,global.document=s,e)throw e;return a.select(function(){return n}).html()}(t);default:return e=t,r=document.createElement("div"),e(r),E.select(r).html()}var e,r},MG.init_virtual_window=function(t,e){if(!MG.virtual_window||e){var r=t.jsdom({html:"",features:{QuerySelector:!0}});MG.virtual_window=r.defaultView}},MG.error=Xe,MG}); \ No newline at end of file
diff --git a/priv/static/js/metricsgraphics/MG.js b/priv/static/js/metricsgraphics/MG.js
new file mode 100644
index 0000000..7f24a0f
--- /dev/null
+++ b/priv/static/js/metricsgraphics/MG.js
@@ -0,0 +1 @@
+(typeof window === 'undefined' ? global : window).MG = {version: '2.11'};
diff --git a/priv/static/js/metricsgraphics/charts/bar.js b/priv/static/js/metricsgraphics/charts/bar.js
new file mode 100644
index 0000000..b39d59f
--- /dev/null
+++ b/priv/static/js/metricsgraphics/charts/bar.js
@@ -0,0 +1,792 @@
+{
+ // TODO add styles to stylesheet instead
+ function scaffold({target, width, height, top, left, right, buffer}) {
+ const svg = mg_get_svg_child_of(target);
+ // main margins
+ svg.append('line')
+ .attr('x1', 0)
+ .attr('x2', width)
+ .attr('y1', top)
+ .attr('y2', top)
+ .attr('stroke', 'black');
+ svg.append('line')
+ .attr('x1', 0)
+ .attr('x2', width)
+ .attr('y1', height - bottom)
+ .attr('y2', height - bottom)
+ .attr('stroke', 'black');
+
+ svg.append('line')
+ .attr('x1', left)
+ .attr('x2', left)
+ .attr('y1', 0)
+ .attr('y2', height)
+ .attr('stroke', 'black');
+
+ svg.append('line')
+ .attr('x1', width - right)
+ .attr('x2', width - right)
+ .attr('y1', 0)
+ .attr('y2', height)
+ .attr('stroke', 'black');
+
+ // plot area margins
+ svg.append('line')
+ .attr('x1', 0)
+ .attr('x2', width)
+ .attr('y1', height - bottom - buffer)
+ .attr('y2', height - bottom - buffer)
+ .attr('stroke', 'gray');
+
+ svg.append('line')
+ .attr('x1', 0)
+ .attr('x2', width)
+ .attr('y1', top + buffer)
+ .attr('y2', top + buffer)
+ .attr('stroke', 'gray');
+
+ svg.append('line')
+ .attr('x1', left + buffer)
+ .attr('x2', left + buffer)
+ .attr('y1', 0)
+ .attr('y2', args.height)
+ .attr('stroke', 'gray');
+ svg.append('line')
+ .attr('x1', width - right - buffer)
+ .attr('x2', width - right - buffer)
+ .attr('y1', 0)
+ .attr('y2', height)
+ .attr('stroke', 'gray');
+ }
+
+ // barchart re-write.
+ function mg_targeted_legend({legend_target, orientation, scales}) {
+ let labels;
+ const plot = '';
+ if (legend_target) {
+
+ const div = d3.select(legend_target).append('div').classed('mg-bar-target-legend', true);
+
+ if (orientation == 'horizontal') labels = scales.Y.domain();
+ else labels = scales.X.domain();
+
+ labels.forEach(label => {
+ const outer_span = div.append('span').classed('mg-bar-target-element', true);
+ outer_span.append('span')
+ .classed('mg-bar-target-legend-shape', true)
+ .style('color', scales.COLOR(label))
+ .text('\u25FC ');
+ outer_span.append('span')
+ .classed('mg-bar-target-legend-text', true)
+ .text(label);
+ });
+ }
+ }
+
+ function legend_on_graph(svg, args) {
+ // draw each element at the top right
+ // get labels
+
+ let labels;
+ if (args.orientation=='horizontal') labels = args.scales.Y.domain();
+ else labels = args.scales.X.domain();
+
+ let lineCount = 0;
+ const lineHeight = 1.1;
+ const g = svg.append('g').classed("mg-bar-legend", true);
+ const textContainer = g.append('text');
+
+ textContainer
+ .selectAll('*')
+ .remove();
+ textContainer
+ .attr('width', args.right)
+ .attr('height', 100)
+ .attr('text-anchor', 'start');
+
+ labels.forEach(label => {
+ const sub_container = textContainer.append('tspan')
+ .attr('x', mg_get_plot_right(args))
+ .attr('y', args.height / 2)
+ .attr('dy', `${lineCount * lineHeight}em`);
+ sub_container.append('tspan')
+ .text('\u25a0 ')
+ .attr('fill', args.scales.COLOR(label))
+ .attr('font-size', 20);
+ sub_container.append('tspan')
+ .text(label)
+ .attr('font-weight', 300)
+ .attr('font-size', 10);
+ lineCount++;
+ });
+
+ // d.values.forEach(function (datum) {
+ // formatted_y = mg_format_y_rollover(args, num, datum);
+
+ // if (args.y_rollover_format !== null) {
+ // formatted_y = number_rollover_format(args.y_rollover_format, datum, args.y_accessor);
+ // } else {
+ // formatted_y = args.yax_units + num(datum[args.y_accessor]);
+ // }
+
+ // sub_container = textContainer.append('tspan').attr('x', 0).attr('y', (lineCount * lineHeight) + 'em');
+ // formatted_y = mg_format_y_rollover(args, num, datum);
+ // mouseover_tspan(sub_container, '\u2014 ')
+ // .color(args, datum);
+ // mouseover_tspan(sub_container, formatted_x + ' ' + formatted_y);
+
+ // lineCount++;
+ // });
+ }
+
+ function barChart(args) {
+ this.args = args;
+
+ this.init = (args) => {
+ this.args = args;
+ args.x_axis_type = mg_infer_type(args, 'x');
+ args.y_axis_type = mg_infer_type(args, 'y');
+
+ // this is specific to how rects work in svg, let's keep track of the bar orientation to
+ // plot appropriately.
+ if (args.x_axis_type == 'categorical') {
+ args.orientation = 'vertical';
+ } else if (args.y_axis_type == 'categorical') {
+ args.orientation = 'horizontal';
+ } else if (args.x_axis_type != 'categorical' && args.y_axis_type != 'categorical') {
+ // histogram.
+ args.orientation = 'vertical';
+ }
+
+ raw_data_transformation(args);
+
+ process_point(args);
+ init(args);
+
+ let xMaker;
+ let yMaker;
+
+ if (args.x_axis_type === 'categorical') {
+ xMaker = MG.scale_factory(args)
+ .namespace('x')
+ .categoricalDomainFromData()
+ .categoricalRangeBands([0, args.xgroup_height], args.xgroup_accessor === null);
+
+ if (args.xgroup_accessor) {
+ new MG.scale_factory(args)
+ .namespace('xgroup')
+ .categoricalDomainFromData()
+ .categoricalRangeBands('bottom');
+
+ } else {
+ args.scales.XGROUP = d => mg_get_plot_left(args);
+ args.scalefns.xgroupf = d => mg_get_plot_left(args);
+ }
+
+ args.scalefns.xoutf = d => args.scalefns.xf(d) + args.scalefns.xgroupf(d);
+ } else {
+ xMaker = MG.scale_factory(args)
+ .namespace('x')
+ .inflateDomain(true)
+ .zeroBottom(args.y_axis_type === 'categorical')
+ .numericalDomainFromData((args.baselines || []).map(d => d[args.x_accessor]))
+ .numericalRange('bottom');
+
+ args.scalefns.xoutf = args.scalefns.xf;
+ }
+
+ // y-scale generation. This needs to get simplified.
+ if (args.y_axis_type === 'categorical') {
+ yMaker = MG.scale_factory(args)
+ .namespace('y')
+ .zeroBottom(true)
+ .categoricalDomainFromData()
+ .categoricalRangeBands([0, args.ygroup_height], true);
+
+ if (args.ygroup_accessor) {
+
+ new MG.scale_factory(args)
+ .namespace('ygroup')
+ .categoricalDomainFromData()
+ .categoricalRangeBands('left');
+
+ } else {
+ args.scales.YGROUP = () => mg_get_plot_top(args);
+ args.scalefns.ygroupf = d => mg_get_plot_top(args);
+
+ }
+ args.scalefns.youtf = d => args.scalefns.yf(d) + args.scalefns.ygroupf(d);
+
+ } else {
+ const baselines = (args.baselines || []).map(d => d[args.y_accessor]);
+
+ yMaker = MG.scale_factory(args)
+ .namespace('y')
+ .inflateDomain(true)
+ .zeroBottom(args.x_axis_type === 'categorical')
+ .numericalDomainFromData(baselines)
+ .numericalRange('left');
+
+ args.scalefns.youtf = d => args.scalefns.yf(d);
+ }
+
+ if (args.ygroup_accessor !== null) {
+ args.ycolor_accessor = args.y_accessor;
+ MG.scale_factory(args)
+ .namespace('ycolor')
+ .scaleName('color')
+ .categoricalDomainFromData()
+ .categoricalColorRange();
+ }
+
+ if (args.xgroup_accessor !== null) {
+ args.xcolor_accessor = args.x_accessor;
+ MG.scale_factory(args)
+ .namespace('xcolor')
+ .scaleName('color')
+ .categoricalDomainFromData()
+ .categoricalColorRange();
+ }
+
+ // if (args.ygroup_accessor !== null) {
+ // MG.scale_factory(args)
+ // .namespace('ygroup')
+ // .categoricalDomainFromData()
+ // .categoricalColorRange();
+ // }
+
+ new MG.axis_factory(args)
+ .namespace('x')
+ .type(args.x_axis_type)
+ .zeroLine(args.y_axis_type === 'categorical')
+ .position(args.x_axis_position)
+ .draw();
+
+ new MG.axis_factory(args)
+ .namespace('y')
+ .type(args.y_axis_type)
+ .zeroLine(args.x_axis_type === 'categorical')
+ .position(args.y_axis_position)
+ .draw();
+
+ //mg_categorical_group_color_scale(args);
+
+ this.mainPlot();
+ this.markers();
+ this.rollover();
+ this.windowListeners();
+ //scaffold(args)
+
+ return this;
+ };
+
+ this.mainPlot = () => {
+ const svg = mg_get_svg_child_of(args.target);
+ const data = args.data[0];
+ let barplot = svg.select('g.mg-barplot');
+ const fresh_render = barplot.empty();
+
+ let bars, predictor_bars, pp, pp0, baseline_marks;
+
+ const perform_load_animation = fresh_render && args.animate_on_load;
+ const should_transition = perform_load_animation || args.transition_on_update;
+ const transition_duration = args.transition_duration || 1000;
+
+ // draw the plot on first render
+ if (fresh_render) {
+ barplot = svg.append('g')
+ .classed('mg-barplot', true);
+ }
+
+ bars = barplot.selectAll('.mg-bar')
+ .data(data)
+ .enter()
+ .append('rect')
+ .classed('mg-bar', true)
+ .classed('default-bar', args.scales.hasOwnProperty('COLOR') ? false : true);
+
+ // TODO - reimplement
+
+ // reference_accessor {}
+
+ // if (args.predictor_accessor) {
+ // predictor_bars = barplot.selectAll('.mg-bar-prediction')
+ // .data(data.filter(function(d) {
+ // return d.hasOwnProperty(args.predictor_accessor) }));
+
+ // predictor_bars.exit().remove();
+
+ // predictor_bars.enter().append('rect')
+ // .classed('mg-bar-prediction', true);
+ // }
+
+ // if (args.baseline_accessor) {
+ // baseline_marks = barplot.selectAll('.mg-bar-baseline')
+ // .data(data.filter(function(d) {
+ // return d.hasOwnProperty(args.baseline_accessor) }));
+
+ // baseline_marks.exit().remove();
+
+ // baseline_marks.enter().append('line')
+ // .classed('mg-bar-baseline', true);
+ // }
+
+ let appropriate_size;
+
+ // setup transitions
+ // if (should_transition) {
+ // bars = bars.transition()
+ // .duration(transition_duration);
+
+ // if (predictor_bars) {
+ // predictor_bars = predictor_bars.transition()
+ // .duration(transition_duration);
+ // }
+
+ // if (baseline_marks) {
+ // baseline_marks = baseline_marks.transition()
+ // .duration(transition_duration);
+ // }
+ // }
+
+ //appropriate_size = args.scales.Y_ingroup.rangeBand()/1.5;
+ let length, width, length_type, width_type, length_coord, width_coord,
+ length_scalefn, width_scalefn, length_scale, width_scale,
+ length_accessor, width_accessor, length_coord_map, width_coord_map,
+ length_map, width_map;
+
+ let reference_length_map, reference_length_coord_fn;
+
+ if (args.orientation == 'vertical') {
+ length = 'height';
+ width = 'width';
+ length_type = args.y_axis_type;
+ width_type = args.x_axis_type;
+ length_coord = 'y';
+ width_coord = 'x';
+ length_scalefn = length_type == 'categorical' ? args.scalefns.youtf : args.scalefns.yf;
+ width_scalefn = width_type == 'categorical' ? args.scalefns.xoutf : args.scalefns.xf;
+ length_scale = args.scales.Y;
+ width_scale = args.scales.X;
+ length_accessor = args.y_accessor;
+ width_accessor = args.x_accessor;
+
+ length_coord_map = d => {
+ let l;
+ l = length_scalefn(d);
+ if (d[length_accessor] < 0) {
+ l = length_scale(0);
+ }
+ return l;
+ };
+
+ length_map = d => Math.abs(length_scalefn(d) - length_scale(0));
+
+ reference_length_map = d => Math.abs(length_scale(d[args.reference_accessor]) - length_scale(0));
+
+ reference_length_coord_fn = d => length_scale(d[args.reference_accessor]);
+ }
+
+ if (args.orientation == 'horizontal') {
+ length = 'width';
+ width = 'height';
+ length_type = args.x_axis_type;
+ width_type = args.y_axis_type;
+ length_coord = 'x';
+ width_coord = 'y';
+ length_scalefn = length_type == 'categorical' ? args.scalefns.xoutf : args.scalefns.xf;
+ width_scalefn = width_type == 'categorical' ? args.scalefns.youtf : args.scalefns.yf;
+ length_scale = args.scales.X;
+ width_scale = args.scales.Y;
+ length_accessor = args.x_accessor;
+ width_accessor = args.y_accessor;
+
+ length_coord_map = d => {
+ let l;
+ l = length_scale(0);
+ return l;
+ };
+
+ length_map = d => Math.abs(length_scalefn(d) - length_scale(0));
+
+ reference_length_map = d => Math.abs(length_scale(d[args.reference_accessor]) - length_scale(0));
+
+ reference_length_coord_fn = d => length_scale(0);
+ }
+
+ // if (perform_load_animation) {
+ // bars.attr(length, 0);
+
+ // if (predictor_bars) {
+ // predictor_bars.attr(length, 0);
+ // }
+
+ // // if (baseline_marks) {
+ // // baseline_marks.attr({
+ // // x1: args.scales.X(0),
+ // // x2: args.scales.X(0)
+ // // });
+ // // }
+ // }
+
+ bars.attr(length_coord, length_coord_map);
+
+ // bars.attr(length_coord, 40)
+ //bars.attr(width_coord, 70)
+
+ bars.attr(width_coord, d => {
+ let w;
+ if (width_type == 'categorical') {
+ w = width_scalefn(d);
+ } else {
+ w = width_scale(0);
+ if (d[width_accessor] < 0) {
+ w = width_scalefn(d);
+ }
+ }
+ w = w - args.bar_thickness/2;
+ return w;
+ });
+
+ if (args.scales.COLOR) {
+ bars.attr('fill', args.scalefns.colorf);
+ }
+
+ bars
+ .attr(length, length_map)
+ .attr(width, d => args.bar_thickness);
+
+ if (args.reference_accessor !== null) {
+ const reference_data = data.filter(d => d.hasOwnProperty(args.reference_accessor));
+ const reference_bars = barplot.selectAll('.mg-categorical-reference')
+ .data(reference_data)
+ .enter()
+ .append('rect');
+
+ reference_bars
+ .attr(length_coord, reference_length_coord_fn)
+ .attr(width_coord, d => width_scalefn(d) - args.reference_thickness/2)
+ .attr(length, reference_length_map)
+ .attr(width, args.reference_thickness);
+ }
+
+ if (args.comparison_accessor !== null) {
+ let comparison_thickness = null;
+ if (args.comparison_thickness === null) {
+ comparison_thickness = args.bar_thickness/2;
+ } else {
+ comparison_thickness = args.comparison_thickness;
+ }
+
+ const comparison_data = data.filter(d => d.hasOwnProperty(args.comparison_accessor));
+ const comparison_marks = barplot.selectAll('.mg-categorical-comparison')
+ .data(comparison_data)
+ .enter()
+ .append('line');
+
+ comparison_marks
+ .attr(`${length_coord}1`, d => length_scale(d[args.comparison_accessor]))
+ .attr(`${length_coord}2`, d => length_scale(d[args.comparison_accessor]))
+ .attr(`${width_coord}1`, d => width_scalefn(d) - comparison_thickness/2)
+ .attr(`${width_coord}2`, d => width_scalefn(d) + comparison_thickness/2)
+ .attr('stroke', 'black')
+ .attr('stroke-width', args.comparison_width);
+ }
+
+ //bars.attr(width_coord, );
+ // bars.attr('width', 50);
+ // bars.attr('height', 50);
+ // bars.attr('y', function(d){
+ // var y = args.scales.Y(0);
+ // if (d[args.y_accessor] < 0) {
+ // y = args.scalefns.yf(d);
+ // }
+ // return y;
+ // });
+
+ // bars.attr('x', function(d){
+ // return 40;
+ // })
+
+ // bars.attr('width', function(d){
+ // return 100;
+ // });
+
+ // bars.attr('height', 100);
+
+ // bars.attr('fill', 'black');
+ // bars.attr('x', function(d) {
+ // var x = args.scales.X(0);
+ // if (d[args.x_accessor] < 0) {
+ // x = args.scalefns.xf(d);
+ // }
+ // return x;
+ // })
+ // TODO - reimplement.
+ // if (args.predictor_accessor) {
+ // predictor_bars
+ // .attr('x', args.scales.X(0))
+ // .attr('y', function(d) {
+ // return args.scalefns.ygroupf(d) + args.scalefns.yf(d) + args.scales.Y.rangeBand() * (7 / 16) // + pp0 * appropriate_size/(pp*2) + appropriate_size / 2;
+ // })
+ // .attr('height', args.scales.Y.rangeBand() / 8) //appropriate_size / pp)
+ // .attr('width', function(d) {
+ // return args.scales.X(d[args.predictor_accessor]) - args.scales.X(0);
+ // });
+ // }
+
+ // TODO - reimplement.
+ // if (args.baseline_accessor) {
+
+ // baseline_marks
+ // .attr('x1', function(d) {
+ // return args.scales.X(d[args.baseline_accessor]); })
+ // .attr('x2', function(d) {
+ // return args.scales.X(d[args.baseline_accessor]); })
+ // .attr('y1', function(d) {
+ // return args.scalefns.ygroupf(d) + args.scalefns.yf(d) + args.scales.Y.rangeBand() / 4
+ // })
+ // .attr('y2', function(d) {
+ // return args.scalefns.ygroupf(d) + args.scalefns.yf(d) + args.scales.Y.rangeBand() * 3 / 4
+ // });
+ // }
+ if (args.legend || (args.color_accessor !== null && args.ygroup_accessor !== args.color_accessor)) {
+ if (!args.legend_target) legend_on_graph(svg, args);
+ else mg_targeted_legend(args);
+ }
+ return this;
+ };
+
+ this.markers = () => {
+ markers(args);
+ return this;
+ };
+
+ this.rollover = () => {
+ const svg = mg_get_svg_child_of(args.target);
+ let g;
+
+ if (svg.selectAll('.mg-active-datapoint-container').nodes().length === 0) {
+ mg_add_g(svg, 'mg-active-datapoint-container');
+ }
+
+ //remove the old rollovers if they already exist
+ svg.selectAll('.mg-rollover-rect').remove();
+ svg.selectAll('.mg-active-datapoint').remove();
+
+ // get orientation
+ let length, width, length_type, width_type, length_coord, width_coord,
+ length_scalefn, width_scalefn, length_scale, width_scale,
+ length_accessor, width_accessor;
+
+ let length_coord_map, width_coord_map, length_map, width_map;
+
+ if (args.orientation == 'vertical') {
+ length = 'height';
+ width = 'width';
+ length_type = args.y_axis_type;
+ width_type = args.x_axis_type;
+ length_coord = 'y';
+ width_coord = 'x';
+ length_scalefn = length_type == 'categorical' ? args.scalefns.youtf : args.scalefns.yf;
+ width_scalefn = width_type == 'categorical' ? args.scalefns.xoutf : args.scalefns.xf;
+ length_scale = args.scales.Y;
+ width_scale = args.scales.X;
+ length_accessor = args.y_accessor;
+ width_accessor = args.x_accessor;
+
+ length_coord_map = d => mg_get_plot_top(args);
+
+ length_map = d => args.height -args.top-args.bottom-args.buffer*2;
+ }
+
+ if (args.orientation == 'horizontal') {
+ length = 'width';
+ width = 'height';
+ length_type = args.x_axis_type;
+ width_type = args.y_axis_type;
+ length_coord = 'x';
+ width_coord = 'y';
+ length_scalefn = length_type == 'categorical' ? args.scalefns.xoutf : args.scalefns.xf;
+ width_scalefn = width_type == 'categorical' ? args.scalefns.youtf : args.scalefns.yf;
+ length_scale = args.scales.X;
+ width_scale = args.scales.Y;
+ length_accessor = args.x_accessor;
+ width_accessor = args.y_accessor;
+
+ length_coord_map = d => {
+ let l;
+ l = length_scale(0);
+ return l;
+ };
+
+ length_map = d => args.width -args.left-args.right-args.buffer*2;
+ }
+
+ //rollover text
+ let rollover_x, rollover_anchor;
+ if (args.rollover_align === 'right') {
+ rollover_x = args.width - args.right;
+ rollover_anchor = 'end';
+ } else if (args.rollover_align === 'left') {
+ rollover_x = args.left;
+ rollover_anchor = 'start';
+ } else {
+ rollover_x = (args.width - args.left - args.right) / 2 + args.left;
+ rollover_anchor = 'middle';
+ }
+
+ svg.append('text')
+ .attr('class', 'mg-active-datapoint')
+ .attr('xml:space', 'preserve')
+ .attr('x', rollover_x)
+ .attr('y', args.top * 0.75)
+ .attr('dy', '.35em')
+ .attr('text-anchor', rollover_anchor);
+
+ g = svg.append('g')
+ .attr('class', 'mg-rollover-rect');
+
+ //draw rollover bars
+ const bars = g.selectAll(".mg-bar-rollover")
+ .data(args.data[0]).enter()
+ .append("rect")
+ .attr('class', 'mg-bar-rollover');
+
+ bars.attr('opacity', 0)
+ .attr(length_coord, length_coord_map)
+ .attr(width_coord, d => {
+ let w;
+ if (width_type == 'categorical') {
+ w = width_scalefn(d);
+ } else {
+ w = width_scale(0);
+ if (d[width_accessor] < 0) {
+ w = width_scalefn(d);
+ }
+ }
+ w = w - args.bar_thickness/2;
+ return w;
+ });
+
+ bars.attr(length, length_map);
+ bars.attr(width, d => args.bar_thickness);
+
+ bars
+ .on('mouseover', this.rolloverOn(args))
+ .on('mouseout', this.rolloverOff(args))
+ .on('mousemove', this.rolloverMove(args));
+
+ return this;
+ };
+
+ this.rolloverOn = (args) => {
+ const svg = mg_get_svg_child_of(args.target);
+ const label_accessor = this.is_vertical ? args.x_accessor : args.y_accessor;
+ const data_accessor = this.is_vertical ? args.y_accessor : args.x_accessor;
+ const label_units = this.is_vertical ? args.yax_units : args.xax_units;
+
+ return (d, i) => {
+
+ const fmt = MG.time_format(args.utc_time, '%b %e, %Y');
+ const num = format_rollover_number(args);
+
+ //highlight active bar
+ const bar = svg.selectAll('g.mg-barplot .mg-bar')
+ .filter((d, j) => j === i).classed('active', true);
+
+ if (args.scales.hasOwnProperty('COLOR')) {
+ bar.attr('fill', d3.rgb(args.scalefns.colorf(d)).darker());
+ } else {
+ bar.classed('default-active', true);
+ }
+
+ //update rollover text
+ if (args.show_rollover_text) {
+ const mouseover = mg_mouseover_text(args, { svg });
+ let row = mouseover.mouseover_row();
+
+ if (args.ygroup_accessor) row.text(`${d[args.ygroup_accessor]} `).bold();
+
+ row.text(mg_format_x_mouseover(args, d));
+ row.text(`${args.y_accessor}: ${d[args.y_accessor]}`);
+ if (args.predictor_accessor || args.baseline_accessor) {
+ row = mouseover.mouseover_row();
+
+ if (args.predictor_accessor) row.text(mg_format_data_for_mouseover(args, d, null, args.predictor_accessor, false));
+ if (args.baseline_accessor) row.text(mg_format_data_for_mouseover(args, d, null, args.baseline_accessor, false));
+ }
+ }
+ if (args.mouseover) {
+ args.mouseover(d, i);
+ }
+ };
+ };
+
+ this.rolloverOff = (args) => {
+ const svg = mg_get_svg_child_of(args.target);
+
+ return (d, i) => {
+ //reset active bar
+ const bar = svg.selectAll('g.mg-barplot .mg-bar.active').classed('active', false);
+
+ if (args.scales.hasOwnProperty('COLOR')) {
+ bar.attr('fill', args.scalefns.colorf(d));
+ } else {
+ bar.classed('default-active', false);
+ }
+
+ //reset active data point text
+ svg.select('.mg-active-datapoint')
+ .text('');
+
+ mg_clear_mouseover_container(svg);
+
+ if (args.mouseout) {
+ args.mouseout(d, i);
+ }
+ };
+ };
+
+ this.rolloverMove = (args) => (d, i) => {
+ if (args.mousemove) {
+ args.mousemove(d, i);
+ }
+ };
+
+ this.windowListeners = () => {
+ mg_window_listeners(this.args);
+ return this;
+ };
+
+ this.init(args);
+ }
+
+ const options = {
+ buffer: [16, 'number'],
+ y_accessor: ['factor', 'string'],
+ x_accessor: ['value', 'string'],
+ reference_accessor: [null, 'string'],
+ comparison_accessor: [null, 'string'],
+ secondary_label_accessor: [null, 'string'],
+ color_accessor: [null, 'string'],
+ color_type: ['category', ['number', 'category']],
+ color_domain: [null, 'number[]'],
+ reference_thickness: [1, 'number'],
+ comparison_width: [3, 'number'],
+ comparison_thickness: [null, 'number'],
+ legend: [false, 'boolean'],
+ legend_target: [null, 'string'],
+ mouseover_align: ['right', ['right', 'left']],
+ baseline_accessor: [null, 'string'],
+ predictor_accessor: [null, 'string'],
+ predictor_proportion: [5, 'number'],
+ show_bar_zero: [true, 'boolean'],
+ binned: [true, 'boolean'],
+ truncate_x_labels: [true, 'boolean'],
+ truncate_y_labels: [true, 'boolean']
+ };
+
+ MG.register('bar', barChart, options);
+
+}
diff --git a/priv/static/js/metricsgraphics/charts/histogram.js b/priv/static/js/metricsgraphics/charts/histogram.js
new file mode 100644
index 0000000..3fca8e3
--- /dev/null
+++ b/priv/static/js/metricsgraphics/charts/histogram.js
@@ -0,0 +1,222 @@
+{
+ function histogram(args) {
+ this.init = (args) => {
+ this.args = args;
+
+ raw_data_transformation(args);
+ process_histogram(args);
+ init(args);
+
+ new MG.scale_factory(args)
+ .namespace('x')
+ .numericalDomainFromData()
+ .numericalRange('bottom');
+
+ const baselines = (args.baselines || []).map(d => d[args.y_accessor]);
+
+ new MG.scale_factory(args)
+ .namespace('y')
+ .zeroBottom(true)
+ .inflateDomain(true)
+ .numericalDomainFromData(baselines)
+ .numericalRange('left');
+
+ x_axis(args);
+ y_axis(args);
+
+ this.mainPlot();
+ this.markers();
+ this.rollover();
+ this.windowListeners();
+
+ return this;
+ };
+
+ this.mainPlot = () => {
+ const svg = mg_get_svg_child_of(args.target);
+
+ //remove the old histogram, add new one
+ svg.selectAll('.mg-histogram').remove();
+
+ const g = svg.append('g')
+ .attr('class', 'mg-histogram');
+
+ const bar = g.selectAll('.mg-bar')
+ .data(args.data[0])
+ .enter().append('g')
+ .attr('class', 'mg-bar')
+ .attr('transform', d => `translate(${args.scales.X(d[args.x_accessor]).toFixed(2)},${args.scales.Y(d[args.y_accessor]).toFixed(2)})`);
+
+ //draw bars
+ bar.append('rect')
+ .attr('x', 1)
+ .attr('width', (d, i) => {
+ if (args.data[0].length === 1) {
+ return (args.scalefns.xf(args.data[0][0]) - args.bar_margin).toFixed(0);
+ } else if (i !== args.data[0].length - 1) {
+ return (args.scalefns.xf(args.data[0][i + 1]) - args.scalefns.xf(d)).toFixed(0);
+ } else {
+ return (args.scalefns.xf(args.data[0][1]) - args.scalefns.xf(args.data[0][0])).toFixed(0);
+ }
+ })
+ .attr('height', d => {
+ if (d[args.y_accessor] === 0) {
+ return 0;
+ }
+
+ return (args.height - args.bottom - args.buffer - args.scales.Y(d[args.y_accessor])).toFixed(2);
+ });
+
+ return this;
+ };
+
+ this.markers = () => {
+ markers(args);
+ return this;
+ };
+
+ this.rollover = () => {
+ const svg = mg_get_svg_child_of(args.target);
+
+ if (svg.selectAll('.mg-active-datapoint-container').nodes().length === 0) {
+ mg_add_g(svg, 'mg-active-datapoint-container');
+ }
+
+ //remove the old rollovers if they already exist
+ svg.selectAll('.mg-rollover-rect').remove();
+ svg.selectAll('.mg-active-datapoint').remove();
+
+ const g = svg.append('g')
+ .attr('class', 'mg-rollover-rect');
+
+ //draw rollover bars
+ const bar = g.selectAll('.mg-bar')
+ .data(args.data[0])
+ .enter().append('g')
+ .attr('class', (d, i) => {
+ if (args.linked) {
+ return `mg-rollover-rects roll_${i}`;
+ } else {
+ return 'mg-rollover-rects';
+ }
+ })
+ .attr('transform', d => `translate(${args.scales.X(d[args.x_accessor])},${0})`);
+
+ bar.append('rect')
+ .attr('x', 1)
+ .attr('y', args.buffer + (args.title ? args.title_y_position : 0))
+ .attr('width', (d, i) => {
+ //if data set is of length 1
+ if (args.data[0].length === 1) {
+ return (args.scalefns.xf(args.data[0][0]) - args.bar_margin).toFixed(0);
+ } else if (i !== args.data[0].length - 1) {
+ return (args.scalefns.xf(args.data[0][i + 1]) - args.scalefns.xf(d)).toFixed(0);
+ } else {
+ return (args.scalefns.xf(args.data[0][1]) - args.scalefns.xf(args.data[0][0])).toFixed(0);
+ }
+ })
+ .attr('height', d => args.height)
+ .attr('opacity', 0)
+ .on('mouseover', this.rolloverOn(args))
+ .on('mouseout', this.rolloverOff(args))
+ .on('mousemove', this.rolloverMove(args));
+
+ return this;
+ };
+
+ this.rolloverOn = (args) => {
+ const svg = mg_get_svg_child_of(args.target);
+
+ return (d, i) => {
+ svg.selectAll('text')
+ .filter((g, j) => d === g)
+ .attr('opacity', 0.3);
+
+ const fmt = args.processed.xax_format || MG.time_format(args.utc_time, '%b %e, %Y');
+ const num = format_rollover_number(args);
+
+ svg.selectAll('.mg-bar rect')
+ .filter((d, j) => j === i)
+ .classed('active', true);
+
+ //trigger mouseover on all matching bars
+ if (args.linked && !MG.globals.link) {
+ MG.globals.link = true;
+
+ //trigger mouseover on matching bars in .linked charts
+ d3.selectAll(`.mg-rollover-rects.roll_${i} rect`)
+ .each(function(d) { //use existing i
+ d3.select(this).on('mouseover')(d, i);
+ });
+ }
+
+ //update rollover text
+ if (args.show_rollover_text) {
+ const mo = mg_mouseover_text(args, { svg });
+ const row = mo.mouseover_row();
+ row.text('\u259F ').elem
+ .classed('hist-symbol', true);
+
+ row.text(mg_format_x_mouseover(args, d)); // x
+ row.text(mg_format_y_mouseover(args, d, args.time_series === false));
+ }
+
+ if (args.mouseover) {
+ mg_setup_mouseover_container(svg, args);
+ args.mouseover(d, i);
+ }
+ };
+ };
+
+ this.rolloverOff = (args) => {
+ const svg = mg_get_svg_child_of(args.target);
+
+ return (d, i) => {
+ if (args.linked && MG.globals.link) {
+ MG.globals.link = false;
+
+ //trigger mouseout on matching bars in .linked charts
+ d3.selectAll(`.mg-rollover-rects.roll_${i} rect`)
+ .each(function(d) { //use existing i
+ d3.select(this).on('mouseout')(d, i);
+ });
+ }
+
+ //reset active bar
+ svg.selectAll('.mg-bar rect')
+ .classed('active', false);
+
+ //reset active data point text
+ mg_clear_mouseover_container(svg);
+
+ if (args.mouseout) {
+ args.mouseout(d, i);
+ }
+ };
+ };
+
+ this.rolloverMove = (args) => (d, i) => {
+ if (args.mousemove) {
+ args.mousemove(d, i);
+ }
+ };
+
+ this.windowListeners = () => {
+ mg_window_listeners(this.args);
+ return this;
+ };
+
+ this.init(args);
+ }
+
+ const options = {
+ bar_margin: [1, "number"], // the margin between bars
+ binned: [false, "boolean"], // determines whether the data is already binned
+ bins: [null, ['number', 'number[]', 'function']], // the number of bins to use. type: {null, number | thresholds | threshold_function}
+ processed_x_accessor: ['x', 'string'],
+ processed_y_accessor: ['y', 'string'],
+ processed_dx_accessor: ['dx', 'string']
+ };
+
+ MG.register('histogram', histogram, options);
+}
diff --git a/priv/static/js/metricsgraphics/charts/line.js b/priv/static/js/metricsgraphics/charts/line.js
new file mode 100644
index 0000000..f441af3
--- /dev/null
+++ b/priv/static/js/metricsgraphics/charts/line.js
@@ -0,0 +1,922 @@
+{
+ function mg_line_color_text(elem, line_id, {color, colors}) {
+ elem.classed('mg-hover-line-color', color === null)
+ .classed(`mg-hover-line${line_id}-color`, colors === null)
+ .attr('fill', colors === null ? '' : colors[line_id - 1]);
+ }
+
+ function mg_line_graph_generators(args, plot, svg) {
+ mg_add_line_generator(args, plot);
+ mg_add_area_generator(args, plot);
+ mg_add_flat_line_generator(args, plot);
+ mg_add_confidence_band_generator(args, plot, svg);
+ }
+
+ function mg_add_confidence_band_generator(args, plot, svg) {
+ plot.existing_band = svg.selectAll('.mg-confidence-band').nodes();
+ if (args.show_confidence_band) {
+ plot.confidence_area = d3.area()
+ .defined(plot.line.defined())
+ .x(args.scalefns.xf)
+ .y0(d => {
+ const l = args.show_confidence_band[0];
+ if (d[l] != undefined) {
+ return args.scales.Y(d[l]);
+ } else {
+ return args.scales.Y(d[args.y_accessor]);
+ }
+ })
+ .y1(d => {
+ const u = args.show_confidence_band[1];
+ if (d[u] != undefined) {
+ return args.scales.Y(d[u]);
+ } else {
+ return args.scales.Y(d[args.y_accessor]);
+ }
+ })
+ .curve(args.interpolate);
+ }
+ }
+
+ function mg_add_area_generator({scalefns, scales, interpolate, flip_area_under_y_value}, plot) {
+
+ const areaBaselineValue = (Number.isFinite(flip_area_under_y_value)) ? scales.Y(flip_area_under_y_value) : scales.Y.range()[0];
+
+ plot.area = d3.area()
+ .defined(plot.line.defined())
+ .x(scalefns.xf)
+ .y0(() => {
+ return areaBaselineValue;
+ })
+ .y1(scalefns.yf)
+ .curve(interpolate);
+ }
+
+ function mg_add_flat_line_generator({y_accessor, scalefns, scales, interpolate}, plot) {
+ plot.flat_line = d3.line()
+ .defined(d => (d['_missing'] === undefined || d['_missing'] !== true) && d[y_accessor] !== null)
+ .x(scalefns.xf)
+ .y(() => scales.Y(plot.data_median))
+ .curve(interpolate);
+ }
+
+ function mg_add_line_generator({scalefns, interpolate, missing_is_zero, y_accessor}, plot) {
+ plot.line = d3.line()
+ .x(scalefns.xf)
+ .y(scalefns.yf)
+ .curve(interpolate);
+
+ // if missing_is_zero is not set, then hide data points that fall in missing
+ // data ranges or that have been explicitly identified as missing in the
+ // data source.
+ if (!missing_is_zero) {
+ // a line is defined if the _missing attrib is not set to true
+ // and the y-accessor is not null
+ plot.line = plot.line.defined(d => (d['_missing'] === undefined || d['_missing'] !== true) && d[y_accessor] !== null);
+ }
+ }
+
+ function mg_add_confidence_band(
+ {show_confidence_band, transition_on_update, data, target},
+ plot,
+ svg,
+ which_line
+ ) {
+ if (show_confidence_band) {
+ let confidenceBand;
+ if (svg.select(`.mg-confidence-band-${which_line}`).empty()) {
+ svg.append('path')
+ .attr('class', `mg-confidence-band mg-confidence-band-${which_line}`);
+ }
+
+ // transition this line's confidence band
+ confidenceBand = svg.select(`.mg-confidence-band-${which_line}`);
+
+ confidenceBand
+ .transition()
+ .duration(() => (transition_on_update) ? 1000 : 0)
+ .attr('d', plot.confidence_area(data[which_line - 1]))
+ .attr('clip-path', `url(#mg-plot-window-${mg_target_ref(target)})`);
+ }
+ }
+
+ function mg_add_area({data, target, colors}, plot, svg, which_line, line_id) {
+ const areas = svg.selectAll(`.mg-main-area.mg-area${line_id}`);
+ if (plot.display_area) {
+ // if area already exists, transition it
+ if (!areas.empty()) {
+ svg.node().appendChild(areas.node());
+
+ areas.transition()
+ .duration(plot.update_transition_duration)
+ .attr('d', plot.area(data[which_line]))
+ .attr('clip-path', `url(#mg-plot-window-${mg_target_ref(target)})`);
+ } else { // otherwise, add the area
+ svg.append('path')
+ .classed('mg-main-area', true)
+ .classed(`mg-area${line_id}`, true)
+ .classed('mg-area-color', colors === null)
+ .classed(`mg-area${line_id}-color`, colors === null)
+ .attr('d', plot.area(data[which_line]))
+ .attr('fill', colors === null ? '' : colors[line_id - 1])
+ .attr('clip-path', `url(#mg-plot-window-${mg_target_ref(target)})`);
+ }
+ } else if (!areas.empty()) {
+ areas.remove();
+ }
+ }
+
+ function mg_default_color_for_path(this_path, line_id) {
+ this_path.classed('mg-line-color', true)
+ .classed(`mg-line${line_id}-color`, true);
+ }
+
+ function mg_color_line({colors}, this_path, which_line, line_id) {
+ if (colors) {
+ // for now, if args.colors is not an array, then keep moving as if nothing happened.
+ // if args.colors is not long enough, default to the usual line_id color.
+ if (colors.constructor === Array) {
+ this_path.attr('stroke', colors[which_line]);
+ if (colors.length < which_line + 1) {
+ // Go with default coloring.
+ // this_path.classed('mg-line' + (line_id) + '-color', true);
+ mg_default_color_for_path(this_path, line_id);
+ }
+ } else {
+ // this_path.classed('mg-line' + (line_id) + '-color', true);
+ mg_default_color_for_path(this_path, line_id);
+ }
+ } else {
+ // this is the typical workflow
+ // this_path.classed('mg-line' + (line_id) + '-color', true);
+ mg_default_color_for_path(this_path, line_id);
+ }
+ }
+
+ function mg_add_line_element({animate_on_load, data, y_accessor, target}, plot, this_path, which_line) {
+ if (animate_on_load) {
+ plot.data_median = d3.median(data[which_line], d => d[y_accessor]);
+ this_path.attr('d', plot.flat_line(data[which_line]))
+ .transition()
+ .duration(1000)
+ .attr('d', plot.line(data[which_line]))
+ .attr('clip-path', `url(#mg-plot-window-${mg_target_ref(target)})`);
+ } else { // or just add the line
+ this_path.attr('d', plot.line(data[which_line]))
+ .attr('clip-path', `url(#mg-plot-window-${mg_target_ref(target)})`);
+ }
+ }
+
+ function mg_add_line(args, plot, svg, existing_line, which_line, line_id) {
+ if (!existing_line.empty()) {
+ svg.node().appendChild(existing_line.node());
+
+ const lineTransition = existing_line.transition()
+ .duration(plot.update_transition_duration);
+
+ if (!plot.display_area && args.transition_on_update && !args.missing_is_hidden) {
+ lineTransition.attrTween('d', path_tween(plot.line(args.data[which_line]), 4));
+ } else {
+ lineTransition.attr('d', plot.line(args.data[which_line]));
+ }
+ } else { // otherwise...
+ // if we're animating on load, animate the line from its median value
+ const this_path = svg.append('path')
+ .attr('class', `mg-main-line mg-line${line_id}`);
+
+ mg_color_line(args, this_path, which_line, line_id);
+ mg_add_line_element(args, plot, this_path, which_line);
+ }
+ }
+
+ function mg_add_legend_element(args, plot, which_line, line_id) {
+ let this_legend;
+ if (args.legend) {
+ if (is_array(args.legend)) {
+ this_legend = args.legend[which_line];
+ } else if (is_function(args.legend)) {
+ this_legend = args.legend(args.data[which_line]);
+ }
+
+ if (args.legend_target) {
+ if (args.colors && args.colors.constructor === Array) {
+ plot.legend_text = `<span style='color:${args.colors[which_line]}'>&mdash; ${this_legend}&nbsp; </span>${plot.legend_text}`;
+ } else {
+ plot.legend_text = `<span class='mg-line${line_id}-legend-color'>&mdash; ${this_legend}&nbsp; </span>${plot.legend_text}`;
+ }
+ } else {
+ let anchor_point, anchor_orientation, dx;
+
+ if (args.y_axis_position === 'left') {
+ anchor_point = args.data[which_line][args.data[which_line].length - 1];
+ anchor_orientation = 'start';
+ dx = args.buffer;
+ } else {
+ anchor_point = args.data[which_line][0];
+ anchor_orientation = 'end';
+ dx = -args.buffer;
+ }
+ const legend_text = plot.legend_group.append('svg:text')
+ .attr('x', args.scalefns.xf(anchor_point))
+ .attr('dx', dx)
+ .attr('y', args.scalefns.yf(anchor_point))
+ .attr('dy', '.35em')
+ .attr('font-size', 10)
+ .attr('text-anchor', anchor_orientation)
+ .attr('font-weight', '300')
+ .text(this_legend);
+
+ if (args.colors && args.colors.constructor === Array) {
+ if (args.colors.length < which_line + 1) {
+ legend_text.classed(`mg-line${line_id}-legend-color`, true);
+ } else {
+ legend_text.attr('fill', args.colors[which_line]);
+ }
+ } else {
+ legend_text.classed('mg-line-legend-color', true)
+ .classed(`mg-line${line_id}-legend-color`, true);
+ }
+
+ mg_prevent_vertical_overlap(plot.legend_group.selectAll('.mg-line-legend text').nodes(), args);
+ }
+ }
+ }
+
+ function mg_plot_legend_if_legend_target(target, legend) {
+ if (target) d3.select(target).html(legend);
+ }
+
+ function mg_add_legend_group({legend}, plot, svg) {
+ if (legend) plot.legend_group = mg_add_g(svg, 'mg-line-legend');
+ }
+
+ function mg_remove_existing_line_rollover_elements(svg) {
+ // remove the old rollovers if they already exist
+ mg_selectAll_and_remove(svg, '.mg-rollover-rect');
+ mg_selectAll_and_remove(svg, '.mg-voronoi');
+
+ // remove the old rollover text and circle if they already exist
+ mg_selectAll_and_remove(svg, '.mg-active-datapoint');
+ mg_selectAll_and_remove(svg, '.mg-line-rollover-circle');
+ //mg_selectAll_and_remove(svg, '.mg-active-datapoint-container');
+ }
+
+ function mg_add_rollover_circle({data, colors}, svg) {
+ // append circle
+ const circle = svg.selectAll('.mg-line-rollover-circle')
+ .data(data)
+ .enter().append('circle')
+ .attr('cx', 0)
+ .attr('cy', 0)
+ .attr('r', 0);
+
+ if (colors && colors.constructor === Array) {
+ circle
+ .attr('class', ({__line_id__}) => `mg-line${__line_id__}`)
+ .attr('fill', (d, i) => colors[i])
+ .attr('stroke', (d, i) => colors[i]);
+ } else {
+ circle.attr('class', ({__line_id__}, i) => [
+ `mg-line${__line_id__}`,
+ `mg-line${__line_id__}-color`,
+ `mg-area${__line_id__}-color`
+ ].join(' '));
+ }
+ circle.classed('mg-line-rollover-circle', true);
+ }
+
+ function mg_set_unique_line_id_for_each_series({data, custom_line_color_map}) {
+ // update our data by setting a unique line id for each series
+ // increment from 1... unless we have a custom increment series
+
+ for (let i = 0; i < data.length; i++) {
+ data[i].forEach(datum => {
+ datum.__index__ = i + 1;
+ datum.__line_id__ = (custom_line_color_map.length > 0) ? custom_line_color_map[i] : i + 1;
+ });
+ }
+ }
+
+ function mg_nest_data_for_voronoi({data}) {
+ return d3.merge(data);
+ }
+
+ function mg_line_class_string(args) {
+ return d => {
+ let class_string;
+
+ if (args.linked) {
+ const v = d[args.x_accessor];
+ const formatter = MG.time_format(args.utc_time, args.linked_format);
+
+ // only format when x-axis is date
+ const id = (typeof v === 'number') ? (d.__line_id__ - 1) : formatter(v);
+ class_string = `roll_${id} mg-line${d.__line_id__}`;
+
+ if (args.color === null) {
+ class_string += ` mg-line${d.__line_id__}-color`;
+ }
+ return class_string;
+
+ } else {
+ class_string = `mg-line${d.__line_id__}`;
+ if (args.color === null) class_string += ` mg-line${d.__line_id__}-color`;
+ return class_string;
+ }
+ };
+ }
+
+ function mg_add_voronoi_rollover(args, svg, rollover_on, rollover_off, rollover_move, rollover_click) {
+ const voronoi = d3.voronoi()
+ .x(d => args.scales.X(d[args.x_accessor]).toFixed(2))
+ .y(d => args.scales.Y(d[args.y_accessor]).toFixed(2))
+ .extent([
+ [args.buffer, args.buffer + (args.title ? args.title_y_position : 0)],
+ [args.width - args.buffer, args.height - args.buffer]
+ ]);
+
+ const g = mg_add_g(svg, 'mg-voronoi');
+ g.selectAll('path')
+ .data(voronoi.polygons(mg_nest_data_for_voronoi(args)))
+ .enter()
+ .append('path')
+ .filter(d => d !== undefined && d.length > 0)
+ .attr('d', d => d == null ? null : `M${d.join('L')}Z`)
+ .datum(d => d == null ? null : d.data) // because of d3.voronoi, reassign d
+ .attr('class', mg_line_class_string(args))
+ .on('click', rollover_click)
+ .on('mouseover', rollover_on)
+ .on('mouseout', rollover_off)
+ .on('mousemove', rollover_move);
+
+ mg_configure_voronoi_rollover(args, svg);
+ }
+
+ function nest_data_for_aggregate_rollover({x_accessor, data, x_sort}) {
+ const data_nested = d3.nest()
+ .key(d => d[x_accessor])
+ .entries(d3.merge(data));
+ data_nested.forEach(entry => {
+ const datum = entry.values[0];
+ entry.key = datum[x_accessor];
+ });
+
+ if (x_sort) {
+ return data_nested.sort((a, b) => new Date(a.key) - new Date(b.key));
+ } else {
+ return data_nested;
+ }
+ }
+
+ function mg_add_aggregate_rollover(args, svg, rollover_on, rollover_off, rollover_move, rollover_click) {
+ // Undo the keys getting coerced to strings, by setting the keys from the values
+ // This is necessary for when we have X axis keys that are things like
+ const data_nested = nest_data_for_aggregate_rollover(args);
+
+ const xf = data_nested.map(({key}) => args.scales.X(key));
+
+ const g = svg.append('g')
+ .attr('class', 'mg-rollover-rect');
+
+ g.selectAll('.mg-rollover-rects')
+ .data(data_nested).enter()
+ .append('rect')
+ .attr('x', (d, i) => {
+ if (xf.length === 1) return mg_get_plot_left(args);
+ else if (i === 0) return xf[i].toFixed(2);
+ else return ((xf[i - 1] + xf[i]) / 2).toFixed(2);
+ })
+ .attr('y', args.top)
+ .attr('width', (d, i) => {
+ if (xf.length === 1) return mg_get_plot_right(args);
+ else if (i === 0) return ((xf[i + 1] - xf[i]) / 2).toFixed(2);
+ else if (i === xf.length - 1) return ((xf[i] - xf[i - 1]) / 2).toFixed(2);
+ else return ((xf[i + 1] - xf[i - 1]) / 2).toFixed(2);
+ })
+ .attr('class', ({values}) => {
+ let line_classes = values.map(({__line_id__}) => {
+ let lc = mg_line_class(__line_id__);
+ if (args.colors === null) lc += ` ${mg_line_color_class(__line_id__)}`;
+ return lc;
+ }).join(' ');
+ if (args.linked && values.length > 0) {
+ line_classes += ` ${mg_rollover_id_class(mg_rollover_format_id(values[0], args))}`;
+ }
+
+ return line_classes;
+ })
+ .attr('height', args.height - args.bottom - args.top - args.buffer)
+ .attr('opacity', 0)
+ .on('click', rollover_click)
+ .on('mouseover', rollover_on)
+ .on('mouseout', rollover_off)
+ .on('mousemove', rollover_move);
+
+ mg_configure_aggregate_rollover(args, svg);
+ }
+
+ function mg_configure_singleton_rollover({data}, svg) {
+ svg.select('.mg-rollover-rect rect')
+ .on('mouseover')(data[0][0], 0);
+ }
+
+ function mg_configure_voronoi_rollover({data, custom_line_color_map}, svg) {
+ for (let i = 0; i < data.length; i++) {
+ let j = i + 1;
+
+ if (custom_line_color_map.length > 0 &&
+ custom_line_color_map[i] !== undefined) {
+ j = custom_line_color_map[i];
+ }
+
+ if (data[i].length === 1 && !svg.selectAll(`.mg-voronoi .mg-line${j}`).empty()) {
+ svg.selectAll(`.mg-voronoi .mg-line${j}`)
+ .on('mouseover')(data[i][0], 0);
+
+ svg.selectAll(`.mg-voronoi .mg-line${j}`)
+ .on('mouseout')(data[i][0], 0);
+ }
+ }
+ }
+
+ function mg_line_class(line_id) {
+ return `mg-line${line_id}`;
+ }
+
+ function mg_line_color_class(line_id) {
+ return `mg-line${line_id}-color`;
+ }
+
+ function mg_rollover_id_class(id) {
+ return `roll_${id}`;
+ }
+
+ function mg_rollover_format_id(d, {x_accessor, utc_time, linked_format}) {
+ const v = d[x_accessor];
+ const formatter = MG.time_format(utc_time, linked_format);
+ // only format when x-axis is date
+ return (typeof v === 'number') ? v.toString().replace('.', '_') : formatter(v);
+ }
+
+ function mg_add_single_line_rollover(args, svg, rollover_on, rollover_off, rollover_move, rollover_click) {
+ // set to 1 unless we have a custom increment series
+ let line_id = 1;
+ if (args.custom_line_color_map.length > 0) {
+ line_id = args.custom_line_color_map[0];
+ }
+
+ const g = svg.append('g')
+ .attr('class', 'mg-rollover-rect');
+
+ const xf = args.data[0].map(args.scalefns.xf);
+
+ g.selectAll('.mg-rollover-rects')
+ .data(args.data[0]).enter()
+ .append('rect')
+ .attr('class', (d, i) => {
+ let cl = `${mg_line_color_class(line_id)} ${mg_line_class(d.__line_id__)}`;
+ if (args.linked) cl += `${cl} ${mg_rollover_id_class(mg_rollover_format_id(d, args))}`;
+ return cl;
+ })
+ .attr('x', (d, i) => {
+ // if data set is of length 1
+ if (xf.length === 1) return mg_get_plot_left(args);
+ else if (i === 0) return xf[i].toFixed(2);
+ else return ((xf[i - 1] + xf[i]) / 2).toFixed(2);
+ })
+ .attr('y', (d, i) => (args.data.length > 1) ? args.scalefns.yf(d) - 6 // multi-line chart sensitivity
+ : args.top)
+ .attr('width', (d, i) => {
+ // if data set is of length 1
+ if (xf.length === 1) return mg_get_plot_right(args);
+ else if (i === 0) return ((xf[i + 1] - xf[i]) / 2).toFixed(2);
+ else if (i === xf.length - 1) return ((xf[i] - xf[i - 1]) / 2).toFixed(2);
+ else return ((xf[i + 1] - xf[i - 1]) / 2).toFixed(2);
+ })
+ .attr('height', (d, i) => (args.data.length > 1) ? 12 // multi-line chart sensitivity
+ : args.height - args.bottom - args.top - args.buffer)
+ .attr('opacity', 0)
+ .on('click', rollover_click)
+ .on('mouseover', rollover_on)
+ .on('mouseout', rollover_off)
+ .on('mousemove', rollover_move);
+
+ if (mg_is_singleton(args)) {
+ mg_configure_singleton_rollover(args, svg);
+ }
+ }
+
+ function mg_configure_aggregate_rollover({data}, svg) {
+ const rect = svg.selectAll('.mg-rollover-rect rect');
+ const rect_first = rect.nodes()[0][0] || rect.nodes()[0];
+ if (data.filter(({length}) => length === 1).length > 0) {
+ rect.on('mouseover')(rect_first.__data__, 0);
+ }
+ }
+
+ function mg_is_standard_multiline({data, aggregate_rollover}) {
+ return data.length > 1 && !aggregate_rollover;
+ }
+
+ function mg_is_aggregated_rollover({data, aggregate_rollover}) {
+ return data.length > 1 && aggregate_rollover;
+ }
+
+ function mg_is_singleton({data}) {
+ return data.length === 1 && data[0].length === 1;
+ }
+
+ function mg_draw_all_line_elements(args, plot, svg) {
+ mg_remove_dangling_bands(plot, svg);
+
+ // If option activated, remove existing active points if exists
+ if (args.active_point_on_lines) {
+ svg.selectAll('circle.mg-shown-active-point').remove();
+ }
+
+ for (let i = args.data.length - 1; i >= 0; i--) {
+ const this_data = args.data[i];
+
+ // passing the data for the current line
+ MG.call_hook('line.before_each_series', [this_data, args]);
+
+ // override increment if we have a custom increment series
+ let line_id = i + 1;
+ if (args.custom_line_color_map.length > 0) {
+ line_id = args.custom_line_color_map[i];
+ }
+
+ args.data[i].__line_id__ = line_id;
+
+ // If option activated, add active points for each lines
+ if (args.active_point_on_lines) {
+ svg.selectAll('circle-' + line_id)
+ .data(args.data[i])
+ .enter()
+ .filter((d) => {
+ return d[args.active_point_accessor];
+ })
+ .append('circle')
+ .attr('class', 'mg-area' + (line_id) + '-color mg-shown-active-point')
+ .attr('cx', args.scalefns.xf)
+ .attr('cy', args.scalefns.yf)
+ .attr('r', () => {
+ return args.active_point_size;
+ });
+ }
+
+ const existing_line = svg.select(`path.mg-main-line.mg-line${line_id}`);
+ if (this_data.length === 0) {
+ existing_line.remove();
+ continue;
+ }
+
+ mg_add_confidence_band(args, plot, svg, line_id);
+
+ if (Array.isArray(args.area)) {
+ if (args.area[line_id - 1]) {
+ mg_add_area(args, plot, svg, i, line_id);
+ }
+ } else {
+ mg_add_area(args, plot, svg, i, line_id);
+ }
+
+ mg_add_line(args, plot, svg, existing_line, i, line_id);
+ mg_add_legend_element(args, plot, i, line_id);
+
+ // passing the data for the current line
+ MG.call_hook('line.after_each_series', [this_data, existing_line, args]);
+ }
+ }
+
+ function mg_remove_dangling_bands({existing_band}, svg) {
+ if (existing_band[0] && existing_band[0].length > svg.selectAll('.mg-main-line').node().length) {
+ svg.selectAll('.mg-confidence-band').remove();
+ }
+ }
+
+ function mg_line_main_plot(args) {
+ const plot = {};
+ const svg = mg_get_svg_child_of(args.target);
+
+ // remove any old legends if they exist
+ mg_selectAll_and_remove(svg, '.mg-line-legend');
+ mg_add_legend_group(args, plot, svg);
+
+ plot.data_median = 0;
+ plot.update_transition_duration = (args.transition_on_update) ? 1000 : 0;
+ plot.display_area = (args.area && !args.use_data_y_min && args.data.length <= 1 && args.aggregate_rollover === false) || (Array.isArray(args.area) && args.area.length > 0);
+ plot.legend_text = '';
+ mg_line_graph_generators(args, plot, svg);
+ plot.existing_band = svg.selectAll('.mg-confidence-band').nodes();
+
+ // should we continue with the default line render? A `line.all_series` hook should return false to prevent the default.
+ const continueWithDefault = MG.call_hook('line.before_all_series', [args]);
+ if (continueWithDefault !== false) {
+ mg_draw_all_line_elements(args, plot, svg);
+ }
+
+ mg_plot_legend_if_legend_target(args.legend_target, plot.legend_text);
+ }
+
+ function mg_line_rollover_setup(args, graph) {
+ const svg = mg_get_svg_child_of(args.target);
+
+ if (args.showActivePoint && svg.selectAll('.mg-active-datapoint-container').nodes().length === 0) {
+ mg_add_g(svg, 'mg-active-datapoint-container');
+ }
+
+ mg_remove_existing_line_rollover_elements(svg);
+ mg_add_rollover_circle(args, svg);
+ mg_set_unique_line_id_for_each_series(args);
+
+ if (mg_is_standard_multiline(args)) {
+ mg_add_voronoi_rollover(args, svg, graph.rolloverOn(args), graph.rolloverOff(args), graph.rolloverMove(args), graph.rolloverClick(args));
+ } else if (mg_is_aggregated_rollover(args)) {
+ mg_add_aggregate_rollover(args, svg, graph.rolloverOn(args), graph.rolloverOff(args), graph.rolloverMove(args), graph.rolloverClick(args));
+ } else {
+ mg_add_single_line_rollover(args, svg, graph.rolloverOn(args), graph.rolloverOff(args), graph.rolloverMove(args), graph.rolloverClick(args));
+ }
+ }
+
+ function mg_update_rollover_circle(args, svg, d) {
+ if (args.aggregate_rollover && args.data.length > 1) {
+ // hide the circles in case a non-contiguous series is present
+ svg.selectAll('circle.mg-line-rollover-circle')
+ .style('opacity', 0);
+
+ d.values.forEach((datum, index, list) => {
+ if (args.missing_is_hidden && list[index]['_missing']) {
+ return;
+ }
+
+ if (mg_data_in_plot_bounds(datum, args)) mg_update_aggregate_rollover_circle(args, svg, datum);
+ });
+ } else if ((args.missing_is_hidden && d['_missing']) || d[args.y_accessor] === null) {
+ // disable rollovers for hidden parts of the line
+ // recall that hidden parts are missing data ranges and possibly also
+ // data points that have been explicitly identified as missing
+ return;
+ } else {
+ // show circle on mouse-overed rect
+ if (mg_data_in_plot_bounds(d, args)) {
+ mg_update_generic_rollover_circle(args, svg, d);
+ }
+ }
+ }
+
+ function mg_update_aggregate_rollover_circle({scales, x_accessor, y_accessor, point_size}, svg, datum) {
+ svg.select(`circle.mg-line-rollover-circle.mg-line${datum.__line_id__}`)
+ .attr('cx', scales.X(datum[x_accessor]).toFixed(2))
+ .attr('cy', scales.Y(datum[y_accessor]).toFixed(2))
+ .attr('r', point_size)
+ .style('opacity', 1);
+ }
+
+ function mg_update_generic_rollover_circle({scales, x_accessor, y_accessor, point_size}, svg, d) {
+ svg.selectAll(`circle.mg-line-rollover-circle.mg-line${d.__line_id__}`)
+ .classed('mg-line-rollover-circle', true)
+ .attr('cx', () => scales.X(d[x_accessor]).toFixed(2))
+ .attr('cy', () => scales.Y(d[y_accessor]).toFixed(2))
+ .attr('r', point_size)
+ .style('opacity', 1);
+ }
+
+ function mg_trigger_linked_mouseovers(args, d, i) {
+ if (args.linked && !MG.globals.link) {
+ MG.globals.link = true;
+ if (!args.aggregate_rollover || d[args.y_accessor] !== undefined || (d.values && d.values.length > 0)) {
+ const datum = d.values ? d.values[0] : d;
+ const id = mg_rollover_format_id(datum, args);
+ // trigger mouseover on matching line in .linked charts
+ d3.selectAll(`.${mg_line_class(datum.__line_id__)}.${mg_rollover_id_class(id)}`)
+ .each(function(d) {
+ d3.select(this)
+ .on('mouseover')(d, i);
+ });
+ }
+ }
+ }
+
+ function mg_trigger_linked_mouseouts({linked, utc_time, linked_format, x_accessor}, d, i) {
+ if (linked && MG.globals.link) {
+ MG.globals.link = false;
+
+ const formatter = MG.time_format(utc_time, linked_format);
+ const datums = d.values ? d.values : [d];
+ datums.forEach(datum => {
+ const v = datum[x_accessor];
+ const id = (typeof v === 'number') ? i : formatter(v);
+
+ // trigger mouseout on matching line in .linked charts
+ d3.selectAll(`.roll_${id}`)
+ .each(function(d) {
+ d3.select(this)
+ .on('mouseout')(d);
+ });
+ });
+ }
+ }
+
+ function mg_remove_active_data_points_for_aggregate_rollover(args, svg) {
+ svg.selectAll('circle.mg-line-rollover-circle').filter(({length}) => length > 1)
+ .style('opacity', 0);
+ }
+
+ function mg_remove_active_data_points_for_generic_rollover({custom_line_color_map, data}, svg, line_id) {
+ svg.selectAll(`circle.mg-line-rollover-circle.mg-line${line_id}`)
+ .style('opacity', () => {
+ let id = line_id - 1;
+ if (custom_line_color_map.length > 0 &&
+ custom_line_color_map.indexOf(line_id) !== undefined
+ ) {
+ id = custom_line_color_map.indexOf(line_id);
+ }
+
+ if (data[id].length === 1) {
+ return 1;
+ } else {
+ return 0;
+ }
+ });
+ }
+
+ function mg_remove_active_text(svg) {
+ svg.select('.mg-active-datapoint').text('');
+ }
+
+ function lineChart(args) {
+ this.init = function(args) {
+ this.args = args;
+
+ if (!args.data || args.data.length === 0) {
+ args.internal_error = 'No data was supplied';
+ internal_error(args);
+ return this;
+ } else {
+ args.internal_error = undefined;
+ }
+
+ raw_data_transformation(args);
+ process_line(args);
+
+ MG.call_hook('line.before_destroy', this);
+
+ init(args);
+
+ // TODO incorporate markers into calculation of x scales
+ new MG.scale_factory(args)
+ .namespace('x')
+ .numericalDomainFromData()
+ .numericalRange('bottom');
+
+ const baselines = (args.baselines || []).map(d => d[args.y_accessor]);
+
+ new MG.scale_factory(args)
+ .namespace('y')
+ .zeroBottom(true)
+ .inflateDomain(true)
+ .numericalDomainFromData(baselines)
+ .numericalRange('left');
+
+ if (args.x_axis) {
+ new MG.axis_factory(args)
+ .namespace('x')
+ .type('numerical')
+ .position(args.x_axis_position)
+ .rug(x_rug(args))
+ .label(mg_add_x_label)
+ .draw();
+ }
+
+ if (args.y_axis) {
+ new MG.axis_factory(args)
+ .namespace('y')
+ .type('numerical')
+ .position(args.y_axis_position)
+ .rug(y_rug(args))
+ .label(mg_add_y_label)
+ .draw();
+ }
+
+ this.markers();
+ this.mainPlot();
+ this.rollover();
+ this.windowListeners();
+ if (args.brush) MG.add_brush_function(args);
+ MG.call_hook('line.after_init', this);
+
+ return this;
+ };
+
+ this.mainPlot = function() {
+ mg_line_main_plot(args);
+ return this;
+ };
+
+ this.markers = function() {
+ markers(args);
+ return this;
+ };
+
+ this.rollover = function() {
+ mg_line_rollover_setup(args, this);
+ MG.call_hook('line.after_rollover', args);
+
+ return this;
+ };
+
+ this.rolloverClick = args => (d, i) => {
+ if (args.click) {
+ args.click(d, i);
+ }
+ };
+
+ this.rolloverOn = args => {
+ const svg = mg_get_svg_child_of(args.target);
+
+ return (d, i) => {
+ mg_update_rollover_circle(args, svg, d);
+ mg_trigger_linked_mouseovers(args, d, i);
+
+ svg.selectAll('text')
+ .filter((g, j) => d === g)
+ .attr('opacity', 0.3);
+
+ // update rollover text except for missing data points
+ if (args.show_rollover_text &&
+ !((args.missing_is_hidden && d['_missing']) || d[args.y_accessor] === null)
+ ) {
+ const mouseover = mg_mouseover_text(args, { svg });
+ let row = mouseover.mouseover_row();
+ if (args.aggregate_rollover) {
+ row.text((args.aggregate_rollover && args.data.length > 1
+ ? mg_format_x_aggregate_mouseover
+ : mg_format_x_mouseover)(args, d));
+ }
+
+ const pts = args.aggregate_rollover && args.data.length > 1
+ ? d.values
+ : [d];
+
+ pts.forEach(di => {
+ if (args.aggregate_rollover) {
+ row = mouseover.mouseover_row();
+ }
+
+ if (args.legend) {
+ mg_line_color_text(row.text(`${args.legend[di.__index__ - 1]} `).bold(), di.__line_id__, args);
+ }
+
+ mg_line_color_text(row.text('\u2014 ').elem, di.__line_id__, args);
+ if (!args.aggregate_rollover) {
+ row.text(mg_format_x_mouseover(args, di));
+ }
+
+ row.text(mg_format_y_mouseover(args, di, args.time_series === false));
+ });
+ }
+
+ if (args.mouseover) {
+ args.mouseover(d, i);
+ }
+ };
+ };
+
+ this.rolloverOff = args => {
+ const svg = mg_get_svg_child_of(args.target);
+
+ return (d, i) => {
+ mg_trigger_linked_mouseouts(args, d, i);
+ if (args.aggregate_rollover) {
+ mg_remove_active_data_points_for_aggregate_rollover(args, svg);
+ } else {
+ mg_remove_active_data_points_for_generic_rollover(args, svg, d.__line_id__);
+ }
+
+ if (args.data[0].length > 1) {
+ mg_clear_mouseover_container(svg);
+ }
+
+ if (args.mouseout) {
+ args.mouseout(d, i);
+ }
+ };
+ };
+
+ this.rolloverMove = args => (d, i) => {
+ if (args.mousemove) {
+ args.mousemove(d, i);
+ }
+ };
+
+ this.windowListeners = function() {
+ mg_window_listeners(this.args);
+ return this;
+ };
+
+ this.init(args);
+ }
+
+ MG.register('line', lineChart);
+}
diff --git a/priv/static/js/metricsgraphics/charts/missing.js b/priv/static/js/metricsgraphics/charts/missing.js
new file mode 100644
index 0000000..330d5c0
--- /dev/null
+++ b/priv/static/js/metricsgraphics/charts/missing.js
@@ -0,0 +1,144 @@
+{
+ function mg_missing_add_text(svg, {missing_text, width, height}) {
+ svg.selectAll('.mg-missing-text').data([missing_text])
+ .enter().append('text')
+ .attr('class', 'mg-missing-text')
+ .attr('x', width / 2)
+ .attr('y', height / 2)
+ .attr('dy', '.50em')
+ .attr('text-anchor', 'middle')
+ .text(missing_text);
+ }
+
+ function mg_missing_x_scale(args) {
+ args.scales.X = d3.scaleLinear()
+ .domain([0, args.data.length])
+ .range([mg_get_plot_left(args), mg_get_plot_right(args)]);
+ args.scalefns.yf = ({y}) => args.scales.Y(y);
+ }
+
+ function mg_missing_y_scale(args) {
+ args.scales.Y = d3.scaleLinear()
+ .domain([-2, 2])
+ .range([args.height - args.bottom - args.buffer * 2, args.top]);
+ args.scalefns.xf = ({x}) => args.scales.X(x);
+ }
+
+ function mg_make_fake_data(args) {
+ const data = [];
+ for (let x = 1; x <= 50; x++) {
+ data.push({ x, y: Math.random() - (x * 0.03) });
+ }
+ args.data = data;
+ }
+
+ function mg_add_missing_background_rect(g, {title, buffer, title_y_position, width, height}) {
+ g.append('svg:rect')
+ .classed('mg-missing-background', true)
+ .attr('x', buffer)
+ .attr('y', buffer + (title ? title_y_position : 0) * 2)
+ .attr('width', width - buffer * 2)
+ .attr('height', height - buffer * 2 - (title ? title_y_position : 0) * 2)
+ .attr('rx', 15)
+ .attr('ry', 15);
+ }
+
+ function mg_missing_add_line(g, {scalefns, interpolate, data}) {
+ const line = d3.line()
+ .x(scalefns.xf)
+ .y(scalefns.yf)
+ .curve(interpolate);
+
+ g.append('path')
+ .attr('class', 'mg-main-line mg-line1-color')
+ .attr('d', line(data));
+ }
+
+ function mg_missing_add_area(g, {scalefns, scales, interpolate, data}) {
+ const area = d3.area()
+ .x(scalefns.xf)
+ .y0(scales.Y.range()[0])
+ .y1(scalefns.yf)
+ .curve(interpolate);
+
+ g.append('path')
+ .attr('class', 'mg-main-area mg-area1-color')
+ .attr('d', area(data));
+ }
+
+ function mg_remove_all_children({target}) {
+ d3.select(target).selectAll('svg *').remove();
+ }
+
+ function mg_missing_remove_legend({legend_target}) {
+ if (legend_target) {
+ d3.select(legend_target).html('');
+ }
+ }
+
+ function missingData(args) {
+ this.init = (args) => {
+ this.args = args;
+
+ mg_init_compute_width(args);
+ mg_init_compute_height(args);
+
+ // create svg if one doesn't exist
+
+ const container = d3.select(args.target);
+ mg_raise_container_error(container, args);
+ let svg = container.selectAll('svg');
+ mg_remove_svg_if_chart_type_has_changed(svg, args);
+ svg = mg_add_svg_if_it_doesnt_exist(svg, args);
+ mg_adjust_width_and_height_if_changed(svg, args);
+ mg_set_viewbox_for_scaling(svg, args);
+ mg_remove_all_children(args);
+
+ svg.classed('mg-missing', true);
+ mg_missing_remove_legend(args);
+
+ chart_title(args);
+
+ // are we adding a background placeholder
+ if (args.show_missing_background) {
+ mg_make_fake_data(args);
+ mg_missing_x_scale(args);
+ mg_missing_y_scale(args);
+ const g = mg_add_g(svg, 'mg-missing-pane');
+
+ mg_add_missing_background_rect(g, args);
+ mg_missing_add_line(g, args);
+ mg_missing_add_area(g, args);
+ }
+
+ mg_missing_add_text(svg, args);
+
+ this.windowListeners();
+
+ return this;
+ };
+
+ this.windowListeners = () => {
+ mg_window_listeners(this.args);
+ return this;
+ };
+
+ this.init(args);
+ }
+
+ const defaults = {
+ top: [40, 'number'], // the size of the top margin
+ bottom: [30, 'number'], // the size of the bottom margin
+ right: [10, 'number'], // size of the right margin
+ left: [0, 'number'], // size of the left margin
+ buffer: [8, 'number'], // the buffer between the actual chart area and the margins
+ legend_target: ['', 'string'],
+ width: [350, 'number'],
+ height: [220, 'number'],
+ missing_text: ['Data currently missing or unavailable', 'string'],
+ show_tooltips: [true, 'boolean'],
+ show_missing_background: [true, 'boolean']
+ };
+
+ MG.register('missing-data', missingData, defaults);
+}
diff --git a/priv/static/js/metricsgraphics/charts/point.js b/priv/static/js/metricsgraphics/charts/point.js
new file mode 100644
index 0000000..b511f19
--- /dev/null
+++ b/priv/static/js/metricsgraphics/charts/point.js
@@ -0,0 +1,383 @@
+function point_mouseover(args, svg, d) {
+ const mouseover = mg_mouseover_text(args, { svg });
+ const row = mouseover.mouseover_row();
+
+ if (args.color_accessor !== null && args.color_type === 'category') {
+ const label = d[args.color_accessor];
+ row.text(`${label} `).bold().attr('fill', args.scalefns.colorf(d));
+ }
+
+ mg_color_point_mouseover(args, row.text('\u25CF ').elem, d); // point shape
+
+ row.text(mg_format_x_mouseover(args, d)); // x
+ row.text(mg_format_y_mouseover(args, d, args.time_series === false));
+}
+
+function mg_color_point_mouseover({color_accessor, scalefns}, elem, d) {
+ if (color_accessor !== null) {
+ elem.attr('fill', scalefns.colorf(d));
+ elem.attr('stroke', scalefns.colorf(d));
+ } else {
+ elem.classed('mg-points-mono', true);
+ }
+}
+
+
+{
+ function mg_filter_out_plot_bounds(data, args) {
+ // max_x, min_x, max_y, min_y;
+ const x = args.x_accessor;
+ const y = args.y_accessor;
+ const new_data = data.filter(d => (args.min_x === null || d[x] >= args.min_x) &&
+ (args.max_x === null || d[x] <= args.max_x) &&
+ (args.min_y === null || d[y] >= args.min_y) &&
+ (args.max_y === null || d[y] <= args.max_y));
+ return new_data;
+ }
+
+ function pointChart(args) {
+ this.init = function(args) {
+ this.args = args;
+
+ // infer y_axis and x_axis type;
+ args.x_axis_type = mg_infer_type(args, 'x');
+ args.y_axis_type = mg_infer_type(args, 'y');
+
+ raw_data_transformation(args);
+
+ process_point(args);
+ init(args);
+
+ let xMaker, yMaker;
+
+ if (args.x_axis_type === 'categorical') {
+ xMaker = MG.scale_factory(args)
+ .namespace('x')
+ .categoricalDomainFromData()
+ .categoricalRangeBands([0, args.xgroup_height], args.xgroup_accessor === null);
+
+ if (args.xgroup_accessor) {
+ new MG.scale_factory(args)
+ .namespace('xgroup')
+ .categoricalDomainFromData()
+ .categoricalRangeBands('bottom');
+
+ } else {
+ args.scales.XGROUP = () => mg_get_plot_left(args);
+ args.scalefns.xgroupf = () => mg_get_plot_left(args);
+ }
+
+ args.scalefns.xoutf = d => args.scalefns.xf(d) + args.scalefns.xgroupf(d);
+ } else {
+ xMaker = MG.scale_factory(args)
+ .namespace('x')
+ .inflateDomain(true)
+ .zeroBottom(args.y_axis_type === 'categorical')
+ .numericalDomainFromData((args.baselines || []).map(d => d[args.x_accessor]))
+ .numericalRange('bottom');
+
+ args.scalefns.xoutf = args.scalefns.xf;
+ }
+
+ // y-scale generation. This needs to get simplified.
+ if (args.y_axis_type === 'categorical') {
+ yMaker = MG.scale_factory(args)
+ .namespace('y')
+ .zeroBottom(true)
+ .categoricalDomainFromData()
+ .categoricalRangeBands([0, args.ygroup_height], true);
+
+ if (args.ygroup_accessor) {
+
+ new MG.scale_factory(args)
+ .namespace('ygroup')
+ .categoricalDomainFromData()
+ .categoricalRangeBands('left');
+
+ } else {
+ args.scales.YGROUP = () => mg_get_plot_top(args);
+ args.scalefns.ygroupf = () => mg_get_plot_top(args);
+
+ }
+ args.scalefns.youtf = d => args.scalefns.yf(d) + args.scalefns.ygroupf(d);
+
+ } else {
+ const baselines = (args.baselines || []).map(d => d[args.y_accessor]);
+ yMaker = MG.scale_factory(args)
+ .namespace('y')
+ .inflateDomain(true)
+ .zeroBottom(args.x_axis_type === 'categorical')
+ .numericalDomainFromData(baselines)
+ .numericalRange('left');
+
+ args.scalefns.youtf = d => args.scalefns.yf(d);
+ }
+
+ /////// COLOR accessor
+ if (args.color_accessor !== null) {
+ const colorScale = MG.scale_factory(args).namespace('color');
+ if (args.color_type === 'number') {
+ // do the color scale.
+ // etiher get color range, or what.
+ colorScale
+ .numericalDomainFromData(mg_get_color_domain(args))
+ .numericalRange(mg_get_color_range(args))
+ .clamp(true);
+ } else {
+ if (args.color_domain) {
+ colorScale
+ .categoricalDomain(args.color_domain)
+ .categoricalRange(args.color_range);
+ } else {
+ colorScale
+ .categoricalDomainFromData()
+ .categoricalColorRange();
+ }
+ }
+ }
+
+ if (args.size_accessor) {
+ new MG.scale_factory(args).namespace('size')
+ .numericalDomainFromData()
+ .numericalRange(mg_get_size_range(args))
+ .clamp(true);
+ }
+
+ new MG.axis_factory(args)
+ .namespace('x')
+ .type(args.x_axis_type)
+ .zeroLine(args.y_axis_type === 'categorical')
+ .position(args.x_axis_position)
+ .rug(x_rug(args))
+ .label(mg_add_x_label)
+ .draw();
+
+ new MG.axis_factory(args)
+ .namespace('y')
+ .type(args.y_axis_type)
+ .zeroLine(args.x_axis_type === 'categorical')
+ .position(args.y_axis_position)
+ .rug(y_rug(args))
+ .label(mg_add_y_label)
+ .draw();
+
+ this.mainPlot();
+ this.markers();
+ this.rollover();
+ this.windowListeners();
+ if (args.brush) MG.add_brush_function(args);
+ return this;
+ };
+
+ this.markers = function() {
+ markers(args);
+ if (args.least_squares) {
+ add_ls(args);
+ }
+
+ return this;
+ };
+
+ this.mainPlot = function() {
+ const svg = mg_get_svg_child_of(args.target);
+
+ const data = mg_filter_out_plot_bounds(args.data[0], args);
+ //remove the old points, add new one
+ svg.selectAll('.mg-points').remove();
+
+ const g = svg.append('g')
+ .classed('mg-points', true);
+
+ const pts = g.selectAll('circle')
+ .data(data)
+ .enter().append('circle')
+ .attr('class', (d, i) => `path-${i}`)
+ .attr('cx', args.scalefns.xoutf)
+ .attr('cy', d => args.scalefns.youtf(d));
+
+ let highlights;
+ svg.selectAll('.mg-highlight').remove();
+ if (args.highlight && mg_is_function(args.highlight)) {
+ highlights = svg.append('g')
+ .classed('mg-highlight', true)
+ .selectAll('circle')
+ .data(data.filter(args.highlight))
+ .enter().append('circle')
+ .attr('cx', args.scalefns.xoutf)
+ .attr('cy', d => args.scalefns.youtf(d));
+ }
+
+ const elements = [pts].concat(highlights ? [highlights] : []);
+ //are we coloring our points, or just using the default color?
+ if (args.color_accessor !== null) {
+ elements.forEach(e => e.attr('fill', args.scalefns.colorf).attr('stroke', args.scalefns.colorf));
+ } else {
+ elements.forEach(e => e.classed('mg-points-mono', true));
+ }
+
+ pts.attr('r', (args.size_accessor !== null) ? args.scalefns.sizef : args.point_size);
+ if (highlights) {
+ highlights.attr('r', (args.size_accessor !== null) ? (d, i) => args.scalefns.sizef(d, i) + 2 : args.point_size + 2);
+ }
+
+ return this;
+ };
+
+ this.rollover = function() {
+ const svg = mg_get_svg_child_of(args.target);
+
+ if (svg.selectAll('.mg-active-datapoint-container').nodes().length === 0) {
+ mg_add_g(svg, 'mg-active-datapoint-container');
+ }
+
+ //remove the old rollovers if they already exist
+ svg.selectAll('.mg-voronoi').remove();
+
+ //add rollover paths
+ const voronoi = d3.voronoi()
+ .x(args.scalefns.xoutf)
+ .y(args.scalefns.youtf)
+ .extent([
+ [args.buffer, args.buffer + (args.title ? args.title_y_position : 0)],
+ [args.width - args.buffer, args.height - args.buffer]
+ ]);
+
+ const paths = svg.append('g')
+ .attr('class', 'mg-voronoi');
+
+ paths.selectAll('path')
+ .data(voronoi.polygons(mg_filter_out_plot_bounds(args.data[0], args)))
+ .enter().append('path')
+ .attr('d', d => d == null ? null : `M${d.join(',')}Z`)
+ .attr('class', (d, i) => `path-${i}`)
+ .style('fill-opacity', 0)
+ .on('click', this.rolloverClick(args))
+ .on('mouseover', this.rolloverOn(args))
+ .on('mouseout', this.rolloverOff(args))
+ .on('mousemove', this.rolloverMove(args));
+
+ if (args.data[0].length === 1) {
+ point_mouseover(args, svg, args.data[0][0]);
+ }
+
+ return this;
+ };
+
+ this.rolloverClick = args => {
+ return (d, i) => {
+ if (args.click) {
+ args.click(d, i);
+ }
+ };
+ };
+
+ this.rolloverOn = args => {
+ const svg = mg_get_svg_child_of(args.target);
+
+ return (d, i) => {
+ svg.selectAll('.mg-points circle')
+ .classed('selected', false);
+
+ //highlight active point
+ const pts = svg.selectAll(`.mg-points circle.path-${i}`)
+ .classed('selected', true);
+
+ if (args.size_accessor) {
+ pts.attr('r', di => args.scalefns.sizef(di) + args.active_point_size_increase);
+ } else {
+ pts.attr('r', args.point_size + args.active_point_size_increase);
+ }
+
+ //trigger mouseover on all points for this class name in .linked charts
+ if (args.linked && !MG.globals.link) {
+ MG.globals.link = true;
+
+ //trigger mouseover on matching point in .linked charts
+ d3.selectAll(`.mg-voronoi .path-${i}`)
+ .each(() => {
+ d3.select(this).on('mouseover')(d, i);
+ });
+ }
+
+ if (args.show_rollover_text) {
+ point_mouseover(args, svg, d.data);
+ }
+
+ if (args.mouseover) {
+ args.mouseover(d, i);
+ }
+ };
+ };
+
+ this.rolloverOff = args => {
+ const svg = mg_get_svg_child_of(args.target);
+
+ return (d, i) => {
+ if (args.linked && MG.globals.link) {
+ MG.globals.link = false;
+
+ d3.selectAll(`.mg-voronoi .path-${i}`)
+ .each(() => {
+ d3.select(this).on('mouseout')(d, i);
+ });
+ }
+
+ //reset active point
+ const pts = svg.selectAll('.mg-points circle')
+ .classed('unselected', false)
+ .classed('selected', false);
+
+ if (args.size_accessor) {
+ pts.attr('r', args.scalefns.sizef);
+ } else {
+ pts.attr('r', args.point_size);
+ }
+
+ //reset active data point text
+ if (args.data[0].length > 1) mg_clear_mouseover_container(svg);
+
+ if (args.mouseout) {
+ args.mouseout(d, i);
+ }
+ };
+ };
+
+ this.rolloverMove = args => (d, i) => {
+ if (args.mousemove) {
+ args.mousemove(d, i);
+ }
+ };
+
+ this.update = function(args) {
+ return this;
+ };
+
+ this.windowListeners = function() {
+ mg_window_listeners(this.args);
+ return this;
+ };
+
+ this.init(args);
+ }
+
+ const options = {
+ color_accessor: [null, 'string'], // the data element to use to map points to colors
+ color_range: [null, 'array'], // the range used to color different groups of points
+ color_type: ['number', ['number', 'category']], // specifies whether the color scale is quantitative or qualitative
+ point_size: [2.5, 'number'], // the radius of the dots in the scatterplot
+ size_accessor: [null, 'string'], // should point sizes be mapped to data
+ size_range: [null, 'array'], // the range of point sizes
+ lowess: [false, 'boolean'], // specifies whether to show a lowess line of best-fit
+ least_squares: [false, 'boolean'], // specifies whether to show a least-squares line of best-fit
+ y_categorical_show_guides: [true, 'boolean'],
+ x_categorical_show_guides: [true, 'boolean'],
+ buffer: [16, 'string'],
+ label_accessor: [null, 'boolean'],
+ size_domain: [null, 'array'],
+ color_domain: [null, 'array'],
+ active_point_size_increase: [1, 'number'],
+ highlight: [null, 'function'] // if this callback function returns true, the selected point will be highlighted
+ };
+
+ MG.register('point', pointChart, options);
+}
diff --git a/priv/static/js/metricsgraphics/charts/table.js b/priv/static/js/metricsgraphics/charts/table.js
new file mode 100644
index 0000000..3081d8c
--- /dev/null
+++ b/priv/static/js/metricsgraphics/charts/table.js
@@ -0,0 +1,220 @@
+/*
+Data Tables
+
+Along with histograms, bars, lines, and scatters, a simple data table can take you far.
+We often just want to look at numbers, organized as a table, where columns are variables,
+and rows are data points. Sometimes we want a cell to have a small graphic as the main
+column element, in which case we want small multiples. sometimes we want to
+
+var table = New data_table(data)
+ .target('div#data-table')
+ .title({accessor: 'point_name', align: 'left'})
+ .description({accessor: 'description'})
+ .number({accessor: ''})
+
+*/
+
+MG.data_table = function(args) {
+ 'use strict';
+ this.args = args;
+ this.args.standard_col = { width: 150, font_size: 12, font_weight: 'normal' };
+ this.args.columns = [];
+ this.formatting_options = [
+ ['color', 'color'],
+ ['font-weight', 'font_weight'],
+ ['font-style', 'font_style'],
+ ['font-size', 'font_size']
+ ];
+
+ this._strip_punctuation = function(s) {
+ var punctuationless = s.replace(/[^a-zA-Z0-9 _]+/g, '');
+ var finalString = punctuationless.replace(/ +?/g, '');
+ return finalString;
+ };
+
+ this._format_element = function(element, value, args) {
+ this.formatting_options.forEach(function(fo) {
+ var attr = fo[0];
+ var key = fo[1];
+ if (args[key]) element.style(attr,
+ typeof args[key] === 'string' ||
+ typeof args[key] === 'number' ?
+ args[key] : args[key](value));
+ });
+ };
+
+ this._add_column = function(_args, arg_type) {
+ var standard_column = this.args.standard_col;
+ var args = merge_with_defaults(MG.clone(_args), MG.clone(standard_column));
+ args.type = arg_type;
+ this.args.columns.push(args);
+ };
+
+ this.target = function() {
+ var target = arguments[0];
+ this.args.target = target;
+ return this;
+ };
+
+ this.title = function() {
+ this._add_column(arguments[0], 'title');
+ return this;
+ };
+
+ this.text = function() {
+ this._add_column(arguments[0], 'text');
+ return this;
+ };
+
+ this.bullet = function() {
+ /*
+ text label
+ main value
+ comparative measure
+ any number of ranges
+
+ additional args:
+ no title
+ xmin, xmax
+ format: percentage
+ xax_formatter
+ */
+ return this;
+ };
+
+ this.sparkline = function() {
+ return this;
+ };
+
+ this.number = function() {
+ this._add_column(arguments[0], 'number');
+ return this;
+ };
+
+ this.display = function() {
+ var args = this.args;
+
+ chart_title(args);
+
+ var target = args.target;
+ var table = d3.select(target).append('table').classed('mg-data-table', true);
+ var colgroup = table.append('colgroup');
+ var thead = table.append('thead');
+ var tbody = table.append('tbody');
+ var this_column;
+ var this_title;
+
+ var tr, th, td_accessor, td_type, td_value, th_text, td_text, td;
+ var col;
+ var h;
+
+ tr = thead.append('tr');
+
+ for (h = 0; h < args.columns.length; h++) {
+ var this_col = args.columns[h];
+ td_type = this_col.type;
+ th_text = this_col.label;
+ th_text = th_text === undefined ? '' : th_text;
+ th = tr.append('th')
+ .style('width', this_col.width)
+ .style('text-align', td_type === 'title' ? 'left' : 'right')
+ .text(th_text);
+
+ if (args.show_tooltips && this_col.description && mg_jquery_exists()) {
+ th.append('i')
+ .classed('fa', true)
+ .classed('fa-question-circle', true)
+ .classed('fa-inverse', true);
+
+ $(th.node()).popover({
+ html: true,
+ animation: false,
+ content: this_col.description,
+ trigger: 'hover',
+ placement: 'top',
+ container: $(th.node())
+ });
+ }
+ }
+
+ for (h = 0; h < args.columns.length; h++) {
+ col = colgroup.append('col');
+ if (args.columns[h].type === 'number') {
+ col.attr('align', 'char').attr('char', '.');
+ }
+ }
+
+ for (var i = 0; i < args.data.length; i++) {
+ tr = tbody.append('tr');
+ for (var j = 0; j < args.columns.length; j++) {
+ this_column = args.columns[j];
+ td_accessor = this_column.accessor;
+ td_value = td_text = args.data[i][td_accessor];
+ td_type = this_column.type;
+
+ if (td_type === 'number') {
+ //td_text may need to be rounded
+ if (this_column.hasOwnProperty('round') && !this_column.hasOwnProperty('format')) {
+ // round according to the number value in this_column.round
+ td_text = d3.format('0,.' + this_column.round + 'f')(td_text);
+ }
+
+ if (this_column.hasOwnProperty('value_formatter')) {
+ // provide a function that formats the text according to the function this_column.format.
+ td_text = this_column.value_formatter(td_text);
+ }
+
+ if (this_column.hasOwnProperty('format')) {
+ // this is a shorthand for percentage formatting, and others if need be.
+ // supported: 'percentage', 'count', 'temperature'
+
+ if (this_column.round) {
+ td_text = Math.round(td_text, this_column.round);
+ }
+
+ var this_format = this_column.format;
+ var formatter;
+
+ if (this_format === 'percentage') formatter = d3.format('.0%');
+ if (this_format === 'count') formatter = d3.format(',.0f');
+ if (this_format === 'temperature') formatter = function(t) {
+ return t + '°'; };
+
+ td_text = formatter(td_text);
+ }
+
+ if (this_column.hasOwnProperty('currency')) {
+ // this is another shorthand for formatting according to a currency amount, which gets appended to front of number
+ td_text = this_column.currency + td_text;
+ }
+ }
+
+ td = tr.append('td')
+ .classed('table-' + td_type, true)
+ .classed('table-' + td_type + '-' + this._strip_punctuation(td_accessor), true)
+ .attr('data-value', td_value)
+ .style('width', this_column.width)
+ .style('text-align', td_type === 'title' || td_type === 'text' ? 'left' : 'right');
+
+ this._format_element(td, td_value, this_column);
+
+ if (td_type === 'title') {
+ this_title = td.append('div').text(td_text);
+ this._format_element(this_title, td_text, this_column);
+
+ if (args.columns[j].hasOwnProperty('secondary_accessor')) {
+ td.append('div')
+ .text(args.data[i][args.columns[j].secondary_accessor])
+ .classed("secondary-title", true);
+ }
+ } else {
+ td.text(td_text);
+ }
+ }
+ }
+
+ return this;
+ };
+
+ return this;
+};
diff --git a/priv/static/js/metricsgraphics/common/bootstrap_tooltip_popover.js b/priv/static/js/metricsgraphics/common/bootstrap_tooltip_popover.js
new file mode 100755
index 0000000..3d1d5b7
--- /dev/null
+++ b/priv/static/js/metricsgraphics/common/bootstrap_tooltip_popover.js
@@ -0,0 +1,626 @@
+if (mg_jquery_exists()) {
+ /* ========================================================================
+ * Bootstrap: tooltip.js v3.3.5
+ * http://getbootstrap.com/javascript/#tooltip
+ * Inspired by the original jQuery.tipsy by Jason Frame
+ * ========================================================================
+ * Copyright 2011-2015 Twitter, Inc.
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * ======================================================================== */
+
+
+ +function ($) {
+ 'use strict';
+
+ // TOOLTIP PUBLIC CLASS DEFINITION
+ // ===============================
+
+ var Tooltip = function (element, options) {
+ this.type = null;
+ this.options = null;
+ this.enabled = null;
+ this.timeout = null;
+ this.hoverState = null;
+ this.$element = null;
+ this.inState = null;
+
+ this.init('tooltip', element, options);
+ };
+
+ Tooltip.VERSION = '3.3.5';
+
+ Tooltip.TRANSITION_DURATION = 150;
+
+ Tooltip.DEFAULTS = {
+ animation: true,
+ placement: 'top',
+ selector: false,
+ template: '<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',
+ trigger: 'hover focus',
+ title: '',
+ delay: 0,
+ html: false,
+ container: false,
+ viewport: {
+ selector: 'body',
+ padding: 0
+ }
+ };
+
+ Tooltip.prototype.init = function (type, element, options) {
+ this.enabled = true;
+ this.type = type;
+ this.$element = $(element);
+ this.options = this.getOptions(options);
+ this.$viewport = this.options.viewport && $($.isFunction(this.options.viewport) ? this.options.viewport.call(this, this.$element) : (this.options.viewport.selector || this.options.viewport));
+ this.inState = { click: false, hover: false, focus: false };
+
+ if (this.$element[0] instanceof document.constructor && !this.options.selector) {
+ throw new Error('`selector` option must be specified when initializing ' + this.type + ' on the window.document object!');
+ }
+
+ var triggers = this.options.trigger.split(' ');
+
+ for (var i = triggers.length; i--;) {
+ var trigger = triggers[i];
+
+ if (trigger == 'click') {
+ this.$element.on('click.' + this.type, this.options.selector, $.proxy(this.toggle, this));
+ } else if (trigger != 'manual') {
+ var eventIn = trigger == 'hover' ? 'mouseenter' : 'focusin';
+ var eventOut = trigger == 'hover' ? 'mouseleave' : 'focusout';
+
+ this.$element.on(eventIn + '.' + this.type, this.options.selector, $.proxy(this.enter, this));
+ this.$element.on(eventOut + '.' + this.type, this.options.selector, $.proxy(this.leave, this));
+ }
+ }
+
+ this.options.selector ?
+ (this._options = $.extend({}, this.options, { trigger: 'manual', selector: '' })) :
+ this.fixTitle();
+ };
+
+ Tooltip.prototype.getDefaults = function () {
+ return Tooltip.DEFAULTS;
+ };
+
+ Tooltip.prototype.getOptions = function (options) {
+ options = $.extend({}, this.getDefaults(), this.$element.data(), options);
+
+ if (options.delay && typeof options.delay == 'number') {
+ options.delay = {
+ show: options.delay,
+ hide: options.delay
+ };
+ }
+
+ return options;
+ };
+
+ Tooltip.prototype.getDelegateOptions = function () {
+ var options = {};
+ var defaults = this.getDefaults();
+
+ this._options && $.each(this._options, function (key, value) {
+ if (defaults[key] != value) options[key] = value;
+ });
+
+ return options;
+ };
+
+ Tooltip.prototype.enter = function (obj) {
+ var self = obj instanceof this.constructor ?
+ obj : $(obj.currentTarget).data('bs.' + this.type);
+
+ if (!self) {
+ self = new this.constructor(obj.currentTarget, this.getDelegateOptions());
+ $(obj.currentTarget).data('bs.' + this.type, self);
+ }
+
+ if (obj instanceof $.Event) {
+ self.inState[obj.type == 'focusin' ? 'focus' : 'hover'] = true;
+ }
+
+ if (self.tip().hasClass('in') || self.hoverState == 'in') {
+ self.hoverState = 'in';
+ return;
+ }
+
+ clearTimeout(self.timeout);
+
+ self.hoverState = 'in';
+
+ if (!self.options.delay || !self.options.delay.show) return self.show();
+
+ self.timeout = setTimeout(function () {
+ if (self.hoverState == 'in') self.show();
+ }, self.options.delay.show);
+ };
+
+ Tooltip.prototype.isInStateTrue = function () {
+ for (var key in this.inState) {
+ if (this.inState[key]) return true;
+ }
+
+ return false;
+ };
+
+ Tooltip.prototype.leave = function (obj) {
+ var self = obj instanceof this.constructor ?
+ obj : $(obj.currentTarget).data('bs.' + this.type);
+
+ if (!self) {
+ self = new this.constructor(obj.currentTarget, this.getDelegateOptions());
+ $(obj.currentTarget).data('bs.' + this.type, self);
+ }
+
+ if (obj instanceof $.Event) {
+ self.inState[obj.type == 'focusout' ? 'focus' : 'hover'] = false;
+ }
+
+ if (self.isInStateTrue()) return;
+
+ clearTimeout(self.timeout);
+
+ self.hoverState = 'out';
+
+ if (!self.options.delay || !self.options.delay.hide) return self.hide();
+
+ self.timeout = setTimeout(function () {
+ if (self.hoverState == 'out') self.hide();
+ }, self.options.delay.hide);
+ };
+
+ Tooltip.prototype.show = function () {
+ var e = $.Event('show.bs.' + this.type);
+
+ if (this.hasContent() && this.enabled) {
+ this.$element.trigger(e);
+
+ var inDom = $.contains(this.$element[0].ownerDocument.documentElement, this.$element[0]);
+ if (e.isDefaultPrevented() || !inDom) return;
+ var that = this;
+
+ var $tip = this.tip();
+
+ var tipId = this.getUID(this.type);
+
+ this.setContent();
+ $tip.attr('id', tipId);
+ this.$element.attr('aria-describedby', tipId);
+
+ if (this.options.animation) $tip.addClass('fade');
+
+ var placement = typeof this.options.placement == 'function' ?
+ this.options.placement.call(this, $tip[0], this.$element[0]) :
+ this.options.placement;
+
+ var autoToken = /\s?auto?\s?/i;
+ var autoPlace = autoToken.test(placement);
+ if (autoPlace) placement = placement.replace(autoToken, '') || 'top';
+
+ $tip
+ .detach()
+ .css({ top: 0, left: 0, display: 'block' })
+ .addClass(placement)
+ .data('bs.' + this.type, this);
+
+ this.options.container ? $tip.appendTo(this.options.container) : $tip.insertAfter(this.$element);
+ this.$element.trigger('inserted.bs.' + this.type);
+
+ var pos = this.getPosition();
+ var actualWidth = $tip[0].offsetWidth;
+ var actualHeight = $tip[0].offsetHeight;
+
+ if (autoPlace) {
+ var orgPlacement = placement;
+ var viewportDim = this.getPosition(this.$viewport);
+
+ placement = placement == 'bottom' && pos.bottom + actualHeight > viewportDim.bottom ? 'top' :
+ placement == 'top' && pos.top - actualHeight < viewportDim.top ? 'bottom' :
+ placement == 'right' && pos.right + actualWidth > viewportDim.width ? 'left' :
+ placement == 'left' && pos.left - actualWidth < viewportDim.left ? 'right' :
+ placement;
+
+ $tip
+ .removeClass(orgPlacement)
+ .addClass(placement);
+ }
+
+ var calculatedOffset = this.getCalculatedOffset(placement, pos, actualWidth, actualHeight);
+
+ this.applyPlacement(calculatedOffset, placement);
+
+ var complete = function () {
+ var prevHoverState = that.hoverState;
+ that.$element.trigger('shown.bs.' + that.type);
+ that.hoverState = null;
+
+ if (prevHoverState == 'out') that.leave(that);
+ };
+
+ $.support.transition && this.$tip.hasClass('fade') ?
+ $tip
+ .one('bsTransitionEnd', complete)
+ .emulateTransitionEnd(Tooltip.TRANSITION_DURATION) :
+ complete();
+ }
+ };
+
+ Tooltip.prototype.applyPlacement = function (offset, placement) {
+ var $tip = this.tip();
+ var width = $tip[0].offsetWidth;
+ var height = $tip[0].offsetHeight;
+
+ // manually read margins because getBoundingClientRect includes difference
+ var marginTop = parseInt($tip.css('margin-top'), 10);
+ var marginLeft = parseInt($tip.css('margin-left'), 10);
+
+ // we must check for NaN for ie 8/9
+ if (isNaN(marginTop)) marginTop = 0;
+ if (isNaN(marginLeft)) marginLeft = 0;
+
+ offset.top += marginTop;
+ offset.left += marginLeft;
+
+ // $.fn.offset doesn't round pixel values
+ // so we use setOffset directly with our own function B-0
+ $.offset.setOffset($tip[0], $.extend({
+ using: function (props) {
+ $tip.css({
+ top: Math.round(props.top),
+ left: Math.round(props.left)
+ });
+ }
+ }, offset), 0);
+
+ $tip.addClass('in');
+
+ // check to see if placing tip in new offset caused the tip to resize itself
+ var actualWidth = $tip[0].offsetWidth;
+ var actualHeight = $tip[0].offsetHeight;
+
+ if (placement == 'top' && actualHeight != height) {
+ offset.top = offset.top + height - actualHeight;
+ }
+
+ var delta = this.getViewportAdjustedDelta(placement, offset, actualWidth, actualHeight);
+
+ if (delta.left) offset.left += delta.left;
+ else offset.top += delta.top;
+
+ var isVertical = /top|bottom/.test(placement);
+ var arrowDelta = isVertical ? delta.left * 2 - width + actualWidth : delta.top * 2 - height + actualHeight;
+ var arrowOffsetPosition = isVertical ? 'offsetWidth' : 'offsetHeight';
+
+ $tip.offset(offset);
+ this.replaceArrow(arrowDelta, $tip[0][arrowOffsetPosition], isVertical);
+ };
+
+ Tooltip.prototype.replaceArrow = function (delta, dimension, isVertical) {
+ this.arrow()
+ .css(isVertical ? 'left' : 'top', 50 * (1 - delta / dimension) + '%')
+ .css(isVertical ? 'top' : 'left', '');
+ };
+
+ Tooltip.prototype.setContent = function () {
+ var $tip = this.tip();
+ var title = this.getTitle();
+
+ $tip.find('.tooltip-inner')[this.options.html ? 'html' : 'text'](title);
+ $tip.removeClass('fade in top bottom left right');
+ };
+
+ Tooltip.prototype.hide = function (callback) {
+ var that = this;
+ var $tip = $(this.$tip);
+ var e = $.Event('hide.bs.' + this.type);
+
+ function complete() {
+ if (that.hoverState != 'in') $tip.detach();
+ that.$element
+ .removeAttr('aria-describedby')
+ .trigger('hidden.bs.' + that.type);
+ callback && callback();
+ }
+
+ this.$element.trigger(e);
+
+ if (e.isDefaultPrevented()) return;
+
+ $tip.removeClass('in');
+
+ $.support.transition && $tip.hasClass('fade') ?
+ $tip
+ .one('bsTransitionEnd', complete)
+ .emulateTransitionEnd(Tooltip.TRANSITION_DURATION) :
+ complete();
+
+ this.hoverState = null;
+
+ return this;
+ };
+
+ Tooltip.prototype.fixTitle = function () {
+ var $e = this.$element;
+ if ($e.attr('title') || typeof $e.attr('data-original-title') != 'string') {
+ $e.attr('data-original-title', $e.attr('title') || '').attr('title', '');
+ }
+ };
+
+ Tooltip.prototype.hasContent = function () {
+ return this.getTitle();
+ };
+
+ Tooltip.prototype.getPosition = function ($element) {
+ $element = $element || this.$element;
+
+ var el = $element[0];
+ var isBody = el.tagName == 'BODY';
+
+ var elRect = el.getBoundingClientRect();
+ if (elRect.width == null) {
+ // width and height are missing in IE8, so compute them manually; see https://github.com/twbs/bootstrap/issues/14093
+ elRect = $.extend({}, elRect, { width: elRect.right - elRect.left, height: elRect.bottom - elRect.top });
+ }
+ var elOffset = isBody ? { top: 0, left: 0 } : $element.offset();
+ var scroll = { scroll: isBody ? document.documentElement.scrollTop || document.body.scrollTop : $element.scrollTop() };
+ var outerDims = isBody ? { width: $(window).width(), height: $(window).height() } : null;
+
+ return $.extend({}, elRect, scroll, outerDims, elOffset);
+ };
+
+ Tooltip.prototype.getCalculatedOffset = function (placement, pos, actualWidth, actualHeight) {
+ return placement == 'bottom' ? { top: pos.top + pos.height, left: pos.left + pos.width / 2 - actualWidth / 2 } :
+ placement == 'top' ? { top: pos.top - actualHeight, left: pos.left + pos.width / 2 - actualWidth / 2 } :
+ placement == 'left' ? { top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left - actualWidth } :
+ /* placement == 'right' */ { top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left + pos.width };
+
+ };
+
+ Tooltip.prototype.getViewportAdjustedDelta = function (placement, pos, actualWidth, actualHeight) {
+ var delta = { top: 0, left: 0 };
+ if (!this.$viewport) return delta;
+
+ var viewportPadding = this.options.viewport && this.options.viewport.padding || 0;
+ var viewportDimensions = this.getPosition(this.$viewport);
+
+ if (/right|left/.test(placement)) {
+ var topEdgeOffset = pos.top - viewportPadding - viewportDimensions.scroll;
+ var bottomEdgeOffset = pos.top + viewportPadding - viewportDimensions.scroll + actualHeight;
+ if (topEdgeOffset < viewportDimensions.top) { // top overflow
+ delta.top = viewportDimensions.top - topEdgeOffset;
+ } else if (bottomEdgeOffset > viewportDimensions.top + viewportDimensions.height) { // bottom overflow
+ delta.top = viewportDimensions.top + viewportDimensions.height - bottomEdgeOffset;
+ }
+ } else {
+ var leftEdgeOffset = pos.left - viewportPadding;
+ var rightEdgeOffset = pos.left + viewportPadding + actualWidth;
+ if (leftEdgeOffset < viewportDimensions.left) { // left overflow
+ delta.left = viewportDimensions.left - leftEdgeOffset;
+ } else if (rightEdgeOffset > viewportDimensions.right) { // right overflow
+ delta.left = viewportDimensions.left + viewportDimensions.width - rightEdgeOffset;
+ }
+ }
+
+ return delta;
+ };
+
+ Tooltip.prototype.getTitle = function () {
+ var title;
+ var $e = this.$element;
+ var o = this.options;
+
+ title = $e.attr('data-original-title')
+ || (typeof o.title == 'function' ? o.title.call($e[0]) : o.title);
+
+ return title;
+ };
+
+ Tooltip.prototype.getUID = function (prefix) {
+ do prefix += ~~(Math.random() * 1000000);
+ while (document.getElementById(prefix));
+ return prefix;
+ };
+
+ Tooltip.prototype.tip = function () {
+ if (!this.$tip) {
+ this.$tip = $(this.options.template);
+ if (this.$tip.length != 1) {
+ throw new Error(this.type + ' `template` option must consist of exactly 1 top-level element!');
+ }
+ }
+ return this.$tip;
+ };
+
+ Tooltip.prototype.arrow = function () {
+ return (this.$arrow = this.$arrow || this.tip().find('.tooltip-arrow'));
+ };
+
+ Tooltip.prototype.enable = function () {
+ this.enabled = true;
+ };
+
+ Tooltip.prototype.disable = function () {
+ this.enabled = false;
+ };
+
+ Tooltip.prototype.toggleEnabled = function () {
+ this.enabled = !this.enabled;
+ };
+
+ Tooltip.prototype.toggle = function (e) {
+ var self = this;
+ if (e) {
+ self = $(e.currentTarget).data('bs.' + this.type);
+ if (!self) {
+ self = new this.constructor(e.currentTarget, this.getDelegateOptions());
+ $(e.currentTarget).data('bs.' + this.type, self);
+ }
+ }
+
+ if (e) {
+ self.inState.click = !self.inState.click;
+ if (self.isInStateTrue()) self.enter(self);
+ else self.leave(self);
+ } else {
+ self.tip().hasClass('in') ? self.leave(self) : self.enter(self);
+ }
+ };
+
+ Tooltip.prototype.destroy = function () {
+ var that = this;
+ clearTimeout(this.timeout);
+ this.hide(function () {
+ that.$element.off('.' + that.type).removeData('bs.' + that.type);
+ if (that.$tip) {
+ that.$tip.detach();
+ }
+ that.$tip = null;
+ that.$arrow = null;
+ that.$viewport = null;
+ });
+ };
+
+
+ // TOOLTIP PLUGIN DEFINITION
+ // =========================
+
+ function Plugin(option) {
+ return this.each(function () {
+ var $this = $(this);
+ var data = $this.data('bs.tooltip');
+ var options = typeof option == 'object' && option;
+
+ if (!data && /destroy|hide/.test(option)) return;
+ if (!data) $this.data('bs.tooltip', (data = new Tooltip(this, options)));
+ if (typeof option == 'string') data[option]();
+ });
+ }
+
+ var old = $.fn.tooltip;
+
+ $.fn.tooltip = Plugin;
+ $.fn.tooltip.Constructor = Tooltip;
+
+
+ // TOOLTIP NO CONFLICT
+ // ===================
+
+ $.fn.tooltip.noConflict = function () {
+ $.fn.tooltip = old;
+ return this;
+ };
+
+ }(jQuery);
+
+
+ /* ========================================================================
+ * Bootstrap: popover.js v3.3.5
+ * http://getbootstrap.com/javascript/#popovers
+ * ========================================================================
+ * Copyright 2011-2015 Twitter, Inc.
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * ======================================================================== */
+
+
+ +function ($) {
+ 'use strict';
+
+ // POPOVER PUBLIC CLASS DEFINITION
+ // ===============================
+
+ var Popover = function (element, options) {
+ this.init('popover', element, options);
+ };
+
+ if (!$.fn.tooltip) throw new Error('Popover requires tooltip.js');
+
+ Popover.VERSION = '3.3.5';
+
+ Popover.DEFAULTS = $.extend({}, $.fn.tooltip.Constructor.DEFAULTS, {
+ placement: 'right',
+ trigger: 'click',
+ content: '',
+ template: '<div class="popover" role="tooltip"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>'
+ });
+
+
+ // NOTE: POPOVER EXTENDS tooltip.js
+ // ================================
+
+ Popover.prototype = $.extend({}, $.fn.tooltip.Constructor.prototype);
+
+ Popover.prototype.constructor = Popover;
+
+ Popover.prototype.getDefaults = function () {
+ return Popover.DEFAULTS;
+ };
+
+ Popover.prototype.setContent = function () {
+ var $tip = this.tip();
+ var title = this.getTitle();
+ var content = this.getContent();
+
+ $tip.find('.popover-title')[this.options.html ? 'html' : 'text'](title);
+ $tip.find('.popover-content').children().detach().end()[ // we use append for html objects to maintain js events
+ this.options.html ? (typeof content == 'string' ? 'html' : 'append') : 'text'
+ ](content);
+
+ $tip.removeClass('fade top bottom left right in');
+
+ // IE8 doesn't accept hiding via the `:empty` pseudo selector, we have to do
+ // this manually by checking the contents.
+ if (!$tip.find('.popover-title').html()) $tip.find('.popover-title').hide();
+ };
+
+ Popover.prototype.hasContent = function () {
+ return this.getTitle() || this.getContent();
+ };
+
+ Popover.prototype.getContent = function () {
+ var $e = this.$element;
+ var o = this.options;
+
+ return $e.attr('data-content')
+ || (typeof o.content == 'function' ?
+ o.content.call($e[0]) :
+ o.content);
+ };
+
+ Popover.prototype.arrow = function () {
+ return (this.$arrow = this.$arrow || this.tip().find('.arrow'));
+ };
+
+
+ // POPOVER PLUGIN DEFINITION
+ // =========================
+
+ function Plugin(option) {
+ return this.each(function () {
+ var $this = $(this);
+ var data = $this.data('bs.popover');
+ var options = typeof option == 'object' && option;
+
+ if (!data && /destroy|hide/.test(option)) return;
+ if (!data) $this.data('bs.popover', (data = new Popover(this, options)));
+ if (typeof option == 'string') data[option]();
+ });
+ }
+
+ var old = $.fn.popover;
+
+ $.fn.popover = Plugin;
+ $.fn.popover.Constructor = Popover;
+
+
+ // POPOVER NO CONFLICT
+ // ===================
+
+ $.fn.popover.noConflict = function () {
+ $.fn.popover = old;
+ return this;
+ };
+
+ }(jQuery);
+}
diff --git a/priv/static/js/metricsgraphics/common/brush.js b/priv/static/js/metricsgraphics/common/brush.js
new file mode 100644
index 0000000..4a4deff
--- /dev/null
+++ b/priv/static/js/metricsgraphics/common/brush.js
@@ -0,0 +1,126 @@
+{
+
+const get_extent_rect = args => {
+ return d3.select(args.target).select('.mg-extent').size()
+ ? d3.select(args.target).select('.mg-extent')
+ : d3.select(args.target)
+ .select('.mg-rollover-rect, .mg-voronoi')
+ .insert('g', '*')
+ .classed('mg-brush', true)
+ .append('rect')
+ .classed('mg-extent', true);
+};
+
+const create_brushing_pattern = (args, range) => {
+ const x = range.x[0];
+ const width = range.x[1] - range.x[0];
+ const y = range.y[0];
+ const height = range.y[1] - range.y[0];
+ get_extent_rect(args)
+ .attr('x', x)
+ .attr('width', width)
+ .attr('y', y)
+ .attr('height', height)
+ .attr('opacity', 1);
+};
+
+const remove_brushing_pattern = args => {
+ get_extent_rect(args)
+ .attr('width', 0)
+ .attr('height', 0)
+ .attr('opacity', 0);
+};
+
+const add_event_handler_for_brush = (args, target, axis) => {
+ const svg = d3.select(args.target).select('svg');
+ const rollover = svg.select('.mg-rollover-rect, .mg-voronoi');
+ const container = rollover.node();
+ const targetUid = mg_target_ref(args.target);
+ let isDragging = false;
+ let mouseDown = false;
+ let origin = [];
+
+ const calculateSelectionRange = () => {
+ const min_x = args.left;
+ const max_x = args.width - args.right - args.buffer;
+ const min_y = args.top;
+ const max_y = args.height - args.bottom - args.buffer;
+ const mouse = d3.mouse(container);
+ const range = {};
+ range.x = axis.x ? [
+ Math.max(min_x, Math.min(origin[0], mouse[0])),
+ Math.min(max_x, Math.max(origin[0], mouse[0]))
+ ] : [min_x, max_x];
+ range.y = axis.y ? [
+ Math.max(min_y, Math.min(origin[1], mouse[1])),
+ Math.min(max_y, Math.max(origin[1], mouse[1]))
+ ] : [min_y, max_y];
+ return range;
+ };
+
+ rollover.classed('mg-brush-container', true);
+ rollover.on('mousedown.' + targetUid, () => {
+ mouseDown = true;
+ isDragging = false;
+ origin = d3.mouse(container);
+ svg.classed('mg-brushed', false);
+ svg.classed('mg-brushing-in-progress', true);
+ remove_brushing_pattern(args);
+ });
+ d3.select(document).on('mousemove.' + targetUid, () => {
+ if (mouseDown) {
+ isDragging = true;
+ rollover.classed('mg-brushing', true);
+ create_brushing_pattern(args, calculateSelectionRange());
+ }
+ });
+ d3.select(document).on('mouseup.' + targetUid, () => {
+ if (!mouseDown) return;
+ mouseDown = false;
+ svg.classed('mg-brushing-in-progress', false);
+ const range = calculateSelectionRange();
+ if (isDragging) {
+ isDragging = false;
+ if (target === args) {
+ MG.zoom_to_data_range(target, range);
+ if (args.click_to_zoom_out)
+ svg.select('.mg-rollover-rect, .mg-voronoi').classed('mg-brushed', true);
+ } else {
+ const domain = MG.convert_range_to_domain(args, range);
+ MG.zoom_to_data_domain(target, domain);
+ }
+ } else if (args.click_to_zoom_out) {
+ MG.zoom_to_raw_range(target);
+ }
+ if (mg_is_function(args.brushing_selection_changed))
+ args.brushing_selection_changed(args, range);
+ });
+};
+
+const add_brush_function = args => {
+ if (args.x_axis_type === 'categorical' || args.y_axis_type === 'categorical')
+ return console.warn('The option "brush" does not support axis type "categorical" currently.');
+ if (!args.zoom_target) args.zoom_target = args;
+ if (args.zoom_target !== args) args.zoom_target.processed.subplot = args;
+ let brush_axis;
+ switch (args.brush) {
+ case 'x':
+ brush_axis = {x: true, y: false};
+ break;
+ case 'y':
+ brush_axis = {x: false, y: true};
+ break;
+ case 'xy':
+ brush_axis = {x: true, y: true};
+ break;
+ default:
+ brush_axis = {x: true, y: true};
+ }
+ add_event_handler_for_brush(args, args.zoom_target, brush_axis);
+};
+
+MG.add_brush_function = add_brush_function;
+MG.create_brushing_pattern = create_brushing_pattern;
+MG.remove_brushing_pattern = remove_brushing_pattern;
+
+}
diff --git a/priv/static/js/metricsgraphics/common/chart_title.js b/priv/static/js/metricsgraphics/common/chart_title.js
new file mode 100644
index 0000000..b2624dd
--- /dev/null
+++ b/priv/static/js/metricsgraphics/common/chart_title.js
@@ -0,0 +1,67 @@
+function chart_title(args) {
+ 'use strict';
+
+ var svg = mg_get_svg_child_of(args.target);
+
+ //remove the current title if it exists
+ svg.select('.mg-header').remove();
+
+ if (args.target && args.title) {
+ var chartTitle = svg.insert('text')
+ .attr('class', 'mg-header')
+ .attr('x', args.center_title_full_width ? args.width /2 : (args.width + args.left - args.right) / 2)
+ .attr('y', args.title_y_position)
+ .attr('text-anchor', 'middle')
+ .attr('dy', '0.55em');
+
+ //show the title
+ chartTitle.append('tspan')
+ .attr('class', 'mg-chart-title')
+ .text(args.title);
+
+ //show and activate the description icon if we have a description
+ if (args.show_tooltips && args.description && mg_jquery_exists()) {
+ chartTitle.append('tspan')
+ .attr('class', 'mg-chart-description')
+ .attr('dx', '0.3em')
+ .text('\uf059');
+
+ //now that the title is an svg text element, we'll have to trigger
+ //mouseenter, mouseleave events manually for the popover to work properly
+ var $chartTitle = $(chartTitle.node());
+ $chartTitle.popover({
+ html: true,
+ animation: false,
+ placement: 'top',
+ content: args.description,
+ container: args.target,
+ trigger: 'manual',
+ template: '<div class="popover mg-popover"><div class="arrow"></div><div class="popover-inner"><h3 class="popover-title"></h3><div class="popover-content"><p></p></div></div></div>'
+ }).on('mouseenter', function() {
+ d3.selectAll(args.target)
+ .selectAll('.mg-popover')
+ .remove();
+
+ $(this).popover('show');
+ $(d3.select(args.target).select('.popover').node())
+ .on('mouseleave', function () {
+ $chartTitle.popover('hide');
+ });
+ }).on('mouseleave', function () {
+ setTimeout(function () {
+ if (!$('.popover:hover').length) {
+ $chartTitle.popover('hide');
+ }
+ }, 120);
+ });
+ } else if (args.show_tooltips && args.description && typeof $ === 'undefined') {
+ args.error = 'In order to enable tooltips, please make sure you include jQuery.';
+ }
+ }
+
+ if (args.error) {
+ error(args);
+ }
+}
+
+MG.chart_title = chart_title;
diff --git a/priv/static/js/metricsgraphics/common/data_graphic.js b/priv/static/js/metricsgraphics/common/data_graphic.js
new file mode 100644
index 0000000..517b3fa
--- /dev/null
+++ b/priv/static/js/metricsgraphics/common/data_graphic.js
@@ -0,0 +1,205 @@
+MG.globals = {};
+MG.deprecations = {
+ rollover_callback: { replacement: 'mouseover', version: '2.0' },
+ rollout_callback: { replacement: 'mouseout', version: '2.0' },
+ x_rollover_format: { replacement: 'x_mouseover', version: '2.10' },
+ y_rollover_format: { replacement: 'y_mouseover', version: '2.10' },
+ show_years: { replacement: 'show_secondary_x_label', version: '2.1' },
+ xax_start_at_min: { replacement: 'axes_not_compact', version: '2.7' },
+ interpolate_tension: { replacement: 'interpolate', version: '2.10' }
+};
+MG.globals.link = false;
+MG.globals.version = "1.1";
+
+MG.options = { // <name>: [<defaultValue>, <availableType>]
+ x_axis_type: [null, ['categorical']], // TO BE INTRODUCED IN 2.10
+ y_axis_type: [null, ['categorical']], // TO BE INTRODUCED IN 2.10
+ y_padding_percentage: [0.05, 'number'], // for categorical scales
+ y_outer_padding_percentage: [0.1, 'number'], // for categorical scales
+ ygroup_padding_percentage: [0.25, 'number'], // for categorical scales
+ ygroup_outer_padding_percentage: [0, 'number'], // for categorical scales
+ x_padding_percentage: [0.05, 'number'], // for categorical scales
+ x_outer_padding_percentage: [0.1, 'number'], // for categorical scales
+ xgroup_padding_percentage: [0.25, 'number'], // for categorical scales
+ xgroup_outer_padding_percentage: [0, 'number'], // for categorical scales
+ ygroup_accessor: [null, 'string'],
+ xgroup_accessor: [null, 'string'],
+ y_categorical_show_guides: [false, 'boolean'],
+ x_categorical_show_guide: [false, 'boolean'],
+ rotate_x_labels: [0, 'number'],
+ rotate_y_labels: [0, 'number'],
+ scales: [{}],
+ scalefns: [{}],
+ // Data
+ data: [[], ['object[]', 'number[]']], // the data object
+ missing_is_zero: [false, 'boolean'], // assume missing observations are zero
+ missing_is_hidden: [false, 'boolean'], // show missing observations as missing line segments
+ missing_is_hidden_accessor: [null, 'string'], // the accessor for identifying observations as missing
+ utc_time: [false, 'boolean'], // determines whether to use a UTC or local time scale
+ x_accessor: ['date', 'string'], // the data element that's the x-accessor
+ x_sort: [true, 'boolean'], // determines whether to sort the x-axis' values
+ y_accessor: ['value', ['string', 'string[]']], // the data element that's the y-accessor
+ // Axes
+ axes_not_compact: [true, 'boolean'], // determines whether to draw compact or non-compact axes
+ european_clock: [false, 'boolean'], // determines whether to show labels using a 24-hour clock
+ inflator: [10/9, 'number'], // a multiplier for inflating max_x and max_y
+ max_x: [null, ['number', Date]], // the maximum x-value
+ max_y: [null, ['number', Date]], // the maximum y-value
+ min_x: [null, ['number', Date]], // the minimum x-value
+ min_y: [null, ['number', Date]], // the minimum y-value
+ min_y_from_data: [false, 'boolean'], // starts y-axis at data's minimum value
+ show_year_markers: [false, 'boolean'], // determines whether to show year markers along the x-axis
+ show_secondary_x_label: [true, 'boolean'], // determines whether to show years along the x-axis
+ small_text: [false, 'boolean'],
+ x_extended_ticks: [false, 'boolean'], // determines whether to extend the x-axis ticks across the chart
+ x_axis: [true, 'boolean'], // determines whether to display the x-axis
+ x_label: ['', 'string'], // the label to show below the x-axis
+ xax_count: [6, 'number'], // the number of x-axis ticks
+ xax_format: [null, 'function'], // a function that formats the x-axis' labels
+ xax_tick_length: [5, 'number'], // the x-axis' tick length in pixels
+ xax_units: ['', 'string'], // a prefix symbol to be shown alongside the x-axis' labels
+ x_scale_type: ['linear', 'log'], // the x-axis scale type
+ y_axis: [true, 'boolean'], // determines whether to display the y-axis
+ x_axis_position: ['bottom'], // string
+ y_axis_position: ['left'], // string
+ y_extended_ticks: [false, 'boolean'], // determines whether to extend the y-axis ticks across the chart
+ y_label: ['', 'string'], // the label to show beside the y-axis
+ y_scale_type: ['linear', ['linear', 'log']], // the y-axis scale type
+ yax_count: [3, 'number'], // the number of y-axis ticks
+ yax_format: [null, 'function'], // a function that formats the y-axis' labels
+ yax_tick_length: [5, 'number'], // the y-axis' tick length in pixels
+ yax_units: ['', 'string'], // a prefix symbol to be shown alongside the y-axis' labels
+ yax_units_append: [false, 'boolean'], // determines whether to append rather than prepend units
+ // GraphicOptions
+ aggregate_rollover: [false, 'boolean'], // links the lines in a multi-line graphic
+ animate_on_load: [false, 'boolean'], // determines whether lines are transitioned on first-load
+ area: [true, ['boolean', 'array']], // determines whether to fill the area below the line
+ flip_area_under_y_value: [null, 'number'], // Specify a Y baseline number value to flip area under it
+ baselines: [null, 'object[]'], // horizontal lines that indicate, say, goals.
+ chart_type: ['line', ['line', 'histogram', 'point', 'bar', 'missing-data']], // '{line, histogram, point, bar, missing-data}'],
+ color: [null, ['string', 'string[]']],
+ colors: [null, ['string', 'string[]']],
+ custom_line_color_map: [[], 'number[]'], // maps an arbitrary set of lines to colors
+ decimals: [2, 'number'], // the number of decimals to show in a rollover
+ error: ['', 'string'], // does the graphic have an error that we want to communicate to users
+ format: ['count', ['count', 'percentage']], // the format of the data object (count or percentage)
+ full_height: [false, 'boolean'], // sets height to that of the parent, adjusts dimensions on window resize
+ full_width: [false, 'boolean'], // sets width to that of the parent, adjusts dimensions on window resize
+ interpolate: [d3.curveCatmullRom.alpha(0), [d3.curveBasisClosed, d3.curveBasisOpen, d3.curveBasis, d3.curveBundle, d3.curveCardinalClosed, d3.curveCardinalOpen, d3.curveCardinal, d3.curveCatmullRomClosed, d3.curveCatmullRomOpen, d3.curveLinearClosed, d3.curveLinear, d3.curveMonotoneX, d3.curveMonotoneY, d3.curveNatural, d3.curveStep, d3.curveStepAfter, d3.curveStepBefore]], // the interpolation function to use for rendering lines
+ legend: ['', 'string[]'], // an array of literals used to label lines
+ legend_target: ['', 'string'], // the DOM element to insert the legend in
+ linked: [false, 'boolean'], // used to link multiple graphics together
+ linked_format: ['%Y-%m-%d', 'string'], // specifies the format of linked rollovers
+ list: [false, 'boolean'], // automatically maps the data to x and y accessors
+ markers: [null, 'object[]'], // vertical lines that indicate, say, milestones
+ max_data_size: [null, 'number'], // for use with custom_line_color_map
+ missing_text: [null, 'string'], // The text to display for missing graphics
+ show_missing_background: [true, 'boolean'], // Displays a background for missing graphics
+ mousemove_align: ['right', 'string'], // implemented in point.js
+ x_mouseover: [null, ['string', 'function']],
+ y_mouseover: [null, ['string', 'function']],
+ mouseover: [null, 'function'], // custom rollover function
+ mousemove: [null, 'function'], // custom rollover function
+ mouseout: [null, 'function'], // custom rollover function
+ click: [null, 'function'],
+ point_size: [2.5, 'number'], // the radius of the dots in the scatterplot
+ active_point_on_lines: [false, 'boolean'], // if set, active dot on lines will be displayed.
+ active_point_accessor: ['active', 'string'], // data accessor value to determine if a point is active or not
+ active_point_size: [2, 'number'], // the size of the dot that appears on a line when
+ points_always_visible: [false, 'boolean'], // whether to always display data points and not just on hover
+ rollover_time_format: [null, 'string'], // custom time format for rollovers
+ show_confidence_band: [null, 'string[]'], // determines whether to show a confidence band
+ show_rollover_text: [true, 'boolean'], // determines whether to show text for a data point on rollover
+ show_tooltips: [true, 'boolean'], // determines whether to display descriptions in tooltips
+ showActivePoint: [true, 'boolean'], // If enabled show active data point information in chart
+ target: ['#viz', ['string', HTMLElement]], // the DOM element to insert the graphic in
+ transition_on_update: [true, 'boolean'], // gracefully transitions the lines on data change
+ x_rug: [false, 'boolean'], // show a rug plot along the x-axis
+ y_rug: [false, 'boolean'], // show a rug plot along the y-axis
+ mouseover_align: ['right', ['right', 'left']],
+ brush: [null, ['xy','x','y']], // add brush function
+ brushing_selection_changed: [null, 'function'], // callback function on brushing. the first parameter are the arguments that correspond to this chart, the second parameter is the range of the selection
+ zoom_target: [null, 'object'], // the zooming target of brushing function
+ click_to_zoom_out: [true, 'boolean'], // if true and the graph is currently zoomed in, clicking on the graph will zoom out
+ // Layout
+ buffer: [8, 'number'], // the padding around the graphic
+ bottom: [45, 'number'], // the size of the bottom margin
+ center_title_full_width: [false, 'boolean'], // center title over entire graph
+ height: [220, 'number'], // the graphic's height
+ left: [50, 'number'], // the size of the left margin
+ right: [10, 'number'], // the size of the right margin
+ small_height_threshold: [120, 'number'], // maximum height for a small graphic
+ small_width_threshold: [160, 'number'], // maximum width for a small graphic
+ top: [65, 'number'], // the size of the top margin
+ width: [350, 'number'], // the graphic's width
+ title_y_position: [10, 'number'], // how many pixels from the top edge (0) should we show the title at
+ title: [null, 'string'],
+ description: [null, 'string']
+};
+
+MG.charts = {};
+
+MG.defaults = options_to_defaults(MG.options);
+
+MG.data_graphic = function(args) {
+ 'use strict';
+
+ MG.call_hook('global.defaults', MG.defaults);
+
+ if (!args) { args = {}; }
+
+ for (let key in args) {
+ if (!mg_validate_option(key, args[key])) {
+ if (!(key in MG.options)) {
+ console.warn(`Option ${key} not recognized`);
+ } else {
+ console.warn(`Option ${key} expected type ${MG.options[key][1]} but got ${args[key]} instead`);
+ }
+ }
+ }
+
+ var selected_chart = MG.charts[args.chart_type || MG.defaults.chart_type];
+ merge_with_defaults(args, selected_chart.defaults, MG.defaults);
+
+ if (args.list) {
+ args.x_accessor = 0;
+ args.y_accessor = 1;
+ }
+
+ // check for deprecated parameters
+ for (var key in MG.deprecations) {
+ if (args.hasOwnProperty(key)) {
+ var deprecation = MG.deprecations[key],
+ message = 'Use of `args.' + key + '` has been deprecated',
+ replacement = deprecation.replacement,
+ version;
+
+ // transparently alias the deprecated
+ if (replacement) {
+ if (args[replacement]) {
+ message += '. The replacement - `args.' + replacement + '` - has already been defined. This definition will be discarded.';
+ } else {
+ args[replacement] = args[key];
+ }
+ }
+
+ if (deprecation.warned) {
+ continue;
+ }
+
+ deprecation.warned = true;
+
+ if (replacement) {
+ message += ' in favor of `args.' + replacement + '`';
+ }
+
+ warn_deprecation(message, deprecation.version);
+ }
+ }
+
+ MG.call_hook('global.before_init', args);
+
+ new selected_chart.descriptor(args);
+
+ return args.data;
+};
diff --git a/priv/static/js/metricsgraphics/common/hooks.js b/priv/static/js/metricsgraphics/common/hooks.js
new file mode 100644
index 0000000..5f2adb5
--- /dev/null
+++ b/priv/static/js/metricsgraphics/common/hooks.js
@@ -0,0 +1,63 @@
+/**
+ Record of all registered hooks.
+ For internal use only.
+*/
+MG._hooks = {};
+
+/**
+ Add a hook callthrough to the stack.
+
+ Hooks are executed in the order that they were registered.
+*/
+MG.add_hook = function(name, func, context) {
+ var hooks;
+
+ if (!MG._hooks[name]) {
+ MG._hooks[name] = [];
+ }
+
+ hooks = MG._hooks[name];
+
+ var already_registered =
+ hooks.filter(function(hook) {
+ return hook.func === func;
+ })
+ .length > 0;
+
+ if (already_registered) {
+ throw 'That function is already registered.';
+ }
+
+ hooks.push({
+ func: func,
+ context: context
+ });
+};
+
+/**
+ Execute registered hooks.
+
+ Optional arguments
+*/
+MG.call_hook = function(name) {
+ var hooks = MG._hooks[name],
+ result = [].slice.apply(arguments, [1]),
+ processed;
+
+ if (hooks) {
+ hooks.forEach(function(hook) {
+ if (hook.func) {
+ var params = processed || result;
+
+ if (params && params.constructor !== Array) {
+ params = [params];
+ }
+
+ params = [].concat.apply([], params);
+ processed = hook.func.apply(hook.context, params);
+ }
+ });
+ }
+
+ return processed || result;
+};
diff --git a/priv/static/js/metricsgraphics/common/init.js b/priv/static/js/metricsgraphics/common/init.js
new file mode 100644
index 0000000..4b43e48
--- /dev/null
+++ b/priv/static/js/metricsgraphics/common/init.js
@@ -0,0 +1,273 @@
+function mg_merge_args_with_defaults(args) {
+ var defaults = {
+ target: null,
+ title: null,
+ description: null
+ };
+
+ if (!args) {
+ args = {};
+ }
+
+ if (!args.processed) {
+ args.processed = {};
+ }
+
+ args = merge_with_defaults(args, defaults);
+ return args;
+}
+
+function mg_is_time_series(args) {
+ var first_elem = mg_flatten_array(args.processed.original_data || args.data)[0];
+ args.time_series = mg_is_date(first_elem[args.processed.original_x_accessor || args.x_accessor]);
+}
+
+function mg_init_compute_width(args) {
+ var svg_width = parseInt(args.width);
+ if (args.full_width) {
+ svg_width = get_width(args.target);
+ }
+ if (args.x_axis_type === 'categorical' && svg_width === null) {
+ svg_width = mg_categorical_calculate_height(args, 'x');
+ }
+
+ args.width = svg_width;
+}
+
+function mg_init_compute_height(args) {
+ var svg_height = parseInt(args.height);
+ if (args.full_height) {
+ svg_height = get_height(args.target);
+ }
+ if (args.y_axis_type === 'categorical' && svg_height === null) {
+ svg_height = mg_categorical_calculate_height(args, 'y');
+ }
+
+ args.height = svg_height;
+}
+
+function mg_remove_svg_if_chart_type_has_changed(svg, args) {
+ if ((!svg.selectAll('.mg-main-line').empty() && args.chart_type !== 'line') ||
+ (!svg.selectAll('.mg-points').empty() && args.chart_type !== 'point') ||
+ (!svg.selectAll('.mg-histogram').empty() && args.chart_type !== 'histogram') ||
+ (!svg.selectAll('.mg-barplot').empty() && args.chart_type !== 'bar')
+ ) {
+ svg.remove();
+ }
+}
+
+function mg_add_svg_if_it_doesnt_exist(svg, args) {
+ if (mg_get_svg_child_of(args.target).empty()) {
+ svg = d3.select(args.target)
+ .append('svg')
+ .classed('linked', args.linked)
+ .attr('width', args.width)
+ .attr('height', args.height);
+ }
+ return svg;
+}
+
+function mg_add_clip_path_for_plot_area(svg, args) {
+ svg.selectAll('.mg-clip-path').remove();
+ svg.append('defs')
+ .attr('class', 'mg-clip-path')
+ .append('clipPath')
+ .attr('id', 'mg-plot-window-' + mg_target_ref(args.target))
+ .append('svg:rect')
+ .attr('x', mg_get_left(args))
+ .attr('y', mg_get_top(args))
+ .attr('width', args.width - args.left - args.right - args.buffer)
+ .attr('height', args.height - args.top - args.bottom - args.buffer + 1);
+}
+
+function mg_adjust_width_and_height_if_changed(svg, args) {
+ if (args.width !== Number(svg.attr('width'))) {
+ svg.attr('width', args.width);
+ }
+ if (args.height !== Number(svg.attr('height'))) {
+ svg.attr('height', args.height);
+ }
+}
+
+function mg_set_viewbox_for_scaling(svg, args) {
+ // we need to reconsider how we handle automatic scaling
+ svg.attr('viewBox', '0 0 ' + args.width + ' ' + args.height);
+ if (args.full_width || args.full_height) {
+ svg.attr('preserveAspectRatio', 'xMinYMin meet');
+ }
+}
+
+function mg_remove_missing_classes_and_text(svg) {
+ // remove missing class
+ svg.classed('mg-missing', false);
+
+ // remove missing text
+ svg.selectAll('.mg-missing-text').remove();
+ svg.selectAll('.mg-missing-pane').remove();
+}
+
+function mg_remove_outdated_lines(svg, args) {
+ // if we're updating an existing chart and we have fewer lines than
+ // before, remove the outdated lines, e.g. if we had 3 lines, and we're calling
+ // data_graphic() on the same target with 2 lines, remove the 3rd line
+
+ var i = 0;
+
+ if (svg.selectAll('.mg-main-line').nodes().length >= args.data.length) {
+ // now, the thing is we can't just remove, say, line3 if we have a custom
+ // line-color map, instead, see which are the lines to be removed, and delete those
+ if (args.custom_line_color_map.length > 0) {
+ var array_full_series = function(len) {
+ var arr = new Array(len);
+ for (var i = 0; i < arr.length; i++) { arr[i] = i + 1; }
+ return arr;
+ };
+
+ // get an array of lines ids to remove
+ var lines_to_remove = arr_diff(
+ array_full_series(args.max_data_size),
+ args.custom_line_color_map);
+
+ for (i = 0; i < lines_to_remove.length; i++) {
+ svg.selectAll('.mg-main-line.mg-line' + lines_to_remove[i] + '-color')
+ .remove();
+ }
+ } else {
+ // if we don't have a custom line-color map, just remove the lines from the end
+ var num_of_new = args.data.length;
+ var num_of_existing = (svg.selectAll('.mg-main-line').nodes()) ? svg.selectAll('.mg-main-line').nodes().length : 0;
+
+ for (i = num_of_existing; i > num_of_new; i--) {
+ svg.selectAll('.mg-main-line.mg-line' + i + '-color')
+ .remove();
+ }
+ }
+ }
+}
+
+function mg_raise_container_error(container, args) {
+ if (container.empty()) {
+ console.warn('The specified target element "' + args.target + '" could not be found in the page. The chart will not be rendered.');
+ return;
+ }
+}
+
+function categoricalInitialization(args, ns) {
+ var which = ns === 'x' ? args.width : args.height;
+ mg_categorical_count_number_of_groups(args, ns);
+ mg_categorical_count_number_of_lanes(args, ns);
+ mg_categorical_calculate_group_length(args, ns, which);
+ if (which) mg_categorical_calculate_bar_thickness(args, ns);
+}
+
+function selectXaxFormat(args) {
+ var c = args.chart_type;
+ if (!args.processed.xax_format) {
+ if (args.xax_format) {
+ args.processed.xax_format = args.xax_format;
+ } else {
+ if (c === 'line' || c === 'point' || c === 'histogram') {
+ args.processed.xax_format = mg_default_xax_format(args);
+ } else if (c === 'bar') {
+ args.processed.xax_format = mg_default_bar_xax_format(args);
+ }
+ }
+ }
+}
+
+function mg_categorical_count_number_of_groups(args, ns) {
+ var accessor_string = ns + 'group_accessor';
+ var accessor = args[accessor_string];
+ args.categorical_groups = [];
+ if (accessor) {
+ var data = args.data[0];
+ args.categorical_groups = d3.set(data.map(function(d) {
+ return d[accessor]; })).values();
+ }
+}
+
+function mg_categorical_count_number_of_lanes(args, ns) {
+ var accessor_string = ns + 'group_accessor';
+ var groupAccessor = args[accessor_string];
+
+ args.total_bars = args.data[0].length;
+ if (groupAccessor) {
+ var group_bars = count_array_elements(pluck(args.data[0], groupAccessor));
+ group_bars = d3.max(Object.keys(group_bars).map(function(d) {
+ return group_bars[d]; }));
+ args.bars_per_group = group_bars;
+ } else {
+ args.bars_per_group = args.data[0].length;
+ }
+}
+
+function mg_categorical_calculate_group_length(args, ns, which) {
+ var groupHeight = ns + 'group_height';
+ if (which) {
+ var gh = ns === 'y' ?
+ (args.height - args.top - args.bottom - args.buffer * 2) / (args.categorical_groups.length || 1) :
+ (args.width - args.left - args.right - args.buffer * 2) / (args.categorical_groups.length || 1);
+
+ args[groupHeight] = gh;
+ } else {
+ var step = (1 + args[ns + '_padding_percentage']) * args.bar_thickness;
+ args[groupHeight] = args.bars_per_group * step + args[ns + '_outer_padding_percentage'] * 2 * step; //args.bar_thickness + (((args.bars_per_group-1) * args.bar_thickness) * (args.bar_padding_percentage + args.bar_outer_padding_percentage*2));
+ }
+}
+
+function mg_categorical_calculate_bar_thickness(args, ns) {
+ // take one group height.
+ var step = (args[ns + 'group_height']) / (args.bars_per_group + args[ns + '_outer_padding_percentage']);
+ args.bar_thickness = step - (step * args[ns + '_padding_percentage']);
+}
+
+function mg_categorical_calculate_height(args, ns) {
+ var groupContribution = (args[ns + 'group_height']) * (args.categorical_groups.length || 1);
+
+ var marginContribution = ns === 'y'
+ ? args.top + args.bottom + args.buffer * 2
+ : args.left + args.right + args.buffer * 2;
+
+ return groupContribution + marginContribution +
+ (args.categorical_groups.length * args[ns + 'group_height'] * (args[ns + 'group_padding_percentage'] + args[ns + 'group_outer_padding_percentage']));
+}
+
+function mg_barchart_extrapolate_group_and_thickness_from_height(args) {
+ // we need to set args.bar_thickness, group_height
+}
+
+function init(args) {
+ 'use strict';
+ args = arguments[0];
+ args = mg_merge_args_with_defaults(args);
+ // If you pass in a dom element for args.target, the expectation
+ // of a string elsewhere will break.
+ var container = d3.select(args.target);
+ mg_raise_container_error(container, args);
+
+ var svg = container.selectAll('svg');
+
+ // some things that will need to be calculated if we have a categorical axis.
+ if (args.y_axis_type === 'categorical') { categoricalInitialization(args, 'y'); }
+ if (args.x_axis_type === 'categorical') { categoricalInitialization(args, 'x'); }
+
+ selectXaxFormat(args);
+
+ mg_is_time_series(args);
+ mg_init_compute_width(args);
+ mg_init_compute_height(args);
+
+ mg_remove_svg_if_chart_type_has_changed(svg, args);
+ svg = mg_add_svg_if_it_doesnt_exist(svg, args);
+
+ mg_add_clip_path_for_plot_area(svg, args);
+ mg_adjust_width_and_height_if_changed(svg, args);
+ mg_set_viewbox_for_scaling(svg, args);
+ mg_remove_missing_classes_and_text(svg);
+ chart_title(args);
+ mg_remove_outdated_lines(svg, args);
+
+ return this;
+}
+
+MG.init = init;
diff --git a/priv/static/js/metricsgraphics/common/markers.js b/priv/static/js/metricsgraphics/common/markers.js
new file mode 100644
index 0000000..4371282
--- /dev/null
+++ b/priv/static/js/metricsgraphics/common/markers.js
@@ -0,0 +1,132 @@
+function mg_return_label(d) {
+ return d.label;
+}
+
+function mg_remove_existing_markers(svg) {
+ svg.selectAll('.mg-markers').remove();
+ svg.selectAll('.mg-baselines').remove();
+}
+
+function mg_in_range(args) {
+ return function(d) {
+ return (args.scales.X(d[args.x_accessor]) >= mg_get_plot_left(args)) && (args.scales.X(d[args.x_accessor]) <= mg_get_plot_right(args));
+ };
+}
+
+function mg_x_position(args) {
+ return function(d) {
+ return args.scales.X(d[args.x_accessor]);
+ };
+}
+
+function mg_x_position_fixed(args) {
+ var _mg_x_pos = mg_x_position(args);
+ return function(d) {
+ return _mg_x_pos(d).toFixed(2);
+ };
+}
+
+function mg_y_position_fixed(args) {
+ var _mg_y_pos = args.scales.Y;
+ return function(d) {
+ return _mg_y_pos(d.value).toFixed(2);
+ };
+}
+
+function mg_place_annotations(checker, class_name, args, svg, line_fcn, text_fcn) {
+ var g;
+ if (checker) {
+ g = svg.append('g').attr('class', class_name);
+ line_fcn(g, args);
+ text_fcn(g, args);
+ }
+}
+
+function mg_place_markers(args, svg) {
+ mg_place_annotations(args.markers, 'mg-markers', args, svg, mg_place_marker_lines, mg_place_marker_text);
+}
+
+function mg_place_baselines(args, svg) {
+ mg_place_annotations(args.baselines, 'mg-baselines', args, svg, mg_place_baseline_lines, mg_place_baseline_text);
+}
+
+function mg_place_marker_lines(gm, args) {
+ var x_pos_fixed = mg_x_position_fixed(args);
+ gm.selectAll('.mg-markers')
+ .data(args.markers.filter(mg_in_range(args)))
+ .enter()
+ .append('line')
+ .attr('x1', x_pos_fixed)
+ .attr('x2', x_pos_fixed)
+ .attr('y1', args.top)
+ .attr('y2', mg_get_plot_bottom(args))
+ .attr('class', function(d) {
+ return d.lineclass;
+ })
+ .attr('stroke-dasharray', '3,1');
+}
+
+function mg_place_marker_text(gm, args) {
+ gm.selectAll('.mg-markers')
+ .data(args.markers.filter(mg_in_range(args)))
+ .enter()
+ .append('text')
+ .attr('class', function(d) {
+ return d.textclass || ''; })
+ .classed('mg-marker-text', true)
+ .attr('x', mg_x_position(args))
+ .attr('y', args.x_axis_position === 'bottom' ? mg_get_top(args) * 0.95 : mg_get_bottom(args) + args.buffer)
+ .attr('text-anchor', 'middle')
+ .text(mg_return_label)
+ .each(function(d) {
+ if (d.click) {
+ d3.select(this).style('cursor', 'pointer')
+ .on('click', d.click);
+ }
+ if (d.mouseover) {
+ d3.select(this).style('cursor', 'pointer')
+ .on('mouseover', d.mouseover);
+ }
+ if (d.mouseout) {
+ d3.select(this).style('cursor', 'pointer')
+ .on('mouseout', d.mouseout);
+ }
+ });
+
+ mg_prevent_horizontal_overlap(gm.selectAll('.mg-marker-text').nodes(), args);
+}
+
+function mg_place_baseline_lines(gb, args) {
+ var y_pos = mg_y_position_fixed(args);
+ gb.selectAll('.mg-baselines')
+ .data(args.baselines)
+ .enter().append('line')
+ .attr('x1', mg_get_plot_left(args))
+ .attr('x2', mg_get_plot_right(args))
+ .attr('y1', y_pos)
+ .attr('y2', y_pos);
+}
+
+function mg_place_baseline_text(gb, args) {
+ var y_pos = mg_y_position_fixed(args);
+ gb.selectAll('.mg-baselines')
+ .data(args.baselines)
+ .enter().append('text')
+ .attr('x', mg_get_plot_right(args))
+ .attr('y', y_pos)
+ .attr('dy', -3)
+ .attr('text-anchor', 'end')
+ .text(mg_return_label);
+}
+
+function markers(args) {
+ 'use strict';
+
+ var svg = mg_get_svg_child_of(args.target);
+ mg_remove_existing_markers(svg);
+ mg_place_markers(args, svg);
+ mg_place_baselines(args, svg);
+ return this;
+}
+
+MG.markers = markers;
diff --git a/priv/static/js/metricsgraphics/common/register.js b/priv/static/js/metricsgraphics/common/register.js
new file mode 100644
index 0000000..032736f
--- /dev/null
+++ b/priv/static/js/metricsgraphics/common/register.js
@@ -0,0 +1,16 @@
+function register(chartType, descriptor, options) {
+ const defaults = options ? options_to_defaults(options) : {};
+ MG.charts[chartType] = {
+ descriptor: descriptor,
+ defaults: defaults,
+ };
+ if (options) {
+ Object.keys(options).map(key => {
+ if (!(key in MG.options)) {
+ MG.options[key] = options[key];
+ }
+ });
+ }
+}
+
+MG.register = register;
diff --git a/priv/static/js/metricsgraphics/common/rollover.js b/priv/static/js/metricsgraphics/common/rollover.js
new file mode 100644
index 0000000..c462d98
--- /dev/null
+++ b/priv/static/js/metricsgraphics/common/rollover.js
@@ -0,0 +1,98 @@
+function mg_clear_mouseover_container(svg) {
+ svg.selectAll('.mg-active-datapoint-container').selectAll('*').remove();
+}
+
+function mg_setup_mouseover_container(svg, args) {
+ svg.select('.mg-active-datapoint').remove();
+ var text_anchor = args.mouseover_align === 'right'
+ ? 'end'
+ : (args.mouseover_align === 'left'
+ ? 'start'
+ : 'middle');
+
+ var mouseover_x = (args.mouseover_align === 'right')
+ ? mg_get_plot_right(args)
+ : (args.mouseover_align === 'left'
+ ? mg_get_plot_left(args)
+ : (args.width - args.left - args.right) / 2 + args.left);
+
+ var active_datapoint = svg.select('.mg-active-datapoint-container')
+ .attr('transform', 'translate(0 -18)')
+ .append('text')
+ .attr('class', 'mg-active-datapoint')
+ .attr('xml:space', 'preserve')
+ .attr('text-anchor', text_anchor);
+
+ // set the rollover text's position; if we have markers on two lines,
+ // nudge up the rollover text a bit
+ var active_datapoint_y_nudge = 0.75;
+
+ var y_position = (args.x_axis_position === 'bottom')
+ ? mg_get_top(args) * active_datapoint_y_nudge
+ : mg_get_bottom(args) + args.buffer * 3;
+
+ if (args.markers) {
+ var yPos;
+ svg.selectAll('.mg-marker-text')
+ .each(function() {
+ if (!yPos) {
+ yPos = d3.select(this).attr('y');
+ } else if (yPos !== d3.select(this).attr('y')) {
+ active_datapoint_y_nudge = 0.56;
+ }
+ });
+ }
+
+ active_datapoint
+ .attr('transform', 'translate(' + mouseover_x + ',' + (y_position) + ')');
+}
+
+function mg_mouseover_tspan(svg, text) {
+ let tspan = svg.append('tspan').text(text);
+
+ return {
+ bold: () => tspan.attr('font-weight', 'bold'),
+ font_size: (pts) => tspan.attr('font-size', pts),
+ x: (x) => tspan.attr('x', x),
+ y: (y) => tspan.attr('y', y),
+ elem: tspan
+ };
+}
+
+function mg_reset_text_container(svg) {
+ var textContainer = svg.select('.mg-active-datapoint');
+ textContainer
+ .selectAll('*')
+ .remove();
+ return textContainer;
+}
+
+function mg_mouseover_row(row_number, container, rargs) {
+ var lineHeight = 1.1;
+ var rrr = container.append('tspan')
+ .attr('x', 0)
+ .attr('y', (row_number * lineHeight) + 'em');
+
+ return {
+ rargs,
+ text: (text) => {
+ return mg_mouseover_tspan(rrr, text);
+ }
+ };
+}
+
+function mg_mouseover_text(args, rargs) {
+ mg_setup_mouseover_container(rargs.svg, args);
+
+ let mouseOver = {
+ row_number: 0,
+ rargs,
+ mouseover_row: (rargs) => {
+ mouseOver.row_number += 1;
+ return mg_mouseover_row(mouseOver.row_number, mouseOver.text_container, rargs);
+ },
+ text_container: mg_reset_text_container(rargs.svg)
+ };
+
+ return mouseOver;
+}
diff --git a/priv/static/js/metricsgraphics/common/scales.js b/priv/static/js/metricsgraphics/common/scales.js
new file mode 100644
index 0000000..4e76285
--- /dev/null
+++ b/priv/static/js/metricsgraphics/common/scales.js
@@ -0,0 +1,340 @@
+function mg_add_scale_function(args, scalefcn_name, scale, accessor, inflation) {
+ args.scalefns[scalefcn_name] = function(di) {
+ if (inflation === undefined) return args.scales[scale](di[accessor]);
+ else return args.scales[scale](di[accessor]) + inflation;
+ };
+}
+
+function mg_position(str, args) {
+ if (str === 'bottom' || str === 'top') {
+ return [mg_get_plot_left(args), mg_get_plot_right(args)];
+ }
+
+ if (str === 'left' || str === 'right') {
+ return [mg_get_plot_bottom(args), args.top];
+ }
+}
+
+function mg_cat_position(str, args) {
+ if (str === 'bottom' || str === 'top') {
+ return [mg_get_plot_left(args), mg_get_plot_right(args)];
+ }
+
+ if (str === 'left' || str === 'right') {
+ return [mg_get_plot_bottom(args), mg_get_plot_top(args)];
+ }
+}
+
+function MGScale(args) {
+ // big wrapper around d3 scale that automatically formats & calculates scale bounds
+ // according to the data, and handles other niceties.
+ var scaleArgs = {};
+ scaleArgs.use_inflator = false;
+ scaleArgs.zero_bottom = false;
+ scaleArgs.scaleType = 'numerical';
+
+ this.namespace = function(_namespace) {
+ scaleArgs.namespace = _namespace;
+ scaleArgs.namespace_accessor_name = scaleArgs.namespace + '_accessor';
+ scaleArgs.scale_name = scaleArgs.namespace.toUpperCase();
+ scaleArgs.scalefn_name = scaleArgs.namespace + 'f';
+ return this;
+ };
+
+ this.scaleName = function(scaleName) {
+ scaleArgs.scale_name = scaleName.toUpperCase();
+ scaleArgs.scalefn_name = scaleName +'f';
+ return this;
+ };
+
+ this.inflateDomain = function(tf) {
+ scaleArgs.use_inflator = tf;
+ return this;
+ };
+
+ this.zeroBottom = function(tf) {
+ scaleArgs.zero_bottom = tf;
+ return this;
+ };
+
+ /////////////////////////////////////////////////////////////////////////////////////////////////////////
+ /// all scale domains are either numerical (number, date, etc.) or categorical (factor, label, etc) /////
+ /////////////////////////////////////////////////////////////////////////////////////////////////////////
+ // these functions automatically create the d3 scale function and place the domain.
+
+ this.numericalDomainFromData = function() {
+ var other_flat_data_arrays = [];
+
+ if (arguments.length > 0) {
+ other_flat_data_arrays = arguments;
+ }
+
+ // pull out a non-empty array in args.data.
+ var illustrative_data;
+ for (var i = 0; i < args.data.length; i++) {
+ if (args.data[i].length > 0) {
+ illustrative_data = args.data[i];
+ }
+ }
+ scaleArgs.is_time_series = mg_is_date(illustrative_data[0][args[scaleArgs.namespace_accessor_name]])
+ ? true
+ : false;
+
+ mg_add_scale_function(args, scaleArgs.scalefn_name, scaleArgs.scale_name, args[scaleArgs.namespace_accessor_name]);
+
+ mg_min_max_numerical(args, scaleArgs, other_flat_data_arrays, scaleArgs.use_inflator);
+
+ var time_scale = (args.utc_time)
+ ? d3.scaleUtc()
+ : d3.scaleTime();
+
+ args.scales[scaleArgs.scale_name] = (scaleArgs.is_time_series)
+ ? time_scale
+ : (mg_is_function(args[scaleArgs.namespace + '_scale_type']))
+ ? args.y_scale_type()
+ : (args[scaleArgs.namespace + '_scale_type'] === 'log')
+ ? d3.scaleLog()
+ : d3.scaleLinear();
+
+ args.scales[scaleArgs.scale_name].domain([args.processed['min_' + scaleArgs.namespace], args.processed['max_' + scaleArgs.namespace]]);
+ scaleArgs.scaleType = 'numerical';
+
+ return this;
+ };
+
+ this.categoricalDomain = function(domain) {
+ args.scales[scaleArgs.scale_name] = d3.scaleOrdinal().domain(domain);
+ mg_add_scale_function(args, scaleArgs.scalefn_name, scaleArgs.scale_name, args[scaleArgs.namespace_accessor_name]);
+ return this;
+ };
+
+ this.categoricalDomainFromData = function() {
+ // make args.categorical_variables.
+ // lets make the categorical variables.
+ var all_data = mg_flatten_array(args.data);
+ //d3.set(data.map(function(d){return d[args.group_accessor]})).values()
+ scaleArgs.categoricalVariables = d3.set(all_data.map(function(d) {
+ return d[args[scaleArgs.namespace_accessor_name]]; })).values();
+ args.scales[scaleArgs.scale_name] = d3.scaleBand()
+ .domain(scaleArgs.categoricalVariables);
+
+ scaleArgs.scaleType = 'categorical';
+ return this;
+ };
+
+ /////////////////////////////////////////////////////////////////////////////////////////////////////////////
+ ////////// all scale ranges are either positional (for axes, etc) or arbitrary (colors, size, etc) //////////
+ /////////////////////////////////////////////////////////////////////////////////////////////////////////////
+
+ this.numericalRange = function(range) {
+ if (typeof range === 'string') {
+ args
+ .scales[scaleArgs.scale_name]
+ .range(mg_position(range, args));
+ } else {
+ args
+ .scales[scaleArgs.scale_name]
+ .range(range);
+ }
+
+ return this;
+ };
+
+ this.categoricalRangeBands = function(range, halfway) {
+ if (halfway === undefined) halfway = false;
+
+ var namespace = scaleArgs.namespace;
+ var paddingPercentage = args[namespace + '_padding_percentage'];
+ var outerPaddingPercentage = args[namespace + '_outer_padding_percentage'];
+ if (typeof range === 'string') {
+ // if string, it's a location. Place it accordingly.
+ args.scales[scaleArgs.scale_name]
+ .range(mg_position(range, args))
+ .paddingInner(paddingPercentage)
+ .paddingOuter(outerPaddingPercentage);
+ } else {
+ args.scales[scaleArgs.scale_name]
+ .range(range)
+ .paddingInner(paddingPercentage)
+ .paddingOuter(outerPaddingPercentage);
+ }
+
+ mg_add_scale_function(
+ args,
+ scaleArgs.scalefn_name,
+ scaleArgs.scale_name,
+ args[scaleArgs.namespace_accessor_name],
+ halfway
+ ? args.scales[scaleArgs.scale_name].bandwidth() / 2
+ : 0
+ );
+
+ return this;
+ };
+
+ this.categoricalRange = function(range) {
+ args.scales[scaleArgs.scale_name].range(range);
+ mg_add_scale_function(args, scaleArgs.scalefn_name, scaleArgs.scale_name, args[scaleArgs.namespace_accessor_name]);
+ return this;
+ };
+
+ this.categoricalColorRange = function() {
+ args.scales[scaleArgs.scale_name] = args.scales[scaleArgs.scale_name].domain().length > 10
+ ? d3.scaleOrdinal(d3.schemeCategory20)
+ : d3.scaleOrdinal(d3.schemeCategory10);
+
+ args
+ .scales[scaleArgs.scale_name]
+ .domain(scaleArgs.categoricalVariables);
+
+ mg_add_scale_function(args, scaleArgs.scalefn_name, scaleArgs.scale_name, args[scaleArgs.namespace_accessor_name]);
+ return this;
+ };
+
+ this.clamp = function(yn) {
+ args.scales[scaleArgs.scale_name].clamp(yn);
+ return this;
+ };
+
+ return this;
+}
+
+MG.scale_factory = MGScale;
+
+/////////////////////////////// x, x_accessor, markers, baselines, etc.
+function mg_min_max_numerical(args, scaleArgs, additional_data_arrays) {
+ // A BIT OF EXPLANATION ABOUT THIS FUNCTION
+ // This function pulls out all the accessor values in all the arrays in args.data.
+ // We also have this additional argument, additional_data_arrays, which is an array of arrays of raw data values.
+ // These values also get concatenated to the data pulled from args.data, and the extents are calculate from that.
+ // They are optional.
+ //
+ // This may seem arbitrary, but it gives us a lot of flexibility. For instance, if we're calculating
+ // the min and max for the y axis of a line chart, we're going to want to also factor in baselines (horizontal lines
+ // that might potentially be outside of the y value bounds). The easiest way to do this is in the line.js code
+ // & scale creation to just flatten the args.baselines array, pull out hte values, and feed it in
+ // so it appears in additional_data_arrays.
+ var namespace = scaleArgs.namespace;
+ var namespace_accessor_name = scaleArgs.namespace_accessor_name;
+ var use_inflator = scaleArgs.use_inflator;
+ var zero_bottom = scaleArgs.zero_bottom;
+
+ var accessor = args[namespace_accessor_name];
+
+ // add together all relevant data arrays.
+ var all_data = mg_flatten_array(args.data)
+ .map(function(dp) {
+ return dp[accessor]; })
+ .concat(mg_flatten_array(additional_data_arrays));
+
+ // do processing for log
+ if (args[namespace + '_scale_type'] === 'log') {
+ all_data = all_data.filter(function(d) {
+ return d > 0;
+ });
+ }
+
+ // use inflator?
+ var extents = d3.extent(all_data);
+ var min_val = extents[0];
+ var max_val = extents[1];
+
+ // bolt scale domain to zero when the right conditions are met:
+ // not pulling the bottom of the range from data
+ // not zero-bottomed
+ // not a time series
+ if (zero_bottom && !args['min_' + namespace + '_from_data'] && min_val > 0 && !scaleArgs.is_time_series) {
+ min_val = args[namespace + '_scale_type'] === 'log' ? 1 : 0;
+ }
+
+ if (args[namespace + '_scale_type'] !== 'log' && min_val < 0 && !scaleArgs.is_time_series) {
+ min_val = min_val - (min_val - min_val * args.inflator) * use_inflator;
+ }
+
+ if (!scaleArgs.is_time_series) {
+ max_val = (max_val < 0) ? max_val + (max_val - max_val * args.inflator) * use_inflator : max_val * (use_inflator ? args.inflator : 1);
+ }
+
+ min_val = args['min_' + namespace] != null ? args['min_' + namespace] : min_val;
+ max_val = args['max_' + namespace] != null ? args['max_' + namespace] : max_val;
+ // if there's a single data point, we should custom-set the max values
+ // so we're displaying some kind of range
+ if (min_val === max_val && args['min_' + namespace] == null &&
+ args['max_' + namespace] == null) {
+ if (mg_is_date(min_val)) {
+ max_val = new Date(MG.clone(min_val).setDate(min_val.getDate() + 1));
+ } else if (typeof min_val === 'number') {
+ max_val = min_val + 1;
+ mg_force_xax_count_to_be_two(args);
+ }
+ }
+
+ args.processed['min_' + namespace] = min_val;
+ args.processed['max_' + namespace] = max_val;
+ if (args.processed['zoom_' + namespace]) {
+ args.processed['min_' + namespace] = args.processed['zoom_' + namespace][0];
+ args.processed['max_' + namespace] = args.processed['zoom_' + namespace][1];
+ }
+ MG.call_hook('x_axis.process_min_max', args, args.processed.min_x, args.processed.max_x);
+ MG.call_hook('y_axis.process_min_max', args, args.processed.min_y, args.processed.max_y);
+}
+
+function mg_categorical_group_color_scale(args) {
+ if (args.color_accessor !== false) {
+ if (args.ygroup_accessor) {
+ // add a custom accessor element.
+ if (args.color_accessor === null) {
+ args.color_accessor = args.y_accessor;
+ } else {}
+ }
+ if (args.color_accessor !== null) {
+ new MG.scale_factory(args)
+ .namespace('color')
+ .categoricalDomainFromData()
+ .categoricalColorRange();
+ }
+ }
+}
+
+function mg_add_color_categorical_scale(args, domain, accessor) {
+ args.scales.color = d3.scaleOrdinal(d3.schemeCategory20).domain(domain);
+ args.scalefns.color = function(d) {
+ return args.scales.color(d[accessor]);
+ };
+}
+
+function mg_get_categorical_domain(data, accessor) {
+ return d3.set(data.map(function(d) {
+ return d[accessor]; }))
+ .values();
+}
+
+function mg_get_color_domain(args) {
+ var color_domain;
+ if (args.color_domain === null) {
+ if (args.color_type === 'number') {
+ color_domain = d3.extent(args.data[0], function(d) {
+ return d[args.color_accessor]; });
+ } else if (args.color_type === 'category') {
+ color_domain = mg_get_categorical_domain(args.data[0], args.color_accessor);
+
+ }
+ } else {
+ color_domain = args.color_domain;
+ }
+ return color_domain;
+}
+
+function mg_get_color_range(args) {
+ var color_range;
+ if (args.color_range === null) {
+ if (args.color_type === 'number') {
+ color_range = ['blue', 'red'];
+ } else {
+ color_range = null;
+ }
+ } else {
+ color_range = args.color_range;
+ }
+ return color_range;
+}
diff --git a/priv/static/js/metricsgraphics/common/window_listeners.js b/priv/static/js/metricsgraphics/common/window_listeners.js
new file mode 100644
index 0000000..6dad3e9
--- /dev/null
+++ b/priv/static/js/metricsgraphics/common/window_listeners.js
@@ -0,0 +1,82 @@
+function MG_WindowResizeTracker() {
+ var targets = [];
+
+ var Observer;
+ if (typeof MutationObserver !== "undefined") {
+ Observer = MutationObserver;
+ } else if (typeof WebKitMutationObserver !== "undefined") {
+ Observer = WebKitMutationObserver;
+ }
+
+ function window_listener() {
+ targets.forEach(function(target) {
+ var svg = d3.select(target).select('svg');
+
+ // skip if svg is not visible
+ if (!svg.empty() && (svg.node().parentNode.offsetWidth > 0 || svg.node().parentNode.offsetHeight > 0)) {
+ var aspect = svg.attr('width') !== 0 ? (svg.attr('height') / svg.attr('width')) : 0;
+
+ var newWidth = get_width(target);
+
+ svg.attr('width', newWidth);
+ svg.attr('height', aspect * newWidth);
+ }
+ });
+ }
+
+ function remove_target(target) {
+ var index = targets.indexOf(target);
+ if (index !== -1) {
+ targets.splice(index, 1);
+ }
+
+ if (targets.length === 0) {
+ window.removeEventListener('resize', window_listener, true);
+ }
+ }
+
+ return {
+ add_target: function(target) {
+ if (targets.length === 0) {
+ window.addEventListener('resize', window_listener, true);
+ }
+
+ if (targets.indexOf(target) === -1) {
+ targets.push(target);
+
+ if (Observer) {
+ var observer = new Observer(function(mutations) {
+ var targetNode = d3.select(target).node();
+
+ if (!targetNode || mutations.some(
+ function(mutation) {
+ for (var i = 0; i < mutation.removedNodes.length; i++) {
+ if (mutation.removedNodes[i] === targetNode) {
+ return true;
+ }
+ }
+ })) {
+ observer.disconnect();
+ remove_target(target);
+ }
+ });
+
+ observer.observe(d3.select(target).node().parentNode, { childList: true });
+ }
+ }
+ }
+ };
+}
+
+var mg_window_resize_tracker = new MG_WindowResizeTracker();
+
+function mg_window_listeners(args) {
+ mg_if_aspect_ratio_resize_svg(args);
+}
+
+function mg_if_aspect_ratio_resize_svg(args) {
+ // have we asked the svg to fill a div, if so resize with div
+ if (args.full_width || args.full_height) {
+ mg_window_resize_tracker.add_target(args.target);
+ }
+}
diff --git a/priv/static/js/metricsgraphics/common/x_axis.js b/priv/static/js/metricsgraphics/common/x_axis.js
new file mode 100644
index 0000000..c050f2b
--- /dev/null
+++ b/priv/static/js/metricsgraphics/common/x_axis.js
@@ -0,0 +1,600 @@
+function x_rug(args) {
+ 'use strict';
+
+ if(!args.x_rug) {
+ return;
+ }
+
+ args.rug_buffer_size = args.chart_type === 'point'
+ ? args.buffer / 2
+ : args.buffer;
+
+ var rug = mg_make_rug(args, 'mg-x-rug');
+
+ rug.attr('x1', args.scalefns.xf)
+ .attr('x2', args.scalefns.xf)
+ .attr('y1', args.height - args.bottom - args.rug_buffer_size)
+ .attr('y2', args.height - args.bottom);
+
+ mg_add_color_accessor_to_rug(rug, args, 'mg-x-rug-mono');
+}
+
+MG.x_rug = x_rug;
+
+function mg_add_processed_object(args) {
+ if (!args.processed) {
+ args.processed = {};
+ }
+}
+
+// TODO ought to be deprecated, only used by histogram
+function x_axis(args) {
+ 'use strict';
+
+ var svg = mg_get_svg_child_of(args.target);
+ mg_add_processed_object(args);
+
+ mg_select_xax_format(args);
+ mg_selectAll_and_remove(svg, '.mg-x-axis');
+
+ if (!args.x_axis) {
+ return this;
+ }
+
+ var g = mg_add_g(svg, 'mg-x-axis');
+
+ mg_add_x_ticks(g, args);
+ mg_add_x_tick_labels(g, args);
+ if (args.x_label) { mg_add_x_label(g, args); }
+ if (args.x_rug) { x_rug(args); }
+
+ return this;
+}
+
+MG.x_axis = x_axis;
+
+function x_axis_categorical(args) {
+ var svg = mg_get_svg_child_of(args.target);
+ var additional_buffer = 0;
+ if (args.chart_type === 'bar') {
+ additional_buffer = args.buffer + 5;
+ }
+
+ mg_add_categorical_scale(args, 'X', args.categorical_variables.reverse(), args.left, mg_get_plot_right(args) - additional_buffer);
+ mg_add_scale_function(args, 'xf', 'X', 'value');
+ mg_selectAll_and_remove(svg, '.mg-x-axis');
+
+ var g = mg_add_g(svg, 'mg-x-axis');
+
+ if (!args.x_axis) {
+ return this;
+ }
+
+ mg_add_x_axis_categorical_labels(g, args, additional_buffer);
+ return this;
+}
+
+function mg_add_x_axis_categorical_labels(g, args, additional_buffer) {
+ var labels = g.selectAll('text')
+ .data(args.categorical_variables)
+ .enter()
+ .append('text');
+
+ labels
+ .attr('x', function(d) {
+ return args.scales.X(d) + args.scales.X.bandwidth() / 2 + (args.buffer) * args.bar_outer_padding_percentage + (additional_buffer / 2);
+ })
+ .attr('y', mg_get_plot_bottom(args))
+ .attr('dy', '.35em')
+ .attr('text-anchor', 'middle')
+ .text(String);
+
+ if (args.truncate_x_labels) {
+ labels.each(function(d, idx) {
+ var elem = this, width = args.scales.X.bandwidth();
+ truncate_text(elem, d, width);
+ });
+ }
+ mg_rotate_labels(labels, args.rotate_x_labels);
+}
+
+MG.x_axis_categorical = x_axis_categorical;
+
+function mg_point_add_color_scale(args) {
+ var color_domain, color_range;
+
+ if (args.color_accessor !== null) {
+ color_domain = mg_get_color_domain(args);
+ color_range = mg_get_color_range(args);
+
+ if (args.color_type === 'number') {
+ args.scales.color = d3.scaleLinear()
+ .domain(color_domain)
+ .range(color_range)
+ .clamp(true);
+ } else {
+ args.scales.color = args.color_range !== null
+ ? d3.scaleOrdinal().range(color_range)
+ : (color_domain.length > 10
+ ? d3.scaleOrdinal(d3.schemeCategory20)
+ : d3.scaleOrdinal(d3.schemeCategory10));
+
+ args.scales.color.domain(color_domain);
+ }
+ mg_add_scale_function(args, 'color', 'color', args.color_accessor);
+ }
+}
+
+function mg_get_color_domain(args) {
+ var color_domain;
+ if (args.color_domain === null) {
+ if (args.color_type === 'number') {
+ color_domain = d3.extent(args.data[0], function(d) {
+ return d[args.color_accessor];
+ });
+ } else if (args.color_type === 'category') {
+ color_domain = d3.set(args.data[0]
+ .map(function(d) {
+ return d[args.color_accessor];
+ }))
+ .values();
+
+ color_domain.sort();
+ }
+ } else {
+ color_domain = args.color_domain;
+ }
+ return color_domain;
+}
+
+function mg_get_color_range(args) {
+ var color_range;
+ if (args.color_range === null) {
+ if (args.color_type === 'number') {
+ color_range = ['blue', 'red'];
+ } else {
+ color_range = null;
+ }
+ } else {
+ color_range = args.color_range;
+ }
+ return color_range;
+}
+
+function mg_point_add_size_scale(args) {
+ var min_size, max_size, size_domain, size_range;
+ if (args.size_accessor !== null) {
+ size_domain = mg_get_size_domain(args);
+ size_range = mg_get_size_range(args);
+
+ args.scales.size = d3.scaleLinear()
+ .domain(size_domain)
+ .range(size_range)
+ .clamp(true);
+
+ mg_add_scale_function(args, 'size', 'size', args.size_accessor);
+ }
+}
+
+function mg_get_size_domain(args) {
+ return (args.size_domain === null)
+ ? d3.extent(args.data[0], function(d) { return d[args.size_accessor]; })
+ : args.size_domain;
+}
+
+function mg_get_size_range(args) {
+ var size_range;
+ if (args.size_range === null) {
+ size_range = [1, 5];
+ } else {
+ size_range = args.size_range;
+ }
+ return size_range;
+}
+
+function mg_add_x_label(g, args) {
+ if (args.x_label) {
+ g.append('text')
+ .attr('class', 'label')
+ .attr('x', function() {
+ return mg_get_plot_left(args) + (mg_get_plot_right(args) - mg_get_plot_left(args)) / 2;
+ })
+ .attr('dx', args.x_label_nudge_x != null ? args.x_label_nudge_x : 0)
+ .attr('y', function() {
+ var xAxisTextElement = d3.select(args.target)
+ .select('.mg-x-axis text').node().getBoundingClientRect();
+ return mg_get_bottom(args) + args.xax_tick_length * (7 / 3) + xAxisTextElement.height * 0.8 + 10;
+ })
+ .attr('dy', '.5em')
+ .attr('text-anchor', 'middle')
+ .text(function(d) {
+ return args.x_label;
+ });
+ }
+}
+
+function mg_default_bar_xax_format(args) {
+ return function(d) {
+ if (d < 1.0 && d > -1.0 && d !== 0) {
+ // don't scale tiny values
+ return args.xax_units + d.toFixed(args.decimals);
+ } else {
+ var pf = d3.format(',.0f');
+ return args.xax_units + pf(d);
+ }
+ };
+}
+
+function mg_get_time_frame(diff) {
+ // diff should be (max_x - min_x) / 1000, in other words, the difference in seconds.
+ var time_frame;
+ if (mg_milisec_diff(diff)) {
+ time_frame = 'millis';
+ } else if (mg_sec_diff(diff)) {
+ time_frame = 'seconds';
+ } else if (mg_day_diff(diff)) {
+ time_frame = 'less-than-a-day';
+ } else if (mg_four_days(diff)) {
+ time_frame = 'four-days';
+ } else if (mg_many_days(diff)) { // a handful of months?
+ time_frame = 'many-days';
+ } else if (mg_many_months(diff)) {
+ time_frame = 'many-months';
+ } else if (mg_years(diff)) {
+ time_frame = 'years';
+ } else {
+ time_frame = 'default';
+ }
+ return time_frame;
+}
+
+function mg_milisec_diff(diff) {
+ return diff < 1;
+}
+
+function mg_sec_diff(diff) {
+ return diff < 60;
+}
+
+function mg_day_diff(diff) {
+ return diff / (60 * 60) < 24;
+}
+
+function mg_four_days(diff) {
+ return diff / (60 * 60) < 24 * 4;
+}
+
+function mg_many_days(diff) {
+ return diff / (60 * 60 * 24) < 60;
+}
+
+function mg_many_months(diff) {
+ return diff / (60 * 60 * 24) < 365;
+}
+
+function mg_years(diff) {
+ return diff / (60 * 60 * 24) >= 365;
+}
+
+function mg_get_time_format(utc, diff) {
+ var main_time_format;
+ if (mg_milisec_diff(diff)) {
+ main_time_format = MG.time_format(utc, '%M:%S.%L');
+ } else if (mg_sec_diff(diff)) {
+ main_time_format = MG.time_format(utc, '%M:%S');
+ } else if (mg_day_diff(diff)) {
+ main_time_format = MG.time_format(utc, '%H:%M');
+ } else if (mg_four_days(diff) || mg_many_days(diff)) {
+ main_time_format = MG.time_format(utc, '%b %d');
+ } else if (mg_many_months(diff)) {
+ main_time_format = MG.time_format(utc, '%b');
+ } else {
+ main_time_format = MG.time_format(utc, '%Y');
+ }
+ return main_time_format;
+}
+
+function mg_process_time_format(args) {
+ if (args.time_series) {
+ const diff = (args.processed.max_x - args.processed.min_x) / 1000;
+ const tickDiff = (args.processed.x_ticks[1] - args.processed.x_ticks[0]) / 1000;
+ args.processed.x_time_frame = mg_get_time_frame(diff);
+ args.processed.x_tick_diff_time_frame = mg_get_time_frame(tickDiff);
+ args.processed.main_x_time_format = mg_get_time_format(args.utc_time, tickDiff);
+ }
+}
+
+function mg_default_xax_format(args) {
+ if (args.xax_format) {
+ return args.xax_format;
+ }
+
+ var data = args.processed.original_data || args.data;
+ var flattened = mg_flatten_array(data)[0];
+ var test_point_x = flattened[args.processed.original_x_accessor || args.x_accessor];
+ if (test_point_x === undefined) {
+ test_point_x = flattened;
+ }
+
+ return function(d) {
+ mg_process_time_format(args);
+
+ if (mg_is_date(test_point_x)) {
+ return args.processed.main_x_time_format(new Date(d));
+ } else if (typeof test_point_x === 'number') {
+ var is_float = d % 1 !== 0;
+ var pf;
+
+ if (is_float) {
+ pf = d3.format(',.' + args.decimals + 'f');
+ } else if (d < 1000) {
+ pf = d3.format(',.0f');
+ } else {
+ pf = d3.format(',.2s');
+ }
+ return args.xax_units + pf(d);
+ } else {
+ return args.xax_units + d;
+ }
+ };
+}
+
+function mg_add_x_ticks(g, args) {
+ mg_process_scale_ticks(args, 'x');
+ mg_add_x_axis_rim(args, g);
+ mg_add_x_axis_tick_lines(args, g);
+}
+
+function mg_add_x_axis_rim(args, g) {
+ var last_i = args.scales.X.ticks(args.xax_count).length - 1;
+
+ if (!args.x_extended_ticks) {
+ g.append('line')
+ .attr('x1', function() {
+ if (args.xax_count === 0) {
+ return mg_get_plot_left(args);
+ } else if (args.axes_not_compact && args.chart_type !== 'bar') {
+ return args.left;
+ } else {
+ return (args.scales.X(args.scales.X.ticks(args.xax_count)[0])).toFixed(2);
+ }
+ })
+ .attr('x2', function() {
+ if (args.xax_count === 0 || (args.axes_not_compact && args.chart_type !== 'bar')) {
+ return mg_get_right(args);
+ } else {
+ return args.scales.X(args.scales.X.ticks(args.xax_count)[last_i]).toFixed(2);
+ }
+ })
+ .attr('y1', args.height - args.bottom)
+ .attr('y2', args.height - args.bottom);
+ }
+}
+
+function mg_add_x_axis_tick_lines(args, g) {
+ g.selectAll('.mg-xax-ticks')
+ .data(args.processed.x_ticks).enter()
+ .append('line')
+ .attr('x1', function(d) {
+ return args.scales.X(d).toFixed(2); })
+ .attr('x2', function(d) {
+ return args.scales.X(d).toFixed(2); })
+ .attr('y1', args.height - args.bottom)
+ .attr('y2', function() {
+ return (args.x_extended_ticks) ? args.top : args.height - args.bottom + args.xax_tick_length;
+ })
+ .attr('class', function() {
+ if (args.x_extended_ticks) {
+ return 'mg-extended-xax-ticks';
+ }
+ })
+ .classed('mg-xax-ticks', true);
+}
+
+function mg_add_x_tick_labels(g, args) {
+ mg_add_primary_x_axis_label(args, g);
+ mg_add_secondary_x_axis_label(args, g);
+}
+
+function mg_add_primary_x_axis_label(args, g) {
+ var labels = g.selectAll('.mg-xax-labels')
+ .data(args.processed.x_ticks).enter()
+ .append('text')
+ .attr('x', function(d) {
+ return args.scales.X(d).toFixed(2);
+ })
+ .attr('y', (args.height - args.bottom + args.xax_tick_length * 7 / 3).toFixed(2))
+ .attr('dy', '.50em')
+ .attr('text-anchor', 'middle');
+
+ if (args.time_series && args.european_clock) {
+ labels.append('tspan').classed('mg-european-hours', true).text(function(_d, i) {
+ var d = new Date(_d);
+ if (i === 0) return d3.timeFormat('%H')(d);
+ else return '';
+ });
+ labels.append('tspan').classed('mg-european-minutes-seconds', true).text(function(_d, i) {
+ var d = new Date(_d);
+ return ':' + args.processed.xax_format(d);
+ });
+ } else {
+ labels.text(function(d) {
+ return args.xax_units + args.processed.xax_format(d);
+ });
+ }
+
+ // CHECK TO SEE IF OVERLAP for labels. If so,
+ // remove half of them. This is a dirty hack.
+ // We will need to figure out a more principled way of doing this.
+ if (mg_elements_are_overlapping(labels)) {
+ labels.filter(function(d, i) {
+ return (i + 1) % 2 === 0;
+ }).remove();
+
+ var svg = mg_get_svg_child_of(args.target);
+ svg.selectAll('.mg-xax-ticks')
+ .filter(function(d, i) {
+ return (i + 1) % 2 === 0;
+ })
+ .remove();
+ }
+}
+
+function mg_add_secondary_x_axis_label(args, g) {
+ if (args.time_series && (args.show_years || args.show_secondary_x_label)) {
+ mg_add_secondary_x_axis_elements(args, g);
+ }
+}
+
+function mg_get_yformat_and_secondary_time_function(args) {
+ let tf = {
+ timeframe: args.processed.x_time_frame,
+ tick_diff_timeframe: args.processed.x_tick_diff_time_frame
+ };
+ switch (tf.timeframe) {
+ case 'millis':
+ case 'seconds':
+ tf.secondary = d3.timeDays;
+ if (args.european_clock) tf.yformat = MG.time_format(args.utc_time, '%b %d');
+ else tf.yformat = MG.time_format(args.utc_time, '%I %p');
+ break;
+ case 'less-than-a-day':
+ tf.secondary = d3.timeDays;
+ tf.yformat = MG.time_format(args.utc_time, '%b %d');
+ break;
+ case 'four-days':
+ tf.secondary = d3.timeDays;
+ tf.yformat = MG.time_format(args.utc_time, '%b %d');
+ break;
+ case 'many-days':
+ tf.secondary = d3.timeYears;
+ tf.yformat = MG.time_format(args.utc_time, '%Y');
+ break;
+ case 'many-months':
+ tf.secondary = d3.timeYears;
+ tf.yformat = MG.time_format(args.utc_time, '%Y');
+ break;
+ default:
+ tf.secondary = d3.timeYears;
+ tf.yformat = MG.time_format(args.utc_time, '%Y');
+ }
+ return tf;
+}
+
+function mg_add_secondary_x_axis_elements(args, g) {
+ var tf = mg_get_yformat_and_secondary_time_function(args);
+
+ var years = tf.secondary(args.processed.min_x, args.processed.max_x);
+ if (years.length === 0) {
+ var first_tick = args.scales.X.ticks(args.xax_count)[0];
+ years = [first_tick];
+ }
+
+ var yg = mg_add_g(g, 'mg-year-marker');
+ if (tf.timeframe === 'default' && args.show_year_markers) {
+ mg_add_year_marker_line(args, yg, years, tf.yformat);
+ }
+ if (tf.tick_diff_time_frame != 'years') mg_add_year_marker_text(args, yg, years, tf.yformat);
+}
+
+function mg_add_year_marker_line(args, g, years, yformat) {
+ g.selectAll('.mg-year-marker')
+ .data(years).enter()
+ .append('line')
+ .attr('x1', function(d) {
+ return args.scales.X(d).toFixed(2);
+ })
+ .attr('x2', function(d) {
+ return args.scales.X(d).toFixed(2);
+ })
+ .attr('y1', mg_get_top(args))
+ .attr('y2', mg_get_bottom(args));
+}
+
+function mg_add_year_marker_text(args, g, years, yformat) {
+ g.selectAll('.mg-year-marker')
+ .data(years).enter()
+ .append('text')
+ .attr('x', function(d, i) {
+ return args.scales.X(d).toFixed(2);
+ })
+ .attr('y', function() {
+ var xAxisTextElement = d3.select(args.target)
+ .select('.mg-x-axis text').node().getBoundingClientRect();
+ return (mg_get_bottom(args) + args.xax_tick_length * 7 / 3) + (xAxisTextElement.height * 0.8);
+ })
+ .attr('dy', '.50em')
+ .attr('text-anchor', 'middle')
+ .text(function(d) {
+ return yformat(new Date(d));
+ });
+}
+
+function mg_min_max_x_for_nonbars(mx, args, data) {
+ var extent_x = d3.extent(data, function(d) {
+ return d[args.x_accessor];
+ });
+ mx.min = extent_x[0];
+ mx.max = extent_x[1];
+}
+
+function mg_min_max_x_for_bars(mx, args, data) {
+ mx.min = d3.min(data, function(d) {
+ var trio = [
+ d[args.x_accessor],
+ (d[args.baseline_accessor]) ? d[args.baseline_accessor] : 0,
+ (d[args.predictor_accessor]) ? d[args.predictor_accessor] : 0
+ ];
+ return Math.min.apply(null, trio);
+ });
+
+ if (mx.min > 0) mx.min = 0;
+
+ mx.max = d3.max(data, function(d) {
+ var trio = [
+ d[args.x_accessor],
+ (d[args.baseline_accessor]) ? d[args.baseline_accessor] : 0,
+ (d[args.predictor_accessor]) ? d[args.predictor_accessor] : 0
+ ];
+ return Math.max.apply(null, trio);
+ });
+ return mx;
+}
+
+function mg_min_max_x_for_dates(mx) {
+ var yesterday = MG.clone(mx.min).setDate(mx.min.getDate() - 1);
+ var tomorrow = MG.clone(mx.min).setDate(mx.min.getDate() + 1);
+ mx.min = yesterday;
+ mx.max = tomorrow;
+}
+
+function mg_min_max_x_for_numbers(mx) {
+ // TODO do we want to rewrite this?
+ mx.min = mx.min - 1;
+ mx.max = mx.max + 1;
+}
+
+function mg_min_max_x_for_strings(mx) {
+ // TODO shouldn't be allowing strings here to be coerced into numbers
+ mx.min = Number(mx.min) - 1;
+ mx.max = Number(mx.max) + 1;
+}
+
+function mg_force_xax_count_to_be_two(args) {
+ args.xax_count = 2;
+}
+
+function mg_select_xax_format(args) {
+ var c = args.chart_type;
+ if (!args.processed.xax_format) {
+ if (args.xax_format) {
+ args.processed.xax_format = args.xax_format;
+ } else {
+ if (c === 'line' || c === 'point' || c === 'histogram') {
+ args.processed.xax_format = mg_default_xax_format(args);
+ } else if (c === 'bar') {
+ args.processed.xax_format = mg_default_bar_xax_format(args);
+ }
+ }
+ }
+}
diff --git a/priv/static/js/metricsgraphics/common/y_axis.js b/priv/static/js/metricsgraphics/common/y_axis.js
new file mode 100644
index 0000000..773d525
--- /dev/null
+++ b/priv/static/js/metricsgraphics/common/y_axis.js
@@ -0,0 +1,1072 @@
+function processScaleTicks (args, axis) {
+ var accessor = args[axis + '_accessor'];
+ var scale_ticks = args.scales[axis.toUpperCase()].ticks(args[axis + 'ax_count']);
+ var max = args.processed['max_' + axis];
+
+ function log10 (val) {
+ if (val === 1000) {
+ return 3;
+ }
+ if (val === 1000000) {
+ return 7;
+ }
+ return Math.log(val) / Math.LN10;
+ }
+
+ if (args[axis + '_scale_type'] === 'log') {
+ // get out only whole logs
+ scale_ticks = scale_ticks.filter(function (d) {
+ return Math.abs(log10(d)) % 1 < 1e-6 || Math.abs(log10(d)) % 1 > 1 - 1e-6;
+ });
+ }
+
+ // filter out fraction ticks if our data is ints and if xmax > number of generated ticks
+ var number_of_ticks = scale_ticks.length;
+
+ // is our data object all ints?
+ var data_is_int = true;
+ args.data.forEach(function (d, i) {
+ d.forEach(function (d, i) {
+ if (d[accessor] % 1 !== 0) {
+ data_is_int = false;
+ return false;
+ }
+ });
+ });
+
+ if (data_is_int && number_of_ticks > max && args.format === 'count') {
+ // remove non-integer ticks
+ scale_ticks = scale_ticks.filter(function (d) {
+ return d % 1 === 0;
+ });
+ }
+
+ args.processed[axis + '_ticks'] = scale_ticks;
+}
+
+function rugPlacement (args, axisArgs) {
+ var position = axisArgs.position;
+ var ns = axisArgs.namespace;
+ var coordinates = {};
+ if (position === 'left') {
+ coordinates.x1 = mg_get_left(args) + 1;
+ coordinates.x2 = mg_get_left(args) + args.rug_buffer_size;
+ coordinates.y1 = args.scalefns[ns + 'f'];
+ coordinates.y2 = args.scalefns[ns + 'f'];
+ }
+ if (position === 'right') {
+ coordinates.x1 = mg_get_right(args) - 1;
+ coordinates.x2 = mg_get_right(args) - args.rug_buffer_size;
+ coordinates.y1 = args.scalefns[ns + 'f'];
+ coordinates.y2 = args.scalefns[ns + 'f'];
+ }
+ if (position === 'top') {
+ coordinates.x1 = args.scalefns[ns + 'f'];
+ coordinates.x2 = args.scalefns[ns + 'f'];
+ coordinates.y1 = mg_get_top(args) + 1;
+ coordinates.y2 = mg_get_top(args) + args.rug_buffer_size;
+ }
+ if (position === 'bottom') {
+ coordinates.x1 = args.scalefns[ns + 'f'];
+ coordinates.x2 = args.scalefns[ns + 'f'];
+ coordinates.y1 = mg_get_bottom(args) - 1;
+ coordinates.y2 = mg_get_bottom(args) - args.rug_buffer_size;
+ }
+ return coordinates;
+}
+
+function rimPlacement (args, axisArgs) {
+ var ns = axisArgs.namespace;
+ var position = axisArgs.position;
+ var tick_length = args.processed[ns + '_ticks'].length;
+ var ticks = args.processed[ns + '_ticks'];
+ var scale = args.scales[ns.toUpperCase()];
+ var coordinates = {};
+
+ if (position === 'left') {
+ coordinates.x1 = mg_get_left(args);
+ coordinates.x2 = mg_get_left(args);
+ coordinates.y1 = tick_length ? scale(ticks[0]).toFixed(2) : mg_get_top(args);
+ coordinates.y2 = tick_length ? scale(ticks[tick_length - 1]).toFixed(2) : mg_get_bottom(args);
+ }
+ if (position === 'right') {
+ coordinates.x1 = mg_get_right(args);
+ coordinates.x2 = mg_get_right(args);
+ coordinates.y1 = tick_length ? scale(ticks[0]).toFixed(2) : mg_get_top(args);
+ coordinates.y2 = tick_length ? scale(ticks[tick_length - 1]).toFixed(2) : mg_get_bottom(args);
+ }
+ if (position === 'top') {
+ coordinates.x1 = mg_get_left(args);
+ coordinates.x2 = mg_get_right(args);
+ coordinates.y1 = mg_get_top(args);
+ coordinates.y2 = mg_get_top(args);
+ }
+ if (position === 'bottom') {
+ coordinates.x1 = mg_get_left(args);
+ coordinates.x2 = mg_get_right(args);
+ coordinates.y1 = mg_get_bottom(args);
+ coordinates.y2 = mg_get_bottom(args);
+ }
+
+ if (position === 'left' || position === 'right') {
+ if (args.axes_not_compact) {
+ coordinates.y1 = mg_get_bottom(args);
+ coordinates.y2 = mg_get_top(args);
+ } else if (tick_length) {
+ coordinates.y1 = scale(ticks[0]).toFixed(2);
+ coordinates.y2 = scale(ticks[tick_length - 1]).toFixed(2);
+ }
+ }
+
+ return coordinates;
+}
+
+function labelPlacement (args, axisArgs) {
+ var position = axisArgs.position;
+ var ns = axisArgs.namespace;
+ var tickLength = args[ns + 'ax_tick_length'];
+ var scale = args.scales[ns.toUpperCase()];
+ var coordinates = {};
+
+ if (position === 'left') {
+ coordinates.x = mg_get_left(args) - tickLength * 3 / 2;
+ coordinates.y = function (d) {
+ return scale(d).toFixed(2);
+ };
+ coordinates.dx = -3;
+ coordinates.dy = '.35em';
+ coordinates.textAnchor = 'end';
+ coordinates.text = function (d) {
+ return mg_compute_yax_format(args)(d);
+ };
+ }
+ if (position === 'right') {
+ coordinates.x = mg_get_right(args) + tickLength * 3 / 2;
+ coordinates.y = function (d) {
+ return scale(d).toFixed(2);
+ };
+ coordinates.dx = 3;
+ coordinates.dy = '.35em';
+ coordinates.textAnchor = 'start';
+ coordinates.text = function (d) {
+ return mg_compute_yax_format(args)(d); };
+ }
+ if (position === 'top') {
+ coordinates.x = function (d) {
+ return scale(d).toFixed(2);
+ };
+ coordinates.y = (mg_get_top(args) - tickLength * 7 / 3).toFixed(2);
+ coordinates.dx = 0;
+ coordinates.dy = '0em';
+ coordinates.textAnchor = 'middle';
+ coordinates.text = function (d) {
+ return mg_default_xax_format(args)(d);
+ };
+ }
+ if (position === 'bottom') {
+ coordinates.x = function (d) {
+ return scale(d).toFixed(2);
+ };
+ coordinates.y = (mg_get_bottom(args) + tickLength * 7 / 3).toFixed(2);
+ coordinates.dx = 0;
+ coordinates.dy = '.50em';
+ coordinates.textAnchor = 'middle';
+ coordinates.text = function (d) {
+ return mg_default_xax_format(args)(d);
+ };
+ }
+
+ return coordinates;
+}
+
+function addSecondaryLabelElements (args, axisArgs, g) {
+ var tf = mg_get_yformat_and_secondary_time_function(args);
+ var years = tf.secondary(args.processed.min_x, args.processed.max_x);
+ if (years.length === 0) {
+ var first_tick = args.scales.X.ticks(args.xax_count)[0];
+ years = [first_tick];
+ }
+
+ var yg = mg_add_g(g, 'mg-year-marker');
+ if (tf.timeframe === 'default' && args.show_year_markers) {
+ yearMarkerLine(args, axisArgs, yg, years, tf.yformat);
+ }
+ if (tf.tick_diff_timeframe != 'years') yearMarkerText(args, axisArgs, yg, years, tf.yformat);
+}
+
+function yearMarkerLine (args, axisArgs, g, years, yformat) {
+ g.selectAll('.mg-year-marker')
+ .data(years).enter()
+ .append('line')
+ .attr('x1', function (d) {
+ return args.scales.X(d).toFixed(2); })
+ .attr('x2', function (d) {
+ return args.scales.X(d).toFixed(2); })
+ .attr('y1', mg_get_top(args))
+ .attr('y2', mg_get_bottom(args));
+}
+
+function yearMarkerText (args, axisArgs, g, years, yformat) {
+ var position = axisArgs.position;
+ var ns = axisArgs.namespace;
+ var scale = args.scales[ns.toUpperCase()];
+ var x, y, dy, textAnchor, textFcn;
+ var xAxisTextElement = d3.select(args.target)
+ .select('.mg-x-axis text').node().getBoundingClientRect();
+
+ if (position === 'top') {
+ x = function (d, i) {
+ return scale(d).toFixed(2); };
+ y = (mg_get_top(args) - args.xax_tick_length * 7 / 3) - (xAxisTextElement.height);
+ dy = '.50em';
+ textAnchor = 'middle';
+ textFcn = function (d) {
+ return yformat(new Date(d)); };
+ }
+ if (position === 'bottom') {
+ x = function (d, i) {
+ return scale(d).toFixed(2); };
+ y = (mg_get_bottom(args) + args.xax_tick_length * 7 / 3) + (xAxisTextElement.height * 0.8);
+ dy = '.50em';
+ textAnchor = 'middle';
+ textFcn = function (d) {
+ return yformat(new Date(d)); };
+ }
+
+ g.selectAll('.mg-year-marker')
+ .data(years).enter()
+ .append('text')
+ .attr('x', x)
+ .attr('y', y)
+ .attr('dy', dy)
+ .attr('text-anchor', textAnchor)
+ .text(textFcn);
+}
+
+function addNumericalLabels (g, args, axisArgs) {
+ var ns = axisArgs.namespace;
+ var coords = labelPlacement(args, axisArgs);
+ var ticks = args.processed[ns + '_ticks'];
+
+ var labels = g.selectAll('.mg-yax-labels')
+ .data(ticks).enter()
+ .append('text')
+ .attr('x', coords.x)
+ .attr('dx', coords.dx)
+ .attr('y', coords.y)
+ .attr('dy', coords.dy)
+ .attr('text-anchor', coords.textAnchor)
+ .text(coords.text);
+ // move the labels if they overlap
+ if (ns == 'x') {
+ if (args.time_series && args.european_clock) {
+ labels.append('tspan').classed('mg-european-hours', true).text(function (_d, i) {
+ var d = new Date(_d);
+ if (i === 0) return d3.timeFormat('%H')(d);
+ else return '';
+ });
+ labels.append('tspan').classed('mg-european-minutes-seconds', true).text(function (_d, i) {
+ var d = new Date(_d);
+ return ':' + args.processed.xax_format(d);
+ });
+ } else {
+ labels.text(function (d) {
+ return args.xax_units + args.processed.xax_format(d);
+ });
+ }
+
+ if (args.time_series && (args.show_years || args.show_secondary_x_label)) {
+ addSecondaryLabelElements(args, axisArgs, g);
+ }
+ }
+
+ if (mg_elements_are_overlapping(labels)) {
+ labels.filter(function (d, i) {
+ return (i + 1) % 2 === 0;
+ }).remove();
+
+ var svg = mg_get_svg_child_of(args.target);
+ svg.selectAll('.mg-' + ns + 'ax-ticks').filter(function (d, i) {
+ return (i + 1) % 2 === 0; })
+ .remove();
+ }
+}
+
+function addTickLines (g, args, axisArgs) {
+ // name
+ var ns = axisArgs.namespace;
+ var position = axisArgs.position;
+ var scale = args.scales[ns.toUpperCase()];
+
+ var ticks = args.processed[ns + '_ticks'];
+ var ticksClass = 'mg-' + ns + 'ax-ticks';
+ var extendedTicksClass = 'mg-extended-' + ns + 'ax-ticks';
+ var extendedTicks = args[ns + '_extended_ticks'];
+ var tickLength = args[ns + 'ax_tick_length'];
+
+ var x1, x2, y1, y2;
+
+ if (position === 'left') {
+ x1 = mg_get_left(args);
+ x2 = extendedTicks ? mg_get_right(args) : mg_get_left(args) - tickLength;
+ y1 = function (d) {
+ return scale(d).toFixed(2);
+ };
+ y2 = function (d) {
+ return scale(d).toFixed(2);
+ };
+ }
+ if (position === 'right') {
+ x1 = mg_get_right(args);
+ x2 = extendedTicks ? mg_get_left(args) : mg_get_right(args) + tickLength;
+ y1 = function (d) {
+ return scale(d).toFixed(2);
+ };
+ y2 = function (d) {
+ return scale(d).toFixed(2);
+ };
+ }
+ if (position === 'top') {
+ x1 = function (d) {
+ return scale(d).toFixed(2);
+ };
+ x2 = function (d) {
+ return scale(d).toFixed(2);
+ };
+ y1 = mg_get_top(args);
+ y2 = extendedTicks ? mg_get_bottom(args) : mg_get_top(args) - tickLength;
+ }
+ if (position === 'bottom') {
+ x1 = function (d) {
+ return scale(d).toFixed(2);
+ };
+ x2 = function (d) {
+ return scale(d).toFixed(2);
+ };
+ y1 = mg_get_bottom(args);
+ y2 = extendedTicks ? mg_get_top(args) : mg_get_bottom(args) + tickLength;
+ }
+
+ g.selectAll('.' + ticksClass)
+ .data(ticks).enter()
+ .append('line')
+ .classed(extendedTicksClass, extendedTicks)
+ .attr('x1', x1)
+ .attr('x2', x2)
+ .attr('y1', y1)
+ .attr('y2', y2);
+}
+
+function initializeAxisRim (g, args, axisArgs) {
+ var namespace = axisArgs.namespace;
+ var tick_length = args.processed[namespace + '_ticks'].length;
+
+ var rim = rimPlacement(args, axisArgs);
+
+ if (!args[namespace + '_extended_ticks'] && !args[namespace + '_extended_ticks'] && tick_length) {
+ g.append('line')
+ .attr('x1', rim.x1)
+ .attr('x2', rim.x2)
+ .attr('y1', rim.y1)
+ .attr('y2', rim.y2);
+ }
+}
+
+function initializeRug (args, rug_class) {
+ var svg = mg_get_svg_child_of(args.target);
+ var all_data = mg_flatten_array(args.data);
+ var rug = svg.selectAll('line.' + rug_class).data(all_data);
+
+ // set the attributes that do not change after initialization, per
+ rug.enter().append('svg:line').attr('class', rug_class).attr('opacity', 0.3);
+
+ // remove rug elements that are no longer in use
+ mg_exit_and_remove(rug);
+
+ // set coordinates of new rug elements
+ mg_exit_and_remove(rug);
+ return rug;
+}
+
+function rug (args, axisArgs) {
+ 'use strict';
+ args.rug_buffer_size = args.chart_type === 'point' ? args.buffer / 2 : args.buffer * 2 / 3;
+
+ var rug = initializeRug(args, 'mg-' + axisArgs.namespace + '-rug');
+ var rug_positions = rugPlacement(args, axisArgs);
+ rug.attr('x1', rug_positions.x1)
+ .attr('x2', rug_positions.x2)
+ .attr('y1', rug_positions.y1)
+ .attr('y2', rug_positions.y2);
+
+ mg_add_color_accessor_to_rug(rug, args, 'mg-' + axisArgs.namespace + '-rug-mono');
+}
+
+function categoricalLabelPlacement (args, axisArgs, group) {
+ var ns = axisArgs.namespace;
+ var position = axisArgs.position;
+ var scale = args.scales[ns.toUpperCase()];
+ var groupScale = args.scales[(ns + 'group').toUpperCase()];
+ var coords = {};
+ coords.cat = {};
+ coords.group = {};
+ // x, y, dy, text-anchor
+
+ if (position === 'left') {
+ coords.cat.x = mg_get_plot_left(args) - args.buffer;
+ coords.cat.y = function (d) {
+ return groupScale(group) + scale(d) + scale.bandwidth() / 2;
+ };
+ coords.cat.dy = '.35em';
+ coords.cat.textAnchor = 'end';
+ coords.group.x = mg_get_plot_left(args) - args.buffer;
+ coords.group.y = groupScale(group) + (groupScale.bandwidth ? groupScale.bandwidth() / 2 : 0);
+ coords.group.dy = '.35em';
+ coords.group.textAnchor = args['rotate_' + ns + '_labels'] ? 'end' : 'end';
+ }
+
+ if (position === 'right') {
+ coords.cat.x = mg_get_plot_right(args) - args.buffer;
+ coords.cat.y = function (d) {
+ return groupScale(group) + scale(d) + scale.bandwidth() / 2;
+ };
+ coords.cat.dy = '.35em';
+ coords.cat.textAnchor = 'start';
+ coords.group.x = mg_get_plot_right(args) - args.buffer;
+ coords.group.y = groupScale(group) + (groupScale.bandwidth ? groupScale.bandwidth() / 2 : 0);
+ coords.group.dy = '.35em';
+ coords.group.textAnchor = 'start';
+ }
+
+ if (position === 'top') {
+ coords.cat.x = function (d) {
+ return groupScale(group) + scale(d) + scale.bandwidth() / 2;
+ };
+ coords.cat.y = mg_get_plot_top(args) + args.buffer;
+ coords.cat.dy = '.35em';
+ coords.cat.textAnchor = args['rotate_' + ns + '_labels'] ? 'start' : 'middle';
+ coords.group.x = groupScale(group) + (groupScale.bandwidth ? groupScale.bandwidth() / 2 : 0);
+ coords.group.y = mg_get_plot_top(args) + args.buffer;
+ coords.group.dy = '.35em';
+ coords.group.textAnchor = args['rotate_' + ns + '_labels'] ? 'start' : 'middle';
+ }
+
+ if (position === 'bottom') {
+ coords.cat.x = function (d) {
+ return groupScale(group) + scale(d) + scale.bandwidth() / 2;
+ };
+ coords.cat.y = mg_get_plot_bottom(args) + args.buffer;
+ coords.cat.dy = '.35em';
+ coords.cat.textAnchor = args['rotate_' + ns + '_labels'] ? 'start' : 'middle';
+ coords.group.x = groupScale(group) + (groupScale.bandwidth ? groupScale.bandwidth() / 2 - scale.bandwidth() / 2 : 0);
+ coords.group.y = mg_get_plot_bottom(args) + args.buffer;
+ coords.group.dy = '.35em';
+ coords.group.textAnchor = args['rotate_' + ns + '_labels'] ? 'start' : 'middle';
+ }
+
+ return coords;
+}
+
+function categoricalLabels (args, axisArgs) {
+ var ns = axisArgs.namespace;
+ var nsClass = 'mg-' + ns + '-axis';
+ var scale = args.scales[ns.toUpperCase()];
+ var groupScale = args.scales[(ns + 'group').toUpperCase()];
+ var groupAccessor = ns + 'group_accessor';
+
+ var svg = mg_get_svg_child_of(args.target);
+ mg_selectAll_and_remove(svg, '.' + nsClass);
+ var g = mg_add_g(svg, nsClass);
+ var group_g;
+ var groups = groupScale.domain && groupScale.domain()
+ ? groupScale.domain()
+ : ['1'];
+
+ groups.forEach(function (group) {
+ // grab group placement stuff.
+ var coords = categoricalLabelPlacement(args, axisArgs, group);
+
+ var labels;
+ group_g = mg_add_g(g, 'mg-group-' + mg_normalize(group));
+ if (args[groupAccessor] !== null) {
+ labels = group_g.append('text')
+ .classed('mg-barplot-group-label', true)
+ .attr('x', coords.group.x)
+ .attr('y', coords.group.y)
+ .attr('dy', coords.group.dy)
+ .attr('text-anchor', coords.group.textAnchor)
+ .text(group);
+
+ } else {
+ labels = group_g.selectAll('text')
+ .data(scale.domain())
+ .enter()
+ .append('text')
+ .attr('x', coords.cat.x)
+ .attr('y', coords.cat.y)
+ .attr('dy', coords.cat.dy)
+ .attr('text-anchor', coords.cat.textAnchor)
+ .text(String);
+ }
+ if (args['rotate_' + ns + '_labels']) {
+ rotateLabels(labels, args['rotate_' + ns + '_labels']);
+ }
+ });
+}
+
+function categoricalGuides (args, axisArgs) {
+ // for each group
+ // for each data point
+
+ var ns = axisArgs.namespace;
+ var scalef = args.scalefns[ns + 'f'];
+ var groupf = args.scalefns[ns + 'groupf'];
+ var groupScale = args.scales[(ns + 'group').toUpperCase()];
+ var scale = args.scales[ns.toUpperCase()];
+ var position = axisArgs.position;
+
+ var svg = mg_get_svg_child_of(args.target);
+ var alreadyPlotted = [];
+
+ var x1, x2, y1, y2;
+ var grs = (groupScale.domain && groupScale.domain()) ? groupScale.domain() : [null];
+
+ mg_selectAll_and_remove(svg, '.mg-category-guides');
+ var g = mg_add_g(svg, 'mg-category-guides');
+
+ grs.forEach(function (group) {
+ scale.domain().forEach(function (cat) {
+ if (position === 'left' || position === 'right') {
+ x1 = mg_get_plot_left(args);
+ x2 = mg_get_plot_right(args);
+ y1 = scale(cat) + groupScale(group) + scale.bandwidth() / 2;
+ y2 = scale(cat) + groupScale(group) + scale.bandwidth() / 2;
+ }
+
+ if (position === 'top' || position === 'bottom') {
+ x1 = scale(cat) + groupScale(group) + scale.bandwidth() / 2 * (group === null);
+ x2 = scale(cat) + groupScale(group) + scale.bandwidth() / 2 * (group === null);
+ y1 = mg_get_plot_bottom(args);
+ y2 = mg_get_plot_top(args);
+ }
+
+ g.append('line')
+ .attr('x1', x1)
+ .attr('x2', x2)
+ .attr('y1', y1)
+ .attr('y2', y2)
+ .attr('stroke-dasharray', '2,1');
+ });
+
+ var first = groupScale(group) + scale(scale.domain()[0]) + scale.bandwidth() / 2 * (group === null || (position !== 'top' && position != 'bottom'));
+ var last = groupScale(group) + scale(scale.domain()[scale.domain().length - 1]) + scale.bandwidth() / 2 * (group === null || (position !== 'top' && position != 'bottom'));
+
+ var x11, x21, y11, y21, x12, x22, y12, y22;
+ if (position === 'left' || position === 'right') {
+ x11 = mg_get_plot_left(args);
+ x21 = mg_get_plot_left(args);
+ y11 = first;
+ y21 = last;
+
+ x12 = mg_get_plot_right(args);
+ x22 = mg_get_plot_right(args);
+ y12 = first;
+ y22 = last;
+ }
+
+ if (position === 'bottom' || position === 'top') {
+ x11 = first;
+ x21 = last;
+ y11 = mg_get_plot_bottom(args);
+ y21 = mg_get_plot_bottom(args);
+
+ x12 = first;
+ x22 = last;
+ y12 = mg_get_plot_top(args);
+ y22 = mg_get_plot_top(args);
+ }
+
+ g.append('line')
+ .attr('x1', x11)
+ .attr('x2', x21)
+ .attr('y1', y11)
+ .attr('y2', y21)
+ .attr('stroke-dasharray', '2,1');
+
+ g.append('line')
+ .attr('x1', x12)
+ .attr('x2', x22)
+ .attr('y1', y12)
+ .attr('y2', y22)
+ .attr('stroke-dasharray', '2,1');
+ });
+}
+
+function rotateLabels (labels, rotation_degree) {
+ if (rotation_degree) {
+ labels.attr('transform', function () {
+ var elem = d3.select(this);
+ return 'rotate(' + rotation_degree + ' ' + elem.attr('x') + ',' + elem.attr('y') + ')';
+ });
+
+ }
+}
+
+function zeroLine (args, axisArgs) {
+ var svg = mg_get_svg_child_of(args.target);
+ var ns = axisArgs.namespace;
+ var position = axisArgs.position;
+ var scale = args.scales[ns.toUpperCase()];
+ var x1, x2, y1, y2;
+ if (position === 'left' || position === 'right') {
+ x1 = mg_get_plot_left(args);
+ x2 = mg_get_plot_right(args);
+ y1 = scale(0) + 1;
+ y2 = scale(0) + 1;
+ }
+ if (position === 'bottom' || position === 'top') {
+ y1 = mg_get_plot_top(args);
+ y2 = mg_get_plot_bottom(args);
+ x1 = scale(0) - 1;
+ x2 = scale(0) - 1;
+ }
+
+ svg.append('line')
+ .attr('x1', x1)
+ .attr('x2', x2)
+ .attr('y1', y1)
+ .attr('y2', y2)
+ .attr('stroke', 'black');
+}
+
+var mgDrawAxis = {};
+
+mgDrawAxis.categorical = function (args, axisArgs) {
+ var ns = axisArgs.namespace;
+
+ categoricalLabels(args, axisArgs);
+ categoricalGuides(args, axisArgs);
+};
+
+mgDrawAxis.numerical = function (args, axisArgs) {
+ var namespace = axisArgs.namespace;
+ var axisName = namespace + '_axis';
+ var axisClass = 'mg-' + namespace + '-axis';
+ var svg = mg_get_svg_child_of(args.target);
+
+ mg_selectAll_and_remove(svg, '.' + axisClass);
+
+ if (!args[axisName]) {
+ return this;
+ }
+
+ var g = mg_add_g(svg, axisClass);
+
+ processScaleTicks(args, namespace);
+ initializeAxisRim(g, args, axisArgs);
+ addTickLines(g, args, axisArgs);
+ addNumericalLabels(g, args, axisArgs);
+
+ // add label
+ if (args[namespace + '_label']) {
+ axisArgs.label(svg.select('.mg-' + namespace + '-axis'), args);
+ }
+
+ // add rugs
+ if (args[namespace + '_rug']) {
+ rug(args, axisArgs);
+ }
+
+ if (args.show_bar_zero) {
+ mg_bar_add_zero_line(args);
+ }
+
+ return this;
+};
+
+function axisFactory (args) {
+ var axisArgs = {};
+ axisArgs.type = 'numerical';
+
+ this.namespace = function (ns) {
+ // take the ns in the scale, and use it to
+ axisArgs.namespace = ns;
+ return this;
+ };
+
+ this.rug = function (tf) {
+ axisArgs.rug = tf;
+ return this;
+ };
+
+ this.label = function (tf) {
+ axisArgs.label = tf;
+ return this;
+ };
+
+ this.type = function (t) {
+ axisArgs.type = t;
+ return this;
+ };
+
+ this.position = function (pos) {
+ axisArgs.position = pos;
+ return this;
+ };
+
+ this.zeroLine = function (tf) {
+ axisArgs.zeroLine = tf;
+ return this;
+ };
+
+ this.draw = function () {
+ mgDrawAxis[axisArgs.type](args, axisArgs);
+ return this;
+ };
+
+ return this;
+
+}
+
+MG.axis_factory = axisFactory;
+
+/* ================================================================================ */
+/* ================================================================================ */
+/* ================================================================================ */
+
+function y_rug (args) {
+ 'use strict';
+
+ if (!args.y_rug) {
+ return;
+ }
+
+ args.rug_buffer_size = args.chart_type === 'point'
+ ? args.buffer / 2
+ : args.buffer * 2 / 3;
+
+ var rug = mg_make_rug(args, 'mg-y-rug');
+
+ rug.attr('x1', args.left + 1)
+ .attr('x2', args.left + args.rug_buffer_size)
+ .attr('y1', args.scalefns.yf)
+ .attr('y2', args.scalefns.yf);
+
+ mg_add_color_accessor_to_rug(rug, args, 'mg-y-rug-mono');
+}
+
+MG.y_rug = y_rug;
+
+function mg_change_y_extents_for_bars (args, my) {
+ if (args.chart_type === 'bar') {
+ my.min = 0;
+ my.max = d3.max(args.data[0], function (d) {
+ var trio = [];
+ trio.push(d[args.y_accessor]);
+
+ if (args.baseline_accessor !== null) {
+ trio.push(d[args.baseline_accessor]);
+ }
+
+ if (args.predictor_accessor !== null) {
+ trio.push(d[args.predictor_accessor]);
+ }
+
+ return Math.max.apply(null, trio);
+ });
+ }
+ return my;
+}
+
+function mg_compute_yax_format (args) {
+ var yax_format = args.yax_format;
+ if (!yax_format) {
+ let decimals = args.decimals;
+ if (args.format === 'count') {
+ // increase decimals if we have small values, useful for realtime data
+ if (args.processed.y_ticks.length > 1) {
+ // calculate the number of decimals between the difference of ticks
+ // based on approach in flot: https://github.com/flot/flot/blob/958e5fd43c6dff4bab3e1fd5cb6109df5c1e8003/jquery.flot.js#L1810
+ decimals = Math.max(0, -Math.floor(
+ Math.log(Math.abs(args.processed.y_ticks[1] - args.processed.y_ticks[0])) / Math.LN10
+ ));
+ }
+
+ yax_format = function (d) {
+ var pf;
+
+ if (decimals !== 0) {
+ // don't scale tiny values
+ pf = d3.format(',.' + decimals + 'f');
+ } else if (d < 1000) {
+ pf = d3.format(',.0f');
+ } else {
+ pf = d3.format(',.2s');
+ }
+
+ // are we adding units after the value or before?
+ if (args.yax_units_append) {
+ return pf(d) + args.yax_units;
+ } else {
+ return args.yax_units + pf(d);
+ }
+ };
+ } else { // percentage
+ yax_format = function (d_) {
+ var n = d3.format('.0%');
+ return n(d_);
+ };
+ }
+ }
+ return yax_format;
+}
+
+function mg_bar_add_zero_line (args) {
+ var svg = mg_get_svg_child_of(args.target);
+ var extents = args.scales.X.domain();
+ if (0 >= extents[0] && extents[1] >= 0) {
+ var r = args.scales.Y.range();
+ var g = args.categorical_groups.length
+ ? args.scales.YGROUP(args.categorical_groups[args.categorical_groups.length - 1])
+ : args.scales.YGROUP();
+
+ svg.append('svg:line')
+ .attr('x1', args.scales.X(0))
+ .attr('x2', args.scales.X(0))
+ .attr('y1', r[0] + mg_get_plot_top(args))
+ .attr('y2', r[r.length - 1] + g)
+ .attr('stroke', 'black')
+ .attr('opacity', 0.2);
+ }
+}
+
+function mg_y_domain_range (args, scale) {
+ scale.domain([args.processed.min_y, args.processed.max_y])
+ .range([mg_get_plot_bottom(args), args.top]);
+ return scale;
+}
+
+function mg_define_y_scales (args) {
+ var scale = (mg_is_function(args.y_scale_type))
+ ? args.y_scale_type()
+ : (args.y_scale_type === 'log')
+ ? d3.scaleLog()
+ : d3.scaleLinear();
+
+ if (args.y_scale_type === 'log') {
+ if (args.chart_type === 'histogram') {
+ // log histogram plots should start just below 1
+ // so that bins with single counts are visible
+ args.processed.min_y = 0.2;
+ } else {
+ if (args.processed.min_y <= 0) {
+ args.processed.min_y = 1;
+ }
+ }
+ }
+ args.scales.Y = mg_y_domain_range(args, scale);
+ args.scales.Y.clamp(args.y_scale_type === 'log');
+
+ // used for ticks and such, and designed to be paired with log or linear
+ args.scales.Y_axis = mg_y_domain_range(args, d3.scaleLinear());
+}
+
+function mg_add_y_label (g, args) {
+ if (args.y_label) {
+ g.append('text')
+ .attr('class', 'label')
+ .attr('x', function () {
+ return -1 * (mg_get_plot_top(args) +
+ ((mg_get_plot_bottom(args)) - (mg_get_plot_top(args))) / 2);
+ })
+ .attr('y', function () {
+ return args.left / 2;
+ })
+ .attr('dy', '-1.2em')
+ .attr('text-anchor', 'middle')
+ .text(function (d) {
+ return args.y_label;
+ })
+ .attr('transform', function (d) {
+ return 'rotate(-90)';
+ });
+ }
+}
+
+function mg_add_y_axis_rim (g, args) {
+ var tick_length = args.processed.y_ticks.length;
+ if (!args.x_extended_ticks && !args.y_extended_ticks && tick_length) {
+ var y1scale, y2scale;
+
+ if (args.axes_not_compact && args.chart_type !== 'bar') {
+ y1scale = args.height - args.bottom;
+ y2scale = args.top;
+ } else if (tick_length) {
+ y1scale = args.scales.Y(args.processed.y_ticks[0]).toFixed(2);
+ y2scale = args.scales.Y(args.processed.y_ticks[tick_length - 1]).toFixed(2);
+ } else {
+ y1scale = 0;
+ y2scale = 0;
+ }
+
+ g.append('line')
+ .attr('x1', args.left)
+ .attr('x2', args.left)
+ .attr('y1', y1scale)
+ .attr('y2', y2scale);
+ }
+}
+
+function mg_add_y_axis_tick_lines (g, args) {
+ g.selectAll('.mg-yax-ticks')
+ .data(args.processed.y_ticks).enter()
+ .append('line')
+ .classed('mg-extended-yax-ticks', args.y_extended_ticks)
+ .attr('x1', args.left)
+ .attr('x2', function () {
+ return (args.y_extended_ticks) ? args.width - args.right : args.left - args.yax_tick_length;
+ })
+ .attr('y1', function (d) {
+ return args.scales.Y(d).toFixed(2);
+ })
+ .attr('y2', function (d) {
+ return args.scales.Y(d).toFixed(2);
+ });
+}
+
+function mg_add_y_axis_tick_labels (g, args) {
+ var yax_format = mg_compute_yax_format(args);
+ g.selectAll('.mg-yax-labels')
+ .data(args.processed.y_ticks).enter()
+ .append('text')
+ .attr('x', args.left - args.yax_tick_length * 3 / 2)
+ .attr('dx', -3)
+ .attr('y', function (d) {
+ return args.scales.Y(d).toFixed(2);
+ })
+ .attr('dy', '.35em')
+ .attr('text-anchor', 'end')
+ .text(function (d) {
+ var o = yax_format(d);
+ return o;
+ });
+}
+
+// TODO ought to be deprecated, only used by histogram
+function y_axis (args) {
+ if (!args.processed) {
+ args.processed = {};
+ }
+
+ var svg = mg_get_svg_child_of(args.target);
+ MG.call_hook('y_axis.process_min_max', args, args.processed.min_y, args.processed.max_y);
+ mg_selectAll_and_remove(svg, '.mg-y-axis');
+
+ if (!args.y_axis) {
+ return this;
+ }
+
+ var g = mg_add_g(svg, 'mg-y-axis');
+ mg_add_y_label(g, args);
+ mg_process_scale_ticks(args, 'y');
+ mg_add_y_axis_rim(g, args);
+ mg_add_y_axis_tick_lines(g, args);
+ mg_add_y_axis_tick_labels(g, args);
+
+ if (args.y_rug) {
+ y_rug(args);
+ }
+
+ return this;
+}
+
+MG.y_axis = y_axis;
+
+function mg_add_categorical_labels (args) {
+ var svg = mg_get_svg_child_of(args.target);
+ mg_selectAll_and_remove(svg, '.mg-y-axis');
+ var g = mg_add_g(svg, 'mg-y-axis');
+ var group_g;(args.categorical_groups.length ? args.categorical_groups : ['1']).forEach(function (group) {
+ group_g = mg_add_g(g, 'mg-group-' + mg_normalize(group));
+
+ if (args.ygroup_accessor !== null) {
+ mg_add_group_label(group_g, group, args);
+ } else {
+ var labels = mg_add_graphic_labels(group_g, group, args);
+ mg_rotate_labels(labels, args.rotate_y_labels);
+ }
+ });
+}
+
+function mg_add_graphic_labels (g, group, args) {
+ return g.selectAll('text').data(args.scales.Y.domain()).enter().append('svg:text')
+ .attr('x', args.left - args.buffer)
+ .attr('y', function (d) {
+ return args.scales.YGROUP(group) + args.scales.Y(d) + args.scales.Y.bandwidth() / 2;
+ })
+ .attr('dy', '.35em')
+ .attr('text-anchor', 'end')
+ .text(String);
+}
+
+function mg_add_group_label (g, group, args) {
+ g.append('svg:text')
+ .classed('mg-barplot-group-label', true)
+ .attr('x', args.left - args.buffer)
+ .attr('y', args.scales.YGROUP(group) + args.scales.YGROUP.bandwidth() / 2)
+ .attr('dy', '.35em')
+ .attr('text-anchor', 'end')
+ .text(group);
+}
+
+function mg_draw_group_lines (args) {
+ var svg = mg_get_svg_child_of(args.target);
+ var groups = args.scales.YGROUP.domain();
+ var first = groups[0];
+ var last = groups[groups.length - 1];
+
+ svg.select('.mg-category-guides').selectAll('mg-group-lines')
+ .data(groups)
+ .enter().append('line')
+ .attr('x1', mg_get_plot_left(args))
+ .attr('x2', mg_get_plot_left(args))
+ .attr('y1', function (d) {
+ return args.scales.YGROUP(d);
+ })
+ .attr('y2', function (d) {
+ return args.scales.YGROUP(d) + args.ygroup_height;
+ })
+ .attr('stroke-width', 1);
+}
+
+function mg_y_categorical_show_guides (args) {
+ // for each group
+ // for each data point
+ var svg = mg_get_svg_child_of(args.target);
+ var alreadyPlotted = [];
+ args.data[0].forEach(function (d) {
+ if (alreadyPlotted.indexOf(d[args.y_accessor]) === -1) {
+ svg.select('.mg-category-guides').append('line')
+ .attr('x1', mg_get_plot_left(args))
+ .attr('x2', mg_get_plot_right(args))
+ .attr('y1', args.scalefns.yf(d) + args.scalefns.ygroupf(d))
+ .attr('y2', args.scalefns.yf(d) + args.scalefns.ygroupf(d))
+ .attr('stroke-dasharray', '2,1');
+ }
+ });
+}
+
+function y_axis_categorical (args) {
+ if (!args.y_axis) {
+ return this;
+ }
+
+ mg_add_categorical_labels(args);
+ // mg_draw_group_scaffold(args);
+ if (args.show_bar_zero) mg_bar_add_zero_line(args);
+ if (args.ygroup_accessor) mg_draw_group_lines(args);
+ if (args.y_categorical_show_guides) mg_y_categorical_show_guides(args);
+ return this;
+}
+
+MG.y_axis_categorical = y_axis_categorical;
diff --git a/priv/static/js/metricsgraphics/common/zoom.js b/priv/static/js/metricsgraphics/common/zoom.js
new file mode 100644
index 0000000..eb877f2
--- /dev/null
+++ b/priv/static/js/metricsgraphics/common/zoom.js
@@ -0,0 +1,85 @@
+{
+
+const filter_in_range_data = (args, range) => {
+ const is_data_in_range = (data, range) => {
+ return data > Math.min(range[0], range[1]) && data < Math.max(range[0], range[1]);
+ };
+ // if range without this axis return true, else judge is data in range or not.
+ return d => ['x', 'y'].every(dim => !(dim in range) || is_data_in_range(d[args[`${dim}_accessor`]], range[dim]));
+};
+
+// the range here is the range of data
+// range is an object with two optional attributes of x,y, respectively represent ranges on two axes
+const zoom_to_data_domain = (args, range) => {
+ const raw_data = args.processed.raw_data || args.data;
+ // store raw data and raw domain to in order to zoom back to the initial state
+ if (!('raw_data' in args.processed)) {
+ args.processed.raw_domain = {
+ x: args.scales.X.domain(),
+ y: args.scales.Y.domain()
+ };
+ args.processed.raw_data = raw_data;
+ }
+ if (['x', 'y'].some(dim => range[dim][0] === range[dim][1])) return;
+ // to avoid drawing outside the chart in the point chart, unnecessary in line chart.
+ if (args.chart_type === 'point') {
+ if (is_array_of_arrays(raw_data)) {
+ args.data = raw_data.map(function(d) {
+ return d.filter(filter_in_range_data(args, range));
+ });
+ } else {
+ args.data = raw_data.filter(filter_in_range_data(args, range));
+ }
+ if (mg_flatten_array(args.data).length === 0) return;
+ }
+ ['x', 'y'].forEach(dim => {
+ if (dim in range) args.processed[`zoom_${dim}`] = range[dim];
+ else delete args.processed[`zoom_${dim}`];
+ });
+ if (args.processed.subplot) {
+ if (range !== args.processed.raw_domain) {
+ MG.create_brushing_pattern(args.processed.subplot, convert_domain_to_range(args.processed.subplot, range));
+ } else {
+ MG.remove_brushing_pattern(args.processed.subplot);
+ }
+ }
+ new MG.charts[args.chart_type || defaults.chart_type].descriptor(args);
+};
+
+const zoom_to_raw_range = args => {
+ if (!('raw_domain' in args.processed)) return;
+ zoom_to_data_domain(args, args.processed.raw_domain);
+ delete args.processed.raw_domain;
+ delete args.processed.raw_data;
+};
+
+// converts the range of selection into the range of data that we can use to
+// zoom the chart to a particular region
+const convert_range_to_domain = (args, range) =>
+ ['x', 'y'].reduce((domain, dim) => {
+ if (!(dim in range)) return domain;
+ domain[dim] = range[dim].map(v => +args.scales[dim.toUpperCase()].invert(v));
+ if (dim === 'y') domain[dim].reverse();
+ return domain;
+ }, {});
+
+const convert_domain_to_range = (args, domain) =>
+ ['x', 'y'].reduce((range, dim) => {
+ if (!(dim in domain)) return range;
+ range[dim] = domain[dim].map(v => +args.scales[dim.toUpperCase()](v));
+ if (dim === 'y') range[dim].reverse();
+ return range;
+ }, {});
+
+// the range here is the range of selection
+const zoom_to_data_range = (args, range) => {
+ const domain = convert_range_to_domain(args, range);
+ zoom_to_data_domain(args, domain);
+};
+
+MG.convert_range_to_domain = convert_range_to_domain;
+MG.zoom_to_data_domain = zoom_to_data_domain;
+MG.zoom_to_data_range = zoom_to_data_range;
+MG.zoom_to_raw_range = zoom_to_raw_range;
+
+}
diff --git a/priv/static/js/metricsgraphics/layout/bootstrap_dropdown.js b/priv/static/js/metricsgraphics/layout/bootstrap_dropdown.js
new file mode 100755
index 0000000..41dbfc5
--- /dev/null
+++ b/priv/static/js/metricsgraphics/layout/bootstrap_dropdown.js
@@ -0,0 +1,177 @@
+if (mg_jquery_exists()) {
+ /*!
+ * Bootstrap v3.3.1 (http://getbootstrap.com)
+ * Copyright 2011-2014 Twitter, Inc.
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ */
+
+ /*!
+ * Generated using the Bootstrap Customizer (http://getbootstrap.com/customize/?id=c3834cc5b59ef727da53)
+ * Config saved to config.json and https://gist.github.com/c3834cc5b59ef727da53
+ */
+
+ /* ========================================================================
+ * Bootstrap: dropdown.js v3.3.1
+ * http://getbootstrap.com/javascript/#dropdowns
+ * ========================================================================
+ * Copyright 2011-2014 Twitter, Inc.
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * ======================================================================== */
+
+
+ +function ($) {
+ 'use strict';
+
+ if(typeof $().dropdown == 'function')
+ return true;
+
+ // DROPDOWN CLASS DEFINITION
+ // =========================
+
+ var backdrop = '.dropdown-backdrop';
+ var toggle = '[data-toggle="dropdown"]';
+ var Dropdown = function (element) {
+ $(element).on('click.bs.dropdown', this.toggle);
+ };
+
+ Dropdown.VERSION = '3.3.1';
+
+ Dropdown.prototype.toggle = function (e) {
+ var $this = $(this);
+
+ if ($this.is('.disabled, :disabled')) return;
+
+ var $parent = getParent($this);
+ var isActive = $parent.hasClass('open');
+
+ clearMenus();
+
+ if (!isActive) {
+ if ('ontouchstart' in document.documentElement && !$parent.closest('.navbar-nav').length) {
+ // if mobile we use a backdrop because click events don't delegate
+ $('<div class="dropdown-backdrop"/>').insertAfter($(this)).on('click', clearMenus);
+ }
+
+ var relatedTarget = { relatedTarget: this };
+ $parent.trigger(e = $.Event('show.bs.dropdown', relatedTarget));
+
+ if (e.isDefaultPrevented()) return;
+
+ $this
+ .trigger('focus')
+ .attr('aria-expanded', 'true');
+
+ $parent
+ .toggleClass('open')
+ .trigger('shown.bs.dropdown', relatedTarget);
+ }
+
+ return false;
+ };
+
+ Dropdown.prototype.keydown = function (e) {
+ if (!/(38|40|27|32)/.test(e.which) || /input|textarea/i.test(e.target.tagName)) return;
+
+ var $this = $(this);
+
+ e.preventDefault();
+ e.stopPropagation();
+
+ if ($this.is('.disabled, :disabled')) return;
+
+ var $parent = getParent($this);
+ var isActive = $parent.hasClass('open');
+
+ if ((!isActive && e.which != 27) || (isActive && e.which == 27)) {
+ if (e.which == 27) $parent.find(toggle).trigger('focus');
+ return $this.trigger('click');
+ }
+
+ var desc = ' li:not(.divider):visible a';
+ var $items = $parent.find('[role="menu"]' + desc + ', [role="listbox"]' + desc);
+
+ if (!$items.length) return;
+
+ var index = $items.index(e.target);
+
+ if (e.which == 38 && index > 0) index--; // up
+ if (e.which == 40 && index < $items.length - 1) index++; // down
+ if (!~index) index = 0;
+
+ $items.eq(index).trigger('focus');
+ };
+
+ function clearMenus(e) {
+ if (e && e.which === 3) return;
+ $(backdrop).remove();
+ $(toggle).each(function () {
+ var $this = $(this);
+ var $parent = getParent($this);
+ var relatedTarget = { relatedTarget: this };
+
+ if (!$parent.hasClass('open')) return;
+
+ $parent.trigger(e = $.Event('hide.bs.dropdown', relatedTarget));
+
+ if (e.isDefaultPrevented()) return;
+
+ $this.attr('aria-expanded', 'false');
+ $parent.removeClass('open').trigger('hidden.bs.dropdown', relatedTarget);
+ });
+ }
+
+ function getParent($this) {
+ var selector = $this.attr('data-target');
+
+ if (!selector) {
+ selector = $this.attr('href');
+ selector = selector && /#[A-Za-z]/.test(selector) && selector.replace(/.*(?=#[^\s]*$)/, ''); // strip for ie7
+ }
+
+ var $parent = selector && $(selector);
+
+ return $parent && $parent.length ? $parent : $this.parent();
+ }
+
+
+ // DROPDOWN PLUGIN DEFINITION
+ // ==========================
+
+ function Plugin(option) {
+ return this.each(function () {
+ var $this = $(this);
+ var data = $this.data('bs.dropdown');
+
+ if (!data) $this.data('bs.dropdown', (data = new Dropdown(this)));
+ if (typeof option == 'string') data[option].call($this);
+ });
+ }
+
+ var old = $.fn.dropdown;
+
+ $.fn.dropdown = Plugin;
+ $.fn.dropdown.Constructor = Dropdown;
+
+
+ // DROPDOWN NO CONFLICT
+ // ====================
+
+ $.fn.dropdown.noConflict = function () {
+ $.fn.dropdown = old;
+ return this;
+ };
+
+
+ // APPLY TO STANDARD DROPDOWN ELEMENTS
+ // ===================================
+
+ $(document)
+ .on('click.bs.dropdown.data-api', clearMenus)
+ .on('click.bs.dropdown.data-api', '.dropdown form', function (e) { e.stopPropagation(); })
+ .on('click.bs.dropdown.data-api', toggle, Dropdown.prototype.toggle)
+ .on('keydown.bs.dropdown.data-api', toggle, Dropdown.prototype.keydown)
+ .on('keydown.bs.dropdown.data-api', '[role="menu"]', Dropdown.prototype.keydown)
+ .on('keydown.bs.dropdown.data-api', '[role="listbox"]', Dropdown.prototype.keydown);
+
+ }(jQuery);
+}
diff --git a/priv/static/js/metricsgraphics/layout/button.js b/priv/static/js/metricsgraphics/layout/button.js
new file mode 100644
index 0000000..b122273
--- /dev/null
+++ b/priv/static/js/metricsgraphics/layout/button.js
@@ -0,0 +1,126 @@
+MG.button_layout = function(target) {
+ 'use strict';
+ this.target = target;
+ this.feature_set = {};
+ this.public_name = {};
+ this.sorters = {};
+ this.manual = [];
+ this.manual_map = {};
+ this.manual_callback = {};
+
+ this._strip_punctuation = function(s) {
+ var punctuationless = s.replace(/[^a-zA-Z0-9 _]+/g, '');
+ var finalString = punctuationless.replace(/ +?/g, '');
+ return finalString;
+ };
+
+ this.data = function(data) {
+ this._data = data;
+ return this;
+ };
+
+ this.manual_button = function(feature, feature_set, callback) {
+ this.feature_set[feature] = feature_set;
+ this.manual_map[this._strip_punctuation(feature)] = feature;
+ this.manual_callback[feature] = callback; // the default is going to be the first feature.
+ return this;
+ };
+
+ this.button = function(feature) {
+ if (arguments.length > 1) {
+ this.public_name[feature] = arguments[1];
+ }
+
+ if (arguments.length > 2) {
+ this.sorters[feature] = arguments[2];
+ }
+
+ this.feature_set[feature] = [];
+ return this;
+ };
+
+ this.callback = function(callback) {
+ this._callback = callback;
+ return this;
+ };
+
+ this.display = function() {
+ var callback = this._callback;
+ var manual_callback = this.manual_callback;
+ var manual_map = this.manual_map;
+
+ var d, f, features, feat;
+ features = Object.keys(this.feature_set);
+
+ var mapDtoF = function(f) {
+ return d[f]; };
+
+ var i;
+
+ // build out this.feature_set with this.data
+ for (i = 0; i < this._data.length; i++) {
+ d = this._data[i];
+ f = features.map(mapDtoF);
+ for (var j = 0; j < features.length; j++) {
+ feat = features[j];
+ if (this.feature_set[feat].indexOf(f[j]) === -1) {
+ this.feature_set[feat].push(f[j]);
+ }
+ }
+ }
+
+ for (feat in this.feature_set) {
+ if (this.sorters.hasOwnProperty(feat)) {
+ this.feature_set[feat].sort(this.sorters[feat]);
+ }
+ }
+
+ $(this.target).empty();
+
+ $(this.target).append("<div class='col-lg-12 segments text-center'></div>");
+
+ var dropdownLiAClick = function() {
+ var k = $(this).data('key');
+ var feature = $(this).data('feature');
+ var manual_feature;
+ $('.' + feature + '-btns button.btn span.title').html(k);
+ if (!manual_map.hasOwnProperty(feature)) {
+ callback(feature, k);
+ } else {
+ manual_feature = manual_map[feature];
+ manual_callback[manual_feature](k);
+ }
+
+ return false;
+ };
+
+ for (var feature in this.feature_set) {
+ features = this.feature_set[feature];
+ $(this.target + ' div.segments').append(
+ '<div class="btn-group ' + this._strip_punctuation(feature) + '-btns text-left">' + // This never changes.
+ '<button type="button" class="btn btn-default btn-lg dropdown-toggle" data-toggle="dropdown">' +
+ "<span class='which-button'>" + (this.public_name.hasOwnProperty(feature) ? this.public_name[feature] : feature) + "</span>" +
+ "<span class='title'>" + (this.manual_callback.hasOwnProperty(feature) ? this.feature_set[feature][0] : 'all') + "</span>" + // if a manual button, don't default to all in label.
+ '<span class="caret"></span>' +
+ '</button>' +
+ '<ul class="dropdown-menu" role="menu">' +
+ (!this.manual_callback.hasOwnProperty(feature) ? '<li><a href="#" data-feature="' + feature + '" data-key="all">All</a></li>' : "") +
+ (!this.manual_callback.hasOwnProperty(feature) ? '<li class="divider"></li>' : "") +
+ '</ul>' + '</div>');
+
+ for (i = 0; i < features.length; i++) {
+ if (features[i] !== 'all' && features[i] !== undefined) { // strange bug with undefined being added to manual buttons.
+ $(this.target + ' div.' + this._strip_punctuation(feature) + '-btns ul.dropdown-menu').append(
+ '<li><a href="#" data-feature="' + this._strip_punctuation(feature) + '" data-key="' + features[i] + '">' + features[i] + '</a></li>'
+ );
+ }
+ }
+
+ $('.' + this._strip_punctuation(feature) + '-btns .dropdown-menu li a').on('click', dropdownLiAClick);
+ }
+
+ return this;
+ };
+
+ return this;
+};
diff --git a/priv/static/js/metricsgraphics/misc/error.js b/priv/static/js/metricsgraphics/misc/error.js
new file mode 100644
index 0000000..cf2eee3
--- /dev/null
+++ b/priv/static/js/metricsgraphics/misc/error.js
@@ -0,0 +1,16 @@
+// call this to add a warning icon to a graph and log an error to the console
+function error(args) {
+ console.error('ERROR : ', args.target, ' : ', args.error);
+
+ d3.select(args.target).select('.mg-chart-title')
+ .append('tspan')
+ .attr('class', 'fa fa-x fa-exclamation-circle mg-warning')
+ .attr('dx', '0.3em')
+ .text('\uf06a');
+}
+
+function internal_error(args) {
+ console.error('INTERNAL ERROR : ', args.target, ' : ', args.internal_error);
+}
+
+MG.error = error;
diff --git a/priv/static/js/metricsgraphics/misc/formatters.js b/priv/static/js/metricsgraphics/misc/formatters.js
new file mode 100644
index 0000000..1533fd5
--- /dev/null
+++ b/priv/static/js/metricsgraphics/misc/formatters.js
@@ -0,0 +1,147 @@
+function format_rollover_number(args) {
+ var num;
+ if (args.format === 'count') {
+ num = function(d) {
+ var is_float = d % 1 !== 0;
+ var pf;
+
+ if (is_float) {
+ pf = d3.format(',.' + args.decimals + 'f');
+ } else {
+ pf = d3.format(',.0f');
+ }
+
+ // are we adding units after the value or before?
+ if (args.yax_units_append) {
+ return pf(d) + args.yax_units;
+ } else {
+ return args.yax_units + pf(d);
+ }
+ };
+ } else {
+ num = function(d_) {
+ var fmt_string = (isNumeric(args.decimals) ? '.' + args.decimals : '') + '%';
+ var pf = d3.format(fmt_string);
+ return pf(d_);
+ };
+ }
+ return num;
+}
+
+var time_rollover_format = function(f, d, accessor, utc) {
+ var fd;
+ if (typeof f === 'string') {
+ fd = MG.time_format(utc, f)(d[accessor]);
+ } else if (typeof f === 'function') {
+ fd = f(d);
+ } else {
+ fd = d[accessor];
+ }
+ return fd;
+};
+
+// define our rollover format for numbers
+var number_rollover_format = function(f, d, accessor) {
+ var fd;
+ if (typeof f === 'string') {
+ fd = d3.format('s')(d[accessor]);
+ } else if (typeof f === 'function') {
+ fd = f(d);
+ } else {
+ fd = d[accessor];
+ }
+ return fd;
+};
+
+function mg_format_y_rollover(args, num, d) {
+ var formatted_y;
+ if (args.y_mouseover !== null) {
+ if (args.aggregate_rollover) {
+ formatted_y = number_rollover_format(args.y_mouseover, d, args.y_accessor);
+ } else {
+ formatted_y = number_rollover_format(args.y_mouseover, d, args.y_accessor);
+ }
+ } else {
+ if (args.time_series) {
+ if (args.aggregate_rollover) {
+ formatted_y = num(d[args.y_accessor]);
+ } else {
+ formatted_y = args.yax_units + num(d[args.y_accessor]);
+ }
+ } else {
+ formatted_y = args.y_accessor + ': ' + args.yax_units + num(d[args.y_accessor]);
+ }
+ }
+ return formatted_y;
+}
+
+function mg_format_x_rollover(args, fmt, d) {
+ var formatted_x;
+ if (args.x_mouseover !== null) {
+ if (args.time_series) {
+ if (args.aggregate_rollover) {
+ formatted_x = time_rollover_format(args.x_mouseover, d, 'key', args.utc);
+ } else {
+ formatted_x = time_rollover_format(args.x_mouseover, d, args.x_accessor, args.utc);
+ }
+ } else {
+ formatted_x = number_rollover_format(args.x_mouseover, d, args.x_accessor);
+ }
+ } else {
+ if (args.time_series) {
+ var date;
+
+ if (args.aggregate_rollover && args.data.length > 1) {
+ date = new Date(d.key);
+ } else {
+ date = new Date(+d[args.x_accessor]);
+ date.setDate(date.getDate());
+ }
+
+ formatted_x = fmt(date) + ' ';
+ } else {
+ formatted_x = args.x_accessor + ': ' + d[args.x_accessor] + ' ';
+ }
+ }
+ return formatted_x;
+}
+
+function mg_format_data_for_mouseover(args, d, mouseover_fcn, accessor, check_time) {
+ var formatted_data, formatter;
+ var time_fmt = mg_get_rollover_time_format(args);
+ if (typeof d[accessor] === 'string') {
+ formatter = function(d) {
+ return d;
+ };
+ } else {
+ formatter = format_rollover_number(args);
+ }
+
+ if (mouseover_fcn !== null) {
+ if (check_time) formatted_data = time_rollover_format(mouseover_fcn, d, accessor, args.utc);
+ else formatted_data = number_rollover_format(mouseover_fcn, d, accessor);
+
+ } else {
+ if (check_time) formatted_data = time_fmt(new Date(+d[accessor])) + ' ';
+ else formatted_data = (args.time_series ? '' : accessor + ': ') + formatter(d[accessor]) + ' ';
+ }
+ return formatted_data;
+}
+
+function mg_format_number_mouseover(args, d) {
+ return mg_format_data_for_mouseover(args, d, args.x_mouseover, args.x_accessor, false);
+}
+
+function mg_format_x_mouseover(args, d) {
+ return mg_format_data_for_mouseover(args, d, args.x_mouseover, args.x_accessor, args.time_series);
+}
+
+function mg_format_y_mouseover(args, d) {
+ return mg_format_data_for_mouseover(args, d, args.y_mouseover, args.y_accessor, false);
+}
+
+function mg_format_x_aggregate_mouseover(args, d) {
+ return mg_format_data_for_mouseover(args, d, args.x_mouseover, 'key', args.time_series);
+}
+
+MG.format_rollover_number = format_rollover_number;
diff --git a/priv/static/js/metricsgraphics/misc/markup.js b/priv/static/js/metricsgraphics/misc/markup.js
new file mode 100644
index 0000000..c49f12a
--- /dev/null
+++ b/priv/static/js/metricsgraphics/misc/markup.js
@@ -0,0 +1,66 @@
+// influenced by https://bl.ocks.org/tomgp/c99a699587b5c5465228
+
+function render_markup_for_server(callback) {
+ var virtual_window = MG.virtual_window;
+ var virtual_d3 = d3.select(virtual_window.document);
+ var target = virtual_window.document.createElement('div');
+
+ var original_d3 = global.d3;
+ var original_window = global.window;
+ var original_document = global.document;
+ global.d3 = virtual_d3;
+ global.window = virtual_window;
+ global.document = virtual_window.document;
+
+ var error;
+ try {
+ callback(target);
+ } catch(e) {
+ error = e;
+ }
+
+ global.d3 = original_d3;
+ global.window = original_window;
+ global.document = original_document;
+
+ if (error) {
+ throw error;
+ }
+
+ /* for some reason d3.select parses jsdom elements incorrectly
+ * but it works if we wrap the element in a function.
+ */
+ return virtual_d3.select(function targetFn() {
+ return target;
+ }).html();
+}
+
+function render_markup_for_client(callback) {
+ var target = document.createElement('div');
+ callback(target);
+ return d3.select(target).html();
+}
+
+function render_markup(callback) {
+ switch(typeof window) {
+ case 'undefined':
+ return render_markup_for_server(callback);
+ default:
+ return render_markup_for_client(callback);
+ }
+}
+
+function init_virtual_window(jsdom, force) {
+ if (MG.virtual_window && !force) {
+ return;
+ }
+
+ var doc = jsdom.jsdom({
+ html: '',
+ features: { QuerySelector: true }
+ });
+ MG.virtual_window = doc.defaultView;
+}
+
+MG.render_markup = render_markup;
+MG.init_virtual_window = init_virtual_window;
diff --git a/priv/static/js/metricsgraphics/misc/process.js b/priv/static/js/metricsgraphics/misc/process.js
new file mode 100644
index 0000000..d0d312d
--- /dev/null
+++ b/priv/static/js/metricsgraphics/misc/process.js
@@ -0,0 +1,368 @@
+function mg_process_scale_ticks(args, axis) {
+ var accessor;
+ var scale_ticks;
+ var max;
+
+ if (axis === 'x') {
+ accessor = args.x_accessor;
+ scale_ticks = args.scales.X.ticks(args.xax_count);
+ max = args.processed.max_x;
+ } else if (axis === 'y') {
+ accessor = args.y_accessor;
+ scale_ticks = args.scales.Y.ticks(args.yax_count);
+ max = args.processed.max_y;
+ }
+
+ function log10(val) {
+ if (val === 1000) {
+ return 3;
+ }
+ if (val === 1000000) {
+ return 7;
+ }
+ return Math.log(val) / Math.LN10;
+ }
+
+ if ((axis === 'x' && args.x_scale_type === 'log') || (axis === 'y' && args.y_scale_type === 'log')) {
+ // get out only whole logs
+ scale_ticks = scale_ticks.filter(function(d) {
+ return Math.abs(log10(d)) % 1 < 1e-6 || Math.abs(log10(d)) % 1 > 1 - 1e-6;
+ });
+ }
+
+ // filter out fraction ticks if our data is ints and if xmax > number of generated ticks
+ var number_of_ticks = scale_ticks.length;
+
+ // is our data object all ints?
+ var data_is_int = true;
+ args.data.forEach(function(d, i) {
+ d.forEach(function(d, i) {
+ if (d[accessor] % 1 !== 0) {
+ data_is_int = false;
+ return false;
+ }
+ });
+ });
+
+ if (data_is_int && number_of_ticks > max && args.format === 'count') {
+ // remove non-integer ticks
+ scale_ticks = scale_ticks.filter(function(d) {
+ return d % 1 === 0;
+ });
+ }
+
+ if (axis === 'x') {
+ args.processed.x_ticks = scale_ticks;
+ } else if (axis === 'y') {
+ args.processed.y_ticks = scale_ticks;
+ }
+}
+
+function raw_data_transformation(args) {
+ 'use strict';
+
+ // dupe our data so we can modify it without adverse effect
+ args.data = MG.clone(args.data);
+
+ // we need to account for a few data format cases:
+ // #0 {bar1:___, bar2:___} // single object (for, say, bar charts)
+ // #1 [{key:__, value:__}, ...] // unnested obj-arrays
+ // #2 [[{key:__, value:__}, ...], [{key:__, value:__}, ...]] // nested obj-arrays
+ // #3 [[4323, 2343],..] // unnested 2d array
+ // #4 [[[4323, 2343],..] , [[4323, 2343],..]] // nested 2d array
+ args.single_object = false; // for bar charts.
+ args.array_of_objects = false;
+ args.array_of_arrays = false;
+ args.nested_array_of_arrays = false;
+ args.nested_array_of_objects = false;
+
+ // is the data object a nested array?
+
+ if (is_array_of_arrays(args.data)) {
+ args.nested_array_of_objects = args.data.map(function(d) {
+ return is_array_of_objects_or_empty(d);
+ }); // Case #2
+ args.nested_array_of_arrays = args.data.map(function(d) {
+ return is_array_of_arrays(d);
+ }); // Case #4
+ } else {
+ args.array_of_objects = is_array_of_objects(args.data); // Case #1
+ args.array_of_arrays = is_array_of_arrays(args.data); // Case #3
+ }
+
+ if (args.chart_type === 'line') {
+ if (args.array_of_objects || args.array_of_arrays) {
+ args.data = [args.data];
+ }
+ } else {
+ if (!(mg_is_array(args.data[0]))) {
+ args.data = [args.data];
+ }
+ }
+ // if the y_accessor is an array, break it up and store the result in args.data
+ mg_process_multiple_x_accessors(args);
+ mg_process_multiple_y_accessors(args);
+
+ // if user supplies keyword in args.color, change to arg.colors.
+ // this is so that the API remains fairly sensible and legible.
+ if (args.color !== undefined) {
+ args.colors = args.color;
+ }
+
+ // if user has supplied args.colors, and that value is a string, turn it into an array.
+ if (args.colors !== null && typeof args.colors === 'string') {
+ args.colors = [args.colors];
+ }
+
+ // sort x-axis data
+ if (args.chart_type === 'line' && args.x_sort === true) {
+ for (var i = 0; i < args.data.length; i++) {
+ args.data[i].sort(function(a, b) {
+ return a[args.x_accessor] - b[args.x_accessor];
+ });
+ }
+ }
+
+ return this;
+}
+
+function mg_process_multiple_accessors(args, which_accessor) {
+ // turns an array of accessors into ...
+ if (mg_is_array(args[which_accessor])) {
+ args.data = args.data.map(function(_d) {
+ return args[which_accessor].map(function(ya) {
+ return _d.map(function(di) {
+ di = MG.clone(di);
+
+ if (di[ya] === undefined) {
+ return undefined;
+ }
+
+ di['multiline_' + which_accessor] = di[ya];
+ return di;
+ }).filter(function(di) {
+ return di !== undefined;
+ });
+ });
+ })[0];
+ args[which_accessor] = 'multiline_' + which_accessor;
+ }
+}
+
+function mg_process_multiple_x_accessors(args) {
+ mg_process_multiple_accessors(args, 'x_accessor');
+}
+
+function mg_process_multiple_y_accessors(args) {
+ mg_process_multiple_accessors(args, 'y_accessor');
+}
+
+MG.raw_data_transformation = raw_data_transformation;
+
+function process_line(args) {
+ 'use strict';
+
+ var time_frame;
+
+ // do we have a time-series?
+ var is_time_series = d3.sum(args.data.map(function(series) {
+ return series.length > 0 && mg_is_date(series[0][args.x_accessor]);
+ })) > 0;
+
+ // are we replacing missing y values with zeros?
+ if ((args.missing_is_zero || args.missing_is_hidden) && args.chart_type === 'line' && is_time_series) {
+ for (var i = 0; i < args.data.length; i++) {
+ // we need to have a dataset of length > 2, so if it's less than that, skip
+ if (args.data[i].length <= 1) {
+ continue;
+ }
+
+ var first = args.data[i][0];
+ var last = args.data[i][args.data[i].length - 1];
+
+ // initialize our new array for storing the processed data
+ var processed_data = [];
+
+ // we'll be starting from the day after our first date
+ var start_date = MG.clone(first[args.x_accessor]).setDate(first[args.x_accessor].getDate() + 1);
+
+ // if we've set a max_x, add data points up to there
+ var from = (args.min_x) ? args.min_x : start_date;
+ var upto = (args.max_x) ? args.max_x : last[args.x_accessor];
+
+ time_frame = mg_get_time_frame((upto - from) / 1000);
+
+ if (['four-days', 'many-days', 'many-months', 'years', 'default'].indexOf(time_frame) !== -1 && args.missing_is_hidden_accessor === null) {
+ for (var d = new Date(from); d <= upto; d.setDate(d.getDate() + 1)) {
+ var o = {};
+ d.setHours(0, 0, 0, 0);
+
+ // add the first date item, we'll be starting from the day after our first date
+ if (Date.parse(d) === Date.parse(new Date(start_date))) {
+ processed_data.push(MG.clone(args.data[i][0]));
+ }
+
+ // check to see if we already have this date in our data object
+ var existing_o = null;
+ args.data[i].forEach(function(val, i) {
+ if (Date.parse(val[args.x_accessor]) === Date.parse(new Date(d))) {
+ existing_o = val;
+
+ return false;
+ }
+ });
+
+ // if we don't have this date in our data object, add it and set it to zero
+ if (!existing_o) {
+ o[args.x_accessor] = new Date(d);
+ o[args.y_accessor] = 0;
+ o['_missing'] = true; //we want to distinguish between zero-value and missing observations
+ processed_data.push(o);
+ }
+
+ // if the data point has, say, a 'missing' attribute set or if its
+ // y-value is null identify it internally as missing
+ else if (existing_o[args.missing_is_hidden_accessor] || existing_o[args.y_accessor] === null) {
+ existing_o['_missing'] = true;
+ processed_data.push(existing_o);
+ }
+
+ //otherwise, use the existing object for that date
+ else {
+ processed_data.push(existing_o);
+ }
+ }
+ } else {
+ for (var j = 0; j < args.data[i].length; j += 1) {
+ var obj = MG.clone(args.data[i][j]);
+ obj['_missing'] = args.data[i][j][args.missing_is_hidden_accessor];
+ processed_data.push(obj);
+ }
+ }
+
+ // update our date object
+ args.data[i] = processed_data;
+ }
+ }
+
+ return this;
+}
+
+MG.process_line = process_line;
+
+function process_histogram(args) {
+ 'use strict';
+
+ // if args.binned == false, then we need to bin the data appropriately.
+ // if args.binned == true, then we need to make sure to compute the relevant computed data.
+ // the outcome of either of these should be something in args.computed_data.
+ // the histogram plotting function will be looking there for the data to plot.
+
+ // we need to compute an array of objects.
+ // each object has an x, y, and dx.
+
+ // histogram data is always single dimension
+ var our_data = args.data[0];
+
+ var extracted_data;
+ if (args.binned === false) {
+ // use d3's built-in layout.histogram functionality to compute what you need.
+
+ if (typeof(our_data[0]) === 'object') {
+ // we are dealing with an array of objects. Extract the data value of interest.
+ extracted_data = our_data
+ .map(function(d) {
+ return d[args.x_accessor];
+ });
+ } else if (typeof(our_data[0]) === 'number') {
+ // we are dealing with a simple array of numbers. No extraction needed.
+ extracted_data = our_data;
+ } else {
+ console.log('TypeError: expected an array of numbers, found ' + typeof(our_data[0]));
+ return;
+ }
+
+ var hist = d3.histogram();
+ if (args.bins) {
+ hist.thresholds(args.bins);
+ }
+
+ var bins = hist(extracted_data);
+ args.processed_data = bins.map(function(d) {
+ return { 'x': d.x0, 'y': d.length };
+ });
+ } else {
+ // here, we just need to reconstruct the array of objects
+ // take the x accessor and y accessor.
+ // pull the data as x and y. y is count.
+
+ args.processed_data = our_data.map(function(d) {
+ return { 'x': d[args.x_accessor], 'y': d[args.y_accessor] };
+ });
+
+ var this_pt;
+ var next_pt;
+
+ // we still need to compute the dx component for each data point
+ for (var i = 0; i < args.processed_data.length; i++) {
+ this_pt = args.processed_data[i];
+ if (i === args.processed_data.length - 1) {
+ this_pt.dx = args.processed_data[i - 1].dx;
+ } else {
+ next_pt = args.processed_data[i + 1];
+ this_pt.dx = next_pt.x - this_pt.x;
+ }
+ }
+ }
+
+ // capture the original data and accessors before replacing args.data
+ if (!args.processed) {
+ args.processed = {};
+ }
+ args.processed.original_data = args.data;
+ args.processed.original_x_accessor = args.x_accessor;
+ args.processed.original_y_accessor = args.y_accessor;
+
+ args.data = [args.processed_data];
+ args.x_accessor = args.processed_x_accessor;
+ args.y_accessor = args.processed_y_accessor;
+
+ return this;
+}
+
+MG.process_histogram = process_histogram;
+
+// for use with bar charts, etc.
+function process_categorical_variables(args) {
+ 'use strict';
+
+ var extracted_data, processed_data = {},
+ pd = [];
+ //var our_data = args.data[0];
+ var label_accessor = args.bar_orientation === 'vertical' ? args.x_accessor : args.y_accessor;
+ var data_accessor = args.bar_orientation === 'vertical' ? args.y_accessor : args.x_accessor;
+
+ return this;
+}
+
+MG.process_categorical_variables = process_categorical_variables;
+
+function process_point(args) {
+ 'use strict';
+
+ var data = args.data[0];
+ var x = data.map(function(d) {
+ return d[args.x_accessor];
+ });
+ var y = data.map(function(d) {
+ return d[args.y_accessor];
+ });
+
+ if (args.least_squares) {
+ args.ls_line = least_squares(x, y);
+ }
+
+ return this;
+}
+
+MG.process_point = process_point;
diff --git a/priv/static/js/metricsgraphics/misc/smoothers.js b/priv/static/js/metricsgraphics/misc/smoothers.js
new file mode 100644
index 0000000..aab8a00
--- /dev/null
+++ b/priv/static/js/metricsgraphics/misc/smoothers.js
@@ -0,0 +1,280 @@
+function add_ls(args) {
+ var svg = mg_get_svg_child_of(args.target);
+ var data = args.data[0];
+ var min_x = d3.min(data, function(d) {
+ return d[args.x_accessor]; });
+ var max_x = d3.max(data, function(d) {
+ return d[args.x_accessor]; });
+
+ d3.select(args.target).selectAll('.mg-least-squares-line').remove();
+
+ svg.append('svg:line')
+ .attr('x1', args.scales.X(min_x))
+ .attr('x2', args.scales.X(max_x))
+ .attr('y1', args.scales.Y(args.ls_line.fit(min_x)))
+ .attr('y2', args.scales.Y(args.ls_line.fit(max_x)))
+ .attr('class', 'mg-least-squares-line');
+}
+
+MG.add_ls = add_ls;
+
+function add_lowess(args) {
+ var svg = mg_get_svg_child_of(args.target);
+ var lowess = args.lowess_line;
+
+ var line = d3.svg.line()
+ .x(function(d) {
+ return args.scales.X(d.x); })
+ .y(function(d) {
+ return args.scales.Y(d.y); })
+ .interpolate(args.interpolate);
+
+ svg.append('path')
+ .attr('d', line(lowess))
+ .attr('class', 'mg-lowess-line');
+}
+
+MG.add_lowess = add_lowess;
+
+function lowess_robust(x, y, alpha, inc) {
+ // Used http://www.unc.edu/courses/2007spring/biol/145/001/docs/lectures/Oct27.html
+ // for the clear explanation of robust lowess.
+
+ // calculate the the first pass.
+ var _l;
+ var r = [];
+ var yhat = d3.mean(y);
+ var i;
+ for (i = 0; i < x.length; i += 1) { r.push(1); }
+ _l = _calculate_lowess_fit(x, y, alpha, inc, r);
+ var x_proto = _l.x;
+ var y_proto = _l.y;
+
+ // Now, take the fit, recalculate the weights, and re-run LOWESS using r*w instead of w.
+
+ for (i = 0; i < 100; i += 1) {
+ r = d3.zip(y_proto, y).map(function(yi) {
+ return Math.abs(yi[1] - yi[0]);
+ });
+
+ var q = d3.quantile(r.sort(), 0.5);
+
+ r = r.map(function(ri) {
+ return _bisquare_weight(ri / (6 * q));
+ });
+
+ _l = _calculate_lowess_fit(x, y, alpha, inc, r);
+ x_proto = _l.x;
+ y_proto = _l.y;
+ }
+
+ return d3.zip(x_proto, y_proto).map(function(d) {
+ var p = {};
+ p.x = d[0];
+ p.y = d[1];
+ return p;
+ });
+}
+
+MG.lowess_robust = lowess_robust;
+
+function lowess(x, y, alpha, inc) {
+ var r = [];
+ for (var i = 0; i < x.length; i += 1) { r.push(1); }
+ var _l = _calculate_lowess_fit(x, y, alpha, inc, r);
+}
+
+MG.lowess = lowess;
+
+function least_squares(x_, y_) {
+ var x, y, xi, yi,
+ _x = 0,
+ _y = 0,
+ _xy = 0,
+ _xx = 0;
+
+ var n = x_.length;
+ if (mg_is_date(x_[0])) {
+ x = x_.map(function(d) {
+ return d.getTime();
+ });
+ } else {
+ x = x_;
+ }
+
+ if (mg_is_date(y_[0])) {
+ y = y_.map(function(d) {
+ return d.getTime();
+ });
+ } else {
+ y = y_;
+ }
+
+ var xhat = d3.mean(x);
+ var yhat = d3.mean(y);
+ var numerator = 0,
+ denominator = 0;
+
+ for (var i = 0; i < x.length; i++) {
+ xi = x[i];
+ yi = y[i];
+ numerator += (xi - xhat) * (yi - yhat);
+ denominator += (xi - xhat) * (xi - xhat);
+ }
+
+ var beta = numerator / denominator;
+ var x0 = yhat - beta * xhat;
+
+ return {
+ x0: x0,
+ beta: beta,
+ fit: function(x) {
+ return x0 + x * beta;
+ }
+ };
+}
+
+MG.least_squares = least_squares;
+
+function _pow_weight(u, w) {
+ if (u >= 0 && u <= 1) {
+ return Math.pow(1 - Math.pow(u, w), w);
+ } else {
+ return 0;
+ }
+}
+
+function _bisquare_weight(u) {
+ return _pow_weight(u, 2);
+}
+
+function _tricube_weight(u) {
+ return _pow_weight(u, 3);
+}
+
+function _neighborhood_width(x0, xis) {
+ return Array.max(xis.map(function(xi) {
+ return Math.abs(x0 - xi);
+ }));
+}
+
+function _manhattan(x1, x2) {
+ return Math.abs(x1 - x2);
+}
+
+function _weighted_means(wxy) {
+ var wsum = d3.sum(wxy.map(function(wxyi) {
+ return wxyi.w; }));
+
+ return {
+ xbar: d3.sum(wxy.map(function(wxyi) {
+ return wxyi.w * wxyi.x;
+ })) / wsum,
+ ybar: d3.sum(wxy.map(function(wxyi) {
+ return wxyi.w * wxyi.y;
+ })) / wsum
+ };
+}
+
+function _weighted_beta(wxy, xbar, ybar) {
+ var num = d3.sum(wxy.map(function(wxyi) {
+ return Math.pow(wxyi.w, 2) * (wxyi.x - xbar) * (wxyi.y - ybar);
+ }));
+
+ var denom = d3.sum(wxy.map(function(wxyi) {
+ return Math.pow(wxyi.w, 2) * Math.pow(wxyi.x - xbar, 2);
+ }));
+
+ return num / denom;
+}
+
+function _weighted_least_squares(wxy) {
+ var ybar, xbar, beta_i, x0;
+
+ var _wm = _weighted_means(wxy);
+
+ xbar = _wm.xbar;
+ ybar = _wm.ybar;
+
+ var beta = _weighted_beta(wxy, xbar, ybar);
+
+ return {
+ beta: beta,
+ xbar: xbar,
+ ybar: ybar,
+ x0: ybar - beta * xbar
+
+ };
+}
+
+function _calculate_lowess_fit(x, y, alpha, inc, residuals) {
+ // alpha - smoothing factor. 0 < alpha < 1/
+ //
+ //
+ var k = Math.floor(x.length * alpha);
+
+ var sorted_x = x.slice();
+
+ sorted_x.sort(function(a, b) {
+ if (a < b) {
+ return -1; } else if (a > b) {
+ return 1; }
+
+ return 0;
+ });
+
+ var x_max = d3.quantile(sorted_x, 0.98);
+ var x_min = d3.quantile(sorted_x, 0.02);
+
+ var xy = d3.zip(x, y, residuals).sort();
+
+ var size = Math.abs(x_max - x_min) / inc;
+
+ var smallest = x_min;
+ var largest = x_max;
+ var x_proto = d3.range(smallest, largest, size);
+
+ var xi_neighbors;
+ var x_i, beta_i, x0_i, delta_i, xbar, ybar;
+
+ // for each prototype, find its fit.
+ var y_proto = [];
+
+ for (var i = 0; i < x_proto.length; i += 1) {
+ x_i = x_proto[i];
+
+ // get k closest neighbors.
+ xi_neighbors = xy.map(function(xyi) {
+ return [
+ Math.abs(xyi[0] - x_i),
+ xyi[0],
+ xyi[1],
+ xyi[2]
+ ];
+ }).sort().slice(0, k);
+
+ // Get the largest distance in the neighbor set.
+ delta_i = d3.max(xi_neighbors)[0];
+
+ // Prepare the weights for mean calculation and WLS.
+
+ xi_neighbors = xi_neighbors.map(function(wxy) {
+ return {
+ w: _tricube_weight(wxy[0] / delta_i) * wxy[3],
+ x: wxy[1],
+ y: wxy[2]
+ };
+ });
+
+ // Find the weighted least squares, obviously.
+ var _output = _weighted_least_squares(xi_neighbors);
+
+ x0_i = _output.x0;
+ beta_i = _output.beta;
+
+ //
+ y_proto.push(x0_i + beta_i * x_i);
+ }
+
+ return { x: x_proto, y: y_proto };
+}
diff --git a/priv/static/js/metricsgraphics/misc/transitions.js b/priv/static/js/metricsgraphics/misc/transitions.js
new file mode 100644
index 0000000..da1e503
--- /dev/null
+++ b/priv/static/js/metricsgraphics/misc/transitions.js
@@ -0,0 +1,31 @@
+// http://bl.ocks.org/mbostock/3916621
+function path_tween(d1, precision) {
+ return function() {
+ var path0 = this,
+ path1 = path0.cloneNode(),
+ n0 = path0.getTotalLength() || 0,
+ n1 = (path1.setAttribute("d", d1), path1).getTotalLength() || 0;
+
+ // Uniform sampling of distance based on specified precision.
+ var distances = [0],
+ i = 0,
+ dt = precision / Math.max(n0, n1);
+ while ((i += dt) < 1) distances.push(i);
+ distances.push(1);
+
+ // Compute point-interpolators at each distance.
+ var points = distances.map(function(t) {
+ var p0 = path0.getPointAtLength(t * n0),
+ p1 = path1.getPointAtLength(t * n1);
+ return d3.interpolate([p0.x, p0.y], [p1.x, p1.y]);
+ });
+
+ return function(t) {
+ return t < 1 ? "M" + points.map(function(p) {
+ return p(t);
+ }).join("L") : d1;
+ };
+ };
+}
+
+MG.path_tween = path_tween;
diff --git a/priv/static/js/metricsgraphics/misc/utility.js b/priv/static/js/metricsgraphics/misc/utility.js
new file mode 100644
index 0000000..f68327b
--- /dev/null
+++ b/priv/static/js/metricsgraphics/misc/utility.js
@@ -0,0 +1,619 @@
+//a set of helper functions, some that we've written, others that we've borrowed
+
+MG.convert = {};
+
+MG.convert.date = function(data, accessor, time_format) {
+ time_format = (typeof time_format === "undefined") ? '%Y-%m-%d' : time_format;
+ var parse_time = d3.timeParse(time_format);
+ data = data.map(function(d) {
+ d[accessor] = parse_time(d[accessor].trim());
+ return d;
+ });
+
+ return data;
+};
+
+MG.convert.number = function(data, accessor) {
+ data = data.map(function(d) {
+ d[accessor] = Number(d[accessor]);
+ return d;
+ });
+
+ return data;
+};
+
+MG.time_format = function(utc, specifier) {
+ return utc ? d3.utcFormat(specifier) : d3.timeFormat(specifier);
+};
+
+function mg_jquery_exists() {
+ if (typeof jQuery !== 'undefined' || typeof $ !== 'undefined') {
+ return true;
+ } else {
+ return false;
+ }
+}
+
+function mg_get_rollover_time_format(args) {
+ // if a rollover time format is defined, use that
+ if (args.rollover_time_format) {
+ return MG.time_format(args.utc_time, args.rollover_time_format);
+ }
+
+ switch (args.processed.x_time_frame) {
+ case 'millis':
+ return MG.time_format(args.utc_time, '%b %e, %Y %H:%M:%S.%L');
+ case 'seconds':
+ return MG.time_format(args.utc_time, '%b %e, %Y %H:%M:%S');
+ case 'less-than-a-day':
+ return MG.time_format(args.utc_time, '%b %e, %Y %I:%M%p');
+ case 'four-days':
+ return MG.time_format(args.utc_time, '%b %e, %Y %I:%M%p');
+ }
+
+ // default
+ return MG.time_format(args.utc_time, '%b %e, %Y');
+}
+
+function mg_data_in_plot_bounds(datum, args) {
+ return datum[args.x_accessor] >= args.processed.min_x &&
+ datum[args.x_accessor] <= args.processed.max_x &&
+ datum[args.y_accessor] >= args.processed.min_y &&
+ datum[args.y_accessor] <= args.processed.max_y;
+}
+
+function is_array(thing) {
+ return Object.prototype.toString.call(thing) === '[object Array]';
+}
+
+function is_function(thing) {
+ return Object.prototype.toString.call(thing) === '[object Function]';
+}
+
+function is_empty_array(thing) {
+ return is_array(thing) && thing.length === 0;
+}
+
+function is_object(thing) {
+ return Object.prototype.toString.call(thing) === '[object Object]';
+}
+
+function is_array_of_arrays(data) {
+ var all_elements = data.map(function(d) {
+ return is_array(d) === true && d.length > 0;
+ });
+
+ return d3.sum(all_elements) === data.length;
+}
+
+function is_array_of_objects(data) {
+ // is every element of data an object?
+ var all_elements = data.map(function(d) {
+ return is_object(d) === true;
+ });
+
+ return d3.sum(all_elements) === data.length;
+}
+
+function is_array_of_objects_or_empty(data) {
+ return is_empty_array(data) || is_array_of_objects(data);
+}
+
+function pluck(arr, accessor) {
+ return arr.map(function(d) {
+ return d[accessor]; });
+}
+
+function count_array_elements(arr) {
+ return arr.reduce(function(a, b) { a[b] = a[b] + 1 || 1;
+ return a; }, {});
+}
+
+function mg_get_bottom(args) {
+ return args.height - args.bottom;
+}
+
+function mg_get_plot_bottom(args) {
+ // returns the pixel location of the bottom side of the plot area.
+ return mg_get_bottom(args) - args.buffer;
+}
+
+function mg_get_top(args) {
+ return args.top;
+}
+
+function mg_get_plot_top(args) {
+ // returns the pixel location of the top side of the plot area.
+ return mg_get_top(args) + args.buffer;
+}
+
+function mg_get_left(args) {
+ return args.left;
+}
+
+function mg_get_plot_left(args) {
+ // returns the pixel location of the left side of the plot area.
+ return mg_get_left(args) + args.buffer;
+}
+
+function mg_get_right(args) {
+ return args.width - args.right;
+}
+
+function mg_get_plot_right(args) {
+ // returns the pixel location of the right side of the plot area.
+ return mg_get_right(args) - args.buffer;
+}
+
+//////// adding elements, removing elements /////////////
+
+function mg_exit_and_remove(elem) {
+ elem.exit().remove();
+}
+
+function mg_selectAll_and_remove(svg, cl) {
+ svg.selectAll(cl).remove();
+}
+
+function mg_add_g(svg, cl) {
+ return svg.append('g').classed(cl, true);
+}
+
+function mg_remove_element(svg, elem) {
+ svg.select(elem).remove();
+}
+
+//////// axis helper functions ////////////
+
+function mg_make_rug(args, rug_class) {
+ var svg = mg_get_svg_child_of(args.target);
+ var all_data = mg_flatten_array(args.data);
+ var rug = svg.selectAll('line.' + rug_class).data(all_data);
+
+ rug.enter()
+ .append('line')
+ .attr('class', rug_class)
+ .attr('opacity', 0.3);
+
+ //remove rug elements that are no longer in use
+ mg_exit_and_remove(rug);
+
+ //set coordinates of new rug elements
+ mg_exit_and_remove(rug);
+ return rug;
+}
+
+function mg_add_color_accessor_to_rug(rug, args, rug_mono_class) {
+ if (args.color_accessor) {
+ rug.attr('stroke', args.scalefns.colorf);
+ rug.classed(rug_mono_class, false);
+ } else {
+ rug.attr('stroke', null);
+ rug.classed(rug_mono_class, true);
+ }
+}
+
+function mg_rotate_labels(labels, rotation_degree) {
+ if (rotation_degree) {
+ labels.attr({
+ dy: 0,
+ transform: function() {
+ var elem = d3.select(this);
+ return 'rotate(' + rotation_degree + ' ' + elem.attr('x') + ',' + elem.attr('y') + ')';
+ }
+ });
+ }
+}
+
+//////////////////////////////////////////////////
+
+function mg_elements_are_overlapping(labels) {
+ labels = labels.node();
+ if (!labels) {
+ return false;
+ }
+
+ for (var i = 0; i < labels.length; i++) {
+ if (mg_is_horizontally_overlapping(labels[i], labels)) return true;
+ }
+
+ return false;
+}
+
+function mg_prevent_horizontal_overlap(labels, args) {
+ if (!labels || labels.length == 1) {
+ return;
+ }
+
+ //see if each of our labels overlaps any of the other labels
+ for (var i = 0; i < labels.length; i++) {
+ //if so, nudge it up a bit, if the label it intersects hasn't already been nudged
+ if (mg_is_horizontally_overlapping(labels[i], labels)) {
+ var node = d3.select(labels[i]);
+ var newY = +node.attr('y');
+ if (newY + 8 >= args.top) {
+ newY = args.top - 16;
+ }
+ node.attr('y', newY);
+ }
+ }
+}
+
+function mg_prevent_vertical_overlap(labels, args) {
+ if (!labels || labels.length == 1) {
+ return;
+ }
+
+ labels.sort(function(b, a) {
+ return d3.select(a).attr('y') - d3.select(b).attr('y');
+ });
+
+ labels.reverse();
+
+ var overlap_amount, label_i, label_j;
+
+ //see if each of our labels overlaps any of the other labels
+ for (var i = 0; i < labels.length; i++) {
+ //if so, nudge it up a bit, if the label it intersects hasn't already been nudged
+ label_i = d3.select(labels[i]).text();
+
+ for (var j = 0; j < labels.length; j++) {
+ label_j = d3.select(labels[j]).text();
+ overlap_amount = mg_is_vertically_overlapping(labels[i], labels[j]);
+
+ if (overlap_amount !== false && label_i !== label_j) {
+ var node = d3.select(labels[i]);
+ var newY = +node.attr('y');
+ newY = newY + overlap_amount;
+ node.attr('y', newY);
+ }
+ }
+ }
+}
+
+function mg_is_vertically_overlapping(element, sibling) {
+ var element_bbox = element.getBoundingClientRect();
+ var sibling_bbox = sibling.getBoundingClientRect();
+
+ if (element_bbox.top <= sibling_bbox.bottom && element_bbox.top >= sibling_bbox.top) {
+ return sibling_bbox.bottom - element_bbox.top;
+ }
+
+ return false;
+}
+
+function mg_is_horiz_overlap(element, sibling) {
+ var element_bbox = element.getBoundingClientRect();
+ var sibling_bbox = sibling.getBoundingClientRect();
+
+ if (element_bbox.right >= sibling_bbox.left || element_bbox.top >= sibling_bbox.top) {
+ return sibling_bbox.bottom - element_bbox.top;
+ }
+ return false;
+}
+
+function mg_is_horizontally_overlapping(element, labels) {
+ var element_bbox = element.getBoundingClientRect();
+
+ for (var i = 0; i < labels.length; i++) {
+ if (labels[i] == element) {
+ continue;
+ }
+
+ //check to see if this label overlaps with any of the other labels
+ var sibling_bbox = labels[i].getBoundingClientRect();
+ if (element_bbox.top === sibling_bbox.top &&
+ !(sibling_bbox.left > element_bbox.right || sibling_bbox.right < element_bbox.left)
+ ) {
+ return true;
+ }
+ }
+
+ return false;
+}
+
+function mg_infer_type(args, ns) {
+ // must return categorical or numerical.
+ var testPoint = mg_flatten_array(args.data);
+
+ testPoint = testPoint[0][args[ns + '_accessor']];
+ return typeof testPoint === 'string' ? 'categorical' : 'numerical';
+ }
+
+function mg_get_svg_child_of(selector_or_node) {
+ return d3.select(selector_or_node).select('svg');
+}
+
+function mg_flatten_array(arr) {
+ var flat_data = [];
+ return flat_data.concat.apply(flat_data, arr);
+}
+
+function mg_next_id() {
+ if (typeof MG._next_elem_id === 'undefined') {
+ MG._next_elem_id = 0;
+ }
+
+ return 'mg-' + (MG._next_elem_id++);
+}
+
+function mg_target_ref(target) {
+ if (typeof target === 'string') {
+ return mg_normalize(target);
+
+ } else if (target instanceof window.HTMLElement) {
+ var target_ref = target.getAttribute('data-mg-uid');
+ if (!target_ref) {
+ target_ref = mg_next_id();
+ target.setAttribute('data-mg-uid', target_ref);
+ }
+
+ return target_ref;
+
+ } else {
+ console.warn('The specified target should be a string or an HTMLElement.', target);
+ return mg_normalize(target);
+ }
+}
+
+function mg_normalize(string) {
+ return string
+ .replace(/[^a-zA-Z0-9 _-]+/g, '')
+ .replace(/ +?/g, '');
+}
+
+function get_pixel_dimension(target, dimension) {
+ return Number(d3.select(target).style(dimension).replace(/px/g, ''));
+}
+
+function get_width(target) {
+ return get_pixel_dimension(target, 'width');
+}
+
+function get_height(target) {
+ return get_pixel_dimension(target, 'height');
+}
+
+function isNumeric(n) {
+ return !isNaN(parseFloat(n)) && isFinite(n);
+}
+
+var each = function(obj, iterator, context) {
+ // yanked out of underscore
+ var breaker = {};
+ if (obj === null) return obj;
+ if (Array.prototype.forEach && obj.forEach === Array.prototype.forEach) {
+ obj.forEach(iterator, context);
+ } else if (obj.length === +obj.length) {
+ for (var i = 0, length = obj.length; i < length; i++) {
+ if (iterator.call(context, obj[i], i, obj) === breaker) return;
+ }
+ } else {
+ for (var k in obj) {
+ if (iterator.call(context, obj[k], k, obj) === breaker) return;
+ }
+ }
+
+ return obj;
+};
+
+function merge_with_defaults(obj) {
+ // taken from underscore
+ each(Array.prototype.slice.call(arguments, 1), function(source) {
+ if (source) {
+ for (var prop in source) {
+ if (obj[prop] === void 0) obj[prop] = source[prop];
+ }
+ }
+ });
+
+ return obj;
+}
+
+MG.merge_with_defaults = merge_with_defaults;
+
+function options_to_defaults(obj) {
+ return Object.keys(obj).reduce((r, k) => {
+ r[k] = obj[k][0];
+ return r;
+ }, {});
+}
+
+function compare_type(type, value) {
+ if (value == null) return true; // allow null or undefined
+ if (typeof type === 'string') {
+ if (type.substr(-2) === '[]') {
+ if (!is_array(value)) return false;
+ return value.every(i => compare_type(type.slice(0, -2), i));
+ }
+ return typeof value === type
+ || value === type
+ || type.length === 0
+ || type === 'array' && is_array(value);
+ }
+ if (typeof type === 'function') return value === type || value instanceof type;
+ return is_array(type) && !!~type.findIndex(i => compare_type(i, value));
+}
+
+function mg_validate_option(key, value) {
+ if (!is_array(MG.options[key])) return false; // non-existent option
+ const typeDef = MG.options[key][1];
+ if (!typeDef) return true; // not restricted type
+ return compare_type(typeDef, value);
+}
+
+function number_of_values(data, accessor, value) {
+ var values = data.filter(function(d) {
+ return d[accessor] === value;
+ });
+
+ return values.length;
+}
+
+function has_values_below(data, accessor, value) {
+ var values = data.filter(function(d) {
+ return d[accessor] <= value;
+ });
+
+ return values.length > 0;
+}
+
+function has_too_many_zeros(data, accessor, zero_count) {
+ return number_of_values(data, accessor, 0) >= zero_count;
+}
+
+function mg_is_date(obj) {
+ return Object.prototype.toString.call(obj) === '[object Date]';
+}
+
+function mg_is_object(obj) {
+ return Object.prototype.toString.call(obj) === '[object Object]';
+}
+
+function mg_is_array(obj) {
+ if (Array.isArray) {
+ return Array.isArray(obj);
+ }
+
+ return Object.prototype.toString.call(obj) === '[object Array]';
+}
+
+function mg_is_function(obj) {
+ return Object.prototype.toString.call(obj) === '[object Function]';
+}
+
+// deep copy
+// http://stackoverflow.com/questions/728360/most-elegant-way-to-clone-a-javascript-object
+MG.clone = function(obj) {
+ var copy;
+
+ // Handle the 3 simple types, and null or undefined
+ if (null === obj || "object" !== typeof obj) return obj;
+
+ // Handle Date
+ if (mg_is_date(obj)) {
+ copy = new Date();
+ copy.setTime(obj.getTime());
+ return copy;
+ }
+
+ // Handle Array
+ if (mg_is_array(obj)) {
+ copy = [];
+ for (var i = 0, len = obj.length; i < len; i++) {
+ copy[i] = MG.clone(obj[i]);
+ }
+ return copy;
+ }
+
+ // Handle Object
+ if (mg_is_object(obj)) {
+ copy = {};
+ for (var attr in obj) {
+ if (obj.hasOwnProperty(attr)) copy[attr] = MG.clone(obj[attr]);
+ }
+ return copy;
+ }
+
+ throw new Error("Unable to copy obj! Its type isn't supported.");
+};
+
+// give us the difference of two int arrays
+// http://radu.cotescu.com/javascript-diff-function/
+function arr_diff(a, b) {
+ var seen = [],
+ diff = [],
+ i;
+ for (i = 0; i < b.length; i++)
+ seen[b[i]] = true;
+ for (i = 0; i < a.length; i++)
+ if (!seen[a[i]])
+ diff.push(a[i]);
+ return diff;
+}
+
+MG.arr_diff = arr_diff;
+
+/**
+ Print warning message to the console when a feature has been scheduled for removal
+
+ @author Dan de Havilland (github.com/dandehavilland)
+ @date 2014-12
+*/
+function warn_deprecation(message, untilVersion) {
+ console.warn('Deprecation: ' + message + (untilVersion ? '. This feature will be removed in ' + untilVersion + '.' : ' the near future.'));
+ console.trace();
+}
+
+MG.warn_deprecation = warn_deprecation;
+
+/**
+ Truncate a string to fit within an SVG text node
+ CSS text-overlow doesn't apply to SVG <= 1.2
+
+ @author Dan de Havilland (github.com/dandehavilland)
+ @date 2014-12-02
+*/
+function truncate_text(textObj, textString, width) {
+ var bbox,
+ position = 0;
+
+ textObj.textContent = textString;
+ bbox = textObj.getBBox();
+
+ while (bbox.width > width) {
+ textObj.textContent = textString.slice(0, --position) + '...';
+ bbox = textObj.getBBox();
+
+ if (textObj.textContent === '...') {
+ break;
+ }
+ }
+}
+
+MG.truncate_text = truncate_text;
+
+/**
+ Wrap the contents of a text node to a specific width
+
+ Adapted from bl.ocks.org/mbostock/7555321
+
+ @author Mike Bostock
+ @author Dan de Havilland
+ @date 2015-01-14
+*/
+function wrap_text(text, width, token, tspanAttrs) {
+ text.each(function() {
+ var text = d3.select(this),
+ words = text.text().split(token || /\s+/).reverse(),
+ word,
+ line = [],
+ lineNumber = 0,
+ lineHeight = 1.1, // ems
+ y = text.attr("y"),
+ dy = 0,
+ tspan = text.text(null)
+ .append("tspan")
+ .attr("x", 0)
+ .attr("y", dy + "em")
+ .attr(tspanAttrs || {});
+
+ while (!!(word = words.pop())) {
+ line.push(word);
+ tspan.text(line.join(" "));
+ if (width === null || tspan.node().getComputedTextLength() > width) {
+ line.pop();
+ tspan.text(line.join(" "));
+ line = [word];
+ tspan = text
+ .append("tspan")
+ .attr("x", 0)
+ .attr("y", ++lineNumber * lineHeight + dy + "em")
+ .attr(tspanAttrs || {})
+ .text(word);
+ }
+ }
+ });
+}
+
+MG.wrap_text = wrap_text;
diff --git a/priv/static/metrics-graphics-3.0-alpha3/.editorconfig b/priv/static/metrics-graphics-3.0-alpha3/.editorconfig
new file mode 100644
index 0000000..b400ed3
--- /dev/null
+++ b/priv/static/metrics-graphics-3.0-alpha3/.editorconfig
@@ -0,0 +1,32 @@
+# EditorConfig helps developers define and maintain consistent
+# coding styles between different editors and IDEs
+# editorconfig.org
+
+root = true
+
+[*]
+end_of_line = lf
+charset = utf-8
+trim_trailing_whitespace = true
+insert_final_newline = true
+indent_style = space
+indent_size = 4
+
+[*.js]
+indent_style = space
+indent_size = 4
+
+[*.hbs]
+indent_style = space
+indent_size = 4
+
+[*.css]
+indent_style = space
+indent_size = 4
+
+[*.html]
+indent_style = space
+indent_size = 4
+
+[*.{diff,md}]
+trim_trailing_whitespace = false
diff --git a/priv/static/metrics-graphics-3.0-alpha3/.gitignore b/priv/static/metrics-graphics-3.0-alpha3/.gitignore
new file mode 100644
index 0000000..4c95c7f
--- /dev/null
+++ b/priv/static/metrics-graphics-3.0-alpha3/.gitignore
@@ -0,0 +1,17 @@
+# Dependencies
+bower_components
+node_modules
+
+# Logs
+npm-debug.log
+
+# IDE
+.idea
+
+# FS
+.DS_Store
+
+# Others
+other/divider.psd
+other/htaccess.txt
+bare.html
diff --git a/priv/static/metrics-graphics-3.0-alpha3/.jshintignore b/priv/static/metrics-graphics-3.0-alpha3/.jshintignore
new file mode 100644
index 0000000..111b1df
--- /dev/null
+++ b/priv/static/metrics-graphics-3.0-alpha3/.jshintignore
@@ -0,0 +1,2 @@
+src/js/common/bootstrap_tooltip_popover.js
+src/js/layout/bootstrap_dropdown.js
diff --git a/priv/static/metrics-graphics-3.0-alpha3/.jshintrc b/priv/static/metrics-graphics-3.0-alpha3/.jshintrc
new file mode 100644
index 0000000..e0bf401
--- /dev/null
+++ b/priv/static/metrics-graphics-3.0-alpha3/.jshintrc
@@ -0,0 +1,14 @@
+{
+ "globals": {
+ "$": false,
+ "jQuery": false,
+ "MG": false,
+ "d3": false
+ },
+ "laxbreak": true,
+ "validthis": true,
+ "loopfunc": true,
+ "sub": true,
+ "esversion": 6,
+ "-W082": false
+}
diff --git a/priv/static/metrics-graphics-3.0-alpha3/.travis.yml b/priv/static/metrics-graphics-3.0-alpha3/.travis.yml
new file mode 100644
index 0000000..403c480
--- /dev/null
+++ b/priv/static/metrics-graphics-3.0-alpha3/.travis.yml
@@ -0,0 +1,30 @@
+sudo: required
+language: node_js
+node_js:
+ - "8"
+addons:
+ chrome: stable
+before_script:
+ - sudo chown root /opt/google/chrome/chrome-sandbox
+ - sudo chmod 4755 /opt/google/chrome/chrome-sandbox
+script:
+ - npm run lint
+ - npm run test-ci
+before_deploy:
+ - cp dist/metricsgraphics.css dist/metricsgraphics.min.js .
+ - cp -r examples/* .
+ - cp -r src/js/* js
+deploy:
+ - provider: npm
+ email: wrlach@gmail.com
+ api_key:
+ secure: LtS+7V8yMNMRelHAFv+ms71pYJzocX+jTePtUvNNY4k2j2b4rUkBYU0vSAmBbzOnSaIf5X8dXVzxEtYaMIliUr0vVbFvooK4GF6p4X/043dq2MRnm1GUdtG4byDd3JlYNyNo4REgmnpcARNLf3bffl3kXkb4JCvxbAWk/yuj2V4=
+ on:
+ tags: true
+ repo: metricsgraphics/metrics-graphics
+ - provider: pages
+ skip-cleanup: true
+ github-token: $GITHUB_TOKEN
+ on:
+ tags: true
+ branch: master
diff --git a/priv/static/metrics-graphics-3.0-alpha3/CHANGELOG.md b/priv/static/metrics-graphics-3.0-alpha3/CHANGELOG.md
new file mode 100644
index 0000000..036870a
--- /dev/null
+++ b/priv/static/metrics-graphics-3.0-alpha3/CHANGELOG.md
@@ -0,0 +1,343 @@
+### Changelog
+All notable changes to this project will be documented in this file.
+
+Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
+
+#### [v2.15.0](https://github.com/mozilla/metrics-graphics/compare/v2.14.0...v2.15.0)
+> 25 May 2018
+- basic brushing and zooming feature for line and point charts [`#851`](https://github.com/mozilla/metrics-graphics/pull/851)
+- Don&#x27;t overwrite user-specified decimals parameter when formatting y axis (fixes #844) [`#847`](https://github.com/mozilla/metrics-graphics/pull/847)
+- Git ignore rework in section + IDE section [`#846`](https://github.com/mozilla/metrics-graphics/pull/846)
+- Add an option to select lines with areas of a multi-line chart [`#830`](https://github.com/mozilla/metrics-graphics/pull/830)
+- Add option to show active points on line and multi-lines charts [`#827`](https://github.com/mozilla/metrics-graphics/pull/827)
+- Handle case where min_x is specified as 0 (fixes #729) [`#840`](https://github.com/mozilla/metrics-graphics/pull/840)
+- Handle years-long time differences better when drawing x axis (fixes #848) [`#848`](https://github.com/mozilla/metrics-graphics/issues/848)
+- Version 2.15 [`8593311`](https://github.com/mozilla/metrics-graphics/commit/859331163c491b333145b374d2848f2ff161d9e0)
+- Add time range example of a &quot;few years&quot; [`52033a5`](https://github.com/mozilla/metrics-graphics/commit/52033a543fd6ef1ce7d7a2e40c9fbb91b28664c3)
+- Remove unused variable from mg_add_x_axis_rim function [`525aaf0`](https://github.com/mozilla/metrics-graphics/commit/525aaf0f10f091f067d806404faf9b434ef72127)
+
+#### [v2.14.0](https://github.com/mozilla/metrics-graphics/compare/v2.13.0...v2.14.0)
+> 15 March 2018
+- Regenerate files in dist [`#837`](https://github.com/mozilla/metrics-graphics/pull/837)
+- Add option for flipped area under zero baseline [`#829`](https://github.com/mozilla/metrics-graphics/pull/829)
+- Change the algorithm for calculate decimals of format y-axis ticks (Fixes #821) [`#832`](https://github.com/mozilla/metrics-graphics/pull/832)
+- Use closures instead of &#x60;this&#x60; inside hover text code (fixes #828) [`#834`](https://github.com/mozilla/metrics-graphics/pull/834)
+- Use babel before umd step in gulp build pipeline (fixes #825) [`#826`](https://github.com/mozilla/metrics-graphics/pull/826)
+- Updates to travis so that ES6 is supported [`#816`](https://github.com/mozilla/metrics-graphics/pull/816)
+- Fix: examples.htm works properly with &#x60;gulp serve&#x60;. #812 [`#813`](https://github.com/mozilla/metrics-graphics/pull/813)
+- added @wlach to package.json contributors [`#810`](https://github.com/mozilla/metrics-graphics/pull/810)
+- Use babel when generating metricsgraphics(.min).js [`#809`](https://github.com/mozilla/metrics-graphics/pull/809)
+- Fix overlapping of label and ticks in the y-axis [`#803`](https://github.com/mozilla/metrics-graphics/pull/803)
+- fixed grammatical error in readme file [`#804`](https://github.com/mozilla/metrics-graphics/pull/804)
+- Change &#x27;follow&#x27; to &#x27;following&#x27; in README.md [`#801`](https://github.com/mozilla/metrics-graphics/pull/801)
+- Handling requested changes of pull request #829 [`d5accbc`](https://github.com/mozilla/metrics-graphics/commit/d5accbcf16e778e6be1f8d18cda82fd74af37d54)
+- Version 2.14.0 [`a124dab`](https://github.com/mozilla/metrics-graphics/commit/a124dab7e291e08abbce935a300bd68f13f139b6)
+- Fix broken legend [`4545b21`](https://github.com/mozilla/metrics-graphics/commit/4545b212996715d76ee66ab99b4e0ec6f777aacd)
+
+#### [v2.13.0](https://github.com/mozilla/metrics-graphics/compare/v2.12.0...v2.13.0)
+> 5 February 2018
+- change color for eleventh line in README.md [`#797`](https://github.com/mozilla/metrics-graphics/pull/797)
+- Fix aggregated rollover circle displayed on missing data [`#786`](https://github.com/mozilla/metrics-graphics/pull/786)
+- Update d3.js link [`#785`](https://github.com/mozilla/metrics-graphics/pull/785)
+- Add CDNJS version badge in README.md [`#784`](https://github.com/mozilla/metrics-graphics/pull/784)
+- Change maximum number of supported lines in series [`fcbc2fd`](https://github.com/mozilla/metrics-graphics/commit/fcbc2fdcc81beb5633b547c7a8a81de2f0beb4b3)
+- Version 2.13 [`f49de36`](https://github.com/mozilla/metrics-graphics/commit/f49de3634b5825fc03c3bbbe8aff7252acea0765)
+- Update README for new line behaviour [`36c2f4c`](https://github.com/mozilla/metrics-graphics/commit/36c2f4c8a51aea660856261e4540e0eac6a21d7c)
+
+#### [v2.12.0](https://github.com/mozilla/metrics-graphics/compare/v2.11.0...v2.12.0)
+> 6 December 2017
+- Add mouse out events on marker text [`#780`](https://github.com/mozilla/metrics-graphics/pull/780)
+- Fix linked rollovers when x-axis is not a date [`#781`](https://github.com/mozilla/metrics-graphics/pull/781)
+- Fix wrong datalink [`#740`](https://github.com/mozilla/metrics-graphics/pull/740)
+- Add mouse over events on Marker text [`#777`](https://github.com/mozilla/metrics-graphics/pull/777)
+- Add option to display or not the active line data point information [`#776`](https://github.com/mozilla/metrics-graphics/pull/776)
+- Add rollover click handler on line chart [`#775`](https://github.com/mozilla/metrics-graphics/pull/775)
+- parseInt width &amp; height to avoid concatenation [`#743`](https://github.com/mozilla/metrics-graphics/pull/743)
+- Fix linked rollover when there is only one series with a custom y_accessor [`#770`](https://github.com/mozilla/metrics-graphics/pull/770)
+- Line legend: use index instead of line_id [`#752`](https://github.com/mozilla/metrics-graphics/pull/752)
+- Bump version to 2.12.0, update distribution [`b363d82`](https://github.com/mozilla/metrics-graphics/commit/b363d82c229fba6a280c9782b8154aad0ac901e7)
+- Mouse Over Markers documentation [`8e72b4d`](https://github.com/mozilla/metrics-graphics/commit/8e72b4dffa8b2509e3b4becd7b55ca4b15f2a11a)
+- Update reference to react-metrics-graphics [`02ed890`](https://github.com/mozilla/metrics-graphics/commit/02ed890e6a8402fb8b1c3d500d33fcd01e686507)
+
+#### [v2.11.0](https://github.com/mozilla/metrics-graphics/compare/v2.10.1...v2.11.0)
+> 10 December 2016
+- Fix #653 : removed unused es6-module-transpiler [`#726`](https://github.com/mozilla/metrics-graphics/pull/726)
+- add label support for scatter plots [`#727`](https://github.com/mozilla/metrics-graphics/pull/727)
+- Fix #724: declare variable &#x60;target_ref&#x60; before usage. [`#728`](https://github.com/mozilla/metrics-graphics/pull/728)
+- Allow markers to be on the edge of the graph. [`#720`](https://github.com/mozilla/metrics-graphics/pull/720)
+- Universal markup rendering [`#723`](https://github.com/mozilla/metrics-graphics/pull/723)
+- Multiline example links to wrong data file [`#711`](https://github.com/mozilla/metrics-graphics/pull/711)
+- Added react component to the gallery in README.md [`#701`](https://github.com/mozilla/metrics-graphics/pull/701)
+- Fix #709 [`#709`](https://github.com/mozilla/metrics-graphics/issues/709)
+- Fix #724: declare variable &#x60;target_ref&#x60; before usage. [`#724`](https://github.com/mozilla/metrics-graphics/issues/724)
+- Fix #710 [`#710`](https://github.com/mozilla/metrics-graphics/issues/710)
+- Fix #705 [`#705`](https://github.com/mozilla/metrics-graphics/issues/705)
+- Merge remote-tracking branch &#x27;origin/master&#x27; (fixes #695) [`#695`](https://github.com/mozilla/metrics-graphics/issues/695)
+- Up version to 2.11 [`ece9a17`](https://github.com/mozilla/metrics-graphics/commit/ece9a17313788e87dcb6b438cddcbf4ab08759e0)
+- Up version to 2.11 [`6412851`](https://github.com/mozilla/metrics-graphics/commit/6412851edd2a55f5d37dd73dc69bc0974fb8fe7a)
+- fix build [`7e2c4c8`](https://github.com/mozilla/metrics-graphics/commit/7e2c4c82bc9459d3f6684e44e975c272409354d6)
+
+#### [v2.10.1](https://github.com/mozilla/metrics-graphics/compare/v2.10.0...v2.10.1)
+> 16 August 2016
+- Fix #693 [`#693`](https://github.com/mozilla/metrics-graphics/issues/693)
+- Fix issue #694 [`1b54bd2`](https://github.com/mozilla/metrics-graphics/commit/1b54bd28c1e49416b64c6d975b87cfbf121e2cdd)
+- Cleanup [`8e62b64`](https://github.com/mozilla/metrics-graphics/commit/8e62b64a721498281f24543a0b1cf528cd63e9b4)
+- Update version to 2.10.1 [`aca3532`](https://github.com/mozilla/metrics-graphics/commit/aca3532f9945b08c85ba5e72946863ff3f2b762a)
+
+#### [v2.10.0](https://github.com/mozilla/metrics-graphics/compare/v2.9.0...v2.10.0)
+> 2 August 2016
+- added option to center title over entire chart [`#652`](https://github.com/mozilla/metrics-graphics/pull/652)
+- Correctly handle zero as one of the confidence band bounds [`#627`](https://github.com/mozilla/metrics-graphics/pull/627)
+- Fixing disappearing point for single data point series in aggregate graph. [`#643`](https://github.com/mozilla/metrics-graphics/pull/643)
+- Fix #684 [`#684`](https://github.com/mozilla/metrics-graphics/issues/684)
+- Fix #683 [`#683`](https://github.com/mozilla/metrics-graphics/issues/683)
+- Fix #681 [`#681`](https://github.com/mozilla/metrics-graphics/issues/681)
+- re-implemented rollovers to further fix #654. Rollovers for categorical plots needs finessing. [`#654`](https://github.com/mozilla/metrics-graphics/issues/654)
+- Fix #678 [`#678`](https://github.com/mozilla/metrics-graphics/issues/678)
+- Fix #675 [`#675`](https://github.com/mozilla/metrics-graphics/issues/675)
+- Fix #674 [`#674`](https://github.com/mozilla/metrics-graphics/issues/674)
+- fixed #670 [`#670`](https://github.com/mozilla/metrics-graphics/issues/670)
+- Fix #621 [`#621`](https://github.com/mozilla/metrics-graphics/issues/621)
+- fixes #669 [`#669`](https://github.com/mozilla/metrics-graphics/issues/669)
+- Fix #619 [`#619`](https://github.com/mozilla/metrics-graphics/issues/619)
+- Fix #586 [`#586`](https://github.com/mozilla/metrics-graphics/issues/586)
+- Fix #660 [`#660`](https://github.com/mozilla/metrics-graphics/issues/660)
+- Fix #659 [`#659`](https://github.com/mozilla/metrics-graphics/issues/659)
+- Fix #657 [`#657`](https://github.com/mozilla/metrics-graphics/issues/657)
+- Fix #585 - update MG to work with D3 v4 [`#585`](https://github.com/mozilla/metrics-graphics/issues/585)
+- Fix #642 [`#642`](https://github.com/mozilla/metrics-graphics/issues/642)
+- Rebuild [`367d035`](https://github.com/mozilla/metrics-graphics/commit/367d035d6c18439f95eca2ced4b549b300414905)
+- Cleanup [`05b8522`](https://github.com/mozilla/metrics-graphics/commit/05b85220ad858d2aef3d7fe82395d91624c7db8b)
+- Cleanup [`d0c2b5c`](https://github.com/mozilla/metrics-graphics/commit/d0c2b5cbcf82c666e89484c4a371e07d8378c00b)
+
+#### [v2.9.0](https://github.com/mozilla/metrics-graphics/compare/v2.8.0...v2.9.0)
+> 31 March 2016
+- typo at link href for data/points1.json [`#617`](https://github.com/mozilla/metrics-graphics/pull/617)
+- Single window resize listener for all targets with automatic cleanup (fixes #544) [`#611`](https://github.com/mozilla/metrics-graphics/pull/611)
+- Fixes #578 [`#593`](https://github.com/mozilla/metrics-graphics/pull/593)
+- fixes #610 - aggregate rollover rollover doesn&#x27;t break on single line [`#610`](https://github.com/mozilla/metrics-graphics/issues/610)
+- Fix #620 [`#620`](https://github.com/mozilla/metrics-graphics/issues/620)
+- fixes #616 - args.bar_thickness is automatically determined if args.height is set for bar charts [`#616`](https://github.com/mozilla/metrics-graphics/issues/616)
+- closes #614 [`#614`](https://github.com/mozilla/metrics-graphics/issues/614)
+- fixes #597. args.min_y_from_data presented a number of implementation problems. The main issue was that the plot bounds were not contingent on the range between the max and min y, so the inflation of the max and min for the purposes of plot bounds were contingent on the magnitude of the data. That&#x27;s obviously silly. So now, if args.min_y_from_data, the range is taken into consideration. [`#597`](https://github.com/mozilla/metrics-graphics/issues/597)
+- fixes #601. Removing clip path entirely from points for the moment. The clip path tends to cut off parts of points that are within the bounds but whose radius extends beyond the plot area. [`#601`](https://github.com/mozilla/metrics-graphics/issues/601)
+- Fix #605 [`#605`](https://github.com/mozilla/metrics-graphics/issues/605)
+- Fix #603 [`#603`](https://github.com/mozilla/metrics-graphics/issues/603)
+- Fixes #578 [`#578`](https://github.com/mozilla/metrics-graphics/issues/578)
+- #626 [`565636b`](https://github.com/mozilla/metrics-graphics/commit/565636b742cf3df746a4041c6ea01dfaef24e929)
+- Update other chart types (#626) [`bdcaf45`](https://github.com/mozilla/metrics-graphics/commit/bdcaf45774d4fe70fca3b08c29d9e106f8912af9)
+- Cleanup [`58d26b9`](https://github.com/mozilla/metrics-graphics/commit/58d26b913e5df8e8f20d307b678a40a2379b3735)
+
+#### [v2.8.0](https://github.com/mozilla/metrics-graphics/compare/v2.7.0...v2.8.0)
+> 9 January 2016
+- Fix nest_data_for_aggregate_rollover() bugs [`#569`](https://github.com/mozilla/metrics-graphics/pull/569)
+- Correctly handle zero sized svg elements during automatic resizes [`#570`](https://github.com/mozilla/metrics-graphics/pull/570)
+- Track existing lines with unique class [`#568`](https://github.com/mozilla/metrics-graphics/pull/568)
+- Add contribute.json file [`#536`](https://github.com/mozilla/metrics-graphics/pull/536)
+- fixes #579 [`#579`](https://github.com/mozilla/metrics-graphics/issues/579)
+- Fix #558 [`#558`](https://github.com/mozilla/metrics-graphics/issues/558)
+- Fix #556 [`#556`](https://github.com/mozilla/metrics-graphics/issues/556)
+- Track existing lines with unique class [`#546`](https://github.com/mozilla/metrics-graphics/issues/546)
+- fixes #562 - hook issues with new processed min and max x [`#562`](https://github.com/mozilla/metrics-graphics/issues/562)
+- fixes #561 - still a dirty hack [`#561`](https://github.com/mozilla/metrics-graphics/issues/561)
+- fixes #521 - MG now supports much longer time series. [`#521`](https://github.com/mozilla/metrics-graphics/issues/521)
+- closes #559, contributes to #555. Whatever was causing phantomjs to break on build is resolved. [`#559`](https://github.com/mozilla/metrics-graphics/issues/559)
+- fixes #543 - we now have args.internal_error for internal problems (such as not passing in data) and args.error for user-defined errors [`#543`](https://github.com/mozilla/metrics-graphics/issues/543)
+- fixes #531 [`#531`](https://github.com/mozilla/metrics-graphics/issues/531)
+- closes #511 [`#511`](https://github.com/mozilla/metrics-graphics/issues/511)
+- Revert the change for #563 until I get the chance to look at it again [`93a2b6e`](https://github.com/mozilla/metrics-graphics/commit/93a2b6e6785cdb520c06eafa1e826e594acacbc5)
+- Cleanup [`cbbd94f`](https://github.com/mozilla/metrics-graphics/commit/cbbd94f2faf8ed367a31278e19803cf47302d152)
+- d3 on npm is v4, was causing tests to fail, filed issue #585 [`09c30f0`](https://github.com/mozilla/metrics-graphics/commit/09c30f01364a7cc3c63e9c5fe6d570b7e7828b6a)
+
+#### [v2.7.0](https://github.com/mozilla/metrics-graphics/compare/v2.6.0...v2.7.0)
+> 27 October 2015
+- Fix for #505 (histograms and dates) [`#509`](https://github.com/mozilla/metrics-graphics/pull/509)
+- missing-data chart with full_width: true doesn&#x27;t react properly on window resize [`#508`](https://github.com/mozilla/metrics-graphics/pull/508)
+- Fix documentation to add the &#x27;mg-&#x27; class prefix [`#501`](https://github.com/mozilla/metrics-graphics/pull/501)
+- fix exception on aggregate_rollover is true &amp; multiline [`#494`](https://github.com/mozilla/metrics-graphics/pull/494)
+- Fix for empty data series in multiline chart [`#483`](https://github.com/mozilla/metrics-graphics/pull/483)
+- Fix issue #479 [`#480`](https://github.com/mozilla/metrics-graphics/pull/480)
+- Aggregate numerical [`#476`](https://github.com/mozilla/metrics-graphics/pull/476)
+- Fix issue #457 [`#462`](https://github.com/mozilla/metrics-graphics/pull/462)
+- added x_sort method [`#461`](https://github.com/mozilla/metrics-graphics/pull/461)
+- Fix #520 [`#520`](https://github.com/mozilla/metrics-graphics/issues/520)
+- Fix #519 [`#519`](https://github.com/mozilla/metrics-graphics/issues/519)
+- Fix #517 [`#517`](https://github.com/mozilla/metrics-graphics/issues/517)
+- Fix #463 [`#463`](https://github.com/mozilla/metrics-graphics/issues/463)
+- closes #490, after a bit of weirdness in phantomJS. [`#490`](https://github.com/mozilla/metrics-graphics/issues/490)
+- Fixes #490. Added an example for functions. [`#490`](https://github.com/mozilla/metrics-graphics/issues/490)
+- Maintain x-axis formatting when drawing histograms [`#505`](https://github.com/mozilla/metrics-graphics/issues/505)
+- Fix #485 - make least squares line span range of data rather than ticks [`#485`](https://github.com/mozilla/metrics-graphics/issues/485)
+- Cleanup [`2dfed5a`](https://github.com/mozilla/metrics-graphics/commit/2dfed5ad62dbf276b2d47a1aa297d33376ca1c1e)
+- Make it look nicer with the accessible style (#519) [`241c027`](https://github.com/mozilla/metrics-graphics/commit/241c027a0d2513b1b23088179559ce42478f9533)
+- Update README.md [`3203a48`](https://github.com/mozilla/metrics-graphics/commit/3203a48a1fd82f9d28853ed67c5a2eb43eb673e2)
+
+#### [v2.6.0](https://github.com/mozilla/metrics-graphics/compare/v2.5.0...v2.6.0)
+> 8 July 2015
+- Only try to add ticks if there is variation in the y-axis [`#455`](https://github.com/mozilla/metrics-graphics/pull/455)
+- Sort dates in ascending order to make aggregate rollover work properly for certain lines [`#454`](https://github.com/mozilla/metrics-graphics/pull/454)
+- Adding mg-regions to readme [`#451`](https://github.com/mozilla/metrics-graphics/pull/451)
+- Fix index for &#x60;aggregate_rollover&#x60; and linked charts. [`#450`](https://github.com/mozilla/metrics-graphics/pull/450)
+- Fix mouseover when aggregate_rollover and linked are enabled. [`#448`](https://github.com/mozilla/metrics-graphics/pull/448)
+- Remove moot &#x60;version&#x60; property from bower.json [`#446`](https://github.com/mozilla/metrics-graphics/pull/446)
+- Add support for &#x60;linked&#x60; charts when &#x60;aggregate_rollover&#x60; is enabled. [`#444`](https://github.com/mozilla/metrics-graphics/pull/444)
+- looks to fix #449 [`#449`](https://github.com/mozilla/metrics-graphics/issues/449)
+- Add an example for missing_is_hidden_accessor [`70c9434`](https://github.com/mozilla/metrics-graphics/commit/70c94347e985f9eb4146932f59a649c736912000)
+- Update &#x27;broken lines&#x27; example [`45af302`](https://github.com/mozilla/metrics-graphics/commit/45af30227efcbf42b2954dfa3de51f50c1af4bf0)
+- Update footer to v2.6 [`dffd40e`](https://github.com/mozilla/metrics-graphics/commit/dffd40ecc60a31a31787e91aa6bf66013a77d985)
+
+#### [v2.5.0](https://github.com/mozilla/metrics-graphics/compare/v2.4.0...v2.5.0)
+> 22 May 2015
+- Adding bar label rotation [`#434`](https://github.com/mozilla/metrics-graphics/pull/434)
+- temporary fix for path tween [`#433`](https://github.com/mozilla/metrics-graphics/pull/433)
+- Improved target reference generation [`#422`](https://github.com/mozilla/metrics-graphics/pull/422)
+- Reordering dev env code to allow for errors; buttons now work even if MG code is broken. [`#425`](https://github.com/mozilla/metrics-graphics/pull/425)
+- Reworking punctiation and target ref with tests [`#1`](https://github.com/mozilla/metrics-graphics/pull/1)
+- Groundwork for extensibility (WIP) [`#351`](https://github.com/mozilla/metrics-graphics/pull/351)
+- clone our data before we modify [`#414`](https://github.com/mozilla/metrics-graphics/pull/414)
+- Use small font for baselines when small_text is set or implied [`#409`](https://github.com/mozilla/metrics-graphics/pull/409)
+- Prepare files for v2.5 release [`8eb6752`](https://github.com/mozilla/metrics-graphics/commit/8eb6752d0bea9c6f683794dc0aff159756ed76a4)
+- Fix issue #435 [`54c8cf3`](https://github.com/mozilla/metrics-graphics/commit/54c8cf33dcd0344a93a270c83e5e1930f0845fb7)
+- Update references on interactive demo page [`5b26ee1`](https://github.com/mozilla/metrics-graphics/commit/5b26ee1c29239f416bb94bfa0f5915c719376845)
+
+#### [v2.4.0](https://github.com/mozilla/metrics-graphics/compare/v2.3.0...v2.4.0)
+> 13 April 2015
+- Fix #405 [`#405`](https://github.com/mozilla/metrics-graphics/issues/405)
+- Fixes #347 fully, and fixes the histograms and bars, which was broken upon last commit [`#347`](https://github.com/mozilla/metrics-graphics/issues/347)
+- Fix #401 [`#401`](https://github.com/mozilla/metrics-graphics/issues/401)
+- Update version to 2.4.0 [`4382ccd`](https://github.com/mozilla/metrics-graphics/commit/4382ccd48f91e829d63ea3e6f74221de180ab304)
+- Update version to 2.4.0 [`9ff4341`](https://github.com/mozilla/metrics-graphics/commit/9ff4341f4eb2e7c21a5715c2e8f3a97c9d416b89)
+- Delete empty line [`e8348bd`](https://github.com/mozilla/metrics-graphics/commit/e8348bd3a5433767d847c05eef560a2b5db0aa97)
+
+#### [v2.3.0](https://github.com/mozilla/metrics-graphics/compare/v2.2.1...v2.3.0)
+> 30 March 2015
+- Fix &quot;Uncaught ReferenceError: globals is not defined&quot; for linked point c... [`#397`](https://github.com/mozilla/metrics-graphics/pull/397)
+- npm install gulp [`#377`](https://github.com/mozilla/metrics-graphics/pull/377)
+- fixes #368 - dom elements can again be passed to target. [`#368`](https://github.com/mozilla/metrics-graphics/issues/368)
+- Fix #387 [`#387`](https://github.com/mozilla/metrics-graphics/issues/387)
+- Last bit of cleanup [`036351b`](https://github.com/mozilla/metrics-graphics/commit/036351b7a8e09d60cde5b93de1317c7391090769)
+- Update version to v2.3.0 [`dc61404`](https://github.com/mozilla/metrics-graphics/commit/dc61404178d950a9551fcd65ba48a442daed6db7)
+- Rebuilt for v2.3.0 [`d74a77f`](https://github.com/mozilla/metrics-graphics/commit/d74a77f245fcbd8b5b2c4ccb105e68e71e1bff6b)
+
+#### [v2.2.1](https://github.com/mozilla/metrics-graphics/compare/v2.2.0...v2.2.1)
+> 26 February 2015
+- Corrected issue where test target was not in scope [`#373`](https://github.com/mozilla/metrics-graphics/pull/373)
+- Fix: missed a check for presence of predictor &amp; baselines [`#371`](https://github.com/mozilla/metrics-graphics/pull/371)
+- Add missing .mg-hover-* colors to dark demo css [`#369`](https://github.com/mozilla/metrics-graphics/pull/369)
+- Bar redrawing fix [`#367`](https://github.com/mozilla/metrics-graphics/pull/367)
+- Fix #372 [`#372`](https://github.com/mozilla/metrics-graphics/issues/372)
+- Unit test for issue #372 [`e899bc7`](https://github.com/mozilla/metrics-graphics/commit/e899bc70dd255db72461dfe6226ff9c40abdcf2d)
+- Update version to 2.2.1 [`4608060`](https://github.com/mozilla/metrics-graphics/commit/4608060d089f06b5d42dee325a451bd241bf9351)
+- Updated version to 2.2.1 on examples pages [`38aea5b`](https://github.com/mozilla/metrics-graphics/commit/38aea5bd77eb15a2f3e53acc1b0af1aac428fa81)
+
+#### [v2.2.0](https://github.com/mozilla/metrics-graphics/compare/v2.1.0...v2.2.0)
+> 13 February 2015
+- Setting id on the clip-path [`#357`](https://github.com/mozilla/metrics-graphics/pull/357)
+- Correcting plot-window clip path [`#356`](https://github.com/mozilla/metrics-graphics/pull/356)
+- Fix JS comment syntax in code block [`#353`](https://github.com/mozilla/metrics-graphics/pull/353)
+- Enable syntax highlighting [`#352`](https://github.com/mozilla/metrics-graphics/pull/352)
+- Adds support for transition on confidence band [`#329`](https://github.com/mozilla/metrics-graphics/pull/329)
+- Adds support for two markers in close proximity. [`#326`](https://github.com/mozilla/metrics-graphics/pull/326)
+- Fix duplicate chart title on redraw [`#348`](https://github.com/mozilla/metrics-graphics/pull/348)
+- Improved tween for line-chart path transitions [`#343`](https://github.com/mozilla/metrics-graphics/pull/343)
+- Fixed resize on mobile device orientation change [`#338`](https://github.com/mozilla/metrics-graphics/pull/338)
+- Cleanup [`#340`](https://github.com/mozilla/metrics-graphics/pull/340)
+- Fix #276 [`#276`](https://github.com/mozilla/metrics-graphics/issues/276)
+- Minor cleanup [`dd7517e`](https://github.com/mozilla/metrics-graphics/commit/dd7517ed6c47166246499179d5093de2d8fb4ddc)
+- Update version number in footers [`a762638`](https://github.com/mozilla/metrics-graphics/commit/a7626382502dd8d8b8b8f5ad92a1bf58bf915302)
+- Minor cleanup [`0b82511`](https://github.com/mozilla/metrics-graphics/commit/0b825114b1465fb4a8947dd572cbf92252811465)
+
+#### [v2.1.0](https://github.com/mozilla/metrics-graphics/compare/v2.0.0...v2.1.0)
+> 22 January 2015
+- Working a little on that GPA [`#335`](https://github.com/mozilla/metrics-graphics/pull/335)
+- dev environment improvements [`#334`](https://github.com/mozilla/metrics-graphics/pull/334)
+- Linked minutes [`#325`](https://github.com/mozilla/metrics-graphics/pull/325)
+- Changes order of drawing markers. Making the order same for each graph [`#330`](https://github.com/mozilla/metrics-graphics/pull/330)
+- Development server [`#322`](https://github.com/mozilla/metrics-graphics/pull/322)
+- Print a warning in the console when the target element cannot be found [`#327`](https://github.com/mozilla/metrics-graphics/pull/327)
+- Added aggregate_rollover to defaults [`#241`](https://github.com/mozilla/metrics-graphics/pull/241)
+- Aggregated rollover information [`#316`](https://github.com/mozilla/metrics-graphics/pull/316)
+- Added .editorconfig for consistency across IDEs [`#321`](https://github.com/mozilla/metrics-graphics/pull/321)
+- Fix possibly-undefined use of local &#x60;pp&#x60; variable. [`#312`](https://github.com/mozilla/metrics-graphics/pull/312)
+- Adding code-climate badge [`#317`](https://github.com/mozilla/metrics-graphics/pull/317)
+- travis-ci setup [`#315`](https://github.com/mozilla/metrics-graphics/pull/315)
+- Fixing tests for PhantomJS [`#314`](https://github.com/mozilla/metrics-graphics/pull/314)
+- Disable sourcemap reference generation [`#304`](https://github.com/mozilla/metrics-graphics/pull/304)
+- modify gulp-umd config to add MG to root namespace [`#301`](https://github.com/mozilla/metrics-graphics/pull/301)
+- Vertical bars [`#243`](https://github.com/mozilla/metrics-graphics/pull/243)
+- add gulp-umd to build:js task [`#296`](https://github.com/mozilla/metrics-graphics/pull/296)
+- closes #284 and makes some additional tweaks [`#284`](https://github.com/mozilla/metrics-graphics/issues/284)
+- Fix #289, we&#x27;ll need to file another bug for missing_is_zero [`#289`](https://github.com/mozilla/metrics-graphics/issues/289)
+- Fix #289 - error when missing_is_zero is set and data length is 1 [`#289`](https://github.com/mozilla/metrics-graphics/issues/289)
+- closes #102, at least for now. You can set full_width or full_height to be true to have the svg span the parent element and resize with it. [`#102`](https://github.com/mozilla/metrics-graphics/issues/102)
+- Unit tests for histograms, points, utility.js (#306), fixes #318 [`#318`](https://github.com/mozilla/metrics-graphics/issues/318)
+- Update stroke widths for markers and baselines [`5b47468`](https://github.com/mozilla/metrics-graphics/commit/5b47468e62a63ecb40ec926973a7e78c1ef2509f)
+- Recent change made in PR #330 [`f069405`](https://github.com/mozilla/metrics-graphics/commit/f0694053fe764b2bc92afd828edc3ad4cc059cd5)
+- merging missing chart changes [`a7f14aa`](https://github.com/mozilla/metrics-graphics/commit/a7f14aa567309960c0aded08ca3d01f6c4431127)
+
+### [v2.0.0](https://github.com/mozilla/metrics-graphics/compare/v1.1.0...v2.0.0)
+> 24 December 2014
+- Added rollout_callback, inverse of rollover_callback [`#239`](https://github.com/mozilla/metrics-graphics/pull/239)
+- Updated packages with dist [`#273`](https://github.com/mozilla/metrics-graphics/pull/273)
+- Updated example references to use dist instead of lib [`#272`](https://github.com/mozilla/metrics-graphics/pull/272)
+- Moved folder structure [`#268`](https://github.com/mozilla/metrics-graphics/pull/268)
+- Test suite setup [`#259`](https://github.com/mozilla/metrics-graphics/pull/259)
+- Fix DOM ordering for redrawn lines/areas [`#254`](https://github.com/mozilla/metrics-graphics/pull/254)
+- Gulp tasks for checking and building js [`#233`](https://github.com/mozilla/metrics-graphics/pull/233)
+- Fixes #255 - for lines, at least, specifying an array of arrays (as a single line) or an array of array-arrays (multiline) with list:true will work as you expect. [`#255`](https://github.com/mozilla/metrics-graphics/issues/255)
+- v2.0 changes [`11c6477`](https://github.com/mozilla/metrics-graphics/commit/11c64776d8b3d2a2c149b1cb4447219059912f5e)
+- Update README.md [`1fd9d61`](https://github.com/mozilla/metrics-graphics/commit/1fd9d618b5d9c5c78db99d976be85bffb6afd9a6)
+- Update README.md [`e3df9f1`](https://github.com/mozilla/metrics-graphics/commit/e3df9f1861293a1fec8ae0c78d711566e655a6d7)
+
+#### v1.1.0
+> 1 December 2014
+- Update process.js [`#234`](https://github.com/mozilla/metrics-graphics/pull/234)
+- Fixes #229: Removing area when switching between single- and multi-line chart data [`#230`](https://github.com/mozilla/metrics-graphics/pull/230)
+- Add dependency directories to .gitignore [`#221`](https://github.com/mozilla/metrics-graphics/pull/221)
+- Create initial package.json [`#220`](https://github.com/mozilla/metrics-graphics/pull/220)
+- chore(readme): fix example code [`#218`](https://github.com/mozilla/metrics-graphics/pull/218)
+- missing_text now an arg for the &#x27;missing-data&#x27; chart [`#213`](https://github.com/mozilla/metrics-graphics/pull/213)
+- feat(target): allow DOM&amp;jQuery elements in target option [`#211`](https://github.com/mozilla/metrics-graphics/pull/211)
+- Added a missing comma in the API example. [`#204`](https://github.com/mozilla/metrics-graphics/pull/204)
+- Fix example code [`#194`](https://github.com/mozilla/metrics-graphics/pull/194)
+- Typo [`#191`](https://github.com/mozilla/metrics-graphics/pull/191)
+- Alternate Date/Timestamp Parsing Options [`#186`](https://github.com/mozilla/metrics-graphics/pull/186)
+- Add LICENSE file to repository [`#187`](https://github.com/mozilla/metrics-graphics/pull/187)
+- Log axis [`#127`](https://github.com/mozilla/metrics-graphics/pull/127)
+- Fixes issue #98 [`#128`](https://github.com/mozilla/metrics-graphics/pull/128)
+- Histogram TypeError [`#125`](https://github.com/mozilla/metrics-graphics/pull/125)
+- fixes 121 [`#122`](https://github.com/mozilla/metrics-graphics/pull/122)
+- Add code to fix y axis labels for small values. [`#96`](https://github.com/mozilla/metrics-graphics/pull/96)
+- Allow specification of line interpolation method. [`#94`](https://github.com/mozilla/metrics-graphics/pull/94)
+- Remove baselines before drawing. [`#95`](https://github.com/mozilla/metrics-graphics/pull/95)
+- Fixes #229: Removing area when switching between single- and multi-line chart data [`#229`](https://github.com/mozilla/metrics-graphics/issues/229)
+- fixes #219 - we now no longer need bootstrap.js, since I pulled out the dropdown code [`#219`](https://github.com/mozilla/metrics-graphics/issues/219)
+- fixes #176 - we were doing some weird padding thing and I can&#x27;t remember why, but I removed it and now the year label doesn&#x27;t collide with the date above it for very long graphics [`#176`](https://github.com/mozilla/metrics-graphics/issues/176)
+- closes #159 - @almossawi take a look at dev and let me know what you think. [`#159`](https://github.com/mozilla/metrics-graphics/issues/159)
+- fixes #174 - multiline charts using a single array now only plots what data is available for each line [`#174`](https://github.com/mozilla/metrics-graphics/issues/174)
+- fixes #153 - ls now works with dates on x and y variables as date. [`#153`](https://github.com/mozilla/metrics-graphics/issues/153)
+- closes #112 @almossawi let me know what you think / if there are any stylistic changes to the css that need to be implemented. The axis lines look a little heavy ... [`#112`](https://github.com/mozilla/metrics-graphics/issues/112)
+- fixes #113. We have some parsing out of the init functionality so we can separate precomputation steps in each chart type [`#113`](https://github.com/mozilla/metrics-graphics/issues/113)
+- added log scale support for y axis - fixes #82 [`#82`](https://github.com/mozilla/metrics-graphics/issues/82)
+- closes #84 - multiline accessor support [`#84`](https://github.com/mozilla/metrics-graphics/issues/84)
+- fixes #77 - missing charts don&#x27;t duplicate upon calling moz_chart again [`#77`](https://github.com/mozilla/metrics-graphics/issues/77)
+- fixes #77 - forgot to check for zero values in the args.y_axis_negative check [`#77`](https://github.com/mozilla/metrics-graphics/issues/77)
+- closes #68 - also rearranged the section on rollovers to include more examples [`#68`](https://github.com/mozilla/metrics-graphics/issues/68)
+- closes #62 [`#62`](https://github.com/mozilla/metrics-graphics/issues/62)
+- closes #56 - not entirely satisfactorily, but allows negative values for both axes if that is in the cards. [`#56`](https://github.com/mozilla/metrics-graphics/issues/56)
+- closes #54 - provided args.decimals to control float issues, with default 2 [`#54`](https://github.com/mozilla/metrics-graphics/issues/54)
+- closes #59 - year marker now dependent on xax_tick value [`#59`](https://github.com/mozilla/metrics-graphics/issues/59)
+- closes #52 - if working with date range and beginning of any year does not appear, then the first tick will have the year underneath it, for reference. If there is a beginning of year, then this doesn&#x27;t happen, since you can infer everything else from just one year marker. [`#52`](https://github.com/mozilla/metrics-graphics/issues/52)
+- added small text functionality - closes #41 [`#41`](https://github.com/mozilla/metrics-graphics/issues/41)
+- closes #45 - no more underscore. pow finito [`#45`](https://github.com/mozilla/metrics-graphics/issues/45)
+- added the code and links to top corner - closes #28 [`#28`](https://github.com/mozilla/metrics-graphics/issues/28)
+- closes #7 - chart titling and description are in the main moz_chart thing now. Everything handled in the init step. We may need to separate the init step since it is pretty generic. [`#7`](https://github.com/mozilla/metrics-graphics/issues/7)
+- closes #20 [`#20`](https://github.com/mozilla/metrics-graphics/issues/20)
+- closes #17 - years now optional [`#17`](https://github.com/mozilla/metrics-graphics/issues/17)
+- closes #15 - changed arg from type to format [`#15`](https://github.com/mozilla/metrics-graphics/issues/15)
+- closes #21 ... made goals arbitrary, and separated the markers function from the line chart, since we will be using this function generically for other things, like the axis ones [`#21`](https://github.com/mozilla/metrics-graphics/issues/21)
+- Fixes #3 - args.markers is the way to add markers to a graph [`#3`](https://github.com/mozilla/metrics-graphics/issues/3)
+- Update bower.json [`15a4703`](https://github.com/mozilla/metrics-graphics/commit/15a4703db568342043f156b5635d10b17ebe98cb)
+- Fix issue #245 [`6402716`](https://github.com/mozilla/metrics-graphics/commit/6402716c3165eb90cdace5729a18706ea2921187)
+- Minor cleanup [`22d9a35`](https://github.com/mozilla/metrics-graphics/commit/22d9a355155f297801ffacfd9986ddc6af588dee)
+
diff --git a/priv/static/metrics-graphics-3.0-alpha3/HOOKS.md b/priv/static/metrics-graphics-3.0-alpha3/HOOKS.md
new file mode 100644
index 0000000..21522a4
--- /dev/null
+++ b/priv/static/metrics-graphics-3.0-alpha3/HOOKS.md
@@ -0,0 +1,18 @@
+# Hooks
+### Global
+| Name | args | Description |
+|------|------|-------------|
+| `global.defaults` | `defaults` | Passes the global defaults prior to merging with args and chart-specific defaults |
+| `global.before_init` | `args` | Called before initializing a chart. Allows pre-processing of the arguments passed into `MG.data_graphic`. |
+| `x_axis.process_min_max` | `args`, `min_x`, `max_x` | Called after calculating the min and max values for the X axis |
+| `y_axis.process_min_max` | `args`, `min_y`, `max_y` | Called after calculating the min and max values for the Y axis |
+
+### Line
+| Name | args | Description | Notes |
+|------|------|-------------|-------|
+| `line.after_init` | `lineChart` - chart descriptor | Called after intializing the chart | |
+| `line.after_rollover` | `args` | Called after setting up the rollover | |
+| `line.before_all_series` | `args` | Called before rendering the chart. | Returning `false` will prevent the default rendering process from being executed. |
+| `line.before_each_series` | `data[i]` - The current data in the for loop <br /> `args` | Called within the render loop, before any other render takes place. | |
+| `line.after_each_series` | `data[i]` - The current data in the for loop <br /> `args` | Called within the render loop, after the default render has taken place. | |
+| `line.before_destroy` | `lineChart` - chart descriptor | Called before destroying the chart on a subsequent call to the same target element. | Available as of v2.10 |
diff --git a/priv/static/metrics-graphics-3.0-alpha3/LICENSE b/priv/static/metrics-graphics-3.0-alpha3/LICENSE
new file mode 100644
index 0000000..be2cc4d
--- /dev/null
+++ b/priv/static/metrics-graphics-3.0-alpha3/LICENSE
@@ -0,0 +1,362 @@
+Mozilla Public License, version 2.0
+
+1. Definitions
+
+1.1. "Contributor"
+
+ means each individual or legal entity that creates, contributes to the
+ creation of, or owns Covered Software.
+
+1.2. "Contributor Version"
+
+ means the combination of the Contributions of others (if any) used by a
+ Contributor and that particular Contributor's Contribution.
+
+1.3. "Contribution"
+
+ means Covered Software of a particular Contributor.
+
+1.4. "Covered Software"
+
+ means Source Code Form to which the initial Contributor has attached the
+ notice in Exhibit A, the Executable Form of such Source Code Form, and
+ Modifications of such Source Code Form, in each case including portions
+ thereof.
+
+1.5. "Incompatible With Secondary Licenses"
+ means
+
+ a. that the initial Contributor has attached the notice described in
+ Exhibit B to the Covered Software; or
+
+ b. that the Covered Software was made available under the terms of
+ version 1.1 or earlier of the License, but not also under the terms of
+ a Secondary License.
+
+1.6. "Executable Form"
+
+ means any form of the work other than Source Code Form.
+
+1.7. "Larger Work"
+
+ means a work that combines Covered Software with other material, in a
+ separate file or files, that is not Covered Software.
+
+1.8. "License"
+
+ means this document.
+
+1.9. "Licensable"
+
+ means having the right to grant, to the maximum extent possible, whether
+ at the time of the initial grant or subsequently, any and all of the
+ rights conveyed by this License.
+
+1.10. "Modifications"
+
+ means any of the following:
+
+ a. any file in Source Code Form that results from an addition to,
+ deletion from, or modification of the contents of Covered Software; or
+
+ b. any new file in Source Code Form that contains any Covered Software.
+
+1.11. "Patent Claims" of a Contributor
+
+ means any patent claim(s), including without limitation, method,
+ process, and apparatus claims, in any patent Licensable by such
+ Contributor that would be infringed, but for the grant of the License,
+ by the making, using, selling, offering for sale, having made, import,
+ or transfer of either its Contributions or its Contributor Version.
+
+1.12. "Secondary License"
+
+ means either the GNU General Public License, Version 2.0, the GNU Lesser
+ General Public License, Version 2.1, the GNU Affero General Public
+ License, Version 3.0, or any later versions of those licenses.
+
+1.13. "Source Code Form"
+
+ means the form of the work preferred for making modifications.
+
+1.14. "You" (or "Your")
+
+ means an individual or a legal entity exercising rights under this
+ License. For legal entities, "You" includes any entity that controls, is
+ controlled by, or is under common control with You. For purposes of this
+ definition, "control" means (a) the power, direct or indirect, to cause
+ the direction or management of such entity, whether by contract or
+ otherwise, or (b) ownership of more than fifty percent (50%) of the
+ outstanding shares or beneficial ownership of such entity.
+
+
+2. License Grants and Conditions
+
+2.1. Grants
+
+ Each Contributor hereby grants You a world-wide, royalty-free,
+ non-exclusive license:
+
+ a. under intellectual property rights (other than patent or trademark)
+ Licensable by such Contributor to use, reproduce, make available,
+ modify, display, perform, distribute, and otherwise exploit its
+ Contributions, either on an unmodified basis, with Modifications, or
+ as part of a Larger Work; and
+
+ b. under Patent Claims of such Contributor to make, use, sell, offer for
+ sale, have made, import, and otherwise transfer either its
+ Contributions or its Contributor Version.
+
+2.2. Effective Date
+
+ The licenses granted in Section 2.1 with respect to any Contribution
+ become effective for each Contribution on the date the Contributor first
+ distributes such Contribution.
+
+2.3. Limitations on Grant Scope
+
+ The licenses granted in this Section 2 are the only rights granted under
+ this License. No additional rights or licenses will be implied from the
+ distribution or licensing of Covered Software under this License.
+ Notwithstanding Section 2.1(b) above, no patent license is granted by a
+ Contributor:
+
+ a. for any code that a Contributor has removed from Covered Software; or
+
+ b. for infringements caused by: (i) Your and any other third party's
+ modifications of Covered Software, or (ii) the combination of its
+ Contributions with other software (except as part of its Contributor
+ Version); or
+
+ c. under Patent Claims infringed by Covered Software in the absence of
+ its Contributions.
+
+ This License does not grant any rights in the trademarks, service marks,
+ or logos of any Contributor (except as may be necessary to comply with
+ the notice requirements in Section 3.4).
+
+2.4. Subsequent Licenses
+
+ No Contributor makes additional grants as a result of Your choice to
+ distribute the Covered Software under a subsequent version of this
+ License (see Section 10.2) or under the terms of a Secondary License (if
+ permitted under the terms of Section 3.3).
+
+2.5. Representation
+
+ Each Contributor represents that the Contributor believes its
+ Contributions are its original creation(s) or it has sufficient rights to
+ grant the rights to its Contributions conveyed by this License.
+
+2.6. Fair Use
+
+ This License is not intended to limit any rights You have under
+ applicable copyright doctrines of fair use, fair dealing, or other
+ equivalents.
+
+2.7. Conditions
+
+ Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted in
+ Section 2.1.
+
+
+3. Responsibilities
+
+3.1. Distribution of Source Form
+
+ All distribution of Covered Software in Source Code Form, including any
+ Modifications that You create or to which You contribute, must be under
+ the terms of this License. You must inform recipients that the Source
+ Code Form of the Covered Software is governed by the terms of this
+ License, and how they can obtain a copy of this License. You may not
+ attempt to alter or restrict the recipients' rights in the Source Code
+ Form.
+
+3.2. Distribution of Executable Form
+
+ If You distribute Covered Software in Executable Form then:
+
+ a. such Covered Software must also be made available in Source Code Form,
+ as described in Section 3.1, and You must inform recipients of the
+ Executable Form how they can obtain a copy of such Source Code Form by
+ reasonable means in a timely manner, at a charge no more than the cost
+ of distribution to the recipient; and
+
+ b. You may distribute such Executable Form under the terms of this
+ License, or sublicense it under different terms, provided that the
+ license for the Executable Form does not attempt to limit or alter the
+ recipients' rights in the Source Code Form under this License.
+
+3.3. Distribution of a Larger Work
+
+ You may create and distribute a Larger Work under terms of Your choice,
+ provided that You also comply with the requirements of this License for
+ the Covered Software. If the Larger Work is a combination of Covered
+ Software with a work governed by one or more Secondary Licenses, and the
+ Covered Software is not Incompatible With Secondary Licenses, this
+ License permits You to additionally distribute such Covered Software
+ under the terms of such Secondary License(s), so that the recipient of
+ the Larger Work may, at their option, further distribute the Covered
+ Software under the terms of either this License or such Secondary
+ License(s).
+
+3.4. Notices
+
+ You may not remove or alter the substance of any license notices
+ (including copyright notices, patent notices, disclaimers of warranty, or
+ limitations of liability) contained within the Source Code Form of the
+ Covered Software, except that You may alter any license notices to the
+ extent required to remedy known factual inaccuracies.
+
+3.5. Application of Additional Terms
+
+ You may choose to offer, and to charge a fee for, warranty, support,
+ indemnity or liability obligations to one or more recipients of Covered
+ Software. However, You may do so only on Your own behalf, and not on
+ behalf of any Contributor. You must make it absolutely clear that any
+ such warranty, support, indemnity, or liability obligation is offered by
+ You alone, and You hereby agree to indemnify every Contributor for any
+ liability incurred by such Contributor as a result of warranty, support,
+ indemnity or liability terms You offer. You may include additional
+ disclaimers of warranty and limitations of liability specific to any
+ jurisdiction.
+
+4. Inability to Comply Due to Statute or Regulation
+
+ If it is impossible for You to comply with any of the terms of this License
+ with respect to some or all of the Covered Software due to statute,
+ judicial order, or regulation then You must: (a) comply with the terms of
+ this License to the maximum extent possible; and (b) describe the
+ limitations and the code they affect. Such description must be placed in a
+ text file included with all distributions of the Covered Software under
+ this License. Except to the extent prohibited by statute or regulation,
+ such description must be sufficiently detailed for a recipient of ordinary
+ skill to be able to understand it.
+
+5. Termination
+
+5.1. The rights granted under this License will terminate automatically if You
+ fail to comply with any of its terms. However, if You become compliant,
+ then the rights granted under this License from a particular Contributor
+ are reinstated (a) provisionally, unless and until such Contributor
+ explicitly and finally terminates Your grants, and (b) on an ongoing
+ basis, if such Contributor fails to notify You of the non-compliance by
+ some reasonable means prior to 60 days after You have come back into
+ compliance. Moreover, Your grants from a particular Contributor are
+ reinstated on an ongoing basis if such Contributor notifies You of the
+ non-compliance by some reasonable means, this is the first time You have
+ received notice of non-compliance with this License from such
+ Contributor, and You become compliant prior to 30 days after Your receipt
+ of the notice.
+
+5.2. If You initiate litigation against any entity by asserting a patent
+ infringement claim (excluding declaratory judgment actions,
+ counter-claims, and cross-claims) alleging that a Contributor Version
+ directly or indirectly infringes any patent, then the rights granted to
+ You by any and all Contributors for the Covered Software under Section
+ 2.1 of this License shall terminate.
+
+5.3. In the event of termination under Sections 5.1 or 5.2 above, all end user
+ license agreements (excluding distributors and resellers) which have been
+ validly granted by You or Your distributors under this License prior to
+ termination shall survive termination.
+
+6. Disclaimer of Warranty
+
+ Covered Software is provided under this License on an "as is" basis,
+ without warranty of any kind, either expressed, implied, or statutory,
+ including, without limitation, warranties that the Covered Software is free
+ of defects, merchantable, fit for a particular purpose or non-infringing.
+ The entire risk as to the quality and performance of the Covered Software
+ is with You. Should any Covered Software prove defective in any respect,
+ You (not any Contributor) assume the cost of any necessary servicing,
+ repair, or correction. This disclaimer of warranty constitutes an essential
+ part of this License. No use of any Covered Software is authorized under
+ this License except under this disclaimer.
+
+7. Limitation of Liability
+
+ Under no circumstances and under no legal theory, whether tort (including
+ negligence), contract, or otherwise, shall any Contributor, or anyone who
+ distributes Covered Software as permitted above, be liable to You for any
+ direct, indirect, special, incidental, or consequential damages of any
+ character including, without limitation, damages for lost profits, loss of
+ goodwill, work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses, even if such party shall have been
+ informed of the possibility of such damages. This limitation of liability
+ shall not apply to liability for death or personal injury resulting from
+ such party's negligence to the extent applicable law prohibits such
+ limitation. Some jurisdictions do not allow the exclusion or limitation of
+ incidental or consequential damages, so this exclusion and limitation may
+ not apply to You.
+
+8. Litigation
+
+ Any litigation relating to this License may be brought only in the courts
+ of a jurisdiction where the defendant maintains its principal place of
+ business and such litigation shall be governed by laws of that
+ jurisdiction, without reference to its conflict-of-law provisions. Nothing
+ in this Section shall prevent a party's ability to bring cross-claims or
+ counter-claims.
+
+9. Miscellaneous
+
+ This License represents the complete agreement concerning the subject
+ matter hereof. If any provision of this License is held to be
+ unenforceable, such provision shall be reformed only to the extent
+ necessary to make it enforceable. Any law or regulation which provides that
+ the language of a contract shall be construed against the drafter shall not
+ be used to construe this License against a Contributor.
+
+
+10. Versions of the License
+
+10.1. New Versions
+
+ Mozilla Foundation is the license steward. Except as provided in Section
+ 10.3, no one other than the license steward has the right to modify or
+ publish new versions of this License. Each version will be given a
+ distinguishing version number.
+
+10.2. Effect of New Versions
+
+ You may distribute the Covered Software under the terms of the version
+ of the License under which You originally received the Covered Software,
+ or under the terms of any subsequent version published by the license
+ steward.
+
+10.3. Modified Versions
+
+ If you create software not governed by this License, and you want to
+ create a new license for such software, you may create and use a
+ modified version of this License if you rename the license and remove
+ any references to the name of the license steward (except to note that
+ such modified license differs from this License).
+
+10.4. Distributing Source Code Form that is Incompatible With Secondary
+ Licenses If You choose to distribute Source Code Form that is
+ Incompatible With Secondary Licenses under the terms of this version of
+ the License, the notice described in Exhibit B of this License must be
+ attached.
+
+Exhibit A - Source Code Form License Notice
+
+ This Source Code Form is subject to the
+ terms of the Mozilla Public License, v.
+ 2.0. If a copy of the MPL was not
+ distributed with this file, You can
+ obtain one at
+ http://mozilla.org/MPL/2.0/.
+
+If it is not possible or desirable to put the notice in a particular file,
+then You may include the notice in a location (such as a LICENSE file in a
+relevant directory) where a recipient would be likely to look for such a
+notice.
+
+You may add additional accurate notices of copyright ownership.
+
+Exhibit B - "Incompatible With Secondary Licenses" Notice
+
+ This Source Code Form is "Incompatible
+ With Secondary Licenses", as defined by
+ the Mozilla Public License, v. 2.0.
diff --git a/priv/static/metrics-graphics-3.0-alpha3/README.md b/priv/static/metrics-graphics-3.0-alpha3/README.md
new file mode 100644
index 0000000..951da94
--- /dev/null
+++ b/priv/static/metrics-graphics-3.0-alpha3/README.md
@@ -0,0 +1,146 @@
+[![License: MPL 2.0](https://img.shields.io/badge/License-MPL%202.0-brightgreen.svg)](https://opensource.org/licenses/MPL-2.0) [![Build Status][travis-badge]][travis-badge-url] [![CDNJS](https://img.shields.io/cdnjs/v/metrics-graphics.svg)](https://cdnjs.com/libraries/metrics-graphics)
+
+<a href="http://metricsgraphicsjs.org/"><img src="http://metricsgraphicsjs.org/images/logo.svg" hspace="0" vspace="0" width="400" height="63"></a>
+
+_MetricsGraphics.js_ is a library optimized for visualizing and laying out time-series data. At under 80KB (minified), it provides a simple way to produce common types of graphics in a principled and consistent way. The library currently supports line charts, scatterplots, histograms, bar charts and data tables, as well as features like rug plots and basic linear regression.
+
+A sample set of examples may be found on [the examples page](http://metricsgraphicsjs.org). The example below demonstrates how easy it is to produce a graphic. Our graphics function provides a robust layer of indirection, allowing one to more efficiently build, say, a dashboard of interactive graphics, each of which may be pulling data from a different data source. For the complete list of options, and for download instructions, [take a look at the sections below](https://github.com/metricsgraphics/metrics-graphics/wiki).
+
+```js
+MG.data_graphic({
+ title: 'Downloads',
+ description: 'This graphics shows Firefox GA downloads for the past six months.',
+ data: downloads_data, // an array of objects, such as [{value:100,date:...},...]
+ width: 600,
+ height: 250,
+ target: '#downloads', // the html element that the graphic is inserted in
+ x_accessor: 'date', // the key that accesses the x value
+ y_accessor: 'value' // the key that accesses the y value
+})
+```
+
+The API is simple. All that's needed to create a graphic is to specify a few default parameters and then, if desired, override one or more of the [optional parameters on offer](https://github.com/metricsgraphics/metrics-graphics/wiki/List-of-Options). We don't maintain state. In order to update a graphic, one would call _MG.data_graphic_ on the same target element.
+
+The library is data-source agnostic. While it provides a number of convenience functions and options that allow for graphics to better handle things like missing observations, it doesn't care where the data comes from.
+
+Though originally envisioned for Mozilla Metrics dashboard projects, we are making this repository public for others to use, knowing full well that we are far from having this project in good-enough shape. Take a look at the issues to see the milestones and other upcoming work on this repository. We are currently using semantic versioning.
+
+<a href="http://metricsgraphicsjs.org">http://metricsgraphicsjs.org</a>
+
+## Important changes in v2.10
+The library now depends on D3 4.x. The impact on MG users is minimal, though if you do use D3 for other work, here is the [list of changes](https://github.com/d3/d3/blob/master/CHANGES.md) from 3.x to 4.x. Please refer to the [release notes](https://github.com/metricsgraphics/metrics-graphics/releases/tag/v2.10.0) for further details.
+
+## Important changes in v2.0
+1. The library is now namespaced. ``data_graphic`` is now ``MG.data_graphic``, ``convert_dates`` is now ``MG.convert.date``, ``clone`` is now ``MG.clone``, ``button_layout`` is now ``MG.button_layout`` and ``data_table`` is now ``MG.data_table``. We added a new convenience function called ``MG.convert.number``.
+2. The ``rollover_callback`` option has been renamed ``mouseover`` and expanded in order to make it more consistent with other libraries. We now have three callback functions available: [mouseover](https://github.com/metricsgraphics/metrics-graphics/wiki/Graphic#mouseover), [mouseout](https://github.com/metricsgraphics/metrics-graphics/wiki/Graphic#mouseout) and [mousemove](https://github.com/metricsgraphics/metrics-graphics/wiki/Graphic#mousemove).
+3. CSS rules have been prefixed and in some cases updated for consistency. ``active_datapoint`` for instance is now ``mg-active-datapoint``.
+
+## Quick-start guide
+1. Download the [latest release](https://github.com/metricsgraphics/metrics-graphics/releases).
+2. Follow the examples [here](https://github.com/metricsgraphics/metrics-graphics/blob/master/examples/index.htm) and [here](https://github.com/metricsgraphics/metrics-graphics/blob/master/examples/js/main.js) to see how graphics are laid out and built. The examples use JSON data from [examples/data](https://github.com/metricsgraphics/metrics-graphics/blob/master/examples/data), though you may easily pull data from elsewhere.
+
+## Dependencies
+The library depends on [D3](http://d3js.org). If you wish to enable tooltips or use [buttons](https://github.com/metricsgraphics/metrics-graphics/wiki/Button-Layout), please include [jQuery](http://jquery.com/) as well. Versions of MG older than v2.10 depend on D3 3, whereas MG v2.10 onwards depend on D3 4.
+
+## Contributing
+If you would like to help extend MetricsGraphics.js or fix bugs, please [fork the library](https://github.com/metricsgraphics/metrics-graphics) and install [Node.js](http://nodejs.org). Then, from the project's root directory install [gulp](http://gulpjs.com):
+
+ npm install gulp
+
+Then, install the library's dependencies:
+
+ npm install
+
+To build the library from source, type:
+
+ gulp build:js
+
+To run tests, type:
+
+ gulp test
+
+We have a basic development environment which uses the project source to
+serve up an interactive example. To run it, type:
+
+ gulp serve
+
+A development server will be available at http://localhost:4300. Just reload
+it as you make modifications to the files in `src/` -- any changes made to
+the example source and data should be preserved.
+
+The website [metricsgraphicsjs.org](https://metricsgraphicsjs.org) is automatically
+uploaded/updated by travis ci when a new tag is created (corresponding to a
+new release). It is served from github pages using a [netlify](https://netlify.com)
+configuration maintained and controlled by [William Lachance](https://github.com/wlach/).
+
+You might also be interested in writing addons for the library, in which case, [have a read through this page](https://github.com/metricsgraphics/metrics-graphics/wiki/Developing-Addons).
+
+## Getting in touch
+
+If you have any questions about metrics graphics (either as a user or contributor), the best place to ask is the [#metricsgraphics](https://client00.chat.mibbit.com/?server=irc.mozilla.org&channel=%23metricsgraphics) channel on irc.mozilla.org ([learn more about irc @ Mozilla](https://wiki.mozilla.org/IRC)).
+
+## Resources
+* [Examples](http://metricsgraphicsjs.org/examples.htm)
+* [Interactive demo](http://metricsgraphicsjs.org/interactive-demo.htm)
+* [List of options](https://github.com/metricsgraphics/metrics-graphics/wiki/List-of-Options)
+* [Convenience functions](https://github.com/metricsgraphics/metrics-graphics/wiki/Convenience-Functions)
+* [Hooks](https://github.com/metricsgraphics/metrics-graphics/blob/master/HOOKS.md)
+* [Chart types](https://github.com/metricsgraphics/metrics-graphics/wiki/Chart-Types)
+* [Developing addons](https://github.com/metricsgraphics/metrics-graphics/wiki/Developing-Addons)
+* [Building a button layout](https://github.com/metricsgraphics/metrics-graphics/wiki/Button-Layout)
+
+## Download package
+The download package includes everything that you see on [metricsgraphicsjs.org](http://metricsgraphicsjs.org). In order to use the library in your own project, the only files that you'll need are the ones under ``dist``. Remember to load ``D3`` and ``jQuery``. If you don't care about tooltips or the button layout, you won't need the latter. If your project uses Bootstrap, make sure you load MetricsGraphics.js after it.
+
+## Frequently asked questions
+__What does MetricsGraphics.js do that library x doesn't do?__
+
+If library x works for you, you should keep using it. We're not aiming to be competitive with libraries that already exist. We're aiming to make a library that meets our needs. We also happen to think that the world _needs_ a principled data presentation library, and that many of our needs are the same as other folks'.
+
+__I only see colours for the first 10 lines in my chart, what gives?__
+
+The colors for the first ten lines, areas and legends are defined in the stylesheet for the light and dark themes. For an eleventh line, you would add the following CSS rules:
+
+
+```css
+.mg-line11-color {
+ stroke: lightpink;
+}
+
+.mg-area11-color {
+ fill: lightpink;
+}
+
+.mg-hover-line11-color {
+ fill: lightpink;
+}
+
+.mg-line11-legend-color {
+ color: lightpink;
+}
+```
+
+If you're plotting more than five lines in the same chart and using _color_ to encode some dimension of the data, then you probably need to rethink the chart.
+
+__I get an error when I load MG alongside library x__
+
+If your project uses Bootstrap, make sure you load MetricsGraphics.js after it. If your project uses jQuery UI, load it after MetricsGraphics.js.
+
+## Gallery
+Feel free to add your addons and websites to this list.
+* [mg-color-scale (addon)](https://github.com/dandehavilland/mg-color-scale)
+* [mg-line-brushing (addon)](https://github.com/dandehavilland/mg-line-brushing)
+* [mg-regions (addon)](https://github.com/senseyeio/mg-regions)
+* [Rails wrapper gem](https://github.com/dgilperez/metrics-graphics-rails)
+* [R package (htmlwidget)](https://github.com/hrbrmstr/metricsgraphics)
+* [Python library - using Pyxley](http://multithreaded.stitchfix.com/blog/2015/07/16/pyxley)
+* [Angular directive](https://github.com/elmarquez/angular-metrics-graphics)
+* [React component](https://github.com/metricsgraphics/react-metrics-graphics)
+
+## License
+
+The __MetricsGraphics.js__ code is shared under the terms of the [Mozilla Public License v2.0](http://www.mozilla.org/MPL/2.0/). See the `LICENSE` file at the root of the repository. The current logo is courtesy of [Font Awesome](http://fortawesome.github.io/Font-Awesome/).
+
+
+[travis-badge]: https://travis-ci.org/metricsgraphics/metrics-graphics.svg?branch=master
+[travis-badge-url]: https://travis-ci.org/metricsgraphics/metrics-graphics
diff --git a/priv/static/metrics-graphics-3.0-alpha3/bower.json b/priv/static/metrics-graphics-3.0-alpha3/bower.json
new file mode 100644
index 0000000..ef5844b
--- /dev/null
+++ b/priv/static/metrics-graphics-3.0-alpha3/bower.json
@@ -0,0 +1,41 @@
+{
+ "name": "metrics-graphics",
+ "main": [
+ "dist/metricsgraphics.js",
+ "dist/metricsgraphics.css"
+ ],
+ "dependencies": {
+ "d3": ">=4"
+ },
+ "ignore": [
+ ".DS_Store",
+ ".git",
+ ".gitignore",
+ "examples",
+ "gulp",
+ "gulpfile.js",
+ "index.js",
+ "node_modules",
+ "package.json",
+ "src",
+ "testem.json",
+ "tests"
+ ],
+ "license": "MPL-2.0",
+ "authors": [
+ "Ali Almossawi", "Ali Almossawi (http://twitter.com/alialmossawi)>",
+ "Hamilton Ulmer", "Hamilton Ulmer (http://twitter.com/hamiltonulmer)>"
+ ],
+ "homepage": "http://metricsgraphicsjs.org",
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/metricsgraphics/metrics-graphics.git"
+ },
+ "keywords": [
+ "metrics-graphics",
+ "metricsgraphicsjs",
+ "metricsgraphics",
+ "metricsgraphics.js",
+ "d3 charts"
+ ]
+}
diff --git a/priv/static/metrics-graphics-3.0-alpha3/contribute.json b/priv/static/metrics-graphics-3.0-alpha3/contribute.json
new file mode 100644
index 0000000..6213da5
--- /dev/null
+++ b/priv/static/metrics-graphics-3.0-alpha3/contribute.json
@@ -0,0 +1,30 @@
+{
+ "name": "MetricsGraphics.js",
+ "description": "A library optimized for concise, principled data graphics and layouts.",
+ "repository": {
+ "url": "https://github.com/metricsgraphics/metrics-graphics",
+ "license": "MPL2",
+ "tests": "https://travis-ci.org/metricsgraphics/metrics-graphics/"
+ },
+ "participate": {
+ "home": "http://metricsgraphicsjs.org/",
+ "docs": "https://github.com/metricsgraphics/metrics-graphics/wiki#resources",
+ "irc": "irc://irc.mozilla.org/#metricsgraphics",
+ "irc-contacts": [
+ "almossawi",
+ "hulmer",
+ "wlach"
+ ]
+ },
+ "bugs": {
+ "list": "https://github.com/metricsgraphics/metrics-graphics/issues",
+ "report": "https://github.com/metricsgraphics/metrics-graphics/issues/new",
+ "mentored": "https://github.com/metricsgraphics/metrics-graphics/labels/help%20wanted"
+ },
+ "keywords": [
+ "nodejs",
+ "d3",
+ "data",
+ "graphics"
+ ]
+}
diff --git a/priv/static/metrics-graphics-3.0-alpha3/dist/metricsgraphics.js b/priv/static/metrics-graphics-3.0-alpha3/dist/metricsgraphics.js
new file mode 100644
index 0000000..a0f7f22
--- /dev/null
+++ b/priv/static/metrics-graphics-3.0-alpha3/dist/metricsgraphics.js
@@ -0,0 +1,7697 @@
+(function(root, factory) {
+ if (typeof define === 'function' && define.amd) {
+ define(['d3'], factory);
+ } else if (typeof exports === 'object') {
+ module.exports = factory(require('d3'));
+ } else {
+ root.MG = factory(root.d3);
+ }
+}(this, function(d3) {
+'use strict';
+
+var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
+
+(typeof window === 'undefined' ? global : window).MG = { version: '2.11' };
+
+//a set of helper functions, some that we've written, others that we've borrowed
+
+MG.convert = {};
+
+MG.convert.date = function (data, accessor, time_format) {
+ time_format = typeof time_format === "undefined" ? '%Y-%m-%d' : time_format;
+ var parse_time = d3.timeParse(time_format);
+ data = data.map(function (d) {
+ d[accessor] = parse_time(d[accessor].trim());
+ return d;
+ });
+
+ return data;
+};
+
+MG.convert.number = function (data, accessor) {
+ data = data.map(function (d) {
+ d[accessor] = Number(d[accessor]);
+ return d;
+ });
+
+ return data;
+};
+
+MG.time_format = function (utc, specifier) {
+ return utc ? d3.utcFormat(specifier) : d3.timeFormat(specifier);
+};
+
+function mg_jquery_exists() {
+ if (typeof jQuery !== 'undefined' || typeof $ !== 'undefined') {
+ return true;
+ } else {
+ return false;
+ }
+}
+
+function mg_get_rollover_time_format(args) {
+ // if a rollover time format is defined, use that
+ if (args.rollover_time_format) {
+ return MG.time_format(args.utc_time, args.rollover_time_format);
+ }
+
+ switch (args.processed.x_time_frame) {
+ case 'millis':
+ return MG.time_format(args.utc_time, '%b %e, %Y %H:%M:%S.%L');
+ case 'seconds':
+ return MG.time_format(args.utc_time, '%b %e, %Y %H:%M:%S');
+ case 'less-than-a-day':
+ return MG.time_format(args.utc_time, '%b %e, %Y %I:%M%p');
+ case 'four-days':
+ return MG.time_format(args.utc_time, '%b %e, %Y %I:%M%p');
+ }
+
+ // default
+ return MG.time_format(args.utc_time, '%b %e, %Y');
+}
+
+function mg_data_in_plot_bounds(datum, args) {
+ return datum[args.x_accessor] >= args.processed.min_x && datum[args.x_accessor] <= args.processed.max_x && datum[args.y_accessor] >= args.processed.min_y && datum[args.y_accessor] <= args.processed.max_y;
+}
+
+function is_array(thing) {
+ return Object.prototype.toString.call(thing) === '[object Array]';
+}
+
+function is_function(thing) {
+ return Object.prototype.toString.call(thing) === '[object Function]';
+}
+
+function is_empty_array(thing) {
+ return is_array(thing) && thing.length === 0;
+}
+
+function is_object(thing) {
+ return Object.prototype.toString.call(thing) === '[object Object]';
+}
+
+function is_array_of_arrays(data) {
+ var all_elements = data.map(function (d) {
+ return is_array(d) === true && d.length > 0;
+ });
+
+ return d3.sum(all_elements) === data.length;
+}
+
+function is_array_of_objects(data) {
+ // is every element of data an object?
+ var all_elements = data.map(function (d) {
+ return is_object(d) === true;
+ });
+
+ return d3.sum(all_elements) === data.length;
+}
+
+function is_array_of_objects_or_empty(data) {
+ return is_empty_array(data) || is_array_of_objects(data);
+}
+
+function pluck(arr, accessor) {
+ return arr.map(function (d) {
+ return d[accessor];
+ });
+}
+
+function count_array_elements(arr) {
+ return arr.reduce(function (a, b) {
+ a[b] = a[b] + 1 || 1;
+ return a;
+ }, {});
+}
+
+function mg_get_bottom(args) {
+ return args.height - args.bottom;
+}
+
+function mg_get_plot_bottom(args) {
+ // returns the pixel location of the bottom side of the plot area.
+ return mg_get_bottom(args) - args.buffer;
+}
+
+function mg_get_top(args) {
+ return args.top;
+}
+
+function mg_get_plot_top(args) {
+ // returns the pixel location of the top side of the plot area.
+ return mg_get_top(args) + args.buffer;
+}
+
+function mg_get_left(args) {
+ return args.left;
+}
+
+function mg_get_plot_left(args) {
+ // returns the pixel location of the left side of the plot area.
+ return mg_get_left(args) + args.buffer;
+}
+
+function mg_get_right(args) {
+ return args.width - args.right;
+}
+
+function mg_get_plot_right(args) {
+ // returns the pixel location of the right side of the plot area.
+ return mg_get_right(args) - args.buffer;
+}
+
+//////// adding elements, removing elements /////////////
+
+function mg_exit_and_remove(elem) {
+ elem.exit().remove();
+}
+
+function mg_selectAll_and_remove(svg, cl) {
+ svg.selectAll(cl).remove();
+}
+
+function mg_add_g(svg, cl) {
+ return svg.append('g').classed(cl, true);
+}
+
+function mg_remove_element(svg, elem) {
+ svg.select(elem).remove();
+}
+
+//////// axis helper functions ////////////
+
+function mg_make_rug(args, rug_class) {
+ var svg = mg_get_svg_child_of(args.target);
+ var all_data = mg_flatten_array(args.data);
+ var rug = svg.selectAll('line.' + rug_class).data(all_data);
+
+ rug.enter().append('line').attr('class', rug_class).attr('opacity', 0.3);
+
+ //remove rug elements that are no longer in use
+ mg_exit_and_remove(rug);
+
+ //set coordinates of new rug elements
+ mg_exit_and_remove(rug);
+ return rug;
+}
+
+function mg_add_color_accessor_to_rug(rug, args, rug_mono_class) {
+ if (args.color_accessor) {
+ rug.attr('stroke', args.scalefns.colorf);
+ rug.classed(rug_mono_class, false);
+ } else {
+ rug.attr('stroke', null);
+ rug.classed(rug_mono_class, true);
+ }
+}
+
+function mg_rotate_labels(labels, rotation_degree) {
+ if (rotation_degree) {
+ labels.attr({
+ dy: 0,
+ transform: function transform() {
+ var elem = d3.select(this);
+ return 'rotate(' + rotation_degree + ' ' + elem.attr('x') + ',' + elem.attr('y') + ')';
+ }
+ });
+ }
+}
+
+//////////////////////////////////////////////////
+
+function mg_elements_are_overlapping(labels) {
+ labels = labels.node();
+ if (!labels) {
+ return false;
+ }
+
+ for (var i = 0; i < labels.length; i++) {
+ if (mg_is_horizontally_overlapping(labels[i], labels)) return true;
+ }
+
+ return false;
+}
+
+function mg_prevent_horizontal_overlap(labels, args) {
+ if (!labels || labels.length == 1) {
+ return;
+ }
+
+ //see if each of our labels overlaps any of the other labels
+ for (var i = 0; i < labels.length; i++) {
+ //if so, nudge it up a bit, if the label it intersects hasn't already been nudged
+ if (mg_is_horizontally_overlapping(labels[i], labels)) {
+ var node = d3.select(labels[i]);
+ var newY = +node.attr('y');
+ if (newY + 8 >= args.top) {
+ newY = args.top - 16;
+ }
+ node.attr('y', newY);
+ }
+ }
+}
+
+function mg_prevent_vertical_overlap(labels, args) {
+ if (!labels || labels.length == 1) {
+ return;
+ }
+
+ labels.sort(function (b, a) {
+ return d3.select(a).attr('y') - d3.select(b).attr('y');
+ });
+
+ labels.reverse();
+
+ var overlap_amount, label_i, label_j;
+
+ //see if each of our labels overlaps any of the other labels
+ for (var i = 0; i < labels.length; i++) {
+ //if so, nudge it up a bit, if the label it intersects hasn't already been nudged
+ label_i = d3.select(labels[i]).text();
+
+ for (var j = 0; j < labels.length; j++) {
+ label_j = d3.select(labels[j]).text();
+ overlap_amount = mg_is_vertically_overlapping(labels[i], labels[j]);
+
+ if (overlap_amount !== false && label_i !== label_j) {
+ var node = d3.select(labels[i]);
+ var newY = +node.attr('y');
+ newY = newY + overlap_amount;
+ node.attr('y', newY);
+ }
+ }
+ }
+}
+
+function mg_is_vertically_overlapping(element, sibling) {
+ var element_bbox = element.getBoundingClientRect();
+ var sibling_bbox = sibling.getBoundingClientRect();
+
+ if (element_bbox.top <= sibling_bbox.bottom && element_bbox.top >= sibling_bbox.top) {
+ return sibling_bbox.bottom - element_bbox.top;
+ }
+
+ return false;
+}
+
+function mg_is_horiz_overlap(element, sibling) {
+ var element_bbox = element.getBoundingClientRect();
+ var sibling_bbox = sibling.getBoundingClientRect();
+
+ if (element_bbox.right >= sibling_bbox.left || element_bbox.top >= sibling_bbox.top) {
+ return sibling_bbox.bottom - element_bbox.top;
+ }
+ return false;
+}
+
+function mg_is_horizontally_overlapping(element, labels) {
+ var element_bbox = element.getBoundingClientRect();
+
+ for (var i = 0; i < labels.length; i++) {
+ if (labels[i] == element) {
+ continue;
+ }
+
+ //check to see if this label overlaps with any of the other labels
+ var sibling_bbox = labels[i].getBoundingClientRect();
+ if (element_bbox.top === sibling_bbox.top && !(sibling_bbox.left > element_bbox.right || sibling_bbox.right < element_bbox.left)) {
+ return true;
+ }
+ }
+
+ return false;
+}
+
+function mg_infer_type(args, ns) {
+ // must return categorical or numerical.
+ var testPoint = mg_flatten_array(args.data);
+
+ testPoint = testPoint[0][args[ns + '_accessor']];
+ return typeof testPoint === 'string' ? 'categorical' : 'numerical';
+}
+
+function mg_get_svg_child_of(selector_or_node) {
+ return d3.select(selector_or_node).select('svg');
+}
+
+function mg_flatten_array(arr) {
+ var flat_data = [];
+ return flat_data.concat.apply(flat_data, arr);
+}
+
+function mg_next_id() {
+ if (typeof MG._next_elem_id === 'undefined') {
+ MG._next_elem_id = 0;
+ }
+
+ return 'mg-' + MG._next_elem_id++;
+}
+
+function mg_target_ref(target) {
+ if (typeof target === 'string') {
+ return mg_normalize(target);
+ } else if (target instanceof window.HTMLElement) {
+ var target_ref = target.getAttribute('data-mg-uid');
+ if (!target_ref) {
+ target_ref = mg_next_id();
+ target.setAttribute('data-mg-uid', target_ref);
+ }
+
+ return target_ref;
+ } else {
+ console.warn('The specified target should be a string or an HTMLElement.', target);
+ return mg_normalize(target);
+ }
+}
+
+function mg_normalize(string) {
+ return string.replace(/[^a-zA-Z0-9 _-]+/g, '').replace(/ +?/g, '');
+}
+
+function get_pixel_dimension(target, dimension) {
+ return Number(d3.select(target).style(dimension).replace(/px/g, ''));
+}
+
+function get_width(target) {
+ return get_pixel_dimension(target, 'width');
+}
+
+function get_height(target) {
+ return get_pixel_dimension(target, 'height');
+}
+
+function isNumeric(n) {
+ return !isNaN(parseFloat(n)) && isFinite(n);
+}
+
+var each = function each(obj, iterator, context) {
+ // yanked out of underscore
+ var breaker = {};
+ if (obj === null) return obj;
+ if (Array.prototype.forEach && obj.forEach === Array.prototype.forEach) {
+ obj.forEach(iterator, context);
+ } else if (obj.length === +obj.length) {
+ for (var i = 0, length = obj.length; i < length; i++) {
+ if (iterator.call(context, obj[i], i, obj) === breaker) return;
+ }
+ } else {
+ for (var k in obj) {
+ if (iterator.call(context, obj[k], k, obj) === breaker) return;
+ }
+ }
+
+ return obj;
+};
+
+function merge_with_defaults(obj) {
+ // taken from underscore
+ each(Array.prototype.slice.call(arguments, 1), function (source) {
+ if (source) {
+ for (var prop in source) {
+ if (obj[prop] === void 0) obj[prop] = source[prop];
+ }
+ }
+ });
+
+ return obj;
+}
+
+MG.merge_with_defaults = merge_with_defaults;
+
+function number_of_values(data, accessor, value) {
+ var values = data.filter(function (d) {
+ return d[accessor] === value;
+ });
+
+ return values.length;
+}
+
+function has_values_below(data, accessor, value) {
+ var values = data.filter(function (d) {
+ return d[accessor] <= value;
+ });
+
+ return values.length > 0;
+}
+
+function has_too_many_zeros(data, accessor, zero_count) {
+ return number_of_values(data, accessor, 0) >= zero_count;
+}
+
+function mg_is_date(obj) {
+ return Object.prototype.toString.call(obj) === '[object Date]';
+}
+
+function mg_is_object(obj) {
+ return Object.prototype.toString.call(obj) === '[object Object]';
+}
+
+function mg_is_array(obj) {
+ if (Array.isArray) {
+ return Array.isArray(obj);
+ }
+
+ return Object.prototype.toString.call(obj) === '[object Array]';
+}
+
+function mg_is_function(obj) {
+ return Object.prototype.toString.call(obj) === '[object Function]';
+}
+
+// deep copy
+// http://stackoverflow.com/questions/728360/most-elegant-way-to-clone-a-javascript-object
+MG.clone = function (obj) {
+ var copy;
+
+ // Handle the 3 simple types, and null or undefined
+ if (null === obj || "object" !== (typeof obj === 'undefined' ? 'undefined' : _typeof(obj))) return obj;
+
+ // Handle Date
+ if (mg_is_date(obj)) {
+ copy = new Date();
+ copy.setTime(obj.getTime());
+ return copy;
+ }
+
+ // Handle Array
+ if (mg_is_array(obj)) {
+ copy = [];
+ for (var i = 0, len = obj.length; i < len; i++) {
+ copy[i] = MG.clone(obj[i]);
+ }
+ return copy;
+ }
+
+ // Handle Object
+ if (mg_is_object(obj)) {
+ copy = {};
+ for (var attr in obj) {
+ if (obj.hasOwnProperty(attr)) copy[attr] = MG.clone(obj[attr]);
+ }
+ return copy;
+ }
+
+ throw new Error("Unable to copy obj! Its type isn't supported.");
+};
+
+// give us the difference of two int arrays
+// http://radu.cotescu.com/javascript-diff-function/
+function arr_diff(a, b) {
+ var seen = [],
+ diff = [],
+ i;
+ for (i = 0; i < b.length; i++) {
+ seen[b[i]] = true;
+ }for (i = 0; i < a.length; i++) {
+ if (!seen[a[i]]) diff.push(a[i]);
+ }return diff;
+}
+
+MG.arr_diff = arr_diff;
+
+/**
+ Print warning message to the console when a feature has been scheduled for removal
+
+ @author Dan de Havilland (github.com/dandehavilland)
+ @date 2014-12
+*/
+function warn_deprecation(message, untilVersion) {
+ console.warn('Deprecation: ' + message + (untilVersion ? '. This feature will be removed in ' + untilVersion + '.' : ' the near future.'));
+ console.trace();
+}
+
+MG.warn_deprecation = warn_deprecation;
+
+/**
+ Truncate a string to fit within an SVG text node
+ CSS text-overlow doesn't apply to SVG <= 1.2
+
+ @author Dan de Havilland (github.com/dandehavilland)
+ @date 2014-12-02
+*/
+function truncate_text(textObj, textString, width) {
+ var bbox,
+ position = 0;
+
+ textObj.textContent = textString;
+ bbox = textObj.getBBox();
+
+ while (bbox.width > width) {
+ textObj.textContent = textString.slice(0, --position) + '...';
+ bbox = textObj.getBBox();
+
+ if (textObj.textContent === '...') {
+ break;
+ }
+ }
+}
+
+MG.truncate_text = truncate_text;
+
+/**
+ Wrap the contents of a text node to a specific width
+
+ Adapted from bl.ocks.org/mbostock/7555321
+
+ @author Mike Bostock
+ @author Dan de Havilland
+ @date 2015-01-14
+*/
+function wrap_text(text, width, token, tspanAttrs) {
+ text.each(function () {
+ var text = d3.select(this),
+ words = text.text().split(token || /\s+/).reverse(),
+ word,
+ line = [],
+ lineNumber = 0,
+ lineHeight = 1.1,
+ // ems
+ y = text.attr("y"),
+ dy = 0,
+ tspan = text.text(null).append("tspan").attr("x", 0).attr("y", dy + "em").attr(tspanAttrs || {});
+
+ while (!!(word = words.pop())) {
+ line.push(word);
+ tspan.text(line.join(" "));
+ if (width === null || tspan.node().getComputedTextLength() > width) {
+ line.pop();
+ tspan.text(line.join(" "));
+ line = [word];
+ tspan = text.append("tspan").attr("x", 0).attr("y", ++lineNumber * lineHeight + dy + "em").attr(tspanAttrs || {}).text(word);
+ }
+ }
+ });
+}
+
+MG.wrap_text = wrap_text;
+
+function register(chartType, descriptor, defaults) {
+ MG.charts[chartType] = {
+ descriptor: descriptor,
+ defaults: defaults || {}
+ };
+}
+
+MG.register = register;
+
+/**
+ Record of all registered hooks.
+ For internal use only.
+*/
+MG._hooks = {};
+
+/**
+ Add a hook callthrough to the stack.
+
+ Hooks are executed in the order that they were registered.
+*/
+MG.add_hook = function (name, func, context) {
+ var hooks;
+
+ if (!MG._hooks[name]) {
+ MG._hooks[name] = [];
+ }
+
+ hooks = MG._hooks[name];
+
+ var already_registered = hooks.filter(function (hook) {
+ return hook.func === func;
+ }).length > 0;
+
+ if (already_registered) {
+ throw 'That function is already registered.';
+ }
+
+ hooks.push({
+ func: func,
+ context: context
+ });
+};
+
+/**
+ Execute registered hooks.
+
+ Optional arguments
+*/
+MG.call_hook = function (name) {
+ var hooks = MG._hooks[name],
+ result = [].slice.apply(arguments, [1]),
+ processed;
+
+ if (hooks) {
+ hooks.forEach(function (hook) {
+ if (hook.func) {
+ var params = processed || result;
+
+ if (params && params.constructor !== Array) {
+ params = [params];
+ }
+
+ params = [].concat.apply([], params);
+ processed = hook.func.apply(hook.context, params);
+ }
+ });
+ }
+
+ return processed || result;
+};
+
+MG.globals = {};
+MG.deprecations = {
+ rollover_callback: { replacement: 'mouseover', version: '2.0' },
+ rollout_callback: { replacement: 'mouseout', version: '2.0' },
+ x_rollover_format: { replacement: 'x_mouseover', version: '2.10' },
+ y_rollover_format: { replacement: 'y_mouseover', version: '2.10' },
+ show_years: { replacement: 'show_secondary_x_label', version: '2.1' },
+ xax_start_at_min: { replacement: 'axes_not_compact', version: '2.7' },
+ interpolate_tension: { replacement: 'interpolate', version: '2.10' }
+};
+MG.globals.link = false;
+MG.globals.version = "1.1";
+
+MG.charts = {};
+
+MG.data_graphic = function (args) {
+ 'use strict';
+
+ var defaults = {
+ missing_is_zero: false, // if true, missing values will be treated as zeros
+ missing_is_hidden: false, // if true, missing values will appear as broken segments
+ missing_is_hidden_accessor: null, // the accessor that determines the boolean value for missing data points
+ legend: '', // an array identifying the labels for a chart's lines
+ legend_target: '', // if set, the specified element is populated with a legend
+ error: '', // if set, a graph will show an error icon and log the error to the console
+ animate_on_load: false, // animate lines on load
+ top: 65, // the size of the top margin
+ title_y_position: 10, // how many pixels from the top edge (0) should we show the title at
+ center_title_full_width: false, // center the title over the full graph (i.e. ignore left and right margins)
+ bottom: 45, // the size of the bottom margin
+ right: 10, // size of the right margin
+ left: 50, // size of the left margin
+ buffer: 8, // the buffer between the actual chart area and the margins
+ width: 350, // the width of the entire graphic
+ height: 220, // the height of the entire graphic
+ full_width: false, // sets the graphic width to be the width of the parent element and resizes dynamically
+ full_height: false, // sets the graphic width to be the width of the parent element and resizes dynamically
+ small_height_threshold: 120, // the height threshold for when smaller text appears
+ small_width_threshold: 160, // the width threshold for when smaller text appears
+ xax_count: 6, // number of x axis ticks
+ xax_tick_length: 5, // x axis tick length
+ axes_not_compact: true,
+ yax_count: 3, // number of y axis ticks
+ yax_tick_length: 5, // y axis tick length
+ x_extended_ticks: false, // extends x axis ticks across chart - useful for tall charts
+ y_extended_ticks: false, // extends y axis ticks across chart - useful for long charts
+ y_scale_type: 'linear',
+ max_x: null,
+ max_y: null,
+ min_x: null,
+ min_y: null, // if set, y axis starts at an arbitrary value
+ min_y_from_data: false, // if set, y axis will start at minimum value rather than at 0
+ point_size: 2.5, // the size of the dot that appears on a line on mouse-over
+ active_point_on_lines: false, // if set, active dot on lines will be displayed.
+ active_point_accessor: 'active', // data accessor value to determine if a point is active or not
+ active_point_size: 2, // the size of the dot that appears on a line when
+ points_always_visible: false, // whether to always display data points and not just on hover
+ x_accessor: 'date',
+ xax_units: '',
+ x_label: '',
+ x_sort: true,
+ x_axis: true,
+ y_axis: true,
+ x_axis_position: 'bottom',
+ y_axis_position: 'left',
+ x_axis_type: null, // TO BE INTRODUCED IN 2.10
+ y_axis_type: null, // TO BE INTRODUCED IN 2.10
+ ygroup_accessor: null,
+ xgroup_accessor: null,
+ y_padding_percentage: 0.05, // for categorical scales
+ y_outer_padding_percentage: 0.1, // for categorical scales
+ ygroup_padding_percentage: 0.25, // for categorical scales
+ ygroup_outer_padding_percentage: 0, // for categorical scales
+ x_padding_percentage: 0.05, // for categorical scales
+ x_outer_padding_percentage: 0.1, // for categorical scales
+ xgroup_padding_percentage: 0.25, // for categorical scales
+ xgroup_outer_padding_percentage: 0, // for categorical scales
+ y_categorical_show_guides: false,
+ x_categorical_show_guide: false,
+ rotate_x_labels: 0,
+ rotate_y_labels: 0,
+ y_accessor: 'value',
+ y_label: '',
+ yax_units: '',
+ yax_units_append: false,
+ x_rug: false,
+ y_rug: false,
+ mouseover_align: 'right', // implemented in point.js
+ x_mouseover: null,
+ y_mouseover: null,
+ transition_on_update: true,
+ mouseover: null,
+ click: null,
+ show_rollover_text: true,
+ show_confidence_band: null, // given [l, u] shows a confidence at each point from l to u
+ xax_format: null, // xax_format is a function that formats the labels for the x axis.
+ area: true, // Can be also an array to select lines having areas (e.g. [1, 3])
+ flip_area_under_y_value: null, // Specify a Y baseline number value to flip area under it.
+ chart_type: 'line',
+ data: [],
+ decimals: 2, // the number of decimals in any rollover
+ format: 'count', // format = {count, percentage}
+ inflator: 10 / 9, // for setting y axis max
+ linked: false, // links together all other graphs with linked:true, so rollovers in one trigger rollovers in the others
+ linked_format: '%Y-%m-%d', // What granularity to link on for graphs. Default is at day
+ list: false,
+ baselines: null, // sets the baseline lines
+ markers: null, // sets the marker lines
+ scalefns: {},
+ scales: {},
+ utc_time: false,
+ european_clock: false,
+ show_year_markers: false,
+ show_secondary_x_label: true,
+ target: '#viz',
+ interpolate: d3.curveCatmullRom.alpha(0), // interpolation method to use when rendering lines; increase tension if your data is irregular and you notice artifacts
+ custom_line_color_map: [], // allows arbitrary mapping of lines to colors, e.g. [2,3] will map line 1 to color 2 and line 2 to color 3
+ colors: null, // UNIMPLEMENTED - allows direct color mapping to line colors. Will eventually require
+ max_data_size: null, // explicitly specify the the max number of line series, for use with custom_line_color_map
+ aggregate_rollover: false, // links the lines in a multi-line chart
+ show_tooltips: true, // if enabled, a chart's description will appear in a tooltip (requires jquery)
+ showActivePoint: true, // If enabled show active data point information in chart
+ brush: null, // add brushing function for this chart. could be set as 'xy', 'x', 'y' to restrict axis
+ zoom_target: null, // zooming target of brushing function. if not set the default is to zoom the current chart
+ brushing_selection_changed: null // callback function on brushing. the first parameter are the arguments that correspond to this chart, the second parameter is the range of the selection
+ };
+
+ MG.call_hook('global.defaults', defaults);
+
+ if (!args) {
+ args = {};
+ }
+
+ var selected_chart = MG.charts[args.chart_type || defaults.chart_type];
+ merge_with_defaults(args, selected_chart.defaults, defaults);
+
+ if (args.list) {
+ args.x_accessor = 0;
+ args.y_accessor = 1;
+ }
+
+ // check for deprecated parameters
+ for (var key in MG.deprecations) {
+ if (args.hasOwnProperty(key)) {
+ var deprecation = MG.deprecations[key],
+ message = 'Use of `args.' + key + '` has been deprecated',
+ replacement = deprecation.replacement,
+ version;
+
+ // transparently alias the deprecated
+ if (replacement) {
+ if (args[replacement]) {
+ message += '. The replacement - `args.' + replacement + '` - has already been defined. This definition will be discarded.';
+ } else {
+ args[replacement] = args[key];
+ }
+ }
+
+ if (deprecation.warned) {
+ continue;
+ }
+
+ deprecation.warned = true;
+
+ if (replacement) {
+ message += ' in favor of `args.' + replacement + '`';
+ }
+
+ warn_deprecation(message, deprecation.version);
+ }
+ }
+
+ MG.call_hook('global.before_init', args);
+
+ new selected_chart.descriptor(args);
+
+ return args.data;
+};
+
+if (mg_jquery_exists()) {
+ /* ========================================================================
+ * Bootstrap: tooltip.js v3.3.5
+ * http://getbootstrap.com/javascript/#tooltip
+ * Inspired by the original jQuery.tipsy by Jason Frame
+ * ========================================================================
+ * Copyright 2011-2015 Twitter, Inc.
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * ======================================================================== */
+
+ +function ($) {
+ 'use strict';
+
+ // TOOLTIP PUBLIC CLASS DEFINITION
+ // ===============================
+
+ var Tooltip = function Tooltip(element, options) {
+ this.type = null;
+ this.options = null;
+ this.enabled = null;
+ this.timeout = null;
+ this.hoverState = null;
+ this.$element = null;
+ this.inState = null;
+
+ this.init('tooltip', element, options);
+ };
+
+ Tooltip.VERSION = '3.3.5';
+
+ Tooltip.TRANSITION_DURATION = 150;
+
+ Tooltip.DEFAULTS = {
+ animation: true,
+ placement: 'top',
+ selector: false,
+ template: '<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',
+ trigger: 'hover focus',
+ title: '',
+ delay: 0,
+ html: false,
+ container: false,
+ viewport: {
+ selector: 'body',
+ padding: 0
+ }
+ };
+
+ Tooltip.prototype.init = function (type, element, options) {
+ this.enabled = true;
+ this.type = type;
+ this.$element = $(element);
+ this.options = this.getOptions(options);
+ this.$viewport = this.options.viewport && $($.isFunction(this.options.viewport) ? this.options.viewport.call(this, this.$element) : this.options.viewport.selector || this.options.viewport);
+ this.inState = { click: false, hover: false, focus: false };
+
+ if (this.$element[0] instanceof document.constructor && !this.options.selector) {
+ throw new Error('`selector` option must be specified when initializing ' + this.type + ' on the window.document object!');
+ }
+
+ var triggers = this.options.trigger.split(' ');
+
+ for (var i = triggers.length; i--;) {
+ var trigger = triggers[i];
+
+ if (trigger == 'click') {
+ this.$element.on('click.' + this.type, this.options.selector, $.proxy(this.toggle, this));
+ } else if (trigger != 'manual') {
+ var eventIn = trigger == 'hover' ? 'mouseenter' : 'focusin';
+ var eventOut = trigger == 'hover' ? 'mouseleave' : 'focusout';
+
+ this.$element.on(eventIn + '.' + this.type, this.options.selector, $.proxy(this.enter, this));
+ this.$element.on(eventOut + '.' + this.type, this.options.selector, $.proxy(this.leave, this));
+ }
+ }
+
+ this.options.selector ? this._options = $.extend({}, this.options, { trigger: 'manual', selector: '' }) : this.fixTitle();
+ };
+
+ Tooltip.prototype.getDefaults = function () {
+ return Tooltip.DEFAULTS;
+ };
+
+ Tooltip.prototype.getOptions = function (options) {
+ options = $.extend({}, this.getDefaults(), this.$element.data(), options);
+
+ if (options.delay && typeof options.delay == 'number') {
+ options.delay = {
+ show: options.delay,
+ hide: options.delay
+ };
+ }
+
+ return options;
+ };
+
+ Tooltip.prototype.getDelegateOptions = function () {
+ var options = {};
+ var defaults = this.getDefaults();
+
+ this._options && $.each(this._options, function (key, value) {
+ if (defaults[key] != value) options[key] = value;
+ });
+
+ return options;
+ };
+
+ Tooltip.prototype.enter = function (obj) {
+ var self = obj instanceof this.constructor ? obj : $(obj.currentTarget).data('bs.' + this.type);
+
+ if (!self) {
+ self = new this.constructor(obj.currentTarget, this.getDelegateOptions());
+ $(obj.currentTarget).data('bs.' + this.type, self);
+ }
+
+ if (obj instanceof $.Event) {
+ self.inState[obj.type == 'focusin' ? 'focus' : 'hover'] = true;
+ }
+
+ if (self.tip().hasClass('in') || self.hoverState == 'in') {
+ self.hoverState = 'in';
+ return;
+ }
+
+ clearTimeout(self.timeout);
+
+ self.hoverState = 'in';
+
+ if (!self.options.delay || !self.options.delay.show) return self.show();
+
+ self.timeout = setTimeout(function () {
+ if (self.hoverState == 'in') self.show();
+ }, self.options.delay.show);
+ };
+
+ Tooltip.prototype.isInStateTrue = function () {
+ for (var key in this.inState) {
+ if (this.inState[key]) return true;
+ }
+
+ return false;
+ };
+
+ Tooltip.prototype.leave = function (obj) {
+ var self = obj instanceof this.constructor ? obj : $(obj.currentTarget).data('bs.' + this.type);
+
+ if (!self) {
+ self = new this.constructor(obj.currentTarget, this.getDelegateOptions());
+ $(obj.currentTarget).data('bs.' + this.type, self);
+ }
+
+ if (obj instanceof $.Event) {
+ self.inState[obj.type == 'focusout' ? 'focus' : 'hover'] = false;
+ }
+
+ if (self.isInStateTrue()) return;
+
+ clearTimeout(self.timeout);
+
+ self.hoverState = 'out';
+
+ if (!self.options.delay || !self.options.delay.hide) return self.hide();
+
+ self.timeout = setTimeout(function () {
+ if (self.hoverState == 'out') self.hide();
+ }, self.options.delay.hide);
+ };
+
+ Tooltip.prototype.show = function () {
+ var e = $.Event('show.bs.' + this.type);
+
+ if (this.hasContent() && this.enabled) {
+ this.$element.trigger(e);
+
+ var inDom = $.contains(this.$element[0].ownerDocument.documentElement, this.$element[0]);
+ if (e.isDefaultPrevented() || !inDom) return;
+ var that = this;
+
+ var $tip = this.tip();
+
+ var tipId = this.getUID(this.type);
+
+ this.setContent();
+ $tip.attr('id', tipId);
+ this.$element.attr('aria-describedby', tipId);
+
+ if (this.options.animation) $tip.addClass('fade');
+
+ var placement = typeof this.options.placement == 'function' ? this.options.placement.call(this, $tip[0], this.$element[0]) : this.options.placement;
+
+ var autoToken = /\s?auto?\s?/i;
+ var autoPlace = autoToken.test(placement);
+ if (autoPlace) placement = placement.replace(autoToken, '') || 'top';
+
+ $tip.detach().css({ top: 0, left: 0, display: 'block' }).addClass(placement).data('bs.' + this.type, this);
+
+ this.options.container ? $tip.appendTo(this.options.container) : $tip.insertAfter(this.$element);
+ this.$element.trigger('inserted.bs.' + this.type);
+
+ var pos = this.getPosition();
+ var actualWidth = $tip[0].offsetWidth;
+ var actualHeight = $tip[0].offsetHeight;
+
+ if (autoPlace) {
+ var orgPlacement = placement;
+ var viewportDim = this.getPosition(this.$viewport);
+
+ placement = placement == 'bottom' && pos.bottom + actualHeight > viewportDim.bottom ? 'top' : placement == 'top' && pos.top - actualHeight < viewportDim.top ? 'bottom' : placement == 'right' && pos.right + actualWidth > viewportDim.width ? 'left' : placement == 'left' && pos.left - actualWidth < viewportDim.left ? 'right' : placement;
+
+ $tip.removeClass(orgPlacement).addClass(placement);
+ }
+
+ var calculatedOffset = this.getCalculatedOffset(placement, pos, actualWidth, actualHeight);
+
+ this.applyPlacement(calculatedOffset, placement);
+
+ var complete = function complete() {
+ var prevHoverState = that.hoverState;
+ that.$element.trigger('shown.bs.' + that.type);
+ that.hoverState = null;
+
+ if (prevHoverState == 'out') that.leave(that);
+ };
+
+ $.support.transition && this.$tip.hasClass('fade') ? $tip.one('bsTransitionEnd', complete).emulateTransitionEnd(Tooltip.TRANSITION_DURATION) : complete();
+ }
+ };
+
+ Tooltip.prototype.applyPlacement = function (offset, placement) {
+ var $tip = this.tip();
+ var width = $tip[0].offsetWidth;
+ var height = $tip[0].offsetHeight;
+
+ // manually read margins because getBoundingClientRect includes difference
+ var marginTop = parseInt($tip.css('margin-top'), 10);
+ var marginLeft = parseInt($tip.css('margin-left'), 10);
+
+ // we must check for NaN for ie 8/9
+ if (isNaN(marginTop)) marginTop = 0;
+ if (isNaN(marginLeft)) marginLeft = 0;
+
+ offset.top += marginTop;
+ offset.left += marginLeft;
+
+ // $.fn.offset doesn't round pixel values
+ // so we use setOffset directly with our own function B-0
+ $.offset.setOffset($tip[0], $.extend({
+ using: function using(props) {
+ $tip.css({
+ top: Math.round(props.top),
+ left: Math.round(props.left)
+ });
+ }
+ }, offset), 0);
+
+ $tip.addClass('in');
+
+ // check to see if placing tip in new offset caused the tip to resize itself
+ var actualWidth = $tip[0].offsetWidth;
+ var actualHeight = $tip[0].offsetHeight;
+
+ if (placement == 'top' && actualHeight != height) {
+ offset.top = offset.top + height - actualHeight;
+ }
+
+ var delta = this.getViewportAdjustedDelta(placement, offset, actualWidth, actualHeight);
+
+ if (delta.left) offset.left += delta.left;else offset.top += delta.top;
+
+ var isVertical = /top|bottom/.test(placement);
+ var arrowDelta = isVertical ? delta.left * 2 - width + actualWidth : delta.top * 2 - height + actualHeight;
+ var arrowOffsetPosition = isVertical ? 'offsetWidth' : 'offsetHeight';
+
+ $tip.offset(offset);
+ this.replaceArrow(arrowDelta, $tip[0][arrowOffsetPosition], isVertical);
+ };
+
+ Tooltip.prototype.replaceArrow = function (delta, dimension, isVertical) {
+ this.arrow().css(isVertical ? 'left' : 'top', 50 * (1 - delta / dimension) + '%').css(isVertical ? 'top' : 'left', '');
+ };
+
+ Tooltip.prototype.setContent = function () {
+ var $tip = this.tip();
+ var title = this.getTitle();
+
+ $tip.find('.tooltip-inner')[this.options.html ? 'html' : 'text'](title);
+ $tip.removeClass('fade in top bottom left right');
+ };
+
+ Tooltip.prototype.hide = function (callback) {
+ var that = this;
+ var $tip = $(this.$tip);
+ var e = $.Event('hide.bs.' + this.type);
+
+ function complete() {
+ if (that.hoverState != 'in') $tip.detach();
+ that.$element.removeAttr('aria-describedby').trigger('hidden.bs.' + that.type);
+ callback && callback();
+ }
+
+ this.$element.trigger(e);
+
+ if (e.isDefaultPrevented()) return;
+
+ $tip.removeClass('in');
+
+ $.support.transition && $tip.hasClass('fade') ? $tip.one('bsTransitionEnd', complete).emulateTransitionEnd(Tooltip.TRANSITION_DURATION) : complete();
+
+ this.hoverState = null;
+
+ return this;
+ };
+
+ Tooltip.prototype.fixTitle = function () {
+ var $e = this.$element;
+ if ($e.attr('title') || typeof $e.attr('data-original-title') != 'string') {
+ $e.attr('data-original-title', $e.attr('title') || '').attr('title', '');
+ }
+ };
+
+ Tooltip.prototype.hasContent = function () {
+ return this.getTitle();
+ };
+
+ Tooltip.prototype.getPosition = function ($element) {
+ $element = $element || this.$element;
+
+ var el = $element[0];
+ var isBody = el.tagName == 'BODY';
+
+ var elRect = el.getBoundingClientRect();
+ if (elRect.width == null) {
+ // width and height are missing in IE8, so compute them manually; see https://github.com/twbs/bootstrap/issues/14093
+ elRect = $.extend({}, elRect, { width: elRect.right - elRect.left, height: elRect.bottom - elRect.top });
+ }
+ var elOffset = isBody ? { top: 0, left: 0 } : $element.offset();
+ var scroll = { scroll: isBody ? document.documentElement.scrollTop || document.body.scrollTop : $element.scrollTop() };
+ var outerDims = isBody ? { width: $(window).width(), height: $(window).height() } : null;
+
+ return $.extend({}, elRect, scroll, outerDims, elOffset);
+ };
+
+ Tooltip.prototype.getCalculatedOffset = function (placement, pos, actualWidth, actualHeight) {
+ return placement == 'bottom' ? { top: pos.top + pos.height, left: pos.left + pos.width / 2 - actualWidth / 2 } : placement == 'top' ? { top: pos.top - actualHeight, left: pos.left + pos.width / 2 - actualWidth / 2 } : placement == 'left' ? { top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left - actualWidth } :
+ /* placement == 'right' */{ top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left + pos.width };
+ };
+
+ Tooltip.prototype.getViewportAdjustedDelta = function (placement, pos, actualWidth, actualHeight) {
+ var delta = { top: 0, left: 0 };
+ if (!this.$viewport) return delta;
+
+ var viewportPadding = this.options.viewport && this.options.viewport.padding || 0;
+ var viewportDimensions = this.getPosition(this.$viewport);
+
+ if (/right|left/.test(placement)) {
+ var topEdgeOffset = pos.top - viewportPadding - viewportDimensions.scroll;
+ var bottomEdgeOffset = pos.top + viewportPadding - viewportDimensions.scroll + actualHeight;
+ if (topEdgeOffset < viewportDimensions.top) {
+ // top overflow
+ delta.top = viewportDimensions.top - topEdgeOffset;
+ } else if (bottomEdgeOffset > viewportDimensions.top + viewportDimensions.height) {
+ // bottom overflow
+ delta.top = viewportDimensions.top + viewportDimensions.height - bottomEdgeOffset;
+ }
+ } else {
+ var leftEdgeOffset = pos.left - viewportPadding;
+ var rightEdgeOffset = pos.left + viewportPadding + actualWidth;
+ if (leftEdgeOffset < viewportDimensions.left) {
+ // left overflow
+ delta.left = viewportDimensions.left - leftEdgeOffset;
+ } else if (rightEdgeOffset > viewportDimensions.right) {
+ // right overflow
+ delta.left = viewportDimensions.left + viewportDimensions.width - rightEdgeOffset;
+ }
+ }
+
+ return delta;
+ };
+
+ Tooltip.prototype.getTitle = function () {
+ var title;
+ var $e = this.$element;
+ var o = this.options;
+
+ title = $e.attr('data-original-title') || (typeof o.title == 'function' ? o.title.call($e[0]) : o.title);
+
+ return title;
+ };
+
+ Tooltip.prototype.getUID = function (prefix) {
+ do {
+ prefix += ~~(Math.random() * 1000000);
+ } while (document.getElementById(prefix));
+ return prefix;
+ };
+
+ Tooltip.prototype.tip = function () {
+ if (!this.$tip) {
+ this.$tip = $(this.options.template);
+ if (this.$tip.length != 1) {
+ throw new Error(this.type + ' `template` option must consist of exactly 1 top-level element!');
+ }
+ }
+ return this.$tip;
+ };
+
+ Tooltip.prototype.arrow = function () {
+ return this.$arrow = this.$arrow || this.tip().find('.tooltip-arrow');
+ };
+
+ Tooltip.prototype.enable = function () {
+ this.enabled = true;
+ };
+
+ Tooltip.prototype.disable = function () {
+ this.enabled = false;
+ };
+
+ Tooltip.prototype.toggleEnabled = function () {
+ this.enabled = !this.enabled;
+ };
+
+ Tooltip.prototype.toggle = function (e) {
+ var self = this;
+ if (e) {
+ self = $(e.currentTarget).data('bs.' + this.type);
+ if (!self) {
+ self = new this.constructor(e.currentTarget, this.getDelegateOptions());
+ $(e.currentTarget).data('bs.' + this.type, self);
+ }
+ }
+
+ if (e) {
+ self.inState.click = !self.inState.click;
+ if (self.isInStateTrue()) self.enter(self);else self.leave(self);
+ } else {
+ self.tip().hasClass('in') ? self.leave(self) : self.enter(self);
+ }
+ };
+
+ Tooltip.prototype.destroy = function () {
+ var that = this;
+ clearTimeout(this.timeout);
+ this.hide(function () {
+ that.$element.off('.' + that.type).removeData('bs.' + that.type);
+ if (that.$tip) {
+ that.$tip.detach();
+ }
+ that.$tip = null;
+ that.$arrow = null;
+ that.$viewport = null;
+ });
+ };
+
+ // TOOLTIP PLUGIN DEFINITION
+ // =========================
+
+ function Plugin(option) {
+ return this.each(function () {
+ var $this = $(this);
+ var data = $this.data('bs.tooltip');
+ var options = (typeof option === 'undefined' ? 'undefined' : _typeof(option)) == 'object' && option;
+
+ if (!data && /destroy|hide/.test(option)) return;
+ if (!data) $this.data('bs.tooltip', data = new Tooltip(this, options));
+ if (typeof option == 'string') data[option]();
+ });
+ }
+
+ var old = $.fn.tooltip;
+
+ $.fn.tooltip = Plugin;
+ $.fn.tooltip.Constructor = Tooltip;
+
+ // TOOLTIP NO CONFLICT
+ // ===================
+
+ $.fn.tooltip.noConflict = function () {
+ $.fn.tooltip = old;
+ return this;
+ };
+ }(jQuery);
+
+ /* ========================================================================
+ * Bootstrap: popover.js v3.3.5
+ * http://getbootstrap.com/javascript/#popovers
+ * ========================================================================
+ * Copyright 2011-2015 Twitter, Inc.
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * ======================================================================== */
+
+ +function ($) {
+ 'use strict';
+
+ // POPOVER PUBLIC CLASS DEFINITION
+ // ===============================
+
+ var Popover = function Popover(element, options) {
+ this.init('popover', element, options);
+ };
+
+ if (!$.fn.tooltip) throw new Error('Popover requires tooltip.js');
+
+ Popover.VERSION = '3.3.5';
+
+ Popover.DEFAULTS = $.extend({}, $.fn.tooltip.Constructor.DEFAULTS, {
+ placement: 'right',
+ trigger: 'click',
+ content: '',
+ template: '<div class="popover" role="tooltip"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>'
+ });
+
+ // NOTE: POPOVER EXTENDS tooltip.js
+ // ================================
+
+ Popover.prototype = $.extend({}, $.fn.tooltip.Constructor.prototype);
+
+ Popover.prototype.constructor = Popover;
+
+ Popover.prototype.getDefaults = function () {
+ return Popover.DEFAULTS;
+ };
+
+ Popover.prototype.setContent = function () {
+ var $tip = this.tip();
+ var title = this.getTitle();
+ var content = this.getContent();
+
+ $tip.find('.popover-title')[this.options.html ? 'html' : 'text'](title);
+ $tip.find('.popover-content').children().detach().end()[// we use append for html objects to maintain js events
+ this.options.html ? typeof content == 'string' ? 'html' : 'append' : 'text'](content);
+
+ $tip.removeClass('fade top bottom left right in');
+
+ // IE8 doesn't accept hiding via the `:empty` pseudo selector, we have to do
+ // this manually by checking the contents.
+ if (!$tip.find('.popover-title').html()) $tip.find('.popover-title').hide();
+ };
+
+ Popover.prototype.hasContent = function () {
+ return this.getTitle() || this.getContent();
+ };
+
+ Popover.prototype.getContent = function () {
+ var $e = this.$element;
+ var o = this.options;
+
+ return $e.attr('data-content') || (typeof o.content == 'function' ? o.content.call($e[0]) : o.content);
+ };
+
+ Popover.prototype.arrow = function () {
+ return this.$arrow = this.$arrow || this.tip().find('.arrow');
+ };
+
+ // POPOVER PLUGIN DEFINITION
+ // =========================
+
+ function Plugin(option) {
+ return this.each(function () {
+ var $this = $(this);
+ var data = $this.data('bs.popover');
+ var options = (typeof option === 'undefined' ? 'undefined' : _typeof(option)) == 'object' && option;
+
+ if (!data && /destroy|hide/.test(option)) return;
+ if (!data) $this.data('bs.popover', data = new Popover(this, options));
+ if (typeof option == 'string') data[option]();
+ });
+ }
+
+ var old = $.fn.popover;
+
+ $.fn.popover = Plugin;
+ $.fn.popover.Constructor = Popover;
+
+ // POPOVER NO CONFLICT
+ // ===================
+
+ $.fn.popover.noConflict = function () {
+ $.fn.popover = old;
+ return this;
+ };
+ }(jQuery);
+}
+
+function chart_title(args) {
+ 'use strict';
+
+ var svg = mg_get_svg_child_of(args.target);
+
+ //remove the current title if it exists
+ svg.select('.mg-header').remove();
+
+ if (args.target && args.title) {
+ var chartTitle = svg.insert('text').attr('class', 'mg-header').attr('x', args.center_title_full_width ? args.width / 2 : (args.width + args.left - args.right) / 2).attr('y', args.title_y_position).attr('text-anchor', 'middle').attr('dy', '0.55em');
+
+ //show the title
+ chartTitle.append('tspan').attr('class', 'mg-chart-title').text(args.title);
+
+ //show and activate the description icon if we have a description
+ if (args.show_tooltips && args.description && mg_jquery_exists()) {
+ chartTitle.append('tspan').attr('class', 'mg-chart-description').attr('dx', '0.3em').text('\uF059');
+
+ //now that the title is an svg text element, we'll have to trigger
+ //mouseenter, mouseleave events manually for the popover to work properly
+ var $chartTitle = $(chartTitle.node());
+ $chartTitle.popover({
+ html: true,
+ animation: false,
+ placement: 'top',
+ content: args.description,
+ container: args.target,
+ trigger: 'manual',
+ template: '<div class="popover mg-popover"><div class="arrow"></div><div class="popover-inner"><h3 class="popover-title"></h3><div class="popover-content"><p></p></div></div></div>'
+ }).on('mouseenter', function () {
+ d3.selectAll(args.target).selectAll('.mg-popover').remove();
+
+ $(this).popover('show');
+ $(d3.select(args.target).select('.popover').node()).on('mouseleave', function () {
+ $chartTitle.popover('hide');
+ });
+ }).on('mouseleave', function () {
+ setTimeout(function () {
+ if (!$('.popover:hover').length) {
+ $chartTitle.popover('hide');
+ }
+ }, 120);
+ });
+ } else if (args.show_tooltips && args.description && typeof $ === 'undefined') {
+ args.error = 'In order to enable tooltips, please make sure you include jQuery.';
+ }
+ }
+
+ if (args.error) {
+ error(args);
+ }
+}
+
+MG.chart_title = chart_title;
+
+function mg_add_scale_function(args, scalefcn_name, scale, accessor, inflation) {
+ args.scalefns[scalefcn_name] = function (di) {
+ if (inflation === undefined) return args.scales[scale](di[accessor]);else return args.scales[scale](di[accessor]) + inflation;
+ };
+}
+
+function mg_position(str, args) {
+ if (str === 'bottom' || str === 'top') {
+ return [mg_get_plot_left(args), mg_get_plot_right(args)];
+ }
+
+ if (str === 'left' || str === 'right') {
+ return [mg_get_plot_bottom(args), args.top];
+ }
+}
+
+function mg_cat_position(str, args) {
+ if (str === 'bottom' || str === 'top') {
+ return [mg_get_plot_left(args), mg_get_plot_right(args)];
+ }
+
+ if (str === 'left' || str === 'right') {
+ return [mg_get_plot_bottom(args), mg_get_plot_top(args)];
+ }
+}
+
+function MGScale(args) {
+ // big wrapper around d3 scale that automatically formats & calculates scale bounds
+ // according to the data, and handles other niceties.
+ var scaleArgs = {};
+ scaleArgs.use_inflator = false;
+ scaleArgs.zero_bottom = false;
+ scaleArgs.scaleType = 'numerical';
+
+ this.namespace = function (_namespace) {
+ scaleArgs.namespace = _namespace;
+ scaleArgs.namespace_accessor_name = scaleArgs.namespace + '_accessor';
+ scaleArgs.scale_name = scaleArgs.namespace.toUpperCase();
+ scaleArgs.scalefn_name = scaleArgs.namespace + 'f';
+ return this;
+ };
+
+ this.scaleName = function (scaleName) {
+ scaleArgs.scale_name = scaleName.toUpperCase();
+ scaleArgs.scalefn_name = scaleName + 'f';
+ return this;
+ };
+
+ this.inflateDomain = function (tf) {
+ scaleArgs.use_inflator = tf;
+ return this;
+ };
+
+ this.zeroBottom = function (tf) {
+ scaleArgs.zero_bottom = tf;
+ return this;
+ };
+
+ /////////////////////////////////////////////////////////////////////////////////////////////////////////
+ /// all scale domains are either numerical (number, date, etc.) or categorical (factor, label, etc) /////
+ /////////////////////////////////////////////////////////////////////////////////////////////////////////
+ // these functions automatically create the d3 scale function and place the domain.
+
+ this.numericalDomainFromData = function () {
+ var other_flat_data_arrays = [];
+
+ if (arguments.length > 0) {
+ other_flat_data_arrays = arguments;
+ }
+
+ // pull out a non-empty array in args.data.
+ var illustrative_data;
+ for (var i = 0; i < args.data.length; i++) {
+ if (args.data[i].length > 0) {
+ illustrative_data = args.data[i];
+ }
+ }
+ scaleArgs.is_time_series = mg_is_date(illustrative_data[0][args[scaleArgs.namespace_accessor_name]]) ? true : false;
+
+ mg_add_scale_function(args, scaleArgs.scalefn_name, scaleArgs.scale_name, args[scaleArgs.namespace_accessor_name]);
+
+ mg_min_max_numerical(args, scaleArgs, other_flat_data_arrays, scaleArgs.use_inflator);
+
+ var time_scale = args.utc_time ? d3.scaleUtc() : d3.scaleTime();
+
+ args.scales[scaleArgs.scale_name] = scaleArgs.is_time_series ? time_scale : mg_is_function(args[scaleArgs.namespace + '_scale_type']) ? args.y_scale_type() : args[scaleArgs.namespace + '_scale_type'] === 'log' ? d3.scaleLog() : d3.scaleLinear();
+
+ args.scales[scaleArgs.scale_name].domain([args.processed['min_' + scaleArgs.namespace], args.processed['max_' + scaleArgs.namespace]]);
+ scaleArgs.scaleType = 'numerical';
+
+ return this;
+ };
+
+ this.categoricalDomain = function (domain) {
+ args.scales[scaleArgs.scale_name] = d3.scaleOrdinal().domain(domain);
+ mg_add_scale_function(args, scaleArgs.scalefn_name, scaleArgs.scale_name, args[scaleArgs.namespace_accessor_name]);
+ return this;
+ };
+
+ this.categoricalDomainFromData = function () {
+ // make args.categorical_variables.
+ // lets make the categorical variables.
+ var all_data = mg_flatten_array(args.data);
+ //d3.set(data.map(function(d){return d[args.group_accessor]})).values()
+ scaleArgs.categoricalVariables = d3.set(all_data.map(function (d) {
+ return d[args[scaleArgs.namespace_accessor_name]];
+ })).values();
+ args.scales[scaleArgs.scale_name] = d3.scaleBand().domain(scaleArgs.categoricalVariables);
+
+ scaleArgs.scaleType = 'categorical';
+ return this;
+ };
+
+ /////////////////////////////////////////////////////////////////////////////////////////////////////////////
+ ////////// all scale ranges are either positional (for axes, etc) or arbitrary (colors, size, etc) //////////
+ /////////////////////////////////////////////////////////////////////////////////////////////////////////////
+
+ this.numericalRange = function (range) {
+ if (typeof range === 'string') {
+ args.scales[scaleArgs.scale_name].range(mg_position(range, args));
+ } else {
+ args.scales[scaleArgs.scale_name].range(range);
+ }
+
+ return this;
+ };
+
+ this.categoricalRangeBands = function (range, halfway) {
+ if (halfway === undefined) halfway = false;
+
+ var namespace = scaleArgs.namespace;
+ var paddingPercentage = args[namespace + '_padding_percentage'];
+ var outerPaddingPercentage = args[namespace + '_outer_padding_percentage'];
+ if (typeof range === 'string') {
+ // if string, it's a location. Place it accordingly.
+ args.scales[scaleArgs.scale_name].range(mg_position(range, args)).paddingInner(paddingPercentage).paddingOuter(outerPaddingPercentage);
+ } else {
+ args.scales[scaleArgs.scale_name].range(range).paddingInner(paddingPercentage).paddingOuter(outerPaddingPercentage);
+ }
+
+ mg_add_scale_function(args, scaleArgs.scalefn_name, scaleArgs.scale_name, args[scaleArgs.namespace_accessor_name], halfway ? args.scales[scaleArgs.scale_name].bandwidth() / 2 : 0);
+
+ return this;
+ };
+
+ this.categoricalRange = function (range) {
+ args.scales[scaleArgs.scale_name].range(range);
+ mg_add_scale_function(args, scaleArgs.scalefn_name, scaleArgs.scale_name, args[scaleArgs.namespace_accessor_name]);
+ return this;
+ };
+
+ this.categoricalColorRange = function () {
+ args.scales[scaleArgs.scale_name] = args.scales[scaleArgs.scale_name].domain().length > 10 ? d3.scaleOrdinal(d3.schemeCategory20) : d3.scaleOrdinal(d3.schemeCategory10);
+
+ args.scales[scaleArgs.scale_name].domain(scaleArgs.categoricalVariables);
+
+ mg_add_scale_function(args, scaleArgs.scalefn_name, scaleArgs.scale_name, args[scaleArgs.namespace_accessor_name]);
+ return this;
+ };
+
+ this.clamp = function (yn) {
+ args.scales[scaleArgs.scale_name].clamp(yn);
+ return this;
+ };
+
+ return this;
+}
+
+MG.scale_factory = MGScale;
+
+/////////////////////////////// x, x_accessor, markers, baselines, etc.
+function mg_min_max_numerical(args, scaleArgs, additional_data_arrays) {
+ // A BIT OF EXPLANATION ABOUT THIS FUNCTION
+ // This function pulls out all the accessor values in all the arrays in args.data.
+ // We also have this additional argument, additional_data_arrays, which is an array of arrays of raw data values.
+ // These values also get concatenated to the data pulled from args.data, and the extents are calculate from that.
+ // They are optional.
+ //
+ // This may seem arbitrary, but it gives us a lot of flexibility. For instance, if we're calculating
+ // the min and max for the y axis of a line chart, we're going to want to also factor in baselines (horizontal lines
+ // that might potentially be outside of the y value bounds). The easiest way to do this is in the line.js code
+ // & scale creation to just flatten the args.baselines array, pull out hte values, and feed it in
+ // so it appears in additional_data_arrays.
+ var namespace = scaleArgs.namespace;
+ var namespace_accessor_name = scaleArgs.namespace_accessor_name;
+ var use_inflator = scaleArgs.use_inflator;
+ var zero_bottom = scaleArgs.zero_bottom;
+
+ var accessor = args[namespace_accessor_name];
+
+ // add together all relevant data arrays.
+ var all_data = mg_flatten_array(args.data).map(function (dp) {
+ return dp[accessor];
+ }).concat(mg_flatten_array(additional_data_arrays));
+
+ // do processing for log
+ if (args[namespace + '_scale_type'] === 'log') {
+ all_data = all_data.filter(function (d) {
+ return d > 0;
+ });
+ }
+
+ // use inflator?
+ var extents = d3.extent(all_data);
+ var min_val = extents[0];
+ var max_val = extents[1];
+
+ // bolt scale domain to zero when the right conditions are met:
+ // not pulling the bottom of the range from data
+ // not zero-bottomed
+ // not a time series
+ if (zero_bottom && !args['min_' + namespace + '_from_data'] && min_val > 0 && !scaleArgs.is_time_series) {
+ min_val = args[namespace + '_scale_type'] === 'log' ? 1 : 0;
+ }
+
+ if (args[namespace + '_scale_type'] !== 'log' && min_val < 0 && !scaleArgs.is_time_series) {
+ min_val = min_val - (min_val - min_val * args.inflator) * use_inflator;
+ }
+
+ if (!scaleArgs.is_time_series) {
+ max_val = max_val < 0 ? max_val + (max_val - max_val * args.inflator) * use_inflator : max_val * (use_inflator ? args.inflator : 1);
+ }
+
+ min_val = args['min_' + namespace] != null ? args['min_' + namespace] : min_val;
+ max_val = args['max_' + namespace] != null ? args['max_' + namespace] : max_val;
+ // if there's a single data point, we should custom-set the max values
+ // so we're displaying some kind of range
+ if (min_val === max_val && args['min_' + namespace] == null && args['max_' + namespace] == null) {
+ if (mg_is_date(min_val)) {
+ max_val = new Date(MG.clone(min_val).setDate(min_val.getDate() + 1));
+ } else if (typeof min_val === 'number') {
+ max_val = min_val + 1;
+ mg_force_xax_count_to_be_two(args);
+ }
+ }
+
+ args.processed['min_' + namespace] = min_val;
+ args.processed['max_' + namespace] = max_val;
+ if (args.processed['zoom_' + namespace]) {
+ args.processed['min_' + namespace] = args.processed['zoom_' + namespace][0];
+ args.processed['max_' + namespace] = args.processed['zoom_' + namespace][1];
+ }
+ MG.call_hook('x_axis.process_min_max', args, args.processed.min_x, args.processed.max_x);
+ MG.call_hook('y_axis.process_min_max', args, args.processed.min_y, args.processed.max_y);
+}
+
+function mg_categorical_group_color_scale(args) {
+ if (args.color_accessor !== false) {
+ if (args.ygroup_accessor) {
+ // add a custom accessor element.
+ if (args.color_accessor === null) {
+ args.color_accessor = args.y_accessor;
+ } else {}
+ }
+ if (args.color_accessor !== null) {
+ new MG.scale_factory(args).namespace('color').categoricalDomainFromData().categoricalColorRange();
+ }
+ }
+}
+
+function mg_add_color_categorical_scale(args, domain, accessor) {
+ args.scales.color = d3.scaleOrdinal(d3.schemeCategory20).domain(domain);
+ args.scalefns.color = function (d) {
+ return args.scales.color(d[accessor]);
+ };
+}
+
+function mg_get_categorical_domain(data, accessor) {
+ return d3.set(data.map(function (d) {
+ return d[accessor];
+ })).values();
+}
+
+function mg_get_color_domain(args) {
+ var color_domain;
+ if (args.color_domain === null) {
+ if (args.color_type === 'number') {
+ color_domain = d3.extent(args.data[0], function (d) {
+ return d[args.color_accessor];
+ });
+ } else if (args.color_type === 'category') {
+ color_domain = mg_get_categorical_domain(args.data[0], args.color_accessor);
+ }
+ } else {
+ color_domain = args.color_domain;
+ }
+ return color_domain;
+}
+
+function mg_get_color_range(args) {
+ var color_range;
+ if (args.color_range === null) {
+ if (args.color_type === 'number') {
+ color_range = ['blue', 'red'];
+ } else {
+ color_range = null;
+ }
+ } else {
+ color_range = args.color_range;
+ }
+ return color_range;
+}
+
+function processScaleTicks(args, axis) {
+ var accessor = args[axis + '_accessor'];
+ var scale_ticks = args.scales[axis.toUpperCase()].ticks(args[axis + 'ax_count']);
+ var max = args.processed['max_' + axis];
+
+ function log10(val) {
+ if (val === 1000) {
+ return 3;
+ }
+ if (val === 1000000) {
+ return 7;
+ }
+ return Math.log(val) / Math.LN10;
+ }
+
+ if (args[axis + '_scale_type'] === 'log') {
+ // get out only whole logs
+ scale_ticks = scale_ticks.filter(function (d) {
+ return Math.abs(log10(d)) % 1 < 1e-6 || Math.abs(log10(d)) % 1 > 1 - 1e-6;
+ });
+ }
+
+ // filter out fraction ticks if our data is ints and if xmax > number of generated ticks
+ var number_of_ticks = scale_ticks.length;
+
+ // is our data object all ints?
+ var data_is_int = true;
+ args.data.forEach(function (d, i) {
+ d.forEach(function (d, i) {
+ if (d[accessor] % 1 !== 0) {
+ data_is_int = false;
+ return false;
+ }
+ });
+ });
+
+ if (data_is_int && number_of_ticks > max && args.format === 'count') {
+ // remove non-integer ticks
+ scale_ticks = scale_ticks.filter(function (d) {
+ return d % 1 === 0;
+ });
+ }
+
+ args.processed[axis + '_ticks'] = scale_ticks;
+}
+
+function rugPlacement(args, axisArgs) {
+ var position = axisArgs.position;
+ var ns = axisArgs.namespace;
+ var coordinates = {};
+ if (position === 'left') {
+ coordinates.x1 = mg_get_left(args) + 1;
+ coordinates.x2 = mg_get_left(args) + args.rug_buffer_size;
+ coordinates.y1 = args.scalefns[ns + 'f'];
+ coordinates.y2 = args.scalefns[ns + 'f'];
+ }
+ if (position === 'right') {
+ coordinates.x1 = mg_get_right(args) - 1, coordinates.x2 = mg_get_right(args) - args.rug_buffer_size, coordinates.y1 = args.scalefns[ns + 'f'];
+ coordinates.y2 = args.scalefns[ns + 'f'];
+ }
+ if (position === 'top') {
+ coordinates.x1 = args.scalefns[ns + 'f'];
+ coordinates.x2 = args.scalefns[ns + 'f'];
+ coordinates.y1 = mg_get_top(args) + 1;
+ coordinates.y2 = mg_get_top(args) + args.rug_buffer_size;
+ }
+ if (position === 'bottom') {
+ coordinates.x1 = args.scalefns[ns + 'f'];
+ coordinates.x2 = args.scalefns[ns + 'f'];
+ coordinates.y1 = mg_get_bottom(args) - 1;
+ coordinates.y2 = mg_get_bottom(args) - args.rug_buffer_size;
+ }
+ return coordinates;
+}
+
+function rimPlacement(args, axisArgs) {
+ var ns = axisArgs.namespace;
+ var position = axisArgs.position;
+ var tick_length = args.processed[ns + '_ticks'].length;
+ var ticks = args.processed[ns + '_ticks'];
+ var scale = args.scales[ns.toUpperCase()];
+ var coordinates = {};
+
+ if (position === 'left') {
+ coordinates.x1 = mg_get_left(args);
+ coordinates.x2 = mg_get_left(args);
+ coordinates.y1 = scale(ticks[0]).toFixed(2);
+ coordinates.y2 = scale(ticks[tick_length - 1]).toFixed(2);
+ }
+ if (position === 'right') {
+ coordinates.x1 = mg_get_right(args);
+ coordinates.x2 = mg_get_right(args);
+ coordinates.y1 = scale(ticks[0]).toFixed(2);
+ coordinates.y2 = scale(ticks[tick_length - 1]).toFixed(2);
+ }
+ if (position === 'top') {
+ coordinates.x1 = mg_get_left(args);
+ coordinates.x2 = mg_get_right(args);
+ coordinates.y1 = mg_get_top(args);
+ coordinates.y2 = mg_get_top(args);
+ }
+ if (position === 'bottom') {
+ coordinates.x1 = mg_get_left(args);
+ coordinates.x2 = mg_get_right(args);
+ coordinates.y1 = mg_get_bottom(args);
+ coordinates.y2 = mg_get_bottom(args);
+ }
+
+ if (position === 'left' || position === 'right') {
+ if (args.axes_not_compact) {
+ coordinates.y1 = mg_get_bottom(args);
+ coordinates.y2 = mg_get_top(args);
+ } else if (tick_length) {
+ coordinates.y1 = scale(ticks[0]).toFixed(2);
+ coordinates.y2 = scale(ticks[tick_length - 1]).toFixed(2);
+ }
+ }
+
+ return coordinates;
+}
+
+function labelPlacement(args, axisArgs) {
+ var position = axisArgs.position;
+ var ns = axisArgs.namespace;
+ var tickLength = args[ns + 'ax_tick_length'];
+ var scale = args.scales[ns.toUpperCase()];
+ var coordinates = {};
+
+ if (position === 'left') {
+ coordinates.x = mg_get_left(args) - tickLength * 3 / 2;
+ coordinates.y = function (d) {
+ return scale(d).toFixed(2);
+ };
+ coordinates.dx = -3;
+ coordinates.dy = '.35em';
+ coordinates.textAnchor = 'end';
+ coordinates.text = function (d) {
+ return mg_compute_yax_format(args)(d);
+ };
+ }
+ if (position === 'right') {
+ coordinates.x = mg_get_right(args) + tickLength * 3 / 2;
+ coordinates.y = function (d) {
+ return scale(d).toFixed(2);
+ };
+ coordinates.dx = 3;
+ coordinates.dy = '.35em';
+ coordinates.textAnchor = 'start';
+ coordinates.text = function (d) {
+ return mg_compute_yax_format(args)(d);
+ };
+ }
+ if (position === 'top') {
+ coordinates.x = function (d) {
+ return scale(d).toFixed(2);
+ };
+ coordinates.y = (mg_get_top(args) - tickLength * 7 / 3).toFixed(2);
+ coordinates.dx = 0;
+ coordinates.dy = '0em';
+ coordinates.textAnchor = 'middle';
+ coordinates.text = function (d) {
+ return mg_default_xax_format(args)(d);
+ };
+ }
+ if (position === 'bottom') {
+ coordinates.x = function (d) {
+ return scale(d).toFixed(2);
+ };
+ coordinates.y = (mg_get_bottom(args) + tickLength * 7 / 3).toFixed(2);
+ coordinates.dx = 0;
+ coordinates.dy = '.50em';
+ coordinates.textAnchor = 'middle';
+ coordinates.text = function (d) {
+ return mg_default_xax_format(args)(d);
+ };
+ }
+
+ return coordinates;
+}
+
+function addSecondaryLabelElements(args, axisArgs, g) {
+ var tf = mg_get_yformat_and_secondary_time_function(args);
+ var years = tf.secondary(args.processed.min_x, args.processed.max_x);
+ if (years.length === 0) {
+ var first_tick = args.scales.X.ticks(args.xax_count)[0];
+ years = [first_tick];
+ }
+
+ var yg = mg_add_g(g, 'mg-year-marker');
+ if (tf.timeframe === 'default' && args.show_year_markers) {
+ yearMarkerLine(args, axisArgs, yg, years, tf.yformat);
+ }
+ if (tf.tick_diff_timeframe != 'years') yearMarkerText(args, axisArgs, yg, years, tf.yformat);
+}
+
+function yearMarkerLine(args, axisArgs, g, years, yformat) {
+ g.selectAll('.mg-year-marker').data(years).enter().append('line').attr('x1', function (d) {
+ return args.scales.X(d).toFixed(2);
+ }).attr('x2', function (d) {
+ return args.scales.X(d).toFixed(2);
+ }).attr('y1', mg_get_top(args)).attr('y2', mg_get_bottom(args));
+}
+
+function yearMarkerText(args, axisArgs, g, years, yformat) {
+ var position = axisArgs.position;
+ var ns = axisArgs.namespace;
+ var scale = args.scales[ns.toUpperCase()];
+ var x, y, dy, textAnchor, textFcn;
+ var xAxisTextElement = d3.select(args.target).select('.mg-x-axis text').node().getBoundingClientRect();
+
+ if (position === 'top') {
+ x = function x(d, i) {
+ return scale(d).toFixed(2);
+ };
+ y = mg_get_top(args) - args.xax_tick_length * 7 / 3 - xAxisTextElement.height;
+ dy = '.50em';
+ textAnchor = 'middle';
+ textFcn = function textFcn(d) {
+ return yformat(new Date(d));
+ };
+ }
+ if (position === 'bottom') {
+ x = function x(d, i) {
+ return scale(d).toFixed(2);
+ };
+ y = mg_get_bottom(args) + args.xax_tick_length * 7 / 3 + xAxisTextElement.height * 0.8;
+ dy = '.50em';
+ textAnchor = 'middle';
+ textFcn = function textFcn(d) {
+ return yformat(new Date(d));
+ };
+ }
+
+ g.selectAll('.mg-year-marker').data(years).enter().append('text').attr('x', x).attr('y', y).attr('dy', dy).attr('text-anchor', textAnchor).text(textFcn);
+}
+
+function addNumericalLabels(g, args, axisArgs) {
+ var ns = axisArgs.namespace;
+ var coords = labelPlacement(args, axisArgs);
+ var ticks = args.processed[ns + '_ticks'];
+
+ var labels = g.selectAll('.mg-yax-labels').data(ticks).enter().append('text').attr('x', coords.x).attr('dx', coords.dx).attr('y', coords.y).attr('dy', coords.dy).attr('text-anchor', coords.textAnchor).text(coords.text);
+ // move the labels if they overlap
+ if (ns == 'x') {
+ if (args.time_series && args.european_clock) {
+ labels.append('tspan').classed('mg-european-hours', true).text(function (_d, i) {
+ var d = new Date(_d);
+ if (i === 0) return d3.timeFormat('%H')(d);else return '';
+ });
+ labels.append('tspan').classed('mg-european-minutes-seconds', true).text(function (_d, i) {
+ var d = new Date(_d);
+ return ':' + args.processed.xax_format(d);
+ });
+ } else {
+ labels.text(function (d) {
+ return args.xax_units + args.processed.xax_format(d);
+ });
+ }
+
+ if (args.time_series && (args.show_years || args.show_secondary_x_label)) {
+ addSecondaryLabelElements(args, axisArgs, g);
+ }
+ }
+
+ if (mg_elements_are_overlapping(labels)) {
+ labels.filter(function (d, i) {
+ return (i + 1) % 2 === 0;
+ }).remove();
+
+ var svg = mg_get_svg_child_of(args.target);
+ svg.selectAll('.mg-' + ns + 'ax-ticks').filter(function (d, i) {
+ return (i + 1) % 2 === 0;
+ }).remove();
+ }
+}
+
+function addTickLines(g, args, axisArgs) {
+ // name
+ var ns = axisArgs.namespace;
+ var position = axisArgs.position;
+ var scale = args.scales[ns.toUpperCase()];
+
+ var ticks = args.processed[ns + '_ticks'];
+ var ticksClass = 'mg-' + ns + 'ax-ticks';
+ var extendedTicksClass = 'mg-extended-' + ns + 'ax-ticks';
+ var extendedTicks = args[ns + '_extended_ticks'];
+ var tickLength = args[ns + 'ax_tick_length'];
+
+ var x1, x2, y1, y2;
+
+ if (position === 'left') {
+ x1 = mg_get_left(args);
+ x2 = extendedTicks ? mg_get_right(args) : mg_get_left(args) - tickLength;
+ y1 = function y1(d) {
+ return scale(d).toFixed(2);
+ };
+ y2 = function y2(d) {
+ return scale(d).toFixed(2);
+ };
+ }
+ if (position === 'right') {
+ x1 = mg_get_right(args);
+ x2 = extendedTicks ? mg_get_left(args) : mg_get_right(args) + tickLength;
+ y1 = function y1(d) {
+ return scale(d).toFixed(2);
+ };
+ y2 = function y2(d) {
+ return scale(d).toFixed(2);
+ };
+ }
+ if (position === 'top') {
+ x1 = function x1(d) {
+ return scale(d).toFixed(2);
+ };
+ x2 = function x2(d) {
+ return scale(d).toFixed(2);
+ };
+ y1 = mg_get_top(args);
+ y2 = extendedTicks ? mg_get_bottom(args) : mg_get_top(args) - tickLength;
+ }
+ if (position === 'bottom') {
+ x1 = function x1(d) {
+ return scale(d).toFixed(2);
+ };
+ x2 = function x2(d) {
+ return scale(d).toFixed(2);
+ };
+ y1 = mg_get_bottom(args);
+ y2 = extendedTicks ? mg_get_top(args) : mg_get_bottom(args) + tickLength;
+ }
+
+ g.selectAll('.' + ticksClass).data(ticks).enter().append('line').classed(extendedTicksClass, extendedTicks).attr('x1', x1).attr('x2', x2).attr('y1', y1).attr('y2', y2);
+}
+
+function initializeAxisRim(g, args, axisArgs) {
+ var namespace = axisArgs.namespace;
+ var tick_length = args.processed[namespace + '_ticks'].length;
+
+ var rim = rimPlacement(args, axisArgs);
+
+ if (!args[namespace + '_extended_ticks'] && !args[namespace + '_extended_ticks'] && tick_length) {
+ g.append('line').attr('x1', rim.x1).attr('x2', rim.x2).attr('y1', rim.y1).attr('y2', rim.y2);
+ }
+}
+
+function initializeRug(args, rug_class) {
+ var svg = mg_get_svg_child_of(args.target);
+ var all_data = mg_flatten_array(args.data);
+ var rug = svg.selectAll('line.' + rug_class).data(all_data);
+
+ // set the attributes that do not change after initialization, per
+ rug.enter().append('svg:line').attr('class', rug_class).attr('opacity', 0.3);
+
+ // remove rug elements that are no longer in use
+ mg_exit_and_remove(rug);
+
+ // set coordinates of new rug elements
+ mg_exit_and_remove(rug);
+ return rug;
+}
+
+function rug(args, axisArgs) {
+ 'use strict';
+
+ args.rug_buffer_size = args.chart_type === 'point' ? args.buffer / 2 : args.buffer * 2 / 3;
+
+ var rug = initializeRug(args, 'mg-' + axisArgs.namespace + '-rug');
+ var rug_positions = rugPlacement(args, axisArgs);
+ rug.attr('x1', rug_positions.x1).attr('x2', rug_positions.x2).attr('y1', rug_positions.y1).attr('y2', rug_positions.y2);
+
+ mg_add_color_accessor_to_rug(rug, args, 'mg-' + axisArgs.namespace + '-rug-mono');
+}
+
+function categoricalLabelPlacement(args, axisArgs, group) {
+ var ns = axisArgs.namespace;
+ var position = axisArgs.position;
+ var scale = args.scales[ns.toUpperCase()];
+ var groupScale = args.scales[(ns + 'group').toUpperCase()];
+ var coords = {};
+ coords.cat = {};
+ coords.group = {};
+ // x, y, dy, text-anchor
+
+ if (position === 'left') {
+ coords.cat.x = mg_get_plot_left(args) - args.buffer;
+ coords.cat.y = function (d) {
+ return groupScale(group) + scale(d) + scale.bandwidth() / 2;
+ };
+ coords.cat.dy = '.35em';
+ coords.cat.textAnchor = 'end';
+ coords.group.x = mg_get_plot_left(args) - args.buffer;
+ coords.group.y = groupScale(group) + (groupScale.bandwidth ? groupScale.bandwidth() / 2 : 0);
+ coords.group.dy = '.35em';
+ coords.group.textAnchor = args['rotate_' + ns + '_labels'] ? 'end' : 'end';
+ }
+
+ if (position === 'right') {
+ coords.cat.x = mg_get_plot_right(args) - args.buffer;
+ coords.cat.y = function (d) {
+ return groupScale(group) + scale(d) + scale.bandwidth() / 2;
+ };
+ coords.cat.dy = '.35em';
+ coords.cat.textAnchor = 'start';
+ coords.group.x = mg_get_plot_right(args) - args.buffer;
+ coords.group.y = groupScale(group) + (groupScale.bandwidth ? groupScale.bandwidth() / 2 : 0);
+ coords.group.dy = '.35em';
+ coords.group.textAnchor = 'start';
+ }
+
+ if (position === 'top') {
+ coords.cat.x = function (d) {
+ return groupScale(group) + scale(d) + scale.bandwidth() / 2;
+ };
+ coords.cat.y = mg_get_plot_top(args) + args.buffer;
+ coords.cat.dy = '.35em';
+ coords.cat.textAnchor = args['rotate_' + ns + '_labels'] ? 'start' : 'middle';
+ coords.group.x = groupScale(group) + (groupScale.bandwidth ? groupScale.bandwidth() / 2 : 0);
+ coords.group.y = mg_get_plot_top(args) + args.buffer;
+ coords.group.dy = '.35em';
+ coords.group.textAnchor = args['rotate_' + ns + '_labels'] ? 'start' : 'middle';
+ }
+
+ if (position === 'bottom') {
+ coords.cat.x = function (d) {
+ return groupScale(group) + scale(d) + scale.bandwidth() / 2;
+ };
+ coords.cat.y = mg_get_plot_bottom(args) + args.buffer;
+ coords.cat.dy = '.35em';
+ coords.cat.textAnchor = args['rotate_' + ns + '_labels'] ? 'start' : 'middle';
+ coords.group.x = groupScale(group) + (groupScale.bandwidth ? groupScale.bandwidth() / 2 - scale.bandwidth() / 2 : 0);
+ coords.group.y = mg_get_plot_bottom(args) + args.buffer;
+ coords.group.dy = '.35em';
+ coords.group.textAnchor = args['rotate_' + ns + '_labels'] ? 'start' : 'middle';
+ }
+
+ return coords;
+}
+
+function categoricalLabels(args, axisArgs) {
+ var ns = axisArgs.namespace;
+ var nsClass = 'mg-' + ns + '-axis';
+ var scale = args.scales[ns.toUpperCase()];
+ var groupScale = args.scales[(ns + 'group').toUpperCase()];
+ var groupAccessor = ns + 'group_accessor';
+
+ var svg = mg_get_svg_child_of(args.target);
+ mg_selectAll_and_remove(svg, '.' + nsClass);
+ var g = mg_add_g(svg, nsClass);
+ var group_g;
+ var groups = groupScale.domain && groupScale.domain() ? groupScale.domain() : ['1'];
+
+ groups.forEach(function (group) {
+ // grab group placement stuff.
+ var coords = categoricalLabelPlacement(args, axisArgs, group);
+
+ group_g = mg_add_g(g, 'mg-group-' + mg_normalize(group));
+ if (args[groupAccessor] !== null) {
+ var labels = group_g.append('text').classed('mg-barplot-group-label', true).attr('x', coords.group.x).attr('y', coords.group.y).attr('dy', coords.group.dy).attr('text-anchor', coords.group.textAnchor).text(group);
+ } else {
+ var labels = group_g.selectAll('text').data(scale.domain()).enter().append('text').attr('x', coords.cat.x).attr('y', coords.cat.y).attr('dy', coords.cat.dy).attr('text-anchor', coords.cat.textAnchor).text(String);
+ }
+ if (args['rotate_' + ns + '_labels']) {
+ rotateLabels(labels, args['rotate_' + ns + '_labels']);
+ }
+ });
+}
+
+function categoricalGuides(args, axisArgs) {
+ // for each group
+ // for each data point
+
+ var ns = axisArgs.namespace;
+ var scalef = args.scalefns[ns + 'f'];
+ var groupf = args.scalefns[ns + 'groupf'];
+ var groupScale = args.scales[(ns + 'group').toUpperCase()];
+ var scale = args.scales[ns.toUpperCase()];
+ var position = axisArgs.position;
+
+ var svg = mg_get_svg_child_of(args.target);
+ var alreadyPlotted = [];
+
+ var x1, x2, y1, y2;
+ var grs = groupScale.domain && groupScale.domain() ? groupScale.domain() : [null];
+
+ mg_selectAll_and_remove(svg, '.mg-category-guides');
+ var g = mg_add_g(svg, 'mg-category-guides');
+
+ grs.forEach(function (group) {
+ scale.domain().forEach(function (cat) {
+ if (position === 'left' || position === 'right') {
+ x1 = mg_get_plot_left(args);
+ x2 = mg_get_plot_right(args);
+ y1 = scale(cat) + groupScale(group) + scale.bandwidth() / 2;
+ y2 = scale(cat) + groupScale(group) + scale.bandwidth() / 2;
+ }
+
+ if (position === 'top' || position === 'bottom') {
+ x1 = scale(cat) + groupScale(group) + scale.bandwidth() / 2 * (group === null);
+ x2 = scale(cat) + groupScale(group) + scale.bandwidth() / 2 * (group === null);
+ y1 = mg_get_plot_bottom(args);
+ y2 = mg_get_plot_top(args);
+ }
+
+ g.append('line').attr('x1', x1).attr('x2', x2).attr('y1', y1).attr('y2', y2).attr('stroke-dasharray', '2,1');
+ });
+
+ var first = groupScale(group) + scale(scale.domain()[0]) + scale.bandwidth() / 2 * (group === null || position !== 'top' && position != 'bottom');
+ var last = groupScale(group) + scale(scale.domain()[scale.domain().length - 1]) + scale.bandwidth() / 2 * (group === null || position !== 'top' && position != 'bottom');
+
+ var x11, x21, y11, y21, x12, x22, y12, y22;
+ if (position === 'left' || position === 'right') {
+ x11 = mg_get_plot_left(args);
+ x21 = mg_get_plot_left(args);
+ y11 = first;
+ y21 = last;
+
+ x12 = mg_get_plot_right(args);
+ x22 = mg_get_plot_right(args);
+ y12 = first;
+ y22 = last;
+ }
+
+ if (position === 'bottom' || position === 'top') {
+ x11 = first;
+ x21 = last;
+ y11 = mg_get_plot_bottom(args);
+ y21 = mg_get_plot_bottom(args);
+
+ x12 = first;
+ x22 = last;
+ y12 = mg_get_plot_top(args);
+ y22 = mg_get_plot_top(args);
+ }
+
+ g.append('line').attr('x1', x11).attr('x2', x21).attr('y1', y11).attr('y2', y21).attr('stroke-dasharray', '2,1');
+
+ g.append('line').attr('x1', x12).attr('x2', x22).attr('y1', y12).attr('y2', y22).attr('stroke-dasharray', '2,1');
+ });
+}
+
+function rotateLabels(labels, rotation_degree) {
+ if (rotation_degree) {
+ labels.attr('transform', function () {
+ var elem = d3.select(this);
+ return 'rotate(' + rotation_degree + ' ' + elem.attr('x') + ',' + elem.attr('y') + ')';
+ });
+ }
+}
+
+function zeroLine(args, axisArgs) {
+ var svg = mg_get_svg_child_of(args.target);
+ var ns = axisArgs.namespace;
+ var position = axisArgs.position;
+ var scale = args.scales[ns.toUpperCase()];
+ var x1, x2, y1, y2;
+ if (position === 'left' || position === 'right') {
+ x1 = mg_get_plot_left(args);
+ x2 = mg_get_plot_right(args);
+ y1 = scale(0) + 1;
+ y2 = scale(0) + 1;
+ }
+ if (position === 'bottom' || position === 'top') {
+ y1 = mg_get_plot_top(args);
+ y2 = mg_get_plot_bottom(args);
+ x1 = scale(0) - 1;
+ x2 = scale(0) - 1;
+ }
+
+ svg.append('line').attr('x1', x1).attr('x2', x2).attr('y1', y1).attr('y2', y2).attr('stroke', 'black');
+}
+
+var mgDrawAxis = {};
+
+mgDrawAxis.categorical = function (args, axisArgs) {
+ var ns = axisArgs.namespace;
+
+ categoricalLabels(args, axisArgs);
+ categoricalGuides(args, axisArgs);
+};
+
+mgDrawAxis.numerical = function (args, axisArgs) {
+ var namespace = axisArgs.namespace;
+ var axisName = namespace + '_axis';
+ var axisClass = 'mg-' + namespace + '-axis';
+ var svg = mg_get_svg_child_of(args.target);
+
+ mg_selectAll_and_remove(svg, '.' + axisClass);
+
+ if (!args[axisName]) {
+ return this;
+ }
+
+ var g = mg_add_g(svg, axisClass);
+
+ processScaleTicks(args, namespace);
+ initializeAxisRim(g, args, axisArgs);
+ addTickLines(g, args, axisArgs);
+ addNumericalLabels(g, args, axisArgs);
+
+ // add label
+ if (args[namespace + '_label']) {
+ axisArgs.label(svg.select('.mg-' + namespace + '-axis'), args);
+ }
+
+ // add rugs
+ if (args[namespace + '_rug']) {
+ rug(args, axisArgs);
+ }
+
+ if (args.show_bar_zero) {
+ mg_bar_add_zero_line(args);
+ }
+
+ return this;
+};
+
+function axisFactory(args) {
+ var axisArgs = {};
+ axisArgs.type = 'numerical';
+
+ this.namespace = function (ns) {
+ // take the ns in the scale, and use it to
+ axisArgs.namespace = ns;
+ return this;
+ };
+
+ this.rug = function (tf) {
+ axisArgs.rug = tf;
+ return this;
+ };
+
+ this.label = function (tf) {
+ axisArgs.label = tf;
+ return this;
+ };
+
+ this.type = function (t) {
+ axisArgs.type = t;
+ return this;
+ };
+
+ this.position = function (pos) {
+ axisArgs.position = pos;
+ return this;
+ };
+
+ this.zeroLine = function (tf) {
+ axisArgs.zeroLine = tf;
+ return this;
+ };
+
+ this.draw = function () {
+ mgDrawAxis[axisArgs.type](args, axisArgs);
+ return this;
+ };
+
+ return this;
+}
+
+MG.axis_factory = axisFactory;
+
+/* ================================================================================ */
+/* ================================================================================ */
+/* ================================================================================ */
+
+function y_rug(args) {
+ 'use strict';
+
+ if (!args.y_rug) {
+ return;
+ }
+
+ args.rug_buffer_size = args.chart_type === 'point' ? args.buffer / 2 : args.buffer * 2 / 3;
+
+ var rug = mg_make_rug(args, 'mg-y-rug');
+
+ rug.attr('x1', args.left + 1).attr('x2', args.left + args.rug_buffer_size).attr('y1', args.scalefns.yf).attr('y2', args.scalefns.yf);
+
+ mg_add_color_accessor_to_rug(rug, args, 'mg-y-rug-mono');
+}
+
+MG.y_rug = y_rug;
+
+function mg_change_y_extents_for_bars(args, my) {
+ if (args.chart_type === 'bar') {
+ my.min = 0;
+ my.max = d3.max(args.data[0], function (d) {
+ var trio = [];
+ trio.push(d[args.y_accessor]);
+
+ if (args.baseline_accessor !== null) {
+ trio.push(d[args.baseline_accessor]);
+ }
+
+ if (args.predictor_accessor !== null) {
+ trio.push(d[args.predictor_accessor]);
+ }
+
+ return Math.max.apply(null, trio);
+ });
+ }
+ return my;
+}
+
+function mg_compute_yax_format(args) {
+ var yax_format = args.yax_format;
+ if (!yax_format) {
+ var decimals = args.decimals;
+ if (args.format === 'count') {
+ // increase decimals if we have small values, useful for realtime data
+ if (args.processed.y_ticks.length > 1) {
+ // calculate the number of decimals between the difference of ticks
+ // based on approach in flot: https://github.com/flot/flot/blob/958e5fd43c6dff4bab3e1fd5cb6109df5c1e8003/jquery.flot.js#L1810
+ decimals = Math.max(0, -Math.floor(Math.log(Math.abs(args.processed.y_ticks[1] - args.processed.y_ticks[0])) / Math.LN10));
+ }
+
+ yax_format = function yax_format(d) {
+ var pf;
+
+ if (decimals !== 0) {
+ // don't scale tiny values
+ pf = d3.format(',.' + decimals + 'f');
+ } else if (d < 1000) {
+ pf = d3.format(',.0f');
+ } else {
+ pf = d3.format(',.2s');
+ }
+
+ // are we adding units after the value or before?
+ if (args.yax_units_append) {
+ return pf(d) + args.yax_units;
+ } else {
+ return args.yax_units + pf(d);
+ }
+ };
+ } else {
+ // percentage
+ yax_format = function yax_format(d_) {
+ var n = d3.format('.0%');
+ return n(d_);
+ };
+ }
+ }
+ return yax_format;
+}
+
+function mg_bar_add_zero_line(args) {
+ var svg = mg_get_svg_child_of(args.target);
+ var extents = args.scales.X.domain();
+ if (0 >= extents[0] && extents[1] >= 0) {
+ var r = args.scales.Y.range();
+ var g = args.categorical_groups.length ? args.scales.YGROUP(args.categorical_groups[args.categorical_groups.length - 1]) : args.scales.YGROUP();
+
+ svg.append('svg:line').attr('x1', args.scales.X(0)).attr('x2', args.scales.X(0)).attr('y1', r[0] + mg_get_plot_top(args)).attr('y2', r[r.length - 1] + g).attr('stroke', 'black').attr('opacity', 0.2);
+ }
+}
+
+function mg_y_domain_range(args, scale) {
+ scale.domain([args.processed.min_y, args.processed.max_y]).range([mg_get_plot_bottom(args), args.top]);
+ return scale;
+}
+
+function mg_define_y_scales(args) {
+ var scale = mg_is_function(args.y_scale_type) ? args.y_scale_type() : args.y_scale_type === 'log' ? d3.scaleLog() : d3.scaleLinear();
+
+ if (args.y_scale_type === 'log') {
+ if (args.chart_type === 'histogram') {
+ // log histogram plots should start just below 1
+ // so that bins with single counts are visible
+ args.processed.min_y = 0.2;
+ } else {
+ if (args.processed.min_y <= 0) {
+ args.processed.min_y = 1;
+ }
+ }
+ }
+ args.scales.Y = mg_y_domain_range(args, scale);
+ args.scales.Y.clamp(args.y_scale_type === 'log');
+
+ // used for ticks and such, and designed to be paired with log or linear
+ args.scales.Y_axis = mg_y_domain_range(args, d3.scaleLinear());
+}
+
+function mg_add_y_label(g, args) {
+ if (args.y_label) {
+ g.append('text').attr('class', 'label').attr('x', function () {
+ return -1 * (mg_get_plot_top(args) + (mg_get_plot_bottom(args) - mg_get_plot_top(args)) / 2);
+ }).attr('y', function () {
+ return args.left / 2;
+ }).attr('dy', '-1.2em').attr('text-anchor', 'middle').text(function (d) {
+ return args.y_label;
+ }).attr('transform', function (d) {
+ return 'rotate(-90)';
+ });
+ }
+}
+
+function mg_add_y_axis_rim(g, args) {
+ var tick_length = args.processed.y_ticks.length;
+ if (!args.x_extended_ticks && !args.y_extended_ticks && tick_length) {
+ var y1scale, y2scale;
+
+ if (args.axes_not_compact && args.chart_type !== 'bar') {
+ y1scale = args.height - args.bottom;
+ y2scale = args.top;
+ } else if (tick_length) {
+ y1scale = args.scales.Y(args.processed.y_ticks[0]).toFixed(2);
+ y2scale = args.scales.Y(args.processed.y_ticks[tick_length - 1]).toFixed(2);
+ } else {
+ y1scale = 0;
+ y2scale = 0;
+ }
+
+ g.append('line').attr('x1', args.left).attr('x2', args.left).attr('y1', y1scale).attr('y2', y2scale);
+ }
+}
+
+function mg_add_y_axis_tick_lines(g, args) {
+ g.selectAll('.mg-yax-ticks').data(args.processed.y_ticks).enter().append('line').classed('mg-extended-yax-ticks', args.y_extended_ticks).attr('x1', args.left).attr('x2', function () {
+ return args.y_extended_ticks ? args.width - args.right : args.left - args.yax_tick_length;
+ }).attr('y1', function (d) {
+ return args.scales.Y(d).toFixed(2);
+ }).attr('y2', function (d) {
+ return args.scales.Y(d).toFixed(2);
+ });
+}
+
+function mg_add_y_axis_tick_labels(g, args) {
+ var yax_format = mg_compute_yax_format(args);
+ g.selectAll('.mg-yax-labels').data(args.processed.y_ticks).enter().append('text').attr('x', args.left - args.yax_tick_length * 3 / 2).attr('dx', -3).attr('y', function (d) {
+ return args.scales.Y(d).toFixed(2);
+ }).attr('dy', '.35em').attr('text-anchor', 'end').text(function (d) {
+ var o = yax_format(d);
+ return o;
+ });
+}
+
+// TODO ought to be deprecated, only used by histogram
+function y_axis(args) {
+ if (!args.processed) {
+ args.processed = {};
+ }
+
+ var svg = mg_get_svg_child_of(args.target);
+ MG.call_hook('y_axis.process_min_max', args, args.processed.min_y, args.processed.max_y);
+ mg_selectAll_and_remove(svg, '.mg-y-axis');
+
+ if (!args.y_axis) {
+ return this;
+ }
+
+ var g = mg_add_g(svg, 'mg-y-axis');
+ mg_add_y_label(g, args);
+ mg_process_scale_ticks(args, 'y');
+ mg_add_y_axis_rim(g, args);
+ mg_add_y_axis_tick_lines(g, args);
+ mg_add_y_axis_tick_labels(g, args);
+
+ if (args.y_rug) {
+ y_rug(args);
+ }
+
+ return this;
+}
+
+MG.y_axis = y_axis;
+
+function mg_add_categorical_labels(args) {
+ var svg = mg_get_svg_child_of(args.target);
+ mg_selectAll_and_remove(svg, '.mg-y-axis');
+ var g = mg_add_g(svg, 'mg-y-axis');
+ var group_g;(args.categorical_groups.length ? args.categorical_groups : ['1']).forEach(function (group) {
+ group_g = mg_add_g(g, 'mg-group-' + mg_normalize(group));
+
+ if (args.ygroup_accessor !== null) {
+ mg_add_group_label(group_g, group, args);
+ } else {
+ var labels = mg_add_graphic_labels(group_g, group, args);
+ mg_rotate_labels(labels, args.rotate_y_labels);
+ }
+ });
+}
+
+function mg_add_graphic_labels(g, group, args) {
+ return g.selectAll('text').data(args.scales.Y.domain()).enter().append('svg:text').attr('x', args.left - args.buffer).attr('y', function (d) {
+ return args.scales.YGROUP(group) + args.scales.Y(d) + args.scales.Y.bandwidth() / 2;
+ }).attr('dy', '.35em').attr('text-anchor', 'end').text(String);
+}
+
+function mg_add_group_label(g, group, args) {
+ g.append('svg:text').classed('mg-barplot-group-label', true).attr('x', args.left - args.buffer).attr('y', args.scales.YGROUP(group) + args.scales.YGROUP.bandwidth() / 2).attr('dy', '.35em').attr('text-anchor', 'end').text(group);
+}
+
+function mg_draw_group_lines(args) {
+ var svg = mg_get_svg_child_of(args.target);
+ var groups = args.scales.YGROUP.domain();
+ var first = groups[0];
+ var last = groups[groups.length - 1];
+
+ svg.select('.mg-category-guides').selectAll('mg-group-lines').data(groups).enter().append('line').attr('x1', mg_get_plot_left(args)).attr('x2', mg_get_plot_left(args)).attr('y1', function (d) {
+ return args.scales.YGROUP(d);
+ }).attr('y2', function (d) {
+ return args.scales.YGROUP(d) + args.ygroup_height;
+ }).attr('stroke-width', 1);
+}
+
+function mg_y_categorical_show_guides(args) {
+ // for each group
+ // for each data point
+ var svg = mg_get_svg_child_of(args.target);
+ var alreadyPlotted = [];
+ args.data[0].forEach(function (d) {
+ if (alreadyPlotted.indexOf(d[args.y_accessor]) === -1) {
+ svg.select('.mg-category-guides').append('line').attr('x1', mg_get_plot_left(args)).attr('x2', mg_get_plot_right(args)).attr('y1', args.scalefns.yf(d) + args.scalefns.ygroupf(d)).attr('y2', args.scalefns.yf(d) + args.scalefns.ygroupf(d)).attr('stroke-dasharray', '2,1');
+ }
+ });
+}
+
+function y_axis_categorical(args) {
+ if (!args.y_axis) {
+ return this;
+ }
+
+ mg_add_categorical_labels(args);
+ // mg_draw_group_scaffold(args);
+ if (args.show_bar_zero) mg_bar_add_zero_line(args);
+ if (args.ygroup_accessor) mg_draw_group_lines(args);
+ if (args.y_categorical_show_guides) mg_y_categorical_show_guides(args);
+ return this;
+}
+
+MG.y_axis_categorical = y_axis_categorical;
+
+function x_rug(args) {
+ 'use strict';
+
+ if (!args.x_rug) {
+ return;
+ }
+
+ args.rug_buffer_size = args.chart_type === 'point' ? args.buffer / 2 : args.buffer;
+
+ var rug = mg_make_rug(args, 'mg-x-rug');
+
+ rug.attr('x1', args.scalefns.xf).attr('x2', args.scalefns.xf).attr('y1', args.height - args.bottom - args.rug_buffer_size).attr('y2', args.height - args.bottom);
+
+ mg_add_color_accessor_to_rug(rug, args, 'mg-x-rug-mono');
+}
+
+MG.x_rug = x_rug;
+
+function mg_add_processed_object(args) {
+ if (!args.processed) {
+ args.processed = {};
+ }
+}
+
+// TODO ought to be deprecated, only used by histogram
+function x_axis(args) {
+ 'use strict';
+
+ var svg = mg_get_svg_child_of(args.target);
+ mg_add_processed_object(args);
+
+ mg_select_xax_format(args);
+ mg_selectAll_and_remove(svg, '.mg-x-axis');
+
+ if (!args.x_axis) {
+ return this;
+ }
+
+ var g = mg_add_g(svg, 'mg-x-axis');
+
+ mg_add_x_ticks(g, args);
+ mg_add_x_tick_labels(g, args);
+ if (args.x_label) {
+ mg_add_x_label(g, args);
+ }
+ if (args.x_rug) {
+ x_rug(args);
+ }
+
+ return this;
+}
+
+MG.x_axis = x_axis;
+
+function x_axis_categorical(args) {
+ var svg = mg_get_svg_child_of(args.target);
+ var additional_buffer = 0;
+ if (args.chart_type === 'bar') {
+ additional_buffer = args.buffer + 5;
+ }
+
+ mg_add_categorical_scale(args, 'X', args.categorical_variables.reverse(), args.left, mg_get_plot_right(args) - additional_buffer);
+ mg_add_scale_function(args, 'xf', 'X', 'value');
+ mg_selectAll_and_remove(svg, '.mg-x-axis');
+
+ var g = mg_add_g(svg, 'mg-x-axis');
+
+ if (!args.x_axis) {
+ return this;
+ }
+
+ mg_add_x_axis_categorical_labels(g, args, additional_buffer);
+ return this;
+}
+
+function mg_add_x_axis_categorical_labels(g, args, additional_buffer) {
+ var labels = g.selectAll('text').data(args.categorical_variables).enter().append('text');
+
+ labels.attr('x', function (d) {
+ return args.scales.X(d) + args.scales.X.bandwidth() / 2 + args.buffer * args.bar_outer_padding_percentage + additional_buffer / 2;
+ }).attr('y', mg_get_plot_bottom(args)).attr('dy', '.35em').attr('text-anchor', 'middle').text(String);
+
+ if (args.truncate_x_labels) {
+ labels.each(function (d, idx) {
+ var elem = this,
+ width = args.scales.X.bandwidth();
+ truncate_text(elem, d, width);
+ });
+ }
+ mg_rotate_labels(labels, args.rotate_x_labels);
+}
+
+MG.x_axis_categorical = x_axis_categorical;
+
+function mg_point_add_color_scale(args) {
+ var color_domain, color_range;
+
+ if (args.color_accessor !== null) {
+ color_domain = mg_get_color_domain(args);
+ color_range = mg_get_color_range(args);
+
+ if (args.color_type === 'number') {
+ args.scales.color = d3.scaleLinear().domain(color_domain).range(color_range).clamp(true);
+ } else {
+ args.scales.color = args.color_range !== null ? d3.scaleOrdinal().range(color_range) : color_domain.length > 10 ? d3.scaleOrdinal(d3.schemeCategory20) : d3.scaleOrdinal(d3.schemeCategory10);
+
+ args.scales.color.domain(color_domain);
+ }
+ mg_add_scale_function(args, 'color', 'color', args.color_accessor);
+ }
+}
+
+function mg_get_color_domain(args) {
+ var color_domain;
+ if (args.color_domain === null) {
+ if (args.color_type === 'number') {
+ color_domain = d3.extent(args.data[0], function (d) {
+ return d[args.color_accessor];
+ });
+ } else if (args.color_type === 'category') {
+ color_domain = d3.set(args.data[0].map(function (d) {
+ return d[args.color_accessor];
+ })).values();
+
+ color_domain.sort();
+ }
+ } else {
+ color_domain = args.color_domain;
+ }
+ return color_domain;
+}
+
+function mg_get_color_range(args) {
+ var color_range;
+ if (args.color_range === null) {
+ if (args.color_type === 'number') {
+ color_range = ['blue', 'red'];
+ } else {
+ color_range = null;
+ }
+ } else {
+ color_range = args.color_range;
+ }
+ return color_range;
+}
+
+function mg_point_add_size_scale(args) {
+ var min_size, max_size, size_domain, size_range;
+ if (args.size_accessor !== null) {
+ size_domain = mg_get_size_domain(args);
+ size_range = mg_get_size_range(args);
+
+ args.scales.size = d3.scaleLinear().domain(size_domain).range(size_range).clamp(true);
+
+ mg_add_scale_function(args, 'size', 'size', args.size_accessor);
+ }
+}
+
+function mg_get_size_domain(args) {
+ return args.size_domain === null ? d3.extent(args.data[0], function (d) {
+ return d[args.size_accessor];
+ }) : args.size_domain;
+}
+
+function mg_get_size_range(args) {
+ var size_range;
+ if (args.size_range === null) {
+ size_range = [1, 5];
+ } else {
+ size_range = args.size_range;
+ }
+ return size_range;
+}
+
+function mg_add_x_label(g, args) {
+ if (args.x_label) {
+ g.append('text').attr('class', 'label').attr('x', function () {
+ return mg_get_plot_left(args) + (mg_get_plot_right(args) - mg_get_plot_left(args)) / 2;
+ }).attr('dx', args.x_label_nudge_x != null ? args.x_label_nudge_x : 0).attr('y', function () {
+ var xAxisTextElement = d3.select(args.target).select('.mg-x-axis text').node().getBoundingClientRect();
+ return mg_get_bottom(args) + args.xax_tick_length * (7 / 3) + xAxisTextElement.height * 0.8 + 10;
+ }).attr('dy', '.5em').attr('text-anchor', 'middle').text(function (d) {
+ return args.x_label;
+ });
+ }
+}
+
+function mg_default_bar_xax_format(args) {
+ return function (d) {
+ if (d < 1.0 && d > -1.0 && d !== 0) {
+ // don't scale tiny values
+ return args.xax_units + d.toFixed(args.decimals);
+ } else {
+ var pf = d3.format(',.0f');
+ return args.xax_units + pf(d);
+ }
+ };
+}
+
+function mg_get_time_frame(diff) {
+ // diff should be (max_x - min_x) / 1000, in other words, the difference in seconds.
+ var time_frame;
+ if (mg_milisec_diff(diff)) {
+ time_frame = 'millis';
+ } else if (mg_sec_diff(diff)) {
+ time_frame = 'seconds';
+ } else if (mg_day_diff(diff)) {
+ time_frame = 'less-than-a-day';
+ } else if (mg_four_days(diff)) {
+ time_frame = 'four-days';
+ } else if (mg_many_days(diff)) {
+ // a handful of months?
+ time_frame = 'many-days';
+ } else if (mg_many_months(diff)) {
+ time_frame = 'many-months';
+ } else if (mg_years(diff)) {
+ time_frame = 'years';
+ } else {
+ time_frame = 'default';
+ }
+ return time_frame;
+}
+
+function mg_milisec_diff(diff) {
+ return diff < 1;
+}
+
+function mg_sec_diff(diff) {
+ return diff < 60;
+}
+
+function mg_day_diff(diff) {
+ return diff / (60 * 60) < 24;
+}
+
+function mg_four_days(diff) {
+ return diff / (60 * 60) < 24 * 4;
+}
+
+function mg_many_days(diff) {
+ return diff / (60 * 60 * 24) < 60;
+}
+
+function mg_many_months(diff) {
+ return diff / (60 * 60 * 24) < 365;
+}
+
+function mg_years(diff) {
+ return diff / (60 * 60 * 24) >= 365;
+}
+
+function mg_get_time_format(utc, diff) {
+ var main_time_format;
+ if (mg_milisec_diff(diff)) {
+ main_time_format = MG.time_format(utc, '%M:%S.%L');
+ } else if (mg_sec_diff(diff)) {
+ main_time_format = MG.time_format(utc, '%M:%S');
+ } else if (mg_day_diff(diff)) {
+ main_time_format = MG.time_format(utc, '%H:%M');
+ } else if (mg_four_days(diff) || mg_many_days(diff)) {
+ main_time_format = MG.time_format(utc, '%b %d');
+ } else if (mg_many_months(diff)) {
+ main_time_format = MG.time_format(utc, '%b');
+ } else {
+ main_time_format = MG.time_format(utc, '%Y');
+ }
+ return main_time_format;
+}
+
+function mg_process_time_format(args) {
+ if (args.time_series) {
+ var diff = (args.processed.max_x - args.processed.min_x) / 1000;
+ var tickDiff = (args.processed.x_ticks[1] - args.processed.x_ticks[0]) / 1000;
+ args.processed.x_time_frame = mg_get_time_frame(diff);
+ args.processed.x_tick_diff_time_frame = mg_get_time_frame(tickDiff);
+ args.processed.main_x_time_format = mg_get_time_format(args.utc_time, tickDiff);
+ }
+}
+
+function mg_default_xax_format(args) {
+ if (args.xax_format) {
+ return args.xax_format;
+ }
+
+ var data = args.processed.original_data || args.data;
+ var flattened = mg_flatten_array(data)[0];
+ var test_point_x = flattened[args.processed.original_x_accessor || args.x_accessor];
+ if (test_point_x === undefined) {
+ test_point_x = flattened;
+ }
+
+ return function (d) {
+ mg_process_time_format(args);
+
+ if (mg_is_date(test_point_x)) {
+ return args.processed.main_x_time_format(new Date(d));
+ } else if (typeof test_point_x === 'number') {
+ var is_float = d % 1 !== 0;
+ var pf;
+
+ if (is_float) {
+ pf = d3.format(',.' + args.decimals + 'f');
+ } else if (d < 1000) {
+ pf = d3.format(',.0f');
+ } else {
+ pf = d3.format(',.2s');
+ }
+ return args.xax_units + pf(d);
+ } else {
+ return args.xax_units + d;
+ }
+ };
+}
+
+function mg_add_x_ticks(g, args) {
+ mg_process_scale_ticks(args, 'x');
+ mg_add_x_axis_rim(args, g);
+ mg_add_x_axis_tick_lines(args, g);
+}
+
+function mg_add_x_axis_rim(args, g) {
+ var last_i = args.scales.X.ticks(args.xax_count).length - 1;
+
+ if (!args.x_extended_ticks) {
+ g.append('line').attr('x1', function () {
+ if (args.xax_count === 0) {
+ return mg_get_plot_left(args);
+ } else if (args.axes_not_compact && args.chart_type !== 'bar') {
+ return args.left;
+ } else {
+ return args.scales.X(args.scales.X.ticks(args.xax_count)[0]).toFixed(2);
+ }
+ }).attr('x2', function () {
+ if (args.xax_count === 0 || args.axes_not_compact && args.chart_type !== 'bar') {
+ return mg_get_right(args);
+ } else {
+ return args.scales.X(args.scales.X.ticks(args.xax_count)[last_i]).toFixed(2);
+ }
+ }).attr('y1', args.height - args.bottom).attr('y2', args.height - args.bottom);
+ }
+}
+
+function mg_add_x_axis_tick_lines(args, g) {
+ g.selectAll('.mg-xax-ticks').data(args.processed.x_ticks).enter().append('line').attr('x1', function (d) {
+ return args.scales.X(d).toFixed(2);
+ }).attr('x2', function (d) {
+ return args.scales.X(d).toFixed(2);
+ }).attr('y1', args.height - args.bottom).attr('y2', function () {
+ return args.x_extended_ticks ? args.top : args.height - args.bottom + args.xax_tick_length;
+ }).attr('class', function () {
+ if (args.x_extended_ticks) {
+ return 'mg-extended-xax-ticks';
+ }
+ }).classed('mg-xax-ticks', true);
+}
+
+function mg_add_x_tick_labels(g, args) {
+ mg_add_primary_x_axis_label(args, g);
+ mg_add_secondary_x_axis_label(args, g);
+}
+
+function mg_add_primary_x_axis_label(args, g) {
+ var labels = g.selectAll('.mg-xax-labels').data(args.processed.x_ticks).enter().append('text').attr('x', function (d) {
+ return args.scales.X(d).toFixed(2);
+ }).attr('y', (args.height - args.bottom + args.xax_tick_length * 7 / 3).toFixed(2)).attr('dy', '.50em').attr('text-anchor', 'middle');
+
+ if (args.time_series && args.european_clock) {
+ labels.append('tspan').classed('mg-european-hours', true).text(function (_d, i) {
+ var d = new Date(_d);
+ if (i === 0) return d3.timeFormat('%H')(d);else return '';
+ });
+ labels.append('tspan').classed('mg-european-minutes-seconds', true).text(function (_d, i) {
+ var d = new Date(_d);
+ return ':' + args.processed.xax_format(d);
+ });
+ } else {
+ labels.text(function (d) {
+ return args.xax_units + args.processed.xax_format(d);
+ });
+ }
+
+ // CHECK TO SEE IF OVERLAP for labels. If so,
+ // remove half of them. This is a dirty hack.
+ // We will need to figure out a more principled way of doing this.
+ if (mg_elements_are_overlapping(labels)) {
+ labels.filter(function (d, i) {
+ return (i + 1) % 2 === 0;
+ }).remove();
+
+ var svg = mg_get_svg_child_of(args.target);
+ svg.selectAll('.mg-xax-ticks').filter(function (d, i) {
+ return (i + 1) % 2 === 0;
+ }).remove();
+ }
+}
+
+function mg_add_secondary_x_axis_label(args, g) {
+ if (args.time_series && (args.show_years || args.show_secondary_x_label)) {
+ mg_add_secondary_x_axis_elements(args, g);
+ }
+}
+
+function mg_get_yformat_and_secondary_time_function(args) {
+ var tf = {
+ timeframe: args.processed.x_time_frame,
+ tick_diff_timeframe: args.processed.x_tick_diff_time_frame
+ };
+ switch (tf.timeframe) {
+ case 'millis':
+ case 'seconds':
+ tf.secondary = d3.timeDays;
+ if (args.european_clock) tf.yformat = MG.time_format(args.utc_time, '%b %d');else tf.yformat = MG.time_format(args.utc_time, '%I %p');
+ break;
+ case 'less-than-a-day':
+ tf.secondary = d3.timeDays;
+ tf.yformat = MG.time_format(args.utc_time, '%b %d');
+ break;
+ case 'four-days':
+ tf.secondary = d3.timeDays;
+ tf.yformat = MG.time_format(args.utc_time, '%b %d');
+ break;
+ case 'many-days':
+ tf.secondary = d3.timeYears;
+ tf.yformat = MG.time_format(args.utc_time, '%Y');
+ break;
+ case 'many-months':
+ tf.secondary = d3.timeYears;
+ tf.yformat = MG.time_format(args.utc_time, '%Y');
+ break;
+ default:
+ tf.secondary = d3.timeYears;
+ tf.yformat = MG.time_format(args.utc_time, '%Y');
+ }
+ return tf;
+}
+
+function mg_add_secondary_x_axis_elements(args, g) {
+ var tf = mg_get_yformat_and_secondary_time_function(args);
+
+ var years = tf.secondary(args.processed.min_x, args.processed.max_x);
+ if (years.length === 0) {
+ var first_tick = args.scales.X.ticks(args.xax_count)[0];
+ years = [first_tick];
+ }
+
+ var yg = mg_add_g(g, 'mg-year-marker');
+ if (tf.timeframe === 'default' && args.show_year_markers) {
+ mg_add_year_marker_line(args, yg, years, tf.yformat);
+ }
+ if (tf.tick_diff_time_frame != 'years') mg_add_year_marker_text(args, yg, years, tf.yformat);
+}
+
+function mg_add_year_marker_line(args, g, years, yformat) {
+ g.selectAll('.mg-year-marker').data(years).enter().append('line').attr('x1', function (d) {
+ return args.scales.X(d).toFixed(2);
+ }).attr('x2', function (d) {
+ return args.scales.X(d).toFixed(2);
+ }).attr('y1', mg_get_top(args)).attr('y2', mg_get_bottom(args));
+}
+
+function mg_add_year_marker_text(args, g, years, yformat) {
+ g.selectAll('.mg-year-marker').data(years).enter().append('text').attr('x', function (d, i) {
+ return args.scales.X(d).toFixed(2);
+ }).attr('y', function () {
+ var xAxisTextElement = d3.select(args.target).select('.mg-x-axis text').node().getBoundingClientRect();
+ return mg_get_bottom(args) + args.xax_tick_length * 7 / 3 + xAxisTextElement.height * 0.8;
+ }).attr('dy', '.50em').attr('text-anchor', 'middle').text(function (d) {
+ return yformat(new Date(d));
+ });
+}
+
+function mg_min_max_x_for_nonbars(mx, args, data) {
+ var extent_x = d3.extent(data, function (d) {
+ return d[args.x_accessor];
+ });
+ mx.min = extent_x[0];
+ mx.max = extent_x[1];
+}
+
+function mg_min_max_x_for_bars(mx, args, data) {
+ mx.min = d3.min(data, function (d) {
+ var trio = [d[args.x_accessor], d[args.baseline_accessor] ? d[args.baseline_accessor] : 0, d[args.predictor_accessor] ? d[args.predictor_accessor] : 0];
+ return Math.min.apply(null, trio);
+ });
+
+ if (mx.min > 0) mx.min = 0;
+
+ mx.max = d3.max(data, function (d) {
+ var trio = [d[args.x_accessor], d[args.baseline_accessor] ? d[args.baseline_accessor] : 0, d[args.predictor_accessor] ? d[args.predictor_accessor] : 0];
+ return Math.max.apply(null, trio);
+ });
+ return mx;
+}
+
+function mg_min_max_x_for_dates(mx) {
+ var yesterday = MG.clone(mx.min).setDate(mx.min.getDate() - 1);
+ var tomorrow = MG.clone(mx.min).setDate(mx.min.getDate() + 1);
+ mx.min = yesterday;
+ mx.max = tomorrow;
+}
+
+function mg_min_max_x_for_numbers(mx) {
+ // TODO do we want to rewrite this?
+ mx.min = mx.min - 1;
+ mx.max = mx.max + 1;
+}
+
+function mg_min_max_x_for_strings(mx) {
+ // TODO shouldn't be allowing strings here to be coerced into numbers
+ mx.min = Number(mx.min) - 1;
+ mx.max = Number(mx.max) + 1;
+}
+
+function mg_force_xax_count_to_be_two(args) {
+ args.xax_count = 2;
+}
+
+function mg_select_xax_format(args) {
+ var c = args.chart_type;
+ if (!args.processed.xax_format) {
+ if (args.xax_format) {
+ args.processed.xax_format = args.xax_format;
+ } else {
+ if (c === 'line' || c === 'point' || c === 'histogram') {
+ args.processed.xax_format = mg_default_xax_format(args);
+ } else if (c === 'bar') {
+ args.processed.xax_format = mg_default_bar_xax_format(args);
+ }
+ }
+ }
+}
+
+function mg_merge_args_with_defaults(args) {
+ var defaults = {
+ target: null,
+ title: null,
+ description: null
+ };
+
+ if (!args) {
+ args = {};
+ }
+
+ if (!args.processed) {
+ args.processed = {};
+ }
+
+ args = merge_with_defaults(args, defaults);
+ return args;
+}
+
+function mg_is_time_series(args) {
+ var first_elem = mg_flatten_array(args.processed.original_data || args.data)[0];
+ args.time_series = mg_is_date(first_elem[args.processed.original_x_accessor || args.x_accessor]);
+}
+
+function mg_init_compute_width(args) {
+ var svg_width = parseInt(args.width);
+ if (args.full_width) {
+ svg_width = get_width(args.target);
+ }
+ if (args.x_axis_type === 'categorical' && svg_width === null) {
+ svg_width = mg_categorical_calculate_height(args, 'x');
+ }
+
+ args.width = svg_width;
+}
+
+function mg_init_compute_height(args) {
+ var svg_height = parseInt(args.height);
+ if (args.full_height) {
+ svg_height = get_height(args.target);
+ }
+ if (args.y_axis_type === 'categorical' && svg_height === null) {
+ svg_height = mg_categorical_calculate_height(args, 'y');
+ }
+
+ args.height = svg_height;
+}
+
+function mg_remove_svg_if_chart_type_has_changed(svg, args) {
+ if (!svg.selectAll('.mg-main-line').empty() && args.chart_type !== 'line' || !svg.selectAll('.mg-points').empty() && args.chart_type !== 'point' || !svg.selectAll('.mg-histogram').empty() && args.chart_type !== 'histogram' || !svg.selectAll('.mg-barplot').empty() && args.chart_type !== 'bar') {
+ svg.remove();
+ }
+}
+
+function mg_add_svg_if_it_doesnt_exist(svg, args) {
+ if (mg_get_svg_child_of(args.target).empty()) {
+ svg = d3.select(args.target).append('svg').classed('linked', args.linked).attr('width', args.width).attr('height', args.height);
+ }
+ return svg;
+}
+
+function mg_add_clip_path_for_plot_area(svg, args) {
+ svg.selectAll('.mg-clip-path').remove();
+ svg.append('defs').attr('class', 'mg-clip-path').append('clipPath').attr('id', 'mg-plot-window-' + mg_target_ref(args.target)).append('svg:rect').attr('x', mg_get_left(args)).attr('y', mg_get_top(args)).attr('width', args.width - args.left - args.right - args.buffer).attr('height', args.height - args.top - args.bottom - args.buffer + 1);
+}
+
+function mg_adjust_width_and_height_if_changed(svg, args) {
+ if (args.width !== Number(svg.attr('width'))) {
+ svg.attr('width', args.width);
+ }
+ if (args.height !== Number(svg.attr('height'))) {
+ svg.attr('height', args.height);
+ }
+}
+
+function mg_set_viewbox_for_scaling(svg, args) {
+ // we need to reconsider how we handle automatic scaling
+ svg.attr('viewBox', '0 0 ' + args.width + ' ' + args.height);
+ if (args.full_width || args.full_height) {
+ svg.attr('preserveAspectRatio', 'xMinYMin meet');
+ }
+}
+
+function mg_remove_missing_classes_and_text(svg) {
+ // remove missing class
+ svg.classed('mg-missing', false);
+
+ // remove missing text
+ svg.selectAll('.mg-missing-text').remove();
+ svg.selectAll('.mg-missing-pane').remove();
+}
+
+function mg_remove_outdated_lines(svg, args) {
+ // if we're updating an existing chart and we have fewer lines than
+ // before, remove the outdated lines, e.g. if we had 3 lines, and we're calling
+ // data_graphic() on the same target with 2 lines, remove the 3rd line
+
+ var i = 0;
+
+ if (svg.selectAll('.mg-main-line').nodes().length >= args.data.length) {
+ // now, the thing is we can't just remove, say, line3 if we have a custom
+ // line-color map, instead, see which are the lines to be removed, and delete those
+ if (args.custom_line_color_map.length > 0) {
+ var array_full_series = function array_full_series(len) {
+ var arr = new Array(len);
+ for (var i = 0; i < arr.length; i++) {
+ arr[i] = i + 1;
+ }
+ return arr;
+ };
+
+ // get an array of lines ids to remove
+ var lines_to_remove = arr_diff(array_full_series(args.max_data_size), args.custom_line_color_map);
+
+ for (i = 0; i < lines_to_remove.length; i++) {
+ svg.selectAll('.mg-main-line.mg-line' + lines_to_remove[i] + '-color').remove();
+ }
+ } else {
+ // if we don't have a custom line-color map, just remove the lines from the end
+ var num_of_new = args.data.length;
+ var num_of_existing = svg.selectAll('.mg-main-line').nodes() ? svg.selectAll('.mg-main-line').nodes().length : 0;
+
+ for (i = num_of_existing; i > num_of_new; i--) {
+ svg.selectAll('.mg-main-line.mg-line' + i + '-color').remove();
+ }
+ }
+ }
+}
+
+function mg_raise_container_error(container, args) {
+ if (container.empty()) {
+ console.warn('The specified target element "' + args.target + '" could not be found in the page. The chart will not be rendered.');
+ return;
+ }
+}
+
+function categoricalInitialization(args, ns) {
+ var which = ns === 'x' ? args.width : args.height;
+ mg_categorical_count_number_of_groups(args, ns);
+ mg_categorical_count_number_of_lanes(args, ns);
+ mg_categorical_calculate_group_length(args, ns, which);
+ if (which) mg_categorical_calculate_bar_thickness(args, ns);
+}
+
+function selectXaxFormat(args) {
+ var c = args.chart_type;
+ if (!args.processed.xax_format) {
+ if (args.xax_format) {
+ args.processed.xax_format = args.xax_format;
+ } else {
+ if (c === 'line' || c === 'point' || c === 'histogram') {
+ args.processed.xax_format = mg_default_xax_format(args);
+ } else if (c === 'bar') {
+ args.processed.xax_format = mg_default_bar_xax_format(args);
+ }
+ }
+ }
+}
+
+function mg_categorical_count_number_of_groups(args, ns) {
+ var accessor_string = ns + 'group_accessor';
+ var accessor = args[accessor_string];
+ args.categorical_groups = [];
+ if (accessor) {
+ var data = args.data[0];
+ args.categorical_groups = d3.set(data.map(function (d) {
+ return d[accessor];
+ })).values();
+ }
+}
+
+function mg_categorical_count_number_of_lanes(args, ns) {
+ var accessor_string = ns + 'group_accessor';
+ var groupAccessor = args[accessor_string];
+
+ args.total_bars = args.data[0].length;
+ if (groupAccessor) {
+ var group_bars = count_array_elements(pluck(args.data[0], groupAccessor));
+ group_bars = d3.max(Object.keys(group_bars).map(function (d) {
+ return group_bars[d];
+ }));
+ args.bars_per_group = group_bars;
+ } else {
+ args.bars_per_group = args.data[0].length;
+ }
+}
+
+function mg_categorical_calculate_group_length(args, ns, which) {
+ var groupHeight = ns + 'group_height';
+ if (which) {
+ var gh = ns === 'y' ? (args.height - args.top - args.bottom - args.buffer * 2) / (args.categorical_groups.length || 1) : (args.width - args.left - args.right - args.buffer * 2) / (args.categorical_groups.length || 1);
+
+ args[groupHeight] = gh;
+ } else {
+ var step = (1 + args[ns + '_padding_percentage']) * args.bar_thickness;
+ args[groupHeight] = args.bars_per_group * step + args[ns + '_outer_padding_percentage'] * 2 * step; //args.bar_thickness + (((args.bars_per_group-1) * args.bar_thickness) * (args.bar_padding_percentage + args.bar_outer_padding_percentage*2));
+ }
+}
+
+function mg_categorical_calculate_bar_thickness(args, ns) {
+ // take one group height.
+ var step = args[ns + 'group_height'] / (args.bars_per_group + args[ns + '_outer_padding_percentage']);
+ args.bar_thickness = step - step * args[ns + '_padding_percentage'];
+}
+
+function mg_categorical_calculate_height(args, ns) {
+ var groupContribution = args[ns + 'group_height'] * (args.categorical_groups.length || 1);
+
+ var marginContribution = ns === 'y' ? args.top + args.bottom + args.buffer * 2 : args.left + args.right + args.buffer * 2;
+
+ return groupContribution + marginContribution + args.categorical_groups.length * args[ns + 'group_height'] * (args[ns + 'group_padding_percentage'] + args[ns + 'group_outer_padding_percentage']);
+}
+
+function mg_barchart_extrapolate_group_and_thickness_from_height(args) {
+ // we need to set args.bar_thickness, group_height
+}
+
+function init(args) {
+ 'use strict';
+
+ args = arguments[0];
+ args = mg_merge_args_with_defaults(args);
+ // If you pass in a dom element for args.target, the expectation
+ // of a string elsewhere will break.
+ var container = d3.select(args.target);
+ mg_raise_container_error(container, args);
+
+ var svg = container.selectAll('svg');
+
+ // some things that will need to be calculated if we have a categorical axis.
+ if (args.y_axis_type === 'categorical') {
+ categoricalInitialization(args, 'y');
+ }
+ if (args.x_axis_type === 'categorical') {
+ categoricalInitialization(args, 'x');
+ }
+
+ selectXaxFormat(args);
+
+ mg_is_time_series(args);
+ mg_init_compute_width(args);
+ mg_init_compute_height(args);
+
+ mg_remove_svg_if_chart_type_has_changed(svg, args);
+ svg = mg_add_svg_if_it_doesnt_exist(svg, args);
+
+ mg_add_clip_path_for_plot_area(svg, args);
+ mg_adjust_width_and_height_if_changed(svg, args);
+ mg_set_viewbox_for_scaling(svg, args);
+ mg_remove_missing_classes_and_text(svg);
+ chart_title(args);
+ mg_remove_outdated_lines(svg, args);
+
+ return this;
+}
+
+MG.init = init;
+
+function mg_return_label(d) {
+ return d.label;
+}
+
+function mg_remove_existing_markers(svg) {
+ svg.selectAll('.mg-markers').remove();
+ svg.selectAll('.mg-baselines').remove();
+}
+
+function mg_in_range(args) {
+ return function (d) {
+ return args.scales.X(d[args.x_accessor]) >= mg_get_plot_left(args) && args.scales.X(d[args.x_accessor]) <= mg_get_plot_right(args);
+ };
+}
+
+function mg_x_position(args) {
+ return function (d) {
+ return args.scales.X(d[args.x_accessor]);
+ };
+}
+
+function mg_x_position_fixed(args) {
+ var _mg_x_pos = mg_x_position(args);
+ return function (d) {
+ return _mg_x_pos(d).toFixed(2);
+ };
+}
+
+function mg_y_position_fixed(args) {
+ var _mg_y_pos = args.scales.Y;
+ return function (d) {
+ return _mg_y_pos(d.value).toFixed(2);
+ };
+}
+
+function mg_place_annotations(checker, class_name, args, svg, line_fcn, text_fcn) {
+ var g;
+ if (checker) {
+ g = svg.append('g').attr('class', class_name);
+ line_fcn(g, args);
+ text_fcn(g, args);
+ }
+}
+
+function mg_place_markers(args, svg) {
+ mg_place_annotations(args.markers, 'mg-markers', args, svg, mg_place_marker_lines, mg_place_marker_text);
+}
+
+function mg_place_baselines(args, svg) {
+ mg_place_annotations(args.baselines, 'mg-baselines', args, svg, mg_place_baseline_lines, mg_place_baseline_text);
+}
+
+function mg_place_marker_lines(gm, args) {
+ var x_pos_fixed = mg_x_position_fixed(args);
+ gm.selectAll('.mg-markers').data(args.markers.filter(mg_in_range(args))).enter().append('line').attr('x1', x_pos_fixed).attr('x2', x_pos_fixed).attr('y1', args.top).attr('y2', mg_get_plot_bottom(args)).attr('class', function (d) {
+ return d.lineclass;
+ }).attr('stroke-dasharray', '3,1');
+}
+
+function mg_place_marker_text(gm, args) {
+ gm.selectAll('.mg-markers').data(args.markers.filter(mg_in_range(args))).enter().append('text').attr('class', function (d) {
+ return d.textclass || '';
+ }).classed('mg-marker-text', true).attr('x', mg_x_position(args)).attr('y', args.x_axis_position === 'bottom' ? mg_get_top(args) * 0.95 : mg_get_bottom(args) + args.buffer).attr('text-anchor', 'middle').text(mg_return_label).each(function (d) {
+ if (d.click) {
+ d3.select(this).style('cursor', 'pointer').on('click', d.click);
+ }
+ if (d.mouseover) {
+ d3.select(this).style('cursor', 'pointer').on('mouseover', d.mouseover);
+ }
+ if (d.mouseout) {
+ d3.select(this).style('cursor', 'pointer').on('mouseout', d.mouseout);
+ }
+ });
+
+ mg_prevent_horizontal_overlap(gm.selectAll('.mg-marker-text').nodes(), args);
+}
+
+function mg_place_baseline_lines(gb, args) {
+ var y_pos = mg_y_position_fixed(args);
+ gb.selectAll('.mg-baselines').data(args.baselines).enter().append('line').attr('x1', mg_get_plot_left(args)).attr('x2', mg_get_plot_right(args)).attr('y1', y_pos).attr('y2', y_pos);
+}
+
+function mg_place_baseline_text(gb, args) {
+ var y_pos = mg_y_position_fixed(args);
+ gb.selectAll('.mg-baselines').data(args.baselines).enter().append('text').attr('x', mg_get_plot_right(args)).attr('y', y_pos).attr('dy', -3).attr('text-anchor', 'end').text(mg_return_label);
+}
+
+function markers(args) {
+ 'use strict';
+
+ var svg = mg_get_svg_child_of(args.target);
+ mg_remove_existing_markers(svg);
+ mg_place_markers(args, svg);
+ mg_place_baselines(args, svg);
+ return this;
+}
+
+MG.markers = markers;
+
+function mg_clear_mouseover_container(svg) {
+ svg.selectAll('.mg-active-datapoint-container').selectAll('*').remove();
+}
+
+function mg_setup_mouseover_container(svg, args) {
+ svg.select('.mg-active-datapoint').remove();
+ var text_anchor = args.mouseover_align === 'right' ? 'end' : args.mouseover_align === 'left' ? 'start' : 'middle';
+
+ var mouseover_x = args.mouseover_align === 'right' ? mg_get_plot_right(args) : args.mouseover_align === 'left' ? mg_get_plot_left(args) : (args.width - args.left - args.right) / 2 + args.left;
+
+ var active_datapoint = svg.select('.mg-active-datapoint-container').append('text').attr('class', 'mg-active-datapoint').attr('xml:space', 'preserve').attr('text-anchor', text_anchor);
+
+ // set the rollover text's position; if we have markers on two lines,
+ // nudge up the rollover text a bit
+ var active_datapoint_y_nudge = 0.75;
+
+ var y_position = args.x_axis_position === 'bottom' ? mg_get_top(args) * active_datapoint_y_nudge : mg_get_bottom(args) + args.buffer * 3;
+
+ if (args.markers) {
+ var yPos;
+ svg.selectAll('.mg-marker-text').each(function () {
+ if (!yPos) {
+ yPos = d3.select(this).attr('y');
+ } else if (yPos !== d3.select(this).attr('y')) {
+ active_datapoint_y_nudge = 0.56;
+ }
+ });
+ }
+
+ active_datapoint.attr('transform', 'translate(' + mouseover_x + ',' + y_position + ')');
+}
+
+function mg_mouseover_tspan(svg, text) {
+ var tspan = svg.append('tspan').text(text);
+
+ return {
+ bold: function bold() {
+ return tspan.attr('font-weight', 'bold');
+ },
+ font_size: function font_size(pts) {
+ return tspan.attr('font-size', pts);
+ },
+ x: function x(_x2) {
+ return tspan.attr('x', _x2);
+ },
+ y: function y(_y2) {
+ return tspan.attr('y', _y2);
+ },
+ elem: tspan
+ };
+}
+
+function mg_reset_text_container(svg) {
+ var textContainer = svg.select('.mg-active-datapoint');
+ textContainer.selectAll('*').remove();
+ return textContainer;
+}
+
+function mg_mouseover_row(row_number, container, rargs) {
+ var lineHeight = 1.1;
+ var rrr = container.append('tspan').attr('x', 0).attr('y', row_number * lineHeight + 'em');
+
+ return {
+ rargs: rargs,
+ text: function text(_text) {
+ return mg_mouseover_tspan(rrr, _text);
+ }
+ };
+}
+
+function mg_mouseover_text(args, rargs) {
+ mg_setup_mouseover_container(rargs.svg, args);
+
+ var mouseOver = {
+ row_number: 0,
+ rargs: rargs,
+ mouseover_row: function mouseover_row(rargs) {
+ mouseOver.row_number += 1;
+ return mg_mouseover_row(mouseOver.row_number, mouseOver.text_container, rargs);
+ },
+ text_container: mg_reset_text_container(rargs.svg)
+ };
+
+ return mouseOver;
+}
+
+{
+
+ var filter_in_range_data = function filter_in_range_data(args, range) {
+ var is_data_in_range = function is_data_in_range(data, range) {
+ return data > Math.min(range[0], range[1]) && data < Math.max(range[0], range[1]);
+ };
+ // if range without this axis return true, else judge is data in range or not.
+ return function (d) {
+ return ['x', 'y'].every(function (dim) {
+ return !(dim in range) || is_data_in_range(d[args[dim + '_accessor']], range[dim]);
+ });
+ };
+ };
+
+ // the range here is the range of data
+ // range is an object with two optional attributes of x,y, respectively represent ranges on two axes
+ var zoom_to_data_domain = function zoom_to_data_domain(args, range) {
+ var raw_data = args.processed.raw_data || args.data;
+ // store raw data and raw domain to in order to zoom back to the initial state
+ if (!('raw_data' in args.processed)) {
+ args.processed.raw_domain = {
+ x: args.scales.X.domain(),
+ y: args.scales.Y.domain()
+ };
+ args.processed.raw_data = raw_data;
+ }
+ // to avoid drawing outside the chart in the point chart, unnecessary in line chart.
+ if (args.chart_type === 'point') {
+ if (is_array_of_arrays(raw_data)) {
+ args.data = raw_data.map(function (d) {
+ return d.filter(filter_in_range_data(args, range));
+ });
+ } else {
+ args.data = raw_data.filter(filter_in_range_data(args, range));
+ }
+ }
+ ['x', 'y'].forEach(function (dim) {
+ if (dim in range) args.processed['zoom_' + dim] = range[dim];else delete args.processed['zoom_' + dim];
+ });
+ if (args.processed.subplot) {
+ if (range !== args.processed.raw_domain) {
+ MG.create_brushing_pattern(args.processed.subplot, convert_domain_to_range(args.processed.subplot, range));
+ } else {
+ MG.remove_brushing_pattern(args.processed.subplot);
+ }
+ }
+ new MG.charts[args.chart_type || defaults.chart_type].descriptor(args);
+ };
+
+ var zoom_to_raw_range = function zoom_to_raw_range(args) {
+ if (!('raw_domain' in args.processed)) return;
+ zoom_to_data_domain(args, args.processed.raw_domain);
+ delete args.processed.raw_domain;
+ delete args.processed.raw_data;
+ };
+
+ // converts the range of selection into the range of data that we can use to
+ // zoom the chart to a particular region
+ var convert_range_to_domain = function convert_range_to_domain(args, range) {
+ return ['x', 'y'].reduce(function (domain, dim) {
+ if (!(dim in range)) return domain;
+ domain[dim] = range[dim].map(function (v) {
+ return +args.scales[dim.toUpperCase()].invert(v);
+ });
+ if (dim === 'y') domain[dim].reverse();
+ return domain;
+ }, {});
+ };
+
+ var convert_domain_to_range = function convert_domain_to_range(args, domain) {
+ return ['x', 'y'].reduce(function (range, dim) {
+ if (!(dim in domain)) return range;
+ range[dim] = domain[dim].map(function (v) {
+ return +args.scales[dim.toUpperCase()](v);
+ });
+ if (dim === 'y') range[dim].reverse();
+ return range;
+ }, {});
+ };
+
+ // the range here is the range of selection
+ var zoom_to_data_range = function zoom_to_data_range(args, range) {
+ var domain = convert_range_to_domain(args, range);
+ zoom_to_data_domain(args, domain);
+ };
+
+ MG.convert_range_to_domain = convert_range_to_domain;
+ MG.zoom_to_data_domain = zoom_to_data_domain;
+ MG.zoom_to_data_range = zoom_to_data_range;
+ MG.zoom_to_raw_range = zoom_to_raw_range;
+}
+
+{
+
+ var get_extent_rect = function get_extent_rect(args) {
+ return d3.select(args.target).select('.mg-extent').size() ? d3.select(args.target).select('.mg-extent') : d3.select(args.target).select('.mg-rollover-rect, .mg-voronoi').insert('g', '*').classed('mg-brush', true).append('rect').classed('mg-extent', true);
+ };
+
+ var create_brushing_pattern = function create_brushing_pattern(args, range) {
+ var x = range.x[0];
+ var width = range.x[1] - range.x[0];
+ var y = range.y[0];
+ var height = range.y[1] - range.y[0];
+ get_extent_rect(args).attr('x', x).attr('width', width).attr('y', y).attr('height', height).attr('opacity', 1);
+ };
+
+ var remove_brushing_pattern = function remove_brushing_pattern(args) {
+ get_extent_rect(args).attr('width', 0).attr('height', 0).attr('opacity', 0);
+ };
+
+ var add_event_handler_for_brush = function add_event_handler_for_brush(args, target, axis) {
+ var svg = d3.select(args.target).select('svg');
+ var rollover = svg.select('.mg-rollover-rect, .mg-voronoi');
+ var container = rollover.node();
+ var isDragging = false;
+ var mouseDown = false;
+ var origin = [];
+
+ var calculateSelectionRange = function calculateSelectionRange() {
+ var min_x = args.left;
+ var max_x = args.width - args.right - args.buffer;
+ var min_y = args.top;
+ var max_y = args.height - args.bottom - args.buffer;
+ var mouse = d3.mouse(container);
+ var range = {};
+ range.x = axis.x ? [Math.max(min_x, Math.min(origin[0], mouse[0])), Math.min(max_x, Math.max(origin[0], mouse[0]))] : [min_x, max_x];
+ range.y = axis.y ? [Math.max(min_y, Math.min(origin[1], mouse[1])), Math.min(max_y, Math.max(origin[1], mouse[1]))] : [min_y, max_y];
+ return range;
+ };
+
+ rollover.classed('mg-brush-container', true);
+ rollover.on('mousedown.' + args.target, function () {
+ mouseDown = true;
+ isDragging = false;
+ origin = d3.mouse(container);
+ svg.classed('mg-brushed', false);
+ svg.classed('mg-brushing-in-progress', true);
+ remove_brushing_pattern(args);
+ });
+ d3.select(document).on('mousemove.' + args.target, function () {
+ if (mouseDown) {
+ isDragging = true;
+ rollover.classed('mg-brushing', true);
+ create_brushing_pattern(args, calculateSelectionRange());
+ }
+ });
+ d3.select(document).on('mouseup.' + args.target, function () {
+ if (!mouseDown) return;
+ mouseDown = false;
+ svg.classed('mg-brushing-in-progress', false);
+ var range = calculateSelectionRange();
+ if (isDragging) {
+ isDragging = false;
+ if (target === args) {
+ MG.zoom_to_data_range(target, range);
+ svg.select('.mg-rollover-rect, .mg-voronoi').classed('mg-brushed', true);
+ } else {
+ var domain = MG.convert_range_to_domain(args, range);
+ MG.zoom_to_data_domain(target, domain);
+ }
+ } else {
+ MG.zoom_to_raw_range(target);
+ }
+ if (mg_is_function(args.brushing_selection_changed)) args.brushing_selection_changed(args, range);
+ });
+ };
+
+ var add_brush_function = function add_brush_function(args) {
+ if (args.x_axis_type === 'categorical' || args.y_axis_type === 'categorical') return console.warn('The option "brush" does not support axis type "categorical" currently.');
+ if (!args.zoom_target) args.zoom_target = args;
+ if (args.zoom_target !== args) args.zoom_target.processed.subplot = args;
+ var brush_axis = void 0;
+ switch (args.brush) {
+ case 'x':
+ brush_axis = { x: true, y: false };
+ break;
+ case 'y':
+ brush_axis = { x: false, y: true };
+ break;
+ case 'xy':
+ brush_axis = { x: true, y: true };
+ break;
+ default:
+ brush_axis = { x: true, y: true };
+ }
+ add_event_handler_for_brush(args, args.zoom_target, brush_axis);
+ };
+
+ MG.add_brush_function = add_brush_function;
+ MG.create_brushing_pattern = create_brushing_pattern;
+ MG.remove_brushing_pattern = remove_brushing_pattern;
+}
+
+function MG_WindowResizeTracker() {
+ var targets = [];
+
+ var Observer;
+ if (typeof MutationObserver !== "undefined") {
+ Observer = MutationObserver;
+ } else if (typeof WebKitMutationObserver !== "undefined") {
+ Observer = WebKitMutationObserver;
+ }
+
+ function window_listener() {
+ targets.forEach(function (target) {
+ var svg = d3.select(target).select('svg');
+
+ // skip if svg is not visible
+ if (!svg.empty() && (svg.node().parentNode.offsetWidth > 0 || svg.node().parentNode.offsetHeight > 0)) {
+ var aspect = svg.attr('width') !== 0 ? svg.attr('height') / svg.attr('width') : 0;
+
+ var newWidth = get_width(target);
+
+ svg.attr('width', newWidth);
+ svg.attr('height', aspect * newWidth);
+ }
+ });
+ }
+
+ function remove_target(target) {
+ var index = targets.indexOf(target);
+ if (index !== -1) {
+ targets.splice(index, 1);
+ }
+
+ if (targets.length === 0) {
+ window.removeEventListener('resize', window_listener, true);
+ }
+ }
+
+ return {
+ add_target: function add_target(target) {
+ if (targets.length === 0) {
+ window.addEventListener('resize', window_listener, true);
+ }
+
+ if (targets.indexOf(target) === -1) {
+ targets.push(target);
+
+ if (Observer) {
+ var observer = new Observer(function (mutations) {
+ var targetNode = d3.select(target).node();
+
+ if (!targetNode || mutations.some(function (mutation) {
+ for (var i = 0; i < mutation.removedNodes.length; i++) {
+ if (mutation.removedNodes[i] === targetNode) {
+ return true;
+ }
+ }
+ })) {
+ observer.disconnect();
+ remove_target(target);
+ }
+ });
+
+ observer.observe(d3.select(target).node().parentNode, { childList: true });
+ }
+ }
+ }
+ };
+}
+
+var mg_window_resize_tracker = new MG_WindowResizeTracker();
+
+function mg_window_listeners(args) {
+ mg_if_aspect_ratio_resize_svg(args);
+}
+
+function mg_if_aspect_ratio_resize_svg(args) {
+ // have we asked the svg to fill a div, if so resize with div
+ if (args.full_width || args.full_height) {
+ mg_window_resize_tracker.add_target(args.target);
+ }
+}
+
+if (mg_jquery_exists()) {
+ /*!
+ * Bootstrap v3.3.1 (http://getbootstrap.com)
+ * Copyright 2011-2014 Twitter, Inc.
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ */
+
+ /*!
+ * Generated using the Bootstrap Customizer (http://getbootstrap.com/customize/?id=c3834cc5b59ef727da53)
+ * Config saved to config.json and https://gist.github.com/c3834cc5b59ef727da53
+ */
+
+ /* ========================================================================
+ * Bootstrap: dropdown.js v3.3.1
+ * http://getbootstrap.com/javascript/#dropdowns
+ * ========================================================================
+ * Copyright 2011-2014 Twitter, Inc.
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * ======================================================================== */
+
+ +function ($) {
+ 'use strict';
+
+ if (typeof $().dropdown == 'function') return true;
+
+ // DROPDOWN CLASS DEFINITION
+ // =========================
+
+ var backdrop = '.dropdown-backdrop';
+ var toggle = '[data-toggle="dropdown"]';
+ var Dropdown = function Dropdown(element) {
+ $(element).on('click.bs.dropdown', this.toggle);
+ };
+
+ Dropdown.VERSION = '3.3.1';
+
+ Dropdown.prototype.toggle = function (e) {
+ var $this = $(this);
+
+ if ($this.is('.disabled, :disabled')) return;
+
+ var $parent = getParent($this);
+ var isActive = $parent.hasClass('open');
+
+ clearMenus();
+
+ if (!isActive) {
+ if ('ontouchstart' in document.documentElement && !$parent.closest('.navbar-nav').length) {
+ // if mobile we use a backdrop because click events don't delegate
+ $('<div class="dropdown-backdrop"/>').insertAfter($(this)).on('click', clearMenus);
+ }
+
+ var relatedTarget = { relatedTarget: this };
+ $parent.trigger(e = $.Event('show.bs.dropdown', relatedTarget));
+
+ if (e.isDefaultPrevented()) return;
+
+ $this.trigger('focus').attr('aria-expanded', 'true');
+
+ $parent.toggleClass('open').trigger('shown.bs.dropdown', relatedTarget);
+ }
+
+ return false;
+ };
+
+ Dropdown.prototype.keydown = function (e) {
+ if (!/(38|40|27|32)/.test(e.which) || /input|textarea/i.test(e.target.tagName)) return;
+
+ var $this = $(this);
+
+ e.preventDefault();
+ e.stopPropagation();
+
+ if ($this.is('.disabled, :disabled')) return;
+
+ var $parent = getParent($this);
+ var isActive = $parent.hasClass('open');
+
+ if (!isActive && e.which != 27 || isActive && e.which == 27) {
+ if (e.which == 27) $parent.find(toggle).trigger('focus');
+ return $this.trigger('click');
+ }
+
+ var desc = ' li:not(.divider):visible a';
+ var $items = $parent.find('[role="menu"]' + desc + ', [role="listbox"]' + desc);
+
+ if (!$items.length) return;
+
+ var index = $items.index(e.target);
+
+ if (e.which == 38 && index > 0) index--; // up
+ if (e.which == 40 && index < $items.length - 1) index++; // down
+ if (!~index) index = 0;
+
+ $items.eq(index).trigger('focus');
+ };
+
+ function clearMenus(e) {
+ if (e && e.which === 3) return;
+ $(backdrop).remove();
+ $(toggle).each(function () {
+ var $this = $(this);
+ var $parent = getParent($this);
+ var relatedTarget = { relatedTarget: this };
+
+ if (!$parent.hasClass('open')) return;
+
+ $parent.trigger(e = $.Event('hide.bs.dropdown', relatedTarget));
+
+ if (e.isDefaultPrevented()) return;
+
+ $this.attr('aria-expanded', 'false');
+ $parent.removeClass('open').trigger('hidden.bs.dropdown', relatedTarget);
+ });
+ }
+
+ function getParent($this) {
+ var selector = $this.attr('data-target');
+
+ if (!selector) {
+ selector = $this.attr('href');
+ selector = selector && /#[A-Za-z]/.test(selector) && selector.replace(/.*(?=#[^\s]*$)/, ''); // strip for ie7
+ }
+
+ var $parent = selector && $(selector);
+
+ return $parent && $parent.length ? $parent : $this.parent();
+ }
+
+ // DROPDOWN PLUGIN DEFINITION
+ // ==========================
+
+ function Plugin(option) {
+ return this.each(function () {
+ var $this = $(this);
+ var data = $this.data('bs.dropdown');
+
+ if (!data) $this.data('bs.dropdown', data = new Dropdown(this));
+ if (typeof option == 'string') data[option].call($this);
+ });
+ }
+
+ var old = $.fn.dropdown;
+
+ $.fn.dropdown = Plugin;
+ $.fn.dropdown.Constructor = Dropdown;
+
+ // DROPDOWN NO CONFLICT
+ // ====================
+
+ $.fn.dropdown.noConflict = function () {
+ $.fn.dropdown = old;
+ return this;
+ };
+
+ // APPLY TO STANDARD DROPDOWN ELEMENTS
+ // ===================================
+
+ $(document).on('click.bs.dropdown.data-api', clearMenus).on('click.bs.dropdown.data-api', '.dropdown form', function (e) {
+ e.stopPropagation();
+ }).on('click.bs.dropdown.data-api', toggle, Dropdown.prototype.toggle).on('keydown.bs.dropdown.data-api', toggle, Dropdown.prototype.keydown).on('keydown.bs.dropdown.data-api', '[role="menu"]', Dropdown.prototype.keydown).on('keydown.bs.dropdown.data-api', '[role="listbox"]', Dropdown.prototype.keydown);
+ }(jQuery);
+}
+
+MG.button_layout = function (target) {
+ 'use strict';
+
+ this.target = target;
+ this.feature_set = {};
+ this.public_name = {};
+ this.sorters = {};
+ this.manual = [];
+ this.manual_map = {};
+ this.manual_callback = {};
+
+ this._strip_punctuation = function (s) {
+ var punctuationless = s.replace(/[^a-zA-Z0-9 _]+/g, '');
+ var finalString = punctuationless.replace(/ +?/g, '');
+ return finalString;
+ };
+
+ this.data = function (data) {
+ this._data = data;
+ return this;
+ };
+
+ this.manual_button = function (feature, feature_set, callback) {
+ this.feature_set[feature] = feature_set;
+ this.manual_map[this._strip_punctuation(feature)] = feature;
+ this.manual_callback[feature] = callback; // the default is going to be the first feature.
+ return this;
+ };
+
+ this.button = function (feature) {
+ if (arguments.length > 1) {
+ this.public_name[feature] = arguments[1];
+ }
+
+ if (arguments.length > 2) {
+ this.sorters[feature] = arguments[2];
+ }
+
+ this.feature_set[feature] = [];
+ return this;
+ };
+
+ this.callback = function (callback) {
+ this._callback = callback;
+ return this;
+ };
+
+ this.display = function () {
+ var callback = this._callback;
+ var manual_callback = this.manual_callback;
+ var manual_map = this.manual_map;
+
+ var d, f, features, feat;
+ features = Object.keys(this.feature_set);
+
+ var mapDtoF = function mapDtoF(f) {
+ return d[f];
+ };
+
+ var i;
+
+ // build out this.feature_set with this.data
+ for (i = 0; i < this._data.length; i++) {
+ d = this._data[i];
+ f = features.map(mapDtoF);
+ for (var j = 0; j < features.length; j++) {
+ feat = features[j];
+ if (this.feature_set[feat].indexOf(f[j]) === -1) {
+ this.feature_set[feat].push(f[j]);
+ }
+ }
+ }
+
+ for (feat in this.feature_set) {
+ if (this.sorters.hasOwnProperty(feat)) {
+ this.feature_set[feat].sort(this.sorters[feat]);
+ }
+ }
+
+ $(this.target).empty();
+
+ $(this.target).append("<div class='col-lg-12 segments text-center'></div>");
+
+ var dropdownLiAClick = function dropdownLiAClick() {
+ var k = $(this).data('key');
+ var feature = $(this).data('feature');
+ var manual_feature;
+ $('.' + feature + '-btns button.btn span.title').html(k);
+ if (!manual_map.hasOwnProperty(feature)) {
+ callback(feature, k);
+ } else {
+ manual_feature = manual_map[feature];
+ manual_callback[manual_feature](k);
+ }
+
+ return false;
+ };
+
+ for (var feature in this.feature_set) {
+ features = this.feature_set[feature];
+ $(this.target + ' div.segments').append('<div class="btn-group ' + this._strip_punctuation(feature) + '-btns text-left">' + // This never changes.
+ '<button type="button" class="btn btn-default btn-lg dropdown-toggle" data-toggle="dropdown">' + "<span class='which-button'>" + (this.public_name.hasOwnProperty(feature) ? this.public_name[feature] : feature) + "</span>" + "<span class='title'>" + (this.manual_callback.hasOwnProperty(feature) ? this.feature_set[feature][0] : 'all') + "</span>" + // if a manual button, don't default to all in label.
+ '<span class="caret"></span>' + '</button>' + '<ul class="dropdown-menu" role="menu">' + (!this.manual_callback.hasOwnProperty(feature) ? '<li><a href="#" data-feature="' + feature + '" data-key="all">All</a></li>' : "") + (!this.manual_callback.hasOwnProperty(feature) ? '<li class="divider"></li>' : "") + '</ul>' + '</div>');
+
+ for (i = 0; i < features.length; i++) {
+ if (features[i] !== 'all' && features[i] !== undefined) {
+ // strange bug with undefined being added to manual buttons.
+ $(this.target + ' div.' + this._strip_punctuation(feature) + '-btns ul.dropdown-menu').append('<li><a href="#" data-feature="' + this._strip_punctuation(feature) + '" data-key="' + features[i] + '">' + features[i] + '</a></li>');
+ }
+ }
+
+ $('.' + this._strip_punctuation(feature) + '-btns .dropdown-menu li a').on('click', dropdownLiAClick);
+ }
+
+ return this;
+ };
+
+ return this;
+};
+
+{
+ var mg_line_color_text = function mg_line_color_text(elem, _ref, _ref2) {
+ var line_id = _ref.line_id;
+ var color = _ref2.color,
+ colors = _ref2.colors;
+
+ elem.classed('mg-hover-line-color', color === null).classed('mg-hover-line' + line_id + '-color', colors === null).attr('fill', colors === null ? '' : colors[line_id - 1]);
+ };
+
+ var mg_line_graph_generators = function mg_line_graph_generators(args, plot, svg) {
+ mg_add_line_generator(args, plot);
+ mg_add_area_generator(args, plot);
+ mg_add_flat_line_generator(args, plot);
+ mg_add_confidence_band_generator(args, plot, svg);
+ };
+
+ var mg_add_confidence_band_generator = function mg_add_confidence_band_generator(args, plot, svg) {
+ plot.existing_band = svg.selectAll('.mg-confidence-band').nodes();
+ if (args.show_confidence_band) {
+ plot.confidence_area = d3.area().defined(plot.line.defined()).x(args.scalefns.xf).y0(function (d) {
+ var l = args.show_confidence_band[0];
+ if (d[l] != undefined) {
+ return args.scales.Y(d[l]);
+ } else {
+ return args.scales.Y(d[args.y_accessor]);
+ }
+ }).y1(function (d) {
+ var u = args.show_confidence_band[1];
+ if (d[u] != undefined) {
+ return args.scales.Y(d[u]);
+ } else {
+ return args.scales.Y(d[args.y_accessor]);
+ }
+ }).curve(args.interpolate);
+ }
+ };
+
+ var mg_add_area_generator = function mg_add_area_generator(_ref3, plot) {
+ var scalefns = _ref3.scalefns,
+ scales = _ref3.scales,
+ interpolate = _ref3.interpolate,
+ flip_area_under_y_value = _ref3.flip_area_under_y_value;
+
+
+ var areaBaselineValue = Number.isFinite(flip_area_under_y_value) ? scales.Y(flip_area_under_y_value) : scales.Y.range()[0];
+
+ plot.area = d3.area().defined(plot.line.defined()).x(scalefns.xf).y0(function () {
+ return areaBaselineValue;
+ }).y1(scalefns.yf).curve(interpolate);
+ };
+
+ var mg_add_flat_line_generator = function mg_add_flat_line_generator(_ref4, plot) {
+ var y_accessor = _ref4.y_accessor,
+ scalefns = _ref4.scalefns,
+ scales = _ref4.scales,
+ interpolate = _ref4.interpolate;
+
+ plot.flat_line = d3.line().defined(function (d) {
+ return (d['_missing'] === undefined || d['_missing'] !== true) && d[y_accessor] !== null;
+ }).x(scalefns.xf).y(function () {
+ return scales.Y(plot.data_median);
+ }).curve(interpolate);
+ };
+
+ var mg_add_line_generator = function mg_add_line_generator(_ref5, plot) {
+ var scalefns = _ref5.scalefns,
+ interpolate = _ref5.interpolate,
+ missing_is_zero = _ref5.missing_is_zero,
+ y_accessor = _ref5.y_accessor;
+
+ plot.line = d3.line().x(scalefns.xf).y(scalefns.yf).curve(interpolate);
+
+ // if missing_is_zero is not set, then hide data points that fall in missing
+ // data ranges or that have been explicitly identified as missing in the
+ // data source.
+ if (!missing_is_zero) {
+ // a line is defined if the _missing attrib is not set to true
+ // and the y-accessor is not null
+ plot.line = plot.line.defined(function (d) {
+ return (d['_missing'] === undefined || d['_missing'] !== true) && d[y_accessor] !== null;
+ });
+ }
+ };
+
+ var mg_add_confidence_band = function mg_add_confidence_band(_ref6, plot, svg, which_line) {
+ var show_confidence_band = _ref6.show_confidence_band,
+ transition_on_update = _ref6.transition_on_update,
+ data = _ref6.data,
+ target = _ref6.target;
+
+ if (show_confidence_band) {
+ var confidenceBand = void 0;
+ if (svg.select('.mg-confidence-band-' + which_line).empty()) {
+ svg.append('path').attr('class', 'mg-confidence-band mg-confidence-band-' + which_line);
+ }
+
+ // transition this line's confidence band
+ confidenceBand = svg.select('.mg-confidence-band-' + which_line);
+
+ confidenceBand.transition().duration(function () {
+ return transition_on_update ? 1000 : 0;
+ }).attr('d', plot.confidence_area(data[which_line - 1])).attr('clip-path', 'url(#mg-plot-window-' + mg_target_ref(target) + ')');
+ }
+ };
+
+ var mg_add_area = function mg_add_area(_ref7, plot, svg, which_line, line_id) {
+ var data = _ref7.data,
+ target = _ref7.target,
+ colors = _ref7.colors;
+
+ var areas = svg.selectAll('.mg-main-area.mg-area' + line_id);
+ if (plot.display_area) {
+ // if area already exists, transition it
+ if (!areas.empty()) {
+ svg.node().appendChild(areas.node());
+
+ areas.transition().duration(plot.update_transition_duration).attr('d', plot.area(data[which_line])).attr('clip-path', 'url(#mg-plot-window-' + mg_target_ref(target) + ')');
+ } else {
+ // otherwise, add the area
+ svg.append('path').classed('mg-main-area', true).classed('mg-area' + line_id, true).classed('mg-area-color', colors === null).classed('mg-area' + line_id + '-color', colors === null).attr('d', plot.area(data[which_line])).attr('fill', colors === null ? '' : colors[line_id - 1]).attr('clip-path', 'url(#mg-plot-window-' + mg_target_ref(target) + ')');
+ }
+ } else if (!areas.empty()) {
+ areas.remove();
+ }
+ };
+
+ var mg_default_color_for_path = function mg_default_color_for_path(this_path, line_id) {
+ this_path.classed('mg-line-color', true).classed('mg-line' + line_id + '-color', true);
+ };
+
+ var mg_color_line = function mg_color_line(_ref8, this_path, which_line, line_id) {
+ var colors = _ref8.colors;
+
+ if (colors) {
+ // for now, if args.colors is not an array, then keep moving as if nothing happened.
+ // if args.colors is not long enough, default to the usual line_id color.
+ if (colors.constructor === Array) {
+ this_path.attr('stroke', colors[which_line]);
+ if (colors.length < which_line + 1) {
+ // Go with default coloring.
+ // this_path.classed('mg-line' + (line_id) + '-color', true);
+ mg_default_color_for_path(this_path, line_id);
+ }
+ } else {
+ // this_path.classed('mg-line' + (line_id) + '-color', true);
+ mg_default_color_for_path(this_path, line_id);
+ }
+ } else {
+ // this is the typical workflow
+ // this_path.classed('mg-line' + (line_id) + '-color', true);
+ mg_default_color_for_path(this_path, line_id);
+ }
+ };
+
+ var mg_add_line_element = function mg_add_line_element(_ref9, plot, this_path, which_line) {
+ var animate_on_load = _ref9.animate_on_load,
+ data = _ref9.data,
+ y_accessor = _ref9.y_accessor,
+ target = _ref9.target;
+
+ if (animate_on_load) {
+ plot.data_median = d3.median(data[which_line], function (d) {
+ return d[y_accessor];
+ });
+ this_path.attr('d', plot.flat_line(data[which_line])).transition().duration(1000).attr('d', plot.line(data[which_line])).attr('clip-path', 'url(#mg-plot-window-' + mg_target_ref(target) + ')');
+ } else {
+ // or just add the line
+ this_path.attr('d', plot.line(data[which_line])).attr('clip-path', 'url(#mg-plot-window-' + mg_target_ref(target) + ')');
+ }
+ };
+
+ var mg_add_line = function mg_add_line(args, plot, svg, existing_line, which_line, line_id) {
+ if (!existing_line.empty()) {
+ svg.node().appendChild(existing_line.node());
+
+ var lineTransition = existing_line.transition().duration(plot.update_transition_duration);
+
+ if (!plot.display_area && args.transition_on_update && !args.missing_is_hidden) {
+ lineTransition.attrTween('d', path_tween(plot.line(args.data[which_line]), 4));
+ } else {
+ lineTransition.attr('d', plot.line(args.data[which_line]));
+ }
+ } else {
+ // otherwise...
+ // if we're animating on load, animate the line from its median value
+ var this_path = svg.append('path').attr('class', 'mg-main-line mg-line' + line_id);
+
+ mg_color_line(args, this_path, which_line, line_id);
+ mg_add_line_element(args, plot, this_path, which_line);
+ }
+ };
+
+ var mg_add_legend_element = function mg_add_legend_element(args, plot, which_line, line_id) {
+ var this_legend = void 0;
+ if (args.legend) {
+ if (is_array(args.legend)) {
+ this_legend = args.legend[which_line];
+ } else if (is_function(args.legend)) {
+ this_legend = args.legend(args.data[which_line]);
+ }
+
+ if (args.legend_target) {
+ if (args.colors && args.colors.constructor === Array) {
+ plot.legend_text = '<span style=\'color:' + args.colors[which_line] + '\'>&mdash; ' + this_legend + '&nbsp; </span>' + plot.legend_text;
+ } else {
+ plot.legend_text = '<span class=\'mg-line' + line_id + '-legend-color\'>&mdash; ' + this_legend + '&nbsp; </span>' + plot.legend_text;
+ }
+ } else {
+ var anchor_point = void 0,
+ anchor_orientation = void 0,
+ dx = void 0;
+
+ if (args.y_axis_position === 'left') {
+ anchor_point = args.data[which_line][args.data[which_line].length - 1];
+ anchor_orientation = 'start';
+ dx = args.buffer;
+ } else {
+ anchor_point = args.data[which_line][0];
+ anchor_orientation = 'end';
+ dx = -args.buffer;
+ }
+ var legend_text = plot.legend_group.append('svg:text').attr('x', args.scalefns.xf(anchor_point)).attr('dx', dx).attr('y', args.scalefns.yf(anchor_point)).attr('dy', '.35em').attr('font-size', 10).attr('text-anchor', anchor_orientation).attr('font-weight', '300').text(this_legend);
+
+ if (args.colors && args.colors.constructor === Array) {
+ if (args.colors.length < which_line + 1) {
+ legend_text.classed('mg-line' + line_id + '-legend-color', true);
+ } else {
+ legend_text.attr('fill', args.colors[which_line]);
+ }
+ } else {
+ legend_text.classed('mg-line-legend-color', true).classed('mg-line' + line_id + '-legend-color', true);
+ }
+
+ mg_prevent_vertical_overlap(plot.legend_group.selectAll('.mg-line-legend text').nodes(), args);
+ }
+ }
+ };
+
+ var mg_plot_legend_if_legend_target = function mg_plot_legend_if_legend_target(target, legend) {
+ if (target) d3.select(target).html(legend);
+ };
+
+ var mg_add_legend_group = function mg_add_legend_group(_ref10, plot, svg) {
+ var legend = _ref10.legend;
+
+ if (legend) plot.legend_group = mg_add_g(svg, 'mg-line-legend');
+ };
+
+ var mg_remove_existing_line_rollover_elements = function mg_remove_existing_line_rollover_elements(svg) {
+ // remove the old rollovers if they already exist
+ mg_selectAll_and_remove(svg, '.mg-rollover-rect');
+ mg_selectAll_and_remove(svg, '.mg-voronoi');
+
+ // remove the old rollover text and circle if they already exist
+ mg_selectAll_and_remove(svg, '.mg-active-datapoint');
+ mg_selectAll_and_remove(svg, '.mg-line-rollover-circle');
+ //mg_selectAll_and_remove(svg, '.mg-active-datapoint-container');
+ };
+
+ var mg_add_rollover_circle = function mg_add_rollover_circle(_ref11, svg) {
+ var data = _ref11.data,
+ colors = _ref11.colors;
+
+ // append circle
+ var circle = svg.selectAll('.mg-line-rollover-circle').data(data).enter().append('circle').attr('cx', 0).attr('cy', 0).attr('r', 0);
+
+ if (colors && colors.constructor === Array) {
+ circle.attr('class', function (_ref12) {
+ var line_id = _ref12.line_id;
+ return 'mg-line' + line_id;
+ }).attr('fill', function (d, i) {
+ return colors[i];
+ }).attr('stroke', function (d, i) {
+ return colors[i];
+ });
+ } else {
+ circle.attr('class', function (_ref13, i) {
+ var line_id = _ref13.line_id;
+ return ['mg-line' + line_id, 'mg-line' + line_id + '-color', 'mg-area' + line_id + '-color'].join(' ');
+ });
+ }
+ circle.classed('mg-line-rollover-circle', true);
+ };
+
+ var mg_set_unique_line_id_for_each_series = function mg_set_unique_line_id_for_each_series(_ref14) {
+ var data = _ref14.data,
+ custom_line_color_map = _ref14.custom_line_color_map;
+
+ // update our data by setting a unique line id for each series
+ // increment from 1... unless we have a custom increment series
+
+ for (var i = 0; i < data.length; i++) {
+ for (var j = 0; j < data[i].length; j++) {
+ // Index is saved as original line id for the legend values
+ data[i][j].index = i + 1;
+ // if custom line-color map is set, use that instead of line_id (For colors)
+ if (custom_line_color_map.length > 0) {
+ data[i][j].line_id = custom_line_color_map[i];
+ } else {
+ data[i][j].line_id = i + 1;
+ }
+ }
+ }
+ };
+
+ var mg_nest_data_for_voronoi = function mg_nest_data_for_voronoi(_ref15) {
+ var data = _ref15.data;
+
+ return d3.merge(data);
+ };
+
+ var mg_line_class_string = function mg_line_class_string(args) {
+ return function (d) {
+ var class_string = void 0;
+
+ if (args.linked) {
+ var v = d[args.x_accessor];
+ var formatter = MG.time_format(args.utc_time, args.linked_format);
+
+ // only format when x-axis is date
+ var id = typeof v === 'number' ? d.line_id - 1 : formatter(v);
+ class_string = 'roll_' + id + ' mg-line' + d.line_id;
+
+ if (args.color === null) {
+ class_string += ' mg-line' + d.line_id + '-color';
+ }
+ return class_string;
+ } else {
+ class_string = 'mg-line' + d.line_id;
+ if (args.color === null) class_string += ' mg-line' + d.line_id + '-color';
+ return class_string;
+ }
+ };
+ };
+
+ var mg_add_voronoi_rollover = function mg_add_voronoi_rollover(args, svg, rollover_on, rollover_off, rollover_move, rollover_click) {
+ var voronoi = d3.voronoi().x(function (d) {
+ return args.scales.X(d[args.x_accessor]).toFixed(2);
+ }).y(function (d) {
+ return args.scales.Y(d[args.y_accessor]).toFixed(2);
+ }).extent([[args.buffer, args.buffer + (args.title ? args.title_y_position : 0)], [args.width - args.buffer, args.height - args.buffer]]);
+
+ var g = mg_add_g(svg, 'mg-voronoi');
+ g.selectAll('path').data(voronoi.polygons(mg_nest_data_for_voronoi(args))).enter().append('path').filter(function (d) {
+ return d !== undefined && d.length > 0;
+ }).attr('d', function (d) {
+ return d == null ? null : 'M' + d.join('L') + 'Z';
+ }).datum(function (d) {
+ return d == null ? null : d.data;
+ }) // because of d3.voronoi, reassign d
+ .attr('class', mg_line_class_string(args)).on('click', rollover_click).on('mouseover', rollover_on).on('mouseout', rollover_off).on('mousemove', rollover_move);
+
+ mg_configure_voronoi_rollover(args, svg);
+ };
+
+ var nest_data_for_aggregate_rollover = function nest_data_for_aggregate_rollover(_ref16) {
+ var x_accessor = _ref16.x_accessor,
+ data = _ref16.data,
+ x_sort = _ref16.x_sort;
+
+ var data_nested = d3.nest().key(function (d) {
+ return d[x_accessor];
+ }).entries(d3.merge(data));
+ data_nested.forEach(function (entry) {
+ var datum = entry.values[0];
+ entry.key = datum[x_accessor];
+ });
+
+ if (x_sort) {
+ return data_nested.sort(function (a, b) {
+ return new Date(a.key) - new Date(b.key);
+ });
+ } else {
+ return data_nested;
+ }
+ };
+
+ var mg_add_aggregate_rollover = function mg_add_aggregate_rollover(args, svg, rollover_on, rollover_off, rollover_move, rollover_click) {
+ // Undo the keys getting coerced to strings, by setting the keys from the values
+ // This is necessary for when we have X axis keys that are things like
+ var data_nested = nest_data_for_aggregate_rollover(args);
+
+ var xf = data_nested.map(function (_ref17) {
+ var key = _ref17.key;
+ return args.scales.X(key);
+ });
+
+ var g = svg.append('g').attr('class', 'mg-rollover-rect');
+
+ g.selectAll('.mg-rollover-rects').data(data_nested).enter().append('rect').attr('x', function (d, i) {
+ if (xf.length === 1) return mg_get_plot_left(args);else if (i === 0) return xf[i].toFixed(2);else return ((xf[i - 1] + xf[i]) / 2).toFixed(2);
+ }).attr('y', args.top).attr('width', function (d, i) {
+ if (xf.length === 1) return mg_get_plot_right(args);else if (i === 0) return ((xf[i + 1] - xf[i]) / 2).toFixed(2);else if (i === xf.length - 1) return ((xf[i] - xf[i - 1]) / 2).toFixed(2);else return ((xf[i + 1] - xf[i - 1]) / 2).toFixed(2);
+ }).attr('class', function (_ref18) {
+ var values = _ref18.values;
+
+ var line_classes = values.map(function (_ref19) {
+ var line_id = _ref19.line_id;
+
+ var lc = mg_line_class(line_id);
+ if (args.colors === null) lc += ' ' + mg_line_color_class(line_id);
+ return lc;
+ }).join(' ');
+ if (args.linked && values.length > 0) {
+ line_classes += ' ' + mg_rollover_id_class(mg_rollover_format_id(values[0], args));
+ }
+
+ return line_classes;
+ }).attr('height', args.height - args.bottom - args.top - args.buffer).attr('opacity', 0).on('click', rollover_click).on('mouseover', rollover_on).on('mouseout', rollover_off).on('mousemove', rollover_move);
+
+ mg_configure_aggregate_rollover(args, svg);
+ };
+
+ var mg_configure_singleton_rollover = function mg_configure_singleton_rollover(_ref20, svg) {
+ var data = _ref20.data;
+
+ svg.select('.mg-rollover-rect rect').on('mouseover')(data[0][0], 0);
+ };
+
+ var mg_configure_voronoi_rollover = function mg_configure_voronoi_rollover(_ref21, svg) {
+ var data = _ref21.data,
+ custom_line_color_map = _ref21.custom_line_color_map;
+
+ for (var i = 0; i < data.length; i++) {
+ var j = i + 1;
+
+ if (custom_line_color_map.length > 0 && custom_line_color_map[i] !== undefined) {
+ j = custom_line_color_map[i];
+ }
+
+ if (data[i].length === 1 && !svg.selectAll('.mg-voronoi .mg-line' + j).empty()) {
+ svg.selectAll('.mg-voronoi .mg-line' + j).on('mouseover')(data[i][0], 0);
+
+ svg.selectAll('.mg-voronoi .mg-line' + j).on('mouseout')(data[i][0], 0);
+ }
+ }
+ };
+
+ var mg_line_class = function mg_line_class(line_id) {
+ return 'mg-line' + line_id;
+ };
+
+ var mg_line_color_class = function mg_line_color_class(line_id) {
+ return 'mg-line' + line_id + '-color';
+ };
+
+ var mg_rollover_id_class = function mg_rollover_id_class(id) {
+ return 'roll_' + id;
+ };
+
+ var mg_rollover_format_id = function mg_rollover_format_id(d, _ref22) {
+ var x_accessor = _ref22.x_accessor,
+ utc_time = _ref22.utc_time,
+ linked_format = _ref22.linked_format;
+
+ var v = d[x_accessor];
+ var formatter = MG.time_format(utc_time, linked_format);
+ // only format when x-axis is date
+ return typeof v === 'number' ? v.toString().replace('.', '_') : formatter(v);
+ };
+
+ var mg_add_single_line_rollover = function mg_add_single_line_rollover(args, svg, rollover_on, rollover_off, rollover_move, rollover_click) {
+ // set to 1 unless we have a custom increment series
+ var line_id = 1;
+ if (args.custom_line_color_map.length > 0) {
+ line_id = args.custom_line_color_map[0];
+ }
+
+ var g = svg.append('g').attr('class', 'mg-rollover-rect');
+
+ var xf = args.data[0].map(args.scalefns.xf);
+
+ g.selectAll('.mg-rollover-rects').data(args.data[0]).enter().append('rect').attr('class', function (d, i) {
+ var cl = mg_line_color_class(line_id) + ' ' + mg_line_class(d.line_id);
+ if (args.linked) cl += cl + ' ' + mg_rollover_id_class(mg_rollover_format_id(d, args));
+ return cl;
+ }).attr('x', function (d, i) {
+ // if data set is of length 1
+ if (xf.length === 1) return mg_get_plot_left(args);else if (i === 0) return xf[i].toFixed(2);else return ((xf[i - 1] + xf[i]) / 2).toFixed(2);
+ }).attr('y', function (d, i) {
+ return args.data.length > 1 ? args.scalefns.yf(d) - 6 // multi-line chart sensitivity
+ : args.top;
+ }).attr('width', function (d, i) {
+ // if data set is of length 1
+ if (xf.length === 1) return mg_get_plot_right(args);else if (i === 0) return ((xf[i + 1] - xf[i]) / 2).toFixed(2);else if (i === xf.length - 1) return ((xf[i] - xf[i - 1]) / 2).toFixed(2);else return ((xf[i + 1] - xf[i - 1]) / 2).toFixed(2);
+ }).attr('height', function (d, i) {
+ return args.data.length > 1 ? 12 // multi-line chart sensitivity
+ : args.height - args.bottom - args.top - args.buffer;
+ }).attr('opacity', 0).on('click', rollover_click).on('mouseover', rollover_on).on('mouseout', rollover_off).on('mousemove', rollover_move);
+
+ if (mg_is_singleton(args)) {
+ mg_configure_singleton_rollover(args, svg);
+ }
+ };
+
+ var mg_configure_aggregate_rollover = function mg_configure_aggregate_rollover(_ref23, svg) {
+ var data = _ref23.data;
+
+ var rect = svg.selectAll('.mg-rollover-rect rect');
+ var rect_first = rect.nodes()[0][0] || rect.nodes()[0];
+ if (data.filter(function (_ref24) {
+ var length = _ref24.length;
+ return length === 1;
+ }).length > 0) {
+ rect.on('mouseover')(rect_first.__data__, 0);
+ }
+ };
+
+ var mg_is_standard_multiline = function mg_is_standard_multiline(_ref25) {
+ var data = _ref25.data,
+ aggregate_rollover = _ref25.aggregate_rollover;
+
+ return data.length > 1 && !aggregate_rollover;
+ };
+
+ var mg_is_aggregated_rollover = function mg_is_aggregated_rollover(_ref26) {
+ var data = _ref26.data,
+ aggregate_rollover = _ref26.aggregate_rollover;
+
+ return data.length > 1 && aggregate_rollover;
+ };
+
+ var mg_is_singleton = function mg_is_singleton(_ref27) {
+ var data = _ref27.data;
+
+ return data.length === 1 && data[0].length === 1;
+ };
+
+ var mg_draw_all_line_elements = function mg_draw_all_line_elements(args, plot, svg) {
+ mg_remove_dangling_bands(plot, svg);
+
+ // If option activated, remove existing active points if exists
+ if (args.active_point_on_lines) {
+ svg.selectAll('circle.mg-shown-active-point').remove();
+ }
+
+ for (var i = args.data.length - 1; i >= 0; i--) {
+ var this_data = args.data[i];
+
+ // passing the data for the current line
+ MG.call_hook('line.before_each_series', [this_data, args]);
+
+ // override increment if we have a custom increment series
+ var line_id = i + 1;
+ if (args.custom_line_color_map.length > 0) {
+ line_id = args.custom_line_color_map[i];
+ }
+
+ args.data[i].line_id = line_id;
+
+ // If option activated, add active points for each lines
+ if (args.active_point_on_lines) {
+ svg.selectAll('circle-' + line_id).data(args.data[i]).enter().filter(function (d) {
+ return d[args.active_point_accessor];
+ }).append('circle').attr('class', 'mg-area' + line_id + '-color mg-shown-active-point').attr('cx', args.scalefns.xf).attr('cy', args.scalefns.yf).attr('r', function () {
+ return args.active_point_size;
+ });
+ }
+
+ if (this_data.length === 0) {
+ continue;
+ }
+ var existing_line = svg.select('path.mg-main-line.mg-line' + line_id);
+
+ mg_add_confidence_band(args, plot, svg, line_id);
+
+ if (Array.isArray(args.area)) {
+ if (args.area[line_id - 1]) {
+ mg_add_area(args, plot, svg, i, line_id);
+ }
+ } else {
+ mg_add_area(args, plot, svg, i, line_id);
+ }
+
+ mg_add_line(args, plot, svg, existing_line, i, line_id);
+ mg_add_legend_element(args, plot, i, line_id);
+
+ // passing the data for the current line
+ MG.call_hook('line.after_each_series', [this_data, existing_line, args]);
+ }
+ };
+
+ var mg_remove_dangling_bands = function mg_remove_dangling_bands(_ref28, svg) {
+ var existing_band = _ref28.existing_band;
+
+ if (existing_band[0] && existing_band[0].length > svg.selectAll('.mg-main-line').node().length) {
+ svg.selectAll('.mg-confidence-band').remove();
+ }
+ };
+
+ var mg_line_main_plot = function mg_line_main_plot(args) {
+ var plot = {};
+ var svg = mg_get_svg_child_of(args.target);
+
+ // remove any old legends if they exist
+ mg_selectAll_and_remove(svg, '.mg-line-legend');
+ mg_add_legend_group(args, plot, svg);
+
+ plot.data_median = 0;
+ plot.update_transition_duration = args.transition_on_update ? 1000 : 0;
+ plot.display_area = args.area && !args.use_data_y_min && args.data.length <= 1 && args.aggregate_rollover === false || Array.isArray(args.area) && args.area.length > 0;
+ plot.legend_text = '';
+ mg_line_graph_generators(args, plot, svg);
+ plot.existing_band = svg.selectAll('.mg-confidence-band').nodes();
+
+ // should we continue with the default line render? A `line.all_series` hook should return false to prevent the default.
+ var continueWithDefault = MG.call_hook('line.before_all_series', [args]);
+ if (continueWithDefault !== false) {
+ mg_draw_all_line_elements(args, plot, svg);
+ }
+
+ mg_plot_legend_if_legend_target(args.legend_target, plot.legend_text);
+ };
+
+ var mg_line_rollover_setup = function mg_line_rollover_setup(args, graph) {
+ var svg = mg_get_svg_child_of(args.target);
+
+ if (args.showActivePoint && svg.selectAll('.mg-active-datapoint-container').nodes().length === 0) {
+ mg_add_g(svg, 'mg-active-datapoint-container');
+ }
+
+ mg_remove_existing_line_rollover_elements(svg);
+ mg_add_rollover_circle(args, svg);
+ mg_set_unique_line_id_for_each_series(args);
+
+ if (mg_is_standard_multiline(args)) {
+ mg_add_voronoi_rollover(args, svg, graph.rolloverOn(args), graph.rolloverOff(args), graph.rolloverMove(args), graph.rolloverClick(args));
+ } else if (mg_is_aggregated_rollover(args)) {
+ mg_add_aggregate_rollover(args, svg, graph.rolloverOn(args), graph.rolloverOff(args), graph.rolloverMove(args), graph.rolloverClick(args));
+ } else {
+ mg_add_single_line_rollover(args, svg, graph.rolloverOn(args), graph.rolloverOff(args), graph.rolloverMove(args), graph.rolloverClick(args));
+ }
+ };
+
+ var mg_update_rollover_circle = function mg_update_rollover_circle(args, svg, d) {
+ if (args.aggregate_rollover && args.data.length > 1) {
+ // hide the circles in case a non-contiguous series is present
+ svg.selectAll('circle.mg-line-rollover-circle').style('opacity', 0);
+
+ d.values.forEach(function (datum, index, list) {
+ if (args.missing_is_hidden && list[index]['_missing']) {
+ return;
+ }
+
+ if (mg_data_in_plot_bounds(datum, args)) mg_update_aggregate_rollover_circle(args, svg, datum);
+ });
+ } else if (args.missing_is_hidden && d['_missing'] || d[args.y_accessor] === null) {
+ // disable rollovers for hidden parts of the line
+ // recall that hidden parts are missing data ranges and possibly also
+ // data points that have been explicitly identified as missing
+ return;
+ } else {
+ // show circle on mouse-overed rect
+ if (mg_data_in_plot_bounds(d, args)) {
+ mg_update_generic_rollover_circle(args, svg, d);
+ }
+ }
+ };
+
+ var mg_update_aggregate_rollover_circle = function mg_update_aggregate_rollover_circle(_ref29, svg, datum) {
+ var scales = _ref29.scales,
+ x_accessor = _ref29.x_accessor,
+ y_accessor = _ref29.y_accessor,
+ point_size = _ref29.point_size;
+
+ svg.select('circle.mg-line-rollover-circle.mg-line' + datum.line_id).attr('cx', scales.X(datum[x_accessor]).toFixed(2)).attr('cy', scales.Y(datum[y_accessor]).toFixed(2)).attr('r', point_size).style('opacity', 1);
+ };
+
+ var mg_update_generic_rollover_circle = function mg_update_generic_rollover_circle(_ref30, svg, d) {
+ var scales = _ref30.scales,
+ x_accessor = _ref30.x_accessor,
+ y_accessor = _ref30.y_accessor,
+ point_size = _ref30.point_size;
+
+ svg.selectAll('circle.mg-line-rollover-circle.mg-line' + d.line_id).classed('mg-line-rollover-circle', true).attr('cx', function () {
+ return scales.X(d[x_accessor]).toFixed(2);
+ }).attr('cy', function () {
+ return scales.Y(d[y_accessor]).toFixed(2);
+ }).attr('r', point_size).style('opacity', 1);
+ };
+
+ var mg_trigger_linked_mouseovers = function mg_trigger_linked_mouseovers(args, d, i) {
+ if (args.linked && !MG.globals.link) {
+ MG.globals.link = true;
+ if (!args.aggregate_rollover || d[args.y_accessor] !== undefined || d.values && d.values.length > 0) {
+ var datum = d.values ? d.values[0] : d;
+ var id = mg_rollover_format_id(datum, args);
+ // trigger mouseover on matching line in .linked charts
+ d3.selectAll('.' + mg_line_class(datum.line_id) + '.' + mg_rollover_id_class(id)).each(function (d) {
+ d3.select(this).on('mouseover')(d, i);
+ });
+ }
+ }
+ };
+
+ var mg_trigger_linked_mouseouts = function mg_trigger_linked_mouseouts(_ref31, d, i) {
+ var linked = _ref31.linked,
+ utc_time = _ref31.utc_time,
+ linked_format = _ref31.linked_format,
+ x_accessor = _ref31.x_accessor;
+
+ if (linked && MG.globals.link) {
+ MG.globals.link = false;
+
+ var formatter = MG.time_format(utc_time, linked_format);
+ var datums = d.values ? d.values : [d];
+ datums.forEach(function (datum) {
+ var v = datum[x_accessor];
+ var id = typeof v === 'number' ? i : formatter(v);
+
+ // trigger mouseout on matching line in .linked charts
+ d3.selectAll('.roll_' + id).each(function (d) {
+ d3.select(this).on('mouseout')(d);
+ });
+ });
+ }
+ };
+
+ var mg_remove_active_data_points_for_aggregate_rollover = function mg_remove_active_data_points_for_aggregate_rollover(args, svg) {
+ svg.selectAll('circle.mg-line-rollover-circle').filter(function (_ref32) {
+ var length = _ref32.length;
+ return length > 1;
+ }).style('opacity', 0);
+ };
+
+ var mg_remove_active_data_points_for_generic_rollover = function mg_remove_active_data_points_for_generic_rollover(_ref33, svg, _ref34) {
+ var custom_line_color_map = _ref33.custom_line_color_map,
+ data = _ref33.data;
+ var line_id = _ref34.line_id;
+
+ svg.selectAll('circle.mg-line-rollover-circle.mg-line' + line_id).style('opacity', function () {
+ var id = line_id - 1;
+
+ if (custom_line_color_map.length > 0 && custom_line_color_map.indexOf(line_id) !== undefined) {
+ id = custom_line_color_map.indexOf(line_id);
+ }
+
+ if (data[id].length === 1) {
+ return 1;
+ } else {
+ return 0;
+ }
+ });
+ };
+
+ var mg_remove_active_text = function mg_remove_active_text(svg) {
+ svg.select('.mg-active-datapoint').text('');
+ };
+
+ var lineChart = function lineChart(args) {
+ this.init = function (args) {
+ this.args = args;
+
+ if (!args.data || args.data.length === 0) {
+ args.internal_error = 'No data was supplied';
+ internal_error(args);
+ return this;
+ } else {
+ args.internal_error = undefined;
+ }
+
+ raw_data_transformation(args);
+ process_line(args);
+
+ MG.call_hook('line.before_destroy', this);
+
+ init(args);
+
+ // TODO incorporate markers into calculation of x scales
+ new MG.scale_factory(args).namespace('x').numericalDomainFromData().numericalRange('bottom');
+
+ var baselines = (args.baselines || []).map(function (d) {
+ return d[args.y_accessor];
+ });
+
+ new MG.scale_factory(args).namespace('y').zeroBottom(true).inflateDomain(true).numericalDomainFromData(baselines).numericalRange('left');
+
+ if (args.x_axis) {
+ new MG.axis_factory(args).namespace('x').type('numerical').position(args.x_axis_position).rug(x_rug(args)).label(mg_add_x_label).draw();
+ }
+
+ if (args.y_axis) {
+ new MG.axis_factory(args).namespace('y').type('numerical').position(args.y_axis_position).rug(y_rug(args)).label(mg_add_y_label).draw();
+ }
+
+ this.markers();
+ this.mainPlot();
+ this.rollover();
+ this.windowListeners();
+ if (args.brush) MG.add_brush_function(args);
+ MG.call_hook('line.after_init', this);
+
+ return this;
+ };
+
+ this.mainPlot = function () {
+ mg_line_main_plot(args);
+ return this;
+ };
+
+ this.markers = function () {
+ markers(args);
+ return this;
+ };
+
+ this.rollover = function () {
+ mg_line_rollover_setup(args, this);
+ MG.call_hook('line.after_rollover', args);
+
+ return this;
+ };
+
+ this.rolloverClick = function (args) {
+ return function (d, i) {
+ if (args.click) {
+ args.click(d, i);
+ }
+ };
+ };
+
+ this.rolloverOn = function (args) {
+ var svg = mg_get_svg_child_of(args.target);
+
+ return function (d, i) {
+ mg_update_rollover_circle(args, svg, d);
+ mg_trigger_linked_mouseovers(args, d, i);
+
+ svg.selectAll('text').filter(function (g, j) {
+ return d === g;
+ }).attr('opacity', 0.3);
+
+ // update rollover text except for missing data points
+ if (args.show_rollover_text && !(args.missing_is_hidden && d['_missing'] || d[args.y_accessor] === null)) {
+ var mouseover = mg_mouseover_text(args, { svg: svg });
+ var row = mouseover.mouseover_row();
+ if (args.aggregate_rollover) {
+ row.text((args.aggregate_rollover && args.data.length > 1 ? mg_format_x_aggregate_mouseover : mg_format_x_mouseover)(args, d));
+ }
+
+ var pts = args.aggregate_rollover && args.data.length > 1 ? d.values : [d];
+
+ pts.forEach(function (di) {
+ if (args.aggregate_rollover) {
+ row = mouseover.mouseover_row();
+ }
+
+ if (args.legend) {
+ mg_line_color_text(row.text(args.legend[di.index - 1] + ' ').bold(), di, args);
+ }
+
+ mg_line_color_text(row.text('\u2014 ').elem, di, args);
+ if (!args.aggregate_rollover) {
+ row.text(mg_format_x_mouseover(args, di));
+ }
+
+ row.text(mg_format_y_mouseover(args, di, args.time_series === false));
+ });
+ }
+
+ if (args.mouseover) {
+ args.mouseover(d, i);
+ }
+ };
+ };
+
+ this.rolloverOff = function (args) {
+ var svg = mg_get_svg_child_of(args.target);
+
+ return function (d, i) {
+ mg_trigger_linked_mouseouts(args, d, i);
+ if (args.aggregate_rollover) {
+ mg_remove_active_data_points_for_aggregate_rollover(args, svg);
+ } else {
+ mg_remove_active_data_points_for_generic_rollover(args, svg, d);
+ }
+
+ if (args.data[0].length > 1) {
+ mg_clear_mouseover_container(svg);
+ }
+
+ if (args.mouseout) {
+ args.mouseout(d, i);
+ }
+ };
+ };
+
+ this.rolloverMove = function (args) {
+ return function (d, i) {
+ if (args.mousemove) {
+ args.mousemove(d, i);
+ }
+ };
+ };
+
+ this.windowListeners = function () {
+ mg_window_listeners(this.args);
+ return this;
+ };
+
+ this.init(args);
+ };
+
+ MG.register('line', lineChart);
+}
+
+{
+ var histogram = function histogram(args) {
+ var _this = this;
+
+ this.init = function (args) {
+ _this.args = args;
+
+ raw_data_transformation(args);
+ process_histogram(args);
+ init(args);
+
+ new MG.scale_factory(args).namespace('x').numericalDomainFromData().numericalRange('bottom');
+
+ var baselines = (args.baselines || []).map(function (d) {
+ return d[args.y_accessor];
+ });
+
+ new MG.scale_factory(args).namespace('y').zeroBottom(true).inflateDomain(true).numericalDomainFromData(baselines).numericalRange('left');
+
+ x_axis(args);
+ y_axis(args);
+
+ _this.mainPlot();
+ _this.markers();
+ _this.rollover();
+ _this.windowListeners();
+
+ return _this;
+ };
+
+ this.mainPlot = function () {
+ var svg = mg_get_svg_child_of(args.target);
+
+ //remove the old histogram, add new one
+ svg.selectAll('.mg-histogram').remove();
+
+ var g = svg.append('g').attr('class', 'mg-histogram');
+
+ var bar = g.selectAll('.mg-bar').data(args.data[0]).enter().append('g').attr('class', 'mg-bar').attr('transform', function (d) {
+ return 'translate(' + args.scales.X(d[args.x_accessor]).toFixed(2) + ',' + args.scales.Y(d[args.y_accessor]).toFixed(2) + ')';
+ });
+
+ //draw bars
+ bar.append('rect').attr('x', 1).attr('width', function (d, i) {
+ if (args.data[0].length === 1) {
+ return (args.scalefns.xf(args.data[0][0]) - args.bar_margin).toFixed(0);
+ } else if (i !== args.data[0].length - 1) {
+ return (args.scalefns.xf(args.data[0][i + 1]) - args.scalefns.xf(d)).toFixed(0);
+ } else {
+ return (args.scalefns.xf(args.data[0][1]) - args.scalefns.xf(args.data[0][0])).toFixed(0);
+ }
+ }).attr('height', function (d) {
+ if (d[args.y_accessor] === 0) {
+ return 0;
+ }
+
+ return (args.height - args.bottom - args.buffer - args.scales.Y(d[args.y_accessor])).toFixed(2);
+ });
+
+ return _this;
+ };
+
+ this.markers = function () {
+ markers(args);
+ return _this;
+ };
+
+ this.rollover = function () {
+ var svg = mg_get_svg_child_of(args.target);
+
+ if (svg.selectAll('.mg-active-datapoint-container').nodes().length === 0) {
+ mg_add_g(svg, 'mg-active-datapoint-container');
+ }
+
+ //remove the old rollovers if they already exist
+ svg.selectAll('.mg-rollover-rect').remove();
+ svg.selectAll('.mg-active-datapoint').remove();
+
+ var g = svg.append('g').attr('class', 'mg-rollover-rect');
+
+ //draw rollover bars
+ var bar = g.selectAll('.mg-bar').data(args.data[0]).enter().append('g').attr('class', function (d, i) {
+ if (args.linked) {
+ return 'mg-rollover-rects roll_' + i;
+ } else {
+ return 'mg-rollover-rects';
+ }
+ }).attr('transform', function (d) {
+ return 'translate(' + args.scales.X(d[args.x_accessor]) + ',' + 0 + ')';
+ });
+
+ bar.append('rect').attr('x', 1).attr('y', args.buffer + (args.title ? args.title_y_position : 0)).attr('width', function (d, i) {
+ //if data set is of length 1
+ if (args.data[0].length === 1) {
+ return (args.scalefns.xf(args.data[0][0]) - args.bar_margin).toFixed(0);
+ } else if (i !== args.data[0].length - 1) {
+ return (args.scalefns.xf(args.data[0][i + 1]) - args.scalefns.xf(d)).toFixed(0);
+ } else {
+ return (args.scalefns.xf(args.data[0][1]) - args.scalefns.xf(args.data[0][0])).toFixed(0);
+ }
+ }).attr('height', function (d) {
+ return args.height;
+ }).attr('opacity', 0).on('mouseover', _this.rolloverOn(args)).on('mouseout', _this.rolloverOff(args)).on('mousemove', _this.rolloverMove(args));
+
+ return _this;
+ };
+
+ this.rolloverOn = function (args) {
+ var svg = mg_get_svg_child_of(args.target);
+
+ return function (d, i) {
+ svg.selectAll('text').filter(function (g, j) {
+ return d === g;
+ }).attr('opacity', 0.3);
+
+ var fmt = args.processed.xax_format || MG.time_format(args.utc_time, '%b %e, %Y');
+ var num = format_rollover_number(args);
+
+ svg.selectAll('.mg-bar rect').filter(function (d, j) {
+ return j === i;
+ }).classed('active', true);
+
+ //trigger mouseover on all matching bars
+ if (args.linked && !MG.globals.link) {
+ MG.globals.link = true;
+
+ //trigger mouseover on matching bars in .linked charts
+ d3.selectAll('.mg-rollover-rects.roll_' + i + ' rect').each(function (d) {
+ //use existing i
+ d3.select(this).on('mouseover')(d, i);
+ });
+ }
+
+ //update rollover text
+ if (args.show_rollover_text) {
+ var mo = mg_mouseover_text(args, { svg: svg });
+ var row = mo.mouseover_row();
+ row.text('\u259F ').elem.classed('hist-symbol', true);
+
+ row.text(mg_format_x_mouseover(args, d)); // x
+ row.text(mg_format_y_mouseover(args, d, args.time_series === false));
+ }
+
+ if (args.mouseover) {
+ mg_setup_mouseover_container(svg, args);
+ args.mouseover(d, i);
+ }
+ };
+ };
+
+ this.rolloverOff = function (args) {
+ var svg = mg_get_svg_child_of(args.target);
+
+ return function (d, i) {
+ if (args.linked && MG.globals.link) {
+ MG.globals.link = false;
+
+ //trigger mouseout on matching bars in .linked charts
+ d3.selectAll('.mg-rollover-rects.roll_' + i + ' rect').each(function (d) {
+ //use existing i
+ d3.select(this).on('mouseout')(d, i);
+ });
+ }
+
+ //reset active bar
+ svg.selectAll('.mg-bar rect').classed('active', false);
+
+ //reset active data point text
+ mg_clear_mouseover_container(svg);
+
+ if (args.mouseout) {
+ args.mouseout(d, i);
+ }
+ };
+ };
+
+ this.rolloverMove = function (args) {
+ return function (d, i) {
+ if (args.mousemove) {
+ args.mousemove(d, i);
+ }
+ };
+ };
+
+ this.windowListeners = function () {
+ mg_window_listeners(_this.args);
+ return _this;
+ };
+
+ this.init(args);
+ };
+
+ var _defaults = {
+ binned: false,
+ bins: null,
+ processed_x_accessor: 'x',
+ processed_y_accessor: 'y',
+ processed_dx_accessor: 'dx',
+ bar_margin: 1
+ };
+
+ MG.register('histogram', histogram, _defaults);
+}
+
+function point_mouseover(args, svg, d) {
+ var mouseover = mg_mouseover_text(args, { svg: svg });
+ var row = mouseover.mouseover_row();
+
+ if (args.color_accessor !== null && args.color_type === 'category') {
+ var label = d[args.color_accessor];
+ row.text(label + ' ').bold().attr('fill', args.scalefns.colorf(d));
+ }
+
+ mg_color_point_mouseover(args, row.text('\u25CF ').elem, d); // point shape
+
+ row.text(mg_format_x_mouseover(args, d)); // x
+ row.text(mg_format_y_mouseover(args, d, args.time_series === false));
+}
+
+function mg_color_point_mouseover(_ref35, elem, d) {
+ var color_accessor = _ref35.color_accessor,
+ scalefns = _ref35.scalefns;
+
+ if (color_accessor !== null) {
+ elem.attr('fill', scalefns.colorf(d));
+ elem.attr('stroke', scalefns.colorf(d));
+ } else {
+ elem.classed('mg-points-mono', true);
+ }
+}
+
+{
+ var mg_filter_out_plot_bounds = function mg_filter_out_plot_bounds(data, args) {
+ // max_x, min_x, max_y, min_y;
+ var x = args.x_accessor;
+ var y = args.y_accessor;
+ var new_data = data.filter(function (d) {
+ return (args.min_x === null || d[x] >= args.min_x) && (args.max_x === null || d[x] <= args.max_x) && (args.min_y === null || d[y] >= args.min_y) && (args.max_y === null || d[y] <= args.max_y);
+ });
+ return new_data;
+ };
+
+ var pointChart = function pointChart(args) {
+ var _this2 = this;
+
+ this.init = function (args) {
+ this.args = args;
+
+ // infer y_axis and x_axis type;
+ args.x_axis_type = mg_infer_type(args, 'x');
+ args.y_axis_type = mg_infer_type(args, 'y');
+
+ raw_data_transformation(args);
+
+ process_point(args);
+ init(args);
+
+ var xMaker = void 0,
+ yMaker = void 0;
+
+ if (args.x_axis_type === 'categorical') {
+ xMaker = MG.scale_factory(args).namespace('x').categoricalDomainFromData().categoricalRangeBands([0, args.xgroup_height], args.xgroup_accessor === null);
+
+ if (args.xgroup_accessor) {
+ new MG.scale_factory(args).namespace('xgroup').categoricalDomainFromData().categoricalRangeBands('bottom');
+ } else {
+ args.scales.XGROUP = function () {
+ return mg_get_plot_left(args);
+ };
+ args.scalefns.xgroupf = function () {
+ return mg_get_plot_left(args);
+ };
+ }
+
+ args.scalefns.xoutf = function (d) {
+ return args.scalefns.xf(d) + args.scalefns.xgroupf(d);
+ };
+ } else {
+ xMaker = MG.scale_factory(args).namespace('x').inflateDomain(true).zeroBottom(args.y_axis_type === 'categorical').numericalDomainFromData((args.baselines || []).map(function (d) {
+ return d[args.x_accessor];
+ })).numericalRange('bottom');
+
+ args.scalefns.xoutf = args.scalefns.xf;
+ }
+
+ // y-scale generation. This needs to get simplified.
+ if (args.y_axis_type === 'categorical') {
+ yMaker = MG.scale_factory(args).namespace('y').zeroBottom(true).categoricalDomainFromData().categoricalRangeBands([0, args.ygroup_height], true);
+
+ if (args.ygroup_accessor) {
+
+ new MG.scale_factory(args).namespace('ygroup').categoricalDomainFromData().categoricalRangeBands('left');
+ } else {
+ args.scales.YGROUP = function () {
+ return mg_get_plot_top(args);
+ };
+ args.scalefns.ygroupf = function () {
+ return mg_get_plot_top(args);
+ };
+ }
+ args.scalefns.youtf = function (d) {
+ return args.scalefns.yf(d) + args.scalefns.ygroupf(d);
+ };
+ } else {
+ var baselines = (args.baselines || []).map(function (d) {
+ return d[args.y_accessor];
+ });
+ yMaker = MG.scale_factory(args).namespace('y').inflateDomain(true).zeroBottom(args.x_axis_type === 'categorical').numericalDomainFromData(baselines).numericalRange('left');
+
+ args.scalefns.youtf = function (d) {
+ return args.scalefns.yf(d);
+ };
+ }
+
+ /////// COLOR accessor
+ if (args.color_accessor !== null) {
+ var colorScale = MG.scale_factory(args).namespace('color');
+ if (args.color_type === 'number') {
+ // do the color scale.
+ // etiher get color range, or what.
+ colorScale.numericalDomainFromData(mg_get_color_domain(args)).numericalRange(mg_get_color_range(args)).clamp(true);
+ } else {
+ if (args.color_domain) {
+ colorScale.categoricalDomain(args.color_domain).categoricalRange(args.color_range);
+ } else {
+ colorScale.categoricalDomainFromData().categoricalColorRange();
+ }
+ }
+ }
+
+ if (args.size_accessor) {
+ new MG.scale_factory(args).namespace('size').numericalDomainFromData().numericalRange(mg_get_size_range(args)).clamp(true);
+ }
+
+ new MG.axis_factory(args).namespace('x').type(args.x_axis_type).zeroLine(args.y_axis_type === 'categorical').position(args.x_axis_position).rug(x_rug(args)).label(mg_add_x_label).draw();
+
+ new MG.axis_factory(args).namespace('y').type(args.y_axis_type).zeroLine(args.x_axis_type === 'categorical').position(args.y_axis_position).rug(y_rug(args)).label(mg_add_y_label).draw();
+
+ this.mainPlot();
+ this.markers();
+ this.rollover();
+ this.windowListeners();
+ if (args.brush) MG.add_brush_function(args);
+ return this;
+ };
+
+ this.markers = function () {
+ markers(args);
+ if (args.least_squares) {
+ add_ls(args);
+ }
+
+ return this;
+ };
+
+ this.mainPlot = function () {
+ var svg = mg_get_svg_child_of(args.target);
+
+ var data = mg_filter_out_plot_bounds(args.data[0], args);
+ //remove the old points, add new one
+ svg.selectAll('.mg-points').remove();
+
+ var g = svg.append('g').classed('mg-points', true);
+
+ var pts = g.selectAll('circle').data(data).enter().append('circle').attr('class', function (d, i) {
+ return 'path-' + i;
+ }).attr('cx', args.scalefns.xoutf).attr('cy', function (d) {
+ return args.scalefns.youtf(d);
+ });
+
+ //are we coloring our points, or just using the default color?
+ if (args.color_accessor !== null) {
+ pts.attr('fill', args.scalefns.colorf);
+ pts.attr('stroke', args.scalefns.colorf);
+ } else {
+ pts.classed('mg-points-mono', true);
+ }
+
+ if (args.size_accessor !== null) {
+ pts.attr('r', args.scalefns.sizef);
+ } else {
+ pts.attr('r', args.point_size);
+ }
+
+ return this;
+ };
+
+ this.rollover = function () {
+ var svg = mg_get_svg_child_of(args.target);
+
+ if (svg.selectAll('.mg-active-datapoint-container').nodes().length === 0) {
+ mg_add_g(svg, 'mg-active-datapoint-container');
+ }
+
+ //remove the old rollovers if they already exist
+ svg.selectAll('.mg-voronoi').remove();
+
+ //add rollover paths
+ var voronoi = d3.voronoi().x(args.scalefns.xoutf).y(args.scalefns.youtf).extent([[args.buffer, args.buffer + (args.title ? args.title_y_position : 0)], [args.width - args.buffer, args.height - args.buffer]]);
+
+ var paths = svg.append('g').attr('class', 'mg-voronoi');
+
+ paths.selectAll('path').data(voronoi.polygons(mg_filter_out_plot_bounds(args.data[0], args))).enter().append('path').attr('d', function (d) {
+ return d == null ? null : 'M' + d.join(',') + 'Z';
+ }).attr('class', function (d, i) {
+ return 'path-' + i;
+ }).style('fill-opacity', 0).on('mouseover', this.rolloverOn(args)).on('mouseout', this.rolloverOff(args)).on('mousemove', this.rolloverMove(args));
+
+ if (args.data[0].length === 1) {
+ point_mouseover(args, svg, args.data[0][0]);
+ }
+
+ return this;
+ };
+
+ this.rolloverOn = function (args) {
+ var svg = mg_get_svg_child_of(args.target);
+
+ return function (d, i) {
+ svg.selectAll('.mg-points circle').classed('selected', false);
+
+ //highlight active point
+ var pts = svg.selectAll('.mg-points circle.path-' + i).classed('selected', true);
+
+ if (args.size_accessor) {
+ pts.attr('r', function (di) {
+ return args.scalefns.sizef(di) + args.active_point_size_increase;
+ });
+ } else {
+ pts.attr('r', args.point_size + args.active_point_size_increase);
+ }
+
+ //trigger mouseover on all points for this class name in .linked charts
+ if (args.linked && !MG.globals.link) {
+ MG.globals.link = true;
+
+ //trigger mouseover on matching point in .linked charts
+ d3.selectAll('.mg-voronoi .path-' + i).each(function () {
+ d3.select(_this2).on('mouseover')(d, i);
+ });
+ }
+
+ if (args.show_rollover_text) {
+ point_mouseover(args, svg, d.data);
+ }
+
+ if (args.mouseover) {
+ args.mouseover(d, i);
+ }
+ };
+ };
+
+ this.rolloverOff = function (args) {
+ var svg = mg_get_svg_child_of(args.target);
+
+ return function (d, i) {
+ if (args.linked && MG.globals.link) {
+ MG.globals.link = false;
+
+ d3.selectAll('.mg-voronoi .path-' + i).each(function () {
+ d3.select(_this2).on('mouseout')(d, i);
+ });
+ }
+
+ //reset active point
+ var pts = svg.selectAll('.mg-points circle').classed('unselected', false).classed('selected', false);
+
+ if (args.size_accessor) {
+ pts.attr('r', args.scalefns.sizef);
+ } else {
+ pts.attr('r', args.point_size);
+ }
+
+ //reset active data point text
+ if (args.data[0].length > 1) mg_clear_mouseover_container(svg);
+
+ if (args.mouseout) {
+ args.mouseout(d, i);
+ }
+ };
+ };
+
+ this.rolloverMove = function (args) {
+ return function (d, i) {
+ if (args.mousemove) {
+ args.mousemove(d, i);
+ }
+ };
+ };
+
+ this.update = function (args) {
+ return this;
+ };
+
+ this.windowListeners = function () {
+ mg_window_listeners(this.args);
+ return this;
+ };
+
+ this.init(args);
+ };
+
+ var _defaults2 = {
+ y_padding_percentage: 0.05, // for categorical scales
+ y_outer_padding_percentage: 0.2, // for categorical scales
+ ygroup_padding_percentage: 0, // for categorical scales
+ ygroup_outer_padding_percentage: 0, // for categorical scales
+ x_padding_percentage: 0.05, // for categorical scales
+ x_outer_padding_percentage: 0.2, // for categorical scales
+ xgroup_padding_percentage: 0, // for categorical scales
+ xgroup_outer_padding_percentage: 0, // for categorical scales
+ y_categorical_show_guides: true,
+ x_categorical_show_guides: true,
+ buffer: 16,
+ ls: false,
+ lowess: false,
+ point_size: 2.5,
+ label_accessor: null,
+ size_accessor: null,
+ color_accessor: null,
+ size_range: null, // when we set a size_accessor option, this array determines the size range, e.g. [1,5]
+ color_range: null, // e.g. ['blue', 'red'] to color different groups of points
+ size_domain: null,
+ color_domain: null,
+ active_point_size_increase: 1,
+ color_type: 'number' // can be either 'number' - the color scale is quantitative - or 'category' - the color scale is qualitative.
+ };
+
+ MG.register('point', pointChart, _defaults2);
+}
+
+{
+ // TODO add styles to stylesheet instead
+ var scaffold = function scaffold(_ref36) {
+ var target = _ref36.target,
+ width = _ref36.width,
+ height = _ref36.height,
+ top = _ref36.top,
+ left = _ref36.left,
+ right = _ref36.right,
+ buffer = _ref36.buffer;
+
+ var svg = mg_get_svg_child_of(target);
+ // main margins
+ svg.append('line').attr('x1', 0).attr('x2', width).attr('y1', top).attr('y2', top).attr('stroke', 'black');
+ svg.append('line').attr('x1', 0).attr('x2', width).attr('y1', height - bottom).attr('y2', height - bottom).attr('stroke', 'black');
+
+ svg.append('line').attr('x1', left).attr('x2', left).attr('y1', 0).attr('y2', height).attr('stroke', 'black');
+
+ svg.append('line').attr('x1', width - right).attr('x2', width - right).attr('y1', 0).attr('y2', height).attr('stroke', 'black');
+
+ // plot area margins
+ svg.append('line').attr('x1', 0).attr('x2', width).attr('y1', height - bottom - buffer).attr('y2', height - bottom - buffer).attr('stroke', 'gray');
+
+ svg.append('line').attr('x1', 0).attr('x2', width).attr('y1', top + buffer).attr('y2', top + buffer).attr('stroke', 'gray');
+
+ svg.append('line').attr('x1', left + buffer).attr('x2', left + buffer).attr('y1', 0).attr('y2', args.height).attr('stroke', 'gray');
+ svg.append('line').attr('x1', width - right - buffer).attr('x2', width - right - buffer).attr('y1', 0).attr('y2', height).attr('stroke', 'gray');
+ };
+
+ // barchart re-write.
+
+
+ var mg_targeted_legend = function mg_targeted_legend(_ref37) {
+ var legend_target = _ref37.legend_target,
+ orientation = _ref37.orientation,
+ scales = _ref37.scales;
+
+ var labels = void 0;
+ var plot = '';
+ if (legend_target) {
+
+ var div = d3.select(legend_target).append('div').classed('mg-bar-target-legend', true);
+
+ if (orientation == 'horizontal') labels = scales.Y.domain();else labels = scales.X.domain();
+
+ labels.forEach(function (label) {
+ var outer_span = div.append('span').classed('mg-bar-target-element', true);
+ outer_span.append('span').classed('mg-bar-target-legend-shape', true).style('color', scales.COLOR(label)).text('\u25FC ');
+ outer_span.append('span').classed('mg-bar-target-legend-text', true).text(label);
+ });
+ }
+ };
+
+ var legend_on_graph = function legend_on_graph(svg, args) {
+ // draw each element at the top right
+ // get labels
+
+ var labels = void 0;
+ if (args.orientation == 'horizontal') labels = args.scales.Y.domain();else labels = args.scales.X.domain();
+
+ var lineCount = 0;
+ var lineHeight = 1.1;
+ var g = svg.append('g').classed("mg-bar-legend", true);
+ var textContainer = g.append('text');
+
+ textContainer.selectAll('*').remove();
+ textContainer.attr('width', args.right).attr('height', 100).attr('text-anchor', 'start');
+
+ labels.forEach(function (label) {
+ var sub_container = textContainer.append('tspan').attr('x', mg_get_plot_right(args)).attr('y', args.height / 2).attr('dy', lineCount * lineHeight + 'em');
+ sub_container.append('tspan').text('\u25A0 ').attr('fill', args.scales.COLOR(label)).attr('font-size', 20);
+ sub_container.append('tspan').text(label).attr('font-weight', 300).attr('font-size', 10);
+ lineCount++;
+ });
+
+ // d.values.forEach(function (datum) {
+ // formatted_y = mg_format_y_rollover(args, num, datum);
+
+ // if (args.y_rollover_format !== null) {
+ // formatted_y = number_rollover_format(args.y_rollover_format, datum, args.y_accessor);
+ // } else {
+ // formatted_y = args.yax_units + num(datum[args.y_accessor]);
+ // }
+
+ // sub_container = textContainer.append('tspan').attr('x', 0).attr('y', (lineCount * lineHeight) + 'em');
+ // formatted_y = mg_format_y_rollover(args, num, datum);
+ // mouseover_tspan(sub_container, '\u2014 ')
+ // .color(args, datum);
+ // mouseover_tspan(sub_container, formatted_x + ' ' + formatted_y);
+
+ // lineCount++;
+ // });
+ };
+
+ var barChart = function barChart(args) {
+ var _this3 = this;
+
+ this.args = args;
+
+ this.init = function (args) {
+ _this3.args = args;
+ args.x_axis_type = mg_infer_type(args, 'x');
+ args.y_axis_type = mg_infer_type(args, 'y');
+
+ // this is specific to how rects work in svg, let's keep track of the bar orientation to
+ // plot appropriately.
+ if (args.x_axis_type == 'categorical') {
+ args.orientation = 'vertical';
+ } else if (args.y_axis_type == 'categorical') {
+ args.orientation = 'horizontal';
+ } else if (args.x_axis_type != 'categorical' && args.y_axis_type != 'categorical') {
+ // histogram.
+ args.orientation = 'vertical';
+ }
+
+ raw_data_transformation(args);
+
+ process_point(args);
+ init(args);
+
+ var xMaker = void 0;
+ var yMaker = void 0;
+
+ if (args.x_axis_type === 'categorical') {
+ xMaker = MG.scale_factory(args).namespace('x').categoricalDomainFromData().categoricalRangeBands([0, args.xgroup_height], args.xgroup_accessor === null);
+
+ if (args.xgroup_accessor) {
+ new MG.scale_factory(args).namespace('xgroup').categoricalDomainFromData().categoricalRangeBands('bottom');
+ } else {
+ args.scales.XGROUP = function (d) {
+ return mg_get_plot_left(args);
+ };
+ args.scalefns.xgroupf = function (d) {
+ return mg_get_plot_left(args);
+ };
+ }
+
+ args.scalefns.xoutf = function (d) {
+ return args.scalefns.xf(d) + args.scalefns.xgroupf(d);
+ };
+ } else {
+ xMaker = MG.scale_factory(args).namespace('x').inflateDomain(true).zeroBottom(args.y_axis_type === 'categorical').numericalDomainFromData((args.baselines || []).map(function (d) {
+ return d[args.x_accessor];
+ })).numericalRange('bottom');
+
+ args.scalefns.xoutf = args.scalefns.xf;
+ }
+
+ // y-scale generation. This needs to get simplified.
+ if (args.y_axis_type === 'categorical') {
+ yMaker = MG.scale_factory(args).namespace('y').zeroBottom(true).categoricalDomainFromData().categoricalRangeBands([0, args.ygroup_height], true);
+
+ if (args.ygroup_accessor) {
+
+ new MG.scale_factory(args).namespace('ygroup').categoricalDomainFromData().categoricalRangeBands('left');
+ } else {
+ args.scales.YGROUP = function () {
+ return mg_get_plot_top(args);
+ };
+ args.scalefns.ygroupf = function (d) {
+ return mg_get_plot_top(args);
+ };
+ }
+ args.scalefns.youtf = function (d) {
+ return args.scalefns.yf(d) + args.scalefns.ygroupf(d);
+ };
+ } else {
+ var baselines = (args.baselines || []).map(function (d) {
+ return d[args.y_accessor];
+ });
+
+ yMaker = MG.scale_factory(args).namespace('y').inflateDomain(true).zeroBottom(args.x_axis_type === 'categorical').numericalDomainFromData(baselines).numericalRange('left');
+
+ args.scalefns.youtf = function (d) {
+ return args.scalefns.yf(d);
+ };
+ }
+
+ if (args.ygroup_accessor !== null) {
+ args.ycolor_accessor = args.y_accessor;
+ MG.scale_factory(args).namespace('ycolor').scaleName('color').categoricalDomainFromData().categoricalColorRange();
+ }
+
+ if (args.xgroup_accessor !== null) {
+ args.xcolor_accessor = args.x_accessor;
+ MG.scale_factory(args).namespace('xcolor').scaleName('color').categoricalDomainFromData().categoricalColorRange();
+ }
+
+ // if (args.ygroup_accessor !== null) {
+ // MG.scale_factory(args)
+ // .namespace('ygroup')
+ // .categoricalDomainFromData()
+ // .categoricalColorRange();
+ // }
+
+ new MG.axis_factory(args).namespace('x').type(args.x_axis_type).zeroLine(args.y_axis_type === 'categorical').position(args.x_axis_position).draw();
+
+ new MG.axis_factory(args).namespace('y').type(args.y_axis_type).zeroLine(args.x_axis_type === 'categorical').position(args.y_axis_position).draw();
+
+ //mg_categorical_group_color_scale(args);
+
+ _this3.mainPlot();
+ _this3.markers();
+ _this3.rollover();
+ _this3.windowListeners();
+ //scaffold(args)
+
+ return _this3;
+ };
+
+ this.mainPlot = function () {
+ var svg = mg_get_svg_child_of(args.target);
+ var data = args.data[0];
+ var barplot = svg.select('g.mg-barplot');
+ var fresh_render = barplot.empty();
+
+ var bars = void 0,
+ predictor_bars = void 0,
+ pp = void 0,
+ pp0 = void 0,
+ baseline_marks = void 0;
+
+ var perform_load_animation = fresh_render && args.animate_on_load;
+ var should_transition = perform_load_animation || args.transition_on_update;
+ var transition_duration = args.transition_duration || 1000;
+
+ // draw the plot on first render
+ if (fresh_render) {
+ barplot = svg.append('g').classed('mg-barplot', true);
+ }
+
+ bars = barplot.selectAll('.mg-bar').data(data).enter().append('rect').classed('mg-bar', true).classed('default-bar', args.scales.hasOwnProperty('COLOR') ? false : true);
+
+ // TODO - reimplement
+
+ // reference_accessor {}
+
+ // if (args.predictor_accessor) {
+ // predictor_bars = barplot.selectAll('.mg-bar-prediction')
+ // .data(data.filter(function(d) {
+ // return d.hasOwnProperty(args.predictor_accessor) }));
+
+ // predictor_bars.exit().remove();
+
+ // predictor_bars.enter().append('rect')
+ // .classed('mg-bar-prediction', true);
+ // }
+
+ // if (args.baseline_accessor) {
+ // baseline_marks = barplot.selectAll('.mg-bar-baseline')
+ // .data(data.filter(function(d) {
+ // return d.hasOwnProperty(args.baseline_accessor) }));
+
+ // baseline_marks.exit().remove();
+
+ // baseline_marks.enter().append('line')
+ // .classed('mg-bar-baseline', true);
+ // }
+
+ var appropriate_size = void 0;
+
+ // setup transitions
+ // if (should_transition) {
+ // bars = bars.transition()
+ // .duration(transition_duration);
+
+ // if (predictor_bars) {
+ // predictor_bars = predictor_bars.transition()
+ // .duration(transition_duration);
+ // }
+
+ // if (baseline_marks) {
+ // baseline_marks = baseline_marks.transition()
+ // .duration(transition_duration);
+ // }
+ // }
+
+ //appropriate_size = args.scales.Y_ingroup.rangeBand()/1.5;
+ var length = void 0,
+ width = void 0,
+ length_type = void 0,
+ width_type = void 0,
+ length_coord = void 0,
+ width_coord = void 0,
+ length_scalefn = void 0,
+ width_scalefn = void 0,
+ length_scale = void 0,
+ width_scale = void 0,
+ length_accessor = void 0,
+ width_accessor = void 0,
+ length_coord_map = void 0,
+ width_coord_map = void 0,
+ length_map = void 0,
+ width_map = void 0;
+
+ var reference_length_map = void 0,
+ reference_length_coord_fn = void 0;
+
+ if (args.orientation == 'vertical') {
+ length = 'height';
+ width = 'width';
+ length_type = args.y_axis_type;
+ width_type = args.x_axis_type;
+ length_coord = 'y';
+ width_coord = 'x';
+ length_scalefn = length_type == 'categorical' ? args.scalefns.youtf : args.scalefns.yf;
+ width_scalefn = width_type == 'categorical' ? args.scalefns.xoutf : args.scalefns.xf;
+ length_scale = args.scales.Y;
+ width_scale = args.scales.X;
+ length_accessor = args.y_accessor;
+ width_accessor = args.x_accessor;
+
+ length_coord_map = function length_coord_map(d) {
+ var l = void 0;
+ l = length_scalefn(d);
+ if (d[length_accessor] < 0) {
+ l = length_scale(0);
+ }
+ return l;
+ };
+
+ length_map = function length_map(d) {
+ return Math.abs(length_scalefn(d) - length_scale(0));
+ };
+
+ reference_length_map = function reference_length_map(d) {
+ return Math.abs(length_scale(d[args.reference_accessor]) - length_scale(0));
+ };
+
+ reference_length_coord_fn = function reference_length_coord_fn(d) {
+ return length_scale(d[args.reference_accessor]);
+ };
+ }
+
+ if (args.orientation == 'horizontal') {
+ length = 'width';
+ width = 'height';
+ length_type = args.x_axis_type;
+ width_type = args.y_axis_type;
+ length_coord = 'x';
+ width_coord = 'y';
+ length_scalefn = length_type == 'categorical' ? args.scalefns.xoutf : args.scalefns.xf;
+ width_scalefn = width_type == 'categorical' ? args.scalefns.youtf : args.scalefns.yf;
+ length_scale = args.scales.X;
+ width_scale = args.scales.Y;
+ length_accessor = args.x_accessor;
+ width_accessor = args.y_accessor;
+
+ length_coord_map = function length_coord_map(d) {
+ var l = void 0;
+ l = length_scale(0);
+ return l;
+ };
+
+ length_map = function length_map(d) {
+ return Math.abs(length_scalefn(d) - length_scale(0));
+ };
+
+ reference_length_map = function reference_length_map(d) {
+ return Math.abs(length_scale(d[args.reference_accessor]) - length_scale(0));
+ };
+
+ reference_length_coord_fn = function reference_length_coord_fn(d) {
+ return length_scale(0);
+ };
+ }
+
+ // if (perform_load_animation) {
+ // bars.attr(length, 0);
+
+ // if (predictor_bars) {
+ // predictor_bars.attr(length, 0);
+ // }
+
+ // // if (baseline_marks) {
+ // // baseline_marks.attr({
+ // // x1: args.scales.X(0),
+ // // x2: args.scales.X(0)
+ // // });
+ // // }
+ // }
+
+ bars.attr(length_coord, length_coord_map);
+
+ // bars.attr(length_coord, 40)
+ //bars.attr(width_coord, 70)
+
+ bars.attr(width_coord, function (d) {
+ var w = void 0;
+ if (width_type == 'categorical') {
+ w = width_scalefn(d);
+ } else {
+ w = width_scale(0);
+ if (d[width_accessor] < 0) {
+ w = width_scalefn(d);
+ }
+ }
+ w = w - args.bar_thickness / 2;
+ return w;
+ });
+
+ if (args.scales.COLOR) {
+ bars.attr('fill', args.scalefns.colorf);
+ }
+
+ bars.attr(length, length_map).attr(width, function (d) {
+ return args.bar_thickness;
+ });
+
+ if (args.reference_accessor !== null) {
+ var reference_data = data.filter(function (d) {
+ return d.hasOwnProperty(args.reference_accessor);
+ });
+ var reference_bars = barplot.selectAll('.mg-categorical-reference').data(reference_data).enter().append('rect');
+
+ reference_bars.attr(length_coord, reference_length_coord_fn).attr(width_coord, function (d) {
+ return width_scalefn(d) - args.reference_thickness / 2;
+ }).attr(length, reference_length_map).attr(width, args.reference_thickness);
+ }
+
+ if (args.comparison_accessor !== null) {
+ var comparison_thickness = null;
+ if (args.comparison_thickness === null) {
+ comparison_thickness = args.bar_thickness / 2;
+ } else {
+ comparison_thickness = args.comparison_thickness;
+ }
+
+ var comparison_data = data.filter(function (d) {
+ return d.hasOwnProperty(args.comparison_accessor);
+ });
+ var comparison_marks = barplot.selectAll('.mg-categorical-comparison').data(comparison_data).enter().append('line');
+
+ comparison_marks.attr(length_coord + '1', function (d) {
+ return length_scale(d[args.comparison_accessor]);
+ }).attr(length_coord + '2', function (d) {
+ return length_scale(d[args.comparison_accessor]);
+ }).attr(width_coord + '1', function (d) {
+ return width_scalefn(d) - comparison_thickness / 2;
+ }).attr(width_coord + '2', function (d) {
+ return width_scalefn(d) + comparison_thickness / 2;
+ }).attr('stroke', 'black').attr('stroke-width', args.comparison_width);
+ }
+
+ //bars.attr(width_coord, );
+ // bars.attr('width', 50);
+ // bars.attr('height', 50);
+ // bars.attr('y', function(d){
+ // var y = args.scales.Y(0);
+ // if (d[args.y_accessor] < 0) {
+ // y = args.scalefns.yf(d);
+ // }
+ // return y;
+ // });
+
+ // bars.attr('x', function(d){
+ // return 40;
+ // })
+
+ // bars.attr('width', function(d){
+ // return 100;
+ // });
+
+ // bars.attr('height', 100);
+
+ // bars.attr('fill', 'black');
+ // bars.attr('x', function(d) {
+ // var x = args.scales.X(0);
+ // if (d[args.x_accessor] < 0) {
+ // x = args.scalefns.xf(d);
+ // }
+ // return x;
+ // })
+ // TODO - reimplement.
+ // if (args.predictor_accessor) {
+ // predictor_bars
+ // .attr('x', args.scales.X(0))
+ // .attr('y', function(d) {
+ // return args.scalefns.ygroupf(d) + args.scalefns.yf(d) + args.scales.Y.rangeBand() * (7 / 16) // + pp0 * appropriate_size/(pp*2) + appropriate_size / 2;
+ // })
+ // .attr('height', args.scales.Y.rangeBand() / 8) //appropriate_size / pp)
+ // .attr('width', function(d) {
+ // return args.scales.X(d[args.predictor_accessor]) - args.scales.X(0);
+ // });
+ // }
+
+ // TODO - reimplement.
+ // if (args.baseline_accessor) {
+
+ // baseline_marks
+ // .attr('x1', function(d) {
+ // return args.scales.X(d[args.baseline_accessor]); })
+ // .attr('x2', function(d) {
+ // return args.scales.X(d[args.baseline_accessor]); })
+ // .attr('y1', function(d) {
+ // return args.scalefns.ygroupf(d) + args.scalefns.yf(d) + args.scales.Y.rangeBand() / 4
+ // })
+ // .attr('y2', function(d) {
+ // return args.scalefns.ygroupf(d) + args.scalefns.yf(d) + args.scales.Y.rangeBand() * 3 / 4
+ // });
+ // }
+ if (args.legend || args.color_accessor !== null && args.ygroup_accessor !== args.color_accessor) {
+ if (!args.legend_target) legend_on_graph(svg, args);else mg_targeted_legend(args);
+ }
+ return _this3;
+ };
+
+ this.markers = function () {
+ markers(args);
+ return _this3;
+ };
+
+ this.rollover = function () {
+ var svg = mg_get_svg_child_of(args.target);
+ var g = void 0;
+
+ if (svg.selectAll('.mg-active-datapoint-container').nodes().length === 0) {
+ mg_add_g(svg, 'mg-active-datapoint-container');
+ }
+
+ //remove the old rollovers if they already exist
+ svg.selectAll('.mg-rollover-rect').remove();
+ svg.selectAll('.mg-active-datapoint').remove();
+
+ // get orientation
+ var length = void 0,
+ width = void 0,
+ length_type = void 0,
+ width_type = void 0,
+ length_coord = void 0,
+ width_coord = void 0,
+ length_scalefn = void 0,
+ width_scalefn = void 0,
+ length_scale = void 0,
+ width_scale = void 0,
+ length_accessor = void 0,
+ width_accessor = void 0;
+
+ var length_coord_map = void 0,
+ width_coord_map = void 0,
+ length_map = void 0,
+ width_map = void 0;
+
+ if (args.orientation == 'vertical') {
+ length = 'height';
+ width = 'width';
+ length_type = args.y_axis_type;
+ width_type = args.x_axis_type;
+ length_coord = 'y';
+ width_coord = 'x';
+ length_scalefn = length_type == 'categorical' ? args.scalefns.youtf : args.scalefns.yf;
+ width_scalefn = width_type == 'categorical' ? args.scalefns.xoutf : args.scalefns.xf;
+ length_scale = args.scales.Y;
+ width_scale = args.scales.X;
+ length_accessor = args.y_accessor;
+ width_accessor = args.x_accessor;
+
+ length_coord_map = function length_coord_map(d) {
+ return mg_get_plot_top(args);
+ };
+
+ length_map = function length_map(d) {
+ return args.height - args.top - args.bottom - args.buffer * 2;
+ };
+ }
+
+ if (args.orientation == 'horizontal') {
+ length = 'width';
+ width = 'height';
+ length_type = args.x_axis_type;
+ width_type = args.y_axis_type;
+ length_coord = 'x';
+ width_coord = 'y';
+ length_scalefn = length_type == 'categorical' ? args.scalefns.xoutf : args.scalefns.xf;
+ width_scalefn = width_type == 'categorical' ? args.scalefns.youtf : args.scalefns.yf;
+ length_scale = args.scales.X;
+ width_scale = args.scales.Y;
+ length_accessor = args.x_accessor;
+ width_accessor = args.y_accessor;
+
+ length_coord_map = function length_coord_map(d) {
+ var l = void 0;
+ l = length_scale(0);
+ return l;
+ };
+
+ length_map = function length_map(d) {
+ return args.width - args.left - args.right - args.buffer * 2;
+ };
+ }
+
+ //rollover text
+ var rollover_x = void 0,
+ rollover_anchor = void 0;
+ if (args.rollover_align === 'right') {
+ rollover_x = args.width - args.right;
+ rollover_anchor = 'end';
+ } else if (args.rollover_align === 'left') {
+ rollover_x = args.left;
+ rollover_anchor = 'start';
+ } else {
+ rollover_x = (args.width - args.left - args.right) / 2 + args.left;
+ rollover_anchor = 'middle';
+ }
+
+ svg.append('text').attr('class', 'mg-active-datapoint').attr('xml:space', 'preserve').attr('x', rollover_x).attr('y', args.top * 0.75).attr('dy', '.35em').attr('text-anchor', rollover_anchor);
+
+ g = svg.append('g').attr('class', 'mg-rollover-rect');
+
+ //draw rollover bars
+ var bars = g.selectAll(".mg-bar-rollover").data(args.data[0]).enter().append("rect").attr('class', 'mg-bar-rollover');
+
+ bars.attr('opacity', 0).attr(length_coord, length_coord_map).attr(width_coord, function (d) {
+ var w = void 0;
+ if (width_type == 'categorical') {
+ w = width_scalefn(d);
+ } else {
+ w = width_scale(0);
+ if (d[width_accessor] < 0) {
+ w = width_scalefn(d);
+ }
+ }
+ w = w - args.bar_thickness / 2;
+ return w;
+ });
+
+ bars.attr(length, length_map);
+ bars.attr(width, function (d) {
+ return args.bar_thickness;
+ });
+
+ bars.on('mouseover', _this3.rolloverOn(args)).on('mouseout', _this3.rolloverOff(args)).on('mousemove', _this3.rolloverMove(args));
+
+ return _this3;
+ };
+
+ this.rolloverOn = function (args) {
+ var svg = mg_get_svg_child_of(args.target);
+ var label_accessor = _this3.is_vertical ? args.x_accessor : args.y_accessor;
+ var data_accessor = _this3.is_vertical ? args.y_accessor : args.x_accessor;
+ var label_units = _this3.is_vertical ? args.yax_units : args.xax_units;
+
+ return function (d, i) {
+
+ var fmt = MG.time_format(args.utc_time, '%b %e, %Y');
+ var num = format_rollover_number(args);
+
+ //highlight active bar
+ var bar = svg.selectAll('g.mg-barplot .mg-bar').filter(function (d, j) {
+ return j === i;
+ }).classed('active', true);
+
+ if (args.scales.hasOwnProperty('COLOR')) {
+ bar.attr('fill', d3.rgb(args.scalefns.colorf(d)).darker());
+ } else {
+ bar.classed('default-active', true);
+ }
+
+ //update rollover text
+ if (args.show_rollover_text) {
+ var mouseover = mg_mouseover_text(args, { svg: svg });
+ var row = mouseover.mouseover_row();
+
+ if (args.ygroup_accessor) row.text(d[args.ygroup_accessor] + ' ').bold();
+
+ row.text(mg_format_x_mouseover(args, d));
+ row.text(args.y_accessor + ': ' + d[args.y_accessor]);
+ if (args.predictor_accessor || args.baseline_accessor) {
+ row = mouseover.mouseover_row();
+
+ if (args.predictor_accessor) row.text(mg_format_data_for_mouseover(args, d, null, args.predictor_accessor, false));
+ if (args.baseline_accessor) row.text(mg_format_data_for_mouseover(args, d, null, args.baseline_accessor, false));
+ }
+ }
+ if (args.mouseover) {
+ args.mouseover(d, i);
+ }
+ };
+ };
+
+ this.rolloverOff = function (args) {
+ var svg = mg_get_svg_child_of(args.target);
+
+ return function (d, i) {
+ //reset active bar
+ var bar = svg.selectAll('g.mg-barplot .mg-bar.active').classed('active', false);
+
+ if (args.scales.hasOwnProperty('COLOR')) {
+ bar.attr('fill', args.scalefns.colorf(d));
+ } else {
+ bar.classed('default-active', false);
+ }
+
+ //reset active data point text
+ svg.select('.mg-active-datapoint').text('');
+
+ mg_clear_mouseover_container(svg);
+
+ if (args.mouseout) {
+ args.mouseout(d, i);
+ }
+ };
+ };
+
+ this.rolloverMove = function (args) {
+ return function (d, i) {
+ if (args.mousemove) {
+ args.mousemove(d, i);
+ }
+ };
+ };
+
+ this.windowListeners = function () {
+ mg_window_listeners(_this3.args);
+ return _this3;
+ };
+
+ this.init(args);
+ };
+
+ var _defaults3 = {
+ y_padding_percentage: 0.05, // for categorical scales
+ y_outer_padding_percentage: 0.2, // for categorical scales
+ ygroup_padding_percentage: 0, // for categorical scales
+ ygroup_outer_padding_percentage: 0, // for categorical scales
+ x_padding_percentage: 0.05, // for categorical scales
+ x_outer_padding_percentage: 0.2, // for categorical scales
+ xgroup_padding_percentage: 0, // for categorical scales
+ xgroup_outer_padding_percentage: 0, // for categorical scales
+ buffer: 16,
+ y_accessor: 'factor',
+ x_accessor: 'value',
+ reference_accessor: null,
+ comparison_accessor: null,
+ secondary_label_accessor: null,
+ color_accessor: null,
+ color_type: 'category',
+ color_domain: null,
+ reference_thickness: 1,
+ comparison_width: 3,
+ comparison_thickness: null,
+ legend: false,
+ legend_target: null,
+ mouseover_align: 'right',
+ baseline_accessor: null,
+ predictor_accessor: null,
+ predictor_proportion: 5,
+ show_bar_zero: true,
+ binned: true,
+ truncate_x_labels: true,
+ truncate_y_labels: true
+ };
+
+ MG.register('bar', barChart, _defaults3);
+}
+
+/*
+Data Tables
+
+Along with histograms, bars, lines, and scatters, a simple data table can take you far.
+We often just want to look at numbers, organized as a table, where columns are variables,
+and rows are data points. Sometimes we want a cell to have a small graphic as the main
+column element, in which case we want small multiples. sometimes we want to
+
+var table = New data_table(data)
+ .target('div#data-table')
+ .title({accessor: 'point_name', align: 'left'})
+ .description({accessor: 'description'})
+ .number({accessor: ''})
+
+*/
+
+MG.data_table = function (args) {
+ 'use strict';
+
+ this.args = args;
+ this.args.standard_col = { width: 150, font_size: 12, font_weight: 'normal' };
+ this.args.columns = [];
+ this.formatting_options = [['color', 'color'], ['font-weight', 'font_weight'], ['font-style', 'font_style'], ['font-size', 'font_size']];
+
+ this._strip_punctuation = function (s) {
+ var punctuationless = s.replace(/[^a-zA-Z0-9 _]+/g, '');
+ var finalString = punctuationless.replace(/ +?/g, '');
+ return finalString;
+ };
+
+ this._format_element = function (element, value, args) {
+ this.formatting_options.forEach(function (fo) {
+ var attr = fo[0];
+ var key = fo[1];
+ if (args[key]) element.style(attr, typeof args[key] === 'string' || typeof args[key] === 'number' ? args[key] : args[key](value));
+ });
+ };
+
+ this._add_column = function (_args, arg_type) {
+ var standard_column = this.args.standard_col;
+ var args = merge_with_defaults(MG.clone(_args), MG.clone(standard_column));
+ args.type = arg_type;
+ this.args.columns.push(args);
+ };
+
+ this.target = function () {
+ var target = arguments[0];
+ this.args.target = target;
+ return this;
+ };
+
+ this.title = function () {
+ this._add_column(arguments[0], 'title');
+ return this;
+ };
+
+ this.text = function () {
+ this._add_column(arguments[0], 'text');
+ return this;
+ };
+
+ this.bullet = function () {
+ /*
+ text label
+ main value
+ comparative measure
+ any number of ranges
+ additional args:
+ no title
+ xmin, xmax
+ format: percentage
+ xax_formatter
+ */
+ return this;
+ };
+
+ this.sparkline = function () {
+ return this;
+ };
+
+ this.number = function () {
+ this._add_column(arguments[0], 'number');
+ return this;
+ };
+
+ this.display = function () {
+ var args = this.args;
+
+ chart_title(args);
+
+ var target = args.target;
+ var table = d3.select(target).append('table').classed('mg-data-table', true);
+ var colgroup = table.append('colgroup');
+ var thead = table.append('thead');
+ var tbody = table.append('tbody');
+ var this_column;
+ var this_title;
+
+ var tr, th, td_accessor, td_type, td_value, th_text, td_text, td;
+ var col;
+ var h;
+
+ tr = thead.append('tr');
+
+ for (h = 0; h < args.columns.length; h++) {
+ var this_col = args.columns[h];
+ td_type = this_col.type;
+ th_text = this_col.label;
+ th_text = th_text === undefined ? '' : th_text;
+ th = tr.append('th').style('width', this_col.width).style('text-align', td_type === 'title' ? 'left' : 'right').text(th_text);
+
+ if (args.show_tooltips && this_col.description && mg_jquery_exists()) {
+ th.append('i').classed('fa', true).classed('fa-question-circle', true).classed('fa-inverse', true);
+
+ $(th.node()).popover({
+ html: true,
+ animation: false,
+ content: this_col.description,
+ trigger: 'hover',
+ placement: 'top',
+ container: $(th.node())
+ });
+ }
+ }
+
+ for (h = 0; h < args.columns.length; h++) {
+ col = colgroup.append('col');
+ if (args.columns[h].type === 'number') {
+ col.attr('align', 'char').attr('char', '.');
+ }
+ }
+
+ for (var i = 0; i < args.data.length; i++) {
+ tr = tbody.append('tr');
+ for (var j = 0; j < args.columns.length; j++) {
+ this_column = args.columns[j];
+ td_accessor = this_column.accessor;
+ td_value = td_text = args.data[i][td_accessor];
+ td_type = this_column.type;
+
+ if (td_type === 'number') {
+ //td_text may need to be rounded
+ if (this_column.hasOwnProperty('round') && !this_column.hasOwnProperty('format')) {
+ // round according to the number value in this_column.round
+ td_text = d3.format('0,.' + this_column.round + 'f')(td_text);
+ }
+
+ if (this_column.hasOwnProperty('value_formatter')) {
+ // provide a function that formats the text according to the function this_column.format.
+ td_text = this_column.value_formatter(td_text);
+ }
+
+ if (this_column.hasOwnProperty('format')) {
+ // this is a shorthand for percentage formatting, and others if need be.
+ // supported: 'percentage', 'count', 'temperature'
+
+ if (this_column.round) {
+ td_text = Math.round(td_text, this_column.round);
+ }
+
+ var this_format = this_column.format;
+ var formatter;
+
+ if (this_format === 'percentage') formatter = d3.format('.0%');
+ if (this_format === 'count') formatter = d3.format(',.0f');
+ if (this_format === 'temperature') formatter = function formatter(t) {
+ return t + '°';
+ };
+
+ td_text = formatter(td_text);
+ }
+
+ if (this_column.hasOwnProperty('currency')) {
+ // this is another shorthand for formatting according to a currency amount, which gets appended to front of number
+ td_text = this_column.currency + td_text;
+ }
+ }
+
+ td = tr.append('td').classed('table-' + td_type, true).classed('table-' + td_type + '-' + this._strip_punctuation(td_accessor), true).attr('data-value', td_value).style('width', this_column.width).style('text-align', td_type === 'title' || td_type === 'text' ? 'left' : 'right');
+
+ this._format_element(td, td_value, this_column);
+
+ if (td_type === 'title') {
+ this_title = td.append('div').text(td_text);
+ this._format_element(this_title, td_text, this_column);
+
+ if (args.columns[j].hasOwnProperty('secondary_accessor')) {
+ td.append('div').text(args.data[i][args.columns[j].secondary_accessor]).classed("secondary-title", true);
+ }
+ } else {
+ td.text(td_text);
+ }
+ }
+ }
+
+ return this;
+ };
+
+ return this;
+};
+
+{
+ var mg_missing_add_text = function mg_missing_add_text(svg, _ref38) {
+ var missing_text = _ref38.missing_text,
+ width = _ref38.width,
+ height = _ref38.height;
+
+ svg.selectAll('.mg-missing-text').data([missing_text]).enter().append('text').attr('class', 'mg-missing-text').attr('x', width / 2).attr('y', height / 2).attr('dy', '.50em').attr('text-anchor', 'middle').text(missing_text);
+ };
+
+ var mg_missing_x_scale = function mg_missing_x_scale(args) {
+ args.scales.X = d3.scaleLinear().domain([0, args.data.length]).range([mg_get_plot_left(args), mg_get_plot_right(args)]);
+ args.scalefns.yf = function (_ref39) {
+ var y = _ref39.y;
+ return args.scales.Y(y);
+ };
+ };
+
+ var mg_missing_y_scale = function mg_missing_y_scale(args) {
+ args.scales.Y = d3.scaleLinear().domain([-2, 2]).range([args.height - args.bottom - args.buffer * 2, args.top]);
+ args.scalefns.xf = function (_ref40) {
+ var x = _ref40.x;
+ return args.scales.X(x);
+ };
+ };
+
+ var mg_make_fake_data = function mg_make_fake_data(args) {
+ var data = [];
+ for (var x = 1; x <= 50; x++) {
+ data.push({ x: x, y: Math.random() - x * 0.03 });
+ }
+ args.data = data;
+ };
+
+ var mg_add_missing_background_rect = function mg_add_missing_background_rect(g, _ref41) {
+ var title = _ref41.title,
+ buffer = _ref41.buffer,
+ title_y_position = _ref41.title_y_position,
+ width = _ref41.width,
+ height = _ref41.height;
+
+ g.append('svg:rect').classed('mg-missing-background', true).attr('x', buffer).attr('y', buffer + (title ? title_y_position : 0) * 2).attr('width', width - buffer * 2).attr('height', height - buffer * 2 - (title ? title_y_position : 0) * 2).attr('rx', 15).attr('ry', 15);
+ };
+
+ var mg_missing_add_line = function mg_missing_add_line(g, _ref42) {
+ var scalefns = _ref42.scalefns,
+ interpolate = _ref42.interpolate,
+ data = _ref42.data;
+
+ var line = d3.line().x(scalefns.xf).y(scalefns.yf).curve(interpolate);
+
+ g.append('path').attr('class', 'mg-main-line mg-line1-color').attr('d', line(data));
+ };
+
+ var mg_missing_add_area = function mg_missing_add_area(g, _ref43) {
+ var scalefns = _ref43.scalefns,
+ scales = _ref43.scales,
+ interpolate = _ref43.interpolate,
+ data = _ref43.data;
+
+ var area = d3.area().x(scalefns.xf).y0(scales.Y.range()[0]).y1(scalefns.yf).curve(interpolate);
+
+ g.append('path').attr('class', 'mg-main-area mg-area1-color').attr('d', area(data));
+ };
+
+ var mg_remove_all_children = function mg_remove_all_children(_ref44) {
+ var target = _ref44.target;
+
+ d3.select(target).selectAll('svg *').remove();
+ };
+
+ var mg_missing_remove_legend = function mg_missing_remove_legend(_ref45) {
+ var legend_target = _ref45.legend_target;
+
+ if (legend_target) {
+ d3.select(legend_target).html('');
+ }
+ };
+
+ var missingData = function missingData(args) {
+ var _this4 = this;
+
+ this.init = function (args) {
+ _this4.args = args;
+
+ mg_init_compute_width(args);
+ mg_init_compute_height(args);
+
+ // create svg if one doesn't exist
+
+ var container = d3.select(args.target);
+ mg_raise_container_error(container, args);
+ var svg = container.selectAll('svg');
+ mg_remove_svg_if_chart_type_has_changed(svg, args);
+ svg = mg_add_svg_if_it_doesnt_exist(svg, args);
+ mg_adjust_width_and_height_if_changed(svg, args);
+ mg_set_viewbox_for_scaling(svg, args);
+ mg_remove_all_children(args);
+
+ svg.classed('mg-missing', true);
+ mg_missing_remove_legend(args);
+
+ chart_title(args);
+
+ // are we adding a background placeholder
+ if (args.show_missing_background) {
+ mg_make_fake_data(args);
+ mg_missing_x_scale(args);
+ mg_missing_y_scale(args);
+ var g = mg_add_g(svg, 'mg-missing-pane');
+
+ mg_add_missing_background_rect(g, args);
+ mg_missing_add_line(g, args);
+ mg_missing_add_area(g, args);
+ }
+
+ mg_missing_add_text(svg, args);
+
+ _this4.windowListeners();
+
+ return _this4;
+ };
+
+ this.windowListeners = function () {
+ mg_window_listeners(_this4.args);
+ return _this4;
+ };
+
+ this.init(args);
+ };
+
+ var _defaults4 = {
+ top: 40, // the size of the top margin
+ bottom: 30, // the size of the bottom margin
+ right: 10, // size of the right margin
+ left: 0, // size of the left margin
+ buffer: 8, // the buffer between the actual chart area and the margins
+ legend_target: '',
+ width: 350,
+ height: 220,
+ missing_text: 'Data currently missing or unavailable',
+ scalefns: {},
+ scales: {},
+ show_tooltips: true,
+ show_missing_background: true
+ };
+
+ MG.register('missing-data', missingData, _defaults4);
+}
+function mg_process_scale_ticks(args, axis) {
+ var accessor;
+ var scale_ticks;
+ var max;
+
+ if (axis === 'x') {
+ accessor = args.x_accessor;
+ scale_ticks = args.scales.X.ticks(args.xax_count);
+ max = args.processed.max_x;
+ } else if (axis === 'y') {
+ accessor = args.y_accessor;
+ scale_ticks = args.scales.Y.ticks(args.yax_count);
+ max = args.processed.max_y;
+ }
+
+ function log10(val) {
+ if (val === 1000) {
+ return 3;
+ }
+ if (val === 1000000) {
+ return 7;
+ }
+ return Math.log(val) / Math.LN10;
+ }
+
+ if (axis === 'x' && args.x_scale_type === 'log' || axis === 'y' && args.y_scale_type === 'log') {
+ // get out only whole logs
+ scale_ticks = scale_ticks.filter(function (d) {
+ return Math.abs(log10(d)) % 1 < 1e-6 || Math.abs(log10(d)) % 1 > 1 - 1e-6;
+ });
+ }
+
+ // filter out fraction ticks if our data is ints and if xmax > number of generated ticks
+ var number_of_ticks = scale_ticks.length;
+
+ // is our data object all ints?
+ var data_is_int = true;
+ args.data.forEach(function (d, i) {
+ d.forEach(function (d, i) {
+ if (d[accessor] % 1 !== 0) {
+ data_is_int = false;
+ return false;
+ }
+ });
+ });
+
+ if (data_is_int && number_of_ticks > max && args.format === 'count') {
+ // remove non-integer ticks
+ scale_ticks = scale_ticks.filter(function (d) {
+ return d % 1 === 0;
+ });
+ }
+
+ if (axis === 'x') {
+ args.processed.x_ticks = scale_ticks;
+ } else if (axis === 'y') {
+ args.processed.y_ticks = scale_ticks;
+ }
+}
+
+function raw_data_transformation(args) {
+ 'use strict';
+
+ // dupe our data so we can modify it without adverse effect
+
+ args.data = MG.clone(args.data);
+
+ // we need to account for a few data format cases:
+ // #0 {bar1:___, bar2:___} // single object (for, say, bar charts)
+ // #1 [{key:__, value:__}, ...] // unnested obj-arrays
+ // #2 [[{key:__, value:__}, ...], [{key:__, value:__}, ...]] // nested obj-arrays
+ // #3 [[4323, 2343],..] // unnested 2d array
+ // #4 [[[4323, 2343],..] , [[4323, 2343],..]] // nested 2d array
+ args.single_object = false; // for bar charts.
+ args.array_of_objects = false;
+ args.array_of_arrays = false;
+ args.nested_array_of_arrays = false;
+ args.nested_array_of_objects = false;
+
+ // is the data object a nested array?
+
+ if (is_array_of_arrays(args.data)) {
+ args.nested_array_of_objects = args.data.map(function (d) {
+ return is_array_of_objects_or_empty(d);
+ }); // Case #2
+ args.nested_array_of_arrays = args.data.map(function (d) {
+ return is_array_of_arrays(d);
+ }); // Case #4
+ } else {
+ args.array_of_objects = is_array_of_objects(args.data); // Case #1
+ args.array_of_arrays = is_array_of_arrays(args.data); // Case #3
+ }
+
+ if (args.chart_type === 'line') {
+ if (args.array_of_objects || args.array_of_arrays) {
+ args.data = [args.data];
+ }
+ } else {
+ if (!mg_is_array(args.data[0])) {
+ args.data = [args.data];
+ }
+ }
+ // if the y_accessor is an array, break it up and store the result in args.data
+ mg_process_multiple_x_accessors(args);
+ mg_process_multiple_y_accessors(args);
+
+ // if user supplies keyword in args.color, change to arg.colors.
+ // this is so that the API remains fairly sensible and legible.
+ if (args.color !== undefined) {
+ args.colors = args.color;
+ }
+
+ // if user has supplied args.colors, and that value is a string, turn it into an array.
+ if (args.colors !== null && typeof args.colors === 'string') {
+ args.colors = [args.colors];
+ }
+
+ // sort x-axis data
+ if (args.chart_type === 'line' && args.x_sort === true) {
+ for (var i = 0; i < args.data.length; i++) {
+ args.data[i].sort(function (a, b) {
+ return a[args.x_accessor] - b[args.x_accessor];
+ });
+ }
+ }
+
+ return this;
+}
+
+function mg_process_multiple_accessors(args, which_accessor) {
+ // turns an array of accessors into ...
+ if (mg_is_array(args[which_accessor])) {
+ args.data = args.data.map(function (_d) {
+ return args[which_accessor].map(function (ya) {
+ return _d.map(function (di) {
+ di = MG.clone(di);
+
+ if (di[ya] === undefined) {
+ return undefined;
+ }
+
+ di['multiline_' + which_accessor] = di[ya];
+ return di;
+ }).filter(function (di) {
+ return di !== undefined;
+ });
+ });
+ })[0];
+ args[which_accessor] = 'multiline_' + which_accessor;
+ }
+}
+
+function mg_process_multiple_x_accessors(args) {
+ mg_process_multiple_accessors(args, 'x_accessor');
+}
+
+function mg_process_multiple_y_accessors(args) {
+ mg_process_multiple_accessors(args, 'y_accessor');
+}
+
+MG.raw_data_transformation = raw_data_transformation;
+
+function process_line(args) {
+ 'use strict';
+
+ var time_frame;
+
+ // do we have a time-series?
+ var is_time_series = d3.sum(args.data.map(function (series) {
+ return series.length > 0 && mg_is_date(series[0][args.x_accessor]);
+ })) > 0;
+
+ // are we replacing missing y values with zeros?
+ if ((args.missing_is_zero || args.missing_is_hidden) && args.chart_type === 'line' && is_time_series) {
+ for (var i = 0; i < args.data.length; i++) {
+ // we need to have a dataset of length > 2, so if it's less than that, skip
+ if (args.data[i].length <= 1) {
+ continue;
+ }
+
+ var first = args.data[i][0];
+ var last = args.data[i][args.data[i].length - 1];
+
+ // initialize our new array for storing the processed data
+ var processed_data = [];
+
+ // we'll be starting from the day after our first date
+ var start_date = MG.clone(first[args.x_accessor]).setDate(first[args.x_accessor].getDate() + 1);
+
+ // if we've set a max_x, add data points up to there
+ var from = args.min_x ? args.min_x : start_date;
+ var upto = args.max_x ? args.max_x : last[args.x_accessor];
+
+ time_frame = mg_get_time_frame((upto - from) / 1000);
+
+ if (['four-days', 'many-days', 'many-months', 'years', 'default'].indexOf(time_frame) !== -1 && args.missing_is_hidden_accessor === null) {
+ for (var d = new Date(from); d <= upto; d.setDate(d.getDate() + 1)) {
+ var o = {};
+ d.setHours(0, 0, 0, 0);
+
+ // add the first date item, we'll be starting from the day after our first date
+ if (Date.parse(d) === Date.parse(new Date(start_date))) {
+ processed_data.push(MG.clone(args.data[i][0]));
+ }
+
+ // check to see if we already have this date in our data object
+ var existing_o = null;
+ args.data[i].forEach(function (val, i) {
+ if (Date.parse(val[args.x_accessor]) === Date.parse(new Date(d))) {
+ existing_o = val;
+
+ return false;
+ }
+ });
+
+ // if we don't have this date in our data object, add it and set it to zero
+ if (!existing_o) {
+ o[args.x_accessor] = new Date(d);
+ o[args.y_accessor] = 0;
+ o['_missing'] = true; //we want to distinguish between zero-value and missing observations
+ processed_data.push(o);
+ }
+
+ // if the data point has, say, a 'missing' attribute set or if its
+ // y-value is null identify it internally as missing
+ else if (existing_o[args.missing_is_hidden_accessor] || existing_o[args.y_accessor] === null) {
+ existing_o['_missing'] = true;
+ processed_data.push(existing_o);
+ }
+
+ //otherwise, use the existing object for that date
+ else {
+ processed_data.push(existing_o);
+ }
+ }
+ } else {
+ for (var j = 0; j < args.data[i].length; j += 1) {
+ var obj = MG.clone(args.data[i][j]);
+ obj['_missing'] = args.data[i][j][args.missing_is_hidden_accessor];
+ processed_data.push(obj);
+ }
+ }
+
+ // update our date object
+ args.data[i] = processed_data;
+ }
+ }
+
+ return this;
+}
+
+MG.process_line = process_line;
+
+function process_histogram(args) {
+ 'use strict';
+
+ // if args.binned == false, then we need to bin the data appropriately.
+ // if args.binned == true, then we need to make sure to compute the relevant computed data.
+ // the outcome of either of these should be something in args.computed_data.
+ // the histogram plotting function will be looking there for the data to plot.
+
+ // we need to compute an array of objects.
+ // each object has an x, y, and dx.
+
+ // histogram data is always single dimension
+
+ var our_data = args.data[0];
+
+ var extracted_data;
+ if (args.binned === false) {
+ // use d3's built-in layout.histogram functionality to compute what you need.
+
+ if (_typeof(our_data[0]) === 'object') {
+ // we are dealing with an array of objects. Extract the data value of interest.
+ extracted_data = our_data.map(function (d) {
+ return d[args.x_accessor];
+ });
+ } else if (typeof our_data[0] === 'number') {
+ // we are dealing with a simple array of numbers. No extraction needed.
+ extracted_data = our_data;
+ } else {
+ console.log('TypeError: expected an array of numbers, found ' + _typeof(our_data[0]));
+ return;
+ }
+
+ var hist = d3.histogram();
+ if (args.bins) {
+ hist.thresholds(args.bins);
+ }
+
+ var bins = hist(extracted_data);
+ args.processed_data = bins.map(function (d) {
+ return { 'x': d.x0, 'y': d.length };
+ });
+ } else {
+ // here, we just need to reconstruct the array of objects
+ // take the x accessor and y accessor.
+ // pull the data as x and y. y is count.
+
+ args.processed_data = our_data.map(function (d) {
+ return { 'x': d[args.x_accessor], 'y': d[args.y_accessor] };
+ });
+
+ var this_pt;
+ var next_pt;
+
+ // we still need to compute the dx component for each data point
+ for (var i = 0; i < args.processed_data.length; i++) {
+ this_pt = args.processed_data[i];
+ if (i === args.processed_data.length - 1) {
+ this_pt.dx = args.processed_data[i - 1].dx;
+ } else {
+ next_pt = args.processed_data[i + 1];
+ this_pt.dx = next_pt.x - this_pt.x;
+ }
+ }
+ }
+
+ // capture the original data and accessors before replacing args.data
+ if (!args.processed) {
+ args.processed = {};
+ }
+ args.processed.original_data = args.data;
+ args.processed.original_x_accessor = args.x_accessor;
+ args.processed.original_y_accessor = args.y_accessor;
+
+ args.data = [args.processed_data];
+ args.x_accessor = args.processed_x_accessor;
+ args.y_accessor = args.processed_y_accessor;
+
+ return this;
+}
+
+MG.process_histogram = process_histogram;
+
+// for use with bar charts, etc.
+function process_categorical_variables(args) {
+ 'use strict';
+
+ var extracted_data,
+ processed_data = {},
+ pd = [];
+ //var our_data = args.data[0];
+ var label_accessor = args.bar_orientation === 'vertical' ? args.x_accessor : args.y_accessor;
+ var data_accessor = args.bar_orientation === 'vertical' ? args.y_accessor : args.x_accessor;
+
+ return this;
+}
+
+MG.process_categorical_variables = process_categorical_variables;
+
+function process_point(args) {
+ 'use strict';
+
+ var data = args.data[0];
+ var x = data.map(function (d) {
+ return d[args.x_accessor];
+ });
+ var y = data.map(function (d) {
+ return d[args.y_accessor];
+ });
+
+ if (args.least_squares) {
+ args.ls_line = least_squares(x, y);
+ }
+
+ return this;
+}
+
+MG.process_point = process_point;
+
+function add_ls(args) {
+ var svg = mg_get_svg_child_of(args.target);
+ var data = args.data[0];
+ var min_x = d3.min(data, function (d) {
+ return d[args.x_accessor];
+ });
+ var max_x = d3.max(data, function (d) {
+ return d[args.x_accessor];
+ });
+
+ d3.select(args.target).selectAll('.mg-least-squares-line').remove();
+
+ svg.append('svg:line').attr('x1', args.scales.X(min_x)).attr('x2', args.scales.X(max_x)).attr('y1', args.scales.Y(args.ls_line.fit(min_x))).attr('y2', args.scales.Y(args.ls_line.fit(max_x))).attr('class', 'mg-least-squares-line');
+}
+
+MG.add_ls = add_ls;
+
+function add_lowess(args) {
+ var svg = mg_get_svg_child_of(args.target);
+ var lowess = args.lowess_line;
+
+ var line = d3.svg.line().x(function (d) {
+ return args.scales.X(d.x);
+ }).y(function (d) {
+ return args.scales.Y(d.y);
+ }).interpolate(args.interpolate);
+
+ svg.append('path').attr('d', line(lowess)).attr('class', 'mg-lowess-line');
+}
+
+MG.add_lowess = add_lowess;
+
+function lowess_robust(x, y, alpha, inc) {
+ // Used http://www.unc.edu/courses/2007spring/biol/145/001/docs/lectures/Oct27.html
+ // for the clear explanation of robust lowess.
+
+ // calculate the the first pass.
+ var _l;
+ var r = [];
+ var yhat = d3.mean(y);
+ var i;
+ for (i = 0; i < x.length; i += 1) {
+ r.push(1);
+ }
+ _l = _calculate_lowess_fit(x, y, alpha, inc, r);
+ var x_proto = _l.x;
+ var y_proto = _l.y;
+
+ // Now, take the fit, recalculate the weights, and re-run LOWESS using r*w instead of w.
+
+ for (i = 0; i < 100; i += 1) {
+ r = d3.zip(y_proto, y).map(function (yi) {
+ return Math.abs(yi[1] - yi[0]);
+ });
+
+ var q = d3.quantile(r.sort(), 0.5);
+
+ r = r.map(function (ri) {
+ return _bisquare_weight(ri / (6 * q));
+ });
+
+ _l = _calculate_lowess_fit(x, y, alpha, inc, r);
+ x_proto = _l.x;
+ y_proto = _l.y;
+ }
+
+ return d3.zip(x_proto, y_proto).map(function (d) {
+ var p = {};
+ p.x = d[0];
+ p.y = d[1];
+ return p;
+ });
+}
+
+MG.lowess_robust = lowess_robust;
+
+function lowess(x, y, alpha, inc) {
+ var r = [];
+ for (var i = 0; i < x.length; i += 1) {
+ r.push(1);
+ }
+ var _l = _calculate_lowess_fit(x, y, alpha, inc, r);
+}
+
+MG.lowess = lowess;
+
+function least_squares(x_, y_) {
+ var x,
+ y,
+ xi,
+ yi,
+ _x = 0,
+ _y = 0,
+ _xy = 0,
+ _xx = 0;
+
+ var n = x_.length;
+ if (mg_is_date(x_[0])) {
+ x = x_.map(function (d) {
+ return d.getTime();
+ });
+ } else {
+ x = x_;
+ }
+
+ if (mg_is_date(y_[0])) {
+ y = y_.map(function (d) {
+ return d.getTime();
+ });
+ } else {
+ y = y_;
+ }
+
+ var xhat = d3.mean(x);
+ var yhat = d3.mean(y);
+ var numerator = 0,
+ denominator = 0;
+
+ for (var i = 0; i < x.length; i++) {
+ xi = x[i];
+ yi = y[i];
+ numerator += (xi - xhat) * (yi - yhat);
+ denominator += (xi - xhat) * (xi - xhat);
+ }
+
+ var beta = numerator / denominator;
+ var x0 = yhat - beta * xhat;
+
+ return {
+ x0: x0,
+ beta: beta,
+ fit: function fit(x) {
+ return x0 + x * beta;
+ }
+ };
+}
+
+MG.least_squares = least_squares;
+
+function _pow_weight(u, w) {
+ if (u >= 0 && u <= 1) {
+ return Math.pow(1 - Math.pow(u, w), w);
+ } else {
+ return 0;
+ }
+}
+
+function _bisquare_weight(u) {
+ return _pow_weight(u, 2);
+}
+
+function _tricube_weight(u) {
+ return _pow_weight(u, 3);
+}
+
+function _neighborhood_width(x0, xis) {
+ return Array.max(xis.map(function (xi) {
+ return Math.abs(x0 - xi);
+ }));
+}
+
+function _manhattan(x1, x2) {
+ return Math.abs(x1 - x2);
+}
+
+function _weighted_means(wxy) {
+ var wsum = d3.sum(wxy.map(function (wxyi) {
+ return wxyi.w;
+ }));
+
+ return {
+ xbar: d3.sum(wxy.map(function (wxyi) {
+ return wxyi.w * wxyi.x;
+ })) / wsum,
+ ybar: d3.sum(wxy.map(function (wxyi) {
+ return wxyi.w * wxyi.y;
+ })) / wsum
+ };
+}
+
+function _weighted_beta(wxy, xbar, ybar) {
+ var num = d3.sum(wxy.map(function (wxyi) {
+ return Math.pow(wxyi.w, 2) * (wxyi.x - xbar) * (wxyi.y - ybar);
+ }));
+
+ var denom = d3.sum(wxy.map(function (wxyi) {
+ return Math.pow(wxyi.w, 2) * Math.pow(wxyi.x - xbar, 2);
+ }));
+
+ return num / denom;
+}
+
+function _weighted_least_squares(wxy) {
+ var ybar, xbar, beta_i, x0;
+
+ var _wm = _weighted_means(wxy);
+
+ xbar = _wm.xbar;
+ ybar = _wm.ybar;
+
+ var beta = _weighted_beta(wxy, xbar, ybar);
+
+ return {
+ beta: beta,
+ xbar: xbar,
+ ybar: ybar,
+ x0: ybar - beta * xbar
+
+ };
+}
+
+function _calculate_lowess_fit(x, y, alpha, inc, residuals) {
+ // alpha - smoothing factor. 0 < alpha < 1/
+ //
+ //
+ var k = Math.floor(x.length * alpha);
+
+ var sorted_x = x.slice();
+
+ sorted_x.sort(function (a, b) {
+ if (a < b) {
+ return -1;
+ } else if (a > b) {
+ return 1;
+ }
+
+ return 0;
+ });
+
+ var x_max = d3.quantile(sorted_x, 0.98);
+ var x_min = d3.quantile(sorted_x, 0.02);
+
+ var xy = d3.zip(x, y, residuals).sort();
+
+ var size = Math.abs(x_max - x_min) / inc;
+
+ var smallest = x_min;
+ var largest = x_max;
+ var x_proto = d3.range(smallest, largest, size);
+
+ var xi_neighbors;
+ var x_i, beta_i, x0_i, delta_i, xbar, ybar;
+
+ // for each prototype, find its fit.
+ var y_proto = [];
+
+ for (var i = 0; i < x_proto.length; i += 1) {
+ x_i = x_proto[i];
+
+ // get k closest neighbors.
+ xi_neighbors = xy.map(function (xyi) {
+ return [Math.abs(xyi[0] - x_i), xyi[0], xyi[1], xyi[2]];
+ }).sort().slice(0, k);
+
+ // Get the largest distance in the neighbor set.
+ delta_i = d3.max(xi_neighbors)[0];
+
+ // Prepare the weights for mean calculation and WLS.
+
+ xi_neighbors = xi_neighbors.map(function (wxy) {
+ return {
+ w: _tricube_weight(wxy[0] / delta_i) * wxy[3],
+ x: wxy[1],
+ y: wxy[2]
+ };
+ });
+
+ // Find the weighted least squares, obviously.
+ var _output = _weighted_least_squares(xi_neighbors);
+
+ x0_i = _output.x0;
+ beta_i = _output.beta;
+
+ //
+ y_proto.push(x0_i + beta_i * x_i);
+ }
+
+ return { x: x_proto, y: y_proto };
+}
+
+function format_rollover_number(args) {
+ var num;
+ if (args.format === 'count') {
+ num = function num(d) {
+ var is_float = d % 1 !== 0;
+ var pf;
+
+ if (is_float) {
+ pf = d3.format(',.' + args.decimals + 'f');
+ } else {
+ pf = d3.format(',.0f');
+ }
+
+ // are we adding units after the value or before?
+ if (args.yax_units_append) {
+ return pf(d) + args.yax_units;
+ } else {
+ return args.yax_units + pf(d);
+ }
+ };
+ } else {
+ num = function num(d_) {
+ var fmt_string = (args.decimals ? '.' + args.decimals : '') + '%';
+ var pf = d3.format(fmt_string);
+ return pf(d_);
+ };
+ }
+ return num;
+}
+
+var time_rollover_format = function time_rollover_format(f, d, accessor, utc) {
+ var fd;
+ if (typeof f === 'string') {
+ fd = MG.time_format(utc, f)(d[accessor]);
+ } else if (typeof f === 'function') {
+ fd = f(d);
+ } else {
+ fd = d[accessor];
+ }
+ return fd;
+};
+
+// define our rollover format for numbers
+var number_rollover_format = function number_rollover_format(f, d, accessor) {
+ var fd;
+ if (typeof f === 'string') {
+ fd = d3.format('s')(d[accessor]);
+ } else if (typeof f === 'function') {
+ fd = f(d);
+ } else {
+ fd = d[accessor];
+ }
+ return fd;
+};
+
+function mg_format_y_rollover(args, num, d) {
+ var formatted_y;
+ if (args.y_mouseover !== null) {
+ if (args.aggregate_rollover) {
+ formatted_y = number_rollover_format(args.y_mouseover, d, args.y_accessor);
+ } else {
+ formatted_y = number_rollover_format(args.y_mouseover, d, args.y_accessor);
+ }
+ } else {
+ if (args.time_series) {
+ if (args.aggregate_rollover) {
+ formatted_y = num(d[args.y_accessor]);
+ } else {
+ formatted_y = args.yax_units + num(d[args.y_accessor]);
+ }
+ } else {
+ formatted_y = args.y_accessor + ': ' + args.yax_units + num(d[args.y_accessor]);
+ }
+ }
+ return formatted_y;
+}
+
+function mg_format_x_rollover(args, fmt, d) {
+ var formatted_x;
+ if (args.x_mouseover !== null) {
+ if (args.time_series) {
+ if (args.aggregate_rollover) {
+ formatted_x = time_rollover_format(args.x_mouseover, d, 'key', args.utc);
+ } else {
+ formatted_x = time_rollover_format(args.x_mouseover, d, args.x_accessor, args.utc);
+ }
+ } else {
+ formatted_x = number_rollover_format(args.x_mouseover, d, args.x_accessor);
+ }
+ } else {
+ if (args.time_series) {
+ var date;
+
+ if (args.aggregate_rollover && args.data.length > 1) {
+ date = new Date(d.key);
+ } else {
+ date = new Date(+d[args.x_accessor]);
+ date.setDate(date.getDate());
+ }
+
+ formatted_x = fmt(date) + ' ';
+ } else {
+ formatted_x = args.x_accessor + ': ' + d[args.x_accessor] + ' ';
+ }
+ }
+ return formatted_x;
+}
+
+function mg_format_data_for_mouseover(args, d, mouseover_fcn, accessor, check_time) {
+ var formatted_data, formatter;
+ var time_fmt = mg_get_rollover_time_format(args);
+ if (typeof d[accessor] === 'string') {
+ formatter = function formatter(d) {
+ return d;
+ };
+ } else {
+ formatter = format_rollover_number(args);
+ }
+
+ if (mouseover_fcn !== null) {
+ if (check_time) formatted_data = time_rollover_format(mouseover_fcn, d, accessor, args.utc);else formatted_data = number_rollover_format(mouseover_fcn, d, accessor);
+ } else {
+ if (check_time) formatted_data = time_fmt(new Date(+d[accessor])) + ' ';else formatted_data = (args.time_series ? '' : accessor + ': ') + formatter(d[accessor]) + ' ';
+ }
+ return formatted_data;
+}
+
+function mg_format_number_mouseover(args, d) {
+ return mg_format_data_for_mouseover(args, d, args.x_mouseover, args.x_accessor, false);
+}
+
+function mg_format_x_mouseover(args, d) {
+ return mg_format_data_for_mouseover(args, d, args.x_mouseover, args.x_accessor, args.time_series);
+}
+
+function mg_format_y_mouseover(args, d) {
+ return mg_format_data_for_mouseover(args, d, args.y_mouseover, args.y_accessor, false);
+}
+
+function mg_format_x_aggregate_mouseover(args, d) {
+ return mg_format_data_for_mouseover(args, d, args.x_mouseover, 'key', args.time_series);
+}
+
+MG.format_rollover_number = format_rollover_number;
+
+// http://bl.ocks.org/mbostock/3916621
+function path_tween(d1, precision) {
+ return function () {
+ var path0 = this,
+ path1 = path0.cloneNode(),
+ n0 = path0.getTotalLength() || 0,
+ n1 = (path1.setAttribute("d", d1), path1).getTotalLength() || 0;
+
+ // Uniform sampling of distance based on specified precision.
+ var distances = [0],
+ i = 0,
+ dt = precision / Math.max(n0, n1);
+ while ((i += dt) < 1) {
+ distances.push(i);
+ }distances.push(1);
+
+ // Compute point-interpolators at each distance.
+ var points = distances.map(function (t) {
+ var p0 = path0.getPointAtLength(t * n0),
+ p1 = path1.getPointAtLength(t * n1);
+ return d3.interpolate([p0.x, p0.y], [p1.x, p1.y]);
+ });
+
+ return function (t) {
+ return t < 1 ? "M" + points.map(function (p) {
+ return p(t);
+ }).join("L") : d1;
+ };
+ };
+}
+
+MG.path_tween = path_tween;
+
+// influenced by https://bl.ocks.org/tomgp/c99a699587b5c5465228
+
+function render_markup_for_server(callback) {
+ var virtual_window = MG.virtual_window;
+ var virtual_d3 = d3.select(virtual_window.document);
+ var target = virtual_window.document.createElement('div');
+
+ var original_d3 = global.d3;
+ var original_window = global.window;
+ var original_document = global.document;
+ global.d3 = virtual_d3;
+ global.window = virtual_window;
+ global.document = virtual_window.document;
+
+ var error;
+ try {
+ callback(target);
+ } catch (e) {
+ error = e;
+ }
+
+ global.d3 = original_d3;
+ global.window = original_window;
+ global.document = original_document;
+
+ if (error) {
+ throw error;
+ }
+
+ /* for some reason d3.select parses jsdom elements incorrectly
+ * but it works if we wrap the element in a function.
+ */
+ return virtual_d3.select(function targetFn() {
+ return target;
+ }).html();
+}
+
+function render_markup_for_client(callback) {
+ var target = document.createElement('div');
+ callback(target);
+ return d3.select(target).html();
+}
+
+function render_markup(callback) {
+ switch (typeof window === 'undefined' ? 'undefined' : _typeof(window)) {
+ case 'undefined':
+ return render_markup_for_server(callback);
+ default:
+ return render_markup_for_client(callback);
+ }
+}
+
+function init_virtual_window(jsdom, force) {
+ if (MG.virtual_window && !force) {
+ return;
+ }
+
+ var doc = jsdom.jsdom({
+ html: '',
+ features: { QuerySelector: true }
+ });
+ MG.virtual_window = doc.defaultView;
+}
+
+MG.render_markup = render_markup;
+MG.init_virtual_window = init_virtual_window;
+
+// call this to add a warning icon to a graph and log an error to the console
+function error(args) {
+ console.error('ERROR : ', args.target, ' : ', args.error);
+
+ d3.select(args.target).select('.mg-chart-title').append('tspan').attr('class', 'fa fa-x fa-exclamation-circle mg-warning').attr('dx', '0.3em').text('\uF06A');
+}
+
+function internal_error(args) {
+ console.error('INTERNAL ERROR : ', args.target, ' : ', args.internal_error);
+}
+
+MG.error = error;
+return MG;
+}));
diff --git a/priv/static/metrics-graphics-3.0-alpha3/examples/charts/annotations.htm b/priv/static/metrics-graphics-3.0-alpha3/examples/charts/annotations.htm
new file mode 100644
index 0000000..5bd4d11
--- /dev/null
+++ b/priv/static/metrics-graphics-3.0-alpha3/examples/charts/annotations.htm
@@ -0,0 +1,338 @@
+ <div class='row trunk-section'>
+ <div class='col-lg-7 text-center' id='markers'></div>
+ <div class='col-lg-5'>
+ <div class='data-column'><a href='data/some_percentage.json'>data</a></div>
+
+<pre><code class='javascript'>d3.json('data/some_percentage.json', function(data) {
+ for (var i = 0; i < data.length; i++) {
+ data[i] = MG.convert.date(data[i], 'date');
+ }
+
+ var markers = [{
+ 'date': new Date('2014-02-01T00:00:00.000Z'),
+ 'label': '1st Milestone'
+ }, {
+ 'date': new Date('2014-03-15T00:00:00.000Z'),
+ 'label': '2nd Milestone'
+ }];
+
+ MG.data_graphic({
+ title: "Markers",
+ description: "Markers are vertical lines that can be added at arbitrary points. Markers that are close to each other won't collide.",
+ data: data,
+ width: 600,
+ height: 200,
+ right: 40,
+ markers: markers,
+ format: 'percentage',
+ target: '#markers'
+ });
+});</code></pre>
+
+ </div>
+ </div>
+
+ <div class='row trunk-section'>
+ <div class='col-lg-7 text-center' id='markers-clickable'></div>
+ <div class='col-lg-5'>
+ <div class='data-column'><a href='data/some_percentage.json'>data</a></div>
+
+ <pre><code class='javascript'>d3.json('data/some_percentage.json', function(data) {
+ for (var i = 0; i < data.length; i++) {
+ data[i] = MG.convert.date(data[i], 'date');
+ }
+
+ var clicker = function() {
+ window.open('https://www.youtube.com/watch?v=dQw4w9WgXcQ', '_blank');
+ };
+
+ var markers = [{
+ 'date': new Date('2014-02-01T00:00:00.000Z'),
+ 'label': "Click me",
+ 'click': clicker
+ }, {
+ 'date': new Date('2014-03-15T00:00:00.000Z'),
+ 'label': "Nothing to see here"
+ }];
+
+ MG.data_graphic({
+ title: "Clickable Markers",
+ description: "You can assign arbitrary functions to markers' click events.",
+ data: data,
+ width: 600,
+ height: 200,
+ right: 40,
+ markers: markers,
+ format: 'percentage',
+ target: '#markers-clickable'
+ });
+});</code></pre>
+
+ </div>
+ </div>
+
+
+ <div class='row trunk-section'>
+ <div class='col-lg-7 text-center' id='markers-mouseover'></div>
+ <div class='col-lg-5'>
+ <div class='data-column'><a href='data/some_percentage.json'>data</a></div>
+
+ <pre><code class='javascript'>d3.json('data/some_percentage.json', function(data) {
+ for (var i = 0; i < data.length; i++) {
+ data[i] = MG.convert.date(data[i], 'date');
+ }
+
+ var mouseover = function() {
+ alert("You are over me!");
+ };
+
+ var markers = [{
+ 'date': new Date('2014-02-01T00:00:00.000Z'),
+ 'label': "Place your mouse here",
+ 'mouseover': mouseover
+ }, {
+ 'date': new Date('2014-03-15T00:00:00.000Z'),
+ 'label': "Nothing to see here"
+ }];
+
+ MG.data_graphic({
+ title: "Mouse Over Markers",
+ description: "You can assign arbitrary functions to markers' mouseover events.",
+ data: data,
+ width: 600,
+ height: 200,
+ right: 40,
+ markers: markers,
+ format: 'percentage',
+ target: '#markers-mouseover'
+ });</code></pre>
+
+ </div>
+ </div>
+
+ <div class='row trunk-section'>
+ <div class='col-lg-7 text-center' id='markers-mouseout'></div>
+ <div class='col-lg-5'>
+ <div class='data-column'><a href='data/some_percentage.json'>data</a></div>
+
+ <pre><code class='javascript'>d3.json('data/some_percentage.json', function(data) {
+ for (var i = 0; i < data.length; i++) {
+ data[i] = MG.convert.date(data[i], 'date');
+ }
+
+ var mouseout = function() {
+ alert("You just left me!");
+ };
+
+ var markers = [{
+ 'date': new Date('2014-02-01T00:00:00.000Z'),
+ 'label': "Place your mouse here and out!",
+ 'mouseout': mouseout
+ }, {
+ 'date': new Date('2014-03-15T00:00:00.000Z'),
+ 'label': "Nothing to see here"
+ }];
+
+ MG.data_graphic({
+ title: "Mouse Out Markers",
+ description: "You can assign arbitrary functions to markers' mouseout events.",
+ data: data,
+ width: 600,
+ height: 200,
+ right: 40,
+ markers: markers,
+ format: 'percentage',
+ target: '#markers-mouseout'
+ });</code></pre>
+
+ </div>
+ </div>
+
+ <div class='row trunk-section'>
+ <div class='col-lg-7 text-center' id='baselines'></div>
+ <div class='col-lg-5'>
+ <div class='data-column'><a href='data/fake_users1.json'>data</a></div>
+
+<pre><code class='javascript'>d3.json('data/fake_users1.json', function(data) {
+ data = MG.convert.date(data, 'date');
+ MG.data_graphic({
+ title: "Baselines",
+ description: "Baselines are horizontal lines that can added at arbitrary points.",
+ data: data,
+ baselines: [{value: 160000000, label: 'a baseline'}],
+ width: 600,
+ height: 200,
+ right: 40,
+ target: '#baselines'
+ });
+});</code></pre>
+
+ </div>
+ </div>
+
+ <div class='row trunk-section'>
+ <div class='col-lg-7 text-center mg-main-area-solid' id='spike'></div>
+ <div class='col-lg-5'>
+ <div class='data-column'><a href='data/fake_users1.json'>data</a></div>
+
+<pre><code class='javascript'>d3.json('data/fake_users1.json', function(data) {
+ data = MG.convert.date(data, 'date');
+
+ var markers = [{
+ 'date': new Date('2014-03-17T00:00:00.000Z'),
+ 'label': 'Look, a spike!'
+ }];
+
+ MG.data_graphic({
+ title: "Annotating a Point",
+ description: "By setting the graphic's target a class name of mg-main-area-solid, markers don't extend down to the bottom of the graphic, which better draws attention to, say, spikes.",
+ data: data,
+ width: 600,
+ height: 200,
+ right: 40,
+ markers: markers,
+ target: '#spike'
+ });
+});</code></pre>
+
+ </div>
+ </div>
+
+<script>
+MG._hooks = {};
+d3.json('data/some_percentage.json', function(data) {
+ for (var i = 0; i < data.length; i++) {
+ data[i] = MG.convert.date(data[i], 'date');
+ }
+
+ var markers = [{
+ 'date': new Date('2014-02-01T00:00:00.000Z'),
+ 'label': '1st Milestone'
+ }, {
+ 'date': new Date('2014-03-15T00:00:00.000Z'),
+ 'label': '2nd Milestone'
+ }];
+
+ MG.data_graphic({
+ title: "Markers",
+ description: "Markers are vertical lines that can be added at arbitrary points. Markers that are close to each other won't collide.",
+ data: data,
+ width: 600,
+ height: 200,
+ right: 40,
+ markers: markers,
+ format: 'percentage',
+ target: '#markers'
+ });
+
+ var clicker = function() {
+ window.open('https://www.youtube.com/watch?v=dQw4w9WgXcQ', '_blank');
+ };
+
+ markers = [{
+ 'date': new Date('2014-02-01T00:00:00.000Z'),
+ 'label': "Click me",
+ 'click': clicker
+ }, {
+ 'date': new Date('2014-03-15T00:00:00.000Z'),
+ 'label': "Nothing to see here"
+ }];
+
+ MG.data_graphic({
+ title: "Clickable Markers",
+ description: "You can assign arbitrary functions to markers' click events.",
+ data: data,
+ width: 600,
+ height: 200,
+ right: 40,
+ markers: markers,
+ format: 'percentage',
+ target: '#markers-clickable'
+ });
+
+ var mouseover = function() {
+ alert("You are over me!");
+ };
+
+ markers = [{
+ 'date': new Date('2014-02-01T00:00:00.000Z'),
+ 'label': "Place your mouse here",
+ 'mouseover': mouseover
+ }, {
+ 'date': new Date('2014-03-15T00:00:00.000Z'),
+ 'label': "Nothing to see here"
+ }];
+
+ MG.data_graphic({
+ title: "Mouse Over Markers",
+ description: "You can assign arbitrary functions to markers' mouseover events.",
+ data: data,
+ width: 600,
+ height: 200,
+ right: 40,
+ markers: markers,
+ format: 'percentage',
+ target: '#markers-mouseover'
+ });
+
+ var mouseout = function() {
+ alert("You just left me!");
+ };
+
+ markers = [{
+ 'date': new Date('2014-02-01T00:00:00.000Z'),
+ 'label': "Place your mouse here and out!",
+ 'mouseout': mouseout
+ }, {
+ 'date': new Date('2014-03-15T00:00:00.000Z'),
+ 'label': "Nothing to see here"
+ }];
+
+ MG.data_graphic({
+ title: "Mouse Out Markers",
+ description: "You can assign arbitrary functions to markers' mouseout events.",
+ data: data,
+ width: 600,
+ height: 200,
+ right: 40,
+ markers: markers,
+ format: 'percentage',
+ target: '#markers-mouseout'
+ });
+
+});
+
+d3.json('data/fake_users1.json', function(data) {
+ data = MG.convert.date(data, 'date');
+ MG.data_graphic({
+ title: "Baselines",
+ description: "Baselines are horizontal lines that can added at arbitrary points.",
+ data: data,
+ baselines: [{value: 160000000, label: 'goal'}],
+ width: 600,
+ height: 200,
+ right: 40,
+ target: '#baselines'
+ });
+});
+
+d3.json('data/fake_users1.json', function(data) {
+ data = MG.convert.date(data, 'date');
+
+ var markers = [{
+ 'date': new Date('2014-03-17T00:00:00.000Z'),
+ 'label': 'Look, a spike!'
+ }];
+
+ MG.data_graphic({
+ title: "Annotating a Point",
+ description: "By setting the graphic's target a class name of main-area-solid, markers don't extend down to the bottom of the graphic, which better draws attention to, say, spikes.",
+ data: data,
+ width: 600,
+ height: 200,
+ right: 40,
+ markers: markers,
+ target: '#spike'
+ });
+});
+</script>
diff --git a/priv/static/metrics-graphics-3.0-alpha3/examples/charts/auto-time-formatting.htm b/priv/static/metrics-graphics-3.0-alpha3/examples/charts/auto-time-formatting.htm
new file mode 100644
index 0000000..af132dd
--- /dev/null
+++ b/priv/static/metrics-graphics-3.0-alpha3/examples/charts/auto-time-formatting.htm
@@ -0,0 +1,296 @@
+ <div class='row trunk-section'>
+ <div class='col-lg-7 text-center'>
+ <div class='row'>
+ <div class='col-lg-12 text-center' id='time1'></div>
+ <div class='col-lg-12 text-center' id='time2'></div>
+ <div class='col-lg-12 text-center' id='time3'></div>
+ <div class='col-lg-12 text-center' id='time4'></div>
+ <div class='col-lg-12 text-center' id='many-months'></div>
+ <div class='col-lg-12 text-center' id='a-few-years'></div>
+ <div class='col-lg-12 text-center' id='years'></div>
+ <div class='col-lg-12 text-center' id='decades'></div>
+ <div class='col-lg-12 text-center' id='centuries'></div>
+
+ </div>
+ </div>
+ <div class='col-lg-5'>
+
+ <pre><code class='javascript'>function fake_data(length, seconds) {
+ var d = new Date();
+ var v = 100000;
+ var data=[];
+
+ for (var i = 0; i < length; i++) {
+ v += (Math.random() - 0.5) * 10000;
+ data.push({date: MG.clone(d), value: v});
+ d = new Date(d.getTime() + seconds * 1000);
+ }
+ return data;
+}
+
+function fake_days(length) {
+ var d = new Date();
+ var v = 100000;
+
+ var data = [];
+ for (var i = 0; i < length; i++) {
+ v += (Math.random() - 0.5) * 10000;
+ if (v < 0) v = 0;
+ data.push({date: MG.clone(d), value: v});
+ d.setDate(d.getDate() + 1);
+ }
+ return data;
+}
+
+function fake_years(length) {
+ var y = 2015;
+ var d = new Date(y,0,1);
+ out = [];
+ v = 100000;
+ for (var i = 0; i < length; i++) {
+ v += (Math.random()-.5) * 10000;
+ out.push({value:v, date: MG.clone(d)});
+ y -=1;
+ d = new Date(y,0,1);
+ }
+ out.reverse();
+ return out;
+}
+
+
+var less_than_a_minute = fake_data(25, 1);
+var less_than_a_day = fake_data(25,60 * 20);
+var a_few_days = fake_data(75,60 * 60);
+var many_days = fake_days(60);
+var many_many_many_days = fake_days(365*2);
+var a_few_years = fake_days(365*4);
+
+MG.data_graphic({
+ title: "European Clock",
+ description: 'By setting european_clock to true, you can default to European-style time. This is at the moment experimental, and the formatting may change.',
+ data: less_than_a_minute,
+ target: '#european',
+ european_clock: true,
+ width: 600,
+ height: 200,
+ right: 40
+});
+
+MG.data_graphic({
+ title: "Less Than A Minute",
+ data: less_than_a_minute,
+ target: '#time1',
+ width: 600,
+ height: 200,
+ right: 40
+});
+
+MG.data_graphic({
+ title: "Less Than A Day",
+ data: less_than_a_day,
+ target: '#time2',
+ width: 600,
+ height: 200,
+ right: 40
+});
+
+MG.data_graphic({
+ title: "A Few Days",
+ data: a_few_days,
+ target: '#time3',
+ width: 600,
+ height: 200,
+ right: 40
+});
+
+MG.data_graphic({
+ title: "Over A Large Span of Days",
+ data: many_days,
+ target: '#time4',
+ width: 600,
+ height: 200,
+ right: 40
+});
+
+MG.data_graphic({
+ title: "Over Many Months",
+ data: many_many_many_days,
+ target: '#many-months',
+ width: 600,
+ height: 200,
+ right: 40
+});
+
+MG.data_graphic({
+ title: "Over A Few Years",
+ data: a_few_years,
+ target: '#a-few-years',
+ width: 600,
+ height: 200,
+ right: 40
+});
+
+MG.data_graphic({
+ title: "Over Centuries",
+ data: fake_years(300),
+ target: '#centuries',
+ width: 600,
+ height: 200,
+ right: 40
+});</code></pre>
+
+ </div>
+ </div>
+
+
+ <div class='row trunk-section'>
+ <div class='col-lg-7 text-center'>
+ <div class='row'>
+ <div class='col-lg-12 text-center' id='european'></div>
+ </div>
+ </div>
+ <div class='col-lg-5'>
+
+ <pre><code class='javascript'>MG.data_graphic({
+ title: "European Clock",
+ description: 'By setting european_clock to true, you can default to European-style time. This is at the moment experimental, and the formatting may change.',
+ data: less_than_a_minute,
+ target: '#european',
+ european_clock: true,
+ width: 600,
+ height: 200,
+ right: 40
+});
+ </code></pre>
+
+ </div>
+ </div>
+
+<script>
+MG._hooks = {};
+function fake_data(length, seconds) {
+ var d = new Date();
+ var v = 100000;
+ var data=[];
+
+ for (var i = 0; i < length; i++) {
+ v += (Math.random() - 0.5) * 10000;
+ data.push({date: MG.clone(d), value: v});
+ d = new Date(d.getTime() + seconds * 1000);
+ }
+ return data;
+}
+
+function fake_days(length) {
+ var d = new Date();
+ var v = 100000;
+
+ var data = [];
+ for (var i = 0; i < length; i++) {
+ v += (Math.random() - 0.5) * 10000;
+ if (v < 0) v = 0;
+ data.push({date: MG.clone(d), value: v});
+ d.setDate(d.getDate() + 1);
+ }
+ return data;
+}
+
+function fake_years(length) {
+ var y = 2015;
+ var d = new Date(y,0,1);
+ out = [];
+ v = 100000;
+ for (var i = 0; i < length; i++) {
+ v += (Math.random()-.5) * 10000;
+ out.push({value:v, date: MG.clone(d)});
+ y -=1;
+ d = new Date(y,0,1);
+ }
+ out.reverse();
+ return out;
+}
+
+
+var less_than_a_minute = fake_data(25, 1);
+var less_than_a_day = fake_data(25,60 * 20);
+var a_few_days = fake_data(75,60 * 60);
+var many_days = fake_days(80);
+var many_many_many_days = fake_days(365*2);
+var a_few_years = fake_days(365*3);
+
+MG.data_graphic({
+ title: "European Clock",
+ description: 'By setting european_clock to true, you can default to European-style time. This is at the moment experimental, and the formatting may change.',
+ data: less_than_a_minute,
+ target: '#european',
+ european_clock: true,
+ width: 600,
+ height: 200,
+ right: 40
+});
+
+MG.data_graphic({
+ title: "Less Than A Minute",
+ data: less_than_a_minute,
+ target: '#time1',
+ width: 600,
+ height: 200,
+ right: 40
+});
+
+MG.data_graphic({
+ title: "Less Than A Day",
+ data: less_than_a_day,
+ target: '#time2',
+ width: 600,
+ height: 200,
+ right: 40
+});
+
+MG.data_graphic({
+ title: "A Few Days",
+ data: a_few_days,
+ target: '#time3',
+ width: 600,
+ height: 200,
+ right: 40
+});
+
+MG.data_graphic({
+ title: "Over A Large Span of Days",
+ data: many_days,
+ width:600,
+ target: '#time4',
+ height: 200,
+ right: 40
+});
+
+MG.data_graphic({
+ title: "Over Many Months",
+ data: many_many_many_days,
+ target: '#many-months',
+ width: 600,
+ height: 200,
+ right: 40
+});
+
+MG.data_graphic({
+ title: "Over A Few Years",
+ data: a_few_years,
+ target: '#a-few-years',
+ width: 600,
+ height: 200,
+ right: 40
+});
+
+MG.data_graphic({
+ title: "Over Centuries",
+ data: fake_years(300),
+ target: '#centuries',
+ width: 600,
+ height: 200,
+ right: 40
+});
+
+
+</script>
diff --git a/priv/static/metrics-graphics-3.0-alpha3/examples/charts/axes.htm b/priv/static/metrics-graphics-3.0-alpha3/examples/charts/axes.htm
new file mode 100644
index 0000000..375120a
--- /dev/null
+++ b/priv/static/metrics-graphics-3.0-alpha3/examples/charts/axes.htm
@@ -0,0 +1,486 @@
+ <div class='row trunk-section'>
+ <div class='col-lg-7 text-center' id='xnotdate'></div>
+ <div class='col-lg-5'>
+ <div class='data-column'><a href='data/xnotdate.json'>data</a></div>
+
+<pre><code class='javascript'>d3.json('data/xnotdate.json', function(data) {
+ MG.data_graphic({
+ title: "Axis Labels",
+ description: "A graphic where we're not plotting dates on the x-axis and where the axes include labels and the line animates on load. We've also enabled extended ticks along the y-axis.",
+ data: data,
+ animate_on_load: true,
+ area: false,
+ width: 600,
+ height: 240,
+ right: 40,
+ left: 90,
+ bottom: 50,
+ y_extended_ticks: true,
+ target: '#xnotdate',
+ x_accessor: 'males',
+ y_accessor: 'females',
+ x_label: 'males',
+ y_label: 'females',
+ });
+});</code></pre>
+
+ </div>
+ </div>
+
+ <div class='row trunk-section'>
+ <div class='col-lg-7 text-center' id='percentage'></div>
+ <div class='col-lg-5'>
+ <div class='data-column'><a href='data/some_percentage.json'>data</a></div>
+
+<pre><code class='javascript'>d3.json('data/some_percentage.json', function(data) {
+ for (var i = 0; i < data.length; i++) {
+ data[i] = MG.convert.date(data[i], 'date');
+ }
+
+ MG.data_graphic({
+ title: "Some Percentages",
+ description: "Here is an example that shows percentages.",
+ data: data,
+ width: 600,
+ height: 200,
+ right: 40,
+ format: 'percentage',
+ target: '#percentage'
+ });
+});</code></pre>
+
+ </div>
+ </div>
+
+ <div class='row trunk-section'>
+ <div class='col-lg-7 text-center' id='currency'></div>
+ <div class='col-lg-5'>
+ <div class='data-column'><a href='data/some_currency.json'>data</a></div>
+
+<pre><code class='javascript'>d3.json('data/some_currency.json', function(data) {
+ data = MG.convert.date(data, 'date');
+ MG.data_graphic({
+ title: "Some Currency",
+ description: "Here is an example that uses custom units for currency.",
+ data: data,
+ width: 600,
+ height: 200,
+ right: 40,
+ target: '#currency',
+ yax_units: '$'
+ });
+});</code></pre>
+
+ </div>
+ </div>
+
+ <div class='row trunk-section'>
+ <div class='col-lg-7 text-center' id='log1'></div>
+ <div class='col-lg-5'>
+ <div class='data-column'><a href='data/log.json'>data</a></div>
+
+<pre><code class='javascript'>d3.json('data/log.json', function(data) {
+ data = [data];
+ for (var i = 0; i < data.length; i++) {
+ data[i] = MG.convert.date(data[i], 'date');
+ }
+
+ MG.data_graphic({
+ title: "Log Scale",
+ description: "You can change the y-axis' scale to logarithmic by setting <i>y_scale_type</i> to <i>log</i>.",
+ data: data,
+ y_scale_type: 'log',
+ width: 600,
+ height: 200,
+ right: 40,
+ target: '#log1'
+ });
+});</code></pre>
+
+ </div>
+ </div>
+
+ <div class='row trunk-section'>
+ <div class='col-lg-7 text-center'>
+ <div class='col-lg-12 text-center' id='hidden1'></div>
+ <div class='col-lg-12 text-center' id='hidden2'></div>
+ </div>
+ <div class='col-lg-5'>
+ <div class='data-column'>
+ <a href='data/fake_users1.json'>data 1</a>,
+ <a href='data/brief-1.json'>data 2</a>
+ </div>
+
+<pre><code class='javascript'>d3.json('data/fake_users1.json', function(data) {
+ data = MG.convert.date(data, 'date');
+ MG.data_graphic({
+ title: "No X Axis",
+ description: "You can hide either axis by setting <i>x_axis</i> or <i>y_axis</i> to false.",
+ data: data,
+ decimals: 0,
+ width: 600,
+ height: 200,
+ right: 40,
+ xax_count: 4,
+ target: '#hidden1',
+ area: false,
+ x_axis: false,
+ });
+});
+
+d3.json('data/brief-1.json', function(data) {
+ data = MG.convert.date(data, 'date');
+ MG.data_graphic({
+ title: "No Y Axis",
+ description: "You can hide either axis by setting <i>x_axis</i> or <i>y_axis</i> to false.",
+ data: data,
+ decimals: 0,
+ width: 600,
+ height: 200,
+ right: 20,
+ xax_count: 4,
+ target: '#hidden2',
+ area: false,
+ y_axis: false
+ });
+});</code></pre>
+
+ </div>
+ </div>
+
+ <div class='row trunk-section'>
+ <div class='col-lg-7 text-center' id='y_rug'></div>
+ <div class='col-lg-5'>
+ <div class='data-column'><a href='data/fake_users1.json'>data</a></div>
+
+<pre><code class='javascript'>d3.json('data/fake_users1.json', function(data) {
+ data = MG.convert.date(data, 'date');
+ MG.data_graphic({
+ title: "Rug Plots",
+ description: "You can set rug plots either axis by setting <i>x_rug</i> or <i>y_rug</i> to true.",
+ data: data,
+ decimals: 0,
+ width: 600,
+ height: 200,
+ right: 40,
+ target: '#y_rug',
+ area: false,
+ y_rug: true
+ });
+});</code></pre>
+
+ </div>
+</div>
+
+
+
+
+
+
+
+
+
+
+<div class='row trunk-section'>
+ <div class='col-lg-7 text-center'>
+ <div class='row'>
+ <div class='col-lg-6 text-center' id='axis-pos-1'></div>
+ <div class='col-lg-6 text-center' id='axis-pos-2'></div>
+ </div>
+ <div class='row'>
+ <div class='col-lg-6 text-center' id='axis-pos-3'></div>
+ <div class='col-lg-6 text-center' id='axis-pos-4'></div>
+ </div>
+ </div>
+ <div class='col-lg-5'>
+ <div class='data-column'>
+ <a href='data/fake_users1.json'>data 1</a>,
+ <a href='data/brief-1.json'>data 2</a>
+ </div>
+
+<pre><code class='javascript'>d3.json('data/brief-1.json', function(data) {
+ data = MG.convert.date(data, 'date');
+ var position = [['left', 'top'],['right', 'top'], ['left', 'bottom'], ['right', 'bottom']];
+ position.forEach(function(pos,i) {
+ console.log(pos,i)
+ var i = i+1;
+
+ MG.data_graphic({
+ title: "Axis Positions: " + pos[0] +', ' + pos[1],
+ description: "Set <i>x_axis_position: " + pos[1] + "</i> and <i>x_axis_position: " + pos[0] +"</i>.",
+ x_axis_position: pos[1],
+ y_axis_position: pos[0],
+ data: data,
+ decimals: 0,
+ left: pos[0] === 'right' ? 20 : 50,
+ right: pos[0] === 'left' ? 20 : 50,
+ top: pos[1] === 'bottom' ? 50 : 50,
+ bottom: pos[1] === 'top' ? 25 : 50,
+ target: '#axis-pos-'+i,
+ area: false
+ });
+ })
+});</code></pre>
+
+ </div>
+</div>
+
+
+<script>
+d3.json('data/brief-1.json', function(data) {
+ data = MG.convert.date(data, 'date');
+ var position = [['left', 'top'],['right', 'top'], ['left', 'bottom'], ['right', 'bottom']];
+ position.forEach(function(pos,i) {
+ var i = i+1;
+
+ MG.data_graphic({
+ title: "Axis Positions: " + pos[0] +', ' + pos[1],
+ description: "Set <i>x_axis_position: " + pos[1] + "</i> and <i>x_axis_position: " + pos[0] +"</i>.",
+ x_axis_position: pos[1],
+ y_axis_position: pos[0],
+ data: data,
+ decimals: 0,
+ left: pos[0] === 'right' ? 20 : 50,
+ right: pos[0] === 'left' ? 20 : 50,
+ top: pos[1] === 'bottom' ? 50 : 50,
+ bottom: pos[1] === 'top' ? 25 : 50,
+ target: '#axis-pos-'+i,
+ area: false
+ });
+ })
+});
+</script>
+
+
+
+
+
+
+
+
+
+ <div class='row trunk-section'>
+ <div class='col-lg-7 text-center'>
+ <div class='col-lg-6 text-center' id='neg1'></div>
+ <div class='col-lg-6 text-center' id='neg2'></div>
+ <div class='col-lg-6 text-center' id='y-axis-not-zero'></div>
+ </div>
+ <div class='col-lg-5'>
+ <div class='data-column'>
+ <a href='data/neg1.json'>data 1</a>,
+ <a href='data/neg2.json'>data 2</a>
+ </div>
+
+<pre><code class='javascript'>d3.json('data/neg1.json', function(data) {
+ data = MG.convert.date(data, 'date');
+ MG.data_graphic({
+ title: "Negative Values 1",
+ description: "MG defaults to 0 on the y-axis as min if there are no negative numbers. If there are negatives, should provide some buffer below.",
+ data: data,
+ width: 295,
+ height: 220,
+ right: 10,
+ target: '#neg1'
+ });
+
+ var data2 = MG.clone(data).map(function(d) {
+ d.value = d.value + 550;
+ return d;
+ });
+
+ MG.data_graphic({
+ title: "Y-Axis Not Zero",
+ data: data2,
+ width: 295,
+ height: 220,
+ right: 10,
+ min_y_from_data: true,
+ yax_units: '$',
+ target: '#y-axis-not-zero',
+ x_accessor: 'date',
+ y_accessor: 'value'
+ });
+});
+
+d3.json('data/neg2.json', function(data) {
+ MG.data_graphic({
+ title: "Negative Values 2",
+ data: data,
+ width: 295,
+ height: 220,
+ right: 10,
+ target: '#neg2',
+ x_accessor: 'subject',
+ y_accessor: 'measure'
+ });
+});</code></pre>
+
+ </div>
+ </div>
+
+<script>
+MG._hooks = {};
+d3.json('data/xnotdate.json', function(data) {
+ MG.data_graphic({
+ title: "Axis Labels",
+ description: "A graphic where we're not plotting dates on the x-axis and where the axes include labels and the line animates on load. We've also enabled extended ticks along the y-axis.",
+ data: data,
+ animate_on_load: true,
+ area: false,
+ width: 600,
+ height: 240,
+ right: 40,
+ left: 90,
+ bottom: 50,
+ y_extended_ticks: true,
+ target: '#xnotdate',
+ x_accessor: 'males',
+ y_accessor: 'females',
+ x_label: 'males',
+ y_label: 'females',
+ });
+});
+
+d3.json('data/some_percentage.json', function(data) {
+ for (var i = 0; i < data.length; i++) {
+ data[i] = MG.convert.date(data[i], 'date');
+ }
+
+ MG.data_graphic({
+ title: "Some Percentages",
+ description: "Here is an example that shows percentages.",
+ data: data,
+ width: 600,
+ height: 200,
+ right: 40,
+ format: 'percentage',
+ target: '#percentage'
+ });
+});
+
+d3.json('data/some_currency.json', function(data) {
+ data = MG.convert.date(data, 'date');
+ MG.data_graphic({
+ title: "Some Currency",
+ description: "Here is an example that uses custom units for currency.",
+ data: data,
+ width: 600,
+ height: 200,
+ right: 40,
+ target: '#currency',
+ yax_units: '$'
+ });
+});
+
+d3.json('data/log.json', function(data) {
+ data = [data];
+ for (var i = 0; i < data.length; i++) {
+ data[i] = MG.convert.date(data[i], 'date');
+ }
+
+ MG.data_graphic({
+ title: "Log Scale",
+ description: "You can change the y-axis' scale to logarithmic by setting <i>y_scale_type</i> to <i>log</i>.",
+ data: data,
+ y_scale_type: 'log',
+ width: 600,
+ height: 200,
+ right: 40,
+ target: '#log1'
+ });
+});
+
+d3.json('data/fake_users1.json', function(data) {
+ data = MG.convert.date(data, 'date');
+ MG.data_graphic({
+ title: "No X Axis",
+ description: "You can hide either axis by setting <i>x_axis</i> or <i>y_axis</i> to false.",
+ data: data,
+ decimals: 0,
+ width: 600,
+ height: 200,
+ right: 40,
+ xax_count: 4,
+ target: '#hidden1',
+ area: false,
+ x_axis: false,
+ });
+});
+
+d3.json('data/brief-1.json', function(data) {
+ data = MG.convert.date(data, 'date');
+ MG.data_graphic({
+ title: "No Y Axis",
+ description: "You can hide either axis by setting <i>x_axis</i> or <i>y_axis</i> to false.",
+ data: data,
+ decimals: 0,
+ width: 600,
+ height: 200,
+ right: 20,
+ xax_count: 4,
+ target: '#hidden2',
+ area: false,
+ y_axis: false
+ });
+});
+
+d3.json('data/fake_users1.json', function(data) {
+ data = MG.convert.date(data, 'date');
+ MG.data_graphic({
+ title: "Rug Plots",
+ description: "You can set rug plots either axis by setting <i>x_rug</i> or <i>y_rug</i> to true.",
+ data: data,
+ decimals: 0,
+ width: 600,
+ height: 200,
+ right: 40,
+ target: '#y_rug',
+ area: false,
+ y_rug: true
+ });
+});
+
+d3.json('data/neg1.json', function(data) {
+ data = MG.convert.date(data, 'date');
+ MG.data_graphic({
+ title: "Negative Values 1",
+ description: "MG defaults to 0 on the y-axis as min if there are no negative numbers. If there are negatives, should provide some buffer below.",
+ data: data,
+ width: 295,
+ height: 220,
+ right: 10,
+ target: '#neg1'
+ });
+
+ var data2 = MG.clone(data).map(function(d) {
+ d.value = d.value + 550;
+ return d;
+ });
+
+ MG.data_graphic({
+ title: "Y-Axis Not Zero",
+ data: data2,
+ width: 295,
+ height: 220,
+ right: 10,
+ min_y_from_data: true,
+ yax_units: '$',
+ target: '#y-axis-not-zero',
+ x_accessor: 'date',
+ y_accessor: 'value'
+ });
+});
+
+d3.json('data/neg2.json', function(data) {
+ MG.data_graphic({
+ title: "Negative Values 2",
+ data: data,
+ width: 295,
+ height: 220,
+ right: 10,
+ target: '#neg2',
+ x_accessor: 'subject',
+ y_accessor: 'measure'
+ });
+});
+</script>
diff --git a/priv/static/metrics-graphics-3.0-alpha3/examples/charts/brushing_zooming.htm b/priv/static/metrics-graphics-3.0-alpha3/examples/charts/brushing_zooming.htm
new file mode 100644
index 0000000..e23e35d
--- /dev/null
+++ b/priv/static/metrics-graphics-3.0-alpha3/examples/charts/brushing_zooming.htm
@@ -0,0 +1,166 @@
+ <div class='row trunk-section'>
+ <div class='col-lg-7'>
+ <div class='row'>
+ <div class='col-lg-12 text-center' id='basic_brushing'></div>
+ <div class='col-lg-12 text-center' id='point_chart_brushing'></div>
+ </div>
+ </div>
+ <div class='col-lg-5'>
+ <div class='data-column'><a href='data/fake_users3.json'>data</a></div>
+
+<pre><code class='javascript'>d3.json('data/fake_users2.json', function(data) {
+ for (var i = 0; i < data.length; i++) {
+ data[i] = MG.convert.date(data[i], 'date');
+ }
+ MG.data_graphic({
+ title: "Basic Brushing &amp; Zooming",
+ description: "This is a simple example of brushing and zooming. You can set 'brush' as 'xy', 'x', 'y' to specify the axis(es) that may be brushed.",
+ data: data,
+ top: 70,
+ width: 600,
+ height: 240,
+ right: 40,
+ missing_is_hidden: true,
+ target: '#basic_brushing',
+ brush: 'xy',
+ });
+});
+
+d3.json('data/points1.json', function(data) {
+ MG.data_graphic({
+ title: "Point Chart Brushing",
+ description: "Brushing and zooming also works for point charts.",
+ data: data,
+ chart_type: 'point',
+ width: 600,
+ height: 240,
+ right: 40,
+ target: '#point_chart_brushing',
+ x_accessor: 'x',
+ y_accessor: 'y',
+ y_rug: true,
+ brush: 'xy',
+ });
+});</code></pre>
+
+ </div>
+ </div>
+
+ <div class='row trunk-section'>
+ <div class='col-lg-7'>
+ <div class='row'>
+ <div class='col-lg-12 text-center' id='main'></div>
+ <div class='col-lg-12 text-center' id='overview_plot'></div>
+ </div>
+ </div>
+ <div class='col-lg-5'>
+ <div class='data-column'><a href='data/fake_users3.json'>data</a></div>
+
+<pre><code class='javascript'>d3.json('data/fake_users2.json', function(data) {
+ for (var i = 0; i < data.length; i++) {
+ data[i] = MG.convert.date(data[i], 'date');
+ }
+ const main = {
+ title: "Overview Plot",
+ description: "This is a simple example of an overview plot. You can create an overview plot by creating another chart with 'zoom_target' option and then setting it as the object of the main chart.",
+ data: data,
+ top: 70,
+ width: 600,
+ height: 200,
+ right: 40,
+ missing_is_hidden: true,
+ target: '#main',
+ brush: 'xy',
+ }
+ MG.data_graphic(main);
+ MG.data_graphic({
+ data: data,
+ width: 600,
+ height: 50,
+ top: 8,
+ bottom: 0,
+ right: 40,
+ missing_is_hidden: true,
+ target: '#overview_plot',
+ brush: 'x',
+ zoom_target: main,
+ x_axis: false,
+ y_axis: false,
+ showActivePoint: false,
+ });
+});</code></pre>
+
+ </div>
+ </div>
+
+<script>
+d3.json('data/fake_users2.json', function(data) {
+ for (var i = 0; i < data.length; i++) {
+ data[i] = MG.convert.date(data[i], 'date');
+ }
+ MG.data_graphic({
+ title: "Basic Brushing & Zooming",
+ description: "This is a simple example of brushing and zooming. You can set 'brush' as 'xy', 'x', 'y' to specify the axis(es) that may be brushed.",
+ data: data,
+ top: 70,
+ width: 600,
+ height: 240,
+ right: 40,
+ missing_is_hidden: true,
+ target: '#basic_brushing',
+ brush: 'xy',
+ });
+});
+
+d3.json('data/points1.json', function(data) {
+ MG.data_graphic({
+ title: "Point Chart Brushing",
+ description: "Brushing and zooming also works for point charts.",
+ data: data,
+ chart_type: 'point',
+ width: 600,
+ height: 240,
+ right: 40,
+ target: '#point_chart_brushing',
+ x_accessor: 'x',
+ y_accessor: 'y',
+ y_rug: true,
+ brush: 'xy',
+ });
+});
+
+d3.json('data/fake_users2.json', function(data) {
+ for (var i = 0; i < data.length; i++) {
+ data[i] = MG.convert.date(data[i], 'date');
+ }
+ const main = {
+ title: "Overview Plot",
+ description: "This is a simple example of an overview plot. You can create an overview plot by creating another chart with 'zoom_target' option and then setting it as the object of the main chart.",
+ data: data,
+ top: 70,
+ width: 600,
+ height: 200,
+ right: 40,
+ missing_is_hidden: true,
+ target: '#main',
+ brush: 'xy',
+ }
+ MG.data_graphic(main);
+ MG.data_graphic({
+ data: data,
+ width: 600,
+ height: 50,
+ top: 8,
+ bottom: 0,
+ right: 40,
+ missing_is_hidden: true,
+ target: '#overview_plot',
+ brush: 'x',
+ zoom_target: main,
+ x_axis: false,
+ y_axis: false,
+ showActivePoint: false,
+ });
+});
+
+</script>
diff --git a/priv/static/metrics-graphics-3.0-alpha3/examples/charts/data.htm b/priv/static/metrics-graphics-3.0-alpha3/examples/charts/data.htm
new file mode 100644
index 0000000..aa0f076
--- /dev/null
+++ b/priv/static/metrics-graphics-3.0-alpha3/examples/charts/data.htm
@@ -0,0 +1,386 @@
+ <div class='row trunk-section'>
+ <div class='col-lg-7 text-center'>
+ <div class='row'>
+ <div class='col-lg-12 text-center' id='missing-y'></div>
+ </div>
+ </div>
+ <div class='col-lg-5'>
+ <div class='data-column'>
+ <a href='data/missing-y.json'>data</a>
+ </div>
+
+<pre><code class='javascript'>d3.json('data/missing-y.json', function(data) {
+ data = MG.convert.date(data, 'date');
+ MG.data_graphic({
+ title: "Few Observations",
+ description: "We sometimes have only a few observations. By setting <i>missing_is_zero: true</i>, missing values for a time-series will be interpreted as zeros. In this example, we've overridden the rollover callback to show 'no data' for missing observations and have set the <i>min_x</i> and <i>max_x</i> options in order to expand the date range.",
+ data: data,
+ interpolate: d3.curveLinear,
+ missing_is_zero: true,
+ width: 600,
+ height: 200,
+ right: 40,
+ min_x: new Date('2014-01-01'),
+ max_x: new Date('2014-06-01'),
+ target: '#missing-y',
+ mouseover: function(d, i) {
+ var df = d3.timeFormat('%b %d, %Y');
+ var date = df(d.date);
+ var y_val = (d.value === 0) ? 'no data' : d.value;
+
+ d3.select('#missing-y svg .mg-active-datapoint')
+ .text(date + ' ' + y_val);
+ }
+ });
+});</code></pre>
+
+ </div>
+ </div>
+
+ <div class='row trunk-section'>
+ <div class='col-lg-7 text-center' id='missing_is_hidden'></div>
+ <div class='col-lg-5'>
+ <div class='data-column'><a href='data/missing-is-hidden.json'>data</a></div>
+
+<pre><code class='javascript'>d3.json('data/missing-is-hidden.json', function(data) {
+ data = MG.convert.date(data, 'date');
+ MG.data_graphic({
+ title: "Broken Lines",
+ description: "Setting <i>missing_is_hidden</i> to true will hide missing ranges rather than considering them to be zeros or interpolating between the two points on either side.",
+ data: data,
+ missing_is_hidden: true,
+ width: 600,
+ height: 200,
+ right: 40,
+ target: '#missing_is_hidden',
+ area: false,
+ show_secondary_x_label: false
+ });
+});</code></pre>
+
+ </div>
+ </div>
+
+ <div class='row trunk-section'>
+ <div class='col-lg-7 text-center' id='missing_is_hidden_accessor'></div>
+ <div class='col-lg-5'>
+ <div class='data-column'><a href='data/missing-is-hidden-accessor.json'>data</a></div>
+
+<pre><code class='javascript'>d3.json('data/missing-is-hidden-accessor.json', function(data) {
+ data = MG.convert.date(data, 'date');
+ MG.data_graphic({
+ title: "Broken Lines (Missing Data Points)",
+ description: "You can hide individual data points on a particular attribute by setting <i>missing_is_hidden_accessor</i>. Data points whose y-accessor values are null are also hidden.",
+ data: data,
+ missing_is_hidden: true,
+ missing_is_hidden_accessor: 'dead',
+ width: 600,
+ height: 200,
+ right: 40,
+ target: '#missing_is_hidden_accessor'
+ });
+});</code></pre>
+
+ </div>
+ </div>
+
+ <div class='row trunk-section'>
+ <div class='col-lg-7 text-center'>
+ <div class='row'>
+ <div class='col-lg-12 text-center' id='missing-data'></div>
+ </div>
+ </div>
+ <div class='col-lg-5'>
+
+<pre><code class='javascript'>MG.data_graphic({
+ title: "Missing Data",
+ description: "This is an example of a graphic whose data is currently missing. We've also set the <i>error</i> option, which appends an error icon to the title and logs an error to the browser's console.",
+ error: 'This data is blocked by Lorem Ipsum. Get your **** together, Ipsum.',
+ chart_type: 'missing-data',
+ missing_text: 'This is an example of a missing chart',
+ target: '#missing-data',
+ width: 600,
+ height: 200
+});</code></pre>
+
+ </div>
+ </div>
+
+ <div class='row trunk-section'>
+ <div class='col-lg-7 text-center'>
+ <div class='row'>
+ <div class='col-lg-12 text-center' id='missing1'></div>
+ </div>
+ </div>
+ <div class='col-lg-5'>
+ <div class='data-column'>
+ <a href='data/fake_users2.json'>data</a>
+ </div>
+
+<pre><code class='javascript'>d3.json('data/fake_users2.json', function(data) {
+ for (var i = 0; i < data.length; i++) {
+ data[i] = MG.convert.date(data[i], 'date');
+ }
+
+ var all_the_data = MG.clone(data[0]);
+ for (i = 1; i < data.length; i++){
+ for (var j = 0; j < data[i].length; j++) {
+ if (i === 2 && all_the_data[j].date < new Date('2014-02-01')) {
+ } else {
+ all_the_data[j]['value' + (i + 1)] = data[i][j].value;
+ }
+ }
+ }
+
+ MG.data_graphic({
+ title: "Handling Different Sized Lines in a Single Array",
+ description: "How do you handle data with multiple implied time series lengths?",
+ data: all_the_data,
+ width: 600,
+ height: 200,
+ right: 40,
+ target: '#missing1',
+ linked: true,
+ x_accessor: 'date',
+ y_accessor: ['value', 'value2', 'value3']
+ });
+});</code></pre>
+
+ </div>
+ </div>
+
+ <div class='row trunk-section'>
+ <div class='col-lg-7 text-center'>
+ <div class='row'>
+ <div class='col-lg-12 text-center' id='display_active_point_01'></div>
+ </div>
+ </div>
+ <div class='col-lg-5'>
+ <div class='data-column'>
+ <a href='data/fake_users2.json'>data</a>
+ </div>
+
+ <pre><code class='javascript'>d3.json('data/fake_users1.json', function(data) {
+
+ for (var i = 0; i < data.length; i++) {
+ data[i].active = (i % 5 === 0);
+ }
+
+ data = MG.convert.date(data, 'date');
+
+ MG.data_graphic({
+ title: "Show active points on line chart",
+ description: "This line chart displays pre-defined active points",
+ data: data,
+ width: 600,
+ height: 200,
+ right: 40,
+ point_size: 3,
+ active_point_on_lines: true,
+ active_point_accessor: 'active',
+ active_point_size: 2,
+ target: '#display_active_point_01',
+ aggregate_rollover: true
+ });
+});</code></pre>
+
+ </div>
+ </div>
+
+ <div class='row trunk-section'>
+ <div class='col-lg-7 text-center'>
+ <div class='row'>
+ <div class='col-lg-12 text-center' id='display_active_point_02'></div>
+ </div>
+ </div>
+ <div class='col-lg-5'>
+ <div class='data-column'>
+ <a href='data/fake_users2.json'>data</a>
+ </div>
+
+ <pre><code class='javascript'>d3.json('data/fake_users2.json', function(data) {
+
+ for (var i = 0; i < data.length; i++) {
+ for (var j = 0; j < data[i].length; j++) {
+ if (i === 0) {
+ data[i][j].active = (j % 5 === 0);
+ }
+ if (i === 1) {
+ data[i][j].active = (j % 10 === 0);
+ }
+ }
+ data[i] = MG.convert.date(data[i], 'date');
+ }
+
+ MG.data_graphic({
+ title: "Show active points on multi-lines chart",
+ description: "This multi-lines chart displays pre-defined active points for each lines",
+ data: data,
+ width: 600,
+ height: 200,
+ right: 40,
+ point_size: 3,
+ active_point_on_lines: true,
+ active_point_accessor: 'active',
+ active_point_size: 2,
+ target: '#display_active_point_01',
+ aggregate_rollover: true
+ });
+});</code></pre>
+
+ </div>
+ </div>
+
+<script>
+MG._hooks = {};
+d3.json('data/missing-y.json', function(data) {
+ data = MG.convert.date(data, 'date');
+ MG.data_graphic({
+ title: "Few Observations",
+ description: "We sometimes have only a few observations. By setting <i>missing_is_zero: true</i>, missing values for a time-series will be interpreted as zeros. In this example, we've overridden the rollover callback to show 'no data' for missing observations and have set the <i>min_x</i> and <i>max_x</i> options in order to expand the date range.",
+ data: data,
+ interpolate: d3.curveLinear,
+ missing_is_zero: true,
+ width: 600,
+ height: 200,
+ right: 40,
+ min_x: new Date('2014-01-01'),
+ max_x: new Date('2014-06-01'),
+ target: '#missing-y',
+ mouseover: function(d, i) {
+ var df = d3.timeFormat('%b %d, %Y');
+ var date = df(d.date);
+ var y_val = (d.value === 0) ? 'no data' : d.value;
+
+ d3.select('#missing-y svg .mg-active-datapoint')
+ .text(date + ' ' + y_val);
+ }
+ });
+});
+
+d3.json('data/missing-is-hidden.json', function(data) {
+ data = MG.convert.date(data, 'date');
+ MG.data_graphic({
+ title: "Broken Lines (Missing Data Range)",
+ description: "Setting <i>missing_is_hidden</i> to true will hide missing ranges rather than considering them to be zeros or interpolating between the two points on either side.",
+ data: data,
+ missing_is_hidden: true,
+ width: 600,
+ height: 200,
+ right: 40,
+ target: '#missing_is_hidden',
+ area: false,
+ show_secondary_x_label: false
+ });
+});
+
+d3.json('data/missing-is-hidden-accessor.json', function(data) {
+ data = MG.convert.date(data, 'date');
+ MG.data_graphic({
+ title: "Broken Lines (Missing Data Points)",
+ description: "You can hide individual data points on a particular attribute by setting <i>missing_is_hidden_accessor</i>. Data points whose y-accessor values are null are also hidden.",
+ data: data,
+ missing_is_hidden: true,
+ missing_is_hidden_accessor: 'dead',
+ width: 600,
+ height: 200,
+ right: 40,
+ target: '#missing_is_hidden_accessor'
+ });
+});
+
+
+MG.data_graphic({
+ title: "Missing Data",
+ chart_type: 'missing-data',
+ description: "This is an example of a graphic whose data is currently missing. We've also set the <i>error</i> option, which appends an error icon to the title and logs an error to the browser's console.",
+ error: 'This data is blocked by Lorem Ipsum. Get your **** together, Ipsum.',
+ missing_text: 'This is an example of a missing chart',
+ target: '#missing-data',
+ width: 600,
+ height: 200
+});
+
+d3.json('data/fake_users2.json', function(data) {
+ for (var i = 0; i < data.length; i++) {
+ data[i] = MG.convert.date(data[i], 'date');
+ }
+
+ var all_the_data = MG.clone(data[0]);
+ for (i = 1; i < data.length; i++){
+ for (var j = 0; j < data[i].length; j++) {
+ if (i === 2 && all_the_data[j].date < new Date('2014-02-01')) {
+ } else {
+ all_the_data[j]['value' + (i + 1)] = data[i][j].value;
+ }
+ }
+ }
+
+ MG.data_graphic({
+ title: "Handling Different Sized Lines in a Single Array",
+ description: "How do you handle data with multiple implied time series lengths?",
+ data: all_the_data,
+ width: 600,
+ height: 200,
+ right: 40,
+ target: '#missing1',
+ linked: true,
+ x_accessor: 'date',
+ y_accessor: ['value', 'value2', 'value3']
+ });
+});
+
+d3.json('data/fake_users1.json', function(data) {
+
+ for (var i = 0; i < data.length; i++) {
+ data[i].active = (i % 5 === 0);
+ }
+
+ data = MG.convert.date(data, 'date');
+
+ MG.data_graphic({
+ title: "Show active points on line chart",
+ description: "This line chart displays pre-defined active points",
+ data: data,
+ width: 600,
+ height: 200,
+ right: 40,
+ point_size: 3,
+ active_point_on_lines: true,
+ active_point_accessor: 'active',
+ active_point_size: 2,
+ target: '#display_active_point_01',
+ aggregate_rollover: true
+ });
+});
+
+d3.json('data/fake_users2.json', function(data) {
+
+ for (var i = 0; i < data.length; i++) {
+ for (var j = 0; j < data[i].length; j++) {
+ if (i === 0) {
+ data[i][j].active = (j % 5 === 0);
+ }
+ if (i === 1) {
+ data[i][j].active = (j % 10 === 0);
+ }
+ }
+ data[i] = MG.convert.date(data[i], 'date');
+ }
+
+ MG.data_graphic({
+ title: "Show active points on multi-lines chart",
+ description: "This multi-lines chart displays pre-defined active points for each lines",
+ data: data,
+ width: 600,
+ height: 200,
+ right: 40,
+ point_size: 3,
+ active_point_on_lines: true,
+ active_point_accessor: 'active',
+ active_point_size: 2,
+ target: '#display_active_point_02',
+ aggregate_rollover: true
+ });
+});
+</script>
diff --git a/priv/static/metrics-graphics-3.0-alpha3/examples/charts/experimental.htm b/priv/static/metrics-graphics-3.0-alpha3/examples/charts/experimental.htm
new file mode 100644
index 0000000..725a8d3
--- /dev/null
+++ b/priv/static/metrics-graphics-3.0-alpha3/examples/charts/experimental.htm
@@ -0,0 +1,1159 @@
+ <div class='row trunk-section'>
+ <div class='col-lg-7 text-center'>
+ <div class='col-lg-6 text-center' id='scatter-simple'></div>
+ <div class='col-lg-6 text-center' id='categorical1'></div>
+ <div class='col-lg-6 text-center' id='categorical2'></div>
+ <div class='col-lg-6 text-center' id='scatter-line-best-fit'></div>
+ <div class='col-lg-6 text-center' id='scatter-size-and-color'></div>
+ <div class='col-lg-6 text-center' id='sls-time-series'></div>
+ <div class='col-lg-6 text-center' id='highlight'></div>
+ </div>
+ <div class='col-lg-5'>
+ <div class='data-column'><a href='data/points1.json'>data</a></div>
+
+<pre><code class='javascript'>d3.json('data/points1.json', function(data) {
+ MG.data_graphic({
+ title: "Simple Scatterplot",
+ description: "This is an example of a simple scatterplot, in which we have enabled rug plots on the y-axis by setting the <i>y_rug</i> option to true.",
+ data: data,
+ chart_type: 'point',
+ width: 295,
+ height: 225,
+ right: 10,
+ target: '#scatter-simple',
+ x_accessor: 'x',
+ y_accessor: 'y',
+ mouseover: function(d, i) { console.log(d,i); },
+ y_rug: true
+ });
+
+ MG.data_graphic({
+ title: "Automatic Category Coloring",
+ description: "By setting <i>color_type</i> to 'category' you can color the points according to another discrete value.",
+ data: data,
+ chart_type: 'point',
+ width: 295,
+ height: 225,
+ right: 10,
+ target: '#categorical1',
+ x_accessor: 'x',
+ y_accessor: 'y',
+ color_accessor: 'v',
+ color_type:'category',
+ y_rug: true
+ });
+
+ MG.data_graphic({
+ title: "Custom Category Color Mapping",
+ description: "You can specify the color domain and the corresponding color range to get custom mapping of categories to colors.",
+ data: data,
+ chart_type: 'point',
+ width: 295,
+ height: 225,
+ right: 10,
+ target: '#categorical2',
+ x_accessor: 'x',
+ y_accessor: 'y',
+ color_accessor: 'v',
+ color_domain: ['cat_0', 'cat_1', 'other'],
+ color_range: ['blue', 'gray', 'black'],
+ color_type: 'category',
+ x_rug: true
+ });
+
+ MG.data_graphic({
+ title: "Simple Line of Best Fit",
+ description: "For any scatterplot, set <i>least_squares</i> to true to add.",
+ data: data,
+ least_squares: true,
+ chart_type: 'point',
+ width: 295,
+ height: 225,
+ right: 10,
+ target: '#scatter-line-best-fit',
+ x_accessor: 'x',
+ y_accessor: 'y'
+ });
+
+ MG.data_graphic({
+ title: "Points Highlighting",
+ description: "You can set <i>highlight</i> to filter the points you want to highlight.",
+ data: data,
+ chart_type: 'point',
+ width: 295,
+ height: 225,
+ right: 10,
+ target: '#highlight',
+ x_accessor: 'x',
+ y_accessor: 'y',
+ y_rug: true,
+ highlight: (d, i) => d.z > 2
+ });
+});
+
+d3.json('data/fake_users1.json', function(data) {
+ data = MG.convert.date(data, 'date');
+ MG.data_graphic({
+ title: "Another Least Squares Example",
+ description: "Least squares effortlessly works with dates or times on axes.",
+ data: data,
+ chart_type: 'point',
+ width: 295,
+ height: 225,
+ left: 60,
+ right: 10,
+ least_squares: true,
+ target: '#sls-time-series',
+ x_accessor: 'date',
+ y_accessor: 'value'
+ });
+});
+
+var color_range = (theme === 'light') ? null : ['white','yellow'];
+
+d3.json('data/points1.json', function(data) {
+ MG.data_graphic({
+ title: "Scatterplot with Size and Color",
+ description: "Scatterplots have <i>x_accessor</i>, <i>y_accessor</i>, <i>size_accessor</i>, and <i>color_accessor</i>. For the last two you can also provide domain and range functions, to make it easy to change the color ranges. Colors default to red and blue, but can be overridden by passing an array of colors to <i>color_range</i>, as we've done in this example for the dark theme.",
+ data: data,
+ chart_type: 'point',
+ width: 295,
+ height: 225,
+ right: 10,
+ target: '#scatter-size-and-color',
+ x_accessor: 'x',
+ y_accessor: 'y',
+ color_accessor:'z',
+ color_range: color_range,
+ size_accessor:'w',
+ x_rug: true,
+ y_rug: true
+ });
+});</code></pre>
+
+ </div>
+ </div>
+
+
+<div class='row trunk-section'>
+ <div class='col-lg-7 text-center'>
+ <div class='row'>
+ <div class='col-lg-6 text-center' id='point-categorical'></div>
+ <div class='col-lg-6 text-center' id='bar-categorical'></div>
+ </div>
+
+ <div class='row'>
+ <div class='col-lg-6 text-center' id='point-categorical2'></div>
+ <div class='col-lg-6 text-center' id='bar-categorical2'></div>
+
+ </div>
+ <div class='row'>
+ <div class='col-lg-6 text-center' id='point-categorical-group'></div>
+ <div class='col-lg-6 text-center' id='bar-categorical-group'>
+ </div>
+
+ </div>
+ <div class='row'>
+ <div class='col-lg-12 text-center' id='point-categorical-group-horizontal'></div>
+ </div>
+ <div class='row'>
+ <div class='col-lg-12 text-center' id='bar-categorical-group-horizontal'></div>
+ </div>
+ </div>
+ <div class='col-lg-5'>
+ <div class='data-column'><a href='data/nh-gop.tsv'>data</a></div>
+
+<pre><code class='javascript'>
+d3.tsv('data/nh-gop.tsv', function(data) {
+ var polls = [];
+ var who = ['Bush', 'Rubio', 'Trump', 'Cruz'];
+ data.forEach(function(p){
+ who.forEach(function(d){
+ var out = {};
+ out.candidate = d;
+ out.number = p[d] === '--' ? 0 : parseFloat(p[d]);
+ out.poll = p.Poll;
+ out.size = Math.random();
+ out.when = p.Date;
+ polls.push(out);
+ })
+ });
+
+ var trump = polls.filter(function(d){
+ return d.poll == 'PPP (D)';
+ })
+
+ MG.data_graphic({
+ title: 'Categorical Scale: X, points',
+ data: trump,
+ chart_type: 'point',
+ y_accessor: 'number',
+ x_accessor: 'candidate',
+ height:400,
+ width:300,
+ target: '#point-categorical',
+ })
+
+ MG.data_graphic({
+ title: 'Categorical Scale: X, bars',
+ data: trump,
+ chart_type: 'bar',
+ y_accessor: 'number',
+ x_accessor: 'candidate',
+ height:400,
+ width:300,
+ target: '#bar-categorical',
+ })
+
+ MG.data_graphic({
+ title: 'Categorical Scale: Y, points',
+ data: trump,
+ chart_type: 'point',
+ x_accessor: 'number',
+ y_accessor: 'candidate',
+ height:400,
+ width:300,
+ target: '#point-categorical2',
+ })
+
+ MG.data_graphic({
+ title: 'Categorical Scale: Y, bars',
+ data: trump,
+ chart_type: 'bar',
+ x_accessor: 'number',
+ y_accessor: 'candidate',
+ height:400,
+ width:300,
+ target: '#bar-categorical2',
+ })
+
+ MG.data_graphic({
+ title: 'Y points, groups',
+ data: polls,
+ chart_type: 'point',
+ y_axis_type: 'categorical',
+ x_accessor: 'number',
+ y_accessor: 'candidate',
+ ygroup_accessor: 'poll',
+ size_accessor: 'size',
+ size_domain: [0,1],
+ size_range: [3,6],
+ height:550,
+ width:300,
+ left:100,
+ target: '#point-categorical-group'
+ })
+
+ MG.data_graphic({
+ title: 'Y bars, groups',
+ data: polls,
+ chart_type: 'bar',
+ y_axis_type: 'categorical',
+ x_accessor: 'number',
+ y_accessor: 'candidate',
+ ygroup_accessor: 'poll',
+ height:550,
+ width:300,
+ left:100,
+ right:40,
+ target: '#bar-categorical-group'
+ })
+
+ MG.data_graphic({
+ title: 'Categorical Scale: Y, groups, horizontal',
+ data: polls,
+ chart_type: 'point',
+ y_accessor: 'number',
+ x_accessor: 'candidate',
+ xgroup_accessor: 'poll',
+ size_accessor: 'size',
+ size_domain: [0,1],
+ size_range: [3,6],
+ height:350,
+ width:700,
+ target: '#point-categorical-group-horizontal'
+ })
+
+ MG.data_graphic({
+ title: 'Categorical Scale: Y, groups, horizontal',
+ data: polls,
+ chart_type: 'bar',
+ y_accessor: 'number',
+ x_accessor: 'candidate',
+ xgroup_accessor: 'poll',
+ size_accessor: 'size',
+ size_domain: [0,1],
+ size_range: [3,6],
+ height:350,
+ width:700,
+ target: '#bar-categorical-group-horizontal'
+ })
+})
+</code></pre>
+
+ </div>
+</div>
+
+
+<script>
+d3.tsv('data/nh-gop.tsv', function(data) {
+ var polls = [];
+ var who = ['Bush', 'Rubio', 'Trump', 'Cruz'];
+ data.forEach(function(p,j){
+ who.forEach(function(d,i){
+ var out = {};
+ out.candidate = d;
+ out.number = p[d] === '--' ? 0 : parseFloat(p[d]);
+ out.poll = p.Poll;
+ out.size = Math.random();
+ out.when = p.Date;
+ out.reference = Math.floor(Math.random() * 20 + 1);
+ out.comparison = j+i + 1;
+ polls.push(out);
+ })
+ });
+
+ var trump = polls.filter(function(d){
+ return d.poll == 'PPP (D)';
+ })
+
+ MG.data_graphic({
+ title: 'Categorical Scale: X, points',
+ data: trump,
+ chart_type: 'point',
+ y_accessor: 'number',
+ x_accessor: 'candidate',
+ height:300,
+ width:300,
+ target: '#point-categorical',
+ })
+
+ MG.data_graphic({
+ title: 'Categorical Scale: X, bars',
+ data: trump,
+ chart_type: 'bar',
+ y_accessor: 'number',
+ x_accessor: 'candidate',
+ height:300,
+ width:300,
+ target: '#bar-categorical',
+ })
+
+ MG.data_graphic({
+ title: 'Categorical Scale: Y, points',
+ data: trump,
+ chart_type: 'point',
+ x_accessor: 'number',
+ y_accessor: 'candidate',
+ height:300,
+ width:300,
+ target: '#point-categorical2',
+ })
+
+ MG.data_graphic({
+ title: 'Categorical Scale: Y, bars',
+ data: trump,
+ chart_type: 'bar',
+ x_accessor: 'number',
+ y_accessor: 'candidate',
+ height:300,
+ width:300,
+ target: '#bar-categorical2',
+ })
+
+ MG.data_graphic({
+ title: 'Y points, groups',
+ data: polls,
+ chart_type: 'point',
+ y_axis_type: 'categorical',
+ x_accessor: 'number',
+ y_accessor: 'candidate',
+ ygroup_accessor: 'poll',
+ size_accessor: 'size',
+ size_domain: [0,1],
+ size_range: [3,6],
+ height:550,
+ width:300,
+ left:100,
+ target: '#point-categorical-group'
+ })
+
+ MG.data_graphic({
+ title: 'Y bars, groups',
+ data: polls,
+ chart_type: 'bar',
+ y_axis_type: 'categorical',
+ x_accessor: 'number',
+ y_accessor: 'candidate',
+ ygroup_accessor: 'poll',
+ height:550,
+ width:300,
+ left:100,
+ target: '#bar-categorical-group'
+ })
+
+ MG.data_graphic({
+ title: 'Categorical Scale: Y, groups, horizontal',
+ data: polls,
+ chart_type: 'point',
+ y_accessor: 'number',
+ x_accessor: 'candidate',
+ xgroup_accessor: 'poll',
+ size_accessor: 'size',
+ size_domain: [0,1],
+ size_range: [3,6],
+ height:300,
+ width:650,
+ target: '#point-categorical-group-horizontal'
+ })
+
+ MG.data_graphic({
+ title: 'Categorical Scale: Y, groups, horizontal',
+ data: polls,
+ chart_type: 'bar',
+ y_accessor: 'number',
+ x_accessor: 'candidate',
+ xgroup_accessor: 'poll',
+ size_accessor: 'size',
+ size_domain: [0,1],
+ size_range: [3,6],
+ height:300,
+ width:650,
+ target: '#bar-categorical-group-horizontal'
+ })
+})
+</script>
+
+
+
+
+ <div class='row trunk-section'>
+ <div class='col-lg-7 text-center'>
+ <div class='col-lg-6 text-center' id='histogram1'></div>
+ <div class='col-lg-6 text-center' id='histogram2'></div>
+ <div class='col-lg-6 text-center' id='histogram3'></div>
+ <div class='col-lg-6 text-center' id='histogram4'></div>
+ <div class='col-lg-12 text-center' id='time-hist'></div>
+ <div class='col-lg-12 text-center' id='ufos'></div>
+ </div>
+ <div class='col-lg-5'>
+ <div class='data-column'><a href='data/ufo_dates.csv'>data</a></div>
+
+<pre><code class='javascript'>var values = d3.range(10000).map(d3.randomBates(10));
+
+MG.data_graphic({
+ title: "Histogram 1",
+ description: "Raw data values being fed in. Here, we specify the number of bins to be 50 and have bar margins set to 0. The histogram graphic type includes the ability to <a href='http://en.wikipedia.org/wiki/Freedman%E2%80%93Diaconis_rule'>bin data</a>.",
+ data: values,
+ chart_type: 'histogram',
+ width: 295,
+ height: 180,
+ right: 10,
+ bins: 50,
+ bar_margin: 0,
+ target: '#histogram1',
+ y_extended_ticks: true,
+ mouseover: function(d, i) {
+ var pf = d3.format(',.2f');
+ d3.select('#histogram1 svg .mg-active-datapoint')
+ .text('Value: ' + pf(d.x) + ' Count: ' + d.y);
+ }
+});
+
+d3.csv('data/ufo_dates.csv', function(ufos){
+ var data = ufos.map(function(d){
+ return parseInt(d.value) / 30;
+ });
+ data.sort();
+ MG.data_graphic({
+ title: "Difference in UFO Sighting and Reporting Dates (in months)",
+ description: "Semi-real data about the reported differences between the supposed sighting of a UFO and the date it was reported.",
+ data: data,
+ chart_type: 'histogram',
+ width: 600,
+ height: 300,
+ right: 40,
+ bar_margin: 0,
+ bins: 150,
+ target: '#ufos',
+ y_extended_ticks: true,
+ mouseover: function(d, i) {
+ var pf = d3.format(',.2f');
+ d3.select('#ufos svg .mg-active-datapoint')
+ .text(pf(d.x) + ' months Volume: ' + pf(d.y));
+ }
+ });
+});
+
+var second = d3.range(10000).map(function(d) { return Math.random() * 10; });
+second = d3.histogram()(second)
+ .map(function(d) {
+ return {'count': d.y, 'value': d.x};
+});
+
+MG.data_graphic({
+ title: "Histogram 2",
+ description: "Already binned data being fed in.",
+ data: second,
+ binned: true,
+ chart_type: 'histogram',
+ width: 295,
+ height: 180,
+ right: 10,
+ target: '#histogram2',
+ y_extended_ticks: true,
+ x_accessor: 'value',
+ y_accessor: 'count',
+ mouseover: function(d, i) {
+ var pf = d3.format(',.2f');
+ d3.select('#histogram2 svg .mg-active-datapoint')
+ .text('Value: ' + pf(d.x) + ' Count: ' + d.y);
+ }
+});
+
+var third = d3.range(10000).map(d3.randomBates(10));
+third = third.map(function(d,i){ return {val1: d, val2: i}; });
+
+MG.data_graphic({
+ title: "Histogram 3",
+ description: "Unbinned, but in same format as other line chart data.",
+ data: third,
+ chart_type: 'histogram',
+ width: 295,
+ height: 180,
+ right: 10,
+ target: '#histogram3',
+ linked: true,
+ y_extended_ticks: true,
+ x_accessor: 'val1',
+ mouseover: function(d, i) {
+ var pf = d3.format(',.2f');
+ d3.select('#histogram3 svg .mg-active-datapoint')
+ .text('Value: ' + pf(d.x) + ' Count: ' + d.y);
+ }
+});
+
+// check for negative values, for sanity.
+var fourth = d3.range(10000).map(d3.randomBates(10));
+fourth = fourth.map(function(d,i){ return d - 0.5; });
+
+MG.data_graphic({
+ title: "Histogram 4",
+ description: "Sanity-checking negative data.",
+ data: fourth,
+ chart_type: 'histogram',
+ width: 295,
+ height: 180,
+ right: 10,
+ target: '#histogram4',
+ y_extended_ticks: true,
+ x_accessor: 'val1',
+ mouseover: function(d, i) {
+ var pf = d3.format(',.2f');
+ d3.select('#histogram4 svg .mg-active-datapoint')
+ .text('Value: ' + pf(d.x) + ' Count: ' + d.y);
+ }
+});
+
+var hist1 = fake_data(25, 60).map(function(d){
+ d.value = Math.round(d.value);
+ return d;
+});
+
+MG.data_graphic({
+ title: "Histograms can be time series as well",
+ data: hist1,
+ target: '#time-hist',
+ chart_type: 'histogram',
+ width: 600,
+ height: 200,
+ binned: true,
+});</code></pre>
+
+ </div>
+ </div>
+
+ <div class='row trunk-section'>
+ <div class='col-lg-7 text-center' id='table1'></div>
+ <div class='col-lg-5'>
+
+<pre><code class='javascript'>var table_data = [
+ { 'year': 1852, 'value1': 10.2, 'value2': 1030004.43423,'share': 0.12, 'total': 34003400, 'temp': 43, 'geo': 'United Kingdom', 'description': "Having a way of describing a row can be useful." },
+ { 'year': 1901, 'value1': 10.1, 'value2': 54003.223, 'share': 0.11, 'total': 4302100, 'temp': 55, 'geo': 'United States', 'description': "More made-up numbers." },
+ { 'year': 1732, 'value1': 4.3, 'value2': 1004.91422, 'share': 0.14, 'total': 4300240, 'temp': 42, 'geo': 'France', 'description': "We didn't specify a title for this column." },
+ { 'year': 1945, 'value1': 2.9, 'value2': 2430.121, 'share': 0.23, 'total': 24000000, 'temp': 54, 'geo': 'Brazil', 'description': "Brazil, Brazil." },
+ { 'year': 1910, 'value1': 1.0, 'value2': 5432.3, 'share': 0.19, 'total': 130000, 'temp': 52, 'geo': 'India', 'description': "Last description in the whole thing." }
+];
+
+var table1 = MG.data_table({
+ title: "A Data Table",
+ description: "A table is often the most appropriate way to present data. We aim to make the creation of data tables very simple. We are working on implementing sparklines, bullet charts, and other niceties.",
+ data: table_data,
+ show_tooltips: true
+ })
+ .target('#table1')
+ .title({
+ accessor: 'geo',
+ secondary_accessor:'year',
+ label: 'Country',
+ description: "These are arbitrary countries with arbitrary years underneath."
+ })
+ .number({ accessor: 'value1', label: 'Size', value_formatter: function(d){ return d + ' yrds'; }})
+ .number({ accessor: 'value2', label: 'Score', round: 2, font_weight: 'bold' })
+ .number({ accessor: 'temp', label: 'Temp.', format: 'temperature', width: 100, color: 'gray' })
+ .number({
+ accessor: 'total',
+ label: 'Volume',
+ format: 'count', currency: '$',
+ width: 100,
+ font_weight: function(d){ return d < 5000000 ? 'bold' : 'normal'; },
+ color: function(d){ return d < 5000000 ? '#f70101' : 'auto'; }
+ })
+ .number({ accessor: 'share', label: 'Share', format: 'percentage', width: 100 })
+ .text({ accessor: 'description', width: 240, font_style: 'italic' })
+ .display();</code></pre>
+
+ </div>
+ </div>
+
+ <div class='row trunk-section'>
+ <div class='col-lg-7 text-center' id='buttons'></div>
+ <div class='col-lg-5'>
+
+<pre><code class='javascript'>var bdata = [
+ {a:'apples', b:'quartz'},
+ {a:'bananas', b:'pyrite'},
+ {a:'durian', b:'obsidian'}
+];
+
+var resolution_features = ['weekly', 'monthly'];
+
+var buttons = MG.button_layout('#buttons')
+ .data(bdata)
+ .manual_button('Time Scale', resolution_features, function(){ console.log('switched time scales'); })
+ .button('a', 'Fruit')
+ .button('b', 'Rock')
+ .callback(function(){
+ console.log('made it');
+ return false;
+ })
+ .display();</code></pre>
+
+ </div>
+ </div>
+
+ <div class='row trunk-section'>
+ <div class='col-lg-7 text-center'>
+ <div class="tooltip"></div>
+ <style>
+ .tooltip {
+ display: none;
+ min-height: 32px;
+ min-width: 100px;
+ padding: 12px;
+ margin-bottom: 8px;
+ background-color: #333;
+ color: white;
+ opacity: 0.7;
+ text-align: left;
+ }
+ </style>
+ <div class='col-lg-12 text-center' id='tooltip-line-chart'></div>
+ <div class='col-lg-12 text-center' id='tooltip-point-chart'></div>
+ </div>
+ <div class='col-lg-5'>
+
+<pre><code class='html'>&#x3C;div class=&#x22;tooltip&#x22;&#x3E;&#x3C;/div&#x3E;
+&#x3C;style&#x3E;
+.tooltip {
+ display: none;
+ min-height: 32px;
+ min-width: 100px;
+ padding: 12px;
+ margin-bottom: 8px;
+ background-color: #333;
+ color: white;
+ opacity: 0.7;
+ text-align: left;
+}
+&#x3C;/style&#x3E;
+</code></pre>
+
+<pre><code class='javascript'>const tooltipEl = d3.select('.tooltip').node();
+const tooltip = new Popper(document.documentElement, tooltipEl, { placement: 'top' });
+tooltipEl.addEventListener('mouseover', () => {
+ tooltipEl.style.display = 'block';
+})
+tooltipEl.addEventListener('mouseout', () => {
+ tooltipEl.style.display = 'none';
+})
+
+d3.json('data/fake_users1.json', function(data) {
+ data = MG.convert.date(data, 'date');
+ MG.data_graphic({
+ title: "Tooltip on line chart",
+ description: "Using popper.js and the mouseover callback, you can easily create a tooltip when the user hovers over a particular datapoint.",
+ data: data,
+ width: 600,
+ height: 200,
+ right: 40,
+ target: '#tooltip-line-chart',
+ x_accessor: 'date',
+ y_accessor: 'value',
+ show_rollover_text: false,
+ mouseover: (d, i) => {
+ tooltipEl.style.display = 'block';
+ tooltipEl.innerText = `date: ${d3.timeFormat('%b %e, %Y')(d.date)}\nvalue: ${d.value}`;
+ tooltip.reference = d3.select(`#tooltip-line-chart .mg-line-rollover-circle`).node();
+ tooltip.update();
+ },
+ mouseout: () => {
+ tooltipEl.style.display = 'none';
+ }
+ });
+});
+
+d3.json('data/points1.json', function(data) {
+ MG.data_graphic({
+ title: "Tooltip on point chart",
+ description: "This technique also works for point charts.",
+ data: data,
+ chart_type: 'point',
+ width: 600,
+ height: 350,
+ right: 10,
+ target: '#tooltip-point-chart',
+ x_accessor: 'x',
+ y_accessor: 'y',
+ show_rollover_text: false,
+ mouseover: (d, i) => {
+ tooltipEl.style.display = 'block';
+ tooltipEl.innerText = `X: ${d.data.x}\nY: ${d.data.y}`;
+ tooltip.reference = d3.select(`#tooltip-point-chart .mg-points .path-${i}`).node();
+ tooltip.update();
+ },
+ mouseout: (d, i) => {
+ tooltipEl.style.display = 'none';
+ }
+ });
+});</code></pre>
+
+ </div>
+ </div>
+
+
+<script>
+MG._hooks = {};
+d3.json('data/points1.json', function(data) {
+ MG.data_graphic({
+ title: "Simple Scatterplot",
+ description: "This is an example of a simple scatterplot, in which we have enabled rug plots on the y-axis by setting the <i>y_rug</i> option to true.",
+ data: data,
+ chart_type: 'point',
+ width: 295,
+ height: 225,
+ right: 10,
+ target: '#scatter-simple',
+ x_accessor: 'x',
+ y_accessor: 'y',
+ y_rug: true
+ });
+
+ MG.data_graphic({
+ title: "Automatic Category Coloring",
+ description: "By setting <i>color_type</i> to 'category' you can color the points according to another discrete value.",
+ data: data,
+ chart_type: 'point',
+ width: 295,
+ height: 225,
+ right: 10,
+ target: '#categorical1',
+ x_accessor: 'x',
+ y_accessor: 'y',
+ color_accessor: 'v',
+ color_type: 'category',
+ y_rug: true
+ });
+
+ MG.data_graphic({
+ title: "Custom Category Color Mapping",
+ description: "You can specify the color domain and the corresponding color range to get custom mapping of categories to colors.",
+ data: data,
+ chart_type: 'point',
+ width: 295,
+ height: 225,
+ right: 10,
+ target: '#categorical2',
+ x_accessor: 'x',
+ y_accessor: 'y',
+ color_accessor: 'v',
+ color_domain: ['cat_0', 'cat_1', 'other'],
+ color_range: ['blue', 'gray', 'black'],
+ color_type: 'category',
+ x_rug: true
+ });
+
+ MG.data_graphic({
+ title: "Simple Line of Best Fit",
+ description: "For any scatterplot, set <i>least_squares</i> to true to add.",
+ data: data,
+ least_squares: true,
+ chart_type: 'point',
+ width: 295,
+ height: 225,
+ right: 10,
+ target: '#scatter-line-best-fit',
+ x_accessor: 'x',
+ y_accessor: 'y'
+ });
+
+ MG.data_graphic({
+ title: "Points Highlighting",
+ description: "You can set <i>highlight</i> to filter the points you want to highlight.",
+ data: data,
+ chart_type: 'point',
+ width: 295,
+ height: 225,
+ right: 10,
+ target: '#highlight',
+ x_accessor: 'x',
+ y_accessor: 'y',
+ y_rug: true,
+ highlight: (d, i) => d.z > 2
+ });
+});
+
+d3.json('data/fake_users1.json', function(data) {
+ data = MG.convert.date(data, 'date');
+ MG.data_graphic({
+ title: "Another Least Squares Example",
+ description: "Least squares effortlessly works with dates or times on axes.",
+ data: data,
+ chart_type: 'point',
+ width: 295,
+ height: 225,
+ left: 60,
+ right: 10,
+ least_squares: true,
+ target: '#sls-time-series',
+ x_accessor: 'date',
+ y_accessor: 'value'
+ });
+});
+
+var color_range = (theme === 'light') ? null : ['white','yellow'];
+
+d3.json('data/points1.json', function(data) {
+ MG.data_graphic({
+ title: "Scatterplot with Size and Color",
+ description: "Scatterplots have <i>x_accessor</i>, <i>y_accessor</i>, <i>size_accessor</i>, and <i>color_accessor</i>. For the last two you can also provide domain and range functions, to make it easy to change the color ranges. Colors default to red and blue, but can be overridden by passing an array of colors to <i>color_range</i>, as we've done in this example for the dark theme.",
+ data: data,
+ chart_type: 'point',
+ width: 295,
+ height: 225,
+ right: 10,
+ target: '#scatter-size-and-color',
+ x_accessor: 'x',
+ y_accessor: 'y',
+ color_accessor: 'z',
+ color_range: color_range,
+ size_accessor: 'w',
+ x_rug: true,
+ y_rug: true
+ });
+});
+
+var values = d3.range(10000).map(d3.randomBates(10));
+
+MG.data_graphic({
+ title: "Histogram 1",
+ description: "Raw data values being fed in. Here, we specify the number of bins to be 50 and have bar margins set to 0. The histogram graphic type includes the ability to <a href='http://en.wikipedia.org/wiki/Freedman%E2%80%93Diaconis_rule'>bin data</a>.",
+ data: values,
+ chart_type: 'histogram',
+ width: 295,
+ height: 180,
+ bins: 50,
+ bar_margin: 0,
+ target: '#histogram1',
+ y_extended_ticks: true,
+ mouseover: function(d, i) {
+ var pf = d3.format(',.2f');
+ d3.select('#histogram1 svg .mg-active-datapoint')
+ .text('Value: ' + pf(d.x) + ' Count: ' + d.y);
+ }
+});
+
+d3.csv('data/ufo_dates.csv', function(ufos){
+ var data = ufos.map(function(d){
+ return parseInt(d.value) / 30;
+ });
+ data.sort();
+ MG.data_graphic({
+ title: "Difference in UFO Sighting and Reporting Dates (in months)",
+ description: "Semi-real data about the reported differences between the supposed sighting of a UFO and the date it was reported.",
+ data: data,
+ chart_type: 'histogram',
+ width: 600,
+ height: 300,
+ right: 40,
+ bar_margin: 0,
+ bins: 150,
+ target: '#ufos',
+ y_extended_ticks: true,
+ mouseover: function(d, i) {
+ var pf = d3.format(',.2f');
+ d3.select('#ufos svg .mg-active-datapoint')
+ .text(pf(d.x) + ' months Volume: ' + d.y);
+ }
+ });
+});
+
+var second = d3.range(10000).map(function(d) { return Math.random() * 10; });
+second = d3.histogram()(second)
+ .map(function(d) {
+ return {'value': d.x0, 'count': d.length};
+});
+
+MG.data_graphic({
+ title: "Histogram 2",
+ description: "Already binned data being fed in.",
+ data: second,
+ binned: true,
+ chart_type: 'histogram',
+ width: 295,
+ height: 180,
+ target: '#histogram2',
+ y_extended_ticks: true,
+ x_accessor: 'value',
+ y_accessor: 'count',
+ mouseover: function(d, i) {
+ var pf = d3.format(',.2f');
+ d3.select('#histogram2 svg .mg-active-datapoint')
+ .text('Value: ' + pf(d.x) + ' Count: ' + d.y);
+ }
+});
+
+var third = d3.range(10000).map(d3.randomBates(10));
+third = third.map(function(d,i){ return {val1: d, val2: i}; });
+
+MG.data_graphic({
+ title: "Histogram 3",
+ description: "Unbinned, but in same format as other line chart data.",
+ data: third,
+ chart_type: 'histogram',
+ width: 295,
+ height: 180,
+ target: '#histogram3',
+ linked: true,
+ y_extended_ticks: true,
+ x_accessor: 'val1',
+ mouseover: function(d, i) {
+ var pf = d3.format(',.2f');
+ d3.select('#histogram3 svg .mg-active-datapoint')
+ .text('Value: ' + pf(d.x) + ' Count: ' + d.y);
+ }
+});
+
+// check for negative values, for sanity.
+var fourth = d3.range(10000).map(d3.randomBates(10));
+fourth = fourth.map(function(d,i){ return d - 0.5; });
+
+MG.data_graphic({
+ title: "Histogram 4",
+ description: "Sanity-checking negative data.",
+ data: fourth,
+ chart_type: 'histogram',
+ width: 295,
+ height: 180,
+ target: '#histogram4',
+ y_extended_ticks: true,
+ x_accessor: 'val1',
+ mouseover: function(d, i) {
+ var pf = d3.format(',.2f');
+ d3.select('#histogram4 svg .mg-active-datapoint')
+ .text('Value: ' + pf(d.x) + ' Count: ' + d.y);
+ }
+});
+
+var hist1 = fake_data(25, 60).map(function(d){
+ d.value = Math.round(d.value);
+ return d;
+});
+
+MG.data_graphic({
+ title: "Histograms can be time series as well",
+ data: hist1,
+ target: '#time-hist',
+ chart_type: 'histogram',
+ width: 600,
+ height: 200,
+ binned: true,
+});
+
+var table_data = [
+ { 'year': 1852, 'value1': 10.2, 'value2': 1030004.43423,'share': 0.12, 'total': 34003400, 'temp': 43, 'geo': 'United Kingdom', 'description': "Having a way of describing a row can be useful." },
+ { 'year': 1901, 'value1': 10.1, 'value2': 54003.223, 'share': 0.11, 'total': 4302100, 'temp': 55, 'geo': 'United States', 'description': "More made-up numbers." },
+ { 'year': 1732, 'value1': 4.3, 'value2': 1004.91422, 'share': 0.14, 'total': 4300240, 'temp': 42, 'geo': 'France', 'description': "We didn't specify a title for this column." },
+ { 'year': 1945, 'value1': 2.9, 'value2': 2430.121, 'share': 0.23, 'total': 24000000, 'temp': 54, 'geo': 'Brazil', 'description': "Brazil, Brazil." },
+ { 'year': 1910, 'value1': 1.0, 'value2': 5432.3, 'share': 0.19, 'total': 130000, 'temp': 52, 'geo': 'India', 'description': "Last description in the whole thing." }
+];
+
+var table1 = MG.data_table({
+ title: "A Data Table",
+ description: "A table is often the most appropriate way to present data. We aim to make the creation of data tables very simple. We are working on implementing sparklines, bullet charts, and other niceties.",
+ data: table_data,
+ show_tooltips: true
+ })
+ .target('#table1')
+ .title({
+ accessor: 'geo',
+ secondary_accessor:'year',
+ label: 'Country',
+ description: "These are arbitrary countries with arbitrary years underneath."
+ })
+ .number({ accessor: 'value1', label: 'Size', value_formatter: function(d){ return d + ' yrds'; }})
+ .number({ accessor: 'value2', label: 'Score', round: 2, font_weight: 'bold' })
+ .number({ accessor: 'temp', label: 'Temp.', format: 'temperature', width: 100, color: 'gray' })
+ .number({
+ accessor: 'total',
+ label: 'Volume',
+ format: 'count', currency: '$',
+ width: 100,
+ font_weight: function(d){ return d < 5000000 ? 'bold' : 'normal'; },
+ color: function(d){ return d < 5000000 ? '#f70101' : 'auto'; }
+ })
+ .number({ accessor: 'share', label: 'Share', format: 'percentage', width: 100 })
+ .text({ accessor: 'description', width: 240, font_style: 'italic' })
+ .display();
+
+var bdata = [
+ {a:'apples', b:'quartz'},
+ {a:'bananas', b:'pyrite'},
+ {a:'durian', b:'obsidian'}
+];
+
+var resolution_features = ['weekly', 'monthly'];
+
+var buttons = MG.button_layout('#buttons')
+ .data(bdata)
+ .manual_button('Time Scale', resolution_features, function(){ console.log('switched time scales'); })
+ .button('a', 'Fruit')
+ .button('b', 'Rock')
+ .callback(function(){
+ console.log('made it');
+ return false;
+ })
+ .display();
+
+addScatterplotSizeAndColor(theme);
+
+function addScatterplotSizeAndColor(theme) {
+ var color_range = (theme === 'light') ? null : ['white','yellow'];
+
+ // call data_graphic again since we need to use a different color_range for the dark theme
+ d3.json('data/points1.json', function(data) {
+ MG.data_graphic({
+ title: "Scatterplot with Size and Color",
+ description: "Scatterplots have <i>x_accessor</i>, <i>y_accessor</i>, <i>size_accessor</i>, and <i>color_accessor</i>. For the last two you can also provide domain and range functions, to make it easy to change the color ranges. Colors default to red and blue, but can be overridden by passing an array of colors to <i>color_range</i>, as we've done in this example for the dark theme.",
+ data: data,
+ chart_type: 'point',
+ width: 295,
+ height: 225,
+ right: 10,
+ target: '#scatter-size-and-color',
+ x_accessor: 'x',
+ y_accessor: 'y',
+ color_accessor: 'z',
+ color_range: color_range,
+ size_accessor: 'w',
+ x_rug: true,
+ y_rug: true
+ });
+ });
+}
+
+function fake_data(length, seconds) {
+ var d = new Date();
+ var v = 100000;
+ var data=[];
+
+ for (var i = 0; i < length; i++){
+ v += (Math.random() - 0.5) * 10000;
+ data.push({date: MG.clone(d), value: v});
+ d = new Date(d.getTime() + seconds * 1000);
+ }
+ return data;
+}
+
+function fake_days(length) {
+ var d = new Date();
+ var v = 100000;
+
+ var data = [];
+ for (var i = 0; i<length; i++) {
+ v += (Math.random() - 0.5) * 10000;
+ data.push({date: MG.clone(d), value: v});
+ d.setDate(d.getDate() + 1);
+ }
+ return data;
+}
+
+const tooltipEl = d3.select('.tooltip').node();
+const tooltip = new Popper(document.documentElement, tooltipEl, { placement: 'top' });
+tooltipEl.addEventListener('mouseover', () => {
+ tooltipEl.style.display = 'block';
+})
+tooltipEl.addEventListener('mouseout', () => {
+ tooltipEl.style.display = 'none';
+})
+
+d3.json('data/fake_users1.json', function(data) {
+ data = MG.convert.date(data, 'date');
+ MG.data_graphic({
+ title: "Tooltip on line chart",
+ description: "Using popper.js and the mouseover callback, you can easily create a tooltip when the user hovers over a particular datapoint.",
+ data: data,
+ width: 600,
+ height: 200,
+ right: 40,
+ target: '#tooltip-line-chart',
+ x_accessor: 'date',
+ y_accessor: 'value',
+ show_rollover_text: false,
+ mouseover: (d, i) => {
+ tooltipEl.style.display = 'block';
+ tooltipEl.innerText = `date: ${d3.timeFormat('%b %e, %Y')(d.date)}\nvalue: ${d.value}`;
+ tooltip.reference = d3.select(`#tooltip-line-chart .mg-line-rollover-circle`).node();
+ tooltip.update();
+ },
+ mouseout: () => {
+ tooltipEl.style.display = 'none';
+ }
+ });
+});
+
+d3.json('data/points1.json', function(data) {
+ MG.data_graphic({
+ title: "Tooltip on point chart",
+ description: "This technique also works for point charts.",
+ data: data,
+ chart_type: 'point',
+ width: 600,
+ height: 350,
+ right: 10,
+ target: '#tooltip-point-chart',
+ x_accessor: 'x',
+ y_accessor: 'y',
+ show_rollover_text: false,
+ mouseover: (d, i) => {
+ tooltipEl.style.display = 'block';
+ tooltipEl.innerText = `X: ${d.data.x}\nY: ${d.data.y}`;
+ tooltip.reference = d3.select(`#tooltip-point-chart .mg-points .path-${i}`).node();
+ tooltip.update();
+ },
+ mouseout: (d, i) => {
+ tooltipEl.style.display = 'none';
+ }
+ });
+});
+</script>
diff --git a/priv/static/metrics-graphics-3.0-alpha3/examples/charts/lines.htm b/priv/static/metrics-graphics-3.0-alpha3/examples/charts/lines.htm
new file mode 100644
index 0000000..b758d34
--- /dev/null
+++ b/priv/static/metrics-graphics-3.0-alpha3/examples/charts/lines.htm
@@ -0,0 +1,335 @@
+ <div class='row trunk-section'>
+ <div class='col-lg-7 text-center' id='fake_users1'></div>
+ <div class='col-lg-5'>
+ <div class='data-column'><a href='data/fake_users1.json'>data</a></div>
+
+<pre><code class='javascript'>d3.json('data/fake_users1.json', function(data) {
+ data = MG.convert.date(data, 'date');
+ MG.data_graphic({
+ title: "Line Chart",
+ description: "This is a simple line chart. You can remove the area portion by adding <i>area: false</i> to the arguments list.",
+ data: data,
+ width: 600,
+ height: 200,
+ right: 40,
+ target: document.getElementById('fake_users1'),
+ x_accessor: 'date',
+ y_accessor: 'value'
+ });
+});</code></pre>
+
+ </div>
+ </div>
+
+ <div class='row trunk-section'>
+ <div class='col-lg-7 text-center' id='confidence_band'></div>
+ <div class='col-lg-5'>
+ <div class='data-column'><a href='data/confidence_band.json'>data</a></div>
+
+<pre><code class='javascript'>d3.json('data/confidence_band.json', function(data) {
+ data = MG.convert.date(data, 'date');
+ MG.data_graphic({
+ title: "Confidence Band",
+ description: "This is an example of a graphic with a confidence band and extended x-axis ticks enabled.",
+ data: data,
+ format: 'percentage',
+ width: 600,
+ height: 200,
+ right: 40,
+ area: false,
+ target: '#confidence_band',
+ show_secondary_x_label: false,
+ show_confidence_band: ['l', 'u'],
+ x_extended_ticks: true
+ });
+});</code></pre>
+
+ </div>
+ </div>
+
+ <div class='row trunk-section'>
+ <div class='col-lg-7 text-center' id='small-range'></div>
+ <div class='col-lg-5'>
+ <div class='data-column'><a href='data/small-range.json'>data</a></div>
+
+<pre><code class='javascript'>d3.json('data/small-range.json', function(data) {
+ data = MG.convert.date(data, 'date');
+ MG.data_graphic({
+ title: "Small Range of Integers",
+ description: "When we have a data object of integers and a small range of values, the auto-generated set of y-axis ticks are filtered so that we don't include fractional values.",
+ data: data,
+ interpolate: d3.curveLinear,
+ width: 600,
+ height: 200,
+ right: 40,
+ target: '#small-range'
+ });
+});</code></pre>
+
+ </div>
+ </div>
+
+ <div class='row trunk-section'>
+ <div class='col-lg-7 text-center'>
+ <div id='briefing-1'></div>
+ <div id='briefing-2'></div>
+ </div>
+ <div class='col-lg-5'>
+ <div class='data-column'>
+ <a href='data/brief-1.json'>data 1</a>,
+ <a href='data/brief-2.json'>data 2</a>
+ </div>
+
+<pre><code class='javascript'>d3.json('data/brief-1.json', function(data) {
+ data = MG.convert.date(data, 'date');
+ MG.data_graphic({
+ title: "Linked Graphic",
+ description: "The two graphics in this section are linked together. A rollover in one causes a rollover in the other.",
+ data: data,
+ linked: true,
+ width: 600,
+ height: 200,
+ right: 40,
+ xax_count: 4,
+ target: '#briefing-1'
+ });
+});
+
+d3.json('data/brief-2.json', function(data) {
+ data = MG.convert.date(data, 'date');
+ MG.data_graphic({
+ title: "Other Linked Graphic",
+ description: "Roll over and watch as the graphic to the left triggers.",
+ data: data,
+ area: false,
+ linked: true,
+ width: 600,
+ height: 200,
+ right: 40,
+ xax_count: 4,
+ target: '#briefing-2'
+ });
+});</code></pre>
+
+ </div>
+ </div>
+
+ <div class='row trunk-section'>
+ <div class='col-lg-7 text-center' id='singleton'></div>
+ <div class='col-lg-5'>
+
+<pre><code class='javascript'>MG.data_graphic({
+ title: "Singleton",
+ description: "Handling a solitary data point.",
+ data: [{'date': new Date('2015-03-05T21:00:00Z'), 'value': 12000}],
+ width: 600,
+ height: 200,
+ right: 40,
+ target: '#singleton'
+});</code></pre>
+
+ </div>
+ </div>
+
+ <div class='row trunk-section'>
+ <div class='col-lg-7 text-center' id='custom-color'></div>
+ <div class='col-lg-5'>
+
+<pre><code class='javascript'>d3.json('data/fake_users1.json', function(data) {
+ data = MG.convert.date(data, 'date');
+ MG.data_graphic({
+ title: "Changing Single Line Color",
+ description: "For single line charts, there are two simple ways to change a line color. The first is to change the css (described on the wiki). The other is to specify a color value using color: <em>string</em> or colors: <em>string</em>.",
+ data: data,
+ width: 600,
+ height: 200,
+ right: 40,
+ color: '#8C001A',
+ target: 'div#custom-color',
+ x_accessor: 'date',
+ y_accessor: 'value'
+ });
+});</code></pre>
+
+ </div>
+ </div>
+
+ <div class='row trunk-section'>
+ <div class='col-lg-7 text-center' id='area_flipped_users_gain_loss'></div>
+ <div class='col-lg-5'>
+ <div class='data-column'><a href='data/fake_users1.json'>data</a></div>
+
+ <pre><code class='javascript'>d3.json('data/fake_users1.json', function(data) {
+
+ var max = d3.max(data, function (d) {
+ return d.value;
+ });
+ var min = d3.min(data, function(d) {
+ return d.value;
+ });
+
+ var offsetForNegativeValues = ((max - min) / 1.75);
+
+ for (var i = 0; i < data.length; i++) {
+ data[i].value = (data[i].value - offsetForNegativeValues) / 1000000;
+ }
+
+ data = MG.convert.date(data, 'date');
+ MG.data_graphic({
+ title: "Flipped area under Y value baseline",
+ description: "This is a line chart having a flipped area under a Y value baseline",
+ data: data,
+ width: 600,
+ height: 200,
+ right: 40,
+ area: true,
+ flip_area_under_y_value: 0,
+ target: document.getElementById('area_flipped_users_gain_loss'),
+ x_accessor: 'date',
+ y_accessor: 'value'
+ });
+});</code></pre>
+
+ </div>
+ </div>
+
+<script>
+
+
+
+d3.json('data/fake_users1.json', function(data) {
+ data = MG.convert.date(data, 'date');
+ MG.data_graphic({
+ title: "Changing Single Line Color",
+ description: "For single line charts, there are two simple ways to change a line color. The first is to change the css (described on the wiki). The other is to specify a color value using color: <em>string</em> or colors: <em>string</em>.",
+ data: data,
+ width: 600,
+ height: 200,
+ right: 40,
+ color: '#8C001A',
+ target: 'div#custom-color',
+ x_accessor: 'date',
+ y_accessor: 'value'
+ });
+});
+
+MG._hooks = {};
+d3.json('data/fake_users1.json', function(data) {
+ data = MG.convert.date(data, 'date');
+ MG.data_graphic({
+ title: "Line Chart",
+ description: "This is a simple line chart. You can remove the area portion by adding <i>area: false</i> to the arguments list.",
+ data: data,
+ width: 600,
+ height: 200,
+ right: 40,
+ target: document.getElementById('fake_users1'),
+ x_accessor: 'date',
+ y_accessor: 'value'
+ });
+});
+
+d3.json('data/confidence_band.json', function(data) {
+ data = MG.convert.date(data, 'date');
+ MG.data_graphic({
+ title: "Confidence Band",
+ description: "This is an example of a graphic with a confidence band and extended x-axis ticks enabled.",
+ data: data,
+ format: 'percentage',
+ width: 600,
+ height: 200,
+ right: 40,
+ area: false,
+ target: '#confidence_band',
+ show_secondary_x_label: false,
+ show_confidence_band: ['l', 'u'],
+ x_extended_ticks: true
+ });
+});
+
+d3.json('data/small-range.json', function(data) {
+ data = MG.convert.date(data, 'date');
+ MG.data_graphic({
+ title: "Small Range of Integers",
+ description: "When we have a data object of integers and a small range of values, the auto-generated set of y-axis ticks are filtered so that we don't include fractional values.",
+ data: data,
+ interpolate: d3.curveLinear,
+ width: 600,
+ height: 200,
+ right: 40,
+ target: '#small-range'
+ });
+});
+
+d3.json('data/brief-1.json', function(data) {
+ data = MG.convert.date(data, 'date');
+ MG.data_graphic({
+ title: "Linked Graphic",
+ description: "The two graphics in this section are linked together. A rollover in one causes a rollover in the other.",
+ data: data,
+ linked: true,
+ width: 600,
+ height: 200,
+ right: 40,
+ xax_count: 4,
+ target: '#briefing-1'
+ });
+});
+
+d3.json('data/brief-2.json', function(data) {
+ data = MG.convert.date(data, 'date');
+ MG.data_graphic({
+ title: "Other Linked Graphic",
+ description: "Roll over and watch as the graphic to the left triggers.",
+ data: data,
+ area: false,
+ linked: true,
+ width: 600,
+ height: 200,
+ right: 40,
+ xax_count: 4,
+ target: '#briefing-2'
+ });
+});
+
+MG.data_graphic({
+ title: "Singleton",
+ description: "Handling a solitary data point.",
+ data: [{'date': new Date('2015-03-05T21:00:00Z'), 'value': 12000}],
+ width: 600,
+ height: 200,
+ right: 40,
+ target: '#singleton'
+});
+
+d3.json('data/fake_users1.json', function(data) {
+
+ var max = d3.max(data, function (d) {
+ return d.value;
+ });
+ var min = d3.min(data, function(d) {
+ return d.value;
+ });
+
+ var offsetForNegativeValues = ((max - min) / 1.75);
+
+ for (var i = 0; i < data.length; i++) {
+ data[i].value = (data[i].value - offsetForNegativeValues) / 1000000;
+ }
+
+ data = MG.convert.date(data, 'date');
+ MG.data_graphic({
+ title: "Flipped area under Y value baseline",
+ description: "This is a line chart having a flipped area under a Y value baseline",
+ data: data,
+ width: 600,
+ height: 200,
+ right: 40,
+ area: true,
+ flip_area_under_y_value: 0,
+ target: document.getElementById('area_flipped_users_gain_loss'),
+ x_accessor: 'date',
+ y_accessor: 'value'
+ });
+});
+</script>
diff --git a/priv/static/metrics-graphics-3.0-alpha3/examples/charts/multilines.htm b/priv/static/metrics-graphics-3.0-alpha3/examples/charts/multilines.htm
new file mode 100644
index 0000000..d807466
--- /dev/null
+++ b/priv/static/metrics-graphics-3.0-alpha3/examples/charts/multilines.htm
@@ -0,0 +1,368 @@
+ <div class='row trunk-section'>
+ <div class='col-lg-7 text-center' id='fake_users2'></div>
+ <div class='col-lg-5'>
+ <div class='data-column'><a href='data/fake_users2.json'>data</a></div>
+
+<pre><code class='javascript'>d3.json('data/fake_users2.json', function(data) {
+ for (var i = 0; i < data.length; i++) {
+ data[i] = MG.convert.date(data[i], 'date');
+ }
+
+ MG.data_graphic({
+ title: "Multi-Line Chart",
+ description: "This line chart contains multiple lines.",
+ data: data,
+ width: 600,
+ height: 200,
+ right: 40,
+ target: '#fake_users2',
+ legend: ['Line 1','Line 2','Line 3'],
+ legend_target: '.legend'
+ });
+});</code></pre>
+
+ </div>
+ </div>
+ <div class='row'>
+ <div class='col-lg-7 text-center legend'></div>
+ <div class='col-lg-5'></div>
+ </div>
+
+ <div class='row trunk-section'>
+ <div class='col-lg-7 text-center' id='missing_is_hidden_multi'></div>
+ <div class='col-lg-5'>
+ <div class='data-column'><a href='data/missing-is-hidden-multi.json'>data</a></div>
+
+<pre><code class='javascript'>d3.json('data/missing-is-hidden-multi.json', function(data) {
+ for (var i = 0; i < data.length; i++) {
+ data[i] = MG.convert.date(data[i], 'date');
+ }
+
+ MG.data_graphic({
+ title: "Broken Multi-Lines",
+ description: 'Setting <i>missing_is_hidden</i> works with multiple lines too.',
+ data: data,
+ width: 600,
+ height: 200,
+ right: 40,
+ missing_is_hidden: true,
+ target: '#missing_is_hidden_multi',
+ show_secondary_x_label: false
+ });
+});</code></pre>
+
+ </div>
+ </div>
+
+ <div class='row trunk-section'>
+ <div class='col-lg-7 text-center'>
+ <div id='linked_multi1'></div>
+ <div id='linked_multi2'></div>
+ </div>
+ <div class='col-lg-5'>
+ <div class='data-column'>
+ <a href='data/fake_users2.json'>data 1</a>,
+ <a href='data/fake_users3.json'>data 2</a>
+ </div>
+
+<pre><code class='javascript'>d3.json('data/fake_users2.json', function(data) {
+ for (var i = 0; i < data.length; i++) {
+ data[i] = MG.convert.date(data[i], 'date');
+ }
+
+ MG.data_graphic({
+ title: "Multi-Line Linked",
+ description: "Demoing linked multi-line charts.",
+ data: data,
+ width: 600,
+ height: 200,
+ right: 40,
+ target: '#linked_multi1',
+ linked: true
+ });
+})
+
+d3.json('data/fake_users3.json', function(data) {
+ for (var i = 0; i < data.length; i++) {
+ data[i] = MG.convert.date(data[i], 'date');
+ }
+
+ MG.data_graphic({
+ title: "Multi-Line Linked 2",
+ description: "Demoing linked multi-line charts.",
+ data: data,
+ width: 600,
+ height: 200,
+ right: 40,
+ target: '#linked_multi2',
+ linked: true
+ });
+});</code></pre>
+
+ </div>
+</div>
+
+<div class='row trunk-section'>
+ <div class='col-lg-7 text-center' id='missing-multi'></div>
+ <div class='col-lg-5'>
+ <div class='data-column'><a href='data/fake_users3.json'>data</a></div>
+
+<pre><code class='javascript'>d3.json('data/fake_users3.json', function(data) {
+ for (var i = 0; i < data.length; i++) {
+ data[i] = MG.convert.date(data[i], 'date');
+ }
+ // set this to an empty array.
+ // data[0] and data[2] both still arrays of objects.
+ data[1] = [];
+
+ MG.data_graphic({
+ title: "Missing Time Series Don't Get Drawn",
+ description: "We set the second array to [] instead of the loaded data. The line color order is preserved.",
+ data: data,
+ width: 600,
+ height: 200,
+ right: 40,
+ target: '#missing-multi'
+ });
+});
+});</code></pre>
+
+ </div>
+</div>
+
+<div class='row trunk-section'>
+ <div class='col-lg-7 text-center' id='multi-labelled'></div>
+ <div class='col-lg-5'>
+ <div class='data-column'><a href='data/fake_users3.json'>data</a></div>
+
+<pre><code class='javascript'>d3.json('data/fake_users3.json', function(data) {
+ for (var i = 0; i < data.length; i++) {
+ data[i] = MG.convert.date(data[i], 'date');
+ }
+
+ data[1][data[1].length-1].value = 50000000;
+ data[2][data[2].length-1] = MG.clone(data[1][data[1].length-1]);
+ data[2][data[2].length-1].value += 10000000;
+
+ MG.data_graphic({
+ title: "Labeling Lines",
+ data: data,
+ width: 600,
+ height: 200,
+ right: 40,
+ legend: ['US', 'CA', 'DE'],
+ target: '#multi-labelled'
+ });
+});</code></pre>
+
+ </div>
+</div>
+
+
+<div class='row trunk-section'>
+ <div class='col-lg-7 text-center' id='custom-colors'></div>
+ <div class='col-lg-5'>
+ <div class='data-column'><a href='data/fake_users3.json'>data</a></div>
+
+<pre><code class='javascript'>d3.json('data/fake_users2.json', function(data){
+ for (var i = 0; i < data.length; i++) {
+ data[i] = MG.convert.date(data[i], 'date');
+ };
+ MG.data_graphic({
+ title: "Custom Line Coloring",
+ description: "By passing in an array of hex / rgb / rgba / html strings, you can specify the colors of the lines. NOTE: this feature may have an API change before it is fully in Metrics Graphics. Use at your own risk.",
+ data: [data[0], data[1], data[2]],
+ width: 600,
+ height: 200,
+ right: 40,
+ target: '#custom-colors',
+ legend: ['Team A','Team B','Team C'],
+ legend_target: 'div#custom-color-key',
+ colors: ['blue', 'rgb(255,100,43)', '#CCCCFF'],
+ aggregate_rollover: true
+ });
+})
+</code></pre>
+
+ </div>
+</div>
+<div class='row'>
+ <div class='col-lg-7 text-center legend' id='custom-color-key'></div>
+ <div class='col-lg-5'></div>
+</div>
+
+ <div class='row trunk-section'>
+ <div class='col-lg-7 text-center' id='multiline_area_select'></div>
+ <div class='col-lg-5'>
+ <div class='data-column'><a href='data/fake_users2.json'>data</a></div>
+
+ <pre><code class='javascript'>d3.json('data/fake_users3.json', function(data) {
+
+ for (var i = 0; i < data.length; i++) {
+ data[i] = MG.convert.date(data[i], 'date');
+ };
+
+ MG.data_graphic({
+ title: "Select lines of your multi-line chart having areas",
+ description: "By passing in an array of booleans in 'area' property, you can choose which lines has an area or not.",
+ data: data,
+ width: 600,
+ height: 200,
+ right: 40,
+ target: '#multiline_area_select',
+ area: [false, true, false],
+ y_extended_ticks: true,
+ x_accessor: 'date'
+ });
+});</code></pre>
+
+<script>
+MG._hooks = {};
+d3.json('data/fake_users2.json', function(data) {
+ for (var i = 0; i < data.length; i++) {
+ data[i] = MG.convert.date(data[i], 'date');
+ }
+
+ MG.data_graphic({
+ title: "Multi-Line Chart",
+ description: "This line chart contains multiple lines.",
+ data: data,
+ width: 600,
+ height: 200,
+ right: 40,
+ target: '#fake_users2',
+ legend: ['Line 1','Line 2','Line 3'],
+ legend_target: '.legend'
+ });
+});
+
+d3.json('data/missing-is-hidden-multi.json', function(data) {
+ for (var i = 0; i < data.length; i++) {
+ data[i] = MG.convert.date(data[i], 'date');
+ }
+
+ MG.data_graphic({
+ title: "Broken Multi-Lines",
+ description: 'Setting <i>missing_is_hidden</i> works with multiple lines too.',
+ data: data,
+ width: 600,
+ height: 200,
+ right: 40,
+ missing_is_hidden: true,
+ target: '#missing_is_hidden_multi',
+ show_secondary_x_label: false
+ });
+});
+
+d3.json('data/fake_users2.json', function(data) {
+ for (var i = 0; i < data.length; i++) {
+ data[i] = MG.convert.date(data[i], 'date');
+ }
+
+ MG.data_graphic({
+ title: "Multi-Line Linked",
+ description: "Demoing linked multi-line charts.",
+ data: data,
+ width: 600,
+ height: 200,
+ right: 40,
+ target: '#linked_multi1',
+ linked: true
+ });
+})
+
+d3.json('data/fake_users3.json', function(data) {
+ for (var i = 0; i < data.length; i++) {
+ data[i] = MG.convert.date(data[i], 'date');
+ }
+
+ MG.data_graphic({
+ title: "Multi-Line Linked 2",
+ description: "Demoing linked multi-line charts.",
+ data: data,
+ width: 600,
+ height: 200,
+ right: 40,
+ target: '#linked_multi2',
+ linked: true
+ });
+});
+
+d3.json('data/fake_users3.json', function(data) {
+ for (var i = 0; i < data.length; i++) {
+ data[i] = MG.convert.date(data[i], 'date');
+ }
+
+ // set this to an empty array.
+ // data[0] and data[2] both still arrays of objects.
+ data[1] = [];
+ MG.data_graphic({
+ title: "Missing Time Series Don't Get Drawn",
+ description: "We set the second array to [] instead of the loaded data. The line color order is preserved.",
+ data: data,
+ width: 600,
+ height: 200,
+ right: 40,
+ target: '#missing-multi'
+ });
+});
+
+d3.json('data/fake_users3.json', function(data) {
+ for (var i = 0; i < data.length; i++) {
+ data[i] = MG.convert.date(data[i], 'date');
+ }
+ data[1][data[1].length-1].value = 50000000;
+ data[2][data[2].length-1] = MG.clone(data[1][data[1].length-1]);
+ data[2][data[2].length-1].value += 10000000;
+
+
+ MG.data_graphic({
+ title: "Labeling Lines",
+ data: data,
+ width: 600,
+ height: 200,
+ right: 40,
+ legend: ['US', 'CA', 'DE'],
+ target: '#multi-labelled'
+ });
+});
+
+d3.json('data/fake_users2.json', function(data){
+ for (var i = 0; i < data.length; i++) {
+ data[i] = MG.convert.date(data[i], 'date');
+ };
+ MG.data_graphic({
+ title: "Custom Line Coloring",
+ description: "By passing in an array of hex / rgb / rgba / html strings, you can specify the colors of the lines. NOTE: this feature may have an API change before it is fully in Metrics Graphics. Use at your own risk.",
+ data: [data[0], data[1], data[2]],
+ width: 600,
+ height: 200,
+ right: 40,
+ target: '#custom-colors',
+ legend: ['Team A','Team B','Team C'],
+ legend_target: 'div#custom-color-key',
+ colors: ['blue', 'rgb(255,100,43)', '#CCCCFF'],
+ aggregate_rollover: true
+ });
+});
+
+d3.json('data/fake_users3.json', function(data) {
+
+ for (var i = 0; i < data.length; i++) {
+ data[i] = MG.convert.date(data[i], 'date');
+ };
+
+ MG.data_graphic({
+ title: "Select lines of your multi-line chart having areas",
+ description: "By passing in an array of booleans in 'area' property, you can choose which lines has an area or not.",
+ data: data,
+ width: 600,
+ height: 200,
+ right: 40,
+ target: '#multiline_area_select',
+ area: [false, true, false],
+ y_extended_ticks: true,
+ x_accessor: 'date'
+ });
+});
+</script>
diff --git a/priv/static/metrics-graphics-3.0-alpha3/examples/charts/other.htm b/priv/static/metrics-graphics-3.0-alpha3/examples/charts/other.htm
new file mode 100644
index 0000000..e65d641
--- /dev/null
+++ b/priv/static/metrics-graphics-3.0-alpha3/examples/charts/other.htm
@@ -0,0 +1,48 @@
+ <div class='row trunk-section'>
+ <div class='col-lg-7 text-center' id='aspect1'></div>
+ <div class='col-lg-5'>
+ <div class='data-column'><a href='data/fake_users3.json'>data</a></div>
+
+<pre><code class='javascript'>d3.json('data/fake_users3.json', function(data) {
+ for(var i = 0; i < data.length; i++) {
+ data[i] = MG.convert.date(data[i], 'date');
+ }
+
+ MG.data_graphic({
+ title: "Preserving the aspect ratio",
+ description: "You can automatically set the width or height of a data graphic to fit its parent element. When done the graphic will rescale to fit the size of the parent element while preserving its aspect ratio.",
+ data: data,
+ full_width: true,
+ height: 300,
+ right: 40,
+ x_extended_ticks: true,
+ target: '#aspect1',
+ x_accessor: 'date',
+ y_accessor: 'value'
+ });
+});</code></pre>
+
+ </div>
+ </div>
+
+<script>
+MG._hooks = {};
+d3.json('data/fake_users3.json', function(data) {
+ for(var i = 0; i < data.length; i++) {
+ data[i] = MG.convert.date(data[i], 'date');
+ }
+
+ MG.data_graphic({
+ title: "Preserving the aspect ratio",
+ description: "You can automatically set the width or height of a data graphic to fit its parent element. When done the graphic will rescale to fit the size of the parent element while preserving its aspect ratio.",
+ data: data,
+ full_width: true,
+ height: 300,
+ right: 40,
+ x_extended_ticks: true,
+ target: '#aspect1',
+ x_accessor: 'date',
+ y_accessor: 'value'
+ });
+});
+</script>
diff --git a/priv/static/metrics-graphics-3.0-alpha3/examples/charts/rollovers.htm b/priv/static/metrics-graphics-3.0-alpha3/examples/charts/rollovers.htm
new file mode 100644
index 0000000..53510bb
--- /dev/null
+++ b/priv/static/metrics-graphics-3.0-alpha3/examples/charts/rollovers.htm
@@ -0,0 +1,309 @@
+ <div class='row trunk-section'>
+ <div class='col-lg-7 text-center'>
+ <div class='col-lg-12 text-center' id='precision1'></div>
+ <div class='col-lg-12 text-center' id='precision2'></div>
+ <div class='col-lg-12 text-center' id='custom-rollover'></div>
+ <div class='col-lg-12 text-center' id='no-rollover-text'></div>
+ </div>
+ <div class='col-lg-5'>
+ <div class='data-column'>
+ <a href='data/float.json'>data 1</a>,
+ <a href='data/some_percentage.json'>data 2</a>
+ </div>
+
+<pre><code class='javascript'>d3.json('data/float.json', function(data) {
+ data = MG.convert.date(data, 'date');
+
+ MG.data_graphic({
+ title: "Changing Precision 1",
+ description: "We can change the precision if the axis data type is a float. We can also change both the formatting, or hide the rollover text altogether. Here we set <i>decimals: 3</i> to get three decimals in the rollover for percentages.",
+ data: data,
+ decimals: 3,
+ width: 600,
+ height: 200,
+ right: 40,
+ xax_count: 4,
+ target: '#precision1'
+ });
+
+ MG.data_graphic({
+ title: "Custom Rollover Text",
+ description: "Here is an example of changing the rollover text. You could in theory actually update any DOM element with the data from that rollover - a title, for instance.",
+ data: data,
+ width: 600,
+ height: 200,
+ right: 40,
+ xax_count: 4,
+ mouseover: function(d, i) {
+ // custom format the rollover text, show days
+ var pf = d3.format('.0s');
+ d3.select('#custom-rollover svg .mg-active-datapoint')
+ .text('Day ' + (i + 1) + ' ' + pf(d.value));
+ },
+ target: '#custom-rollover'
+ });
+});
+
+d3.json('data/some_percentage.json', function(data) {
+ for (var i = 0; i < data.length; i++) {
+ data[i] = MG.convert.date(data[i], 'date');
+ }
+
+ MG.data_graphic({
+ title: "Changing Precision 2",
+ description: "Here we set <i>decimals: 0</i> for percentages.",
+ data: data,
+ decimals: 0,
+ format: 'percentage',
+ width: 600,
+ height: 200,
+ right: 40,
+ xax_count: 4,
+ target: '#precision2'
+ });
+
+ MG.data_graphic({
+ title: "... Or No Rollover Text",
+ description: "By setting <i>show_rollover_text: false</i>, you can hide the default rollover text from even appearing. This, coupled with the custom callback, gives a lot of interesting options for controlling rollovers.",
+ data: data,
+ decimals: 0,
+ show_rollover_text: false,
+ format: 'percentage',
+ width: 600,
+ height: 200,
+ right: 40,
+ xax_count: 4,
+ target: '#no-rollover-text'
+ });
+});</code></pre>
+
+ </div>
+ </div>
+
+ <div class='row trunk-section'>
+ <div class='col-lg-7 text-center' id='aggregate'></div>
+ <div class='col-lg-5'>
+ <div class='data-column'><a href='data/fake_users2.json'>data</a></div>
+
+<pre><code class='javascript'>d3.json('data/fake_users2.json', function(data) {
+ for (var i = 0; i < data.length; i++) {
+ data[i] = MG.convert.date(data[i], 'date');
+ }
+
+ var all_the_data = MG.clone(data[0]);
+ for (i = 1; i < data.length; i++){
+ for (var j = 0; j < data[i].length; j++){
+ if (i === 2 && all_the_data[j].date < new Date('2014-02-01')) {
+ } else {
+ all_the_data[j]['value' + (i + 1)] = data[i][j].value;
+ }
+ }
+ }
+
+ MG.data_graphic({
+ title: "Aggregated Rollover Information",
+ description: "Aggregated information can be displayed with the <i>aggregate_rollover</i> option in order to clearly highlight the relationship between lines. Also handles non-contiguous data",
+ data: all_the_data,
+ width: 600,
+ height: 200,
+ right: 40,
+ target: '#aggregate',
+ y_extended_ticks: true,
+ x_accessor: 'date',
+ y_accessor: ['value', 'value2', 'value3'],
+ aggregate_rollover: true
+ });
+});</code></pre>
+
+ </div>
+ </div>
+
+
+<div class='row trunk-section'>
+ <div class='col-lg-7 text-center' id='formatting-with-strings'></div>
+ <div class='col-lg-5'>
+ <div class='data-column'><a href='data/fake_users2.json'>data</a></div>
+
+<pre><code class='javascript'>
+d3.json('data/float.json', function(data) {
+
+ data = MG.convert.date(data, 'date');
+ // check out https://github.com/mbostock/d3/wiki/Formatting for number formatting
+ //and https://github.com/mbostock/d3/wiki/Time-Formatting for time formatting options.
+
+ MG.data_graphic({
+ title: "Rollover Formatting With Strings",
+ description: "Metrics Graphics comes with two arguments: y_rollover_format and x_rollover_format. These arguments take either strings or functions. Strings are formatted according to D3's number format, or D3's time formatting, if the accessor pulls out Date objects.",
+ data: data,
+ width: 600,
+ height: 200,
+ right: 40,
+ y_mouseover: '%d',
+ x_mouseover: '%e of %b? Well, ',
+ target: '#y-formatting'
+ });
+})
+</code></pre>
+
+ </div>
+</div>
+
+
+<div class='row trunk-section'>
+ <div class='col-lg-7 text-center' id='formatting-with-functions'></div>
+ <div class='col-lg-5'>
+ <div class='data-column'><a href='data/fake_users2.json'>data</a></div>
+
+<pre><code class='javascript'>
+d3.json('data/float.json', function(data) {
+ data = MG.convert.date(data, 'date');
+ MG.data_graphic({
+ title: "Rollover Formatting With Functions",
+ description: "You can also pass in a function, whose arguments are the data point and the index.",
+ data: data,
+ width: 600,
+ height: 200,
+ right: 40,
+ y_rollover_format: function(d){
+ return Math.round(d.value) + (Math.random() > .5 ? ' + 1' : ' - 1')
+ },
+ x_rollover_format: function(d){
+ var today = new Date()
+ return Math.round((today - d.date)/ (1000 * 60 * 60 * 24)) + ' days ago, ';
+ },
+ target: '#formatting-with-functions'
+ });
+})
+</code></pre>
+
+ </div>
+</div>
+
+
+<script>
+MG._hooks = {};
+d3.json('data/float.json', function(data) {
+ data = MG.convert.date(data, 'date');
+
+ MG.data_graphic({
+ title: "Updating Rollover Accessor Formatting With Strings",
+ description: "Metrics Graphics comes with two arguments: y_rollover_format and x_rollover_format. These arguments take either strings or functions. Strings are formatted according to D3's number format, or D3's time formatting, if the accessor pulls out Date objects.",
+ data: data,
+ width: 600,
+ height: 200,
+ right: 40,
+ y_mouseover: '%d',
+ x_mouseover: '%e of %b? Well, ',
+ target: '#formatting-with-strings'
+ });
+
+ MG.data_graphic({
+ title: "Updating Rollover Accessor Formatting With Functions",
+ description: "You can also pass in a function, whose arguments are the data point and the index.",
+ data: data,
+ width: 600,
+ height: 200,
+ right: 40,
+ y_mouseover: function(d){
+ return Math.round(d.value) + (Math.random() > .5 ? ' + 1' : ' - 1')
+ },
+ x_mouseover: function(d){
+ var today = new Date()
+ return Math.round((today - d.date)/ (1000 * 60 * 60 * 24)) + ' days ago, ';
+ },
+ target: '#formatting-with-functions'
+ });
+
+ MG.data_graphic({
+ title: "Changing Precision 1",
+ description: "We can change the precision if the axis data type is a float. We can also change both the formatting, or hide the rollover text altogether. Here we set <i>decimals: 3</i> to get three decimals in the rollover for percentages.",
+ data: data,
+ decimals: 3,
+ width: 600,
+ height: 200,
+ right: 40,
+ xax_count: 4,
+ target: '#precision1'
+ });
+
+ MG.data_graphic({
+ title: "Custom Rollover Text",
+ description: "Here is an example of changing the rollover text. You could in theory actually update any DOM element with the data from that rollover - a title, for instance.",
+ data: data,
+ width: 600,
+ height: 200,
+ right: 40,
+ xax_count: 4,
+ mouseover: function(d, i) {
+ // custom format the rollover text, show days
+ var pf = d3.format('.0s');
+ d3.select('#custom-rollover svg .mg-active-datapoint')
+ .text('Day ' + (i + 1) + ' ' + pf(d.value));
+ },
+ target: '#custom-rollover'
+ });
+});
+
+d3.json('data/some_percentage.json', function(data) {
+ for (var i = 0; i < data.length; i++) {
+ data[i] = MG.convert.date(data[i], 'date');
+ }
+
+ MG.data_graphic({
+ title: "Changing Precision 2",
+ description: "Here we set <i>decimals: 0</i> for percentages.",
+ data: data,
+ decimals: 0,
+ format: 'percentage',
+ width: 600,
+ height: 200,
+ right: 40,
+ xax_count: 4,
+ target: '#precision2'
+ });
+
+ MG.data_graphic({
+ title: "... Or No Rollover Text",
+ description: "By setting <i>show_rollover_text: false</i>, you can hide the default rollover text from even appearing. This, coupled with the custom callback, gives a lot of interesting options for controlling rollovers.",
+ data: data,
+ decimals: 0,
+ show_rollover_text: false,
+ format: 'percentage',
+ width: 600,
+ height: 200,
+ right: 40,
+ xax_count: 4,
+ target: '#no-rollover-text'
+ });
+});
+
+d3.json('data/fake_users2.json', function(data) {
+ for (var i = 0; i < data.length; i++) {
+ data[i] = MG.convert.date(data[i], 'date');
+ }
+
+ var all_the_data = MG.clone(data[0]);
+ for (i = 1; i < data.length; i++){
+ for (var j = 0; j < data[i].length; j++){
+ if (i === 2 && all_the_data[j].date < new Date('2014-02-01')) {
+ } else {
+ all_the_data[j]['value' + (i + 1)] = data[i][j].value;
+ }
+ }
+ }
+
+ MG.data_graphic({
+ title: "Aggregated Rollover Information",
+ description: "Aggregated information can be displayed with the <i>aggregate_rollover</i> option in order to clearly highlight the relationship between lines. Also handles non-contiguous data",
+ data: all_the_data,
+ width: 600,
+ height: 200,
+ right: 40,
+ target: '#aggregate',
+ y_extended_ticks: true,
+ x_accessor: 'date',
+ y_accessor: ['value', 'value2', 'value3'],
+ aggregate_rollover: true
+ });
+});
+</script>
diff --git a/priv/static/metrics-graphics-3.0-alpha3/examples/charts/updating.htm b/priv/static/metrics-graphics-3.0-alpha3/examples/charts/updating.htm
new file mode 100644
index 0000000..af3919b
--- /dev/null
+++ b/priv/static/metrics-graphics-3.0-alpha3/examples/charts/updating.htm
@@ -0,0 +1,169 @@
+ <div class='row trunk-section'>
+ <div class='col-lg-7 text-center'>
+ <div class='col-lg-12' id='split_by'></div>
+ <div class='btn-group btn-group-sm text-center split-by-controls'>
+ <button type='button' class='btn btn-default active'
+ data-y_accessor='release'>Release</button>
+ <button type='button' class='btn btn-default'
+ data-y_accessor='beta'>Beta</button>
+ <button type='button' class='btn btn-default'
+ data-y_accessor='alpha'>Alpha</button>
+ </div>
+ <div class='col-lg-12' id='modify_time_period'></div>
+ <div class='btn-group btn-group-sm text-center
+ modify-time-period-controls'>
+ <button type='button' class='btn btn-default active'
+ data-time_period=''>All time</button>
+ <button type='button' class='btn btn-default'
+ data-time_period='61'>Past 2 months</button>
+ <button type='button' class='btn btn-default'
+ data-time_period='31'>Past month</button>
+ </div>
+ </div>
+ <div class='col-lg-5'>
+ <div class='data-column'><a href='data/split_by.json'>data</a></div>
+
+<pre><code class='javascript'>var globals = {};
+
+var split_by_params = {
+ title: "Downloads by Channel",
+ description: "We sometimes have the need to split the data and then gracefully update the graphic with the newly selected subset of data.",
+ width: 600,
+ height: 200,
+ right: 40,
+ xax_count: 4,
+ target: '#split_by',
+ x_accessor: 'date',
+ y_accessor: 'release'
+};
+
+var modify_time_period_params = {
+ title: "Beta Downloads",
+ description: "We sometimes have the need to view data for just the past n days. Here, the <i>transition_on_update</i> option is set to false.",
+ width: 600,
+ height: 200,
+ right: 40,
+ show_secondary_x_label: false,
+ xax_count: 4,
+ target: '#modify_time_period',
+ x_accessor: 'date',
+ y_accessor: 'beta'
+}
+
+d3.json('data/split_by.json', function(data) {
+ data = MG.convert.date(data, 'date');
+ globals.data = data;
+
+ split_by_params.data = data;
+ MG.data_graphic(split_by_params);
+
+ modify_time_period_params.data = data;
+ MG.data_graphic(modify_time_period_params);
+});
+
+$('.split-by-controls button').click(function() {
+ var new_y_accessor = $(this).data('y_accessor');
+ split_by_params.y_accessor = new_y_accessor;
+
+ // change button state
+ $(this).addClass('active').siblings().removeClass('active');
+
+ // update data
+ delete split_by_params.xax_format;
+ MG.data_graphic(split_by_params);
+});
+
+$('.modify-time-period-controls button').click(function() {
+ var past_n_days = $(this).data('time_period');
+ var data = modify_time_period(globals.data, past_n_days);
+
+ // change button state
+ $(this).addClass('active').siblings().removeClass('active');
+
+ delete modify_time_period_params.xax_format;
+ modify_time_period_params.data = data;
+ MG.data_graphic(modify_time_period_params);
+});
+
+function modify_time_period(data, past_n_days) {
+ if (past_n_days !== '') {
+ return MG.clone(data).slice(past_n_days * -1);
+ }
+
+ return data;
+}</code></pre>
+
+ </div>
+ </div>
+
+<script>
+MG._hooks = {};
+var globals = {};
+
+var split_by_params = {
+ title: "Downloads by Channel",
+ description: "We sometimes have the need to split the data and then gracefully update the graphic with the newly selected subset of data.",
+ width: 600,
+ height: 200,
+ right: 40,
+ xax_count: 4,
+ target: '#split_by',
+ x_accessor: 'date',
+ y_accessor: 'release'
+};
+
+var modify_time_period_params = {
+ title: "Beta Downloads",
+ description: "We sometimes have the need to view data for just the past n days. Here, the <i>transition_on_update</i> option is set to false.",
+ width: 600,
+ height: 200,
+ right: 40,
+ show_secondary_x_label: false,
+ xax_count: 4,
+ transition_on_update: false,
+ target: '#modify_time_period',
+ x_accessor: 'date',
+ y_accessor: 'beta'
+}
+
+d3.json('data/split_by.json', function(data) {
+ data = MG.convert.date(data, 'date');
+ globals.data = data;
+
+ split_by_params.data = data;
+ MG.data_graphic(split_by_params);
+
+ modify_time_period_params.data = data;
+ MG.data_graphic(modify_time_period_params);
+});
+
+$('.split-by-controls button').click(function() {
+ var new_y_accessor = $(this).data('y_accessor');
+ split_by_params.y_accessor = new_y_accessor;
+
+ // change button state
+ $(this).addClass('active').siblings().removeClass('active');
+
+ // update data
+ MG.data_graphic(split_by_params);
+});
+
+$('.modify-time-period-controls button').click(function() {
+ var past_n_days = $(this).data('time_period');
+ var data = modify_time_period(globals.data, past_n_days);
+
+ // change button state
+ $(this).addClass('active').siblings().removeClass('active');
+
+ modify_time_period_params.data = data;
+ MG.data_graphic(modify_time_period_params);
+});
+
+function modify_time_period(data, past_n_days) {
+ if (past_n_days !== '') {
+ return MG.clone(data).slice(past_n_days * -1);
+ }
+
+ return data;
+}
+</script> \ No newline at end of file
diff --git a/priv/static/metrics-graphics-3.0-alpha3/examples/css/highlightjs-default.css b/priv/static/metrics-graphics-3.0-alpha3/examples/css/highlightjs-default.css
new file mode 100644
index 0000000..a7db875
--- /dev/null
+++ b/priv/static/metrics-graphics-3.0-alpha3/examples/css/highlightjs-default.css
@@ -0,0 +1,153 @@
+/*
+
+Original style from softwaremaniacs.org (c) Ivan Sagalaev <Maniac@SoftwareManiacs.Org>
+
+*/
+
+.hljs {
+ display: block;
+ overflow-x: auto;
+ padding: 0.5em;
+ background: #f0f0f0;
+ -webkit-text-size-adjust: none;
+}
+
+.hljs,
+.hljs-subst,
+.hljs-tag .hljs-title,
+.nginx .hljs-title {
+ color: black;
+}
+
+.hljs-string,
+.hljs-title,
+.hljs-constant,
+.hljs-parent,
+.hljs-tag .hljs-value,
+.hljs-rules .hljs-value,
+.hljs-preprocessor,
+.hljs-pragma,
+.haml .hljs-symbol,
+.ruby .hljs-symbol,
+.ruby .hljs-symbol .hljs-string,
+.hljs-template_tag,
+.django .hljs-variable,
+.smalltalk .hljs-class,
+.hljs-addition,
+.hljs-flow,
+.hljs-stream,
+.bash .hljs-variable,
+.apache .hljs-tag,
+.apache .hljs-cbracket,
+.tex .hljs-command,
+.tex .hljs-special,
+.erlang_repl .hljs-function_or_atom,
+.asciidoc .hljs-header,
+.markdown .hljs-header,
+.coffeescript .hljs-attribute {
+ color: #e6337c;
+}
+
+.smartquote,
+.hljs-comment,
+.hljs-annotation,
+.hljs-template_comment,
+.diff .hljs-header,
+.hljs-chunk,
+.asciidoc .hljs-blockquote,
+.markdown .hljs-blockquote {
+ color: #888;
+}
+
+.hljs-number,
+.hljs-date,
+.hljs-regexp,
+.hljs-literal,
+.hljs-hexcolor,
+.smalltalk .hljs-symbol,
+.smalltalk .hljs-char,
+.go .hljs-constant,
+.hljs-change,
+.lasso .hljs-variable,
+.makefile .hljs-variable,
+.asciidoc .hljs-bullet,
+.markdown .hljs-bullet,
+.asciidoc .hljs-link_url,
+.markdown .hljs-link_url {
+ color: #366797;
+}
+
+.hljs-label,
+.hljs-javadoc,
+.ruby .hljs-string,
+.hljs-decorator,
+.hljs-filter .hljs-argument,
+.hljs-localvars,
+.hljs-array,
+.hljs-attr_selector,
+.hljs-important,
+.hljs-pseudo,
+.hljs-pi,
+.haml .hljs-bullet,
+.hljs-doctype,
+.hljs-deletion,
+.hljs-envvar,
+.hljs-shebang,
+.apache .hljs-sqbracket,
+.nginx .hljs-built_in,
+.tex .hljs-formula,
+.erlang_repl .hljs-reserved,
+.hljs-prompt,
+.asciidoc .hljs-link_label,
+.markdown .hljs-link_label,
+.vhdl .hljs-attribute,
+.clojure .hljs-attribute,
+.asciidoc .hljs-attribute,
+.lasso .hljs-attribute,
+.coffeescript .hljs-property,
+.hljs-phony {
+ color: #88f;
+}
+
+.hljs-keyword,
+.hljs-id,
+.hljs-title,
+.hljs-built_in,
+.css .hljs-tag,
+.hljs-javadoctag,
+.hljs-phpdoc,
+.hljs-dartdoc,
+.hljs-yardoctag,
+.smalltalk .hljs-class,
+.hljs-winutils,
+.bash .hljs-variable,
+.apache .hljs-tag,
+.hljs-type,
+.hljs-typename,
+.tex .hljs-command,
+.asciidoc .hljs-strong,
+.markdown .hljs-strong,
+.hljs-request,
+.hljs-status {
+ font-weight: bold;
+}
+
+.asciidoc .hljs-emphasis,
+.markdown .hljs-emphasis {
+ font-style: italic;
+}
+
+.nginx .hljs-built_in {
+ font-weight: normal;
+}
+
+.coffeescript .javascript,
+.javascript .xml,
+.lasso .markup,
+.tex .hljs-formula,
+.xml .javascript,
+.xml .vbscript,
+.xml .css,
+.xml .hljs-cdata {
+ opacity: 0.5;
+}
diff --git a/priv/static/metrics-graphics-3.0-alpha3/examples/css/metricsgraphics-demo-accessible.css b/priv/static/metrics-graphics-3.0-alpha3/examples/css/metricsgraphics-demo-accessible.css
new file mode 100644
index 0000000..5ebf9b7
--- /dev/null
+++ b/priv/static/metrics-graphics-3.0-alpha3/examples/css/metricsgraphics-demo-accessible.css
@@ -0,0 +1,26 @@
+html {
+ font-size: 16px;
+}
+
+.mg-x-axis text,
+.mg-y-axis text,
+.mg-histogram .axis text {
+ opacity: 0.9;
+}
+
+.mg-x-axis line,
+.mg-y-axis line {
+ opacity: 1;
+}
+
+.mg-markers text,
+.mg-year-marker text,
+.mg-baselines text {
+ opacity: 0.9;
+}
+
+.mg-markers line,
+.mg-year-marker line,
+.mg-baselines line {
+ opacity: 1;
+} \ No newline at end of file
diff --git a/priv/static/metrics-graphics-3.0-alpha3/examples/css/metricsgraphics-demo-dark.css b/priv/static/metrics-graphics-3.0-alpha3/examples/css/metricsgraphics-demo-dark.css
new file mode 100644
index 0000000..a8bfe5f
--- /dev/null
+++ b/priv/static/metrics-graphics-3.0-alpha3/examples/css/metricsgraphics-demo-dark.css
@@ -0,0 +1,686 @@
+a,
+a:active,
+a:visited {
+ color: #71b4eb;
+}
+
+a:hover {
+ color: #71b4eb;
+}
+
+a.active {
+ color: #fff;
+}
+
+.mg-active-datapoint {
+ fill: #fff;
+}
+
+.mg-area1-color {
+ fill: #ffd300;
+}
+
+.mg-area2-color {
+ fill: #18ff00;
+}
+
+.mg-area3-color {
+ fill: #f57070;
+}
+
+.mg-area4-color {
+ fill: #28c5f8;
+}
+
+.mg-area5-color {
+ fill: #f7f7f7;
+}
+
+.mg-barplot .mg-bar-prediction {
+ fill: #5b5b5b;
+}
+
+.mg-barplot .mg-bar-baseline {
+ stroke: #5b5b5b;
+}
+
+.mg-baselines line {
+ stroke: #676767;
+}
+
+.mg-baselines text {
+ fill: #fff;
+}
+
+body {
+ background-color: #272727;
+ color: #cfcfcf;
+}
+
+.divider {
+ color: #f1f1f1;
+ opacity: 0.1;
+}
+
+pre {
+ border-left: 2px solid #3b3b3b;
+}
+
+h1 {
+ color: #f1f1f1;
+}
+
+h2.chart_title span {
+ color: #f1f1f1;
+}
+
+.mg-histogram .axis path,
+.mg-histogram .axis line {
+ opacity: 0.5;
+ stroke: #ccc;
+}
+
+.mg-histogram .mg-bar rect {
+ fill: #d8b307;
+}
+
+tspan.hist-symbol {
+ fill: #d8b307;
+}
+
+.mg-barplot rect.mg-bar.default-bar {
+ fill: #d8b307;
+}
+
+.mg-histogram .mg-bar rect.active,
+.mg-barplot rect.mg-bar.default-active {
+ fill: #b3960f;
+}
+
+.mg-histogram .mg-bar text {
+ fill: #fff;
+}
+
+.mg-histogram .axis .tick line {
+ opacity: 0.3;
+}
+
+li {
+ color: #cfcfcf;
+}
+
+.mg-least-squares-line {
+ stroke: #f57070;
+}
+
+.mg-line1-color {
+ stroke: #ffd300;
+}
+
+.mg-hover-line1-color {
+ fill: #ffd300;
+}
+
+.mg-line2-color {
+ stroke: #18ff00;
+}
+
+.mg-hover-line2-color {
+ fill: #18ff00;
+}
+
+.mg-line3-color {
+ stroke: #f57070;
+}
+
+.mg-hover-line3-color {
+ fill: #f57070;
+}
+
+.mg-line4-color {
+ stroke: #28c5f8;
+}
+
+.mg-hover-line4-color {
+ fill: #28c5f8;
+}
+
+.mg-line5-color {
+ stroke: #f7f7f7;
+}
+
+.mg-hover-line5-color {
+ fill: #f7f7f7;
+}
+
+.mg-line1-legend-color {
+ color: #ffd300;
+ fill: #ffd300;
+}
+
+.mg-line2-legend-color {
+ color: #18ff00;
+ fill: #18ff00;
+}
+
+.mg-line3-legend-color {
+ color: #f57070;
+ fill: #f57070;
+}
+
+.mg-line4-legend-color {
+ color: #28c5f8;
+ fill: #28c5f8;
+}
+
+.mg-line5-legend-color {
+ color: #f7f7f7;
+ fill: #f7f7f7;
+}
+
+#logo g path {
+ fill: #e8e8e8;
+}
+
+.mg-chart-title {
+ fill: #cfcfcf;
+}
+
+.mg-category-guides line {
+ stroke: #676767;
+}
+
+.mg-main-area-solid svg .mg-main-area {
+ fill: #52491f;
+}
+
+.mg-markers line {
+ stroke: #676767;
+}
+
+.mg-markers text {
+ fill: #fff;
+}
+
+circle.mg-points-mono {
+ fill-opacity: 0.6;
+ stroke: #a89641;
+ fill: #a89641;
+ stroke-opacity: 1;
+}
+
+tspan.mg-points-mono {
+ fill: #a89641;
+ stroke: #a89641;
+}
+
+circle.mg-points-mono.selected {
+ fill: #a89641;
+ fill-opacity: 1;
+ stroke-opacity: 1;
+}
+
+.popover {
+ color: #737373;
+}
+
+text {
+ fill: #fff;
+}
+
+.mg-x-rug-mono,
+.mg-y-rug-mono {
+ stroke: #a89641;
+}
+
+.mg-x-axis line,
+.mg-y-axis line {
+ stroke: #676767;
+}
+
+.mg-x-axis text,
+.mg-y-axis text,
+.mg-histogram .axis text {
+ fill: #fff;
+}
+
+.mg-year-marker text {
+ fill: #fff;
+}
+
+.mg-year-marker line {
+ stroke: #676767;
+}
+
+/*
+ CSS from http://bootswatch.com/slate
+ Made by Thomas Park. Contact him at thomas@bootswatch.com
+ Code released under the MIT License.
+*/
+.btn:active, .btn.active {
+ outline: 0;
+ background-image: none;
+ -webkit-box-shadow: inset 0 3px 5px rgba(0,0,0,0.125);
+ box-shadow: inset 0 3px 5px rgba(0,0,0,0.125);
+}
+
+.btn.disabled,.btn[disabled],fieldset[disabled] .btn {
+ cursor: not-allowed;
+ pointer-events: none;
+ opacity: 0.65;
+ filter: alpha(opacity=65);
+ -webkit-box-shadow: none;
+ box-shadow: none;
+}
+
+.btn-default {
+ color: #ffffff;
+ background-color: #3a3f44;
+ border-color: #3a3f44;
+}
+
+.btn-default:hover,
+.btn-default:focus,
+.btn-default:active,
+.btn-default.active,
+.open .dropdown-toggle.btn-default {
+ color: #ffffff;
+ background-color: #272b2e;
+ border-color: #1e2023;
+}
+
+.btn-default:active,
+.btn-default.active,
+.open .dropdown-toggle.btn-default {
+ background-image: none;
+}
+
+.btn-default.disabled,
+.btn-default[disabled],
+fieldset[disabled] .btn-default,
+.btn-default.disabled:hover,
+.btn-default[disabled]:hover,
+fieldset[disabled] .btn-default:hover,
+.btn-default.disabled:focus,
+.btn-default[disabled]:focus,
+fieldset[disabled] .btn-default:focus,
+.btn-default.disabled:active,
+.btn-default[disabled]:active,
+fieldset[disabled] .btn-default:active,
+.btn-default.disabled.active,
+.btn-default[disabled].active,
+fieldset[disabled] .btn-default.active {
+ background-color: #3a3f44;
+ border-color: #3a3f44;
+}
+
+.btn-default .badge {
+ color: #3a3f44;
+ background-color: #ffffff;
+}
+
+.btn-primary {
+ color: #ffffff;
+ background-color: #7a8288;
+ border-color: #7a8288;
+}
+
+.btn-primary:hover,
+.btn-primary:focus,
+.btn-primary:active,
+.btn-primary.active,
+.open .dropdown-toggle.btn-primary {
+ color: #ffffff;
+ background-color: #676d73;
+ border-color: #5d6368;
+}
+
+.btn-primary:active,
+.btn-primary.active,
+.open .dropdown-toggle.btn-primary {
+ background-image: none;
+}
+
+.btn-primary.disabled,
+.btn-primary[disabled],
+fieldset[disabled] .btn-primary,
+.btn-primary.disabled:hover,
+.btn-primary[disabled]:hover,
+fieldset[disabled] .btn-primary:hover,
+.btn-primary.disabled:focus,
+.btn-primary[disabled]:focus,
+fieldset[disabled] .btn-primary:focus,
+.btn-primary.disabled:active,
+.btn-primary[disabled]:active,
+fieldset[disabled] .btn-primary:active,
+.btn-primary.disabled.active,
+.btn-primary[disabled].active,
+fieldset[disabled] .btn-primary.active {
+ background-color: #7a8288;
+ border-color: #7a8288;
+}
+
+.btn-primary .badge {
+ color: #7a8288;
+ background-color: #ffffff;
+}
+
+.btn-success {
+ color: #ffffff;
+ background-color: #62c462;
+ border-color: #62c462;
+}
+
+.btn-success:hover,
+.btn-success:focus,
+.btn-success:active,
+.btn-success.active,
+.open .dropdown-toggle.btn-success {
+ color: #ffffff;
+ background-color: #45b845;
+ border-color: #40a940;
+}
+
+.btn-success:active,
+.btn-success.active,
+.open .dropdown-toggle.btn-success {
+ background-image: none;
+}
+
+.btn-success.disabled,
+.btn-success[disabled],
+fieldset[disabled] .btn-success,
+.btn-success.disabled:hover,
+.btn-success[disabled]:hover,
+fieldset[disabled] .btn-success:hover,
+.btn-success.disabled:focus,
+.btn-success[disabled]:focus,
+fieldset[disabled] .btn-success:focus,
+.btn-success.disabled:active,
+.btn-success[disabled]:active,
+fieldset[disabled] .btn-success:active,
+.btn-success.disabled.active,
+.btn-success[disabled].active,
+fieldset[disabled] .btn-success.active {
+ background-color: #62c462;
+ border-color: #62c462;
+}
+
+.btn-success .badge {
+ color: #62c462;
+ background-color: #ffffff;
+}
+
+.btn-info {
+ color: #ffffff;
+ background-color: #5bc0de;
+ border-color: #5bc0de;
+}
+
+.btn-info:hover,
+.btn-info:focus,
+.btn-info:active,
+.btn-info.active,
+.open .dropdown-toggle.btn-info {
+ color: #ffffff;
+ background-color: #39b3d7;
+ border-color: #2aabd2;
+}
+
+.btn-info:active,
+.btn-info.active,
+.open .dropdown-toggle.btn-info {
+ background-image: none;
+}
+
+.btn-info.disabled,.btn-info[disabled],
+fieldset[disabled] .btn-info,
+.btn-info.disabled:hover,
+.btn-info[disabled]:hover,
+fieldset[disabled] .btn-info:hover,
+.btn-info.disabled:focus,
+.btn-info[disabled]:focus,
+fieldset[disabled] .btn-info:focus,
+.btn-info.disabled:active,
+.btn-info[disabled]:active,
+fieldset[disabled] .btn-info:active,
+.btn-info.disabled.active,
+.btn-info[disabled].active,
+fieldset[disabled] .btn-info.active {
+ background-color: #5bc0de;
+ border-color: #5bc0de;
+}
+
+.btn-info .badge {
+ color: #5bc0de;
+ background-color: #ffffff;
+}
+
+.btn-warning {
+ color: #ffffff;
+ background-color: #f89406;
+ border-color: #f89406;
+}
+
+.btn-warning:hover,.btn-warning:focus,
+.btn-warning:active,.btn-warning.active,
+.open .dropdown-toggle.btn-warning {
+ color: #ffffff;
+ background-color: #d07c05;
+ border-color: #bc7005;
+}
+
+.btn-warning:active,
+.btn-warning.active,
+.open .dropdown-toggle.btn-warning {
+ background-image: none;
+}
+
+.btn-warning.disabled,.btn-warning[disabled],
+fieldset[disabled] .btn-warning,
+.btn-warning.disabled:hover,
+.btn-warning[disabled]:hover,
+fieldset[disabled] .btn-warning:hover,
+.btn-warning.disabled:focus,
+.btn-warning[disabled]:focus,
+fieldset[disabled] .btn-warning:focus,
+.btn-warning.disabled:active,
+.btn-warning[disabled]:active,
+fieldset[disabled] .btn-warning:active,
+.btn-warning.disabled.active,
+.btn-warning[disabled].active,
+fieldset[disabled] .btn-warning.active {
+ background-color: #f89406;
+ border-color: #f89406;
+}
+
+.btn-warning .badge {
+ color: #f89406;
+ background-color: #ffffff;
+}
+
+.btn-danger {
+ color: #ffffff;
+ background-color: #ee5f5b;
+ border-color: #ee5f5b;
+}
+
+.btn-danger:hover,
+.btn-danger:focus,
+.btn-danger:active,
+.btn-danger.active,
+.open .dropdown-toggle.btn-danger {
+ color: #ffffff;
+ background-color: #ea3b36;
+ border-color: #e82924;
+}
+
+.btn-danger:active,.btn-danger.active,
+.open .dropdown-toggle.btn-danger {
+ background-image: none;
+}
+
+.btn-danger.disabled,
+.btn-danger[disabled],
+fieldset[disabled] .btn-danger,
+.btn-danger.disabled:hover,
+.btn-danger[disabled]:hover,
+fieldset[disabled] .btn-danger:hover,
+.btn-danger.disabled:focus,
+.btn-danger[disabled]:focus,
+fieldset[disabled] .btn-danger:focus,
+.btn-danger.disabled:active,
+.btn-danger[disabled]:active,
+fieldset[disabled] .btn-danger:active,
+.btn-danger.disabled.active,
+.btn-danger[disabled].active,
+fieldset[disabled] .btn-danger.active {
+ background-color: #ee5f5b;
+ border-color: #ee5f5b;
+}
+
+.btn-danger .badge {
+ color: #ee5f5b;
+ background-color: #ffffff;
+}
+
+.btn-link {
+ color: #ffffff;
+ font-weight: normal;
+ cursor: pointer;
+ border-radius: 0;
+}
+
+.btn-link,.btn-link:active,
+.btn-link[disabled],
+fieldset[disabled] .btn-link {
+ background-color: transparent;
+ -webkit-box-shadow: none;
+ box-shadow: none;
+}
+
+.btn-link,.btn-link:hover,
+.btn-link:focus,
+.btn-link:active {
+ border-color: transparent;
+}
+
+.btn-link:hover,.btn-link:focus {
+ color: #ffffff;
+ text-decoration: underline;
+ background-color: transparent;
+}
+
+.btn-link[disabled]:hover,
+fieldset[disabled] .btn-link:hover,
+.btn-link[disabled]:focus,
+fieldset[disabled] .btn-link:focus {
+ color: #7a8288;
+ text-decoration: none;
+}
+
+.btn,.btn:hover {
+ border-color: rgba(0,0,0,0.6);
+ text-shadow: 1px 1px 1px rgba(0,0,0,0.3);
+}
+
+.btn-default {
+ background-image: -webkit-linear-gradient(#484e55, #3a3f44 60%, #313539);
+ background-image: linear-gradient(#484e55, #3a3f44 60%, #313539);
+ background-repeat: no-repeat;
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff484e55', endColorstr='#ff313539', GradientType=0);
+ filter: none;
+}
+
+.btn-default:hover {
+ background-image: -webkit-linear-gradient(#020202, #101112 40%, #191b1d);
+ background-image: linear-gradient(#020202, #101112 40%, #191b1d);
+ background-repeat: no-repeat;
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff020202', endColorstr='#ff191b1d', GradientType=0);
+ filter: none;
+}
+
+.btn-primary {
+ background-image: -webkit-linear-gradient(#8a9196, #7a8288 60%, #70787d);
+ background-image: linear-gradient(#8a9196, #7a8288 60%, #70787d);
+ background-repeat: no-repeat;
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff8a9196', endColorstr='#ff70787d', GradientType=0);
+ filter: none;
+}
+
+.btn-primary:hover {
+ background-image: -webkit-linear-gradient(#404448, #4e5458 40%, #585e62);
+ background-image: linear-gradient(#404448, #4e5458 40%, #585e62);
+ background-repeat: no-repeat;
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff404448', endColorstr='#ff585e62', GradientType=0);
+ filter: none;
+}
+
+.btn-success {
+ background-image: -webkit-linear-gradient(#78cc78, #62c462 60%, #53be53);
+ background-image: linear-gradient(#78cc78, #62c462 60%, #53be53);
+ background-repeat: no-repeat;
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff78cc78', endColorstr='#ff53be53', GradientType=0);
+ filter: none;
+}
+
+.btn-success:hover {
+ background-image: -webkit-linear-gradient(#2f7d2f, #379337 40%, #3da23d);
+ background-image: linear-gradient(#2f7d2f, #379337 40%, #3da23d);
+ background-repeat: no-repeat;
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff2f7d2f', endColorstr='#ff3da23d', GradientType=0);
+ filter: none;
+}
+
+.btn-info {
+ background-image: -webkit-linear-gradient(#74cae3, #5bc0de 60%, #4ab9db);
+ background-image: linear-gradient(#74cae3, #5bc0de 60%, #4ab9db);
+ background-repeat: no-repeat;
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff74cae3', endColorstr='#ff4ab9db', GradientType=0);
+ filter: none;
+}
+
+.btn-info:hover {
+ background-image: -webkit-linear-gradient(#20829f, #2596b8 40%, #28a4c9);
+ background-image: linear-gradient(#20829f, #2596b8 40%, #28a4c9);
+ background-repeat: no-repeat;
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff20829f', endColorstr='#ff28a4c9', GradientType=0);
+ filter: none;
+}
+
+.btn-warning {
+ background-image: -webkit-linear-gradient(#faa123, #f89406 60%, #e48806);
+ background-image: linear-gradient(#faa123, #f89406 60%, #e48806);
+ background-repeat: no-repeat;
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffaa123', endColorstr='#ffe48806', GradientType=0);
+ filter: none;
+}
+
+.btn-warning:hover {
+ background-image: -webkit-linear-gradient(#804d03, #9e5f04 40%, #b26a04);
+ background-image: linear-gradient(#804d03, #9e5f04 40%, #b26a04);
+ background-repeat: no-repeat;
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff804d03', endColorstr='#ffb26a04', GradientType=0);
+ filter: none;
+}
+
+.btn-danger {
+ background-image: -webkit-linear-gradient(#f17a77, #ee5f5b 60%, #ec4d49);
+ background-image: linear-gradient(#f17a77, #ee5f5b 60%, #ec4d49);
+ background-repeat: no-repeat;
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff17a77', endColorstr='#ffec4d49', GradientType=0);
+ filter: none;
+}
+
+.btn-danger:hover {
+ background-image: -webkit-linear-gradient(#bb1813, #d71c16 40%, #e7201a);
+ background-image: linear-gradient(#bb1813, #d71c16 40%, #e7201a);
+ background-repeat: no-repeat;
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffbb1813', endColorstr='#ffe7201a', GradientType=0);
+ filter: none;
+}
+
+.btn-link,.btn-link:hover {
+ border-color: transparent;
+}
+
diff --git a/priv/static/metrics-graphics-3.0-alpha3/examples/css/metricsgraphics-demo.css b/priv/static/metrics-graphics-3.0-alpha3/examples/css/metricsgraphics-demo.css
new file mode 100644
index 0000000..497b816
--- /dev/null
+++ b/priv/static/metrics-graphics-3.0-alpha3/examples/css/metricsgraphics-demo.css
@@ -0,0 +1,220 @@
+a,
+a:active,
+a:visited {
+ color: steelblue;
+ text-decoration: none;
+}
+
+a:hover {
+ color: steelblue;
+}
+
+a.active {
+ background-color: steelblue;
+ border: 0;
+ border-radius: 24px;
+ color: #fff;
+ padding: 2px 8px 2px 8px;
+ text-decoration: none;
+}
+
+a.examples-options.selected {
+ font-weight: bold;
+}
+
+a:hover.examples-options {
+ text-decoration: none;
+}
+
+body {
+ background-color: #fff;
+ color: #000;
+ font-family: 'Open Sans', sans-serif, Arial;
+}
+
+.btn-group {
+ display: inline-block;
+ margin-left: 3px;
+ margin-right: 3px;
+}
+
+.btn-group span.which-button {
+ font-weight: 300;
+ color: darkgray;
+}
+
+.btn-group span.title {
+ margin-left: 8px;
+ margin-right: 8px;
+}
+
+.data-column {
+ font-size: 0.9rem;
+ margin: 0;
+ position: absolute;
+ right: 0;
+}
+
+#description {
+ margin: auto;
+ margin-bottom: 50px;
+ width: 100%;
+}
+
+.divider {
+ color: #000000;
+ opacity: 0.2;
+}
+
+.examples-options {
+ font-size: 0.8rem;
+}
+
+.float-right {
+ float: right;
+}
+
+.footer {
+ font-size: 0.9rem;
+ padding: 40px;
+ text-align: center;
+}
+
+.head {
+ color: black;
+ margin: auto;
+ margin-bottom: 20px;
+ width: 100%;
+}
+
+.head h1 {
+ font-size: 4.1rem;
+ font-weight: 300;
+ margin: 45px 0 0 0;
+}
+
+ul {
+ clear: both;
+ font-size: 1.2rem;
+ padding: 10px 0 0 0;
+}
+
+.head ul li,
+ul.examples li {
+ display: inline;
+ list-style: none;
+ padding-right: 15px;
+}
+
+ul li.no-padding {
+ padding: 0;
+}
+
+ul.examples li {
+ line-height: 30px;
+}
+
+html {
+ font-size: 12px;
+}
+
+.legend {
+ font-size: 0.9rem;
+ padding: 25px 0 15px 0;
+}
+
+#logo {
+ margin: 60px 0 30px 0;
+ height: 79px;
+ width: 400px;
+}
+
+p {
+ font-family: 'PT Serif', serif;
+ font-size: 1.3rem;
+ line-height: 24px;
+}
+
+.pill {
+ font-family: 'Open Sans', serif;
+ font-size: 1rem;
+ text-transform: uppercase;
+}
+
+.pill:hover {
+ text-decoration: none;
+}
+
+pre {
+ background-color: transparent;
+ border: 0;
+ border-left: 2px solid #ccc;
+ border-radius: 0;
+ font-size: 0.9rem;
+ margin: 40px 0 0 10px;
+ overflow-x: auto;
+ padding: 0;
+ width: 100%;
+ word-wrap: normal;
+}
+
+pre code {
+ white-space: inherit;
+}
+
+pre code.hljs {
+ background-color: transparent;
+}
+
+pre, code, text-area {
+ font-family: "Menlo", monospace;
+}
+
+svg {
+ margin-top: 30px;
+}
+
+#table1 .chart_title {
+ margin-left: 0;
+}
+
+#torso {
+ margin: 0 auto;
+ text-align: center;
+ width: 100%;
+}
+
+#torso div {
+ display: inline-block;
+}
+
+#trunk {
+ margin-top: 40px;
+}
+
+#trunk h2 {
+ font-size: 1.2rem;
+}
+
+#trunk h2.trunk-title {
+ font-size: 2.2rem;
+ font-weight: 300;
+ text-transform: uppercase;
+}
+
+
+.trunk-section {
+ border-top: 1px solid #ccc;
+ padding-bottom: 25px;
+ padding-top: 15px;
+}
+
+.wip {
+ background-color: #f1f1f1;
+ font-size: 1.3rem;
+ margin-top: 60px;
+ padding: 10px;
+ border-top-left-radius: 6px;
+ border-top-right-radius: 6px;
+ opacity: 0.8;
+} \ No newline at end of file
diff --git a/priv/static/metrics-graphics-3.0-alpha3/examples/css/railscasts.css b/priv/static/metrics-graphics-3.0-alpha3/examples/css/railscasts.css
new file mode 100644
index 0000000..21efe39
--- /dev/null
+++ b/priv/static/metrics-graphics-3.0-alpha3/examples/css/railscasts.css
@@ -0,0 +1,187 @@
+/*
+
+Railscasts-like style (c) Visoft, Inc. (Damien White)
+
+*/
+
+.hljs {
+ display: block;
+ overflow-x: auto;
+ padding: 0.5em;
+ background: #232323;
+ color: #e6e1dc;
+ -webkit-text-size-adjust: none;
+}
+
+.hljs-comment,
+.hljs-javadoc,
+.hljs-shebang {
+ color: #bc9458;
+ font-style: italic;
+}
+
+.hljs-keyword,
+.ruby .hljs-function .hljs-keyword,
+.hljs-request,
+.hljs-status,
+.nginx .hljs-title,
+.method,
+.hljs-list .hljs-title {
+ color: #c26230;
+}
+
+.hljs-string,
+.hljs-number,
+.hljs-regexp,
+.hljs-tag .hljs-value,
+.hljs-cdata,
+.hljs-filter .hljs-argument,
+.hljs-attr_selector,
+.apache .hljs-cbracket,
+.hljs-date,
+.tex .hljs-command,
+.asciidoc .hljs-link_label,
+.markdown .hljs-link_label {
+ color: #a5c261;
+}
+
+.hljs-subst {
+ color: #519f50;
+}
+
+.hljs-tag,
+.hljs-tag .hljs-keyword,
+.hljs-tag .hljs-title,
+.hljs-doctype,
+.hljs-sub .hljs-identifier,
+.hljs-pi,
+.input_number {
+ color: #e8bf6a;
+}
+
+.hljs-identifier {
+ color: #d0d0ff;
+}
+
+.hljs-class .hljs-title,
+.hljs-type,
+.smalltalk .hljs-class,
+.hljs-javadoctag,
+.hljs-yardoctag,
+.hljs-phpdoc,
+.hljs-dartdoc {
+ text-decoration: none;
+}
+
+.hljs-constant {
+ color: #da4939;
+}
+
+
+.hljs-symbol,
+.hljs-built_in,
+.ruby .hljs-symbol .hljs-string,
+.ruby .hljs-symbol .hljs-identifier,
+.asciidoc .hljs-link_url,
+.markdown .hljs-link_url,
+.hljs-attribute {
+ color: #6d9cbe;
+}
+
+.asciidoc .hljs-link_url,
+.markdown .hljs-link_url {
+ text-decoration: underline;
+}
+
+
+
+.hljs-params,
+.hljs-variable,
+.clojure .hljs-attribute {
+ color: #d0d0ff;
+}
+
+.css .hljs-tag,
+.hljs-rules .hljs-property,
+.hljs-pseudo,
+.tex .hljs-special {
+ color: #cda869;
+}
+
+.css .hljs-class {
+ color: #9b703f;
+}
+
+.hljs-rules .hljs-keyword {
+ color: #c5af75;
+}
+
+.hljs-rules .hljs-value {
+ color: #cf6a4c;
+}
+
+.css .hljs-id {
+ color: #8b98ab;
+}
+
+.hljs-annotation,
+.apache .hljs-sqbracket,
+.nginx .hljs-built_in {
+ color: #9b859d;
+}
+
+.hljs-preprocessor,
+.hljs-preprocessor *,
+.hljs-pragma {
+ color: #8996a8 !important;
+}
+
+.hljs-hexcolor,
+.css .hljs-value .hljs-number {
+ color: #a5c261;
+}
+
+.hljs-title,
+.hljs-decorator,
+.css .hljs-function {
+ color: #ffc66d;
+}
+
+.diff .hljs-header,
+.hljs-chunk {
+ background-color: #2f33ab;
+ color: #e6e1dc;
+ display: inline-block;
+ width: 100%;
+}
+
+.diff .hljs-change {
+ background-color: #4a410d;
+ color: #f8f8f8;
+ display: inline-block;
+ width: 100%;
+}
+
+.hljs-addition {
+ background-color: #144212;
+ color: #e6e1dc;
+ display: inline-block;
+ width: 100%;
+}
+
+.hljs-deletion {
+ background-color: #600;
+ color: #e6e1dc;
+ display: inline-block;
+ width: 100%;
+}
+
+.coffeescript .javascript,
+.javascript .xml,
+.tex .hljs-formula,
+.xml .javascript,
+.xml .vbscript,
+.xml .css,
+.xml .hljs-cdata {
+ opacity: 0.7;
+}
diff --git a/priv/static/metrics-graphics-3.0-alpha3/examples/data/brief-1.json b/priv/static/metrics-graphics-3.0-alpha3/examples/data/brief-1.json
new file mode 100644
index 0000000..f84a3ff
--- /dev/null
+++ b/priv/static/metrics-graphics-3.0-alpha3/examples/data/brief-1.json
@@ -0,0 +1,402 @@
+[
+ {
+ "date": "2014-02-01",
+ "value": 15000000
+ },
+ {
+ "date": "2014-02-02",
+ "value": 16487625
+ },
+ {
+ "date": "2014-02-03",
+ "value": 17097434
+ },
+ {
+ "date": "2014-02-04",
+ "value": 17694420
+ },
+ {
+ "date": "2014-02-05",
+ "value": 17014381
+ },
+ {
+ "date": "2014-02-06",
+ "value": 15578984
+ },
+ {
+ "date": "2014-02-07",
+ "value": 14718953
+ },
+ {
+ "date": "2014-02-08",
+ "value": 15020669
+ },
+ {
+ "date": "2014-02-09",
+ "value": 13889722
+ },
+ {
+ "date": "2014-02-10",
+ "value": 13979897
+ },
+ {
+ "date": "2014-02-11",
+ "value": 14595566
+ },
+ {
+ "date": "2014-02-12",
+ "value": 14123256
+ },
+ {
+ "date": "2014-02-13",
+ "value": 14083675
+ },
+ {
+ "date": "2014-02-14",
+ "value": 15068426
+ },
+ {
+ "date": "2014-02-15",
+ "value": 15368056
+ },
+ {
+ "date": "2014-02-16",
+ "value": 15277054
+ },
+ {
+ "date": "2014-02-17",
+ "value": 14376243
+ },
+ {
+ "date": "2014-02-18",
+ "value": 13058892
+ },
+ {
+ "date": "2014-02-19",
+ "value": 12367653
+ },
+ {
+ "date": "2014-02-20",
+ "value": 13184423
+ },
+ {
+ "date": "2014-02-21",
+ "value": 14367203
+ },
+ {
+ "date": "2014-02-22",
+ "value": 14656447
+ },
+ {
+ "date": "2014-02-23",
+ "value": 14724526
+ },
+ {
+ "date": "2014-02-24",
+ "value": 14938129
+ },
+ {
+ "date": "2014-02-25",
+ "value": 14205617
+ },
+ {
+ "date": "2014-02-26",
+ "value": 14596607
+ },
+ {
+ "date": "2014-02-27",
+ "value": 13982597
+ },
+ {
+ "date": "2014-02-28",
+ "value": 15107034
+ },
+ {
+ "date": "2014-03-01",
+ "value": 13646739
+ },
+ {
+ "date": "2014-03-02",
+ "value": 14214763
+ },
+ {
+ "date": "2014-03-03",
+ "value": 14952136
+ },
+ {
+ "date": "2014-03-04",
+ "value": 14643933
+ },
+ {
+ "date": "2014-03-05",
+ "value": 13611435
+ },
+ {
+ "date": "2014-03-06",
+ "value": 12569788
+ },
+ {
+ "date": "2014-03-07",
+ "value": 11344469
+ },
+ {
+ "date": "2014-03-08",
+ "value": 12687132
+ },
+ {
+ "date": "2014-03-09",
+ "value": 11831144
+ },
+ {
+ "date": "2014-03-10",
+ "value": 10480837
+ },
+ {
+ "date": "2014-03-11",
+ "value": 9051161
+ },
+ {
+ "date": "2014-03-12",
+ "value": 9964784
+ },
+ {
+ "date": "2014-03-13",
+ "value": 11035006
+ },
+ {
+ "date": "2014-03-14",
+ "value": 10081289
+ },
+ {
+ "date": "2014-03-15",
+ "value": 9793897
+ },
+ {
+ "date": "2014-03-16",
+ "value": 9177447
+ },
+ {
+ "date": "2014-03-17",
+ "value": 8035348
+ },
+ {
+ "date": "2014-03-18",
+ "value": 6770242
+ },
+ {
+ "date": "2014-03-19",
+ "value": 7272077
+ },
+ {
+ "date": "2014-03-20",
+ "value": 8216348
+ },
+ {
+ "date": "2014-03-21",
+ "value": 8576584
+ },
+ {
+ "date": "2014-03-22",
+ "value": 9421060
+ },
+ {
+ "date": "2014-03-23",
+ "value": 10872288
+ },
+ {
+ "date": "2014-03-24",
+ "value": 9537996
+ },
+ {
+ "date": "2014-03-25",
+ "value": 9560363
+ },
+ {
+ "date": "2014-03-26",
+ "value": 8182813
+ },
+ {
+ "date": "2014-03-27",
+ "value": 9068173
+ },
+ {
+ "date": "2014-03-28",
+ "value": 10390251
+ },
+ {
+ "date": "2014-03-29",
+ "value": 9714081
+ },
+ {
+ "date": "2014-03-30",
+ "value": 9994670
+ },
+ {
+ "date": "2014-03-31",
+ "value": 9317878
+ },
+ {
+ "date": "2014-04-01",
+ "value": 8209077
+ },
+ {
+ "date": "2014-04-02",
+ "value": 9230830
+ },
+ {
+ "date": "2014-04-03",
+ "value": 8978342
+ },
+ {
+ "date": "2014-04-04",
+ "value": 8361854
+ },
+ {
+ "date": "2014-04-05",
+ "value": 9345999
+ },
+ {
+ "date": "2014-04-06",
+ "value": 7965407
+ },
+ {
+ "date": "2014-04-07",
+ "value": 8909276
+ },
+ {
+ "date": "2014-04-08",
+ "value": 8935489
+ },
+ {
+ "date": "2014-04-09",
+ "value": 8634997
+ },
+ {
+ "date": "2014-04-10",
+ "value": 8795592
+ },
+ {
+ "date": "2014-04-11",
+ "value": 7513086
+ },
+ {
+ "date": "2014-04-12",
+ "value": 8408561
+ },
+ {
+ "date": "2014-04-13",
+ "value": 7780649
+ },
+ {
+ "date": "2014-04-14",
+ "value": 7524281
+ },
+ {
+ "date": "2014-04-15",
+ "value": 8498062
+ },
+ {
+ "date": "2014-04-16",
+ "value": 7922453
+ },
+ {
+ "date": "2014-04-17",
+ "value": 9304312
+ },
+ {
+ "date": "2014-04-18",
+ "value": 8199457
+ },
+ {
+ "date": "2014-04-19",
+ "value": 8926136
+ },
+ {
+ "date": "2014-04-20",
+ "value": 7558184
+ },
+ {
+ "date": "2014-04-21",
+ "value": 6417511
+ },
+ {
+ "date": "2014-04-22",
+ "value": 5748831
+ },
+ {
+ "date": "2014-04-23",
+ "value": 6503022
+ },
+ {
+ "date": "2014-04-24",
+ "value": 6429606
+ },
+ {
+ "date": "2014-04-25",
+ "value": 5057410
+ },
+ {
+ "date": "2014-04-26",
+ "value": 5924669
+ },
+ {
+ "date": "2014-04-27",
+ "value": 4728239
+ },
+ {
+ "date": "2014-04-28",
+ "value": 3918540
+ },
+ {
+ "date": "2014-04-29",
+ "value": 2821473
+ },
+ {
+ "date": "2014-04-30",
+ "value": 1995781
+ },
+ {
+ "date": "2014-05-01",
+ "value": 1123626
+ },
+ {
+ "date": "2014-05-02",
+ "value": 516067
+ },
+ {
+ "date": "2014-05-03",
+ "value": 816831
+ },
+ {
+ "date": "2014-05-04",
+ "value": 816831
+ },
+ {
+ "date": "2014-05-05",
+ "value": 816831
+ },
+ {
+ "date": "2014-05-06",
+ "value": 1103818
+ },
+ {
+ "date": "2014-05-07",
+ "value": 958188
+ },
+ {
+ "date": "2014-05-08",
+ "value": 592995
+ },
+ {
+ "date": "2014-05-09",
+ "value": 856066
+ },
+ {
+ "date": "2014-05-10",
+ "value": 1766761
+ },
+ {
+ "date": "2014-05-11",
+ "value": 1330557
+ }
+] \ No newline at end of file
diff --git a/priv/static/metrics-graphics-3.0-alpha3/examples/data/brief-2.json b/priv/static/metrics-graphics-3.0-alpha3/examples/data/brief-2.json
new file mode 100644
index 0000000..6bea2bc
--- /dev/null
+++ b/priv/static/metrics-graphics-3.0-alpha3/examples/data/brief-2.json
@@ -0,0 +1,402 @@
+[
+ {
+ "date": "2014-02-01",
+ "value": 15000000
+ },
+ {
+ "date": "2014-02-02",
+ "value": 14603908
+ },
+ {
+ "date": "2014-02-03",
+ "value": 16058813
+ },
+ {
+ "date": "2014-02-04",
+ "value": 16751442
+ },
+ {
+ "date": "2014-02-05",
+ "value": 18236063
+ },
+ {
+ "date": "2014-02-06",
+ "value": 19276343
+ },
+ {
+ "date": "2014-02-07",
+ "value": 17869996
+ },
+ {
+ "date": "2014-02-08",
+ "value": 18283550
+ },
+ {
+ "date": "2014-02-09",
+ "value": 18146798
+ },
+ {
+ "date": "2014-02-10",
+ "value": 19114034
+ },
+ {
+ "date": "2014-02-11",
+ "value": 18243994
+ },
+ {
+ "date": "2014-02-12",
+ "value": 18230379
+ },
+ {
+ "date": "2014-02-13",
+ "value": 17569438
+ },
+ {
+ "date": "2014-02-14",
+ "value": 18237141
+ },
+ {
+ "date": "2014-02-15",
+ "value": 18177790
+ },
+ {
+ "date": "2014-02-16",
+ "value": 19278138
+ },
+ {
+ "date": "2014-02-17",
+ "value": 19520468
+ },
+ {
+ "date": "2014-02-18",
+ "value": 18074007
+ },
+ {
+ "date": "2014-02-19",
+ "value": 17387983
+ },
+ {
+ "date": "2014-02-20",
+ "value": 16303246
+ },
+ {
+ "date": "2014-02-21",
+ "value": 16532377
+ },
+ {
+ "date": "2014-02-22",
+ "value": 15992596
+ },
+ {
+ "date": "2014-02-23",
+ "value": 14510598
+ },
+ {
+ "date": "2014-02-24",
+ "value": 15242619
+ },
+ {
+ "date": "2014-02-25",
+ "value": 15099566
+ },
+ {
+ "date": "2014-02-26",
+ "value": 15786161
+ },
+ {
+ "date": "2014-02-27",
+ "value": 17041993
+ },
+ {
+ "date": "2014-02-28",
+ "value": 17792064
+ },
+ {
+ "date": "2014-03-01",
+ "value": 17135803
+ },
+ {
+ "date": "2014-03-02",
+ "value": 17902796
+ },
+ {
+ "date": "2014-03-03",
+ "value": 18082480
+ },
+ {
+ "date": "2014-03-04",
+ "value": 16599484
+ },
+ {
+ "date": "2014-03-05",
+ "value": 15556006
+ },
+ {
+ "date": "2014-03-06",
+ "value": 16095932
+ },
+ {
+ "date": "2014-03-07",
+ "value": 15877165
+ },
+ {
+ "date": "2014-03-08",
+ "value": 16184507
+ },
+ {
+ "date": "2014-03-09",
+ "value": 17578551
+ },
+ {
+ "date": "2014-03-10",
+ "value": 17397416
+ },
+ {
+ "date": "2014-03-11",
+ "value": 18665547
+ },
+ {
+ "date": "2014-03-12",
+ "value": 17599363
+ },
+ {
+ "date": "2014-03-13",
+ "value": 16625060
+ },
+ {
+ "date": "2014-03-14",
+ "value": 15823403
+ },
+ {
+ "date": "2014-03-15",
+ "value": 17166280
+ },
+ {
+ "date": "2014-03-16",
+ "value": 17214931
+ },
+ {
+ "date": "2014-03-17",
+ "value": 18057950
+ },
+ {
+ "date": "2014-03-18",
+ "value": 18467657
+ },
+ {
+ "date": "2014-03-19",
+ "value": 18174411
+ },
+ {
+ "date": "2014-03-20",
+ "value": 17726332
+ },
+ {
+ "date": "2014-03-21",
+ "value": 18624889
+ },
+ {
+ "date": "2014-03-22",
+ "value": 18442598
+ },
+ {
+ "date": "2014-03-23",
+ "value": 17924421
+ },
+ {
+ "date": "2014-03-24",
+ "value": 17943620
+ },
+ {
+ "date": "2014-03-25",
+ "value": 17787115
+ },
+ {
+ "date": "2014-03-26",
+ "value": 16707201
+ },
+ {
+ "date": "2014-03-27",
+ "value": 17013779
+ },
+ {
+ "date": "2014-03-28",
+ "value": 17468840
+ },
+ {
+ "date": "2014-03-29",
+ "value": 16855965
+ },
+ {
+ "date": "2014-03-30",
+ "value": 16198783
+ },
+ {
+ "date": "2014-03-31",
+ "value": 17237410
+ },
+ {
+ "date": "2014-04-01",
+ "value": 16157939
+ },
+ {
+ "date": "2014-04-02",
+ "value": 15279153
+ },
+ {
+ "date": "2014-04-03",
+ "value": 16007123
+ },
+ {
+ "date": "2014-04-04",
+ "value": 15394272
+ },
+ {
+ "date": "2014-04-05",
+ "value": 15753468
+ },
+ {
+ "date": "2014-04-06",
+ "value": 14785435
+ },
+ {
+ "date": "2014-04-07",
+ "value": 14894846
+ },
+ {
+ "date": "2014-04-08",
+ "value": 16113018
+ },
+ {
+ "date": "2014-04-09",
+ "value": 17083579
+ },
+ {
+ "date": "2014-04-10",
+ "value": 17318911
+ },
+ {
+ "date": "2014-04-11",
+ "value": 17301918
+ },
+ {
+ "date": "2014-04-12",
+ "value": 16294357
+ },
+ {
+ "date": "2014-04-13",
+ "value": 17006382
+ },
+ {
+ "date": "2014-04-14",
+ "value": 16305037
+ },
+ {
+ "date": "2014-04-15",
+ "value": 17173934
+ },
+ {
+ "date": "2014-04-16",
+ "value": 16519521
+ },
+ {
+ "date": "2014-04-17",
+ "value": 15741197
+ },
+ {
+ "date": "2014-04-18",
+ "value": 15685527
+ },
+ {
+ "date": "2014-04-19",
+ "value": 16593307
+ },
+ {
+ "date": "2014-04-20",
+ "value": 15108037
+ },
+ {
+ "date": "2014-04-21",
+ "value": 14280930
+ },
+ {
+ "date": "2014-04-22",
+ "value": 15048575
+ },
+ {
+ "date": "2014-04-23",
+ "value": 13925294
+ },
+ {
+ "date": "2014-04-24",
+ "value": 13655381
+ },
+ {
+ "date": "2014-04-25",
+ "value": 14083620
+ },
+ {
+ "date": "2014-04-26",
+ "value": 14390459
+ },
+ {
+ "date": "2014-04-27",
+ "value": 14253026
+ },
+ {
+ "date": "2014-04-28",
+ "value": 15524371
+ },
+ {
+ "date": "2014-04-29",
+ "value": 14810508
+ },
+ {
+ "date": "2014-04-30",
+ "value": 14942971
+ },
+ {
+ "date": "2014-05-01",
+ "value": 13849556
+ },
+ {
+ "date": "2014-05-02",
+ "value": 14811628
+ },
+ {
+ "date": "2014-05-03",
+ "value": 13489786
+ },
+ {
+ "date": "2014-05-04",
+ "value": 13875740
+ },
+ {
+ "date": "2014-05-05",
+ "value": 14581874
+ },
+ {
+ "date": "2014-05-06",
+ "value": 15856637
+ },
+ {
+ "date": "2014-05-07",
+ "value": 15377926
+ },
+ {
+ "date": "2014-05-08",
+ "value": 14523507
+ },
+ {
+ "date": "2014-05-09",
+ "value": 14629800
+ },
+ {
+ "date": "2014-05-10",
+ "value": 14018497
+ },
+ {
+ "date": "2014-05-11",
+ "value": 12917428
+ }
+] \ No newline at end of file
diff --git a/priv/static/metrics-graphics-3.0-alpha3/examples/data/confidence_band.json b/priv/static/metrics-graphics-3.0-alpha3/examples/data/confidence_band.json
new file mode 100644
index 0000000..0fb6dea
--- /dev/null
+++ b/priv/static/metrics-graphics-3.0-alpha3/examples/data/confidence_band.json
@@ -0,0 +1,548 @@
+ [
+ {
+ "value": -1.1618426259,
+ "date": "2012-08-28",
+ "l": -2.6017329022,
+ "u": 0.2949717757
+ },
+ {
+ "value": -0.5828247293,
+ "date": "2012-08-29",
+ "l": -1.3166963635,
+ "u": 0.1324086347
+ },
+ {
+ "value": -0.3790770636,
+ "date": "2012-08-30",
+ "l": -0.8712221305,
+ "u": 0.0956413566
+ },
+ {
+ "value": -0.2792926002,
+ "date": "2012-08-31",
+ "l": -0.6541832008,
+ "u": 0.0717120241
+ },
+ {
+ "value": -0.2461165469,
+ "date": "2012-09-01",
+ "l": -0.5222677907,
+ "u": 0.0594188803
+ },
+ {
+ "value": -0.2017354137,
+ "date": "2012-09-02",
+ "l": -0.4434280535,
+ "u": 0.0419213465
+ },
+ {
+ "value": -0.1457476871,
+ "date": "2012-09-03",
+ "l": -0.3543957712,
+ "u": 0.0623761171
+ },
+ {
+ "value": -0.002610973,
+ "date": "2012-09-04",
+ "l": -0.3339911495,
+ "u": 0.031286929
+ },
+ {
+ "value": -0.0080692734,
+ "date": "2012-09-05",
+ "l": -0.2951839941,
+ "u": 0.0301762553
+ },
+ {
+ "value": -0.0296490933,
+ "date": "2012-09-06",
+ "l": -0.2964395801,
+ "u": -0.0029821004
+ },
+ {
+ "value": 0.001317397,
+ "date": "2012-09-07",
+ "l": -0.2295443759,
+ "u": 0.037903312
+ },
+ {
+ "value": -0.0117649838,
+ "date": "2012-09-08",
+ "l": -0.2226376418,
+ "u": 0.0239720183
+ },
+ {
+ "value": 0.0059394263,
+ "date": "2012-09-09",
+ "l": -0.2020479849,
+ "u": 0.0259489347
+ },
+ {
+ "value": -0.0115565898,
+ "date": "2012-09-10",
+ "l": -0.2042048037,
+ "u": 0.0077863806
+ },
+ {
+ "value": 0.0041183019,
+ "date": "2012-09-11",
+ "l": -0.1837263172,
+ "u": 0.0137898406
+ },
+ {
+ "value": 0.0353559544,
+ "date": "2012-09-12",
+ "l": -0.136610008,
+ "u": 0.051403828
+ },
+ {
+ "value": 0.0070046011,
+ "date": "2012-09-13",
+ "l": -0.1569988647,
+ "u": 0.0202266411
+ },
+ {
+ "value": -0.0004251807,
+ "date": "2012-09-14",
+ "l": -0.1410340292,
+ "u": 0.0273410185
+ },
+ {
+ "value": -0.0035461023,
+ "date": "2012-09-15",
+ "l": -0.1438653689,
+ "u": 0.0165445684
+ },
+ {
+ "value": 0.007797889,
+ "date": "2012-09-16",
+ "l": -0.1291975355,
+ "u": 0.0232461153
+ },
+ {
+ "value": 0.0025402723,
+ "date": "2012-09-17",
+ "l": -0.133972479,
+ "u": 0.0116753921
+ },
+ {
+ "value": -0.005317381,
+ "date": "2012-09-18",
+ "l": -0.1269266586,
+ "u": 0.0129723291
+ },
+ {
+ "value": -0.0075841521,
+ "date": "2012-09-19",
+ "l": -0.1283478383,
+ "u": 0.0056371616
+ },
+ {
+ "value": -0.0391388721,
+ "date": "2012-09-20",
+ "l": -0.1571172198,
+ "u": -0.0311678828
+ },
+ {
+ "value": 0.0075430252,
+ "date": "2012-09-21",
+ "l": -0.1097354417,
+ "u": 0.0141132062
+ },
+ {
+ "value": 0.1850284663,
+ "date": "2012-09-22",
+ "l": 0.0333682152,
+ "u": 0.2140709422
+ },
+ {
+ "value": 0.076629596,
+ "date": "2012-09-23",
+ "l": -0.0068472967,
+ "u": 0.1101280569
+ },
+ {
+ "value": -0.0314292271,
+ "date": "2012-09-24",
+ "l": -0.1074281762,
+ "u": 0.0032669363
+ },
+ {
+ "value": -0.0232608674,
+ "date": "2012-09-25",
+ "l": -0.0905197842,
+ "u": 0.0164250295
+ },
+ {
+ "value": -0.01968615,
+ "date": "2012-09-26",
+ "l": -0.084319856,
+ "u": 0.0193319465
+ },
+ {
+ "value": -0.0310196816,
+ "date": "2012-09-27",
+ "l": -0.0914356781,
+ "u": 0.0094436256
+ },
+ {
+ "value": -0.0758746967,
+ "date": "2012-09-28",
+ "l": -0.1169814745,
+ "u": -0.019659551
+ },
+ {
+ "value": 0.0233974572,
+ "date": "2012-09-29",
+ "l": -0.0356839258,
+ "u": 0.0610712506
+ },
+ {
+ "value": 0.011073579,
+ "date": "2012-09-30",
+ "l": -0.0558712863,
+ "u": 0.0346160081
+ },
+ {
+ "value": -0.002094822,
+ "date": "2012-10-01",
+ "l": -0.0707143388,
+ "u": 0.0152899266
+ },
+ {
+ "value": -0.1083707096,
+ "date": "2012-10-02",
+ "l": -0.1718101335,
+ "u": -0.0886271057
+ },
+ {
+ "value": -0.1098258972,
+ "date": "2012-10-03",
+ "l": -0.1881274065,
+ "u": -0.1072157972
+ },
+ {
+ "value": -0.0872970297,
+ "date": "2012-10-04",
+ "l": -0.1731903321,
+ "u": -0.064381434
+ },
+ {
+ "value": -0.0761992047,
+ "date": "2012-10-05",
+ "l": -0.1770373817,
+ "u": 0.100085727
+ },
+ {
+ "value": -0.0416654249,
+ "date": "2012-10-06",
+ "l": -0.1502479611,
+ "u": 0.0751148102
+ },
+ {
+ "value": -0.0410128962,
+ "date": "2012-10-07",
+ "l": -0.1618694445,
+ "u": 0.0881453482
+ },
+ {
+ "value": -0.0214289042,
+ "date": "2012-10-08",
+ "l": -0.1590852977,
+ "u": 0.0871880288
+ },
+ {
+ "value": 0.2430880604,
+ "date": "2012-10-09",
+ "l": 0.063624221,
+ "u": 0.2455101587
+ },
+ {
+ "value": 0.3472823479,
+ "date": "2012-10-10",
+ "l": 0.1553854927,
+ "u": 0.3583991097
+ },
+ {
+ "value": 0.3360734074,
+ "date": "2012-10-11",
+ "l": 0.2055952772,
+ "u": 0.3812162823
+ },
+ {
+ "value": -0.0463648355,
+ "date": "2012-10-12",
+ "l": -0.0626466998,
+ "u": 0.0037342957
+ },
+ {
+ "value": -0.0867009379,
+ "date": "2012-10-13",
+ "l": -0.0867594055,
+ "u": -0.0223791074
+ },
+ {
+ "value": -0.1288672826,
+ "date": "2012-10-14",
+ "l": -0.1161709129,
+ "u": -0.0534789124
+ },
+ {
+ "value": -0.1474426821,
+ "date": "2012-10-15",
+ "l": -0.1559759048,
+ "u": -0.0646995092
+ },
+ {
+ "value": -0.1502405066,
+ "date": "2012-10-16",
+ "l": -0.1604364638,
+ "u": -0.0602562376
+ },
+ {
+ "value": -0.1203765529,
+ "date": "2012-10-17",
+ "l": -0.1569023195,
+ "u": -0.0578129637
+ },
+ {
+ "value": -0.0649122919,
+ "date": "2012-10-18",
+ "l": -0.0782987564,
+ "u": -0.0501999174
+ },
+ {
+ "value": -0.015525562,
+ "date": "2012-10-19",
+ "l": -0.1103873808,
+ "u": -0.0132131311
+ },
+ {
+ "value": -0.006051357,
+ "date": "2012-10-20",
+ "l": -0.1089644497,
+ "u": 0.0230384197
+ },
+ {
+ "value": 0.0003154213,
+ "date": "2012-10-21",
+ "l": -0.1073849227,
+ "u": 0.0017290437
+ },
+ {
+ "value": -0.0063018298,
+ "date": "2012-10-22",
+ "l": -0.1120298155,
+ "u": 0.0173284555
+ },
+ {
+ "value": -0.004294834,
+ "date": "2012-10-23",
+ "l": -0.1076841119,
+ "u": 0.0547933965
+ },
+ {
+ "value": -0.0053400832,
+ "date": "2012-10-24",
+ "l": -0.1096991408,
+ "u": 0.0560555803
+ },
+ {
+ "value": 0.0070057212,
+ "date": "2012-10-25",
+ "l": -0.0940613813,
+ "u": 0.0425517607
+ },
+ {
+ "value": 0.0082121656,
+ "date": "2012-10-26",
+ "l": -0.0906810455,
+ "u": 0.0396884383
+ },
+ {
+ "value": 0.0141422884,
+ "date": "2012-10-27",
+ "l": -0.0841305678,
+ "u": 0.0340050012
+ },
+ {
+ "value": 0.0041613553,
+ "date": "2012-10-28",
+ "l": -0.0886723749,
+ "u": 0.039426727
+ },
+ {
+ "value": -0.0013614287,
+ "date": "2012-10-29",
+ "l": -0.0923481608,
+ "u": 0.0438725574
+ },
+ {
+ "value": -0.0052144933,
+ "date": "2012-10-30",
+ "l": -0.0937763043,
+ "u": 0.0459998555
+ },
+ {
+ "value": 0.0078904741,
+ "date": "2012-10-31",
+ "l": -0.0807028001,
+ "u": 0.0334824169
+ },
+ {
+ "value": 0.0099598702,
+ "date": "2012-11-01",
+ "l": -0.0740001323,
+ "u": 0.0280264274
+ },
+ {
+ "value": 0.0001146029,
+ "date": "2012-11-02",
+ "l": -0.0820430294,
+ "u": 0.0326771125
+ },
+ {
+ "value": 0.0047572651,
+ "date": "2012-11-03",
+ "l": -0.0754113825,
+ "u": 0.0294912577
+ },
+ {
+ "value": 0.006204557,
+ "date": "2012-11-04",
+ "l": -0.0750627059,
+ "u": 0.029693607
+ },
+ {
+ "value": 0.0115231406,
+ "date": "2012-11-05",
+ "l": -0.0663484142,
+ "u": 0.0214084056
+ },
+ {
+ "value": -0.0032634994,
+ "date": "2012-11-06",
+ "l": -0.0793170451,
+ "u": 0.0355159827
+ },
+ {
+ "value": -0.0108985452,
+ "date": "2012-11-07",
+ "l": -0.0846123893,
+ "u": 0.0409797057
+ },
+ {
+ "value": -0.0092766813,
+ "date": "2012-11-08",
+ "l": -0.0802668328,
+ "u": 0.0373886301
+ },
+ {
+ "value": 0.0095972086,
+ "date": "2012-11-09",
+ "l": -0.0623739694,
+ "u": 0.0194918693
+ },
+ {
+ "value": -0.0111809358,
+ "date": "2012-11-10",
+ "l": -0.0819555908,
+ "u": 0.038335749
+ },
+ {
+ "value": -0.0023572296,
+ "date": "2012-11-11",
+ "l": -0.0745443377,
+ "u": 0.0306093592
+ },
+ {
+ "value": 0.0084213775,
+ "date": "2012-11-12",
+ "l": -0.0657707155,
+ "u": 0.0227270619
+ },
+ {
+ "value": 0.0107446453,
+ "date": "2012-11-13",
+ "l": -0.0617995017,
+ "u": 0.0196547867
+ },
+ {
+ "value": 0.009457792,
+ "date": "2012-11-14",
+ "l": -0.0597697849,
+ "u": 0.0191832343
+ },
+ {
+ "value": 0.0031194779,
+ "date": "2012-11-15",
+ "l": -0.0589126783,
+ "u": 0.0186409442
+ },
+ {
+ "value": -0.0115128213,
+ "date": "2012-11-16",
+ "l": -0.0767105447,
+ "u": 0.0370292452
+ },
+ {
+ "value": 0.0058347339,
+ "date": "2012-11-17",
+ "l": -0.0592236472,
+ "u": 0.0198181452
+ },
+ {
+ "value": -0.0235630436,
+ "date": "2012-11-18",
+ "l": -0.083529944,
+ "u": 0.046280909
+ },
+ {
+ "value": -0.0479795964,
+ "date": "2012-11-19",
+ "l": -0.1086422529,
+ "u": 0.0113044645
+ },
+ {
+ "value": -0.0218184359,
+ "date": "2012-11-21",
+ "l": -0.0881634878,
+ "u": 0.0448568265
+ },
+ {
+ "value": -0.0071361172,
+ "date": "2012-11-28",
+ "l": -0.0807350229,
+ "u": 0.0453599734
+ },
+ {
+ "value": -0.0151966912,
+ "date": "2012-12-05",
+ "l": -0.089995793,
+ "u": 0.0558329569
+ },
+ {
+ "value": -0.0097784855,
+ "date": "2012-12-12",
+ "l": -0.089466481,
+ "u": 0.0550191387
+ },
+ {
+ "value": -0.0095681495,
+ "date": "2012-12-19",
+ "l": -0.090513354,
+ "u": 0.057073314
+ },
+ {
+ "value": -0.0034165915,
+ "date": "2012-12-27",
+ "l": -0.0907151292,
+ "u": 0.0561479112
+ },
+ {
+ "value": 0.3297981389,
+ "date": "2012-12-31",
+ "l": 0.1537781522,
+ "u": 0.3499473316
+ }
+ ] \ No newline at end of file
diff --git a/priv/static/metrics-graphics-3.0-alpha3/examples/data/fake_users1.json b/priv/static/metrics-graphics-3.0-alpha3/examples/data/fake_users1.json
new file mode 100644
index 0000000..4550c0f
--- /dev/null
+++ b/priv/static/metrics-graphics-3.0-alpha3/examples/data/fake_users1.json
@@ -0,0 +1,483 @@
+
+ [
+ {
+ "date": "2014-01-01",
+ "value": 190000000
+ },
+ {
+ "date": "2014-01-02",
+ "value": 190379978
+ },
+ {
+ "date": "2014-01-03",
+ "value": 90493749
+ },
+ {
+ "date": "2014-01-04",
+ "value": 190785250
+ },
+ {
+ "date": "2014-01-05",
+ "value": 197391904
+ },
+ {
+ "date": "2014-01-06",
+ "value": 191576838
+ },
+ {
+ "date": "2014-01-07",
+ "value": 191413854
+ },
+ {
+ "date": "2014-01-08",
+ "value": 142177211
+ },
+ {
+ "date": "2014-01-09",
+ "value": 103762210
+ },
+ {
+ "date": "2014-01-10",
+ "value": 144381072
+ },
+ {
+ "date": "2014-01-11",
+ "value": 154352310
+ },
+ {
+ "date": "2014-01-12",
+ "value": 165531790
+ },
+ {
+ "date": "2014-01-13",
+ "value": 175748881
+ },
+ {
+ "date": "2014-01-14",
+ "value": 187064037
+ },
+ {
+ "date": "2014-01-15",
+ "value": 197520685
+ },
+ {
+ "date": "2014-01-16",
+ "value": 210176418
+ },
+ {
+ "date": "2014-01-17",
+ "value": 196122924
+ },
+ {
+ "date": "2014-01-18",
+ "value": 157337480
+ },
+ {
+ "date": "2014-01-19",
+ "value": 200258882
+ },
+ {
+ "date": "2014-01-20",
+ "value": 186829538
+ },
+ {
+ "date": "2014-01-21",
+ "value": 112456897
+ },
+ {
+ "date": "2014-01-22",
+ "value": 114299711
+ },
+ {
+ "date": "2014-01-23",
+ "value": 122759017
+ },
+ {
+ "date": "2014-01-24",
+ "value": 203596183
+ },
+ {
+ "date": "2014-01-25",
+ "value": 208107346
+ },
+ {
+ "date": "2014-01-26",
+ "value": 196359852
+ },
+ {
+ "date": "2014-01-27",
+ "value": 192570783
+ },
+ {
+ "date": "2014-01-28",
+ "value": 177967768
+ },
+ {
+ "date": "2014-01-29",
+ "value": 190632803
+ },
+ {
+ "date": "2014-01-30",
+ "value": 203725316
+ },
+ {
+ "date": "2014-01-31",
+ "value": 118226177
+ },
+ {
+ "date": "2014-02-01",
+ "value": 210698669
+ },
+ {
+ "date": "2014-02-02",
+ "value": 217640656
+ },
+ {
+ "date": "2014-02-03",
+ "value": 216142362
+ },
+ {
+ "date": "2014-02-04",
+ "value": 201410971
+ },
+ {
+ "date": "2014-02-05",
+ "value": 196704289
+ },
+ {
+ "date": "2014-02-06",
+ "value": 190436945
+ },
+ {
+ "date": "2014-02-07",
+ "value": 178891686
+ },
+ {
+ "date": "2014-02-08",
+ "value": 171613962
+ },
+ {
+ "date": "2014-02-09",
+ "value": 107579773
+ },
+ {
+ "date": "2014-02-10",
+ "value": 158677098
+ },
+ {
+ "date": "2014-02-11",
+ "value": 147129977
+ },
+ {
+ "date": "2014-02-12",
+ "value": 151561876
+ },
+ {
+ "date": "2014-02-13",
+ "value": 151627421
+ },
+ {
+ "date": "2014-02-14",
+ "value": 143543872
+ },
+ {
+ "date": "2014-02-15",
+ "value": 136581057
+ },
+ {
+ "date": "2014-02-16",
+ "value": 135560715
+ },
+ {
+ "date": "2014-02-17",
+ "value": 122625263
+ },
+ {
+ "date": "2014-02-18",
+ "value": 112091484
+ },
+ {
+ "date": "2014-02-19",
+ "value": 98810329
+ },
+ {
+ "date": "2014-02-20",
+ "value": 99882912
+ },
+ {
+ "date": "2014-02-21",
+ "value": 94943095
+ },
+ {
+ "date": "2014-02-22",
+ "value": 104875743
+ },
+ {
+ "date": "2014-02-23",
+ "value": 116383678
+ },
+ {
+ "date": "2014-02-24",
+ "value": 105028841
+ },
+ {
+ "date": "2014-02-25",
+ "value": 123967310
+ },
+ {
+ "date": "2014-02-26",
+ "value": 133167029
+ },
+ {
+ "date": "2014-02-27",
+ "value": 128577263
+ },
+ {
+ "date": "2014-02-28",
+ "value": 115836969
+ },
+ {
+ "date": "2014-03-01",
+ "value": 119264529
+ },
+ {
+ "date": "2014-03-02",
+ "value": 109363374
+ },
+ {
+ "date": "2014-03-03",
+ "value": 113985628
+ },
+ {
+ "date": "2014-03-04",
+ "value": 114650999
+ },
+ {
+ "date": "2014-03-05",
+ "value": 110866108
+ },
+ {
+ "date": "2014-03-06",
+ "value": 96473454
+ },
+ {
+ "date": "2014-03-07",
+ "value": 84075886
+ },
+ {
+ "date": "2014-03-08",
+ "value": 103568384
+ },
+ {
+ "date": "2014-03-09",
+ "value": 101534883
+ },
+ {
+ "date": "2014-03-10",
+ "value": 115825447
+ },
+ {
+ "date": "2014-03-11",
+ "value": 126133916
+ },
+ {
+ "date": "2014-03-12",
+ "value": 116502109
+ },
+ {
+ "date": "2014-03-13",
+ "value": 80169411
+ },
+ {
+ "date": "2014-03-14",
+ "value": 84296886
+ },
+ {
+ "date": "2014-03-15",
+ "value": 86347399
+ },
+ {
+ "date": "2014-03-16",
+ "value": 31483669
+ },
+ {
+ "date": "2014-03-17",
+ "value": 142811333
+ },
+ {
+ "date": "2014-03-18",
+ "value": 89675396
+ },
+ {
+ "date": "2014-03-19",
+ "value": 115514483
+ },
+ {
+ "date": "2014-03-20",
+ "value": 117630630
+ },
+ {
+ "date": "2014-03-21",
+ "value": 122340239
+ },
+ {
+ "date": "2014-03-22",
+ "value": 132349091
+ },
+ {
+ "date": "2014-03-23",
+ "value": 125613305
+ },
+ {
+ "date": "2014-03-24",
+ "value": 135592466
+ },
+ {
+ "date": "2014-03-25",
+ "value": 123408762
+ },
+ {
+ "date": "2014-03-26",
+ "value": 111991454
+ },
+ {
+ "date": "2014-03-27",
+ "value": 116123955
+ },
+ {
+ "date": "2014-03-28",
+ "value": 112817214
+ },
+ {
+ "date": "2014-03-29",
+ "value": 113029590
+ },
+ {
+ "date": "2014-03-30",
+ "value": 108753398
+ },
+ {
+ "date": "2014-03-31",
+ "value": 99383763
+ },
+ {
+ "date": "2014-04-01",
+ "value": 100151737
+ },
+ {
+ "date": "2014-04-02",
+ "value": 94985209
+ },
+ {
+ "date": "2014-04-03",
+ "value": 82913669
+ },
+ {
+ "date": "2014-04-04",
+ "value": 78748268
+ },
+ {
+ "date": "2014-04-05",
+ "value": 63829135
+ },
+ {
+ "date": "2014-04-06",
+ "value": 78694727
+ },
+ {
+ "date": "2014-04-07",
+ "value": 80868994
+ },
+ {
+ "date": "2014-04-08",
+ "value": 93799013
+ },
+ {
+ "date": "2014-04-09",
+ "value": 9042416
+ },
+ {
+ "date": "2014-04-10",
+ "value": 97298692
+ },
+ {
+ "date": "2014-04-11",
+ "value": 53353499
+ },
+ {
+ "date": "2014-04-12",
+ "value": 71248129
+ },
+ {
+ "date": "2014-04-13",
+ "value": 75253744
+ },
+ {
+ "date": "2014-04-14",
+ "value": 68976648
+ },
+ {
+ "date": "2014-04-15",
+ "value": 71002284
+ },
+ {
+ "date": "2014-04-16",
+ "value": 75052401
+ },
+ {
+ "date": "2014-04-17",
+ "value": 83894030
+ },
+ {
+ "date": "2014-04-18",
+ "value": 50236528
+ },
+ {
+ "date": "2014-04-19",
+ "value": 59739114
+ },
+ {
+ "date": "2014-04-20",
+ "value": 56407136
+ },
+ {
+ "date": "2014-04-21",
+ "value": 108323177
+ },
+ {
+ "date": "2014-04-22",
+ "value": 101578914
+ },
+ {
+ "date": "2014-04-23",
+ "value": 115877608
+ },
+ {
+ "date": "2014-04-24",
+ "value": 132088857
+ },
+ {
+ "date": "2014-04-25",
+ "value": 112071353
+ },
+ {
+ "date": "2014-04-26",
+ "value": 81790062
+ },
+ {
+ "date": "2014-04-27",
+ "value": 105003761
+ },
+ {
+ "date": "2014-04-28",
+ "value": 100457727
+ },
+ {
+ "date": "2014-04-29",
+ "value": 118253926
+ },
+ {
+ "date": "2014-04-30",
+ "value": 67956992
+ }
+ ]
diff --git a/priv/static/metrics-graphics-3.0-alpha3/examples/data/fake_users2.json b/priv/static/metrics-graphics-3.0-alpha3/examples/data/fake_users2.json
new file mode 100644
index 0000000..7fc5842
--- /dev/null
+++ b/priv/static/metrics-graphics-3.0-alpha3/examples/data/fake_users2.json
@@ -0,0 +1,1448 @@
+[
+ [
+ {
+ "date": "2014-01-01",
+ "value": 10000000
+ },
+ {
+ "date": "2014-01-02",
+ "value": 10379978
+ },
+ {
+ "date": "2014-01-03",
+ "value": 10493749
+ },
+ {
+ "date": "2014-01-04",
+ "value": 10785250
+ },
+ {
+ "date": "2014-01-05",
+ "value": 13901904
+ },
+ {
+ "date": "2014-01-06",
+ "value": 11576838
+ },
+ {
+ "date": "2014-01-07",
+ "value": 14413854
+ },
+ {
+ "date": "2014-01-08",
+ "value": 15177211
+ },
+ {
+ "date": "2014-01-09",
+ "value": 16622100
+ },
+ {
+ "date": "2014-01-10",
+ "value": 17381072
+ },
+ {
+ "date": "2014-01-11",
+ "value": 18802310
+ },
+ {
+ "date": "2014-01-12",
+ "value": 15531790
+ },
+ {
+ "date": "2014-01-13",
+ "value": 15748881
+ },
+ {
+ "date": "2014-01-14",
+ "value": 18706437
+ },
+ {
+ "date": "2014-01-15",
+ "value": 19752685
+ },
+ {
+ "date": "2014-01-16",
+ "value": 21016418
+ },
+ {
+ "date": "2014-01-17",
+ "value": 25622924
+ },
+ {
+ "date": "2014-01-18",
+ "value": 25337480
+ },
+ {
+ "date": "2014-01-19",
+ "value": 22258882
+ },
+ {
+ "date": "2014-01-20",
+ "value": 23829538
+ },
+ {
+ "date": "2014-01-21",
+ "value": 24245689
+ },
+ {
+ "date": "2014-01-22",
+ "value": 26429711
+ },
+ {
+ "date": "2014-01-23",
+ "value": 26259017
+ },
+ {
+ "date": "2014-01-24",
+ "value": 25396183
+ },
+ {
+ "date": "2014-01-25",
+ "value": 23107346
+ },
+ {
+ "date": "2014-01-26",
+ "value": 28659852
+ },
+ {
+ "date": "2014-01-27",
+ "value": 25270783
+ },
+ {
+ "date": "2014-01-28",
+ "value": 26270783
+ },
+ {
+ "date": "2014-01-29",
+ "value": 27270783
+ },
+ {
+ "date": "2014-01-30",
+ "value": 28270783
+ },
+ {
+ "date": "2014-01-31",
+ "value": 29270783
+ },
+ {
+ "date": "2014-02-01",
+ "value": 30270783
+ },
+ {
+ "date": "2014-02-02",
+ "value": 31270783
+ },
+ {
+ "date": "2014-02-03",
+ "value": 32270783
+ },
+ {
+ "date": "2014-02-04",
+ "value": 33270783
+ },
+ {
+ "date": "2014-02-05",
+ "value": 28270783
+ },
+ {
+ "date": "2014-02-06",
+ "value": 27270783
+ },
+ {
+ "date": "2014-02-07",
+ "value": 35270783
+ },
+ {
+ "date": "2014-02-08",
+ "value": 34270783
+ },
+ {
+ "date": "2014-02-09",
+ "value": 28270783
+ },
+ {
+ "date": "2014-02-10",
+ "value": 35270783
+ },
+ {
+ "date": "2014-02-11",
+ "value": 36270783
+ },
+ {
+ "date": "2014-02-12",
+ "value": 34127078
+ },
+ {
+ "date": "2014-02-13",
+ "value": 33124078
+ },
+ {
+ "date": "2014-02-14",
+ "value": 36227078
+ },
+ {
+ "date": "2014-02-15",
+ "value": 37827078
+ },
+ {
+ "date": "2014-02-16",
+ "value": 36427073
+ },
+ {
+ "date": "2014-02-17",
+ "value": 37570783
+ },
+ {
+ "date": "2014-02-18",
+ "value": 38627073
+ },
+ {
+ "date": "2014-02-19",
+ "value": 37727078
+ },
+ {
+ "date": "2014-02-20",
+ "value": 38827073
+ },
+ {
+ "date": "2014-02-21",
+ "value": 40927078
+ },
+ {
+ "date": "2014-02-22",
+ "value": 41027078
+ },
+ {
+ "date": "2014-02-23",
+ "value": 42127073
+ },
+ {
+ "date": "2014-02-24",
+ "value": 43220783
+ },
+ {
+ "date": "2014-02-25",
+ "value": 44327078
+ },
+ {
+ "date": "2014-02-26",
+ "value": 40427078
+ },
+ {
+ "date": "2014-02-27",
+ "value": 41027078
+ },
+ {
+ "date": "2014-02-28",
+ "value": 45627078
+ },
+ {
+ "date": "2014-03-01",
+ "value": 44727078
+ },
+ {
+ "date": "2014-03-02",
+ "value": 44227078
+ },
+ {
+ "date": "2014-03-03",
+ "value": 45227078
+ },
+ {
+ "date": "2014-03-04",
+ "value": 46027078
+ },
+ {
+ "date": "2014-03-05",
+ "value": 46927078
+ },
+ {
+ "date": "2014-03-06",
+ "value": 47027078
+ },
+ {
+ "date": "2014-03-07",
+ "value": 46227078
+ },
+ {
+ "date": "2014-03-08",
+ "value": 47027078
+ },
+ {
+ "date": "2014-03-09",
+ "value": 48027078
+ },
+ {
+ "date": "2014-03-10",
+ "value": 47027078
+ },
+ {
+ "date": "2014-03-11",
+ "value": 47027078
+ },
+ {
+ "date": "2014-03-12",
+ "value": 48017078
+ },
+ {
+ "date": "2014-03-13",
+ "value": 48077078
+ },
+ {
+ "date": "2014-03-14",
+ "value": 48087078
+ },
+ {
+ "date": "2014-03-15",
+ "value": 48017078
+ },
+ {
+ "date": "2014-03-16",
+ "value": 48047078
+ },
+ {
+ "date": "2014-03-17",
+ "value": 48067078
+ },
+ {
+ "date": "2014-03-18",
+ "value": 48077078
+ },
+ {
+ "date": "2014-03-19",
+ "value": 48027074
+ },
+ {
+ "date": "2014-03-20",
+ "value": 48927079
+ },
+ {
+ "date": "2014-03-21",
+ "value": 48727071
+ },
+ {
+ "date": "2014-03-22",
+ "value": 48127072
+ },
+ {
+ "date": "2014-03-23",
+ "value": 48527072
+ },
+ {
+ "date": "2014-03-24",
+ "value": 48627027
+ },
+ {
+ "date": "2014-03-25",
+ "value": 48027040
+ },
+ {
+ "date": "2014-03-26",
+ "value": 48027043
+ },
+ {
+ "date": "2014-03-27",
+ "value": 48057022
+ },
+ {
+ "date": "2014-03-28",
+ "value": 49057022
+ },
+ {
+ "date": "2014-03-29",
+ "value": 50057022
+ },
+ {
+ "date": "2014-03-30",
+ "value": 51057022
+ },
+ {
+ "date": "2014-03-31",
+ "value": 52057022
+ },
+ {
+ "date": "2014-04-01",
+ "value": 53057022
+ },
+ {
+ "date": "2014-04-02",
+ "value": 54057022
+ },
+ {
+ "date": "2014-04-03",
+ "value": 52057022
+ },
+ {
+ "date": "2014-04-04",
+ "value": 55057022
+ },
+ {
+ "date": "2014-04-05",
+ "value": 58270783
+ },
+ {
+ "date": "2014-04-06",
+ "value": 56270783
+ },
+ {
+ "date": "2014-04-07",
+ "value": 55270783
+ },
+ {
+ "date": "2014-04-08",
+ "value": 58270783
+ },
+ {
+ "date": "2014-04-09",
+ "value": 59270783
+ },
+ {
+ "date": "2014-04-10",
+ "value": 60270783
+ },
+ {
+ "date": "2014-04-11",
+ "value": 61270783
+ },
+ {
+ "date": "2014-04-12",
+ "value": 62270783
+ },
+ {
+ "date": "2014-04-13",
+ "value": 63270783
+ },
+ {
+ "date": "2014-04-14",
+ "value": 64270783
+ },
+ {
+ "date": "2014-04-15",
+ "value": 65270783
+ },
+ {
+ "date": "2014-04-16",
+ "value": 66270783
+ },
+ {
+ "date": "2014-04-17",
+ "value": 67270783
+ },
+ {
+ "date": "2014-04-18",
+ "value": 68270783
+ },
+ {
+ "date": "2014-04-19",
+ "value": 69270783
+ },
+ {
+ "date": "2014-04-20",
+ "value": 70270783
+ },
+ {
+ "date": "2014-04-21",
+ "value": 71270783
+ },
+ {
+ "date": "2014-04-22",
+ "value": 72270783
+ },
+ {
+ "date": "2014-04-23",
+ "value": 73270783
+ },
+ {
+ "date": "2014-04-24",
+ "value": 74270783
+ },
+ {
+ "date": "2014-04-25",
+ "value": 75270783
+ },
+ {
+ "date": "2014-04-26",
+ "value": 76660783
+ },
+ {
+ "date": "2014-04-27",
+ "value": 77270783
+ },
+ {
+ "date": "2014-04-28",
+ "value": 78370783
+ },
+ {
+ "date": "2014-04-29",
+ "value": 79470783
+ },
+ {
+ "date": "2014-04-30",
+ "value": 80170783
+ }
+ ],
+ [
+ {
+ "date": "2014-01-01",
+ "value": 150000000
+ },
+ {
+ "date": "2014-01-02",
+ "value": 160379978
+ },
+ {
+ "date": "2014-01-03",
+ "value": 170493749
+ },
+ {
+ "date": "2014-01-04",
+ "value": 160785250
+ },
+ {
+ "date": "2014-01-05",
+ "value": 167391904
+ },
+ {
+ "date": "2014-01-06",
+ "value": 161576838
+ },
+ {
+ "date": "2014-01-07",
+ "value": 161413854
+ },
+ {
+ "date": "2014-01-08",
+ "value": 152177211
+ },
+ {
+ "date": "2014-01-09",
+ "value": 143762210
+ },
+ {
+ "date": "2014-01-10",
+ "value": 144381072
+ },
+ {
+ "date": "2014-01-11",
+ "value": 154352310
+ },
+ {
+ "date": "2014-01-12",
+ "value": 165531790
+ },
+ {
+ "date": "2014-01-13",
+ "value": 175748881
+ },
+ {
+ "date": "2014-01-14",
+ "value": 187064037
+ },
+ {
+ "date": "2014-01-15",
+ "value": 197520685
+ },
+ {
+ "date": "2014-01-16",
+ "value": 210176418
+ },
+ {
+ "date": "2014-01-17",
+ "value": 196122924
+ },
+ {
+ "date": "2014-01-18",
+ "value": 207337480
+ },
+ {
+ "date": "2014-01-19",
+ "value": 200258882
+ },
+ {
+ "date": "2014-01-20",
+ "value": 186829538
+ },
+ {
+ "date": "2014-01-21",
+ "value": 192456897
+ },
+ {
+ "date": "2014-01-22",
+ "value": 204299711
+ },
+ {
+ "date": "2014-01-23",
+ "value": 192759017
+ },
+ {
+ "date": "2014-01-24",
+ "value": 203596183
+ },
+ {
+ "date": "2014-01-25",
+ "value": 208107346
+ },
+ {
+ "date": "2014-01-26",
+ "value": 196359852
+ },
+ {
+ "date": "2014-01-27",
+ "value": 192570783
+ },
+ {
+ "date": "2014-01-28",
+ "value": 177967768
+ },
+ {
+ "date": "2014-01-29",
+ "value": 190632803
+ },
+ {
+ "date": "2014-01-30",
+ "value": 203725316
+ },
+ {
+ "date": "2014-01-31",
+ "value": 218226177
+ },
+ {
+ "date": "2014-02-01",
+ "value": 210698669
+ },
+ {
+ "date": "2014-02-02",
+ "value": 217640656
+ },
+ {
+ "date": "2014-02-03",
+ "value": 216142362
+ },
+ {
+ "date": "2014-02-04",
+ "value": 201410971
+ },
+ {
+ "date": "2014-02-05",
+ "value": 196704289
+ },
+ {
+ "date": "2014-02-06",
+ "value": 190436945
+ },
+ {
+ "date": "2014-02-07",
+ "value": 178891686
+ },
+ {
+ "date": "2014-02-08",
+ "value": 171613962
+ },
+ {
+ "date": "2014-02-09",
+ "value": 157579773
+ },
+ {
+ "date": "2014-02-10",
+ "value": 158677098
+ },
+ {
+ "date": "2014-02-11",
+ "value": 147129977
+ },
+ {
+ "date": "2014-02-12",
+ "value": 151561876
+ },
+ {
+ "date": "2014-02-13",
+ "value": 151627421
+ },
+ {
+ "date": "2014-02-14",
+ "value": 143543872
+ },
+ {
+ "date": "2014-02-15",
+ "value": 136581057
+ },
+ {
+ "date": "2014-02-16",
+ "value": 135560715
+ },
+ {
+ "date": "2014-02-17",
+ "value": 122625263
+ },
+ {
+ "date": "2014-02-18",
+ "value": 112091484
+ },
+ {
+ "date": "2014-02-19",
+ "value": 98810329
+ },
+ {
+ "date": "2014-02-20",
+ "value": 99882912
+ },
+ {
+ "date": "2014-02-21",
+ "value": 94943095
+ },
+ {
+ "date": "2014-02-22",
+ "value": 104875743
+ },
+ {
+ "date": "2014-02-23",
+ "value": 116383678
+ },
+ {
+ "date": "2014-02-24",
+ "value": 125028841
+ },
+ {
+ "date": "2014-02-25",
+ "value": 123967310
+ },
+ {
+ "date": "2014-02-26",
+ "value": 133167029
+ },
+ {
+ "date": "2014-02-27",
+ "value": 128577263
+ },
+ {
+ "date": "2014-02-28",
+ "value": 115836969
+ },
+ {
+ "date": "2014-03-01",
+ "value": 119264529
+ },
+ {
+ "date": "2014-03-02",
+ "value": 109363374
+ },
+ {
+ "date": "2014-03-03",
+ "value": 113985628
+ },
+ {
+ "date": "2014-03-04",
+ "value": 114650999
+ },
+ {
+ "date": "2014-03-05",
+ "value": 110866108
+ },
+ {
+ "date": "2014-03-06",
+ "value": 96473454
+ },
+ {
+ "date": "2014-03-07",
+ "value": 104075886
+ },
+ {
+ "date": "2014-03-08",
+ "value": 103568384
+ },
+ {
+ "date": "2014-03-09",
+ "value": 101534883
+ },
+ {
+ "date": "2014-03-10",
+ "value": 115825447
+ },
+ {
+ "date": "2014-03-11",
+ "value": 126133916
+ },
+ {
+ "date": "2014-03-12",
+ "value": 116502109
+ },
+ {
+ "date": "2014-03-13",
+ "value": 130169411
+ },
+ {
+ "date": "2014-03-14",
+ "value": 124296886
+ },
+ {
+ "date": "2014-03-15",
+ "value": 126347399
+ },
+ {
+ "date": "2014-03-16",
+ "value": 131483669
+ },
+ {
+ "date": "2014-03-17",
+ "value": 142811333
+ },
+ {
+ "date": "2014-03-18",
+ "value": 129675396
+ },
+ {
+ "date": "2014-03-19",
+ "value": 115514483
+ },
+ {
+ "date": "2014-03-20",
+ "value": 117630630
+ },
+ {
+ "date": "2014-03-21",
+ "value": 122340239
+ },
+ {
+ "date": "2014-03-22",
+ "value": 132349091
+ },
+ {
+ "date": "2014-03-23",
+ "value": 125613305
+ },
+ {
+ "date": "2014-03-24",
+ "value": 135592466
+ },
+ {
+ "date": "2014-03-25",
+ "value": 123408762
+ },
+ {
+ "date": "2014-03-26",
+ "value": 111991454
+ },
+ {
+ "date": "2014-03-27",
+ "value": 116123955
+ },
+ {
+ "date": "2014-03-28",
+ "value": 112817214
+ },
+ {
+ "date": "2014-03-29",
+ "value": 113029590
+ },
+ {
+ "date": "2014-03-30",
+ "value": 108753398
+ },
+ {
+ "date": "2014-03-31",
+ "value": 99383763
+ },
+ {
+ "date": "2014-04-01",
+ "value": 100151737
+ },
+ {
+ "date": "2014-04-02",
+ "value": 94985209
+ },
+ {
+ "date": "2014-04-03",
+ "value": 82913669
+ },
+ {
+ "date": "2014-04-04",
+ "value": 78748268
+ },
+ {
+ "date": "2014-04-05",
+ "value": 63829135
+ },
+ {
+ "date": "2014-04-06",
+ "value": 78694727
+ },
+ {
+ "date": "2014-04-07",
+ "value": 80868994
+ },
+ {
+ "date": "2014-04-08",
+ "value": 93799013
+ },
+ {
+ "date": "2014-04-09",
+ "value": 99042416
+ },
+ {
+ "date": "2014-04-10",
+ "value": 97298692
+ },
+ {
+ "date": "2014-04-11",
+ "value": 83353499
+ },
+ {
+ "date": "2014-04-12",
+ "value": 71248129
+ },
+ {
+ "date": "2014-04-13",
+ "value": 75253744
+ },
+ {
+ "date": "2014-04-14",
+ "value": 68976648
+ },
+ {
+ "date": "2014-04-15",
+ "value": 71002284
+ },
+ {
+ "date": "2014-04-16",
+ "value": 75052401
+ },
+ {
+ "date": "2014-04-17",
+ "value": 83894030
+ },
+ {
+ "date": "2014-04-18",
+ "value": 90236528
+ },
+ {
+ "date": "2014-04-19",
+ "value": 99739114
+ },
+ {
+ "date": "2014-04-20",
+ "value": 96407136
+ },
+ {
+ "date": "2014-04-21",
+ "value": 108323177
+ },
+ {
+ "date": "2014-04-22",
+ "value": 101578914
+ },
+ {
+ "date": "2014-04-23",
+ "value": 115877608
+ },
+ {
+ "date": "2014-04-24",
+ "value": 112088857
+ },
+ {
+ "date": "2014-04-25",
+ "value": 112071353
+ },
+ {
+ "date": "2014-04-26",
+ "value": 101790062
+ },
+ {
+ "date": "2014-04-27",
+ "value": 115003761
+ },
+ {
+ "date": "2014-04-28",
+ "value": 120457727
+ },
+ {
+ "date": "2014-04-29",
+ "value": 118253926
+ },
+ {
+ "date": "2014-04-30",
+ "value": 117956992
+ }
+ ],
+ [
+ {
+ "date": "2014-01-01",
+ "value": 60000000
+ },
+ {
+ "date": "2014-01-02",
+ "value": 60379978
+ },
+ {
+ "date": "2014-01-03",
+ "value": 40493749
+ },
+ {
+ "date": "2014-01-04",
+ "value": 60785250
+ },
+ {
+ "date": "2014-01-05",
+ "value": 67391904
+ },
+ {
+ "date": "2014-01-06",
+ "value": 61576838
+ },
+ {
+ "date": "2014-01-07",
+ "value": 61413854
+ },
+ {
+ "date": "2014-01-08",
+ "value": 82177211
+ },
+ {
+ "date": "2014-01-09",
+ "value": 103762210
+ },
+ {
+ "date": "2014-01-10",
+ "value": 84381072
+ },
+ {
+ "date": "2014-01-11",
+ "value": 54352310
+ },
+ {
+ "date": "2014-01-12",
+ "value": 65531790
+ },
+ {
+ "date": "2014-01-13",
+ "value": 75748881
+ },
+ {
+ "date": "2014-01-14",
+ "value": 47064037
+ },
+ {
+ "date": "2014-01-15",
+ "value": 67520685
+ },
+ {
+ "date": "2014-01-16",
+ "value": 60176418
+ },
+ {
+ "date": "2014-01-17",
+ "value": 66122924
+ },
+ {
+ "date": "2014-01-18",
+ "value": 57337480
+ },
+ {
+ "date": "2014-01-19",
+ "value": 100258882
+ },
+ {
+ "date": "2014-01-20",
+ "value": 46829538
+ },
+ {
+ "date": "2014-01-21",
+ "value": 92456897
+ },
+ {
+ "date": "2014-01-22",
+ "value": 94299711
+ },
+ {
+ "date": "2014-01-23",
+ "value": 62759017
+ },
+ {
+ "date": "2014-01-24",
+ "value": 103596183
+ },
+ {
+ "date": "2014-01-25",
+ "value": 108107346
+ },
+ {
+ "date": "2014-01-26",
+ "value": 66359852
+ },
+ {
+ "date": "2014-01-27",
+ "value": 62570783
+ },
+ {
+ "date": "2014-01-28",
+ "value": 77967768
+ },
+ {
+ "date": "2014-01-29",
+ "value": 60632803
+ },
+ {
+ "date": "2014-01-30",
+ "value": 103725316
+ },
+ {
+ "date": "2014-01-31",
+ "value": 98226177
+ },
+ {
+ "date": "2014-02-01",
+ "value": 60698669
+ },
+ {
+ "date": "2014-02-02",
+ "value": 67640656
+ },
+ {
+ "date": "2014-02-03",
+ "value": 66142362
+ },
+ {
+ "date": "2014-02-04",
+ "value": 101410971
+ },
+ {
+ "date": "2014-02-05",
+ "value": 66704289
+ },
+ {
+ "date": "2014-02-06",
+ "value": 60436945
+ },
+ {
+ "date": "2014-02-07",
+ "value": 78891686
+ },
+ {
+ "date": "2014-02-08",
+ "value": 71613962
+ },
+ {
+ "date": "2014-02-09",
+ "value": 107579773
+ },
+ {
+ "date": "2014-02-10",
+ "value": 58677098
+ },
+ {
+ "date": "2014-02-11",
+ "value": 87129977
+ },
+ {
+ "date": "2014-02-12",
+ "value": 51561876
+ },
+ {
+ "date": "2014-02-13",
+ "value": 51627421
+ },
+ {
+ "date": "2014-02-14",
+ "value": 83543872
+ },
+ {
+ "date": "2014-02-15",
+ "value": 66581057
+ },
+ {
+ "date": "2014-02-16",
+ "value": 65560715
+ },
+ {
+ "date": "2014-02-17",
+ "value": 62625263
+ },
+ {
+ "date": "2014-02-18",
+ "value": 92091484
+ },
+ {
+ "date": "2014-02-19",
+ "value": 48810329
+ },
+ {
+ "date": "2014-02-20",
+ "value": 49882912
+ },
+ {
+ "date": "2014-02-21",
+ "value": 44943095
+ },
+ {
+ "date": "2014-02-22",
+ "value": 104875743
+ },
+ {
+ "date": "2014-02-23",
+ "value": 96383678
+ },
+ {
+ "date": "2014-02-24",
+ "value": 105028841
+ },
+ {
+ "date": "2014-02-25",
+ "value": 63967310
+ },
+ {
+ "date": "2014-02-26",
+ "value": 63167029
+ },
+ {
+ "date": "2014-02-27",
+ "value": 68577263
+ },
+ {
+ "date": "2014-02-28",
+ "value": 95836969
+ },
+ {
+ "date": "2014-03-01",
+ "value": 99264529
+ },
+ {
+ "date": "2014-03-02",
+ "value": 109363374
+ },
+ {
+ "date": "2014-03-03",
+ "value": 93985628
+ },
+ {
+ "date": "2014-03-04",
+ "value": 94650999
+ },
+ {
+ "date": "2014-03-05",
+ "value": 90866108
+ },
+ {
+ "date": "2014-03-06",
+ "value": 46473454
+ },
+ {
+ "date": "2014-03-07",
+ "value": 84075886
+ },
+ {
+ "date": "2014-03-08",
+ "value": 103568384
+ },
+ {
+ "date": "2014-03-09",
+ "value": 101534883
+ },
+ {
+ "date": "2014-03-10",
+ "value": 95825447
+ },
+ {
+ "date": "2014-03-11",
+ "value": 66133916
+ },
+ {
+ "date": "2014-03-12",
+ "value": 96502109
+ },
+ {
+ "date": "2014-03-13",
+ "value": 80169411
+ },
+ {
+ "date": "2014-03-14",
+ "value": 84296886
+ },
+ {
+ "date": "2014-03-15",
+ "value": 86347399
+ },
+ {
+ "date": "2014-03-16",
+ "value": 31483669
+ },
+ {
+ "date": "2014-03-17",
+ "value": 82811333
+ },
+ {
+ "date": "2014-03-18",
+ "value": 89675396
+ },
+ {
+ "date": "2014-03-19",
+ "value": 95514483
+ },
+ {
+ "date": "2014-03-20",
+ "value": 97630630
+ },
+ {
+ "date": "2014-03-21",
+ "value": 62340239
+ },
+ {
+ "date": "2014-03-22",
+ "value": 62349091
+ },
+ {
+ "date": "2014-03-23",
+ "value": 65613305
+ },
+ {
+ "date": "2014-03-24",
+ "value": 65592466
+ },
+ {
+ "date": "2014-03-25",
+ "value": 63408762
+ },
+ {
+ "date": "2014-03-26",
+ "value": 91991454
+ },
+ {
+ "date": "2014-03-27",
+ "value": 96123955
+ },
+ {
+ "date": "2014-03-28",
+ "value": 92817214
+ },
+ {
+ "date": "2014-03-29",
+ "value": 93029590
+ },
+ {
+ "date": "2014-03-30",
+ "value": 108753398
+ },
+ {
+ "date": "2014-03-31",
+ "value": 49383763
+ },
+ {
+ "date": "2014-04-01",
+ "value": 100151737
+ },
+ {
+ "date": "2014-04-02",
+ "value": 44985209
+ },
+ {
+ "date": "2014-04-03",
+ "value": 52913669
+ },
+ {
+ "date": "2014-04-04",
+ "value": 48748268
+ },
+ {
+ "date": "2014-04-05",
+ "value": 23829135
+ },
+ {
+ "date": "2014-04-06",
+ "value": 58694727
+ },
+ {
+ "date": "2014-04-07",
+ "value": 50868994
+ },
+ {
+ "date": "2014-04-08",
+ "value": 43799013
+ },
+ {
+ "date": "2014-04-09",
+ "value": 4042416
+ },
+ {
+ "date": "2014-04-10",
+ "value": 47298692
+ },
+ {
+ "date": "2014-04-11",
+ "value": 53353499
+ },
+ {
+ "date": "2014-04-12",
+ "value": 71248129
+ },
+ {
+ "date": "2014-04-13",
+ "value": 75253744
+ },
+ {
+ "date": "2014-04-14",
+ "value": 68976648
+ },
+ {
+ "date": "2014-04-15",
+ "value": 71002284
+ },
+ {
+ "date": "2014-04-16",
+ "value": 75052401
+ },
+ {
+ "date": "2014-04-17",
+ "value": 83894030
+ },
+ {
+ "date": "2014-04-18",
+ "value": 50236528
+ },
+ {
+ "date": "2014-04-19",
+ "value": 59739114
+ },
+ {
+ "date": "2014-04-20",
+ "value": 56407136
+ },
+ {
+ "date": "2014-04-21",
+ "value": 108323177
+ },
+ {
+ "date": "2014-04-22",
+ "value": 101578914
+ },
+ {
+ "date": "2014-04-23",
+ "value": 95877608
+ },
+ {
+ "date": "2014-04-24",
+ "value": 62088857
+ },
+ {
+ "date": "2014-04-25",
+ "value": 92071353
+ },
+ {
+ "date": "2014-04-26",
+ "value": 81790062
+ },
+ {
+ "date": "2014-04-27",
+ "value": 105003761
+ },
+ {
+ "date": "2014-04-28",
+ "value": 100457727
+ },
+ {
+ "date": "2014-04-29",
+ "value": 98253926
+ },
+ {
+ "date": "2014-04-30",
+ "value": 67956992
+ }
+ ]
+] \ No newline at end of file
diff --git a/priv/static/metrics-graphics-3.0-alpha3/examples/data/fake_users3.json b/priv/static/metrics-graphics-3.0-alpha3/examples/data/fake_users3.json
new file mode 100644
index 0000000..d0b8f16
--- /dev/null
+++ b/priv/static/metrics-graphics-3.0-alpha3/examples/data/fake_users3.json
@@ -0,0 +1,1448 @@
+[
+ [
+ {
+ "date": "2014-01-01",
+ "value": 150000000
+ },
+ {
+ "date": "2014-01-02",
+ "value": 168799730
+ },
+ {
+ "date": "2014-01-03",
+ "value": 179473940
+ },
+ {
+ "date": "2014-01-04",
+ "value": 160525870
+ },
+ {
+ "date": "2014-01-05",
+ "value": 164091937
+ },
+ {
+ "date": "2014-01-06",
+ "value": 168386751
+ },
+ {
+ "date": "2014-01-07",
+ "value": 164583141
+ },
+ {
+ "date": "2014-01-08",
+ "value": 151127712
+ },
+ {
+ "date": "2014-01-09",
+ "value": 140122673
+ },
+ {
+ "date": "2014-01-10",
+ "value": 142701834
+ },
+ {
+ "date": "2014-01-11",
+ "value": 150132534
+ },
+ {
+ "date": "2014-01-12",
+ "value": 160971355
+ },
+ {
+ "date": "2014-01-13",
+ "value": 171888475
+ },
+ {
+ "date": "2014-01-14",
+ "value": 187304607
+ },
+ {
+ "date": "2014-01-15",
+ "value": 195860257
+ },
+ {
+ "date": "2014-01-16",
+ "value": 218146710
+ },
+ {
+ "date": "2014-01-17",
+ "value": 194292216
+ },
+ {
+ "date": "2014-01-18",
+ "value": 200847337
+ },
+ {
+ "date": "2014-01-19",
+ "value": 202888520
+ },
+ {
+ "date": "2014-01-20",
+ "value": 188359286
+ },
+ {
+ "date": "2014-01-21",
+ "value": 197986542
+ },
+ {
+ "date": "2014-01-22",
+ "value": 201179924
+ },
+ {
+ "date": "2014-01-23",
+ "value": 197109572
+ },
+ {
+ "date": "2014-01-24",
+ "value": 203816953
+ },
+ {
+ "date": "2014-01-25",
+ "value": 206437018
+ },
+ {
+ "date": "2014-01-26",
+ "value": 192589536
+ },
+ {
+ "date": "2014-01-27",
+ "value": 193870752
+ },
+ {
+ "date": "2014-01-28",
+ "value": 178677697
+ },
+ {
+ "date": "2014-01-29",
+ "value": 193082360
+ },
+ {
+ "date": "2014-01-30",
+ "value": 206135273
+ },
+ {
+ "date": "2014-01-31",
+ "value": 217716228
+ },
+ {
+ "date": "2014-02-01",
+ "value": 219668960
+ },
+ {
+ "date": "2014-02-02",
+ "value": 216560467
+ },
+ {
+ "date": "2014-02-03",
+ "value": 212632416
+ },
+ {
+ "date": "2014-02-04",
+ "value": 201790141
+ },
+ {
+ "date": "2014-02-05",
+ "value": 199824076
+ },
+ {
+ "date": "2014-02-06",
+ "value": 195496340
+ },
+ {
+ "date": "2014-02-07",
+ "value": 176861988
+ },
+ {
+ "date": "2014-02-08",
+ "value": 172693161
+ },
+ {
+ "date": "2014-02-09",
+ "value": 153779757
+ },
+ {
+ "date": "2014-02-10",
+ "value": 158907768
+ },
+ {
+ "date": "2014-02-11",
+ "value": 147799217
+ },
+ {
+ "date": "2014-02-12",
+ "value": 156781651
+ },
+ {
+ "date": "2014-02-13",
+ "value": 151247261
+ },
+ {
+ "date": "2014-02-14",
+ "value": 142783453
+ },
+ {
+ "date": "2014-02-15",
+ "value": 137501856
+ },
+ {
+ "date": "2014-02-16",
+ "value": 135170655
+ },
+ {
+ "date": "2014-02-17",
+ "value": 123625262
+ },
+ {
+ "date": "2014-02-18",
+ "value": 114841902
+ },
+ {
+ "date": "2014-02-19",
+ "value": 99230188
+ },
+ {
+ "date": "2014-02-20",
+ "value": 92192889
+ },
+ {
+ "date": "2014-02-21",
+ "value": 95903494
+ },
+ {
+ "date": "2014-02-22",
+ "value": 103475784
+ },
+ {
+ "date": "2014-02-23",
+ "value": 118763836
+ },
+ {
+ "date": "2014-02-24",
+ "value": 121488205
+ },
+ {
+ "date": "2014-02-25",
+ "value": 120137693
+ },
+ {
+ "date": "2014-02-26",
+ "value": 139207613
+ },
+ {
+ "date": "2014-02-27",
+ "value": 123627758
+ },
+ {
+ "date": "2014-02-28",
+ "value": 119696385
+ },
+ {
+ "date": "2014-03-01",
+ "value": 119254629
+ },
+ {
+ "date": "2014-03-02",
+ "value": 104733639
+ },
+ {
+ "date": "2014-03-03",
+ "value": 118265893
+ },
+ {
+ "date": "2014-03-04",
+ "value": 119990564
+ },
+ {
+ "date": "2014-03-05",
+ "value": 118016680
+ },
+ {
+ "date": "2014-03-06",
+ "value": 94543746
+ },
+ {
+ "date": "2014-03-07",
+ "value": 106885704
+ },
+ {
+ "date": "2014-03-08",
+ "value": 104838653
+ },
+ {
+ "date": "2014-03-09",
+ "value": 103884351
+ },
+ {
+ "date": "2014-03-10",
+ "value": 117445285
+ },
+ {
+ "date": "2014-03-11",
+ "value": 126193316
+ },
+ {
+ "date": "2014-03-12",
+ "value": 119012056
+ },
+ {
+ "date": "2014-03-13",
+ "value": 131149610
+ },
+ {
+ "date": "2014-03-14",
+ "value": 126886924
+ },
+ {
+ "date": "2014-03-15",
+ "value": 129937436
+ },
+ {
+ "date": "2014-03-16",
+ "value": 139663841
+ },
+ {
+ "date": "2014-03-17",
+ "value": 143331182
+ },
+ {
+ "date": "2014-03-18",
+ "value": 126935769
+ },
+ {
+ "date": "2014-03-19",
+ "value": 113844155
+ },
+ {
+ "date": "2014-03-20",
+ "value": 110360367
+ },
+ {
+ "date": "2014-03-21",
+ "value": 129320432
+ },
+ {
+ "date": "2014-03-22",
+ "value": 131909432
+ },
+ {
+ "date": "2014-03-23",
+ "value": 125033165
+ },
+ {
+ "date": "2014-03-24",
+ "value": 136642955
+ },
+ {
+ "date": "2014-03-25",
+ "value": 122678043
+ },
+ {
+ "date": "2014-03-26",
+ "value": 114541991
+ },
+ {
+ "date": "2014-03-27",
+ "value": 115593216
+ },
+ {
+ "date": "2014-03-28",
+ "value": 114127182
+ },
+ {
+ "date": "2014-03-29",
+ "value": 110959203
+ },
+ {
+ "date": "2014-03-30",
+ "value": 108933578
+ },
+ {
+ "date": "2014-03-31",
+ "value": 93673839
+ },
+ {
+ "date": "2014-04-01",
+ "value": 107371510
+ },
+ {
+ "date": "2014-04-02",
+ "value": 99025894
+ },
+ {
+ "date": "2014-04-03",
+ "value": 89663192
+ },
+ {
+ "date": "2014-04-04",
+ "value": 78628478
+ },
+ {
+ "date": "2014-04-05",
+ "value": 65319283
+ },
+ {
+ "date": "2014-04-06",
+ "value": 77274968
+ },
+ {
+ "date": "2014-04-07",
+ "value": 84998680
+ },
+ {
+ "date": "2014-04-08",
+ "value": 93109973
+ },
+ {
+ "date": "2014-04-09",
+ "value": 96142409
+ },
+ {
+ "date": "2014-04-10",
+ "value": 92968927
+ },
+ {
+ "date": "2014-04-11",
+ "value": 89943533
+ },
+ {
+ "date": "2014-04-12",
+ "value": 79218421
+ },
+ {
+ "date": "2014-04-13",
+ "value": 74473525
+ },
+ {
+ "date": "2014-04-14",
+ "value": 68466798
+ },
+ {
+ "date": "2014-04-15",
+ "value": 74822001
+ },
+ {
+ "date": "2014-04-16",
+ "value": 71042505
+ },
+ {
+ "date": "2014-04-17",
+ "value": 80304983
+ },
+ {
+ "date": "2014-04-18",
+ "value": 98256320
+ },
+ {
+ "date": "2014-04-19",
+ "value": 94119379
+ },
+ {
+ "date": "2014-04-20",
+ "value": 96317046
+ },
+ {
+ "date": "2014-04-21",
+ "value": 107713238
+ },
+ {
+ "date": "2014-04-22",
+ "value": 104198751
+ },
+ {
+ "date": "2014-04-23",
+ "value": 118067785
+ },
+ {
+ "date": "2014-04-24",
+ "value": 117588802
+ },
+ {
+ "date": "2014-04-25",
+ "value": 113531702
+ },
+ {
+ "date": "2014-04-26",
+ "value": 102600971
+ },
+ {
+ "date": "2014-04-27",
+ "value": 111673005
+ },
+ {
+ "date": "2014-04-28",
+ "value": 127277540
+ },
+ {
+ "date": "2014-04-29",
+ "value": 116293528
+ },
+ {
+ "date": "2014-04-30",
+ "value": 112996597
+ }
+ ],
+ [
+ {
+ "date": "2014-01-01",
+ "value": 10000000
+ },
+ {
+ "date": "2014-01-02",
+ "value": 18799730
+ },
+ {
+ "date": "2014-01-03",
+ "value": 19473940
+ },
+ {
+ "date": "2014-01-04",
+ "value": 10525870
+ },
+ {
+ "date": "2014-01-05",
+ "value": 14091093
+ },
+ {
+ "date": "2014-01-06",
+ "value": 18386751
+ },
+ {
+ "date": "2014-01-07",
+ "value": 14583144
+ },
+ {
+ "date": "2014-01-08",
+ "value": 11127715
+ },
+ {
+ "date": "2014-01-09",
+ "value": 10012266
+ },
+ {
+ "date": "2014-01-10",
+ "value": 12701837
+ },
+ {
+ "date": "2014-01-11",
+ "value": 10132088
+ },
+ {
+ "date": "2014-01-12",
+ "value": 10971355
+ },
+ {
+ "date": "2014-01-13",
+ "value": 11888475
+ },
+ {
+ "date": "2014-01-14",
+ "value": 17346078
+ },
+ {
+ "date": "2014-01-15",
+ "value": 15862579
+ },
+ {
+ "date": "2014-01-16",
+ "value": 28146101
+ },
+ {
+ "date": "2014-01-17",
+ "value": 24292265
+ },
+ {
+ "date": "2014-01-18",
+ "value": 20847335
+ },
+ {
+ "date": "2014-01-19",
+ "value": 22888522
+ },
+ {
+ "date": "2014-01-20",
+ "value": 28359283
+ },
+ {
+ "date": "2014-01-21",
+ "value": 29865424
+ },
+ {
+ "date": "2014-01-22",
+ "value": 21179246
+ },
+ {
+ "date": "2014-01-23",
+ "value": 27109526
+ },
+ {
+ "date": "2014-01-24",
+ "value": 23816935
+ },
+ {
+ "date": "2014-01-25",
+ "value": 26437013
+ },
+ {
+ "date": "2014-01-26",
+ "value": 22589568
+ },
+ {
+ "date": "2014-01-27",
+ "value": 23870725
+ },
+ {
+ "date": "2014-01-28",
+ "value": 23870726
+ },
+ {
+ "date": "2014-01-29",
+ "value": 23870727
+ },
+ {
+ "date": "2014-01-30",
+ "value": 23870728
+ },
+ {
+ "date": "2014-01-31",
+ "value": 23870729
+ },
+ {
+ "date": "2014-02-01",
+ "value": 33870720
+ },
+ {
+ "date": "2014-02-02",
+ "value": 33870721
+ },
+ {
+ "date": "2014-02-03",
+ "value": 33870722
+ },
+ {
+ "date": "2014-02-04",
+ "value": 33870723
+ },
+ {
+ "date": "2014-02-05",
+ "value": 23870728
+ },
+ {
+ "date": "2014-02-06",
+ "value": 23870727
+ },
+ {
+ "date": "2014-02-07",
+ "value": 33870725
+ },
+ {
+ "date": "2014-02-08",
+ "value": 33870724
+ },
+ {
+ "date": "2014-02-09",
+ "value": 23870728
+ },
+ {
+ "date": "2014-02-10",
+ "value": 33870725
+ },
+ {
+ "date": "2014-02-11",
+ "value": 33870726
+ },
+ {
+ "date": "2014-02-12",
+ "value": 38707214
+ },
+ {
+ "date": "2014-02-13",
+ "value": 38704213
+ },
+ {
+ "date": "2014-02-14",
+ "value": 38707226
+ },
+ {
+ "date": "2014-02-15",
+ "value": 38707287
+ },
+ {
+ "date": "2014-02-16",
+ "value": 33707246
+ },
+ {
+ "date": "2014-02-17",
+ "value": 33870757
+ },
+ {
+ "date": "2014-02-18",
+ "value": 33707268
+ },
+ {
+ "date": "2014-02-19",
+ "value": 38707277
+ },
+ {
+ "date": "2014-02-20",
+ "value": 33707288
+ },
+ {
+ "date": "2014-02-21",
+ "value": 48707290
+ },
+ {
+ "date": "2014-02-22",
+ "value": 48707201
+ },
+ {
+ "date": "2014-02-23",
+ "value": 43707212
+ },
+ {
+ "date": "2014-02-24",
+ "value": 43870223
+ },
+ {
+ "date": "2014-02-25",
+ "value": 48707234
+ },
+ {
+ "date": "2014-02-26",
+ "value": 48707240
+ },
+ {
+ "date": "2014-02-27",
+ "value": 48707201
+ },
+ {
+ "date": "2014-02-28",
+ "value": 48707265
+ },
+ {
+ "date": "2014-03-01",
+ "value": 48707274
+ },
+ {
+ "date": "2014-03-02",
+ "value": 48707224
+ },
+ {
+ "date": "2014-03-03",
+ "value": 48707225
+ },
+ {
+ "date": "2014-03-04",
+ "value": 48707206
+ },
+ {
+ "date": "2014-03-05",
+ "value": 48707296
+ },
+ {
+ "date": "2014-03-06",
+ "value": 48707207
+ },
+ {
+ "date": "2014-03-07",
+ "value": 48707226
+ },
+ {
+ "date": "2014-03-08",
+ "value": 48707207
+ },
+ {
+ "date": "2014-03-09",
+ "value": 48707208
+ },
+ {
+ "date": "2014-03-10",
+ "value": 48707207
+ },
+ {
+ "date": "2014-03-11",
+ "value": 48707207
+ },
+ {
+ "date": "2014-03-12",
+ "value": 48707108
+ },
+ {
+ "date": "2014-03-13",
+ "value": 48707708
+ },
+ {
+ "date": "2014-03-14",
+ "value": 48707808
+ },
+ {
+ "date": "2014-03-15",
+ "value": 48707108
+ },
+ {
+ "date": "2014-03-16",
+ "value": 48707408
+ },
+ {
+ "date": "2014-03-17",
+ "value": 48707608
+ },
+ {
+ "date": "2014-03-18",
+ "value": 48707708
+ },
+ {
+ "date": "2014-03-19",
+ "value": 44707208
+ },
+ {
+ "date": "2014-03-20",
+ "value": 49707298
+ },
+ {
+ "date": "2014-03-21",
+ "value": 41707278
+ },
+ {
+ "date": "2014-03-22",
+ "value": 42707218
+ },
+ {
+ "date": "2014-03-23",
+ "value": 42707258
+ },
+ {
+ "date": "2014-03-24",
+ "value": 47207268
+ },
+ {
+ "date": "2014-03-25",
+ "value": 40407208
+ },
+ {
+ "date": "2014-03-26",
+ "value": 43407208
+ },
+ {
+ "date": "2014-03-27",
+ "value": 42207508
+ },
+ {
+ "date": "2014-03-28",
+ "value": 42207509
+ },
+ {
+ "date": "2014-03-29",
+ "value": 52207500
+ },
+ {
+ "date": "2014-03-30",
+ "value": 52207501
+ },
+ {
+ "date": "2014-03-31",
+ "value": 52207502
+ },
+ {
+ "date": "2014-04-01",
+ "value": 52207503
+ },
+ {
+ "date": "2014-04-02",
+ "value": 52207504
+ },
+ {
+ "date": "2014-04-03",
+ "value": 52207502
+ },
+ {
+ "date": "2014-04-04",
+ "value": 52207505
+ },
+ {
+ "date": "2014-04-05",
+ "value": 53870728
+ },
+ {
+ "date": "2014-04-06",
+ "value": 53870726
+ },
+ {
+ "date": "2014-04-07",
+ "value": 53870725
+ },
+ {
+ "date": "2014-04-08",
+ "value": 53870728
+ },
+ {
+ "date": "2014-04-09",
+ "value": 53870729
+ },
+ {
+ "date": "2014-04-10",
+ "value": 63870720
+ },
+ {
+ "date": "2014-04-11",
+ "value": 63870721
+ },
+ {
+ "date": "2014-04-12",
+ "value": 63870722
+ },
+ {
+ "date": "2014-04-13",
+ "value": 63870723
+ },
+ {
+ "date": "2014-04-14",
+ "value": 63870724
+ },
+ {
+ "date": "2014-04-15",
+ "value": 63870725
+ },
+ {
+ "date": "2014-04-16",
+ "value": 63870726
+ },
+ {
+ "date": "2014-04-17",
+ "value": 63870727
+ },
+ {
+ "date": "2014-04-18",
+ "value": 63870728
+ },
+ {
+ "date": "2014-04-19",
+ "value": 63870729
+ },
+ {
+ "date": "2014-04-20",
+ "value": 73870720
+ },
+ {
+ "date": "2014-04-21",
+ "value": 73870721
+ },
+ {
+ "date": "2014-04-22",
+ "value": 73870722
+ },
+ {
+ "date": "2014-04-23",
+ "value": 73870723
+ },
+ {
+ "date": "2014-04-24",
+ "value": 73870724
+ },
+ {
+ "date": "2014-04-25",
+ "value": 73870725
+ },
+ {
+ "date": "2014-04-26",
+ "value": 73870666
+ },
+ {
+ "date": "2014-04-27",
+ "value": 73870727
+ },
+ {
+ "date": "2014-04-28",
+ "value": 73870738
+ },
+ {
+ "date": "2014-04-29",
+ "value": 73870749
+ },
+ {
+ "date": "2014-04-30",
+ "value": 83870710
+ }
+ ],
+ [
+ {
+ "date": "2014-01-01",
+ "value": 60000000
+ },
+ {
+ "date": "2014-01-02",
+ "value": 68799730
+ },
+ {
+ "date": "2014-01-03",
+ "value": 49473940
+ },
+ {
+ "date": "2014-01-04",
+ "value": 60525870
+ },
+ {
+ "date": "2014-01-05",
+ "value": 64091937
+ },
+ {
+ "date": "2014-01-06",
+ "value": 68386751
+ },
+ {
+ "date": "2014-01-07",
+ "value": 64583141
+ },
+ {
+ "date": "2014-01-08",
+ "value": 81127712
+ },
+ {
+ "date": "2014-01-09",
+ "value": 100122673
+ },
+ {
+ "date": "2014-01-10",
+ "value": 82701834
+ },
+ {
+ "date": "2014-01-11",
+ "value": 50132534
+ },
+ {
+ "date": "2014-01-12",
+ "value": 60971355
+ },
+ {
+ "date": "2014-01-13",
+ "value": 71888475
+ },
+ {
+ "date": "2014-01-14",
+ "value": 47304607
+ },
+ {
+ "date": "2014-01-15",
+ "value": 65860257
+ },
+ {
+ "date": "2014-01-16",
+ "value": 68146710
+ },
+ {
+ "date": "2014-01-17",
+ "value": 64292216
+ },
+ {
+ "date": "2014-01-18",
+ "value": 50847337
+ },
+ {
+ "date": "2014-01-19",
+ "value": 102888520
+ },
+ {
+ "date": "2014-01-20",
+ "value": 48359286
+ },
+ {
+ "date": "2014-01-21",
+ "value": 97986542
+ },
+ {
+ "date": "2014-01-22",
+ "value": 91179924
+ },
+ {
+ "date": "2014-01-23",
+ "value": 67109572
+ },
+ {
+ "date": "2014-01-24",
+ "value": 103816953
+ },
+ {
+ "date": "2014-01-25",
+ "value": 106437018
+ },
+ {
+ "date": "2014-01-26",
+ "value": 62589536
+ },
+ {
+ "date": "2014-01-27",
+ "value": 63870752
+ },
+ {
+ "date": "2014-01-28",
+ "value": 78677697
+ },
+ {
+ "date": "2014-01-29",
+ "value": 63082360
+ },
+ {
+ "date": "2014-01-30",
+ "value": 106135273
+ },
+ {
+ "date": "2014-01-31",
+ "value": 97716228
+ },
+ {
+ "date": "2014-02-01",
+ "value": 69668960
+ },
+ {
+ "date": "2014-02-02",
+ "value": 66560467
+ },
+ {
+ "date": "2014-02-03",
+ "value": 62632416
+ },
+ {
+ "date": "2014-02-04",
+ "value": 101790141
+ },
+ {
+ "date": "2014-02-05",
+ "value": 69824076
+ },
+ {
+ "date": "2014-02-06",
+ "value": 65496340
+ },
+ {
+ "date": "2014-02-07",
+ "value": 76861988
+ },
+ {
+ "date": "2014-02-08",
+ "value": 72693161
+ },
+ {
+ "date": "2014-02-09",
+ "value": 103779757
+ },
+ {
+ "date": "2014-02-10",
+ "value": 58907768
+ },
+ {
+ "date": "2014-02-11",
+ "value": 87799217
+ },
+ {
+ "date": "2014-02-12",
+ "value": 56781651
+ },
+ {
+ "date": "2014-02-13",
+ "value": 51247261
+ },
+ {
+ "date": "2014-02-14",
+ "value": 82783453
+ },
+ {
+ "date": "2014-02-15",
+ "value": 67501856
+ },
+ {
+ "date": "2014-02-16",
+ "value": 65170655
+ },
+ {
+ "date": "2014-02-17",
+ "value": 63625262
+ },
+ {
+ "date": "2014-02-18",
+ "value": 94841902
+ },
+ {
+ "date": "2014-02-19",
+ "value": 49230188
+ },
+ {
+ "date": "2014-02-20",
+ "value": 42192889
+ },
+ {
+ "date": "2014-02-21",
+ "value": 45903494
+ },
+ {
+ "date": "2014-02-22",
+ "value": 103475784
+ },
+ {
+ "date": "2014-02-23",
+ "value": 98763836
+ },
+ {
+ "date": "2014-02-24",
+ "value": 101488205
+ },
+ {
+ "date": "2014-02-25",
+ "value": 60137693
+ },
+ {
+ "date": "2014-02-26",
+ "value": 69207613
+ },
+ {
+ "date": "2014-02-27",
+ "value": 63627758
+ },
+ {
+ "date": "2014-02-28",
+ "value": 99696385
+ },
+ {
+ "date": "2014-03-01",
+ "value": 99254629
+ },
+ {
+ "date": "2014-03-02",
+ "value": 104733639
+ },
+ {
+ "date": "2014-03-03",
+ "value": 98265893
+ },
+ {
+ "date": "2014-03-04",
+ "value": 99990564
+ },
+ {
+ "date": "2014-03-05",
+ "value": 98016680
+ },
+ {
+ "date": "2014-03-06",
+ "value": 44543746
+ },
+ {
+ "date": "2014-03-07",
+ "value": 86885704
+ },
+ {
+ "date": "2014-03-08",
+ "value": 104838653
+ },
+ {
+ "date": "2014-03-09",
+ "value": 103884351
+ },
+ {
+ "date": "2014-03-10",
+ "value": 97445285
+ },
+ {
+ "date": "2014-03-11",
+ "value": 66193316
+ },
+ {
+ "date": "2014-03-12",
+ "value": 99012056
+ },
+ {
+ "date": "2014-03-13",
+ "value": 81149610
+ },
+ {
+ "date": "2014-03-14",
+ "value": 86886924
+ },
+ {
+ "date": "2014-03-15",
+ "value": 89937436
+ },
+ {
+ "date": "2014-03-16",
+ "value": 39663841
+ },
+ {
+ "date": "2014-03-17",
+ "value": 83331182
+ },
+ {
+ "date": "2014-03-18",
+ "value": 86935769
+ },
+ {
+ "date": "2014-03-19",
+ "value": 93844155
+ },
+ {
+ "date": "2014-03-20",
+ "value": 90360367
+ },
+ {
+ "date": "2014-03-21",
+ "value": 69320432
+ },
+ {
+ "date": "2014-03-22",
+ "value": 61909432
+ },
+ {
+ "date": "2014-03-23",
+ "value": 65033165
+ },
+ {
+ "date": "2014-03-24",
+ "value": 66642955
+ },
+ {
+ "date": "2014-03-25",
+ "value": 62678043
+ },
+ {
+ "date": "2014-03-26",
+ "value": 94541991
+ },
+ {
+ "date": "2014-03-27",
+ "value": 95593216
+ },
+ {
+ "date": "2014-03-28",
+ "value": 94127182
+ },
+ {
+ "date": "2014-03-29",
+ "value": 90959203
+ },
+ {
+ "date": "2014-03-30",
+ "value": 108933578
+ },
+ {
+ "date": "2014-03-31",
+ "value": 43673839
+ },
+ {
+ "date": "2014-04-01",
+ "value": 107371510
+ },
+ {
+ "date": "2014-04-02",
+ "value": 49025894
+ },
+ {
+ "date": "2014-04-03",
+ "value": 59663192
+ },
+ {
+ "date": "2014-04-04",
+ "value": 48628478
+ },
+ {
+ "date": "2014-04-05",
+ "value": 25319283
+ },
+ {
+ "date": "2014-04-06",
+ "value": 57274968
+ },
+ {
+ "date": "2014-04-07",
+ "value": 54998680
+ },
+ {
+ "date": "2014-04-08",
+ "value": 43109973
+ },
+ {
+ "date": "2014-04-09",
+ "value": 6142404
+ },
+ {
+ "date": "2014-04-10",
+ "value": 42968927
+ },
+ {
+ "date": "2014-04-11",
+ "value": 59943533
+ },
+ {
+ "date": "2014-04-12",
+ "value": 79218421
+ },
+ {
+ "date": "2014-04-13",
+ "value": 74473525
+ },
+ {
+ "date": "2014-04-14",
+ "value": 68466798
+ },
+ {
+ "date": "2014-04-15",
+ "value": 74822001
+ },
+ {
+ "date": "2014-04-16",
+ "value": 71042505
+ },
+ {
+ "date": "2014-04-17",
+ "value": 80304983
+ },
+ {
+ "date": "2014-04-18",
+ "value": 58256320
+ },
+ {
+ "date": "2014-04-19",
+ "value": 54119379
+ },
+ {
+ "date": "2014-04-20",
+ "value": 56317046
+ },
+ {
+ "date": "2014-04-21",
+ "value": 107713238
+ },
+ {
+ "date": "2014-04-22",
+ "value": 104198751
+ },
+ {
+ "date": "2014-04-23",
+ "value": 98067785
+ },
+ {
+ "date": "2014-04-24",
+ "value": 67588802
+ },
+ {
+ "date": "2014-04-25",
+ "value": 93531702
+ },
+ {
+ "date": "2014-04-26",
+ "value": 82600971
+ },
+ {
+ "date": "2014-04-27",
+ "value": 101673005
+ },
+ {
+ "date": "2014-04-28",
+ "value": 107277540
+ },
+ {
+ "date": "2014-04-29",
+ "value": 96293528
+ },
+ {
+ "date": "2014-04-30",
+ "value": 62996597
+ }
+ ]
+] \ No newline at end of file
diff --git a/priv/static/metrics-graphics-3.0-alpha3/examples/data/firefox_releases.json b/priv/static/metrics-graphics-3.0-alpha3/examples/data/firefox_releases.json
new file mode 100644
index 0000000..0c40fbe
--- /dev/null
+++ b/priv/static/metrics-graphics-3.0-alpha3/examples/data/firefox_releases.json
@@ -0,0 +1,168 @@
+{
+ "releases": [
+ {
+ "version": "30.0",
+ "date": "2014-06-01",
+ "end": "2014-08-01"
+ },
+ {
+ "version": "29.0",
+ "date": "2014-04-29",
+ "end": "2014-06-01"
+
+ },
+ {
+ "version": "28.0",
+ "date": "2014-03-18",
+ "end": "2014-04-29"
+ },
+ {
+ "version": "27.0",
+ "date": "2014-01-21",
+ "end": "2014-03-18"
+ },
+ {
+ "version": "26.0",
+ "date": "2013-12-10",
+ "end": "2014-01-21"
+ },
+ {
+ "version": "25.0",
+ "date": "2013-10-29",
+ "end": "2013-12-10"
+
+ },
+ {
+ "version": "24.0",
+ "date": "2013-09-17",
+ "end": "2013-10-29"
+
+ },
+ {
+ "version": "23.0",
+ "date": "2013-08-06",
+ "end": "2013-09-17"
+
+ },
+ {
+ "version": "22.0",
+ "date": "2013-06-25"
+ },
+ {
+ "version": "21.0",
+ "date": "2013-05-14"
+ },
+ {
+ "version": "20.0",
+ "date": "2013-04-02"
+ },
+ {
+ "version": "19.0",
+ "date": "2013-02-19"
+ },
+ {
+ "version": "18.0",
+ "date": "2013-01-08"
+ },
+ {
+ "version": "17.0.1",
+ "date": "2012-11-30"
+ },
+ {
+ "version": "17.0",
+ "date": "2012-11-20"
+ },
+ {
+ "version": "16.0.2",
+ "date": "2012-10-26"
+ },
+ {
+ "version": "16.0.1",
+ "date": "2012-10-11"
+ },
+ {
+ "version": "16.0",
+ "date": "2012-10-09"
+ },
+ {
+ "version": "15.0.1",
+ "date": "2012-09-06"
+ },
+ {
+ "version": "15.0",
+ "date": "2012-08-28"
+ },
+ {
+ "version": "14.0",
+ "date": "2012-07-17"
+ },
+ {
+ "version": "13.0.1",
+ "date": "2012-06-15"
+ },
+ {
+ "version": "13.0",
+ "date": "2012-06-05"
+ },
+ {
+ "version": "12.0",
+ "date": "2012-04-24"
+ },
+ {
+ "version": "11.0",
+ "date": "2012-03-13"
+ },
+ {
+ "version": "10.0",
+ "date": "2012-01-31"
+ },
+ {
+ "version": "9.0",
+ "date": "2011-12-20"
+ },
+ {
+ "version": "8.0",
+ "date": "2011-11-08"
+ },
+ {
+ "version": "7.0",
+ "date": "2011-09-27"
+ },
+ {
+ "version": "6.0",
+ "date": "2011-08-16"
+ },
+ {
+ "version": "5.0",
+ "date": "2011-06-21"
+ },
+ {
+ "version": "4.0",
+ "date": "2011-03-22"
+ },
+ {
+ "version": "3.6",
+ "date": "2010-01-21"
+ },
+ {
+ "version": "3.5",
+ "date": "2009-06-30"
+ },
+ {
+ "version": "3.0",
+ "date": "2008-06-17"
+ },
+ {
+ "version": "2.0",
+ "date": "2006-10-24"
+ },
+ {
+ "version": "1.5",
+ "date": "2005-11-29"
+ },
+ {
+ "version": "1.0",
+ "date": "2004-11-09"
+ }
+ ]
+}
diff --git a/priv/static/metrics-graphics-3.0-alpha3/examples/data/float.json b/priv/static/metrics-graphics-3.0-alpha3/examples/data/float.json
new file mode 100644
index 0000000..a799832
--- /dev/null
+++ b/priv/static/metrics-graphics-3.0-alpha3/examples/data/float.json
@@ -0,0 +1,802 @@
+[
+ {
+ "date": "2013-10-01",
+ "value": 150.0
+ },
+ {
+ "date": "2013-10-02",
+ "value": 152.38052769378947
+ },
+ {
+ "date": "2013-10-03",
+ "value": 154.26923077120756
+ },
+ {
+ "date": "2013-10-04",
+ "value": 155.37842413996768
+ },
+ {
+ "date": "2013-10-05",
+ "value": 154.91598408222126
+ },
+ {
+ "date": "2013-10-06",
+ "value": 155.6051503275322
+ },
+ {
+ "date": "2013-10-07",
+ "value": 156.020995422744
+ },
+ {
+ "date": "2013-10-08",
+ "value": 153.1518021247084
+ },
+ {
+ "date": "2013-10-09",
+ "value": 151.21729814562673
+ },
+ {
+ "date": "2013-10-10",
+ "value": 151.38433609966495
+ },
+ {
+ "date": "2013-10-11",
+ "value": 150.78872781927018
+ },
+ {
+ "date": "2013-10-12",
+ "value": 153.9134389141148
+ },
+ {
+ "date": "2013-10-13",
+ "value": 156.94601290283427
+ },
+ {
+ "date": "2013-10-14",
+ "value": 158.86305615638318
+ },
+ {
+ "date": "2013-10-15",
+ "value": 159.25111032644563
+ },
+ {
+ "date": "2013-10-16",
+ "value": 157.70892050744425
+ },
+ {
+ "date": "2013-10-17",
+ "value": 156.5166885320253
+ },
+ {
+ "date": "2013-10-18",
+ "value": 159.2391477211863
+ },
+ {
+ "date": "2013-10-19",
+ "value": 156.15457859306844
+ },
+ {
+ "date": "2013-10-20",
+ "value": 157.32962414620647
+ },
+ {
+ "date": "2013-10-21",
+ "value": 153.83264840368938
+ },
+ {
+ "date": "2013-10-22",
+ "value": 152.8551947020626
+ },
+ {
+ "date": "2013-10-23",
+ "value": 153.38853405036897
+ },
+ {
+ "date": "2013-10-24",
+ "value": 152.93427670642123
+ },
+ {
+ "date": "2013-10-25",
+ "value": 153.1469976790017
+ },
+ {
+ "date": "2013-10-26",
+ "value": 156.32209665860327
+ },
+ {
+ "date": "2013-10-27",
+ "value": 155.3284262677578
+ },
+ {
+ "date": "2013-10-28",
+ "value": 154.90051183690736
+ },
+ {
+ "date": "2013-10-29",
+ "value": 152.21341963762546
+ },
+ {
+ "date": "2013-10-30",
+ "value": 154.8384882355127
+ },
+ {
+ "date": "2013-10-31",
+ "value": 153.49778206006178
+ },
+ {
+ "date": "2013-11-01",
+ "value": 150.69077772414497
+ },
+ {
+ "date": "2013-11-02",
+ "value": 148.3688534222137
+ },
+ {
+ "date": "2013-11-03",
+ "value": 147.1517262760622
+ },
+ {
+ "date": "2013-11-04",
+ "value": 146.64232264462947
+ },
+ {
+ "date": "2013-11-05",
+ "value": 143.7977476766292
+ },
+ {
+ "date": "2013-11-06",
+ "value": 142.82657667368557
+ },
+ {
+ "date": "2013-11-07",
+ "value": 144.37296514065383
+ },
+ {
+ "date": "2013-11-08",
+ "value": 145.59894477345333
+ },
+ {
+ "date": "2013-11-09",
+ "value": 145.88560250329667
+ },
+ {
+ "date": "2013-11-10",
+ "value": 148.28518729606375
+ },
+ {
+ "date": "2013-11-11",
+ "value": 147.02769155090894
+ },
+ {
+ "date": "2013-11-12",
+ "value": 146.69585270653417
+ },
+ {
+ "date": "2013-11-13",
+ "value": 145.45574401363186
+ },
+ {
+ "date": "2013-11-14",
+ "value": 148.18505057473558
+ },
+ {
+ "date": "2013-11-15",
+ "value": 148.36757870086083
+ },
+ {
+ "date": "2013-11-16",
+ "value": 145.1284637176675
+ },
+ {
+ "date": "2013-11-17",
+ "value": 143.38783013080223
+ },
+ {
+ "date": "2013-11-18",
+ "value": 145.58507244067314
+ },
+ {
+ "date": "2013-11-19",
+ "value": 148.16482741338075
+ },
+ {
+ "date": "2013-11-20",
+ "value": 151.30824629651008
+ },
+ {
+ "date": "2013-11-21",
+ "value": 148.94149732547913
+ },
+ {
+ "date": "2013-11-22",
+ "value": 149.08060427013632
+ },
+ {
+ "date": "2013-11-23",
+ "value": 151.10349313471838
+ },
+ {
+ "date": "2013-11-24",
+ "value": 151.38042365227193
+ },
+ {
+ "date": "2013-11-25",
+ "value": 153.61246750490707
+ },
+ {
+ "date": "2013-11-26",
+ "value": 152.3819387058022
+ },
+ {
+ "date": "2013-11-27",
+ "value": 154.7666777810689
+ },
+ {
+ "date": "2013-11-28",
+ "value": 156.20049982296294
+ },
+ {
+ "date": "2013-11-29",
+ "value": 157.60570664431154
+ },
+ {
+ "date": "2013-11-30",
+ "value": 158.83110208147457
+ },
+ {
+ "date": "2013-12-01",
+ "value": 157.05145284891836
+ },
+ {
+ "date": "2013-12-02",
+ "value": 160.5636817325332
+ },
+ {
+ "date": "2013-12-03",
+ "value": 158.52309803850414
+ },
+ {
+ "date": "2013-12-04",
+ "value": 159.5481262069485
+ },
+ {
+ "date": "2013-12-05",
+ "value": 162.66665660028468
+ },
+ {
+ "date": "2013-12-06",
+ "value": 164.14412262081478
+ },
+ {
+ "date": "2013-12-07",
+ "value": 167.24305427243902
+ },
+ {
+ "date": "2013-12-08",
+ "value": 167.26032062671646
+ },
+ {
+ "date": "2013-12-09",
+ "value": 168.74492234114962
+ },
+ {
+ "date": "2013-12-10",
+ "value": 165.37752588946347
+ },
+ {
+ "date": "2013-12-11",
+ "value": 166.97673724876898
+ },
+ {
+ "date": "2013-12-12",
+ "value": 165.24083072211786
+ },
+ {
+ "date": "2013-12-13",
+ "value": 163.91840295642777
+ },
+ {
+ "date": "2013-12-14",
+ "value": 161.21392266343142
+ },
+ {
+ "date": "2013-12-15",
+ "value": 161.09086330318053
+ },
+ {
+ "date": "2013-12-16",
+ "value": 159.72436012634117
+ },
+ {
+ "date": "2013-12-17",
+ "value": 162.92718203581796
+ },
+ {
+ "date": "2013-12-18",
+ "value": 166.05289239617858
+ },
+ {
+ "date": "2013-12-19",
+ "value": 167.8303488173302
+ },
+ {
+ "date": "2013-12-20",
+ "value": 169.1076706115558
+ },
+ {
+ "date": "2013-12-21",
+ "value": 172.18214540311942
+ },
+ {
+ "date": "2013-12-22",
+ "value": 173.60361186108835
+ },
+ {
+ "date": "2013-12-23",
+ "value": 170.3333738357524
+ },
+ {
+ "date": "2013-12-24",
+ "value": 171.44904351284399
+ },
+ {
+ "date": "2013-12-25",
+ "value": 171.4237348889382
+ },
+ {
+ "date": "2013-12-26",
+ "value": 170.63558145007596
+ },
+ {
+ "date": "2013-12-27",
+ "value": 168.67744459688063
+ },
+ {
+ "date": "2013-12-28",
+ "value": 170.87359507435463
+ },
+ {
+ "date": "2013-12-29",
+ "value": 170.91071470721673
+ },
+ {
+ "date": "2013-12-30",
+ "value": 173.52457327401646
+ },
+ {
+ "date": "2013-12-31",
+ "value": 175.89856657641783
+ },
+ {
+ "date": "2014-01-01",
+ "value": 175.9115683446306
+ },
+ {
+ "date": "2014-01-02",
+ "value": 178.12945782320122
+ },
+ {
+ "date": "2014-01-03",
+ "value": 179.9335431435273
+ },
+ {
+ "date": "2014-01-04",
+ "value": 180.4112576197819
+ },
+ {
+ "date": "2014-01-05",
+ "value": 179.7701613992972
+ },
+ {
+ "date": "2014-01-06",
+ "value": 177.4686229951754
+ },
+ {
+ "date": "2014-01-07",
+ "value": 175.172988264621
+ },
+ {
+ "date": "2014-01-08",
+ "value": 172.89816035941323
+ },
+ {
+ "date": "2014-01-09",
+ "value": 169.32566831004084
+ },
+ {
+ "date": "2014-01-10",
+ "value": 166.200899808268
+ },
+ {
+ "date": "2014-01-11",
+ "value": 163.47733139260433
+ },
+ {
+ "date": "2014-01-12",
+ "value": 166.14564943514935
+ },
+ {
+ "date": "2014-01-13",
+ "value": 162.6972855825834
+ },
+ {
+ "date": "2014-01-14",
+ "value": 163.8285391707244
+ },
+ {
+ "date": "2014-01-15",
+ "value": 162.83765973354699
+ },
+ {
+ "date": "2014-01-16",
+ "value": 159.48461419107502
+ },
+ {
+ "date": "2014-01-17",
+ "value": 158.38069135440546
+ },
+ {
+ "date": "2014-01-18",
+ "value": 159.36210753864273
+ },
+ {
+ "date": "2014-01-19",
+ "value": 155.9389059732206
+ },
+ {
+ "date": "2014-01-20",
+ "value": 159.44340217055645
+ },
+ {
+ "date": "2014-01-21",
+ "value": 157.1252301818101
+ },
+ {
+ "date": "2014-01-22",
+ "value": 155.0515461360151
+ },
+ {
+ "date": "2014-01-23",
+ "value": 154.31662985182166
+ },
+ {
+ "date": "2014-01-24",
+ "value": 156.2405729119896
+ },
+ {
+ "date": "2014-01-25",
+ "value": 154.4303911259191
+ },
+ {
+ "date": "2014-01-26",
+ "value": 156.96007254763632
+ },
+ {
+ "date": "2014-01-27",
+ "value": 156.88984607757212
+ },
+ {
+ "date": "2014-01-28",
+ "value": 158.46953270592533
+ },
+ {
+ "date": "2014-01-29",
+ "value": 159.9760971292252
+ },
+ {
+ "date": "2014-01-30",
+ "value": 158.6064520244421
+ },
+ {
+ "date": "2014-01-31",
+ "value": 159.30396031924434
+ },
+ {
+ "date": "2014-02-01",
+ "value": 158.27130616930083
+ },
+ {
+ "date": "2014-02-02",
+ "value": 156.76310105114038
+ },
+ {
+ "date": "2014-02-03",
+ "value": 158.01962557788505
+ },
+ {
+ "date": "2014-02-04",
+ "value": 155.5601666102677
+ },
+ {
+ "date": "2014-02-05",
+ "value": 152.5655582330515
+ },
+ {
+ "date": "2014-02-06",
+ "value": 153.83308497210635
+ },
+ {
+ "date": "2014-02-07",
+ "value": 155.0906250736871
+ },
+ {
+ "date": "2014-02-08",
+ "value": 156.6661412607239
+ },
+ {
+ "date": "2014-02-09",
+ "value": 154.487982130377
+ },
+ {
+ "date": "2014-02-10",
+ "value": 151.80870052397174
+ },
+ {
+ "date": "2014-02-11",
+ "value": 152.6566948046261
+ },
+ {
+ "date": "2014-02-12",
+ "value": 153.3776096334368
+ },
+ {
+ "date": "2014-02-13",
+ "value": 151.52116899747688
+ },
+ {
+ "date": "2014-02-14",
+ "value": 154.99799005974643
+ },
+ {
+ "date": "2014-02-15",
+ "value": 153.78962974183693
+ },
+ {
+ "date": "2014-02-16",
+ "value": 155.5614787876006
+ },
+ {
+ "date": "2014-02-17",
+ "value": 155.50672366114722
+ },
+ {
+ "date": "2014-02-18",
+ "value": 155.2247468326664
+ },
+ {
+ "date": "2014-02-19",
+ "value": 157.04530694488096
+ },
+ {
+ "date": "2014-02-20",
+ "value": 159.7683676258508
+ },
+ {
+ "date": "2014-02-21",
+ "value": 156.19049862244253
+ },
+ {
+ "date": "2014-02-22",
+ "value": 157.77626968451625
+ },
+ {
+ "date": "2014-02-23",
+ "value": 157.85540343546958
+ },
+ {
+ "date": "2014-02-24",
+ "value": 157.606624912295
+ },
+ {
+ "date": "2014-02-25",
+ "value": 154.29310962212645
+ },
+ {
+ "date": "2014-02-26",
+ "value": 151.47520450013815
+ },
+ {
+ "date": "2014-02-27",
+ "value": 153.29471917494737
+ },
+ {
+ "date": "2014-02-28",
+ "value": 156.704724984211
+ },
+ {
+ "date": "2014-03-01",
+ "value": 155.04358060019956
+ },
+ {
+ "date": "2014-03-02",
+ "value": 153.2334356350558
+ },
+ {
+ "date": "2014-03-03",
+ "value": 152.03821354498334
+ },
+ {
+ "date": "2014-03-04",
+ "value": 154.19199847895723
+ },
+ {
+ "date": "2014-03-05",
+ "value": 152.06664190112994
+ },
+ {
+ "date": "2014-03-06",
+ "value": 153.2986037364113
+ },
+ {
+ "date": "2014-03-07",
+ "value": 156.4046061310383
+ },
+ {
+ "date": "2014-03-08",
+ "value": 154.42925835672014
+ },
+ {
+ "date": "2014-03-09",
+ "value": 155.18025911896245
+ },
+ {
+ "date": "2014-03-10",
+ "value": 153.37647431770608
+ },
+ {
+ "date": "2014-03-11",
+ "value": 150.61799083023823
+ },
+ {
+ "date": "2014-03-12",
+ "value": 153.66746188173215
+ },
+ {
+ "date": "2014-03-13",
+ "value": 156.3151844520418
+ },
+ {
+ "date": "2014-03-14",
+ "value": 153.95015669138036
+ },
+ {
+ "date": "2014-03-15",
+ "value": 155.29282634003127
+ },
+ {
+ "date": "2014-03-16",
+ "value": 158.5090157803603
+ },
+ {
+ "date": "2014-03-17",
+ "value": 155.14902966934457
+ },
+ {
+ "date": "2014-03-18",
+ "value": 156.85877093764927
+ },
+ {
+ "date": "2014-03-19",
+ "value": 159.97825057884495
+ },
+ {
+ "date": "2014-03-20",
+ "value": 160.0756240788441
+ },
+ {
+ "date": "2014-03-21",
+ "value": 163.71251312564075
+ },
+ {
+ "date": "2014-03-22",
+ "value": 160.35896864910785
+ },
+ {
+ "date": "2014-03-23",
+ "value": 159.6979743839615
+ },
+ {
+ "date": "2014-03-24",
+ "value": 160.64504978193472
+ },
+ {
+ "date": "2014-03-25",
+ "value": 161.35500716559707
+ },
+ {
+ "date": "2014-03-26",
+ "value": 160.2606961200085
+ },
+ {
+ "date": "2014-03-27",
+ "value": 158.57932628000506
+ },
+ {
+ "date": "2014-03-28",
+ "value": 161.07173063651766
+ },
+ {
+ "date": "2014-03-29",
+ "value": 164.7598991714389
+ },
+ {
+ "date": "2014-03-30",
+ "value": 165.51463489538983
+ },
+ {
+ "date": "2014-03-31",
+ "value": 168.03477347136803
+ },
+ {
+ "date": "2014-04-01",
+ "value": 164.8919155855522
+ },
+ {
+ "date": "2014-04-02",
+ "value": 162.43871270413882
+ },
+ {
+ "date": "2014-04-03",
+ "value": 160.56491168480784
+ },
+ {
+ "date": "2014-04-04",
+ "value": 160.6231106692656
+ },
+ {
+ "date": "2014-04-05",
+ "value": 158.51347739227052
+ },
+ {
+ "date": "2014-04-06",
+ "value": 157.05813234785617
+ },
+ {
+ "date": "2014-04-07",
+ "value": 159.7471186342081
+ },
+ {
+ "date": "2014-04-08",
+ "value": 161.25579641704525
+ },
+ {
+ "date": "2014-04-09",
+ "value": 161.35157834105863
+ },
+ {
+ "date": "2014-04-10",
+ "value": 164.93059854718956
+ },
+ {
+ "date": "2014-04-11",
+ "value": 162.2509201417386
+ },
+ {
+ "date": "2014-04-12",
+ "value": 162.73580527992038
+ },
+ {
+ "date": "2014-04-13",
+ "value": 166.48398412407607
+ },
+ {
+ "date": "2014-04-14",
+ "value": 163.15310481696565
+ },
+ {
+ "date": "2014-04-15",
+ "value": 164.5079907470571
+ },
+ {
+ "date": "2014-04-16",
+ "value": 164.2005466198294
+ },
+ {
+ "date": "2014-04-17",
+ "value": 165.77632203055697
+ },
+ {
+ "date": "2014-04-18",
+ "value": 168.99155761340631
+ }
+] \ No newline at end of file
diff --git a/priv/static/metrics-graphics-3.0-alpha3/examples/data/log.json b/priv/static/metrics-graphics-3.0-alpha3/examples/data/log.json
new file mode 100644
index 0000000..1f57231
--- /dev/null
+++ b/priv/static/metrics-graphics-3.0-alpha3/examples/data/log.json
@@ -0,0 +1,802 @@
+[
+ {
+ "date": "2014-01-01",
+ "value": 2062.025150690567
+ },
+ {
+ "date": "2014-01-02",
+ "value": 9490.615524570567
+ },
+ {
+ "date": "2014-01-03",
+ "value": 49143.35242208582
+ },
+ {
+ "date": "2014-01-04",
+ "value": 83781.24929181556
+ },
+ {
+ "date": "2014-01-05",
+ "value": 109648.70666620035
+ },
+ {
+ "date": "2014-01-06",
+ "value": 46173.741222724544
+ },
+ {
+ "date": "2014-01-07",
+ "value": 165309.1825970328
+ },
+ {
+ "date": "2014-01-08",
+ "value": 134390.76197886752
+ },
+ {
+ "date": "2014-01-09",
+ "value": 382245.0764417244
+ },
+ {
+ "date": "2014-01-10",
+ "value": 261951.04021767154
+ },
+ {
+ "date": "2014-01-11",
+ "value": 365476.76967184874
+ },
+ {
+ "date": "2014-01-12",
+ "value": 307933.33112867293
+ },
+ {
+ "date": "2014-01-13",
+ "value": 122142.84412918231
+ },
+ {
+ "date": "2014-01-14",
+ "value": 439273.6427485952
+ },
+ {
+ "date": "2014-01-15",
+ "value": 283379.5623780852
+ },
+ {
+ "date": "2014-01-16",
+ "value": 238943.45026934962
+ },
+ {
+ "date": "2014-01-17",
+ "value": 363906.78317270277
+ },
+ {
+ "date": "2014-01-18",
+ "value": 1018001.8313018363
+ },
+ {
+ "date": "2014-01-19",
+ "value": 1138159.039774829
+ },
+ {
+ "date": "2014-01-20",
+ "value": 316399.43565288646
+ },
+ {
+ "date": "2014-01-21",
+ "value": 94835.07271610542
+ },
+ {
+ "date": "2014-01-22",
+ "value": 18781.513209857534
+ },
+ {
+ "date": "2014-01-23",
+ "value": 18249.48928239598
+ },
+ {
+ "date": "2014-01-24",
+ "value": 3999.643726105876
+ },
+ {
+ "date": "2014-01-25",
+ "value": 14221.763703455596
+ },
+ {
+ "date": "2014-01-26",
+ "value": 3444.9725583557893
+ },
+ {
+ "date": "2014-01-27",
+ "value": 7147.116251563855
+ },
+ {
+ "date": "2014-01-28",
+ "value": 14502.314013448287
+ },
+ {
+ "date": "2014-01-29",
+ "value": 44911.76232177228
+ },
+ {
+ "date": "2014-01-30",
+ "value": 122174.22764316449
+ },
+ {
+ "date": "2014-01-31",
+ "value": 54225.475099677475
+ },
+ {
+ "date": "2014-02-01",
+ "value": 29195.867918886433
+ },
+ {
+ "date": "2014-02-02",
+ "value": 30485.050577153477
+ },
+ {
+ "date": "2014-02-03",
+ "value": 4960.742108121759
+ },
+ {
+ "date": "2014-02-04",
+ "value": 5814.4040147487185
+ },
+ {
+ "date": "2014-02-05",
+ "value": 2075.4863124795897
+ },
+ {
+ "date": "2014-02-06",
+ "value": 11365.620177539273
+ },
+ {
+ "date": "2014-02-07",
+ "value": 6818.763378635227
+ },
+ {
+ "date": "2014-02-08",
+ "value": 7265.042372143863
+ },
+ {
+ "date": "2014-02-09",
+ "value": 1288.1919040639705
+ },
+ {
+ "date": "2014-02-10",
+ "value": 2903.318504081354
+ },
+ {
+ "date": "2014-02-11",
+ "value": 3476.3564765091846
+ },
+ {
+ "date": "2014-02-12",
+ "value": 428.6416126782084
+ },
+ {
+ "date": "2014-02-13",
+ "value": 4566.4372898258425
+ },
+ {
+ "date": "2014-02-14",
+ "value": 711.2536837438607
+ },
+ {
+ "date": "2014-02-15",
+ "value": 384.520808469771
+ },
+ {
+ "date": "2014-02-16",
+ "value": 126.37136078741982
+ },
+ {
+ "date": "2014-02-17",
+ "value": 1709.721519931354
+ },
+ {
+ "date": "2014-02-18",
+ "value": 10148.81839728999
+ },
+ {
+ "date": "2014-02-19",
+ "value": 3819.8318150089253
+ },
+ {
+ "date": "2014-02-20",
+ "value": 1911.5698109115874
+ },
+ {
+ "date": "2014-02-21",
+ "value": 1237.0465606485475
+ },
+ {
+ "date": "2014-02-22",
+ "value": 82.83456054447824
+ },
+ {
+ "date": "2014-02-23",
+ "value": 247.0567207206995
+ },
+ {
+ "date": "2014-02-24",
+ "value": 2203.4022567407605
+ },
+ {
+ "date": "2014-02-25",
+ "value": 200.68097764702628
+ },
+ {
+ "date": "2014-02-26",
+ "value": 1121.5673568474388
+ },
+ {
+ "date": "2014-02-27",
+ "value": 627.5130197784911
+ },
+ {
+ "date": "2014-02-28",
+ "value": 1962.9915978862207
+ },
+ {
+ "date": "2014-03-01",
+ "value": 4167.075152352931
+ },
+ {
+ "date": "2014-03-02",
+ "value": 3849.2422430353718
+ },
+ {
+ "date": "2014-03-03",
+ "value": 26024.15104428929
+ },
+ {
+ "date": "2014-03-04",
+ "value": 45516.77289686834
+ },
+ {
+ "date": "2014-03-05",
+ "value": 7027.573697798366
+ },
+ {
+ "date": "2014-03-06",
+ "value": 17669.906070121062
+ },
+ {
+ "date": "2014-03-07",
+ "value": 31044.119274296314
+ },
+ {
+ "date": "2014-03-08",
+ "value": 16408.707887136083
+ },
+ {
+ "date": "2014-03-09",
+ "value": 3892.134863935774
+ },
+ {
+ "date": "2014-03-10",
+ "value": 11938.967226184868
+ },
+ {
+ "date": "2014-03-11",
+ "value": 1553.5233934189364
+ },
+ {
+ "date": "2014-03-12",
+ "value": 11862.515702018087
+ },
+ {
+ "date": "2014-03-13",
+ "value": 11158.305407269254
+ },
+ {
+ "date": "2014-03-14",
+ "value": 1334.4016354870455
+ },
+ {
+ "date": "2014-03-15",
+ "value": 2187.7480927633233
+ },
+ {
+ "date": "2014-03-16",
+ "value": 4024.375328815201
+ },
+ {
+ "date": "2014-03-17",
+ "value": 2395.3870463434037
+ },
+ {
+ "date": "2014-03-18",
+ "value": 1087.1435238277254
+ },
+ {
+ "date": "2014-03-19",
+ "value": 677.9406955253385
+ },
+ {
+ "date": "2014-03-20",
+ "value": 1684.7330261245882
+ },
+ {
+ "date": "2014-03-21",
+ "value": 3009.7657573084657
+ },
+ {
+ "date": "2014-03-22",
+ "value": 13969.174225175822
+ },
+ {
+ "date": "2014-03-23",
+ "value": 68108.10656837105
+ },
+ {
+ "date": "2014-03-24",
+ "value": 188573.87239187933
+ },
+ {
+ "date": "2014-03-25",
+ "value": 559783.3612696081
+ },
+ {
+ "date": "2014-03-26",
+ "value": 209480.2451268065
+ },
+ {
+ "date": "2014-03-27",
+ "value": 139144.43213947577
+ },
+ {
+ "date": "2014-03-28",
+ "value": 365608.9134261734
+ },
+ {
+ "date": "2014-03-29",
+ "value": 320844.7892292448
+ },
+ {
+ "date": "2014-03-30",
+ "value": 211943.9255856596
+ },
+ {
+ "date": "2014-03-31",
+ "value": 762121.6146144189
+ },
+ {
+ "date": "2014-04-01",
+ "value": 1553918.287468606
+ },
+ {
+ "date": "2014-04-02",
+ "value": 2776190.8340374744
+ },
+ {
+ "date": "2014-04-03",
+ "value": 2132982.883619252
+ },
+ {
+ "date": "2014-04-04",
+ "value": 3034471.5222186935
+ },
+ {
+ "date": "2014-04-05",
+ "value": 8334267.184667878
+ },
+ {
+ "date": "2014-04-06",
+ "value": 19096849.199135397
+ },
+ {
+ "date": "2014-04-07",
+ "value": 35173655.63395549
+ },
+ {
+ "date": "2014-04-08",
+ "value": 35284088.03655991
+ },
+ {
+ "date": "2014-04-09",
+ "value": 15386352.945048828
+ },
+ {
+ "date": "2014-04-10",
+ "value": 16092176.925682666
+ },
+ {
+ "date": "2014-04-11",
+ "value": 17800747.264360324
+ },
+ {
+ "date": "2014-04-12",
+ "value": 9022272.93207202
+ },
+ {
+ "date": "2014-04-13",
+ "value": 19539255.318293292
+ },
+ {
+ "date": "2014-04-14",
+ "value": 18632765.170638006
+ },
+ {
+ "date": "2014-04-15",
+ "value": 22207773.697823893
+ },
+ {
+ "date": "2014-04-16",
+ "value": 20513350.14760112
+ },
+ {
+ "date": "2014-04-17",
+ "value": 8644588.740459614
+ },
+ {
+ "date": "2014-04-18",
+ "value": 3866972.7646409343
+ },
+ {
+ "date": "2014-04-19",
+ "value": 8627791.327706825
+ },
+ {
+ "date": "2014-04-20",
+ "value": 21876288.3070209
+ },
+ {
+ "date": "2014-04-21",
+ "value": 13065156.692366121
+ },
+ {
+ "date": "2014-04-22",
+ "value": 7006977.18803938
+ },
+ {
+ "date": "2014-04-23",
+ "value": 7322004.070875965
+ },
+ {
+ "date": "2014-04-24",
+ "value": 9144087.906869492
+ },
+ {
+ "date": "2014-04-25",
+ "value": 15712634.308609735
+ },
+ {
+ "date": "2014-04-26",
+ "value": 11675332.990584275
+ },
+ {
+ "date": "2014-04-27",
+ "value": 5276441.428244869
+ },
+ {
+ "date": "2014-04-28",
+ "value": 2098065.0498573617
+ },
+ {
+ "date": "2014-04-29",
+ "value": 4274196.893315845
+ },
+ {
+ "date": "2014-04-30",
+ "value": 6837182.692798125
+ },
+ {
+ "date": "2014-05-01",
+ "value": 5762561.20563913
+ },
+ {
+ "date": "2014-05-02",
+ "value": 8597818.493391953
+ },
+ {
+ "date": "2014-05-03",
+ "value": 15162543.40157677
+ },
+ {
+ "date": "2014-05-04",
+ "value": 10330812.046296848
+ },
+ {
+ "date": "2014-05-05",
+ "value": 8535447.031729257
+ },
+ {
+ "date": "2014-05-06",
+ "value": 3486240.413358828
+ },
+ {
+ "date": "2014-05-07",
+ "value": 2402788.773306244
+ },
+ {
+ "date": "2014-05-08",
+ "value": 2289950.291292259
+ },
+ {
+ "date": "2014-05-09",
+ "value": 3518464.1366947945
+ },
+ {
+ "date": "2014-05-10",
+ "value": 2218638.123249026
+ },
+ {
+ "date": "2014-05-11",
+ "value": 3024707.6308568935
+ },
+ {
+ "date": "2014-05-12",
+ "value": 1481284.8173510565
+ },
+ {
+ "date": "2014-05-13",
+ "value": 3804459.7482742644
+ },
+ {
+ "date": "2014-05-14",
+ "value": 3166547.5499812495
+ },
+ {
+ "date": "2014-05-15",
+ "value": 1244140.8712990445
+ },
+ {
+ "date": "2014-05-16",
+ "value": 1176461.8065991711
+ },
+ {
+ "date": "2014-05-17",
+ "value": 348538.1604919795
+ },
+ {
+ "date": "2014-05-18",
+ "value": 630138.4502415754
+ },
+ {
+ "date": "2014-05-19",
+ "value": 263415.04074479925
+ },
+ {
+ "date": "2014-05-20",
+ "value": 316526.39152859966
+ },
+ {
+ "date": "2014-05-21",
+ "value": 429475.93857651815
+ },
+ {
+ "date": "2014-05-22",
+ "value": 1384523.2440813945
+ },
+ {
+ "date": "2014-05-23",
+ "value": 1422251.2082510514
+ },
+ {
+ "date": "2014-05-24",
+ "value": 2982780.2273946116
+ },
+ {
+ "date": "2014-05-25",
+ "value": 1592004.698676512
+ },
+ {
+ "date": "2014-05-26",
+ "value": 705823.7238808231
+ },
+ {
+ "date": "2014-05-27",
+ "value": 382341.76239653886
+ },
+ {
+ "date": "2014-05-28",
+ "value": 117304.37608341743
+ },
+ {
+ "date": "2014-05-29",
+ "value": 103270.103426627
+ },
+ {
+ "date": "2014-05-30",
+ "value": 189088.38503418514
+ },
+ {
+ "date": "2014-05-31",
+ "value": 67547.73907513174
+ },
+ {
+ "date": "2014-06-01",
+ "value": 152445.22088057562
+ },
+ {
+ "date": "2014-06-02",
+ "value": 616622.4572364822
+ },
+ {
+ "date": "2014-06-03",
+ "value": 1330103.0525501214
+ },
+ {
+ "date": "2014-06-04",
+ "value": 4077706.361059827
+ },
+ {
+ "date": "2014-06-05",
+ "value": 4338332.117707394
+ },
+ {
+ "date": "2014-06-06",
+ "value": 9626054.268217776
+ },
+ {
+ "date": "2014-06-07",
+ "value": 6269805.105786423
+ },
+ {
+ "date": "2014-06-08",
+ "value": 2834343.2338959207
+ },
+ {
+ "date": "2014-06-09",
+ "value": 2175015.158688689
+ },
+ {
+ "date": "2014-06-10",
+ "value": 812456.163680258
+ },
+ {
+ "date": "2014-06-11",
+ "value": 2175163.4473366365
+ },
+ {
+ "date": "2014-06-12",
+ "value": 3808510.5886766836
+ },
+ {
+ "date": "2014-06-13",
+ "value": 5640689.343213645
+ },
+ {
+ "date": "2014-06-14",
+ "value": 4790537.231192042
+ },
+ {
+ "date": "2014-06-15",
+ "value": 4120824.1460910775
+ },
+ {
+ "date": "2014-06-16",
+ "value": 5302994.492796655
+ },
+ {
+ "date": "2014-06-17",
+ "value": 5186664.730492513
+ },
+ {
+ "date": "2014-06-18",
+ "value": 4044030.4941446534
+ },
+ {
+ "date": "2014-06-19",
+ "value": 8581214.856586913
+ },
+ {
+ "date": "2014-06-20",
+ "value": 15013739.74932458
+ },
+ {
+ "date": "2014-06-21",
+ "value": 5719554.417262289
+ },
+ {
+ "date": "2014-06-22",
+ "value": 2453002.234262133
+ },
+ {
+ "date": "2014-06-23",
+ "value": 7264081.292628654
+ },
+ {
+ "date": "2014-06-24",
+ "value": 3809522.1941388543
+ },
+ {
+ "date": "2014-06-25",
+ "value": 2357350.1101749516
+ },
+ {
+ "date": "2014-06-26",
+ "value": 1451776.5422490966
+ },
+ {
+ "date": "2014-06-27",
+ "value": 1951158.0790648684
+ },
+ {
+ "date": "2014-06-28",
+ "value": 942477.7660032308
+ },
+ {
+ "date": "2014-06-29",
+ "value": 284438.3044602669
+ },
+ {
+ "date": "2014-06-30",
+ "value": 395774.63111623266
+ },
+ {
+ "date": "2014-07-01",
+ "value": 181209.66166852613
+ },
+ {
+ "date": "2014-07-02",
+ "value": 99093.59454012293
+ },
+ {
+ "date": "2014-07-03",
+ "value": 112785.84621170859
+ },
+ {
+ "date": "2014-07-04",
+ "value": 268022.501587529
+ },
+ {
+ "date": "2014-07-05",
+ "value": 624290.8018990511
+ },
+ {
+ "date": "2014-07-06",
+ "value": 836181.367972055
+ },
+ {
+ "date": "2014-07-07",
+ "value": 565108.5866839852
+ },
+ {
+ "date": "2014-07-08",
+ "value": 293702.2823721791
+ },
+ {
+ "date": "2014-07-09",
+ "value": 128190.39198775633
+ },
+ {
+ "date": "2014-07-10",
+ "value": 57180.40753508925
+ },
+ {
+ "date": "2014-07-11",
+ "value": 62878.27977730392
+ },
+ {
+ "date": "2014-07-12",
+ "value": 204999.77253837787
+ },
+ {
+ "date": "2014-07-13",
+ "value": 95022.40040256473
+ },
+ {
+ "date": "2014-07-14",
+ "value": 41401.200972437386
+ },
+ {
+ "date": "2014-07-15",
+ "value": 183846.47705915576
+ },
+ {
+ "date": "2014-07-16",
+ "value": 114247.21116015536
+ },
+ {
+ "date": "2014-07-17",
+ "value": 34743.36459470002
+ },
+ {
+ "date": "2014-07-18",
+ "value": 11872.77812834004
+ },
+ {
+ "date": "2014-07-19",
+ "value": 28822.077421492377
+ }
+] \ No newline at end of file
diff --git a/priv/static/metrics-graphics-3.0-alpha3/examples/data/make_fake_data.py b/priv/static/metrics-graphics-3.0-alpha3/examples/data/make_fake_data.py
new file mode 100644
index 0000000..f350eab
--- /dev/null
+++ b/priv/static/metrics-graphics-3.0-alpha3/examples/data/make_fake_data.py
@@ -0,0 +1,56 @@
+import sys
+from datetime import datetime, date, timedelta
+import json
+from random import random
+import argparse
+
+parser = argparse.ArgumentParser(description="Fake data maker.")
+parser.add_argument('-s', '--start', help="start date", nargs=1)
+parser.add_argument('-d', '--small', help="allow decimal values", action="store_true")
+parser.add_argument('-r', '--range', help="how many days from start date", nargs=1)
+parser.add_argument('-m', '--magnitude', help="size of change", nargs=1)
+parser.add_argument('-p', '--percentage', help="whether or not this is a percentage", action="store_true")
+parser.add_argument('-n', '--let_negative', help="let the data values go negative", action="store_true")
+parser.add_argument('-v', '--start_value', help='start value', nargs=1)
+args = parser.parse_args()
+
+doy = {
+ 0: 1,
+ 1:.9,
+ 2:1,
+ 3:1.1,
+ 4:1.05,
+ 5:.7,
+ 6:.75
+}
+if args.percentage: convert = lambda x: float(x)
+elif args.small: convert = lambda x: float(x)
+else: convert = lambda x: int(x)
+
+current_date = datetime.strptime(args.start[0], '%Y-%m-%d').date()
+length = int(args.range[0])
+
+baseline = convert(args.start_value[0])
+
+if args.magnitude: magnitude = convert(args.magnitude[0])
+elif args.percentage: magnitude = baseline/50.
+elif args.small: magnitude = baseline/20.
+else: magnitude = baseline/5
+out = []
+
+# Needed to automatically convert dates to strings in json.
+dthandler = lambda obj: obj.isoformat() if isinstance(obj, date) else None
+
+for i in xrange(length):
+ out.append({'date': current_date, 'value': baseline})
+ nb = convert(magnitude * (random()-.5))
+ if args.percentage:
+ if (baseline+nb < 0 or baseline+nb > 1) and (not args.let_negative): pass
+ else: baseline += nb
+ else:
+ if baseline+nb < 0 and not args.let_negative: pass
+ else: baseline += nb
+
+ current_date += timedelta(days=1)
+
+sys.stdout.write(json.dumps(out,default=dthandler, indent=4)) \ No newline at end of file
diff --git a/priv/static/metrics-graphics-3.0-alpha3/examples/data/missing-is-hidden-accessor.json b/priv/static/metrics-graphics-3.0-alpha3/examples/data/missing-is-hidden-accessor.json
new file mode 100644
index 0000000..088ec47
--- /dev/null
+++ b/priv/static/metrics-graphics-3.0-alpha3/examples/data/missing-is-hidden-accessor.json
@@ -0,0 +1,57 @@
+
+ [
+ {
+ "date": "2014-01-08",
+ "value": 500
+ },
+ {
+ "date": "2014-01-09",
+ "value": 500
+ },
+ {
+ "date": "2014-01-10",
+ "value": 400
+ },
+ {
+ "date": "2014-01-11",
+ "value": 500,
+ "dead": true
+ },
+ {
+ "date": "2014-01-12",
+ "value": 400
+ },
+ {
+ "date": "2014-01-13",
+ "value": 430
+ },
+ {
+ "date": "2014-01-14",
+ "value": 410
+ },
+ {
+ "date": "2014-01-15",
+ "value": 200,
+ "dead": true
+ },
+ {
+ "date": "2014-01-16",
+ "value": 500
+ },
+ {
+ "date": "2014-01-17",
+ "value": 100
+ },
+ {
+ "date": "2014-01-18",
+ "value": 30
+ },
+ {
+ "date": "2014-01-19",
+ "value": 300
+ },
+ {
+ "date": "2014-01-20",
+ "value": 200
+ }
+ ]
diff --git a/priv/static/metrics-graphics-3.0-alpha3/examples/data/missing-is-hidden-multi.json b/priv/static/metrics-graphics-3.0-alpha3/examples/data/missing-is-hidden-multi.json
new file mode 100644
index 0000000..e64a30b
--- /dev/null
+++ b/priv/static/metrics-graphics-3.0-alpha3/examples/data/missing-is-hidden-multi.json
@@ -0,0 +1,1436 @@
+[
+ [
+ {
+ "date": "2014-01-01",
+ "value": 10000000
+ },
+ {
+ "date": "2014-01-02",
+ "value": 10379978
+ },
+ {
+ "date": "2014-01-03",
+ "value": 10493749
+ },
+ {
+ "date": "2014-01-04",
+ "value": 10785250
+ },
+ {
+ "date": "2014-01-08",
+ "value": 15177211
+ },
+ {
+ "date": "2014-01-09",
+ "value": 16622100
+ },
+ {
+ "date": "2014-01-10",
+ "value": 17381072
+ },
+ {
+ "date": "2014-01-11",
+ "value": 18802310
+ },
+ {
+ "date": "2014-01-12",
+ "value": 15531790
+ },
+ {
+ "date": "2014-01-13",
+ "value": 15748881
+ },
+ {
+ "date": "2014-01-14",
+ "value": 18706437
+ },
+ {
+ "date": "2014-01-15",
+ "value": 19752685
+ },
+ {
+ "date": "2014-01-16",
+ "value": 21016418
+ },
+ {
+ "date": "2014-01-17",
+ "value": 25622924
+ },
+ {
+ "date": "2014-01-18",
+ "value": 25337480
+ },
+ {
+ "date": "2014-01-19",
+ "value": 22258882
+ },
+ {
+ "date": "2014-01-20",
+ "value": 23829538
+ },
+ {
+ "date": "2014-01-21",
+ "value": 24245689
+ },
+ {
+ "date": "2014-01-22",
+ "value": 26429711
+ },
+ {
+ "date": "2014-01-23",
+ "value": 26259017
+ },
+ {
+ "date": "2014-01-24",
+ "value": 25396183
+ },
+ {
+ "date": "2014-01-25",
+ "value": 23107346
+ },
+ {
+ "date": "2014-01-26",
+ "value": 28659852
+ },
+ {
+ "date": "2014-01-27",
+ "value": 25270783
+ },
+ {
+ "date": "2014-01-28",
+ "value": 26270783
+ },
+ {
+ "date": "2014-01-29",
+ "value": 27270783
+ },
+ {
+ "date": "2014-01-30",
+ "value": 28270783
+ },
+ {
+ "date": "2014-01-31",
+ "value": 29270783
+ },
+ {
+ "date": "2014-02-01",
+ "value": 30270783
+ },
+ {
+ "date": "2014-02-02",
+ "value": 31270783
+ },
+ {
+ "date": "2014-02-03",
+ "value": 32270783
+ },
+ {
+ "date": "2014-02-04",
+ "value": 33270783
+ },
+ {
+ "date": "2014-02-05",
+ "value": 28270783
+ },
+ {
+ "date": "2014-02-06",
+ "value": 27270783
+ },
+ {
+ "date": "2014-02-07",
+ "value": 35270783
+ },
+ {
+ "date": "2014-02-08",
+ "value": 34270783
+ },
+ {
+ "date": "2014-02-09",
+ "value": 28270783
+ },
+ {
+ "date": "2014-02-10",
+ "value": 35270783
+ },
+ {
+ "date": "2014-02-11",
+ "value": 36270783
+ },
+ {
+ "date": "2014-02-12",
+ "value": 34127078
+ },
+ {
+ "date": "2014-02-13",
+ "value": 33124078
+ },
+ {
+ "date": "2014-02-14",
+ "value": 36227078
+ },
+ {
+ "date": "2014-02-15",
+ "value": 37827078
+ },
+ {
+ "date": "2014-02-16",
+ "value": 36427073
+ },
+ {
+ "date": "2014-02-17",
+ "value": 37570783
+ },
+ {
+ "date": "2014-02-18",
+ "value": 38627073
+ },
+ {
+ "date": "2014-02-19",
+ "value": 37727078
+ },
+ {
+ "date": "2014-02-20",
+ "value": 38827073
+ },
+ {
+ "date": "2014-02-21",
+ "value": 40927078
+ },
+ {
+ "date": "2014-02-22",
+ "value": 41027078
+ },
+ {
+ "date": "2014-02-23",
+ "value": 42127073
+ },
+ {
+ "date": "2014-02-24",
+ "value": 43220783
+ },
+ {
+ "date": "2014-02-25",
+ "value": 44327078
+ },
+ {
+ "date": "2014-02-26",
+ "value": 40427078
+ },
+ {
+ "date": "2014-02-27",
+ "value": 41027078
+ },
+ {
+ "date": "2014-02-28",
+ "value": 45627078
+ },
+ {
+ "date": "2014-03-01",
+ "value": 44727078
+ },
+ {
+ "date": "2014-03-02",
+ "value": 44227078
+ },
+ {
+ "date": "2014-03-03",
+ "value": 45227078
+ },
+ {
+ "date": "2014-03-04",
+ "value": 46027078
+ },
+ {
+ "date": "2014-03-05",
+ "value": 46927078
+ },
+ {
+ "date": "2014-03-06",
+ "value": 47027078
+ },
+ {
+ "date": "2014-03-07",
+ "value": 46227078
+ },
+ {
+ "date": "2014-03-08",
+ "value": 47027078
+ },
+ {
+ "date": "2014-03-09",
+ "value": 48027078
+ },
+ {
+ "date": "2014-03-10",
+ "value": 47027078
+ },
+ {
+ "date": "2014-03-11",
+ "value": 47027078
+ },
+ {
+ "date": "2014-03-12",
+ "value": 48017078
+ },
+ {
+ "date": "2014-03-13",
+ "value": 48077078
+ },
+ {
+ "date": "2014-03-14",
+ "value": 48087078
+ },
+ {
+ "date": "2014-03-15",
+ "value": 48017078
+ },
+ {
+ "date": "2014-03-16",
+ "value": 48047078
+ },
+ {
+ "date": "2014-03-17",
+ "value": 48067078
+ },
+ {
+ "date": "2014-03-18",
+ "value": 48077078
+ },
+ {
+ "date": "2014-03-19",
+ "value": 48027074
+ },
+ {
+ "date": "2014-03-20",
+ "value": 48927079
+ },
+ {
+ "date": "2014-03-21",
+ "value": 48727071
+ },
+ {
+ "date": "2014-03-22",
+ "value": 48127072
+ },
+ {
+ "date": "2014-03-23",
+ "value": 48527072
+ },
+ {
+ "date": "2014-03-24",
+ "value": 48627027
+ },
+ {
+ "date": "2014-03-25",
+ "value": 48027040
+ },
+ {
+ "date": "2014-03-26",
+ "value": 48027043
+ },
+ {
+ "date": "2014-03-27",
+ "value": 48057022
+ },
+ {
+ "date": "2014-03-28",
+ "value": 49057022
+ },
+ {
+ "date": "2014-03-29",
+ "value": 50057022
+ },
+ {
+ "date": "2014-03-30",
+ "value": 51057022
+ },
+ {
+ "date": "2014-03-31",
+ "value": 52057022
+ },
+ {
+ "date": "2014-04-01",
+ "value": 53057022
+ },
+ {
+ "date": "2014-04-02",
+ "value": 54057022
+ },
+ {
+ "date": "2014-04-03",
+ "value": 52057022
+ },
+ {
+ "date": "2014-04-04",
+ "value": 55057022
+ },
+ {
+ "date": "2014-04-05",
+ "value": 58270783
+ },
+ {
+ "date": "2014-04-06",
+ "value": 56270783
+ },
+ {
+ "date": "2014-04-07",
+ "value": 55270783
+ },
+ {
+ "date": "2014-04-08",
+ "value": 58270783
+ },
+ {
+ "date": "2014-04-09",
+ "value": 59270783
+ },
+ {
+ "date": "2014-04-10",
+ "value": 60270783
+ },
+ {
+ "date": "2014-04-11",
+ "value": 61270783
+ },
+ {
+ "date": "2014-04-12",
+ "value": 62270783
+ },
+ {
+ "date": "2014-04-13",
+ "value": 63270783
+ },
+ {
+ "date": "2014-04-14",
+ "value": 64270783
+ },
+ {
+ "date": "2014-04-15",
+ "value": 65270783
+ },
+ {
+ "date": "2014-04-16",
+ "value": 66270783
+ },
+ {
+ "date": "2014-04-17",
+ "value": 67270783
+ },
+ {
+ "date": "2014-04-18",
+ "value": 68270783
+ },
+ {
+ "date": "2014-04-19",
+ "value": 69270783
+ },
+ {
+ "date": "2014-04-20",
+ "value": 70270783
+ },
+ {
+ "date": "2014-04-21",
+ "value": 71270783
+ },
+ {
+ "date": "2014-04-22",
+ "value": 72270783
+ },
+ {
+ "date": "2014-04-23",
+ "value": 73270783
+ },
+ {
+ "date": "2014-04-24",
+ "value": 74270783
+ },
+ {
+ "date": "2014-04-25",
+ "value": 75270783
+ },
+ {
+ "date": "2014-04-26",
+ "value": 76660783
+ },
+ {
+ "date": "2014-04-27",
+ "value": 77270783
+ },
+ {
+ "date": "2014-04-28",
+ "value": 78370783
+ },
+ {
+ "date": "2014-04-29",
+ "value": 79470783
+ },
+ {
+ "date": "2014-04-30",
+ "value": 80170783
+ }
+ ],
+ [
+ {
+ "date": "2014-01-01",
+ "value": 150000000
+ },
+ {
+ "date": "2014-01-02",
+ "value": 160379978
+ },
+ {
+ "date": "2014-01-03",
+ "value": 170493749
+ },
+ {
+ "date": "2014-01-04",
+ "value": 160785250
+ },
+ {
+ "date": "2014-01-05",
+ "value": 167391904
+ },
+ {
+ "date": "2014-01-06",
+ "value": 161576838
+ },
+ {
+ "date": "2014-01-07",
+ "value": 161413854
+ },
+ {
+ "date": "2014-01-08",
+ "value": 152177211
+ },
+ {
+ "date": "2014-01-09",
+ "value": 143762210
+ },
+ {
+ "date": "2014-01-10",
+ "value": 144381072
+ },
+ {
+ "date": "2014-01-11",
+ "value": 154352310
+ },
+ {
+ "date": "2014-01-12",
+ "value": 165531790
+ },
+ {
+ "date": "2014-01-13",
+ "value": 175748881
+ },
+ {
+ "date": "2014-01-14",
+ "value": 187064037
+ },
+ {
+ "date": "2014-01-15",
+ "value": 197520685
+ },
+ {
+ "date": "2014-01-16",
+ "value": 210176418
+ },
+ {
+ "date": "2014-01-17",
+ "value": 196122924
+ },
+ {
+ "date": "2014-01-18",
+ "value": 207337480
+ },
+ {
+ "date": "2014-01-19",
+ "value": 200258882
+ },
+ {
+ "date": "2014-01-20",
+ "value": 186829538
+ },
+ {
+ "date": "2014-01-21",
+ "value": 192456897
+ },
+ {
+ "date": "2014-01-22",
+ "value": 204299711
+ },
+ {
+ "date": "2014-01-23",
+ "value": 192759017
+ },
+ {
+ "date": "2014-01-24",
+ "value": 203596183
+ },
+ {
+ "date": "2014-01-25",
+ "value": 208107346
+ },
+ {
+ "date": "2014-01-26",
+ "value": 196359852
+ },
+ {
+ "date": "2014-01-27",
+ "value": 192570783
+ },
+ {
+ "date": "2014-01-28",
+ "value": 177967768
+ },
+ {
+ "date": "2014-01-29",
+ "value": 190632803
+ },
+ {
+ "date": "2014-01-30",
+ "value": 203725316
+ },
+ {
+ "date": "2014-01-31",
+ "value": 218226177
+ },
+ {
+ "date": "2014-02-01",
+ "value": 210698669
+ },
+ {
+ "date": "2014-02-02",
+ "value": 217640656
+ },
+ {
+ "date": "2014-02-03",
+ "value": 216142362
+ },
+ {
+ "date": "2014-02-04",
+ "value": 201410971
+ },
+ {
+ "date": "2014-02-05",
+ "value": 196704289
+ },
+ {
+ "date": "2014-02-06",
+ "value": 190436945
+ },
+ {
+ "date": "2014-02-07",
+ "value": 178891686
+ },
+ {
+ "date": "2014-02-08",
+ "value": 171613962
+ },
+ {
+ "date": "2014-02-09",
+ "value": 157579773
+ },
+ {
+ "date": "2014-02-10",
+ "value": 158677098
+ },
+ {
+ "date": "2014-02-11",
+ "value": 147129977
+ },
+ {
+ "date": "2014-02-12",
+ "value": 151561876
+ },
+ {
+ "date": "2014-02-13",
+ "value": 151627421
+ },
+ {
+ "date": "2014-02-14",
+ "value": 143543872
+ },
+ {
+ "date": "2014-02-15",
+ "value": 136581057
+ },
+ {
+ "date": "2014-02-16",
+ "value": 135560715
+ },
+ {
+ "date": "2014-02-17",
+ "value": 122625263
+ },
+ {
+ "date": "2014-02-18",
+ "value": 112091484
+ },
+ {
+ "date": "2014-02-19",
+ "value": 98810329
+ },
+ {
+ "date": "2014-02-20",
+ "value": 99882912
+ },
+ {
+ "date": "2014-02-21",
+ "value": 94943095
+ },
+ {
+ "date": "2014-02-22",
+ "value": 104875743
+ },
+ {
+ "date": "2014-02-23",
+ "value": 116383678
+ },
+ {
+ "date": "2014-02-24",
+ "value": 125028841
+ },
+ {
+ "date": "2014-02-25",
+ "value": 123967310
+ },
+ {
+ "date": "2014-02-26",
+ "value": 133167029
+ },
+ {
+ "date": "2014-02-27",
+ "value": 128577263
+ },
+ {
+ "date": "2014-02-28",
+ "value": 115836969
+ },
+ {
+ "date": "2014-03-01",
+ "value": 119264529
+ },
+ {
+ "date": "2014-03-02",
+ "value": 109363374
+ },
+ {
+ "date": "2014-03-03",
+ "value": 113985628
+ },
+ {
+ "date": "2014-03-04",
+ "value": 114650999
+ },
+ {
+ "date": "2014-03-05",
+ "value": 110866108
+ },
+ {
+ "date": "2014-03-06",
+ "value": 96473454
+ },
+ {
+ "date": "2014-03-07",
+ "value": 104075886
+ },
+ {
+ "date": "2014-03-08",
+ "value": 103568384
+ },
+ {
+ "date": "2014-03-09",
+ "value": 101534883
+ },
+ {
+ "date": "2014-03-10",
+ "value": 115825447
+ },
+ {
+ "date": "2014-03-11",
+ "value": 126133916
+ },
+ {
+ "date": "2014-03-12",
+ "value": 116502109
+ },
+ {
+ "date": "2014-03-13",
+ "value": 130169411
+ },
+ {
+ "date": "2014-03-14",
+ "value": 124296886
+ },
+ {
+ "date": "2014-03-15",
+ "value": 126347399
+ },
+ {
+ "date": "2014-03-16",
+ "value": 131483669
+ },
+ {
+ "date": "2014-03-17",
+ "value": 142811333
+ },
+ {
+ "date": "2014-03-18",
+ "value": 129675396
+ },
+ {
+ "date": "2014-03-19",
+ "value": 115514483
+ },
+ {
+ "date": "2014-03-20",
+ "value": 117630630
+ },
+ {
+ "date": "2014-03-21",
+ "value": 122340239
+ },
+ {
+ "date": "2014-03-22",
+ "value": 132349091
+ },
+ {
+ "date": "2014-03-23",
+ "value": 125613305
+ },
+ {
+ "date": "2014-03-24",
+ "value": 135592466
+ },
+ {
+ "date": "2014-03-25",
+ "value": 123408762
+ },
+ {
+ "date": "2014-03-26",
+ "value": 111991454
+ },
+ {
+ "date": "2014-03-27",
+ "value": 116123955
+ },
+ {
+ "date": "2014-03-28",
+ "value": 112817214
+ },
+ {
+ "date": "2014-03-29",
+ "value": 113029590
+ },
+ {
+ "date": "2014-03-30",
+ "value": 108753398
+ },
+ {
+ "date": "2014-03-31",
+ "value": 99383763
+ },
+ {
+ "date": "2014-04-01",
+ "value": 100151737
+ },
+ {
+ "date": "2014-04-02",
+ "value": 94985209
+ },
+ {
+ "date": "2014-04-03",
+ "value": 82913669
+ },
+ {
+ "date": "2014-04-04",
+ "value": 78748268
+ },
+ {
+ "date": "2014-04-05",
+ "value": 63829135
+ },
+ {
+ "date": "2014-04-06",
+ "value": 78694727
+ },
+ {
+ "date": "2014-04-07",
+ "value": 80868994
+ },
+ {
+ "date": "2014-04-08",
+ "value": 93799013
+ },
+ {
+ "date": "2014-04-09",
+ "value": 99042416
+ },
+ {
+ "date": "2014-04-10",
+ "value": 97298692
+ },
+ {
+ "date": "2014-04-11",
+ "value": 83353499
+ },
+ {
+ "date": "2014-04-12",
+ "value": 71248129
+ },
+ {
+ "date": "2014-04-13",
+ "value": 75253744
+ },
+ {
+ "date": "2014-04-14",
+ "value": 68976648
+ },
+ {
+ "date": "2014-04-15",
+ "value": 71002284
+ },
+ {
+ "date": "2014-04-16",
+ "value": 75052401
+ },
+ {
+ "date": "2014-04-17",
+ "value": 83894030
+ },
+ {
+ "date": "2014-04-18",
+ "value": 90236528
+ },
+ {
+ "date": "2014-04-19",
+ "value": 99739114
+ },
+ {
+ "date": "2014-04-20",
+ "value": 96407136
+ },
+ {
+ "date": "2014-04-21",
+ "value": 108323177
+ },
+ {
+ "date": "2014-04-22",
+ "value": 101578914
+ },
+ {
+ "date": "2014-04-23",
+ "value": 115877608
+ },
+ {
+ "date": "2014-04-24",
+ "value": 112088857
+ },
+ {
+ "date": "2014-04-25",
+ "value": 112071353
+ },
+ {
+ "date": "2014-04-26",
+ "value": 101790062
+ },
+ {
+ "date": "2014-04-27",
+ "value": 115003761
+ },
+ {
+ "date": "2014-04-28",
+ "value": 120457727
+ },
+ {
+ "date": "2014-04-29",
+ "value": 118253926
+ },
+ {
+ "date": "2014-04-30",
+ "value": 117956992
+ }
+ ],
+ [
+ {
+ "date": "2014-01-01",
+ "value": 60000000
+ },
+ {
+ "date": "2014-01-02",
+ "value": 60379978
+ },
+ {
+ "date": "2014-01-03",
+ "value": 40493749
+ },
+ {
+ "date": "2014-01-04",
+ "value": 60785250
+ },
+ {
+ "date": "2014-01-05",
+ "value": 67391904
+ },
+ {
+ "date": "2014-01-06",
+ "value": 61576838
+ },
+ {
+ "date": "2014-01-07",
+ "value": 61413854
+ },
+ {
+ "date": "2014-01-08",
+ "value": 82177211
+ },
+ {
+ "date": "2014-01-09",
+ "value": 103762210
+ },
+ {
+ "date": "2014-01-10",
+ "value": 84381072
+ },
+ {
+ "date": "2014-01-11",
+ "value": 54352310
+ },
+ {
+ "date": "2014-01-12",
+ "value": 65531790
+ },
+ {
+ "date": "2014-01-13",
+ "value": 75748881
+ },
+ {
+ "date": "2014-01-14",
+ "value": 47064037
+ },
+ {
+ "date": "2014-01-15",
+ "value": 67520685
+ },
+ {
+ "date": "2014-01-16",
+ "value": 60176418
+ },
+ {
+ "date": "2014-01-17",
+ "value": 66122924
+ },
+ {
+ "date": "2014-01-18",
+ "value": 57337480
+ },
+ {
+ "date": "2014-01-19",
+ "value": 100258882
+ },
+ {
+ "date": "2014-01-20",
+ "value": 46829538
+ },
+ {
+ "date": "2014-01-21",
+ "value": 92456897
+ },
+ {
+ "date": "2014-01-22",
+ "value": 94299711
+ },
+ {
+ "date": "2014-01-23",
+ "value": 62759017
+ },
+ {
+ "date": "2014-01-24",
+ "value": 103596183
+ },
+ {
+ "date": "2014-01-25",
+ "value": 108107346
+ },
+ {
+ "date": "2014-01-26",
+ "value": 66359852
+ },
+ {
+ "date": "2014-01-27",
+ "value": 62570783
+ },
+ {
+ "date": "2014-01-28",
+ "value": 77967768
+ },
+ {
+ "date": "2014-01-29",
+ "value": 60632803
+ },
+ {
+ "date": "2014-01-30",
+ "value": 103725316
+ },
+ {
+ "date": "2014-01-31",
+ "value": 98226177
+ },
+ {
+ "date": "2014-02-01",
+ "value": 60698669
+ },
+ {
+ "date": "2014-02-02",
+ "value": 67640656
+ },
+ {
+ "date": "2014-02-03",
+ "value": 66142362
+ },
+ {
+ "date": "2014-02-04",
+ "value": 101410971
+ },
+ {
+ "date": "2014-02-05",
+ "value": 66704289
+ },
+ {
+ "date": "2014-02-06",
+ "value": 60436945
+ },
+ {
+ "date": "2014-02-07",
+ "value": 78891686
+ },
+ {
+ "date": "2014-02-08",
+ "value": 71613962
+ },
+ {
+ "date": "2014-02-09",
+ "value": 107579773
+ },
+ {
+ "date": "2014-02-10",
+ "value": 58677098
+ },
+ {
+ "date": "2014-02-11",
+ "value": 87129977
+ },
+ {
+ "date": "2014-02-12",
+ "value": 51561876
+ },
+ {
+ "date": "2014-02-13",
+ "value": 51627421
+ },
+ {
+ "date": "2014-02-14",
+ "value": 83543872
+ },
+ {
+ "date": "2014-02-15",
+ "value": 66581057
+ },
+ {
+ "date": "2014-02-16",
+ "value": 65560715
+ },
+ {
+ "date": "2014-02-17",
+ "value": 62625263
+ },
+ {
+ "date": "2014-02-18",
+ "value": 92091484
+ },
+ {
+ "date": "2014-02-19",
+ "value": 48810329
+ },
+ {
+ "date": "2014-02-20",
+ "value": 49882912
+ },
+ {
+ "date": "2014-02-21",
+ "value": 44943095
+ },
+ {
+ "date": "2014-02-22",
+ "value": 104875743
+ },
+ {
+ "date": "2014-02-23",
+ "value": 96383678
+ },
+ {
+ "date": "2014-02-24",
+ "value": 105028841
+ },
+ {
+ "date": "2014-02-25",
+ "value": 63967310
+ },
+ {
+ "date": "2014-02-26",
+ "value": 63167029
+ },
+ {
+ "date": "2014-02-27",
+ "value": 68577263
+ },
+ {
+ "date": "2014-02-28",
+ "value": 95836969
+ },
+ {
+ "date": "2014-03-01",
+ "value": 99264529
+ },
+ {
+ "date": "2014-03-02",
+ "value": 109363374
+ },
+ {
+ "date": "2014-03-03",
+ "value": 93985628
+ },
+ {
+ "date": "2014-03-04",
+ "value": 94650999
+ },
+ {
+ "date": "2014-03-05",
+ "value": 90866108
+ },
+ {
+ "date": "2014-03-06",
+ "value": 46473454
+ },
+ {
+ "date": "2014-03-07",
+ "value": 84075886
+ },
+ {
+ "date": "2014-03-08",
+ "value": 103568384
+ },
+ {
+ "date": "2014-03-09",
+ "value": 101534883
+ },
+ {
+ "date": "2014-03-10",
+ "value": 95825447
+ },
+ {
+ "date": "2014-03-11",
+ "value": 66133916
+ },
+ {
+ "date": "2014-03-12",
+ "value": 96502109
+ },
+ {
+ "date": "2014-03-13",
+ "value": 80169411
+ },
+ {
+ "date": "2014-03-14",
+ "value": 84296886
+ },
+ {
+ "date": "2014-03-15",
+ "value": 86347399
+ },
+ {
+ "date": "2014-03-16",
+ "value": 31483669
+ },
+ {
+ "date": "2014-03-17",
+ "value": 82811333
+ },
+ {
+ "date": "2014-03-18",
+ "value": 89675396
+ },
+ {
+ "date": "2014-03-19",
+ "value": 95514483
+ },
+ {
+ "date": "2014-03-20",
+ "value": 97630630
+ },
+ {
+ "date": "2014-03-21",
+ "value": 62340239
+ },
+ {
+ "date": "2014-03-22",
+ "value": 62349091
+ },
+ {
+ "date": "2014-03-23",
+ "value": 65613305
+ },
+ {
+ "date": "2014-03-24",
+ "value": 65592466
+ },
+ {
+ "date": "2014-03-25",
+ "value": 63408762
+ },
+ {
+ "date": "2014-03-26",
+ "value": 91991454
+ },
+ {
+ "date": "2014-03-27",
+ "value": 96123955
+ },
+ {
+ "date": "2014-03-28",
+ "value": 92817214
+ },
+ {
+ "date": "2014-03-29",
+ "value": 93029590
+ },
+ {
+ "date": "2014-03-30",
+ "value": 108753398
+ },
+ {
+ "date": "2014-03-31",
+ "value": 49383763
+ },
+ {
+ "date": "2014-04-01",
+ "value": 100151737
+ },
+ {
+ "date": "2014-04-02",
+ "value": 44985209
+ },
+ {
+ "date": "2014-04-03",
+ "value": 52913669
+ },
+ {
+ "date": "2014-04-04",
+ "value": 48748268
+ },
+ {
+ "date": "2014-04-05",
+ "value": 23829135
+ },
+ {
+ "date": "2014-04-06",
+ "value": 58694727
+ },
+ {
+ "date": "2014-04-07",
+ "value": 50868994
+ },
+ {
+ "date": "2014-04-08",
+ "value": 43799013
+ },
+ {
+ "date": "2014-04-09",
+ "value": 4042416
+ },
+ {
+ "date": "2014-04-10",
+ "value": 47298692
+ },
+ {
+ "date": "2014-04-11",
+ "value": 53353499
+ },
+ {
+ "date": "2014-04-12",
+ "value": 71248129
+ },
+ {
+ "date": "2014-04-13",
+ "value": 75253744
+ },
+ {
+ "date": "2014-04-14",
+ "value": 68976648
+ },
+ {
+ "date": "2014-04-15",
+ "value": 71002284
+ },
+ {
+ "date": "2014-04-16",
+ "value": 75052401
+ },
+ {
+ "date": "2014-04-17",
+ "value": 83894030
+ },
+ {
+ "date": "2014-04-18",
+ "value": 50236528
+ },
+ {
+ "date": "2014-04-19",
+ "value": 59739114
+ },
+ {
+ "date": "2014-04-20",
+ "value": 56407136
+ },
+ {
+ "date": "2014-04-21",
+ "value": 108323177
+ },
+ {
+ "date": "2014-04-22",
+ "value": 101578914
+ },
+ {
+ "date": "2014-04-23",
+ "value": 95877608
+ },
+ {
+ "date": "2014-04-24",
+ "value": 62088857
+ },
+ {
+ "date": "2014-04-25",
+ "value": 92071353
+ },
+ {
+ "date": "2014-04-26",
+ "value": 81790062
+ },
+ {
+ "date": "2014-04-27",
+ "value": 105003761
+ },
+ {
+ "date": "2014-04-28",
+ "value": 100457727
+ },
+ {
+ "date": "2014-04-29",
+ "value": 98253926
+ },
+ {
+ "date": "2014-04-30",
+ "value": 67956992
+ }
+ ]
+] \ No newline at end of file
diff --git a/priv/static/metrics-graphics-3.0-alpha3/examples/data/missing-is-hidden.json b/priv/static/metrics-graphics-3.0-alpha3/examples/data/missing-is-hidden.json
new file mode 100644
index 0000000..582d08a
--- /dev/null
+++ b/priv/static/metrics-graphics-3.0-alpha3/examples/data/missing-is-hidden.json
@@ -0,0 +1,39 @@
+
+ [
+ {
+ "date": "2014-01-08",
+ "value": 500
+ },
+ {
+ "date": "2014-01-09",
+ "value": 500
+ },
+ {
+ "date": "2014-01-10",
+ "value": 400
+ },
+ {
+ "date": "2014-02-12",
+ "value": 500
+ },
+ {
+ "date": "2014-02-13",
+ "value": 100
+ },
+ {
+ "date": "2014-02-14",
+ "value": null
+ },
+ {
+ "date": "2014-02-15",
+ "value": 30
+ },
+ {
+ "date": "2014-02-16",
+ "value": 300
+ },
+ {
+ "date": "2014-02-17",
+ "value": 200
+ }
+ ]
diff --git a/priv/static/metrics-graphics-3.0-alpha3/examples/data/missing-y.json b/priv/static/metrics-graphics-3.0-alpha3/examples/data/missing-y.json
new file mode 100644
index 0000000..9ec8f18
--- /dev/null
+++ b/priv/static/metrics-graphics-3.0-alpha3/examples/data/missing-y.json
@@ -0,0 +1,35 @@
+
+ [
+ {
+ "date": "2014-01-08",
+ "value": 500
+ },
+ {
+ "date": "2014-01-12",
+ "value": 500
+ },
+ {
+ "date": "2014-01-19",
+ "value": 2000
+ },
+ {
+ "date": "2014-01-20",
+ "value": 2200
+ },
+ {
+ "date": "2014-01-21",
+ "value": 2300
+ },
+ {
+ "date": "2014-04-23",
+ "value": 500
+ },
+ {
+ "date": "2014-04-24",
+ "value": 1500
+ },
+ {
+ "date": "2014-04-25",
+ "value": 3000
+ }
+ ]
diff --git a/priv/static/metrics-graphics-3.0-alpha3/examples/data/multiline.json b/priv/static/metrics-graphics-3.0-alpha3/examples/data/multiline.json
new file mode 100644
index 0000000..90102ba
--- /dev/null
+++ b/priv/static/metrics-graphics-3.0-alpha3/examples/data/multiline.json
@@ -0,0 +1,902 @@
+[
+ {
+ "date": "2013-11-30",
+ "value3": 40770,
+ "value2": 38327,
+ "value1": 43564
+ },
+ {
+ "date": "2013-12-01",
+ "value3": 39705,
+ "value2": 39998,
+ "value1": 43104
+ },
+ {
+ "date": "2013-12-02",
+ "value3": 39209,
+ "value2": 40158,
+ "value1": 40300
+ },
+ {
+ "date": "2013-12-03",
+ "value3": 35539,
+ "value2": 37155,
+ "value1": 37078
+ },
+ {
+ "date": "2013-12-04",
+ "value3": 33231,
+ "value2": 37554,
+ "value1": 38526
+ },
+ {
+ "date": "2013-12-05",
+ "value3": 29792,
+ "value2": 40383,
+ "value1": 36456
+ },
+ {
+ "date": "2013-12-06",
+ "value3": 33533,
+ "value2": 42351,
+ "value1": 39354
+ },
+ {
+ "date": "2013-12-07",
+ "value3": 31903,
+ "value2": 45058,
+ "value1": 42378
+ },
+ {
+ "date": "2013-12-08",
+ "value3": 30748,
+ "value2": 47100,
+ "value1": 38812
+ },
+ {
+ "date": "2013-12-09",
+ "value3": 30380,
+ "value2": 44866,
+ "value1": 37220
+ },
+ {
+ "date": "2013-12-10",
+ "value3": 29189,
+ "value2": 41967,
+ "value1": 39755
+ },
+ {
+ "date": "2013-12-11",
+ "value3": 31210,
+ "value2": 39328,
+ "value1": 40757
+ },
+ {
+ "date": "2013-12-12",
+ "value3": 35036,
+ "value2": 35949,
+ "value1": 39377
+ },
+ {
+ "date": "2013-12-13",
+ "value3": 35619,
+ "value2": 33159,
+ "value1": 38073
+ },
+ {
+ "date": "2013-12-14",
+ "value3": 36377,
+ "value2": 33589,
+ "value1": 35086
+ },
+ {
+ "date": "2013-12-15",
+ "value3": 38730,
+ "value2": 33746,
+ "value1": 34582
+ },
+ {
+ "date": "2013-12-16",
+ "value3": 34850,
+ "value2": 36825,
+ "value1": 36423
+ },
+ {
+ "date": "2013-12-17",
+ "value3": 33172,
+ "value2": 38092,
+ "value1": 37563
+ },
+ {
+ "date": "2013-12-18",
+ "value3": 29390,
+ "value2": 36368,
+ "value1": 38391
+ },
+ {
+ "date": "2013-12-19",
+ "value3": 27097,
+ "value2": 32403,
+ "value1": 38486
+ },
+ {
+ "date": "2013-12-20",
+ "value3": 25922,
+ "value2": 35803,
+ "value1": 35076
+ },
+ {
+ "date": "2013-12-21",
+ "value3": 29734,
+ "value2": 37922,
+ "value1": 32287
+ },
+ {
+ "date": "2013-12-22",
+ "value3": 31860,
+ "value2": 35274,
+ "value1": 28294
+ },
+ {
+ "date": "2013-12-23",
+ "value3": 29052,
+ "value2": 35216,
+ "value1": 31195
+ },
+ {
+ "date": "2013-12-24",
+ "value3": 27400,
+ "value2": 35466,
+ "value1": 28475
+ },
+ {
+ "date": "2013-12-25",
+ "value3": 29042,
+ "value2": 33327,
+ "value1": 26174
+ },
+ {
+ "date": "2013-12-26",
+ "value3": 28410,
+ "value2": 35632,
+ "value1": 28177
+ },
+ {
+ "date": "2013-12-27",
+ "value3": 27045,
+ "value2": 35348,
+ "value1": 28660
+ },
+ {
+ "date": "2013-12-28",
+ "value3": 26506,
+ "value2": 37153,
+ "value1": 27007
+ },
+ {
+ "date": "2013-12-29",
+ "value3": 26331,
+ "value2": 35442,
+ "value1": 29527
+ },
+ {
+ "date": "2013-12-30",
+ "value3": 23209,
+ "value2": 37541,
+ "value1": 30305
+ },
+ {
+ "date": "2013-12-31",
+ "value3": 24124,
+ "value2": 34335,
+ "value1": 32349
+ },
+ {
+ "date": "2014-01-01",
+ "value3": 21329,
+ "value2": 32894,
+ "value1": 32782
+ },
+ {
+ "date": "2014-01-02",
+ "value3": 21989,
+ "value2": 30909,
+ "value1": 29583
+ },
+ {
+ "date": "2014-01-03",
+ "value3": 23481,
+ "value2": 33794,
+ "value1": 25680
+ },
+ {
+ "date": "2014-01-04",
+ "value3": 20253,
+ "value2": 37516,
+ "value1": 24292
+ },
+ {
+ "date": "2014-01-05",
+ "value3": 21150,
+ "value2": 36692,
+ "value1": 24372
+ },
+ {
+ "date": "2014-01-06",
+ "value3": 23170,
+ "value2": 35783,
+ "value1": 20990
+ },
+ {
+ "date": "2014-01-07",
+ "value3": 19767,
+ "value2": 38478,
+ "value1": 24691
+ },
+ {
+ "date": "2014-01-08",
+ "value3": 17130,
+ "value2": 40333,
+ "value1": 22481
+ },
+ {
+ "date": "2014-01-09",
+ "value3": 16280,
+ "value2": 39265,
+ "value1": 25239
+ },
+ {
+ "date": "2014-01-10",
+ "value3": 12306,
+ "value2": 40702,
+ "value1": 24248
+ },
+ {
+ "date": "2014-01-11",
+ "value3": 14425,
+ "value2": 39793,
+ "value1": 24395
+ },
+ {
+ "date": "2014-01-12",
+ "value3": 14555,
+ "value2": 36282,
+ "value1": 25580
+ },
+ {
+ "date": "2014-01-13",
+ "value3": 14582,
+ "value2": 32495,
+ "value1": 24165
+ },
+ {
+ "date": "2014-01-14",
+ "value3": 15216,
+ "value2": 36217,
+ "value1": 26088
+ },
+ {
+ "date": "2014-01-15",
+ "value3": 18650,
+ "value2": 39448,
+ "value1": 29528
+ },
+ {
+ "date": "2014-01-16",
+ "value3": 16567,
+ "value2": 36157,
+ "value1": 27990
+ },
+ {
+ "date": "2014-01-17",
+ "value3": 16512,
+ "value2": 33246,
+ "value1": 24218
+ },
+ {
+ "date": "2014-01-18",
+ "value3": 19777,
+ "value2": 35543,
+ "value1": 20837
+ },
+ {
+ "date": "2014-01-19",
+ "value3": 20399,
+ "value2": 34715,
+ "value1": 22407
+ },
+ {
+ "date": "2014-01-20",
+ "value3": 18816,
+ "value2": 32680,
+ "value1": 19989
+ },
+ {
+ "date": "2014-01-21",
+ "value3": 19986,
+ "value2": 29250,
+ "value1": 23828
+ },
+ {
+ "date": "2014-01-22",
+ "value3": 22251,
+ "value2": 30438,
+ "value1": 26714
+ },
+ {
+ "date": "2014-01-23",
+ "value3": 25922,
+ "value2": 28387,
+ "value1": 30514
+ },
+ {
+ "date": "2014-01-24",
+ "value3": 26428,
+ "value2": 29612,
+ "value1": 33155
+ },
+ {
+ "date": "2014-01-25",
+ "value3": 25424,
+ "value2": 25831,
+ "value1": 34462
+ },
+ {
+ "date": "2014-01-26",
+ "value3": 27621,
+ "value2": 22203,
+ "value1": 32276
+ },
+ {
+ "date": "2014-01-27",
+ "value3": 23961,
+ "value2": 22855,
+ "value1": 31899
+ },
+ {
+ "date": "2014-01-28",
+ "value3": 25591,
+ "value2": 22024,
+ "value1": 29327
+ },
+ {
+ "date": "2014-01-29",
+ "value3": 26847,
+ "value2": 22686,
+ "value1": 32158
+ },
+ {
+ "date": "2014-01-30",
+ "value3": 27853,
+ "value2": 24676,
+ "value1": 29473
+ },
+ {
+ "date": "2014-01-31",
+ "value3": 24178,
+ "value2": 27591,
+ "value1": 32247
+ },
+ {
+ "date": "2014-02-01",
+ "value3": 20626,
+ "value2": 24225,
+ "value1": 30117
+ },
+ {
+ "date": "2014-02-02",
+ "value3": 17938,
+ "value2": 27842,
+ "value1": 29435
+ },
+ {
+ "date": "2014-02-03",
+ "value3": 21312,
+ "value2": 24541,
+ "value1": 27320
+ },
+ {
+ "date": "2014-02-04",
+ "value3": 17385,
+ "value2": 27164,
+ "value1": 30515
+ },
+ {
+ "date": "2014-02-05",
+ "value3": 17638,
+ "value2": 23288,
+ "value1": 28635
+ },
+ {
+ "date": "2014-02-06",
+ "value3": 18946,
+ "value2": 21521,
+ "value1": 27292
+ },
+ {
+ "date": "2014-02-07",
+ "value3": 21089,
+ "value2": 22467,
+ "value1": 24966
+ },
+ {
+ "date": "2014-02-08",
+ "value3": 22956,
+ "value2": 20604,
+ "value1": 24670
+ },
+ {
+ "date": "2014-02-09",
+ "value3": 23081,
+ "value2": 20732,
+ "value1": 27518
+ },
+ {
+ "date": "2014-02-10",
+ "value3": 25334,
+ "value2": 21436,
+ "value1": 24862
+ },
+ {
+ "date": "2014-02-11",
+ "value3": 21989,
+ "value2": 23315,
+ "value1": 27263
+ },
+ {
+ "date": "2014-02-12",
+ "value3": 20933,
+ "value2": 23816,
+ "value1": 25352
+ },
+ {
+ "date": "2014-02-13",
+ "value3": 21185,
+ "value2": 22416,
+ "value1": 22396
+ },
+ {
+ "date": "2014-02-14",
+ "value3": 22801,
+ "value2": 19348,
+ "value1": 18497
+ },
+ {
+ "date": "2014-02-15",
+ "value3": 20072,
+ "value2": 20167,
+ "value1": 21890
+ },
+ {
+ "date": "2014-02-16",
+ "value3": 23120,
+ "value2": 23505,
+ "value1": 22635
+ },
+ {
+ "date": "2014-02-17",
+ "value3": 26351,
+ "value2": 27294,
+ "value1": 23970
+ },
+ {
+ "date": "2014-02-18",
+ "value3": 27078,
+ "value2": 30219,
+ "value1": 20245
+ },
+ {
+ "date": "2014-02-19",
+ "value3": 26042,
+ "value2": 28226,
+ "value1": 17369
+ },
+ {
+ "date": "2014-02-20",
+ "value3": 28763,
+ "value2": 26489,
+ "value1": 19326
+ },
+ {
+ "date": "2014-02-21",
+ "value3": 31668,
+ "value2": 23210,
+ "value1": 17781
+ },
+ {
+ "date": "2014-02-22",
+ "value3": 31141,
+ "value2": 22636,
+ "value1": 15731
+ },
+ {
+ "date": "2014-02-23",
+ "value3": 34681,
+ "value2": 24430,
+ "value1": 11917
+ },
+ {
+ "date": "2014-02-24",
+ "value3": 32836,
+ "value2": 22607,
+ "value1": 8723
+ },
+ {
+ "date": "2014-02-25",
+ "value3": 29452,
+ "value2": 22561,
+ "value1": 7930
+ },
+ {
+ "date": "2014-02-26",
+ "value3": 31958,
+ "value2": 21692,
+ "value1": 7898
+ },
+ {
+ "date": "2014-02-27",
+ "value3": 30526,
+ "value2": 24281,
+ "value1": 4909
+ },
+ {
+ "date": "2014-02-28",
+ "value3": 30271,
+ "value2": 23369,
+ "value1": 1564
+ },
+ {
+ "date": "2014-03-01",
+ "value3": 30977,
+ "value2": 21954,
+ "value1": 1564
+ },
+ {
+ "date": "2014-03-02",
+ "value3": 27892,
+ "value2": 24495,
+ "value1": 3179
+ },
+ {
+ "date": "2014-03-03",
+ "value3": 26752,
+ "value2": 20644,
+ "value1": 4147
+ },
+ {
+ "date": "2014-03-04",
+ "value3": 28318,
+ "value2": 20201,
+ "value1": 7271
+ },
+ {
+ "date": "2014-03-05",
+ "value3": 30646,
+ "value2": 19919,
+ "value1": 8747
+ },
+ {
+ "date": "2014-03-06",
+ "value3": 32219,
+ "value2": 20166,
+ "value1": 10704
+ },
+ {
+ "date": "2014-03-07",
+ "value3": 36175,
+ "value2": 24020,
+ "value1": 13698
+ },
+ {
+ "date": "2014-03-08",
+ "value3": 33312,
+ "value2": 23848,
+ "value1": 10890
+ },
+ {
+ "date": "2014-03-09",
+ "value3": 30792,
+ "value2": 23966,
+ "value1": 7044
+ },
+ {
+ "date": "2014-03-10",
+ "value3": 31162,
+ "value2": 24539,
+ "value1": 6461
+ },
+ {
+ "date": "2014-03-11",
+ "value3": 33510,
+ "value2": 26713,
+ "value1": 5604
+ },
+ {
+ "date": "2014-03-12",
+ "value3": 37339,
+ "value2": 23373,
+ "value1": 4937
+ },
+ {
+ "date": "2014-03-13",
+ "value3": 36413,
+ "value2": 20127,
+ "value1": 4007
+ },
+ {
+ "date": "2014-03-14",
+ "value3": 34026,
+ "value2": 18112,
+ "value1": 7673
+ },
+ {
+ "date": "2014-03-15",
+ "value3": 33383,
+ "value2": 20099,
+ "value1": 7768
+ },
+ {
+ "date": "2014-03-16",
+ "value3": 33358,
+ "value2": 17391,
+ "value1": 11123
+ },
+ {
+ "date": "2014-03-17",
+ "value3": 33433,
+ "value2": 16720,
+ "value1": 13294
+ },
+ {
+ "date": "2014-03-18",
+ "value3": 33898,
+ "value2": 17686,
+ "value1": 15860
+ },
+ {
+ "date": "2014-03-19",
+ "value3": 32549,
+ "value2": 19989,
+ "value1": 12153
+ },
+ {
+ "date": "2014-03-20",
+ "value3": 32990,
+ "value2": 17285,
+ "value1": 15822
+ },
+ {
+ "date": "2014-03-21",
+ "value3": 31703,
+ "value2": 15461,
+ "value1": 13681
+ },
+ {
+ "date": "2014-03-22",
+ "value3": 28348,
+ "value2": 18088,
+ "value1": 11944
+ },
+ {
+ "date": "2014-03-23",
+ "value3": 32284,
+ "value2": 19755,
+ "value1": 12479
+ },
+ {
+ "date": "2014-03-24",
+ "value3": 34991,
+ "value2": 19796,
+ "value1": 12171
+ },
+ {
+ "date": "2014-03-25",
+ "value3": 34395,
+ "value2": 20606,
+ "value1": 12889
+ },
+ {
+ "date": "2014-03-26",
+ "value3": 35467,
+ "value2": 23220,
+ "value1": 13169
+ },
+ {
+ "date": "2014-03-27",
+ "value3": 36434,
+ "value2": 26524,
+ "value1": 12952
+ },
+ {
+ "date": "2014-03-28",
+ "value3": 34007,
+ "value2": 27261,
+ "value1": 12141
+ },
+ {
+ "date": "2014-03-29",
+ "value3": 36605,
+ "value2": 28143,
+ "value1": 8420
+ },
+ {
+ "date": "2014-03-30",
+ "value3": 35324,
+ "value2": 29999,
+ "value1": 9551
+ },
+ {
+ "date": "2014-03-31",
+ "value3": 35077,
+ "value2": 33650,
+ "value1": 5917
+ },
+ {
+ "date": "2014-04-01",
+ "value3": 32331,
+ "value2": 37641,
+ "value1": 4555
+ },
+ {
+ "date": "2014-04-02",
+ "value3": 32161,
+ "value2": 40591,
+ "value1": 8205
+ },
+ {
+ "date": "2014-04-03",
+ "value3": 28921,
+ "value2": 39738,
+ "value1": 7119
+ },
+ {
+ "date": "2014-04-04",
+ "value3": 32534,
+ "value2": 39608,
+ "value1": 8866
+ },
+ {
+ "date": "2014-04-05",
+ "value3": 31463,
+ "value2": 40618,
+ "value1": 10712
+ },
+ {
+ "date": "2014-04-06",
+ "value3": 27973,
+ "value2": 36821,
+ "value1": 12396
+ },
+ {
+ "date": "2014-04-07",
+ "value3": 29953,
+ "value2": 34470,
+ "value1": 9679
+ },
+ {
+ "date": "2014-04-08",
+ "value3": 26788,
+ "value2": 31653,
+ "value1": 12035
+ },
+ {
+ "date": "2014-04-09",
+ "value3": 28319,
+ "value2": 30246,
+ "value1": 15903
+ },
+ {
+ "date": "2014-04-10",
+ "value3": 25536,
+ "value2": 32591,
+ "value1": 12835
+ },
+ {
+ "date": "2014-04-11",
+ "value3": 26710,
+ "value2": 34847,
+ "value1": 10734
+ },
+ {
+ "date": "2014-04-12",
+ "value3": 28521,
+ "value2": 36313,
+ "value1": 8157
+ },
+ {
+ "date": "2014-04-13",
+ "value3": 29304,
+ "value2": 37283,
+ "value1": 7307
+ },
+ {
+ "date": "2014-04-14",
+ "value3": 26847,
+ "value2": 35552,
+ "value1": 3414
+ },
+ {
+ "date": "2014-04-15",
+ "value3": 23252,
+ "value2": 33905,
+ "value1": 622
+ },
+ {
+ "date": "2014-04-16",
+ "value3": 21251,
+ "value2": 37098,
+ "value1": 3710
+ },
+ {
+ "date": "2014-04-17",
+ "value3": 21938,
+ "value2": 35414,
+ "value1": 2900
+ },
+ {
+ "date": "2014-04-18",
+ "value3": 19210,
+ "value2": 35479,
+ "value1": 4723
+ },
+ {
+ "date": "2014-04-19",
+ "value3": 17765,
+ "value2": 35822,
+ "value1": 7656
+ },
+ {
+ "date": "2014-04-20",
+ "value3": 15064,
+ "value2": 32006,
+ "value1": 5948
+ },
+ {
+ "date": "2014-04-21",
+ "value3": 16166,
+ "value2": 35829,
+ "value1": 4471
+ },
+ {
+ "date": "2014-04-22",
+ "value3": 14336,
+ "value2": 38851,
+ "value1": 6870
+ },
+ {
+ "date": "2014-04-23",
+ "value3": 18145,
+ "value2": 42598,
+ "value1": 4625
+ },
+ {
+ "date": "2014-04-24",
+ "value3": 20986,
+ "value2": 41071,
+ "value1": 4396
+ },
+ {
+ "date": "2014-04-25",
+ "value3": 21492,
+ "value2": 43611,
+ "value1": 5542
+ },
+ {
+ "date": "2014-04-26",
+ "value3": 20712,
+ "value2": 41320,
+ "value1": 7280
+ },
+ {
+ "date": "2014-04-27",
+ "value3": 18048,
+ "value2": 39232,
+ "value1": 3426
+ },
+ {
+ "date": "2014-04-28",
+ "value3": 17747,
+ "value2": 42156,
+ "value1": 4539
+ }
+] \ No newline at end of file
diff --git a/priv/static/metrics-graphics-3.0-alpha3/examples/data/neg1.json b/priv/static/metrics-graphics-3.0-alpha3/examples/data/neg1.json
new file mode 100644
index 0000000..f12a4ca
--- /dev/null
+++ b/priv/static/metrics-graphics-3.0-alpha3/examples/data/neg1.json
@@ -0,0 +1,602 @@
+[
+ {
+ "date": "2013-10-01",
+ "value": 0.0
+ },
+ {
+ "date": "2013-10-02",
+ "value": -20.27860065952477
+ },
+ {
+ "date": "2013-10-03",
+ "value": -12.426109787612926
+ },
+ {
+ "date": "2013-10-04",
+ "value": -17.699256257379318
+ },
+ {
+ "date": "2013-10-05",
+ "value": -22.019134369994354
+ },
+ {
+ "date": "2013-10-06",
+ "value": -41.59885296861614
+ },
+ {
+ "date": "2013-10-07",
+ "value": -31.867314787877127
+ },
+ {
+ "date": "2013-10-08",
+ "value": -16.68549399939984
+ },
+ {
+ "date": "2013-10-09",
+ "value": -14.214554612147637
+ },
+ {
+ "date": "2013-10-10",
+ "value": -37.100703439565635
+ },
+ {
+ "date": "2013-10-11",
+ "value": -41.716391973782905
+ },
+ {
+ "date": "2013-10-12",
+ "value": -60.65986986496344
+ },
+ {
+ "date": "2013-10-13",
+ "value": -65.88269292682585
+ },
+ {
+ "date": "2013-10-14",
+ "value": -85.89811733657307
+ },
+ {
+ "date": "2013-10-15",
+ "value": -87.57011580082312
+ },
+ {
+ "date": "2013-10-16",
+ "value": -69.1076591319889
+ },
+ {
+ "date": "2013-10-17",
+ "value": -69.71829820893743
+ },
+ {
+ "date": "2013-10-18",
+ "value": -48.07710064468784
+ },
+ {
+ "date": "2013-10-19",
+ "value": -42.02312145221815
+ },
+ {
+ "date": "2013-10-20",
+ "value": -36.94872786920486
+ },
+ {
+ "date": "2013-10-21",
+ "value": -26.283993993694217
+ },
+ {
+ "date": "2013-10-22",
+ "value": -41.683357633072106
+ },
+ {
+ "date": "2013-10-23",
+ "value": -48.410135784779435
+ },
+ {
+ "date": "2013-10-24",
+ "value": -24.647894376874603
+ },
+ {
+ "date": "2013-10-25",
+ "value": -24.48313857183973
+ },
+ {
+ "date": "2013-10-26",
+ "value": -30.775646331124953
+ },
+ {
+ "date": "2013-10-27",
+ "value": -42.353653361246884
+ },
+ {
+ "date": "2013-10-28",
+ "value": -56.408927207093086
+ },
+ {
+ "date": "2013-10-29",
+ "value": -40.78984664417509
+ },
+ {
+ "date": "2013-10-30",
+ "value": -41.42605076469138
+ },
+ {
+ "date": "2013-10-31",
+ "value": -18.09604151517472
+ },
+ {
+ "date": "2013-11-01",
+ "value": 2.0546535501343186
+ },
+ {
+ "date": "2013-11-02",
+ "value": 16.427200269275257
+ },
+ {
+ "date": "2013-11-03",
+ "value": 36.26021813729312
+ },
+ {
+ "date": "2013-11-04",
+ "value": 17.943623384419123
+ },
+ {
+ "date": "2013-11-05",
+ "value": 17.640349147379087
+ },
+ {
+ "date": "2013-11-06",
+ "value": 28.733924995418647
+ },
+ {
+ "date": "2013-11-07",
+ "value": 43.17866048300303
+ },
+ {
+ "date": "2013-11-08",
+ "value": 42.352421757240364
+ },
+ {
+ "date": "2013-11-09",
+ "value": 20.96374796987576
+ },
+ {
+ "date": "2013-11-10",
+ "value": 0.4817825186157414
+ },
+ {
+ "date": "2013-11-11",
+ "value": 4.454052949905262
+ },
+ {
+ "date": "2013-11-12",
+ "value": 9.903521845328488
+ },
+ {
+ "date": "2013-11-13",
+ "value": -9.659938196685449
+ },
+ {
+ "date": "2013-11-14",
+ "value": -1.6572458262441714
+ },
+ {
+ "date": "2013-11-15",
+ "value": -19.421347615158197
+ },
+ {
+ "date": "2013-11-16",
+ "value": -5.133047713617817
+ },
+ {
+ "date": "2013-11-17",
+ "value": 7.142073986101426
+ },
+ {
+ "date": "2013-11-18",
+ "value": 19.965752044244944
+ },
+ {
+ "date": "2013-11-19",
+ "value": 34.06855156342502
+ },
+ {
+ "date": "2013-11-20",
+ "value": 32.035712731383306
+ },
+ {
+ "date": "2013-11-21",
+ "value": 26.800280474507574
+ },
+ {
+ "date": "2013-11-22",
+ "value": 36.74472173965269
+ },
+ {
+ "date": "2013-11-23",
+ "value": 17.635258758794258
+ },
+ {
+ "date": "2013-11-24",
+ "value": 21.70157569545806
+ },
+ {
+ "date": "2013-11-25",
+ "value": 12.880215322765117
+ },
+ {
+ "date": "2013-11-26",
+ "value": -1.6952234072651535
+ },
+ {
+ "date": "2013-11-27",
+ "value": -25.709873487640706
+ },
+ {
+ "date": "2013-11-28",
+ "value": -24.333141952222054
+ },
+ {
+ "date": "2013-11-29",
+ "value": -23.101049395363514
+ },
+ {
+ "date": "2013-11-30",
+ "value": -30.77467592550588
+ },
+ {
+ "date": "2013-12-01",
+ "value": -52.484803998469324
+ },
+ {
+ "date": "2013-12-02",
+ "value": -59.967129097767554
+ },
+ {
+ "date": "2013-12-03",
+ "value": -58.54448864190029
+ },
+ {
+ "date": "2013-12-04",
+ "value": -35.733861688599625
+ },
+ {
+ "date": "2013-12-05",
+ "value": -49.95861223226006
+ },
+ {
+ "date": "2013-12-06",
+ "value": -68.88793877584408
+ },
+ {
+ "date": "2013-12-07",
+ "value": -50.428275259634844
+ },
+ {
+ "date": "2013-12-08",
+ "value": -40.26117556623101
+ },
+ {
+ "date": "2013-12-09",
+ "value": -38.891176869589806
+ },
+ {
+ "date": "2013-12-10",
+ "value": -59.758690871453695
+ },
+ {
+ "date": "2013-12-11",
+ "value": -71.1695554284355
+ },
+ {
+ "date": "2013-12-12",
+ "value": -90.63524940599096
+ },
+ {
+ "date": "2013-12-13",
+ "value": -79.23423804726241
+ },
+ {
+ "date": "2013-12-14",
+ "value": -71.25861388735568
+ },
+ {
+ "date": "2013-12-15",
+ "value": -60.61596323199725
+ },
+ {
+ "date": "2013-12-16",
+ "value": -62.93902244769705
+ },
+ {
+ "date": "2013-12-17",
+ "value": -41.22170848850722
+ },
+ {
+ "date": "2013-12-18",
+ "value": -27.226208027424434
+ },
+ {
+ "date": "2013-12-19",
+ "value": -7.309085309368637
+ },
+ {
+ "date": "2013-12-20",
+ "value": 3.670426015191861
+ },
+ {
+ "date": "2013-12-21",
+ "value": 19.473948613489632
+ },
+ {
+ "date": "2013-12-22",
+ "value": 40.415945876438144
+ },
+ {
+ "date": "2013-12-23",
+ "value": 31.289641086998923
+ },
+ {
+ "date": "2013-12-24",
+ "value": 17.434969637396232
+ },
+ {
+ "date": "2013-12-25",
+ "value": 30.21158378387427
+ },
+ {
+ "date": "2013-12-26",
+ "value": 30.727072719951824
+ },
+ {
+ "date": "2013-12-27",
+ "value": 20.184828808977333
+ },
+ {
+ "date": "2013-12-28",
+ "value": 27.76791048820225
+ },
+ {
+ "date": "2013-12-29",
+ "value": 34.40666779673991
+ },
+ {
+ "date": "2013-12-30",
+ "value": 28.662553475743806
+ },
+ {
+ "date": "2013-12-31",
+ "value": 20.816765875588956
+ },
+ {
+ "date": "2014-01-01",
+ "value": 30.498234516361673
+ },
+ {
+ "date": "2014-01-02",
+ "value": 6.549837407292948
+ },
+ {
+ "date": "2014-01-03",
+ "value": -17.03978957481648
+ },
+ {
+ "date": "2014-01-04",
+ "value": -6.201247455250156
+ },
+ {
+ "date": "2014-01-05",
+ "value": -9.481910347672848
+ },
+ {
+ "date": "2014-01-06",
+ "value": -1.4927745588584092
+ },
+ {
+ "date": "2014-01-07",
+ "value": 7.015746206056052
+ },
+ {
+ "date": "2014-01-08",
+ "value": 16.24056736124951
+ },
+ {
+ "date": "2014-01-09",
+ "value": 40.86145060910893
+ },
+ {
+ "date": "2014-01-10",
+ "value": 30.561347738520645
+ },
+ {
+ "date": "2014-01-11",
+ "value": 7.104703671937518
+ },
+ {
+ "date": "2014-01-12",
+ "value": 30.52693531793409
+ },
+ {
+ "date": "2014-01-13",
+ "value": 43.612806638528454
+ },
+ {
+ "date": "2014-01-14",
+ "value": 20.25247412642843
+ },
+ {
+ "date": "2014-01-15",
+ "value": 7.141936114658641
+ },
+ {
+ "date": "2014-01-16",
+ "value": -10.81374417310036
+ },
+ {
+ "date": "2014-01-17",
+ "value": 13.268210809685325
+ },
+ {
+ "date": "2014-01-18",
+ "value": 9.593303343135403
+ },
+ {
+ "date": "2014-01-19",
+ "value": 9.190238080819555
+ },
+ {
+ "date": "2014-01-20",
+ "value": -7.087595978474408
+ },
+ {
+ "date": "2014-01-21",
+ "value": 16.112869601906773
+ },
+ {
+ "date": "2014-01-22",
+ "value": 19.92397510159386
+ },
+ {
+ "date": "2014-01-23",
+ "value": 33.4964486295363
+ },
+ {
+ "date": "2014-01-24",
+ "value": 46.4831931105589
+ },
+ {
+ "date": "2014-01-25",
+ "value": 22.484343494394732
+ },
+ {
+ "date": "2014-01-26",
+ "value": 9.574360390216658
+ },
+ {
+ "date": "2014-01-27",
+ "value": 12.56929545850477
+ },
+ {
+ "date": "2014-01-28",
+ "value": -0.14595957202229037
+ },
+ {
+ "date": "2014-01-29",
+ "value": -14.696983674286617
+ },
+ {
+ "date": "2014-01-30",
+ "value": -15.237944850705059
+ },
+ {
+ "date": "2014-01-31",
+ "value": -1.7882058112963062
+ },
+ {
+ "date": "2014-02-01",
+ "value": -7.860538889362351
+ },
+ {
+ "date": "2014-02-02",
+ "value": 8.444727352087527
+ },
+ {
+ "date": "2014-02-03",
+ "value": 32.30058738777103
+ },
+ {
+ "date": "2014-02-04",
+ "value": 16.055786840333848
+ },
+ {
+ "date": "2014-02-05",
+ "value": -0.36610893414817625
+ },
+ {
+ "date": "2014-02-06",
+ "value": -1.1025132187248678
+ },
+ {
+ "date": "2014-02-07",
+ "value": 16.48048170957292
+ },
+ {
+ "date": "2014-02-08",
+ "value": 30.920083106250665
+ },
+ {
+ "date": "2014-02-09",
+ "value": 9.793945311635703
+ },
+ {
+ "date": "2014-02-10",
+ "value": -14.741798239121763
+ },
+ {
+ "date": "2014-02-11",
+ "value": 9.788165531444847
+ },
+ {
+ "date": "2014-02-12",
+ "value": -8.119237390130131
+ },
+ {
+ "date": "2014-02-13",
+ "value": -1.1782643021314554
+ },
+ {
+ "date": "2014-02-14",
+ "value": 7.310002841362066
+ },
+ {
+ "date": "2014-02-15",
+ "value": -6.0549226820141255
+ },
+ {
+ "date": "2014-02-16",
+ "value": 8.311998864819806
+ },
+ {
+ "date": "2014-02-17",
+ "value": 2.2233224632177393
+ },
+ {
+ "date": "2014-02-18",
+ "value": -18.946268533746085
+ },
+ {
+ "date": "2014-02-19",
+ "value": -5.889102580833665
+ },
+ {
+ "date": "2014-02-20",
+ "value": -0.19481412319894353
+ },
+ {
+ "date": "2014-02-21",
+ "value": -1.9196952442973252
+ },
+ {
+ "date": "2014-02-22",
+ "value": -25.056284352606756
+ },
+ {
+ "date": "2014-02-23",
+ "value": -32.09293779807747
+ },
+ {
+ "date": "2014-02-24",
+ "value": -55.77733578681833
+ },
+ {
+ "date": "2014-02-25",
+ "value": -73.55650805303047
+ },
+ {
+ "date": "2014-02-26",
+ "value": -78.44939933625979
+ },
+ {
+ "date": "2014-02-27",
+ "value": -61.75086522568682
+ }
+] \ No newline at end of file
diff --git a/priv/static/metrics-graphics-3.0-alpha3/examples/data/neg2.json b/priv/static/metrics-graphics-3.0-alpha3/examples/data/neg2.json
new file mode 100644
index 0000000..00bdbcc
--- /dev/null
+++ b/priv/static/metrics-graphics-3.0-alpha3/examples/data/neg2.json
@@ -0,0 +1,30 @@
+[
+ {
+ "measure": 43.34,
+ "subject": 32.0
+ },
+ {
+ "measure": 53.3423,
+ "subject": 20.27
+ },
+ {
+ "measure": -10.343,
+ "subject": 12.42
+ },
+ {
+ "measure": -1,
+ "subject": -1.69
+ },
+ {
+ "measure": 10,
+ "subject": -10.01
+ },
+ {
+ "measure": 25,
+ "subject": -21.59
+ },
+ {
+ "measure": -20.343,
+ "subject": -31.86
+ }
+] \ No newline at end of file
diff --git a/priv/static/metrics-graphics-3.0-alpha3/examples/data/nh-gop.tsv b/priv/static/metrics-graphics-3.0-alpha3/examples/data/nh-gop.tsv
new file mode 100644
index 0000000..e0dc414
--- /dev/null
+++ b/priv/static/metrics-graphics-3.0-alpha3/examples/data/nh-gop.tsv
@@ -0,0 +1,6 @@
+Poll Date Trump Rubio Cruz Christie Kasich Bush Carson Fiorina Paul Huckabee Santorum Pataki Graham Spread
+RCP Average 12/13 - 1/6 27.0 13.8 11.5 11.3 10.0 8.3 5.0 4.8 3.8 0.3 0.3 0.0 0.0 Trump +13.2
+PPP (D) 1/4 - 1/6 29 15 10 11 11 10 4 4 3 1 1 -- -- Trump +14
+ARG 12/20 - 12/20 21 15 10 12 13 7 6 5 4 0 0 0 -- Trump +6
+CBS News/YouGov 12/14 - 12/17 32 13 14 11 8 6 5 4 5 0 0 0 0 Trump +18
+Boston Herald 12/13 - 12/17 26 12 12 11 8 10 5 6 3 0 0 0 0 Trump +14 \ No newline at end of file
diff --git a/priv/static/metrics-graphics-3.0-alpha3/examples/data/points1.json b/priv/static/metrics-graphics-3.0-alpha3/examples/data/points1.json
new file mode 100644
index 0000000..c3b17f7
--- /dev/null
+++ b/priv/static/metrics-graphics-3.0-alpha3/examples/data/points1.json
@@ -0,0 +1,802 @@
+[
+ {
+ "u": "cat_10",
+ "w": 1.243871075541485,
+ "v": "other",
+ "y": 211.80029085913867,
+ "x": 156.56698521169255,
+ "z": 1.2592730408041488
+ },
+ {
+ "u": "cat_9",
+ "w": 0.18317089873596637,
+ "v": "other",
+ "y": 196.93116746887526,
+ "x": 182.9226627644747,
+ "z": 1.5420852412869692
+ },
+ {
+ "u": "cat_11",
+ "w": 1.6440310398846552,
+ "v": "other",
+ "y": 198.15275935129918,
+ "x": 180.46587284398524,
+ "z": 1.0607952297441374
+ },
+ {
+ "u": "cat_7",
+ "w": -0.7500939816017782,
+ "v": "other",
+ "y": 146.31202991730444,
+ "x": 102.35636312891461,
+ "z": 0.30940991631448456
+ },
+ {
+ "u": "cat_10",
+ "w": 0.46988959503208527,
+ "v": "other",
+ "y": 118.66304545624911,
+ "x": 175.8035980586206,
+ "z": 1.589820005614669
+ },
+ {
+ "u": "cat_3",
+ "w": 2.4359184943127667,
+ "v": "other",
+ "y": 214.0123663650676,
+ "x": 146.24883586964125,
+ "z": -0.8716888194991463
+ },
+ {
+ "u": "cat_8",
+ "w": -1.2794477449179462,
+ "v": "other",
+ "y": 165.45000531931404,
+ "x": 138.83167553877533,
+ "z": 0.365531221729956
+ },
+ {
+ "u": "other",
+ "w": 0.6533051004485967,
+ "v": "cat_0",
+ "y": 133.99465910929834,
+ "x": 119.39730303633817,
+ "z": 1.270978774871001
+ },
+ {
+ "u": "cat_13",
+ "w": -0.4527608603464446,
+ "v": "other",
+ "y": 262.89541671133776,
+ "x": 209.42459012646566,
+ "z": 0.15317285949553272
+ },
+ {
+ "u": "cat_12",
+ "w": 0.06915365942882012,
+ "v": "cat_0",
+ "y": 139.0123425273913,
+ "x": 140.27809963809628,
+ "z": 1.0850789531923752
+ },
+ {
+ "u": "cat_5",
+ "w": 0.18422289588498686,
+ "v": "other",
+ "y": 123.5696526089444,
+ "x": 178.47540577185424,
+ "z": 0.40291991519951875
+ },
+ {
+ "u": "cat_4",
+ "w": -0.4338210953783319,
+ "v": "cat_1",
+ "y": 161.93728020049016,
+ "x": 166.16502625602917,
+ "z": 0.5093424182003234
+ },
+ {
+ "u": "cat_7",
+ "w": 1.40583885575462,
+ "v": "other",
+ "y": 155.63962440916566,
+ "x": 99.85204107456539,
+ "z": 1.2530442449107233
+ },
+ {
+ "u": "cat_10",
+ "w": -0.4275099099676807,
+ "v": "other",
+ "y": 176.85285727542032,
+ "x": 161.42701652535786,
+ "z": 0.8230669881454445
+ },
+ {
+ "u": "cat_4",
+ "w": 1.463656501437303,
+ "v": "cat_1",
+ "y": 246.6642430026098,
+ "x": 73.48368170456627,
+ "z": 1.0052929735375302
+ },
+ {
+ "u": "cat_11",
+ "w": 0.013089161287933138,
+ "v": "other",
+ "y": 156.36354536529558,
+ "x": 243.2026715373837,
+ "z": 0.39667694750274274
+ },
+ {
+ "u": "cat_12",
+ "w": 0.36730326802039404,
+ "v": "other",
+ "y": 156.71697413402487,
+ "x": 148.27450037397765,
+ "z": -1.4105618351561287
+ },
+ {
+ "u": "cat_14",
+ "w": -0.06953747774947772,
+ "v": "other",
+ "y": 141.22433267951084,
+ "x": 69.06616491304716,
+ "z": 0.475924622911404
+ },
+ {
+ "u": "other",
+ "w": 0.517415189557197,
+ "v": "other",
+ "y": 115.95680666029197,
+ "x": 153.0898637311175,
+ "z": 0.9443947812526814
+ },
+ {
+ "u": "cat_3",
+ "w": 0.5670223685982718,
+ "v": "other",
+ "y": 227.27960266143467,
+ "x": 153.22490080491232,
+ "z": 1.32067405076989
+ },
+ {
+ "u": "cat_7",
+ "w": 0.5376290623874869,
+ "v": "other",
+ "y": 260.9119300068415,
+ "x": 158.76997596111525,
+ "z": 0.26196386810779426
+ },
+ {
+ "u": "cat_8",
+ "w": 2.168516664994767,
+ "v": "other",
+ "y": 170.77570545745968,
+ "x": 135.65940169018805,
+ "z": 0.9162849263421061
+ },
+ {
+ "u": "cat_5",
+ "w": 2.311955371948698,
+ "v": "other",
+ "y": 243.37468134084048,
+ "x": 20.66820288532847,
+ "z": -0.322645627898664
+ },
+ {
+ "u": "cat_4",
+ "w": 1.8314759939943595,
+ "v": "other",
+ "y": 214.1727802647768,
+ "x": 216.61746891013505,
+ "z": 2.4147498286441165
+ },
+ {
+ "u": "other",
+ "w": 0.8365279958031904,
+ "v": "other",
+ "y": 100.90575192733515,
+ "x": 151.6306779403549,
+ "z": 0.8606212265228668
+ },
+ {
+ "u": "cat_13",
+ "w": -0.26452281419648993,
+ "v": "cat_0",
+ "y": 194.59598730955793,
+ "x": 129.361227705571,
+ "z": 1.0322894496099724
+ },
+ {
+ "u": "cat_13",
+ "w": 2.6043512596594365,
+ "v": "other",
+ "y": 213.8128177957785,
+ "x": 194.6414121394208,
+ "z": 3.280204884184917
+ },
+ {
+ "u": "cat_6",
+ "w": 1.6310983407120137,
+ "v": "other",
+ "y": 163.2658097189387,
+ "x": 187.70506769054072,
+ "z": 1.3488889788600984
+ },
+ {
+ "u": "cat_8",
+ "w": 0.6487974580274094,
+ "v": "other",
+ "y": 194.3209257079902,
+ "x": 192.10028088047798,
+ "z": -0.07036372606337338
+ },
+ {
+ "u": "cat_10",
+ "w": 1.3927144738318111,
+ "v": "other",
+ "y": 161.3486689563104,
+ "x": 86.73894049392862,
+ "z": 0.1537876062955914
+ },
+ {
+ "u": "cat_9",
+ "w": -0.3771368838057665,
+ "v": "other",
+ "y": 182.55687300867896,
+ "x": 201.1112292465731,
+ "z": -0.058098755927163515
+ },
+ {
+ "u": "cat_0",
+ "w": -0.6345913552330389,
+ "v": "other",
+ "y": 165.80314397714827,
+ "x": 206.7182591446124,
+ "z": 1.4845564495064427
+ },
+ {
+ "u": "cat_0",
+ "w": 0.6855019579009463,
+ "v": "cat_1",
+ "y": 159.66118937446728,
+ "x": 192.39649008863876,
+ "z": 0.055873071009385766
+ },
+ {
+ "u": "cat_6",
+ "w": 2.964882131756106,
+ "v": "other",
+ "y": 241.84769149238159,
+ "x": 111.35023940160411,
+ "z": 0.167414971004892
+ },
+ {
+ "u": "other",
+ "w": -0.4506378010737888,
+ "v": "other",
+ "y": 90.4639669582562,
+ "x": 158.90001697899683,
+ "z": 1.1696787253371819
+ },
+ {
+ "u": "cat_0",
+ "w": 1.2656151949587624,
+ "v": "other",
+ "y": 183.02945581640645,
+ "x": 180.4213167593254,
+ "z": 2.0539930046863035
+ },
+ {
+ "u": "cat_13",
+ "w": 1.228801369090003,
+ "v": "other",
+ "y": 277.13369884311936,
+ "x": 80.15664163346004,
+ "z": 2.2937904251948638
+ },
+ {
+ "u": "cat_5",
+ "w": 2.0896213510871937,
+ "v": "other",
+ "y": 163.72382240169802,
+ "x": 215.41216187620037,
+ "z": 2.553028570447125
+ },
+ {
+ "u": "cat_15",
+ "w": 1.0981586322470924,
+ "v": "other",
+ "y": 109.2838491053391,
+ "x": 184.09570421897956,
+ "z": 0.44759620112619647
+ },
+ {
+ "u": "other",
+ "w": 1.3457067544720736,
+ "v": "other",
+ "y": 171.16629782677862,
+ "x": 213.12963803437316,
+ "z": 0.7270493828061404
+ },
+ {
+ "u": "cat_13",
+ "w": -0.7076617244518462,
+ "v": "other",
+ "y": 144.05587078713071,
+ "x": 184.28906651578978,
+ "z": 1.382134562867984
+ },
+ {
+ "u": "cat_0",
+ "w": -0.2800595737017382,
+ "v": "other",
+ "y": 193.27473606725474,
+ "x": 154.94633537134789,
+ "z": -0.33791235399367947
+ },
+ {
+ "u": "cat_14",
+ "w": 0.4456793621586681,
+ "v": "other",
+ "y": 125.1308061934427,
+ "x": 123.90267987241343,
+ "z": 2.3230978938654645
+ },
+ {
+ "u": "cat_5",
+ "w": 3.075103103171694,
+ "v": "cat_0",
+ "y": 154.8755877624397,
+ "x": 61.020238047163375,
+ "z": 1.6674654330131888
+ },
+ {
+ "u": "other",
+ "w": 0.16319305741807733,
+ "v": "cat_0",
+ "y": 114.08645682777497,
+ "x": 225.28654361195518,
+ "z": 0.4242182000961613
+ },
+ {
+ "u": "cat_6",
+ "w": 1.9417162589422323,
+ "v": "other",
+ "y": 185.28537858495014,
+ "x": 155.5736376536581,
+ "z": 1.1747492195973144
+ },
+ {
+ "u": "cat_4",
+ "w": 1.155787735870216,
+ "v": "cat_1",
+ "y": 183.24930292147863,
+ "x": 115.40643586463635,
+ "z": 0.19242660628339903
+ },
+ {
+ "u": "other",
+ "w": 0.6070329867687532,
+ "v": "other",
+ "y": 57.398818613660296,
+ "x": 219.87611544574744,
+ "z": 1.1095208041769122
+ },
+ {
+ "u": "cat_6",
+ "w": 0.4083905726447342,
+ "v": "other",
+ "y": 175.40387812166918,
+ "x": 224.68335734038368,
+ "z": -0.42207104629857617
+ },
+ {
+ "u": "cat_5",
+ "w": 0.6585907631358738,
+ "v": "cat_1",
+ "y": 124.05051069396585,
+ "x": 127.07766432478591,
+ "z": 0.1354114111502046
+ },
+ {
+ "u": "cat_10",
+ "w": 1.734882212854999,
+ "v": "cat_1",
+ "y": 143.78518104207086,
+ "x": 198.75776145611215,
+ "z": -0.12283925137929064
+ },
+ {
+ "u": "other",
+ "w": 0.20503963437937356,
+ "v": "other",
+ "y": 151.75327292745928,
+ "x": 148.9695770940796,
+ "z": 0.564428194218838
+ },
+ {
+ "u": "cat_15",
+ "w": 1.8574692523422356,
+ "v": "other",
+ "y": 306.0898140884456,
+ "x": 147.43144660079602,
+ "z": -0.22413411708624853
+ },
+ {
+ "u": "cat_4",
+ "w": 1.1062688896220425,
+ "v": "other",
+ "y": 212.44397654702615,
+ "x": 195.86829581464062,
+ "z": 0.7453160939357952
+ },
+ {
+ "u": "cat_15",
+ "w": -0.27774340110996487,
+ "v": "cat_0",
+ "y": 122.63707978879633,
+ "x": 95.64182307323996,
+ "z": 0.6430476399500114
+ },
+ {
+ "u": "cat_11",
+ "w": 1.693891428609414,
+ "v": "other",
+ "y": 161.59041244043587,
+ "x": 64.83892325218056,
+ "z": 0.6409468598992659
+ },
+ {
+ "u": "cat_0",
+ "w": 1.8192638452039414,
+ "v": "cat_0",
+ "y": 203.44169192711857,
+ "x": 175.9035258508178,
+ "z": 1.0101903553514529
+ },
+ {
+ "u": "cat_10",
+ "w": 1.6693901234237167,
+ "v": "other",
+ "y": 266.02281722067806,
+ "x": 193.7229721388815,
+ "z": 1.3287927803604402
+ },
+ {
+ "u": "cat_2",
+ "w": 1.6276382654036277,
+ "v": "cat_0",
+ "y": 174.54476940927518,
+ "x": 85.70090208863968,
+ "z": 1.3166929052154481
+ },
+ {
+ "u": "cat_4",
+ "w": 0.893609545984623,
+ "v": "other",
+ "y": 135.20127141724655,
+ "x": 161.0852992807473,
+ "z": 0.7423369081120028
+ },
+ {
+ "u": "cat_8",
+ "w": -0.25726080091728387,
+ "v": "other",
+ "y": 87.98074634203813,
+ "x": 194.6466767641028,
+ "z": 1.171709779521613
+ },
+ {
+ "u": "cat_6",
+ "w": 1.4386749809763226,
+ "v": "other",
+ "y": 154.56889252680085,
+ "x": 137.16494490842896,
+ "z": 1.8319953052292166
+ },
+ {
+ "u": "cat_1",
+ "w": 1.9751827147081238,
+ "v": "other",
+ "y": 150.52324196509258,
+ "x": 51.69078624012406,
+ "z": -0.23529144151246717
+ },
+ {
+ "u": "cat_14",
+ "w": 1.3843184328271165,
+ "v": "other",
+ "y": 160.51323171649904,
+ "x": 169.7361988952806,
+ "z": 1.3970600816965812
+ },
+ {
+ "u": "cat_15",
+ "w": -0.475868599212677,
+ "v": "other",
+ "y": 132.27225542990598,
+ "x": 103.56729490389614,
+ "z": 0.4512210085364755
+ },
+ {
+ "u": "cat_4",
+ "w": 1.2081442447975173,
+ "v": "cat_0",
+ "y": 56.102440394233255,
+ "x": 124.56829572524175,
+ "z": 1.2994110022657026
+ },
+ {
+ "u": "cat_13",
+ "w": 1.736143244910195,
+ "v": "cat_0",
+ "y": 212.5650565277553,
+ "x": 140.4278102663895,
+ "z": 2.3771380059458744
+ },
+ {
+ "u": "cat_14",
+ "w": -0.461785512082463,
+ "v": "cat_1",
+ "y": 101.5707842719089,
+ "x": 196.16957370342342,
+ "z": 2.0950787429883846
+ },
+ {
+ "u": "cat_5",
+ "w": 1.3260330340794257,
+ "v": "cat_1",
+ "y": 195.74556071781365,
+ "x": 36.939138857293585,
+ "z": -0.05847270264086335
+ },
+ {
+ "u": "cat_9",
+ "w": 0.3220908087517964,
+ "v": "other",
+ "y": 221.78294482102933,
+ "x": 74.76586558666337,
+ "z": -0.05817419869022866
+ },
+ {
+ "u": "cat_5",
+ "w": 0.8170251870816604,
+ "v": "other",
+ "y": 179.17790605043118,
+ "x": 232.48747575985655,
+ "z": 1.7029885149441673
+ },
+ {
+ "u": "cat_3",
+ "w": 0.2659811986182221,
+ "v": "cat_1",
+ "y": 192.81824199631728,
+ "x": 140.710358385573,
+ "z": 1.5793646916427102
+ },
+ {
+ "u": "cat_8",
+ "w": 1.2271687489820546,
+ "v": "other",
+ "y": 111.59013545108343,
+ "x": 101.3489243773156,
+ "z": 3.21128318091031
+ },
+ {
+ "u": "cat_13",
+ "w": 1.3499209090064648,
+ "v": "other",
+ "y": 91.89209852687142,
+ "x": 154.6035518322702,
+ "z": 0.6817267324899431
+ },
+ {
+ "u": "cat_0",
+ "w": 2.159235435849202,
+ "v": "other",
+ "y": 158.63631854616588,
+ "x": 120.35802170671863,
+ "z": 0.6067162231097979
+ },
+ {
+ "u": "cat_14",
+ "w": 0.8523794752014957,
+ "v": "other",
+ "y": 76.05793322732642,
+ "x": 138.4115475783541,
+ "z": 0.2967991752860232
+ },
+ {
+ "u": "cat_12",
+ "w": 1.0558373735944235,
+ "v": "other",
+ "y": 124.74002651703651,
+ "x": 157.02907657551447,
+ "z": -0.025374565392791038
+ },
+ {
+ "u": "cat_0",
+ "w": 1.3648422432834806,
+ "v": "cat_1",
+ "y": 203.82847317695288,
+ "x": 152.02003088030492,
+ "z": -0.4421819240850271
+ },
+ {
+ "u": "cat_4",
+ "w": 0.8156055831409262,
+ "v": "other",
+ "y": 95.97296459484079,
+ "x": 78.51455593195435,
+ "z": 1.1994133990162583
+ },
+ {
+ "u": "cat_3",
+ "w": 0.727605537039985,
+ "v": "other",
+ "y": 168.70196209212494,
+ "x": 212.41730028904536,
+ "z": 0.6997491454171789
+ },
+ {
+ "u": "cat_6",
+ "w": 1.262490286926595,
+ "v": "other",
+ "y": 134.65200754480446,
+ "x": 42.54634367887225,
+ "z": 0.5177600909542267
+ },
+ {
+ "u": "cat_8",
+ "w": 1.4837053114286998,
+ "v": "cat_0",
+ "y": 112.28208956177541,
+ "x": 193.95863032046006,
+ "z": 1.0019859410064678
+ },
+ {
+ "u": "cat_8",
+ "w": -0.16895357221403362,
+ "v": "cat_0",
+ "y": 192.98985884826888,
+ "x": 144.96182365337268,
+ "z": 1.4190462447457899
+ },
+ {
+ "u": "cat_16",
+ "w": 1.0468806482899717,
+ "v": "cat_0",
+ "y": 152.86277692393685,
+ "x": 137.2022037296142,
+ "z": 0.4593974450208086
+ },
+ {
+ "u": "cat_6",
+ "w": 2.462089222004976,
+ "v": "cat_1",
+ "y": 178.5621123552027,
+ "x": 142.01082685227874,
+ "z": 0.580699096900331
+ },
+ {
+ "u": "other",
+ "w": -0.9097490420343397,
+ "v": "other",
+ "y": 137.21823856264854,
+ "x": 94.98376759227347,
+ "z": 2.118286289288478
+ },
+ {
+ "u": "cat_5",
+ "w": 0.6155123359814616,
+ "v": "other",
+ "y": 52.94291552982141,
+ "x": 85.57431217669814,
+ "z": -0.09704681018895633
+ },
+ {
+ "u": "cat_11",
+ "w": 1.9468348457441005,
+ "v": "other",
+ "y": 243.07706417763518,
+ "x": 163.35061475046334,
+ "z": 1.178015608927323
+ },
+ {
+ "u": "cat_13",
+ "w": -0.11396040656336393,
+ "v": "other",
+ "y": 102.69550510842956,
+ "x": 105.80547059051209,
+ "z": 1.7309952065474825
+ },
+ {
+ "u": "cat_0",
+ "w": 1.0201819734167836,
+ "v": "other",
+ "y": 226.24093931458543,
+ "x": 128.26413056781655,
+ "z": 0.602354545792653
+ },
+ {
+ "u": "cat_9",
+ "w": 0.41269060095932775,
+ "v": "other",
+ "y": 22.06560060765568,
+ "x": 169.41836118747312,
+ "z": 0.6422396319927962
+ },
+ {
+ "u": "cat_13",
+ "w": 1.1423761297271733,
+ "v": "other",
+ "y": 122.16006750791158,
+ "x": 64.32267243426844,
+ "z": 0.5677725122287971
+ },
+ {
+ "u": "cat_0",
+ "w": -0.4940883354815302,
+ "v": "other",
+ "y": 146.45339448820994,
+ "x": 172.009924725858,
+ "z": 0.5733149663059203
+ },
+ {
+ "u": "cat_12",
+ "w": 2.0427267231236836,
+ "v": "other",
+ "y": 105.09233739863171,
+ "x": 151.8604441328228,
+ "z": -1.0417341971519445
+ },
+ {
+ "u": "cat_0",
+ "w": -0.06844772614894712,
+ "v": "cat_0",
+ "y": 208.74646965359665,
+ "x": 211.0589178490544,
+ "z": 3.033892234816319
+ },
+ {
+ "u": "cat_10",
+ "w": 0.1407531030532979,
+ "v": "other",
+ "y": 212.1295737404453,
+ "x": 157.62156278215423,
+ "z": -0.17802781876760476
+ },
+ {
+ "u": "cat_7",
+ "w": 0.654514275645782,
+ "v": "cat_1",
+ "y": 127.45107550739947,
+ "x": 94.87901525572023,
+ "z": 1.169027403658316
+ },
+ {
+ "u": "cat_15",
+ "w": 2.7361843748627708,
+ "v": "other",
+ "y": 184.8888620082486,
+ "x": 116.81017887336674,
+ "z": -0.5196787907040106
+ },
+ {
+ "u": "other",
+ "w": 0.7134526835944346,
+ "v": "other",
+ "y": 169.9779808978828,
+ "x": 108.48468655071922,
+ "z": 2.4985146493801524
+ },
+ {
+ "u": "cat_1",
+ "w": 2.0017599837707474,
+ "v": "other",
+ "y": 193.69331303548242,
+ "x": 161.953677145996,
+ "z": 0.9928254618909004
+ }
+] \ No newline at end of file
diff --git a/priv/static/metrics-graphics-3.0-alpha3/examples/data/small-range.json b/priv/static/metrics-graphics-3.0-alpha3/examples/data/small-range.json
new file mode 100644
index 0000000..c50d5df
--- /dev/null
+++ b/priv/static/metrics-graphics-3.0-alpha3/examples/data/small-range.json
@@ -0,0 +1,26 @@
+ [
+ {
+ "date": "2014-01-01",
+ "value": 1
+ },
+ {
+ "date": "2014-01-02",
+ "value": 3
+ },
+ {
+ "date": "2014-01-03",
+ "value": 2
+ },
+ {
+ "date": "2014-01-04",
+ "value": 2
+ },
+ {
+ "date": "2014-01-05",
+ "value": 2
+ },
+ {
+ "date": "2014-01-06",
+ "value": 1
+ }
+ ]
diff --git a/priv/static/metrics-graphics-3.0-alpha3/examples/data/some_currency.json b/priv/static/metrics-graphics-3.0-alpha3/examples/data/some_currency.json
new file mode 100644
index 0000000..f84a3ff
--- /dev/null
+++ b/priv/static/metrics-graphics-3.0-alpha3/examples/data/some_currency.json
@@ -0,0 +1,402 @@
+[
+ {
+ "date": "2014-02-01",
+ "value": 15000000
+ },
+ {
+ "date": "2014-02-02",
+ "value": 16487625
+ },
+ {
+ "date": "2014-02-03",
+ "value": 17097434
+ },
+ {
+ "date": "2014-02-04",
+ "value": 17694420
+ },
+ {
+ "date": "2014-02-05",
+ "value": 17014381
+ },
+ {
+ "date": "2014-02-06",
+ "value": 15578984
+ },
+ {
+ "date": "2014-02-07",
+ "value": 14718953
+ },
+ {
+ "date": "2014-02-08",
+ "value": 15020669
+ },
+ {
+ "date": "2014-02-09",
+ "value": 13889722
+ },
+ {
+ "date": "2014-02-10",
+ "value": 13979897
+ },
+ {
+ "date": "2014-02-11",
+ "value": 14595566
+ },
+ {
+ "date": "2014-02-12",
+ "value": 14123256
+ },
+ {
+ "date": "2014-02-13",
+ "value": 14083675
+ },
+ {
+ "date": "2014-02-14",
+ "value": 15068426
+ },
+ {
+ "date": "2014-02-15",
+ "value": 15368056
+ },
+ {
+ "date": "2014-02-16",
+ "value": 15277054
+ },
+ {
+ "date": "2014-02-17",
+ "value": 14376243
+ },
+ {
+ "date": "2014-02-18",
+ "value": 13058892
+ },
+ {
+ "date": "2014-02-19",
+ "value": 12367653
+ },
+ {
+ "date": "2014-02-20",
+ "value": 13184423
+ },
+ {
+ "date": "2014-02-21",
+ "value": 14367203
+ },
+ {
+ "date": "2014-02-22",
+ "value": 14656447
+ },
+ {
+ "date": "2014-02-23",
+ "value": 14724526
+ },
+ {
+ "date": "2014-02-24",
+ "value": 14938129
+ },
+ {
+ "date": "2014-02-25",
+ "value": 14205617
+ },
+ {
+ "date": "2014-02-26",
+ "value": 14596607
+ },
+ {
+ "date": "2014-02-27",
+ "value": 13982597
+ },
+ {
+ "date": "2014-02-28",
+ "value": 15107034
+ },
+ {
+ "date": "2014-03-01",
+ "value": 13646739
+ },
+ {
+ "date": "2014-03-02",
+ "value": 14214763
+ },
+ {
+ "date": "2014-03-03",
+ "value": 14952136
+ },
+ {
+ "date": "2014-03-04",
+ "value": 14643933
+ },
+ {
+ "date": "2014-03-05",
+ "value": 13611435
+ },
+ {
+ "date": "2014-03-06",
+ "value": 12569788
+ },
+ {
+ "date": "2014-03-07",
+ "value": 11344469
+ },
+ {
+ "date": "2014-03-08",
+ "value": 12687132
+ },
+ {
+ "date": "2014-03-09",
+ "value": 11831144
+ },
+ {
+ "date": "2014-03-10",
+ "value": 10480837
+ },
+ {
+ "date": "2014-03-11",
+ "value": 9051161
+ },
+ {
+ "date": "2014-03-12",
+ "value": 9964784
+ },
+ {
+ "date": "2014-03-13",
+ "value": 11035006
+ },
+ {
+ "date": "2014-03-14",
+ "value": 10081289
+ },
+ {
+ "date": "2014-03-15",
+ "value": 9793897
+ },
+ {
+ "date": "2014-03-16",
+ "value": 9177447
+ },
+ {
+ "date": "2014-03-17",
+ "value": 8035348
+ },
+ {
+ "date": "2014-03-18",
+ "value": 6770242
+ },
+ {
+ "date": "2014-03-19",
+ "value": 7272077
+ },
+ {
+ "date": "2014-03-20",
+ "value": 8216348
+ },
+ {
+ "date": "2014-03-21",
+ "value": 8576584
+ },
+ {
+ "date": "2014-03-22",
+ "value": 9421060
+ },
+ {
+ "date": "2014-03-23",
+ "value": 10872288
+ },
+ {
+ "date": "2014-03-24",
+ "value": 9537996
+ },
+ {
+ "date": "2014-03-25",
+ "value": 9560363
+ },
+ {
+ "date": "2014-03-26",
+ "value": 8182813
+ },
+ {
+ "date": "2014-03-27",
+ "value": 9068173
+ },
+ {
+ "date": "2014-03-28",
+ "value": 10390251
+ },
+ {
+ "date": "2014-03-29",
+ "value": 9714081
+ },
+ {
+ "date": "2014-03-30",
+ "value": 9994670
+ },
+ {
+ "date": "2014-03-31",
+ "value": 9317878
+ },
+ {
+ "date": "2014-04-01",
+ "value": 8209077
+ },
+ {
+ "date": "2014-04-02",
+ "value": 9230830
+ },
+ {
+ "date": "2014-04-03",
+ "value": 8978342
+ },
+ {
+ "date": "2014-04-04",
+ "value": 8361854
+ },
+ {
+ "date": "2014-04-05",
+ "value": 9345999
+ },
+ {
+ "date": "2014-04-06",
+ "value": 7965407
+ },
+ {
+ "date": "2014-04-07",
+ "value": 8909276
+ },
+ {
+ "date": "2014-04-08",
+ "value": 8935489
+ },
+ {
+ "date": "2014-04-09",
+ "value": 8634997
+ },
+ {
+ "date": "2014-04-10",
+ "value": 8795592
+ },
+ {
+ "date": "2014-04-11",
+ "value": 7513086
+ },
+ {
+ "date": "2014-04-12",
+ "value": 8408561
+ },
+ {
+ "date": "2014-04-13",
+ "value": 7780649
+ },
+ {
+ "date": "2014-04-14",
+ "value": 7524281
+ },
+ {
+ "date": "2014-04-15",
+ "value": 8498062
+ },
+ {
+ "date": "2014-04-16",
+ "value": 7922453
+ },
+ {
+ "date": "2014-04-17",
+ "value": 9304312
+ },
+ {
+ "date": "2014-04-18",
+ "value": 8199457
+ },
+ {
+ "date": "2014-04-19",
+ "value": 8926136
+ },
+ {
+ "date": "2014-04-20",
+ "value": 7558184
+ },
+ {
+ "date": "2014-04-21",
+ "value": 6417511
+ },
+ {
+ "date": "2014-04-22",
+ "value": 5748831
+ },
+ {
+ "date": "2014-04-23",
+ "value": 6503022
+ },
+ {
+ "date": "2014-04-24",
+ "value": 6429606
+ },
+ {
+ "date": "2014-04-25",
+ "value": 5057410
+ },
+ {
+ "date": "2014-04-26",
+ "value": 5924669
+ },
+ {
+ "date": "2014-04-27",
+ "value": 4728239
+ },
+ {
+ "date": "2014-04-28",
+ "value": 3918540
+ },
+ {
+ "date": "2014-04-29",
+ "value": 2821473
+ },
+ {
+ "date": "2014-04-30",
+ "value": 1995781
+ },
+ {
+ "date": "2014-05-01",
+ "value": 1123626
+ },
+ {
+ "date": "2014-05-02",
+ "value": 516067
+ },
+ {
+ "date": "2014-05-03",
+ "value": 816831
+ },
+ {
+ "date": "2014-05-04",
+ "value": 816831
+ },
+ {
+ "date": "2014-05-05",
+ "value": 816831
+ },
+ {
+ "date": "2014-05-06",
+ "value": 1103818
+ },
+ {
+ "date": "2014-05-07",
+ "value": 958188
+ },
+ {
+ "date": "2014-05-08",
+ "value": 592995
+ },
+ {
+ "date": "2014-05-09",
+ "value": 856066
+ },
+ {
+ "date": "2014-05-10",
+ "value": 1766761
+ },
+ {
+ "date": "2014-05-11",
+ "value": 1330557
+ }
+] \ No newline at end of file
diff --git a/priv/static/metrics-graphics-3.0-alpha3/examples/data/some_percentage.json b/priv/static/metrics-graphics-3.0-alpha3/examples/data/some_percentage.json
new file mode 100644
index 0000000..38e73a8
--- /dev/null
+++ b/priv/static/metrics-graphics-3.0-alpha3/examples/data/some_percentage.json
@@ -0,0 +1,482 @@
+[[
+ {
+ "date": "2014-01-01",
+ "value": 0.5
+ },
+ {
+ "date": "2014-01-02",
+ "value": 0.5038520341226763
+ },
+ {
+ "date": "2014-01-03",
+ "value": 0.501041575106488
+ },
+ {
+ "date": "2014-01-04",
+ "value": 0.4984465228974178
+ },
+ {
+ "date": "2014-01-05",
+ "value": 0.5003884470629179
+ },
+ {
+ "date": "2014-01-06",
+ "value": 0.5031564481343913
+ },
+ {
+ "date": "2014-01-07",
+ "value": 0.5078607730320586
+ },
+ {
+ "date": "2014-01-08",
+ "value": 0.5041111109212457
+ },
+ {
+ "date": "2014-01-09",
+ "value": 0.5069321806604172
+ },
+ {
+ "date": "2014-01-10",
+ "value": 0.5026154784253497
+ },
+ {
+ "date": "2014-01-11",
+ "value": 0.5065241796178874
+ },
+ {
+ "date": "2014-01-12",
+ "value": 0.5018867686214743
+ },
+ {
+ "date": "2014-01-13",
+ "value": 0.5043001746033196
+ },
+ {
+ "date": "2014-01-14",
+ "value": 0.504404210966798
+ },
+ {
+ "date": "2014-01-15",
+ "value": 0.5075142056997484
+ },
+ {
+ "date": "2014-01-16",
+ "value": 0.5040481679854495
+ },
+ {
+ "date": "2014-01-17",
+ "value": 0.5079346812032152
+ },
+ {
+ "date": "2014-01-18",
+ "value": 0.5049685486383059
+ },
+ {
+ "date": "2014-01-19",
+ "value": 0.501658667449764
+ },
+ {
+ "date": "2014-01-20",
+ "value": 0.5062171996366631
+ },
+ {
+ "date": "2014-01-21",
+ "value": 0.5099836766672865
+ },
+ {
+ "date": "2014-01-22",
+ "value": 0.5142091385990467
+ },
+ {
+ "date": "2014-01-23",
+ "value": 0.51791294997185
+ },
+ {
+ "date": "2014-01-24",
+ "value": 0.515437378755626
+ },
+ {
+ "date": "2014-01-25",
+ "value": 0.5108648416664958
+ },
+ {
+ "date": "2014-01-26",
+ "value": 0.5066707579977331
+ },
+ {
+ "date": "2014-01-27",
+ "value": 0.5082993886500073
+ },
+ {
+ "date": "2014-01-28",
+ "value": 0.508072158918364
+ },
+ {
+ "date": "2014-01-29",
+ "value": 0.5118157526668022
+ },
+ {
+ "date": "2014-01-30",
+ "value": 0.5086344978955772
+ },
+ {
+ "date": "2014-01-31",
+ "value": 0.5044280885188968
+ },
+ {
+ "date": "2014-02-01",
+ "value": 0.5030791435263089
+ },
+ {
+ "date": "2014-02-02",
+ "value": 0.502718430201384
+ },
+ {
+ "date": "2014-02-03",
+ "value": 0.5049505139164281
+ },
+ {
+ "date": "2014-02-04",
+ "value": 0.5004045433833447
+ },
+ {
+ "date": "2014-02-05",
+ "value": 0.49766880474999803
+ },
+ {
+ "date": "2014-02-06",
+ "value": 0.4974778854176423
+ },
+ {
+ "date": "2014-02-07",
+ "value": 0.4985548716459768
+ },
+ {
+ "date": "2014-02-08",
+ "value": 0.5023737776839208
+ },
+ {
+ "date": "2014-02-09",
+ "value": 0.504603230338525
+ },
+ {
+ "date": "2014-02-10",
+ "value": 0.504432332684573
+ },
+ {
+ "date": "2014-02-11",
+ "value": 0.5037437093637779
+ },
+ {
+ "date": "2014-02-12",
+ "value": 0.5086112226114583
+ },
+ {
+ "date": "2014-02-13",
+ "value": 0.5053845731032296
+ },
+ {
+ "date": "2014-02-14",
+ "value": 0.5015637131811963
+ },
+ {
+ "date": "2014-02-15",
+ "value": 0.5021784674076278
+ },
+ {
+ "date": "2014-02-16",
+ "value": 0.5063559353265494
+ },
+ {
+ "date": "2014-02-17",
+ "value": 0.5061080613055542
+ },
+ {
+ "date": "2014-02-18",
+ "value": 0.5088703428084825
+ },
+ {
+ "date": "2014-02-19",
+ "value": 0.5096209075909987
+ },
+ {
+ "date": "2014-02-20",
+ "value": 0.5128114425067571
+ },
+ {
+ "date": "2014-02-21",
+ "value": 0.5166249796532173
+ },
+ {
+ "date": "2014-02-22",
+ "value": 0.5139670211970626
+ },
+ {
+ "date": "2014-02-23",
+ "value": 0.5142364616064596
+ },
+ {
+ "date": "2014-02-24",
+ "value": 0.509528966467216
+ },
+ {
+ "date": "2014-02-25",
+ "value": 0.5061758737477107
+ },
+ {
+ "date": "2014-02-26",
+ "value": 0.5107159178338729
+ },
+ {
+ "date": "2014-02-27",
+ "value": 0.508788445629648
+ },
+ {
+ "date": "2014-02-28",
+ "value": 0.5104817721021337
+ },
+ {
+ "date": "2014-03-01",
+ "value": 0.5078546349712474
+ },
+ {
+ "date": "2014-03-02",
+ "value": 0.5034753798731827
+ },
+ {
+ "date": "2014-03-03",
+ "value": 0.5007772580143368
+ },
+ {
+ "date": "2014-03-04",
+ "value": 0.5038655942824244
+ },
+ {
+ "date": "2014-03-05",
+ "value": 0.5005272030781814
+ },
+ {
+ "date": "2014-03-06",
+ "value": 0.5051827393254152
+ },
+ {
+ "date": "2014-03-07",
+ "value": 0.5005534190016493
+ },
+ {
+ "date": "2014-03-08",
+ "value": 0.5018578155863522
+ },
+ {
+ "date": "2014-03-09",
+ "value": 0.5040739797833739
+ },
+ {
+ "date": "2014-03-10",
+ "value": 0.501067869219016
+ },
+ {
+ "date": "2014-03-11",
+ "value": 0.49814427475390644
+ },
+ {
+ "date": "2014-03-12",
+ "value": 0.4963610004168396
+ },
+ {
+ "date": "2014-03-13",
+ "value": 0.4930795253820748
+ },
+ {
+ "date": "2014-03-14",
+ "value": 0.49079904429566784
+ },
+ {
+ "date": "2014-03-15",
+ "value": 0.48809922877941647
+ },
+ {
+ "date": "2014-03-16",
+ "value": 0.4877332115117854
+ },
+ {
+ "date": "2014-03-17",
+ "value": 0.48411898100901407
+ },
+ {
+ "date": "2014-03-18",
+ "value": 0.4845248458179287
+ },
+ {
+ "date": "2014-03-19",
+ "value": 0.4831193157053157
+ },
+ {
+ "date": "2014-03-20",
+ "value": 0.4819550362933503
+ },
+ {
+ "date": "2014-03-21",
+ "value": 0.4786897823467451
+ },
+ {
+ "date": "2014-03-22",
+ "value": 0.4761045288827436
+ },
+ {
+ "date": "2014-03-23",
+ "value": 0.478630898886419
+ },
+ {
+ "date": "2014-03-24",
+ "value": 0.4790840508114705
+ },
+ {
+ "date": "2014-03-25",
+ "value": 0.4794318346558028
+ },
+ {
+ "date": "2014-03-26",
+ "value": 0.4748848817015309
+ },
+ {
+ "date": "2014-03-27",
+ "value": 0.47815004291090735
+ },
+ {
+ "date": "2014-03-28",
+ "value": 0.47980437734217457
+ },
+ {
+ "date": "2014-03-29",
+ "value": 0.4817800142504527
+ },
+ {
+ "date": "2014-03-30",
+ "value": 0.4768033811913309
+ },
+ {
+ "date": "2014-03-31",
+ "value": 0.47223012774930034
+ },
+ {
+ "date": "2014-04-01",
+ "value": 0.467614878310697
+ },
+ {
+ "date": "2014-04-02",
+ "value": 0.4690382217852809
+ },
+ {
+ "date": "2014-04-03",
+ "value": 0.4707312671717389
+ },
+ {
+ "date": "2014-04-04",
+ "value": 0.46874599002888123
+ },
+ {
+ "date": "2014-04-05",
+ "value": 0.4695232950365088
+ },
+ {
+ "date": "2014-04-06",
+ "value": 0.46812382634056693
+ },
+ {
+ "date": "2014-04-07",
+ "value": 0.4638152377393435
+ },
+ {
+ "date": "2014-04-08",
+ "value": 0.46846294509572217
+ },
+ {
+ "date": "2014-04-09",
+ "value": 0.46537117781745313
+ },
+ {
+ "date": "2014-04-10",
+ "value": 0.46667486617647175
+ },
+ {
+ "date": "2014-04-11",
+ "value": 0.4700567595482735
+ },
+ {
+ "date": "2014-04-12",
+ "value": 0.4722401087279864
+ },
+ {
+ "date": "2014-04-13",
+ "value": 0.4754113422480582
+ },
+ {
+ "date": "2014-04-14",
+ "value": 0.47237758499686866
+ },
+ {
+ "date": "2014-04-15",
+ "value": 0.476321568527422
+ },
+ {
+ "date": "2014-04-16",
+ "value": 0.4782068702675784
+ },
+ {
+ "date": "2014-04-17",
+ "value": 0.4745382598882709
+ },
+ {
+ "date": "2014-04-18",
+ "value": 0.4778251241650657
+ },
+ {
+ "date": "2014-04-19",
+ "value": 0.48001845981032665
+ },
+ {
+ "date": "2014-04-20",
+ "value": 0.47797297492254276
+ },
+ {
+ "date": "2014-04-21",
+ "value": 0.473354228995828
+ },
+ {
+ "date": "2014-04-22",
+ "value": 0.470896702947272
+ },
+ {
+ "date": "2014-04-23",
+ "value": 0.4745305949746629
+ },
+ {
+ "date": "2014-04-24",
+ "value": 0.47596513680604596
+ },
+ {
+ "date": "2014-04-25",
+ "value": 0.4731953889995623
+ },
+ {
+ "date": "2014-04-26",
+ "value": 0.4737532034837451
+ },
+ {
+ "date": "2014-04-27",
+ "value": 0.4710481041669472
+ },
+ {
+ "date": "2014-04-28",
+ "value": 0.46605544080317923
+ },
+ {
+ "date": "2014-04-29",
+ "value": 0.4631336037812991
+ },
+ {
+ "date": "2014-04-30",
+ "value": 0.46305963624370283
+ }
+]] \ No newline at end of file
diff --git a/priv/static/metrics-graphics-3.0-alpha3/examples/data/split_by.json b/priv/static/metrics-graphics-3.0-alpha3/examples/data/split_by.json
new file mode 100644
index 0000000..3f06d9d
--- /dev/null
+++ b/priv/static/metrics-graphics-3.0-alpha3/examples/data/split_by.json
@@ -0,0 +1,548 @@
+ [
+ {
+ "date": "2014-01-01",
+ "release": 110000000,
+ "beta": 4200000,
+ "alpha": 2600000
+ },
+ {
+ "date": "2014-01-02",
+ "release": 110379978,
+ "beta": 5379978,
+ "alpha": 2779978
+ },
+ {
+ "date": "2014-01-03",
+ "release": 110493749,
+ "beta": 5493749,
+ "alpha": 2893749
+ },
+ {
+ "date": "2014-01-04",
+ "release": 110785250,
+ "beta": 5785250,
+ "alpha": 2485250
+ },
+ {
+ "date": "2014-01-05",
+ "release": 113901904,
+ "beta": 13901904,
+ "alpha": 23901904
+ },
+ {
+ "date": "2014-01-06",
+ "release": 111576838,
+ "beta": 6576838,
+ "alpha": 5576838
+ },
+ {
+ "date": "2014-01-07",
+ "release": 114413854,
+ "beta": 7413854,
+ "alpha": 6413854
+ },
+ {
+ "date": "2014-01-08",
+ "release": 115177211,
+ "beta": 8177211,
+ "alpha": 5977211
+ },
+ {
+ "date": "2014-01-09",
+ "release": 116622100,
+ "beta": 9622100,
+ "alpha": 9122100
+ },
+ {
+ "date": "2014-01-10",
+ "release": 117381072,
+ "beta": 11381072,
+ "alpha": 11381072
+ },
+ {
+ "date": "2014-01-11",
+ "release": 118802310,
+ "beta": 10802310,
+ "alpha": 8802310
+ },
+ {
+ "date": "2014-01-12",
+ "release": 115531790,
+ "beta": 8531790,
+ "alpha": 8131790
+ },
+ {
+ "date": "2014-01-13",
+ "release": 115748881,
+ "beta": 8748881,
+ "alpha": 8848881
+ },
+ {
+ "date": "2014-01-14",
+ "release": 118706437,
+ "beta": 10706437,
+ "alpha": 10006437
+ },
+ {
+ "date": "2014-01-15",
+ "release": 119752685,
+ "beta": 12752685,
+ "alpha": 12752685
+ },
+ {
+ "date": "2014-01-16",
+ "release": 121016418,
+ "beta": 13016418,
+ "alpha": 13016418
+ },
+ {
+ "date": "2014-01-17",
+ "release": 125622924,
+ "beta": 17622924,
+ "alpha": 17622924
+ },
+ {
+ "date": "2014-01-18",
+ "release": 125337480,
+ "beta": 17337480,
+ "alpha": 12337480
+ },
+ {
+ "date": "2014-01-19",
+ "release": 122258882,
+ "beta": 14258882,
+ "alpha": 11218882
+ },
+ {
+ "date": "2014-01-20",
+ "release": 123829538,
+ "beta": 15829538,
+ "alpha": 15129538
+ },
+ {
+ "date": "2014-01-21",
+ "release": 124245689,
+ "beta": 16245689,
+ "alpha": 15215689
+ },
+ {
+ "date": "2014-01-22",
+ "release": 126429711,
+ "beta": 18429711,
+ "alpha": 18429711
+ },
+ {
+ "date": "2014-01-23",
+ "release": 126259017,
+ "beta": 18259017,
+ "alpha": 18259017
+ },
+ {
+ "date": "2014-01-24",
+ "release": 125396183,
+ "beta": 17396183,
+ "alpha": 12396183
+ },
+ {
+ "date": "2014-01-25",
+ "release": 123107346,
+ "beta": 15107346,
+ "alpha": 15107346
+ },
+ {
+ "date": "2014-01-26",
+ "release": 128659852,
+ "beta": 20659852,
+ "alpha": 10659852
+ },
+ {
+ "date": "2014-01-27",
+ "release": 125270783,
+ "beta": 17270783,
+ "alpha": 17270783
+ },
+ {
+ "date": "2014-01-28",
+ "release": 126270783,
+ "beta": 18270783,
+ "alpha": 18270783
+ },
+ {
+ "date": "2014-01-29",
+ "release": 127270783,
+ "beta": 19270783,
+ "alpha": 11270783
+ },
+ {
+ "date": "2014-01-30",
+ "release": 128270783,
+ "beta": 20270783,
+ "alpha": 20270783
+ },
+ {
+ "date": "2014-01-31",
+ "release": 129270783,
+ "beta": 21270783,
+ "alpha": 21270783
+ },
+ {
+ "date": "2014-02-01",
+ "release": 130270783,
+ "beta": 22270783,
+ "alpha": 22270783
+ },
+ {
+ "date": "2014-02-02",
+ "release": 131270783,
+ "beta": 23270783,
+ "alpha": 23270783
+ },
+ {
+ "date": "2014-02-03",
+ "release": 132270783,
+ "beta": 24270783,
+ "alpha": 24270783
+ },
+ {
+ "date": "2014-02-04",
+ "release": 133270783,
+ "beta": 25270783,
+ "alpha": 23270783
+ },
+ {
+ "date": "2014-02-05",
+ "release": 128270783,
+ "beta": 20270783,
+ "alpha": 20270783
+ },
+ {
+ "date": "2014-02-06",
+ "release": 127270783,
+ "beta": 19270783,
+ "alpha": 19270783
+ },
+ {
+ "date": "2014-02-07",
+ "release": 135270783,
+ "beta": 27270783,
+ "alpha": 27270783
+ },
+ {
+ "date": "2014-02-08",
+ "release": 134270783,
+ "beta": 26270783,
+ "alpha": 26270783
+ },
+ {
+ "date": "2014-02-09",
+ "release": 128270783,
+ "beta": 20270783,
+ "alpha": 20270783
+ },
+ {
+ "date": "2014-02-10",
+ "release": 135270783,
+ "beta": 27270783,
+ "alpha": 24270783
+ },
+ {
+ "date": "2014-02-11",
+ "release": 136270783,
+ "beta": 28270783,
+ "alpha": 28270783
+ },
+ {
+ "date": "2014-02-12",
+ "release": 134127078,
+ "beta": 26127078,
+ "alpha": 26127078
+ },
+ {
+ "date": "2014-02-13",
+ "release": 133124078,
+ "beta": 25124078,
+ "alpha": 25124078
+ },
+ {
+ "date": "2014-02-14",
+ "release": 136227078,
+ "beta": 28227078,
+ "alpha": 26127078
+ },
+ {
+ "date": "2014-02-15",
+ "release": 137827078,
+ "beta": 29827078,
+ "alpha": 29827078
+ },
+ {
+ "date": "2014-02-16",
+ "release": 136427073,
+ "beta": 28427073,
+ "alpha": 28427073
+ },
+ {
+ "date": "2014-02-17",
+ "release": 137570783,
+ "beta": 29570783,
+ "alpha": 29570783
+ },
+ {
+ "date": "2014-02-18",
+ "release": 138627073,
+ "beta": 30627073,
+ "alpha": 30627073
+ },
+ {
+ "date": "2014-02-19",
+ "release": 137727078,
+ "beta": 29727078,
+ "alpha": 29727078
+ },
+ {
+ "date": "2014-02-20",
+ "release": 138827073,
+ "beta": 30827073,
+ "alpha": 30827073
+ },
+ {
+ "date": "2014-02-21",
+ "release": 140927078,
+ "beta": 32927078,
+ "alpha": 32927078
+ },
+ {
+ "date": "2014-02-22",
+ "release": 141027078,
+ "beta": 33027078,
+ "alpha": 40027078
+ },
+ {
+ "date": "2014-02-23",
+ "release": 142127073,
+ "beta": 34127073,
+ "alpha": 34127073
+ },
+ {
+ "date": "2014-02-24",
+ "release": 143220783,
+ "beta": 35220783,
+ "alpha": 35220783
+ },
+ {
+ "date": "2014-02-25",
+ "release": 144327078,
+ "beta": 36327078,
+ "alpha": 36327078
+ },
+ {
+ "date": "2014-02-26",
+ "release": 140427078,
+ "beta": 32427078,
+ "alpha": 32427078
+ },
+ {
+ "date": "2014-02-27",
+ "release": 141027078,
+ "beta": 33027078,
+ "alpha": 33027078
+ },
+ {
+ "date": "2014-02-28",
+ "release": 145627078,
+ "beta": 37627078,
+ "alpha": 37627078
+ },
+ {
+ "date": "2014-03-01",
+ "release": 144727078,
+ "beta": 36727078,
+ "alpha": 36727078
+ },
+ {
+ "date": "2014-03-02",
+ "release": 144227078,
+ "beta": 36227078,
+ "alpha": 36227078
+ },
+ {
+ "date": "2014-03-03",
+ "release": 145227078,
+ "beta": 37227078,
+ "alpha": 37227078
+ },
+ {
+ "date": "2014-03-04",
+ "release": 146027078,
+ "beta": 38027078,
+ "alpha": 38027078
+ },
+ {
+ "date": "2014-03-05",
+ "release": 146927078,
+ "beta": 38927078,
+ "alpha": 38927078
+ },
+ {
+ "date": "2014-03-06",
+ "release": 147027078,
+ "beta": 39027078,
+ "alpha": 39027078
+ },
+ {
+ "date": "2014-03-07",
+ "release": 146227078,
+ "beta": 38227078,
+ "alpha": 32427078
+ },
+ {
+ "date": "2014-03-08",
+ "release": 147027078,
+ "beta": 39027078,
+ "alpha": 39027078
+ },
+ {
+ "date": "2014-03-09",
+ "release": 148027078,
+ "beta": 40027078,
+ "alpha": 40027078
+ },
+ {
+ "date": "2014-03-10",
+ "release": 147027078,
+ "beta": 39027078,
+ "alpha": 39027078
+ },
+ {
+ "date": "2014-03-11",
+ "release": 147027078,
+ "beta": 39027078,
+ "alpha": 37027078
+ },
+ {
+ "date": "2014-03-12",
+ "release": 148017078,
+ "beta": 40017078,
+ "alpha": 38817078
+ },
+ {
+ "date": "2014-03-13",
+ "release": 148077078,
+ "beta": 40077078,
+ "alpha": 40077078
+ },
+ {
+ "date": "2014-03-14",
+ "release": 148087078,
+ "beta": 40087078,
+ "alpha": 40087078
+ },
+ {
+ "date": "2014-03-15",
+ "release": 148017078,
+ "beta": 40017078,
+ "alpha": 40017078
+ },
+ {
+ "date": "2014-03-16",
+ "release": 148047078,
+ "beta": 40047078,
+ "alpha": 40047078
+ },
+ {
+ "date": "2014-03-17",
+ "release": 148067078,
+ "beta": 40067078,
+ "alpha": 40067078
+ },
+ {
+ "date": "2014-03-18",
+ "release": 148077078,
+ "beta": 40077078,
+ "alpha": 39977078
+ },
+ {
+ "date": "2014-03-19",
+ "release": 148027074,
+ "beta": 40027074,
+ "alpha": 40027074
+ },
+ {
+ "date": "2014-03-20",
+ "release": 148927079,
+ "beta": 40927079,
+ "alpha": 40927079
+ },
+ {
+ "date": "2014-03-21",
+ "release": 148727071,
+ "beta": 40727071,
+ "alpha": 40727071
+ },
+ {
+ "date": "2014-03-22",
+ "release": 148127072,
+ "beta": 40127072,
+ "alpha": 37127072
+ },
+ {
+ "date": "2014-03-23",
+ "release": 148527072,
+ "beta": 40527072,
+ "alpha": 40527072
+ },
+ {
+ "date": "2014-03-24",
+ "release": 148627027,
+ "beta": 40627027,
+ "alpha": 40627027
+ },
+ {
+ "date": "2014-03-25",
+ "release": 148027040,
+ "beta": 40027040,
+ "alpha": 40027040
+ },
+ {
+ "date": "2014-03-26",
+ "release": 148027043,
+ "beta": 40027043,
+ "alpha": 40027043
+ },
+ {
+ "date": "2014-03-27",
+ "release": 148057022,
+ "beta": 40057022,
+ "alpha": 40057022
+ },
+ {
+ "date": "2014-03-28",
+ "release": 149057022,
+ "beta": 41057022,
+ "alpha": 40057022
+ },
+ {
+ "date": "2014-03-29",
+ "release": 150057022,
+ "beta": 42057022,
+ "alpha": 42057022
+ },
+ {
+ "date": "2014-03-30",
+ "release": 151057022,
+ "beta": 43057022,
+ "alpha": 43057022
+ },
+ {
+ "date": "2014-03-31",
+ "release": 152057022,
+ "beta": 44057022,
+ "alpha": 44057022
+ },
+ {
+ "date": "2014-04-01",
+ "release": 152056143,
+ "beta": 45056143,
+ "alpha": 42056143
+ }
+ ] \ No newline at end of file
diff --git a/priv/static/metrics-graphics-3.0-alpha3/examples/data/ufo-sightings.json b/priv/static/metrics-graphics-3.0-alpha3/examples/data/ufo-sightings.json
new file mode 100644
index 0000000..26caedd
--- /dev/null
+++ b/priv/static/metrics-graphics-3.0-alpha3/examples/data/ufo-sightings.json
@@ -0,0 +1,266 @@
+[
+ {
+ "year": "1945",
+ "sightings": 6
+ },
+ {
+ "year": "1946",
+ "sightings": 8
+ },
+ {
+ "year": "1947",
+ "sightings": 34
+ },
+ {
+ "year": "1948",
+ "sightings": 8
+ },
+ {
+ "year": "1949",
+ "sightings": 15
+ },
+ {
+ "year": "1950",
+ "sightings": 25
+ },
+ {
+ "year": "1951",
+ "sightings": 20
+ },
+ {
+ "year": "1952",
+ "sightings": 48
+ },
+ {
+ "year": "1953",
+ "sightings": 34
+ },
+ {
+ "year": "1954",
+ "sightings": 50
+ },
+ {
+ "year": "1955",
+ "sightings": 31
+ },
+ {
+ "year": "1956",
+ "sightings": 38
+ },
+ {
+ "year": "1957",
+ "sightings": 67
+ },
+ {
+ "year": "1958",
+ "sightings": 40
+ },
+ {
+ "year": "1959",
+ "sightings": 47
+ },
+ {
+ "year": "1960",
+ "sightings": 64
+ },
+ {
+ "year": "1961",
+ "sightings": 39
+ },
+ {
+ "year": "1962",
+ "sightings": 55
+ },
+ {
+ "year": "1963",
+ "sightings": 75
+ },
+ {
+ "year": "1964",
+ "sightings": 77
+ },
+ {
+ "year": "1965",
+ "sightings": 167
+ },
+ {
+ "year": "1966",
+ "sightings": 169
+ },
+ {
+ "year": "1967",
+ "sightings": 178
+ },
+ {
+ "year": "1968",
+ "sightings": 183
+ },
+ {
+ "year": "1969",
+ "sightings": 138
+ },
+ {
+ "year": "1970",
+ "sightings": 126
+ },
+ {
+ "year": "1971",
+ "sightings": 110
+ },
+ {
+ "year": "1972",
+ "sightings": 146
+ },
+ {
+ "year": "1973",
+ "sightings": 209
+ },
+ {
+ "year": "1974",
+ "sightings": 241
+ },
+ {
+ "year": "1975",
+ "sightings": 279
+ },
+ {
+ "year": "1976",
+ "sightings": 246
+ },
+ {
+ "year": "1977",
+ "sightings": 239
+ },
+ {
+ "year": "1978",
+ "sightings": 301
+ },
+ {
+ "year": "1979",
+ "sightings": 221
+ },
+ {
+ "year": "1980",
+ "sightings": 211
+ },
+ {
+ "year": "1981",
+ "sightings": 146
+ },
+ {
+ "year": "1982",
+ "sightings": 182
+ },
+ {
+ "year": "1983",
+ "sightings": 132
+ },
+ {
+ "year": "1984",
+ "sightings": 172
+ },
+ {
+ "year": "1985",
+ "sightings": 192
+ },
+ {
+ "year": "1986",
+ "sightings": 173
+ },
+ {
+ "year": "1987",
+ "sightings": 193
+ },
+ {
+ "year": "1988",
+ "sightings": 203
+ },
+ {
+ "year": "1989",
+ "sightings": 220
+ },
+ {
+ "year": "1990",
+ "sightings": 217
+ },
+ {
+ "year": "1991",
+ "sightings": 210
+ },
+ {
+ "year": "1992",
+ "sightings": 228
+ },
+ {
+ "year": "1993",
+ "sightings": 285
+ },
+ {
+ "year": "1994",
+ "sightings": 381
+ },
+ {
+ "year": "1995",
+ "sightings": 1336
+ },
+ {
+ "year": "1996",
+ "sightings": 862
+ },
+ {
+ "year": "1997",
+ "sightings": 1248
+ },
+ {
+ "year": "1998",
+ "sightings": 1812
+ },
+ {
+ "year": "1999",
+ "sightings": 2906
+ },
+ {
+ "year": "2000",
+ "sightings": 2780
+ },
+ {
+ "year": "2001",
+ "sightings": 3105
+ },
+ {
+ "year": "2002",
+ "sightings": 3176
+ },
+ {
+ "year": "2003",
+ "sightings": 3896
+ },
+ {
+ "year": "2004",
+ "sightings": 4208
+ },
+ {
+ "year": "2005",
+ "sightings": 3996
+ },
+ {
+ "year": "2006",
+ "sightings": 3590
+ },
+ {
+ "year": "2007",
+ "sightings": 4195
+ },
+ {
+ "year": "2008",
+ "sightings": 4705
+ },
+ {
+ "year": "2009",
+ "sightings": 4297
+ },
+ {
+ "year": "2010",
+ "sightings": 2531
+ }
+] \ No newline at end of file
diff --git a/priv/static/metrics-graphics-3.0-alpha3/examples/data/ufo_dates.csv b/priv/static/metrics-graphics-3.0-alpha3/examples/data/ufo_dates.csv
new file mode 100644
index 0000000..b7fe149
--- /dev/null
+++ b/priv/static/metrics-graphics-3.0-alpha3/examples/data/ufo_dates.csv
@@ -0,0 +1,22841 @@
+value
+30
+0
+203
+0
+30
+0
+0
+116
+180
+57
+0
+0
+2
+75
+0
+0
+21
+25
+2
+0
+29
+0
+101
+27
+43
+0
+770
+0
+24
+0
+0
+39
+0
+2
+24
+21
+25
+1
+27
+1866
+113
+0
+1
+1
+876
+1
+0
+0
+68
+287
+1
+257
+31
+299
+176
+21
+51
+51
+51
+25
+20
+91
+24
+0
+0
+48
+279
+70
+52
+22
+100
+50
+80
+1
+10
+0
+3059
+3059
+3059
+4
+74
+26
+383
+0
+3227
+32
+315
+0
+0
+28
+34
+1
+35
+84
+20
+0
+94
+21
+730
+203
+3
+30
+5
+0
+1
+1013
+84
+8
+2056
+7
+75
+291
+291
+291
+570
+4582
+4582
+4582
+148
+415
+139
+30
+0
+6
+40
+237
+3318
+3318
+3318
+253
+106
+162
+356
+121
+1172
+41
+525
+320
+320
+320
+1632
+1632
+1632
+1437
+1267
+64
+149
+67
+0
+29
+33
+115
+482
+1
+434
+65
+219
+0
+142
+157
+13
+0
+27
+24
+1464
+1464
+1464
+56
+422
+1
+775
+367
+90
+189
+0
+1636
+631
+3261
+3261
+3261
+137
+20
+30
+1268
+1268
+1268
+115
+153
+193
+3
+20
+0
+1
+0
+162
+726
+16
+2069
+53
+786
+552
+46
+148
+28
+205
+3
+0
+0
+98
+4006
+4006
+4006
+37
+2
+49
+25
+211
+135
+541
+549
+56
+184
+1398
+1398
+1398
+2602
+2602
+2602
+178
+331
+49
+598
+2219
+28
+8
+65
+3653
+3653
+3653
+2552
+2552
+2552
+31
+1233
+28
+69
+126
+585
+22
+89
+35
+97
+36
+32
+430
+4241
+4241
+4241
+4513
+4513
+4513
+132
+701
+21
+493
+119
+784
+346
+149
+0
+43
+101
+20
+28
+398
+23
+980
+343
+51
+1183
+58
+61
+358
+977
+938
+1
+22
+567
+622
+2341
+1166
+194
+1044
+292
+942
+754
+39
+2
+642
+99
+35
+23
+140
+2534
+280
+3228
+3228
+3228
+36
+40
+37
+1424
+40
+309
+36
+48
+87
+1
+627
+155
+155
+155
+326
+178
+481
+1321
+1321
+1321
+2310
+2310
+2310
+32
+3773
+3773
+3773
+63
+729
+406
+369
+119
+119
+119
+4193
+4193
+4193
+799
+677
+912
+2197
+2197
+2197
+23
+56
+1203
+1203
+1203
+1030
+224
+363
+1746
+1746
+1746
+23
+417
+2340
+4634
+4634
+4634
+610
+350
+320
+3
+115
+3
+23
+202
+47
+4001
+4001
+4001
+0
+0
+211
+211
+211
+0
+2
+133
+1588
+1588
+1588
+53
+34
+4
+12
+21
+238
+144
+144
+144
+11
+74
+280
+107
+24
+343
+68
+46
+38
+339
+1922
+0
+1947
+1947
+1947
+3187
+29
+61
+55
+47
+104
+179
+1446
+1
+238
+669
+3
+79
+61
+5
+581
+1112
+24
+52
+316
+203
+39
+226
+106
+106
+106
+0
+203
+137
+4411
+4411
+4411
+120
+36
+722
+27
+681
+105
+135
+21
+215
+0
+69
+81
+65
+4
+104
+792
+2327
+74
+20
+30
+42
+0
+4300
+4300
+4300
+92
+113
+28
+392
+20
+37
+115
+31
+607
+241
+169
+104
+27
+84
+403
+2205
+3447
+3447
+3447
+213
+21
+36
+989
+888
+888
+888
+0
+206
+14
+98
+98
+98
+325
+87
+172
+299
+1193
+208
+2862
+203
+727
+727
+727
+409
+3770
+3770
+3770
+56
+87
+582
+582
+582
+614
+3067
+3067
+3067
+252
+2272
+2272
+2272
+3911
+21
+451
+894
+49
+268
+268
+268
+0
+151
+212
+575
+23
+1063
+2
+21
+159
+440
+979
+3183
+3183
+3183
+1805
+217
+280
+90
+1110
+2480
+444
+1382
+2523
+2523
+2523
+22
+131
+35
+125
+388
+3502
+3502
+3502
+30
+26
+64
+1830
+1830
+1830
+1268
+3604
+3604
+3604
+967
+41
+483
+46
+972
+84
+21
+906
+0
+0
+3
+576
+365
+2885
+2885
+2885
+365
+1
+236
+634
+99
+477
+49
+114
+34
+1381
+702
+395
+775
+255
+4660
+4660
+4660
+116
+803
+289
+2432
+2432
+2432
+148
+28
+1206
+98
+67
+2639
+185
+1205
+1511
+1463
+24
+1290
+450
+1
+1370
+3315
+2558
+181
+0
+1380
+1380
+1380
+174
+2507
+2507
+2507
+29
+286
+525
+1732
+70
+99
+8
+21
+95
+2163
+664
+664
+664
+21
+33
+56
+3138
+28
+1
+1361
+37
+0
+36
+33
+38
+260
+90
+0
+582
+972
+302
+4854
+4854
+4854
+7
+485
+53
+4636
+4636
+4636
+55
+89
+255
+186
+93
+22
+2032
+23
+63
+3524
+3524
+3524
+2596
+2596
+2596
+2843
+4589
+4589
+4589
+1172
+367
+26
+22
+350
+15
+278
+122
+1202
+185
+0
+1593
+1593
+1593
+32
+39
+916
+23
+577
+526
+1231
+36
+34
+502
+52
+0
+2084
+2084
+2084
+853
+853
+853
+21
+82
+195
+1592
+1592
+1592
+22
+4372
+4372
+4372
+1
+9
+904
+904
+904
+474
+1135
+100
+1490
+1284
+25
+2415
+2415
+2415
+44
+140
+352
+220
+345
+48
+25
+147
+82
+360
+1487
+1487
+1487
+1601
+1601
+1601
+20
+1536
+29
+410
+1077
+0
+161
+161
+161
+3949
+3949
+3949
+1139
+257
+29
+44
+62
+62
+62
+582
+582
+582
+130
+1076
+320
+1
+61
+214
+2782
+64
+41
+283
+30
+520
+454
+2454
+2454
+2454
+388
+7
+950
+45
+80
+190
+5
+189
+1933
+1933
+1933
+26
+2
+470
+73
+1513
+434
+1410
+1410
+1410
+559
+3363
+3363
+3363
+0
+441
+525
+1070
+0
+1834
+1506
+41
+32
+404
+0
+808
+166
+53
+2
+834
+0
+136
+24
+404
+1056
+1
+3284
+3284
+3284
+4662
+4662
+4662
+1009
+1009
+1009
+40
+1326
+25
+1542
+195
+49
+31
+45
+21
+1436
+25
+1476
+1476
+1476
+1194
+49
+2002
+51
+2
+3734
+3734
+3734
+455
+1209
+243
+48
+34
+393
+1160
+1160
+1160
+1020
+368
+34
+1
+31
+47
+103
+109
+540
+3212
+3212
+3212
+460
+1958
+1958
+1958
+30
+1121
+1959
+1959
+1959
+411
+93
+203
+1425
+190
+245
+2088
+280
+280
+280
+2290
+94
+4755
+4755
+4755
+1
+25
+3512
+3512
+3512
+53
+59
+1887
+1887
+1887
+33
+45
+55
+24
+1872
+741
+1405
+1405
+1405
+1098
+85
+31
+92
+94
+148
+397
+393
+445
+2476
+56
+1182
+711
+789
+0
+48
+264
+104
+839
+780
+780
+780
+360
+533
+0
+27
+2625
+1851
+697
+53
+1342
+4443
+4443
+4443
+23
+1
+112
+3118
+1535
+4705
+4705
+4705
+1
+3
+397
+679
+1489
+202
+202
+202
+72
+1199
+1275
+1259
+2028
+2028
+2028
+32
+360
+1076
+1076
+1076
+1042
+1776
+155
+63
+39
+3698
+563
+146
+40
+125
+1218
+3873
+4683
+4683
+4683
+68
+811
+79
+22
+514
+31
+362
+153
+714
+1188
+1188
+1188
+501
+4037
+4037
+4037
+900
+2653
+2653
+2653
+1557
+1557
+1557
+2174
+29
+0
+32
+3332
+3332
+3332
+32
+31
+349
+2
+307
+349
+828
+4
+764
+27
+4044
+1
+14
+3327
+3327
+3327
+480
+480
+480
+171
+99
+22
+4321
+4321
+4321
+35
+101
+20
+68
+101
+59
+0
+489
+27
+55
+43
+1648
+1648
+1648
+1
+4
+1769
+68
+1273
+646
+639
+1557
+452
+216
+1070
+1229
+1229
+1229
+701
+142
+3494
+2
+149
+365
+608
+370
+30
+0
+2388
+2388
+2388
+27
+314
+603
+24
+333
+333
+333
+2736
+2736
+2736
+365
+417
+2808
+2808
+2808
+2201
+3341
+3341
+3341
+1327
+42
+366
+366
+366
+249
+23
+56
+1258
+486
+93
+210
+2581
+2581
+2581
+810
+49
+251
+251
+251
+205
+1100
+135
+75
+155
+160
+82
+960
+2037
+2110
+75
+3421
+3421
+3421
+158
+37
+873
+70
+674
+4606
+4606
+4606
+192
+4435
+4435
+4435
+2251
+1
+848
+220
+0
+155
+768
+768
+768
+54
+31
+1460
+1460
+1460
+168
+102
+342
+3147
+3147
+3147
+128
+37
+1856
+161
+614
+520
+27
+480
+54
+4166
+838
+92
+512
+219
+219
+219
+661
+75
+220
+812
+27
+1976
+1899
+41
+172
+4975
+4975
+4975
+4709
+4709
+4709
+2734
+2734
+2734
+3147
+3147
+3147
+505
+231
+231
+231
+44
+31
+271
+62
+862
+276
+36
+18
+228
+497
+4279
+4279
+4279
+606
+1
+29
+496
+152
+223
+63
+1196
+156
+78
+221
+368
+1954
+1954
+1954
+271
+4
+101
+2336
+398
+262
+2297
+2060
+4252
+2905
+2905
+2905
+35
+598
+1417
+175
+1280
+1280
+1280
+55
+1176
+2453
+1921
+1921
+1921
+48
+1729
+1397
+71
+0
+1748
+2
+223
+336
+1603
+1332
+28
+90
+1545
+2630
+1347
+120
+3668
+3668
+3668
+0
+477
+2780
+2399
+2399
+2399
+2497
+46
+1250
+282
+26
+28
+2064
+7
+58
+4926
+4926
+4926
+160
+392
+281
+1006
+1025
+133
+4877
+4877
+4877
+185
+139
+399
+276
+4065
+4065
+4065
+4840
+4840
+4840
+1948
+25
+184
+184
+184
+154
+1636
+30
+71
+497
+698
+698
+698
+1813
+21
+3
+135
+47
+729
+207
+804
+31
+5
+252
+32
+657
+2
+1342
+497
+166
+522
+102
+1657
+1657
+1657
+157
+1282
+1282
+1282
+365
+365
+365
+3726
+3726
+3726
+263
+84
+170
+562
+27
+43
+2045
+2045
+2045
+3
+325
+144
+4646
+4646
+4646
+1611
+82
+1601
+1601
+1601
+1656
+1656
+1656
+259
+963
+900
+1107
+1225
+543
+56
+0
+876
+2235
+2235
+2235
+218
+378
+378
+378
+4806
+4806
+4806
+276
+53
+176
+2050
+3659
+1167
+804
+117
+3113
+3113
+3113
+130
+1118
+133
+48
+2
+1
+206
+55
+55
+55
+2049
+366
+558
+64
+1729
+85
+95
+608
+91
+28
+105
+153
+342
+15
+0
+438
+20
+644
+1750
+276
+3458
+3458
+3458
+89
+1274
+551
+971
+294
+302
+1000
+172
+107
+21
+23
+1
+371
+104
+2222
+2
+27
+4976
+4976
+4976
+1663
+1663
+1663
+3121
+3121
+3121
+296
+672
+754
+83
+38
+710
+4678
+4678
+4678
+2
+2128
+2128
+2128
+48
+198
+489
+8
+798
+580
+0
+34
+4840
+4840
+4840
+44
+1419
+2838
+2838
+2838
+22
+463
+4657
+4657
+4657
+1651
+310
+0
+35
+31
+3618
+3618
+3618
+3795
+3795
+3795
+1498
+2
+1377
+347
+147
+32
+114
+303
+52
+510
+510
+510
+30
+35
+683
+0
+4983
+4983
+4983
+579
+42
+1162
+3189
+3189
+3189
+165
+1
+2872
+2872
+2872
+47
+1355
+1092
+2108
+2108
+2108
+4373
+15
+322
+1053
+213
+331
+344
+23
+1477
+1477
+1477
+2190
+2190
+2190
+114
+62
+650
+41
+1439
+1439
+1439
+30
+595
+1882
+1186
+25
+334
+4677
+4677
+4677
+91
+4091
+528
+1756
+1756
+1756
+45
+40
+316
+0
+279
+1634
+673
+61
+1517
+66
+407
+106
+251
+22
+3731
+3731
+3731
+218
+533
+85
+1050
+1050
+1050
+458
+1435
+363
+94
+1431
+126
+930
+3655
+1461
+1
+755
+231
+36
+271
+2843
+92
+48
+0
+603
+30
+320
+131
+24
+1369
+30
+1390
+308
+1
+2823
+2823
+2823
+3691
+3691
+3691
+1934
+373
+548
+726
+50
+1406
+783
+304
+353
+35
+670
+365
+344
+628
+1885
+1885
+1885
+30
+60
+34
+34
+2550
+691
+3172
+3172
+3172
+35
+978
+4810
+4810
+4810
+127
+7
+4430
+4430
+4430
+2173
+378
+340
+719
+26
+642
+646
+4585
+4585
+4585
+549
+3227
+3227
+3227
+50
+378
+67
+2
+66
+89
+308
+964
+467
+4986
+4986
+4986
+4343
+4343
+4343
+789
+139
+32
+18
+172
+954
+44
+3285
+3285
+3285
+2
+1485
+24
+885
+81
+12
+2364
+292
+415
+1376
+4366
+4366
+4366
+29
+902
+140
+85
+1208
+0
+522
+26
+1847
+622
+701
+701
+701
+1072
+1072
+1072
+59
+25
+190
+921
+55
+77
+53
+4387
+4387
+4387
+2173
+2173
+2173
+749
+63
+0
+703
+703
+703
+143
+125
+181
+15
+190
+715
+4029
+4029
+4029
+27
+2042
+2042
+2042
+2221
+195
+253
+605
+96
+62
+48
+47
+36
+2387
+2387
+2387
+22
+192
+38
+91
+1721
+396
+396
+396
+42
+374
+64
+85
+584
+25
+1944
+46
+1052
+1052
+1052
+340
+22
+33
+104
+0
+852
+21
+419
+2292
+2292
+2292
+57
+64
+1815
+312
+1843
+1843
+1843
+320
+79
+269
+369
+369
+369
+78
+3141
+3141
+3141
+44
+64
+4418
+30
+92
+175
+97
+4724
+4724
+4724
+828
+3451
+415
+4148
+4148
+4148
+46
+224
+0
+2198
+2198
+2198
+1212
+1212
+1212
+31
+1129
+161
+1908
+1908
+1908
+714
+322
+42
+3816
+3816
+3816
+33
+249
+249
+249
+3
+22
+48
+1641
+3635
+3788
+3788
+3788
+215
+592
+1660
+1471
+447
+2
+0
+1
+665
+1202
+615
+1575
+277
+277
+277
+38
+397
+30
+1166
+1118
+116
+76
+52
+946
+21
+57
+153
+55
+41
+1900
+31
+2964
+2964
+2964
+473
+4095
+4095
+4095
+0
+1771
+733
+21
+162
+625
+1118
+20
+376
+395
+395
+395
+4
+4023
+4023
+4023
+628
+3671
+3671
+3671
+1
+781
+675
+334
+83
+619
+580
+56
+95
+85
+44
+23
+1096
+150
+31
+1811
+1811
+1811
+3033
+3033
+3033
+747
+747
+747
+146
+243
+2149
+497
+25
+206
+764
+764
+764
+4357
+4357
+4357
+4720
+4720
+4720
+339
+25
+0
+310
+188
+4041
+4041
+4041
+50
+706
+733
+64
+722
+4077
+4077
+4077
+4515
+4515
+4515
+1213
+1448
+1165
+0
+26
+67
+2379
+2379
+2379
+59
+84
+38
+1474
+351
+494
+808
+26
+311
+311
+311
+180
+1638
+1638
+1638
+1834
+1834
+1834
+22
+3732
+3732
+3732
+70
+237
+96
+2878
+133
+610
+4369
+4369
+4369
+53
+1017
+1017
+1017
+765
+765
+765
+1050
+1050
+1050
+23
+1253
+282
+318
+375
+7
+2054
+409
+31
+18
+0
+37
+3
+42
+370
+91
+31
+914
+270
+733
+31
+183
+31
+1
+11
+633
+1
+101
+101
+101
+27
+70
+186
+248
+24
+1836
+243
+28
+880
+30
+133
+27
+20
+792
+363
+1063
+27
+24
+5
+633
+633
+633
+37
+722
+1562
+1562
+1562
+0
+0
+16
+54
+39
+277
+857
+15
+1097
+38
+802
+1065
+34
+3223
+3223
+3223
+38
+1957
+1957
+1957
+513
+604
+23
+3337
+3337
+3337
+881
+590
+30
+9
+7
+274
+22
+23
+3253
+3253
+3253
+105
+58
+130
+843
+843
+843
+160
+191
+223
+223
+223
+196
+1844
+1844
+1844
+1
+9
+1
+53
+25
+908
+769
+398
+2116
+22
+263
+2974
+3442
+3442
+3442
+49
+801
+24
+24
+911
+68
+69
+255
+321
+26
+41
+0
+337
+20
+817
+1865
+2922
+2922
+2922
+350
+55
+71
+1974
+1974
+1974
+131
+911
+911
+911
+4947
+4947
+4947
+1
+25
+21
+372
+41
+141
+44
+3
+1
+761
+23
+1960
+1960
+1960
+25
+76
+269
+799
+799
+799
+903
+903
+903
+11
+7
+48
+3
+28
+4737
+4737
+4737
+176
+1
+3344
+800
+0
+132
+1869
+1869
+1869
+21
+24
+199
+27
+43
+1
+71
+1
+4176
+4176
+4176
+1843
+1843
+1843
+4106
+4106
+4106
+80
+1015
+1015
+1015
+110
+1460
+122
+2947
+28
+12
+0
+30
+36
+112
+141
+756
+61
+71
+282
+27
+1816
+1816
+1816
+2302
+1726
+125
+89
+41
+234
+0
+124
+22
+4127
+4127
+4127
+4546
+4546
+4546
+805
+70
+0
+1592
+568
+851
+28
+4449
+4449
+4449
+0
+0
+327
+884
+1
+1261
+338
+322
+64
+90
+85
+0
+43
+239
+8
+118
+1512
+841
+452
+251
+859
+45
+789
+1550
+22
+1
+26
+120
+1370
+24
+50
+0
+231
+1056
+21
+218
+885
+129
+20
+2590
+2590
+2590
+377
+0
+2639
+2639
+2639
+1556
+1556
+1556
+33
+872
+24
+0
+1080
+0
+4145
+4145
+4145
+32
+0
+33
+1122
+3058
+51
+1561
+2263
+2263
+2263
+34
+39
+0
+4443
+4443
+4443
+889
+346
+1295
+1
+1894
+1894
+1894
+21
+32
+3303
+3303
+3303
+23
+102
+1
+59
+46
+836
+3319
+3319
+3319
+1408
+20
+924
+563
+563
+563
+2846
+2846
+2846
+1
+370
+1646
+4339
+46
+915
+952
+3609
+548
+1220
+2
+369
+539
+539
+539
+4528
+4528
+4528
+513
+148
+3166
+1910
+1910
+1910
+930
+79
+127
+21
+545
+864
+591
+3723
+539
+120
+367
+20
+24
+222
+162
+56
+23
+484
+4
+59
+1
+162
+240
+9
+458
+952
+1022
+32
+20
+155
+131
+51
+26
+1
+4414
+4414
+4414
+1134
+0
+360
+0
+147
+70
+890
+126
+29
+114
+771
+860
+609
+22
+68
+977
+173
+1181
+20
+2668
+2668
+2668
+45
+40
+367
+113
+958
+863
+863
+863
+180
+26
+1
+43
+1611
+1611
+1611
+1376
+24
+4714
+4714
+4714
+2983
+2983
+2983
+3
+0
+0
+1096
+31
+64
+4195
+4195
+4195
+185
+3939
+3939
+3939
+784
+334
+22
+26
+3531
+3531
+3531
+1599
+1599
+1599
+4127
+4127
+4127
+54
+126
+1055
+79
+371
+1187
+28
+0
+116
+1645
+170
+22
+1960
+458
+550
+25
+39
+43
+269
+892
+1
+0
+592
+592
+592
+1
+555
+555
+555
+1822
+1822
+1822
+14
+1463
+1463
+1463
+52
+365
+92
+41
+36
+3079
+3079
+3079
+1156
+525
+604
+2606
+1671
+201
+2249
+2249
+2249
+29
+345
+2938
+24
+3875
+3875
+3875
+925
+925
+925
+366
+31
+298
+177
+185
+36
+189
+546
+486
+1
+52
+1267
+71
+1718
+2325
+2325
+2325
+4059
+47
+1646
+1687
+38
+739
+499
+37
+608
+23
+22
+6
+103
+38
+0
+101
+3431
+3431
+3431
+4044
+4044
+4044
+225
+527
+905
+905
+905
+3387
+3387
+3387
+46
+519
+376
+376
+376
+2344
+216
+743
+743
+743
+3671
+3671
+3671
+328
+508
+41
+4001
+4001
+4001
+88
+1
+25
+365
+40
+1543
+374
+461
+324
+2402
+2
+1983
+1983
+1983
+2073
+441
+24
+145
+137
+4993
+4993
+4993
+36
+1
+155
+317
+54
+276
+260
+2396
+3463
+3463
+3463
+1137
+4
+96
+3201
+3201
+3201
+2
+60
+2369
+1567
+1
+235
+113
+52
+392
+2360
+175
+175
+175
+415
+1269
+1269
+1269
+0
+30
+632
+207
+365
+3434
+3434
+3434
+222
+167
+1428
+3867
+3867
+3867
+1723
+172
+99
+1030
+192
+316
+911
+124
+1066
+43
+236
+3589
+575
+449
+65
+366
+76
+1382
+547
+104
+2
+1947
+1947
+1947
+187
+198
+3554
+3554
+3554
+1378
+51
+4624
+185
+217
+3
+258
+4650
+4650
+4650
+47
+1071
+61
+976
+37
+978
+978
+978
+1717
+1717
+1717
+12
+493
+0
+784
+22
+1193
+1193
+1193
+50
+2310
+1299
+7
+1271
+1271
+1271
+3098
+62
+29
+667
+341
+358
+4075
+4075
+4075
+2738
+2738
+2738
+3564
+3564
+3564
+2472
+186
+2
+132
+409
+545
+1283
+1283
+1283
+1479
+593
+592
+231
+231
+231
+1
+2524
+2524
+2524
+157
+3725
+151
+334
+2503
+1063
+1063
+1063
+11
+761
+29
+53
+579
+74
+129
+32
+233
+3821
+3821
+3821
+1287
+102
+923
+339
+79
+146
+2470
+2470
+2470
+101
+64
+2965
+2965
+2965
+209
+1
+1731
+367
+156
+223
+194
+20
+1081
+1081
+1081
+62
+40
+518
+220
+317
+1081
+4213
+4213
+4213
+1743
+3607
+3607
+3607
+1487
+664
+519
+1
+2511
+321
+3370
+3370
+3370
+32
+36
+1738
+111
+1228
+1228
+1228
+30
+35
+421
+942
+942
+942
+18
+29
+611
+205
+4981
+4981
+4981
+998
+974
+2763
+2856
+2856
+2856
+3996
+3996
+3996
+99
+1036
+1036
+1036
+367
+1664
+367
+367
+367
+1167
+111
+372
+796
+796
+796
+113
+113
+113
+210
+56
+127
+791
+47
+855
+65
+1140
+22
+448
+1224
+21
+33
+1147
+113
+119
+557
+26
+48
+226
+315
+0
+302
+60
+1189
+1189
+1189
+3124
+3124
+3124
+5
+25
+47
+37
+923
+1733
+1733
+1733
+22
+0
+21
+179
+0
+679
+692
+1
+1059
+1059
+1059
+24
+43
+0
+3843
+3843
+3843
+4
+1
+2728
+1727
+2536
+1123
+0
+2947
+10
+3874
+3874
+3874
+4260
+962
+225
+1821
+84
+0
+3576
+3576
+3576
+138
+3474
+3474
+3474
+4045
+4045
+4045
+1093
+36
+3406
+133
+113
+236
+249
+2737
+53
+1757
+157
+968
+0
+848
+59
+2094
+2094
+2094
+304
+1978
+29
+921
+1
+3757
+3757
+3757
+306
+20
+145
+26
+189
+4678
+4678
+4678
+202
+76
+28
+94
+74
+18
+1429
+634
+0
+1420
+35
+147
+339
+2240
+2240
+2240
+22
+1752
+101
+4878
+4878
+4878
+230
+112
+38
+71
+359
+39
+74
+1795
+30
+3990
+3990
+3990
+40
+2572
+2572
+2572
+383
+30
+836
+55
+29
+356
+1738
+35
+1839
+1839
+1839
+2125
+2125
+2125
+761
+96
+23
+204
+6
+53
+1
+1829
+125
+284
+743
+26
+20
+301
+1867
+3889
+3889
+3889
+327
+281
+2999
+2999
+2999
+1151
+22
+66
+725
+1367
+4
+4601
+4601
+4601
+6
+706
+89
+25
+545
+44
+30
+91
+26
+21
+1218
+52
+1520
+456
+1741
+2496
+2496
+2496
+278
+1050
+362
+54
+1
+37
+249
+21
+1269
+38
+1
+2021
+2021
+2021
+89
+179
+1126
+1126
+1126
+2
+752
+752
+752
+29
+2356
+2356
+2356
+373
+1120
+190
+31
+1376
+4318
+4683
+20
+45
+55
+0
+111
+930
+464
+25
+1812
+265
+696
+906
+326
+326
+326
+51
+294
+685
+2309
+2309
+2309
+298
+333
+2545
+2545
+2545
+70
+1540
+559
+501
+710
+1159
+41
+617
+1200
+1125
+849
+1437
+1437
+1437
+916
+390
+138
+175
+0
+227
+332
+1472
+2550
+2550
+2550
+1130
+16
+1796
+0
+393
+366
+26
+2817
+1
+711
+907
+26
+41
+4320
+4320
+4320
+1510
+1510
+1510
+2
+132
+1379
+1501
+605
+64
+186
+1101
+89
+1574
+80
+187
+329
+118
+59
+56
+2
+212
+1025
+174
+1
+25
+253
+1431
+2193
+2193
+2193
+1956
+916
+916
+916
+2446
+2620
+21
+43
+6
+139
+0
+2607
+2607
+2607
+0
+1365
+274
+33
+241
+2285
+52
+1
+61
+235
+235
+235
+183
+30
+0
+1
+1
+765
+1
+3533
+3533
+3533
+1042
+29
+4190
+4190
+4190
+26
+1615
+27
+229
+368
+368
+368
+250
+8
+1
+0
+32
+355
+31
+432
+32
+20
+22
+22
+44
+146
+1763
+491
+491
+491
+0
+180
+39
+30
+50
+941
+1180
+328
+1
+100
+1778
+707
+293
+32
+1790
+31
+825
+31
+11
+24
+429
+0
+20
+1852
+79
+109
+0
+0
+2579
+2579
+2579
+74
+30
+29
+112
+3392
+3087
+3087
+3087
+19
+1554
+1554
+1554
+23
+2393
+131
+347
+444
+1842
+1681
+3
+6
+999
+34
+1193
+183
+880
+880
+880
+919
+919
+919
+966
+966
+966
+1242
+3275
+3275
+3275
+1
+0
+137
+665
+25
+31
+65
+70
+1389
+3097
+845
+2669
+91
+370
+213
+1850
+38
+138
+218
+624
+624
+624
+93
+1955
+1955
+1955
+265
+1297
+21
+1577
+1994
+1994
+1994
+113
+552
+57
+834
+75
+0
+1187
+3400
+3400
+3400
+2250
+34
+61
+2885
+2885
+2885
+0
+35
+35
+35
+1892
+1862
+1897
+1897
+1897
+235
+45
+43
+3906
+3906
+3906
+121
+2751
+21
+2072
+2072
+2072
+36
+83
+1881
+483
+2506
+2987
+2987
+2987
+419
+6
+32
+4860
+4860
+4860
+82
+385
+4
+1578
+1578
+1578
+3072
+3072
+3072
+7
+574
+104
+265
+853
+0
+60
+1626
+91
+242
+58
+1
+4465
+3005
+3005
+3005
+250
+1864
+2215
+1858
+20
+105
+458
+20
+46
+26
+29
+220
+3818
+3818
+3818
+88
+22
+462
+339
+0
+2
+0
+1239
+1239
+1239
+33
+40
+87
+2687
+2687
+2687
+0
+856
+28
+35
+2496
+2496
+2496
+20
+44
+498
+205
+61
+557
+60
+1984
+646
+1511
+182
+6
+625
+29
+246
+2044
+475
+4162
+4162
+4162
+21
+1971
+0
+1998
+3016
+20
+44
+29
+32
+35
+110
+125
+1470
+737
+33
+803
+1036
+1861
+31
+0
+4866
+4866
+4866
+12
+44
+889
+889
+889
+367
+1810
+1172
+1172
+1172
+24
+892
+307
+1585
+900
+191
+2985
+0
+1946
+1946
+1946
+344
+344
+344
+4551
+4551
+4551
+1670
+1670
+1670
+852
+123
+1598
+22
+366
+23
+69
+132
+3373
+3373
+3373
+366
+27
+148
+1654
+599
+72
+4561
+4561
+4561
+502
+1731
+1731
+1731
+2186
+2184
+197
+22
+189
+933
+457
+2372
+2504
+488
+889
+3976
+3976
+3976
+1122
+988
+38
+1393
+1393
+1393
+1877
+393
+470
+1513
+343
+362
+175
+42
+390
+818
+0
+68
+3096
+3096
+3096
+1002
+1277
+332
+1189
+2058
+171
+650
+650
+650
+792
+105
+2215
+21
+112
+23
+118
+2470
+46
+4422
+4422
+4422
+294
+105
+716
+28
+57
+222
+4616
+4616
+4616
+372
+1146
+1202
+1202
+1202
+4119
+4119
+4119
+444
+1326
+1326
+1326
+1
+4898
+4898
+4898
+941
+603
+4385
+4385
+4385
+46
+573
+181
+219
+3481
+3481
+3481
+518
+0
+4143
+4143
+4143
+366
+20
+1618
+104
+157
+74
+46
+173
+1
+3373
+3373
+3373
+950
+950
+950
+1
+492
+2372
+2372
+2372
+1
+28
+1873
+1873
+1873
+1108
+1108
+1108
+566
+302
+2848
+2848
+2848
+39
+2366
+2366
+2366
+40
+2379
+2379
+2379
+542
+134
+4232
+4232
+4232
+866
+920
+3135
+3135
+3135
+533
+97
+22
+258
+2166
+3157
+1101
+1101
+1101
+43
+64
+340
+25
+4973
+4973
+4973
+3421
+3421
+3421
+377
+1163
+1220
+22
+1299
+1664
+1664
+1664
+42
+185
+171
+58
+705
+26
+43
+33
+671
+49
+0
+53
+1107
+165
+1743
+556
+3062
+3062
+3062
+4932
+4932
+4932
+366
+38
+44
+4845
+4845
+4845
+746
+3155
+36
+119
+2979
+218
+4093
+129
+1485
+73
+30
+43
+25
+4201
+4201
+4201
+38
+21
+896
+2
+70
+49
+34
+1905
+467
+2748
+132
+478
+500
+1
+38
+365
+2442
+521
+0
+101
+1383
+62
+4633
+4633
+4633
+601
+2061
+64
+2353
+2353
+2353
+718
+717
+2245
+786
+1562
+41
+27
+1254
+1254
+1254
+588
+190
+102
+24
+43
+2217
+24
+2452
+2452
+2452
+26
+1452
+1187
+1187
+1187
+211
+446
+81
+21
+48
+1
+85
+255
+1874
+1874
+1874
+3813
+97
+2221
+154
+429
+1463
+1463
+1463
+1032
+28
+479
+48
+2047
+4980
+4980
+4980
+1927
+1927
+1927
+4605
+4605
+4605
+1
+0
+1486
+4299
+4299
+4299
+369
+506
+367
+37
+1313
+1313
+1313
+1621
+9
+4727
+4727
+4727
+3164
+3164
+3164
+1252
+1252
+1252
+1144
+1144
+1144
+1514
+1514
+1514
+0
+1435
+213
+575
+58
+1548
+187
+339
+64
+60
+205
+1176
+1176
+1176
+378
+1119
+3780
+3780
+3780
+1
+246
+25
+1083
+1083
+1083
+66
+101
+2463
+3925
+3925
+3925
+471
+2171
+366
+244
+478
+3174
+3174
+3174
+247
+201
+0
+2431
+4348
+4348
+4348
+29
+808
+263
+1444
+1444
+1444
+80
+122
+378
+174
+2659
+2659
+2659
+415
+21
+42
+3059
+3059
+3059
+1
+1222
+2060
+40
+49
+288
+572
+3942
+3942
+3942
+1449
+2106
+2106
+2106
+1186
+40
+1201
+1952
+203
+48
+898
+421
+31
+2226
+2226
+2226
+45
+400
+184
+195
+2790
+2790
+2790
+99
+4239
+4239
+4239
+78
+177
+793
+545
+3252
+3252
+3252
+78
+86
+2310
+2310
+2310
+1345
+1721
+1
+115
+174
+3626
+57
+1696
+1696
+1696
+492
+492
+492
+2330
+2285
+2285
+2285
+40
+2867
+2867
+2867
+2513
+2513
+2513
+85
+2099
+1759
+4508
+4508
+4508
+4951
+4951
+4951
+21
+564
+1068
+29
+1696
+433
+55
+1943
+4264
+4264
+4264
+994
+21
+2707
+0
+10
+258
+258
+258
+948
+51
+504
+268
+251
+1
+856
+2629
+2629
+2629
+19
+407
+4431
+4431
+4431
+1
+505
+3883
+607
+48
+115
+3477
+3477
+3477
+54
+80
+2827
+2827
+2827
+1101
+526
+1034
+102
+47
+921
+228
+32
+1
+58
+20
+2398
+893
+1730
+414
+47
+224
+334
+246
+928
+338
+1948
+1948
+1948
+4161
+4161
+4161
+1517
+1241
+2094
+2094
+2094
+2380
+98
+3690
+3690
+3690
+578
+439
+0
+145
+190
+1217
+1
+3538
+3538
+3538
+512
+1125
+2
+138
+713
+367
+476
+73
+62
+544
+1387
+76
+550
+0
+126
+248
+967
+967
+967
+826
+975
+181
+446
+1266
+34
+460
+31
+1568
+1
+2
+2201
+2201
+2201
+13
+36
+24
+234
+234
+234
+368
+1468
+1478
+4221
+4221
+4221
+248
+2673
+2673
+2673
+4552
+4552
+4552
+4664
+4664
+4664
+227
+29
+222
+4439
+3184
+3184
+3184
+886
+98
+2492
+103
+193
+1775
+332
+332
+332
+365
+59
+108
+302
+39
+3406
+3406
+3406
+212
+599
+599
+599
+264
+2
+250
+979
+663
+325
+0
+1105
+2124
+2470
+55
+151
+1533
+1533
+1533
+507
+294
+294
+294
+38
+2150
+1562
+202
+202
+202
+323
+235
+756
+48
+4345
+4345
+4345
+371
+2863
+2863
+2863
+274
+712
+325
+529
+1019
+1019
+1019
+4481
+4481
+4481
+232
+4254
+4254
+4254
+312
+3827
+3827
+3827
+150
+1030
+2779
+2779
+2779
+4979
+4979
+4979
+373
+28
+277
+806
+658
+35
+154
+36
+1571
+148
+295
+3614
+4
+262
+1
+2019
+30
+600
+2991
+2991
+2991
+1021
+1404
+33
+38
+75
+531
+667
+376
+2050
+19
+3807
+3807
+3807
+199
+89
+2187
+3599
+3599
+3599
+389
+2123
+3409
+716
+716
+716
+1861
+1753
+1753
+1753
+107
+53
+2105
+2105
+2105
+645
+1707
+301
+36
+1812
+1785
+1785
+1785
+190
+112
+901
+2622
+2622
+2622
+0
+580
+4022
+1259
+282
+1269
+1269
+1269
+2990
+2990
+2990
+99
+2800
+64
+4621
+4621
+4621
+154
+0
+1385
+85
+240
+691
+0
+24
+1965
+191
+105
+49
+2
+273
+381
+3669
+3669
+3669
+1771
+282
+478
+708
+51
+290
+671
+122
+122
+122
+3453
+3453
+3453
+1045
+62
+4394
+4394
+4394
+2201
+310
+948
+2271
+658
+1516
+2852
+1714
+2130
+2160
+56
+60
+2447
+2447
+2447
+232
+373
+2240
+2240
+2240
+64
+3
+1119
+34
+2224
+0
+5
+1390
+1390
+1390
+3708
+3708
+3708
+345
+609
+23
+255
+352
+188
+1280
+1203
+168
+58
+703
+189
+31
+532
+1087
+627
+21
+24
+903
+1314
+33
+991
+991
+991
+561
+271
+2245
+1228
+4
+4905
+4905
+4905
+155
+203
+2821
+32
+183
+32
+1042
+1780
+7
+1597
+279
+86
+43
+4
+2084
+2084
+2084
+20
+3630
+3630
+3630
+1065
+1414
+1414
+1414
+4667
+4667
+4667
+21
+3598
+3598
+3598
+164
+1102
+546
+27
+25
+233
+910
+0
+808
+808
+808
+1800
+59
+97
+41
+10
+23
+0
+1493
+2525
+2525
+2525
+121
+6
+29
+706
+41
+143
+98
+1564
+674
+674
+674
+1119
+82
+3417
+3417
+3417
+24
+429
+2042
+1651
+3287
+3287
+3287
+27
+30
+25
+5
+0
+373
+381
+103
+24
+231
+3419
+3419
+3419
+475
+31
+60
+60
+60
+502
+1374
+477
+21
+4
+4
+3
+881
+674
+1017
+1017
+1017
+2185
+2185
+2185
+0
+30
+1053
+1053
+1053
+0
+0
+2273
+2273
+2273
+1007
+32
+400
+26
+441
+22
+61
+171
+39
+1086
+58
+2580
+2580
+2580
+4193
+4193
+4193
+43
+111
+1755
+155
+380
+1
+3978
+27
+2851
+31
+458
+1
+23
+1120
+35
+40
+3
+3491
+4734
+4734
+4734
+4750
+4750
+4750
+93
+1
+29
+72
+4012
+4012
+4012
+4448
+4448
+4448
+324
+855
+1683
+1683
+1683
+3013
+3013
+3013
+0
+1381
+10
+1393
+1513
+1513
+1513
+0
+519
+36
+692
+36
+26
+243
+174
+307
+2336
+2336
+2336
+132
+1540
+91
+229
+20
+1
+635
+4927
+4927
+4927
+4029
+4029
+4029
+803
+67
+1367
+55
+44
+206
+47
+4444
+4444
+4444
+9
+74
+134
+1071
+1071
+1071
+1443
+1443
+1443
+714
+757
+124
+282
+1258
+64
+46
+96
+365
+92
+4083
+79
+398
+2258
+2258
+2258
+30
+2858
+86
+40
+3196
+1054
+46
+1
+187
+2111
+173
+763
+59
+1026
+774
+89
+28
+3075
+3075
+3075
+753
+23
+0
+1358
+0
+3655
+3655
+3655
+89
+21
+56
+1993
+5
+14
+700
+700
+700
+2920
+2981
+1929
+1538
+5
+458
+278
+79
+33
+1017
+0
+737
+2
+43
+20
+0
+860
+39
+28
+330
+25
+1158
+173
+318
+0
+260
+71
+45
+16
+1358
+420
+1086
+122
+482
+0
+1561
+110
+3687
+3687
+3687
+2988
+1060
+32
+12
+4
+381
+59
+4287
+4287
+4287
+65
+2355
+1171
+1171
+1171
+67
+68
+87
+1012
+524
+33
+0
+1998
+1998
+1998
+823
+823
+823
+28
+21
+1086
+1086
+1086
+1
+3459
+3459
+3459
+3
+883
+4
+198
+2282
+2282
+2282
+478
+651
+2638
+28
+4010
+54
+53
+41
+336
+2251
+2907
+2907
+2907
+731
+2171
+30
+21
+3393
+1
+734
+1509
+3042
+3042
+3042
+27
+2362
+2362
+2362
+39
+26
+91
+26
+117
+656
+2284
+1
+0
+1
+2341
+0
+239
+4008
+4008
+4008
+4539
+4539
+4539
+196
+69
+24
+34
+90
+1808
+2530
+2530
+2530
+389
+377
+22
+39
+0
+1564
+1564
+1564
+22
+3745
+3745
+3745
+2061
+375
+28
+28
+796
+796
+796
+67
+2612
+87
+38
+63
+816
+10
+77
+63
+346
+68
+4032
+4032
+4032
+0
+653
+0
+41
+2243
+2243
+2243
+4365
+4365
+4365
+1
+177
+21
+408
+32
+4707
+134
+1
+5
+2564
+0
+89
+2313
+4065
+4065
+4065
+508
+508
+508
+1542
+208
+249
+1901
+103
+544
+26
+1926
+197
+1558
+1558
+1558
+26
+3740
+3740
+3740
+49
+274
+1831
+54
+388
+100
+1558
+3037
+3037
+3037
+102
+27
+1612
+3382
+1
+436
+1913
+4690
+4690
+4690
+1242
+0
+170
+4292
+4292
+4292
+37
+1793
+1793
+1793
+967
+967
+967
+1
+1
+4719
+4719
+4719
+2340
+2340
+2340
+553
+1851
+1851
+1851
+1143
+113
+71
+65
+143
+50
+0
+2392
+1298
+2
+88
+2524
+2524
+2524
+1558
+1558
+1558
+32
+120
+0
+74
+479
+705
+4094
+21
+2217
+1820
+3
+143
+3410
+3410
+3410
+2165
+1271
+1271
+1271
+44
+1
+77
+0
+45
+21
+1411
+20
+595
+97
+3
+919
+3895
+3895
+3895
+32
+587
+30
+140
+521
+521
+521
+199
+68
+26
+247
+4441
+4441
+4441
+21
+45
+2363
+2363
+2363
+1
+33
+25
+2625
+1581
+1581
+1581
+4761
+4761
+4761
+434
+4
+3101
+44
+3
+20
+3216
+3216
+3216
+118
+173
+751
+4537
+4537
+4537
+0
+31
+2362
+2362
+2362
+1423
+469
+49
+33
+222
+1176
+1
+300
+4933
+4933
+4933
+1139
+2409
+2409
+2409
+554
+45
+1144
+25
+35
+73
+120
+1988
+105
+1929
+0
+4
+208
+39
+23
+473
+2901
+2901
+2901
+1644
+1644
+1644
+2329
+2329
+2329
+46
+1642
+74
+34
+2
+537
+69
+2770
+17
+45
+601
+601
+601
+1
+641
+0
+813
+2004
+35
+105
+26
+77
+1534
+9
+922
+27
+3
+330
+0
+609
+63
+810
+17
+0
+1146
+344
+1
+365
+365
+365
+25
+685
+49
+108
+1128
+1128
+1128
+21
+3154
+3154
+3154
+792
+354
+749
+1165
+1165
+1165
+1195
+1613
+1613
+1613
+1718
+1718
+1718
+118
+22
+804
+1375
+111
+1145
+615
+6
+334
+1490
+76
+71
+521
+199
+1297
+222
+323
+507
+2
+217
+431
+38
+22
+1
+337
+4184
+4184
+4184
+371
+891
+4339
+4339
+4339
+888
+1206
+4408
+4408
+4408
+1374
+75
+2301
+1
+1726
+0
+1
+62
+1622
+392
+21
+31
+2776
+2279
+2279
+2279
+454
+90
+1
+38
+35
+3537
+3537
+3537
+454
+377
+375
+22
+1671
+1671
+1671
+2204
+2204
+2204
+37
+129
+47
+43
+2012
+44
+225
+889
+920
+38
+148
+3830
+3830
+3830
+829
+2538
+2538
+2538
+585
+611
+117
+150
+396
+1827
+1
+1336
+189
+708
+359
+1980
+70
+5
+1676
+725
+150
+150
+150
+95
+60
+213
+118
+103
+133
+965
+32
+2
+2308
+2308
+2308
+1204
+146
+4767
+21
+2156
+2156
+2156
+22
+391
+391
+391
+264
+153
+24
+50
+34
+365
+2666
+63
+4440
+1131
+1155
+1155
+1155
+29
+3500
+3500
+3500
+156
+1702
+930
+365
+124
+0
+508
+4585
+4585
+4585
+87
+84
+38
+609
+609
+609
+102
+3495
+3495
+3495
+1654
+146
+3570
+3570
+3570
+288
+1
+159
+2386
+598
+93
+23
+4913
+4913
+4913
+36
+72
+651
+1286
+2158
+2158
+2158
+71
+456
+1238
+728
+4265
+0
+2107
+1760
+1760
+1760
+22
+1284
+25
+204
+4435
+4435
+4435
+941
+424
+1395
+3126
+3126
+3126
+2688
+547
+83
+8
+146
+4390
+4390
+4390
+499
+510
+1
+2130
+51
+148
+0
+25
+171
+701
+3773
+3773
+3773
+206
+3611
+3611
+3611
+28
+1083
+5
+560
+529
+114
+3156
+115
+20
+4597
+4597
+4597
+1515
+145
+2
+712
+32
+181
+165
+695
+127
+2113
+108
+52
+775
+775
+775
+0
+28
+30
+117
+117
+117
+174
+32
+1658
+1658
+1658
+2721
+211
+255
+255
+255
+173
+63
+112
+108
+67
+2646
+69
+1022
+1422
+1422
+1422
+20
+2893
+2893
+2893
+8
+15
+3255
+3255
+3255
+778
+231
+25
+974
+1368
+217
+637
+30
+141
+2169
+117
+1
+48
+63
+708
+688
+2015
+2015
+2015
+158
+158
+158
+3284
+3284
+3284
+0
+882
+37
+2
+1444
+4343
+4343
+4343
+3084
+3084
+3084
+325
+27
+1416
+1416
+1416
+569
+1826
+1826
+1826
+927
+1285
+38
+44
+28
+190
+3197
+3197
+3197
+1471
+83
+1748
+1748
+1748
+1615
+1615
+1615
+60
+2799
+2799
+2799
+4971
+4971
+4971
+282
+134
+444
+32
+616
+427
+209
+1063
+3891
+816
+139
+1115
+932
+2152
+815
+407
+407
+407
+313
+103
+1536
+3278
+47
+1345
+512
+3204
+3204
+3204
+20
+2218
+4480
+4480
+4480
+1753
+1486
+316
+16
+1826
+67
+4002
+4002
+4002
+1764
+1764
+1764
+46
+2088
+0
+3999
+3999
+3999
+2880
+2880
+2880
+4980
+4980
+4980
+1657
+1657
+1657
+169
+2039
+2039
+2039
+237
+5
+42
+1002
+1636
+1636
+1636
+1291
+26
+10
+4502
+4502
+4502
+198
+237
+1
+1000
+187
+36
+144
+955
+79
+2051
+233
+2269
+2269
+2269
+1713
+1713
+1713
+2908
+911
+911
+911
+130
+89
+666
+22
+1969
+1969
+1969
+3234
+3234
+3234
+905
+676
+23
+11
+985
+1448
+180
+180
+180
+165
+330
+126
+6
+671
+2855
+2855
+2855
+1826
+26
+1
+322
+3252
+3252
+3252
+589
+78
+721
+1732
+1732
+1732
+749
+21
+1102
+118
+530
+2096
+2724
+2724
+2724
+1077
+110
+45
+48
+74
+30
+101
+343
+2515
+2515
+2515
+1585
+1461
+551
+1047
+354
+1959
+223
+337
+4371
+4371
+4371
+0
+1488
+254
+950
+950
+950
+576
+100
+578
+578
+578
+3650
+3917
+3917
+3917
+2466
+926
+303
+2191
+925
+1206
+1206
+1206
+0
+315
+1826
+1826
+1826
+3
+223
+31
+147
+661
+661
+661
+1081
+704
+87
+717
+9
+108
+993
+166
+27
+83
+174
+263
+28
+708
+708
+708
+1239
+2396
+2396
+2396
+998
+307
+1814
+2662
+2662
+2662
+4294
+4294
+4294
+4702
+4702
+4702
+31
+133
+54
+2
+80
+22
+1967
+4562
+4562
+4562
+158
+2467
+97
+480
+705
+1290
+1511
+3403
+1117
+1117
+1117
+1872
+283
+178
+738
+738
+738
+1431
+1753
+66
+210
+3423
+3423
+3423
+33
+473
+62
+1078
+1085
+56
+4312
+4312
+4312
+41
+20
+622
+2160
+920
+56
+118
+1
+34
+45
+20
+398
+22
+730
+481
+481
+481
+1142
+1551
+1551
+1551
+35
+3590
+3590
+3590
+357
+2973
+2973
+2973
+24
+531
+365
+365
+365
+31
+1119
+744
+2593
+2593
+2593
+90
+0
+2121
+2121
+2121
+367
+263
+4998
+4998
+4998
+52
+1127
+1127
+1127
+77
+54
+2965
+2965
+2965
+1359
+1365
+553
+91
+114
+62
+45
+1211
+1
+2599
+2599
+2599
+2218
+2218
+2218
+198
+33
+194
+1014
+1
+840
+1498
+1498
+1498
+1494
+1494
+1494
+1
+2454
+2454
+2454
+619
+393
+206
+189
+4658
+1036
+238
+439
+34
+96
+1080
+2020
+2128
+665
+1448
+1
+369
+1844
+177
+2787
+2787
+2787
+36
+827
+1302
+1435
+0
+4
+1785
+725
+607
+8
+32
+2605
+2605
+2605
+365
+1
+37
+263
+0
+24
+4658
+4658
+4658
+2187
+130
+136
+160
+0
+2
+1062
+750
+158
+2515
+1
+30
+1243
+104
+427
+207
+3280
+3280
+3280
+465
+28
+141
+161
+4705
+4705
+4705
+268
+41
+65
+65
+65
+326
+3729
+3729
+3729
+32
+1897
+1897
+1897
+1930
+94
+927
+90
+339
+254
+270
+270
+270
+11
+1333
+1333
+1333
+301
+1085
+730
+84
+1855
+20
+71
+1062
+21
+21
+3271
+3271
+3271
+1859
+245
+61
+1507
+1507
+1507
+368
+2203
+1389
+1389
+1389
+437
+51
+147
+1
+2565
+2524
+1239
+22
+290
+0
+4363
+4363
+4363
+1947
+1947
+1947
+36
+11
+3
+516
+459
+4785
+4785
+4785
+1
+303
+2470
+2470
+2470
+728
+34
+20
+41
+161
+72
+1517
+1438
+1690
+1443
+3132
+3132
+3132
+123
+51
+522
+1
+29
+23
+375
+365
+1257
+1257
+1257
+72
+1760
+1760
+1760
+1366
+968
+1
+1
+4404
+4404
+4404
+2958
+2958
+2958
+2301
+29
+261
+169
+31
+1889
+0
+328
+123
+1898
+1898
+1898
+1475
+42
+31
+737
+101
+0
+596
+596
+596
+39
+24
+231
+26
+2251
+2251
+2251
+924
+599
+24
+2981
+2981
+2981
+1379
+1379
+1379
+1060
+1525
+755
+42
+2154
+1620
+128
+2105
+1075
+193
+738
+1240
+27
+776
+3134
+3134
+3134
+4830
+4830
+4830
+241
+35
+987
+0
+1439
+1439
+1439
+53
+1728
+3718
+3718
+3718
+6
+182
+220
+3910
+3910
+3910
+1
+25
+1209
+79
+408
+110
+28
+413
+4851
+4851
+4851
+0
+411
+36
+316
+65
+2503
+2503
+2503
+193
+32
+176
+4816
+4816
+4816
+264
+223
+29
+1108
+408
+53
+162
+100
+788
+788
+788
+32
+75
+25
+29
+41
+4155
+4155
+4155
+2777
+2777
+2777
+425
+401
+1565
+445
+35
+1424
+753
+3501
+31
+2589
+1
+3271
+1112
+1112
+1112
+2129
+0
+4411
+4411
+4411
+1168
+1168
+1168
+1198
+1752
+1752
+1752
+0
+66
+33
+1501
+430
+2719
+2719
+2719
+0
+1111
+711
+4
+678
+0
+141
+1198
+1198
+1198
+0
+282
+301
+10
+3664
+3664
+3664
+23
+4
+20
+410
+3358
+3358
+3358
+37
+4637
+4637
+4637
+3386
+3386
+3386
+33
+2271
+2271
+2271
+778
+48
+1536
+580
+339
+2
+0
+3599
+2566
+2566
+2566
+1780
+1780
+1780
+645
+45
+1456
+1456
+1456
+10
+41
+33
+4
+741
+288
+25
+113
+2131
+0
+4
+21
+2172
+372
+21
+1720
+1720
+1720
+63
+63
+63
+81
+896
+896
+896
+22
+3
+470
+148
+46
+536
+3024
+1
+2954
+2954
+2954
+356
+1968
+67
+2022
+2022
+2022
+2196
+2203
+2203
+2203
+2798
+3
+20
+37
+31
+32
+230
+21
+73
+1999
+1999
+1999
+50
+0
+488
+1759
+1756
+4598
+4598
+4598
+763
+763
+763
+4260
+4260
+4260
+393
+176
+2940
+1208
+1208
+1208
+0
+302
+2559
+2351
+2351
+2351
+0
+395
+886
+381
+2924
+0
+27
+602
+260
+151
+1
+767
+767
+767
+2996
+2996
+2996
+37
+383
+383
+383
+351
+696
+190
+0
+1
+1091
+2986
+2122
+82
+2054
+335
+750
+0
+182
+776
+2633
+2582
+2582
+2582
+71
+755
+2
+1
+50
+378
+122
+2571
+1292
+1292
+1292
+1469
+39
+4873
+4873
+4873
+0
+31
+122
+120
+336
+61
+74
+31
+1487
+1159
+1159
+1159
+776
+1848
+16
+4571
+4571
+4571
+54
+225
+225
+225
+1626
+0
+4482
+4482
+4482
+41
+3
+0
+45
+45
+45
+24
+0
+391
+4871
+4871
+4871
+1286
+55
+123
+5
+46
+200
+55
+130
+1185
+51
+193
+234
+43
+43
+43
+40
+133
+2571
+32
+48
+328
+29
+3979
+3979
+3979
+487
+2680
+2680
+2680
+0
+4263
+4263
+4263
+1620
+1620
+1620
+28
+1
+31
+2111
+216
+816
+4
+229
+28
+3103
+3103
+3103
+79
+51
+120
+782
+107
+24
+435
+435
+435
+52
+9
+876
+876
+876
+503
+3043
+3043
+3043
+30
+326
+4488
+4488
+4488
+84
+35
+1
+846
+846
+846
+469
+469
+469
+0
+538
+25
+3171
+3171
+3171
+124
+51
+1
+197
+36
+53
+4747
+4747
+4747
+3010
+4526
+4526
+4526
+1794
+29
+497
+22
+914
+139
+404
+2937
+1078
+4473
+4473
+4473
+0
+2928
+2967
+2967
+2967
+50
+0
+208
+572
+572
+572
+2932
+2932
+2932
+171
+0
+1
+844
+844
+844
+2
+1
+1880
+26
+2770
+2770
+2770
+33
+42
+28
+2923
+4146
+4146
+4146
+1153
+958
+1973
+141
+29
+1570
+14
+154
+132
+3779
+3779
+3779
+176
+3823
+3823
+3823
+1470
+474
+20
+0
+1
+63
+1082
+59
+1
+32
+215
+161
+1687
+1687
+1687
+32
+0
+63
+100
+81
+20
+32
+1653
+1653
+1653
+4935
+4935
+4935
+22
+1963
+1284
+20
+43
+1954
+731
+80
+178
+1027
+783
+783
+783
+4937
+4937
+4937
+2746
+2746
+2746
+415
+153
+158
+0
+1362
+1127
+24
+21
+27
+300
+2529
+2529
+2529
+3095
+3095
+3095
+66
+2725
+2725
+2725
+30
+132
+178
+2337
+2337
+2337
+1663
+2655
+2655
+2655
+47
+816
+1017
+1043
+1576
+1576
+1576
+4719
+4719
+4719
+3041
+3041
+3041
+2281
+665
+665
+665
+722
+151
+151
+151
+795
+1648
+1648
+1648
+2762
+36
+28
+1
+114
+1202
+1202
+1202
+168
+1218
+186
+306
+2016
+2459
+1131
+68
+129
+75
+29
+0
+138
+1085
+1259
+1259
+1259
+4162
+4162
+4162
+720
+0
+26
+2522
+2522
+2522
+1139
+23
+4
+142
+150
+23
+608
+608
+608
+32
+1987
+8
+3498
+3498
+3498
+1836
+22
+29
+365
+365
+365
+34
+775
+1862
+487
+61
+3833
+3833
+3833
+708
+708
+708
+1251
+1251
+1251
+102
+52
+1670
+4379
+4379
+4379
+0
+2020
+2020
+2020
+3002
+1213
+2
+6
+546
+2170
+2170
+2170
+325
+27
+4915
+4915
+4915
+1577
+61
+3294
+2012
+87
+58
+20
+4459
+4459
+4459
+4145
+20
+0
+3834
+3834
+3834
+96
+55
+2175
+2175
+2175
+24
+365
+107
+3388
+3388
+3388
+608
+60
+4080
+4080
+4080
+2053
+31
+1640
+1568
+1568
+1568
+171
+4106
+4106
+4106
+2579
+1831
+1831
+1831
+2181
+35
+2152
+1518
+1518
+1518
+147
+209
+0
+1296
+1296
+1296
+117
+0
+214
+15
+3149
+3149
+3149
+106
+1549
+1549
+1549
+61
+495
+112
+471
+3429
+3429
+3429
+0
+181
+36
+89
+3456
+365
+26
+830
+151
+4170
+4170
+4170
+140
+860
+1517
+1517
+1517
+106
+471
+0
+223
+550
+3989
+3989
+3989
+5
+0
+2449
+2449
+2449
+2214
+307
+0
+2788
+2788
+2788
+0
+91
+1
+308
+3839
+3839
+3839
+4522
+4522
+4522
+3818
+3818
+3818
+3411
+91
+0
+3951
+3951
+3951
+60
+1550
+1550
+1550
+2015
+3006
+3006
+3006
+12
+1
+71
+212
+155
+21
+72
+24
+201
+2137
+2137
+2137
+34
+4484
+4484
+4484
+462
+64
+28
+0
+56
+2437
+2437
+2437
+1522
+1522
+1522
+116
+2083
+2083
+2083
+390
+1879
+1879
+1879
+2649
+2649
+2649
+1633
+1292
+32
+4610
+4610
+4610
+375
+164
+2076
+2076
+2076
+1866
+2978
+4
+4844
+4844
+4844
+4229
+4229
+4229
+45
+28
+156
+546
+1336
+1201
+3879
+3879
+3879
+857
+2090
+3147
+46
+190
+3154
+3154
+3154
+3511
+3511
+3511
+34
+1314
+161
+2149
+2149
+2149
+162
+4985
+4985
+4985
+4462
+4462
+4462
+4769
+4769
+4769
+627
+233
+175
+2647
+4225
+4225
+4225
+3653
+1834
+471
+1241
+1241
+1241
+899
+35
+150
+705
+1652
+1306
+0
+1297
+1297
+1297
+2071
+499
+1
+67
+1246
+586
+6
+1
+50
+3857
+3857
+3857
+29
+0
+374
+1639
+156
+3549
+3549
+3549
+9
+175
+42
+563
+0
+1
+226
+2296
+111
+23
+36
+479
+3403
+3403
+3403
+3167
+206
+1874
+87
+20
+64
+2685
+1654
+1654
+1654
+1334
+90
+2225
+242
+242
+242
+31
+230
+59
+1
+883
+1377
+818
+448
+4184
+4184
+4184
+362
+913
+106
+950
+950
+950
+562
+38
+144
+2807
+37
+102
+4110
+4110
+4110
+2422
+2422
+2422
+4277
+4277
+4277
+99
+377
+0
+169
+102
+501
+165
+0
+611
+1115
+39
+4785
+4785
+4785
+1140
+3539
+3539
+3539
+645
+841
+841
+841
+378
+3897
+3897
+3897
+2699
+1
+62
+234
+1950
+1428
+1428
+1428
+211
+211
+1825
+0
+1
+26
+31
+1349
+1349
+1349
+925
+75
+185
+32
+56
+368
+171
+2
+389
+485
+31
+1557
+1079
+4813
+4813
+4813
+155
+498
+113
+3898
+3898
+3898
+1293
+42
+4972
+4972
+4972
+236
+42
+1782
+1782
+1782
+1667
+3010
+3010
+3010
+26
+2446
+2446
+2446
+538
+3913
+3913
+3913
+367
+248
+433
+2257
+519
+461
+2263
+2263
+2263
+130
+40
+54
+166
+46
+231
+0
+3937
+3937
+3937
+1575
+4460
+4460
+4460
+0
+692
+27
+842
+842
+842
+163
+618
+0
+186
+230
+2714
+838
+1134
+113
+504
+20
+598
+284
+7
+176
+66
+3873
+3873
+3873
+0
+368
+368
+368
+187
+203
+75
+3183
+3183
+3183
+93
+326
+1331
+186
+2577
+2577
+2577
+29
+1050
+3593
+3593
+3593
+1076
+573
+2239
+31
+1536
+1536
+1536
+41
+0
+4378
+4378
+4378
+3238
+3238
+3238
+77
+0
+584
+847
+4890
+4890
+4890
+205
+545
+978
+2504
+36
+296
+190
+1566
+33
+701
+701
+701
+961
+2218
+4266
+4266
+4266
+0
+23
+36
+2056
+2056
+2056
+5
+331
+571
+30
+166
+32
+4628
+4628
+4628
+641
+681
+40
+65
+2463
+276
+2191
+2191
+2191
+71
+90
+2124
+2124
+2124
+266
+32
+28
+4067
+4067
+4067
+39
+649
+4228
+85
+3345
+3345
+3345
+73
+3999
+3999
+3999
+25
+844
+2502
+2502
+2502
+3
+219
+323
+25
+917
+2508
+2508
+2508
+1514
+1514
+1514
+922
+62
+2764
+2764
+2764
+48
+29
+2072
+184
+1921
+741
+741
+741
+25
+31
+40
+306
+65
+1513
+1400
+1400
+1400
+355
+3623
+3623
+3623
+4703
+4703
+4703
+1429
+1440
+42
+3721
+3721
+3721
+69
+705
+2718
+265
+29
+21
+21
+1727
+192
+2820
+98
+19
+269
+2
+5
+2195
+2195
+2195
+37
+25
+2050
+1718
+1718
+1718
+23
+21
+3155
+3155
+3155
+190
+1
+99
+1213
+1213
+1213
+0
+114
+1693
+1693
+1693
+168
+43
+0
+368
+1457
+21
+1489
+1489
+1489
+900
+1142
+0
+616
+27
+2113
+2113
+2113
+29
+47
+875
+305
+27
+252
+3722
+3722
+3722
+1636
+3558
+3558
+3558
+57
+2082
+789
+344
+1246
+4286
+247
+20
+66
+10
+197
+666
+111
+59
+2179
+2179
+2179
+326
+3732
+3732
+3732
+59
+20
+818
+1941
+30
+317
+142
+52
+42
+895
+35
+561
+42
+137
+640
+1276
+105
+4943
+4943
+4943
+297
+65
+1
+628
+161
+3712
+3712
+3712
+1
+653
+966
+80
+251
+21
+2490
+43
+276
+80
+262
+1262
+1383
+23
+692
+1271
+80
+115
+136
+1
+1044
+151
+79
+1735
+1361
+1361
+1361
+90
+3191
+152
+48
+29
+61
+1389
+240
+2468
+2433
+88
+696
+696
+696
+1755
+1755
+1755
+906
+906
+906
+293
+532
+526
+240
+1
+845
+845
+845
+2500
+1766
+85
+87
+671
+245
+914
+689
+37
+86
+332
+481
+735
+112
+2
+0
+1
+4646
+4646
+4646
+4298
+4298
+4298
+179
+181
+1367
+365
+164
+2529
+9
+946
+216
+30
+23
+4564
+4564
+4564
+4657
+4657
+4657
+293
+284
+233
+94
+1418
+1418
+1418
+258
+1002
+139
+398
+608
+56
+2504
+2504
+2504
+204
+87
+274
+49
+542
+62
+27
+1
+3664
+2716
+2716
+2716
+25
+706
+1370
+2590
+1
+396
+31
+1070
+1070
+1070
+2312
+2312
+2312
+92
+0
+673
+30
+38
+2499
+2499
+2499
+1412
+427
+2129
+3284
+3284
+3284
+162
+305
+3258
+3258
+3258
+703
+645
+3615
+3615
+3615
+341
+276
+1366
+93
+697
+697
+697
+54
+355
+37
+57
+4015
+4015
+4015
+1100
+1100
+1100
+149
+1762
+1762
+1762
+1262
+65
+20
+4897
+4897
+4897
+753
+0
+679
+63
+3279
+32
+4856
+4856
+4856
+1
+28
+4716
+4716
+4716
+65
+750
+2
+29
+23
+4790
+4790
+4790
+127
+894
+260
+2164
+3
+1175
+236
+583
+1098
+1
+42
+335
+4629
+4629
+4629
+2
+1799
+399
+121
+2266
+441
+2122
+72
+172
+1472
+0
+3059
+3059
+3059
+1403
+1403
+1403
+44
+4425
+4425
+4425
+339
+339
+339
+0
+3364
+3364
+3364
+1114
+1753
+1753
+1753
+755
+30
+1136
+399
+82
+1102
+617
+61
+3422
+173
+105
+3778
+3778
+3778
+712
+318
+3635
+30
+1419
+49
+65
+65
+0
+324
+787
+18
+1
+2718
+2718
+2718
+4
+1391
+34
+33
+3826
+3826
+3826
+73
+0
+6
+59
+1005
+165
+4732
+4732
+4732
+56
+1823
+334
+4759
+4759
+4759
+732
+55
+182
+37
+361
+26
+3965
+3965
+3965
+365
+382
+1531
+115
+4758
+4758
+4758
+1417
+110
+1110
+121
+219
+4784
+4784
+4784
+0
+4034
+3942
+3942
+3942
+46
+2595
+2197
+3665
+3665
+3665
+30
+76
+2859
+2859
+2859
+4380
+4380
+4380
+1850
+731
+2507
+800
+0
+34
+1327
+24
+325
+57
+3
+24
+70
+30
+1339
+4
+64
+324
+324
+324
+4830
+4830
+4830
+681
+133
+2202
+2202
+2202
+203
+2
+2239
+381
+1108
+1108
+1108
+3156
+3156
+3156
+3
+307
+40
+3315
+30
+2918
+22
+3716
+3716
+3716
+2528
+3284
+3284
+3284
+254
+56
+1
+365
+3164
+3164
+3164
+53
+0
+0
+2531
+634
+300
+4610
+4610
+4610
+3121
+4397
+4397
+4397
+1388
+1388
+1388
+31
+371
+70
+0
+3656
+3656
+3656
+5
+2137
+2389
+2389
+2389
+26
+6
+4737
+4737
+4737
+1513
+1195
+22
+233
+328
+182
+180
+100
+1897
+1897
+1897
+26
+171
+2602
+1815
+1815
+1815
+11
+88
+178
+0
+27
+4741
+4741
+4741
+21
+121
+4734
+4734
+4734
+505
+505
+505
+31
+703
+4083
+4083
+4083
+2428
+1867
+1992
+3168
+3168
+3168
+188
+509
+509
+509
+2823
+1320
+3144
+152
+3082
+3710
+3710
+3710
+2998
+50
+50
+50
+1559
+689
+1372
+1372
+1372
+2091
+1010
+1010
+1010
+2267
+1835
+3246
+3246
+3246
+2900
+2900
+2900
+21
+1
+4476
+4476
+4476
+337
+201
+29
+4057
+4057
+4057
+42
+33
+3318
+3318
+3318
+1047
+84
+64
+24
+4042
+4042
+4042
+20
+2367
+33
+3555
+3555
+3555
+0
+105
+1684
+1
+1379
+25
+29
+92
+455
+455
+455
+1541
+1541
+1541
+1995
+2290
+447
+33
+101
+1455
+1455
+1455
+31
+2507
+2045
+2045
+2045
+7
+20
+31
+21
+0
+387
+374
+100
+32
+3349
+3349
+3349
+37
+1267
+373
+1
+200
+68
+339
+40
+532
+532
+532
+1492
+1886
+5
+1400
+7
+468
+951
+472
+1193
+1930
+1930
+1930
+29
+4211
+4211
+4211
+119
+1
+0
+94
+371
+28
+183
+21
+1502
+1502
+1502
+46
+491
+491
+491
+1416
+1416
+1416
+3359
+3359
+3359
+2511
+4
+773
+0
+3
+100
+0
+21
+0
+45
+1496
+1496
+1496
+116
+4727
+4727
+4727
+394
+1993
+138
+2229
+2229
+2229
+1476
+3652
+3652
+3652
+21
+351
+3781
+3781
+3781
+28
+2113
+1510
+2930
+2930
+2930
+22
+22
+3254
+3254
+3254
+203
+4056
+3024
+1159
+37
+58
+46
+1779
+355
+1091
+40
+21
+0
+880
+2882
+2882
+2882
+1144
+3614
+3614
+3614
+0
+399
+20
+30
+92
+1673
+256
+2735
+2735
+2735
+4
+40
+2964
+2964
+2964
+45
+436
+3090
+3090
+3090
+403
+983
+1549
+1058
+1712
+22
+1539
+376
+357
+24
+9
+3066
+3066
+3066
+2897
+2910
+34
+8
+4
+549
+3589
+3589
+3589
+717
+191
+60
+24
+0
+33
+25
+4825
+4825
+4825
+1860
+52
+35
+4401
+4401
+4401
+3221
+83
+1893
+39
+603
+53
+991
+2615
+197
+197
+197
+7
+75
+2825
+31
+775
+775
+775
+2854
+2854
+2854
+714
+3093
+3093
+3093
+80
+745
+5
+1815
+69
+618
+1840
+2279
+2279
+2279
+847
+426
+390
+753
+178
+284
+284
+284
+248
+1
+8
+1537
+594
+1537
+1537
+1537
+74
+0
+2352
+2352
+2352
+3487
+3487
+3487
+2989
+2989
+2989
+1
+26
+4110
+4110
+4110
+1824
+2318
+2318
+2318
+3669
+139
+391
+704
+1
+49
+1
+37
+21
+2930
+2863
+2863
+2863
+785
+785
+785
+924
+3519
+40
+27
+1822
+0
+25
+0
+1108
+4700
+4700
+4700
+507
+1831
+1
+4432
+4432
+4432
+2566
+0
+1810
+212
+82
+22
+28
+685
+33
+143
+638
+638
+638
+203
+1166
+1166
+1166
+37
+22
+35
+36
+798
+798
+798
+330
+283
+42
+284
+1994
+73
+2941
+2638
+2638
+2638
+35
+1311
+3
+274
+1059
+1059
+1059
+757
+2304
+4628
+4628
+4628
+5
+3258
+3258
+3258
+799
+2373
+11
+635
+2634
+2634
+2634
+2537
+2654
+28
+4450
+2304
+0
+378
+2478
+2478
+2478
+35
+1380
+1090
+396
+396
+396
+428
+428
+428
+28
+34
+692
+692
+692
+3534
+3534
+3534
+1
+99
+58
+3
+1
+4608
+4608
+4608
+1
+506
+293
+3326
+882
+2188
+3033
+3033
+3033
+29
+5
+27
+514
+2690
+2690
+2690
+207
+130
+23
+67
+30
+1356
+1356
+1356
+3933
+3933
+3933
+3610
+3610
+3610
+430
+26
+1786
+2652
+2652
+2652
+62
+460
+760
+3787
+3787
+3787
+43
+2
+91
+3628
+3628
+3628
+3825
+3825
+3825
+1952
+45
+1740
+21
+2642
+21
+109
+1118
+1509
+1509
+1509
+30
+4
+20
+522
+295
+60
+131
+2263
+2263
+2263
+1801
+1801
+1801
+0
+111
+731
+731
+731
+0
+2133
+96
+20
+3970
+3970
+3970
+203
+4146
+4146
+4146
+518
+518
+518
+24
+3040
+3040
+3040
+2091
+1908
+795
+795
+795
+21
+1849
+51
+150
+230
+4
+36
+61
+1128
+472
+473
+473
+473
+35
+387
+34
+3426
+2111
+22
+697
+1241
+26
+1470
+1269
+849
+3350
+3350
+3350
+3058
+3058
+3058
+52
+9
+3363
+3363
+3363
+21
+3720
+3720
+3720
+65
+36
+2900
+2900
+2900
+986
+30
+0
+38
+748
+1747
+1126
+4
+4406
+4406
+4406
+4202
+86
+2688
+1529
+0
+33
+1591
+1591
+1591
+15
+1957
+3119
+30
+5
+4629
+4629
+4629
+34
+1490
+1490
+1490
+55
+1862
+1862
+1862
+96
+190
+1433
+416
+850
+3494
+3494
+3494
+830
+28
+169
+4658
+4658
+4658
+2577
+140
+652
+1586
+0
+370
+1365
+201
+1
+82
+3030
+61
+74
+380
+1080
+4217
+4217
+4217
+5
+1
+3748
+3748
+3748
+2255
+411
+508
+201
+3
+21
+198
+29
+2196
+2237
+24
+1376
+1421
+5
+1295
+3604
+3604
+3604
+149
+149
+149
+376
+1473
+1473
+1473
+2371
+215
+489
+184
+184
+184
+62
+1418
+1418
+1418
+23
+23
+820
+96
+574
+32
+3492
+3492
+3492
+1454
+2985
+2985
+2985
+119
+38
+1591
+2271
+2271
+2271
+10
+2232
+3009
+3009
+3009
+3785
+3785
+3785
+1399
+2856
+2856
+2856
+4201
+4201
+4201
+22
+545
+38
+69
+1904
+1904
+1904
+2818
+97
+25
+510
+1524
+122
+1931
+1931
+1931
+3444
+3444
+3444
+878
+803
+41
+146
+31
+3359
+3359
+3359
+3724
+3724
+3724
+2938
+2938
+2938
+50
+478
+13
+2
+286
+112
+2626
+2626
+2626
+766
+156
+42
+2895
+1052
+60
+3655
+3655
+3655
+181
+634
+2625
+3149
+1821
+24
+402
+219
+20
+44
+48
+57
+73
+468
+1194
+32
+5
+49
+4729
+46
+205
+3782
+1
+2
+302
+111
+3749
+28
+412
+1520
+36
+2892
+2892
+2892
+68
+1626
+2226
+1198
+0
+173
+216
+216
+216
+1965
+20
+1776
+757
+23
+4366
+4366
+4366
+95
+139
+1566
+188
+1375
+0
+2248
+2248
+2248
+4836
+4836
+4836
+1002
+32
+4533
+4533
+4533
+2207
+104
+0
+592
+458
+21
+1986
+1986
+1986
+256
+1954
+1954
+1954
+829
+115
+1532
+1532
+1532
+1
+214
+2976
+669
+4860
+4860
+4860
+1601
+1601
+1601
+29
+31
+216
+2227
+113
+4351
+4351
+4351
+1230
+3110
+397
+41
+3
+1
+110
+77
+1994
+1994
+1994
+4041
+1219
+588
+338
+22
+27
+2667
+2667
+2667
+2009
+2009
+2009
+31
+222
+91
+2
+3012
+4582
+4582
+4582
+0
+1736
+2442
+88
+505
+2718
+4497
+4497
+4497
+155
+3352
+3352
+3352
+10
+24
+4889
+4889
+4889
+520
+1856
+53
+2
+33
+2187
+2187
+2187
+1
+2965
+2965
+2965
+117
+30
+3991
+3991
+3991
+633
+40
+385
+1964
+57
+34
+3962
+2163
+2281
+3828
+3828
+3828
+157
+4493
+4493
+4493
+2782
+577
+70
+4448
+4448
+4448
+56
+3344
+3344
+3344
+3
+39
+149
+149
+149
+352
+759
+61
+89
+22
+1128
+1128
+1128
+35
+142
+2367
+2367
+2367
+159
+966
+2992
+2992
+2992
+3398
+3398
+3398
+372
+376
+21
+107
+3824
+3824
+3824
+4854
+4854
+4854
+1867
+339
+383
+755
+819
+81
+864
+75
+32
+258
+396
+3080
+3080
+3080
+45
+1243
+107
+3100
+3061
+3061
+3061
+1
+62
+61
+3236
+3236
+3236
+1955
+1955
+1955
+1336
+0
+0
+1292
+1292
+1292
+95
+1953
+30
+488
+4836
+4836
+4836
+153
+135
+839
+839
+839
+1284
+2916
+3056
+1555
+206
+1924
+1924
+1924
+2928
+3138
+3138
+3138
+2589
+2589
+2589
+59
+2659
+25
+0
+20
+106
+31
+31
+233
+4495
+4495
+4495
+835
+847
+1149
+381
+51
+27
+2619
+120
+836
+836
+836
+4878
+4878
+4878
+1585
+1585
+1585
+32
+1243
+90
+329
+44
+2166
+2166
+2166
+4033
+4033
+4033
+3051
+1
+34
+845
+285
+1
+2101
+0
+4137
+4137
+4137
+141
+52
+3824
+3824
+3824
+2450
+2
+69
+2619
+0
+36
+1530
+1201
+69
+1153
+4076
+4076
+4076
+1829
+1829
+1829
+132
+4701
+4701
+4701
+32
+99
+2327
+3074
+3074
+3074
+55
+2403
+2403
+2403
+27
+2156
+381
+3
+124
+1092
+3818
+3818
+3818
+4827
+4827
+4827
+625
+68
+29
+0
+2
+109
+1242
+1242
+1242
+187
+33
+225
+93
+35
+117
+2171
+18
+71
+49
+0
+3755
+1158
+137
+137
+137
+2402
+2402
+2402
+100
+1893
+2618
+2618
+2618
+309
+953
+1426
+1426
+1426
+3651
+3651
+3651
+458
+1
+161
+415
+3844
+3844
+3844
+2337
+3039
+3039
+3039
+1892
+2
+1417
+1417
+1417
+1770
+140
+53
+801
+2367
+2816
+2816
+2816
+2553
+4194
+4194
+4194
+723
+6
+25
+219
+1852
+103
+1822
+43
+365
+34
+1847
+34
+58
+4929
+4929
+4929
+731
+2540
+2540
+2540
+1611
+99
+2502
+2328
+1549
+1273
+1273
+1273
+6
+736
+4045
+4045
+4045
+1084
+24
+438
+0
+572
+4206
+4206
+4206
+1
+237
+2605
+2605
+2605
+3100
+1566
+1566
+1566
+1372
+1372
+1372
+31
+120
+176
+2680
+2680
+2680
+362
+214
+2787
+210
+1976
+1976
+1976
+77
+1803
+49
+25
+2012
+2012
+2012
+438
+438
+438
+1973
+361
+28
+366
+4032
+4032
+4032
+91
+4110
+4110
+4110
+63
+2410
+28
+9
+49
+194
+26
+95
+99
+982
+3277
+3277
+3277
+116
+923
+697
+1170
+54
+2537
+2537
+2537
+1267
+1204
+3565
+3565
+3565
+2498
+107
+42
+1708
+66
+28
+573
+997
+0
+1512
+1512
+1512
+4477
+4477
+4477
+46
+30
+81
+67
+186
+4
+31
+78
+4382
+2174
+366
+1933
+1034
+179
+6
+231
+1737
+1737
+1737
+1161
+156
+97
+4917
+4917
+4917
+4236
+4236
+4236
+0
+446
+27
+71
+55
+36
+825
+1
+823
+823
+823
+327
+327
+327
+81
+173
+0
+2740
+46
+46
+2719
+2719
+2719
+845
+26
+21
+1
+4276
+4276
+4276
+1282
+0
+2110
+3971
+63
+4614
+4614
+4614
+495
+3572
+2314
+1412
+79
+3128
+3128
+3128
+578
+2536
+2536
+2536
+4490
+86
+1872
+3543
+3543
+3543
+977
+977
+977
+303
+0
+2087
+2574
+2574
+2574
+907
+28
+589
+71
+32
+31
+3593
+3593
+3593
+84
+338
+153
+2408
+2408
+2408
+62
+814
+3170
+3170
+3170
+83
+22
+1288
+212
+1788
+47
+1
+2346
+2346
+2346
+4922
+4922
+4922
+2
+561
+50
+4086
+4086
+4086
+135
+22
+1085
+1085
+1085
+177
+80
+0
+23
+20
+2506
+2122
+2122
+2122
+367
+2837
+2837
+2837
+23
+985
+10
+1323
+1323
+1323
+2795
+1527
+4083
+4083
+4083
+72
+2
+31
+432
+1723
+534
+3075
+127
+2708
+2708
+2708
+365
+538
+2771
+2771
+2771
+119
+920
+4669
+4669
+4669
+861
+366
+173
+67
+159
+49
+2738
+124
+22
+123
+72
+27
+3428
+39
+57
+2769
+64
+956
+11
+63
+13
+588
+2415
+2415
+2415
+383
+1120
+3658
+3658
+3658
+661
+661
+661
+1984
+153
+29
+2163
+988
+37
+43
+0
+0
+980
+6
+27
+1985
+875
+2017
+2927
+2927
+2927
+2757
+613
+4718
+4718
+4718
+367
+17
+242
+200
+28
+1331
+216
+257
+257
+257
+29
+251
+2021
+2527
+2527
+2527
+1153
+29
+177
+75
+1185
+485
+2212
+389
+43
+36
+590
+1812
+1812
+1812
+1620
+59
+80
+3192
+3192
+3192
+21
+925
+245
+630
+32
+2961
+29
+2636
+1
+390
+935
+336
+25
+4567
+4567
+4567
+128
+95
+1
+2117
+4
+30
+574
+554
+2328
+2328
+2328
+97
+43
+106
+25
+1364
+573
+0
+622
+0
+2066
+4978
+4978
+4978
+2185
+2185
+2185
+151
+338
+0
+2375
+31
+1
+0
+250
+94
+4163
+4163
+4163
+282
+165
+3546
+3546
+3546
+3199
+229
+3774
+3774
+3774
+2001
+192
+40
+2534
+2534
+2534
+0
+109
+4812
+4812
+4812
+91
+1181
+1181
+1181
+125
+269
+4737
+4737
+4737
+2797
+2797
+2797
+315
+34
+0
+20
+66
+1
+334
+4991
+4991
+4991
+84
+202
+488
+28
+1009
+1009
+1009
+1626
+2283
+2283
+2283
+2450
+1168
+143
+38
+582
+160
+1936
+1936
+1936
+147
+31
+4560
+4560
+4560
+139
+26
+1
+75
+72
+2884
+2884
+2884
+732
+66
+163
+16
+5
+366
+249
+4203
+4203
+4203
+23
+3128
+3128
+3128
+0
+1008
+1008
+1008
+55
+560
+560
+560
+1346
+0
+1919
+26
+0
+26
+635
+658
+4
+44
+112
+112
+112
+0
+5
+221
+4683
+4683
+4683
+264
+264
+264
+0
+32
+148
+29
+835
+881
+1
+2434
+2434
+2434
+98
+176
+1382
+80
+48
+62
+42
+57
+47
+1511
+147
+235
+2891
+2891
+2891
+410
+3400
+81
+4984
+4984
+4984
+2534
+2534
+2534
+3598
+3598
+3598
+732
+732
+732
+54
+422
+21
+1855
+3197
+3197
+3197
+117
+2122
+2122
+2122
+1024
+41
+138
+2859
+2859
+2859
+0
+66
+0
+768
+768
+768
+1
+4794
+4794
+4794
+38
+2635
+226
+3958
+3958
+3958
+662
+71
+71
+71
+0
+2827
+2827
+2827
+96
+367
+2768
+2768
+2768
+277
+2196
+0
+1969
+60
+688
+2288
+23
+46
+4986
+4986
+4986
+1741
+2397
+2397
+2397
+604
+117
+47
+1
+3665
+2241
+72
+208
+1570
+1570
+1570
+145
+67
+23
+170
+2
+247
+35
+2574
+2852
+1639
+1639
+1639
+22
+1385
+2641
+20
+77
+72
+3506
+365
+0
+68
+77
+2743
+2743
+2743
+26
+4514
+4514
+4514
+2
+30
+3
+230
+3667
+1371
+1371
+1371
+3923
+3923
+3923
+128
+59
+59
+59
+4327
+4327
+4327
+86
+1678
+3
+2504
+1579
+1579
+1579
+0
+1033
+2398
+2398
+2398
+4238
+4238
+4238
+3307
+3480
+37
+1460
+116
+4
+2015
+2015
+2015
+2220
+2220
+2220
+232
+583
+667
+3689
+3689
+3689
+3
+4083
+4083
+4083
+394
+83
+310
+0
+168
+4419
+4419
+4419
+969
+969
+969
+528
+402
+1587
+4859
+4859
+4859
+572
+572
+572
+674
+3903
+3903
+3903
+0
+26
+2255
+68
+3
+34
+51
+3293
+3293
+3293
+1061
+2456
+2456
+2456
+176
+188
+1
+2130
+31
+30
+339
+368
+368
+368
+1
+166
+275
+255
+341
+751
+31
+657
+657
+657
+330
+841
+53
+1760
+1760
+1760
+210
+258
+1000
+3881
+3881
+3881
+41
+3974
+3974
+3974
+1827
+1547
+1547
+1547
+1499
+1499
+1499
+30
+318
+52
+41
+37
+37
+37
+21
+99
+677
+2534
+2156
+2156
+2156
+1742
+637
+1690
+1690
+1690
+2511
+1291
+3297
+3297
+3297
+131
+505
+452
+0
+3670
+3670
+3670
+1
+28
+3173
+3173
+3173
+25
+1366
+28
+103
+56
+63
+2495
+2495
+2495
+2255
+2255
+2255
+2872
+33
+1166
+68
+1
+1086
+69
+69
+69
+2609
+2609
+2609
+269
+20
+2770
+2770
+2770
+2
+1130
+1130
+1130
+1285
+1225
+527
+33
+2308
+45
+2164
+2164
+2164
+2369
+2369
+2369
+20
+642
+642
+642
+1127
+1590
+626
+3462
+3462
+3462
+1788
+78
+129
+0
+2089
+2089
+2089
+30
+26
+1030
+59
+3961
+568
+1
+1376
+171
+23
+9
+0
+96
+75
+264
+1348
+1348
+1348
+3235
+3235
+3235
+0
+2
+2840
+2840
+2840
+405
+3933
+1719
+3192
+22
+32
+664
+689
+159
+292
+55
+2855
+2855
+2855
+109
+2457
+2457
+2457
+2158
+812
+1
+600
+302
+852
+0
+395
+223
+2572
+2572
+2572
+105
+40
+1730
+4361
+20
+0
+2101
+22
+57
+4667
+4667
+4667
+526
+177
+177
+177
+284
+783
+25
+68
+562
+4053
+4053
+4053
+169
+26
+524
+89
+2
+0
+326
+256
+26
+0
+1283
+756
+1236
+104
+35
+302
+4304
+4304
+4304
+2351
+2351
+2351
+1868
+3622
+1298
+12
+21
+2931
+2931
+2931
+2802
+2802
+2802
+138
+63
+2816
+2816
+2816
+254
+6
+99
+11
+32
+1007
+2512
+88
+88
+88
+375
+61
+44
+4568
+4568
+4568
+3389
+3389
+3389
+39
+24
+4673
+4673
+4673
+4685
+4685
+4685
+2911
+2911
+2911
+0
+153
+344
+344
+344
+3270
+2192
+264
+2803
+2803
+2803
+0
+114
+650
+2859
+2859
+2859
+204
+279
+6
+525
+26
+20
+1070
+63
+132
+132
+132
+756
+61
+258
+269
+436
+0
+2656
+37
+41
+805
+1551
+1551
+1551
+110
+33
+10
+1753
+1753
+1753
+0
+103
+103
+103
+876
+876
+876
+3290
+3290
+3290
+3430
+58
+0
+336
+92
+1460
+1507
+1818
+1818
+1818
+25
+2542
+1006
+1006
+1006
+3306
+3306
+3306
+97
+33
+23
+26
+30
+0
+2862
+2
+20
+141
+1276
+825
+365
+360
+42
+103
+698
+413
+1321
+2517
+2517
+2517
+62
+1100
+687
+1116
+1331
+62
+36
+3430
+2915
+1366
+277
+2970
+2970
+2970
+10
+2274
+24
+4169
+4169
+4169
+36
+1
+366
+21
+1752
+1752
+1752
+26
+3355
+3355
+3355
+325
+351
+522
+22
+722
+950
+950
+950
+0
+23
+50
+34
+1621
+1621
+1621
+2028
+2028
+2028
+36
+4793
+4793
+4793
+957
+1387
+91
+756
+1
+139
+328
+450
+3003
+71
+1
+224
+4866
+4866
+4866
+2347
+2347
+2347
+2330
+2330
+2330
+24
+35
+130
+301
+1784
+146
+731
+3914
+3914
+3914
+1
+3192
+27
+1598
+172
+990
+24
+1141
+286
+310
+1673
+1673
+1673
+40
+3653
+3653
+3653
+2039
+2039
+2039
+25
+20
+27
+3264
+3264
+3264
+303
+751
+4467
+4467
+4467
+1
+101
+1443
+120
+98
+4
+4281
+4281
+4281
+5
+121
+20
+3245
+3245
+3245
+75
+1555
+1555
+1555
+428
+82
+27
+1060
+4364
+4364
+4364
+2981
+2981
+2981
+186
+4437
+4437
+4437
+125
+0
+2298
+2298
+2298
+1337
+109
+2560
+2560
+2560
+30
+2241
+1877
+30
+2299
+22
+241
+580
+91
+2759
+2759
+2759
+704
+463
+51
+435
+0
+204
+31
+2676
+0
+4295
+4295
+4295
+40
+1539
+37
+1531
+1
+1525
+290
+2184
+26
+28
+171
+2313
+84
+184
+368
+4
+2303
+3719
+3719
+3719
+7
+3288
+3288
+3288
+4
+110
+443
+127
+314
+20
+7
+1537
+1537
+1537
+67
+21
+2
+2585
+214
+589
+0
+456
+3653
+3653
+3653
+128
+1
+519
+151
+0
+67
+360
+0
+41
+2565
+2565
+2565
+31
+3
+730
+1167
+2220
+84
+28
+24
+43
+0
+1
+1828
+2413
+2413
+2413
+1081
+1081
+1081
+1864
+2123
+410
+2257
+2257
+2257
+2559
+25
+1598
+1598
+1598
+910
+0
+784
+2589
+2589
+2589
+38
+951
+316
+316
+316
+14
+200
+526
+23
+54
+3213
+3213
+3213
+75
+40
+675
+741
+23
+164
+5
+2447
+2447
+2447
+23
+0
+4344
+4344
+4344
+2
+2684
+2684
+2684
+719
+719
+719
+2273
+1068
+1856
+1856
+1856
+159
+1045
+0
+62
+172
+26
+874
+2785
+2973
+2973
+2973
+1259
+3211
+24
+45
+0
+2534
+1
+7
+32
+23
+21
+4134
+4134
+4134
+1873
+50
+22
+2912
+99
+5
+2094
+41
+29
+32
+24
+2594
+29
+28
+2927
+1740
+1740
+1740
+195
+72
+103
+4729
+4729
+4729
+36
+3783
+3783
+3783
+4091
+4091
+4091
+348
+4989
+2763
+3049
+4
+22
+349
+57
+2711
+1012
+299
+0
+245
+2317
+123
+41
+23
+1096
+31
+1009
+1108
+1108
+1108
+73
+61
+2
+56
+33
+0
+71
+311
+311
+918
+32
+274
+97
+767
+767
+767
+2641
+4746
+4746
+4746
+62
+0
+34
+777
+53
+129
+54
+21
+398
+3293
+3293
+3293
+1348
+35
+806
+259
+150
+1090
+792
+1189
+27
+2315
+48
+0
+0
+759
+40
+363
+93
+104
+37
+3687
+3687
+3687
+68
+26
+71
+37
+63
+57
+20
+2662
+2662
+2662
+21
+35
+470
+2998
+2998
+2998
+40
+848
+54
+72
+93
+322
+5
+26
+29
+2965
+2965
+2965
+276
+23
+32
+127
+239
+239
+239
+1160
+53
+1548
+27
+57
+34
+0
+60
+58
+8
+1928
+1928
+1928
+300
+434
+45
+410
+4278
+4278
+4278
+1154
+3683
+3683
+3683
+31
+1
+198
+32
+796
+4024
+4024
+4024
+1110
+53
+32
+58
+4540
+4540
+4540
+4116
+4116
+4116
+761
+67
+328
+603
+21
+3953
+3953
+3953
+4387
+4387
+4387
+476
+29
+1
+0
+1259
+73
+0
+203
+1509
+2505
+3305
+2439
+2340
+214
+2283
+0
+34
+381
+0
+7
+3049
+3049
+3049
+364
+3090
+3090
+3090
+844
+844
+844
+0
+178
+5
+2995
+2995
+2995
+21
+387
+4709
+4709
+4709
+2740
+2740
+2740
+26
+213
+3581
+3581
+3581
+221
+59
+2664
+2664
+2664
+380
+380
+380
+498
+25
+56
+3195
+3195
+3195
+225
+670
+3122
+3122
+3122
+0
+65
+1098
+49
+132
+945
+945
+945
+50
+731
+620
+620
+620
+58
+1464
+100
+59
+131
+65
+58
+58
+21
+0
+357
+536
+4844
+4844
+4844
+2947
+2947
+2947
+93
+769
+28
+20
+21
+48
+58
+1144
+83
+58
+1095
+1531
+0
+44
+3959
+3959
+3959
+95
+4045
+69
+3073
+3073
+3073
+182
+27
+66
+26
+120
+30
+4060
+4060
+4060
+27
+0
+29
+194
+86
+44
+4
+28
+431
+789
+1489
+743
+155
+22
+733
+132
+0
+115
+67
+1
+1087
+30
+117
+0
+1
+2318
+4068
+104
+2358
+2358
+2358
+88
+1913
+1913
+1913
+4826
+4826
+4826
+2612
+41
+20
+624
+4
+98
+796
+1777
+589
+589
+589
+3514
+3514
+3514
+1026
+434
+2644
+0
+5
+0
+59
+21
+4852
+4852
+4852
+2201
+35
+1198
+4382
+4382
+4382
+35
+71
+800
+33
+32
+20
+42
+52
+34
+29
+772
+2267
+2267
+2267
+1097
+107
+0
+2208
+4
+1103
+134
+3168
+3168
+3168
+7
+48
+1753
+29
+107
+0
+310
+82
+124
+1171
+3788
+3788
+3788
+1
+62
+66
+93
+0
+4748
+4748
+4748
+94
+418
+53
+4966
+4966
+4966
+29
+27
+1097
+3442
+176
+1672
+837
+0
+185
+0
+1023
+128
+64
+1464
+31
+31
+1
+2076
+2076
+2076
+214
+616
+1549
+32
+3090
+3090
+3090
+4502
+4502
+4502
+37
+98
+89
+3328
+3328
+3328
+3774
+3774
+3774
+2775
+517
+78
+30
+869
+0
+32
+186
+2256
+66
+3451
+3451
+3451
+836
+2208
+98
+85
+32
+260
+3005
+3005
+3005
+441
+441
+441
+139
+91
+102
+47
+517
+76
+41
+1792
+1792
+1792
+1705
+4153
+4153
+4153
+933
+90
+2221
+2221
+2221
+2040
+1769
+1769
+1769
+7
+2753
+37
+812
+139
+94
+3636
+67
+24
+4786
+4786
+4786
+2846
+4
+29
+1296
+46
+33
+62
+39
+1
+2772
+0
+183
+319
+188
+914
+1278
+2992
+3595
+136
+3388
+3388
+3388
+62
+681
+1
+50
+26
+122
+26
+147
+94
+150
+63
+366
+915
+1
+133
+3051
+1403
+99
+486
+0
+1290
+515
+1670
+30
+58
+1741
+1741
+1741
+641
+23
+52
+0
+3409
+3409
+3409
+133
+1942
+1942
+1942
+559
+407
+2054
+367
+93
+109
+367
+80
+201
+0
+2922
+106
+106
+106
+56
+4284
+4284
+4284
+1464
+72
+2307
+71
+31
+1299
+1299
+1299
+4382
+4382
+4382
+28
+310
+1
+2042
+3141
+371
+2827
+2827
+2827
+2051
+71
+0
+24
+123
+191
+2373
+2373
+2373
+1
+24
+0
+25
+634
+4
+3
+140
+148
+369
+0
+55
+372
+216
+4516
+4516
+4516
+41
+129
+1
+4081
+2645
+124
+3766
+246
+116
+62
+243
+659
+659
+659
+0
+126
+23
+150
+3544
+276
+276
+276
+830
+173
+210
+854
+514
+34
+195
+105
+2625
+2625
+2625
+1489
+1
+20
+1548
+21
+1
+5
+857
+78
+26
+2270
+2648
+2648
+2648
+2889
+2889
+2889
+861
+4942
+4942
+4942
+37
+1
+0
+3309
+3309
+3309
+3613
+3613
+3613
+25
+338
+898
+113
+32
+2336
+2336
+2336
+2024
+1623
+3302
+3302
+3302
+3167
+3167
+3167
+1268
+2762
+2762
+2762
+151
+73
+48
+114
+2945
+2945
+2945
+4136
+4136
+4136
+102
+2057
+2057
+2057
+79
+928
+928
+928
+320
+4537
+4537
+4537
+0
+626
+3653
+72
+58
+814
+2408
+2408
+2408
+54
+168
+3622
+3622
+3622
+2288
+71
+1255
+1735
+1735
+1735
+221
+103
+297
+435
+435
+435
+858
+5
+0
+248
+1436
+1436
+1436
+1766
+1766
+1766
+2525
+2525
+2525
+34
+60
+299
+24
+3843
+3843
+3843
+508
+3116
+3116
+3116
+35
+0
+839
+2700
+79
+3013
+3628
+3628
+3628
+2732
+2732
+2732
+1
+275
+73
+945
+98
+2365
+2365
+2365
+1266
+568
+568
+568
+3
+367
+111
+2106
+1741
+896
+3961
+510
+510
+510
+4134
+4134
+4134
+60
+3499
+3499
+3499
+4189
+4189
+4189
+101
+101
+101
+20
+20
+11
+3560
+3560
+3560
+104
+23
+506
+31
+217
+1411
+1
+2291
+2291
+2291
+21
+101
+1254
+1254
+1254
+93
+3
+377
+105
+1761
+39
+0
+3
+2
+62
+53
+60
+152
+450
+44
+502
+4847
+4847
+4847
+1264
+1509
+1509
+1509
+25
+1778
+2380
+2380
+2380
+74
+2803
+2803
+2803
+299
+1027
+1466
+4635
+4635
+4635
+119
+127
+1334
+23
+1731
+231
+381
+2781
+2781
+2781
+304
+29
+28
+4364
+1459
+2268
+4590
+4590
+4590
+2225
+2225
+2225
+216
+2441
+4082
+101
+266
+3542
+368
+1218
+27
+615
+4206
+785
+3851
+3851
+3851
+1262
+1
+101
+1263
+1263
+1263
+2919
+29
+1275
+1641
+624
+1056
+4759
+4759
+4759
+4604
+4604
+4604
+2
+261
+4704
+4704
+4704
+632
+1586
+2460
+2460
+2460
+137
+61
+1114
+785
+625
+2003
+1891
+81
+133
+2854
+2854
+2854
+2888
+2382
+2382
+2382
+1660
+4252
+4252
+4252
+2811
+2811
+2811
+1947
+1947
+1947
+593
+4553
+4553
+4553
+4839
+4839
+4839
+1386
+1386
+1386
+2360
+2360
+2360
+4930
+4930
+4930
+463
+55
+294
+294
+294
+815
+565
+3
+549
+4973
+4973
+4973
+4423
+4423
+4423
+545
+3983
+3983
+3983
+1165
+2013
+327
+327
+327
+1422
+1422
+1422
+620
+1853
+3173
+3173
+3173
+2772
+2772
+2772
+69
+682
+523
+3946
+3946
+3946
+1275
+1275
+1275
+4182
+4182
+4182
+1876
+1876
+1876
+2383
+2383
+2383
+2442
+581
+684
+564
+1009
+1267
+418
+367
+4580
+4580
+4580
+188
+1002
+7
+495
+4933
+4933
+4933
+1752
+62
+559
+989
+989
+989
+2
+124
+4471
+4471
+4471
+788
+691
+2081
+0
+1729
+3171
+2905
+2905
+2905
+2386
+2386
+2386
+33
+52
+2013
+0
+65
+2989
+4495
+4495
+4495
+0
+409
+2081
+1314
+190
+2262
+2262
+2262
+76
+127
+2314
+0
+4089
+4089
+4089
+237
+375
+1965
+252
+137
+137
+137
+602
+2031
+2031
+2031
+2081
+2081
+2081
+299
+23
+3165
+3165
+3165
+72
+1771
+309
+71
+1903
+1836
+3434
+3434
+3434
+2173
+4024
+1036
+485
+695
+695
+695
+4666
+4666
+4666
+4877
+4877
+4877
+203
+3221
+3221
+3221
+1114
+1940
+223
+2905
+2905
+2905
+69
+0
+2781
+254
+3974
+63
+1027
+1027
+1027
+70
+2008
+2008
+2008
+4729
+4729
+4729
+1514
+60
+4511
+3558
+3558
+3558
+623
+18
+50
+1365
+1365
+1365
+134
+3455
+3455
+3455
+82
+1041
+254
+502
+1350
+879
+967
+967
+967
+248
+3115
+3115
+3115
+509
+2906
+4009
+4009
+4009
+374
+208
+1819
+1819
+1819
+1928
+4987
+4987
+4987
+3609
+3609
+3609
+2102
+1
+360
+918
+0
+3748
+3748
+3748
+327
+2283
+1263
+627
+2084
+1
+325
+1776
+1776
+1776
+4042
+4042
+4042
+2823
+269
+687
+3157
+3157
+3157
+159
+88
+509
+20
+570
+4759
+4759
+4759
+163
+22
+4623
+4623
+4623
+1979
+3252
+3252
+3252
+70
+2905
+2905
+2905
+1936
+4269
+4269
+4269
+1
+1200
+2769
+4863
+4863
+4863
+4222
+1898
+1898
+1898
+890
+4624
+4624
+4624
+1830
+1830
+1830
+23
+2823
+2823
+2823
+467
+82
+2038
+2038
+2038
+61
+3671
+4430
+4430
+4430
+40
+1114
+1114
+1114
+3436
+27
+1668
+3119
+4916
+4916
+4916
+349
+30
+60
+1313
+1
+1930
+643
+985
+29
+1624
+1624
+1624
+2016
+1295
+226
+1309
+1309
+1309
+3888
+3888
+3888
+2415
+1754
+2372
+285
+4244
+4244
+4244
+2459
+3968
+3968
+3968
+1071
+36
+1458
+1458
+1458
+78
+1824
+385
+1236
+7
+942
+20
+1446
+1446
+1446
+2859
+2859
+2859
+51
+20
+284
+2715
+2715
+2715
+2406
+22
+1616
+0
+1530
+42
+49
+995
+33
+20
+1216
+1
+24
+582
+499
+852
+852
+852
+726
+1532
+49
+88
+100
+2903
+2903
+2903
+1188
+32
+556
+3923
+3923
+3923
+662
+775
+595
+2075
+175
+2487
+2487
+2487
+2963
+4205
+4205
+4205
+236
+3924
+3924
+3924
+53
+55
+604
+604
+604
+293
+125
+54
+2246
+22
+8
+25
+224
+1
+1678
+365
+4123
+4123
+4123
+1024
+1307
+1307
+1307
+247
+4610
+4610
+4610
+3215
+727
+1502
+1
+53
+2829
+3968
+3968
+3968
+1420
+1420
+1420
+29
+29
+29
+179
+39
+611
+1084
+1821
+1821
+1821
+261
+2794
+2794
+2794
+1633
+2176
+2176
+2176
+582
+3234
+359
+359
+359
+0
+365
+576
+4305
+4305
+4305
+61
+4567
+4567
+4567
+2573
+2573
+2573
+366
+1247
+1247
+1247
+1283
+446
+3591
+3591
+3591
+2142
+343
+3152
+3152
+3152
+42
+93
+3163
+236
+630
+2920
+2920
+2920
+64
+1602
+1602
+1602
+1745
+1745
+1745
+235
+365
+31
+901
+1176
+1
+335
+13
+24
+29
+888
+888
+888
+1051
+2773
+2773
+2773
+2918
+2918
+2918
+60
+99
+30
+1603
+54
+33
+835
+1082
+3878
+3878
+3878
+67
+906
+2
+9
+1244
+1244
+1244
+369
+30
+53
+0
+3973
+3973
+3973
+2491
+455
+887
+73
+37
+269
+29
+1
+38
+28
+410
+1076
+3948
+3948
+3948
+973
+26
+280
+203
+2566
+2566
+2566
+632
+260
+151
+3616
+3616
+3616
+2473
+2285
+2372
+0
+0
+34
+706
+2765
+2765
+2765
+2619
+2619
+2619
+34
+0
+60
+936
+51
+2
+109
+167
+33
+391
+23
+2434
+253
+106
+227
+404
+254
+3503
+3503
+3503
+1175
+37
+140
+1
+23
+28
+2319
+104
+2423
+2423
+2423
+0
+2115
+700
+462
+0
+1511
+2448
+2448
+2448
+61
+40
+2451
+1651
+1053
+1053
+1053
+635
+1677
+177
+985
+985
+985
+3351
+3351
+3351
+32
+2954
+96
+279
+257
+24
+24
+24
+108
+2369
+272
+2031
+23
+2954
+2954
+2954
+306
+318
+365
+2583
+2583
+2583
+271
+254
+48
+0
+3643
+3643
+3643
+5
+51
+1081
+50
+36
+3028
+3028
+3028
+710
+2
+447
+466
+4844
+4844
+4844
+1887
+1887
+1887
+1802
+8
+41
+73
+96
+1082
+1082
+1082
+1882
+281
+229
+2510
+2510
+2510
+780
+780
+780
+33
+31
+163
+92
+136
+3029
+3029
+3029
+150
+67
+3660
+727
+2150
+729
+28
+291
+0
+61
+35
+105
+1086
+34
+159
+0
+38
+75
+2907
+2907
+2907
+1256
+2143
+27
+368
+249
+1
+342
+342
+342
+2405
+327
+61
+3032
+86
+3738
+3738
+3738
+21
+4003
+4003
+4003
+4
+1313
+9
+633
+2
+3666
+49
+59
+1821
+4732
+4732
+4732
+184
+1734
+3636
+2918
+2918
+2918
+1355
+36
+255
+0
+91
+33
+47
+159
+29
+1916
+1916
+1916
+117
+584
+584
+584
+303
+303
+303
+352
+452
+33
+115
+1197
+4064
+4064
+4064
+369
+2826
+2826
+2826
+425
+1
+3696
+3696
+3696
+3300
+3300
+3300
+1
+3408
+3408
+3408
+74
+407
+271
+319
+24
+43
+96
+90
+2924
+49
+32
+746
+277
+3176
+3976
+3976
+3976
+356
+356
+356
+375
+34
+1778
+2
+29
+1486
+4027
+4027
+4027
+1848
+1848
+1848
+262
+9
+1195
+31
+2909
+2909
+2909
+1172
+1172
+1172
+49
+2
+3302
+3302
+3302
+4076
+4076
+4076
+1
+27
+3271
+25
+676
+90
+1662
+20
+3214
+11
+57
+4781
+4781
+4781
+47
+1977
+281
+0
+325
+112
+60
+1
+2158
+2379
+2379
+2379
+434
+65
+53
+87
+2501
+2501
+2501
+64
+20
+33
+3149
+3149
+3149
+25
+90
+30
+1366
+73
+594
+3244
+3244
+3244
+696
+696
+696
+11
+687
+208
+1444
+1444
+1444
+162
+47
+3956
+3956
+3956
+51
+2916
+709
+2984
+2984
+2984
+0
+1
+79
+256
+393
+393
+393
+275
+3
+191
+2912
+2912
+2912
+57
+348
+670
+4093
+4093
+4093
+526
+3040
+3040
+3040
+367
+33
+1039
+1039
+1039
+1732
+1279
+0
+535
+317
+1027
+35
+1
+4551
+4551
+4551
+4662
+4662
+4662
+183
+25
+1147
+1147
+1147
+3673
+3673
+3673
+60
+2121
+83
+3667
+3667
+3667
+75
+365
+1797
+305
+10
+1403
+4
+3205
+3205
+3205
+3623
+3623
+3623
+370
+1407
+54
+1311
+0
+441
+31
+4772
+4772
+4772
+27
+1412
+2750
+2750
+2750
+540
+388
+936
+1528
+2
+32
+1736
+1736
+1736
+57
+26
+1392
+3293
+3293
+3293
+3326
+282
+1057
+143
+7
+12
+23
+2595
+2595
+2595
+0
+32
+310
+54
+130
+86
+6
+2644
+2644
+2644
+28
+3048
+3048
+3048
+681
+2182
+2182
+2182
+136
+41
+92
+64
+2133
+2133
+2133
+1393
+1393
+1393
+4360
+4360
+4360
+314
+114
+1512
+1349
+1349
+1349
+1555
+423
+3
+29
+72
+23
+728
+329
+3695
+3695
+3695
+1745
+20
+1138
+133
+7
+39
+103
+2201
+2201
+2201
+2202
+2202
+2202
+37
+378
+4694
+4694
+4694
+25
+401
+63
+2681
+4354
+4354
+4354
+290
+557
+463
+272
+382
+44
+22
+124
+2274
+2274
+2274
+35
+1
+188
+2581
+4668
+62
+1507
+33
+3123
+3123
+3123
+1369
+0
+59
+34
+46
+20
+795
+247
+7
+789
+4220
+736
+31
+2679
+138
+120
+30
+2114
+4174
+4174
+4174
+47
+331
+49
+147
+2798
+3170
+3170
+3170
+44
+160
+0
+649
+1191
+4844
+4844
+4844
+15
+58
+45
+969
+32
+4264
+4264
+4264
+173
+2566
+2566
+2566
+0
+361
+2690
+25
+47
+4637
+4637
+4637
+400
+2682
+2682
+2682
+174
+0
+1
+1467
+2985
+0
+65
+2615
+2615
+2615
+86
+2816
+2816
+2816
+2827
+2827
+2827
+1150
+1150
+1150
+99
+185
+2934
+2133
+3964
+3964
+3964
+2938
+2938
+2938
+4854
+4854
+4854
+34
+1694
+1694
+1694
+2610
+32
+88
+373
+2988
+3659
+3659
+3659
+2900
+779
+248
+2411
+26
+16
+1067
+154
+197
+36
+63
+137
+3256
+25
+49
+73
+45
+279
+2708
+2708
+2708
+47
+41
+2223
+3931
+3931
+3931
+52
+141
+95
+251
+28
+29
+4445
+4445
+4445
+4054
+4054
+4054
+262
+1427
+2621
+2621
+2621
+4917
+4917
+4917
+458
+2193
+2193
+2193
+3934
+3934
+3934
+35
+81
+25
+309
+2257
+2257
+2257
+30
+26
+76
+2021
+2021
+2021
+93
+2596
+2596
+2596
+73
+294
+49
+435
+494
+2497
+497
+1315
+1878
+2
+243
+529
+39
+787
+787
+787
+67
+21
+0
+1
+4410
+4410
+4410
+36
+158
+2633
+4054
+4054
+4054
+1
+59
+1463
+57
+2231
+188
+701
+276
+1629
+902
+902
+902
+502
+0
+2829
+0
+501
+2813
+2813
+2813
+354
+310
+1569
+3391
+3391
+3391
+2806
+2806
+2806
+2519
+2519
+2519
+27
+33
+3673
+3673
+3673
+860
+1888
+126
+70
+451
+366
+61
+1
+873
+2954
+155
+722
+722
+722
+145
+365
+13
+1219
+1219
+1219
+1
+0
+2707
+259
+130
+41
+751
+2
+882
+145
+36
+0
+4
+3284
+3284
+3284
+4847
+4847
+4847
+104
+368
+2583
+1620
+1620
+1620
+94
+2940
+2940
+2940
+10
+110
+23
+365
+252
+20
+1
+2218
+4368
+4368
+4368
+1046
+4798
+4798
+4798
+49
+485
+0
+1184
+4830
+4830
+4830
+2195
+2195
+2195
+243
+0
+2544
+1834
+1834
+1834
+1473
+790
+321
+23
+1053
+41
+1109
+3690
+3690
+3690
+50
+55
+2521
+2521
+2521
+2631
+406
+202
+202
+202
+119
+55
+61
+1363
+711
+686
+3428
+3428
+3428
+785
+452
+45
+11
+1706
+460
+460
+460
+1478
+2483
+225
+2120
+388
+296
+1454
+113
+102
+382
+181
+117
+70
+99
+38
+1213
+1213
+1213
+2639
+2639
+2639
+2944
+1509
+70
+109
+23
+340
+38
+39
+156
+105
+0
+3006
+332
+234
+0
+3
+3656
+3749
+3749
+3749
+4410
+4410
+4410
+2006
+133
+819
+1526
+37
+344
+0
+4383
+4383
+4383
+512
+753
+235
+0
+385
+95
+2
+53
+120
+21
+380
+50
+4005
+4005
+4005
+0
+4088
+4088
+4088
+298
+3713
+3713
+3713
+21
+37
+91
+1
+431
+24
+561
+62
+62
+36
+130
+751
+3096
+3096
+3096
+56
+89
+113
+0
+2
+415
+583
+782
+54
+782
+73
+0
+3694
+2
+25
+2323
+2323
+2323
+4066
+3019
+428
+428
+428
+0
+70
+70
+117
+117
+117
+74
+3561
+3561
+3561
+1
+1
+1
+3258
+3258
+3258
+0
+0
+2345
+2345
+2345
+3744
+3744
+3744
+413
+443
+144
+42
+1428
+1428
+1428
+345
+231
+27
+4527
+4527
+4527
+682
+410
+3710
+3710
+3710
+48
+380
+97
+3301
+3301
+3301
+549
+0
+71
+1558
+1558
+1558
+1273
+688
+107
+2967
+423
+0
+1625
+163
+3071
+33
+364
+2410
+3211
+3211
+3211
+2259
+31
+1084
+1084
+1084
+58
+0
+2181
+2181
+2181
+44
+287
+38
+1
+39
+26
+26
+3440
+3440
+3440
+3313
+29
+148
+148
+148
+2955
+2955
+2955
+2213
+61
+68
+27
+155
+21
+2
+92
+47
+1
+3823
+305
+683
+683
+683
+4
+21
+2029
+1
+20
+4772
+4772
+4772
+52
+65
+2253
+38
+181
+209
+1843
+1843
+1843
+45
+859
+32
+125
+2983
+2983
+2983
+28
+4108
+4108
+4108
+1963
+170
+32
+1
+1354
+86
+1459
+1459
+1459
+23
+0
+56
+84
+26
+34
+66
+319
+32
+1018
+73
+3526
+3526
+3526
+28
+271
+2042
+2042
+2042
+489
+341
+1
+26
+81
+48
+4077
+4077
+4077
+32
+0
+32
+689
+0
+1005
+31
+4245
+1
+0
+2
+3368
+3368
+3368
+4407
+170
+3135
+849
+222
+128
+41
+222
+222
+222
+32
+1868
+1868
+1868
+140
+547
+1004
+111
+24
+424
+3508
+3508
+3508
+1046
+1046
+1046
+2326
+2326
+2326
+2395
+42
+95
+142
+229
+304
+0
+368
+262
+262
+262
+80
+20
+28
+148
+57
+48
+46
+3488
+3488
+3488
+36
+30
+43
+816
+2928
+1523
+40
+907
+22
+3764
+3575
+3575
+3575
+222
+3
+275
+371
+773
+4866
+4866
+4866
+1243
+1128
+4190
+4190
+4190
+6
+35
+135
+138
+206
+1754
+22
+21
+241
+278
+1273
+6
+171
+22
+274
+1575
+1575
+1575
+403
+2650
+2650
+2650
+314
+1969
+310
+190
+163
+1346
+405
+167
+2370
+2370
+2370
+135
+65
+31
+895
+1740
+0
+0
+339
+0
+79
+4672
+4672
+4672
+1421
+921
+452
+1182
+372
+0
+763
+4158
+4158
+4158
+38
+946
+177
+1919
+1100
+4265
+4265
+4265
+1869
+48
+511
+511
+511
+2300
+589
+372
+372
+372
+2261
+64
+24
+0
+2373
+2373
+2373
+533
+2995
+2995
+2995
+110
+141
+123
+648
+123
+910
+31
+0
+518
+1156
+3056
+44
+142
+99
+99
+99
+131
+4185
+4185
+4185
+1593
+746
+94
+268
+2684
+2684
+2684
+415
+38
+140
+149
+424
+1388
+24
+2742
+160
+1
+1
+577
+136
+925
+925
+925
+25
+661
+79
+1086
+383
+1
+4570
+4570
+4570
+55
+3347
+3
+26
+376
+14
+2734
+2734
+2734
+193
+193
+193
+1398
+1398
+1398
+805
+3918
+3918
+3918
+1680
+178
+196
+2765
+2765
+2765
+1146
+500
+853
+4969
+4969
+4969
+3209
+3993
+3993
+3993
+264
+60
+4544
+372
+2627
+2627
+2627
+2
+1
+2305
+2305
+2305
+365
+4552
+4552
+4552
+217
+3825
+3825
+3825
+2573
+2573
+2573
+3088
+3088
+3088
+106
+205
+3280
+3280
+3280
+4942
+4942
+4942
+83
+2798
+2798
+2798
+16
+868
+868
+868
+938
+30
+22
+23
+809
+95
+84
+70
+261
+894
+3556
+3556
+3556
+390
+4179
+4179
+4179
+3861
+3861
+3861
+2
+1010
+1010
+1010
+175
+21
+3778
+3778
+3778
+405
+156
+8
+4905
+4905
+4905
+2027
+2027
+2027
+947
+38
+30
+1677
+1677
+1677
+2
+135
+1992
+1992
+1992
+1633
+170
+859
+85
+742
+634
+634
+634
+107
+22
+132
+9
+189
+47
+33
+2881
+763
+2971
+2971
+2971
+1826
+147
+314
+314
+314
+55
+62
+681
+96
+1475
+0
+3
+109
+847
+4626
+4626
+4626
+4941
+4941
+4941
+28
+47
+4682
+4682
+4682
+1273
+0
+81
+172
+24
+337
+2
+1937
+115
+157
+96
+914
+3147
+3147
+3147
+106
+142
+859
+7
+511
+1519
+1519
+1519
+4666
+4666
+4666
+309
+365
+63
+24
+429
+3441
+3441
+3441
+2034
+2034
+2034
+2358
+51
+80
+20
+3077
+1032
+3398
+3398
+3398
+1259
+888
+269
+600
+64
+643
+232
+4860
+4860
+4860
+615
+45
+3180
+3180
+3180
+159
+159
+159
+3465
+3465
+3465
+915
+2001
+2018
+1519
+38
+2050
+2050
+2050
+764
+4974
+4974
+4974
+4302
+4302
+4302
+1551
+1551
+1551
+30
+21
+67
+67
+67
+3451
+3451
+3451
+3834
+3834
+3834
+2
+0
+0
+365
+1540
+1540
+1540
+24
+336
+2642
+2642
+2642
+175
+163
+470
+0
+31
+908
+103
+27
+108
+80
+3291
+3291
+3291
+273
+293
+111
+1350
+447
+96
+247
+40
+0
+3285
+3285
+3285
+119
+96
+0
+31
+29
+127
+2786
+2786
+2786
+438
+241
+42
+1236
+1236
+1236
+1962
+636
+704
+21
+305
+126
+119
+256
+2081
+590
+1351
+4962
+4962
+4962
+214
+580
+1668
+1668
+1668
+4258
+4258
+4258
+1
+228
+228
+228
+1
+129
+2842
+23
+58
+110
+4204
+180
+134
+3235
+3235
+3235
+2087
+77
+161
+142
+65
+72
+68
+1089
+3286
+3286
+3286
+135
+1627
+1818
+2047
+36
+1
+112
+112
+112
+124
+0
+72
+855
+855
+855
+3170
+3170
+3170
+1668
+1668
+1668
+698
+517
+108
+39
+36
+0
+60
+54
+2811
+300
+4
+1586
+599
+243
+1762
+0
+969
+969
+969
+26
+555
+555
+555
+1
+492
+206
+308
+105
+3291
+3291
+3291
+883
+2753
+0
+342
+138
+190
+21
+4298
+4298
+4298
+48
+105
+122
+622
+171
+3149
+1
+2731
+115
+2928
+2928
+2928
+4258
+4258
+4258
+3270
+3270
+3270
+1298
+2227
+34
+2295
+65
+36
+36
+142
+256
+1937
+650
+1497
+25
+259
+55
+219
+212
+212
+212
+0
+365
+2816
+2816
+2816
+319
+56
+4191
+4191
+4191
+301
+134
+272
+620
+1355
+1347
+151
+2859
+1
+559
+215
+1097
+9
+251
+1972
+1972
+1972
+110
+3108
+3108
+3108
+533
+2424
+3511
+138
+56
+105
+1
+3642
+3642
+3642
+180
+1
+39
+139
+656
+346
+2484
+1
+1691
+1691
+1691
+38
+37
+3299
+3299
+3299
+374
+1
+2211
+2211
+2211
+2245
+4258
+4258
+4258
+365
+43
+25
+2072
+1751
+12
+81
+367
+129
+3883
+3883
+3883
+2803
+2
+1
+32
+42
+241
+1075
+112
+179
+4654
+4654
+4654
+56
+588
+225
+351
+44
+1029
+453
+3402
+3402
+3402
+369
+4654
+4654
+4654
+3281
+3281
+3281
+106
+3850
+4302
+4302
+4302
+471
+0
+976
+976
+976
+2725
+2372
+2372
+2372
+201
+585
+547
+99
+134
+252
+437
+85
+3167
+651
+2913
+38
+95
+857
+857
+857
+27
+34
+2152
+1462
+591
+3446
+3446
+3446
+1789
+112
+2193
+2193
+2193
+887
+605
+4889
+4889
+4889
+3286
+3286
+3286
+1331
+1569
+1569
+1569
+1
+1725
+366
+734
+4018
+4018
+4018
+11
+2411
+2411
+2411
+1990
+3811
+1096
+51
+126
+0
+36
+999
+3596
+3596
+3596
+154
+376
+1043
+226
+330
+3965
+3965
+3965
+365
+4877
+4877
+4877
+3880
+3880
+3880
+292
+1898
+1898
+1898
+2870
+169
+4997
+4997
+4997
+21
+3535
+3535
+3535
+30
+3809
+364
+338
+3521
+3521
+3521
+285
+49
+1913
+640
+1408
+259
+144
+1026
+164
+3591
+3591
+3591
+369
+4524
+4524
+4524
+1438
+1438
+1438
+704
+704
+704
+609
+67
+358
+2973
+2973
+2973
+63
+299
+3277
+3277
+3277
+306
+3582
+16
+3970
+3970
+3970
+1013
+1013
+1013
+1410
+1410
+1410
+376
+2963
+88
+579
+2174
+2174
+2174
+87
+59
+2875
+549
+966
+155
+362
+38
+37
+1
+1
+169
+45
+883
+1050
+29
+116
+1778
+1013
+1013
+1013
+71
+66
+1687
+47
+482
+1098
+22
+2849
+1256
+1256
+1256
+276
+73
+175
+225
+20
+84
+382
+770
+1601
+1601
+1601
+2085
+4028
+4028
+4028
+3255
+3255
+3255
+62
+664
+664
+664
+369
+0
+1325
+4158
+4158
+4158
+35
+6
+1
+0
+2891
+2891
+2891
+32
+422
+928
+18
+3963
+3963
+3963
+94
+2848
+2848
+2848
+758
+1
+2901
+2901
+2901
+335
+0
+799
+21
+1820
+1820
+1820
+4
+3980
+3980
+3980
+3253
+3253
+3253
+186
+1745
+44
+4355
+4355
+4355
+0
+1992
+1992
+1992
+1013
+456
+0
+42
+152
+758
+758
+758
+1548
+83
+67
+44
+54
+680
+3039
+3039
+3039
+45
+1276
+33
+1733
+1772
+90
+1010
+25
+2343
+2343
+2343
+1688
+105
+2972
+2972
+2972
+0
+648
+694
+694
+694
+1011
+1
+326
+15
+312
+2877
+1799
+3543
+3543
+3543
+97
+868
+163
+3713
+3713
+3713
+27
+328
+4490
+186
+1404
+4709
+514
+2146
+654
+337
+243
+559
+582
+1124
+3203
+3203
+3203
+814
+28
+1733
+1733
+1733
+0
+3885
+3885
+3885
+557
+1796
+1832
+2484
+2484
+2484
+186
+3998
+3998
+3998
+69
+3223
+139
+137
+1762
+1
+298
+158
+0
+2022
+3123
+3123
+3123
+31
+242
+25
+3039
+3039
+3039
+2822
+2822
+2822
+747
+156
+3269
+2289
+3670
+3670
+3670
+4412
+4412
+4412
+3870
+293
+460
+53
+660
+4
+2561
+3257
+3257
+3257
+2119
+2119
+2119
+90
+216
+62
+29
+2272
+0
+151
+49
+106
+43
+2
+774
+27
+217
+540
+34
+118
+0
+67
+27
+140
+0
+3576
+3576
+3576
+3659
+3659
+3659
+640
+1587
+32
+4459
+4459
+4459
+175
+4768
+4768
+4768
+242
+1323
+1
+128
+34
+1834
+1834
+1834
+0
+2438
+2095
+1806
+30
+62
+4784
+4784
+4784
+3045
+3045
+3045
+3316
+3316
+3316
+4495
+4495
+4495
+4116
+4116
+4116
+63
+1611
+1611
+1611
+49
+74
+0
+20
+621
+94
+289
+20
+64
+84
+31
+74
+23
+500
+3435
+3435
+3435
+516
+1485
+0
+123
+955
+1485
+232
+138
+59
+23
+58
+545
+30
+2376
+119
+424
+0
+264
+1065
+3412
+2
+93
+48
+1781
+381
+1
+40
+2623
+2623
+2623
+4968
+4968
+4968
+141
+21
+727
+727
+727
+1097
+1097
+1097
+61
+0
+21
+274
+1092
+1092
+1092
+4007
+21
+358
+358
+358
+606
+260
+20
+2295
+8
+2337
+2337
+2337
+120
+60
+4172
+3
+0
+31
+3223
+0
+0
+0
+848
+332
+3015
+275
+1105
+0
+3335
+3335
+3335
+57
+1500
+21
+53
+61
+814
+2483
+2483
+2483
+2155
+32
+1
+77
+1
+4314
+4314
+4314
+108
+828
+21
+4
+252
+1802
+72
+264
+169
+4609
+4609
+4609
+1054
+31
+30
+2474
+32
+13
+186
+3373
+3373
+3373
+0
+672
+976
+976
+976
+31
+50
+4863
+4863
+4863
+4029
+665
+665
+665
+353
+723
+1
+2956
+86
+26
+365
+1
+2232
+0
+2319
+2319
+2319
+298
+34
+42
+72
+56
+2935
+91
+147
+0
+151
+438
+468
+404
+202
+766
+26
+34
+68
+35
+43
+83
+0
+3297
+3297
+3297
+0
+177
+3229
+4142
+4142
+4142
+184
+31
+1
+2192
+2192
+2192
+31
+4803
+4803
+4803
+2780
+1608
+60
+4509
+4509
+4509
+23
+23
+23
+1
+135
+781
+35
+181
+380
+152
+416
+1513
+1513
+1513
+24
+1
+827
+376
+762
+119
+32
+2199
+206
+206
+206
+4854
+4854
+4854
+137
+2582
+2582
+2582
+60
+310
+93
+0
+1876
+54
+329
+329
+329
+310
+40
+3690
+3690
+3690
+35
+0
+2230
+2230
+2230
+4422
+4422
+4422
+35
+744
+5
+4388
+4388
+4388
+48
+724
+43
+3432
+67
+281
+4754
+4754
+4754
+3
+9
+764
+336
+351
+651
+178
+147
+699
+55
+395
+38
+2000
+23
+1253
+1253
+1253
+155
+3161
+33
+0
+34
+0
+122
+2013
+3297
+3297
+3297
+1880
+3442
+3442
+3442
+1552
+1552
+1552
+26
+322
+31
+525
+313
+2528
+2528
+2528
+1464
+2485
+2485
+2485
+2177
+25
+0
+4803
+4803
+4803
+28
+1
+35
+2289
+2289
+2289
+574
+36
+1831
+55
+26
+2240
+3
+408
+22
+31
+1172
+24
+33
+31
+136
+1057
+0
+2228
+33
+28
+2
+4391
+4391
+4391
+32
+50
+31
+64
+1048
+4149
+4149
+4149
+0
+36
+40
+31
+61
+1524
+1524
+1524
+332
+1904
+36
+28
+3
+3621
+3621
+3621
+805
+86
+28
+498
+2900
+2900
+2900
+4963
+4963
+4963
+273
+2557
+27
+89
+51
+37
+62
+682
+1934
+160
+1
+33
+264
+3985
+3985
+3985
+47
+303
+970
+970
+970
+2249
+0
+59
+31
+22
+121
+4357
+4357
+4357
+419
+2803
+1
+26
+2
+89
+47
+124
+160
+38
+720
+720
+720
+47
+2644
+2927
+2927
+2927
+457
+365
+365
+365
+1385
+369
+1871
+288
+624
+315
+1090
+29
+2
+83
+1336
+488
+85
+75
+15
+0
+24
+461
+897
+21
+29
+62
+377
+194
+700
+4974
+4974
+4974
+102
+104
+789
+1186
+1186
+1186
+2681
+20
+443
+443
+443
+30
+100
+148
+1569
+1569
+1569
+672
+3748
+3748
+3748
+62
+62
+62
+24
+367
+313
+3783
+3783
+3783
+32
+0
+1
+108
+31
+140
+4
+6
+366
+80
+24
+33
+62
+569
+1
+281
+6
+454
+4045
+4045
+4045
+2300
+4433
+4433
+4433
+964
+180
+150
+37
+63
+3827
+3827
+3827
+2074
+2
+34
+26
+446
+852
+155
+243
+90
+1309
+2283
+170
+71
+94
+2342
+2342
+2342
+3116
+3116
+3116
+347
+780
+780
+780
+130
+836
+836
+836
+455
+3283
+3283
+3283
+111
+2
+3424
+0
+0
+22
+0
+526
+20
+734
+68
+302
+94
+107
+1031
+1031
+1031
+2071
+590
+4133
+4133
+4133
+890
+67
+22
+21
+2954
+2885
+2308
+37
+40
+135
+34
+1
+160
+29
+1292
+1292
+1292
+150
+4550
+4550
+4550
+20
+1145
+1
+1
+2728
+138
+42
+30
+1544
+2451
+2451
+2451
+1352
+1352
+1352
+121
+32
+2266
+3377
+3377
+3377
+65
+310
+33
+156
+61
+34
+41
+26
+31
+3679
+2
+1307
+120
+37
+41
+1803
+1803
+1803
+30
+196
+26
+2
+2630
+2630
+2630
+958
+811
+113
+20
+36
+97
+394
+907
+1122
+59
+227
+4401
+4401
+4401
+4975
+4975
+4975
+4129
+4129
+4129
+4386
+4386
+4386
+2039
+122
+37
+0
+3047
+3047
+3047
+2448
+2448
+2448
+4003
+125
+138
+2542
+2542
+2542
+37
+0
+3068
+32
+128
+128
+128
+538
+178
+0
+1767
+1767
+1767
+2569
+2569
+2569
+3057
+3770
+3770
+3770
+852
+0
+1564
+30
+52
+776
+69
+4562
+4562
+4562
+3517
+3517
+3517
+45
+23
+1
+607
+0
+4924
+4924
+4924
+0
+1496
+119
+471
+43
+779
+1124
+1124
+1124
+2487
+4511
+4511
+4511
+30
+392
+35
+126
+19
+43
+86
+36
+2
+1944
+53
+89
+89
+89
+124
+4
+4487
+4487
+4487
+412
+94
+78
+116
+2343
+2343
+2343
+851
+53
+1596
+1596
+1596
+401
+401
+401
+2194
+33
+471
+158
+26
+125
+1034
+9
+32
+45
+425
+60
+4580
+4580
+4580
+53
+21
+3008
+3008
+3008
+2275
+2275
+2275
+30
+38
+25
+148
+148
+148
+171
+3031
+3031
+3031
+480
+66
+236
+4546
+4546
+4546
+39
+4507
+4507
+4507
+31
+0
+1140
+1140
+1140
+2609
+3
+207
+60
+31
+3974
+50
+58
+479
+479
+479
+68
+244
+1
+91
+0
+262
+2366
+2366
+2366
+54
+84
+132
+30
+20
+0
+71
+451
+1900
+1865
+1247
+1247
+1247
+353
+353
+353
+2439
+1
+630
+4191
+4191
+4191
+367
+4893
+4893
+4893
+44
+20
+4952
+4952
+4952
+50
+1739
+23
+2989
+2989
+2989
+242
+0
+732
+10
+2258
+1
+128
+35
+1020
+1020
+1020
+748
+57
+69
+367
+108
+534
+1519
+2
+73
+2699
+219
+694
+694
+694
+7
+2065
+3492
+3492
+3492
+2381
+228
+873
+4220
+4220
+4220
+1464
+0
+830
+20
+4285
+4285
+4285
+1001
+4353
+4353
+4353
+380
+439
+492
+719
+802
+81
+333
+900
+896
+3391
+26
+4554
+4554
+4554
+4566
+4566
+4566
+377
+513
+0
+121
+88
+2
+1438
+3819
+3819
+3819
+249
+4834
+4834
+4834
+108
+102
+3659
+3659
+3659
+3604
+3604
+3604
+182
+447
+520
+1542
+1542
+1542
+4479
+4479
+4479
+5
+21
+137
+812
+812
+812
+23
+84
+45
+1
+2305
+60
+3100
+3100
+3100
+0
+411
+3149
+54
+29
+366
+43
+0
+3464
+3049
+3049
+3049
+498
+4567
+4567
+4567
+519
+22
+50
+544
+218
+139
+3105
+366
+148
+4705
+4705
+4705
+100
+839
+4576
+4576
+4576
+166
+1181
+516
+378
+2065
+30
+3512
+3512
+3512
+1378
+27
+3799
+3799
+3799
+29
+0
+0
+365
+2012
+722
+37
+588
+876
+3721
+3721
+3721
+1668
+3315
+3315
+3315
+112
+428
+129
+4150
+4150
+4150
+422
+4378
+3584
+505
+2
+7
+477
+191
+4829
+4829
+4829
+852
+108
+834
+58
+366
+799
+4932
+4932
+4932
+0
+32
+10
+0
+172
+2315
+68
+61
+84
+365
+57
+163
+35
+4623
+4623
+4623
+74
+291
+27
+357
+2
+2749
+2749
+2749
+1
+30
+145
+1638
+1
+4297
+4297
+4297
+4641
+4641
+4641
+1793
+1605
+1605
+1605
+574
+39
+3297
+3297
+3297
+35
+582
+57
+944
+944
+944
+366
+2122
+2122
+2122
+24
+2003
+280
+40
+4
+28
+938
+29
+81
+343
+361
+361
+361
+1165
+1165
+1165
+2
+1953
+3835
+3835
+3835
+240
+0
+3889
+3889
+3889
+209
+2671
+20
+509
+20
+366
+506
+58
+36
+4125
+4125
+4125
+142
+1903
+51
+72
+1644
+1602
+1512
+1512
+1512
+94
+180
+4103
+121
+356
+1
+1258
+1258
+1258
+108
+4557
+4557
+4557
+3645
+97
+3043
+3043
+3043
+0
+1614
+58
+3431
+3425
+196
+464
+212
+809
+82
+4261
+4261
+4261
+1206
+1206
+1206
+140
+14
+0
+196
+4
+179
+143
+143
+143
+4351
+4959
+4959
+4959
+28
+29
+116
+2936
+4112
+4112
+4112
+870
+112
+112
+112
+71
+4190
+4190
+4190
+572
+341
+23
+4537
+4537
+4537
+1953
+213
+31
+173
+0
+3389
+292
+1
+152
+31
+235
+2990
+2990
+2990
+4897
+4897
+4897
+856
+366
+20
+536
+161
+187
+20
+500
+500
+500
+25
+34
+1163
+4620
+4620
+4620
+21
+2998
+96
+296
+296
+296
+787
+11
+1
+95
+2725
+2725
+2725
+138
+3756
+3756
+3756
+38
+124
+217
+3300
+3300
+3300
+4096
+4096
+4096
+2419
+2419
+2419
+249
+0
+186
+26
+1
+5
+7
+1492
+1492
+1492
+2664
+2664
+2664
+90
+962
+2411
+32
+34
+0
+772
+1673
+2500
+2500
+2500
+4097
+4097
+4097
+120
+343
+961
+1648
+26
+47
+311
+21
+105
+26
+297
+297
+297
+223
+1312
+518
+120
+1655
+1655
+1655
+1462
+21
+2332
+2332
+2332
+1564
+1564
+1564
+1
+10
+56
+1951
+1951
+1951
+2326
+2326
+2326
+487
+1976
+1976
+1976
+123
+121
+98
+2592
+2592
+2592
+345
+80
+1745
+1745
+1745
+25
+1594
+98
+2894
+253
+3907
+3907
+3907
+81
+29
+678
+4653
+4653
+4653
+22
+34
+389
+24
+963
+148
+22
+3786
+3786
+3786
+2629
+2629
+2629
+37
+45
+22
+31
+28
+27
+4185
+4185
+4185
+1
+4341
+4341
+4341
+489
+605
+81
+2
+1083
+3
+365
+31
+1458
+1458
+1458
+111
+1620
+453
+2841
+2841
+2841
+168
+219
+2439
+700
+700
+700
+1
+49
+4851
+4851
+4851
+139
+0
+2649
+2649
+2649
+4199
+4199
+4199
+85
+4
+645
+29
+305
+264
+112
+27
+2799
+262
+171
+38
+366
+1
+0
+78
+50
+595
+43
+116
+470
+2744
+2744
+2744
+1298
+4651
+4651
+4651
+282
+2049
+107
+69
+2422
+131
+130
+73
+137
+729
+2458
+40
+8
+559
+3655
+3655
+3655
+3497
+154
+327
+94
+2391
+2391
+2391
+475
+2432
+128
+329
+2449
+368
+3916
+3916
+3916
+3620
+3620
+3620
+29
+0
+949
+137
+66
+581
+3609
+55
+1310
+160
+175
+2121
+2121
+2121
+57
+2894
+2894
+2894
+2550
+2550
+2550
+389
+33
+246
+52
+31
+299
+513
+1714
+21
+108
+210
+1684
+1684
+1684
+20
+36
+857
+4210
+78
+498
+344
+1518
+271
+550
+23
+4621
+4621
+4621
+375
+364
+4996
+4996
+4996
+1086
+3636
+3636
+3636
+516
+3443
+3443
+3443
+37
+123
+24
+65
+600
+22
+92
+0
+369
+57
+31
+0
+125
+4
+49
+158
+93
+37
+516
+3174
+38
+2187
+2187
+2187
+4765
+4765
+4765
+188
+1
+2
+1385
+726
+726
+726
+171
+4640
+4640
+4640
+496
+424
+594
+29
+1016
+1778
+2867
+2867
+2867
+804
+6
+308
+3611
+3611
+3611
+789
+789
+789
+2786
+2786
+2786
+641
+138
+1206
+317
+219
+47
+14
+3227
+3227
+3227
+314
+3149
+2757
+30
+59
+16
+3295
+3295
+3295
+367
+2315
+46
+550
+1035
+1035
+1035
+218
+3987
+3987
+3987
+67
+1098
+3817
+3817
+3817
+2517
+573
+185
+133
+244
+244
+244
+1785
+102
+367
+30
+147
+248
+1191
+1191
+1191
+89
+0
+4379
+4379
+4379
+59
+59
+59
+235
+30
+3991
+116
+302
+1
+316
+20
+1016
+701
+701
+701
+1096
+3992
+3992
+3992
+0
+317
+1
+297
+297
+297
+31
+3607
+3607
+3607
+21
+153
+732
+4091
+4091
+4091
+21
+0
+27
+1
+54
+292
+150
+8
+253
+69
+1
+3565
+3565
+3565
+1796
+1796
+1796
+512
+2996
+86
+287
+321
+2529
+3267
+3267
+3267
+2898
+2898
+2898
+38
+40
+125
+388
+2251
+2251
+2251
+1108
+69
+132
+2672
+0
+3654
+3654
+3654
+3858
+3858
+3858
+287
+4488
+4488
+4488
+113
+141
+1
+31
+2259
+2259
+2259
+51
+63
+3235
+3235
+3235
+1
+4137
+4137
+4137
+2919
+2610
+2610
+2610
+2816
+2816
+2816
+32
+1
+4
+84
+1594
+3614
+3614
+3614
+30
+32
+3224
+3224
+3224
+55
+2443
+2443
+2443
+54
+1294
+1294
+1294
+221
+28
+146
+317
+317
+317
+1783
+4355
+4355
+4355
+914
+126
+151
+168
+345
+692
+637
+637
+637
+2986
+2986
+2986
+230
+338
+43
+269
+4350
+4350
+4350
+23
+226
+0
+120
+23
+0
+24
+20
+505
+31
+4371
+4371
+4371
+1
+61
+3117
+3117
+3117
+394
+973
+973
+973
+213
+4140
+4140
+4140
+30
+85
+2003
+636
+31
+390
+537
+52
+198
+254
+1
+189
+4641
+4641
+4641
+4273
+4273
+4273
+299
+139
+1098
+128
+128
+128
+685
+6
+22
+0
+52
+2069
+2069
+2069
+100
+4729
+4729
+4729
+620
+554
+1399
+96
+209
+209
+209
+63
+1
+207
+289
+988
+358
+1
+25
+679
+679
+679
+20
+1
+28
+35
+1037
+1379
+2180
+32
+365
+22
+22
+3968
+3968
+3968
+62
+665
+206
+94
+4670
+4670
+4670
+98
+212
+2947
+2
+38
+38
+38
+668
+0
+418
+2000
+2000
+2000
+4013
+4013
+4013
+337
+4417
+4417
+4417
+79
+1415
+1415
+1415
+3927
+3927
+3927
+2168
+2168
+2168
+20
+30
+96
+580
+1100
+221
+4040
+4040
+4040
+0
+2577
+2101
+2
+249
+1104
+488
+95
+0
+2042
+43
+0
+36
+4404
+4404
+4404
+44
+1
+653
+550
+550
+550
+37
+2898
+2898
+2898
+1861
+1861
+1861
+3287
+196
+35
+104
+30
+3653
+4015
+4015
+4015
+2601
+800
+49
+140
+106
+28
+54
+228
+44
+1844
+33
+35
+0
+135
+2
+96
+713
+5
+94
+3807
+3807
+3807
+26
+2175
+29
+41
+4600
+4600
+4600
+110
+358
+21
+53
+0
+104
+4332
+4332
+4332
+24
+42
+341
+21
+624
+918
+3
+22
+21
+42
+322
+322
+322
+1867
+0
+922
+922
+922
+3750
+3750
+3750
+452
+452
+452
+1675
+0
+27
+608
+2818
+575
+575
+575
+0
+0
+1387
+1387
+1387
+175
+121
+0
+4361
+4361
+4361
+749
+368
+366
+2602
+2602
+2602
+3232
+4705
+4705
+4705
+3296
+0
+1199
+21
+1768
+1768
+1768
+1
+3796
+3796
+3796
+156
+2577
+235
+20
+4052
+4052
+4052
+0
+4
+249
+77
+77
+77
+415
+115
+0
+281
+1
+2095
+371
+355
+3752
+3752
+3752
+26
+185
+342
+27
+6
+32
+1
+365
+37
+0
+0
+5
+2379
+2379
+2379
+0
+233
+4
+3774
+3774
+3774
+139
+680
+3366
+96
+96
+96
+1057
+230
+4636
+4636
+4636
+1784
+31
+3263
+3263
+3263
+4568
+4568
+4568
+1946
+1356
+4785
+4785
+4785
+120
+31
+48
+244
+1466
+354
+0
+1436
+41
+29
+3966
+3966
+3966
+4359
+4359
+4359
+49
+365
+4552
+4552
+4552
+31
+3
+30
+294
+49
+1234
+38
+820
+1481
+1481
+1481
+465
+79
+770
+2264
+2264
+2264
+21
+40
+309
+25
+100
+3014
+3014
+3014
+80
+34
+4668
+4668
+4668
+140
+34
+74
+31
+149
+48
+3710
+152
+1
+2157
+445
+30
+2061
+701
+282
+0
+206
+2
+0
+804
+28
+2987
+2987
+2987
+0
+34
+4704
+4704
+4704
+0
+147
+2874
+1
+710
+3700
+396
+40
+50
+163
+1766
+75
+824
+1
+31
+85
+51
+3339
+3023
+1099
+209
+60
+40
+2
+4480
+4480
+4480
+93
+2262
+2262
+2262
+33
+0
+71
+32
+1571
+2258
+11
+32
+31
+25
+1800
+267
+445
+0
+54
+337
+28
+1
+20
+91
+180
+53
+33
+23
+24
+478
+1
+4783
+4783
+4783
+23
+22
+12
+523
+3331
+3331
+3331
+33
+4307
+4307
+4307
+26
+3442
+3442
+3442
+2
+214
+24
+35
+80
+105
+0
+13
+104
+1
+2241
+42
+2585
+2585
+2585
+0
+2302
+145
+23
+96
+0
+33
+27
+32
+1836
+0
+369
+287
+396
+581
+148
+199
+40
+47
+23
+0
+70
+3
+2494
+2494
+2494
+3199
+1
+31
+0
+240
+87
+1468
+2
+3347
+3347
+3347
+204
+20
+1076
+21
+35
+4288
+4288
+4288
+33
+100
+190
+2774
+179
+1
+22
+57
+2004
+2004
+2004
+114
+2
+3636
+3636
+3636
+20
+1
+91
+3824
+3824
+3824
+25
+350
+3362
+3362
+3362
+22
+3312
+4797
+4797
+4797
+2184
+981
+3516
+3516
+3516
+279
+31
+32
+25
+125
+68
+0
+1219
+113
+34
+25
+0
+0
+3203
+2082
+166
+4881
+4881
+4881
+4016
+4016
+4016
+59
+533
+1451
+1451
+1451
+4160
+4160
+4160
+27
+97
+32
+4058
+4058
+4058
+414
+49
+421
+89
+31
+74
+911
+3898
+3898
+3898
+3423
+3423
+3423
+1
+39
+28
+1901
+197
+86
+47
+2359
+2359
+2359
+4159
+4159
+4159
+26
+35
+25
+30
+410
+31
+68
+1920
+1920
+1920
+22
+866
+22
+4865
+4865
+4865
+2776
+3256
+3256
+3256
+32
+30
+64
+577
+31
+1
+1123
+1123
+1123
+23
+3415
+3415
+3415
+1139
+1139
+1139
+0
+4792
+4792
+4792
+4822
+4822
+4822
+805
+95
+1369
+1369
+1369
+3957
+3957
+3957
+27
+61
+46
+1080
+1080
+1080
+4243
+4243
+4243
+870
+3
+98
+98
+98
+3993
+3993
+3993
+1273
+1273
+1273
+0
+1939
+25
+4516
+4516
+4516
+140
+1
+209
+4384
+4384
+4384
+90
+31
+1545
+25
+3
+1
+27
+2198
+37
+1889
+1
+115
+443
+992
+276
+812
+5
+29
+300
+43
+43
+43
+1036
+134
+3152
+3152
+3152
+3
+365
+884
+3764
+3764
+3764
+31
+86
+547
+2194
+43
+2993
+2993
+2993
+70
+361
+1232
+528
+0
+867
+95
+3212
+669
+705
+4522
+4522
+4522
+1918
+374
+21
+134
+1
+237
+3107
+3107
+3107
+0
+128
+107
+286
+126
+0
+18
+61
+45
+45
+45
+232
+2077
+2077
+2077
+178
+2675
+2823
+2823
+2823
+1105
+0
+76
+22
+39
+915
+36
+6
+10
+959
+0
+37
+3820
+2008
+10
+60
+23
+209
+1076
+0
+4336
+10
+4696
+4696
+4696
+238
+115
+3787
+21
+77
+0
+4849
+4523
+4523
+4523
+3811
+3811
+3811
+38
+0
+31
+3894
+3894
+3894
+299
+511
+1938
+1938
+1938
+4818
+4818
+4818
+8
+1353
+1353
+1353
+740
+2669
+2669
+2669
+102
+264
+514
+4359
+4359
+4359
+148
+29
+2490
+2490
+2490
+54
+31
+1
+38
+51
+32
+1602
+25
+885
+148
+3639
+3639
+3639
+135
+135
+135
+231
+3
+182
+1374
+1374
+1374
+2692
+2692
+2692
+1213
+1213
+1213
+30
+53
+3905
+3905
+3905
+462
+34
+3
+366
+366
+366
+3839
+3839
+3839
+31
+6
+0
+4225
+4225
+4225
+2726
+1946
+67
+258
+4412
+4412
+4412
+3482
+3482
+3482
+365
+3278
+3278
+3278
+76
+55
+1997
+1997
+1997
+365
+565
+125
+841
+841
+841
+45
+3404
+3404
+3404
+184
+2344
+4511
+4511
+4511
+223
+56
+2
+33
+365
+31
+2675
+3
+71
+2741
+2741
+2741
+0
+4935
+4935
+4935
+21
+690
+56
+3709
+3709
+3709
+481
+481
+481
+55
+162
+361
+1107
+2999
+2999
+2999
+106
+16
+38
+559
+1
+24
+2556
+905
+31
+106
+387
+192
+8
+4101
+3479
+3479
+3479
+101
+0
+230
+0
+58
+2424
+2424
+2424
+72
+3429
+3429
+3429
+554
+52
+70
+0
+28
+169
+4193
+4193
+4193
+3
+36
+248
+9
+4193
+4193
+4193
+4526
+4526
+4526
+0
+43
+228
+524
+144
+144
+144
+650
+741
+31
+567
+30
+368
+169
+4459
+40
+184
+2241
+1260
+793
+90
+1160
+0
+47
+345
+514
+62
+1262
+1495
+3475
+3475
+3475
+3075
+221
+90
+25
+51
+55
+38
+746
+39
+869
+24
+33
+0
+595
+3883
+3883
+3883
+71
+1256
+1256
+1256
+238
+293
+528
+2
+368
+75
+1146
+4726
+4726
+4726
+163
+106
+452
+3873
+3873
+3873
+46
+25
+184
+26
+1363
+1996
+78
+30
+641
+380
+62
+733
+235
+53
+0
+90
+163
+145
+52
+24
+2266
+128
+25
+98
+206
+834
+239
+372
+34
+164
+537
+88
+151
+0
+1639
+1639
+1639
+27
+20
+60
+4560
+4560
+4560
+78
+1
+0
+40
+0
+44
+32
+413
+22
+158
+115
+21
+1504
+1504
+1504
+546
+546
+546
+471
+180
+180
+180
+0
+2433
+40
+3850
+3850
+3850
+4440
+4440
+4440
+1036
+20
+60
+3332
+3332
+3332
+1151
+1151
+1151
+115
+24
+46
+63
+2948
+105
+0
+610
+229
+229
+229
+0
+88
+169
+123
+407
+136
+862
+2905
+2905
+2905
+0
+480
+391
+30
+5
+190
+17
+266
+52
+76
+196
+367
+28
+366
+2
+60
+1
+2270
+259
+135
+1436
+365
+55
+338
+0
+70
+580
+46
+532
+29
+96
+91
+91
+31
+22
+71
+71
+71
+40
+4145
+4145
+4145
+22
+365
+184
+1360
+176
+1
+122
+991
+80
+4386
+4386
+4386
+3278
+58
+181
+21
+832
+37
+4283
+4283
+4283
+156
+3153
+34
+125
+276
+33
+3869
+3869
+3869
+496
+318
+88
+1370
+0
+4601
+4601
+4601
+75
+65
+3175
+3175
+3175
+58
+525
+1483
+365
+565
+1307
+184
+26
+4640
+4640
+4640
+4333
+4333
+4333
+3
+4645
+4645
+4645
+1844
+434
+1659
+1659
+1659
+1
+952
+952
+952
+2923
+51
+3579
+3579
+3579
+1240
+28
+23
+1871
+49
+874
+366
+53
+123
+0
+1
+3816
+25
+36
+888
+3099
+41
+597
+1518
+1518
+1518
+562
+0
+28
+21
+3954
+3954
+3954
+148
+188
+30
+54
+520
+53
+2320
+3894
+3894
+3894
+40
+8
+104
+650
+4187
+4187
+4187
+2961
+2961
+2961
+48
+1276
+34
+572
+796
+23
+21
+0
+0
+4815
+4815
+4815
+27
+174
+4671
+4671
+4671
+145
+356
+2761
+2145
+149
+2522
+127
+3553
+3553
+3553
+48
+22
+1515
+71
+1449
+206
+0
+1001
+69
+24
+21
+226
+53
+4804
+4804
+4804
+4439
+4439
+4439
+56
+0
+42
+509
+0
+201
+1992
+72
+25
+2
+0
+588
+588
+588
+1360
+1022
+938
+938
+938
+1728
+179
+654
+32
+2256
+1002
+65
+1065
+1065
+1065
+118
+440
+151
+1
+3964
+3964
+3964
+205
+1067
+7
+243
+27
+4637
+4637
+4637
+328
+3577
+3577
+3577
+165
+950
+137
+50
+860
+225
+3897
+554
+931
+365
+23
+852
+3169
+2
+186
+24
+3976
+3976
+3976
+3980
+3980
+3980
+0
+2
+4129
+4129
+4129
+1426
+36
+0
+4569
+4569
+4569
+2809
+3549
+3549
+3549
+45
+365
+883
+883
+883
+677
+23
+368
+365
+196
+1621
+1334
+3880
+1419
+1
+2
+1297
+1772
+1951
+206
+33
+3461
+1
+26
+57
+4237
+3717
+3717
+3717
+22
+20
+3967
+3967
+3967
+29
+3132
+3132
+3132
+33
+1
+3764
+93
+97
+16
+983
+983
+983
+3967
+3967
+3967
+1380
+20
+937
+1
+3882
+3882
+3882
+36
+54
+0
+21
+29
+55
+2822
+2822
+2822
+120
+365
+20
+44
+97
+132
+220
+149
+3045
+2124
+2124
+2124
+22
+4993
+4993
+4993
+983
+365
+106
+0
+182
+4144
+4144
+4144
+4046
+4046
+4046
+1038
+0
+143
+100
+1470
+1470
+1470
+880
+17
+1749
+74
+1
+110
+0
+20
+216
+261
+153
+26
+877
+3910
+58
+293
+2401
+2401
+2401
+0
+611
+115
+100
+847
+304
+113
+22
+255
+2497
+97
+992
+34
+31
+0
+52
+1727
+1727
+1727
+37
+3513
+3513
+3513
+4885
+4885
+4885
+31
+25
+632
+632
+632
+3965
+3965
+3965
+1045
+265
+265
+265
+4688
+4688
+4688
+3430
+705
+2367
+285
+0
+2532
+2532
+2532
+614
+494
+2312
+2312
+2312
+303
+303
+303
+74
+40
+3184
+3184
+3184
+4974
+4974
+4974
+612
+378
+4058
+4058
+4058
+358
+1
+84
+795
+4577
+4577
+4577
+727
+174
+2312
+0
+4045
+4045
+4045
+2182
+4823
+4823
+4823
+54
+368
+2381
+56
+60
+2739
+2739
+2739
+0
+3004
+3004
+3004
+98
+8
+37
+367
+367
+50
+102
+70
+53
+3788
+3788
+3788
+697
+201
+0
+4874
+4874
+4874
+126
+126
+126
+88
+1036
+1036
+1036
+1732
+8
+244
+4822
+4822
+4822
+31
+305
+1
+206
+1
+74
+0
+58
+4070
+4070
+4070
+2922
+2922
+2922
+1
+1305
+1305
+1305
+24
+28
+0
+34
+38
+130
+40
+0
+26
+2573
+2573
+2573
+44
+2200
+253
+253
+253
+346
+76
+4306
+4306
+4306
+83
+671
+0
+266
+1
+931
+229
+2369
+2369
+2369
+195
+38
+65
+28
+39
+2782
+42
+46
+924
+116
+3188
+3188
+3188
+1
+37
+37
+37
+4910
+4910
+4910
+26
+0
+70
+112
+784
+163
+411
+2
+3158
+3158
+3158
+2375
+4249
+4249
+4249
+33
+65
+39
+31
+454
+230
+0
+74
+597
+139
+26
+3249
+3249
+3249
+2464
+92
+38
+33
+4627
+2122
+2122
+2122
+25
+0
+386
+8
+344
+1000
+1000
+1000
+622
+1962
+101
+2
+1365
+1365
+1365
+330
+46
+401
+36
+1
+21
+3607
+3607
+3607
+70
+29
+45
+199
+26
+21
+20
+31
+1
+1947
+53
+31
+4842
+4842
+4842
+28
+71
+23
+42
+31
+474
+1077
+188
+201
+217
+33
+0
+29
+34
+0
+3
+3990
+3990
+3990
+39
+25
+24
+64
+47
+31
+4361
+4361
+4361
+76
+55
+40
+29
+4306
+4306
+4306
+32
+49
+235
+1762
+1762
+1762
+38
+335
+4
+3961
+3961
+3961
+73
+396
+553
+0
+44
+25
+2518
+43
+30
+0
+33
+0
+35
+159
+159
+159
+2825
+2825
+2825
+40
+3895
+29
+74
+0
+723
+189
+642
+642
+642
+30
+481
+51
+64
+68
+1157
+1157
+1157
+288
+38
+21
+31
+440
+256
+170
+3
+0
+4871
+4871
+4871
+29
+37
+26
+1337
+298
+393
+2436
+2436
+2436
+2
+1571
+1571
+1571
+27
+291
+27
+39
+400
+278
+25
+4068
+28
+1290
+1290
+1290
+54
+919
+319
+808
+2
+35
+4338
+4338
+4338
+594
+668
+32
+3975
+3975
+3975
+480
+179
+0
+95
+395
+4359
+4359
+4359
+897
+4646
+4646
+4646
+1466
+1466
+1466
+687
+35
+33
+336
+109
+195
+45
+174
+4713
+4713
+4713
+59
+525
+274
+2
+29
+26
+692
+692
+692
+34
+62
+4707
+4707
+4707
+1
+1
+28
+427
+873
+873
+873
+33
+36
+59
+174
+2825
+2825
+2825
+33
+45
+43
+1735
+0
+27
+182
+25
+42
+0
+90
+0
+0
+0
+29
+3170
+4125
+4125
+4125
+231
+4346
+4346
+4346
+32
+242
+28
+33
+3609
+141
+1
+44
+34
+28
+3658
+3658
+3658
+310
+2717
+4967
+4967
+4967
+353
+293
+1157
+100
+4072
+4072
+4072
+4594
+156
+31
+0
+37
+298
+1773
+1773
+1773
+22
+2130
+96
+1724
+37
+34
+245
+35
+256
+33
+34
+263
+525
+38
+731
+1
+36
+53
+29
+76
+20
+894
+561
+32
+389
+61
+29
+33
+24
+38
+2494
+29
+4158
+4158
+4158
+28
+40
+418
+3054
+3054
+3054
+29
+56
+25
+34
+780
+780
+780
+1
+2474
+2474
+2474
+3531
+3531
+3531
+0
+269
+939
+26
+148
+40
+47
+79
+945
+45
+44
+64
+156
+648
+1
+403
+94
+27
+4400
+4400
+4400
+24
+33
+21
+30
+204
+33
+2049
+736
+1415
+37
+28
+2571
+2571
+2571
+30
+2505
+0
+77
+1
+1
+0
+24
+0
+71
+4184
+1103
+818
+553
+2553
+914
+230
+4795
+4795
+4795
+86
+359
+163
+389
+20
+0
+2302
+2302
+2302
+88
+29
+36
+4031
+4031
+4031
+3164
+688
+207
+71
+1
+0
+4339
+4339
+4339
+3326
+258
+30
+1395
+28
+1570
+2574
+33
+432
+2819
+2819
+2819
+1
+3348
+26
+396
+20
+1554
+20
+0
+1379
+27
+3083
+3083
+3083
+3028
+3028
+3028
+4385
+4385
+4385
+134
+101
+53
+24
+205
+59
+22
+205
+22
+1
+45
+1395
+413
+118
+1973
+1973
+1973
+122
+4141
+562
+149
+2151
+2151
+2151
+2936
+2936
+2936
+845
+845
+845
+1203
+1098
+1098
+1098
+44
+1536
+1536
+1536
+4879
+4879
+4879
+34
+31
+615
+36
+2
+92
+0
+92
+92
+69
+103
+1206
+1206
+1206
+1
+4309
+4309
+4309
+41
+731
+20
+34
+2940
+183
+4299
+2205
+2205
+2205
+16
+71
+699
+53
+67
+2572
+2572
+2572
+776
+0
+99
+80
+369
+2
+2922
+2922
+2922
+38
+60
+951
+951
+951
+21
+4811
+4811
+4811
+2
+2993
+2993
+2993
+24
+4343
+4343
+4343
+82
+297
+44
+1268
+2536
+2536
+2536
+21
+3606
+3606
+3606
+0
+2096
+0
+673
+47
+342
+27
+42
+132
+22
+44
+127
+102
+654
+1810
+2820
+26
+630
+45
+30
+147
+4225
+4225
+4225
+1
+92
+2465
+44
+279
+322
+68
+30
+231
+3571
+2193
+3104
+4060
+4060
+4060
+31
+1075
+20
+32
+1492
+146
+1178
+4
+27
+314
+33
+20
+127
+64
+558
+0
+34
+1445
+1445
+1445
+146
+1
+70
+1
+978
+4289
+4289
+4289
+177
+44
+1
+54
+3757
+3757
+3757
+35
+35
+35
+240
+1
+269
+32
+83
+408
+21
+31
+1789
+41
+413
+58
+1096
+191
+33
+1203
+0
+994
+2
+443
+756
+756
+756
+1050
+39
+21
+153
+1174
+162
+357
+69
+4270
+4270
+4270
+32
+27
+364
+33
+0
+103
+491
+75
+72
+182
+48
+615
+615
+615
+439
+509
+84
+31
+274
+61
+392
+4127
+366
+1
+734
+55
+83
+22
+101
+22
+333
+0
+50
+113
+21
+404
+3081
+3081
+3081
+0
+27
+178
+62
+38
+374
+2
+0
+95
+1
+38
+55
+32
+35
+4201
+489
+489
+489
+1174
+987
+125
+4462
+4462
+4462
+822
+1036
+302
+178
+46
+21
+34
+171
+171
+171
+1538
+1
+1829
+1829
+1829
+21
+2
+3033
+3033
+3033
+68
+731
+33
+863
+4218
+4218
+4218
+287
+753
+55
+21
+0
+488
+61
+82
+2518
+54
+35
+25
+43
+367
+852
+852
+852
+26
+23
+20
+21
+168
+31
+18
+417
+235
+8
+35
+0
+295
+10
+3380
+3380
+3380
+3712
+3712
+3712
+1529
+1624
+3
+45
+323
+64
+3
+785
+1097
+23
+30
+3033
+9
+0
+76
+2
+25
+0
+65
+1147
+84
+218
+41
+4448
+91
+30
+4728
+4728
+4728
+35
+32
+3536
+3536
+3536
+0
+2193
+88
+371
+910
+0
+1
+999
+350
+260
+31
+20
+311
+2106
+0
+1159
+189
+1
+3230
+3230
+3230
+55
+145
+86
+1
+59
+379
+0
+2192
+21
+1
+104
+264
+1428
+2829
+2829
+2829
+91
+29
+1948
+1948
+1948
+1
+28
+97
+1209
+366
+26
+4846
+4846
+4846
+272
+0
+1401
+1401
+1401
+2
+50
+3654
+3654
+3654
+2
+221
+4929
+4929
+4929
+92
+56
+1
+1097
+4814
+4814
+4814
+148
+156
+1
+24
+270
+270
+270
+22
+29
+234
+954
+3444
+3444
+3444
+690
+690
+690
+79
+3653
+30
+2560
+2560
+2560
+1126
+476
+8
+280
+2196
+100
+1584
+1234
+1
+0
+22
+5
+0
+4
+2065
+2065
+2065
+181
+145
+0
+129
+463
+89
+839
+0
+894
+3322
+3322
+3322
+75
+3
+3862
+3862
+3862
+393
+412
+113
+653
+47
+45
+0
+0
+63
+2
+1570
+353
+136
+31
+118
+134
+1823
+431
+89
+2
+74
+733
+733
+733
+440
+20
+35
+84
+43
+33
+828
+16
+821
+202
+121
+1327
+1327
+1327
+645
+6
+305
+112
+401
+26
+67
+61
+41
+450
+317
+1
+4121
+4121
+4121
+100
+0
+2014
+2014
+2014
+2
+1
+27
+31
+277
+4140
+4140
+4140
+118
+3
+29
+26
+3301
+3301
+3301
+22
+22
+1
+0
+230
+0
+875
+39
+4121
+4121
+4121
+910
+910
+910
+8
+0
+93
+153
+12
+11
+295
+3300
+3300
+3300
+2505
+2505
+2505
+484
+484
+484
+216
+150
+0
+35
+47
+0
+0
+0
+495
+4512
+64
+205
+0
+352
+274
+128
+4940
+4940
+4940
+367
+39
+149
+4781
+4781
+4781
+296
+74
+60
+44
+2820
+0
+0
+86
+288
+734
+119
+30
+44
+1
+135
+370
+21
+3702
+3702
+3702
+1
+304
+26
+58
+24
+4184
+4184
+4184
+1191
+1191
+1191
+356
+3656
+7
+1526
+1526
+1526
+2
+208
+1200
+21
+3506
+3506
+3506
+40
+63
+804
+266
+1161
+1161
+1161
+24
+2685
+31
+140
+25
+251
+3862
+3862
+3862
+24
+263
+61
+55
+33
+48
+108
+31
+495
+2017
+2017
+2017
+49
+114
+439
+1022
+32
+29
+475
+2
+29
+3268
+3268
+3268
+1539
+50
+268
+45
+160
+513
+0
+64
+1239
+342
+342
+342
+172
+4027
+4027
+4027
+1237
+1237
+1237
+210
+279
+279
+279
+6
+515
+1
+20
+0
+104
+23
+3
+32
+389
+3737
+3737
+3737
+1
+3259
+3259
+3259
+3830
+911
+566
+0
+54
+169
+283
+30
+304
+2908
+712
+31
+0
+23
+1
+0
+79
+94
+834
+170
+0
+4292
+4292
+4292
+0
+326
+68
+779
+25
+3844
+3844
+3844
+64
+5
+232
+4128
+4128
+4128
+4162
+4162
+4162
+109
+728
+235
+406
+164
+41
+3091
+4577
+4577
+4577
+23
+1
+267
+161
+510
+55
+1151
+136
+0
+44
+683
+9
+356
+38
+4028
+4028
+4028
+3374
+3374
+3374
+2995
+407
+39
+31
+236
+895
+196
+3275
+3275
+3275
+1656
+338
+2142
+2662
+4013
+4013
+4013
+666
+0
+67
+184
+182
+397
+450
+450
+450
+578
+3938
+1373
+544
+578
+372
+48
+0
+48
+2424
+590
+919
+13
+0
+859
+2800
+2800
+2800
+60
+79
+0
+549
+0
+4138
+4138
+4138
+2380
+2380
+2380
+10
+4534
+4534
+4534
+3872
+3872
+3872
+30
+147
+802
+48
+2661
+2661
+2661
+4072
+1613
+44
+560
+24
+169
+35
+4281
+4281
+4281
+309
+468
+3268
+3268
+3268
+148
+0
+124
+318
+60
+179
+62
+1
+29
+30
+50
+3368
+22
+738
+216
+367
+367
+367
+1877
+107
+224
+111
+1
+22
+2402
+3
+21
+39
+0
+278
+366
+602
+3343
+3343
+3343
+32
+189
+205
+48
+22
+2709
+160
+2728
+4991
+4991
+4991
+3232
+3232
+3232
+189
+0
+23
+595
+606
+1218
+1218
+1218
+38
+214
+1219
+1219
+1219
+1319
+590
+590
+590
+233
+4131
+4131
+4131
+940
+622
+588
+1698
+4700
+4700
+4700
+110
+3813
+3813
+3813
+26
+0
+4
+1116
+37
+3129
+3129
+3129
+0
+95
+95
+95
+33
+308
+413
+69
+49
+908
+220
+577
+577
+577
+366
+3092
+3092
+3092
+1
+64
+9
+1
+4405
+4405
+4405
+97
+218
+0
+29
+1
+50
+1
+94
+3539
+77
+1661
+20
+110
+0
+1304
+257
+815
+211
+23
+1
+91
+688
+45
+230
+864
+0
+2218
+2218
+2218
+106
+2
+2696
+2696
+2696
+202
+397
+2798
+1317
+30
+382
+2728
+4334
+4334
+4334
+3914
+3914
+3914
+32
+32
+4834
+4834
+4834
+4833
+4833
+4833
+1598
+1598
+1598
+473
+1
+2
+438
+4213
+4213
+4213
+3221
+3221
+3221
+26
+103
+135
+0
+3834
+3834
+3834
+3861
+3861
+3861
+84
+82
+82
+82
+598
+2559
+21
+28
+367
+367
+367
+1
+78
+895
+33
+236
+123
+907
+4018
+4018
+4018
+352
+352
+352
+380
+575
+1638
+1638
+1638
+666
+2944
+115
+2029
+2029
+2029
+857
+178
+45
+27
+96
+282
+582
+176
+44
+1
+368
+4880
+4880
+4880
+1622
+2064
+0
+1
+237
+30
+101
+0
+204
+248
+248
+248
+82
+1290
+1290
+1290
+489
+47
+56
+31
+31
+210
+1159
+1664
+1664
+1664
+30
+1185
+1074
+1074
+1074
+367
+1024
+45
+4995
+4995
+4995
+548
+548
+548
+5
+322
+1197
+581
+46
+2134
+2134
+2134
+211
+622
+0
+49
+31
+1550
+239
+129
+2
+20
+991
+0
+576
+576
+576
+337
+4329
+4329
+4329
+57
+2733
+41
+46
+4367
+4367
+4367
+4635
+4635
+4635
+0
+868
+868
+868
+863
+25
+113
+125
+56
+32
+367
+0
+883
+2770
+2770
+2770
+3852
+46
+24
+28
+32
+926
+112
+3834
+0
+67
+0
+1650
+1650
+1650
+0
+474
+474
+474
+1
+369
+104
+47
+253
+253
+253
+1373
+2020
+2020
+2020
+0
+313
+1050
+1352
+1352
+1352
+2316
+2316
+2316
+0
+4286
+4286
+4286
+1004
+1348
+73
+292
+0
+966
+63
+176
+176
+176
+3331
+3331
+3331
+286
+3477
+21
+4172
+4172
+4172
+2
+659
+41
+718
+718
+718
+67
+28
+977
+42
+50
+32
+61
+4299
+4299
+4299
+262
+70
+54
+1364
+1364
+1364
+1
+1
+333
+107
+0
+189
+50
+287
+1659
+0
+3114
+3114
+3114
+732
+90
+3449
+3449
+3449
+2126
+2126
+2126
+522
+942
+307
+29
+1472
+1278
+2421
+1617
+109
+281
+42
+50
+2509
+2509
+2509
+367
+0
+1998
+1998
+1998
+4015
+4015
+4015
+142
+69
+9
+244
+2246
+2607
+72
+2521
+2521
+2521
+3119
+3119
+3119
+1
+452
+225
+0
+38
+3976
+74
+0
+93
+4565
+4565
+4565
+78
+32
+62
+2849
+2849
+2849
+63
+314
+12
+0
+362
+562
+34
+931
+275
+52
+155
+281
+4391
+4391
+4391
+276
+120
+120
+120
+1764
+44
+34
+3615
+1
+29
+53
+90
+369
+22
+26
+2543
+2543
+2543
+226
+29
+331
+95
+337
+635
+197
+0
+35
+1404
+1134
+0
+54
+118
+985
+1570
+28
+370
+163
+3936
+975
+975
+975
+238
+300
+51
+246
+22
+652
+365
+73
+117
+117
+117
+497
+269
+1995
+2024
+2856
+53
+22
+82
+189
+1
+48
+152
+4032
+4032
+4032
+28
+1147
+1147
+1147
+90
+2539
+0
+3285
+3285
+3285
+586
+15
+2737
+4276
+4276
+4276
+98
+86
+2958
+2106
+3483
+3634
+0
+4382
+1294
+1294
+1294
+57
+559
+559
+559
+61
+202
+2745
+27
+700
+700
+700
+115
+0
+1
+1823
+1
+4204
+178
+2355
+27
+1
+236
+28
+284
+197
+0
+8
+171
+749
+157
+37
+590
+457
+1224
+2576
+687
+687
+687
+33
+829
+202
+2139
+24
+1328
+1328
+1328
+0
+1
+31
+31
+0
+76
+0
+257
+28
+101
+2142
+2142
+2142
+1766
+306
+30
+42
+0
+1285
+1
+216
+2360
+2360
+2360
+20
+82
+46
+37
+335
+408
+1462
+1462
+1462
+4342
+4342
+4342
+22
+468
+1
+4007
+4007
+4007
+1097
+1
+3655
+42
+2150
+1809
+1809
+1809
+0
+1
+1793
+1793
+1793
+335
+223
+1253
+306
+1766
+4052
+1
+2001
+2001
+2001
+1562
+1562
+1562
+611
+28
+4355
+1521
+196
+0
+1732
+5
+2574
+2574
+2574
+173
+40
+623
+1313
+430
+88
+1
+769
+769
+769
+0
+345
+4768
+4768
+4768
+1
+385
+1176
+1176
+1176
+26
+30
+79
+129
+4
+44
+224
+641
+0
+355
+82
+142
+24
+122
+621
+1709
+3657
+3657
+3657
+154
+0
+3704
+0
+424
+280
+280
+280
+3610
+3610
+3610
+31
+1
+32
+335
+1
+20
+0
+0
+3
+1
+4678
+4678
+4678
+27
+109
+121
+2231
+701
+814
+814
+814
+36
+304
+691
+210
+1
+1842
+1
+0
+31
+0
+95
+1464
+1464
+1464
+5
+281
+0
+49
+4073
+4073
+4073
+4411
+4411
+4411
+640
+640
+640
+0
+55
+67
+55
+3906
+3906
+3906
+31
+2
+1
+60
+31
+6
+31
+1475
+226
+2931
+670
+670
+670
+373
+373
+373
+331
+0
+1476
+3
+1578
+519
+2
+183
+69
+294
+2057
+2057
+2057
+0
+102
+62
+41
+4278
+4278
+4278
+3612
+3612
+3612
+53
+1
+26
+31
+1680
+329
+32
+311
+40
+30
+37
+31
+46
+4788
+3210
+3210
+3210
+20
+49
+1134
+3771
+3771
+3771
+683
+0
+0
+1088
+25
+29
+2912
+2912
+2912
+0
+1
+177
+0
+3668
+3668
+3668
+294
+40
+33
+30
+1
+4705
+4705
+4705
+0
+0
+357
+103
+11
+298
+4784
+4784
+4784
+26
+1
+4382
+4382
+4382
+167
+22
+0
+3061
+3061
+3061
+119
+531
+367
+201
+30
+0
+177
+31
+0
+58
+29
+4
+155
+4095
+4095
+4095
+682
+55
+2256
+2256
+2256
+101
+693
+20
+240
+31
+41
+4494
+4494
+4494
+769
+4
+800
+25
+752
+1
+238
+24
+32
+53
+0
+0
+28
+1
+2109
+46
+200
+168
+398
+87
+3297
+351
+0
+67
+338
+2249
+1190
+24
+340
+340
+340
+3117
+3117
+3117
+229
+408
+31
+1887
+1887
+1887
+574
+574
+574
+2
+2563
+2563
+2563
+24
+378
+53
+3754
+3754
+3754
+0
+47
+50
+2151
+85
+4019
+4019
+4019
+4390
+4390
+4390
+946
+18
+2830
+374
+410
+410
+410
+1
+1081
+54
+1
+3274
+82
+375
+945
+139
+0
+3273
+3273
+3273
+2219
+2219
+2219
+4753
+4753
+4753
+354
+28
+395
+25
+332
+63
+0
+2
+3285
+29
+0
+49
+106
+75
+30
+0
+4100
+4100
+4100
+1
+1
+327
+15
+31
+27
+1
+1876
+31
+1153
+30
+46
+308
+1545
+1545
+1545
+21
+180
+3
+22
+119
+174
+202
+700
+27
+31
+4163
+4163
+4163
+2200
+2200
+2200
+1
+140
+31
+55
+20
+47
+36
+253
+0
+168
+27
+31
+1
+200
+1903
+1903
+1903
+437
+27
+601
+1
+32
+51
+983
+1
+3472
+3472
+3472
+91
+35
+37
+1173
+1173
+1173
+1
+59
+20
+0
+1
+4090
+4090
+4090
+77
+530
+2556
+1807
+1807
+1807
+3184
+3184
+3184
+10
+23
+1630
+62
+34
+7
+55
+0
+1572
+0
+28
+2
+35
+84
+1
+79
+1769
+1769
+1769
+92
+3086
+3086
+3086
+419
+10
+4877
+4877
+4877
+1857
+4504
+4504
+4504
+34
+0
+4010
+4010
+4010
+37
+24
+40
+0
+135
+437
+0
+0
+0
+3784
+3784
+3784
+31
+20
+78
+1
+31
+32
+0
+92
+60
+268
+140
+480
+2962
+2962
+2962
+23
+58
+44
+1582
+1582
+1582
+665
+22
+0
+44
+28
+87
+489
+3
+2917
+90
+418
+32
+24
+3291
+562
+93
+3792
+3792
+3792
+90
+3046
+31
+1
+1832
+1832
+1832
+22
+4068
+4042
+4042
+4042
+257
+20
+22
+0
+345
+440
+421
+68
+0
+3795
+4038
+4038
+4038
+31
+1090
+98
+25
+25
+25
+2383
+65
+98
+358
+2269
+2269
+2269
+42
+173
+59
+0
+143
+0
+2303
+3988
+3988
+3988
+767
+176
+1
+746
+827
+33
+730
+197
+269
+47
+24
+1
+1498
+1498
+1498
+2683
+6
+51
+0
+440
+4515
+4515
+4515
+30
+1586
+33
+597
+52
+1079
+915
+915
+915
+21
+79
+106
+62
+611
+102
+2924
+132
+2981
+2981
+2981
+2716
+2716
+2716
+51
+2954
+78
+24
+61
+532
+660
+1523
+1523
+1523
+2484
+0
+95
+233
+25
+16
+1485
+28
+181
+3127
+31
+0
+1
+1244
+49
+59
+4
+255
+155
+30
+0
+2576
+171
+3840
+3840
+3840
+484
+3443
+3443
+3443
+61
+4808
+4808
+4808
+67
+2016
+2016
+2016
+4513
+4513
+4513
+3472
+3472
+3472
+57
+2
+22
+45
+127
+34
+30
+1
+619
+142
+0
+118
+507
+1636
+1069
+634
+46
+2991
+3
+1590
+61
+466
+741
+1837
+1837
+1837
+36
+3638
+24
+4633
+4633
+4633
+103
+21
+437
+20
+23
+513
+565
+58
+991
+112
+3795
+3795
+3795
+1846
+1846
+1846
+481
+60
+559
+27
+204
+2758
+2758
+2758
+32
+1346
+255
+1
+258
+68
+238
+28
+0
+370
+72
+1505
+1505
+1505
+1371
+61
+1
+61
+809
+463
+1140
+505
+3468
+741
+100
+357
+357
+357
+1
+1
+149
+2597
+2597
+2597
+486
+486
+486
+67
+211
+2251
+761
+14
+0
+664
+4
+213
+258
+476
+65
+4958
+4958
+4958
+851
+91
+20
+841
+841
+841
+41
+1581
+1581
+1581
+23
+2477
+143
+174
+127
+52
+73
+107
+59
+1446
+1446
+1446
+261
+1
+24
+489
+1
+458
+58
+305
+45
+397
+1
+26
+4004
+4004
+4004
+465
+1
+4687
+4687
+4687
+4210
+4210
+4210
+433
+3750
+3750
+3750
+97
+31
+89
+112
+0
+1526
+1526
+1526
+564
+28
+564
+1200
+25
+21
+1933
+1933
+1933
+359
+4131
+4131
+4131
+320
+2994
+98
+4361
+4361
+4361
+0
+138
+191
+103
+124
+0
+67
+1776
+3321
+3321
+3321
+500
+0
+918
+1553
+1553
+1553
+474
+21
+0
+1187
+700
+95
+4548
+4548
+4548
+583
+583
+583
+2484
+2484
+2484
+58
+878
+134
+3548
+3548
+3548
+532
+63
+26
+130
+2
+101
+27
+23
+248
+58
+31
+0
+1962
+157
+52
+0
+0
+1
+376
+233
+315
+1337
+2401
+522
+57
+188
+156
+249
+350
+39
+225
+276
+92
+276
+31
+2
+37
+460
+2555
+2555
+2555
+4609
+4609
+4609
+0
+26
+366
+1178
+390
+57
+0
+112
+605
+645
+365
+483
+22
+221
+59
+54
+94
+23
+4419
+4419
+4419
+4585
+3843
+3843
+3843
+250
+250
+250
+1695
+1695
+1695
+611
+46
+65
+3
+1008
+1008
+1008
+115
+68
+0
+561
+42
+50
+3032
+3032
+3032
+2391
+0
+1975
+28
+1409
+1409
+1409
+36
+463
+206
+0
+71
+90
+0
+0
+605
+52
+78
+4809
+4809
+4809
+336
+38
+0
+244
+42
+493
+0
+50
+406
+406
+406
+24
+4433
+4433
+4433
+0
+3909
+3909
+3909
+4589
+4589
+4589
+68
+46
+1666
+21
+1
+2479
+113
+1
+230
+2832
+2832
+2832
+46
+1150
+1150
+1150
+4666
+4666
+4666
+32
+364
+0
+0
+178
+109
+96
+2
+2282
+2282
+2282
+48
+717
+3080
+32
+78
+1937
+1937
+1937
+1
+96
+186
+607
+80
+4985
+4985
+4985
+281
+254
+1
+168
+2
+88
+2476
+2476
+2476
+32
+20
+4782
+4782
+4782
+2482
+193
+698
+791
+791
+791
+243
+122
+173
+270
+980
+612
+574
+21
+1432
+27
+30
+23
+5
+24
+105
+3778
+3778
+3778
+147
+118
+1697
+1697
+1697
+32
+1466
+26
+1548
+1078
+1078
+1078
+1561
+3757
+3757
+3757
+0
+109
+252
+125
+110
+58
+216
+237
+0
+119
+1826
+1748
+0
+75
+6
+321
+61
+285
+28
+78
+587
+46
+1349
+328
+295
+879
+273
+71
+224
+21
+270
+27
+0
+246
+3173
+32
+2142
+129
+3805
+392
+290
+39
+394
+28
+0
+0
+53
+0
+32
+94
+1710
+0
+101
+111
+242
+1
+3507
+3507
+3507
+34
+1427
+1427
+1427
+3863
+3863
+3863
+1
+601
+215
+981
+981
+981
+0
+48
+0
+21
+249
+249
+249
+0
+286
+38
+1754
+1404
+1404
+1404
+3
+27
+1740
+1740
+1740
+323
+30
+134
+118
+202
+2390
+384
+365
+60
+78
+31
+73
+1813
+3616
+3616
+3616
+735
+15
+0
+3827
+3827
+3827
+562
+1821
+640
+1016
+0
+21
+2
+1
+0
+33
+95
+21
+1758
+3208
+1
+0
+1
+0
+587
+0
+365
+4456
+4456
+4456
+3253
+51
+247
+918
+50
+3298
+3298
+3298
+461
+3827
+1
+3590
+3590
+3590
+1
+1471
+370
+4839
+4839
+4839
+32
+42
+32
+356
+3515
+14
+4
+0
+0
+1042
+5
+1
+0
+14
+20
+1
+33
+727
+3
+27
+41
+146
+0
+1159
+1824
+1
+20
+1442
+1442
+1442
+0
+212
+2303
+2303
+2303
+3875
+636
+0
+0
+29
+1
+2
+36
+1402
+1402
+1402
+118
+673
+4732
+4732
+4732
+36
+61
+1064
+33
+708
+125
+3
+319
+1013
+1
+1
+373
+373
+373
+180
+362
+1
+21
+1324
+380
+123
+123
+123
+1
+106
+2500
+804
+646
+91
+575
+229
+309
+0
+215
+33
+3609
+36
+771
+38
+4978
+4978
+4978
+477
+30
+24
+0
+1457
+1457
+1457
+31
+2264
+0
+4
+1
+0
+885
+3
+722
+303
+539
+122
+31
+95
+36
+254
+345
+5
+0
+0
+13
+1
+34
+1306
+1468
+808
+808
+808
+0
+543
+77
+415
+4656
+4656
+4656
+374
+1189
+30
+2303
+2303
+2303
+214
+22
+26
+160
+25
+4694
+21
+25
+27
+20
+1
+406
+0
+21
+6
+30
+368
+1
+26
+4161
+4161
+4161
+1
+33
+835
+146
+3269
+3269
+3269
+0
+2
+35
+33
+0
+0
+23
+13
+0
+1581
+302
+4763
+4763
+4763
+4794
+4794
+4794
+24
+365
+1
+2
+266
+30
+4327
+4327
+4327
+29
+146
+3234
+35
+5
+156
+1
+1
+1
+369
+22
+641
+2
+3482
+3482
+3482
+25
+30
+4684
+4684
+4684
+2
+436
+0
+62
+48
+1
+6
+1
+0
+37
+2564
+2564
+2564
+0
+4775
+4775
+4775
+26
+1220
+1220
+1220
+3993
+3993
+3993
+2193
+2563
+0
+156
+22
+0
+3
+926
+2047
+2047
+2047
+364
+3829
+3829
+3829
+53
+27
+1063
+2056
+40
+208
+0
+2111
+157
+20
+266
+34
+0
+88
+819
+7
+433
+3895
+3895
+3895
+39
+27
+90
+3
+41
+111
+30
+2828
+2828
+2828
+12
+464
+729
+729
+729
+417
+408
+0
+25
+1514
+35
+0
+415
+35
+4389
+4389
+4389
+55
+99
+4845
+4845
+4845
+3980
+52
+901
+0
+408
+4894
+4894
+4894
+59
+756
+46
+4822
+4822
+4822
+35
+1512
+155
+58
+2232
+447
+1
+246
+32
+38
+514
+50
+1100
+0
+745
+225
+225
+225
+33
+41
+37
+47
+20
+2
+1097
+32
+0
+59
+31
+447
+24
+37
+58
+36
+333
+4429
+4429
+4429
+248
+1497
+477
+63
+21
+0
+34
+0
+477
+0
+30
+23
+22
+145
+4791
+4791
+4791
+0
+31
+3129
+3129
+3129
+2477
+2477
+2477
+2191
+2191
+2191
+2
+31
+79
+36
+243
+120
+54
+1975
+1975
+1975
+34
+948
+948
+948
+0
+1975
+1975
+1975
+54
+239
+44
+857
+119
+0
+222
+58
+58
+58
+483
+1940 \ No newline at end of file
diff --git a/priv/static/metrics-graphics-3.0-alpha3/examples/data/xnotdate.json b/priv/static/metrics-graphics-3.0-alpha3/examples/data/xnotdate.json
new file mode 100644
index 0000000..989a08a
--- /dev/null
+++ b/priv/static/metrics-graphics-3.0-alpha3/examples/data/xnotdate.json
@@ -0,0 +1,34 @@
+[
+ {
+ "males": 50,
+ "females": 12
+ },
+ {
+ "males": 95,
+ "females": 66
+ },
+ {
+ "males": 143,
+ "females": 89
+ },
+ {
+ "males": 198,
+ "females": 105
+ },
+ {
+ "males": 244,
+ "females": 533
+ },
+ {
+ "males": 277,
+ "females": 175
+ },
+ {
+ "males": 344,
+ "females": 401
+ },
+ {
+ "males": 441,
+ "females": 1299
+ }
+]
diff --git a/priv/static/metrics-graphics-3.0-alpha3/examples/examples.htm b/priv/static/metrics-graphics-3.0-alpha3/examples/examples.htm
new file mode 100644
index 0000000..1219425
--- /dev/null
+++ b/priv/static/metrics-graphics-3.0-alpha3/examples/examples.htm
@@ -0,0 +1,113 @@
+<html lang='en'>
+<head>
+ <meta content='text/html; charset=utf-8' http-equiv='Content-Type'>
+
+ <title>MetricsGraphics.js - Examples</title>
+
+ <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,300,700' rel='stylesheet' type='text/css'>
+ <link href='https://fonts.googleapis.com/css?family=PT+Serif:400,700,400italic' rel='stylesheet' type='text/css'>
+ <link href='https://netdna.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.css' rel='stylesheet' type='text/css'>
+ <link href='https://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css' rel='stylesheet' type='text/css'>
+
+ <link href='metricsgraphics.css' rel='stylesheet' type='text/css'>
+ <link href='css/metricsgraphics-demo.css' rel='stylesheet' type='text/css' id='light'>
+ <link href='' rel='stylesheet' type='text/css' id='dark'>
+ <link href='' rel='stylesheet' type='text/css' id='accessible'>
+ <link href='css/highlightjs-default.css' rel='stylesheet' type='text/css' id='light-code'>
+ <link href='' rel='stylesheet' type='text/css' id='dark-code'>
+
+ <script src='js/lib/highlight.pack.js'></script>
+ <script src='https://cdnjs.cloudflare.com/ajax/libs/jquery/3.1.0/jquery.min.js'></script>
+ <script src="https://d3js.org/d3.v4.min.js"></script>
+ <script src='https://unpkg.com/popper.js/dist/umd/popper.min.js'></script>
+
+ <!-- dev start -->
+ <script src='js/MG.js'></script>
+ <script src='js/misc/utility.js'></script>
+ <script src='js/common/data_graphic.js'></script>
+ <script src='js/common/hooks.js'></script>
+ <script src='js/common/register.js'></script>
+ <script src='js/common/bootstrap_tooltip_popover.js'></script>
+ <script src='js/common/scales.js'></script>
+ <script src='js/common/chart_title.js'></script>
+ <script src='js/common/y_axis.js'></script>
+ <script src='js/common/x_axis.js'></script>
+ <script src='js/common/scales.js'></script>
+ <script src='js/common/init.js'></script>
+ <script src='js/common/markers.js'></script>
+ <script src='js/common/rollover.js'></script>
+ <script src='js/common/zoom.js'></script>
+ <script src='js/common/brush.js'></script>
+ <script src='js/common/window_listeners.js'></script>
+ <script src='js/layout/bootstrap_dropdown.js'></script>
+ <script src='js/layout/button.js'></script>
+ <script src='js/charts/line.js'></script>
+ <script src='js/charts/histogram.js'></script>
+ <script src='js/charts/point.js'></script>
+ <script src='js/charts/bar.js'></script>
+ <script src='js/charts/table.js'></script>
+ <script src='js/charts/missing.js'></script>
+ <script src='js/misc/process.js'></script>
+ <script src='js/misc/smoothers.js'></script>
+ <script src='js/misc/formatters.js'></script>
+ <script src='js/misc/transitions.js'></script>
+ <script src='js/misc/error.js'></script>
+ <!-- dev end -->
+
+ <script>
+ (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+ m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+ })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+ ga('create', 'UA-51487512-1', 'metricsgraphicsjs.org');
+ ga('send', 'pageview');
+ </script>
+</head>
+
+<body>
+ <div class='container'>
+ <div class='head'>
+ <ul>
+ <li><a href='./'>Home</a></li>
+ <li><a href='https://github.com/metricsgraphics/metrics-graphics/releases'>Download</a></li>
+ <li><a href='interactive-demo.htm'>Interactive</a></li>
+ <li><a href='https://github.com/metricsgraphics/metrics-graphics'>Code</a></li>
+ <li><a href='https://github.com/metricsgraphics/metrics-graphics/issues'>Issues</a></li>
+ <li class='divider'>|</li>
+ <li><a href='#' id='light-css' class='pill active'>Light style</a></li>
+ <li><a href='#' id='dark-css' class='pill'>Dark style</a></li>
+ <li><a href='#' id='accessible-css' class='pill'>Accessible style</a></li>
+ </ul>
+
+ <img src='images/logo.svg' id='logo' class='svg' />
+ </div>
+
+ <ul class='examples text-center'>
+ <li><a href='#' id='goto-lines' class='pill'>Lines</a></li>
+ <li><a href='#' id='goto-multilines' class='pill'>Multiple Lines</a></li>
+ <li><a href='#' id='goto-data' class='pill'>Data</a></li>
+ <li><a href='#' id='goto-axes' class='pill'>Axes</a></li>
+ <li><a href='#' id='goto-rollovers' class='pill'>Rollovers</a></li>
+ <li><a href='#' id='goto-auto-time-formatting' class='pill'>Automatic time formatting</a></li>
+ <li><a href='#' id='goto-annotations' class='pill'>Annotations</a></li>
+ <li><a href='#' id='goto-updating' class='pill'>Updating</a></li>
+ <li><a href='#' id='goto-other' class='pill'>Other</a></li>
+ <li><a href='#' id='goto-brushing_zooming' class='pill'>Brushing &amp; Zooming</a></li>
+ <li><a href='#' id='goto-experimental' class='pill'>Experimental</a></li>
+ </ul>
+
+ <div id='trunk'></div>
+
+ <div class='footer'>
+ Created by <a href='https://twitter.com/alialmossawi'>Ali Almossawi</a>,
+ <a href='https://github.com/hamilton'>Hamilton Ulmer</a> &mdash; Metrics at
+ <a href='https://www.mozilla.org/en-US/'>Mozilla</a>
+ <br />Shared under the <a href='http://www.mozilla.org/MPL/2.0/'>
+ Mozilla Public License</a>.
+ </div>
+ </div> <!-- end container -->
+
+ <script src='js/main.js'></script>
+</body>
+</html>
diff --git a/priv/static/metrics-graphics-3.0-alpha3/examples/images/divider.png b/priv/static/metrics-graphics-3.0-alpha3/examples/images/divider.png
new file mode 100644
index 0000000..9647b67
--- /dev/null
+++ b/priv/static/metrics-graphics-3.0-alpha3/examples/images/divider.png
Binary files differ
diff --git a/priv/static/metrics-graphics-3.0-alpha3/examples/images/logo.svg b/priv/static/metrics-graphics-3.0-alpha3/examples/images/logo.svg
new file mode 100644
index 0000000..c847025
--- /dev/null
+++ b/priv/static/metrics-graphics-3.0-alpha3/examples/images/logo.svg
@@ -0,0 +1,242 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="480px" height="79px" viewBox="0 0 480 79" enable-background="new 0 0 480 79" xml:space="preserve">
+<g>
+ <path fill="#101111" d="M96.164,52.427c2.84-4.839,5.58-9.709,8.22-14.61c2.64-4.899,5.24-9.875,7.8-14.924
+ c0.56,0.038,1.149,0.064,1.77,0.083c0.62,0.019,1.27,0.027,1.95,0.027c0.56,0,1.11-0.027,1.65-0.083
+ c0.54-0.055,1.089-0.083,1.65-0.083c0.64,0,0.96,0.185,0.96,0.554c0,0.407-0.22,0.619-0.66,0.638
+ c-0.441,0.019-0.96,0.064-1.56,0.138c-1.121,0.121-1.821,0.904-2.1,2.348l-5.52,29.436c-0.12,0.683-0.18,1.225-0.18,1.626
+ c0,1.284,0.58,1.926,1.74,1.926c0.36,0,0.649,0.03,0.87,0.091c0.219,0.06,0.33,0.271,0.33,0.632c0,0.161-0.081,0.311-0.24,0.451
+ c-0.16,0.141-0.4,0.211-0.72,0.211c-0.32,0-0.86-0.051-1.62-0.149c-0.761-0.101-1.74-0.151-2.94-0.151
+ c-1.44,0-2.57,0.062-3.39,0.181c-0.82,0.119-1.331,0.181-1.53,0.181c-0.52,0-0.78-0.261-0.78-0.783c0-0.48,0.2-0.722,0.6-0.722
+ c0.399,0,0.879-0.08,1.44-0.241c0.879-0.24,1.449-0.672,1.71-1.295c0.26-0.621,0.53-1.574,0.81-2.859l5.88-29.676l-17.76,33.951
+ c-0.36,0.723-0.74,1.084-1.14,1.084c-0.24,0-0.39-0.14-0.45-0.421s-0.11-0.702-0.15-1.265l-1.38-31.844
+ c-2.961,9.15-5.081,16.204-6.36,21.16c-1.28,4.956-1.92,7.796-1.92,8.518c0,0.843,0.17,1.445,0.51,1.806
+ c0.339,0.362,0.72,0.623,1.14,0.783c0.42,0.16,0.8,0.29,1.14,0.391c0.339,0.101,0.51,0.312,0.51,0.632
+ c0,0.241-0.09,0.441-0.27,0.602c-0.18,0.161-0.39,0.241-0.63,0.241c-0.4,0-0.96-0.08-1.68-0.24c-0.72-0.159-1.661-0.239-2.82-0.239
+ c-0.999,0-1.83,0.06-2.49,0.18s-1.149,0.18-1.47,0.18c-0.519,0-0.78-0.199-0.78-0.6c0-0.439,0.24-0.71,0.72-0.811
+ c0.48-0.099,1.08-0.249,1.8-0.449c0.48-0.12,0.87-0.29,1.17-0.511c0.3-0.219,0.57-0.519,0.81-0.899c0.24-0.38,0.459-0.88,0.66-1.5
+ c0.2-0.62,0.439-1.39,0.72-2.311l7.62-26.16c0.08-0.2,0.14-0.459,0.18-0.78c0.039-0.32,0.06-0.68,0.06-1.08
+ c0-0.64-0.16-1.06-0.48-1.26c-0.32-0.2-0.67-0.33-1.05-0.39c-0.381-0.06-0.73-0.12-1.05-0.18c-0.321-0.06-0.48-0.25-0.48-0.57
+ c0-0.44,0.3-0.66,0.9-0.66c0.159,0,0.699,0.038,1.62,0.111c0.919,0.074,2.34,0.11,4.26,0.11c0.8,0,1.25,0.112,1.35,0.333
+ c0.099,0.221,0.169,0.657,0.21,1.306L96.164,52.427z"/>
+ <path fill="#101111" d="M122.144,51.947c0,2.24,0.489,3.96,1.47,5.16c0.979,1.199,2.25,1.8,3.81,1.8c2.16,0,4.26-1.22,6.3-3.66
+ c0.6-0.72,0.979-1.32,1.14-1.8c0.159-0.48,0.42-0.721,0.78-0.721c0.24,0,0.36,0.201,0.36,0.601c0,0.32-0.15,0.78-0.45,1.38
+ c-0.3,0.6-0.771,1.32-1.41,2.16c-2.601,3.359-5.3,5.04-8.1,5.04c-1.08,0-2.09-0.251-3.03-0.75c-0.94-0.5-1.761-1.2-2.46-2.101
+ c-0.7-0.899-1.25-1.989-1.65-3.27c-0.4-1.279-0.6-2.7-0.6-4.26c0-2.199,0.422-4.41,1.268-6.63c0.845-2.221,2.091-4.329,3.741-6.331
+ c1.528-1.879,3.128-3.279,4.797-4.2c1.67-0.92,3.269-1.38,4.798-1.38c1.81,0,3.278,0.561,4.405,1.68
+ c1.127,1.12,1.69,2.561,1.69,4.32c0,2.96-1.4,5.321-4.2,7.081c-2.8,1.761-6.96,2.86-12.479,3.3
+ C122.204,50.647,122.144,51.508,122.144,51.947z M132.074,44.807c2.22-1.879,3.33-4.199,3.33-6.959c0-1.12-0.27-2.02-0.81-2.7
+ c-0.54-0.68-1.271-1.02-2.19-1.02c-0.921,0-1.851,0.3-2.79,0.9c-0.94,0.6-1.851,1.491-2.73,2.67c-0.88,1.18-1.71,2.631-2.49,4.35
+ c-0.78,1.721-1.431,3.681-1.95,5.88C126.644,47.728,129.854,46.688,132.074,44.807z"/>
+ <path fill="#101111" d="M150.043,34.307h4.38c0.279,0,0.42,0.12,0.42,0.36c0,0.72-0.24,1.08-0.72,1.08h-4.38l-3.24,12.18
+ c-0.6,2.28-1.08,4.131-1.44,5.55c-0.36,1.421-0.54,2.431-0.54,3.03c0,0.4,0.09,0.72,0.27,0.96c0.18,0.24,0.369,0.36,0.57,0.36
+ c0.56,0,1.52-1.04,2.88-3.12c0.56-0.84,0.91-1.489,1.05-1.95c0.14-0.459,0.35-0.689,0.63-0.689c0.32,0,0.48,0.2,0.48,0.6
+ c0,0.6-0.681,1.9-2.04,3.9c-1.041,1.56-2.061,2.74-3.06,3.54c-1,0.799-1.84,1.199-2.52,1.199c-0.6,0-1.09-0.27-1.47-0.81
+ c-0.381-0.54-0.57-1.29-0.57-2.25c0-1.959,0.76-5.619,2.28-10.98l3.24-11.52h-3.66c-0.12,0-0.221-0.04-0.3-0.12
+ c-0.081-0.08-0.12-0.159-0.12-0.24c0-0.72,0.24-1.08,0.72-1.08h3.78l1.5-5.64c0.159-0.56,0.41-0.919,0.75-1.08
+ c0.339-0.159,0.89-0.24,1.65-0.24c0.799,0,1.2,0.201,1.2,0.6c0,0.16-0.1,0.6-0.3,1.32L150.043,34.307z"/>
+ <path fill="#101111" d="M161.383,50.17c2.28-5.588,4.329-9.758,6.15-12.512c1.82-2.754,3.57-4.132,5.25-4.132
+ c0.68,0,1.27,0.27,1.77,0.808c0.5,0.539,0.75,1.268,0.75,2.186c0,0.999-0.24,1.817-0.72,2.455c-0.48,0.639-1.02,0.958-1.62,0.958
+ c-0.48,0-0.87-0.149-1.17-0.449c-0.3-0.299-0.45-0.729-0.45-1.287c0-0.439-0.101-0.788-0.3-1.047
+ c-0.201-0.259-0.42-0.389-0.66-0.389c-0.681,0-1.93,1.557-3.75,4.67c-1.821,3.113-3.951,7.823-6.39,14.129
+ c-0.44,1.157-0.771,2.075-0.99,2.754c-0.221,0.679-0.42,1.197-0.6,1.557c-0.18,0.359-0.39,0.59-0.63,0.688
+ c-0.24,0.1-0.621,0.149-1.14,0.149c-0.96,0-1.44-0.239-1.44-0.718c0-0.08,0.06-0.34,0.18-0.778l4.44-16.879
+ c0.28-1.076,0.5-2.014,0.66-2.812c0.16-0.798,0.24-1.477,0.24-2.035c0-0.758-0.3-1.137-0.9-1.137c-0.52,0-1.041,0.28-1.56,0.84
+ c-0.521,0.561-1.011,1.17-1.47,1.83c-0.46,0.66-0.88,1.26-1.26,1.8c-0.381,0.54-0.651,0.81-0.81,0.81c-0.28,0-0.42-0.199-0.42-0.6
+ c0-0.16,0.199-0.6,0.6-1.32c0.399-0.72,1.06-1.62,1.98-2.7c2.16-2.559,3.98-3.84,5.46-3.84c0.6,0,1.08,0.229,1.44,0.689
+ c0.36,0.459,0.54,1.147,0.54,2.065c0,0.319-0.06,0.978-0.18,1.975c-0.12,0.999-0.36,2.195-0.72,3.593L161.383,50.17z"/>
+ <path fill="#101111" d="M179.802,55.007c-0.36,1.2-0.54,1.98-0.54,2.34c0,0.841,0.279,1.261,0.84,1.261c1,0,2.08-1.021,3.24-3.061
+ c0.639-1.08,1.069-1.869,1.29-2.37c0.219-0.499,0.41-0.75,0.57-0.75c0.279,0,0.42,0.141,0.42,0.42c0,0.681-0.801,2.241-2.4,4.681
+ c-0.921,1.4-1.84,2.45-2.76,3.149c-0.92,0.699-1.78,1.05-2.58,1.05c-1.601,0-2.4-1-2.4-3c0-1.039,0.22-2.329,0.66-3.869
+ c0.439-1.54,1.04-3.391,1.8-5.551l2.46-7.199c0.36-1.08,0.66-2.01,0.9-2.791c0.24-0.78,0.36-1.449,0.36-2.01
+ c0-0.44-0.051-0.759-0.15-0.96c-0.101-0.2-0.33-0.3-0.69-0.3c-0.48,0-0.96,0.25-1.44,0.75c-0.48,0.501-0.93,1.061-1.35,1.68
+ c-0.42,0.621-0.801,1.18-1.14,1.68c-0.34,0.501-0.591,0.75-0.75,0.75c-0.201,0-0.3-0.181-0.3-0.54c0-0.16,0.159-0.54,0.48-1.14
+ c0.319-0.6,0.84-1.359,1.56-2.28c2.04-2.56,3.84-3.84,5.4-3.84c0.68,0,1.22,0.22,1.62,0.66c0.399,0.44,0.6,1.06,0.6,1.86
+ c0,0.84-0.141,1.761-0.42,2.76c-0.28,1-0.621,2.099-1.02,3.3L179.802,55.007z M184.872,23.837c0.58-0.819,1.23-1.23,1.95-1.23
+ c0.519,0,0.939,0.201,1.26,0.6c0.32,0.4,0.48,0.92,0.48,1.56c0,1.161-0.28,2.16-0.84,3c-0.561,0.84-1.2,1.26-1.92,1.26
+ c-0.561,0-1-0.219-1.32-0.66c-0.32-0.44-0.48-1.06-0.48-1.86C184.002,25.547,184.292,24.657,184.872,23.837z"/>
+ <path fill="#101111" d="M209.082,33.917c0.919,0.581,1.38,1.41,1.38,2.49c0,0.4-0.16,0.78-0.48,1.14
+ c-0.321,0.36-0.76,0.54-1.32,0.54c-0.681,0-1.251-0.18-1.71-0.54c-0.46-0.36-0.88-0.75-1.26-1.17c-0.38-0.42-0.741-0.81-1.08-1.17
+ c-0.34-0.36-0.73-0.54-1.17-0.54c-0.88,0-1.87,0.4-2.97,1.2c-1.101,0.8-2.14,1.911-3.12,3.33c-0.981,1.42-1.811,3.13-2.49,5.13
+ c-0.681,2.001-1.02,4.2-1.02,6.6c0,2.561,0.51,4.521,1.53,5.88c1.02,1.36,2.45,2.04,4.29,2.04c1.879,0,3.9-1.199,6.06-3.6
+ c0.64-0.72,1.05-1.32,1.23-1.8c0.18-0.48,0.45-0.721,0.81-0.721c0.28,0,0.42,0.201,0.42,0.601c0,0.32-0.21,0.84-0.63,1.56
+ c-0.42,0.721-1.07,1.581-1.95,2.58c-1.281,1.48-2.571,2.591-3.87,3.33c-1.3,0.74-2.65,1.11-4.05,1.11
+ c-1.161,0-2.23-0.251-3.21-0.75c-0.98-0.5-1.84-1.2-2.58-2.101c-0.741-0.899-1.32-1.989-1.74-3.27c-0.42-1.279-0.63-2.7-0.63-4.26
+ c0-2.199,0.439-4.41,1.32-6.63c0.879-2.221,2.18-4.25,3.9-6.09c1.68-2.04,3.47-3.51,5.37-4.41c1.899-0.9,3.63-1.35,5.19-1.35
+ C206.901,33.047,208.161,33.338,209.082,33.917z"/>
+ <path fill="#101111" d="M222.342,46.901c0.96,1.206,1.72,2.34,2.28,3.405c0.56,1.064,0.84,2.2,0.84,3.404
+ c0,1.086-0.23,2.11-0.69,3.074s-1.06,1.808-1.8,2.531s-1.61,1.307-2.61,1.748c-1,0.441-2.04,0.662-3.12,0.662
+ c-0.84,0-1.68-0.11-2.52-0.329c-0.84-0.221-1.6-0.511-2.28-0.87c-0.68-0.36-1.23-0.76-1.65-1.2c-0.42-0.439-0.63-0.859-0.63-1.26
+ c0-1.28,0.13-2.271,0.39-2.971c0.261-0.699,0.57-1.05,0.93-1.05c0.24,0,0.44,0.09,0.6,0.271c0.159,0.18,0.309,0.42,0.45,0.72
+ c0.14,0.3,0.27,0.62,0.39,0.96s0.279,0.69,0.48,1.05c0.64,1.161,1.359,2.021,2.16,2.58c0.8,0.561,1.659,0.84,2.58,0.84
+ c1.119,0,2.079-0.47,2.88-1.41c0.8-0.939,1.2-2.089,1.2-3.449c0-0.92-0.19-1.771-0.57-2.551c-0.38-0.779-0.91-1.59-1.59-2.43
+ l-2.52-3.06c-0.96-1.16-1.701-2.26-2.22-3.301c-0.52-1.039-0.78-2.079-0.78-3.119c0-1,0.21-1.98,0.63-2.94s0.979-1.81,1.68-2.55
+ c0.699-0.74,1.509-1.33,2.43-1.77c0.92-0.44,1.899-0.66,2.94-0.66c0.76,0,1.51,0.074,2.25,0.222s1.41,0.351,2.01,0.609
+ c0.601,0.259,1.08,0.575,1.44,0.948c0.36,0.374,0.54,0.781,0.54,1.221c0,1.92-0.381,2.88-1.14,2.88c-0.321,0-0.681-0.229-1.08-0.69
+ c-0.4-0.459-0.87-0.969-1.41-1.53c-0.54-0.56-1.14-1.07-1.8-1.53c-0.66-0.459-1.41-0.69-2.25-0.69c-0.92,0-1.73,0.372-2.43,1.116
+ c-0.701,0.743-1.05,1.677-1.05,2.802c0,0.724,0.16,1.417,0.48,2.079c0.32,0.663,0.78,1.375,1.38,2.139L222.342,46.901z"/>
+ <path fill="#101111" d="M259.182,31.007c-0.12,0.521-0.4,0.78-0.84,0.78c-0.48,0-0.721-0.42-0.721-1.26
+ c0-0.36,0.021-0.789,0.061-1.29c0.039-0.5,0.06-1.089,0.06-1.77c0-1.479-0.13-2.499-0.39-3.06c-0.261-0.56-0.971-0.84-2.13-0.84
+ c-1.721,0-3.641,0.42-5.76,1.26c-2.121,0.84-4.121,2.1-6,3.78c-2.801,2.52-4.941,5.43-6.42,8.73c-1.48,3.3-2.221,6.771-2.221,10.41
+ c0,3.921,0.88,6.971,2.641,9.15c1.76,2.181,4.159,3.27,7.199,3.27c1.2,0,2.229-0.12,3.091-0.36c0.859-0.239,1.569-0.639,2.13-1.199
+ c0.439-1.44,0.77-2.68,0.989-3.721c0.22-1.039,0.391-1.839,0.511-2.399l0.899-4.561c0.12-0.759,0.181-1.2,0.181-1.319
+ c0-1.04-0.42-1.681-1.261-1.92c-0.28-0.08-0.561-0.12-0.84-0.12c-0.28,0-0.54-0.01-0.78-0.03c-0.239-0.02-0.44-0.08-0.6-0.18
+ c-0.16-0.1-0.24-0.29-0.24-0.57c0-0.48,0.36-0.72,1.08-0.72c0.56,0,1.26,0.04,2.101,0.12c0.84,0.08,1.819,0.119,2.939,0.119
+ c1.16,0,2.12-0.06,2.88-0.18s1.32-0.18,1.681-0.18c0.479,0,0.72,0.2,0.72,0.6c0,0.32-0.081,0.531-0.24,0.63
+ c-0.16,0.101-0.37,0.181-0.63,0.24c-0.261,0.06-0.54,0.12-0.84,0.18c-0.3,0.061-0.591,0.19-0.87,0.391c-0.48,0.4-0.87,1-1.17,1.8
+ c-0.3,0.801-0.591,1.881-0.87,3.24l-0.66,3.359c-0.12,0.641-0.28,1.44-0.479,2.4c-0.201,0.96-0.36,2.141-0.48,3.54
+ c-2.8,1.72-5.961,2.58-9.479,2.58c-2.081,0-3.99-0.351-5.73-1.05c-1.74-0.7-3.24-1.689-4.5-2.971
+ c-1.26-1.279-2.24-2.819-2.939-4.62c-0.701-1.8-1.051-3.779-1.051-5.939c0-3.92,0.9-7.55,2.7-10.89c1.8-3.339,4.46-6.33,7.98-8.97
+ c2.6-1.92,5.399-3.369,8.399-4.35c3-0.98,5.9-1.47,8.7-1.47c2,0,3,0.4,3,1.2c0,0.201-0.021,0.34-0.06,0.42L259.182,31.007z"/>
+ <path fill="#101111" d="M268.721,50.17c2.28-5.588,4.329-9.758,6.15-12.512c1.819-2.754,3.569-4.132,5.25-4.132
+ c0.68,0,1.269,0.27,1.77,0.808c0.5,0.539,0.75,1.268,0.75,2.186c0,0.999-0.24,1.817-0.72,2.455c-0.48,0.639-1.021,0.958-1.62,0.958
+ c-0.48,0-0.87-0.149-1.17-0.449c-0.3-0.299-0.45-0.729-0.45-1.287c0-0.439-0.101-0.788-0.3-1.047
+ c-0.201-0.259-0.42-0.389-0.66-0.389c-0.681,0-1.931,1.557-3.75,4.67c-1.82,3.113-3.951,7.823-6.39,14.129
+ c-0.441,1.157-0.771,2.075-0.99,2.754c-0.221,0.679-0.42,1.197-0.601,1.557c-0.18,0.359-0.39,0.59-0.63,0.688
+ c-0.239,0.1-0.62,0.149-1.14,0.149c-0.96,0-1.44-0.239-1.44-0.718c0-0.08,0.061-0.34,0.181-0.778l4.439-16.879
+ c0.279-1.076,0.5-2.014,0.66-2.812c0.159-0.798,0.24-1.477,0.24-2.035c0-0.758-0.3-1.137-0.9-1.137c-0.521,0-1.04,0.28-1.56,0.84
+ c-0.521,0.561-1.011,1.17-1.47,1.83c-0.461,0.66-0.881,1.26-1.261,1.8s-0.65,0.81-0.81,0.81c-0.28,0-0.42-0.199-0.42-0.6
+ c0-0.16,0.199-0.6,0.6-1.32c0.399-0.72,1.06-1.62,1.98-2.7c2.16-2.559,3.979-3.84,5.46-3.84c0.6,0,1.08,0.229,1.439,0.689
+ c0.36,0.459,0.54,1.147,0.54,2.065c0,0.319-0.06,0.978-0.18,1.975c-0.12,0.999-0.36,2.195-0.72,3.593L268.721,50.17z"/>
+ <path fill="#101111" d="M302.141,53.207c-0.24,0.84-0.4,1.521-0.48,2.04c-0.08,0.521-0.12,0.86-0.12,1.02
+ c0,0.841,0.22,1.261,0.66,1.261c0.68,0,1.62-0.84,2.82-2.521c0.52-0.72,0.859-1.279,1.02-1.68c0.16-0.399,0.399-0.601,0.721-0.601
+ c0.199,0,0.3,0.141,0.3,0.421c0,0.84-0.641,2.159-1.92,3.96c-2.2,3.2-4.141,4.8-5.82,4.8c-1.28,0-1.92-0.86-1.92-2.58
+ c0-0.999,0.13-2.03,0.39-3.09s0.55-2.17,0.87-3.33l1.801-6.66c-3,5.16-5.641,9.04-7.921,11.64c-2.279,2.601-4.42,3.9-6.42,3.9
+ c-1.479,0-2.66-0.561-3.54-1.68c-0.879-1.12-1.319-2.74-1.319-4.86c0-2.199,0.51-4.539,1.529-7.021
+ c1.021-2.479,2.59-5.039,4.71-7.68c2-2.52,4.051-4.389,6.15-5.61c2.1-1.22,3.95-1.83,5.55-1.83c1.08,0,1.95,0.21,2.61,0.63
+ c0.66,0.42,1.13,0.63,1.41,0.63c0.159,0,0.31-0.09,0.45-0.27c0.14-0.18,0.309-0.38,0.51-0.6c0.199-0.219,0.45-0.42,0.75-0.6
+ s0.669-0.27,1.109-0.27c0.561,0,0.939,0.051,1.141,0.15c0.199,0.101,0.3,0.371,0.3,0.81c0,0.28-0.101,0.72-0.3,1.32L302.141,53.207
+ z M294.671,36.557c-1.821,1.5-3.631,3.81-5.431,6.93c-1.4,2.44-2.44,4.649-3.12,6.63c-0.681,1.979-1.02,3.65-1.02,5.01
+ c0,1.161,0.26,2.04,0.78,2.64c0.519,0.601,1.179,0.9,1.979,0.9c1.119,0,2.35-0.669,3.69-2.01c1.34-1.34,2.91-3.33,4.71-5.97
+ c4.2-6.16,6.3-10.4,6.3-12.721c0-1.16-0.3-2.06-0.9-2.7c-0.6-0.64-1.439-0.96-2.52-0.96
+ C297.979,34.307,296.49,35.057,294.671,36.557z"/>
+ <path fill="#101111" d="M320.08,33.827c0.8-0.2,1.569-0.35,2.31-0.45c0.74-0.099,1.45-0.15,2.131-0.15c2.76,0,4.89,0.801,6.39,2.4
+ c1.5,1.601,2.25,3.9,2.25,6.9c0,2.279-0.411,4.58-1.23,6.899c-0.82,2.32-2.01,4.5-3.569,6.54c-2.961,3.801-6,5.7-9.12,5.7
+ c-1.041,0-1.971-0.21-2.79-0.63c-0.82-0.42-1.631-1.069-2.43-1.95l-2.101,10.32c-0.08,0.399-0.12,0.739-0.12,1.02
+ c0,0.601,0.181,1.029,0.54,1.29c0.36,0.26,0.77,0.46,1.23,0.601c0.459,0.14,0.87,0.26,1.229,0.359c0.36,0.1,0.54,0.29,0.54,0.57
+ c0,0.439-0.22,0.66-0.66,0.66s-1.18-0.07-2.22-0.21c-1.04-0.141-2.359-0.21-3.96-0.21c-1.119,0-2.04,0.069-2.76,0.21
+ c-0.72,0.14-1.28,0.21-1.68,0.21c-0.68,0-1.021-0.16-1.021-0.48c0-0.44,0.25-0.7,0.75-0.779c0.501-0.081,1.17-0.28,2.01-0.601
+ c0.48-0.2,0.851-0.39,1.11-0.57c0.261-0.18,0.471-0.399,0.63-0.659c0.16-0.261,0.291-0.591,0.39-0.99
+ c0.101-0.4,0.231-0.921,0.391-1.561l7.68-31.68c-0.921,0.48-1.641,0.87-2.16,1.17c-0.521,0.3-0.88,0.45-1.08,0.45
+ c-0.32,0-0.479-0.1-0.479-0.3c0-0.52,0.339-0.99,1.02-1.41c0.68-0.42,1.72-0.909,3.12-1.47l1.32-5.76c0.12-0.48,0.26-0.78,0.42-0.9
+ c0.159-0.12,0.439-0.18,0.84-0.18h0.78c0.56,0,0.949,0.01,1.17,0.03c0.22,0.021,0.33,0.13,0.33,0.33v0.24
+ c0,0.12-0.04,0.28-0.12,0.48L320.08,33.827z M315.28,53.837c-0.16,0.844-0.24,1.608-0.24,2.29c0,1.287,0.33,2.292,0.99,3.016
+ s1.55,1.084,2.67,1.084c2.84,0,5.199-1.828,7.08-5.485c1.359-2.612,2.359-5.094,3-7.445c0.64-2.351,0.96-4.33,0.96-5.938
+ c0-2.09-0.54-3.698-1.62-4.823s-2.64-1.688-4.68-1.688c-0.96,0-2.2,0.221-3.721,0.663l-3.779,15.373
+ C315.66,52.008,315.439,52.993,315.28,53.837z"/>
+ <path fill="#101111" d="M341.499,46.907c2.36-4.6,4.53-8.03,6.51-10.29c1.98-2.26,3.931-3.39,5.851-3.39
+ c1.479,0,2.68,0.648,3.6,1.941c0.92,1.294,1.38,3.136,1.38,5.525c0,2.15-0.359,4.46-1.08,6.928c-0.72,2.47-1.739,4.799-3.06,6.988
+ c-1.4,2.27-2.87,3.994-4.41,5.172c-1.54,1.176-2.91,1.766-4.109,1.766c-1.001,0-1.78-0.25-2.341-0.75s-0.84-1.169-0.84-2.007
+ c0-0.597,0.159-1.074,0.48-1.433c0.319-0.358,0.699-0.538,1.14-0.538c0.36,0,0.66,0.14,0.9,0.418
+ c0.239,0.279,0.459,0.588,0.66,0.927c0.199,0.338,0.429,0.646,0.689,0.925c0.26,0.279,0.609,0.418,1.05,0.418
+ c0.8,0,1.51-0.457,2.13-1.372s1.311-2.309,2.07-4.18c0.56-1.353,1.04-2.696,1.44-4.029c0.399-1.333,0.72-2.606,0.96-3.82
+ c0.239-1.213,0.42-2.328,0.54-3.343s0.18-1.86,0.18-2.537c0-1.393-0.25-2.448-0.75-3.164c-0.501-0.716-1.15-1.075-1.95-1.075
+ c-1.601,0-3.471,1.38-5.609,4.14c-2.141,2.76-4.211,6.72-6.21,11.88c-1.041,2.76-1.771,4.821-2.19,6.181s-0.67,2.1-0.75,2.22
+ c-0.2,0.359-0.761,0.54-1.68,0.54c-0.44,0-0.75-0.051-0.931-0.15c-0.18-0.1-0.27-0.369-0.27-0.81c0-0.2,0.06-0.54,0.18-1.021
+ l8.7-33.84c0.279-1.08,0.42-1.86,0.42-2.34c0-0.279-0.12-0.53-0.36-0.75c-0.239-0.219-0.58-0.33-1.02-0.33
+ c-0.12,0-0.23,0.01-0.33,0.03c-0.101,0.021-0.21,0.03-0.33,0.03c-0.641,0-0.96-0.2-0.96-0.6c0-0.24,0.09-0.41,0.271-0.51
+ c0.18-0.1,0.42-0.17,0.72-0.21c0.3-0.04,0.669-0.07,1.109-0.09c0.44-0.02,0.92-0.09,1.44-0.21c1.08-0.2,1.86-0.5,2.34-0.9
+ c0.48-0.399,0.9-0.6,1.26-0.6c0.2,0,0.301,0.16,0.301,0.48c0,0.041-0.011,0.111-0.03,0.21c-0.021,0.101-0.051,0.25-0.09,0.45
+ L341.499,46.907z"/>
+ <path fill="#101111" d="M366.579,55.007c-0.36,1.2-0.54,1.98-0.54,2.34c0,0.841,0.279,1.261,0.84,1.261
+ c0.999,0,2.079-1.021,3.24-3.061c0.64-1.08,1.069-1.869,1.29-2.37c0.219-0.499,0.409-0.75,0.569-0.75
+ c0.28,0,0.421,0.141,0.421,0.42c0,0.681-0.801,2.241-2.4,4.681c-0.921,1.4-1.841,2.45-2.76,3.149c-0.921,0.699-1.78,1.05-2.58,1.05
+ c-1.601,0-2.4-1-2.4-3c0-1.039,0.22-2.329,0.66-3.869c0.439-1.54,1.04-3.391,1.8-5.551l2.46-7.199c0.36-1.08,0.66-2.01,0.9-2.791
+ c0.24-0.78,0.359-1.449,0.359-2.01c0-0.44-0.05-0.759-0.149-0.96c-0.101-0.2-0.33-0.3-0.69-0.3c-0.479,0-0.96,0.25-1.439,0.75
+ c-0.48,0.501-0.931,1.061-1.351,1.68c-0.42,0.621-0.8,1.18-1.14,1.68c-0.34,0.501-0.591,0.75-0.75,0.75c-0.2,0-0.3-0.181-0.3-0.54
+ c0-0.16,0.159-0.54,0.479-1.14s0.84-1.359,1.561-2.28c2.04-2.56,3.84-3.84,5.399-3.84c0.68,0,1.22,0.22,1.62,0.66
+ c0.399,0.44,0.601,1.06,0.601,1.86c0,0.84-0.141,1.761-0.42,2.76c-0.28,1-0.621,2.099-1.021,3.3L366.579,55.007z M371.649,23.837
+ c0.579-0.819,1.229-1.23,1.949-1.23c0.52,0,0.939,0.201,1.261,0.6c0.319,0.4,0.479,0.92,0.479,1.56c0,1.161-0.28,2.16-0.84,3
+ c-0.561,0.84-1.2,1.26-1.92,1.26c-0.561,0-1-0.219-1.32-0.66c-0.32-0.44-0.479-1.06-0.479-1.86
+ C370.779,25.547,371.068,24.657,371.649,23.837z"/>
+ <path fill="#101111" d="M395.858,33.917c0.92,0.581,1.38,1.41,1.38,2.49c0,0.4-0.16,0.78-0.48,1.14
+ c-0.32,0.36-0.76,0.54-1.319,0.54c-0.681,0-1.251-0.18-1.71-0.54c-0.461-0.36-0.881-0.75-1.26-1.17
+ c-0.381-0.42-0.741-0.81-1.08-1.17c-0.341-0.36-0.73-0.54-1.17-0.54c-0.881,0-1.871,0.4-2.971,1.2c-1.101,0.8-2.14,1.911-3.12,3.33
+ c-0.98,1.42-1.81,3.13-2.489,5.13c-0.681,2.001-1.021,4.2-1.021,6.6c0,2.561,0.51,4.521,1.53,5.88c1.02,1.36,2.449,2.04,4.29,2.04
+ c1.88,0,3.899-1.199,6.06-3.6c0.64-0.72,1.05-1.32,1.23-1.8c0.18-0.48,0.45-0.721,0.81-0.721c0.279,0,0.42,0.201,0.42,0.601
+ c0,0.32-0.21,0.84-0.63,1.56c-0.42,0.721-1.07,1.581-1.95,2.58c-1.28,1.48-2.57,2.591-3.87,3.33c-1.3,0.74-2.649,1.11-4.05,1.11
+ c-1.16,0-2.23-0.251-3.21-0.75c-0.98-0.5-1.84-1.2-2.58-2.101c-0.74-0.899-1.319-1.989-1.739-3.27
+ c-0.421-1.279-0.631-2.7-0.631-4.26c0-2.199,0.44-4.41,1.32-6.63c0.88-2.221,2.18-4.25,3.9-6.09c1.68-2.04,3.47-3.51,5.37-4.41
+ c1.899-0.9,3.63-1.35,5.189-1.35C393.678,33.047,394.938,33.338,395.858,33.917z"/>
+ <path fill="#101111" d="M409.118,46.901c0.96,1.206,1.72,2.34,2.28,3.405c0.56,1.064,0.84,2.2,0.84,3.404
+ c0,1.086-0.23,2.11-0.69,3.074s-1.06,1.808-1.8,2.531s-1.61,1.307-2.609,1.748c-1.001,0.441-2.04,0.662-3.12,0.662
+ c-0.84,0-1.681-0.11-2.521-0.329c-0.84-0.221-1.6-0.511-2.279-0.87c-0.68-0.36-1.23-0.76-1.65-1.2
+ c-0.42-0.439-0.63-0.859-0.63-1.26c0-1.28,0.13-2.271,0.39-2.971c0.261-0.699,0.57-1.05,0.93-1.05c0.24,0,0.441,0.09,0.601,0.271
+ c0.159,0.18,0.31,0.42,0.45,0.72c0.14,0.3,0.27,0.62,0.39,0.96s0.279,0.69,0.48,1.05c0.639,1.161,1.359,2.021,2.159,2.58
+ c0.8,0.561,1.66,0.84,2.58,0.84c1.12,0,2.08-0.47,2.88-1.41c0.8-0.939,1.2-2.089,1.2-3.449c0-0.92-0.19-1.771-0.569-2.551
+ c-0.381-0.779-0.911-1.59-1.591-2.43l-2.52-3.06c-0.96-1.16-1.701-2.26-2.22-3.301c-0.521-1.039-0.78-2.079-0.78-3.119
+ c0-1,0.21-1.98,0.63-2.94s0.979-1.81,1.68-2.55c0.7-0.74,1.51-1.33,2.431-1.77c0.919-0.44,1.899-0.66,2.939-0.66
+ c0.76,0,1.51,0.074,2.25,0.222s1.41,0.351,2.01,0.609c0.601,0.259,1.08,0.575,1.44,0.948c0.36,0.374,0.54,0.781,0.54,1.221
+ c0,1.92-0.381,2.88-1.14,2.88c-0.321,0-0.681-0.229-1.08-0.69c-0.4-0.459-0.87-0.969-1.41-1.53c-0.54-0.56-1.14-1.07-1.8-1.53
+ c-0.66-0.459-1.41-0.69-2.25-0.69c-0.921,0-1.73,0.372-2.431,1.116c-0.7,0.743-1.05,1.677-1.05,2.802
+ c0,0.724,0.159,1.417,0.48,2.079c0.319,0.663,0.779,1.375,1.38,2.139L409.118,46.901z"/>
+ <path fill="#101111" d="M416.708,56.717c0.459-0.619,1.01-0.93,1.649-0.93c1.12,0,1.681,0.78,1.681,2.34
+ c0,0.801-0.23,1.54-0.69,2.22s-1.011,1.021-1.649,1.021c-1.121,0-1.681-0.78-1.681-2.34
+ C416.018,58.107,416.248,57.338,416.708,56.717z"/>
+ <path fill="#101111" d="M431.678,61.188c-0.6,2.279-1.311,4.249-2.13,5.909c-0.82,1.66-1.68,3.05-2.58,4.17
+ c-0.899,1.12-1.83,1.95-2.79,2.49s-1.88,0.811-2.76,0.811c-1.239,0-2.27-0.36-3.09-1.08c-0.819-0.721-1.23-1.541-1.23-2.46
+ c0-0.641,0.181-1.141,0.54-1.5c0.36-0.36,0.761-0.54,1.2-0.54c0.48,0,0.87,0.199,1.17,0.6c0.3,0.399,0.58,0.84,0.84,1.32
+ c0.261,0.479,0.521,0.92,0.78,1.319c0.261,0.399,0.61,0.601,1.05,0.601c0.601,0,1.141-0.341,1.62-1.021
+ c0.48-0.681,0.971-1.739,1.47-3.18c0.501-1.439,1.041-3.261,1.62-5.46c0.579-2.2,1.29-4.819,2.13-7.86l4.32-15.959
+ c0.199-0.68,0.33-1.24,0.39-1.68c0.061-0.439,0.091-0.72,0.091-0.84c0-0.44-0.281-0.66-0.841-0.66c-0.4,0-0.82,0.25-1.26,0.75
+ c-0.44,0.5-0.87,1.041-1.29,1.62c-0.42,0.58-0.801,1.12-1.14,1.62c-0.341,0.501-0.591,0.75-0.75,0.75c-0.24,0-0.36-0.181-0.36-0.54
+ c0-0.16,0.17-0.54,0.51-1.14s0.87-1.359,1.591-2.28c1.039-1.28,1.989-2.24,2.85-2.88c0.859-0.639,1.71-0.96,2.55-0.96
+ c0.601,0,1.1,0.201,1.5,0.6c0.399,0.4,0.601,0.98,0.601,1.74c0,0.44-0.051,0.93-0.15,1.47c-0.101,0.54-0.25,1.15-0.45,1.83
+ L431.678,61.188z M437.738,23.837c0.56-0.819,1.199-1.23,1.92-1.23c0.52,0,0.939,0.201,1.26,0.6c0.319,0.4,0.479,0.92,0.479,1.56
+ c0,1.161-0.27,2.16-0.81,3s-1.17,1.26-1.89,1.26c-0.561,0-1.001-0.219-1.32-0.66c-0.32-0.44-0.48-1.06-0.48-1.86
+ C436.897,25.547,437.178,24.657,437.738,23.837z"/>
+ <path fill="#101111" d="M451.417,46.901c0.96,1.206,1.72,2.34,2.28,3.405c0.56,1.064,0.84,2.2,0.84,3.404
+ c0,1.086-0.23,2.11-0.69,3.074s-1.06,1.808-1.8,2.531s-1.61,1.307-2.609,1.748c-1.001,0.441-2.04,0.662-3.12,0.662
+ c-0.84,0-1.681-0.11-2.521-0.329c-0.84-0.221-1.6-0.511-2.279-0.87c-0.68-0.36-1.23-0.76-1.65-1.2
+ c-0.42-0.439-0.63-0.859-0.63-1.26c0-1.28,0.13-2.271,0.39-2.971c0.261-0.699,0.57-1.05,0.93-1.05c0.24,0,0.441,0.09,0.601,0.271
+ c0.159,0.18,0.31,0.42,0.45,0.72c0.14,0.3,0.27,0.62,0.39,0.96s0.279,0.69,0.48,1.05c0.639,1.161,1.359,2.021,2.159,2.58
+ c0.8,0.561,1.66,0.84,2.58,0.84c1.12,0,2.08-0.47,2.88-1.41c0.8-0.939,1.2-2.089,1.2-3.449c0-0.92-0.19-1.771-0.569-2.551
+ c-0.381-0.779-0.911-1.59-1.591-2.43l-2.52-3.06c-0.96-1.16-1.701-2.26-2.22-3.301c-0.521-1.039-0.78-2.079-0.78-3.119
+ c0-1,0.21-1.98,0.63-2.94s0.979-1.81,1.68-2.55c0.7-0.74,1.51-1.33,2.431-1.77c0.919-0.44,1.899-0.66,2.939-0.66
+ c0.76,0,1.51,0.074,2.25,0.222s1.41,0.351,2.01,0.609c0.601,0.259,1.08,0.575,1.44,0.948c0.36,0.374,0.54,0.781,0.54,1.221
+ c0,1.92-0.381,2.88-1.14,2.88c-0.321,0-0.681-0.229-1.08-0.69c-0.4-0.459-0.87-0.969-1.41-1.53c-0.54-0.56-1.14-1.07-1.8-1.53
+ c-0.66-0.459-1.41-0.69-2.25-0.69c-0.921,0-1.73,0.372-2.431,1.116c-0.7,0.743-1.05,1.677-1.05,2.802
+ c0,0.724,0.159,1.417,0.48,2.079c0.319,0.663,0.779,1.375,1.38,2.139L451.417,46.901z"/>
+</g>
+<g>
+ <path fill="#101111" d="M3.802,51.254V24.525c0-0.928,0.267-1.775,0.8-2.541s1.241-1.311,2.123-1.636l24.502-8.91
+ c0.51-0.186,1.021-0.279,1.531-0.279c0.51,0,1.021,0.093,1.531,0.279l24.501,8.91c0.882,0.325,1.589,0.87,2.123,1.636
+ s0.801,1.613,0.801,2.541v26.729c0,0.812-0.209,1.566-0.626,2.263c-0.418,0.696-0.987,1.241-1.706,1.636L34.882,68.517
+ c-0.65,0.371-1.357,0.558-2.123,0.558s-1.474-0.187-2.123-0.558L6.134,55.152c-0.72-0.395-1.288-0.939-1.706-1.636
+ S3.802,52.066,3.802,51.254z M8.466,24.456l24.293,8.84l24.292-8.84l-24.292-8.84L8.466,24.456z M34.986,63.4L57.26,51.254V29.12
+ l-22.274,8.109V63.4z"/>
+</g>
+<g>
+</g>
+<g>
+</g>
+<g>
+</g>
+<g>
+</g>
+<g>
+</g>
+<g>
+</g>
+<g>
+</g>
+<g>
+</g>
+<g>
+</g>
+<g>
+</g>
+<g>
+</g>
+<g>
+</g>
+<g>
+</g>
+<g>
+</g>
+<g>
+</g>
+</svg>
diff --git a/priv/static/metrics-graphics-3.0-alpha3/examples/index.htm b/priv/static/metrics-graphics-3.0-alpha3/examples/index.htm
new file mode 100644
index 0000000..e4c1ed0
--- /dev/null
+++ b/priv/static/metrics-graphics-3.0-alpha3/examples/index.htm
@@ -0,0 +1,269 @@
+<html lang='en'>
+<head>
+ <meta content='text/html; charset=utf-8' http-equiv='Content-Type'>
+
+ <title>MetricsGraphics.js - a library based on D3.js, optimized for visualizing and laying out time-series data</title>
+
+ <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,300,700' rel='stylesheet' type='text/css'>
+ <link href='https://fonts.googleapis.com/css?family=PT+Serif:400,700,400italic' rel='stylesheet' type='text/css'>
+ <link href='https://netdna.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.css' rel='stylesheet' type='text/css'>
+ <link href='https://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css' rel='stylesheet' type='text/css'>
+
+ <link href='metricsgraphics.css' rel='stylesheet' type='text/css'>
+ <link href='css/metricsgraphics-demo.css' rel='stylesheet' type='text/css'>
+ <link href='css/highlightjs-default.css' rel='stylesheet' type='text/css'>
+
+ <script src='js/lib/highlight.pack.js'></script>
+ <script src='https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js'></script>
+ <script src='https://d3js.org/d3.v4.min.js' charset='utf-8'></script>
+ <script src='metricsgraphics.min.js'></script>
+
+ <script>
+ (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+ m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+ })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+ ga('create', 'UA-51487512-1', 'metricsgraphicsjs.org');
+ ga('send', 'pageview');
+ </script>
+</head>
+
+<body>
+ <a href="https://github.com/metrics-graphics/metrics-graphics"><img style="z-index: 2; position: absolute; top: 0; right: 0; border: 0;" src="https://camo.githubusercontent.com/38ef81f8aca64bb9a64448d0d70f1308ef5341ab/68747470733a2f2f73332e616d617a6f6e6177732e636f6d2f6769746875622f726962626f6e732f666f726b6d655f72696768745f6461726b626c75655f3132313632312e706e67" alt="Fork me on GitHub" data-canonical-src="https://s3.amazonaws.com/github/ribbons/forkme_right_darkblue_121621.png"></a>
+
+ <div class='container'>
+ <div id='content-body'>
+ <img src='images/logo.svg' id='logo' class='svg' />
+ <iframe src="https://ghbtns.com/github-btn.html?user=mozilla&repo=metrics-graphics&type=watch&count=true" allowtransparency="true" frameborder="0" scrolling="0" width="110" height="20" class='github-stars-top'></iframe>
+
+ <div id='description'>
+ <p><i>MetricsGraphics.js</i> is a library built on top of
+ <a href='http://d3js.org/'>D3</a> that is optimized for visualizing and
+ laying out time-series data. It provides a simple way to produce common types of
+ graphics in a principled, consistent and responsive way. The library
+ currently supports line charts, scatterplots, histograms, bar charts and data
+ tables as well as features like rug plots and basic linear regression.</p>
+ </div>
+
+ <div id='torso'>
+ <div class='thumb'><a href='https://github.com/metricsgraphics/metrics-graphics/releases'><i class="fa fa-download fa-4x"></i><br /><span class='text'>Download</span></a></div>
+ <div class='thumb'><a href='examples.htm'><i class="fa fa-area-chart fa-4x"></i><br /><span class='text'>Examples</span></a></div>
+ <div class='thumb'><a href='https://github.com/metricsgraphics/metrics-graphics'><i class="fa fa-github fa-4x"></i><br /><span class='text'>Github</span></a></div>
+ </div>
+ </div>
+ </div>
+
+ <div class='api-example'>
+ <div class='container'>
+
+<pre><code class='javascript'>MG.data_graphic({
+ title: "Downloads",
+ description: "This graphic shows a time-series of downloads.",
+ data: [{'date':new Date('2014-11-01'),'value':12},
+ {'date':new Date('2014-11-02'),'value':18}],
+ width: 600,
+ height: 250,
+ target: '#downloads',
+ x_accessor: 'date',
+ y_accessor: 'value',
+})</code></pre>
+
+ </div>
+ </div>
+
+ <div class='container'>
+ <p>The API is simple. All that's needed to create a graphic is to specify a few default parameters and then, if desired, override one or more of the <a href='https://github.com/metricsgraphics/metrics-graphics/wiki/List-of-Options'>optional parameters on offer</a>. We don't maintain state. To update a graphic, one would call <i>MG.data_graphic</i> on the same target element.</p>
+ <p>The library is data-source agnostic. While it provides a number of convenience functions and options that allow for graphics to better handle things like missing observations, it doesn't care where the data comes from.</p>
+ <p>The library makes it easy to construct narratives by providing a layout template based on Bootstrap. Take a look at <a href='examples.htm'>the examples</a> to see that in action.</p>
+ <p>MetricsGraphics.js <a href='https://www.youtube.com/watch?v=ZmkeAlut7KI#t=399'>takes the misery out of</a> creating beautiful interactive graphics. <a href='http://blog.mozilla.org/metrics/2014/11/10/introducing-metricsgraphics-js/'>Read our blog post for more details</a>.</p>
+
+ <h1>A bit about the library's design philosophy</h1>
+ <p>MetricsGraphics.js is an opinionated library that aims to take the mystery and complication out of presenting simple data. It offers only line charts, scatterplots, bar charts, histograms and data tables, while maintaining a wide variety of options for each, and elevates the layout and explanation of these graphics to the same level of priority as the graphics themselves. The emergent philosophy is one of efficiency and practicality - by following the standards embodied by the library, you will make beautiful, concise and impactful presentations and dashboards.</p>
+
+ <h1>Creating your first graphic</h1>
+ <p>Here's a quick tutorial to get you started. Say that we have some data on a scholarly topic like <a href='http://geocommons.com/overlays/134594'>UFO sightings</a>. We decide that we're interested in creating a line chart of yearly sightings.</p>
+ <p>We create a JSON file called <a href='data/ufo-sightings.json'>data/ufo-sightings.json</a> based on the original dataset, where we aggregate yearly sightings. The data doesn't have to be JSON of course, but that will mean less work later on.</p>
+ <p>The next thing we do is load the data:</p>
+
+<pre class='highbottom'><code class='javascript'>d3.json('data/ufo-sightings.json', function(data) {
+})</code></pre>
+
+ <p><i>MG.data_graphic</i> expects the data object to be an array of objects, which is already the case for us. That's good. It also needs dates to be timestamps if they're in a format like <i>yyyy-mm-dd</i>. We've got aggregated yearly data, so we don't need to worry about that. Otherwise, we'd add a line like this one.</p>
+
+<pre class='highbottom'><code class='javascript'>d3.json('data/ufo-sightings.json', function(data) {
+ data = MG.convert.date(data, 'year');
+})</code></pre>
+
+ <p>Finally, we create the graphic and place it in the element specified in <i>target</i>.</p>
+
+<pre class='highbottom'><code class='javascript'>d3.json('data/ufo-sightings.json', function(data) {
+ MG.data_graphic({
+ title: "UFO Sightings",
+ description: "Yearly UFO sightings from the year 1945 to 2010.",
+ data: data,
+ width: 650,
+ height: 150,
+ target: '#ufo-sightings',
+ x_accessor: 'year',
+ y_accessor: 'sightings',
+ markers: [{'year': 1964, 'label': '"The Creeping Terror" released'}]
+ })
+})</code></pre>
+
+ <p class='highbottom'>And this is what we end up with. In this example, we're adding a marker to draw attention to a particular data point. This is optional of course.</p>
+ <div id='ufo-sightings'></div>
+ <p class='hightop'>It's as easy as that. If for whatever reason we decide to update the data in the graphic, we call <i>MG.data_graphic</i> with the updated data object on the same target element. The library will gracefully transition the existing plot to the new one. It's ridiculously easy to modify every aspect of the graphic by setting one or more of the <a href='https://github.com/metricsgraphics/metrics-graphics/wiki/List-of-Options'>available options</a>.</p>
+
+ <h1>Still not convinced?</h1>
+ <p>We've set up an interactive version of this example that you can play around with. You don't need to download anything. <a href='interactive-demo.htm'>Check it out</a>.</p>
+ <p>Take the library out for a spin, file bugs and don't forget to star the project on Github!</p>
+ </div>
+
+ <div class='container footer'>
+ Created by <a href='https://twitter.com/alialmossawi'>Ali Almossawi</a>,
+ <a href='https://github.com/hamilton'>Hamilton Ulmer</a> &mdash; Metrics at
+ <a href='https://www.mozilla.org/en-US/'>Mozilla</a>
+ <br />Shared under the <a href='http://www.mozilla.org/MPL/2.0/'>
+ Mozilla Public License</a>.
+ </div>
+
+ <style>
+ body {
+ background-color: #fcfcfc;
+ }
+
+ .api-example {
+ margin: 80px 0 40px 0;
+ width: 100%;
+ background-color: #f1f1f1;
+ border-top: 1px solid #ccc;
+ border-bottom: 1px solid #ccc;
+ }
+
+ .container {
+ width: 680px;
+ }
+
+ #fb-block {
+ display: inline;
+ padding: 0 0 0 6px;
+ position: relative;
+ top: 0;
+ width: 60px;
+ }
+
+ @media only screen
+ and (min-device-width : 320px)
+ and (max-device-width : 480px) {
+ #fb-block {
+ top: -5px;
+ }
+ }
+
+ .github-stars-top {
+ margin: 95px 0 0 160px;
+ position: absolute;
+ }
+
+ h1 {
+ font-size: 24px;
+ padding-top: 40px;
+ }
+
+ .highbottom {
+ margin-bottom: 40px;
+ }
+
+ .hightop {
+ margin-top: 40px;
+ }
+
+ p {
+ padding-top: 6px;
+ }
+
+ pre {
+ background-color: #f1f1f1;
+ border: none;
+ margin: 0 0 0 0 ;
+ }
+
+ .social-buttons {
+ background-image: url(images/divider.png);
+ background-repeat: no-repeat;
+ background-position: center 35px;
+ padding-top: 80px;
+ }
+
+ .thumb {
+ padding: 0 35px 0 35px;
+ }
+
+ .thumb a {
+ color: #227dc4;
+ }
+
+ .thumb a i.fa {
+ background-color: #036bbc;
+ color: transparent;
+ text-shadow: 0px 1px 1px rgba(255,255,255,0.5);
+ -webkit-background-clip: text;
+ -moz-background-clip: text;
+ background-clip: text;
+ padding: 10px;
+ }
+
+ @-moz-document url-prefix() {
+ .thumb a i.fa {
+ background-color: transparent;
+ color: #60a2d5;
+ }
+ }
+
+ .thumb a span.text {
+ color: white;
+ font-size: 12px;
+ letter-spacing: 1;
+ text-transform: uppercase;
+ background: #60a2d5;
+ border-radius: 6px;
+ padding: 1px 5px 1px 5px;
+ }
+
+ /*.thumb a:hover span.text {
+ border-bottom: 1px solid #227dc4;
+ }*/
+
+ .thumb a:hover {
+ text-decoration: none;
+ }
+
+ #twitter-block {
+ display: inline;
+ overflow: hidden;
+ padding-top: 2px;
+ position: relative;
+ top: 0;
+ }
+ </style>
+
+ <script>
+ hljs.initHighlightingOnLoad();
+
+ d3.json('data/ufo-sightings.json', function(data) {
+ MG.data_graphic({
+ title: "UFO Sightings",
+ description: "Yearly UFO sightings from the year 1945 to 2010.",
+ data: data,
+ markers: [{'year': 1964, 'label': '"The Creeping Terror" released'}],
+ width: 650,
+ height: 180,
+ target: '#ufo-sightings',
+ x_accessor: 'year',
+ y_accessor: 'sightings'
+ })
+ })
+ </script>
+</body>
+</html>
diff --git a/priv/static/metrics-graphics-3.0-alpha3/examples/interactive-demo.htm b/priv/static/metrics-graphics-3.0-alpha3/examples/interactive-demo.htm
new file mode 100644
index 0000000..f87f060
--- /dev/null
+++ b/priv/static/metrics-graphics-3.0-alpha3/examples/interactive-demo.htm
@@ -0,0 +1,236 @@
+<html lang='en'>
+<head>
+ <meta content='text/html; charset=utf-8' http-equiv='Content-Type'>
+
+ <title>MetricsGraphics.js - a library based on D3.js, optimized for visualizing and laying out time-series data</title>
+
+ <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,300,700' rel='stylesheet' type='text/css'>
+ <link href='https://fonts.googleapis.com/css?family=PT+Serif:400,700,400italic' rel='stylesheet' type='text/css'>
+ <link href='https://netdna.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.css' rel='stylesheet' type='text/css'>
+ <link href='https://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css' rel='stylesheet' type='text/css'>
+
+ <link href='metricsgraphics.css' rel='stylesheet' type='text/css'>
+ <link href='css/metricsgraphics-demo.css' rel='stylesheet' type='text/css'>
+
+ <script src='https://cdnjs.cloudflare.com/ajax/libs/jquery/3.1.0/jquery.min.js'></script>
+ <script src="https://d3js.org/d3.v4.min.js"></script>
+ <script src="https://cdnjs.cloudflare.com/ajax/libs/ace/1.2.9/ace.js" charset="utf-8"></script>
+
+ <!-- dev start -->
+ <script src='js/MG.js'></script>
+ <script src='js/misc/utility.js'></script>
+ <script src='js/common/data_graphic.js'></script>
+ <script src='js/common/hooks.js'></script>
+ <script src='js/common/register.js'></script>
+ <script src='js/common/bootstrap_tooltip_popover.js'></script>
+ <script src='js/common/chart_title.js'></script>
+ <script src='js/common/scales.js'></script>
+ <script src='js/common/y_axis.js'></script>
+ <script src='js/common/x_axis.js'></script>
+ <script src='js/common/init.js'></script>
+ <script src='js/common/markers.js'></script>
+ <script src='js/common/rollover.js'></script>
+ <script src='js/common/zoom.js'></script>
+ <script src='js/common/brush.js'></script>
+ <script src='js/common/window_listeners.js'></script>
+ <script src='js/layout/bootstrap_dropdown.js'></script>
+ <script src='js/layout/button.js'></script>
+ <script src='js/charts/line.js'></script>
+ <script src='js/charts/histogram.js'></script>
+ <script src='js/charts/point.js'></script>
+ <script src='js/charts/bar.js'></script>
+ <script src='js/charts/table.js'></script>
+ <script src='js/charts/missing.js'></script>
+ <script src='js/misc/process.js'></script>
+ <script src='js/misc/smoothers.js'></script>
+ <script src='js/misc/formatters.js'></script>
+ <script src='js/misc/transitions.js'></script>
+ <script src='js/misc/error.js'></script>
+ <!-- dev end -->
+
+ <script>
+ (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+ m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+ })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+ ga('create', 'UA-51487512-1', 'metricsgraphicsjs.org');
+ ga('send', 'pageview');
+ </script>
+</head>
+
+<body>
+ <div class='container'>
+ <div class='head'>
+ <ul>
+ <li><a href='./'>Home</a></li>
+ <li><a href='https://github.com/metricsgraphics/metrics-graphics/releases'>Download</a></li>
+ <li><a href='https://github.com/metricsgraphics/metrics-graphics'>Code</a></li>
+ <li><a href='https://github.com/metricsgraphics/metrics-graphics/issues'>Issues</a></li>
+ <li><a href='examples.htm'>Examples</a></li>
+ </ul>
+
+ <img src='images/logo.svg' id='logo' class='svg' />
+ </div>
+
+ <div id='description'>
+ <p><i>MetricsGraphics.js</i> is a library built on top of
+ <a href='http://d3js.org/'>D3</a> that is optimized for visualizing and
+ laying out time-series data. It provides a simple way to produce common
+ types of graphics in a principled, consistent and responsive way. The
+ library currently supports line charts, scatterplots and histograms as
+ well as features like rug plots and basic linear regression.</p>
+
+ <p>This demo allows you to play around with the library without having to
+ download it. Try doubling the number of sightings in, say, 1995 and see
+ how that affects the graphic. Or how about changing any of the options in
+ <i>MG.data_graphic</i>? Or perhaps change the chart type to a scatterplot by
+ setting <code>chart_type:'point'</code>, switching the <i>x</i> and <i>y</i>
+ accessors and increasing the <i>height</i>? The data object is set to the
+ contents of the <i>Data</i> text area. Errors are logged to the console.</p>
+ </div>
+ </div>
+
+ <div class='container'>
+ <div class='row main-windows-titles'>
+ <div class='col-xs-2'>Data</div>
+ <div class='js-title col-xs-5'>
+ JavaScript <a href='https://github.com/metricsgraphics/metrics-graphics/wiki/List-of-Options#list-of-options' target='_blank'>See Full List of Options</a>
+ <button type='button' class='update btn'>Run</button>
+ </div>
+ </div>
+ <div class='row main-windows'>
+ <div class='data col-xs-2'>
+ <textarea></textarea>
+ </div>
+ <div class='js col-xs-5' id='editor'></div>
+ <div class='result text-center col-xs-5'></div>
+ </div>
+ </div>
+
+ <div class='container footer'>
+ Created by <a href='https://twitter.com/alialmossawi'>Ali Almossawi</a>,
+ <a href='https://github.com/hamilton'>Hamilton Ulmer</a> &mdash; Metrics at
+ <a href='https://www.mozilla.org/en-US/'>Mozilla</a>
+ <br />Shared under the <a href='http://www.mozilla.org/MPL/2.0/'>
+ Mozilla Public License</a>.
+ </div>
+
+ <style>
+ body {
+ background-color: #fcfcfc;
+ }
+
+ .container {
+ width: 90%;
+ min-width: 960px;
+ }
+
+ .data textarea {
+ font-family: Menlo,Monaco,Consolas,"Courier New",monospace;
+ font-size: 11px;
+ height: 100%;
+ width: 100%;
+ }
+
+ .footer {
+ background-image: url(images/divider.png);
+ background-repeat: no-repeat;
+ background-position: center 115px;
+ padding-top: 70px;
+ margin-bottom: 20px;
+ }
+
+ .hightop {
+ margin-top: 40px;
+ }
+
+ #logo {
+ margin: 15px 0 10px 0;
+ }
+
+ .main-windows-titles {
+ color: #3b3b3b;
+ font-size: 16px;
+ padding-bottom: 5px;
+ text-align: center;
+ }
+
+ .main-windows-titles .js-title a {
+ position: absolute;
+ right: 0;
+ font-size: 70%;
+ margin: 7px 1px 0 0;
+ }
+
+ .main-windows .data,
+ .main-windows .js,
+ .main-windows .result {
+ height: 400px;
+ }
+
+ p {
+ padding-top: 6px;
+ }
+
+ textarea,
+ #editor {
+ border-radius: 3px;
+ border: none;
+ overflow: auto;
+ outline: none;
+ -webkit-box-shadow: none;
+ -moz-box-shadow: none;
+ box-shadow: none;
+ padding: 10px;
+ border: 1px solid #ccc;
+ }
+
+ .btn.update {
+ background-color: steelblue;
+ color: white;
+ margin-top: 34px;
+ outline: none;
+ position: absolute;
+ right: 7px;
+ z-index: 99;
+ }
+
+ .btn.update:hover,
+ .btn.update:active,
+ .btn.update:visited {
+ color: #efefef;
+ outline: none;
+ }
+ </style>
+ <script>
+ var default_call = '//modify away!\n'
+ + 'MG.data_graphic({\n'
+ + ' title: "UFO Sightings",\n'
+ + ' description: "Yearly UFO sightings from 1945 to 2010.",\n'
+ + ' data: JSON.parse(document.querySelector(\'.data textarea\').value),\n'
+ + ' markers: [{\'year\': 1964, \'label\': \'"The Creeping Terror" released\'}],\n'
+ + ' width: 400,\n'
+ + ' height: 250,\n'
+ + ' target: ".result",\n'
+ + ' x_accessor: "year",\n'
+ + ' y_accessor: "sightings",\n'
+ + '});';
+
+ var editor = ace.edit("editor");
+ editor.getSession().setMode("ace/mode/javascript");
+ editor.setValue(default_call);
+ editor.gotoLine(1);
+ editor.setHighlightActiveLine(false);
+
+ d3.json('data/ufo-sightings.json', function(data) {
+ document.querySelector('.data textarea').value = JSON.stringify(data, null, 2);
+ eval(editor.getValue());
+ })
+
+ d3.select('.update').on('click', function() {
+ eval(editor.getValue());
+ })
+ </script>
+</body>
+</html>
diff --git a/priv/static/metrics-graphics-3.0-alpha3/examples/js/lib/highlight.pack.js b/priv/static/metrics-graphics-3.0-alpha3/examples/js/lib/highlight.pack.js
new file mode 100644
index 0000000..470e125
--- /dev/null
+++ b/priv/static/metrics-graphics-3.0-alpha3/examples/js/lib/highlight.pack.js
@@ -0,0 +1 @@
+var hljs=new function(){function e(e){return e.replace(/&/gm,"&amp;").replace(/</gm,"&lt;").replace(/>/gm,"&gt;")}function t(e){return e.nodeName.toLowerCase()}function n(e,t){var n=e&&e.exec(t);return n&&0==n.index}function r(e){var t=(e.className+" "+(e.parentNode?e.parentNode.className:"")).split(/\s+/);return t=t.map(function(e){return e.replace(/^lang(uage)?-/,"")}),t.filter(function(e){return m(e)||/no(-?)highlight/.test(e)})[0]}function i(e,t){var n={};for(var r in e)n[r]=e[r];if(t)for(var r in t)n[r]=t[r];return n}function a(e){var n=[];return function r(e,i){for(var a=e.firstChild;a;a=a.nextSibling)3==a.nodeType?i+=a.nodeValue.length:1==a.nodeType&&(n.push({event:"start",offset:i,node:a}),i=r(a,i),t(a).match(/br|hr|img|input/)||n.push({event:"stop",offset:i,node:a}));return i}(e,0),n}function s(n,r,i){function a(){return n.length&&r.length?n[0].offset!=r[0].offset?n[0].offset<r[0].offset?n:r:"start"==r[0].event?n:r:n.length?n:r}function s(n){function r(t){return" "+t.nodeName+'="'+e(t.value)+'"'}l+="<"+t(n)+Array.prototype.map.call(n.attributes,r).join("")+">"}function o(e){l+="</"+t(e)+">"}function c(e){("start"==e.event?s:o)(e.node)}for(var u=0,l="",f=[];n.length||r.length;){var h=a();if(l+=e(i.substr(u,h[0].offset-u)),u=h[0].offset,h==n){f.reverse().forEach(o);do c(h.splice(0,1)[0]),h=a();while(h==n&&h.length&&h[0].offset==u);f.reverse().forEach(s)}else"start"==h[0].event?f.push(h[0].node):f.pop(),c(h.splice(0,1)[0])}return l+e(i.substr(u))}function o(e){function t(e){return e&&e.source||e}function n(n,r){return RegExp(t(n),"m"+(e.cI?"i":"")+(r?"g":""))}function r(a,s){if(!a.compiled){if(a.compiled=!0,a.k=a.k||a.bK,a.k){var o={},c=function(t,n){e.cI&&(n=n.toLowerCase()),n.split(" ").forEach(function(e){var n=e.split("|");o[n[0]]=[t,n[1]?Number(n[1]):1]})};"string"==typeof a.k?c("keyword",a.k):Object.keys(a.k).forEach(function(e){c(e,a.k[e])}),a.k=o}a.lR=n(a.l||/\b[A-Za-z0-9_]+\b/,!0),s&&(a.bK&&(a.b="\\b("+a.bK.split(" ").join("|")+")\\b"),a.b||(a.b=/\B|\b/),a.bR=n(a.b),a.e||a.eW||(a.e=/\B|\b/),a.e&&(a.eR=n(a.e)),a.tE=t(a.e)||"",a.eW&&s.tE&&(a.tE+=(a.e?"|":"")+s.tE)),a.i&&(a.iR=n(a.i)),void 0===a.r&&(a.r=1),a.c||(a.c=[]);var u=[];a.c.forEach(function(e){e.v?e.v.forEach(function(t){u.push(i(e,t))}):u.push("self"==e?a:e)}),a.c=u,a.c.forEach(function(e){r(e,a)}),a.starts&&r(a.starts,s);var l=a.c.map(function(e){return e.bK?"\\.?("+e.b+")\\.?":e.b}).concat([a.tE,a.i]).map(t).filter(Boolean);a.t=l.length?n(l.join("|"),!0):{exec:function(){return null}}}}r(e)}function c(t,r,i,a){function s(e,t){for(var r=0;r<t.c.length;r++)if(n(t.c[r].bR,e))return t.c[r]}function l(e,t){return n(e.eR,t)?e:e.eW?l(e.parent,t):void 0}function f(e,t){return!i&&n(t.iR,e)}function h(e,t){var n=x.cI?t[0].toLowerCase():t[0];return e.k.hasOwnProperty(n)&&e.k[n]}function g(e,t,n,r){var i=r?"":N.classPrefix,a='<span class="'+i,s=n?"":"</span>";return a+=e+'">',a+t+s}function p(){if(!w.k)return e(B);var t="",n=0;w.lR.lastIndex=0;for(var r=w.lR.exec(B);r;){t+=e(B.substr(n,r.index-n));var i=h(w,r);i?(y+=i[1],t+=g(i[0],e(r[0]))):t+=e(r[0]),n=w.lR.lastIndex,r=w.lR.exec(B)}return t+e(B.substr(n))}function v(){if(w.sL&&!E[w.sL])return e(B);var t=w.sL?c(w.sL,B,!0,L[w.sL]):u(B);return w.r>0&&(y+=t.r),"continuous"==w.subLanguageMode&&(L[w.sL]=t.top),g(t.language,t.value,!1,!0)}function b(){return void 0!==w.sL?v():p()}function d(t,n){var r=t.cN?g(t.cN,"",!0):"";t.rB?(M+=r,B=""):t.eB?(M+=e(n)+r,B=""):(M+=r,B=n),w=Object.create(t,{parent:{value:w}})}function R(t,n){if(B+=t,void 0===n)return M+=b(),0;var r=s(n,w);if(r)return M+=b(),d(r,n),r.rB?0:n.length;var i=l(w,n);if(i){var a=w;a.rE||a.eE||(B+=n),M+=b();do w.cN&&(M+="</span>"),y+=w.r,w=w.parent;while(w!=i.parent);return a.eE&&(M+=e(n)),B="",i.starts&&d(i.starts,""),a.rE?0:n.length}if(f(n,w))throw new Error('Illegal lexeme "'+n+'" for mode "'+(w.cN||"<unnamed>")+'"');return B+=n,n.length||1}var x=m(t);if(!x)throw new Error('Unknown language: "'+t+'"');o(x);for(var w=a||x,L={},M="",k=w;k!=x;k=k.parent)k.cN&&(M=g(k.cN,"",!0)+M);var B="",y=0;try{for(var C,I,j=0;;){if(w.t.lastIndex=j,C=w.t.exec(r),!C)break;I=R(r.substr(j,C.index-j),C[0]),j=C.index+I}R(r.substr(j));for(var k=w;k.parent;k=k.parent)k.cN&&(M+="</span>");return{r:y,value:M,language:t,top:w}}catch(A){if(-1!=A.message.indexOf("Illegal"))return{r:0,value:e(r)};throw A}}function u(t,n){n=n||N.languages||Object.keys(E);var r={r:0,value:e(t)},i=r;return n.forEach(function(e){if(m(e)){var n=c(e,t,!1);n.language=e,n.r>i.r&&(i=n),n.r>r.r&&(i=r,r=n)}}),i.language&&(r.second_best=i),r}function l(e){return N.tabReplace&&(e=e.replace(/^((<[^>]+>|\t)+)/gm,function(e,t){return t.replace(/\t/g,N.tabReplace)})),N.useBR&&(e=e.replace(/\n/g,"<br>")),e}function f(e,t,n){var r=t?R[t]:n,i=[e.trim()];return e.match(/(\s|^)hljs(\s|$)/)||i.push("hljs"),r&&i.push(r),i.join(" ").trim()}function h(e){var t=r(e);if(!/no(-?)highlight/.test(t)){var n;N.useBR?(n=document.createElementNS("http://www.w3.org/1999/xhtml","div"),n.innerHTML=e.innerHTML.replace(/\n/g,"").replace(/<br[ \/]*>/g,"\n")):n=e;var i=n.textContent,o=t?c(t,i,!0):u(i),h=a(n);if(h.length){var g=document.createElementNS("http://www.w3.org/1999/xhtml","div");g.innerHTML=o.value,o.value=s(h,a(g),i)}o.value=l(o.value),e.innerHTML=o.value,e.className=f(e.className,t,o.language),e.result={language:o.language,re:o.r},o.second_best&&(e.second_best={language:o.second_best.language,re:o.second_best.r})}}function g(e){N=i(N,e)}function p(){if(!p.called){p.called=!0;var e=document.querySelectorAll("pre code");Array.prototype.forEach.call(e,h)}}function v(){addEventListener("DOMContentLoaded",p,!1),addEventListener("load",p,!1)}function b(e,t){var n=E[e]=t(this);n.aliases&&n.aliases.forEach(function(t){R[t]=e})}function d(){return Object.keys(E)}function m(e){return E[e]||E[R[e]]}var N={classPrefix:"hljs-",tabReplace:null,useBR:!1,languages:void 0},E={},R={};this.highlight=c,this.highlightAuto=u,this.fixMarkup=l,this.highlightBlock=h,this.configure=g,this.initHighlighting=p,this.initHighlightingOnLoad=v,this.registerLanguage=b,this.listLanguages=d,this.getLanguage=m,this.inherit=i,this.IR="[a-zA-Z][a-zA-Z0-9_]*",this.UIR="[a-zA-Z_][a-zA-Z0-9_]*",this.NR="\\b\\d+(\\.\\d+)?",this.CNR="(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",this.BNR="\\b(0b[01]+)",this.RSR="!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",this.BE={b:"\\\\[\\s\\S]",r:0},this.ASM={cN:"string",b:"'",e:"'",i:"\\n",c:[this.BE]},this.QSM={cN:"string",b:'"',e:'"',i:"\\n",c:[this.BE]},this.PWM={b:/\b(a|an|the|are|I|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such)\b/},this.CLCM={cN:"comment",b:"//",e:"$",c:[this.PWM]},this.CBCM={cN:"comment",b:"/\\*",e:"\\*/",c:[this.PWM]},this.HCM={cN:"comment",b:"#",e:"$",c:[this.PWM]},this.NM={cN:"number",b:this.NR,r:0},this.CNM={cN:"number",b:this.CNR,r:0},this.BNM={cN:"number",b:this.BNR,r:0},this.CSSNM={cN:"number",b:this.NR+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",r:0},this.RM={cN:"regexp",b:/\//,e:/\/[gimuy]*/,i:/\n/,c:[this.BE,{b:/\[/,e:/\]/,r:0,c:[this.BE]}]},this.TM={cN:"title",b:this.IR,r:0},this.UTM={cN:"title",b:this.UIR,r:0}};hljs.registerLanguage("javascript",function(r){return{aliases:["js"],k:{keyword:"in if for while finally var new function do return void else break catch instanceof with throw case default try this switch continue typeof delete let yield const class",literal:"true false null undefined NaN Infinity",built_in:"eval isFinite isNaN parseFloat parseInt decodeURI decodeURIComponent encodeURI encodeURIComponent escape unescape Object Function Boolean Error EvalError InternalError RangeError ReferenceError StopIteration SyntaxError TypeError URIError Number Math Date String RegExp Array Float32Array Float64Array Int16Array Int32Array Int8Array Uint16Array Uint32Array Uint8Array Uint8ClampedArray ArrayBuffer DataView JSON Intl arguments require module console window document"},c:[{cN:"pi",b:/^\s*('|")use strict('|")/,r:10},r.ASM,r.QSM,r.CLCM,r.CBCM,r.CNM,{b:"("+r.RSR+"|\\b(case|return|throw)\\b)\\s*",k:"return throw case",c:[r.CLCM,r.CBCM,r.RM,{b:/</,e:/>;/,r:0,sL:"xml"}],r:0},{cN:"function",bK:"function",e:/\{/,eE:!0,c:[r.inherit(r.TM,{b:/[A-Za-z$_][0-9A-Za-z$_]*/}),{cN:"params",b:/\(/,e:/\)/,c:[r.CLCM,r.CBCM],i:/["'\(]/}],i:/\[|%/},{b:/\$[(.]/},{b:"\\."+r.IR,r:0}]}});hljs.registerLanguage("http",function(){return{i:"\\S",c:[{cN:"status",b:"^HTTP/[0-9\\.]+",e:"$",c:[{cN:"number",b:"\\b\\d{3}\\b"}]},{cN:"request",b:"^[A-Z]+ (.*?) HTTP/[0-9\\.]+$",rB:!0,e:"$",c:[{cN:"string",b:" ",e:" ",eB:!0,eE:!0}]},{cN:"attribute",b:"^\\w",e:": ",eE:!0,i:"\\n|\\s|=",starts:{cN:"string",e:"$"}},{b:"\\n\\n",starts:{sL:"",eW:!0}}]}});hljs.registerLanguage("json",function(e){var t={literal:"true false null"},i=[e.QSM,e.CNM],l={cN:"value",e:",",eW:!0,eE:!0,c:i,k:t},c={b:"{",e:"}",c:[{cN:"attribute",b:'\\s*"',e:'"\\s*:\\s*',eB:!0,eE:!0,c:[e.BE],i:"\\n",starts:l}],i:"\\S"},n={b:"\\[",e:"\\]",c:[e.inherit(l,{cN:null})],i:"\\S"};return i.splice(i.length,0,c,n),{c:i,k:t,i:"\\S"}});hljs.registerLanguage("xml",function(){var t="[A-Za-z0-9\\._:-]+",e={b:/<\?(php)?(?!\w)/,e:/\?>/,sL:"php",subLanguageMode:"continuous"},c={eW:!0,i:/</,r:0,c:[e,{cN:"attribute",b:t,r:0},{b:"=",r:0,c:[{cN:"value",c:[e],v:[{b:/"/,e:/"/},{b:/'/,e:/'/},{b:/[^\s\/>]+/}]}]}]};return{aliases:["html","xhtml","rss","atom","xsl","plist"],cI:!0,c:[{cN:"doctype",b:"<!DOCTYPE",e:">",r:10,c:[{b:"\\[",e:"\\]"}]},{cN:"comment",b:"<!--",e:"-->",r:10},{cN:"cdata",b:"<\\!\\[CDATA\\[",e:"\\]\\]>",r:10},{cN:"tag",b:"<style(?=\\s|>|$)",e:">",k:{title:"style"},c:[c],starts:{e:"</style>",rE:!0,sL:"css"}},{cN:"tag",b:"<script(?=\\s|>|$)",e:">",k:{title:"script"},c:[c],starts:{e:"</script>",rE:!0,sL:"javascript"}},e,{cN:"pi",b:/<\?\w+/,e:/\?>/,r:10},{cN:"tag",b:"</?",e:"/?>",c:[{cN:"title",b:/[^ \/><\n\t]+/,r:0},c]}]}});hljs.registerLanguage("css",function(e){var c="[a-zA-Z-][a-zA-Z0-9_-]*",a={cN:"function",b:c+"\\(",rB:!0,eE:!0,e:"\\("};return{cI:!0,i:"[=/|']",c:[e.CBCM,{cN:"id",b:"\\#[A-Za-z0-9_-]+"},{cN:"class",b:"\\.[A-Za-z0-9_-]+",r:0},{cN:"attr_selector",b:"\\[",e:"\\]",i:"$"},{cN:"pseudo",b:":(:)?[a-zA-Z0-9\\_\\-\\+\\(\\)\\\"\\']+"},{cN:"at_rule",b:"@(font-face|page)",l:"[a-z-]+",k:"font-face page"},{cN:"at_rule",b:"@",e:"[{;]",c:[{cN:"keyword",b:/\S+/},{b:/\s/,eW:!0,eE:!0,r:0,c:[a,e.ASM,e.QSM,e.CSSNM]}]},{cN:"tag",b:c,r:0},{cN:"rules",b:"{",e:"}",i:"[^\\s]",r:0,c:[e.CBCM,{cN:"rule",b:"[^\\s]",rB:!0,e:";",eW:!0,c:[{cN:"attribute",b:"[A-Z\\_\\.\\-]+",e:":",eE:!0,i:"[^\\s]",starts:{cN:"value",eW:!0,eE:!0,c:[a,e.CSSNM,e.QSM,e.ASM,e.CBCM,{cN:"hexcolor",b:"#[0-9A-Fa-f]+"},{cN:"important",b:"!important"}]}}]}]}]}}); \ No newline at end of file
diff --git a/priv/static/metrics-graphics-3.0-alpha3/examples/js/lib/mode-javascript.js b/priv/static/metrics-graphics-3.0-alpha3/examples/js/lib/mode-javascript.js
new file mode 100755
index 0000000..a80f564
--- /dev/null
+++ b/priv/static/metrics-graphics-3.0-alpha3/examples/js/lib/mode-javascript.js
@@ -0,0 +1 @@
+define("ace/mode/doc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:"comment.doc.tag",regex:"@[\\w\\d_]+"},{token:"comment.doc.tag",regex:"\\bTODO\\b"},{defaultToken:"comment.doc"}]}};r.inherits(s,i),s.getStartRule=function(e){return{token:"comment.doc",regex:"\\/\\*(?=\\*)",next:e}},s.getEndRule=function(e){return{token:"comment.doc",regex:"\\*\\/",next:e}},t.DocCommentHighlightRules=s}),define("ace/mode/javascript_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/doc_comment_highlight_rules","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./doc_comment_highlight_rules").DocCommentHighlightRules,s=e("./text_highlight_rules").TextHighlightRules,o=function(e){var t=this.createKeywordMapper({"variable.language":"Array|Boolean|Date|Function|Iterator|Number|Object|RegExp|String|Proxy|Namespace|QName|XML|XMLList|ArrayBuffer|Float32Array|Float64Array|Int16Array|Int32Array|Int8Array|Uint16Array|Uint32Array|Uint8Array|Uint8ClampedArray|Error|EvalError|InternalError|RangeError|ReferenceError|StopIteration|SyntaxError|TypeError|URIError|decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|eval|isFinite|isNaN|parseFloat|parseInt|JSON|Math|this|arguments|prototype|window|document",keyword:"const|yield|import|get|set|break|case|catch|continue|default|delete|do|else|finally|for|function|if|in|instanceof|new|return|switch|throw|try|typeof|let|var|while|with|debugger|__parent__|__count__|escape|unescape|with|__proto__|class|enum|extends|super|export|implements|private|public|interface|package|protected|static","storage.type":"const|let|var|function","constant.language":"null|Infinity|NaN|undefined","support.function":"alert","constant.language.boolean":"true|false"},"identifier"),n="case|do|else|finally|in|instanceof|return|throw|try|typeof|yield|void",r="[a-zA-Z\\$_\u00a1-\uffff][a-zA-Z\\d\\$_\u00a1-\uffff]*\\b",s="\\\\(?:x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|[0-2][0-7]{0,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.)";this.$rules={no_regex:[{token:"comment",regex:"\\/\\/",next:"line_comment"},i.getStartRule("doc-start"),{token:"comment",regex:/\/\*/,next:"comment"},{token:"string",regex:"'(?=.)",next:"qstring"},{token:"string",regex:'"(?=.)',next:"qqstring"},{token:"constant.numeric",regex:/0[xX][0-9a-fA-F]+\b/},{token:"constant.numeric",regex:/[+-]?\d+(?:(?:\.\d*)?(?:[eE][+-]?\d+)?)?\b/},{token:["storage.type","punctuation.operator","support.function","punctuation.operator","entity.name.function","text","keyword.operator"],regex:"("+r+")(\\.)(prototype)(\\.)("+r+")(\\s*)(=)",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+r+")(\\.)("+r+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+r+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","entity.name.function","text","paren.lparen"],regex:"("+r+")(\\.)("+r+")(\\s*)(=)(\\s*)(function)(\\s+)(\\w+)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","text","entity.name.function","text","paren.lparen"],regex:"(function)(\\s+)("+r+")(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","punctuation.operator","text","storage.type","text","paren.lparen"],regex:"("+r+")(\\s*)(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["text","text","storage.type","text","paren.lparen"],regex:"(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:"keyword",regex:"(?:"+n+")\\b",next:"start"},{token:["punctuation.operator","support.function"],regex:/(\.)(s(?:h(?:ift|ow(?:Mod(?:elessDialog|alDialog)|Help))|croll(?:X|By(?:Pages|Lines)?|Y|To)?|t(?:op|rike)|i(?:n|zeToContent|debar|gnText)|ort|u(?:p|b(?:str(?:ing)?)?)|pli(?:ce|t)|e(?:nd|t(?:Re(?:sizable|questHeader)|M(?:i(?:nutes|lliseconds)|onth)|Seconds|Ho(?:tKeys|urs)|Year|Cursor|Time(?:out)?|Interval|ZOptions|Date|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Date|FullYear)|FullYear|Active)|arch)|qrt|lice|avePreferences|mall)|h(?:ome|andleEvent)|navigate|c(?:har(?:CodeAt|At)|o(?:s|n(?:cat|textual|firm)|mpile)|eil|lear(?:Timeout|Interval)?|a(?:ptureEvents|ll)|reate(?:StyleSheet|Popup|EventObject))|t(?:o(?:GMTString|S(?:tring|ource)|U(?:TCString|pperCase)|Lo(?:caleString|werCase))|est|a(?:n|int(?:Enabled)?))|i(?:s(?:NaN|Finite)|ndexOf|talics)|d(?:isableExternalCapture|ump|etachEvent)|u(?:n(?:shift|taint|escape|watch)|pdateCommands)|j(?:oin|avaEnabled)|p(?:o(?:p|w)|ush|lugins.refresh|a(?:ddings|rse(?:Int|Float)?)|r(?:int|ompt|eference))|e(?:scape|nableExternalCapture|val|lementFromPoint|x(?:p|ec(?:Script|Command)?))|valueOf|UTC|queryCommand(?:State|Indeterm|Enabled|Value)|f(?:i(?:nd|le(?:ModifiedDate|Size|CreatedDate|UpdatedDate)|xed)|o(?:nt(?:size|color)|rward)|loor|romCharCode)|watch|l(?:ink|o(?:ad|g)|astIndexOf)|a(?:sin|nchor|cos|t(?:tachEvent|ob|an(?:2)?)|pply|lert|b(?:s|ort))|r(?:ou(?:nd|teEvents)|e(?:size(?:By|To)|calc|turnValue|place|verse|l(?:oad|ease(?:Capture|Events)))|andom)|g(?:o|et(?:ResponseHeader|M(?:i(?:nutes|lliseconds)|onth)|Se(?:conds|lection)|Hours|Year|Time(?:zoneOffset)?|Da(?:y|te)|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Da(?:y|te)|FullYear)|FullYear|A(?:ttention|llResponseHeaders)))|m(?:in|ove(?:B(?:y|elow)|To(?:Absolute)?|Above)|ergeAttributes|a(?:tch|rgins|x))|b(?:toa|ig|o(?:ld|rderWidths)|link|ack))\b(?=\()/},{token:["punctuation.operator","support.function.dom"],regex:/(\.)(s(?:ub(?:stringData|mit)|plitText|e(?:t(?:NamedItem|Attribute(?:Node)?)|lect))|has(?:ChildNodes|Feature)|namedItem|c(?:l(?:ick|o(?:se|neNode))|reate(?:C(?:omment|DATASection|aption)|T(?:Head|extNode|Foot)|DocumentFragment|ProcessingInstruction|E(?:ntityReference|lement)|Attribute))|tabIndex|i(?:nsert(?:Row|Before|Cell|Data)|tem)|open|delete(?:Row|C(?:ell|aption)|T(?:Head|Foot)|Data)|focus|write(?:ln)?|a(?:dd|ppend(?:Child|Data))|re(?:set|place(?:Child|Data)|move(?:NamedItem|Child|Attribute(?:Node)?)?)|get(?:NamedItem|Element(?:sBy(?:Name|TagName)|ById)|Attribute(?:Node)?)|blur)\b(?=\()/},{token:["punctuation.operator","support.constant"],regex:/(\.)(s(?:ystemLanguage|cr(?:ipts|ollbars|een(?:X|Y|Top|Left))|t(?:yle(?:Sheets)?|atus(?:Text|bar)?)|ibling(?:Below|Above)|ource|uffixes|e(?:curity(?:Policy)?|l(?:ection|f)))|h(?:istory|ost(?:name)?|as(?:h|Focus))|y|X(?:MLDocument|SLDocument)|n(?:ext|ame(?:space(?:s|URI)|Prop))|M(?:IN_VALUE|AX_VALUE)|c(?:haracterSet|o(?:n(?:structor|trollers)|okieEnabled|lorDepth|mp(?:onents|lete))|urrent|puClass|l(?:i(?:p(?:boardData)?|entInformation)|osed|asses)|alle(?:e|r)|rypto)|t(?:o(?:olbar|p)|ext(?:Transform|Indent|Decoration|Align)|ags)|SQRT(?:1_2|2)|i(?:n(?:ner(?:Height|Width)|put)|ds|gnoreCase)|zIndex|o(?:scpu|n(?:readystatechange|Line)|uter(?:Height|Width)|p(?:sProfile|ener)|ffscreenBuffering)|NEGATIVE_INFINITY|d(?:i(?:splay|alog(?:Height|Top|Width|Left|Arguments)|rectories)|e(?:scription|fault(?:Status|Ch(?:ecked|arset)|View)))|u(?:ser(?:Profile|Language|Agent)|n(?:iqueID|defined)|pdateInterval)|_content|p(?:ixelDepth|ort|ersonalbar|kcs11|l(?:ugins|atform)|a(?:thname|dding(?:Right|Bottom|Top|Left)|rent(?:Window|Layer)?|ge(?:X(?:Offset)?|Y(?:Offset)?))|r(?:o(?:to(?:col|type)|duct(?:Sub)?|mpter)|e(?:vious|fix)))|e(?:n(?:coding|abledPlugin)|x(?:ternal|pando)|mbeds)|v(?:isibility|endor(?:Sub)?|Linkcolor)|URLUnencoded|P(?:I|OSITIVE_INFINITY)|f(?:ilename|o(?:nt(?:Size|Family|Weight)|rmName)|rame(?:s|Element)|gColor)|E|whiteSpace|l(?:i(?:stStyleType|n(?:eHeight|kColor))|o(?:ca(?:tion(?:bar)?|lName)|wsrc)|e(?:ngth|ft(?:Context)?)|a(?:st(?:M(?:odified|atch)|Index|Paren)|yer(?:s|X)|nguage))|a(?:pp(?:MinorVersion|Name|Co(?:deName|re)|Version)|vail(?:Height|Top|Width|Left)|ll|r(?:ity|guments)|Linkcolor|bove)|r(?:ight(?:Context)?|e(?:sponse(?:XML|Text)|adyState))|global|x|m(?:imeTypes|ultiline|enubar|argin(?:Right|Bottom|Top|Left))|L(?:N(?:10|2)|OG(?:10E|2E))|b(?:o(?:ttom|rder(?:Width|RightWidth|BottomWidth|Style|Color|TopWidth|LeftWidth))|ufferDepth|elow|ackground(?:Color|Image)))\b/},{token:["support.constant"],regex:/that\b/},{token:["storage.type","punctuation.operator","support.function.firebug"],regex:/(console)(\.)(warn|info|log|error|time|trace|timeEnd|assert)\b/},{token:t,regex:r},{token:"keyword.operator",regex:/--|\+\+|===|==|=|!=|!==|<=|>=|<<=|>>=|>>>=|<>|<|>|!|&&|\|\||\?\:|[!$%&*+\-~\/^]=?/,next:"start"},{token:"punctuation.operator",regex:/[?:,;.]/,next:"start"},{token:"paren.lparen",regex:/[\[({]/,next:"start"},{token:"paren.rparen",regex:/[\])}]/},{token:"comment",regex:/^#!.*$/}],start:[i.getStartRule("doc-start"),{token:"comment",regex:"\\/\\*",next:"comment_regex_allowed"},{token:"comment",regex:"\\/\\/",next:"line_comment_regex_allowed"},{token:"string.regexp",regex:"\\/",next:"regex"},{token:"text",regex:"\\s+|^$",next:"start"},{token:"empty",regex:"",next:"no_regex"}],regex:[{token:"regexp.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"string.regexp",regex:"/[sxngimy]*",next:"no_regex"},{token:"invalid",regex:/\{\d+\b,?\d*\}[+*]|[+*$^?][+*]|[$^][?]|\?{3,}/},{token:"constant.language.escape",regex:/\(\?[:=!]|\)|\{\d+\b,?\d*\}|[+*]\?|[()$^+*?.]/},{token:"constant.language.delimiter",regex:/\|/},{token:"constant.language.escape",regex:/\[\^?/,next:"regex_character_class"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp"}],regex_character_class:[{token:"regexp.charclass.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"constant.language.escape",regex:"]",next:"regex"},{token:"constant.language.escape",regex:"-"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp.charachterclass"}],function_arguments:[{token:"variable.parameter",regex:r},{token:"punctuation.operator",regex:"[, ]+"},{token:"punctuation.operator",regex:"$"},{token:"empty",regex:"",next:"no_regex"}],comment_regex_allowed:[{token:"comment",regex:"\\*\\/",next:"start"},{defaultToken:"comment"}],comment:[{token:"comment",regex:"\\*\\/",next:"no_regex"},{defaultToken:"comment"}],line_comment_regex_allowed:[{token:"comment",regex:"$|^",next:"start"},{defaultToken:"comment"}],line_comment:[{token:"comment",regex:"$|^",next:"no_regex"},{defaultToken:"comment"}],qqstring:[{token:"constant.language.escape",regex:s},{token:"string",regex:"\\\\$",next:"qqstring"},{token:"string",regex:'"|$',next:"no_regex"},{defaultToken:"string"}],qstring:[{token:"constant.language.escape",regex:s},{token:"string",regex:"\\\\$",next:"qstring"},{token:"string",regex:"'|$",next:"no_regex"},{defaultToken:"string"}]},(!e||!e.noES6)&&this.$rules.no_regex.unshift({regex:"[{}]",onMatch:function(e,t,n){this.next=e=="{"?this.nextState:"";if(e=="{"&&n.length)return n.unshift("start",t),"paren";if(e=="}"&&n.length){n.shift(),this.next=n.shift();if(this.next.indexOf("string")!=-1)return"paren.quasi.end"}return e=="{"?"paren.lparen":"paren.rparen"},nextState:"start"},{token:"string.quasi.start",regex:/`/,push:[{token:"constant.language.escape",regex:s},{token:"paren.quasi.start",regex:/\${/,push:"start"},{token:"string.quasi.end",regex:/`/,next:"pop"},{defaultToken:"string.quasi"}]}),this.embedRules(i,"doc-",[i.getEndRule("no_regex")]),this.normalizeRules()};r.inherits(o,s),t.JavaScriptHighlightRules=o}),define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,n){"use strict";var r=e("../range").Range,i=function(){};(function(){this.checkOutdent=function(e,t){return/^\s+$/.test(e)?/^\s*\}/.test(t):!1},this.autoOutdent=function(e,t){var n=e.getLine(t),i=n.match(/^(\s*\})/);if(!i)return 0;var s=i[1].length,o=e.findMatchingBracket({row:t,column:s});if(!o||o.row==t)return 0;var u=this.$getIndent(e.getLine(o.row));e.replace(new r(t,0,t,s-1),u)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(i.prototype),t.MatchingBraceOutdent=i}),define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("../../token_iterator").TokenIterator,o=e("../../lib/lang"),u=["text","paren.rparen","punctuation.operator"],a=["text","paren.rparen","punctuation.operator","comment"],f,l={},c=function(e){var t=-1;e.multiSelect&&(t=e.selection.id,l.rangeCount!=e.multiSelect.rangeCount&&(l={rangeCount:e.multiSelect.rangeCount}));if(l[t])return f=l[t];f=l[t]={autoInsertedBrackets:0,autoInsertedRow:-1,autoInsertedLineEnd:"",maybeInsertedBrackets:0,maybeInsertedRow:-1,maybeInsertedLineStart:"",maybeInsertedLineEnd:""}},h=function(){this.add("braces","insertion",function(e,t,n,r,i){var s=n.getCursorPosition(),u=r.doc.getLine(s.row);if(i=="{"){c(n);var a=n.getSelectionRange(),l=r.doc.getTextRange(a);if(l!==""&&l!=="{"&&n.getWrapBehavioursEnabled())return{text:"{"+l+"}",selection:!1};if(h.isSaneInsertion(n,r))return/[\]\}\)]/.test(u[s.column])||n.inMultiSelectMode?(h.recordAutoInsert(n,r,"}"),{text:"{}",selection:[1,1]}):(h.recordMaybeInsert(n,r,"{"),{text:"{",selection:[1,1]})}else if(i=="}"){c(n);var p=u.substring(s.column,s.column+1);if(p=="}"){var d=r.$findOpeningBracket("}",{column:s.column+1,row:s.row});if(d!==null&&h.isAutoInsertedClosing(s,u,i))return h.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}else{if(i=="\n"||i=="\r\n"){c(n);var v="";h.isMaybeInsertedClosing(s,u)&&(v=o.stringRepeat("}",f.maybeInsertedBrackets),h.clearMaybeInsertedClosing());var p=u.substring(s.column,s.column+1);if(p==="}"){var m=r.findMatchingBracket({row:s.row,column:s.column+1},"}");if(!m)return null;var g=this.$getIndent(r.getLine(m.row))}else{if(!v){h.clearMaybeInsertedClosing();return}var g=this.$getIndent(u)}var y=g+r.getTabString();return{text:"\n"+y+"\n"+g+v,selection:[1,y.length,1,y.length]}}h.clearMaybeInsertedClosing()}}),this.add("braces","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="{"){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.end.column,i.end.column+1);if(u=="}")return i.end.column++,i;f.maybeInsertedBrackets--}}),this.add("parens","insertion",function(e,t,n,r,i){if(i=="("){c(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return{text:"("+o+")",selection:!1};if(h.isSaneInsertion(n,r))return h.recordAutoInsert(n,r,")"),{text:"()",selection:[1,1]}}else if(i==")"){c(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f==")"){var l=r.$findOpeningBracket(")",{column:u.column+1,row:u.row});if(l!==null&&h.isAutoInsertedClosing(u,a,i))return h.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("parens","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="("){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==")")return i.end.column++,i}}),this.add("brackets","insertion",function(e,t,n,r,i){if(i=="["){c(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return{text:"["+o+"]",selection:!1};if(h.isSaneInsertion(n,r))return h.recordAutoInsert(n,r,"]"),{text:"[]",selection:[1,1]}}else if(i=="]"){c(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f=="]"){var l=r.$findOpeningBracket("]",{column:u.column+1,row:u.row});if(l!==null&&h.isAutoInsertedClosing(u,a,i))return h.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("brackets","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="["){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u=="]")return i.end.column++,i}}),this.add("string_dquotes","insertion",function(e,t,n,r,i){if(i=='"'||i=="'"){c(n);var s=i,o=n.getSelectionRange(),u=r.doc.getTextRange(o);if(u!==""&&u!=="'"&&u!='"'&&n.getWrapBehavioursEnabled())return{text:s+u+s,selection:!1};var a=n.getCursorPosition(),f=r.doc.getLine(a.row),l=f.substring(a.column-1,a.column);if(l=="\\")return null;var p=r.getTokens(o.start.row),d=0,v,m=-1;for(var g=0;g<p.length;g++){v=p[g],v.type=="string"?m=-1:m<0&&(m=v.value.indexOf(s));if(v.value.length+d>o.start.column)break;d+=p[g].value.length}if(!v||m<0&&v.type!=="comment"&&(v.type!=="string"||o.start.column!==v.value.length+d-1&&v.value.lastIndexOf(s)===v.value.length-1)){if(!h.isSaneInsertion(n,r))return;return{text:s+s,selection:[1,1]}}if(v&&v.type==="string"){var y=f.substring(a.column,a.column+1);if(y==s)return{text:"",selection:[1,1]}}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&(s=='"'||s=="'")){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==s)return i.end.column++,i}})};h.isSaneInsertion=function(e,t){var n=e.getCursorPosition(),r=new s(t,n.row,n.column);if(!this.$matchTokenType(r.getCurrentToken()||"text",u)){var i=new s(t,n.row,n.column+1);if(!this.$matchTokenType(i.getCurrentToken()||"text",u))return!1}return r.stepForward(),r.getCurrentTokenRow()!==n.row||this.$matchTokenType(r.getCurrentToken()||"text",a)},h.$matchTokenType=function(e,t){return t.indexOf(e.type||e)>-1},h.recordAutoInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isAutoInsertedClosing(r,i,f.autoInsertedLineEnd[0])||(f.autoInsertedBrackets=0),f.autoInsertedRow=r.row,f.autoInsertedLineEnd=n+i.substr(r.column),f.autoInsertedBrackets++},h.recordMaybeInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isMaybeInsertedClosing(r,i)||(f.maybeInsertedBrackets=0),f.maybeInsertedRow=r.row,f.maybeInsertedLineStart=i.substr(0,r.column)+n,f.maybeInsertedLineEnd=i.substr(r.column),f.maybeInsertedBrackets++},h.isAutoInsertedClosing=function(e,t,n){return f.autoInsertedBrackets>0&&e.row===f.autoInsertedRow&&n===f.autoInsertedLineEnd[0]&&t.substr(e.column)===f.autoInsertedLineEnd},h.isMaybeInsertedClosing=function(e,t){return f.maybeInsertedBrackets>0&&e.row===f.maybeInsertedRow&&t.substr(e.column)===f.maybeInsertedLineEnd&&t.substr(0,e.column)==f.maybeInsertedLineStart},h.popAutoInsertedClosing=function(){f.autoInsertedLineEnd=f.autoInsertedLineEnd.substr(1),f.autoInsertedBrackets--},h.clearMaybeInsertedClosing=function(){f&&(f.maybeInsertedBrackets=0,f.maybeInsertedRow=-1)},r.inherits(h,i),t.CstyleBehaviour=h}),define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/(\{|\[)[^\}\]]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/,this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n),s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++t<a){n=e.getLine(t);var f=n.search(/\S/);if(f===-1)continue;if(r>f)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)}}.call(o.prototype)}),define("ace/mode/javascript",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/javascript_highlight_rules","ace/mode/matching_brace_outdent","ace/range","ace/worker/worker_client","ace/mode/behaviour/cstyle","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./javascript_highlight_rules").JavaScriptHighlightRules,o=e("./matching_brace_outdent").MatchingBraceOutdent,u=e("../range").Range,a=e("../worker/worker_client").WorkerClient,f=e("./behaviour/cstyle").CstyleBehaviour,l=e("./folding/cstyle").FoldMode,c=function(){this.HighlightRules=s,this.$outdent=new o,this.$behaviour=new f,this.foldingRules=new l};r.inherits(c,i),function(){this.lineCommentStart="//",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e),s=i.tokens,o=i.state;if(s.length&&s[s.length-1].type=="comment")return r;if(e=="start"||e=="no_regex"){var u=t.match(/^.*(?:\bcase\b.*\:|[\{\(\[])\s*$/);u&&(r+=n)}else if(e=="doc-start"){if(o=="start"||o=="no_regex")return"";var u=t.match(/^\s*(\/?)\*/);u&&(u[1]&&(r+=" "),r+="* ")}return r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.createWorker=function(e){var t=new a(["ace"],"ace/mode/javascript_worker","JavaScriptWorker");return t.attachToDocument(e.getDocument()),t.on("jslint",function(t){e.setAnnotations(t.data)}),t.on("terminate",function(){e.clearAnnotations()}),t},this.$id="ace/mode/javascript"}.call(c.prototype),t.Mode=c}) \ No newline at end of file
diff --git a/priv/static/metrics-graphics-3.0-alpha3/examples/js/lib/worker-javascript.js b/priv/static/metrics-graphics-3.0-alpha3/examples/js/lib/worker-javascript.js
new file mode 100755
index 0000000..f4935e8
--- /dev/null
+++ b/priv/static/metrics-graphics-3.0-alpha3/examples/js/lib/worker-javascript.js
@@ -0,0 +1 @@
+"no use strict";(function(e){if(typeof e.window!="undefined"&&e.document)return;e.console=function(){var e=Array.prototype.slice.call(arguments,0);postMessage({type:"log",data:e})},e.console.error=e.console.warn=e.console.log=e.console.trace=e.console,e.window=e,e.ace=e,e.onerror=function(e,t,n,r,i){postMessage({type:"error",data:{message:e,file:t,line:n,col:r,stack:i.stack}})},e.normalizeModule=function(t,n){if(n.indexOf("!")!==-1){var r=n.split("!");return e.normalizeModule(t,r[0])+"!"+e.normalizeModule(t,r[1])}if(n.charAt(0)=="."){var i=t.split("/").slice(0,-1).join("/");n=(i?i+"/":"")+n;while(n.indexOf(".")!==-1&&s!=n){var s=n;n=n.replace(/^\.\//,"").replace(/\/\.\//,"/").replace(/[^\/]+\/\.\.\//,"")}}return n},e.require=function(t,n){n||(n=t,t=null);if(!n.charAt)throw new Error("worker.js require() accepts only (parentId, id) as arguments");n=e.normalizeModule(t,n);var r=e.require.modules[n];if(r)return r.initialized||(r.initialized=!0,r.exports=r.factory().exports),r.exports;var i=n.split("/");if(!e.require.tlns)return console.log("unable to load "+n);i[0]=e.require.tlns[i[0]]||i[0];var s=i.join("/")+".js";return e.require.id=n,importScripts(s),e.require(t,n)},e.require.modules={},e.require.tlns={},e.define=function(t,n,r){arguments.length==2?(r=n,typeof t!="string"&&(n=t,t=e.require.id)):arguments.length==1&&(r=t,n=[],t=e.require.id);if(typeof r!="function"){e.require.modules[t]={exports:r,initialized:!0};return}n.length||(n=["require","exports","module"]);var i=function(n){return e.require(t,n)};e.require.modules[t]={exports:{},factory:function(){var e=this,t=r.apply(this,n.map(function(t){switch(t){case"require":return i;case"exports":return e.exports;case"module":return e;default:return i(t)}}));return t&&(e.exports=t),e}}},e.define.amd={},e.initBaseUrls=function(t){require.tlns=t},e.initSender=function(){var n=e.require("ace/lib/event_emitter").EventEmitter,r=e.require("ace/lib/oop"),i=function(){};return function(){r.implement(this,n),this.callback=function(e,t){postMessage({type:"call",id:t,data:e})},this.emit=function(e,t){postMessage({type:"event",name:e,data:t})}}.call(i.prototype),new i};var t=e.main=null,n=e.sender=null;e.onmessage=function(r){var i=r.data;if(i.command){if(!t[i.command])throw new Error("Unknown command:"+i.command);t[i.command].apply(t,i.args)}else if(i.init){initBaseUrls(i.tlns),require("ace/lib/es5-shim"),n=e.sender=initSender();var s=require(i.module)[i.classname];t=e.main=new s(n)}else i.event&&n&&n._signal(i.event,i.data)}})(this),define("ace/lib/oop",["require","exports","module"],function(e,t,n){"use strict";t.inherits=function(e,t){e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})},t.mixin=function(e,t){for(var n in t)e[n]=t[n];return e},t.implement=function(e,n){t.mixin(e,n)}}),define("ace/lib/event_emitter",["require","exports","module"],function(e,t,n){"use strict";var r={},i=function(){this.propagationStopped=!0},s=function(){this.defaultPrevented=!0};r._emit=r._dispatchEvent=function(e,t){this._eventRegistry||(this._eventRegistry={}),this._defaultHandlers||(this._defaultHandlers={});var n=this._eventRegistry[e]||[],r=this._defaultHandlers[e];if(!n.length&&!r)return;if(typeof t!="object"||!t)t={};t.type||(t.type=e),t.stopPropagation||(t.stopPropagation=i),t.preventDefault||(t.preventDefault=s),n=n.slice();for(var o=0;o<n.length;o++){n[o](t,this);if(t.propagationStopped)break}if(r&&!t.defaultPrevented)return r(t,this)},r._signal=function(e,t){var n=(this._eventRegistry||{})[e];if(!n)return;n=n.slice();for(var r=0;r<n.length;r++)n[r](t,this)},r.once=function(e,t){var n=this;t&&this.addEventListener(e,function r(){n.removeEventListener(e,r),t.apply(null,arguments)})},r.setDefaultHandler=function(e,t){var n=this._defaultHandlers;n||(n=this._defaultHandlers={_disabled_:{}});if(n[e]){var r=n[e],i=n._disabled_[e];i||(n._disabled_[e]=i=[]),i.push(r);var s=i.indexOf(t);s!=-1&&i.splice(s,1)}n[e]=t},r.removeDefaultHandler=function(e,t){var n=this._defaultHandlers;if(!n)return;var r=n._disabled_[e];if(n[e]==t){var i=n[e];r&&this.setDefaultHandler(e,r.pop())}else if(r){var s=r.indexOf(t);s!=-1&&r.splice(s,1)}},r.on=r.addEventListener=function(e,t,n){this._eventRegistry=this._eventRegistry||{};var r=this._eventRegistry[e];return r||(r=this._eventRegistry[e]=[]),r.indexOf(t)==-1&&r[n?"unshift":"push"](t),t},r.off=r.removeListener=r.removeEventListener=function(e,t){this._eventRegistry=this._eventRegistry||{};var n=this._eventRegistry[e];if(!n)return;var r=n.indexOf(t);r!==-1&&n.splice(r,1)},r.removeAllListeners=function(e){this._eventRegistry&&(this._eventRegistry[e]=[])},t.EventEmitter=r}),define("ace/range",["require","exports","module"],function(e,t,n){"use strict";var r=function(e,t){return e.row-t.row||e.column-t.column},i=function(e,t,n,r){this.start={row:e,column:t},this.end={row:n,column:r}};(function(){this.isEqual=function(e){return this.start.row===e.start.row&&this.end.row===e.end.row&&this.start.column===e.start.column&&this.end.column===e.end.column},this.toString=function(){return"Range: ["+this.start.row+"/"+this.start.column+"] -> ["+this.end.row+"/"+this.end.column+"]"},this.contains=function(e,t){return this.compare(e,t)==0},this.compareRange=function(e){var t,n=e.end,r=e.start;return t=this.compare(n.row,n.column),t==1?(t=this.compare(r.row,r.column),t==1?2:t==0?1:0):t==-1?-2:(t=this.compare(r.row,r.column),t==-1?-1:t==1?42:0)},this.comparePoint=function(e){return this.compare(e.row,e.column)},this.containsRange=function(e){return this.comparePoint(e.start)==0&&this.comparePoint(e.end)==0},this.intersects=function(e){var t=this.compareRange(e);return t==-1||t==0||t==1},this.isEnd=function(e,t){return this.end.row==e&&this.end.column==t},this.isStart=function(e,t){return this.start.row==e&&this.start.column==t},this.setStart=function(e,t){typeof e=="object"?(this.start.column=e.column,this.start.row=e.row):(this.start.row=e,this.start.column=t)},this.setEnd=function(e,t){typeof e=="object"?(this.end.column=e.column,this.end.row=e.row):(this.end.row=e,this.end.column=t)},this.inside=function(e,t){return this.compare(e,t)==0?this.isEnd(e,t)||this.isStart(e,t)?!1:!0:!1},this.insideStart=function(e,t){return this.compare(e,t)==0?this.isEnd(e,t)?!1:!0:!1},this.insideEnd=function(e,t){return this.compare(e,t)==0?this.isStart(e,t)?!1:!0:!1},this.compare=function(e,t){return!this.isMultiLine()&&e===this.start.row?t<this.start.column?-1:t>this.end.column?1:0:e<this.start.row?-1:e>this.end.row?1:this.start.row===e?t>=this.start.column?0:-1:this.end.row===e?t<=this.end.column?0:1:0},this.compareStart=function(e,t){return this.start.row==e&&this.start.column==t?-1:this.compare(e,t)},this.compareEnd=function(e,t){return this.end.row==e&&this.end.column==t?1:this.compare(e,t)},this.compareInside=function(e,t){return this.end.row==e&&this.end.column==t?1:this.start.row==e&&this.start.column==t?-1:this.compare(e,t)},this.clipRows=function(e,t){if(this.end.row>t)var n={row:t+1,column:0};else if(this.end.row<e)var n={row:e,column:0};if(this.start.row>t)var r={row:t+1,column:0};else if(this.start.row<e)var r={row:e,column:0};return i.fromPoints(r||this.start,n||this.end)},this.extend=function(e,t){var n=this.compare(e,t);if(n==0)return this;if(n==-1)var r={row:e,column:t};else var s={row:e,column:t};return i.fromPoints(r||this.start,s||this.end)},this.isEmpty=function(){return this.start.row===this.end.row&&this.start.column===this.end.column},this.isMultiLine=function(){return this.start.row!==this.end.row},this.clone=function(){return i.fromPoints(this.start,this.end)},this.collapseRows=function(){return this.end.column==0?new i(this.start.row,0,Math.max(this.start.row,this.end.row-1),0):new i(this.start.row,0,this.end.row,0)},this.toScreenRange=function(e){var t=e.documentToScreenPosition(this.start),n=e.documentToScreenPosition(this.end);return new i(t.row,t.column,n.row,n.column)},this.moveBy=function(e,t){this.start.row+=e,this.start.column+=t,this.end.row+=e,this.end.column+=t}}).call(i.prototype),i.fromPoints=function(e,t){return new i(e.row,e.column,t.row,t.column)},i.comparePoints=r,i.comparePoints=function(e,t){return e.row-t.row||e.column-t.column},t.Range=i}),define("ace/anchor",["require","exports","module","ace/lib/oop","ace/lib/event_emitter"],function(e,t,n){"use strict";var r=e("./lib/oop"),i=e("./lib/event_emitter").EventEmitter,s=t.Anchor=function(e,t,n){this.$onChange=this.onChange.bind(this),this.attach(e),typeof n=="undefined"?this.setPosition(t.row,t.column):this.setPosition(t,n)};(function(){r.implement(this,i),this.getPosition=function(){return this.$clipPositionToDocument(this.row,this.column)},this.getDocument=function(){return this.document},this.$insertRight=!1,this.onChange=function(e){var t=e.data,n=t.range;if(n.start.row==n.end.row&&n.start.row!=this.row)return;if(n.start.row>this.row)return;if(n.start.row==this.row&&n.start.column>this.column)return;var r=this.row,i=this.column,s=n.start,o=n.end;if(t.action==="insertText")if(s.row===r&&s.column<=i){if(s.column!==i||!this.$insertRight)s.row===o.row?i+=o.column-s.column:(i-=s.column,r+=o.row-s.row)}else s.row!==o.row&&s.row<r&&(r+=o.row-s.row);else t.action==="insertLines"?(s.row!==r||i!==0||!this.$insertRight)&&s.row<=r&&(r+=o.row-s.row):t.action==="removeText"?s.row===r&&s.column<i?o.column>=i?i=s.column:i=Math.max(0,i-(o.column-s.column)):s.row!==o.row&&s.row<r?(o.row===r&&(i=Math.max(0,i-o.column)+s.column),r-=o.row-s.row):o.row===r&&(r-=o.row-s.row,i=Math.max(0,i-o.column)+s.column):t.action=="removeLines"&&s.row<=r&&(o.row<=r?r-=o.row-s.row:(r=s.row,i=0));this.setPosition(r,i,!0)},this.setPosition=function(e,t,n){var r;n?r={row:e,column:t}:r=this.$clipPositionToDocument(e,t);if(this.row==r.row&&this.column==r.column)return;var i={row:this.row,column:this.column};this.row=r.row,this.column=r.column,this._signal("change",{old:i,value:r})},this.detach=function(){this.document.removeEventListener("change",this.$onChange)},this.attach=function(e){this.document=e||this.document,this.document.on("change",this.$onChange)},this.$clipPositionToDocument=function(e,t){var n={};return e>=this.document.getLength()?(n.row=Math.max(0,this.document.getLength()-1),n.column=this.document.getLine(n.row).length):e<0?(n.row=0,n.column=0):(n.row=e,n.column=Math.min(this.document.getLine(n.row).length,Math.max(0,t))),t<0&&(n.column=0),n}}).call(s.prototype)}),define("ace/document",["require","exports","module","ace/lib/oop","ace/lib/event_emitter","ace/range","ace/anchor"],function(e,t,n){"use strict";var r=e("./lib/oop"),i=e("./lib/event_emitter").EventEmitter,s=e("./range").Range,o=e("./anchor").Anchor,u=function(e){this.$lines=[],e.length===0?this.$lines=[""]:Array.isArray(e)?this._insertLines(0,e):this.insert({row:0,column:0},e)};(function(){r.implement(this,i),this.setValue=function(e){var t=this.getLength();this.remove(new s(0,0,t,this.getLine(t-1).length)),this.insert({row:0,column:0},e)},this.getValue=function(){return this.getAllLines().join(this.getNewLineCharacter())},this.createAnchor=function(e,t){return new o(this,e,t)},"aaa".split(/a/).length===0?this.$split=function(e){return e.replace(/\r\n|\r/g,"\n").split("\n")}:this.$split=function(e){return e.split(/\r\n|\r|\n/)},this.$detectNewLine=function(e){var t=e.match(/^.*?(\r\n|\r|\n)/m);this.$autoNewLine=t?t[1]:"\n",this._signal("changeNewLineMode")},this.getNewLineCharacter=function(){switch(this.$newLineMode){case"windows":return"\r\n";case"unix":return"\n";default:return this.$autoNewLine||"\n"}},this.$autoNewLine="",this.$newLineMode="auto",this.setNewLineMode=function(e){if(this.$newLineMode===e)return;this.$newLineMode=e,this._signal("changeNewLineMode")},this.getNewLineMode=function(){return this.$newLineMode},this.isNewLine=function(e){return e=="\r\n"||e=="\r"||e=="\n"},this.getLine=function(e){return this.$lines[e]||""},this.getLines=function(e,t){return this.$lines.slice(e,t+1)},this.getAllLines=function(){return this.getLines(0,this.getLength())},this.getLength=function(){return this.$lines.length},this.getTextRange=function(e){if(e.start.row==e.end.row)return this.getLine(e.start.row).substring(e.start.column,e.end.column);var t=this.getLines(e.start.row,e.end.row);t[0]=(t[0]||"").substring(e.start.column);var n=t.length-1;return e.end.row-e.start.row==n&&(t[n]=t[n].substring(0,e.end.column)),t.join(this.getNewLineCharacter())},this.$clipPosition=function(e){var t=this.getLength();return e.row>=t?(e.row=Math.max(0,t-1),e.column=this.getLine(t-1).length):e.row<0&&(e.row=0),e},this.insert=function(e,t){if(!t||t.length===0)return e;e=this.$clipPosition(e),this.getLength()<=1&&this.$detectNewLine(t);var n=this.$split(t),r=n.splice(0,1)[0],i=n.length==0?null:n.splice(n.length-1,1)[0];return e=this.insertInLine(e,r),i!==null&&(e=this.insertNewLine(e),e=this._insertLines(e.row,n),e=this.insertInLine(e,i||"")),e},this.insertLines=function(e,t){return e>=this.getLength()?this.insert({row:e,column:0},"\n"+t.join("\n")):this._insertLines(Math.max(e,0),t)},this._insertLines=function(e,t){if(t.length==0)return{row:e,column:0};while(t.length>61440){var n=this._insertLines(e,t.slice(0,61440));t=t.slice(61440),e=n.row}var r=[e,0];r.push.apply(r,t),this.$lines.splice.apply(this.$lines,r);var i=new s(e,0,e+t.length,0),o={action:"insertLines",range:i,lines:t};return this._signal("change",{data:o}),i.end},this.insertNewLine=function(e){e=this.$clipPosition(e);var t=this.$lines[e.row]||"";this.$lines[e.row]=t.substring(0,e.column),this.$lines.splice(e.row+1,0,t.substring(e.column,t.length));var n={row:e.row+1,column:0},r={action:"insertText",range:s.fromPoints(e,n),text:this.getNewLineCharacter()};return this._signal("change",{data:r}),n},this.insertInLine=function(e,t){if(t.length==0)return e;var n=this.$lines[e.row]||"";this.$lines[e.row]=n.substring(0,e.column)+t+n.substring(e.column);var r={row:e.row,column:e.column+t.length},i={action:"insertText",range:s.fromPoints(e,r),text:t};return this._signal("change",{data:i}),r},this.remove=function(e){e instanceof s||(e=s.fromPoints(e.start,e.end)),e.start=this.$clipPosition(e.start),e.end=this.$clipPosition(e.end);if(e.isEmpty())return e.start;var t=e.start.row,n=e.end.row;if(e.isMultiLine()){var r=e.start.column==0?t:t+1,i=n-1;e.end.column>0&&this.removeInLine(n,0,e.end.column),i>=r&&this._removeLines(r,i),r!=t&&(this.removeInLine(t,e.start.column,this.getLine(t).length),this.removeNewLine(e.start.row))}else this.removeInLine(t,e.start.column,e.end.column);return e.start},this.removeInLine=function(e,t,n){if(t==n)return;var r=new s(e,t,e,n),i=this.getLine(e),o=i.substring(t,n),u=i.substring(0,t)+i.substring(n,i.length);this.$lines.splice(e,1,u);var a={action:"removeText",range:r,text:o};return this._signal("change",{data:a}),r.start},this.removeLines=function(e,t){return e<0||t>=this.getLength()?this.remove(new s(e,0,t+1,0)):this._removeLines(e,t)},this._removeLines=function(e,t){var n=new s(e,0,t+1,0),r=this.$lines.splice(e,t-e+1),i={action:"removeLines",range:n,nl:this.getNewLineCharacter(),lines:r};return this._signal("change",{data:i}),r},this.removeNewLine=function(e){var t=this.getLine(e),n=this.getLine(e+1),r=new s(e,t.length,e+1,0),i=t+n;this.$lines.splice(e,2,i);var o={action:"removeText",range:r,text:this.getNewLineCharacter()};this._signal("change",{data:o})},this.replace=function(e,t){e instanceof s||(e=s.fromPoints(e.start,e.end));if(t.length==0&&e.isEmpty())return e.start;if(t==this.getTextRange(e))return e.end;this.remove(e);if(t)var n=this.insert(e.start,t);else n=e.start;return n},this.applyDeltas=function(e){for(var t=0;t<e.length;t++){var n=e[t],r=s.fromPoints(n.range.start,n.range.end);n.action=="insertLines"?this.insertLines(r.start.row,n.lines):n.action=="insertText"?this.insert(r.start,n.text):n.action=="removeLines"?this._removeLines(r.start.row,r.end.row-1):n.action=="removeText"&&this.remove(r)}},this.revertDeltas=function(e){for(var t=e.length-1;t>=0;t--){var n=e[t],r=s.fromPoints(n.range.start,n.range.end);n.action=="insertLines"?this._removeLines(r.start.row,r.end.row-1):n.action=="insertText"?this.remove(r):n.action=="removeLines"?this._insertLines(r.start.row,n.lines):n.action=="removeText"&&this.insert(r.start,n.text)}},this.indexToPosition=function(e,t){var n=this.$lines||this.getAllLines(),r=this.getNewLineCharacter().length;for(var i=t||0,s=n.length;i<s;i++){e-=n[i].length+r;if(e<0)return{row:i,column:e+n[i].length+r}}return{row:s-1,column:n[s-1].length}},this.positionToIndex=function(e,t){var n=this.$lines||this.getAllLines(),r=this.getNewLineCharacter().length,i=0,s=Math.min(e.row,n.length);for(var o=t||0;o<s;++o)i+=n[o].length+r;return i+e.column}}).call(u.prototype),t.Document=u}),define("ace/lib/lang",["require","exports","module"],function(e,t,n){"use strict";t.last=function(e){return e[e.length-1]},t.stringReverse=function(e){return e.split("").reverse().join("")},t.stringRepeat=function(e,t){var n="";while(t>0){t&1&&(n+=e);if(t>>=1)e+=e}return n};var r=/^\s\s*/,i=/\s\s*$/;t.stringTrimLeft=function(e){return e.replace(r,"")},t.stringTrimRight=function(e){return e.replace(i,"")},t.copyObject=function(e){var t={};for(var n in e)t[n]=e[n];return t},t.copyArray=function(e){var t=[];for(var n=0,r=e.length;n<r;n++)e[n]&&typeof e[n]=="object"?t[n]=this.copyObject(e[n]):t[n]=e[n];return t},t.deepCopy=function(e){if(typeof e!="object"||!e)return e;var n=e.constructor;if(n===RegExp)return e;var r=n();for(var i in e)typeof e[i]=="object"?r[i]=t.deepCopy(e[i]):r[i]=e[i];return r},t.arrayToMap=function(e){var t={};for(var n=0;n<e.length;n++)t[e[n]]=1;return t},t.createMap=function(e){var t=Object.create(null);for(var n in e)t[n]=e[n];return t},t.arrayRemove=function(e,t){for(var n=0;n<=e.length;n++)t===e[n]&&e.splice(n,1)},t.escapeRegExp=function(e){return e.replace(/([.*+?^${}()|[\]\/\\])/g,"\\$1")},t.escapeHTML=function(e){return e.replace(/&/g,"&#38;").replace(/"/g,"&#34;").replace(/'/g,"&#39;").replace(/</g,"&#60;")},t.getMatchOffsets=function(e,t){var n=[];return e.replace(t,function(e){n.push({offset:arguments[arguments.length-2],length:e.length})}),n},t.deferredCall=function(e){var t=null,n=function(){t=null,e()},r=function(e){return r.cancel(),t=setTimeout(n,e||0),r};return r.schedule=r,r.call=function(){return this.cancel(),e(),r},r.cancel=function(){return clearTimeout(t),t=null,r},r.isPending=function(){return t},r},t.delayedCall=function(e,t){var n=null,r=function(){n=null,e()},i=function(e){n==null&&(n=setTimeout(r,e||t))};return i.delay=function(e){n&&clearTimeout(n),n=setTimeout(r,e||t)},i.schedule=i,i.call=function(){this.cancel(),e()},i.cancel=function(){n&&clearTimeout(n),n=null},i.isPending=function(){return n},i}}),define("ace/worker/mirror",["require","exports","module","ace/document","ace/lib/lang"],function(e,t,n){"use strict";var r=e("../document").Document,i=e("../lib/lang"),s=t.Mirror=function(e){this.sender=e;var t=this.doc=new r(""),n=this.deferredUpdate=i.delayedCall(this.onUpdate.bind(this)),s=this;e.on("change",function(e){t.applyDeltas(e.data);if(s.$timeout)return n.schedule(s.$timeout);s.onUpdate()})};(function(){this.$timeout=500,this.setTimeout=function(e){this.$timeout=e},this.setValue=function(e){this.doc.setValue(e),this.deferredUpdate.schedule(this.$timeout)},this.getValue=function(e){this.sender.callback(this.doc.getValue(),e)},this.onUpdate=function(){},this.isPending=function(){return this.deferredUpdate.isPending()}}).call(s.prototype)}),define("ace/mode/javascript/jshint",["require","exports","module"],function(e,t,n){n.exports=function r(t,n,i){function s(u,a){if(!n[u]){if(!t[u]){var f=typeof e=="function"&&e;if(!a&&f)return f(u,!0);if(o)return o(u,!0);throw new Error("Cannot find module '"+u+"'")}var l=n[u]={exports:{}};t[u][0].call(l.exports,function(e){var n=t[u][1][e];return s(n?n:e)},l,l.exports,r,t,n,i)}return n[u].exports}var o=typeof e=="function"&&e;for(var u=0;u<i.length;u++)s(i[u]);return s}({1:[function(e,t,n){var r=[];for(var i=0;i<128;i++)r[i]=i===36||i>=65&&i<=90||i===95||i>=97&&i<=122;var s=[];for(var i=0;i<128;i++)s[i]=r[i]||i>=48&&i<=57;t.exports={asciiIdentifierStartTable:r,asciiIdentifierPartTable:s}},{}],2:[function(e,t,n){(function(){var e=this,r=e._,i={},s=Array.prototype,o=Object.prototype,u=Function.prototype,a=s.push,f=s.slice,l=s.concat,c=o.toString,h=o.hasOwnProperty,p=s.forEach,d=s.map,v=s.reduce,m=s.reduceRight,g=s.filter,y=s.every,b=s.some,w=s.indexOf,E=s.lastIndexOf,S=Array.isArray,x=Object.keys,T=u.bind,N=function(e){if(e instanceof N)return e;if(!(this instanceof N))return new N(e);this._wrapped=e};typeof n!="undefined"?(typeof t!="undefined"&&t.exports&&(n=t.exports=N),n._=N):e._=N,N.VERSION="1.6.0";var C=N.each=N.forEach=function(e,t,n){if(e==null)return e;if(p&&e.forEach===p)e.forEach(t,n);else if(e.length===+e.length){for(var r=0,s=e.length;r<s;r++)if(t.call(n,e[r],r,e)===i)return}else{var o=N.keys(e);for(var r=0,s=o.length;r<s;r++)if(t.call(n,e[o[r]],o[r],e)===i)return}return e};N.map=N.collect=function(e,t,n){var r=[];return e==null?r:d&&e.map===d?e.map(t,n):(C(e,function(e,i,s){r.push(t.call(n,e,i,s))}),r)};var k="Reduce of empty array with no initial value";N.reduce=N.foldl=N.inject=function(e,t,n,r){var i=arguments.length>2;e==null&&(e=[]);if(v&&e.reduce===v)return r&&(t=N.bind(t,r)),i?e.reduce(t,n):e.reduce(t);C(e,function(e,s,o){i?n=t.call(r,n,e,s,o):(n=e,i=!0)});if(!i)throw new TypeError(k);return n},N.reduceRight=N.foldr=function(e,t,n,r){var i=arguments.length>2;e==null&&(e=[]);if(m&&e.reduceRight===m)return r&&(t=N.bind(t,r)),i?e.reduceRight(t,n):e.reduceRight(t);var s=e.length;if(s!==+s){var o=N.keys(e);s=o.length}C(e,function(u,a,f){a=o?o[--s]:--s,i?n=t.call(r,n,e[a],a,f):(n=e[a],i=!0)});if(!i)throw new TypeError(k);return n},N.find=N.detect=function(e,t,n){var r;return L(e,function(e,i,s){if(t.call(n,e,i,s))return r=e,!0}),r},N.filter=N.select=function(e,t,n){var r=[];return e==null?r:g&&e.filter===g?e.filter(t,n):(C(e,function(e,i,s){t.call(n,e,i,s)&&r.push(e)}),r)},N.reject=function(e,t,n){return N.filter(e,function(e,r,i){return!t.call(n,e,r,i)},n)},N.every=N.all=function(e,t,n){t||(t=N.identity);var r=!0;return e==null?r:y&&e.every===y?e.every(t,n):(C(e,function(e,s,o){if(!(r=r&&t.call(n,e,s,o)))return i}),!!r)};var L=N.some=N.any=function(e,t,n){t||(t=N.identity);var r=!1;return e==null?r:b&&e.some===b?e.some(t,n):(C(e,function(e,s,o){if(r||(r=t.call(n,e,s,o)))return i}),!!r)};N.contains=N.include=function(e,t){return e==null?!1:w&&e.indexOf===w?e.indexOf(t)!=-1:L(e,function(e){return e===t})},N.invoke=function(e,t){var n=f.call(arguments,2),r=N.isFunction(t);return N.map(e,function(e){return(r?t:e[t]).apply(e,n)})},N.pluck=function(e,t){return N.map(e,N.property(t))},N.where=function(e,t){return N.filter(e,N.matches(t))},N.findWhere=function(e,t){return N.find(e,N.matches(t))},N.max=function(e,t,n){if(!t&&N.isArray(e)&&e[0]===+e[0]&&e.length<65535)return Math.max.apply(Math,e);var r=-Infinity,i=-Infinity;return C(e,function(e,s,o){var u=t?t.call(n,e,s,o):e;u>i&&(r=e,i=u)}),r},N.min=function(e,t,n){if(!t&&N.isArray(e)&&e[0]===+e[0]&&e.length<65535)return Math.min.apply(Math,e);var r=Infinity,i=Infinity;return C(e,function(e,s,o){var u=t?t.call(n,e,s,o):e;u<i&&(r=e,i=u)}),r},N.shuffle=function(e){var t,n=0,r=[];return C(e,function(e){t=N.random(n++),r[n-1]=r[t],r[t]=e}),r},N.sample=function(e,t,n){return t==null||n?(e.length!==+e.length&&(e=N.values(e)),e[N.random(e.length-1)]):N.shuffle(e).slice(0,Math.max(0,t))};var A=function(e){return e==null?N.identity:N.isFunction(e)?e:N.property(e)};N.sortBy=function(e,t,n){return t=A(t),N.pluck(N.map(e,function(e,r,i){return{value:e,index:r,criteria:t.call(n,e,r,i)}}).sort(function(e,t){var n=e.criteria,r=t.criteria;if(n!==r){if(n>r||n===void 0)return 1;if(n<r||r===void 0)return-1}return e.index-t.index}),"value")};var O=function(e){return function(t,n,r){var i={};return n=A(n),C(t,function(s,o){var u=n.call(r,s,o,t);e(i,u,s)}),i}};N.groupBy=O(function(e,t,n){N.has(e,t)?e[t].push(n):e[t]=[n]}),N.indexBy=O(function(e,t,n){e[t]=n}),N.countBy=O(function(e,t){N.has(e,t)?e[t]++:e[t]=1}),N.sortedIndex=function(e,t,n,r){n=A(n);var i=n.call(r,t),s=0,o=e.length;while(s<o){var u=s+o>>>1;n.call(r,e[u])<i?s=u+1:o=u}return s},N.toArray=function(e){return e?N.isArray(e)?f.call(e):e.length===+e.length?N.map(e,N.identity):N.values(e):[]},N.size=function(e){return e==null?0:e.length===+e.length?e.length:N.keys(e).length},N.first=N.head=N.take=function(e,t,n){return e==null?void 0:t==null||n?e[0]:t<0?[]:f.call(e,0,t)},N.initial=function(e,t,n){return f.call(e,0,e.length-(t==null||n?1:t))},N.last=function(e,t,n){return e==null?void 0:t==null||n?e[e.length-1]:f.call(e,Math.max(e.length-t,0))},N.rest=N.tail=N.drop=function(e,t,n){return f.call(e,t==null||n?1:t)},N.compact=function(e){return N.filter(e,N.identity)};var M=function(e,t,n){return t&&N.every(e,N.isArray)?l.apply(n,e):(C(e,function(e){N.isArray(e)||N.isArguments(e)?t?a.apply(n,e):M(e,t,n):n.push(e)}),n)};N.flatten=function(e,t){return M(e,t,[])},N.without=function(e){return N.difference(e,f.call(arguments,1))},N.partition=function(e,t){var n=[],r=[];return C(e,function(e){(t(e)?n:r).push(e)}),[n,r]},N.uniq=N.unique=function(e,t,n,r){N.isFunction(t)&&(r=n,n=t,t=!1);var i=n?N.map(e,n,r):e,s=[],o=[];return C(i,function(n,r){if(t?!r||o[o.length-1]!==n:!N.contains(o,n))o.push(n),s.push(e[r])}),s},N.union=function(){return N.uniq(N.flatten(arguments,!0))},N.intersection=function(e){var t=f.call(arguments,1);return N.filter(N.uniq(e),function(e){return N.every(t,function(t){return N.contains(t,e)})})},N.difference=function(e){var t=l.apply(s,f.call(arguments,1));return N.filter(e,function(e){return!N.contains(t,e)})},N.zip=function(){var e=N.max(N.pluck(arguments,"length").concat(0)),t=new Array(e);for(var n=0;n<e;n++)t[n]=N.pluck(arguments,""+n);return t},N.object=function(e,t){if(e==null)return{};var n={};for(var r=0,i=e.length;r<i;r++)t?n[e[r]]=t[r]:n[e[r][0]]=e[r][1];return n},N.indexOf=function(e,t,n){if(e==null)return-1;var r=0,i=e.length;if(n){if(typeof n!="number")return r=N.sortedIndex(e,t),e[r]===t?r:-1;r=n<0?Math.max(0,i+n):n}if(w&&e.indexOf===w)return e.indexOf(t,n);for(;r<i;r++)if(e[r]===t)return r;return-1},N.lastIndexOf=function(e,t,n){if(e==null)return-1;var r=n!=null;if(E&&e.lastIndexOf===E)return r?e.lastIndexOf(t,n):e.lastIndexOf(t);var i=r?n:e.length;while(i--)if(e[i]===t)return i;return-1},N.range=function(e,t,n){arguments.length<=1&&(t=e||0,e=0),n=arguments[2]||1;var r=Math.max(Math.ceil((t-e)/n),0),i=0,s=new Array(r);while(i<r)s[i++]=e,e+=n;return s};var _=function(){};N.bind=function(e,t){var n,r;if(T&&e.bind===T)return T.apply(e,f.call(arguments,1));if(!N.isFunction(e))throw new TypeError;return n=f.call(arguments,2),r=function(){if(this instanceof r){_.prototype=e.prototype;var i=new _;_.prototype=null;var s=e.apply(i,n.concat(f.call(arguments)));return Object(s)===s?s:i}return e.apply(t,n.concat(f.call(arguments)))}},N.partial=function(e){var t=f.call(arguments,1);return function(){var n=0,r=t.slice();for(var i=0,s=r.length;i<s;i++)r[i]===N&&(r[i]=arguments[n++]);while(n<arguments.length)r.push(arguments[n++]);return e.apply(this,r)}},N.bindAll=function(e){var t=f.call(arguments,1);if(t.length===0)throw new Error("bindAll must be passed function names");return C(t,function(t){e[t]=N.bind(e[t],e)}),e},N.memoize=function(e,t){var n={};return t||(t=N.identity),function(){var r=t.apply(this,arguments);return N.has(n,r)?n[r]:n[r]=e.apply(this,arguments)}},N.delay=function(e,t){var n=f.call(arguments,2);return setTimeout(function(){return e.apply(null,n)},t)},N.defer=function(e){return N.delay.apply(N,[e,1].concat(f.call(arguments,1)))},N.throttle=function(e,t,n){var r,i,s,o=null,u=0;n||(n={});var a=function(){u=n.leading===!1?0:N.now(),o=null,s=e.apply(r,i),r=i=null};return function(){var f=N.now();!u&&n.leading===!1&&(u=f);var l=t-(f-u);return r=this,i=arguments,l<=0?(clearTimeout(o),o=null,u=f,s=e.apply(r,i),r=i=null):!o&&n.trailing!==!1&&(o=setTimeout(a,l)),s}},N.debounce=function(e,t,n){var r,i,s,o,u,a=function(){var f=N.now()-o;f<t?r=setTimeout(a,t-f):(r=null,n||(u=e.apply(s,i),s=i=null))};return function(){s=this,i=arguments,o=N.now();var f=n&&!r;return r||(r=setTimeout(a,t)),f&&(u=e.apply(s,i),s=i=null),u}},N.once=function(e){var t=!1,n;return function(){return t?n:(t=!0,n=e.apply(this,arguments),e=null,n)}},N.wrap=function(e,t){return N.partial(t,e)},N.compose=function(){var e=arguments;return function(){var t=arguments;for(var n=e.length-1;n>=0;n--)t=[e[n].apply(this,t)];return t[0]}},N.after=function(e,t){return function(){if(--e<1)return t.apply(this,arguments)}},N.keys=function(e){if(!N.isObject(e))return[];if(x)return x(e);var t=[];for(var n in e)N.has(e,n)&&t.push(n);return t},N.values=function(e){var t=N.keys(e),n=t.length,r=new Array(n);for(var i=0;i<n;i++)r[i]=e[t[i]];return r},N.pairs=function(e){var t=N.keys(e),n=t.length,r=new Array(n);for(var i=0;i<n;i++)r[i]=[t[i],e[t[i]]];return r},N.invert=function(e){var t={},n=N.keys(e);for(var r=0,i=n.length;r<i;r++)t[e[n[r]]]=n[r];return t},N.functions=N.methods=function(e){var t=[];for(var n in e)N.isFunction(e[n])&&t.push(n);return t.sort()},N.extend=function(e){return C(f.call(arguments,1),function(t){if(t)for(var n in t)e[n]=t[n]}),e},N.pick=function(e){var t={},n=l.apply(s,f.call(arguments,1));return C(n,function(n){n in e&&(t[n]=e[n])}),t},N.omit=function(e){var t={},n=l.apply(s,f.call(arguments,1));for(var r in e)N.contains(n,r)||(t[r]=e[r]);return t},N.defaults=function(e){return C(f.call(arguments,1),function(t){if(t)for(var n in t)e[n]===void 0&&(e[n]=t[n])}),e},N.clone=function(e){return N.isObject(e)?N.isArray(e)?e.slice():N.extend({},e):e},N.tap=function(e,t){return t(e),e};var D=function(e,t,n,r){if(e===t)return e!==0||1/e==1/t;if(e==null||t==null)return e===t;e instanceof N&&(e=e._wrapped),t instanceof N&&(t=t._wrapped);var i=c.call(e);if(i!=c.call(t))return!1;switch(i){case"[object String]":return e==String(t);case"[object Number]":return e!=+e?t!=+t:e==0?1/e==1/t:e==+t;case"[object Date]":case"[object Boolean]":return+e==+t;case"[object RegExp]":return e.source==t.source&&e.global==t.global&&e.multiline==t.multiline&&e.ignoreCase==t.ignoreCase}if(typeof e!="object"||typeof t!="object")return!1;var s=n.length;while(s--)if(n[s]==e)return r[s]==t;var o=e.constructor,u=t.constructor;if(o!==u&&!(N.isFunction(o)&&o instanceof o&&N.isFunction(u)&&u instanceof u)&&"constructor"in e&&"constructor"in t)return!1;n.push(e),r.push(t);var a=0,f=!0;if(i=="[object Array]"){a=e.length,f=a==t.length;if(f)while(a--)if(!(f=D(e[a],t[a],n,r)))break}else{for(var l in e)if(N.has(e,l)){a++;if(!(f=N.has(t,l)&&D(e[l],t[l],n,r)))break}if(f){for(l in t)if(N.has(t,l)&&!(a--))break;f=!a}}return n.pop(),r.pop(),f};N.isEqual=function(e,t){return D(e,t,[],[])},N.isEmpty=function(e){if(e==null)return!0;if(N.isArray(e)||N.isString(e))return e.length===0;for(var t in e)if(N.has(e,t))return!1;return!0},N.isElement=function(e){return!!e&&e.nodeType===1},N.isArray=S||function(e){return c.call(e)=="[object Array]"},N.isObject=function(e){return e===Object(e)},C(["Arguments","Function","String","Number","Date","RegExp"],function(e){N["is"+e]=function(t){return c.call(t)=="[object "+e+"]"}}),N.isArguments(arguments)||(N.isArguments=function(e){return!!e&&!!N.has(e,"callee")}),typeof /./!="function"&&(N.isFunction=function(e){return typeof e=="function"}),N.isFinite=function(e){return isFinite(e)&&!isNaN(parseFloat(e))},N.isNaN=function(e){return N.isNumber(e)&&e!=+e},N.isBoolean=function(e){return e===!0||e===!1||c.call(e)=="[object Boolean]"},N.isNull=function(e){return e===null},N.isUndefined=function(e){return e===void 0},N.has=function(e,t){return h.call(e,t)},N.noConflict=function(){return e._=r,this},N.identity=function(e){return e},N.constant=function(e){return function(){return e}},N.property=function(e){return function(t){return t[e]}},N.matches=function(e){return function(t){if(t===e)return!0;for(var n in e)if(e[n]!==t[n])return!1;return!0}},N.times=function(e,t,n){var r=Array(Math.max(0,e));for(var i=0;i<e;i++)r[i]=t.call(n,i);return r},N.random=function(e,t){return t==null&&(t=e,e=0),e+Math.floor(Math.random()*(t-e+1))},N.now=Date.now||function(){return(new Date).getTime()};var P={escape:{"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#x27;"}};P.unescape=N.invert(P.escape);var H={escape:new RegExp("["+N.keys(P.escape).join("")+"]","g"),unescape:new RegExp("("+N.keys(P.unescape).join("|")+")","g")};N.each(["escape","unescape"],function(e){N[e]=function(t){return t==null?"":(""+t).replace(H[e],function(t){return P[e][t]})}}),N.result=function(e,t){if(e==null)return void 0;var n=e[t];return N.isFunction(n)?n.call(e):n},N.mixin=function(e){C(N.functions(e),function(t){var n=N[t]=e[t];N.prototype[t]=function(){var e=[this._wrapped];return a.apply(e,arguments),q.call(this,n.apply(N,e))}})};var B=0;N.uniqueId=function(e){var t=++B+"";return e?e+t:t},N.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g};var j=/(.)^/,F={"'":"'","\\":"\\","\r":"r","\n":"n"," ":"t","\u2028":"u2028","\u2029":"u2029"},I=/\\|'|\r|\n|\t|\u2028|\u2029/g;N.template=function(e,t,n){var r;n=N.defaults({},n,N.templateSettings);var i=new RegExp([(n.escape||j).source,(n.interpolate||j).source,(n.evaluate||j).source].join("|")+"|$","g"),s=0,o="__p+='";e.replace(i,function(t,n,r,i,u){return o+=e.slice(s,u).replace(I,function(e){return"\\"+F[e]}),n&&(o+="'+\n((__t=("+n+"))==null?'':_.escape(__t))+\n'"),r&&(o+="'+\n((__t=("+r+"))==null?'':__t)+\n'"),i&&(o+="';\n"+i+"\n__p+='"),s=u+t.length,t}),o+="';\n",n.variable||(o="with(obj||{}){\n"+o+"}\n"),o="var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'');};\n"+o+"return __p;\n";try{r=new Function(n.variable||"obj","_",o)}catch(u){throw u.source=o,u}if(t)return r(t,N);var a=function(e){return r.call(this,e,N)};return a.source="function("+(n.variable||"obj")+"){\n"+o+"}",a},N.chain=function(e){return N(e).chain()};var q=function(e){return this._chain?N(e).chain():e};N.mixin(N),C(["pop","push","reverse","shift","sort","splice","unshift"],function(e){var t=s[e];N.prototype[e]=function(){var n=this._wrapped;return t.apply(n,arguments),(e=="shift"||e=="splice")&&n.length===0&&delete n[0],q.call(this,n)}}),C(["concat","join","slice"],function(e){var t=s[e];N.prototype[e]=function(){return q.call(this,t.apply(this._wrapped,arguments))}}),N.extend(N.prototype,{chain:function(){return this._chain=!0,this},value:function(){return this._wrapped}}),typeof define=="function"&&define.amd&&define("underscore",[],function(){return N})}).call(this)},{}],3:[function(e,t,n){var r=e("underscore"),i=e("events"),s=e("./vars.js"),o=e("./messages.js"),u=e("./lex.js").Lexer,a=e("./reg.js"),f=e("./state.js").state,l=e("./style.js"),c=function(){"use strict";function I(e,t){return e=e.trim(),/^[+-]W\d{3}$/g.test(e)?!0:p[e]===undefined&&h[e]===undefined&&t.type!=="jslint"&&!m[e]?(G("E001",t,e),!1):!0}function q(e){return Object.prototype.toString.call(e)==="[object String]"}function R(e,t){return e?!e.identifier||e.value!==t?!1:!0:!1}function U(e){if(!e.reserved)return!1;var t=e.meta;if(t&&t.isFutureReservedWord&&f.option.inES5()){if(!t.es5)return!1;if(t.strictOnly&&!f.option.strict&&!f.directive["use strict"])return!1;if(e.isProperty)return!1}return!0}function z(e,t){return e.replace(/\{([^{}]*)\}/g,function(e,n){var r=t[n];return typeof r=="string"||typeof r=="number"?r:e})}function W(e,t){Object.keys(t).forEach(function(n){if(r.has(c.blacklist,n))return;e[n]=t[n]})}function X(){f.option.esnext&&W(M,s.newEcmaIdentifiers),f.option.couch&&W(M,s.couch),f.option.qunit&&W(M,s.qunit),f.option.rhino&&W(M,s.rhino),f.option.shelljs&&(W(M,s.shelljs),W(M,s.node)),f.option.typed&&W(M,s.typed),f.option.phantom&&W(M,s.phantom),f.option.prototypejs&&W(M,s.prototypejs),f.option.node&&(W(M,s.node),W(M,s.typed)),f.option.devel&&W(M,s.devel),f.option.dojo&&W(M,s.dojo),f.option.browser&&(W(M,s.browser),W(M,s.typed)),f.option.nonstandard&&W(M,s.nonstandard),f.option.jasmine&&W(M,s.jasmine),f.option.jquery&&W(M,s.jquery),f.option.mootools&&W(M,s.mootools),f.option.worker&&W(M,s.worker),f.option.wsh&&W(M,s.wsh),f.option.globalstrict&&f.option.strict!==!1&&(f.option.strict=!0),f.option.yui&&W(M,s.yui),f.option.mocha&&W(M,s.mocha),f.option.inMoz=function(e){return f.option.moz},f.option.inESNext=function(e){return f.option.moz||f.option.esnext},f.option.inES5=function(){return!f.option.es3},f.option.inES3=function(e){return e?!f.option.moz&&!f.option.esnext&&f.option.es3:f.option.es3}}function V(e,t,n){var r=Math.floor(t/f.lines.length*100),i=o.errors[e].desc;throw{name:"JSHintError",line:t,character:n,message:i+" ("+r+"% scanned).",raw:i,code:e}}function $(e,t,n,r){return c.undefs.push([e,t,n,r])}function J(){var e=f.ignoredLines;if(r.isEmpty(e))return;c.errors=r.reject(c.errors,function(t){return e[t.line]})}function K(e,t,n,r,i,s){var u,a,l,h;if(/^W\d{3}$/.test(e)){if(f.ignored[e])return;h=o.warnings[e]}else/E\d{3}/.test(e)?h=o.errors[e]:/I\d{3}/.test(e)&&(h=o.info[e]);return t=t||f.tokens.next,t.id==="(end)"&&(t=f.tokens.curr),a=t.line||0,u=t.from||0,l={id:"(error)",raw:h.desc,code:h.code,evidence:f.lines[a-1]||"",line:a,character:u,scope:c.scope,a:n,b:r,c:i,d:s},l.reason=z(h.desc,l),c.errors.push(l),J(),c.errors.length>=f.option.maxerr&&V("E043",a,u),l}function Q(e,t,n,r,i,s,o){return K(e,{line:t,from:n},r,i,s,o)}function G(e,t,n,r,i,s){K(e,t,n,r,i,s)}function Y(e,t,n,r,i,s,o){return G(e,{line:t,from:n},r,i,s,o)}function Z(e,t){var n;return n={id:"(internal)",elem:e,value:t},c.internals.push(n),n}function et(e,t){t=t||{};var n=t.type,i=t.token,s=t.islet;n==="exception"&&r.has(w["(context)"],e)&&w[e]!==!0&&!f.option.node&&K("W002",f.tokens.next,e),r.has(w,e)&&!w["(global)"]&&(w[e]===!0?f.option.latedef&&(f.option.latedef===!0&&r.contains([w[e],n],"unction")||!r.contains([w[e],n],"unction"))&&K("W003",f.tokens.next,e):((!f.option.shadow||r.contains(["inner","outer"],f.option.shadow))&&n!=="exception"||w["(blockscope)"].getlabel(e))&&K("W004",f.tokens.next,e)),w["(context)"]&&r.has(w["(context)"],e)&&n!=="function"&&f.option.shadow==="outer"&&K("W123",f.tokens.next,e),s?w["(blockscope)"].current.add(e,n,f.tokens.curr):(w["(blockscope)"].shadow(e),w[e]=n,i&&(w["(tokens)"][e]=i),Xt(w,e,{unused:t.unused||!1}),w["(global)"]?(S[e]=w,r.has(x,e)&&(f.option.latedef&&(f.option.latedef===!0&&r.contains([w[e],n],"unction")||!r.contains([w[e],n],"unction"))&&K("W003",f.tokens.next,e),delete x[e])):D[e]=w)}function tt(){var e=f.tokens.next,t=e.body.match(/(-\s+)?[^\s,:]+(?:\s*:\s*(-\s+)?[^\s,]+)?/g)||[],n={};if(e.type==="globals"){t.forEach(function(e){e=e.split(":");var t=(e[0]||"").trim(),r=(e[1]||"").trim();t.charAt(0)==="-"?(t=t.slice(1),r=!1,c.blacklist[t]=t,delete M[t]):n[t]=r==="true"}),W(M,n);for(var i in n)r.has(n,i)&&(g[i]=e)}e.type==="exported"&&t.forEach(function(e){y[e]=!0}),e.type==="members"&&(A=A||{},t.forEach(function(e){var t=e.charAt(0),n=e.charAt(e.length-1);t===n&&(t==='"'||t==="'")&&(e=e.substr(1,e.length-2).replace('\\"','"')),A[e]=!1}));var s=["maxstatements","maxparams","maxdepth","maxcomplexity","maxerr","maxlen","indent"];if(e.type==="jshint"||e.type==="jslint")t.forEach(function(t){t=t.split(":");var n=(t[0]||"").trim(),r=(t[1]||"").trim();if(!I(n,e))return;if(s.indexOf(n)>=0){if(r!=="false"){r=+r;if(typeof r!="number"||!isFinite(r)||r<=0||Math.floor(r)!==r){G("E032",e,t[1].trim());return}f.option[n]=r}else f.option[n]=n==="indent"?4:!1;return}if(n==="validthis"){if(w["(global)"])return void G("E009");if(r!=="true"&&r!=="false")return void G("E002",e);f.option.validthis=r==="true";return}if(n==="quotmark"){switch(r){case"true":case"false":f.option.quotmark=r==="true";break;case"double":case"single":f.option.quotmark=r;break;default:G("E002",e)}return}if(n==="shadow"){switch(r){case"true":f.option.shadow=!0;break;case"outer":f.option.shadow="outer";break;case"false":case"inner":f.option.shadow="inner";break;default:G("E002",e)}return}if(n==="unused"){switch(r){case"true":f.option.unused=!0;break;case"false":f.option.unused=!1;break;case"vars":case"strict":f.option.unused=r;break;default:G("E002",e)}return}if(n==="latedef"){switch(r){case"true":f.option.latedef=!0;break;case"false":f.option.latedef=!1;break;case"nofunc":f.option.latedef="nofunc";break;default:G("E002",e)}return}if(n==="ignore"){switch(r){case"start":f.ignoreLinterErrors=!0;break;case"end":f.ignoreLinterErrors=!1;break;case"line":f.ignoredLines[e.line]=!0,J();break;default:G("E002",e)}return}var i=/^([+-])(W\d{3})$/g.exec(n);if(i){f.ignored[i[2]]=i[1]==="-";return}var o;if(r==="true"||r==="false"){e.type==="jslint"?(o=v[n]||n,f.option[o]=r==="true",d[o]!==undefined&&(f.option[o]=!f.option[o])):f.option[n]=r==="true",n==="newcap"&&(f.option["(explicitNewcap)"]=!0);return}G("E002",e)}),X()}function nt(e){var t=e||0,n=0,r;while(n<=t)r=C[n],r||(r=C[n]=k.token()),n+=1;return r}function rt(t,n){switch(f.tokens.curr.id){case"(number)":f.tokens.next.id==="."&&K("W005",f.tokens.curr);break;case"-":(f.tokens.next.id==="-"||f.tokens.next.id==="--")&&K("W006");break;case"+":(f.tokens.next.id==="+"||f.tokens.next.id==="++")&&K("W007")}if(f.tokens.curr.type==="(string)"||f.tokens.curr.identifier)e=f.tokens.curr.value;t&&f.tokens.next.id!==t&&(n?f.tokens.next.id==="(end)"?G("E019",n,n.id):G("E020",f.tokens.next,t,n.id,n.line,f.tokens.next.value):(f.tokens.next.type!=="(identifier)"||f.tokens.next.value!==t)&&K("W116",f.tokens.next,t,f.tokens.next.value)),f.tokens.prev=f.tokens.curr,f.tokens.curr=f.tokens.next;for(;;){f.tokens.next=C.shift()||k.token(),f.tokens.next||V("E041",f.tokens.curr.line);if(f.tokens.next.id==="(end)"||f.tokens.next.id==="(error)")return;f.tokens.next.check&&f.tokens.next.check();if(f.tokens.next.isSpecial)tt();else if(f.tokens.next.id!=="(endline)")break}}function it(e){return e.infix||!e.identifier&&!!e.led}function st(){var e=f.tokens.curr,t=f.tokens.next;return t.id===";"||t.id==="}"||t.id===":"?!0:it(t)===it(e)||e.id==="yield"&&f.option.inMoz(!0)?e.line!==t.line:!1}function ot(t,n){var i,s=!1,o=!1,u=!1;!n&&f.tokens.next.value==="let"&&nt(0).value==="("&&(f.option.inMoz(!0)||K("W118",f.tokens.next,"let expressions"),u=!0,w["(blockscope)"].stack(),rt("let"),rt("("),f.syntax.let.fud.call(f.syntax.let.fud,!1),rt(")")),f.tokens.next.id==="(end)"&&G("E006",f.tokens.curr);var a=f.option.asi&&f.tokens.prev.line<f.tokens.curr.line&&r.contains(["]",")"],f.tokens.prev.id)&&r.contains(["[","("],f.tokens.curr.id);a&&K("W014",f.tokens.curr,f.tokens.curr.id),rt(),n&&(e="anonymous",w["(verb)"]=f.tokens.curr.value);if(n===!0&&f.tokens.curr.fud)i=f.tokens.curr.fud();else{f.tokens.curr.nud?i=f.tokens.curr.nud():G("E030",f.tokens.curr,f.tokens.curr.id);while(t<f.tokens.next.lbp&&!st())s=f.tokens.curr.value==="Array",o=f.tokens.curr.value==="Object",i&&(i.value||i.first&&i.first.value)&&(i.value!=="new"||i.first&&i.first.value&&i.first.value===".")&&(s=!1,i.value!==f.tokens.curr.value&&(o=!1)),rt(),s&&f.tokens.curr.id==="("&&f.tokens.next.id===")"&&K("W009",f.tokens.curr),o&&f.tokens.curr.id==="("&&f.tokens.next.id===")"&&K("W010",f.tokens.curr),i&&f.tokens.curr.led?i=f.tokens.curr.led(i):G("E033",f.tokens.curr,f.tokens.curr.id)}return u&&w["(blockscope)"].unstack(),i}function ut(e,t){e=e||f.tokens.curr,t=t||f.tokens.next,!f.option.laxbreak&&e.line!==t.line&&K("W014",t,t.value)}function at(e){e=e||f.tokens.curr,e.line!==f.tokens.next.line&&K("E022",e,e.value)}function ft(e,t){e.line!==t.line&&(f.option.laxcomma||(lt.first&&(K("I001"),lt.first=!1),K("W014",e,t.value)))}function lt(e){e=e||{},e.peek?ft(f.tokens.prev,f.tokens.curr):(ft(f.tokens.curr,f.tokens.next),rt(","));if(f.tokens.next.identifier&&(!e.property||!f.option.inES5()))switch(f.tokens.next.value){case"break":case"case":case"catch":case"continue":case"default":case"do":case"else":case"finally":case"for":case"if":case"in":case"instanceof":case"return":case"switch":case"throw":case"try":case"var":case"let":case"while":case"with":return G("E024",f.tokens.next,f.tokens.next.value),!1}if(f.tokens.next.type==="(punctuator)")switch(f.tokens.next.value){case"}":case"]":case",":if(e.allowTrailing)return!0;case")":return G("E024",f.tokens.next,f.tokens.next.value),!1}return!0}function ct(e,t){var n=f.syntax[e];if(!n||typeof n!="object")f.syntax[e]=n={id:e,lbp:t,value:e};return n}function ht(e){return ct(e,0)}function pt(e,t){var n=ht(e);return n.identifier=n.reserved=!0,n.fud=t,n}function dt(e,t){var n=pt(e,t);return n.block=!0,n}function vt(e){var t=e.id.charAt(0);if(t>="a"&&t<="z"||t>="A"&&t<="Z")e.identifier=e.reserved=!0;return e}function mt(e,t){var n=ct(e,150);return vt(n),n.nud=typeof t=="function"?t:function(){this.right=ot(150),this.arity="unary";if(this.id==="++"||this.id==="--")f.option.plusplus?K("W016",this,this.id):this.right&&(!this.right.identifier||U(this.right))&&this.right.id!=="."&&this.right.id!=="["&&K("W017",this);return this},n}function gt(e,t){var n=ht(e);return n.type=e,n.nud=t,n}function yt(e,t){var n=gt(e,t);return n.identifier=!0,n.reserved=!0,n}function bt(e,t){var n=gt(e,t&&t.nud||function(){return this});return t=t||{},t.isFutureReservedWord=!0,n.value=e,n.identifier=!0,n.reserved=!0,n.meta=t,n}function wt(e,t){return yt(e,function(){return typeof t=="function"&&t(this),this})}function Et(e,t,n,r){var i=ct(e,n);return vt(i),i.infix=!0,i.led=function(i){return r||ut(f.tokens.prev,f.tokens.curr),e==="in"&&i.id==="!"&&K("W018",i,"!"),typeof t=="function"?t(i,this):(this.left=i,this.right=ot(n),this)},i}function St(e){var t=ct(e,42);return t.led=function(e){return f.option.inESNext()||K("W104",f.tokens.curr,"arrow function syntax (=>)"),ut(f.tokens.prev,f.tokens.curr),this.left=e,this.right=Jt(undefined,undefined,!1,e),this},t}function xt(e,t){var n=ct(e,100);return n.led=function(e){ut(f.tokens.prev,f.tokens.curr);var n=ot(100);return R(e,"NaN")||R(n,"NaN")?K("W019",this):t&&t.apply(this,[e,n]),(!e||!n)&&V("E041",f.tokens.curr.line),e.id==="!"&&K("W018",e,"!"),n.id==="!"&&K("W018",n,"!"),this.left=e,this.right=n,this},n}function Tt(e){return e&&(e.type==="(number)"&&+e.value===0||e.type==="(string)"&&e.value===""||e.type==="null"&&!f.option.eqnull||e.type==="true"||e.type==="false"||e.type==="undefined")}function Nt(e,t){if(f.option.notypeof)return!1;if(!e||!t)return!1;var n=["undefined","object","boolean","number","string","function","xml","object","unknown"];return t.type==="(identifier)"&&t.value==="typeof"&&e.type==="(string)"?!r.contains(n,e.value):!1}function Ct(e){function n(e){if(typeof e!="object")return;return e.right==="prototype"?e:n(e.left)}function r(e){while(!e.identifier&&typeof e.left=="object")e=e.left;if(e.identifier&&t.indexOf(e.value)>=0)return e.value}var t=["Array","ArrayBuffer","Boolean","Collator","DataView","Date","DateTimeFormat","Error","EvalError","Float32Array","Float64Array","Function","Infinity","Intl","Int16Array","Int32Array","Int8Array","Iterator","Number","NumberFormat","Object","RangeError","ReferenceError","RegExp","StopIteration","String","SyntaxError","TypeError","Uint16Array","Uint32Array","Uint8Array","Uint8ClampedArray","URIError"],i=n(e);if(i)return r(i)}function kt(e,t,n){var r=Et(e,typeof t=="function"?t:function(e,t){t.left=e;if(e){if(f.option.freeze){var n=Ct(e);n&&K("W121",e,n)}M[e.value]===!1&&D[e.value]["(global)"]===!0?K("W020",e):e["function"]&&K("W021",e,e.value),w[e.value]==="const"&&G("E013",e,e.value);if(e.id===".")return e.left?e.left.value==="arguments"&&!f.directive["use strict"]&&K("E031",t):K("E031",t),t.right=ot(10),t;if(e.id==="[")return f.tokens.curr.left.first?f.tokens.curr.left.first.forEach(function(e){e&&w[e.value]==="const"&&G("E013",e,e.value)}):e.left?e.left.value==="arguments"&&!f.directive["use strict"]&&K("E031",t):K("E031",t),t.right=ot(10),t;if(e.identifier&&!U(e))return w[e.value]==="exception"&&K("W022",e),t.right=ot(10),t;e===f.syntax["function"]&&K("W023",f.tokens.curr)}G("E031",t)},n);return r.exps=!0,r.assign=!0,r}function Lt(e,t,n){var r=ct(e,n);return vt(r),r.led=typeof t=="function"?t:function(e){return f.option.bitwise&&K("W016",this,this.id),this.left=e,this.right=ot(n),this},r}function At(e){return kt(e,function(e,t){f.option.bitwise&&K("W016",t,t.id);if(e)return e.id==="."||e.id==="["||e.identifier&&!U(e)?(ot(10),t):(e===f.syntax["function"]&&K("W023",f.tokens.curr),t);G("E031",t)},20)}function Ot(e){var t=ct(e,150);return t.led=function(e){return f.option.plusplus?K("W016",this,this.id):(!e.identifier||U(e))&&e.id!=="."&&e.id!=="["&&K("W017",this),this.left=e,this},t}function Mt(e,t){if(!f.tokens.next.identifier)return;rt();var n=f.tokens.curr,r=f.tokens.curr.value;return U(n)?t&&f.option.inES5()?r:e&&r==="undefined"?r:(K("W024",f.tokens.curr,f.tokens.curr.id),r):r}function _t(e,t){var n=Mt(e,t);if(n)return n;f.tokens.curr.id==="function"&&f.tokens.next.id==="("?K("W025"):G("E030",f.tokens.next,f.tokens.next.value)}function Dt(e){var t=0,n;if(f.tokens.next.id!==";"||O)return;for(;;){do n=nt(t),t+=1;while(n.id!="(end)"&&n.id==="(comment)");if(n.reach)return;if(n.id!=="(endline)"){if(n.id==="function"){f.option.latedef===!0&&K("W026",n);break}K("W027",n,n.value,e);break}}}function Pt(){f.tokens.next.id!==";"?f.option.asi||(!f.option.lastsemic||f.tokens.next.id!=="}"||f.tokens.next.line!==f.tokens.curr.line)&&Q("W033",f.tokens.curr.line,f.tokens.curr.character):rt(";")}function Ht(){var e,t=N,n,i=D,s=f.tokens.next;if(s.id===";"){rt(";");return}var o=U(s);o&&s.meta&&s.meta.isFutureReservedWord&&nt().id===":"&&(K("W024",s,s.id),o=!1);if(s.value==="module"&&s.type==="(identifier)"&&nt().type==="(identifier)"){f.option.inESNext()||K("W119",f.tokens.curr,"module"),rt("module");var u=_t();et(u,{type:"unused",token:f.tokens.curr}),rt("from"),rt("(string)"),Pt();return}if(r.has(["[","{"],s.value)&&on().isDestAssign){f.option.inESNext()||K("W104",f.tokens.curr,"destructuring expression"),e=Yt(),e.forEach(function(e){$(w,"W117",e.token,e.id)}),rt("="),Zt(e,ot(10,!0)),rt(";");return}s.identifier&&!o&&nt().id===":"&&(rt(),rt(":"),D=Object.create(i),et(s.value,{type:"label"}),!f.tokens.next.labelled&&f.tokens.next.value!=="{"&&K("W028",f.tokens.next,s.value,f.tokens.next.value),f.tokens.next.label=s.value,s=f.tokens.next);if(s.id==="{"){var a=w["(verb)"]==="case"&&f.tokens.curr.value===":";Ft(!0,!0,!1,!1,a);return}return n=ot(0,!0),n&&(!n.identifier||n.value!=="function")&&n.type!=="(punctuator)"&&!f.directive["use strict"]&&f.option.globalstrict&&f.option.strict&&K("E007"),s.block||(!f.option.expr&&(!n||!n.exps)?K("W030",f.tokens.curr):f.option.nonew&&n&&n.left&&n.id==="("&&n.left.id==="new"&&K("W031",s),Pt()),N=t,D=i,n}function Bt(e){var t=[],n;while(!f.tokens.next.reach&&f.tokens.next.id!=="(end)")f.tokens.next.id===";"?(n=nt(),(!n||n.id!=="("&&n.id!=="[")&&K("W032"),rt(";")):t.push(Ht(e===f.tokens.next.line));return t}function jt(){var e,t,n;for(;;){if(f.tokens.next.id==="(string)"){t=nt(0);if(t.id==="(endline)"){e=1;do n=nt(e),e+=1;while(n.id==="(endline)");if(n.id!==";"){if(n.id!=="(string)"&&n.id!=="(number)"&&n.id!=="(regexp)"&&n.identifier!==!0&&n.id!=="}")break;K("W033",f.tokens.next)}else t=n}else if(t.id==="}")K("W033",t);else if(t.id!==";")break;rt(),f.directive[f.tokens.curr.value]&&K("W034",f.tokens.curr,f.tokens.curr.value),f.tokens.curr.value==="use strict"&&(f.option["(explicitNewcap)"]||(f.option.newcap=!0),f.option.undef=!0),f.directive[f.tokens.curr.value]=!0,t.id===";"&&rt(";");continue}break}}function Ft(e,t,n,i,s){var o,u=T,a=N,l,c=D,h,p,d;T=e;if(!e||!f.option.funcscope)D=Object.create(D);h=f.tokens.next;var v=w["(metrics)"];v.nestedBlockDepth+=1,v.verifyMaxNestedBlockDepthPerFunction();if(f.tokens.next.id==="{"){rt("{"),w["(blockscope)"].stack(),p=f.tokens.curr.line;if(f.tokens.next.id!=="}"){N+=f.option.indent;while(!e&&f.tokens.next.from>N)N+=f.option.indent;if(n){l={};for(d in f.directive)r.has(f.directive,d)&&(l[d]=f.directive[d]);jt(),f.option.strict&&w["(context)"]["(global)"]&&!l["use strict"]&&!f.directive["use strict"]&&K("E007")}o=Bt(p),v.statementCount+=o.length,n&&(f.directive=l),N-=f.option.indent}rt("}",h),w["(blockscope)"].unstack(),N=a}else if(!e)if(n){l={},t&&!i&&!f.option.inMoz(!0)&&G("W118",f.tokens.curr,"function closure expressions");if(!t)for(d in f.directive)r.has(f.directive,d)&&(l[d]=f.directive[d]);ot(10),f.option.strict&&w["(context)"]["(global)"]&&!l["use strict"]&&!f.directive["use strict"]&&K("E007")}else G("E021",f.tokens.next,"{",f.tokens.next.value);else w["(nolet)"]=!0,(!t||f.option.curly)&&K("W116",f.tokens.next,"{",f.tokens.next.value),O=!0,N+=f.option.indent,o=[Ht()],N-=f.option.indent,O=!1,delete w["(nolet)"];switch(w["(verb)"]){case"break":case"continue":case"return":case"throw":if(s)break;default:w["(verb)"]=null}if(!e||!f.option.funcscope)D=c;return T=u,e&&f.option.noempty&&(!o||o.length===0)&&K("W035"),v.nestedBlockDepth-=1,o}function It(e){A&&typeof A[e]!="boolean"&&K("W036",f.tokens.curr,e),typeof L[e]=="number"?L[e]+=1:L[e]=1}function qt(e){var t=e.value,n=Object.getOwnPropertyDescriptor(x,t);n?n.value.push(e.line):x[t]=[e.line]}function Ut(){var e={};e.exps=!0,w["(comparray)"].stack();var t=!1;return f.tokens.next.value!=="for"&&(t=!0,f.option.inMoz(!0)||K("W116",f.tokens.next,"for",f.tokens.next.value),w["(comparray)"].setState("use"),e.right=ot(10)),rt("for"),f.tokens.next.value==="each"&&(rt("each"),f.option.inMoz(!0)||K("W118",f.tokens.curr,"for each")),rt("("),w["(comparray)"].setState("define"),e.left=ot(130),r.contains(["in","of"],f.tokens.next.value)?rt():G("E045",f.tokens.curr),w["(comparray)"].setState("generate"),ot(10),rt(")"),f.tokens.next.value==="if"&&(rt("if"),rt("("),w["(comparray)"].setState("filter"),e.filter=ot(10),rt(")")),t||(w["(comparray)"].setState("use"),e.right=ot(10)),rt("]"),w["(comparray)"].unstack(),e}function zt(){var e=Mt(!1,!0);return e||(f.tokens.next.id==="(string)"?(e=f.tokens.next.value,rt()):f.tokens.next.id==="(number)"&&(e=f.tokens.next.value.toString(),rt())),e==="hasOwnProperty"&&K("W001"),e}function Wt(e){var t,n,i=[],s,o=[],u,a=!1;if(e){if(Array.isArray(e)){for(var l in e){t=e[l];if(t.value==="..."){f.option.inESNext()||K("W104",t,"spread/rest operator");continue}t.value!==","&&(i.push(t.value),et(t.value,{type:"unused",token:t}))}return i}if(e.identifier===!0)return et(e.value,{type:"unused",token:e}),[e]}n=f.tokens.next,rt("(");if(f.tokens.next.id===")"){rt(")");return}for(;;){if(r.contains(["{","["],f.tokens.next.id)){o=Yt();for(u in o)u=o[u],u.id&&(i.push(u.id),et(u.id,{type:"unused",token:u.token}))}else f.tokens.next.value==="..."?(f.option.inESNext()||K("W104",f.tokens.next,"spread/rest operator"),rt("..."),s=_t(!0),i.push(s),et(s,{type:"unused",token:f.tokens.curr})):(s=_t(!0),i.push(s),et(s,{type:"unused",token:f.tokens.curr}));a&&f.tokens.next.id!=="="&&G("E051",f.tokens.current),f.tokens.next.id==="="&&(f.option.inESNext()||K("W119",f.tokens.next,"default parameters"),rt("="),a=!0,ot(10));if(f.tokens.next.id!==",")return rt(")",n),i;lt()}}function Xt(e,t,n){e["(properties)"][t]||(e["(properties)"][t]={unused:!1}),r.extend(e["(properties)"][t],n)}function Vt(e,t,n){return e["(properties)"][t]?e["(properties)"][t][n]||null:null}function $t(e,t,n,i){var s={"(name)":e,"(breakage)":0,"(loopage)":0,"(scope)":n,"(tokens)":{},"(properties)":{},"(catch)":!1,"(global)":!1,"(line)":null,"(character)":null,"(metrics)":null,"(statement)":null,"(context)":null,"(blockscope)":null,"(comparray)":null,"(generator)":null,"(params)":null};return t&&r.extend(s,{"(line)":t.line,"(character)":t.character,"(metrics)":Kt(t)}),r.extend(s,i),s["(context)"]&&(s["(blockscope)"]=s["(context)"]["(blockscope)"],s["(comparray)"]=s["(context)"]["(comparray)"]),s}function Jt(t,n,i,s){var o,u=f.option,a=f.ignored,l=D;return f.option=Object.create(f.option),f.ignored=Object.create(f.ignored),D=Object.create(D),w=$t(t||'"'+e+'"',f.tokens.next,D,{"(statement)":n,"(context)":w,"(generator)":i?!0:null}),o=w,f.tokens.curr.funct=w,E.push(w),t&&et(t,{type:"function"}),w["(params)"]=Wt(s),w["(metrics)"].verifyMaxParametersPerFunction(w["(params)"]),c.undefs=r.filter(c.undefs,function(e){return!r.contains(r.union(s),e[2])}),Ft(!1,!0,!0,s?!0:!1),!f.option.noyield&&i&&w["(generator)"]!=="yielded"&&K("W124",f.tokens.curr),w["(metrics)"].verifyMaxStatementsPerFunction(),w["(metrics)"].verifyMaxComplexityPerFunction(),w["(unusedOption)"]=f.option.unused,D=l,f.option=u,f.ignored=a,w["(last)"]=f.tokens.curr.line,w["(lastcharacter)"]=f.tokens.curr.character,r.map(Object.keys(w),function(e){if(e[0]==="(")return;w["(blockscope)"].unshadow(e)}),w=w["(context)"],o}function Kt(e){return{statementCount:0,nestedBlockDepth:-1,ComplexityCount:1,verifyMaxStatementsPerFunction:function(){f.option.maxstatements&&this.statementCount>f.option.maxstatements&&K("W071",e,this.statementCount)},verifyMaxParametersPerFunction:function(t){t=t||[],f.option.maxparams&&t.length>f.option.maxparams&&K("W072",e,t.length)},verifyMaxNestedBlockDepthPerFunction:function(){f.option.maxdepth&&this.nestedBlockDepth>0&&this.nestedBlockDepth===f.option.maxdepth+1&&K("W073",null,this.nestedBlockDepth)},verifyMaxComplexityPerFunction:function(){var t=f.option.maxcomplexity,n=this.ComplexityCount;t&&n>t&&K("W074",e,n)}}}function Qt(){w["(metrics)"].ComplexityCount+=1}function Gt(e){var t,n;e&&(t=e.id,n=e.paren,t===","&&(e=e.exprs[e.exprs.length-1])&&(t=e.id,n=n||e.paren));switch(t){case"=":case"+=":case"-=":case"*=":case"%=":case"&=":case"|=":case"^=":case"/=":!n&&!f.option.boss&&K("W084")}}function Yt(){var e,t,n=[];f.option.inESNext()||K("W104",f.tokens.curr,"destructuring expression");var i=function(){var e;if(r.contains(["[","{"],f.tokens.next.value)){t=Yt();for(var s in t)s=t[s],n.push({id:s.id,token:s.token})}else f.tokens.next.value===","?n.push({id:null,token:f.tokens.curr}):f.tokens.next.value==="("?(rt("("),i(),rt(")")):(e=_t(),e&&n.push({id:e,token:f.tokens.curr}))};if(f.tokens.next.value==="["){rt("["),i();while(f.tokens.next.value!=="]")rt(","),i();rt("]")}else if(f.tokens.next.value==="{"){rt("{"),e=_t(),f.tokens.next.value===":"?(rt(":"),i()):n.push({id:e,token:f.tokens.curr});while(f.tokens.next.value!=="}")rt(","),e=_t(),f.tokens.next.value===":"?(rt(":"),i()):n.push({id:e,token:f.tokens.curr});rt("}")}return n}function Zt(e,t){var n=t.first;if(!n)return;r.zip(e,Array.isArray(n)?n:[n]).forEach(function(e){var t=e[0],n=e[1];t&&n?t.first=n:t&&t.first&&!n&&K("W080",t.first,t.first.value)})}function rn(e){return f.option.inESNext()||K("W104",f.tokens.curr,"class"),e?(this.name=_t(),et(this.name,{type:"unused",token:f.tokens.curr})):f.tokens.next.identifier&&f.tokens.next.value!=="extends"&&(this.name=_t()),sn(this),this}function sn(e){var t=f.directive["use strict"];f.tokens.next.value==="extends"&&(rt("extends"),e.heritage=ot(10)),f.directive["use strict"]=!0,rt("{"),e.body=f.syntax["{"].nud(!0),f.directive["use strict"]=t}function un(){var e=on();e.notJson?(!f.option.inESNext()&&e.isDestAssign&&K("W104",f.tokens.curr,"destructuring assignment"),Bt()):(f.option.laxbreak=!0,f.jsonMode=!0,fn())}function fn(){function e(){var e={},t=f.tokens.next;rt("{");if(f.tokens.next.id!=="}")for(;;){if(f.tokens.next.id==="(end)")G("E026",f.tokens.next,t.line);else{if(f.tokens.next.id==="}"){K("W094",f.tokens.curr);break}f.tokens.next.id===","?G("E028",f.tokens.next):f.tokens.next.id!=="(string)"&&K("W095",f.tokens.next,f.tokens.next.value)}e[f.tokens.next.value]===!0?K("W075",f.tokens.next,f.tokens.next.value):f.tokens.next.value==="__proto__"&&!f.option.proto||f.tokens.next.value==="__iterator__"&&!f.option.iterator?K("W096",f.tokens.next,f.tokens.next.value):e[f.tokens.next.value]=!0,rt(),rt(":"),fn();if(f.tokens.next.id!==",")break;rt(",")}rt("}")}function t(){var e=f.tokens.next;rt("[");if(f.tokens.next.id!=="]")for(;;){if(f.tokens.next.id==="(end)")G("E027",f.tokens.next,e.line);else{if(f.tokens.next.id==="]"){K("W094",f.tokens.curr);break}f.tokens.next.id===","&&G("E028",f.tokens.next)}fn();if(f.tokens.next.id!==",")break;rt(",")}rt("]")}switch(f.tokens.next.id){case"{":e();break;case"[":t();break;case"true":case"false":case"null":case"(number)":case"(string)":rt();break;case"-":rt("-"),rt("(number)");break;default:G("E003",f.tokens.next)}}var e,t,n={"<":!0,"<=":!0,"==":!0,"===":!0,"!==":!0,"!=":!0,">":!0,">=":!0,"+":!0,"-":!0,"*":!0,"/":!0,"%":!0},h={asi:!0,bitwise:!0,boss:!0,browser:!0,camelcase:!0,couch:!0,curly:!0,debug:!0,devel:!0,dojo:!0,eqeqeq:!0,eqnull:!0,notypeof:!0,es3:!0,es5:!0,esnext:!0,moz:!0,evil:!0,expr:!0,forin:!0,funcscope:!0,globalstrict:!0,immed:!0,iterator:!0,jasmine:!0,jquery:!0,lastsemic:!0,laxbreak:!0,laxcomma:!0,loopfunc:!0,mootools:!0,multistr:!0,freeze:!0,newcap:!0,noarg:!0,node:!0,noempty:!0,nonbsp:!0,nonew:!0,nonstandard:!0,phantom:!0,plusplus:!0,proto:!0,prototypejs:!0,qunit:!0,rhino:!0,shelljs:!0,typed:!0,undef:!0,scripturl:!0,strict:!0,sub:!0,supernew:!0,validthis:!0,withstmt:!0,worker:!0,wsh:!0,yui:!0,mocha:!0,noyield:!0,onecase:!0,regexp:!0,regexdash:!0},p={maxlen:!1,indent:!1,maxerr:!1,predef:!1,globals:!1,quotmark:!1,scope:!1,maxstatements:!1,maxdepth:!1,maxparams:!1,maxcomplexity:!1,shadow:!1,unused:!0,latedef:!1,ignore:!1},d={bitwise:!0,forin:!0,newcap:!0,plusplus:!0,regexp:!0,undef:!0,eqeqeq:!0,strict:!0},v={eqeq:"eqeqeq",windows:"wsh",sloppy:"strict"},m={nomen:!0,onevar:!0,passfail:!0,white:!0,gcl:!0,smarttabs:!0,trailing:!0},g,y,b=["closure","exception","global","label","outer","unused","var"],w,E,S,x,T,N,C,k,L,A,O,M,D,P,H,B,j=[],F=new i.EventEmitter;gt("(number)",function(){return this}),gt("(string)",function(){return this}),gt("(template)",function(){return this}),f.syntax["(identifier)"]={type:"(identifier)",lbp:0,identifier:!0,nud:function(){var t=this.value,n=D[t],r,i;typeof n=="function"?n=undefined:!w["(blockscope)"].current.has(t)&&typeof n=="boolean"&&(r=w,w=E[0],et(t,{type:"var"}),n=w,w=r),i=w["(blockscope)"].getlabel(t);if(w===n||i)switch(i?i[t]["(type)"]:w[t]){case"unused":i?i[t]["(type)"]="var":w[t]="var";break;case"unction":i?i[t]["(type)"]="function":w[t]="function",this["function"]=!0;break;case"const":Xt(w,t,{unused:!1});break;case"function":this["function"]=!0;break;case"label":K("W037",f.tokens.curr,t)}else if(w["(global)"])typeof M[t]!="boolean"&&(e!=="typeof"&&e!=="delete"||f.tokens.next&&(f.tokens.next.value==="."||f.tokens.next.value==="["))&&(w["(comparray)"].check(t)||$(w,"W117",f.tokens.curr,t)),qt(f.tokens.curr);else switch(w[t]){case"closure":case"function":case"var":case"unused":K("W038",f.tokens.curr,t);break;case"label":K("W037",f.tokens.curr,t);break;case"outer":case"global":break;default:if(n===!0)w[t]=!0;else if(n===null)K("W039",f.tokens.curr,t),qt(f.tokens.curr);else if(typeof n!="object")(e!=="typeof"&&e!=="delete"||f.tokens.next&&(f.tokens.next.value==="."||f.tokens.next.value==="["))&&$(w,"W117",f.tokens.curr,t),w[t]=!0,qt(f.tokens.curr);else switch(n[t]){case"function":case"unction":this["function"]=!0,n[t]="closure",w[t]=n["(global)"]?"global":"outer";break;case"var":case"unused":n[t]="closure",w[t]=n["(global)"]?"global":"outer";break;case"const":Xt(n,t,{unused:!1});break;case"closure":w[t]=n["(global)"]?"global":"outer";break;case"label":K("W037",f.tokens.curr,t)}}return this},led:function(){G("E033",f.tokens.next,f.tokens.next.value)}},gt("(regexp)",function(){return this}),ht("(endline)"),ht("(begin)"),ht("(end)").reach=!0,ht("(error)").reach=!0,ht("}").reach=!0,ht(")"),ht("]"),ht('"').reach=!0,ht("'").reach=!0,ht(";"),ht(":").reach=!0,ht("#"),yt("else"),yt("case").reach=!0,yt("catch"),yt("default").reach=!0,yt("finally"),wt("arguments",function(e){f.directive["use strict"]&&w["(global)"]&&K("E008",e)}),wt("eval"),wt("false"),wt("Infinity"),wt("null"),wt("this",function(e){f.directive["use strict"]&&!f.option.validthis&&(w["(statement)"]&&w["(name)"].charAt(0)>"Z"||w["(global)"])&&K("W040",e)}),wt("true"),wt("undefined"),kt("=","assign",20),kt("+=","assignadd",20),kt("-=","assignsub",20),kt("*=","assignmult",20),kt("/=","assigndiv",20).nud=function(){G("E014")},kt("%=","assignmod",20),At("&=","assignbitand",20),At("|=","assignbitor",20),At("^=","assignbitxor",20),At("<<=","assignshiftleft",20),At(">>=","assignshiftright",20),At(">>>=","assignshiftrightunsigned",20),Et(",",function(e,t){var n;t.exprs=[e];if(!lt({peek:!0}))return t;for(;;){if(!(n=ot(10)))break;t.exprs.push(n);if(f.tokens.next.value!==","||!lt())break}return t},10,!0),Et("?",function(e,t){return Qt(),t.left=e,t.right=ot(10),rt(":"),t["else"]=ot(10),t},30);var Rt=40;Et("||",function(e,t){return Qt(),t.left=e,t.right=ot(Rt),t},Rt),Et("&&","and",50),Lt("|","bitor",70),Lt("^","bitxor",80),Lt("&","bitand",90),xt("==",function(e,t){var n=f.option.eqnull&&(e.value==="null"||t.value==="null");switch(!0){case!n&&f.option.eqeqeq:this.from=this.character,K("W116",this,"===","==");break;case Tt(e):K("W041",this,"===",e.value);break;case Tt(t):K("W041",this,"===",t.value);break;case Nt(t,e):K("W122",this,t.value);break;case Nt(e,t):K("W122",this,e.value)}return this}),xt("===",function(e,t){return Nt(t,e)?K("W122",this,t.value):Nt(e,t)&&K("W122",this,e.value),this}),xt("!=",function(e,t){var n=f.option.eqnull&&(e.value==="null"||t.value==="null");return!n&&f.option.eqeqeq?(this.from=this.character,K("W116",this,"!==","!=")):Tt(e)?K("W041",this,"!==",e.value):Tt(t)?K("W041",this,"!==",t.value):Nt(t,e)?K("W122",this,t.value):Nt(e,t)&&K("W122",this,e.value),this}),xt("!==",function(e,t){return Nt(t,e)?K("W122",this,t.value):Nt(e,t)&&K("W122",this,e.value),this}),xt("<"),xt(">"),xt("<="),xt(">="),Lt("<<","shiftleft",120),Lt(">>","shiftright",120),Lt(">>>","shiftrightunsigned",120),Et("in","in",120),Et("instanceof","instanceof",120),Et("+",function(e,t){var n=ot(130);return e&&n&&e.id==="(string)"&&n.id==="(string)"?(e.value+=n.value,e.character=n.character,!f.option.scripturl&&a.javascriptURL.test(e.value)&&K("W050",e),e):(t.left=e,t.right=n,t)},130),mt("+","num"),mt("+++",function(){return K("W007"),this.right=ot(150),this.arity="unary",this}),Et("+++",function(e){return K("W007"),this.left=e,this.right=ot(130),this},130),Et("-","sub",130),mt("-","neg"),mt("---",function(){return K("W006"),this.right=ot(150),this.arity="unary",this}),Et("---",function(e){return K("W006"),this.left=e,this.right=ot(130),this},130),Et("*","mult",140),Et("/","div",140),Et("%","mod",140),Ot("++","postinc"),mt("++","preinc"),f.syntax["++"].exps=!0,Ot("--","postdec"),mt("--","predec"),f.syntax["--"].exps=!0,mt("delete",function(){var e=ot(10);return(!e||e.id!=="."&&e.id!=="[")&&K("W051"),this.first=e,this}).exps=!0,mt("~",function(){return f.option.bitwise&&K("W052",this,"~"),ot(150),this}),mt("...",function(){return f.option.inESNext()||K("W104",this,"spread/rest operator"),f.tokens.next.identifier||G("E030",f.tokens.next,f.tokens.next.value),ot(150),this}),mt("!",function(){return this.right=ot(150),this.arity="unary",this.right||V("E041",this.line||0),n[this.right.id]===!0&&K("W018",this,"!"),this}),mt("typeof","typeof"),mt("new",function(){var e=ot(155),t;if(e&&e.id!=="function")if(e.identifier){e["new"]=!0;switch(e.value){case"Number":case"String":case"Boolean":case"Math":case"JSON":K("W053",f.tokens.prev,e.value);break;case"Function":f.option.evil||K("W054");break;case"Date":case"RegExp":case"this":break;default:e.id!=="function"&&(t=e.value.substr(0,1),f.option.newcap&&(t<"A"||t>"Z")&&!r.has(S,e.value)&&K("W055",f.tokens.curr))}}else e.id!=="."&&e.id!=="["&&e.id!=="("&&K("W056",f.tokens.curr);else f.option.supernew||K("W057",this);return f.tokens.next.id!=="("&&!f.option.supernew&&K("W058",f.tokens.curr,f.tokens.curr.value),this.first=e,this}),f.syntax["new"].exps=!0,mt("void").exps=!0,Et(".",function(e,t){var n=_t(!1,!0);return typeof n=="string"&&It(n),t.left=e,t.right=n,n&&n==="hasOwnProperty"&&f.tokens.next.value==="="&&K("W001"),!e||e.value!=="arguments"||n!=="callee"&&n!=="caller"?!f.option.evil&&e&&e.value==="document"&&(n==="write"||n==="writeln")&&K("W060",e):f.option.noarg?K("W059",e,n):f.directive["use strict"]&&G("E008"),!f.option.evil&&(n==="eval"||n==="execScript")&&K("W061"),t},160,!0),Et("(",function(e,t){f.option.immed&&e&&!e.immed&&e.id==="function"&&K("W062");var n=0,r=[];e&&e.type==="(identifier)"&&e.value.match(/^[A-Z]([A-Z0-9_$]*[a-z][A-Za-z0-9_$]*)?$/)&&"Number String Boolean Date Object Error".indexOf(e.value)===-1&&(e.value==="Math"?K("W063",e):f.option.newcap&&K("W064",e));if(f.tokens.next.id!==")")for(;;){r[r.length]=ot(10),n+=1;if(f.tokens.next.id!==",")break;lt()}return rt(")"),typeof e=="object"&&(f.option.inES3()&&e.value==="parseInt"&&n===1&&K("W065",f.tokens.curr),f.option.evil||(e.value==="eval"||e.value==="Function"||e.value==="execScript"?(K("W061",e),r[0]&&[0].id==="(string)"&&Z(e,r[0].value)):!r[0]||r[0].id!=="(string)"||e.value!=="setTimeout"&&e.value!=="setInterval"?r[0]&&r[0].id==="(string)"&&e.value==="."&&e.left.value==="window"&&(e.right==="setTimeout"||e.right==="setInterval")&&(K("W066",e),Z(e,r[0].value)):(K("W066",e),Z(e,r[0].value))),!e.identifier&&e.id!=="."&&e.id!=="["&&e.id!=="("&&e.id!=="&&"&&e.id!=="||"&&e.id!=="?"&&K("W067",e)),t.left=e,t},155,!0).exps=!0,mt("(",function(){var e,t=[],n,i,s=0,o,u=1;do n=nt(s),n.value==="("?u+=1:n.value===")"&&(u-=1),s+=1,i=nt(s);while((u!==0||n.value!==")")&&i.value!=="=>"&&i.value!==";"&&i.type!=="(end)");f.tokens.next.id==="function"&&(f.tokens.next.immed=!0);var a=[];if(f.tokens.next.id!==")")for(;;){if(i.value==="=>"&&r.contains(["{","["],f.tokens.next.value)){e=f.tokens.next,e.left=Yt(),t.push(e);for(var l in e.left)a.push(e.left[l].token)}else a.push(ot(10));if(f.tokens.next.id!==",")break;lt()}rt(")",this),f.option.immed&&a[0]&&a[0].id==="function"&&f.tokens.next.id!=="("&&(f.tokens.next.id!=="."||nt().value!=="call"&&nt().value!=="apply")&&K("W068",this);if(f.tokens.next.value==="=>")return a;if(!a.length)return;return a.length>1?(o=Object.create(f.syntax[","]),o.exprs=a):o=a[0],o&&(o.paren=!0),o}),St("=>"),Et("[",function(e,t){var n=ot(10),r;return n&&n.type==="(string)"&&(!f.option.evil&&(n.value==="eval"||n.value==="execScript")&&K("W061",t),It(n.value),!f.option.sub&&a.identifier.test(n.value)&&(r=f.syntax[n.value],(!r||!U(r))&&K("W069",f.tokens.prev,n.value))),rt("]",t),n&&n.value==="hasOwnProperty"&&f.tokens.next.value==="="&&K("W001"),t.left=e,t.right=n,t},160,!0),mt("[",function(){var e=on(!0);if(e.isCompArray)return f.option.inESNext()||K("W119",f.tokens.curr,"array comprehension"),Ut();e.isDestAssign&&!f.option.inESNext()&&K("W104",f.tokens.curr,"destructuring assignment");var t=f.tokens.curr.line!==f.tokens.next.line;this.first=[],t&&(N+=f.option.indent,f.tokens.next.from===N+f.option.indent&&(N+=f.option.indent));while(f.tokens.next.id!=="(end)"){while(f.tokens.next.id===",")f.option.inES5()||K("W070"),rt(",");if(f.tokens.next.id==="]")break;this.first.push(ot(10));if(f.tokens.next.id!==",")break;lt({allowTrailing:!0});if(f.tokens.next.id==="]"&&!f.option.inES5(!0)){K("W070",f.tokens.curr);break}}return t&&(N-=f.option.indent),rt("]",this),this},160),function(e){e.nud=function(e){function c(e,t){a[e]&&r.has(a,e)?K("W075",f.tokens.next,i):a[e]={},a[e].basic=!0,a[e].basictkn=t}function h(e,t){a[e]&&r.has(a,e)?(a[e].basic||a[e].setter)&&K("W075",f.tokens.next,i):a[e]={},a[e].setter=!0,a[e].setterToken=t}function p(e){a[e]&&r.has(a,e)?(a[e].basic||a[e].getter)&&K("W075",f.tokens.next,i):a[e]={},a[e].getter=!0,a[e].getterToken=f.tokens.curr}var t,n,i,s,o,u,a={},l="";t=f.tokens.curr.line!==f.tokens.next.line,t&&(N+=f.option.indent,f.tokens.next.from===N+f.option.indent&&(N+=f.option.indent));for(;;){if(f.tokens.next.id==="}")break;e&&f.tokens.next.value==="static"&&(rt("static"),l="static ");if(f.tokens.next.value==="get"&&nt().id!==":")rt("get"),f.option.inES5(!e)||G("E034"),i=zt(),!i&&!f.option.inESNext()&&G("E035"),e&&i==="constructor"&&G("E049",f.tokens.next,"class getter method",i),i&&p(l+i),o=f.tokens.next,n=Jt(),s=n["(params)"],i&&s&&K("W076",o,s[0],i);else if(f.tokens.next.value==="set"&&nt().id!==":")rt("set"),f.option.inES5(!e)||G("E034"),i=zt(),!i&&!f.option.inESNext()&&G("E035"),e&&i==="constructor"&&G("E049",f.tokens.next,"class setter method",i),i&&h(l+i,f.tokens.next),o=f.tokens.next,n=Jt(),s=n["(params)"],i&&(!s||s.length!==1)&&K("W077",o,i);else{u=!1,f.tokens.next.value==="*"&&f.tokens.next.type==="(punctuator)"&&(f.option.inESNext()||K("W104",f.tokens.next,"generator functions"),rt("*"),u=!0),i=zt(),c(l+i,f.tokens.next);if(typeof i!="string")break;f.tokens.next.value==="("?(f.option.inESNext()||K("W104",f.tokens.curr,"concise methods"),Jt(i,undefined,u)):e||(rt(":"),ot(10))}e&&i==="prototype"&&G("E049",f.tokens.next,"class method",i),It(i);if(e){l="";continue}if(f.tokens.next.id!==",")break;lt({allowTrailing:!0,property:!0}),f.tokens.next.id===","?K("W070",f.tokens.curr):f.tokens.next.id==="}"&&!f.option.inES5(!0)&&K("W070",f.tokens.curr)}t&&(N-=f.option.indent),rt("}",this);if(f.option.inES5())for(var d in a)r.has(a,d)&&a[d].setter&&!a[d].getter&&K("W078",a[d].setterToken);return this},e.fud=function(){G("E036",f.tokens.curr)}}(ht("{"));var en=pt("const",function(e){var t,n,i;f.option.inESNext()||K("W104",f.tokens.curr,"const"),this.first=[];for(;;){var s=[];r.contains(["{","["],f.tokens.next.value)?(t=Yt(),i=!1):(t=[{id:_t(),token:f.tokens.curr}],i=!0);for(var o in t)t.hasOwnProperty(o)&&(o=t[o],w[o.id]==="const"&&K("E011",null,o.id),w["(global)"]&&M[o.id]===!1&&K("W079",o.token,o.id),o.id&&(et(o.id,{token:o.token,type:"const",unused:!0}),s.push(o.token)));if(e)break;this.first=this.first.concat(s),f.tokens.next.id!=="="&&K("E012",f.tokens.curr,f.tokens.curr.value),f.tokens.next.id==="="&&(rt("="),f.tokens.next.id==="undefined"&&K("W080",f.tokens.prev,f.tokens.prev.value),nt(0).id==="="&&f.tokens.next.identifier&&K("W120",f.tokens.next,f.tokens.next.value),n=ot(10),i?t[0].first=n:Zt(s,n));if(f.tokens.next.id!==",")break;lt()}return this});en.exps=!0;var tn=pt("var",function(e){var t,n,i;this.first=[];for(;;){var s=[];r.contains(["{","["],f.tokens.next.value)?(t=Yt(),n=!1):(t=[{id:_t(),token:f.tokens.curr}],n=!0);for(var o in t)t.hasOwnProperty(o)&&(o=t[o],f.option.inESNext()&&w[o.id]==="const"&&K("E011",null,o.id),w["(global)"]&&M[o.id]===!1&&K("W079",o.token,o.id),o.id&&(et(o.id,{type:"unused",token:o.token}),s.push(o.token)));if(e)break;this.first=this.first.concat(s),f.tokens.next.id==="="&&(rt("="),f.tokens.next.id==="undefined"&&K("W080",f.tokens.prev,f.tokens.prev.value),nt(0).id==="="&&f.tokens.next.identifier&&K("W120",f.tokens.next,f.tokens.next.value),i=ot(10),n?t[0].first=i:Zt(s,i));if(f.tokens.next.id!==",")break;lt()}return this});tn.exps=!0;var nn=pt("let",function(e){var t,n,i,s;f.option.inESNext()||K("W104",f.tokens.curr,"let"),f.tokens.next.value==="("?(f.option.inMoz(!0)||K("W118",f.tokens.next,"let block"),rt("("),w["(blockscope)"].stack(),s=!0):w["(nolet)"]&&G("E048",f.tokens.curr),this.first=[];for(;;){var o=[];r.contains(["{","["],f.tokens.next.value)?(t=Yt(),n=!1):(t=[{id:_t(),token:f.tokens.curr.value}],n=!0);for(var u in t)t.hasOwnProperty(u)&&(u=t[u],f.option.inESNext()&&w[u.id]==="const"&&K("E011",null,u.id),w["(global)"]&&M[u.id]===!1&&K("W079",u.token,u.id),u.id&&!w["(nolet)"]&&(et(u.id,{type:"unused",token:u.token,islet:!0}),o.push(u.token)));if(e)break;this.first=this.first.concat(o),f.tokens.next.id==="="&&(rt("="),f.tokens.next.id==="undefined"&&K("W080",f.tokens.prev,f.tokens.prev.value),nt(0).id==="="&&f.tokens.next.identifier&&K("W120",f.tokens.next,f.tokens.next.value),i=ot(10),n?t[0].first=i:Zt(o,i));if(f.tokens.next.id!==",")break;lt()}return s&&(rt(")"),Ft(!0,!0),this.block=!0,w["(blockscope)"].unstack()),this});nn.exps=!0,dt("class",function(){return rn.call(this,!0)}),dt("function",function(){var e=!1;f.tokens.next.value==="*"&&(rt("*"),f.option.inESNext(!0)?e=!0:K("W119",f.tokens.curr,"function*")),T&&K("W082",f.tokens.curr);var t=_t();return w[t]==="const"&&K("E011",null,t),et(t,{type:"unction",token:f.tokens.curr}),Jt(t,{statement:!0},e),f.tokens.next.id==="("&&f.tokens.next.line===f.tokens.curr.line&&G("E039"),this}),mt("function",function(){var e=!1;f.tokens.next.value==="*"&&(f.option.inESNext()||K("W119",f.tokens.curr,"function*"),rt("*"),e=!0);var t=Mt();return Jt(t,undefined,e),!f.option.loopfunc&&w["(loopage)"]&&K("W083"),this}),dt("if",function(){var e=f.tokens.next;return Qt(),f.condition=!0,rt("("),Gt(ot(0)),rt(")",e),f.condition=!1,Ft(!0,!0),f.tokens.next.id==="else"&&(rt("else"),f.tokens.next.id==="if"||f.tokens.next.id==="switch"?Ht(!0):Ft(!0,!0)),this}),dt("try",function(){function t(){var e=D,t;rt("catch"),rt("("),D=Object.create(e),t=f.tokens.next.value,f.tokens.next.type!=="(identifier)"&&(t=null,K("E030",f.tokens.next,t)),rt(),w=$t("(catch)",f.tokens.next,D,{"(context)":w,"(breakage)":w["(breakage)"],"(loopage)":w["(loopage)"],"(statement)":!1,"(catch)":!0}),t&&et(t,{type:"exception"}),f.tokens.next.value==="if"&&(f.option.inMoz(!0)||K("W118",f.tokens.curr,"catch filter"),rt("if"),ot(0)),rt(")"),f.tokens.curr.funct=w,E.push(w),Ft(!1),D=e,w["(last)"]=f.tokens.curr.line,w["(lastcharacter)"]=f.tokens.curr.character,w=w["(context)"]}var e;Ft(!0);while(f.tokens.next.id==="catch")Qt(),e&&!f.option.inMoz(!0)&&K("W118",f.tokens.next,"multiple catch blocks"),t(),e=!0;if(f.tokens.next.id==="finally"){rt("finally"),Ft(!0);return}return e||G("E021",f.tokens.next,"catch",f.tokens.next.value),this}),dt("while",function(){var e=f.tokens.next;return w["(breakage)"]+=1,w["(loopage)"]+=1,Qt(),rt("("),Gt(ot(0)),rt(")",e),Ft(!0,!0),w["(breakage)"]-=1,w["(loopage)"]-=1,this}).labelled=!0,dt("with",function(){var e=f.tokens.next;return f.directive["use strict"]?G("E010",f.tokens.curr):f.option.withstmt||K("W085",f.tokens.curr),rt("("),ot(0),rt(")",e),Ft(!0,!0),this}),dt("switch",function(){var e=f.tokens.next,t=!1,n=!1;w["(breakage)"]+=1,rt("("),Gt(ot(0)),rt(")",e),e=f.tokens.next,rt("{"),f.tokens.next.from===N&&(n=!0),n||(N+=f.option.indent),this.cases=[];for(;;)switch(f.tokens.next.id){case"case":switch(w["(verb)"]){case"yield":case"break":case"case":case"continue":case"return":case"switch":case"throw":break;default:a.fallsThrough.test(f.lines[f.tokens.next.line-2])||K("W086",f.tokens.curr,"case")}rt("case"),this.cases.push(ot(0)),Qt(),t=!0,rt(":"),w["(verb)"]="case";break;case"default":switch(w["(verb)"]){case"yield":case"break":case"continue":case"return":case"throw":break;default:this.cases.length&&(a.fallsThrough.test(f.lines[f.tokens.next.line-2])||K("W086",f.tokens.curr,"default"))}rt("default"),t=!0,rt(":");break;case"}":n||(N-=f.option.indent),rt("}",e),w["(breakage)"]-=1,w["(verb)"]=undefined;return;case"(end)":G("E023",f.tokens.next,"}");return;default:N+=f.option.indent;if(t)switch(f.tokens.curr.id){case",":G("E040");return;case":":t=!1,Bt();break;default:G("E025",f.tokens.curr);return}else{if(f.tokens.curr.id!==":"){G("E021",f.tokens.next,"case",f.tokens.next.value);return}rt(":"),G("E024",f.tokens.curr,":"),Bt()}N-=f.option.indent}}).labelled=!0,pt("debugger",function(){return f.option.debug||K("W087",this),this}).exps=!0,function(){var e=pt("do",function(){w["(breakage)"]+=1,w["(loopage)"]+=1,Qt(),this.first=Ft(!0,!0),rt("while");var e=f.tokens.next;return rt("("),Gt(ot(0)),rt(")",e),w["(breakage)"]-=1,w["(loopage)"]-=1,this});e.labelled=!0,e.exps=!0}(),dt("for",function(){var e,t=f.tokens.next,n=!1,i=null;t.value==="each"&&(i=t,rt("each"),f.option.inMoz(!0)||K("W118",f.tokens.curr,"for each")),w["(breakage)"]+=1,w["(loopage)"]+=1,Qt(),rt("(");var s,o=0,u=["in","of"];do s=nt(o),++o;while(!r.contains(u,s.value)&&s.value!==";"&&s.type!=="(end)");if(r.contains(u,s.value)){!f.option.inESNext()&&s.value==="of"&&G("W104",s,"for of");if(f.tokens.next.id==="var")rt("var"),f.syntax["var"].fud.call(f.syntax["var"].fud,!0);else if(f.tokens.next.id==="let")rt("let"),n=!0,w["(blockscope)"].stack(),f.syntax.let.fud.call(f.syntax.let.fud,!0);else if(!f.tokens.next.identifier)G("E030",f.tokens.next,f.tokens.next.type),rt();else{switch(w[f.tokens.next.value]){case"unused":w[f.tokens.next.value]="var";break;case"var":break;default:w["(blockscope)"].getlabel(f.tokens.next.value)||K("W088",f.tokens.next,f.tokens.next.value)}rt()}rt(s.value),ot(20),rt(")",t),e=Ft(!0,!0),f.option.forin&&e&&(e.length>1||typeof e[0]!="object"||e[0].value!=="if")&&K("W089",this),w["(breakage)"]-=1,w["(loopage)"]-=1}else{i&&G("E045",i);if(f.tokens.next.id!==";")if(f.tokens.next.id==="var")rt("var"),f.syntax["var"].fud.call(f.syntax["var"].fud);else if(f.tokens.next.id==="let")rt("let"),n=!0,w["(blockscope)"].stack(),f.syntax.let.fud.call(f.syntax.let.fud);else for(;;){ot(0,"for");if(f.tokens.next.id!==",")break;lt()}at(f.tokens.curr),rt(";"),f.tokens.next.id!==";"&&Gt(ot(0)),at(f.tokens.curr),rt(";"),f.tokens.next.id===";"&&G("E021",f.tokens.next,")",";");if(f.tokens.next.id!==")")for(;;){ot(0,"for");if(f.tokens.next.id!==",")break;lt()}rt(")",t),Ft(!0,!0),w["(breakage)"]-=1,w["(loopage)"]-=1}return n&&w["(blockscope)"].unstack(),this}).labelled=!0,pt("break",function(){var e=f.tokens.next.value;return w["(breakage)"]===0&&K("W052",f.tokens.next,this.value),f.option.asi||at(this),f.tokens.next.id!==";"&&!f.tokens.next.reach&&f.tokens.curr.line===f.tokens.next.line&&(w[e]!=="label"?K("W090",f.tokens.next,e):D[e]!==w&&K("W091",f.tokens.next,e),this.first=f.tokens.next,rt()),Dt("break"),this}).exps=!0,pt("continue",function(){var e=f.tokens.next.value;return w["(breakage)"]===0&&K("W052",f.tokens.next,this.value),f.option.asi||at(this),f.tokens.next.id!==";"&&!f.tokens.next.reach?f.tokens.curr.line===f.tokens.next.line&&(w[e]!=="label"?K("W090",f.tokens.next,e):D[e]!==w&&K("W091",f.tokens.next,e),this.first=f.tokens.next,rt()):w["(loopage)"]||K("W052",f.tokens.next,this.value),Dt("continue"),this}).exps=!0,pt("return",function(){return this.line===f.tokens.next.line?f.tokens.next.id!==";"&&!f.tokens.next.reach&&(this.first=ot(0),this.first&&this.first.type==="(punctuator)"&&this.first.value==="="&&!this.first.paren&&!f.option.boss&&Q("W093",this.first.line,this.first.character)):f.tokens.next.type==="(punctuator)"&&["[","{","+","-"].indexOf(f.tokens.next.value)>-1&&at(this),Dt("return"),this}).exps=!0,function(e){e.exps=!0,e.lbp=25}(mt("yield",function(){var e=f.tokens.prev;return f.option.inESNext(!0)&&!w["(generator)"]?("(catch)"!==w["(name)"]||!w["(context)"]["(generator)"])&&G("E046",f.tokens.curr,"yield"):f.option.inESNext()||K("W104",f.tokens.curr,"yield"),w["(generator)"]="yielded",this.line===f.tokens.next.line||!f.option.inMoz(!0)?(f.tokens.next.id!==";"&&!f.tokens.next.reach&&f.tokens.next.nud&&(ut(f.tokens.curr,f.tokens.next),this.first=ot(10),this.first.type==="(punctuator)"&&this.first.value==="="&&!this.first.paren&&!f.option.boss&&Q("W093",this.first.line,this.first.character)),f.option.inMoz(!0)&&f.tokens.next.id!==")"&&(e.lbp>30||!e.assign&&!st()||e.id==="yield")&&G("E050",this)):f.option.asi||at(this),this})),pt("throw",function(){return at(this),this.first=ot(20),Dt("throw"),this}).exps=!0,pt("import",function(){f.option.inESNext()||K("W119",f.tokens.curr,"import");if(f.tokens.next.type==="(string)")return rt("(string)"),this;if(f.tokens.next.identifier)this.name=_t(),et(this.name,{type:"unused",token:f.tokens.curr});else{rt("{");for(;;){if(f.tokens.next.value==="}"){rt("}");break}var e;f.tokens.next.type==="default"?(e="default",rt("default")):e=_t(),f.tokens.next.value==="as"&&(rt("as"),e=_t()),et(e,{type:"unused",token:f.tokens.curr});if(f.tokens.next.value!==","){if(f.tokens.next.value==="}"){rt("}");break}G("E024",f.tokens.next,f.tokens.next.value);break}rt(",")}}return rt("from"),rt("(string)"),this}).exps=!0,pt("export",function(){f.option.inESNext()||K("W119",f.tokens.curr,"export");if(f.tokens.next.type==="default"){rt("default");if(f.tokens.next.id==="function"||f.tokens.next.id==="class")this.block=!0;return this.exportee=ot(10),this}if(f.tokens.next.value==="{"){rt("{");for(;;){y[_t()]=!0;if(f.tokens.next.value!==","){if(f.tokens.next.value==="}"){rt("}");break}G("E024",f.tokens.next,f.tokens.next.value);break}rt(",")}return this}return f.tokens.next.id==="var"?(rt("var"),y[f.tokens.next.value]=!0,f.syntax["var"].fud.call(f.syntax["var"].fud)):f.tokens.next.id==="let"?(rt("let"),y[f.tokens.next.value]=!0,f.syntax.let.fud.call(f.syntax.let.fud)):f.tokens.next.id==="const"?(rt("const"),y[f.tokens.next.value]=!0,f.syntax["const"].fud.call(f.syntax["const"].fud)):f.tokens.next.id==="function"?(this.block=!0,rt("function"),y[f.tokens.next.value]=!0,f.syntax["function"].fud()):f.tokens.next.id==="class"?(this.block=!0,rt("class"),y[f.tokens.next.value]=!0,f.syntax["class"].fud()):G("E024",f.tokens.next,f.tokens.next.value),this}).exps=!0,bt("abstract"),bt("boolean"),bt("byte"),bt("char"),bt("class",{es5:!0,nud:rn}),bt("double"),bt("enum",{es5:!0}),bt("export",{es5:!0}),bt("extends",{es5:!0}),bt("final"),bt("float"),bt("goto"),bt("implements",{es5:!0,strictOnly:!0}),bt("import",{es5:!0}),bt("int"),bt("interface",{es5:!0,strictOnly:!0}),bt("long"),bt("native"),bt("package",{es5:!0,strictOnly:!0}),bt("private",{es5:!0,strictOnly:!0}),bt("protected",{es5:!0,strictOnly:!0}),bt("public",{es5:!0,strictOnly:!0}),bt("short"),bt("static",{es5:!0,strictOnly:!0}),bt("super",{es5:!0}),bt("synchronized"),bt("transient"),bt("volatile");var on=function(){var e,t,n=-1,i=0,s={};r.contains(["[","{"],f.tokens.curr.value)&&(i+=1);do{e=n===-1?f.tokens.next:nt(n),t=nt(n+1),n+=1,r.contains(["[","{"],e.value)?i+=1:r.contains(["]","}"],e.value)&&(i-=1);if(e.identifier&&e.value==="for"&&i===1){s.isCompArray=!0,s.notJson=!0;break}if(r.contains(["}","]"],e.value)&&t.value==="="&&i===0){s.isDestAssign=!0,s.notJson=!0;break}e.value===";"&&(s.isBlock=!0,s.notJson=!0)}while(i>0&&e.id!=="(end)"&&n<15);return s},an=function(){function i(e){var t=n.variables.filter(function(t){if(t.value===e)return t.undef=!1,e}).length;return t!==0}function s(e){var t=n.variables.filter(function(t){if(t.value===e&&!t.undef)return t.unused===!0&&(t.unused=!1),e}).length;return t===0}var e=function(){this.mode="use",this.variables=[]},t=[],n;return{stack:function(){n=new e,t.push(n)},unstack:function(){n.variables.filter(function(e){e.unused&&K("W098",e.token,e.value),e.undef&&$(e.funct,"W117",e.token,e.value)}),t.splice(-1,1),n=t[t.length-1]},setState:function(e){r.contains(["use","define","generate","filter"],e)&&(n.mode=e)},check:function(e){if(!n)return;return n&&n.mode==="use"?(s(e)&&n.variables.push({funct:w,token:f.tokens.curr,value:e,undef:!0,unused:!1}),!0):n&&n.mode==="define"?(i(e)||n.variables.push({funct:w,token:f.tokens.curr,value:e,undef:!1,unused:!0}),!0):n&&n.mode==="generate"?($(w,"W117",f.tokens.curr,e),!0):n&&n.mode==="filter"?(s(e)&&$(w,"W117",f.tokens.curr,e),!0):!1}}},ln=function(){function n(){for(var t in e)if(e[t]["(type)"]==="unused"&&f.option.unused){var n=e[t]["(token)"],r=n.line,i=n.character;Q("W098",r,i,t)}}var e={},t=[e];return{stack:function(){e={},t.push(e)},unstack:function(){n(),t.splice(t.length-1,1),e=r.last(t)},getlabel:function(e){for(var n=t.length-1;n>=0;--n)if(r.has(t[n],e)&&!t[n][e]["(shadowed)"])return t[n]},shadow:function(e){for(var n=t.length-1;n>=0;n--)r.has(t[n],e)&&(t[n][e]["(shadowed)"]=!0)},unshadow:function(e){for(var n=t.length-1;n>=0;n--)r.has(t[n],e)&&(t[n][e]["(shadowed)"]=!1)},current:{has:function(t){return r.has(e,t)},add:function(t,n,r){e[t]={"(type)":n,"(token)":r,"(shadowed)":!1}}}}},cn=function(e,n,i){function v(e,t){if(!e)return;!Array.isArray(e)&&typeof e=="object"&&(e=Object.keys(e)),e.forEach(t)}var o,a,l,h,p={},d={};n=r.clone(n),f.reset(),n&&n.scope?c.scope=n.scope:(c.errors=[],c.undefs=[],c.internals=[],c.blacklist={},c.scope="(main)"),M=Object.create(null),W(M,s.ecmaIdentifiers),W(M,s.reservedVars),W(M,i||{}),g=Object.create(null),y=Object.create(null);if(n){v(n.predef||null,function(e){var t,r;e[0]==="-"?(t=e.slice(1),c.blacklist[t]=t):(r=Object.getOwnPropertyDescriptor(n.predef,e),M[e]=r?r.value:!1)}),v(n.exported||null,function(e){y[e]=!0}),delete n.predef,delete n.exported,h=Object.keys(n);for(l=0;l<h.length;l++)/^-W\d{3}$/g.test(h[l])?d[h[l].slice(1)]=!0:(p[h[l]]=n[h[l]],h[l]==="newcap"&&n[h[l]]===!1&&(p["(explicitNewcap)"]=!0))}f.option=p,f.ignored=d,f.option.indent=f.option.indent||4,f.option.maxerr=f.option.maxerr||50,N=1,S=Object.create(M),D=S,w=$t("(global)",null,D,{"(global)":!0,"(blockscope)":ln(),"(comparray)":an(),"(metrics)":Kt(f.tokens.next)}),E=[w],B=[],P=null,L={},A=null,x={},T=!1,C=[],H=[];if(!q(e)&&!Array.isArray(e))return Y("E004",0),!1;t={get isJSON(){return f.jsonMode},getOption:function(e){return f.option[e]||null},getCache:function(e){return f.cache[e]},setCache:function(e,t){f.cache[e]=t},warn:function(e,t){Q.apply(null,[e,t.line,t.char].concat(t.data))},on:function(e,t){e.split(" ").forEach(function(e){F.on(e,t)}.bind(this))}},F.removeAllListeners(),(j||[]).forEach(function(e){e(t)}),f.tokens.prev=f.tokens.curr=f.tokens.next=f.syntax["(begin)"],k=new u(e),k.on("warning",function(e){Q.apply(null,[e.code,e.line,e.character].concat(e.data))}),k.on("error",function(e){Y.apply(null,[e.code,e.line,e.character].concat(e.data))}),k.on("fatal",function(e){V("E041",e.line,e.from)}),k.on("Identifier",function(e){F.emit("Identifier",e)}),k.on("String",function(e){F.emit("String",e)}),k.on("Number",function(e){F.emit("Number",e)}),k.start();for(var m in n)r.has(n,m)&&I(m,f.tokens.curr);X(),W(M,i||{}),lt.first=!0;try{rt();switch(f.tokens.next.id){case"{":case"[":un();break;default:jt(),f.directive["use strict"]&&!f.option.globalstrict&&!f.option.node&&!f.option.phantom&&K("W097",f.tokens.prev),Bt()}rt(f.tokens.next&&f.tokens.next.value!=="."?"(end)":undefined),w["(blockscope)"].unstack();var b=function(e,t){do{if(typeof t[e]=="string")return t[e]==="unused"?t[e]="var":t[e]==="unction"&&(t[e]="closure"),!0;t=t["(context)"]}while(t);return!1},O=function(e,t){if(!x[e])return;var n=[];for(var r=0;r<x[e].length;r+=1)x[e][r]!==t&&n.push(x[e][r]);n.length===0?delete x[e]:x[e]=n},R=function(e,t,n,r){var i=t.line,s=t.character;r===undefined&&(r=f.option.unused),r===!0&&(r="last-param");var o={vars:["var"],"last-param":["var","param"],strict:["var","param","last-param"]};r&&o[r]&&o[r].indexOf(n)!==-1&&Q("W098",i,s,e),H.push({name:e,line:i,character:s})},U=function(e,t){var n=e[t],i=e["(tokens)"][t];if(t.charAt(0)==="(")return;if(n!=="unused"&&n!=="unction"&&n!=="const")return;if(e["(params)"]&&e["(params)"].indexOf(t)!==-1)return;if(e["(global)"]&&r.has(y,t))return;if(n==="const"&&!Vt(e,t,"unused"))return;R(t,i,"var")};for(o=0;o<c.undefs.length;o+=1)a=c.undefs[o].slice(0),b(a[2].value,a[0])?O(a[2].value,a[2].line):f.option.undef&&K.apply(K,a.slice(1));E.forEach(function(e){if(e["(unusedOption)"]===!1)return;for(var t in e)r.has(e,t)&&U(e,t);if(!e["(params)"])return;var n=e["(params)"].slice(),i=n.pop(),s,o;while(i){s=e[i],o=e["(unusedOption)"]||f.option.unused,o=o===!0?"last-param":o;if(i==="undefined")return;if(s==="unused"||s==="unction")R(i,e["(tokens)"][i],"param",e["(unusedOption)"]);else if(o==="last-param")return;i=n.pop()}});for(var z in g)r.has(g,z)&&!r.has(S,z)&&!r.has(y,z)&&R(z,g[z],"var")}catch($){if(!$||$.name!=="JSHintError")throw $;var J=f.tokens.next||{};c.errors.push({scope:"(main)",raw:$.raw,code:$.code,reason:$.message,line:$.line||J.line,character:$.character||J.from},null)}if(c.scope==="(main)"){n=n||{};for(o=0;o<c.internals.length;o+=1)a=c.internals[o],n.scope=a.elem,cn(a.value,n,i)}return c.errors.length===0};return cn.addModule=function(e){j.push(e)},cn.addModule(l.register),cn.data=function(){var e={functions:[],options:f.option},t=[],n=[],i,s,o,u,a,l;cn.errors.length&&(e.errors=cn.errors),f.jsonMode&&(e.json=!0);for(a in x)r.has(x,a)&&t.push({name:a,line:x[a]});t.length>0&&(e.implieds=t),B.length>0&&(e.urls=B),l=Object.keys(D),l.length>0&&(e.globals=l);for(o=1;o<E.length;o+=1){s=E[o],i={};for(u=0;u<b.length;u+=1)i[b[u]]=[];for(u=0;u<b.length;u+=1)i[b[u]].length===0&&delete i[b[u]];i.name=s["(name)"],i.param=s["(params)"],i.line=s["(line)"],i.character=s["(character)"],i.last=s["(last)"],i.lastcharacter=s["(lastcharacter)"],i.metrics={complexity:s["(metrics)"].ComplexityCount,parameters:(s["(params)"]||[]).length,statements:s["(metrics)"].statementCount},e.functions.push(i)}H.length>0&&(e.unused=H),n=[];for(a in L)if(typeof L[a]=="number"){e.member=L;break}return e},cn.jshint=cn,cn}();typeof n=="object"&&n&&(n.JSHINT=c)},{"./lex.js":4,"./messages.js":5,"./reg.js":6,"./state.js":7,"./style.js":8,"./vars.js":9,events:10,underscore:2}],4:[function(e,t,n){"use strict";function c(){var e=[];return{push:function(t){e.push(t)},check:function(){for(var t=0;t<e.length;++t)e[t]();e.splice(0,e.length)}}}function h(e){var t=e;typeof t=="string"&&(t=t.replace(/\r\n/g,"\n").replace(/\r/g,"\n").split("\n")),t[0]&&t[0].substr(0,2)==="#!"&&(t[0].indexOf("node")!==-1&&(o.option.node=!0),t[0]=""),this.emitter=new i.EventEmitter,this.source=e,this.setLines(t),this.prereg=!0,this.line=0,this.char=1,this.from=1,this.input="",this.inComment=!1;for(var n=0;n<o.option.indent;n+=1)o.tab+=" "}var r=e("underscore"),i=e("events"),s=e("./reg.js"),o=e("./state.js").state,u=e("../data/ascii-identifier-data.js"),a=u.asciiIdentifierStartTable,f=u.asciiIdentifierPartTable,l={Identifier:1,Punctuator:2,NumericLiteral:3,StringLiteral:4,Comment:5,Keyword:6,NullLiteral:7,BooleanLiteral:8,RegExp:9,TemplateLiteral:10};h.prototype={_lines:[],getLines:function(){return this._lines=o.lines,this._lines},setLines:function(e){this._lines=e,o.lines=this._lines},peek:function(e){return this.input.charAt(e||0)},skip:function(e){e=e||1,this.char+=e,this.input=this.input.slice(e)},on:function(e,t){e.split(" ").forEach(function(e){this.emitter.on(e,t)}.bind(this))},trigger:function(){this.emitter.emit.apply(this.emitter,Array.prototype.slice.call(arguments))},triggerAsync:function(e,t,n,r){n.push(function(){r()&&this.trigger(e,t)}.bind(this))},scanPunctuator:function(){var e=this.peek(),t,n,r;switch(e){case".":if(/^[0-9]$/.test(this.peek(1)))return null;if(this.peek(1)==="."&&this.peek(2)===".")return{type:l.Punctuator,value:"..."};case"(":case")":case";":case",":case"{":case"}":case"[":case"]":case":":case"~":case"?":return{type:l.Punctuator,value:e};case"#":return{type:l.Punctuator,value:e};case"":return null}return t=this.peek(1),n=this.peek(2),r=this.peek(3),e===">"&&t===">"&&n===">"&&r==="="?{type:l.Punctuator,value:">>>="}:e==="="&&t==="="&&n==="="?{type:l.Punctuator,value:"==="}:e==="!"&&t==="="&&n==="="?{type:l.Punctuator,value:"!=="}:e===">"&&t===">"&&n===">"?{type:l.Punctuator,value:">>>"}:e==="<"&&t==="<"&&n==="="?{type:l.Punctuator,value:"<<="}:e===">"&&t===">"&&n==="="?{type:l.Punctuator,value:">>="}:e==="="&&t===">"?{type:l.Punctuator,value:e+t}:e===t&&"+-<>&|".indexOf(e)>=0?{type:l.Punctuator,value:e+t}:"<>=!+-*%&|^".indexOf(e)>=0?t==="="?{type:l.Punctuator,value:e+t}:{type:l.Punctuator,value:e}:e==="/"?t==="="&&/\/=(?!(\S*\/[gim]?))/.test(this.input)?{type:l.Punctuator,value:"/="}:{type:l.Punctuator,value:"/"}:null},scanComments:function(){function s(e,t,n){var r=["jshint","jslint","members","member","globals","global","exported"],i=!1,s=e+t,o="plain";return n=n||{},n.isMultiline&&(s+="*/"),r.forEach(function(n){if(i)return;if(e==="//"&&n!=="jshint")return;t.substr(0,n.length)===n&&(i=!0,e+=n,t=t.substr(n.length)),!i&&t.charAt(0)===" "&&t.substr(1,n.length)===n&&(i=!0,e=e+" "+n,t=t.substr(n.length+1));if(!i)return;switch(n){case"member":o="members";break;case"global":o="globals";break;default:o=n}}),{type:l.Comment,commentType:o,value:s,body:t,isSpecial:i,isMultiline:n.isMultiline||!1,isMalformed:n.isMalformed||!1}}var e=this.peek(),t=this.peek(1),n=this.input.substr(2),r=this.line,i=this.char;if(e==="*"&&t==="/")return this.trigger("error",{code:"E018",line:r,character:i}),this.skip(2),null;if(e!=="/"||t!=="*"&&t!=="/")return null;if(t==="/")return this.skip(this.input.length),s("//",n);var o="";if(t==="*"){this.inComment=!0,this.skip(2);while(this.peek()!=="*"||this.peek(1)!=="/")if(this.peek()===""){o+="\n";if(!this.nextLine())return this.trigger("error",{code:"E017",line:r,character:i}),this.inComment=!1,s("/*",o,{isMultiline:!0,isMalformed:!0})}else o+=this.peek(),this.skip();return this.skip(2),this.inComment=!1,s("/*",o,{isMultiline:!0})}},scanKeyword:function(){var e=/^[a-zA-Z_$][a-zA-Z0-9_$]*/.exec(this.input),t=["if","in","do","var","for","new","try","let","this","else","case","void","with","enum","while","break","catch","throw","const","yield","class","super","return","typeof","delete","switch","export","import","default","finally","extends","function","continue","debugger","instanceof"];return e&&t.indexOf(e[0])>=0?{type:l.Keyword,value:e[0]}:null},scanIdentifier:function(){function i(e){return e>256}function s(e){return e>256}function o(e){return/^[0-9a-fA-F]$/.test(e)}var e="",t=0,n,r,u=function(){t+=1;if(this.peek(t)!=="u")return null;var e=this.peek(t+1),n=this.peek(t+2),r=this.peek(t+3),i=this.peek(t+4),u;return o(e)&&o(n)&&o(r)&&o(i)?(u=parseInt(e+n+r+i,16),f[u]||s(u)?(t+=5,"\\u"+e+n+r+i):null):null}.bind(this),c=function(){var e=this.peek(t),n=e.charCodeAt(0);return n===92?u():n<128?a[n]?(t+=1,e):null:i(n)?(t+=1,e):null}.bind(this),h=function(){var e=this.peek(t),n=e.charCodeAt(0);return n===92?u():n<128?f[n]?(t+=1,e):null:s(n)?(t+=1,e):null}.bind(this);r=c();if(r===null)return null;e=r;for(;;){r=h();if(r===null)break;e+=r}switch(e){case"true":case"false":n=l.BooleanLiteral;break;case"null":n=l.NullLiteral;break;default:n=l.Identifier}return{type:n,value:e}},scanNumericLiteral:function(){function s(e){return/^[0-9]$/.test(e)}function o(e){return/^[0-7]$/.test(e)}function u(e){return/^[0-9a-fA-F]$/.test(e)}function a(e){return e==="$"||e==="_"||e==="\\"||e>="a"&&e<="z"||e>="A"&&e<="Z"}var e=0,t="",n=this.input.length,r=this.peek(e),i;if(r!=="."&&!s(r))return null;if(r!=="."){t=this.peek(e),e+=1,r=this.peek(e);if(t==="0"){if(r==="x"||r==="X"){e+=1,t+=r;while(e<n){r=this.peek(e);if(!u(r))break;t+=r,e+=1}if(t.length<=2)return{type:l.NumericLiteral,value:t,isMalformed:!0};if(e<n){r=this.peek(e);if(a(r))return null}return{type:l.NumericLiteral,value:t,base:16,isMalformed:!1}}if(o(r)){e+=1,t+=r,i=!1;while(e<n){r=this.peek(e);if(s(r))i=!0;else if(!o(r))break;t+=r,e+=1}if(e<n){r=this.peek(e);if(a(r))return null}return{type:l.NumericLiteral,value:t,base:8,isMalformed:!1}}s(r)&&(e+=1,t+=r)}while(e<n){r=this.peek(e);if(!s(r))break;t+=r,e+=1}}if(r==="."){t+=r,e+=1;while(e<n){r=this.peek(e);if(!s(r))break;t+=r,e+=1}}if(r==="e"||r==="E"){t+=r,e+=1,r=this.peek(e);if(r==="+"||r==="-")t+=this.peek(e),e+=1;r=this.peek(e);if(!s(r))return null;t+=r,e+=1;while(e<n){r=this.peek(e);if(!s(r))break;t+=r,e+=1}}if(e<n){r=this.peek(e);if(a(r))return null}return{type:l.NumericLiteral,value:t,base:10,isMalformed:!isFinite(t)}},scanTemplateLiteral:function(){if(!o.option.esnext||this.peek()!=="`")return null;var e=this.line,t=this.char,n=1,r="";this.skip();while(this.peek()!=="`"){while(this.peek()===""){if(!this.nextLine())return this.trigger("error",{code:"E052",line:e,character:t}),{type:l.TemplateLiteral,value:r,isUnclosed:!0};r+="\n"}var i=this.peek();this.skip(n),r+=i}return this.skip(),{type:l.TemplateLiteral,value:r,isUnclosed:!1}},scanStringLiteral:function(e){var t=this.peek();if(t!=='"'&&t!=="'")return null;this.triggerAsync("warning",{code:"W108",line:this.line,character:this.char},e,function(){return o.jsonMode&&t!=='"'});var n="",r=this.line,i=this.char,s=!1;this.skip();e:while(this.peek()!==t){while(this.peek()===""){s?(s=!1,this.triggerAsync("warning",{code:"W043",line:this.line,character:this.char},e,function(){return!o.option.multistr}),this.triggerAsync("warning",{code:"W042",line:this.line,character:this.char},e,function(){return o.jsonMode&&o.option.multistr})):this.trigger("warning",{code:"W112",line:this.line,character:this.char});if(!this.nextLine())return this.trigger("error",{code:"E029",line:r,character:i}),{type:l.StringLiteral,value:n,isUnclosed:!0,quote:t};if(this.peek()==t)break e}s=!1;var u=this.peek(),a=1;u<" "&&this.trigger("warning",{code:"W113",line:this.line,character:this.char,data:["<non-printable>"]});if(u==="\\"){this.skip(),u=this.peek();switch(u){case"'":this.triggerAsync("warning",{code:"W114",line:this.line,character:this.char,data:["\\'"]},e,function(){return o.jsonMode});break;case"b":u="\\b";break;case"f":u="\\f";break;case"n":u="\\n";break;case"r":u="\\r";break;case"t":u="\\t";break;case"0":u="\\0";var f=parseInt(this.peek(1),10);this.triggerAsync("warning",{code:"W115",line:this.line,character:this.char},e,function(){return f>=0&&f<=7&&o.directive["use strict"]});break;case"u":u=String.fromCharCode(parseInt(this.input.substr(1,4),16)),a=5;break;case"v":this.triggerAsync("warning",{code:"W114",line:this.line,character:this.char,data:["\\v"]},e,function(){return o.jsonMode}),u=" ";break;case"x":var c=parseInt(this.input.substr(1,2),16);this.triggerAsync("warning",{code:"W114",line:this.line,character:this.char,data:["\\x-"]},e,function(){return o.jsonMode}),u=String.fromCharCode(c),a=3;break;case"\\":u="\\\\";break;case'"':u='\\"';break;case"/":break;case"":s=!0,u="";break;case"!":if(n.slice(n.length-2)==="<")break;default:this.trigger("warning",{code:"W044",line:this.line,character:this.char})}}n+=u,this.skip(a)}return this.skip(),{type:l.StringLiteral,value:n,isUnclosed:!1,quote:t}},scanRegExp:function(){var e=0,t=this.input.length,n=this.peek(),r=n,i="",s=[],o=!1,u=!1,a,f=function(){n<" "&&(o=!0,this.trigger("warning",{code:"W048",line:this.line,character:this.char})),n==="<"&&(o=!0,this.trigger("warning",{code:"W049",line:this.line,character:this.char,data:[n]}))}.bind(this);if(!this.prereg||n!=="/")return null;e+=1,a=!1;while(e<t){n=this.peek(e),r+=n,i+=n;if(u){n==="]"&&(this.peek(e-1)!=="\\"||this.peek(e-2)==="\\")&&(u=!1),n==="\\"&&(e+=1,n=this.peek(e),i+=n,r+=n,f()),e+=1;continue}if(n==="\\"){e+=1,n=this.peek(e),i+=n,r+=n,f();if(n==="/"){e+=1;continue}if(n==="["){e+=1;continue}}if(n==="["){u=!0,e+=1;continue}if(n==="/"){i=i.substr(0,i.length-1),a=!0,e+=1;break}e+=1}if(!a)return this.trigger("error",{code:"E015",line:this.line,character:this.from}),void this.trigger("fatal",{line:this.line,from:this.from});while(e<t){n=this.peek(e);if(!/[gim]/.test(n))break;s.push(n),r+=n,e+=1}try{new RegExp(i,s.join(""))}catch(c){o=!0,this.trigger("error",{code:"E016",line:this.line,character:this.char,data:[c.message]})}return{type:l.RegExp,value:r,flags:s,isMalformed:o}},scanNonBreakingSpaces:function(){return o.option.nonbsp?this.input.search(/(\u00A0)/):-1},scanUnsafeChars:function(){return this.input.search(s.unsafeChars)},next:function(e){this.from=this.char;var t;if(/\s/.test(this.peek())){t=this.char;while(/\s/.test(this.peek()))this.from+=1,this.skip()}var n=this.scanComments()||this.scanStringLiteral(e)||this.scanTemplateLiteral();return n?n:(n=this.scanRegExp()||this.scanPunctuator()||this.scanKeyword()||this.scanIdentifier()||this.scanNumericLiteral(),n?(this.skip(n.value.length),n):null)},nextLine:function(){var e;if(this.line>=this.getLines().length)return!1;this.input=this.getLines()[this.line],this.line+=1,this.char=1,this.from=1;var t=this.input.trim(),n=function(){return r.some(arguments,function(e){return t.indexOf(e)===0})},i=function(){return r.some(arguments,function(e){return t.indexOf(e,t.length-e.length)!==-1})};o.ignoreLinterErrors===!0&&!n("/*","//")&&!i("*/")&&(this.input=""),e=this.scanNonBreakingSpaces(),e>=0&&this.trigger("warning",{code:"W125",line:this.line,character:e+1}),this.input=this.input.replace(/\t/g,o.tab),e=this.scanUnsafeChars(),e>=0&&this.trigger("warning",{code:"W100",line:this.line,character:e});if(o.option.maxlen&&o.option.maxlen<this.input.length){var u=this.inComment||n.call(t,"//")||n.call(t,"/*"),a=!u||!s.maxlenException.test(t);a&&this.trigger("warning",{code:"W101",line:this.line,character:this.input.length})}return!0},start:function(){this.nextLine()},token:function(){function n(e,t){if(!e.reserved)return!1;var n=e.meta;if(n&&n.isFutureReservedWord&&o.option.inES5()){if(!n.es5)return!1;if(n.strictOnly&&!o.option.strict&&!o.directive["use strict"])return!1;if(t)return!1}return!0}var e=c(),t,i=function(t,i,s){var u;t!=="(endline)"&&t!=="(end)"&&(this.prereg=!1);if(t==="(punctuator)"){switch(i){case".":case")":case"~":case"#":case"]":this.prereg=!1;break;default:this.prereg=!0}u=Object.create(o.syntax[i]||o.syntax["(error)"])}if(t==="(identifier)"){if(i==="return"||i==="case"||i==="typeof")this.prereg=!0;r.has(o.syntax,i)&&(u=Object.create(o.syntax[i]||o.syntax["(error)"]),n(u,s&&t==="(identifier)")||(u=null))}return u||(u=Object.create(o.syntax[t])),u.identifier=t==="(identifier)",u.type=u.type||t,u.value=i,u.line=this.line,u.character=this.char,u.from=this.from,s&&u.identifier&&(u.isProperty=s),u.check=e.check,u}.bind(this);for(;;){if(!this.input.length)return i(this.nextLine()?"(endline)":"(end)","");t=this.next(e);if(!t){this.input.length&&(this.trigger("error",{code:"E024",line:this.line,character:this.char,data:[this.peek()]}),this.input="");continue}switch(t.type){case l.StringLiteral:return this.triggerAsync("String",{line:this.line,"char":this.char,from:this.from,value:t.value,quote:t.quote},e,function(){return!0}),i("(string)",t.value);case l.TemplateLiteral:return this.trigger("Template",{line:this.line,"char":this.char,from:this.from,value:t.value}),i("(template)",t.value);case l.Identifier:this.trigger("Identifier",{line:this.line,"char":this.char,from:this.form,name:t.value,isProperty:o.tokens.curr.id==="."});case l.Keyword:case l.NullLiteral:case l.BooleanLiteral:return i("(identifier)",t.value,o.tokens.curr.id===".");case l.NumericLiteral:return t.isMalformed&&this.trigger("warning",{code:"W045",line:this.line,character:this.char,data:[t.value]}),this.triggerAsync("warning",{code:"W114",line:this.line,character:this.char,data:["0x-"]},e,function(){return t.base===16&&o.jsonMode}),this.triggerAsync("warning",{code:"W115",line:this.line,character:this.char},e,function(){return o.directive["use strict"]&&t.base===8}),this.trigger("Number",{line:this.line,"char":this.char,from:this.from,value:t.value,base:t.base,isMalformed:t.malformed}),i("(number)",t.value);case l.RegExp:return i("(regexp)",t.value);case l.Comment:o.tokens.curr.comment=!0;if(t.isSpecial)return{id:"(comment)",value:t.value,body:t.body,type:t.commentType,isSpecial:t.isSpecial,line:this.line,character:this.char,from:this.from};break;case"":break;default:return i("(punctuator)",t.value)}}}},n.Lexer=h},{"../data/ascii-identifier-data.js":1,"./reg.js":6,"./state.js":7,events:10,underscore:2}],5:[function(e,t,n){"use strict";var r=e("underscore"),i={E001:"Bad option: '{a}'.",E002:"Bad option value.",E003:"Expected a JSON value.",E004:"Input is neither a string nor an array of strings.",E005:"Input is empty.",E006:"Unexpected early end of program.",E007:'Missing "use strict" statement.',E008:"Strict violation.",E009:"Option 'validthis' can't be used in a global scope.",E010:"'with' is not allowed in strict mode.",E011:"const '{a}' has already been declared.",E012:"const '{a}' is initialized to 'undefined'.",E013:"Attempting to override '{a}' which is a constant.",E014:"A regular expression literal can be confused with '/='.",E015:"Unclosed regular expression.",E016:"Invalid regular expression.",E017:"Unclosed comment.",E018:"Unbegun comment.",E019:"Unmatched '{a}'.",E020:"Expected '{a}' to match '{b}' from line {c} and instead saw '{d}'.",E021:"Expected '{a}' and instead saw '{b}'.",E022:"Line breaking error '{a}'.",E023:"Missing '{a}'.",E024:"Unexpected '{a}'.",E025:"Missing ':' on a case clause.",E026:"Missing '}' to match '{' from line {a}.",E027:"Missing ']' to match '[' from line {a}.",E028:"Illegal comma.",E029:"Unclosed string.",E030:"Expected an identifier and instead saw '{a}'.",E031:"Bad assignment.",E032:"Expected a small integer or 'false' and instead saw '{a}'.",E033:"Expected an operator and instead saw '{a}'.",E034:"get/set are ES5 features.",E035:"Missing property name.",E036:"Expected to see a statement and instead saw a block.",E037:null,E038:null,E039:"Function declarations are not invocable. Wrap the whole function invocation in parens.",E040:"Each value should have its own case label.",E041:"Unrecoverable syntax error.",E042:"Stopping.",E043:"Too many errors.",E044:null,E045:"Invalid for each loop.",E046:"A yield statement shall be within a generator function (with syntax: `function*`)",E047:null,E048:"Let declaration not directly within block.",E049:"A {a} cannot be named '{b}'.",E050:"Mozilla requires the yield expression to be parenthesized here.",E051:"Regular parameters cannot come after default parameters.",E052:"Unclosed template literal."},s={W001:"'hasOwnProperty' is a really bad name.",W002:"Value of '{a}' may be overwritten in IE 8 and earlier.",W003:"'{a}' was used before it was defined.",W004:"'{a}' is already defined.",W005:"A dot following a number can be confused with a decimal point.",W006:"Confusing minuses.",W007:"Confusing plusses.",W008:"A leading decimal point can be confused with a dot: '{a}'.",W009:"The array literal notation [] is preferable.",W010:"The object literal notation {} is preferable.",W011:null,W012:null,W013:null,W014:"Bad line breaking before '{a}'.",W015:null,W016:"Unexpected use of '{a}'.",W017:"Bad operand.",W018:"Confusing use of '{a}'.",W019:"Use the isNaN function to compare with NaN.",W020:"Read only.",W021:"'{a}' is a function.",W022:"Do not assign to the exception parameter.",W023:"Expected an identifier in an assignment and instead saw a function invocation.",W024:"Expected an identifier and instead saw '{a}' (a reserved word).",W025:"Missing name in function declaration.",W026:"Inner functions should be listed at the top of the outer function.",W027:"Unreachable '{a}' after '{b}'.",W028:"Label '{a}' on {b} statement.",W030:"Expected an assignment or function call and instead saw an expression.",W031:"Do not use 'new' for side effects.",W032:"Unnecessary semicolon.",W033:"Missing semicolon.",W034:'Unnecessary directive "{a}".',W035:"Empty block.",W036:"Unexpected /*member '{a}'.",W037:"'{a}' is a statement label.",W038:"'{a}' used out of scope.",W039:"'{a}' is not allowed.",W040:"Possible strict violation.",W041:"Use '{a}' to compare with '{b}'.",W042:"Avoid EOL escaping.",W043:"Bad escaping of EOL. Use option multistr if needed.",W044:"Bad or unnecessary escaping.",W045:"Bad number '{a}'.",W046:"Don't use extra leading zeros '{a}'.",W047:"A trailing decimal point can be confused with a dot: '{a}'.",W048:"Unexpected control character in regular expression.",W049:"Unexpected escaped character '{a}' in regular expression.",W050:"JavaScript URL.",W051:"Variables should not be deleted.",W052:"Unexpected '{a}'.",W053:"Do not use {a} as a constructor.",W054:"The Function constructor is a form of eval.",W055:"A constructor name should start with an uppercase letter.",W056:"Bad constructor.",W057:"Weird construction. Is 'new' necessary?",W058:"Missing '()' invoking a constructor.",W059:"Avoid arguments.{a}.",W060:"document.write can be a form of eval.",W061:"eval can be harmful.",W062:"Wrap an immediate function invocation in parens to assist the reader in understanding that the expression is the result of a function, and not the function itself.",W063:"Math is not a function.",W064:"Missing 'new' prefix when invoking a constructor.",W065:"Missing radix parameter.",W066:"Implied eval. Consider passing a function instead of a string.",W067:"Bad invocation.",W068:"Wrapping non-IIFE function literals in parens is unnecessary.",W069:"['{a}'] is better written in dot notation.",W070:"Extra comma. (it breaks older versions of IE)",W071:"This function has too many statements. ({a})",W072:"This function has too many parameters. ({a})",W073:"Blocks are nested too deeply. ({a})",W074:"This function's cyclomatic complexity is too high. ({a})",W075:"Duplicate key '{a}'.",W076:"Unexpected parameter '{a}' in get {b} function.",W077:"Expected a single parameter in set {a} function.",W078:"Setter is defined without getter.",W079:"Redefinition of '{a}'.",W080:"It's not necessary to initialize '{a}' to 'undefined'.",W081:null,W082:"Function declarations should not be placed in blocks. Use a function expression or move the statement to the top of the outer function.",W083:"Don't make functions within a loop.",W084:"Assignment in conditional expression",W085:"Don't use 'with'.",W086:"Expected a 'break' statement before '{a}'.",W087:"Forgotten 'debugger' statement?",W088:"Creating global 'for' variable. Should be 'for (var {a} ...'.",W089:"The body of a for in should be wrapped in an if statement to filter unwanted properties from the prototype.",W090:"'{a}' is not a statement label.",W091:"'{a}' is out of scope.",W093:"Did you mean to return a conditional instead of an assignment?",W094:"Unexpected comma.",W095:"Expected a string and instead saw {a}.",W096:"The '{a}' key may produce unexpected results.",W097:'Use the function form of "use strict".',W098:"'{a}' is defined but never used.",W099:null,W100:"This character may get silently deleted by one or more browsers.",W101:"Line is too long.",W102:null,W103:"The '{a}' property is deprecated.",W104:"'{a}' is available in ES6 (use esnext option) or Mozilla JS extensions (use moz).",W105:"Unexpected {a} in '{b}'.",W106:"Identifier '{a}' is not in camel case.",W107:"Script URL.",W108:"Strings must use doublequote.",W109:"Strings must use singlequote.",W110:"Mixed double and single quotes.",W112:"Unclosed string.",W113:"Control character in string: {a}.",W114:"Avoid {a}.",W115:"Octal literals are not allowed in strict mode.",W116:"Expected '{a}' and instead saw '{b}'.",W117:"'{a}' is not defined.",W118:"'{a}' is only available in Mozilla JavaScript extensions (use moz option).",W119:"'{a}' is only available in ES6 (use esnext option).",W120:"You might be leaking a variable ({a}) here.",W121:"Extending prototype of native object: '{a}'.",W122:"Invalid typeof value '{a}'",W123:"'{a}' is already defined in outer scope.",W124:"A generator function shall contain a yield statement.",W125:"This line contains non-breaking spaces: http://jshint.com/doc/options/#nonbsp"},o={I001:"Comma warnings can be turned off with 'laxcomma'.",I002:null,I003:"ES5 option is now set per default"};n.errors={},n.warnings={},n.info={},r.each(i,function(e,t){n.errors[t]={code:t,desc:e}}),r.each(s,function(e,t){n.warnings[t]={code:t,desc:e}}),r.each(o,function(e,t){n.info[t]={code:t,desc:e}})},{underscore:2}],6:[function(e,t,n){"use string";n.unsafeString=/@cc|<\/?|script|\]\s*\]|<\s*!|&lt/i,n.unsafeChars=/[\u0000-\u001f\u007f-\u009f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/,n.needEsc=/[\u0000-\u001f&<"\/\\\u007f-\u009f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/,n.needEscGlobal=/[\u0000-\u001f&<"\/\\\u007f-\u009f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,n.starSlash=/\*\//,n.identifier=/^([a-zA-Z_$][a-zA-Z0-9_$]*)$/,n.javascriptURL=/^(?:javascript|jscript|ecmascript|vbscript|livescript)\s*:/i,n.fallsThrough=/^\s*\/\*\s*falls?\sthrough\s*\*\/\s*$/,n.maxlenException=/^(?:(?:\/\/|\/\*|\*) ?)?[^ ]+$/},{}],7:[function(e,t,n){"use strict";var r={syntax:{},reset:function(){this.tokens={prev:null,next:null,curr:null},this.option={},this.ignored={},this.directive={},this.jsonMode=!1,this.jsonWarnings=[],this.lines=[],this.tab="",this.cache={},this.ignoredLines={},this.ignoreLinterErrors=!1}};n.state=r},{}],8:[function(e,t,n){"use strict";n.register=function(e){e.on("Identifier",function(n){if(e.getOption("proto"))return;n.name==="__proto__"&&e.warn("W103",{line:n.line,"char":n.char,data:[n.name]})}),e.on("Identifier",function(n){if(e.getOption("iterator"))return;n.name==="__iterator__"&&e.warn("W104",{line:n.line,"char":n.char,data:[n.name]})}),e.on("Identifier",function(n){if(!e.getOption("camelcase"))return;n.name.replace(/^_+|_+$/g,"").indexOf("_")>-1&&!n.name.match(/^[A-Z0-9_]*$/)&&e.warn("W106",{line:n.line,"char":n.from,data:[n.name]})}),e.on("String",function(n){var r=e.getOption("quotmark"),i;if(!r)return;r==="single"&&n.quote!=="'"&&(i="W109"),r==="double"&&n.quote!=='"'&&(i="W108"),r===!0&&(e.getCache("quotmark")||e.setCache("quotmark",n.quote),e.getCache("quotmark")!==n.quote&&(i="W110")),i&&e.warn(i,{line:n.line,"char":n.char})}),e.on("Number",function(n){n.value.charAt(0)==="."&&e.warn("W008",{line:n.line,"char":n.char,data:[n.value]}),n.value.substr(n.value.length-1)==="."&&e.warn("W047",{line:n.line,"char":n.char,data:[n.value]}),/^00+/.test(n.value)&&e.warn("W046",{line:n.line,"char":n.char,data:[n.value]})}),e.on("String",function(n){var r=/^(?:javascript|jscript|ecmascript|vbscript|livescript)\s*:/i;if(e.getOption("scripturl"))return;r.test(n.value)&&e.warn("W107",{line:n.line,"char":n.char})})}},{}],9:[function(e,t,n){"use strict";n.reservedVars={arguments:!1,NaN:!1},n.ecmaIdentifiers={Array:!1,Boolean:!1,Date:!1,decodeURI:!1,decodeURIComponent:!1,encodeURI:!1,encodeURIComponent:!1,Error:!1,eval:!1,EvalError:!1,Function:!1,hasOwnProperty:!1,isFinite:!1,isNaN:!1,JSON:!1,Math:!1,Number:!1,Object:!1,parseInt:!1,parseFloat:!1,RangeError:!1,ReferenceError:!1,RegExp:!1,String:!1,SyntaxError:!1,TypeError:!1,URIError:!1},n.newEcmaIdentifiers={Set:!1,Map:!1,WeakMap:!1,WeakSet:!1,Proxy:!1,Promise:!1},n.browser={Audio:!1,Blob:!1,addEventListener:!1,applicationCache:!1,atob:!1,blur:!1,btoa:!1,CanvasGradient:!1,CanvasPattern:!1,CanvasRenderingContext2D:!1,clearInterval:!1,clearTimeout:!1,close:!1,closed:!1,CustomEvent:!1,DOMParser:!1,defaultStatus:!1,document:!1,Element:!1,ElementTimeControl:!1,event:!1,FileReader:!1,FormData:!1,focus:!1,frames:!1,getComputedStyle:!1,HTMLElement:!1,HTMLAnchorElement:!1,HTMLBaseElement:!1,HTMLBlockquoteElement:!1,HTMLBodyElement:!1,HTMLBRElement:!1,HTMLButtonElement:!1,HTMLCanvasElement:!1,HTMLDirectoryElement:!1,HTMLDivElement:!1,HTMLDListElement:!1,HTMLFieldSetElement:!1,HTMLFontElement:!1,HTMLFormElement:!1,HTMLFrameElement:!1,HTMLFrameSetElement:!1,HTMLHeadElement:!1,HTMLHeadingElement:!1,HTMLHRElement:!1,HTMLHtmlElement:!1,HTMLIFrameElement:!1,HTMLImageElement:!1,HTMLInputElement:!1,HTMLIsIndexElement:!1,HTMLLabelElement:!1,HTMLLayerElement:!1,HTMLLegendElement:!1,HTMLLIElement:!1,HTMLLinkElement:!1,HTMLMapElement:!1,HTMLMenuElement:!1,HTMLMetaElement:!1,HTMLModElement:!1,HTMLObjectElement:!1,HTMLOListElement:!1,HTMLOptGroupElement:!1,HTMLOptionElement:!1,HTMLParagraphElement:!1,HTMLParamElement:!1,HTMLPreElement:!1,HTMLQuoteElement:!1,HTMLScriptElement:!1,HTMLSelectElement:!1,HTMLStyleElement:!1,HTMLTableCaptionElement:!1,HTMLTableCellElement:!1,HTMLTableColElement:!1,HTMLTableElement:!1,HTMLTableRowElement:!1,HTMLTableSectionElement:!1,HTMLTextAreaElement:!1,HTMLTitleElement:!1,HTMLUListElement:!1,HTMLVideoElement:!1,history:!1,Image:!1,length:!1,localStorage:!1,location:!1,matchMedia:!1,MessageChannel:!1,MessageEvent:!1,MessagePort:!1,MouseEvent:!1,moveBy:!1,moveTo:!1,MutationObserver:!1,name:!1,Node:!1,NodeFilter:!1,NodeList:!1,navigator:!1,onbeforeunload:!0,onblur:!0,onerror:!0,onfocus:!0,onload:!0,onresize:!0,onunload:!0,open:!1,openDatabase:!1,opener:!1,Option:!1,parent:!1,print:!1,removeEventListener:!1,resizeBy:!1,resizeTo:!1,screen:!1,scroll:!1,scrollBy:!1,scrollTo:!1,sessionStorage:!1,setInterval:!1,setTimeout:!1,SharedWorker:!1,status:!1,SVGAElement:!1,SVGAltGlyphDefElement:!1,SVGAltGlyphElement:!1,SVGAltGlyphItemElement:!1,SVGAngle:!1,SVGAnimateColorElement:!1,SVGAnimateElement:!1,SVGAnimateMotionElement:!1,SVGAnimateTransformElement:!1,SVGAnimatedAngle:!1,SVGAnimatedBoolean:!1,SVGAnimatedEnumeration:!1,SVGAnimatedInteger:!1,SVGAnimatedLength:!1,SVGAnimatedLengthList:!1,SVGAnimatedNumber:!1,SVGAnimatedNumberList:!1,SVGAnimatedPathData:!1,SVGAnimatedPoints:!1,SVGAnimatedPreserveAspectRatio:!1,SVGAnimatedRect:!1,SVGAnimatedString:!1,SVGAnimatedTransformList:!1,SVGAnimationElement:!1,SVGCSSRule:!1,SVGCircleElement:!1,SVGClipPathElement:!1,SVGColor:!1,SVGColorProfileElement:!1,SVGColorProfileRule:!1,SVGComponentTransferFunctionElement:!1,SVGCursorElement:!1,SVGDefsElement:!1,SVGDescElement:!1,SVGDocument:!1,SVGElement:!1,SVGElementInstance:!1,SVGElementInstanceList:!1,SVGEllipseElement:!1,SVGExternalResourcesRequired:!1,SVGFEBlendElement:!1,SVGFEColorMatrixElement:!1,SVGFEComponentTransferElement:!1,SVGFECompositeElement:!1,SVGFEConvolveMatrixElement:!1,SVGFEDiffuseLightingElement:!1,SVGFEDisplacementMapElement:!1,SVGFEDistantLightElement:!1,SVGFEFloodElement:!1,SVGFEFuncAElement:!1,SVGFEFuncBElement:!1,SVGFEFuncGElement:!1,SVGFEFuncRElement:!1,SVGFEGaussianBlurElement:!1,SVGFEImageElement:!1,SVGFEMergeElement:!1,SVGFEMergeNodeElement:!1,SVGFEMorphologyElement:!1,SVGFEOffsetElement:!1,SVGFEPointLightElement:!1,SVGFESpecularLightingElement:!1,SVGFESpotLightElement:!1,SVGFETileElement:!1,SVGFETurbulenceElement:!1,SVGFilterElement:!1,SVGFilterPrimitiveStandardAttributes:!1,SVGFitToViewBox:!1,SVGFontElement:!1,SVGFontFaceElement:!1,SVGFontFaceFormatElement:!1,SVGFontFaceNameElement:!1,SVGFontFaceSrcElement:!1,SVGFontFaceUriElement:!1,SVGForeignObjectElement:!1,SVGGElement:!1,SVGGlyphElement:!1,SVGGlyphRefElement:!1,SVGGradientElement:!1,SVGHKernElement:!1,SVGICCColor:!1,SVGImageElement:!1,SVGLangSpace:!1,SVGLength:!1,SVGLengthList:!1,SVGLineElement:!1,SVGLinearGradientElement:!1,SVGLocatable:!1,SVGMPathElement:!1,SVGMarkerElement:!1,SVGMaskElement:!1,SVGMatrix:!1,SVGMetadataElement:!1,SVGMissingGlyphElement:!1,SVGNumber:!1,SVGNumberList:!1,SVGPaint:!1,SVGPathElement:!1,SVGPathSeg:!1,SVGPathSegArcAbs:!1,SVGPathSegArcRel:!1,SVGPathSegClosePath:!1,SVGPathSegCurvetoCubicAbs:!1,SVGPathSegCurvetoCubicRel:!1,SVGPathSegCurvetoCubicSmoothAbs:!1,SVGPathSegCurvetoCubicSmoothRel:!1,SVGPathSegCurvetoQuadraticAbs:!1,SVGPathSegCurvetoQuadraticRel:!1,SVGPathSegCurvetoQuadraticSmoothAbs:!1,SVGPathSegCurvetoQuadraticSmoothRel:!1,SVGPathSegLinetoAbs:!1,SVGPathSegLinetoHorizontalAbs:!1,SVGPathSegLinetoHorizontalRel:!1,SVGPathSegLinetoRel:!1,SVGPathSegLinetoVerticalAbs:!1,SVGPathSegLinetoVerticalRel:!1,SVGPathSegList:!1,SVGPathSegMovetoAbs:!1,SVGPathSegMovetoRel:!1,SVGPatternElement:!1,SVGPoint:!1,SVGPointList:!1,SVGPolygonElement:!1,SVGPolylineElement:!1,SVGPreserveAspectRatio:!1,SVGRadialGradientElement:!1,SVGRect:!1,SVGRectElement:!1,SVGRenderingIntent:!1,SVGSVGElement:!1,SVGScriptElement:!1,SVGSetElement:!1,SVGStopElement:!1,SVGStringList:!1,SVGStylable:!1,SVGStyleElement:!1,SVGSwitchElement:!1,SVGSymbolElement:!1,SVGTRefElement:!1,SVGTSpanElement:!1,SVGTests:!1,SVGTextContentElement:!1,SVGTextElement:!1,SVGTextPathElement:!1,SVGTextPositioningElement:!1,SVGTitleElement:!1,SVGTransform:!1,SVGTransformList:!1,SVGTransformable:!1,SVGURIReference:!1,SVGUnitTypes:!1,SVGUseElement:!1,SVGVKernElement:!1,SVGViewElement:!1,SVGViewSpec:!1,SVGZoomAndPan:!1,TimeEvent:!1,top:!1,URL:!1,WebSocket:!1,window:!1,Worker:!1,XMLHttpRequest:!1,XMLSerializer:!1,XPathEvaluator:!1,XPathException:!1,XPathExpression:!1,XPathNamespace:!1,XPathNSResolver:!1,XPathResult:!1},n.devel={alert:!1,confirm:!1,console:!1,Debug:!1,opera:!1,prompt:!1},n.worker={importScripts:!0,postMessage:!0,self:!0},n.nonstandard={escape:!1,unescape:!1},n.couch={require:!1,respond:!1,getRow:!1,emit:!1,send:!1,start:!1,sum:!1,log:!1,exports:!1,module:!1,provides:!1},n.node={__filename:!1,__dirname:!1,GLOBAL:!1,global:!1,module:!1,require:!1,Buffer:!0,console:!0,exports:!0,process:!0,setTimeout:!0,clearTimeout:!0,setInterval:!0,clearInterval:!0,setImmediate:!0,clearImmediate:!0},n.phantom={phantom:!0,require:!0,WebPage:!0,console:!0,exports:!0},n.qunit={asyncTest:!1,deepEqual:!1,equal:!1,expect:!1,module:!1,notDeepEqual:!1,notEqual:!1,notPropEqual:!1,notStrictEqual:!1,ok:!1,propEqual:!1,QUnit:!1,raises:!1,start:!1,stop:!1,strictEqual:!1,test:!1,"throws":!1},n.rhino={defineClass:!1,deserialize:!1,gc:!1,help:!1,importClass:!1,importPackage:!1,java:!1,load:!1,loadClass:!1,Packages:!1,print:!1,quit:!1,readFile:!1,readUrl:!1,runCommand:!1,seal:!1,serialize:!1,spawn:!1,sync:!1,toint32:!1,version:!1},n.shelljs={target:!1,echo:!1,exit:!1,cd:!1,pwd:!1,ls:!1,find:!1,cp:!1,rm:!1,mv:!1,mkdir:!1,test:!1,cat:!1,sed:!1,grep:!1,which:!1,dirs:!1,pushd:!1,popd:!1,env:!1,exec:!1,chmod:!1,config:!1,error:!1,tempdir:!1},n.typed={ArrayBuffer:!1,ArrayBufferView:!1,DataView:!1,Float32Array:!1,Float64Array:!1,Int16Array:!1,Int32Array:!1,Int8Array:!1,Uint16Array:!1,Uint32Array:!1,Uint8Array:!1,Uint8ClampedArray:!1},n.wsh={ActiveXObject:!0,Enumerator:!0,GetObject:!0,ScriptEngine:!0,ScriptEngineBuildVersion:!0,ScriptEngineMajorVersion:!0,ScriptEngineMinorVersion:!0,VBArray:!0,WSH:!0,WScript:!0,XDomainRequest:!0},n.dojo={dojo:!1,dijit:!1,dojox:!1,define:!1,require:!1},n.jquery={$:!1,jQuery:!1},n.mootools={$:!1,$$:!1,Asset:!1,Browser:!1,Chain:!1,Class:!1,Color:!1,Cookie:!1,Core:!1,Document:!1,DomReady:!1,DOMEvent:!1,DOMReady:!1,Drag:!1,Element:!1,Elements:!1,Event:!1,Events:!1,Fx:!1,Group:!1,Hash:!1,HtmlTable:!1,IFrame:!1,IframeShim:!1,InputValidator:!1,instanceOf:!1,Keyboard:!1,Locale:!1,Mask:!1,MooTools:!1,Native:!1,Options:!1,OverText:!1,Request:!1,Scroller:!1,Slick:!1,Slider:!1,Sortables:!1,Spinner:!1,Swiff:!1,Tips:!1,Type:!1,typeOf:!1,URI:!1,Window:!1},n.prototypejs={$:!1,$$:!1,$A:!1,$F:!1,$H:!1,$R:!1,$break:!1,$continue:!1,$w:!1,Abstract:!1,Ajax:!1,Class:!1,Enumerable:!1,Element:!1,Event:!1,Field:!1,Form:!1,Hash:!1,Insertion:!1,ObjectRange:!1,PeriodicalExecuter:!1,Position:!1,Prototype:!1,Selector:!1,Template:!1,Toggle:!1,Try:!1,Autocompleter:!1,Builder:!1,Control:!1,Draggable:!1,Draggables:!1,Droppables:!1,Effect:!1,Sortable:!1,SortableObserver:!1,Sound:!1,Scriptaculous:!1},n.yui={YUI:!1,Y:!1,YUI_config:!1},n.mocha={describe:!1,it:!1,before:!1,after:!1,beforeEach:!1,afterEach:!1,suite:!1,test:!1,setup:!1,teardown:!1},n.jasmine={jasmine:!1,describe:!1,it:!1,xit:!1,beforeEach:!1,afterEach:!1,setFixtures:!1,loadFixtures:!1,spyOn:!1,expect:!1,runs:!1,waitsFor:!1,waits:!1}},{}],10:[function(e,t,n){function r(){this._events=this._events||{},this._maxListeners=this._maxListeners||undefined}function i(e){return typeof e=="function"}function s(e){return typeof e=="number"}function o(e){return typeof e=="object"&&e!==null}function u(e){return e===void 0}t.exports=r,r.EventEmitter=r,r.prototype._events=undefined,r.prototype._maxListeners=undefined,r.defaultMaxListeners=10,r.prototype.setMaxListeners=function(e){if(!s(e)||e<0||isNaN(e))throw TypeError("n must be a positive number");return this._maxListeners=e,this},r.prototype.emit=function(e){var t,n,r,s,a,f;this._events||(this._events={});if(e==="error")if(!this._events.error||o(this._events.error)&&!this._events.error.length)throw t=arguments[1],t instanceof Error?t:TypeError('Uncaught, unspecified "error" event.');n=this._events[e];if(u(n))return!1;if(i(n))switch(arguments.length){case 1:n.call(this);break;case 2:n.call(this,arguments[1]);break;case 3:n.call(this,arguments[1],arguments[2]);break;default:r=arguments.length,s=new Array(r-1);for(a=1;a<r;a++)s[a-1]=arguments[a];n.apply(this,s)}else if(o(n)){r=arguments.length,s=new Array(r-1);for(a=1;a<r;a++)s[a-1]=arguments[a];f=n.slice(),r=f.length;for(a=0;a<r;a++)f[a].apply(this,s)}return!0},r.prototype.addListener=function(e,t){var n;if(!i(t))throw TypeError("listener must be a function");this._events||(this._events={}),this._events.newListener&&this.emit("newListener",e,i(t.listener)?t.listener:t),this._events[e]?o(this._events[e])?this._events[e].push(t):this._events[e]=[this._events[e],t]:this._events[e]=t;if(o(this._events[e])&&!this._events[e].warned){var n;u(this._maxListeners)?n=r.defaultMaxListeners:n=this._maxListeners,n&&n>0&&this._events[e].length>n&&(this._events[e].warned=!0,console.error("(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.",this._events[e].length),console.trace())}return this},r.prototype.on=r.prototype.addListener,r.prototype.once=function(e,t){function r(){this.removeListener(e,r),n||(n=!0,t.apply(this,arguments))}if(!i(t))throw TypeError("listener must be a function");var n=!1;return r.listener=t,this.on(e,r),this},r.prototype.removeListener=function(e,t){var n,r,s,u;if(!i(t))throw TypeError("listener must be a function");if(!this._events||!this._events[e])return this;n=this._events[e],s=n.length,r=-1;if(n===t||i(n.listener)&&n.listener===t)delete this._events[e],this._events.removeListener&&this.emit("removeListener",e,t);else if(o(n)){for(u=s;u-->0;)if(n[u]===t||n[u].listener&&n[u].listener===t){r=u;break}if(r<0)return this;n.length===1?(n.length=0,delete this._events[e]):n.splice(r,1),this._events.removeListener&&this.emit("removeListener",e,t)}return this},r.prototype.removeAllListeners=function(e){var t,n;if(!this._events)return this;if(!this._events.removeListener)return arguments.length===0?this._events={}:this._events[e]&&delete this._events[e],this;if(arguments.length===0){for(t in this._events){if(t==="removeListener")continue;this.removeAllListeners(t)}return this.removeAllListeners("removeListener"),this._events={},this}n=this._events[e];if(i(n))this.removeListener(e,n);else while(n.length)this.removeListener(e,n[n.length-1]);return delete this._events[e],this},r.prototype.listeners=function(e){var t;return!this._events||!this._events[e]?t=[]:i(this._events[e])?t=[this._events[e]]:t=this._events[e].slice(),t},r.listenerCount=function(e,t){var n;return!e._events||!e._events[t]?n=0:i(e._events[t])?n=1:n=e._events[t].length,n}},{}]},{},[3])(3)}),define("ace/mode/javascript_worker",["require","exports","module","ace/lib/oop","ace/worker/mirror","ace/mode/javascript/jshint"],function(require,exports,module){"use strict";function startRegex(e){return RegExp("^("+e.join("|")+")")}var oop=require("../lib/oop"),Mirror=require("../worker/mirror").Mirror,lint=require("./javascript/jshint").JSHINT,disabledWarningsRe=startRegex(["Bad for in variable '(.+)'.",'Missing "use strict"']),errorsRe=startRegex(["Unexpected","Expected ","Confusing (plus|minus)","\\{a\\} unterminated regular expression","Unclosed ","Unmatched ","Unbegun comment","Bad invocation","Missing space after","Missing operator at"]),infoRe=startRegex(["Expected an assignment","Bad escapement of EOL","Unexpected comma","Unexpected space","Missing radix parameter.","A leading decimal point can","\\['{a}'\\] is better written in dot notation.","'{a}' used out of scope"]),JavaScriptWorker=exports.JavaScriptWorker=function(e){Mirror.call(this,e),this.setTimeout(500),this.setOptions()};oop.inherits(JavaScriptWorker,Mirror),function(){this.setOptions=function(e){this.options=e||{esnext:!0,moz:!0,devel:!0,browser:!0,node:!0,laxcomma:!0,laxbreak:!0,lastsemic:!0,onevar:!1,passfail:!1,maxerr:100,expr:!0,multistr:!0,globalstrict:!0},this.doc.getValue()&&this.deferredUpdate.schedule(100)},this.changeOptions=function(e){oop.mixin(this.options,e),this.doc.getValue()&&this.deferredUpdate.schedule(100)},this.isValidJS=function(str){try{eval("throw 0;"+str)}catch(e){if(e===0)return!0}return!1},this.onUpdate=function(){var e=this.doc.getValue();e=e.replace(/^#!.*\n/,"\n");if(!e){this.sender.emit("jslint",[]);return}var t=[],n=this.isValidJS(e)?"warning":"error";lint(e,this.options);var r=lint.errors,i=!1;for(var s=0;s<r.length;s++){var o=r[s];if(!o)continue;var u=o.raw,a="warning";if(u=="Missing semicolon."){var f=o.evidence.substr(o.character);f=f.charAt(f.search(/\S/)),n=="error"&&f&&/[\w\d{(['"]/.test(f)?(o.reason='Missing ";" before statement',a="error"):a="info"}else{if(disabledWarningsRe.test(u))continue;infoRe.test(u)?a="info":errorsRe.test(u)?(i=!0,a=n):u=="'{a}' is not defined."?a="warning":u=="'{a}' is defined but never used."&&(a="info")}t.push({row:o.line-1,column:o.character-1,text:o.reason,type:a,raw:u}),i}this.sender.emit("jslint",t)}}.call(JavaScriptWorker.prototype)}),define("ace/lib/es5-shim",["require","exports","module"],function(e,t,n){function r(){}function w(e){try{return Object.defineProperty(e,"sentinel",{}),"sentinel"in e}catch(t){}}function H(e){return e=+e,e!==e?e=0:e!==0&&e!==1/0&&e!==-1/0&&(e=(e>0||-1)*Math.floor(Math.abs(e))),e}function B(e){var t=typeof e;return e===null||t==="undefined"||t==="boolean"||t==="number"||t==="string"}function j(e){var t,n,r;if(B(e))return e;n=e.valueOf;if(typeof n=="function"){t=n.call(e);if(B(t))return t}r=e.toString;if(typeof r=="function"){t=r.call(e);if(B(t))return t}throw new TypeError}Function.prototype.bind||(Function.prototype.bind=function(t){var n=this;if(typeof n!="function")throw new TypeError("Function.prototype.bind called on incompatible "+n);var i=u.call(arguments,1),s=function(){if(this instanceof s){var e=n.apply(this,i.concat(u.call(arguments)));return Object(e)===e?e:this}return n.apply(t,i.concat(u.call(arguments)))};return n.prototype&&(r.prototype=n.prototype,s.prototype=new r,r.prototype=null),s});var i=Function.prototype.call,s=Array.prototype,o=Object.prototype,u=s.slice,a=i.bind(o.toString),f=i.bind(o.hasOwnProperty),l,c,h,p,d;if(d=f(o,"__defineGetter__"))l=i.bind(o.__defineGetter__),c=i.bind(o.__defineSetter__),h=i.bind(o.__lookupGetter__),p=i.bind(o.__lookupSetter__);if([1,2].splice(0).length!=2)if(!function(){function e(e){var t=new Array(e+2);return t[0]=t[1]=0,t}var t=[],n;t.splice.apply(t,e(20)),t.splice.apply(t,e(26)),n=t.length,t.splice(5,0,"XXX"),n+1==t.length;if(n+1==t.length)return!0}())Array.prototype.splice=function(e,t){var n=this.length;e>0?e>n&&(e=n):e==void 0?e=0:e<0&&(e=Math.max(n+e,0)),e+t<n||(t=n-e);var r=this.slice(e,e+t),i=u.call(arguments,2),s=i.length;if(e===n)s&&this.push.apply(this,i);else{var o=Math.min(t,n-e),a=e+o,f=a+s-o,l=n-a,c=n-o;if(f<a)for(var h=0;h<l;++h)this[f+h]=this[a+h];else if(f>a)for(h=l;h--;)this[f+h]=this[a+h];if(s&&e===c)this.length=c,this.push.apply(this,i);else{this.length=c+s;for(h=0;h<s;++h)this[e+h]=i[h]}}return r};else{var v=Array.prototype.splice;Array.prototype.splice=function(e,t){return arguments.length?v.apply(this,[e===void 0?0:e,t===void 0?this.length-e:t].concat(u.call(arguments,2))):[]}}Array.isArray||(Array.isArray=function(t){return a(t)=="[object Array]"});var m=Object("a"),g=m[0]!="a"||!(0 in m);Array.prototype.forEach||(Array.prototype.forEach=function(t){var n=F(this),r=g&&a(this)=="[object String]"?this.split(""):n,i=arguments[1],s=-1,o=r.length>>>0;if(a(t)!="[object Function]")throw new TypeError;while(++s<o)s in r&&t.call(i,r[s],s,n)}),Array.prototype.map||(Array.prototype.map=function(t){var n=F(this),r=g&&a(this)=="[object String]"?this.split(""):n,i=r.length>>>0,s=Array(i),o=arguments[1];if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");for(var u=0;u<i;u++)u in r&&(s[u]=t.call(o,r[u],u,n));return s}),Array.prototype.filter||(Array.prototype.filter=function(t){var n=F(this),r=g&&a(this)=="[object String]"?this.split(""):n,i=r.length>>>0,s=[],o,u=arguments[1];if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");for(var f=0;f<i;f++)f in r&&(o=r[f],t.call(u,o,f,n)&&s.push(o));return s}),Array.prototype.every||(Array.prototype.every=function(t){var n=F(this),r=g&&a(this)=="[object String]"?this.split(""):n,i=r.length>>>0,s=arguments[1];if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");for(var o=0;o<i;o++)if(o in r&&!t.call(s,r[o],o,n))return!1;return!0}),Array.prototype.some||(Array.prototype.some=function(t){var n=F(this),r=g&&a(this)=="[object String]"?this.split(""):n,i=r.length>>>0,s=arguments[1];if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");for(var o=0;o<i;o++)if(o in r&&t.call(s,r[o],o,n))return!0;return!1}),Array.prototype.reduce||(Array.prototype.reduce=function(t){var n=F(this),r=g&&a(this)=="[object String]"?this.split(""):n,i=r.length>>>0;if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");if(!i&&arguments.length==1)throw new TypeError("reduce of empty array with no initial value");var s=0,o;if(arguments.length>=2)o=arguments[1];else do{if(s in r){o=r[s++];break}if(++s>=i)throw new TypeError("reduce of empty array with no initial value")}while(!0);for(;s<i;s++)s in r&&(o=t.call(void 0,o,r[s],s,n));return o}),Array.prototype.reduceRight||(Array.prototype.reduceRight=function(t){var n=F(this),r=g&&a(this)=="[object String]"?this.split(""):n,i=r.length>>>0;if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");if(!i&&arguments.length==1)throw new TypeError("reduceRight of empty array with no initial value");var s,o=i-1;if(arguments.length>=2)s=arguments[1];else do{if(o in r){s=r[o--];break}if(--o<0)throw new TypeError("reduceRight of empty array with no initial value")}while(!0);do o in this&&(s=t.call(void 0,s,r[o],o,n));while(o--);return s});if(!Array.prototype.indexOf||[0,1].indexOf(1,2)!=-1)Array.prototype.indexOf=function(t){var n=g&&a(this)=="[object String]"?this.split(""):F(this),r=n.length>>>0;if(!r)return-1;var i=0;arguments.length>1&&(i=H(arguments[1])),i=i>=0?i:Math.max(0,r+i);for(;i<r;i++)if(i in n&&n[i]===t)return i;return-1};if(!Array.prototype.lastIndexOf||[0,1].lastIndexOf(0,-3)!=-1)Array.prototype.lastIndexOf=function(t){var n=g&&a(this)=="[object String]"?this.split(""):F(this),r=n.length>>>0;if(!r)return-1;var i=r-1;arguments.length>1&&(i=Math.min(i,H(arguments[1]))),i=i>=0?i:r-Math.abs(i);for(;i>=0;i--)if(i in n&&t===n[i])return i;return-1};Object.getPrototypeOf||(Object.getPrototypeOf=function(t){return t.__proto__||(t.constructor?t.constructor.prototype:o)});if(!Object.getOwnPropertyDescriptor){var y="Object.getOwnPropertyDescriptor called on a non-object: ";Object.getOwnPropertyDescriptor=function(t,n){if(typeof t!="object"&&typeof t!="function"||t===null)throw new TypeError(y+t);if(!f(t,n))return;var r,i,s;r={enumerable:!0,configurable:!0};if(d){var u=t.__proto__;t.__proto__=o;var i=h(t,n),s=p(t,n);t.__proto__=u;if(i||s)return i&&(r.get=i),s&&(r.set=s),r}return r.value=t[n],r}}Object.getOwnPropertyNames||(Object.getOwnPropertyNames=function(t){return Object.keys(t)});if(!Object.create){var b;Object.prototype.__proto__===null?b=function(){return{__proto__:null}}:b=function(){var e={};for(var t in e)e[t]=null;return e.constructor=e.hasOwnProperty=e.propertyIsEnumerable=e.isPrototypeOf=e.toLocaleString=e.toString=e.valueOf=e.__proto__=null,e},Object.create=function(t,n){var r;if(t===null)r=b();else{if(typeof t!="object")throw new TypeError("typeof prototype["+typeof t+"] != 'object'");var i=function(){};i.prototype=t,r=new i,r.__proto__=t}return n!==void 0&&Object.defineProperties(r,n),r}}if(Object.defineProperty){var E=w({}),S=typeof document=="undefined"||w(document.createElement("div"));if(!E||!S)var x=Object.defineProperty}if(!Object.defineProperty||x){var T="Property description must be an object: ",N="Object.defineProperty called on non-object: ",C="getters & setters can not be defined on this javascript engine";Object.defineProperty=function(t,n,r){if(typeof t!="object"&&typeof t!="function"||t===null)throw new TypeError(N+t);if(typeof r!="object"&&typeof r!="function"||r===null)throw new TypeError(T+r);if(x)try{return x.call(Object,t,n,r)}catch(i){}if(f(r,"value"))if(d&&(h(t,n)||p(t,n))){var s=t.__proto__;t.__proto__=o,delete t[n],t[n]=r.value,t.__proto__=s}else t[n]=r.value;else{if(!d)throw new TypeError(C);f(r,"get")&&l(t,n,r.get),f(r,"set")&&c(t,n,r.set)}return t}}Object.defineProperties||(Object.defineProperties=function(t,n){for(var r in n)f(n,r)&&Object.defineProperty(t,r,n[r]);return t}),Object.seal||(Object.seal=function(t){return t}),Object.freeze||(Object.freeze=function(t){return t});try{Object.freeze(function(){})}catch(k){Object.freeze=function(t){return function(n){return typeof n=="function"?n:t(n)}}(Object.freeze)}Object.preventExtensions||(Object.preventExtensions=function(t){return t}),Object.isSealed||(Object.isSealed=function(t){return!1}),Object.isFrozen||(Object.isFrozen=function(t){return!1}),Object.isExtensible||(Object.isExtensible=function(t){if(Object(t)===t)throw new TypeError;var n="";while(f(t,n))n+="?";t[n]=!0;var r=f(t,n);return delete t[n],r});if(!Object.keys){var L=!0,A=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],O=A.length;for(var M in{toString:null})L=!1;Object.keys=function I(e){if(typeof e!="object"&&typeof e!="function"||e===null)throw new TypeError("Object.keys called on a non-object");var I=[];for(var t in e)f(e,t)&&I.push(t);if(L)for(var n=0,r=O;n<r;n++){var i=A[n];f(e,i)&&I.push(i)}return I}}Date.now||(Date.now=function(){return(new Date).getTime()});var _=" \n \f\r \u00a0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029\ufeff";if(!String.prototype.trim||_.trim()){_="["+_+"]";var D=new RegExp("^"+_+_+"*"),P=new RegExp(_+_+"*$");String.prototype.trim=function(){return String(this).replace(D,"").replace(P,"")}}var F=function(e){if(e==null)throw new TypeError("can't convert "+e+" to object");return Object(e)}}) \ No newline at end of file
diff --git a/priv/static/metrics-graphics-3.0-alpha3/examples/js/main.js b/priv/static/metrics-graphics-3.0-alpha3/examples/js/main.js
new file mode 100644
index 0000000..a123f92
--- /dev/null
+++ b/priv/static/metrics-graphics-3.0-alpha3/examples/js/main.js
@@ -0,0 +1,125 @@
+var theme = 'light';
+
+(function() {
+ 'use strict';
+
+ //set the active pill and section on first load
+ var section = (document.location.hash) ? document.location.hash.slice(1) : 'lines';
+
+ $('#trunk').load('charts/' + section + '.htm', function() {
+ $('pre code').each(function(i, block) {
+ hljs.highlightBlock(block);
+ });
+ });
+
+ $('.examples li a#goto-' + section).addClass('active');
+
+ //handle mouse clicks and so on
+ assignEventListeners();
+
+ function assignEventListeners() {
+ $('ul.examples li a.pill').on('click', function(event) {
+ event.preventDefault();
+ $('ul.examples li a.pill').removeClass('active');
+ $(this).addClass('active');
+
+ var section = $(this).attr('id').slice(5);
+ $('#trunk').load('charts/' + section + '.htm', function() {
+ $('pre code').each(function(i, block) {
+ hljs.highlightBlock(block);
+ });
+ });
+
+ document.location.hash = section;
+
+ return false;
+ })
+
+ $('#dark-css').on('click', function () {
+ theme = 'dark';
+
+ $('.missing')
+ .css('background-image', 'url(images/missing-data-dark.png)');
+
+ $('.wip')
+ .css('background-color', '#3b3b3b');
+
+ $('.trunk-section')
+ .css('border-top-color', '#5e5e5e');
+
+ $('.mg-missing-background')
+ .css('stroke', '#ccc');
+
+ $('.head ul li a.pill').removeClass('active');
+ $(this).toggleClass('active');
+ $('#dark').attr({href : 'css/metricsgraphics-demo-dark.css'});
+ $('#dark-code').attr({href : 'css/railscasts.css'});
+ $('#accessible').attr({href : ''});
+
+ return false;
+ });
+
+ $('#light-css').on('click', function () {
+ theme = 'light';
+
+ $('.missing')
+ .css('background-image', 'url(images/missing-data.png)');
+
+ $('.wip')
+ .css('background-color', '#f1f1f1');
+
+ $('.trunk-section')
+ .css('border-top-color', '#ccc');
+
+ $('.mg-missing-background')
+ .css('stroke', 'blue');
+
+ $('.head ul li a.pill').removeClass('active');
+ $(this).toggleClass('active');
+ $('#dark').attr({href : ''});
+ $('#dark-code').attr({href : ''});
+ $('#accessible').attr({href : ''});
+
+ return false;
+ });
+
+ $('#accessible-css').on('click', function () {
+ $('.head ul li a.pill').removeClass('active');
+ $(this).toggleClass('active');
+ $('#accessible').attr({href : 'css/metricsgraphics-demo-accessible.css'});
+
+ return false;
+ });
+ }
+
+ // replace all SVG images with inline SVG
+ // http://stackoverflow.com/questions/11978995/how-to-change-color-of-svg
+ // -image-using-css-jquery-svg-image-replacement
+ $('img.svg').each(function() {
+ var $img = jQuery(this);
+ var imgID = $img.attr('id');
+ var imgClass = $img.attr('class');
+ var imgURL = $img.attr('src');
+
+ $.get(imgURL, function(data) {
+ // Get the SVG tag, ignore the rest
+ var $svg = jQuery(data).find('svg');
+
+ // Add replaced image's ID to the new SVG
+ if (typeof imgID !== 'undefined') {
+ $svg = $svg.attr('id', imgID);
+ }
+ // Add replaced image's classes to the new SVG
+ if (typeof imgClass !== 'undefined') {
+ $svg = $svg.attr('class', imgClass + ' replaced-svg');
+ }
+
+ // Remove any invalid XML tags as per http://validator.w3.org
+ $svg = $svg.removeAttr('xmlns:a');
+
+ // Replace image with new SVG
+ $img.replaceWith($svg);
+
+ }, 'xml');
+ });
+})();
diff --git a/priv/static/metrics-graphics-3.0-alpha3/gulp/index.js b/priv/static/metrics-graphics-3.0-alpha3/gulp/index.js
new file mode 100644
index 0000000..5ddb739
--- /dev/null
+++ b/priv/static/metrics-graphics-3.0-alpha3/gulp/index.js
@@ -0,0 +1,136 @@
+// Gulp and plugins
+var
+ gulp = require('gulp'),
+ umd = require('gulp-umd'),
+ rimraf = require('gulp-rimraf'),
+ uglify = require('gulp-uglify'),
+ concat = require('gulp-concat'),
+ rename = require('gulp-rename'),
+ //sass = require('gulp-sass'), // for building css from scss
+ //minifycss = require('gulp-minify-css'), // for minifiing css
+ jshint = require('gulp-jshint'),
+ testem = require('gulp-testem'),
+ connect = require('gulp-connect'),
+ babel = require('gulp-babel');
+
+// paths
+var
+ src = './src/js/',
+ dist = './dist/',
+ jsFiles = [
+ 'MG.js',
+ 'misc/utility.js',
+ 'common/register.js',
+ 'common/hooks.js',
+ 'common/data_graphic.js',
+ 'common/bootstrap_tooltip_popover.js',
+ 'common/chart_title.js',
+ 'common/scales.js',
+ 'common/y_axis.js',
+ 'common/x_axis.js',
+ 'common/scales.js',
+ 'common/init.js',
+ 'common/markers.js',
+ 'common/rollover.js',
+ 'common/zoom.js',
+ 'common/brush.js',
+ 'common/window_listeners.js',
+ 'layout/bootstrap_dropdown.js',
+ 'layout/button.js',
+ 'charts/line.js',
+ 'charts/histogram.js',
+ 'charts/point.js',
+ 'charts/bar.js',
+ 'charts/table.js',
+ 'charts/missing.js',
+ 'misc/process.js',
+ 'misc/smoothers.js',
+ 'misc/formatters.js',
+ 'misc/transitions.js',
+ 'misc/markup.js',
+ 'misc/error.js'
+ ];
+
+
+gulp.task('default', ['jshint', 'test', 'build:js']);
+
+gulp.task('clean', function () {
+ return gulp.src([dist + 'metricsgraphics.js', dist + 'metricsgraphics.min.js'], {read: false})
+ .pipe(rimraf());
+});
+
+// build css files from scss
+//gulp.task('build:css', ['clean'], function () {
+// return gulp.src(scssFiles)
+// .pipe(sass({includePaths: scssDependencies}))
+// .pipe(minifycss())
+// .pipe(gulp.dest(dist));
+//});
+
+// create 'metricsgraphics.js' and 'metricsgraphics.min.js' from source js
+gulp.task('build:js', ['clean'], function () {
+ return gulp.src(jsFiles.map(path => src + path))
+ .pipe(concat({path: 'metricsgraphics.js'}))
+ .pipe(babel({
+ presets: ['env']
+ }))
+ .pipe(umd(
+ {
+ dependencies:function() {
+ return [{
+ name: 'd3',
+ amd: 'd3',
+ cjs: 'd3',
+ global: 'd3',
+ param: 'd3'
+ }];
+ },
+ exports: function() {
+ return "MG";
+ },
+ namespace: function() {
+ return "MG";
+ }
+ }
+ ))
+ .pipe(gulp.dest(dist))
+ .pipe(rename('metricsgraphics.min.js'))
+ .pipe(uglify())
+ .pipe(gulp.dest(dist));
+});
+
+// Check source js files with jshint
+gulp.task('jshint', function () {
+ return gulp.src(jsFiles.map(fname => `src/js/${fname}`))
+ .pipe(jshint())
+ .pipe(jshint.reporter('default'))
+ .pipe(jshint.reporter('fail'))
+});
+
+// Run test suite server (testem')
+gulp.task('test', function() {
+ return gulp.src([''])
+ .pipe(testem({
+ configFile: 'testem.json'
+ }));
+});
+
+
+// Development server tasks
+// NOTE: these paths will need changing when the SCSS source is ready
+var roots = ['dist', 'examples', 'src', 'bower_components'],
+ watchables = roots.map(function(root) {
+ return root + '/**/*';
+ });
+
+gulp.task('dev:watch', function() { return gulp.watch(watchables, ['jshint', 'dev:reload']); });
+gulp.task('dev:reload', function() { return gulp.src(watchables).pipe(connect.reload()); });
+gulp.task('serve', ['jshint', 'dev:serve', 'dev:watch']);
+
+gulp.task('dev:serve', function() {
+ connect.server({
+ root: roots,
+ port: 4300,
+ livereload: true
+ });
+});
diff --git a/priv/static/metrics-graphics-3.0-alpha3/gulpfile.js b/priv/static/metrics-graphics-3.0-alpha3/gulpfile.js
new file mode 100644
index 0000000..f60b303
--- /dev/null
+++ b/priv/static/metrics-graphics-3.0-alpha3/gulpfile.js
@@ -0,0 +1,3 @@
+'use strict';
+
+require('./gulp');
diff --git a/priv/static/metrics-graphics-3.0-alpha3/index.js b/priv/static/metrics-graphics-3.0-alpha3/index.js
new file mode 100644
index 0000000..b6ac74a
--- /dev/null
+++ b/priv/static/metrics-graphics-3.0-alpha3/index.js
@@ -0,0 +1 @@
+module.exports = require('./dist/metricsgraphics')
diff --git a/priv/static/metrics-graphics-3.0-alpha3/package.json b/priv/static/metrics-graphics-3.0-alpha3/package.json
new file mode 100644
index 0000000..466febf
--- /dev/null
+++ b/priv/static/metrics-graphics-3.0-alpha3/package.json
@@ -0,0 +1,66 @@
+{
+ "name": "metrics-graphics",
+ "version": "3.0.0-alpha3",
+ "description": "A library optimized for concise, principled data graphics and layouts",
+ "main": "dist/metricsgraphics.js",
+ "scripts": {
+ "build": "gulp build:js",
+ "lint": "gulp jshint",
+ "test": "gulp test",
+ "test-ci": "./node_modules/testem/testem.js ci testem.json",
+ "version": "npm run build && git add ."
+ },
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/metricsgraphics/metrics-graphics.git"
+ },
+ "files": [
+ "dist"
+ ],
+ "keywords": [
+ "metrics-graphics",
+ "metricsgraphicsjs",
+ "metricsgraphics",
+ "metricsgraphics.js",
+ "d3 charts"
+ ],
+ "author": "Mozilla",
+ "contributors": [
+ "Ali Almossawi",
+ "Hamilton Ulmer",
+ "William Lachance"
+ ],
+ "license": "MPL-2.0",
+ "bugs": {
+ "url": "https://github.com/metricsgraphics/metrics-graphics/issues"
+ },
+ "engines": {
+ "node": ">=0.8.0"
+ },
+ "homepage": "http://metricsgraphicsjs.org",
+ "dependencies": {
+ "d3": "^5.0.0"
+ },
+ "peerDependencies": {
+ "jquery": ">=1.11.1"
+ },
+ "devDependencies": {
+ "babel-core": "^6.26.0",
+ "babel-preset-env": "^1.6.1",
+ "gulp": "^3.8.10",
+ "gulp-babel": "^7.0.1",
+ "gulp-concat": "^2.4.2",
+ "gulp-connect": "^5.0.0",
+ "gulp-jshint": "^2.1.0",
+ "gulp-rename": "^1.2.0",
+ "gulp-rimraf": "^0.2.0",
+ "gulp-testem": "0.0.1",
+ "gulp-uglify": "3.0.1",
+ "gulp-umd": "^2.0.0",
+ "jquery": ">=1.11.1",
+ "jshint": "^2.9.5",
+ "qunitjs": "^2.0.0",
+ "require-dir": "^1.0.0",
+ "testem": "^2.0.0"
+ }
+}
diff --git a/priv/static/metrics-graphics-3.0-alpha3/renovate.json b/priv/static/metrics-graphics-3.0-alpha3/renovate.json
new file mode 100644
index 0000000..99e531e
--- /dev/null
+++ b/priv/static/metrics-graphics-3.0-alpha3/renovate.json
@@ -0,0 +1,8 @@
+{
+ "extends": [
+ "config:base",
+ ":maintainLockFilesWeekly",
+ ":prNotPending"
+ ],
+ "pinVersions": false
+}
diff --git a/priv/static/metrics-graphics-3.0-alpha3/src/index.html b/priv/static/metrics-graphics-3.0-alpha3/src/index.html
new file mode 100644
index 0000000..4f9ce02
--- /dev/null
+++ b/priv/static/metrics-graphics-3.0-alpha3/src/index.html
@@ -0,0 +1,238 @@
+<html lang='en'>
+<head>
+ <meta content='text/html; charset=utf-8' http-equiv='Content-Type'>
+ <link href='images/og-logo.png' rel='icon' type='image/png' />
+ <title>MetricsGraphics.js (DEV)</title>
+
+ <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,300,700' rel='stylesheet' type='text/css'>
+ <link href='https://fonts.googleapis.com/css?family=PT+Serif:400,700,400italic' rel='stylesheet' type='text/css'>
+ <link href='https://netdna.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.css' rel='stylesheet' type='text/css'>
+ <link href='https://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css' rel='stylesheet' type='text/css'>
+
+ <!-- loaded from dist -->
+ <link href='metricsgraphics.css' rel='stylesheet' type='text/css'>
+ <!-- loaded from examples/ -->
+ <link href='css/metricsgraphics-demo.css' rel='stylesheet' type='text/css'>
+
+ <script src='https://cdnjs.cloudflare.com/ajax/libs/jquery/3.1.0/jquery.min.js'></script>
+ <script src="https://d3js.org/d3.v4.min.js"></script>
+ <script src="https://cdnjs.cloudflare.com/ajax/libs/ace/1.2.9/ace.js" charset="utf-8"></script>
+
+ <!-- dev start -->
+ <script src='js/MG.js'></script>
+ <script src='js/misc/utility.js'></script>
+ <script src='js/common/data_graphic.js'></script>
+ <script src='js/common/hooks.js'></script>
+ <script src='js/common/register.js'></script>
+ <script src='js/common/bootstrap_tooltip_popover.js'></script>
+ <script src='js/common/chart_title.js'></script>
+ <script src='js/common/scales.js'></script>
+ <script src='js/common/y_axis.js'></script>
+ <script src='js/common/x_axis.js'></script>
+ <script src='js/common/init.js'></script>
+ <script src='js/common/markers.js'></script>
+ <script src='js/common/rollover.js'></script>
+ <script src='js/common/zoom.js'></script>
+ <script src='js/common/brush.js'></script>
+ <script src='js/common/window_listeners.js'></script>
+ <script src='js/layout/bootstrap_dropdown.js'></script>
+ <script src='js/layout/button.js'></script>
+ <script src='js/charts/line.js'></script>
+ <script src='js/charts/histogram.js'></script>
+ <script src='js/charts/point.js'></script>
+ <script src='js/charts/bar.js'></script>
+ <script src='js/charts/table.js'></script>
+ <script src='js/charts/missing.js'></script>
+ <script src='js/misc/process.js'></script>
+ <script src='js/misc/smoothers.js'></script>
+ <script src='js/misc/formatters.js'></script>
+ <script src='js/misc/transitions.js'></script>
+ <script src='js/misc/error.js'></script>
+ <!-- dev end -->
+
+ <style>
+ body {
+ background-color: #fcfcfc;
+ }
+
+ .container {
+ width: 90%;
+ min-width: 960px;
+ }
+
+ .data textarea {
+ font-family: Menlo,Monaco,Consolas,"Courier New",monospace;
+ font-size: 11px;
+ height: 100%;
+ width: 100%;
+ }
+
+ .footer {
+ background-image: url(images/divider.png);
+ background-repeat: no-repeat;
+ background-position: center 115px;
+ padding-top: 70px;
+ margin-bottom: 20px;
+ }
+
+ .hightop {
+ margin-top: 40px;
+ }
+
+ #logo {
+ margin: 15px 0 10px 0;
+ }
+
+ .main-windows-titles {
+ color: #3b3b3b;
+ font-size: 16px;
+ padding-bottom: 5px;
+ text-align: center;
+ }
+
+ .main-windows-titles .js-title a {
+ position: absolute;
+ right: 0;
+ font-size: 70%;
+ margin: 7px 1px 0 0;
+ }
+
+ .main-windows .data,
+ .main-windows .js,
+ .main-windows .result {
+ height: 400px;
+ }
+
+ p {
+ padding-top: 6px;
+ }
+
+ textarea,
+ #editor {
+ border-radius: 3px;
+ border: none;
+ overflow: auto;
+ outline: none;
+ -webkit-box-shadow: none;
+ -moz-box-shadow: none;
+ box-shadow: none;
+ padding: 10px;
+ border: 1px solid #ccc;
+ }
+
+ .btn {
+ background-color: steelblue;
+ color: white;
+ margin-top: 34px;
+ outline: none;
+ position: absolute;
+ right: 7px;
+ z-index: 99;
+ }
+
+ .btn.reset {
+ right: 65px;
+ }
+
+ .btn:hover,
+ .btn:active,
+ .btn:visited {
+ color: #efefef;
+ outline: none;
+ }
+ </style>
+</head>
+
+<body>
+ <div class='container'>
+ <div class='head'>
+ <img src='images/logo.svg' id='logo' class='svg' />
+ </div>
+ </div>
+
+ <div class='container'>
+ <div class='row main-windows-titles'>
+ <div class='col-xs-2'>Data</div>
+ <div class='js-title col-xs-5'>
+ JavaScript <a href='https://github.com/mozilla/metrics-graphics/wiki/List-of-Options#list-of-options' target='_blank'>See Full List of Options</a>
+ <button type='button' class='update btn'>Run</button>
+ <button type='button' class='reset btn'>Reset</button>
+ </div>
+ </div>
+ <div class='row main-windows'>
+ <div class='data col-xs-2'>
+ <textarea></textarea>
+ </div>
+ <div class='js col-xs-5' id='editor'></div>
+ <div class='result text-center col-xs-5'></div>
+ </div>
+ </div>
+
+ <div class='container footer'>
+ Created by <a href='https://twitter.com/alialmossawi'>Ali Almossawi</a> and
+ <a href='https://github.com/hamilton'>Hamilton Ulmer</a>
+ <br />2014-2015 &middot; Shared under a <a href='http://www.mozilla.org/MPL/2.0/'>
+ Mozilla Public License</a>
+ </div>
+
+ <script>
+ var mgKey = 'mg-dev',
+ editor,
+ persisted,
+ defaultCall = '//modify away!\n'
+ + 'MG.data_graphic({\n'
+ + ' title: "UFO Sightings",\n'
+ + ' description: "Yearly UFO sightings from 1945 to 2010.",\n'
+ + ' data: JSON.parse(document.querySelector(\'.data textarea\').value),\n'
+ + ' markers: [{\'year\': 1964, \'label\': \'"The Creeping Terror" released\'}],\n'
+ + ' width: 400,\n'
+ + ' height: 250,\n'
+ + ' target: ".result",\n'
+ + ' x_accessor: "year",\n'
+ + ' y_accessor: "sightings",\n'
+ + '});';
+
+ persisted = JSON.parse(localStorage.getItem(mgKey), null, 2) || {};
+
+ editor = ace.edit("editor");
+ editor.getSession().setMode("ace/mode/javascript");
+ editor.setValue(persisted.script || defaultCall);
+ editor.gotoLine(persisted.line || 1);
+ editor.setHighlightActiveLine(false);
+
+ d3.select('.update').on('click', function() {
+ persisted.script = editor.getValue();
+ persisted.data = JSON.parse(document.querySelector('.data textarea').value);
+ saveState();
+ run();
+ });
+
+ d3.select('.reset').on('click', function() {
+ clearState();
+ document.location = document.location;
+ });
+
+ if (persisted.data) {
+ document.querySelector('.data textarea').value = JSON.stringify(persisted.data, null, 2);
+ run();
+ } else {
+ d3.json('data/ufo-sightings.json', function(data) {
+ document.querySelector('.data textarea').value = JSON.stringify(data, null, 2);
+ run();
+ })
+ }
+
+ function run() {
+ eval(editor.getValue());
+ }
+
+ function saveState(){
+ localStorage.setItem(mgKey, JSON.stringify(persisted));
+ }
+
+ function clearState() {
+ localStorage.clear(mgKey);
+ }
+ </script>
+</body>
+</html>
diff --git a/priv/static/metrics-graphics-3.0-alpha3/src/scss/.gitignore b/priv/static/metrics-graphics-3.0-alpha3/src/scss/.gitignore
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/priv/static/metrics-graphics-3.0-alpha3/src/scss/.gitignore
diff --git a/priv/static/metrics-graphics-3.0-alpha3/testem.json b/priv/static/metrics-graphics-3.0-alpha3/testem.json
new file mode 100644
index 0000000..659fe12
--- /dev/null
+++ b/priv/static/metrics-graphics-3.0-alpha3/testem.json
@@ -0,0 +1,50 @@
+{
+ "framework": "qunit",
+ "src_files": [
+ "node_modules/jquery/dist/jquery.js",
+ "node_modules/d3/dist/d3.js",
+
+ "src/js/MG.js",
+ "src/js/misc/utility.js",
+ "src/js/common/register.js",
+ "src/js/common/hooks.js",
+ "src/js/common/data_graphic.js",
+ "src/js/common/bootstrap_tooltip_popover.js",
+ "src/js/common/chart_title.js",
+ "src/js/common/y_axis.js",
+ "src/js/common/x_axis.js",
+ "src/js/common/init.js",
+ "src/js/common/scales.js",
+ "src/js/common/rollover.js",
+ "src/js/common/markers.js",
+ "src/js/common/window_listeners.js",
+ "src/js/layout/bootstrap_dropdown.js",
+ "src/js/layout/button.js",
+ "src/js/charts/line.js",
+ "src/js/charts/histogram.js",
+ "src/js/charts/point.js",
+ "src/js/charts/bar.js",
+ "src/js/charts/table.js",
+ "src/js/charts/missing.js",
+ "src/js/misc/process.js",
+ "src/js/misc/smoothers.js",
+ "src/js/misc/formatters.js",
+ "src/js/misc/transitions.js",
+ "src/js/misc/error.js",
+
+ "tests/helpers.js",
+
+ "tests/**/*_test.js"
+ ],
+ "launch_in_ci": [
+ "Chrome"
+ ],
+ "launch_in_dev": [
+ "PhantomJS",
+ "Chrome"
+ ],
+ "browser_args": {
+ "Chrome": [ "--headless", "--disable-gpu", "--remote-debugging-port=9222" ]
+ },
+ "phantomjs_debug_port": 9000
+}
diff --git a/priv/static/metrics-graphics-3.0-alpha3/tests/charts/bar_test.js b/priv/static/metrics-graphics-3.0-alpha3/tests/charts/bar_test.js
new file mode 100644
index 0000000..db02b56
--- /dev/null
+++ b/priv/static/metrics-graphics-3.0-alpha3/tests/charts/bar_test.js
@@ -0,0 +1,95 @@
+var target = '#qunit-fixture',
+ defaults;
+
+module('bar', {
+ setup: function() {
+ defaults = {
+ target: target,
+ chart_type: 'bar',
+ x_accessor: 'value',
+ y_accessor: 'label',
+ transition_on_update: false,
+ data: [{
+ label: 'Bar 1',
+ value: 100
+ },{
+ label: 'Bar 2',
+ value: 200
+ },{
+ label: 'Bar 3',
+ value: 300
+ }]
+ };
+ }
+});
+
+test('Correct number of bars are added', function() {
+ expect(1);
+ MG.data_graphic(defaults);
+ equal(document.querySelectorAll('.mg-bar').length, 3, 'Should have 3 bars');
+});
+
+test('Triggers callbacks when provided', function() {
+ var mouseoverCalled = false,
+ mousemoveCalled = false,
+ mouseoutCalled = false,
+
+ params = extend(defaults, {
+ mouseover: function() {
+ mouseoverCalled = true;
+ },
+ mousemove: function() {
+ mousemoveCalled = true;
+ },
+ mouseout: function() {
+ mouseoutCalled = true;
+ }
+ });
+
+ MG.data_graphic(params);
+
+ var bar = document.getElementsByClassName('mg-bar-rollover')[0];
+
+ bar.dispatchEvent(generateMouseEvent('mouseover'));
+ equal(mouseoverCalled, true, 'mouseover was called');
+
+ bar.dispatchEvent(generateMouseEvent('mousemove'));
+ equal(mousemoveCalled, true, 'mousemove was called');
+
+ bar.dispatchEvent(generateMouseEvent('mouseout'));
+ equal(mouseoutCalled, true, 'mouseout was called');
+});
+
+// test('When updating', function() {
+// var bars = [{
+// label: 'Bar 1',
+// value: 100,
+// predictor: 75,
+// baseline: 50
+// }];
+
+// var params = extend(defaults, {
+// data: bars,
+// height: 100,
+// width: 300,
+// orientation: 'vertical',
+// predictor_accessor: 'predictor',
+// baseline_accessor: 'baseline',
+// animate_on_load: false,
+// transition_on_update: false
+// });
+
+// MG.data_graphic(params);
+// equal(164, d3.select(target).select('.mg-barplot .mg-bar').attr('width'), 'initial bar size is correct');
+// equal(123, d3.select(target).select('.mg-barplot .mg-bar-prediction').attr('width'), 'initial predictor size is correct');
+// equal(160, d3.select(target).select('.mg-barplot .mg-bar-baseline').attr('x1'), 'initial baseline position is correct');
+
+// params.data[0][0].value = 50;
+// params.data[0][0].predictor = 100;
+// params.data[0][0].baseline = 75;
+
+// MG.data_graphic(params);
+// equal(82, d3.select(target).select('.mg-barplot .mg-bar').attr('width'), 'the bars are redrawn with correct sizes');
+// equal(164, d3.select(target).select('.mg-barplot .mg-bar-prediction').attr('width'), 'the predictors are redrawn with correct sizes');
+// equal(201, d3.select(target).select('.mg-barplot .mg-bar-baseline').attr('x1'), 'the baseline is redrawn in the correct position');
+// });
diff --git a/priv/static/metrics-graphics-3.0-alpha3/tests/charts/histogram_test.js b/priv/static/metrics-graphics-3.0-alpha3/tests/charts/histogram_test.js
new file mode 100644
index 0000000..2e69e70
--- /dev/null
+++ b/priv/static/metrics-graphics-3.0-alpha3/tests/charts/histogram_test.js
@@ -0,0 +1,64 @@
+module('histogram');
+
+
+// THIS TEST NEEDS TO BE REWRITTEN AS A RESULT OF #614
+// test('A solitary active datapoint exists', function() {
+// var params = {
+// target: '#qunit-fixture',
+// data: d3.range(10000).map(d3.random.bates(10)),
+// chart_type: 'histogram',
+// linked: true
+// };
+
+// MG.data_graphic(params);
+// equal(document.querySelectorAll('.mg-active-datapoint').length, 1, 'One active datapoint exists');
+// });
+
+test('Rollovers exist', function() {
+ var params = {
+ target: '#qunit-fixture',
+ data: d3.range(10000).map(d3.randomBates(10)),
+ chart_type: 'histogram',
+ linked: true
+ };
+
+ MG.data_graphic(params);
+ ok(document.querySelector('.mg-rollover-rect'), 'Rollovers exist');
+});
+
+test('We have only one set of rollovers', function() {
+ var params = {
+ target: '#qunit-fixture',
+ data: d3.range(10000).map(d3.randomBates(10)),
+ chart_type: 'histogram',
+ linked: true
+ };
+
+ MG.data_graphic(params);
+ equal(document.querySelectorAll('.mg-rollover-rect').length, 1, 'One set of rollovers exists');
+});
+
+test('Linked chart has the required class set', function() {
+ var params = {
+ target: '#qunit-fixture',
+ data: d3.range(10000).map(d3.randomBates(10)),
+ chart_type: 'histogram',
+ linked: true
+ };
+
+ MG.data_graphic(params);
+ var matches = document.querySelector(params.target + ' svg').getAttribute('class').match(/linked/);
+ ok(matches, 'Linked chart has class `linked` set');
+});
+
+test('Histogram exists', function() {
+ var params = {
+ target: '#qunit-fixture',
+ data: d3.range(10000).map(d3.randomBates(10)),
+ chart_type: 'histogram',
+ linked: true
+ };
+
+ MG.data_graphic(params);
+ ok(document.querySelector('.mg-histogram'), 'Histogram exists');
+});
diff --git a/priv/static/metrics-graphics-3.0-alpha3/tests/charts/line_test.js b/priv/static/metrics-graphics-3.0-alpha3/tests/charts/line_test.js
new file mode 100644
index 0000000..530f76b
--- /dev/null
+++ b/priv/static/metrics-graphics-3.0-alpha3/tests/charts/line_test.js
@@ -0,0 +1,289 @@
+module('line');
+
+test('Confidence band is added', function() {
+ var params = {
+ target: '#qunit-fixture',
+ data: [{'date': new Date('2014-01-01'), 'value': 12, 'l': 10, 'u': 14},
+ {'date': new Date('2014-03-01'), 'value': 18, 'l': 16, 'u': 20}],
+ show_confidence_band: ['l', 'u']
+ };
+
+ MG.data_graphic(params);
+ ok(document.querySelector('.mg-confidence-band'), 'Confidence band is added');
+});
+
+test('Only one confidence is added on multiple calls to the same target element', function() {
+ var params = {
+ target: '#qunit-fixture',
+ data: [{'date': new Date('2014-01-01'), 'value': 12, 'l': 10, 'u': 14},
+ {'date': new Date('2014-03-01'), 'value': 18, 'l': 16, 'u': 20}],
+ show_confidence_band: ['l', 'u'],
+ title: 'confidence added multiple calls'
+ };
+ var params2 = MG.clone(params)
+ MG.data_graphic(params);
+ MG.data_graphic(params2);
+ equal(document.querySelectorAll(params.target + ' .mg-confidence-band').length, 1, 'We only have one confidence band');
+});
+
+test('args.area set to true', function() {
+ var params = {
+ target: '#qunit-fixture',
+ data: [{'date': new Date('2014-01-01'), 'value': 12},
+ {'date': new Date('2014-03-01'), 'value': 18}]
+ };
+
+ MG.data_graphic(params);
+ ok(document.querySelector('.mg-main-area'), 'Path set for area');
+});
+
+test('args.area set to false', function() {
+ var params = {
+ target: '#qunit-fixture',
+ data: [{'date': new Date('2014-01-01'), 'value': 12},
+ {'date': new Date('2014-03-01'), 'value': 18}],
+ area: false
+ };
+
+ MG.data_graphic(params);
+ equal(document.querySelector('.mg-main-area'), null, 'No path for area');
+});
+
+// NEEDS TO BE REWRITTEN IN LIGHT OF #614
+// test('A solitary active datapoint exists', function() {
+// var params = {
+// target: '#qunit-fixture',
+// data: [{'date': new Date('2014-01-01'), 'value': 12},
+// {'date': new Date('2014-03-01'), 'value': 18}]
+// };
+
+// MG.data_graphic(params);
+// equal(document.querySelectorAll('.mg-active-datapoint').length, 1, 'One active datapoint exists');
+// });
+
+test('A solitary rollover circle exists', function() {
+ var params = {
+ target: '#qunit-fixture',
+ data: [{'date': new Date('2014-01-01'), 'value': 12},
+ {'date': new Date('2014-03-01'), 'value': 18}]
+ };
+
+ MG.data_graphic(params);
+ equal(document.querySelectorAll('.mg-line-rollover-circle').length, 1, 'One rollover circle exists');
+});
+
+test('Rollovers work for single lines', function() {
+ var params = {
+ target: '#qunit-fixture',
+ data: [{'date': new Date('2014-01-01'), 'value': 12},
+ {'date': new Date('2014-03-01'), 'value': 18}]
+ };
+
+ MG.data_graphic(params);
+ ok(document.querySelector('.mg-rollover-rect'), 'Rollovers exist');
+});
+
+test('Rollovers work for multiple lines', function() {
+ var params = {
+ target: '#qunit-fixture',
+ data: [[{'date': new Date('2014-01-01'), 'value': 12},
+ {'date': new Date('2014-03-01'), 'value': 18}],
+ [{'date': new Date('2014-01-01'), 'value': 120},
+ {'date': new Date('2014-03-01'), 'value': 180}]]
+ };
+
+ MG.data_graphic(params);
+ ok(document.querySelector('.mg-voronoi'), 'Rollovers exist');
+});
+
+test('We have only one set of rollovers for single lines', function() {
+ var params = {
+ target: '#qunit-fixture',
+ data: [{'date': new Date('2014-01-01'), 'value': 12},
+ {'date': new Date('2014-03-01'), 'value': 18}]
+ };
+
+ MG.data_graphic(params);
+ equal(document.querySelectorAll('.mg-rollover-rect').length, 1, 'One set of rollovers exists');
+});
+
+test('We have only one set of rollovers for multiple lines', function() {
+ var params = {
+ target: '#qunit-fixture',
+ data: [[{'date': new Date('2014-01-01'), 'value': 12},
+ {'date': new Date('2014-03-01'), 'value': 18}],
+ [{'date': new Date('2014-01-01'), 'value': 120},
+ {'date': new Date('2014-03-01'), 'value': 180}]]
+ };
+
+ MG.data_graphic(params);
+ equal(document.querySelectorAll('.mg-voronoi').length, 1, 'One set of rollovers exists');
+});
+
+test('We use the rect-style rollovers when `aggregate_rolloveres == true`', function() {
+ var params = {
+ target: '#qunit-fixture',
+ data: [[{'date': new Date('2014-01-01'), 'value': 12},
+ {'date': new Date('2014-03-01'), 'value': 18}],
+ [{'date': new Date('2014-01-01'), 'value': 120},
+ {'date': new Date('2014-03-01'), 'value': 180}]],
+ aggregate_rollover: true
+ };
+
+ MG.data_graphic(params);
+
+ // ensure rollover returns aggregated result data
+ equal(document.querySelectorAll('.mg-voronoi').length, 0, 'Voronoi rollover is not generated');
+ equal(document.querySelectorAll('.mg-rollover-rect').length, 1, 'Rect rollover is generated');
+});
+
+test('There are as many lines as data series (one)', function() {
+ var params = {
+ target: '#qunit-fixture',
+ data: [{'date': new Date('2014-01-01'), 'value': 12},
+ {'date': new Date('2014-03-01'), 'value': 18}]
+ };
+
+ MG.data_graphic(params);
+ equal(document.querySelectorAll('.mg-main-line').length, 1, 'One line exists');
+});
+
+test('There are as many lines as data series (two)', function() {
+ var params = {
+ target: '#qunit-fixture',
+ data: [[{'date': new Date('2014-01-01'), 'value': 12},
+ {'date': new Date('2014-03-01'), 'value': 18}],
+ [{'date': new Date('2014-01-01'), 'value': 120},
+ {'date': new Date('2014-03-01'), 'value': 180}]]
+ };
+
+ MG.data_graphic(params);
+ equal(document.querySelectorAll('.mg-main-line').length, 2, 'Two lines exist');
+});
+
+test('There are as many lines as data series (two) on multiple calls to an existing chart', function() {
+ var params = {
+ target: '#qunit-fixture',
+ data: [[{'date': new Date('2014-01-01'), 'value': 12},
+ {'date': new Date('2014-03-01'), 'value': 18}],
+ [{'date': new Date('2014-01-01'), 'value': 120},
+ {'date': new Date('2014-03-01'), 'value': 180}]]
+ };
+ var params2 = MG.clone(params);
+ MG.data_graphic(params);
+ MG.data_graphic(params2);
+
+ equal(document.querySelectorAll('.mg-main-line').length, 2, 'Two lines exist');
+});
+
+test('No zombie lines when we update a chart with fewer lines', function() {
+ var params = {
+ target: '#qunit-fixture',
+ data: [[{'date': new Date('2014-01-01'), 'value': 12},
+ {'date': new Date('2014-03-01'), 'value': 18}],
+ [{'date': new Date('2014-01-01'), 'value': 120},
+ {'date': new Date('2014-03-01'), 'value': 180}]]
+ };
+
+ var params2 = {
+ target: '#qunit-fixture',
+ data: [{'date': new Date('2014-01-01'), 'value': 12},
+ {'date': new Date('2014-03-01'), 'value': 18}]
+ };
+
+ MG.data_graphic(params);
+ MG.data_graphic(params2);
+
+ equal(document.querySelectorAll('.mg-main-line').length, 1, 'One line exists');
+});
+
+test('Rollover circle is visible on load if the dataset is of length 1', function() {
+ var data = [{"date": '2014-02-01', "value": 6}];
+ var data = MG.convert.date(data, 'date');
+
+ MG.data_graphic({
+ data: data,
+ target: "#qunit-fixture"
+ });
+
+ deepEqual(d3.select('.mg-line-rollover-circle').style('opacity'), "1", 'Rollover circle is visible');
+});
+
+// NEEDS TO BE REWRITTEN IN LIGHT OF #614
+// test('Only one active data point container is added on multiple calls to the same target element', function() {
+// var params = {
+// target: '#qunit-fixture',
+// data: [{'date': new Date('2014-01-01'), 'value': 12, 'l': 10, 'u': 14},
+// {'date': new Date('2014-03-01'), 'value': 18, 'l': 16, 'u': 20}]
+// };
+
+// MG.data_graphic(params);
+// MG.data_graphic(MG.clone(params));
+
+// equal(document.querySelectorAll('.mg-active-datapoint-container').length, 1, 'We only have one active data point container');
+// });
+
+test('No zombie lines when custom_line_color_map is set', function() {
+ var data = [];
+ data[0] = [{'date': new Date('2015-03-05'), 'value': 12000}];
+ data[1] = [{'date': new Date('2015-03-06'), 'value': 35000}];
+ data[2] = [{'date': new Date('2015-03-07'), 'value': 23000},{'date': new Date('2015-03-08'), 'value': 20000}];
+
+ MG.data_graphic({
+ data: data,
+ target: '#qunit-fixture',
+ max_data_size: 5,
+ custom_line_color_map: [3,4,5]
+ });
+
+ MG.data_graphic({
+ data: data,
+ target: '#qunit-fixture',
+ max_data_size: 5,
+ custom_line_color_map: [1,2,3]
+ });
+
+ equal(document.querySelectorAll('.mg-main-line.mg-line5-color').length, 0, 'Line 5 was removed on update');
+});
+
+test('Only one line legend is added on multiple calls to the same target element', function() {
+ var params = {
+ target: '#qunit-fixture',
+ data: [{'date': new Date('2014-01-01'), 'value': 12},
+ {'date': new Date('2014-03-01'), 'value': 18}],
+ legend: ['US', 'CA'],
+ line_legends: true
+ };
+
+ MG.data_graphic(params);
+ MG.data_graphic(MG.clone(params));
+
+ equal(document.querySelectorAll('.mg-line-legend').length, 1, 'We only have one mg-line-legend');
+});
+
+test('Only one active data point container added on multiple calls to the same target element (lines)', function() {
+ var params = {
+ target: '#qunit-fixture',
+ data: [{'date': new Date('2014-01-01'), 'value': 12},
+ {'date': new Date('2014-03-01'), 'value': 18}]
+ };
+
+ MG.data_graphic(params);
+ MG.data_graphic(MG.clone(params));
+
+ equal(document.querySelectorAll('.mg-active-datapoint-container').length, 1, 'We only have one mg-active-datapoint-container with lines');
+});
+
+test('When 1 data series is empty (out of 2) and missing_is_zero is true, remaining line is rendered', function() {
+ var data = [];
+ data[0] = [];
+ data[1] = [{'date': new Date('2015-03-07'), 'value': 23000},{'date': new Date('2015-03-08'), 'value': 20000}];
+
+ MG.data_graphic({
+ target: '#qunit-fixture',
+ data: data,
+ missing_is_zero: true
+ });
+
+ equal(document.querySelectorAll('.mg-main-line').length, 1, 'Line for non-empty data series is still rendered');
+});
diff --git a/priv/static/metrics-graphics-3.0-alpha3/tests/charts/missing_test.js b/priv/static/metrics-graphics-3.0-alpha3/tests/charts/missing_test.js
new file mode 100644
index 0000000..f50ee2a
--- /dev/null
+++ b/priv/static/metrics-graphics-3.0-alpha3/tests/charts/missing_test.js
@@ -0,0 +1,90 @@
+module('missing');
+
+test('Missing chart\'s text matches specified missing_text', function() {
+ var params = {
+ target: '#qunit-fixture',
+ chart_type: 'missing-data',
+ missing_text: 'In an astral plane that was never meant to fly...'
+ };
+
+ MG.data_graphic(params);
+ equal(document.querySelector('.mg-missing-text').textContent,
+ params.missing_text,
+ 'Missing chart\'s text matches missing_text');
+});
+
+test('Only one mg-missing-pane on multiple calls to the same target element', function() {
+ var params = {
+ target: '#qunit-fixture',
+ chart_type: 'missing-data',
+ missing_text: 'In an astral plane that was never meant to fly...'
+ };
+
+ MG.data_graphic(params);
+ MG.data_graphic(MG.clone(params));
+
+ equal(document.querySelectorAll(params.target + ' .mg-missing-pane').length, 1, 'We only have one mg-missing-pane');
+});
+
+test('Only one mg-missing-text on multiple calls to the same target element', function() {
+ var params = {
+ target: '#qunit-fixture',
+ chart_type: 'missing-data',
+ missing_text: 'In an astral plane that was never meant to fly...'
+ };
+
+ MG.data_graphic(params);
+ MG.data_graphic(MG.clone(params));
+
+ equal(document.querySelectorAll(params.target + ' .mg-missing-text').length, 1, 'We only have one mg-missing-text');
+});
+
+test('missing chart obeys full_width: true', function() {
+ var params = {
+ target: '#qunit-fixture',
+ chart_type: 'missing-data',
+ full_width: true,
+ missing_text: 'In an astral plane that was never meant to fly...'
+ };
+ document.querySelector('#qunit-fixture').style.width='700px';
+
+ MG.data_graphic(params);
+
+ equal(document.querySelector('#qunit-fixture svg').getAttribute('width'), 700, 'The missing chart svg has same width as parent element.');
+});
+
+test('missing chart obeys full_height: true', function() {
+ var params = {
+ target: '#qunit-fixture',
+ chart_type: 'missing-data',
+ full_height: true,
+ missing_text: 'In an astral plane that was never meant to fly...'
+ };
+ document.querySelector('#qunit-fixture').style.height='700px';
+
+ MG.data_graphic(params);
+
+ equal(document.querySelector('#qunit-fixture svg').getAttribute('height'), 700, 'The missing chart svg has same width as parent element.');
+});
+
+test('Missing chart\'s width is set correctly on subsequent calls to existing chart', function() {
+ var params_0 = {
+ target: '#qunit-fixture',
+ chart_type: 'missing-data',
+ missing_text: 'In an astral plane that was never meant to fly...'
+ };
+
+ var params = {
+ target: '#qunit-fixture',
+ chart_type: 'missing-data',
+ missing_text: 'In an astral plane that was never meant to fly...',
+ width: 200,
+ height: 100,
+ };
+
+ MG.data_graphic(params_0);
+ MG.data_graphic(params);
+
+ var width = document.querySelector(params.target + ' svg').clientWidth;
+ ok(width == 200, 'SVG\'s width matches latest specified width');
+});
diff --git a/priv/static/metrics-graphics-3.0-alpha3/tests/charts/point_test.js b/priv/static/metrics-graphics-3.0-alpha3/tests/charts/point_test.js
new file mode 100644
index 0000000..e26fc58
--- /dev/null
+++ b/priv/static/metrics-graphics-3.0-alpha3/tests/charts/point_test.js
@@ -0,0 +1,137 @@
+module('point');
+// this test doesn't work properly.
+// test('A solitary active datapoint exists', function() {
+// var params = {
+// target: '#qunit-fixture',
+// data: [{'date': new Date('2014-01-01'), 'value': 12},
+// {'date': new Date('2014-03-01'), 'value': 18}],
+// chart_type: 'point'
+// };
+
+// MG.data_graphic(params);
+// equal(document.querySelectorAll('.mg-active-datapoint').length, 1, 'One active datapoint exists');
+// });
+
+test('Rollovers exist', function() {
+ var params = {
+ target: '#qunit-fixture',
+ data: [[{'date': new Date('2014-01-01'), 'value': 12},
+ {'date': new Date('2014-03-01'), 'value': 18}],
+ [{'date': new Date('2014-01-01'), 'value': 120},
+ {'date': new Date('2014-03-01'), 'value': 180}]],
+ chart_type: 'point'
+ };
+
+ MG.data_graphic(params);
+ ok(document.querySelector('.mg-voronoi'), 'Rollovers exist');
+});
+
+test('We have only one set of rollovers', function() {
+ var params = {
+ target: '#qunit-fixture',
+ data: [[{'date': new Date('2014-01-01'), 'value': 12},
+ {'date': new Date('2014-03-01'), 'value': 18}],
+ [{'date': new Date('2014-01-01'), 'value': 120},
+ {'date': new Date('2014-03-01'), 'value': 180}]],
+ chart_type: 'point'
+ };
+
+ MG.data_graphic(params);
+ equal(document.querySelectorAll('.mg-voronoi').length, 1, 'One set of rollovers exists');
+});
+
+test('args.x_rug', function() {
+ var params = {
+ target: '#qunit-fixture',
+ data: [{'date': new Date('2014-01-01'), 'value': 12},
+ {'date': new Date('2014-03-01'), 'value': 18}],
+ x_rug: true,
+ chart_type: 'point'
+ };
+
+ MG.data_graphic(params);
+ ok(document.querySelector('.mg-x-rug'), 'X-axis rugplot exists');
+});
+
+test('Only one rugplot is added on multiple calls to the same target element', function() {
+ var params = {
+ target: '#qunit-fixture',
+ data: [{'date': new Date('2014-01-01'), 'value': 12},
+ {'date': new Date('2014-03-01'), 'value': 18}],
+ x_rug: true,
+ chart_type: 'point'
+ };
+
+ MG.data_graphic(params);
+ MG.data_graphic(MG.clone(params));
+
+ equal(document.querySelectorAll('.mg-x-rug').length, 2, 'We only have one rugplot (two ticks) on the x-axis');
+});
+
+test('args.y_rug', function() {
+ var params = {
+ target: '#qunit-fixture',
+ data: [{'date': new Date('2014-01-01'), 'value': 12},
+ {'date': new Date('2014-03-01'), 'value': 18}],
+ y_rug: true,
+ chart_type: 'point'
+ };
+
+ MG.data_graphic(params);
+ ok(document.querySelector('.mg-y-rug'), 'Y-axis rugplot exists');
+});
+
+test('Only one rugplot is added on multiple calls to the same target element', function() {
+ var params = {
+ target: '#qunit-fixture',
+ data: [{'date': new Date('2014-01-01'), 'value': 12},
+ {'date': new Date('2014-03-01'), 'value': 18}],
+ y_rug: true,
+ chart_type: 'point'
+ };
+
+ MG.data_graphic(params);
+ MG.data_graphic(MG.clone(params));
+ equal(document.querySelectorAll('.mg-y-rug').length, 2, 'We only have one rugplot (two ticks) on the y-axis');
+});
+
+test('args.least_squares', function() {
+ var params = {
+ target: '#qunit-fixture',
+ data: [{'date': new Date('2014-01-01'), 'value': 12},
+ {'date': new Date('2014-03-01'), 'value': 18}],
+ chart_type: 'point',
+ least_squares: true
+ };
+
+ MG.data_graphic(params);
+ ok(document.querySelector('.mg-least-squares-line'), 'Least-squares line exists');
+});
+
+test('Only one least-squares line is added on multiple calls to the same target element', function() {
+ var params = {
+ target: '#qunit-fixture',
+ data: [{'date': new Date('2014-01-01'), 'value': 12},
+ {'date': new Date('2014-03-01'), 'value': 18}],
+ chart_type: 'point',
+ least_squares: true
+ };
+
+ MG.data_graphic(params);
+ MG.data_graphic(MG.clone(params));
+ equal(document.querySelectorAll('.mg-least-squares-line').length, 1, 'We only have one least-squares line');
+});
+
+test('Only one active data point container added on multiple calls to the same target element (points)', function() {
+ var params = {
+ target: '#qunit-fixture',
+ data: [{'date': new Date('2014-01-01'), 'value': 12},
+ {'date': new Date('2014-03-01'), 'value': 18}],
+ chart_type: 'point'
+ };
+
+ MG.data_graphic(params);
+ MG.data_graphic(MG.clone(params));
+
+ equal(document.querySelectorAll('.mg-active-datapoint-container').length, 1, 'We only have one mg-active-datapoint-container with points');
+});
diff --git a/priv/static/metrics-graphics-3.0-alpha3/tests/common/.gitkeep b/priv/static/metrics-graphics-3.0-alpha3/tests/common/.gitkeep
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/priv/static/metrics-graphics-3.0-alpha3/tests/common/.gitkeep
diff --git a/priv/static/metrics-graphics-3.0-alpha3/tests/common/chart_title_test.js b/priv/static/metrics-graphics-3.0-alpha3/tests/common/chart_title_test.js
new file mode 100644
index 0000000..6d71dff
--- /dev/null
+++ b/priv/static/metrics-graphics-3.0-alpha3/tests/common/chart_title_test.js
@@ -0,0 +1,93 @@
+module('chart_title');
+
+test('Chart title is updated', function() {
+ var params = {
+ title: 'foo',
+ target: '#qunit-fixture',
+ data: [{'date': new Date('2014-01-01'), 'value': 12},
+ {'date': new Date('2014-03-01'), 'value': 18}]
+ };
+
+ var params2 = MG.clone(params);
+ params2.title = 'bar';
+
+ MG.data_graphic(params);
+ MG.data_graphic(params2);
+
+ equal(document.querySelector('.mg-chart-title').textContent, 'bar', 'Chart title is foo');
+});
+
+test('Chart title is removed if title is set to blank', function() {
+ var params = {
+ title: 'foo',
+ target: '#qunit-fixture',
+ data: [{'date': new Date('2014-01-01'), 'value': 12},
+ {'date': new Date('2014-03-01'), 'value': 18}]
+ };
+
+ var params2 = MG.clone(params);
+ params2.title = '';
+
+ MG.data_graphic(params);
+ MG.data_graphic(params2);
+ equal(document.querySelector('.mg-chart-title'), null, 'Chart title is not added');
+});
+
+test('Chart title is removed if title is not set', function() {
+ var params = {
+ title: 'foo',
+ target: '#qunit-fixture',
+ data: [{'date': new Date('2014-01-01'), 'value': 12},
+ {'date': new Date('2014-03-01'), 'value': 18}]
+ };
+
+ var params2 = MG.clone(params);
+ delete params2.title;
+
+ MG.data_graphic(params);
+ MG.data_graphic(params2);
+ equal(document.querySelector('.mg-chart-title'), null, 'Chart title is not added');
+});
+
+test('When a description is set, we get a question mark', function() {
+ var params = {
+ title: 'foo',
+ description: 'bar',
+ target: '#qunit-fixture',
+ data: [{'date': new Date('2014-01-01'), 'value': 12},
+ {'date': new Date('2014-03-01'), 'value': 18}],
+ show_tooltips: true
+ };
+
+ MG.data_graphic(params);
+ ok(document.querySelector('.mg-chart-description'), 'Description icon exists');
+});
+
+test('When an error is set, we get an exclamation icon', function() {
+ var params = {
+ title: 'foo',
+ description: 'bar',
+ target: '#qunit-fixture',
+ data: [{'date': new Date('2014-01-01'), 'value': 12},
+ {'date': new Date('2014-03-01'), 'value': 18}],
+ error: 'lorem ipsum'
+ };
+
+ MG.data_graphic(params);
+ ok(document.querySelector('.mg-chart-title .mg-warning'), 'Error icon exists');
+});
+
+test('Chart title is not duplicated on redraw', function() {
+ var params = {
+ title: 'foo',
+ target: '#qunit-fixture',
+ data: [{'date': new Date('2014-01-01'), 'value': 12},
+ {'date': new Date('2014-03-01'), 'value': 18}]
+ };
+
+ var params2 = MG.clone(params);
+ MG.data_graphic(params);
+ MG.data_graphic(params2);
+
+ equal(document.querySelectorAll('.mg-chart-title').length, 1, 'there is once chart title');
+});
diff --git a/priv/static/metrics-graphics-3.0-alpha3/tests/common/data_graphic_test.js b/priv/static/metrics-graphics-3.0-alpha3/tests/common/data_graphic_test.js
new file mode 100644
index 0000000..8051483
--- /dev/null
+++ b/priv/static/metrics-graphics-3.0-alpha3/tests/common/data_graphic_test.js
@@ -0,0 +1,59 @@
+module('data_graphic');
+
+test('Required arguments are set', function() {
+ var params = {
+ target: '#qunit-fixture',
+ data: [{'date': new Date('2014-11-01'), 'value': 12},
+ {'date': new Date('2014-11-02'), 'value': 18}]
+ };
+
+ MG.data_graphic(params);
+
+ ok(params.width, 'args.width is set');
+ ok(params.height, 'args.height is set');
+ ok(params.data, 'args.data is set');
+ ok(params.target, 'args.target is set');
+});
+
+test('Dom element works as target', function() {
+ var params = {
+ target: document.getElementById('qunit-fixture'),
+ data: [{'date': new Date('2014-11-01'), 'value': 12},
+ {'date': new Date('2014-11-02'), 'value': 18}]
+ };
+
+ MG.data_graphic(params);
+
+ ok(document.querySelector('#qunit-fixture svg') != null, 'passing in dom element works properly');
+});
+
+// Can be removed in 2.x
+test('Correctly aliases callbacks when using 1.x-style method names', function() {
+ var mouseoverCalled = false,
+ mouseoutCalled = false,
+
+ params = {
+ target: '#qunit-fixture',
+ data: [{value: 1, label: 'One'}],
+ chart_type: 'bar',
+ rollover_callback: function() {
+ mouseoverCalled = true;
+ },
+ rollout_callback: function() {
+ mouseoutCalled = true;
+ }
+ };
+
+ MG.data_graphic(params);
+
+ var bar = document.getElementsByClassName('mg-bar-rollover')[0];
+
+ bar.dispatchEvent(generateMouseEvent('mouseover'));
+ equal(mouseoverCalled, true, 'rollover_callback was called');
+
+ bar.dispatchEvent(generateMouseEvent('mouseout'));
+ equal(mouseoutCalled, true, 'rollout_callback was called');
+
+ ok(MG.deprecations.rollover_callback.warned, 'rollover_callback deprecation notice displayed');
+ ok(MG.deprecations.rollout_callback.warned, 'rollout_callback deprecation notice displayed');
+});
diff --git a/priv/static/metrics-graphics-3.0-alpha3/tests/common/hooks_test.js b/priv/static/metrics-graphics-3.0-alpha3/tests/common/hooks_test.js
new file mode 100644
index 0000000..1ba30d3
--- /dev/null
+++ b/priv/static/metrics-graphics-3.0-alpha3/tests/common/hooks_test.js
@@ -0,0 +1,159 @@
+module('hooks', {
+ setup: function() {
+ delete MG._hooks.test;
+ }
+});
+
+test('multiple hooks with the same name execute in order', function() {
+ var result = '';
+
+ function hookOne() {
+ result = result + 'one';
+ }
+
+ function hookTwo() {
+ result = result + 'two';
+ }
+
+ MG.add_hook('test', hookOne);
+ MG.add_hook('test', hookTwo);
+
+ MG.call_hook('test');
+
+ equal(result, 'onetwo', 'both hooks are called');
+});
+
+test('hooks can have context', function() {
+ var result = {};
+
+ function contextedHook() {
+ this.foo = 'bar';
+ }
+
+ MG.add_hook('test', contextedHook, result);
+
+ MG.call_hook('test');
+
+ equal(result.foo, 'bar', 'exectued in the correct context');
+});
+
+test('hooks accept single arguments', function() {
+ var result;
+
+ function singleArgHook(arg) {
+ result = arg;
+ equal(typeof arg, 'string', 'correctly passed as a string')
+ }
+
+ MG.add_hook('test', singleArgHook, null);
+
+ MG.call_hook('test', 'one');
+
+ equal(result, 'one', 'single argument is received');
+});
+
+
+test('hooks accept multiple arguments', function() {
+ var result;
+
+ function multipleArgHook(arg1, arg2, arg3) {
+ result = [arg1, arg2, arg3].join(' ');
+
+ ok([arg1, arg2, arg3].every(function(arg) {
+ return typeof arg === 'string';
+ }), 'correctly passed as strings');
+ }
+
+ MG.add_hook('test', multipleArgHook);
+
+ MG.call_hook('test', 'one', 'two', 'three');
+
+ equal(result, 'one two three', 'multiple arguments are passed correctly');
+});
+
+test('hooks are chained - result from one passed into the next', function() {
+ var initial = 2,
+ result;
+
+ function hookOne(arg) {
+ return arg * 2;
+ }
+
+ function hookTwo(arg) {
+ return arg - 1;
+ }
+
+ MG.add_hook('test', hookOne);
+ MG.add_hook('test', hookTwo);
+
+ result = MG.call_hook('test', initial);
+
+ equal(result, 3, 'result has been chained');
+});
+
+test('hooks should return multiple inputs as an array', function() {
+ var result;
+
+ function hookOne(arg1, arg2, arg3) {
+ return [arg1, arg2, arg3];
+ }
+
+ function hookTwo(arg1, arg2, arg3) {
+ return [arg3, arg2, arg1];
+ }
+
+ MG.add_hook('test', hookOne);
+ MG.add_hook('test', hookTwo);
+
+ result = MG.call_hook('test', [1,2,3]);
+
+ equal(result.join('-'), '3-2-1', 'array is passed in the result')
+});
+
+test('if the result from a chained hook is undefined', function() {
+ var initial = 2;
+
+ function hookOne(arg) {
+ // don't return anything
+ }
+
+ function hookTwo(arg) {
+ equal(arg, initial, 'initial value is used');
+ }
+
+ MG.add_hook('test', hookOne);
+ MG.add_hook('test', hookTwo);
+ result = MG.call_hook('test', initial);
+
+
+ delete MG._hooks.test;
+
+ function hookThree(arg) {
+ return arg - 1;
+ }
+
+ function hookFour(arg) {
+ // don't return anything
+ }
+
+ function hookFive(arg) {
+ equal(initial, arg - 1, 'processed value is passed if it is already set');
+ }
+
+ MG.add_hook('test', hookOne);
+ MG.add_hook('test', hookTwo);
+ result = MG.call_hook('test', initial);
+});
+
+test('a hook can only have one registered instance of any function', function() {
+ function hookOne() {}
+
+ MG.add_hook('test', hookOne);
+
+ try {
+ MG.add_hook('test', hookOne);
+ }
+ catch(error) {
+ equal(error, 'That function is already registered.', 'an exception is raised');
+ }
+});
diff --git a/priv/static/metrics-graphics-3.0-alpha3/tests/common/init_test.js b/priv/static/metrics-graphics-3.0-alpha3/tests/common/init_test.js
new file mode 100644
index 0000000..b695d46
--- /dev/null
+++ b/priv/static/metrics-graphics-3.0-alpha3/tests/common/init_test.js
@@ -0,0 +1,246 @@
+module('init');
+
+test('MG properly detects time series vs. not.', function () {
+ var params1 = {
+ target: '#qunit-fixture',
+ data: [{'date': new Date('2014-11-01'), 'value': 12},
+ {'date': new Date('2014-11-02'), 'value': 18}],
+ x_accessor: 'date'
+ };
+
+ var params2 = {
+ target: '#qunit-fixture',
+ data: [{'date': 5434, 'value': 12},
+ {'date': 5435, 'value': 18}],
+ x_accessor: 'date'
+ };
+
+ var params3 = {
+ target: '#qunit-fixture',
+ data: [[{'date': new Date('2014-11-01'), 'value': 12},
+ {'date': new Date('2014-11-02'), 'value': 18}],
+ [{'date': new Date('2014-11-01'), 'value': 32},
+ {'date': new Date('2014-11-02'), 'value': 43}]],
+ x_accessor: 'date'
+ };
+ mg_merge_args_with_defaults(params1);
+ mg_merge_args_with_defaults(params2);
+ mg_merge_args_with_defaults(params3);
+ mg_is_time_series(params1);
+ mg_is_time_series(params2);
+ mg_is_time_series(params3);
+
+ ok(params1.time_series === true, 'Date-accessed data set is a time series.');
+ ok(params2.time_series === false, 'Number-accessed data set is not a time series.');
+ ok(params3.time_series === true, 'Nested data set w/ dates detected as time series.');
+});
+
+test("Chart's width is set correctly on subsequent calls to existing chart", function () {
+ var params_0 = {
+ target: '#qunit-fixture',
+ data: [{'date': new Date('2014-11-01'), 'value': 12},
+ {'date': new Date('2014-11-02'), 'value': 18}],
+ };
+
+ var params = {
+ target: '#qunit-fixture',
+ data: [{'date': new Date('2014-11-01'), 'value': 12},
+ {'date': new Date('2014-11-02'), 'value': 18}],
+ width: 200,
+ height: 100,
+ };
+
+ MG.data_graphic(params_0);
+ MG.data_graphic(params);
+
+ var width = document.querySelector(params.target + ' svg').clientWidth;
+ ok(width === 200, "SVG's width matches latest specified width");
+});
+
+test("Chart's width is set to parents if full_width: true", function () {
+ var params = {
+ target: '#qunit-fixture',
+ full_width: true,
+ data: [{'date': new Date('2014-11-01'), 'value': 12},
+ {'date': new Date('2014-11-02'), 'value': 18}],
+ height: 100
+ };
+ MG.data_graphic(params);
+
+ var svg_width = document.querySelector(params.target + ' svg').clientWidth;
+ var div_width = document.querySelector(params.target).clientWidth;
+
+ equal(div_width, svg_width, "SVG's width matches parent upon using full_width: true");
+});
+
+test("Chart's height is set to parents if full_height: true", function () {
+ var params = {
+ target: '#qunit-fixture',
+ full_height: true,
+ data: [{'date': new Date('2014-11-01'), 'value': 12},
+ {'date': new Date('2014-11-02'), 'value': 18}],
+ width: 500
+ };
+
+ document.querySelector(params.target).style.height = '500px';
+ MG.data_graphic(params);
+
+ var svg_height = document.querySelector(params.target + ' svg').clientHeight;
+ var div_height = document.querySelector(params.target).clientHeight;
+
+ equal(div_height, svg_height, "SVG's height matches parent upon using full_height: true");
+});
+
+test("Won't add SVG element if an SVG element already exists in parent.", function () {
+ var args1 = {
+ target: '#qunit-fixture div#exists',
+ width: 500,
+ height: 200,
+ linked: false,
+ svg: 'FLAG'
+ };
+
+ var qunit = document.querySelector('#qunit-fixture');
+ var div = document.createElement('div');
+ div.id = 'exists';
+ div.appendChild(document.createElement('svg'));
+ qunit.appendChild(div);
+ var first_number = document.querySelectorAll('svg').length;
+ mg_add_svg_if_it_doesnt_exist('', args1);
+ var second_number = document.querySelectorAll('svg').length;
+ equal(first_number, second_number, 'SVG element not added if it already exists.');
+});
+
+test("Chart's height is set correctly on subsequent calls to existing chart", function () {
+ var params_0 = {
+ target: '#qunit-fixture',
+ data: [{'date': new Date('2014-11-01'), 'value': 12},
+ {'date': new Date('2014-11-02'), 'value': 18}],
+ };
+
+ var params = {
+ target: '#qunit-fixture',
+ data: [{'date': new Date('2014-11-01'), 'value': 12},
+ {'date': new Date('2014-11-02'), 'value': 18}],
+ width: 200,
+ height: 100,
+ };
+
+ MG.data_graphic(params_0);
+ MG.data_graphic(params);
+
+ var height = document.querySelector(params.target + ' svg').clientHeight;
+ ok(height == params.height, "SVG's height matches latest specified height");
+});
+
+test('Charts are plotted correctly when MG is called multiple times on the same target element', function () {
+ var params_0 = {
+ target: '#qunit-fixture',
+ data: [{'date': new Date('2014-11-01'), 'value': 12},
+ {'date': new Date('2014-11-02'), 'value': 18}]
+ };
+
+ var params = {
+ target: '#qunit-fixture',
+ data: [{'date': new Date('2014-11-01'), 'value': 12},
+ {'date': new Date('2014-11-02'), 'value': 18}],
+ width: 200,
+ height: 100,
+ };
+
+ MG.data_graphic(params_0);
+ MG.data_graphic(params);
+
+ // ensure chart types change appropriately
+ var line = document.querySelector('.mg-main-line');
+ ok(line, 'chart_type is `line`, line chart is plotted');
+
+ // check all the other chart types
+ var chart_types = [{id: 'point', domElement: '.mg-points'},
+ {id: 'histogram', domElement: '.mg-histogram'},
+ {id: 'bar', domElement: '.mg-barplot'}];
+
+ for (var i = 0; i < chart_types.length; i++) {
+ var params = {
+ target: '#qunit-fixture',
+ data: [{'date': new Date('2014-11-01'), 'value': 12},
+ {'date': new Date('2014-11-02'), 'value': 18}],
+ chart_type: chart_types[i].id,
+ width: 200,
+ height: 100,
+ };
+
+ MG.data_graphic(params);
+ ok(document.querySelector(chart_types[i].domElement),
+ 'chart_type switched to `' + chart_types[i].id + '`, the correct chart type is plotted');
+
+ // ensure old chart was removed
+ equal(document.querySelectorAll('.mg-main-line').length, 0, 'line chart (old one) was removed');
+ }
+});
+
+test('Missing chart has required class name set', function () {
+ expect(1);
+ var params = {
+ target: '#qunit-fixture',
+ data: [{'date': new Date('2014-11-01'), 'value': 12},
+ {'date': new Date('2014-11-02'), 'value': 18}],
+ chart_type: 'missing-data'
+ };
+
+ MG.data_graphic(params);
+
+ var matches = document.querySelector(params.target + ' svg').getAttribute('class').match(/mg-missing/);
+ ok(matches, 'Missing chart has class `missing` set');
+});
+
+test('Linked chart has the required class set', function () {
+ var params = {
+ target: '#qunit-fixture',
+ data: [{'date': new Date('2014-11-01'), 'value': 12},
+ {'date': new Date('2014-11-02'), 'value': 18}],
+ linked: true
+ };
+
+ MG.data_graphic(params);
+
+ var matches = document.querySelector(params.target + ' svg').getAttribute('class').match(/linked/);
+ ok(matches, 'Linked chart has class `linked` set');
+});
+
+test('args.time_series is set to true when data is time-series', function () {
+ var params = {
+ target: '#qunit-fixture',
+ data: [{'foo': new Date('2014-11-01'), 'value': 12},
+ {'foo': new Date('2014-11-02'), 'value': 18}],
+ x_accessor: 'foo'
+ };
+
+ MG.data_graphic(params);
+ ok(params.time_series, 'args.time_series is set to true when data is time-series');
+});
+
+test('args.time_series is set to false when data is not time-series', function () {
+ var params = {
+ target: '#qunit-fixture',
+ data: [{'foo': 100, 'value': 12},
+ {'foo': 200, 'value': 18}],
+ x_accessor: 'foo'
+ };
+
+ MG.data_graphic(params);
+ equal(params.time_series, false, 'args.time_series is set to false when data is not time-series');
+});
+
+test('Only one clip path is added on multiple calls to the same target element', function () {
+ var params = {
+ target: '#qunit-fixture',
+ data: [{'date': new Date('2014-01-01'), 'value': 12, 'l': 10, 'u': 14},
+ {'date': new Date('2014-03-01'), 'value': 18, 'l': 16, 'u': 20}]
+ };
+
+ MG.data_graphic(params);
+ MG.data_graphic(MG.clone(params));
+
+ equal(document.querySelectorAll('.mg-clip-path').length, 1, 'We only have one clip path');
+});
diff --git a/priv/static/metrics-graphics-3.0-alpha3/tests/common/markers_test.js b/priv/static/metrics-graphics-3.0-alpha3/tests/common/markers_test.js
new file mode 100644
index 0000000..aac7f5b
--- /dev/null
+++ b/priv/static/metrics-graphics-3.0-alpha3/tests/common/markers_test.js
@@ -0,0 +1,160 @@
+module('markers');
+
+test('All markers are added if they lie within the visible range', function() {
+ var markers = [{
+ 'date': new Date('2014-02-01'),
+ 'label': '1st Milestone'
+ }, {
+ 'date': new Date('2014-02-02'),
+ 'label': '2nd Milestone'
+ }];
+
+ var params = {
+ target: '#qunit-fixture',
+ data: [{'date': new Date('2014-01-01'), 'value': 12},
+ {'date': new Date('2014-03-01'), 'value': 18}],
+ markers: markers
+ };
+
+ MG.data_graphic(params);
+ equal(document.querySelectorAll(params.target + ' .mg-markers line').length, markers.length, 'Two markers added');
+});
+
+test('Markers that lie outside the visible range are excluded', function() {
+ var markers = [{
+ 'date': new Date('2014-02-01'),
+ 'label': '1st Milestone'
+ }, {
+ 'date': new Date('2014-02-03'),
+ 'label': '2nd Milestone'
+ }];
+
+ var params = {
+ target: '#qunit-fixture',
+ data: [{'date': new Date('2014-02-02'), 'value': 12},
+ {'date': new Date('2014-03-01'), 'value': 18}],
+ markers: markers
+ };
+
+ MG.data_graphic(params);
+ equal(document.querySelectorAll(params.target + ' .mg-markers line').length, 1, 'One marker added');
+});
+
+test('Markers that lie at the edge of the visible range are included', function() {
+ var markers = [{
+ 'date': new Date('2014-02-01'),
+ 'label': '1st Milestone'
+ }, {
+ 'date': new Date('2014-03-01'),
+ 'label': '2nd Milestone'
+ }];
+
+ var params = {
+ target: '#qunit-fixture',
+ data: [{'date': new Date('2014-02-01'), 'value': 12},
+ {'date': new Date('2014-03-01'), 'value': 18}],
+ markers: markers
+ };
+
+ MG.data_graphic(params);
+ equal(document.querySelectorAll(params.target + ' .mg-markers line').length, markers.length, 'Two markers added');
+});
+
+test('All baselines are added', function() {
+ var baselines = [{value:50, label:'a baseline'}];
+
+ var params = {
+ target: '#qunit-fixture',
+ data: [{'date': new Date('2014-01-01'), 'value': 100},
+ {'date': new Date('2014-03-01'), 'value': 10}],
+ baselines: baselines
+ };
+
+ MG.data_graphic(params);
+ equal(document.querySelectorAll(params.target + ' .mg-baselines line').length, markers.length, 'One baseline added');
+});
+
+test('Markers\' texts are correctly added', function() {
+ var markers = [{
+ 'date': new Date('2014-02-01'),
+ 'label': '1st Milestone'
+ }, {
+ 'date': new Date('2014-02-02'),
+ 'label': '2nd Milestone'
+ }];
+
+ var params = {
+ target: '#qunit-fixture',
+ data: [{'date': new Date('2014-01-01'), 'value': 100},
+ {'date': new Date('2014-03-01'), 'value': 10}],
+ markers: markers
+ };
+
+ MG.data_graphic(params);
+ equal(document.querySelectorAll(params.target + ' .mg-markers text')[0].textContent, markers[0].label, 'First marker\'s text matches specified one');
+ equal(document.querySelectorAll(params.target + ' .mg-markers text')[1].textContent, markers[1].label, 'Second marker\'s text matches specified one');
+});
+
+test('Baseline text is correctly added', function() {
+ var baselines = [{value:50, label:'a baseline'}];
+
+ var params = {
+ target: '#qunit-fixture',
+ data: [{'date': new Date('2014-01-01'), 'value': 100},
+ {'date': new Date('2014-03-01'), 'value': 10}],
+ baselines: baselines
+ };
+
+ MG.data_graphic(params);
+ equal(document.querySelectorAll(params.target + ' .mg-baselines text')[0].textContent, baselines[0].label, 'Baseline text matches specified one');
+});
+
+test('When an existing chart is updated with no markers, existing markers are cleared', function() {
+ var markers = [{
+ 'date': new Date('2014-11-02'),
+ 'label': 'Lorem Ipsum'
+ }];
+
+ var params_0 = {
+ target: '#qunit-fixture',
+ data: [{'date': new Date('2014-11-01'), 'value': 12},
+ {'date': new Date('2014-11-03'), 'value': 18}],
+ markers: markers
+ };
+
+ var params = {
+ target: '#qunit-fixture',
+ data: [{'date': new Date('2014-11-01'), 'value': 14},
+ {'date': new Date('2014-11-03'), 'value': 20}],
+ };
+
+ MG.data_graphic(params_0);
+ MG.data_graphic(params);
+
+ equal(document.querySelectorAll('.mg-markers').length, 0, 'Old markers were cleared');
+});
+
+test('When an existing chart is updated with no baselines, existing baselines are cleared', function() {
+ var baselines = [{
+ 'value': 10,
+ 'label': 'Lorem Ipsum'
+ }];
+
+ var params_0 = {
+ target: '#qunit-fixture',
+ data: [{'date': new Date('2014-11-01'), 'value': 12},
+ {'date': new Date('2014-11-03'), 'value': 18}],
+ baselines: baselines
+ };
+
+ var params = {
+ target: '#qunit-fixture',
+ data: [{'date': new Date('2014-11-01'), 'value': 14},
+ {'date': new Date('2014-11-03'), 'value': 20}],
+ };
+
+ MG.data_graphic(params_0);
+ MG.data_graphic(params);
+
+ equal(document.querySelectorAll('.mg-baselines').length, 0, 'Old baselines were cleared');
+});
diff --git a/priv/static/metrics-graphics-3.0-alpha3/tests/common/resize_test.js b/priv/static/metrics-graphics-3.0-alpha3/tests/common/resize_test.js
new file mode 100644
index 0000000..c2c380b
--- /dev/null
+++ b/priv/static/metrics-graphics-3.0-alpha3/tests/common/resize_test.js
@@ -0,0 +1,44 @@
+module('resize');
+
+test("Resize does not leak listeners", function () {
+ // Instrument window event listener methods
+ var realWindowAddEventListener = window.addEventListener;
+ var realWindowRemoveEventListener = window.removeEventListener;
+ var resizeListeners = [];
+
+ window.addEventListener = function () {
+ if (arguments[0] === 'resize' && resizeListeners.indexOf(arguments[1]) === -1) {
+ resizeListeners.push(arguments[1]);
+ }
+ realWindowAddEventListener.apply(this, arguments);
+ }
+
+ window.removeEventListener = function () {
+ if (arguments[0] === 'resize') {
+ var index = resizeListeners.indexOf(arguments[1]);
+ if (index !== -1) {
+ resizeListeners.splice(index, 1);
+ }
+ }
+ realWindowRemoveEventListener.apply(this, arguments);
+ }
+
+ var params = {
+ target: '#qunit-fixture',
+ full_width: true,
+ data: [{'date': new Date('2014-11-01'), 'value': 12},
+ {'date': new Date('2014-11-02'), 'value': 18}],
+ height: 100
+ };
+ MG.data_graphic(params);
+ var listenerCountAfterOne = resizeListeners.length;
+ const REPEAT_CREATE = 20;
+ for (var i = 0; i < REPEAT_CREATE; i++) {
+ MG.data_graphic(params);
+ }
+ equal(resizeListeners.length, listenerCountAfterOne, "Listener count constant after chart recreated " + REPEAT_CREATE + " times");
+
+ // Restore default methods
+ window.addEventListener = realWindowAddEventListener;
+ window.removeEventListener = realWindowRemoveEventListener;
+});
diff --git a/priv/static/metrics-graphics-3.0-alpha3/tests/common/x_axis_test.js b/priv/static/metrics-graphics-3.0-alpha3/tests/common/x_axis_test.js
new file mode 100644
index 0000000..61e512c
--- /dev/null
+++ b/priv/static/metrics-graphics-3.0-alpha3/tests/common/x_axis_test.js
@@ -0,0 +1,227 @@
+module('x_axis');
+
+test('X-axis is added', function() {
+ var params = {
+ target: '#qunit-fixture',
+ data: [{'date': new Date('2014-01-01'), 'value': 12},
+ {'date': new Date('2014-03-01'), 'value': 18}]
+ };
+
+ MG.data_graphic(params);
+ ok(document.querySelector('.mg-x-axis'), 'X-axis is added');
+});
+
+test('args.x_axis set to false', function() {
+ var params = {
+ target: '#qunit-fixture',
+ data: [{'date': new Date('2014-01-01'), 'value': 12},
+ {'date': new Date('2014-03-01'), 'value': 18}],
+ x_axis: false
+ };
+
+ MG.data_graphic(params);
+ equal(document.querySelector('.mg-x-axis'), null, 'X-axis is not added');
+});
+
+test('Only one x-axis is added on multiple calls to the same target element', function() {
+ var params = {
+ target: '#qunit-fixture',
+ data: [{'date': new Date('2014-01-01'), 'value': 12},
+ {'date': new Date('2014-03-01'), 'value': 18}]
+ };
+
+ MG.data_graphic(params);
+ MG.data_graphic(MG.clone(params));
+
+ equal(document.querySelectorAll(params.target + ' .mg-x-axis').length, 1, 'We only have one x-axis');
+});
+
+test('args.show_secondary_x_label: true', function() {
+ var params = {
+ target: '#qunit-fixture',
+ data: [{'date': new Date('2014-01-01'), 'value': 12},
+ {'date': new Date('2014-03-01'), 'value': 18}]
+ };
+
+ MG.data_graphic(params);
+ ok(document.querySelector('.mg-year-marker'), 'Year marker exists');
+});
+
+test('args.show_secondary_x_label: false', function() {
+ var params = {
+ target: '#qunit-fixture',
+ data: [{'date': new Date('2014-01-01'), 'value': 12},
+ {'date': new Date('2014-03-01'), 'value': 18}],
+ show_secondary_x_label: false
+ };
+
+ MG.data_graphic(params);
+ equal(document.querySelector('.mg-year-marker'), null, 'Year marker not added');
+});
+
+test('args.x_label', function() {
+ var params = {
+ target: '#qunit-fixture',
+ data: [{'date': new Date('2014-01-01'), 'value': 12},
+ {'date': new Date('2014-03-01'), 'value': 18}],
+ x_label: 'foo bar'
+ };
+
+ MG.data_graphic(params);
+ ok(document.querySelector('.mg-x-axis .label'), 'X-axis label exists');
+});
+
+test('args.labels (scatter plot)', function() {
+ var params = {
+ target: '#qunit-fixture',
+ data: [{'date': new Date('2014-01-01'), 'value': 12},
+ {'date': new Date('2014-03-01'), 'value': 18}],
+ x_label: 'foo bar',
+ y_label: 'bar foo',
+ chart_type: 'point'
+ };
+
+ MG.data_graphic(params);
+ ok(document.querySelector('.mg-x-axis .label'), 'X-axis label exists');
+ ok(document.querySelector('.mg-y-axis .label'), 'Y-axis label exists');
+});
+
+test('X-axis doesn\'t break when data object is of length 1', function() {
+ var params = {
+ target: '#qunit-fixture',
+ data: [{'date': new Date('2014-01-01'), 'value': 12}]
+ };
+
+ MG.data_graphic(params);
+ ok(document.querySelector('.mg-x-axis'), 'X-axis exists');
+});
+
+test('args.x_rug', function() {
+ var params = {
+ target: '#qunit-fixture',
+ data: [{'date': new Date('2014-01-01'), 'value': 12},
+ {'date': new Date('2014-03-01'), 'value': 18}],
+ x_rug: true
+ };
+
+ MG.data_graphic(params);
+ ok(document.querySelector('.mg-x-rug'), 'X-axis rugplot exists');
+});
+
+test('Only one rugplot is added on multiple calls to the same target element', function() {
+ var params = {
+ target: '#qunit-fixture',
+ data: [{'date': new Date('2014-01-01'), 'value': 12},
+ {'date': new Date('2014-03-01'), 'value': 18}],
+ x_rug: true
+ };
+
+ MG.data_graphic(params);
+ MG.data_graphic(MG.clone(params));
+
+ equal(document.querySelectorAll('.mg-x-rug').length, 2, 'We only have one rugplot on the x-axis');
+});
+
+test('args.x_extended_ticks', function() {
+ var params = {
+ target: '#qunit-fixture',
+ data: [{'date': new Date('2014-01-01'), 'value': 12},
+ {'date': new Date('2014-03-01'), 'value': 18}],
+ x_extended_ticks: true
+ };
+
+ MG.data_graphic(params);
+ ok(document.querySelector('.mg-extended-xax-ticks'), 'X-axis extended ticks exist');
+});
+
+test('Correctly calculates min and max values for line, point and histogram charts', function() {
+ // single series
+ var params = {
+ target: '#qunit-fixture',
+ x_accessor: 'x',
+ y_accessor: 'y',
+ data: [
+ [
+ {x: 4, y: 5},
+ {x: 5, y: 5},
+ {x: 6, y: 5},
+ {x: 7, y: 5}
+ ]
+ ]
+ };
+ MG.data_graphic(params);
+ equal(params.processed.min_x, 4, 'min is correct for single series');
+ equal(params.processed.max_x, 7, 'max is correct for single series');
+
+ // multiple series
+ var params2 = {
+ target: '#qunit-fixture',
+ x_accessor: 'x',
+ y_accessor: 'y',
+ data: [
+ [
+ {x: 1, y: 5},
+ {x: 2, y: 5},
+ {x: 3, y: 5},
+ {x: 4, y: 5}
+ ], [
+ {x: 5, y: 5},
+ {x: 6, y: 5},
+ {x: 7, y: 5}
+ ]
+ ]
+ };
+ MG.data_graphic(params2);
+ equal(params2.processed.min_x, 1, 'min is correct for multiple series');
+ equal(params2.processed.max_x, 7, 'max is correct for multiple series');
+});
+
+/*test('Correctly calculates min and max values for bar chart', function() {
+ var args;
+
+ // single series
+ args = {
+ x_accessor: 'x',
+ baseline_accessor: 'b',
+ predictor_accessor: 'p',
+ chart_type: 'bar',
+ target: '#qunit-fixture',
+ data: [
+ [
+ {x: 4, b: 3, p: 2},
+ {x: 5, b: 2, p: 6},
+ {x: 6, b: 1, p: 10},
+ {x: 7, b: 0, p: 12}
+ ]
+ ]
+ };
+ MG.data_graphic(args);
+ equal(args.processed.min_x, 0, 'min is correct');
+ equal(args.processed.max_x, 12, 'max is correct');
+});*/
+
+test('Ensure that custom xax_format isn\'t deleted', function() {
+ var params = {
+ title: 'foo',
+ target: '.result',
+ xax_format: function(d) { return 'humbug'; },
+ data: [{'date': new Date('2014-01-01'), 'value': 12},
+ {'date': new Date('2014-03-01'), 'value': 18}]
+ };
+
+ MG.data_graphic(params);
+ equal(params.xax_format(), 'humbug', 'xax_format hasn\'t been overriden');
+});
+
+test('Ensure that default null xax_format is respected; allow MG to recalculate the default on redraw', function() {
+ var params = {
+ title: 'foo',
+ target: '.result',
+ xax_format: null,
+ data: [{'date': new Date('2014-01-01'), 'value': 12},
+ {'date': new Date('2014-03-01'), 'value': 18}]
+ };
+
+ MG.data_graphic(params);
+ equal(params.xax_format, null, 'xax_format is still null');
+});
diff --git a/priv/static/metrics-graphics-3.0-alpha3/tests/common/y_axis_test.js b/priv/static/metrics-graphics-3.0-alpha3/tests/common/y_axis_test.js
new file mode 100644
index 0000000..7295b64
--- /dev/null
+++ b/priv/static/metrics-graphics-3.0-alpha3/tests/common/y_axis_test.js
@@ -0,0 +1,208 @@
+module('y_axis');
+
+test('Y-axis is added', function() {
+ var params = {
+ target: '#qunit-fixture',
+ data: [{'date': new Date('2014-01-01'), 'value': 12},
+ {'date': new Date('2014-03-01'), 'value': 18}]
+ };
+
+ MG.data_graphic(params);
+ ok(document.querySelector('.mg-y-axis'), 'Y-axis is added');
+});
+
+test('args.y_axis set to false', function() {
+ var params = {
+ target: '#qunit-fixture',
+ data: [{'date': new Date('2014-01-01'), 'value': 12},
+ {'date': new Date('2014-03-01'), 'value': 18}],
+ y_axis: false
+ };
+
+ MG.data_graphic(params);
+ equal(document.querySelector('.mg-y-axis'), null, 'Y-axis is not added');
+});
+
+test('Only one y-axis is added on multiple calls to the same target element', function() {
+ var params = {
+ target: '#qunit-fixture',
+ data: [{'date': new Date('2014-01-01'), 'value': 12},
+ {'date': new Date('2014-03-01'), 'value': 18}]
+ };
+
+ MG.data_graphic(params);
+ MG.data_graphic(MG.clone(params));
+
+ equal(document.querySelectorAll(params.target + ' .mg-y-axis').length, 1, 'We only have one y-axis');
+});
+
+test('Only one mg-category-guides group is added on multiple calls to the same target element', function() {
+ var params = {
+ target: '#qunit-fixture',
+ data: [{"year": "1945","sightings": 6},{"year": "1946","sightings": 8}],
+ chart_type: 'point',
+ y_accessor: "year",
+ x_accessor: "sightings",
+ };
+
+ MG.data_graphic(params);
+ MG.data_graphic(MG.clone(params));
+
+ equal(document.querySelectorAll(params.target + ' .mg-category-guides').length, 1, 'We only have one mg-category-guides');
+});
+
+test('args.y_label', function() {
+ var params = {
+ target: '#qunit-fixture',
+ data: [{'date': new Date('2014-01-01'), 'value': 12},
+ {'date': new Date('2014-03-01'), 'value': 18}],
+ y_label: 'foo bar'
+ };
+
+ MG.data_graphic(params);
+ ok(document.querySelector('.mg-y-axis .label'), 'Y-axis label exists');
+});
+
+test('Y-axis doesn\'t break when data object is of length 1', function() {
+ var params = {
+ target: '#qunit-fixture',
+ data: [{'date': new Date('2014-01-01'), 'value': 12}]
+ };
+
+ MG.data_graphic(params);
+ ok(document.querySelector('.mg-y-axis'), 'Y-axis exists');
+});
+
+// test('args.small_text', function() {
+// var params = {
+// target: '#qunit-fixture',
+// data: [{'date': new Date('2014-01-01'), 'value': 12}],
+// small_text: true,
+// };
+
+// MG.data_graphic(params);
+// ok(document.querySelector('.mg-y-axis-small'), 'Small y-axis is set');
+// });
+
+test('args.y_rug', function() {
+ var params = {
+ target: '#qunit-fixture',
+ data: [{'date': new Date('2014-01-01'), 'value': 12},
+ {'date': new Date('2014-03-01'), 'value': 18}],
+ y_rug: true
+ };
+
+ MG.data_graphic(params);
+ ok(document.querySelector('.mg-y-rug'), 'Y-axis rugplot exists');
+});
+
+test('Only one rugplot is added on multiple calls to the same target element', function() {
+ var params = {
+ target: '#qunit-fixture',
+ data: [{'date': new Date('2014-01-01'), 'value': 12},
+ {'date': new Date('2014-03-01'), 'value': 18}],
+ y_rug: true
+ };
+
+ MG.data_graphic(params);
+ MG.data_graphic(MG.clone(params));
+ equal(document.querySelectorAll('.mg-y-rug').length, 2, 'We only have one rugplot on the y-axis');
+});
+
+test('Default min_y is 0', function() {
+ var params = {
+ target: '#qunit-fixture',
+ data: [{'date': new Date('2014-01-01'), 'value': 12},
+ {'date': new Date('2014-03-01'), 'value': 18}]
+ };
+
+ MG.data_graphic(params);
+ equal(document.querySelectorAll('.mg-y-axis text')[0].textContent, 0, 'Y-axis starts at 0');
+});
+
+test('args.min_y_from_data', function() {
+ var params = {
+ target: '#qunit-fixture',
+ data: [{'date': new Date('2014-01-01'), 'value': 12},
+ {'date': new Date('2014-03-01'), 'value': 18}],
+ min_y_from_data: true
+ };
+
+ MG.data_graphic(params);
+ equal(document.querySelectorAll('.mg-y-axis text')[0].textContent, 12, 'Y-axis starts at 12');
+});
+
+test('args.min_y set to arbitrary value', function() {
+ var params = {
+ target: '#qunit-fixture',
+ data: [{'date': new Date('2014-01-01'), 'value': 12},
+ {'date': new Date('2014-03-01'), 'value': 18}],
+ min_y: 5
+ };
+
+ MG.data_graphic(params);
+ equal(document.querySelectorAll('.mg-y-axis text')[0].textContent, 5, 'Y-axis starts at 5');
+});
+
+test('args.y_extended_ticks', function() {
+ var params = {
+ target: '#qunit-fixture',
+ data: [{'date': new Date('2014-01-01'), 'value': 12},
+ {'date': new Date('2014-03-01'), 'value': 18}],
+ y_extended_ticks: true
+ };
+
+ MG.data_graphic(params);
+ ok(document.querySelector('.mg-extended-yax-ticks'), 'Y-axis extended ticks exist');
+});
+
+test('args.format is set to percentage', function() {
+ var params = {
+ target: '#qunit-fixture',
+ data: [{'date': new Date('2014-01-01'), 'value': 0.12},
+ {'date': new Date('2014-03-01'), 'value': 0.18}],
+ format: 'percentage'
+ };
+
+ MG.data_graphic(params);
+ equal(document.querySelectorAll('.mg-y-axis text')[0].textContent.slice(-1), '%', 'Y-axis units are %');
+});
+
+test('percentage args.format is correct', function() {
+ var params = {
+ target: '#qunit-fixture',
+ data: [{'date': new Date('2014-01-01'), 'value': 0.80},
+ {'date': new Date('2014-03-01'), 'value': 1.20}],
+ format: 'percentage',
+ height: 400,
+ min_y_from_data: true
+ };
+
+ MG.data_graphic(params);
+ equal(document.querySelectorAll('.mg-y-axis text')[2].textContent, '120%', 'Y-axis label formats correctly');
+});
+
+test('args.yax_units', function() {
+ var params = {
+ target: '#qunit-fixture',
+ data: [{'date': new Date('2014-01-01'), 'value': 2.12},
+ {'date': new Date('2014-03-01'), 'value': 4.18}],
+ yax_units: '$',
+ };
+
+ MG.data_graphic(params);
+ equal(document.querySelector('.mg-y-axis text').textContent[0], '$', 'Y-axis units are $');
+});
+
+test('When args.max_y is set, ignore inflator', function() {
+ var params = {
+ target: '#qunit-fixture',
+ data: [{'date': new Date('2014-01-01'), 'value': 12},
+ {'date': new Date('2014-03-01'), 'value': 18}],
+ max_y: 60,
+ };
+
+ MG.data_graphic(params);
+ var nodes = document.querySelectorAll('.mg-y-axis text');
+ equal(nodes[nodes.length - 1].textContent, 60, 'Maximum y-axis value is 60');
+});
diff --git a/priv/static/metrics-graphics-3.0-alpha3/tests/helpers.js b/priv/static/metrics-graphics-3.0-alpha3/tests/helpers.js
new file mode 100644
index 0000000..22d30ad
--- /dev/null
+++ b/priv/static/metrics-graphics-3.0-alpha3/tests/helpers.js
@@ -0,0 +1,20 @@
+function generateMouseEvent(type) {
+ var event = document.createEvent('MouseEvent');
+ event.initEvent(type, true, true);
+ return event;
+}
+
+// essentially the same as $.extend
+function extend(){
+ var result = {},
+ $__arguments = [].slice.call(arguments);
+
+ $__arguments.forEach(function(obj) {
+ for (var prop in obj) {
+ if (obj.hasOwnProperty(prop)) {
+ result[prop] = obj[prop];
+ }
+ }
+ });
+ return result;
+}
diff --git a/priv/static/metrics-graphics-3.0-alpha3/tests/misc/.gitkeep b/priv/static/metrics-graphics-3.0-alpha3/tests/misc/.gitkeep
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/priv/static/metrics-graphics-3.0-alpha3/tests/misc/.gitkeep
diff --git a/priv/static/metrics-graphics-3.0-alpha3/tests/misc/process_test.js b/priv/static/metrics-graphics-3.0-alpha3/tests/misc/process_test.js
new file mode 100644
index 0000000..4495b75
--- /dev/null
+++ b/priv/static/metrics-graphics-3.0-alpha3/tests/misc/process_test.js
@@ -0,0 +1,14 @@
+module('process');
+
+test('args.missing_is_zero doesn\'t throw a "args.data[0][0] is undefined" error', function() {
+ var data = [{"date": new Date('2014-02-02'), "value": 6}];
+ var params = {
+ data: data,
+ target: "#qunit-fixture",
+ missing_is_zero: true
+ };
+
+ MG.data_graphic(params);
+
+ equal(params.data.length, 1, 'args.data is defined');
+}); \ No newline at end of file
diff --git a/priv/static/metrics-graphics-3.0-alpha3/tests/misc/utility_test.js b/priv/static/metrics-graphics-3.0-alpha3/tests/misc/utility_test.js
new file mode 100644
index 0000000..7af4e00
--- /dev/null
+++ b/priv/static/metrics-graphics-3.0-alpha3/tests/misc/utility_test.js
@@ -0,0 +1,90 @@
+module('utility');
+
+test('MG.convert.date', function() {
+ var data = [{'date': '2014-01-01', 'value': 12},
+ {'date': '2014-03-01', 'value': 18}];
+
+ MG.convert.date(data, 'date');
+ equal($.type(data[0].date), 'date', 'First date is of type date');
+ equal($.type(data[0].date), 'date', 'Second date is of type date');
+});
+
+test('MG.convert.date with an alternative timestamp style', function() {
+ var data = [{'date': '2014-20-12', 'value': 12},
+ {'date': '2014-21-12', 'value': 18}];
+
+ MG.convert.date(data, 'date', '%Y-%d-%m');
+ equal($.type(data[0].date), 'date', 'First date is of type date');
+ equal($.type(data[0].date), 'date', 'Second date is of type date');
+});
+
+test('MG.convert.number', function() {
+ var data = [{'date': '2014-20-12', 'value': '12'},
+ {'date': '2014-21-12', 'value': '18'}];
+
+ MG.convert.number(data, 'value');
+ equal($.type(data[0].value), 'number', 'First value is a number');
+ equal($.type(data[0].value), 'number', 'Second value is a number');
+});
+
+test('mg_get_svg_child_of', function(){
+ d3.select('#qunit-fixture').append('svg');
+
+ var svg_element_with_node = mg_get_svg_child_of(document.querySelector('#qunit-fixture'));
+ var svg_element_with_text = mg_get_svg_child_of('#qunit-fixture');
+
+ equal(svg_element_with_node.nodes().length, 1, 'Node-based argument should return a d3 selection with svg.');
+ equal(svg_element_with_node.nodes().length, 1, 'Selector-based argument should return a d3 selection with svg.');
+});
+
+
+test('mg_target_ref', function() {
+ var chart_area2 = document.createElement('div');
+ mg_target_ref(chart_area2);
+ ok(chart_area2.getAttribute('data-mg-uid').match(/mg-[\d]/), 'applies generated ID to DOM element');
+});
+
+test('Overlapping markers are taken care of', function() {
+ var params = {
+ data: [{
+ "date": new Date('2016-01-01'),
+ "value": 6
+ },
+ {
+ "date": new Date('2016-01-02'),
+ "value": 8
+ },
+ {
+ "date": new Date('2016-01-03'),
+ "value": 34
+ },
+ {
+ "date": new Date('2016-01-04'),
+ "value": 38
+ }],
+ markers: [{'date': new Date('2016-01-02'), 'label': 'A happened'},{'date': new Date('2016-01-02'), 'label': 'B happened'}],
+ target: "#qunit-fixture"
+ };
+
+ MG.data_graphic(params);
+
+ equal(mg_is_horizontally_overlapping(d3.selectAll('.mg-marker-text').node(), d3.selectAll('.mg-marker-text').nodes()), false, 'Markers aren\'t overlapping');
+});
+
+test('compare_type', function() {
+ [
+ ['number', null, true],
+ ['number', 1, true],
+ ['number', 'str', false],
+ ['number[]', 1, false],
+ ['number[]', [1], true],
+ ['object[]', [{}, 1], false],
+ [['number', 'string'], 1, true],
+ [['number', 'string'], 'str', true],
+ [['number', 'string'], {}, false],
+ [['a', 'b'], 'a', true],
+ [['a', 'b'], 'c', false]
+ ].forEach(i => {
+ equal(compare_type(i[0], i[1]), i[2], i);
+ });
+});
diff --git a/test/correction_plugin_test.exs b/test/correction_plugin_test.exs
new file mode 100644
index 0000000..6999b9f
--- /dev/null
+++ b/test/correction_plugin_test.exs
@@ -0,0 +1,12 @@
+defmodule LSG.IRC.CorrectionPluginTest do
+ use ExUnit.Case
+
+ test "works" do
+ message = %{text: "s/pouet/prout", replyfun: fn(x) ->
+ assert x == "correction: <oof> prout les salopes"
+ end, network: "test", channel: "#test"}
+ hist = %{text: "pouet les salopes", sender: %{nick: "oof"}}
+ LSG.IRC.CorrectionPlugin.correction(message, %{"test/#test" => [hist]})
+ end
+
+end