diff options
175 files changed, 62951 insertions, 378 deletions
@@ -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/> - — 15m: <%= status.active15m %> g/l - 30m: <%= status.active30m %> g/l - 1h: <%= status.active1h %> g/l<br /> - — dernier verre: <%= status.last_type %> <%= status.last_descr %> (<%= status.last_points %>) - <%= LSGWeb.LayoutView.format_time(status.last_at) %> - <br /> - — sobre dans: <%= status.sober_in_s %> - <br /> - <small> - — 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 /> + — sobre dans: <%= status.sober_in_s %><br /> + <%= if status.since do %> + — depuis: <%= status.since_s %><br /> + <% end %> + <small> + — 15m: <%= status.active15m %> g/l - 30m: <%= status.active30m %> g/l - 1h: <%= status.active1h %> g/l<br /> + — 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"> + + </th> + <th class="px-6 py-3 bg-gray-50 text-left text-xs leading-4 font-medium text-gray-500 uppercase tracking-wider"> + + </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> + — + 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"> + + </th> + <th class="px-6 py-3 bg-gray-50 text-left text-xs leading-4 font-medium text-gray-500 uppercase tracking-wider"> + + </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 + — + <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 %> - › +<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> › <% end %> <%= if c = @conn.assigns[:chan] do %><a href="/<%= @conn.assigns.network %>/<%= LSGWeb.format_chan(c) %>"><%= c %></a> › <% end %> <%= for({name, href} <- @conn.assigns[:breadcrumbs]||[], do: [link(name, to: href), raw(" › ")]) %> - </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) @@ -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} ] @@ -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]+"'>— "+o+" </span>"+e.legend_text:e.legend_text="<span class='mg-line"+a+"-legend-color'>— "+o+" </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]}'>— ${this_legend} </span>${plot.legend_text}`; + } else { + plot.legend_text = `<span class='mg-line${line_id}-legend-color'>— ${this_legend} </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'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 "few years" [`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 `this` 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 `gulp serve`. #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 'follow' to 'following' 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 & 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 `target_ref` 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 `target_ref` 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 'origin/master' (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'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'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't react properly on window resize [`#508`](https://github.com/mozilla/metrics-graphics/pull/508) +- Fix documentation to add the 'mg-' class prefix [`#501`](https://github.com/mozilla/metrics-graphics/pull/501) +- fix exception on aggregate_rollover is true & 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 `aggregate_rollover` 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 `version` property from bower.json [`#446`](https://github.com/mozilla/metrics-graphics/pull/446) +- Add support for `linked` charts when `aggregate_rollover` 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 'broken lines' 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 "Uncaught ReferenceError: globals is not defined" 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 & 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 `pp` 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'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 'missing-data' chart [`#213`](https://github.com/mozilla/metrics-graphics/pull/213) +- feat(target): allow DOM&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't remember why, but I removed it and now the year label doesn'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'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'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] + '\'>— ' + this_legend + ' </span>' + plot.legend_text; + } else { + plot.legend_text = '<span class=\'mg-line' + line_id + '-legend-color\'>— ' + this_legend + ' </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 & 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'><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> +</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 & 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> — 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 Binary files differnew file mode 100644 index 0000000..9647b67 --- /dev/null +++ b/priv/static/metrics-graphics-3.0-alpha3/examples/images/divider.png 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> — 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> — 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,"&").replace(/</gm,"<").replace(/>/gm,">")}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,"&").replace(/"/g,""").replace(/'/g,"'").replace(/</g,"<")},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:{"&":"&","<":"<",">":">",'"':""","'":"'"}};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*!|</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 · 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 |