Predicting Boston Housing Prices

Machine Learning Engineer Nanodegree¶

Model Evaluation & Validation¶

Project 1: Predicting Boston Housing Prices¶

Welcome to the first project of the Machine Learning Engineer Nanodegree! In this notebook, some template code has already been provided for you, and you will need to implement additional functionality to successfully complete this project. You will not need to modify the included code beyond what is requested. Sections that begin with ‘Implementation‘ in the header indicate that the following block of code will require additional functionality which you must provide. Instructions will be provided for each section and the specifics of the implementation are marked in the code block with a ‘TODO‘ statement. Please be sure to read the instructions carefully!

In addition to implementing code, there will be questions that you must answer which relate to the project and your implementation. Each section where you will answer a question is preceded by a ‘Question X‘ header. Carefully read each question and provide thorough answers in the following text boxes that begin with ‘Answer:‘. Your project submission will be evaluated based on your answers to each of the questions and the implementation you provide.

Note: Code and Markdown cells can be executed using the Shift + Enter keyboard shortcut. In addition, Markdown cells can be edited by typically double-clicking the cell to enter edit mode.

Getting Started¶

In this project, you will evaluate the performance and predictive power of a model that has been trained and tested on data collected from homes in suburbs of Boston, Massachusetts. A model trained on this data that is seen as a good fit could then be used to make certain predictions about a home — in particular, its monetary value. This model would prove to be invaluable for someone like a real estate agent who could make use of such information on a daily basis.

The dataset for this project originates from the UCI Machine Learning Repository. The Boston housing data was collected in 1978 and each of the 506 entries represent aggregated data about 14 features for homes from various suburbs in Boston, Massachusetts. For the purposes of this project, the following preprocessing steps have been made to the dataset:

  • 16 data points have an ‘MDEV‘ value of 50.0. These data points likely contain missing or censored values and have been removed.
  • 1 data point has an ‘RM‘ value of 8.78. This data point can be considered an outlier and has been removed.
  • The features ‘RM‘, ‘LSTAT‘, ‘PTRATIO‘, and ‘MDEV‘ are essential. The remaining non-relevant features have been excluded.
  • The feature ‘MDEV‘ has been multiplicatively scaled to account for 35 years of market inflation.

Run the code cell below to load the Boston housing dataset, along with a few of the necessary Python libraries required for this project. You will know the dataset loaded successfully if the size of the dataset is reported.

In [2]:

# Import libraries necessary for this project
import numpy as np
import pandas as pd
import visuals as vs # Supplementary code
from sklearn.cross_validation import ShuffleSplit

# Pretty display for notebooks
%matplotlib inline

# Load the Boston housing dataset
data = pd.read_csv(‘housing.csv‘)
prices = data[‘MDEV‘]
features = data.drop(‘MDEV‘, axis = 1)##

# Success
print "Boston housing dataset has {} data points with {} variables each.".format(*data.shape)
Boston housing dataset has 489 data points with 4 variables each.

Data Exploration¶

In this first section of this project, you will make a cursory investigation about the Boston housing data and provide your observations. Familiarizing yourself with the data through an explorative process is a fundamental practice to help you better understand and justify your results.

Since the main goal of this project is to construct a working model which has the capability of predicting the value of houses, we will need to separate the dataset into features and the target variable. The features, ‘RM‘, ‘LSTAT‘, and ‘PTRATIO‘, give us quantitative information about each data point. The target variable, ‘MDEV‘, will be the variable we seek to predict. These are stored in features and prices, respectively.

Implementation: Calculate Statistics¶

For your very first coding implementation, you will calculate descriptive statistics about the Boston housing prices. Since numpy has already been imported for you, use this library to perform the necessary calculations. These statistics will be extremely important later on to analyze various prediction results from the constructed model.

In the code cell below, you will need to implement the following:

  • Calculate the minimum, maximum, mean, median, and standard deviation of ‘MDEV‘, which is stored in prices.

    • Store each calculation in their respective variable.

In [4]:

# TODO: Minimum price of the data
minimum_price = prices.min()

# TODO: Maximum price of the data
maximum_price = prices.max()

# TODO: Mean price of the data
mean_price = prices.mean()

# TODO: Median price of the data
median_price = prices.median()

# TODO: Standard deviation of prices of the data
std_price = prices.std()

# Show the calculated statistics
print "Statistics for Boston housing dataset:\n"
print "Minimum price: ${:,.2f}".format(minimum_price)
print "Maximum price: ${:,.2f}".format(maximum_price)
print "Mean price: ${:,.2f}".format(mean_price)
print "Median price ${:,.2f}".format(median_price)
print "Standard deviation of prices: ${:,.2f}".format(std_price)
Statistics for Boston housing dataset:

Minimum price: $105,000.00
Maximum price: $1,024,800.00
Mean price: $454,342.94
Median price $438,900.00
Standard deviation of prices: $165,340.28

Question 1 - Feature Observation¶

As a reminder, we are using three features from the Boston housing dataset: ‘RM‘, ‘LSTAT‘, and ‘PTRATIO‘. For each data point (neighborhood):

  • ‘RM‘ is the average number of rooms among homes in the neighborhood.
  • ‘LSTAT‘ is the percentage of all Boston homeowners who have a greater net worth than homeowners in the neighborhood.
  • ‘PTRATIO‘ is the ratio of students to teachers in primary and secondary schools in the neighborhood.

Using your intuition, for each of the three features above, do you think that an increase in the value of that feature would lead to an increase in the value of ‘MDEV‘ or a decrease in the value of ‘MDEV‘? Justify your answer for each.
Hint: Would you expect a home that has an ‘RM‘ value of 6 be worth more or less than a home that has an ‘RM‘ value of 7?

Answer:
increase the value of ‘RM‘ would lead to an increase in the value of ‘MDEV‘

  • because the highest item in ‘MDEV‘ his ‘RM‘ is 8.398 and the lowest item in ‘MDEV‘ his ‘RM‘ is 5.683

increase the value of ‘LSTAT‘ feature would lead to an decrease in the value of ‘MDEV‘

  • because the highest item in ‘MDEV‘ his ‘LSTAT‘ is 5.91 and the lowest item in ‘MDEV‘ his ‘LSTAT‘ is 22.98

increase the value of ‘PTRATIO‘ would lead to an increase in the value of ‘MDEV‘

  • because the highest item in ‘MDEV‘ his ‘PTRATIO‘ is 13 and the lowest item in ‘MDEV‘ his ‘PTRATIO‘ is 20.2

Developing a Model¶

In this second section of the project, you will develop the tools and techniques necessary for a model to make a prediction. Being able to make accurate evaluations of each model‘s performance through the use of these tools and techniques helps to greatly reinforce the confidence in your predictions.

Implementation: Define a Performance Metric¶

It is difficult to measure the quality of a given model without quantifying its performance over training and testing. This is typically done using some type of performance metric, whether it is through calculating some type of error, the goodness of fit, or some other useful measurement. For this project, you will be calculating the coefficient of determination, R2, to quantify your model‘s performance. The coefficient of determination for a model is a useful statistic in regression analysis, as it often describes how "good" that model is at making predictions.

The values for R2 range from 0 to 1, which captures the percentage of squared correlation between the predicted and actual values of the target variable. A model with an R2 of 0 always fails to predict the target variable, whereas a model with an R2 of 1 perfectly predicts the target variable. Any value between 0 and 1 indicates what percentage of the target variable, using this model, can be explained by the features. A model can be given a negative R2 as well, which indicates that the model is no better than one that naively predicts the mean of the target variable.

For the performance_metric function in the code cell below, you will need to implement the following:

  • Use r2_score from sklearn.metrics to perform a performance calculation between y_true and y_predict.
  • Assign the performance score to the score variable.

In [4]:

# TODO: Import ‘r2_score‘
from sklearn.metrics import r2_score
def performance_metric(y_true, y_predict):
    """ Calculates and returns the performance score between
        true and predicted values based on the metric chosen. """

    # TODO: Calculate the performance score between ‘y_true‘ and ‘y_predict‘
    score = r2_score(y_true, y_predict)

    # Return the score
    return score

Question 2 - Goodness of Fit¶

Assume that a dataset contains five data points and a model made the following predictions for the target variable:

True Value Prediction
3.0 2.5
-0.5 0.0
2.0 2.1
7.0 7.8
4.2 5.3

Would you consider this model to have successfully captured the variation of the target variable? Why or why not?

Run the code cell below to use the performance_metric function and calculate this model‘s coefficient of determination.

In [5]:

# Calculate the performance of this model
score = performance_metric([3, -0.5, 2, 7, 4.2], [2.5, 0.0, 2.1, 7.8, 5.3])
print "Model has a coefficient of determination, R^2, of {:.3f}.".format(score)
Model has a coefficient of determination, R^2, of 0.923.

Answer:
Model has a coefficient of determination, R^2, of 0.923.

Implementation: Shuffle and Split Data¶

Your next implementation requires that you take the Boston housing dataset and split the data into training and testing subsets. Typically, the data is also shuffled into a random order when creating the training and testing subsets to remove any bias in the ordering of the dataset.

For the code cell below, you will need to implement the following:

  • Use train_test_split from sklearn.cross_validation to shuffle and split the features and prices data into training and testing sets.

    • Split the data into 80% training and 20% testing.
    • Set the random_state for train_test_split to a value of your choice. This ensures results are consistent.
  • Assign the train and testing splits to X_train, X_test, y_train, and y_test.

In [6]:

# TODO: Import ‘train_test_split‘
from sklearn.cross_validation import train_test_split
# TODO: Shuffle and split the data into training and testing subsets
X_train, X_test, y_train, y_test = train_test_split(features, prices, test_size=0.2, random_state=42)

# Success
print "Training and testing split was successful."
Training and testing split was successful.

Question 3 - Training and Testing¶

What is the benefit to splitting a dataset into some ratio of training and testing subsets for a learning algorithm?
Hint: What could go wrong with not having a way to test your model?

*Answer: because we can use the testing subsets to test our learning algorithm, it can help increase the accuracy of model*


Analyzing Model Performance¶

In this third section of the project, you‘ll take a look at several models‘ learning and testing performances on various subsets of training data. Additionally, you‘ll investigate one particular algorithm with an increasing ‘max_depth‘ parameter on the full training set to observe how model complexity affects performance. Graphing your model‘s performance based on varying criteria can be beneficial in the analysis process, such as visualizing behavior that may not have been apparent from the results alone.

Learning Curves¶

The following code cell produces four graphs for a decision tree model with different maximum depths. Each graph visualizes the learning curves of the model for both training and testing as the size of the training set is increased. Note that the shaded region of a learning curve denotes the uncertainty of that curve (measured as the standard deviation). The model is scored on both the training and testing sets using R2, the coefficient of determination.

Run the code cell below and use these graphs to answer the following question.

In [5]:

# Produce learning curves for varying training set sizes and maximum depths
vs.ModelLearning(features, prices)


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
Y/hVrx7Nmjvi4K8ZmMsW4NeqeghARO4HrgX2TWv3CeBfgUvnEfuSG0+Mc2jgEA2RhuUOZVZTpnet
B+Kw+7O7S2J6V77Y/vbOvyXaHM0kQwOxgbxJU/Z20kvSUNWQSZoaIln3qxo4fdXpNFQ1UB+pp7Gq
MXOsLlw3ZWTy07s/zUPxhyZHafBje9vpb+PLN3+ZkfgIR0eP0jPa4/8c6eHQwCEe73w8s//42HHq
I/UzEozpCdqq6lXzutj1YiSnqspoYjRnApV96x3rpX+8n2g4SnNNM2tq1rCmZg3NNc001zRzTvM5
mf337LmHR+OPzjhnr930Wm7cfCNHR49ydPQorwy8kjlPR0ePcmzsGLXh2inJ2PRba7SV1TWrCTqF
FkwtznkrhvbD7fzN1/+GI0NH5m5M5ffDnSOdRMP5R7Ue73yczWs3T0nQVRUVpSpYtRQhGmOMMQs2
5ycZVd2VY9+BAp9/A9Cetd2B/8afISLrgXep6htFZMqxUqKqvDLwCsFAsOSnD+ab3vX5uz/PLbfe
krpWUZKkl8T1XBJeAtdzcXXyfvbxpJckqUmSbjLvY9Ntsh+bebxO3t/3r/s4vvn4jNiuu+06Wq9p
nZI0NVY1Uh+pZ1X1Kk5tPDVn0lQdrF6UBfK3fPQWdn9294z1R7fcdQsiQl2kjrpIHac1nZb3OVzP
pW+8b2pSNtrDnp499IxMbo/GR2mONk8Z7cmVlNWGa+dMnONufOqo0+jMRCq97YgzJYFK3y5ae9Fk
UhVtpqm6qaCRpz/+2B+z97N7Z5yzP73rT2dNajz16B/vzyRf6fOy79g+fnboZ5l9/RP9rKpalTMR
y97OlbyW6hcOM+IqUKX2w6PxUcbj47MWGmrraOPyTVOnECa8BLWhWiuOYYwxpuQt/GvjxfM3QPYa
gpJ89+wd62UwNlgy0wc99egd7aVzuJPOoU6ODB+hc9j/+cTBJ3JO73q843H+5Kd/QsDxS1QHnABB
J0hQggSd4OR29n0J+gmmTD4m/fhQKEStU5v38SEn5F/HKDD5Gn/5o7/kePj4jNguWX8J3/297y7Z
+Ztu00l+YYe7v343R0eP0hJt4Za75jcSEnACNEebaY42cx7n5W0XS8Y4OnY0M0KWTjb2H9/P0ZHJ
5MMRB3bA6KWjM5LTd932LgJvDDCWGGN1zerM6FM6aTqj6Qwu33g5a6L+/tXVq2cdPViIhZ4zRxxW
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" />

Question 4 - Learning the Data¶

Choose one of the graphs above and state the maximum depth for the model. What happens to the score of the training curve as more training points are added? What about the testing curve? Would having more training points benefit the model?
Hint: Are the learning curves converging to particular scores?

*Answer: the score of the training curve become converging to particular socres,the testing curve also become converging to particular socres, Having more training points wouldn‘t benefit the model because the model is converged. *

Complexity Curves¶

The following code cell produces a graph for a decision tree model that has been trained and validated on the training data using different maximum depths. The graph produces two complexity curves — one for training and one for validation. Similar to the learning curves, the shaded regions of both the complexity curves denote the uncertainty in those curves, and the model is scored on both the training and validation sets using the performance_metric function.

Run the code cell below and use this graph to answer the following two questions.

In [9]:

vs.ModelComplexity(X_train, y_train)


AAALEgAACxIB0t1+/AAAIABJREFUeJzs3Xd8ZHW9//HXZyaZSW/bN9nNFrZQBEUERLwuIoJeyxW9
FrChXsEfApYFBMRlLQjKSlNBpMMF1AsqeKl6XQUBaS4o29neW5KZTDL1fH9/fM+Zkplkk2wmZefz
fDzOIzPnnDnznZkk7/l+z/f7PWKMQSmllCoVvpEugFJKKTWcNPiUUkqVFA0+pZRSJUWDTymlVEnR
4FNKKVVSNPiUUkqVFA2+MU5EHhWRz/Rjv7CIzCh+iVQpEpEvisifh+A43xaRnw9FmYaaiBwqIstE
pENEzhnp8qjB0+AbBiKyQUS63D+YfSLyjIicLSJyoMc2xrzfGHNPP/arNcZsONDny+aGachdUu5r
9NZ9aiifq5fn3+I+Z0hEtonIbSJSWeznHU1EZKqI3C4i20WkXUReF5HLRSQ4AsU54EHBxpjvG2P+
H4CIzBYRZ7DHcsM46f5+tIvIyyLyvgMo3sXAE8aYemPMzQdwHDXCNPiGhwH+3RhTD7QCV2H/iG4b
0VIdIDdM64wxdcBG7Gv01t3fc38R8Q91EYBT3ec/GjgWuGiInwMAERnRv5VC752IjAOew/4dv80Y
0wCcBowHZg1vCYtCOPAw/av7+9EI3AP8RkRqB1SIzHvfCrw+mEIU4XdfHQANvuEjAMaYsDHmD8An
gM+JyGEAIhIQkWtEZKP77f3n2d/aReTDIvIPt9a4RkTe667/s4h8wb09W0SWut9ud4nI/VmPd0Rk
lnu7TkTudvdZLyKXZe33ORF5WkR+7NZO3xCR0/r5+nJqsCLyPRF5QETuE5EO4EyxLhWRte7z3yci
9VmPeYeIPCcibSLyioi8s5/v6w7gSeDNWccKishPRGST+57+VEQCWdsvcddvFpEvue/RdHfbPe7+
j4lIGDixr+OJyAQR+V+33HtFZGnW81wqIlvdz265iPxbVvlucGurm0VkiYiUudtOdj+bS0RkO3BL
gdd+IbDHGPN5Y8wW933YbIy5wBizwj3OiSLyoluu50Xk2KxyPS0ii933u1NEHhKRJu/zcte3uPv6
3ffnqyKyzv3sftjrhyJymIg85b4Xy0XkdHd9QEReE7ep0D3ucyLyrazfmdvdw/zFXee1Ipzovo55
Wc8zWUQiItLY+68IGDtF1e1AFTDTfeyHxDZdtonIX0Xk8KzjbhaRhSLyGtDpfp7vBH7hlmWGiNSL
yL3ue7HOew3u478oIn8RketFZA9wmbtuqbuuTURWi8ixIvKFrN+pM7OO8UHJ/M1vEJFvZ22b7X4e
n3HLulNELs7a7hdb81/rPv4FEZnc12dTUowxuhR5AdYD7y6wfiNwtnv7WuB3QD1QDfwe+IG77Vig
3TsGMAWY697+M/AF9/Z9wCXu7QBwQtZzpYBZ7u27gd9i/wm0AquAs9xtnwNiwBewoXIOsHUwrxH4
HhAF3u/eDwLfBJ4GJrtlvAW4290+DdgDvMe9/15gN9DYy3NuBv4t67GvAz/K2n4j8CBQB9QAfwAW
u9s+AGwB5gKV7nuXAqa72+8B9gLHZr2ffR3vR8AN2C+TZcCJ7vrDgA3ABPd+KzDDvX0l8AzQhK2l
PQ9c7m47GUi472EZECzw+l8ELuvjMxnn/t583C3Xp933t97d/jSwwi1TvXt7BfBv7v7/DfzC3dcP
ONgvF3Xu+70G+Ky7/YvA/7m3q9339kz3d+gt7uc4x91+pPvezgEWueWQrN+Z293bs4FUj9d0M/C9
rPvfAB7s5fVnl6nM3bfdLd/bgO3YlgIBPg+sBcqyfrdexP6tBbPer89mHf8+4H/IhOka4DNZz50A
vuweP+iuiwFnuOt+6P5uXAeUA+9zy1fhHmMBcKh7+03ALjJ/S7Pdz+Pn7mPfgv1bm+1uvwT4B5m/
+SOBhv19NqWyjHgBSmGh9+B7jkxQdQIzs7a9HVjn3r4ZWNLLsbOD7y533+YC+znY5i+f+8c3L2vb
l7P+QXwOWJ21rRIbCBMH+hqx/8T+2GPdauCdWfenAd3u7UuB23rs/0fgU70852Yg5C4O8DhQ624T
oBuYlrX/O73X5r5Xi7O2zSM/+G7N2r6/4/0A+09wVo8yzsX+g3034O+xbQNwctb992cd72Sgq+dj
ejx+nffZ97L988AzPda9AJzh3n4auDBr23XA77Pu/wfwgnvbC76TsrafBzzm3s4OmTOAP/V43ltx
f9fd+xcCy7FB3Nrjd6av4DsB9+/Cvf8P4D96ef1e+OzDhsYzwLvcbbfgfsnI2n8t8Pas360ze2xP
Bx82SBO4QeOu+3/Ak1nPvbZAeV7Puv9m93euIWtdO3BYL6/nRuDq7PcG9wuVu+5l4PSs13JagWPs
97MphUWbOkdWM7BPRCZgvzW+LLZ5cR/wGPYbO9hweKMfx7sQG2wviMg/ReSsAvuMx/7Rbspat9Et
i2eHd8MY0439p1/Tv5eUZ3OP+9OBR7Je52uAIyITsTWPM7xtItIGHAdM7eP4/27sOZx3Y2tXTe76
ydhv2a9mPdcj2NePe8zssm2mR1Ntj+37O95V2Pf0T2KbohcCGGNWY2u53wV2ish/u6/VK0Nfn8NO
Y0yqj9e+F1sj6c1U95jZ8p4j63Z3gfs9P/ctPY5V6LNpxTYNZ3+OH+9R1ruw/7wfMcb0LGOvjDHP
AgmxTeKHY/82/rePhzxtjGkyxkw0xpxojPlLVhkv7lHGyeS+N1vyjpYxEfu31tfn1/N3H/Lf35Qx
pr3HuhoAEXm72FMZu0SkHRuc47P2xRizO+tuF5nPaxr2i1FP/flsDnoafCNERN6G/afxNPZbbxdw
uPtH2mSMaTC2MwzYP6DZ+zumMWaXMebLxphmbBPlz8U9r5dlD/abamvWulZg64G9ot6L1eP+ZuCU
rNfZaIypNsbscrfd3mNbrTFmSR/H987xLcU2PV3jrt9Jpmab/Z56wbgdaMk6zvQCZc2+3+fxjD13
+w1jzExsTelicc9PGmPuM8aciG0OK8M2cQFso+/PoWd5evoj8JE+tm8DZvRYN50D+6yn9TjWtgL7
bMbW9LM/xzpjzPlZ+9yEbW7/gGSdd+yht9d/N/AZd/m1MSYxsJeQLuPiHmWsMcb8Tz+eH2wNMsWB
fX77cz/wG2wLTgO2M1x/e4L39j+jP5/NQU+Db5iJSK2IfAD7S32PMWa5se0NvwSuc2t/iEizuB1Y
sL/wZ4nISWJNFZG5BY79MRHxvnG2Y5umcrqDG2Mc4NfAD0SkRkRaga9jm/aGwy+AH4rINLfME0Xk
g+62e4CPiMh7RMQnIhUissA7Kd8P1wLvF5HD3Nd5K3C9iIx3n6tFRE5x9/018EURmSsiVcC3Cx/S
2t/xROQDWV8ywkASW5Od776GADY4u8l8JvcD3xGRce7n/m0G9jlcA4wXO5zBez9bROQ6ETkUew7y
MBH5T7ezwxnYf4Z91ZD25yKxnTqmA+cDDxTY52HgcBH5lIiUiUi5iLzN+511WyIOxzbFfgO4VwoP
Q9kFGBGZ2WP9vcDHgE9hQ3AwfgmcKyLHuGWqcT/Dfg2HMcYksU3bV4pItVvGrzHwv6O+gqwGaDPG
JETkeOCTA3jsrcD3JdOh7SgRaWA/n02p0OAbPo+I7dm4CXvi+RpsBxLPxdh2+efdZo0nseeHMMa8
CJyFPQfTASwl800z+1vl24C/i0gI21HmfJMZu5e93/nYGuY64K/AvcaYO/ooe3++ufb32+0SbDPu
n9z34xngGAC3yesjwOXYE+4bsP8Ye/s9zXlOY8xO7D/Fy91VC7HNTy+47+njwCHuvn/A1jr+iu3c
84z7mFgfr+ebvR0Pe47w/8T2AH0auM4Y8zds8+iP3NezDdvBwOtFuxh4FfgXsAx7zveqXl5r/os3
Zi/2XDDAi+77+YT7XOuMMXuADwHfwtb0L8A2DXf08Rr35xG3rC9jO5XcVaBcIeBUbGea7djXfSUQ
cL9o/RjbCSRq7BjUV8nU1LOP04mtHf/dbZY72l2/EfgnEDPGPD+I14Ax5u/AV4Cb3GbrldgOH+ld
Cj2sx/1zsa0nG7Dn2u8w/RhTu59jZt//CnCV+7l+C/jVAB77Y+z/AO/v7BfYTjO9fjYDLPeY5vWk
UqqkicgRwMvGmJEY+D3qiR2HlsD2SN20v/2HoTx3AW8YY7470mVRY4/W+FTJEpH/cJt6mrA1rd+N
dJnU/rnNdx/CjstTasA0+FQpOxfbBLga2/T71ZEtzqg34s1DInIldgjDD4w7aF+pgdKmTqWUUiVF
a3xKKaVKStlIF6C/RESrpkoppfIYYwZ0pZsxVeMb6WluBrIsWrRoxMugZR35ZSyVdyyVdayVV8ta
vGUwxlTwKaWUUgdKg08ppVRJ0eArkgULFox0EfpNy1o8Y6m8Y6msMLbKq2UdXcbMcAYRMWOlrEop
pYaHiGAO5s4tSiml1IHS4FNKKVVSihp8InKbiOwUkdf62OcG98Kdy0TkzcUsj1JKKVXsGt8d2Etg
FCQi7wNmG2PmAGcDNxe5PEoppUpcUYPPGPMM0NbHLh/GvZCksdfHqheRScUsk1JKqdI20uf4moHN
Wfe3uuuUUkqpohgzc3UCXHHFFenbCxYsKInxJkoppTKWLl3K0qVLaW9rY9mf/zyoYxR9HJ+ItAKP
GGOOLLDtZuDPxphfufdXAu8yxuwssK+O41NKKcXG9eu58ZRTWPzGG9Qw8Emqh6PGJ+5SyMPYi4H+
SkSOB9oLhZ5SSqni2rh+PXdefjnO1q34mpv5/Pe+R+vMmSNdLMtx7JJMQjjMnRdcwOI33qB6kIcr
avCJyH3AAmCciGwCFgEBwBhjbjHGPCoi7xeRtUAEOKuY5VFKKZUvuwZVjf1nvOj55znvqacGFn7G
2IDyfqZSEIlAKJRZwuHeb3d2ZpZIJLN0ddklGoWKCpxEYtChBzplmVJKlTZjWHzmmSy8//6cMIkA
15xyCou+/nXo6LBLdkCFw3bxwskLKy+kurqguxv8fqiqGtxSXQ01NZn7lZXg97P4O99h4RNPUI1t
ThyNTZ1KKaWKzWsOTKXSTYLs3ZtZ9uzJ3G5rs0t7O3R04CxfnleDqgacp5+G7dttAHlBlB1M06bl
rq+oyL1fXQ1lPWLGGPD57Hq/H8rL8297932+gsvnb7yRRe97H4vfeGNQb5UGn1JKFcmgzpt54eUt
bW254bV7N+zbl1na29MBltOk6PNBXZ1d6uvt4t2uq4PJk9PbfffcQ+TZZ/NqfL53vQu++10bVpAb
Stk/vaW83D5vH6GFzwcyoApantY5czjvqae45vLL4b//e8CP16ZOpZQqgo1vvMGN730vi9ety5w3
a2nhvO99j9ayskyY7duXWwPLPucVDkMwaMOqtjYTYF54ZQdZXZ1tFqyttbcrKmxgeSHj1bQCARtM
gYANqvJyNm7fzo0f/ziLN2zIlHXmTM577DFaZ8/OBNYoNJirM2jwKaVUf2TXxCIR2LkTdu2yP73b
e/bYn3v3svjVV1nY0ZF/3qyujkWHH957gNXW2gDz1vv99sEi+TUvN7gIBOx9L9S8xat9eUsfNa10
7XTbNnxTp46uXp19GEzwaVOnUmpMGbJu99nNiZ2dhYNs9+7MuTGvRtbWZnsXNjTYpbERxo3L3J4/
HxobcXbupLqjI+cpqwFnzhy49lq7omftywuvQCA3tHrePsCmwkJaZ85k0b33DvlxRyMNPqXUmNFn
t/vp0zNBFgplAsxbdu8uHGTt7RCP29BqaICmJnvbWw4/PBNy9fV2XW1tbhMiZMLL/el79lkiq1bl
nzebOxeOOSZTk1PDTps6lVKjmzGQSEB3N4vPOIOFjz6a33w4fjyLJkzI1MgcJxNWTU2ZMPNqZd7t
ujq7rbo6tylRJLcZ0fvp3c5uPuylGbFgSM+ePfCxcapP2tSplBp7HMcGWywGGzfCunXwxhuwfj1s
2gRbttgu9Xv24EDhbvcNDXDRRTbIGhttV3rIDaOeQRYM2qVQiO3nfFh/tM6cme556J03O2+MnDc7
2GnwKaWKyxtXFo3C5s35wbZ1qw22XbtsLWzKFGhutstRR8Fpp8HEiTBpEr7vf5+IO3DZEwF8hx8O
p56a37nD625fpPNi+1NK583GEm3qVEodmFQqU2PbuhXWrrXhVijYamszwdbSAlOn2vuTJsH48bYL
Ptgmx/JyO1OHNyg6GGTj1q3c+KEP5Q4R0ObDkqbDGZRSA7bfXpLJpA22RKJwsG3bZoNtxw57rmzq
1N6DrbIycx7N57P3Kyszs354zZHe4Oi+yjvGut2r4tDgU0oNyMb167nxPe/JrUFNnsx5X/oSreGw
bZrMDrbKShtkLS25wTZ5cm6NDWzTYkVFJtwqKzPB5oWbUgdIg08p1btk0nbb7+yEFSvgn/9k8Q03
sHDNmvxekpMns+jUU23NzauxTZxow8tjjO0ckt0cmTUbCGVlI3JeTZUW7dWpVKkzxoZbPG679v/z
n/Cvf8GqVbZ5csMGW4ObPBlmzcLp7CzcS7K5Gb7yFRte2c2RwWBusI3SaayU6osGn1JjUSqVCbid
O+HVV2H5cli92obb+vV2DsiWFjjkELt88IPQ2mpDr7wcjMG3aBGR7dvze0nOmaODrNVBS5s6lRqt
vIHb8bjtMblpk63BrViRGQ6wYYO97tmMGTB7NsyZAzNn2oCbMCFTI/N6SWZf38zrJele3kV7Saqx
SM/xKTUWOU6m9haN2lpbz+bJDRvs+bJZszI1uJkzYfp0O/OI42RmHikrs+GWFXDpSYwL0F6SaizT
4FNqlCg4RKClJRNw4TCsXGmbJ9esydTeNm60tbJZs2ztbfbsTMDV1tomTq/DiN+fG3CBgA057S2p
SogGn1KjwMY1a7jx1FNZvH59pvmwqYnz3vMeWvftsyG3ZYvt/n/IITbcvBpcS4vtSJJM2oOJZAKu
utouGnBKpWnwKTXcEgnbPBmN2nFuL7/M4quuYmGBWfmvmTOHRWefbWtzzc020HoGnHcOzgs4b3iA
UqogHc6gVLF4wwSiUejuttNvvfKKPRe3cqXtcLJtG8yZg9PWVniIQF0dnHiiralpwCk1YjT4lOrJ
cWwvyljMDvbeuxeWLbPn41assEG3ebOtub3pTXD88fClL9melMbgu/TSwhMpH3IIHH20BpxSI0yb
OlVpSyYzIRcO25B7/fVMwK1cac/JtbbCEUdklkMOsY+PxzPHqqiAhgY27tvHjaefnnuOT4cIKFUU
eo5Pqb544+GiUXuF7rY2O2TAa6pcudIOH2hpsVfd9kJu3jx7/i0Ws7VBb8hAfb1dvJlNsgZ76xAB
pYaHBp9SkHs+rqvL1uTa223NbcUKu6xaZcfLTZ6cW5M79FB7vi0Wsx1XPHV1NuSqq23IBQIj9/qU
UmkafOqg1eulc7zzcdEoRCK2JhcK2XNwXlOlV6sbNy435A47zAaZ19Tp/X5VVNiQq6uzIRcM6pyU
So1SGnzqoLRx/XpuPOWU3Gm1pk/nvJtuorWpyV4yxws5r9myri4/5OrrMxdM9YYRlJVlanPeNeF0
fJxSY4YGnzq4OA50d7P4c59j4YMP5o+LGz+eRcmkrZFlh9wRR9hpvLyOK14HFBFbw6uvt7OgVFTY
Jku9dI5SY5aO41Njmxt0dHbac3IdHbBtG85LLxUeF9fUBLfdZq8T5813GY3aJsu2NhuI9fXQ0GBD
rqJCmyyVUhp8agSlUjboIhF7CZ1QyA4Cf+UVe5mdl1+GeBxfIEAE8sfFzZplx8S1tdlAq6uzF0z1
mix1vJxSqgBt6lTDp2fQdXTY83M9go5jj80ss2axcfNmbjzrLBZv2ZI5x9fSwnn330/rEUfYkAsG
tclSqRKk5/jU6OIFXWenrZV1dKTns0wHXSKRG3TeWLd43D4WwBg2hkLcefPNOHv22F6dP/iBjotT
SmnwqRGWStlxc52dtkYXDmeaLl97rX9B533GdXXQ2Gjns+wxOFwppTwafGp4JZM2rMJhW6Pzgu4f
/7BzW778st2nZ9CJZMbeOY49Vm2t7YmpQaeUGgANPlVc2UG3b589V5fdGeWll+w+xx2XCboZM2zQ
eTU6L+hqajJBV1WlQaeUGhQNPjW0kslM0+Xevfb21q22RtffoDPGLhp0Sqki0OBTA5I3Ddh3vkPr
5MmZCZwjERt0y5bZ5aWX7Hm8/dXoRGy4NTXZJszKSp0NRSlVFBp8qt8KTgPW3Mx5l11G67Zt+UHn
hV1rayboolG7XYNOKTVCNPhUvy0+80wW3ndf/jRgwSCLTjml76ADG3TjxmWaLjXolFIjQKcsU/0T
DuOsWlV4GrA3vxmWLMkEXUeHPUdXVQVTptganQadUmoM0/9epSQWs5fr+cMf8K1cWXgasIYGe36v
stJeq66uToNOKXVQ0abOUpBKwa5d8PzzcP31sG4dG//rv7jxl79k8ebNmXN8ra2c9/DDtB56qM5z
qZQaE0blOT4ROQ24DvABtxljru6xvQ64F5gO+IElxpg7CxxHg28wOjpg+XL45S/hoYfgC1+As84C
YOPq1dx51104oRC+lpbMxV2VUmqMGHXBJyI+YDVwMrANeBH4pDFmZdY+lwB1xphLRGQ8sAqYZIxJ
9jiWBt9AdHfDxo3wP/8DP/sZHHMMXHghjB9vhytUVtpZVOrqRrqkSik1aKOxc8uxwBpjzEYAEXkA
+DCwMmsfA9S6t2uBvT1DTw1AMmkngl66FK67zg4+v+YaG3zhsL0/cyZMmFCUa9MZYzAYHOP0+7Zj
nPSSdJIFb6dMCsdxSGF7lfrx4/P58OHD7/PjE1968fv8+MWfc18QRCT90ye+grcLrVNKHVyKHXzN
wOas+1uwYZjtp8DDIrINqAE+UeQyHZyMsdOIvfoq3Hwz/OlPcN558PGP2x6abW32WnXNzfaq41ki
8YgNlh6hlHJSdnG3ebcNJr3Nwa73wim7Vi4iYMBgCt4GMGIwxqSDxie+dNj0DCcEytxf2XQZTYpY
KobBpMve86djHBtqRkBsOAv2dl6Z3O32BdjtPvFR5itLl80LWy9QfeLDL/6cAPbue2X31mUHtBfK
SqnhNRq66p0K/MMY824RmQ08JSJHGmM6e+54xRVXpG8vWLCABQsWDFshR7VIBNatg3vvhVtvhVNP
hUcftWPsQiH7801vgurcAQzxVJxNHZvYE9mDT3wYTPqffc/aD5ATTN42P37Ky8pz1h1svFppdpgm
nSQJJ5ETrt6+2bXZbNnvTfa2Ml8ZZb4y/OKnzFdGub88vc5bvJDMC043TA/G912pQpYuXcrSpUsP
6BjFPsd3PHCFMeY09/63AJPdwUVE/gD80BjzN/f+n4CLjTEv9TiWnuPrKZGALVvgySdts2ZNDXz7
2zBvnu3UUlZmpxRrasq5SKsxhn3d+1jXtg6f+KgN1vb+HKrospt6jTE5tW+vVusjt1k6XUt1b/uw
tVK/z0/AF8Dv8+cEZ8AfKFjb7LlOqbFmNJ7jexE4RERage3AJ4FP9dhnI/Ae4G8iMgmYC6wrcrnG
NseBPXvgxRfhpz+104tdeCH8+7/b2l97u23SnDIlb/xdLBljY8dG9nbtpS5YR7lfhy2MtKEIneyQ
TDgJYqlYupbqNUXb1l1J7+/dhkyQBv1Bu5QFqSirIFgWzAnQcl+51i7VmDdcwxmuJzOc4SoRORtb
87tFRKYAdwJT3If80Bhzf4HjaI0PbAeVlSvhzjvhvvvgE5+As8+24+7CYVu7mz7d9trMYoxhb9de
1rWvo8xXRk2gZmTKr0Ytr7aZcmx4pgMTcmqXAV+AYJkNyIqyCirKKvKaZvXcpRouo244w1Aq+eDz
Zl353e/gxhth9my45BJoabGBV14Os2ZBfX3eQ6PJKBvaN9De3U5dRR1lvtFwaleNVV4np6STJOXY
nz35xJcORW8pdO5SqQOlwXcw8mZdeeYZuOEGe07v0kvhXe+ygZdM2hrexIl517gzxrArsosN7Rso
95drLU8NG284SnZI0vPPV+i1abXclwnJkW5aLdRLuLcexH399F6H18TsdQjzbvdnW6H9+trWc7+D
kQbfwaa9HV5/HW65BR5+GP7rv+Czn7Xn+CIROxZv2jQIBvMe2p3oZn3bekLxEPXB+jHf9LR502au
v/l6dnbuZFLNJC445wKmTZ820sVSB8BrWk06yXRIekNP0vv00bTq9UQuFDLZHYZ6WwwGx3FwcNI/
0+dK3aE6xuT2dPaGvHjDYHpy/wlnrcjsmz6n6h3PG1JjX2h6W85wmwPY1nNYDpA+l5z9Mz2G1RtG
5HaUKveXE/AHCPqDlPvL0+Njs3+Ohg5RGnwHC2/WlQcegJtugre/HRYutOfvQiE7afTMmfZKCT04
xmFn5042dWwi4A9QHeh5DYaxZ/OmzZx16VlsPnozBIA4THtlGndceYeGXwnorWk1b+xl1j/47OE1
PWtDg9l2sPD+h3qh7X1Z6Lktu3dx0kna4DaSF/p+8RMoCxDwBXKCssyfGaJT7KDU4BvrkknYvh3+
7//g2mvt/W9/G97yFht4YK+PN358wVlXuhJdrGtbRyQeoS5YN+ZreZ6Fly7kkfGP2NDzxOGDez7I
NVdeM2LlUqrUpWvH3uxK/QjK8rJygr7gkAXlaBzOoPrDm3Vl2TI7r+bTT8MFF8BHP2o7tezbB1On
2qXAVRMc47AjvINNHZuoKK+gsbKxX0873M2H8VSczngnoViIUCyUvh2OhQnHw3m3ve3r166HqT0O
FoBXtr3Ck288ybxx85hWP21UNLsoVUp84sPn7//fnReUCSdBNBXNBGWB2ZSgf0E5GBp8Iy0SgTVr
4J577BCFf/93O+tKZaUdhF5XB3Pm5M26kn54PMLatrXEEjEaKhv6/c8/p/lwKhCHZZcu67X50BhD
d7KbcMwNqHg4/3a8R3DFOnPWJZ0ktYFaaoO11AZqqQvWpe/XBeuoCdTQ2tCavl0XrKMuWMcNr9zA
n+J/yqvq1A/nAAAgAElEQVTxVQYqeWjFQ6zeu5q2aBtzm+Yyb/w85o2bl/6pg/OVGj2GOigdnEGV
Q5s6R0o8Dlu3wmOP2VlXmprgsstsyHV02JrdjBnQ2Jgz64on5aTYFt7GltAWqgPVVJRVDOjpe2s+
nPavacz/2Px0mGXXvsp95TmB5N3ODrJC67xwqyyrHNQ5k/6c4wvFQqzeu5pVe1axau8qVu1Zxep9
q2msaGTuuLnMHz8/HYat9a0HTTOwUqUsloxx5OQj9RzfqOfNuvL883Y83vLlcPHFdn7NSMROQ9bc
bK9+3stVz8OxMOva1hFNRWkINgwqTD5x7idYduiyvPUzl83k69/6em5wBWupCdQQ8AcKHGl4eM2y
uyK7mFg9sV/Nso5x2NyxOR2EK/euZNWeVezp2sMhTYekg3D++PnMHTeXhoqGYXo1SqmhoME3FoRC
dtaV226DX/0KPv1pO0TB57OXCxo3zo7Jqyhce0s6SbaGtrItvI2aQA3BsvxhDPvTEe3g5pdv5p7r
7yFxfKIkO4x0xjtZs3dNOgi9YKwN1qaD0GsundEwQwdaKzVKafCNZrGYHZ7w0EN2bs3DD4eLLrKd
VUIhOw5v5syCs654QrEQb+x7g4SToD5YP+BaXjwV575/3scvXv4FJ888mY9N/RgLv79Qhwi4HOOw
Nbw1JwhX7VnFjsgOZjfOzjlvOG/8PJoqm/o8no47VKr4NPhGo1QKdu6Ev/4Vrr8edu+25/FOOMHW
8FIpOzyhj4vCJp0kmzs2s6NzB7XB2gE3NxpjePyNx1ny7BJmNc5i4QkLmTtuLjC45sNS05XoYu2+
tazck1U73LuKoD+Y01Q6b9w8ZjbOJOAP6LhDpYaJBt8osXH9eu789rdxNm3CV1HB5ysraX3mGTjn
HDjzTDs2r6vLXhS2pSXvorDZOqIdrN23Fsc41AXrBlzLe3n7y/zomR8RS8W4+B0X8/Zpbz/Ql6ew
Xya2d25PB+HKPStZtXcVW0NbmdEwg8iTEba8aUtJNiMrNZw0+EaBjevXc+Mpp7D4jTeoBiLAoupq
zrvzTloPPdTOrVlTY3tr1vQ+b2YilWBTxyZ2RXYNqpa3oX0DS55dwj93/ZOvHf81PjTvQzrGbRhE
k1HW7lvLwksWsv4t6/O2Vz1TxfGfOZ4pNVOYXDM5vUypmcKkmkkj2nlIqbFosMGnZ+2H0J2XX54O
PYBqYHEkwjW33sqi738fDjnEdmDpo+a2r8teIBZgXNW4AT3/vu59/OyFn/GHNX/gi2/5Ij9+748H
PMxBDV5FWQVHTDyCIyYdwfr4+rwa39FTj+b0+aezvXM7Ozp3sHLPSnZ07mBH5w52RXZRF6zLC8N0
SNZOZlK1hqNSQ0GDbwg5W7fSc5h5NeCEQnDUUQVnXfHEU3E2tG8Y1AVio8kod796N7f94zY+MOcD
PHbmY/vtfKGK54JzLmDZpcvyzvFdceUVvZ7jc4zDnq496SDc0bmD7Z3bWblnZTood0d2U19Rz6Tq
SUypnZIfjjWTmVg9ccDhqB1xVKnR4BtCvmCQCOSEXwTwzZrVa+gZY9jXbWt5IjKgWp5jHB5e9TDX
PX8dR0w8ggc++gAzG2ce0GsYrbInzfVm5h+tpk23HVlyOg5d2XeY+MTHxOqJTKyeyJGTjiy4T8pJ
sadrDzsjO9ke3s6OyA52hHewfPdytoe3szOyk92R3TRUNOQFYvYyqXpS+ovVQGfwUepgoOf4hkos
xsa3vpUbt25lcXt75hzf7Nmc99RTtM7MD6RYMsaG9g20RduoDdQOqJb33Obn+NGzP6LcV85F77iI
Y6YeM3SvZZh40w9lT3SbdJI5c/YB6cuseDPAdye7STkpynxlVJVX6SwsWbxw9GqM2TVIb9nTtYeG
igYm10xm96O72XHkjrxm2Q/s+QBLrlwyYq9Dqf7Qc3wj7Sc/odUYzrv9dq654w6czk58U6dy3ve+
lxd6xhj2du1lXfs6ynxlA2qWXLN3DT9+9sesa1vHN0/4JqfNPm3UXDql56VMsgPNC7Psa4SVib3m
V9AfJBAIEPDbpdxfnp6dPXvGdo9jHCLxCHu797Knaw/JVJJyf7mGIOD3+ZlUM4lJNZM4iqMK7pN0
kuzt2sv2zu1c9tRluaEHEID/Xf2/rPjvFTTXNdNS10JzbTPNdc0019r7jRWNo+b3TqmB0hrfUFiz
Bo491s7I0tJiz+cVuDgs2PNx69vW0xHtoK6irt+zguyK7OLGv9/IH9f/kbPfejZnvOmMYeno4F0L
rWeYAXmzqfvElw4ubxZ17352gHm3h+IfpxeCbd1t7O7aTdJJ4vf5qS6vLvkQ7I/e5mw9bddpnHvh
uWwNbWVLaAtbw1vZGtrK1rC9n3ASNgzdIPRC0QvKwUyycDDS86fFpcMZRkoqBe97n51q7Etfglmz
YOLEvN2MMeyK7GJD+wbK/Xay5/6IxCPc/o/bufe1ezn9sNM5563nUF/R+wwvA5V0kkTiETvLedZF
PDFgxF79utxXbi82mRVmPWtjPWtlI8EYQyRhQ3BXZBcJJ5FuDtVpxwob7GD7cCxsw9ANQi8UvaB0
jJNTQ8yuNbbUtVAXrBu+FzlCdCKD4tPgGyl33AHf+Q78+td2yrFDD80brtCd6GZd2zrC8TD1wfp+
BUTSSfLQioe44e83cFzzcXz97V+npa5lyIodT8WJxCP4fX6m1kylsryyYJiN1W/txhi6El20RdvY
1WlD0Cc+qgPVGoI9FGMGn1AslFNDzK41bgltwSe+vFpiuvZY29zn5aRGuhblGIdoMko0GSWWjNmf
qVjeutuvu51ls5bl1aZP3HIil3/ncuqD9QfVBaNHggbfSNixA978ZrjySjjsMDjySKiqSm92jMPO
zp1s6thEwB+gOlD4mnrZjDH8deNf+dGzP6KpookL33Fhr738BqM70U00GaWivIKW2hYaKhoO+j+8
7BDcHdlNPBXHJz6qyqsG1KFIDQ1jDB2xjrxaYvp2eAvlvvJMMGY1p/o7/Hz3x99ly1u35NSifr74
54yfOj4dPj1DKJrKuu2tTxXeN3tbzmPccEukEgTLglT4K+zPsszP7HWv3PcKe4/fm/f6q56pYtz7
x6Uv91VVXkV9RT31wXrqK2wY1gcz97PXN1Q0pLdXlVcN6RfTkf5CMRgafMPNceAzn7GXErr0Untu
b2rmMuFdiS7Wta0jEo/0+1vd67te50fP/ohdkV0sPGEh757x7iH5xfaaAOOpOPXBeprrmqkN1I7Z
2tyB8C6o297dzq7ILmKpGCJCdXm1huAoYYyhLdqWE4xezfHl+1+m85jOvFqU/zk/tafW2vDxlqwQ
SodTgXWVZZXpbTkhVlZB0N/j8e66/vzt9Hb+NHvqOsc4hGNhOmIddEQ76Ih1EIqFaI+2E4qF0us6
Yh2EoiHaY5n1SSeZvjZmOhC9oAzWU1fRe4D27B8wVptlNfiG26OPwmc/C7/9rb1K+hFHgN+G276u
fazeu5rK8koqyyv3e6ht4W1c+/y1PLf5Oc499lz+87D/HJLmuJSTojPeiWMcxleNZ3LN5H7VOktF
oRD0iY/K8kqdIWWU+sz5n+GFuS/krT9uzXHcff3dI1Ci3hU7TOKpOB1RNyhj7YSioXRIptcXCtBY
iIA/kFOz3PTwpoLDWk7afhLXXnltv/6PjQQdzjCcQiE4/3z41rfsxWJnzUqHXjQZZW3bWmqD+x+X
F46F+cXLv+A3r/+GT73pUzz+6cf73emlL4lUgkg8gogwpXYKE6omDOrafQc7EaGqvIqq8iqm1k2l
K9FFR7SDXV27aOtuQxCqAlUagqPIpJpJECfvH/TE6vwOZSNtMBMZDETAH2BC9QQmVE8Y0OO8FqDs
QPz+Y99nR2BHjyeAZzc+y7G3HktVWRWTaiZlJkGomcTk6sk594fif9dw0RrfQBkD3/gGvPgiLFli
r7IwYwZgmy2W715OIpXos2YVT8X51b9+xU0v3cS7ZryLrx33NfsHfYCiyShd8S6CZUGa65ppqmzS
jhyD1J3oJhQLsSOyg+54tz0nqCE44sZqk9xo11ez7I9/8GPaom05kyDs7Nxpb0cy9/0+vw3C6sm9
huRgrjLTF23qHC5//zuceqrtxTlunB2zV2bDZXPHZraHt9NQ2VDwocYYnnzjSZY8t4Rp9dO48IQL
mT9+/gEXqTPeSTwZpyZYk+4qPpqn9BproskoHdEOdkZ20p3oBqA6UK0hOEL0OpJD70C/UBhj7BdF
NwzTweiFpBuQKSeVCcXqrGDMmlKvv5MjbN60mZ/c9BMe/eWjGnxFFY/D298Op5wCH/4wzJ8PjY2A
vXbe8t3LaapsKvihLduxjKueuYquRBcXveMiTpx+4gEVxTEOnfFOUk6KpqomptRMGVNNDWNVNBkl
FAuxs3MnXYkuAKrKq7QpWY15w/GFojPemROKhUKyK9nFpOpJuaFYnTvfbPeebr5w2RdsUF+JBl9R
XXUV3HOPHbvX0ABz7ZXMY8kYr+18jcrySnZu3ZnTJfg/z/xP7tt8H//Y/g++dvzX+PC8Dx/Q8IGk
k6Qz3gnA5OrJTKyZqJceGiGxZMyGYGQnkXgEBKrKNASVOhDdiW52RgrXGL2Q3PfYPswJxtZOr9Dg
K541a+C44+DWW3OmJTPGsHLPSrqT3bTtaMtrLpClwue//HkuOPWCA+oZ5Q04L/OV0VzXzLjKcdr9
fhTxQnBXZJf9YiJQWVapX0qUKoJPn/9pXpz7or1zxcCDT3s+9EcqBeeeC6efbsfqzZiRnotze3g7
oViIxspGrrj5ikzoAQTALDDseXYPlR8YXOh1JbqIJqJUBio5pOmQkhhwPhYFy4JMKLM97OKpOKGo
DcH2aDvGGATB5/PZ6d/cKd+UUoMzuWZyfu/eAdDg64+774YVK2DxYjtmb4LtPhyOhdnUsSndmWVn
5057TbNsATvB9EAYY+iMd5JIJWiobGBW46ySHXA+FgX8AcZXj2d89XiSTpJ4Kk48Facr3kVnopNI
PELCSaSvVOH3+Sn3lacn81ZK9S3nYs+DoH9l+7NjB1xyiZ2WTARmzgQREqkEa/auoSZYk+5BWV9R
f0BjjFJOinAsDMCE6glMqplEVXnVfh6lRrMyX1l6ouyGikxv35STIpaKEU/F6U500xnvtItjz98a
k3u1Cw1EpTK8MZI/ueknPMqjA368nuPrSy/TkhljWLNvDeFYOD2ZrjGGz9zxGVY9torQ20MD6hLs
nb/ziY/m2mbGV4/XrvIlKuWkiKfixFKxdCBG4hFiqRhgB90Lkr70kwaiKmU6c0sxPP44PPGEnZYs
GLSD1bFNl/u69tFUlbmA7AOvP0BXdRe//tGv+dkvf9avmRqiySjdiW4C/gCzG2fTWNmo535KnN/n
p9Jnp7rrWUP0mky7k92EY2G6El3pFgIAn/go95enm02VUoVpja83oRAcfTSccw684x12Ls7aWiLx
CP/c+U/qKzKXF1rftp5PPvhJ7vvofcxunN3nYdMTRifj1AZr0wPO9fydGozsQIwmo4TjYSLxCNFk
FEEwGETENplqIKqDjNb4hpIxsGgRTJ4M73ynrenV1pJ0kqzZu4aqQFU69BKpBBc+dSHnHXten6Hn
zcKeclKMqx7HlHE64FwduOwaYj31TMK2SjjGsU2m7mV1OuOddCY66ey25xAFASHdy1QDUZUSDb5C
XnjBDlL/9a/tdGQt9gKwG9o3kHAS1AcyV0C/+aWbqa+o58w3nVnwUEknSTgeRhAdcK6GjU986cvp
FArEeCpONOHWEBMROqOdYOw5RGNMukNNua9cm9/VQUeDr6d43I7ZO+ccqK21V14oK2NPZA+7I7sZ
VzUuveurO17l/n/dz28/8du8pspYMkYkESHgCzCjfgZNlU36rVqNuOxArAvWMRHb49gLxEQqYYde
JLqIxCN0JbtIpBKZZlOEMr8NxDJfmYaiGpM0+Hr6yU+gu9sOVm9ogMZGuhPdrGtbZ4cruLoSXVz0
1EV8513fybuyQke0g0BZgLlNc2mobNAJo9Wolx2IAOPIfMFLOSkSTiLddNqV6EovKZNKD9A3mJzO
Nfp7r0YrDb5sa9bA1VfDbbfZ+62tpJwUa/atIVCW23X86r9dzVGTj+K0Q07LOUQ8FccnPg6fcLh2
NVcHBb/Pj9/nt6HYYxpSr3NNwknkhGIkHiHpJNNNpyJCma8sPQRDQ1GNpKL/ZxaR04DrAB9wmzHm
6gL7LACuBcqB3caYk4pdrjzetGQf/WjOtGSb2zYQTUZzupb/ZcNfeHrj0/z+k7/POYQxhnAszGET
DtPQUyUh3bmGyrxQTDrJdNNpPBUnkojQleiiM9aJYxzIOjvg1RLLfeVjsoezYxwc42CMwWDStx3j
YDAYY/D7/OkJDTT4R1ZR/zuLiA/4KXAysA14UUR+b4xZmbVPPfAz4L3GmK0iMr6YZepVgWnJ9nXt
Y3vndpoqM+P19nXv47L/u4yfnPqT9OB1TygWYlLNpJwmUaVKlfdP3pucfQKZK4V7U7klUon0+fCu
RBehWCg9lZvteGprikMRioXCKB1YWfe9217PVyBz3+Otx4Cxr9Uvfnw+X7pTkE986fUiQiwVsx2K
YuH04wwGBHz40q/TL349d1pkxa6WHAusMcZsBBCRB4APAyuz9jkDeNAYsxXAGLOnyGXKV2Basmgq
xtq2tTlj7IwxXP7ny/nQvA9xbPOxOYfwmjin1ekFMZXaHy8UKdDfK5FK5JxTjMQzoegYJ30+EUiH
IwDZw3yzAsvjBYrf58cv/nTnHG99z/uC4BNfehGx9wutHyjvvGkilSDpJNOTWURTUboSXbnNxAgi
kp7T1SurGrxiv3vNQPYsoluwYZhtLlAuIn8GaoAbjDH3FLlcGY4D3/wmHH+8HaTe0oJTEeSN3SvS
38A8D614iM0dm7n21GvzDhOOhTl0wqHac1OpA1Tut82ePeepNcZkaopOgpSTygul9H03nLLXjyY5
500LcIyT/gKQdJLEkjG6k91EE1E7c48TRkxmggLIfJnwQn0sNhkPl9HwtaEMOBp4N1ANPCcizxlj
1g7Lsz/xRN60ZFtDW+mMd9JY2ZjebXNoMz9+9sfc9R935c2jGYqGmFg9Mec8oFJqaIlIOhQPdj7x
ESwLEux54tTlGCd9DtX7MuDVGLsT3UQSEYCcHrfpYHRrjqUcjMUOvq3A9Kz7Le66bFuAPcaYKBAV
kb8CRwF5wXfFFVekby9YsIAFCxYcWOnCYTjvPLj4YjtQfdYsOhKdbAltyTmvl3JSXPTURXz5rV9m
3vh5OYeIp+IATK+fjlJKDQfvyh29TWbv1Y69GmMilaA72U13opvuZHf6XKpXY+zZ+WY0d8D5+zN/
54W/vQDYc8WDUdS5OkXED6zCdm7ZDrwAfMoYsyJrn/nAjcBp2H5hfwc+YYxZ3uNYQztXpzHwjW/A
iy/CkiUwaRLxaVN5bcdrVJRX5PxC3fLyLTyz6Rnu/I87834Z9nbtZf74+Tm1Q6WUGu2ya4wJJ5Fu
RvXC0TEOQM4YzexgHA1G5VydxpiUiHwVeJLMcIYVInK23WxuMcasFJEngNeAFHBLz9Arih7Tkpnm
Zta3rUtP6OtZvns5dyy7gwc//mBe6IWiISZUT9DQU0qNOXkBVpm73QtGb4ymF4hdiS7CqbBtKjVg
xKTPK3o9Wkd7M2ppXp0hHocTToD3vAc+/GGYP59t/m42hTblNHFGk1E++uuPcvZbz+ZD8z6Uc4hE
KkF3opujJh9VEucclFLKk935xvtf2JW0kxdEk9G84SBeIA71NHejssY3avWYlixcVcbGXRvzam5L
nlvCnKY5fHDuB/MOEYqFmDdunoaeUqrk9Ox8k/2/M/v8YvY4Ta+2mDIpO/RE7L7pmqLblDocSi/4
ekxLlmiZypq9q6kJ1OQ0ZT67+VmeWPsED3/q4bxqezgWZkL1hJwL0SqllOrR+7ZAvSB7DKN3YeWu
RBfdiW57JRvj1hTdq4UM1QQG2Uor+FIp+OpX09OSmdZW1ndvwzEOwbJMt+H2aDuX/OkSfnjyD/OG
KCRSCRzjaC9OpZQahL7GMBpjckIxmoymQzE9q4/kTkwwGKUVfPfcA8uXwxVXQF0du6oMe9v35lxq
COC7f/kup8w6hXdMf0feIcKxMHPHze21G7FSSqnB8ToXBvwBqqnO295z/teuRNegnqd0gs+bluwH
PwCfj0jzRNa3r82r0T2y6hFW7FnBbz/x27xDhGIhmqqatIlTKaVGQM/5Xwd9nCEqz+jmOLBwIRx3
HBxxBMmpk1nbvZWqQFVOD6Pt4e1c+cyV3PrBW/Oq4YlUAmMMMxpmDHPhlVJKDaXSCL4nnoDHH4eH
HoJgkE2VcWLdMRoqM7U9xzhc/MeL+dxRn+PwiYfnHSIUC2kTp1JKHQRG55w0QykchvPPt9OSlZez
d0o9O7t254QewN2v3k08FedLR38p/xCxMOOqxuWM8VNKKTU2Hdw1PmPgO9+BSZPg3/6N7vENrI3v
zLte3uq9q7n5pZv5zX/+Jm8cSdJJkjIpWutbR/1sBEoppfbv4A6+F19MT0uWKvOxpqKLoD+YE27x
VJwLn7qQb57wTabV519LLxQLMadpTs5wB6WUUmNXv5s6ReREETnLvT1BRGYWr1hDIB6H//f/4Jxz
oLaWLeMr6Caed42vG/5+A821zXzs0I/lHSIcC9NY0ahNnEopdRDpV41PRBYBxwDzgDuw4/HvBfIH
uo0WWdOStVX52ObrpCmYG2Avbn2R3638Hb//5O/zmjG9Js4ZDTO0iVMppQ4i/W3q/AjwFuAVAGPM
NhGpLVqpDtTatelpyWKpOGtqhLpgQ06AdcY7ufiPF/O9k76XN4AdoCPaoU2cSil1EOpvU2fcvTSC
ARCR/CH1o0UqBeeeCx/9KM6UybwxDsqClXmTSX//r9/nxOknctLMk/IO0RnvpKmyqWAgKqWUGtv6
G3y/FpFfAA0i8l/AH4FfFq9YB+Dee+20ZF/8ItvKo4Qry6gJ1OTs8sTaJ3hl+ytc/I6L8x6edJIk
naQ2cSql1EGq39fjE5FTgPdi581+whjzVDELVuD59389vh074C1vgR/8gNC8Gbw+SWhqmJoTYLsi
u/jIrz7Cz97/M948+c15h9jbtZc5TXMYXz1+qF+CUkqpISYiQ389PhHxA380xpwEDGvYDYg3Ldmx
xxI/dC6rq8LU1k3LCT1jDJf+6VI+cfgnCoZeZ7yTxspGbeJUSqmD2H6DzxiTEhFHROqNMR3DUahB
caclMw8+yPrUHmRcc970Yvf96z7aom185Ziv5D1cmziVUqo09LdXZyfwTxF5Coh4K40x5xelVAPV
2ZmelmyHCdE2sY6mytzZWda1reOGv9/A/R+9v+BV00PRELOaZhW8RpRSSqmDR3+D7yF3GX2Mgcsv
h0mT6DzhGDYE2mlsmpqzSyKV4MKnLuT8485nVuOsvEN0xjupr6hnQtWE4Sq1UkqpEdKv4DPG3CUi
AWCuu2qVMSZRvGINgDstWeKB/2Z1bBs1Mw7DJ7mdVW966SYaKxo544gz8h6eclIkUgkOm3CYNnEq
pVQJ6O/MLQuAu4AN2F6d00Tkc8aYvxavaP3gTktmvvxlNpRHcKZOJViRO8Rw2Y5lPPCvB/jdJ39X
MNg6Yh3MatQmTqWUKhX9bepcArzXGLMKQETmAvcDby1Wwfrl2muhu5vdHziJPWUhxk1oztkciUe4
6KmLWPSuRUysnpj38M54J/VBbeJUSqlS0t/gK/dCD8AYs1pE8nuIDKe1a+Gqq+j+xc9YH91Ow+H5
GXz1367m6ClHc+ohp+ZtSzkpkqkkMyfM1CZOpZQqIf0NvpdE5FbsxNQAZwIvFadI/eBOS+ac/hFW
N6aomDYbf0Vlzi5/Xv9nntn0DL//5O8LHqIj1sHMhpnaxKmUUiWmv1OWfQVYDpzvLsvddSPDnZZs
4xnvJ14ZpHL85JzNe7v2cvmfL+fq91xNbTB/Lu1IPEJdoK5g86dSSqmDW7+mLHMnpY4aY1LufT8Q
NMZ0Fbl82WWwU5bt3AlvfjMdiy5h+Ywqmo54G1KZqe0ZYzj30XOZ2TiTC0+4MO84KSdFKBbiyElH
UllembddKaXU2DGYKcv6W+P7E5CdEpXYiaqHl+PAN79J8m1vZdXMGupbZueEHsCDKx5ka3grFxx3
QcFDhGIhWhtaNfSUUqpE9fccX4UxptO7Y4zpFJGqvh5QFE88gXn8cdbctYRAZSVlk6bkbN7csZlr
nr2Guz9yd950ZQBdiS5qAjXaxKmUUiWsvzW+iIgc7d0RkWOA7uIUqXeLP/5x/vHZjxPyJ6maMQd8
meKnnBQXPnUh5xxzDnPHzc17bMpJEUvGmNk4M2+Au1JKqdLR3wT4GvAbEXlaRJ4GHgC+WrxiFbaw
s5PbH/gfIqkKqM4dqP7LV35JsCzIZ4/6bMHHhmIhptdPp6p8+CuqSimlRo8+g09E3iYik40xLwLz
gV8BCeBxYP0wlC9HNXD19t387+3356x/fdfr3PXqXVx18lUFa3NdiS6qA9VMqpk0TCVVSik1Wu2v
xvcLIO7efjtwKfAzoA24pYjl6lU14Nu1J30/moxy4VMXcumJlzKldkre/o5xiCaizGqcpU2cSiml
9tu5xW+M2efe/gRwizHmQeBBEVlW3KIVFgGcSZnOKdc8ew3zx8/ng/M+WHD/jmiHNnEqpZRK22/w
iUiZMSYJnAx8eQCPHXIR4JIZ0/jIpXaowt82/Y2n1j3V6+wsXYkuqsqrmFw7ueB2pZRSpWd/bX/3
A38Rkd9je3E+DSAihwDDfjX2b5/+fj7y4B00t06jPdrOJX+6hB+e/EMaKhry9vWaOGc3zdYmTqWU
Umn7nblFRI4HpgBPGmMi7rq5QI0x5pXiFzFdDvPajtcIlgUxxvD1J77OhOoJXPbOywru39bdxrS6
afkv+g8AAB1ESURBVEytm1pwu1JKqbFvMDO37Le50hjzfIF1qwfyJEPtkdWPsGbfGq56z1UFt3cn
uqksr9QmTqWUUnmG/TzdgdoW3sYPn/kht33otoJXVnCMQ3eymzdNfJM2cSqllMozppLBMQ4X//Fi
Pn/U5zlswmEF9wlFQ0yrm0Z1oLrgdqWUUqWtX1dnGA1ExMz/2Hz8b/Hzm//6DX6fP2+f7kQ3CBwx
4YiC25VSSh1cinl1hlFh5dyV7PvLPrZt2Za3zWviPKTxEA09pZRSvSp68InIaSKyUkRWi8jFfez3
NhFJiMjpvR4sANuP2c71N1+ftykUDdFS16JNnEoppfpU1OATER/wU+BU4HDgUyIyv5f9rgKe2O9B
A7ArsitnVTQZJVgeZEpN/pRlSimlVLZi1/iOBdYYYzYaYxLYqzp8uMB+5wH/A+wqsC1XnJzr6Rlj
iMQjzG6crU2cSiml9qvYwdcMbM66v8VdlyYiU4H/MMbcBPR9gjIO016ZxgXnZK6u3h5rp6WuhZpA
zZAVWiml1MFrNHRuuQ7IPvfXa/i9f/f7uePKO5g2fRpgmzgr/BVMrdXZWZRSSvVPsQewbwWmZ91v
cddlOwZ4QEQEGA+8T0QSxpiHex5set10fnf/7wB42zvextyj53LEJB26oJRSpWLp0qUsXbr0gI5R
1HF8IuIHVmGv7LAdeAH4lDFmRS/73wE8Yox5qMC29FydAG3RNqbWTGVa/bSilV8ppdToVpS5Og+E
MSYlIl8FnsQ2q95mjFkhImfbzabnxWz7lcKxZIygL6hNnEoppQZsTM3c8tqO1wj4A+zr3scRE4+g
Nlg70sVSSik1gg76mVsAOmIdTK2dqqGnlFJqUMZU8MVTccp95bTUtYx0UZRSSo1RYyr4upJdHNKk
c3EqpZQavDEVfNPrpmsTp1JKqQMypjq3JFNJre0ppZRKO+g7t2joKaWUOlBjKviUUkqpA6XBp5RS
qqRo8CmllCopGnxKKaVKigafUkqpkqLBp5RSqqRo8CmllCopGnxKKaVKigafUkqpkqLBp5RSqqRo
8CmllCopGnxKKaVKigafUkqpkqLBp5RSqqRo8CmllCopGnxKKaVKigafUkqpkqLBp5RSqqRo8Cml
lCopGnxKKaVKigafUkqpkqLBp5RSqqRo8CmllCopGnxKKaVKigafUkqpkqLBp5RSqqRo8CmllCop
GnxKKaVKigafUkqpkqLBp5RSqqRo8CmllCopGnxKKaVKigafUkqpkqLBp5RSqqRo8CmllCopGnxK
KaVKStGDT0ROE5GVIrJaRC4usP0MEXnVXZ4RkTcVu0xKKaVKlxhjindwER+wGjgZ2Aa8CHzSGLMy
a5/jgRXGmA4ROQ24whhzfIFjmWKWVSml1NgjIhhjZCCPKXaN71hgjTFmozEmATwAfDh7B2PM88aY
Dvfu80BzkcuklFKqhBU7+JqBzVn3t9B3sH0JeKyoJVJKKVXSyka6AB4ROQk4Czixt32uuOKK9O0F
CxawYMGCopdLKaXU6LF06VKWLl16QMco9jm+47Hn7E5z738LMMaYq3vsdyTwIHCaMeaNXo6l5/iU
UkrlGI3n+F4EDhGRVhEJAJ8EHs7eQUSmY0PvM72FnlJKKTVUitrUaYxJichXgSexIXubMWaFiJxt
N5tbgMuBJuDnIiJAwhhzbDHLpZRSqnQVtalzKGlTp1JKqZ5GY1OnUkopNapo8CmllCopGnxKKaVK
igafUkqpkqLBp5RSqqRo8CmllCopGnxKKaVKigafUkqpkqLBp5RSqqRo8CmllCopGnxKKaVKyqi5
Hp9SqjTMmDGDjRs3jnQx1BjT2trKhg0bhuRYOkm1UmpYuZMKj3Qx1BjT2++NTlKtlFJK7YcGn1JK
qZKiwaeUUqqkaPAppVSROI5DbW0tW7ZsGdJ91YHR4FNKKVdtbS11dXXU1dXh9/upqqpKr7v//vsH
fDyfz0c4HKalpWVI9x2o9vZ2zjrrLKZMmUJDQwOHHnooS5YsGfLnGSt0OINSSrnC4XD69qxZs7jt
tts46aSTet0/lUrh9/uHo2gH5Pzzz8dxHFavXk1tbS2rVq1ixYoVQ/ocY+W9AK3xKaVGkY3r17P4
059m0Un/v727j6q6TBc+/r0YUaOEQBGBEBWValLTOnqMjseX6Tg5ndK0fAHU6TzWYp4JJ52npU0t
fJs8dqxJm7Ra42vSqaamlNAJdBKX0zS+Tmml1RGIgdFTZAqpIOzr+WP/2LFx8xq4N3F91mLxe733
tX+6ufZ979++rzEsTkmhMD/fL20AqOolt88/9thjTJs2jRkzZhAWFkZmZibvvfceI0eOJDw8nNjY
WObOnUt1dTXgTgZBQUF8/vnnAKSmpjJ37lwmTJhAaGgoSUlJnu80NudYgB07dpCYmEh4eDjp6enc
euutbN682edz2b9/PzNmzKBbt24AJCYmMnHiRM/+I0eOcNttt9G9e3diYmJYuXIlABUVFaSnpxMT
E0NcXBzz58+nqqoKgF27dtG3b1+WL19OdHQ0999/PwDbtm3jxhtvJDw8nFGjRvHhhx+26Pq3qZp/
3ED/cYdqjGnv6nstF5w4ofMTErQcVEHLQecnJGjBiRNNbrs12qjRp08f3bVrl9e2Rx99VLt06aLZ
2dmqqnrhwgU9cOCA7tu3T10ul+bn52tiYqI+++yzqqpaVVWlQUFBWlhYqKqqKSkpGhkZqYcOHdKq
qiqdOnWqpqamNvvYU6dOabdu3TQrK0urqqr0qaee0s6dO+umTZt8PpfZs2froEGDdOPGjfrpp596
7Ttz5oxGRUXpM888o5WVlVpWVqb79+9XVdWFCxdqUlKSlpaW6hdffKEjRozQJUuWqKrqzp07tVOn
Tvroo4/qxYsX9cKFC7pv3z7t1auXHjx4UF0ul27YsEETEhL04sWLzb7+ddX3/8bZ3rx80twT/PVj
ic+Y74f6XsuLkpM9CUtrJa5FyclNbrs12qhRX+IbN25cg+etXLlS7733XlV1JzMR8UpmaWlpnmO3
bdumgwYNavax69ev11GjRnk9bnR0dL2J7/z58/rrX/9ab7rpJg0ODtaBAwdqTk6Oqqq++OKLOnz4
cJ/nxcfH686dOz3r2dnZOmDAAFV1J74rrrjCK6nNmTPHkxhrJCQk6Lvvvuuz/eZozcRnQ53GmIDg
Ki7myjrbrgRcmZkg0qQfV2am7zZKSlotzri4OK/148ePc8cddxAdHU1YWBgZGRl8+eWX9Z7fq1cv
z3JISAjl5eXNPrakpOSSOBq6KaZr16488sgjHDhwgNLSUiZNmsSUKVMoKyujqKiIhIQEn+eVlJTQ
u3dvz3p8fDzFxcWe9aioKDp1+vZWkcLCQlasWEFERAQRERGEh4dz8uRJr3MCgSU+Y0xACIqN5Zs6
274BgpKT6/Th6v8JSk723UZMTKvFKeI9O9YDDzzAoEGDOHHiBGfOnGHx4sU1o1RtJjo6mqKiIq9t
TU0u3bp1Y+HChZSVlVFQUEBcXByfffaZz2NjY2O9PlcsLCwkNjbWs173WsTFxZGRkcFXX33FV199
xenTpykvL2fKlClNfWqXhSU+Y0xAmL10KRkJCZ7E9Q2QkZDA7KVLL2sbzVVWVkZYWBhXXHEFH3/8
Mc8//3ybPVaNO+64g8OHD5OdnU11dTVPP/10g73MJUuWcPDgQS5evEhFRQWrVq2ie/fuDBgwgDvv
vJOioiLWrFlDZWUlZWVl7N+/H4Bp06axZMkSSktL+eKLL1i2bBmpqan1Ps6cOXN49tlnOXDgAADl
5eW89dZbnD9/vnUvwHdkic8YExDi+/blwdxcViYnkzFmDCuTk3kwN5f4vn0vaxs16vZm6vPkk0+y
ceNGQkNDSUtLY9q0afW201ibTT22Z8+evPLKKzz00EP06NGD/Px8hg4dSpcuXeo9Z9asWfTo0YPY
2Fj27NlDdnY2Xbt2JTQ0lNzcXF577TWioqJITExkz549AGRkZDBkyBBuuOEGbrzxRkaOHMmCBQvq
fYwRI0awdu1a0tLSiIiI4NprryUzM7PB5+wPVp3BGHNZWXWG1udyuYiJieH1118nKSnJ3+G0CavO
YIwxHdzbb7/NmTNnqKioYMmSJXTu3Jnhw4f7O6x2wRKfMca0Q3v37qVfv35ERUWRm5vLm2++SXBw
sL/DahdsqNMYc1nZUKdpCRvqNMYYY1rIEp8xxpgOxRKfMcaYDsUSnzHGmA7FEp8xxpgOxRKfMca0
ksLCQoKCgnC5XABMmDCBF198sUnHNtfy5cs9NfBM81jiM8YYx+23386iRYsu2b5161aio6OblKRq
TzW2ffv2Bue2bOq0aHl5eZdUY1i4cCEvvPBCk85vjosXLzJ//nzi4uIIDQ2lX79+zJs3r9Ufx58s
8RljjGPWrFls2bLlku1btmwhNTWVoCD//MlU1SYnye/q8ccf59ChQxw4cICzZ8+ye/duhg0b1qqP
UVOh3l8s8RljAkZ+QT4p6SmMmT2GlPQU8gvyL2sbEydOpLS0lL1793q2ff3117z11lvMnDkTcPfi
hg0bRlhYGPHx8SxevLje9saMGcP69esB93yav/zlL4mMjKR///5kZ2d7Hbtx40auv/56QkND6d+/
v6c3d+7cOSZMmEBJSQndunUjNDSUkydPsnjxYq/e5LZt27jhhhuIiIhg7NixHDt2zLOvb9++PPnk
kwwZMoTw8HCmT59OZWWlz5gPHDjApEmTiIqKAqB3796kpKR49v/9739n8uTJ9OzZk8jISNLT0wF3
cl62bBl9+vShV69ezJ49m7NnzwLfDuuuX7+e+Ph4xo0bB8B7771HUlIS4eHhDB06lLy8vIb+eVpP
cyvX+usHq8BuzPdCfa/lE/knNOEnCcojKItQHkETfpKgJ/JPNLnt1mhjzpw5OmfOHM/6c889p0OH
DvWs5+Xl6dGjR1VV9ciRI9qrVy/dunWrqqoWFBRoUFCQVldXq6rq6NGjdd26daqqunbtWr3uuuu0
uLhYT58+rWPGjPE6dvv27Zqfn6+qqnv27NGQkBA9fPiwqqru3r1b4+LivOJctGiRpqamqqrq8ePH
9corr9Rdu3ZpVVWVPvHEE9q/f39PdfQ+ffroiBEj9OTJk3r69Gm97rrr9Pnnn/f5/JctW6a9e/fW
NWvW6JEjR7z2VVdX65AhQ3T+/Pl6/vx5raio0D//+c+qqrpu3TodMGCAFhQU6DfffKN33323J76C
ggIVEZ01a5aeO3dOL1y4oMXFxdq9e3f94x//qKruiu7du3fXL7/80mdc9f2/oQUV2P2e0JocqCU+
Y74X6nstJz+Y/G3CWvRt4kp+MLnJbbdGG3v37tWrr75aKyoqVFU1KSlJn3766XqP/8UvfqHz5s1T
1YYT39ixY72STU5OjtexdU2cOFFXr16tqo0nvqVLl+rUqVM9+1wul8bGxmpeXp6quhPfSy+95Nn/
8MMPa1pams/HdblcumbNGr311lu1a9euGhsbq5s2bVJV1b/85S/as2dPnzGPGzdO165d61k/fvy4
BgcHa3V1tee6FBQUePavWLFCZ86c6dXG+PHjdfPmzT7jas3E16m+nqAxxlxOxWeLoXudjZ0h84NM
Mhc3sabbB8CYS9soOVvS5DiSkpKIjIzkzTff5Oabb2b//v288cYbnv379u1jwYIFHD16lMrKSior
K7nnnnsabbekpMTrBpX4+Hiv/Tt27GDJkiV88sknuFwuzp8/z+DBg5sUc0lJiVd7IkJcXJxXVfaa
oUuAkJAQ/vGPf/hsS0RIS0sjLS2NiooK1q1bx3333ceIESMoKioiPj7e52eddWOIj4+nqqqKU6dO
ebZdc801nuXCwkJeffVVsrKyAHcnrKqqirFjxzbpOX8XbZ74ROTHwNO4P09cp6orfByzGrgdd8Hk
2ar6t7aOyxgTWGJDY6ES6FxrYyUkD05mS8alN5z4klKaQmZl5iVtxITGNCuW1NRUNm3axLFjxxg/
fjyRkZGefTNmzCA9PZ23336b4OBgHnroIUpLSxttMzo6mqKiIs96YWHhtyFWVjJlyhS2bNnCXXfd
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" />

Question 5 - Bias-Variance Tradeoff¶

When the model is trained with a maximum depth of 1, does the model suffer from high bias or from high variance? How about when the model is trained with a maximum depth of 10? What visual cues in the graph justify your conclusions?
Hint: How do you know when a model is suffering from high bias or high variance?

*Answer: when the model is trained with a maximum depth of 1,the model suffer from high bias.
when the model is trained with a maximum depth of 10, the model suffer from high variance.
when the model is trained with a maximum depth of 10, from the graph we can see the training Score is close 1.0, it is overfiting,so the model suffer from high variance.
*

Question 6 - Best-Guess Optimal Model¶

Which maximum depth do you think results in a model that best generalizes to unseen data? What intuition lead you to this answer?

*Answer: maximum depth 3 is the best generalized to unseen data, because the validation score is the higest,and training score isn‘t very big*


Evaluating Model Performance¶

In this final section of the project, you will construct a model and make a prediction on the client‘s feature set using an optimized model from fit_model.

Question 7 - Grid Search¶

What is the grid search technique and how it can be applied to optimize a learning algorithm?

*Answer: it can find the best parameters for a learning algorithm,
set a parameter space for the best Cross-validation, and return the best parameter.
*

Question 8 - Cross-Validation¶

What is the k-fold cross-validation training technique? What benefit does this technique provide for grid search when optimizing a model?
Hint: Much like the reasoning behind having a testing set, what could go wrong with using grid search without a cross-validated set?

*Answer:
Provides train/test indices to split data in train test sets. Split dataset into k consecutive folds (without shuffling by default).
it can avoid overfitting when optimizing a model
*

Implementation: Fitting a Model¶

Your final implementation requires that you bring everything together and train a model using the decision tree algorithm. To ensure that you are producing an optimized model, you will train the model using the grid search technique to optimize the ‘max_depth‘ parameter for the decision tree. The ‘max_depth‘ parameter can be thought of as how many questions the decision tree algorithm is allowed to ask about the data before making a prediction. Decision trees are part of a class of algorithms called supervised learning algorithms.

For the fit_model function in the code cell below, you will need to implement the following:

  • Use DecisionTreeRegressor from sklearn.tree to create a decision tree regressor object.

    • Assign this object to the ‘regressor‘ variable.
  • Create a dictionary for ‘max_depth‘ with the values from 1 to 10, and assign this to the ‘params‘ variable.
  • Use make_scorer from sklearn.metrics to create a scoring function object.
    • Pass the performance_metric function as a parameter to the object.
    • Assign this scoring function to the ‘scoring_fnc‘ variable.
  • Use GridSearchCV from sklearn.grid_search to create a grid search object.
    • Pass the variables ‘regressor‘, ‘params‘, ‘scoring_fnc‘, and ‘cv_sets‘ as parameters to the object.
    • Assign the GridSearchCV object to the ‘grid‘ variable.

In [10]:

# TODO: Import ‘make_scorer‘, ‘DecisionTreeRegressor‘, and ‘GridSearchCV‘
from sklearn.metrics import make_scorer
from sklearn.tree import DecisionTreeRegressor
from sklearn.grid_search import GridSearchCV
def fit_model(X, y):
    """ Performs grid search over the ‘max_depth‘ parameter for a
        decision tree regressor trained on the input data [X, y]. """

    # Create cross-validation sets from the training data
    cv_sets = ShuffleSplit(X.shape[0], n_iter = 10, test_size = 0.20, random_state = 0)

    # TODO: Create a decision tree regressor object
    regressor = DecisionTreeRegressor()

    # TODO: Create a dictionary for the parameter ‘max_depth‘ with a range from 1 to 10
    params = {‘max_depth‘ : range(1,11)}

    # TODO: Transform ‘performance_metric‘ into a scoring function using ‘make_scorer‘
    scoring_fnc = make_scorer(performance_metric)

    # TODO: Create the grid search object
    grid = GridSearchCV(regressor, params, scoring_fnc, cv=cv_sets)

    # Fit the grid search object to the data to compute the optimal model
    grid = grid.fit(X, y)

    # Return the optimal model after fitting the data
    return grid.best_estimator_

Making Predictions¶

Once a model has been trained on a given set of data, it can now be used to make predictions on new sets of input data. In the case of a decision tree regressor, the model has learned what the best questions to ask about the input data are, and can respond with a prediction for the target variable. You can use these predictions to gain information about data where the value of the target variable is unknown — such as data the model was not trained on.

Question 9 - Optimal Model¶

What maximum depth does the optimal model have? How does this result compare to your guess in Question 6?

Run the code block below to fit the decision tree regressor to the training data and produce an optimal model.

In [11]:

# Fit the training data to the model using grid search
reg = fit_model(X_train, y_train)

# Produce the value for ‘max_depth‘
print "Parameter ‘max_depth‘ is {} for the optimal model.".format(reg.get_params()[‘max_depth‘])
Parameter ‘max_depth‘ is 4 for the optimal model.

*Answer: Parameter ‘max_depth‘ is 4 for the optimal model.*

Question 10 - Predicting Selling Prices¶

Imagine that you were a real estate agent in the Boston area looking to use this model to help price homes owned by your clients that they wish to sell. You have collected the following information from three of your clients:

Feature Client 1 Client 2 Client 3
Total number of rooms in home 5 rooms 4 rooms 8 rooms
Household net worth (income) Top 34th percent Bottom 45th percent Top 7th percent
Student-teacher ratio of nearby schools 15-to-1 22-to-1 12-to-1

What price would you recommend each client sell his/her home at? Do these prices seem reasonable given the values for the respective features?
Hint: Use the statistics you calculated in the Data Exploration section to help justify your response.

Run the code block below to have your optimized model make predictions for each client‘s home.

In [12]:

# Produce a matrix for client data
client_data = [[5, 34, 15], # Client 1
               [4, 55, 22], # Client 2
               [8, 7, 12]]  # Client 3

# Show predictions
for i, price in enumerate(reg.predict(client_data)):
    print "Predicted selling price for Client {}‘s home: ${:,.2f}".format(i+1, price)
Predicted selling price for Client 1‘s home: $344,400.00
Predicted selling price for Client 2‘s home: $237,478.72
Predicted selling price for Client 3‘s home: $931,636.36

Answer:

  • Predicted selling price for Client 1‘s home: $344,400.00
  • Predicted selling price for Client 2‘s home: $237,478.72
  • Predicted selling price for Client 3‘s home: $931,636.36

Sensitivity¶

An optimal model is not necessarily a robust model. Sometimes, a model is either too complex or too simple to sufficiently generalize to new data. Sometimes, a model could use a learning algorithm that is not appropriate for the structure of the data given. Other times, the data itself could be too noisy or contain too few samples to allow a model to adequately capture the target variable — i.e., the model is underfitted. Run the code cell below to run the fit_model function ten times with different training and testing sets to see how the prediction for a specific client changes with the data it‘s trained on.

In [13]:

vs.PredictTrials(features, prices, fit_model, client_data)
Trial 1: $324,240.00
Trial 2: $324,450.00
Trial 3: $346,500.00
Trial 4: $420,622.22
Trial 5: $413,334.78
Trial 6: $411,931.58
Trial 7: $344,750.00
Trial 8: $407,232.00
Trial 9: $352,315.38
Trial 10: $316,890.00

Range in prices: $103,732.22

Question 11 - Applicability¶

In a few sentences, discuss whether the constructed model should or should not be used in a real-world setting.
Hint: Some questions to answering:

  • How relevant today is data that was collected from 1978?
  • Are the features present in the data sufficient to describe a home?
  • Is the model robust enough to make consistent predictions?
  • Would data collected in an urban city like Boston be applicable in a rural city?

Answer:

  • today‘s house prices is little relevant to the data that was collected from 1978
  • and teh features present in the data are not sufficient to describe a home
  • the model robust is not enough to make consistent predictions
  • *data collected in an urban city like Boston would not be applicable in rural city.

In [ ]:

.caret,
.dropup > .btn > .caret {
border-top-color: #000 !important;
}
.label {
border: 1px solid #000;
}
.table {
border-collapse: collapse !important;
}
.table td,
.table th {
background-color: #fff !important;
}
.table-bordered th,
.table-bordered td {
border: 1px solid #ddd !important;
}
}
@font-face {
font-family: ‘Glyphicons Halflings‘;
src: url(‘../components/bootstrap/fonts/glyphicons-halflings-regular.eot‘);
src: url(‘../components/bootstrap/fonts/glyphicons-halflings-regular.eot?#iefix‘) format(‘embedded-opentype‘), url(‘../components/bootstrap/fonts/glyphicons-halflings-regular.woff2‘) format(‘woff2‘), url(‘../components/bootstrap/fonts/glyphicons-halflings-regular.woff‘) format(‘woff‘), url(‘../components/bootstrap/fonts/glyphicons-halflings-regular.ttf‘) format(‘truetype‘), url(‘../components/bootstrap/fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular‘) format(‘svg‘);
}
.glyphicon {
position: relative;
top: 1px;
display: inline-block;
font-family: ‘Glyphicons Halflings‘;
font-style: normal;
font-weight: normal;
line-height: 1;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
.glyphicon-asterisk:before {
content: "\002a";
}
.glyphicon-plus:before {
content: "\002b";
}
.glyphicon-euro:before,
.glyphicon-eur:before {
content: "\20ac";
}
.glyphicon-minus:before {
content: "\2212";
}
.glyphicon-cloud:before {
content: "\2601";
}
.glyphicon-envelope:before {
content: "\2709";
}
.glyphicon-pencil:before {
content: "\270f";
}
.glyphicon-glass:before {
content: "\e001";
}
.glyphicon-music:before {
content: "\e002";
}
.glyphicon-search:before {
content: "\e003";
}
.glyphicon-heart:before {
content: "\e005";
}
.glyphicon-star:before {
content: "\e006";
}
.glyphicon-star-empty:before {
content: "\e007";
}
.glyphicon-user:before {
content: "\e008";
}
.glyphicon-film:before {
content: "\e009";
}
.glyphicon-th-large:before {
content: "\e010";
}
.glyphicon-th:before {
content: "\e011";
}
.glyphicon-th-list:before {
content: "\e012";
}
.glyphicon-ok:before {
content: "\e013";
}
.glyphicon-remove:before {
content: "\e014";
}
.glyphicon-zoom-in:before {
content: "\e015";
}
.glyphicon-zoom-out:before {
content: "\e016";
}
.glyphicon-off:before {
content: "\e017";
}
.glyphicon-signal:before {
content: "\e018";
}
.glyphicon-cog:before {
content: "\e019";
}
.glyphicon-trash:before {
content: "\e020";
}
.glyphicon-home:before {
content: "\e021";
}
.glyphicon-file:before {
content: "\e022";
}
.glyphicon-time:before {
content: "\e023";
}
.glyphicon-road:before {
content: "\e024";
}
.glyphicon-download-alt:before {
content: "\e025";
}
.glyphicon-download:before {
content: "\e026";
}
.glyphicon-upload:before {
content: "\e027";
}
.glyphicon-inbox:before {
content: "\e028";
}
.glyphicon-play-circle:before {
content: "\e029";
}
.glyphicon-repeat:before {
content: "\e030";
}
.glyphicon-refresh:before {
content: "\e031";
}
.glyphicon-list-alt:before {
content: "\e032";
}
.glyphicon-lock:before {
content: "\e033";
}
.glyphicon-flag:before {
content: "\e034";
}
.glyphicon-headphones:before {
content: "\e035";
}
.glyphicon-volume-off:before {
content: "\e036";
}
.glyphicon-volume-down:before {
content: "\e037";
}
.glyphicon-volume-up:before {
content: "\e038";
}
.glyphicon-qrcode:before {
content: "\e039";
}
.glyphicon-barcode:before {
content: "\e040";
}
.glyphicon-tag:before {
content: "\e041";
}
.glyphicon-tags:before {
content: "\e042";
}
.glyphicon-book:before {
content: "\e043";
}
.glyphicon-bookmark:before {
content: "\e044";
}
.glyphicon-print:before {
content: "\e045";
}
.glyphicon-camera:before {
content: "\e046";
}
.glyphicon-font:before {
content: "\e047";
}
.glyphicon-bold:before {
content: "\e048";
}
.glyphicon-italic:before {
content: "\e049";
}
.glyphicon-text-height:before {
content: "\e050";
}
.glyphicon-text-width:before {
content: "\e051";
}
.glyphicon-align-left:before {
content: "\e052";
}
.glyphicon-align-center:before {
content: "\e053";
}
.glyphicon-align-right:before {
content: "\e054";
}
.glyphicon-align-justify:before {
content: "\e055";
}
.glyphicon-list:before {
content: "\e056";
}
.glyphicon-indent-left:before {
content: "\e057";
}
.glyphicon-indent-right:before {
content: "\e058";
}
.glyphicon-facetime-video:before {
content: "\e059";
}
.glyphicon-picture:before {
content: "\e060";
}
.glyphicon-map-marker:before {
content: "\e062";
}
.glyphicon-adjust:before {
content: "\e063";
}
.glyphicon-tint:before {
content: "\e064";
}
.glyphicon-edit:before {
content: "\e065";
}
.glyphicon-share:before {
content: "\e066";
}
.glyphicon-check:before {
content: "\e067";
}
.glyphicon-move:before {
content: "\e068";
}
.glyphicon-step-backward:before {
content: "\e069";
}
.glyphicon-fast-backward:before {
content: "\e070";
}
.glyphicon-backward:before {
content: "\e071";
}
.glyphicon-play:before {
content: "\e072";
}
.glyphicon-pause:before {
content: "\e073";
}
.glyphicon-stop:before {
content: "\e074";
}
.glyphicon-forward:before {
content: "\e075";
}
.glyphicon-fast-forward:before {
content: "\e076";
}
.glyphicon-step-forward:before {
content: "\e077";
}
.glyphicon-eject:before {
content: "\e078";
}
.glyphicon-chevron-left:before {
content: "\e079";
}
.glyphicon-chevron-right:before {
content: "\e080";
}
.glyphicon-plus-sign:before {
content: "\e081";
}
.glyphicon-minus-sign:before {
content: "\e082";
}
.glyphicon-remove-sign:before {
content: "\e083";
}
.glyphicon-ok-sign:before {
content: "\e084";
}
.glyphicon-question-sign:before {
content: "\e085";
}
.glyphicon-info-sign:before {
content: "\e086";
}
.glyphicon-screenshot:before {
content: "\e087";
}
.glyphicon-remove-circle:before {
content: "\e088";
}
.glyphicon-ok-circle:before {
content: "\e089";
}
.glyphicon-ban-circle:before {
content: "\e090";
}
.glyphicon-arrow-left:before {
content: "\e091";
}
.glyphicon-arrow-right:before {
content: "\e092";
}
.glyphicon-arrow-up:before {
content: "\e093";
}
.glyphicon-arrow-down:before {
content: "\e094";
}
.glyphicon-share-alt:before {
content: "\e095";
}
.glyphicon-resize-full:before {
content: "\e096";
}
.glyphicon-resize-small:before {
content: "\e097";
}
.glyphicon-exclamation-sign:before {
content: "\e101";
}
.glyphicon-gift:before {
content: "\e102";
}
.glyphicon-leaf:before {
content: "\e103";
}
.glyphicon-fire:before {
content: "\e104";
}
.glyphicon-eye-open:before {
content: "\e105";
}
.glyphicon-eye-close:before {
content: "\e106";
}
.glyphicon-warning-sign:before {
content: "\e107";
}
.glyphicon-plane:before {
content: "\e108";
}
.glyphicon-calendar:before {
content: "\e109";
}
.glyphicon-random:before {
content: "\e110";
}
.glyphicon-comment:before {
content: "\e111";
}
.glyphicon-magnet:before {
content: "\e112";
}
.glyphicon-chevron-up:before {
content: "\e113";
}
.glyphicon-chevron-down:before {
content: "\e114";
}
.glyphicon-retweet:before {
content: "\e115";
}
.glyphicon-shopping-cart:before {
content: "\e116";
}
.glyphicon-folder-close:before {
content: "\e117";
}
.glyphicon-folder-open:before {
content: "\e118";
}
.glyphicon-resize-vertical:before {
content: "\e119";
}
.glyphicon-resize-horizontal:before {
content: "\e120";
}
.glyphicon-hdd:before {
content: "\e121";
}
.glyphicon-bullhorn:before {
content: "\e122";
}
.glyphicon-bell:before {
content: "\e123";
}
.glyphicon-certificate:before {
content: "\e124";
}
.glyphicon-thumbs-up:before {
content: "\e125";
}
.glyphicon-thumbs-down:before {
content: "\e126";
}
.glyphicon-hand-right:before {
content: "\e127";
}
.glyphicon-hand-left:before {
content: "\e128";
}
.glyphicon-hand-up:before {
content: "\e129";
}
.glyphicon-hand-down:before {
content: "\e130";
}
.glyphicon-circle-arrow-right:before {
content: "\e131";
}
.glyphicon-circle-arrow-left:before {
content: "\e132";
}
.glyphicon-circle-arrow-up:before {
content: "\e133";
}
.glyphicon-circle-arrow-down:before {
content: "\e134";
}
.glyphicon-globe:before {
content: "\e135";
}
.glyphicon-wrench:before {
content: "\e136";
}
.glyphicon-tasks:before {
content: "\e137";
}
.glyphicon-filter:before {
content: "\e138";
}
.glyphicon-briefcase:before {
content: "\e139";
}
.glyphicon-fullscreen:before {
content: "\e140";
}
.glyphicon-dashboard:before {
content: "\e141";
}
.glyphicon-paperclip:before {
content: "\e142";
}
.glyphicon-heart-empty:before {
content: "\e143";
}
.glyphicon-link:before {
content: "\e144";
}
.glyphicon-phone:before {
content: "\e145";
}
.glyphicon-pushpin:before {
content: "\e146";
}
.glyphicon-usd:before {
content: "\e148";
}
.glyphicon-gbp:before {
content: "\e149";
}
.glyphicon-sort:before {
content: "\e150";
}
.glyphicon-sort-by-alphabet:before {
content: "\e151";
}
.glyphicon-sort-by-alphabet-alt:before {
content: "\e152";
}
.glyphicon-sort-by-order:before {
content: "\e153";
}
.glyphicon-sort-by-order-alt:before {
content: "\e154";
}
.glyphicon-sort-by-attributes:before {
content: "\e155";
}
.glyphicon-sort-by-attributes-alt:before {
content: "\e156";
}
.glyphicon-unchecked:before {
content: "\e157";
}
.glyphicon-expand:before {
content: "\e158";
}
.glyphicon-collapse-down:before {
content: "\e159";
}
.glyphicon-collapse-up:before {
content: "\e160";
}
.glyphicon-log-in:before {
content: "\e161";
}
.glyphicon-flash:before {
content: "\e162";
}
.glyphicon-log-out:before {
content: "\e163";
}
.glyphicon-new-window:before {
content: "\e164";
}
.glyphicon-record:before {
content: "\e165";
}
.glyphicon-save:before {
content: "\e166";
}
.glyphicon-open:before {
content: "\e167";
}
.glyphicon-saved:before {
content: "\e168";
}
.glyphicon-import:before {
content: "\e169";
}
.glyphicon-export:before {
content: "\e170";
}
.glyphicon-send:before {
content: "\e171";
}
.glyphicon-floppy-disk:before {
content: "\e172";
}
.glyphicon-floppy-saved:before {
content: "\e173";
}
.glyphicon-floppy-remove:before {
content: "\e174";
}
.glyphicon-floppy-save:before {
content: "\e175";
}
.glyphicon-floppy-open:before {
content: "\e176";
}
.glyphicon-credit-card:before {
content: "\e177";
}
.glyphicon-transfer:before {
content: "\e178";
}
.glyphicon-cutlery:before {
content: "\e179";
}
.glyphicon-header:before {
content: "\e180";
}
.glyphicon-compressed:before {
content: "\e181";
}
.glyphicon-earphone:before {
content: "\e182";
}
.glyphicon-phone-alt:before {
content: "\e183";
}
.glyphicon-tower:before {
content: "\e184";
}
.glyphicon-stats:before {
content: "\e185";
}
.glyphicon-sd-video:before {
content: "\e186";
}
.glyphicon-hd-video:before {
content: "\e187";
}
.glyphicon-subtitles:before {
content: "\e188";
}
.glyphicon-sound-stereo:before {
content: "\e189";
}
.glyphicon-sound-dolby:before {
content: "\e190";
}
.glyphicon-sound-5-1:before {
content: "\e191";
}
.glyphicon-sound-6-1:before {
content: "\e192";
}
.glyphicon-sound-7-1:before {
content: "\e193";
}
.glyphicon-copyright-mark:before {
content: "\e194";
}
.glyphicon-registration-mark:before {
content: "\e195";
}
.glyphicon-cloud-download:before {
content: "\e197";
}
.glyphicon-cloud-upload:before {
content: "\e198";
}
.glyphicon-tree-conifer:before {
content: "\e199";
}
.glyphicon-tree-deciduous:before {
content: "\e200";
}
.glyphicon-cd:before {
content: "\e201";
}
.glyphicon-save-file:before {
content: "\e202";
}
.glyphicon-open-file:before {
content: "\e203";
}
.glyphicon-level-up:before {
content: "\e204";
}
.glyphicon-copy:before {
content: "\e205";
}
.glyphicon-paste:before {
content: "\e206";
}
.glyphicon-alert:before {
content: "\e209";
}
.glyphicon-equalizer:before {
content: "\e210";
}
.glyphicon-king:before {
content: "\e211";
}
.glyphicon-queen:before {
content: "\e212";
}
.glyphicon-pawn:before {
content: "\e213";
}
.glyphicon-bishop:before {
content: "\e214";
}
.glyphicon-knight:before {
content: "\e215";
}
.glyphicon-baby-formula:before {
content: "\e216";
}
.glyphicon-tent:before {
content: "\26fa";
}
.glyphicon-blackboard:before {
content: "\e218";
}
.glyphicon-bed:before {
content: "\e219";
}
.glyphicon-apple:before {
content: "\f8ff";
}
.glyphicon-erase:before {
content: "\e221";
}
.glyphicon-hourglass:before {
content: "\231b";
}
.glyphicon-lamp:before {
content: "\e223";
}
.glyphicon-duplicate:before {
content: "\e224";
}
.glyphicon-piggy-bank:before {
content: "\e225";
}
.glyphicon-scissors:before {
content: "\e226";
}
.glyphicon-bitcoin:before {
content: "\e227";
}
.glyphicon-btc:before {
content: "\e227";
}
.glyphicon-xbt:before {
content: "\e227";
}
.glyphicon-yen:before {
content: "\00a5";
}
.glyphicon-jpy:before {
content: "\00a5";
}
.glyphicon-ruble:before {
content: "\20bd";
}
.glyphicon-rub:before {
content: "\20bd";
}
.glyphicon-scale:before {
content: "\e230";
}
.glyphicon-ice-lolly:before {
content: "\e231";
}
.glyphicon-ice-lolly-tasted:before {
content: "\e232";
}
.glyphicon-education:before {
content: "\e233";
}
.glyphicon-option-horizontal:before {
content: "\e234";
}
.glyphicon-option-vertical:before {
content: "\e235";
}
.glyphicon-menu-hamburger:before {
content: "\e236";
}
.glyphicon-modal-window:before {
content: "\e237";
}
.glyphicon-oil:before {
content: "\e238";
}
.glyphicon-grain:before {
content: "\e239";
}
.glyphicon-sunglasses:before {
content: "\e240";
}
.glyphicon-text-size:before {
content: "\e241";
}
.glyphicon-text-color:before {
content: "\e242";
}
.glyphicon-text-background:before {
content: "\e243";
}
.glyphicon-object-align-top:before {
content: "\e244";
}
.glyphicon-object-align-bottom:before {
content: "\e245";
}
.glyphicon-object-align-horizontal:before {
content: "\e246";
}
.glyphicon-object-align-left:before {
content: "\e247";
}
.glyphicon-object-align-vertical:before {
content: "\e248";
}
.glyphicon-object-align-right:before {
content: "\e249";
}
.glyphicon-triangle-right:before {
content: "\e250";
}
.glyphicon-triangle-left:before {
content: "\e251";
}
.glyphicon-triangle-bottom:before {
content: "\e252";
}
.glyphicon-triangle-top:before {
content: "\e253";
}
.glyphicon-console:before {
content: "\e254";
}
.glyphicon-superscript:before {
content: "\e255";
}
.glyphicon-subscript:before {
content: "\e256";
}
.glyphicon-menu-left:before {
content: "\e257";
}
.glyphicon-menu-right:before {
content: "\e258";
}
.glyphicon-menu-down:before {
content: "\e259";
}
.glyphicon-menu-up:before {
content: "\e260";
}
* {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
*:before,
*:after {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
html {
font-size: 10px;
-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
body {
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
font-size: 13px;
line-height: 1.42857143;
color: #000;
background-color: #fff;
}
input,
button,
select,
textarea {
font-family: inherit;
font-size: inherit;
line-height: inherit;
}
a {
color: #337ab7;
text-decoration: none;
}
a:hover,
a:focus {
color: #23527c;
text-decoration: underline;
}
a:focus {
outline: thin dotted;
outline: 5px auto -webkit-focus-ring-color;
outline-offset: -2px;
}
figure {
margin: 0;
}
img {
vertical-align: middle;
}
.img-responsive,
.thumbnail > img,
.thumbnail a > img,
.carousel-inner > .item > img,
.carousel-inner > .item > a > img {
display: block;
max-width: 100%;
height: auto;
}
.img-rounded {
border-radius: 3px;
}
.img-thumbnail {
padding: 4px;
line-height: 1.42857143;
background-color: #fff;
border: 1px solid #ddd;
border-radius: 2px;
-webkit-transition: all 0.2s ease-in-out;
-o-transition: all 0.2s ease-in-out;
transition: all 0.2s ease-in-out;
display: inline-block;
max-width: 100%;
height: auto;
}
.img-circle {
border-radius: 50%;
}
hr {
margin-top: 18px;
margin-bottom: 18px;
border: 0;
border-top: 1px solid #eeeeee;
}
.sr-only {
position: absolute;
width: 1px;
height: 1px;
margin: -1px;
padding: 0;
overflow: hidden;
clip: rect(0, 0, 0, 0);
border: 0;
}
.sr-only-focusable:active,
.sr-only-focusable:focus {
position: static;
width: auto;
height: auto;
margin: 0;
overflow: visible;
clip: auto;
}
[role="button"] {
cursor: pointer;
}
h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6 {
font-family: inherit;
font-weight: 500;
line-height: 1.1;
color: inherit;
}
h1 small,
h2 small,
h3 small,
h4 small,
h5 small,
h6 small,
.h1 small,
.h2 small,
.h3 small,
.h4 small,
.h5 small,
.h6 small,
h1 .small,
h2 .small,
h3 .small,
h4 .small,
h5 .small,
h6 .small,
.h1 .small,
.h2 .small,
.h3 .small,
.h4 .small,
.h5 .small,
.h6 .small {
font-weight: normal;
line-height: 1;
color: #777777;
}
h1,
.h1,
h2,
.h2,
h3,
.h3 {
margin-top: 18px;
margin-bottom: 9px;
}
h1 small,
.h1 small,
h2 small,
.h2 small,
h3 small,
.h3 small,
h1 .small,
.h1 .small,
h2 .small,
.h2 .small,
h3 .small,
.h3 .small {
font-size: 65%;
}
h4,
.h4,
h5,
.h5,
h6,
.h6 {
margin-top: 9px;
margin-bottom: 9px;
}
h4 small,
.h4 small,
h5 small,
.h5 small,
h6 small,
.h6 small,
h4 .small,
.h4 .small,
h5 .small,
.h5 .small,
h6 .small,
.h6 .small {
font-size: 75%;
}
h1,
.h1 {
font-size: 33px;
}
h2,
.h2 {
font-size: 27px;
}
h3,
.h3 {
font-size: 23px;
}
h4,
.h4 {
font-size: 17px;
}
h5,
.h5 {
font-size: 13px;
}
h6,
.h6 {
font-size: 12px;
}
p {
margin: 0 0 9px;
}
.lead {
margin-bottom: 18px;
font-size: 14px;
font-weight: 300;
line-height: 1.4;
}
@media (min-width: 768px) {
.lead {
font-size: 19.5px;
}
}
small,
.small {
font-size: 92%;
}
mark,
.mark {
background-color: #fcf8e3;
padding: .2em;
}
.text-left {
text-align: left;
}
.text-right {
text-align: right;
}
.text-center {
text-align: center;
}
.text-justify {
text-align: justify;
}
.text-nowrap {
white-space: nowrap;
}
.text-lowercase {
text-transform: lowercase;
}
.text-uppercase {
text-transform: uppercase;
}
.text-capitalize {
text-transform: capitalize;
}
.text-muted {
color: #777777;
}
.text-primary {
color: #337ab7;
}
a.text-primary:hover,
a.text-primary:focus {
color: #286090;
}
.text-success {
color: #3c763d;
}
a.text-success:hover,
a.text-success:focus {
color: #2b542c;
}
.text-info {
color: #31708f;
}
a.text-info:hover,
a.text-info:focus {
color: #245269;
}
.text-warning {
color: #8a6d3b;
}
a.text-warning:hover,
a.text-warning:focus {
color: #66512c;
}
.text-danger {
color: #a94442;
}
a.text-danger:hover,
a.text-danger:focus {
color: #843534;
}
.bg-primary {
color: #fff;
background-color: #337ab7;
}
a.bg-primary:hover,
a.bg-primary:focus {
background-color: #286090;
}
.bg-success {
background-color: #dff0d8;
}
a.bg-success:hover,
a.bg-success:focus {
background-color: #c1e2b3;
}
.bg-info {
background-color: #d9edf7;
}
a.bg-info:hover,
a.bg-info:focus {
background-color: #afd9ee;
}
.bg-warning {
background-color: #fcf8e3;
}
a.bg-warning:hover,
a.bg-warning:focus {
background-color: #f7ecb5;
}
.bg-danger {
background-color: #f2dede;
}
a.bg-danger:hover,
a.bg-danger:focus {
background-color: #e4b9b9;
}
.page-header {
padding-bottom: 8px;
margin: 36px 0 18px;
border-bottom: 1px solid #eeeeee;
}
ul,
ol {
margin-top: 0;
margin-bottom: 9px;
}
ul ul,
ol ul,
ul ol,
ol ol {
margin-bottom: 0;
}
.list-unstyled {
padding-left: 0;
list-style: none;
}
.list-inline {
padding-left: 0;
list-style: none;
margin-left: -5px;
}
.list-inline > li {
display: inline-block;
padding-left: 5px;
padding-right: 5px;
}
dl {
margin-top: 0;
margin-bottom: 18px;
}
dt,
dd {
line-height: 1.42857143;
}
dt {
font-weight: bold;
}
dd {
margin-left: 0;
}
@media (min-width: 541px) {
.dl-horizontal dt {
float: left;
width: 160px;
clear: left;
text-align: right;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.dl-horizontal dd {
margin-left: 180px;
}
}
abbr[title],
abbr[data-original-title] {
cursor: help;
border-bottom: 1px dotted #777777;
}
.initialism {
font-size: 90%;
text-transform: uppercase;
}
blockquote {
padding: 9px 18px;
margin: 0 0 18px;
font-size: inherit;
border-left: 5px solid #eeeeee;
}
blockquote p:last-child,
blockquote ul:last-child,
blockquote ol:last-child {
margin-bottom: 0;
}
blockquote footer,
blockquote small,
blockquote .small {
display: block;
font-size: 80%;
line-height: 1.42857143;
color: #777777;
}
blockquote footer:before,
blockquote small:before,
blockquote .small:before {
content: ‘\2014 \00A0‘;
}
.blockquote-reverse,
blockquote.pull-right {
padding-right: 15px;
padding-left: 0;
border-right: 5px solid #eeeeee;
border-left: 0;
text-align: right;
}
.blockquote-reverse footer:before,
blockquote.pull-right footer:before,
.blockquote-reverse small:before,
blockquote.pull-right small:before,
.blockquote-reverse .small:before,
blockquote.pull-right .small:before {
content: ‘‘;
}
.blockquote-reverse footer:after,
blockquote.pull-right footer:after,
.blockquote-reverse small:after,
blockquote.pull-right small:after,
.blockquote-reverse .small:after,
blockquote.pull-right .small:after {
content: ‘\00A0 \2014‘;
}
address {
margin-bottom: 18px;
font-style: normal;
line-height: 1.42857143;
}
code,
kbd,
pre,
samp {
font-family: monospace;
}
code {
padding: 2px 4px;
font-size: 90%;
color: #c7254e;
background-color: #f9f2f4;
border-radius: 2px;
}
kbd {
padding: 2px 4px;
font-size: 90%;
color: #888;
background-color: transparent;
border-radius: 1px;
box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.25);
}
kbd kbd {
padding: 0;
font-size: 100%;
font-weight: bold;
box-shadow: none;
}
pre {
display: block;
padding: 8.5px;
margin: 0 0 9px;
font-size: 12px;
line-height: 1.42857143;
word-break: break-all;
word-wrap: break-word;
color: #333333;
background-color: #f5f5f5;
border: 1px solid #ccc;
border-radius: 2px;
}
pre code {
padding: 0;
font-size: inherit;
color: inherit;
white-space: pre-wrap;
background-color: transparent;
border-radius: 0;
}
.pre-scrollable {
max-height: 340px;
overflow-y: scroll;
}
.container {
margin-right: auto;
margin-left: auto;
padding-left: 0px;
padding-right: 0px;
}
@media (min-width: 768px) {
.container {
width: 768px;
}
}
@media (min-width: 992px) {
.container {
width: 940px;
}
}
@media (min-width: 1200px) {
.container {
width: 1140px;
}
}
.container-fluid {
margin-right: auto;
margin-left: auto;
padding-left: 0px;
padding-right: 0px;
}
.row {
margin-left: 0px;
margin-right: 0px;
}
.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 {
position: relative;
min-height: 1px;
padding-left: 0px;
padding-right: 0px;
}
.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12 {
float: left;
}
.col-xs-12 {
width: 100%;
}
.col-xs-11 {
width: 91.66666667%;
}
.col-xs-10 {
width: 83.33333333%;
}
.col-xs-9 {
width: 75%;
}
.col-xs-8 {
width: 66.66666667%;
}
.col-xs-7 {
width: 58.33333333%;
}
.col-xs-6 {
width: 50%;
}
.col-xs-5 {
width: 41.66666667%;
}
.col-xs-4 {
width: 33.33333333%;
}
.col-xs-3 {
width: 25%;
}
.col-xs-2 {
width: 16.66666667%;
}
.col-xs-1 {
width: 8.33333333%;
}
.col-xs-pull-12 {
right: 100%;
}
.col-xs-pull-11 {
right: 91.66666667%;
}
.col-xs-pull-10 {
right: 83.33333333%;
}
.col-xs-pull-9 {
right: 75%;
}
.col-xs-pull-8 {
right: 66.66666667%;
}
.col-xs-pull-7 {
right: 58.33333333%;
}
.col-xs-pull-6 {
right: 50%;
}
.col-xs-pull-5 {
right: 41.66666667%;
}
.col-xs-pull-4 {
right: 33.33333333%;
}
.col-xs-pull-3 {
right: 25%;
}
.col-xs-pull-2 {
right: 16.66666667%;
}
.col-xs-pull-1 {
right: 8.33333333%;
}
.col-xs-pull-0 {
right: auto;
}
.col-xs-push-12 {
left: 100%;
}
.col-xs-push-11 {
left: 91.66666667%;
}
.col-xs-push-10 {
left: 83.33333333%;
}
.col-xs-push-9 {
left: 75%;
}
.col-xs-push-8 {
left: 66.66666667%;
}
.col-xs-push-7 {
left: 58.33333333%;
}
.col-xs-push-6 {
left: 50%;
}
.col-xs-push-5 {
left: 41.66666667%;
}
.col-xs-push-4 {
left: 33.33333333%;
}
.col-xs-push-3 {
left: 25%;
}
.col-xs-push-2 {
left: 16.66666667%;
}
.col-xs-push-1 {
left: 8.33333333%;
}
.col-xs-push-0 {
left: auto;
}
.col-xs-offset-12 {
margin-left: 100%;
}
.col-xs-offset-11 {
margin-left: 91.66666667%;
}
.col-xs-offset-10 {
margin-left: 83.33333333%;
}
.col-xs-offset-9 {
margin-left: 75%;
}
.col-xs-offset-8 {
margin-left: 66.66666667%;
}
.col-xs-offset-7 {
margin-left: 58.33333333%;
}
.col-xs-offset-6 {
margin-left: 50%;
}
.col-xs-offset-5 {
margin-left: 41.66666667%;
}
.col-xs-offset-4 {
margin-left: 33.33333333%;
}
.col-xs-offset-3 {
margin-left: 25%;
}
.col-xs-offset-2 {
margin-left: 16.66666667%;
}
.col-xs-offset-1 {
margin-left: 8.33333333%;
}
.col-xs-offset-0 {
margin-left: 0%;
}
@media (min-width: 768px) {
.col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12 {
float: left;
}
.col-sm-12 {
width: 100%;
}
.col-sm-11 {
width: 91.66666667%;
}
.col-sm-10 {
width: 83.33333333%;
}
.col-sm-9 {
width: 75%;
}
.col-sm-8 {
width: 66.66666667%;
}
.col-sm-7 {
width: 58.33333333%;
}
.col-sm-6 {
width: 50%;
}
.col-sm-5 {
width: 41.66666667%;
}
.col-sm-4 {
width: 33.33333333%;
}
.col-sm-3 {
width: 25%;
}
.col-sm-2 {
width: 16.66666667%;
}
.col-sm-1 {
width: 8.33333333%;
}
.col-sm-pull-12 {
right: 100%;
}
.col-sm-pull-11 {
right: 91.66666667%;
}
.col-sm-pull-10 {
right: 83.33333333%;
}
.col-sm-pull-9 {
right: 75%;
}
.col-sm-pull-8 {
right: 66.66666667%;
}
.col-sm-pull-7 {
right: 58.33333333%;
}
.col-sm-pull-6 {
right: 50%;
}
.col-sm-pull-5 {
right: 41.66666667%;
}
.col-sm-pull-4 {
right: 33.33333333%;
}
.col-sm-pull-3 {
right: 25%;
}
.col-sm-pull-2 {
right: 16.66666667%;
}
.col-sm-pull-1 {
right: 8.33333333%;
}
.col-sm-pull-0 {
right: auto;
}
.col-sm-push-12 {
left: 100%;
}
.col-sm-push-11 {
left: 91.66666667%;
}
.col-sm-push-10 {
left: 83.33333333%;
}
.col-sm-push-9 {
left: 75%;
}
.col-sm-push-8 {
left: 66.66666667%;
}
.col-sm-push-7 {
left: 58.33333333%;
}
.col-sm-push-6 {
left: 50%;
}
.col-sm-push-5 {
left: 41.66666667%;
}
.col-sm-push-4 {
left: 33.33333333%;
}
.col-sm-push-3 {
left: 25%;
}
.col-sm-push-2 {
left: 16.66666667%;
}
.col-sm-push-1 {
left: 8.33333333%;
}
.col-sm-push-0 {
left: auto;
}
.col-sm-offset-12 {
margin-left: 100%;
}
.col-sm-offset-11 {
margin-left: 91.66666667%;
}
.col-sm-offset-10 {
margin-left: 83.33333333%;
}
.col-sm-offset-9 {
margin-left: 75%;
}
.col-sm-offset-8 {
margin-left: 66.66666667%;
}
.col-sm-offset-7 {
margin-left: 58.33333333%;
}
.col-sm-offset-6 {
margin-left: 50%;
}
.col-sm-offset-5 {
margin-left: 41.66666667%;
}
.col-sm-offset-4 {
margin-left: 33.33333333%;
}
.col-sm-offset-3 {
margin-left: 25%;
}
.col-sm-offset-2 {
margin-left: 16.66666667%;
}
.col-sm-offset-1 {
margin-left: 8.33333333%;
}
.col-sm-offset-0 {
margin-left: 0%;
}
}
@media (min-width: 992px) {
.col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12 {
float: left;
}
.col-md-12 {
width: 100%;
}
.col-md-11 {
width: 91.66666667%;
}
.col-md-10 {
width: 83.33333333%;
}
.col-md-9 {
width: 75%;
}
.col-md-8 {
width: 66.66666667%;
}
.col-md-7 {
width: 58.33333333%;
}
.col-md-6 {
width: 50%;
}
.col-md-5 {
width: 41.66666667%;
}
.col-md-4 {
width: 33.33333333%;
}
.col-md-3 {
width: 25%;
}
.col-md-2 {
width: 16.66666667%;
}
.col-md-1 {
width: 8.33333333%;
}
.col-md-pull-12 {
right: 100%;
}
.col-md-pull-11 {
right: 91.66666667%;
}
.col-md-pull-10 {
right: 83.33333333%;
}
.col-md-pull-9 {
right: 75%;
}
.col-md-pull-8 {
right: 66.66666667%;
}
.col-md-pull-7 {
right: 58.33333333%;
}
.col-md-pull-6 {
right: 50%;
}
.col-md-pull-5 {
right: 41.66666667%;
}
.col-md-pull-4 {
right: 33.33333333%;
}
.col-md-pull-3 {
right: 25%;
}
.col-md-pull-2 {
right: 16.66666667%;
}
.col-md-pull-1 {
right: 8.33333333%;
}
.col-md-pull-0 {
right: auto;
}
.col-md-push-12 {
left: 100%;
}
.col-md-push-11 {
left: 91.66666667%;
}
.col-md-push-10 {
left: 83.33333333%;
}
.col-md-push-9 {
left: 75%;
}
.col-md-push-8 {
left: 66.66666667%;
}
.col-md-push-7 {
left: 58.33333333%;
}
.col-md-push-6 {
left: 50%;
}
.col-md-push-5 {
left: 41.66666667%;
}
.col-md-push-4 {
left: 33.33333333%;
}
.col-md-push-3 {
left: 25%;
}
.col-md-push-2 {
left: 16.66666667%;
}
.col-md-push-1 {
left: 8.33333333%;
}
.col-md-push-0 {
left: auto;
}
.col-md-offset-12 {
margin-left: 100%;
}
.col-md-offset-11 {
margin-left: 91.66666667%;
}
.col-md-offset-10 {
margin-left: 83.33333333%;
}
.col-md-offset-9 {
margin-left: 75%;
}
.col-md-offset-8 {
margin-left: 66.66666667%;
}
.col-md-offset-7 {
margin-left: 58.33333333%;
}
.col-md-offset-6 {
margin-left: 50%;
}
.col-md-offset-5 {
margin-left: 41.66666667%;
}
.col-md-offset-4 {
margin-left: 33.33333333%;
}
.col-md-offset-3 {
margin-left: 25%;
}
.col-md-offset-2 {
margin-left: 16.66666667%;
}
.col-md-offset-1 {
margin-left: 8.33333333%;
}
.col-md-offset-0 {
margin-left: 0%;
}
}
@media (min-width: 1200px) {
.col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12 {
float: left;
}
.col-lg-12 {
width: 100%;
}
.col-lg-11 {
width: 91.66666667%;
}
.col-lg-10 {
width: 83.33333333%;
}
.col-lg-9 {
width: 75%;
}
.col-lg-8 {
width: 66.66666667%;
}
.col-lg-7 {
width: 58.33333333%;
}
.col-lg-6 {
width: 50%;
}
.col-lg-5 {
width: 41.66666667%;
}
.col-lg-4 {
width: 33.33333333%;
}
.col-lg-3 {
width: 25%;
}
.col-lg-2 {
width: 16.66666667%;
}
.col-lg-1 {
width: 8.33333333%;
}
.col-lg-pull-12 {
right: 100%;
}
.col-lg-pull-11 {
right: 91.66666667%;
}
.col-lg-pull-10 {
right: 83.33333333%;
}
.col-lg-pull-9 {
right: 75%;
}
.col-lg-pull-8 {
right: 66.66666667%;
}
.col-lg-pull-7 {
right: 58.33333333%;
}
.col-lg-pull-6 {
right: 50%;
}
.col-lg-pull-5 {
right: 41.66666667%;
}
.col-lg-pull-4 {
right: 33.33333333%;
}
.col-lg-pull-3 {
right: 25%;
}
.col-lg-pull-2 {
right: 16.66666667%;
}
.col-lg-pull-1 {
right: 8.33333333%;
}
.col-lg-pull-0 {
right: auto;
}
.col-lg-push-12 {
left: 100%;
}
.col-lg-push-11 {
left: 91.66666667%;
}
.col-lg-push-10 {
left: 83.33333333%;
}
.col-lg-push-9 {
left: 75%;
}
.col-lg-push-8 {
left: 66.66666667%;
}
.col-lg-push-7 {
left: 58.33333333%;
}
.col-lg-push-6 {
left: 50%;
}
.col-lg-push-5 {
left: 41.66666667%;
}
.col-lg-push-4 {
left: 33.33333333%;
}
.col-lg-push-3 {
left: 25%;
}
.col-lg-push-2 {
left: 16.66666667%;
}
.col-lg-push-1 {
left: 8.33333333%;
}
.col-lg-push-0 {
left: auto;
}
.col-lg-offset-12 {
margin-left: 100%;
}
.col-lg-offset-11 {
margin-left: 91.66666667%;
}
.col-lg-offset-10 {
margin-left: 83.33333333%;
}
.col-lg-offset-9 {
margin-left: 75%;
}
.col-lg-offset-8 {
margin-left: 66.66666667%;
}
.col-lg-offset-7 {
margin-left: 58.33333333%;
}
.col-lg-offset-6 {
margin-left: 50%;
}
.col-lg-offset-5 {
margin-left: 41.66666667%;
}
.col-lg-offset-4 {
margin-left: 33.33333333%;
}
.col-lg-offset-3 {
margin-left: 25%;
}
.col-lg-offset-2 {
margin-left: 16.66666667%;
}
.col-lg-offset-1 {
margin-left: 8.33333333%;
}
.col-lg-offset-0 {
margin-left: 0%;
}
}
table {
background-color: transparent;
}
caption {
padding-top: 8px;
padding-bottom: 8px;
color: #777777;
text-align: left;
}
th {
text-align: left;
}
.table {
width: 100%;
max-width: 100%;
margin-bottom: 18px;
}
.table > thead > tr > th,
.table > tbody > tr > th,
.table > tfoot > tr > th,
.table > thead > tr > td,
.table > tbody > tr > td,
.table > tfoot > tr > td {
padding: 8px;
line-height: 1.42857143;
vertical-align: top;
border-top: 1px solid #ddd;
}
.table > thead > tr > th {
vertical-align: bottom;
border-bottom: 2px solid #ddd;
}
.table > caption + thead > tr:first-child > th,
.table > colgroup + thead > tr:first-child > th,
.table > thead:first-child > tr:first-child > th,
.table > caption + thead > tr:first-child > td,
.table > colgroup + thead > tr:first-child > td,
.table > thead:first-child > tr:first-child > td {
border-top: 0;
}
.table > tbody + tbody {
border-top: 2px solid #ddd;
}
.table .table {
background-color: #fff;
}
.table-condensed > thead > tr > th,
.table-condensed > tbody > tr > th,
.table-condensed > tfoot > tr > th,
.table-condensed > thead > tr > td,
.table-condensed > tbody > tr > td,
.table-condensed > tfoot > tr > td {
padding: 5px;
}
.table-bordered {
border: 1px solid #ddd;
}
.table-bordered > thead > tr > th,
.table-bordered > tbody > tr > th,
.table-bordered > tfoot > tr > th,
.table-bordered > thead > tr > td,
.table-bordered > tbody > tr > td,
.table-bordered > tfoot > tr > td {
border: 1px solid #ddd;
}
.table-bordered > thead > tr > th,
.table-bordered > thead > tr > td {
border-bottom-width: 2px;
}
.table-striped > tbody > tr:nth-of-type(odd) {
background-color: #f9f9f9;
}
.table-hover > tbody > tr:hover {
background-color: #f5f5f5;
}
table col[class*="col-"] {
position: static;
float: none;
display: table-column;
}
table td[class*="col-"],
table th[class*="col-"] {
position: static;
float: none;
display: table-cell;
}
.table > thead > tr > td.active,
.table > tbody > tr > td.active,
.table > tfoot > tr > td.active,
.table > thead > tr > th.active,
.table > tbody > tr > th.active,
.table > tfoot > tr > th.active,
.table > thead > tr.active > td,
.table > tbody > tr.active > td,
.table > tfoot > tr.active > td,
.table > thead > tr.active > th,
.table > tbody > tr.active > th,
.table > tfoot > tr.active > th {
background-color: #f5f5f5;
}
.table-hover > tbody > tr > td.active:hover,
.table-hover > tbody > tr > th.active:hover,
.table-hover > tbody > tr.active:hover > td,
.table-hover > tbody > tr:hover > .active,
.table-hover > tbody > tr.active:hover > th {
background-color: #e8e8e8;
}
.table > thead > tr > td.success,
.table > tbody > tr > td.success,
.table > tfoot > tr > td.success,
.table > thead > tr > th.success,
.table > tbody > tr > th.success,
.table > tfoot > tr > th.success,
.table > thead > tr.success > td,
.table > tbody > tr.success > td,
.table > tfoot > tr.success > td,
.table > thead > tr.success > th,
.table > tbody > tr.success > th,
.table > tfoot > tr.success > th {
background-color: #dff0d8;
}
.table-hover > tbody > tr > td.success:hover,
.table-hover > tbody > tr > th.success:hover,
.table-hover > tbody > tr.success:hover > td,
.table-hover > tbody > tr:hover > .success,
.table-hover > tbody > tr.success:hover > th {
background-color: #d0e9c6;
}
.table > thead > tr > td.info,
.table > tbody > tr > td.info,
.table > tfoot > tr > td.info,
.table > thead > tr > th.info,
.table > tbody > tr > th.info,
.table > tfoot > tr > th.info,
.table > thead > tr.info > td,
.table > tbody > tr.info > td,
.table > tfoot > tr.info > td,
.table > thead > tr.info > th,
.table > tbody > tr.info > th,
.table > tfoot > tr.info > th {
background-color: #d9edf7;
}
.table-hover > tbody > tr > td.info:hover,
.table-hover > tbody > tr > th.info:hover,
.table-hover > tbody > tr.info:hover > td,
.table-hover > tbody > tr:hover > .info,
.table-hover > tbody > tr.info:hover > th {
background-color: #c4e3f3;
}
.table > thead > tr > td.warning,
.table > tbody > tr > td.warning,
.table > tfoot > tr > td.warning,
.table > thead > tr > th.warning,
.table > tbody > tr > th.warning,
.table > tfoot > tr > th.warning,
.table > thead > tr.warning > td,
.table > tbody > tr.warning > td,
.table > tfoot > tr.warning > td,
.table > thead > tr.warning > th,
.table > tbody > tr.warning > th,
.table > tfoot > tr.warning > th {
background-color: #fcf8e3;
}
.table-hover > tbody > tr > td.warning:hover,
.table-hover > tbody > tr > th.warning:hover,
.table-hover > tbody > tr.warning:hover > td,
.table-hover > tbody > tr:hover > .warning,
.table-hover > tbody > tr.warning:hover > th {
background-color: #faf2cc;
}
.table > thead > tr > td.danger,
.table > tbody > tr > td.danger,
.table > tfoot > tr > td.danger,
.table > thead > tr > th.danger,
.table > tbody > tr > th.danger,
.table > tfoot > tr > th.danger,
.table > thead > tr.danger > td,
.table > tbody > tr.danger > td,
.table > tfoot > tr.danger > td,
.table > thead > tr.danger > th,
.table > tbody > tr.danger > th,
.table > tfoot > tr.danger > th {
background-color: #f2dede;
}
.table-hover > tbody > tr > td.danger:hover,
.table-hover > tbody > tr > th.danger:hover,
.table-hover > tbody > tr.danger:hover > td,
.table-hover > tbody > tr:hover > .danger,
.table-hover > tbody > tr.danger:hover > th {
background-color: #ebcccc;
}
.table-responsive {
overflow-x: auto;
min-height: 0.01%;
}
@media screen and (max-width: 767px) {
.table-responsive {
width: 100%;
margin-bottom: 13.5px;
overflow-y: hidden;
-ms-overflow-style: -ms-autohiding-scrollbar;
border: 1px solid #ddd;
}
.table-responsive > .table {
margin-bottom: 0;
}
.table-responsive > .table > thead > tr > th,
.table-responsive > .table > tbody > tr > th,
.table-responsive > .table > tfoot > tr > th,
.table-responsive > .table > thead > tr > td,
.table-responsive > .table > tbody > tr > td,
.table-responsive > .table > tfoot > tr > td {
white-space: nowrap;
}
.table-responsive > .table-bordered {
border: 0;
}
.table-responsive > .table-bordered > thead > tr > th:first-child,
.table-responsive > .table-bordered > tbody > tr > th:first-child,
.table-responsive > .table-bordered > tfoot > tr > th:first-child,
.table-responsive > .table-bordered > thead > tr > td:first-child,
.table-responsive > .table-bordered > tbody > tr > td:first-child,
.table-responsive > .table-bordered > tfoot > tr > td:first-child {
border-left: 0;
}
.table-responsive > .table-bordered > thead > tr > th:last-child,
.table-responsive > .table-bordered > tbody > tr > th:last-child,
.table-responsive > .table-bordered > tfoot > tr > th:last-child,
.table-responsive > .table-bordered > thead > tr > td:last-child,
.table-responsive > .table-bordered > tbody > tr > td:last-child,
.table-responsive > .table-bordered > tfoot > tr > td:last-child {
border-right: 0;
}
.table-responsive > .table-bordered > tbody > tr:last-child > th,
.table-responsive > .table-bordered > tfoot > tr:last-child > th,
.table-responsive > .table-bordered > tbody > tr:last-child > td,
.table-responsive > .table-bordered > tfoot > tr:last-child > td {
border-bottom: 0;
}
}
fieldset {
padding: 0;
margin: 0;
border: 0;
min-width: 0;
}
legend {
display: block;
width: 100%;
padding: 0;
margin-bottom: 18px;
font-size: 19.5px;
line-height: inherit;
color: #333333;
border: 0;
border-bottom: 1px solid #e5e5e5;
}
label {
display: inline-block;
max-width: 100%;
margin-bottom: 5px;
font-weight: bold;
}
input[type="search"] {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
input[type="radio"],
input[type="checkbox"] {
margin: 4px 0 0;
margin-top: 1px \9;
line-height: normal;
}
input[type="file"] {
display: block;
}
input[type="range"] {
display: block;
width: 100%;
}
select[multiple],
select[size] {
height: auto;
}
input[type="file"]:focus,
input[type="radio"]:focus,
input[type="checkbox"]:focus {
outline: thin dotted;
outline: 5px auto -webkit-focus-ring-color;
outline-offset: -2px;
}
output {
display: block;
padding-top: 7px;
font-size: 13px;
line-height: 1.42857143;
color: #555555;
}
.form-control {
display: block;
width: 100%;
height: 32px;
padding: 6px 12px;
font-size: 13px;
line-height: 1.42857143;
color: #555555;
background-color: #fff;
background-image: none;
border: 1px solid #ccc;
border-radius: 2px;
-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
-webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
-o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
}
.form-control:focus {
border-color: #66afe9;
outline: 0;
-webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);
box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);
}
.form-control::-moz-placeholder {
color: #999;
opacity: 1;
}
.form-control:-ms-input-placeholder {
color: #999;
}
.form-control::-webkit-input-placeholder {
color: #999;
}
.form-control::-ms-expand {
border: 0;
background-color: transparent;
}
.form-control[disabled],
.form-control[readonly],
fieldset[disabled] .form-control {
background-color: #eeeeee;
opacity: 1;
}
.form-control[disabled],
fieldset[disabled] .form-control {
cursor: not-allowed;
}
textarea.form-control {
height: auto;
}
input[type="search"] {
-webkit-appearance: none;
}
@media screen and (-webkit-min-device-pixel-ratio: 0) {
input[type="date"].form-control,
input[type="time"].form-control,
input[type="datetime-local"].form-control,
input[type="month"].form-control {
line-height: 32px;
}
input[type="date"].input-sm,
input[type="time"].input-sm,
input[type="datetime-local"].input-sm,
input[type="month"].input-sm,
.input-group-sm input[type="date"],
.input-group-sm input[type="time"],
.input-group-sm input[type="datetime-local"],
.input-group-sm input[type="month"] {
line-height: 30px;
}
input[type="date"].input-lg,
input[type="time"].input-lg,
input[type="datetime-local"].input-lg,
input[type="month"].input-lg,
.input-group-lg input[type="date"],
.input-group-lg input[type="time"],
.input-group-lg input[type="datetime-local"],
.input-group-lg input[type="month"] {
line-height: 45px;
}
}
.form-group {
margin-bottom: 15px;
}
.radio,
.checkbox {
position: relative;
display: block;
margin-top: 10px;
margin-bottom: 10px;
}
.radio label,
.checkbox label {
min-height: 18px;
padding-left: 20px;
margin-bottom: 0;
font-weight: normal;
cursor: pointer;
}
.radio input[type="radio"],
.radio-inline input[type="radio"],
.checkbox input[type="checkbox"],
.checkbox-inline input[type="checkbox"] {
position: absolute;
margin-left: -20px;
margin-top: 4px \9;
}
.radio + .radio,
.checkbox + .checkbox {
margin-top: -5px;
}
.radio-inline,
.checkbox-inline {
position: relative;
display: inline-block;
padding-left: 20px;
margin-bottom: 0;
vertical-align: middle;
font-weight: normal;
cursor: pointer;
}
.radio-inline + .radio-inline,
.checkbox-inline + .checkbox-inline {
margin-top: 0;
margin-left: 10px;
}
input[type="radio"][disabled],
input[type="checkbox"][disabled],
input[type="radio"].disabled,
input[type="checkbox"].disabled,
fieldset[disabled] input[type="radio"],
fieldset[disabled] input[type="checkbox"] {
cursor: not-allowed;
}
.radio-inline.disabled,
.checkbox-inline.disabled,
fieldset[disabled] .radio-inline,
fieldset[disabled] .checkbox-inline {
cursor: not-allowed;
}
.radio.disabled label,
.checkbox.disabled label,
fieldset[disabled] .radio label,
fieldset[disabled] .checkbox label {
cursor: not-allowed;
}
.form-control-static {
padding-top: 7px;
padding-bottom: 7px;
margin-bottom: 0;
min-height: 31px;
}
.form-control-static.input-lg,
.form-control-static.input-sm {
padding-left: 0;
padding-right: 0;
}
.input-sm {
height: 30px;
padding: 5px 10px;
font-size: 12px;
line-height: 1.5;
border-radius: 1px;
}
select.input-sm {
height: 30px;
line-height: 30px;
}
textarea.input-sm,
select[multiple].input-sm {
height: auto;
}
.form-group-sm .form-control {
height: 30px;
padding: 5px 10px;
font-size: 12px;
line-height: 1.5;
border-radius: 1px;
}
.form-group-sm select.form-control {
height: 30px;
line-height: 30px;
}
.form-group-sm textarea.form-control,
.form-group-sm select[multiple].form-control {
height: auto;
}
.form-group-sm .form-control-static {
height: 30px;
min-height: 30px;
padding: 6px 10px;
font-size: 12px;
line-height: 1.5;
}
.input-lg {
height: 45px;
padding: 10px 16px;
font-size: 17px;
line-height: 1.3333333;
border-radius: 3px;
}
select.input-lg {
height: 45px;
line-height: 45px;
}
textarea.input-lg,
select[multiple].input-lg {
height: auto;
}
.form-group-lg .form-control {
height: 45px;
padding: 10px 16px;
font-size: 17px;
line-height: 1.3333333;
border-radius: 3px;
}
.form-group-lg select.form-control {
height: 45px;
line-height: 45px;
}
.form-group-lg textarea.form-control,
.form-group-lg select[multiple].form-control {
height: auto;
}
.form-group-lg .form-control-static {
height: 45px;
min-height: 35px;
padding: 11px 16px;
font-size: 17px;
line-height: 1.3333333;
}
.has-feedback {
position: relative;
}
.has-feedback .form-control {
padding-right: 40px;
}
.form-control-feedback {
position: absolute;
top: 0;
right: 0;
z-index: 2;
display: block;
width: 32px;
height: 32px;
line-height: 32px;
text-align: center;
pointer-events: none;
}
.input-lg + .form-control-feedback,
.input-group-lg + .form-control-feedback,
.form-group-lg .form-control + .form-control-feedback {
width: 45px;
height: 45px;
line-height: 45px;
}
.input-sm + .form-control-feedback,
.input-group-sm + .form-control-feedback,
.form-group-sm .form-control + .form-control-feedback {
width: 30px;
height: 30px;
line-height: 30px;
}
.has-success .help-block,
.has-success .control-label,
.has-success .radio,
.has-success .checkbox,
.has-success .radio-inline,
.has-success .checkbox-inline,
.has-success.radio label,
.has-success.checkbox label,
.has-success.radio-inline label,
.has-success.checkbox-inline label {
color: #3c763d;
}
.has-success .form-control {
border-color: #3c763d;
-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
}
.has-success .form-control:focus {
border-color: #2b542c;
-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168;
box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168;
}
.has-success .input-group-addon {
color: #3c763d;
border-color: #3c763d;
background-color: #dff0d8;
}
.has-success .form-control-feedback {
color: #3c763d;
}
.has-warning .help-block,
.has-warning .control-label,
.has-warning .radio,
.has-warning .checkbox,
.has-warning .radio-inline,
.has-warning .checkbox-inline,
.has-warning.radio label,
.has-warning.checkbox label,
.has-warning.radio-inline label,
.has-warning.checkbox-inline label {
color: #8a6d3b;
}
.has-warning .form-control {
border-color: #8a6d3b;
-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
}
.has-warning .form-control:focus {
border-color: #66512c;
-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b;
box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b;
}
.has-warning .input-group-addon {
color: #8a6d3b;
border-color: #8a6d3b;
background-color: #fcf8e3;
}
.has-warning .form-control-feedback {
color: #8a6d3b;
}
.has-error .help-block,
.has-error .control-label,
.has-error .radio,
.has-error .checkbox,
.has-error .radio-inline,
.has-error .checkbox-inline,
.has-error.radio label,
.has-error.checkbox label,
.has-error.radio-inline label,
.has-error.checkbox-inline label {
color: #a94442;
}
.has-error .form-control {
border-color: #a94442;
-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
}
.has-error .form-control:focus {
border-color: #843534;
-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483;
box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483;
}
.has-error .input-group-addon {
color: #a94442;
border-color: #a94442;
background-color: #f2dede;
}
.has-error .form-control-feedback {
color: #a94442;
}
.has-feedback label ~ .form-control-feedback {
top: 23px;
}
.has-feedback label.sr-only ~ .form-control-feedback {
top: 0;
}
.help-block {
display: block;
margin-top: 5px;
margin-bottom: 10px;
color: #404040;
}
@media (min-width: 768px) {
.form-inline .form-group {
display: inline-block;
margin-bottom: 0;
vertical-align: middle;
}
.form-inline .form-control {
display: inline-block;
width: auto;
vertical-align: middle;
}
.form-inline .form-control-static {
display: inline-block;
}
.form-inline .input-group {
display: inline-table;
vertical-align: middle;
}
.form-inline .input-group .input-group-addon,
.form-inline .input-group .input-group-btn,
.form-inline .input-group .form-control {
width: auto;
}
.form-inline .input-group > .form-control {
width: 100%;
}
.form-inline .control-label {
margin-bottom: 0;
vertical-align: middle;
}
.form-inline .radio,
.form-inline .checkbox {
display: inline-block;
margin-top: 0;
margin-bottom: 0;
vertical-align: middle;
}
.form-inline .radio label,
.form-inline .checkbox label {
padding-left: 0;
}
.form-inline .radio input[type="radio"],
.form-inline .checkbox input[type="checkbox"] {
position: relative;
margin-left: 0;
}
.form-inline .has-feedback .form-control-feedback {
top: 0;
}
}
.form-horizontal .radio,
.form-horizontal .checkbox,
.form-horizontal .radio-inline,
.form-horizontal .checkbox-inline {
margin-top: 0;
margin-bottom: 0;
padding-top: 7px;
}
.form-horizontal .radio,
.form-horizontal .checkbox {
min-height: 25px;
}
.form-horizontal .form-group {
margin-left: 0px;
margin-right: 0px;
}
@media (min-width: 768px) {
.form-horizontal .control-label {
text-align: right;
margin-bottom: 0;
padding-top: 7px;
}
}
.form-horizontal .has-feedback .form-control-feedback {
right: 0px;
}
@media (min-width: 768px) {
.form-horizontal .form-group-lg .control-label {
padding-top: 11px;
font-size: 17px;
}
}
@media (min-width: 768px) {
.form-horizontal .form-group-sm .control-label {
padding-top: 6px;
font-size: 12px;
}
}
.btn {
display: inline-block;
margin-bottom: 0;
font-weight: normal;
text-align: center;
vertical-align: middle;
touch-action: manipulation;
cursor: pointer;
background-image: none;
border: 1px solid transparent;
white-space: nowrap;
padding: 6px 12px;
font-size: 13px;
line-height: 1.42857143;
border-radius: 2px;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
.btn:focus,
.btn:active:focus,
.btn.active:focus,
.btn.focus,
.btn:active.focus,
.btn.active.focus {
outline: thin dotted;
outline: 5px auto -webkit-focus-ring-color;
outline-offset: -2px;
}
.btn:hover,
.btn:focus,
.btn.focus {
color: #333;
text-decoration: none;
}
.btn:active,
.btn.active {
outline: 0;
background-image: none;
-webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
}
.btn.disabled,
.btn[disabled],
fieldset[disabled] .btn {
cursor: not-allowed;
opacity: 0.65;
filter: alpha(opacity=65);
-webkit-box-shadow: none;
box-shadow: none;
}
a.btn.disabled,
fieldset[disabled] a.btn {
pointer-events: none;
}
.btn-default {
color: #333;
background-color: #fff;
border-color: #ccc;
}
.btn-default:focus,
.btn-default.focus {
color: #333;
background-color: #e6e6e6;
border-color: #8c8c8c;
}
.btn-default:hover {
color: #333;
background-color: #e6e6e6;
border-color: #adadad;
}
.btn-default:active,
.btn-default.active,
.open > .dropdown-toggle.btn-default {
color: #333;
background-color: #e6e6e6;
border-color: #adadad;
}
.btn-default:active:hover,
.btn-default.active:hover,
.open > .dropdown-toggle.btn-default:hover,
.btn-default:active:focus,
.btn-default.active:focus,
.open > .dropdown-toggle.btn-default:focus,
.btn-default:active.focus,
.btn-default.active.focus,
.open > .dropdown-toggle.btn-default.focus {
color: #333;
background-color: #d4d4d4;
border-color: #8c8c8c;
}
.btn-default:active,
.btn-default.active,
.open > .dropdown-toggle.btn-default {
background-image: none;
}
.btn-default.disabled:hover,
.btn-default[disabled]:hover,
fieldset[disabled] .btn-default:hover,
.btn-default.disabled:focus,
.btn-default[disabled]:focus,
fieldset[disabled] .btn-default:focus,
.btn-default.disabled.focus,
.btn-default[disabled].focus,
fieldset[disabled] .btn-default.focus {
background-color: #fff;
border-color: #ccc;
}
.btn-default .badge {
color: #fff;
background-color: #333;
}
.btn-primary {
color: #fff;
background-color: #337ab7;
border-color: #2e6da4;
}
.btn-primary:focus,
.btn-primary.focus {
color: #fff;
background-color: #286090;
border-color: #122b40;
}
.btn-primary:hover {
color: #fff;
background-color: #286090;
border-color: #204d74;
}
.btn-primary:active,
.btn-primary.active,
.open > .dropdown-toggle.btn-primary {
color: #fff;
background-color: #286090;
border-color: #204d74;
}
.btn-primary:active:hover,
.btn-primary.active:hover,
.open > .dropdown-toggle.btn-primary:hover,
.btn-primary:active:focus,
.btn-primary.active:focus,
.open > .dropdown-toggle.btn-primary:focus,
.btn-primary:active.focus,
.btn-primary.active.focus,
.open > .dropdown-toggle.btn-primary.focus {
color: #fff;
background-color: #204d74;
border-color: #122b40;
}
.btn-primary:active,
.btn-primary.active,
.open > .dropdown-toggle.btn-primary {
background-image: none;
}
.btn-primary.disabled:hover,
.btn-primary[disabled]:hover,
fieldset[disabled] .btn-primary:hover,
.btn-primary.disabled:focus,
.btn-primary[disabled]:focus,
fieldset[disabled] .btn-primary:focus,
.btn-primary.disabled.focus,
.btn-primary[disabled].focus,
fieldset[disabled] .btn-primary.focus {
background-color: #337ab7;
border-color: #2e6da4;
}
.btn-primary .badge {
color: #337ab7;
background-color: #fff;
}
.btn-success {
color: #fff;
background-color: #5cb85c;
border-color: #4cae4c;
}
.btn-success:focus,
.btn-success.focus {
color: #fff;
background-color: #449d44;
border-color: #255625;
}
.btn-success:hover {
color: #fff;
background-color: #449d44;
border-color: #398439;
}
.btn-success:active,
.btn-success.active,
.open > .dropdown-toggle.btn-success {
color: #fff;
background-color: #449d44;
border-color: #398439;
}
.btn-success:active:hover,
.btn-success.active:hover,
.open > .dropdown-toggle.btn-success:hover,
.btn-success:active:focus,
.btn-success.active:focus,
.open > .dropdown-toggle.btn-success:focus,
.btn-success:active.focus,
.btn-success.active.focus,
.open > .dropdown-toggle.btn-success.focus {
color: #fff;
background-color: #398439;
border-color: #255625;
}
.btn-success:active,
.btn-success.active,
.open > .dropdown-toggle.btn-success {
background-image: none;
}
.btn-success.disabled:hover,
.btn-success[disabled]:hover,
fieldset[disabled] .btn-success:hover,
.btn-success.disabled:focus,
.btn-success[disabled]:focus,
fieldset[disabled] .btn-success:focus,
.btn-success.disabled.focus,
.btn-success[disabled].focus,
fieldset[disabled] .btn-success.focus {
background-color: #5cb85c;
border-color: #4cae4c;
}
.btn-success .badge {
color: #5cb85c;
background-color: #fff;
}
.btn-info {
color: #fff;
background-color: #5bc0de;
border-color: #46b8da;
}
.btn-info:focus,
.btn-info.focus {
color: #fff;
background-color: #31b0d5;
border-color: #1b6d85;
}
.btn-info:hover {
color: #fff;
background-color: #31b0d5;
border-color: #269abc;
}
.btn-info:active,
.btn-info.active,
.open > .dropdown-toggle.btn-info {
color: #fff;
background-color: #31b0d5;
border-color: #269abc;
}
.btn-info:active:hover,
.btn-info.active:hover,
.open > .dropdown-toggle.btn-info:hover,
.btn-info:active:focus,
.btn-info.active:focus,
.open > .dropdown-toggle.btn-info:focus,
.btn-info:active.focus,
.btn-info.active.focus,
.open > .dropdown-toggle.btn-info.focus {
color: #fff;
background-color: #269abc;
border-color: #1b6d85;
}
.btn-info:active,
.btn-info.active,
.open > .dropdown-toggle.btn-info {
background-image: none;
}
.btn-info.disabled:hover,
.btn-info[disabled]:hover,
fieldset[disabled] .btn-info:hover,
.btn-info.disabled:focus,
.btn-info[disabled]:focus,
fieldset[disabled] .btn-info:focus,
.btn-info.disabled.focus,
.btn-info[disabled].focus,
fieldset[disabled] .btn-info.focus {
background-color: #5bc0de;
border-color: #46b8da;
}
.btn-info .badge {
color: #5bc0de;
background-color: #fff;
}
.btn-warning {
color: #fff;
background-color: #f0ad4e;
border-color: #eea236;
}
.btn-warning:focus,
.btn-warning.focus {
color: #fff;
background-color: #ec971f;
border-color: #985f0d;
}
.btn-warning:hover {
color: #fff;
background-color: #ec971f;
border-color: #d58512;
}
.btn-warning:active,
.btn-warning.active,
.open > .dropdown-toggle.btn-warning {
color: #fff;
background-color: #ec971f;
border-color: #d58512;
}
.btn-warning:active:hover,
.btn-warning.active:hover,
.open > .dropdown-toggle.btn-warning:hover,
.btn-warning:active:focus,
.btn-warning.active:focus,
.open > .dropdown-toggle.btn-warning:focus,
.btn-warning:active.focus,
.btn-warning.active.focus,
.open > .dropdown-toggle.btn-warning.focus {
color: #fff;
background-color: #d58512;
border-color: #985f0d;
}
.btn-warning:active,
.btn-warning.active,
.open > .dropdown-toggle.btn-warning {
background-image: none;
}
.btn-warning.disabled:hover,
.btn-warning[disabled]:hover,
fieldset[disabled] .btn-warning:hover,
.btn-warning.disabled:focus,
.btn-warning[disabled]:focus,
fieldset[disabled] .btn-warning:focus,
.btn-warning.disabled.focus,
.btn-warning[disabled].focus,
fieldset[disabled] .btn-warning.focus {
background-color: #f0ad4e;
border-color: #eea236;
}
.btn-warning .badge {
color: #f0ad4e;
background-color: #fff;
}
.btn-danger {
color: #fff;
background-color: #d9534f;
border-color: #d43f3a;
}
.btn-danger:focus,
.btn-danger.focus {
color: #fff;
background-color: #c9302c;
border-color: #761c19;
}
.btn-danger:hover {
color: #fff;
background-color: #c9302c;
border-color: #ac2925;
}
.btn-danger:active,
.btn-danger.active,
.open > .dropdown-toggle.btn-danger {
color: #fff;
background-color: #c9302c;
border-color: #ac2925;
}
.btn-danger:active:hover,
.btn-danger.active:hover,
.open > .dropdown-toggle.btn-danger:hover,
.btn-danger:active:focus,
.btn-danger.active:focus,
.open > .dropdown-toggle.btn-danger:focus,
.btn-danger:active.focus,
.btn-danger.active.focus,
.open > .dropdown-toggle.btn-danger.focus {
color: #fff;
background-color: #ac2925;
border-color: #761c19;
}
.btn-danger:active,
.btn-danger.active,
.open > .dropdown-toggle.btn-danger {
background-image: none;
}
.btn-danger.disabled:hover,
.btn-danger[disabled]:hover,
fieldset[disabled] .btn-danger:hover,
.btn-danger.disabled:focus,
.btn-danger[disabled]:focus,
fieldset[disabled] .btn-danger:focus,
.btn-danger.disabled.focus,
.btn-danger[disabled].focus,
fieldset[disabled] .btn-danger.focus {
background-color: #d9534f;
border-color: #d43f3a;
}
.btn-danger .badge {
color: #d9534f;
background-color: #fff;
}
.btn-link {
color: #337ab7;
font-weight: normal;
border-radius: 0;
}
.btn-link,
.btn-link:active,
.btn-link.active,
.btn-link[disabled],
fieldset[disabled] .btn-link {
background-color: transparent;
-webkit-box-shadow: none;
box-shadow: none;
}
.btn-link,
.btn-link:hover,
.btn-link:focus,
.btn-link:active {
border-color: transparent;
}
.btn-link:hover,
.btn-link:focus {
color: #23527c;
text-decoration: underline;
background-color: transparent;
}
.btn-link[disabled]:hover,
fieldset[disabled] .btn-link:hover,
.btn-link[disabled]:focus,
fieldset[disabled] .btn-link:focus {
color: #777777;
text-decoration: none;
}
.btn-lg,
.btn-group-lg > .btn {
padding: 10px 16px;
font-size: 17px;
line-height: 1.3333333;
border-radius: 3px;
}
.btn-sm,
.btn-group-sm > .btn {
padding: 5px 10px;
font-size: 12px;
line-height: 1.5;
border-radius: 1px;
}
.btn-xs,
.btn-group-xs > .btn {
padding: 1px 5px;
font-size: 12px;
line-height: 1.5;
border-radius: 1px;
}
.btn-block {
display: block;
width: 100%;
}
.btn-block + .btn-block {
margin-top: 5px;
}
input[type="submit"].btn-block,
input[type="reset"].btn-block,
input[type="button"].btn-block {
width: 100%;
}
.fade {
opacity: 0;
-webkit-transition: opacity 0.15s linear;
-o-transition: opacity 0.15s linear;
transition: opacity 0.15s linear;
}
.fade.in {
opacity: 1;
}
.collapse {
display: none;
}
.collapse.in {
display: block;
}
tr.collapse.in {
display: table-row;
}
tbody.collapse.in {
display: table-row-group;
}
.collapsing {
position: relative;
height: 0;
overflow: hidden;
-webkit-transition-property: height, visibility;
transition-property: height, visibility;
-webkit-transition-duration: 0.35s;
transition-duration: 0.35s;
-webkit-transition-timing-function: ease;
transition-timing-function: ease;
}
.caret {
display: inline-block;
width: 0;
height: 0;
margin-left: 2px;
vertical-align: middle;
border-top: 4px dashed;
border-top: 4px solid \9;
border-right: 4px solid transparent;
border-left: 4px solid transparent;
}
.dropup,
.dropdown {
position: relative;
}
.dropdown-toggle:focus {
outline: 0;
}
.dropdown-menu {
position: absolute;
top: 100%;
left: 0;
z-index: 1000;
display: none;
float: left;
min-width: 160px;
padding: 5px 0;
margin: 2px 0 0;
list-style: none;
font-size: 13px;
text-align: left;
background-color: #fff;
border: 1px solid #ccc;
border: 1px solid rgba(0, 0, 0, 0.15);
border-radius: 2px;
-webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
background-clip: padding-box;
}
.dropdown-menu.pull-right {
right: 0;
left: auto;
}
.dropdown-menu .divider {
height: 1px;
margin: 8px 0;
overflow: hidden;
background-color: #e5e5e5;
}
.dropdown-menu > li > a {
display: block;
padding: 3px 20px;
clear: both;
font-weight: normal;
line-height: 1.42857143;
color: #333333;
white-space: nowrap;
}
.dropdown-menu > li > a:hover,
.dropdown-menu > li > a:focus {
text-decoration: none;
color: #262626;
background-color: #f5f5f5;
}
.dropdown-menu > .active > a,
.dropdown-menu > .active > a:hover,
.dropdown-menu > .active > a:focus {
color: #fff;
text-decoration: none;
outline: 0;
background-color: #337ab7;
}
.dropdown-menu > .disabled > a,
.dropdown-menu > .disabled > a:hover,
.dropdown-menu > .disabled > a:focus {
color: #777777;
}
.dropdown-menu > .disabled > a:hover,
.dropdown-menu > .disabled > a:focus {
text-decoration: none;
background-color: transparent;
background-image: none;
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
cursor: not-allowed;
}
.open > .dropdown-menu {
display: block;
}
.open > a {
outline: 0;
}
.dropdown-menu-right {
left: auto;
right: 0;
}
.dropdown-menu-left {
left: 0;
right: auto;
}
.dropdown-header {
display: block;
padding: 3px 20px;
font-size: 12px;
line-height: 1.42857143;
color: #777777;
white-space: nowrap;
}
.dropdown-backdrop {
position: fixed;
left: 0;
right: 0;
bottom: 0;
top: 0;
z-index: 990;
}
.pull-right > .dropdown-menu {
right: 0;
left: auto;
}
.dropup .caret,
.navbar-fixed-bottom .dropdown .caret {
border-top: 0;
border-bottom: 4px dashed;
border-bottom: 4px solid \9;
content: "";
}
.dropup .dropdown-menu,
.navbar-fixed-bottom .dropdown .dropdown-menu {
top: auto;
bottom: 100%;
margin-bottom: 2px;
}
@media (min-width: 541px) {
.navbar-right .dropdown-menu {
left: auto;
right: 0;
}
.navbar-right .dropdown-menu-left {
left: 0;
right: auto;
}
}
.btn-group,
.btn-group-vertical {
position: relative;
display: inline-block;
vertical-align: middle;
}
.btn-group > .btn,
.btn-group-vertical > .btn {
position: relative;
float: left;
}
.btn-group > .btn:hover,
.btn-group-vertical > .btn:hover,
.btn-group > .btn:focus,
.btn-group-vertical > .btn:focus,
.btn-group > .btn:active,
.btn-group-vertical > .btn:active,
.btn-group > .btn.active,
.btn-group-vertical > .btn.active {
z-index: 2;
}
.btn-group .btn + .btn,
.btn-group .btn + .btn-group,
.btn-group .btn-group + .btn,
.btn-group .btn-group + .btn-group {
margin-left: -1px;
}
.btn-toolbar {
margin-left: -5px;
}
.btn-toolbar .btn,
.btn-toolbar .btn-group,
.btn-toolbar .input-group {
float: left;
}
.btn-toolbar > .btn,
.btn-toolbar > .btn-group,
.btn-toolbar > .input-group {
margin-left: 5px;
}
.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) {
border-radius: 0;
}
.btn-group > .btn:first-child {
margin-left: 0;
}
.btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) {
border-bottom-right-radius: 0;
border-top-right-radius: 0;
}
.btn-group > .btn:last-child:not(:first-child),
.btn-group > .dropdown-toggle:not(:first-child) {
border-bottom-left-radius: 0;
border-top-left-radius: 0;
}
.btn-group > .btn-group {
float: left;
}
.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn {
border-radius: 0;
}
.btn-group > .btn-group:first-child:not(:last-child) > .btn:last-child,
.btn-group > .btn-group:first-child:not(:last-child) > .dropdown-toggle {
border-bottom-right-radius: 0;
border-top-right-radius: 0;
}
.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child {
border-bottom-left-radius: 0;
border-top-left-radius: 0;
}
.btn-group .dropdown-toggle:active,
.btn-group.open .dropdown-toggle {
outline: 0;
}
.btn-group > .btn + .dropdown-toggle {
padding-left: 8px;
padding-right: 8px;
}
.btn-group > .btn-lg + .dropdown-toggle {
padding-left: 12px;
padding-right: 12px;
}
.btn-group.open .dropdown-toggle {
-webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
}
.btn-group.open .dropdown-toggle.btn-link {
-webkit-box-shadow: none;
box-shadow: none;
}
.btn .caret {
margin-left: 0;
}
.btn-lg .caret {
border-width: 5px 5px 0;
border-bottom-width: 0;
}
.dropup .btn-lg .caret {
border-width: 0 5px 5px;
}
.btn-group-vertical > .btn,
.btn-group-vertical > .btn-group,
.btn-group-vertical > .btn-group > .btn {
display: block;
float: none;
width: 100%;
max-width: 100%;
}
.btn-group-vertical > .btn-group > .btn {
float: none;
}
.btn-group-vertical > .btn + .btn,
.btn-group-vertical > .btn + .btn-group,
.btn-group-vertical > .btn-group + .btn,
.btn-group-vertical > .btn-group + .btn-group {
margin-top: -1px;
margin-left: 0;
}
.btn-group-vertical > .btn:not(:first-child):not(:last-child) {
border-radius: 0;
}
.btn-group-vertical > .btn:first-child:not(:last-child) {
border-top-right-radius: 2px;
border-top-left-radius: 2px;
border-bottom-right-radius: 0;
border-bottom-left-radius: 0;
}
.btn-group-vertical > .btn:last-child:not(:first-child) {
border-top-right-radius: 0;
border-top-left-radius: 0;
border-bottom-right-radius: 2px;
border-bottom-left-radius: 2px;
}
.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn {
border-radius: 0;
}
.btn-group-vertical > .btn-group:first-child:not(:last-child) > .btn:last-child,
.btn-group-vertical > .btn-group:first-child:not(:last-child) > .dropdown-toggle {
border-bottom-right-radius: 0;
border-bottom-left-radius: 0;
}
.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child {
border-top-right-radius: 0;
border-top-left-radius: 0;
}
.btn-group-justified {
display: table;
width: 100%;
table-layout: fixed;
border-collapse: separate;
}
.btn-group-justified > .btn,
.btn-group-justified > .btn-group {
float: none;
display: table-cell;
width: 1%;
}
.btn-group-justified > .btn-group .btn {
width: 100%;
}
.btn-group-justified > .btn-group .dropdown-menu {
left: auto;
}
[data-toggle="buttons"] > .btn input[type="radio"],
[data-toggle="buttons"] > .btn-group > .btn input[type="radio"],
[data-toggle="buttons"] > .btn input[type="checkbox"],
[data-toggle="buttons"] > .btn-group > .btn input[type="checkbox"] {
position: absolute;
clip: rect(0, 0, 0, 0);
pointer-events: none;
}
.input-group {
position: relative;
display: table;
border-collapse: separate;
}
.input-group[class*="col-"] {
float: none;
padding-left: 0;
padding-right: 0;
}
.input-group .form-control {
position: relative;
z-index: 2;
float: left;
width: 100%;
margin-bottom: 0;
}
.input-group .form-control:focus {
z-index: 3;
}
.input-group-lg > .form-control,
.input-group-lg > .input-group-addon,
.input-group-lg > .input-group-btn > .btn {
height: 45px;
padding: 10px 16px;
font-size: 17px;
line-height: 1.3333333;
border-radius: 3px;
}
select.input-group-lg > .form-control,
select.input-group-lg > .input-group-addon,
select.input-group-lg > .input-group-btn > .btn {
height: 45px;
line-height: 45px;
}
textarea.input-group-lg > .form-control,
textarea.input-group-lg > .input-group-addon,
textarea.input-group-lg > .input-group-btn > .btn,
select[multiple].input-group-lg > .form-control,
select[multiple].input-group-lg > .input-group-addon,
select[multiple].input-group-lg > .input-group-btn > .btn {
height: auto;
}
.input-group-sm > .form-control,
.input-group-sm > .input-group-addon,
.input-group-sm > .input-group-btn > .btn {
height: 30px;
padding: 5px 10px;
font-size: 12px;
line-height: 1.5;
border-radius: 1px;
}
select.input-group-sm > .form-control,
select.input-group-sm > .input-group-addon,
select.input-group-sm > .input-group-btn > .btn {
height: 30px;
line-height: 30px;
}
textarea.input-group-sm > .form-control,
textarea.input-group-sm > .input-group-addon,
textarea.input-group-sm > .input-group-btn > .btn,
select[multiple].input-group-sm > .form-control,
select[multiple].input-group-sm > .input-group-addon,
select[multiple].input-group-sm > .input-group-btn > .btn {
height: auto;
}
.input-group-addon,
.input-group-btn,
.input-group .form-control {
display: table-cell;
}
.input-group-addon:not(:first-child):not(:last-child),
.input-group-btn:not(:first-child):not(:last-child),
.input-group .form-control:not(:first-child):not(:last-child) {
border-radius: 0;
}
.input-group-addon,
.input-group-btn {
width: 1%;
white-space: nowrap;
vertical-align: middle;
}
.input-group-addon {
padding: 6px 12px;
font-size: 13px;
font-weight: normal;
line-height: 1;
color: #555555;
text-align: center;
background-color: #eeeeee;
border: 1px solid #ccc;
border-radius: 2px;
}
.input-group-addon.input-sm {
padding: 5px 10px;
font-size: 12px;
border-radius: 1px;
}
.input-group-addon.input-lg {
padding: 10px 16px;
font-size: 17px;
border-radius: 3px;
}
.input-group-addon input[type="radio"],
.input-group-addon input[type="checkbox"] {
margin-top: 0;
}
.input-group .form-control:first-child,
.input-group-addon:first-child,
.input-group-btn:first-child > .btn,
.input-group-btn:first-child > .btn-group > .btn,
.input-group-btn:first-child > .dropdown-toggle,
.input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle),
.input-group-btn:last-child > .btn-group:not(:last-child) > .btn {
border-bottom-right-radius: 0;
border-top-right-radius: 0;
}
.input-group-addon:first-child {
border-right: 0;
}
.input-group .form-control:last-child,
.input-group-addon:last-child,
.input-group-btn:last-child > .btn,
.input-group-btn:last-child > .btn-group > .btn,
.input-group-btn:last-child > .dropdown-toggle,
.input-group-btn:first-child > .btn:not(:first-child),
.input-group-btn:first-child > .btn-group:not(:first-child) > .btn {
border-bottom-left-radius: 0;
border-top-left-radius: 0;
}
.input-group-addon:last-child {
border-left: 0;
}
.input-group-btn {
position: relative;
font-size: 0;
white-space: nowrap;
}
.input-group-btn > .btn {
position: relative;
}
.input-group-btn > .btn + .btn {
margin-left: -1px;
}
.input-group-btn > .btn:hover,
.input-group-btn > .btn:focus,
.input-group-btn > .btn:active {
z-index: 2;
}
.input-group-btn:first-child > .btn,
.input-group-btn:first-child > .btn-group {
margin-right: -1px;
}
.input-group-btn:last-child > .btn,
.input-group-btn:last-child > .btn-group {
z-index: 2;
margin-left: -1px;
}
.nav {
margin-bottom: 0;
padding-left: 0;
list-style: none;
}
.nav > li {
position: relative;
display: block;
}
.nav > li > a {
position: relative;
display: block;
padding: 10px 15px;
}
.nav > li > a:hover,
.nav > li > a:focus {
text-decoration: none;
background-color: #eeeeee;
}
.nav > li.disabled > a {
color: #777777;
}
.nav > li.disabled > a:hover,
.nav > li.disabled > a:focus {
color: #777777;
text-decoration: none;
background-color: transparent;
cursor: not-allowed;
}
.nav .open > a,
.nav .open > a:hover,
.nav .open > a:focus {
background-color: #eeeeee;
border-color: #337ab7;
}
.nav .nav-divider {
height: 1px;
margin: 8px 0;
overflow: hidden;
background-color: #e5e5e5;
}
.nav > li > a > img {
max-width: none;
}
.nav-tabs {
border-bottom: 1px solid #ddd;
}
.nav-tabs > li {
float: left;
margin-bottom: -1px;
}
.nav-tabs > li > a {
margin-right: 2px;
line-height: 1.42857143;
border: 1px solid transparent;
border-radius: 2px 2px 0 0;
}
.nav-tabs > li > a:hover {
border-color: #eeeeee #eeeeee #ddd;
}
.nav-tabs > li.active > a,
.nav-tabs > li.active > a:hover,
.nav-tabs > li.active > a:focus {
color: #555555;
background-color: #fff;
border: 1px solid #ddd;
border-bottom-color: transparent;
cursor: default;
}
.nav-tabs.nav-justified {
width: 100%;
border-bottom: 0;
}
.nav-tabs.nav-justified > li {
float: none;
}
.nav-tabs.nav-justified > li > a {
text-align: center;
margin-bottom: 5px;
}
.nav-tabs.nav-justified > .dropdown .dropdown-menu {
top: auto;
left: auto;
}
@media (min-width: 768px) {
.nav-tabs.nav-justified > li {
display: table-cell;
width: 1%;
}
.nav-tabs.nav-justified > li > a {
margin-bottom: 0;
}
}
.nav-tabs.nav-justified > li > a {
margin-right: 0;
border-radius: 2px;
}
.nav-tabs.nav-justified > .active > a,
.nav-tabs.nav-justified > .active > a:hover,
.nav-tabs.nav-justified > .active > a:focus {
border: 1px solid #ddd;
}
@media (min-width: 768px) {
.nav-tabs.nav-justified > li > a {
border-bottom: 1px solid #ddd;
border-radius: 2px 2px 0 0;
}
.nav-tabs.nav-justified > .active > a,
.nav-tabs.nav-justified > .active > a:hover,
.nav-tabs.nav-justified > .active > a:focus {
border-bottom-color: #fff;
}
}
.nav-pills > li {
float: left;
}
.nav-pills > li > a {
border-radius: 2px;
}
.nav-pills > li + li {
margin-left: 2px;
}
.nav-pills > li.active > a,
.nav-pills > li.active > a:hover,
.nav-pills > li.active > a:focus {
color: #fff;
background-color: #337ab7;
}
.nav-stacked > li {
float: none;
}
.nav-stacked > li + li {
margin-top: 2px;
margin-left: 0;
}
.nav-justified {
width: 100%;
}
.nav-justified > li {
float: none;
}
.nav-justified > li > a {
text-align: center;
margin-bottom: 5px;
}
.nav-justified > .dropdown .dropdown-menu {
top: auto;
left: auto;
}
@media (min-width: 768px) {
.nav-justified > li {
display: table-cell;
width: 1%;
}
.nav-justified > li > a {
margin-bottom: 0;
}
}
.nav-tabs-justified {
border-bottom: 0;
}
.nav-tabs-justified > li > a {
margin-right: 0;
border-radius: 2px;
}
.nav-tabs-justified > .active > a,
.nav-tabs-justified > .active > a:hover,
.nav-tabs-justified > .active > a:focus {
border: 1px solid #ddd;
}
@media (min-width: 768px) {
.nav-tabs-justified > li > a {
border-bottom: 1px solid #ddd;
border-radius: 2px 2px 0 0;
}
.nav-tabs-justified > .active > a,
.nav-tabs-justified > .active > a:hover,
.nav-tabs-justified > .active > a:focus {
border-bottom-color: #fff;
}
}
.tab-content > .tab-pane {
display: none;
}
.tab-content > .active {
display: block;
}
.nav-tabs .dropdown-menu {
margin-top: -1px;
border-top-right-radius: 0;
border-top-left-radius: 0;
}
.navbar {
position: relative;
min-height: 30px;
margin-bottom: 18px;
border: 1px solid transparent;
}
@media (min-width: 541px) {
.navbar {
border-radius: 2px;
}
}
@media (min-width: 541px) {
.navbar-header {
float: left;
}
}
.navbar-collapse {
overflow-x: visible;
padding-right: 0px;
padding-left: 0px;
border-top: 1px solid transparent;
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);
-webkit-overflow-scrolling: touch;
}
.navbar-collapse.in {
overflow-y: auto;
}
@media (min-width: 541px) {
.navbar-collapse {
width: auto;
border-top: 0;
box-shadow: none;
}
.navbar-collapse.collapse {
display: block !important;
height: auto !important;
padding-bottom: 0;
overflow: visible !important;
}
.navbar-collapse.in {
overflow-y: visible;
}
.navbar-fixed-top .navbar-collapse,
.navbar-static-top .navbar-collapse,
.navbar-fixed-bottom .navbar-collapse {
padding-left: 0;
padding-right: 0;
}
}
.navbar-fixed-top .navbar-collapse,
.navbar-fixed-bottom .navbar-collapse {
max-height: 340px;
}
@media (max-device-width: 540px) and (orientation: landscape) {
.navbar-fixed-top .navbar-collapse,
.navbar-fixed-bottom .navbar-collapse {
max-height: 200px;
}
}
.container > .navbar-header,
.container-fluid > .navbar-header,
.container > .navbar-collapse,
.container-fluid > .navbar-collapse {
margin-right: 0px;
margin-left: 0px;
}
@media (min-width: 541px) {
.container > .navbar-header,
.container-fluid > .navbar-header,
.container > .navbar-collapse,
.container-fluid > .navbar-collapse {
margin-right: 0;
margin-left: 0;
}
}
.navbar-static-top {
z-index: 1000;
border-width: 0 0 1px;
}
@media (min-width: 541px) {
.navbar-static-top {
border-radius: 0;
}
}
.navbar-fixed-top,
.navbar-fixed-bottom {
position: fixed;
right: 0;
left: 0;
z-index: 1030;
}
@media (min-width: 541px) {
.navbar-fixed-top,
.navbar-fixed-bottom {
border-radius: 0;
}
}
.navbar-fixed-top {
top: 0;
border-width: 0 0 1px;
}
.navbar-fixed-bottom {
bottom: 0;
margin-bottom: 0;
border-width: 1px 0 0;
}
.navbar-brand {
float: left;
padding: 6px 0px;
font-size: 17px;
line-height: 18px;
height: 30px;
}
.navbar-brand:hover,
.navbar-brand:focus {
text-decoration: none;
}
.navbar-brand > img {
display: block;
}
@media (min-width: 541px) {
.navbar > .container .navbar-brand,
.navbar > .container-fluid .navbar-brand {
margin-left: 0px;
}
}
.navbar-toggle {
position: relative;
float: right;
margin-right: 0px;
padding: 9px 10px;
margin-top: -2px;
margin-bottom: -2px;
background-color: transparent;
background-image: none;
border: 1px solid transparent;
border-radius: 2px;
}
.navbar-toggle:focus {
outline: 0;
}
.navbar-toggle .icon-bar {
display: block;
width: 22px;
height: 2px;
border-radius: 1px;
}
.navbar-toggle .icon-bar + .icon-bar {
margin-top: 4px;
}
@media (min-width: 541px) {
.navbar-toggle {
display: none;
}
}
.navbar-nav {
margin: 3px 0px;
}
.navbar-nav > li > a {
padding-top: 10px;
padding-bottom: 10px;
line-height: 18px;
}
@media (max-width: 540px) {
.navbar-nav .open .dropdown-menu {
position: static;
float: none;
width: auto;
margin-top: 0;
background-color: transparent;
border: 0;
box-shadow: none;
}
.navbar-nav .open .dropdown-menu > li > a,
.navbar-nav .open .dropdown-menu .dropdown-header {
padding: 5px 15px 5px 25px;
}
.navbar-nav .open .dropdown-menu > li > a {
line-height: 18px;
}
.navbar-nav .open .dropdown-menu > li > a:hover,
.navbar-nav .open .dropdown-menu > li > a:focus {
background-image: none;
}
}
@media (min-width: 541px) {
.navbar-nav {
float: left;
margin: 0;
}
.navbar-nav > li {
float: left;
}
.navbar-nav > li > a {
padding-top: 6px;
padding-bottom: 6px;
}
}
.navbar-form {
margin-left: 0px;
margin-right: 0px;
padding: 10px 0px;
border-top: 1px solid transparent;
border-bottom: 1px solid transparent;
-webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);
margin-top: -1px;
margin-bottom: -1px;
}
@media (min-width: 768px) {
.navbar-form .form-group {
display: inline-block;
margin-bottom: 0;
vertical-align: middle;
}
.navbar-form .form-control {
display: inline-block;
width: auto;
vertical-align: middle;
}
.navbar-form .form-control-static {
display: inline-block;
}
.navbar-form .input-group {
display: inline-table;
vertical-align: middle;
}
.navbar-form .input-group .input-group-addon,
.navbar-form .input-group .input-group-btn,
.navbar-form .input-group .form-control {
width: auto;
}
.navbar-form .input-group > .form-control {
width: 100%;
}
.navbar-form .control-label {
margin-bottom: 0;
vertical-align: middle;
}
.navbar-form .radio,
.navbar-form .checkbox {
display: inline-block;
margin-top: 0;
margin-bottom: 0;
vertical-align: middle;
}
.navbar-form .radio label,
.navbar-form .checkbox label {
padding-left: 0;
}
.navbar-form .radio input[type="radio"],
.navbar-form .checkbox input[type="checkbox"] {
position: relative;
margin-left: 0;
}
.navbar-form .has-feedback .form-control-feedback {
top: 0;
}
}
@media (max-width: 540px) {
.navbar-form .form-group {
margin-bottom: 5px;
}
.navbar-form .form-group:last-child {
margin-bottom: 0;
}
}
@media (min-width: 541px) {
.navbar-form {
width: auto;
border: 0;
margin-left: 0;
margin-right: 0;
padding-top: 0;
padding-bottom: 0;
-webkit-box-shadow: none;
box-shadow: none;
}
}
.navbar-nav > li > .dropdown-menu {
margin-top: 0;
border-top-right-radius: 0;
border-top-left-radius: 0;
}
.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu {
margin-bottom: 0;
border-top-right-radius: 2px;
border-top-left-radius: 2px;
border-bottom-right-radius: 0;
border-bottom-left-radius: 0;
}
.navbar-btn {
margin-top: -1px;
margin-bottom: -1px;
}
.navbar-btn.btn-sm {
margin-top: 0px;
margin-bottom: 0px;
}
.navbar-btn.btn-xs {
margin-top: 4px;
margin-bottom: 4px;
}
.navbar-text {
margin-top: 6px;
margin-bottom: 6px;
}
@media (min-width: 541px) {
.navbar-text {
float: left;
margin-left: 0px;
margin-right: 0px;
}
}
@media (min-width: 541px) {
.navbar-left {
float: left !important;
float: left;
}
.navbar-right {
float: right !important;
float: right;
margin-right: 0px;
}
.navbar-right ~ .navbar-right {
margin-right: 0;
}
}
.navbar-default {
background-color: #f8f8f8;
border-color: #e7e7e7;
}
.navbar-default .navbar-brand {
color: #777;
}
.navbar-default .navbar-brand:hover,
.navbar-default .navbar-brand:focus {
color: #5e5e5e;
background-color: transparent;
}
.navbar-default .navbar-text {
color: #777;
}
.navbar-default .navbar-nav > li > a {
color: #777;
}
.navbar-default .navbar-nav > li > a:hover,
.navbar-default .navbar-nav > li > a:focus {
color: #333;
background-color: transparent;
}
.navbar-default .navbar-nav > .active > a,
.navbar-default .navbar-nav > .active > a:hover,
.navbar-default .navbar-nav > .active > a:focus {
color: #555;
background-color: #e7e7e7;
}
.navbar-default .navbar-nav > .disabled > a,
.navbar-default .navbar-nav > .disabled > a:hover,
.navbar-default .navbar-nav > .disabled > a:focus {
color: #ccc;
background-color: transparent;
}
.navbar-default .navbar-toggle {
border-color: #ddd;
}
.navbar-default .navbar-toggle:hover,
.navbar-default .navbar-toggle:focus {
background-color: #ddd;
}
.navbar-default .navbar-toggle .icon-bar {
background-color: #888;
}
.navbar-default .navbar-collapse,
.navbar-default .navbar-form {
border-color: #e7e7e7;
}
.navbar-default .navbar-nav > .open > a,
.navbar-default .navbar-nav > .open > a:hover,
.navbar-default .navbar-nav > .open > a:focus {
background-color: #e7e7e7;
color: #555;
}
@media (max-width: 540px) {
.navbar-default .navbar-nav .open .dropdown-menu > li > a {
color: #777;
}
.navbar-default .navbar-nav .open .dropdown-menu > li > a:hover,
.navbar-default .navbar-nav .open .dropdown-menu > li > a:focus {
color: #333;
background-color: transparent;
}
.navbar-default .navbar-nav .open .dropdown-menu > .active > a,
.navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover,
.navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus {
color: #555;
background-color: #e7e7e7;
}
.navbar-default .navbar-nav .open .dropdown-menu > .disabled > a,
.navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:hover,
.navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:focus {
color: #ccc;
background-color: transparent;
}
}
.navbar-default .navbar-link {
color: #777;
}
.navbar-default .navbar-link:hover {
color: #333;
}
.navbar-default .btn-link {
color: #777;
}
.navbar-default .btn-link:hover,
.navbar-default .btn-link:focus {
color: #333;
}
.navbar-default .btn-link[disabled]:hover,
fieldset[disabled] .navbar-default .btn-link:hover,
.navbar-default .btn-link[disabled]:focus,
fieldset[disabled] .navbar-default .btn-link:focus {
color: #ccc;
}
.navbar-inverse {
background-color: #222;
border-color: #080808;
}
.navbar-inverse .navbar-brand {
color: #9d9d9d;
}
.navbar-inverse .navbar-brand:hover,
.navbar-inverse .navbar-brand:focus {
color: #fff;
background-color: transparent;
}
.navbar-inverse .navbar-text {
color: #9d9d9d;
}
.navbar-inverse .navbar-nav > li > a {
color: #9d9d9d;
}
.navbar-inverse .navbar-nav > li > a:hover,
.navbar-inverse .navbar-nav > li > a:focus {
color: #fff;
background-color: transparent;
}
.navbar-inverse .navbar-nav > .active > a,
.navbar-inverse .navbar-nav > .active > a:hover,
.navbar-inverse .navbar-nav > .active > a:focus {
color: #fff;
background-color: #080808;
}
.navbar-inverse .navbar-nav > .disabled > a,
.navbar-inverse .navbar-nav > .disabled > a:hover,
.navbar-inverse .navbar-nav > .disabled > a:focus {
color: #444;
background-color: transparent;
}
.navbar-inverse .navbar-toggle {
border-color: #333;
}
.navbar-inverse .navbar-toggle:hover,
.navbar-inverse .navbar-toggle:focus {
background-color: #333;
}
.navbar-inverse .navbar-toggle .icon-bar {
background-color: #fff;
}
.navbar-inverse .navbar-collapse,
.navbar-inverse .navbar-form {
border-color: #101010;
}
.navbar-inverse .navbar-nav > .open > a,
.navbar-inverse .navbar-nav > .open > a:hover,
.navbar-inverse .navbar-nav > .open > a:focus {
background-color: #080808;
color: #fff;
}
@media (max-width: 540px) {
.navbar-inverse .navbar-nav .open .dropdown-menu > .dropdown-header {
border-color: #080808;
}
.navbar-inverse .navbar-nav .open .dropdown-menu .divider {
background-color: #080808;
}
.navbar-inverse .navbar-nav .open .dropdown-menu > li > a {
color: #9d9d9d;
}
.navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover,
.navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus {
color: #fff;
background-color: transparent;
}
.navbar-inverse .navbar-nav .open .dropdown-menu > .active > a,
.navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:hover,
.navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:focus {
color: #fff;
background-color: #080808;
}
.navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a,
.navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:hover,
.navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:focus {
color: #444;
background-color: transparent;
}
}
.navbar-inverse .navbar-link {
color: #9d9d9d;
}
.navbar-inverse .navbar-link:hover {
color: #fff;
}
.navbar-inverse .btn-link {
color: #9d9d9d;
}
.navbar-inverse .btn-link:hover,
.navbar-inverse .btn-link:focus {
color: #fff;
}
.navbar-inverse .btn-link[disabled]:hover,
fieldset[disabled] .navbar-inverse .btn-link:hover,
.navbar-inverse .btn-link[disabled]:focus,
fieldset[disabled] .navbar-inverse .btn-link:focus {
color: #444;
}
.breadcrumb {
padding: 8px 15px;
margin-bottom: 18px;
list-style: none;
background-color: #f5f5f5;
border-radius: 2px;
}
.breadcrumb > li {
display: inline-block;
}
.breadcrumb > li + li:before {
content: "/\00a0";
padding: 0 5px;
color: #5e5e5e;
}
.breadcrumb > .active {
color: #777777;
}
.pagination {
display: inline-block;
padding-left: 0;
margin: 18px 0;
border-radius: 2px;
}
.pagination > li {
display: inline;
}
.pagination > li > a,
.pagination > li > span {
position: relative;
float: left;
padding: 6px 12px;
line-height: 1.42857143;
text-decoration: none;
color: #337ab7;
background-color: #fff;
border: 1px solid #ddd;
margin-left: -1px;
}
.pagination > li:first-child > a,
.pagination > li:first-child > span {
margin-left: 0;
border-bottom-left-radius: 2px;
border-top-left-radius: 2px;
}
.pagination > li:last-child > a,
.pagination > li:last-child > span {
border-bottom-right-radius: 2px;
border-top-right-radius: 2px;
}
.pagination > li > a:hover,
.pagination > li > span:hover,
.pagination > li > a:focus,
.pagination > li > span:focus {
z-index: 2;
color: #23527c;
background-color: #eeeeee;
border-color: #ddd;
}
.pagination > .active > a,
.pagination > .active > span,
.pagination > .active > a:hover,
.pagination > .active > span:hover,
.pagination > .active > a:focus,
.pagination > .active > span:focus {
z-index: 3;
color: #fff;
background-color: #337ab7;
border-color: #337ab7;
cursor: default;
}
.pagination > .disabled > span,
.pagination > .disabled > span:hover,
.pagination > .disabled > span:focus,
.pagination > .disabled > a,
.pagination > .disabled > a:hover,
.pagination > .disabled > a:focus {
color: #777777;
background-color: #fff;
border-color: #ddd;
cursor: not-allowed;
}
.pagination-lg > li > a,
.pagination-lg > li > span {
padding: 10px 16px;
font-size: 17px;
line-height: 1.3333333;
}
.pagination-lg > li:first-child > a,
.pagination-lg > li:first-child > span {
border-bottom-left-radius: 3px;
border-top-left-radius: 3px;
}
.pagination-lg > li:last-child > a,
.pagination-lg > li:last-child > span {
border-bottom-right-radius: 3px;
border-top-right-radius: 3px;
}
.pagination-sm > li > a,
.pagination-sm > li > span {
padding: 5px 10px;
font-size: 12px;
line-height: 1.5;
}
.pagination-sm > li:first-child > a,
.pagination-sm > li:first-child > span {
border-bottom-left-radius: 1px;
border-top-left-radius: 1px;
}
.pagination-sm > li:last-child > a,
.pagination-sm > li:last-child > span {
border-bottom-right-radius: 1px;
border-top-right-radius: 1px;
}
.pager {
padding-left: 0;
margin: 18px 0;
list-style: none;
text-align: center;
}
.pager li {
display: inline;
}
.pager li > a,
.pager li > span {
display: inline-block;
padding: 5px 14px;
background-color: #fff;
border: 1px solid #ddd;
border-radius: 15px;
}
.pager li > a:hover,
.pager li > a:focus {
text-decoration: none;
background-color: #eeeeee;
}
.pager .next > a,
.pager .next > span {
float: right;
}
.pager .previous > a,
.pager .previous > span {
float: left;
}
.pager .disabled > a,
.pager .disabled > a:hover,
.pager .disabled > a:focus,
.pager .disabled > span {
color: #777777;
background-color: #fff;
cursor: not-allowed;
}
.label {
display: inline;
padding: .2em .6em .3em;
font-size: 75%;
font-weight: bold;
line-height: 1;
color: #fff;
text-align: center;
white-space: nowrap;
vertical-align: baseline;
border-radius: .25em;
}
a.label:hover,
a.label:focus {
color: #fff;
text-decoration: none;
cursor: pointer;
}
.label:empty {
display: none;
}
.btn .label {
position: relative;
top: -1px;
}
.label-default {
background-color: #777777;
}
.label-default[href]:hover,
.label-default[href]:focus {
background-color: #5e5e5e;
}
.label-primary {
background-color: #337ab7;
}
.label-primary[href]:hover,
.label-primary[href]:focus {
background-color: #286090;
}
.label-success {
background-color: #5cb85c;
}
.label-success[href]:hover,
.label-success[href]:focus {
background-color: #449d44;
}
.label-info {
background-color: #5bc0de;
}
.label-info[href]:hover,
.label-info[href]:focus {
background-color: #31b0d5;
}
.label-warning {
background-color: #f0ad4e;
}
.label-warning[href]:hover,
.label-warning[href]:focus {
background-color: #ec971f;
}
.label-danger {
background-color: #d9534f;
}
.label-danger[href]:hover,
.label-danger[href]:focus {
background-color: #c9302c;
}
.badge {
display: inline-block;
min-width: 10px;
padding: 3px 7px;
font-size: 12px;
font-weight: bold;
color: #fff;
line-height: 1;
vertical-align: middle;
white-space: nowrap;
text-align: center;
background-color: #777777;
border-radius: 10px;
}
.badge:empty {
display: none;
}
.btn .badge {
position: relative;
top: -1px;
}
.btn-xs .badge,
.btn-group-xs > .btn .badge {
top: 0;
padding: 1px 5px;
}
a.badge:hover,
a.badge:focus {
color: #fff;
text-decoration: none;
cursor: pointer;
}
.list-group-item.active > .badge,
.nav-pills > .active > a > .badge {
color: #337ab7;
background-color: #fff;
}
.list-group-item > .badge {
float: right;
}
.list-group-item > .badge + .badge {
margin-right: 5px;
}
.nav-pills > li > a > .badge {
margin-left: 3px;
}
.jumbotron {
padding-top: 30px;
padding-bottom: 30px;
margin-bottom: 30px;
color: inherit;
background-color: #eeeeee;
}
.jumbotron h1,
.jumbotron .h1 {
color: inherit;
}
.jumbotron p {
margin-bottom: 15px;
font-size: 20px;
font-weight: 200;
}
.jumbotron > hr {
border-top-color: #d5d5d5;
}
.container .jumbotron,
.container-fluid .jumbotron {
border-radius: 3px;
padding-left: 0px;
padding-right: 0px;
}
.jumbotron .container {
max-width: 100%;
}
@media screen and (min-width: 768px) {
.jumbotron {
padding-top: 48px;
padding-bottom: 48px;
}
.container .jumbotron,
.container-fluid .jumbotron {
padding-left: 60px;
padding-right: 60px;
}
.jumbotron h1,
.jumbotron .h1 {
font-size: 59px;
}
}
.thumbnail {
display: block;
padding: 4px;
margin-bottom: 18px;
line-height: 1.42857143;
background-color: #fff;
border: 1px solid #ddd;
border-radius: 2px;
-webkit-transition: border 0.2s ease-in-out;
-o-transition: border 0.2s ease-in-out;
transition: border 0.2s ease-in-out;
}
.thumbnail > img,
.thumbnail a > img {
margin-left: auto;
margin-right: auto;
}
a.thumbnail:hover,
a.thumbnail:focus,
a.thumbnail.active {
border-color: #337ab7;
}
.thumbnail .caption {
padding: 9px;
color: #000;
}
.alert {
padding: 15px;
margin-bottom: 18px;
border: 1px solid transparent;
border-radius: 2px;
}
.alert h4 {
margin-top: 0;
color: inherit;
}
.alert .alert-link {
font-weight: bold;
}
.alert > p,
.alert > ul {
margin-bottom: 0;
}
.alert > p + p {
margin-top: 5px;
}
.alert-dismissable,
.alert-dismissible {
padding-right: 35px;
}
.alert-dismissable .close,
.alert-dismissible .close {
position: relative;
top: -2px;
right: -21px;
color: inherit;
}
.alert-success {
background-color: #dff0d8;
border-color: #d6e9c6;
color: #3c763d;
}
.alert-success hr {
border-top-color: #c9e2b3;
}
.alert-success .alert-link {
color: #2b542c;
}
.alert-info {
background-color: #d9edf7;
border-color: #bce8f1;
color: #31708f;
}
.alert-info hr {
border-top-color: #a6e1ec;
}
.alert-info .alert-link {
color: #245269;
}
.alert-warning {
background-color: #fcf8e3;
border-color: #faebcc;
color: #8a6d3b;
}
.alert-warning hr {
border-top-color: #f7e1b5;
}
.alert-warning .alert-link {
color: #66512c;
}
.alert-danger {
background-color: #f2dede;
border-color: #ebccd1;
color: #a94442;
}
.alert-danger hr {
border-top-color: #e4b9c0;
}
.alert-danger .alert-link {
color: #843534;
}
@-webkit-keyframes progress-bar-stripes {
from {
background-position: 40px 0;
}
to {
background-position: 0 0;
}
}
@keyframes progress-bar-stripes {
from {
background-position: 40px 0;
}
to {
background-position: 0 0;
}
}
.progress {
overflow: hidden;
height: 18px;
margin-bottom: 18px;
background-color: #f5f5f5;
border-radius: 2px;
-webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
}
.progress-bar {
float: left;
width: 0%;
height: 100%;
font-size: 12px;
line-height: 18px;
color: #fff;
text-align: center;
background-color: #337ab7;
-webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
-webkit-transition: width 0.6s ease;
-o-transition: width 0.6s ease;
transition: width 0.6s ease;
}
.progress-striped .progress-bar,
.progress-bar-striped {
background-image: -webkit-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-image: -o-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-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: 40px 40px;
}
.progress.active .progress-bar,
.progress-bar.active {
-webkit-animation: progress-bar-stripes 2s linear infinite;
-o-animation: progress-bar-stripes 2s linear infinite;
animation: progress-bar-stripes 2s linear infinite;
}
.progress-bar-success {
background-color: #5cb85c;
}
.progress-striped .progress-bar-success {
background-image: -webkit-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-image: -o-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-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);
}
.progress-bar-info {
background-color: #5bc0de;
}
.progress-striped .progress-bar-info {
background-image: -webkit-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-image: -o-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-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);
}
.progress-bar-warning {
background-color: #f0ad4e;
}
.progress-striped .progress-bar-warning {
background-image: -webkit-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-image: -o-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-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);
}
.progress-bar-danger {
background-color: #d9534f;
}
.progress-striped .progress-bar-danger {
background-image: -webkit-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-image: -o-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-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);
}
.media {
margin-top: 15px;
}
.media:first-child {
margin-top: 0;
}
.media,
.media-body {
zoom: 1;
overflow: hidden;
}
.media-body {
width: 10000px;
}
.media-object {
display: block;
}
.media-object.img-thumbnail {
max-width: none;
}
.media-right,
.media > .pull-right {
padding-left: 10px;
}
.media-left,
.media > .pull-left {
padding-right: 10px;
}
.media-left,
.media-right,
.media-body {
display: table-cell;
vertical-align: top;
}
.media-middle {
vertical-align: middle;
}
.media-bottom {
vertical-align: bottom;
}
.media-heading {
margin-top: 0;
margin-bottom: 5px;
}
.media-list {
padding-left: 0;
list-style: none;
}
.list-group {
margin-bottom: 20px;
padding-left: 0;
}
.list-group-item {
position: relative;
display: block;
padding: 10px 15px;
margin-bottom: -1px;
background-color: #fff;
border: 1px solid #ddd;
}
.list-group-item:first-child {
border-top-right-radius: 2px;
border-top-left-radius: 2px;
}
.list-group-item:last-child {
margin-bottom: 0;
border-bottom-right-radius: 2px;
border-bottom-left-radius: 2px;
}
a.list-group-item,
button.list-group-item {
color: #555;
}
a.list-group-item .list-group-item-heading,
button.list-group-item .list-group-item-heading {
color: #333;
}
a.list-group-item:hover,
button.list-group-item:hover,
a.list-group-item:focus,
button.list-group-item:focus {
text-decoration: none;
color: #555;
background-color: #f5f5f5;
}
button.list-group-item {
width: 100%;
text-align: left;
}
.list-group-item.disabled,
.list-group-item.disabled:hover,
.list-group-item.disabled:focus {
background-color: #eeeeee;
color: #777777;
cursor: not-allowed;
}
.list-group-item.disabled .list-group-item-heading,
.list-group-item.disabled:hover .list-group-item-heading,
.list-group-item.disabled:focus .list-group-item-heading {
color: inherit;
}
.list-group-item.disabled .list-group-item-text,
.list-group-item.disabled:hover .list-group-item-text,
.list-group-item.disabled:focus .list-group-item-text {
color: #777777;
}
.list-group-item.active,
.list-group-item.active:hover,
.list-group-item.active:focus {
z-index: 2;
color: #fff;
background-color: #337ab7;
border-color: #337ab7;
}
.list-group-item.active .list-group-item-heading,
.list-group-item.active:hover .list-group-item-heading,
.list-group-item.active:focus .list-group-item-heading,
.list-group-item.active .list-group-item-heading > small,
.list-group-item.active:hover .list-group-item-heading > small,
.list-group-item.active:focus .list-group-item-heading > small,
.list-group-item.active .list-group-item-heading > .small,
.list-group-item.active:hover .list-group-item-heading > .small,
.list-group-item.active:focus .list-group-item-heading > .small {
color: inherit;
}
.list-group-item.active .list-group-item-text,
.list-group-item.active:hover .list-group-item-text,
.list-group-item.active:focus .list-group-item-text {
color: #c7ddef;
}
.list-group-item-success {
color: #3c763d;
background-color: #dff0d8;
}
a.list-group-item-success,
button.list-group-item-success {
color: #3c763d;
}
a.list-group-item-success .list-group-item-heading,
button.list-group-item-success .list-group-item-heading {
color: inherit;
}
a.list-group-item-success:hover,
button.list-group-item-success:hover,
a.list-group-item-success:focus,
button.list-group-item-success:focus {
color: #3c763d;
background-color: #d0e9c6;
}
a.list-group-item-success.active,
button.list-group-item-success.active,
a.list-group-item-success.active:hover,
button.list-group-item-success.active:hover,
a.list-group-item-success.active:focus,
button.list-group-item-success.active:focus {
color: #fff;
background-color: #3c763d;
border-color: #3c763d;
}
.list-group-item-info {
color: #31708f;
background-color: #d9edf7;
}
a.list-group-item-info,
button.list-group-item-info {
color: #31708f;
}
a.list-group-item-info .list-group-item-heading,
button.list-group-item-info .list-group-item-heading {
color: inherit;
}
a.list-group-item-info:hover,
button.list-group-item-info:hover,
a.list-group-item-info:focus,
button.list-group-item-info:focus {
color: #31708f;
background-color: #c4e3f3;
}
a.list-group-item-info.active,
button.list-group-item-info.active,
a.list-group-item-info.active:hover,
button.list-group-item-info.active:hover,
a.list-group-item-info.active:focus,
button.list-group-item-info.active:focus {
color: #fff;
background-color: #31708f;
border-color: #31708f;
}
.list-group-item-warning {
color: #8a6d3b;
background-color: #fcf8e3;
}
a.list-group-item-warning,
button.list-group-item-warning {
color: #8a6d3b;
}
a.list-group-item-warning .list-group-item-heading,
button.list-group-item-warning .list-group-item-heading {
color: inherit;
}
a.list-group-item-warning:hover,
button.list-group-item-warning:hover,
a.list-group-item-warning:focus,
button.list-group-item-warning:focus {
color: #8a6d3b;
background-color: #faf2cc;
}
a.list-group-item-warning.active,
button.list-group-item-warning.active,
a.list-group-item-warning.active:hover,
button.list-group-item-warning.active:hover,
a.list-group-item-warning.active:focus,
button.list-group-item-warning.active:focus {
color: #fff;
background-color: #8a6d3b;
border-color: #8a6d3b;
}
.list-group-item-danger {
color: #a94442;
background-color: #f2dede;
}
a.list-group-item-danger,
button.list-group-item-danger {
color: #a94442;
}
a.list-group-item-danger .list-group-item-heading,
button.list-group-item-danger .list-group-item-heading {
color: inherit;
}
a.list-group-item-danger:hover,
button.list-group-item-danger:hover,
a.list-group-item-danger:focus,
button.list-group-item-danger:focus {
color: #a94442;
background-color: #ebcccc;
}
a.list-group-item-danger.active,
button.list-group-item-danger.active,
a.list-group-item-danger.active:hover,
button.list-group-item-danger.active:hover,
a.list-group-item-danger.active:focus,
button.list-group-item-danger.active:focus {
color: #fff;
background-color: #a94442;
border-color: #a94442;
}
.list-group-item-heading {
margin-top: 0;
margin-bottom: 5px;
}
.list-group-item-text {
margin-bottom: 0;
line-height: 1.3;
}
.panel {
margin-bottom: 18px;
background-color: #fff;
border: 1px solid transparent;
border-radius: 2px;
-webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);
box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);
}
.panel-body {
padding: 15px;
}
.panel-heading {
padding: 10px 15px;
border-bottom: 1px solid transparent;
border-top-right-radius: 1px;
border-top-left-radius: 1px;
}
.panel-heading > .dropdown .dropdown-toggle {
color: inherit;
}
.panel-title {
margin-top: 0;
margin-bottom: 0;
font-size: 15px;
color: inherit;
}
.panel-title > a,
.panel-title > small,
.panel-title > .small,
.panel-title > small > a,
.panel-title > .small > a {
color: inherit;
}
.panel-footer {
padding: 10px 15px;
background-color: #f5f5f5;
border-top: 1px solid #ddd;
border-bottom-right-radius: 1px;
border-bottom-left-radius: 1px;
}
.panel > .list-group,
.panel > .panel-collapse > .list-group {
margin-bottom: 0;
}
.panel > .list-group .list-group-item,
.panel > .panel-collapse > .list-group .list-group-item {
border-width: 1px 0;
border-radius: 0;
}
.panel > .list-group:first-child .list-group-item:first-child,
.panel > .panel-collapse > .list-group:first-child .list-group-item:first-child {
border-top: 0;
border-top-right-radius: 1px;
border-top-left-radius: 1px;
}
.panel > .list-group:last-child .list-group-item:last-child,
.panel > .panel-collapse > .list-group:last-child .list-group-item:last-child {
border-bottom: 0;
border-bottom-right-radius: 1px;
border-bottom-left-radius: 1px;
}
.panel > .panel-heading + .panel-collapse > .list-group .list-group-item:first-child {
border-top-right-radius: 0;
border-top-left-radius: 0;
}
.panel-heading + .list-group .list-group-item:first-child {
border-top-width: 0;
}
.list-group + .panel-footer {
border-top-width: 0;
}
.panel > .table,
.panel > .table-responsive > .table,
.panel > .panel-collapse > .table {
margin-bottom: 0;
}
.panel > .table caption,
.panel > .table-responsive > .table caption,
.panel > .panel-collapse > .table caption {
padding-left: 15px;
padding-right: 15px;
}
.panel > .table:first-child,
.panel > .table-responsive:first-child > .table:first-child {
border-top-right-radius: 1px;
border-top-left-radius: 1px;
}
.panel > .table:first-child > thead:first-child > tr:first-child,
.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child,
.panel > .table:first-child > tbody:first-child > tr:first-child,
.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child {
border-top-left-radius: 1px;
border-top-right-radius: 1px;
}
.panel > .table:first-child > thead:first-child > tr:first-child td:first-child,
.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:first-child,
.panel > .table:first-child > tbody:first-child > tr:first-child td:first-child,
.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:first-child,
.panel > .table:first-child > thead:first-child > tr:first-child th:first-child,
.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:first-child,
.panel > .table:first-child > tbody:first-child > tr:first-child th:first-child,
.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:first-child {
border-top-left-radius: 1px;
}
.panel > .table:first-child > thead:first-child > tr:first-child td:last-child,
.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:last-child,
.panel > .table:first-child > tbody:first-child > tr:first-child td:last-child,
.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:last-child,
.panel > .table:first-child > thead:first-child > tr:first-child th:last-child,
.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:last-child,
.panel > .table:first-child > tbody:first-child > tr:first-child th:last-child,
.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:last-child {
border-top-right-radius: 1px;
}
.panel > .table:last-child,
.panel > .table-responsive:last-child > .table:last-child {
border-bottom-right-radius: 1px;
border-bottom-left-radius: 1px;
}
.panel > .table:last-child > tbody:last-child > tr:last-child,
.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child,
.panel > .table:last-child > tfoot:last-child > tr:last-child,
.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child {
border-bottom-left-radius: 1px;
border-bottom-right-radius: 1px;
}
.panel > .table:last-child > tbody:last-child > tr:last-child td:first-child,
.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:first-child,
.panel > .table:last-child > tfoot:last-child > tr:last-child td:first-child,
.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:first-child,
.panel > .table:last-child > tbody:last-child > tr:last-child th:first-child,
.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:first-child,
.panel > .table:last-child > tfoot:last-child > tr:last-child th:first-child,
.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:first-child {
border-bottom-left-radius: 1px;
}
.panel > .table:last-child > tbody:last-child > tr:last-child td:last-child,
.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:last-child,
.panel > .table:last-child > tfoot:last-child > tr:last-child td:last-child,
.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:last-child,
.panel > .table:last-child > tbody:last-child > tr:last-child th:last-child,
.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:last-child,
.panel > .table:last-child > tfoot:last-child > tr:last-child th:last-child,
.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:last-child {
border-bottom-right-radius: 1px;
}
.panel > .panel-body + .table,
.panel > .panel-body + .table-responsive,
.panel > .table + .panel-body,
.panel > .table-responsive + .panel-body {
border-top: 1px solid #ddd;
}
.panel > .table > tbody:first-child > tr:first-child th,
.panel > .table > tbody:first-child > tr:first-child td {
border-top: 0;
}
.panel > .table-bordered,
.panel > .table-responsive > .table-bordered {
border: 0;
}
.panel > .table-bordered > thead > tr > th:first-child,
.panel > .table-responsive > .table-bordered > thead > tr > th:first-child,
.panel > .table-bordered > tbody > tr > th:first-child,
.panel > .table-responsive > .table-bordered > tbody > tr > th:first-child,
.panel > .table-bordered > tfoot > tr > th:first-child,
.panel > .table-responsive > .table-bordered > tfoot > tr > th:first-child,
.panel > .table-bordered > thead > tr > td:first-child,
.panel > .table-responsive > .table-bordered > thead > tr > td:first-child,
.panel > .table-bordered > tbody > tr > td:first-child,
.panel > .table-responsive > .table-bordered > tbody > tr > td:first-child,
.panel > .table-bordered > tfoot > tr > td:first-child,
.panel > .table-responsive > .table-bordered > tfoot > tr > td:first-child {
border-left: 0;
}
.panel > .table-bordered > thead > tr > th:last-child,
.panel > .table-responsive > .table-bordered > thead > tr > th:last-child,
.panel > .table-bordered > tbody > tr > th:last-child,
.panel > .table-responsive > .table-bordered > tbody > tr > th:last-child,
.panel > .table-bordered > tfoot > tr > th:last-child,
.panel > .table-responsive > .table-bordered > tfoot > tr > th:last-child,
.panel > .table-bordered > thead > tr > td:last-child,
.panel > .table-responsive > .table-bordered > thead > tr > td:last-child,
.panel > .table-bordered > tbody > tr > td:last-child,
.panel > .table-responsive > .table-bordered > tbody > tr > td:last-child,
.panel > .table-bordered > tfoot > tr > td:last-child,
.panel > .table-responsive > .table-bordered > tfoot > tr > td:last-child {
border-right: 0;
}
.panel > .table-bordered > thead > tr:first-child > td,
.panel > .table-responsive > .table-bordered > thead > tr:first-child > td,
.panel > .table-bordered > tbody > tr:first-child > td,
.panel > .table-responsive > .table-bordered > tbody > tr:first-child > td,
.panel > .table-bordered > thead > tr:first-child > th,
.panel > .table-responsive > .table-bordered > thead > tr:first-child > th,
.panel > .table-bordered > tbody > tr:first-child > th,
.panel > .table-responsive > .table-bordered > tbody > tr:first-child > th {
border-bottom: 0;
}
.panel > .table-bordered > tbody > tr:last-child > td,
.panel > .table-responsive > .table-bordered > tbody > tr:last-child > td,
.panel > .table-bordered > tfoot > tr:last-child > td,
.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > td,
.panel > .table-bordered > tbody > tr:last-child > th,
.panel > .table-responsive > .table-bordered > tbody > tr:last-child > th,
.panel > .table-bordered > tfoot > tr:last-child > th,
.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > th {
border-bottom: 0;
}
.panel > .table-responsive {
border: 0;
margin-bottom: 0;
}
.panel-group {
margin-bottom: 18px;
}
.panel-group .panel {
margin-bottom: 0;
border-radius: 2px;
}
.panel-group .panel + .panel {
margin-top: 5px;
}
.panel-group .panel-heading {
border-bottom: 0;
}
.panel-group .panel-heading + .panel-collapse > .panel-body,
.panel-group .panel-heading + .panel-collapse > .list-group {
border-top: 1px solid #ddd;
}
.panel-group .panel-footer {
border-top: 0;
}
.panel-group .panel-footer + .panel-collapse .panel-body {
border-bottom: 1px solid #ddd;
}
.panel-default {
border-color: #ddd;
}
.panel-default > .panel-heading {
color: #333333;
background-color: #f5f5f5;
border-color: #ddd;
}
.panel-default > .panel-heading + .panel-collapse > .panel-body {
border-top-color: #ddd;
}
.panel-default > .panel-heading .badge {
color: #f5f5f5;
background-color: #333333;
}
.panel-default > .panel-footer + .panel-collapse > .panel-body {
border-bottom-color: #ddd;
}
.panel-primary {
border-color: #337ab7;
}
.panel-primary > .panel-heading {
color: #fff;
background-color: #337ab7;
border-color: #337ab7;
}
.panel-primary > .panel-heading + .panel-collapse > .panel-body {
border-top-color: #337ab7;
}
.panel-primary > .panel-heading .badge {
color: #337ab7;
background-color: #fff;
}
.panel-primary > .panel-footer + .panel-collapse > .panel-body {
border-bottom-color: #337ab7;
}
.panel-success {
border-color: #d6e9c6;
}
.panel-success > .panel-heading {
color: #3c763d;
background-color: #dff0d8;
border-color: #d6e9c6;
}
.panel-success > .panel-heading + .panel-collapse > .panel-body {
border-top-color: #d6e9c6;
}
.panel-success > .panel-heading .badge {
color: #dff0d8;
background-color: #3c763d;
}
.panel-success > .panel-footer + .panel-collapse > .panel-body {
border-bottom-color: #d6e9c6;
}
.panel-info {
border-color: #bce8f1;
}
.panel-info > .panel-heading {
color: #31708f;
background-color: #d9edf7;
border-color: #bce8f1;
}
.panel-info > .panel-heading + .panel-collapse > .panel-body {
border-top-color: #bce8f1;
}
.panel-info > .panel-heading .badge {
color: #d9edf7;
background-color: #31708f;
}
.panel-info > .panel-footer + .panel-collapse > .panel-body {
border-bottom-color: #bce8f1;
}
.panel-warning {
border-color: #faebcc;
}
.panel-warning > .panel-heading {
color: #8a6d3b;
background-color: #fcf8e3;
border-color: #faebcc;
}
.panel-warning > .panel-heading + .panel-collapse > .panel-body {
border-top-color: #faebcc;
}
.panel-warning > .panel-heading .badge {
color: #fcf8e3;
background-color: #8a6d3b;
}
.panel-warning > .panel-footer + .panel-collapse > .panel-body {
border-bottom-color: #faebcc;
}
.panel-danger {
border-color: #ebccd1;
}
.panel-danger > .panel-heading {
color: #a94442;
background-color: #f2dede;
border-color: #ebccd1;
}
.panel-danger > .panel-heading + .panel-collapse > .panel-body {
border-top-color: #ebccd1;
}
.panel-danger > .panel-heading .badge {
color: #f2dede;
background-color: #a94442;
}
.panel-danger > .panel-footer + .panel-collapse > .panel-body {
border-bottom-color: #ebccd1;
}
.embed-responsive {
position: relative;
display: block;
height: 0;
padding: 0;
overflow: hidden;
}
.embed-responsive .embed-responsive-item,
.embed-responsive iframe,
.embed-responsive embed,
.embed-responsive object,
.embed-responsive video {
position: absolute;
top: 0;
left: 0;
bottom: 0;
height: 100%;
width: 100%;
border: 0;
}
.embed-responsive-16by9 {
padding-bottom: 56.25%;
}
.embed-responsive-4by3 {
padding-bottom: 75%;
}
.well {
min-height: 20px;
padding: 19px;
margin-bottom: 20px;
background-color: #f5f5f5;
border: 1px solid #e3e3e3;
border-radius: 2px;
-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
}
.well blockquote {
border-color: #ddd;
border-color: rgba(0, 0, 0, 0.15);
}
.well-lg {
padding: 24px;
border-radius: 3px;
}
.well-sm {
padding: 9px;
border-radius: 1px;
}
.close {
float: right;
font-size: 19.5px;
font-weight: bold;
line-height: 1;
color: #000;
text-shadow: 0 1px 0 #fff;
opacity: 0.2;
filter: alpha(opacity=20);
}
.close:hover,
.close:focus {
color: #000;
text-decoration: none;
cursor: pointer;
opacity: 0.5;
filter: alpha(opacity=50);
}
button.close {
padding: 0;
cursor: pointer;
background: transparent;
border: 0;
-webkit-appearance: none;
}
.modal-open {
overflow: hidden;
}
.modal {
display: none;
overflow: hidden;
position: fixed;
top: 0;
right: 0;
bottom: 0;
left: 0;
z-index: 1050;
-webkit-overflow-scrolling: touch;
outline: 0;
}
.modal.fade .modal-dialog {
-webkit-transform: translate(0, -25%);
-ms-transform: translate(0, -25%);
-o-transform: translate(0, -25%);
transform: translate(0, -25%);
-webkit-transition: -webkit-transform 0.3s ease-out;
-moz-transition: -moz-transform 0.3s ease-out;
-o-transition: -o-transform 0.3s ease-out;
transition: transform 0.3s ease-out;
}
.modal.in .modal-dialog {
-webkit-transform: translate(0, 0);
-ms-transform: translate(0, 0);
-o-transform: translate(0, 0);
transform: translate(0, 0);
}
.modal-open .modal {
overflow-x: hidden;
overflow-y: auto;
}
.modal-dialog {
position: relative;
width: auto;
margin: 10px;
}
.modal-content {
position: relative;
background-color: #fff;
border: 1px solid #999;
border: 1px solid rgba(0, 0, 0, 0.2);
border-radius: 3px;
-webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);
box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);
background-clip: padding-box;
outline: 0;
}
.modal-backdrop {
position: fixed;
top: 0;
right: 0;
bottom: 0;
left: 0;
z-index: 1040;
background-color: #000;
}
.modal-backdrop.fade {
opacity: 0;
filter: alpha(opacity=0);
}
.modal-backdrop.in {
opacity: 0.5;
filter: alpha(opacity=50);
}
.modal-header {
padding: 15px;
border-bottom: 1px solid #e5e5e5;
}
.modal-header .close {
margin-top: -2px;
}
.modal-title {
margin: 0;
line-height: 1.42857143;
}
.modal-body {
position: relative;
padding: 15px;
}
.modal-footer {
padding: 15px;
text-align: right;
border-top: 1px solid #e5e5e5;
}
.modal-footer .btn + .btn {
margin-left: 5px;
margin-bottom: 0;
}
.modal-footer .btn-group .btn + .btn {
margin-left: -1px;
}
.modal-footer .btn-block + .btn-block {
margin-left: 0;
}
.modal-scrollbar-measure {
position: absolute;
top: -9999px;
width: 50px;
height: 50px;
overflow: scroll;
}
@media (min-width: 768px) {
.modal-dialog {
width: 600px;
margin: 30px auto;
}
.modal-content {
-webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);
box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);
}
.modal-sm {
width: 300px;
}
}
@media (min-width: 992px) {
.modal-lg {
width: 900px;
}
}
.tooltip {
position: absolute;
z-index: 1070;
display: block;
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
font-style: normal;
font-weight: normal;
letter-spacing: normal;
line-break: auto;
line-height: 1.42857143;
text-align: left;
text-align: start;
text-decoration: none;
text-shadow: none;
text-transform: none;
white-space: normal;
word-break: normal;
word-spacing: normal;
word-wrap: normal;
font-size: 12px;
opacity: 0;
filter: alpha(opacity=0);
}
.tooltip.in {
opacity: 0.9;
filter: alpha(opacity=90);
}
.tooltip.top {
margin-top: -3px;
padding: 5px 0;
}
.tooltip.right {
margin-left: 3px;
padding: 0 5px;
}
.tooltip.bottom {
margin-top: 3px;
padding: 5px 0;
}
.tooltip.left {
margin-left: -3px;
padding: 0 5px;
}
.tooltip-inner {
max-width: 200px;
padding: 3px 8px;
color: #fff;
text-align: center;
background-color: #000;
border-radius: 2px;
}
.tooltip-arrow {
position: absolute;
width: 0;
height: 0;
border-color: transparent;
border-style: solid;
}
.tooltip.top .tooltip-arrow {
bottom: 0;
left: 50%;
margin-left: -5px;
border-width: 5px 5px 0;
border-top-color: #000;
}
.tooltip.top-left .tooltip-arrow {
bottom: 0;
right: 5px;
margin-bottom: -5px;
border-width: 5px 5px 0;
border-top-color: #000;
}
.tooltip.top-right .tooltip-arrow {
bottom: 0;
left: 5px;
margin-bottom: -5px;
border-width: 5px 5px 0;
border-top-color: #000;
}
.tooltip.right .tooltip-arrow {
top: 50%;
left: 0;
margin-top: -5px;
border-width: 5px 5px 5px 0;
border-right-color: #000;
}
.tooltip.left .tooltip-arrow {
top: 50%;
right: 0;
margin-top: -5px;
border-width: 5px 0 5px 5px;
border-left-color: #000;
}
.tooltip.bottom .tooltip-arrow {
top: 0;
left: 50%;
margin-left: -5px;
border-width: 0 5px 5px;
border-bottom-color: #000;
}
.tooltip.bottom-left .tooltip-arrow {
top: 0;
right: 5px;
margin-top: -5px;
border-width: 0 5px 5px;
border-bottom-color: #000;
}
.tooltip.bottom-right .tooltip-arrow {
top: 0;
left: 5px;
margin-top: -5px;
border-width: 0 5px 5px;
border-bottom-color: #000;
}
.popover {
position: absolute;
top: 0;
left: 0;
z-index: 1060;
display: none;
max-width: 276px;
padding: 1px;
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
font-style: normal;
font-weight: normal;
letter-spacing: normal;
line-break: auto;
line-height: 1.42857143;
text-align: left;
text-align: start;
text-decoration: none;
text-shadow: none;
text-transform: none;
white-space: normal;
word-break: normal;
word-spacing: normal;
word-wrap: normal;
font-size: 13px;
background-color: #fff;
background-clip: padding-box;
border: 1px solid #ccc;
border: 1px solid rgba(0, 0, 0, 0.2);
border-radius: 3px;
-webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
}
.popover.top {
margin-top: -10px;
}
.popover.right {
margin-left: 10px;
}
.popover.bottom {
margin-top: 10px;
}
.popover.left {
margin-left: -10px;
}
.popover-title {
margin: 0;
padding: 8px 14px;
font-size: 13px;
background-color: #f7f7f7;
border-bottom: 1px solid #ebebeb;
border-radius: 2px 2px 0 0;
}
.popover-content {
padding: 9px 14px;
}
.popover > .arrow,
.popover > .arrow:after {
position: absolute;
display: block;
width: 0;
height: 0;
border-color: transparent;
border-style: solid;
}
.popover > .arrow {
border-width: 11px;
}
.popover > .arrow:after {
border-width: 10px;
content: "";
}
.popover.top > .arrow {
left: 50%;
margin-left: -11px;
border-bottom-width: 0;
border-top-color: #999999;
border-top-color: rgba(0, 0, 0, 0.25);
bottom: -11px;
}
.popover.top > .arrow:after {
content: " ";
bottom: 1px;
margin-left: -10px;
border-bottom-width: 0;
border-top-color: #fff;
}
.popover.right > .arrow {
top: 50%;
left: -11px;
margin-top: -11px;
border-left-width: 0;
border-right-color: #999999;
border-right-color: rgba(0, 0, 0, 0.25);
}
.popover.right > .arrow:after {
content: " ";
left: 1px;
bottom: -10px;
border-left-width: 0;
border-right-color: #fff;
}
.popover.bottom > .arrow {
left: 50%;
margin-left: -11px;
border-top-width: 0;
border-bottom-color: #999999;
border-bottom-color: rgba(0, 0, 0, 0.25);
top: -11px;
}
.popover.bottom > .arrow:after {
content: " ";
top: 1px;
margin-left: -10px;
border-top-width: 0;
border-bottom-color: #fff;
}
.popover.left > .arrow {
top: 50%;
right: -11px;
margin-top: -11px;
border-right-width: 0;
border-left-color: #999999;
border-left-color: rgba(0, 0, 0, 0.25);
}
.popover.left > .arrow:after {
content: " ";
right: 1px;
border-right-width: 0;
border-left-color: #fff;
bottom: -10px;
}
.carousel {
position: relative;
}
.carousel-inner {
position: relative;
overflow: hidden;
width: 100%;
}
.carousel-inner > .item {
display: none;
position: relative;
-webkit-transition: 0.6s ease-in-out left;
-o-transition: 0.6s ease-in-out left;
transition: 0.6s ease-in-out left;
}
.carousel-inner > .item > img,
.carousel-inner > .item > a > img {
line-height: 1;
}
@media all and (transform-3d), (-webkit-transform-3d) {
.carousel-inner > .item {
-webkit-transition: -webkit-transform 0.6s ease-in-out;
-moz-transition: -moz-transform 0.6s ease-in-out;
-o-transition: -o-transform 0.6s ease-in-out;
transition: transform 0.6s ease-in-out;
-webkit-backface-visibility: hidden;
-moz-backface-visibility: hidden;
backface-visibility: hidden;
-webkit-perspective: 1000px;
-moz-perspective: 1000px;
perspective: 1000px;
}
.carousel-inner > .item.next,
.carousel-inner > .item.active.right {
-webkit-transform: translate3d(100%, 0, 0);
transform: translate3d(100%, 0, 0);
left: 0;
}
.carousel-inner > .item.prev,
.carousel-inner > .item.active.left {
-webkit-transform: translate3d(-100%, 0, 0);
transform: translate3d(-100%, 0, 0);
left: 0;
}
.carousel-inner > .item.next.left,
.carousel-inner > .item.prev.right,
.carousel-inner > .item.active {
-webkit-transform: translate3d(0, 0, 0);
transform: translate3d(0, 0, 0);
left: 0;
}
}
.carousel-inner > .active,
.carousel-inner > .next,
.carousel-inner > .prev {
display: block;
}
.carousel-inner > .active {
left: 0;
}
.carousel-inner > .next,
.carousel-inner > .prev {
position: absolute;
top: 0;
width: 100%;
}
.carousel-inner > .next {
left: 100%;
}
.carousel-inner > .prev {
left: -100%;
}
.carousel-inner > .next.left,
.carousel-inner > .prev.right {
left: 0;
}
.carousel-inner > .active.left {
left: -100%;
}
.carousel-inner > .active.right {
left: 100%;
}
.carousel-control {
position: absolute;
top: 0;
left: 0;
bottom: 0;
width: 15%;
opacity: 0.5;
filter: alpha(opacity=50);
font-size: 20px;
color: #fff;
text-align: center;
text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);
background-color: rgba(0, 0, 0, 0);
}
.carousel-control.left {
background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);
background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);
background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);
background-repeat: repeat-x;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=‘#80000000‘, endColorstr=‘#00000000‘, GradientType=1);
}
.carousel-control.right {
left: auto;
right: 0;
background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);
background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);
background-image: linear-gradient(to right, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);
background-repeat: repeat-x;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=‘#00000000‘, endColorstr=‘#80000000‘, GradientType=1);
}
.carousel-control:hover,
.carousel-control:focus {
outline: 0;
color: #fff;
text-decoration: none;
opacity: 0.9;
filter: alpha(opacity=90);
}
.carousel-control .icon-prev,
.carousel-control .icon-next,
.carousel-control .glyphicon-chevron-left,
.carousel-control .glyphicon-chevron-right {
position: absolute;
top: 50%;
margin-top: -10px;
z-index: 5;
display: inline-block;
}
.carousel-control .icon-prev,
.carousel-control .glyphicon-chevron-left {
left: 50%;
margin-left: -10px;
}
.carousel-control .icon-next,
.carousel-control .glyphicon-chevron-right {
right: 50%;
margin-right: -10px;
}
.carousel-control .icon-prev,
.carousel-control .icon-next {
width: 20px;
height: 20px;
line-height: 1;
font-family: serif;
}
.carousel-control .icon-prev:before {
content: ‘\2039‘;
}
.carousel-control .icon-next:before {
content: ‘\203a‘;
}
.carousel-indicators {
position: absolute;
bottom: 10px;
left: 50%;
z-index: 15;
width: 60%;
margin-left: -30%;
padding-left: 0;
list-style: none;
text-align: center;
}
.carousel-indicators li {
display: inline-block;
width: 10px;
height: 10px;
margin: 1px;
text-indent: -999px;
border: 1px solid #fff;
border-radius: 10px;
cursor: pointer;
background-color: #000 \9;
background-color: rgba(0, 0, 0, 0);
}
.carousel-indicators .active {
margin: 0;
width: 12px;
height: 12px;
background-color: #fff;
}
.carousel-caption {
position: absolute;
left: 15%;
right: 15%;
bottom: 20px;
z-index: 10;
padding-top: 20px;
padding-bottom: 20px;
color: #fff;
text-align: center;
text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);
}
.carousel-caption .btn {
text-shadow: none;
}
@media screen and (min-width: 768px) {
.carousel-control .glyphicon-chevron-left,
.carousel-control .glyphicon-chevron-right,
.carousel-control .icon-prev,
.carousel-control .icon-next {
width: 30px;
height: 30px;
margin-top: -10px;
font-size: 30px;
}
.carousel-control .glyphicon-chevron-left,
.carousel-control .icon-prev {
margin-left: -10px;
}
.carousel-control .glyphicon-chevron-right,
.carousel-control .icon-next {
margin-right: -10px;
}
.carousel-caption {
left: 20%;
right: 20%;
padding-bottom: 30px;
}
.carousel-indicators {
bottom: 20px;
}
}
.clearfix:before,
.clearfix:after,
.dl-horizontal dd:before,
.dl-horizontal dd:after,
.container:before,
.container:after,
.container-fluid:before,
.container-fluid:after,
.row:before,
.row:after,
.form-horizontal .form-group:before,
.form-horizontal .form-group:after,
.btn-toolbar:before,
.btn-toolbar:after,
.btn-group-vertical > .btn-group:before,
.btn-group-vertical > .btn-group:after,
.nav:before,
.nav:after,
.navbar:before,
.navbar:after,
.navbar-header:before,
.navbar-header:after,
.navbar-collapse:before,
.navbar-collapse:after,
.pager:before,
.pager:after,
.panel-body:before,
.panel-body:after,
.modal-header:before,
.modal-header:after,
.modal-footer:before,
.modal-footer:after,
.item_buttons:before,
.item_buttons:after {
content: " ";
display: table;
}
.clearfix:after,
.dl-horizontal dd:after,
.container:after,
.container-fluid:after,
.row:after,
.form-horizontal .form-group:after,
.btn-toolbar:after,
.btn-group-vertical > .btn-group:after,
.nav:after,
.navbar:after,
.navbar-header:after,
.navbar-collapse:after,
.pager:after,
.panel-body:after,
.modal-header:after,
.modal-footer:after,
.item_buttons:after {
clear: both;
}
.center-block {
display: block;
margin-left: auto;
margin-right: auto;
}
.pull-right {
float: right !important;
}
.pull-left {
float: left !important;
}
.hide {
display: none !important;
}
.show {
display: block !important;
}
.invisible {
visibility: hidden;
}
.text-hide {
font: 0/0 a;
color: transparent;
text-shadow: none;
background-color: transparent;
border: 0;
}
.hidden {
display: none !important;
}
.affix {
position: fixed;
}
@-ms-viewport {
width: device-width;
}
.visible-xs,
.visible-sm,
.visible-md,
.visible-lg {
display: none !important;
}
.visible-xs-block,
.visible-xs-inline,
.visible-xs-inline-block,
.visible-sm-block,
.visible-sm-inline,
.visible-sm-inline-block,
.visible-md-block,
.visible-md-inline,
.visible-md-inline-block,
.visible-lg-block,
.visible-lg-inline,
.visible-lg-inline-block {
display: none !important;
}
@media (max-width: 767px) {
.visible-xs {
display: block !important;
}
table.visible-xs {
display: table !important;
}
tr.visible-xs {
display: table-row !important;
}
th.visible-xs,
td.visible-xs {
display: table-cell !important;
}
}
@media (max-width: 767px) {
.visible-xs-block {
display: block !important;
}
}
@media (max-width: 767px) {
.visible-xs-inline {
display: inline !important;
}
}
@media (max-width: 767px) {
.visible-xs-inline-block {
display: inline-block !important;
}
}
@media (min-width: 768px) and (max-width: 991px) {
.visible-sm {
display: block !important;
}
table.visible-sm {
display: table !important;
}
tr.visible-sm {
display: table-row !important;
}
th.visible-sm,
td.visible-sm {
display: table-cell !important;
}
}
@media (min-width: 768px) and (max-width: 991px) {
.visible-sm-block {
display: block !important;
}
}
@media (min-width: 768px) and (max-width: 991px) {
.visible-sm-inline {
display: inline !important;
}
}
@media (min-width: 768px) and (max-width: 991px) {
.visible-sm-inline-block {
display: inline-block !important;
}
}
@media (min-width: 992px) and (max-width: 1199px) {
.visible-md {
display: block !important;
}
table.visible-md {
display: table !important;
}
tr.visible-md {
display: table-row !important;
}
th.visible-md,
td.visible-md {
display: table-cell !important;
}
}
@media (min-width: 992px) and (max-width: 1199px) {
.visible-md-block {
display: block !important;
}
}
@media (min-width: 992px) and (max-width: 1199px) {
.visible-md-inline {
display: inline !important;
}
}
@media (min-width: 992px) and (max-width: 1199px) {
.visible-md-inline-block {
display: inline-block !important;
}
}
@media (min-width: 1200px) {
.visible-lg {
display: block !important;
}
table.visible-lg {
display: table !important;
}
tr.visible-lg {
display: table-row !important;
}
th.visible-lg,
td.visible-lg {
display: table-cell !important;
}
}
@media (min-width: 1200px) {
.visible-lg-block {
display: block !important;
}
}
@media (min-width: 1200px) {
.visible-lg-inline {
display: inline !important;
}
}
@media (min-width: 1200px) {
.visible-lg-inline-block {
display: inline-block !important;
}
}
@media (max-width: 767px) {
.hidden-xs {
display: none !important;
}
}
@media (min-width: 768px) and (max-width: 991px) {
.hidden-sm {
display: none !important;
}
}
@media (min-width: 992px) and (max-width: 1199px) {
.hidden-md {
display: none !important;
}
}
@media (min-width: 1200px) {
.hidden-lg {
display: none !important;
}
}
.visible-print {
display: none !important;
}
@media print {
.visible-print {
display: block !important;
}
table.visible-print {
display: table !important;
}
tr.visible-print {
display: table-row !important;
}
th.visible-print,
td.visible-print {
display: table-cell !important;
}
}
.visible-print-block {
display: none !important;
}
@media print {
.visible-print-block {
display: block !important;
}
}
.visible-print-inline {
display: none !important;
}
@media print {
.visible-print-inline {
display: inline !important;
}
}
.visible-print-inline-block {
display: none !important;
}
@media print {
.visible-print-inline-block {
display: inline-block !important;
}
}
@media print {
.hidden-print {
display: none !important;
}
}
/*!
*
* Font Awesome
*
*/
/*!
* Font Awesome 4.2.0 by @davegandy - http://fontawesome.io - @fontawesome
* License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)
*/
/* FONT PATH
* -------------------------- */
@font-face {
font-family: ‘FontAwesome‘;
src: url(‘../components/font-awesome/fonts/fontawesome-webfont.eot?v=4.2.0‘);
src: url(‘../components/font-awesome/fonts/fontawesome-webfont.eot?#iefix&v=4.2.0‘) format(‘embedded-opentype‘), url(‘../components/font-awesome/fonts/fontawesome-webfont.woff?v=4.2.0‘) format(‘woff‘), url(‘../components/font-awesome/fonts/fontawesome-webfont.ttf?v=4.2.0‘) format(‘truetype‘), url(‘../components/font-awesome/fonts/fontawesome-webfont.svg?v=4.2.0#fontawesomeregular‘) format(‘svg‘);
font-weight: normal;
font-style: normal;
}
.fa {
display: inline-block;
font: normal normal normal 14px/1 FontAwesome;
font-size: inherit;
text-rendering: auto;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
/* makes the font 33% larger relative to the icon container */
.fa-lg {
font-size: 1.33333333em;
line-height: 0.75em;
vertical-align: -15%;
}
.fa-2x {
font-size: 2em;
}
.fa-3x {
font-size: 3em;
}
.fa-4x {
font-size: 4em;
}
.fa-5x {
font-size: 5em;
}
.fa-fw {
width: 1.28571429em;
text-align: center;
}
.fa-ul {
padding-left: 0;
margin-left: 2.14285714em;
list-style-type: none;
}
.fa-ul > li {
position: relative;
}
.fa-li {
position: absolute;
left: -2.14285714em;
width: 2.14285714em;
top: 0.14285714em;
text-align: center;
}
.fa-li.fa-lg {
left: -1.85714286em;
}
.fa-border {
padding: .2em .25em .15em;
border: solid 0.08em #eee;
border-radius: .1em;
}
.pull-right {
float: right;
}
.pull-left {
float: left;
}
.fa.pull-left {
margin-right: .3em;
}
.fa.pull-right {
margin-left: .3em;
}
.fa-spin {
-webkit-animation: fa-spin 2s infinite linear;
animation: fa-spin 2s infinite linear;
}
@-webkit-keyframes fa-spin {
0% {
-webkit-transform: rotate(0deg);
transform: rotate(0deg);
}
100% {
-webkit-transform: rotate(359deg);
transform: rotate(359deg);
}
}
@keyframes fa-spin {
0% {
-webkit-transform: rotate(0deg);
transform: rotate(0deg);
}
100% {
-webkit-transform: rotate(359deg);
transform: rotate(359deg);
}
}
.fa-rotate-90 {
filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=1);
-webkit-transform: rotate(90deg);
-ms-transform: rotate(90deg);
transform: rotate(90deg);
}
.fa-rotate-180 {
filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2);
-webkit-transform: rotate(180deg);
-ms-transform: rotate(180deg);
transform: rotate(180deg);
}
.fa-rotate-270 {
filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3);
-webkit-transform: rotate(270deg);
-ms-transform: rotate(270deg);
transform: rotate(270deg);
}
.fa-flip-horizontal {
filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1);
-webkit-transform: scale(-1, 1);
-ms-transform: scale(-1, 1);
transform: scale(-1, 1);
}
.fa-flip-vertical {
filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1);
-webkit-transform: scale(1, -1);
-ms-transform: scale(1, -1);
transform: scale(1, -1);
}
:root .fa-rotate-90,
:root .fa-rotate-180,
:root .fa-rotate-270,
:root .fa-flip-horizontal,
:root .fa-flip-vertical {
filter: none;
}
.fa-stack {
position: relative;
display: inline-block;
width: 2em;
height: 2em;
line-height: 2em;
vertical-align: middle;
}
.fa-stack-1x,
.fa-stack-2x {
position: absolute;
left: 0;
width: 100%;
text-align: center;
}
.fa-stack-1x {
line-height: inherit;
}
.fa-stack-2x {
font-size: 2em;
}
.fa-inverse {
color: #fff;
}
/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen
readers do not read off random characters that represent icons */
.fa-glass:before {
content: "\f000";
}
.fa-music:before {
content: "\f001";
}
.fa-search:before {
content: "\f002";
}
.fa-envelope-o:before {
content: "\f003";
}
.fa-heart:before {
content: "\f004";
}
.fa-star:before {
content: "\f005";
}
.fa-star-o:before {
content: "\f006";
}
.fa-user:before {
content: "\f007";
}
.fa-film:before {
content: "\f008";
}
.fa-th-large:before {
content: "\f009";
}
.fa-th:before {
content: "\f00a";
}
.fa-th-list:before {
content: "\f00b";
}
.fa-check:before {
content: "\f00c";
}
.fa-remove:before,
.fa-close:before,
.fa-times:before {
content: "\f00d";
}
.fa-search-plus:before {
content: "\f00e";
}
.fa-search-minus:before {
content: "\f010";
}
.fa-power-off:before {
content: "\f011";
}
.fa-signal:before {
content: "\f012";
}
.fa-gear:before,
.fa-cog:before {
content: "\f013";
}
.fa-trash-o:before {
content: "\f014";
}
.fa-home:before {
content: "\f015";
}
.fa-file-o:before {
content: "\f016";
}
.fa-clock-o:before {
content: "\f017";
}
.fa-road:before {
content: "\f018";
}
.fa-download:before {
content: "\f019";
}
.fa-arrow-circle-o-down:before {
content: "\f01a";
}
.fa-arrow-circle-o-up:before {
content: "\f01b";
}
.fa-inbox:before {
content: "\f01c";
}
.fa-play-circle-o:before {
content: "\f01d";
}
.fa-rotate-right:before,
.fa-repeat:before {
content: "\f01e";
}
.fa-refresh:before {
content: "\f021";
}
.fa-list-alt:before {
content: "\f022";
}
.fa-lock:before {
content: "\f023";
}
.fa-flag:before {
content: "\f024";
}
.fa-headphones:before {
content: "\f025";
}
.fa-volume-off:before {
content: "\f026";
}
.fa-volume-down:before {
content: "\f027";
}
.fa-volume-up:before {
content: "\f028";
}
.fa-qrcode:before {
content: "\f029";
}
.fa-barcode:before {
content: "\f02a";
}
.fa-tag:before {
content: "\f02b";
}
.fa-tags:before {
content: "\f02c";
}
.fa-book:before {
content: "\f02d";
}
.fa-bookmark:before {
content: "\f02e";
}
.fa-print:before {
content: "\f02f";
}
.fa-camera:before {
content: "\f030";
}
.fa-font:before {
content: "\f031";
}
.fa-bold:before {
content: "\f032";
}
.fa-italic:before {
content: "\f033";
}
.fa-text-height:before {
content: "\f034";
}
.fa-text-width:before {
content: "\f035";
}
.fa-align-left:before {
content: "\f036";
}
.fa-align-center:before {
content: "\f037";
}
.fa-align-right:before {
content: "\f038";
}
.fa-align-justify:before {
content: "\f039";
}
.fa-list:before {
content: "\f03a";
}
.fa-dedent:before,
.fa-outdent:before {
content: "\f03b";
}
.fa-indent:before {
content: "\f03c";
}
.fa-video-camera:before {
content: "\f03d";
}
.fa-photo:before,
.fa-image:before,
.fa-picture-o:before {
content: "\f03e";
}
.fa-pencil:before {
content: "\f040";
}
.fa-map-marker:before {
content: "\f041";
}
.fa-adjust:before {
content: "\f042";
}
.fa-tint:before {
content: "\f043";
}
.fa-edit:before,
.fa-pencil-square-o:before {
content: "\f044";
}
.fa-share-square-o:before {
content: "\f045";
}
.fa-check-square-o:before {
content: "\f046";
}
.fa-arrows:before {
content: "\f047";
}
.fa-step-backward:before {
content: "\f048";
}
.fa-fast-backward:before {
content: "\f049";
}
.fa-backward:before {
content: "\f04a";
}
.fa-play:before {
content: "\f04b";
}
.fa-pause:before {
content: "\f04c";
}
.fa-stop:before {
content: "\f04d";
}
.fa-forward:before {
content: "\f04e";
}
.fa-fast-forward:before {
content: "\f050";
}
.fa-step-forward:before {
content: "\f051";
}
.fa-eject:before {
content: "\f052";
}
.fa-chevron-left:before {
content: "\f053";
}
.fa-chevron-right:before {
content: "\f054";
}
.fa-plus-circle:before {
content: "\f055";
}
.fa-minus-circle:before {
content: "\f056";
}
.fa-times-circle:before {
content: "\f057";
}
.fa-check-circle:before {
content: "\f058";
}
.fa-question-circle:before {
content: "\f059";
}
.fa-info-circle:before {
content: "\f05a";
}
.fa-crosshairs:before {
content: "\f05b";
}
.fa-times-circle-o:before {
content: "\f05c";
}
.fa-check-circle-o:before {
content: "\f05d";
}
.fa-ban:before {
content: "\f05e";
}
.fa-arrow-left:before {
content: "\f060";
}
.fa-arrow-right:before {
content: "\f061";
}
.fa-arrow-up:before {
content: "\f062";
}
.fa-arrow-down:before {
content: "\f063";
}
.fa-mail-forward:before,
.fa-share:before {
content: "\f064";
}
.fa-expand:before {
content: "\f065";
}
.fa-compress:before {
content: "\f066";
}
.fa-plus:before {
content: "\f067";
}
.fa-minus:before {
content: "\f068";
}
.fa-asterisk:before {
content: "\f069";
}
.fa-exclamation-circle:before {
content: "\f06a";
}
.fa-gift:before {
content: "\f06b";
}
.fa-leaf:before {
content: "\f06c";
}
.fa-fire:before {
content: "\f06d";
}
.fa-eye:before {
content: "\f06e";
}
.fa-eye-slash:before {
content: "\f070";
}
.fa-warning:before,
.fa-exclamation-triangle:before {
content: "\f071";
}
.fa-plane:before {
content: "\f072";
}
.fa-calendar:before {
content: "\f073";
}
.fa-random:before {
content: "\f074";
}
.fa-comment:before {
content: "\f075";
}
.fa-magnet:before {
content: "\f076";
}
.fa-chevron-up:before {
content: "\f077";
}
.fa-chevron-down:before {
content: "\f078";
}
.fa-retweet:before {
content: "\f079";
}
.fa-shopping-cart:before {
content: "\f07a";
}
.fa-folder:before {
content: "\f07b";
}
.fa-folder-open:before {
content: "\f07c";
}
.fa-arrows-v:before {
content: "\f07d";
}
.fa-arrows-h:before {
content: "\f07e";
}
.fa-bar-chart-o:before,
.fa-bar-chart:before {
content: "\f080";
}
.fa-twitter-square:before {
content: "\f081";
}
.fa-facebook-square:before {
content: "\f082";
}
.fa-camera-retro:before {
content: "\f083";
}
.fa-key:before {
content: "\f084";
}
.fa-gears:before,
.fa-cogs:before {
content: "\f085";
}
.fa-comments:before {
content: "\f086";
}
.fa-thumbs-o-up:before {
content: "\f087";
}
.fa-thumbs-o-down:before {
content: "\f088";
}
.fa-star-half:before {
content: "\f089";
}
.fa-heart-o:before {
content: "\f08a";
}
.fa-sign-out:before {
content: "\f08b";
}
.fa-linkedin-square:before {
content: "\f08c";
}
.fa-thumb-tack:before {
content: "\f08d";
}
.fa-external-link:before {
content: "\f08e";
}
.fa-sign-in:before {
content: "\f090";
}
.fa-trophy:before {
content: "\f091";
}
.fa-github-square:before {
content: "\f092";
}
.fa-upload:before {
content: "\f093";
}
.fa-lemon-o:before {
content: "\f094";
}
.fa-phone:before {
content: "\f095";
}
.fa-square-o:before {
content: "\f096";
}
.fa-bookmark-o:before {
content: "\f097";
}
.fa-phone-square:before {
content: "\f098";
}
.fa-twitter:before {
content: "\f099";
}
.fa-facebook:before {
content: "\f09a";
}
.fa-github:before {
content: "\f09b";
}
.fa-unlock:before {
content: "\f09c";
}
.fa-credit-card:before {
content: "\f09d";
}
.fa-rss:before {
content: "\f09e";
}
.fa-hdd-o:before {
content: "\f0a0";
}
.fa-bullhorn:before {
content: "\f0a1";
}
.fa-bell:before {
content: "\f0f3";
}
.fa-certificate:before {
content: "\f0a3";
}
.fa-hand-o-right:before {
content: "\f0a4";
}
.fa-hand-o-left:before {
content: "\f0a5";
}
.fa-hand-o-up:before {
content: "\f0a6";
}
.fa-hand-o-down:before {
content: "\f0a7";
}
.fa-arrow-circle-left:before {
content: "\f0a8";
}
.fa-arrow-circle-right:before {
content: "\f0a9";
}
.fa-arrow-circle-up:before {
content: "\f0aa";
}
.fa-arrow-circle-down:before {
content: "\f0ab";
}
.fa-globe:before {
content: "\f0ac";
}
.fa-wrench:before {
content: "\f0ad";
}
.fa-tasks:before {
content: "\f0ae";
}
.fa-filter:before {
content: "\f0b0";
}
.fa-briefcase:before {
content: "\f0b1";
}
.fa-arrows-alt:before {
content: "\f0b2";
}
.fa-group:before,
.fa-users:before {
content: "\f0c0";
}
.fa-chain:before,
.fa-link:before {
content: "\f0c1";
}
.fa-cloud:before {
content: "\f0c2";
}
.fa-flask:before {
content: "\f0c3";
}
.fa-cut:before,
.fa-scissors:before {
content: "\f0c4";
}
.fa-copy:before,
.fa-files-o:before {
content: "\f0c5";
}
.fa-paperclip:before {
content: "\f0c6";
}
.fa-save:before,
.fa-floppy-o:before {
content: "\f0c7";
}
.fa-square:before {
content: "\f0c8";
}
.fa-navicon:before,
.fa-reorder:before,
.fa-bars:before {
content: "\f0c9";
}
.fa-list-ul:before {
content: "\f0ca";
}
.fa-list-ol:before {
content: "\f0cb";
}
.fa-strikethrough:before {
content: "\f0cc";
}
.fa-underline:before {
content: "\f0cd";
}
.fa-table:before {
content: "\f0ce";
}
.fa-magic:before {
content: "\f0d0";
}
.fa-truck:before {
content: "\f0d1";
}
.fa-pinterest:before {
content: "\f0d2";
}
.fa-pinterest-square:before {
content: "\f0d3";
}
.fa-google-plus-square:before {
content: "\f0d4";
}
.fa-google-plus:before {
content: "\f0d5";
}
.fa-money:before {
content: "\f0d6";
}
.fa-caret-down:before {
content: "\f0d7";
}
.fa-caret-up:before {
content: "\f0d8";
}
.fa-caret-left:before {
content: "\f0d9";
}
.fa-caret-right:before {
content: "\f0da";
}
.fa-columns:before {
content: "\f0db";
}
.fa-unsorted:before,
.fa-sort:before {
content: "\f0dc";
}
.fa-sort-down:before,
.fa-sort-desc:before {
content: "\f0dd";
}
.fa-sort-up:before,
.fa-sort-asc:before {
content: "\f0de";
}
.fa-envelope:before {
content: "\f0e0";
}
.fa-linkedin:before {
content: "\f0e1";
}
.fa-rotate-left:before,
.fa-undo:before {
content: "\f0e2";
}
.fa-legal:before,
.fa-gavel:before {
content: "\f0e3";
}
.fa-dashboard:before,
.fa-tachometer:before {
content: "\f0e4";
}
.fa-comment-o:before {
content: "\f0e5";
}
.fa-comments-o:before {
content: "\f0e6";
}
.fa-flash:before,
.fa-bolt:before {
content: "\f0e7";
}
.fa-sitemap:before {
content: "\f0e8";
}
.fa-umbrella:before {
content: "\f0e9";
}
.fa-paste:before,
.fa-clipboard:before {
content: "\f0ea";
}
.fa-lightbulb-o:before {
content: "\f0eb";
}
.fa-exchange:before {
content: "\f0ec";
}
.fa-cloud-download:before {
content: "\f0ed";
}
.fa-cloud-upload:before {
content: "\f0ee";
}
.fa-user-md:before {
content: "\f0f0";
}
.fa-stethoscope:before {
content: "\f0f1";
}
.fa-suitcase:before {
content: "\f0f2";
}
.fa-bell-o:before {
content: "\f0a2";
}
.fa-coffee:before {
content: "\f0f4";
}
.fa-cutlery:before {
content: "\f0f5";
}
.fa-file-text-o:before {
content: "\f0f6";
}
.fa-building-o:before {
content: "\f0f7";
}
.fa-hospital-o:before {
content: "\f0f8";
}
.fa-ambulance:before {
content: "\f0f9";
}
.fa-medkit:before {
content: "\f0fa";
}
.fa-fighter-jet:before {
content: "\f0fb";
}
.fa-beer:before {
content: "\f0fc";
}
.fa-h-square:before {
content: "\f0fd";
}
.fa-plus-square:before {
content: "\f0fe";
}
.fa-angle-double-left:before {
content: "\f100";
}
.fa-angle-double-right:before {
content: "\f101";
}
.fa-angle-double-up:before {
content: "\f102";
}
.fa-angle-double-down:before {
content: "\f103";
}
.fa-angle-left:before {
content: "\f104";
}
.fa-angle-right:before {
content: "\f105";
}
.fa-angle-up:before {
content: "\f106";
}
.fa-angle-down:before {
content: "\f107";
}
.fa-desktop:before {
content: "\f108";
}
.fa-laptop:before {
content: "\f109";
}
.fa-tablet:before {
content: "\f10a";
}
.fa-mobile-phone:before,
.fa-mobile:before {
content: "\f10b";
}
.fa-circle-o:before {
content: "\f10c";
}
.fa-quote-left:before {
content: "\f10d";
}
.fa-quote-right:before {
content: "\f10e";
}
.fa-spinner:before {
content: "\f110";
}
.fa-circle:before {
content: "\f111";
}
.fa-mail-reply:before,
.fa-reply:before {
content: "\f112";
}
.fa-github-alt:before {
content: "\f113";
}
.fa-folder-o:before {
content: "\f114";
}
.fa-folder-open-o:before {
content: "\f115";
}
.fa-smile-o:before {
content: "\f118";
}
.fa-frown-o:before {
content: "\f119";
}
.fa-meh-o:before {
content: "\f11a";
}
.fa-gamepad:before {
content: "\f11b";
}
.fa-keyboard-o:before {
content: "\f11c";
}
.fa-flag-o:before {
content: "\f11d";
}
.fa-flag-checkered:before {
content: "\f11e";
}
.fa-terminal:before {
content: "\f120";
}
.fa-code:before {
content: "\f121";
}
.fa-mail-reply-all:before,
.fa-reply-all:before {
content: "\f122";
}
.fa-star-half-empty:before,
.fa-star-half-full:before,
.fa-star-half-o:before {
content: "\f123";
}
.fa-location-arrow:before {
content: "\f124";
}
.fa-crop:before {
content: "\f125";
}
.fa-code-fork:before {
content: "\f126";
}
.fa-unlink:before,
.fa-chain-broken:before {
content: "\f127";
}
.fa-question:before {
content: "\f128";
}
.fa-info:before {
content: "\f129";
}
.fa-exclamation:before {
content: "\f12a";
}
.fa-superscript:before {
content: "\f12b";
}
.fa-subscript:before {
content: "\f12c";
}
.fa-eraser:before {
content: "\f12d";
}
.fa-puzzle-piece:before {
content: "\f12e";
}
.fa-microphone:before {
content: "\f130";
}
.fa-microphone-slash:before {
content: "\f131";
}
.fa-shield:before {
content: "\f132";
}
.fa-calendar-o:before {
content: "\f133";
}
.fa-fire-extinguisher:before {
content: "\f134";
}
.fa-rocket:before {
content: "\f135";
}
.fa-maxcdn:before {
content: "\f136";
}
.fa-chevron-circle-left:before {
content: "\f137";
}
.fa-chevron-circle-right:before {
content: "\f138";
}
.fa-chevron-circle-up:before {
content: "\f139";
}
.fa-chevron-circle-down:before {
content: "\f13a";
}
.fa-html5:before {
content: "\f13b";
}
.fa-css3:before {
content: "\f13c";
}
.fa-anchor:before {
content: "\f13d";
}
.fa-unlock-alt:before {
content: "\f13e";
}
.fa-bullseye:before {
content: "\f140";
}
.fa-ellipsis-h:before {
content: "\f141";
}
.fa-ellipsis-v:before {
content: "\f142";
}
.fa-rss-square:before {
content: "\f143";
}
.fa-play-circle:before {
content: "\f144";
}
.fa-ticket:before {
content: "\f145";
}
.fa-minus-square:before {
content: "\f146";
}
.fa-minus-square-o:before {
content: "\f147";
}
.fa-level-up:before {
content: "\f148";
}
.fa-level-down:before {
content: "\f149";
}
.fa-check-square:before {
content: "\f14a";
}
.fa-pencil-square:before {
content: "\f14b";
}
.fa-external-link-square:before {
content: "\f14c";
}
.fa-share-square:before {
content: "\f14d";
}
.fa-compass:before {
content: "\f14e";
}
.fa-toggle-down:before,
.fa-caret-square-o-down:before {
content: "\f150";
}
.fa-toggle-up:before,
.fa-caret-square-o-up:before {
content: "\f151";
}
.fa-toggle-right:before,
.fa-caret-square-o-right:before {
content: "\f152";
}
.fa-euro:before,
.fa-eur:before {
content: "\f153";
}
.fa-gbp:before {
content: "\f154";
}
.fa-dollar:before,
.fa-usd:before {
content: "\f155";
}
.fa-rupee:before,
.fa-inr:before {
content: "\f156";
}
.fa-cny:before,
.fa-rmb:before,
.fa-yen:before,
.fa-jpy:before {
content: "\f157";
}
.fa-ruble:before,
.fa-rouble:before,
.fa-rub:before {
content: "\f158";
}
.fa-won:before,
.fa-krw:before {
content: "\f159";
}
.fa-bitcoin:before,
.fa-btc:before {
content: "\f15a";
}
.fa-file:before {
content: "\f15b";
}
.fa-file-text:before {
content: "\f15c";
}
.fa-sort-alpha-asc:before {
content: "\f15d";
}
.fa-sort-alpha-desc:before {
content: "\f15e";
}
.fa-sort-amount-asc:before {
content: "\f160";
}
.fa-sort-amount-desc:before {
content: "\f161";
}
.fa-sort-numeric-asc:before {
content: "\f162";
}
.fa-sort-numeric-desc:before {
content: "\f163";
}
.fa-thumbs-up:before {
content: "\f164";
}
.fa-thumbs-down:before {
content: "\f165";
}
.fa-youtube-square:before {
content: "\f166";
}
.fa-youtube:before {
content: "\f167";
}
.fa-xing:before {
content: "\f168";
}
.fa-xing-square:before {
content: "\f169";
}
.fa-youtube-play:before {
content: "\f16a";
}
.fa-dropbox:before {
content: "\f16b";
}
.fa-stack-overflow:before {
content: "\f16c";
}
.fa-instagram:before {
content: "\f16d";
}
.fa-flickr:before {
content: "\f16e";
}
.fa-adn:before {
content: "\f170";
}
.fa-bitbucket:before {
content: "\f171";
}
.fa-bitbucket-square:before {
content: "\f172";
}
.fa-tumblr:before {
content: "\f173";
}
.fa-tumblr-square:before {
content: "\f174";
}
.fa-long-arrow-down:before {
content: "\f175";
}
.fa-long-arrow-up:before {
content: "\f176";
}
.fa-long-arrow-left:before {
content: "\f177";
}
.fa-long-arrow-right:before {
content: "\f178";
}
.fa-apple:before {
content: "\f179";
}
.fa-windows:before {
content: "\f17a";
}
.fa-android:before {
content: "\f17b";
}
.fa-linux:before {
content: "\f17c";
}
.fa-dribbble:before {
content: "\f17d";
}
.fa-skype:before {
content: "\f17e";
}
.fa-foursquare:before {
content: "\f180";
}
.fa-trello:before {
content: "\f181";
}
.fa-female:before {
content: "\f182";
}
.fa-male:before {
content: "\f183";
}
.fa-gittip:before {
content: "\f184";
}
.fa-sun-o:before {
content: "\f185";
}
.fa-moon-o:before {
content: "\f186";
}
.fa-archive:before {
content: "\f187";
}
.fa-bug:before {
content: "\f188";
}
.fa-vk:before {
content: "\f189";
}
.fa-weibo:before {
content: "\f18a";
}
.fa-renren:before {
content: "\f18b";
}
.fa-pagelines:before {
content: "\f18c";
}
.fa-stack-exchange:before {
content: "\f18d";
}
.fa-arrow-circle-o-right:before {
content: "\f18e";
}
.fa-arrow-circle-o-left:before {
content: "\f190";
}
.fa-toggle-left:before,
.fa-caret-square-o-left:before {
content: "\f191";
}
.fa-dot-circle-o:before {
content: "\f192";
}
.fa-wheelchair:before {
content: "\f193";
}
.fa-vimeo-square:before {
content: "\f194";
}
.fa-turkish-lira:before,
.fa-try:before {
content: "\f195";
}
.fa-plus-square-o:before {
content: "\f196";
}
.fa-space-shuttle:before {
content: "\f197";
}
.fa-slack:before {
content: "\f198";
}
.fa-envelope-square:before {
content: "\f199";
}
.fa-wordpress:before {
content: "\f19a";
}
.fa-openid:before {
content: "\f19b";
}
.fa-institution:before,
.fa-bank:before,
.fa-university:before {
content: "\f19c";
}
.fa-mortar-board:before,
.fa-graduation-cap:before {
content: "\f19d";
}
.fa-yahoo:before {
content: "\f19e";
}
.fa-google:before {
content: "\f1a0";
}
.fa-reddit:before {
content: "\f1a1";
}
.fa-reddit-square:before {
content: "\f1a2";
}
.fa-stumbleupon-circle:before {
content: "\f1a3";
}
.fa-stumbleupon:before {
content: "\f1a4";
}
.fa-delicious:before {
content: "\f1a5";
}
.fa-digg:before {
content: "\f1a6";
}
.fa-pied-piper:before {
content: "\f1a7";
}
.fa-pied-piper-alt:before {
content: "\f1a8";
}
.fa-drupal:before {
content: "\f1a9";
}
.fa-joomla:before {
content: "\f1aa";
}
.fa-language:before {
content: "\f1ab";
}
.fa-fax:before {
content: "\f1ac";
}
.fa-building:before {
content: "\f1ad";
}
.fa-child:before {
content: "\f1ae";
}
.fa-paw:before {
content: "\f1b0";
}
.fa-spoon:before {
content: "\f1b1";
}
.fa-cube:before {
content: "\f1b2";
}
.fa-cubes:before {
content: "\f1b3";
}
.fa-behance:before {
content: "\f1b4";
}
.fa-behance-square:before {
content: "\f1b5";
}
.fa-steam:before {
content: "\f1b6";
}
.fa-steam-square:before {
content: "\f1b7";
}
.fa-recycle:before {
content: "\f1b8";
}
.fa-automobile:before,
.fa-car:before {
content: "\f1b9";
}
.fa-cab:before,
.fa-taxi:before {
content: "\f1ba";
}
.fa-tree:before {
content: "\f1bb";
}
.fa-spotify:before {
content: "\f1bc";
}
.fa-deviantart:before {
content: "\f1bd";
}
.fa-soundcloud:before {
content: "\f1be";
}
.fa-database:before {
content: "\f1c0";
}
.fa-file-pdf-o:before {
content: "\f1c1";
}
.fa-file-word-o:before {
content: "\f1c2";
}
.fa-file-excel-o:before {
content: "\f1c3";
}
.fa-file-powerpoint-o:before {
content: "\f1c4";
}
.fa-file-photo-o:before,
.fa-file-picture-o:before,
.fa-file-image-o:before {
content: "\f1c5";
}
.fa-file-zip-o:before,
.fa-file-archive-o:before {
content: "\f1c6";
}
.fa-file-sound-o:before,
.fa-file-audio-o:before {
content: "\f1c7";
}
.fa-file-movie-o:before,
.fa-file-video-o:before {
content: "\f1c8";
}
.fa-file-code-o:before {
content: "\f1c9";
}
.fa-vine:before {
content: "\f1ca";
}
.fa-codepen:before {
content: "\f1cb";
}
.fa-jsfiddle:before {
content: "\f1cc";
}
.fa-life-bouy:before,
.fa-life-buoy:before,
.fa-life-saver:before,
.fa-support:before,
.fa-life-ring:before {
content: "\f1cd";
}
.fa-circle-o-notch:before {
content: "\f1ce";
}
.fa-ra:before,
.fa-rebel:before {
content: "\f1d0";
}
.fa-ge:before,
.fa-empire:before {
content: "\f1d1";
}
.fa-git-square:before {
content: "\f1d2";
}
.fa-git:before {
content: "\f1d3";
}
.fa-hacker-news:before {
content: "\f1d4";
}
.fa-tencent-weibo:before {
content: "\f1d5";
}
.fa-qq:before {
content: "\f1d6";
}
.fa-wechat:before,
.fa-weixin:before {
content: "\f1d7";
}
.fa-send:before,
.fa-paper-plane:before {
content: "\f1d8";
}
.fa-send-o:before,
.fa-paper-plane-o:before {
content: "\f1d9";
}
.fa-history:before {
content: "\f1da";
}
.fa-circle-thin:before {
content: "\f1db";
}
.fa-header:before {
content: "\f1dc";
}
.fa-paragraph:before {
content: "\f1dd";
}
.fa-sliders:before {
content: "\f1de";
}
.fa-share-alt:before {
content: "\f1e0";
}
.fa-share-alt-square:before {
content: "\f1e1";
}
.fa-bomb:before {
content: "\f1e2";
}
.fa-soccer-ball-o:before,
.fa-futbol-o:before {
content: "\f1e3";
}
.fa-tty:before {
content: "\f1e4";
}
.fa-binoculars:before {
content: "\f1e5";
}
.fa-plug:before {
content: "\f1e6";
}
.fa-slideshare:before {
content: "\f1e7";
}
.fa-twitch:before {
content: "\f1e8";
}
.fa-yelp:before {
content: "\f1e9";
}
.fa-newspaper-o:before {
content: "\f1ea";
}
.fa-wifi:before {
content: "\f1eb";
}
.fa-calculator:before {
content: "\f1ec";
}
.fa-paypal:before {
content: "\f1ed";
}
.fa-google-wallet:before {
content: "\f1ee";
}
.fa-cc-visa:before {
content: "\f1f0";
}
.fa-cc-mastercard:before {
content: "\f1f1";
}
.fa-cc-discover:before {
content: "\f1f2";
}
.fa-cc-amex:before {
content: "\f1f3";
}
.fa-cc-paypal:before {
content: "\f1f4";
}
.fa-cc-stripe:before {
content: "\f1f5";
}
.fa-bell-slash:before {
content: "\f1f6";
}
.fa-bell-slash-o:before {
content: "\f1f7";
}
.fa-trash:before {
content: "\f1f8";
}
.fa-copyright:before {
content: "\f1f9";
}
.fa-at:before {
content: "\f1fa";
}
.fa-eyedropper:before {
content: "\f1fb";
}
.fa-paint-brush:before {
content: "\f1fc";
}
.fa-birthday-cake:before {
content: "\f1fd";
}
.fa-area-chart:before {
content: "\f1fe";
}
.fa-pie-chart:before {
content: "\f200";
}
.fa-line-chart:before {
content: "\f201";
}
.fa-lastfm:before {
content: "\f202";
}
.fa-lastfm-square:before {
content: "\f203";
}
.fa-toggle-off:before {
content: "\f204";
}
.fa-toggle-on:before {
content: "\f205";
}
.fa-bicycle:before {
content: "\f206";
}
.fa-bus:before {
content: "\f207";
}
.fa-ioxhost:before {
content: "\f208";
}
.fa-angellist:before {
content: "\f209";
}
.fa-cc:before {
content: "\f20a";
}
.fa-shekel:before,
.fa-sheqel:before,
.fa-ils:before {
content: "\f20b";
}
.fa-meanpath:before {
content: "\f20c";
}
/*!
*
* IPython base
*
*/
.modal.fade .modal-dialog {
-webkit-transform: translate(0, 0);
-ms-transform: translate(0, 0);
-o-transform: translate(0, 0);
transform: translate(0, 0);
}
code {
color: #000;
}
pre {
font-size: inherit;
line-height: inherit;
}
label {
font-weight: normal;
}
/* Make the page background atleast 100% the height of the view port */
/* Make the page itself atleast 70% the height of the view port */
.border-box-sizing {
box-sizing: border-box;
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
}
.corner-all {
border-radius: 2px;
}
.no-padding {
padding: 0px;
}
/* Flexible box model classes */
/* Taken from Alex Russell http://infrequently.org/2009/08/css-3-progress/ */
/* This file is a compatability layer. It allows the usage of flexible box
model layouts accross multiple browsers, including older browsers. The newest,
universal implementation of the flexible box model is used when available (see
`Modern browsers` comments below). Browsers that are known to implement this
new spec completely include:

Firefox 28.0+
Chrome 29.0+
Internet Explorer 11+
Opera 17.0+

Browsers not listed, including Safari, are supported via the styling under the
`Old browsers` comments below.
*/
.hbox {
/* Old browsers */
display: -webkit-box;
-webkit-box-orient: horizontal;
-webkit-box-align: stretch;
display: -moz-box;
-moz-box-orient: horizontal;
-moz-box-align: stretch;
display: box;
box-orient: horizontal;
box-align: stretch;
/* Modern browsers */
display: flex;
flex-direction: row;
align-items: stretch;
}
.hbox > * {
/* Old browsers */
-webkit-box-flex: 0;
-moz-box-flex: 0;
box-flex: 0;
/* Modern browsers */
flex: none;
}
.vbox {
/* Old browsers */
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-box-align: stretch;
display: -moz-box;
-moz-box-orient: vertical;
-moz-box-align: stretch;
display: box;
box-orient: vertical;
box-align: stretch;
/* Modern browsers */
display: flex;
flex-direction: column;
align-items: stretch;
}
.vbox > * {
/* Old browsers */
-webkit-box-flex: 0;
-moz-box-flex: 0;
box-flex: 0;
/* Modern browsers */
flex: none;
}
.hbox.reverse,
.vbox.reverse,
.reverse {
/* Old browsers */
-webkit-box-direction: reverse;
-moz-box-direction: reverse;
box-direction: reverse;
/* Modern browsers */
flex-direction: row-reverse;
}
.hbox.box-flex0,
.vbox.box-flex0,
.box-flex0 {
/* Old browsers */
-webkit-box-flex: 0;
-moz-box-flex: 0;
box-flex: 0;
/* Modern browsers */
flex: none;
width: auto;
}
.hbox.box-flex1,
.vbox.box-flex1,
.box-flex1 {
/* Old browsers */
-webkit-box-flex: 1;
-moz-box-flex: 1;
box-flex: 1;
/* Modern browsers */
flex: 1;
}
.hbox.box-flex,
.vbox.box-flex,
.box-flex {
/* Old browsers */
/* Old browsers */
-webkit-box-flex: 1;
-moz-box-flex: 1;
box-flex: 1;
/* Modern browsers */
flex: 1;
}
.hbox.box-flex2,
.vbox.box-flex2,
.box-flex2 {
/* Old browsers */
-webkit-box-flex: 2;
-moz-box-flex: 2;
box-flex: 2;
/* Modern browsers */
flex: 2;
}
.box-group1 {
/* Deprecated */
-webkit-box-flex-group: 1;
-moz-box-flex-group: 1;
box-flex-group: 1;
}
.box-group2 {
/* Deprecated */
-webkit-box-flex-group: 2;
-moz-box-flex-group: 2;
box-flex-group: 2;
}
.hbox.start,
.vbox.start,
.start {
/* Old browsers */
-webkit-box-pack: start;
-moz-box-pack: start;
box-pack: start;
/* Modern browsers */
justify-content: flex-start;
}
.hbox.end,
.vbox.end,
.end {
/* Old browsers */
-webkit-box-pack: end;
-moz-box-pack: end;
box-pack: end;
/* Modern browsers */
justify-content: flex-end;
}
.hbox.center,
.vbox.center,
.center {
/* Old browsers */
-webkit-box-pack: center;
-moz-box-pack: center;
box-pack: center;
/* Modern browsers */
justify-content: center;
}
.hbox.baseline,
.vbox.baseline,
.baseline {
/* Old browsers */
-webkit-box-pack: baseline;
-moz-box-pack: baseline;
box-pack: baseline;
/* Modern browsers */
justify-content: baseline;
}
.hbox.stretch,
.vbox.stretch,
.stretch {
/* Old browsers */
-webkit-box-pack: stretch;
-moz-box-pack: stretch;
box-pack: stretch;
/* Modern browsers */
justify-content: stretch;
}
.hbox.align-start,
.vbox.align-start,
.align-start {
/* Old browsers */
-webkit-box-align: start;
-moz-box-align: start;
box-align: start;
/* Modern browsers */
align-items: flex-start;
}
.hbox.align-end,
.vbox.align-end,
.align-end {
/* Old browsers */
-webkit-box-align: end;
-moz-box-align: end;
box-align: end;
/* Modern browsers */
align-items: flex-end;
}
.hbox.align-center,
.vbox.align-center,
.align-center {
/* Old browsers */
-webkit-box-align: center;
-moz-box-align: center;
box-align: center;
/* Modern browsers */
align-items: center;
}
.hbox.align-baseline,
.vbox.align-baseline,
.align-baseline {
/* Old browsers */
-webkit-box-align: baseline;
-moz-box-align: baseline;
box-align: baseline;
/* Modern browsers */
align-items: baseline;
}
.hbox.align-stretch,
.vbox.align-stretch,
.align-stretch {
/* Old browsers */
-webkit-box-align: stretch;
-moz-box-align: stretch;
box-align: stretch;
/* Modern browsers */
align-items: stretch;
}
div.error {
margin: 2em;
text-align: center;
}
div.error > h1 {
font-size: 500%;
line-height: normal;
}
div.error > p {
font-size: 200%;
line-height: normal;
}
div.traceback-wrapper {
text-align: left;
max-width: 800px;
margin: auto;
}
/**
* Primary styles
*
* Author: Jupyter Development Team
*/
body {
background-color: #fff;
/* This makes sure that the body covers the entire window and needs to
be in a different element than the display: box in wrapper below */
position: absolute;
left: 0px;
right: 0px;
top: 0px;
bottom: 0px;
overflow: visible;
}
body > #header {
/* Initially hidden to prevent FLOUC */
display: none;
background-color: #fff;
/* Display over codemirror */
position: relative;
z-index: 100;
}
body > #header #header-container {
padding-bottom: 5px;
padding-top: 5px;
box-sizing: border-box;
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
}
body > #header .header-bar {
width: 100%;
height: 1px;
background: #e7e7e7;
margin-bottom: -1px;
}
@media print {
body > #header {
display: none !important;
}
}
#header-spacer {
width: 100%;
visibility: hidden;
}
@media print {
#header-spacer {
display: none;
}
}
#ipython_notebook {
padding-left: 0px;
padding-top: 1px;
padding-bottom: 1px;
}
@media (max-width: 991px) {
#ipython_notebook {
margin-left: 10px;
}
}
#noscript {
width: auto;
padding-top: 16px;
padding-bottom: 16px;
text-align: center;
font-size: 22px;
color: red;
font-weight: bold;
}
#ipython_notebook img {
height: 28px;
}
#site {
width: 100%;
display: none;
box-sizing: border-box;
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
overflow: auto;
}
@media print {
#site {
height: auto !important;
}
}
/* Smaller buttons */
.ui-button .ui-button-text {
padding: 0.2em 0.8em;
font-size: 77%;
}
input.ui-button {
padding: 0.3em 0.9em;
}
span#login_widget {
float: right;
}
span#login_widget > .button,
#logout {
color: #333;
background-color: #fff;
border-color: #ccc;
}
span#login_widget > .button:focus,
#logout:focus,
span#login_widget > .button.focus,
#logout.focus {
color: #333;
background-color: #e6e6e6;
border-color: #8c8c8c;
}
span#login_widget > .button:hover,
#logout:hover {
color: #333;
background-color: #e6e6e6;
border-color: #adadad;
}
span#login_widget > .button:active,
#logout:active,
span#login_widget > .button.active,
#logout.active,
.open > .dropdown-togglespan#login_widget > .button,
.open > .dropdown-toggle#logout {
color: #333;
background-color: #e6e6e6;
border-color: #adadad;
}
span#login_widget > .button:active:hover,
#logout:active:hover,
span#login_widget > .button.active:hover,
#logout.active:hover,
.open > .dropdown-togglespan#login_widget > .button:hover,
.open > .dropdown-toggle#logout:hover,
span#login_widget > .button:active:focus,
#logout:active:focus,
span#login_widget > .button.active:focus,
#logout.active:focus,
.open > .dropdown-togglespan#login_widget > .button:focus,
.open > .dropdown-toggle#logout:focus,
span#login_widget > .button:active.focus,
#logout:active.focus,
span#login_widget > .button.active.focus,
#logout.active.focus,
.open > .dropdown-togglespan#login_widget > .button.focus,
.open > .dropdown-toggle#logout.focus {
color: #333;
background-color: #d4d4d4;
border-color: #8c8c8c;
}
span#login_widget > .button:active,
#logout:active,
span#login_widget > .button.active,
#logout.active,
.open > .dropdown-togglespan#login_widget > .button,
.open > .dropdown-toggle#logout {
background-image: none;
}
span#login_widget > .button.disabled:hover,
#logout.disabled:hover,
span#login_widget > .button[disabled]:hover,
#logout[disabled]:hover,
fieldset[disabled] span#login_widget > .button:hover,
fieldset[disabled] #logout:hover,
span#login_widget > .button.disabled:focus,
#logout.disabled:focus,
span#login_widget > .button[disabled]:focus,
#logout[disabled]:focus,
fieldset[disabled] span#login_widget > .button:focus,
fieldset[disabled] #logout:focus,
span#login_widget > .button.disabled.focus,
#logout.disabled.focus,
span#login_widget > .button[disabled].focus,
#logout[disabled].focus,
fieldset[disabled] span#login_widget > .button.focus,
fieldset[disabled] #logout.focus {
background-color: #fff;
border-color: #ccc;
}
span#login_widget > .button .badge,
#logout .badge {
color: #fff;
background-color: #333;
}
.nav-header {
text-transform: none;
}
#header > span {
margin-top: 10px;
}
.modal_stretch .modal-dialog {
/* Old browsers */
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-box-align: stretch;
display: -moz-box;
-moz-box-orient: vertical;
-moz-box-align: stretch;
display: box;
box-orient: vertical;
box-align: stretch;
/* Modern browsers */
display: flex;
flex-direction: column;
align-items: stretch;
min-height: 80vh;
}
.modal_stretch .modal-dialog .modal-body {
max-height: calc(100vh - 200px);
overflow: auto;
flex: 1;
}
@media (min-width: 768px) {
.modal .modal-dialog {
width: 700px;
}
}
@media (min-width: 768px) {
select.form-control {
margin-left: 12px;
margin-right: 12px;
}
}
/*!
*
* IPython auth
*
*/
.center-nav {
display: inline-block;
margin-bottom: -4px;
}
/*!
*
* IPython tree view
*
*/
/* We need an invisible input field on top of the sentense*/
/* "Drag file onto the list ..." */
.alternate_upload {
background-color: none;
display: inline;
}
.alternate_upload.form {
padding: 0;
margin: 0;
}
.alternate_upload input.fileinput {
text-align: center;
vertical-align: middle;
display: inline;
opacity: 0;
z-index: 2;
width: 12ex;
margin-right: -12ex;
}
.alternate_upload .btn-upload {
height: 22px;
}
/**
* Primary styles
*
* Author: Jupyter Development Team
*/
ul#tabs {
margin-bottom: 4px;
}
ul#tabs a {
padding-top: 6px;
padding-bottom: 4px;
}
ul.breadcrumb a:focus,
ul.breadcrumb a:hover {
text-decoration: none;
}
ul.breadcrumb i.icon-home {
font-size: 16px;
margin-right: 4px;
}
ul.breadcrumb span {
color: #5e5e5e;
}
.list_toolbar {
padding: 4px 0 4px 0;
vertical-align: middle;
}
.list_toolbar .tree-buttons {
padding-top: 1px;
}
.dynamic-buttons {
padding-top: 3px;
display: inline-block;
}
.list_toolbar [class*="span"] {
min-height: 24px;
}
.list_header {
font-weight: bold;
background-color: #EEE;
}
.list_placeholder {
font-weight: bold;
padding-top: 4px;
padding-bottom: 4px;
padding-left: 7px;
padding-right: 7px;
}
.list_container {
margin-top: 4px;
margin-bottom: 20px;
border: 1px solid #ddd;
border-radius: 2px;
}
.list_container > div {
border-bottom: 1px solid #ddd;
}
.list_container > div:hover .list-item {
background-color: red;
}
.list_container > div:last-child {
border: none;
}
.list_item:hover .list_item {
background-color: #ddd;
}
.list_item a {
text-decoration: none;
}
.list_item:hover {
background-color: #fafafa;
}
.list_header > div,
.list_item > div {
padding-top: 4px;
padding-bottom: 4px;
padding-left: 7px;
padding-right: 7px;
line-height: 22px;
}
.list_header > div input,
.list_item > div input {
margin-right: 7px;
margin-left: 14px;
vertical-align: baseline;
line-height: 22px;
position: relative;
top: -1px;
}
.list_header > div .item_link,
.list_item > div .item_link {
margin-left: -1px;
vertical-align: baseline;
line-height: 22px;
}
.new-file input[type=checkbox] {
visibility: hidden;
}
.item_name {
line-height: 22px;
height: 24px;
}
.item_icon {
font-size: 14px;
color: #5e5e5e;
margin-right: 7px;
margin-left: 7px;
line-height: 22px;
vertical-align: baseline;
}
.item_buttons {
line-height: 1em;
margin-left: -5px;
}
.item_buttons .btn,
.item_buttons .btn-group,
.item_buttons .input-group {
float: left;
}
.item_buttons > .btn,
.item_buttons > .btn-group,
.item_buttons > .input-group {
margin-left: 5px;
}
.item_buttons .btn {
min-width: 13ex;
}
.item_buttons .running-indicator {
padding-top: 4px;
color: #5cb85c;
}
.item_buttons .kernel-name {
padding-top: 4px;
color: #5bc0de;
margin-right: 7px;
float: left;
}
.toolbar_info {
height: 24px;
line-height: 24px;
}
.list_item input:not([type=checkbox]) {
padding-top: 3px;
padding-bottom: 3px;
height: 22px;
line-height: 14px;
margin: 0px;
}
.highlight_text {
color: blue;
}
#project_name {
display: inline-block;
padding-left: 7px;
margin-left: -2px;
}
#project_name > .breadcrumb {
padding: 0px;
margin-bottom: 0px;
background-color: transparent;
font-weight: bold;
}
#tree-selector {
padding-right: 0px;
}
#button-select-all {
min-width: 50px;
}
#select-all {
margin-left: 7px;
margin-right: 2px;
}
.menu_icon {
margin-right: 2px;
}
.tab-content .row {
margin-left: 0px;
margin-right: 0px;
}
.folder_icon:before {
display: inline-block;
font: normal normal normal 14px/1 FontAwesome;
font-size: inherit;
text-rendering: auto;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
content: "\f114";
}
.folder_icon:before.pull-left {
margin-right: .3em;
}
.folder_icon:before.pull-right {
margin-left: .3em;
}
.notebook_icon:before {
display: inline-block;
font: normal normal normal 14px/1 FontAwesome;
font-size: inherit;
text-rendering: auto;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
content: "\f02d";
position: relative;
top: -1px;
}
.notebook_icon:before.pull-left {
margin-right: .3em;
}
.notebook_icon:before.pull-right {
margin-left: .3em;
}
.running_notebook_icon:before {
display: inline-block;
font: normal normal normal 14px/1 FontAwesome;
font-size: inherit;
text-rendering: auto;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
content: "\f02d";
position: relative;
top: -1px;
color: #5cb85c;
}
.running_notebook_icon:before.pull-left {
margin-right: .3em;
}
.running_notebook_icon:before.pull-right {
margin-left: .3em;
}
.file_icon:before {
display: inline-block;
font: normal normal normal 14px/1 FontAwesome;
font-size: inherit;
text-rendering: auto;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
content: "\f016";
position: relative;
top: -2px;
}
.file_icon:before.pull-left {
margin-right: .3em;
}
.file_icon:before.pull-right {
margin-left: .3em;
}
#notebook_toolbar .pull-right {
padding-top: 0px;
margin-right: -1px;
}
ul#new-menu {
left: auto;
right: 0;
}
.kernel-menu-icon {
padding-right: 12px;
width: 24px;
content: "\f096";
}
.kernel-menu-icon:before {
content: "\f096";
}
.kernel-menu-icon-current:before {
content: "\f00c";
}
#tab_content {
padding-top: 20px;
}
#running .panel-group .panel {
margin-top: 3px;
margin-bottom: 1em;
}
#running .panel-group .panel .panel-heading {
background-color: #EEE;
padding-top: 4px;
padding-bottom: 4px;
padding-left: 7px;
padding-right: 7px;
line-height: 22px;
}
#running .panel-group .panel .panel-heading a:focus,
#running .panel-group .panel .panel-heading a:hover {
text-decoration: none;
}
#running .panel-group .panel .panel-body {
padding: 0px;
}
#running .panel-group .panel .panel-body .list_container {
margin-top: 0px;
margin-bottom: 0px;
border: 0px;
border-radius: 0px;
}
#running .panel-group .panel .panel-body .list_container .list_item {
border-bottom: 1px solid #ddd;
}
#running .panel-group .panel .panel-body .list_container .list_item:last-child {
border-bottom: 0px;
}
.delete-button {
display: none;
}
.duplicate-button {
display: none;
}
.rename-button {
display: none;
}
.shutdown-button {
display: none;
}
.dynamic-instructions {
display: inline-block;
padding-top: 4px;
}
/*!
*
* IPython text editor webapp
*
*/
.selected-keymap i.fa {
padding: 0px 5px;
}
.selected-keymap i.fa:before {
content: "\f00c";
}
#mode-menu {
overflow: auto;
max-height: 20em;
}
.edit_app #header {
-webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
}
.edit_app #menubar .navbar {
/* Use a negative 1 bottom margin, so the border overlaps the border of the
header */
margin-bottom: -1px;
}
.dirty-indicator {
display: inline-block;
font: normal normal normal 14px/1 FontAwesome;
font-size: inherit;
text-rendering: auto;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
width: 20px;
}
.dirty-indicator.pull-left {
margin-right: .3em;
}
.dirty-indicator.pull-right {
margin-left: .3em;
}
.dirty-indicator-dirty {
display: inline-block;
font: normal normal normal 14px/1 FontAwesome;
font-size: inherit;
text-rendering: auto;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
width: 20px;
}
.dirty-indicator-dirty.pull-left {
margin-right: .3em;
}
.dirty-indicator-dirty.pull-right {
margin-left: .3em;
}
.dirty-indicator-clean {
display: inline-block;
font: normal normal normal 14px/1 FontAwesome;
font-size: inherit;
text-rendering: auto;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
width: 20px;
}
.dirty-indicator-clean.pull-left {
margin-right: .3em;
}
.dirty-indicator-clean.pull-right {
margin-left: .3em;
}
.dirty-indicator-clean:before {
display: inline-block;
font: normal normal normal 14px/1 FontAwesome;
font-size: inherit;
text-rendering: auto;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
content: "\f00c";
}
.dirty-indicator-clean:before.pull-left {
margin-right: .3em;
}
.dirty-indicator-clean:before.pull-right {
margin-left: .3em;
}
#filename {
font-size: 16pt;
display: table;
padding: 0px 5px;
}
#current-mode {
padding-left: 5px;
padding-right: 5px;
}
#texteditor-backdrop {
padding-top: 20px;
padding-bottom: 20px;
}
@media not print {
#texteditor-backdrop {
background-color: #EEE;
}
}
@media print {
#texteditor-backdrop #texteditor-container .CodeMirror-gutter,
#texteditor-backdrop #texteditor-container .CodeMirror-gutters {
background-color: #fff;
}
}
@media not print {
#texteditor-backdrop #texteditor-container .CodeMirror-gutter,
#texteditor-backdrop #texteditor-container .CodeMirror-gutters {
background-color: #fff;
}
}
@media not print {
#texteditor-backdrop #texteditor-container {
padding: 0px;
background-color: #fff;
-webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
}
}
/*!
*
* IPython notebook
*
*/
/* CSS font colors for translated ANSI colors. */
.ansibold {
font-weight: bold;
}
/* use dark versions for foreground, to improve visibility */
.ansiblack {
color: black;
}
.ansired {
color: darkred;
}
.ansigreen {
color: darkgreen;
}
.ansiyellow {
color: #c4a000;
}
.ansiblue {
color: darkblue;
}
.ansipurple {
color: darkviolet;
}
.ansicyan {
color: steelblue;
}
.ansigray {
color: gray;
}
/* and light for background, for the same reason */
.ansibgblack {
background-color: black;
}
.ansibgred {
background-color: red;
}
.ansibggreen {
background-color: green;
}
.ansibgyellow {
background-color: yellow;
}
.ansibgblue {
background-color: blue;
}
.ansibgpurple {
background-color: magenta;
}
.ansibgcyan {
background-color: cyan;
}
.ansibggray {
background-color: gray;
}
div.cell {
/* Old browsers */
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-box-align: stretch;
display: -moz-box;
-moz-box-orient: vertical;
-moz-box-align: stretch;
display: box;
box-orient: vertical;
box-align: stretch;
/* Modern browsers */
display: flex;
flex-direction: column;
align-items: stretch;
border-radius: 2px;
box-sizing: border-box;
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
border-width: 1px;
border-style: solid;
border-color: transparent;
width: 100%;
padding: 5px;
/* This acts as a spacer between cells, that is outside the border */
margin: 0px;
outline: none;
border-left-width: 1px;
padding-left: 5px;
background: linear-gradient(to right, transparent -40px, transparent 1px, transparent 1px, transparent 100%);
}
div.cell.jupyter-soft-selected {
border-left-color: #90CAF9;
border-left-color: #E3F2FD;
border-left-width: 1px;
padding-left: 5px;
border-right-color: #E3F2FD;
border-right-width: 1px;
background: #E3F2FD;
}
@media print {
div.cell.jupyter-soft-selected {
border-color: transparent;
}
}
div.cell.selected {
border-color: #ababab;
border-left-width: 0px;
padding-left: 6px;
background: linear-gradient(to right, #42A5F5 -40px, #42A5F5 5px, transparent 5px, transparent 100%);
}
@media print {
div.cell.selected {
border-color: transparent;
}
}
div.cell.selected.jupyter-soft-selected {
border-left-width: 0;
padding-left: 6px;
background: linear-gradient(to right, #42A5F5 -40px, #42A5F5 7px, #E3F2FD 7px, #E3F2FD 100%);
}
.edit_mode div.cell.selected {
border-color: #66BB6A;
border-left-width: 0px;
padding-left: 6px;
background: linear-gradient(to right, #66BB6A -40px, #66BB6A 5px, transparent 5px, transparent 100%);
}
@media print {
.edit_mode div.cell.selected {
border-color: transparent;
}
}
.prompt {
/* This needs to be wide enough for 3 digit prompt numbers: In[100]: */
min-width: 14ex;
/* This padding is tuned to match the padding on the CodeMirror editor. */
padding: 0.4em;
margin: 0px;
font-family: monospace;
text-align: right;
/* This has to match that of the the CodeMirror class line-height below */
line-height: 1.21429em;
/* Don‘t highlight prompt number selection */
-webkit-touch-callout: none;
-webkit-user-select: none;
-khtml-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
/* Use default cursor */
cursor: default;
}
@media (max-width: 540px) {
.prompt {
text-align: left;
}
}
div.inner_cell {
/* Old browsers */
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-box-align: stretch;
display: -moz-box;
-moz-box-orient: vertical;
-moz-box-align: stretch;
display: box;
box-orient: vertical;
box-align: stretch;
/* Modern browsers */
display: flex;
flex-direction: column;
align-items: stretch;
/* Old browsers */
-webkit-box-flex: 1;
-moz-box-flex: 1;
box-flex: 1;
/* Modern browsers */
flex: 1;
}
@-moz-document url-prefix() {
div.inner_cell {
overflow-x: hidden;
}
}
/* input_area and input_prompt must match in top border and margin for alignment */
div.input_area {
border: 1px solid #cfcfcf;
border-radius: 2px;
background: #f7f7f7;
line-height: 1.21429em;
}
/* This is needed so that empty prompt areas can collapse to zero height when there
is no content in the output_subarea and the prompt. The main purpose of this is
to make sure that empty JavaScript output_subareas have no height. */
div.prompt:empty {
padding-top: 0;
padding-bottom: 0;
}
div.unrecognized_cell {
padding: 5px 5px 5px 0px;
/* Old browsers */
display: -webkit-box;
-webkit-box-orient: horizontal;
-webkit-box-align: stretch;
display: -moz-box;
-moz-box-orient: horizontal;
-moz-box-align: stretch;
display: box;
box-orient: horizontal;
box-align: stretch;
/* Modern browsers */
display: flex;
flex-direction: row;
align-items: stretch;
}
div.unrecognized_cell .inner_cell {
border-radius: 2px;
padding: 5px;
font-weight: bold;
color: red;
border: 1px solid #cfcfcf;
background: #eaeaea;
}
div.unrecognized_cell .inner_cell a {
color: inherit;
text-decoration: none;
}
div.unrecognized_cell .inner_cell a:hover {
color: inherit;
text-decoration: none;
}
@media (max-width: 540px) {
div.unrecognized_cell > div.prompt {
display: none;
}
}
div.code_cell {
/* avoid page breaking on code cells when printing */
}
@media print {
div.code_cell {
page-break-inside: avoid;
}
}
/* any special styling for code cells that are currently running goes here */
div.input {
page-break-inside: avoid;
/* Old browsers */
display: -webkit-box;
-webkit-box-orient: horizontal;
-webkit-box-align: stretch;
display: -moz-box;
-moz-box-orient: horizontal;
-moz-box-align: stretch;
display: box;
box-orient: horizontal;
box-align: stretch;
/* Modern browsers */
display: flex;
flex-direction: row;
align-items: stretch;
}
@media (max-width: 540px) {
div.input {
/* Old browsers */
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-box-align: stretch;
display: -moz-box;
-moz-box-orient: vertical;
-moz-box-align: stretch;
display: box;
box-orient: vertical;
box-align: stretch;
/* Modern browsers */
display: flex;
flex-direction: column;
align-items: stretch;
}
}
/* input_area and input_prompt must match in top border and margin for alignment */
div.input_prompt {
color: #303F9F;
border-top: 1px solid transparent;
}
div.input_area > div.highlight {
margin: 0.4em;
border: none;
padding: 0px;
background-color: transparent;
}
div.input_area > div.highlight > pre {
margin: 0px;
border: none;
padding: 0px;
background-color: transparent;
}
/* The following gets added to the if it is detected that the user has a
* monospace font with inconsistent normal/bold/italic height. See
* notebookmain.js. Such fonts will have keywords vertically offset with
* respect to the rest of the text. The user should select a better font.
* See: https://github.com/ipython/ipython/issues/1503
*
* .CodeMirror span {
* vertical-align: bottom;
* }
*/
.CodeMirror {
line-height: 1.21429em;
/* Changed from 1em to our global default */
font-size: 14px;
height: auto;
/* Changed to auto to autogrow */
background: none;
/* Changed from white to allow our bg to show through */
}
.CodeMirror-scroll {
/* The CodeMirror docs are a bit fuzzy on if overflow-y should be hidden or visible.*/
/* We have found that if it is visible, vertical scrollbars appear with font size changes.*/
overflow-y: hidden;
overflow-x: auto;
}
.CodeMirror-lines {
/* In CM2, this used to be 0.4em, but in CM3 it went to 4px. We need the em value because */
/* we have set a different line-height and want this to scale with that. */
padding: 0.4em;
}
.CodeMirror-linenumber {
padding: 0 8px 0 4px;
}
.CodeMirror-gutters {
border-bottom-left-radius: 2px;
border-top-left-radius: 2px;
}
.CodeMirror pre {
/* In CM3 this went to 4px from 0 in CM2. We need the 0 value because of how we size */
/* .CodeMirror-lines */
padding: 0;
border: 0;
border-radius: 0;
}
/*

Original style from softwaremaniacs.org (c) Ivan Sagalaev
Adapted from GitHub theme

*/
.highlight-base {
color: #000;
}
.highlight-variable {
color: #000;
}
.highlight-variable-2 {
color: #1a1a1a;
}
.highlight-variable-3 {
color: #333333;
}
.highlight-string {
color: #BA2121;
}
.highlight-comment {
color: #408080;
font-style: italic;
}
.highlight-number {
color: #080;
}
.highlight-atom {
color: #88F;
}
.highlight-keyword {
color: #008000;
font-weight: bold;
}
.highlight-builtin {
color: #008000;
}
.highlight-error {
color: #f00;
}
.highlight-operator {
color: #AA22FF;
font-weight: bold;
}
.highlight-meta {
color: #AA22FF;
}
/* previously not defined, copying from default codemirror */
.highlight-def {
color: #00f;
}
.highlight-string-2 {
color: #f50;
}
.highlight-qualifier {
color: #555;
}
.highlight-bracket {
color: #997;
}
.highlight-tag {
color: #170;
}
.highlight-attribute {
color: #00c;
}
.highlight-header {
color: blue;
}
.highlight-quote {
color: #090;
}
.highlight-link {
color: #00c;
}
/* apply the same style to codemirror */
.cm-s-ipython span.cm-keyword {
color: #008000;
font-weight: bold;
}
.cm-s-ipython span.cm-atom {
color: #88F;
}
.cm-s-ipython span.cm-number {
color: #080;
}
.cm-s-ipython span.cm-def {
color: #00f;
}
.cm-s-ipython span.cm-variable {
color: #000;
}
.cm-s-ipython span.cm-operator {
color: #AA22FF;
font-weight: bold;
}
.cm-s-ipython span.cm-variable-2 {
color: #1a1a1a;
}
.cm-s-ipython span.cm-variable-3 {
color: #333333;
}
.cm-s-ipython span.cm-comment {
color: #408080;
font-style: italic;
}
.cm-s-ipython span.cm-string {
color: #BA2121;
}
.cm-s-ipython span.cm-string-2 {
color: #f50;
}
.cm-s-ipython span.cm-meta {
color: #AA22FF;
}
.cm-s-ipython span.cm-qualifier {
color: #555;
}
.cm-s-ipython span.cm-builtin {
color: #008000;
}
.cm-s-ipython span.cm-bracket {
color: #997;
}
.cm-s-ipython span.cm-tag {
color: #170;
}
.cm-s-ipython span.cm-attribute {
color: #00c;
}
.cm-s-ipython span.cm-header {
color: blue;
}
.cm-s-ipython span.cm-quote {
color: #090;
}
.cm-s-ipython span.cm-link {
color: #00c;
}
.cm-s-ipython span.cm-error {
color: #f00;
}
.cm-s-ipython span.cm-tab {
background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAMCAYAAAAkuj5RAAAAAXNSR0IArs4c6QAAAGFJREFUSMft1LsRQFAQheHPowAKoACx3IgEKtaEHujDjORSgWTH/ZOdnZOcM/sgk/kFFWY0qV8foQwS4MKBCS3qR6ixBJvElOobYAtivseIE120FaowJPN75GMu8j/LfMwNjh4HUpwg4LUAAAAASUVORK5CYII=);
background-position: right;
background-repeat: no-repeat;
}
div.output_wrapper {
/* this position must be relative to enable descendents to be absolute within it */
position: relative;
/* Old browsers */
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-box-align: stretch;
display: -moz-box;
-moz-box-orient: vertical;
-moz-box-align: stretch;
display: box;
box-orient: vertical;
box-align: stretch;
/* Modern browsers */
display: flex;
flex-direction: column;
align-items: stretch;
z-index: 1;
}
/* class for the output area when it should be height-limited */
div.output_scroll {
/* ideally, this would be max-height, but FF barfs all over that */
height: 24em;
/* FF needs this *and the wrapper* to specify full width, or it will shrinkwrap */
width: 100%;
overflow: auto;
border-radius: 2px;
-webkit-box-shadow: inset 0 2px 8px rgba(0, 0, 0, 0.8);
box-shadow: inset 0 2px 8px rgba(0, 0, 0, 0.8);
display: block;
}
/* output div while it is collapsed */
div.output_collapsed {
margin: 0px;
padding: 0px;
/* Old browsers */
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-box-align: stretch;
display: -moz-box;
-moz-box-orient: vertical;
-moz-box-align: stretch;
display: box;
box-orient: vertical;
box-align: stretch;
/* Modern browsers */
display: flex;
flex-direction: column;
align-items: stretch;
}
div.out_prompt_overlay {
height: 100%;
padding: 0px 0.4em;
position: absolute;
border-radius: 2px;
}
div.out_prompt_overlay:hover {
/* use inner shadow to get border that is computed the same on WebKit/FF */
-webkit-box-shadow: inset 0 0 1px #000;
box-shadow: inset 0 0 1px #000;
background: rgba(240, 240, 240, 0.5);
}
div.output_prompt {
color: #D84315;
}
/* This class is the outer container of all output sections. */
div.output_area {
padding: 0px;
page-break-inside: avoid;
/* Old browsers */
display: -webkit-box;
-webkit-box-orient: horizontal;
-webkit-box-align: stretch;
display: -moz-box;
-moz-box-orient: horizontal;
-moz-box-align: stretch;
display: box;
box-orient: horizontal;
box-align: stretch;
/* Modern browsers */
display: flex;
flex-direction: row;
align-items: stretch;
}
div.output_area .MathJax_Display {
text-align: left !important;
}
div.output_area .rendered_html table {
margin-left: 0;
margin-right: 0;
}
div.output_area .rendered_html img {
margin-left: 0;
margin-right: 0;
}
div.output_area img,
div.output_area svg {
max-width: 100%;
height: auto;
}
div.output_area img.unconfined,
div.output_area svg.unconfined {
max-width: none;
}
/* This is needed to protect the pre formating from global settings such
as that of bootstrap */
.output {
/* Old browsers */
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-box-align: stretch;
display: -moz-box;
-moz-box-orient: vertical;
-moz-box-align: stretch;
display: box;
box-orient: vertical;
box-align: stretch;
/* Modern browsers */
display: flex;
flex-direction: column;
align-items: stretch;
}
@media (max-width: 540px) {
div.output_area {
/* Old browsers */
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-box-align: stretch;
display: -moz-box;
-moz-box-orient: vertical;
-moz-box-align: stretch;
display: box;
box-orient: vertical;
box-align: stretch;
/* Modern browsers */
display: flex;
flex-direction: column;
align-items: stretch;
}
}
div.output_area pre {
margin: 0;
padding: 0;
border: 0;
vertical-align: baseline;
color: black;
background-color: transparent;
border-radius: 0;
}
/* This class is for the output subarea inside the output_area and after
the prompt div. */
div.output_subarea {
overflow-x: auto;
padding: 0.4em;
/* Old browsers */
-webkit-box-flex: 1;
-moz-box-flex: 1;
box-flex: 1;
/* Modern browsers */
flex: 1;
max-width: calc(100% - 14ex);
}
div.output_scroll div.output_subarea {
overflow-x: visible;
}
/* The rest of the output_* classes are for special styling of the different
output types */
/* all text output has this class: */
div.output_text {
text-align: left;
color: #000;
/* This has to match that of the the CodeMirror class line-height below */
line-height: 1.21429em;
}
/* stdout/stderr are ‘text‘ as well as ‘stream‘, but execute_result/error are *not* streams */
div.output_stderr {
background: #fdd;
/* very light red background for stderr */
}
div.output_latex {
text-align: left;
}
/* Empty output_javascript divs should have no height */
div.output_javascript:empty {
padding: 0;
}
.js-error {
color: darkred;
}
/* raw_input styles */
div.raw_input_container {
line-height: 1.21429em;
padding-top: 5px;
}
pre.raw_input_prompt {
/* nothing needed here. */
}
input.raw_input {
font-family: monospace;
font-size: inherit;
color: inherit;
width: auto;
/* make sure input baseline aligns with prompt */
vertical-align: baseline;
/* padding + margin = 0.5em between prompt and cursor */
padding: 0em 0.25em;
margin: 0em 0.25em;
}
input.raw_input:focus {
box-shadow: none;
}
p.p-space {
margin-bottom: 10px;
}
div.output_unrecognized {
padding: 5px;
font-weight: bold;
color: red;
}
div.output_unrecognized a {
color: inherit;
text-decoration: none;
}
div.output_unrecognized a:hover {
color: inherit;
text-decoration: none;
}
.rendered_html {
color: #000;
/* any extras will just be numbers: */
}
.rendered_html em {
font-style: italic;
}
.rendered_html strong {
font-weight: bold;
}
.rendered_html u {
text-decoration: underline;
}
.rendered_html :link {
text-decoration: underline;
}
.rendered_html :visited {
text-decoration: underline;
}
.rendered_html h1 {
font-size: 185.7%;
margin: 1.08em 0 0 0;
font-weight: bold;
line-height: 1.0;
}
.rendered_html h2 {
font-size: 157.1%;
margin: 1.27em 0 0 0;
font-weight: bold;
line-height: 1.0;
}
.rendered_html h3 {
font-size: 128.6%;
margin: 1.55em 0 0 0;
font-weight: bold;
line-height: 1.0;
}
.rendered_html h4 {
font-size: 100%;
margin: 2em 0 0 0;
font-weight: bold;
line-height: 1.0;
}
.rendered_html h5 {
font-size: 100%;
margin: 2em 0 0 0;
font-weight: bold;
line-height: 1.0;
font-style: italic;
}
.rendered_html h6 {
font-size: 100%;
margin: 2em 0 0 0;
font-weight: bold;
line-height: 1.0;
font-style: italic;
}
.rendered_html h1:first-child {
margin-top: 0.538em;
}
.rendered_html h2:first-child {
margin-top: 0.636em;
}
.rendered_html h3:first-child {
margin-top: 0.777em;
}
.rendered_html h4:first-child {
margin-top: 1em;
}
.rendered_html h5:first-child {
margin-top: 1em;
}
.rendered_html h6:first-child {
margin-top: 1em;
}
.rendered_html ul {
list-style: disc;
margin: 0em 2em;
padding-left: 0px;
}
.rendered_html ul ul {
list-style: square;
margin: 0em 2em;
}
.rendered_html ul ul ul {
list-style: circle;
margin: 0em 2em;
}
.rendered_html ol {
list-style: decimal;
margin: 0em 2em;
padding-left: 0px;
}
.rendered_html ol ol {
list-style: upper-alpha;
margin: 0em 2em;
}
.rendered_html ol ol ol {
list-style: lower-alpha;
margin: 0em 2em;
}
.rendered_html ol ol ol ol {
list-style: lower-roman;
margin: 0em 2em;
}
.rendered_html ol ol ol ol ol {
list-style: decimal;
margin: 0em 2em;
}
.rendered_html * + ul {
margin-top: 1em;
}
.rendered_html * + ol {
margin-top: 1em;
}
.rendered_html hr {
color: black;
background-color: black;
}
.rendered_html pre {
margin: 1em 2em;
}
.rendered_html pre,
.rendered_html code {
border: 0;
background-color: #fff;
color: #000;
font-size: 100%;
padding: 0px;
}
.rendered_html blockquote {
margin: 1em 2em;
}
.rendered_html table {
margin-left: auto;
margin-right: auto;
border: 1px solid black;
border-collapse: collapse;
}
.rendered_html tr,
.rendered_html th,
.rendered_html td {
border: 1px solid black;
border-collapse: collapse;
margin: 1em 2em;
}
.rendered_html td,
.rendered_html th {
text-align: left;
vertical-align: middle;
padding: 4px;
}
.rendered_html th {
font-weight: bold;
}
.rendered_html * + table {
margin-top: 1em;
}
.rendered_html p {
text-align: left;
}
.rendered_html * + p {
margin-top: 1em;
}
.rendered_html img {
display: block;
margin-left: auto;
margin-right: auto;
}
.rendered_html * + img {
margin-top: 1em;
}
.rendered_html img,
.rendered_html svg {
max-width: 100%;
height: auto;
}
.rendered_html img.unconfined,
.rendered_html svg.unconfined {
max-width: none;
}
div.text_cell {
/* Old browsers */
display: -webkit-box;
-webkit-box-orient: horizontal;
-webkit-box-align: stretch;
display: -moz-box;
-moz-box-orient: horizontal;
-moz-box-align: stretch;
display: box;
box-orient: horizontal;
box-align: stretch;
/* Modern browsers */
display: flex;
flex-direction: row;
align-items: stretch;
}
@media (max-width: 540px) {
div.text_cell > div.prompt {
display: none;
}
}
div.text_cell_render {
/*font-family: "Helvetica Neue", Arial, Helvetica, Geneva, sans-serif;*/
outline: none;
resize: none;
width: inherit;
border-style: none;
padding: 0.5em 0.5em 0.5em 0.4em;
color: #000;
box-sizing: border-box;
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
}
a.anchor-link:link {
text-decoration: none;
padding: 0px 20px;
visibility: hidden;
}
h1:hover .anchor-link,
h2:hover .anchor-link,
h3:hover .anchor-link,
h4:hover .anchor-link,
h5:hover .anchor-link,
h6:hover .anchor-link {
visibility: visible;
}
.text_cell.rendered .input_area {
display: none;
}
.text_cell.rendered .rendered_html {
overflow-x: auto;
overflow-y: hidden;
}
.text_cell.unrendered .text_cell_render {
display: none;
}
.cm-header-1,
.cm-header-2,
.cm-header-3,
.cm-header-4,
.cm-header-5,
.cm-header-6 {
font-weight: bold;
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
}
.cm-header-1 {
font-size: 185.7%;
}
.cm-header-2 {
font-size: 157.1%;
}
.cm-header-3 {
font-size: 128.6%;
}
.cm-header-4 {
font-size: 110%;
}
.cm-header-5 {
font-size: 100%;
font-style: italic;
}
.cm-header-6 {
font-size: 100%;
font-style: italic;
}
/*!
*
* IPython notebook webapp
*
*/
@media (max-width: 767px) {
.notebook_app {
padding-left: 0px;
padding-right: 0px;
}
}
#ipython-main-app {
box-sizing: border-box;
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
height: 100%;
}
div#notebook_panel {
margin: 0px;
padding: 0px;
box-sizing: border-box;
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
height: 100%;
}
div#notebook {
font-size: 14px;
line-height: 20px;
overflow-y: hidden;
overflow-x: auto;
width: 100%;
/* This spaces the page away from the edge of the notebook area */
padding-top: 20px;
margin: 0px;
outline: none;
box-sizing: border-box;
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
min-height: 100%;
}
@media not print {
#notebook-container {
padding: 15px;
background-color: #fff;
min-height: 0;
-webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
}
}
@media print {
#notebook-container {
width: 100%;
}
}
div.ui-widget-content {
border: 1px solid #ababab;
outline: none;
}
pre.dialog {
background-color: #f7f7f7;
border: 1px solid #ddd;
border-radius: 2px;
padding: 0.4em;
padding-left: 2em;
}
p.dialog {
padding: 0.2em;
}
/* Word-wrap output correctly. This is the CSS3 spelling, though Firefox seems
to not honor it correctly. Webkit browsers (Chrome, rekonq, Safari) do.
*/
pre,
code,
kbd,
samp {
white-space: pre-wrap;
}
#fonttest {
font-family: monospace;
}
p {
margin-bottom: 0;
}
.end_space {
min-height: 100px;
transition: height .2s ease;
}
.notebook_app > #header {
-webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
}
@media not print {
.notebook_app {
background-color: #EEE;
}
}
kbd {
border-style: solid;
border-width: 1px;
box-shadow: none;
margin: 2px;
padding-left: 2px;
padding-right: 2px;
padding-top: 1px;
padding-bottom: 1px;
}
/* CSS for the cell toolbar */
.celltoolbar {
border: thin solid #CFCFCF;
border-bottom: none;
background: #EEE;
border-radius: 2px 2px 0px 0px;
width: 100%;
height: 29px;
padding-right: 4px;
/* Old browsers */
display: -webkit-box;
-webkit-box-orient: horizontal;
-webkit-box-align: stretch;
display: -moz-box;
-moz-box-orient: horizontal;
-moz-box-align: stretch;
display: box;
box-orient: horizontal;
box-align: stretch;
/* Modern browsers */
display: flex;
flex-direction: row;
align-items: stretch;
/* Old browsers */
-webkit-box-pack: end;
-moz-box-pack: end;
box-pack: end;
/* Modern browsers */
justify-content: flex-end;
display: -webkit-flex;
}
@media print {
.celltoolbar {
display: none;
}
}
.ctb_hideshow {
display: none;
vertical-align: bottom;
}
/* ctb_show is added to the ctb_hideshow div to show the cell toolbar.
Cell toolbars are only shown when the ctb_global_show class is also set.
*/
.ctb_global_show .ctb_show.ctb_hideshow {
display: block;
}
.ctb_global_show .ctb_show + .input_area,
.ctb_global_show .ctb_show + div.text_cell_input,
.ctb_global_show .ctb_show ~ div.text_cell_render {
border-top-right-radius: 0px;
border-top-left-radius: 0px;
}
.ctb_global_show .ctb_show ~ div.text_cell_render {
border: 1px solid #cfcfcf;
}
.celltoolbar {
font-size: 87%;
padding-top: 3px;
}
.celltoolbar select {
display: block;
width: 100%;
height: 32px;
padding: 6px 12px;
font-size: 13px;
line-height: 1.42857143;
color: #555555;
background-color: #fff;
background-image: none;
border: 1px solid #ccc;
border-radius: 2px;
-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
-webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
-o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
height: 30px;
padding: 5px 10px;
font-size: 12px;
line-height: 1.5;
border-radius: 1px;
width: inherit;
font-size: inherit;
height: 22px;
padding: 0px;
display: inline-block;
}
.celltoolbar select:focus {
border-color: #66afe9;
outline: 0;
-webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);
box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);
}
.celltoolbar select::-moz-placeholder {
color: #999;
opacity: 1;
}
.celltoolbar select:-ms-input-placeholder {
color: #999;
}
.celltoolbar select::-webkit-input-placeholder {
color: #999;
}
.celltoolbar select::-ms-expand {
border: 0;
background-color: transparent;
}
.celltoolbar select[disabled],
.celltoolbar select[readonly],
fieldset[disabled] .celltoolbar select {
background-color: #eeeeee;
opacity: 1;
}
.celltoolbar select[disabled],
fieldset[disabled] .celltoolbar select {
cursor: not-allowed;
}
textarea.celltoolbar select {
height: auto;
}
select.celltoolbar select {
height: 30px;
line-height: 30px;
}
textarea.celltoolbar select,
select[multiple].celltoolbar select {
height: auto;
}
.celltoolbar label {
margin-left: 5px;
margin-right: 5px;
}
.completions {
position: absolute;
z-index: 110;
overflow: hidden;
border: 1px solid #ababab;
border-radius: 2px;
-webkit-box-shadow: 0px 6px 10px -1px #adadad;
box-shadow: 0px 6px 10px -1px #adadad;
line-height: 1;
}
.completions select {
background: white;
outline: none;
border: none;
padding: 0px;
margin: 0px;
overflow: auto;
font-family: monospace;
font-size: 110%;
color: #000;
width: auto;
}
.completions select option.context {
color: #286090;
}
#kernel_logo_widget {
float: right !important;
float: right;
}
#kernel_logo_widget .current_kernel_logo {
display: none;
margin-top: -1px;
margin-bottom: -1px;
width: 32px;
height: 32px;
}
#menubar {
box-sizing: border-box;
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
margin-top: 1px;
}
#menubar .navbar {
border-top: 1px;
border-radius: 0px 0px 2px 2px;
margin-bottom: 0px;
}
#menubar .navbar-toggle {
float: left;
padding-top: 7px;
padding-bottom: 7px;
border: none;
}
#menubar .navbar-collapse {
clear: left;
}
.nav-wrapper {
border-bottom: 1px solid #e7e7e7;
}
i.menu-icon {
padding-top: 4px;
}
ul#help_menu li a {
overflow: hidden;
padding-right: 2.2em;
}
ul#help_menu li a i {
margin-right: -1.2em;
}
.dropdown-submenu {
position: relative;
}
.dropdown-submenu > .dropdown-menu {
top: 0;
left: 100%;
margin-top: -6px;
margin-left: -1px;
}
.dropdown-submenu:hover > .dropdown-menu {
display: block;
}
.dropdown-submenu > a:after {
display: inline-block;
font: normal normal normal 14px/1 FontAwesome;
font-size: inherit;
text-rendering: auto;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
display: block;
content: "\f0da";
float: right;
color: #333333;
margin-top: 2px;
margin-right: -10px;
}
.dropdown-submenu > a:after.pull-left {
margin-right: .3em;
}
.dropdown-submenu > a:after.pull-right {
margin-left: .3em;
}
.dropdown-submenu:hover > a:after {
color: #262626;
}
.dropdown-submenu.pull-left {
float: none;
}
.dropdown-submenu.pull-left > .dropdown-menu {
left: -100%;
margin-left: 10px;
}
#notification_area {
float: right !important;
float: right;
z-index: 10;
}
.indicator_area {
float: right !important;
float: right;
color: #777;
margin-left: 5px;
margin-right: 5px;
width: 11px;
z-index: 10;
text-align: center;
width: auto;
}
#kernel_indicator {
float: right !important;
float: right;
color: #777;
margin-left: 5px;
margin-right: 5px;
width: 11px;
z-index: 10;
text-align: center;
width: auto;
border-left: 1px solid;
}
#kernel_indicator .kernel_indicator_name {
padding-left: 5px;
padding-right: 5px;
}
#modal_indicator {
float: right !important;
float: right;
color: #777;
margin-left: 5px;
margin-right: 5px;
width: 11px;
z-index: 10;
text-align: center;
width: auto;
}
#readonly-indicator {
float: right !important;
float: right;
color: #777;
margin-left: 5px;
margin-right: 5px;
width: 11px;
z-index: 10;
text-align: center;
width: auto;
margin-top: 2px;
margin-bottom: 0px;
margin-left: 0px;
margin-right: 0px;
display: none;
}
.modal_indicator:before {
width: 1.28571429em;
text-align: center;
}
.edit_mode .modal_indicator:before {
display: inline-block;
font: normal normal normal 14px/1 FontAwesome;
font-size: inherit;
text-rendering: auto;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
content: "\f040";
}
.edit_mode .modal_indicator:before.pull-left {
margin-right: .3em;
}
.edit_mode .modal_indicator:before.pull-right {
margin-left: .3em;
}
.command_mode .modal_indicator:before {
display: inline-block;
font: normal normal normal 14px/1 FontAwesome;
font-size: inherit;
text-rendering: auto;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
content: ‘ ‘;
}
.command_mode .modal_indicator:before.pull-left {
margin-right: .3em;
}
.command_mode .modal_indicator:before.pull-right {
margin-left: .3em;
}
.kernel_idle_icon:before {
display: inline-block;
font: normal normal normal 14px/1 FontAwesome;
font-size: inherit;
text-rendering: auto;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
content: "\f10c";
}
.kernel_idle_icon:before.pull-left {
margin-right: .3em;
}
.kernel_idle_icon:before.pull-right {
margin-left: .3em;
}
.kernel_busy_icon:before {
display: inline-block;
font: normal normal normal 14px/1 FontAwesome;
font-size: inherit;
text-rendering: auto;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
content: "\f111";
}
.kernel_busy_icon:before.pull-left {
margin-right: .3em;
}
.kernel_busy_icon:before.pull-right {
margin-left: .3em;
}
.kernel_dead_icon:before {
display: inline-block;
font: normal normal normal 14px/1 FontAwesome;
font-size: inherit;
text-rendering: auto;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
content: "\f1e2";
}
.kernel_dead_icon:before.pull-left {
margin-right: .3em;
}
.kernel_dead_icon:before.pull-right {
margin-left: .3em;
}
.kernel_disconnected_icon:before {
display: inline-block;
font: normal normal normal 14px/1 FontAwesome;
font-size: inherit;
text-rendering: auto;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
content: "\f127";
}
.kernel_disconnected_icon:before.pull-left {
margin-right: .3em;
}
.kernel_disconnected_icon:before.pull-right {
margin-left: .3em;
}
.notification_widget {
color: #777;
z-index: 10;
background: rgba(240, 240, 240, 0.5);
margin-right: 4px;
color: #333;
background-color: #fff;
border-color: #ccc;
}
.notification_widget:focus,
.notification_widget.focus {
color: #333;
background-color: #e6e6e6;
border-color: #8c8c8c;
}
.notification_widget:hover {
color: #333;
background-color: #e6e6e6;
border-color: #adadad;
}
.notification_widget:active,
.notification_widget.active,
.open > .dropdown-toggle.notification_widget {
color: #333;
background-color: #e6e6e6;
border-color: #adadad;
}
.notification_widget:active:hover,
.notification_widget.active:hover,
.open > .dropdown-toggle.notification_widget:hover,
.notification_widget:active:focus,
.notification_widget.active:focus,
.open > .dropdown-toggle.notification_widget:focus,
.notification_widget:active.focus,
.notification_widget.active.focus,
.open > .dropdown-toggle.notification_widget.focus {
color: #333;
background-color: #d4d4d4;
border-color: #8c8c8c;
}
.notification_widget:active,
.notification_widget.active,
.open > .dropdown-toggle.notification_widget {
background-image: none;
}
.notification_widget.disabled:hover,
.notification_widget[disabled]:hover,
fieldset[disabled] .notification_widget:hover,
.notification_widget.disabled:focus,
.notification_widget[disabled]:focus,
fieldset[disabled] .notification_widget:focus,
.notification_widget.disabled.focus,
.notification_widget[disabled].focus,
fieldset[disabled] .notification_widget.focus {
background-color: #fff;
border-color: #ccc;
}
.notification_widget .badge {
color: #fff;
background-color: #333;
}
.notification_widget.warning {
color: #fff;
background-color: #f0ad4e;
border-color: #eea236;
}
.notification_widget.warning:focus,
.notification_widget.warning.focus {
color: #fff;
background-color: #ec971f;
border-color: #985f0d;
}
.notification_widget.warning:hover {
color: #fff;
background-color: #ec971f;
border-color: #d58512;
}
.notification_widget.warning:active,
.notification_widget.warning.active,
.open > .dropdown-toggle.notification_widget.warning {
color: #fff;
background-color: #ec971f;
border-color: #d58512;
}
.notification_widget.warning:active:hover,
.notification_widget.warning.active:hover,
.open > .dropdown-toggle.notification_widget.warning:hover,
.notification_widget.warning:active:focus,
.notification_widget.warning.active:focus,
.open > .dropdown-toggle.notification_widget.warning:focus,
.notification_widget.warning:active.focus,
.notification_widget.warning.active.focus,
.open > .dropdown-toggle.notification_widget.warning.focus {
color: #fff;
background-color: #d58512;
border-color: #985f0d;
}
.notification_widget.warning:active,
.notification_widget.warning.active,
.open > .dropdown-toggle.notification_widget.warning {
background-image: none;
}
.notification_widget.warning.disabled:hover,
.notification_widget.warning[disabled]:hover,
fieldset[disabled] .notification_widget.warning:hover,
.notification_widget.warning.disabled:focus,
.notification_widget.warning[disabled]:focus,
fieldset[disabled] .notification_widget.warning:focus,
.notification_widget.warning.disabled.focus,
.notification_widget.warning[disabled].focus,
fieldset[disabled] .notification_widget.warning.focus {
background-color: #f0ad4e;
border-color: #eea236;
}
.notification_widget.warning .badge {
color: #f0ad4e;
background-color: #fff;
}
.notification_widget.success {
color: #fff;
background-color: #5cb85c;
border-color: #4cae4c;
}
.notification_widget.success:focus,
.notification_widget.success.focus {
color: #fff;
background-color: #449d44;
border-color: #255625;
}
.notification_widget.success:hover {
color: #fff;
background-color: #449d44;
border-color: #398439;
}
.notification_widget.success:active,
.notification_widget.success.active,
.open > .dropdown-toggle.notification_widget.success {
color: #fff;
background-color: #449d44;
border-color: #398439;
}
.notification_widget.success:active:hover,
.notification_widget.success.active:hover,
.open > .dropdown-toggle.notification_widget.success:hover,
.notification_widget.success:active:focus,
.notification_widget.success.active:focus,
.open > .dropdown-toggle.notification_widget.success:focus,
.notification_widget.success:active.focus,
.notification_widget.success.active.focus,
.open > .dropdown-toggle.notification_widget.success.focus {
color: #fff;
background-color: #398439;
border-color: #255625;
}
.notification_widget.success:active,
.notification_widget.success.active,
.open > .dropdown-toggle.notification_widget.success {
background-image: none;
}
.notification_widget.success.disabled:hover,
.notification_widget.success[disabled]:hover,
fieldset[disabled] .notification_widget.success:hover,
.notification_widget.success.disabled:focus,
.notification_widget.success[disabled]:focus,
fieldset[disabled] .notification_widget.success:focus,
.notification_widget.success.disabled.focus,
.notification_widget.success[disabled].focus,
fieldset[disabled] .notification_widget.success.focus {
background-color: #5cb85c;
border-color: #4cae4c;
}
.notification_widget.success .badge {
color: #5cb85c;
background-color: #fff;
}
.notification_widget.info {
color: #fff;
background-color: #5bc0de;
border-color: #46b8da;
}
.notification_widget.info:focus,
.notification_widget.info.focus {
color: #fff;
background-color: #31b0d5;
border-color: #1b6d85;
}
.notification_widget.info:hover {
color: #fff;
background-color: #31b0d5;
border-color: #269abc;
}
.notification_widget.info:active,
.notification_widget.info.active,
.open > .dropdown-toggle.notification_widget.info {
color: #fff;
background-color: #31b0d5;
border-color: #269abc;
}
.notification_widget.info:active:hover,
.notification_widget.info.active:hover,
.open > .dropdown-toggle.notification_widget.info:hover,
.notification_widget.info:active:focus,
.notification_widget.info.active:focus,
.open > .dropdown-toggle.notification_widget.info:focus,
.notification_widget.info:active.focus,
.notification_widget.info.active.focus,
.open > .dropdown-toggle.notification_widget.info.focus {
color: #fff;
background-color: #269abc;
border-color: #1b6d85;
}
.notification_widget.info:active,
.notification_widget.info.active,
.open > .dropdown-toggle.notification_widget.info {
background-image: none;
}
.notification_widget.info.disabled:hover,
.notification_widget.info[disabled]:hover,
fieldset[disabled] .notification_widget.info:hover,
.notification_widget.info.disabled:focus,
.notification_widget.info[disabled]:focus,
fieldset[disabled] .notification_widget.info:focus,
.notification_widget.info.disabled.focus,
.notification_widget.info[disabled].focus,
fieldset[disabled] .notification_widget.info.focus {
background-color: #5bc0de;
border-color: #46b8da;
}
.notification_widget.info .badge {
color: #5bc0de;
background-color: #fff;
}
.notification_widget.danger {
color: #fff;
background-color: #d9534f;
border-color: #d43f3a;
}
.notification_widget.danger:focus,
.notification_widget.danger.focus {
color: #fff;
background-color: #c9302c;
border-color: #761c19;
}
.notification_widget.danger:hover {
color: #fff;
background-color: #c9302c;
border-color: #ac2925;
}
.notification_widget.danger:active,
.notification_widget.danger.active,
.open > .dropdown-toggle.notification_widget.danger {
color: #fff;
background-color: #c9302c;
border-color: #ac2925;
}
.notification_widget.danger:active:hover,
.notification_widget.danger.active:hover,
.open > .dropdown-toggle.notification_widget.danger:hover,
.notification_widget.danger:active:focus,
.notification_widget.danger.active:focus,
.open > .dropdown-toggle.notification_widget.danger:focus,
.notification_widget.danger:active.focus,
.notification_widget.danger.active.focus,
.open > .dropdown-toggle.notification_widget.danger.focus {
color: #fff;
background-color: #ac2925;
border-color: #761c19;
}
.notification_widget.danger:active,
.notification_widget.danger.active,
.open > .dropdown-toggle.notification_widget.danger {
background-image: none;
}
.notification_widget.danger.disabled:hover,
.notification_widget.danger[disabled]:hover,
fieldset[disabled] .notification_widget.danger:hover,
.notification_widget.danger.disabled:focus,
.notification_widget.danger[disabled]:focus,
fieldset[disabled] .notification_widget.danger:focus,
.notification_widget.danger.disabled.focus,
.notification_widget.danger[disabled].focus,
fieldset[disabled] .notification_widget.danger.focus {
background-color: #d9534f;
border-color: #d43f3a;
}
.notification_widget.danger .badge {
color: #d9534f;
background-color: #fff;
}
div#pager {
background-color: #fff;
font-size: 14px;
line-height: 20px;
overflow: hidden;
display: none;
position: fixed;
bottom: 0px;
width: 100%;
max-height: 50%;
padding-top: 8px;
-webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
/* Display over codemirror */
z-index: 100;
/* Hack which prevents jquery ui resizable from changing top. */
top: auto !important;
}
div#pager pre {
line-height: 1.21429em;
color: #000;
background-color: #f7f7f7;
padding: 0.4em;
}
div#pager #pager-button-area {
position: absolute;
top: 8px;
right: 20px;
}
div#pager #pager-contents {
position: relative;
overflow: auto;
width: 100%;
height: 100%;
}
div#pager #pager-contents #pager-container {
position: relative;
padding: 15px 0px;
box-sizing: border-box;
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
}
div#pager .ui-resizable-handle {
top: 0px;
height: 8px;
background: #f7f7f7;
border-top: 1px solid #cfcfcf;
border-bottom: 1px solid #cfcfcf;
/* This injects handle bars (a short, wide = symbol) for
the resize handle. */
}
div#pager .ui-resizable-handle::after {
content: ‘‘;
top: 2px;
left: 50%;
height: 3px;
width: 30px;
margin-left: -15px;
position: absolute;
border-top: 1px solid #cfcfcf;
}
.quickhelp {
/* Old browsers */
display: -webkit-box;
-webkit-box-orient: horizontal;
-webkit-box-align: stretch;
display: -moz-box;
-moz-box-orient: horizontal;
-moz-box-align: stretch;
display: box;
box-orient: horizontal;
box-align: stretch;
/* Modern browsers */
display: flex;
flex-direction: row;
align-items: stretch;
line-height: 1.8em;
}
.shortcut_key {
display: inline-block;
width: 20ex;
text-align: right;
font-family: monospace;
}
.shortcut_descr {
display: inline-block;
/* Old browsers */
-webkit-box-flex: 1;
-moz-box-flex: 1;
box-flex: 1;
/* Modern browsers */
flex: 1;
}
span.save_widget {
margin-top: 6px;
}
span.save_widget span.filename {
height: 1em;
line-height: 1em;
padding: 3px;
margin-left: 16px;
border: none;
font-size: 146.5%;
border-radius: 2px;
}
span.save_widget span.filename:hover {
background-color: #e6e6e6;
}
span.checkpoint_status,
span.autosave_status {
font-size: small;
}
@media (max-width: 767px) {
span.save_widget {
font-size: small;
}
span.checkpoint_status,
span.autosave_status {
display: none;
}
}
@media (min-width: 768px) and (max-width: 991px) {
span.checkpoint_status {
display: none;
}
span.autosave_status {
font-size: x-small;
}
}
.toolbar {
padding: 0px;
margin-left: -5px;
margin-top: 2px;
margin-bottom: 5px;
box-sizing: border-box;
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
}
.toolbar select,
.toolbar label {
width: auto;
vertical-align: middle;
margin-right: 2px;
margin-bottom: 0px;
display: inline;
font-size: 92%;
margin-left: 0.3em;
margin-right: 0.3em;
padding: 0px;
padding-top: 3px;
}
.toolbar .btn {
padding: 2px 8px;
}
.toolbar .btn-group {
margin-top: 0px;
margin-left: 5px;
}
#maintoolbar {
margin-bottom: -3px;
margin-top: -8px;
border: 0px;
min-height: 27px;
margin-left: 0px;
padding-top: 11px;
padding-bottom: 3px;
}
#maintoolbar .navbar-text {
float: none;
vertical-align: middle;
text-align: right;
margin-left: 5px;
margin-right: 0px;
margin-top: 0px;
}
.select-xs {
height: 24px;
}
.pulse,
.dropdown-menu > li > a.pulse,
li.pulse > a.dropdown-toggle,
li.pulse.open > a.dropdown-toggle {
background-color: #F37626;
color: white;
}
/**
* Primary styles
*
* Author: Jupyter Development Team
*/
/** WARNING IF YOU ARE EDITTING THIS FILE, if this is a .css file, It has a lot
* of chance of beeing generated from the ../less/[samename].less file, you can
* try to get back the less file by reverting somme commit in history
**/
/*
* We‘ll try to get something pretty, so we
* have some strange css to have the scroll bar on
* the left with fix button on the top right of the tooltip
*/
@-moz-keyframes fadeOut {
from {
opacity: 1;
}
to {
opacity: 0;
}
}
@-webkit-keyframes fadeOut {
from {
opacity: 1;
}
to {
opacity: 0;
}
}
@-moz-keyframes fadeIn {
from {
opacity: 0;
}
to {
opacity: 1;
}
}
@-webkit-keyframes fadeIn {
from {
opacity: 0;
}
to {
opacity: 1;
}
}
/*properties of tooltip after "expand"*/
.bigtooltip {
overflow: auto;
height: 200px;
-webkit-transition-property: height;
-webkit-transition-duration: 500ms;
-moz-transition-property: height;
-moz-transition-duration: 500ms;
transition-property: height;
transition-duration: 500ms;
}
/*properties of tooltip before "expand"*/
.smalltooltip {
-webkit-transition-property: height;
-webkit-transition-duration: 500ms;
-moz-transition-property: height;
-moz-transition-duration: 500ms;
transition-property: height;
transition-duration: 500ms;
text-overflow: ellipsis;
overflow: hidden;
height: 80px;
}
.tooltipbuttons {
position: absolute;
padding-right: 15px;
top: 0px;
right: 0px;
}
.tooltiptext {
/*avoid the button to overlap on some docstring*/
padding-right: 30px;
}
.ipython_tooltip {
max-width: 700px;
/*fade-in animation when inserted*/
-webkit-animation: fadeOut 400ms;
-moz-animation: fadeOut 400ms;
animation: fadeOut 400ms;
-webkit-animation: fadeIn 400ms;
-moz-animation: fadeIn 400ms;
animation: fadeIn 400ms;
vertical-align: middle;
background-color: #f7f7f7;
overflow: visible;
border: #ababab 1px solid;
outline: none;
padding: 3px;
margin: 0px;
padding-left: 7px;
font-family: monospace;
min-height: 50px;
-moz-box-shadow: 0px 6px 10px -1px #adadad;
-webkit-box-shadow: 0px 6px 10px -1px #adadad;
box-shadow: 0px 6px 10px -1px #adadad;
border-radius: 2px;
position: absolute;
z-index: 1000;
}
.ipython_tooltip a {
float: right;
}
.ipython_tooltip .tooltiptext pre {
border: 0;
border-radius: 0;
font-size: 100%;
background-color: #f7f7f7;
}
.pretooltiparrow {
left: 0px;
margin: 0px;
top: -16px;
width: 40px;
height: 16px;
overflow: hidden;
position: absolute;
}
.pretooltiparrow:before {
background-color: #f7f7f7;
border: 1px #ababab solid;
z-index: 11;
content: "";
position: absolute;
left: 15px;
top: 10px;
width: 25px;
height: 25px;
-webkit-transform: rotate(45deg);
-moz-transform: rotate(45deg);
-ms-transform: rotate(45deg);
-o-transform: rotate(45deg);
}
ul.typeahead-list i {
margin-left: -10px;
width: 18px;
}
ul.typeahead-list {
max-height: 80vh;
overflow: auto;
}
ul.typeahead-list > li > a {
/** Firefox bug **/
/* see https://github.com/jupyter/notebook/issues/559 */
white-space: normal;
}
.cmd-palette .modal-body {
padding: 7px;
}
.cmd-palette form {
background: white;
}
.cmd-palette input {
outline: none;
}
.no-shortcut {
display: none;
}
.command-shortcut:before {
content: "(command)";
padding-right: 3px;
color: #777777;
}
.edit-shortcut:before {
content: "(edit)";
padding-right: 3px;
color: #777777;
}
#find-and-replace #replace-preview .match,
#find-and-replace #replace-preview .insert {
background-color: #BBDEFB;
border-color: #90CAF9;
border-style: solid;
border-width: 1px;
border-radius: 0px;
}
#find-and-replace #replace-preview .replace .match {
background-color: #FFCDD2;
border-color: #EF9A9A;
border-radius: 0px;
}
#find-and-replace #replace-preview .replace .insert {
background-color: #C8E6C9;
border-color: #A5D6A7;
border-radius: 0px;
}
#find-and-replace #replace-preview {
max-height: 60vh;
overflow: auto;
}
#find-and-replace #replace-preview pre {
padding: 5px 10px;
}
.terminal-app {
background: #EEE;
}
.terminal-app #header {
background: #fff;
-webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
}
.terminal-app .terminal {
float: left;
font-family: monospace;
color: white;
background: black;
padding: 0.4em;
border-radius: 2px;
-webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.4);
box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.4);
}
.terminal-app .terminal,
.terminal-app .terminal dummy-screen {
line-height: 1em;
font-size: 14px;
}
.terminal-app .terminal-cursor {
color: black;
background: white;
}
.terminal-app #terminado-container {
margin-top: 20px;
}
/*# sourceMappingURL=style.min.css.map */
-->

时间: 2024-11-03 23:20:16

Predicting Boston Housing Prices的相关文章

New to Machine Learning? Avoid these three mistakes

http://blog.csdn.net/pipisorry/article/details/43973171 James Faghmous提醒机器学习初学者要避免的三方面错误,推荐阅读 New to Machine Learning? Avoid these three mistakes Common pitfalls when learning from data Machine learning (ML) is one of the hottest fields in data scien

An introduction to machine learning with scikit-learn

转自 http://scikit-learn.org/stable/tutorial/basic/tutorial.html#machine-learning-the-problem-setting In general, a learning problem considers a set of n samples of data and then tries to predict properties of unknown data. If each sample is more than

【Coursera - machine learning】 Linear regression with one variable-quiz

Question 1 Consider the problem of predicting how well a student does in her second year of college/university, given how well they did in their first year. Specifically, let x be equal to the number of "A" grades (including A-. A and A+ grades)

人大任务参考

机器学习基本概念 机器学习.统计模型和数据挖掘有什么异同? 机器学习和统计模型区别不是很大,机器学习和统计模型中的回归都一样,底层算法都是差不多的,只是侧重点不一样,在统计学的角度,回归主要解决的问题侧重点在于模型的解释能力,关注的是 x 和 y 之间的关系,关注的更多是系数,从机器学习的角度看,关注的重点是预测的准确性. 机器学习和数据挖掘也没什么不一样,两者的算法基本上是一样的,只是在一些流程步骤上,数据挖掘会有一些特征工程的工作,以及对具体应用问题的解释. 有监督学习和无监督学习有什么区别

[C3] Andrew Ng - Neural Networks and Deep Learning

About this Course If you want to break into cutting-edge AI, this course will help you do so. Deep learning engineers are highly sought after, and mastering deep learning will give you numerous new career opportunities. Deep learning is also a new "s

结合Scikit-learn介绍几种常用的特征选择方法

作者:Edwin Jarvis 特征选择(排序)对于数据科学家.机器学习从业者来说非常重要.好的特征选择能够提升模型的性能,更能帮助我们理解数据的特点.底层结构,这对进一步改善模型.算法都有着重要作用. 特征选择主要有两个功能: 减少特征数量.降维,使模型泛化能力更强,减少过拟合 增强对特征和特征值之间的理解 拿到数据集,一个特征选择方法,往往很难同时完成这两个目的.通常情况下,我们经常不管三七二十一,选择一种自己最熟悉或者最方便的特征选择方法(往往目的是降维,而忽略了对特征和数据理解的目的).

机器学习scikit-learn入门教程

原文链接:http://scikit-learn.github.io/dev/tutorial/basic/tutorial.html 章节内容 在这个章节中,我们主要介绍关于scikit-learn机器学习词库,并且将给出一个学习样例. 机器学习:问题设置 通常,一个学习问题是通过一系列的n个样本数据来学习然后尝试预测未知数据的属性.如果每一个样本超过一个单一的数值,例如多维输入(也叫做多维数据),那么它就拥有了多个特征. 我们可以把学习问题划分为几个大的来别: 监督学习: 在监督学习中,这些

scikit-learn 框架

1 Introduction 1.1 Dataset scikit-learn提供了一些标准数据集(datasets),比如用于分类学习的iris 和 digits 数据集,还有用于归约的boston house prices 数据集. 其使用方式非常简单如下所示: $ python >>> from sklearn import datasets >>> iris = datasets.load_iris() >>> digits = dataset

干货:结合Scikit-learn介绍几种常用的特征选择方法

原文  http://dataunion.org/14072.html 主题 特征选择 scikit-learn 作者: Edwin Jarvis 特征选择(排序)对于数据科学家.机器学习从业者来说非常重要.好的特征选择能够提升模型的性能,更能帮助我们理解数据的特点.底层结构,这对进一步改善模型.算法都有着重要作用. 特征选择主要有两个功能: 减少特征数量.降维,使模型泛化能力更强,减少过拟合 增强对特征和特征值之间的理解 拿到数据集,一个特征选择方法,往往很难同时完成这两个目的.通常情况下,我