diff --git a/logistic_regression_1/logistic_reg_1.html b/logistic_regression_1/logistic_reg_1.html new file mode 100644 index 00000000..c10fc054 --- /dev/null +++ b/logistic_regression_1/logistic_reg_1.html @@ -0,0 +1,1230 @@ + + + + + + + + + +Logistic Regression I + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+

Logistic Regression I

+
+ + + +
+ + + + +
+ + + +
+ + +
+
+
+ +
+
+Learning Outcomes +
+
+
+
+
+
    +
  • Understand the difference between regression and classification
  • +
  • Derive the logistic regression model for classifying data
  • +
  • Quantify the error of our logistic regression model with cross-entropy loss
  • +
+
+
+
+

Up until this point in the class , we’ve focused on regression tasks - that is, predicting a numerical quantity from a given dataset. We discussed optimization, feature engineering, and regularization all in the context of performing regression to predict some quantity.

+

Now that we have this deep understanding of the modeling process, let’s expand our knowledge of possible modeling tasks.

+
+

Classification

+

In the next two lectures, we’ll tackle the task of classification. A classification problem aims to classify data into categories. Unlike in regression, where we predicted a numeric output, classification involves predicting some categorical variable, or response, \(y\). Examples of classification tasks include:

+
    +
  • Predicting which team won from its turnover percentage
  • +
  • Predicting the day of the week of a meal from the total restaurant bill
  • +
  • Predicting the model of car from its horsepower
  • +
+

There are a couple of different types of classification:

+
    +
  • Binary classification: classify data into two classes, and responses \(y\) are either 0 or 1
  • +
  • Multiclass classification: classify data into multiple classes (e.g., image labeling, next word in a sentence, etc.)
  • +
+

We can further combine multiple related classfication predictions (e.g., translation, voice recognition, etc.) to tackle complex problems through structured prediction tasks.

+

In Data 100, we will mostly deal with binary classification, where we are attempting to classify data into one of two classes.

+

To build a classification model, we need to modify our modeling workflow slightly. Recall that in regression we:

+
    +
  1. Created a design matrix of numeric features
  2. +
  3. Defined our model as a linear combination of these numeric features
  4. +
  5. Used the model to output numeric predictions
  6. +
+

In classification, however, we no longer want to output numeric predictions; instead, we want to predict the class to which a datapoint belongs. This means that we need to update our workflow. To build a classification model, we will:

+
    +
  1. Create a design matrix of numeric features.
  2. +
  3. Define our model as a linear combination of these numeric features, transformed by a non-linear sigmoid function. This outputs a numeric quantity.
  4. +
  5. Apply a decision rule to interpret the outputted quantity and decide a classification.
  6. +
  7. Output a predicted class.
  8. +
+

There are two key differences: as we’ll soon see, we need to incorporate a non-linear transformation to capture the non-linear relationships hidden in our data. We do so by applying the sigmoid function to a linear combination of the features. Secondly, we must apply a decision rule to convert the numeric quantities computed by our model into an actual class prediction. This can be as simple as saying that any datapoint with a feature greater than some number \(x\) belongs to Class 1.

+

Regression:

+
+reg +
+

Classification:

+
+class +
+

This was a very high-level overview. Let’s walk through the process in detail to clarify what we mean.

+
+
+

Deriving the Logistic Regression Model

+

Throughout this lecture, we will work with the games dataset, which contains information about games played in the NBA basketball league. Our goal will be to use a basketball team’s "GOAL_DIFF" to predict whether or not a given team won their game ("WON"). If a team wins their game, we’ll say they belong to Class 1. If they lose, they belong to Class 0.

+

For those who are curious, "GOAL_DIFF" represents the difference in successful field goal percentages between the two competing teams.

+
+
+Code +
import warnings
+warnings.filterwarnings("ignore")
+
+import pandas as pd
+import numpy as np
+np.seterr(divide='ignore')
+
+games = pd.read_csv("data/games").dropna()
+games.head()
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
GAME_IDTEAM_NAMEMATCHUPWONGOAL_DIFFAST
021701216Dallas MavericksDAL vs. PHX0-0.25120
121700846Phoenix SunsPHX @ GSW0-0.23713
221700071San Antonio SpursSAS @ ORL0-0.23419
321700221New York KnicksNYK @ TOR0-0.23417
421700306Miami HeatMIA @ NYK0-0.22221
+ +
+
+
+
+

Let’s visualize the relationship between "GOAL_DIFF" and "WON" using the Seaborn function sns.stripplot. A strip plot automatically introduces a small amount of random noise to jitter the data. Recall that all values in the "WON" column are either 1 (won) or 0 (lost) – if we were to directly plot them without jittering, we would see severe overplotting.

+
+
+Code +
import seaborn as sns
+import matplotlib.pyplot as plt
+
+sns.stripplot(data=games, x="GOAL_DIFF", y="WON", orient="h")
+# By default, sns.stripplot plots 0, then 1. We invert the y axis to reverse this behavior
+plt.gca().invert_yaxis();
+
+
+
+
+

+
+
+
+
+

This dataset is unlike anything we’ve seen before – our target variable contains only two unique values! Remember that each y value is either 0 or 1; the plot above jitters the y data slightly for ease of reading.

+

The regression models we have worked with always assumed that we were attempting to predict a continuous target. If we apply a linear regression model to this dataset, something strange happens.

+
+
+Code +
import sklearn.linear_model as lm
+
+X, Y = games[["GOAL_DIFF"]], games["WON"]
+regression_model = lm.LinearRegression()
+regression_model.fit(X, Y)
+
+plt.plot(X.squeeze(), regression_model.predict(X), "k")
+sns.stripplot(data=games, x="GOAL_DIFF", y="WON", orient="h")
+plt.gca().invert_yaxis();
+
+
+
+
+

+
+
+
+
+

The linear regression fit follows the data as closely as it can. However, this approach has a key flaw - the predicted output, \(\hat{y}\), can be outside the range of possible classes (there are predictions above 1 and below 0). This means that the output can’t always be interpreted (what does it mean to predict a class of -2.3?).

+

Our usual linear regression framework won’t work here. Instead, we’ll need to get more creative.

+

Back in Data 8, you gradually built up to the concept of linear regression by using the graph of averages. Before you knew the mathematical underpinnings of the regression line, you took a more intuitive approach: you bucketed the \(x\) data into bins of common values, then computed the average \(y\) for all datapoints in the same bin. The result gave you the insight needed to derive the regression fit.

+

Let’s take the same approach as we grapple with our new classification task. In the cell below, we 1) bucket the "GOAL_DIFF" data into bins of similar values and 2) compute the average "WON" value of all datapoints in a bin.

+
+
bins = pd.cut(games["GOAL_DIFF"], 20)
+games["bin"] = [(b.left + b.right) / 2 for b in bins]
+win_rates_by_bin = games.groupby("bin")["WON"].mean()
+
+# alpha makes the points transparent so we can see the line more clearly
+sns.stripplot(data=games, x="GOAL_DIFF", y="WON", orient="h", alpha=0.3)
+plt.plot(win_rates_by_bin.index, win_rates_by_bin, c="tab:red")
+plt.gca().invert_yaxis();
+
+
+
+

+
+
+
+
+

Interesting: our result is certainly not like the straight line produced by finding the graph of averages for a linear relationship. We can make two observations:

+
    +
  • All predictions on our line are between 0 and 1
  • +
  • The predictions are non-linear, following a rough “S” shape
  • +
+

Let’s think more about what we’ve just done.

+

To find the average \(y\) value for each bin, we computed:

+

\[\frac{1 \text{(\# Y = 1 in bin)} + 0 \text{(\# Y = 0 in bin)}}{\text{\# datapoints in bin}} = \frac{\text{\# Y = 1 in bin}}{\text{\# datapoints in bin}} = P(\text{Y = 1} | \text{bin})\]

+

This is simply the probability of a datapoint in that bin belonging to Class 1! This aligns with our observation from earlier: all of our predictions lie between 0 and 1, just as we would expect for a probability.

+

Our graph of averages was really modeling the probability, \(p\), that a datapoint belongs to Class 1, or essentially that \(\text{Y = 1}\) for a particular value of \(\text{x}\).

+

\[ p = P(Y = 1 | \text{ x} )\]

+

In logistic regression, we have a new modeling goal. We want to model the probability that a particular datapoint belongs to Class 1. To do so, we’ll need to create a model that can approximate the S-shaped curve we plotted above.

+

Fortunately for us, we’re already well-versed with a technique to model non-linear relationships – applying non-linear transformations to linearize the relationship. Recall the steps we’ve applied previously:

+
    +
  • Transform the variables until we linearize their relationship
  • +
  • Fit a linear model to the transformed variables
  • +
  • “Undo” our transformations to identify the underlying relationship between the original variables
  • +
+

In past examples, we used the bulge diagram to help us decide what transformations may be useful. The S-shaped curve we saw above, however, looks nothing like any relationship we’ve seen in the past. We’ll need to think carefully about what transformations will linearize this curve.

+

Let’s consider our eventual goal: determining if we should predict a Class of 0 or 1 for each datapoint. Rephrased, we want to decide if it seems more “likely” that the datapoint belongs to Class 0 or to Class 1. One way of deciding this is to see which class has the higher predicted probability for a given datapoint. The odds is defined as the probability of a datapoint belonging to Class 1 divided by the probability of it belonging to Class 0.

+

\[\text{odds} = \frac{P(Y=1|x)}{P(Y=0|x)} = \frac{p}{1-p}\]

+

If we plot the odds for each input "GOAL_DIFF" (\(x\)), we see something that looks more promising.

+
+
p = win_rates_by_bin
+odds = p/(1-p) 
+
+plt.plot(odds.index, odds)
+plt.xlabel("x")
+plt.ylabel(r"Odds $= \frac{p}{1-p}$");
+
+
+
+

+
+
+
+
+

It turns out that the relationship between our input "GOAL_DIFF" and the odds is roughly exponential! Let’s linearize the exponential by taking the logarithm (as suggested by the Tukey-Mosteller Bulge Diagram). As a reminder, you should assume that any logarithm in Data 100 is the base \(e\) natural logarithm unless told otherwise.

+
+
import numpy as np
+log_odds = np.log(odds)
+plt.plot(odds.index, log_odds, c="tab:green")
+plt.xlabel("x")
+plt.ylabel(r"Log-Odds $= \log{\frac{p}{1-p}}$");
+
+
+
+

+
+
+
+
+

We see something promising – the relationship between the log-odds and our input feature is approximately linear. This means that we can use a linear model to describe the relationship between the log-odds and \(x\). In other words:

+

\[\begin{align} +\log{(\frac{p}{1-p})} &= \theta_0 + \theta_1 x_i\\ +&= x^{\top} \theta +\end{align}\]

+

Here, we use \(x^{\top}\) to represent an observation in our dataset, stored as a row vector. You can imagine it as a single row in our design matrix. \(x^{\top} \theta\) indicates a linear combination of the features for this observation (just as we used in multiple linear regression).

+

We’re in good shape! We have now derived the following relationship:

+

\[\log{(\frac{p}{1-p})} = x^{\top} \theta\]

+

Remember that our goal is to predict the probability of a datapoint belonging to Class 1, \(p\). Let’s rearrange this relationship to uncover the original relationship between \(p\) and our input data, \(x^{\top}\).

+

\[\begin{align} +\log{(\frac{p}{1-p})} &= x^T \theta\\ +\frac{p}{1-p} &= e^{x^T \theta}\\ +p &= (1-p)e^{x^T \theta}\\ +p &= e^{x^T \theta}- p e^{x^T \theta}\\ +p(1 + e^{x^T \theta}) &= e^{x^T \theta} \\ +p &= \frac{e^{x^T \theta}}{1+e^{x^T \theta}}\\ +p &= \frac{1}{1+e^{-x^T \theta}}\\ +\end{align}\]

+

Phew, that was a lot of algebra. What we’ve uncovered is the logistic regression model to predict the probability of a datapoint \(x^{\top}\) belonging to Class 1. If we plot this relationship for our data, we see the S-shaped curve from earlier!

+
+
+Code +
# We'll discuss the `LogisticRegression` class next time
+xs = np.linspace(-0.3, 0.3)
+
+logistic_model = lm.LogisticRegression(C=20)
+logistic_model.fit(X, Y)
+predicted_prob = logistic_model.predict_proba(xs[:, np.newaxis])[:, 1]
+
+sns.stripplot(data=games, x="GOAL_DIFF", y="WON", orient="h", alpha=0.5)
+plt.plot(xs, predicted_prob, c="k", lw=3, label="Logistic regression model")
+plt.plot(win_rates_by_bin.index, win_rates_by_bin, lw=2, c="tab:red", label="Graph of averages")
+plt.legend(loc="upper left")
+plt.gca().invert_yaxis();
+
+
+
+
+

+
+
+
+
+

To predict a probability using the logistic regression model, we:

+
    +
  1. Compute a linear combination of the features, \(x^{\top}\theta\)
  2. +
  3. Apply the sigmoid activation function, \(\sigma(x^{\top} \theta)\).
  4. +
+

Our predicted probabilities are of the form \(P(Y=1|x) = p = \frac{1}{1+e^{-(\theta_0 + \theta_1 x_1 + \theta_2 x_2 + \ldots + \theta_p x_p)}}\)

+

An important note: despite its name, logistic regression is used for classification tasks, not regression tasks. In Data 100, we always apply logistic regression with the goal of classifying data.

+

The S-shaped curve is formally known as the sigmoid function and is typically denoted by \(\sigma\).

+

\[\sigma(t) = \frac{1}{1+e^{-t}}\]

+
+
+
+ +
+
+Properties of the Sigmoid +
+
+
+
    +
  • Reflection/Symmetry: \(1-\sigma(t) = \frac{e^{-t}}{1+e^{-t}}=\sigma(-t)\)
  • +
  • Inverse: \(t=\sigma^{-1}(p)=\log{(\frac{p}{1-p})}\)
  • +
  • Derivative: \(\frac{d}{dz} \sigma(t) = \sigma(t) (1-\sigma(t))=\sigma(t)\sigma(-t)\)
  • +
  • Domain: \(-\infty < t < \infty\)
  • +
  • Range: \(0 < \sigma(t) < 1\)
  • +
+
+
+

In the context of our modeling process, the sigmoid is considered an activation function. It takes in a linear combination of the features and applies a non-linear transformation.

+

Let’s summarize our logistic regression modeling workflow.

+
+log_reg +
+

Our main takeaways from this section are:

+
    +
  • Assume log-odds is a linear combination of \(x\) and \(\theta\)
  • +
  • Fit the “S” curve as best as possible
  • +
  • The curve models the probability: \(P = (Y=1 | x)\)
  • +
+

Putting this together, we know that the estimated probability that response is 1 given the features \(x\) is equal to the logistic function \(\sigma()\) at the value \(x^{\top}\theta\):

+

\[\begin{align} +\hat{P}_{\theta}(Y = 1 | x) = \frac{1}{1 + e^{-x^{\top}\theta}} +\end{align}\]

+

More commonly, the logistic regression model is written as:

+

\[\begin{align} +\hat{P}_{\theta}(Y = 1 | x) = \sigma(x^{\top}\theta) +\end{align}\]

+
+
+
+ +
+
+Properties of the Logistic Model +
+
+
+

Consider a logistic regression model with one feature and an intercept term:

+

\[\begin{align} +p = P(Y = 1 | x) = \frac{1}{1+e^{-(\theta_0 + \theta_1 x)}} +\end{align}\]

+

Properties:

+
    +
  • \(\theta_0\) controls the position of the curve along the horizontal axis
  • +
  • The magnitude of \(\theta_1\) controls the “steepness” of the sigmoid
  • +
  • The sign of \(\theta_1\) controls the orientation of the curve
  • +
+
+
+
+ +
+
+

Suppose we want to predict the probability that a team wins a game, given "GOAL_DIFF" (first feature) and the number of free throws (second feature). Let’s say we fit a logistic regression model (with no intercept) using the training data and estimate the optimal parameters. Now we want to predict the probability that a new team will win their game.

+

\[\begin{align} +\hat{\theta}^{\top} = \begin{matrix}[0.1 & -0.5]\end{matrix} +\\x^{\top} = \begin{matrix}[15 & 1]\end{matrix} +\end{align}\]

+

\[\begin{align} +\hat{P}_{\hat{\theta}}(Y = 1 | x) = \sigma(x^{\top}\hat{\theta}) = \sigma(0.1 \cdot 15 + (-0.5) \cdot 1) = \sigma(1) = \frac{1}{1+e^{-1}} \approx 0.7311 +\end{align}\]

+

We see that the response is more likely to be 1 than 0, indicating that a reasonable prediction is \(\hat{y} = 1\). We’ll dive deeper into this in the next lecture.

+
+
+
+
+
+

Cross-Entropy Loss

+

To quantify the error of our logistic regression model, we’ll need to define a loss function.

+
+

Why Not MSE?

+

You may wonder: why not use our familiar mean squared error? It turns out that the MSE is not well suited for logistic regression. To see why, let’s consider a simple, artificially generated toy dataset (this will be easier to work with than the more complicated games data).

+
+
+Code +
toy_df = pd.DataFrame({
+        "x": [-4, -2, -0.5, 1, 3, 5],
+        "y": [0, 0, 1, 0, 1, 1]})
+toy_df.head()
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
xy
0-4.00
1-2.00
2-0.51
31.00
43.01
+ +
+
+
+
+

We’ll construct a basic logistic regression model with only one feature and no intercept term. Our predicted probabilities take the form:

+

\[p=P(Y=1|x)=\frac{1}{1+e^{-\theta_1 x}}\]

+

In the cell below, we plot the MSE for our model on the data.

+
+
+Code +
def sigmoid(z):
+    return 1/(1+np.e**(-z))
+    
+def mse_on_toy_data(theta):
+    p_hat = sigmoid(toy_df['x'] * theta)
+    return np.mean((toy_df['y'] - p_hat)**2)
+
+thetas = np.linspace(-15, 5, 100)
+plt.plot(thetas, [mse_on_toy_data(theta) for theta in thetas])
+plt.title("MSE on toy classification data")
+plt.xlabel(r'$\theta_1$')
+plt.ylabel('MSE');
+
+
+
+
+

+
+
+
+
+

This looks nothing like the parabola we found when plotting the MSE of a linear regression model! In particular, we can identify two flaws with using the MSE for logistic regression:

+
    +
  1. The MSE loss surface is non-convex. There is both a global minimum and a (barely perceptible) local minimum in the loss surface above. This means that there is the risk of gradient descent converging on the local minimum of the loss surface, missing the true optimum parameter \(\theta_1\).
  2. +
  3. Squared loss is bounded for a classification task. Recall that each true \(y\) has a value of either 0 or 1. This means that even if our model makes the worst possible prediction (e.g. predicting \(p=0\) for \(y=1\)), the squared loss for an observation will be no greater than 1: \[(y-p)^2=(1-0)^2=1\] The MSE does not strongly penalize poor predictions.
  4. +
+
+
+

Motivating Cross-Entropy Loss

+

Suffice to say, we don’t want to use the MSE when working with logistic regression. Instead, we’ll consider what kind of behavior we would like to see in a loss function.

+

Let \(y\) be the binary label \({0, 1}\), and \(p\) be the model’s predicted probability of the label being 1.

+
    +
  • When the true \(y\) is 1, we should incur low loss when the model predicts large \(p\)
  • +
  • When the true \(y\) is 0, we should incur high loss when the model predicts large \(p\)
  • +
+

In other words, our loss function should behave differently depending on the value of the true class, \(y\).

+

The cross-entropy loss incorporates this changing behavior. We will use it throughout our work on logistic regression. Below, we write out the cross-entropy loss for a single datapoint (no averages just yet).

+

\[\text{Cross-Entropy Loss} = \begin{cases} + -\log{(p)} & \text{if } y=1 \\ + -\log{(1-p)} & \text{if } y=0 +\end{cases}\]

+

Why does this (seemingly convoluted) loss function “work”? Let’s break it down.

+
+
+When \(y=1\) +
+cross-entropy loss when Y=1 +
+
    +
  • As \(p \rightarrow 0\), loss approches \(\infty\)
  • +
  • As \(p \rightarrow 1\), loss approaches 0
  • +
+
+ +
+When \(y=0\) +
+cross-entropy loss when Y=0 +
+
    +
  • As \(p \rightarrow 0\), loss approches 0
  • +
  • As \(p \rightarrow 1\), loss approaches \(\infty\)
  • +
+
+
+

All good – we are seeing the behavior we want for our logistic regression model.

+

The piecewise function we outlined above is difficult to optimize: we don’t want to constantly “check” which form of the loss function we should be using at each step of choosing the optimal model parameters. We can re-express cross-entropy loss in a more convenient way:

+

\[\text{Cross-Entropy Loss} = -\left(y\log{(p)}-(1-y)\log{(1-p)}\right)\]

+

By setting \(y\) to 0 or 1, we see that this new form of cross-entropy loss gives us the same behavior as the original formulation. Another way to think about this is that in either scenario (y being equal to 0 or 1), only one of the cross-entropy loss terms is activated, which gives us a convenient way to combine the two independent loss functions.

+
+
+

When \(y=1\):

+

\[\begin{align} +\text{CE} &= -\left((1)\log{(p)}-(1-1)\log{(1-p)}\right)\\ +&= -\log{(p)} +\end{align}\]

+
+ +
+

When \(y=0\):

+

\[\begin{align} +\text{CE} &= -\left((0)\log{(p)}-(1-0)\log{(1-p)}\right)\\ +&= -\log{(1-p)} +\end{align}\]

+
+
+

The empirical risk of the logistic regression model is then the mean cross-entropy loss across all datapoints in the dataset. When fitting the model, we want to determine the model parameter \(\theta\) that leads to the lowest mean cross-entropy loss possible.

+

\[R(\theta) = - \frac{1}{n} \sum_{i=1}^n \left(y_i\log{(p_i)}-(1-y_i)\log{(1-p_i)}\right)\] \[R(\theta) = - \frac{1}{n} \sum_{i=1}^n \left(y_i\log{\sigma(X_i^{\top}\theta)}-(1-y_i)\log{(1-\sigma(X_i^{\top}\theta))}\right)\]

+

The optimization problem is therefore to find the estimate \(\hat{\theta}\) that minimizes \(R(\theta)\):

+

\[\begin{align} +\hat{\theta} = \underset{\theta}{\arg\min} (- \frac{1}{n} \sum_{i=1}^n \left(y_i\log{\sigma(X_i^{\top}\theta)}-(1-y_i)\log{(1-\sigma(X_i^{\top}\theta))}\right)) +\end{align}\]

+

Plotting the cross-entropy loss surface for our toy dataset gives us a more encouraging result – our loss function is now convex. This means we can optimize it using gradient descent. Computing the gradient of the logistic model is fairly challenging, so we’ll let sklearn take care of this for us. You won’t need to compute the gradient of the logistic model in Data 100.

+
+
+Code +
def cross_entropy(y, p_hat):
+    return - y * np.log(p_hat) - (1 - y) * np.log(1 - p_hat)
+
+def mean_cross_entropy_on_toy_data(theta):
+    p_hat = sigmoid(toy_df['x'] * theta)
+    return np.mean(cross_entropy(toy_df['y'], p_hat))
+
+plt.plot(thetas, [mean_cross_entropy_on_toy_data(theta) for theta in thetas], color = 'green')
+plt.ylabel(r'Mean Cross-Entropy Loss($\theta$)')
+plt.xlabel(r'$\theta$');
+
+
+
+
+

+
+
+
+
+
+
+
+

(Bonus) Maximum Likelihood Estimation

+

It may have seemed like we pulled cross-entropy loss out of thin air. How did we know that taking the negative logarithms of our probabilities would work so well? It turns out that cross-entropy loss is justified by probability theory.

+

The following section is out of scope, but is certainly an interesting read!

+
+

Building Intuition: The Coin Flip

+

To build some intuition for logistic regression, let’s look at an introductory example to classification: the coin flip. Suppose we observe some outcomes of a coin flip (1 = Heads, 0 = Tails).

+
+
flips = [0, 0, 1, 1, 1, 1, 0, 0, 0, 0]
+flips
+
+
[0, 0, 1, 1, 1, 1, 0, 0, 0, 0]
+
+
+

A reasonable model is to assume all flips are IID (independent and identically distributed). In other words, each flip has the same probability of returning a 1 (or heads). Let’s define a parameter \(\theta\), the probability that the next flip is a heads. We will use this parameter to inform our decision for \(\hat y\) (predicting either 0 or 1) of the next flip. If \(\theta \ge 0.5, \hat y = 1, \text{else } \hat y = 0\).

+

You may be inclined to say \(0.5\) is the best choice for \(\theta\). However, notice that we made no assumption about the coin itself. The coin may be biased, so we should make our decision based only on the data. We know that exactly \(\frac{4}{10}\) of the flips were heads, so we might guess \(\hat \theta = 0.4\). In the next section, we will mathematically prove why this is the best possible estimate.

+
+
+

Likelihood of Data

+

Let’s call the result of the coin flip a random variable \(Y\). This is a Bernoulli random variable with two outcomes. \(Y\) has the following distribution:

+

\[P(Y = y) = \begin{cases} + p, \text{if } y=1\\ + 1 - p, \text{if } y=0 + \end{cases} \]

+

\(p\) is unknown to us. But we can find the \(p\) that makes the data we observed the most likely.

+

The probability of observing 4 heads and 6 tails follows the binomial distribution.

+

\[\binom{10}{4} (p)^4 (1-p)^6\]

+

We define the likelihood of obtaining our observed data as a quantity proportional to the probability above. To find it, simply multiply the probabilities of obtaining each coin flip.

+

\[(p)^{4} (1-p)^6\]

+

The technique known as maximum likelihood estimation finds the \(p\) that maximizes the above likelihood. You can find this maximum by taking the derivative of the likelihood, but we’ll provide a more intuitive graphical solution.

+
+
thetas = np.linspace(0, 1)
+plt.plot(thetas, (thetas**4)*(1-thetas)**6)
+plt.xlabel(r"$\theta$")
+plt.ylabel("Likelihood");
+
+
+
+

+
+
+
+
+

More generally, the likelihood for some Bernoulli(\(p\)) random variable \(Y\) is:

+

\[P(Y = y) = \begin{cases} + 1, \text{with probability } p\\ + 0, \text{with probability } 1 - p + \end{cases} \]

+

Equivalently, this can be written in a compact way:

+

\[P(Y=y) = p^y(1-p)^{1-y}\]

+
    +
  • When \(y = 1\), this reads \(P(Y=y) = p\)
  • +
  • When \(y = 0\), this reads \(P(Y=y) = (1-p)\)
  • +
+

In our example, a Bernoulli random variable is analogous to a single data point (e.g., one instance of a basketball team winning or losing a game). All together, our games data consists of many IID Bernoulli(\(p\)) random variables. To find the likelihood of independent events in succession, simply multiply their likelihoods.

+

\[\prod_{i=1}^{n} p^{y_i} (1-p)^{1-y_i}\]

+

As with the coin example, we want to find the parameter \(p\) that maximizes this likelihood. Earlier, we gave an intuitive graphical solution, but let’s take the derivative of the likelihood to find this maximum.

+

At a first glance, this derivative will be complicated! We will have to use the product rule, followed by the chain rule. Instead, we can make an observation that simplifies the problem.

+

Finding the \(p\) that maximizes \[\prod_{i=1}^{n} p^{y_i} (1-p)^{1-y_i}\] is equivalent to the \(p\) that maximizes \[\text{log}(\prod_{i=1}^{n} p^{y_i} (1-p)^{1-y_i})\]

+

This is because \(\text{log}\) is a strictly increasing function. It won’t change the maximum or minimum of the function it was applied to. From \(\text{log}\) properties, \(\text{log}(a*b)\) = \(\text{log}(a) + \text{log}(b)\). We can apply this to our equation above to get:

+

\[\underset{p}{\text{argmax}} \sum_{i=1}^{n} \text{log}(p^{y_i} (1-p)^{1-y_i})\]

+

\[= \underset{p}{\text{argmax}} \sum_{i=1}^{n} (\text{log}(p^{y_i}) + \text{log}((1-p)^{1-y_i}))\]

+

\[= \underset{p}{\text{argmax}} \sum_{i=1}^{n} (y_i\text{log}(p) + (1-y_i)\text{log}(1-p))\]

+

We can add a constant factor of \(\frac{1}{n}\) out front. It won’t affect the \(p\) that maximizes our likelihood.

+

\[=\underset{p}{\text{argmax}} \frac{1}{n} \sum_{i=1}^{n} y_i\text{log}(p) + (1-y_i)\text{log}(1-p)\]

+

One last “trick” we can do is change this to a minimization problem by negating the result. This works because we are dealing with a concave function, which can be made convex.

+

\[= \underset{p}{\text{argmin}} -\frac{1}{n} \sum_{i=1}^{n} y_i\text{log}(p) + (1-y_i)\text{log}(1-p)\]

+

Now let’s say that we have data that are independent with different probability \(p_i\). Then, we would want to find the \(p_1, p_2, \dots, p_n\) that maximize \[\prod_{i=1}^{n} p_i^{y_i} (1-p_i)^{1-y_i}\]

+

Setting up and simplifying the optimization problems as we did above, we ultimately want to find:

+

\[= \underset{p}{\text{argmin}} -\frac{1}{n} \sum_{i=1}^{n} y_i\text{log}(p_i) + (1-y_i)\text{log}(1-p_i)\]

+

For logistic regression, \(p_i = \sigma(x^{\top}\theta)\). Plugging that in, we get:

+

\[= \underset{p}{\text{argmin}} -\frac{1}{n} \sum_{i=1}^{n} y_i\text{log}(\sigma(x^{\top}\theta)) + (1-y_i)\text{log}(1-\sigma(x^{\top}\theta))\]

+

This is exactly our average cross-entropy loss minimization problem from before!

+

Why did we do all this complicated math? We have shown that minimizing cross-entropy loss is equivalent to maximizing the likelihood of the training data.

+
    +
  • By minimizing cross-entropy loss, we are choosing the model parameters that are “most likely” for the data we observed.
  • +
+

Note that this is under the assumption that all data is drawn independently from the same logistic regression model with parameter \(\theta\). In fact, many of the model + loss combinations we’ve seen can be motivated using MLE (e.g., OLS, Ridge Regression, etc.). In probability and ML classes, you’ll get the chance to explore MLE further.

+
+
+ +
+ + +
+ + + + + \ No newline at end of file diff --git a/logistic_regression_1/logistic_reg_1.ipynb b/logistic_regression_1/logistic_reg_1.ipynb index abadcc59..14fb6f43 100644 --- a/logistic_regression_1/logistic_reg_1.ipynb +++ b/logistic_regression_1/logistic_reg_1.ipynb @@ -1,731 +1,1033 @@ { - "cells": [ - { - "cell_type": "raw", - "id": "2d994410", - "metadata": {}, - "source": [ - "---\n", - "title: Logistic Regression I\n", - "format:\n", - " html:\n", - " toc: true\n", - " toc-depth: 5\n", - " toc-location: right\n", - " code-fold: false\n", - " theme:\n", - " - cosmo\n", - " - cerulean\n", - " callout-icon: false\n", - "---" - ] - }, - { - "cell_type": "markdown", - "id": "c9b65205", - "metadata": {}, - "source": [ - "::: {.callout-note collapse=\"false\"}\n", - "## Learning Outcomes\n", - "* Understand the difference between regression and classification\n", - "* Derive the logistic regression model for classifying data\n", - "* Quantify the error of our logistic regression model with cross-entropy loss\n", - ":::\n", - "\n", - "\n", - "Up until this point in the class , we've focused on **regression** tasks - that is, predicting a *numerical* quantity from a given dataset. We discussed optimization, feature engineering, and regularization all in the context of performing regression to predict some quantity. \n", - "\n", - "Now that we have this deep understanding of the modeling process, let's expand our knowledge of possible modeling tasks. \n", - "\n", - "\n", - "## Classification\n", - "\n", - "In the next two lectures, we'll tackle the task of **classification**. A classification problem aims to classify data into *categories*. Unlike in regression, where we predicted a numeric output, classification involves predicting some **categorical variable**, or **response**, $y$. Examples of classification tasks include:\n", - "\n", - "* Predicting which team won from its turnover percentage \n", - "* Predicting the day of the week of a meal from the total restaurant bill \n", - "* Predicting the model of car from its horsepower\n", - "\n", - "There are a couple of different types of classification:\n", - "\n", - "* Binary classification: classify data into two classes, and responses $y$ are either 0 or 1\n", - "* Multiclass classification: classify data into multiple classes (e.g., image labeling, next word in a sentence, etc.)\n", - "\n", - "We can further combine multiple related classfication predictions(e.g., translation, voice recognition, etc.) to tackle complex problems through structured prediction tasks.\n", - "\n", - "In Data 100, we will mostly deal with **binary classification**, where we are attempting to classify data into one of two classes. \n", - "\n", - "To build a classification model, we need to modify our modeling workflow slightly. Recall that in regression we:\n", - "\n", - "1. Created a design matrix of numeric features\n", - "2. Defined our model as a linear combination of these numeric features\n", - "3. Used the model to output numeric predictions\n", - "\n", - "In classification, however, we no longer want to output numeric predictions; instead, we want to predict the class to which a datapoint belongs. This means that we need to update our workflow. To build a classification model, we will:\n", - "\n", - "1. Create a design matrix of numeric features.\n", - "2. Define our model as a linear combination of these numeric features, transformed by a non-linear **sigmoid function**. This outputs a numeric quantity.\n", - "3. Apply a **decision rule** to interpret the outputted quantity and decide a classification.\n", - "4. Output a predicted class.\n", - "\n", - "There are two key differences: as we'll soon see, we need to incorporate a non-linear transformation to capture the non-linear relationships hidden in our data. We do so by applying the sigmoid function to a linear combination of the features. Secondly, we must apply a decision rule to convert the numeric quantities computed by our model into an actual class prediction. This can be as simple as saying that any datapoint with a feature greater than some number $x$ belongs to Class 1.\n", - "\n", - "
reg
\n", - "\n", - "
class
\n", - "\n", - "This was a very high-level overview. Let's walk through the process in detail to clarify what we mean.\n", - "\n", - "## Deriving the Logistic Regression Model\n", - "\n", - "Throughout this lecture, we will work with the `games` dataset, which contains information about games played in the NBA basketball league. Our goal will be to use a basketball team's `\"GOAL_DIFF\"` to predict whether or not a given team won their game (`\"WON\"`). If a team wins their game, we'll say they belong to Class 1. If they lose, they belong to Class 0.\n", - "\n", - "For those who are curious, `\"GOAL_DIFF\"` represents the difference in successful field goal percentages between the two competing teams. \n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "79b43dbf", - "metadata": {}, - "outputs": [], - "source": [ - "#| code-fold: true\n", - "import warnings\n", - "warnings.filterwarnings(\"ignore\")\n", - "\n", - "import pandas as pd\n", - "import numpy as np\n", - "np.seterr(divide='ignore')\n", - "\n", - "games = pd.read_csv(\"data/games\").dropna()\n", - "games.head()" - ] - }, - { - "cell_type": "markdown", - "id": "06091967", - "metadata": {}, - "source": [ - "Let's visualize the relationship between `\"GOAL_DIFF\"` and `\"WON\"` using the Seaborn function `sns.stripplot`. A strip plot automatically introduces a small amount of random noise to jitter the data. Recall that all values in the `\"WON\"` column are either 1 (won) or 0 (lost) – if we were to directly plot them without jittering, we would see severe overplotting.\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "cb27ff54", - "metadata": {}, - "outputs": [], - "source": [ - "#| code-fold: true\n", - "import seaborn as sns\n", - "import matplotlib.pyplot as plt\n", - "\n", - "sns.stripplot(data=games, x=\"GOAL_DIFF\", y=\"WON\", orient=\"h\")\n", - "# By default, sns.stripplot plots 0, then 1. We invert the y axis to reverse this behavior\n", - "plt.gca().invert_yaxis();" - ] - }, - { - "cell_type": "markdown", - "id": "cb3360b5", - "metadata": {}, - "source": [ - "This dataset is unlike anything we've seen before – our target variable contains only two unique values! Remember that each y value is either 0 or 1; the plot above jitters the y data slightly for ease of reading.\n", - "\n", - "The regression models we have worked with always assumed that we were attempting to predict a continuous target. If we apply a linear regression model to this dataset, something strange happens.\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "df536b78", - "metadata": {}, - "outputs": [], - "source": [ - "#| code-fold: true\n", - "import sklearn.linear_model as lm\n", - "\n", - "X, Y = games[[\"GOAL_DIFF\"]], games[\"WON\"]\n", - "regression_model = lm.LinearRegression()\n", - "regression_model.fit(X, Y)\n", - "\n", - "plt.plot(X.squeeze(), regression_model.predict(X), \"k\")\n", - "sns.stripplot(data=games, x=\"GOAL_DIFF\", y=\"WON\", orient=\"h\")\n", - "plt.gca().invert_yaxis();" - ] - }, - { - "cell_type": "markdown", - "id": "348dcd6f", - "metadata": {}, - "source": [ - "The linear regression fit follows the data as closely as it can. However, this approach has a key flaw - The predicted output, $\\hat{y}$, can be outside the range of possible classes (there are predictions above 1 and below 0). This means that the output can't always be interpreted (what does it mean to predict a class of -2.3?).\n", - "\n", - "Our usual linear regression framework won't work here. Instead, we'll need to get more creative.\n", - "\n", - "Back in [Data 8](https://inferentialthinking.com/chapters/08/1/Applying_a_Function_to_a_Column.html#example-prediction), you gradually built up to the concept of linear regression by using the **graph of averages**. Before you knew the mathematical underpinnings of the regression line, you took a more intuitive approach: you bucketed the $x$ data into bins of common values, then computed the average $y$ for all datapoints in the same bin. The result gave you the insight needed to derive the regression fit.\n", - "\n", - "Let's take the same approach as we grapple with our new classification task. In the cell below, we 1) bucket the `\"GOAL_DIFF\"` data into bins of similar values and 2) compute the average `\"WON\"` value of all datapoints in a bin.\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "b114cead", - "metadata": {}, - "outputs": [], - "source": [ - "bins = pd.cut(games[\"GOAL_DIFF\"], 20)\n", - "games[\"bin\"] = [(b.left + b.right) / 2 for b in bins]\n", - "win_rates_by_bin = games.groupby(\"bin\")[\"WON\"].mean()\n", - "\n", - "# alpha makes the points transparent so we can see the line more clearly\n", - "sns.stripplot(data=games, x=\"GOAL_DIFF\", y=\"WON\", orient=\"h\", alpha=0.3)\n", - "plt.plot(win_rates_by_bin.index, win_rates_by_bin, c=\"tab:red\")\n", - "plt.gca().invert_yaxis();" - ] - }, - { - "cell_type": "markdown", - "id": "8491b800", - "metadata": {}, - "source": [ - "Interesting: our result is certainly not like the straight line produced by finding the graph of averages for a linear relationship. We can make two observations:\n", - "\n", - "* All predictions on our line are between 0 and 1\n", - "* The predictions are **non-linear**, following a rough \"S\" shape\n", - "\n", - "Let's think more about what we've just done.\n", - "\n", - "To find the average $y$ value for each bin, we computed:\n", - "\n", - "$$\\frac{1 \\text{(\\# Y = 1 in bin)} + 0 \\text{(\\# Y = 0 in bin)}}{\\text{\\# datapoints in bin}} = \\frac{\\text{\\# Y = 1 in bin}}{\\text{\\# datapoints in bin}} = P(\\text{Y = 1} | \\text{bin})$$\n", - "\n", - "This is simply the probability of a datapoint in that bin belonging to Class 1! This aligns with our observation from earlier: all of our predictions lie between 0 and 1, just as we would expect for a probability.\n", - "\n", - "Our graph of averages was really modeling the probability, $p$, that a datapoint belongs to Class 1, or essentially that $\\text{Y = 1}$ for a particular value of $\\text{x}$.\n", - "\n", - "$$ p = P(Y = 1 | \\text{ x} )$$\n", - "\n", - "In logistic regression, we have a new modeling goal. We want to model the **probability that a particular datapoint belongs to Class 1**. To do so, we'll need to create a model that can approximate the S-shaped curve we plotted above.\n", - "\n", - "Fortunately for us, we're already well-versed with a technique to model non-linear relationships – applying non-linear transformations to linearize the relationship. Recall the steps we've applied previously:\n", - "\n", - "* Transform the variables until we linearize their relationship\n", - "* Fit a linear model to the transformed variables\n", - "* \"Undo\" our transformations to identify the underlying relationship between the original variables\n", - "\n", - "In past examples, we used the bulge diagram to help us decide what transformations may be useful. The S-shaped curve we saw above, however, looks nothing like any relationship we've seen in the past. We'll need to think carefully about what transformations will linearize this curve.\n", - "\n", - "Let's consider our eventual goal: determining if we should predict a Class of 0 or 1 for each datapoint. Rephrased, we want to decide if it seems more \"likely\" that the datapoint belongs to Class 0 or to Class 1. One way of deciding this is to see which class has the higher predicted probability for a given datapoint. The **odds** is defined as the probability of a datapoint belonging to Class 1 divided by the probability of it belonging to Class 0. \n", - "\n", - "$$\\text{odds} = \\frac{P(Y=1|x)}{P(Y=0|x)} = \\frac{p}{1-p}$$\n", - "\n", - "If we plot the odds for each input `\"GOAL_DIFF\"` ($x$), we see something that looks more promising.\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "e37d7f75", - "metadata": {}, - "outputs": [], - "source": [ - "p = win_rates_by_bin\n", - "odds = p/(1-p) \n", - "\n", - "plt.plot(odds.index, odds)\n", - "plt.xlabel(\"x\")\n", - "plt.ylabel(r\"Odds $= \\frac{p}{1-p}$\");" - ] - }, - { - "cell_type": "markdown", - "id": "3f575d4e", - "metadata": {}, - "source": [ - "It turns out that the relationship between our input `\"GOAL_DIFF\"` and the odds is roughly exponential! Let's linearize the exponential by taking the logarithm (as suggested by the [Tukey-Mosteller Bulge Diagram](https://ds100.org/course-notes/visualization_2/visualization_2.html#tukey-mosteller-bulge-diagram)). As a reminder, you should assume that any logarithm in Data 100 is the base $e$ natural logarithm unless told otherwise.\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "8390cdc5", - "metadata": {}, - "outputs": [], - "source": [ - "import numpy as np\n", - "log_odds = np.log(odds)\n", - "plt.plot(odds.index, log_odds, c=\"tab:green\")\n", - "plt.xlabel(\"x\")\n", - "plt.ylabel(r\"Log-Odds $= \\log{\\frac{p}{1-p}}$\");" - ] - }, - { - "cell_type": "markdown", - "id": "1259833e", - "metadata": {}, - "source": [ - "We see something promising – the relationship between the log-odds and our input feature is approximately linear. This means that we can use a linear model to describe the relationship between the log-odds and $x$. In other words:\n", - "\n", - "\\begin{align}\n", - "\\log{(\\frac{p}{1-p})} &= \\theta_0 + \\theta_1 x_i\\\\\n", - "&= x^{\\top} \\theta\n", - "\\end{align}\n", - "\n", - "Here, we use $x^{\\top}$ to represent an observation in our dataset, stored as a row vector. You can imagine it as a single row in our design matrix. $x^{\\top} \\theta$ indicates a linear combination of the features for this observation (just as we used in multiple linear regression). \n", - "\n", - "We're in good shape! We have now derived the following relationship:\n", - "\n", - "$$\\log{(\\frac{p}{1-p})} = x^{\\top} \\theta$$\n", - "\n", - "Remember that our goal is to predict the probability of a datapoint belonging to Class 1, $p$. Let's rearrange this relationship to uncover the original relationship between $p$ and our input data, $x^{\\top}$.\n", - "\n", - "\\begin{align}\n", - "\\log{(\\frac{p}{1-p})} &= x^T \\theta\\\\\n", - "\\frac{p}{1-p} &= e^{x^T \\theta}\\\\\n", - "p &= (1-p)e^{x^T \\theta}\\\\\n", - "p &= e^{x^T \\theta}- p e^{x^T \\theta}\\\\\n", - "p(1 + e^{x^T \\theta}) &= e^{x^T \\theta} \\\\\n", - "p &= \\frac{e^{x^T \\theta}}{1+e^{x^T \\theta}}\\\\\n", - "p &= \\frac{1}{1+e^{-x^T \\theta}}\\\\\n", - "\\end{align}\n", - "\n", - "Phew, that was a lot of algebra. What we've uncovered is the **logistic regression model** to predict the probability of a datapoint $x^{\\top}$ belonging to Class 1. If we plot this relationship for our data, we see the S-shaped curve from earlier!\n" - ] - }, + "cells": [ + { + "cell_type": "raw", + "id": "2d994410", + "metadata": {}, + "source": [ + "---\n", + "title: Logistic Regression I\n", + "format:\n", + " html:\n", + " toc: true\n", + " toc-depth: 5\n", + " toc-location: right\n", + " code-fold: false\n", + " theme:\n", + " - cosmo\n", + " - cerulean\n", + " callout-icon: false\n", + "---" + ] + }, + { + "cell_type": "markdown", + "id": "c9b65205", + "metadata": {}, + "source": [ + "::: {.callout-note collapse=\"false\"}\n", + "## Learning Outcomes\n", + "* Understand the difference between regression and classification\n", + "* Derive the logistic regression model for classifying data\n", + "* Quantify the error of our logistic regression model with cross-entropy loss\n", + ":::\n", + "\n", + "\n", + "Up until this point in the class , we've focused on **regression** tasks - that is, predicting a *numerical* quantity from a given dataset. We discussed optimization, feature engineering, and regularization all in the context of performing regression to predict some quantity. \n", + "\n", + "Now that we have this deep understanding of the modeling process, let's expand our knowledge of possible modeling tasks. \n", + "\n", + "\n", + "## Classification\n", + "\n", + "In the next two lectures, we'll tackle the task of **classification**. A classification problem aims to classify data into *categories*. Unlike in regression, where we predicted a numeric output, classification involves predicting some **categorical variable**, or **response**, $y$. Examples of classification tasks include:\n", + "\n", + "* Predicting which team won from its turnover percentage \n", + "* Predicting the day of the week of a meal from the total restaurant bill \n", + "* Predicting the model of car from its horsepower\n", + "\n", + "There are a couple of different types of classification:\n", + "\n", + "* Binary classification: classify data into two classes, and responses $y$ are either 0 or 1\n", + "* Multiclass classification: classify data into multiple classes (e.g., image labeling, next word in a sentence, etc.)\n", + "\n", + "We can further combine multiple related classfication predictions (e.g., translation, voice recognition, etc.) to tackle complex problems through structured prediction tasks.\n", + "\n", + "In Data 100, we will mostly deal with **binary classification**, where we are attempting to classify data into one of two classes. \n", + "\n", + "To build a classification model, we need to modify our modeling workflow slightly. Recall that in regression we:\n", + "\n", + "1. Created a design matrix of numeric features\n", + "2. Defined our model as a linear combination of these numeric features\n", + "3. Used the model to output numeric predictions\n", + "\n", + "In classification, however, we no longer want to output numeric predictions; instead, we want to predict the class to which a datapoint belongs. This means that we need to update our workflow. To build a classification model, we will:\n", + "\n", + "1. Create a design matrix of numeric features.\n", + "2. Define our model as a linear combination of these numeric features, transformed by a non-linear **sigmoid function**. This outputs a numeric quantity.\n", + "3. Apply a **decision rule** to interpret the outputted quantity and decide a classification.\n", + "4. Output a predicted class.\n", + "\n", + "There are two key differences: as we'll soon see, we need to incorporate a non-linear transformation to capture the non-linear relationships hidden in our data. We do so by applying the sigmoid function to a linear combination of the features. Secondly, we must apply a decision rule to convert the numeric quantities computed by our model into an actual class prediction. This can be as simple as saying that any datapoint with a feature greater than some number $x$ belongs to Class 1.\n", + "\n", + "**Regression:**\n", + "\n", + "
reg
\n", + "\n", + "**Classification:**\n", + "\n", + "
class
\n", + "\n", + "This was a very high-level overview. Let's walk through the process in detail to clarify what we mean.\n", + "\n", + "## Deriving the Logistic Regression Model\n", + "\n", + "Throughout this lecture, we will work with the `games` dataset, which contains information about games played in the NBA basketball league. Our goal will be to use a basketball team's `\"GOAL_DIFF\"` to predict whether or not a given team won their game (`\"WON\"`). If a team wins their game, we'll say they belong to Class 1. If they lose, they belong to Class 0.\n", + "\n", + "For those who are curious, `\"GOAL_DIFF\"` represents the difference in successful field goal percentages between the two competing teams. \n" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "79b43dbf", + "metadata": {}, + "outputs": [ { - "cell_type": "code", - "execution_count": null, - "id": "0866d711", - "metadata": {}, - "outputs": [], - "source": [ - "#| code-fold: true\n", - "# We'll discuss the `LogisticRegression` class next time\n", - "xs = np.linspace(-0.3, 0.3)\n", - "\n", - "logistic_model = lm.LogisticRegression(C=20)\n", - "logistic_model.fit(X, Y)\n", - "predicted_prob = logistic_model.predict_proba(xs[:, np.newaxis])[:, 1]\n", - "\n", - "sns.stripplot(data=games, x=\"GOAL_DIFF\", y=\"WON\", orient=\"h\", alpha=0.5)\n", - "plt.plot(xs, predicted_prob, c=\"k\", lw=3, label=\"Logistic regression model\")\n", - "plt.plot(win_rates_by_bin.index, win_rates_by_bin, lw=2, c=\"tab:red\", label=\"Graph of averages\")\n", - "plt.legend(loc=\"upper left\")\n", - "plt.gca().invert_yaxis();" + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
GAME_IDTEAM_NAMEMATCHUPWONGOAL_DIFFAST
021701216Dallas MavericksDAL vs. PHX0-0.25120
121700846Phoenix SunsPHX @ GSW0-0.23713
221700071San Antonio SpursSAS @ ORL0-0.23419
321700221New York KnicksNYK @ TOR0-0.23417
421700306Miami HeatMIA @ NYK0-0.22221
\n", + "
" + ], + "text/plain": [ + " GAME_ID TEAM_NAME MATCHUP WON GOAL_DIFF AST\n", + "0 21701216 Dallas Mavericks DAL vs. PHX 0 -0.251 20\n", + "1 21700846 Phoenix Suns PHX @ GSW 0 -0.237 13\n", + "2 21700071 San Antonio Spurs SAS @ ORL 0 -0.234 19\n", + "3 21700221 New York Knicks NYK @ TOR 0 -0.234 17\n", + "4 21700306 Miami Heat MIA @ NYK 0 -0.222 21" ] - }, + }, + "execution_count": 1, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "#| code-fold: true\n", + "import warnings\n", + "warnings.filterwarnings(\"ignore\")\n", + "\n", + "import pandas as pd\n", + "import numpy as np\n", + "np.seterr(divide='ignore')\n", + "\n", + "games = pd.read_csv(\"data/games\").dropna()\n", + "games.head()" + ] + }, + { + "cell_type": "markdown", + "id": "06091967", + "metadata": {}, + "source": [ + "Let's visualize the relationship between `\"GOAL_DIFF\"` and `\"WON\"` using the Seaborn function `sns.stripplot`. A strip plot automatically introduces a small amount of random noise to jitter the data. Recall that all values in the `\"WON\"` column are either 1 (won) or 0 (lost) – if we were to directly plot them without jittering, we would see severe overplotting.\n" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "cb27ff54", + "metadata": {}, + "outputs": [ { - "cell_type": "markdown", - "id": "c7efea5e", - "metadata": {}, - "source": [ - "To predict a probability using the logistic regression model, we:\n", - "\n", - "1. Compute a linear combination of the features, $x^{\\top}\\theta$\n", - "2. Apply the sigmoid activation function, $\\sigma(x^{\\top} \\theta)$.\n", - "\n", - "Our predicted probabilities are of the form $P(Y=1|x) = p = \\frac{1}{1+e^{-(\\theta_0 + \\theta_1 x_1 + \\theta_2 x_2 + \\ldots + \\theta_p x_p)}}$\n", - "\n", - "An important note: despite its name, logistic regression is used for *classification* tasks, not regression tasks. In Data 100, we always apply logistic regression with the goal of classifying data.\n", - "\n", - "The S-shaped curve is formally known as the **sigmoid function** and is typically denoted by $\\sigma$. \n", - "\n", - "$$\\sigma(t) = \\frac{1}{1+e^{-t}}$$\n", - "\n", - "::: {.callout-tip}\n", - "## Properties of the Sigmoid\n", - "* Reflection/Symmetry: $1-\\sigma(t) = \\frac{e^{-t}}{1+e^{-t}}=\\sigma(-t)$\n", - "* Inverse: $t=\\sigma^{-1}(p)=\\log{(\\frac{p}{1-p})}$\n", - "* Derivative: $\\frac{d}{dz} \\sigma(t) = \\sigma(t) (1-\\sigma(t))=\\sigma(t)\\sigma(-t)$\n", - "* Domain: $-\\infty < t < \\infty$\n", - "* Range: $0 < \\sigma(t) < 1$\n", - ":::\n", - "\n", - "In the context of our modeling process, the sigmoid is considered an **activation function**. It takes in a linear combination of the features and applies a non-linear transformation.\n", - "\n", - "Let's summarize our logistic regression modeling workflow.\n", - "\n", - "
log_reg
\n", - "\n", - "Our main takeaways from this section are:\n", - "\n", - "* Assume log-odds is a linear combination of $x$ and $\\theta$\n", - "* Fit the \"S\" curve as best as possible\n", - "* The curve models the probability: $P = (Y=1 | x)$\n", - "\n", - "Putting this together, we know that the estimated probability that response is 1 given the features $x$ is equal to the logistic function $\\sigma()$ at the value $x^{\\top}\\theta$:\n", - "\n", - "\\begin{align}\n", - "\\hat{P}_{\\theta}(Y = 1 | x) = \\frac{1}{1 + e^{-x^{\\top}\\theta}}\n", - "\\end{align}\n", - "\n", - "More commonly, the logistic regression model is written as:\n", - "\n", - "\\begin{align}\n", - "\\hat{P}_{\\theta}(Y = 1 | x) = \\sigma(x^{\\top}\\theta)\n", - "\\end{align}\n", - "\n", - "\n", - "::: {.callout-tip}\n", - "## Properties of the Logistic Model\n", - "Consider a logistic regression model with one feature and an intercept term:\n", - "\n", - "\\begin{align}\n", - "p = P(Y = 1 | x) = \\frac{1}{1+e^{-(\\theta_0 + \\theta_1 x)}}\n", - "\\end{align}\n", - "\n", - "Properties:\n", - "\n", - "* $\\theta_0$ controls the position of the curve along the horizontal axis\n", - "* The magnitude of $\\theta_1$ controls the \"steepness\" of the sigmoid\n", - "* The sign of $\\theta_1$ controls the orientation of the curve\n", - "\n", - ":::\n", - "\n", - "::: {.callout collapse=\"true\"}\n", - "## Example Calculation\n", - "Suppose we want to predict the probability that a team wins a game, given `\"GOAL_DIFF\"` (first feature) and the number of free throws (second feature). Let's say we fit a logistic regression model (with no intercept) using the training data and estimate the optimal parameters. Now we want to predict the probability that a new team will win their game.\n", - "\n", - "\\begin{align}\n", - "\\hat{\\theta}^{\\top} = \\begin{matrix}[0.1 & -0.5]\\end{matrix}\n", - "\\\\x^{\\top} = \\begin{matrix}[15 & 1]\\end{matrix}\n", - "\\end{align}\n", - "\n", - "\\begin{align}\n", - "\\hat{P}_{\\hat{\\theta}}(Y = 1 | x) = \\sigma(x^{\\top}\\hat{\\theta}) = \\sigma(0.1 \\cdot 15 + (-0.5) \\cdot 1) = \\sigma(1) = \\frac{1}{1+e^{-1}} \\approx 0.7311\n", - "\\end{align}\n", - "\n", - "We see that the response is more likely to be 1 than 0, indicating that a reasonable prediction is $\\hat{y} = 1$. We'll dive deeper into this in the next lecture.\n", - "\n", - ":::\n", - "\n", - "\n", - "## Cross-Entropy Loss\n", - "\n", - "To quantify the error of our logistic regression model, we'll need to define a loss function. \n", - "\n", - "### Why Not MSE?\n", - "You may wonder: why not use our familiar mean squared error? It turns out that the MSE is not well suited for logistic regression. To see why, let's consider a simple, artificially generated `toy` dataset (this will be easier to work with than the more complicated `games` data).\n" + "data": { + "image/png": "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\n", + "text/plain": [ + "
" ] - }, + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "#| code-fold: true\n", + "import seaborn as sns\n", + "import matplotlib.pyplot as plt\n", + "\n", + "sns.stripplot(data=games, x=\"GOAL_DIFF\", y=\"WON\", orient=\"h\")\n", + "# By default, sns.stripplot plots 0, then 1. We invert the y axis to reverse this behavior\n", + "plt.gca().invert_yaxis();" + ] + }, + { + "cell_type": "markdown", + "id": "cb3360b5", + "metadata": {}, + "source": [ + "This dataset is unlike anything we've seen before – our target variable contains only two unique values! Remember that each y value is either 0 or 1; the plot above jitters the y data slightly for ease of reading.\n", + "\n", + "The regression models we have worked with always assumed that we were attempting to predict a continuous target. If we apply a linear regression model to this dataset, something strange happens.\n" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "df536b78", + "metadata": {}, + "outputs": [ { - "cell_type": "code", - "execution_count": null, - "id": "cc327884", - "metadata": {}, - "outputs": [], - "source": [ - "#| code-fold: true\n", - "toy_df = pd.DataFrame({\n", - " \"x\": [-4, -2, -0.5, 1, 3, 5],\n", - " \"y\": [0, 0, 1, 0, 1, 1]})\n", - "toy_df.head()" + "data": { + "image/png": "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\n", + "text/plain": [ + "
" ] - }, + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "#| code-fold: true\n", + "import sklearn.linear_model as lm\n", + "\n", + "X, Y = games[[\"GOAL_DIFF\"]], games[\"WON\"]\n", + "regression_model = lm.LinearRegression()\n", + "regression_model.fit(X, Y)\n", + "\n", + "plt.plot(X.squeeze(), regression_model.predict(X), \"k\")\n", + "sns.stripplot(data=games, x=\"GOAL_DIFF\", y=\"WON\", orient=\"h\")\n", + "plt.gca().invert_yaxis();" + ] + }, + { + "cell_type": "markdown", + "id": "348dcd6f", + "metadata": {}, + "source": [ + "The linear regression fit follows the data as closely as it can. However, this approach has a key flaw - the predicted output, $\\hat{y}$, can be outside the range of possible classes (there are predictions above 1 and below 0). This means that the output can't always be interpreted (what does it mean to predict a class of -2.3?).\n", + "\n", + "Our usual linear regression framework won't work here. Instead, we'll need to get more creative.\n", + "\n", + "Back in [Data 8](https://inferentialthinking.com/chapters/08/1/Applying_a_Function_to_a_Column.html#example-prediction), you gradually built up to the concept of linear regression by using the **graph of averages**. Before you knew the mathematical underpinnings of the regression line, you took a more intuitive approach: you bucketed the $x$ data into bins of common values, then computed the average $y$ for all datapoints in the same bin. The result gave you the insight needed to derive the regression fit.\n", + "\n", + "Let's take the same approach as we grapple with our new classification task. In the cell below, we 1) bucket the `\"GOAL_DIFF\"` data into bins of similar values and 2) compute the average `\"WON\"` value of all datapoints in a bin.\n" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "b114cead", + "metadata": {}, + "outputs": [ { - "cell_type": "markdown", - "id": "f25317d0", - "metadata": {}, - "source": [ - "We'll construct a basic logistic regression model with only one feature and no intercept term. Our predicted probabilities take the form:\n", - "\n", - "$$p=P(Y=1|x)=\\frac{1}{1+e^{-\\theta_1 x}}$$\n", - "\n", - "In the cell below, we plot the MSE for our model on the data.\n" + "data": { + "image/png": "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\n", + "text/plain": [ + "
" ] - }, + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "bins = pd.cut(games[\"GOAL_DIFF\"], 20)\n", + "games[\"bin\"] = [(b.left + b.right) / 2 for b in bins]\n", + "win_rates_by_bin = games.groupby(\"bin\")[\"WON\"].mean()\n", + "\n", + "# alpha makes the points transparent so we can see the line more clearly\n", + "sns.stripplot(data=games, x=\"GOAL_DIFF\", y=\"WON\", orient=\"h\", alpha=0.3)\n", + "plt.plot(win_rates_by_bin.index, win_rates_by_bin, c=\"tab:red\")\n", + "plt.gca().invert_yaxis();" + ] + }, + { + "cell_type": "markdown", + "id": "8491b800", + "metadata": {}, + "source": [ + "Interesting: our result is certainly not like the straight line produced by finding the graph of averages for a linear relationship. We can make two observations:\n", + "\n", + "* All predictions on our line are between 0 and 1\n", + "* The predictions are **non-linear**, following a rough \"S\" shape\n", + "\n", + "Let's think more about what we've just done.\n", + "\n", + "To find the average $y$ value for each bin, we computed:\n", + "\n", + "$$\\frac{1 \\text{(\\# Y = 1 in bin)} + 0 \\text{(\\# Y = 0 in bin)}}{\\text{\\# datapoints in bin}} = \\frac{\\text{\\# Y = 1 in bin}}{\\text{\\# datapoints in bin}} = P(\\text{Y = 1} | \\text{bin})$$\n", + "\n", + "This is simply the probability of a datapoint in that bin belonging to Class 1! This aligns with our observation from earlier: all of our predictions lie between 0 and 1, just as we would expect for a probability.\n", + "\n", + "Our graph of averages was really modeling the probability, $p$, that a datapoint belongs to Class 1, or essentially that $\\text{Y = 1}$ for a particular value of $\\text{x}$.\n", + "\n", + "$$ p = P(Y = 1 | \\text{ x} )$$\n", + "\n", + "In logistic regression, we have a new modeling goal. We want to model the **probability that a particular datapoint belongs to Class 1**. To do so, we'll need to create a model that can approximate the S-shaped curve we plotted above.\n", + "\n", + "Fortunately for us, we're already well-versed with a technique to model non-linear relationships – applying non-linear transformations to linearize the relationship. Recall the steps we've applied previously:\n", + "\n", + "* Transform the variables until we linearize their relationship\n", + "* Fit a linear model to the transformed variables\n", + "* \"Undo\" our transformations to identify the underlying relationship between the original variables\n", + "\n", + "In past examples, we used the bulge diagram to help us decide what transformations may be useful. The S-shaped curve we saw above, however, looks nothing like any relationship we've seen in the past. We'll need to think carefully about what transformations will linearize this curve.\n", + "\n", + "Let's consider our eventual goal: determining if we should predict a Class of 0 or 1 for each datapoint. Rephrased, we want to decide if it seems more \"likely\" that the datapoint belongs to Class 0 or to Class 1. One way of deciding this is to see which class has the higher predicted probability for a given datapoint. The **odds** is defined as the probability of a datapoint belonging to Class 1 divided by the probability of it belonging to Class 0. \n", + "\n", + "$$\\text{odds} = \\frac{P(Y=1|x)}{P(Y=0|x)} = \\frac{p}{1-p}$$\n", + "\n", + "If we plot the odds for each input `\"GOAL_DIFF\"` ($x$), we see something that looks more promising.\n" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "e37d7f75", + "metadata": {}, + "outputs": [ { - "cell_type": "code", - "execution_count": null, - "id": "7ff3a8d0", - "metadata": {}, - "outputs": [], - "source": [ - "#| code-fold: true\n", - "def sigmoid(z):\n", - " return 1/(1+np.e**(-z))\n", - " \n", - "def mse_on_toy_data(theta):\n", - " p_hat = sigmoid(toy_df['x'] * theta)\n", - " return np.mean((toy_df['y'] - p_hat)**2)\n", - "\n", - "thetas = np.linspace(-15, 5, 100)\n", - "plt.plot(thetas, [mse_on_toy_data(theta) for theta in thetas])\n", - "plt.title(\"MSE on toy classification data\")\n", - "plt.xlabel(r'$\\theta_1$')\n", - "plt.ylabel('MSE');" + "data": { + "image/png": "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\n", + "text/plain": [ + "
" ] - }, + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "p = win_rates_by_bin\n", + "odds = p/(1-p) \n", + "\n", + "plt.plot(odds.index, odds)\n", + "plt.xlabel(\"x\")\n", + "plt.ylabel(r\"Odds $= \\frac{p}{1-p}$\");" + ] + }, + { + "cell_type": "markdown", + "id": "3f575d4e", + "metadata": {}, + "source": [ + "It turns out that the relationship between our input `\"GOAL_DIFF\"` and the odds is roughly exponential! Let's linearize the exponential by taking the logarithm (as suggested by the [Tukey-Mosteller Bulge Diagram](https://ds100.org/course-notes/visualization_2/visualization_2.html#tukey-mosteller-bulge-diagram)). As a reminder, you should assume that any logarithm in Data 100 is the base $e$ natural logarithm unless told otherwise.\n" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "8390cdc5", + "metadata": {}, + "outputs": [ { - "cell_type": "markdown", - "id": "ef87f4be", - "metadata": {}, - "source": [ - "This looks nothing like the parabola we found when plotting the MSE of a linear regression model! In particular, we can identify two flaws with using the MSE for logistic regression:\n", - "\n", - "1. The MSE loss surface is *non-convex*. There is both a global minimum and a (barely perceptible) local minimum in the loss surface above. This means that there is the risk of gradient descent converging on the local minimum of the loss surface, missing the true optimum parameter $\\theta_1$.\n", - "2. Squared loss is *bounded* for a classification task. Recall that each true $y$ has a value of either 0 or 1. This means that even if our model makes the worst possible prediction (e.g. predicting $p=0$ for $y=1$), the squared loss for an observation will be no greater than 1: $$(y-p)^2=(1-0)^2=1$$ The MSE does not strongly penalize poor predictions.\n", - "\n", - "### Motivating Cross-Entropy Loss\n", - "Suffice to say, we don't want to use the MSE when working with logistic regression. Instead, we'll consider what kind of behavior we would *like* to see in a loss function.\n", - "\n", - "Let $y$ be the binary label ${0, 1}$, and $p$ be the model's predicted probability of the label being 1. \n", - "\n", - "* When the true $y$ is 1, we should incur *low* loss when the model predicts large $p$\n", - "* When the true $y$ is 0, we should incur *high* loss when the model predicts large $p$\n", - "\n", - "In other words, our loss function should behave differently depending on the value of the true class, $y$. \n", - "\n", - "The **cross-entropy loss** incorporates this changing behavior. We will use it throughout our work on logistic regression. Below, we write out the cross-entropy loss for a *single* datapoint (no averages just yet).\n", - "\n", - "$$\\text{Cross-Entropy Loss} = \\begin{cases}\n", - " -\\log{(p)} & \\text{if } y=1 \\\\\n", - " -\\log{(1-p)} & \\text{if } y=0\n", - "\\end{cases}$$\n", - "\n", - "Why does this (seemingly convoluted) loss function \"work\"? Let's break it down.\n", - "\n", - ":::: {.columns}\n", - "\n", - "::: {.column width=\"35%\"}\n", - "When $y=1$\n", - "
cross-entropy loss when Y=1
\n", - "\n", - "* As $p \\rightarrow 0$, loss approches $\\infty$\n", - "* As $p \\rightarrow 1$, loss approaches 0\n", - " \n", - ":::\n", - "\n", - "::: {.column width=\"20%\"}\n", - ":::\n", - "\n", - "::: {.column width=\"35%\"}\n", - "When $y=0$\n", - "
cross-entropy loss when Y=0
\n", - "\n", - "* As $p \\rightarrow 0$, loss approches 0\n", - "* As $p \\rightarrow 1$, loss approaches $\\infty$\n", - " \n", - ":::\n", - "\n", - "::::\n", - "\n", - "All good – we are seeing the behavior we want for our logistic regression model.\n", - "\n", - "The piecewise function we outlined above is difficult to optimize: we don't want to constantly \"check\" which form of the loss function we should be using at each step of choosing the optimal model parameters. We can re-express cross-entropy loss in a more convenient way:\n", - "\n", - "$$\\text{Cross-Entropy Loss} = -\\left(y\\log{(p)}-(1-y)\\log{(1-p)}\\right)$$\n", - "\n", - "By setting $y$ to 0 or 1, we see that this new form of cross-entropy loss gives us the same behavior as the original formulation. Another way to think about this is that in either scenario (y being equal to 0 or 1), only one of the cross-entropy loss terms is activated, which gives us a convenient way to combine the two independent loss functions.\n", - "\n", - ":::: {.columns}\n", - "\n", - "::: {.column width=\"35%\"}\n", - "When $y=1$:\n", - "\n", - "\\begin{align}\n", - "\\text{CE} &= -\\left((1)\\log{(p)}-(1-1)\\log{(1-p)}\\right)\\\\\n", - "&= -\\log{(p)}\n", - "\\end{align}\n", - ":::\n", - "\n", - "::: {.column width=\"20%\"}\n", - ":::\n", - "\n", - "::: {.column width=\"35%\"}\n", - "When $y=0$:\n", - "\n", - "\\begin{align}\n", - "\\text{CE} &= -\\left((0)\\log{(p)}-(1-0)\\log{(1-p)}\\right)\\\\\n", - "&= -\\log{(1-p)}\n", - "\\end{align}\n", - ":::\n", - "\n", - "::::\n", - "\n", - "The empirical risk of the logistic regression model is then the mean cross-entropy loss across all datapoints in the dataset. When fitting the model, we want to determine the model parameter $\\theta$ that leads to the lowest mean cross-entropy loss possible.\n", - "\n", - "$$R(\\theta) = - \\frac{1}{n} \\sum_{i=1}^n \\left(y_i\\log{(p_i)}-(1-y_i)\\log{(1-p_i)}\\right)$$\n", - "$$R(\\theta) = - \\frac{1}{n} \\sum_{i=1}^n \\left(y_i\\log{\\sigma(X_i^{\\top}\\theta)}-(1-y_i)\\log{1-\\sigma(X_i^{\\top}\\theta)}\\right)$$\n", - "\n", - "The optimization problem is therefore to find the estimate $\\hat{\\theta}$ that minimizes $R(\\theta)$:\n", - "\n", - "\\begin{align}\n", - "\\hat{\\theta} = \\underset{\\theta}{\\arg\\min} (- \\frac{1}{n} \\sum_{i=1}^n \\left(y_i\\log{\\sigma(X_i^{\\top}\\theta)}-(1-y_i)\\log{1-\\sigma(X_i^{\\top}\\theta)}\\right))\n", - "\\end{align}\n", - "\n", - "Plotting the cross-entropy loss surface for our `toy` dataset gives us a more encouraging result – our loss function is now convex. This means we can optimize it using gradient descent. Computing the gradient of the logistic model is fairly challenging, so we'll let `sklearn` take care of this for us. You won't need to compute the gradient of the logistic model in Data 100.\n" + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYkAAAEGCAYAAACQO2mwAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/MnkTPAAAACXBIWXMAAAsTAAALEwEAmpwYAAAkqElEQVR4nO3dd5hU9dnG8e9D70oHgQUNTUUFXBAQQVowGl81agqxRJMQTaIYUQNBqiagiEAUjahEUIOKoiR2QIoibRGQolQpS10Elu625/1jh2RVBnZnZ/bMLPfnuubanXbOPcdxb079mbsjIiJyIiWCDiAiIvFLJSEiImGpJEREJCyVhIiIhKWSEBGRsEoFHSDaatSo4Y0aNQo6hohIQlmyZMked6/53ceLXUk0atSIlJSUoGOIiCQUM9t8ose1uUlERMJSSYiISFgqCRERCUslISIiYakkREQkLJWEiIiEpZIQEZGwVBIiIgnuQMYBRiwawaGMQ1GftkpCRCSBuTsPfvIgr375KhvTN0Z9+glREmZW0syWmtnbQWcREYknE1dNZNbWWdybfC8X1rww6tNPiJIA+gBfBB1CRCSeLNm1hDGfjaFHwx7cdO5NMZlH3JeEmdUHrgKeCzqLiEi82HN0D/fPuZ96leoxtMNQzCwm84n7kgDGAA8AOeFeYGa9zSzFzFLS0tKKLJiISBCyc7LpN7cfBzIO8Pjlj1O5TOWYzSuuS8LMfgzsdvclJ3udu49392R3T65Z83tXuhURKVaeWv4UC3cuZMAlA2hWrVlM5xXXJQFcCvyfmW0CXgG6mtlLwUYSEQnOx6kfM/7z8VzX+Dqua3JdzOcX1yXh7v3dvb67NwJ+Dnzk7rHZOyMiEue2H9pO/0/607RqU/5yyV+KZJ5xXRIiIpIrIzuD++bcR3ZONo9f/jjlSpUrkvkmzMh07j4bmB1wDBGRQDyW8hgr9qxg9OWjaVilYZHNV2sSIiJx7v2v3mfyl5O5+byb6d6we5HOWyUhIhLHNqZvZPCng2lZsyV/uvhPRT5/lYSISJw6knmEvrP7UrZkWUZ2HknpEqWLPEPC7JMQETmduDsPLXiIDfs38I8e/6BOxTqB5NCahIhIHHp93eu8vfFt7mx5Jx3O6hBYDpWEiEicWfX1KoYvHM6lZ13K7y78XaBZVBIiInEk/Zt0+s7uS7Vy1Rh+2XBKWLB/prVPQkQkTrg7D857kF2Hd/HCj16garmqQUfSmoSISLx4YdULzN46m77Jfbmo5kVBxwFUEiIicSFlZwpjPxtLj4Y9+OW5vww6zn+pJEREArbn6B7un3s/9SvXZ1iHYTEbQCgS2ichIhKgrJws/jz3zxzKOMQzPZ6hUplKQUf6Fq1JiIgE6KllT7Fo5yIebPcgTas2DTrO96gkREQCMjd1Ls+ueJbrm1zPNY2vCTrOCakkREQCsP3Qdvp/3J/m1ZrTr22/oOOEpZIQESliGdkZ9J3dlxzP4fHORTeAUCS041pEpIiNXDySlV+vZMzlY2hQpUHQcU5KaxIiIkXo3Y3v8sqaV7j1vFvp1rBb0HFOKa5LwszKmdkiM1tuZqvMbGjQmUREIrVx/0aGzB9Cq1qt6HNxn6Dj5Eu8b276Bujq7ofMrDTwiZm95+4Lgg4mIlIQRzKPcO/seylfqjwjOwUzgFAk4rok3N2BQ6G7pUM3Dy6RiEjBuTvDFgxjY/pGxv9wPLUr1g46Ur7F9eYmADMraWbLgN3AdHdfeILX9DazFDNLSUtLK/KMIiInM2XtFN7Z+A5/aPkH2tVtF3ScAon7knD3bHdvCdQH2ppZixO8Zry7J7t7cs2aNYs8o4hIOKu+XsWIRSPoWK8jv73wt0HHKbC4L4nj3H0/MBu4ItgkIiL5c3wAoerlqzO8Y/ADCEUirhObWU0zOzP0e3mgO/BloKFERPIhx3MY8MkAdh3ZxWOdH+PMcmcGHSkicb3jGqgLTDSzkuQW2mvu/nbAmURETumfK//JnNQ59GvbL24GEIpEXJeEu38OtAo6h4hIQSzeuZi/L/07PRv1pFfzXkHHKZS43twkIpJo9hzdwwNzHyCpchJDOwyNqwGEIhHXaxIiIokkKyeLB+Y+wKGMQ4zvMZ6KpSsGHanQVBIiIlEybtk4Fu9czN86/o0mVZsEHScqtLlJRCQK5mydw3MrnuOGpjdw9Q+uDjpO1KgkREQKKfVgKv0/6c+51c6N6wGEIqGSEBEphIzsDPrO6QsOozqPomzJskFHiirtkxARKYRHFz/K6q9XM7bL2LgfQCgSWpMQEYnQOxvf4dU1r3Lb+bfRNalr0HFiQiUhIhKBDfs3MHT+UFrXas1dre8KOk7MqCRERAroWwMIdU6cAYQioX0SIiIF4O4MmT+ETQc28WyPZ6lVoVbQkWJKaxIiIgXw2prXeO+r9/hjyz/Stm7boOPEnNYkRETyITM7k+dWPMf4z8dzWb3L+PUFvw46UpFQSYiInMKKtBUM+nQQ6/ev56pzruIvl/wlIQcQikShSsLMst29ZLTCiIjEk6NZRxm3dBwvfvEiNcrXYFy3cXSq3ynoWEWqsGsSiX0NXBGRMBbtWMTgTweTeiiVG5veyJ8u/hOVy1QOOlaRK2xJeN47Zlbd3b8u5DRFRAJzMOMgjy95nNfXvk6Dyg2Y0HMCbeq0CTpWYKK2T8LM3gB2m1kV4Dl3nxWFaTYAJgF1gBxgvLuPLex0RUROZM7WOQxbMIw9R/fwq/N/xe9b/p7ypcoHHStQ0dxx/aW7DwAws3FAoUsCyAL6uvtnZlYZWGJm0919dRSmLSICwN5jexmxaATvffUejc9szNguY2lRo0XQseJCNEviCjPbCywn9497obn7DmBH6PeDZvYFUA9QSYhIobk77331HiMWjeBg5kF+3/L3/KbFbyhdsvieQV1QUS0JoA1wKVDTzCa6+63RmriZNQJaAQtP8FxvoDdAUlJStGYpIsXYrsO7eHjBw8xOnc0FNS5gaIehxWY0uWgydz/1q8K9uYgOgTWzSsAc4K/uPvVkr01OTvaUlJRYRxKRBOXuvLHuDUaljCIrJ4u7Wt3FL8/9JSVLnN5H85vZEndP/u7j+VqTyO9RS2ZWw933RBLwJNMsDbwBvHyqghAROZmtB7YyZP4QFu1cRNs6bRnSfkixHAMimk5ZEgU8amkC8H/RCmdmBjwPfOHuj0druiJyesnOyealL17iyaVPUqpEKQa3H8z1Ta4n90+MnEx+1iQKctRStJf4pcDNwAozWxZ67C/u/m6U5yMixdS6fesY/OlgVuxZweX1L+fBdg9Su2LtoGMljPyUREGOWop8B8eJJub+CTqrW0Qi8N8L8q0YT+XSlXm006Nc0egKrT0UUL5KgvwftaSlLyKBW7lnJQPnDWT9/vVcefaV9Gvbj6rlqgYdKyGdsiTcPQ14N3Q7lf6FTiQiEqGjWUd5atlTTFo9iRrla/Bk1yfp3KBz0LESWlQvFe7uK6M5PRGR/Fq8czFDPh3CloNbTusL8kWbxpMQkYR2MOMgo5eMZsraKTSo3IDnf/j8aTFiXFGJSUmY2Z/d/ZFYTFtE5Li5qXMZOn+oLsgXQ1EpCTObwv+ObDKgJaCSEJGY2HdsH48sfoR3Nr5D4zMbM+byMVxQ84KgYxVL0VqTSHf33xy/Y2ZPR2m6IiL/5e68v+l9hi8cnntBvot+z28u0AX5YilaI9P99TuPDyjkdEVEvmXX4V08vPBhZm/VBfmKUqFKwt1LhH5+9Z3H9xZmuiIix333gnz3Jd/HTefedNpfkK+o6OgmEYlbWw9uZeinQ1m4c6EuyBeQApeEmd17gofTgSXuvqzQiUTktHcg4wBvrntTF+SLA5GsSSSHbv8J3b8KWAzcYWZT3P3RaIUTkdPHvmP7mLV1FtM3T2fBjgVk5WTRuX5nHmz3IHUq1gk63mkrkpKoDrR290MAZjYYeB3oBCwBVBIiki9pR9KYuWUmMzbPIGVXCtmeTb1K9bjp3Jvo3rA7F9a4UGsPAYukJJKAjDz3M4GG7n7UzL6JTiwRKa52HNrBjC0zmLF5Bkt3L8VxGlVpxO0tbqdHwx40r9ZcxRBHIimJfwELzGwauYfA/hiYbGYVgdXRDCcixcOWA1uYvnk6MzbPYOXXuZd4a1q1KXe2vJMeST34wZk/UDHEqQKXhLs/ZGbvAh3JLYk73P34oNK/jGY4EUlcG/Zv+G8xrNm3BoDzq5/PPa3voXvD7jSs0jDghJIfkR4CmwXkkHspjszoxRGRROXurNm3hg83fciMLTP4Kv0rDKNlrZbcn3w/3Rt256xKZwUdUwookkNg+wC/Bd4gd03iJTMb7+5PRDtcaH4TyN2ktdvdW8RiHiISGXdnxZ4VzNg8g+mbp5N6KJUSVoLk2sn0at6LbkndqFmhZtAxpRAiWZP4NXCJux8GMLNHgPlATEoCeAF4EpgUo+mLSAFk52SzLG3Zfzcl7Tqyi1IlSnFJ3Uv4zQW/oUtSF6qVqxZ0TImSSErCgOw897OJ4bCl7j7XzBrFavoicmpZOVks3rmYGZtnMHPLTL4+9jVlSpShQ70O9Gndh84NOlOlTJWgY0oMRFIS/wQWmtmbofvXAs9HLVEEzKw30BsgKSkpyCgixUZGdgYLdixg+ubpzNo6i/Rv0ilfqjyX1buMHg17cFn9y6hYumLQMSXGIjm66XEzmwNcSu4axG3uvjTqyQqWaTwwHiA5OdlP8XIRCeNY1jHmbZvH9C3TmbN1DocyD1GpdCU6N+hMj6QedKjXQYP6nGYiOrrJ3ZeQe3a1iCS4w5mH+Tj1Y6Zvns7H2z7maNZRzih7Bj0a9qB7w+60q9uOMiXLBB1TApLvkjCzg/xv9LlvPQW4u2uDpEgCOZJ5hOdXPs+kVZM4ln2M6uWqc/U5V9O9YXeS6yRTuoQG8pEClIS7V45lkHDMbDJwOVDDzFKBwe4e6D4QkUTm7nyw+QNGpYxi5+Gd/KjRj/hZ85/RsmZLjdEg3xP340m4+y+CziBSXKzZu4YRi0aQsiuF5tWa88hlj9C6duugY0kci/uSEJHCS/8mnXHLxvHqmlepUqYKA9sN5Pom12vNQU4popIws67u/tHxn9EOJSLRkZ2TzRvr3uCJpU9wIOMAP236U/7Y6o+cUfaMoKNJgoh0TeIxoHWenyISZ5buXsrwhcP5Yu8XJNdOpl/bfjSr1izoWJJgCru5Sdf2FYkzuw7vYvRno3ln4zvUrlCbkZ1G0rNRT12KWyKifRIixURGdgaTVk9i/Ofjyc7JpveFvfl1i19ToXSFoKNJAlNJiBQDc1Pn8siiR9hycAtdG3Tlvjb30aByg6BjSTGgkhBJYJvSN/Ho4kf5eNvHNKrSiGe6P0OHeh2CjiXFSKQlcSj082C0gohI/h3OPMwznz/Di6tfpGzJstyXfB+9mveidEmdJS3RFem1mzrl/SkiRcPdeXvj24xeMpq0o2lc2/ha+rTuQ43yNYKOJsWUNjeJJIjVX69m+MLhLEtbRovqLRjTZQwX1rww6FhSzKkkROLc3mN7eWLpE7yx9g2qlqvKsA7DuKbxNZSwEkFHk9OASkIkTmXlZPHqmlcZt2wcRzOPcvN5N3PHRXdQuUwg19qU05RKQiQOLdqxiOGLhrN+/3ra121Pv7b9OOfMc4KOJachlYRIHNlxaAePpTzGh5s/pF6leozpMoauDbrqbGkJTIFLwsxuBN5394Nm9iC512562N0/i3o6kdPEsaxj/HPVP5mwYgIAf2j5B351/q8oV6pcwMnkdBfJmsRAd59iZh2BnuRe5O9p4JKoJhM5Dbg7M7fMZOTikWw/vJ2ejXrS9+K+1K1UN+hoIkBkJZEd+nkV8LS7TzOzIdGLJHJ62LB/AyMWjWDBjgU0qdqECR0n0KZOm6BjiXxLJCWxzcyeAboDj5hZWUDH4onk08GMgzy17CkmfzmZCqUr0L9tf37a7KeUKqFdhBJ/IvlW/hS4AnjM3febWV3g/ujG+h8zuwIYC5QEnnP3EbGal0gs5XgO09ZPY8xnY9h3bB83NL2Bu1rdRdVyVYOOJhJWgUvC3Y8AU/Pc3wHsiGao48ysJDAO6AGkAovN7N/uvjoW8xOJhcycTOZsncPzK55n5dcraVWrFU93f5rzqp8XdDSRU8p3SZjZvSd73t0fL3yc72kLrHf3jaEMrwDXACoJiXvbD23n9bWv89b6t0g7mkadinUYftlwrjr7Kh3SKgmjIGsSx0/zbAa0Af4dun81MDeaofKoB2zNcz+VExxFZWa9gd4ASUlJMYoicmpZOVl8nPoxU9ZO4ZNtnwDQsV5HBjUbRMd6HbXfQRJOvr+x7j4UwMw+BFq7+8HQ/SHAlJikO/HwqH6CbOOB8QDJycnfe14k1nYe3snUdVN5Y90b7D6ym5rla/LbC3/L9U2u56xKZwUdTyRikfyzJgnIyHM/A2gUlTTflwrkHV6rPrA9RvMSKZDsnGzmbZ/HlDVTmLttLu5Oh7M68Je2f6FTg06ULqGxHSTxRVISLwKLzOzN0P1rgUlRS/Rti4EmZnY2sA34OdArRvMSyZfdR3Yzdd1Upq6byo7DO6herjq3t7id65tcT/3K9YOOJxJVkRzd9Fczew+4jNxNP7e5+9KoJ8udV5aZ/RH4gNxDYCe4+6pYzEvkZHI8h/nb5zNl7RRmb51NtmfTrm477ku+jy4NumhEOCm2onF0Uxcz6xKjo5tw93eBd2MxbZFT2XN0D2+tf4vX177OtkPbqFq2Krecdws3NL2BpCo6SEKKv3g/ukmkyOV4Dot2LuK1Na8xa8sssjyLNnXa0Kd1H7oldaNMyTJBRxQpMvF+dJNIkdl7bC/T1k/j9bWvs+XgFs4oewa9zu3FDU1v4Owzzg46nkgg4v3oJpGYcndSdqUwZc0UZmyZQWZOJq1rtebOlnfSo2EPypYsG3REkUAV9ugmB64DJkY1lUiM7T+2n2kbctcaNh3YROUylflZs59xQ9Mb+MGZPwg6nkjcKOzRTRDDo5tEosnd+Wz3Z0xZO4Xpm6aTkZPBRTUv4uFLH6Zno54a4EfkBCIZma4cuZuYZgAb3P1Y1FOJRFH6N+m8vfFtpqyZwob0DVQqXYmfNPkJNza7kaZVmwYdTySuFeQQ2FLA34Dbgc3kjiFR38z+CQxw98zYRBQpOHdnedpypqydwgebPuCb7G+4oMYFDOswjJ6NelKhdIWgI4okhIKsSYwk9zDYs/Mc2VSF3OFLHwP6RD+eSMEcyzrGW+vf4rW1r7Fu3zoqlKrANT+4hhub3Ujzas2DjieScApSEj8Gmrr7fy+g5+4HzOxO4EtUEhKwnYd30mdWH1Z/vZpzq53L4PaDufLsK7XWIFIIBSkJz1sQeR7MNjNdeVUCtTxtOffMuocjmUcY02UM3ZK6BR1JpFgoyNjUq83slu8+aGY3kbsmIRKIaeuncdv7t1GuZDlevvJlFYRIFBVkTeIPwFQzux1YQu45Em2A8uSeKyFSpLJzshm9ZDQTV0+kbZ22jOo8ijPLnRl0LJFipSCX5dgGXGJmXYHzyR0QaJm7vxSrcCLhHMg4wANzH2Detnn8ovkvuL/N/Rq/QSQGIjmZ7iPgIwAz+wxQSUiR+ir9K+7+6G5SD6YyqP0gbmx6Y9CRRIqtwg64q9HcpUjN2zaP++fcT6kSpXj2h8+SXCc56EgixVphS+LZqKQQOQV358XVLzJqySgan9mYv3f9O/Uq1Qs6lkixV6iScPenohVEJJyM7AyGzR/GtA3T6JbUjb91/JvOfRApIpFcu+lEI9SlA0vcfVmhE/1vPjcCQ4BzgbbunhKtaUvi2HN0D/fMuoflacu586I7ueOiOyhhBTlyW0QKI5I1ieTQ7T+h+1cBi4E7zGyKuz8apWwrgZ8Az0RpepJgVn29ij4f9eFAxgFGdR7FDxv9MOhIIqedSEqiOrkj0x0CMLPBwOtAJ3LPn4hKSbj7F6HpR2NykmDe++o9Bs4bSLVy1Zj0o0m67pJIQKIxMl0m0NDdj5rZN9GJVTBm1hvoDZCUpMHpE1mO5/Dk0id5dsWztKrVitGXj6Z6+epBxxI5bUVSEv8CFpjZNHIPgf0xMNnMKgKrCzIhM5sB1DnBUwPcfVp+p+Pu44HxAMnJybqOVII6nHmYfh/3Y/bW2fykyU948JIHKV1SJ8iJBCmSk+keMrN3gY7klsQdeXYq/7KA0+pe0PlL8bT14Fbu/uhuvkr/in5t+9GreS9tahSJA5EeApsF5JB7/SYNNiSFsmjHIu6dcy/uztPdn6b9We2DjiQiIQU+ltDM+gAvAzWAWsBLZnZXtIOZ2XVmlgq0B94xsw+iPQ8J3itfvkLv6b2pXq46k6+arIIQiTORrEn8GrjE3Q8DmNkjwHzgiWgGc/c3gTejOU2JH5nZmYxYNILX1r5Gp/qdGHHZCCqXqRx0LBH5jkhKwoDsPPez0TWcpAD2HttL39l9SdmVwu0tbufuVndTskTJoGOJyAlEUhL/BBaa2fF/5V8LPB+1RFKsrdm7hj6z+pB2JI3hlw3nx+f8OOhIInISBd4n4e6PA7cBe4F9od9FTmnm5pnc/N7NZGZnMvFHE1UQIgkgoqOb3P0z4LPj90PnTIyJUiYpZtydZz5/hnHLxnFBjQsY02UMtSrUCjqWiORDYS8Vfpz2ScgJHck8wsB5A/lw84dcfc7VDO4wmLIlywYdS0TyKVolobOc5Xt2HNpBn1l9+HLvl/S9uC+3nn+rTpATSTD5LgkzO8iJy8CA8lFLJMXC0t1LuWfWPWRkZ/BktyfpVL9T0JFEJAL5Lgl310Hski9vrnuTYQuGUa9SPf7e9e+cc8Y5QUcSkQhFa3OTCFk5WYxKGcVLX7xE+7rtGdl5JGeUPSPoWCJSCCoJiYr0b9K5b859LNixgJvOvYm+yX0pVUJfL5FEp/+LpdA27t/IXR/dxfbD2xnWYRjXNbku6EgiEiUqCSmUualzeWDuA5QtWZYJPSfQqlaroCOJSBSpJCQi7s4Lq15g9JLRNK/WnLFdxlK3Ut2gY4lIlKkkpECyc7KZtXUWE1dNZFnaMno26slDlz5E+VI6ClqkOFJJSL4cyTzCW+vf4qUvXmLrwa3Uq1SPge0GcmPTG3WCnEgxppKQk0o7ksbkLyfz6ppXOZBxgAtrXsg9re+hW1I3Xd5b5DSgkpATWrdvHRNXTeTdr94lKyeLrkld+dX5v6JlrZZBRxORIhS3JWFmI4GrgQxgA3Cbu+8PNFQx5+7M3zGfSasmMW/7PMqXKs/1Ta7n5vNuJqlKUtDxRCQAcVsSwHSgv7tnhYZI7Q/8OeBMxVJmdibvbXqPiasmsnbfWmqUr8Hdre7mp81+qjOmRU5zcVsS7v5hnrsLgBuCylJcpX+TzpS1U5j8xWR2H91N4zMbM6zDMK465yrKlCwTdDwRiQNxWxLfcTvwargnzaw30BsgKUmbRU5l68GtvLT6Jd5c/yZHs47Srm47hl06jA5nddCRSiLyLYGWhJnNAOqc4KkB7j4t9JoBQBbwcrjpuPt4YDxAcnKyxrYIY3naciaumsjMLTMpYSW48uwrueW8W2hWrVnQ0UQkTgVaEu7e/WTPm9mtwI+Bbu6uP/4RyM7JZvbW2byw6gWWpS2jcpnK3Hb+bfyi+S+oXbF20PFEJM7F7eYmM7uC3B3Vnd39SNB5Es2RzCNM2zCNF1e/+N+T3/q17cd1ja+jQukKQccTkQQRtyUBPAmUBaaHtpMvcPc7go0U/46f/Pba2tdI/yZdJ7+JSKHEbUm4e+OgMySSdfvWMWn1JN7Z+I5OfhORqInbkpBTc3cW7FjAxFUTdfKbiMSESiIB6eQ3ESkqKokEopPfRKSoqSQSQOrBVF764iWmrpvK0ayjtK/bXie/iUiRUEnEsYMZB3l8yeNMXTdVJ7+JSCBUEnFqbupchs4fyp6je+jVvBe3tbiNWhVqBR1LRE4zKok4k/5NOo8ufpR/b/g3jc9szNguY2lRo0XQsUTkNKWSiCMzt8zk4QUPs//Yfn534e/ofWFv7ZAWkUCpJOLA3mN7Gb5wOO9vep/m1ZrzdPenaV6tedCxRERUEkFydz7Y9AF/W/g3DmYe5K5Wd3Fbi9soXaJ00NFERACVRGD2HN3DwwseZuaWmbSo3oKHLn2IxlV1JRIRiS8qiSLm7vxn4394ZNEjHMs6xr0X38vN591MqRL6TyEi8Ud/mYrQzsM7GTZ/GB9v+5hWtVoxtMNQzj7j7KBjiYiEpZIoAu7O1HVTeSzlMbI9m35t+/HzZj/XpbtFJO6pJGJs26FtDPl0CAt2LKBNnTYMbT+UBlUaBB1LRCRfVBIxkuM5vLrmVUYvGY1hDGw3kBua3kAJKxF0NBGRfFNJxMCWA1sY9OkgluxaQoezOjCk/RDqVqobdCwRkQJTSURRdk42L3/xMk8sfYLSJUozrMMwrm18ra7UKiIJK25LwsweAq4BcoDdwK/cfXuwqcLbmL6RQfMGsTxtOZ3rd2Zgu4HUrlg76FgiIoUStyUBjHT3gQBmdjcwCLgj2Ejfl5WTxQurXuDpZU9TvnR5hl82nKvOvkprDyJSLMRtSbj7gTx3KwIeVJZw1u5by8B5A1n99Wq6J3VnQLsB1ChfI+hYIiJRE7clAWBmfwVuAdKBLid5XW+gN0BSUlLMc2XmZPLciucY//l4qpSpwmOdH6Nno54xn6+ISFEz9+D+gW5mM4A6J3hqgLtPy/O6/kA5dx98qmkmJyd7SkpKFFN+2+qvVzNo3iDW7FvDj87+Ef3b9qdquaoxm5+ISFEwsyXunvzdxwNdk3D37vl86b+Ad4BTlkSsZGRn8I/l/2DCyglUK1eNsV3G0jWpa1BxRESKRNxubjKzJu6+LnT3/4Avg8ryedrnDJo3iA3pG7jmB9dwf5v7OaPsGUHFEREpMnFbEsAIM2tG7iGwmwngyKZjWccYt2wck1ZPomb5mjzd/Wk61utY1DFERAITtyXh7tcHOf/Pdn3GoE8HsfnAZm5seiP3XnwvlcpUCjKSiEiRi9uSCMqRzCOM/Wwsk7+czFmVzuLZHz5Lu7rtgo4lIhIIlUQeC3csZPCng9l2aBu9mveiT+s+VChdIehYIiKBUUmEjFw8kkmrJ5FUOYkXrniBi2tfHHQkEZHAqSRCGlRuwK3n3cofWv2B8qXKBx1HRCQuqCRCft7850FHEBGJOxoBR0REwlJJiIhIWCoJEREJSyUhIiJhqSRERCQslYSIiISlkhARkbBUEiIiElagI9PFgpmlkXtp8WirAeyJwXSLAy2bk9PyOTktn/CKctk0dPea332w2JVErJhZyomG9hMtm1PR8jk5LZ/w4mHZaHOTiIiEpZIQEZGwVBL5Nz7oAHFMy+bktHxOTssnvMCXjfZJiIhIWFqTEBGRsFQSIiISlkoiDzOrZmbTzWxd6GfVMK+bYGa7zWxlJO9PRAVYNleY2RozW29m/fI8PsTMtpnZstDtyqJLHxvhPmue583M/h56/nMza53f9xYHhVw+m8xsRei7klK0yYtGPpZPczObb2bfmNl9BXlvVLm7bqEb8CjQL/R7P+CRMK/rBLQGVkby/kS85eezASWBDcA5QBlgOXBe6LkhwH1Bf44oLo+wnzXPa64E3gMMaAcszO97E/1WmOUTem4TUCPozxHw8qkFtAH+mvf/naL+/mhN4tuuASaGfp8IXHuiF7n7XGBvpO9PUPn5bG2B9e6+0d0zgFdC7yuO8vNZrwEmea4FwJlmVjef7010hVk+p4NTLh933+3ui4HMgr43mlQS31bb3XcAhH7WKuL3x7P8fLZ6wNY891NDjx33x9BmhQnFYFPcqT7ryV6Tn/cmusIsHwAHPjSzJWbWO2Ypg1OY70CRfn9KxWrC8crMZgB1TvDUgKLOEm+isGzsBI8dP8b6aeCh0P2HgFHA7QXNGEdO9llP9Zr8vDfRFWb5AFzq7tvNrBYw3cy+DK3BFxeF+Q4U6ffntCsJd+8e7jkz22Vmdd19R2i1d3cBJ1/Y9wcqCssmFWiQ5359YHto2rvyTOtZ4O3opA5M2M+aj9eUycd7E11hlg/ufvznbjN7k9xNLMWpJPKzfGLx3gLT5qZv+zdwa+j3W4FpRfz+eJafz7YYaGJmZ5tZGeDnoffxnW3N1wErT/D+RBL2s+bxb+CW0FE87YD00Ka6/Lw30UW8fMysoplVBjCzisAPSfzvy3cV5jtQtN+foPfyx9MNqA7MBNaFflYLPX4W8G6e100GdpC7QykV+PXJ3l8cbgVYNlcCa8k9+mJAnsdfBFYAn4e+0HWD/kxRWCbf+6zAHcAdod8NGBd6fgWQfKrlVJxukS4fco/aWR66rTqNl0+d0N+XA8D+0O9Vivr7o8tyiIhIWNrcJCIiYakkREQkLJWEiIiEpZIQEZGwVBIiIhKWSkJERMJSSYiISFgqCZEYM7M2oQsblgudTbzKzFoEnUskP3QynUgRMLOHgXJAeSDV3YcHHEkkX1QSIkUgdI2dxcAxoIO7ZwccSSRftLlJpGhUAyoBlcldoxBJCFqTECkCZvZvckcQO5vcixv+MeBIIvly2o0nIVLUzOwWIMvd/2VmJYFPzayru38UdDaRU9GahIiIhKV9EiIiEpZKQkREwlJJiIhIWCoJEREJSyUhIiJhqSRERCQslYSIiIT1/0xk80hjvvU/AAAAAElFTkSuQmCC\n", + "text/plain": [ + "
" ] - }, + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "import numpy as np\n", + "log_odds = np.log(odds)\n", + "plt.plot(odds.index, log_odds, c=\"tab:green\")\n", + "plt.xlabel(\"x\")\n", + "plt.ylabel(r\"Log-Odds $= \\log{\\frac{p}{1-p}}$\");" + ] + }, + { + "cell_type": "markdown", + "id": "1259833e", + "metadata": {}, + "source": [ + "We see something promising – the relationship between the log-odds and our input feature is approximately linear. This means that we can use a linear model to describe the relationship between the log-odds and $x$. In other words:\n", + "\n", + "\\begin{align}\n", + "\\log{(\\frac{p}{1-p})} &= \\theta_0 + \\theta_1 x_i\\\\\n", + "&= x^{\\top} \\theta\n", + "\\end{align}\n", + "\n", + "Here, we use $x^{\\top}$ to represent an observation in our dataset, stored as a row vector. You can imagine it as a single row in our design matrix. $x^{\\top} \\theta$ indicates a linear combination of the features for this observation (just as we used in multiple linear regression). \n", + "\n", + "We're in good shape! We have now derived the following relationship:\n", + "\n", + "$$\\log{(\\frac{p}{1-p})} = x^{\\top} \\theta$$\n", + "\n", + "Remember that our goal is to predict the probability of a datapoint belonging to Class 1, $p$. Let's rearrange this relationship to uncover the original relationship between $p$ and our input data, $x^{\\top}$.\n", + "\n", + "\\begin{align}\n", + "\\log{(\\frac{p}{1-p})} &= x^T \\theta\\\\\n", + "\\frac{p}{1-p} &= e^{x^T \\theta}\\\\\n", + "p &= (1-p)e^{x^T \\theta}\\\\\n", + "p &= e^{x^T \\theta}- p e^{x^T \\theta}\\\\\n", + "p(1 + e^{x^T \\theta}) &= e^{x^T \\theta} \\\\\n", + "p &= \\frac{e^{x^T \\theta}}{1+e^{x^T \\theta}}\\\\\n", + "p &= \\frac{1}{1+e^{-x^T \\theta}}\\\\\n", + "\\end{align}\n", + "\n", + "Phew, that was a lot of algebra. What we've uncovered is the **logistic regression model** to predict the probability of a datapoint $x^{\\top}$ belonging to Class 1. If we plot this relationship for our data, we see the S-shaped curve from earlier!\n" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "0866d711", + "metadata": {}, + "outputs": [ { - "cell_type": "code", - "execution_count": null, - "id": "a96af6d2", - "metadata": {}, - "outputs": [], - "source": [ - "#| code-fold: true\n", - "def cross_entropy(y, p_hat):\n", - " return - y * np.log(p_hat) - (1 - y) * np.log(1 - p_hat)\n", - "\n", - "def mean_cross_entropy_on_toy_data(theta):\n", - " p_hat = sigmoid(toy_df['x'] * theta)\n", - " return np.mean(cross_entropy(toy_df['y'], p_hat))\n", - "\n", - "plt.plot(thetas, [mean_cross_entropy_on_toy_data(theta) for theta in thetas], color = 'green')\n", - "plt.ylabel(r'Mean Cross-Entropy Loss($\\theta$)')\n", - "plt.xlabel(r'$\\theta$');" + "data": { + "image/png": "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\n", + "text/plain": [ + "
" ] - }, + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "#| code-fold: true\n", + "# We'll discuss the `LogisticRegression` class next time\n", + "xs = np.linspace(-0.3, 0.3)\n", + "\n", + "logistic_model = lm.LogisticRegression(C=20)\n", + "logistic_model.fit(X, Y)\n", + "predicted_prob = logistic_model.predict_proba(xs[:, np.newaxis])[:, 1]\n", + "\n", + "sns.stripplot(data=games, x=\"GOAL_DIFF\", y=\"WON\", orient=\"h\", alpha=0.5)\n", + "plt.plot(xs, predicted_prob, c=\"k\", lw=3, label=\"Logistic regression model\")\n", + "plt.plot(win_rates_by_bin.index, win_rates_by_bin, lw=2, c=\"tab:red\", label=\"Graph of averages\")\n", + "plt.legend(loc=\"upper left\")\n", + "plt.gca().invert_yaxis();" + ] + }, + { + "cell_type": "markdown", + "id": "c7efea5e", + "metadata": {}, + "source": [ + "To predict a probability using the logistic regression model, we:\n", + "\n", + "1. Compute a linear combination of the features, $x^{\\top}\\theta$\n", + "2. Apply the sigmoid activation function, $\\sigma(x^{\\top} \\theta)$.\n", + "\n", + "Our predicted probabilities are of the form $P(Y=1|x) = p = \\frac{1}{1+e^{-(\\theta_0 + \\theta_1 x_1 + \\theta_2 x_2 + \\ldots + \\theta_p x_p)}}$\n", + "\n", + "An important note: despite its name, logistic regression is used for *classification* tasks, not regression tasks. In Data 100, we always apply logistic regression with the goal of classifying data.\n", + "\n", + "The S-shaped curve is formally known as the **sigmoid function** and is typically denoted by $\\sigma$. \n", + "\n", + "$$\\sigma(t) = \\frac{1}{1+e^{-t}}$$\n", + "\n", + "::: {.callout-tip}\n", + "## Properties of the Sigmoid\n", + "* Reflection/Symmetry: $1-\\sigma(t) = \\frac{e^{-t}}{1+e^{-t}}=\\sigma(-t)$\n", + "* Inverse: $t=\\sigma^{-1}(p)=\\log{(\\frac{p}{1-p})}$\n", + "* Derivative: $\\frac{d}{dz} \\sigma(t) = \\sigma(t) (1-\\sigma(t))=\\sigma(t)\\sigma(-t)$\n", + "* Domain: $-\\infty < t < \\infty$\n", + "* Range: $0 < \\sigma(t) < 1$\n", + ":::\n", + "\n", + "In the context of our modeling process, the sigmoid is considered an **activation function**. It takes in a linear combination of the features and applies a non-linear transformation.\n", + "\n", + "Let's summarize our logistic regression modeling workflow.\n", + "\n", + "
log_reg
\n", + "\n", + "Our main takeaways from this section are:\n", + "\n", + "* Assume log-odds is a linear combination of $x$ and $\\theta$\n", + "* Fit the \"S\" curve as best as possible\n", + "* The curve models the probability: $P = (Y=1 | x)$\n", + "\n", + "Putting this together, we know that the estimated probability that response is 1 given the features $x$ is equal to the logistic function $\\sigma()$ at the value $x^{\\top}\\theta$:\n", + "\n", + "\\begin{align}\n", + "\\hat{P}_{\\theta}(Y = 1 | x) = \\frac{1}{1 + e^{-x^{\\top}\\theta}}\n", + "\\end{align}\n", + "\n", + "More commonly, the logistic regression model is written as:\n", + "\n", + "\\begin{align}\n", + "\\hat{P}_{\\theta}(Y = 1 | x) = \\sigma(x^{\\top}\\theta)\n", + "\\end{align}\n", + "\n", + "\n", + "::: {.callout-tip}\n", + "## Properties of the Logistic Model\n", + "Consider a logistic regression model with one feature and an intercept term:\n", + "\n", + "\\begin{align}\n", + "p = P(Y = 1 | x) = \\frac{1}{1+e^{-(\\theta_0 + \\theta_1 x)}}\n", + "\\end{align}\n", + "\n", + "Properties:\n", + "\n", + "* $\\theta_0$ controls the position of the curve along the horizontal axis\n", + "* The magnitude of $\\theta_1$ controls the \"steepness\" of the sigmoid\n", + "* The sign of $\\theta_1$ controls the orientation of the curve\n", + "\n", + ":::\n", + "\n", + "::: {.callout collapse=\"true\"}\n", + "## Example Calculation\n", + "Suppose we want to predict the probability that a team wins a game, given `\"GOAL_DIFF\"` (first feature) and the number of free throws (second feature). Let's say we fit a logistic regression model (with no intercept) using the training data and estimate the optimal parameters. Now we want to predict the probability that a new team will win their game.\n", + "\n", + "\\begin{align}\n", + "\\hat{\\theta}^{\\top} = \\begin{matrix}[0.1 & -0.5]\\end{matrix}\n", + "\\\\x^{\\top} = \\begin{matrix}[15 & 1]\\end{matrix}\n", + "\\end{align}\n", + "\n", + "\\begin{align}\n", + "\\hat{P}_{\\hat{\\theta}}(Y = 1 | x) = \\sigma(x^{\\top}\\hat{\\theta}) = \\sigma(0.1 \\cdot 15 + (-0.5) \\cdot 1) = \\sigma(1) = \\frac{1}{1+e^{-1}} \\approx 0.7311\n", + "\\end{align}\n", + "\n", + "We see that the response is more likely to be 1 than 0, indicating that a reasonable prediction is $\\hat{y} = 1$. We'll dive deeper into this in the next lecture.\n", + "\n", + ":::\n", + "\n", + "\n", + "## Cross-Entropy Loss\n", + "\n", + "To quantify the error of our logistic regression model, we'll need to define a loss function. \n", + "\n", + "### Why Not MSE?\n", + "You may wonder: why not use our familiar mean squared error? It turns out that the MSE is not well suited for logistic regression. To see why, let's consider a simple, artificially generated `toy` dataset (this will be easier to work with than the more complicated `games` data).\n" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "cc327884", + "metadata": {}, + "outputs": [ { - "cell_type": "markdown", - "id": "e1258105", - "metadata": {}, - "source": [ - "## (Bonus) Maximum Likelihood Estimation\n", - "\n", - "It may have seemed like we pulled cross-entropy loss out of thin air. How did we know that taking the negative logarithms of our probabilities would work so well? It turns out that cross-entropy loss is justified by probability theory.\n", - "\n", - "The following section is out of scope, but is certainly an interesting read!\n", - "\n", - "### Building Intuition: The Coin Flip\n", - "To build some intuition for logistic regression, let’s look at an introductory example to classification: the coin flip. Suppose we observe some outcomes of a coin flip (1 = Heads, 0 = Tails).\n" + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
xy
0-4.00
1-2.00
2-0.51
31.00
43.01
\n", + "
" + ], + "text/plain": [ + " x y\n", + "0 -4.0 0\n", + "1 -2.0 0\n", + "2 -0.5 1\n", + "3 1.0 0\n", + "4 3.0 1" ] - }, + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "#| code-fold: true\n", + "toy_df = pd.DataFrame({\n", + " \"x\": [-4, -2, -0.5, 1, 3, 5],\n", + " \"y\": [0, 0, 1, 0, 1, 1]})\n", + "toy_df.head()" + ] + }, + { + "cell_type": "markdown", + "id": "f25317d0", + "metadata": {}, + "source": [ + "We'll construct a basic logistic regression model with only one feature and no intercept term. Our predicted probabilities take the form:\n", + "\n", + "$$p=P(Y=1|x)=\\frac{1}{1+e^{-\\theta_1 x}}$$\n", + "\n", + "In the cell below, we plot the MSE for our model on the data.\n" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "7ff3a8d0", + "metadata": {}, + "outputs": [ { - "cell_type": "code", - "execution_count": null, - "id": "2ac5820b", - "metadata": {}, - "outputs": [], - "source": [ - "flips = [0, 0, 1, 1, 1, 1, 0, 0, 0, 0]\n", - "flips" + "data": { + "image/png": "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\n", + "text/plain": [ + "
" ] - }, + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "#| code-fold: true\n", + "def sigmoid(z):\n", + " return 1/(1+np.e**(-z))\n", + " \n", + "def mse_on_toy_data(theta):\n", + " p_hat = sigmoid(toy_df['x'] * theta)\n", + " return np.mean((toy_df['y'] - p_hat)**2)\n", + "\n", + "thetas = np.linspace(-15, 5, 100)\n", + "plt.plot(thetas, [mse_on_toy_data(theta) for theta in thetas])\n", + "plt.title(\"MSE on toy classification data\")\n", + "plt.xlabel(r'$\\theta_1$')\n", + "plt.ylabel('MSE');" + ] + }, + { + "cell_type": "markdown", + "id": "ef87f4be", + "metadata": {}, + "source": [ + "This looks nothing like the parabola we found when plotting the MSE of a linear regression model! In particular, we can identify two flaws with using the MSE for logistic regression:\n", + "\n", + "1. The MSE loss surface is *non-convex*. There is both a global minimum and a (barely perceptible) local minimum in the loss surface above. This means that there is the risk of gradient descent converging on the local minimum of the loss surface, missing the true optimum parameter $\\theta_1$.\n", + "2. Squared loss is *bounded* for a classification task. Recall that each true $y$ has a value of either 0 or 1. This means that even if our model makes the worst possible prediction (e.g. predicting $p=0$ for $y=1$), the squared loss for an observation will be no greater than 1: $$(y-p)^2=(1-0)^2=1$$ The MSE does not strongly penalize poor predictions.\n", + "\n", + "### Motivating Cross-Entropy Loss\n", + "Suffice to say, we don't want to use the MSE when working with logistic regression. Instead, we'll consider what kind of behavior we would *like* to see in a loss function.\n", + "\n", + "Let $y$ be the binary label ${0, 1}$, and $p$ be the model's predicted probability of the label being 1. \n", + "\n", + "* When the true $y$ is 1, we should incur *low* loss when the model predicts large $p$\n", + "* When the true $y$ is 0, we should incur *high* loss when the model predicts large $p$\n", + "\n", + "In other words, our loss function should behave differently depending on the value of the true class, $y$. \n", + "\n", + "The **cross-entropy loss** incorporates this changing behavior. We will use it throughout our work on logistic regression. Below, we write out the cross-entropy loss for a *single* datapoint (no averages just yet).\n", + "\n", + "$$\\text{Cross-Entropy Loss} = \\begin{cases}\n", + " -\\log{(p)} & \\text{if } y=1 \\\\\n", + " -\\log{(1-p)} & \\text{if } y=0\n", + "\\end{cases}$$\n", + "\n", + "Why does this (seemingly convoluted) loss function \"work\"? Let's break it down.\n", + "\n", + ":::: {.columns}\n", + "\n", + "::: {.column width=\"35%\"}\n", + "When $y=1$\n", + "
cross-entropy loss when Y=1
\n", + "\n", + "* As $p \\rightarrow 0$, loss approches $\\infty$\n", + "* As $p \\rightarrow 1$, loss approaches 0\n", + " \n", + ":::\n", + "\n", + "::: {.column width=\"20%\"}\n", + ":::\n", + "\n", + "::: {.column width=\"35%\"}\n", + "When $y=0$\n", + "
cross-entropy loss when Y=0
\n", + "\n", + "* As $p \\rightarrow 0$, loss approches 0\n", + "* As $p \\rightarrow 1$, loss approaches $\\infty$\n", + " \n", + ":::\n", + "\n", + "::::\n", + "\n", + "All good – we are seeing the behavior we want for our logistic regression model.\n", + "\n", + "The piecewise function we outlined above is difficult to optimize: we don't want to constantly \"check\" which form of the loss function we should be using at each step of choosing the optimal model parameters. We can re-express cross-entropy loss in a more convenient way:\n", + "\n", + "$$\\text{Cross-Entropy Loss} = -\\left(y\\log{(p)}-(1-y)\\log{(1-p)}\\right)$$\n", + "\n", + "By setting $y$ to 0 or 1, we see that this new form of cross-entropy loss gives us the same behavior as the original formulation. Another way to think about this is that in either scenario (y being equal to 0 or 1), only one of the cross-entropy loss terms is activated, which gives us a convenient way to combine the two independent loss functions.\n", + "\n", + ":::: {.columns}\n", + "\n", + "::: {.column width=\"35%\"}\n", + "When $y=1$:\n", + "\n", + "\\begin{align}\n", + "\\text{CE} &= -\\left((1)\\log{(p)}-(1-1)\\log{(1-p)}\\right)\\\\\n", + "&= -\\log{(p)}\n", + "\\end{align}\n", + ":::\n", + "\n", + "::: {.column width=\"20%\"}\n", + ":::\n", + "\n", + "::: {.column width=\"35%\"}\n", + "When $y=0$:\n", + "\n", + "\\begin{align}\n", + "\\text{CE} &= -\\left((0)\\log{(p)}-(1-0)\\log{(1-p)}\\right)\\\\\n", + "&= -\\log{(1-p)}\n", + "\\end{align}\n", + ":::\n", + "\n", + "::::\n", + "\n", + "The empirical risk of the logistic regression model is then the mean cross-entropy loss across all datapoints in the dataset. When fitting the model, we want to determine the model parameter $\\theta$ that leads to the lowest mean cross-entropy loss possible.\n", + "\n", + "$$R(\\theta) = - \\frac{1}{n} \\sum_{i=1}^n \\left(y_i\\log{(p_i)}-(1-y_i)\\log{(1-p_i)}\\right)$$\n", + "$$R(\\theta) = - \\frac{1}{n} \\sum_{i=1}^n \\left(y_i\\log{\\sigma(X_i^{\\top}\\theta)}-(1-y_i)\\log{(1-\\sigma(X_i^{\\top}\\theta))}\\right)$$\n", + "\n", + "The optimization problem is therefore to find the estimate $\\hat{\\theta}$ that minimizes $R(\\theta)$:\n", + "\n", + "\\begin{align}\n", + "\\hat{\\theta} = \\underset{\\theta}{\\arg\\min} (- \\frac{1}{n} \\sum_{i=1}^n \\left(y_i\\log{\\sigma(X_i^{\\top}\\theta)}-(1-y_i)\\log{(1-\\sigma(X_i^{\\top}\\theta))}\\right))\n", + "\\end{align}\n", + "\n", + "Plotting the cross-entropy loss surface for our `toy` dataset gives us a more encouraging result – our loss function is now convex. This means we can optimize it using gradient descent. Computing the gradient of the logistic model is fairly challenging, so we'll let `sklearn` take care of this for us. You won't need to compute the gradient of the logistic model in Data 100.\n" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "id": "a96af6d2", + "metadata": {}, + "outputs": [ { - "cell_type": "markdown", - "id": "4e402ca7", - "metadata": {}, - "source": [ - "A reasonable model is to assume all flips are IID (independent and identically distributed). In other words, each flip has the same probability of returning a 1 (or heads). Let's define a parameter $\\theta$, the probability that the next flip is a heads. We will use this parameter to inform our decision for $\\hat y$ (predicting either 0 or 1) of the next flip. If $\\theta \\ge 0.5, \\hat y = 1, \\text{else } \\hat y = 0$.\n", - "\n", - "You may be inclined to say $0.5$ is the best choice for $\\theta$. However, notice that we made no assumption about the coin itself. The coin may be biased, so we should make our decision based only on the data. We know that exactly $\\frac{4}{10}$ of the flips were heads, so we might guess $\\hat \\theta = 0.4$. In the next section, we will mathematically prove why this is the best possible estimate.\n", - "\n", - "### Likelihood of Data\n", - "\n", - "Let's call the result of the coin flip a random variable $Y$. This is a Bernoulli random variable with two outcomes. $Y$ has the following distribution: \n", - "\n", - "$$P(Y = y) = \\begin{cases}\n", - " p, \\text{if } y=1\\\\\n", - " 1 - p, \\text{if } y=0\n", - " \\end{cases} $$\n", - "\n", - "$p$ is unknown to us. But we can find the $p$ that makes the data we observed the most *likely*.\n", - "\n", - "The probability of observing 4 heads and 6 tails follows the binomial distribution.\n", - "\n", - "$$\\binom{10}{4} (p)^4 (1-p)^6$$ \n", - "\n", - "We define the **likelihood** of obtaining our observed data as a quantity *proportional* to the probability above. To find it, simply multiply the probabilities of obtaining each coin flip.\n", - "\n", - "$$(p)^{4} (1-p)^6$$ \n", - "\n", - "The technique known as **maximum likelihood estimation** finds the $p$ that maximizes the above likelihood. You can find this maximum by taking the derivative of the likelihood, but we'll provide a more intuitive graphical solution.\n" + "data": { + "image/png": "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\n", + "text/plain": [ + "
" ] - }, + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "#| code-fold: true\n", + "def cross_entropy(y, p_hat):\n", + " return - y * np.log(p_hat) - (1 - y) * np.log(1 - p_hat)\n", + "\n", + "def mean_cross_entropy_on_toy_data(theta):\n", + " p_hat = sigmoid(toy_df['x'] * theta)\n", + " return np.mean(cross_entropy(toy_df['y'], p_hat))\n", + "\n", + "plt.plot(thetas, [mean_cross_entropy_on_toy_data(theta) for theta in thetas], color = 'green')\n", + "plt.ylabel(r'Mean Cross-Entropy Loss($\\theta$)')\n", + "plt.xlabel(r'$\\theta$');" + ] + }, + { + "cell_type": "markdown", + "id": "e1258105", + "metadata": {}, + "source": [ + "## (Bonus) Maximum Likelihood Estimation\n", + "\n", + "It may have seemed like we pulled cross-entropy loss out of thin air. How did we know that taking the negative logarithms of our probabilities would work so well? It turns out that cross-entropy loss is justified by probability theory.\n", + "\n", + "The following section is out of scope, but is certainly an interesting read!\n", + "\n", + "### Building Intuition: The Coin Flip\n", + "To build some intuition for logistic regression, let’s look at an introductory example to classification: the coin flip. Suppose we observe some outcomes of a coin flip (1 = Heads, 0 = Tails).\n" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "2ac5820b", + "metadata": {}, + "outputs": [ { - "cell_type": "code", - "execution_count": null, - "id": "37b6e65c", - "metadata": {}, - "outputs": [], - "source": [ - "thetas = np.linspace(0, 1)\n", - "plt.plot(thetas, (thetas**4)*(1-thetas)**6)\n", - "plt.xlabel(r\"$\\theta$\")\n", - "plt.ylabel(\"Likelihood\");" + "data": { + "text/plain": [ + "[0, 0, 1, 1, 1, 1, 0, 0, 0, 0]" ] - }, + }, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "flips = [0, 0, 1, 1, 1, 1, 0, 0, 0, 0]\n", + "flips" + ] + }, + { + "cell_type": "markdown", + "id": "4e402ca7", + "metadata": {}, + "source": [ + "A reasonable model is to assume all flips are IID (independent and identically distributed). In other words, each flip has the same probability of returning a 1 (or heads). Let's define a parameter $\\theta$, the probability that the next flip is a heads. We will use this parameter to inform our decision for $\\hat y$ (predicting either 0 or 1) of the next flip. If $\\theta \\ge 0.5, \\hat y = 1, \\text{else } \\hat y = 0$.\n", + "\n", + "You may be inclined to say $0.5$ is the best choice for $\\theta$. However, notice that we made no assumption about the coin itself. The coin may be biased, so we should make our decision based only on the data. We know that exactly $\\frac{4}{10}$ of the flips were heads, so we might guess $\\hat \\theta = 0.4$. In the next section, we will mathematically prove why this is the best possible estimate.\n", + "\n", + "### Likelihood of Data\n", + "\n", + "Let's call the result of the coin flip a random variable $Y$. This is a Bernoulli random variable with two outcomes. $Y$ has the following distribution: \n", + "\n", + "$$P(Y = y) = \\begin{cases}\n", + " p, \\text{if } y=1\\\\\n", + " 1 - p, \\text{if } y=0\n", + " \\end{cases} $$\n", + "\n", + "$p$ is unknown to us. But we can find the $p$ that makes the data we observed the most *likely*.\n", + "\n", + "The probability of observing 4 heads and 6 tails follows the binomial distribution.\n", + "\n", + "$$\\binom{10}{4} (p)^4 (1-p)^6$$ \n", + "\n", + "We define the **likelihood** of obtaining our observed data as a quantity *proportional* to the probability above. To find it, simply multiply the probabilities of obtaining each coin flip.\n", + "\n", + "$$(p)^{4} (1-p)^6$$ \n", + "\n", + "The technique known as **maximum likelihood estimation** finds the $p$ that maximizes the above likelihood. You can find this maximum by taking the derivative of the likelihood, but we'll provide a more intuitive graphical solution.\n" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "id": "37b6e65c", + "metadata": {}, + "outputs": [ { - "cell_type": "markdown", - "id": "97f0286d", - "metadata": {}, - "source": [ - "More generally, the likelihood for some Bernoulli($p$) random variable $Y$ is:\n", - "\n", - "$$P(Y = y) = \\begin{cases}\n", - " 1, \\text{with probability } p\\\\\n", - " 0, \\text{with probability } 1 - p\n", - " \\end{cases} $$\n", - " \n", - "Equivalently, this can be written in a compact way:\n", - "\n", - "$$P(Y=y) = p^y(1-p)^{1-y}$$\n", - "\n", - "- When $y = 1$, this reads $P(Y=y) = p$\n", - "- When $y = 0$, this reads $P(Y=y) = (1-p)$\n", - "\n", - "In our example, a Bernoulli random variable is analogous to a single data point (e.g., one instance of a basketball team winning or losing a game). All together, our `games` data consists of many IID Bernoulli($p$) random variables. To find the likelihood of independent events in succession, simply multiply their likelihoods.\n", - "\n", - "$$\\prod_{i=1}^{n} p^{y_i} (1-p)^{1-y_i}$$\n", - "\n", - "As with the coin example, we want to find the parameter $p$ that maximizes this likelihood. Earlier, we gave an intuitive graphical solution, but let's take the derivative of the likelihood to find this maximum.\n", - "\n", - "At a first glance, this derivative will be complicated! We will have to use the product rule, followed by the chain rule. Instead, we can make an observation that simplifies the problem. \n", - "\n", - "Finding the $p$ that maximizes $$\\prod_{i=1}^{n} p^{y_i} (1-p)^{1-y_i}$$ is equivalent to the $p$ that maximizes $$\\text{log}(\\prod_{i=1}^{n} p^{y_i} (1-p)^{1-y_i})$$\n", - "\n", - "This is because $\\text{log}$ is a strictly *increasing* function. It won't change the maximum or minimum of the function it was applied to. From $\\text{log}$ properties, $\\text{log}(a*b)$ = $\\text{log}(a) + \\text{log}(b)$. We can apply this to our equation above to get:\n", - "\n", - "$$\\underset{p}{\\text{argmax}} \\sum_{i=1}^{n} \\text{log}(p^{y_i} (1-p)^{1-y_i})$$\n", - "\n", - "$$= \\underset{p}{\\text{argmax}} \\sum_{i=1}^{n} (\\text{log}(p^{y_i}) + \\text{log}((1-p)^{1-y_i}))$$\n", - "\n", - "$$= \\underset{p}{\\text{argmax}} \\sum_{i=1}^{n} (y_i\\text{log}(p) + (1-y_i)\\text{log}(1-p))$$\n", - "\n", - "We can add a constant factor of $\\frac{1}{n}$ out front. It won't affect the $p$ that maximizes our likelihood.\n", - "\n", - "$$=\\underset{p}{\\text{argmax}} \\frac{1}{n} \\sum_{i=1}^{n} y_i\\text{log}(p) + (1-y_i)\\text{log}(1-p)$$\n", - "\n", - "One last \"trick\" we can do is change this to a minimization problem by negating the result. This works because we are dealing with a *concave* function, which can be made *convex*.\n", - "\n", - "$$= \\underset{p}{\\text{argmin}} -\\frac{1}{n} \\sum_{i=1}^{n} y_i\\text{log}(p) + (1-y_i)\\text{log}(1-p)$$\n", - "\n", - "Now let's say that we have data that are independent with different probability $p_i$. Then, we would want to find the $p_1, p_2, \\dots, p_n$ that maximize $$\\prod_{i=1}^{n} p_i^{y_i} (1-p_i)^{1-y_i}$$\n", - "\n", - "Setting up and simplifying the optimization problems as we did above, we ultimately want to find:\n", - "\n", - "$$= \\underset{p}{\\text{argmin}} -\\frac{1}{n} \\sum_{i=1}^{n} y_i\\text{log}(p_i) + (1-y_i)\\text{log}(1-p_i)$$\n", - "\n", - "For logistic regression, $p_i = \\sigma(x^{\\top}\\theta)$. Plugging that in, we get: \n", - "\n", - "$$= \\underset{p}{\\text{argmin}} -\\frac{1}{n} \\sum_{i=1}^{n} y_i\\text{log}(\\sigma(x^{\\top}\\theta)) + (1-y_i)\\text{log}(1-\\sigma(x^{\\top}\\theta))$$\n", - "\n", - "This is exactly our average cross-entropy loss minimization problem from before! \n", - "\n", - "Why did we do all this complicated math? We have shown that *minimizing* cross-entropy loss is equivalent to *maximizing* the likelihood of the training data.\n", - "\n", - "- By minimizing cross-entropy loss, we are choosing the model parameters that are \"most likely\" for the data we observed.\n", - "\n", - "Note that this is under the assumption that all data is drawn independently from the same logistic regression model with parameter $\\theta$. In fact, many of the model + loss combinations we've seen can be motivated using MLE (e.g., OLS, Ridge Regression, etc.). In probability and ML classes, you'll get the chance to explore MLE further. \n" + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAZUAAAEICAYAAACXo2mmAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/MnkTPAAAACXBIWXMAAAsTAAALEwEAmpwYAAAw/ElEQVR4nO3deXhV1bn48e+bOUBCGBICGRjDLCCGgBMgdQC0oteqoFZqbRGnDtfeW62/3trbO1h7O+it1at1ACccqoICIkXFkSHIEMIYwpQAIUyBkDl5f3+cjY0xwwHOyT7D+3me85xz9l5rn3dJPO/Za6+9lqgqxhhjjC9EuB2AMcaY0GFJxRhjjM9YUjHGGOMzllSMMcb4jCUVY4wxPhPldgBu6t69u/bp08ftMIwxJqisWbPmkKomN7cvrJNKnz59yM3NdTsMY4wJKiKyu6V91v1ljDHGZyypGGOM8RlLKsYYY3zGkooxxhif8WtSEZHJIrJVRApE5P5m9ouIPObs3yAio9uqKyLXi0i+iDSISHaj7ZeJyBoRyXOeJ/mzbcYYY77Jb0lFRCKBx4EpwFBghogMbVJsCpDlPGYBT3hRdyPwT8DHTY51CPi2qp4DzARe8HWbjDHGtM6fQ4pzgAJVLQQQkXnANGBTozLTgLnqmSp5hYgkiUhPoE9LdVV1s7Ptax+mqmsbvc0H4kQkVlWr/dE4Y4wx3+TPpJIG7G30vggY60WZNC/rtuY6YG1zCUVEZuE5KyIzM/M0DmnCQdHRCkpPVFNeXUd5VR0nquo4UV1HRXUdY/t1I6dvV7dDNCag+TOpSDPbmi7e0lIZb+o2/6Eiw4DfApc3t19VnwKeAsjOzrbFZAwApSeq+c+Fm3h73b5Wy+X07cqPJmVx4YBu3zhbNsb4N6kUARmN3qcDTf+PbalMjBd1v0FE0oG3gFtVdccZxGzCTH2D8vKqPTzy3haqauu5a2J/svt0ISEumk6xUSTERZEQG01kpPB67l7+b3khtzyzklEZSdw7aQCTBqdYcjGmEX8mldVAloj0BYqB6cBNTcosAO5xrpmMBcpUdb+IlHpR92tEJAlYCDygqp/5tCUmJG0sLuPBt/JYX1TGBf278ZtrhtM/uVOL5W+7sC83jc3kjTVFPPHRDm6fk8vQnon8vyuHcMGA7u0YuTGBy2+jv1S1DrgHWAJsBl5T1XwRmS0is51ii4BCoAB4GrirtboAInKtiBQB5wMLRWSJc6x7gAHAL0VknfNI8Vf7TPCqqKnjoQX5XP3nTyk+VsWj00fx0g/GtppQTomNiuTmsb358GcT+d13RnCypo6Zz61iSf6BdojcmMAn4bxGfXZ2ttqEkuGlrr6BH87N5aNtpdwytjc/u2IQneOjz/h4x6tqmfnsKvKKyvjzTecyeXhPH0ZrTGASkTWqmt3cPruj3oQNVeXf393Eh1tL+Y9rhvOba4afVUIBSIyLZu73cxiZkcTdL69lUd5+H0VrTHCypGLCxnOf7WLuF7uZNb4fN4/t7bPjJsRFM+f7OZybkcS9r6zl3Q1tjikxJmRZUjFhYemmEn6zcBOTh6Vy/+TBPj9+p9gonv9+DudlduHH89axYL0lFhOeLKmYkJdXVMaPXlnLiLTO/PHGUURE+GcIcKfYKJ67bQzZvbvwk3lrmb+u2C+fY0wgs6RiQtq+Y5XcPmc1XTvG8PTMbOJjIv36eR2dxJLTtyv3vbaejcVlfv08YwKNJRUTssqr6/j+86uprKnn2e+NISUhrl0+t0NMFE/ech7dOsXw01fXUVVb3y6fa0wgsKRiQtaDb+Wx/WA5j988mkGpCe362UkdYnjkOyPZfrCc3y3Z2q6fbYybLKmYkLSi8DDz1+3j7on9GT8w2ZUYJgxMZub5vXnm0518XnDIlRiMaW+WVEzIqatv4KEF+aQlxXPnxAGuxnL/lCH0S+7Iz15fT1llrauxGNMeLKmYkPPiit1sOXCCX1411O8X5tsSHxPJH28YRcmJah5akO9qLMa0B0sqJqQcKq/m90u3cXFWd64Y1sPtcAAYmZHEjyZl8dbaYhZusDvuTWizpGJCyiPvbaGypp5ffXtYQE1Jf/cl/RmZkcSDb+dRcrzK7XCM8RtLKiZkrN1zlNdyi7j9or4MSGl7xuH2FBUZwR9vGElVbT3/8sYGwnkiVxPaLKmYkNDQoPxqQT4pCbHc+60st8NpVr/kTvxi6hA+3lbKu9YNZkKUJRUTEl7L3cuGojIevHIInWL9ufbc2bl5bG8GpybwuyVbqa6zmyJN6LGkYoLesYoafvveFnL6dOXqkb3cDqdVkRHCA1OHsOdIBS+u2ON2OMb4nCUVE/T+uHQbZZW1/HpaYF2cb8n4rO5cNKA7//vBdrt3xYQcSyomqB0oq+LlVXuYnpPJkJ6JbofjFRHh/imDKaus5S8fFbgdjjE+ZUnFBLVnP9tJg8KdE/q7HcppGZ7WmWtHpfHcZ7soPlbpdjjG+IwlFRO0yipreXnlHq48pycZXTu4Hc5pu++KQQD83iacNCHEkooJWi+u2E15dR13TOjndihnJC0pntsu7MNb64pt3RUTMiypmKBUVVvPc5/tYvzAZIb16ux2OGfsrokD6BwfzcOLt9gNkSYkWFIxQelvXxZxqLya2UF6lnJK5/ho7p2UxacFh/h4u02Pb4KfJRUTdOoblKc/LmRkemfO79fN7XDO2nfH9Sazawf+e9Fm6hvsbMUEN78mFRGZLCJbRaRARO5vZr+IyGPO/g0iMrqtuiJyvYjki0iDiGQ3Od4DTvmtInKFP9tm3PPexgPsOlzB7An9g+K+lLbEREXwL1cMYsuBEyxYX+x2OMacFb8lFRGJBB4HpgBDgRkiMrRJsSlAlvOYBTzhRd2NwD8BHzf5vKHAdGAYMBn4i3McE0JUlSeX76Bv945cPizV7XB85qoRPRnUI4G/fLiDBjtbMUHMn2cqOUCBqhaqag0wD5jWpMw0YK56rACSRKRna3VVdbOqNjcGcxowT1WrVXUnUOAcx4SQz3ccJq+4jFnj+xEZEfxnKaeICHdO7M/2g+Us23LQ7XCMOWP+TCppwN5G74ucbd6U8abumXweIjJLRHJFJLe0tLSNQ5pA8+TyHSQnxHLtuW39OQSfq0b0JL1LPH/5qMBGgpmg5c+k0tzPyKb/p7RUxpu6Z/J5qOpTqpqtqtnJycltHNIEko3FZXyy/RDfv7AvcdGh17MZFRnBHeP7sXbPMVbuPOJ2OMacEX8mlSIgo9H7dGCfl2W8qXsmn2eC2JPLd5AQG8XN4zLdDsVvrs/OoHunGP7y0Q63QzHmjPgzqawGskSkr4jE4LmIvqBJmQXArc4osHFAmaru97JuUwuA6SISKyJ98Vz8X+XLBhn37DtWyaK8/dw0NpPEuGi3w/GbuOhIbruwLx9vK7W77E1Q8ltSUdU64B5gCbAZeE1V80VktojMdootAgrxXFR/GrirtboAInKtiBQB5wMLRWSJUycfeA3YBLwH3K2qtgpSiHg9t4gGhVvG9XY7FL+7ZVxvOsVG8cRyO1sxwUfC+YJgdna25ubmuh2GaUN9gzL+kQ/pl9yRF24f63Y47eLhxVt46uMdLLtvIn27d3Q7HGO+RkTWqGp2c/vsjnoT8D7ZXkrxsUqmjwndaylNff+iPkRFRvDUx3a2YoKLJRUT8Oat2ku3jjFcNrSH26G0m5SEOK4/L52/rSmm5HiV2+EY4zVLKiaglZ6o5u+bS7juvHRiosLrz/WO8f2pa2jgmU93uh2KMV4Lr/9LTdB5Y00RdQ3KjWMy2i4cYjK7deCqEb14acVuyipsLXsTHCypmIClqry6eg85fbrSP7mT2+G44s6J/TlZU8/cL3a5HYoxXrGkYgLWF4WH2XW4guk54XeWcsqQnomMH5jMCyt2U1vf4HY4xrTJkooJWPNW7SUxLoqp5/R0OxRXfe+C3hw8Uc3ijQfcDsWYNllSMQHp6Mka3tt4gGvPTQvJeb5Ox8SBKfTu1oE5n+9yOxRj2mRJxQSkN9cWU1PfwPSc8Lk3pSUREcKt5/dhze6j5BXZ1C0msFlSMQFHVZm3ag8jM5IY0jPR7XACwvXZ6XSIieR5O1sxAc6Sigk4X+45yvaD5cwIw2HELUmMi+a60em8s2Efh8ur3Q7HmBZZUjEB55VVe+kYE8m3R/ZyO5SAMvOC3tTUNTBv9d62CxvjEksqJqAcr6rl3Q37uHpULzrGRrkdTkAZkJLAxVndeeELG15sApclFRNQFuftp6q2gRuyreurOTPP78OB41W8n1/idijGNMuSigkob6/dR59uHRiVkeR2KAHpksEpZHbtwPOf23xgJjBZUjEB40BZFSt2HmbaqDRExO1wAlJkhHDr+b1Zveso+ftseLEJPJZUTMB4Z/0+VGHaKLtA35rrszOIj460myFNQLKkYgLG2+uKGZHemX5hOnmktzrHR/NPo9N4e90+jpyscTscY77GkooJCAUHT5C/7zjTRqW5HUpQmHlBH2d48R63QzHmayypmIAwf90+IgS+PSK8J4/01sAeCVzQvxsvrdhDfYO6HY4xX7GkYlynqsxft48L+ncnJTHO7XCCxnfH9ab4WCUfbyt1OxRjvmJJxbhu7d5j7DlSYRfoT9OlQ3uQnBDLSyt3ux2KMV+xpGJcN39tMTFREVwxPNXtUIJKdGQEN2Zn8MGWg+w7Vul2OMYAllSMy2rrG3h3w34uHZJCYly02+EEnek5GSjYfGAmYPg1qYjIZBHZKiIFInJ/M/tFRB5z9m8QkdFt1RWRriKyVES2O89dnO3RIjJHRPJEZLOIPODPthnf+KzgEIdP1nD1SBv1dSbSu3Rg4sBkXl29hzqbD8wEAL8lFRGJBB4HpgBDgRkiMrRJsSlAlvOYBTzhRd37gWWqmgUsc94DXA/Equo5wHnAHSLSxz+tM74yf90+EuOiuGRwstuhBK2bxvam5Hg1y7YcdDsUY/x6ppIDFKhqoarWAPOAaU3KTAPmqscKIElEerZRdxowx3k9B7jGea1ARxGJAuKBGuC4f5pmfKGypp4l+QeYek5PYqPCe8ngs3HJoGR6do7jpZV2z4pxnz+TShrQuKO3yNnmTZnW6vZQ1f0AznOKs/0N4CSwH9gD/I+qHmkalIjMEpFcEcktLbWhmG5aurmEipp6rrZRX2clKjKCG8dk8Mn2UvYcrnA7HBPm/JlUmpsRsOldWi2V8aZuUzlAPdAL6AvcJyL9vnEQ1adUNVtVs5OTrcvFTfPXFpOaGMfYvt3cDiXoTR+TSYQIr9gd9sZl/kwqRUDjRTHSgX1elmmtbonTRYbzfKoj+SbgPVWtVdWDwGdAtg/aYfzg6Mkalm8r5dsjexIZYTMSn63UznFMGpzC67l7qamzC/bGPf5MKquBLBHpKyIxwHRgQZMyC4BbnVFg44Ayp0urtboLgJnO65nAfOf1HmCSc6yOwDhgi78aZ87Ooo37qWtQm+vLh24em8mh8hre33TA7VBMGPNbUlHVOuAeYAmwGXhNVfNFZLaIzHaKLQIKgQLgaeCu1uo6dR4GLhOR7cBlznvwjBbrBGzEk5SeU9UN/mqfOTvvrt9Pv+4dGdYr0e1QQsb4rGTSu8Tzsl2wNy7y6yLgqroIT+JovO3JRq8VuNvbus72w8C3mtlejmdYsQlwh8qrWbnzMHdfMsAW4/KhiAhhRk4mv1uylcLScltCwLjC7qg37e69jQdoUJh6js1I7GvXZ6cTFSG8ssrOVow7LKmYdrdwg6fra3BqgtuhhJyUhDiuGJbK62uKqKqtdzscE4YsqZh2darr68oRPa3ry09m5GRyrKKWJfl2wd60P0sqpl1Z15f/XdC/G5ldO1gXmHGFJRXTrhZu2E+/ZOv68qeICOHGMRmsKDxCYWm52+GYMGNJxbSbr7q+zrGuL387dcH+VZsS37SzVocUi8g/t7ZfVf/g23BMKLOur/aTkhDHpUN68MaaIu67fBAxUfb70bSPtv7SEpxHNnAn/5jscTaeKemN8Zp1fbWv6TkZHD5Zw9JNJW6HYsJIq0lFVX+tqr8GugOjVfU+Vb0Pz3ol6e0RoAkNpSes66u9XZyVTFpSvF2wN+3K23PiTDzrk5xSA/TxeTQmZL2X7+n6unKEdX21l0jngv2nBYdsSnzTbrxNKi8Aq0TkIRF5CFjJPxbKMqZNi5yur0E9rOurPd2QnUGEwDybEt+0E6+Siqr+J3AbcBQ4Atymqv/tz8BM6DjV9XWVdX21u6+mxF9TRK2tYW/awekMCakHGho9jPHKqa6vqdb15YoZOZmUnqhm2WZbw974n1dJRUR+DLyE54J9CvCiiNzrz8BM6LCuL3dNGJhMamKcXbA37cLbM5XbgbGq+itV/Tc8C2D90H9hmVBhXV/ui4qM4IYxGXy8vZSio3bB3viXt0lF8HR/nVJP8+vIG/M11vUVGG4c41md+zW7w974mbdJ5TlgpTP669fACuAZ/4VlQsXiPOv6CgRpSfFMGJjMa7lF1NkFe+NH3o7++gOe0V9HgMN4Rn/9yY9xmRBwuLyaFYV2w2OgmJGTyYHjVXy4tdTtUEwIO93RX4qN/jJeen9TCQ0KU4Zb11cgmDQ4hZSEWLtgb/zKRn8Zv1mUt58+3TowpKd1fQWC6MgIbhyTwUdbD1J8rNLtcEyIstFfxi+Onqzh8x2HmWJdXwHlxjEZKPCqna0YP7HRX8Yvlm4uob5BmWpdXwElvUsHJgxM5tXcvXbB3vjFmYz+eggb/WXasDhvP+ld4hmeluh2KKaJm3IyKTlezQdb7A5743unM/rr+3hGfx3FRn+ZVpRV1vJpwSGmWtdXQJo0OIXUxDheti4w4wenM/prHfAG8BZwWEQy26ogIpNFZKuIFIjI/c3sFxF5zNm/QURGt1VXRLqKyFIR2e48d2m0b4SIfCEi+SKSJyJxp9E+4yPLNpdQW69MGZ7qdiimGafusF++rZS9R+wOe+Nb3o7+uhcoAZYC7wILnefW6kQCjwNT8KwSOUNEmq4WOQXIch6zgCe8qHs/sExVs4BlzntEJAp4EZitqsOAiUCtN+0zvrUo7wA9O8cxMj3J7VBMC24ck4GArWFvfM7bM5UfA4NUdZiqjlDVc1R1RBt1coACVS1U1RpgHjCtSZlpwFz1WAEkiUjPNupO4x9rucwBrnFeXw5sUNX1AKp6WFUbDy4w7eBEVS0fby9l8vBUIiKs6ytQpSXFM3FQCq/m7rUp8Y1PeZtU9gJlp3nsNKfeKUXONm/KtFa3h6ruB3CeU5ztAwEVkSUi8qWI/GtzQYnILBHJFZHc0lK7s9jXPthykJq6BqaeY6O+At1NNiW+8YOo1naKyD87LwuBj0RkIVB9ar9zAb/F6s1sUy/LeFO3qSjgImAMUAEsE5E1qrrsawdRfQp4CiA7O7utY5rTtDjvACkJsZyX2aXtwsZVEwcl07Oz54L9ZLv+ZXykrTOVBOexB8/1lJhG29q6TboIyGj0Ph3Y52WZ1uqWOF1kOM+nfmYVActV9ZCqVgCLgNGYdnOyuo4Ptx60rq8gEeXcYf/Jdrtgb3yn1TMVVf31WRx7NZAlIn2BYmA6cFOTMguAe0RkHjAWKFPV/SJS2krdBcBM4GHneb6zfQnwryLSAagBJgB/PIv4zWn6aGsp1XUNNtdXELlxTAaPLdvOK6v28K+TB7sdjgkBbXV//UlVfyIi79BM95OqXt1SXVWtE5F78HzZRwLPqmq+iMx29j+J52xiKlCAp8vqttbqOod+GHhNRG7HcwZ1vVPnqIj8AU8yU2CRqi708r+D8YFFG/fTrWMMOX27uh2K8VLPzvFMGpzCa7lF/PSygURHns5dBsZ8U6tJBXjBef6fMzm4qi7Ckzgab3uy0WsF7va2rrP9MPCtFuq8iGdYsWlnlTX1fLjlINecm0akdX0FlZvGZvL3zbks3VRiAyzMWWur+2uN87y8fcIxwWr5tlIqauptrq8gNGFgCmlJ8bzwxW5LKuastdX9lUfzo64Ez4lGW/eqmDCxeON+unSIZmw/6/oKNpERws3jMnnkva1sLzlBlq3Sac5CW91fV7VLFCaoVdXWs2zzQaaek2p98kHqxuwM/rR0Oy+s2M2/TxvudjgmiLX6DaCqu089nE1ZzuuDeCaXNIaPt5VSXl3HVSN6uR2KOUPdOsVy1YievPllMeXVdW6HY4KYt3N//RDPZJL/52xKB972U0wmyLy7wdP1dX7/bm6HYs7CLef3pry6jre+LHI7FBPEvO2ruBu4EDgOoKrb+cf0KCaMVdXW8/fNJUwebl1fwe7cjCSGpyUy94vdeAZmGnP6vP0WqHYmdgS+mhHY/uoMH209SEVNPVeeY11fwU5EuHVcH7YfLGdFofVumzPjbVJZLiK/AOJF5DLgdeAd/4VlgsW7G/bTtWMM42zUV0j49shedI6P5oUVu9wOxQQpb5PK/UApkAfcgedu9Qf9FpUJCpU1nlFfk4enEmVdXyEhPiaSG7LTWZJfwoGyKrfDMUHI22+Ch1T1aVW9XlW/AzwrIi/5MzAT+D7cepDK2nqushvmQsot43rToGrLDZsz4m1SyRSRBwBEJAZ4E9jut6hMUFi4YT/dO9lcX6Gmd7eOTBiYzCur9tgCXua0eZtUbgPOcRLLu8BHqvqQ36IyAa+ipo5lW0qs6ytE3Xp+b0pPVLMk/4DboZgg0+q3gYiMFpHRwLnAo8CNeM5QljvbTZj6YMtBqmobbNRXiJowMIWMrvHM/WJ324WNaaStaVp+3+T9UWCos12BSf4IygQ+T9dXrHV9hajICOGWsb3578Vb2HLgOINTE90OyQSJtqZpuaSVhyWUMHWyuo4Ptnjm+rJp7kPX9dkZxERF2NmKOS1tzVJ8i6q+2Git+q9pY416E6KWbTlIdV0DV9qor5DWtWMM145K480vi/jZ5YPo2jHG7ZBMEGjrCmtH5zmhmUcnP8ZlAtjCDftISYhlTB/r+gp1t1/cl6raBl5aYWcrxjttLdL1f87zN9aqF5Gf+CkmE8DKq+v4cGspN+VkEmFdXyFvYI8EJgxMZs4Xu5k1oR+xUZFuh2QC3NmMBW22S8yEtmWbS6ipa+CqEdb1FS5+cHFfDpVXs2DdPrdDMUHgbJKK/UwNQ+9u2E9qYhyjM7u4HYppJxcN6M7g1ASe+XSnzV5s2nQ2ScX+usLM8apalm8rZeo5Pa3rK4yICLdf1JctB07wacEht8MxAa6tmx9PiMjxZh4nALvrLcy8l3fA0/U10rq+ws3Vo3qRnBDLXz/Z6XYoJsC1dZ9KgqomNvNIUNW2bpw0IeattcX06daBczOS3A7FtLPYqEhmnt+b5dtK2VZywu1wTACzSZuMV/Ydq2TFzsNcc24aItb1FY5uGtubuOgInrGzFdMKvyYVEZksIltFpEBE7m9mv4jIY87+DY3nE2uproh0FZGlIrLdee7S5JiZIlIuIj/zZ9vCzYL1+1CFa89NczsU45KuHWO4bnQ6b60rpvREtdvhmADlt6QiIpHA48AUPPOFzRCRoU2KTQGynMcs4Akv6t4PLFPVLGCZ876xPwKLfd6gMPf22mJGZybRu1vHtgubkHX7RX2pqWvgRbsZ0rTAn2cqOUCBqhY669vPA6Y1KTMNmKseK4AkEenZRt1pwBzn9RzgmlMHE5FrgEIg3z9NCk+b9x9ny4ETdpZi6JfciUuHpPDCit1U1da7HY4JQP5MKmnA3kbvi5xt3pRprW4PVd0P4DynAIhIR+DnwDfu/jdn5+21xURFCFeOsAF/Bn5wcT+OnKzhrbXFbodiApA/k0pzV3Ob3tvSUhlv6jb1a+CPqlrealAis0QkV0RyS0tL2zikqW9Q5q/bx8RByTahoAFgbN+uDE9L5OlPCqlvsNvVzNf5M6kUARmN3qcDTed5aKlMa3VLnC4ynOeDzvaxwCMisgv4CfALEbmnaVCq+pSqZqtqdnJy8hk0K7ysLDzMgeNVXGNdX8YhItw5YQCFpSdZvHG/2+GYAOPPpLIayBKRvs669tOBBU3KLABudUaBjQPKnC6t1uouAGY6r2cC8wFU9WJV7aOqfYA/Af+lqn/2X/PCw1tri+kUG8WlQ3q4HYoJIFOGpzIgpRP/u6yABjtbMY34Lamoah1wD7AE2Ay8pqr5IjJbRGY7xRbhubBeADwN3NVaXafOw8BlIrIduMx5b/ygqraexRsPMGV4KnHRNjut+YeICOHeSQPYWnKC9zeVuB2OCSASzhPEZWdna25urtthBKx31u/j3lfW8vIPxnLBgO5uh2MCTH2DcukfltMhJpJ3773IbooNIyKyRlWzm9tnd9SbFr29tpjUxDjG9uvmdigmAEVGCHdN7E/+vuN8sOVg2xVMWLCkYpp1uLya5dtKmTaql61Db1p0zblpZHSN57Fl221afANYUjEtWJi3n7oGtVFfplXRkRHcNXEA64vK+Hi7TYtvLKmYFry1tpjBqQkM6ZnodigmwF03Op1enePsbMUAllRMM3YdOsnaPcdsWhbjlZioCO6c2J81u4/yxY7DbodjXGZJxXzDq7l7iRCYNsqSivHO9dkZ9EiM5dFl290OxbjMkor5mpq6Bl7P3cukwT1I7RzndjgmSMRFR3LH+P6s3HmElYV2thLOLKmYr1m6qYRD5TXcPDbT7VBMkJmRk0n3TjH87wcFbodiXGRJxXzNSyt3k5YUz/iBNi+aOT3xMZHMGt+PTwsO8fkOGwkWriypmK/sPHSSz3ccZkZOht2bYs7Iref3oVfnOP5r0WabEyxMWVIxX3ll1R6iIoQbsjPaLmxMM+KiI/mXyYPYWHycBeubTkpuwoElFQNAdV09r+fu5dIhPUhJtAv05sxNG5nG8LREfrdkq60OGYYsqRgA3tt4gKMVtdxkF+jNWYqIEH4xZQjFxyp5/vNdbodj2pklFQPASyv3kNm1AxfZbMTGBy4Y0J1Jg1N4/IMCjpyscTsc044sqRgKDp5g1c4jzMjJJMIu0BsfeWDKYE7W1PGY3RAZViypGF5euZfoSOH67HS3QzEhJKtHAjeOyeTFFbvZeeik2+GYdmJJJcxV1dbzxpq9XD4sle6dYt0Ox4SYn16WRUxUBI+8t8XtUEw7saQS5hZu2M/xqjq7g974RUpCHHeM78/ijQdYs/uI2+GYdmBJJcy9vGoP/bp35Hxb3dH4yQ/H9yUlIZb/XLjZpsYPA5ZUwtiWA8dZs/soM3IybX1x4zcdYqK47/KBfLnnGG+vK3Y7HONnllTC2JzPdxETFcF159kFeuNf3zkvg1EZSfzm3c02xDjEWVIJUwfKqvjbmmKuPy+drh1j3A7HhLjICOG3143geGUt//HuJrfDMX5kSSVM/fWTQupVuWN8f7dDMWFiUGoCd03sz5tri1m+rdTtcIyfWFIJQ0dP1vDyqj1cPbIXmd06uB2OCSN3XTKAfskdefCtPCpq6twOx/iBJZUw9Pznu6ioqefOiXaWYtpXXHQkD//TCIqOVvKH97e5HY7xA78mFRGZLCJbRaRARO5vZr+IyGPO/g0iMrqtuiLSVUSWish257mLs/0yEVkjInnO8yR/ti1YlVfX8fznu7h8aA8G9khwOxwThnL6duXmsZk8+9lO1u895nY4xsf8llREJBJ4HJgCDAVmiMjQJsWmAFnOYxbwhBd17weWqWoWsMx5D3AI+LaqngPMBF7wU9OC2ssrd1NWWctdlwxwOxQTxn4+ZTDJCbH8/G8bqK1vcDsc40P+PFPJAQpUtVBVa4B5wLQmZaYBc9VjBZAkIj3bqDsNmOO8ngNcA6Cqa1X11KpA+UCciNi8I41U1dbz9Cc7uWhAd0ZlJLkdjgljiXHR/Pu04Ww5cIKnPyl0OxzjQ/5MKmnA3kbvi5xt3pRprW4PVd0P4DynNPPZ1wFrVbW66Q4RmSUiuSKSW1oaXiNQ3lhTROmJau66xK6lGPddMSyVKcNT+dPft1NYWu52OMZH/JlUmrtFu+kcDS2V8aZu8x8qMgz4LXBHc/tV9SlVzVbV7OTkZG8OGRLq6ht4cvkOzs1MsilZTMD49dXDiIuK4Efz1toqkSHCn0mlCGi82Hk60HTR6pbKtFa3xOkiw3k+eKqQiKQDbwG3quoOH7QhZLyzYR9FRyu5e+IAm5LFBIyUxDh+f8MoNhYf5zd2U2RI8GdSWQ1kiUhfEYkBpgMLmpRZANzqjAIbB5Q5XVqt1V2A50I8zvN8ABFJAhYCD6jqZ35sV9BpaFD+8uEOBqcmMGlwc72FxrjnsqE9uGN8P15auYf5NjdY0PNbUlHVOuAeYAmwGXhNVfNFZLaIzHaKLQIKgQLgaeCu1uo6dR4GLhOR7cBlznuc8gOAX4rIOudh36DA0s0lbD9Yzp0T+9vKjiYg/eyKQeT06coDb+axveSE2+GYsyDhPBV1dna25ubmuh2GX9XVN3DV/35KRU09H9w3gahIu9/VBKaS41Vc+dgnJHWIYf7dF9IxNsrtkEwLRGSNqmY3t8++YULciyt2s+XACR6YMtgSigloPRLjeHT6uewoLefBt/Js7ZUgZd8yIaz0RDW/f38bF2d1Z/LwVLfDMaZNFw7ozk8vHcjb6/bx8qo9bodjzoAllRD28OItVNXV89DVw2zElwka91wygPEDk/n1gk3kFZW5HY45TZZUQtTqXUf425dF/ODifvRP7uR2OMZ4LSJC+NONo+jeKYYfzF3N3iMVbodkToMllRBUV9/AL9/eSK/Ocdw7yeb4MsGna8cYnrsth6raBm7+60oOHq9yOyTjJUsqIejUxflfXjWUDjE2gsYEp0GpCcz5fg6Hy6u55ZmVHLVliIOCJZUQYxfnTSgZlZHE07dms+twBd97fjXl1bawV6CzpBJi7OK8CTUXDOjOn2ecy8biMn44J9fmCAtwllRCiF2cN6Hq8mGp/M/1I/ii8DD3vLzW1mAJYJZUQkRlTT3/7y27OG9C17XnpvPv04bx980l/PNr66mps8QSiOwqbghQVf71bxvYdvAEz84cYxfnTci69fw+VNTU8/DiLZQcr+LJW86ja8cYt8MyjdiZSgh4YvkO3lm/j59dPohLbBZiE+JmT+jPo9NHsW7vMa55/DMKDtoElIHEkkqQW7a5hN8t2cq3R/birom2oqMJD9NGpfHKD8dRUVPHtX/5nI+3hdcqroHMkkoQ215ygh/PW8ewXok8ct0IG+1lwsp5vbvw9t0XkpYUz23Pr2buF7vcDslgSSVolVXU8sO5ucRFR/LUd7OJj4l0OyRj2l16lw68cecFTByYzL/Nz+eXb2+0Iccus6QShOrqG7jnlS8pPlbJk7eMpldSvNshGeOaTrFRPHVrNrPG9+OFFbuZ+ugnrCg87HZYYcuSShD678Vb+GT7If7zmnPI7tPV7XCMcV1khPCLqUN44fYcahsamP7UCu7/2wbKKmrdDi3sWFIJIjV1nokin/l0J9+7oA83jMlwOyRjAsrFWcm8/5MJ3DG+H6+vKeJbf1jOwg37bcGvdmRJJUiUnqjmlr+u5IUVu7ljfD9+edVQt0MyJiDFx0TywNQhzL/7Qnp2juPul7/kh3Nz2V5iQ4/bg61RHwRr1OcVlTHrhVyOVtTw2+tGMG1UmtshGRMU6uobeP7zXfxh6TYqauq5dEgKd0zoT3bvLjZa8iy0tka9JZUATypvflnEA2/m0b1TLP/33fMYntbZ7ZCMCTpHTtYw94tdzPl8F0crahmdmcQdE/pz2ZAeRERYcjldllRaEMhJpaaugd++t4VnPt3JuH5defym0XTrFOt2WMYEtcqael5fs5enPylk75FK+iV3ZPqYDK4Ylkrvbh3dDi9oWFJpQSAmlbLKWl5euYfnPtvJwRPVfO+CPjx45RCiI+3ylzG+UlffwOKNB/jrpztZv/cYAINTE5g8PJUrhqUyODXBusdaYUmlBYGUVIqOVvDsp7t4dfUeTtbUc3FWd+4Y35+Lsrq7HZoxIW3vkQqW5B/g/fwSVu8+gir07taBCQOTGZGexMj0zvRP7mTdZI24llREZDLwKBAJ/FVVH26yX5z9U4EK4Huq+mVrdUWkK/Aq0AfYBdygqkedfQ8AtwP1wI9UdUlr8bmZVFSVA8eryCsq490N+1mYtx8Brh7Zix9c3I+hvRJdicuYcFZ6opqlm0pYkn+A3F1HOFnjuTu/Y0wk56R3ZmR6EkN7JZLRtQPpXeJJ7hQblmc0riQVEYkEtgGXAUXAamCGqm5qVGYqcC+epDIWeFRVx7ZWV0QeAY6o6sMicj/QRVV/LiJDgVeAHKAX8HdgoKq2OGeDv5NKfYNSXl3neVTVsfPQSTYWl5FXXMbG4jIOO2tud4qN4qaxmdx2YR96dra7440JBPUNSmFpOeuLythQdIz1e4+xef8JahotEBYbFUFal3jSu3QgLSmOLh1iSOoQTef4aDrH/+N1fHQkcdGRxEZFfPUczGc+rSUVfy68kQMUqGqhE8Q8YBqwqVGZacBc9WS2FSKSJCI98ZyFtFR3GjDRqT8H+Aj4ubN9nqpWAztFpMCJ4QtfN2zLgePc/dKXKICC4jnz8DxDZW095VV1VDYzB1FkhJCV0olLBqdwTlpnhqd1ZlivROKibe4uYwJJZISQ1SOBrB4JfOe8dMAzgGbX4ZMUHa2g6Gil8/C83rSvjGMVtdQ1ePdDPSYyguhIISJCiIoQIiMinGchIgIEQQQEEBEEwHnfnJbOmFoqP3FQMg9e6fv73fyZVNKAvY3eF+E5G2mrTFobdXuo6n4AVd0vIqcWEEkDVjRzrK8RkVnALIDMzMzTaM4/xEdHMjg18at/4FP/4Kf+AOJjIukUG0XH2Cg6xUaREOd5nZYUz5CelkCMCVYxUREM7JHAwB4Jze5XVU7W1HOsooayylrKKmo5VllLVW09VbUNVNd9/bmuvoG6BqW+QalXpb5eqWtQGlS/9kO18Q/X5j+4pc0tJ7geiXGn03Sv+TOpNJcgm7awpTLe1D2Tz0NVnwKeAk/3VxvHbFbvbh15/ObRZ1LVGBPCRIROzo/J9C5uR+MOf45TLQIaT06VDuzzskxrdUucLjKc54On8XnGGGP8yJ9JZTWQJSJ9RSQGmA4saFJmAXCreIwDypyurdbqLgBmOq9nAvMbbZ8uIrEi0hfIAlb5q3HGGGO+yW/dX6paJyL3AEvwDAt+VlXzRWS2s/9JYBGekV8FeIYU39ZaXefQDwOvicjtwB7geqdOvoi8hudifh1wd2sjv4wxxvie3fwYIDc/GmNMsGhtSLHN/WGMMcZnLKkYY4zxGUsqxhhjfMaSijHGGJ8J6wv1IlIK7D6LQ3QHDvkonGAQbu0Fa3O4sDafnt6qmtzcjrBOKmdLRHJbGgERisKtvWBtDhfWZt+x7i9jjDE+Y0nFGGOMz1hSOTtPuR1AOwu39oK1OVxYm33ErqkYY4zxGTtTMcYY4zOWVIwxxviMJZU2iMhkEdkqIgUicn8z+0VEHnP2bxCRoF+9y4s23+y0dYOIfC4iI92I05faanOjcmNEpF5EvtOe8fmDN20WkYkisk5E8kVkeXvH6Gte/G13FpF3RGS90+bb3IjTV0TkWRE5KCIbW9jv++8vPbVspT2+8cAz7f4OoB8QA6wHhjYpMxVYjGflyXHASrfjboc2XwB0cV5PCYc2Nyr3AZ4lG77jdtzt8O+chGcpiUznfYrbcbdDm38B/NZ5nQwcAWLcjv0s2jweGA1sbGG/z7+/7EyldTlAgaoWqmoNMA+Y1qTMNGCueqwAkk6tTBmk2myzqn6uqkedtyvwrLIZzLz5dwa4F/gb/1htNJh50+abgDdVdQ+AqgZ7u71pswIJIiJAJzxJpa59w/QdVf0YTxta4vPvL0sqrUsD9jZ6X+RsO90yweR023M7nl86wazNNotIGnAt8GQ7xuVP3vw7DwS6iMhHIrJGRG5tt+j8w5s2/xkYgmcp8jzgx6ra0D7hucLn319+W/kxREgz25qOwfamTDDxuj0icgmepHKRXyPyP2/a/Cfg56pa7/kRG/S8aXMUcB7wLSAe+EJEVqjqNn8H5yfetPkKYB0wCegPLBWRT1T1uJ9jc4vPv78sqbSuCMho9D4dzy+Y0y0TTLxqj4iMAP4KTFHVw+0Um7940+ZsYJ6TULoDU0WkTlXfbpcIfc/bv+1DqnoSOCkiHwMjgWBNKt60+TbgYfVccCgQkZ3AYGBV+4TY7nz+/WXdX61bDWSJSF8RiQGmAwualFkA3OqMohgHlKnq/vYO1IfabLOIZAJvAt8N4l+tjbXZZlXtq6p9VLUP8AZwVxAnFPDub3s+cLGIRIlIB2AssLmd4/Qlb9q8B8+ZGSLSAxgEFLZrlO3L599fdqbSClWtE5F7gCV4Ro48q6r5IjLb2f8knpFAU4ECoALPL52g5WWb/w3oBvzF+eVep0E8w6uXbQ4p3rRZVTeLyHvABqAB+KuqNjs0NRh4+e/8G+B5EcnD0zX0c1UN2inxReQVYCLQXUSKgF8B0eC/7y+bpsUYY4zPWPeXMcYYn7GkYowxxmcsqRhjjPEZSyrGGGN8xpKKMcYYn7GkYowxxmcsqRhjjPEZSyrGBBgRiRSRR531PPJEpJ/bMRnjLUsqxgSeB4BCVR0GPAbc5XI8xnjNpmkxJoCISEfgWlU9z9m0E7jSxZCMOS2WVIwJLJcCGSKyznnfFfi7e+EYc3qs+8uYwDIK+DdVHaWqo4D38azvYUxQsKRiTGDpgme2WEQkCrgceMfViIw5DZZUjAks24BxzuufAgtVdaeL8RhzWmzqe2MCiIh0ARbjWV3yC2CWqla6G5Ux3rOkYowxxmes+8sYY4zPWFIxxhjjM5ZUjDHG+IwlFWOMMT5jScUYY4zPWFIxxhjjM5ZUjDHG+Mz/B3xwBmaNYhtvAAAAAElFTkSuQmCC\n", + "text/plain": [ + "
" ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "name": "python", - "version": "3.9.12" - } + ], + "source": [ + "thetas = np.linspace(0, 1)\n", + "plt.plot(thetas, (thetas**4)*(1-thetas)**6)\n", + "plt.xlabel(r\"$\\theta$\")\n", + "plt.ylabel(\"Likelihood\");" + ] + }, + { + "cell_type": "markdown", + "id": "97f0286d", + "metadata": {}, + "source": [ + "More generally, the likelihood for some Bernoulli($p$) random variable $Y$ is:\n", + "\n", + "$$P(Y = y) = \\begin{cases}\n", + " 1, \\text{with probability } p\\\\\n", + " 0, \\text{with probability } 1 - p\n", + " \\end{cases} $$\n", + " \n", + "Equivalently, this can be written in a compact way:\n", + "\n", + "$$P(Y=y) = p^y(1-p)^{1-y}$$\n", + "\n", + "- When $y = 1$, this reads $P(Y=y) = p$\n", + "- When $y = 0$, this reads $P(Y=y) = (1-p)$\n", + "\n", + "In our example, a Bernoulli random variable is analogous to a single data point (e.g., one instance of a basketball team winning or losing a game). All together, our `games` data consists of many IID Bernoulli($p$) random variables. To find the likelihood of independent events in succession, simply multiply their likelihoods.\n", + "\n", + "$$\\prod_{i=1}^{n} p^{y_i} (1-p)^{1-y_i}$$\n", + "\n", + "As with the coin example, we want to find the parameter $p$ that maximizes this likelihood. Earlier, we gave an intuitive graphical solution, but let's take the derivative of the likelihood to find this maximum.\n", + "\n", + "At a first glance, this derivative will be complicated! We will have to use the product rule, followed by the chain rule. Instead, we can make an observation that simplifies the problem. \n", + "\n", + "Finding the $p$ that maximizes $$\\prod_{i=1}^{n} p^{y_i} (1-p)^{1-y_i}$$ is equivalent to the $p$ that maximizes $$\\text{log}(\\prod_{i=1}^{n} p^{y_i} (1-p)^{1-y_i})$$\n", + "\n", + "This is because $\\text{log}$ is a strictly *increasing* function. It won't change the maximum or minimum of the function it was applied to. From $\\text{log}$ properties, $\\text{log}(a*b)$ = $\\text{log}(a) + \\text{log}(b)$. We can apply this to our equation above to get:\n", + "\n", + "$$\\underset{p}{\\text{argmax}} \\sum_{i=1}^{n} \\text{log}(p^{y_i} (1-p)^{1-y_i})$$\n", + "\n", + "$$= \\underset{p}{\\text{argmax}} \\sum_{i=1}^{n} (\\text{log}(p^{y_i}) + \\text{log}((1-p)^{1-y_i}))$$\n", + "\n", + "$$= \\underset{p}{\\text{argmax}} \\sum_{i=1}^{n} (y_i\\text{log}(p) + (1-y_i)\\text{log}(1-p))$$\n", + "\n", + "We can add a constant factor of $\\frac{1}{n}$ out front. It won't affect the $p$ that maximizes our likelihood.\n", + "\n", + "$$=\\underset{p}{\\text{argmax}} \\frac{1}{n} \\sum_{i=1}^{n} y_i\\text{log}(p) + (1-y_i)\\text{log}(1-p)$$\n", + "\n", + "One last \"trick\" we can do is change this to a minimization problem by negating the result. This works because we are dealing with a *concave* function, which can be made *convex*.\n", + "\n", + "$$= \\underset{p}{\\text{argmin}} -\\frac{1}{n} \\sum_{i=1}^{n} y_i\\text{log}(p) + (1-y_i)\\text{log}(1-p)$$\n", + "\n", + "Now let's say that we have data that are independent with different probability $p_i$. Then, we would want to find the $p_1, p_2, \\dots, p_n$ that maximize $$\\prod_{i=1}^{n} p_i^{y_i} (1-p_i)^{1-y_i}$$\n", + "\n", + "Setting up and simplifying the optimization problems as we did above, we ultimately want to find:\n", + "\n", + "$$= \\underset{p}{\\text{argmin}} -\\frac{1}{n} \\sum_{i=1}^{n} y_i\\text{log}(p_i) + (1-y_i)\\text{log}(1-p_i)$$\n", + "\n", + "For logistic regression, $p_i = \\sigma(x^{\\top}\\theta)$. Plugging that in, we get: \n", + "\n", + "$$= \\underset{p}{\\text{argmin}} -\\frac{1}{n} \\sum_{i=1}^{n} y_i\\text{log}(\\sigma(x^{\\top}\\theta)) + (1-y_i)\\text{log}(1-\\sigma(x^{\\top}\\theta))$$\n", + "\n", + "This is exactly our average cross-entropy loss minimization problem from before! \n", + "\n", + "Why did we do all this complicated math? We have shown that *minimizing* cross-entropy loss is equivalent to *maximizing* the likelihood of the training data.\n", + "\n", + "- By minimizing cross-entropy loss, we are choosing the model parameters that are \"most likely\" for the data we observed.\n", + "\n", + "Note that this is under the assumption that all data is drawn independently from the same logistic regression model with parameter $\\theta$. In fact, many of the model + loss combinations we've seen can be motivated using MLE (e.g., OLS, Ridge Regression, etc.). In probability and ML classes, you'll get the chance to explore MLE further. \n" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" }, - "nbformat": 4, - "nbformat_minor": 5 + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.7" + } + }, + "nbformat": 4, + "nbformat_minor": 5 } diff --git a/logistic_regression_1/logistic_reg_1_files/libs/bootstrap/bootstrap.min.css b/logistic_regression_1/logistic_reg_1_files/libs/bootstrap/bootstrap.min.css index 3bcb6e29..eca6eb4e 100644 --- a/logistic_regression_1/logistic_reg_1_files/libs/bootstrap/bootstrap.min.css +++ b/logistic_regression_1/logistic_reg_1_files/libs/bootstrap/bootstrap.min.css @@ -1,10 +1,12 @@ /*! - * Bootstrap v5.1.3 (https://getbootstrap.com/) - * Copyright 2011-2021 The Bootstrap Authors - * Copyright 2011-2021 Twitter, Inc. + * Bootstrap v5.3.1 (https://getbootstrap.com/) + * Copyright 2011-2023 The Bootstrap Authors * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) - */@import"https://fonts.googleapis.com/css2?family=Source+Sans+Pro:wght@300;400;700&display=swap";:root{--bs-blue: #033c73;--bs-indigo: #6610f2;--bs-purple: #6f42c1;--bs-pink: #e83e8c;--bs-red: #c71c22;--bs-orange: #fd7e14;--bs-yellow: #dd5600;--bs-green: #73a839;--bs-teal: #20c997;--bs-cyan: #2fa4e7;--bs-white: #fff;--bs-gray: #868e96;--bs-gray-dark: #343a40;--bs-gray-100: #f8f9fa;--bs-gray-200: #e9ecef;--bs-gray-300: #dee2e6;--bs-gray-400: #ced4da;--bs-gray-500: #adb5bd;--bs-gray-600: #868e96;--bs-gray-700: #495057;--bs-gray-800: #343a40;--bs-gray-900: #212529;--bs-default: #e9ecef;--bs-primary: #2fa4e7;--bs-secondary: #e9ecef;--bs-success: #73a839;--bs-info: #033c73;--bs-warning: #dd5600;--bs-danger: #c71c22;--bs-light: #f8f9fa;--bs-dark: #343a40;--bs-default-rgb: 233, 236, 239;--bs-primary-rgb: 47, 164, 231;--bs-secondary-rgb: 233, 236, 239;--bs-success-rgb: 115, 168, 57;--bs-info-rgb: 3, 60, 115;--bs-warning-rgb: 221, 86, 0;--bs-danger-rgb: 199, 28, 34;--bs-light-rgb: 248, 249, 250;--bs-dark-rgb: 52, 58, 64;--bs-white-rgb: 255, 255, 255;--bs-black-rgb: 0, 0, 0;--bs-body-color-rgb: 73, 80, 87;--bs-body-bg-rgb: 255, 255, 255;--bs-font-sans-serif: "Source Sans Pro", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";--bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));--bs-root-font-size: 18px;--bs-body-font-family: var(--bs-font-sans-serif);--bs-body-font-size: 1rem;--bs-body-font-weight: 400;--bs-body-line-height: 1.5;--bs-body-color: #495057;--bs-body-bg: #fff}*,*::before,*::after{box-sizing:border-box}:root{font-size:var(--bs-root-font-size)}body{margin:0;font-family:var(--bs-body-font-family);font-size:var(--bs-body-font-size);font-weight:var(--bs-body-font-weight);line-height:var(--bs-body-line-height);color:var(--bs-body-color);text-align:var(--bs-body-text-align);background-color:var(--bs-body-bg);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:rgba(0,0,0,0)}hr{margin:1rem 0;color:inherit;background-color:currentColor;border:0;opacity:.25}hr:not([size]){height:1px}h6,.h6,h5,.h5,h4,.h4,h3,.h3,h2,.h2,h1,.h1{margin-top:0;margin-bottom:.5rem;font-weight:400;line-height:1.2;color:#2fa4e7}h1,.h1{font-size:calc(1.345rem + 1.14vw)}@media(min-width: 1200px){h1,.h1{font-size:2.2rem}}h2,.h2{font-size:calc(1.3rem + 0.6vw)}@media(min-width: 1200px){h2,.h2{font-size:1.75rem}}h3,.h3{font-size:calc(1.275rem + 0.3vw)}@media(min-width: 1200px){h3,.h3{font-size:1.5rem}}h4,.h4{font-size:1.25rem}h5,.h5{font-size:1.1rem}h6,.h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[title],abbr[data-bs-original-title]{text-decoration:underline dotted;-webkit-text-decoration:underline dotted;-moz-text-decoration:underline dotted;-ms-text-decoration:underline dotted;-o-text-decoration:underline dotted;cursor:help;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}ol,ul,dl{margin-top:0;margin-bottom:1rem}ol ol,ul ul,ol ul,ul ol{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem;padding:.625rem 1.25rem;border-left:.25rem solid #e9ecef}blockquote p:last-child,blockquote ul:last-child,blockquote ol:last-child{margin-bottom:0}b,strong{font-weight:bolder}small,.small{font-size:0.875em}mark,.mark{padding:.2em;background-color:#fcf8e3}sub,sup{position:relative;font-size:0.75em;line-height:0;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}a{color:#2fa4e7;text-decoration:underline;-webkit-text-decoration:underline;-moz-text-decoration:underline;-ms-text-decoration:underline;-o-text-decoration:underline}a:hover{color:#2683b9}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}pre,code,kbd,samp{font-family:var(--bs-font-monospace);font-size:1em;direction:ltr /* rtl:ignore */;unicode-bidi:bidi-override}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:0.875em;color:#000;background-color:#f8f8f8;padding:.5rem;border:1px solid #dee2e6}pre code{background-color:transparent;font-size:inherit;color:inherit;word-break:normal}code{font-size:0.875em;color:#9753b8;background-color:#f8f8f8;padding:.125rem .25rem;word-wrap:break-word}a>code{color:inherit}kbd{padding:.4rem .4rem;font-size:0.875em;color:#fff;background-color:#212529}kbd kbd{padding:0;font-size:1em;font-weight:700}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:#868e96;text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}thead,tbody,tfoot,tr,td,th{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}input,button,select,optgroup,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]::-webkit-calendar-picker-indicator{display:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}button:not(:disabled),[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + 0.3vw);line-height:inherit}@media(min-width: 1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-text,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:textfield}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::file-selector-button{font:inherit}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none !important}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:calc(1.625rem + 4.5vw);font-weight:300;line-height:1.2}@media(min-width: 1200px){.display-1{font-size:5rem}}.display-2{font-size:calc(1.575rem + 3.9vw);font-weight:300;line-height:1.2}@media(min-width: 1200px){.display-2{font-size:4.5rem}}.display-3{font-size:calc(1.525rem + 3.3vw);font-weight:300;line-height:1.2}@media(min-width: 1200px){.display-3{font-size:4rem}}.display-4{font-size:calc(1.475rem + 2.7vw);font-weight:300;line-height:1.2}@media(min-width: 1200px){.display-4{font-size:3.5rem}}.display-5{font-size:calc(1.425rem + 2.1vw);font-weight:300;line-height:1.2}@media(min-width: 1200px){.display-5{font-size:3rem}}.display-6{font-size:calc(1.375rem + 1.5vw);font-weight:300;line-height:1.2}@media(min-width: 1200px){.display-6{font-size:2.5rem}}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:0.875em;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote>:last-child{margin-bottom:0}.blockquote-footer{margin-top:-1rem;margin-bottom:1rem;font-size:0.875em;color:#868e96}.blockquote-footer::before{content:"— "}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:#fff;border:1px solid #dee2e6;max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:0.875em;color:#868e96}.grid{display:grid;grid-template-rows:repeat(var(--bs-rows, 1), 1fr);grid-template-columns:repeat(var(--bs-columns, 12), 1fr);gap:var(--bs-gap, 1.5rem)}.grid .g-col-1{grid-column:auto/span 1}.grid .g-col-2{grid-column:auto/span 2}.grid .g-col-3{grid-column:auto/span 3}.grid .g-col-4{grid-column:auto/span 4}.grid .g-col-5{grid-column:auto/span 5}.grid .g-col-6{grid-column:auto/span 6}.grid .g-col-7{grid-column:auto/span 7}.grid .g-col-8{grid-column:auto/span 8}.grid .g-col-9{grid-column:auto/span 9}.grid .g-col-10{grid-column:auto/span 10}.grid .g-col-11{grid-column:auto/span 11}.grid .g-col-12{grid-column:auto/span 12}.grid .g-start-1{grid-column-start:1}.grid .g-start-2{grid-column-start:2}.grid .g-start-3{grid-column-start:3}.grid .g-start-4{grid-column-start:4}.grid .g-start-5{grid-column-start:5}.grid .g-start-6{grid-column-start:6}.grid .g-start-7{grid-column-start:7}.grid .g-start-8{grid-column-start:8}.grid .g-start-9{grid-column-start:9}.grid .g-start-10{grid-column-start:10}.grid .g-start-11{grid-column-start:11}@media(min-width: 576px){.grid .g-col-sm-1{grid-column:auto/span 1}.grid .g-col-sm-2{grid-column:auto/span 2}.grid .g-col-sm-3{grid-column:auto/span 3}.grid .g-col-sm-4{grid-column:auto/span 4}.grid .g-col-sm-5{grid-column:auto/span 5}.grid .g-col-sm-6{grid-column:auto/span 6}.grid .g-col-sm-7{grid-column:auto/span 7}.grid .g-col-sm-8{grid-column:auto/span 8}.grid .g-col-sm-9{grid-column:auto/span 9}.grid .g-col-sm-10{grid-column:auto/span 10}.grid .g-col-sm-11{grid-column:auto/span 11}.grid .g-col-sm-12{grid-column:auto/span 12}.grid .g-start-sm-1{grid-column-start:1}.grid .g-start-sm-2{grid-column-start:2}.grid .g-start-sm-3{grid-column-start:3}.grid .g-start-sm-4{grid-column-start:4}.grid .g-start-sm-5{grid-column-start:5}.grid .g-start-sm-6{grid-column-start:6}.grid .g-start-sm-7{grid-column-start:7}.grid .g-start-sm-8{grid-column-start:8}.grid .g-start-sm-9{grid-column-start:9}.grid .g-start-sm-10{grid-column-start:10}.grid .g-start-sm-11{grid-column-start:11}}@media(min-width: 768px){.grid .g-col-md-1{grid-column:auto/span 1}.grid .g-col-md-2{grid-column:auto/span 2}.grid .g-col-md-3{grid-column:auto/span 3}.grid .g-col-md-4{grid-column:auto/span 4}.grid .g-col-md-5{grid-column:auto/span 5}.grid .g-col-md-6{grid-column:auto/span 6}.grid .g-col-md-7{grid-column:auto/span 7}.grid .g-col-md-8{grid-column:auto/span 8}.grid .g-col-md-9{grid-column:auto/span 9}.grid .g-col-md-10{grid-column:auto/span 10}.grid .g-col-md-11{grid-column:auto/span 11}.grid .g-col-md-12{grid-column:auto/span 12}.grid .g-start-md-1{grid-column-start:1}.grid .g-start-md-2{grid-column-start:2}.grid .g-start-md-3{grid-column-start:3}.grid .g-start-md-4{grid-column-start:4}.grid .g-start-md-5{grid-column-start:5}.grid .g-start-md-6{grid-column-start:6}.grid .g-start-md-7{grid-column-start:7}.grid .g-start-md-8{grid-column-start:8}.grid .g-start-md-9{grid-column-start:9}.grid .g-start-md-10{grid-column-start:10}.grid .g-start-md-11{grid-column-start:11}}@media(min-width: 992px){.grid .g-col-lg-1{grid-column:auto/span 1}.grid .g-col-lg-2{grid-column:auto/span 2}.grid .g-col-lg-3{grid-column:auto/span 3}.grid .g-col-lg-4{grid-column:auto/span 4}.grid .g-col-lg-5{grid-column:auto/span 5}.grid .g-col-lg-6{grid-column:auto/span 6}.grid .g-col-lg-7{grid-column:auto/span 7}.grid .g-col-lg-8{grid-column:auto/span 8}.grid .g-col-lg-9{grid-column:auto/span 9}.grid .g-col-lg-10{grid-column:auto/span 10}.grid .g-col-lg-11{grid-column:auto/span 11}.grid .g-col-lg-12{grid-column:auto/span 12}.grid .g-start-lg-1{grid-column-start:1}.grid .g-start-lg-2{grid-column-start:2}.grid .g-start-lg-3{grid-column-start:3}.grid .g-start-lg-4{grid-column-start:4}.grid .g-start-lg-5{grid-column-start:5}.grid .g-start-lg-6{grid-column-start:6}.grid .g-start-lg-7{grid-column-start:7}.grid .g-start-lg-8{grid-column-start:8}.grid .g-start-lg-9{grid-column-start:9}.grid .g-start-lg-10{grid-column-start:10}.grid .g-start-lg-11{grid-column-start:11}}@media(min-width: 1200px){.grid .g-col-xl-1{grid-column:auto/span 1}.grid .g-col-xl-2{grid-column:auto/span 2}.grid .g-col-xl-3{grid-column:auto/span 3}.grid .g-col-xl-4{grid-column:auto/span 4}.grid .g-col-xl-5{grid-column:auto/span 5}.grid .g-col-xl-6{grid-column:auto/span 6}.grid .g-col-xl-7{grid-column:auto/span 7}.grid .g-col-xl-8{grid-column:auto/span 8}.grid .g-col-xl-9{grid-column:auto/span 9}.grid .g-col-xl-10{grid-column:auto/span 10}.grid .g-col-xl-11{grid-column:auto/span 11}.grid .g-col-xl-12{grid-column:auto/span 12}.grid .g-start-xl-1{grid-column-start:1}.grid .g-start-xl-2{grid-column-start:2}.grid .g-start-xl-3{grid-column-start:3}.grid .g-start-xl-4{grid-column-start:4}.grid .g-start-xl-5{grid-column-start:5}.grid .g-start-xl-6{grid-column-start:6}.grid .g-start-xl-7{grid-column-start:7}.grid .g-start-xl-8{grid-column-start:8}.grid .g-start-xl-9{grid-column-start:9}.grid .g-start-xl-10{grid-column-start:10}.grid .g-start-xl-11{grid-column-start:11}}@media(min-width: 1400px){.grid .g-col-xxl-1{grid-column:auto/span 1}.grid .g-col-xxl-2{grid-column:auto/span 2}.grid .g-col-xxl-3{grid-column:auto/span 3}.grid .g-col-xxl-4{grid-column:auto/span 4}.grid .g-col-xxl-5{grid-column:auto/span 5}.grid .g-col-xxl-6{grid-column:auto/span 6}.grid .g-col-xxl-7{grid-column:auto/span 7}.grid .g-col-xxl-8{grid-column:auto/span 8}.grid .g-col-xxl-9{grid-column:auto/span 9}.grid .g-col-xxl-10{grid-column:auto/span 10}.grid .g-col-xxl-11{grid-column:auto/span 11}.grid .g-col-xxl-12{grid-column:auto/span 12}.grid .g-start-xxl-1{grid-column-start:1}.grid .g-start-xxl-2{grid-column-start:2}.grid .g-start-xxl-3{grid-column-start:3}.grid .g-start-xxl-4{grid-column-start:4}.grid .g-start-xxl-5{grid-column-start:5}.grid .g-start-xxl-6{grid-column-start:6}.grid .g-start-xxl-7{grid-column-start:7}.grid .g-start-xxl-8{grid-column-start:8}.grid .g-start-xxl-9{grid-column-start:9}.grid .g-start-xxl-10{grid-column-start:10}.grid .g-start-xxl-11{grid-column-start:11}}.table{--bs-table-bg: transparent;--bs-table-accent-bg: transparent;--bs-table-striped-color: #495057;--bs-table-striped-bg: rgba(0, 0, 0, 0.05);--bs-table-active-color: #495057;--bs-table-active-bg: rgba(0, 0, 0, 0.1);--bs-table-hover-color: #495057;--bs-table-hover-bg: rgba(0, 0, 0, 0.075);width:100%;margin-bottom:1rem;color:#495057;vertical-align:top;border-color:#dee2e6}.table>:not(caption)>*>*{padding:.5rem .5rem;background-color:var(--bs-table-bg);border-bottom-width:1px;box-shadow:inset 0 0 0 9999px var(--bs-table-accent-bg)}.table>tbody{vertical-align:inherit}.table>thead{vertical-align:bottom}.table>:not(:first-child){border-top:2px solid currentColor}.caption-top{caption-side:top}.table-sm>:not(caption)>*>*{padding:.25rem .25rem}.table-bordered>:not(caption)>*{border-width:1px 0}.table-bordered>:not(caption)>*>*{border-width:0 1px}.table-borderless>:not(caption)>*>*{border-bottom-width:0}.table-borderless>:not(:first-child){border-top-width:0}.table-striped>tbody>tr:nth-of-type(odd)>*{--bs-table-accent-bg: var(--bs-table-striped-bg);color:var(--bs-table-striped-color)}.table-active{--bs-table-accent-bg: var(--bs-table-active-bg);color:var(--bs-table-active-color)}.table-hover>tbody>tr:hover>*{--bs-table-accent-bg: var(--bs-table-hover-bg);color:var(--bs-table-hover-color)}.table-primary{--bs-table-bg: #d5edfa;--bs-table-striped-bg: #cae1ee;--bs-table-striped-color: #000;--bs-table-active-bg: #c0d5e1;--bs-table-active-color: #000;--bs-table-hover-bg: #c5dbe7;--bs-table-hover-color: #000;color:#000;border-color:#c0d5e1}.table-secondary{--bs-table-bg: #fbfbfc;--bs-table-striped-bg: #eeeeef;--bs-table-striped-color: #000;--bs-table-active-bg: #e2e2e3;--bs-table-active-color: #000;--bs-table-hover-bg: #e8e8e9;--bs-table-hover-color: #000;color:#000;border-color:#e2e2e3}.table-success{--bs-table-bg: #e3eed7;--bs-table-striped-bg: #d8e2cc;--bs-table-striped-color: #000;--bs-table-active-bg: #ccd6c2;--bs-table-active-color: #000;--bs-table-hover-bg: #d2dcc7;--bs-table-hover-color: #000;color:#000;border-color:#ccd6c2}.table-info{--bs-table-bg: #cdd8e3;--bs-table-striped-bg: #c3cdd8;--bs-table-striped-color: #000;--bs-table-active-bg: #b9c2cc;--bs-table-active-color: #000;--bs-table-hover-bg: #bec8d2;--bs-table-hover-color: #000;color:#000;border-color:#b9c2cc}.table-warning{--bs-table-bg: #f8ddcc;--bs-table-striped-bg: #ecd2c2;--bs-table-striped-color: #000;--bs-table-active-bg: #dfc7b8;--bs-table-active-color: #000;--bs-table-hover-bg: #e5ccbd;--bs-table-hover-color: #000;color:#000;border-color:#dfc7b8}.table-danger{--bs-table-bg: #f4d2d3;--bs-table-striped-bg: #e8c8c8;--bs-table-striped-color: #000;--bs-table-active-bg: #dcbdbe;--bs-table-active-color: #000;--bs-table-hover-bg: #e2c2c3;--bs-table-hover-color: #000;color:#000;border-color:#dcbdbe}.table-light{--bs-table-bg: #f8f9fa;--bs-table-striped-bg: #ecedee;--bs-table-striped-color: #000;--bs-table-active-bg: #dfe0e1;--bs-table-active-color: #000;--bs-table-hover-bg: #e5e6e7;--bs-table-hover-color: #000;color:#000;border-color:#dfe0e1}.table-dark{--bs-table-bg: #343a40;--bs-table-striped-bg: #3e444a;--bs-table-striped-color: #fff;--bs-table-active-bg: #484e53;--bs-table-active-color: #fff;--bs-table-hover-bg: #43494e;--bs-table-hover-color: #fff;color:#fff;border-color:#484e53}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}@media(max-width: 575.98px){.table-responsive-sm{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media(max-width: 767.98px){.table-responsive-md{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media(max-width: 991.98px){.table-responsive-lg{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media(max-width: 1199.98px){.table-responsive-xl{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media(max-width: 1399.98px){.table-responsive-xxl{overflow-x:auto;-webkit-overflow-scrolling:touch}}.form-label,.shiny-input-container .control-label{margin-bottom:.5rem}.col-form-label{padding-top:calc(0.375rem + 1px);padding-bottom:calc(0.375rem + 1px);margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(0.5rem + 1px);padding-bottom:calc(0.5rem + 1px);font-size:1.25rem}.col-form-label-sm{padding-top:calc(0.25rem + 1px);padding-bottom:calc(0.25rem + 1px);font-size:0.875rem}.form-text{margin-top:.25rem;font-size:0.875em;color:#868e96}.form-control{display:block;width:100%;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;appearance:none;-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;-o-appearance:none;border-radius:0;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion: reduce){.form-control{transition:none}}.form-control[type=file]{overflow:hidden}.form-control[type=file]:not(:disabled):not([readonly]){cursor:pointer}.form-control:focus{color:#495057;background-color:#fff;border-color:#97d2f3;outline:0;box-shadow:0 0 0 .25rem rgba(47,164,231,.25)}.form-control::-webkit-date-and-time-value{height:1.5em}.form-control::placeholder{color:#868e96;opacity:1}.form-control:disabled,.form-control[readonly]{background-color:#e9ecef;opacity:1}.form-control::file-selector-button{padding:.375rem .75rem;margin:-0.375rem -0.75rem;margin-inline-end:.75rem;color:#495057;background-color:#e9ecef;pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:1px;border-radius:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion: reduce){.form-control::file-selector-button{transition:none}}.form-control:hover:not(:disabled):not([readonly])::file-selector-button{background-color:#dde0e3}.form-control::-webkit-file-upload-button{padding:.375rem .75rem;margin:-0.375rem -0.75rem;margin-inline-end:.75rem;color:#495057;background-color:#e9ecef;pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:1px;border-radius:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion: reduce){.form-control::-webkit-file-upload-button{transition:none}}.form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button{background-color:#dde0e3}.form-control-plaintext{display:block;width:100%;padding:.375rem 0;margin-bottom:0;line-height:1.5;color:#495057;background-color:transparent;border:solid transparent;border-width:1px 0}.form-control-plaintext.form-control-sm,.form-control-plaintext.form-control-lg{padding-right:0;padding-left:0}.form-control-sm{min-height:calc(1.5em + 0.5rem + 2px);padding:.25rem .5rem;font-size:0.875rem}.form-control-sm::file-selector-button{padding:.25rem .5rem;margin:-0.25rem -0.5rem;margin-inline-end:.5rem}.form-control-sm::-webkit-file-upload-button{padding:.25rem .5rem;margin:-0.25rem -0.5rem;margin-inline-end:.5rem}.form-control-lg{min-height:calc(1.5em + 1rem + 2px);padding:.5rem 1rem;font-size:1.25rem}.form-control-lg::file-selector-button{padding:.5rem 1rem;margin:-0.5rem -1rem;margin-inline-end:1rem}.form-control-lg::-webkit-file-upload-button{padding:.5rem 1rem;margin:-0.5rem -1rem;margin-inline-end:1rem}textarea.form-control{min-height:calc(1.5em + 0.75rem + 2px)}textarea.form-control-sm{min-height:calc(1.5em + 0.5rem + 2px)}textarea.form-control-lg{min-height:calc(1.5em + 1rem + 2px)}.form-control-color{width:3rem;height:auto;padding:.375rem}.form-control-color:not(:disabled):not([readonly]){cursor:pointer}.form-control-color::-moz-color-swatch{height:1.5em}.form-control-color::-webkit-color-swatch{height:1.5em}.form-select{display:block;width:100%;padding:.375rem 2.25rem .375rem .75rem;-moz-padding-start:calc(0.75rem - 3px);font-size:1rem;font-weight:400;line-height:1.5;color:#495057;background-color:#fff;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right .75rem center;background-size:16px 12px;border:1px solid #ced4da;border-radius:0;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;appearance:none;-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;-o-appearance:none}@media(prefers-reduced-motion: reduce){.form-select{transition:none}}.form-select:focus{border-color:#97d2f3;outline:0;box-shadow:0 0 0 .25rem rgba(47,164,231,.25)}.form-select[multiple],.form-select[size]:not([size="1"]){padding-right:.75rem;background-image:none}.form-select:disabled{background-color:#e9ecef}.form-select:-moz-focusring{color:transparent;text-shadow:0 0 0 #495057}.form-select-sm{padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:0.875rem}.form-select-lg{padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem}.form-check,.shiny-input-container .checkbox,.shiny-input-container .radio{display:block;min-height:1.5rem;padding-left:0;margin-bottom:.125rem}.form-check .form-check-input,.form-check .shiny-input-container .checkbox input,.form-check .shiny-input-container .radio input,.shiny-input-container .checkbox .form-check-input,.shiny-input-container .checkbox .shiny-input-container .checkbox input,.shiny-input-container .checkbox .shiny-input-container .radio input,.shiny-input-container .radio .form-check-input,.shiny-input-container .radio .shiny-input-container .checkbox input,.shiny-input-container .radio .shiny-input-container .radio input{float:left;margin-left:0}.form-check-input,.shiny-input-container .checkbox input,.shiny-input-container .checkbox-inline input,.shiny-input-container .radio input,.shiny-input-container .radio-inline input{width:1em;height:1em;margin-top:.25em;vertical-align:top;background-color:#fff;background-repeat:no-repeat;background-position:center;background-size:contain;border:1px solid rgba(0,0,0,.25);appearance:none;-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;-o-appearance:none;color-adjust:exact;-webkit-print-color-adjust:exact}.form-check-input[type=radio],.shiny-input-container .checkbox input[type=radio],.shiny-input-container .checkbox-inline input[type=radio],.shiny-input-container .radio input[type=radio],.shiny-input-container .radio-inline input[type=radio]{border-radius:50%}.form-check-input:active,.shiny-input-container .checkbox input:active,.shiny-input-container .checkbox-inline input:active,.shiny-input-container .radio input:active,.shiny-input-container .radio-inline input:active{filter:brightness(90%)}.form-check-input:focus,.shiny-input-container .checkbox input:focus,.shiny-input-container .checkbox-inline input:focus,.shiny-input-container .radio input:focus,.shiny-input-container .radio-inline input:focus{border-color:#97d2f3;outline:0;box-shadow:0 0 0 .25rem rgba(47,164,231,.25)}.form-check-input:checked,.shiny-input-container .checkbox input:checked,.shiny-input-container .checkbox-inline input:checked,.shiny-input-container .radio input:checked,.shiny-input-container .radio-inline input:checked{background-color:#2fa4e7;border-color:#2fa4e7}.form-check-input:checked[type=checkbox],.shiny-input-container .checkbox input:checked[type=checkbox],.shiny-input-container .checkbox-inline input:checked[type=checkbox],.shiny-input-container .radio input:checked[type=checkbox],.shiny-input-container .radio-inline input:checked[type=checkbox]{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10l3 3l6-6'/%3e%3c/svg%3e")}.form-check-input:checked[type=radio],.shiny-input-container .checkbox input:checked[type=radio],.shiny-input-container .checkbox-inline input:checked[type=radio],.shiny-input-container .radio input:checked[type=radio],.shiny-input-container .radio-inline input:checked[type=radio]{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e")}.form-check-input[type=checkbox]:indeterminate,.shiny-input-container .checkbox input[type=checkbox]:indeterminate,.shiny-input-container .checkbox-inline input[type=checkbox]:indeterminate,.shiny-input-container .radio input[type=checkbox]:indeterminate,.shiny-input-container .radio-inline input[type=checkbox]:indeterminate{background-color:#2fa4e7;border-color:#2fa4e7;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e")}.form-check-input:disabled,.shiny-input-container .checkbox input:disabled,.shiny-input-container .checkbox-inline input:disabled,.shiny-input-container .radio input:disabled,.shiny-input-container .radio-inline input:disabled{pointer-events:none;filter:none;opacity:.5}.form-check-input[disabled]~.form-check-label,.form-check-input[disabled]~span,.form-check-input:disabled~.form-check-label,.form-check-input:disabled~span,.shiny-input-container .checkbox input[disabled]~.form-check-label,.shiny-input-container .checkbox input[disabled]~span,.shiny-input-container .checkbox input:disabled~.form-check-label,.shiny-input-container .checkbox input:disabled~span,.shiny-input-container .checkbox-inline input[disabled]~.form-check-label,.shiny-input-container .checkbox-inline input[disabled]~span,.shiny-input-container .checkbox-inline input:disabled~.form-check-label,.shiny-input-container .checkbox-inline input:disabled~span,.shiny-input-container .radio input[disabled]~.form-check-label,.shiny-input-container .radio input[disabled]~span,.shiny-input-container .radio input:disabled~.form-check-label,.shiny-input-container .radio input:disabled~span,.shiny-input-container .radio-inline input[disabled]~.form-check-label,.shiny-input-container .radio-inline input[disabled]~span,.shiny-input-container .radio-inline input:disabled~.form-check-label,.shiny-input-container .radio-inline input:disabled~span{opacity:.5}.form-check-label,.shiny-input-container .checkbox label,.shiny-input-container .checkbox-inline label,.shiny-input-container .radio label,.shiny-input-container .radio-inline label{cursor:pointer}.form-switch{padding-left:2.5em}.form-switch .form-check-input{width:2em;margin-left:-2.5em;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e");background-position:left center;transition:background-position .15s ease-in-out}@media(prefers-reduced-motion: reduce){.form-switch .form-check-input{transition:none}}.form-switch .form-check-input:focus{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2397d2f3'/%3e%3c/svg%3e")}.form-switch .form-check-input:checked{background-position:right center;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e")}.form-check-inline,.shiny-input-container .checkbox-inline,.shiny-input-container .radio-inline{display:inline-block;margin-right:1rem}.btn-check{position:absolute;clip:rect(0, 0, 0, 0);pointer-events:none}.btn-check[disabled]+.btn,.btn-check:disabled+.btn{pointer-events:none;filter:none;opacity:.65}.form-range{width:100%;height:1.5rem;padding:0;background-color:transparent;appearance:none;-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;-o-appearance:none}.form-range:focus{outline:0}.form-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem rgba(47,164,231,.25)}.form-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem rgba(47,164,231,.25)}.form-range::-moz-focus-outer{border:0}.form-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-0.25rem;background-color:#2fa4e7;border:0;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;appearance:none;-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;-o-appearance:none}@media(prefers-reduced-motion: reduce){.form-range::-webkit-slider-thumb{transition:none}}.form-range::-webkit-slider-thumb:active{background-color:#c1e4f8}.form-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent}.form-range::-moz-range-thumb{width:1rem;height:1rem;background-color:#2fa4e7;border:0;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;appearance:none;-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;-o-appearance:none}@media(prefers-reduced-motion: reduce){.form-range::-moz-range-thumb{transition:none}}.form-range::-moz-range-thumb:active{background-color:#c1e4f8}.form-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent}.form-range:disabled{pointer-events:none}.form-range:disabled::-webkit-slider-thumb{background-color:#adb5bd}.form-range:disabled::-moz-range-thumb{background-color:#adb5bd}.form-floating{position:relative}.form-floating>.form-control,.form-floating>.form-select{height:calc(3.5rem + 2px);line-height:1.25}.form-floating>label{position:absolute;top:0;left:0;height:100%;padding:1rem .75rem;pointer-events:none;border:1px solid transparent;transform-origin:0 0;transition:opacity .1s ease-in-out,transform .1s ease-in-out}@media(prefers-reduced-motion: reduce){.form-floating>label{transition:none}}.form-floating>.form-control{padding:1rem .75rem}.form-floating>.form-control::placeholder{color:transparent}.form-floating>.form-control:focus,.form-floating>.form-control:not(:placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:-webkit-autofill{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-select{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:focus~label,.form-floating>.form-control:not(:placeholder-shown)~label,.form-floating>.form-select~label{opacity:.65;transform:scale(0.85) translateY(-0.5rem) translateX(0.15rem)}.form-floating>.form-control:-webkit-autofill~label{opacity:.65;transform:scale(0.85) translateY(-0.5rem) translateX(0.15rem)}.input-group{position:relative;display:flex;display:-webkit-flex;flex-wrap:wrap;-webkit-flex-wrap:wrap;align-items:stretch;-webkit-align-items:stretch;width:100%}.input-group>.form-control,.input-group>.form-select{position:relative;flex:1 1 auto;-webkit-flex:1 1 auto;width:1%;min-width:0}.input-group>.form-control:focus,.input-group>.form-select:focus{z-index:3}.input-group .btn{position:relative;z-index:2}.input-group .btn:focus{z-index:3}.input-group-text{display:flex;display:-webkit-flex;align-items:center;-webkit-align-items:center;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;text-align:center;white-space:nowrap;background-color:#e9ecef;border:1px solid #ced4da}.input-group-lg>.form-control,.input-group-lg>.form-select,.input-group-lg>.input-group-text,.input-group-lg>.btn{padding:.5rem 1rem;font-size:1.25rem}.input-group-sm>.form-control,.input-group-sm>.form-select,.input-group-sm>.input-group-text,.input-group-sm>.btn{padding:.25rem .5rem;font-size:0.875rem}.input-group-lg>.form-select,.input-group-sm>.form-select{padding-right:3rem}.input-group>:not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback){margin-left:-1px}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:0.875em;color:#73a839}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:0.875rem;color:#fff;background-color:rgba(115,168,57,.9)}.was-validated :valid~.valid-feedback,.was-validated :valid~.valid-tooltip,.is-valid~.valid-feedback,.is-valid~.valid-tooltip{display:block}.was-validated .form-control:valid,.form-control.is-valid{border-color:#73a839;padding-right:calc(1.5em + 0.75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2373a839' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(0.375em + 0.1875rem) center;background-size:calc(0.75em + 0.375rem) calc(0.75em + 0.375rem)}.was-validated .form-control:valid:focus,.form-control.is-valid:focus{border-color:#73a839;box-shadow:0 0 0 .25rem rgba(115,168,57,.25)}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.5em + 0.75rem);background-position:top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem)}.was-validated .form-select:valid,.form-select.is-valid{border-color:#73a839}.was-validated .form-select:valid:not([multiple]):not([size]),.was-validated .form-select:valid:not([multiple])[size="1"],.form-select.is-valid:not([multiple]):not([size]),.form-select.is-valid:not([multiple])[size="1"]{padding-right:4.125rem;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e"),url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2373a839' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(0.75em + 0.375rem) calc(0.75em + 0.375rem)}.was-validated .form-select:valid:focus,.form-select.is-valid:focus{border-color:#73a839;box-shadow:0 0 0 .25rem rgba(115,168,57,.25)}.was-validated .form-check-input:valid,.form-check-input.is-valid{border-color:#73a839}.was-validated .form-check-input:valid:checked,.form-check-input.is-valid:checked{background-color:#73a839}.was-validated .form-check-input:valid:focus,.form-check-input.is-valid:focus{box-shadow:0 0 0 .25rem rgba(115,168,57,.25)}.was-validated .form-check-input:valid~.form-check-label,.form-check-input.is-valid~.form-check-label{color:#73a839}.form-check-inline .form-check-input~.valid-feedback{margin-left:.5em}.was-validated .input-group .form-control:valid,.input-group .form-control.is-valid,.was-validated .input-group .form-select:valid,.input-group .form-select.is-valid{z-index:1}.was-validated .input-group .form-control:valid:focus,.input-group .form-control.is-valid:focus,.was-validated .input-group .form-select:valid:focus,.input-group .form-select.is-valid:focus{z-index:3}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:0.875em;color:#c71c22}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:0.875rem;color:#fff;background-color:rgba(199,28,34,.9)}.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip,.is-invalid~.invalid-feedback,.is-invalid~.invalid-tooltip{display:block}.was-validated .form-control:invalid,.form-control.is-invalid{border-color:#c71c22;padding-right:calc(1.5em + 0.75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23c71c22'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23c71c22' stroke='none'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(0.375em + 0.1875rem) center;background-size:calc(0.75em + 0.375rem) calc(0.75em + 0.375rem)}.was-validated .form-control:invalid:focus,.form-control.is-invalid:focus{border-color:#c71c22;box-shadow:0 0 0 .25rem rgba(199,28,34,.25)}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.5em + 0.75rem);background-position:top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem)}.was-validated .form-select:invalid,.form-select.is-invalid{border-color:#c71c22}.was-validated .form-select:invalid:not([multiple]):not([size]),.was-validated .form-select:invalid:not([multiple])[size="1"],.form-select.is-invalid:not([multiple]):not([size]),.form-select.is-invalid:not([multiple])[size="1"]{padding-right:4.125rem;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e"),url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23c71c22'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23c71c22' stroke='none'/%3e%3c/svg%3e");background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(0.75em + 0.375rem) calc(0.75em + 0.375rem)}.was-validated .form-select:invalid:focus,.form-select.is-invalid:focus{border-color:#c71c22;box-shadow:0 0 0 .25rem rgba(199,28,34,.25)}.was-validated .form-check-input:invalid,.form-check-input.is-invalid{border-color:#c71c22}.was-validated .form-check-input:invalid:checked,.form-check-input.is-invalid:checked{background-color:#c71c22}.was-validated .form-check-input:invalid:focus,.form-check-input.is-invalid:focus{box-shadow:0 0 0 .25rem rgba(199,28,34,.25)}.was-validated .form-check-input:invalid~.form-check-label,.form-check-input.is-invalid~.form-check-label{color:#c71c22}.form-check-inline .form-check-input~.invalid-feedback{margin-left:.5em}.was-validated .input-group .form-control:invalid,.input-group .form-control.is-invalid,.was-validated .input-group .form-select:invalid,.input-group .form-select.is-invalid{z-index:2}.was-validated .input-group .form-control:invalid:focus,.input-group .form-control.is-invalid:focus,.was-validated .input-group .form-select:invalid:focus,.input-group .form-select.is-invalid:focus{z-index:3}.btn{display:inline-block;font-weight:400;line-height:1.5;color:#495057;text-align:center;text-decoration:none;-webkit-text-decoration:none;-moz-text-decoration:none;-ms-text-decoration:none;-o-text-decoration:none;vertical-align:middle;cursor:pointer;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;background-color:transparent;border:1px solid transparent;padding:.375rem .75rem;font-size:1rem;border-radius:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion: reduce){.btn{transition:none}}.btn:hover{color:#495057}.btn-check:focus+.btn,.btn:focus{outline:0;box-shadow:0 0 0 .25rem rgba(47,164,231,.25)}.btn:disabled,.btn.disabled,fieldset:disabled .btn{pointer-events:none;opacity:.65}.btn-default{color:#000;background-color:#e9ecef;border-color:#e9ecef}.btn-default:hover{color:#000;background-color:#eceff1;border-color:#ebeef1}.btn-check:focus+.btn-default,.btn-default:focus{color:#000;background-color:#eceff1;border-color:#ebeef1;box-shadow:0 0 0 .25rem rgba(198,201,203,.5)}.btn-check:checked+.btn-default,.btn-check:active+.btn-default,.btn-default:active,.btn-default.active,.show>.btn-default.dropdown-toggle{color:#000;background-color:#edf0f2;border-color:#ebeef1}.btn-check:checked+.btn-default:focus,.btn-check:active+.btn-default:focus,.btn-default:active:focus,.btn-default.active:focus,.show>.btn-default.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(198,201,203,.5)}.btn-default:disabled,.btn-default.disabled{color:#000;background-color:#e9ecef;border-color:#e9ecef}.btn-primary{color:#fff;background-color:#2fa4e7;border-color:#2fa4e7}.btn-primary:hover{color:#fff;background-color:#288bc4;border-color:#2683b9}.btn-check:focus+.btn-primary,.btn-primary:focus{color:#fff;background-color:#288bc4;border-color:#2683b9;box-shadow:0 0 0 .25rem rgba(78,178,235,.5)}.btn-check:checked+.btn-primary,.btn-check:active+.btn-primary,.btn-primary:active,.btn-primary.active,.show>.btn-primary.dropdown-toggle{color:#fff;background-color:#2683b9;border-color:#237bad}.btn-check:checked+.btn-primary:focus,.btn-check:active+.btn-primary:focus,.btn-primary:active:focus,.btn-primary.active:focus,.show>.btn-primary.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(78,178,235,.5)}.btn-primary:disabled,.btn-primary.disabled{color:#fff;background-color:#2fa4e7;border-color:#2fa4e7}.btn-secondary{color:#000;background-color:#e9ecef;border-color:#e9ecef}.btn-secondary:hover{color:#000;background-color:#eceff1;border-color:#ebeef1}.btn-check:focus+.btn-secondary,.btn-secondary:focus{color:#000;background-color:#eceff1;border-color:#ebeef1;box-shadow:0 0 0 .25rem rgba(198,201,203,.5)}.btn-check:checked+.btn-secondary,.btn-check:active+.btn-secondary,.btn-secondary:active,.btn-secondary.active,.show>.btn-secondary.dropdown-toggle{color:#000;background-color:#edf0f2;border-color:#ebeef1}.btn-check:checked+.btn-secondary:focus,.btn-check:active+.btn-secondary:focus,.btn-secondary:active:focus,.btn-secondary.active:focus,.show>.btn-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(198,201,203,.5)}.btn-secondary:disabled,.btn-secondary.disabled{color:#000;background-color:#e9ecef;border-color:#e9ecef}.btn-success{color:#fff;background-color:#73a839;border-color:#73a839}.btn-success:hover{color:#fff;background-color:#628f30;border-color:#5c862e}.btn-check:focus+.btn-success,.btn-success:focus{color:#fff;background-color:#628f30;border-color:#5c862e;box-shadow:0 0 0 .25rem rgba(136,181,87,.5)}.btn-check:checked+.btn-success,.btn-check:active+.btn-success,.btn-success:active,.btn-success.active,.show>.btn-success.dropdown-toggle{color:#fff;background-color:#5c862e;border-color:#567e2b}.btn-check:checked+.btn-success:focus,.btn-check:active+.btn-success:focus,.btn-success:active:focus,.btn-success.active:focus,.show>.btn-success.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(136,181,87,.5)}.btn-success:disabled,.btn-success.disabled{color:#fff;background-color:#73a839;border-color:#73a839}.btn-info{color:#fff;background-color:#033c73;border-color:#033c73}.btn-info:hover{color:#fff;background-color:#033362;border-color:#02305c}.btn-check:focus+.btn-info,.btn-info:focus{color:#fff;background-color:#033362;border-color:#02305c;box-shadow:0 0 0 .25rem rgba(41,89,136,.5)}.btn-check:checked+.btn-info,.btn-check:active+.btn-info,.btn-info:active,.btn-info.active,.show>.btn-info.dropdown-toggle{color:#fff;background-color:#02305c;border-color:#022d56}.btn-check:checked+.btn-info:focus,.btn-check:active+.btn-info:focus,.btn-info:active:focus,.btn-info.active:focus,.show>.btn-info.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(41,89,136,.5)}.btn-info:disabled,.btn-info.disabled{color:#fff;background-color:#033c73;border-color:#033c73}.btn-warning{color:#fff;background-color:#dd5600;border-color:#dd5600}.btn-warning:hover{color:#fff;background-color:#bc4900;border-color:#b14500}.btn-check:focus+.btn-warning,.btn-warning:focus{color:#fff;background-color:#bc4900;border-color:#b14500;box-shadow:0 0 0 .25rem rgba(226,111,38,.5)}.btn-check:checked+.btn-warning,.btn-check:active+.btn-warning,.btn-warning:active,.btn-warning.active,.show>.btn-warning.dropdown-toggle{color:#fff;background-color:#b14500;border-color:#a64100}.btn-check:checked+.btn-warning:focus,.btn-check:active+.btn-warning:focus,.btn-warning:active:focus,.btn-warning.active:focus,.show>.btn-warning.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(226,111,38,.5)}.btn-warning:disabled,.btn-warning.disabled{color:#fff;background-color:#dd5600;border-color:#dd5600}.btn-danger{color:#fff;background-color:#c71c22;border-color:#c71c22}.btn-danger:hover{color:#fff;background-color:#a9181d;border-color:#9f161b}.btn-check:focus+.btn-danger,.btn-danger:focus{color:#fff;background-color:#a9181d;border-color:#9f161b;box-shadow:0 0 0 .25rem rgba(207,62,67,.5)}.btn-check:checked+.btn-danger,.btn-check:active+.btn-danger,.btn-danger:active,.btn-danger.active,.show>.btn-danger.dropdown-toggle{color:#fff;background-color:#9f161b;border-color:#95151a}.btn-check:checked+.btn-danger:focus,.btn-check:active+.btn-danger:focus,.btn-danger:active:focus,.btn-danger.active:focus,.show>.btn-danger.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(207,62,67,.5)}.btn-danger:disabled,.btn-danger.disabled{color:#fff;background-color:#c71c22;border-color:#c71c22}.btn-light{color:#000;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light:hover{color:#000;background-color:#f9fafb;border-color:#f9fafb}.btn-check:focus+.btn-light,.btn-light:focus{color:#000;background-color:#f9fafb;border-color:#f9fafb;box-shadow:0 0 0 .25rem rgba(211,212,213,.5)}.btn-check:checked+.btn-light,.btn-check:active+.btn-light,.btn-light:active,.btn-light.active,.show>.btn-light.dropdown-toggle{color:#000;background-color:#f9fafb;border-color:#f9fafb}.btn-check:checked+.btn-light:focus,.btn-check:active+.btn-light:focus,.btn-light:active:focus,.btn-light.active:focus,.show>.btn-light.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(211,212,213,.5)}.btn-light:disabled,.btn-light.disabled{color:#000;background-color:#f8f9fa;border-color:#f8f9fa}.btn-dark{color:#fff;background-color:#343a40;border-color:#343a40}.btn-dark:hover{color:#fff;background-color:#2c3136;border-color:#2a2e33}.btn-check:focus+.btn-dark,.btn-dark:focus{color:#fff;background-color:#2c3136;border-color:#2a2e33;box-shadow:0 0 0 .25rem rgba(82,88,93,.5)}.btn-check:checked+.btn-dark,.btn-check:active+.btn-dark,.btn-dark:active,.btn-dark.active,.show>.btn-dark.dropdown-toggle{color:#fff;background-color:#2a2e33;border-color:#272c30}.btn-check:checked+.btn-dark:focus,.btn-check:active+.btn-dark:focus,.btn-dark:active:focus,.btn-dark.active:focus,.show>.btn-dark.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(82,88,93,.5)}.btn-dark:disabled,.btn-dark.disabled{color:#fff;background-color:#343a40;border-color:#343a40}.btn-outline-default{color:#e9ecef;border-color:#e9ecef;background-color:transparent}.btn-outline-default:hover{color:#000;background-color:#e9ecef;border-color:#e9ecef}.btn-check:focus+.btn-outline-default,.btn-outline-default:focus{box-shadow:0 0 0 .25rem rgba(233,236,239,.5)}.btn-check:checked+.btn-outline-default,.btn-check:active+.btn-outline-default,.btn-outline-default:active,.btn-outline-default.active,.btn-outline-default.dropdown-toggle.show{color:#000;background-color:#e9ecef;border-color:#e9ecef}.btn-check:checked+.btn-outline-default:focus,.btn-check:active+.btn-outline-default:focus,.btn-outline-default:active:focus,.btn-outline-default.active:focus,.btn-outline-default.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem rgba(233,236,239,.5)}.btn-outline-default:disabled,.btn-outline-default.disabled{color:#e9ecef;background-color:transparent}.btn-outline-primary{color:#2fa4e7;border-color:#2fa4e7;background-color:transparent}.btn-outline-primary:hover{color:#fff;background-color:#2fa4e7;border-color:#2fa4e7}.btn-check:focus+.btn-outline-primary,.btn-outline-primary:focus{box-shadow:0 0 0 .25rem rgba(47,164,231,.5)}.btn-check:checked+.btn-outline-primary,.btn-check:active+.btn-outline-primary,.btn-outline-primary:active,.btn-outline-primary.active,.btn-outline-primary.dropdown-toggle.show{color:#fff;background-color:#2fa4e7;border-color:#2fa4e7}.btn-check:checked+.btn-outline-primary:focus,.btn-check:active+.btn-outline-primary:focus,.btn-outline-primary:active:focus,.btn-outline-primary.active:focus,.btn-outline-primary.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem rgba(47,164,231,.5)}.btn-outline-primary:disabled,.btn-outline-primary.disabled{color:#2fa4e7;background-color:transparent}.btn-outline-secondary{color:#e9ecef;border-color:#e9ecef;background-color:transparent}.btn-outline-secondary:hover{color:#000;background-color:#e9ecef;border-color:#e9ecef}.btn-check:focus+.btn-outline-secondary,.btn-outline-secondary:focus{box-shadow:0 0 0 .25rem rgba(233,236,239,.5)}.btn-check:checked+.btn-outline-secondary,.btn-check:active+.btn-outline-secondary,.btn-outline-secondary:active,.btn-outline-secondary.active,.btn-outline-secondary.dropdown-toggle.show{color:#000;background-color:#e9ecef;border-color:#e9ecef}.btn-check:checked+.btn-outline-secondary:focus,.btn-check:active+.btn-outline-secondary:focus,.btn-outline-secondary:active:focus,.btn-outline-secondary.active:focus,.btn-outline-secondary.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem rgba(233,236,239,.5)}.btn-outline-secondary:disabled,.btn-outline-secondary.disabled{color:#e9ecef;background-color:transparent}.btn-outline-success{color:#73a839;border-color:#73a839;background-color:transparent}.btn-outline-success:hover{color:#fff;background-color:#73a839;border-color:#73a839}.btn-check:focus+.btn-outline-success,.btn-outline-success:focus{box-shadow:0 0 0 .25rem rgba(115,168,57,.5)}.btn-check:checked+.btn-outline-success,.btn-check:active+.btn-outline-success,.btn-outline-success:active,.btn-outline-success.active,.btn-outline-success.dropdown-toggle.show{color:#fff;background-color:#73a839;border-color:#73a839}.btn-check:checked+.btn-outline-success:focus,.btn-check:active+.btn-outline-success:focus,.btn-outline-success:active:focus,.btn-outline-success.active:focus,.btn-outline-success.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem rgba(115,168,57,.5)}.btn-outline-success:disabled,.btn-outline-success.disabled{color:#73a839;background-color:transparent}.btn-outline-info{color:#033c73;border-color:#033c73;background-color:transparent}.btn-outline-info:hover{color:#fff;background-color:#033c73;border-color:#033c73}.btn-check:focus+.btn-outline-info,.btn-outline-info:focus{box-shadow:0 0 0 .25rem rgba(3,60,115,.5)}.btn-check:checked+.btn-outline-info,.btn-check:active+.btn-outline-info,.btn-outline-info:active,.btn-outline-info.active,.btn-outline-info.dropdown-toggle.show{color:#fff;background-color:#033c73;border-color:#033c73}.btn-check:checked+.btn-outline-info:focus,.btn-check:active+.btn-outline-info:focus,.btn-outline-info:active:focus,.btn-outline-info.active:focus,.btn-outline-info.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem rgba(3,60,115,.5)}.btn-outline-info:disabled,.btn-outline-info.disabled{color:#033c73;background-color:transparent}.btn-outline-warning{color:#dd5600;border-color:#dd5600;background-color:transparent}.btn-outline-warning:hover{color:#fff;background-color:#dd5600;border-color:#dd5600}.btn-check:focus+.btn-outline-warning,.btn-outline-warning:focus{box-shadow:0 0 0 .25rem rgba(221,86,0,.5)}.btn-check:checked+.btn-outline-warning,.btn-check:active+.btn-outline-warning,.btn-outline-warning:active,.btn-outline-warning.active,.btn-outline-warning.dropdown-toggle.show{color:#fff;background-color:#dd5600;border-color:#dd5600}.btn-check:checked+.btn-outline-warning:focus,.btn-check:active+.btn-outline-warning:focus,.btn-outline-warning:active:focus,.btn-outline-warning.active:focus,.btn-outline-warning.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem rgba(221,86,0,.5)}.btn-outline-warning:disabled,.btn-outline-warning.disabled{color:#dd5600;background-color:transparent}.btn-outline-danger{color:#c71c22;border-color:#c71c22;background-color:transparent}.btn-outline-danger:hover{color:#fff;background-color:#c71c22;border-color:#c71c22}.btn-check:focus+.btn-outline-danger,.btn-outline-danger:focus{box-shadow:0 0 0 .25rem rgba(199,28,34,.5)}.btn-check:checked+.btn-outline-danger,.btn-check:active+.btn-outline-danger,.btn-outline-danger:active,.btn-outline-danger.active,.btn-outline-danger.dropdown-toggle.show{color:#fff;background-color:#c71c22;border-color:#c71c22}.btn-check:checked+.btn-outline-danger:focus,.btn-check:active+.btn-outline-danger:focus,.btn-outline-danger:active:focus,.btn-outline-danger.active:focus,.btn-outline-danger.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem rgba(199,28,34,.5)}.btn-outline-danger:disabled,.btn-outline-danger.disabled{color:#c71c22;background-color:transparent}.btn-outline-light{color:#f8f9fa;border-color:#f8f9fa;background-color:transparent}.btn-outline-light:hover{color:#000;background-color:#f8f9fa;border-color:#f8f9fa}.btn-check:focus+.btn-outline-light,.btn-outline-light:focus{box-shadow:0 0 0 .25rem rgba(248,249,250,.5)}.btn-check:checked+.btn-outline-light,.btn-check:active+.btn-outline-light,.btn-outline-light:active,.btn-outline-light.active,.btn-outline-light.dropdown-toggle.show{color:#000;background-color:#f8f9fa;border-color:#f8f9fa}.btn-check:checked+.btn-outline-light:focus,.btn-check:active+.btn-outline-light:focus,.btn-outline-light:active:focus,.btn-outline-light.active:focus,.btn-outline-light.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem rgba(248,249,250,.5)}.btn-outline-light:disabled,.btn-outline-light.disabled{color:#f8f9fa;background-color:transparent}.btn-outline-dark{color:#343a40;border-color:#343a40;background-color:transparent}.btn-outline-dark:hover{color:#fff;background-color:#343a40;border-color:#343a40}.btn-check:focus+.btn-outline-dark,.btn-outline-dark:focus{box-shadow:0 0 0 .25rem rgba(52,58,64,.5)}.btn-check:checked+.btn-outline-dark,.btn-check:active+.btn-outline-dark,.btn-outline-dark:active,.btn-outline-dark.active,.btn-outline-dark.dropdown-toggle.show{color:#fff;background-color:#343a40;border-color:#343a40}.btn-check:checked+.btn-outline-dark:focus,.btn-check:active+.btn-outline-dark:focus,.btn-outline-dark:active:focus,.btn-outline-dark.active:focus,.btn-outline-dark.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem rgba(52,58,64,.5)}.btn-outline-dark:disabled,.btn-outline-dark.disabled{color:#343a40;background-color:transparent}.btn-link{font-weight:400;color:#2fa4e7;text-decoration:underline;-webkit-text-decoration:underline;-moz-text-decoration:underline;-ms-text-decoration:underline;-o-text-decoration:underline}.btn-link:hover{color:#2683b9}.btn-link:disabled,.btn-link.disabled{color:#868e96}.btn-lg,.btn-group-lg>.btn{padding:.5rem 1rem;font-size:1.25rem;border-radius:0}.btn-sm,.btn-group-sm>.btn{padding:.25rem .5rem;font-size:0.875rem;border-radius:0}.fade{transition:opacity .15s linear}@media(prefers-reduced-motion: reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{height:0;overflow:hidden;transition:height .2s ease}@media(prefers-reduced-motion: reduce){.collapsing{transition:none}}.collapsing.collapse-horizontal{width:0;height:auto;transition:width .35s ease}@media(prefers-reduced-motion: reduce){.collapsing.collapse-horizontal{transition:none}}.dropup,.dropend,.dropdown,.dropstart{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}.dropdown-toggle:empty::after{margin-left:0}.dropdown-menu{position:absolute;z-index:1000;display:none;min-width:10rem;padding:.5rem 0;margin:0;font-size:1rem;color:#495057;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.15)}.dropdown-menu[data-bs-popper]{top:100%;left:0;margin-top:.125rem}.dropdown-menu-start{--bs-position: start}.dropdown-menu-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-end{--bs-position: end}.dropdown-menu-end[data-bs-popper]{right:0;left:auto}@media(min-width: 576px){.dropdown-menu-sm-start{--bs-position: start}.dropdown-menu-sm-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-sm-end{--bs-position: end}.dropdown-menu-sm-end[data-bs-popper]{right:0;left:auto}}@media(min-width: 768px){.dropdown-menu-md-start{--bs-position: start}.dropdown-menu-md-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-md-end{--bs-position: end}.dropdown-menu-md-end[data-bs-popper]{right:0;left:auto}}@media(min-width: 992px){.dropdown-menu-lg-start{--bs-position: start}.dropdown-menu-lg-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-lg-end{--bs-position: end}.dropdown-menu-lg-end[data-bs-popper]{right:0;left:auto}}@media(min-width: 1200px){.dropdown-menu-xl-start{--bs-position: start}.dropdown-menu-xl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xl-end{--bs-position: end}.dropdown-menu-xl-end[data-bs-popper]{right:0;left:auto}}@media(min-width: 1400px){.dropdown-menu-xxl-start{--bs-position: start}.dropdown-menu-xxl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xxl-end{--bs-position: end}.dropdown-menu-xxl-end[data-bs-popper]{right:0;left:auto}}.dropup .dropdown-menu[data-bs-popper]{top:auto;bottom:100%;margin-top:0;margin-bottom:.125rem}.dropup .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}.dropup .dropdown-toggle:empty::after{margin-left:0}.dropend .dropdown-menu[data-bs-popper]{top:0;right:auto;left:100%;margin-top:0;margin-left:.125rem}.dropend .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid}.dropend .dropdown-toggle:empty::after{margin-left:0}.dropend .dropdown-toggle::after{vertical-align:0}.dropstart .dropdown-menu[data-bs-popper]{top:0;right:100%;left:auto;margin-top:0;margin-right:.125rem}.dropstart .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:""}.dropstart .dropdown-toggle::after{display:none}.dropstart .dropdown-toggle::before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent}.dropstart .dropdown-toggle:empty::after{margin-left:0}.dropstart .dropdown-toggle::before{vertical-align:0}.dropdown-divider{height:0;margin:.5rem 0;overflow:hidden;border-top:1px solid rgba(0,0,0,.15)}.dropdown-item{display:block;width:100%;padding:.25rem 1rem;clear:both;font-weight:400;color:#495057;text-align:inherit;text-decoration:none;-webkit-text-decoration:none;-moz-text-decoration:none;-ms-text-decoration:none;-o-text-decoration:none;white-space:nowrap;background-color:transparent;border:0}.dropdown-item:hover,.dropdown-item:focus{color:#fff;background-color:#2fa4e7}.dropdown-item.active,.dropdown-item:active{color:#fff;text-decoration:none;background-color:#2fa4e7}.dropdown-item.disabled,.dropdown-item:disabled{color:#adb5bd;pointer-events:none;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:.5rem 1rem;margin-bottom:0;font-size:0.875rem;color:#868e96;white-space:nowrap}.dropdown-item-text{display:block;padding:.25rem 1rem;color:#495057}.dropdown-menu-dark{color:#dee2e6;background-color:#343a40;border-color:rgba(0,0,0,.15)}.dropdown-menu-dark .dropdown-item{color:#dee2e6}.dropdown-menu-dark .dropdown-item:hover,.dropdown-menu-dark .dropdown-item:focus{color:#fff;background-color:rgba(255,255,255,.15)}.dropdown-menu-dark .dropdown-item.active,.dropdown-menu-dark .dropdown-item:active{color:#fff;background-color:#2fa4e7}.dropdown-menu-dark .dropdown-item.disabled,.dropdown-menu-dark .dropdown-item:disabled{color:#adb5bd}.dropdown-menu-dark .dropdown-divider{border-color:rgba(0,0,0,.15)}.dropdown-menu-dark .dropdown-item-text{color:#dee2e6}.dropdown-menu-dark .dropdown-header{color:#adb5bd}.btn-group,.btn-group-vertical{position:relative;display:inline-flex;vertical-align:middle}.btn-group>.btn,.btn-group-vertical>.btn{position:relative;flex:1 1 auto;-webkit-flex:1 1 auto}.btn-group>.btn-check:checked+.btn,.btn-group>.btn-check:focus+.btn,.btn-group>.btn:hover,.btn-group>.btn:focus,.btn-group>.btn:active,.btn-group>.btn.active,.btn-group-vertical>.btn-check:checked+.btn,.btn-group-vertical>.btn-check:focus+.btn,.btn-group-vertical>.btn:hover,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn.active{z-index:1}.btn-toolbar{display:flex;display:-webkit-flex;flex-wrap:wrap;-webkit-flex-wrap:wrap;justify-content:flex-start;-webkit-justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group>.btn:not(:first-child),.btn-group>.btn-group:not(:first-child){margin-left:-1px}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split::after,.dropup .dropdown-toggle-split::after,.dropend .dropdown-toggle-split::after{margin-left:0}.dropstart .dropdown-toggle-split::before{margin-right:0}.btn-sm+.dropdown-toggle-split,.btn-group-sm>.btn+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-lg+.dropdown-toggle-split,.btn-group-lg>.btn+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{flex-direction:column;-webkit-flex-direction:column;align-items:flex-start;-webkit-align-items:flex-start;justify-content:center;-webkit-justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn:not(:first-child),.btn-group-vertical>.btn-group:not(:first-child){margin-top:-1px}.nav{display:flex;display:-webkit-flex;flex-wrap:wrap;-webkit-flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:.5rem 1rem;color:#2fa4e7;text-decoration:none;-webkit-text-decoration:none;-moz-text-decoration:none;-ms-text-decoration:none;-o-text-decoration:none;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out}@media(prefers-reduced-motion: reduce){.nav-link{transition:none}}.nav-link:hover,.nav-link:focus{color:#2683b9}.nav-link.disabled{color:#868e96;pointer-events:none;cursor:default}.nav-tabs{border-bottom:1px solid #dee2e6}.nav-tabs .nav-link{margin-bottom:-1px;background:none;border:1px solid transparent}.nav-tabs .nav-link:hover,.nav-tabs .nav-link:focus{border-color:#e9ecef #e9ecef #dee2e6;isolation:isolate}.nav-tabs .nav-link.disabled{color:#868e96;background-color:transparent;border-color:transparent}.nav-tabs .nav-link.active,.nav-tabs .nav-item.show .nav-link{color:#495057;background-color:#fff;border-color:#dee2e6 #dee2e6 #fff}.nav-tabs .dropdown-menu{margin-top:-1px}.nav-pills .nav-link{background:none;border:0}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:#fff;background-color:#2fa4e7}.nav-fill>.nav-link,.nav-fill .nav-item{flex:1 1 auto;-webkit-flex:1 1 auto;text-align:center}.nav-justified>.nav-link,.nav-justified .nav-item{flex-basis:0;-webkit-flex-basis:0;flex-grow:1;-webkit-flex-grow:1;text-align:center}.nav-fill .nav-item .nav-link,.nav-justified .nav-item .nav-link{width:100%}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{position:relative;display:flex;display:-webkit-flex;flex-wrap:wrap;-webkit-flex-wrap:wrap;align-items:center;-webkit-align-items:center;justify-content:space-between;-webkit-justify-content:space-between;padding-top:.5rem;padding-bottom:.5rem}.navbar>.container-xxl,.navbar>.container-xl,.navbar>.container-lg,.navbar>.container-md,.navbar>.container-sm,.navbar>.container,.navbar>.container-fluid{display:flex;display:-webkit-flex;flex-wrap:inherit;-webkit-flex-wrap:inherit;align-items:center;-webkit-align-items:center;justify-content:space-between;-webkit-justify-content:space-between}.navbar-brand{padding-top:.3125rem;padding-bottom:.3125rem;margin-right:1rem;font-size:1.25rem;text-decoration:none;-webkit-text-decoration:none;-moz-text-decoration:none;-ms-text-decoration:none;-o-text-decoration:none;white-space:nowrap}.navbar-nav{display:flex;display:-webkit-flex;flex-direction:column;-webkit-flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link{padding-right:0;padding-left:0}.navbar-nav .dropdown-menu{position:static}.navbar-text{padding-top:.5rem;padding-bottom:.5rem}.navbar-collapse{flex-basis:100%;-webkit-flex-basis:100%;flex-grow:1;-webkit-flex-grow:1;align-items:center;-webkit-align-items:center}.navbar-toggler{padding:.25rem .75rem;font-size:1.25rem;line-height:1;background-color:transparent;border:1px solid transparent;transition:box-shadow .15s ease-in-out}@media(prefers-reduced-motion: reduce){.navbar-toggler{transition:none}}.navbar-toggler:hover{text-decoration:none}.navbar-toggler:focus{text-decoration:none;outline:0;box-shadow:0 0 0 .25rem}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;background-repeat:no-repeat;background-position:center;background-size:100%}.navbar-nav-scroll{max-height:var(--bs-scroll-height, 75vh);overflow-y:auto}@media(min-width: 576px){.navbar-expand-sm{flex-wrap:nowrap;-webkit-flex-wrap:nowrap;justify-content:flex-start;-webkit-justify-content:flex-start}.navbar-expand-sm .navbar-nav{flex-direction:row;-webkit-flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-sm .navbar-nav-scroll{overflow:visible}.navbar-expand-sm .navbar-collapse{display:flex !important;display:-webkit-flex !important;flex-basis:auto;-webkit-flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}.navbar-expand-sm .offcanvas-header{display:none}.navbar-expand-sm .offcanvas{position:inherit;bottom:0;z-index:1000;flex-grow:1;-webkit-flex-grow:1;visibility:visible !important;background-color:transparent;border-right:0;border-left:0;transition:none;transform:none}.navbar-expand-sm .offcanvas-top,.navbar-expand-sm .offcanvas-bottom{height:auto;border-top:0;border-bottom:0}.navbar-expand-sm .offcanvas-body{display:flex;display:-webkit-flex;flex-grow:0;-webkit-flex-grow:0;padding:0;overflow-y:visible}}@media(min-width: 768px){.navbar-expand-md{flex-wrap:nowrap;-webkit-flex-wrap:nowrap;justify-content:flex-start;-webkit-justify-content:flex-start}.navbar-expand-md .navbar-nav{flex-direction:row;-webkit-flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-md .navbar-nav-scroll{overflow:visible}.navbar-expand-md .navbar-collapse{display:flex !important;display:-webkit-flex !important;flex-basis:auto;-webkit-flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}.navbar-expand-md .offcanvas-header{display:none}.navbar-expand-md .offcanvas{position:inherit;bottom:0;z-index:1000;flex-grow:1;-webkit-flex-grow:1;visibility:visible !important;background-color:transparent;border-right:0;border-left:0;transition:none;transform:none}.navbar-expand-md .offcanvas-top,.navbar-expand-md .offcanvas-bottom{height:auto;border-top:0;border-bottom:0}.navbar-expand-md .offcanvas-body{display:flex;display:-webkit-flex;flex-grow:0;-webkit-flex-grow:0;padding:0;overflow-y:visible}}@media(min-width: 992px){.navbar-expand-lg{flex-wrap:nowrap;-webkit-flex-wrap:nowrap;justify-content:flex-start;-webkit-justify-content:flex-start}.navbar-expand-lg .navbar-nav{flex-direction:row;-webkit-flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-lg .navbar-nav-scroll{overflow:visible}.navbar-expand-lg .navbar-collapse{display:flex !important;display:-webkit-flex !important;flex-basis:auto;-webkit-flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}.navbar-expand-lg .offcanvas-header{display:none}.navbar-expand-lg .offcanvas{position:inherit;bottom:0;z-index:1000;flex-grow:1;-webkit-flex-grow:1;visibility:visible !important;background-color:transparent;border-right:0;border-left:0;transition:none;transform:none}.navbar-expand-lg .offcanvas-top,.navbar-expand-lg .offcanvas-bottom{height:auto;border-top:0;border-bottom:0}.navbar-expand-lg .offcanvas-body{display:flex;display:-webkit-flex;flex-grow:0;-webkit-flex-grow:0;padding:0;overflow-y:visible}}@media(min-width: 1200px){.navbar-expand-xl{flex-wrap:nowrap;-webkit-flex-wrap:nowrap;justify-content:flex-start;-webkit-justify-content:flex-start}.navbar-expand-xl .navbar-nav{flex-direction:row;-webkit-flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-xl .navbar-nav-scroll{overflow:visible}.navbar-expand-xl .navbar-collapse{display:flex !important;display:-webkit-flex !important;flex-basis:auto;-webkit-flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}.navbar-expand-xl .offcanvas-header{display:none}.navbar-expand-xl .offcanvas{position:inherit;bottom:0;z-index:1000;flex-grow:1;-webkit-flex-grow:1;visibility:visible !important;background-color:transparent;border-right:0;border-left:0;transition:none;transform:none}.navbar-expand-xl .offcanvas-top,.navbar-expand-xl .offcanvas-bottom{height:auto;border-top:0;border-bottom:0}.navbar-expand-xl .offcanvas-body{display:flex;display:-webkit-flex;flex-grow:0;-webkit-flex-grow:0;padding:0;overflow-y:visible}}@media(min-width: 1400px){.navbar-expand-xxl{flex-wrap:nowrap;-webkit-flex-wrap:nowrap;justify-content:flex-start;-webkit-justify-content:flex-start}.navbar-expand-xxl .navbar-nav{flex-direction:row;-webkit-flex-direction:row}.navbar-expand-xxl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xxl .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-xxl .navbar-nav-scroll{overflow:visible}.navbar-expand-xxl .navbar-collapse{display:flex !important;display:-webkit-flex !important;flex-basis:auto;-webkit-flex-basis:auto}.navbar-expand-xxl .navbar-toggler{display:none}.navbar-expand-xxl .offcanvas-header{display:none}.navbar-expand-xxl .offcanvas{position:inherit;bottom:0;z-index:1000;flex-grow:1;-webkit-flex-grow:1;visibility:visible !important;background-color:transparent;border-right:0;border-left:0;transition:none;transform:none}.navbar-expand-xxl .offcanvas-top,.navbar-expand-xxl .offcanvas-bottom{height:auto;border-top:0;border-bottom:0}.navbar-expand-xxl .offcanvas-body{display:flex;display:-webkit-flex;flex-grow:0;-webkit-flex-grow:0;padding:0;overflow-y:visible}}.navbar-expand{flex-wrap:nowrap;-webkit-flex-wrap:nowrap;justify-content:flex-start;-webkit-justify-content:flex-start}.navbar-expand .navbar-nav{flex-direction:row;-webkit-flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand .navbar-nav-scroll{overflow:visible}.navbar-expand .navbar-collapse{display:flex !important;display:-webkit-flex !important;flex-basis:auto;-webkit-flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-expand .offcanvas-header{display:none}.navbar-expand .offcanvas{position:inherit;bottom:0;z-index:1000;flex-grow:1;-webkit-flex-grow:1;visibility:visible !important;background-color:transparent;border-right:0;border-left:0;transition:none;transform:none}.navbar-expand .offcanvas-top,.navbar-expand .offcanvas-bottom{height:auto;border-top:0;border-bottom:0}.navbar-expand .offcanvas-body{display:flex;display:-webkit-flex;flex-grow:0;-webkit-flex-grow:0;padding:0;overflow-y:visible}.navbar-light{background-color:#2fa4e7}.navbar-light .navbar-brand{color:#fff}.navbar-light .navbar-brand:hover,.navbar-light .navbar-brand:focus{color:#040d12}.navbar-light .navbar-nav .nav-link{color:#fff}.navbar-light .navbar-nav .nav-link:hover,.navbar-light .navbar-nav .nav-link:focus{color:rgba(4,13,18,.8)}.navbar-light .navbar-nav .nav-link.disabled{color:rgba(255,255,255,.75)}.navbar-light .navbar-nav .show>.nav-link,.navbar-light .navbar-nav .nav-link.active{color:#040d12}.navbar-light .navbar-toggler{color:#fff;border-color:rgba(255,255,255,.4)}.navbar-light .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='%23fff' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.navbar-light .navbar-text{color:#fff}.navbar-light .navbar-text a,.navbar-light .navbar-text a:hover,.navbar-light .navbar-text a:focus{color:#040d12}.navbar-dark{background-color:#2fa4e7}.navbar-dark .navbar-brand{color:#fff}.navbar-dark .navbar-brand:hover,.navbar-dark .navbar-brand:focus{color:#040d12}.navbar-dark .navbar-nav .nav-link{color:#fff}.navbar-dark .navbar-nav .nav-link:hover,.navbar-dark .navbar-nav .nav-link:focus{color:rgba(4,13,18,.8)}.navbar-dark .navbar-nav .nav-link.disabled{color:rgba(255,255,255,.75)}.navbar-dark .navbar-nav .show>.nav-link,.navbar-dark .navbar-nav .active>.nav-link,.navbar-dark .navbar-nav .nav-link.active{color:#040d12}.navbar-dark .navbar-toggler{color:#fff;border-color:rgba(255,255,255,.4)}.navbar-dark .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='%23fff' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.navbar-dark .navbar-text{color:#fff}.navbar-dark .navbar-text a,.navbar-dark .navbar-text a:hover,.navbar-dark .navbar-text a:focus{color:#040d12}.card{position:relative;display:flex;display:-webkit-flex;flex-direction:column;-webkit-flex-direction:column;min-width:0;word-wrap:break-word;background-color:#fff;background-clip:border-box;border:1px solid rgba(0,0,0,.125)}.card>hr{margin-right:0;margin-left:0}.card>.list-group{border-top:inherit;border-bottom:inherit}.card>.list-group:first-child{border-top-width:0}.card>.list-group:last-child{border-bottom-width:0}.card>.card-header+.list-group,.card>.list-group+.card-footer{border-top:0}.card-body{flex:1 1 auto;-webkit-flex:1 1 auto;padding:1rem 1rem}.card-title{margin-bottom:.5rem}.card-subtitle{margin-top:-0.25rem;margin-bottom:0}.card-text:last-child{margin-bottom:0}.card-link+.card-link{margin-left:1rem}.card-header{padding:.5rem 1rem;margin-bottom:0;background-color:rgba(0,0,0,.03);border-bottom:1px solid rgba(0,0,0,.125)}.card-footer{padding:.5rem 1rem;background-color:rgba(0,0,0,.03);border-top:1px solid rgba(0,0,0,.125)}.card-header-tabs{margin-right:-0.5rem;margin-bottom:-0.5rem;margin-left:-0.5rem;border-bottom:0}.card-header-pills{margin-right:-0.5rem;margin-left:-0.5rem}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1rem}.card-img,.card-img-top,.card-img-bottom{width:100%}.card-group>.card{margin-bottom:.75rem}@media(min-width: 576px){.card-group{display:flex;display:-webkit-flex;flex-flow:row wrap;-webkit-flex-flow:row wrap}.card-group>.card{flex:1 0 0%;-webkit-flex:1 0 0%;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}}.accordion-button{position:relative;display:flex;display:-webkit-flex;align-items:center;-webkit-align-items:center;width:100%;padding:1rem 1.25rem;font-size:1rem;color:#495057;text-align:left;background-color:#fff;border:0;overflow-anchor:none;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,border-radius .15s ease}@media(prefers-reduced-motion: reduce){.accordion-button{transition:none}}.accordion-button:not(.collapsed){color:#2a94d0;background-color:#eaf6fd;box-shadow:inset 0 -1px 0 rgba(0,0,0,.125)}.accordion-button:not(.collapsed)::after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%232a94d0'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");transform:rotate(-180deg)}.accordion-button::after{flex-shrink:0;-webkit-flex-shrink:0;width:1.25rem;height:1.25rem;margin-left:auto;content:"";background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23495057'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-size:1.25rem;transition:transform .2s ease-in-out}@media(prefers-reduced-motion: reduce){.accordion-button::after{transition:none}}.accordion-button:hover{z-index:2}.accordion-button:focus{z-index:3;border-color:#97d2f3;outline:0;box-shadow:0 0 0 .25rem rgba(47,164,231,.25)}.accordion-header{margin-bottom:0}.accordion-item{background-color:#fff;border:1px solid rgba(0,0,0,.125)}.accordion-item:not(:first-of-type){border-top:0}.accordion-body{padding:1rem 1.25rem}.accordion-flush .accordion-collapse{border-width:0}.accordion-flush .accordion-item{border-right:0;border-left:0}.accordion-flush .accordion-item:first-child{border-top:0}.accordion-flush .accordion-item:last-child{border-bottom:0}.breadcrumb{display:flex;display:-webkit-flex;flex-wrap:wrap;-webkit-flex-wrap:wrap;padding:0 0;margin-bottom:1rem;list-style:none}.breadcrumb-item+.breadcrumb-item{padding-left:.5rem}.breadcrumb-item+.breadcrumb-item::before{float:left;padding-right:.5rem;color:#868e96;content:var(--bs-breadcrumb-divider, "/") /* rtl: var(--bs-breadcrumb-divider, "/") */}.breadcrumb-item.active{color:#868e96}.pagination{display:flex;display:-webkit-flex;padding-left:0;list-style:none}.page-link{position:relative;display:block;color:#2fa4e7;text-decoration:none;-webkit-text-decoration:none;-moz-text-decoration:none;-ms-text-decoration:none;-o-text-decoration:none;background-color:#fff;border:1px solid #dee2e6;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion: reduce){.page-link{transition:none}}.page-link:hover{z-index:2;color:#2683b9;background-color:#e9ecef;border-color:#dee2e6}.page-link:focus{z-index:3;color:#2683b9;background-color:#e9ecef;outline:0;box-shadow:0 0 0 .25rem rgba(47,164,231,.25)}.page-item:not(:first-child) .page-link{margin-left:-1px}.page-item.active .page-link{z-index:3;color:#fff;background-color:#2fa4e7;border-color:#2fa4e7}.page-item.disabled .page-link{color:#868e96;pointer-events:none;background-color:#fff;border-color:#dee2e6}.page-link{padding:.375rem .75rem}.pagination-lg .page-link{padding:.75rem 1.5rem;font-size:1.25rem}.pagination-sm .page-link{padding:.25rem .5rem;font-size:0.875rem}.badge{display:inline-block;padding:.35em .65em;font-size:0.75em;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.alert{position:relative;padding:1rem 1rem;margin-bottom:1rem;border:0 solid transparent}.alert-heading{color:inherit}.alert-link{font-weight:700}.alert-dismissible{padding-right:3rem}.alert-dismissible .btn-close{position:absolute;top:0;right:0;z-index:2;padding:1.25rem 1rem}.alert-default{color:#8c8e8f;background-color:#fbfbfc;border-color:#f8f9fa}.alert-default .alert-link{color:#707272}.alert-primary{color:#1c628b;background-color:#d5edfa;border-color:#c1e4f8}.alert-primary .alert-link{color:#164e6f}.alert-secondary{color:#8c8e8f;background-color:#fbfbfc;border-color:#f8f9fa}.alert-secondary .alert-link{color:#707272}.alert-success{color:#456522;background-color:#e3eed7;border-color:#d5e5c4}.alert-success .alert-link{color:#37511b}.alert-info{color:#022445;background-color:#cdd8e3;border-color:#b3c5d5}.alert-info .alert-link{color:#021d37}.alert-warning{color:#853400;background-color:#f8ddcc;border-color:#f5ccb3}.alert-warning .alert-link{color:#6a2a00}.alert-danger{color:#771114;background-color:#f4d2d3;border-color:#eebbbd}.alert-danger .alert-link{color:#5f0e10}.alert-light{color:#959596;background-color:#fefefe;border-color:#fdfdfe}.alert-light .alert-link{color:#777778}.alert-dark{color:#1f2326;background-color:#d6d8d9;border-color:#c2c4c6}.alert-dark .alert-link{color:#191c1e}@keyframes progress-bar-stripes{0%{background-position-x:.5rem}}.progress{display:flex;display:-webkit-flex;height:.5rem;overflow:hidden;font-size:0.75rem;background-color:#e9ecef}.progress-bar{display:flex;display:-webkit-flex;flex-direction:column;-webkit-flex-direction:column;justify-content:center;-webkit-justify-content:center;overflow:hidden;color:#fff;text-align:center;white-space:nowrap;background-color:#2fa4e7;transition:width .6s ease}@media(prefers-reduced-motion: reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-size:.5rem .5rem}.progress-bar-animated{animation:1s linear infinite progress-bar-stripes}@media(prefers-reduced-motion: reduce){.progress-bar-animated{animation:none}}.list-group{display:flex;display:-webkit-flex;flex-direction:column;-webkit-flex-direction:column;padding-left:0;margin-bottom:0}.list-group-numbered{list-style-type:none;counter-reset:section}.list-group-numbered>li::before{content:counters(section, ".") ". ";counter-increment:section}.list-group-item-action{width:100%;color:#495057;text-align:inherit}.list-group-item-action:hover,.list-group-item-action:focus{z-index:1;color:#495057;text-decoration:none;background-color:#f8f9fa}.list-group-item-action:active{color:#495057;background-color:#e9ecef}.list-group-item{position:relative;display:block;padding:.5rem 1rem;color:#212529;text-decoration:none;-webkit-text-decoration:none;-moz-text-decoration:none;-ms-text-decoration:none;-o-text-decoration:none;background-color:#fff;border:1px solid rgba(0,0,0,.125)}.list-group-item.disabled,.list-group-item:disabled{color:#868e96;pointer-events:none;background-color:#fff}.list-group-item.active{z-index:2;color:#fff;background-color:#2fa4e7;border-color:#2fa4e7}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{margin-top:-1px;border-top-width:1px}.list-group-horizontal{flex-direction:row;-webkit-flex-direction:row}.list-group-horizontal>.list-group-item.active{margin-top:0}.list-group-horizontal>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}@media(min-width: 576px){.list-group-horizontal-sm{flex-direction:row;-webkit-flex-direction:row}.list-group-horizontal-sm>.list-group-item.active{margin-top:0}.list-group-horizontal-sm>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-sm>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media(min-width: 768px){.list-group-horizontal-md{flex-direction:row;-webkit-flex-direction:row}.list-group-horizontal-md>.list-group-item.active{margin-top:0}.list-group-horizontal-md>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-md>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media(min-width: 992px){.list-group-horizontal-lg{flex-direction:row;-webkit-flex-direction:row}.list-group-horizontal-lg>.list-group-item.active{margin-top:0}.list-group-horizontal-lg>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-lg>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media(min-width: 1200px){.list-group-horizontal-xl{flex-direction:row;-webkit-flex-direction:row}.list-group-horizontal-xl>.list-group-item.active{margin-top:0}.list-group-horizontal-xl>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-xl>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media(min-width: 1400px){.list-group-horizontal-xxl{flex-direction:row;-webkit-flex-direction:row}.list-group-horizontal-xxl>.list-group-item.active{margin-top:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}.list-group-flush>.list-group-item{border-width:0 0 1px}.list-group-flush>.list-group-item:last-child{border-bottom-width:0}.list-group-item-default{color:#8c8e8f;background-color:#fbfbfc}.list-group-item-default.list-group-item-action:hover,.list-group-item-default.list-group-item-action:focus{color:#8c8e8f;background-color:#e2e2e3}.list-group-item-default.list-group-item-action.active{color:#fff;background-color:#8c8e8f;border-color:#8c8e8f}.list-group-item-primary{color:#1c628b;background-color:#d5edfa}.list-group-item-primary.list-group-item-action:hover,.list-group-item-primary.list-group-item-action:focus{color:#1c628b;background-color:#c0d5e1}.list-group-item-primary.list-group-item-action.active{color:#fff;background-color:#1c628b;border-color:#1c628b}.list-group-item-secondary{color:#8c8e8f;background-color:#fbfbfc}.list-group-item-secondary.list-group-item-action:hover,.list-group-item-secondary.list-group-item-action:focus{color:#8c8e8f;background-color:#e2e2e3}.list-group-item-secondary.list-group-item-action.active{color:#fff;background-color:#8c8e8f;border-color:#8c8e8f}.list-group-item-success{color:#456522;background-color:#e3eed7}.list-group-item-success.list-group-item-action:hover,.list-group-item-success.list-group-item-action:focus{color:#456522;background-color:#ccd6c2}.list-group-item-success.list-group-item-action.active{color:#fff;background-color:#456522;border-color:#456522}.list-group-item-info{color:#022445;background-color:#cdd8e3}.list-group-item-info.list-group-item-action:hover,.list-group-item-info.list-group-item-action:focus{color:#022445;background-color:#b9c2cc}.list-group-item-info.list-group-item-action.active{color:#fff;background-color:#022445;border-color:#022445}.list-group-item-warning{color:#853400;background-color:#f8ddcc}.list-group-item-warning.list-group-item-action:hover,.list-group-item-warning.list-group-item-action:focus{color:#853400;background-color:#dfc7b8}.list-group-item-warning.list-group-item-action.active{color:#fff;background-color:#853400;border-color:#853400}.list-group-item-danger{color:#771114;background-color:#f4d2d3}.list-group-item-danger.list-group-item-action:hover,.list-group-item-danger.list-group-item-action:focus{color:#771114;background-color:#dcbdbe}.list-group-item-danger.list-group-item-action.active{color:#fff;background-color:#771114;border-color:#771114}.list-group-item-light{color:#959596;background-color:#fefefe}.list-group-item-light.list-group-item-action:hover,.list-group-item-light.list-group-item-action:focus{color:#959596;background-color:#e5e5e5}.list-group-item-light.list-group-item-action.active{color:#fff;background-color:#959596;border-color:#959596}.list-group-item-dark{color:#1f2326;background-color:#d6d8d9}.list-group-item-dark.list-group-item-action:hover,.list-group-item-dark.list-group-item-action:focus{color:#1f2326;background-color:#c1c2c3}.list-group-item-dark.list-group-item-action.active{color:#fff;background-color:#1f2326;border-color:#1f2326}.btn-close{box-sizing:content-box;width:1em;height:1em;padding:.25em .25em;color:#000;background:transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat;border:0;opacity:.5}.btn-close:hover{color:#000;text-decoration:none;opacity:.75}.btn-close:focus{outline:0;box-shadow:0 0 0 .25rem rgba(47,164,231,.25);opacity:1}.btn-close:disabled,.btn-close.disabled{pointer-events:none;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;opacity:.25}.btn-close-white{filter:invert(1) grayscale(100%) brightness(200%)}.toast{width:350px;max-width:100%;font-size:0.875rem;pointer-events:auto;background-color:rgba(255,255,255,.85);background-clip:padding-box;border:1px solid rgba(0,0,0,.1);box-shadow:0 .5rem 1rem rgba(0,0,0,.15)}.toast.showing{opacity:0}.toast:not(.show){display:none}.toast-container{width:max-content;width:-webkit-max-content;width:-moz-max-content;width:-ms-max-content;width:-o-max-content;max-width:100%;pointer-events:none}.toast-container>:not(:last-child){margin-bottom:.75rem}.toast-header{display:flex;display:-webkit-flex;align-items:center;-webkit-align-items:center;padding:.5rem .75rem;color:#868e96;background-color:rgba(255,255,255,.85);background-clip:padding-box;border-bottom:1px solid rgba(0,0,0,.05)}.toast-header .btn-close{margin-right:-0.375rem;margin-left:.75rem}.toast-body{padding:.75rem;word-wrap:break-word}.modal{position:fixed;top:0;left:0;z-index:1055;display:none;width:100%;height:100%;overflow-x:hidden;overflow-y:auto;outline:0}.modal-dialog{position:relative;width:auto;margin:.5rem;pointer-events:none}.modal.fade .modal-dialog{transition:transform .3s ease-out;transform:translate(0, -50px)}@media(prefers-reduced-motion: reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{transform:none}.modal.modal-static .modal-dialog{transform:scale(1.02)}.modal-dialog-scrollable{height:calc(100% - 1rem)}.modal-dialog-scrollable .modal-content{max-height:100%;overflow:hidden}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:flex;display:-webkit-flex;align-items:center;-webkit-align-items:center;min-height:calc(100% - 1rem)}.modal-content{position:relative;display:flex;display:-webkit-flex;flex-direction:column;-webkit-flex-direction:column;width:100%;pointer-events:auto;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);outline:0}.modal-backdrop{position:fixed;top:0;left:0;z-index:1050;width:100vw;height:100vh;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:.5}.modal-header{display:flex;display:-webkit-flex;flex-shrink:0;-webkit-flex-shrink:0;align-items:center;-webkit-align-items:center;justify-content:space-between;-webkit-justify-content:space-between;padding:1rem 1rem;border-bottom:1px solid #dee2e6}.modal-header .btn-close{padding:.5rem .5rem;margin:-0.5rem -0.5rem -0.5rem auto}.modal-title{margin-bottom:0;line-height:1.5}.modal-body{position:relative;flex:1 1 auto;-webkit-flex:1 1 auto;padding:1rem}.modal-footer{display:flex;display:-webkit-flex;flex-wrap:wrap;-webkit-flex-wrap:wrap;flex-shrink:0;-webkit-flex-shrink:0;align-items:center;-webkit-align-items:center;justify-content:flex-end;-webkit-justify-content:flex-end;padding:.75rem;border-top:1px solid #dee2e6}.modal-footer>*{margin:.25rem}@media(min-width: 576px){.modal-dialog{max-width:500px;margin:1.75rem auto}.modal-dialog-scrollable{height:calc(100% - 3.5rem)}.modal-dialog-centered{min-height:calc(100% - 3.5rem)}.modal-sm{max-width:300px}}@media(min-width: 992px){.modal-lg,.modal-xl{max-width:800px}}@media(min-width: 1200px){.modal-xl{max-width:1140px}}.modal-fullscreen{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen .modal-content{height:100%;border:0}.modal-fullscreen .modal-body{overflow-y:auto}@media(max-width: 575.98px){.modal-fullscreen-sm-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-sm-down .modal-content{height:100%;border:0}.modal-fullscreen-sm-down .modal-body{overflow-y:auto}}@media(max-width: 767.98px){.modal-fullscreen-md-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-md-down .modal-content{height:100%;border:0}.modal-fullscreen-md-down .modal-body{overflow-y:auto}}@media(max-width: 991.98px){.modal-fullscreen-lg-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-lg-down .modal-content{height:100%;border:0}.modal-fullscreen-lg-down .modal-body{overflow-y:auto}}@media(max-width: 1199.98px){.modal-fullscreen-xl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xl-down .modal-content{height:100%;border:0}.modal-fullscreen-xl-down .modal-body{overflow-y:auto}}@media(max-width: 1399.98px){.modal-fullscreen-xxl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xxl-down .modal-content{height:100%;border:0}.modal-fullscreen-xxl-down .modal-body{overflow-y:auto}}.tooltip{position:absolute;z-index:1080;display:block;margin:0;font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:0.875rem;word-wrap:break-word;opacity:0}.tooltip.show{opacity:.9}.tooltip .tooltip-arrow{position:absolute;display:block;width:.8rem;height:.4rem}.tooltip .tooltip-arrow::before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-top,.bs-tooltip-auto[data-popper-placement^=top]{padding:.4rem 0}.bs-tooltip-top .tooltip-arrow,.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow{bottom:0}.bs-tooltip-top .tooltip-arrow::before,.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow::before{top:-1px;border-width:.4rem .4rem 0;border-top-color:#000}.bs-tooltip-end,.bs-tooltip-auto[data-popper-placement^=right]{padding:0 .4rem}.bs-tooltip-end .tooltip-arrow,.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow{left:0;width:.4rem;height:.8rem}.bs-tooltip-end .tooltip-arrow::before,.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow::before{right:-1px;border-width:.4rem .4rem .4rem 0;border-right-color:#000}.bs-tooltip-bottom,.bs-tooltip-auto[data-popper-placement^=bottom]{padding:.4rem 0}.bs-tooltip-bottom .tooltip-arrow,.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow{top:0}.bs-tooltip-bottom .tooltip-arrow::before,.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow::before{bottom:-1px;border-width:0 .4rem .4rem;border-bottom-color:#000}.bs-tooltip-start,.bs-tooltip-auto[data-popper-placement^=left]{padding:0 .4rem}.bs-tooltip-start .tooltip-arrow,.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow{right:0;width:.4rem;height:.8rem}.bs-tooltip-start .tooltip-arrow::before,.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow::before{left:-1px;border-width:.4rem 0 .4rem .4rem;border-left-color:#000}.tooltip-inner{max-width:200px;padding:.25rem .5rem;color:#fff;text-align:center;background-color:#000}.popover{position:absolute;top:0;left:0 /* rtl:ignore */;z-index:1070;display:block;max-width:276px;font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:0.875rem;word-wrap:break-word;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2)}.popover .popover-arrow{position:absolute;display:block;width:1rem;height:.5rem}.popover .popover-arrow::before,.popover .popover-arrow::after{position:absolute;display:block;content:"";border-color:transparent;border-style:solid}.bs-popover-top>.popover-arrow,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow{bottom:calc(-0.5rem - 1px)}.bs-popover-top>.popover-arrow::before,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::before{bottom:0;border-width:.5rem .5rem 0;border-top-color:rgba(0,0,0,.25)}.bs-popover-top>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::after{bottom:1px;border-width:.5rem .5rem 0;border-top-color:#fff}.bs-popover-end>.popover-arrow,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow{left:calc(-0.5rem - 1px);width:.5rem;height:1rem}.bs-popover-end>.popover-arrow::before,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::before{left:0;border-width:.5rem .5rem .5rem 0;border-right-color:rgba(0,0,0,.25)}.bs-popover-end>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::after{left:1px;border-width:.5rem .5rem .5rem 0;border-right-color:#fff}.bs-popover-bottom>.popover-arrow,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow{top:calc(-0.5rem - 1px)}.bs-popover-bottom>.popover-arrow::before,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::before{top:0;border-width:0 .5rem .5rem .5rem;border-bottom-color:rgba(0,0,0,.25)}.bs-popover-bottom>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::after{top:1px;border-width:0 .5rem .5rem .5rem;border-bottom-color:#fff}.bs-popover-bottom .popover-header::before,.bs-popover-auto[data-popper-placement^=bottom] .popover-header::before{position:absolute;top:0;left:50%;display:block;width:1rem;margin-left:-0.5rem;content:"";border-bottom:1px solid #f0f0f0}.bs-popover-start>.popover-arrow,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow{right:calc(-0.5rem - 1px);width:.5rem;height:1rem}.bs-popover-start>.popover-arrow::before,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::before{right:0;border-width:.5rem 0 .5rem .5rem;border-left-color:rgba(0,0,0,.25)}.bs-popover-start>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::after{right:1px;border-width:.5rem 0 .5rem .5rem;border-left-color:#fff}.popover-header{padding:.5rem 1rem;margin-bottom:0;font-size:1rem;color:#2fa4e7;background-color:#f0f0f0;border-bottom:1px solid rgba(0,0,0,.2)}.popover-header:empty{display:none}.popover-body{padding:1rem 1rem;color:#495057}.carousel{position:relative}.carousel.pointer-event{touch-action:pan-y;-webkit-touch-action:pan-y;-moz-touch-action:pan-y;-ms-touch-action:pan-y;-o-touch-action:pan-y}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner::after{display:block;clear:both;content:""}.carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;backface-visibility:hidden;-webkit-backface-visibility:hidden;-moz-backface-visibility:hidden;-ms-backface-visibility:hidden;-o-backface-visibility:hidden;transition:transform .6s ease-in-out}@media(prefers-reduced-motion: reduce){.carousel-item{transition:none}}.carousel-item.active,.carousel-item-next,.carousel-item-prev{display:block}.carousel-item-next:not(.carousel-item-start),.active.carousel-item-end{transform:translateX(100%)}.carousel-item-prev:not(.carousel-item-end),.active.carousel-item-start{transform:translateX(-100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;transform:none}.carousel-fade .carousel-item.active,.carousel-fade .carousel-item-next.carousel-item-start,.carousel-fade .carousel-item-prev.carousel-item-end{z-index:1;opacity:1}.carousel-fade .active.carousel-item-start,.carousel-fade .active.carousel-item-end{z-index:0;opacity:0;transition:opacity 0s .6s}@media(prefers-reduced-motion: reduce){.carousel-fade .active.carousel-item-start,.carousel-fade .active.carousel-item-end{transition:none}}.carousel-control-prev,.carousel-control-next{position:absolute;top:0;bottom:0;z-index:1;display:flex;display:-webkit-flex;align-items:center;-webkit-align-items:center;justify-content:center;-webkit-justify-content:center;width:15%;padding:0;color:#fff;text-align:center;background:none;border:0;opacity:.5;transition:opacity .15s ease}@media(prefers-reduced-motion: reduce){.carousel-control-prev,.carousel-control-next{transition:none}}.carousel-control-prev:hover,.carousel-control-prev:focus,.carousel-control-next:hover,.carousel-control-next:focus{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-prev-icon,.carousel-control-next-icon{display:inline-block;width:2rem;height:2rem;background-repeat:no-repeat;background-position:50%;background-size:100% 100%}.carousel-control-prev-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e")}.carousel-control-next-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e")}.carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:2;display:flex;display:-webkit-flex;justify-content:center;-webkit-justify-content:center;padding:0;margin-right:15%;margin-bottom:1rem;margin-left:15%;list-style:none}.carousel-indicators [data-bs-target]{box-sizing:content-box;flex:0 1 auto;-webkit-flex:0 1 auto;width:30px;height:3px;padding:0;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border:0;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .6s ease}@media(prefers-reduced-motion: reduce){.carousel-indicators [data-bs-target]{transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{position:absolute;right:15%;bottom:1.25rem;left:15%;padding-top:1.25rem;padding-bottom:1.25rem;color:#fff;text-align:center}.carousel-dark .carousel-control-prev-icon,.carousel-dark .carousel-control-next-icon{filter:invert(1) grayscale(100)}.carousel-dark .carousel-indicators [data-bs-target]{background-color:#000}.carousel-dark .carousel-caption{color:#000}@keyframes spinner-border{to{transform:rotate(360deg) /* rtl:ignore */}}.spinner-border{display:inline-block;width:2rem;height:2rem;vertical-align:-0.125em;border:.25em solid currentColor;border-right-color:transparent;border-radius:50%;animation:.75s linear infinite spinner-border}.spinner-border-sm{width:1rem;height:1rem;border-width:.2em}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}.spinner-grow{display:inline-block;width:2rem;height:2rem;vertical-align:-0.125em;background-color:currentColor;border-radius:50%;opacity:0;animation:.75s linear infinite spinner-grow}.spinner-grow-sm{width:1rem;height:1rem}@media(prefers-reduced-motion: reduce){.spinner-border,.spinner-grow{animation-duration:1.5s;-webkit-animation-duration:1.5s;-moz-animation-duration:1.5s;-ms-animation-duration:1.5s;-o-animation-duration:1.5s}}.offcanvas{position:fixed;bottom:0;z-index:1045;display:flex;display:-webkit-flex;flex-direction:column;-webkit-flex-direction:column;max-width:100%;visibility:hidden;background-color:#fff;background-clip:padding-box;outline:0;transition:transform .3s ease-in-out}@media(prefers-reduced-motion: reduce){.offcanvas{transition:none}}.offcanvas-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.offcanvas-backdrop.fade{opacity:0}.offcanvas-backdrop.show{opacity:.5}.offcanvas-header{display:flex;display:-webkit-flex;align-items:center;-webkit-align-items:center;justify-content:space-between;-webkit-justify-content:space-between;padding:1rem 1rem}.offcanvas-header .btn-close{padding:.5rem .5rem;margin-top:-0.5rem;margin-right:-0.5rem;margin-bottom:-0.5rem}.offcanvas-title{margin-bottom:0;line-height:1.5}.offcanvas-body{flex-grow:1;-webkit-flex-grow:1;padding:1rem 1rem;overflow-y:auto}.offcanvas-start{top:0;left:0;width:400px;border-right:1px solid rgba(0,0,0,.2);transform:translateX(-100%)}.offcanvas-end{top:0;right:0;width:400px;border-left:1px solid rgba(0,0,0,.2);transform:translateX(100%)}.offcanvas-top{top:0;right:0;left:0;height:30vh;max-height:100%;border-bottom:1px solid rgba(0,0,0,.2);transform:translateY(-100%)}.offcanvas-bottom{right:0;left:0;height:30vh;max-height:100%;border-top:1px solid rgba(0,0,0,.2);transform:translateY(100%)}.offcanvas.show{transform:none}.placeholder{display:inline-block;min-height:1em;vertical-align:middle;cursor:wait;background-color:currentColor;opacity:.5}.placeholder.btn::before{display:inline-block;content:""}.placeholder-xs{min-height:.6em}.placeholder-sm{min-height:.8em}.placeholder-lg{min-height:1.2em}.placeholder-glow .placeholder{animation:placeholder-glow 2s ease-in-out infinite}@keyframes placeholder-glow{50%{opacity:.2}}.placeholder-wave{mask-image:linear-gradient(130deg, #000 55%, rgba(0, 0, 0, 0.8) 75%, #000 95%);-webkit-mask-image:linear-gradient(130deg, #000 55%, rgba(0, 0, 0, 0.8) 75%, #000 95%);mask-size:200% 100%;-webkit-mask-size:200% 100%;animation:placeholder-wave 2s linear infinite}@keyframes placeholder-wave{100%{mask-position:-200% 0%;-webkit-mask-position:-200% 0%}}.clearfix::after{display:block;clear:both;content:""}.link-default{color:#e9ecef}.link-default:hover,.link-default:focus{color:#edf0f2}.link-primary{color:#2fa4e7}.link-primary:hover,.link-primary:focus{color:#2683b9}.link-secondary{color:#e9ecef}.link-secondary:hover,.link-secondary:focus{color:#edf0f2}.link-success{color:#73a839}.link-success:hover,.link-success:focus{color:#5c862e}.link-info{color:#033c73}.link-info:hover,.link-info:focus{color:#02305c}.link-warning{color:#dd5600}.link-warning:hover,.link-warning:focus{color:#b14500}.link-danger{color:#c71c22}.link-danger:hover,.link-danger:focus{color:#9f161b}.link-light{color:#f8f9fa}.link-light:hover,.link-light:focus{color:#f9fafb}.link-dark{color:#343a40}.link-dark:hover,.link-dark:focus{color:#2a2e33}.ratio{position:relative;width:100%}.ratio::before{display:block;padding-top:var(--bs-aspect-ratio);content:""}.ratio>*{position:absolute;top:0;left:0;width:100%;height:100%}.ratio-1x1{--bs-aspect-ratio: 100%}.ratio-4x3{--bs-aspect-ratio: calc(3 / 4 * 100%)}.ratio-16x9{--bs-aspect-ratio: calc(9 / 16 * 100%)}.ratio-21x9{--bs-aspect-ratio: calc(9 / 21 * 100%)}.fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}.sticky-top{position:sticky;top:0;z-index:1020}@media(min-width: 576px){.sticky-sm-top{position:sticky;top:0;z-index:1020}}@media(min-width: 768px){.sticky-md-top{position:sticky;top:0;z-index:1020}}@media(min-width: 992px){.sticky-lg-top{position:sticky;top:0;z-index:1020}}@media(min-width: 1200px){.sticky-xl-top{position:sticky;top:0;z-index:1020}}@media(min-width: 1400px){.sticky-xxl-top{position:sticky;top:0;z-index:1020}}.hstack{display:flex;display:-webkit-flex;flex-direction:row;-webkit-flex-direction:row;align-items:center;-webkit-align-items:center;align-self:stretch;-webkit-align-self:stretch}.vstack{display:flex;display:-webkit-flex;flex:1 1 auto;-webkit-flex:1 1 auto;flex-direction:column;-webkit-flex-direction:column;align-self:stretch;-webkit-align-self:stretch}.visually-hidden,.visually-hidden-focusable:not(:focus):not(:focus-within){position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;white-space:nowrap !important;border:0 !important}.stretched-link::after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;content:""}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vr{display:inline-block;align-self:stretch;-webkit-align-self:stretch;width:1px;min-height:1em;background-color:currentColor;opacity:.25}.align-baseline{vertical-align:baseline !important}.align-top{vertical-align:top !important}.align-middle{vertical-align:middle !important}.align-bottom{vertical-align:bottom !important}.align-text-bottom{vertical-align:text-bottom !important}.align-text-top{vertical-align:text-top !important}.float-start{float:left !important}.float-end{float:right !important}.float-none{float:none !important}.opacity-0{opacity:0 !important}.opacity-25{opacity:.25 !important}.opacity-50{opacity:.5 !important}.opacity-75{opacity:.75 !important}.opacity-100{opacity:1 !important}.overflow-auto{overflow:auto !important}.overflow-hidden{overflow:hidden !important}.overflow-visible{overflow:visible !important}.overflow-scroll{overflow:scroll !important}.d-inline{display:inline !important}.d-inline-block{display:inline-block !important}.d-block{display:block !important}.d-grid{display:grid !important}.d-table{display:table !important}.d-table-row{display:table-row !important}.d-table-cell{display:table-cell !important}.d-flex{display:flex !important}.d-inline-flex{display:inline-flex !important}.d-none{display:none !important}.shadow{box-shadow:0 .5rem 1rem rgba(0,0,0,.15) !important}.shadow-sm{box-shadow:0 .125rem .25rem rgba(0,0,0,.075) !important}.shadow-lg{box-shadow:0 1rem 3rem rgba(0,0,0,.175) !important}.shadow-none{box-shadow:none !important}.position-static{position:static !important}.position-relative{position:relative !important}.position-absolute{position:absolute !important}.position-fixed{position:fixed !important}.position-sticky{position:sticky !important}.top-0{top:0 !important}.top-50{top:50% !important}.top-100{top:100% !important}.bottom-0{bottom:0 !important}.bottom-50{bottom:50% !important}.bottom-100{bottom:100% !important}.start-0{left:0 !important}.start-50{left:50% !important}.start-100{left:100% !important}.end-0{right:0 !important}.end-50{right:50% !important}.end-100{right:100% !important}.translate-middle{transform:translate(-50%, -50%) !important}.translate-middle-x{transform:translateX(-50%) !important}.translate-middle-y{transform:translateY(-50%) !important}.border{border:1px solid #dee2e6 !important}.border-0{border:0 !important}.border-top{border-top:1px solid #dee2e6 !important}.border-top-0{border-top:0 !important}.border-end{border-right:1px solid #dee2e6 !important}.border-end-0{border-right:0 !important}.border-bottom{border-bottom:1px solid #dee2e6 !important}.border-bottom-0{border-bottom:0 !important}.border-start{border-left:1px solid #dee2e6 !important}.border-start-0{border-left:0 !important}.border-default{border-color:#e9ecef !important}.border-primary{border-color:#2fa4e7 !important}.border-secondary{border-color:#e9ecef !important}.border-success{border-color:#73a839 !important}.border-info{border-color:#033c73 !important}.border-warning{border-color:#dd5600 !important}.border-danger{border-color:#c71c22 !important}.border-light{border-color:#f8f9fa !important}.border-dark{border-color:#343a40 !important}.border-white{border-color:#fff !important}.border-1{border-width:1px !important}.border-2{border-width:2px !important}.border-3{border-width:3px !important}.border-4{border-width:4px !important}.border-5{border-width:5px !important}.w-25{width:25% !important}.w-50{width:50% !important}.w-75{width:75% !important}.w-100{width:100% !important}.w-auto{width:auto !important}.mw-100{max-width:100% !important}.vw-100{width:100vw !important}.min-vw-100{min-width:100vw !important}.h-25{height:25% !important}.h-50{height:50% !important}.h-75{height:75% !important}.h-100{height:100% !important}.h-auto{height:auto !important}.mh-100{max-height:100% !important}.vh-100{height:100vh !important}.min-vh-100{min-height:100vh !important}.flex-fill{flex:1 1 auto !important}.flex-row{flex-direction:row !important}.flex-column{flex-direction:column !important}.flex-row-reverse{flex-direction:row-reverse !important}.flex-column-reverse{flex-direction:column-reverse !important}.flex-grow-0{flex-grow:0 !important}.flex-grow-1{flex-grow:1 !important}.flex-shrink-0{flex-shrink:0 !important}.flex-shrink-1{flex-shrink:1 !important}.flex-wrap{flex-wrap:wrap !important}.flex-nowrap{flex-wrap:nowrap !important}.flex-wrap-reverse{flex-wrap:wrap-reverse !important}.gap-0{gap:0 !important}.gap-1{gap:.25rem !important}.gap-2{gap:.5rem !important}.gap-3{gap:1rem !important}.gap-4{gap:1.5rem !important}.gap-5{gap:3rem !important}.justify-content-start{justify-content:flex-start !important}.justify-content-end{justify-content:flex-end !important}.justify-content-center{justify-content:center !important}.justify-content-between{justify-content:space-between !important}.justify-content-around{justify-content:space-around !important}.justify-content-evenly{justify-content:space-evenly !important}.align-items-start{align-items:flex-start !important}.align-items-end{align-items:flex-end !important}.align-items-center{align-items:center !important}.align-items-baseline{align-items:baseline !important}.align-items-stretch{align-items:stretch !important}.align-content-start{align-content:flex-start !important}.align-content-end{align-content:flex-end !important}.align-content-center{align-content:center !important}.align-content-between{align-content:space-between !important}.align-content-around{align-content:space-around !important}.align-content-stretch{align-content:stretch !important}.align-self-auto{align-self:auto !important}.align-self-start{align-self:flex-start !important}.align-self-end{align-self:flex-end !important}.align-self-center{align-self:center !important}.align-self-baseline{align-self:baseline !important}.align-self-stretch{align-self:stretch !important}.order-first{order:-1 !important}.order-0{order:0 !important}.order-1{order:1 !important}.order-2{order:2 !important}.order-3{order:3 !important}.order-4{order:4 !important}.order-5{order:5 !important}.order-last{order:6 !important}.m-0{margin:0 !important}.m-1{margin:.25rem !important}.m-2{margin:.5rem !important}.m-3{margin:1rem !important}.m-4{margin:1.5rem !important}.m-5{margin:3rem !important}.m-auto{margin:auto !important}.mx-0{margin-right:0 !important;margin-left:0 !important}.mx-1{margin-right:.25rem !important;margin-left:.25rem !important}.mx-2{margin-right:.5rem !important;margin-left:.5rem !important}.mx-3{margin-right:1rem !important;margin-left:1rem !important}.mx-4{margin-right:1.5rem !important;margin-left:1.5rem !important}.mx-5{margin-right:3rem !important;margin-left:3rem !important}.mx-auto{margin-right:auto !important;margin-left:auto !important}.my-0{margin-top:0 !important;margin-bottom:0 !important}.my-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.my-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.my-3{margin-top:1rem !important;margin-bottom:1rem !important}.my-4{margin-top:1.5rem !important;margin-bottom:1.5rem !important}.my-5{margin-top:3rem !important;margin-bottom:3rem !important}.my-auto{margin-top:auto !important;margin-bottom:auto !important}.mt-0{margin-top:0 !important}.mt-1{margin-top:.25rem !important}.mt-2{margin-top:.5rem !important}.mt-3{margin-top:1rem !important}.mt-4{margin-top:1.5rem !important}.mt-5{margin-top:3rem !important}.mt-auto{margin-top:auto !important}.me-0{margin-right:0 !important}.me-1{margin-right:.25rem !important}.me-2{margin-right:.5rem !important}.me-3{margin-right:1rem !important}.me-4{margin-right:1.5rem !important}.me-5{margin-right:3rem !important}.me-auto{margin-right:auto !important}.mb-0{margin-bottom:0 !important}.mb-1{margin-bottom:.25rem !important}.mb-2{margin-bottom:.5rem !important}.mb-3{margin-bottom:1rem !important}.mb-4{margin-bottom:1.5rem !important}.mb-5{margin-bottom:3rem !important}.mb-auto{margin-bottom:auto !important}.ms-0{margin-left:0 !important}.ms-1{margin-left:.25rem !important}.ms-2{margin-left:.5rem !important}.ms-3{margin-left:1rem !important}.ms-4{margin-left:1.5rem !important}.ms-5{margin-left:3rem !important}.ms-auto{margin-left:auto !important}.p-0{padding:0 !important}.p-1{padding:.25rem !important}.p-2{padding:.5rem !important}.p-3{padding:1rem !important}.p-4{padding:1.5rem !important}.p-5{padding:3rem !important}.px-0{padding-right:0 !important;padding-left:0 !important}.px-1{padding-right:.25rem !important;padding-left:.25rem !important}.px-2{padding-right:.5rem !important;padding-left:.5rem !important}.px-3{padding-right:1rem !important;padding-left:1rem !important}.px-4{padding-right:1.5rem !important;padding-left:1.5rem !important}.px-5{padding-right:3rem !important;padding-left:3rem !important}.py-0{padding-top:0 !important;padding-bottom:0 !important}.py-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.py-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.py-3{padding-top:1rem !important;padding-bottom:1rem !important}.py-4{padding-top:1.5rem !important;padding-bottom:1.5rem !important}.py-5{padding-top:3rem !important;padding-bottom:3rem !important}.pt-0{padding-top:0 !important}.pt-1{padding-top:.25rem !important}.pt-2{padding-top:.5rem !important}.pt-3{padding-top:1rem !important}.pt-4{padding-top:1.5rem !important}.pt-5{padding-top:3rem !important}.pe-0{padding-right:0 !important}.pe-1{padding-right:.25rem !important}.pe-2{padding-right:.5rem !important}.pe-3{padding-right:1rem !important}.pe-4{padding-right:1.5rem !important}.pe-5{padding-right:3rem !important}.pb-0{padding-bottom:0 !important}.pb-1{padding-bottom:.25rem !important}.pb-2{padding-bottom:.5rem !important}.pb-3{padding-bottom:1rem !important}.pb-4{padding-bottom:1.5rem !important}.pb-5{padding-bottom:3rem !important}.ps-0{padding-left:0 !important}.ps-1{padding-left:.25rem !important}.ps-2{padding-left:.5rem !important}.ps-3{padding-left:1rem !important}.ps-4{padding-left:1.5rem !important}.ps-5{padding-left:3rem !important}.font-monospace{font-family:var(--bs-font-monospace) !important}.fs-1{font-size:calc(1.345rem + 1.14vw) !important}.fs-2{font-size:calc(1.3rem + 0.6vw) !important}.fs-3{font-size:calc(1.275rem + 0.3vw) !important}.fs-4{font-size:1.25rem !important}.fs-5{font-size:1.1rem !important}.fs-6{font-size:1rem !important}.fst-italic{font-style:italic !important}.fst-normal{font-style:normal !important}.fw-light{font-weight:300 !important}.fw-lighter{font-weight:lighter !important}.fw-normal{font-weight:400 !important}.fw-bold{font-weight:700 !important}.fw-bolder{font-weight:bolder !important}.lh-1{line-height:1 !important}.lh-sm{line-height:1.25 !important}.lh-base{line-height:1.5 !important}.lh-lg{line-height:2 !important}.text-start{text-align:left !important}.text-end{text-align:right !important}.text-center{text-align:center !important}.text-decoration-none{text-decoration:none !important}.text-decoration-underline{text-decoration:underline !important}.text-decoration-line-through{text-decoration:line-through !important}.text-lowercase{text-transform:lowercase !important}.text-uppercase{text-transform:uppercase !important}.text-capitalize{text-transform:capitalize !important}.text-wrap{white-space:normal !important}.text-nowrap{white-space:nowrap !important}.text-break{word-wrap:break-word !important;word-break:break-word !important}.text-default{--bs-text-opacity: 1;color:rgba(var(--bs-default-rgb), var(--bs-text-opacity)) !important}.text-primary{--bs-text-opacity: 1;color:rgba(var(--bs-primary-rgb), var(--bs-text-opacity)) !important}.text-secondary{--bs-text-opacity: 1;color:rgba(var(--bs-secondary-rgb), var(--bs-text-opacity)) !important}.text-success{--bs-text-opacity: 1;color:rgba(var(--bs-success-rgb), var(--bs-text-opacity)) !important}.text-info{--bs-text-opacity: 1;color:rgba(var(--bs-info-rgb), var(--bs-text-opacity)) !important}.text-warning{--bs-text-opacity: 1;color:rgba(var(--bs-warning-rgb), var(--bs-text-opacity)) !important}.text-danger{--bs-text-opacity: 1;color:rgba(var(--bs-danger-rgb), var(--bs-text-opacity)) !important}.text-light{--bs-text-opacity: 1;color:rgba(var(--bs-light-rgb), var(--bs-text-opacity)) !important}.text-dark{--bs-text-opacity: 1;color:rgba(var(--bs-dark-rgb), var(--bs-text-opacity)) !important}.text-black{--bs-text-opacity: 1;color:rgba(var(--bs-black-rgb), var(--bs-text-opacity)) !important}.text-white{--bs-text-opacity: 1;color:rgba(var(--bs-white-rgb), var(--bs-text-opacity)) !important}.text-body{--bs-text-opacity: 1;color:rgba(var(--bs-body-color-rgb), var(--bs-text-opacity)) !important}.text-muted{--bs-text-opacity: 1;color:#868e96 !important}.text-black-50{--bs-text-opacity: 1;color:rgba(0,0,0,.5) !important}.text-white-50{--bs-text-opacity: 1;color:rgba(255,255,255,.5) !important}.text-reset{--bs-text-opacity: 1;color:inherit !important}.text-opacity-25{--bs-text-opacity: 0.25}.text-opacity-50{--bs-text-opacity: 0.5}.text-opacity-75{--bs-text-opacity: 0.75}.text-opacity-100{--bs-text-opacity: 1}.bg-default{--bs-bg-opacity: 1;background-color:rgba(var(--bs-default-rgb), var(--bs-bg-opacity)) !important}.bg-primary{--bs-bg-opacity: 1;background-color:rgba(var(--bs-primary-rgb), var(--bs-bg-opacity)) !important}.bg-secondary{--bs-bg-opacity: 1;background-color:rgba(var(--bs-secondary-rgb), var(--bs-bg-opacity)) !important}.bg-success{--bs-bg-opacity: 1;background-color:rgba(var(--bs-success-rgb), var(--bs-bg-opacity)) !important}.bg-info{--bs-bg-opacity: 1;background-color:rgba(var(--bs-info-rgb), var(--bs-bg-opacity)) !important}.bg-warning{--bs-bg-opacity: 1;background-color:rgba(var(--bs-warning-rgb), var(--bs-bg-opacity)) !important}.bg-danger{--bs-bg-opacity: 1;background-color:rgba(var(--bs-danger-rgb), var(--bs-bg-opacity)) !important}.bg-light{--bs-bg-opacity: 1;background-color:rgba(var(--bs-light-rgb), var(--bs-bg-opacity)) !important}.bg-dark{--bs-bg-opacity: 1;background-color:rgba(var(--bs-dark-rgb), var(--bs-bg-opacity)) !important}.bg-black{--bs-bg-opacity: 1;background-color:rgba(var(--bs-black-rgb), var(--bs-bg-opacity)) !important}.bg-white{--bs-bg-opacity: 1;background-color:rgba(var(--bs-white-rgb), var(--bs-bg-opacity)) !important}.bg-body{--bs-bg-opacity: 1;background-color:rgba(var(--bs-body-bg-rgb), var(--bs-bg-opacity)) !important}.bg-transparent{--bs-bg-opacity: 1;background-color:transparent !important}.bg-opacity-10{--bs-bg-opacity: 0.1}.bg-opacity-25{--bs-bg-opacity: 0.25}.bg-opacity-50{--bs-bg-opacity: 0.5}.bg-opacity-75{--bs-bg-opacity: 0.75}.bg-opacity-100{--bs-bg-opacity: 1}.bg-gradient{background-image:var(--bs-gradient) !important}.user-select-all{user-select:all !important}.user-select-auto{user-select:auto !important}.user-select-none{user-select:none !important}.pe-none{pointer-events:none !important}.pe-auto{pointer-events:auto !important}.rounded{border-radius:.25rem !important}.rounded-0{border-radius:0 !important}.rounded-1{border-radius:.2rem !important}.rounded-2{border-radius:.25rem !important}.rounded-3{border-radius:.3rem !important}.rounded-circle{border-radius:50% !important}.rounded-pill{border-radius:50rem !important}.rounded-top{border-top-left-radius:.25rem !important;border-top-right-radius:.25rem !important}.rounded-end{border-top-right-radius:.25rem !important;border-bottom-right-radius:.25rem !important}.rounded-bottom{border-bottom-right-radius:.25rem !important;border-bottom-left-radius:.25rem !important}.rounded-start{border-bottom-left-radius:.25rem !important;border-top-left-radius:.25rem !important}.visible{visibility:visible !important}.invisible{visibility:hidden !important}@media(min-width: 576px){.float-sm-start{float:left !important}.float-sm-end{float:right !important}.float-sm-none{float:none !important}.d-sm-inline{display:inline !important}.d-sm-inline-block{display:inline-block !important}.d-sm-block{display:block !important}.d-sm-grid{display:grid !important}.d-sm-table{display:table !important}.d-sm-table-row{display:table-row !important}.d-sm-table-cell{display:table-cell !important}.d-sm-flex{display:flex !important}.d-sm-inline-flex{display:inline-flex !important}.d-sm-none{display:none !important}.flex-sm-fill{flex:1 1 auto !important}.flex-sm-row{flex-direction:row !important}.flex-sm-column{flex-direction:column !important}.flex-sm-row-reverse{flex-direction:row-reverse !important}.flex-sm-column-reverse{flex-direction:column-reverse !important}.flex-sm-grow-0{flex-grow:0 !important}.flex-sm-grow-1{flex-grow:1 !important}.flex-sm-shrink-0{flex-shrink:0 !important}.flex-sm-shrink-1{flex-shrink:1 !important}.flex-sm-wrap{flex-wrap:wrap !important}.flex-sm-nowrap{flex-wrap:nowrap !important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse !important}.gap-sm-0{gap:0 !important}.gap-sm-1{gap:.25rem !important}.gap-sm-2{gap:.5rem !important}.gap-sm-3{gap:1rem !important}.gap-sm-4{gap:1.5rem !important}.gap-sm-5{gap:3rem !important}.justify-content-sm-start{justify-content:flex-start !important}.justify-content-sm-end{justify-content:flex-end !important}.justify-content-sm-center{justify-content:center !important}.justify-content-sm-between{justify-content:space-between !important}.justify-content-sm-around{justify-content:space-around !important}.justify-content-sm-evenly{justify-content:space-evenly !important}.align-items-sm-start{align-items:flex-start !important}.align-items-sm-end{align-items:flex-end !important}.align-items-sm-center{align-items:center !important}.align-items-sm-baseline{align-items:baseline !important}.align-items-sm-stretch{align-items:stretch !important}.align-content-sm-start{align-content:flex-start !important}.align-content-sm-end{align-content:flex-end !important}.align-content-sm-center{align-content:center !important}.align-content-sm-between{align-content:space-between !important}.align-content-sm-around{align-content:space-around !important}.align-content-sm-stretch{align-content:stretch !important}.align-self-sm-auto{align-self:auto !important}.align-self-sm-start{align-self:flex-start !important}.align-self-sm-end{align-self:flex-end !important}.align-self-sm-center{align-self:center !important}.align-self-sm-baseline{align-self:baseline !important}.align-self-sm-stretch{align-self:stretch !important}.order-sm-first{order:-1 !important}.order-sm-0{order:0 !important}.order-sm-1{order:1 !important}.order-sm-2{order:2 !important}.order-sm-3{order:3 !important}.order-sm-4{order:4 !important}.order-sm-5{order:5 !important}.order-sm-last{order:6 !important}.m-sm-0{margin:0 !important}.m-sm-1{margin:.25rem !important}.m-sm-2{margin:.5rem !important}.m-sm-3{margin:1rem !important}.m-sm-4{margin:1.5rem !important}.m-sm-5{margin:3rem !important}.m-sm-auto{margin:auto !important}.mx-sm-0{margin-right:0 !important;margin-left:0 !important}.mx-sm-1{margin-right:.25rem !important;margin-left:.25rem !important}.mx-sm-2{margin-right:.5rem !important;margin-left:.5rem !important}.mx-sm-3{margin-right:1rem !important;margin-left:1rem !important}.mx-sm-4{margin-right:1.5rem !important;margin-left:1.5rem !important}.mx-sm-5{margin-right:3rem !important;margin-left:3rem !important}.mx-sm-auto{margin-right:auto !important;margin-left:auto !important}.my-sm-0{margin-top:0 !important;margin-bottom:0 !important}.my-sm-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.my-sm-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.my-sm-3{margin-top:1rem !important;margin-bottom:1rem !important}.my-sm-4{margin-top:1.5rem !important;margin-bottom:1.5rem !important}.my-sm-5{margin-top:3rem !important;margin-bottom:3rem !important}.my-sm-auto{margin-top:auto !important;margin-bottom:auto !important}.mt-sm-0{margin-top:0 !important}.mt-sm-1{margin-top:.25rem !important}.mt-sm-2{margin-top:.5rem !important}.mt-sm-3{margin-top:1rem !important}.mt-sm-4{margin-top:1.5rem !important}.mt-sm-5{margin-top:3rem !important}.mt-sm-auto{margin-top:auto !important}.me-sm-0{margin-right:0 !important}.me-sm-1{margin-right:.25rem !important}.me-sm-2{margin-right:.5rem !important}.me-sm-3{margin-right:1rem !important}.me-sm-4{margin-right:1.5rem !important}.me-sm-5{margin-right:3rem !important}.me-sm-auto{margin-right:auto !important}.mb-sm-0{margin-bottom:0 !important}.mb-sm-1{margin-bottom:.25rem !important}.mb-sm-2{margin-bottom:.5rem !important}.mb-sm-3{margin-bottom:1rem !important}.mb-sm-4{margin-bottom:1.5rem !important}.mb-sm-5{margin-bottom:3rem !important}.mb-sm-auto{margin-bottom:auto !important}.ms-sm-0{margin-left:0 !important}.ms-sm-1{margin-left:.25rem !important}.ms-sm-2{margin-left:.5rem !important}.ms-sm-3{margin-left:1rem !important}.ms-sm-4{margin-left:1.5rem !important}.ms-sm-5{margin-left:3rem !important}.ms-sm-auto{margin-left:auto !important}.p-sm-0{padding:0 !important}.p-sm-1{padding:.25rem !important}.p-sm-2{padding:.5rem !important}.p-sm-3{padding:1rem !important}.p-sm-4{padding:1.5rem !important}.p-sm-5{padding:3rem !important}.px-sm-0{padding-right:0 !important;padding-left:0 !important}.px-sm-1{padding-right:.25rem !important;padding-left:.25rem !important}.px-sm-2{padding-right:.5rem !important;padding-left:.5rem !important}.px-sm-3{padding-right:1rem !important;padding-left:1rem !important}.px-sm-4{padding-right:1.5rem !important;padding-left:1.5rem !important}.px-sm-5{padding-right:3rem !important;padding-left:3rem !important}.py-sm-0{padding-top:0 !important;padding-bottom:0 !important}.py-sm-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.py-sm-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.py-sm-3{padding-top:1rem !important;padding-bottom:1rem !important}.py-sm-4{padding-top:1.5rem !important;padding-bottom:1.5rem !important}.py-sm-5{padding-top:3rem !important;padding-bottom:3rem !important}.pt-sm-0{padding-top:0 !important}.pt-sm-1{padding-top:.25rem !important}.pt-sm-2{padding-top:.5rem !important}.pt-sm-3{padding-top:1rem !important}.pt-sm-4{padding-top:1.5rem !important}.pt-sm-5{padding-top:3rem !important}.pe-sm-0{padding-right:0 !important}.pe-sm-1{padding-right:.25rem !important}.pe-sm-2{padding-right:.5rem !important}.pe-sm-3{padding-right:1rem !important}.pe-sm-4{padding-right:1.5rem !important}.pe-sm-5{padding-right:3rem !important}.pb-sm-0{padding-bottom:0 !important}.pb-sm-1{padding-bottom:.25rem !important}.pb-sm-2{padding-bottom:.5rem !important}.pb-sm-3{padding-bottom:1rem !important}.pb-sm-4{padding-bottom:1.5rem !important}.pb-sm-5{padding-bottom:3rem !important}.ps-sm-0{padding-left:0 !important}.ps-sm-1{padding-left:.25rem !important}.ps-sm-2{padding-left:.5rem !important}.ps-sm-3{padding-left:1rem !important}.ps-sm-4{padding-left:1.5rem !important}.ps-sm-5{padding-left:3rem !important}.text-sm-start{text-align:left !important}.text-sm-end{text-align:right !important}.text-sm-center{text-align:center !important}}@media(min-width: 768px){.float-md-start{float:left !important}.float-md-end{float:right !important}.float-md-none{float:none !important}.d-md-inline{display:inline !important}.d-md-inline-block{display:inline-block !important}.d-md-block{display:block !important}.d-md-grid{display:grid !important}.d-md-table{display:table !important}.d-md-table-row{display:table-row !important}.d-md-table-cell{display:table-cell !important}.d-md-flex{display:flex !important}.d-md-inline-flex{display:inline-flex !important}.d-md-none{display:none !important}.flex-md-fill{flex:1 1 auto !important}.flex-md-row{flex-direction:row !important}.flex-md-column{flex-direction:column !important}.flex-md-row-reverse{flex-direction:row-reverse !important}.flex-md-column-reverse{flex-direction:column-reverse !important}.flex-md-grow-0{flex-grow:0 !important}.flex-md-grow-1{flex-grow:1 !important}.flex-md-shrink-0{flex-shrink:0 !important}.flex-md-shrink-1{flex-shrink:1 !important}.flex-md-wrap{flex-wrap:wrap !important}.flex-md-nowrap{flex-wrap:nowrap !important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse !important}.gap-md-0{gap:0 !important}.gap-md-1{gap:.25rem !important}.gap-md-2{gap:.5rem !important}.gap-md-3{gap:1rem !important}.gap-md-4{gap:1.5rem !important}.gap-md-5{gap:3rem !important}.justify-content-md-start{justify-content:flex-start !important}.justify-content-md-end{justify-content:flex-end !important}.justify-content-md-center{justify-content:center !important}.justify-content-md-between{justify-content:space-between !important}.justify-content-md-around{justify-content:space-around !important}.justify-content-md-evenly{justify-content:space-evenly !important}.align-items-md-start{align-items:flex-start !important}.align-items-md-end{align-items:flex-end !important}.align-items-md-center{align-items:center !important}.align-items-md-baseline{align-items:baseline !important}.align-items-md-stretch{align-items:stretch !important}.align-content-md-start{align-content:flex-start !important}.align-content-md-end{align-content:flex-end !important}.align-content-md-center{align-content:center !important}.align-content-md-between{align-content:space-between !important}.align-content-md-around{align-content:space-around !important}.align-content-md-stretch{align-content:stretch !important}.align-self-md-auto{align-self:auto !important}.align-self-md-start{align-self:flex-start !important}.align-self-md-end{align-self:flex-end !important}.align-self-md-center{align-self:center !important}.align-self-md-baseline{align-self:baseline !important}.align-self-md-stretch{align-self:stretch !important}.order-md-first{order:-1 !important}.order-md-0{order:0 !important}.order-md-1{order:1 !important}.order-md-2{order:2 !important}.order-md-3{order:3 !important}.order-md-4{order:4 !important}.order-md-5{order:5 !important}.order-md-last{order:6 !important}.m-md-0{margin:0 !important}.m-md-1{margin:.25rem !important}.m-md-2{margin:.5rem !important}.m-md-3{margin:1rem !important}.m-md-4{margin:1.5rem !important}.m-md-5{margin:3rem !important}.m-md-auto{margin:auto !important}.mx-md-0{margin-right:0 !important;margin-left:0 !important}.mx-md-1{margin-right:.25rem !important;margin-left:.25rem !important}.mx-md-2{margin-right:.5rem !important;margin-left:.5rem !important}.mx-md-3{margin-right:1rem !important;margin-left:1rem !important}.mx-md-4{margin-right:1.5rem !important;margin-left:1.5rem !important}.mx-md-5{margin-right:3rem !important;margin-left:3rem !important}.mx-md-auto{margin-right:auto !important;margin-left:auto !important}.my-md-0{margin-top:0 !important;margin-bottom:0 !important}.my-md-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.my-md-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.my-md-3{margin-top:1rem !important;margin-bottom:1rem !important}.my-md-4{margin-top:1.5rem !important;margin-bottom:1.5rem !important}.my-md-5{margin-top:3rem !important;margin-bottom:3rem !important}.my-md-auto{margin-top:auto !important;margin-bottom:auto !important}.mt-md-0{margin-top:0 !important}.mt-md-1{margin-top:.25rem !important}.mt-md-2{margin-top:.5rem !important}.mt-md-3{margin-top:1rem !important}.mt-md-4{margin-top:1.5rem !important}.mt-md-5{margin-top:3rem !important}.mt-md-auto{margin-top:auto !important}.me-md-0{margin-right:0 !important}.me-md-1{margin-right:.25rem !important}.me-md-2{margin-right:.5rem !important}.me-md-3{margin-right:1rem !important}.me-md-4{margin-right:1.5rem !important}.me-md-5{margin-right:3rem !important}.me-md-auto{margin-right:auto !important}.mb-md-0{margin-bottom:0 !important}.mb-md-1{margin-bottom:.25rem !important}.mb-md-2{margin-bottom:.5rem !important}.mb-md-3{margin-bottom:1rem !important}.mb-md-4{margin-bottom:1.5rem !important}.mb-md-5{margin-bottom:3rem !important}.mb-md-auto{margin-bottom:auto !important}.ms-md-0{margin-left:0 !important}.ms-md-1{margin-left:.25rem !important}.ms-md-2{margin-left:.5rem !important}.ms-md-3{margin-left:1rem !important}.ms-md-4{margin-left:1.5rem !important}.ms-md-5{margin-left:3rem !important}.ms-md-auto{margin-left:auto !important}.p-md-0{padding:0 !important}.p-md-1{padding:.25rem !important}.p-md-2{padding:.5rem !important}.p-md-3{padding:1rem !important}.p-md-4{padding:1.5rem !important}.p-md-5{padding:3rem !important}.px-md-0{padding-right:0 !important;padding-left:0 !important}.px-md-1{padding-right:.25rem !important;padding-left:.25rem !important}.px-md-2{padding-right:.5rem !important;padding-left:.5rem !important}.px-md-3{padding-right:1rem !important;padding-left:1rem !important}.px-md-4{padding-right:1.5rem !important;padding-left:1.5rem !important}.px-md-5{padding-right:3rem !important;padding-left:3rem !important}.py-md-0{padding-top:0 !important;padding-bottom:0 !important}.py-md-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.py-md-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.py-md-3{padding-top:1rem !important;padding-bottom:1rem !important}.py-md-4{padding-top:1.5rem !important;padding-bottom:1.5rem !important}.py-md-5{padding-top:3rem !important;padding-bottom:3rem !important}.pt-md-0{padding-top:0 !important}.pt-md-1{padding-top:.25rem !important}.pt-md-2{padding-top:.5rem !important}.pt-md-3{padding-top:1rem !important}.pt-md-4{padding-top:1.5rem !important}.pt-md-5{padding-top:3rem !important}.pe-md-0{padding-right:0 !important}.pe-md-1{padding-right:.25rem !important}.pe-md-2{padding-right:.5rem !important}.pe-md-3{padding-right:1rem !important}.pe-md-4{padding-right:1.5rem !important}.pe-md-5{padding-right:3rem !important}.pb-md-0{padding-bottom:0 !important}.pb-md-1{padding-bottom:.25rem !important}.pb-md-2{padding-bottom:.5rem !important}.pb-md-3{padding-bottom:1rem !important}.pb-md-4{padding-bottom:1.5rem !important}.pb-md-5{padding-bottom:3rem !important}.ps-md-0{padding-left:0 !important}.ps-md-1{padding-left:.25rem !important}.ps-md-2{padding-left:.5rem !important}.ps-md-3{padding-left:1rem !important}.ps-md-4{padding-left:1.5rem !important}.ps-md-5{padding-left:3rem !important}.text-md-start{text-align:left !important}.text-md-end{text-align:right !important}.text-md-center{text-align:center !important}}@media(min-width: 992px){.float-lg-start{float:left !important}.float-lg-end{float:right !important}.float-lg-none{float:none !important}.d-lg-inline{display:inline !important}.d-lg-inline-block{display:inline-block !important}.d-lg-block{display:block !important}.d-lg-grid{display:grid !important}.d-lg-table{display:table !important}.d-lg-table-row{display:table-row !important}.d-lg-table-cell{display:table-cell !important}.d-lg-flex{display:flex !important}.d-lg-inline-flex{display:inline-flex !important}.d-lg-none{display:none !important}.flex-lg-fill{flex:1 1 auto !important}.flex-lg-row{flex-direction:row !important}.flex-lg-column{flex-direction:column !important}.flex-lg-row-reverse{flex-direction:row-reverse !important}.flex-lg-column-reverse{flex-direction:column-reverse !important}.flex-lg-grow-0{flex-grow:0 !important}.flex-lg-grow-1{flex-grow:1 !important}.flex-lg-shrink-0{flex-shrink:0 !important}.flex-lg-shrink-1{flex-shrink:1 !important}.flex-lg-wrap{flex-wrap:wrap !important}.flex-lg-nowrap{flex-wrap:nowrap !important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse !important}.gap-lg-0{gap:0 !important}.gap-lg-1{gap:.25rem !important}.gap-lg-2{gap:.5rem !important}.gap-lg-3{gap:1rem !important}.gap-lg-4{gap:1.5rem !important}.gap-lg-5{gap:3rem !important}.justify-content-lg-start{justify-content:flex-start !important}.justify-content-lg-end{justify-content:flex-end !important}.justify-content-lg-center{justify-content:center !important}.justify-content-lg-between{justify-content:space-between !important}.justify-content-lg-around{justify-content:space-around !important}.justify-content-lg-evenly{justify-content:space-evenly !important}.align-items-lg-start{align-items:flex-start !important}.align-items-lg-end{align-items:flex-end !important}.align-items-lg-center{align-items:center !important}.align-items-lg-baseline{align-items:baseline !important}.align-items-lg-stretch{align-items:stretch !important}.align-content-lg-start{align-content:flex-start !important}.align-content-lg-end{align-content:flex-end !important}.align-content-lg-center{align-content:center !important}.align-content-lg-between{align-content:space-between !important}.align-content-lg-around{align-content:space-around !important}.align-content-lg-stretch{align-content:stretch !important}.align-self-lg-auto{align-self:auto !important}.align-self-lg-start{align-self:flex-start !important}.align-self-lg-end{align-self:flex-end !important}.align-self-lg-center{align-self:center !important}.align-self-lg-baseline{align-self:baseline !important}.align-self-lg-stretch{align-self:stretch !important}.order-lg-first{order:-1 !important}.order-lg-0{order:0 !important}.order-lg-1{order:1 !important}.order-lg-2{order:2 !important}.order-lg-3{order:3 !important}.order-lg-4{order:4 !important}.order-lg-5{order:5 !important}.order-lg-last{order:6 !important}.m-lg-0{margin:0 !important}.m-lg-1{margin:.25rem !important}.m-lg-2{margin:.5rem !important}.m-lg-3{margin:1rem !important}.m-lg-4{margin:1.5rem !important}.m-lg-5{margin:3rem !important}.m-lg-auto{margin:auto !important}.mx-lg-0{margin-right:0 !important;margin-left:0 !important}.mx-lg-1{margin-right:.25rem !important;margin-left:.25rem !important}.mx-lg-2{margin-right:.5rem !important;margin-left:.5rem !important}.mx-lg-3{margin-right:1rem !important;margin-left:1rem !important}.mx-lg-4{margin-right:1.5rem !important;margin-left:1.5rem !important}.mx-lg-5{margin-right:3rem !important;margin-left:3rem !important}.mx-lg-auto{margin-right:auto !important;margin-left:auto !important}.my-lg-0{margin-top:0 !important;margin-bottom:0 !important}.my-lg-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.my-lg-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.my-lg-3{margin-top:1rem !important;margin-bottom:1rem !important}.my-lg-4{margin-top:1.5rem !important;margin-bottom:1.5rem !important}.my-lg-5{margin-top:3rem !important;margin-bottom:3rem !important}.my-lg-auto{margin-top:auto !important;margin-bottom:auto !important}.mt-lg-0{margin-top:0 !important}.mt-lg-1{margin-top:.25rem !important}.mt-lg-2{margin-top:.5rem !important}.mt-lg-3{margin-top:1rem !important}.mt-lg-4{margin-top:1.5rem !important}.mt-lg-5{margin-top:3rem !important}.mt-lg-auto{margin-top:auto !important}.me-lg-0{margin-right:0 !important}.me-lg-1{margin-right:.25rem !important}.me-lg-2{margin-right:.5rem !important}.me-lg-3{margin-right:1rem !important}.me-lg-4{margin-right:1.5rem !important}.me-lg-5{margin-right:3rem !important}.me-lg-auto{margin-right:auto !important}.mb-lg-0{margin-bottom:0 !important}.mb-lg-1{margin-bottom:.25rem !important}.mb-lg-2{margin-bottom:.5rem !important}.mb-lg-3{margin-bottom:1rem !important}.mb-lg-4{margin-bottom:1.5rem !important}.mb-lg-5{margin-bottom:3rem !important}.mb-lg-auto{margin-bottom:auto !important}.ms-lg-0{margin-left:0 !important}.ms-lg-1{margin-left:.25rem !important}.ms-lg-2{margin-left:.5rem !important}.ms-lg-3{margin-left:1rem !important}.ms-lg-4{margin-left:1.5rem !important}.ms-lg-5{margin-left:3rem !important}.ms-lg-auto{margin-left:auto !important}.p-lg-0{padding:0 !important}.p-lg-1{padding:.25rem !important}.p-lg-2{padding:.5rem !important}.p-lg-3{padding:1rem !important}.p-lg-4{padding:1.5rem !important}.p-lg-5{padding:3rem !important}.px-lg-0{padding-right:0 !important;padding-left:0 !important}.px-lg-1{padding-right:.25rem !important;padding-left:.25rem !important}.px-lg-2{padding-right:.5rem !important;padding-left:.5rem !important}.px-lg-3{padding-right:1rem !important;padding-left:1rem !important}.px-lg-4{padding-right:1.5rem !important;padding-left:1.5rem !important}.px-lg-5{padding-right:3rem !important;padding-left:3rem !important}.py-lg-0{padding-top:0 !important;padding-bottom:0 !important}.py-lg-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.py-lg-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.py-lg-3{padding-top:1rem !important;padding-bottom:1rem !important}.py-lg-4{padding-top:1.5rem !important;padding-bottom:1.5rem !important}.py-lg-5{padding-top:3rem !important;padding-bottom:3rem !important}.pt-lg-0{padding-top:0 !important}.pt-lg-1{padding-top:.25rem !important}.pt-lg-2{padding-top:.5rem !important}.pt-lg-3{padding-top:1rem !important}.pt-lg-4{padding-top:1.5rem !important}.pt-lg-5{padding-top:3rem !important}.pe-lg-0{padding-right:0 !important}.pe-lg-1{padding-right:.25rem !important}.pe-lg-2{padding-right:.5rem !important}.pe-lg-3{padding-right:1rem !important}.pe-lg-4{padding-right:1.5rem !important}.pe-lg-5{padding-right:3rem !important}.pb-lg-0{padding-bottom:0 !important}.pb-lg-1{padding-bottom:.25rem !important}.pb-lg-2{padding-bottom:.5rem !important}.pb-lg-3{padding-bottom:1rem !important}.pb-lg-4{padding-bottom:1.5rem !important}.pb-lg-5{padding-bottom:3rem !important}.ps-lg-0{padding-left:0 !important}.ps-lg-1{padding-left:.25rem !important}.ps-lg-2{padding-left:.5rem !important}.ps-lg-3{padding-left:1rem !important}.ps-lg-4{padding-left:1.5rem !important}.ps-lg-5{padding-left:3rem !important}.text-lg-start{text-align:left !important}.text-lg-end{text-align:right !important}.text-lg-center{text-align:center !important}}@media(min-width: 1200px){.float-xl-start{float:left !important}.float-xl-end{float:right !important}.float-xl-none{float:none !important}.d-xl-inline{display:inline !important}.d-xl-inline-block{display:inline-block !important}.d-xl-block{display:block !important}.d-xl-grid{display:grid !important}.d-xl-table{display:table !important}.d-xl-table-row{display:table-row !important}.d-xl-table-cell{display:table-cell !important}.d-xl-flex{display:flex !important}.d-xl-inline-flex{display:inline-flex !important}.d-xl-none{display:none !important}.flex-xl-fill{flex:1 1 auto !important}.flex-xl-row{flex-direction:row !important}.flex-xl-column{flex-direction:column !important}.flex-xl-row-reverse{flex-direction:row-reverse !important}.flex-xl-column-reverse{flex-direction:column-reverse !important}.flex-xl-grow-0{flex-grow:0 !important}.flex-xl-grow-1{flex-grow:1 !important}.flex-xl-shrink-0{flex-shrink:0 !important}.flex-xl-shrink-1{flex-shrink:1 !important}.flex-xl-wrap{flex-wrap:wrap !important}.flex-xl-nowrap{flex-wrap:nowrap !important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse !important}.gap-xl-0{gap:0 !important}.gap-xl-1{gap:.25rem !important}.gap-xl-2{gap:.5rem !important}.gap-xl-3{gap:1rem !important}.gap-xl-4{gap:1.5rem !important}.gap-xl-5{gap:3rem !important}.justify-content-xl-start{justify-content:flex-start !important}.justify-content-xl-end{justify-content:flex-end !important}.justify-content-xl-center{justify-content:center !important}.justify-content-xl-between{justify-content:space-between !important}.justify-content-xl-around{justify-content:space-around !important}.justify-content-xl-evenly{justify-content:space-evenly !important}.align-items-xl-start{align-items:flex-start !important}.align-items-xl-end{align-items:flex-end !important}.align-items-xl-center{align-items:center !important}.align-items-xl-baseline{align-items:baseline !important}.align-items-xl-stretch{align-items:stretch !important}.align-content-xl-start{align-content:flex-start !important}.align-content-xl-end{align-content:flex-end !important}.align-content-xl-center{align-content:center !important}.align-content-xl-between{align-content:space-between !important}.align-content-xl-around{align-content:space-around !important}.align-content-xl-stretch{align-content:stretch !important}.align-self-xl-auto{align-self:auto !important}.align-self-xl-start{align-self:flex-start !important}.align-self-xl-end{align-self:flex-end !important}.align-self-xl-center{align-self:center !important}.align-self-xl-baseline{align-self:baseline !important}.align-self-xl-stretch{align-self:stretch !important}.order-xl-first{order:-1 !important}.order-xl-0{order:0 !important}.order-xl-1{order:1 !important}.order-xl-2{order:2 !important}.order-xl-3{order:3 !important}.order-xl-4{order:4 !important}.order-xl-5{order:5 !important}.order-xl-last{order:6 !important}.m-xl-0{margin:0 !important}.m-xl-1{margin:.25rem !important}.m-xl-2{margin:.5rem !important}.m-xl-3{margin:1rem !important}.m-xl-4{margin:1.5rem !important}.m-xl-5{margin:3rem !important}.m-xl-auto{margin:auto !important}.mx-xl-0{margin-right:0 !important;margin-left:0 !important}.mx-xl-1{margin-right:.25rem !important;margin-left:.25rem !important}.mx-xl-2{margin-right:.5rem !important;margin-left:.5rem !important}.mx-xl-3{margin-right:1rem !important;margin-left:1rem !important}.mx-xl-4{margin-right:1.5rem !important;margin-left:1.5rem !important}.mx-xl-5{margin-right:3rem !important;margin-left:3rem !important}.mx-xl-auto{margin-right:auto !important;margin-left:auto !important}.my-xl-0{margin-top:0 !important;margin-bottom:0 !important}.my-xl-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.my-xl-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.my-xl-3{margin-top:1rem !important;margin-bottom:1rem !important}.my-xl-4{margin-top:1.5rem !important;margin-bottom:1.5rem !important}.my-xl-5{margin-top:3rem !important;margin-bottom:3rem !important}.my-xl-auto{margin-top:auto !important;margin-bottom:auto !important}.mt-xl-0{margin-top:0 !important}.mt-xl-1{margin-top:.25rem !important}.mt-xl-2{margin-top:.5rem !important}.mt-xl-3{margin-top:1rem !important}.mt-xl-4{margin-top:1.5rem !important}.mt-xl-5{margin-top:3rem !important}.mt-xl-auto{margin-top:auto !important}.me-xl-0{margin-right:0 !important}.me-xl-1{margin-right:.25rem !important}.me-xl-2{margin-right:.5rem !important}.me-xl-3{margin-right:1rem !important}.me-xl-4{margin-right:1.5rem !important}.me-xl-5{margin-right:3rem !important}.me-xl-auto{margin-right:auto !important}.mb-xl-0{margin-bottom:0 !important}.mb-xl-1{margin-bottom:.25rem !important}.mb-xl-2{margin-bottom:.5rem !important}.mb-xl-3{margin-bottom:1rem !important}.mb-xl-4{margin-bottom:1.5rem !important}.mb-xl-5{margin-bottom:3rem !important}.mb-xl-auto{margin-bottom:auto !important}.ms-xl-0{margin-left:0 !important}.ms-xl-1{margin-left:.25rem !important}.ms-xl-2{margin-left:.5rem !important}.ms-xl-3{margin-left:1rem !important}.ms-xl-4{margin-left:1.5rem !important}.ms-xl-5{margin-left:3rem !important}.ms-xl-auto{margin-left:auto !important}.p-xl-0{padding:0 !important}.p-xl-1{padding:.25rem !important}.p-xl-2{padding:.5rem !important}.p-xl-3{padding:1rem !important}.p-xl-4{padding:1.5rem !important}.p-xl-5{padding:3rem !important}.px-xl-0{padding-right:0 !important;padding-left:0 !important}.px-xl-1{padding-right:.25rem !important;padding-left:.25rem !important}.px-xl-2{padding-right:.5rem !important;padding-left:.5rem !important}.px-xl-3{padding-right:1rem !important;padding-left:1rem !important}.px-xl-4{padding-right:1.5rem !important;padding-left:1.5rem !important}.px-xl-5{padding-right:3rem !important;padding-left:3rem !important}.py-xl-0{padding-top:0 !important;padding-bottom:0 !important}.py-xl-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.py-xl-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.py-xl-3{padding-top:1rem !important;padding-bottom:1rem !important}.py-xl-4{padding-top:1.5rem !important;padding-bottom:1.5rem !important}.py-xl-5{padding-top:3rem !important;padding-bottom:3rem !important}.pt-xl-0{padding-top:0 !important}.pt-xl-1{padding-top:.25rem !important}.pt-xl-2{padding-top:.5rem !important}.pt-xl-3{padding-top:1rem !important}.pt-xl-4{padding-top:1.5rem !important}.pt-xl-5{padding-top:3rem !important}.pe-xl-0{padding-right:0 !important}.pe-xl-1{padding-right:.25rem !important}.pe-xl-2{padding-right:.5rem !important}.pe-xl-3{padding-right:1rem !important}.pe-xl-4{padding-right:1.5rem !important}.pe-xl-5{padding-right:3rem !important}.pb-xl-0{padding-bottom:0 !important}.pb-xl-1{padding-bottom:.25rem !important}.pb-xl-2{padding-bottom:.5rem !important}.pb-xl-3{padding-bottom:1rem !important}.pb-xl-4{padding-bottom:1.5rem !important}.pb-xl-5{padding-bottom:3rem !important}.ps-xl-0{padding-left:0 !important}.ps-xl-1{padding-left:.25rem !important}.ps-xl-2{padding-left:.5rem !important}.ps-xl-3{padding-left:1rem !important}.ps-xl-4{padding-left:1.5rem !important}.ps-xl-5{padding-left:3rem !important}.text-xl-start{text-align:left !important}.text-xl-end{text-align:right !important}.text-xl-center{text-align:center !important}}@media(min-width: 1400px){.float-xxl-start{float:left !important}.float-xxl-end{float:right !important}.float-xxl-none{float:none !important}.d-xxl-inline{display:inline !important}.d-xxl-inline-block{display:inline-block !important}.d-xxl-block{display:block !important}.d-xxl-grid{display:grid !important}.d-xxl-table{display:table !important}.d-xxl-table-row{display:table-row !important}.d-xxl-table-cell{display:table-cell !important}.d-xxl-flex{display:flex !important}.d-xxl-inline-flex{display:inline-flex !important}.d-xxl-none{display:none !important}.flex-xxl-fill{flex:1 1 auto !important}.flex-xxl-row{flex-direction:row !important}.flex-xxl-column{flex-direction:column !important}.flex-xxl-row-reverse{flex-direction:row-reverse !important}.flex-xxl-column-reverse{flex-direction:column-reverse !important}.flex-xxl-grow-0{flex-grow:0 !important}.flex-xxl-grow-1{flex-grow:1 !important}.flex-xxl-shrink-0{flex-shrink:0 !important}.flex-xxl-shrink-1{flex-shrink:1 !important}.flex-xxl-wrap{flex-wrap:wrap !important}.flex-xxl-nowrap{flex-wrap:nowrap !important}.flex-xxl-wrap-reverse{flex-wrap:wrap-reverse !important}.gap-xxl-0{gap:0 !important}.gap-xxl-1{gap:.25rem !important}.gap-xxl-2{gap:.5rem !important}.gap-xxl-3{gap:1rem !important}.gap-xxl-4{gap:1.5rem !important}.gap-xxl-5{gap:3rem !important}.justify-content-xxl-start{justify-content:flex-start !important}.justify-content-xxl-end{justify-content:flex-end !important}.justify-content-xxl-center{justify-content:center !important}.justify-content-xxl-between{justify-content:space-between !important}.justify-content-xxl-around{justify-content:space-around !important}.justify-content-xxl-evenly{justify-content:space-evenly !important}.align-items-xxl-start{align-items:flex-start !important}.align-items-xxl-end{align-items:flex-end !important}.align-items-xxl-center{align-items:center !important}.align-items-xxl-baseline{align-items:baseline !important}.align-items-xxl-stretch{align-items:stretch !important}.align-content-xxl-start{align-content:flex-start !important}.align-content-xxl-end{align-content:flex-end !important}.align-content-xxl-center{align-content:center !important}.align-content-xxl-between{align-content:space-between !important}.align-content-xxl-around{align-content:space-around !important}.align-content-xxl-stretch{align-content:stretch !important}.align-self-xxl-auto{align-self:auto !important}.align-self-xxl-start{align-self:flex-start !important}.align-self-xxl-end{align-self:flex-end !important}.align-self-xxl-center{align-self:center !important}.align-self-xxl-baseline{align-self:baseline !important}.align-self-xxl-stretch{align-self:stretch !important}.order-xxl-first{order:-1 !important}.order-xxl-0{order:0 !important}.order-xxl-1{order:1 !important}.order-xxl-2{order:2 !important}.order-xxl-3{order:3 !important}.order-xxl-4{order:4 !important}.order-xxl-5{order:5 !important}.order-xxl-last{order:6 !important}.m-xxl-0{margin:0 !important}.m-xxl-1{margin:.25rem !important}.m-xxl-2{margin:.5rem !important}.m-xxl-3{margin:1rem !important}.m-xxl-4{margin:1.5rem !important}.m-xxl-5{margin:3rem !important}.m-xxl-auto{margin:auto !important}.mx-xxl-0{margin-right:0 !important;margin-left:0 !important}.mx-xxl-1{margin-right:.25rem !important;margin-left:.25rem !important}.mx-xxl-2{margin-right:.5rem !important;margin-left:.5rem !important}.mx-xxl-3{margin-right:1rem !important;margin-left:1rem !important}.mx-xxl-4{margin-right:1.5rem !important;margin-left:1.5rem !important}.mx-xxl-5{margin-right:3rem !important;margin-left:3rem !important}.mx-xxl-auto{margin-right:auto !important;margin-left:auto !important}.my-xxl-0{margin-top:0 !important;margin-bottom:0 !important}.my-xxl-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.my-xxl-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.my-xxl-3{margin-top:1rem !important;margin-bottom:1rem !important}.my-xxl-4{margin-top:1.5rem !important;margin-bottom:1.5rem !important}.my-xxl-5{margin-top:3rem !important;margin-bottom:3rem !important}.my-xxl-auto{margin-top:auto !important;margin-bottom:auto !important}.mt-xxl-0{margin-top:0 !important}.mt-xxl-1{margin-top:.25rem !important}.mt-xxl-2{margin-top:.5rem !important}.mt-xxl-3{margin-top:1rem !important}.mt-xxl-4{margin-top:1.5rem !important}.mt-xxl-5{margin-top:3rem !important}.mt-xxl-auto{margin-top:auto !important}.me-xxl-0{margin-right:0 !important}.me-xxl-1{margin-right:.25rem !important}.me-xxl-2{margin-right:.5rem !important}.me-xxl-3{margin-right:1rem !important}.me-xxl-4{margin-right:1.5rem !important}.me-xxl-5{margin-right:3rem !important}.me-xxl-auto{margin-right:auto !important}.mb-xxl-0{margin-bottom:0 !important}.mb-xxl-1{margin-bottom:.25rem !important}.mb-xxl-2{margin-bottom:.5rem !important}.mb-xxl-3{margin-bottom:1rem !important}.mb-xxl-4{margin-bottom:1.5rem !important}.mb-xxl-5{margin-bottom:3rem !important}.mb-xxl-auto{margin-bottom:auto !important}.ms-xxl-0{margin-left:0 !important}.ms-xxl-1{margin-left:.25rem !important}.ms-xxl-2{margin-left:.5rem !important}.ms-xxl-3{margin-left:1rem !important}.ms-xxl-4{margin-left:1.5rem !important}.ms-xxl-5{margin-left:3rem !important}.ms-xxl-auto{margin-left:auto !important}.p-xxl-0{padding:0 !important}.p-xxl-1{padding:.25rem !important}.p-xxl-2{padding:.5rem !important}.p-xxl-3{padding:1rem !important}.p-xxl-4{padding:1.5rem !important}.p-xxl-5{padding:3rem !important}.px-xxl-0{padding-right:0 !important;padding-left:0 !important}.px-xxl-1{padding-right:.25rem !important;padding-left:.25rem !important}.px-xxl-2{padding-right:.5rem !important;padding-left:.5rem !important}.px-xxl-3{padding-right:1rem !important;padding-left:1rem !important}.px-xxl-4{padding-right:1.5rem !important;padding-left:1.5rem !important}.px-xxl-5{padding-right:3rem !important;padding-left:3rem !important}.py-xxl-0{padding-top:0 !important;padding-bottom:0 !important}.py-xxl-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.py-xxl-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.py-xxl-3{padding-top:1rem !important;padding-bottom:1rem !important}.py-xxl-4{padding-top:1.5rem !important;padding-bottom:1.5rem !important}.py-xxl-5{padding-top:3rem !important;padding-bottom:3rem !important}.pt-xxl-0{padding-top:0 !important}.pt-xxl-1{padding-top:.25rem !important}.pt-xxl-2{padding-top:.5rem !important}.pt-xxl-3{padding-top:1rem !important}.pt-xxl-4{padding-top:1.5rem !important}.pt-xxl-5{padding-top:3rem !important}.pe-xxl-0{padding-right:0 !important}.pe-xxl-1{padding-right:.25rem !important}.pe-xxl-2{padding-right:.5rem !important}.pe-xxl-3{padding-right:1rem !important}.pe-xxl-4{padding-right:1.5rem !important}.pe-xxl-5{padding-right:3rem !important}.pb-xxl-0{padding-bottom:0 !important}.pb-xxl-1{padding-bottom:.25rem !important}.pb-xxl-2{padding-bottom:.5rem !important}.pb-xxl-3{padding-bottom:1rem !important}.pb-xxl-4{padding-bottom:1.5rem !important}.pb-xxl-5{padding-bottom:3rem !important}.ps-xxl-0{padding-left:0 !important}.ps-xxl-1{padding-left:.25rem !important}.ps-xxl-2{padding-left:.5rem !important}.ps-xxl-3{padding-left:1rem !important}.ps-xxl-4{padding-left:1.5rem !important}.ps-xxl-5{padding-left:3rem !important}.text-xxl-start{text-align:left !important}.text-xxl-end{text-align:right !important}.text-xxl-center{text-align:center !important}}.bg-default{color:#000}.bg-primary{color:#fff}.bg-secondary{color:#000}.bg-success{color:#fff}.bg-info{color:#fff}.bg-warning{color:#fff}.bg-danger{color:#fff}.bg-light{color:#000}.bg-dark{color:#fff}@media(min-width: 1200px){.fs-1{font-size:2.2rem !important}.fs-2{font-size:1.75rem !important}.fs-3{font-size:1.5rem !important}}@media print{.d-print-inline{display:inline !important}.d-print-inline-block{display:inline-block !important}.d-print-block{display:block !important}.d-print-grid{display:grid !important}.d-print-table{display:table !important}.d-print-table-row{display:table-row !important}.d-print-table-cell{display:table-cell !important}.d-print-flex{display:flex !important}.d-print-inline-flex{display:inline-flex !important}.d-print-none{display:none !important}}.tippy-box[data-theme~=quarto]{background-color:#fff;color:#495057;border-radius:.25rem;border:solid 1px #dee2e6;font-size:.875rem}.tippy-box[data-theme~=quarto] .tippy-arrow{color:#dee2e6}.tippy-box[data-placement^=bottom]>.tippy-arrow{top:-1px}.tippy-box[data-placement^=bottom]>.tippy-content{padding:.75em 1em;z-index:1}.top-right{position:absolute;top:1em;right:1em}.hidden{display:none !important}.zindex-bottom{z-index:-1 !important}.quarto-layout-panel{margin-bottom:1em}.quarto-layout-panel>figure{width:100%}.quarto-layout-panel>figure>figcaption,.quarto-layout-panel>.panel-caption{margin-top:10pt}.quarto-layout-panel>.table-caption{margin-top:0px}.table-caption p{margin-bottom:.5em}.quarto-layout-row{display:flex;flex-direction:row;align-items:flex-start}.quarto-layout-valign-top{align-items:flex-start}.quarto-layout-valign-bottom{align-items:flex-end}.quarto-layout-valign-center{align-items:center}.quarto-layout-cell{position:relative;margin-right:20px}.quarto-layout-cell:last-child{margin-right:0}.quarto-layout-cell figure,.quarto-layout-cell>p{margin:.2em}.quarto-layout-cell img{max-width:100%}.quarto-layout-cell .html-widget{width:100% !important}.quarto-layout-cell div figure p{margin:0}.quarto-layout-cell figure{display:inline-block;margin-inline-start:0;margin-inline-end:0}.quarto-layout-cell table{display:inline-table}.quarto-layout-cell-subref figcaption,figure .quarto-layout-row figure figcaption{text-align:center;font-style:italic}.quarto-figure{position:relative;margin-bottom:1em}.quarto-figure>figure{width:100%;margin-bottom:0}.quarto-figure-left>figure>p{text-align:left}.quarto-figure-center>figure>p{text-align:center}.quarto-figure-right>figure>p{text-align:right}figure>p:empty{display:none}figure>p:first-child{margin-top:0;margin-bottom:0}figure>figcaption{margin-top:.5em}div[id^=tbl-]{position:relative}.quarto-figure>.anchorjs-link,div[id^=tbl-]>.anchorjs-link{position:absolute;top:0;right:0}.quarto-figure:hover>.anchorjs-link,div[id^=tbl-]:hover>.anchorjs-link,h2:hover>.anchorjs-link,.h2:hover>.anchorjs-link,h3:hover>.anchorjs-link,.h3:hover>.anchorjs-link,h4:hover>.anchorjs-link,.h4:hover>.anchorjs-link,h5:hover>.anchorjs-link,.h5:hover>.anchorjs-link,h6:hover>.anchorjs-link,.h6:hover>.anchorjs-link,.reveal-anchorjs-link>.anchorjs-link{opacity:1}#title-block-header{margin-block-end:1rem;position:relative;margin-top:-1px}#title-block-header .abstract{margin-block-start:1rem}#title-block-header .abstract .abstract-title{font-weight:600}#title-block-header a{text-decoration:none}#title-block-header .author,#title-block-header .date,#title-block-header .doi{margin-block-end:.2rem}#title-block-header .quarto-title-block>div{display:flex}#title-block-header .quarto-title-block>div>h1,#title-block-header .quarto-title-block>div>.h1{flex-grow:1}#title-block-header .quarto-title-block>div>button{flex-shrink:0;height:2.25rem;margin-top:0}@media(min-width: 992px){#title-block-header .quarto-title-block>div>button{margin-top:5px}}tr.header>th>p:last-of-type{margin-bottom:0px}table,.table{caption-side:top;margin-bottom:1.5rem}caption,.table-caption{padding-top:.5rem;padding-bottom:.5rem;text-align:center}.utterances{max-width:none;margin-left:-8px}iframe{margin-bottom:1em}details{margin-bottom:1em}details[show]{margin-bottom:0}details>summary{color:#868e96}details>summary>p:only-child{display:inline}pre.sourceCode,code.sourceCode{position:relative}p code:not(.sourceCode){white-space:pre-wrap}code{white-space:pre}@media print{code{white-space:pre-wrap}}pre>code{display:block}pre>code.sourceCode{white-space:pre}pre>code.sourceCode>span>a:first-child::before{text-decoration:none}pre.code-overflow-wrap>code.sourceCode{white-space:pre-wrap}pre.code-overflow-scroll>code.sourceCode{white-space:pre}code a:any-link{color:inherit;text-decoration:none}code a:hover{color:inherit;text-decoration:underline}ul.task-list{padding-left:1em}[data-tippy-root]{display:inline-block}.tippy-content .footnote-back{display:none}.quarto-embedded-source-code{display:none}.quarto-unresolved-ref{font-weight:600}.quarto-cover-image{max-width:35%;float:right;margin-left:30px}.cell-output-display .widget-subarea{margin-bottom:1em}.cell-output-display:not(.no-overflow-x){overflow-x:auto}.panel-input{margin-bottom:1em}.panel-input>div,.panel-input>div>div{display:inline-block;vertical-align:top;padding-right:12px}.panel-input>p:last-child{margin-bottom:0}.layout-sidebar{margin-bottom:1em}.layout-sidebar .tab-content{border:none}.tab-content>.page-columns.active{display:grid}div.sourceCode>iframe{width:100%;height:300px;margin-bottom:-0.5em}div.ansi-escaped-output{font-family:monospace;display:block}/*! + */@import"https://fonts.googleapis.com/css2?family=Source+Sans+Pro:wght@300;400;700&display=swap";:root,[data-bs-theme=light]{--bs-blue: #033c73;--bs-indigo: #6610f2;--bs-purple: #6f42c1;--bs-pink: #e83e8c;--bs-red: #c71c22;--bs-orange: #fd7e14;--bs-yellow: #dd5600;--bs-green: #73a839;--bs-teal: #20c997;--bs-cyan: #2fa4e7;--bs-black: #000;--bs-white: #fff;--bs-gray: #868e96;--bs-gray-dark: #343a40;--bs-gray-100: #f8f9fa;--bs-gray-200: #e9ecef;--bs-gray-300: #dee2e6;--bs-gray-400: #ced4da;--bs-gray-500: #adb5bd;--bs-gray-600: #868e96;--bs-gray-700: #495057;--bs-gray-800: #343a40;--bs-gray-900: #212529;--bs-default: #e9ecef;--bs-primary: #2fa4e7;--bs-secondary: #e9ecef;--bs-success: #73a839;--bs-info: #033c73;--bs-warning: #dd5600;--bs-danger: #c71c22;--bs-light: #f8f9fa;--bs-dark: #343a40;--bs-default-rgb: 233, 236, 239;--bs-primary-rgb: 47, 164, 231;--bs-secondary-rgb: 233, 236, 239;--bs-success-rgb: 115, 168, 57;--bs-info-rgb: 3, 60, 115;--bs-warning-rgb: 221, 86, 0;--bs-danger-rgb: 199, 28, 34;--bs-light-rgb: 248, 249, 250;--bs-dark-rgb: 52, 58, 64;--bs-primary-text-emphasis: #13425c;--bs-secondary-text-emphasis: #5d5e60;--bs-success-text-emphasis: #2e4317;--bs-info-text-emphasis: #01182e;--bs-warning-text-emphasis: #582200;--bs-danger-text-emphasis: #500b0e;--bs-light-text-emphasis: #495057;--bs-dark-text-emphasis: #495057;--bs-primary-bg-subtle: #d5edfa;--bs-secondary-bg-subtle: #fbfbfc;--bs-success-bg-subtle: #e3eed7;--bs-info-bg-subtle: #cdd8e3;--bs-warning-bg-subtle: #f8ddcc;--bs-danger-bg-subtle: #f4d2d3;--bs-light-bg-subtle: #fcfcfd;--bs-dark-bg-subtle: #ced4da;--bs-primary-border-subtle: #acdbf5;--bs-secondary-border-subtle: #f6f7f9;--bs-success-border-subtle: #c7dcb0;--bs-info-border-subtle: #9ab1c7;--bs-warning-border-subtle: #f1bb99;--bs-danger-border-subtle: #e9a4a7;--bs-light-border-subtle: #e9ecef;--bs-dark-border-subtle: #adb5bd;--bs-white-rgb: 255, 255, 255;--bs-black-rgb: 0, 0, 0;--bs-font-sans-serif: "Source Sans Pro", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";--bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));--bs-root-font-size: 17px;--bs-body-font-family: "Source Sans Pro", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";--bs-body-font-size:1rem;--bs-body-font-weight: 400;--bs-body-line-height: 1.5;--bs-body-color: #495057;--bs-body-color-rgb: 73, 80, 87;--bs-body-bg: #fff;--bs-body-bg-rgb: 255, 255, 255;--bs-emphasis-color: #000;--bs-emphasis-color-rgb: 0, 0, 0;--bs-secondary-color: rgba(73, 80, 87, 0.75);--bs-secondary-color-rgb: 73, 80, 87;--bs-secondary-bg: #e9ecef;--bs-secondary-bg-rgb: 233, 236, 239;--bs-tertiary-color: rgba(73, 80, 87, 0.5);--bs-tertiary-color-rgb: 73, 80, 87;--bs-tertiary-bg: #f8f9fa;--bs-tertiary-bg-rgb: 248, 249, 250;--bs-heading-color: #2fa4e7;--bs-link-color: #2fa4e7;--bs-link-color-rgb: 47, 164, 231;--bs-link-decoration: underline;--bs-link-hover-color: #2683b9;--bs-link-hover-color-rgb: 38, 131, 185;--bs-code-color: #7d12ba;--bs-highlight-bg: #f8ddcc;--bs-border-width: 1px;--bs-border-style: solid;--bs-border-color: #dee2e6;--bs-border-color-translucent: rgba(0, 0, 0, 0.175);--bs-border-radius: 0.375rem;--bs-border-radius-sm: 0.25rem;--bs-border-radius-lg: 0.5rem;--bs-border-radius-xl: 1rem;--bs-border-radius-xxl: 2rem;--bs-border-radius-2xl: var(--bs-border-radius-xxl);--bs-border-radius-pill: 50rem;--bs-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);--bs-box-shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);--bs-box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.175);--bs-box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, 0.075);--bs-focus-ring-width: 0.25rem;--bs-focus-ring-opacity: 0.25;--bs-focus-ring-color: rgba(47, 164, 231, 0.25);--bs-form-valid-color: #73a839;--bs-form-valid-border-color: #73a839;--bs-form-invalid-color: #c71c22;--bs-form-invalid-border-color: #c71c22}[data-bs-theme=dark]{color-scheme:dark;--bs-body-color: #dee2e6;--bs-body-color-rgb: 222, 226, 230;--bs-body-bg: #212529;--bs-body-bg-rgb: 33, 37, 41;--bs-emphasis-color: #fff;--bs-emphasis-color-rgb: 255, 255, 255;--bs-secondary-color: rgba(222, 226, 230, 0.75);--bs-secondary-color-rgb: 222, 226, 230;--bs-secondary-bg: #343a40;--bs-secondary-bg-rgb: 52, 58, 64;--bs-tertiary-color: rgba(222, 226, 230, 0.5);--bs-tertiary-color-rgb: 222, 226, 230;--bs-tertiary-bg: #2b3035;--bs-tertiary-bg-rgb: 43, 48, 53;--bs-primary-text-emphasis: #82c8f1;--bs-secondary-text-emphasis: #f2f4f5;--bs-success-text-emphasis: #abcb88;--bs-info-text-emphasis: #688aab;--bs-warning-text-emphasis: #eb9a66;--bs-danger-text-emphasis: #dd777a;--bs-light-text-emphasis: #f8f9fa;--bs-dark-text-emphasis: #dee2e6;--bs-primary-bg-subtle: #09212e;--bs-secondary-bg-subtle: #2f2f30;--bs-success-bg-subtle: #17220b;--bs-info-bg-subtle: #010c17;--bs-warning-bg-subtle: #2c1100;--bs-danger-bg-subtle: #280607;--bs-light-bg-subtle: #343a40;--bs-dark-bg-subtle: #1a1d20;--bs-primary-border-subtle: #1c628b;--bs-secondary-border-subtle: #8c8e8f;--bs-success-border-subtle: #456522;--bs-info-border-subtle: #022445;--bs-warning-border-subtle: #853400;--bs-danger-border-subtle: #771114;--bs-light-border-subtle: #495057;--bs-dark-border-subtle: #343a40;--bs-heading-color: inherit;--bs-link-color: #82c8f1;--bs-link-hover-color: #9bd3f4;--bs-link-color-rgb: 130, 200, 241;--bs-link-hover-color-rgb: 155, 211, 244;--bs-code-color: white;--bs-border-color: #495057;--bs-border-color-translucent: rgba(255, 255, 255, 0.15);--bs-form-valid-color: #abcb88;--bs-form-valid-border-color: #abcb88;--bs-form-invalid-color: #dd777a;--bs-form-invalid-border-color: #dd777a}*,*::before,*::after{box-sizing:border-box}:root{font-size:var(--bs-root-font-size)}body{margin:0;font-family:var(--bs-body-font-family);font-size:var(--bs-body-font-size);font-weight:var(--bs-body-font-weight);line-height:var(--bs-body-line-height);color:var(--bs-body-color);text-align:var(--bs-body-text-align);background-color:var(--bs-body-bg);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:rgba(0,0,0,0)}hr{margin:1rem 0;color:inherit;border:0;border-top:1px solid;opacity:.25}h6,.h6,h5,.h5,h4,.h4,h3,.h3,h2,.h2,h1,.h1{margin-top:0;margin-bottom:.5rem;font-weight:400;line-height:1.2;color:var(--bs-heading-color)}h1,.h1{font-size:calc(1.325rem + 0.9vw)}@media(min-width: 1200px){h1,.h1{font-size:2rem}}h2,.h2{font-size:calc(1.29rem + 0.48vw)}@media(min-width: 1200px){h2,.h2{font-size:1.65rem}}h3,.h3{font-size:calc(1.27rem + 0.24vw)}@media(min-width: 1200px){h3,.h3{font-size:1.45rem}}h4,.h4{font-size:1.25rem}h5,.h5{font-size:1.1rem}h6,.h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[title]{text-decoration:underline dotted;-webkit-text-decoration:underline dotted;-moz-text-decoration:underline dotted;-ms-text-decoration:underline dotted;-o-text-decoration:underline dotted;cursor:help;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}ol,ul,dl{margin-top:0;margin-bottom:1rem}ol ol,ul ul,ol ul,ul ol{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem;padding:.625rem 1.25rem;border-left:.25rem solid #e9ecef}blockquote p:last-child,blockquote ul:last-child,blockquote ol:last-child{margin-bottom:0}b,strong{font-weight:bolder}small,.small{font-size:0.875em}mark,.mark{padding:.1875em;background-color:var(--bs-highlight-bg)}sub,sup{position:relative;font-size:0.75em;line-height:0;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}a{color:rgba(var(--bs-link-color-rgb), var(--bs-link-opacity, 1));text-decoration:underline;-webkit-text-decoration:underline;-moz-text-decoration:underline;-ms-text-decoration:underline;-o-text-decoration:underline}a:hover{--bs-link-color-rgb: var(--bs-link-hover-color-rgb)}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}pre,code,kbd,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:0.875em;color:#000;background-color:#f8f9fa;padding:.5rem;border:1px solid var(--bs-border-color, #dee2e6)}pre code{background-color:rgba(0,0,0,0);font-size:inherit;color:inherit;word-break:normal}code{font-size:0.875em;color:var(--bs-code-color);background-color:#f8f9fa;padding:.125rem .25rem;word-wrap:break-word}a>code{color:inherit}kbd{padding:.4rem .4rem;font-size:0.875em;color:#fff;background-color:#495057}kbd kbd{padding:0;font-size:1em}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:rgba(73,80,87,.75);text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}thead,tbody,tfoot,tr,td,th{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}input,button,select,optgroup,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator{display:none !important}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}button:not(:disabled),[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + 0.3vw);line-height:inherit}@media(min-width: 1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-text,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::file-selector-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none !important}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:calc(1.625rem + 4.5vw);font-weight:300;line-height:1.2}@media(min-width: 1200px){.display-1{font-size:5rem}}.display-2{font-size:calc(1.575rem + 3.9vw);font-weight:300;line-height:1.2}@media(min-width: 1200px){.display-2{font-size:4.5rem}}.display-3{font-size:calc(1.525rem + 3.3vw);font-weight:300;line-height:1.2}@media(min-width: 1200px){.display-3{font-size:4rem}}.display-4{font-size:calc(1.475rem + 2.7vw);font-weight:300;line-height:1.2}@media(min-width: 1200px){.display-4{font-size:3.5rem}}.display-5{font-size:calc(1.425rem + 2.1vw);font-weight:300;line-height:1.2}@media(min-width: 1200px){.display-5{font-size:3rem}}.display-6{font-size:calc(1.375rem + 1.5vw);font-weight:300;line-height:1.2}@media(min-width: 1200px){.display-6{font-size:2.5rem}}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:0.875em;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote>:last-child{margin-bottom:0}.blockquote-footer{margin-top:-1rem;margin-bottom:1rem;font-size:0.875em;color:#868e96}.blockquote-footer::before{content:"— "}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:#fff;border:1px solid #dee2e6;max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:0.875em;color:rgba(73,80,87,.75)}.container,.container-fluid,.container-xxl,.container-xl,.container-lg,.container-md,.container-sm{--bs-gutter-x: 1.5rem;--bs-gutter-y: 0;width:100%;padding-right:calc(var(--bs-gutter-x)*.5);padding-left:calc(var(--bs-gutter-x)*.5);margin-right:auto;margin-left:auto}@media(min-width: 576px){.container-sm,.container{max-width:540px}}@media(min-width: 768px){.container-md,.container-sm,.container{max-width:720px}}@media(min-width: 992px){.container-lg,.container-md,.container-sm,.container{max-width:960px}}@media(min-width: 1200px){.container-xl,.container-lg,.container-md,.container-sm,.container{max-width:1140px}}@media(min-width: 1400px){.container-xxl,.container-xl,.container-lg,.container-md,.container-sm,.container{max-width:1320px}}:root{--bs-breakpoint-xs: 0;--bs-breakpoint-sm: 576px;--bs-breakpoint-md: 768px;--bs-breakpoint-lg: 992px;--bs-breakpoint-xl: 1200px;--bs-breakpoint-xxl: 1400px}.grid{display:grid;grid-template-rows:repeat(var(--bs-rows, 1), 1fr);grid-template-columns:repeat(var(--bs-columns, 12), 1fr);gap:var(--bs-gap, 1.5rem)}.grid .g-col-1{grid-column:auto/span 1}.grid .g-col-2{grid-column:auto/span 2}.grid .g-col-3{grid-column:auto/span 3}.grid .g-col-4{grid-column:auto/span 4}.grid .g-col-5{grid-column:auto/span 5}.grid .g-col-6{grid-column:auto/span 6}.grid .g-col-7{grid-column:auto/span 7}.grid .g-col-8{grid-column:auto/span 8}.grid .g-col-9{grid-column:auto/span 9}.grid .g-col-10{grid-column:auto/span 10}.grid .g-col-11{grid-column:auto/span 11}.grid .g-col-12{grid-column:auto/span 12}.grid .g-start-1{grid-column-start:1}.grid .g-start-2{grid-column-start:2}.grid .g-start-3{grid-column-start:3}.grid .g-start-4{grid-column-start:4}.grid .g-start-5{grid-column-start:5}.grid .g-start-6{grid-column-start:6}.grid .g-start-7{grid-column-start:7}.grid .g-start-8{grid-column-start:8}.grid .g-start-9{grid-column-start:9}.grid .g-start-10{grid-column-start:10}.grid .g-start-11{grid-column-start:11}@media(min-width: 576px){.grid .g-col-sm-1{grid-column:auto/span 1}.grid .g-col-sm-2{grid-column:auto/span 2}.grid .g-col-sm-3{grid-column:auto/span 3}.grid .g-col-sm-4{grid-column:auto/span 4}.grid .g-col-sm-5{grid-column:auto/span 5}.grid .g-col-sm-6{grid-column:auto/span 6}.grid .g-col-sm-7{grid-column:auto/span 7}.grid .g-col-sm-8{grid-column:auto/span 8}.grid .g-col-sm-9{grid-column:auto/span 9}.grid .g-col-sm-10{grid-column:auto/span 10}.grid .g-col-sm-11{grid-column:auto/span 11}.grid .g-col-sm-12{grid-column:auto/span 12}.grid .g-start-sm-1{grid-column-start:1}.grid .g-start-sm-2{grid-column-start:2}.grid .g-start-sm-3{grid-column-start:3}.grid .g-start-sm-4{grid-column-start:4}.grid .g-start-sm-5{grid-column-start:5}.grid .g-start-sm-6{grid-column-start:6}.grid .g-start-sm-7{grid-column-start:7}.grid .g-start-sm-8{grid-column-start:8}.grid .g-start-sm-9{grid-column-start:9}.grid .g-start-sm-10{grid-column-start:10}.grid .g-start-sm-11{grid-column-start:11}}@media(min-width: 768px){.grid .g-col-md-1{grid-column:auto/span 1}.grid .g-col-md-2{grid-column:auto/span 2}.grid .g-col-md-3{grid-column:auto/span 3}.grid .g-col-md-4{grid-column:auto/span 4}.grid .g-col-md-5{grid-column:auto/span 5}.grid .g-col-md-6{grid-column:auto/span 6}.grid .g-col-md-7{grid-column:auto/span 7}.grid .g-col-md-8{grid-column:auto/span 8}.grid .g-col-md-9{grid-column:auto/span 9}.grid .g-col-md-10{grid-column:auto/span 10}.grid .g-col-md-11{grid-column:auto/span 11}.grid .g-col-md-12{grid-column:auto/span 12}.grid .g-start-md-1{grid-column-start:1}.grid .g-start-md-2{grid-column-start:2}.grid .g-start-md-3{grid-column-start:3}.grid .g-start-md-4{grid-column-start:4}.grid .g-start-md-5{grid-column-start:5}.grid .g-start-md-6{grid-column-start:6}.grid .g-start-md-7{grid-column-start:7}.grid .g-start-md-8{grid-column-start:8}.grid .g-start-md-9{grid-column-start:9}.grid .g-start-md-10{grid-column-start:10}.grid .g-start-md-11{grid-column-start:11}}@media(min-width: 992px){.grid .g-col-lg-1{grid-column:auto/span 1}.grid .g-col-lg-2{grid-column:auto/span 2}.grid .g-col-lg-3{grid-column:auto/span 3}.grid .g-col-lg-4{grid-column:auto/span 4}.grid .g-col-lg-5{grid-column:auto/span 5}.grid .g-col-lg-6{grid-column:auto/span 6}.grid .g-col-lg-7{grid-column:auto/span 7}.grid .g-col-lg-8{grid-column:auto/span 8}.grid .g-col-lg-9{grid-column:auto/span 9}.grid .g-col-lg-10{grid-column:auto/span 10}.grid .g-col-lg-11{grid-column:auto/span 11}.grid .g-col-lg-12{grid-column:auto/span 12}.grid .g-start-lg-1{grid-column-start:1}.grid .g-start-lg-2{grid-column-start:2}.grid .g-start-lg-3{grid-column-start:3}.grid .g-start-lg-4{grid-column-start:4}.grid .g-start-lg-5{grid-column-start:5}.grid .g-start-lg-6{grid-column-start:6}.grid .g-start-lg-7{grid-column-start:7}.grid .g-start-lg-8{grid-column-start:8}.grid .g-start-lg-9{grid-column-start:9}.grid .g-start-lg-10{grid-column-start:10}.grid .g-start-lg-11{grid-column-start:11}}@media(min-width: 1200px){.grid .g-col-xl-1{grid-column:auto/span 1}.grid .g-col-xl-2{grid-column:auto/span 2}.grid .g-col-xl-3{grid-column:auto/span 3}.grid .g-col-xl-4{grid-column:auto/span 4}.grid .g-col-xl-5{grid-column:auto/span 5}.grid .g-col-xl-6{grid-column:auto/span 6}.grid .g-col-xl-7{grid-column:auto/span 7}.grid .g-col-xl-8{grid-column:auto/span 8}.grid .g-col-xl-9{grid-column:auto/span 9}.grid .g-col-xl-10{grid-column:auto/span 10}.grid .g-col-xl-11{grid-column:auto/span 11}.grid .g-col-xl-12{grid-column:auto/span 12}.grid .g-start-xl-1{grid-column-start:1}.grid .g-start-xl-2{grid-column-start:2}.grid .g-start-xl-3{grid-column-start:3}.grid .g-start-xl-4{grid-column-start:4}.grid .g-start-xl-5{grid-column-start:5}.grid .g-start-xl-6{grid-column-start:6}.grid .g-start-xl-7{grid-column-start:7}.grid .g-start-xl-8{grid-column-start:8}.grid .g-start-xl-9{grid-column-start:9}.grid .g-start-xl-10{grid-column-start:10}.grid .g-start-xl-11{grid-column-start:11}}@media(min-width: 1400px){.grid .g-col-xxl-1{grid-column:auto/span 1}.grid .g-col-xxl-2{grid-column:auto/span 2}.grid .g-col-xxl-3{grid-column:auto/span 3}.grid .g-col-xxl-4{grid-column:auto/span 4}.grid .g-col-xxl-5{grid-column:auto/span 5}.grid .g-col-xxl-6{grid-column:auto/span 6}.grid .g-col-xxl-7{grid-column:auto/span 7}.grid .g-col-xxl-8{grid-column:auto/span 8}.grid .g-col-xxl-9{grid-column:auto/span 9}.grid .g-col-xxl-10{grid-column:auto/span 10}.grid .g-col-xxl-11{grid-column:auto/span 11}.grid .g-col-xxl-12{grid-column:auto/span 12}.grid .g-start-xxl-1{grid-column-start:1}.grid .g-start-xxl-2{grid-column-start:2}.grid .g-start-xxl-3{grid-column-start:3}.grid .g-start-xxl-4{grid-column-start:4}.grid .g-start-xxl-5{grid-column-start:5}.grid .g-start-xxl-6{grid-column-start:6}.grid .g-start-xxl-7{grid-column-start:7}.grid .g-start-xxl-8{grid-column-start:8}.grid .g-start-xxl-9{grid-column-start:9}.grid .g-start-xxl-10{grid-column-start:10}.grid .g-start-xxl-11{grid-column-start:11}}.table{--bs-table-color-type: initial;--bs-table-bg-type: initial;--bs-table-color-state: initial;--bs-table-bg-state: initial;--bs-table-color: #495057;--bs-table-bg: #fff;--bs-table-border-color: #dee2e6;--bs-table-accent-bg: transparent;--bs-table-striped-color: #495057;--bs-table-striped-bg: rgba(0, 0, 0, 0.05);--bs-table-active-color: #495057;--bs-table-active-bg: rgba(0, 0, 0, 0.1);--bs-table-hover-color: #495057;--bs-table-hover-bg: rgba(0, 0, 0, 0.075);width:100%;margin-bottom:1rem;vertical-align:top;border-color:var(--bs-table-border-color)}.table>:not(caption)>*>*{padding:.5rem .5rem;color:var(--bs-table-color-state, var(--bs-table-color-type, var(--bs-table-color)));background-color:var(--bs-table-bg);border-bottom-width:1px;box-shadow:inset 0 0 0 9999px var(--bs-table-bg-state, var(--bs-table-bg-type, var(--bs-table-accent-bg)))}.table>tbody{vertical-align:inherit}.table>thead{vertical-align:bottom}.table-group-divider{border-top:calc(1px*2) solid #cbd0d4}.caption-top{caption-side:top}.table-sm>:not(caption)>*>*{padding:.25rem .25rem}.table-bordered>:not(caption)>*{border-width:1px 0}.table-bordered>:not(caption)>*>*{border-width:0 1px}.table-borderless>:not(caption)>*>*{border-bottom-width:0}.table-borderless>:not(:first-child){border-top-width:0}.table-striped>tbody>tr:nth-of-type(odd)>*{--bs-table-color-type: var(--bs-table-striped-color);--bs-table-bg-type: var(--bs-table-striped-bg)}.table-striped-columns>:not(caption)>tr>:nth-child(even){--bs-table-color-type: var(--bs-table-striped-color);--bs-table-bg-type: var(--bs-table-striped-bg)}.table-active{--bs-table-color-state: var(--bs-table-active-color);--bs-table-bg-state: var(--bs-table-active-bg)}.table-hover>tbody>tr:hover>*{--bs-table-color-state: var(--bs-table-hover-color);--bs-table-bg-state: var(--bs-table-hover-bg)}.table-primary{--bs-table-color: #000;--bs-table-bg: #d5edfa;--bs-table-border-color: #c0d5e1;--bs-table-striped-bg: #cae1ee;--bs-table-striped-color: #000;--bs-table-active-bg: #c0d5e1;--bs-table-active-color: #000;--bs-table-hover-bg: #c5dbe7;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-secondary{--bs-table-color: #000;--bs-table-bg: #fbfbfc;--bs-table-border-color: #e2e2e3;--bs-table-striped-bg: #eeeeef;--bs-table-striped-color: #000;--bs-table-active-bg: #e2e2e3;--bs-table-active-color: #000;--bs-table-hover-bg: #e8e8e9;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-success{--bs-table-color: #000;--bs-table-bg: #e3eed7;--bs-table-border-color: #ccd6c2;--bs-table-striped-bg: #d8e2cc;--bs-table-striped-color: #000;--bs-table-active-bg: #ccd6c2;--bs-table-active-color: #000;--bs-table-hover-bg: #d2dcc7;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-info{--bs-table-color: #000;--bs-table-bg: #cdd8e3;--bs-table-border-color: #b9c2cc;--bs-table-striped-bg: #c3cdd8;--bs-table-striped-color: #000;--bs-table-active-bg: #b9c2cc;--bs-table-active-color: #000;--bs-table-hover-bg: #bec8d2;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-warning{--bs-table-color: #000;--bs-table-bg: #f8ddcc;--bs-table-border-color: #dfc7b8;--bs-table-striped-bg: #ecd2c2;--bs-table-striped-color: #000;--bs-table-active-bg: #dfc7b8;--bs-table-active-color: #000;--bs-table-hover-bg: #e5ccbd;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-danger{--bs-table-color: #000;--bs-table-bg: #f4d2d3;--bs-table-border-color: #dcbdbe;--bs-table-striped-bg: #e8c8c8;--bs-table-striped-color: #000;--bs-table-active-bg: #dcbdbe;--bs-table-active-color: #000;--bs-table-hover-bg: #e2c2c3;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-light{--bs-table-color: #000;--bs-table-bg: #f8f9fa;--bs-table-border-color: #dfe0e1;--bs-table-striped-bg: #ecedee;--bs-table-striped-color: #000;--bs-table-active-bg: #dfe0e1;--bs-table-active-color: #000;--bs-table-hover-bg: #e5e6e7;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-dark{--bs-table-color: #fff;--bs-table-bg: #343a40;--bs-table-border-color: #484e53;--bs-table-striped-bg: #3e444a;--bs-table-striped-color: #fff;--bs-table-active-bg: #484e53;--bs-table-active-color: #fff;--bs-table-hover-bg: #43494e;--bs-table-hover-color: #fff;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}@media(max-width: 575.98px){.table-responsive-sm{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media(max-width: 767.98px){.table-responsive-md{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media(max-width: 991.98px){.table-responsive-lg{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media(max-width: 1199.98px){.table-responsive-xl{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media(max-width: 1399.98px){.table-responsive-xxl{overflow-x:auto;-webkit-overflow-scrolling:touch}}.form-label,.shiny-input-container .control-label{margin-bottom:.5rem}.col-form-label{padding-top:calc(0.375rem + 1px);padding-bottom:calc(0.375rem + 1px);margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(0.5rem + 1px);padding-bottom:calc(0.5rem + 1px);font-size:1.25rem}.col-form-label-sm{padding-top:calc(0.25rem + 1px);padding-bottom:calc(0.25rem + 1px);font-size:0.875rem}.form-text{margin-top:.25rem;font-size:0.875em;color:rgba(73,80,87,.75)}.form-control{display:block;width:100%;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;appearance:none;-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;-o-appearance:none;background-color:#fff;background-clip:padding-box;border:1px solid #dee2e6;border-radius:0;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion: reduce){.form-control{transition:none}}.form-control[type=file]{overflow:hidden}.form-control[type=file]:not(:disabled):not([readonly]){cursor:pointer}.form-control:focus{color:#495057;background-color:#fff;border-color:#97d2f3;outline:0;box-shadow:0 0 0 .25rem rgba(47,164,231,.25)}.form-control::-webkit-date-and-time-value{min-width:85px;height:1.5em;margin:0}.form-control::-webkit-datetime-edit{display:block;padding:0}.form-control::placeholder{color:rgba(73,80,87,.75);opacity:1}.form-control:disabled{background-color:#e9ecef;opacity:1}.form-control::file-selector-button{padding:.375rem .75rem;margin:-0.375rem -0.75rem;margin-inline-end:.75rem;color:#495057;background-color:#f8f9fa;pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:1px;border-radius:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion: reduce){.form-control::file-selector-button{transition:none}}.form-control:hover:not(:disabled):not([readonly])::file-selector-button{background-color:#e9ecef}.form-control-plaintext{display:block;width:100%;padding:.375rem 0;margin-bottom:0;line-height:1.5;color:#495057;background-color:rgba(0,0,0,0);border:solid rgba(0,0,0,0);border-width:1px 0}.form-control-plaintext:focus{outline:0}.form-control-plaintext.form-control-sm,.form-control-plaintext.form-control-lg{padding-right:0;padding-left:0}.form-control-sm{min-height:calc(1.5em + 0.5rem + calc(1px * 2));padding:.25rem .5rem;font-size:0.875rem}.form-control-sm::file-selector-button{padding:.25rem .5rem;margin:-0.25rem -0.5rem;margin-inline-end:.5rem}.form-control-lg{min-height:calc(1.5em + 1rem + calc(1px * 2));padding:.5rem 1rem;font-size:1.25rem}.form-control-lg::file-selector-button{padding:.5rem 1rem;margin:-0.5rem -1rem;margin-inline-end:1rem}textarea.form-control{min-height:calc(1.5em + 0.75rem + calc(1px * 2))}textarea.form-control-sm{min-height:calc(1.5em + 0.5rem + calc(1px * 2))}textarea.form-control-lg{min-height:calc(1.5em + 1rem + calc(1px * 2))}.form-control-color{width:3rem;height:calc(1.5em + 0.75rem + calc(1px * 2));padding:.375rem}.form-control-color:not(:disabled):not([readonly]){cursor:pointer}.form-control-color::-moz-color-swatch{border:0 !important}.form-control-color::-webkit-color-swatch{border:0 !important}.form-control-color.form-control-sm{height:calc(1.5em + 0.5rem + calc(1px * 2))}.form-control-color.form-control-lg{height:calc(1.5em + 1rem + calc(1px * 2))}.form-select{--bs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");display:block;width:100%;padding:.375rem 2.25rem .375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;appearance:none;-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;-o-appearance:none;background-color:#fff;background-image:var(--bs-form-select-bg-img),var(--bs-form-select-bg-icon, none);background-repeat:no-repeat;background-position:right .75rem center;background-size:16px 12px;border:1px solid #dee2e6;border-radius:0;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion: reduce){.form-select{transition:none}}.form-select:focus{border-color:#97d2f3;outline:0;box-shadow:0 0 0 .25rem rgba(47,164,231,.25)}.form-select[multiple],.form-select[size]:not([size="1"]){padding-right:.75rem;background-image:none}.form-select:disabled{background-color:#e9ecef}.form-select:-moz-focusring{color:rgba(0,0,0,0);text-shadow:0 0 0 #495057}.form-select-sm{padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:0.875rem}.form-select-lg{padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem}[data-bs-theme=dark] .form-select{--bs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23dee2e6' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e")}.form-check,.shiny-input-container .checkbox,.shiny-input-container .radio{display:block;min-height:1.5rem;padding-left:0;margin-bottom:.125rem}.form-check .form-check-input,.form-check .shiny-input-container .checkbox input,.form-check .shiny-input-container .radio input,.shiny-input-container .checkbox .form-check-input,.shiny-input-container .checkbox .shiny-input-container .checkbox input,.shiny-input-container .checkbox .shiny-input-container .radio input,.shiny-input-container .radio .form-check-input,.shiny-input-container .radio .shiny-input-container .checkbox input,.shiny-input-container .radio .shiny-input-container .radio input{float:left;margin-left:0}.form-check-reverse{padding-right:0;padding-left:0;text-align:right}.form-check-reverse .form-check-input{float:right;margin-right:0;margin-left:0}.form-check-input,.shiny-input-container .checkbox input,.shiny-input-container .checkbox-inline input,.shiny-input-container .radio input,.shiny-input-container .radio-inline input{--bs-form-check-bg: #fff;width:1em;height:1em;margin-top:.25em;vertical-align:top;appearance:none;-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;-o-appearance:none;background-color:var(--bs-form-check-bg);background-image:var(--bs-form-check-bg-image);background-repeat:no-repeat;background-position:center;background-size:contain;border:1px solid #dee2e6;print-color-adjust:exact}.form-check-input[type=radio],.shiny-input-container .checkbox input[type=radio],.shiny-input-container .checkbox-inline input[type=radio],.shiny-input-container .radio input[type=radio],.shiny-input-container .radio-inline input[type=radio]{border-radius:50%}.form-check-input:active,.shiny-input-container .checkbox input:active,.shiny-input-container .checkbox-inline input:active,.shiny-input-container .radio input:active,.shiny-input-container .radio-inline input:active{filter:brightness(90%)}.form-check-input:focus,.shiny-input-container .checkbox input:focus,.shiny-input-container .checkbox-inline input:focus,.shiny-input-container .radio input:focus,.shiny-input-container .radio-inline input:focus{border-color:#97d2f3;outline:0;box-shadow:0 0 0 .25rem rgba(47,164,231,.25)}.form-check-input:checked,.shiny-input-container .checkbox input:checked,.shiny-input-container .checkbox-inline input:checked,.shiny-input-container .radio input:checked,.shiny-input-container .radio-inline input:checked{background-color:#2fa4e7;border-color:#2fa4e7}.form-check-input:checked[type=checkbox],.shiny-input-container .checkbox input:checked[type=checkbox],.shiny-input-container .checkbox-inline input:checked[type=checkbox],.shiny-input-container .radio input:checked[type=checkbox],.shiny-input-container .radio-inline input:checked[type=checkbox]{--bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e")}.form-check-input:checked[type=radio],.shiny-input-container .checkbox input:checked[type=radio],.shiny-input-container .checkbox-inline input:checked[type=radio],.shiny-input-container .radio input:checked[type=radio],.shiny-input-container .radio-inline input:checked[type=radio]{--bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e")}.form-check-input[type=checkbox]:indeterminate,.shiny-input-container .checkbox input[type=checkbox]:indeterminate,.shiny-input-container .checkbox-inline input[type=checkbox]:indeterminate,.shiny-input-container .radio input[type=checkbox]:indeterminate,.shiny-input-container .radio-inline input[type=checkbox]:indeterminate{background-color:#2fa4e7;border-color:#2fa4e7;--bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e")}.form-check-input:disabled,.shiny-input-container .checkbox input:disabled,.shiny-input-container .checkbox-inline input:disabled,.shiny-input-container .radio input:disabled,.shiny-input-container .radio-inline input:disabled{pointer-events:none;filter:none;opacity:.5}.form-check-input[disabled]~.form-check-label,.form-check-input[disabled]~span,.form-check-input:disabled~.form-check-label,.form-check-input:disabled~span,.shiny-input-container .checkbox input[disabled]~.form-check-label,.shiny-input-container .checkbox input[disabled]~span,.shiny-input-container .checkbox input:disabled~.form-check-label,.shiny-input-container .checkbox input:disabled~span,.shiny-input-container .checkbox-inline input[disabled]~.form-check-label,.shiny-input-container .checkbox-inline input[disabled]~span,.shiny-input-container .checkbox-inline input:disabled~.form-check-label,.shiny-input-container .checkbox-inline input:disabled~span,.shiny-input-container .radio input[disabled]~.form-check-label,.shiny-input-container .radio input[disabled]~span,.shiny-input-container .radio input:disabled~.form-check-label,.shiny-input-container .radio input:disabled~span,.shiny-input-container .radio-inline input[disabled]~.form-check-label,.shiny-input-container .radio-inline input[disabled]~span,.shiny-input-container .radio-inline input:disabled~.form-check-label,.shiny-input-container .radio-inline input:disabled~span{cursor:default;opacity:.5}.form-check-label,.shiny-input-container .checkbox label,.shiny-input-container .checkbox-inline label,.shiny-input-container .radio label,.shiny-input-container .radio-inline label{cursor:pointer}.form-switch{padding-left:2.5em}.form-switch .form-check-input{--bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e");width:2em;margin-left:-2.5em;background-image:var(--bs-form-switch-bg);background-position:left center;transition:background-position .15s ease-in-out}@media(prefers-reduced-motion: reduce){.form-switch .form-check-input{transition:none}}.form-switch .form-check-input:focus{--bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2397d2f3'/%3e%3c/svg%3e")}.form-switch .form-check-input:checked{background-position:right center;--bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e")}.form-switch.form-check-reverse{padding-right:2.5em;padding-left:0}.form-switch.form-check-reverse .form-check-input{margin-right:-2.5em;margin-left:0}.form-check-inline{display:inline-block;margin-right:1rem}.btn-check{position:absolute;clip:rect(0, 0, 0, 0);pointer-events:none}.btn-check[disabled]+.btn,.btn-check:disabled+.btn{pointer-events:none;filter:none;opacity:.65}[data-bs-theme=dark] .form-switch .form-check-input:not(:checked):not(:focus){--bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%28255, 255, 255, 0.25%29'/%3e%3c/svg%3e")}.form-range{width:100%;height:1.5rem;padding:0;appearance:none;-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;-o-appearance:none;background-color:rgba(0,0,0,0)}.form-range:focus{outline:0}.form-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem rgba(47,164,231,.25)}.form-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem rgba(47,164,231,.25)}.form-range::-moz-focus-outer{border:0}.form-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-0.25rem;appearance:none;-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;-o-appearance:none;background-color:#2fa4e7;border:0;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion: reduce){.form-range::-webkit-slider-thumb{transition:none}}.form-range::-webkit-slider-thumb:active{background-color:#c1e4f8}.form-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:rgba(0,0,0,0);cursor:pointer;background-color:#f8f9fa;border-color:rgba(0,0,0,0)}.form-range::-moz-range-thumb{width:1rem;height:1rem;appearance:none;-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;-o-appearance:none;background-color:#2fa4e7;border:0;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion: reduce){.form-range::-moz-range-thumb{transition:none}}.form-range::-moz-range-thumb:active{background-color:#c1e4f8}.form-range::-moz-range-track{width:100%;height:.5rem;color:rgba(0,0,0,0);cursor:pointer;background-color:#f8f9fa;border-color:rgba(0,0,0,0)}.form-range:disabled{pointer-events:none}.form-range:disabled::-webkit-slider-thumb{background-color:rgba(73,80,87,.75)}.form-range:disabled::-moz-range-thumb{background-color:rgba(73,80,87,.75)}.form-floating{position:relative}.form-floating>.form-control,.form-floating>.form-control-plaintext,.form-floating>.form-select{height:calc(3.5rem + calc(1px * 2));min-height:calc(3.5rem + calc(1px * 2));line-height:1.25}.form-floating>label{position:absolute;top:0;left:0;z-index:2;height:100%;padding:1rem .75rem;overflow:hidden;text-align:start;text-overflow:ellipsis;white-space:nowrap;pointer-events:none;border:1px solid rgba(0,0,0,0);transform-origin:0 0;transition:opacity .1s ease-in-out,transform .1s ease-in-out}@media(prefers-reduced-motion: reduce){.form-floating>label{transition:none}}.form-floating>.form-control,.form-floating>.form-control-plaintext{padding:1rem .75rem}.form-floating>.form-control::placeholder,.form-floating>.form-control-plaintext::placeholder{color:rgba(0,0,0,0)}.form-floating>.form-control:focus,.form-floating>.form-control:not(:placeholder-shown),.form-floating>.form-control-plaintext:focus,.form-floating>.form-control-plaintext:not(:placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:-webkit-autofill,.form-floating>.form-control-plaintext:-webkit-autofill{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-select{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:focus~label,.form-floating>.form-control:not(:placeholder-shown)~label,.form-floating>.form-control-plaintext~label,.form-floating>.form-select~label{color:rgba(var(--bs-body-color-rgb), 0.65);transform:scale(0.85) translateY(-0.5rem) translateX(0.15rem)}.form-floating>.form-control:focus~label::after,.form-floating>.form-control:not(:placeholder-shown)~label::after,.form-floating>.form-control-plaintext~label::after,.form-floating>.form-select~label::after{position:absolute;inset:1rem .375rem;z-index:-1;height:1.5em;content:"";background-color:#fff}.form-floating>.form-control:-webkit-autofill~label{color:rgba(var(--bs-body-color-rgb), 0.65);transform:scale(0.85) translateY(-0.5rem) translateX(0.15rem)}.form-floating>.form-control-plaintext~label{border-width:1px 0}.form-floating>:disabled~label,.form-floating>.form-control:disabled~label{color:#868e96}.form-floating>:disabled~label::after,.form-floating>.form-control:disabled~label::after{background-color:#e9ecef}.input-group{position:relative;display:flex;display:-webkit-flex;flex-wrap:wrap;-webkit-flex-wrap:wrap;align-items:stretch;-webkit-align-items:stretch;width:100%}.input-group>.form-control,.input-group>.form-select,.input-group>.form-floating{position:relative;flex:1 1 auto;-webkit-flex:1 1 auto;width:1%;min-width:0}.input-group>.form-control:focus,.input-group>.form-select:focus,.input-group>.form-floating:focus-within{z-index:5}.input-group .btn{position:relative;z-index:2}.input-group .btn:focus{z-index:5}.input-group-text{display:flex;display:-webkit-flex;align-items:center;-webkit-align-items:center;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;text-align:center;white-space:nowrap;background-color:#f8f9fa;border:1px solid #dee2e6}.input-group-lg>.form-control,.input-group-lg>.form-select,.input-group-lg>.input-group-text,.input-group-lg>.btn{padding:.5rem 1rem;font-size:1.25rem}.input-group-sm>.form-control,.input-group-sm>.form-select,.input-group-sm>.input-group-text,.input-group-sm>.btn{padding:.25rem .5rem;font-size:0.875rem}.input-group-lg>.form-select,.input-group-sm>.form-select{padding-right:3rem}.input-group>:not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback){margin-left:calc(1px*-1)}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:0.875em;color:#73a839}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:0.875rem;color:#fff;background-color:#73a839}.was-validated :valid~.valid-feedback,.was-validated :valid~.valid-tooltip,.is-valid~.valid-feedback,.is-valid~.valid-tooltip{display:block}.was-validated .form-control:valid,.form-control.is-valid{border-color:#73a839;padding-right:calc(1.5em + 0.75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2373a839' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(0.375em + 0.1875rem) center;background-size:calc(0.75em + 0.375rem) calc(0.75em + 0.375rem)}.was-validated .form-control:valid:focus,.form-control.is-valid:focus{border-color:#73a839;box-shadow:0 0 0 .25rem rgba(115,168,57,.25)}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.5em + 0.75rem);background-position:top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem)}.was-validated .form-select:valid,.form-select.is-valid{border-color:#73a839}.was-validated .form-select:valid:not([multiple]):not([size]),.was-validated .form-select:valid:not([multiple])[size="1"],.form-select.is-valid:not([multiple]):not([size]),.form-select.is-valid:not([multiple])[size="1"]{--bs-form-select-bg-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2373a839' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");padding-right:4.125rem;background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(0.75em + 0.375rem) calc(0.75em + 0.375rem)}.was-validated .form-select:valid:focus,.form-select.is-valid:focus{border-color:#73a839;box-shadow:0 0 0 .25rem rgba(115,168,57,.25)}.was-validated .form-control-color:valid,.form-control-color.is-valid{width:calc(3rem + calc(1.5em + 0.75rem))}.was-validated .form-check-input:valid,.form-check-input.is-valid{border-color:#73a839}.was-validated .form-check-input:valid:checked,.form-check-input.is-valid:checked{background-color:#73a839}.was-validated .form-check-input:valid:focus,.form-check-input.is-valid:focus{box-shadow:0 0 0 .25rem rgba(115,168,57,.25)}.was-validated .form-check-input:valid~.form-check-label,.form-check-input.is-valid~.form-check-label{color:#73a839}.form-check-inline .form-check-input~.valid-feedback{margin-left:.5em}.was-validated .input-group>.form-control:not(:focus):valid,.input-group>.form-control:not(:focus).is-valid,.was-validated .input-group>.form-select:not(:focus):valid,.input-group>.form-select:not(:focus).is-valid,.was-validated .input-group>.form-floating:not(:focus-within):valid,.input-group>.form-floating:not(:focus-within).is-valid{z-index:3}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:0.875em;color:#c71c22}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:0.875rem;color:#fff;background-color:#c71c22}.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip,.is-invalid~.invalid-feedback,.is-invalid~.invalid-tooltip{display:block}.was-validated .form-control:invalid,.form-control.is-invalid{border-color:#c71c22;padding-right:calc(1.5em + 0.75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23c71c22'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23c71c22' stroke='none'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(0.375em + 0.1875rem) center;background-size:calc(0.75em + 0.375rem) calc(0.75em + 0.375rem)}.was-validated .form-control:invalid:focus,.form-control.is-invalid:focus{border-color:#c71c22;box-shadow:0 0 0 .25rem rgba(199,28,34,.25)}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.5em + 0.75rem);background-position:top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem)}.was-validated .form-select:invalid,.form-select.is-invalid{border-color:#c71c22}.was-validated .form-select:invalid:not([multiple]):not([size]),.was-validated .form-select:invalid:not([multiple])[size="1"],.form-select.is-invalid:not([multiple]):not([size]),.form-select.is-invalid:not([multiple])[size="1"]{--bs-form-select-bg-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23c71c22'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23c71c22' stroke='none'/%3e%3c/svg%3e");padding-right:4.125rem;background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(0.75em + 0.375rem) calc(0.75em + 0.375rem)}.was-validated .form-select:invalid:focus,.form-select.is-invalid:focus{border-color:#c71c22;box-shadow:0 0 0 .25rem rgba(199,28,34,.25)}.was-validated .form-control-color:invalid,.form-control-color.is-invalid{width:calc(3rem + calc(1.5em + 0.75rem))}.was-validated .form-check-input:invalid,.form-check-input.is-invalid{border-color:#c71c22}.was-validated .form-check-input:invalid:checked,.form-check-input.is-invalid:checked{background-color:#c71c22}.was-validated .form-check-input:invalid:focus,.form-check-input.is-invalid:focus{box-shadow:0 0 0 .25rem rgba(199,28,34,.25)}.was-validated .form-check-input:invalid~.form-check-label,.form-check-input.is-invalid~.form-check-label{color:#c71c22}.form-check-inline .form-check-input~.invalid-feedback{margin-left:.5em}.was-validated .input-group>.form-control:not(:focus):invalid,.input-group>.form-control:not(:focus).is-invalid,.was-validated .input-group>.form-select:not(:focus):invalid,.input-group>.form-select:not(:focus).is-invalid,.was-validated .input-group>.form-floating:not(:focus-within):invalid,.input-group>.form-floating:not(:focus-within).is-invalid{z-index:4}.btn{--bs-btn-padding-x: 0.75rem;--bs-btn-padding-y: 0.375rem;--bs-btn-font-family: ;--bs-btn-font-size:1rem;--bs-btn-font-weight: 400;--bs-btn-line-height: 1.5;--bs-btn-color: #495057;--bs-btn-bg: transparent;--bs-btn-border-width: 1px;--bs-btn-border-color: transparent;--bs-btn-border-radius: 0.375rem;--bs-btn-hover-border-color: transparent;--bs-btn-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);--bs-btn-disabled-opacity: 0.65;--bs-btn-focus-box-shadow: 0 0 0 0.25rem rgba(var(--bs-btn-focus-shadow-rgb), .5);display:inline-block;padding:var(--bs-btn-padding-y) var(--bs-btn-padding-x);font-family:var(--bs-btn-font-family);font-size:var(--bs-btn-font-size);font-weight:var(--bs-btn-font-weight);line-height:var(--bs-btn-line-height);color:var(--bs-btn-color);text-align:center;text-decoration:none;-webkit-text-decoration:none;-moz-text-decoration:none;-ms-text-decoration:none;-o-text-decoration:none;vertical-align:middle;cursor:pointer;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;border:var(--bs-btn-border-width) solid var(--bs-btn-border-color);background-color:var(--bs-btn-bg);transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion: reduce){.btn{transition:none}}.btn:hover{color:var(--bs-btn-hover-color);background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color)}.btn-check+.btn:hover{color:var(--bs-btn-color);background-color:var(--bs-btn-bg);border-color:var(--bs-btn-border-color)}.btn:focus-visible{color:var(--bs-btn-hover-color);background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color);outline:0;box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:focus-visible+.btn{border-color:var(--bs-btn-hover-border-color);outline:0;box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:checked+.btn,:not(.btn-check)+.btn:active,.btn:first-child:active,.btn.active,.btn.show{color:var(--bs-btn-active-color);background-color:var(--bs-btn-active-bg);border-color:var(--bs-btn-active-border-color)}.btn-check:checked+.btn:focus-visible,:not(.btn-check)+.btn:active:focus-visible,.btn:first-child:active:focus-visible,.btn.active:focus-visible,.btn.show:focus-visible{box-shadow:var(--bs-btn-focus-box-shadow)}.btn:disabled,.btn.disabled,fieldset:disabled .btn{color:var(--bs-btn-disabled-color);pointer-events:none;background-color:var(--bs-btn-disabled-bg);border-color:var(--bs-btn-disabled-border-color);opacity:var(--bs-btn-disabled-opacity)}.btn-default{--bs-btn-color: #000;--bs-btn-bg: #e9ecef;--bs-btn-border-color: #e9ecef;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #eceff1;--bs-btn-hover-border-color: #ebeef1;--bs-btn-focus-shadow-rgb: 198, 201, 203;--bs-btn-active-color: #000;--bs-btn-active-bg: #edf0f2;--bs-btn-active-border-color: #ebeef1;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color: #000;--bs-btn-disabled-bg: #e9ecef;--bs-btn-disabled-border-color: #e9ecef}.btn-primary{--bs-btn-color: #fff;--bs-btn-bg: #2fa4e7;--bs-btn-border-color: #2fa4e7;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #288bc4;--bs-btn-hover-border-color: #2683b9;--bs-btn-focus-shadow-rgb: 78, 178, 235;--bs-btn-active-color: #fff;--bs-btn-active-bg: #2683b9;--bs-btn-active-border-color: #237bad;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #2fa4e7;--bs-btn-disabled-border-color: #2fa4e7}.btn-secondary{--bs-btn-color: #000;--bs-btn-bg: #e9ecef;--bs-btn-border-color: #e9ecef;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #eceff1;--bs-btn-hover-border-color: #ebeef1;--bs-btn-focus-shadow-rgb: 198, 201, 203;--bs-btn-active-color: #000;--bs-btn-active-bg: #edf0f2;--bs-btn-active-border-color: #ebeef1;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color: #000;--bs-btn-disabled-bg: #e9ecef;--bs-btn-disabled-border-color: #e9ecef}.btn-success{--bs-btn-color: #fff;--bs-btn-bg: #73a839;--bs-btn-border-color: #73a839;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #628f30;--bs-btn-hover-border-color: #5c862e;--bs-btn-focus-shadow-rgb: 136, 181, 87;--bs-btn-active-color: #fff;--bs-btn-active-bg: #5c862e;--bs-btn-active-border-color: #567e2b;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #73a839;--bs-btn-disabled-border-color: #73a839}.btn-info{--bs-btn-color: #fff;--bs-btn-bg: #033c73;--bs-btn-border-color: #033c73;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #033362;--bs-btn-hover-border-color: #02305c;--bs-btn-focus-shadow-rgb: 41, 89, 136;--bs-btn-active-color: #fff;--bs-btn-active-bg: #02305c;--bs-btn-active-border-color: #022d56;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #033c73;--bs-btn-disabled-border-color: #033c73}.btn-warning{--bs-btn-color: #fff;--bs-btn-bg: #dd5600;--bs-btn-border-color: #dd5600;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #bc4900;--bs-btn-hover-border-color: #b14500;--bs-btn-focus-shadow-rgb: 226, 111, 38;--bs-btn-active-color: #fff;--bs-btn-active-bg: #b14500;--bs-btn-active-border-color: #a64100;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #dd5600;--bs-btn-disabled-border-color: #dd5600}.btn-danger{--bs-btn-color: #fff;--bs-btn-bg: #c71c22;--bs-btn-border-color: #c71c22;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #a9181d;--bs-btn-hover-border-color: #9f161b;--bs-btn-focus-shadow-rgb: 207, 62, 67;--bs-btn-active-color: #fff;--bs-btn-active-bg: #9f161b;--bs-btn-active-border-color: #95151a;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #c71c22;--bs-btn-disabled-border-color: #c71c22}.btn-light{--bs-btn-color: #000;--bs-btn-bg: #f8f9fa;--bs-btn-border-color: #f8f9fa;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #d3d4d5;--bs-btn-hover-border-color: #c6c7c8;--bs-btn-focus-shadow-rgb: 211, 212, 213;--bs-btn-active-color: #000;--bs-btn-active-bg: #c6c7c8;--bs-btn-active-border-color: #babbbc;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color: #000;--bs-btn-disabled-bg: #f8f9fa;--bs-btn-disabled-border-color: #f8f9fa}.btn-dark{--bs-btn-color: #fff;--bs-btn-bg: #343a40;--bs-btn-border-color: #343a40;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #52585d;--bs-btn-hover-border-color: #484e53;--bs-btn-focus-shadow-rgb: 82, 88, 93;--bs-btn-active-color: #fff;--bs-btn-active-bg: #5d6166;--bs-btn-active-border-color: #484e53;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #343a40;--bs-btn-disabled-border-color: #343a40}.btn-outline-default{--bs-btn-color: #e9ecef;--bs-btn-border-color: #e9ecef;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #e9ecef;--bs-btn-hover-border-color: #e9ecef;--bs-btn-focus-shadow-rgb: 233, 236, 239;--bs-btn-active-color: #000;--bs-btn-active-bg: #e9ecef;--bs-btn-active-border-color: #e9ecef;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color: #e9ecef;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #e9ecef;--bs-btn-bg: transparent;--bs-gradient: none}.btn-outline-primary{--bs-btn-color: #2fa4e7;--bs-btn-border-color: #2fa4e7;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #2fa4e7;--bs-btn-hover-border-color: #2fa4e7;--bs-btn-focus-shadow-rgb: 47, 164, 231;--bs-btn-active-color: #fff;--bs-btn-active-bg: #2fa4e7;--bs-btn-active-border-color: #2fa4e7;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color: #2fa4e7;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #2fa4e7;--bs-btn-bg: transparent;--bs-gradient: none}.btn-outline-secondary{--bs-btn-color: #e9ecef;--bs-btn-border-color: #e9ecef;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #e9ecef;--bs-btn-hover-border-color: #e9ecef;--bs-btn-focus-shadow-rgb: 233, 236, 239;--bs-btn-active-color: #000;--bs-btn-active-bg: #e9ecef;--bs-btn-active-border-color: #e9ecef;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color: #e9ecef;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #e9ecef;--bs-btn-bg: transparent;--bs-gradient: none}.btn-outline-success{--bs-btn-color: #73a839;--bs-btn-border-color: #73a839;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #73a839;--bs-btn-hover-border-color: #73a839;--bs-btn-focus-shadow-rgb: 115, 168, 57;--bs-btn-active-color: #fff;--bs-btn-active-bg: #73a839;--bs-btn-active-border-color: #73a839;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color: #73a839;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #73a839;--bs-btn-bg: transparent;--bs-gradient: none}.btn-outline-info{--bs-btn-color: #033c73;--bs-btn-border-color: #033c73;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #033c73;--bs-btn-hover-border-color: #033c73;--bs-btn-focus-shadow-rgb: 3, 60, 115;--bs-btn-active-color: #fff;--bs-btn-active-bg: #033c73;--bs-btn-active-border-color: #033c73;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color: #033c73;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #033c73;--bs-btn-bg: transparent;--bs-gradient: none}.btn-outline-warning{--bs-btn-color: #dd5600;--bs-btn-border-color: #dd5600;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #dd5600;--bs-btn-hover-border-color: #dd5600;--bs-btn-focus-shadow-rgb: 221, 86, 0;--bs-btn-active-color: #fff;--bs-btn-active-bg: #dd5600;--bs-btn-active-border-color: #dd5600;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color: #dd5600;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #dd5600;--bs-btn-bg: transparent;--bs-gradient: none}.btn-outline-danger{--bs-btn-color: #c71c22;--bs-btn-border-color: #c71c22;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #c71c22;--bs-btn-hover-border-color: #c71c22;--bs-btn-focus-shadow-rgb: 199, 28, 34;--bs-btn-active-color: #fff;--bs-btn-active-bg: #c71c22;--bs-btn-active-border-color: #c71c22;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color: #c71c22;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #c71c22;--bs-btn-bg: transparent;--bs-gradient: none}.btn-outline-light{--bs-btn-color: #f8f9fa;--bs-btn-border-color: #f8f9fa;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #f8f9fa;--bs-btn-hover-border-color: #f8f9fa;--bs-btn-focus-shadow-rgb: 248, 249, 250;--bs-btn-active-color: #000;--bs-btn-active-bg: #f8f9fa;--bs-btn-active-border-color: #f8f9fa;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color: #f8f9fa;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #f8f9fa;--bs-btn-bg: transparent;--bs-gradient: none}.btn-outline-dark{--bs-btn-color: #343a40;--bs-btn-border-color: #343a40;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #343a40;--bs-btn-hover-border-color: #343a40;--bs-btn-focus-shadow-rgb: 52, 58, 64;--bs-btn-active-color: #fff;--bs-btn-active-bg: #343a40;--bs-btn-active-border-color: #343a40;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color: #343a40;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #343a40;--bs-btn-bg: transparent;--bs-gradient: none}.btn-link{--bs-btn-font-weight: 400;--bs-btn-color: #2fa4e7;--bs-btn-bg: transparent;--bs-btn-border-color: transparent;--bs-btn-hover-color: #2683b9;--bs-btn-hover-border-color: transparent;--bs-btn-active-color: #2683b9;--bs-btn-active-border-color: transparent;--bs-btn-disabled-color: #868e96;--bs-btn-disabled-border-color: transparent;--bs-btn-box-shadow: 0 0 0 #000;--bs-btn-focus-shadow-rgb: 78, 178, 235;text-decoration:underline;-webkit-text-decoration:underline;-moz-text-decoration:underline;-ms-text-decoration:underline;-o-text-decoration:underline}.btn-link:focus-visible{color:var(--bs-btn-color)}.btn-link:hover{color:var(--bs-btn-hover-color)}.btn-lg,.btn-group-lg>.btn{--bs-btn-padding-y: 0.5rem;--bs-btn-padding-x: 1rem;--bs-btn-font-size:1.25rem;--bs-btn-border-radius: 0.5rem}.btn-sm,.btn-group-sm>.btn{--bs-btn-padding-y: 0.25rem;--bs-btn-padding-x: 0.5rem;--bs-btn-font-size:0.875rem;--bs-btn-border-radius: 0.25rem}.fade{transition:opacity .15s linear}@media(prefers-reduced-motion: reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{height:0;overflow:hidden;transition:height .2s ease}@media(prefers-reduced-motion: reduce){.collapsing{transition:none}}.collapsing.collapse-horizontal{width:0;height:auto;transition:width .35s ease}@media(prefers-reduced-motion: reduce){.collapsing.collapse-horizontal{transition:none}}.dropup,.dropend,.dropdown,.dropstart,.dropup-center,.dropdown-center{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid rgba(0,0,0,0);border-bottom:0;border-left:.3em solid rgba(0,0,0,0)}.dropdown-toggle:empty::after{margin-left:0}.dropdown-menu{--bs-dropdown-zindex: 1000;--bs-dropdown-min-width: 10rem;--bs-dropdown-padding-x: 0;--bs-dropdown-padding-y: 0.5rem;--bs-dropdown-spacer: 0.125rem;--bs-dropdown-font-size:1rem;--bs-dropdown-color: #495057;--bs-dropdown-bg: #fff;--bs-dropdown-border-color: rgba(0, 0, 0, 0.175);--bs-dropdown-border-radius: 0.375rem;--bs-dropdown-border-width: 1px;--bs-dropdown-inner-border-radius: calc(0.375rem - 1px);--bs-dropdown-divider-bg: rgba(0, 0, 0, 0.175);--bs-dropdown-divider-margin-y: 0.5rem;--bs-dropdown-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);--bs-dropdown-link-color: #495057;--bs-dropdown-link-hover-color: #fff;--bs-dropdown-link-hover-bg: #2fa4e7;--bs-dropdown-link-active-color: #fff;--bs-dropdown-link-active-bg: #2fa4e7;--bs-dropdown-link-disabled-color: rgba(73, 80, 87, 0.5);--bs-dropdown-item-padding-x: 1rem;--bs-dropdown-item-padding-y: 0.25rem;--bs-dropdown-header-color: #868e96;--bs-dropdown-header-padding-x: 1rem;--bs-dropdown-header-padding-y: 0.5rem;position:absolute;z-index:var(--bs-dropdown-zindex);display:none;min-width:var(--bs-dropdown-min-width);padding:var(--bs-dropdown-padding-y) var(--bs-dropdown-padding-x);margin:0;font-size:var(--bs-dropdown-font-size);color:var(--bs-dropdown-color);text-align:left;list-style:none;background-color:var(--bs-dropdown-bg);background-clip:padding-box;border:var(--bs-dropdown-border-width) solid var(--bs-dropdown-border-color)}.dropdown-menu[data-bs-popper]{top:100%;left:0;margin-top:var(--bs-dropdown-spacer)}.dropdown-menu-start{--bs-position: start}.dropdown-menu-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-end{--bs-position: end}.dropdown-menu-end[data-bs-popper]{right:0;left:auto}@media(min-width: 576px){.dropdown-menu-sm-start{--bs-position: start}.dropdown-menu-sm-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-sm-end{--bs-position: end}.dropdown-menu-sm-end[data-bs-popper]{right:0;left:auto}}@media(min-width: 768px){.dropdown-menu-md-start{--bs-position: start}.dropdown-menu-md-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-md-end{--bs-position: end}.dropdown-menu-md-end[data-bs-popper]{right:0;left:auto}}@media(min-width: 992px){.dropdown-menu-lg-start{--bs-position: start}.dropdown-menu-lg-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-lg-end{--bs-position: end}.dropdown-menu-lg-end[data-bs-popper]{right:0;left:auto}}@media(min-width: 1200px){.dropdown-menu-xl-start{--bs-position: start}.dropdown-menu-xl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xl-end{--bs-position: end}.dropdown-menu-xl-end[data-bs-popper]{right:0;left:auto}}@media(min-width: 1400px){.dropdown-menu-xxl-start{--bs-position: start}.dropdown-menu-xxl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xxl-end{--bs-position: end}.dropdown-menu-xxl-end[data-bs-popper]{right:0;left:auto}}.dropup .dropdown-menu[data-bs-popper]{top:auto;bottom:100%;margin-top:0;margin-bottom:var(--bs-dropdown-spacer)}.dropup .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid rgba(0,0,0,0);border-bottom:.3em solid;border-left:.3em solid rgba(0,0,0,0)}.dropup .dropdown-toggle:empty::after{margin-left:0}.dropend .dropdown-menu[data-bs-popper]{top:0;right:auto;left:100%;margin-top:0;margin-left:var(--bs-dropdown-spacer)}.dropend .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid rgba(0,0,0,0);border-right:0;border-bottom:.3em solid rgba(0,0,0,0);border-left:.3em solid}.dropend .dropdown-toggle:empty::after{margin-left:0}.dropend .dropdown-toggle::after{vertical-align:0}.dropstart .dropdown-menu[data-bs-popper]{top:0;right:100%;left:auto;margin-top:0;margin-right:var(--bs-dropdown-spacer)}.dropstart .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:""}.dropstart .dropdown-toggle::after{display:none}.dropstart .dropdown-toggle::before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:"";border-top:.3em solid rgba(0,0,0,0);border-right:.3em solid;border-bottom:.3em solid rgba(0,0,0,0)}.dropstart .dropdown-toggle:empty::after{margin-left:0}.dropstart .dropdown-toggle::before{vertical-align:0}.dropdown-divider{height:0;margin:var(--bs-dropdown-divider-margin-y) 0;overflow:hidden;border-top:1px solid var(--bs-dropdown-divider-bg);opacity:1}.dropdown-item{display:block;width:100%;padding:var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);clear:both;font-weight:400;color:var(--bs-dropdown-link-color);text-align:inherit;text-decoration:none;-webkit-text-decoration:none;-moz-text-decoration:none;-ms-text-decoration:none;-o-text-decoration:none;white-space:nowrap;background-color:rgba(0,0,0,0);border:0}.dropdown-item:hover,.dropdown-item:focus{color:var(--bs-dropdown-link-hover-color);background-color:var(--bs-dropdown-link-hover-bg)}.dropdown-item.active,.dropdown-item:active{color:var(--bs-dropdown-link-active-color);text-decoration:none;background-color:var(--bs-dropdown-link-active-bg)}.dropdown-item.disabled,.dropdown-item:disabled{color:var(--bs-dropdown-link-disabled-color);pointer-events:none;background-color:rgba(0,0,0,0)}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:var(--bs-dropdown-header-padding-y) var(--bs-dropdown-header-padding-x);margin-bottom:0;font-size:0.875rem;color:var(--bs-dropdown-header-color);white-space:nowrap}.dropdown-item-text{display:block;padding:var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);color:var(--bs-dropdown-link-color)}.dropdown-menu-dark{--bs-dropdown-color: #dee2e6;--bs-dropdown-bg: #343a40;--bs-dropdown-border-color: rgba(0, 0, 0, 0.175);--bs-dropdown-box-shadow: ;--bs-dropdown-link-color: #dee2e6;--bs-dropdown-link-hover-color: #fff;--bs-dropdown-divider-bg: rgba(0, 0, 0, 0.175);--bs-dropdown-link-hover-bg: rgba(255, 255, 255, 0.15);--bs-dropdown-link-active-color: #fff;--bs-dropdown-link-active-bg: #2fa4e7;--bs-dropdown-link-disabled-color: #adb5bd;--bs-dropdown-header-color: #adb5bd}.btn-group,.btn-group-vertical{position:relative;display:inline-flex;vertical-align:middle}.btn-group>.btn,.btn-group-vertical>.btn{position:relative;flex:1 1 auto;-webkit-flex:1 1 auto}.btn-group>.btn-check:checked+.btn,.btn-group>.btn-check:focus+.btn,.btn-group>.btn:hover,.btn-group>.btn:focus,.btn-group>.btn:active,.btn-group>.btn.active,.btn-group-vertical>.btn-check:checked+.btn,.btn-group-vertical>.btn-check:focus+.btn,.btn-group-vertical>.btn:hover,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn.active{z-index:1}.btn-toolbar{display:flex;display:-webkit-flex;flex-wrap:wrap;-webkit-flex-wrap:wrap;justify-content:flex-start;-webkit-justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group>:not(.btn-check:first-child)+.btn,.btn-group>.btn-group:not(:first-child){margin-left:calc(1px*-1)}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split::after,.dropup .dropdown-toggle-split::after,.dropend .dropdown-toggle-split::after{margin-left:0}.dropstart .dropdown-toggle-split::before{margin-right:0}.btn-sm+.dropdown-toggle-split,.btn-group-sm>.btn+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-lg+.dropdown-toggle-split,.btn-group-lg>.btn+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{flex-direction:column;-webkit-flex-direction:column;align-items:flex-start;-webkit-align-items:flex-start;justify-content:center;-webkit-justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn:not(:first-child),.btn-group-vertical>.btn-group:not(:first-child){margin-top:calc(1px*-1)}.nav{--bs-nav-link-padding-x: 1rem;--bs-nav-link-padding-y: 0.5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color: #2fa4e7;--bs-nav-link-hover-color: #2683b9;--bs-nav-link-disabled-color: rgba(73, 80, 87, 0.75);display:flex;display:-webkit-flex;flex-wrap:wrap;-webkit-flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);font-size:var(--bs-nav-link-font-size);font-weight:var(--bs-nav-link-font-weight);color:var(--bs-nav-link-color);text-decoration:none;-webkit-text-decoration:none;-moz-text-decoration:none;-ms-text-decoration:none;-o-text-decoration:none;background:none;border:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out}@media(prefers-reduced-motion: reduce){.nav-link{transition:none}}.nav-link:hover,.nav-link:focus{color:var(--bs-nav-link-hover-color)}.nav-link:focus-visible{outline:0;box-shadow:0 0 0 .25rem rgba(47,164,231,.25)}.nav-link.disabled,.nav-link:disabled{color:var(--bs-nav-link-disabled-color);pointer-events:none;cursor:default}.nav-tabs{--bs-nav-tabs-border-width: 1px;--bs-nav-tabs-border-color: #dee2e6;--bs-nav-tabs-border-radius: 0.375rem;--bs-nav-tabs-link-hover-border-color: #e9ecef #e9ecef #dee2e6;--bs-nav-tabs-link-active-color: #000;--bs-nav-tabs-link-active-bg: #fff;--bs-nav-tabs-link-active-border-color: #dee2e6 #dee2e6 #fff;border-bottom:var(--bs-nav-tabs-border-width) solid var(--bs-nav-tabs-border-color)}.nav-tabs .nav-link{margin-bottom:calc(-1*var(--bs-nav-tabs-border-width));border:var(--bs-nav-tabs-border-width) solid rgba(0,0,0,0)}.nav-tabs .nav-link:hover,.nav-tabs .nav-link:focus{isolation:isolate;border-color:var(--bs-nav-tabs-link-hover-border-color)}.nav-tabs .nav-link.active,.nav-tabs .nav-item.show .nav-link{color:var(--bs-nav-tabs-link-active-color);background-color:var(--bs-nav-tabs-link-active-bg);border-color:var(--bs-nav-tabs-link-active-border-color)}.nav-tabs .dropdown-menu{margin-top:calc(-1*var(--bs-nav-tabs-border-width))}.nav-pills{--bs-nav-pills-border-radius: 0.375rem;--bs-nav-pills-link-active-color: #fff;--bs-nav-pills-link-active-bg: #2fa4e7}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:var(--bs-nav-pills-link-active-color);background-color:var(--bs-nav-pills-link-active-bg)}.nav-underline{--bs-nav-underline-gap: 1rem;--bs-nav-underline-border-width: 0.125rem;--bs-nav-underline-link-active-color: #000;gap:var(--bs-nav-underline-gap)}.nav-underline .nav-link{padding-right:0;padding-left:0;border-bottom:var(--bs-nav-underline-border-width) solid rgba(0,0,0,0)}.nav-underline .nav-link:hover,.nav-underline .nav-link:focus{border-bottom-color:currentcolor}.nav-underline .nav-link.active,.nav-underline .show>.nav-link{font-weight:700;color:var(--bs-nav-underline-link-active-color);border-bottom-color:currentcolor}.nav-fill>.nav-link,.nav-fill .nav-item{flex:1 1 auto;-webkit-flex:1 1 auto;text-align:center}.nav-justified>.nav-link,.nav-justified .nav-item{flex-basis:0;-webkit-flex-basis:0;flex-grow:1;-webkit-flex-grow:1;text-align:center}.nav-fill .nav-item .nav-link,.nav-justified .nav-item .nav-link{width:100%}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{--bs-navbar-padding-x: 0;--bs-navbar-padding-y: 0.5rem;--bs-navbar-color: #fff;--bs-navbar-hover-color: rgba(4, 13, 18, 0.8);--bs-navbar-disabled-color: rgba(255, 255, 255, 0.75);--bs-navbar-active-color: #040d12;--bs-navbar-brand-padding-y: 0.3125rem;--bs-navbar-brand-margin-end: 1rem;--bs-navbar-brand-font-size: 1.25rem;--bs-navbar-brand-color: #fff;--bs-navbar-brand-hover-color: #040d12;--bs-navbar-nav-link-padding-x: 0.5rem;--bs-navbar-toggler-padding-y: 0.25;--bs-navbar-toggler-padding-x: 0;--bs-navbar-toggler-font-size: 1.25rem;--bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='%23fff' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");--bs-navbar-toggler-border-color: rgba(255, 255, 255, 0);--bs-navbar-toggler-border-radius: 0.375rem;--bs-navbar-toggler-focus-width: 0.25rem;--bs-navbar-toggler-transition: box-shadow 0.15s ease-in-out;position:relative;display:flex;display:-webkit-flex;flex-wrap:wrap;-webkit-flex-wrap:wrap;align-items:center;-webkit-align-items:center;justify-content:space-between;-webkit-justify-content:space-between;padding:var(--bs-navbar-padding-y) var(--bs-navbar-padding-x)}.navbar>.container,.navbar>.container-fluid,.navbar>.container-sm,.navbar>.container-md,.navbar>.container-lg,.navbar>.container-xl,.navbar>.container-xxl{display:flex;display:-webkit-flex;flex-wrap:inherit;-webkit-flex-wrap:inherit;align-items:center;-webkit-align-items:center;justify-content:space-between;-webkit-justify-content:space-between}.navbar-brand{padding-top:var(--bs-navbar-brand-padding-y);padding-bottom:var(--bs-navbar-brand-padding-y);margin-right:var(--bs-navbar-brand-margin-end);font-size:var(--bs-navbar-brand-font-size);color:var(--bs-navbar-brand-color);text-decoration:none;-webkit-text-decoration:none;-moz-text-decoration:none;-ms-text-decoration:none;-o-text-decoration:none;white-space:nowrap}.navbar-brand:hover,.navbar-brand:focus{color:var(--bs-navbar-brand-hover-color)}.navbar-nav{--bs-nav-link-padding-x: 0;--bs-nav-link-padding-y: 0.5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color: var(--bs-navbar-color);--bs-nav-link-hover-color: var(--bs-navbar-hover-color);--bs-nav-link-disabled-color: var(--bs-navbar-disabled-color);display:flex;display:-webkit-flex;flex-direction:column;-webkit-flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link.active,.navbar-nav .nav-link.show{color:var(--bs-navbar-active-color)}.navbar-nav .dropdown-menu{position:static}.navbar-text{padding-top:.5rem;padding-bottom:.5rem;color:var(--bs-navbar-color)}.navbar-text a,.navbar-text a:hover,.navbar-text a:focus{color:var(--bs-navbar-active-color)}.navbar-collapse{flex-basis:100%;-webkit-flex-basis:100%;flex-grow:1;-webkit-flex-grow:1;align-items:center;-webkit-align-items:center}.navbar-toggler{padding:var(--bs-navbar-toggler-padding-y) var(--bs-navbar-toggler-padding-x);font-size:var(--bs-navbar-toggler-font-size);line-height:1;color:var(--bs-navbar-color);background-color:rgba(0,0,0,0);border:var(--bs-border-width) solid var(--bs-navbar-toggler-border-color);transition:var(--bs-navbar-toggler-transition)}@media(prefers-reduced-motion: reduce){.navbar-toggler{transition:none}}.navbar-toggler:hover{text-decoration:none}.navbar-toggler:focus{text-decoration:none;outline:0;box-shadow:0 0 0 var(--bs-navbar-toggler-focus-width)}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;background-image:var(--bs-navbar-toggler-icon-bg);background-repeat:no-repeat;background-position:center;background-size:100%}.navbar-nav-scroll{max-height:var(--bs-scroll-height, 75vh);overflow-y:auto}@media(min-width: 576px){.navbar-expand-sm{flex-wrap:nowrap;-webkit-flex-wrap:nowrap;justify-content:flex-start;-webkit-justify-content:flex-start}.navbar-expand-sm .navbar-nav{flex-direction:row;-webkit-flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-sm .navbar-nav-scroll{overflow:visible}.navbar-expand-sm .navbar-collapse{display:flex !important;display:-webkit-flex !important;flex-basis:auto;-webkit-flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}.navbar-expand-sm .offcanvas{position:static;z-index:auto;flex-grow:1;-webkit-flex-grow:1;width:auto !important;height:auto !important;visibility:visible !important;background-color:rgba(0,0,0,0) !important;border:0 !important;transform:none !important;transition:none}.navbar-expand-sm .offcanvas .offcanvas-header{display:none}.navbar-expand-sm .offcanvas .offcanvas-body{display:flex;display:-webkit-flex;flex-grow:0;-webkit-flex-grow:0;padding:0;overflow-y:visible}}@media(min-width: 768px){.navbar-expand-md{flex-wrap:nowrap;-webkit-flex-wrap:nowrap;justify-content:flex-start;-webkit-justify-content:flex-start}.navbar-expand-md .navbar-nav{flex-direction:row;-webkit-flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-md .navbar-nav-scroll{overflow:visible}.navbar-expand-md .navbar-collapse{display:flex !important;display:-webkit-flex !important;flex-basis:auto;-webkit-flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}.navbar-expand-md .offcanvas{position:static;z-index:auto;flex-grow:1;-webkit-flex-grow:1;width:auto !important;height:auto !important;visibility:visible !important;background-color:rgba(0,0,0,0) !important;border:0 !important;transform:none !important;transition:none}.navbar-expand-md .offcanvas .offcanvas-header{display:none}.navbar-expand-md .offcanvas .offcanvas-body{display:flex;display:-webkit-flex;flex-grow:0;-webkit-flex-grow:0;padding:0;overflow-y:visible}}@media(min-width: 992px){.navbar-expand-lg{flex-wrap:nowrap;-webkit-flex-wrap:nowrap;justify-content:flex-start;-webkit-justify-content:flex-start}.navbar-expand-lg .navbar-nav{flex-direction:row;-webkit-flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-lg .navbar-nav-scroll{overflow:visible}.navbar-expand-lg .navbar-collapse{display:flex !important;display:-webkit-flex !important;flex-basis:auto;-webkit-flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}.navbar-expand-lg .offcanvas{position:static;z-index:auto;flex-grow:1;-webkit-flex-grow:1;width:auto !important;height:auto !important;visibility:visible !important;background-color:rgba(0,0,0,0) !important;border:0 !important;transform:none !important;transition:none}.navbar-expand-lg .offcanvas .offcanvas-header{display:none}.navbar-expand-lg .offcanvas .offcanvas-body{display:flex;display:-webkit-flex;flex-grow:0;-webkit-flex-grow:0;padding:0;overflow-y:visible}}@media(min-width: 1200px){.navbar-expand-xl{flex-wrap:nowrap;-webkit-flex-wrap:nowrap;justify-content:flex-start;-webkit-justify-content:flex-start}.navbar-expand-xl .navbar-nav{flex-direction:row;-webkit-flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-xl .navbar-nav-scroll{overflow:visible}.navbar-expand-xl .navbar-collapse{display:flex !important;display:-webkit-flex !important;flex-basis:auto;-webkit-flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}.navbar-expand-xl .offcanvas{position:static;z-index:auto;flex-grow:1;-webkit-flex-grow:1;width:auto !important;height:auto !important;visibility:visible !important;background-color:rgba(0,0,0,0) !important;border:0 !important;transform:none !important;transition:none}.navbar-expand-xl .offcanvas .offcanvas-header{display:none}.navbar-expand-xl .offcanvas .offcanvas-body{display:flex;display:-webkit-flex;flex-grow:0;-webkit-flex-grow:0;padding:0;overflow-y:visible}}@media(min-width: 1400px){.navbar-expand-xxl{flex-wrap:nowrap;-webkit-flex-wrap:nowrap;justify-content:flex-start;-webkit-justify-content:flex-start}.navbar-expand-xxl .navbar-nav{flex-direction:row;-webkit-flex-direction:row}.navbar-expand-xxl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xxl .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-xxl .navbar-nav-scroll{overflow:visible}.navbar-expand-xxl .navbar-collapse{display:flex !important;display:-webkit-flex !important;flex-basis:auto;-webkit-flex-basis:auto}.navbar-expand-xxl .navbar-toggler{display:none}.navbar-expand-xxl .offcanvas{position:static;z-index:auto;flex-grow:1;-webkit-flex-grow:1;width:auto !important;height:auto !important;visibility:visible !important;background-color:rgba(0,0,0,0) !important;border:0 !important;transform:none !important;transition:none}.navbar-expand-xxl .offcanvas .offcanvas-header{display:none}.navbar-expand-xxl .offcanvas .offcanvas-body{display:flex;display:-webkit-flex;flex-grow:0;-webkit-flex-grow:0;padding:0;overflow-y:visible}}.navbar-expand{flex-wrap:nowrap;-webkit-flex-wrap:nowrap;justify-content:flex-start;-webkit-justify-content:flex-start}.navbar-expand .navbar-nav{flex-direction:row;-webkit-flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand .navbar-nav-scroll{overflow:visible}.navbar-expand .navbar-collapse{display:flex !important;display:-webkit-flex !important;flex-basis:auto;-webkit-flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-expand .offcanvas{position:static;z-index:auto;flex-grow:1;-webkit-flex-grow:1;width:auto !important;height:auto !important;visibility:visible !important;background-color:rgba(0,0,0,0) !important;border:0 !important;transform:none !important;transition:none}.navbar-expand .offcanvas .offcanvas-header{display:none}.navbar-expand .offcanvas .offcanvas-body{display:flex;display:-webkit-flex;flex-grow:0;-webkit-flex-grow:0;padding:0;overflow-y:visible}.navbar-dark,.navbar[data-bs-theme=dark]{--bs-navbar-color: #fff;--bs-navbar-hover-color: rgba(4, 13, 18, 0.8);--bs-navbar-disabled-color: rgba(255, 255, 255, 0.75);--bs-navbar-active-color: #040d12;--bs-navbar-brand-color: #fff;--bs-navbar-brand-hover-color: #040d12;--bs-navbar-toggler-border-color: rgba(255, 255, 255, 0);--bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='%23fff' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}[data-bs-theme=dark] .navbar-toggler-icon{--bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='%23fff' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.card{--bs-card-spacer-y: 1rem;--bs-card-spacer-x: 1rem;--bs-card-title-spacer-y: 0.5rem;--bs-card-title-color: ;--bs-card-subtitle-color: ;--bs-card-border-width: 1px;--bs-card-border-color: rgba(0, 0, 0, 0.175);--bs-card-border-radius: 0.375rem;--bs-card-box-shadow: ;--bs-card-inner-border-radius: calc(0.375rem - 1px);--bs-card-cap-padding-y: 0.5rem;--bs-card-cap-padding-x: 1rem;--bs-card-cap-bg: rgba(73, 80, 87, 0.03);--bs-card-cap-color: ;--bs-card-height: ;--bs-card-color: ;--bs-card-bg: #fff;--bs-card-img-overlay-padding: 1rem;--bs-card-group-margin: 0.75rem;position:relative;display:flex;display:-webkit-flex;flex-direction:column;-webkit-flex-direction:column;min-width:0;height:var(--bs-card-height);color:var(--bs-body-color);word-wrap:break-word;background-color:var(--bs-card-bg);background-clip:border-box;border:var(--bs-card-border-width) solid var(--bs-card-border-color)}.card>hr{margin-right:0;margin-left:0}.card>.list-group{border-top:inherit;border-bottom:inherit}.card>.list-group:first-child{border-top-width:0}.card>.list-group:last-child{border-bottom-width:0}.card>.card-header+.list-group,.card>.list-group+.card-footer{border-top:0}.card-body{flex:1 1 auto;-webkit-flex:1 1 auto;padding:var(--bs-card-spacer-y) var(--bs-card-spacer-x);color:var(--bs-card-color)}.card-title{margin-bottom:var(--bs-card-title-spacer-y);color:var(--bs-card-title-color)}.card-subtitle{margin-top:calc(-0.5*var(--bs-card-title-spacer-y));margin-bottom:0;color:var(--bs-card-subtitle-color)}.card-text:last-child{margin-bottom:0}.card-link+.card-link{margin-left:var(--bs-card-spacer-x)}.card-header{padding:var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);margin-bottom:0;color:var(--bs-card-cap-color);background-color:var(--bs-card-cap-bg);border-bottom:var(--bs-card-border-width) solid var(--bs-card-border-color)}.card-footer{padding:var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);color:var(--bs-card-cap-color);background-color:var(--bs-card-cap-bg);border-top:var(--bs-card-border-width) solid var(--bs-card-border-color)}.card-header-tabs{margin-right:calc(-0.5*var(--bs-card-cap-padding-x));margin-bottom:calc(-1*var(--bs-card-cap-padding-y));margin-left:calc(-0.5*var(--bs-card-cap-padding-x));border-bottom:0}.card-header-tabs .nav-link.active{background-color:var(--bs-card-bg);border-bottom-color:var(--bs-card-bg)}.card-header-pills{margin-right:calc(-0.5*var(--bs-card-cap-padding-x));margin-left:calc(-0.5*var(--bs-card-cap-padding-x))}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:var(--bs-card-img-overlay-padding)}.card-img,.card-img-top,.card-img-bottom{width:100%}.card-group>.card{margin-bottom:var(--bs-card-group-margin)}@media(min-width: 576px){.card-group{display:flex;display:-webkit-flex;flex-flow:row wrap;-webkit-flex-flow:row wrap}.card-group>.card{flex:1 0 0%;-webkit-flex:1 0 0%;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}}.accordion{--bs-accordion-color: #495057;--bs-accordion-bg: #fff;--bs-accordion-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, border-radius 0.15s ease;--bs-accordion-border-color: #dee2e6;--bs-accordion-border-width: 1px;--bs-accordion-border-radius: 0.375rem;--bs-accordion-inner-border-radius: calc(0.375rem - 1px);--bs-accordion-btn-padding-x: 1.25rem;--bs-accordion-btn-padding-y: 1rem;--bs-accordion-btn-color: #495057;--bs-accordion-btn-bg: #fff;--bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23495057'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");--bs-accordion-btn-icon-width: 1.25rem;--bs-accordion-btn-icon-transform: rotate(-180deg);--bs-accordion-btn-icon-transition: transform 0.2s ease-in-out;--bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%2313425c'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");--bs-accordion-btn-focus-border-color: #97d2f3;--bs-accordion-btn-focus-box-shadow: 0 0 0 0.25rem rgba(47, 164, 231, 0.25);--bs-accordion-body-padding-x: 1.25rem;--bs-accordion-body-padding-y: 1rem;--bs-accordion-active-color: #13425c;--bs-accordion-active-bg: #d5edfa}.accordion-button{position:relative;display:flex;display:-webkit-flex;align-items:center;-webkit-align-items:center;width:100%;padding:var(--bs-accordion-btn-padding-y) var(--bs-accordion-btn-padding-x);font-size:1rem;color:var(--bs-accordion-btn-color);text-align:left;background-color:var(--bs-accordion-btn-bg);border:0;overflow-anchor:none;transition:var(--bs-accordion-transition)}@media(prefers-reduced-motion: reduce){.accordion-button{transition:none}}.accordion-button:not(.collapsed){color:var(--bs-accordion-active-color);background-color:var(--bs-accordion-active-bg);box-shadow:inset 0 calc(-1*var(--bs-accordion-border-width)) 0 var(--bs-accordion-border-color)}.accordion-button:not(.collapsed)::after{background-image:var(--bs-accordion-btn-active-icon);transform:var(--bs-accordion-btn-icon-transform)}.accordion-button::after{flex-shrink:0;-webkit-flex-shrink:0;width:var(--bs-accordion-btn-icon-width);height:var(--bs-accordion-btn-icon-width);margin-left:auto;content:"";background-image:var(--bs-accordion-btn-icon);background-repeat:no-repeat;background-size:var(--bs-accordion-btn-icon-width);transition:var(--bs-accordion-btn-icon-transition)}@media(prefers-reduced-motion: reduce){.accordion-button::after{transition:none}}.accordion-button:hover{z-index:2}.accordion-button:focus{z-index:3;border-color:var(--bs-accordion-btn-focus-border-color);outline:0;box-shadow:var(--bs-accordion-btn-focus-box-shadow)}.accordion-header{margin-bottom:0}.accordion-item{color:var(--bs-accordion-color);background-color:var(--bs-accordion-bg);border:var(--bs-accordion-border-width) solid var(--bs-accordion-border-color)}.accordion-item:not(:first-of-type){border-top:0}.accordion-body{padding:var(--bs-accordion-body-padding-y) var(--bs-accordion-body-padding-x)}.accordion-flush .accordion-collapse{border-width:0}.accordion-flush .accordion-item{border-right:0;border-left:0}.accordion-flush .accordion-item:first-child{border-top:0}.accordion-flush .accordion-item:last-child{border-bottom:0}[data-bs-theme=dark] .accordion-button::after{--bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%2382c8f1'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");--bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%2382c8f1'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e")}.breadcrumb{--bs-breadcrumb-padding-x: 0;--bs-breadcrumb-padding-y: 0;--bs-breadcrumb-margin-bottom: 1rem;--bs-breadcrumb-bg: ;--bs-breadcrumb-border-radius: ;--bs-breadcrumb-divider-color: rgba(73, 80, 87, 0.75);--bs-breadcrumb-item-padding-x: 0.5rem;--bs-breadcrumb-item-active-color: rgba(73, 80, 87, 0.75);display:flex;display:-webkit-flex;flex-wrap:wrap;-webkit-flex-wrap:wrap;padding:var(--bs-breadcrumb-padding-y) var(--bs-breadcrumb-padding-x);margin-bottom:var(--bs-breadcrumb-margin-bottom);font-size:var(--bs-breadcrumb-font-size);list-style:none;background-color:var(--bs-breadcrumb-bg)}.breadcrumb-item+.breadcrumb-item{padding-left:var(--bs-breadcrumb-item-padding-x)}.breadcrumb-item+.breadcrumb-item::before{float:left;padding-right:var(--bs-breadcrumb-item-padding-x);color:var(--bs-breadcrumb-divider-color);content:var(--bs-breadcrumb-divider, ">") /* rtl: var(--bs-breadcrumb-divider, ">") */}.breadcrumb-item.active{color:var(--bs-breadcrumb-item-active-color)}.pagination{--bs-pagination-padding-x: 0.75rem;--bs-pagination-padding-y: 0.375rem;--bs-pagination-font-size:1rem;--bs-pagination-color: #2fa4e7;--bs-pagination-bg: #fff;--bs-pagination-border-width: 1px;--bs-pagination-border-color: #dee2e6;--bs-pagination-border-radius: 0.375rem;--bs-pagination-hover-color: #2683b9;--bs-pagination-hover-bg: #f8f9fa;--bs-pagination-hover-border-color: #dee2e6;--bs-pagination-focus-color: #2683b9;--bs-pagination-focus-bg: #e9ecef;--bs-pagination-focus-box-shadow: 0 0 0 0.25rem rgba(47, 164, 231, 0.25);--bs-pagination-active-color: #fff;--bs-pagination-active-bg: #2fa4e7;--bs-pagination-active-border-color: #2fa4e7;--bs-pagination-disabled-color: rgba(73, 80, 87, 0.75);--bs-pagination-disabled-bg: #e9ecef;--bs-pagination-disabled-border-color: #dee2e6;display:flex;display:-webkit-flex;padding-left:0;list-style:none}.page-link{position:relative;display:block;padding:var(--bs-pagination-padding-y) var(--bs-pagination-padding-x);font-size:var(--bs-pagination-font-size);color:var(--bs-pagination-color);text-decoration:none;-webkit-text-decoration:none;-moz-text-decoration:none;-ms-text-decoration:none;-o-text-decoration:none;background-color:var(--bs-pagination-bg);border:var(--bs-pagination-border-width) solid var(--bs-pagination-border-color);transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion: reduce){.page-link{transition:none}}.page-link:hover{z-index:2;color:var(--bs-pagination-hover-color);background-color:var(--bs-pagination-hover-bg);border-color:var(--bs-pagination-hover-border-color)}.page-link:focus{z-index:3;color:var(--bs-pagination-focus-color);background-color:var(--bs-pagination-focus-bg);outline:0;box-shadow:var(--bs-pagination-focus-box-shadow)}.page-link.active,.active>.page-link{z-index:3;color:var(--bs-pagination-active-color);background-color:var(--bs-pagination-active-bg);border-color:var(--bs-pagination-active-border-color)}.page-link.disabled,.disabled>.page-link{color:var(--bs-pagination-disabled-color);pointer-events:none;background-color:var(--bs-pagination-disabled-bg);border-color:var(--bs-pagination-disabled-border-color)}.page-item:not(:first-child) .page-link{margin-left:calc(1px*-1)}.pagination-lg{--bs-pagination-padding-x: 1.5rem;--bs-pagination-padding-y: 0.75rem;--bs-pagination-font-size:1.25rem;--bs-pagination-border-radius: 0.5rem}.pagination-sm{--bs-pagination-padding-x: 0.5rem;--bs-pagination-padding-y: 0.25rem;--bs-pagination-font-size:0.875rem;--bs-pagination-border-radius: 0.25rem}.badge{--bs-badge-padding-x: 0.65em;--bs-badge-padding-y: 0.35em;--bs-badge-font-size:0.75em;--bs-badge-font-weight: 700;--bs-badge-color: #fff;--bs-badge-border-radius: 0.375rem;display:inline-block;padding:var(--bs-badge-padding-y) var(--bs-badge-padding-x);font-size:var(--bs-badge-font-size);font-weight:var(--bs-badge-font-weight);line-height:1;color:var(--bs-badge-color);text-align:center;white-space:nowrap;vertical-align:baseline}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.alert{--bs-alert-bg: transparent;--bs-alert-padding-x: 1rem;--bs-alert-padding-y: 1rem;--bs-alert-margin-bottom: 1rem;--bs-alert-color: inherit;--bs-alert-border-color: transparent;--bs-alert-border: 0 solid var(--bs-alert-border-color);--bs-alert-border-radius: 0.375rem;--bs-alert-link-color: inherit;position:relative;padding:var(--bs-alert-padding-y) var(--bs-alert-padding-x);margin-bottom:var(--bs-alert-margin-bottom);color:var(--bs-alert-color);background-color:var(--bs-alert-bg);border:var(--bs-alert-border)}.alert-heading{color:inherit}.alert-link{font-weight:700;color:var(--bs-alert-link-color)}.alert-dismissible{padding-right:3rem}.alert-dismissible .btn-close{position:absolute;top:0;right:0;z-index:2;padding:1.25rem 1rem}.alert-default{--bs-alert-color: var(--bs-default-text-emphasis);--bs-alert-bg: var(--bs-default-bg-subtle);--bs-alert-border-color: var(--bs-default-border-subtle);--bs-alert-link-color: var(--bs-default-text-emphasis)}.alert-primary{--bs-alert-color: var(--bs-primary-text-emphasis);--bs-alert-bg: var(--bs-primary-bg-subtle);--bs-alert-border-color: var(--bs-primary-border-subtle);--bs-alert-link-color: var(--bs-primary-text-emphasis)}.alert-secondary{--bs-alert-color: var(--bs-secondary-text-emphasis);--bs-alert-bg: var(--bs-secondary-bg-subtle);--bs-alert-border-color: var(--bs-secondary-border-subtle);--bs-alert-link-color: var(--bs-secondary-text-emphasis)}.alert-success{--bs-alert-color: var(--bs-success-text-emphasis);--bs-alert-bg: var(--bs-success-bg-subtle);--bs-alert-border-color: var(--bs-success-border-subtle);--bs-alert-link-color: var(--bs-success-text-emphasis)}.alert-info{--bs-alert-color: var(--bs-info-text-emphasis);--bs-alert-bg: var(--bs-info-bg-subtle);--bs-alert-border-color: var(--bs-info-border-subtle);--bs-alert-link-color: var(--bs-info-text-emphasis)}.alert-warning{--bs-alert-color: var(--bs-warning-text-emphasis);--bs-alert-bg: var(--bs-warning-bg-subtle);--bs-alert-border-color: var(--bs-warning-border-subtle);--bs-alert-link-color: var(--bs-warning-text-emphasis)}.alert-danger{--bs-alert-color: var(--bs-danger-text-emphasis);--bs-alert-bg: var(--bs-danger-bg-subtle);--bs-alert-border-color: var(--bs-danger-border-subtle);--bs-alert-link-color: var(--bs-danger-text-emphasis)}.alert-light{--bs-alert-color: var(--bs-light-text-emphasis);--bs-alert-bg: var(--bs-light-bg-subtle);--bs-alert-border-color: var(--bs-light-border-subtle);--bs-alert-link-color: var(--bs-light-text-emphasis)}.alert-dark{--bs-alert-color: var(--bs-dark-text-emphasis);--bs-alert-bg: var(--bs-dark-bg-subtle);--bs-alert-border-color: var(--bs-dark-border-subtle);--bs-alert-link-color: var(--bs-dark-text-emphasis)}@keyframes progress-bar-stripes{0%{background-position-x:.5rem}}.progress,.progress-stacked{--bs-progress-height: 0.5rem;--bs-progress-font-size:0.75rem;--bs-progress-bg: #e9ecef;--bs-progress-border-radius: 0.375rem;--bs-progress-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.075);--bs-progress-bar-color: #fff;--bs-progress-bar-bg: #2fa4e7;--bs-progress-bar-transition: width 0.6s ease;display:flex;display:-webkit-flex;height:var(--bs-progress-height);overflow:hidden;font-size:var(--bs-progress-font-size);background-color:var(--bs-progress-bg)}.progress-bar{display:flex;display:-webkit-flex;flex-direction:column;-webkit-flex-direction:column;justify-content:center;-webkit-justify-content:center;overflow:hidden;color:var(--bs-progress-bar-color);text-align:center;white-space:nowrap;background-color:var(--bs-progress-bar-bg);transition:var(--bs-progress-bar-transition)}@media(prefers-reduced-motion: reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-size:var(--bs-progress-height) var(--bs-progress-height)}.progress-stacked>.progress{overflow:visible}.progress-stacked>.progress>.progress-bar{width:100%}.progress-bar-animated{animation:1s linear infinite progress-bar-stripes}@media(prefers-reduced-motion: reduce){.progress-bar-animated{animation:none}}.list-group{--bs-list-group-color: #495057;--bs-list-group-bg: #fff;--bs-list-group-border-color: #dee2e6;--bs-list-group-border-width: 1px;--bs-list-group-border-radius: 0.375rem;--bs-list-group-item-padding-x: 1rem;--bs-list-group-item-padding-y: 0.5rem;--bs-list-group-action-color: rgba(73, 80, 87, 0.75);--bs-list-group-action-hover-color: #000;--bs-list-group-action-hover-bg: #f8f9fa;--bs-list-group-action-active-color: #495057;--bs-list-group-action-active-bg: #e9ecef;--bs-list-group-disabled-color: rgba(73, 80, 87, 0.75);--bs-list-group-disabled-bg: #fff;--bs-list-group-active-color: #fff;--bs-list-group-active-bg: #2fa4e7;--bs-list-group-active-border-color: #2fa4e7;display:flex;display:-webkit-flex;flex-direction:column;-webkit-flex-direction:column;padding-left:0;margin-bottom:0}.list-group-numbered{list-style-type:none;counter-reset:section}.list-group-numbered>.list-group-item::before{content:counters(section, ".") ". ";counter-increment:section}.list-group-item-action{width:100%;color:var(--bs-list-group-action-color);text-align:inherit}.list-group-item-action:hover,.list-group-item-action:focus{z-index:1;color:var(--bs-list-group-action-hover-color);text-decoration:none;background-color:var(--bs-list-group-action-hover-bg)}.list-group-item-action:active{color:var(--bs-list-group-action-active-color);background-color:var(--bs-list-group-action-active-bg)}.list-group-item{position:relative;display:block;padding:var(--bs-list-group-item-padding-y) var(--bs-list-group-item-padding-x);color:var(--bs-list-group-color);text-decoration:none;-webkit-text-decoration:none;-moz-text-decoration:none;-ms-text-decoration:none;-o-text-decoration:none;background-color:var(--bs-list-group-bg);border:var(--bs-list-group-border-width) solid var(--bs-list-group-border-color)}.list-group-item.disabled,.list-group-item:disabled{color:var(--bs-list-group-disabled-color);pointer-events:none;background-color:var(--bs-list-group-disabled-bg)}.list-group-item.active{z-index:2;color:var(--bs-list-group-active-color);background-color:var(--bs-list-group-active-bg);border-color:var(--bs-list-group-active-border-color)}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{margin-top:calc(-1*var(--bs-list-group-border-width));border-top-width:var(--bs-list-group-border-width)}.list-group-horizontal{flex-direction:row;-webkit-flex-direction:row}.list-group-horizontal>.list-group-item.active{margin-top:0}.list-group-horizontal>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal>.list-group-item+.list-group-item.active{margin-left:calc(-1*var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}@media(min-width: 576px){.list-group-horizontal-sm{flex-direction:row;-webkit-flex-direction:row}.list-group-horizontal-sm>.list-group-item.active{margin-top:0}.list-group-horizontal-sm>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-sm>.list-group-item+.list-group-item.active{margin-left:calc(-1*var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media(min-width: 768px){.list-group-horizontal-md{flex-direction:row;-webkit-flex-direction:row}.list-group-horizontal-md>.list-group-item.active{margin-top:0}.list-group-horizontal-md>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-md>.list-group-item+.list-group-item.active{margin-left:calc(-1*var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media(min-width: 992px){.list-group-horizontal-lg{flex-direction:row;-webkit-flex-direction:row}.list-group-horizontal-lg>.list-group-item.active{margin-top:0}.list-group-horizontal-lg>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-lg>.list-group-item+.list-group-item.active{margin-left:calc(-1*var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media(min-width: 1200px){.list-group-horizontal-xl{flex-direction:row;-webkit-flex-direction:row}.list-group-horizontal-xl>.list-group-item.active{margin-top:0}.list-group-horizontal-xl>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-xl>.list-group-item+.list-group-item.active{margin-left:calc(-1*var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media(min-width: 1400px){.list-group-horizontal-xxl{flex-direction:row;-webkit-flex-direction:row}.list-group-horizontal-xxl>.list-group-item.active{margin-top:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item.active{margin-left:calc(-1*var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}.list-group-flush>.list-group-item{border-width:0 0 var(--bs-list-group-border-width)}.list-group-flush>.list-group-item:last-child{border-bottom-width:0}.list-group-item-default{--bs-list-group-color: var(--bs-default-text-emphasis);--bs-list-group-bg: var(--bs-default-bg-subtle);--bs-list-group-border-color: var(--bs-default-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-default-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-default-border-subtle);--bs-list-group-active-color: var(--bs-default-bg-subtle);--bs-list-group-active-bg: var(--bs-default-text-emphasis);--bs-list-group-active-border-color: var(--bs-default-text-emphasis)}.list-group-item-primary{--bs-list-group-color: var(--bs-primary-text-emphasis);--bs-list-group-bg: var(--bs-primary-bg-subtle);--bs-list-group-border-color: var(--bs-primary-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-primary-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-primary-border-subtle);--bs-list-group-active-color: var(--bs-primary-bg-subtle);--bs-list-group-active-bg: var(--bs-primary-text-emphasis);--bs-list-group-active-border-color: var(--bs-primary-text-emphasis)}.list-group-item-secondary{--bs-list-group-color: var(--bs-secondary-text-emphasis);--bs-list-group-bg: var(--bs-secondary-bg-subtle);--bs-list-group-border-color: var(--bs-secondary-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-secondary-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-secondary-border-subtle);--bs-list-group-active-color: var(--bs-secondary-bg-subtle);--bs-list-group-active-bg: var(--bs-secondary-text-emphasis);--bs-list-group-active-border-color: var(--bs-secondary-text-emphasis)}.list-group-item-success{--bs-list-group-color: var(--bs-success-text-emphasis);--bs-list-group-bg: var(--bs-success-bg-subtle);--bs-list-group-border-color: var(--bs-success-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-success-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-success-border-subtle);--bs-list-group-active-color: var(--bs-success-bg-subtle);--bs-list-group-active-bg: var(--bs-success-text-emphasis);--bs-list-group-active-border-color: var(--bs-success-text-emphasis)}.list-group-item-info{--bs-list-group-color: var(--bs-info-text-emphasis);--bs-list-group-bg: var(--bs-info-bg-subtle);--bs-list-group-border-color: var(--bs-info-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-info-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-info-border-subtle);--bs-list-group-active-color: var(--bs-info-bg-subtle);--bs-list-group-active-bg: var(--bs-info-text-emphasis);--bs-list-group-active-border-color: var(--bs-info-text-emphasis)}.list-group-item-warning{--bs-list-group-color: var(--bs-warning-text-emphasis);--bs-list-group-bg: var(--bs-warning-bg-subtle);--bs-list-group-border-color: var(--bs-warning-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-warning-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-warning-border-subtle);--bs-list-group-active-color: var(--bs-warning-bg-subtle);--bs-list-group-active-bg: var(--bs-warning-text-emphasis);--bs-list-group-active-border-color: var(--bs-warning-text-emphasis)}.list-group-item-danger{--bs-list-group-color: var(--bs-danger-text-emphasis);--bs-list-group-bg: var(--bs-danger-bg-subtle);--bs-list-group-border-color: var(--bs-danger-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-danger-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-danger-border-subtle);--bs-list-group-active-color: var(--bs-danger-bg-subtle);--bs-list-group-active-bg: var(--bs-danger-text-emphasis);--bs-list-group-active-border-color: var(--bs-danger-text-emphasis)}.list-group-item-light{--bs-list-group-color: var(--bs-light-text-emphasis);--bs-list-group-bg: var(--bs-light-bg-subtle);--bs-list-group-border-color: var(--bs-light-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-light-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-light-border-subtle);--bs-list-group-active-color: var(--bs-light-bg-subtle);--bs-list-group-active-bg: var(--bs-light-text-emphasis);--bs-list-group-active-border-color: var(--bs-light-text-emphasis)}.list-group-item-dark{--bs-list-group-color: var(--bs-dark-text-emphasis);--bs-list-group-bg: var(--bs-dark-bg-subtle);--bs-list-group-border-color: var(--bs-dark-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-dark-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-dark-border-subtle);--bs-list-group-active-color: var(--bs-dark-bg-subtle);--bs-list-group-active-bg: var(--bs-dark-text-emphasis);--bs-list-group-active-border-color: var(--bs-dark-text-emphasis)}.btn-close{--bs-btn-close-color: #000;--bs-btn-close-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e");--bs-btn-close-opacity: 0.5;--bs-btn-close-hover-opacity: 0.75;--bs-btn-close-focus-shadow: 0 0 0 0.25rem rgba(47, 164, 231, 0.25);--bs-btn-close-focus-opacity: 1;--bs-btn-close-disabled-opacity: 0.25;--bs-btn-close-white-filter: invert(1) grayscale(100%) brightness(200%);box-sizing:content-box;width:1em;height:1em;padding:.25em .25em;color:var(--bs-btn-close-color);background:rgba(0,0,0,0) var(--bs-btn-close-bg) center/1em auto no-repeat;border:0;opacity:var(--bs-btn-close-opacity)}.btn-close:hover{color:var(--bs-btn-close-color);text-decoration:none;opacity:var(--bs-btn-close-hover-opacity)}.btn-close:focus{outline:0;box-shadow:var(--bs-btn-close-focus-shadow);opacity:var(--bs-btn-close-focus-opacity)}.btn-close:disabled,.btn-close.disabled{pointer-events:none;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;opacity:var(--bs-btn-close-disabled-opacity)}.btn-close-white{filter:var(--bs-btn-close-white-filter)}[data-bs-theme=dark] .btn-close{filter:var(--bs-btn-close-white-filter)}.toast{--bs-toast-zindex: 1090;--bs-toast-padding-x: 0.75rem;--bs-toast-padding-y: 0.5rem;--bs-toast-spacing: 1.5rem;--bs-toast-max-width: 350px;--bs-toast-font-size:0.875rem;--bs-toast-color: ;--bs-toast-bg: rgba(255, 255, 255, 0.85);--bs-toast-border-width: 1px;--bs-toast-border-color: rgba(0, 0, 0, 0.175);--bs-toast-border-radius: 0.375rem;--bs-toast-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);--bs-toast-header-color: rgba(73, 80, 87, 0.75);--bs-toast-header-bg: rgba(255, 255, 255, 0.85);--bs-toast-header-border-color: rgba(0, 0, 0, 0.175);width:var(--bs-toast-max-width);max-width:100%;font-size:var(--bs-toast-font-size);color:var(--bs-toast-color);pointer-events:auto;background-color:var(--bs-toast-bg);background-clip:padding-box;border:var(--bs-toast-border-width) solid var(--bs-toast-border-color);box-shadow:var(--bs-toast-box-shadow)}.toast.showing{opacity:0}.toast:not(.show){display:none}.toast-container{--bs-toast-zindex: 1090;position:absolute;z-index:var(--bs-toast-zindex);width:max-content;width:-webkit-max-content;width:-moz-max-content;width:-ms-max-content;width:-o-max-content;max-width:100%;pointer-events:none}.toast-container>:not(:last-child){margin-bottom:var(--bs-toast-spacing)}.toast-header{display:flex;display:-webkit-flex;align-items:center;-webkit-align-items:center;padding:var(--bs-toast-padding-y) var(--bs-toast-padding-x);color:var(--bs-toast-header-color);background-color:var(--bs-toast-header-bg);background-clip:padding-box;border-bottom:var(--bs-toast-border-width) solid var(--bs-toast-header-border-color)}.toast-header .btn-close{margin-right:calc(-0.5*var(--bs-toast-padding-x));margin-left:var(--bs-toast-padding-x)}.toast-body{padding:var(--bs-toast-padding-x);word-wrap:break-word}.modal{--bs-modal-zindex: 1055;--bs-modal-width: 500px;--bs-modal-padding: 1rem;--bs-modal-margin: 0.5rem;--bs-modal-color: ;--bs-modal-bg: #fff;--bs-modal-border-color: rgba(0, 0, 0, 0.175);--bs-modal-border-width: 1px;--bs-modal-border-radius: 0.5rem;--bs-modal-box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);--bs-modal-inner-border-radius: calc(0.5rem - 1px);--bs-modal-header-padding-x: 1rem;--bs-modal-header-padding-y: 1rem;--bs-modal-header-padding: 1rem 1rem;--bs-modal-header-border-color: #dee2e6;--bs-modal-header-border-width: 1px;--bs-modal-title-line-height: 1.5;--bs-modal-footer-gap: 0.5rem;--bs-modal-footer-bg: ;--bs-modal-footer-border-color: #dee2e6;--bs-modal-footer-border-width: 1px;position:fixed;top:0;left:0;z-index:var(--bs-modal-zindex);display:none;width:100%;height:100%;overflow-x:hidden;overflow-y:auto;outline:0}.modal-dialog{position:relative;width:auto;margin:var(--bs-modal-margin);pointer-events:none}.modal.fade .modal-dialog{transition:transform .3s ease-out;transform:translate(0, -50px)}@media(prefers-reduced-motion: reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{transform:none}.modal.modal-static .modal-dialog{transform:scale(1.02)}.modal-dialog-scrollable{height:calc(100% - var(--bs-modal-margin)*2)}.modal-dialog-scrollable .modal-content{max-height:100%;overflow:hidden}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:flex;display:-webkit-flex;align-items:center;-webkit-align-items:center;min-height:calc(100% - var(--bs-modal-margin)*2)}.modal-content{position:relative;display:flex;display:-webkit-flex;flex-direction:column;-webkit-flex-direction:column;width:100%;color:var(--bs-modal-color);pointer-events:auto;background-color:var(--bs-modal-bg);background-clip:padding-box;border:var(--bs-modal-border-width) solid var(--bs-modal-border-color);outline:0}.modal-backdrop{--bs-backdrop-zindex: 1050;--bs-backdrop-bg: #000;--bs-backdrop-opacity: 0.5;position:fixed;top:0;left:0;z-index:var(--bs-backdrop-zindex);width:100vw;height:100vh;background-color:var(--bs-backdrop-bg)}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:var(--bs-backdrop-opacity)}.modal-header{display:flex;display:-webkit-flex;flex-shrink:0;-webkit-flex-shrink:0;align-items:center;-webkit-align-items:center;justify-content:space-between;-webkit-justify-content:space-between;padding:var(--bs-modal-header-padding);border-bottom:var(--bs-modal-header-border-width) solid var(--bs-modal-header-border-color)}.modal-header .btn-close{padding:calc(var(--bs-modal-header-padding-y)*.5) calc(var(--bs-modal-header-padding-x)*.5);margin:calc(-0.5*var(--bs-modal-header-padding-y)) calc(-0.5*var(--bs-modal-header-padding-x)) calc(-0.5*var(--bs-modal-header-padding-y)) auto}.modal-title{margin-bottom:0;line-height:var(--bs-modal-title-line-height)}.modal-body{position:relative;flex:1 1 auto;-webkit-flex:1 1 auto;padding:var(--bs-modal-padding)}.modal-footer{display:flex;display:-webkit-flex;flex-shrink:0;-webkit-flex-shrink:0;flex-wrap:wrap;-webkit-flex-wrap:wrap;align-items:center;-webkit-align-items:center;justify-content:flex-end;-webkit-justify-content:flex-end;padding:calc(var(--bs-modal-padding) - var(--bs-modal-footer-gap)*.5);background-color:var(--bs-modal-footer-bg);border-top:var(--bs-modal-footer-border-width) solid var(--bs-modal-footer-border-color)}.modal-footer>*{margin:calc(var(--bs-modal-footer-gap)*.5)}@media(min-width: 576px){.modal{--bs-modal-margin: 1.75rem;--bs-modal-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15)}.modal-dialog{max-width:var(--bs-modal-width);margin-right:auto;margin-left:auto}.modal-sm{--bs-modal-width: 300px}}@media(min-width: 992px){.modal-lg,.modal-xl{--bs-modal-width: 800px}}@media(min-width: 1200px){.modal-xl{--bs-modal-width: 1140px}}.modal-fullscreen{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen .modal-content{height:100%;border:0}.modal-fullscreen .modal-body{overflow-y:auto}@media(max-width: 575.98px){.modal-fullscreen-sm-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-sm-down .modal-content{height:100%;border:0}.modal-fullscreen-sm-down .modal-body{overflow-y:auto}}@media(max-width: 767.98px){.modal-fullscreen-md-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-md-down .modal-content{height:100%;border:0}.modal-fullscreen-md-down .modal-body{overflow-y:auto}}@media(max-width: 991.98px){.modal-fullscreen-lg-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-lg-down .modal-content{height:100%;border:0}.modal-fullscreen-lg-down .modal-body{overflow-y:auto}}@media(max-width: 1199.98px){.modal-fullscreen-xl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xl-down .modal-content{height:100%;border:0}.modal-fullscreen-xl-down .modal-body{overflow-y:auto}}@media(max-width: 1399.98px){.modal-fullscreen-xxl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xxl-down .modal-content{height:100%;border:0}.modal-fullscreen-xxl-down .modal-body{overflow-y:auto}}.tooltip{--bs-tooltip-zindex: 1080;--bs-tooltip-max-width: 200px;--bs-tooltip-padding-x: 0.5rem;--bs-tooltip-padding-y: 0.25rem;--bs-tooltip-margin: ;--bs-tooltip-font-size:0.875rem;--bs-tooltip-color: #fff;--bs-tooltip-bg: #000;--bs-tooltip-border-radius: 0.375rem;--bs-tooltip-opacity: 0.9;--bs-tooltip-arrow-width: 0.8rem;--bs-tooltip-arrow-height: 0.4rem;z-index:var(--bs-tooltip-zindex);display:block;margin:var(--bs-tooltip-margin);font-family:"Source Sans Pro",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:var(--bs-tooltip-font-size);word-wrap:break-word;opacity:0}.tooltip.show{opacity:var(--bs-tooltip-opacity)}.tooltip .tooltip-arrow{display:block;width:var(--bs-tooltip-arrow-width);height:var(--bs-tooltip-arrow-height)}.tooltip .tooltip-arrow::before{position:absolute;content:"";border-color:rgba(0,0,0,0);border-style:solid}.bs-tooltip-top .tooltip-arrow,.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow{bottom:calc(-1*var(--bs-tooltip-arrow-height))}.bs-tooltip-top .tooltip-arrow::before,.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow::before{top:-1px;border-width:var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width)*.5) 0;border-top-color:var(--bs-tooltip-bg)}.bs-tooltip-end .tooltip-arrow,.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow{left:calc(-1*var(--bs-tooltip-arrow-height));width:var(--bs-tooltip-arrow-height);height:var(--bs-tooltip-arrow-width)}.bs-tooltip-end .tooltip-arrow::before,.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow::before{right:-1px;border-width:calc(var(--bs-tooltip-arrow-width)*.5) var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width)*.5) 0;border-right-color:var(--bs-tooltip-bg)}.bs-tooltip-bottom .tooltip-arrow,.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow{top:calc(-1*var(--bs-tooltip-arrow-height))}.bs-tooltip-bottom .tooltip-arrow::before,.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow::before{bottom:-1px;border-width:0 calc(var(--bs-tooltip-arrow-width)*.5) var(--bs-tooltip-arrow-height);border-bottom-color:var(--bs-tooltip-bg)}.bs-tooltip-start .tooltip-arrow,.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow{right:calc(-1*var(--bs-tooltip-arrow-height));width:var(--bs-tooltip-arrow-height);height:var(--bs-tooltip-arrow-width)}.bs-tooltip-start .tooltip-arrow::before,.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow::before{left:-1px;border-width:calc(var(--bs-tooltip-arrow-width)*.5) 0 calc(var(--bs-tooltip-arrow-width)*.5) var(--bs-tooltip-arrow-height);border-left-color:var(--bs-tooltip-bg)}.tooltip-inner{max-width:var(--bs-tooltip-max-width);padding:var(--bs-tooltip-padding-y) var(--bs-tooltip-padding-x);color:var(--bs-tooltip-color);text-align:center;background-color:var(--bs-tooltip-bg)}.popover{--bs-popover-zindex: 1070;--bs-popover-max-width: 276px;--bs-popover-font-size:0.875rem;--bs-popover-bg: #fff;--bs-popover-border-width: 1px;--bs-popover-border-color: rgba(0, 0, 0, 0.175);--bs-popover-border-radius: 0.5rem;--bs-popover-inner-border-radius: calc(0.5rem - 1px);--bs-popover-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);--bs-popover-header-padding-x: 1rem;--bs-popover-header-padding-y: 0.5rem;--bs-popover-header-font-size:1rem;--bs-popover-header-color: #2fa4e7;--bs-popover-header-bg: #e9ecef;--bs-popover-body-padding-x: 1rem;--bs-popover-body-padding-y: 1rem;--bs-popover-body-color: #495057;--bs-popover-arrow-width: 1rem;--bs-popover-arrow-height: 0.5rem;--bs-popover-arrow-border: var(--bs-popover-border-color);z-index:var(--bs-popover-zindex);display:block;max-width:var(--bs-popover-max-width);font-family:"Source Sans Pro",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:var(--bs-popover-font-size);word-wrap:break-word;background-color:var(--bs-popover-bg);background-clip:padding-box;border:var(--bs-popover-border-width) solid var(--bs-popover-border-color)}.popover .popover-arrow{display:block;width:var(--bs-popover-arrow-width);height:var(--bs-popover-arrow-height)}.popover .popover-arrow::before,.popover .popover-arrow::after{position:absolute;display:block;content:"";border-color:rgba(0,0,0,0);border-style:solid;border-width:0}.bs-popover-top>.popover-arrow,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow{bottom:calc(-1*(var(--bs-popover-arrow-height)) - var(--bs-popover-border-width))}.bs-popover-top>.popover-arrow::before,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::before,.bs-popover-top>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::after{border-width:var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width)*.5) 0}.bs-popover-top>.popover-arrow::before,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::before{bottom:0;border-top-color:var(--bs-popover-arrow-border)}.bs-popover-top>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::after{bottom:var(--bs-popover-border-width);border-top-color:var(--bs-popover-bg)}.bs-popover-end>.popover-arrow,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow{left:calc(-1*(var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));width:var(--bs-popover-arrow-height);height:var(--bs-popover-arrow-width)}.bs-popover-end>.popover-arrow::before,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::before,.bs-popover-end>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::after{border-width:calc(var(--bs-popover-arrow-width)*.5) var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width)*.5) 0}.bs-popover-end>.popover-arrow::before,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::before{left:0;border-right-color:var(--bs-popover-arrow-border)}.bs-popover-end>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::after{left:var(--bs-popover-border-width);border-right-color:var(--bs-popover-bg)}.bs-popover-bottom>.popover-arrow,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow{top:calc(-1*(var(--bs-popover-arrow-height)) - var(--bs-popover-border-width))}.bs-popover-bottom>.popover-arrow::before,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::before,.bs-popover-bottom>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::after{border-width:0 calc(var(--bs-popover-arrow-width)*.5) var(--bs-popover-arrow-height)}.bs-popover-bottom>.popover-arrow::before,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::before{top:0;border-bottom-color:var(--bs-popover-arrow-border)}.bs-popover-bottom>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::after{top:var(--bs-popover-border-width);border-bottom-color:var(--bs-popover-bg)}.bs-popover-bottom .popover-header::before,.bs-popover-auto[data-popper-placement^=bottom] .popover-header::before{position:absolute;top:0;left:50%;display:block;width:var(--bs-popover-arrow-width);margin-left:calc(-0.5*var(--bs-popover-arrow-width));content:"";border-bottom:var(--bs-popover-border-width) solid var(--bs-popover-header-bg)}.bs-popover-start>.popover-arrow,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow{right:calc(-1*(var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));width:var(--bs-popover-arrow-height);height:var(--bs-popover-arrow-width)}.bs-popover-start>.popover-arrow::before,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::before,.bs-popover-start>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::after{border-width:calc(var(--bs-popover-arrow-width)*.5) 0 calc(var(--bs-popover-arrow-width)*.5) var(--bs-popover-arrow-height)}.bs-popover-start>.popover-arrow::before,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::before{right:0;border-left-color:var(--bs-popover-arrow-border)}.bs-popover-start>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::after{right:var(--bs-popover-border-width);border-left-color:var(--bs-popover-bg)}.popover-header{padding:var(--bs-popover-header-padding-y) var(--bs-popover-header-padding-x);margin-bottom:0;font-size:var(--bs-popover-header-font-size);color:var(--bs-popover-header-color);background-color:var(--bs-popover-header-bg);border-bottom:var(--bs-popover-border-width) solid var(--bs-popover-border-color)}.popover-header:empty{display:none}.popover-body{padding:var(--bs-popover-body-padding-y) var(--bs-popover-body-padding-x);color:var(--bs-popover-body-color)}.carousel{position:relative}.carousel.pointer-event{touch-action:pan-y;-webkit-touch-action:pan-y;-moz-touch-action:pan-y;-ms-touch-action:pan-y;-o-touch-action:pan-y}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner::after{display:block;clear:both;content:""}.carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;backface-visibility:hidden;-webkit-backface-visibility:hidden;-moz-backface-visibility:hidden;-ms-backface-visibility:hidden;-o-backface-visibility:hidden;transition:transform .6s ease-in-out}@media(prefers-reduced-motion: reduce){.carousel-item{transition:none}}.carousel-item.active,.carousel-item-next,.carousel-item-prev{display:block}.carousel-item-next:not(.carousel-item-start),.active.carousel-item-end{transform:translateX(100%)}.carousel-item-prev:not(.carousel-item-end),.active.carousel-item-start{transform:translateX(-100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;transform:none}.carousel-fade .carousel-item.active,.carousel-fade .carousel-item-next.carousel-item-start,.carousel-fade .carousel-item-prev.carousel-item-end{z-index:1;opacity:1}.carousel-fade .active.carousel-item-start,.carousel-fade .active.carousel-item-end{z-index:0;opacity:0;transition:opacity 0s .6s}@media(prefers-reduced-motion: reduce){.carousel-fade .active.carousel-item-start,.carousel-fade .active.carousel-item-end{transition:none}}.carousel-control-prev,.carousel-control-next{position:absolute;top:0;bottom:0;z-index:1;display:flex;display:-webkit-flex;align-items:center;-webkit-align-items:center;justify-content:center;-webkit-justify-content:center;width:15%;padding:0;color:#fff;text-align:center;background:none;border:0;opacity:.5;transition:opacity .15s ease}@media(prefers-reduced-motion: reduce){.carousel-control-prev,.carousel-control-next{transition:none}}.carousel-control-prev:hover,.carousel-control-prev:focus,.carousel-control-next:hover,.carousel-control-next:focus{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-prev-icon,.carousel-control-next-icon{display:inline-block;width:2rem;height:2rem;background-repeat:no-repeat;background-position:50%;background-size:100% 100%}.carousel-control-prev-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e")}.carousel-control-next-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e")}.carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:2;display:flex;display:-webkit-flex;justify-content:center;-webkit-justify-content:center;padding:0;margin-right:15%;margin-bottom:1rem;margin-left:15%}.carousel-indicators [data-bs-target]{box-sizing:content-box;flex:0 1 auto;-webkit-flex:0 1 auto;width:30px;height:3px;padding:0;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border:0;border-top:10px solid rgba(0,0,0,0);border-bottom:10px solid rgba(0,0,0,0);opacity:.5;transition:opacity .6s ease}@media(prefers-reduced-motion: reduce){.carousel-indicators [data-bs-target]{transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{position:absolute;right:15%;bottom:1.25rem;left:15%;padding-top:1.25rem;padding-bottom:1.25rem;color:#fff;text-align:center}.carousel-dark .carousel-control-prev-icon,.carousel-dark .carousel-control-next-icon{filter:invert(1) grayscale(100)}.carousel-dark .carousel-indicators [data-bs-target]{background-color:#000}.carousel-dark .carousel-caption{color:#000}[data-bs-theme=dark] .carousel .carousel-control-prev-icon,[data-bs-theme=dark] .carousel .carousel-control-next-icon,[data-bs-theme=dark].carousel .carousel-control-prev-icon,[data-bs-theme=dark].carousel .carousel-control-next-icon{filter:invert(1) grayscale(100)}[data-bs-theme=dark] .carousel .carousel-indicators [data-bs-target],[data-bs-theme=dark].carousel .carousel-indicators [data-bs-target]{background-color:#000}[data-bs-theme=dark] .carousel .carousel-caption,[data-bs-theme=dark].carousel .carousel-caption{color:#000}.spinner-grow,.spinner-border{display:inline-block;width:var(--bs-spinner-width);height:var(--bs-spinner-height);vertical-align:var(--bs-spinner-vertical-align);border-radius:50%;animation:var(--bs-spinner-animation-speed) linear infinite var(--bs-spinner-animation-name)}@keyframes spinner-border{to{transform:rotate(360deg) /* rtl:ignore */}}.spinner-border{--bs-spinner-width: 2rem;--bs-spinner-height: 2rem;--bs-spinner-vertical-align: -0.125em;--bs-spinner-border-width: 0.25em;--bs-spinner-animation-speed: 0.75s;--bs-spinner-animation-name: spinner-border;border:var(--bs-spinner-border-width) solid currentcolor;border-right-color:rgba(0,0,0,0)}.spinner-border-sm{--bs-spinner-width: 1rem;--bs-spinner-height: 1rem;--bs-spinner-border-width: 0.2em}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}.spinner-grow{--bs-spinner-width: 2rem;--bs-spinner-height: 2rem;--bs-spinner-vertical-align: -0.125em;--bs-spinner-animation-speed: 0.75s;--bs-spinner-animation-name: spinner-grow;background-color:currentcolor;opacity:0}.spinner-grow-sm{--bs-spinner-width: 1rem;--bs-spinner-height: 1rem}@media(prefers-reduced-motion: reduce){.spinner-border,.spinner-grow{--bs-spinner-animation-speed: 1.5s}}.offcanvas,.offcanvas-xxl,.offcanvas-xl,.offcanvas-lg,.offcanvas-md,.offcanvas-sm{--bs-offcanvas-zindex: 1045;--bs-offcanvas-width: 400px;--bs-offcanvas-height: 30vh;--bs-offcanvas-padding-x: 1rem;--bs-offcanvas-padding-y: 1rem;--bs-offcanvas-color: #495057;--bs-offcanvas-bg: #fff;--bs-offcanvas-border-width: 1px;--bs-offcanvas-border-color: rgba(0, 0, 0, 0.175);--bs-offcanvas-box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);--bs-offcanvas-transition: transform 0.3s ease-in-out;--bs-offcanvas-title-line-height: 1.5}@media(max-width: 575.98px){.offcanvas-sm{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;display:-webkit-flex;flex-direction:column;-webkit-flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media(max-width: 575.98px)and (prefers-reduced-motion: reduce){.offcanvas-sm{transition:none}}@media(max-width: 575.98px){.offcanvas-sm.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-sm.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-sm.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-sm.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-sm.showing,.offcanvas-sm.show:not(.hiding){transform:none}.offcanvas-sm.showing,.offcanvas-sm.hiding,.offcanvas-sm.show{visibility:visible}}@media(min-width: 576px){.offcanvas-sm{--bs-offcanvas-height: auto;--bs-offcanvas-border-width: 0;background-color:rgba(0,0,0,0) !important}.offcanvas-sm .offcanvas-header{display:none}.offcanvas-sm .offcanvas-body{display:flex;display:-webkit-flex;flex-grow:0;-webkit-flex-grow:0;padding:0;overflow-y:visible;background-color:rgba(0,0,0,0) !important}}@media(max-width: 767.98px){.offcanvas-md{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;display:-webkit-flex;flex-direction:column;-webkit-flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media(max-width: 767.98px)and (prefers-reduced-motion: reduce){.offcanvas-md{transition:none}}@media(max-width: 767.98px){.offcanvas-md.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-md.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-md.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-md.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-md.showing,.offcanvas-md.show:not(.hiding){transform:none}.offcanvas-md.showing,.offcanvas-md.hiding,.offcanvas-md.show{visibility:visible}}@media(min-width: 768px){.offcanvas-md{--bs-offcanvas-height: auto;--bs-offcanvas-border-width: 0;background-color:rgba(0,0,0,0) !important}.offcanvas-md .offcanvas-header{display:none}.offcanvas-md .offcanvas-body{display:flex;display:-webkit-flex;flex-grow:0;-webkit-flex-grow:0;padding:0;overflow-y:visible;background-color:rgba(0,0,0,0) !important}}@media(max-width: 991.98px){.offcanvas-lg{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;display:-webkit-flex;flex-direction:column;-webkit-flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media(max-width: 991.98px)and (prefers-reduced-motion: reduce){.offcanvas-lg{transition:none}}@media(max-width: 991.98px){.offcanvas-lg.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-lg.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-lg.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-lg.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-lg.showing,.offcanvas-lg.show:not(.hiding){transform:none}.offcanvas-lg.showing,.offcanvas-lg.hiding,.offcanvas-lg.show{visibility:visible}}@media(min-width: 992px){.offcanvas-lg{--bs-offcanvas-height: auto;--bs-offcanvas-border-width: 0;background-color:rgba(0,0,0,0) !important}.offcanvas-lg .offcanvas-header{display:none}.offcanvas-lg .offcanvas-body{display:flex;display:-webkit-flex;flex-grow:0;-webkit-flex-grow:0;padding:0;overflow-y:visible;background-color:rgba(0,0,0,0) !important}}@media(max-width: 1199.98px){.offcanvas-xl{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;display:-webkit-flex;flex-direction:column;-webkit-flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media(max-width: 1199.98px)and (prefers-reduced-motion: reduce){.offcanvas-xl{transition:none}}@media(max-width: 1199.98px){.offcanvas-xl.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-xl.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-xl.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-xl.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-xl.showing,.offcanvas-xl.show:not(.hiding){transform:none}.offcanvas-xl.showing,.offcanvas-xl.hiding,.offcanvas-xl.show{visibility:visible}}@media(min-width: 1200px){.offcanvas-xl{--bs-offcanvas-height: auto;--bs-offcanvas-border-width: 0;background-color:rgba(0,0,0,0) !important}.offcanvas-xl .offcanvas-header{display:none}.offcanvas-xl .offcanvas-body{display:flex;display:-webkit-flex;flex-grow:0;-webkit-flex-grow:0;padding:0;overflow-y:visible;background-color:rgba(0,0,0,0) !important}}@media(max-width: 1399.98px){.offcanvas-xxl{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;display:-webkit-flex;flex-direction:column;-webkit-flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media(max-width: 1399.98px)and (prefers-reduced-motion: reduce){.offcanvas-xxl{transition:none}}@media(max-width: 1399.98px){.offcanvas-xxl.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-xxl.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-xxl.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-xxl.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-xxl.showing,.offcanvas-xxl.show:not(.hiding){transform:none}.offcanvas-xxl.showing,.offcanvas-xxl.hiding,.offcanvas-xxl.show{visibility:visible}}@media(min-width: 1400px){.offcanvas-xxl{--bs-offcanvas-height: auto;--bs-offcanvas-border-width: 0;background-color:rgba(0,0,0,0) !important}.offcanvas-xxl .offcanvas-header{display:none}.offcanvas-xxl .offcanvas-body{display:flex;display:-webkit-flex;flex-grow:0;-webkit-flex-grow:0;padding:0;overflow-y:visible;background-color:rgba(0,0,0,0) !important}}.offcanvas{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;display:-webkit-flex;flex-direction:column;-webkit-flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}@media(prefers-reduced-motion: reduce){.offcanvas{transition:none}}.offcanvas.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas.showing,.offcanvas.show:not(.hiding){transform:none}.offcanvas.showing,.offcanvas.hiding,.offcanvas.show{visibility:visible}.offcanvas-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.offcanvas-backdrop.fade{opacity:0}.offcanvas-backdrop.show{opacity:.5}.offcanvas-header{display:flex;display:-webkit-flex;align-items:center;-webkit-align-items:center;justify-content:space-between;-webkit-justify-content:space-between;padding:var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x)}.offcanvas-header .btn-close{padding:calc(var(--bs-offcanvas-padding-y)*.5) calc(var(--bs-offcanvas-padding-x)*.5);margin-top:calc(-0.5*var(--bs-offcanvas-padding-y));margin-right:calc(-0.5*var(--bs-offcanvas-padding-x));margin-bottom:calc(-0.5*var(--bs-offcanvas-padding-y))}.offcanvas-title{margin-bottom:0;line-height:var(--bs-offcanvas-title-line-height)}.offcanvas-body{flex-grow:1;-webkit-flex-grow:1;padding:var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x);overflow-y:auto}.placeholder{display:inline-block;min-height:1em;vertical-align:middle;cursor:wait;background-color:currentcolor;opacity:.5}.placeholder.btn::before{display:inline-block;content:""}.placeholder-xs{min-height:.6em}.placeholder-sm{min-height:.8em}.placeholder-lg{min-height:1.2em}.placeholder-glow .placeholder{animation:placeholder-glow 2s ease-in-out infinite}@keyframes placeholder-glow{50%{opacity:.2}}.placeholder-wave{mask-image:linear-gradient(130deg, #000 55%, rgba(0, 0, 0, 0.8) 75%, #000 95%);-webkit-mask-image:linear-gradient(130deg, #000 55%, rgba(0, 0, 0, 0.8) 75%, #000 95%);mask-size:200% 100%;-webkit-mask-size:200% 100%;animation:placeholder-wave 2s linear infinite}@keyframes placeholder-wave{100%{mask-position:-200% 0%;-webkit-mask-position:-200% 0%}}.clearfix::after{display:block;clear:both;content:""}.text-bg-default{color:#000 !important;background-color:RGBA(var(--bs-default-rgb), var(--bs-bg-opacity, 1)) !important}.text-bg-primary{color:#fff !important;background-color:RGBA(var(--bs-primary-rgb), var(--bs-bg-opacity, 1)) !important}.text-bg-secondary{color:#000 !important;background-color:RGBA(var(--bs-secondary-rgb), var(--bs-bg-opacity, 1)) !important}.text-bg-success{color:#fff !important;background-color:RGBA(var(--bs-success-rgb), var(--bs-bg-opacity, 1)) !important}.text-bg-info{color:#fff !important;background-color:RGBA(var(--bs-info-rgb), var(--bs-bg-opacity, 1)) !important}.text-bg-warning{color:#fff !important;background-color:RGBA(var(--bs-warning-rgb), var(--bs-bg-opacity, 1)) !important}.text-bg-danger{color:#fff !important;background-color:RGBA(var(--bs-danger-rgb), var(--bs-bg-opacity, 1)) !important}.text-bg-light{color:#000 !important;background-color:RGBA(var(--bs-light-rgb), var(--bs-bg-opacity, 1)) !important}.text-bg-dark{color:#fff !important;background-color:RGBA(var(--bs-dark-rgb), var(--bs-bg-opacity, 1)) !important}.link-default{color:RGBA(var(--bs-default-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-default-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-default:hover,.link-default:focus{color:RGBA(237, 240, 242, var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(237, 240, 242, var(--bs-link-underline-opacity, 1)) !important}.link-primary{color:RGBA(var(--bs-primary-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-primary-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-primary:hover,.link-primary:focus{color:RGBA(38, 131, 185, var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(38, 131, 185, var(--bs-link-underline-opacity, 1)) !important}.link-secondary{color:RGBA(var(--bs-secondary-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-secondary-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-secondary:hover,.link-secondary:focus{color:RGBA(237, 240, 242, var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(237, 240, 242, var(--bs-link-underline-opacity, 1)) !important}.link-success{color:RGBA(var(--bs-success-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-success-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-success:hover,.link-success:focus{color:RGBA(92, 134, 46, var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(92, 134, 46, var(--bs-link-underline-opacity, 1)) !important}.link-info{color:RGBA(var(--bs-info-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-info-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-info:hover,.link-info:focus{color:RGBA(2, 48, 92, var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(2, 48, 92, var(--bs-link-underline-opacity, 1)) !important}.link-warning{color:RGBA(var(--bs-warning-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-warning-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-warning:hover,.link-warning:focus{color:RGBA(177, 69, 0, var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(177, 69, 0, var(--bs-link-underline-opacity, 1)) !important}.link-danger{color:RGBA(var(--bs-danger-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-danger-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-danger:hover,.link-danger:focus{color:RGBA(159, 22, 27, var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(159, 22, 27, var(--bs-link-underline-opacity, 1)) !important}.link-light{color:RGBA(var(--bs-light-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-light-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-light:hover,.link-light:focus{color:RGBA(249, 250, 251, var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(249, 250, 251, var(--bs-link-underline-opacity, 1)) !important}.link-dark{color:RGBA(var(--bs-dark-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-dark-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-dark:hover,.link-dark:focus{color:RGBA(42, 46, 51, var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(42, 46, 51, var(--bs-link-underline-opacity, 1)) !important}.link-body-emphasis{color:RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-body-emphasis:hover,.link-body-emphasis:focus{color:RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-opacity, 0.75)) !important;text-decoration-color:RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-underline-opacity, 0.75)) !important}.focus-ring:focus{outline:0;box-shadow:var(--bs-focus-ring-x, 0) var(--bs-focus-ring-y, 0) var(--bs-focus-ring-blur, 0) var(--bs-focus-ring-width) var(--bs-focus-ring-color)}.icon-link{display:inline-flex;gap:.375rem;align-items:center;-webkit-align-items:center;text-decoration-color:rgba(var(--bs-link-color-rgb), var(--bs-link-opacity, 0.5));text-underline-offset:.25em;backface-visibility:hidden;-webkit-backface-visibility:hidden;-moz-backface-visibility:hidden;-ms-backface-visibility:hidden;-o-backface-visibility:hidden}.icon-link>.bi{flex-shrink:0;-webkit-flex-shrink:0;width:1em;height:1em;fill:currentcolor;transition:.2s ease-in-out transform}@media(prefers-reduced-motion: reduce){.icon-link>.bi{transition:none}}.icon-link-hover:hover>.bi,.icon-link-hover:focus-visible>.bi{transform:var(--bs-icon-link-transform, translate3d(0.25em, 0, 0))}.ratio{position:relative;width:100%}.ratio::before{display:block;padding-top:var(--bs-aspect-ratio);content:""}.ratio>*{position:absolute;top:0;left:0;width:100%;height:100%}.ratio-1x1{--bs-aspect-ratio: 100%}.ratio-4x3{--bs-aspect-ratio: 75%}.ratio-16x9{--bs-aspect-ratio: 56.25%}.ratio-21x9{--bs-aspect-ratio: 42.8571428571%}.fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}.sticky-top{position:sticky;top:0;z-index:1020}.sticky-bottom{position:sticky;bottom:0;z-index:1020}@media(min-width: 576px){.sticky-sm-top{position:sticky;top:0;z-index:1020}.sticky-sm-bottom{position:sticky;bottom:0;z-index:1020}}@media(min-width: 768px){.sticky-md-top{position:sticky;top:0;z-index:1020}.sticky-md-bottom{position:sticky;bottom:0;z-index:1020}}@media(min-width: 992px){.sticky-lg-top{position:sticky;top:0;z-index:1020}.sticky-lg-bottom{position:sticky;bottom:0;z-index:1020}}@media(min-width: 1200px){.sticky-xl-top{position:sticky;top:0;z-index:1020}.sticky-xl-bottom{position:sticky;bottom:0;z-index:1020}}@media(min-width: 1400px){.sticky-xxl-top{position:sticky;top:0;z-index:1020}.sticky-xxl-bottom{position:sticky;bottom:0;z-index:1020}}.hstack{display:flex;display:-webkit-flex;flex-direction:row;-webkit-flex-direction:row;align-items:center;-webkit-align-items:center;align-self:stretch;-webkit-align-self:stretch}.vstack{display:flex;display:-webkit-flex;flex:1 1 auto;-webkit-flex:1 1 auto;flex-direction:column;-webkit-flex-direction:column;align-self:stretch;-webkit-align-self:stretch}.visually-hidden,.visually-hidden-focusable:not(:focus):not(:focus-within){width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;white-space:nowrap !important;border:0 !important}.visually-hidden:not(caption),.visually-hidden-focusable:not(:focus):not(:focus-within):not(caption){position:absolute !important}.stretched-link::after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;content:""}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vr{display:inline-block;align-self:stretch;-webkit-align-self:stretch;width:1px;min-height:1em;background-color:currentcolor;opacity:.25}.align-baseline{vertical-align:baseline !important}.align-top{vertical-align:top !important}.align-middle{vertical-align:middle !important}.align-bottom{vertical-align:bottom !important}.align-text-bottom{vertical-align:text-bottom !important}.align-text-top{vertical-align:text-top !important}.float-start{float:left !important}.float-end{float:right !important}.float-none{float:none !important}.object-fit-contain{object-fit:contain !important}.object-fit-cover{object-fit:cover !important}.object-fit-fill{object-fit:fill !important}.object-fit-scale{object-fit:scale-down !important}.object-fit-none{object-fit:none !important}.opacity-0{opacity:0 !important}.opacity-25{opacity:.25 !important}.opacity-50{opacity:.5 !important}.opacity-75{opacity:.75 !important}.opacity-100{opacity:1 !important}.overflow-auto{overflow:auto !important}.overflow-hidden{overflow:hidden !important}.overflow-visible{overflow:visible !important}.overflow-scroll{overflow:scroll !important}.overflow-x-auto{overflow-x:auto !important}.overflow-x-hidden{overflow-x:hidden !important}.overflow-x-visible{overflow-x:visible !important}.overflow-x-scroll{overflow-x:scroll !important}.overflow-y-auto{overflow-y:auto !important}.overflow-y-hidden{overflow-y:hidden !important}.overflow-y-visible{overflow-y:visible !important}.overflow-y-scroll{overflow-y:scroll !important}.d-inline{display:inline !important}.d-inline-block{display:inline-block !important}.d-block{display:block !important}.d-grid{display:grid !important}.d-inline-grid{display:inline-grid !important}.d-table{display:table !important}.d-table-row{display:table-row !important}.d-table-cell{display:table-cell !important}.d-flex{display:flex !important}.d-inline-flex{display:inline-flex !important}.d-none{display:none !important}.shadow{box-shadow:0 .5rem 1rem rgba(0,0,0,.15) !important}.shadow-sm{box-shadow:0 .125rem .25rem rgba(0,0,0,.075) !important}.shadow-lg{box-shadow:0 1rem 3rem rgba(0,0,0,.175) !important}.shadow-none{box-shadow:none !important}.focus-ring-default{--bs-focus-ring-color: rgba(var(--bs-default-rgb), var(--bs-focus-ring-opacity))}.focus-ring-primary{--bs-focus-ring-color: rgba(var(--bs-primary-rgb), var(--bs-focus-ring-opacity))}.focus-ring-secondary{--bs-focus-ring-color: rgba(var(--bs-secondary-rgb), var(--bs-focus-ring-opacity))}.focus-ring-success{--bs-focus-ring-color: rgba(var(--bs-success-rgb), var(--bs-focus-ring-opacity))}.focus-ring-info{--bs-focus-ring-color: rgba(var(--bs-info-rgb), var(--bs-focus-ring-opacity))}.focus-ring-warning{--bs-focus-ring-color: rgba(var(--bs-warning-rgb), var(--bs-focus-ring-opacity))}.focus-ring-danger{--bs-focus-ring-color: rgba(var(--bs-danger-rgb), var(--bs-focus-ring-opacity))}.focus-ring-light{--bs-focus-ring-color: rgba(var(--bs-light-rgb), var(--bs-focus-ring-opacity))}.focus-ring-dark{--bs-focus-ring-color: rgba(var(--bs-dark-rgb), var(--bs-focus-ring-opacity))}.position-static{position:static !important}.position-relative{position:relative !important}.position-absolute{position:absolute !important}.position-fixed{position:fixed !important}.position-sticky{position:sticky !important}.top-0{top:0 !important}.top-50{top:50% !important}.top-100{top:100% !important}.bottom-0{bottom:0 !important}.bottom-50{bottom:50% !important}.bottom-100{bottom:100% !important}.start-0{left:0 !important}.start-50{left:50% !important}.start-100{left:100% !important}.end-0{right:0 !important}.end-50{right:50% !important}.end-100{right:100% !important}.translate-middle{transform:translate(-50%, -50%) !important}.translate-middle-x{transform:translateX(-50%) !important}.translate-middle-y{transform:translateY(-50%) !important}.border{border:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important}.border-0{border:0 !important}.border-top{border-top:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important}.border-top-0{border-top:0 !important}.border-end{border-right:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important}.border-end-0{border-right:0 !important}.border-bottom{border-bottom:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important}.border-bottom-0{border-bottom:0 !important}.border-start{border-left:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important}.border-start-0{border-left:0 !important}.border-default{--bs-border-opacity: 1;border-color:rgba(var(--bs-default-rgb), var(--bs-border-opacity)) !important}.border-primary{--bs-border-opacity: 1;border-color:rgba(var(--bs-primary-rgb), var(--bs-border-opacity)) !important}.border-secondary{--bs-border-opacity: 1;border-color:rgba(var(--bs-secondary-rgb), var(--bs-border-opacity)) !important}.border-success{--bs-border-opacity: 1;border-color:rgba(var(--bs-success-rgb), var(--bs-border-opacity)) !important}.border-info{--bs-border-opacity: 1;border-color:rgba(var(--bs-info-rgb), var(--bs-border-opacity)) !important}.border-warning{--bs-border-opacity: 1;border-color:rgba(var(--bs-warning-rgb), var(--bs-border-opacity)) !important}.border-danger{--bs-border-opacity: 1;border-color:rgba(var(--bs-danger-rgb), var(--bs-border-opacity)) !important}.border-light{--bs-border-opacity: 1;border-color:rgba(var(--bs-light-rgb), var(--bs-border-opacity)) !important}.border-dark{--bs-border-opacity: 1;border-color:rgba(var(--bs-dark-rgb), var(--bs-border-opacity)) !important}.border-black{--bs-border-opacity: 1;border-color:rgba(var(--bs-black-rgb), var(--bs-border-opacity)) !important}.border-white{--bs-border-opacity: 1;border-color:rgba(var(--bs-white-rgb), var(--bs-border-opacity)) !important}.border-primary-subtle{border-color:var(--bs-primary-border-subtle) !important}.border-secondary-subtle{border-color:var(--bs-secondary-border-subtle) !important}.border-success-subtle{border-color:var(--bs-success-border-subtle) !important}.border-info-subtle{border-color:var(--bs-info-border-subtle) !important}.border-warning-subtle{border-color:var(--bs-warning-border-subtle) !important}.border-danger-subtle{border-color:var(--bs-danger-border-subtle) !important}.border-light-subtle{border-color:var(--bs-light-border-subtle) !important}.border-dark-subtle{border-color:var(--bs-dark-border-subtle) !important}.border-1{border-width:1px !important}.border-2{border-width:2px !important}.border-3{border-width:3px !important}.border-4{border-width:4px !important}.border-5{border-width:5px !important}.border-opacity-10{--bs-border-opacity: 0.1}.border-opacity-25{--bs-border-opacity: 0.25}.border-opacity-50{--bs-border-opacity: 0.5}.border-opacity-75{--bs-border-opacity: 0.75}.border-opacity-100{--bs-border-opacity: 1}.w-25{width:25% !important}.w-50{width:50% !important}.w-75{width:75% !important}.w-100{width:100% !important}.w-auto{width:auto !important}.mw-100{max-width:100% !important}.vw-100{width:100vw !important}.min-vw-100{min-width:100vw !important}.h-25{height:25% !important}.h-50{height:50% !important}.h-75{height:75% !important}.h-100{height:100% !important}.h-auto{height:auto !important}.mh-100{max-height:100% !important}.vh-100{height:100vh !important}.min-vh-100{min-height:100vh !important}.flex-fill{flex:1 1 auto !important}.flex-row{flex-direction:row !important}.flex-column{flex-direction:column !important}.flex-row-reverse{flex-direction:row-reverse !important}.flex-column-reverse{flex-direction:column-reverse !important}.flex-grow-0{flex-grow:0 !important}.flex-grow-1{flex-grow:1 !important}.flex-shrink-0{flex-shrink:0 !important}.flex-shrink-1{flex-shrink:1 !important}.flex-wrap{flex-wrap:wrap !important}.flex-nowrap{flex-wrap:nowrap !important}.flex-wrap-reverse{flex-wrap:wrap-reverse !important}.justify-content-start{justify-content:flex-start !important}.justify-content-end{justify-content:flex-end !important}.justify-content-center{justify-content:center !important}.justify-content-between{justify-content:space-between !important}.justify-content-around{justify-content:space-around !important}.justify-content-evenly{justify-content:space-evenly !important}.align-items-start{align-items:flex-start !important}.align-items-end{align-items:flex-end !important}.align-items-center{align-items:center !important}.align-items-baseline{align-items:baseline !important}.align-items-stretch{align-items:stretch !important}.align-content-start{align-content:flex-start !important}.align-content-end{align-content:flex-end !important}.align-content-center{align-content:center !important}.align-content-between{align-content:space-between !important}.align-content-around{align-content:space-around !important}.align-content-stretch{align-content:stretch !important}.align-self-auto{align-self:auto !important}.align-self-start{align-self:flex-start !important}.align-self-end{align-self:flex-end !important}.align-self-center{align-self:center !important}.align-self-baseline{align-self:baseline !important}.align-self-stretch{align-self:stretch !important}.order-first{order:-1 !important}.order-0{order:0 !important}.order-1{order:1 !important}.order-2{order:2 !important}.order-3{order:3 !important}.order-4{order:4 !important}.order-5{order:5 !important}.order-last{order:6 !important}.m-0{margin:0 !important}.m-1{margin:.25rem !important}.m-2{margin:.5rem !important}.m-3{margin:1rem !important}.m-4{margin:1.5rem !important}.m-5{margin:3rem !important}.m-auto{margin:auto !important}.mx-0{margin-right:0 !important;margin-left:0 !important}.mx-1{margin-right:.25rem !important;margin-left:.25rem !important}.mx-2{margin-right:.5rem !important;margin-left:.5rem !important}.mx-3{margin-right:1rem !important;margin-left:1rem !important}.mx-4{margin-right:1.5rem !important;margin-left:1.5rem !important}.mx-5{margin-right:3rem !important;margin-left:3rem !important}.mx-auto{margin-right:auto !important;margin-left:auto !important}.my-0{margin-top:0 !important;margin-bottom:0 !important}.my-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.my-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.my-3{margin-top:1rem !important;margin-bottom:1rem !important}.my-4{margin-top:1.5rem !important;margin-bottom:1.5rem !important}.my-5{margin-top:3rem !important;margin-bottom:3rem !important}.my-auto{margin-top:auto !important;margin-bottom:auto !important}.mt-0{margin-top:0 !important}.mt-1{margin-top:.25rem !important}.mt-2{margin-top:.5rem !important}.mt-3{margin-top:1rem !important}.mt-4{margin-top:1.5rem !important}.mt-5{margin-top:3rem !important}.mt-auto{margin-top:auto !important}.me-0{margin-right:0 !important}.me-1{margin-right:.25rem !important}.me-2{margin-right:.5rem !important}.me-3{margin-right:1rem !important}.me-4{margin-right:1.5rem !important}.me-5{margin-right:3rem !important}.me-auto{margin-right:auto !important}.mb-0{margin-bottom:0 !important}.mb-1{margin-bottom:.25rem !important}.mb-2{margin-bottom:.5rem !important}.mb-3{margin-bottom:1rem !important}.mb-4{margin-bottom:1.5rem !important}.mb-5{margin-bottom:3rem !important}.mb-auto{margin-bottom:auto !important}.ms-0{margin-left:0 !important}.ms-1{margin-left:.25rem !important}.ms-2{margin-left:.5rem !important}.ms-3{margin-left:1rem !important}.ms-4{margin-left:1.5rem !important}.ms-5{margin-left:3rem !important}.ms-auto{margin-left:auto !important}.p-0{padding:0 !important}.p-1{padding:.25rem !important}.p-2{padding:.5rem !important}.p-3{padding:1rem !important}.p-4{padding:1.5rem !important}.p-5{padding:3rem !important}.px-0{padding-right:0 !important;padding-left:0 !important}.px-1{padding-right:.25rem !important;padding-left:.25rem !important}.px-2{padding-right:.5rem !important;padding-left:.5rem !important}.px-3{padding-right:1rem !important;padding-left:1rem !important}.px-4{padding-right:1.5rem !important;padding-left:1.5rem !important}.px-5{padding-right:3rem !important;padding-left:3rem !important}.py-0{padding-top:0 !important;padding-bottom:0 !important}.py-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.py-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.py-3{padding-top:1rem !important;padding-bottom:1rem !important}.py-4{padding-top:1.5rem !important;padding-bottom:1.5rem !important}.py-5{padding-top:3rem !important;padding-bottom:3rem !important}.pt-0{padding-top:0 !important}.pt-1{padding-top:.25rem !important}.pt-2{padding-top:.5rem !important}.pt-3{padding-top:1rem !important}.pt-4{padding-top:1.5rem !important}.pt-5{padding-top:3rem !important}.pe-0{padding-right:0 !important}.pe-1{padding-right:.25rem !important}.pe-2{padding-right:.5rem !important}.pe-3{padding-right:1rem !important}.pe-4{padding-right:1.5rem !important}.pe-5{padding-right:3rem !important}.pb-0{padding-bottom:0 !important}.pb-1{padding-bottom:.25rem !important}.pb-2{padding-bottom:.5rem !important}.pb-3{padding-bottom:1rem !important}.pb-4{padding-bottom:1.5rem !important}.pb-5{padding-bottom:3rem !important}.ps-0{padding-left:0 !important}.ps-1{padding-left:.25rem !important}.ps-2{padding-left:.5rem !important}.ps-3{padding-left:1rem !important}.ps-4{padding-left:1.5rem !important}.ps-5{padding-left:3rem !important}.gap-0{gap:0 !important}.gap-1{gap:.25rem !important}.gap-2{gap:.5rem !important}.gap-3{gap:1rem !important}.gap-4{gap:1.5rem !important}.gap-5{gap:3rem !important}.row-gap-0{row-gap:0 !important}.row-gap-1{row-gap:.25rem !important}.row-gap-2{row-gap:.5rem !important}.row-gap-3{row-gap:1rem !important}.row-gap-4{row-gap:1.5rem !important}.row-gap-5{row-gap:3rem !important}.column-gap-0{column-gap:0 !important}.column-gap-1{column-gap:.25rem !important}.column-gap-2{column-gap:.5rem !important}.column-gap-3{column-gap:1rem !important}.column-gap-4{column-gap:1.5rem !important}.column-gap-5{column-gap:3rem !important}.font-monospace{font-family:var(--bs-font-monospace) !important}.fs-1{font-size:calc(1.325rem + 0.9vw) !important}.fs-2{font-size:calc(1.29rem + 0.48vw) !important}.fs-3{font-size:calc(1.27rem + 0.24vw) !important}.fs-4{font-size:1.25rem !important}.fs-5{font-size:1.1rem !important}.fs-6{font-size:1rem !important}.fst-italic{font-style:italic !important}.fst-normal{font-style:normal !important}.fw-lighter{font-weight:lighter !important}.fw-light{font-weight:300 !important}.fw-normal{font-weight:400 !important}.fw-medium{font-weight:500 !important}.fw-semibold{font-weight:600 !important}.fw-bold{font-weight:700 !important}.fw-bolder{font-weight:bolder !important}.lh-1{line-height:1 !important}.lh-sm{line-height:1.25 !important}.lh-base{line-height:1.5 !important}.lh-lg{line-height:2 !important}.text-start{text-align:left !important}.text-end{text-align:right !important}.text-center{text-align:center !important}.text-decoration-none{text-decoration:none !important}.text-decoration-underline{text-decoration:underline !important}.text-decoration-line-through{text-decoration:line-through !important}.text-lowercase{text-transform:lowercase !important}.text-uppercase{text-transform:uppercase !important}.text-capitalize{text-transform:capitalize !important}.text-wrap{white-space:normal !important}.text-nowrap{white-space:nowrap !important}.text-break{word-wrap:break-word !important;word-break:break-word !important}.text-default{--bs-text-opacity: 1;color:rgba(var(--bs-default-rgb), var(--bs-text-opacity)) !important}.text-primary{--bs-text-opacity: 1;color:rgba(var(--bs-primary-rgb), var(--bs-text-opacity)) !important}.text-secondary{--bs-text-opacity: 1;color:rgba(var(--bs-secondary-rgb), var(--bs-text-opacity)) !important}.text-success{--bs-text-opacity: 1;color:rgba(var(--bs-success-rgb), var(--bs-text-opacity)) !important}.text-info{--bs-text-opacity: 1;color:rgba(var(--bs-info-rgb), var(--bs-text-opacity)) !important}.text-warning{--bs-text-opacity: 1;color:rgba(var(--bs-warning-rgb), var(--bs-text-opacity)) !important}.text-danger{--bs-text-opacity: 1;color:rgba(var(--bs-danger-rgb), var(--bs-text-opacity)) !important}.text-light{--bs-text-opacity: 1;color:rgba(var(--bs-light-rgb), var(--bs-text-opacity)) !important}.text-dark{--bs-text-opacity: 1;color:rgba(var(--bs-dark-rgb), var(--bs-text-opacity)) !important}.text-black{--bs-text-opacity: 1;color:rgba(var(--bs-black-rgb), var(--bs-text-opacity)) !important}.text-white{--bs-text-opacity: 1;color:rgba(var(--bs-white-rgb), var(--bs-text-opacity)) !important}.text-body{--bs-text-opacity: 1;color:rgba(var(--bs-body-color-rgb), var(--bs-text-opacity)) !important}.text-muted{--bs-text-opacity: 1;color:var(--bs-secondary-color) !important}.text-black-50{--bs-text-opacity: 1;color:rgba(0,0,0,.5) !important}.text-white-50{--bs-text-opacity: 1;color:rgba(255,255,255,.5) !important}.text-body-secondary{--bs-text-opacity: 1;color:var(--bs-secondary-color) !important}.text-body-tertiary{--bs-text-opacity: 1;color:var(--bs-tertiary-color) !important}.text-body-emphasis{--bs-text-opacity: 1;color:var(--bs-emphasis-color) !important}.text-reset{--bs-text-opacity: 1;color:inherit !important}.text-opacity-25{--bs-text-opacity: 0.25}.text-opacity-50{--bs-text-opacity: 0.5}.text-opacity-75{--bs-text-opacity: 0.75}.text-opacity-100{--bs-text-opacity: 1}.text-primary-emphasis{color:var(--bs-primary-text-emphasis) !important}.text-secondary-emphasis{color:var(--bs-secondary-text-emphasis) !important}.text-success-emphasis{color:var(--bs-success-text-emphasis) !important}.text-info-emphasis{color:var(--bs-info-text-emphasis) !important}.text-warning-emphasis{color:var(--bs-warning-text-emphasis) !important}.text-danger-emphasis{color:var(--bs-danger-text-emphasis) !important}.text-light-emphasis{color:var(--bs-light-text-emphasis) !important}.text-dark-emphasis{color:var(--bs-dark-text-emphasis) !important}.link-opacity-10{--bs-link-opacity: 0.1}.link-opacity-10-hover:hover{--bs-link-opacity: 0.1}.link-opacity-25{--bs-link-opacity: 0.25}.link-opacity-25-hover:hover{--bs-link-opacity: 0.25}.link-opacity-50{--bs-link-opacity: 0.5}.link-opacity-50-hover:hover{--bs-link-opacity: 0.5}.link-opacity-75{--bs-link-opacity: 0.75}.link-opacity-75-hover:hover{--bs-link-opacity: 0.75}.link-opacity-100{--bs-link-opacity: 1}.link-opacity-100-hover:hover{--bs-link-opacity: 1}.link-offset-1{text-underline-offset:.125em !important}.link-offset-1-hover:hover{text-underline-offset:.125em !important}.link-offset-2{text-underline-offset:.25em !important}.link-offset-2-hover:hover{text-underline-offset:.25em !important}.link-offset-3{text-underline-offset:.375em !important}.link-offset-3-hover:hover{text-underline-offset:.375em !important}.link-underline-default{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-default-rgb), var(--bs-link-underline-opacity)) !important}.link-underline-primary{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-primary-rgb), var(--bs-link-underline-opacity)) !important}.link-underline-secondary{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-secondary-rgb), var(--bs-link-underline-opacity)) !important}.link-underline-success{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-success-rgb), var(--bs-link-underline-opacity)) !important}.link-underline-info{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-info-rgb), var(--bs-link-underline-opacity)) !important}.link-underline-warning{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-warning-rgb), var(--bs-link-underline-opacity)) !important}.link-underline-danger{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-danger-rgb), var(--bs-link-underline-opacity)) !important}.link-underline-light{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-light-rgb), var(--bs-link-underline-opacity)) !important}.link-underline-dark{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-dark-rgb), var(--bs-link-underline-opacity)) !important}.link-underline{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-link-color-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-underline-opacity-0{--bs-link-underline-opacity: 0}.link-underline-opacity-0-hover:hover{--bs-link-underline-opacity: 0}.link-underline-opacity-10{--bs-link-underline-opacity: 0.1}.link-underline-opacity-10-hover:hover{--bs-link-underline-opacity: 0.1}.link-underline-opacity-25{--bs-link-underline-opacity: 0.25}.link-underline-opacity-25-hover:hover{--bs-link-underline-opacity: 0.25}.link-underline-opacity-50{--bs-link-underline-opacity: 0.5}.link-underline-opacity-50-hover:hover{--bs-link-underline-opacity: 0.5}.link-underline-opacity-75{--bs-link-underline-opacity: 0.75}.link-underline-opacity-75-hover:hover{--bs-link-underline-opacity: 0.75}.link-underline-opacity-100{--bs-link-underline-opacity: 1}.link-underline-opacity-100-hover:hover{--bs-link-underline-opacity: 1}.bg-default{--bs-bg-opacity: 1;background-color:rgba(var(--bs-default-rgb), var(--bs-bg-opacity)) !important}.bg-primary{--bs-bg-opacity: 1;background-color:rgba(var(--bs-primary-rgb), var(--bs-bg-opacity)) !important}.bg-secondary{--bs-bg-opacity: 1;background-color:rgba(var(--bs-secondary-rgb), var(--bs-bg-opacity)) !important}.bg-success{--bs-bg-opacity: 1;background-color:rgba(var(--bs-success-rgb), var(--bs-bg-opacity)) !important}.bg-info{--bs-bg-opacity: 1;background-color:rgba(var(--bs-info-rgb), var(--bs-bg-opacity)) !important}.bg-warning{--bs-bg-opacity: 1;background-color:rgba(var(--bs-warning-rgb), var(--bs-bg-opacity)) !important}.bg-danger{--bs-bg-opacity: 1;background-color:rgba(var(--bs-danger-rgb), var(--bs-bg-opacity)) !important}.bg-light{--bs-bg-opacity: 1;background-color:rgba(var(--bs-light-rgb), var(--bs-bg-opacity)) !important}.bg-dark{--bs-bg-opacity: 1;background-color:rgba(var(--bs-dark-rgb), var(--bs-bg-opacity)) !important}.bg-black{--bs-bg-opacity: 1;background-color:rgba(var(--bs-black-rgb), var(--bs-bg-opacity)) !important}.bg-white{--bs-bg-opacity: 1;background-color:rgba(var(--bs-white-rgb), var(--bs-bg-opacity)) !important}.bg-body{--bs-bg-opacity: 1;background-color:rgba(var(--bs-body-bg-rgb), var(--bs-bg-opacity)) !important}.bg-transparent{--bs-bg-opacity: 1;background-color:rgba(0,0,0,0) !important}.bg-body-secondary{--bs-bg-opacity: 1;background-color:rgba(var(--bs-secondary-bg-rgb), var(--bs-bg-opacity)) !important}.bg-body-tertiary{--bs-bg-opacity: 1;background-color:rgba(var(--bs-tertiary-bg-rgb), var(--bs-bg-opacity)) !important}.bg-opacity-10{--bs-bg-opacity: 0.1}.bg-opacity-25{--bs-bg-opacity: 0.25}.bg-opacity-50{--bs-bg-opacity: 0.5}.bg-opacity-75{--bs-bg-opacity: 0.75}.bg-opacity-100{--bs-bg-opacity: 1}.bg-primary-subtle{background-color:var(--bs-primary-bg-subtle) !important}.bg-secondary-subtle{background-color:var(--bs-secondary-bg-subtle) !important}.bg-success-subtle{background-color:var(--bs-success-bg-subtle) !important}.bg-info-subtle{background-color:var(--bs-info-bg-subtle) !important}.bg-warning-subtle{background-color:var(--bs-warning-bg-subtle) !important}.bg-danger-subtle{background-color:var(--bs-danger-bg-subtle) !important}.bg-light-subtle{background-color:var(--bs-light-bg-subtle) !important}.bg-dark-subtle{background-color:var(--bs-dark-bg-subtle) !important}.bg-gradient{background-image:var(--bs-gradient) !important}.user-select-all{user-select:all !important}.user-select-auto{user-select:auto !important}.user-select-none{user-select:none !important}.pe-none{pointer-events:none !important}.pe-auto{pointer-events:auto !important}.rounded{border-radius:var(--bs-border-radius) !important}.rounded-0{border-radius:0 !important}.rounded-1{border-radius:var(--bs-border-radius-sm) !important}.rounded-2{border-radius:var(--bs-border-radius) !important}.rounded-3{border-radius:var(--bs-border-radius-lg) !important}.rounded-4{border-radius:var(--bs-border-radius-xl) !important}.rounded-5{border-radius:var(--bs-border-radius-xxl) !important}.rounded-circle{border-radius:50% !important}.rounded-pill{border-radius:var(--bs-border-radius-pill) !important}.rounded-top{border-top-left-radius:var(--bs-border-radius) !important;border-top-right-radius:var(--bs-border-radius) !important}.rounded-top-0{border-top-left-radius:0 !important;border-top-right-radius:0 !important}.rounded-top-1{border-top-left-radius:var(--bs-border-radius-sm) !important;border-top-right-radius:var(--bs-border-radius-sm) !important}.rounded-top-2{border-top-left-radius:var(--bs-border-radius) !important;border-top-right-radius:var(--bs-border-radius) !important}.rounded-top-3{border-top-left-radius:var(--bs-border-radius-lg) !important;border-top-right-radius:var(--bs-border-radius-lg) !important}.rounded-top-4{border-top-left-radius:var(--bs-border-radius-xl) !important;border-top-right-radius:var(--bs-border-radius-xl) !important}.rounded-top-5{border-top-left-radius:var(--bs-border-radius-xxl) !important;border-top-right-radius:var(--bs-border-radius-xxl) !important}.rounded-top-circle{border-top-left-radius:50% !important;border-top-right-radius:50% !important}.rounded-top-pill{border-top-left-radius:var(--bs-border-radius-pill) !important;border-top-right-radius:var(--bs-border-radius-pill) !important}.rounded-end{border-top-right-radius:var(--bs-border-radius) !important;border-bottom-right-radius:var(--bs-border-radius) !important}.rounded-end-0{border-top-right-radius:0 !important;border-bottom-right-radius:0 !important}.rounded-end-1{border-top-right-radius:var(--bs-border-radius-sm) !important;border-bottom-right-radius:var(--bs-border-radius-sm) !important}.rounded-end-2{border-top-right-radius:var(--bs-border-radius) !important;border-bottom-right-radius:var(--bs-border-radius) !important}.rounded-end-3{border-top-right-radius:var(--bs-border-radius-lg) !important;border-bottom-right-radius:var(--bs-border-radius-lg) !important}.rounded-end-4{border-top-right-radius:var(--bs-border-radius-xl) !important;border-bottom-right-radius:var(--bs-border-radius-xl) !important}.rounded-end-5{border-top-right-radius:var(--bs-border-radius-xxl) !important;border-bottom-right-radius:var(--bs-border-radius-xxl) !important}.rounded-end-circle{border-top-right-radius:50% !important;border-bottom-right-radius:50% !important}.rounded-end-pill{border-top-right-radius:var(--bs-border-radius-pill) !important;border-bottom-right-radius:var(--bs-border-radius-pill) !important}.rounded-bottom{border-bottom-right-radius:var(--bs-border-radius) !important;border-bottom-left-radius:var(--bs-border-radius) !important}.rounded-bottom-0{border-bottom-right-radius:0 !important;border-bottom-left-radius:0 !important}.rounded-bottom-1{border-bottom-right-radius:var(--bs-border-radius-sm) !important;border-bottom-left-radius:var(--bs-border-radius-sm) !important}.rounded-bottom-2{border-bottom-right-radius:var(--bs-border-radius) !important;border-bottom-left-radius:var(--bs-border-radius) !important}.rounded-bottom-3{border-bottom-right-radius:var(--bs-border-radius-lg) !important;border-bottom-left-radius:var(--bs-border-radius-lg) !important}.rounded-bottom-4{border-bottom-right-radius:var(--bs-border-radius-xl) !important;border-bottom-left-radius:var(--bs-border-radius-xl) !important}.rounded-bottom-5{border-bottom-right-radius:var(--bs-border-radius-xxl) !important;border-bottom-left-radius:var(--bs-border-radius-xxl) !important}.rounded-bottom-circle{border-bottom-right-radius:50% !important;border-bottom-left-radius:50% !important}.rounded-bottom-pill{border-bottom-right-radius:var(--bs-border-radius-pill) !important;border-bottom-left-radius:var(--bs-border-radius-pill) !important}.rounded-start{border-bottom-left-radius:var(--bs-border-radius) !important;border-top-left-radius:var(--bs-border-radius) !important}.rounded-start-0{border-bottom-left-radius:0 !important;border-top-left-radius:0 !important}.rounded-start-1{border-bottom-left-radius:var(--bs-border-radius-sm) !important;border-top-left-radius:var(--bs-border-radius-sm) !important}.rounded-start-2{border-bottom-left-radius:var(--bs-border-radius) !important;border-top-left-radius:var(--bs-border-radius) !important}.rounded-start-3{border-bottom-left-radius:var(--bs-border-radius-lg) !important;border-top-left-radius:var(--bs-border-radius-lg) !important}.rounded-start-4{border-bottom-left-radius:var(--bs-border-radius-xl) !important;border-top-left-radius:var(--bs-border-radius-xl) !important}.rounded-start-5{border-bottom-left-radius:var(--bs-border-radius-xxl) !important;border-top-left-radius:var(--bs-border-radius-xxl) !important}.rounded-start-circle{border-bottom-left-radius:50% !important;border-top-left-radius:50% !important}.rounded-start-pill{border-bottom-left-radius:var(--bs-border-radius-pill) !important;border-top-left-radius:var(--bs-border-radius-pill) !important}.visible{visibility:visible !important}.invisible{visibility:hidden !important}.z-n1{z-index:-1 !important}.z-0{z-index:0 !important}.z-1{z-index:1 !important}.z-2{z-index:2 !important}.z-3{z-index:3 !important}@media(min-width: 576px){.float-sm-start{float:left !important}.float-sm-end{float:right !important}.float-sm-none{float:none !important}.object-fit-sm-contain{object-fit:contain !important}.object-fit-sm-cover{object-fit:cover !important}.object-fit-sm-fill{object-fit:fill !important}.object-fit-sm-scale{object-fit:scale-down !important}.object-fit-sm-none{object-fit:none !important}.d-sm-inline{display:inline !important}.d-sm-inline-block{display:inline-block !important}.d-sm-block{display:block !important}.d-sm-grid{display:grid !important}.d-sm-inline-grid{display:inline-grid !important}.d-sm-table{display:table !important}.d-sm-table-row{display:table-row !important}.d-sm-table-cell{display:table-cell !important}.d-sm-flex{display:flex !important}.d-sm-inline-flex{display:inline-flex !important}.d-sm-none{display:none !important}.flex-sm-fill{flex:1 1 auto !important}.flex-sm-row{flex-direction:row !important}.flex-sm-column{flex-direction:column !important}.flex-sm-row-reverse{flex-direction:row-reverse !important}.flex-sm-column-reverse{flex-direction:column-reverse !important}.flex-sm-grow-0{flex-grow:0 !important}.flex-sm-grow-1{flex-grow:1 !important}.flex-sm-shrink-0{flex-shrink:0 !important}.flex-sm-shrink-1{flex-shrink:1 !important}.flex-sm-wrap{flex-wrap:wrap !important}.flex-sm-nowrap{flex-wrap:nowrap !important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse !important}.justify-content-sm-start{justify-content:flex-start !important}.justify-content-sm-end{justify-content:flex-end !important}.justify-content-sm-center{justify-content:center !important}.justify-content-sm-between{justify-content:space-between !important}.justify-content-sm-around{justify-content:space-around !important}.justify-content-sm-evenly{justify-content:space-evenly !important}.align-items-sm-start{align-items:flex-start !important}.align-items-sm-end{align-items:flex-end !important}.align-items-sm-center{align-items:center !important}.align-items-sm-baseline{align-items:baseline !important}.align-items-sm-stretch{align-items:stretch !important}.align-content-sm-start{align-content:flex-start !important}.align-content-sm-end{align-content:flex-end !important}.align-content-sm-center{align-content:center !important}.align-content-sm-between{align-content:space-between !important}.align-content-sm-around{align-content:space-around !important}.align-content-sm-stretch{align-content:stretch !important}.align-self-sm-auto{align-self:auto !important}.align-self-sm-start{align-self:flex-start !important}.align-self-sm-end{align-self:flex-end !important}.align-self-sm-center{align-self:center !important}.align-self-sm-baseline{align-self:baseline !important}.align-self-sm-stretch{align-self:stretch !important}.order-sm-first{order:-1 !important}.order-sm-0{order:0 !important}.order-sm-1{order:1 !important}.order-sm-2{order:2 !important}.order-sm-3{order:3 !important}.order-sm-4{order:4 !important}.order-sm-5{order:5 !important}.order-sm-last{order:6 !important}.m-sm-0{margin:0 !important}.m-sm-1{margin:.25rem !important}.m-sm-2{margin:.5rem !important}.m-sm-3{margin:1rem !important}.m-sm-4{margin:1.5rem !important}.m-sm-5{margin:3rem !important}.m-sm-auto{margin:auto !important}.mx-sm-0{margin-right:0 !important;margin-left:0 !important}.mx-sm-1{margin-right:.25rem !important;margin-left:.25rem !important}.mx-sm-2{margin-right:.5rem !important;margin-left:.5rem !important}.mx-sm-3{margin-right:1rem !important;margin-left:1rem !important}.mx-sm-4{margin-right:1.5rem !important;margin-left:1.5rem !important}.mx-sm-5{margin-right:3rem !important;margin-left:3rem !important}.mx-sm-auto{margin-right:auto !important;margin-left:auto !important}.my-sm-0{margin-top:0 !important;margin-bottom:0 !important}.my-sm-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.my-sm-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.my-sm-3{margin-top:1rem !important;margin-bottom:1rem !important}.my-sm-4{margin-top:1.5rem !important;margin-bottom:1.5rem !important}.my-sm-5{margin-top:3rem !important;margin-bottom:3rem !important}.my-sm-auto{margin-top:auto !important;margin-bottom:auto !important}.mt-sm-0{margin-top:0 !important}.mt-sm-1{margin-top:.25rem !important}.mt-sm-2{margin-top:.5rem !important}.mt-sm-3{margin-top:1rem !important}.mt-sm-4{margin-top:1.5rem !important}.mt-sm-5{margin-top:3rem !important}.mt-sm-auto{margin-top:auto !important}.me-sm-0{margin-right:0 !important}.me-sm-1{margin-right:.25rem !important}.me-sm-2{margin-right:.5rem !important}.me-sm-3{margin-right:1rem !important}.me-sm-4{margin-right:1.5rem !important}.me-sm-5{margin-right:3rem !important}.me-sm-auto{margin-right:auto !important}.mb-sm-0{margin-bottom:0 !important}.mb-sm-1{margin-bottom:.25rem !important}.mb-sm-2{margin-bottom:.5rem !important}.mb-sm-3{margin-bottom:1rem !important}.mb-sm-4{margin-bottom:1.5rem !important}.mb-sm-5{margin-bottom:3rem !important}.mb-sm-auto{margin-bottom:auto !important}.ms-sm-0{margin-left:0 !important}.ms-sm-1{margin-left:.25rem !important}.ms-sm-2{margin-left:.5rem !important}.ms-sm-3{margin-left:1rem !important}.ms-sm-4{margin-left:1.5rem !important}.ms-sm-5{margin-left:3rem !important}.ms-sm-auto{margin-left:auto !important}.p-sm-0{padding:0 !important}.p-sm-1{padding:.25rem !important}.p-sm-2{padding:.5rem !important}.p-sm-3{padding:1rem !important}.p-sm-4{padding:1.5rem !important}.p-sm-5{padding:3rem !important}.px-sm-0{padding-right:0 !important;padding-left:0 !important}.px-sm-1{padding-right:.25rem !important;padding-left:.25rem !important}.px-sm-2{padding-right:.5rem !important;padding-left:.5rem !important}.px-sm-3{padding-right:1rem !important;padding-left:1rem !important}.px-sm-4{padding-right:1.5rem !important;padding-left:1.5rem !important}.px-sm-5{padding-right:3rem !important;padding-left:3rem !important}.py-sm-0{padding-top:0 !important;padding-bottom:0 !important}.py-sm-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.py-sm-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.py-sm-3{padding-top:1rem !important;padding-bottom:1rem !important}.py-sm-4{padding-top:1.5rem !important;padding-bottom:1.5rem !important}.py-sm-5{padding-top:3rem !important;padding-bottom:3rem !important}.pt-sm-0{padding-top:0 !important}.pt-sm-1{padding-top:.25rem !important}.pt-sm-2{padding-top:.5rem !important}.pt-sm-3{padding-top:1rem !important}.pt-sm-4{padding-top:1.5rem !important}.pt-sm-5{padding-top:3rem !important}.pe-sm-0{padding-right:0 !important}.pe-sm-1{padding-right:.25rem !important}.pe-sm-2{padding-right:.5rem !important}.pe-sm-3{padding-right:1rem !important}.pe-sm-4{padding-right:1.5rem !important}.pe-sm-5{padding-right:3rem !important}.pb-sm-0{padding-bottom:0 !important}.pb-sm-1{padding-bottom:.25rem !important}.pb-sm-2{padding-bottom:.5rem !important}.pb-sm-3{padding-bottom:1rem !important}.pb-sm-4{padding-bottom:1.5rem !important}.pb-sm-5{padding-bottom:3rem !important}.ps-sm-0{padding-left:0 !important}.ps-sm-1{padding-left:.25rem !important}.ps-sm-2{padding-left:.5rem !important}.ps-sm-3{padding-left:1rem !important}.ps-sm-4{padding-left:1.5rem !important}.ps-sm-5{padding-left:3rem !important}.gap-sm-0{gap:0 !important}.gap-sm-1{gap:.25rem !important}.gap-sm-2{gap:.5rem !important}.gap-sm-3{gap:1rem !important}.gap-sm-4{gap:1.5rem !important}.gap-sm-5{gap:3rem !important}.row-gap-sm-0{row-gap:0 !important}.row-gap-sm-1{row-gap:.25rem !important}.row-gap-sm-2{row-gap:.5rem !important}.row-gap-sm-3{row-gap:1rem !important}.row-gap-sm-4{row-gap:1.5rem !important}.row-gap-sm-5{row-gap:3rem !important}.column-gap-sm-0{column-gap:0 !important}.column-gap-sm-1{column-gap:.25rem !important}.column-gap-sm-2{column-gap:.5rem !important}.column-gap-sm-3{column-gap:1rem !important}.column-gap-sm-4{column-gap:1.5rem !important}.column-gap-sm-5{column-gap:3rem !important}.text-sm-start{text-align:left !important}.text-sm-end{text-align:right !important}.text-sm-center{text-align:center !important}}@media(min-width: 768px){.float-md-start{float:left !important}.float-md-end{float:right !important}.float-md-none{float:none !important}.object-fit-md-contain{object-fit:contain !important}.object-fit-md-cover{object-fit:cover !important}.object-fit-md-fill{object-fit:fill !important}.object-fit-md-scale{object-fit:scale-down !important}.object-fit-md-none{object-fit:none !important}.d-md-inline{display:inline !important}.d-md-inline-block{display:inline-block !important}.d-md-block{display:block !important}.d-md-grid{display:grid !important}.d-md-inline-grid{display:inline-grid !important}.d-md-table{display:table !important}.d-md-table-row{display:table-row !important}.d-md-table-cell{display:table-cell !important}.d-md-flex{display:flex !important}.d-md-inline-flex{display:inline-flex !important}.d-md-none{display:none !important}.flex-md-fill{flex:1 1 auto !important}.flex-md-row{flex-direction:row !important}.flex-md-column{flex-direction:column !important}.flex-md-row-reverse{flex-direction:row-reverse !important}.flex-md-column-reverse{flex-direction:column-reverse !important}.flex-md-grow-0{flex-grow:0 !important}.flex-md-grow-1{flex-grow:1 !important}.flex-md-shrink-0{flex-shrink:0 !important}.flex-md-shrink-1{flex-shrink:1 !important}.flex-md-wrap{flex-wrap:wrap !important}.flex-md-nowrap{flex-wrap:nowrap !important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse !important}.justify-content-md-start{justify-content:flex-start !important}.justify-content-md-end{justify-content:flex-end !important}.justify-content-md-center{justify-content:center !important}.justify-content-md-between{justify-content:space-between !important}.justify-content-md-around{justify-content:space-around !important}.justify-content-md-evenly{justify-content:space-evenly !important}.align-items-md-start{align-items:flex-start !important}.align-items-md-end{align-items:flex-end !important}.align-items-md-center{align-items:center !important}.align-items-md-baseline{align-items:baseline !important}.align-items-md-stretch{align-items:stretch !important}.align-content-md-start{align-content:flex-start !important}.align-content-md-end{align-content:flex-end !important}.align-content-md-center{align-content:center !important}.align-content-md-between{align-content:space-between !important}.align-content-md-around{align-content:space-around !important}.align-content-md-stretch{align-content:stretch !important}.align-self-md-auto{align-self:auto !important}.align-self-md-start{align-self:flex-start !important}.align-self-md-end{align-self:flex-end !important}.align-self-md-center{align-self:center !important}.align-self-md-baseline{align-self:baseline !important}.align-self-md-stretch{align-self:stretch !important}.order-md-first{order:-1 !important}.order-md-0{order:0 !important}.order-md-1{order:1 !important}.order-md-2{order:2 !important}.order-md-3{order:3 !important}.order-md-4{order:4 !important}.order-md-5{order:5 !important}.order-md-last{order:6 !important}.m-md-0{margin:0 !important}.m-md-1{margin:.25rem !important}.m-md-2{margin:.5rem !important}.m-md-3{margin:1rem !important}.m-md-4{margin:1.5rem !important}.m-md-5{margin:3rem !important}.m-md-auto{margin:auto !important}.mx-md-0{margin-right:0 !important;margin-left:0 !important}.mx-md-1{margin-right:.25rem !important;margin-left:.25rem !important}.mx-md-2{margin-right:.5rem !important;margin-left:.5rem !important}.mx-md-3{margin-right:1rem !important;margin-left:1rem !important}.mx-md-4{margin-right:1.5rem !important;margin-left:1.5rem !important}.mx-md-5{margin-right:3rem !important;margin-left:3rem !important}.mx-md-auto{margin-right:auto !important;margin-left:auto !important}.my-md-0{margin-top:0 !important;margin-bottom:0 !important}.my-md-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.my-md-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.my-md-3{margin-top:1rem !important;margin-bottom:1rem !important}.my-md-4{margin-top:1.5rem !important;margin-bottom:1.5rem !important}.my-md-5{margin-top:3rem !important;margin-bottom:3rem !important}.my-md-auto{margin-top:auto !important;margin-bottom:auto !important}.mt-md-0{margin-top:0 !important}.mt-md-1{margin-top:.25rem !important}.mt-md-2{margin-top:.5rem !important}.mt-md-3{margin-top:1rem !important}.mt-md-4{margin-top:1.5rem !important}.mt-md-5{margin-top:3rem !important}.mt-md-auto{margin-top:auto !important}.me-md-0{margin-right:0 !important}.me-md-1{margin-right:.25rem !important}.me-md-2{margin-right:.5rem !important}.me-md-3{margin-right:1rem !important}.me-md-4{margin-right:1.5rem !important}.me-md-5{margin-right:3rem !important}.me-md-auto{margin-right:auto !important}.mb-md-0{margin-bottom:0 !important}.mb-md-1{margin-bottom:.25rem !important}.mb-md-2{margin-bottom:.5rem !important}.mb-md-3{margin-bottom:1rem !important}.mb-md-4{margin-bottom:1.5rem !important}.mb-md-5{margin-bottom:3rem !important}.mb-md-auto{margin-bottom:auto !important}.ms-md-0{margin-left:0 !important}.ms-md-1{margin-left:.25rem !important}.ms-md-2{margin-left:.5rem !important}.ms-md-3{margin-left:1rem !important}.ms-md-4{margin-left:1.5rem !important}.ms-md-5{margin-left:3rem !important}.ms-md-auto{margin-left:auto !important}.p-md-0{padding:0 !important}.p-md-1{padding:.25rem !important}.p-md-2{padding:.5rem !important}.p-md-3{padding:1rem !important}.p-md-4{padding:1.5rem !important}.p-md-5{padding:3rem !important}.px-md-0{padding-right:0 !important;padding-left:0 !important}.px-md-1{padding-right:.25rem !important;padding-left:.25rem !important}.px-md-2{padding-right:.5rem !important;padding-left:.5rem !important}.px-md-3{padding-right:1rem !important;padding-left:1rem !important}.px-md-4{padding-right:1.5rem !important;padding-left:1.5rem !important}.px-md-5{padding-right:3rem !important;padding-left:3rem !important}.py-md-0{padding-top:0 !important;padding-bottom:0 !important}.py-md-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.py-md-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.py-md-3{padding-top:1rem !important;padding-bottom:1rem !important}.py-md-4{padding-top:1.5rem !important;padding-bottom:1.5rem !important}.py-md-5{padding-top:3rem !important;padding-bottom:3rem !important}.pt-md-0{padding-top:0 !important}.pt-md-1{padding-top:.25rem !important}.pt-md-2{padding-top:.5rem !important}.pt-md-3{padding-top:1rem !important}.pt-md-4{padding-top:1.5rem !important}.pt-md-5{padding-top:3rem !important}.pe-md-0{padding-right:0 !important}.pe-md-1{padding-right:.25rem !important}.pe-md-2{padding-right:.5rem !important}.pe-md-3{padding-right:1rem !important}.pe-md-4{padding-right:1.5rem !important}.pe-md-5{padding-right:3rem !important}.pb-md-0{padding-bottom:0 !important}.pb-md-1{padding-bottom:.25rem !important}.pb-md-2{padding-bottom:.5rem !important}.pb-md-3{padding-bottom:1rem !important}.pb-md-4{padding-bottom:1.5rem !important}.pb-md-5{padding-bottom:3rem !important}.ps-md-0{padding-left:0 !important}.ps-md-1{padding-left:.25rem !important}.ps-md-2{padding-left:.5rem !important}.ps-md-3{padding-left:1rem !important}.ps-md-4{padding-left:1.5rem !important}.ps-md-5{padding-left:3rem !important}.gap-md-0{gap:0 !important}.gap-md-1{gap:.25rem !important}.gap-md-2{gap:.5rem !important}.gap-md-3{gap:1rem !important}.gap-md-4{gap:1.5rem !important}.gap-md-5{gap:3rem !important}.row-gap-md-0{row-gap:0 !important}.row-gap-md-1{row-gap:.25rem !important}.row-gap-md-2{row-gap:.5rem !important}.row-gap-md-3{row-gap:1rem !important}.row-gap-md-4{row-gap:1.5rem !important}.row-gap-md-5{row-gap:3rem !important}.column-gap-md-0{column-gap:0 !important}.column-gap-md-1{column-gap:.25rem !important}.column-gap-md-2{column-gap:.5rem !important}.column-gap-md-3{column-gap:1rem !important}.column-gap-md-4{column-gap:1.5rem !important}.column-gap-md-5{column-gap:3rem !important}.text-md-start{text-align:left !important}.text-md-end{text-align:right !important}.text-md-center{text-align:center !important}}@media(min-width: 992px){.float-lg-start{float:left !important}.float-lg-end{float:right !important}.float-lg-none{float:none !important}.object-fit-lg-contain{object-fit:contain !important}.object-fit-lg-cover{object-fit:cover !important}.object-fit-lg-fill{object-fit:fill !important}.object-fit-lg-scale{object-fit:scale-down !important}.object-fit-lg-none{object-fit:none !important}.d-lg-inline{display:inline !important}.d-lg-inline-block{display:inline-block !important}.d-lg-block{display:block !important}.d-lg-grid{display:grid !important}.d-lg-inline-grid{display:inline-grid !important}.d-lg-table{display:table !important}.d-lg-table-row{display:table-row !important}.d-lg-table-cell{display:table-cell !important}.d-lg-flex{display:flex !important}.d-lg-inline-flex{display:inline-flex !important}.d-lg-none{display:none !important}.flex-lg-fill{flex:1 1 auto !important}.flex-lg-row{flex-direction:row !important}.flex-lg-column{flex-direction:column !important}.flex-lg-row-reverse{flex-direction:row-reverse !important}.flex-lg-column-reverse{flex-direction:column-reverse !important}.flex-lg-grow-0{flex-grow:0 !important}.flex-lg-grow-1{flex-grow:1 !important}.flex-lg-shrink-0{flex-shrink:0 !important}.flex-lg-shrink-1{flex-shrink:1 !important}.flex-lg-wrap{flex-wrap:wrap !important}.flex-lg-nowrap{flex-wrap:nowrap !important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse !important}.justify-content-lg-start{justify-content:flex-start !important}.justify-content-lg-end{justify-content:flex-end !important}.justify-content-lg-center{justify-content:center !important}.justify-content-lg-between{justify-content:space-between !important}.justify-content-lg-around{justify-content:space-around !important}.justify-content-lg-evenly{justify-content:space-evenly !important}.align-items-lg-start{align-items:flex-start !important}.align-items-lg-end{align-items:flex-end !important}.align-items-lg-center{align-items:center !important}.align-items-lg-baseline{align-items:baseline !important}.align-items-lg-stretch{align-items:stretch !important}.align-content-lg-start{align-content:flex-start !important}.align-content-lg-end{align-content:flex-end !important}.align-content-lg-center{align-content:center !important}.align-content-lg-between{align-content:space-between !important}.align-content-lg-around{align-content:space-around !important}.align-content-lg-stretch{align-content:stretch !important}.align-self-lg-auto{align-self:auto !important}.align-self-lg-start{align-self:flex-start !important}.align-self-lg-end{align-self:flex-end !important}.align-self-lg-center{align-self:center !important}.align-self-lg-baseline{align-self:baseline !important}.align-self-lg-stretch{align-self:stretch !important}.order-lg-first{order:-1 !important}.order-lg-0{order:0 !important}.order-lg-1{order:1 !important}.order-lg-2{order:2 !important}.order-lg-3{order:3 !important}.order-lg-4{order:4 !important}.order-lg-5{order:5 !important}.order-lg-last{order:6 !important}.m-lg-0{margin:0 !important}.m-lg-1{margin:.25rem !important}.m-lg-2{margin:.5rem !important}.m-lg-3{margin:1rem !important}.m-lg-4{margin:1.5rem !important}.m-lg-5{margin:3rem !important}.m-lg-auto{margin:auto !important}.mx-lg-0{margin-right:0 !important;margin-left:0 !important}.mx-lg-1{margin-right:.25rem !important;margin-left:.25rem !important}.mx-lg-2{margin-right:.5rem !important;margin-left:.5rem !important}.mx-lg-3{margin-right:1rem !important;margin-left:1rem !important}.mx-lg-4{margin-right:1.5rem !important;margin-left:1.5rem !important}.mx-lg-5{margin-right:3rem !important;margin-left:3rem !important}.mx-lg-auto{margin-right:auto !important;margin-left:auto !important}.my-lg-0{margin-top:0 !important;margin-bottom:0 !important}.my-lg-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.my-lg-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.my-lg-3{margin-top:1rem !important;margin-bottom:1rem !important}.my-lg-4{margin-top:1.5rem !important;margin-bottom:1.5rem !important}.my-lg-5{margin-top:3rem !important;margin-bottom:3rem !important}.my-lg-auto{margin-top:auto !important;margin-bottom:auto !important}.mt-lg-0{margin-top:0 !important}.mt-lg-1{margin-top:.25rem !important}.mt-lg-2{margin-top:.5rem !important}.mt-lg-3{margin-top:1rem !important}.mt-lg-4{margin-top:1.5rem !important}.mt-lg-5{margin-top:3rem !important}.mt-lg-auto{margin-top:auto !important}.me-lg-0{margin-right:0 !important}.me-lg-1{margin-right:.25rem !important}.me-lg-2{margin-right:.5rem !important}.me-lg-3{margin-right:1rem !important}.me-lg-4{margin-right:1.5rem !important}.me-lg-5{margin-right:3rem !important}.me-lg-auto{margin-right:auto !important}.mb-lg-0{margin-bottom:0 !important}.mb-lg-1{margin-bottom:.25rem !important}.mb-lg-2{margin-bottom:.5rem !important}.mb-lg-3{margin-bottom:1rem !important}.mb-lg-4{margin-bottom:1.5rem !important}.mb-lg-5{margin-bottom:3rem !important}.mb-lg-auto{margin-bottom:auto !important}.ms-lg-0{margin-left:0 !important}.ms-lg-1{margin-left:.25rem !important}.ms-lg-2{margin-left:.5rem !important}.ms-lg-3{margin-left:1rem !important}.ms-lg-4{margin-left:1.5rem !important}.ms-lg-5{margin-left:3rem !important}.ms-lg-auto{margin-left:auto !important}.p-lg-0{padding:0 !important}.p-lg-1{padding:.25rem !important}.p-lg-2{padding:.5rem !important}.p-lg-3{padding:1rem !important}.p-lg-4{padding:1.5rem !important}.p-lg-5{padding:3rem !important}.px-lg-0{padding-right:0 !important;padding-left:0 !important}.px-lg-1{padding-right:.25rem !important;padding-left:.25rem !important}.px-lg-2{padding-right:.5rem !important;padding-left:.5rem !important}.px-lg-3{padding-right:1rem !important;padding-left:1rem !important}.px-lg-4{padding-right:1.5rem !important;padding-left:1.5rem !important}.px-lg-5{padding-right:3rem !important;padding-left:3rem !important}.py-lg-0{padding-top:0 !important;padding-bottom:0 !important}.py-lg-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.py-lg-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.py-lg-3{padding-top:1rem !important;padding-bottom:1rem !important}.py-lg-4{padding-top:1.5rem !important;padding-bottom:1.5rem !important}.py-lg-5{padding-top:3rem !important;padding-bottom:3rem !important}.pt-lg-0{padding-top:0 !important}.pt-lg-1{padding-top:.25rem !important}.pt-lg-2{padding-top:.5rem !important}.pt-lg-3{padding-top:1rem !important}.pt-lg-4{padding-top:1.5rem !important}.pt-lg-5{padding-top:3rem !important}.pe-lg-0{padding-right:0 !important}.pe-lg-1{padding-right:.25rem !important}.pe-lg-2{padding-right:.5rem !important}.pe-lg-3{padding-right:1rem !important}.pe-lg-4{padding-right:1.5rem !important}.pe-lg-5{padding-right:3rem !important}.pb-lg-0{padding-bottom:0 !important}.pb-lg-1{padding-bottom:.25rem !important}.pb-lg-2{padding-bottom:.5rem !important}.pb-lg-3{padding-bottom:1rem !important}.pb-lg-4{padding-bottom:1.5rem !important}.pb-lg-5{padding-bottom:3rem !important}.ps-lg-0{padding-left:0 !important}.ps-lg-1{padding-left:.25rem !important}.ps-lg-2{padding-left:.5rem !important}.ps-lg-3{padding-left:1rem !important}.ps-lg-4{padding-left:1.5rem !important}.ps-lg-5{padding-left:3rem !important}.gap-lg-0{gap:0 !important}.gap-lg-1{gap:.25rem !important}.gap-lg-2{gap:.5rem !important}.gap-lg-3{gap:1rem !important}.gap-lg-4{gap:1.5rem !important}.gap-lg-5{gap:3rem !important}.row-gap-lg-0{row-gap:0 !important}.row-gap-lg-1{row-gap:.25rem !important}.row-gap-lg-2{row-gap:.5rem !important}.row-gap-lg-3{row-gap:1rem !important}.row-gap-lg-4{row-gap:1.5rem !important}.row-gap-lg-5{row-gap:3rem !important}.column-gap-lg-0{column-gap:0 !important}.column-gap-lg-1{column-gap:.25rem !important}.column-gap-lg-2{column-gap:.5rem !important}.column-gap-lg-3{column-gap:1rem !important}.column-gap-lg-4{column-gap:1.5rem !important}.column-gap-lg-5{column-gap:3rem !important}.text-lg-start{text-align:left !important}.text-lg-end{text-align:right !important}.text-lg-center{text-align:center !important}}@media(min-width: 1200px){.float-xl-start{float:left !important}.float-xl-end{float:right !important}.float-xl-none{float:none !important}.object-fit-xl-contain{object-fit:contain !important}.object-fit-xl-cover{object-fit:cover !important}.object-fit-xl-fill{object-fit:fill !important}.object-fit-xl-scale{object-fit:scale-down !important}.object-fit-xl-none{object-fit:none !important}.d-xl-inline{display:inline !important}.d-xl-inline-block{display:inline-block !important}.d-xl-block{display:block !important}.d-xl-grid{display:grid !important}.d-xl-inline-grid{display:inline-grid !important}.d-xl-table{display:table !important}.d-xl-table-row{display:table-row !important}.d-xl-table-cell{display:table-cell !important}.d-xl-flex{display:flex !important}.d-xl-inline-flex{display:inline-flex !important}.d-xl-none{display:none !important}.flex-xl-fill{flex:1 1 auto !important}.flex-xl-row{flex-direction:row !important}.flex-xl-column{flex-direction:column !important}.flex-xl-row-reverse{flex-direction:row-reverse !important}.flex-xl-column-reverse{flex-direction:column-reverse !important}.flex-xl-grow-0{flex-grow:0 !important}.flex-xl-grow-1{flex-grow:1 !important}.flex-xl-shrink-0{flex-shrink:0 !important}.flex-xl-shrink-1{flex-shrink:1 !important}.flex-xl-wrap{flex-wrap:wrap !important}.flex-xl-nowrap{flex-wrap:nowrap !important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse !important}.justify-content-xl-start{justify-content:flex-start !important}.justify-content-xl-end{justify-content:flex-end !important}.justify-content-xl-center{justify-content:center !important}.justify-content-xl-between{justify-content:space-between !important}.justify-content-xl-around{justify-content:space-around !important}.justify-content-xl-evenly{justify-content:space-evenly !important}.align-items-xl-start{align-items:flex-start !important}.align-items-xl-end{align-items:flex-end !important}.align-items-xl-center{align-items:center !important}.align-items-xl-baseline{align-items:baseline !important}.align-items-xl-stretch{align-items:stretch !important}.align-content-xl-start{align-content:flex-start !important}.align-content-xl-end{align-content:flex-end !important}.align-content-xl-center{align-content:center !important}.align-content-xl-between{align-content:space-between !important}.align-content-xl-around{align-content:space-around !important}.align-content-xl-stretch{align-content:stretch !important}.align-self-xl-auto{align-self:auto !important}.align-self-xl-start{align-self:flex-start !important}.align-self-xl-end{align-self:flex-end !important}.align-self-xl-center{align-self:center !important}.align-self-xl-baseline{align-self:baseline !important}.align-self-xl-stretch{align-self:stretch !important}.order-xl-first{order:-1 !important}.order-xl-0{order:0 !important}.order-xl-1{order:1 !important}.order-xl-2{order:2 !important}.order-xl-3{order:3 !important}.order-xl-4{order:4 !important}.order-xl-5{order:5 !important}.order-xl-last{order:6 !important}.m-xl-0{margin:0 !important}.m-xl-1{margin:.25rem !important}.m-xl-2{margin:.5rem !important}.m-xl-3{margin:1rem !important}.m-xl-4{margin:1.5rem !important}.m-xl-5{margin:3rem !important}.m-xl-auto{margin:auto !important}.mx-xl-0{margin-right:0 !important;margin-left:0 !important}.mx-xl-1{margin-right:.25rem !important;margin-left:.25rem !important}.mx-xl-2{margin-right:.5rem !important;margin-left:.5rem !important}.mx-xl-3{margin-right:1rem !important;margin-left:1rem !important}.mx-xl-4{margin-right:1.5rem !important;margin-left:1.5rem !important}.mx-xl-5{margin-right:3rem !important;margin-left:3rem !important}.mx-xl-auto{margin-right:auto !important;margin-left:auto !important}.my-xl-0{margin-top:0 !important;margin-bottom:0 !important}.my-xl-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.my-xl-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.my-xl-3{margin-top:1rem !important;margin-bottom:1rem !important}.my-xl-4{margin-top:1.5rem !important;margin-bottom:1.5rem !important}.my-xl-5{margin-top:3rem !important;margin-bottom:3rem !important}.my-xl-auto{margin-top:auto !important;margin-bottom:auto !important}.mt-xl-0{margin-top:0 !important}.mt-xl-1{margin-top:.25rem !important}.mt-xl-2{margin-top:.5rem !important}.mt-xl-3{margin-top:1rem !important}.mt-xl-4{margin-top:1.5rem !important}.mt-xl-5{margin-top:3rem !important}.mt-xl-auto{margin-top:auto !important}.me-xl-0{margin-right:0 !important}.me-xl-1{margin-right:.25rem !important}.me-xl-2{margin-right:.5rem !important}.me-xl-3{margin-right:1rem !important}.me-xl-4{margin-right:1.5rem !important}.me-xl-5{margin-right:3rem !important}.me-xl-auto{margin-right:auto !important}.mb-xl-0{margin-bottom:0 !important}.mb-xl-1{margin-bottom:.25rem !important}.mb-xl-2{margin-bottom:.5rem !important}.mb-xl-3{margin-bottom:1rem !important}.mb-xl-4{margin-bottom:1.5rem !important}.mb-xl-5{margin-bottom:3rem !important}.mb-xl-auto{margin-bottom:auto !important}.ms-xl-0{margin-left:0 !important}.ms-xl-1{margin-left:.25rem !important}.ms-xl-2{margin-left:.5rem !important}.ms-xl-3{margin-left:1rem !important}.ms-xl-4{margin-left:1.5rem !important}.ms-xl-5{margin-left:3rem !important}.ms-xl-auto{margin-left:auto !important}.p-xl-0{padding:0 !important}.p-xl-1{padding:.25rem !important}.p-xl-2{padding:.5rem !important}.p-xl-3{padding:1rem !important}.p-xl-4{padding:1.5rem !important}.p-xl-5{padding:3rem !important}.px-xl-0{padding-right:0 !important;padding-left:0 !important}.px-xl-1{padding-right:.25rem !important;padding-left:.25rem !important}.px-xl-2{padding-right:.5rem !important;padding-left:.5rem !important}.px-xl-3{padding-right:1rem !important;padding-left:1rem !important}.px-xl-4{padding-right:1.5rem !important;padding-left:1.5rem !important}.px-xl-5{padding-right:3rem !important;padding-left:3rem !important}.py-xl-0{padding-top:0 !important;padding-bottom:0 !important}.py-xl-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.py-xl-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.py-xl-3{padding-top:1rem !important;padding-bottom:1rem !important}.py-xl-4{padding-top:1.5rem !important;padding-bottom:1.5rem !important}.py-xl-5{padding-top:3rem !important;padding-bottom:3rem !important}.pt-xl-0{padding-top:0 !important}.pt-xl-1{padding-top:.25rem !important}.pt-xl-2{padding-top:.5rem !important}.pt-xl-3{padding-top:1rem !important}.pt-xl-4{padding-top:1.5rem !important}.pt-xl-5{padding-top:3rem !important}.pe-xl-0{padding-right:0 !important}.pe-xl-1{padding-right:.25rem !important}.pe-xl-2{padding-right:.5rem !important}.pe-xl-3{padding-right:1rem !important}.pe-xl-4{padding-right:1.5rem !important}.pe-xl-5{padding-right:3rem !important}.pb-xl-0{padding-bottom:0 !important}.pb-xl-1{padding-bottom:.25rem !important}.pb-xl-2{padding-bottom:.5rem !important}.pb-xl-3{padding-bottom:1rem !important}.pb-xl-4{padding-bottom:1.5rem !important}.pb-xl-5{padding-bottom:3rem !important}.ps-xl-0{padding-left:0 !important}.ps-xl-1{padding-left:.25rem !important}.ps-xl-2{padding-left:.5rem !important}.ps-xl-3{padding-left:1rem !important}.ps-xl-4{padding-left:1.5rem !important}.ps-xl-5{padding-left:3rem !important}.gap-xl-0{gap:0 !important}.gap-xl-1{gap:.25rem !important}.gap-xl-2{gap:.5rem !important}.gap-xl-3{gap:1rem !important}.gap-xl-4{gap:1.5rem !important}.gap-xl-5{gap:3rem !important}.row-gap-xl-0{row-gap:0 !important}.row-gap-xl-1{row-gap:.25rem !important}.row-gap-xl-2{row-gap:.5rem !important}.row-gap-xl-3{row-gap:1rem !important}.row-gap-xl-4{row-gap:1.5rem !important}.row-gap-xl-5{row-gap:3rem !important}.column-gap-xl-0{column-gap:0 !important}.column-gap-xl-1{column-gap:.25rem !important}.column-gap-xl-2{column-gap:.5rem !important}.column-gap-xl-3{column-gap:1rem !important}.column-gap-xl-4{column-gap:1.5rem !important}.column-gap-xl-5{column-gap:3rem !important}.text-xl-start{text-align:left !important}.text-xl-end{text-align:right !important}.text-xl-center{text-align:center !important}}@media(min-width: 1400px){.float-xxl-start{float:left !important}.float-xxl-end{float:right !important}.float-xxl-none{float:none !important}.object-fit-xxl-contain{object-fit:contain !important}.object-fit-xxl-cover{object-fit:cover !important}.object-fit-xxl-fill{object-fit:fill !important}.object-fit-xxl-scale{object-fit:scale-down !important}.object-fit-xxl-none{object-fit:none !important}.d-xxl-inline{display:inline !important}.d-xxl-inline-block{display:inline-block !important}.d-xxl-block{display:block !important}.d-xxl-grid{display:grid !important}.d-xxl-inline-grid{display:inline-grid !important}.d-xxl-table{display:table !important}.d-xxl-table-row{display:table-row !important}.d-xxl-table-cell{display:table-cell !important}.d-xxl-flex{display:flex !important}.d-xxl-inline-flex{display:inline-flex !important}.d-xxl-none{display:none !important}.flex-xxl-fill{flex:1 1 auto !important}.flex-xxl-row{flex-direction:row !important}.flex-xxl-column{flex-direction:column !important}.flex-xxl-row-reverse{flex-direction:row-reverse !important}.flex-xxl-column-reverse{flex-direction:column-reverse !important}.flex-xxl-grow-0{flex-grow:0 !important}.flex-xxl-grow-1{flex-grow:1 !important}.flex-xxl-shrink-0{flex-shrink:0 !important}.flex-xxl-shrink-1{flex-shrink:1 !important}.flex-xxl-wrap{flex-wrap:wrap !important}.flex-xxl-nowrap{flex-wrap:nowrap !important}.flex-xxl-wrap-reverse{flex-wrap:wrap-reverse !important}.justify-content-xxl-start{justify-content:flex-start !important}.justify-content-xxl-end{justify-content:flex-end !important}.justify-content-xxl-center{justify-content:center !important}.justify-content-xxl-between{justify-content:space-between !important}.justify-content-xxl-around{justify-content:space-around !important}.justify-content-xxl-evenly{justify-content:space-evenly !important}.align-items-xxl-start{align-items:flex-start !important}.align-items-xxl-end{align-items:flex-end !important}.align-items-xxl-center{align-items:center !important}.align-items-xxl-baseline{align-items:baseline !important}.align-items-xxl-stretch{align-items:stretch !important}.align-content-xxl-start{align-content:flex-start !important}.align-content-xxl-end{align-content:flex-end !important}.align-content-xxl-center{align-content:center !important}.align-content-xxl-between{align-content:space-between !important}.align-content-xxl-around{align-content:space-around !important}.align-content-xxl-stretch{align-content:stretch !important}.align-self-xxl-auto{align-self:auto !important}.align-self-xxl-start{align-self:flex-start !important}.align-self-xxl-end{align-self:flex-end !important}.align-self-xxl-center{align-self:center !important}.align-self-xxl-baseline{align-self:baseline !important}.align-self-xxl-stretch{align-self:stretch !important}.order-xxl-first{order:-1 !important}.order-xxl-0{order:0 !important}.order-xxl-1{order:1 !important}.order-xxl-2{order:2 !important}.order-xxl-3{order:3 !important}.order-xxl-4{order:4 !important}.order-xxl-5{order:5 !important}.order-xxl-last{order:6 !important}.m-xxl-0{margin:0 !important}.m-xxl-1{margin:.25rem !important}.m-xxl-2{margin:.5rem !important}.m-xxl-3{margin:1rem !important}.m-xxl-4{margin:1.5rem !important}.m-xxl-5{margin:3rem !important}.m-xxl-auto{margin:auto !important}.mx-xxl-0{margin-right:0 !important;margin-left:0 !important}.mx-xxl-1{margin-right:.25rem !important;margin-left:.25rem !important}.mx-xxl-2{margin-right:.5rem !important;margin-left:.5rem !important}.mx-xxl-3{margin-right:1rem !important;margin-left:1rem !important}.mx-xxl-4{margin-right:1.5rem !important;margin-left:1.5rem !important}.mx-xxl-5{margin-right:3rem !important;margin-left:3rem !important}.mx-xxl-auto{margin-right:auto !important;margin-left:auto !important}.my-xxl-0{margin-top:0 !important;margin-bottom:0 !important}.my-xxl-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.my-xxl-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.my-xxl-3{margin-top:1rem !important;margin-bottom:1rem !important}.my-xxl-4{margin-top:1.5rem !important;margin-bottom:1.5rem !important}.my-xxl-5{margin-top:3rem !important;margin-bottom:3rem !important}.my-xxl-auto{margin-top:auto !important;margin-bottom:auto !important}.mt-xxl-0{margin-top:0 !important}.mt-xxl-1{margin-top:.25rem !important}.mt-xxl-2{margin-top:.5rem !important}.mt-xxl-3{margin-top:1rem !important}.mt-xxl-4{margin-top:1.5rem !important}.mt-xxl-5{margin-top:3rem !important}.mt-xxl-auto{margin-top:auto !important}.me-xxl-0{margin-right:0 !important}.me-xxl-1{margin-right:.25rem !important}.me-xxl-2{margin-right:.5rem !important}.me-xxl-3{margin-right:1rem !important}.me-xxl-4{margin-right:1.5rem !important}.me-xxl-5{margin-right:3rem !important}.me-xxl-auto{margin-right:auto !important}.mb-xxl-0{margin-bottom:0 !important}.mb-xxl-1{margin-bottom:.25rem !important}.mb-xxl-2{margin-bottom:.5rem !important}.mb-xxl-3{margin-bottom:1rem !important}.mb-xxl-4{margin-bottom:1.5rem !important}.mb-xxl-5{margin-bottom:3rem !important}.mb-xxl-auto{margin-bottom:auto !important}.ms-xxl-0{margin-left:0 !important}.ms-xxl-1{margin-left:.25rem !important}.ms-xxl-2{margin-left:.5rem !important}.ms-xxl-3{margin-left:1rem !important}.ms-xxl-4{margin-left:1.5rem !important}.ms-xxl-5{margin-left:3rem !important}.ms-xxl-auto{margin-left:auto !important}.p-xxl-0{padding:0 !important}.p-xxl-1{padding:.25rem !important}.p-xxl-2{padding:.5rem !important}.p-xxl-3{padding:1rem !important}.p-xxl-4{padding:1.5rem !important}.p-xxl-5{padding:3rem !important}.px-xxl-0{padding-right:0 !important;padding-left:0 !important}.px-xxl-1{padding-right:.25rem !important;padding-left:.25rem !important}.px-xxl-2{padding-right:.5rem !important;padding-left:.5rem !important}.px-xxl-3{padding-right:1rem !important;padding-left:1rem !important}.px-xxl-4{padding-right:1.5rem !important;padding-left:1.5rem !important}.px-xxl-5{padding-right:3rem !important;padding-left:3rem !important}.py-xxl-0{padding-top:0 !important;padding-bottom:0 !important}.py-xxl-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.py-xxl-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.py-xxl-3{padding-top:1rem !important;padding-bottom:1rem !important}.py-xxl-4{padding-top:1.5rem !important;padding-bottom:1.5rem !important}.py-xxl-5{padding-top:3rem !important;padding-bottom:3rem !important}.pt-xxl-0{padding-top:0 !important}.pt-xxl-1{padding-top:.25rem !important}.pt-xxl-2{padding-top:.5rem !important}.pt-xxl-3{padding-top:1rem !important}.pt-xxl-4{padding-top:1.5rem !important}.pt-xxl-5{padding-top:3rem !important}.pe-xxl-0{padding-right:0 !important}.pe-xxl-1{padding-right:.25rem !important}.pe-xxl-2{padding-right:.5rem !important}.pe-xxl-3{padding-right:1rem !important}.pe-xxl-4{padding-right:1.5rem !important}.pe-xxl-5{padding-right:3rem !important}.pb-xxl-0{padding-bottom:0 !important}.pb-xxl-1{padding-bottom:.25rem !important}.pb-xxl-2{padding-bottom:.5rem !important}.pb-xxl-3{padding-bottom:1rem !important}.pb-xxl-4{padding-bottom:1.5rem !important}.pb-xxl-5{padding-bottom:3rem !important}.ps-xxl-0{padding-left:0 !important}.ps-xxl-1{padding-left:.25rem !important}.ps-xxl-2{padding-left:.5rem !important}.ps-xxl-3{padding-left:1rem !important}.ps-xxl-4{padding-left:1.5rem !important}.ps-xxl-5{padding-left:3rem !important}.gap-xxl-0{gap:0 !important}.gap-xxl-1{gap:.25rem !important}.gap-xxl-2{gap:.5rem !important}.gap-xxl-3{gap:1rem !important}.gap-xxl-4{gap:1.5rem !important}.gap-xxl-5{gap:3rem !important}.row-gap-xxl-0{row-gap:0 !important}.row-gap-xxl-1{row-gap:.25rem !important}.row-gap-xxl-2{row-gap:.5rem !important}.row-gap-xxl-3{row-gap:1rem !important}.row-gap-xxl-4{row-gap:1.5rem !important}.row-gap-xxl-5{row-gap:3rem !important}.column-gap-xxl-0{column-gap:0 !important}.column-gap-xxl-1{column-gap:.25rem !important}.column-gap-xxl-2{column-gap:.5rem !important}.column-gap-xxl-3{column-gap:1rem !important}.column-gap-xxl-4{column-gap:1.5rem !important}.column-gap-xxl-5{column-gap:3rem !important}.text-xxl-start{text-align:left !important}.text-xxl-end{text-align:right !important}.text-xxl-center{text-align:center !important}}.bg-default{color:#000}.bg-primary{color:#fff}.bg-secondary{color:#000}.bg-success{color:#fff}.bg-info{color:#fff}.bg-warning{color:#fff}.bg-danger{color:#fff}.bg-light{color:#000}.bg-dark{color:#fff}@media(min-width: 1200px){.fs-1{font-size:2rem !important}.fs-2{font-size:1.65rem !important}.fs-3{font-size:1.45rem !important}}@media print{.d-print-inline{display:inline !important}.d-print-inline-block{display:inline-block !important}.d-print-block{display:block !important}.d-print-grid{display:grid !important}.d-print-inline-grid{display:inline-grid !important}.d-print-table{display:table !important}.d-print-table-row{display:table-row !important}.d-print-table-cell{display:table-cell !important}.d-print-flex{display:flex !important}.d-print-inline-flex{display:inline-flex !important}.d-print-none{display:none !important}}:root{--bslib-spacer: 1rem;--bslib-mb-spacer: var(--bslib-spacer, 1rem)}.bslib-mb-spacing{margin-bottom:var(--bslib-mb-spacer)}.bslib-gap-spacing{gap:var(--bslib-mb-spacer)}.bslib-gap-spacing>.bslib-mb-spacing,.bslib-gap-spacing>.form-group,.bslib-gap-spacing>p,.bslib-gap-spacing>pre{margin-bottom:0}.html-fill-container>.html-fill-item.bslib-mb-spacing{margin-bottom:0}.tab-content>.tab-pane.html-fill-container{display:none}.tab-content>.active.html-fill-container{display:flex}.tab-content.html-fill-container{padding:0}.bg-blue{--bslib-color-bg: #033c73;--bslib-color-fg: #fff;background-color:var(--bslib-color-bg);color:var(--bslib-color-fg)}.text-blue{--bslib-color-fg: #033c73;color:var(--bslib-color-fg)}.bg-indigo{--bslib-color-bg: #6610f2;--bslib-color-fg: #fff;background-color:var(--bslib-color-bg);color:var(--bslib-color-fg)}.text-indigo{--bslib-color-fg: #6610f2;color:var(--bslib-color-fg)}.bg-purple{--bslib-color-bg: #6f42c1;--bslib-color-fg: #fff;background-color:var(--bslib-color-bg);color:var(--bslib-color-fg)}.text-purple{--bslib-color-fg: #6f42c1;color:var(--bslib-color-fg)}.bg-pink{--bslib-color-bg: #e83e8c;--bslib-color-fg: #fff;background-color:var(--bslib-color-bg);color:var(--bslib-color-fg)}.text-pink{--bslib-color-fg: #e83e8c;color:var(--bslib-color-fg)}.bg-red{--bslib-color-bg: #c71c22;--bslib-color-fg: #fff;background-color:var(--bslib-color-bg);color:var(--bslib-color-fg)}.text-red{--bslib-color-fg: #c71c22;color:var(--bslib-color-fg)}.bg-orange{--bslib-color-bg: #fd7e14;--bslib-color-fg: #000;background-color:var(--bslib-color-bg);color:var(--bslib-color-fg)}.text-orange{--bslib-color-fg: #fd7e14;color:var(--bslib-color-fg)}.bg-yellow{--bslib-color-bg: #dd5600;--bslib-color-fg: #fff;background-color:var(--bslib-color-bg);color:var(--bslib-color-fg)}.text-yellow{--bslib-color-fg: #dd5600;color:var(--bslib-color-fg)}.bg-green{--bslib-color-bg: #73a839;--bslib-color-fg: #fff;background-color:var(--bslib-color-bg);color:var(--bslib-color-fg)}.text-green{--bslib-color-fg: #73a839;color:var(--bslib-color-fg)}.bg-teal{--bslib-color-bg: #20c997;--bslib-color-fg: #000;background-color:var(--bslib-color-bg);color:var(--bslib-color-fg)}.text-teal{--bslib-color-fg: #20c997;color:var(--bslib-color-fg)}.bg-cyan{--bslib-color-bg: #2fa4e7;--bslib-color-fg: #fff;background-color:var(--bslib-color-bg);color:var(--bslib-color-fg)}.text-cyan{--bslib-color-fg: #2fa4e7;color:var(--bslib-color-fg)}.text-default{--bslib-color-fg: #e9ecef}.bg-default{--bslib-color-bg: #e9ecef;--bslib-color-fg: #000}.text-primary{--bslib-color-fg: #2fa4e7}.bg-primary{--bslib-color-bg: #2fa4e7;--bslib-color-fg: #fff}.text-secondary{--bslib-color-fg: #e9ecef}.bg-secondary{--bslib-color-bg: #e9ecef;--bslib-color-fg: #000}.text-success{--bslib-color-fg: #73a839}.bg-success{--bslib-color-bg: #73a839;--bslib-color-fg: #fff}.text-info{--bslib-color-fg: #033c73}.bg-info{--bslib-color-bg: #033c73;--bslib-color-fg: #fff}.text-warning{--bslib-color-fg: #dd5600}.bg-warning{--bslib-color-bg: #dd5600;--bslib-color-fg: #fff}.text-danger{--bslib-color-fg: #c71c22}.bg-danger{--bslib-color-bg: #c71c22;--bslib-color-fg: #fff}.text-light{--bslib-color-fg: #f8f9fa}.bg-light{--bslib-color-bg: #f8f9fa;--bslib-color-fg: #000}.text-dark{--bslib-color-fg: #343a40}.bg-dark{--bslib-color-bg: #343a40;--bslib-color-fg: #fff}.bg-gradient-blue-indigo{--bslib-color-fg: #fff;--bslib-color-bg: #2b2aa6;background:linear-gradient(var(--bg-gradient-deg, 140deg), #033c73 var(--bg-gradient-start, 36%), #6610f2 var(--bg-gradient-end, 180%)) #2b2aa6;color:#fff}.bg-gradient-blue-purple{--bslib-color-fg: #fff;--bslib-color-bg: #2e3e92;background:linear-gradient(var(--bg-gradient-deg, 140deg), #033c73 var(--bg-gradient-start, 36%), #6f42c1 var(--bg-gradient-end, 180%)) #2e3e92;color:#fff}.bg-gradient-blue-pink{--bslib-color-fg: #fff;--bslib-color-bg: #5f3d7d;background:linear-gradient(var(--bg-gradient-deg, 140deg), #033c73 var(--bg-gradient-start, 36%), #e83e8c var(--bg-gradient-end, 180%)) #5f3d7d;color:#fff}.bg-gradient-blue-red{--bslib-color-fg: #fff;--bslib-color-bg: #512f53;background:linear-gradient(var(--bg-gradient-deg, 140deg), #033c73 var(--bg-gradient-start, 36%), #c71c22 var(--bg-gradient-end, 180%)) #512f53;color:#fff}.bg-gradient-blue-orange{--bslib-color-fg: #fff;--bslib-color-bg: #67564d;background:linear-gradient(var(--bg-gradient-deg, 140deg), #033c73 var(--bg-gradient-start, 36%), #fd7e14 var(--bg-gradient-end, 180%)) #67564d;color:#fff}.bg-gradient-blue-yellow{--bslib-color-fg: #fff;--bslib-color-bg: #5a4645;background:linear-gradient(var(--bg-gradient-deg, 140deg), #033c73 var(--bg-gradient-start, 36%), #dd5600 var(--bg-gradient-end, 180%)) #5a4645;color:#fff}.bg-gradient-blue-green{--bslib-color-fg: #fff;--bslib-color-bg: #30675c;background:linear-gradient(var(--bg-gradient-deg, 140deg), #033c73 var(--bg-gradient-start, 36%), #73a839 var(--bg-gradient-end, 180%)) #30675c;color:#fff}.bg-gradient-blue-teal{--bslib-color-fg: #fff;--bslib-color-bg: #0f7481;background:linear-gradient(var(--bg-gradient-deg, 140deg), #033c73 var(--bg-gradient-start, 36%), #20c997 var(--bg-gradient-end, 180%)) #0f7481;color:#fff}.bg-gradient-blue-cyan{--bslib-color-fg: #fff;--bslib-color-bg: #1566a1;background:linear-gradient(var(--bg-gradient-deg, 140deg), #033c73 var(--bg-gradient-start, 36%), #2fa4e7 var(--bg-gradient-end, 180%)) #1566a1;color:#fff}.bg-gradient-indigo-blue{--bslib-color-fg: #fff;--bslib-color-bg: #3e22bf;background:linear-gradient(var(--bg-gradient-deg, 140deg), #6610f2 var(--bg-gradient-start, 36%), #033c73 var(--bg-gradient-end, 180%)) #3e22bf;color:#fff}.bg-gradient-indigo-purple{--bslib-color-fg: #fff;--bslib-color-bg: #6a24de;background:linear-gradient(var(--bg-gradient-deg, 140deg), #6610f2 var(--bg-gradient-start, 36%), #6f42c1 var(--bg-gradient-end, 180%)) #6a24de;color:#fff}.bg-gradient-indigo-pink{--bslib-color-fg: #fff;--bslib-color-bg: #9a22c9;background:linear-gradient(var(--bg-gradient-deg, 140deg), #6610f2 var(--bg-gradient-start, 36%), #e83e8c var(--bg-gradient-end, 180%)) #9a22c9;color:#fff}.bg-gradient-indigo-red{--bslib-color-fg: #fff;--bslib-color-bg: #8d159f;background:linear-gradient(var(--bg-gradient-deg, 140deg), #6610f2 var(--bg-gradient-start, 36%), #c71c22 var(--bg-gradient-end, 180%)) #8d159f;color:#fff}.bg-gradient-indigo-orange{--bslib-color-fg: #fff;--bslib-color-bg: #a23c99;background:linear-gradient(var(--bg-gradient-deg, 140deg), #6610f2 var(--bg-gradient-start, 36%), #fd7e14 var(--bg-gradient-end, 180%)) #a23c99;color:#fff}.bg-gradient-indigo-yellow{--bslib-color-fg: #fff;--bslib-color-bg: #962c91;background:linear-gradient(var(--bg-gradient-deg, 140deg), #6610f2 var(--bg-gradient-start, 36%), #dd5600 var(--bg-gradient-end, 180%)) #962c91;color:#fff}.bg-gradient-indigo-green{--bslib-color-fg: #fff;--bslib-color-bg: #6b4da8;background:linear-gradient(var(--bg-gradient-deg, 140deg), #6610f2 var(--bg-gradient-start, 36%), #73a839 var(--bg-gradient-end, 180%)) #6b4da8;color:#fff}.bg-gradient-indigo-teal{--bslib-color-fg: #fff;--bslib-color-bg: #4a5ace;background:linear-gradient(var(--bg-gradient-deg, 140deg), #6610f2 var(--bg-gradient-start, 36%), #20c997 var(--bg-gradient-end, 180%)) #4a5ace;color:#fff}.bg-gradient-indigo-cyan{--bslib-color-fg: #fff;--bslib-color-bg: #504bee;background:linear-gradient(var(--bg-gradient-deg, 140deg), #6610f2 var(--bg-gradient-start, 36%), #2fa4e7 var(--bg-gradient-end, 180%)) #504bee;color:#fff}.bg-gradient-purple-blue{--bslib-color-fg: #fff;--bslib-color-bg: #4440a2;background:linear-gradient(var(--bg-gradient-deg, 140deg), #6f42c1 var(--bg-gradient-start, 36%), #033c73 var(--bg-gradient-end, 180%)) #4440a2;color:#fff}.bg-gradient-purple-indigo{--bslib-color-fg: #fff;--bslib-color-bg: #6b2ed5;background:linear-gradient(var(--bg-gradient-deg, 140deg), #6f42c1 var(--bg-gradient-start, 36%), #6610f2 var(--bg-gradient-end, 180%)) #6b2ed5;color:#fff}.bg-gradient-purple-pink{--bslib-color-fg: #fff;--bslib-color-bg: #9f40ac;background:linear-gradient(var(--bg-gradient-deg, 140deg), #6f42c1 var(--bg-gradient-start, 36%), #e83e8c var(--bg-gradient-end, 180%)) #9f40ac;color:#fff}.bg-gradient-purple-red{--bslib-color-fg: #fff;--bslib-color-bg: #923381;background:linear-gradient(var(--bg-gradient-deg, 140deg), #6f42c1 var(--bg-gradient-start, 36%), #c71c22 var(--bg-gradient-end, 180%)) #923381;color:#fff}.bg-gradient-purple-orange{--bslib-color-fg: #fff;--bslib-color-bg: #a85a7c;background:linear-gradient(var(--bg-gradient-deg, 140deg), #6f42c1 var(--bg-gradient-start, 36%), #fd7e14 var(--bg-gradient-end, 180%)) #a85a7c;color:#fff}.bg-gradient-purple-yellow{--bslib-color-fg: #fff;--bslib-color-bg: #9b4a74;background:linear-gradient(var(--bg-gradient-deg, 140deg), #6f42c1 var(--bg-gradient-start, 36%), #dd5600 var(--bg-gradient-end, 180%)) #9b4a74;color:#fff}.bg-gradient-purple-green{--bslib-color-fg: #fff;--bslib-color-bg: #716b8b;background:linear-gradient(var(--bg-gradient-deg, 140deg), #6f42c1 var(--bg-gradient-start, 36%), #73a839 var(--bg-gradient-end, 180%)) #716b8b;color:#fff}.bg-gradient-purple-teal{--bslib-color-fg: #fff;--bslib-color-bg: #4f78b0;background:linear-gradient(var(--bg-gradient-deg, 140deg), #6f42c1 var(--bg-gradient-start, 36%), #20c997 var(--bg-gradient-end, 180%)) #4f78b0;color:#fff}.bg-gradient-purple-cyan{--bslib-color-fg: #fff;--bslib-color-bg: #5569d0;background:linear-gradient(var(--bg-gradient-deg, 140deg), #6f42c1 var(--bg-gradient-start, 36%), #2fa4e7 var(--bg-gradient-end, 180%)) #5569d0;color:#fff}.bg-gradient-pink-blue{--bslib-color-fg: #fff;--bslib-color-bg: #8c3d82;background:linear-gradient(var(--bg-gradient-deg, 140deg), #e83e8c var(--bg-gradient-start, 36%), #033c73 var(--bg-gradient-end, 180%)) #8c3d82;color:#fff}.bg-gradient-pink-indigo{--bslib-color-fg: #fff;--bslib-color-bg: #b42cb5;background:linear-gradient(var(--bg-gradient-deg, 140deg), #e83e8c var(--bg-gradient-start, 36%), #6610f2 var(--bg-gradient-end, 180%)) #b42cb5;color:#fff}.bg-gradient-pink-purple{--bslib-color-fg: #fff;--bslib-color-bg: #b840a1;background:linear-gradient(var(--bg-gradient-deg, 140deg), #e83e8c var(--bg-gradient-start, 36%), #6f42c1 var(--bg-gradient-end, 180%)) #b840a1;color:#fff}.bg-gradient-pink-red{--bslib-color-fg: #fff;--bslib-color-bg: #db3062;background:linear-gradient(var(--bg-gradient-deg, 140deg), #e83e8c var(--bg-gradient-start, 36%), #c71c22 var(--bg-gradient-end, 180%)) #db3062;color:#fff}.bg-gradient-pink-orange{--bslib-color-fg: #fff;--bslib-color-bg: #f0585c;background:linear-gradient(var(--bg-gradient-deg, 140deg), #e83e8c var(--bg-gradient-start, 36%), #fd7e14 var(--bg-gradient-end, 180%)) #f0585c;color:#fff}.bg-gradient-pink-yellow{--bslib-color-fg: #fff;--bslib-color-bg: #e44854;background:linear-gradient(var(--bg-gradient-deg, 140deg), #e83e8c var(--bg-gradient-start, 36%), #dd5600 var(--bg-gradient-end, 180%)) #e44854;color:#fff}.bg-gradient-pink-green{--bslib-color-fg: #fff;--bslib-color-bg: #b9686b;background:linear-gradient(var(--bg-gradient-deg, 140deg), #e83e8c var(--bg-gradient-start, 36%), #73a839 var(--bg-gradient-end, 180%)) #b9686b;color:#fff}.bg-gradient-pink-teal{--bslib-color-fg: #fff;--bslib-color-bg: #987690;background:linear-gradient(var(--bg-gradient-deg, 140deg), #e83e8c var(--bg-gradient-start, 36%), #20c997 var(--bg-gradient-end, 180%)) #987690;color:#fff}.bg-gradient-pink-cyan{--bslib-color-fg: #fff;--bslib-color-bg: #9e67b0;background:linear-gradient(var(--bg-gradient-deg, 140deg), #e83e8c var(--bg-gradient-start, 36%), #2fa4e7 var(--bg-gradient-end, 180%)) #9e67b0;color:#fff}.bg-gradient-red-blue{--bslib-color-fg: #fff;--bslib-color-bg: #792942;background:linear-gradient(var(--bg-gradient-deg, 140deg), #c71c22 var(--bg-gradient-start, 36%), #033c73 var(--bg-gradient-end, 180%)) #792942;color:#fff}.bg-gradient-red-indigo{--bslib-color-fg: #fff;--bslib-color-bg: #a01775;background:linear-gradient(var(--bg-gradient-deg, 140deg), #c71c22 var(--bg-gradient-start, 36%), #6610f2 var(--bg-gradient-end, 180%)) #a01775;color:#fff}.bg-gradient-red-purple{--bslib-color-fg: #fff;--bslib-color-bg: #a42b62;background:linear-gradient(var(--bg-gradient-deg, 140deg), #c71c22 var(--bg-gradient-start, 36%), #6f42c1 var(--bg-gradient-end, 180%)) #a42b62;color:#fff}.bg-gradient-red-pink{--bslib-color-fg: #fff;--bslib-color-bg: #d42a4c;background:linear-gradient(var(--bg-gradient-deg, 140deg), #c71c22 var(--bg-gradient-start, 36%), #e83e8c var(--bg-gradient-end, 180%)) #d42a4c;color:#fff}.bg-gradient-red-orange{--bslib-color-fg: #fff;--bslib-color-bg: #dd431c;background:linear-gradient(var(--bg-gradient-deg, 140deg), #c71c22 var(--bg-gradient-start, 36%), #fd7e14 var(--bg-gradient-end, 180%)) #dd431c;color:#fff}.bg-gradient-red-yellow{--bslib-color-fg: #fff;--bslib-color-bg: #d03314;background:linear-gradient(var(--bg-gradient-deg, 140deg), #c71c22 var(--bg-gradient-start, 36%), #dd5600 var(--bg-gradient-end, 180%)) #d03314;color:#fff}.bg-gradient-red-green{--bslib-color-fg: #fff;--bslib-color-bg: #a5542b;background:linear-gradient(var(--bg-gradient-deg, 140deg), #c71c22 var(--bg-gradient-start, 36%), #73a839 var(--bg-gradient-end, 180%)) #a5542b;color:#fff}.bg-gradient-red-teal{--bslib-color-fg: #fff;--bslib-color-bg: #846151;background:linear-gradient(var(--bg-gradient-deg, 140deg), #c71c22 var(--bg-gradient-start, 36%), #20c997 var(--bg-gradient-end, 180%)) #846151;color:#fff}.bg-gradient-red-cyan{--bslib-color-fg: #fff;--bslib-color-bg: #8a5271;background:linear-gradient(var(--bg-gradient-deg, 140deg), #c71c22 var(--bg-gradient-start, 36%), #2fa4e7 var(--bg-gradient-end, 180%)) #8a5271;color:#fff}.bg-gradient-orange-blue{--bslib-color-fg: #fff;--bslib-color-bg: #99643a;background:linear-gradient(var(--bg-gradient-deg, 140deg), #fd7e14 var(--bg-gradient-start, 36%), #033c73 var(--bg-gradient-end, 180%)) #99643a;color:#fff}.bg-gradient-orange-indigo{--bslib-color-fg: #fff;--bslib-color-bg: #c1526d;background:linear-gradient(var(--bg-gradient-deg, 140deg), #fd7e14 var(--bg-gradient-start, 36%), #6610f2 var(--bg-gradient-end, 180%)) #c1526d;color:#fff}.bg-gradient-orange-purple{--bslib-color-fg: #fff;--bslib-color-bg: #c46659;background:linear-gradient(var(--bg-gradient-deg, 140deg), #fd7e14 var(--bg-gradient-start, 36%), #6f42c1 var(--bg-gradient-end, 180%)) #c46659;color:#fff}.bg-gradient-orange-pink{--bslib-color-fg: #fff;--bslib-color-bg: #f56444;background:linear-gradient(var(--bg-gradient-deg, 140deg), #fd7e14 var(--bg-gradient-start, 36%), #e83e8c var(--bg-gradient-end, 180%)) #f56444;color:#fff}.bg-gradient-orange-red{--bslib-color-fg: #fff;--bslib-color-bg: #e7571a;background:linear-gradient(var(--bg-gradient-deg, 140deg), #fd7e14 var(--bg-gradient-start, 36%), #c71c22 var(--bg-gradient-end, 180%)) #e7571a;color:#fff}.bg-gradient-orange-yellow{--bslib-color-fg: #fff;--bslib-color-bg: #f06e0c;background:linear-gradient(var(--bg-gradient-deg, 140deg), #fd7e14 var(--bg-gradient-start, 36%), #dd5600 var(--bg-gradient-end, 180%)) #f06e0c;color:#fff}.bg-gradient-orange-green{--bslib-color-fg: #fff;--bslib-color-bg: #c68f23;background:linear-gradient(var(--bg-gradient-deg, 140deg), #fd7e14 var(--bg-gradient-start, 36%), #73a839 var(--bg-gradient-end, 180%)) #c68f23;color:#fff}.bg-gradient-orange-teal{--bslib-color-fg: #fff;--bslib-color-bg: #a59c48;background:linear-gradient(var(--bg-gradient-deg, 140deg), #fd7e14 var(--bg-gradient-start, 36%), #20c997 var(--bg-gradient-end, 180%)) #a59c48;color:#fff}.bg-gradient-orange-cyan{--bslib-color-fg: #fff;--bslib-color-bg: #ab8d68;background:linear-gradient(var(--bg-gradient-deg, 140deg), #fd7e14 var(--bg-gradient-start, 36%), #2fa4e7 var(--bg-gradient-end, 180%)) #ab8d68;color:#fff}.bg-gradient-yellow-blue{--bslib-color-fg: #fff;--bslib-color-bg: #864c2e;background:linear-gradient(var(--bg-gradient-deg, 140deg), #dd5600 var(--bg-gradient-start, 36%), #033c73 var(--bg-gradient-end, 180%)) #864c2e;color:#fff}.bg-gradient-yellow-indigo{--bslib-color-fg: #fff;--bslib-color-bg: #ad3a61;background:linear-gradient(var(--bg-gradient-deg, 140deg), #dd5600 var(--bg-gradient-start, 36%), #6610f2 var(--bg-gradient-end, 180%)) #ad3a61;color:#fff}.bg-gradient-yellow-purple{--bslib-color-fg: #fff;--bslib-color-bg: #b14e4d;background:linear-gradient(var(--bg-gradient-deg, 140deg), #dd5600 var(--bg-gradient-start, 36%), #6f42c1 var(--bg-gradient-end, 180%)) #b14e4d;color:#fff}.bg-gradient-yellow-pink{--bslib-color-fg: #fff;--bslib-color-bg: #e14c38;background:linear-gradient(var(--bg-gradient-deg, 140deg), #dd5600 var(--bg-gradient-start, 36%), #e83e8c var(--bg-gradient-end, 180%)) #e14c38;color:#fff}.bg-gradient-yellow-red{--bslib-color-fg: #fff;--bslib-color-bg: #d43f0e;background:linear-gradient(var(--bg-gradient-deg, 140deg), #dd5600 var(--bg-gradient-start, 36%), #c71c22 var(--bg-gradient-end, 180%)) #d43f0e;color:#fff}.bg-gradient-yellow-orange{--bslib-color-fg: #fff;--bslib-color-bg: #ea6608;background:linear-gradient(var(--bg-gradient-deg, 140deg), #dd5600 var(--bg-gradient-start, 36%), #fd7e14 var(--bg-gradient-end, 180%)) #ea6608;color:#fff}.bg-gradient-yellow-green{--bslib-color-fg: #fff;--bslib-color-bg: #b37717;background:linear-gradient(var(--bg-gradient-deg, 140deg), #dd5600 var(--bg-gradient-start, 36%), #73a839 var(--bg-gradient-end, 180%)) #b37717;color:#fff}.bg-gradient-yellow-teal{--bslib-color-fg: #fff;--bslib-color-bg: #91843c;background:linear-gradient(var(--bg-gradient-deg, 140deg), #dd5600 var(--bg-gradient-start, 36%), #20c997 var(--bg-gradient-end, 180%)) #91843c;color:#fff}.bg-gradient-yellow-cyan{--bslib-color-fg: #fff;--bslib-color-bg: #97755c;background:linear-gradient(var(--bg-gradient-deg, 140deg), #dd5600 var(--bg-gradient-start, 36%), #2fa4e7 var(--bg-gradient-end, 180%)) #97755c;color:#fff}.bg-gradient-green-blue{--bslib-color-fg: #fff;--bslib-color-bg: #467d50;background:linear-gradient(var(--bg-gradient-deg, 140deg), #73a839 var(--bg-gradient-start, 36%), #033c73 var(--bg-gradient-end, 180%)) #467d50;color:#fff}.bg-gradient-green-indigo{--bslib-color-fg: #fff;--bslib-color-bg: #6e6b83;background:linear-gradient(var(--bg-gradient-deg, 140deg), #73a839 var(--bg-gradient-start, 36%), #6610f2 var(--bg-gradient-end, 180%)) #6e6b83;color:#fff}.bg-gradient-green-purple{--bslib-color-fg: #fff;--bslib-color-bg: #717f6f;background:linear-gradient(var(--bg-gradient-deg, 140deg), #73a839 var(--bg-gradient-start, 36%), #6f42c1 var(--bg-gradient-end, 180%)) #717f6f;color:#fff}.bg-gradient-green-pink{--bslib-color-fg: #fff;--bslib-color-bg: #a27e5a;background:linear-gradient(var(--bg-gradient-deg, 140deg), #73a839 var(--bg-gradient-start, 36%), #e83e8c var(--bg-gradient-end, 180%)) #a27e5a;color:#fff}.bg-gradient-green-red{--bslib-color-fg: #fff;--bslib-color-bg: #957030;background:linear-gradient(var(--bg-gradient-deg, 140deg), #73a839 var(--bg-gradient-start, 36%), #c71c22 var(--bg-gradient-end, 180%)) #957030;color:#fff}.bg-gradient-green-orange{--bslib-color-fg: #fff;--bslib-color-bg: #aa972a;background:linear-gradient(var(--bg-gradient-deg, 140deg), #73a839 var(--bg-gradient-start, 36%), #fd7e14 var(--bg-gradient-end, 180%)) #aa972a;color:#fff}.bg-gradient-green-yellow{--bslib-color-fg: #fff;--bslib-color-bg: #9d8722;background:linear-gradient(var(--bg-gradient-deg, 140deg), #73a839 var(--bg-gradient-start, 36%), #dd5600 var(--bg-gradient-end, 180%)) #9d8722;color:#fff}.bg-gradient-green-teal{--bslib-color-fg: #000;--bslib-color-bg: #52b55f;background:linear-gradient(var(--bg-gradient-deg, 140deg), #73a839 var(--bg-gradient-start, 36%), #20c997 var(--bg-gradient-end, 180%)) #52b55f;color:#000}.bg-gradient-green-cyan{--bslib-color-fg: #fff;--bslib-color-bg: #58a67f;background:linear-gradient(var(--bg-gradient-deg, 140deg), #73a839 var(--bg-gradient-start, 36%), #2fa4e7 var(--bg-gradient-end, 180%)) #58a67f;color:#fff}.bg-gradient-teal-blue{--bslib-color-fg: #fff;--bslib-color-bg: #149189;background:linear-gradient(var(--bg-gradient-deg, 140deg), #20c997 var(--bg-gradient-start, 36%), #033c73 var(--bg-gradient-end, 180%)) #149189;color:#fff}.bg-gradient-teal-indigo{--bslib-color-fg: #fff;--bslib-color-bg: #3c7fbb;background:linear-gradient(var(--bg-gradient-deg, 140deg), #20c997 var(--bg-gradient-start, 36%), #6610f2 var(--bg-gradient-end, 180%)) #3c7fbb;color:#fff}.bg-gradient-teal-purple{--bslib-color-fg: #fff;--bslib-color-bg: #4093a8;background:linear-gradient(var(--bg-gradient-deg, 140deg), #20c997 var(--bg-gradient-start, 36%), #6f42c1 var(--bg-gradient-end, 180%)) #4093a8;color:#fff}.bg-gradient-teal-pink{--bslib-color-fg: #fff;--bslib-color-bg: #709193;background:linear-gradient(var(--bg-gradient-deg, 140deg), #20c997 var(--bg-gradient-start, 36%), #e83e8c var(--bg-gradient-end, 180%)) #709193;color:#fff}.bg-gradient-teal-red{--bslib-color-fg: #fff;--bslib-color-bg: #638468;background:linear-gradient(var(--bg-gradient-deg, 140deg), #20c997 var(--bg-gradient-start, 36%), #c71c22 var(--bg-gradient-end, 180%)) #638468;color:#fff}.bg-gradient-teal-orange{--bslib-color-fg: #000;--bslib-color-bg: #78ab63;background:linear-gradient(var(--bg-gradient-deg, 140deg), #20c997 var(--bg-gradient-start, 36%), #fd7e14 var(--bg-gradient-end, 180%)) #78ab63;color:#000}.bg-gradient-teal-yellow{--bslib-color-fg: #fff;--bslib-color-bg: #6c9b5b;background:linear-gradient(var(--bg-gradient-deg, 140deg), #20c997 var(--bg-gradient-start, 36%), #dd5600 var(--bg-gradient-end, 180%)) #6c9b5b;color:#fff}.bg-gradient-teal-green{--bslib-color-fg: #000;--bslib-color-bg: #41bc71;background:linear-gradient(var(--bg-gradient-deg, 140deg), #20c997 var(--bg-gradient-start, 36%), #73a839 var(--bg-gradient-end, 180%)) #41bc71;color:#000}.bg-gradient-teal-cyan{--bslib-color-fg: #000;--bslib-color-bg: #26bab7;background:linear-gradient(var(--bg-gradient-deg, 140deg), #20c997 var(--bg-gradient-start, 36%), #2fa4e7 var(--bg-gradient-end, 180%)) #26bab7;color:#000}.bg-gradient-cyan-blue{--bslib-color-fg: #fff;--bslib-color-bg: #1d7ab9;background:linear-gradient(var(--bg-gradient-deg, 140deg), #2fa4e7 var(--bg-gradient-start, 36%), #033c73 var(--bg-gradient-end, 180%)) #1d7ab9;color:#fff}.bg-gradient-cyan-indigo{--bslib-color-fg: #fff;--bslib-color-bg: #4569eb;background:linear-gradient(var(--bg-gradient-deg, 140deg), #2fa4e7 var(--bg-gradient-start, 36%), #6610f2 var(--bg-gradient-end, 180%)) #4569eb;color:#fff}.bg-gradient-cyan-purple{--bslib-color-fg: #fff;--bslib-color-bg: #497dd8;background:linear-gradient(var(--bg-gradient-deg, 140deg), #2fa4e7 var(--bg-gradient-start, 36%), #6f42c1 var(--bg-gradient-end, 180%)) #497dd8;color:#fff}.bg-gradient-cyan-pink{--bslib-color-fg: #fff;--bslib-color-bg: #797bc3;background:linear-gradient(var(--bg-gradient-deg, 140deg), #2fa4e7 var(--bg-gradient-start, 36%), #e83e8c var(--bg-gradient-end, 180%)) #797bc3;color:#fff}.bg-gradient-cyan-red{--bslib-color-fg: #fff;--bslib-color-bg: #6c6e98;background:linear-gradient(var(--bg-gradient-deg, 140deg), #2fa4e7 var(--bg-gradient-start, 36%), #c71c22 var(--bg-gradient-end, 180%)) #6c6e98;color:#fff}.bg-gradient-cyan-orange{--bslib-color-fg: #fff;--bslib-color-bg: #819593;background:linear-gradient(var(--bg-gradient-deg, 140deg), #2fa4e7 var(--bg-gradient-start, 36%), #fd7e14 var(--bg-gradient-end, 180%)) #819593;color:#fff}.bg-gradient-cyan-yellow{--bslib-color-fg: #fff;--bslib-color-bg: #75858b;background:linear-gradient(var(--bg-gradient-deg, 140deg), #2fa4e7 var(--bg-gradient-start, 36%), #dd5600 var(--bg-gradient-end, 180%)) #75858b;color:#fff}.bg-gradient-cyan-green{--bslib-color-fg: #fff;--bslib-color-bg: #4aa6a1;background:linear-gradient(var(--bg-gradient-deg, 140deg), #2fa4e7 var(--bg-gradient-start, 36%), #73a839 var(--bg-gradient-end, 180%)) #4aa6a1;color:#fff}.bg-gradient-cyan-teal{--bslib-color-fg: #000;--bslib-color-bg: #29b3c7;background:linear-gradient(var(--bg-gradient-deg, 140deg), #2fa4e7 var(--bg-gradient-start, 36%), #20c997 var(--bg-gradient-end, 180%)) #29b3c7;color:#000}.tab-content>.tab-pane.html-fill-container{display:none}.tab-content>.active.html-fill-container{display:flex}.tab-content.html-fill-container{padding:0}:root{--bslib-spacer: 1rem;--bslib-mb-spacer: var(--bslib-spacer, 1rem)}.bslib-mb-spacing{margin-bottom:var(--bslib-mb-spacer)}.bslib-gap-spacing{gap:var(--bslib-mb-spacer)}.bslib-gap-spacing>.bslib-mb-spacing,.bslib-gap-spacing>.form-group,.bslib-gap-spacing>p,.bslib-gap-spacing>pre{margin-bottom:0}.html-fill-container>.html-fill-item.bslib-mb-spacing{margin-bottom:0}.bg-blue{--bslib-color-bg: #033c73;--bslib-color-fg: #fff;background-color:var(--bslib-color-bg);color:var(--bslib-color-fg)}.text-blue{--bslib-color-fg: #033c73;color:var(--bslib-color-fg)}.bg-indigo{--bslib-color-bg: #6610f2;--bslib-color-fg: #fff;background-color:var(--bslib-color-bg);color:var(--bslib-color-fg)}.text-indigo{--bslib-color-fg: #6610f2;color:var(--bslib-color-fg)}.bg-purple{--bslib-color-bg: #6f42c1;--bslib-color-fg: #fff;background-color:var(--bslib-color-bg);color:var(--bslib-color-fg)}.text-purple{--bslib-color-fg: #6f42c1;color:var(--bslib-color-fg)}.bg-pink{--bslib-color-bg: #e83e8c;--bslib-color-fg: #fff;background-color:var(--bslib-color-bg);color:var(--bslib-color-fg)}.text-pink{--bslib-color-fg: #e83e8c;color:var(--bslib-color-fg)}.bg-red{--bslib-color-bg: #c71c22;--bslib-color-fg: #fff;background-color:var(--bslib-color-bg);color:var(--bslib-color-fg)}.text-red{--bslib-color-fg: #c71c22;color:var(--bslib-color-fg)}.bg-orange{--bslib-color-bg: #fd7e14;--bslib-color-fg: #000;background-color:var(--bslib-color-bg);color:var(--bslib-color-fg)}.text-orange{--bslib-color-fg: #fd7e14;color:var(--bslib-color-fg)}.bg-yellow{--bslib-color-bg: #dd5600;--bslib-color-fg: #fff;background-color:var(--bslib-color-bg);color:var(--bslib-color-fg)}.text-yellow{--bslib-color-fg: #dd5600;color:var(--bslib-color-fg)}.bg-green{--bslib-color-bg: #73a839;--bslib-color-fg: #fff;background-color:var(--bslib-color-bg);color:var(--bslib-color-fg)}.text-green{--bslib-color-fg: #73a839;color:var(--bslib-color-fg)}.bg-teal{--bslib-color-bg: #20c997;--bslib-color-fg: #000;background-color:var(--bslib-color-bg);color:var(--bslib-color-fg)}.text-teal{--bslib-color-fg: #20c997;color:var(--bslib-color-fg)}.bg-cyan{--bslib-color-bg: #2fa4e7;--bslib-color-fg: #fff;background-color:var(--bslib-color-bg);color:var(--bslib-color-fg)}.text-cyan{--bslib-color-fg: #2fa4e7;color:var(--bslib-color-fg)}.text-default{--bslib-color-fg: #e9ecef}.bg-default{--bslib-color-bg: #e9ecef;--bslib-color-fg: #000}.text-primary{--bslib-color-fg: #2fa4e7}.bg-primary{--bslib-color-bg: #2fa4e7;--bslib-color-fg: #fff}.text-secondary{--bslib-color-fg: #e9ecef}.bg-secondary{--bslib-color-bg: #e9ecef;--bslib-color-fg: #000}.text-success{--bslib-color-fg: #73a839}.bg-success{--bslib-color-bg: #73a839;--bslib-color-fg: #fff}.text-info{--bslib-color-fg: #033c73}.bg-info{--bslib-color-bg: #033c73;--bslib-color-fg: #fff}.text-warning{--bslib-color-fg: #dd5600}.bg-warning{--bslib-color-bg: #dd5600;--bslib-color-fg: #fff}.text-danger{--bslib-color-fg: #c71c22}.bg-danger{--bslib-color-bg: #c71c22;--bslib-color-fg: #fff}.text-light{--bslib-color-fg: #f8f9fa}.bg-light{--bslib-color-bg: #f8f9fa;--bslib-color-fg: #000}.text-dark{--bslib-color-fg: #343a40}.bg-dark{--bslib-color-bg: #343a40;--bslib-color-fg: #fff}.bg-gradient-blue-indigo{--bslib-color-fg: #fff;--bslib-color-bg: #2b2aa6;background:linear-gradient(var(--bg-gradient-deg, 140deg), #033c73 var(--bg-gradient-start, 36%), #6610f2 var(--bg-gradient-end, 180%)) #2b2aa6;color:#fff}.bg-gradient-blue-purple{--bslib-color-fg: #fff;--bslib-color-bg: #2e3e92;background:linear-gradient(var(--bg-gradient-deg, 140deg), #033c73 var(--bg-gradient-start, 36%), #6f42c1 var(--bg-gradient-end, 180%)) #2e3e92;color:#fff}.bg-gradient-blue-pink{--bslib-color-fg: #fff;--bslib-color-bg: #5f3d7d;background:linear-gradient(var(--bg-gradient-deg, 140deg), #033c73 var(--bg-gradient-start, 36%), #e83e8c var(--bg-gradient-end, 180%)) #5f3d7d;color:#fff}.bg-gradient-blue-red{--bslib-color-fg: #fff;--bslib-color-bg: #512f53;background:linear-gradient(var(--bg-gradient-deg, 140deg), #033c73 var(--bg-gradient-start, 36%), #c71c22 var(--bg-gradient-end, 180%)) #512f53;color:#fff}.bg-gradient-blue-orange{--bslib-color-fg: #fff;--bslib-color-bg: #67564d;background:linear-gradient(var(--bg-gradient-deg, 140deg), #033c73 var(--bg-gradient-start, 36%), #fd7e14 var(--bg-gradient-end, 180%)) #67564d;color:#fff}.bg-gradient-blue-yellow{--bslib-color-fg: #fff;--bslib-color-bg: #5a4645;background:linear-gradient(var(--bg-gradient-deg, 140deg), #033c73 var(--bg-gradient-start, 36%), #dd5600 var(--bg-gradient-end, 180%)) #5a4645;color:#fff}.bg-gradient-blue-green{--bslib-color-fg: #fff;--bslib-color-bg: #30675c;background:linear-gradient(var(--bg-gradient-deg, 140deg), #033c73 var(--bg-gradient-start, 36%), #73a839 var(--bg-gradient-end, 180%)) #30675c;color:#fff}.bg-gradient-blue-teal{--bslib-color-fg: #fff;--bslib-color-bg: #0f7481;background:linear-gradient(var(--bg-gradient-deg, 140deg), #033c73 var(--bg-gradient-start, 36%), #20c997 var(--bg-gradient-end, 180%)) #0f7481;color:#fff}.bg-gradient-blue-cyan{--bslib-color-fg: #fff;--bslib-color-bg: #1566a1;background:linear-gradient(var(--bg-gradient-deg, 140deg), #033c73 var(--bg-gradient-start, 36%), #2fa4e7 var(--bg-gradient-end, 180%)) #1566a1;color:#fff}.bg-gradient-indigo-blue{--bslib-color-fg: #fff;--bslib-color-bg: #3e22bf;background:linear-gradient(var(--bg-gradient-deg, 140deg), #6610f2 var(--bg-gradient-start, 36%), #033c73 var(--bg-gradient-end, 180%)) #3e22bf;color:#fff}.bg-gradient-indigo-purple{--bslib-color-fg: #fff;--bslib-color-bg: #6a24de;background:linear-gradient(var(--bg-gradient-deg, 140deg), #6610f2 var(--bg-gradient-start, 36%), #6f42c1 var(--bg-gradient-end, 180%)) #6a24de;color:#fff}.bg-gradient-indigo-pink{--bslib-color-fg: #fff;--bslib-color-bg: #9a22c9;background:linear-gradient(var(--bg-gradient-deg, 140deg), #6610f2 var(--bg-gradient-start, 36%), #e83e8c var(--bg-gradient-end, 180%)) #9a22c9;color:#fff}.bg-gradient-indigo-red{--bslib-color-fg: #fff;--bslib-color-bg: #8d159f;background:linear-gradient(var(--bg-gradient-deg, 140deg), #6610f2 var(--bg-gradient-start, 36%), #c71c22 var(--bg-gradient-end, 180%)) #8d159f;color:#fff}.bg-gradient-indigo-orange{--bslib-color-fg: #fff;--bslib-color-bg: #a23c99;background:linear-gradient(var(--bg-gradient-deg, 140deg), #6610f2 var(--bg-gradient-start, 36%), #fd7e14 var(--bg-gradient-end, 180%)) #a23c99;color:#fff}.bg-gradient-indigo-yellow{--bslib-color-fg: #fff;--bslib-color-bg: #962c91;background:linear-gradient(var(--bg-gradient-deg, 140deg), #6610f2 var(--bg-gradient-start, 36%), #dd5600 var(--bg-gradient-end, 180%)) #962c91;color:#fff}.bg-gradient-indigo-green{--bslib-color-fg: #fff;--bslib-color-bg: #6b4da8;background:linear-gradient(var(--bg-gradient-deg, 140deg), #6610f2 var(--bg-gradient-start, 36%), #73a839 var(--bg-gradient-end, 180%)) #6b4da8;color:#fff}.bg-gradient-indigo-teal{--bslib-color-fg: #fff;--bslib-color-bg: #4a5ace;background:linear-gradient(var(--bg-gradient-deg, 140deg), #6610f2 var(--bg-gradient-start, 36%), #20c997 var(--bg-gradient-end, 180%)) #4a5ace;color:#fff}.bg-gradient-indigo-cyan{--bslib-color-fg: #fff;--bslib-color-bg: #504bee;background:linear-gradient(var(--bg-gradient-deg, 140deg), #6610f2 var(--bg-gradient-start, 36%), #2fa4e7 var(--bg-gradient-end, 180%)) #504bee;color:#fff}.bg-gradient-purple-blue{--bslib-color-fg: #fff;--bslib-color-bg: #4440a2;background:linear-gradient(var(--bg-gradient-deg, 140deg), #6f42c1 var(--bg-gradient-start, 36%), #033c73 var(--bg-gradient-end, 180%)) #4440a2;color:#fff}.bg-gradient-purple-indigo{--bslib-color-fg: #fff;--bslib-color-bg: #6b2ed5;background:linear-gradient(var(--bg-gradient-deg, 140deg), #6f42c1 var(--bg-gradient-start, 36%), #6610f2 var(--bg-gradient-end, 180%)) #6b2ed5;color:#fff}.bg-gradient-purple-pink{--bslib-color-fg: #fff;--bslib-color-bg: #9f40ac;background:linear-gradient(var(--bg-gradient-deg, 140deg), #6f42c1 var(--bg-gradient-start, 36%), #e83e8c var(--bg-gradient-end, 180%)) #9f40ac;color:#fff}.bg-gradient-purple-red{--bslib-color-fg: #fff;--bslib-color-bg: #923381;background:linear-gradient(var(--bg-gradient-deg, 140deg), #6f42c1 var(--bg-gradient-start, 36%), #c71c22 var(--bg-gradient-end, 180%)) #923381;color:#fff}.bg-gradient-purple-orange{--bslib-color-fg: #fff;--bslib-color-bg: #a85a7c;background:linear-gradient(var(--bg-gradient-deg, 140deg), #6f42c1 var(--bg-gradient-start, 36%), #fd7e14 var(--bg-gradient-end, 180%)) #a85a7c;color:#fff}.bg-gradient-purple-yellow{--bslib-color-fg: #fff;--bslib-color-bg: #9b4a74;background:linear-gradient(var(--bg-gradient-deg, 140deg), #6f42c1 var(--bg-gradient-start, 36%), #dd5600 var(--bg-gradient-end, 180%)) #9b4a74;color:#fff}.bg-gradient-purple-green{--bslib-color-fg: #fff;--bslib-color-bg: #716b8b;background:linear-gradient(var(--bg-gradient-deg, 140deg), #6f42c1 var(--bg-gradient-start, 36%), #73a839 var(--bg-gradient-end, 180%)) #716b8b;color:#fff}.bg-gradient-purple-teal{--bslib-color-fg: #fff;--bslib-color-bg: #4f78b0;background:linear-gradient(var(--bg-gradient-deg, 140deg), #6f42c1 var(--bg-gradient-start, 36%), #20c997 var(--bg-gradient-end, 180%)) #4f78b0;color:#fff}.bg-gradient-purple-cyan{--bslib-color-fg: #fff;--bslib-color-bg: #5569d0;background:linear-gradient(var(--bg-gradient-deg, 140deg), #6f42c1 var(--bg-gradient-start, 36%), #2fa4e7 var(--bg-gradient-end, 180%)) #5569d0;color:#fff}.bg-gradient-pink-blue{--bslib-color-fg: #fff;--bslib-color-bg: #8c3d82;background:linear-gradient(var(--bg-gradient-deg, 140deg), #e83e8c var(--bg-gradient-start, 36%), #033c73 var(--bg-gradient-end, 180%)) #8c3d82;color:#fff}.bg-gradient-pink-indigo{--bslib-color-fg: #fff;--bslib-color-bg: #b42cb5;background:linear-gradient(var(--bg-gradient-deg, 140deg), #e83e8c var(--bg-gradient-start, 36%), #6610f2 var(--bg-gradient-end, 180%)) #b42cb5;color:#fff}.bg-gradient-pink-purple{--bslib-color-fg: #fff;--bslib-color-bg: #b840a1;background:linear-gradient(var(--bg-gradient-deg, 140deg), #e83e8c var(--bg-gradient-start, 36%), #6f42c1 var(--bg-gradient-end, 180%)) #b840a1;color:#fff}.bg-gradient-pink-red{--bslib-color-fg: #fff;--bslib-color-bg: #db3062;background:linear-gradient(var(--bg-gradient-deg, 140deg), #e83e8c var(--bg-gradient-start, 36%), #c71c22 var(--bg-gradient-end, 180%)) #db3062;color:#fff}.bg-gradient-pink-orange{--bslib-color-fg: #fff;--bslib-color-bg: #f0585c;background:linear-gradient(var(--bg-gradient-deg, 140deg), #e83e8c var(--bg-gradient-start, 36%), #fd7e14 var(--bg-gradient-end, 180%)) #f0585c;color:#fff}.bg-gradient-pink-yellow{--bslib-color-fg: #fff;--bslib-color-bg: #e44854;background:linear-gradient(var(--bg-gradient-deg, 140deg), #e83e8c var(--bg-gradient-start, 36%), #dd5600 var(--bg-gradient-end, 180%)) #e44854;color:#fff}.bg-gradient-pink-green{--bslib-color-fg: #fff;--bslib-color-bg: #b9686b;background:linear-gradient(var(--bg-gradient-deg, 140deg), #e83e8c var(--bg-gradient-start, 36%), #73a839 var(--bg-gradient-end, 180%)) #b9686b;color:#fff}.bg-gradient-pink-teal{--bslib-color-fg: #fff;--bslib-color-bg: #987690;background:linear-gradient(var(--bg-gradient-deg, 140deg), #e83e8c var(--bg-gradient-start, 36%), #20c997 var(--bg-gradient-end, 180%)) #987690;color:#fff}.bg-gradient-pink-cyan{--bslib-color-fg: #fff;--bslib-color-bg: #9e67b0;background:linear-gradient(var(--bg-gradient-deg, 140deg), #e83e8c var(--bg-gradient-start, 36%), #2fa4e7 var(--bg-gradient-end, 180%)) #9e67b0;color:#fff}.bg-gradient-red-blue{--bslib-color-fg: #fff;--bslib-color-bg: #792942;background:linear-gradient(var(--bg-gradient-deg, 140deg), #c71c22 var(--bg-gradient-start, 36%), #033c73 var(--bg-gradient-end, 180%)) #792942;color:#fff}.bg-gradient-red-indigo{--bslib-color-fg: #fff;--bslib-color-bg: #a01775;background:linear-gradient(var(--bg-gradient-deg, 140deg), #c71c22 var(--bg-gradient-start, 36%), #6610f2 var(--bg-gradient-end, 180%)) #a01775;color:#fff}.bg-gradient-red-purple{--bslib-color-fg: #fff;--bslib-color-bg: #a42b62;background:linear-gradient(var(--bg-gradient-deg, 140deg), #c71c22 var(--bg-gradient-start, 36%), #6f42c1 var(--bg-gradient-end, 180%)) #a42b62;color:#fff}.bg-gradient-red-pink{--bslib-color-fg: #fff;--bslib-color-bg: #d42a4c;background:linear-gradient(var(--bg-gradient-deg, 140deg), #c71c22 var(--bg-gradient-start, 36%), #e83e8c var(--bg-gradient-end, 180%)) #d42a4c;color:#fff}.bg-gradient-red-orange{--bslib-color-fg: #fff;--bslib-color-bg: #dd431c;background:linear-gradient(var(--bg-gradient-deg, 140deg), #c71c22 var(--bg-gradient-start, 36%), #fd7e14 var(--bg-gradient-end, 180%)) #dd431c;color:#fff}.bg-gradient-red-yellow{--bslib-color-fg: #fff;--bslib-color-bg: #d03314;background:linear-gradient(var(--bg-gradient-deg, 140deg), #c71c22 var(--bg-gradient-start, 36%), #dd5600 var(--bg-gradient-end, 180%)) #d03314;color:#fff}.bg-gradient-red-green{--bslib-color-fg: #fff;--bslib-color-bg: #a5542b;background:linear-gradient(var(--bg-gradient-deg, 140deg), #c71c22 var(--bg-gradient-start, 36%), #73a839 var(--bg-gradient-end, 180%)) #a5542b;color:#fff}.bg-gradient-red-teal{--bslib-color-fg: #fff;--bslib-color-bg: #846151;background:linear-gradient(var(--bg-gradient-deg, 140deg), #c71c22 var(--bg-gradient-start, 36%), #20c997 var(--bg-gradient-end, 180%)) #846151;color:#fff}.bg-gradient-red-cyan{--bslib-color-fg: #fff;--bslib-color-bg: #8a5271;background:linear-gradient(var(--bg-gradient-deg, 140deg), #c71c22 var(--bg-gradient-start, 36%), #2fa4e7 var(--bg-gradient-end, 180%)) #8a5271;color:#fff}.bg-gradient-orange-blue{--bslib-color-fg: #fff;--bslib-color-bg: #99643a;background:linear-gradient(var(--bg-gradient-deg, 140deg), #fd7e14 var(--bg-gradient-start, 36%), #033c73 var(--bg-gradient-end, 180%)) #99643a;color:#fff}.bg-gradient-orange-indigo{--bslib-color-fg: #fff;--bslib-color-bg: #c1526d;background:linear-gradient(var(--bg-gradient-deg, 140deg), #fd7e14 var(--bg-gradient-start, 36%), #6610f2 var(--bg-gradient-end, 180%)) #c1526d;color:#fff}.bg-gradient-orange-purple{--bslib-color-fg: #fff;--bslib-color-bg: #c46659;background:linear-gradient(var(--bg-gradient-deg, 140deg), #fd7e14 var(--bg-gradient-start, 36%), #6f42c1 var(--bg-gradient-end, 180%)) #c46659;color:#fff}.bg-gradient-orange-pink{--bslib-color-fg: #fff;--bslib-color-bg: #f56444;background:linear-gradient(var(--bg-gradient-deg, 140deg), #fd7e14 var(--bg-gradient-start, 36%), #e83e8c var(--bg-gradient-end, 180%)) #f56444;color:#fff}.bg-gradient-orange-red{--bslib-color-fg: #fff;--bslib-color-bg: #e7571a;background:linear-gradient(var(--bg-gradient-deg, 140deg), #fd7e14 var(--bg-gradient-start, 36%), #c71c22 var(--bg-gradient-end, 180%)) #e7571a;color:#fff}.bg-gradient-orange-yellow{--bslib-color-fg: #fff;--bslib-color-bg: #f06e0c;background:linear-gradient(var(--bg-gradient-deg, 140deg), #fd7e14 var(--bg-gradient-start, 36%), #dd5600 var(--bg-gradient-end, 180%)) #f06e0c;color:#fff}.bg-gradient-orange-green{--bslib-color-fg: #fff;--bslib-color-bg: #c68f23;background:linear-gradient(var(--bg-gradient-deg, 140deg), #fd7e14 var(--bg-gradient-start, 36%), #73a839 var(--bg-gradient-end, 180%)) #c68f23;color:#fff}.bg-gradient-orange-teal{--bslib-color-fg: #fff;--bslib-color-bg: #a59c48;background:linear-gradient(var(--bg-gradient-deg, 140deg), #fd7e14 var(--bg-gradient-start, 36%), #20c997 var(--bg-gradient-end, 180%)) #a59c48;color:#fff}.bg-gradient-orange-cyan{--bslib-color-fg: #fff;--bslib-color-bg: #ab8d68;background:linear-gradient(var(--bg-gradient-deg, 140deg), #fd7e14 var(--bg-gradient-start, 36%), #2fa4e7 var(--bg-gradient-end, 180%)) #ab8d68;color:#fff}.bg-gradient-yellow-blue{--bslib-color-fg: #fff;--bslib-color-bg: #864c2e;background:linear-gradient(var(--bg-gradient-deg, 140deg), #dd5600 var(--bg-gradient-start, 36%), #033c73 var(--bg-gradient-end, 180%)) #864c2e;color:#fff}.bg-gradient-yellow-indigo{--bslib-color-fg: #fff;--bslib-color-bg: #ad3a61;background:linear-gradient(var(--bg-gradient-deg, 140deg), #dd5600 var(--bg-gradient-start, 36%), #6610f2 var(--bg-gradient-end, 180%)) #ad3a61;color:#fff}.bg-gradient-yellow-purple{--bslib-color-fg: #fff;--bslib-color-bg: #b14e4d;background:linear-gradient(var(--bg-gradient-deg, 140deg), #dd5600 var(--bg-gradient-start, 36%), #6f42c1 var(--bg-gradient-end, 180%)) #b14e4d;color:#fff}.bg-gradient-yellow-pink{--bslib-color-fg: #fff;--bslib-color-bg: #e14c38;background:linear-gradient(var(--bg-gradient-deg, 140deg), #dd5600 var(--bg-gradient-start, 36%), #e83e8c var(--bg-gradient-end, 180%)) #e14c38;color:#fff}.bg-gradient-yellow-red{--bslib-color-fg: #fff;--bslib-color-bg: #d43f0e;background:linear-gradient(var(--bg-gradient-deg, 140deg), #dd5600 var(--bg-gradient-start, 36%), #c71c22 var(--bg-gradient-end, 180%)) #d43f0e;color:#fff}.bg-gradient-yellow-orange{--bslib-color-fg: #fff;--bslib-color-bg: #ea6608;background:linear-gradient(var(--bg-gradient-deg, 140deg), #dd5600 var(--bg-gradient-start, 36%), #fd7e14 var(--bg-gradient-end, 180%)) #ea6608;color:#fff}.bg-gradient-yellow-green{--bslib-color-fg: #fff;--bslib-color-bg: #b37717;background:linear-gradient(var(--bg-gradient-deg, 140deg), #dd5600 var(--bg-gradient-start, 36%), #73a839 var(--bg-gradient-end, 180%)) #b37717;color:#fff}.bg-gradient-yellow-teal{--bslib-color-fg: #fff;--bslib-color-bg: #91843c;background:linear-gradient(var(--bg-gradient-deg, 140deg), #dd5600 var(--bg-gradient-start, 36%), #20c997 var(--bg-gradient-end, 180%)) #91843c;color:#fff}.bg-gradient-yellow-cyan{--bslib-color-fg: #fff;--bslib-color-bg: #97755c;background:linear-gradient(var(--bg-gradient-deg, 140deg), #dd5600 var(--bg-gradient-start, 36%), #2fa4e7 var(--bg-gradient-end, 180%)) #97755c;color:#fff}.bg-gradient-green-blue{--bslib-color-fg: #fff;--bslib-color-bg: #467d50;background:linear-gradient(var(--bg-gradient-deg, 140deg), #73a839 var(--bg-gradient-start, 36%), #033c73 var(--bg-gradient-end, 180%)) #467d50;color:#fff}.bg-gradient-green-indigo{--bslib-color-fg: #fff;--bslib-color-bg: #6e6b83;background:linear-gradient(var(--bg-gradient-deg, 140deg), #73a839 var(--bg-gradient-start, 36%), #6610f2 var(--bg-gradient-end, 180%)) #6e6b83;color:#fff}.bg-gradient-green-purple{--bslib-color-fg: #fff;--bslib-color-bg: #717f6f;background:linear-gradient(var(--bg-gradient-deg, 140deg), #73a839 var(--bg-gradient-start, 36%), #6f42c1 var(--bg-gradient-end, 180%)) #717f6f;color:#fff}.bg-gradient-green-pink{--bslib-color-fg: #fff;--bslib-color-bg: #a27e5a;background:linear-gradient(var(--bg-gradient-deg, 140deg), #73a839 var(--bg-gradient-start, 36%), #e83e8c var(--bg-gradient-end, 180%)) #a27e5a;color:#fff}.bg-gradient-green-red{--bslib-color-fg: #fff;--bslib-color-bg: #957030;background:linear-gradient(var(--bg-gradient-deg, 140deg), #73a839 var(--bg-gradient-start, 36%), #c71c22 var(--bg-gradient-end, 180%)) #957030;color:#fff}.bg-gradient-green-orange{--bslib-color-fg: #fff;--bslib-color-bg: #aa972a;background:linear-gradient(var(--bg-gradient-deg, 140deg), #73a839 var(--bg-gradient-start, 36%), #fd7e14 var(--bg-gradient-end, 180%)) #aa972a;color:#fff}.bg-gradient-green-yellow{--bslib-color-fg: #fff;--bslib-color-bg: #9d8722;background:linear-gradient(var(--bg-gradient-deg, 140deg), #73a839 var(--bg-gradient-start, 36%), #dd5600 var(--bg-gradient-end, 180%)) #9d8722;color:#fff}.bg-gradient-green-teal{--bslib-color-fg: #000;--bslib-color-bg: #52b55f;background:linear-gradient(var(--bg-gradient-deg, 140deg), #73a839 var(--bg-gradient-start, 36%), #20c997 var(--bg-gradient-end, 180%)) #52b55f;color:#000}.bg-gradient-green-cyan{--bslib-color-fg: #fff;--bslib-color-bg: #58a67f;background:linear-gradient(var(--bg-gradient-deg, 140deg), #73a839 var(--bg-gradient-start, 36%), #2fa4e7 var(--bg-gradient-end, 180%)) #58a67f;color:#fff}.bg-gradient-teal-blue{--bslib-color-fg: #fff;--bslib-color-bg: #149189;background:linear-gradient(var(--bg-gradient-deg, 140deg), #20c997 var(--bg-gradient-start, 36%), #033c73 var(--bg-gradient-end, 180%)) #149189;color:#fff}.bg-gradient-teal-indigo{--bslib-color-fg: #fff;--bslib-color-bg: #3c7fbb;background:linear-gradient(var(--bg-gradient-deg, 140deg), #20c997 var(--bg-gradient-start, 36%), #6610f2 var(--bg-gradient-end, 180%)) #3c7fbb;color:#fff}.bg-gradient-teal-purple{--bslib-color-fg: #fff;--bslib-color-bg: #4093a8;background:linear-gradient(var(--bg-gradient-deg, 140deg), #20c997 var(--bg-gradient-start, 36%), #6f42c1 var(--bg-gradient-end, 180%)) #4093a8;color:#fff}.bg-gradient-teal-pink{--bslib-color-fg: #fff;--bslib-color-bg: #709193;background:linear-gradient(var(--bg-gradient-deg, 140deg), #20c997 var(--bg-gradient-start, 36%), #e83e8c var(--bg-gradient-end, 180%)) #709193;color:#fff}.bg-gradient-teal-red{--bslib-color-fg: #fff;--bslib-color-bg: #638468;background:linear-gradient(var(--bg-gradient-deg, 140deg), #20c997 var(--bg-gradient-start, 36%), #c71c22 var(--bg-gradient-end, 180%)) #638468;color:#fff}.bg-gradient-teal-orange{--bslib-color-fg: #000;--bslib-color-bg: #78ab63;background:linear-gradient(var(--bg-gradient-deg, 140deg), #20c997 var(--bg-gradient-start, 36%), #fd7e14 var(--bg-gradient-end, 180%)) #78ab63;color:#000}.bg-gradient-teal-yellow{--bslib-color-fg: #fff;--bslib-color-bg: #6c9b5b;background:linear-gradient(var(--bg-gradient-deg, 140deg), #20c997 var(--bg-gradient-start, 36%), #dd5600 var(--bg-gradient-end, 180%)) #6c9b5b;color:#fff}.bg-gradient-teal-green{--bslib-color-fg: #000;--bslib-color-bg: #41bc71;background:linear-gradient(var(--bg-gradient-deg, 140deg), #20c997 var(--bg-gradient-start, 36%), #73a839 var(--bg-gradient-end, 180%)) #41bc71;color:#000}.bg-gradient-teal-cyan{--bslib-color-fg: #000;--bslib-color-bg: #26bab7;background:linear-gradient(var(--bg-gradient-deg, 140deg), #20c997 var(--bg-gradient-start, 36%), #2fa4e7 var(--bg-gradient-end, 180%)) #26bab7;color:#000}.bg-gradient-cyan-blue{--bslib-color-fg: #fff;--bslib-color-bg: #1d7ab9;background:linear-gradient(var(--bg-gradient-deg, 140deg), #2fa4e7 var(--bg-gradient-start, 36%), #033c73 var(--bg-gradient-end, 180%)) #1d7ab9;color:#fff}.bg-gradient-cyan-indigo{--bslib-color-fg: #fff;--bslib-color-bg: #4569eb;background:linear-gradient(var(--bg-gradient-deg, 140deg), #2fa4e7 var(--bg-gradient-start, 36%), #6610f2 var(--bg-gradient-end, 180%)) #4569eb;color:#fff}.bg-gradient-cyan-purple{--bslib-color-fg: #fff;--bslib-color-bg: #497dd8;background:linear-gradient(var(--bg-gradient-deg, 140deg), #2fa4e7 var(--bg-gradient-start, 36%), #6f42c1 var(--bg-gradient-end, 180%)) #497dd8;color:#fff}.bg-gradient-cyan-pink{--bslib-color-fg: #fff;--bslib-color-bg: #797bc3;background:linear-gradient(var(--bg-gradient-deg, 140deg), #2fa4e7 var(--bg-gradient-start, 36%), #e83e8c var(--bg-gradient-end, 180%)) #797bc3;color:#fff}.bg-gradient-cyan-red{--bslib-color-fg: #fff;--bslib-color-bg: #6c6e98;background:linear-gradient(var(--bg-gradient-deg, 140deg), #2fa4e7 var(--bg-gradient-start, 36%), #c71c22 var(--bg-gradient-end, 180%)) #6c6e98;color:#fff}.bg-gradient-cyan-orange{--bslib-color-fg: #fff;--bslib-color-bg: #819593;background:linear-gradient(var(--bg-gradient-deg, 140deg), #2fa4e7 var(--bg-gradient-start, 36%), #fd7e14 var(--bg-gradient-end, 180%)) #819593;color:#fff}.bg-gradient-cyan-yellow{--bslib-color-fg: #fff;--bslib-color-bg: #75858b;background:linear-gradient(var(--bg-gradient-deg, 140deg), #2fa4e7 var(--bg-gradient-start, 36%), #dd5600 var(--bg-gradient-end, 180%)) #75858b;color:#fff}.bg-gradient-cyan-green{--bslib-color-fg: #fff;--bslib-color-bg: #4aa6a1;background:linear-gradient(var(--bg-gradient-deg, 140deg), #2fa4e7 var(--bg-gradient-start, 36%), #73a839 var(--bg-gradient-end, 180%)) #4aa6a1;color:#fff}.bg-gradient-cyan-teal{--bslib-color-fg: #000;--bslib-color-bg: #29b3c7;background:linear-gradient(var(--bg-gradient-deg, 140deg), #2fa4e7 var(--bg-gradient-start, 36%), #20c997 var(--bg-gradient-end, 180%)) #29b3c7;color:#000}:root{--bslib-value-box-shadow: none;--bslib-value-box-border-width-auto-yes: var(--bslib-value-box-border-width-baseline);--bslib-value-box-border-width-auto-no: 0;--bslib-value-box-border-width-baseline: 1px}.bslib-value-box{border-width:var(--bslib-value-box-border-width-auto-no, var(--bslib-value-box-border-width-baseline));container-name:bslib-value-box;container-type:inline-size}.bslib-value-box.card{box-shadow:var(--bslib-value-box-shadow)}.bslib-value-box.border-auto{border-width:var(--bslib-value-box-border-width-auto-yes, var(--bslib-value-box-border-width-baseline))}.bslib-value-box.default{--bslib-value-box-bg-default: var(--bs-card-bg, #fff);--bslib-value-box-border-color-default: var(--bs-card-border-color, rgba(0, 0, 0, 0.175));color:var(--bslib-value-box-color);background-color:var(--bslib-value-box-bg, var(--bslib-value-box-bg-default));border-color:var(--bslib-value-box-border-color, var(--bslib-value-box-border-color-default))}.bslib-value-box .value-box-grid{display:grid;grid-template-areas:"left right";align-items:center;overflow:hidden}.bslib-value-box .value-box-showcase{height:100%;max-height:var(---bslib-value-box-showcase-max-h, 100%)}.bslib-value-box .value-box-showcase,.bslib-value-box .value-box-showcase>.html-fill-item{width:100%}.bslib-value-box[data-full-screen=true] .value-box-showcase{max-height:var(---bslib-value-box-showcase-max-h-fs, 100%)}@media screen and (min-width: 575.98px){@container bslib-value-box (max-width: 300px){.bslib-value-box:not(.showcase-bottom) .value-box-grid{grid-template-columns:1fr !important;grid-template-rows:auto auto;grid-template-areas:"top" "bottom"}.bslib-value-box:not(.showcase-bottom) .value-box-grid .value-box-showcase{grid-area:top !important}.bslib-value-box:not(.showcase-bottom) .value-box-grid .value-box-area{grid-area:bottom !important;justify-content:end}}}.bslib-value-box .value-box-area{justify-content:center;padding:1.5rem 1rem;font-size:.9rem;font-weight:500}.bslib-value-box .value-box-area *{margin-bottom:0;margin-top:0}.bslib-value-box .value-box-title{font-size:1rem;margin-top:0;margin-bottom:.5rem;font-weight:400;line-height:1.2}.bslib-value-box .value-box-title:empty::after{content:" "}.bslib-value-box .value-box-value{font-size:calc(1.29rem + 0.48vw);margin-top:0;margin-bottom:.5rem;font-weight:400;line-height:1.2}@media(min-width: 1200px){.bslib-value-box .value-box-value{font-size:1.65rem}}.bslib-value-box .value-box-value:empty::after{content:" "}.bslib-value-box .value-box-showcase{align-items:center;justify-content:center;margin-top:auto;margin-bottom:auto;padding:1rem}.bslib-value-box .value-box-showcase .bi,.bslib-value-box .value-box-showcase .fa,.bslib-value-box .value-box-showcase .fab,.bslib-value-box .value-box-showcase .fas,.bslib-value-box .value-box-showcase .far{opacity:.85;min-width:50px;max-width:125%}.bslib-value-box .value-box-showcase .bi,.bslib-value-box .value-box-showcase .fa,.bslib-value-box .value-box-showcase .fab,.bslib-value-box .value-box-showcase .fas,.bslib-value-box .value-box-showcase .far{font-size:4rem}.bslib-value-box.showcase-top-right .value-box-grid{grid-template-columns:1fr var(---bslib-value-box-showcase-w, 50%)}.bslib-value-box.showcase-top-right .value-box-grid .value-box-showcase{grid-area:right;margin-left:auto;align-self:start;align-items:end;padding-left:0;padding-bottom:0}.bslib-value-box.showcase-top-right .value-box-grid .value-box-area{grid-area:left;align-self:end}.bslib-value-box.showcase-top-right[data-full-screen=true] .value-box-grid{grid-template-columns:auto var(---bslib-value-box-showcase-w-fs, 1fr)}.bslib-value-box.showcase-top-right[data-full-screen=true] .value-box-grid>div{align-self:center}.bslib-value-box.showcase-top-right:not([data-full-screen=true]) .value-box-showcase{margin-top:0}@container bslib-value-box (max-width: 300px){.bslib-value-box.showcase-top-right:not([data-full-screen=true]) .value-box-grid .value-box-showcase{padding-left:1rem}}.bslib-value-box.showcase-left-center .value-box-grid{grid-template-columns:var(---bslib-value-box-showcase-w, 30%) auto}.bslib-value-box.showcase-left-center[data-full-screen=true] .value-box-grid{grid-template-columns:var(---bslib-value-box-showcase-w-fs, 1fr) auto}.bslib-value-box.showcase-left-center:not([data-fill-screen=true]) .value-box-grid .value-box-showcase{grid-area:left}.bslib-value-box.showcase-left-center:not([data-fill-screen=true]) .value-box-grid .value-box-area{grid-area:right}.bslib-value-box.showcase-bottom .value-box-grid{grid-template-columns:1fr;grid-template-rows:1fr var(---bslib-value-box-showcase-h, auto);grid-template-areas:"top" "bottom";overflow:hidden}.bslib-value-box.showcase-bottom .value-box-grid .value-box-showcase{grid-area:bottom;padding:0;margin:0}.bslib-value-box.showcase-bottom .value-box-grid .value-box-area{grid-area:top}.bslib-value-box.showcase-bottom[data-full-screen=true] .value-box-grid{grid-template-rows:1fr var(---bslib-value-box-showcase-h-fs, 2fr)}.bslib-value-box.showcase-bottom[data-full-screen=true] .value-box-grid .value-box-showcase{padding:1rem}[data-bs-theme=dark] .bslib-value-box{--bslib-value-box-shadow: 0 0.5rem 1rem rgb(0 0 0 / 50%)}@media(min-width: 576px){.nav:not(.nav-hidden){display:flex !important;display:-webkit-flex !important}.nav:not(.nav-hidden):not(.nav-stacked):not(.flex-column){float:none !important}.nav:not(.nav-hidden):not(.nav-stacked):not(.flex-column)>.bslib-nav-spacer{margin-left:auto !important}.nav:not(.nav-hidden):not(.nav-stacked):not(.flex-column)>.form-inline{margin-top:auto;margin-bottom:auto}.nav:not(.nav-hidden).nav-stacked{flex-direction:column;-webkit-flex-direction:column;height:100%}.nav:not(.nav-hidden).nav-stacked>.bslib-nav-spacer{margin-top:auto !important}}.bslib-card{overflow:auto}.bslib-card .card-body+.card-body{padding-top:0}.bslib-card .card-body{overflow:auto}.bslib-card .card-body p{margin-top:0}.bslib-card .card-body p:last-child{margin-bottom:0}.bslib-card .card-body{max-height:var(--bslib-card-body-max-height, none)}.bslib-card[data-full-screen=true]>.card-body{max-height:var(--bslib-card-body-max-height-full-screen, none)}.bslib-card .card-header .form-group{margin-bottom:0}.bslib-card .card-header .selectize-control{margin-bottom:0}.bslib-card .card-header .selectize-control .item{margin-right:1.15rem}.bslib-card .card-footer{margin-top:auto}.bslib-card .bslib-navs-card-title{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center}.bslib-card .bslib-navs-card-title .nav{margin-left:auto}.bslib-card .bslib-sidebar-layout:not([data-bslib-sidebar-border=true]){border:none}.bslib-card .bslib-sidebar-layout:not([data-bslib-sidebar-border-radius=true]){border-top-left-radius:0;border-top-right-radius:0}[data-full-screen=true]{position:fixed;inset:3.5rem 1rem 1rem;height:auto !important;max-height:none !important;width:auto !important;z-index:1070}.bslib-full-screen-enter{display:none;position:absolute;bottom:var(--bslib-full-screen-enter-bottom, 0.2rem);right:var(--bslib-full-screen-enter-right, 0);top:var(--bslib-full-screen-enter-top);left:var(--bslib-full-screen-enter-left);color:var(--bslib-color-fg, var(--bs-card-color));background-color:var(--bslib-color-bg, var(--bs-card-bg, var(--bs-body-bg)));border:var(--bs-card-border-width) solid var(--bslib-color-fg, var(--bs-card-border-color));box-shadow:0 2px 4px rgba(0,0,0,.15);margin:.2rem .4rem;padding:.55rem !important;font-size:.8rem;cursor:pointer;opacity:.7;z-index:1070}.bslib-full-screen-enter:hover{opacity:1}.card[data-full-screen=false]:hover>*>.bslib-full-screen-enter{display:block}.bslib-has-full-screen .card:hover>*>.bslib-full-screen-enter{display:none}@media(max-width: 575.98px){.bslib-full-screen-enter{display:none !important}}.bslib-full-screen-exit{position:relative;top:1.35rem;font-size:.9rem;cursor:pointer;text-decoration:none;display:flex;float:right;margin-right:2.15rem;align-items:center;color:rgba(var(--bs-body-bg-rgb), 0.8)}.bslib-full-screen-exit:hover{color:rgba(var(--bs-body-bg-rgb), 1)}.bslib-full-screen-exit svg{margin-left:.5rem;font-size:1.5rem}#bslib-full-screen-overlay{position:fixed;inset:0;background-color:rgba(var(--bs-body-color-rgb), 0.6);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);z-index:1069;animation:bslib-full-screen-overlay-enter 400ms cubic-bezier(0.6, 0.02, 0.65, 1) forwards}@keyframes bslib-full-screen-overlay-enter{0%{opacity:0}100%{opacity:1}}.bslib-grid{display:grid !important;gap:var(--bslib-spacer, 1rem);height:var(--bslib-grid-height)}.bslib-grid.grid{grid-template-columns:repeat(var(--bs-columns, 12), minmax(0, 1fr));grid-template-rows:unset;grid-auto-rows:var(--bslib-grid--row-heights);--bslib-grid--row-heights--xs: unset;--bslib-grid--row-heights--sm: unset;--bslib-grid--row-heights--md: unset;--bslib-grid--row-heights--lg: unset;--bslib-grid--row-heights--xl: unset;--bslib-grid--row-heights--xxl: unset}.bslib-grid.grid.bslib-grid--row-heights--xs{--bslib-grid--row-heights: var(--bslib-grid--row-heights--xs)}@media(min-width: 576px){.bslib-grid.grid.bslib-grid--row-heights--sm{--bslib-grid--row-heights: var(--bslib-grid--row-heights--sm)}}@media(min-width: 768px){.bslib-grid.grid.bslib-grid--row-heights--md{--bslib-grid--row-heights: var(--bslib-grid--row-heights--md)}}@media(min-width: 992px){.bslib-grid.grid.bslib-grid--row-heights--lg{--bslib-grid--row-heights: var(--bslib-grid--row-heights--lg)}}@media(min-width: 1200px){.bslib-grid.grid.bslib-grid--row-heights--xl{--bslib-grid--row-heights: var(--bslib-grid--row-heights--xl)}}@media(min-width: 1400px){.bslib-grid.grid.bslib-grid--row-heights--xxl{--bslib-grid--row-heights: var(--bslib-grid--row-heights--xxl)}}.bslib-grid>*>.shiny-input-container{width:100%}.bslib-grid-item{grid-column:auto/span 1}@media(max-width: 767.98px){.bslib-grid-item{grid-column:1/-1}}@media(max-width: 575.98px){.bslib-grid{grid-template-columns:1fr !important;height:var(--bslib-grid-height-mobile)}.bslib-grid.grid{height:unset !important;grid-auto-rows:var(--bslib-grid--row-heights--xs, auto)}}.accordion .accordion-header{font-size:calc(1.29rem + 0.48vw);margin-top:0;margin-bottom:.5rem;font-weight:400;line-height:1.2;color:var(--bs-heading-color);margin-bottom:0}@media(min-width: 1200px){.accordion .accordion-header{font-size:1.65rem}}.accordion .accordion-icon:not(:empty){margin-right:.75rem;display:flex}.accordion .accordion-button:not(.collapsed){box-shadow:none}.accordion .accordion-button:not(.collapsed):focus{box-shadow:var(--bs-accordion-btn-focus-box-shadow)}.navbar+.container-fluid:has(>.tab-content>.tab-pane.active.html-fill-container),.navbar+.container-sm:has(>.tab-content>.tab-pane.active.html-fill-container),.navbar+.container-md:has(>.tab-content>.tab-pane.active.html-fill-container),.navbar+.container-lg:has(>.tab-content>.tab-pane.active.html-fill-container),.navbar+.container-xl:has(>.tab-content>.tab-pane.active.html-fill-container),.navbar+.container-xxl:has(>.tab-content>.tab-pane.active.html-fill-container){padding-left:0;padding-right:0}.navbar+.container-fluid>.tab-content>.tab-pane.active.html-fill-container,.navbar+.container-sm>.tab-content>.tab-pane.active.html-fill-container,.navbar+.container-md>.tab-content>.tab-pane.active.html-fill-container,.navbar+.container-lg>.tab-content>.tab-pane.active.html-fill-container,.navbar+.container-xl>.tab-content>.tab-pane.active.html-fill-container,.navbar+.container-xxl>.tab-content>.tab-pane.active.html-fill-container{padding:var(--bslib-spacer, 1rem);gap:var(--bslib-spacer, 1rem)}.navbar+.container-fluid>.tab-content>.tab-pane.active.html-fill-container:has(>.bslib-sidebar-layout:only-child),.navbar+.container-sm>.tab-content>.tab-pane.active.html-fill-container:has(>.bslib-sidebar-layout:only-child),.navbar+.container-md>.tab-content>.tab-pane.active.html-fill-container:has(>.bslib-sidebar-layout:only-child),.navbar+.container-lg>.tab-content>.tab-pane.active.html-fill-container:has(>.bslib-sidebar-layout:only-child),.navbar+.container-xl>.tab-content>.tab-pane.active.html-fill-container:has(>.bslib-sidebar-layout:only-child),.navbar+.container-xxl>.tab-content>.tab-pane.active.html-fill-container:has(>.bslib-sidebar-layout:only-child){padding:0}.navbar+.container-fluid>.tab-content>.tab-pane.active.html-fill-container>.bslib-sidebar-layout:only-child:not([data-bslib-sidebar-border=true]),.navbar+.container-sm>.tab-content>.tab-pane.active.html-fill-container>.bslib-sidebar-layout:only-child:not([data-bslib-sidebar-border=true]),.navbar+.container-md>.tab-content>.tab-pane.active.html-fill-container>.bslib-sidebar-layout:only-child:not([data-bslib-sidebar-border=true]),.navbar+.container-lg>.tab-content>.tab-pane.active.html-fill-container>.bslib-sidebar-layout:only-child:not([data-bslib-sidebar-border=true]),.navbar+.container-xl>.tab-content>.tab-pane.active.html-fill-container>.bslib-sidebar-layout:only-child:not([data-bslib-sidebar-border=true]),.navbar+.container-xxl>.tab-content>.tab-pane.active.html-fill-container>.bslib-sidebar-layout:only-child:not([data-bslib-sidebar-border=true]){border-left:none;border-right:none;border-bottom:none}.navbar+.container-fluid>.tab-content>.tab-pane.active.html-fill-container>.bslib-sidebar-layout:only-child:not([data-bslib-sidebar-border-radius=true]),.navbar+.container-sm>.tab-content>.tab-pane.active.html-fill-container>.bslib-sidebar-layout:only-child:not([data-bslib-sidebar-border-radius=true]),.navbar+.container-md>.tab-content>.tab-pane.active.html-fill-container>.bslib-sidebar-layout:only-child:not([data-bslib-sidebar-border-radius=true]),.navbar+.container-lg>.tab-content>.tab-pane.active.html-fill-container>.bslib-sidebar-layout:only-child:not([data-bslib-sidebar-border-radius=true]),.navbar+.container-xl>.tab-content>.tab-pane.active.html-fill-container>.bslib-sidebar-layout:only-child:not([data-bslib-sidebar-border-radius=true]),.navbar+.container-xxl>.tab-content>.tab-pane.active.html-fill-container>.bslib-sidebar-layout:only-child:not([data-bslib-sidebar-border-radius=true]){border-radius:0}.navbar+div>.bslib-sidebar-layout{border-top:var(--bslib-sidebar-border)}html{height:100%}.bslib-page-fill{width:100%;height:100%;margin:0;padding:var(--bslib-spacer, 1rem);gap:var(--bslib-spacer, 1rem)}@media(max-width: 575.98px){.bslib-page-fill{height:var(--bslib-page-fill-mobile-height, auto)}}:root{--bslib-page-sidebar-title-bg: #2fa4e7;--bslib-page-sidebar-title-color: #fff}.bslib-page-title{background-color:var(--bslib-page-sidebar-title-bg);color:var(--bslib-page-sidebar-title-color);font-size:1.25rem;font-weight:300;padding:var(--bslib-spacer, 1rem);padding-left:1.5rem;margin-bottom:0;border-bottom:1px solid #dee2e6}.bslib-sidebar-layout{--bslib-sidebar-transition-duration: 500ms;--bslib-sidebar-transition-easing-x: cubic-bezier(0.8, 0.78, 0.22, 1.07);--bslib-sidebar-border: var(--bs-card-border-width, 1px) solid var(--bs-card-border-color, rgba(0, 0, 0, 0.175));--bslib-sidebar-border-radius: var(--bs-border-radius);--bslib-sidebar-vert-border: var(--bs-card-border-width, 1px) solid var(--bs-card-border-color, rgba(0, 0, 0, 0.175));--bslib-sidebar-bg: rgba(var(--bs-emphasis-color-rgb, 0, 0, 0), 0.05);--bslib-sidebar-fg: var(--bs-emphasis-color, black);--bslib-sidebar-main-fg: var(--bs-card-color, var(--bs-body-color));--bslib-sidebar-main-bg: var(--bs-card-bg, var(--bs-body-bg));--bslib-sidebar-toggle-bg: rgba(var(--bs-emphasis-color-rgb, 0, 0, 0), 0.1);--bslib-sidebar-padding: calc(var(--bslib-spacer) * 1.5);--bslib-sidebar-icon-size: var(--bslib-spacer, 1rem);--bslib-sidebar-icon-button-size: calc(var(--bslib-sidebar-icon-size, 1rem) * 2);--bslib-sidebar-padding-icon: calc(var(--bslib-sidebar-icon-button-size, 2rem) * 1.5);--bslib-collapse-toggle-border-radius: var(--bs-border-radius, 0.375rem);--bslib-collapse-toggle-transform: 0deg;--bslib-sidebar-toggle-transition-easing: cubic-bezier(1, 0, 0, 1);--bslib-collapse-toggle-right-transform: 180deg;--bslib-sidebar-column-main: minmax(0, 1fr);display:grid !important;grid-template-columns:min(100% - var(--bslib-sidebar-icon-size),var(--bslib-sidebar-width, 250px)) var(--bslib-sidebar-column-main);position:relative;transition:grid-template-columns ease-in-out var(--bslib-sidebar-transition-duration);border:var(--bslib-sidebar-border);border-radius:var(--bslib-sidebar-border-radius)}@media(prefers-reduced-motion: reduce){.bslib-sidebar-layout{transition:none}}.bslib-sidebar-layout[data-bslib-sidebar-border=false]{border:none}.bslib-sidebar-layout[data-bslib-sidebar-border-radius=false]{border-radius:initial}.bslib-sidebar-layout>.main,.bslib-sidebar-layout>.sidebar{grid-row:1/2;border-radius:inherit;overflow:auto}.bslib-sidebar-layout>.main{grid-column:2/3;border-top-left-radius:0;border-bottom-left-radius:0;padding:var(--bslib-sidebar-padding);transition:padding var(--bslib-sidebar-transition-easing-x) var(--bslib-sidebar-transition-duration);color:var(--bslib-sidebar-main-fg);background-color:var(--bslib-sidebar-main-bg)}.bslib-sidebar-layout>.sidebar{grid-column:1/2;width:100%;height:100%;border-right:var(--bslib-sidebar-vert-border);border-top-right-radius:0;border-bottom-right-radius:0;color:var(--bslib-sidebar-fg);background-color:var(--bslib-sidebar-bg);backdrop-filter:blur(5px)}.bslib-sidebar-layout>.sidebar>.sidebar-content{display:flex;flex-direction:column;gap:var(--bslib-spacer, 1rem);padding:var(--bslib-sidebar-padding);padding-top:var(--bslib-sidebar-padding-icon)}.bslib-sidebar-layout>.sidebar>.sidebar-content>:last-child:not(.sidebar-title){margin-bottom:0}.bslib-sidebar-layout>.sidebar>.sidebar-content>.accordion{margin-left:calc(-1*var(--bslib-sidebar-padding));margin-right:calc(-1*var(--bslib-sidebar-padding))}.bslib-sidebar-layout>.sidebar>.sidebar-content>.accordion:last-child{margin-bottom:calc(-1*var(--bslib-sidebar-padding))}.bslib-sidebar-layout>.sidebar>.sidebar-content>.accordion:not(:last-child){margin-bottom:1rem}.bslib-sidebar-layout>.sidebar>.sidebar-content>.accordion .accordion-body{display:flex;flex-direction:column}.bslib-sidebar-layout>.sidebar>.sidebar-content>.accordion:not(:first-child) .accordion-item:first-child{border-top:var(--bs-accordion-border-width) solid var(--bs-accordion-border-color)}.bslib-sidebar-layout>.sidebar>.sidebar-content>.accordion:not(:last-child) .accordion-item:last-child{border-bottom:var(--bs-accordion-border-width) solid var(--bs-accordion-border-color)}.bslib-sidebar-layout>.sidebar>.sidebar-content.has-accordion>.sidebar-title{border-bottom:none;padding-bottom:0}.bslib-sidebar-layout>.sidebar .shiny-input-container{width:100%}.bslib-sidebar-layout[data-bslib-sidebar-open=always]>.sidebar>.sidebar-content{padding-top:var(--bslib-sidebar-padding)}.bslib-sidebar-layout>.collapse-toggle{grid-row:1/2;grid-column:1/2;display:inline-flex;align-items:center;position:absolute;right:calc(var(--bslib-sidebar-icon-size));top:calc(var(--bslib-sidebar-icon-size, 1rem)/2);border:none;border-radius:var(--bslib-collapse-toggle-border-radius);height:var(--bslib-sidebar-icon-button-size, 2rem);width:var(--bslib-sidebar-icon-button-size, 2rem);display:flex;align-items:center;justify-content:center;padding:0;color:var(--bslib-sidebar-fg);background-color:unset;transition:color var(--bslib-sidebar-transition-easing-x) var(--bslib-sidebar-transition-duration),top var(--bslib-sidebar-transition-easing-x) var(--bslib-sidebar-transition-duration),right var(--bslib-sidebar-transition-easing-x) var(--bslib-sidebar-transition-duration),left var(--bslib-sidebar-transition-easing-x) var(--bslib-sidebar-transition-duration)}.bslib-sidebar-layout>.collapse-toggle:hover{background-color:var(--bslib-sidebar-toggle-bg)}.bslib-sidebar-layout>.collapse-toggle>.collapse-icon{opacity:.8;width:var(--bslib-sidebar-icon-size);height:var(--bslib-sidebar-icon-size);transform:rotateY(var(--bslib-collapse-toggle-transform));transition:transform var(--bslib-sidebar-toggle-transition-easing) var(--bslib-sidebar-transition-duration)}.bslib-sidebar-layout>.collapse-toggle:hover>.collapse-icon{opacity:1}.bslib-sidebar-layout .sidebar-title{font-size:1.25rem;line-height:1.25;margin-top:0;margin-bottom:1rem;padding-bottom:1rem;border-bottom:var(--bslib-sidebar-border)}.bslib-sidebar-layout.sidebar-right{grid-template-columns:var(--bslib-sidebar-column-main) min(100% - var(--bslib-sidebar-icon-size),var(--bslib-sidebar-width, 250px))}.bslib-sidebar-layout.sidebar-right>.main{grid-column:1/2;border-top-right-radius:0;border-bottom-right-radius:0;border-top-left-radius:inherit;border-bottom-left-radius:inherit}.bslib-sidebar-layout.sidebar-right>.sidebar{grid-column:2/3;border-right:none;border-left:var(--bslib-sidebar-vert-border);border-top-left-radius:0;border-bottom-left-radius:0}.bslib-sidebar-layout.sidebar-right>.collapse-toggle{grid-column:2/3;left:var(--bslib-sidebar-icon-size);right:unset;border:var(--bslib-collapse-toggle-border)}.bslib-sidebar-layout.sidebar-right>.collapse-toggle>.collapse-icon{transform:rotateY(var(--bslib-collapse-toggle-right-transform))}.bslib-sidebar-layout.sidebar-collapsed{--bslib-collapse-toggle-transform: 180deg;--bslib-collapse-toggle-right-transform: 0deg;--bslib-sidebar-vert-border: none;grid-template-columns:0 minmax(0, 1fr)}.bslib-sidebar-layout.sidebar-collapsed.sidebar-right{grid-template-columns:minmax(0, 1fr) 0}.bslib-sidebar-layout.sidebar-collapsed:not(.transitioning)>.sidebar>*{display:none}.bslib-sidebar-layout.sidebar-collapsed>.main{border-radius:inherit}.bslib-sidebar-layout.sidebar-collapsed:not(.sidebar-right)>.main{padding-left:var(--bslib-sidebar-padding-icon)}.bslib-sidebar-layout.sidebar-collapsed.sidebar-right>.main{padding-right:var(--bslib-sidebar-padding-icon)}.bslib-sidebar-layout.sidebar-collapsed>.collapse-toggle{color:var(--bslib-sidebar-main-fg);top:calc(var(--bslib-sidebar-overlap-counter, 0)*(var(--bslib-sidebar-icon-size) + var(--bslib-sidebar-padding)) + var(--bslib-sidebar-icon-size, 1rem)/2);right:calc(-2.5*var(--bslib-sidebar-icon-size) - var(--bs-card-border-width, 1px))}.bslib-sidebar-layout.sidebar-collapsed.sidebar-right>.collapse-toggle{left:calc(-2.5*var(--bslib-sidebar-icon-size) - var(--bs-card-border-width, 1px));right:unset}@media(min-width: 576px){.bslib-sidebar-layout.transitioning>.sidebar>.sidebar-content{display:none}}@media(max-width: 575.98px){.bslib-sidebar-layout[data-bslib-sidebar-open=desktop]{--bslib-sidebar-js-init-collapsed: true}.bslib-sidebar-layout>.sidebar,.bslib-sidebar-layout.sidebar-right>.sidebar{border:none}.bslib-sidebar-layout>.main,.bslib-sidebar-layout.sidebar-right>.main{grid-column:1/3}.bslib-sidebar-layout[data-bslib-sidebar-open=always]{display:block !important}.bslib-sidebar-layout[data-bslib-sidebar-open=always]>.sidebar{max-height:var(--bslib-sidebar-max-height-mobile);overflow-y:auto;border-top:var(--bslib-sidebar-vert-border)}.bslib-sidebar-layout:not([data-bslib-sidebar-open=always]){grid-template-columns:100% 0}.bslib-sidebar-layout:not([data-bslib-sidebar-open=always]):not(.sidebar-collapsed)>.sidebar{z-index:1}.bslib-sidebar-layout:not([data-bslib-sidebar-open=always]):not(.sidebar-collapsed)>.collapse-toggle{z-index:1}.bslib-sidebar-layout:not([data-bslib-sidebar-open=always]).sidebar-right{grid-template-columns:0 100%}.bslib-sidebar-layout:not([data-bslib-sidebar-open=always]).sidebar-collapsed{grid-template-columns:0 100%}.bslib-sidebar-layout:not([data-bslib-sidebar-open=always]).sidebar-collapsed.sidebar-right{grid-template-columns:100% 0}.bslib-sidebar-layout:not([data-bslib-sidebar-open=always]):not(.sidebar-right)>.main{padding-left:var(--bslib-sidebar-padding-icon)}.bslib-sidebar-layout:not([data-bslib-sidebar-open=always]).sidebar-right>.main{padding-right:var(--bslib-sidebar-padding-icon)}.bslib-sidebar-layout:not([data-bslib-sidebar-open=always])>.main{opacity:0;transition:opacity var(--bslib-sidebar-transition-easing-x) var(--bslib-sidebar-transition-duration)}.bslib-sidebar-layout:not([data-bslib-sidebar-open=always]).sidebar-collapsed>.main{opacity:1}}.html-fill-container{display:flex;flex-direction:column;min-height:0;min-width:0}.html-fill-container>.html-fill-item{flex:1 1 auto;min-height:0;min-width:0}.html-fill-container>:not(.html-fill-item){flex:0 0 auto}.tippy-box[data-theme~=quarto]{background-color:#fff;border:solid 1px #dee2e6;border-radius:.375rem;color:#495057;font-size:.875rem}.tippy-box[data-theme~=quarto]>.tippy-backdrop{background-color:#fff}.tippy-box[data-theme~=quarto]>.tippy-arrow:after,.tippy-box[data-theme~=quarto]>.tippy-svg-arrow:after{content:"";position:absolute;z-index:-1}.tippy-box[data-theme~=quarto]>.tippy-arrow:after{border-color:rgba(0,0,0,0);border-style:solid}.tippy-box[data-placement^=top]>.tippy-arrow:before{bottom:-6px}.tippy-box[data-placement^=bottom]>.tippy-arrow:before{top:-6px}.tippy-box[data-placement^=right]>.tippy-arrow:before{left:-6px}.tippy-box[data-placement^=left]>.tippy-arrow:before{right:-6px}.tippy-box[data-theme~=quarto][data-placement^=top]>.tippy-arrow:before{border-top-color:#fff}.tippy-box[data-theme~=quarto][data-placement^=top]>.tippy-arrow:after{border-top-color:#dee2e6;border-width:7px 7px 0;top:17px;left:1px}.tippy-box[data-theme~=quarto][data-placement^=top]>.tippy-svg-arrow>svg{top:16px}.tippy-box[data-theme~=quarto][data-placement^=top]>.tippy-svg-arrow:after{top:17px}.tippy-box[data-theme~=quarto][data-placement^=bottom]>.tippy-arrow:before{border-bottom-color:#fff;bottom:16px}.tippy-box[data-theme~=quarto][data-placement^=bottom]>.tippy-arrow:after{border-bottom-color:#dee2e6;border-width:0 7px 7px;bottom:17px;left:1px}.tippy-box[data-theme~=quarto][data-placement^=bottom]>.tippy-svg-arrow>svg{bottom:15px}.tippy-box[data-theme~=quarto][data-placement^=bottom]>.tippy-svg-arrow:after{bottom:17px}.tippy-box[data-theme~=quarto][data-placement^=left]>.tippy-arrow:before{border-left-color:#fff}.tippy-box[data-theme~=quarto][data-placement^=left]>.tippy-arrow:after{border-left-color:#dee2e6;border-width:7px 0 7px 7px;left:17px;top:1px}.tippy-box[data-theme~=quarto][data-placement^=left]>.tippy-svg-arrow>svg{left:11px}.tippy-box[data-theme~=quarto][data-placement^=left]>.tippy-svg-arrow:after{left:12px}.tippy-box[data-theme~=quarto][data-placement^=right]>.tippy-arrow:before{border-right-color:#fff;right:16px}.tippy-box[data-theme~=quarto][data-placement^=right]>.tippy-arrow:after{border-width:7px 7px 7px 0;right:17px;top:1px;border-right-color:#dee2e6}.tippy-box[data-theme~=quarto][data-placement^=right]>.tippy-svg-arrow>svg{right:11px}.tippy-box[data-theme~=quarto][data-placement^=right]>.tippy-svg-arrow:after{right:12px}.tippy-box[data-theme~=quarto]>.tippy-svg-arrow{fill:#495057}.tippy-box[data-theme~=quarto]>.tippy-svg-arrow:after{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNMCA2czEuNzk2LS4wMTMgNC42Ny0zLjYxNUM1Ljg1MS45IDYuOTMuMDA2IDggMGMxLjA3LS4wMDYgMi4xNDguODg3IDMuMzQzIDIuMzg1QzE0LjIzMyA2LjAwNSAxNiA2IDE2IDZIMHoiIGZpbGw9InJnYmEoMCwgOCwgMTYsIDAuMikiLz48L3N2Zz4=);background-size:16px 6px;width:16px;height:6px}.top-right{position:absolute;top:1em;right:1em}.visually-hidden{border:0;clip:rect(0 0 0 0);height:auto;margin:0;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap}.hidden{display:none !important}.zindex-bottom{z-index:-1 !important}figure.figure{display:block}.quarto-layout-panel{margin-bottom:1em}.quarto-layout-panel>figure{width:100%}.quarto-layout-panel>figure>figcaption,.quarto-layout-panel>.panel-caption{margin-top:10pt}.quarto-layout-panel>.table-caption{margin-top:0px}.table-caption p{margin-bottom:.5em}.quarto-layout-row{display:flex;flex-direction:row;align-items:flex-start}.quarto-layout-valign-top{align-items:flex-start}.quarto-layout-valign-bottom{align-items:flex-end}.quarto-layout-valign-center{align-items:center}.quarto-layout-cell{position:relative;margin-right:20px}.quarto-layout-cell:last-child{margin-right:0}.quarto-layout-cell figure,.quarto-layout-cell>p{margin:.2em}.quarto-layout-cell img{max-width:100%}.quarto-layout-cell .html-widget{width:100% !important}.quarto-layout-cell div figure p{margin:0}.quarto-layout-cell figure{display:block;margin-inline-start:0;margin-inline-end:0}.quarto-layout-cell table{display:inline-table}.quarto-layout-cell-subref figcaption,figure .quarto-layout-row figure figcaption{text-align:center;font-style:italic}.quarto-figure{position:relative;margin-bottom:1em}.quarto-figure>figure{width:100%;margin-bottom:0}.quarto-figure-left>figure>p,.quarto-figure-left>figure>div{text-align:left}.quarto-figure-center>figure>p,.quarto-figure-center>figure>div{text-align:center}.quarto-figure-right>figure>p,.quarto-figure-right>figure>div{text-align:right}.quarto-figure>figure>div.cell-annotation,.quarto-figure>figure>div code{text-align:left}figure>p:empty{display:none}figure>p:first-child{margin-top:0;margin-bottom:0}figure>figcaption.quarto-float-caption-bottom{margin-bottom:.5em}figure>figcaption.quarto-float-caption-top{margin-top:.5em}div[id^=tbl-]{position:relative}.quarto-figure>.anchorjs-link{position:absolute;top:.6em;right:.5em}div[id^=tbl-]>.anchorjs-link{position:absolute;top:.7em;right:.3em}.quarto-figure:hover>.anchorjs-link,div[id^=tbl-]:hover>.anchorjs-link,h2:hover>.anchorjs-link,.h2:hover>.anchorjs-link,h3:hover>.anchorjs-link,.h3:hover>.anchorjs-link,h4:hover>.anchorjs-link,.h4:hover>.anchorjs-link,h5:hover>.anchorjs-link,.h5:hover>.anchorjs-link,h6:hover>.anchorjs-link,.h6:hover>.anchorjs-link,.reveal-anchorjs-link>.anchorjs-link{opacity:1}#title-block-header{margin-block-end:1rem;position:relative;margin-top:-1px}#title-block-header .abstract{margin-block-start:1rem}#title-block-header .abstract .abstract-title{font-weight:600}#title-block-header a{text-decoration:none}#title-block-header .author,#title-block-header .date,#title-block-header .doi{margin-block-end:.2rem}#title-block-header .quarto-title-block>div{display:flex}#title-block-header .quarto-title-block>div>h1,#title-block-header .quarto-title-block>div>.h1{flex-grow:1}#title-block-header .quarto-title-block>div>button{flex-shrink:0;height:2.25rem;margin-top:0}@media(min-width: 992px){#title-block-header .quarto-title-block>div>button{margin-top:5px}}tr.header>th>p:last-of-type{margin-bottom:0px}table,table.table{margin-top:.5rem;margin-bottom:.5rem}caption,.table-caption{padding-top:.5rem;padding-bottom:.5rem;text-align:center}figure.quarto-float-tbl figcaption.quarto-float-caption-top{margin-top:.5rem;margin-bottom:.25rem;text-align:center}figure.quarto-float-tbl figcaption.quarto-float-caption-bottom{padding-top:.25rem;margin-bottom:.5rem;text-align:center}.utterances{max-width:none;margin-left:-8px}iframe{margin-bottom:1em}details{margin-bottom:1em}details[show]{margin-bottom:0}details>summary{color:rgba(73,80,87,.75)}details>summary>p:only-child{display:inline}pre.sourceCode,code.sourceCode{position:relative}p code:not(.sourceCode){white-space:pre-wrap}code{white-space:pre}@media print{code{white-space:pre-wrap}}pre>code{display:block}pre>code.sourceCode{white-space:pre}pre>code.sourceCode>span>a:first-child::before{text-decoration:none}pre.code-overflow-wrap>code.sourceCode{white-space:pre-wrap}pre.code-overflow-scroll>code.sourceCode{white-space:pre}code a:any-link{color:inherit;text-decoration:none}code a:hover{color:inherit;text-decoration:underline}ul.task-list{padding-left:1em}[data-tippy-root]{display:inline-block}.tippy-content .footnote-back{display:none}.footnote-back{margin-left:.2em}.tippy-content{overflow-x:auto}.quarto-embedded-source-code{display:none}.quarto-unresolved-ref{font-weight:600}.quarto-cover-image{max-width:35%;float:right;margin-left:30px}.cell-output-display .widget-subarea{margin-bottom:1em}.cell-output-display:not(.no-overflow-x),.knitsql-table:not(.no-overflow-x){overflow-x:auto}.panel-input{margin-bottom:1em}.panel-input>div,.panel-input>div>div{display:inline-block;vertical-align:top;padding-right:12px}.panel-input>p:last-child{margin-bottom:0}.layout-sidebar{margin-bottom:1em}.layout-sidebar .tab-content{border:none}.tab-content>.page-columns.active{display:grid}div.sourceCode>iframe{width:100%;height:300px;margin-bottom:-0.5em}a{text-underline-offset:3px}div.ansi-escaped-output{font-family:monospace;display:block}/*! * * ansi colors from IPython notebook's * -*/.ansi-black-fg{color:#3e424d}.ansi-black-bg{background-color:#3e424d}.ansi-black-intense-fg{color:#282c36}.ansi-black-intense-bg{background-color:#282c36}.ansi-red-fg{color:#e75c58}.ansi-red-bg{background-color:#e75c58}.ansi-red-intense-fg{color:#b22b31}.ansi-red-intense-bg{background-color:#b22b31}.ansi-green-fg{color:#00a250}.ansi-green-bg{background-color:#00a250}.ansi-green-intense-fg{color:#007427}.ansi-green-intense-bg{background-color:#007427}.ansi-yellow-fg{color:#ddb62b}.ansi-yellow-bg{background-color:#ddb62b}.ansi-yellow-intense-fg{color:#b27d12}.ansi-yellow-intense-bg{background-color:#b27d12}.ansi-blue-fg{color:#208ffb}.ansi-blue-bg{background-color:#208ffb}.ansi-blue-intense-fg{color:#0065ca}.ansi-blue-intense-bg{background-color:#0065ca}.ansi-magenta-fg{color:#d160c4}.ansi-magenta-bg{background-color:#d160c4}.ansi-magenta-intense-fg{color:#a03196}.ansi-magenta-intense-bg{background-color:#a03196}.ansi-cyan-fg{color:#60c6c8}.ansi-cyan-bg{background-color:#60c6c8}.ansi-cyan-intense-fg{color:#258f8f}.ansi-cyan-intense-bg{background-color:#258f8f}.ansi-white-fg{color:#c5c1b4}.ansi-white-bg{background-color:#c5c1b4}.ansi-white-intense-fg{color:#a1a6b2}.ansi-white-intense-bg{background-color:#a1a6b2}.ansi-default-inverse-fg{color:#fff}.ansi-default-inverse-bg{background-color:#000}.ansi-bold{font-weight:bold}.ansi-underline{text-decoration:underline}:root{--quarto-body-bg: #fff;--quarto-body-color: #495057;--quarto-text-muted: #868e96;--quarto-border-color: #dee2e6;--quarto-border-width: 1px;--quarto-border-radius: 0.25rem}table.gt_table{color:var(--quarto-body-color);font-size:1em;width:100%;background-color:transparent;border-top-width:inherit;border-bottom-width:inherit;border-color:var(--quarto-border-color)}table.gt_table th.gt_column_spanner_outer{color:var(--quarto-body-color);background-color:transparent;border-top-width:inherit;border-bottom-width:inherit;border-color:var(--quarto-border-color)}table.gt_table th.gt_col_heading{color:var(--quarto-body-color);font-weight:bold;background-color:transparent}table.gt_table thead.gt_col_headings{border-bottom:1px solid currentColor;border-top-width:inherit;border-top-color:var(--quarto-border-color)}table.gt_table thead.gt_col_headings:not(:first-child){border-top-width:1px;border-top-color:var(--quarto-border-color)}table.gt_table td.gt_row{border-bottom-width:1px;border-bottom-color:var(--quarto-border-color);border-top-width:0px}table.gt_table tbody.gt_table_body{border-top-width:1px;border-bottom-width:1px;border-bottom-color:var(--quarto-border-color);border-top-color:currentColor}div.columns{display:initial;gap:initial}div.column{display:inline-block;overflow-x:initial;vertical-align:top;width:50%}@media print{:root{font-size:11pt}#quarto-sidebar,#TOC,.nav-page{display:none}.page-columns .content{grid-column-start:page-start}.fixed-top{position:relative}.panel-caption,.figure-caption,figcaption{color:#666}}.code-copy-button{position:absolute;top:0;right:0;border:0;margin-top:5px;margin-right:5px;background-color:transparent}.code-copy-button:focus{outline:none}.code-copy-button-tooltip{font-size:.75em}pre.sourceCode:hover>.code-copy-button>.bi::before{display:inline-block;height:1rem;width:1rem;content:"";vertical-align:-0.125em;background-image:url('data:image/svg+xml,');background-repeat:no-repeat;background-size:1rem 1rem}pre.sourceCode:hover>.code-copy-button-checked>.bi::before{background-image:url('data:image/svg+xml,')}pre.sourceCode:hover>.code-copy-button:hover>.bi::before{background-image:url('data:image/svg+xml,')}pre.sourceCode:hover>.code-copy-button-checked:hover>.bi::before{background-image:url('data:image/svg+xml,')}main ol ol,main ul ul,main ol ul,main ul ol{margin-bottom:1em}body{margin:0}main.page-columns>header>h1.title,main.page-columns>header>.title.h1{margin-bottom:0}@media(min-width: 992px){body .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset] 5fr [page-start page-start-inset] 35px [body-start-outset] 35px [body-start] 1.5em [body-content-start] minmax(500px, calc(850px - 3em)) [body-content-end] 1.5em [body-end] 35px [body-end-outset] minmax(75px, 145px) [page-end-inset] 35px [page-end] 5fr [screen-end-inset] 1.5em [screen-end]}body.fullcontent:not(.floating):not(.docked) .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset] 5fr [page-start page-start-inset] 35px [body-start-outset] 35px [body-start] 1.5em [body-content-start] minmax(500px, calc(850px - 3em)) [body-content-end] 1.5em [body-end] 35px [body-end-outset] 35px [page-end-inset page-end] 5fr [screen-end-inset] 1.5em [screen-end]}body.slimcontent:not(.floating):not(.docked) .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset] 5fr [page-start page-start-inset] 35px [body-start-outset] 35px [body-start] 1.5em [body-content-start] minmax(500px, calc(750px - 3em)) [body-content-end] 1.5em [body-end] 50px [body-end-outset] minmax(0px, 200px) [page-end-inset] 50px [page-end] 5fr [screen-end-inset] 1.5em [screen-end]}body.listing:not(.floating):not(.docked) .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset page-start] minmax(50px, 100px) [page-start-inset] 50px [body-start-outset] 50px [body-start] 1.5em [body-content-start] minmax(500px, calc(1200px - 3em)) [body-content-end] 3em [body-end] 50px [body-end-outset] minmax(0px, 250px) [page-end-inset] 50px [page-end] 1fr [screen-end-inset] 1.5em [screen-end]}body:not(.floating):not(.docked) .page-columns.toc-left{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset] 5fr [page-start] 35px [page-start-inset] minmax(0px, 175px) [body-start-outset] 35px [body-start] 1.5em [body-content-start] minmax(450px, calc(750px - 3em)) [body-content-end] 1.5em [body-end] 50px [body-end-outset] minmax(0px, 200px) [page-end-inset] 50px [page-end] 5fr [screen-end-inset] 1.5em [screen-end]}body:not(.floating):not(.docked) .page-columns.toc-left .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset] 5fr [page-start] 35px [page-start-inset] minmax(0px, 175px) [body-start-outset] 35px [body-start] 1.5em [body-content-start] minmax(450px, calc(750px - 3em)) [body-content-end] 1.5em [body-end] 50px [body-end-outset] minmax(0px, 200px) [page-end-inset] 50px [page-end] 5fr [screen-end-inset] 1.5em [screen-end]}body.floating .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset] 5fr [page-start] minmax(25px, 50px) [page-start-inset] minmax(50px, 150px) [body-start-outset] minmax(25px, 50px) [body-start] 1.5em [body-content-start] minmax(500px, calc(800px - 3em)) [body-content-end] 1.5em [body-end] minmax(25px, 50px) [body-end-outset] minmax(50px, 150px) [page-end-inset] minmax(25px, 50px) [page-end] 5fr [screen-end-inset] 1.5em [screen-end]}body.docked .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset page-start] minmax(50px, 100px) [page-start-inset] 50px [body-start-outset] 50px [body-start] 1.5em [body-content-start] minmax(500px, calc( 1000px - 3em )) [body-content-end] 1.5em [body-end] 50px [body-end-outset] minmax(0px, 100px) [page-end-inset] 50px [page-end] 5fr [screen-end-inset] 1.5em [screen-end]}body.docked.fullcontent .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset page-start] minmax(50px, 100px) [page-start-inset] 50px [body-start-outset] 50px [body-start] 1.5em [body-content-start] minmax(500px, calc( 1000px - 3em )) [body-content-end] 1.5em [body-end body-end-outset page-end-inset page-end] 5fr [screen-end-inset] 1.5em [screen-end]}body.floating.fullcontent .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset] 5fr [page-start] 50px [page-start-inset] minmax(50px, 150px) [body-start-outset] 50px [body-start] 1.5em [body-content-start] minmax(500px, calc(800px - 3em)) [body-content-end] 1.5em [body-end body-end-outset page-end-inset page-end] 5fr [screen-end-inset] 1.5em [screen-end]}body.docked.slimcontent .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset page-start] minmax(50px, 100px) [page-start-inset] 50px [body-start-outset] 50px [body-start] 1.5em [body-content-start] minmax(450px, calc(750px - 3em)) [body-content-end] 1.5em [body-end] 50px [body-end-outset] minmax(0px, 200px) [page-end-inset] 50px [page-end] 5fr [screen-end-inset] 1.5em [screen-end]}body.docked.listing .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset page-start] minmax(50px, 100px) [page-start-inset] 50px [body-start-outset] 50px [body-start] 1.5em [body-content-start] minmax(500px, calc( 1000px - 3em )) [body-content-end] 1.5em [body-end] 50px [body-end-outset] minmax(0px, 100px) [page-end-inset] 50px [page-end] 5fr [screen-end-inset] 1.5em [screen-end]}body.floating.slimcontent .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset] 5fr [page-start] 50px [page-start-inset] minmax(50px, 150px) [body-start-outset] 50px [body-start] 1.5em [body-content-start] minmax(450px, calc(750px - 3em)) [body-content-end] 1.5em [body-end] 50px [body-end-outset] minmax(50px, 150px) [page-end-inset] 50px [page-end] 5fr [screen-end-inset] 1.5em [screen-end]}body.floating.listing .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset] 5fr [page-start] minmax(25px, 50px) [page-start-inset] minmax(50px, 150px) [body-start-outset] minmax(25px, 50px) [body-start] 1.5em [body-content-start] minmax(500px, calc(800px - 3em)) [body-content-end] 1.5em [body-end] minmax(25px, 50px) [body-end-outset] minmax(50px, 150px) [page-end-inset] minmax(25px, 50px) [page-end] 5fr [screen-end-inset] 1.5em [screen-end]}}@media(max-width: 991.98px){body .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset page-start page-start-inset body-start-outset] 5fr [body-start] 1.5em [body-content-start] minmax(500px, calc(750px - 3em)) [body-content-end] 1.5em [body-end] 35px [body-end-outset] minmax(75px, 145px) [page-end-inset] 35px [page-end] 5fr [screen-end-inset] 1.5em [screen-end]}body.fullcontent:not(.floating):not(.docked) .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset page-start page-start-inset body-start-outset] 5fr [body-start] 1.5em [body-content-start] minmax(500px, calc(750px - 3em)) [body-content-end] 1.5em [body-end body-end-outset page-end-inset page-end] 5fr [screen-end-inset] 1.5em [screen-end]}body.slimcontent:not(.floating):not(.docked) .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset page-start page-start-inset body-start-outset] 5fr [body-start] 1.5em [body-content-start] minmax(500px, calc(750px - 3em)) [body-content-end] 1.5em [body-end] 35px [body-end-outset] minmax(75px, 145px) [page-end-inset] 35px [page-end] 5fr [screen-end-inset] 1.5em [screen-end]}body.listing:not(.floating):not(.docked) .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset page-start page-start-inset body-start-outset] 5fr [body-start] 1.5em [body-content-start] minmax(500px, calc(1200px - 3em)) [body-content-end body-end body-end-outset page-end-inset page-end] 5fr [screen-end-inset] 1.5em [screen-end]}body:not(.floating):not(.docked) .page-columns.toc-left{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset] 5fr [page-start] 35px [page-start-inset] minmax(0px, 145px) [body-start-outset] 35px [body-start] 1.5em [body-content-start] minmax(450px, calc(750px - 3em)) [body-content-end] 1.5em [body-end body-end-outset page-end-inset page-end] 5fr [screen-end-inset] 1.5em [screen-end]}body:not(.floating):not(.docked) .page-columns.toc-left .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset] 5fr [page-start] 35px [page-start-inset] minmax(0px, 145px) [body-start-outset] 35px [body-start] 1.5em [body-content-start] minmax(450px, calc(750px - 3em)) [body-content-end] 1.5em [body-end body-end-outset page-end-inset page-end] 5fr [screen-end-inset] 1.5em [screen-end]}body.floating .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset] 5fr [page-start page-start-inset body-start-outset body-start] 1em [body-content-start] minmax(500px, calc(750px - 3em)) [body-content-end] 1.5em [body-end] 50px [body-end-outset] minmax(75px, 150px) [page-end-inset] 25px [page-end] 5fr [screen-end-inset] 1.5em [screen-end]}body.docked .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset page-start page-start-inset body-start-outset body-start body-content-start] minmax(500px, calc(750px - 3em)) [body-content-end] 1.5em [body-end] 50px [body-end-outset] minmax(25px, 50px) [page-end-inset] 50px [page-end] 5fr [screen-end-inset] 1.5em [screen-end]}body.docked.fullcontent .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset page-start page-start-inset body-start-outset body-start body-content-start] minmax(500px, calc( 1000px - 3em )) [body-content-end] 1.5em [body-end body-end-outset page-end-inset page-end] 5fr [screen-end-inset] 1.5em [screen-end]}body.floating.fullcontent .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset] 5fr [page-start page-start-inset body-start-outset body-start] 1em [body-content-start] minmax(500px, calc(800px - 3em)) [body-content-end] 1.5em [body-end body-end-outset page-end-inset page-end] 5fr [screen-end-inset] 1.5em [screen-end]}body.docked.slimcontent .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset page-start page-start-inset body-start-outset body-start body-content-start] minmax(500px, calc(750px - 3em)) [body-content-end] 1.5em [body-end] 35px [body-end-outset] minmax(75px, 145px) [page-end-inset] 35px [page-end] 5fr [screen-end-inset] 1.5em [screen-end]}body.docked.listing .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset page-start page-start-inset body-start-outset body-start body-content-start] minmax(500px, calc(750px - 3em)) [body-content-end] 1.5em [body-end] 50px [body-end-outset] minmax(25px, 50px) [page-end-inset] 50px [page-end] 5fr [screen-end-inset] 1.5em [screen-end]}body.floating.slimcontent .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset] 5fr [page-start page-start-inset body-start-outset body-start] 1em [body-content-start] minmax(500px, calc(750px - 3em)) [body-content-end] 1.5em [body-end] 35px [body-end-outset] minmax(75px, 145px) [page-end-inset] 35px [page-end] 4fr [screen-end-inset] 1.5em [screen-end]}body.floating.listing .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset] 5fr [page-start page-start-inset body-start-outset body-start] 1em [body-content-start] minmax(500px, calc(750px - 3em)) [body-content-end] 1.5em [body-end] 50px [body-end-outset] minmax(75px, 150px) [page-end-inset] 25px [page-end] 5fr [screen-end-inset] 1.5em [screen-end]}}@media(max-width: 767.98px){body .page-columns,body.fullcontent:not(.floating):not(.docked) .page-columns,body.slimcontent:not(.floating):not(.docked) .page-columns,body.docked .page-columns,body.docked.slimcontent .page-columns,body.docked.fullcontent .page-columns,body.floating .page-columns,body.floating.slimcontent .page-columns,body.floating.fullcontent .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset page-start page-start-inset body-start-outset body-start body-content-start] minmax(0px, 1fr) [body-content-end body-end body-end-outset page-end-inset page-end screen-end-inset] 1.5em [screen-end]}body:not(.floating):not(.docked) .page-columns.toc-left{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset page-start page-start-inset body-start-outset body-start body-content-start] minmax(0px, 1fr) [body-content-end body-end body-end-outset page-end-inset page-end screen-end-inset] 1.5em [screen-end]}body:not(.floating):not(.docked) .page-columns.toc-left .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset page-start page-start-inset body-start-outset body-start body-content-start] minmax(0px, 1fr) [body-content-end body-end body-end-outset page-end-inset page-end screen-end-inset] 1.5em [screen-end]}nav[role=doc-toc]{display:none}}body,.page-row-navigation{grid-template-rows:[page-top] max-content [contents-top] max-content [contents-bottom] max-content [page-bottom]}.page-rows-contents{grid-template-rows:[content-top] minmax(max-content, 1fr) [content-bottom] minmax(60px, max-content) [page-bottom]}.page-full{grid-column:screen-start/screen-end !important}.page-columns>*{grid-column:body-content-start/body-content-end}.page-columns.column-page>*{grid-column:page-start/page-end}.page-columns.column-page-left>*{grid-column:page-start/body-content-end}.page-columns.column-page-right>*{grid-column:body-content-start/page-end}.page-rows{grid-auto-rows:auto}.header{grid-column:screen-start/screen-end;grid-row:page-top/contents-top}#quarto-content{padding:0;grid-column:screen-start/screen-end;grid-row:contents-top/contents-bottom}body.floating .sidebar.sidebar-navigation{grid-column:page-start/body-start;grid-row:content-top/page-bottom}body.docked .sidebar.sidebar-navigation{grid-column:screen-start/body-start;grid-row:content-top/page-bottom}.sidebar.toc-left{grid-column:page-start/body-start;grid-row:content-top/page-bottom}.sidebar.margin-sidebar{grid-column:body-end/page-end;grid-row:content-top/page-bottom}.page-columns .content{grid-column:body-content-start/body-content-end;grid-row:content-top/content-bottom;align-content:flex-start}.page-columns .page-navigation{grid-column:body-content-start/body-content-end;grid-row:content-bottom/page-bottom}.page-columns .footer{grid-column:screen-start/screen-end;grid-row:contents-bottom/page-bottom}.page-columns .column-body{grid-column:body-content-start/body-content-end}.page-columns .column-body-fullbleed{grid-column:body-start/body-end}.page-columns .column-body-outset{grid-column:body-start-outset/body-end-outset;z-index:998;transform:translate3d(0, 0, 0)}.page-columns .column-body-outset table{background:#fff}.page-columns .column-body-outset-left{grid-column:body-start-outset/body-content-end;z-index:998;transform:translate3d(0, 0, 0)}.page-columns .column-body-outset-left table{background:#fff}.page-columns .column-body-outset-right{grid-column:body-content-start/body-end-outset;z-index:998;transform:translate3d(0, 0, 0)}.page-columns .column-body-outset-right table{background:#fff}.page-columns .column-page{grid-column:page-start/page-end;z-index:998;transform:translate3d(0, 0, 0)}.page-columns .column-page table{background:#fff}.page-columns .column-page-inset{grid-column:page-start-inset/page-end-inset;z-index:998;transform:translate3d(0, 0, 0)}.page-columns .column-page-inset table{background:#fff}.page-columns .column-page-inset-left{grid-column:page-start-inset/body-content-end;z-index:998;transform:translate3d(0, 0, 0)}.page-columns .column-page-inset-left table{background:#fff}.page-columns .column-page-inset-right{grid-column:body-content-start/page-end-inset;z-index:998;transform:translate3d(0, 0, 0)}.page-columns .column-page-inset-right figcaption table{background:#fff}.page-columns .column-page-left{grid-column:page-start/body-content-end;z-index:998;transform:translate3d(0, 0, 0)}.page-columns .column-page-left table{background:#fff}.page-columns .column-page-right{grid-column:body-content-start/page-end;z-index:998;transform:translate3d(0, 0, 0)}.page-columns .column-page-right figcaption table{background:#fff}#quarto-content.page-columns #quarto-margin-sidebar,#quarto-content.page-columns #quarto-sidebar{z-index:1}@media(max-width: 991.98px){#quarto-content.page-columns #quarto-margin-sidebar.collapse,#quarto-content.page-columns #quarto-sidebar.collapse{z-index:1055}}#quarto-content.page-columns main.column-page,#quarto-content.page-columns main.column-page-right,#quarto-content.page-columns main.column-page-left{z-index:0}.page-columns .column-screen-inset{grid-column:screen-start-inset/screen-end-inset;z-index:998;transform:translate3d(0, 0, 0)}.page-columns .column-screen-inset table{background:#fff}.page-columns .column-screen-inset-left{grid-column:screen-start-inset/body-content-end;z-index:998;transform:translate3d(0, 0, 0)}.page-columns .column-screen-inset-left table{background:#fff}.page-columns .column-screen-inset-right{grid-column:body-content-start/screen-end-inset;z-index:998;transform:translate3d(0, 0, 0)}.page-columns .column-screen-inset-right table{background:#fff}.page-columns .column-screen{grid-column:screen-start/screen-end;z-index:998;transform:translate3d(0, 0, 0)}.page-columns .column-screen table{background:#fff}.page-columns .column-screen-left{grid-column:screen-start/body-content-end;z-index:998;transform:translate3d(0, 0, 0)}.page-columns .column-screen-left table{background:#fff}.page-columns .column-screen-right{grid-column:body-content-start/screen-end;z-index:998;transform:translate3d(0, 0, 0)}.page-columns .column-screen-right table{background:#fff}.page-columns .column-screen-inset-shaded{grid-column:screen-start/screen-end;padding:1em;background:#f8f9fa;z-index:998;transform:translate3d(0, 0, 0);margin-bottom:1em}.zindex-content{z-index:998;transform:translate3d(0, 0, 0)}.zindex-modal{z-index:1055;transform:translate3d(0, 0, 0)}.zindex-over-content{z-index:999;transform:translate3d(0, 0, 0)}img.img-fluid.column-screen,img.img-fluid.column-screen-inset-shaded,img.img-fluid.column-screen-inset,img.img-fluid.column-screen-inset-left,img.img-fluid.column-screen-inset-right,img.img-fluid.column-screen-left,img.img-fluid.column-screen-right{width:100%}@media(min-width: 992px){.margin-caption,div.aside,aside,.column-margin{grid-column:body-end/page-end !important;z-index:998}.column-sidebar{grid-column:page-start/body-start !important;z-index:998}.column-leftmargin{grid-column:screen-start-inset/body-start !important;z-index:998}.no-row-height{height:1em;overflow:visible}}@media(max-width: 991.98px){.margin-caption,div.aside,aside,.column-margin{grid-column:body-end/page-end !important;z-index:998}.no-row-height{height:1em;overflow:visible}.page-columns.page-full{overflow:visible}.page-columns.toc-left .margin-caption,.page-columns.toc-left div.aside,.page-columns.toc-left aside,.page-columns.toc-left .column-margin{grid-column:body-content-start/body-content-end !important;z-index:998;transform:translate3d(0, 0, 0)}.page-columns.toc-left .no-row-height{height:initial;overflow:initial}}@media(max-width: 767.98px){.margin-caption,div.aside,aside,.column-margin{grid-column:body-content-start/body-content-end !important;z-index:998;transform:translate3d(0, 0, 0)}.no-row-height{height:initial;overflow:initial}#quarto-margin-sidebar{display:none}.hidden-sm{display:none}}.panel-grid{display:grid;grid-template-rows:repeat(1, 1fr);grid-template-columns:repeat(24, 1fr);gap:1em}.panel-grid .g-col-1{grid-column:auto/span 1}.panel-grid .g-col-2{grid-column:auto/span 2}.panel-grid .g-col-3{grid-column:auto/span 3}.panel-grid .g-col-4{grid-column:auto/span 4}.panel-grid .g-col-5{grid-column:auto/span 5}.panel-grid .g-col-6{grid-column:auto/span 6}.panel-grid .g-col-7{grid-column:auto/span 7}.panel-grid .g-col-8{grid-column:auto/span 8}.panel-grid .g-col-9{grid-column:auto/span 9}.panel-grid .g-col-10{grid-column:auto/span 10}.panel-grid .g-col-11{grid-column:auto/span 11}.panel-grid .g-col-12{grid-column:auto/span 12}.panel-grid .g-col-13{grid-column:auto/span 13}.panel-grid .g-col-14{grid-column:auto/span 14}.panel-grid .g-col-15{grid-column:auto/span 15}.panel-grid .g-col-16{grid-column:auto/span 16}.panel-grid .g-col-17{grid-column:auto/span 17}.panel-grid .g-col-18{grid-column:auto/span 18}.panel-grid .g-col-19{grid-column:auto/span 19}.panel-grid .g-col-20{grid-column:auto/span 20}.panel-grid .g-col-21{grid-column:auto/span 21}.panel-grid .g-col-22{grid-column:auto/span 22}.panel-grid .g-col-23{grid-column:auto/span 23}.panel-grid .g-col-24{grid-column:auto/span 24}.panel-grid .g-start-1{grid-column-start:1}.panel-grid .g-start-2{grid-column-start:2}.panel-grid .g-start-3{grid-column-start:3}.panel-grid .g-start-4{grid-column-start:4}.panel-grid .g-start-5{grid-column-start:5}.panel-grid .g-start-6{grid-column-start:6}.panel-grid .g-start-7{grid-column-start:7}.panel-grid .g-start-8{grid-column-start:8}.panel-grid .g-start-9{grid-column-start:9}.panel-grid .g-start-10{grid-column-start:10}.panel-grid .g-start-11{grid-column-start:11}.panel-grid .g-start-12{grid-column-start:12}.panel-grid .g-start-13{grid-column-start:13}.panel-grid .g-start-14{grid-column-start:14}.panel-grid .g-start-15{grid-column-start:15}.panel-grid .g-start-16{grid-column-start:16}.panel-grid .g-start-17{grid-column-start:17}.panel-grid .g-start-18{grid-column-start:18}.panel-grid .g-start-19{grid-column-start:19}.panel-grid .g-start-20{grid-column-start:20}.panel-grid .g-start-21{grid-column-start:21}.panel-grid .g-start-22{grid-column-start:22}.panel-grid .g-start-23{grid-column-start:23}@media(min-width: 576px){.panel-grid .g-col-sm-1{grid-column:auto/span 1}.panel-grid .g-col-sm-2{grid-column:auto/span 2}.panel-grid .g-col-sm-3{grid-column:auto/span 3}.panel-grid .g-col-sm-4{grid-column:auto/span 4}.panel-grid .g-col-sm-5{grid-column:auto/span 5}.panel-grid .g-col-sm-6{grid-column:auto/span 6}.panel-grid .g-col-sm-7{grid-column:auto/span 7}.panel-grid .g-col-sm-8{grid-column:auto/span 8}.panel-grid .g-col-sm-9{grid-column:auto/span 9}.panel-grid .g-col-sm-10{grid-column:auto/span 10}.panel-grid .g-col-sm-11{grid-column:auto/span 11}.panel-grid .g-col-sm-12{grid-column:auto/span 12}.panel-grid .g-col-sm-13{grid-column:auto/span 13}.panel-grid .g-col-sm-14{grid-column:auto/span 14}.panel-grid .g-col-sm-15{grid-column:auto/span 15}.panel-grid .g-col-sm-16{grid-column:auto/span 16}.panel-grid .g-col-sm-17{grid-column:auto/span 17}.panel-grid .g-col-sm-18{grid-column:auto/span 18}.panel-grid .g-col-sm-19{grid-column:auto/span 19}.panel-grid .g-col-sm-20{grid-column:auto/span 20}.panel-grid .g-col-sm-21{grid-column:auto/span 21}.panel-grid .g-col-sm-22{grid-column:auto/span 22}.panel-grid .g-col-sm-23{grid-column:auto/span 23}.panel-grid .g-col-sm-24{grid-column:auto/span 24}.panel-grid .g-start-sm-1{grid-column-start:1}.panel-grid .g-start-sm-2{grid-column-start:2}.panel-grid .g-start-sm-3{grid-column-start:3}.panel-grid .g-start-sm-4{grid-column-start:4}.panel-grid .g-start-sm-5{grid-column-start:5}.panel-grid .g-start-sm-6{grid-column-start:6}.panel-grid .g-start-sm-7{grid-column-start:7}.panel-grid .g-start-sm-8{grid-column-start:8}.panel-grid .g-start-sm-9{grid-column-start:9}.panel-grid .g-start-sm-10{grid-column-start:10}.panel-grid .g-start-sm-11{grid-column-start:11}.panel-grid .g-start-sm-12{grid-column-start:12}.panel-grid .g-start-sm-13{grid-column-start:13}.panel-grid .g-start-sm-14{grid-column-start:14}.panel-grid .g-start-sm-15{grid-column-start:15}.panel-grid .g-start-sm-16{grid-column-start:16}.panel-grid .g-start-sm-17{grid-column-start:17}.panel-grid .g-start-sm-18{grid-column-start:18}.panel-grid .g-start-sm-19{grid-column-start:19}.panel-grid .g-start-sm-20{grid-column-start:20}.panel-grid .g-start-sm-21{grid-column-start:21}.panel-grid .g-start-sm-22{grid-column-start:22}.panel-grid .g-start-sm-23{grid-column-start:23}}@media(min-width: 768px){.panel-grid .g-col-md-1{grid-column:auto/span 1}.panel-grid .g-col-md-2{grid-column:auto/span 2}.panel-grid .g-col-md-3{grid-column:auto/span 3}.panel-grid .g-col-md-4{grid-column:auto/span 4}.panel-grid .g-col-md-5{grid-column:auto/span 5}.panel-grid .g-col-md-6{grid-column:auto/span 6}.panel-grid .g-col-md-7{grid-column:auto/span 7}.panel-grid .g-col-md-8{grid-column:auto/span 8}.panel-grid .g-col-md-9{grid-column:auto/span 9}.panel-grid .g-col-md-10{grid-column:auto/span 10}.panel-grid .g-col-md-11{grid-column:auto/span 11}.panel-grid .g-col-md-12{grid-column:auto/span 12}.panel-grid .g-col-md-13{grid-column:auto/span 13}.panel-grid .g-col-md-14{grid-column:auto/span 14}.panel-grid .g-col-md-15{grid-column:auto/span 15}.panel-grid .g-col-md-16{grid-column:auto/span 16}.panel-grid .g-col-md-17{grid-column:auto/span 17}.panel-grid .g-col-md-18{grid-column:auto/span 18}.panel-grid .g-col-md-19{grid-column:auto/span 19}.panel-grid .g-col-md-20{grid-column:auto/span 20}.panel-grid .g-col-md-21{grid-column:auto/span 21}.panel-grid .g-col-md-22{grid-column:auto/span 22}.panel-grid .g-col-md-23{grid-column:auto/span 23}.panel-grid .g-col-md-24{grid-column:auto/span 24}.panel-grid .g-start-md-1{grid-column-start:1}.panel-grid .g-start-md-2{grid-column-start:2}.panel-grid .g-start-md-3{grid-column-start:3}.panel-grid .g-start-md-4{grid-column-start:4}.panel-grid .g-start-md-5{grid-column-start:5}.panel-grid .g-start-md-6{grid-column-start:6}.panel-grid .g-start-md-7{grid-column-start:7}.panel-grid .g-start-md-8{grid-column-start:8}.panel-grid .g-start-md-9{grid-column-start:9}.panel-grid .g-start-md-10{grid-column-start:10}.panel-grid .g-start-md-11{grid-column-start:11}.panel-grid .g-start-md-12{grid-column-start:12}.panel-grid .g-start-md-13{grid-column-start:13}.panel-grid .g-start-md-14{grid-column-start:14}.panel-grid .g-start-md-15{grid-column-start:15}.panel-grid .g-start-md-16{grid-column-start:16}.panel-grid .g-start-md-17{grid-column-start:17}.panel-grid .g-start-md-18{grid-column-start:18}.panel-grid .g-start-md-19{grid-column-start:19}.panel-grid .g-start-md-20{grid-column-start:20}.panel-grid .g-start-md-21{grid-column-start:21}.panel-grid .g-start-md-22{grid-column-start:22}.panel-grid .g-start-md-23{grid-column-start:23}}@media(min-width: 992px){.panel-grid .g-col-lg-1{grid-column:auto/span 1}.panel-grid .g-col-lg-2{grid-column:auto/span 2}.panel-grid .g-col-lg-3{grid-column:auto/span 3}.panel-grid .g-col-lg-4{grid-column:auto/span 4}.panel-grid .g-col-lg-5{grid-column:auto/span 5}.panel-grid .g-col-lg-6{grid-column:auto/span 6}.panel-grid .g-col-lg-7{grid-column:auto/span 7}.panel-grid .g-col-lg-8{grid-column:auto/span 8}.panel-grid .g-col-lg-9{grid-column:auto/span 9}.panel-grid .g-col-lg-10{grid-column:auto/span 10}.panel-grid .g-col-lg-11{grid-column:auto/span 11}.panel-grid .g-col-lg-12{grid-column:auto/span 12}.panel-grid .g-col-lg-13{grid-column:auto/span 13}.panel-grid .g-col-lg-14{grid-column:auto/span 14}.panel-grid .g-col-lg-15{grid-column:auto/span 15}.panel-grid .g-col-lg-16{grid-column:auto/span 16}.panel-grid .g-col-lg-17{grid-column:auto/span 17}.panel-grid .g-col-lg-18{grid-column:auto/span 18}.panel-grid .g-col-lg-19{grid-column:auto/span 19}.panel-grid .g-col-lg-20{grid-column:auto/span 20}.panel-grid .g-col-lg-21{grid-column:auto/span 21}.panel-grid .g-col-lg-22{grid-column:auto/span 22}.panel-grid .g-col-lg-23{grid-column:auto/span 23}.panel-grid .g-col-lg-24{grid-column:auto/span 24}.panel-grid .g-start-lg-1{grid-column-start:1}.panel-grid .g-start-lg-2{grid-column-start:2}.panel-grid .g-start-lg-3{grid-column-start:3}.panel-grid .g-start-lg-4{grid-column-start:4}.panel-grid .g-start-lg-5{grid-column-start:5}.panel-grid .g-start-lg-6{grid-column-start:6}.panel-grid .g-start-lg-7{grid-column-start:7}.panel-grid .g-start-lg-8{grid-column-start:8}.panel-grid .g-start-lg-9{grid-column-start:9}.panel-grid .g-start-lg-10{grid-column-start:10}.panel-grid .g-start-lg-11{grid-column-start:11}.panel-grid .g-start-lg-12{grid-column-start:12}.panel-grid .g-start-lg-13{grid-column-start:13}.panel-grid .g-start-lg-14{grid-column-start:14}.panel-grid .g-start-lg-15{grid-column-start:15}.panel-grid .g-start-lg-16{grid-column-start:16}.panel-grid .g-start-lg-17{grid-column-start:17}.panel-grid .g-start-lg-18{grid-column-start:18}.panel-grid .g-start-lg-19{grid-column-start:19}.panel-grid .g-start-lg-20{grid-column-start:20}.panel-grid .g-start-lg-21{grid-column-start:21}.panel-grid .g-start-lg-22{grid-column-start:22}.panel-grid .g-start-lg-23{grid-column-start:23}}@media(min-width: 1200px){.panel-grid .g-col-xl-1{grid-column:auto/span 1}.panel-grid .g-col-xl-2{grid-column:auto/span 2}.panel-grid .g-col-xl-3{grid-column:auto/span 3}.panel-grid .g-col-xl-4{grid-column:auto/span 4}.panel-grid .g-col-xl-5{grid-column:auto/span 5}.panel-grid .g-col-xl-6{grid-column:auto/span 6}.panel-grid .g-col-xl-7{grid-column:auto/span 7}.panel-grid .g-col-xl-8{grid-column:auto/span 8}.panel-grid .g-col-xl-9{grid-column:auto/span 9}.panel-grid .g-col-xl-10{grid-column:auto/span 10}.panel-grid .g-col-xl-11{grid-column:auto/span 11}.panel-grid .g-col-xl-12{grid-column:auto/span 12}.panel-grid .g-col-xl-13{grid-column:auto/span 13}.panel-grid .g-col-xl-14{grid-column:auto/span 14}.panel-grid .g-col-xl-15{grid-column:auto/span 15}.panel-grid .g-col-xl-16{grid-column:auto/span 16}.panel-grid .g-col-xl-17{grid-column:auto/span 17}.panel-grid .g-col-xl-18{grid-column:auto/span 18}.panel-grid .g-col-xl-19{grid-column:auto/span 19}.panel-grid .g-col-xl-20{grid-column:auto/span 20}.panel-grid .g-col-xl-21{grid-column:auto/span 21}.panel-grid .g-col-xl-22{grid-column:auto/span 22}.panel-grid .g-col-xl-23{grid-column:auto/span 23}.panel-grid .g-col-xl-24{grid-column:auto/span 24}.panel-grid .g-start-xl-1{grid-column-start:1}.panel-grid .g-start-xl-2{grid-column-start:2}.panel-grid .g-start-xl-3{grid-column-start:3}.panel-grid .g-start-xl-4{grid-column-start:4}.panel-grid .g-start-xl-5{grid-column-start:5}.panel-grid .g-start-xl-6{grid-column-start:6}.panel-grid .g-start-xl-7{grid-column-start:7}.panel-grid .g-start-xl-8{grid-column-start:8}.panel-grid .g-start-xl-9{grid-column-start:9}.panel-grid .g-start-xl-10{grid-column-start:10}.panel-grid .g-start-xl-11{grid-column-start:11}.panel-grid .g-start-xl-12{grid-column-start:12}.panel-grid .g-start-xl-13{grid-column-start:13}.panel-grid .g-start-xl-14{grid-column-start:14}.panel-grid .g-start-xl-15{grid-column-start:15}.panel-grid .g-start-xl-16{grid-column-start:16}.panel-grid .g-start-xl-17{grid-column-start:17}.panel-grid .g-start-xl-18{grid-column-start:18}.panel-grid .g-start-xl-19{grid-column-start:19}.panel-grid .g-start-xl-20{grid-column-start:20}.panel-grid .g-start-xl-21{grid-column-start:21}.panel-grid .g-start-xl-22{grid-column-start:22}.panel-grid .g-start-xl-23{grid-column-start:23}}@media(min-width: 1400px){.panel-grid .g-col-xxl-1{grid-column:auto/span 1}.panel-grid .g-col-xxl-2{grid-column:auto/span 2}.panel-grid .g-col-xxl-3{grid-column:auto/span 3}.panel-grid .g-col-xxl-4{grid-column:auto/span 4}.panel-grid .g-col-xxl-5{grid-column:auto/span 5}.panel-grid .g-col-xxl-6{grid-column:auto/span 6}.panel-grid .g-col-xxl-7{grid-column:auto/span 7}.panel-grid .g-col-xxl-8{grid-column:auto/span 8}.panel-grid .g-col-xxl-9{grid-column:auto/span 9}.panel-grid .g-col-xxl-10{grid-column:auto/span 10}.panel-grid .g-col-xxl-11{grid-column:auto/span 11}.panel-grid .g-col-xxl-12{grid-column:auto/span 12}.panel-grid .g-col-xxl-13{grid-column:auto/span 13}.panel-grid .g-col-xxl-14{grid-column:auto/span 14}.panel-grid .g-col-xxl-15{grid-column:auto/span 15}.panel-grid .g-col-xxl-16{grid-column:auto/span 16}.panel-grid .g-col-xxl-17{grid-column:auto/span 17}.panel-grid .g-col-xxl-18{grid-column:auto/span 18}.panel-grid .g-col-xxl-19{grid-column:auto/span 19}.panel-grid .g-col-xxl-20{grid-column:auto/span 20}.panel-grid .g-col-xxl-21{grid-column:auto/span 21}.panel-grid .g-col-xxl-22{grid-column:auto/span 22}.panel-grid .g-col-xxl-23{grid-column:auto/span 23}.panel-grid .g-col-xxl-24{grid-column:auto/span 24}.panel-grid .g-start-xxl-1{grid-column-start:1}.panel-grid .g-start-xxl-2{grid-column-start:2}.panel-grid .g-start-xxl-3{grid-column-start:3}.panel-grid .g-start-xxl-4{grid-column-start:4}.panel-grid .g-start-xxl-5{grid-column-start:5}.panel-grid .g-start-xxl-6{grid-column-start:6}.panel-grid .g-start-xxl-7{grid-column-start:7}.panel-grid .g-start-xxl-8{grid-column-start:8}.panel-grid .g-start-xxl-9{grid-column-start:9}.panel-grid .g-start-xxl-10{grid-column-start:10}.panel-grid .g-start-xxl-11{grid-column-start:11}.panel-grid .g-start-xxl-12{grid-column-start:12}.panel-grid .g-start-xxl-13{grid-column-start:13}.panel-grid .g-start-xxl-14{grid-column-start:14}.panel-grid .g-start-xxl-15{grid-column-start:15}.panel-grid .g-start-xxl-16{grid-column-start:16}.panel-grid .g-start-xxl-17{grid-column-start:17}.panel-grid .g-start-xxl-18{grid-column-start:18}.panel-grid .g-start-xxl-19{grid-column-start:19}.panel-grid .g-start-xxl-20{grid-column-start:20}.panel-grid .g-start-xxl-21{grid-column-start:21}.panel-grid .g-start-xxl-22{grid-column-start:22}.panel-grid .g-start-xxl-23{grid-column-start:23}}main{margin-top:1em;margin-bottom:1em}h1,.h1,h2,.h2{margin-top:2rem;margin-bottom:1rem}h1.title,.title.h1{margin-top:0}h2,.h2{border-bottom:1px solid #dee2e6;padding-bottom:.5rem}h3,.h3,h4,.h4{margin-top:1.5rem}.header-section-number{color:#869099}.nav-link.active .header-section-number{color:inherit}mark,.mark{padding:0em}.panel-caption,caption,.figure-caption{font-size:1rem}.panel-caption,.figure-caption,figcaption{color:#869099}.table-caption,caption{color:#495057}.quarto-layout-cell[data-ref-parent] caption{color:#869099}.column-margin figcaption,.margin-caption,div.aside,aside,.column-margin{color:#869099;font-size:.825rem}.panel-caption.margin-caption{text-align:inherit}.column-margin.column-container p{margin-bottom:0}.column-margin.column-container>*:not(.collapse){padding-top:.5em;padding-bottom:.5em;display:block}.column-margin.column-container>*.collapse:not(.show){display:none}@media(min-width: 768px){.column-margin.column-container .callout-margin-content:first-child{margin-top:4.5em}.column-margin.column-container .callout-margin-content-simple:first-child{margin-top:3.5em}}.margin-caption>*{padding-top:.5em;padding-bottom:.5em}@media(max-width: 767.98px){.quarto-layout-row{flex-direction:column}}.tab-content{margin-top:0px;border-left:#dee2e6 1px solid;border-right:#dee2e6 1px solid;border-bottom:#dee2e6 1px solid;margin-left:0;padding:1em;margin-bottom:1em}@media(max-width: 767.98px){.layout-sidebar{margin-left:0;margin-right:0}}.panel-sidebar,.panel-sidebar .form-control,.panel-input,.panel-input .form-control,.selectize-dropdown{font-size:.9rem}.panel-sidebar .form-control,.panel-input .form-control{padding-top:.1rem}.tab-pane div.sourceCode{margin-top:0px}.tab-pane>p{padding-top:1em}.tab-content>.tab-pane:not(.active){display:none !important}div.sourceCode{background-color:rgba(233,236,239,.65);border:1px solid rgba(233,236,239,.65);border-radius:.25rem}pre.sourceCode{background-color:transparent}pre.sourceCode{border:none;font-size:.875em;overflow:visible !important;padding:.4em}.callout pre.sourceCode{padding-left:0}div.sourceCode{overflow-y:hidden}.callout div.sourceCode{margin-left:initial}.blockquote{font-size:inherit;padding-left:1rem;padding-right:1.5rem;color:#869099}.blockquote h1:first-child,.blockquote .h1:first-child,.blockquote h2:first-child,.blockquote .h2:first-child,.blockquote h3:first-child,.blockquote .h3:first-child,.blockquote h4:first-child,.blockquote .h4:first-child,.blockquote h5:first-child,.blockquote .h5:first-child{margin-top:0}pre{background-color:initial;padding:initial;border:initial}p code:not(.sourceCode),li code:not(.sourceCode){background-color:#f8f8f8;padding:.2em}nav p code:not(.sourceCode),nav li code:not(.sourceCode){background-color:transparent;padding:0}#quarto-embedded-source-code-modal>.modal-dialog{max-width:1000px;padding-left:1.75rem;padding-right:1.75rem}#quarto-embedded-source-code-modal>.modal-dialog>.modal-content>.modal-body{padding:0}#quarto-embedded-source-code-modal>.modal-dialog>.modal-content>.modal-body div.sourceCode{margin:0;padding:.2rem .2rem;border-radius:0px;border:none}#quarto-embedded-source-code-modal>.modal-dialog>.modal-content>.modal-header{padding:.7rem}.code-tools-button{font-size:1rem;padding:.15rem .15rem;margin-left:5px;color:#868e96;background-color:transparent;transition:initial;cursor:pointer}.code-tools-button>.bi::before{display:inline-block;height:1rem;width:1rem;content:"";vertical-align:-0.125em;background-image:url('data:image/svg+xml,');background-repeat:no-repeat;background-size:1rem 1rem}.code-tools-button:hover>.bi::before{background-image:url('data:image/svg+xml,')}#quarto-embedded-source-code-modal .code-copy-button>.bi::before{background-image:url('data:image/svg+xml,')}#quarto-embedded-source-code-modal .code-copy-button-checked>.bi::before{background-image:url('data:image/svg+xml,')}.sidebar{will-change:top;transition:top 200ms linear;position:sticky;overflow-y:auto;padding-top:1.2em;max-height:100vh}.sidebar.toc-left,.sidebar.margin-sidebar{top:0px;padding-top:1em}.sidebar.toc-left>*,.sidebar.margin-sidebar>*{padding-top:.5em}.sidebar.quarto-banner-title-block-sidebar>*{padding-top:1.65em}.sidebar nav[role=doc-toc]>h2,.sidebar nav[role=doc-toc]>.h2{font-size:.875rem;font-weight:400;margin-bottom:.5rem;margin-top:.3rem;font-family:inherit;border-bottom:0;padding-bottom:0;padding-top:0px}.sidebar nav[role=doc-toc]>ul a{border-left:1px solid #e9ecef;padding-left:.6rem}.sidebar nav[role=doc-toc]>ul a:empty{display:none}.sidebar nav[role=doc-toc] ul{padding-left:0;list-style:none;font-size:.875rem;font-weight:300}.sidebar nav[role=doc-toc]>ul li a{line-height:1.1rem;padding-bottom:.2rem;padding-top:.2rem;color:inherit}.sidebar nav[role=doc-toc] ul>li>ul>li>a{padding-left:1.2em}.sidebar nav[role=doc-toc] ul>li>ul>li>ul>li>a{padding-left:2.4em}.sidebar nav[role=doc-toc] ul>li>ul>li>ul>li>ul>li>a{padding-left:3.6em}.sidebar nav[role=doc-toc] ul>li>ul>li>ul>li>ul>li>ul>li>a{padding-left:4.8em}.sidebar nav[role=doc-toc] ul>li>ul>li>ul>li>ul>li>ul>li>ul>li>a{padding-left:6em}.sidebar nav[role=doc-toc] ul>li>ul>li>a.active{border-left:1px solid #2fa4e7;color:#2fa4e7 !important}.sidebar nav[role=doc-toc] ul>li>a.active{border-left:1px solid #2fa4e7;color:#2fa4e7 !important}kbd,.kbd{color:#495057;background-color:#f8f9fa;border:1px solid;border-radius:5px;border-color:#dee2e6}div.hanging-indent{margin-left:1em;text-indent:-1em}.citation a,.footnote-ref{text-decoration:none}.footnotes ol{padding-left:1em}.tippy-content>*{margin-bottom:.7em}.tippy-content>*:last-child{margin-bottom:0}.table a{word-break:break-word}.table>:not(:first-child){border-top-width:1px;border-top-color:#dee2e6}.table>thead{border-bottom:1px solid currentColor}.table>tbody{border-top:1px solid #dee2e6}.callout{margin-top:1.25rem;margin-bottom:1.25rem;border-radius:.25rem}.callout.callout-style-simple{padding:.4em .7em;border-left:5px solid;border-right:1px solid #dee2e6;border-top:1px solid #dee2e6;border-bottom:1px solid #dee2e6}.callout.callout-style-default{border-left:5px solid;border-right:1px solid #dee2e6;border-top:1px solid #dee2e6;border-bottom:1px solid #dee2e6}.callout .callout-body-container{flex-grow:1}.callout.callout-style-simple .callout-body{font-size:.9rem;font-weight:400}.callout.callout-style-default .callout-body{font-size:.9rem;font-weight:400}.callout.callout-captioned .callout-body{margin-top:.2em}.callout:not(.no-icon).callout-captioned.callout-style-simple .callout-body{padding-left:1.6em}.callout.callout-captioned>.callout-header{padding-top:.2em;margin-bottom:-0.2em}.callout.callout-style-simple>div.callout-header{border-bottom:none;font-size:.9rem;font-weight:600;opacity:75%}.callout.callout-style-default>div.callout-header{border-bottom:none;font-weight:600;opacity:85%;font-size:.9rem;padding-left:.5em;padding-right:.5em}.callout.callout-style-default div.callout-body{padding-left:.5em;padding-right:.5em}.callout.callout-style-default div.callout-body>:first-child{margin-top:.5em}.callout>div.callout-header[data-bs-toggle=collapse]{cursor:pointer}.callout.callout-style-default .callout-header[aria-expanded=false],.callout.callout-style-default .callout-header[aria-expanded=true]{padding-top:0px;margin-bottom:0px;align-items:center}.callout.callout-captioned .callout-body>:last-child:not(.sourceCode),.callout.callout-captioned .callout-body>div>:last-child:not(.sourceCode){margin-bottom:.5rem}.callout:not(.callout-captioned) .callout-body>:first-child,.callout:not(.callout-captioned) .callout-body>div>:first-child{margin-top:.25rem}.callout:not(.callout-captioned) .callout-body>:last-child,.callout:not(.callout-captioned) .callout-body>div>:last-child{margin-bottom:.2rem}.callout.callout-style-simple .callout-icon::before,.callout.callout-style-simple .callout-toggle::before{height:1rem;width:1rem;display:inline-block;content:"";background-repeat:no-repeat;background-size:1rem 1rem}.callout.callout-style-default .callout-icon::before,.callout.callout-style-default .callout-toggle::before{height:.9rem;width:.9rem;display:inline-block;content:"";background-repeat:no-repeat;background-size:.9rem .9rem}.callout.callout-style-default .callout-toggle::before{margin-top:5px}.callout .callout-btn-toggle .callout-toggle::before{transition:transform .2s linear}.callout .callout-header[aria-expanded=false] .callout-toggle::before{transform:rotate(-90deg)}.callout .callout-header[aria-expanded=true] .callout-toggle::before{transform:none}.callout.callout-style-simple:not(.no-icon) div.callout-icon-container{padding-top:.2em;padding-right:.55em}.callout.callout-style-default:not(.no-icon) div.callout-icon-container{padding-top:.1em;padding-right:.35em}.callout.callout-style-default:not(.no-icon) div.callout-caption-container{margin-top:-1px}.callout.callout-style-default.callout-caution:not(.no-icon) div.callout-icon-container{padding-top:.3em;padding-right:.35em}.callout>.callout-body>.callout-icon-container>.no-icon,.callout>.callout-header>.callout-icon-container>.no-icon{display:none}div.callout.callout{border-left-color:#868e96}div.callout.callout-style-default>.callout-header{background-color:#868e96}div.callout-note.callout{border-left-color:#033c73}div.callout-note.callout-style-default>.callout-header{background-color:#e6ecf1}div.callout-note:not(.callout-captioned) .callout-icon::before{background-image:url('data:image/svg+xml,');}div.callout-note.callout-captioned .callout-icon::before{background-image:url('data:image/svg+xml,');}div.callout-note .callout-toggle::before{background-image:url('data:image/svg+xml,')}div.callout-tip.callout{border-left-color:#73a839}div.callout-tip.callout-style-default>.callout-header{background-color:#f1f6eb}div.callout-tip:not(.callout-captioned) .callout-icon::before{background-image:url('data:image/svg+xml,');}div.callout-tip.callout-captioned .callout-icon::before{background-image:url('data:image/svg+xml,');}div.callout-tip .callout-toggle::before{background-image:url('data:image/svg+xml,')}div.callout-warning.callout{border-left-color:#dd5600}div.callout-warning.callout-style-default>.callout-header{background-color:#fceee6}div.callout-warning:not(.callout-captioned) .callout-icon::before{background-image:url('data:image/svg+xml,');}div.callout-warning.callout-captioned .callout-icon::before{background-image:url('data:image/svg+xml,');}div.callout-warning .callout-toggle::before{background-image:url('data:image/svg+xml,')}div.callout-caution.callout{border-left-color:#fd7e14}div.callout-caution.callout-style-default>.callout-header{background-color:#fff2e8}div.callout-caution:not(.callout-captioned) .callout-icon::before{background-image:url('data:image/svg+xml,');}div.callout-caution.callout-captioned .callout-icon::before{background-image:url('data:image/svg+xml,');}div.callout-caution .callout-toggle::before{background-image:url('data:image/svg+xml,')}div.callout-important.callout{border-left-color:#c71c22}div.callout-important.callout-style-default>.callout-header{background-color:#f9e8e9}div.callout-important:not(.callout-captioned) .callout-icon::before{background-image:url('data:image/svg+xml,');}div.callout-important.callout-captioned .callout-icon::before{background-image:url('data:image/svg+xml,');}div.callout-important .callout-toggle::before{background-image:url('data:image/svg+xml,')}.quarto-toggle-container{display:flex;align-items:center}@media(min-width: 992px){.navbar .quarto-color-scheme-toggle{padding-left:.5rem;padding-right:.5rem}}@media(max-width: 767.98px){.navbar .quarto-color-scheme-toggle{padding-left:0;padding-right:0;padding-bottom:.5em}}.quarto-reader-toggle .bi::before,.quarto-color-scheme-toggle .bi::before{display:inline-block;height:1rem;width:1rem;content:"";background-repeat:no-repeat;background-size:1rem 1rem}.navbar-collapse .quarto-color-scheme-toggle{padding-left:.6rem;padding-right:0;margin-top:-12px}.sidebar-navigation{padding-left:20px}.sidebar-navigation .quarto-color-scheme-toggle .bi::before{padding-top:.2rem;margin-bottom:-0.2rem}.sidebar-tools-main .quarto-color-scheme-toggle .bi::before{padding-top:.2rem;margin-bottom:-0.2rem}.navbar .quarto-color-scheme-toggle .bi::before{padding-top:7px;margin-bottom:-7px;padding-left:2px;margin-right:2px}.navbar .quarto-color-scheme-toggle:not(.alternate) .bi::before{background-image:url('data:image/svg+xml,')}.navbar .quarto-color-scheme-toggle.alternate .bi::before{background-image:url('data:image/svg+xml,')}.sidebar-navigation .quarto-color-scheme-toggle:not(.alternate) .bi::before{background-image:url('data:image/svg+xml,')}.sidebar-navigation .quarto-color-scheme-toggle.alternate .bi::before{background-image:url('data:image/svg+xml,')}.quarto-sidebar-toggle{border-color:#dee2e6;border-bottom-left-radius:.25rem;border-bottom-right-radius:.25rem;border-style:solid;border-width:1px;overflow:hidden;border-top-width:0px;padding-top:0px !important}.quarto-sidebar-toggle-title{cursor:pointer;padding-bottom:2px;margin-left:.25em;text-align:center;font-weight:400;font-size:.775em}#quarto-content .quarto-sidebar-toggle{background:#fafafa}#quarto-content .quarto-sidebar-toggle-title{color:#495057}.quarto-sidebar-toggle-icon{color:#dee2e6;margin-right:.5em;float:right;transition:transform .2s ease}.quarto-sidebar-toggle-icon::before{padding-top:5px}.quarto-sidebar-toggle.expanded .quarto-sidebar-toggle-icon{transform:rotate(-180deg)}.quarto-sidebar-toggle.expanded .quarto-sidebar-toggle-title{border-bottom:solid #dee2e6 1px}.quarto-sidebar-toggle-contents{background-color:#fff;padding-right:10px;padding-left:10px;margin-top:0px !important;transition:max-height .5s ease}.quarto-sidebar-toggle.expanded .quarto-sidebar-toggle-contents{padding-top:1em;padding-bottom:10px}.quarto-sidebar-toggle:not(.expanded) .quarto-sidebar-toggle-contents{padding-top:0px !important;padding-bottom:0px}nav[role=doc-toc]{z-index:1020}#quarto-sidebar>*,nav[role=doc-toc]>*{transition:opacity .1s ease,border .1s ease}#quarto-sidebar.slow>*,nav[role=doc-toc].slow>*{transition:opacity .4s ease,border .4s ease}.quarto-color-scheme-toggle:not(.alternate).top-right .bi::before{background-image:url('data:image/svg+xml,')}.quarto-color-scheme-toggle.alternate.top-right .bi::before{background-image:url('data:image/svg+xml,')}#quarto-appendix.default{border-top:1px solid #dee2e6}#quarto-appendix.default{background-color:#fff;padding-top:1.5em;margin-top:2em;z-index:998}#quarto-appendix.default .quarto-appendix-heading{margin-top:0;line-height:1.4em;font-weight:600;opacity:.9;border-bottom:none;margin-bottom:0}#quarto-appendix.default .footnotes ol,#quarto-appendix.default .footnotes ol li>p:last-of-type,#quarto-appendix.default .quarto-appendix-contents>p:last-of-type{margin-bottom:0}#quarto-appendix.default .quarto-appendix-secondary-label{margin-bottom:.4em}#quarto-appendix.default .quarto-appendix-bibtex{font-size:.7em;padding:1em;border:solid 1px #dee2e6;margin-bottom:1em}#quarto-appendix.default .quarto-appendix-bibtex code.sourceCode{white-space:pre-wrap}#quarto-appendix.default .quarto-appendix-citeas{font-size:.9em;padding:1em;border:solid 1px #dee2e6;margin-bottom:1em}#quarto-appendix.default .quarto-appendix-heading{font-size:1em !important}#quarto-appendix.default *[role=doc-endnotes]>ol,#quarto-appendix.default .quarto-appendix-contents>*:not(h2):not(.h2){font-size:.9em}#quarto-appendix.default section{padding-bottom:1.5em}#quarto-appendix.default section *[role=doc-endnotes],#quarto-appendix.default section>*:not(a){opacity:.9;word-wrap:break-word}.btn.btn-quarto,div.cell-output-display .btn-quarto{color:#4d4e4f;background-color:#e9ecef;border-color:#e9ecef}.btn.btn-quarto:hover,div.cell-output-display .btn-quarto:hover{color:#4d4e4f;background-color:#eceff1;border-color:#ebeef1}.btn-check:focus+.btn.btn-quarto,.btn.btn-quarto:focus,.btn-check:focus+div.cell-output-display .btn-quarto,div.cell-output-display .btn-quarto:focus{color:#4d4e4f;background-color:#eceff1;border-color:#ebeef1;box-shadow:0 0 0 .25rem rgba(210,212,215,.5)}.btn-check:checked+.btn.btn-quarto,.btn-check:active+.btn.btn-quarto,.btn.btn-quarto:active,.btn.btn-quarto.active,.show>.btn.btn-quarto.dropdown-toggle,.btn-check:checked+div.cell-output-display .btn-quarto,.btn-check:active+div.cell-output-display .btn-quarto,div.cell-output-display .btn-quarto:active,div.cell-output-display .btn-quarto.active,.show>div.cell-output-display .btn-quarto.dropdown-toggle{color:#000;background-color:#edf0f2;border-color:#ebeef1}.btn-check:checked+.btn.btn-quarto:focus,.btn-check:active+.btn.btn-quarto:focus,.btn.btn-quarto:active:focus,.btn.btn-quarto.active:focus,.show>.btn.btn-quarto.dropdown-toggle:focus,.btn-check:checked+div.cell-output-display .btn-quarto:focus,.btn-check:active+div.cell-output-display .btn-quarto:focus,div.cell-output-display .btn-quarto:active:focus,div.cell-output-display .btn-quarto.active:focus,.show>div.cell-output-display .btn-quarto.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(210,212,215,.5)}.btn.btn-quarto:disabled,.btn.btn-quarto.disabled,div.cell-output-display .btn-quarto:disabled,div.cell-output-display .btn-quarto.disabled{color:#000;background-color:#e9ecef;border-color:#e9ecef}nav.quarto-secondary-nav.color-navbar{background-color:#2fa4e7;color:#fff}nav.quarto-secondary-nav.color-navbar h1,nav.quarto-secondary-nav.color-navbar .h1,nav.quarto-secondary-nav.color-navbar .quarto-btn-toggle{color:#fff}@media(max-width: 991.98px){body.nav-sidebar .quarto-title-banner,body.nav-sidebar .quarto-title-banner{display:none}}p.subtitle{margin-top:.25em;margin-bottom:.5em}code a:any-link{color:inherit;text-decoration-color:#868e96}/*! light */div.observablehq table thead tr th{background-color:var(--bs-body-bg)}input,button,select,optgroup,textarea{background-color:var(--bs-body-bg)}@media print{.page-columns .column-screen-inset{grid-column:page-start-inset/page-end-inset;z-index:998;transform:translate3d(0, 0, 0)}.page-columns .column-screen-inset table{background:#fff}.page-columns .column-screen-inset-left{grid-column:page-start-inset/body-content-end;z-index:998;transform:translate3d(0, 0, 0)}.page-columns .column-screen-inset-left table{background:#fff}.page-columns .column-screen-inset-right{grid-column:body-content-start/page-end-inset;z-index:998;transform:translate3d(0, 0, 0)}.page-columns .column-screen-inset-right table{background:#fff}.page-columns .column-screen{grid-column:page-start/page-end;z-index:998;transform:translate3d(0, 0, 0)}.page-columns .column-screen table{background:#fff}.page-columns .column-screen-left{grid-column:page-start/body-content-end;z-index:998;transform:translate3d(0, 0, 0)}.page-columns .column-screen-left table{background:#fff}.page-columns .column-screen-right{grid-column:body-content-start/page-end;z-index:998;transform:translate3d(0, 0, 0)}.page-columns .column-screen-right table{background:#fff}.page-columns .column-screen-inset-shaded{grid-column:page-start-inset/page-end-inset;padding:1em;background:#f8f9fa;z-index:998;transform:translate3d(0, 0, 0);margin-bottom:1em}}.quarto-video{margin-bottom:1em}a.external:after{display:inline-block;height:.75rem;width:.75rem;margin-bottom:.15em;margin-left:.25em;content:"";vertical-align:-0.125em;background-image:url('data:image/svg+xml,');background-repeat:no-repeat;background-size:.75rem .75rem}a.external:after:hover{cursor:pointer}.quarto-ext-icon{display:inline-block;font-size:.75em;padding-left:.3em}.code-with-filename .code-with-filename-file{margin-bottom:0;padding-bottom:2px;padding-top:2px;padding-left:.7em;border:var(--quarto-border-width) solid var(--quarto-border-color);border-radius:var(--quarto-border-radius);border-bottom:0;border-bottom-left-radius:0%;border-bottom-right-radius:0%}.code-with-filename div.sourceCode,.reveal .code-with-filename div.sourceCode{margin-top:0;border-top-left-radius:0%;border-top-right-radius:0%}.code-with-filename .code-with-filename-file pre{margin-bottom:0}.code-with-filename .code-with-filename-file,.code-with-filename .code-with-filename-file pre{background-color:rgba(219,219,219,.8)}.quarto-dark .code-with-filename .code-with-filename-file,.quarto-dark .code-with-filename .code-with-filename-file pre{background-color:#555}.code-with-filename .code-with-filename-file strong{font-weight:400}.quarto-title-banner{margin-bottom:1em;color:#fff;background:#2fa4e7}.quarto-title-banner .code-tools-button{color:#fff}.quarto-title-banner .code-tools-button:hover{color:#fff}.quarto-title-banner .code-tools-button>.bi::before{background-image:url('data:image/svg+xml,')}.quarto-title-banner .code-tools-button:hover>.bi::before{background-image:url('data:image/svg+xml,')}.quarto-title-banner .quarto-title .title{font-weight:600}.quarto-title-banner .quarto-categories{margin-top:.75em}@media(min-width: 992px){.quarto-title-banner{padding-top:2.5em;padding-bottom:2.5em}}@media(max-width: 991.98px){.quarto-title-banner{padding-top:1em;padding-bottom:1em}}main.quarto-banner-title-block section:first-of-type h2:first-of-type,main.quarto-banner-title-block section:first-of-type .h2:first-of-type,main.quarto-banner-title-block section:first-of-type h3:first-of-type,main.quarto-banner-title-block section:first-of-type .h3:first-of-type,main.quarto-banner-title-block section:first-of-type h4:first-of-type,main.quarto-banner-title-block section:first-of-type .h4:first-of-type{margin-top:0}.quarto-title .quarto-categories{display:flex;column-gap:.4em;padding-bottom:.5em;margin-top:.75em}.quarto-title .quarto-categories .quarto-category{padding:.25em .75em;font-size:.65em;text-transform:uppercase;border:solid 1px;border-radius:.25rem;opacity:.6}.quarto-title .quarto-categories .quarto-category a{color:inherit}#title-block-header.quarto-title-block.default .quarto-title-meta{display:grid;grid-template-columns:repeat(2, 1fr)}#title-block-header.quarto-title-block.default .quarto-title .title{margin-bottom:0}#title-block-header.quarto-title-block.default .quarto-title-author-orcid img{margin-top:-5px}#title-block-header.quarto-title-block.default .quarto-description p:last-of-type{margin-bottom:0}#title-block-header.quarto-title-block.default .quarto-title-meta-contents p,#title-block-header.quarto-title-block.default .quarto-title-authors p,#title-block-header.quarto-title-block.default .quarto-title-affiliations p{margin-bottom:.1em}#title-block-header.quarto-title-block.default .quarto-title-meta-heading{text-transform:uppercase;margin-top:1em;font-size:.8em;opacity:.8;font-weight:400}#title-block-header.quarto-title-block.default .quarto-title-meta-contents{font-size:.9em}#title-block-header.quarto-title-block.default .quarto-title-meta-contents a{color:#495057}#title-block-header.quarto-title-block.default .quarto-title-meta-contents p.affiliation:last-of-type{margin-bottom:.7em}#title-block-header.quarto-title-block.default p.affiliation{margin-bottom:.1em}#title-block-header.quarto-title-block.default .description,#title-block-header.quarto-title-block.default .abstract{margin-top:0}#title-block-header.quarto-title-block.default .description>p,#title-block-header.quarto-title-block.default .abstract>p{font-size:.9em}#title-block-header.quarto-title-block.default .description>p:last-of-type,#title-block-header.quarto-title-block.default .abstract>p:last-of-type{margin-bottom:0}#title-block-header.quarto-title-block.default .description .abstract-title,#title-block-header.quarto-title-block.default .abstract .abstract-title{margin-top:1em;text-transform:uppercase;font-size:.8em;opacity:.8;font-weight:400}#title-block-header.quarto-title-block.default .quarto-title-meta-author{display:grid;grid-template-columns:1fr 1fr}body{-webkit-font-smoothing:antialiased}.badge.bg-light{color:#343a40}.progress .progress-bar{font-size:8px;line-height:8px}.navbar.bg-default{background-image:linear-gradient(#edeff2, #e9ecef 60%, #dbdee1)}.navbar.bg-primary{background-image:linear-gradient(#50b3eb, #2fa4e7 60%, #2c9ad9)}.navbar.bg-secondary{background-image:linear-gradient(#edeff2, #e9ecef 60%, #dbdee1)}.navbar.bg-success{background-image:linear-gradient(#89b659, #73a839 60%, #6c9e36)}.navbar.bg-info{background-image:linear-gradient(#2b5b89, #033c73 60%, #03386c)}.navbar.bg-warning{background-image:linear-gradient(#e27129, #dd5600 60%, #d05100)}.navbar.bg-danger{background-image:linear-gradient(#d04045, #c71c22 60%, #bb1a20)}.navbar.bg-light{background-image:linear-gradient(#f9fafb, #f8f9fa 60%, #e9eaeb)}.navbar.bg-dark{background-image:linear-gradient(#545a5f, #343a40 60%, #31373c)}.navbar-brand,.nav-link{text-shadow:0 1px 0 rgba(0,0,0,.05)}.btn{text-shadow:0 1px 0 rgba(0,0,0,.05)}.btn-secondary{color:#495057}.btn-default{background-image:linear-gradient(#edeff2, #e9ecef 60%, #dbdee1)}.btn-primary{background-image:linear-gradient(#50b3eb, #2fa4e7 60%, #2c9ad9)}.btn-secondary{background-image:linear-gradient(#edeff2, #e9ecef 60%, #dbdee1)}.btn-success{background-image:linear-gradient(#89b659, #73a839 60%, #6c9e36)}.btn-info{background-image:linear-gradient(#2b5b89, #033c73 60%, #03386c)}.btn-warning{background-image:linear-gradient(#e27129, #dd5600 60%, #d05100)}.btn-danger{background-image:linear-gradient(#d04045, #c71c22 60%, #bb1a20)}.btn-light{background-image:linear-gradient(#f9fafb, #f8f9fa 60%, #e9eaeb)}.btn-dark{background-image:linear-gradient(#545a5f, #343a40 60%, #31373c)}.text-secondary{color:#adb5bd !important}.bg-primary h1,.bg-primary .h1,.bg-primary h2,.bg-primary .h2,.bg-primary h3,.bg-primary .h3,.bg-primary h4,.bg-primary .h4,.bg-primary h5,.bg-primary .h5,.bg-primary h6,.bg-primary .h6,.bg-success h1,.bg-success .h1,.bg-success h2,.bg-success .h2,.bg-success h3,.bg-success .h3,.bg-success h4,.bg-success .h4,.bg-success h5,.bg-success .h5,.bg-success h6,.bg-success .h6,.bg-info h1,.bg-info .h1,.bg-info h2,.bg-info .h2,.bg-info h3,.bg-info .h3,.bg-info h4,.bg-info .h4,.bg-info h5,.bg-info .h5,.bg-info h6,.bg-info .h6,.bg-warning h1,.bg-warning .h1,.bg-warning h2,.bg-warning .h2,.bg-warning h3,.bg-warning .h3,.bg-warning h4,.bg-warning .h4,.bg-warning h5,.bg-warning .h5,.bg-warning h6,.bg-warning .h6,.bg-danger h1,.bg-danger .h1,.bg-danger h2,.bg-danger .h2,.bg-danger h3,.bg-danger .h3,.bg-danger h4,.bg-danger .h4,.bg-danger h5,.bg-danger .h5,.bg-danger h6,.bg-danger .h6,.bg-dark h1,.bg-dark .h1,.bg-dark h2,.bg-dark .h2,.bg-dark h3,.bg-dark .h3,.bg-dark h4,.bg-dark .h4,.bg-dark h5,.bg-dark .h5,.bg-dark h6,.bg-dark .h6{color:#fff}.dropdown-menu .dropdown-header{color:#868e96}.badge.bg-secondary,.badge.bg-light{color:#343a40}/*# sourceMappingURL=397ef2e52d54cf686e4908b90039e9db.css.map */ +* we also add `bright-[color]-` synonyms for the `-[color]-intense` classes since +* that seems to be what ansi_up emits +* +*/.ansi-black-fg{color:#3e424d}.ansi-black-bg{background-color:#3e424d}.ansi-black-intense-black,.ansi-bright-black-fg{color:#282c36}.ansi-black-intense-black,.ansi-bright-black-bg{background-color:#282c36}.ansi-red-fg{color:#e75c58}.ansi-red-bg{background-color:#e75c58}.ansi-red-intense-red,.ansi-bright-red-fg{color:#b22b31}.ansi-red-intense-red,.ansi-bright-red-bg{background-color:#b22b31}.ansi-green-fg{color:#00a250}.ansi-green-bg{background-color:#00a250}.ansi-green-intense-green,.ansi-bright-green-fg{color:#007427}.ansi-green-intense-green,.ansi-bright-green-bg{background-color:#007427}.ansi-yellow-fg{color:#ddb62b}.ansi-yellow-bg{background-color:#ddb62b}.ansi-yellow-intense-yellow,.ansi-bright-yellow-fg{color:#b27d12}.ansi-yellow-intense-yellow,.ansi-bright-yellow-bg{background-color:#b27d12}.ansi-blue-fg{color:#208ffb}.ansi-blue-bg{background-color:#208ffb}.ansi-blue-intense-blue,.ansi-bright-blue-fg{color:#0065ca}.ansi-blue-intense-blue,.ansi-bright-blue-bg{background-color:#0065ca}.ansi-magenta-fg{color:#d160c4}.ansi-magenta-bg{background-color:#d160c4}.ansi-magenta-intense-magenta,.ansi-bright-magenta-fg{color:#a03196}.ansi-magenta-intense-magenta,.ansi-bright-magenta-bg{background-color:#a03196}.ansi-cyan-fg{color:#60c6c8}.ansi-cyan-bg{background-color:#60c6c8}.ansi-cyan-intense-cyan,.ansi-bright-cyan-fg{color:#258f8f}.ansi-cyan-intense-cyan,.ansi-bright-cyan-bg{background-color:#258f8f}.ansi-white-fg{color:#c5c1b4}.ansi-white-bg{background-color:#c5c1b4}.ansi-white-intense-white,.ansi-bright-white-fg{color:#a1a6b2}.ansi-white-intense-white,.ansi-bright-white-bg{background-color:#a1a6b2}.ansi-default-inverse-fg{color:#fff}.ansi-default-inverse-bg{background-color:#000}.ansi-bold{font-weight:bold}.ansi-underline{text-decoration:underline}:root{--quarto-body-bg: #fff;--quarto-body-color: #495057;--quarto-text-muted: rgba(73, 80, 87, 0.75);--quarto-border-color: #dee2e6;--quarto-border-width: 1px;--quarto-border-radius: 0.375rem}table.gt_table{color:var(--quarto-body-color);font-size:1em;width:100%;background-color:rgba(0,0,0,0);border-top-width:inherit;border-bottom-width:inherit;border-color:var(--quarto-border-color)}table.gt_table th.gt_column_spanner_outer{color:var(--quarto-body-color);background-color:rgba(0,0,0,0);border-top-width:inherit;border-bottom-width:inherit;border-color:var(--quarto-border-color)}table.gt_table th.gt_col_heading{color:var(--quarto-body-color);font-weight:bold;background-color:rgba(0,0,0,0)}table.gt_table thead.gt_col_headings{border-bottom:1px solid currentColor;border-top-width:inherit;border-top-color:var(--quarto-border-color)}table.gt_table thead.gt_col_headings:not(:first-child){border-top-width:1px;border-top-color:var(--quarto-border-color)}table.gt_table td.gt_row{border-bottom-width:1px;border-bottom-color:var(--quarto-border-color);border-top-width:0px}table.gt_table tbody.gt_table_body{border-top-width:1px;border-bottom-width:1px;border-bottom-color:var(--quarto-border-color);border-top-color:currentColor}div.columns{display:initial;gap:initial}div.column{display:inline-block;overflow-x:initial;vertical-align:top;width:50%}.code-annotation-tip-content{word-wrap:break-word}.code-annotation-container-hidden{display:none !important}dl.code-annotation-container-grid{display:grid;grid-template-columns:min-content auto}dl.code-annotation-container-grid dt{grid-column:1}dl.code-annotation-container-grid dd{grid-column:2}pre.sourceCode.code-annotation-code{padding-right:0}code.sourceCode .code-annotation-anchor{z-index:100;position:relative;float:right;background-color:rgba(0,0,0,0)}input[type=checkbox]{margin-right:.5ch}:root{--mermaid-bg-color: #fff;--mermaid-edge-color: #e9ecef;--mermaid-node-fg-color: #495057;--mermaid-fg-color: #495057;--mermaid-fg-color--lighter: #606a73;--mermaid-fg-color--lightest: #78838e;--mermaid-font-family: Source Sans Pro, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol;--mermaid-label-bg-color: #fff;--mermaid-label-fg-color: #2fa4e7;--mermaid-node-bg-color: rgba(47, 164, 231, 0.1);--mermaid-node-fg-color: #495057}@media print{:root{font-size:11pt}#quarto-sidebar,#TOC,.nav-page{display:none}.page-columns .content{grid-column-start:page-start}.fixed-top{position:relative}.panel-caption,.figure-caption,figcaption{color:#666}}.code-copy-button{position:absolute;top:0;right:0;border:0;margin-top:5px;margin-right:5px;background-color:rgba(0,0,0,0);z-index:3}.code-copy-button:focus{outline:none}.code-copy-button-tooltip{font-size:.75em}pre.sourceCode:hover>.code-copy-button>.bi::before{display:inline-block;height:1rem;width:1rem;content:"";vertical-align:-0.125em;background-image:url('data:image/svg+xml,');background-repeat:no-repeat;background-size:1rem 1rem}pre.sourceCode:hover>.code-copy-button-checked>.bi::before{background-image:url('data:image/svg+xml,')}pre.sourceCode:hover>.code-copy-button:hover>.bi::before{background-image:url('data:image/svg+xml,')}pre.sourceCode:hover>.code-copy-button-checked:hover>.bi::before{background-image:url('data:image/svg+xml,')}main ol ol,main ul ul,main ol ul,main ul ol{margin-bottom:1em}ul>li:not(:has(>p))>ul,ol>li:not(:has(>p))>ul,ul>li:not(:has(>p))>ol,ol>li:not(:has(>p))>ol{margin-bottom:0}ul>li:not(:has(>p))>ul>li:has(>p),ol>li:not(:has(>p))>ul>li:has(>p),ul>li:not(:has(>p))>ol>li:has(>p),ol>li:not(:has(>p))>ol>li:has(>p){margin-top:1rem}body{margin:0}main.page-columns>header>h1.title,main.page-columns>header>.title.h1{margin-bottom:0}@media(min-width: 992px){body .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset] 5fr [page-start page-start-inset] 35px [body-start-outset] 35px [body-start] 1.5em [body-content-start] minmax(500px, calc(850px - 3em)) [body-content-end] 1.5em [body-end] 35px [body-end-outset] minmax(75px, 145px) [page-end-inset] 35px [page-end] 5fr [screen-end-inset] 1.5em [screen-end]}body.fullcontent:not(.floating):not(.docked) .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset] 5fr [page-start page-start-inset] 35px [body-start-outset] 35px [body-start] 1.5em [body-content-start] minmax(500px, calc(850px - 3em)) [body-content-end] 1.5em [body-end] 35px [body-end-outset] 35px [page-end-inset page-end] 5fr [screen-end-inset] 1.5em}body.slimcontent:not(.floating):not(.docked) .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset] 5fr [page-start page-start-inset] 35px [body-start-outset] 35px [body-start] 1.5em [body-content-start] minmax(500px, calc(850px - 3em)) [body-content-end] 1.5em [body-end] 50px [body-end-outset] minmax(0px, 200px) [page-end-inset] 35px [page-end] 5fr [screen-end-inset] 1.5em [screen-end]}body.listing:not(.floating):not(.docked) .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset page-start] minmax(50px, 100px) [page-start-inset] 50px [body-start-outset] 50px [body-start] 1.5em [body-content-start] minmax(500px, calc(850px - 3em)) [body-content-end] 3em [body-end] 50px [body-end-outset] minmax(0px, 250px) [page-end-inset] minmax(50px, 100px) [page-end] 1fr [screen-end-inset] 1.5em [screen-end]}body:not(.floating):not(.docked) .page-columns.toc-left{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset] 5fr [page-start] 35px [page-start-inset] minmax(0px, 175px) [body-start-outset] 35px [body-start] 1.5em [body-content-start] minmax(450px, calc(800px - 3em)) [body-content-end] 1.5em [body-end] 50px [body-end-outset] minmax(0px, 200px) [page-end-inset] 50px [page-end] 5fr [screen-end-inset] 1.5em [screen-end]}body:not(.floating):not(.docked) .page-columns.toc-left .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset] 5fr [page-start] 35px [page-start-inset] minmax(0px, 175px) [body-start-outset] 35px [body-start] 1.5em [body-content-start] minmax(450px, calc(800px - 3em)) [body-content-end] 1.5em [body-end] 50px [body-end-outset] minmax(0px, 200px) [page-end-inset] 50px [page-end] 5fr [screen-end-inset] 1.5em [screen-end]}body.floating .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset] 5fr [page-start] minmax(25px, 50px) [page-start-inset] minmax(50px, 150px) [body-start-outset] minmax(25px, 50px) [body-start] 1.5em [body-content-start] minmax(500px, calc(800px - 3em)) [body-content-end] 1.5em [body-end] minmax(25px, 50px) [body-end-outset] minmax(50px, 150px) [page-end-inset] minmax(25px, 50px) [page-end] 5fr [screen-end-inset] 1.5em [screen-end]}body.docked .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset page-start] minmax(50px, 100px) [page-start-inset] 50px [body-start-outset] 50px [body-start] 1.5em [body-content-start] minmax(500px, calc(1000px - 3em)) [body-content-end] 1.5em [body-end] 50px [body-end-outset] minmax(50px, 100px) [page-end-inset] 50px [page-end] 5fr [screen-end-inset] 1.5em [screen-end]}body.docked.fullcontent .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset page-start] minmax(50px, 100px) [page-start-inset] 50px [body-start-outset] 50px [body-start] 1.5em [body-content-start] minmax(500px, calc(1000px - 3em)) [body-content-end] 1.5em [body-end body-end-outset page-end-inset page-end] 5fr [screen-end-inset] 1.5em [screen-end]}body.floating.fullcontent .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset] 5fr [page-start] 50px [page-start-inset] minmax(50px, 150px) [body-start-outset] 50px [body-start] 1.5em [body-content-start] minmax(500px, calc(800px - 3em)) [body-content-end] 1.5em [body-end body-end-outset page-end-inset page-end] 5fr [screen-end-inset] 1.5em [screen-end]}body.docked.slimcontent .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset page-start] minmax(50px, 100px) [page-start-inset] 50px [body-start-outset] 50px [body-start] 1.5em [body-content-start] minmax(450px, calc(750px - 3em)) [body-content-end] 1.5em [body-end] 50px [body-end-outset] minmax(0px, 200px) [page-end-inset] 50px [page-end] 5fr [screen-end-inset] 1.5em [screen-end]}body.docked.listing .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset page-start] minmax(50px, 100px) [page-start-inset] 50px [body-start-outset] 50px [body-start] 1.5em [body-content-start] minmax(500px, calc(1000px - 3em)) [body-content-end] 1.5em [body-end] 50px [body-end-outset] minmax(0px, 200px) [page-end-inset] 50px [page-end] 5fr [screen-end-inset] 1.5em [screen-end]}body.floating.slimcontent .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset] 5fr [page-start] 50px [page-start-inset] minmax(50px, 150px) [body-start-outset] 50px [body-start] 1.5em [body-content-start] minmax(450px, calc(750px - 3em)) [body-content-end] 1.5em [body-end] 50px [body-end-outset] minmax(50px, 150px) [page-end-inset] 50px [page-end] 5fr [screen-end-inset] 1.5em [screen-end]}body.floating.listing .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset] 5fr [page-start] minmax(25px, 50px) [page-start-inset] minmax(50px, 150px) [body-start-outset] minmax(25px, 50px) [body-start] 1.5em [body-content-start] minmax(500px, calc(800px - 3em)) [body-content-end] 1.5em [body-end] minmax(25px, 50px) [body-end-outset] minmax(50px, 150px) [page-end-inset] minmax(25px, 50px) [page-end] 5fr [screen-end-inset] 1.5em [screen-end]}}@media(max-width: 991.98px){body .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset page-start page-start-inset body-start-outset] 5fr [body-start] 1.5em [body-content-start] minmax(500px, calc(800px - 3em)) [body-content-end] 1.5em [body-end] 35px [body-end-outset] minmax(75px, 145px) [page-end-inset] 35px [page-end] 5fr [screen-end-inset] 1.5em [screen-end]}body.fullcontent:not(.floating):not(.docked) .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset page-start page-start-inset body-start-outset] 5fr [body-start] 1.5em [body-content-start] minmax(500px, calc(800px - 3em)) [body-content-end] 1.5em [body-end body-end-outset page-end-inset page-end] 5fr [screen-end-inset] 1.5em [screen-end]}body.slimcontent:not(.floating):not(.docked) .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset page-start page-start-inset body-start-outset] 5fr [body-start] 1.5em [body-content-start] minmax(500px, calc(800px - 3em)) [body-content-end] 1.5em [body-end] 35px [body-end-outset] minmax(75px, 145px) [page-end-inset] 35px [page-end] 5fr [screen-end-inset] 1.5em [screen-end]}body.listing:not(.floating):not(.docked) .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset page-start page-start-inset body-start-outset] 5fr [body-start] 1.5em [body-content-start] minmax(500px, calc(1250px - 3em)) [body-content-end body-end body-end-outset page-end-inset page-end] 5fr [screen-end-inset] 1.5em [screen-end]}body:not(.floating):not(.docked) .page-columns.toc-left{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset] 5fr [page-start] 35px [page-start-inset] minmax(0px, 145px) [body-start-outset] 35px [body-start] 1.5em [body-content-start] minmax(450px, calc(800px - 3em)) [body-content-end] 1.5em [body-end body-end-outset page-end-inset page-end] 5fr [screen-end-inset] 1.5em [screen-end]}body:not(.floating):not(.docked) .page-columns.toc-left .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset] 5fr [page-start] 35px [page-start-inset] minmax(0px, 145px) [body-start-outset] 35px [body-start] 1.5em [body-content-start] minmax(450px, calc(800px - 3em)) [body-content-end] 1.5em [body-end body-end-outset page-end-inset page-end] 5fr [screen-end-inset] 1.5em [screen-end]}body.floating .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset] 5fr [page-start page-start-inset body-start-outset body-start] 1.5em [body-content-start] minmax(500px, calc(750px - 3em)) [body-content-end] 1.5em [body-end] 50px [body-end-outset] minmax(75px, 150px) [page-end-inset] 25px [page-end] 5fr [screen-end-inset] 1.5em [screen-end]}body.docked .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset page-start page-start-inset body-start-outset body-start body-content-start] minmax(500px, calc(750px - 3em)) [body-content-end] 1.5em [body-end] 50px [body-end-outset] minmax(25px, 50px) [page-end-inset] 50px [page-end] 5fr [screen-end-inset] 1.5em [screen-end]}body.docked.fullcontent .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset page-start page-start-inset body-start-outset body-start body-content-start] minmax(500px, calc(1000px - 3em)) [body-content-end] 1.5em [body-end body-end-outset page-end-inset page-end] 5fr [screen-end-inset] 1.5em [screen-end]}body.floating.fullcontent .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset] 5fr [page-start page-start-inset body-start-outset body-start] 1em [body-content-start] minmax(500px, calc(800px - 3em)) [body-content-end] 1.5em [body-end body-end-outset page-end-inset page-end] 4fr [screen-end-inset] 1.5em [screen-end]}body.docked.slimcontent .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset page-start page-start-inset body-start-outset body-start body-content-start] minmax(500px, calc(750px - 3em)) [body-content-end] 1.5em [body-end] 50px [body-end-outset] minmax(25px, 50px) [page-end-inset] 50px [page-end] 5fr [screen-end-inset] 1.5em [screen-end]}body.docked.listing .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset page-start page-start-inset body-start-outset body-start body-content-start] minmax(500px, calc(750px - 3em)) [body-content-end] 1.5em [body-end] 50px [body-end-outset] minmax(25px, 50px) [page-end-inset] 50px [page-end] 5fr [screen-end-inset] 1.5em [screen-end]}body.floating.slimcontent .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset] 5fr [page-start page-start-inset body-start-outset body-start] 1em [body-content-start] minmax(500px, calc(750px - 3em)) [body-content-end] 1.5em [body-end] 35px [body-end-outset] minmax(75px, 145px) [page-end-inset] 35px [page-end] 4fr [screen-end-inset] 1.5em [screen-end]}body.floating.listing .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset] 5fr [page-start page-start-inset body-start-outset body-start] 1em [body-content-start] minmax(500px, calc(750px - 3em)) [body-content-end] 1.5em [body-end] 50px [body-end-outset] minmax(75px, 150px) [page-end-inset] 25px [page-end] 4fr [screen-end-inset] 1.5em [screen-end]}}@media(max-width: 767.98px){body .page-columns,body.fullcontent:not(.floating):not(.docked) .page-columns,body.slimcontent:not(.floating):not(.docked) .page-columns,body.docked .page-columns,body.docked.slimcontent .page-columns,body.docked.fullcontent .page-columns,body.floating .page-columns,body.floating.slimcontent .page-columns,body.floating.fullcontent .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset page-start page-start-inset body-start-outset body-start body-content-start] minmax(0px, 1fr) [body-content-end body-end body-end-outset page-end-inset page-end screen-end-inset] 1.5em [screen-end]}body:not(.floating):not(.docked) .page-columns.toc-left{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset page-start page-start-inset body-start-outset body-start body-content-start] minmax(0px, 1fr) [body-content-end body-end body-end-outset page-end-inset page-end screen-end-inset] 1.5em [screen-end]}body:not(.floating):not(.docked) .page-columns.toc-left .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset page-start page-start-inset body-start-outset body-start body-content-start] minmax(0px, 1fr) [body-content-end body-end body-end-outset page-end-inset page-end screen-end-inset] 1.5em [screen-end]}nav[role=doc-toc]{display:none}}body,.page-row-navigation{grid-template-rows:[page-top] max-content [contents-top] max-content [contents-bottom] max-content [page-bottom]}.page-rows-contents{grid-template-rows:[content-top] minmax(max-content, 1fr) [content-bottom] minmax(60px, max-content) [page-bottom]}.page-full{grid-column:screen-start/screen-end !important}.page-columns>*{grid-column:body-content-start/body-content-end}.page-columns.column-page>*{grid-column:page-start/page-end}.page-columns.column-page-left .page-columns.page-full>*,.page-columns.column-page-left>*{grid-column:page-start/body-content-end}.page-columns.column-page-right .page-columns.page-full>*,.page-columns.column-page-right>*{grid-column:body-content-start/page-end}.page-rows{grid-auto-rows:auto}.header{grid-column:screen-start/screen-end;grid-row:page-top/contents-top}#quarto-content{padding:0;grid-column:screen-start/screen-end;grid-row:contents-top/contents-bottom}body.floating .sidebar.sidebar-navigation{grid-column:page-start/body-start;grid-row:content-top/page-bottom}body.docked .sidebar.sidebar-navigation{grid-column:screen-start/body-start;grid-row:content-top/page-bottom}.sidebar.toc-left{grid-column:page-start/body-start;grid-row:content-top/page-bottom}.sidebar.margin-sidebar{grid-column:body-end/page-end;grid-row:content-top/page-bottom}.page-columns .content{grid-column:body-content-start/body-content-end;grid-row:content-top/content-bottom;align-content:flex-start}.page-columns .page-navigation{grid-column:body-content-start/body-content-end;grid-row:content-bottom/page-bottom}.page-columns .footer{grid-column:screen-start/screen-end;grid-row:contents-bottom/page-bottom}.page-columns .column-body{grid-column:body-content-start/body-content-end}.page-columns .column-body-fullbleed{grid-column:body-start/body-end}.page-columns .column-body-outset{grid-column:body-start-outset/body-end-outset;z-index:998;opacity:.999}.page-columns .column-body-outset table{background:#fff}.page-columns .column-body-outset-left{grid-column:body-start-outset/body-content-end;z-index:998;opacity:.999}.page-columns .column-body-outset-left table{background:#fff}.page-columns .column-body-outset-right{grid-column:body-content-start/body-end-outset;z-index:998;opacity:.999}.page-columns .column-body-outset-right table{background:#fff}.page-columns .column-page{grid-column:page-start/page-end;z-index:998;opacity:.999}.page-columns .column-page table{background:#fff}.page-columns .column-page-inset{grid-column:page-start-inset/page-end-inset;z-index:998;opacity:.999}.page-columns .column-page-inset table{background:#fff}.page-columns .column-page-inset-left{grid-column:page-start-inset/body-content-end;z-index:998;opacity:.999}.page-columns .column-page-inset-left table{background:#fff}.page-columns .column-page-inset-right{grid-column:body-content-start/page-end-inset;z-index:998;opacity:.999}.page-columns .column-page-inset-right figcaption table{background:#fff}.page-columns .column-page-left{grid-column:page-start/body-content-end;z-index:998;opacity:.999}.page-columns .column-page-left table{background:#fff}.page-columns .column-page-right{grid-column:body-content-start/page-end;z-index:998;opacity:.999}.page-columns .column-page-right figcaption table{background:#fff}#quarto-content.page-columns #quarto-margin-sidebar,#quarto-content.page-columns #quarto-sidebar{z-index:1}@media(max-width: 991.98px){#quarto-content.page-columns #quarto-margin-sidebar.collapse,#quarto-content.page-columns #quarto-sidebar.collapse,#quarto-content.page-columns #quarto-margin-sidebar.collapsing,#quarto-content.page-columns #quarto-sidebar.collapsing{z-index:1055}}#quarto-content.page-columns main.column-page,#quarto-content.page-columns main.column-page-right,#quarto-content.page-columns main.column-page-left{z-index:0}.page-columns .column-screen-inset{grid-column:screen-start-inset/screen-end-inset;z-index:998;opacity:.999}.page-columns .column-screen-inset table{background:#fff}.page-columns .column-screen-inset-left{grid-column:screen-start-inset/body-content-end;z-index:998;opacity:.999}.page-columns .column-screen-inset-left table{background:#fff}.page-columns .column-screen-inset-right{grid-column:body-content-start/screen-end-inset;z-index:998;opacity:.999}.page-columns .column-screen-inset-right table{background:#fff}.page-columns .column-screen{grid-column:screen-start/screen-end;z-index:998;opacity:.999}.page-columns .column-screen table{background:#fff}.page-columns .column-screen-left{grid-column:screen-start/body-content-end;z-index:998;opacity:.999}.page-columns .column-screen-left table{background:#fff}.page-columns .column-screen-right{grid-column:body-content-start/screen-end;z-index:998;opacity:.999}.page-columns .column-screen-right table{background:#fff}.page-columns .column-screen-inset-shaded{grid-column:screen-start/screen-end;padding:1em;background:#f8f9fa;z-index:998;opacity:.999;margin-bottom:1em}.zindex-content{z-index:998;opacity:.999}.zindex-modal{z-index:1055;opacity:.999}.zindex-over-content{z-index:999;opacity:.999}img.img-fluid.column-screen,img.img-fluid.column-screen-inset-shaded,img.img-fluid.column-screen-inset,img.img-fluid.column-screen-inset-left,img.img-fluid.column-screen-inset-right,img.img-fluid.column-screen-left,img.img-fluid.column-screen-right{width:100%}@media(min-width: 992px){.margin-caption,div.aside,aside:not(.footnotes):not(.sidebar),.column-margin{grid-column:body-end/page-end !important;z-index:998}.column-sidebar{grid-column:page-start/body-start !important;z-index:998}.column-leftmargin{grid-column:screen-start-inset/body-start !important;z-index:998}.no-row-height{height:1em;overflow:visible}}@media(max-width: 991.98px){.margin-caption,div.aside,aside:not(.footnotes):not(.sidebar),.column-margin{grid-column:body-end/page-end !important;z-index:998}.no-row-height{height:1em;overflow:visible}.page-columns.page-full{overflow:visible}.page-columns.toc-left .margin-caption,.page-columns.toc-left div.aside,.page-columns.toc-left aside:not(.footnotes):not(.sidebar),.page-columns.toc-left .column-margin{grid-column:body-content-start/body-content-end !important;z-index:998;opacity:.999}.page-columns.toc-left .no-row-height{height:initial;overflow:initial}}@media(max-width: 767.98px){.margin-caption,div.aside,aside:not(.footnotes):not(.sidebar),.column-margin{grid-column:body-content-start/body-content-end !important;z-index:998;opacity:.999}.no-row-height{height:initial;overflow:initial}#quarto-margin-sidebar{display:none}#quarto-sidebar-toc-left{display:none}.hidden-sm{display:none}}.panel-grid{display:grid;grid-template-rows:repeat(1, 1fr);grid-template-columns:repeat(24, 1fr);gap:1em}.panel-grid .g-col-1{grid-column:auto/span 1}.panel-grid .g-col-2{grid-column:auto/span 2}.panel-grid .g-col-3{grid-column:auto/span 3}.panel-grid .g-col-4{grid-column:auto/span 4}.panel-grid .g-col-5{grid-column:auto/span 5}.panel-grid .g-col-6{grid-column:auto/span 6}.panel-grid .g-col-7{grid-column:auto/span 7}.panel-grid .g-col-8{grid-column:auto/span 8}.panel-grid .g-col-9{grid-column:auto/span 9}.panel-grid .g-col-10{grid-column:auto/span 10}.panel-grid .g-col-11{grid-column:auto/span 11}.panel-grid .g-col-12{grid-column:auto/span 12}.panel-grid .g-col-13{grid-column:auto/span 13}.panel-grid .g-col-14{grid-column:auto/span 14}.panel-grid .g-col-15{grid-column:auto/span 15}.panel-grid .g-col-16{grid-column:auto/span 16}.panel-grid .g-col-17{grid-column:auto/span 17}.panel-grid .g-col-18{grid-column:auto/span 18}.panel-grid .g-col-19{grid-column:auto/span 19}.panel-grid .g-col-20{grid-column:auto/span 20}.panel-grid .g-col-21{grid-column:auto/span 21}.panel-grid .g-col-22{grid-column:auto/span 22}.panel-grid .g-col-23{grid-column:auto/span 23}.panel-grid .g-col-24{grid-column:auto/span 24}.panel-grid .g-start-1{grid-column-start:1}.panel-grid .g-start-2{grid-column-start:2}.panel-grid .g-start-3{grid-column-start:3}.panel-grid .g-start-4{grid-column-start:4}.panel-grid .g-start-5{grid-column-start:5}.panel-grid .g-start-6{grid-column-start:6}.panel-grid .g-start-7{grid-column-start:7}.panel-grid .g-start-8{grid-column-start:8}.panel-grid .g-start-9{grid-column-start:9}.panel-grid .g-start-10{grid-column-start:10}.panel-grid .g-start-11{grid-column-start:11}.panel-grid .g-start-12{grid-column-start:12}.panel-grid .g-start-13{grid-column-start:13}.panel-grid .g-start-14{grid-column-start:14}.panel-grid .g-start-15{grid-column-start:15}.panel-grid .g-start-16{grid-column-start:16}.panel-grid .g-start-17{grid-column-start:17}.panel-grid .g-start-18{grid-column-start:18}.panel-grid .g-start-19{grid-column-start:19}.panel-grid .g-start-20{grid-column-start:20}.panel-grid .g-start-21{grid-column-start:21}.panel-grid .g-start-22{grid-column-start:22}.panel-grid .g-start-23{grid-column-start:23}@media(min-width: 576px){.panel-grid .g-col-sm-1{grid-column:auto/span 1}.panel-grid .g-col-sm-2{grid-column:auto/span 2}.panel-grid .g-col-sm-3{grid-column:auto/span 3}.panel-grid .g-col-sm-4{grid-column:auto/span 4}.panel-grid .g-col-sm-5{grid-column:auto/span 5}.panel-grid .g-col-sm-6{grid-column:auto/span 6}.panel-grid .g-col-sm-7{grid-column:auto/span 7}.panel-grid .g-col-sm-8{grid-column:auto/span 8}.panel-grid .g-col-sm-9{grid-column:auto/span 9}.panel-grid .g-col-sm-10{grid-column:auto/span 10}.panel-grid .g-col-sm-11{grid-column:auto/span 11}.panel-grid .g-col-sm-12{grid-column:auto/span 12}.panel-grid .g-col-sm-13{grid-column:auto/span 13}.panel-grid .g-col-sm-14{grid-column:auto/span 14}.panel-grid .g-col-sm-15{grid-column:auto/span 15}.panel-grid .g-col-sm-16{grid-column:auto/span 16}.panel-grid .g-col-sm-17{grid-column:auto/span 17}.panel-grid .g-col-sm-18{grid-column:auto/span 18}.panel-grid .g-col-sm-19{grid-column:auto/span 19}.panel-grid .g-col-sm-20{grid-column:auto/span 20}.panel-grid .g-col-sm-21{grid-column:auto/span 21}.panel-grid .g-col-sm-22{grid-column:auto/span 22}.panel-grid .g-col-sm-23{grid-column:auto/span 23}.panel-grid .g-col-sm-24{grid-column:auto/span 24}.panel-grid .g-start-sm-1{grid-column-start:1}.panel-grid .g-start-sm-2{grid-column-start:2}.panel-grid .g-start-sm-3{grid-column-start:3}.panel-grid .g-start-sm-4{grid-column-start:4}.panel-grid .g-start-sm-5{grid-column-start:5}.panel-grid .g-start-sm-6{grid-column-start:6}.panel-grid .g-start-sm-7{grid-column-start:7}.panel-grid .g-start-sm-8{grid-column-start:8}.panel-grid .g-start-sm-9{grid-column-start:9}.panel-grid .g-start-sm-10{grid-column-start:10}.panel-grid .g-start-sm-11{grid-column-start:11}.panel-grid .g-start-sm-12{grid-column-start:12}.panel-grid .g-start-sm-13{grid-column-start:13}.panel-grid .g-start-sm-14{grid-column-start:14}.panel-grid .g-start-sm-15{grid-column-start:15}.panel-grid .g-start-sm-16{grid-column-start:16}.panel-grid .g-start-sm-17{grid-column-start:17}.panel-grid .g-start-sm-18{grid-column-start:18}.panel-grid .g-start-sm-19{grid-column-start:19}.panel-grid .g-start-sm-20{grid-column-start:20}.panel-grid .g-start-sm-21{grid-column-start:21}.panel-grid .g-start-sm-22{grid-column-start:22}.panel-grid .g-start-sm-23{grid-column-start:23}}@media(min-width: 768px){.panel-grid .g-col-md-1{grid-column:auto/span 1}.panel-grid .g-col-md-2{grid-column:auto/span 2}.panel-grid .g-col-md-3{grid-column:auto/span 3}.panel-grid .g-col-md-4{grid-column:auto/span 4}.panel-grid .g-col-md-5{grid-column:auto/span 5}.panel-grid .g-col-md-6{grid-column:auto/span 6}.panel-grid .g-col-md-7{grid-column:auto/span 7}.panel-grid .g-col-md-8{grid-column:auto/span 8}.panel-grid .g-col-md-9{grid-column:auto/span 9}.panel-grid .g-col-md-10{grid-column:auto/span 10}.panel-grid .g-col-md-11{grid-column:auto/span 11}.panel-grid .g-col-md-12{grid-column:auto/span 12}.panel-grid .g-col-md-13{grid-column:auto/span 13}.panel-grid .g-col-md-14{grid-column:auto/span 14}.panel-grid .g-col-md-15{grid-column:auto/span 15}.panel-grid .g-col-md-16{grid-column:auto/span 16}.panel-grid .g-col-md-17{grid-column:auto/span 17}.panel-grid .g-col-md-18{grid-column:auto/span 18}.panel-grid .g-col-md-19{grid-column:auto/span 19}.panel-grid .g-col-md-20{grid-column:auto/span 20}.panel-grid .g-col-md-21{grid-column:auto/span 21}.panel-grid .g-col-md-22{grid-column:auto/span 22}.panel-grid .g-col-md-23{grid-column:auto/span 23}.panel-grid .g-col-md-24{grid-column:auto/span 24}.panel-grid .g-start-md-1{grid-column-start:1}.panel-grid .g-start-md-2{grid-column-start:2}.panel-grid .g-start-md-3{grid-column-start:3}.panel-grid .g-start-md-4{grid-column-start:4}.panel-grid .g-start-md-5{grid-column-start:5}.panel-grid .g-start-md-6{grid-column-start:6}.panel-grid .g-start-md-7{grid-column-start:7}.panel-grid .g-start-md-8{grid-column-start:8}.panel-grid .g-start-md-9{grid-column-start:9}.panel-grid .g-start-md-10{grid-column-start:10}.panel-grid .g-start-md-11{grid-column-start:11}.panel-grid .g-start-md-12{grid-column-start:12}.panel-grid .g-start-md-13{grid-column-start:13}.panel-grid .g-start-md-14{grid-column-start:14}.panel-grid .g-start-md-15{grid-column-start:15}.panel-grid .g-start-md-16{grid-column-start:16}.panel-grid .g-start-md-17{grid-column-start:17}.panel-grid .g-start-md-18{grid-column-start:18}.panel-grid .g-start-md-19{grid-column-start:19}.panel-grid .g-start-md-20{grid-column-start:20}.panel-grid .g-start-md-21{grid-column-start:21}.panel-grid .g-start-md-22{grid-column-start:22}.panel-grid .g-start-md-23{grid-column-start:23}}@media(min-width: 992px){.panel-grid .g-col-lg-1{grid-column:auto/span 1}.panel-grid .g-col-lg-2{grid-column:auto/span 2}.panel-grid .g-col-lg-3{grid-column:auto/span 3}.panel-grid .g-col-lg-4{grid-column:auto/span 4}.panel-grid .g-col-lg-5{grid-column:auto/span 5}.panel-grid .g-col-lg-6{grid-column:auto/span 6}.panel-grid .g-col-lg-7{grid-column:auto/span 7}.panel-grid .g-col-lg-8{grid-column:auto/span 8}.panel-grid .g-col-lg-9{grid-column:auto/span 9}.panel-grid .g-col-lg-10{grid-column:auto/span 10}.panel-grid .g-col-lg-11{grid-column:auto/span 11}.panel-grid .g-col-lg-12{grid-column:auto/span 12}.panel-grid .g-col-lg-13{grid-column:auto/span 13}.panel-grid .g-col-lg-14{grid-column:auto/span 14}.panel-grid .g-col-lg-15{grid-column:auto/span 15}.panel-grid .g-col-lg-16{grid-column:auto/span 16}.panel-grid .g-col-lg-17{grid-column:auto/span 17}.panel-grid .g-col-lg-18{grid-column:auto/span 18}.panel-grid .g-col-lg-19{grid-column:auto/span 19}.panel-grid .g-col-lg-20{grid-column:auto/span 20}.panel-grid .g-col-lg-21{grid-column:auto/span 21}.panel-grid .g-col-lg-22{grid-column:auto/span 22}.panel-grid .g-col-lg-23{grid-column:auto/span 23}.panel-grid .g-col-lg-24{grid-column:auto/span 24}.panel-grid .g-start-lg-1{grid-column-start:1}.panel-grid .g-start-lg-2{grid-column-start:2}.panel-grid .g-start-lg-3{grid-column-start:3}.panel-grid .g-start-lg-4{grid-column-start:4}.panel-grid .g-start-lg-5{grid-column-start:5}.panel-grid .g-start-lg-6{grid-column-start:6}.panel-grid .g-start-lg-7{grid-column-start:7}.panel-grid .g-start-lg-8{grid-column-start:8}.panel-grid .g-start-lg-9{grid-column-start:9}.panel-grid .g-start-lg-10{grid-column-start:10}.panel-grid .g-start-lg-11{grid-column-start:11}.panel-grid .g-start-lg-12{grid-column-start:12}.panel-grid .g-start-lg-13{grid-column-start:13}.panel-grid .g-start-lg-14{grid-column-start:14}.panel-grid .g-start-lg-15{grid-column-start:15}.panel-grid .g-start-lg-16{grid-column-start:16}.panel-grid .g-start-lg-17{grid-column-start:17}.panel-grid .g-start-lg-18{grid-column-start:18}.panel-grid .g-start-lg-19{grid-column-start:19}.panel-grid .g-start-lg-20{grid-column-start:20}.panel-grid .g-start-lg-21{grid-column-start:21}.panel-grid .g-start-lg-22{grid-column-start:22}.panel-grid .g-start-lg-23{grid-column-start:23}}@media(min-width: 1200px){.panel-grid .g-col-xl-1{grid-column:auto/span 1}.panel-grid .g-col-xl-2{grid-column:auto/span 2}.panel-grid .g-col-xl-3{grid-column:auto/span 3}.panel-grid .g-col-xl-4{grid-column:auto/span 4}.panel-grid .g-col-xl-5{grid-column:auto/span 5}.panel-grid .g-col-xl-6{grid-column:auto/span 6}.panel-grid .g-col-xl-7{grid-column:auto/span 7}.panel-grid .g-col-xl-8{grid-column:auto/span 8}.panel-grid .g-col-xl-9{grid-column:auto/span 9}.panel-grid .g-col-xl-10{grid-column:auto/span 10}.panel-grid .g-col-xl-11{grid-column:auto/span 11}.panel-grid .g-col-xl-12{grid-column:auto/span 12}.panel-grid .g-col-xl-13{grid-column:auto/span 13}.panel-grid .g-col-xl-14{grid-column:auto/span 14}.panel-grid .g-col-xl-15{grid-column:auto/span 15}.panel-grid .g-col-xl-16{grid-column:auto/span 16}.panel-grid .g-col-xl-17{grid-column:auto/span 17}.panel-grid .g-col-xl-18{grid-column:auto/span 18}.panel-grid .g-col-xl-19{grid-column:auto/span 19}.panel-grid .g-col-xl-20{grid-column:auto/span 20}.panel-grid .g-col-xl-21{grid-column:auto/span 21}.panel-grid .g-col-xl-22{grid-column:auto/span 22}.panel-grid .g-col-xl-23{grid-column:auto/span 23}.panel-grid .g-col-xl-24{grid-column:auto/span 24}.panel-grid .g-start-xl-1{grid-column-start:1}.panel-grid .g-start-xl-2{grid-column-start:2}.panel-grid .g-start-xl-3{grid-column-start:3}.panel-grid .g-start-xl-4{grid-column-start:4}.panel-grid .g-start-xl-5{grid-column-start:5}.panel-grid .g-start-xl-6{grid-column-start:6}.panel-grid .g-start-xl-7{grid-column-start:7}.panel-grid .g-start-xl-8{grid-column-start:8}.panel-grid .g-start-xl-9{grid-column-start:9}.panel-grid .g-start-xl-10{grid-column-start:10}.panel-grid .g-start-xl-11{grid-column-start:11}.panel-grid .g-start-xl-12{grid-column-start:12}.panel-grid .g-start-xl-13{grid-column-start:13}.panel-grid .g-start-xl-14{grid-column-start:14}.panel-grid .g-start-xl-15{grid-column-start:15}.panel-grid .g-start-xl-16{grid-column-start:16}.panel-grid .g-start-xl-17{grid-column-start:17}.panel-grid .g-start-xl-18{grid-column-start:18}.panel-grid .g-start-xl-19{grid-column-start:19}.panel-grid .g-start-xl-20{grid-column-start:20}.panel-grid .g-start-xl-21{grid-column-start:21}.panel-grid .g-start-xl-22{grid-column-start:22}.panel-grid .g-start-xl-23{grid-column-start:23}}@media(min-width: 1400px){.panel-grid .g-col-xxl-1{grid-column:auto/span 1}.panel-grid .g-col-xxl-2{grid-column:auto/span 2}.panel-grid .g-col-xxl-3{grid-column:auto/span 3}.panel-grid .g-col-xxl-4{grid-column:auto/span 4}.panel-grid .g-col-xxl-5{grid-column:auto/span 5}.panel-grid .g-col-xxl-6{grid-column:auto/span 6}.panel-grid .g-col-xxl-7{grid-column:auto/span 7}.panel-grid .g-col-xxl-8{grid-column:auto/span 8}.panel-grid .g-col-xxl-9{grid-column:auto/span 9}.panel-grid .g-col-xxl-10{grid-column:auto/span 10}.panel-grid .g-col-xxl-11{grid-column:auto/span 11}.panel-grid .g-col-xxl-12{grid-column:auto/span 12}.panel-grid .g-col-xxl-13{grid-column:auto/span 13}.panel-grid .g-col-xxl-14{grid-column:auto/span 14}.panel-grid .g-col-xxl-15{grid-column:auto/span 15}.panel-grid .g-col-xxl-16{grid-column:auto/span 16}.panel-grid .g-col-xxl-17{grid-column:auto/span 17}.panel-grid .g-col-xxl-18{grid-column:auto/span 18}.panel-grid .g-col-xxl-19{grid-column:auto/span 19}.panel-grid .g-col-xxl-20{grid-column:auto/span 20}.panel-grid .g-col-xxl-21{grid-column:auto/span 21}.panel-grid .g-col-xxl-22{grid-column:auto/span 22}.panel-grid .g-col-xxl-23{grid-column:auto/span 23}.panel-grid .g-col-xxl-24{grid-column:auto/span 24}.panel-grid .g-start-xxl-1{grid-column-start:1}.panel-grid .g-start-xxl-2{grid-column-start:2}.panel-grid .g-start-xxl-3{grid-column-start:3}.panel-grid .g-start-xxl-4{grid-column-start:4}.panel-grid .g-start-xxl-5{grid-column-start:5}.panel-grid .g-start-xxl-6{grid-column-start:6}.panel-grid .g-start-xxl-7{grid-column-start:7}.panel-grid .g-start-xxl-8{grid-column-start:8}.panel-grid .g-start-xxl-9{grid-column-start:9}.panel-grid .g-start-xxl-10{grid-column-start:10}.panel-grid .g-start-xxl-11{grid-column-start:11}.panel-grid .g-start-xxl-12{grid-column-start:12}.panel-grid .g-start-xxl-13{grid-column-start:13}.panel-grid .g-start-xxl-14{grid-column-start:14}.panel-grid .g-start-xxl-15{grid-column-start:15}.panel-grid .g-start-xxl-16{grid-column-start:16}.panel-grid .g-start-xxl-17{grid-column-start:17}.panel-grid .g-start-xxl-18{grid-column-start:18}.panel-grid .g-start-xxl-19{grid-column-start:19}.panel-grid .g-start-xxl-20{grid-column-start:20}.panel-grid .g-start-xxl-21{grid-column-start:21}.panel-grid .g-start-xxl-22{grid-column-start:22}.panel-grid .g-start-xxl-23{grid-column-start:23}}main{margin-top:1em;margin-bottom:1em}h1,.h1,h2,.h2{color:#2fa4e7;margin-top:2rem;margin-bottom:1rem;font-weight:600}h1.title,.title.h1{margin-top:0}main.content>section:first-of-type>h2:first-child,main.content>section:first-of-type>.h2:first-child{margin-top:0}h2,.h2{border-bottom:1px solid #dee2e6;padding-bottom:.5rem}h3,.h3{font-weight:600}h3,.h3,h4,.h4{opacity:.9;margin-top:1.5rem}h5,.h5,h6,.h6{opacity:.9}.header-section-number{color:#869099}.nav-link.active .header-section-number{color:inherit}mark,.mark{padding:0em}.panel-caption,.figure-caption,.subfigure-caption,.table-caption,figcaption,caption{font-size:.9rem;color:#869099}.quarto-layout-cell[data-ref-parent] caption{color:#869099}.column-margin figcaption,.margin-caption,div.aside,aside,.column-margin{color:#869099;font-size:.825rem}.panel-caption.margin-caption{text-align:inherit}.column-margin.column-container p{margin-bottom:0}.column-margin.column-container>*:not(.collapse):first-child{padding-bottom:.5em;display:block}.column-margin.column-container>*:not(.collapse):not(:first-child){padding-top:.5em;padding-bottom:.5em;display:block}.column-margin.column-container>*.collapse:not(.show){display:none}@media(min-width: 768px){.column-margin.column-container .callout-margin-content:first-child{margin-top:4.5em}.column-margin.column-container .callout-margin-content-simple:first-child{margin-top:3.5em}}.margin-caption>*{padding-top:.5em;padding-bottom:.5em}@media(max-width: 767.98px){.quarto-layout-row{flex-direction:column}}.nav-tabs .nav-item{margin-top:1px;cursor:pointer}.tab-content{margin-top:0px;border-left:#dee2e6 1px solid;border-right:#dee2e6 1px solid;border-bottom:#dee2e6 1px solid;margin-left:0;padding:1em;margin-bottom:1em}@media(max-width: 767.98px){.layout-sidebar{margin-left:0;margin-right:0}}.panel-sidebar,.panel-sidebar .form-control,.panel-input,.panel-input .form-control,.selectize-dropdown{font-size:.9rem}.panel-sidebar .form-control,.panel-input .form-control{padding-top:.1rem}.tab-pane div.sourceCode{margin-top:0px}.tab-pane>p{padding-top:0}.tab-pane>p:nth-child(1){padding-top:0}.tab-pane>p:last-child{margin-bottom:0}.tab-pane>pre:last-child{margin-bottom:0}.tab-content>.tab-pane:not(.active){display:none !important}div.sourceCode{background-color:rgba(233,236,239,.65);border:1px solid rgba(233,236,239,.65);border-radius:.375rem}pre.sourceCode{background-color:rgba(0,0,0,0)}pre.sourceCode{border:none;font-size:.875em;overflow:visible !important;padding:.4em}.callout pre.sourceCode{padding-left:0}div.sourceCode{overflow-y:hidden}.callout div.sourceCode{margin-left:initial}.blockquote{font-size:inherit;padding-left:1rem;padding-right:1.5rem;color:#869099}.blockquote h1:first-child,.blockquote .h1:first-child,.blockquote h2:first-child,.blockquote .h2:first-child,.blockquote h3:first-child,.blockquote .h3:first-child,.blockquote h4:first-child,.blockquote .h4:first-child,.blockquote h5:first-child,.blockquote .h5:first-child{margin-top:0}pre{background-color:initial;padding:initial;border:initial}p pre code:not(.sourceCode),li pre code:not(.sourceCode),pre code:not(.sourceCode){background-color:initial}p code:not(.sourceCode),li code:not(.sourceCode),td code:not(.sourceCode){background-color:#f8f9fa;padding:.2em}nav p code:not(.sourceCode),nav li code:not(.sourceCode),nav td code:not(.sourceCode){background-color:rgba(0,0,0,0);padding:0}td code:not(.sourceCode){white-space:pre-wrap}#quarto-embedded-source-code-modal>.modal-dialog{max-width:1000px;padding-left:1.75rem;padding-right:1.75rem}#quarto-embedded-source-code-modal>.modal-dialog>.modal-content>.modal-body{padding:0}#quarto-embedded-source-code-modal>.modal-dialog>.modal-content>.modal-body div.sourceCode{margin:0;padding:.2rem .2rem;border-radius:0px;border:none}#quarto-embedded-source-code-modal>.modal-dialog>.modal-content>.modal-header{padding:.7rem}.code-tools-button{font-size:1rem;padding:.15rem .15rem;margin-left:5px;color:rgba(73,80,87,.75);background-color:rgba(0,0,0,0);transition:initial;cursor:pointer}.code-tools-button>.bi::before{display:inline-block;height:1rem;width:1rem;content:"";vertical-align:-0.125em;background-image:url('data:image/svg+xml,');background-repeat:no-repeat;background-size:1rem 1rem}.code-tools-button:hover>.bi::before{background-image:url('data:image/svg+xml,')}#quarto-embedded-source-code-modal .code-copy-button>.bi::before{background-image:url('data:image/svg+xml,')}#quarto-embedded-source-code-modal .code-copy-button-checked>.bi::before{background-image:url('data:image/svg+xml,')}.sidebar{will-change:top;transition:top 200ms linear;position:sticky;overflow-y:auto;padding-top:1.2em;max-height:100vh}.sidebar.toc-left,.sidebar.margin-sidebar{top:0px;padding-top:1em}.sidebar.quarto-banner-title-block-sidebar>*{padding-top:1.65em}figure .quarto-notebook-link{margin-top:.5em}.quarto-notebook-link{font-size:.75em;color:rgba(73,80,87,.75);margin-bottom:1em;text-decoration:none;display:block}.quarto-notebook-link:hover{text-decoration:underline;color:#2fa4e7}.quarto-notebook-link::before{display:inline-block;height:.75rem;width:.75rem;margin-bottom:0em;margin-right:.25em;content:"";vertical-align:-0.125em;background-image:url('data:image/svg+xml,');background-repeat:no-repeat;background-size:.75rem .75rem}.toc-actions i.bi,.quarto-code-links i.bi,.quarto-other-links i.bi,.quarto-alternate-notebooks i.bi,.quarto-alternate-formats i.bi{margin-right:.4em;font-size:.8rem}.quarto-other-links-text-target .quarto-code-links i.bi,.quarto-other-links-text-target .quarto-other-links i.bi{margin-right:.2em}.quarto-other-formats-text-target .quarto-alternate-formats i.bi{margin-right:.1em}.toc-actions i.bi.empty,.quarto-code-links i.bi.empty,.quarto-other-links i.bi.empty,.quarto-alternate-notebooks i.bi.empty,.quarto-alternate-formats i.bi.empty{padding-left:1em}.quarto-notebook h2,.quarto-notebook .h2{border-bottom:none}.quarto-notebook .cell-container{display:flex}.quarto-notebook .cell-container .cell{flex-grow:4}.quarto-notebook .cell-container .cell-decorator{padding-top:1.5em;padding-right:1em;text-align:right}.quarto-notebook .cell-container.code-fold .cell-decorator{padding-top:3em}.quarto-notebook .cell-code code{white-space:pre-wrap}.quarto-notebook .cell .cell-output-stderr pre code,.quarto-notebook .cell .cell-output-stdout pre code{white-space:pre-wrap;overflow-wrap:anywhere}.toc-actions,.quarto-alternate-formats,.quarto-other-links,.quarto-code-links,.quarto-alternate-notebooks{padding-left:0em}.sidebar .toc-actions a,.sidebar .quarto-alternate-formats a,.sidebar .quarto-other-links a,.sidebar .quarto-code-links a,.sidebar .quarto-alternate-notebooks a,.sidebar nav[role=doc-toc] a{text-decoration:none}.sidebar .toc-actions a:hover,.sidebar .quarto-other-links a:hover,.sidebar .quarto-code-links a:hover,.sidebar .quarto-alternate-formats a:hover,.sidebar .quarto-alternate-notebooks a:hover{color:#2fa4e7}.sidebar .toc-actions h2,.sidebar .toc-actions .h2,.sidebar .quarto-code-links h2,.sidebar .quarto-code-links .h2,.sidebar .quarto-other-links h2,.sidebar .quarto-other-links .h2,.sidebar .quarto-alternate-notebooks h2,.sidebar .quarto-alternate-notebooks .h2,.sidebar .quarto-alternate-formats h2,.sidebar .quarto-alternate-formats .h2,.sidebar nav[role=doc-toc]>h2,.sidebar nav[role=doc-toc]>.h2{font-weight:500;margin-bottom:.2rem;margin-top:.3rem;font-family:inherit;border-bottom:0;padding-bottom:0;padding-top:0px}.sidebar .toc-actions>h2,.sidebar .toc-actions>.h2,.sidebar .quarto-code-links>h2,.sidebar .quarto-code-links>.h2,.sidebar .quarto-other-links>h2,.sidebar .quarto-other-links>.h2,.sidebar .quarto-alternate-notebooks>h2,.sidebar .quarto-alternate-notebooks>.h2,.sidebar .quarto-alternate-formats>h2,.sidebar .quarto-alternate-formats>.h2{font-size:.8rem}.sidebar nav[role=doc-toc]>h2,.sidebar nav[role=doc-toc]>.h2{font-size:.875rem}.sidebar nav[role=doc-toc]>ul a{border-left:1px solid #e9ecef;padding-left:.6rem}.sidebar .toc-actions h2>ul a,.sidebar .toc-actions .h2>ul a,.sidebar .quarto-code-links h2>ul a,.sidebar .quarto-code-links .h2>ul a,.sidebar .quarto-other-links h2>ul a,.sidebar .quarto-other-links .h2>ul a,.sidebar .quarto-alternate-notebooks h2>ul a,.sidebar .quarto-alternate-notebooks .h2>ul a,.sidebar .quarto-alternate-formats h2>ul a,.sidebar .quarto-alternate-formats .h2>ul a{border-left:none;padding-left:.6rem}.sidebar .toc-actions ul a:empty,.sidebar .quarto-code-links ul a:empty,.sidebar .quarto-other-links ul a:empty,.sidebar .quarto-alternate-notebooks ul a:empty,.sidebar .quarto-alternate-formats ul a:empty,.sidebar nav[role=doc-toc]>ul a:empty{display:none}.sidebar .toc-actions ul,.sidebar .quarto-code-links ul,.sidebar .quarto-other-links ul,.sidebar .quarto-alternate-notebooks ul,.sidebar .quarto-alternate-formats ul{padding-left:0;list-style:none}.sidebar nav[role=doc-toc] ul{list-style:none;padding-left:0;list-style:none}.sidebar nav[role=doc-toc]>ul{margin-left:.45em}.quarto-margin-sidebar nav[role=doc-toc]{padding-left:.5em}.sidebar .toc-actions>ul,.sidebar .quarto-code-links>ul,.sidebar .quarto-other-links>ul,.sidebar .quarto-alternate-notebooks>ul,.sidebar .quarto-alternate-formats>ul{font-size:.8rem}.sidebar nav[role=doc-toc]>ul{font-size:.875rem}.sidebar .toc-actions ul li a,.sidebar .quarto-code-links ul li a,.sidebar .quarto-other-links ul li a,.sidebar .quarto-alternate-notebooks ul li a,.sidebar .quarto-alternate-formats ul li a,.sidebar nav[role=doc-toc]>ul li a{line-height:1.1rem;padding-bottom:.2rem;padding-top:.2rem;color:inherit}.sidebar nav[role=doc-toc] ul>li>ul>li>a{padding-left:1.2em}.sidebar nav[role=doc-toc] ul>li>ul>li>ul>li>a{padding-left:2.4em}.sidebar nav[role=doc-toc] ul>li>ul>li>ul>li>ul>li>a{padding-left:3.6em}.sidebar nav[role=doc-toc] ul>li>ul>li>ul>li>ul>li>ul>li>a{padding-left:4.8em}.sidebar nav[role=doc-toc] ul>li>ul>li>ul>li>ul>li>ul>li>ul>li>a{padding-left:6em}.sidebar nav[role=doc-toc] ul>li>a.active,.sidebar nav[role=doc-toc] ul>li>ul>li>a.active{border-left:1px solid #2fa4e7;color:#2fa4e7 !important}.sidebar nav[role=doc-toc] ul>li>a:hover,.sidebar nav[role=doc-toc] ul>li>ul>li>a:hover{color:#2fa4e7 !important}kbd,.kbd{color:#495057;background-color:#f8f9fa;border:1px solid;border-radius:5px;border-color:#dee2e6}.quarto-appendix-contents div.hanging-indent{margin-left:0em}.quarto-appendix-contents div.hanging-indent div.csl-entry{margin-left:1em;text-indent:-1em}.citation a,.footnote-ref{text-decoration:none}.footnotes ol{padding-left:1em}.tippy-content>*{margin-bottom:.7em}.tippy-content>*:last-child{margin-bottom:0}.callout{margin-top:1.25rem;margin-bottom:1.25rem;border-radius:.375rem;overflow-wrap:break-word}.callout .callout-title-container{overflow-wrap:anywhere}.callout.callout-style-simple{padding:.4em .7em;border-left:5px solid;border-right:1px solid #dee2e6;border-top:1px solid #dee2e6;border-bottom:1px solid #dee2e6}.callout.callout-style-default{border-left:5px solid;border-right:1px solid #dee2e6;border-top:1px solid #dee2e6;border-bottom:1px solid #dee2e6}.callout .callout-body-container{flex-grow:1}.callout.callout-style-simple .callout-body{font-size:.9rem;font-weight:400}.callout.callout-style-default .callout-body{font-size:.9rem;font-weight:400}.callout:not(.no-icon).callout-titled.callout-style-simple .callout-body{padding-left:1.6em}.callout.callout-titled>.callout-header{padding-top:.2em;margin-bottom:-0.2em}.callout.callout-style-simple>div.callout-header{border-bottom:none;font-size:.9rem;font-weight:600;opacity:75%}.callout.callout-style-default>div.callout-header{border-bottom:none;font-weight:600;opacity:85%;font-size:.9rem;padding-left:.5em;padding-right:.5em}.callout.callout-style-default .callout-body{padding-left:.5em;padding-right:.5em}.callout.callout-style-default .callout-body>:first-child{padding-top:.5rem;margin-top:0}.callout>div.callout-header[data-bs-toggle=collapse]{cursor:pointer}.callout.callout-style-default .callout-header[aria-expanded=false],.callout.callout-style-default .callout-header[aria-expanded=true]{padding-top:0px;margin-bottom:0px;align-items:center}.callout.callout-titled .callout-body>:last-child:not(.sourceCode),.callout.callout-titled .callout-body>div>:last-child:not(.sourceCode){padding-bottom:.5rem;margin-bottom:0}.callout:not(.callout-titled) .callout-body>:first-child,.callout:not(.callout-titled) .callout-body>div>:first-child{margin-top:.25rem}.callout:not(.callout-titled) .callout-body>:last-child,.callout:not(.callout-titled) .callout-body>div>:last-child{margin-bottom:.2rem}.callout.callout-style-simple .callout-icon::before,.callout.callout-style-simple .callout-toggle::before{height:1rem;width:1rem;display:inline-block;content:"";background-repeat:no-repeat;background-size:1rem 1rem}.callout.callout-style-default .callout-icon::before,.callout.callout-style-default .callout-toggle::before{height:.9rem;width:.9rem;display:inline-block;content:"";background-repeat:no-repeat;background-size:.9rem .9rem}.callout.callout-style-default .callout-toggle::before{margin-top:5px}.callout .callout-btn-toggle .callout-toggle::before{transition:transform .2s linear}.callout .callout-header[aria-expanded=false] .callout-toggle::before{transform:rotate(-90deg)}.callout .callout-header[aria-expanded=true] .callout-toggle::before{transform:none}.callout.callout-style-simple:not(.no-icon) div.callout-icon-container{padding-top:.2em;padding-right:.55em}.callout.callout-style-default:not(.no-icon) div.callout-icon-container{padding-top:.1em;padding-right:.35em}.callout.callout-style-default:not(.no-icon) div.callout-title-container{margin-top:-1px}.callout.callout-style-default.callout-caution:not(.no-icon) div.callout-icon-container{padding-top:.3em;padding-right:.35em}.callout>.callout-body>.callout-icon-container>.no-icon,.callout>.callout-header>.callout-icon-container>.no-icon{display:none}div.callout.callout{border-left-color:rgba(73,80,87,.75)}div.callout.callout-style-default>.callout-header{background-color:rgba(73,80,87,.75)}div.callout-note.callout{border-left-color:#033c73}div.callout-note.callout-style-default>.callout-header{background-color:#e6ecf1}div.callout-note:not(.callout-titled) .callout-icon::before{background-image:url('data:image/svg+xml,');}div.callout-note.callout-titled .callout-icon::before{background-image:url('data:image/svg+xml,');}div.callout-note .callout-toggle::before{background-image:url('data:image/svg+xml,')}div.callout-tip.callout{border-left-color:#73a839}div.callout-tip.callout-style-default>.callout-header{background-color:#f1f6eb}div.callout-tip:not(.callout-titled) .callout-icon::before{background-image:url('data:image/svg+xml,');}div.callout-tip.callout-titled .callout-icon::before{background-image:url('data:image/svg+xml,');}div.callout-tip .callout-toggle::before{background-image:url('data:image/svg+xml,')}div.callout-warning.callout{border-left-color:#dd5600}div.callout-warning.callout-style-default>.callout-header{background-color:#fceee6}div.callout-warning:not(.callout-titled) .callout-icon::before{background-image:url('data:image/svg+xml,');}div.callout-warning.callout-titled .callout-icon::before{background-image:url('data:image/svg+xml,');}div.callout-warning .callout-toggle::before{background-image:url('data:image/svg+xml,')}div.callout-caution.callout{border-left-color:#fd7e14}div.callout-caution.callout-style-default>.callout-header{background-color:#fff2e8}div.callout-caution:not(.callout-titled) .callout-icon::before{background-image:url('data:image/svg+xml,');}div.callout-caution.callout-titled .callout-icon::before{background-image:url('data:image/svg+xml,');}div.callout-caution .callout-toggle::before{background-image:url('data:image/svg+xml,')}div.callout-important.callout{border-left-color:#c71c22}div.callout-important.callout-style-default>.callout-header{background-color:#f9e8e9}div.callout-important:not(.callout-titled) .callout-icon::before{background-image:url('data:image/svg+xml,');}div.callout-important.callout-titled .callout-icon::before{background-image:url('data:image/svg+xml,');}div.callout-important .callout-toggle::before{background-image:url('data:image/svg+xml,')}.quarto-toggle-container{display:flex;align-items:center}.quarto-reader-toggle .bi::before,.quarto-color-scheme-toggle .bi::before{display:inline-block;height:1rem;width:1rem;content:"";background-repeat:no-repeat;background-size:1rem 1rem}.sidebar-navigation{padding-left:20px}.navbar{background-color:#2fa4e7;color:#fff}.navbar .quarto-color-scheme-toggle:not(.alternate) .bi::before{background-image:url('data:image/svg+xml,')}.navbar .quarto-color-scheme-toggle.alternate .bi::before{background-image:url('data:image/svg+xml,')}.sidebar-navigation .quarto-color-scheme-toggle:not(.alternate) .bi::before{background-image:url('data:image/svg+xml,')}.sidebar-navigation .quarto-color-scheme-toggle.alternate .bi::before{background-image:url('data:image/svg+xml,')}.quarto-sidebar-toggle{border-color:#dee2e6;border-bottom-left-radius:.375rem;border-bottom-right-radius:.375rem;border-style:solid;border-width:1px;overflow:hidden;border-top-width:0px;padding-top:0px !important}.quarto-sidebar-toggle-title{cursor:pointer;padding-bottom:2px;margin-left:.25em;text-align:center;font-weight:400;font-size:.775em}#quarto-content .quarto-sidebar-toggle{background:#fafafa}#quarto-content .quarto-sidebar-toggle-title{color:#495057}.quarto-sidebar-toggle-icon{color:#dee2e6;margin-right:.5em;float:right;transition:transform .2s ease}.quarto-sidebar-toggle-icon::before{padding-top:5px}.quarto-sidebar-toggle.expanded .quarto-sidebar-toggle-icon{transform:rotate(-180deg)}.quarto-sidebar-toggle.expanded .quarto-sidebar-toggle-title{border-bottom:solid #dee2e6 1px}.quarto-sidebar-toggle-contents{background-color:#fff;padding-right:10px;padding-left:10px;margin-top:0px !important;transition:max-height .5s ease}.quarto-sidebar-toggle.expanded .quarto-sidebar-toggle-contents{padding-top:1em;padding-bottom:10px}@media(max-width: 767.98px){.sidebar-menu-container{padding-bottom:5em}}.quarto-sidebar-toggle:not(.expanded) .quarto-sidebar-toggle-contents{padding-top:0px !important;padding-bottom:0px}nav[role=doc-toc]{z-index:1020}#quarto-sidebar>*,nav[role=doc-toc]>*{transition:opacity .1s ease,border .1s ease}#quarto-sidebar.slow>*,nav[role=doc-toc].slow>*{transition:opacity .4s ease,border .4s ease}.quarto-color-scheme-toggle:not(.alternate).top-right .bi::before{background-image:url('data:image/svg+xml,')}.quarto-color-scheme-toggle.alternate.top-right .bi::before{background-image:url('data:image/svg+xml,')}#quarto-appendix.default{border-top:1px solid #dee2e6}#quarto-appendix.default{background-color:#fff;padding-top:1.5em;margin-top:2em;z-index:998}#quarto-appendix.default .quarto-appendix-heading{margin-top:0;line-height:1.4em;font-weight:600;opacity:.9;border-bottom:none;margin-bottom:0}#quarto-appendix.default .footnotes ol,#quarto-appendix.default .footnotes ol li>p:last-of-type,#quarto-appendix.default .quarto-appendix-contents>p:last-of-type{margin-bottom:0}#quarto-appendix.default .footnotes ol{margin-left:.5em}#quarto-appendix.default .quarto-appendix-secondary-label{margin-bottom:.4em}#quarto-appendix.default .quarto-appendix-bibtex{font-size:.7em;padding:1em;border:solid 1px #dee2e6;margin-bottom:1em}#quarto-appendix.default .quarto-appendix-bibtex code.sourceCode{white-space:pre-wrap}#quarto-appendix.default .quarto-appendix-citeas{font-size:.9em;padding:1em;border:solid 1px #dee2e6;margin-bottom:1em}#quarto-appendix.default .quarto-appendix-heading{font-size:1em !important}#quarto-appendix.default *[role=doc-endnotes]>ol,#quarto-appendix.default .quarto-appendix-contents>*:not(h2):not(.h2){font-size:.9em}#quarto-appendix.default section{padding-bottom:1.5em}#quarto-appendix.default section *[role=doc-endnotes],#quarto-appendix.default section>*:not(a){opacity:.9;word-wrap:break-word}.btn.btn-quarto,div.cell-output-display .btn-quarto{--bs-btn-color: #4d4e4f;--bs-btn-bg: #e9ecef;--bs-btn-border-color: #e9ecef;--bs-btn-hover-color: #4d4e4f;--bs-btn-hover-bg: #eceff1;--bs-btn-hover-border-color: #ebeef1;--bs-btn-focus-shadow-rgb: 210, 212, 215;--bs-btn-active-color: #000;--bs-btn-active-bg: #edf0f2;--bs-btn-active-border-color: #ebeef1;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color: #000;--bs-btn-disabled-bg: #e9ecef;--bs-btn-disabled-border-color: #e9ecef}nav.quarto-secondary-nav.color-navbar{background-color:#2fa4e7;color:#fff}nav.quarto-secondary-nav.color-navbar h1,nav.quarto-secondary-nav.color-navbar .h1,nav.quarto-secondary-nav.color-navbar .quarto-btn-toggle{color:#fff}@media(max-width: 991.98px){body.nav-sidebar .quarto-title-banner{margin-bottom:0;padding-bottom:1em}body.nav-sidebar #title-block-header{margin-block-end:0}}p.subtitle{margin-top:.25em;margin-bottom:.5em}code a:any-link{color:inherit;text-decoration-color:#868e96}/*! light */div.observablehq table thead tr th{background-color:var(--bs-body-bg)}input,button,select,optgroup,textarea{background-color:var(--bs-body-bg)}.code-annotated .code-copy-button{margin-right:1.25em;margin-top:0;padding-bottom:0;padding-top:3px}.code-annotation-gutter-bg{background-color:#fff}.code-annotation-gutter{background-color:rgba(233,236,239,.65)}.code-annotation-gutter,.code-annotation-gutter-bg{height:100%;width:calc(20px + .5em);position:absolute;top:0;right:0}dl.code-annotation-container-grid dt{margin-right:1em;margin-top:.25rem}dl.code-annotation-container-grid dt{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;color:#606a73;border:solid #606a73 1px;border-radius:50%;height:22px;width:22px;line-height:22px;font-size:11px;text-align:center;vertical-align:middle;text-decoration:none}dl.code-annotation-container-grid dt[data-target-cell]{cursor:pointer}dl.code-annotation-container-grid dt[data-target-cell].code-annotation-active{color:#fff;border:solid #aaa 1px;background-color:#aaa}pre.code-annotation-code{padding-top:0;padding-bottom:0}pre.code-annotation-code code{z-index:3}#code-annotation-line-highlight-gutter{width:100%;border-top:solid rgba(170,170,170,.2666666667) 1px;border-bottom:solid rgba(170,170,170,.2666666667) 1px;z-index:2;background-color:rgba(170,170,170,.1333333333)}#code-annotation-line-highlight{margin-left:-4em;width:calc(100% + 4em);border-top:solid rgba(170,170,170,.2666666667) 1px;border-bottom:solid rgba(170,170,170,.2666666667) 1px;z-index:2;background-color:rgba(170,170,170,.1333333333)}code.sourceCode .code-annotation-anchor.code-annotation-active{background-color:var(--quarto-hl-normal-color, #aaaaaa);border:solid var(--quarto-hl-normal-color, #aaaaaa) 1px;color:#e9ecef;font-weight:bolder}code.sourceCode .code-annotation-anchor{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;color:var(--quarto-hl-co-color);border:solid var(--quarto-hl-co-color) 1px;border-radius:50%;height:18px;width:18px;font-size:9px;margin-top:2px}code.sourceCode button.code-annotation-anchor{padding:2px;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none}code.sourceCode a.code-annotation-anchor{line-height:18px;text-align:center;vertical-align:middle;cursor:default;text-decoration:none}@media print{.page-columns .column-screen-inset{grid-column:page-start-inset/page-end-inset;z-index:998;opacity:.999}.page-columns .column-screen-inset table{background:#fff}.page-columns .column-screen-inset-left{grid-column:page-start-inset/body-content-end;z-index:998;opacity:.999}.page-columns .column-screen-inset-left table{background:#fff}.page-columns .column-screen-inset-right{grid-column:body-content-start/page-end-inset;z-index:998;opacity:.999}.page-columns .column-screen-inset-right table{background:#fff}.page-columns .column-screen{grid-column:page-start/page-end;z-index:998;opacity:.999}.page-columns .column-screen table{background:#fff}.page-columns .column-screen-left{grid-column:page-start/body-content-end;z-index:998;opacity:.999}.page-columns .column-screen-left table{background:#fff}.page-columns .column-screen-right{grid-column:body-content-start/page-end;z-index:998;opacity:.999}.page-columns .column-screen-right table{background:#fff}.page-columns .column-screen-inset-shaded{grid-column:page-start-inset/page-end-inset;padding:1em;background:#f8f9fa;z-index:998;opacity:.999;margin-bottom:1em}}.quarto-video{margin-bottom:1em}.table{border-top:1px solid #fff;border-bottom:1px solid #fff}.table>thead{border-top-width:0;border-bottom:1px solid #cbd0d4}.table a{word-break:break-word}.table>:not(caption)>*>*{background-color:unset;color:unset}#quarto-document-content .crosstalk-input .checkbox input[type=checkbox],#quarto-document-content .crosstalk-input .checkbox-inline input[type=checkbox]{position:unset;margin-top:unset;margin-left:unset}#quarto-document-content .row{margin-left:unset;margin-right:unset}.quarto-xref{white-space:nowrap}a.external:after{content:"";background-image:url('data:image/svg+xml,');background-size:contain;background-repeat:no-repeat;background-position:center center;margin-left:.2em;padding-right:.75em}div.sourceCode code a.external:after{content:none}a.external:after:hover{cursor:pointer}.quarto-ext-icon{display:inline-block;font-size:.75em;padding-left:.3em}.code-with-filename .code-with-filename-file{margin-bottom:0;padding-bottom:2px;padding-top:2px;padding-left:.7em;border:var(--quarto-border-width) solid var(--quarto-border-color);border-radius:var(--quarto-border-radius);border-bottom:0;border-bottom-left-radius:0%;border-bottom-right-radius:0%}.code-with-filename div.sourceCode,.reveal .code-with-filename div.sourceCode{margin-top:0;border-top-left-radius:0%;border-top-right-radius:0%}.code-with-filename .code-with-filename-file pre{margin-bottom:0}.code-with-filename .code-with-filename-file{background-color:rgba(219,219,219,.8)}.quarto-dark .code-with-filename .code-with-filename-file{background-color:#555}.code-with-filename .code-with-filename-file strong{font-weight:400}.quarto-title-banner{margin-bottom:1em;color:#fff;background:#2fa4e7}.quarto-title-banner a{color:#fff}.quarto-title-banner h1,.quarto-title-banner .h1,.quarto-title-banner h2,.quarto-title-banner .h2{color:#fff}.quarto-title-banner .code-tools-button{color:#fff}.quarto-title-banner .code-tools-button:hover{color:#fff}.quarto-title-banner .code-tools-button>.bi::before{background-image:url('data:image/svg+xml,')}.quarto-title-banner .code-tools-button:hover>.bi::before{background-image:url('data:image/svg+xml,')}.quarto-title-banner .quarto-title .title{font-weight:600}.quarto-title-banner .quarto-categories{margin-top:.75em}@media(min-width: 992px){.quarto-title-banner{padding-top:2.5em;padding-bottom:2.5em}}@media(max-width: 991.98px){.quarto-title-banner{padding-top:1em;padding-bottom:1em}}@media(max-width: 767.98px){body.hypothesis-enabled #title-block-header>*{padding-right:20px}}main.quarto-banner-title-block>section:first-child>h2,main.quarto-banner-title-block>section:first-child>.h2,main.quarto-banner-title-block>section:first-child>h3,main.quarto-banner-title-block>section:first-child>.h3,main.quarto-banner-title-block>section:first-child>h4,main.quarto-banner-title-block>section:first-child>.h4{margin-top:0}.quarto-title .quarto-categories{display:flex;flex-wrap:wrap;row-gap:.5em;column-gap:.4em;padding-bottom:.5em;margin-top:.75em}.quarto-title .quarto-categories .quarto-category{padding:.25em .75em;font-size:.65em;text-transform:uppercase;border:solid 1px;border-radius:.375rem;opacity:.6}.quarto-title .quarto-categories .quarto-category a{color:inherit}.quarto-title-meta-container{display:grid;grid-template-columns:1fr auto}.quarto-title-meta-column-end{display:flex;flex-direction:column;padding-left:1em}.quarto-title-meta-column-end a .bi{margin-right:.3em}#title-block-header.quarto-title-block.default .quarto-title-meta{display:grid;grid-template-columns:minmax(max-content, 1fr) 1fr;grid-column-gap:1em}#title-block-header.quarto-title-block.default .quarto-title .title{margin-bottom:0}#title-block-header.quarto-title-block.default .quarto-title-author-orcid img{margin-top:-0.2em;height:.8em;width:.8em}#title-block-header.quarto-title-block.default .quarto-title-author-email{opacity:.7}#title-block-header.quarto-title-block.default .quarto-description p:last-of-type{margin-bottom:0}#title-block-header.quarto-title-block.default .quarto-title-meta-contents p,#title-block-header.quarto-title-block.default .quarto-title-authors p,#title-block-header.quarto-title-block.default .quarto-title-affiliations p{margin-bottom:.1em}#title-block-header.quarto-title-block.default .quarto-title-meta-heading{text-transform:uppercase;margin-top:1em;font-size:.8em;opacity:.8;font-weight:400}#title-block-header.quarto-title-block.default .quarto-title-meta-contents{font-size:.9em}#title-block-header.quarto-title-block.default .quarto-title-meta-contents p.affiliation:last-of-type{margin-bottom:.1em}#title-block-header.quarto-title-block.default p.affiliation{margin-bottom:.1em}#title-block-header.quarto-title-block.default .keywords,#title-block-header.quarto-title-block.default .description,#title-block-header.quarto-title-block.default .abstract{margin-top:0}#title-block-header.quarto-title-block.default .keywords>p,#title-block-header.quarto-title-block.default .description>p,#title-block-header.quarto-title-block.default .abstract>p{font-size:.9em}#title-block-header.quarto-title-block.default .keywords>p:last-of-type,#title-block-header.quarto-title-block.default .description>p:last-of-type,#title-block-header.quarto-title-block.default .abstract>p:last-of-type{margin-bottom:0}#title-block-header.quarto-title-block.default .keywords .block-title,#title-block-header.quarto-title-block.default .description .block-title,#title-block-header.quarto-title-block.default .abstract .block-title{margin-top:1em;text-transform:uppercase;font-size:.8em;opacity:.8;font-weight:400}#title-block-header.quarto-title-block.default .quarto-title-meta-author{display:grid;grid-template-columns:minmax(max-content, 1fr) 1fr;grid-column-gap:1em}.quarto-title-tools-only{display:flex;justify-content:right}body{-webkit-font-smoothing:antialiased}.badge.bg-light{color:#343a40}.progress .progress-bar{font-size:8px;line-height:8px}.navbar.bg-default{background-image:linear-gradient(#edeff2, #e9ecef 60%, #dbdee1)}.navbar.bg-primary{background-image:linear-gradient(#50b3eb, #2fa4e7 60%, #2c9ad9)}.navbar.bg-secondary{background-image:linear-gradient(#edeff2, #e9ecef 60%, #dbdee1)}.navbar.bg-success{background-image:linear-gradient(#89b659, #73a839 60%, #6c9e36)}.navbar.bg-info{background-image:linear-gradient(#2b5b89, #033c73 60%, #03386c)}.navbar.bg-warning{background-image:linear-gradient(#e27129, #dd5600 60%, #d05100)}.navbar.bg-danger{background-image:linear-gradient(#d04045, #c71c22 60%, #bb1a20)}.navbar.bg-light{background-image:linear-gradient(#f9fafb, #f8f9fa 60%, #e9eaeb)}.navbar.bg-dark{background-image:linear-gradient(#545a5f, #343a40 60%, #31373c)}.navbar-brand,.nav-link{text-shadow:0 1px 0 rgba(0,0,0,.05)}.btn{text-shadow:0 1px 0 rgba(0,0,0,.05)}.btn-secondary,.btn-outline-secondary{color:#495057}.btn-default{background-image:linear-gradient(#edeff2, #e9ecef 60%, #dbdee1)}.btn-primary{background-image:linear-gradient(#50b3eb, #2fa4e7 60%, #2c9ad9)}.btn-secondary{background-image:linear-gradient(#edeff2, #e9ecef 60%, #dbdee1)}.btn-success{background-image:linear-gradient(#89b659, #73a839 60%, #6c9e36)}.btn-info{background-image:linear-gradient(#2b5b89, #033c73 60%, #03386c)}.btn-warning{background-image:linear-gradient(#e27129, #dd5600 60%, #d05100)}.btn-danger{background-image:linear-gradient(#d04045, #c71c22 60%, #bb1a20)}.btn-light{background-image:linear-gradient(#f9fafb, #f8f9fa 60%, #e9eaeb)}.btn-dark{background-image:linear-gradient(#545a5f, #343a40 60%, #31373c)}.text-secondary{color:#adb5bd !important}.bg-primary h1,.bg-primary .h1,.bg-primary h2,.bg-primary .h2,.bg-primary h3,.bg-primary .h3,.bg-primary h4,.bg-primary .h4,.bg-primary h5,.bg-primary .h5,.bg-primary h6,.bg-primary .h6,.bg-success h1,.bg-success .h1,.bg-success h2,.bg-success .h2,.bg-success h3,.bg-success .h3,.bg-success h4,.bg-success .h4,.bg-success h5,.bg-success .h5,.bg-success h6,.bg-success .h6,.bg-info h1,.bg-info .h1,.bg-info h2,.bg-info .h2,.bg-info h3,.bg-info .h3,.bg-info h4,.bg-info .h4,.bg-info h5,.bg-info .h5,.bg-info h6,.bg-info .h6,.bg-warning h1,.bg-warning .h1,.bg-warning h2,.bg-warning .h2,.bg-warning h3,.bg-warning .h3,.bg-warning h4,.bg-warning .h4,.bg-warning h5,.bg-warning .h5,.bg-warning h6,.bg-warning .h6,.bg-danger h1,.bg-danger .h1,.bg-danger h2,.bg-danger .h2,.bg-danger h3,.bg-danger .h3,.bg-danger h4,.bg-danger .h4,.bg-danger h5,.bg-danger .h5,.bg-danger h6,.bg-danger .h6,.bg-dark h1,.bg-dark .h1,.bg-dark h2,.bg-dark .h2,.bg-dark h3,.bg-dark .h3,.bg-dark h4,.bg-dark .h4,.bg-dark h5,.bg-dark .h5,.bg-dark h6,.bg-dark .h6{color:#fff}.dropdown-menu .dropdown-header{color:#868e96}.badge.bg-secondary,.badge.bg-light{color:#343a40} diff --git a/logistic_regression_1/logistic_reg_1_files/libs/quarto-html/quarto-syntax-highlighting.css b/logistic_regression_1/logistic_reg_1_files/libs/quarto-html/quarto-syntax-highlighting.css index 36cb3287..d9fd98f0 100644 --- a/logistic_regression_1/logistic_reg_1_files/libs/quarto-html/quarto-syntax-highlighting.css +++ b/logistic_regression_1/logistic_reg_1_files/libs/quarto-html/quarto-syntax-highlighting.css @@ -55,62 +55,85 @@ div.sourceCode pre.sourceCode { code span.ot { color: #003B4F; + font-style: inherit; } code span.at { color: #657422; + font-style: inherit; } code span.ss { color: #20794D; + font-style: inherit; } code span.an { color: #5E5E5E; + font-style: inherit; } code span.fu { color: #4758AB; + font-style: inherit; } code span.st { color: #20794D; + font-style: inherit; } code span.cf { color: #003B4F; + font-style: inherit; } code span.op { color: #5E5E5E; + font-style: inherit; } code span.er { color: #AD0000; + font-style: inherit; } code span.bn { color: #AD0000; + font-style: inherit; } code span.al { color: #AD0000; + font-style: inherit; } code span.va { color: #111111; + font-style: inherit; +} + +code span.bu { + font-style: inherit; +} + +code span.ex { + font-style: inherit; } code span.pp { color: #AD0000; + font-style: inherit; } code span.in { color: #5E5E5E; + font-style: inherit; } code span.vs { color: #20794D; + font-style: inherit; } code span.wa { @@ -125,22 +148,27 @@ code span.do { code span.im { color: #00769E; + font-style: inherit; } code span.ch { color: #20794D; + font-style: inherit; } code span.dt { color: #AD0000; + font-style: inherit; } code span.fl { color: #AD0000; + font-style: inherit; } code span.co { color: #5E5E5E; + font-style: inherit; } code span.cv { @@ -150,18 +178,22 @@ code span.cv { code span.cn { color: #8f5902; + font-style: inherit; } code span.sc { color: #5E5E5E; + font-style: inherit; } code span.dv { color: #AD0000; + font-style: inherit; } code span.kw { color: #003B4F; + font-style: inherit; } .prevent-inlining {