diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml new file mode 100644 index 0000000..126c248 --- /dev/null +++ b/.github/workflows/docs.yml @@ -0,0 +1,30 @@ +name: Docs + +on: + push: + branches: + - main + - master + +permissions: + contents: write + +jobs: + publish: + runs-on: ubuntu-latest + steps: + - name: Check out + uses: actions/checkout@v4 + + - name: Install Emacs + run: sudo apt install emacs-nox --yes + + - name: Build the site + run: ./build.sh + working-directory: docs/ + + - name: Publish generated content to GitHub Pages + uses: JamesIves/github-pages-deploy-action@4.1.4 + with: + branch: docs + folder: docs/public/ diff --git a/README.org b/README.org index 5700700..4fec73a 100644 --- a/README.org +++ b/README.org @@ -109,8 +109,75 @@ filename_cordinates.bin will have a file format in the following form i_0:(4 ints) the 4 elements that share a common face with the element #+END_SRC +** Inigenerator +#+end_src +The inigenerator utility is utilized to create the flowVC input files for multiple simulations. The utility reads a configuration file wich can be used to set default paramaters (config.inigenerator.cfg) and adjusts input/output paths for each case.The utility can also be used to determines 3D coordinate bounds, streaching them slighly to meet the flowVC requirement of having cubic cells. Essentially the utility helps manage + +- Directory paths (where input data is stored, where outputs go, etc.) + +- Mesh bounds for the data (e.g., xmin, xmax, ymin, ymax, zmin, zmax). +- Resolution in each dimension (xres, yres, zres) based on the cell size. +- Time direction settings (forward or backward) for the FTLE-related output. + +- Name prefixes and other run-time details that go into the final configuration so the output FTLE files are identifiable for each simulation case. + +*** Usage +To view the help menu run: +#+begin_src shell +python -m flowvcutils inigenerator --help +#+end_src + +The defaults for the .in settings can be found and changed in the flowVC_utils/src/config directory. The tool assumes that the results of the simulation are organized in the following folder structure, where "project_root" and "case1" can be any name, but the "input_bin" "input_vtu" and "output_bin" directory names are exactly as shown: + +#+Begin_SRC text +project_root +└── case1 + ├── input_bin + ├── input_vtu + └── output_bin +#+End_SRC + + +Optional flags include +-d, --directory: This specifies where to run the tool from, with a default being the current directory you are in. + +--autorange: This flag can be utilized to have the tool read the mesh bounds for the DataMesh and FTLEMesh from the simulation results data. To use this flag ensure there is at least one .vtu file in the input_vtu directory. If it is not set whatever is in the configuration file will be utilized. + +--cell_size: The cell size for the FTLE mesh with a default of 0.001 + +--manual_bounds: This can be utilized to set the min_x, min_y, min_z, max_x, max_y, and max_z for the FTLE mesh. This is useful when attempting to compute the ftle field on a smaller subset (i.e. slice) of the result domain. + +--direction: This can be utilized to specify the computation of an attracting (backward) or repeling (forward) FTLE field. + +--batch: This creates input files for multiple simulation result cases at once. To utilize this ensure your project is organized as follows + +#+Begin_SRC text +-project_directory +project_root +├── case1 +│ ├── input_bin +│ ├── input_vtu +│ └── output_bin +└── case2 + ├── input_bin + ├── input_vtu + └── output_bin +#+End_SRC + +*** Example +To generate the FTLE mesh over the entire computation domain for multiple simulation results you can run: +#+begin_src shell + python -m flowvcutils inigenerator --auto_range True --batch +#+end_src + +To generate an FTLE field for a slice of the domain at a higher resolution you can run: +#+begin_src shell + python -m flowvcutils inigenerator -cell_size 0.0001 --auto_range True --manual_bounds -0.000976751 0.145677 0.12361 -0.00095 0.203633 0.236885 --batch +#+end_src + +It is not critical that the range is perfectly divisible by the cell_size, the tool will increase the mesh bounds max slightly ensuring the cell size remains constant. However notice how in this case the x_min and x_max are far enough apart to generate at least 2 cells in the x-direction. This creates a pseudo-2D ftle mesh slice out of the domain, as the flowVC tool requires 2 cells every direction when a 3D mesh is utilized. ** filerename.py Rename the files in a directory. @@ -214,3 +281,32 @@ To --increment INTEGER Current file number start. -h, --help Show this message and exit. #+END_SRC +* flowVC-utils +** Installation on Monsoon NAUs Cluster Computer + +On Monsoon, NAU's computer cluster, the flowVC-utils can be installed into a conda enviroment. + +First the mamaforge module is loaded using the following command + +#+begin_src shell + module load mambaforge + conda env list +#+end_src + +Once conda is loaded, a new anaconda enviroment can be created and activated. +#+begin_src shell + conda env create flowvcutils + conda activate flowvcutils +#+end_src + +Once inside a conda enviroment, the flowVC-utils project can be cloned from the github source code located https://github.com/bkm82/flowVC-utils. It is installed via editable mode. +#+begin_src shell + git clone https://github.com/bkm82/flowVC-utils.git + cd flowVC-utils + pip install -e . +#+end_src +Installing it in editable (-e) mode allows for changes to the source code if needed without needing to reinstall. To update the code to the latest version on github run. + +#+begin_src shell + git checkout main + git pull diff --git a/docs/build-site.el b/docs/build-site.el new file mode 100644 index 0000000..1c38903 --- /dev/null +++ b/docs/build-site.el @@ -0,0 +1,53 @@ +;; Set the package installation directory so that packages aren't stored in the +;; ~/.emacs.d/elpa path. +(require 'package) +(setq package-user-dir (expand-file-name "./.packages")) +(setq package-archives '(("melpa" . "https://melpa.org/packages/") + ("elpa" . "https://elpa.gnu.org/packages/"))) + +;; Initialize the package system +(package-initialize) +(unless package-archive-contents + (package-refresh-contents)) + +;; Install dependencies +(package-install 'htmlize) + +;; Load the publishing system +(require 'ox-publish) + +;; Define the publishing project +(setq org-publish-project-alist + (list + '("my-org-site" + :recursive t + :base-directory "./content" + :publishing-directory "./public" + :base-extension "org" + :publishing-function org-html-publish-to-html + :with-author nil ;; Don't include author name + :with-creator t ;; Emacs and Org versions in footer + + :with-toc t ;; Include a table of contents + :section-numbers nil ;; Don't include section numbers + :time-stamp-file nil ;; Don't include time stamp in file + ) + '("org-static" + :base-directory "./content" + :base-extension "css\\|js\\|png\\|jpg\\|gif\\|pdf\\|mp3\\|ogg\\|swf" + :publishing-directory "./public" + :recursive t + :publishing-function org-publish-attachment + ) + )) +;; Remove validate ling at bottom +(setq org-html-validation-link nil ;; Dont show validation link + org-html-head-include-scripts nil ;; Use our own scripts + org-html-head-include-default-style nil) ;; Use our own styles + ;;org-html-head "") + ;;org-html-head "") +;; Generate the site output +(org-publish-all t) + + +(message "Build complete!") diff --git a/docs/build.sh b/docs/build.sh new file mode 100755 index 0000000..b2ca9cb --- /dev/null +++ b/docs/build.sh @@ -0,0 +1,3 @@ +#!/bin/sh +SCRIPT_DIR="$(dirname "$(realpath "$0")")" +emacs -Q --script $SCRIPT_DIR/build-site.el diff --git a/docs/content/FTLE_example.org b/docs/content/FTLE_example.org new file mode 100644 index 0000000..8e8d830 --- /dev/null +++ b/docs/content/FTLE_example.org @@ -0,0 +1,352 @@ +#+SETUPFILE: ../org-themes/theme-readtheorg.setup +#+INCLUDE: "./header.org" +* Input File + +#+begin_src shell :tangle ../../examples/inputfile.in + +################################# flowVC INPUT FILE ##################################### +# +# NOTE: Order of parameters listed must be maintained for proper parsing of input file +# Comment lines begin with #, comments can be added or removed as desired +# Comments cannot occur on lines containing variable declartations +# Standard format: VARIABLE_NAME = VALUE +# +####################################################################################### + +# Path_Data: String, Directory containing data files, e.g. velocity data, etc. +# Can be set to pwd (i.e. present working directory) +Path_Data = ../bin/ + +# Path_Output: String, Directory where output files will be written +# Can be set to pwd (i.e. present working directory) +Path_Output = ../output/ + +# Dimensions: Integer, Specifies if velocity data is 2D or 3D +Dimensions = 2 + +# Data_MeshType: Integer, Specifies mesh type of velocity data +# 0: Cartesian +# You will need files Data_InFilePrefix_vel.*.bin and Data_InFilePrefix_Cartesian.bin +# 1: Unstructured (tetrahedral for 3D and triangular for 2D) +# You will need files Data_InFilePrefix_vel.*.bin and Data_InFilePrefix_coordinates.bin, +# Data_InFilePrefix_connectivity.bin and Data_InFilePrefix_adjacency.bin +Data_MeshType = 0 + +# Data_InFilePrefix: String, common prefix for input velocity files (see minimum files needed above) +Data_InFilePrefix = dg + +# Data_SuffixTMin: Integer, number appended to the name of first velocity data file +# Assumes naming convention of Data_InFilePrefix_vel.N.bin, where Data_InFilePrefix is +# specified above and N varies from Data_SuffixTMin to (Data_SuffixTMin + Data_SuffixTDelta * Data_SuffixTRes) +Data_SuffixTMin = 0 + +# Data_SuffixTDelta: Integer, Increment between successive velocity data files +Data_SuffixTDelta = 1 + +# Data_SuffixTRes: Integer, number of velocity data files +Data_TRes = 51 + +# Data_TDelta: (Positive) Float, actual time spacing between successive velocity data files +# Assumes time spacing between velocity data files is constant +Data_TDelta = 0.02 + +# Data_TMin: Float, actual time assigned to first velocity data file +# Choice is arbitrary, but it usually makes sense to set this to 0.0, which would +# imply that the first velocity data file specifies the velocity at time 0.0 +Data_TMin = 0.0 + +# Data_TPeriodic: Binary flag, Specifies if data is periodic in time +# 0: Not periodic +# 1: Periodic (make sure first and last data file correspond to same point in cycle) +Data_TPeriodic = 1 + +# Data_XPeriodic: Binary flag, Specifies if data is periodic in space +# 0: Not periodic +# 1: Periodic +Data_XPeriodic = 0 + +# Data_MeshBounds.XMin, ..., Data_MeshBounds.ZMax: Specifies bounding box of velocity data +# Setting these bounds LARGER than the actual velocity domain will NOT affect the results +# Setting these bounds SMALLER than the actual velocity domain WILL limit the velocity data considered +Data_MeshBounds.XMin = 0.0 +Data_MeshBounds.XMax = 2.0 +Data_MeshBounds.YMin = 0.0 +Data_MeshBounds.YMax = 1.0 +Data_MeshBounds.ZMin = 0.0 +Data_MeshBounds.ZMax = 0.0 + +# Fluid_Density: Float, specifies fluid density (use consistent units) +# Valid only if Particle_Radius > 0 +Fluid_Density = 1.0 + +# Fluid_Viscosity: Float, specifies fluid viscosity (use consistent units) +# Valid only if Particle_Radius > 0 +Fluid_Viscosity = 1.0 + +# Output_TStart: Float, initial time to start simulation and begin writing output +# If FTLE_Compute = 1: Specifies time at which first FTLE field is computed AND output +# If Trace_Compute = 1: Specifies start time to begin computing tracer trajectories AND outputting positions to file +Output_TStart = 0.0 + +# Output_TRes: (Positive) Integer, Number of output times +# If FTLE_Compute: Specifies number of time instances when the FTLE field will be computed AND output +# If Trace_Compute: Specifies number of time instances that tracer positions will be output to file +Output_TRes = 11 + +# Output_TDelta: (Positive) Float, Time between successive output +# If FTLE_Compute: How often the FTLE field will be computed AND output +# If Trace_Compute: How often the tracer positions will be output to file +Output_TDelta = 0.1 + +# Int_Type: Integer, specified integration routine used +# 0: Euler +# 1: 4th order Runge Kutta +# 2: Runge Kutta Fehlberg (adaptive time stepping) +Int_Type = 1 + +# Int_TimeStep: (Positive) Float, Time step used for integration Euler or RK4 routines (i.e. Int_Type = 0 or 1) +# Valid only for Int_Type = 0 or 1 +Int_TimeStep = 0.001 + +# Int_Accuracy: (Positive) Float, Absolute error tolorance (between RK4 and RK5) +# Valid only for Int_Type = 2 +Int_Accuracy = 0.001 + +# Int_MinTimeStep: (Positive) Float, Minimum allowable time step used in RKF routine +# Once this time step is reached, RK4 approximation automatically accepted +# Valid only for Int_Type = 2 +Int_MinTimeStep = 0.00001 + +# Int_MaxTimeStep: (Positive) Float, Maximum allowable time step used in RKF routine +# Time step will not be increased beyond this limit even if error between RK4 and RK5 is less than Int_Accuracy +# Valid only for Int_Type = 2 +Int_MaxTimeStep = 0.1 + +# Int_TimeDirection: Integer, Should be set to 1 or -1 +# 1: Advect particles forward in time +# -1: Advect particles backward in time (used to compute backward time FTLE field) +Int_TimeDirection = 1 + +# Int_NormalFlow: Binary flag +# 0: Do not impose inward flow on no-slip boundaries +# 1: Replace no-slip condition on boundaries with inward velocity (magnitude specified by NormalFlowScaling below) +# Requires the file Data_InFilePrefix_normals.bin generated from program GetNormals.exe +# Currently valid only for Data_MeshType = 1 +Int_NormalFlow = 0 + +# Int_NormalFlowScaling: Float, Scaling for inward pointing boundary velocity (to prevent tracers from crossing +# no-slip boundaries), Need to set the number negative if file contains outward normals +# Valid only for Data_MeshType = 1, Int_NormalFlow = 1 +Int_NormalFlowScaling = 1.0 + +# Int_Extrapolate: Integer, allows particles to be integrated outside of domain of data by extrapolation of data set +# 0: End integration once particle leaves domain (or subset defined by Data_MeshBounds above). +# Computes FTLE for such points (and neighbors) early. +# 1: Extrapolate velocity outside domain by continuing particle with exit velocity (usually better than below) +# 2: Linear extrapolation of entire data set (NOT recommended unless you know what you're doing) +Int_Extrapolate = 0 + +# Particle_Radius: Float, Radius of all things treated as Lagrangian points +# Set to zero if you want points to behave as perfect tracers (recommended unless you know what you're doing) +Particle_Radius = 0.0 + +# Particle_Density: Float, Mass density of all things treated as Lagrangian points +# Respectively, set =, >, or < fluid density for neutrally buoyant, aerosols, or bubbles +# Only valid if Particle_Radius > 0 +Particle_Density = 1.0 + +# Particle_ICType: Int, Specified type of initial condition assigned to particles +# 0: Start particles from rest +# 1: Start particles with velocity equal to fluid velocity at particle release location (recommended) +# Valid only if Particle_Radius > 0 +Particle_ICType = 1 + +# Gravity_Vector[i]: Floats, Specifies components of gravity vector (use consistent units) +# Valid only if Particle_Radius > 0 +Gravity_Vector[0] = 0.0 +Gravity_Vector[1] = 0.0 +Gravity_Vector[2] = 0.0 + +# Local_Search_Checking: Binary flag +# 0: Only use local search protocol to determine elements containing initial location of points +# where velocity will need to be interpolated (recommended) +# 1: Use global search to check failures of local search protocol (safest, but can be painfully slow +# if you're not careful) +# Valid only if Data_MeshType = 1 +LocalSearchChecking = 0 + +# FTLE_Compute: Binary flag +# 0: Do not compute FTLE fields +# 1: Compute FTLE fields (Trace_Compute MUST be 0) +FTLE_Compute = 1 + +# FTLE_GenerateMesh: Binary flag +# 0: Read in FTLE mesh data from file FTLE_ICFile (this file created by running flowVC with FTLE_GenerateMesh = 1) +# 1: Generate a Cartesian mesh over which FTLE will be computed (mesh parameters specified below, resulting data +# saved to file FTLE_ICFile) +# Valid only if FTLE_Compute = 1 +FTLE_GenerateMesh = 1 + +# FTLE_ICFile: String, Name of file storing FTLE mesh information +# If FTLE_GenerateMesh = 0, this file should be located in Path_Work directory +# If FTLE_GenerateMesh = 0, this file will be written to Path_Work directory +# Valid only if FTLE_Compute = 1 +FTLE_ICFile = dg_FTLEgrid + +# FTLE_MeshBounds.XMin, ..., FTLE_MeshBounds.ZRes: Specifies structured grid over which FTLE is computed +# Valid only if FTLE_Compute = 1 +FTLE_MeshBounds.XMin = 0.0 +FTLE_MeshBounds.XMax = 2.0 +FTLE_MeshBounds.YMin = 0.0 +FTLE_MeshBounds.YMax = 1.0 +FTLE_MeshBounds.ZMin = 0.0 +FTLE_MeshBounds.ZMax = 0.0 +FTLE_MeshBounds.XRes = 201 +FTLE_MeshBounds.YRes = 101 +FTLE_MeshBounds.ZRes = 1 + +# FTLE_IntTLength: (Positive) Float, Integration time used to compute FTLE +# Valid only if FTLE_Compute = 1 +FTLE_IntTLength = 1.0 + +# FTLE_ComputeVariation: Binary flag, Used to help determine appropriate integration time by ah hoc means +# 0: Compute FTLE at each output time with integration time set to FTLE_IntTimeLength (nominally, can be reduced when a tracer leaves early) +# 1: Compute variation of FTLE with integration time +# Output_TRes MUST be 1 if FTLE_ComputeVariation = 1 +# Valid only if FTLE_Compute = 1 +FTLE_ComputeVariation = 0 + +# FTLE_VariationOutFreq: (Positive) Integer, controls how often FTLE is output when computing variation of FTLE with +# integration time +# If set to 1, output is generated at every time instance that velocity data is defined, if set to, e.g., 5, then output +# is generated at 1/5 of that rate (i.e. every 5 velocity data frames) +# Valid only if FTLE_ComputeVariation = 1 +FTLE_VariationOutFreq = 1 + +# FTLE_OutFilePrefix: String, Filename prefix where FTLE output data is written +# A separate file is generated for each output time (e.g. dg_forFTLE.0.bin, ..., dg_forFTLE.10.bin if Output_TRes = 11) +# NOTE: Two types of output files are generated, one set with the 1/T scaling in the definition of FTLE (*_noT.bin files), and ones with the scaling +# Valid only if FTLE_Compute = 1 +FTLE_OutFilePrefix = dg_forwardFTLE + + +# Trace_Compute: Binary flag +# 0: Do not compute tracer trajectories +# 1: Compute tracer trajectories (FTLE_Compute MUST be 0) +Trace_Compute = 0 + +Trace_ReleaseStrategy = 0 +Trace_ReleaseTMax = 0.000755 + + +# Trace_GenerateMesh: Binary Flag +# 0: Read in tracer initial positions from a file (specified by Trace_InFile) +# 1: Generate a Cartesian grid of tracers to integrate (mesh parameters specified below) +# Valid only if Trace_Compute = 1 +Trace_GenerateMesh = 1 + +# Trace_InFile: String, Name of File containing tracer initial positions +# Valid only if Trace_Compute = 1 and Trace_GenerateMesh = 0 +Trace_InFile = tracer_grid.bin + +# Trace_MultipleInFiles: Binary Flag +# 0: Default +# 1: Tracer initial conditions change over time and are specified by multiple files +Trace_MultipleInFiles = 0 + +# Trace_InFileFormat: Integer, specifies format of Trace_InFile +# 0: Use this if you want to reuse the .IC file that is generated from flowVC (use with care) +# 1: ASCII file, first line lists the number of tracers and subsequent lines list the x,y,z coordinates +# 2: ASCII legacy VTK polydata mesh format +# 3: ASCII legacy VTK unstructured mesh format +# 4: Binary file, first entry (int) lists the number of tracers and subsequent entries (doubles) list the x,y,z coordinates (binary version of format 1) +# Valid only if Compute_Tracers = 1 and Trace_GenerateMesh = 0 +Trace_InFileFormat = 4 + +# Trace_OutFile: String, Prefix for files where tracer position data will be written +# Tracer positions written to separate files for each output time +# Valid only if Trace_Compute = 1 +Trace_OutFilePrefix = dg_tracer-positions + +# Trace_NumLaunchTimes: (Positive) Integer, Number of times to release tracers from initial positions +# If Trace_MultipleInFiles = 1, then this should be number of files +# Valid only if Trace_Compute = 1 +Trace_NumLaunchTimes = 1 + +# Trace_LaunchTimeSpacing: (Positive) Float, Time between successive release of tracers from initial positions +# Valid only if Trace_Compute = 1 and Trace_NumLaunchTimes > 1 +Trace_LaunchTimeSpacing = 0.1 + +# Trace_IntTLength: (Positive) Float, Can be used to limit amount of time any tracer will be integrated +# Recommended to set this to some value larger than (Output_TRes x Output_TDelta) unless you know what you're doing +# Valid only if Trace_Compute = 1 and Trace_ReleaseStrategy = 0 +Trace_IntTLength = 100 + +# Trace_AlwaysOutput: Binary Flag +# 0: Do not write out tracer position to file once it has left the domain +# 1: Always write out tracer position to file, even if it left the domain +# Valid only if Trace_Compute = 1 +Trace_AlwaysOutput = 0 + +# Trace_CartMesh.XMin, ..., Trace_CartMesh.ZRes: Specifies Cartesian mesh of tracers to be intergrated +# Valid only if Trace_Compute = 1 AND Trace_GenerateMesh = 1 +Trace_CartMesh.XMin = 0.0 +Trace_CartMesh.XMax = 2.0 +Trace_CartMesh.YMin = 0.0 +Trace_CartMesh.YMax = 0.1 +Trace_CartMesh.ZMin = 0.0 +Trace_CartMesh.ZMax = 0.0 +Trace_CartMesh.XRes = 201 +Trace_CartMesh.YRes = 101 +Trace_CartMesh.ZRes = 1 + +# TODO Fill in this documentation +# These are required but their functionality is not +Trace_VorticityCompute = 0 +Trace_APCompute = 0 +Trace_CETCompute = 0 +Trace_CETAuxillaryMesh = 0 +Trace_CETMeshPrefix = specified +Trace_CETSubsteps = 0 +Trace_RTCompute = 0 +Trace_RTOutFilePrefix = dg_tracer-rt + +# VelOut_Compute: Binary flag, Used to generate interpolated velocity fields +# 0: Do not generate interpolated velocity fields +# 1: Generate interploated velocity fields +VelOut_Compute = 0 + +# VelOut_GenerateMesh: Binary flag +# 0: Read interpolation locations from file specified by VelOut_InFile +# 1: Generate a Cartesian mesh of positions where velocity will be interpolated (mesh parameters specified below) +# Valid only for VelOut_Compute = 1 +VelOut_GenerateMesh = 1 + +# VelOut_InFile: String, filename containing locations of points for interpolation +# Valid only for VelOut_Compute = 1 and VelOut_GenerateMesh = 0 +VelOut_InFile = interpolation-positions.vtk + +# VelOut_InFileFormat, Integer, specified format of VelOut_InFile +# 1: ASCII file, first line lists the number of locations and subsequent lines list the coordinates +# 3: ASCII legacy VTK polydata mesh format (as output from Paraview) +# 4: ASCII legacy VTK unstructured mesh format (as output from Paraview) +# Valid only if VelOut_Compute = 1 AND VelOut_GenerateMesh = 0 +VelOut_InFileFormat = 1 + +# VelOut_FilePrefix: String, Filename prefix for files that interpolated velocity is data is written to +# Velocity output written to separate files, one per output time +# Valid only if VelOut_Compute = 1 +VelOut_FilePrefix = dg-interpolated + +# VelOut_CartMesh.XMin, ..., VelOut_CartMesh.ZRes: Specifies Cartesian mesh of interpolation positions +# Valid only if VelOut_Compute = 1 +VelOut_CartMesh.XMin = 0.0 +VelOut_CartMesh.XMax = 2.0 +VelOut_CartMesh.YMin = 0.0 +VelOut_CartMesh.YMax = 1.0 +VelOut_CartMesh.ZMin = 0.0 +VelOut_CartMesh.ZMax = 0.0 +VelOut_CartMesh.XRes = 21 +VelOut_CartMesh.YRes = 11 +VelOut_CartMesh.ZRes = 1 +#+end_src diff --git a/docs/content/css/htmlize.css b/docs/content/css/htmlize.css new file mode 100644 index 0000000..0b32a03 --- /dev/null +++ b/docs/content/css/htmlize.css @@ -0,0 +1,145 @@ +.org-bold { /* bold */ font-weight: bold; } +.org-bold-italic { /* bold-italic */ font-weight: bold; font-style: italic; } +.org-buffer-menu-buffer { /* buffer-menu-buffer */ font-weight: bold; } +.org-builtin { /* font-lock-builtin-face */ color: #7a378b; } +.org-button { /* button */ text-decoration: underline; } +.org-calendar-today { /* calendar-today */ text-decoration: underline; } +.org-change-log-acknowledgement { /* change-log-acknowledgement */ color: #b22222; } +.org-change-log-conditionals { /* change-log-conditionals */ color: #a0522d; } +.org-change-log-date { /* change-log-date */ color: #8b2252; } +.org-change-log-email { /* change-log-email */ color: #a0522d; } +.org-change-log-file { /* change-log-file */ color: #0000ff; } +.org-change-log-function { /* change-log-function */ color: #a0522d; } +.org-change-log-list { /* change-log-list */ color: #a020f0; } +.org-change-log-name { /* change-log-name */ color: #008b8b; } +.org-comint-highlight-input { /* comint-highlight-input */ font-weight: bold; } +.org-comint-highlight-prompt { /* comint-highlight-prompt */ color: #00008b; } +.org-comment { /* font-lock-comment-face */ color: #999988; font-style: italic; } +.org-comment-delimiter { /* font-lock-comment-delimiter-face */ color: #999988; font-style: italic; } +.org-completions-annotations { /* completions-annotations */ font-style: italic; } +.org-completions-common-part { /* completions-common-part */ color: #000000; background-color: #ffffff; } +.org-completions-first-difference { /* completions-first-difference */ font-weight: bold; } +.org-constant { /* font-lock-constant-face */ color: #008b8b; } +.org-diary { /* diary */ color: #ff0000; } +.org-diff-context { /* diff-context */ color: #7f7f7f; } +.org-diff-file-header { /* diff-file-header */ background-color: #b3b3b3; font-weight: bold; } +.org-diff-function { /* diff-function */ background-color: #cccccc; } +.org-diff-header { /* diff-header */ background-color: #cccccc; } +.org-diff-hunk-header { /* diff-hunk-header */ background-color: #cccccc; } +.org-diff-index { /* diff-index */ background-color: #b3b3b3; font-weight: bold; } +.org-diff-nonexistent { /* diff-nonexistent */ background-color: #b3b3b3; font-weight: bold; } +.org-diff-refine-change { /* diff-refine-change */ background-color: #d9d9d9; } +.org-dired-directory { /* dired-directory */ color: #0000ff; } +.org-dired-flagged { /* dired-flagged */ color: #ff0000; font-weight: bold; } +.org-dired-header { /* dired-header */ color: #228b22; } +.org-dired-ignored { /* dired-ignored */ color: #7f7f7f; } +.org-dired-mark { /* dired-mark */ color: #008b8b; } +.org-dired-marked { /* dired-marked */ color: #ff0000; font-weight: bold; } +.org-dired-perm-write { /* dired-perm-write */ color: #b22222; } +.org-dired-symlink { /* dired-symlink */ color: #a020f0; } +.org-dired-warning { /* dired-warning */ color: #ff0000; font-weight: bold; } +.org-doc { /* font-lock-doc-face */ color: #8b2252; } +.org-escape-glyph { /* escape-glyph */ color: #a52a2a; } +.org-file-name-shadow { /* file-name-shadow */ color: #7f7f7f; } +.org-flyspell-duplicate { /* flyspell-duplicate */ color: #cdad00; font-weight: bold; text-decoration: underline; } +.org-flyspell-incorrect { /* flyspell-incorrect */ color: #ff4500; font-weight: bold; text-decoration: underline; } +.org-fringe { /* fringe */ background-color: #f2f2f2; } +.org-function-name { /* font-lock-function-name-face */ color: teal; } +.org-header-line { /* header-line */ color: #333333; background-color: #e5e5e5; } +.org-help-argument-name { /* help-argument-name */ font-style: italic; } +.org-highlight { /* highlight */ background-color: #b4eeb4; } +.org-holiday { /* holiday */ background-color: #ffc0cb; } +.org-isearch { /* isearch */ color: #b0e2ff; background-color: #cd00cd; } +.org-isearch-fail { /* isearch-fail */ background-color: #ffc1c1; } +.org-italic { /* italic */ font-style: italic; } +.org-keyword { /* font-lock-keyword-face */ color: #0086b3; } +.org-lazy-highlight { /* lazy-highlight */ background-color: #afeeee; } +.org-link { /* link */ color: #0000ff; text-decoration: underline; } +.org-link-visited { /* link-visited */ color: #8b008b; text-decoration: underline; } +.org-log-edit-header { /* log-edit-header */ color: #a020f0; } +.org-log-edit-summary { /* log-edit-summary */ color: #0000ff; } +.org-log-edit-unknown-header { /* log-edit-unknown-header */ color: #b22222; } +.org-match { /* match */ background-color: #ffff00; } +.org-next-error { /* next-error */ background-color: #eedc82; } +.org-nobreak-space { /* nobreak-space */ color: #a52a2a; text-decoration: underline; } +.org-org-archived { /* org-archived */ color: #7f7f7f; } +.org-org-block { /* org-block */ color: #7f7f7f; } +.org-org-block-begin-line { /* org-block-begin-line */ color: #b22222; } +.org-org-block-end-line { /* org-block-end-line */ color: #b22222; } +.org-org-checkbox { /* org-checkbox */ font-weight: bold; } +.org-org-checkbox-statistics-done { /* org-checkbox-statistics-done */ color: #228b22; font-weight: bold; } +.org-org-checkbox-statistics-todo { /* org-checkbox-statistics-todo */ color: #ff0000; font-weight: bold; } +.org-org-clock-overlay { /* org-clock-overlay */ background-color: #ffff00; } +.org-org-code { /* org-code */ color: #7f7f7f; } +.org-org-column { /* org-column */ background-color: #e5e5e5; } +.org-org-column-title { /* org-column-title */ background-color: #e5e5e5; font-weight: bold; text-decoration: underline; } +.org-org-date { /* org-date */ color: #a020f0; text-decoration: underline; } +.org-org-document-info { /* org-document-info */ color: #191970; } +.org-org-document-info-keyword { /* org-document-info-keyword */ color: #7f7f7f; } +.org-org-document-title { /* org-document-title */ color: #191970; font-size: 144%; font-weight: bold; } +.org-org-done { /* org-done */ color: #228b22; font-weight: bold; } +.org-org-drawer { /* org-drawer */ color: #0000ff; } +.org-org-ellipsis { /* org-ellipsis */ color: #b8860b; text-decoration: underline; } +.org-org-footnote { /* org-footnote */ color: #a020f0; text-decoration: underline; } +.org-org-formula { /* org-formula */ color: #b22222; } +.org-org-headline-done { /* org-headline-done */ color: #bc8f8f; } +.org-org-hide { /* org-hide */ color: #ffffff; } +.org-org-latex-and-export-specials { /* org-latex-and-export-specials */ color: #8b4513; } +.org-org-level-1 { /* org-level-1 */ color: #0000ff; } +.org-org-level-2 { /* org-level-2 */ color: #a0522d; } +.org-org-level-3 { /* org-level-3 */ color: #a020f0; } +.org-org-level-4 { /* org-level-4 */ color: #b22222; } +.org-org-level-5 { /* org-level-5 */ color: #228b22; } +.org-org-level-6 { /* org-level-6 */ color: #008b8b; } +.org-org-level-7 { /* org-level-7 */ color: #7a378b; } +.org-org-level-8 { /* org-level-8 */ color: #8b2252; } +.org-org-link { /* org-link */ color: #0000ff; text-decoration: underline; } +.org-org-meta-line { /* org-meta-line */ color: #b22222; } +.org-org-mode-line-clock { /* org-mode-line-clock */ color: #000000; background-color: #bfbfbf; } +.org-org-mode-line-clock-overrun { /* org-mode-line-clock-overrun */ color: #000000; background-color: #ff0000; } +.org-org-quote { /* org-quote */ color: #7f7f7f; } +.org-org-scheduled { /* org-scheduled */ color: #006400; } +.org-org-scheduled-previously { /* org-scheduled-previously */ color: #b22222; } +.org-org-scheduled-today { /* org-scheduled-today */ color: #006400; } +.org-org-sexp-date { /* org-sexp-date */ color: #a020f0; } +.org-org-special-keyword { /* org-special-keyword */ color: #a020f0; } +.org-org-table { /* org-table */ color: #0000ff; } +.org-org-tag { /* org-tag */ font-weight: bold; } +.org-org-target { /* org-target */ text-decoration: underline; } +.org-org-time-grid { /* org-time-grid */ color: #b8860b; } +.org-org-todo { /* org-todo */ color: #ff0000; font-weight: bold; } +.org-org-upcoming-deadline { /* org-upcoming-deadline */ color: #b22222; } +.org-org-verbatim { /* org-verbatim */ color: #7f7f7f; } +.org-org-verse { /* org-verse */ color: #7f7f7f; } +.org-org-warning { /* org-warning */ color: #ff0000; font-weight: bold; } +.org-outline-1 { /* outline-1 */ color: #0000ff; } +.org-outline-2 { /* outline-2 */ color: #a0522d; } +.org-outline-3 { /* outline-3 */ color: #a020f0; } +.org-outline-4 { /* outline-4 */ color: #b22222; } +.org-outline-5 { /* outline-5 */ color: #228b22; } +.org-outline-6 { /* outline-6 */ color: #008b8b; } +.org-outline-7 { /* outline-7 */ color: #7a378b; } +.org-outline-8 { /* outline-8 */ color: #8b2252; } +.org-preprocessor { /* font-lock-preprocessor-face */ color: #7a378b; } +.org-query-replace { /* query-replace */ color: #b0e2ff; background-color: #cd00cd; } +.org-regexp-grouping-backslash { /* font-lock-regexp-grouping-backslash */ font-weight: bold; } +.org-regexp-grouping-construct { /* font-lock-regexp-grouping-construct */ font-weight: bold; } +.org-region { /* region */ background-color: #eedc82; } +.org-secondary-selection { /* secondary-selection */ background-color: #ffff00; } +.org-shadow { /* shadow */ color: #7f7f7f; } +.org-show-paren-match { /* show-paren-match */ background-color: #40e0d0; } +.org-show-paren-mismatch { /* show-paren-mismatch */ color: #ffffff; background-color: #a020f0; } +.org-string { /* font-lock-string-face */ color: #dd1144; } +.org-tool-bar { /* tool-bar */ color: #000000; background-color: #bfbfbf; } +.org-tooltip { /* tooltip */ color: #000000; background-color: #ffffe0; } +.org-trailing-whitespace { /* trailing-whitespace */ background-color: #ff0000; } +.org-type { /* font-lock-type-face */ color: #228b22; } +.org-underline { /* underline */ text-decoration: underline; } +.org-variable-name { /* font-lock-variable-name-face */ color: teal; } +.org-warning { /* font-lock-warning-face */ color: #ff0000; font-weight: bold; } +.org-widget-button { /* widget-button */ font-weight: bold; } +.org-widget-button-pressed { /* widget-button-pressed */ color: #ff0000; } +.org-widget-documentation { /* widget-documentation */ color: #006400; } +.org-widget-field { /* widget-field */ background-color: #d9d9d9; } +.org-widget-inactive { /* widget-inactive */ color: #7f7f7f; } +.org-widget-single-line-field { /* widget-single-line-field */ background-color: #d9d9d9; } diff --git a/docs/content/css/readtheorg.css b/docs/content/css/readtheorg.css new file mode 100644 index 0000000..2299345 --- /dev/null +++ b/docs/content/css/readtheorg.css @@ -0,0 +1,1144 @@ +@import url("https://fonts.googleapis.com/css?family=Lato:400,700,400italic,700italic|Roboto+Slab:400,700|Inconsolata:400,700"); +@import url("https://maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css"); + +h1,h2,h3,h4,h5,h6,legend{ + font-family:"Roboto Slab","ff-tisa-web-pro","Georgia",Arial,sans-serif; + font-weight:700; + margin-top:0; +} + +h1{ + font-size:175%; + text-align: left !important; + margin-bottom: 0.83em !important; +} + +.subtitle{ + font-size:95%; /* of h1 */ +} + +h2{ + font-size:150%; +} + +h3{ + font-size:125%; +} + +h4{ + font-size:115%; +} + +h5{ + font-size:110%; +} + +h6{ + font-size:100%; +} + +h4,h5,h6{ + color:#2980B9; + font-weight:300; +} + +html{ + -ms-text-size-adjust:100%; + -webkit-text-size-adjust:100%; + font-size:100%; + height:100%; +} + +body{ + background:#edf0f2; + color:#404040; + font-family:"Lato","proxima-nova","Helvetica Neue",Arial,sans-serif; + font-weight:normal; + margin:0; + min-height:100%; +} + +#content{ + background:#fcfcfc; + margin-left:300px; + /* margin:auto; */ + max-width:800px; + min-height:100%; + padding:1.618em 3.236em; +} + +p{ + font-size:16px; + line-height:24px; + margin:0px 0px 24px 0px; +} + +b,strong{ + font-weight:bold} + +blockquote{ + background-color: #F0F0F0; + border-left:5px solid #CCCCCC; + font-style:italic; + line-height:24px; + margin:0px 0px 24px 0px; + /* margin-left:24px; */ + padding: 6px 20px; +} + +ul,ol,dl{ + line-height:24px; + list-style-image:none; + /* list-style:none; */ + margin:0px 0px 24px 0px; + padding:0; +} + +li{ + margin-left: 24px; +} + +dd{ + margin:0; +} + +#content .section ul,#content .toctree-wrapper ul,article ul{ + list-style:disc; + line-height:24px; + margin-bottom:24px} + +#content .section ul li,#content .toctree-wrapper ul li,article ul li{ + list-style:disc; + margin-left:24px} + +#content .section ul li p:last-child,#content .toctree-wrapper ul li p:last-child,article ul li p:last-child{ + margin-bottom:0} + +#content .section ul li ul,#content .toctree-wrapper ul li ul,article ul li ul{ + margin-bottom:0} + +#content .section ul li li,#content .toctree-wrapper ul li li,article ul li li{ + list-style:circle} + +#content .section ul li li li,#content .toctree-wrapper ul li li li,article ul li li li{ + list-style:square} + +#content .section ul li ol li,#content .toctree-wrapper ul li ol li,article ul li ol li{ + list-style:decimal} + +#content .section ol,#content ol,article ol{ + list-style:decimal; + line-height:24px; + margin-bottom:24px} + +#content .section ol li,#content ol li,article ol li{ + list-style:decimal; + margin-left:24px} + +#content .section ol li p:last-child,#content ol li p:last-child,article ol li p:last-child{ + margin-bottom:0} + +#content .section ol li ul,#content ol li ul,article ol li ul{ + margin-bottom:0} + +#content .section ol li ul li,#content ol li ul li,article ol li ul li{ + list-style:disc} + +dl dt{ + font-weight:bold; +} + +dl p,dl table,dl ul,dl ol{ + margin-bottom:12px !important; +} + +dl dd{ + margin:0 0 12px 24px; +} + +@media print{ + .codeblock,pre.src{ + white-space:pre.src-wrap} +} + +@media print{ + html,body,section{ + background:none !important} + + *{ + box-shadow:none !important; + text-shadow:none !important; + filter:none !important; + -ms-filter:none !important} + + a,a:visited{ + text-decoration:underline} + + pre.src,blockquote{ + page-break-inside:avoid} + + thead{ + display:table-header-group} + + tr,img{ + page-break-inside:avoid} + + img{ + max-width:100% !important} + + @page{ + margin:0.5cm} + + p,h2,h3{ + orphans:3; + widows:3} + + h2,h3{ + page-break-after:avoid} +} + +@media print{ + #postamble{ + display:none} + + #content{ + margin-left:0} +} + +@media print{ + #table-of-contents{ + display:none} + + @page{ + size: auto; + margin: 25mm 25mm 25mm 25mm;} + + body { + margin: 0px;} +} + +@media screen and (max-width: 768px){ +} + +@media only screen and (max-width: 480px){ +} + +@media screen and (max-width: 768px){ + .tablet-hide{ + display:none} +} + +@media screen and (max-width: 480px){ + .mobile-hide{ + display:none} +} + +@media screen and (max-width: 480px){ +} + +@media screen and (max-width: 768px){ + #content{ + margin-left:0} + + #content #content{ + padding:1.618em} + + #content.shift{ + position:fixed; + min-width:100%; + left:85%; + top:0; + height:100%; + overflow:hidden} +} + +@media screen and (min-width: 1400px){ + #content{ + background:rgba(0,0,0,0.05)} + + #content{ + background:#fcfcfc} +} + +@media screen and (max-width: 768px){ + #copyright{ + width:85%; + display:none} + + #copyright.shift{ + display:block} + + img{ + width:100%; + height:auto} +} + +@media screen and (max-width: 480px){ + #content .sidebar{ + width:100%} +} + +code{ + background:#fff; + border:solid 1px #e1e4e5; + /* color:#000; for clickable code */ + font-family:Consolas,"Andale Mono WT","Andale Mono","Lucida Console","Lucida Sans Typewriter","DejaVu Sans Mono","Bitstream Vera Sans Mono","Liberation Mono","Nimbus Mono L",Monaco,"Courier New",Courier,monospace; + font-size:75%; + max-width:100%; + overflow-x:auto; + padding:0 5px; + white-space:nowrap; +} + +.codeblock-example{ + border:1px solid #e1e4e5; + border-bottom:none; + padding:24px; + padding-top:48px; + font-weight:500; + background:#fff; + position:relative} + +.codeblock-example:after{ + content:"Example"; + position:absolute; + top:0px; + left:0px; + background:#9B59B6; + color:#fff; + padding:6px 12px} + +.codeblock-example.prettyprint-example-only{ + border:1px solid #e1e4e5; + margin-bottom:24px} + +.codeblock,pre.src,#content .literal-block{ + border:1px solid #e1e4e5; + padding:12px; + overflow-x:auto; + background:#fff; + margin:1px 0 24px 0} + +pre.src{ + /* color:#404040; */ + display:block; + font-family:Consolas,"Andale Mono WT","Andale Mono","Lucida Console","Lucida Sans Typewriter","DejaVu Sans Mono","Bitstream Vera Sans Mono","Liberation Mono","Nimbus Mono L",Monaco,"Courier New",Courier,monospace; + font-size:12px; + line-height:1.5; + margin:1px 0px 24px 0px; + overflow:auto; + padding:12px; + white-space:pre; +} + +.example{ + background:#f3f6f6; + border:1px solid #e1e4e5; + color:#404040; + font-size: 12px; + line-height: 1.5; + margin-bottom:24px; + padding:12px; + overflow: auto; +} + +table{ + border-collapse:collapse; + border-spacing:0; + empty-cells:show; + margin-bottom:24px; + border-bottom:1px solid #e1e4e5; +} + +td{ + vertical-align:top} + +table td,table th{ + font-size:90%; + margin:0; + overflow:visible; + padding:8px 16px; + background-color:white; + border:1px solid #e1e4e5; +} + +table thead th{ + font-weight:bold; + border-top:3px solid #e1e4e5; + border-bottom:1px solid #e1e4e5; +} + +table caption{ + color:#000; + font:italic 85%/1 arial,sans-serif; + padding:1em 0; +} + +table tr:nth-child(2n-1) td{ + background-color:#f3f6f6; +} + +table tr:nth-child(2n) td{ + background-color:white; +} + +.figure p{ + color:#000; + font:italic 85%/1 arial,sans-serif; + padding:1em 0; +} + +.rotate-90{ + -webkit-transform:rotate(90deg); + -moz-transform:rotate(90deg); + -ms-transform:rotate(90deg); + -o-transform:rotate(90deg); + transform:rotate(90deg); +} + +.rotate-270{ + -webkit-transform:rotate(270deg); + -moz-transform:rotate(270deg); + -ms-transform:rotate(270deg); + -o-transform:rotate(270deg); + transform:rotate(270deg); +} + +#toggle-sidebar, +#table-of-contents .close-sidebar { + display: none; +} + +@media screen and (max-width: 768px) { + #table-of-contents { + display: none; + width: 60%; + } + + #table-of-contents h2 a { + display: block; + } + + #table-of-contents:target { + display: block; + } + + #copyright, #postamble { + display: none; + } + + #toggle-sidebar { + display: block; + margin-bottom: 1.6em; + padding: 0.6em; + text-align: center; + } + + #toggle-sidebar h2 { + background-color:#2980B9; + width:100%; + height:50px; + left:0; + top:0; + color: white; + font-size: 100%; + line-height: 50px; + position:fixed; + margin: 0; + padding: 0; + opacity:0.7; + z-index: 10; + } + + #table-of-contents .close-sidebar { + color: rgba(255, 255, 255, 0.3); + display: inline-block; + margin: 0px 10px 0px 45px; + padding: 10px; + } +} + +*{ + -webkit-box-sizing:border-box; + -moz-box-sizing:border-box; + box-sizing:border-box; +} + +figcaption,figure,footer,header,hgroup,nav{ + display:block} + +ins{ + background:#ff9; + color:#000; + text-decoration:none} + +mark{ + background:#ff0; + color:#000; + font-style:italic; + font-weight:bold} + +small{ + font-size:85%} + +sub,sup{ + font-size:75%; + line-height:0; + position:relative; + vertical-align:baseline} + +sup{ + top:-0.5em} + +sub{ + bottom:-0.25em} + +img{ + -ms-interpolation-mode:bicubic; + vertical-align:middle; + max-width:100%} + +svg:not(:root){ + overflow:hidden} + +figure{ + margin:0} + +label{ + cursor:pointer} + +legend{ + border:0; + margin-left:-7px; + padding:0; + white-space:normal} + +.fa:before,#content .admonition-title:before,#content h1 .headerlink:before,#content h2 .headerlink:before,#content h3 .headerlink:before,#content h4 .headerlink:before,#content h5 .headerlink:before,#content h6 .headerlink:before,#content dl dt .headerlink:before,.icon:before,.wy-dropdown .caret:before,.wy-inline-validate.wy-inline-validate-success .wy-input-context:before,.wy-inline-validate.wy-inline-validate-danger .wy-input-context:before,.wy-inline-validate.wy-inline-validate-warning .wy-input-context:before,.wy-inline-validate.wy-inline-validate-info .wy-input-context:before,.wy-alert,#content .note,#content .attention,#content .caution,#content .danger,#content .error,#content .hint,#content .important,#content .tip,#content .warning,#content .seealso,#content .admonitiontodo,.btn,input[type="text"],input[type="password"],input[type="email"],input[type="url"],input[type="date"],input[type="month"],input[type="time"],input[type="datetime"],input[type="datetime-local"],input[type="week"],input[type="number"],input[type="search"],input[type="tel"],input[type="color"],select,textarea,#table-of-contents li.on a,#table-of-contents li.current>a,.wy-side-nav-search>a,.wy-side-nav-search .wy-dropdown>a,.wy-nav-top a{ + -webkit-font-smoothing:antialiased} + +/*! + * Font Awesome 4.1.0 by @davegandy - http://fontawesome.io - @fontawesome + * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) + */@font-face{ + font-family:'FontAwesome'; + src:url("../fonts/fontawesome-webfont.eot?v=4.1.0"); + src:url("../fonts/fontawesome-webfont.eot?#iefix&v=4.1.0") format("embedded-opentype"),url("../fonts/fontawesome-webfont.woff?v=4.1.0") format("woff"),url("../fonts/fontawesome-webfont.ttf?v=4.1.0") format("truetype"),url("../fonts/fontawesome-webfont.svg?v=4.1.0#fontawesomeregular") format("svg"); + font-weight:normal; + font-style:normal} + +.fa,#content .admonition-title,.icon{ + display:inline-block; + font-family:FontAwesome; + font-style:normal; + font-weight:normal; + line-height:1; + -webkit-font-smoothing:antialiased; + -moz-osx-font-smoothing:grayscale} + +.fa-ul{ + padding-left:0; + margin-left:2.14286em; + list-style-type:none} + +.fa-ul>li{ + position:relative} + +.fa-li{ + position:absolute; + left:-2.14286em; + width:2.14286em; + top:0.14286em; + text-align:center} + +.fa-li.fa-lg{ + left:-1.85714em} + +.fa-border{ + padding:.2em .25em .15em; + border:solid 0.08em #eee; + border-radius:.1em} + +.fa,#content .admonition-title{ + font-family:inherit} + +.fa:before,#content .admonition-title:before{ + font-family:"FontAwesome"; + display:inline-block; + font-style:normal; + font-weight:normal; + line-height:1; + text-decoration:inherit} + +a .fa,a #content .admonition-title,#content a .admonition-title{ + display:inline-block; + text-decoration:inherit} + +.nav #content .admonition-title,#content .nav .admonition-title,.nav .icon{ + display:inline} + +.wy-alert-title,#content .admonition-title{ + color:#fff; + font-weight:bold; + display:block; + color:#fff; + /* background:#6ab0de; */ + /* margin:-12px; */ + padding:6px 12px; + margin-bottom:0px} + +.admonition-title + div{ + padding: 12px; + margin-bottom: 24px; +} + +.admonition-title + div > p{ + margin: 0; +} + +.danger + div, .error + div, #content .danger,#content .error{ + background:#fdf3f2} + +.wy-alert.wy-alert-warning,#content .wy-alert-warning.note, #content .attention,#content .caution, #content .warning, #content .admonitiontodo, .attention + div, .caution + div, .warning + div, #content .wy-alert-warning.danger,#content .wy-alert-warning.error, #content .wy-alert-warning.hint,#content .wy-alert-warning.important,#content .wy-alert-warning.tip,#content .wy-alert-warning.seealso{ + background:#ffedcc} + +#content .admonition-title.note:before, #content .admonition-title.seealso:before, +#content .admonition-title.warning:before, #content .admonition-title.caution:before, +#content .admonition-title.attention:before, +#content .admonition-title.tip:before, #content .admonition-title.hint:before, +#content .admonition-title.important:before, +#content .admonition-title.error:before, #content .admonition-title.danger:before{ + font-family:FontAwesome; + content: "";} + +.seealso + div, .note + div, #content .note,#content .seealso{ + background:#e7f2fa; +} + +#content .admonition-title.tip,#content .admonition-title.important,#content .admonition-title.hint{ + line-height: 1; + background:#1abc9c} + +.important + div, .tip + div, .hint + div, #content .important, #content .tip, #content .hint{ + background:#dbfaf4} + +#content .admonition-title.note,#content .admonition-title.seealso{ + line-height: 1; + background:#6ab0de} + +#content .admonition-title.warning,#content .admonition-title.caution,#content .admonition-title.attention{ + line-height: 1; + background:#F0B37E} + +#content .admonition-title.error,#content .admonition-title.danger{ + line-height: 1; + background:#f29f97} + +legend{ + display:block; + width:100%; + border:0; + padding:0; + white-space:normal; + margin-bottom:24px; + font-size:150%; + *margin-left:-7px} + +label{ + display:block; + margin:0 0 0.3125em 0; + color:#333; + font-size:90%} + +a{ + color:#2980B9; + text-decoration:none; + cursor:pointer} + + +a:hover,a:active{ + outline:0; +} + +a:hover{ + color:#3091d1} + +a:visited{ + color:#9B59B6} + +.left{ + text-align:left} + +.center{ + text-align:center} + +.right{ + text-align:right} + +hr{ + display:block; + height:1px; + border:0; + border-top:1px solid #e1e4e5; + margin:24px 0; + padding:0} + +#table-of-contents li{ + list-style:none; + margin-left: 0px; +} + +#table-of-contents header{ + height:32px; + display:inline-block; + line-height:32px; + padding:0 1.618em; + display:block; + font-weight:bold; + text-transform:uppercase; + font-size:80%; + color:#2980B9; + white-space:nowrap} + +#table-of-contents ul{ + margin-bottom:0} + +#table-of-contents li.divide-top{ + border-top:solid 1px #404040} + +#table-of-contents li.divide-bottom{ + border-bottom:solid 1px #404040} + +#table-of-contents li.current{ + background:#e3e3e3} + +#table-of-contents li.current a{ + color:gray; + border-right:solid 1px #c9c9c9; + padding:0.4045em 2.427em} + +#table-of-contents li.current a:hover{ + background:#d6d6d6} + +#table-of-contents li a{ + /* color:#404040; */ + padding:0.4045em 1.618em; + position:relative; + /* background:#fcfcfc; */ + border:none; + /* border-bottom:solid 1px #c9c9c9; */ + /* border-top:solid 1px #c9c9c9; */ + padding-left:1.618em -4px} + +#table-of-contents li.on a:hover,#table-of-contents li.current>a:hover{ + background:#fcfcfc} + +#table-of-contents li ul li a{ + /* background:#c9c9c9; */ + padding:0.4045em 2.427em} + +#table-of-contents li ul li ul li a{ + padding:0.4045em 3.236em} + +#table-of-contents li.current ul{ + display:block} + +/* #table-of-contents li ul{ */ +/* margin-bottom:0; */ +/* display:none} */ + +#table-of-contents .local-toc li ul{ + display:block} + +#table-of-contents li ul li a{ + margin-bottom:0; + color:#b3b3b3; + font-weight:normal} + +#table-of-contents a{ + display:inline-block; + line-height:18px; + padding:0.4045em 1.618em; + display:block; + position:relative; + font-size:90%; + color:#b3b3b3; + direction: ltr; +} + +#table-of-contents a:hover{ + color: #ffffff !important; + background-color:#4e4a4a; + cursor:pointer} + +/* #text-table-of-contents { */ +/* overflow:scroll; */ +/* } */ + +#table-of-contents{ + position:fixed; + top:0; + left:0; + width:300px; + overflow-x:hidden; + overflow-y:scroll; + height:100%; + background:#343131; + z-index:200; + scrollbar-base-color: #1F1D1D; + scrollbar-arrow-color: #b3b3b3; + scrollbar-shadow-color: #1F1D1D; + scrollbar-track-color : #343131; +} + +#table-of-contents h2{ + z-index:200; + background-color:#2980B9; + text-align:center; + padding:0.809em; + display:block; + color:#fcfcfc; + font-size: 100%; + margin-bottom:0.809em} + +ul.nav > li ul { + display: none; +} + +li.active { + background-color: #e3e3e3; +} + +li.active>a { + color: black !important; +} + +ul.nav>li.active a { + color: #404040 !important; +} + +ul.nav>li.active li.active { + background-color: #c9c9c9; +} + +ul.nav>li.active li.active>a { + color: black !important; + border-right:solid 1px #c9c9c9 !important; + font-weight: bold !important; + display: block !important; +} + +ul.nav>li.active>a { + background-color: #fcfcfc; + color: black !important; + border-bottom:solid 1px #c9c9c9 !important; /* XXX Restrict it to 2nd level */ + border-right:solid 1px #c9c9c9 !important; + font-weight: bold !important; + display: block !important; +} + +li.active>ul { + display: inline !important; +} +/* ul.nav li ul li { */ +/* display: none; */ +/* } */ + +/* ul.nav li ul li ul li { */ +/* display: none; */ +/* } */ + +/* ul.nav li.active ul li { */ +/* display: inline; */ +/* } */ + +/* ul.nav li.active ul li ul li { */ +/* display: inline; */ +/* } */ + +/* ul.nav li.active ul li a { */ +/* background-color: #E3E3E3; */ +/* color: #8099B0; */ +/* border-right:solid 1px #c9c9c9 !important; */ +/* } */ + +/* ul.nav li.active ul li.active a { */ +/* background-color: #C9C9C9; */ +/* color: black !important; */ +/* font-weight: bold !important; */ +/* } */ + +/* ul.nav li.active ul li.active ul li.active a { */ + /* color: black !important; */ + /* font-weight: bold !important; */ + /* display: block !important; */ +/* } */ + +/* ul.nav li.active ul li.active ul li a { */ +/* color: #808080 !important; */ +/* font-weight: normal !important; */ +/* display: block !important; */ +/* } */ + +/* ul.nav li.active ul li ul li a { */ +/* display: none !important; */ +/* } */ + +/* ul.nav li ul li ul li { */ +/* display: none !important; /\* as long as nav is on multiple levels of ul *\/ */ +/* /\* display: none; /\* as long as nav is on multiple levels of ul *\\/ *\/ */ +/* } */ + +/* ul.nav li ul li ul li ul li { */ +/* display: none !important; /\* as long as nav is on multiple levels of ul *\/ */ +/* /\* display: none; /\* as long as nav is on multiple levels of ul *\\/ *\/ */ +/* } */ + +/* ul.nav li.active > a { */ + /* border-bottom:solid 1px #c9c9c9 !important; /\* XXX Restrict it to 2nd level *\/ */ + /* border-right:solid 1px #c9c9c9 !important; */ +/* } */ + +/* ul.nav li.active a { */ +/* color: gray !important; */ +/* font-weight:bold; */ +/* background-color: white; */ +/* border-right:solid 0px white !important; */ +/* } */ + +/* ul.nav > li.active > a { */ +/* color: black !important; */ +/* } */ + +footer{ + color:#999} + +footer p{ + margin-bottom:12px} + +#copyright, #postamble{ + position:fixed; + bottom:0; + left:0; + width:300px; + color:#fcfcfc; + background:#1f1d1d; + border-top:solid 10px #343131; + font-family:"Lato","proxima-nova","Helvetica Neue",Arial,sans-serif; + font-size: 90%; + z-index:400; + padding:12px; +} + +#postamble .author { + font-size: 100%; + margin-bottom: 0px; +} + +#postamble .date { + font-size: 90%; + margin-bottom: 0px; + color: #27AE60; +} + +#postamble .creator,#postamble .validation { + display:none; +} + +#copyright a{ + color:#2980B9; + text-decoration:none} + +#copyright .rst-current-version{ + padding:12px; + background-color:#272525; + display:block; + text-align:right; + font-size:90%; + cursor:pointer; + color:#27AE60; + *zoom:1} + +#content img{ + max-width:100%; +} + +#content div.figure{ + margin-bottom:24px} + +#content div.figure.align-center{ + text-align:center} + +#content .section>img,#content .section>a>img{ + margin-bottom:24px} + +.verse{ + border-left:5px solid #6AB0DE; + background-color: #E7F2FA; + padding: 6px 20px; + font-style:italic; +} + +#content .note .last,#content .attention .last,#content .caution .last,#content .danger .last,#content .error .last,#content .hint .last,#content .important .last,#content .tip .last,#content .warning .last,#content .seealso .last,#content .admonitiontodo .last{ + margin-bottom:0} + +#content .admonition-title:before{ + margin-right:4px} + +#content .section ol p,#content .section ul p{ + margin-bottom:12px} + +#content h1 .headerlink,#content h2 .headerlink,#content h3 .headerlink,#content h4 .headerlink,#content h5 .headerlink,#content h6 .headerlink,#content dl dt .headerlink{ + display:none; + visibility:hidden; + font-size:14px} + +#content h1 .headerlink:after,#content h2 .headerlink:after,#content h3 .headerlink:after,#content h4 .headerlink:after,#content h5 .headerlink:after,#content h6 .headerlink:after,#content dl dt .headerlink:after{ + visibility:visible; + content:""; + font-family:FontAwesome; + display:inline-block} + +#content h1:hover .headerlink,#content h2:hover .headerlink,#content h3:hover .headerlink,#content h4:hover .headerlink,#content h5:hover .headerlink,#content h6:hover .headerlink,#content dl dt:hover .headerlink{ + display:inline-block} + +#content .sidebar{ + float:right; + width:40%; + display:block; + margin:0 0 24px 24px; + padding:24px; + background:#f3f6f6; + border:solid 1px #e1e4e5} + +#content .sidebar p,#content .sidebar ul,#content .sidebar dl{ + font-size:90%} + +#content .sidebar .last{ + margin-bottom:0} + +#content .sidebar .sidebar-title{ + display:block; + font-family:"Roboto Slab","ff-tisa-web-pro","Georgia",Arial,sans-serif; + font-weight:bold; + background:#e1e4e5; + padding:6px 12px; + margin:-24px; + margin-bottom:24px; + font-size:100%} + +#content .highlighted{ + background:#F1C40F; + display:inline-block; + font-weight:bold; + padding:0 6px} + +#content .footnote-reference,#content .citation-reference{ + vertical-align:super; + font-size:90%} + +span[id*='MathJax-Span']{ + color:#404040} + +.math{ + text-align:center} + +#footnotes{ + border-top:1px solid #e1e4e5; + padding-top: 36px; +} + +h2.footnotes{ + display:none; +} + +.footnum, .footref{ + color: #2980b9; + font-size: 90%; + font-family:"Lato","proxima-nova","Helvetica Neue",Arial,sans-serif; +} + +.footnum:before, .footref:before{ + content:"["; +} + +.footnum:after, .footref:after{ + content:"]"; +} + +.footpara { + color: #999; + font-size: 90%; + font-family:"Lato","proxima-nova","Helvetica Neue",Arial,sans-serif; + padding-bottom: 8px; + padding-left: 16px; + padding-right: 16px; + padding-top: 8px; + line-height: 1.25em; + /* display: inline; */ +} + +.todo{ + background-color: #f29f97; + padding: 0px 4px; + color: #fff; +} + +.WAIT, .nilWAIT{ + background-color: #6ab0de; + padding: 0px 4px; + color: #fff; +} + +.done{ + background-color: #6AB097; +} + +.tag span { + background-color: #EDEDED; + border: 1px solid #EDEDED; + color: #939393; + cursor: pointer; + display: block; + float: right; + font-size: 80%; + font-weight: normal; + margin: 0 3px; + padding: 1px 2px; + border-radius: 10px; +} + +.tag .FLAGGED { + background-color: #DB2D27; + border: 1px solid #DB2D27; + color: white; + font-weight: bold; +} + +.timestamp { + font-family: Consolas,"Andale Mono WT","Andale Mono","Lucida Console","Lucida Sans Typewriter","DejaVu Sans Mono","Bitstream Vera Sans Mono","Liberation Mono","Nimbus Mono L",Monaco,"Courier New",Courier,monospace; + font-size: 90%; + color: navy; +} + +.nav .timestamp { + color: inherit; +} + +.inlinetask { + background: #FFF9E3; /* url(dialog-todo.png) no-repeat 10px 8px; */ + border: 3px solid #FFEB8E; + /* border-right-style: none; */ + /* border-left-style: none; */ + /* padding: 10px 20px 10px 60px; */ + padding: 9px 12px; + margin-bottom: 24px; + font-family:"Roboto Slab","ff-tisa-web-pro","Georgia",Arial,sans-serif} + +#org-div-home-and-up { + text-align: right; + padding-right: 10pt; +} + +.underline { + text-decoration:underline +} diff --git a/docs/content/css/rtd-full.css b/docs/content/css/rtd-full.css new file mode 100644 index 0000000..6cb3346 --- /dev/null +++ b/docs/content/css/rtd-full.css @@ -0,0 +1,3910 @@ +*{ + -webkit-box-sizing:border-box; + -moz-box-sizing:border-box; + box-sizing:border-box} + +article,aside,details,figcaption,figure,footer,header,hgroup,nav,section{ + display:block} + +audio,canvas,video{ + display:inline-block; + *display:inline; + *zoom:1} + +audio:not([controls]){ + display:none} + +[hidden]{ + display:none} + +*{ + -webkit-box-sizing:border-box; + -moz-box-sizing:border-box; + box-sizing:border-box} + +html{ + font-size:100%; + -webkit-text-size-adjust:100%; + -ms-text-size-adjust:100%} + +body{ + margin:0} + +a:hover,a:active{ + outline:0} + +abbr[title]{ + border-bottom:1px dotted} + +b,strong{ + font-weight:bold} + +blockquote{ + margin:0} + +dfn{ + font-style:italic} + +ins{ + background:#ff9; + color:#000; + text-decoration:none} + +mark{ + background:#ff0; + color:#000; + font-style:italic; + font-weight:bold} + +pre,code,.rst-content tt,kbd,samp{ + font-family:monospace,serif; + _font-family:"courier new",monospace; + font-size:1em} + +pre{ + white-space:pre} + +q{ + quotes:none} + +q:before,q:after{ + content:""; + content:none} + +small{ + font-size:85%} + +sub,sup{ + font-size:75%; + line-height:0; + position:relative; + vertical-align:baseline} + +sup{ + top:-0.5em} + +sub{ + bottom:-0.25em} + +ul,ol,dl{ + margin:0; + padding:0; + list-style:none; + list-style-image:none} + +li{ + list-style:none} + +dd{ + margin:0} + +img{ + border:0; + -ms-interpolation-mode:bicubic; + vertical-align:middle; + max-width:100%} + +svg:not(:root){ + overflow:hidden} + +figure{ + margin:0} + +form{ + margin:0} + +fieldset{ + border:0; + margin:0; + padding:0} + +label{ + cursor:pointer} + +legend{ + border:0; + *margin-left:-7px; + padding:0; + white-space:normal} + +button,input,select,textarea{ + font-size:100%; + margin:0; + vertical-align:baseline; + *vertical-align:middle} + +button,input{ + line-height:normal} + +button,input[type="button"],input[type="reset"],input[type="submit"]{ + cursor:pointer; + -webkit-appearance:button; + *overflow:visible} + +button[disabled],input[disabled]{ + cursor:default} + +input[type="checkbox"],input[type="radio"]{ + box-sizing:border-box; + padding:0; + *width:13px; + *height:13px} + +input[type="search"]{ + -webkit-appearance:textfield; + -moz-box-sizing:content-box; + -webkit-box-sizing:content-box; + box-sizing:content-box} + +input[type="search"]::-webkit-search-decoration,input[type="search"]::-webkit-search-cancel-button{ + -webkit-appearance:none} + +button::-moz-focus-inner,input::-moz-focus-inner{ + border:0; + padding:0} + +textarea{ + overflow:auto; + vertical-align:top; + resize:vertical} + +table{ + border-collapse:collapse; + border-spacing:0} + +td{ + vertical-align:top} + +.chromeframe{ + margin:0.2em 0; + background:#ccc; + color:#000; + padding:0.2em 0} + +.ir{ + display:block; + border:0; + text-indent:-999em; + overflow:hidden; + background-color:transparent; + background-repeat:no-repeat; + text-align:left; + direction:ltr; + *line-height:0} + +.ir br{ + display:none} + +.hidden{ + display:none !important; + visibility:hidden} + +.visuallyhidden{ + border:0; + clip:rect(0 0 0 0); + height:1px; + margin:-1px; + overflow:hidden; + padding:0; + position:absolute; + width:1px} + +.visuallyhidden.focusable:active,.visuallyhidden.focusable:focus{ + clip:auto; + height:auto; + margin:0; + overflow:visible; + position:static; + width:auto} + +.invisible{ + visibility:hidden} + +.relative{ + position:relative} + +big,small{ + font-size:100%} + +@media print{ + html,body,section{ + background:none !important} + + *{ + box-shadow:none !important; + text-shadow:none !important; + filter:none !important; + -ms-filter:none !important} + + a,a:visited{ + text-decoration:underline} + + .ir a:after,a[href^="javascript:"]:after,a[href^="#"]:after{ + content:""} + + pre,blockquote{ + page-break-inside:avoid} + + thead{ + display:table-header-group} + + tr,img{ + page-break-inside:avoid} + + img{ + max-width:100% !important} + + @page{ + margin:0.5cm} + + p,h2,h3{ + orphans:3; + widows:3} + + h2,h3{ + page-break-after:avoid} + +} + +.fa:before,.rst-content .admonition-title:before,.rst-content h1 .headerlink:before,.rst-content h2 .headerlink:before,.rst-content h3 .headerlink:before,.rst-content h4 .headerlink:before,.rst-content h5 .headerlink:before,.rst-content h6 .headerlink:before,.rst-content dl dt .headerlink:before,.icon:before,.wy-dropdown .caret:before,.wy-inline-validate.wy-inline-validate-success .wy-input-context:before,.wy-inline-validate.wy-inline-validate-danger .wy-input-context:before,.wy-inline-validate.wy-inline-validate-warning .wy-input-context:before,.wy-inline-validate.wy-inline-validate-info .wy-input-context:before,.wy-alert,.rst-content .note,.rst-content .attention,.rst-content .caution,.rst-content .danger,.rst-content .error,.rst-content .hint,.rst-content .important,.rst-content .tip,.rst-content .warning,.rst-content .seealso,.rst-content .admonition-todo,.btn,input[type="text"],input[type="password"],input[type="email"],input[type="url"],input[type="date"],input[type="month"],input[type="time"],input[type="datetime"],input[type="datetime-local"],input[type="week"],input[type="number"],input[type="search"],input[type="tel"],input[type="color"],select,textarea,.wy-menu-vertical li.on a,.wy-menu-vertical li.current>a,.wy-side-nav-search>a,.wy-side-nav-search .wy-dropdown>a,.wy-nav-top a{ + -webkit-font-smoothing:antialiased} + +.clearfix{ + *zoom:1} + +.clearfix:before,.clearfix:after{ + display:table; + content:""} + +.clearfix:after{ + clear:both} + +/*! + * Font Awesome 4.1.0 by @davegandy - http://fontawesome.io - @fontawesome + * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) + */@font-face{ + font-family:'FontAwesome'; + src:url("../fonts/fontawesome-webfont.eot?v=4.1.0"); + src:url("../fonts/fontawesome-webfont.eot?#iefix&v=4.1.0") format("embedded-opentype"),url("../fonts/fontawesome-webfont.woff?v=4.1.0") format("woff"),url("../fonts/fontawesome-webfont.ttf?v=4.1.0") format("truetype"),url("../fonts/fontawesome-webfont.svg?v=4.1.0#fontawesomeregular") format("svg"); + font-weight:normal; + font-style:normal} + +.fa,.rst-content .admonition-title,.rst-content h1 .headerlink,.rst-content h2 .headerlink,.rst-content h3 .headerlink,.rst-content h4 .headerlink,.rst-content h5 .headerlink,.rst-content h6 .headerlink,.rst-content dl dt .headerlink,.icon{ + display:inline-block; + font-family:FontAwesome; + font-style:normal; + font-weight:normal; + line-height:1; + -webkit-font-smoothing:antialiased; + -moz-osx-font-smoothing:grayscale} + +.fa-lg{ + font-size:1.33333em; + 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.28571em; + text-align:center} + +.fa-ul{ + padding-left:0; + margin-left:2.14286em; + list-style-type:none} + +.fa-ul>li{ + position:relative} + +.fa-li{ + position:absolute; + left:-2.14286em; + width:2.14286em; + top:0.14286em; + text-align:center} + +.fa-li.fa-lg{ + left:-1.85714em} + +.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,.rst-content .pull-left.admonition-title,.rst-content h1 .pull-left.headerlink,.rst-content h2 .pull-left.headerlink,.rst-content h3 .pull-left.headerlink,.rst-content h4 .pull-left.headerlink,.rst-content h5 .pull-left.headerlink,.rst-content h6 .pull-left.headerlink,.rst-content dl dt .pull-left.headerlink,.pull-left.icon{ + margin-right:.3em} + +.fa.pull-right,.rst-content .pull-right.admonition-title,.rst-content h1 .pull-right.headerlink,.rst-content h2 .pull-right.headerlink,.rst-content h3 .pull-right.headerlink,.rst-content h4 .pull-right.headerlink,.rst-content h5 .pull-right.headerlink,.rst-content h6 .pull-right.headerlink,.rst-content dl dt .pull-right.headerlink,.pull-right.icon{ + margin-left:.3em} + +.fa-spin{ + -webkit-animation:spin 2s infinite linear; + -moz-animation:spin 2s infinite linear; + -o-animation:spin 2s infinite linear; + animation:spin 2s infinite linear} + +@-moz-keyframes spin{ + 0%{ + -moz-transform:rotate(0deg)} + + 100%{ + -moz-transform:rotate(359deg)} + +} + +@-webkit-keyframes spin{ + 0%{ + -webkit-transform:rotate(0deg)} + + 100%{ + -webkit-transform:rotate(359deg)} + +} + +@-o-keyframes spin{ + 0%{ + -o-transform:rotate(0deg)} + + 100%{ + -o-transform:rotate(359deg)} + +} + +@keyframes 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); + -moz-transform:rotate(90deg); + -ms-transform:rotate(90deg); + -o-transform:rotate(90deg); + transform:rotate(90deg)} + +.fa-rotate-180{ + filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2); + -webkit-transform:rotate(180deg); + -moz-transform:rotate(180deg); + -ms-transform:rotate(180deg); + -o-transform:rotate(180deg); + transform:rotate(180deg)} + +.fa-rotate-270{ + filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=3); + -webkit-transform:rotate(270deg); + -moz-transform:rotate(270deg); + -ms-transform:rotate(270deg); + -o-transform:rotate(270deg); + transform:rotate(270deg)} + +.fa-flip-horizontal{ + filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=0); + -webkit-transform:scale(-1, 1); + -moz-transform:scale(-1, 1); + -ms-transform:scale(-1, 1); + -o-transform:scale(-1, 1); + transform:scale(-1, 1)} + +.fa-flip-vertical{ + filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2); + -webkit-transform:scale(1, -1); + -moz-transform:scale(1, -1); + -ms-transform:scale(1, -1); + -o-transform:scale(1, -1); + transform:scale(1, -1)} + +.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} + +.fa-glass:before{ + content:""} + +.fa-music:before{ + content:""} + +.fa-search:before,.icon-search:before{ + content:""} + +.fa-envelope-o:before{ + content:""} + +.fa-heart:before{ + content:""} + +.fa-star:before{ + content:""} + +.fa-star-o:before{ + content:""} + +.fa-user:before{ + content:""} + +.fa-film:before{ + content:""} + +.fa-th-large:before{ + content:""} + +.fa-th:before{ + content:""} + +.fa-th-list:before{ + content:""} + +.fa-check:before{ + content:""} + +.fa-times:before{ + content:""} + +.fa-search-plus:before{ + content:""} + +.fa-search-minus:before{ + content:""} + +.fa-power-off:before{ + content:""} + +.fa-signal:before{ + content:""} + +.fa-gear:before,.fa-cog:before{ + content:""} + +.fa-trash-o:before{ + content:""} + +.fa-home:before,.icon-home:before{ + content:""} + +.fa-file-o:before{ + content:""} + +.fa-clock-o:before{ + content:""} + +.fa-road:before{ + content:""} + +.fa-download:before{ + content:""} + +.fa-arrow-circle-o-down:before{ + content:""} + +.fa-arrow-circle-o-up:before{ + content:""} + +.fa-inbox:before{ + content:""} + +.fa-play-circle-o:before{ + content:""} + +.fa-rotate-right:before,.fa-repeat:before{ + content:""} + +.fa-refresh:before{ + content:""} + +.fa-list-alt:before{ + content:""} + +.fa-lock:before{ + content:""} + +.fa-flag:before{ + content:""} + +.fa-headphones:before{ + content:""} + +.fa-volume-off:before{ + content:""} + +.fa-volume-down:before{ + content:""} + +.fa-volume-up:before{ + content:""} + +.fa-qrcode:before{ + content:""} + +.fa-barcode:before{ + content:""} + +.fa-tag:before{ + content:""} + +.fa-tags:before{ + content:""} + +.fa-book:before,.icon-book:before{ + content:""} + +.fa-bookmark:before{ + content:""} + +.fa-print:before{ + content:""} + +.fa-camera:before{ + content:""} + +.fa-font:before{ + content:""} + +.fa-bold:before{ + content:""} + +.fa-italic:before{ + content:""} + +.fa-text-height:before{ + content:""} + +.fa-text-width:before{ + content:""} + +.fa-align-left:before{ + content:""} + +.fa-align-center:before{ + content:""} + +.fa-align-right:before{ + content:""} + +.fa-align-justify:before{ + content:""} + +.fa-list:before{ + content:""} + +.fa-dedent:before,.fa-outdent:before{ + content:""} + +.fa-indent:before{ + content:""} + +.fa-video-camera:before{ + content:""} + +.fa-photo:before,.fa-image:before,.fa-picture-o:before{ + content:""} + +.fa-pencil:before{ + content:""} + +.fa-map-marker:before{ + content:""} + +.fa-adjust:before{ + content:""} + +.fa-tint:before{ + content:""} + +.fa-edit:before,.fa-pencil-square-o:before{ + content:""} + +.fa-share-square-o:before{ + content:""} + +.fa-check-square-o:before{ + content:""} + +.fa-arrows:before{ + content:""} + +.fa-step-backward:before{ + content:""} + +.fa-fast-backward:before{ + content:""} + +.fa-backward:before{ + content:""} + +.fa-play:before{ + content:""} + +.fa-pause:before{ + content:""} + +.fa-stop:before{ + content:""} + +.fa-forward:before{ + content:""} + +.fa-fast-forward:before{ + content:""} + +.fa-step-forward:before{ + content:""} + +.fa-eject:before{ + content:""} + +.fa-chevron-left:before{ + content:""} + +.fa-chevron-right:before{ + content:""} + +.fa-plus-circle:before{ + content:""} + +.fa-minus-circle:before{ + content:""} + +.fa-times-circle:before,.wy-inline-validate.wy-inline-validate-danger .wy-input-context:before{ + content:""} + +.fa-check-circle:before,.wy-inline-validate.wy-inline-validate-success .wy-input-context:before{ + content:""} + +.fa-question-circle:before{ + content:""} + +.fa-info-circle:before{ + content:""} + +.fa-crosshairs:before{ + content:""} + +.fa-times-circle-o:before{ + content:""} + +.fa-check-circle-o:before{ + content:""} + +.fa-ban:before{ + content:""} + +.fa-arrow-left:before{ + content:""} + +.fa-arrow-right:before{ + content:""} + +.fa-arrow-up:before{ + content:""} + +.fa-arrow-down:before{ + content:""} + +.fa-mail-forward:before,.fa-share:before{ + content:""} + +.fa-expand:before{ + content:""} + +.fa-compress:before{ + content:""} + +.fa-plus:before{ + content:""} + +.fa-minus:before{ + content:""} + +.fa-asterisk:before{ + content:""} + +.fa-exclamation-circle:before,.wy-inline-validate.wy-inline-validate-warning .wy-input-context:before,.wy-inline-validate.wy-inline-validate-info .wy-input-context:before,.rst-content .admonition-title:before{ + content:""} + +.fa-gift:before{ + content:""} + +.fa-leaf:before{ + content:""} + +.fa-fire:before,.icon-fire:before{ + content:""} + +.fa-eye:before{ + content:""} + +.fa-eye-slash:before{ + content:""} + +.fa-warning:before,.fa-exclamation-triangle:before{ + content:""} + +.fa-plane:before{ + content:""} + +.fa-calendar:before{ + content:""} + +.fa-random:before{ + content:""} + +.fa-comment:before{ + content:""} + +.fa-magnet:before{ + content:""} + +.fa-chevron-up:before{ + content:""} + +.fa-chevron-down:before{ + content:""} + +.fa-retweet:before{ + content:""} + +.fa-shopping-cart:before{ + content:""} + +.fa-folder:before{ + content:""} + +.fa-folder-open:before{ + content:""} + +.fa-arrows-v:before{ + content:""} + +.fa-arrows-h:before{ + content:""} + +.fa-bar-chart-o:before{ + content:""} + +.fa-twitter-square:before{ + content:""} + +.fa-facebook-square:before{ + content:""} + +.fa-camera-retro:before{ + content:""} + +.fa-key:before{ + content:""} + +.fa-gears:before,.fa-cogs:before{ + content:""} + +.fa-comments:before{ + content:""} + +.fa-thumbs-o-up:before{ + content:""} + +.fa-thumbs-o-down:before{ + content:""} + +.fa-star-half:before{ + content:""} + +.fa-heart-o:before{ + content:""} + +.fa-sign-out:before{ + content:""} + +.fa-linkedin-square:before{ + content:""} + +.fa-thumb-tack:before{ + content:""} + +.fa-external-link:before{ + content:""} + +.fa-sign-in:before{ + content:""} + +.fa-trophy:before{ + content:""} + +.fa-github-square:before{ + content:""} + +.fa-upload:before{ + content:""} + +.fa-lemon-o:before{ + content:""} + +.fa-phone:before{ + content:""} + +.fa-square-o:before{ + content:""} + +.fa-bookmark-o:before{ + content:""} + +.fa-phone-square:before{ + content:""} + +.fa-twitter:before{ + content:""} + +.fa-facebook:before{ + content:""} + +.fa-github:before,.icon-github:before{ + content:""} + +.fa-unlock:before{ + content:""} + +.fa-credit-card:before{ + content:""} + +.fa-rss:before{ + content:""} + +.fa-hdd-o:before{ + content:""} + +.fa-bullhorn:before{ + content:""} + +.fa-bell:before{ + content:""} + +.fa-certificate:before{ + content:""} + +.fa-hand-o-right:before{ + content:""} + +.fa-hand-o-left:before{ + content:""} + +.fa-hand-o-up:before{ + content:""} + +.fa-hand-o-down:before{ + content:""} + +.fa-arrow-circle-left:before,.icon-circle-arrow-left:before{ + content:""} + +.fa-arrow-circle-right:before,.icon-circle-arrow-right:before{ + content:""} + +.fa-arrow-circle-up:before{ + content:""} + +.fa-arrow-circle-down:before{ + content:""} + +.fa-globe:before{ + content:""} + +.fa-wrench:before{ + content:""} + +.fa-tasks:before{ + content:""} + +.fa-filter:before{ + content:""} + +.fa-briefcase:before{ + content:""} + +.fa-arrows-alt:before{ + content:""} + +.fa-group:before,.fa-users:before{ + content:""} + +.fa-chain:before,.fa-link:before,.icon-link:before{ + content:""} + +.fa-cloud:before{ + content:""} + +.fa-flask:before{ + content:""} + +.fa-cut:before,.fa-scissors:before{ + content:""} + +.fa-copy:before,.fa-files-o:before{ + content:""} + +.fa-paperclip:before{ + content:""} + +.fa-save:before,.fa-floppy-o:before{ + content:""} + +.fa-square:before{ + content:""} + +.fa-navicon:before,.fa-reorder:before,.fa-bars:before{ + content:""} + +.fa-list-ul:before{ + content:""} + +.fa-list-ol:before{ + content:""} + +.fa-strikethrough:before{ + content:""} + +.fa-underline:before{ + content:""} + +.fa-table:before{ + content:""} + +.fa-magic:before{ + content:""} + +.fa-truck:before{ + content:""} + +.fa-pinterest:before{ + content:""} + +.fa-pinterest-square:before{ + content:""} + +.fa-google-plus-square:before{ + content:""} + +.fa-google-plus:before{ + content:""} + +.fa-money:before{ + content:""} + +.fa-caret-down:before,.wy-dropdown .caret:before,.icon-caret-down:before{ + content:""} + +.fa-caret-up:before{ + content:""} + +.fa-caret-left:before{ + content:""} + +.fa-caret-right:before{ + content:""} + +.fa-columns:before{ + content:""} + +.fa-unsorted:before,.fa-sort:before{ + content:""} + +.fa-sort-down:before,.fa-sort-desc:before{ + content:""} + +.fa-sort-up:before,.fa-sort-asc:before{ + content:""} + +.fa-envelope:before{ + content:""} + +.fa-linkedin:before{ + content:""} + +.fa-rotate-left:before,.fa-undo:before{ + content:""} + +.fa-legal:before,.fa-gavel:before{ + content:""} + +.fa-dashboard:before,.fa-tachometer:before{ + content:""} + +.fa-comment-o:before{ + content:""} + +.fa-comments-o:before{ + content:""} + +.fa-flash:before,.fa-bolt:before{ + content:""} + +.fa-sitemap:before{ + content:""} + +.fa-umbrella:before{ + content:""} + +.fa-paste:before,.fa-clipboard:before{ + content:""} + +.fa-lightbulb-o:before{ + content:""} + +.fa-exchange:before{ + content:""} + +.fa-cloud-download:before{ + content:""} + +.fa-cloud-upload:before{ + content:""} + +.fa-user-md:before{ + content:""} + +.fa-stethoscope:before{ + content:""} + +.fa-suitcase:before{ + content:""} + +.fa-bell-o:before{ + content:""} + +.fa-coffee:before{ + content:""} + +.fa-cutlery:before{ + content:""} + +.fa-file-text-o:before{ + content:""} + +.fa-building-o:before{ + content:""} + +.fa-hospital-o:before{ + content:""} + +.fa-ambulance:before{ + content:""} + +.fa-medkit:before{ + content:""} + +.fa-fighter-jet:before{ + content:""} + +.fa-beer:before{ + content:""} + +.fa-h-square:before{ + content:""} + +.fa-plus-square:before{ + content:""} + +.fa-angle-double-left:before{ + content:""} + +.fa-angle-double-right:before{ + content:""} + +.fa-angle-double-up:before{ + content:""} + +.fa-angle-double-down:before{ + content:""} + +.fa-angle-left:before{ + content:""} + +.fa-angle-right:before{ + content:""} + +.fa-angle-up:before{ + content:""} + +.fa-angle-down:before{ + content:""} + +.fa-desktop:before{ + content:""} + +.fa-laptop:before{ + content:""} + +.fa-tablet:before{ + content:""} + +.fa-mobile-phone:before,.fa-mobile:before{ + content:""} + +.fa-circle-o:before{ + content:""} + +.fa-quote-left:before{ + content:""} + +.fa-quote-right:before{ + content:""} + +.fa-spinner:before{ + content:""} + +.fa-circle:before{ + content:""} + +.fa-mail-reply:before,.fa-reply:before{ + content:""} + +.fa-github-alt:before{ + content:""} + +.fa-folder-o:before{ + content:""} + +.fa-folder-open-o:before{ + content:""} + +.fa-smile-o:before{ + content:""} + +.fa-frown-o:before{ + content:""} + +.fa-meh-o:before{ + content:""} + +.fa-gamepad:before{ + content:""} + +.fa-keyboard-o:before{ + content:""} + +.fa-flag-o:before{ + content:""} + +.fa-flag-checkered:before{ + content:""} + +.fa-terminal:before{ + content:""} + +.fa-code:before{ + content:""} + +.fa-mail-reply-all:before,.fa-reply-all:before{ + content:""} + +.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{ + content:""} + +.fa-location-arrow:before{ + content:""} + +.fa-crop:before{ + content:""} + +.fa-code-fork:before{ + content:""} + +.fa-unlink:before,.fa-chain-broken:before{ + content:""} + +.fa-question:before{ + content:""} + +.fa-info:before{ + content:""} + +.fa-exclamation:before{ + content:""} + +.fa-superscript:before{ + content:""} + +.fa-subscript:before{ + content:""} + +.fa-eraser:before{ + content:""} + +.fa-puzzle-piece:before{ + content:""} + +.fa-microphone:before{ + content:""} + +.fa-microphone-slash:before{ + content:""} + +.fa-shield:before{ + content:""} + +.fa-calendar-o:before{ + content:""} + +.fa-fire-extinguisher:before{ + content:""} + +.fa-rocket:before{ + content:""} + +.fa-maxcdn:before{ + content:""} + +.fa-chevron-circle-left:before{ + content:""} + +.fa-chevron-circle-right:before{ + content:""} + +.fa-chevron-circle-up:before{ + content:""} + +.fa-chevron-circle-down:before{ + content:""} + +.fa-html5:before{ + content:""} + +.fa-css3:before{ + content:""} + +.fa-anchor:before{ + content:""} + +.fa-unlock-alt:before{ + content:""} + +.fa-bullseye:before{ + content:""} + +.fa-ellipsis-h:before{ + content:""} + +.fa-ellipsis-v:before{ + content:""} + +.fa-rss-square:before{ + content:""} + +.fa-play-circle:before{ + content:""} + +.fa-ticket:before{ + content:""} + +.fa-minus-square:before{ + content:""} + +.fa-minus-square-o:before{ + content:""} + +.fa-level-up:before{ + content:""} + +.fa-level-down:before{ + content:""} + +.fa-check-square:before{ + content:""} + +.fa-pencil-square:before{ + content:""} + +.fa-external-link-square:before{ + content:""} + +.fa-share-square:before{ + content:""} + +.fa-compass:before{ + content:""} + +.fa-toggle-down:before,.fa-caret-square-o-down:before{ + content:""} + +.fa-toggle-up:before,.fa-caret-square-o-up:before{ + content:""} + +.fa-toggle-right:before,.fa-caret-square-o-right:before{ + content:""} + +.fa-euro:before,.fa-eur:before{ + content:""} + +.fa-gbp:before{ + content:""} + +.fa-dollar:before,.fa-usd:before{ + content:""} + +.fa-rupee:before,.fa-inr:before{ + content:""} + +.fa-cny:before,.fa-rmb:before,.fa-yen:before,.fa-jpy:before{ + content:""} + +.fa-ruble:before,.fa-rouble:before,.fa-rub:before{ + content:""} + +.fa-won:before,.fa-krw:before{ + content:""} + +.fa-bitcoin:before,.fa-btc:before{ + content:""} + +.fa-file:before{ + content:""} + +.fa-file-text:before{ + content:""} + +.fa-sort-alpha-asc:before{ + content:""} + +.fa-sort-alpha-desc:before{ + content:""} + +.fa-sort-amount-asc:before{ + content:""} + +.fa-sort-amount-desc:before{ + content:""} + +.fa-sort-numeric-asc:before{ + content:""} + +.fa-sort-numeric-desc:before{ + content:""} + +.fa-thumbs-up:before{ + content:""} + +.fa-thumbs-down:before{ + content:""} + +.fa-youtube-square:before{ + content:""} + +.fa-youtube:before{ + content:""} + +.fa-xing:before{ + content:""} + +.fa-xing-square:before{ + content:""} + +.fa-youtube-play:before{ + content:""} + +.fa-dropbox:before{ + content:""} + +.fa-stack-overflow:before{ + content:""} + +.fa-instagram:before{ + content:""} + +.fa-flickr:before{ + content:""} + +.fa-adn:before{ + content:""} + +.fa-bitbucket:before,.icon-bitbucket:before{ + content:""} + +.fa-bitbucket-square:before{ + content:""} + +.fa-tumblr:before{ + content:""} + +.fa-tumblr-square:before{ + content:""} + +.fa-long-arrow-down:before{ + content:""} + +.fa-long-arrow-up:before{ + content:""} + +.fa-long-arrow-left:before{ + content:""} + +.fa-long-arrow-right:before{ + content:""} + +.fa-apple:before{ + content:""} + +.fa-windows:before{ + content:""} + +.fa-android:before{ + content:""} + +.fa-linux:before{ + content:""} + +.fa-dribbble:before{ + content:""} + +.fa-skype:before{ + content:""} + +.fa-foursquare:before{ + content:""} + +.fa-trello:before{ + content:""} + +.fa-female:before{ + content:""} + +.fa-male:before{ + content:""} + +.fa-gittip:before{ + content:""} + +.fa-sun-o:before{ + content:""} + +.fa-moon-o:before{ + content:""} + +.fa-archive:before{ + content:""} + +.fa-bug:before{ + content:""} + +.fa-vk:before{ + content:""} + +.fa-weibo:before{ + content:""} + +.fa-renren:before{ + content:""} + +.fa-pagelines:before{ + content:""} + +.fa-stack-exchange:before{ + content:""} + +.fa-arrow-circle-o-right:before{ + content:""} + +.fa-arrow-circle-o-left:before{ + content:""} + +.fa-toggle-left:before,.fa-caret-square-o-left:before{ + content:""} + +.fa-dot-circle-o:before{ + content:""} + +.fa-wheelchair:before{ + content:""} + +.fa-vimeo-square:before{ + content:""} + +.fa-turkish-lira:before,.fa-try:before{ + content:""} + +.fa-plus-square-o:before{ + content:""} + +.fa-space-shuttle:before{ + content:""} + +.fa-slack:before{ + content:""} + +.fa-envelope-square:before{ + content:""} + +.fa-wordpress:before{ + content:""} + +.fa-openid:before{ + content:""} + +.fa-institution:before,.fa-bank:before,.fa-university:before{ + content:""} + +.fa-mortar-board:before,.fa-graduation-cap:before{ + content:""} + +.fa-yahoo:before{ + content:""} + +.fa-google:before{ + content:""} + +.fa-reddit:before{ + content:""} + +.fa-reddit-square:before{ + content:""} + +.fa-stumbleupon-circle:before{ + content:""} + +.fa-stumbleupon:before{ + content:""} + +.fa-delicious:before{ + content:""} + +.fa-digg:before{ + content:""} + +.fa-pied-piper-square:before,.fa-pied-piper:before{ + content:""} + +.fa-pied-piper-alt:before{ + content:""} + +.fa-drupal:before{ + content:""} + +.fa-joomla:before{ + content:""} + +.fa-language:before{ + content:""} + +.fa-fax:before{ + content:""} + +.fa-building:before{ + content:""} + +.fa-child:before{ + content:""} + +.fa-paw:before{ + content:""} + +.fa-spoon:before{ + content:""} + +.fa-cube:before{ + content:""} + +.fa-cubes:before{ + content:""} + +.fa-behance:before{ + content:""} + +.fa-behance-square:before{ + content:""} + +.fa-steam:before{ + content:""} + +.fa-steam-square:before{ + content:""} + +.fa-recycle:before{ + content:""} + +.fa-automobile:before,.fa-car:before{ + content:""} + +.fa-cab:before,.fa-taxi:before{ + content:""} + +.fa-tree:before{ + content:""} + +.fa-spotify:before{ + content:""} + +.fa-deviantart:before{ + content:""} + +.fa-soundcloud:before{ + content:""} + +.fa-database:before{ + content:""} + +.fa-file-pdf-o:before{ + content:""} + +.fa-file-word-o:before{ + content:""} + +.fa-file-excel-o:before{ + content:""} + +.fa-file-powerpoint-o:before{ + content:""} + +.fa-file-photo-o:before,.fa-file-picture-o:before,.fa-file-image-o:before{ + content:""} + +.fa-file-zip-o:before,.fa-file-archive-o:before{ + content:""} + +.fa-file-sound-o:before,.fa-file-audio-o:before{ + content:""} + +.fa-file-movie-o:before,.fa-file-video-o:before{ + content:""} + +.fa-file-code-o:before{ + content:""} + +.fa-vine:before{ + content:""} + +.fa-codepen:before{ + content:""} + +.fa-jsfiddle:before{ + content:""} + +.fa-life-bouy:before,.fa-life-saver:before,.fa-support:before,.fa-life-ring:before{ + content:""} + +.fa-circle-o-notch:before{ + content:""} + +.fa-ra:before,.fa-rebel:before{ + content:""} + +.fa-ge:before,.fa-empire:before{ + content:""} + +.fa-git-square:before{ + content:""} + +.fa-git:before{ + content:""} + +.fa-hacker-news:before{ + content:""} + +.fa-tencent-weibo:before{ + content:""} + +.fa-qq:before{ + content:""} + +.fa-wechat:before,.fa-weixin:before{ + content:""} + +.fa-send:before,.fa-paper-plane:before{ + content:""} + +.fa-send-o:before,.fa-paper-plane-o:before{ + content:""} + +.fa-history:before{ + content:""} + +.fa-circle-thin:before{ + content:""} + +.fa-header:before{ + content:""} + +.fa-paragraph:before{ + content:""} + +.fa-sliders:before{ + content:""} + +.fa-share-alt:before{ + content:""} + +.fa-share-alt-square:before{ + content:""} + +.fa-bomb:before{ + content:""} + +.fa,.rst-content .admonition-title,.rst-content h1 .headerlink,.rst-content h2 .headerlink,.rst-content h3 .headerlink,.rst-content h4 .headerlink,.rst-content h5 .headerlink,.rst-content h6 .headerlink,.rst-content dl dt .headerlink,.icon,.wy-dropdown .caret,.wy-inline-validate.wy-inline-validate-success .wy-input-context,.wy-inline-validate.wy-inline-validate-danger .wy-input-context,.wy-inline-validate.wy-inline-validate-warning .wy-input-context,.wy-inline-validate.wy-inline-validate-info .wy-input-context{ + font-family:inherit} + +.fa:before,.rst-content .admonition-title:before,.rst-content h1 .headerlink:before,.rst-content h2 .headerlink:before,.rst-content h3 .headerlink:before,.rst-content h4 .headerlink:before,.rst-content h5 .headerlink:before,.rst-content h6 .headerlink:before,.rst-content dl dt .headerlink:before,.icon:before,.wy-dropdown .caret:before,.wy-inline-validate.wy-inline-validate-success .wy-input-context:before,.wy-inline-validate.wy-inline-validate-danger .wy-input-context:before,.wy-inline-validate.wy-inline-validate-warning .wy-input-context:before,.wy-inline-validate.wy-inline-validate-info .wy-input-context:before{ + font-family:"FontAwesome"; + display:inline-block; + font-style:normal; + font-weight:normal; + line-height:1; + text-decoration:inherit} + +a .fa,a .rst-content .admonition-title,.rst-content a .admonition-title,a .rst-content h1 .headerlink,.rst-content h1 a .headerlink,a .rst-content h2 .headerlink,.rst-content h2 a .headerlink,a .rst-content h3 .headerlink,.rst-content h3 a .headerlink,a .rst-content h4 .headerlink,.rst-content h4 a .headerlink,a .rst-content h5 .headerlink,.rst-content h5 a .headerlink,a .rst-content h6 .headerlink,.rst-content h6 a .headerlink,a .rst-content dl dt .headerlink,.rst-content dl dt a .headerlink,a .icon{ + display:inline-block; + text-decoration:inherit} + +.btn .fa,.btn .rst-content .admonition-title,.rst-content .btn .admonition-title,.btn .rst-content h1 .headerlink,.rst-content h1 .btn .headerlink,.btn .rst-content h2 .headerlink,.rst-content h2 .btn .headerlink,.btn .rst-content h3 .headerlink,.rst-content h3 .btn .headerlink,.btn .rst-content h4 .headerlink,.rst-content h4 .btn .headerlink,.btn .rst-content h5 .headerlink,.rst-content h5 .btn .headerlink,.btn .rst-content h6 .headerlink,.rst-content h6 .btn .headerlink,.btn .rst-content dl dt .headerlink,.rst-content dl dt .btn .headerlink,.btn .icon,.nav .fa,.nav .rst-content .admonition-title,.rst-content .nav .admonition-title,.nav .rst-content h1 .headerlink,.rst-content h1 .nav .headerlink,.nav .rst-content h2 .headerlink,.rst-content h2 .nav .headerlink,.nav .rst-content h3 .headerlink,.rst-content h3 .nav .headerlink,.nav .rst-content h4 .headerlink,.rst-content h4 .nav .headerlink,.nav .rst-content h5 .headerlink,.rst-content h5 .nav .headerlink,.nav .rst-content h6 .headerlink,.rst-content h6 .nav .headerlink,.nav .rst-content dl dt .headerlink,.rst-content dl dt .nav .headerlink,.nav .icon{ + display:inline} + +.btn .fa.fa-large,.btn .rst-content .fa-large.admonition-title,.rst-content .btn .fa-large.admonition-title,.btn .rst-content h1 .fa-large.headerlink,.rst-content h1 .btn .fa-large.headerlink,.btn .rst-content h2 .fa-large.headerlink,.rst-content h2 .btn .fa-large.headerlink,.btn .rst-content h3 .fa-large.headerlink,.rst-content h3 .btn .fa-large.headerlink,.btn .rst-content h4 .fa-large.headerlink,.rst-content h4 .btn .fa-large.headerlink,.btn .rst-content h5 .fa-large.headerlink,.rst-content h5 .btn .fa-large.headerlink,.btn .rst-content h6 .fa-large.headerlink,.rst-content h6 .btn .fa-large.headerlink,.btn .rst-content dl dt .fa-large.headerlink,.rst-content dl dt .btn .fa-large.headerlink,.btn .fa-large.icon,.nav .fa.fa-large,.nav .rst-content .fa-large.admonition-title,.rst-content .nav .fa-large.admonition-title,.nav .rst-content h1 .fa-large.headerlink,.rst-content h1 .nav .fa-large.headerlink,.nav .rst-content h2 .fa-large.headerlink,.rst-content h2 .nav .fa-large.headerlink,.nav .rst-content h3 .fa-large.headerlink,.rst-content h3 .nav .fa-large.headerlink,.nav .rst-content h4 .fa-large.headerlink,.rst-content h4 .nav .fa-large.headerlink,.nav .rst-content h5 .fa-large.headerlink,.rst-content h5 .nav .fa-large.headerlink,.nav .rst-content h6 .fa-large.headerlink,.rst-content h6 .nav .fa-large.headerlink,.nav .rst-content dl dt .fa-large.headerlink,.rst-content dl dt .nav .fa-large.headerlink,.nav .fa-large.icon{ + line-height:0.9em} + +.btn .fa.fa-spin,.btn .rst-content .fa-spin.admonition-title,.rst-content .btn .fa-spin.admonition-title,.btn .rst-content h1 .fa-spin.headerlink,.rst-content h1 .btn .fa-spin.headerlink,.btn .rst-content h2 .fa-spin.headerlink,.rst-content h2 .btn .fa-spin.headerlink,.btn .rst-content h3 .fa-spin.headerlink,.rst-content h3 .btn .fa-spin.headerlink,.btn .rst-content h4 .fa-spin.headerlink,.rst-content h4 .btn .fa-spin.headerlink,.btn .rst-content h5 .fa-spin.headerlink,.rst-content h5 .btn .fa-spin.headerlink,.btn .rst-content h6 .fa-spin.headerlink,.rst-content h6 .btn .fa-spin.headerlink,.btn .rst-content dl dt .fa-spin.headerlink,.rst-content dl dt .btn .fa-spin.headerlink,.btn .fa-spin.icon,.nav .fa.fa-spin,.nav .rst-content .fa-spin.admonition-title,.rst-content .nav .fa-spin.admonition-title,.nav .rst-content h1 .fa-spin.headerlink,.rst-content h1 .nav .fa-spin.headerlink,.nav .rst-content h2 .fa-spin.headerlink,.rst-content h2 .nav .fa-spin.headerlink,.nav .rst-content h3 .fa-spin.headerlink,.rst-content h3 .nav .fa-spin.headerlink,.nav .rst-content h4 .fa-spin.headerlink,.rst-content h4 .nav .fa-spin.headerlink,.nav .rst-content h5 .fa-spin.headerlink,.rst-content h5 .nav .fa-spin.headerlink,.nav .rst-content h6 .fa-spin.headerlink,.rst-content h6 .nav .fa-spin.headerlink,.nav .rst-content dl dt .fa-spin.headerlink,.rst-content dl dt .nav .fa-spin.headerlink,.nav .fa-spin.icon{ + display:inline-block} + +.btn.fa:before,.rst-content .btn.admonition-title:before,.rst-content h1 .btn.headerlink:before,.rst-content h2 .btn.headerlink:before,.rst-content h3 .btn.headerlink:before,.rst-content h4 .btn.headerlink:before,.rst-content h5 .btn.headerlink:before,.rst-content h6 .btn.headerlink:before,.rst-content dl dt .btn.headerlink:before,.btn.icon:before{ + opacity:0.5; + -webkit-transition:opacity 0.05s ease-in; + -moz-transition:opacity 0.05s ease-in; + transition:opacity 0.05s ease-in} + +.btn.fa:hover:before,.rst-content .btn.admonition-title:hover:before,.rst-content h1 .btn.headerlink:hover:before,.rst-content h2 .btn.headerlink:hover:before,.rst-content h3 .btn.headerlink:hover:before,.rst-content h4 .btn.headerlink:hover:before,.rst-content h5 .btn.headerlink:hover:before,.rst-content h6 .btn.headerlink:hover:before,.rst-content dl dt .btn.headerlink:hover:before,.btn.icon:hover:before{ + opacity:1} + +.btn-mini .fa:before,.btn-mini .rst-content .admonition-title:before,.rst-content .btn-mini .admonition-title:before,.btn-mini .rst-content h1 .headerlink:before,.rst-content h1 .btn-mini .headerlink:before,.btn-mini .rst-content h2 .headerlink:before,.rst-content h2 .btn-mini .headerlink:before,.btn-mini .rst-content h3 .headerlink:before,.rst-content h3 .btn-mini .headerlink:before,.btn-mini .rst-content h4 .headerlink:before,.rst-content h4 .btn-mini .headerlink:before,.btn-mini .rst-content h5 .headerlink:before,.rst-content h5 .btn-mini .headerlink:before,.btn-mini .rst-content h6 .headerlink:before,.rst-content h6 .btn-mini .headerlink:before,.btn-mini .rst-content dl dt .headerlink:before,.rst-content dl dt .btn-mini .headerlink:before,.btn-mini .icon:before{ + font-size:14px; + vertical-align:-15%} + +.wy-alert,.rst-content .note,.rst-content .attention,.rst-content .caution,.rst-content .danger,.rst-content .error,.rst-content .hint,.rst-content .important,.rst-content .tip,.rst-content .warning,.rst-content .seealso,.rst-content .admonition-todo{ + padding:12px; + line-height:24px; + margin-bottom:24px; + background:#e7f2fa} + +.wy-alert-title,.rst-content .admonition-title{ + color:#fff; + font-weight:bold; + display:block; + color:#fff; + background:#6ab0de; + margin:-12px; + padding:6px 12px; + margin-bottom:12px} + +.wy-alert.wy-alert-danger,.rst-content .wy-alert-danger.note,.rst-content .wy-alert-danger.attention,.rst-content .wy-alert-danger.caution,.rst-content .danger,.rst-content .error,.rst-content .wy-alert-danger.hint,.rst-content .wy-alert-danger.important,.rst-content .wy-alert-danger.tip,.rst-content .wy-alert-danger.warning,.rst-content .wy-alert-danger.seealso,.rst-content .wy-alert-danger.admonition-todo{ + background:#fdf3f2} + +.wy-alert.wy-alert-danger .wy-alert-title,.rst-content .wy-alert-danger.note .wy-alert-title,.rst-content .wy-alert-danger.attention .wy-alert-title,.rst-content .wy-alert-danger.caution .wy-alert-title,.rst-content .danger .wy-alert-title,.rst-content .error .wy-alert-title,.rst-content .wy-alert-danger.hint .wy-alert-title,.rst-content .wy-alert-danger.important .wy-alert-title,.rst-content .wy-alert-danger.tip .wy-alert-title,.rst-content .wy-alert-danger.warning .wy-alert-title,.rst-content .wy-alert-danger.seealso .wy-alert-title,.rst-content .wy-alert-danger.admonition-todo .wy-alert-title,.wy-alert.wy-alert-danger .rst-content .admonition-title,.rst-content .wy-alert.wy-alert-danger .admonition-title,.rst-content .wy-alert-danger.note .admonition-title,.rst-content .wy-alert-danger.attention .admonition-title,.rst-content .wy-alert-danger.caution .admonition-title,.rst-content .danger .admonition-title,.rst-content .error .admonition-title,.rst-content .wy-alert-danger.hint .admonition-title,.rst-content .wy-alert-danger.important .admonition-title,.rst-content .wy-alert-danger.tip .admonition-title,.rst-content .wy-alert-danger.warning .admonition-title,.rst-content .wy-alert-danger.seealso .admonition-title,.rst-content .wy-alert-danger.admonition-todo .admonition-title{ + background:#f29f97} + +.wy-alert.wy-alert-warning,.rst-content .wy-alert-warning.note,.rst-content .attention,.rst-content .caution,.rst-content .wy-alert-warning.danger,.rst-content .wy-alert-warning.error,.rst-content .wy-alert-warning.hint,.rst-content .wy-alert-warning.important,.rst-content .wy-alert-warning.tip,.rst-content .warning,.rst-content .wy-alert-warning.seealso,.rst-content .admonition-todo{ + background:#ffedcc} + +.wy-alert.wy-alert-warning .wy-alert-title,.rst-content .wy-alert-warning.note .wy-alert-title,.rst-content .attention .wy-alert-title,.rst-content .caution .wy-alert-title,.rst-content .wy-alert-warning.danger .wy-alert-title,.rst-content .wy-alert-warning.error .wy-alert-title,.rst-content .wy-alert-warning.hint .wy-alert-title,.rst-content .wy-alert-warning.important .wy-alert-title,.rst-content .wy-alert-warning.tip .wy-alert-title,.rst-content .warning .wy-alert-title,.rst-content .wy-alert-warning.seealso .wy-alert-title,.rst-content .admonition-todo .wy-alert-title,.wy-alert.wy-alert-warning .rst-content .admonition-title,.rst-content .wy-alert.wy-alert-warning .admonition-title,.rst-content .wy-alert-warning.note .admonition-title,.rst-content .attention .admonition-title,.rst-content .caution .admonition-title,.rst-content .wy-alert-warning.danger .admonition-title,.rst-content .wy-alert-warning.error .admonition-title,.rst-content .wy-alert-warning.hint .admonition-title,.rst-content .wy-alert-warning.important .admonition-title,.rst-content .wy-alert-warning.tip .admonition-title,.rst-content .warning .admonition-title,.rst-content .wy-alert-warning.seealso .admonition-title,.rst-content .admonition-todo .admonition-title{ + background:#f0b37e} + +.wy-alert.wy-alert-info,.rst-content .note,.rst-content .wy-alert-info.attention,.rst-content .wy-alert-info.caution,.rst-content .wy-alert-info.danger,.rst-content .wy-alert-info.error,.rst-content .wy-alert-info.hint,.rst-content .wy-alert-info.important,.rst-content .wy-alert-info.tip,.rst-content .wy-alert-info.warning,.rst-content .seealso,.rst-content .wy-alert-info.admonition-todo{ + background:#e7f2fa} + +.wy-alert.wy-alert-info .wy-alert-title,.rst-content .note .wy-alert-title,.rst-content .wy-alert-info.attention .wy-alert-title,.rst-content .wy-alert-info.caution .wy-alert-title,.rst-content .wy-alert-info.danger .wy-alert-title,.rst-content .wy-alert-info.error .wy-alert-title,.rst-content .wy-alert-info.hint .wy-alert-title,.rst-content .wy-alert-info.important .wy-alert-title,.rst-content .wy-alert-info.tip .wy-alert-title,.rst-content .wy-alert-info.warning .wy-alert-title,.rst-content .seealso .wy-alert-title,.rst-content .wy-alert-info.admonition-todo .wy-alert-title,.wy-alert.wy-alert-info .rst-content .admonition-title,.rst-content .wy-alert.wy-alert-info .admonition-title,.rst-content .note .admonition-title,.rst-content .wy-alert-info.attention .admonition-title,.rst-content .wy-alert-info.caution .admonition-title,.rst-content .wy-alert-info.danger .admonition-title,.rst-content .wy-alert-info.error .admonition-title,.rst-content .wy-alert-info.hint .admonition-title,.rst-content .wy-alert-info.important .admonition-title,.rst-content .wy-alert-info.tip .admonition-title,.rst-content .wy-alert-info.warning .admonition-title,.rst-content .seealso .admonition-title,.rst-content .wy-alert-info.admonition-todo .admonition-title{ + background:#6ab0de} + +.wy-alert.wy-alert-success,.rst-content .wy-alert-success.note,.rst-content .wy-alert-success.attention,.rst-content .wy-alert-success.caution,.rst-content .wy-alert-success.danger,.rst-content .wy-alert-success.error,.rst-content .hint,.rst-content .important,.rst-content .tip,.rst-content .wy-alert-success.warning,.rst-content .wy-alert-success.seealso,.rst-content .wy-alert-success.admonition-todo{ + background:#dbfaf4} + +.wy-alert.wy-alert-success .wy-alert-title,.rst-content .wy-alert-success.note .wy-alert-title,.rst-content .wy-alert-success.attention .wy-alert-title,.rst-content .wy-alert-success.caution .wy-alert-title,.rst-content .wy-alert-success.danger .wy-alert-title,.rst-content .wy-alert-success.error .wy-alert-title,.rst-content .hint .wy-alert-title,.rst-content .important .wy-alert-title,.rst-content .tip .wy-alert-title,.rst-content .wy-alert-success.warning .wy-alert-title,.rst-content .wy-alert-success.seealso .wy-alert-title,.rst-content .wy-alert-success.admonition-todo .wy-alert-title,.wy-alert.wy-alert-success .rst-content .admonition-title,.rst-content .wy-alert.wy-alert-success .admonition-title,.rst-content .wy-alert-success.note .admonition-title,.rst-content .wy-alert-success.attention .admonition-title,.rst-content .wy-alert-success.caution .admonition-title,.rst-content .wy-alert-success.danger .admonition-title,.rst-content .wy-alert-success.error .admonition-title,.rst-content .hint .admonition-title,.rst-content .important .admonition-title,.rst-content .tip .admonition-title,.rst-content .wy-alert-success.warning .admonition-title,.rst-content .wy-alert-success.seealso .admonition-title,.rst-content .wy-alert-success.admonition-todo .admonition-title{ + background:#1abc9c} + +.wy-alert.wy-alert-neutral,.rst-content .wy-alert-neutral.note,.rst-content .wy-alert-neutral.attention,.rst-content .wy-alert-neutral.caution,.rst-content .wy-alert-neutral.danger,.rst-content .wy-alert-neutral.error,.rst-content .wy-alert-neutral.hint,.rst-content .wy-alert-neutral.important,.rst-content .wy-alert-neutral.tip,.rst-content .wy-alert-neutral.warning,.rst-content .wy-alert-neutral.seealso,.rst-content .wy-alert-neutral.admonition-todo{ + background:#f3f6f6} + +.wy-alert.wy-alert-neutral .wy-alert-title,.rst-content .wy-alert-neutral.note .wy-alert-title,.rst-content .wy-alert-neutral.attention .wy-alert-title,.rst-content .wy-alert-neutral.caution .wy-alert-title,.rst-content .wy-alert-neutral.danger .wy-alert-title,.rst-content .wy-alert-neutral.error .wy-alert-title,.rst-content .wy-alert-neutral.hint .wy-alert-title,.rst-content .wy-alert-neutral.important .wy-alert-title,.rst-content .wy-alert-neutral.tip .wy-alert-title,.rst-content .wy-alert-neutral.warning .wy-alert-title,.rst-content .wy-alert-neutral.seealso .wy-alert-title,.rst-content .wy-alert-neutral.admonition-todo .wy-alert-title,.wy-alert.wy-alert-neutral .rst-content .admonition-title,.rst-content .wy-alert.wy-alert-neutral .admonition-title,.rst-content .wy-alert-neutral.note .admonition-title,.rst-content .wy-alert-neutral.attention .admonition-title,.rst-content .wy-alert-neutral.caution .admonition-title,.rst-content .wy-alert-neutral.danger .admonition-title,.rst-content .wy-alert-neutral.error .admonition-title,.rst-content .wy-alert-neutral.hint .admonition-title,.rst-content .wy-alert-neutral.important .admonition-title,.rst-content .wy-alert-neutral.tip .admonition-title,.rst-content .wy-alert-neutral.warning .admonition-title,.rst-content .wy-alert-neutral.seealso .admonition-title,.rst-content .wy-alert-neutral.admonition-todo .admonition-title{ + color:#404040; + background:#e1e4e5} + +.wy-alert.wy-alert-neutral a,.rst-content .wy-alert-neutral.note a,.rst-content .wy-alert-neutral.attention a,.rst-content .wy-alert-neutral.caution a,.rst-content .wy-alert-neutral.danger a,.rst-content .wy-alert-neutral.error a,.rst-content .wy-alert-neutral.hint a,.rst-content .wy-alert-neutral.important a,.rst-content .wy-alert-neutral.tip a,.rst-content .wy-alert-neutral.warning a,.rst-content .wy-alert-neutral.seealso a,.rst-content .wy-alert-neutral.admonition-todo a{ + color:#2980B9} + +.wy-alert p:last-child,.rst-content .note p:last-child,.rst-content .attention p:last-child,.rst-content .caution p:last-child,.rst-content .danger p:last-child,.rst-content .error p:last-child,.rst-content .hint p:last-child,.rst-content .important p:last-child,.rst-content .tip p:last-child,.rst-content .warning p:last-child,.rst-content .seealso p:last-child,.rst-content .admonition-todo p:last-child{ + margin-bottom:0} + +.wy-tray-container{ + position:fixed; + bottom:0px; + left:0; + z-index:600} + +.wy-tray-container li{ + display:block; + width:300px; + background:transparent; + color:#fff; + text-align:center; + box-shadow:0 5px 5px 0 rgba(0,0,0,0.1); + padding:0 24px; + min-width:20%; + opacity:0; + height:0; + line-height:56px; + overflow:hidden; + -webkit-transition:all 0.3s ease-in; + -moz-transition:all 0.3s ease-in; + transition:all 0.3s ease-in} + +.wy-tray-container li.wy-tray-item-success{ + background:#27AE60} + +.wy-tray-container li.wy-tray-item-info{ + background:#2980B9} + +.wy-tray-container li.wy-tray-item-warning{ + background:#E67E22} + +.wy-tray-container li.wy-tray-item-danger{ + background:#E74C3C} + +.wy-tray-container li.on{ + opacity:1; + height:56px} + +@media screen and (max-width: 768px){ + .wy-tray-container{ + bottom:auto; + top:0; + width:100%} + + .wy-tray-container li{ + width:100%} + +} + +button{ + font-size:100%; + margin:0; + vertical-align:baseline; + *vertical-align:middle; + cursor:pointer; + line-height:normal; + -webkit-appearance:button; + *overflow:visible} + +button::-moz-focus-inner,input::-moz-focus-inner{ + border:0; + padding:0} + +button[disabled]{ + cursor:default} + +.btn{ + display:inline-block; + border-radius:2px; + line-height:normal; + white-space:nowrap; + text-align:center; + cursor:pointer; + font-size:100%; + padding:6px 12px 8px 12px; + color:#fff; + border:1px solid rgba(0,0,0,0.1); + background-color:#27AE60; + text-decoration:none; + font-weight:normal; + font-family:"Lato","proxima-nova","Helvetica Neue",Arial,sans-serif; + box-shadow:0px 1px 2px -1px rgba(255,255,255,0.5) inset,0px -2px 0px 0px rgba(0,0,0,0.1) inset; + outline-none:false; + vertical-align:middle; + *display:inline; + zoom:1; + -webkit-user-drag:none; + -webkit-user-select:none; + -moz-user-select:none; + -ms-user-select:none; + user-select:none; + -webkit-transition:all 0.1s linear; + -moz-transition:all 0.1s linear; + transition:all 0.1s linear} + +.btn-hover{ + background:#2e8ece; + color:#fff} + +.btn:hover{ + background:#2cc36b; + color:#fff} + +.btn:focus{ + background:#2cc36b; + outline:0} + +.btn:active{ + box-shadow:0px -1px 0px 0px rgba(0,0,0,0.05) inset,0px 2px 0px 0px rgba(0,0,0,0.1) inset; + padding:8px 12px 6px 12px} + +.btn:visited{ + color:#fff} + +.btn:disabled{ + background-image:none; + filter:progid:DXImageTransform.Microsoft.gradient(enabled = false); + filter:alpha(opacity=40); + opacity:0.4; + cursor:not-allowed; + box-shadow:none} + +.btn-disabled{ + background-image:none; + filter:progid:DXImageTransform.Microsoft.gradient(enabled = false); + filter:alpha(opacity=40); + opacity:0.4; + cursor:not-allowed; + box-shadow:none} + +.btn-disabled:hover,.btn-disabled:focus,.btn-disabled:active{ + background-image:none; + filter:progid:DXImageTransform.Microsoft.gradient(enabled = false); + filter:alpha(opacity=40); + opacity:0.4; + cursor:not-allowed; + box-shadow:none} + +.btn::-moz-focus-inner{ + padding:0; + border:0} + +.btn-small{ + font-size:80%} + +.btn-info{ + background-color:#2980B9 !important} + +.btn-info:hover{ + background-color:#2e8ece !important} + +.btn-neutral{ + background-color:#f3f6f6 !important; + color:#404040 !important} + +.btn-neutral:hover{ + background-color:#e5ebeb !important; + color:#404040} + +.btn-neutral:visited{ + color:#404040 !important} + +.btn-success{ + background-color:#27AE60 !important} + +.btn-success:hover{ + background-color:#295 !important} + +.btn-danger{ + background-color:#E74C3C !important} + +.btn-danger:hover{ + background-color:#ea6153 !important} + +.btn-warning{ + background-color:#E67E22 !important} + +.btn-warning:hover{ + background-color:#e98b39 !important} + +.btn-invert{ + background-color:#222} + +.btn-invert:hover{ + background-color:#2f2f2f !important} + +.btn-link{ + background-color:transparent !important; + color:#2980B9; + box-shadow:none; + border-color:transparent !important} + +.btn-link:hover{ + background-color:transparent !important; + color:#409ad5 !important; + box-shadow:none} + +.btn-link:active{ + background-color:transparent !important; + color:#409ad5 !important; + box-shadow:none} + +.btn-link:visited{ + color:#9B59B6} + +.wy-btn-group .btn,.wy-control .btn{ + vertical-align:middle} + +.wy-btn-group{ + margin-bottom:24px; + *zoom:1} + +.wy-btn-group:before,.wy-btn-group:after{ + display:table; + content:""} + +.wy-btn-group:after{ + clear:both} + +.wy-dropdown{ + position:relative; + display:inline-block} + +.wy-dropdown-active .wy-dropdown-menu{ + display:block} + +.wy-dropdown-menu{ + position:absolute; + left:0; + display:none; + float:left; + top:100%; + min-width:100%; + background:#fcfcfc; + z-index:100; + border:solid 1px #cfd7dd; + box-shadow:0 2px 2px 0 rgba(0,0,0,0.1); + padding:12px} + +.wy-dropdown-menu>dd>a{ + display:block; + clear:both; + color:#404040; + white-space:nowrap; + font-size:90%; + padding:0 12px; + cursor:pointer} + +.wy-dropdown-menu>dd>a:hover{ + background:#2980B9; + color:#fff} + +.wy-dropdown-menu>dd.divider{ + border-top:solid 1px #cfd7dd; + margin:6px 0} + +.wy-dropdown-menu>dd.search{ + padding-bottom:12px} + +.wy-dropdown-menu>dd.search input[type="search"]{ + width:100%} + +.wy-dropdown-menu>dd.call-to-action{ + background:#e3e3e3; + text-transform:uppercase; + font-weight:500; + font-size:80%} + +.wy-dropdown-menu>dd.call-to-action:hover{ + background:#e3e3e3} + +.wy-dropdown-menu>dd.call-to-action .btn{ + color:#fff} + +.wy-dropdown.wy-dropdown-up .wy-dropdown-menu{ + bottom:100%; + top:auto; + left:auto; + right:0} + +.wy-dropdown.wy-dropdown-bubble .wy-dropdown-menu{ + background:#fcfcfc; + margin-top:2px} + +.wy-dropdown.wy-dropdown-bubble .wy-dropdown-menu a{ + padding:6px 12px} + +.wy-dropdown.wy-dropdown-bubble .wy-dropdown-menu a:hover{ + background:#2980B9; + color:#fff} + +.wy-dropdown.wy-dropdown-left .wy-dropdown-menu{ + right:0; + text-align:right} + +.wy-dropdown-arrow:before{ + content:" "; + border-bottom:5px solid #f5f5f5; + border-left:5px solid transparent; + border-right:5px solid transparent; + position:absolute; + display:block; + top:-4px; + left:50%; + margin-left:-3px} + +.wy-dropdown-arrow.wy-dropdown-arrow-left:before{ + left:11px} + +.wy-form-stacked select{ + display:block} + +.wy-form-aligned input,.wy-form-aligned textarea,.wy-form-aligned select,.wy-form-aligned .wy-help-inline,.wy-form-aligned label{ + display:inline-block; + *display:inline; + *zoom:1; + vertical-align:middle} + +.wy-form-aligned .wy-control-group>label{ + display:inline-block; + vertical-align:middle; + width:10em; + margin:6px 12px 0 0; + float:left} + +.wy-form-aligned .wy-control{ + float:left} + +.wy-form-aligned .wy-control label{ + display:block} + +.wy-form-aligned .wy-control select{ + margin-top:6px} + +fieldset{ + border:0; + margin:0; + padding:0} + +legend{ + display:block; + width:100%; + border:0; + padding:0; + white-space:normal; + margin-bottom:24px; + font-size:150%; + *margin-left:-7px} + +label{ + display:block; + margin:0 0 0.3125em 0; + color:#333; + font-size:90%} + +input,select,textarea{ + font-size:100%; + margin:0; + vertical-align:baseline; + *vertical-align:middle} + +.wy-control-group{ + margin-bottom:24px; + *zoom:1; + max-width:68em; + margin-left:auto; + margin-right:auto; + *zoom:1} + +.wy-control-group:before,.wy-control-group:after{ + display:table; + content:""} + +.wy-control-group:after{ + clear:both} + +.wy-control-group:before,.wy-control-group:after{ + display:table; + content:""} + +.wy-control-group:after{ + clear:both} + +.wy-control-group.wy-control-group-required>label:after{ + content:" *"; + color:#E74C3C} + +.wy-control-group .wy-form-full,.wy-control-group .wy-form-halves,.wy-control-group .wy-form-thirds{ + padding-bottom:12px} + +.wy-control-group .wy-form-full select,.wy-control-group .wy-form-halves select,.wy-control-group .wy-form-thirds select{ + width:100%} + +.wy-control-group .wy-form-full input[type="text"],.wy-control-group .wy-form-full input[type="password"],.wy-control-group .wy-form-full input[type="email"],.wy-control-group .wy-form-full input[type="url"],.wy-control-group .wy-form-full input[type="date"],.wy-control-group .wy-form-full input[type="month"],.wy-control-group .wy-form-full input[type="time"],.wy-control-group .wy-form-full input[type="datetime"],.wy-control-group .wy-form-full input[type="datetime-local"],.wy-control-group .wy-form-full input[type="week"],.wy-control-group .wy-form-full input[type="number"],.wy-control-group .wy-form-full input[type="search"],.wy-control-group .wy-form-full input[type="tel"],.wy-control-group .wy-form-full input[type="color"],.wy-control-group .wy-form-halves input[type="text"],.wy-control-group .wy-form-halves input[type="password"],.wy-control-group .wy-form-halves input[type="email"],.wy-control-group .wy-form-halves input[type="url"],.wy-control-group .wy-form-halves input[type="date"],.wy-control-group .wy-form-halves input[type="month"],.wy-control-group .wy-form-halves input[type="time"],.wy-control-group .wy-form-halves input[type="datetime"],.wy-control-group .wy-form-halves input[type="datetime-local"],.wy-control-group .wy-form-halves input[type="week"],.wy-control-group .wy-form-halves input[type="number"],.wy-control-group .wy-form-halves input[type="search"],.wy-control-group .wy-form-halves input[type="tel"],.wy-control-group .wy-form-halves input[type="color"],.wy-control-group .wy-form-thirds input[type="text"],.wy-control-group .wy-form-thirds input[type="password"],.wy-control-group .wy-form-thirds input[type="email"],.wy-control-group .wy-form-thirds input[type="url"],.wy-control-group .wy-form-thirds input[type="date"],.wy-control-group .wy-form-thirds input[type="month"],.wy-control-group .wy-form-thirds input[type="time"],.wy-control-group .wy-form-thirds input[type="datetime"],.wy-control-group .wy-form-thirds input[type="datetime-local"],.wy-control-group .wy-form-thirds input[type="week"],.wy-control-group .wy-form-thirds input[type="number"],.wy-control-group .wy-form-thirds input[type="search"],.wy-control-group .wy-form-thirds input[type="tel"],.wy-control-group .wy-form-thirds input[type="color"]{ + width:100%} + +.wy-control-group .wy-form-full{ + float:left; + display:block; + margin-right:2.35765%; + width:100%; + margin-right:0} + +.wy-control-group .wy-form-full:last-child{ + margin-right:0} + +.wy-control-group .wy-form-halves{ + float:left; + display:block; + margin-right:2.35765%; + width:48.82117%} + +.wy-control-group .wy-form-halves:last-child{ + margin-right:0} + +.wy-control-group .wy-form-halves:nth-of-type(2n){ + margin-right:0} + +.wy-control-group .wy-form-halves:nth-of-type(2n+1){ + clear:left} + +.wy-control-group .wy-form-thirds{ + float:left; + display:block; + margin-right:2.35765%; + width:31.76157%} + +.wy-control-group .wy-form-thirds:last-child{ + margin-right:0} + +.wy-control-group .wy-form-thirds:nth-of-type(3n){ + margin-right:0} + +.wy-control-group .wy-form-thirds:nth-of-type(3n+1){ + clear:left} + +.wy-control-group.wy-control-group-no-input .wy-control{ + margin:6px 0 0 0; + font-size:90%} + +.wy-control-no-input{ + display:inline-block; + margin:6px 0 0 0; + font-size:90%} + +.wy-control-group.fluid-input input[type="text"],.wy-control-group.fluid-input input[type="password"],.wy-control-group.fluid-input input[type="email"],.wy-control-group.fluid-input input[type="url"],.wy-control-group.fluid-input input[type="date"],.wy-control-group.fluid-input input[type="month"],.wy-control-group.fluid-input input[type="time"],.wy-control-group.fluid-input input[type="datetime"],.wy-control-group.fluid-input input[type="datetime-local"],.wy-control-group.fluid-input input[type="week"],.wy-control-group.fluid-input input[type="number"],.wy-control-group.fluid-input input[type="search"],.wy-control-group.fluid-input input[type="tel"],.wy-control-group.fluid-input input[type="color"]{ + width:100%} + +.wy-form-message-inline{ + display:inline-block; + padding-left:0.3em; + color:#666; + vertical-align:middle; + font-size:90%} + +.wy-form-message{ + display:block; + color:#999; + font-size:70%; + margin-top:0.3125em; + font-style:italic} + +input{ + line-height:normal} + +input[type="button"],input[type="reset"],input[type="submit"]{ + -webkit-appearance:button; + cursor:pointer; + font-family:"Lato","proxima-nova","Helvetica Neue",Arial,sans-serif; + *overflow:visible} + +input[type="text"],input[type="password"],input[type="email"],input[type="url"],input[type="date"],input[type="month"],input[type="time"],input[type="datetime"],input[type="datetime-local"],input[type="week"],input[type="number"],input[type="search"],input[type="tel"],input[type="color"]{ + -webkit-appearance:none; + padding:6px; + display:inline-block; + border:1px solid #ccc; + font-size:80%; + font-family:"Lato","proxima-nova","Helvetica Neue",Arial,sans-serif; + box-shadow:inset 0 1px 3px #ddd; + border-radius:0; + -webkit-transition:border 0.3s linear; + -moz-transition:border 0.3s linear; + transition:border 0.3s linear} + +input[type="datetime-local"]{ + padding:0.34375em 0.625em} + +input[disabled]{ + cursor:default} + +input[type="checkbox"],input[type="radio"]{ + -webkit-box-sizing:border-box; + -moz-box-sizing:border-box; + box-sizing:border-box; + padding:0; + margin-right:0.3125em; + *height:13px; + *width:13px} + +input[type="search"]{ + -webkit-box-sizing:border-box; + -moz-box-sizing:border-box; + box-sizing:border-box} + +input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{ + -webkit-appearance:none} + +input[type="text"]:focus,input[type="password"]:focus,input[type="email"]:focus,input[type="url"]:focus,input[type="date"]:focus,input[type="month"]:focus,input[type="time"]:focus,input[type="datetime"]:focus,input[type="datetime-local"]:focus,input[type="week"]:focus,input[type="number"]:focus,input[type="search"]:focus,input[type="tel"]:focus,input[type="color"]:focus{ + outline:0; + outline:thin dotted \9; + border-color:#333} + +input.no-focus:focus{ + border-color:#ccc !important} + +input[type="file"]:focus,input[type="radio"]:focus,input[type="checkbox"]:focus{ + outline:thin dotted #333; + outline:1px auto #129FEA} + +input[type="text"][disabled],input[type="password"][disabled],input[type="email"][disabled],input[type="url"][disabled],input[type="date"][disabled],input[type="month"][disabled],input[type="time"][disabled],input[type="datetime"][disabled],input[type="datetime-local"][disabled],input[type="week"][disabled],input[type="number"][disabled],input[type="search"][disabled],input[type="tel"][disabled],input[type="color"][disabled]{ + cursor:not-allowed; + background-color:#f3f6f6; + color:#cad2d3} + +input:focus:invalid,textarea:focus:invalid,select:focus:invalid{ + color:#E74C3C; + border:1px solid #E74C3C} + +input:focus:invalid:focus,textarea:focus:invalid:focus,select:focus:invalid:focus{ + border-color:#E74C3C} + +input[type="file"]:focus:invalid:focus,input[type="radio"]:focus:invalid:focus,input[type="checkbox"]:focus:invalid:focus{ + outline-color:#E74C3C} + +input.wy-input-large{ + padding:12px; + font-size:100%} + +textarea{ + overflow:auto; + vertical-align:top; + width:100%; + font-family:"Lato","proxima-nova","Helvetica Neue",Arial,sans-serif} + +select,textarea{ + padding:0.5em 0.625em; + display:inline-block; + border:1px solid #ccc; + font-size:80%; + box-shadow:inset 0 1px 3px #ddd; + -webkit-transition:border 0.3s linear; + -moz-transition:border 0.3s linear; + transition:border 0.3s linear} + +select{ + border:1px solid #ccc; + background-color:#fff} + +select[multiple]{ + height:auto} + +select:focus,textarea:focus{ + outline:0} + +select[disabled],textarea[disabled],input[readonly],select[readonly],textarea[readonly]{ + cursor:not-allowed; + background-color:#fff; + color:#cad2d3; + border-color:transparent} + +.wy-checkbox,.wy-radio{ + margin:6px 0; + color:#404040; + display:block} + +.wy-checkbox input,.wy-radio input{ + vertical-align:baseline} + +.wy-form-message-inline{ + display:inline-block; + *display:inline; + *zoom:1; + vertical-align:middle} + +.wy-input-prefix,.wy-input-suffix{ + white-space:nowrap; + padding:6px} + +.wy-input-prefix .wy-input-context,.wy-input-suffix .wy-input-context{ + line-height:27px; + padding:0 8px; + display:inline-block; + font-size:80%; + background-color:#f3f6f6; + border:solid 1px #ccc; + color:#999} + +.wy-input-suffix .wy-input-context{ + border-left:0} + +.wy-input-prefix .wy-input-context{ + border-right:0} + +.wy-control-group.wy-control-group-error .wy-form-message,.wy-control-group.wy-control-group-error>label{ + color:#E74C3C} + +.wy-control-group.wy-control-group-error input[type="text"],.wy-control-group.wy-control-group-error input[type="password"],.wy-control-group.wy-control-group-error input[type="email"],.wy-control-group.wy-control-group-error input[type="url"],.wy-control-group.wy-control-group-error input[type="date"],.wy-control-group.wy-control-group-error input[type="month"],.wy-control-group.wy-control-group-error input[type="time"],.wy-control-group.wy-control-group-error input[type="datetime"],.wy-control-group.wy-control-group-error input[type="datetime-local"],.wy-control-group.wy-control-group-error input[type="week"],.wy-control-group.wy-control-group-error input[type="number"],.wy-control-group.wy-control-group-error input[type="search"],.wy-control-group.wy-control-group-error input[type="tel"],.wy-control-group.wy-control-group-error input[type="color"]{ + border:solid 1px #E74C3C} + +.wy-control-group.wy-control-group-error textarea{ + border:solid 1px #E74C3C} + +.wy-inline-validate{ + white-space:nowrap} + +.wy-inline-validate .wy-input-context{ + padding:0.5em 0.625em; + display:inline-block; + font-size:80%} + +.wy-inline-validate.wy-inline-validate-success .wy-input-context{ + color:#27AE60} + +.wy-inline-validate.wy-inline-validate-danger .wy-input-context{ + color:#E74C3C} + +.wy-inline-validate.wy-inline-validate-warning .wy-input-context{ + color:#E67E22} + +.wy-inline-validate.wy-inline-validate-info .wy-input-context{ + color:#2980B9} + +.rotate-90{ + -webkit-transform:rotate(90deg); + -moz-transform:rotate(90deg); + -ms-transform:rotate(90deg); + -o-transform:rotate(90deg); + transform:rotate(90deg)} + +.rotate-180{ + -webkit-transform:rotate(180deg); + -moz-transform:rotate(180deg); + -ms-transform:rotate(180deg); + -o-transform:rotate(180deg); + transform:rotate(180deg)} + +.rotate-270{ + -webkit-transform:rotate(270deg); + -moz-transform:rotate(270deg); + -ms-transform:rotate(270deg); + -o-transform:rotate(270deg); + transform:rotate(270deg)} + +.mirror{ + -webkit-transform:scaleX(-1); + -moz-transform:scaleX(-1); + -ms-transform:scaleX(-1); + -o-transform:scaleX(-1); + transform:scaleX(-1)} + +.mirror.rotate-90{ + -webkit-transform:scaleX(-1) rotate(90deg); + -moz-transform:scaleX(-1) rotate(90deg); + -ms-transform:scaleX(-1) rotate(90deg); + -o-transform:scaleX(-1) rotate(90deg); + transform:scaleX(-1) rotate(90deg)} + +.mirror.rotate-180{ + -webkit-transform:scaleX(-1) rotate(180deg); + -moz-transform:scaleX(-1) rotate(180deg); + -ms-transform:scaleX(-1) rotate(180deg); + -o-transform:scaleX(-1) rotate(180deg); + transform:scaleX(-1) rotate(180deg)} + +.mirror.rotate-270{ + -webkit-transform:scaleX(-1) rotate(270deg); + -moz-transform:scaleX(-1) rotate(270deg); + -ms-transform:scaleX(-1) rotate(270deg); + -o-transform:scaleX(-1) rotate(270deg); + transform:scaleX(-1) rotate(270deg)} + +@media only screen and (max-width: 480px){ + .wy-form button[type="submit"]{ + margin:0.7em 0 0} + + .wy-form input[type="text"],.wy-form input[type="password"],.wy-form input[type="email"],.wy-form input[type="url"],.wy-form input[type="date"],.wy-form input[type="month"],.wy-form input[type="time"],.wy-form input[type="datetime"],.wy-form input[type="datetime-local"],.wy-form input[type="week"],.wy-form input[type="number"],.wy-form input[type="search"],.wy-form input[type="tel"],.wy-form input[type="color"]{ + margin-bottom:0.3em; + display:block} + + .wy-form label{ + margin-bottom:0.3em; + display:block} + + .wy-form input[type="password"],.wy-form input[type="email"],.wy-form input[type="url"],.wy-form input[type="date"],.wy-form input[type="month"],.wy-form input[type="time"],.wy-form input[type="datetime"],.wy-form input[type="datetime-local"],.wy-form input[type="week"],.wy-form input[type="number"],.wy-form input[type="search"],.wy-form input[type="tel"],.wy-form input[type="color"]{ + margin-bottom:0} + + .wy-form-aligned .wy-control-group label{ + margin-bottom:0.3em; + text-align:left; + display:block; + width:100%} + + .wy-form-aligned .wy-control{ + margin:1.5em 0 0 0} + + .wy-form .wy-help-inline,.wy-form-message-inline,.wy-form-message{ + display:block; + font-size:80%; + padding:6px 0} + +} + +@media screen and (max-width: 768px){ + .tablet-hide{ + display:none} + +} + +@media screen and (max-width: 480px){ + .mobile-hide{ + display:none} + +} + +.float-left{ + float:left} + +.float-right{ + float:right} + +.full-width{ + width:100%} + +.wy-table,.rst-content table.docutils,.rst-content table.field-list{ + border-collapse:collapse; + border-spacing:0; + empty-cells:show; + margin-bottom:24px} + +.wy-table caption,.rst-content table.docutils caption,.rst-content table.field-list caption{ + color:#000; + font:italic 85%/1 arial,sans-serif; + padding:1em 0; + text-align:center} + +.wy-table td,.rst-content table.docutils td,.rst-content table.field-list td,.wy-table th,.rst-content table.docutils th,.rst-content table.field-list th{ + font-size:90%; + margin:0; + overflow:visible; + padding:8px 16px} + +.wy-table td:first-child,.rst-content table.docutils td:first-child,.rst-content table.field-list td:first-child,.wy-table th:first-child,.rst-content table.docutils th:first-child,.rst-content table.field-list th:first-child{ + border-left-width:0} + +.wy-table thead,.rst-content table.docutils thead,.rst-content table.field-list thead{ + color:#000; + text-align:left; + vertical-align:bottom; + white-space:nowrap} + +.wy-table thead th,.rst-content table.docutils thead th,.rst-content table.field-list thead th{ + font-weight:bold; + border-bottom:solid 2px #e1e4e5} + +.wy-table td,.rst-content table.docutils td,.rst-content table.field-list td{ + background-color:transparent; + vertical-align:middle} + +.wy-table td p,.rst-content table.docutils td p,.rst-content table.field-list td p{ + line-height:18px} + +.wy-table td p:last-child,.rst-content table.docutils td p:last-child,.rst-content table.field-list td p:last-child{ + margin-bottom:0} + +.wy-table .wy-table-cell-min,.rst-content table.docutils .wy-table-cell-min,.rst-content table.field-list .wy-table-cell-min{ + width:1%; + padding-right:0} + +.wy-table .wy-table-cell-min input[type=checkbox],.rst-content table.docutils .wy-table-cell-min input[type=checkbox],.rst-content table.field-list .wy-table-cell-min input[type=checkbox],.wy-table .wy-table-cell-min input[type=checkbox],.rst-content table.docutils .wy-table-cell-min input[type=checkbox],.rst-content table.field-list .wy-table-cell-min input[type=checkbox]{ + margin:0} + +.wy-table-secondary{ + color:gray; + font-size:90%} + +.wy-table-tertiary{ + color:gray; + font-size:80%} + +.wy-table-odd td,.wy-table-striped tr:nth-child(2n-1) td,.rst-content table.docutils:not(.field-list) tr:nth-child(2n-1) td{ + background-color:#f3f6f6} + +.wy-table-backed{ + background-color:#f3f6f6} + +.wy-table-bordered-all,.rst-content table.docutils{ + border:1px solid #e1e4e5} + +.wy-table-bordered-all td,.rst-content table.docutils td{ + border-bottom:1px solid #e1e4e5; + border-left:1px solid #e1e4e5} + +.wy-table-bordered-all tbody>tr:last-child td,.rst-content table.docutils tbody>tr:last-child td{ + border-bottom-width:0} + +.wy-table-bordered{ + border:1px solid #e1e4e5} + +.wy-table-bordered-rows td{ + border-bottom:1px solid #e1e4e5} + +.wy-table-bordered-rows tbody>tr:last-child td{ + border-bottom-width:0} + +.wy-table-horizontal tbody>tr:last-child td{ + border-bottom-width:0} + +.wy-table-horizontal td,.wy-table-horizontal th{ + border-width:0 0 1px 0; + border-bottom:1px solid #e1e4e5} + +.wy-table-horizontal tbody>tr:last-child td{ + border-bottom-width:0} + +.wy-table-responsive{ + margin-bottom:24px; + max-width:100%; + overflow:auto} + +.wy-table-responsive table{ + margin-bottom:0 !important} + +.wy-table-responsive table td,.wy-table-responsive table th{ + white-space:nowrap} + +a{ + color:#2980B9; + text-decoration:none; + cursor:pointer} + +a:hover{ + color:#3091d1} + +a:visited{ + color:#9B59B6} + +html{ + height:100%; + overflow-x:hidden} + +body{ + font-family:"Lato","proxima-nova","Helvetica Neue",Arial,sans-serif; + font-weight:normal; + color:#404040; + min-height:100%; + overflow-x:hidden; + background:#edf0f2} + +.wy-text-left{ + text-align:left} + +.wy-text-center{ + text-align:center} + +.wy-text-right{ + text-align:right} + +.wy-text-large{ + font-size:120%} + +.wy-text-normal{ + font-size:100%} + +.wy-text-small,small{ + font-size:80%} + +.wy-text-strike{ + text-decoration:line-through} + +.wy-text-warning{ + color:#E67E22 !important} + +a.wy-text-warning:hover{ + color:#eb9950 !important} + +.wy-text-info{ + color:#2980B9 !important} + +a.wy-text-info:hover{ + color:#409ad5 !important} + +.wy-text-success{ + color:#27AE60 !important} + +a.wy-text-success:hover{ + color:#36d278 !important} + +.wy-text-danger{ + color:#E74C3C !important} + +a.wy-text-danger:hover{ + color:#ed7669 !important} + +.wy-text-neutral{ + color:#404040 !important} + +a.wy-text-neutral:hover{ + color:#595959 !important} + +h1,h2,h3,h4,h5,h6,legend{ + margin-top:0; + font-weight:700; + font-family:"Roboto Slab","ff-tisa-web-pro","Georgia",Arial,sans-serif} + +p{ + line-height:24px; + margin:0; + font-size:16px; + margin-bottom:24px} + +h1{ + font-size:175%} + +h2{ + font-size:150%} + +h3{ + font-size:125%} + +h4{ + font-size:115%} + +h5{ + font-size:110%} + +h6{ + font-size:100%} + +hr{ + display:block; + height:1px; + border:0; + border-top:1px solid #e1e4e5; + margin:24px 0; + padding:0} + +code,.rst-content tt{ + white-space:nowrap; + max-width:100%; + background:#fff; + border:solid 1px #e1e4e5; + font-size:75%; + padding:0 5px; + font-family:Consolas,"Andale Mono WT","Andale Mono","Lucida Console","Lucida Sans Typewriter","DejaVu Sans Mono","Bitstream Vera Sans Mono","Liberation Mono","Nimbus Mono L",Monaco,"Courier New",Courier,monospace; + color:#E74C3C; + overflow-x:auto} + +code.code-large,.rst-content tt.code-large{ + font-size:90%} + +.wy-plain-list-disc,.rst-content .section ul,.rst-content .toctree-wrapper ul,article ul{ + list-style:disc; + line-height:24px; + margin-bottom:24px} + +.wy-plain-list-disc li,.rst-content .section ul li,.rst-content .toctree-wrapper ul li,article ul li{ + list-style:disc; + margin-left:24px} + +.wy-plain-list-disc li p:last-child,.rst-content .section ul li p:last-child,.rst-content .toctree-wrapper ul li p:last-child,article ul li p:last-child{ + margin-bottom:0} + +.wy-plain-list-disc li ul,.rst-content .section ul li ul,.rst-content .toctree-wrapper ul li ul,article ul li ul{ + margin-bottom:0} + +.wy-plain-list-disc li li,.rst-content .section ul li li,.rst-content .toctree-wrapper ul li li,article ul li li{ + list-style:circle} + +.wy-plain-list-disc li li li,.rst-content .section ul li li li,.rst-content .toctree-wrapper ul li li li,article ul li li li{ + list-style:square} + +.wy-plain-list-disc li ol li,.rst-content .section ul li ol li,.rst-content .toctree-wrapper ul li ol li,article ul li ol li{ + list-style:decimal} + +.wy-plain-list-decimal,.rst-content .section ol,.rst-content ol.arabic,article ol{ + list-style:decimal; + line-height:24px; + margin-bottom:24px} + +.wy-plain-list-decimal li,.rst-content .section ol li,.rst-content ol.arabic li,article ol li{ + list-style:decimal; + margin-left:24px} + +.wy-plain-list-decimal li p:last-child,.rst-content .section ol li p:last-child,.rst-content ol.arabic li p:last-child,article ol li p:last-child{ + margin-bottom:0} + +.wy-plain-list-decimal li ul,.rst-content .section ol li ul,.rst-content ol.arabic li ul,article ol li ul{ + margin-bottom:0} + +.wy-plain-list-decimal li ul li,.rst-content .section ol li ul li,.rst-content ol.arabic li ul li,article ol li ul li{ + list-style:disc} + +.codeblock-example{ + border:1px solid #e1e4e5; + border-bottom:none; + padding:24px; + padding-top:48px; + font-weight:500; + background:#fff; + position:relative} + +.codeblock-example:after{ + content:"Example"; + position:absolute; + top:0px; + left:0px; + background:#9B59B6; + color:#fff; + padding:6px 12px} + +.codeblock-example.prettyprint-example-only{ + border:1px solid #e1e4e5; + margin-bottom:24px} + +.codeblock,pre.literal-block,.rst-content .literal-block,.rst-content pre.literal-block,div[class^='highlight']{ + border:1px solid #e1e4e5; + padding:0px; + overflow-x:auto; + background:#fff; + margin:1px 0 24px 0} + +.codeblock div[class^='highlight'],pre.literal-block div[class^='highlight'],.rst-content .literal-block div[class^='highlight'],div[class^='highlight'] div[class^='highlight']{ + border:none; + background:none; + margin:0} + +div[class^='highlight'] td.code{ + width:100%} + +.linenodiv pre{ + border-right:solid 1px #e6e9ea; + margin:0; + padding:12px 12px; + font-family:Consolas,"Andale Mono WT","Andale Mono","Lucida Console","Lucida Sans Typewriter","DejaVu Sans Mono","Bitstream Vera Sans Mono","Liberation Mono","Nimbus Mono L",Monaco,"Courier New",Courier,monospace; + font-size:12px; + line-height:1.5; + color:#d9d9d9} + +div[class^='highlight'] pre{ + white-space:pre; + margin:0; + padding:12px 12px; + font-family:Consolas,"Andale Mono WT","Andale Mono","Lucida Console","Lucida Sans Typewriter","DejaVu Sans Mono","Bitstream Vera Sans Mono","Liberation Mono","Nimbus Mono L",Monaco,"Courier New",Courier,monospace; + font-size:12px; + line-height:1.5; + display:block; + overflow:auto; + color:#404040} + +@media print{ + .codeblock,pre.literal-block,.rst-content .literal-block,.rst-content pre.literal-block,div[class^='highlight'],div[class^='highlight'] pre{ + white-space:pre-wrap} + +} + +.hll{ + background-color:#ffc; + margin:0 -12px; + padding:0 12px; + display:block} + +.c{ + color:#998; + font-style:italic} + +.err{ + color:#a61717; + background-color:#e3d2d2} + +.k{ + font-weight:bold} + +.o{ + font-weight:bold} + +.cm{ + color:#998; + font-style:italic} + +.cp{ + color:#999; + font-weight:bold} + +.c1{ + color:#998; + font-style:italic} + +.cs{ + color:#999; + font-weight:bold; + font-style:italic} + +.gd{ + color:#000; + background-color:#fdd} + +.gd .x{ + color:#000; + background-color:#faa} + +.ge{ + font-style:italic} + +.gr{ + color:#a00} + +.gh{ + color:#999} + +.gi{ + color:#000; + background-color:#dfd} + +.gi .x{ + color:#000; + background-color:#afa} + +.go{ + color:#888} + +.gp{ + color:#555} + +.gs{ + font-weight:bold} + +.gu{ + color:purple; + font-weight:bold} + +.gt{ + color:#a00} + +.kc{ + font-weight:bold} + +.kd{ + font-weight:bold} + +.kn{ + font-weight:bold} + +.kp{ + font-weight:bold} + +.kr{ + font-weight:bold} + +.kt{ + color:#458; + font-weight:bold} + +.m{ + color:#099} + +.s{ + color:#d14} + +.n{ + color:#333} + +.na{ + color:teal} + +.nb{ + color:#0086b3} + +.nc{ + color:#458; + font-weight:bold} + +.no{ + color:teal} + +.ni{ + color:purple} + +.ne{ + color:#900; + font-weight:bold} + +.nf{ + color:#900; + font-weight:bold} + +.nn{ + color:#555} + +.nt{ + color:navy} + +.nv{ + color:teal} + +.ow{ + font-weight:bold} + +.w{ + color:#bbb} + +.mf{ + color:#099} + +.mh{ + color:#099} + +.mi{ + color:#099} + +.mo{ + color:#099} + +.sb{ + color:#d14} + +.sc{ + color:#d14} + +.sd{ + color:#d14} + +.s2{ + color:#d14} + +.se{ + color:#d14} + +.sh{ + color:#d14} + +.si{ + color:#d14} + +.sx{ + color:#d14} + +.sr{ + color:#009926} + +.s1{ + color:#d14} + +.ss{ + color:#990073} + +.bp{ + color:#999} + +.vc{ + color:teal} + +.vg{ + color:teal} + +.vi{ + color:teal} + +.il{ + color:#099} + +.gc{ + color:#999; + background-color:#EAF2F5} + +.wy-breadcrumbs li{ + display:inline-block} + +.wy-breadcrumbs li.wy-breadcrumbs-aside{ + float:right} + +.wy-breadcrumbs li a{ + display:inline-block; + padding:5px} + +.wy-breadcrumbs li a:first-child{ + padding-left:0} + +.wy-breadcrumbs-extra{ + margin-bottom:0; + color:#b3b3b3; + font-size:80%; + display:inline-block} + +@media screen and (max-width: 480px){ + .wy-breadcrumbs-extra{ + display:none} + + .wy-breadcrumbs li.wy-breadcrumbs-aside{ + display:none} + +} + +@media print{ + .wy-breadcrumbs li.wy-breadcrumbs-aside{ + display:none} + +} + +.wy-affix{ + position:fixed; + top:1.618em} + +.wy-menu a:hover{ + text-decoration:none} + +.wy-menu-horiz{ + *zoom:1} + +.wy-menu-horiz:before,.wy-menu-horiz:after{ + display:table; + content:""} + +.wy-menu-horiz:after{ + clear:both} + +.wy-menu-horiz ul,.wy-menu-horiz li{ + display:inline-block} + +.wy-menu-horiz li:hover{ + background:rgba(255,255,255,0.1)} + +.wy-menu-horiz li.divide-left{ + border-left:solid 1px #404040} + +.wy-menu-horiz li.divide-right{ + border-right:solid 1px #404040} + +.wy-menu-horiz a{ + height:32px; + display:inline-block; + line-height:32px; + padding:0 16px} + +.wy-menu-vertical header{ + height:32px; + display:inline-block; + line-height:32px; + padding:0 1.618em; + display:block; + font-weight:bold; + text-transform:uppercase; + font-size:80%; + color:#2980B9; + white-space:nowrap} + +.wy-menu-vertical ul{ + margin-bottom:0} + +.wy-menu-vertical li.divide-top{ + border-top:solid 1px #404040} + +.wy-menu-vertical li.divide-bottom{ + border-bottom:solid 1px #404040} + +.wy-menu-vertical li.current{ + background:#e3e3e3} + +.wy-menu-vertical li.current a{ + color:gray; + border-right:solid 1px #c9c9c9; + padding:0.4045em 2.427em} + +.wy-menu-vertical li.current a:hover{ + background:#d6d6d6} + +.wy-menu-vertical li.on a,.wy-menu-vertical li.current>a{ + color:#404040; + padding:0.4045em 1.618em; + font-weight:bold; + position:relative; + background:#fcfcfc; + border:none; + border-bottom:solid 1px #c9c9c9; + border-top:solid 1px #c9c9c9; + padding-left:1.618em -4px} + +.wy-menu-vertical li.on a:hover,.wy-menu-vertical li.current>a:hover{ + background:#fcfcfc} + +.wy-menu-vertical li.toctree-l2.current>a{ + background:#c9c9c9; + padding:0.4045em 2.427em} + +.wy-menu-vertical li.current ul{ + display:block} + +.wy-menu-vertical li ul{ + margin-bottom:0; + display:none} + +.wy-menu-vertical .local-toc li ul{ + display:block} + +.wy-menu-vertical li ul li a{ + margin-bottom:0; + color:#b3b3b3; + font-weight:normal} + +.wy-menu-vertical a{ + display:inline-block; + line-height:18px; + padding:0.4045em 1.618em; + display:block; + position:relative; + font-size:90%; + color:#b3b3b3} + +.wy-menu-vertical a:hover{ + background-color:#4e4a4a; + cursor:pointer} + +.wy-menu-vertical a:active{ + background-color:#2980B9; + cursor:pointer; + color:#fff} + +.wy-side-nav-search{ + z-index:200; + background-color:#2980B9; + text-align:center; + padding:0.809em; + display:block; + color:#fcfcfc; + margin-bottom:0.809em} + +.wy-side-nav-search input[type=text]{ + width:100%; + border-radius:50px; + padding:6px 12px; + border-color:#2472a4} + +.wy-side-nav-search img{ + display:block; + margin:auto auto 0.809em auto; + height:45px; + width:45px; + background-color:#2980B9; + padding:5px; + border-radius:100%} + +.wy-side-nav-search>a,.wy-side-nav-search .wy-dropdown>a{ + color:#fcfcfc; + font-size:100%; + font-weight:bold; + display:inline-block; + padding:4px 6px; + margin-bottom:0.809em} + +.wy-side-nav-search>a:hover,.wy-side-nav-search .wy-dropdown>a:hover{ + background:rgba(255,255,255,0.1)} + +.wy-nav .wy-menu-vertical header{ + color:#2980B9} + +.wy-nav .wy-menu-vertical a{ + color:#b3b3b3} + +.wy-nav .wy-menu-vertical a:hover{ + background-color:#2980B9; + color:#fff} + +[data-menu-wrap]{ + -webkit-transition:all 0.2s ease-in; + -moz-transition:all 0.2s ease-in; + transition:all 0.2s ease-in; + position:absolute; + opacity:1; + width:100%; + opacity:0} + +[data-menu-wrap].move-center{ + left:0; + right:auto; + opacity:1} + +[data-menu-wrap].move-left{ + right:auto; + left:-100%; + opacity:0} + +[data-menu-wrap].move-right{ + right:-100%; + left:auto; + opacity:0} + +.wy-body-for-nav{ + background:left repeat-y #fcfcfc; + background-image:url(data:image/png; + base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoTWFjaW50b3NoKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDoxOERBMTRGRDBFMUUxMUUzODUwMkJCOThDMEVFNURFMCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDoxOERBMTRGRTBFMUUxMUUzODUwMkJCOThDMEVFNURFMCI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjE4REExNEZCMEUxRTExRTM4NTAyQkI5OEMwRUU1REUwIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjE4REExNEZDMEUxRTExRTM4NTAyQkI5OEMwRUU1REUwIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+EwrlwAAAAA5JREFUeNpiMDU0BAgwAAE2AJgB9BnaAAAAAElFTkSuQmCC); + background-size:300px 1px} + +.wy-grid-for-nav{ + position:absolute; + width:100%; + height:100%} + +.wy-nav-side{ + position:absolute; + top:0; + left:0; + width:300px; + overflow:hidden; + min-height:100%; + background:#343131; + z-index:200} + +.wy-nav-top{ + display:none; + background:#2980B9; + color:#fff; + padding:0.4045em 0.809em; + position:relative; + line-height:50px; + text-align:center; + font-size:100%; + *zoom:1} + +.wy-nav-top:before,.wy-nav-top:after{ + display:table; + content:""} + +.wy-nav-top:after{ + clear:both} + +.wy-nav-top a{ + color:#fff; + font-weight:bold} + +.wy-nav-top img{ + margin-right:12px; + height:45px; + width:45px; + background-color:#2980B9; + padding:5px; + border-radius:100%} + +.wy-nav-top i{ + font-size:30px; + float:left; + cursor:pointer} + +.wy-nav-content-wrap{ + margin-left:300px; + background:#fcfcfc; + min-height:100%} + +.wy-nav-content{ + padding:1.618em 3.236em; + height:100%; + max-width:800px; + margin:auto} + +.wy-body-mask{ + position:fixed; + width:100%; + height:100%; + background:rgba(0,0,0,0.2); + display:none; + z-index:499} + +.wy-body-mask.on{ + display:block} + +footer{ + color:#999} + +footer p{ + margin-bottom:12px} + +.rst-footer-buttons{ + *zoom:1} + +.rst-footer-buttons:before,.rst-footer-buttons:after{ + display:table; + content:""} + +.rst-footer-buttons:after{ + clear:both} + +#search-results .search li{ + margin-bottom:24px; + border-bottom:solid 1px #e1e4e5; + padding-bottom:24px} + +#search-results .search li:first-child{ + border-top:solid 1px #e1e4e5; + padding-top:24px} + +#search-results .search li a{ + font-size:120%; + margin-bottom:12px; + display:inline-block} + +#search-results .context{ + color:gray; + font-size:90%} + +@media screen and (max-width: 768px){ + .wy-body-for-nav{ + background:#fcfcfc} + + .wy-nav-top{ + display:block} + + .wy-nav-side{ + left:-300px} + + .wy-nav-side.shift{ + width:85%; + left:0} + + .wy-nav-content-wrap{ + margin-left:0} + + .wy-nav-content-wrap .wy-nav-content{ + padding:1.618em} + + .wy-nav-content-wrap.shift{ + position:fixed; + min-width:100%; + left:85%; + top:0; + height:100%; + overflow:hidden} + +} + +@media screen and (min-width: 1400px){ + .wy-nav-content-wrap{ + background:rgba(0,0,0,0.05)} + + .wy-nav-content{ + margin:0; + background:#fcfcfc} + +} + +@media print{ + .rst-versions,footer,.wy-nav-side{ + display:none} + + .wy-nav-content-wrap{ + margin-left:0} + +} + +nav.stickynav{ + position:fixed; + top:0} + +.rst-versions{ + position:fixed; + bottom:0; + left:0; + width:300px; + color:#fcfcfc; + background:#1f1d1d; + border-top:solid 10px #343131; + font-family:"Lato","proxima-nova","Helvetica Neue",Arial,sans-serif; + z-index:400} + +.rst-versions a{ + color:#2980B9; + text-decoration:none} + +.rst-versions .rst-badge-small{ + display:none} + +.rst-versions .rst-current-version{ + padding:12px; + background-color:#272525; + display:block; + text-align:right; + font-size:90%; + cursor:pointer; + color:#27AE60; + *zoom:1} + +.rst-versions .rst-current-version:before,.rst-versions .rst-current-version:after{ + display:table; + content:""} + +.rst-versions .rst-current-version:after{ + clear:both} + +.rst-versions .rst-current-version .fa,.rst-versions .rst-current-version .rst-content .admonition-title,.rst-content .rst-versions .rst-current-version .admonition-title,.rst-versions .rst-current-version .rst-content h1 .headerlink,.rst-content h1 .rst-versions .rst-current-version .headerlink,.rst-versions .rst-current-version .rst-content h2 .headerlink,.rst-content h2 .rst-versions .rst-current-version .headerlink,.rst-versions .rst-current-version .rst-content h3 .headerlink,.rst-content h3 .rst-versions .rst-current-version .headerlink,.rst-versions .rst-current-version .rst-content h4 .headerlink,.rst-content h4 .rst-versions .rst-current-version .headerlink,.rst-versions .rst-current-version .rst-content h5 .headerlink,.rst-content h5 .rst-versions .rst-current-version .headerlink,.rst-versions .rst-current-version .rst-content h6 .headerlink,.rst-content h6 .rst-versions .rst-current-version .headerlink,.rst-versions .rst-current-version .rst-content dl dt .headerlink,.rst-content dl dt .rst-versions .rst-current-version .headerlink,.rst-versions .rst-current-version .icon{ + color:#fcfcfc} + +.rst-versions .rst-current-version .fa-book,.rst-versions .rst-current-version .icon-book{ + float:left} + +.rst-versions .rst-current-version .icon-book{ + float:left} + +.rst-versions .rst-current-version.rst-out-of-date{ + background-color:#E74C3C; + color:#fff} + +.rst-versions .rst-current-version.rst-active-old-version{ + background-color:#F1C40F; + color:#000} + +.rst-versions.shift-up .rst-other-versions{ + display:block} + +.rst-versions .rst-other-versions{ + font-size:90%; + padding:12px; + color:gray; + display:none} + +.rst-versions .rst-other-versions hr{ + display:block; + height:1px; + border:0; + margin:20px 0; + padding:0; + border-top:solid 1px #413d3d} + +.rst-versions .rst-other-versions dd{ + display:inline-block; + margin:0} + +.rst-versions .rst-other-versions dd a{ + display:inline-block; + padding:6px; + color:#fcfcfc} + +.rst-versions.rst-badge{ + width:auto; + bottom:20px; + right:20px; + left:auto; + border:none; + max-width:300px} + +.rst-versions.rst-badge .icon-book{ + float:none} + +.rst-versions.rst-badge .fa-book,.rst-versions.rst-badge .icon-book{ + float:none} + +.rst-versions.rst-badge.shift-up .rst-current-version{ + text-align:right} + +.rst-versions.rst-badge.shift-up .rst-current-version .fa-book,.rst-versions.rst-badge.shift-up .rst-current-version .icon-book{ + float:left} + +.rst-versions.rst-badge.shift-up .rst-current-version .icon-book{ + float:left} + +.rst-versions.rst-badge .rst-current-version{ + width:auto; + height:30px; + line-height:30px; + padding:0 6px; + display:block; + text-align:center} + +@media screen and (max-width: 768px){ + .rst-versions{ + width:85%; + display:none} + + .rst-versions.shift{ + display:block} + + img{ + width:100%; + height:auto} + +} + +.rst-content img{ + max-width:100%; + height:auto !important} + +.rst-content div.figure{ + margin-bottom:24px} + +.rst-content div.figure.align-center{ + text-align:center} + +.rst-content .section>img,.rst-content .section>a>img{ + margin-bottom:24px} + +.rst-content blockquote{ + margin-left:24px; + line-height:24px; + margin-bottom:24px} + +.rst-content .note .last,.rst-content .attention .last,.rst-content .caution .last,.rst-content .danger .last,.rst-content .error .last,.rst-content .hint .last,.rst-content .important .last,.rst-content .tip .last,.rst-content .warning .last,.rst-content .seealso .last,.rst-content .admonition-todo .last{ + margin-bottom:0} + +.rst-content .admonition-title:before{ + margin-right:4px} + +.rst-content .admonition table{ + border-color:rgba(0,0,0,0.1)} + +.rst-content .admonition table td,.rst-content .admonition table th{ + background:transparent !important; + border-color:rgba(0,0,0,0.1) !important} + +.rst-content .section ol.loweralpha,.rst-content .section ol.loweralpha li{ + list-style:lower-alpha} + +.rst-content .section ol.upperalpha,.rst-content .section ol.upperalpha li{ + list-style:upper-alpha} + +.rst-content .section ol p,.rst-content .section ul p{ + margin-bottom:12px} + +.rst-content .line-block{ + margin-left:24px} + +.rst-content .topic-title{ + font-weight:bold; + margin-bottom:12px} + +.rst-content .toc-backref{ + color:#404040} + +.rst-content .align-right{ + float:right; + margin:0px 0px 24px 24px} + +.rst-content .align-left{ + float:left; + margin:0px 24px 24px 0px} + +.rst-content .align-center{ + margin:auto; + display:block} + +.rst-content h1 .headerlink,.rst-content h2 .headerlink,.rst-content h3 .headerlink,.rst-content h4 .headerlink,.rst-content h5 .headerlink,.rst-content h6 .headerlink,.rst-content dl dt .headerlink{ + display:none; + visibility:hidden; + font-size:14px} + +.rst-content h1 .headerlink:after,.rst-content h2 .headerlink:after,.rst-content h3 .headerlink:after,.rst-content h4 .headerlink:after,.rst-content h5 .headerlink:after,.rst-content h6 .headerlink:after,.rst-content dl dt .headerlink:after{ + visibility:visible; + content:""; + font-family:FontAwesome; + display:inline-block} + +.rst-content h1:hover .headerlink,.rst-content h2:hover .headerlink,.rst-content h3:hover .headerlink,.rst-content h4:hover .headerlink,.rst-content h5:hover .headerlink,.rst-content h6:hover .headerlink,.rst-content dl dt:hover .headerlink{ + display:inline-block} + +.rst-content .sidebar{ + float:right; + width:40%; + display:block; + margin:0 0 24px 24px; + padding:24px; + background:#f3f6f6; + border:solid 1px #e1e4e5} + +.rst-content .sidebar p,.rst-content .sidebar ul,.rst-content .sidebar dl{ + font-size:90%} + +.rst-content .sidebar .last{ + margin-bottom:0} + +.rst-content .sidebar .sidebar-title{ + display:block; + font-family:"Roboto Slab","ff-tisa-web-pro","Georgia",Arial,sans-serif; + font-weight:bold; + background:#e1e4e5; + padding:6px 12px; + margin:-24px; + margin-bottom:24px; + font-size:100%} + +.rst-content .highlighted{ + background:#F1C40F; + display:inline-block; + font-weight:bold; + padding:0 6px} + +.rst-content .footnote-reference,.rst-content .citation-reference{ + vertical-align:super; + font-size:90%} + +.rst-content table.docutils.citation,.rst-content table.docutils.footnote{ + background:none; + border:none; + color:#999} + +.rst-content table.docutils.citation td,.rst-content table.docutils.citation tr,.rst-content table.docutils.footnote td,.rst-content table.docutils.footnote tr{ + border:none; + background-color:transparent !important; + white-space:normal} + +.rst-content table.docutils.citation td.label,.rst-content table.docutils.footnote td.label{ + padding-left:0; + padding-right:0; + vertical-align:top} + +.rst-content table.field-list{ + border:none} + +.rst-content table.field-list td{ + border:none; + padding-top:5px} + +.rst-content table.field-list td>strong{ + display:inline-block; + margin-top:3px} + +.rst-content table.field-list .field-name{ + padding-right:10px; + text-align:left; + white-space:nowrap} + +.rst-content table.field-list .field-body{ + text-align:left; + padding-left:0} + +.rst-content tt{ + color:#000} + +.rst-content tt big,.rst-content tt em{ + font-size:100% !important; + line-height:normal} + +.rst-content tt .xref,a .rst-content tt{ + font-weight:bold} + +.rst-content a tt{ + color:#2980B9} + +.rst-content dl{ + margin-bottom:24px} + +.rst-content dl dt{ + font-weight:bold} + +.rst-content dl p,.rst-content dl table,.rst-content dl ul,.rst-content dl ol{ + margin-bottom:12px !important} + +.rst-content dl dd{ + margin:0 0 12px 24px} + +.rst-content dl:not(.docutils){ + margin-bottom:24px} + +.rst-content dl:not(.docutils) dt{ + display:inline-block; + margin:6px 0; + font-size:90%; + line-height:normal; + background:#e7f2fa; + color:#2980B9; + border-top:solid 3px #6ab0de; + padding:6px; + position:relative} + +.rst-content dl:not(.docutils) dt:before{ + color:#6ab0de} + +.rst-content dl:not(.docutils) dt .headerlink{ + color:#404040; + font-size:100% !important} + +.rst-content dl:not(.docutils) dl dt{ + margin-bottom:6px; + border:none; + border-left:solid 3px #ccc; + background:#f0f0f0; + color:gray} + +.rst-content dl:not(.docutils) dl dt .headerlink{ + color:#404040; + font-size:100% !important} + +.rst-content dl:not(.docutils) dt:first-child{ + margin-top:0} + +.rst-content dl:not(.docutils) tt{ + font-weight:bold} + +.rst-content dl:not(.docutils) tt.descname,.rst-content dl:not(.docutils) tt.descclassname{ + background-color:transparent; + border:none; + padding:0; + font-size:100% !important} + +.rst-content dl:not(.docutils) tt.descname{ + font-weight:bold} + +.rst-content dl:not(.docutils) .optional{ + display:inline-block; + padding:0 4px; + color:#000; + font-weight:bold} + +.rst-content dl:not(.docutils) .property{ + display:inline-block; + padding-right:8px} + +.rst-content .viewcode-link,.rst-content .viewcode-back{ + display:inline-block; + color:#27AE60; + font-size:80%; + padding-left:24px} + +.rst-content .viewcode-back{ + display:block; + float:right} + +.rst-content p.rubric{ + margin-bottom:12px; + font-weight:bold} + +@media screen and (max-width: 480px){ + .rst-content .sidebar{ + width:100%} + +} + +span[id*='MathJax-Span']{ + color:#404040} + +.math{ + text-align:center} + + +/*# sourceMappingURL=theme.css.map */ diff --git a/docs/content/css/search.css b/docs/content/css/search.css new file mode 100644 index 0000000..7be21f9 --- /dev/null +++ b/docs/content/css/search.css @@ -0,0 +1,47 @@ +/* -*- mode: css -*- */ + +/* read-the-org search styles, v1.6 */ + +#search-container { + padding: 10px; + background-color: #343131; +} + +#search-input { + width: 100%; + padding: 5px; + border: 1px solid #ccc; + border-radius: 4px; + font-size: 14px; +} + +#search-results { + list-style-type: none; + padding: 0; + margin: 10px 0 0 0; + max-height: 300px; + overflow-y: auto; +} + +#search-results li { + background-color: #2980B9; + color: white; + margin-bottom: 5px; + padding: 5px; + border-radius: 4px; + cursor: pointer; + font-size: 14px; +} + +#search-results li:hover { + background-color: #3091d1; +} + +#search-description { + color: #b3b3b3; /* Lighter color, matching the TOC text color in readtheorg.css */ +} + +mark { + background-color: yellow; + color: black; +} diff --git a/docs/content/header.org b/docs/content/header.org new file mode 100644 index 0000000..ae80325 --- /dev/null +++ b/docs/content/header.org @@ -0,0 +1,2 @@ +#+OPTIONS: ^:nil +| [[./index.org][Home]] | [[./inigenerator.org][inigenerator]] | diff --git a/docs/content/index.org b/docs/content/index.org new file mode 100644 index 0000000..83e9b53 --- /dev/null +++ b/docs/content/index.org @@ -0,0 +1,4 @@ +#+SETUPFILE: ../org-themes/theme-readtheorg.setup +#+INCLUDE: "./header.org" +* Welcome +Welcome to the flowVC-utils documentation diff --git a/docs/content/inigenerator.org b/docs/content/inigenerator.org new file mode 100644 index 0000000..34c1684 --- /dev/null +++ b/docs/content/inigenerator.org @@ -0,0 +1,92 @@ +#+SETUPFILE: ../org-themes/theme-readtheorg.setup +#+INCLUDE: "./header.org" +** Inigenerator +The inigenerator utility is utilized to create the flowVC input files for multiple simulations. The utility reads a configuration file wich can be used to set default paramaters (config.inigenerator.cfg) and adjusts input/output paths for each case.The utility can also be used to determines 3D coordinate bounds, streaching them slighly to meet the flowVC requirement of having cubic cells. Essentially the utility helps manage + +- Directory paths (where input data is stored, where outputs go, etc.) + +- Mesh bounds for the data (e.g., xmin, xmax, ymin, ymax, zmin, zmax). + +- Resolution in each dimension (xres, yres, zres) based on the cell size. + +- Time direction settings (forward or backward) for the FTLE-related output. + +- Name prefixes and other run-time details that go into the final configuration so the output FTLE files are identifiable for each simulation case. + +*** Usage +#+begin_src shell +python -m flowvcutils inigenerator +#+end_src + +The defaults for the .in settings can be found and changed in the flowVC_utils/src/config directory. The tool assumes that the results of the simulation are organized in the following folder structure, where "project_root" and "case1" can be any name, but the "input_bin" "input_vtu" and "output_bin" directory names are exactly as shown: + +#+Begin_SRC text + project_root + └── case1 + ├── input_bin + ├── input_vtu + └── output_bin +#+End_SRC + +#+Begin_SRC text +Usage: python -m flowvcutils inigenerator [OPTIONS] + + Generate a .ini file for the flow vc. + +Options: + -d, --directory TEXT Directory to run program (default: current + dir) + --auto_range BOOLEAN Get data and FTLE range(min-max) using a + .vtu file?Ensure there is at least 1 .vtu + file in in a input_vtu dir + --cell_size FLOAT size of FTLE element, default 0.001 + --direction [forward|backward] forward or backward ftle + --batch run for each subdirectory + --manual_bounds FLOAT... Manually specify [min_x min_y min_z max_x + max_y max_z]. + -h, --help Show this message and exit. +#+End_SRC + +*** Options +**** -d, --directory +This specifies where to run the tool from, with a default being the current directory you are in. +**** --autorange: +This flag can be utilized to have the tool read the mesh bounds for the DataMesh and FTLEMesh from the simulation results data. To use this flag ensure there is at least one .vtu file in the input_vtu directory. If it is not set whatever is in the configuration file will be utilized. + +**** --cell_size +The cell size for the FTLE mesh with a default of 0.001 + +**** --manual_bounds: +This can be utilized to set the min_x, min_y, min_z, max_x, max_y, and max_z for the FTLE mesh. This is useful when attempting to compute the ftle field on a smaller subset (i.e. slice) of the result domain. + +**** --direction: +This can be utilized to specify the computation of an attracting (backward) or repeling (forward) FTLE field. + +**** --batch: +This creates input files for multiple simulation result cases at once. To utilize this ensure your project is organized as follows + +#+Begin_SRC text +-project_directory +project_root +├── case1 +│ ├── input_bin +│ ├── input_vtu +│ └── output_bin +└── case2 + ├── input_bin + ├── input_vtu + └── output_bin +#+End_SRC + +*** Examples +To generate the FTLE mesh over the entire computation domain for multiple simulation results you can run: +#+begin_src shell + python -m flowvcutils inigenerator --auto_range True --batch +#+end_src + +To generate an FTLE field for a slice of the domain at a higher resolution you can run: +#+begin_src shell + python -m flowvcutils inigenerator -cell_size 0.0001 --auto_range True --manual_bounds -0.000976751 0.145677 0.12361 -0.00095 0.203633 0.236885 --batch +#+end_src + +It is not critical that the range is perfectly divisible by the cell_size, the tool will increase the mesh bounds max slightly ensuring the cell size remains constant. However notice how in this case the x_min and x_max are far enough apart to generate at least 2 cells in the x-direction. This creates a pseudo-2D ftle mesh slice out of the domain, as the flowVC tool requires 2 cells every direction when a 3D mesh is utilized. diff --git a/docs/content/js/readtheorg.js b/docs/content/js/readtheorg.js new file mode 100644 index 0000000..355cbf3 --- /dev/null +++ b/docs/content/js/readtheorg.js @@ -0,0 +1,145 @@ +function collapse_toc_elements_on_click (nav_li_a){ + /* + When an `a' element in the TOC is clicked, its parent + `li' element's active attribute is toggled. This causes + the element to toggle between minimized and maximized + states. The active attribute is documented in bootstrap. + https://getbootstrap.com/docs/4.0/components/navbar/#nav + */ + $(nav_li_a).parent().toggleClass("active"); +} + +$( document ).ready(function() { + // When the document is loaded and ready, bind the + // function `collapse_toc_elements_on_click' to the + // `a' elements in the table of contents. + $("#text-table-of-contents a").click(function() { + collapse_toc_elements_on_click(this); + }); +}); + +$(function() { + function replace_admonition (tag, map, language) { + var language = document.documentElement.lang; + var translations = map.get(tag); + var readable = translations.get(language) || translations.get("en"); // fallback to english + $(`span.${tag}:not(#table-of-contents *)`) .parent().parent() + .replaceWith(`
${readable}
`); + $(`div.${tag}`).before(`${readable}
`) + } + const map = new Map() + .set("note", new Map() + .set("en", "Note") + .set("de", "Hinweis")) + .set("seealso", new Map() + .set("en", "See also") + .set("de", "Siehe auch")) + .set("warning", new Map() + .set("en", "Warning") + .set("de", "Warnung")) + .set("caution", new Map() + .set("en", "Caution") + .set("de", "Vorsicht")) + .set("attention", new Map() + .set("en", "Attention") + .set("de", "Obacht")) + .set("tip", new Map() + .set("en", "Tip") + .set("de", "Tipp")) + .set("important", new Map() + .set("en", "Important") + .set("de", "Wichtig")) + .set("hint", new Map() + .set("en", "Hint") + .set("de", "Hinweis")) + .set("error", new Map() + .set("en", "Error") + .set("de", "Fehler")) + .set("danger", new Map() + .set("en", "Danger") + .set("de", "Gefahr")) + ; + replace_admonition('note', map); + replace_admonition('seealso', map); + replace_admonition('warning', map); + replace_admonition('caution', map); + replace_admonition('attention', map); + replace_admonition('tip', map); + replace_admonition('important', map); + replace_admonition('hint', map); + replace_admonition('error', map); + replace_admonition('danger', map); +}); + +$( document ).ready(function() { + + // Shift nav in mobile when clicking the menu. + $(document).on('click', "[data-toggle='wy-nav-top']", function() { + $("[data-toggle='wy-nav-shift']").toggleClass("shift"); + $("[data-toggle='rst-versions']").toggleClass("shift"); + }); + // Close menu when you click a link. + $(document).on('click', ".wy-menu-vertical .current ul li a", function() { + $("[data-toggle='wy-nav-shift']").removeClass("shift"); + $("[data-toggle='rst-versions']").toggleClass("shift"); + }); + $(document).on('click', "[data-toggle='rst-current-version']", function() { + $("[data-toggle='rst-versions']").toggleClass("shift-up"); + }); + // Make tables responsive + $("table.docutils:not(.field-list)").wrap(""); +}); + +$( document ).ready(function() { + $('#text-table-of-contents ul').first().addClass('nav'); + // ScrollSpy also requires that we use + // a Bootstrap nav component. + $('body').scrollspy({target: '#text-table-of-contents'}); + + // DON'T add sticky table headers (Fix issue #69?) + // $('table').stickyTableHeaders(); + + // set the height of tableOfContents + var $postamble = $('#postamble'); + var $tableOfContents = $('#table-of-contents'); + $tableOfContents.css({paddingBottom: $postamble.outerHeight()}); + + // add TOC button + var toggleSidebar = $(''); + $('#content').prepend(toggleSidebar); + + // add close button when sidebar showed in mobile screen + var closeBtn = $('Close'); + var tocTitle = $('#table-of-contents').find('h2'); + tocTitle.append(closeBtn); +}); + +window.SphinxRtdTheme = (function (jquery) { + var stickyNav = (function () { + var navBar, + win, + stickyNavCssClass = 'stickynav', + applyStickNav = function () { + if (navBar.height() <= win.height()) { + navBar.addClass(stickyNavCssClass); + } else { + navBar.removeClass(stickyNavCssClass); + } + }, + enable = function () { + applyStickNav(); + win.on('resize', applyStickNav); + }, + init = function () { + navBar = jquery('nav.wy-nav-side:first'); + win = jquery(window); + }; + jquery(init); + return { + enable : enable + }; + }()); + return { + StickyNav : stickyNav + }; +}($)); diff --git a/docs/content/js/search.js b/docs/content/js/search.js new file mode 100644 index 0000000..99b676c --- /dev/null +++ b/docs/content/js/search.js @@ -0,0 +1,187 @@ +// -*- mode: js2 -*- + +// read-the-org-search + +// Configuration +const SEARCH_VERSION = "v1.12"; + +// Default configuration +window.searchConfig = { + enableSearch: true, + searchResultLimit: 0 +}; + +// Configuration function + + +function enableSearch(enableSearch, searchResultLimit) { + window.searchConfig.enableSearch = true; +} + + +function disableSearch() { + window.searchConfig.enableSearch = false; +} + + +function setSearchLimit(searchResultLimit) { + window.searchConfig.searchResultLimit = searchResultLimit; +} + + +console.log(`custom-search.js ${SEARCH_VERSION} is being loaded`); + + +$(document).ready(function() { + console.log(`Document ready, initializing search ${SEARCH_VERSION}`); + + const ENABLE_SEARCH = window.searchConfig.enableSearch; + const SEARCH_RESULT_LIMIT = window.searchConfig.searchResultLimit; + + if (!ENABLE_SEARCH) { + console.log('Search functionality is disabled'); + return; + } + + $('#table-of-contents').prepend(` +