diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 00000000..63eed93e --- /dev/null +++ b/.travis.yml @@ -0,0 +1,40 @@ +language: cpp +compiler: gcc + +env: + global: + - CBANG_HOME=$PWD/cbang + + matrix: + - DEBUG_BUILD=1 + - DEBUG_BUILD=0 + +install: + - sudo apt-get install -y libv8-dev qt4-dev-tools + +before_script: + - git clone https://github.com/CauldronDevelopmentLLC/cbang.git + +script: + - scons -C cbang debug=$DEBUG_BUILD -j 4 + - scons debug=$DEBUG_BUILD -j 4 + +addons: + apt: + packages: + - git + - scons + - libbz2-dev + - zlib1g-dev + - libexpat1-dev + - libboost-iostreams-dev + - libboost-system-dev + - libboost-filesystem-dev + - libboost-regex-dev + - libsqlite3-dev + - libv8-dev + - qt4-dev-tools + - libqt4-dev + - libqt4-opengl-dev + - libcairo2-dev + - libfreetype6-dev diff --git a/Building_In_Windows.md b/Building_In_Windows.md new file mode 100644 index 00000000..ee68ce40 --- /dev/null +++ b/Building_In_Windows.md @@ -0,0 +1,166 @@ +Building from source in Windows is much more difficult because satisfying the dependecies with out the help of a package system is more of a challenge. You can build everything from source or you can find prebuilt libraries for some of the dependencies. + +These instructions assume you are using MSVC 2008 or better on Windows XP or newer. Building with Cygwin or MinGW is not supported or recommended. We will build everything from the command line. + +# Prerequisites +## Tools +You will need to isntall the following bulid tools: + + * MSVS 2008 or better https://www.visualstudio.com/ + * Git http://git-scm.com/ + * Python https://www.python.org/ + * SCons http://www.scons.org/ + * NSIS http://nsis.sourceforge.net/Download (Installer build only) + +## Libraries +Build or download binaries of the following, in this order: + + * Boost http://www.boost.org/ + * V8 http://code.google.com/p/v8/ + * C! http://cbang.org/ + * FreeType http://www.freetype.org/ + * Qt4 http://qt-project.org/ + * Cairo http://cairographics.org/ + +# Preparation +## Create a build directory +You will need to build or install several different packages. It is recommend that you create a ```build``` directory somewhere on your system and build or install all the packages under this directory. + +## Determine the Build Type +You should determine your system's bit width, either *32-bit* or *64-bit*. 32-bit mode is also refered to as *x32* or *x86* mode and 64-bit mode may be refered to as *x64* or *amd64* mode. This will be an important distinction for several of the packages. Note, that it is perfectly reasonable and will not adversely affect performance if you build in 32-bit mode on a 64-bit system. In fact, it is much easier to find 32-bit binaries of the library dependencies. You should set the environment vairable ```TARGET_ARCH``` to either ```x86``` or ```amd64```. + +You also need to decide to either build or download only *debug* or *release* mode packages. Windows cannot mix packages built with different release modes. + +## Maintaining the Environment +There are several environment variables that you will need to set in order for the build scripts to be able to find the other packages. You can enter these on the command line but it is far easier to maintain a ```env.bat``` file which you can run at any time to restore the build environment. + +In order for the build scripts to find MSVC, you need to call the appropriate ```vcvars.bat```. This script configures your environment to use the correct MSVC compiler. You can also add this to your ```env.bat``` for example you might have line like this: + + call "%ProgramFiles%\Microsoft Visual Studio 9.0\vc\vcvarsall.bat" x86 + +Note that there are 32-bit and 64-bit versions of this batch file. + +Your ```env.bat``` might look something like this: + +``` +@echo off + +set BUILD_ROOT=C:\build + +set TARGET_ARCH=x86 + +call "%ProgramFiles(x86)%\Microsoft Visual Studio 12.0\VC\vcvarsall.bat" x86 + +set PATH=%PATH%;%BUILD_ROOT%\depot_tools;C:\Python27\Scripts;%ProgramFiles(x86)%\NSIS + +set BOOST_SOURCE=%BUILD_ROOT%\boost_1_57_0 +set V8_HOME=%BUILD_ROOT%\v8 +set CBANG_HOME=%BUILD_ROOT%\cbang +set QTDIR=%BUILD_ROOT%\Qt\4.8.6 +set CAIRO_HOME=%BUILD_ROOT%\gtk +set FREETYPE2_HOME=%BUILD_ROOT%\freetype-2.3.5-1 +``` + +# MSVS +You can get a free version of Visual Studio here: https://www.visualstudio.com/. You do not need any of the optional features. + +# Git +You can find Windows binaries here: http://git-scm.com/download/win. It is recommended that you select the options that installs the extra *Unix tools* and make ```git``` available on the Windows command line. + +# Python +Python is needed to run SCons. You can find binaries here: https://www.python.org/downloads/windows/ You should download and install the latest Python 2. + +# SCons +Download and install the lastest SCons from here: http://www.scons.org/download.php. It is not recommend that you build SCons from source. After installing add SCons to the PATH. SCons installs to the Python ```Scripts``` directory. + + set PATH=%PATH%;C:\Python27\Scripts + +# Boost +It is not actually necessary to build Boost yourself. If you download, unpack and set the environment variable ```BOOST_SOURCE``` C! will build the parts of boost that it needs automatically. You can find the latest version here: http://www.boost.org/users/download/#live + +# V8 +First you need to install Google's depot tools. + + git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git + +Next add depot tools to your ```PATH```. For example: + + set PATH=%PATH%:%CD%/depot_tools + +Next get and build libv8 like this: + + gclient + fetch v8 + cd v8 + git checkout 3.14.5.8 + python build\gyp_v8 + devenv /build Release build\All.sln + +If you are creating a 64-bit build then add ```-Dtarget_arch=x64``` to the end of the ```build\gyp_v8``` command. If you are building in debug mode then change the last line. + +# C! +First make sure you have all all of the following environment variables pointing to the root directories of the packages built above: + + * ```BOOST_SOURCE``` + * ```V8_HOME``` + +Check out the latest source code and build like this: + + git clone https://github.com/CauldronDevelopmentLLC/cbang.git + cd cbang + scons + +Or to build in debug mode change the last line to: + + scons debug=1 + +Then set ```CBANG_HOME```. + +# FreeType +You can download Windows binaries for FreeType here: http://gnuwin32.sourceforge.net/packages/freetype.htm + +# Qt +You can download Windows binaries for Qt4 here: https://www.qt.io/download-open-source/. Instructions for building from source can be found here: http://doc.qt.io/qt-4.8/install-win.html. Make sure you install or build Qt with OpenGL support. + +# Cairo +You can find prebuilt Windows binaries for cairo here: http://www.gtk.org/download/. It's easiest to just install [the whole Gtk package](http://win32builder.gnome.org/gtk+-bundle_3.6.4-20130921_win32.zip) because you will need several of the included DLLs later. Or build instructions here: http://cairographics.org/end_to_end_build_for_win32/ + +# OpenSCAM +Make sure you have all of the following envrionement variables set correctly: + + * ```BOOST_SOURCE``` + * ```V8_HOME``` + * ```QTDIR``` + * ```CAIRO_HOME``` + * ```FREETYPE2_HOME``` + +Now you can check out and build OpenSCAM like this: + + git clone https://github.com/CauldronDevelopmentLLC/OpenSCAM.git + cd OpenSCAM + git checkout dev + scons + +or in debug mode: + + scons debug=1 + +# Building the Installer +You can build the installer with scons like this: + + scons package + +However, the build scripts currently expect a number of DLLs to be in particular locations, relative to the environment variables set above. This may not match your build. You can edit ```openscam.nsi``` to reflect the DLLs your build needs and their locations. You should only need to change the ```File``` lines at the top of ```Section -Install```. After making any changes simply rerun ```scons package```. For example, here is a possible set of DLLs required to run a build of OpenSCAM: + + * freetype6.dll + * libcairo-2.dll + * libfontconfig-1.dll + * libfreetype-6.dll + * liblzma-5.dll + * libpixman-1-0.dll + * libpng15-15.dll + * libxml2-2.dll + * QtCore4.dll + * QtGui4.dll + * QtOpenGL4.dll + * zlib1.dll diff --git a/README.md b/README.md index fe4aa99c..f057d431 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,5 @@ +[![Build Status](https://travis-ci.org/CauldronDevelopmentLLC/OpenSCAM.svg)](https://travis-ci.org/CauldronDevelopmentLLC/OpenSCAM) + ![OpenSCAM Logo][1] OpenSCAM is an ​Open-Source software which can simulate 3-axis NC @@ -30,20 +32,23 @@ See http://openscam.org/ GNU General Public License version 2+. See the file COPYING. # Prerequisites - - C! - http://cbang.org/ - - Qt4 - http://qt-project.org/ - - Cairo2 - http://cairographics.org/ - - SCons - http://www.scons.org/ + - C! http://cbang.org/ + - Qt4 http://qt-project.org/ + - Cairo2 http://cairographics.org/ + - FreeType2 http://www.freetype.org/ + - V8 https://code.google.com/p/v8/ + - SCons http://www.scons.org/ On Debian based systems all the prerequisites, including thoese needed by C!, can be installed with the following command line: sudo apt-get install scons build-essential libbz2-dev zlib1g-dev \ - libexpat1-dev libssl-dev libboost-iostreams-dev libboost-system-dev \ + libexpat1-dev libboost-iostreams-dev libboost-system-dev \ libboost-filesystem-dev libboost-regex-dev libsqlite3-dev libv8-dev \ - qt4-dev-tools libqt4-dev libqt4-opengl-dev libcairo2-dev git + qt4-dev-tools libqt4-dev libqt4-opengl-dev libcairo2-dev \ + libfreetype6-dev git -# Building from Source +# Building from Source on Debian This section describes how to build OpenSCAM from source on Debian based systems such as Ubuntu and Mint Linux. If you are running Windows or OSX it is much easier to simply install prebuilt packages which can be found @@ -73,9 +78,12 @@ Clone the OpenSCAM git repository and build the software using scons: In the OpenSCAM source code directory run: scons package - sudo dpkg -i openscam_*.deb + sudo dpkg -i $(cat package.txt) + +# Building from Source on Windows +See [Building in Windows](Building_In_Windows.md). -## Build Warnings/Errors +# Build Warnings/Errors If you get any build warnings, by default, the build will stop. If you have problems building, especially with warnings related to the boost library you can ignore these warnings by building cbang and/or OpenSCAM with diff --git a/SConstruct b/SConstruct index 45815246..e3f87b4b 100644 --- a/SConstruct +++ b/SConstruct @@ -14,12 +14,11 @@ env.Tool('config', toolpath = [cbang]) env.CBAddVariables( ('install_prefix', 'Instalation directory prefix', '/usr/local/')) env.CBLoadTools( - 'compiler cbang dist freetype2 opengl resources build_info packager') + 'compiler cbang dist freetype2 opengl build_info packager') conf = env.CBConfigure() # Config vars env.Replace(PACKAGE_VERSION = version) -env.Replace(RESOURCES_NS = 'OpenSCAM') env.Replace(BUILD_INFO_NS = 'OpenSCAM::BuildInfo') # Qt4 tool @@ -81,7 +80,6 @@ for subdir in [ for subdir in ['']: src += Glob('src/tplang/%s/*.cpp' % subdir) - # Build in 'build' import re VariantDir('build', 'src') @@ -98,7 +96,9 @@ qrc = env.Qrc4('build/qrc_openscam.cpp', 'qt/openscam.qrc') src += qrc # Build Info -src += env.BuildInfo('build/build_info.cpp', []) +info = env.BuildInfo('build/build_info.cpp', []) +AlwaysBuild(info) +src += info # Build @@ -107,19 +107,9 @@ libs = [lib] Depends(lib, uic) -# Resources -res = env.Resources('build/resources.cpp', ['#/src/resources']) -Precious(res) -resLib = env.Library('libResources', res) -Precious(resLib) -libs += [resLib] - # 3rd-party libs libs.append(env.Library('clipper', Glob('build/clipper/*.cpp'))) -#kbool = env.Library('kbool', Glob('src/kbool/src/*.cpp')) -#kurve = env.Library('kurve', Glob('src/kurve/*.cpp')) -#area = env.Library('area', Glob('src/libarea/*.cpp')) -#libs += [area, kurve, kbool] + docs = ('README.md', 'LICENSE', 'COPYING', 'CHANGELOG.md') progs = 'openscam gcodetool oscamprobe oscamopt tplang' @@ -181,52 +171,53 @@ if 'package' in COMMAND_LINE_TARGETS and env['PLATFORM'] == 'win32' and \ # Package -pkg = env.Packager( - 'OpenSCAM', - version = version, - maintainer = 'Joseph Coffland ', - vendor = 'Cauldron Development LLC', - url = 'http://openscam.com/', - license = 'COPYING', - bug_url = 'http://openscam.com/', - summary = 'Open-Source Simulation & Computer Aided Machining', - description = description, - prefix = '/usr', - icons = ('osx/openscam.icns', 'images/openscam.png'), - - documents = ['README.md', 'CHANGELOG.md'] + examples, - programs = map(lambda x: str(x[0]), execs), - desktop_menu = ['OpenSCAM.desktop'], - changelog = 'CHANGELOG.md', - - nsi = 'openscam.nsi', - msvc_redist = msvc_redist, - - deb_directory = 'debian', - deb_section = 'miscellaneous', - deb_depends = 'debconf | debconf-2.0, libc6, libbz2-1.0, zlib1g, ' +\ - 'libexpat1, libsqlite3-0, libqtcore4, libqtgui4, libqt4-opengl, ' +\ - 'libcairo2', - deb_priority = 'optional', - - rpm_license = 'GPLv2+', - rpm_group = 'Applications/Engineering', - rpm_requires = 'expat, bzip2-libs', - - app_id = 'org.openscam', - app_resources = [['osx/Resources', '.']], - app_copyright = 'Copyright 2011-2014, Cauldron Development LLC', - app_signature = 'scam', - app_other_info = { - 'CFBundleExecutable': 'openscam', # Overrides 'programs' - 'CFBundleIconFile': 'openscam.icns', - }, - app_finish_cmd = 'macdeployqt', - pkg_scripts = 'osx/Scripts', - pkg_resources = 'osx/Resources', - pkg_distribution = 'osx/distribution.xml', - pkg_plist = 'osx/pkg.plist', - ) - -AlwaysBuild(pkg) -env.Alias('package', pkg) +if 'package' in COMMAND_LINE_TARGETS: + pkg = env.Packager( + 'OpenSCAM', + version = version, + maintainer = 'Joseph Coffland ', + vendor = 'Cauldron Development LLC', + url = 'http://openscam.com/', + license = 'COPYING', + bug_url = 'http://openscam.com/', + summary = 'Open-Source Simulation & Computer Aided Machining', + description = description, + prefix = '/usr', + icons = ('osx/openscam.icns', 'images/openscam.png'), + + documents = ['README.md', 'CHANGELOG.md'] + examples, + programs = map(lambda x: str(x[0]), execs), + desktop_menu = ['OpenSCAM.desktop'], + changelog = 'CHANGELOG.md', + + nsi = 'openscam.nsi', + msvc_redist = msvc_redist, + + deb_directory = 'debian', + deb_section = 'miscellaneous', + deb_depends = 'debconf | debconf-2.0, libc6, libbz2-1.0, zlib1g, ' +\ + 'libexpat1, libsqlite3-0, libqtcore4, libqtgui4, libqt4-opengl, ' +\ + 'libcairo2', + deb_priority = 'optional', + + rpm_license = 'GPLv2+', + rpm_group = 'Applications/Engineering', + rpm_requires = 'expat, bzip2-libs', + + app_id = 'org.openscam', + app_resources = [['osx/Resources', '.']], + app_copyright = 'Copyright 2011-2014, Cauldron Development LLC', + app_signature = 'scam', + app_other_info = { + 'CFBundleExecutable': 'openscam', # Overrides 'programs' + 'CFBundleIconFile': 'openscam.icns', + }, + app_finish_cmd = 'macdeployqt', + pkg_scripts = 'osx/Scripts', + pkg_resources = 'osx/Resources', + pkg_distribution = 'osx/distribution.xml', + pkg_plist = 'osx/pkg.plist', + ) + + AlwaysBuild(pkg) + env.Alias('package', pkg) diff --git a/doc/tpl/background.png b/doc/tpl/background.png deleted file mode 100644 index 90ee6934..00000000 Binary files a/doc/tpl/background.png and /dev/null differ diff --git a/doc/tpl/images/square.png b/doc/tpl/images/square.png deleted file mode 100644 index 347cb562..00000000 Binary files a/doc/tpl/images/square.png and /dev/null differ diff --git a/doc/tpl/images/squares.png b/doc/tpl/images/squares.png deleted file mode 100644 index 6d3c2583..00000000 Binary files a/doc/tpl/images/squares.png and /dev/null differ diff --git a/doc/tpl/images/star.png b/doc/tpl/images/star.png deleted file mode 100644 index b73c27bd..00000000 Binary files a/doc/tpl/images/star.png and /dev/null differ diff --git a/doc/tpl/publish.sh b/doc/tpl/publish.sh deleted file mode 100755 index c79a721f..00000000 --- a/doc/tpl/publish.sh +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/bash -TARGET=root@coffland.com:/var/www/tplang.org/http/ - -rsync -av --exclude=.svn --exclude=publish.sh "$(dirname "$0")"/ $TARGET diff --git a/doc/tpl/rainbow-custom.min.js b/doc/tpl/rainbow-custom.min.js deleted file mode 100644 index 5ffbdbf0..00000000 --- a/doc/tpl/rainbow-custom.min.js +++ /dev/null @@ -1,10 +0,0 @@ -/* Rainbow v1.2 rainbowco.de | included languages: generic, javascript */ -window.Rainbow=function(){function q(a){var b,c=a.getAttribute&&a.getAttribute("data-language")||0;if(!c){a=a.attributes;for(b=0;b=f[d][c])delete f[d][c],delete j[d][c];if(a>=c&&ac&&b'+b+""}function s(a,b,c,i){var e=a.exec(c);if(e){++t;!b.name&&"string"==typeof b.matches[0]&&(b.name=b.matches[0],delete b.matches[0]);var k=e[0],g=e.index,u=e[0].length+g,h=function(){function e(){s(a,b,c,i)}t%100>0?e():setTimeout(e,0)};if(C(g,u))h();else{var m=v(b.matches),l=function(a,c,i){if(a>=c.length)i(k);else{var d=e[c[a]];if(d){var g=b.matches[c[a]],f=g.language,h=g.name&&g.matches? -g.matches:g,j=function(b,d,g){var f;f=0;var h;for(h=1;h/g,">").replace(/&(?![\w\#]+;)/g, -"&"),b,c)}function o(a,b,c){if(b - - - Tool Path Language - - - - - - - - - - -
-
-

TPLang or Tool Path Language is a programming language for creating - machine tool paths for - CNCs. It is based on - JavaScript and is - a powerful replacement for the venerable but horribly outdated - G-code - language. - - However, TPLang can output G-code so it remains compatible with existing - machine control software like - LinuxCNC -

- -

- TPLang is part of the OpenSCAM - project and can be used in conjunction with the OpenSCAM CNC - simulator. -

- -
-

TPLang is part of the OpenSCAM project. - See openscam.org for information - on downloading and installing the software.

- -
-

This section aims to give you a quick and dirty introduction to TPL - and some of it's features via a few simple examples.

- -

TPL code is JavaScript with a library of built-in functions which - allow you to generate tool paths. It looks like this:

- -
- feed(400); // Set the feed rate to 400 millimeters per minute - tool(1); // Select tool 1 - - rapid({z: 5}); // Move to a safe height of 5mm - rapid({x: 1, y: 1}); // Go to start position - speed(2000); // Spin at 2000 RPM in the clockwise direction - - cut({z: -3}); // Cut down to depth - cut({x: 11}); // Cut to second corner - cut({y: 11}); // Cut to third corner - cut({x: 1}); // Cut to forth corner - cut({y: 1}); // Cut back to begining - - rapid({z: 5}); // Move back to safe position - speed(0); // Stop spinning -
- -

The OpenSCAM simulator shows the result:

- - -

- The previous example initializes the machine then cuts a square. - Note, you must always set the feed rate to something other than zero - before making a cut. It's also a good idea to select a tool and - set the spindle speed. Also note thate, TPL uses metric units by - default but you can switch to imperial units by calling - units(IMPERIAL). -

- -

Note, the bracket notation {} used above lets you specify - specific arguments and leave others to their default values. The - following function calls are all equivalent:

- -
- rapid(5, 10, 15); - rapid({x: 5, y: 10, z: 15}); - rapid({z: 15, x: 5, y: 10}); -
- -

The code in the square example may be more readable than typical - GCode but TPL's real power comes from its ability to use more - advanced language constructs such as functions. The above square - example could be wrapped in a function like this:

- -
- function square(size, depth, safe) { - cut({z: depth}); // Cut down to depth - icut({x: size}); // Cut to second corner - icut({y: size}); // Cut to third corner - icut({x: -size}); // Cut to forth corner - icut({y: -size}); // Cut back to begining - rapid({z: safe}); // Move back to safe position - } - - feed(400); // Set the feed rate to 400 millimeters per minute - tool(1); // Select tool 1 - - rapid({z: 5}); // Move to a safe height of 5mm - rapid({x: 1, y: 1}); // Go to start position - speed(2000); // Spin at 2000 RPM in the clockwise direction - - square(10, -3, 5); - - speed(0); // Stop spinning -
- -

Note the square() function uses icut() the incremental - version of cut().

- -

Given the square() function you can now cut repeated squares - like this: -

- -
- for (i = 1; i <= 10; i++) square(i * 5, -3, 5); -
- -

Here is the result of running the squares function as in the - for loop above.

- - -

To continue the example a bit further and show more of the power - of TPL we can repeat and rotate the squares to create an interesting - pattern using the following program:

- -
- function square(size, depth, safe) { - cut({z: depth}); // Cut down to depth - icut({x: size}); // Cut to second corner - icut({y: size}); // Cut to third corner - icut({x: -size}); // Cut to forth corner - icut({y: -size}); // Cut back to begining - rapid({z: safe}); // Move back to safe position - } - - - function squares(count, space, depth, safe) { - for (var i = 1; i <= count; i++) { - rapid({x: -space * i, y: -space * i}); - square(i * 2 * space, depth, safe); - } - } - - - feed(400); // Set the feed rate to 40 millimeters per second - tool(1); // Select tool 1 - - rapid({z: 5}); // Move to a safe height of 5mm - rapid({x: 0, y: 0}); // Go to center position - speed(2000); // Spin at 2000 RPM in the clockwise direction - - for (var i = 0; i < 4; i++) { - squares(10, 5, -3, 5); - rotate(PI / 8); // Rotate clockwise 15 degrees - } - - speed(0); // Stop spinning -
- -

The simulator shows the final result:

- -
- -
-

- After downloading and installing the latest OpenSCAM you can write - a TPLang program, or try out one of the examples. TPLang programs - usually have the file extension .tpl. You can execute a TPLang - program like this: -

-
- tplang input.tpl -
- -

- This will print the resulting G-code to the screen. You can also - save the output to a file like this: -

-
- tplang input.tpl > output.gc -
- -

You can then view the results in the OpenSCAM simulator like this:

-
- openscam output.gc -
- -

- You will also probably have to configure a tool table and - define the workpeice (the material being cut) in order to get a correct - simulation. See openscam.org for - more information on using the simulator. -

- -
-

The TPLang Application Programming Interface allows you to duplicate - any G-code program easily in a much more readable way but you also have - the full power of the JavaScript language at your finger tips so - much more is possible. In fact you don't even need CAM software - you can model the shapes you want to cut directly in TPLang. -

- - -
- -
-
rapid(x, y, z, a, b, c, u, v, w, incremental=false) -
-

Issue a linear motion at the rapid feed rate from the current - position to the new position defined by the provided axes arguments. -

- -
- rapid(0, 0, 0); // Rapid to x=0, y=0, z=0 - rapid(10, 10); // Rapid to x=10, y=10, z remains 0 - rapid({z: 10, y: 10}); // Rapid to y=10, z=10, x remains 10 -
-
- -
-
irapid(x, y, z, a, b, c, u, v, w, incremental=true) -
-

The same as rapid() but incremental defaults to true. -

- -
-
cut(x, y, z, a, b, c, u, v, w, incremental=false) -
-

The same as rapid() except moves are at the current feed - rate set by a call to feed(). -

- -
-
icut(x, y, z, a, b, c, u, v, w, incremental=true) -
-

The same as cut() but incremental defaults to true. -

- -
-
arc(x, y, z, angle, plane, incremental=true)
-
- -
-
probe(x, y, z, a, b, c, u, v, w, toward=true, - error=true, index=0, port=-1, invert=false)
-

Make a linear move in the direction indicated until the probe - state changes to the target state. If toward is true the - probe motion will stop on contact. Otherwise it will stop on loss - of contact.

-

probe() will return the coordinates of the position at the - time the probe changed state. If the programmed point was reached - before the state changed then the programmed point will be returend - instead.

- -
- probe(z = -10); // Probe towards z=-10 - probe(z = 10, toward = false); // Probe away from current z -
- -

- It is an error if: -

    -
  • The current point is the same as the programed point.
  • -
  • The current feed rate is zero.
  • -
  • The probe is already in the target state.
  • -
-

-
- -
-
dwell(seconds)
-

seconds indicate the time in seconds that all axes will - remain unmoving. Fractions of a second may be used.

-
- dwell(0.5); // Dwell for half a second. -
-
- - -
- -
-
feed(rate, mode = FEED_UNITS_PER_MIN)
-

rate indicates the units per minute in the XYZ cartesian - system of all subsequent non-rapid moves until the feed rate is - changed.

- -

- mode may be one of the following: -

    -
  • FEED_UNITS_PER_MIN - The feed rate is in units per - minute. The unit may be inches, millimeters or degrees - depending on the current unit of length and which axes are - moving.
  • -
  • FEED_INVERSE_TIME - Indicates that moves should be - completed in one divided by rate minutes. For example, - if rate is 2.0, moves should be completed in half a - minute.
  • -
  • FEED_UNITS_PER_REV - Means that the controlled point - should move a certain number of units per revolution.
  • -
- - Note, these names are case sensitive. -

- -

If no arguments are given, returns the current feed rate and - mode.

- -
- feed(4); // Move at 4 units per minute - rate = feed()[0]; // Get the current feed rate -
-
- -
-
speed(rate, surface, max)
-

rate indicates the revolutions per minute of the spindle. -

-

If rate is positive the spindle will turn in the - clockwise direction. If negative in the counterclockwise direction. -

-

A rate of zero turns the spindle off.

- -

- If surface is specified it selects a constant surface speed - of surface feet per minute if IMPERIAL units are - selected or meters per minute if METRIC units are selected. - If max is also specified it indicates the maximum spindle - RPM. -

- -

If no arguments are given, returns the current spindle speed, - surface speed and maximum RPM.

- -
- spin(1000); // Spin clockwise at 1K RPM. - spin(-20000); // Spin counterclockwise at 20K RPM. -
-
- -
-
tool(number)
-

Make tool number the current tool.

-

If no arguments are given the current tool number is returned.

-
tool(1); // Select tool 1
-
- -
-
units(type)
-

type may be either METRIC which selects millimeters - as the unit of measure or IMPERIAL which selects inches.

-

If no arguments are given the current type is returned.

-
units(METRIC); // Select millimeters
-
- -
-
pause(optional=false)
-

Pause the program until the user resumes. If optional is - true then only pause if the stop switch is activated.

-
pause(true);
-
- - - - -
- -
-
pushMatrix(matrix)
-

-
-
-
-
popMatrix(matrix)
-

-
-
-
-
loadIdentity(matrix)
-

-
-
-
-
scale(x=1, y=1, z=1, matrix)
-

-
-
-
-
translate(x=0, y=0, z=0, matrix)
-

-
-
-
-
rotate(angle, x=0, y=0, z=1, matrix)
-

-
-
- - - -
-

JavaScript has built in math functions and constants which are members - of the built-in Math object. The Math object is defined in the - EMCAScript specification, section 15.8 or in a - perhaps more readable format at - W3 - Schools, Math object reference. - - -

-
-
print(...)
-

Convert all arguments to strings and print them to the output - stream.

-

Note that print() writes to the same output stream as the gcode - functions so if you don't want to interfere with the gcode output - you should wrap text in parentheses '()' so that it is treated as a - gcode comment.

-
print("Hello World!\n");
-
print("(A gcode comment)\n");
-
- - - - - - - - - - - - - - - - - -
-

See openscam.org.

- -
-

See openscam.org.

-
- -
- -
-
-
-
-
-
- -
- - - -
- -
- - - - - -
- -
- - -
- -
- - - -
-
- - diff --git a/doc/tpl/tpl.js b/doc/tpl/tpl.js deleted file mode 100644 index c7a73b49..00000000 --- a/doc/tpl/tpl.js +++ /dev/null @@ -1,82 +0,0 @@ -$(function() { - var sidebar = $('#sidebar'); - var content = $('#content'); - - // Create sidebar menu & modify sections - $.each(content.find('div[id]'), function(i, div) { - div = $(div) - var id = div.attr('id'); - - var title = div.attr('title'); - if (typeof title == 'undefined') title = id; - else if (div.hasClass('L0') || div.hasClass('L1')) - div.prepend($('

').addClass('title').text(title)); - else if (div.hasClass('L2')) - div.prepend($('

').addClass('title').text(title)); - - div.addClass('level'); - - var entry = $(''); - entry.addClass(div.attr('class')); - entry.addClass('level'); - - sidebar.append(entry); - }); - - - // Fix example indentation - $.each(content.find('.example'), function(i, example) { - example = $(example); - - // Split lines - var lines = example.html().match(/([^\r\n]*)\r?\n\r?/g); - if (lines == null) return; - - // Compute indent - var indent = 0; - for (var i = 0; i < lines.length; i++) { - lines[i] = lines[i].replace(/\s+$/g, ''); - if (!lines[i].length) continue; - - var len = lines[i].match(/^\s*/)[0].length; - if (!indent || len < indent) indent = len; - } - - // Remove indent - if (indent) - for (var i = 0; i < lines.length; i++) - if (indent < lines[i].length) - lines[i] = lines[i].substr(indent); - - // Rejoin lines - var html = ''; - for (var i = 0; i < lines.length; i++) { - if (html) html += '\n'; - html += lines[i]; - } - - // Reset contents - example.html(html); - }); - - - // Setup simulation images - $('.sim-image') - .css({width: '300px'}) - .click(function () { - var w = $(this).css('width'); - $(this).css({width: w == '300px' ? 'auto' : '300px'}); - }); - - function colorize(i, div) { - var div = $(div); - var code = $('') - .attr({'data-language': 'javascript'}) - .append(div.html()); - div.html(code); - } - - $.each(content.find('.example'), colorize); - $.each(content.find('.func .decl'), colorize); - Rainbow.color(); -}); diff --git a/doc/www/Makefile b/doc/www/Makefile deleted file mode 100644 index 523aaa9f..00000000 --- a/doc/www/Makefile +++ /dev/null @@ -1,10 +0,0 @@ -all: http - -http: $(shell find jade) config.json - ./build.sh - -clean: - rm -rf http jade/{manual,main,download}/{template,menu}.jade - -publish: http - rsync -Lav http/ root@openscam.org:/var/www/openscam.org/http/ diff --git a/doc/www/build.sh b/doc/www/build.sh deleted file mode 100755 index 7f7f038b..00000000 --- a/doc/www/build.sh +++ /dev/null @@ -1,37 +0,0 @@ -#!/bin/bash - -declare -A PAGES - -PAGES[main]="about quick-start mission screenshots status donate community " -PAGES[main]+="legal contact" -PAGES[download]="current install run source previous" -PAGES[manual]="overview projects simulation layout playback nc-files tools " -PAGES[manual]+="workpiece export docks toolbars" - -# Create Menus -for PAGE in ${!PAGES[@]}; do - "$(dirname "$0")"/create_menu.sh $PAGE ${PAGES[$PAGE]} \ - >jade/$PAGE/menu.jade -done - -# Create Templates -for PAGE in ${!PAGES[@]}; do - "$(dirname "$0")"/create_template.sh $PAGE ${PAGES[$PAGE]} \ - >jade/$PAGE/template.jade -done - -mkdir -p http - -for PAGE in ${!PAGES[@]}; do - TEMPLATE=jade/$PAGE/template.jade - TARGET=http/$PAGE.html - echo Building $TARGET from $TEMPLATE... - jade -P -p $TEMPLATE -O "$(cat config.json)" <$TEMPLATE >$TARGET -done - -jade -P http/notfound.html - -ln -sf main.html http/index.html -ln -sf ../css ../js ../images http/ - -touch http diff --git a/doc/www/config.json b/doc/www/config.json deleted file mode 100644 index 577a8327..00000000 --- a/doc/www/config.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - pages: { - main: { - titleText: - '
OpenSCAM
', - subtext: 'Open-Source Simulation & Computer Aided Machining', - }, - download: { - titleText: "

Downloads

", - subtext: 'OpenSCAM installers and packages.', - }, - manual: { - titleText: "

User's Manual

", - subtext: 'A guide to using OpenSCAM v0.2.4 or newer.', - } - }, - version: '0.2.4 beta', - repoURL: 'https://github.com/CauldronDevelopmentLLC/OpenSCAM', - releases: [ - ['Windows', ['windows-128.png'], - 'windows-xp-32bit', 'openscam_0.2.4_x86.exe'], - ['Mac OS-X', ['osx-128.png'], - 'osx-10.6.4-64bit', 'openscam_0.2.4_x86_64.pkg'], - ['Debian Linux 64-bit', ['debian-128.png', 'mint-128.png'], - 'debian-testing-64bit', 'openscam_0.2.4_amd64.deb'], - ['Debian Linux 32-bit', ['debian-128.png', 'mint-128.png'], - 'debian-testing-32bit', 'openscam_0.2.4_i386.deb'], - ['Ubuntu Precise Penguin 64-bit', ['ubuntu-128.png'], - 'ubuntu-precise-64bit', 'openscam_0.2.4_amd64.deb'], - ['LinuxCNC 10.04', ['ubuntu-128.png'], - 'linuxcnc-10.04-32bit', 'openscam_0.2.4_i386.deb'] - ] -} diff --git a/doc/www/create_menu.sh b/doc/www/create_menu.sh deleted file mode 100755 index 5e6230c5..00000000 --- a/doc/www/create_menu.sh +++ /dev/null @@ -1,31 +0,0 @@ -#!/bin/bash - -PAGE="$1" -shift 1 -SECTIONS="$@" - -echo "ul.nav.sidenav" - -for i in $SECTIONS; do - FILE=jade/$PAGE/$i.jade - REF=$(grep "h1#" $FILE | sed 's/[[:space:]]*h1#\([^[:space:]]*\).*$/\1/') - TITLE=$(grep "h1#" $FILE | sed 's/[[:space:]]*h1#[^[:space:]]* \(.*\)$/\1/') - - echo " li" - echo " a(href='#$REF') $TITLE" - - # Subsections - FIRST=true - grep "h2#" $FILE | while read LINE; do - if $FIRST; then - FIRST=false - echo " ul.nav" - fi - - REF=$(echo "$LINE" | sed 's/[[:space:]]*h2#\([^[:space:]]*\).*$/\1/') - TITLE=$(echo "$LINE" | sed 's/[[:space:]]*h2#[^[:space:]]* \(.*\)$/\1/') - - echo " li" - echo " a(href='#$REF') $TITLE" - done -done diff --git a/doc/www/create_template.sh b/doc/www/create_template.sh deleted file mode 100755 index d203fce4..00000000 --- a/doc/www/create_template.sh +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/bash - -PAGE="$1" -shift 1 -SECTIONS="$@" - -echo "- var page = '$PAGE';" -cat jade/template_head.jade -echo - -for i in $SECTIONS; do - echo " .docs-section" - echo " include $i" -done - -echo -cat jade/template_tail.jade diff --git a/doc/www/css/main.css b/doc/www/css/main.css deleted file mode 100644 index 94f4fe25..00000000 --- a/doc/www/css/main.css +++ /dev/null @@ -1,5891 +0,0 @@ -#ribbon { - display: block; - float:right; - width: 160px; - height: 160px; - margin-bottom: -80px; - background-image: url(../images/support_ribbon.png); -} - -#ribbon:hover { - background-position: bottom right; -} - -#ohloh { - display: block; - position: absolute; - top: 50px; - right: 110px; - border-radius: 4px; - width: 131px; - height: 17px; - background-image: - url(https://www.ohloh.net/p/openscam/widgets/project_thin_badge.gif); -} - -.release { - cursor: pointer; - color: black; - background: #ddd; - border-radius: 5px; - padding: 1em; - margin: 1em; -} - -.release:hover { - background: #eee; -} - -.release h1 { - font-size: 180%; - margin-top: 0; -} - -.release img { - width: 64px; - float: right; -} - -.donate-button { - border-radius: 8px; - border: 3px solid transparent; -} - -.donate-button:hover { - border: 3px solid #bbb; -} - -.gallery img { - margin: 5px; -} - -.footer-button { - display: block; - text-align: center; - padding: 0px 4px 2px 4px; - border: 1px solid #ccc; - border-radius: 8px; - color: #444; - background: #eee; -} - -.footer-button:hover { - text-decoration: none; - color: #fff; - background: #3c75bb; - border: 1px solid #3c75bb; -} - -.footer-button h1, .footer-button h2 { - margin: 0; - padding: 0; -} - -.footer-button h1 { - font-size: 11px; - font-weight: bold; -} - -.footer-button h2 { - font-size: 9px; -} - -.page-manual .docs-section img { - border: 1px solid #888; - border-radius: 4px; -} - - -pre code { - display: block; padding: 0.5em; - color: #333; - background: #f8f8ff -} - -*, -*:before, -*:after { - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; -} -html { - font-size: 62.5%; - -webkit-tap-highlight-color: rgba(0, 0, 0, 0); -} -body { - font-family: "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif; - font-size: 14px; - line-height: 1.42857143; - color: #333333; - background-color: #ffffff; -} -input, -button, -select, -textarea { - font-family: inherit; - font-size: inherit; - line-height: inherit; -} -a { - color: #bb0000; - text-decoration: none; -} -a:hover, -a:focus { - color: #555555; - text-decoration: underline; -} -a:focus { - outline: 0; -} -img { - vertical-align: middle; -} -.img-responsive { - display: block; - max-width: 100%; - height: auto; -} -.img-rounded { - border-radius: 6px; -} -.img-thumbnail { - padding: 4px; - line-height: 1.42857143; - background-color: #ffffff; - border: 1px solid #dddddd; - border-radius: 4px; - -webkit-transition: all 0.2s ease-in-out; - transition: all 0.2s ease-in-out; - display: inline-block; - max-width: 100%; - height: auto; -} -.img-circle { - border-radius: 50%; -} -hr { - margin-top: 20px; - margin-bottom: 20px; - border: 0; - border-top: 1px solid #eeeeee; -} -.sr-only { - position: absolute; - width: 1px; - height: 1px; - margin: -1px; - padding: 0; - overflow: hidden; - clip: rect(0, 0, 0, 0); - border: 0; -} -p { - margin: 0 0 10px; -} -.lead { - margin-bottom: 20px; - font-size: 16px; - font-weight: 200; - line-height: 1.4; -} -@media (min-width: 768px) { - .lead { - font-size: 21px; - } -} -small, -.small { - font-size: 85%; -} -cite { - font-style: normal; -} -.text-muted { - color: #999999; -} -.text-primary { - color: #bb0000; -} -.text-primary:hover { - color: #3071a9; -} -.text-warning { - color: #c09853; -} -.text-warning:hover { - color: #a47e3c; -} -.text-danger { - color: #b94a48; -} -.text-danger:hover { - color: #953b39; -} -.text-success { - color: #468847; -} -.text-success:hover { - color: #356635; -} -.text-info { - color: #3a87ad; -} -.text-info:hover { - color: #2d6987; -} -.text-left { - text-align: left; -} -.text-right { - text-align: right; -} -.text-center { - text-align: center; -} -h1, -h2, -h3, -h4, -h5, -h6, -.h1, -.h2, -.h3, -.h4, -.h5, -.h6 { - font-family: "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif; - font-weight: 500; - line-height: 1.1; - color: inherit; -} -h1 small, -h2 small, -h3 small, -h4 small, -h5 small, -h6 small, -.h1 small, -.h2 small, -.h3 small, -.h4 small, -.h5 small, -.h6 small, -h1 .small, -h2 .small, -h3 .small, -h4 .small, -h5 .small, -h6 .small, -.h1 .small, -.h2 .small, -.h3 .small, -.h4 .small, -.h5 .small, -.h6 .small { - font-weight: normal; - line-height: 1; - color: #999999; -} -h1, -h2, -h3 { - margin-top: 20px; - margin-bottom: 10px; -} -h1 small, -h2 small, -h3 small, -h1 .small, -h2 .small, -h3 .small { - font-size: 65%; -} -h4, -h5, -h6 { - margin-top: 10px; - margin-bottom: 10px; -} -h4 small, -h5 small, -h6 small, -h4 .small, -h5 .small, -h6 .small { - font-size: 75%; -} -h1, -.h1 { - font-size: 38px; -} -h2, -.h2 { - font-size: 31px; -} -h3, -.h3 { - font-size: 24px; -} -h4, -.h4 { - font-size: 18px; -} -h5, -.h5 { - font-size: 14px; -} -h6, -.h6 { - font-size: 12px; -} -.page-header { - padding-bottom: 9px; - margin: 40px 0 20px; - border-bottom: 1px solid #eeeeee; -} -ul, -ol { - margin-top: 0; - margin-bottom: 10px; -} -ul ul, -ol ul, -ul ol, -ol ol { - margin-bottom: 0; -} -.list-unstyled { - padding-left: 0; - list-style: none; -} -.list-inline { - padding-left: 0; - list-style: none; -} -.list-inline > li { - display: inline-block; - padding-left: 5px; - padding-right: 5px; -} -dl { - margin-bottom: 20px; -} -dt, -dd { - line-height: 1.42857143; -} -dt { - font-weight: bold; -} -dd { - margin-left: 0; -} -@media (min-width: 768px) { - .dl-horizontal dt { - float: left; - width: 160px; - clear: left; - text-align: right; - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; - } - .dl-horizontal dd { - margin-left: 180px; - } - .dl-horizontal dd:before, - .dl-horizontal dd:after { - content: " "; - /* 1 */ - display: table; - /* 2 */ - } - .dl-horizontal dd:after { - clear: both; - } - .dl-horizontal dd:before, - .dl-horizontal dd:after { - content: " "; - /* 1 */ - display: table; - /* 2 */ - } - .dl-horizontal dd:after { - clear: both; - } -} -abbr[title], -abbr[data-original-title] { - cursor: help; - border-bottom: 1px dotted #999999; -} -abbr.initialism { - font-size: 90%; - text-transform: uppercase; -} -blockquote { - padding: 10px 20px; - margin: 0 0 20px; - border-left: 5px solid #eeeeee; -} -blockquote p { - font-size: 17.5px; - font-weight: 300; - line-height: 1.25; -} -blockquote p:last-child { - margin-bottom: 0; -} -blockquote small { - display: block; - line-height: 1.42857143; - color: #999999; -} -blockquote small:before { - content: '\2014 \00A0'; -} -blockquote.pull-right { - padding-right: 15px; - padding-left: 0; - border-right: 5px solid #eeeeee; - border-left: 0; -} -blockquote.pull-right p, -blockquote.pull-right small, -blockquote.pull-right .small { - text-align: right; -} -blockquote.pull-right small:before, -blockquote.pull-right .small:before { - content: ''; -} -blockquote.pull-right small:after, -blockquote.pull-right .small:after { - content: '\00A0 \2014'; -} -blockquote:before, -blockquote:after { - content: ""; -} -address { - margin-bottom: 20px; - font-style: normal; - line-height: 1.42857143; -} -code, -kbd, -pre, -samp { - font-family: Monaco, Menlo, Consolas, "Courier New", monospace; -} -code { - padding: 2px 4px; - font-size: 90%; - color: #c7254e; - background-color: #f9f2f4; - white-space: nowrap; - border-radius: 4px; -} -pre { - display: block; - padding: 9.5px; - margin: 0 0 10px; - font-size: 13px; - line-height: 1.42857143; - word-break: break-all; - word-wrap: break-word; - color: #333333; - background-color: #f5f5f5; - border: 1px solid #cccccc; - border-radius: 4px; -} -pre code { - padding: 0; - font-size: inherit; - color: inherit; - white-space: pre-wrap; - background-color: transparent; - border-radius: 0; -} -.pre-scrollable { - max-height: 340px; - overflow-y: scroll; -} -.container { - margin-right: auto; - margin-left: auto; - padding-left: 15px; - padding-right: 15px; -} -.container:before, -.container:after { - content: " "; - /* 1 */ - display: table; - /* 2 */ -} -.container:after { - clear: both; -} -.container:before, -.container:after { - content: " "; - /* 1 */ - display: table; - /* 2 */ -} -.container:after { - clear: both; -} -.row { - margin-left: -15px; - margin-right: -15px; -} -.row:before, -.row:after { - content: " "; - /* 1 */ - display: table; - /* 2 */ -} -.row:after { - clear: both; -} -.row:before, -.row:after { - content: " "; - /* 1 */ - display: table; - /* 2 */ -} -.row:after { - clear: both; -} -.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 { - position: relative; - min-height: 1px; - padding-left: 15px; - padding-right: 15px; -} -.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11 { - float: left; -} -.col-xs-12 { - width: 100%; -} -.col-xs-11 { - width: 91.66666667%; -} -.col-xs-10 { - width: 83.33333333%; -} -.col-xs-9 { - width: 75%; -} -.col-xs-8 { - width: 66.66666667%; -} -.col-xs-7 { - width: 58.33333333%; -} -.col-xs-6 { - width: 50%; -} -.col-xs-5 { - width: 41.66666667%; -} -.col-xs-4 { - width: 33.33333333%; -} -.col-xs-3 { - width: 25%; -} -.col-xs-2 { - width: 16.66666667%; -} -.col-xs-1 { - width: 8.33333333%; -} -.col-xs-pull-12 { - right: 100%; -} -.col-xs-pull-11 { - right: 91.66666667%; -} -.col-xs-pull-10 { - right: 83.33333333%; -} -.col-xs-pull-9 { - right: 75%; -} -.col-xs-pull-8 { - right: 66.66666667%; -} -.col-xs-pull-7 { - right: 58.33333333%; -} -.col-xs-pull-6 { - right: 50%; -} -.col-xs-pull-5 { - right: 41.66666667%; -} -.col-xs-pull-4 { - right: 33.33333333%; -} -.col-xs-pull-3 { - right: 25%; -} -.col-xs-pull-2 { - right: 16.66666667%; -} -.col-xs-pull-1 { - right: 8.33333333%; -} -.col-xs-push-12 { - left: 100%; -} -.col-xs-push-11 { - left: 91.66666667%; -} -.col-xs-push-10 { - left: 83.33333333%; -} -.col-xs-push-9 { - left: 75%; -} -.col-xs-push-8 { - left: 66.66666667%; -} -.col-xs-push-7 { - left: 58.33333333%; -} -.col-xs-push-6 { - left: 50%; -} -.col-xs-push-5 { - left: 41.66666667%; -} -.col-xs-push-4 { - left: 33.33333333%; -} -.col-xs-push-3 { - left: 25%; -} -.col-xs-push-2 { - left: 16.66666667%; -} -.col-xs-push-1 { - left: 8.33333333%; -} -.col-xs-offset-12 { - margin-left: 100%; -} -.col-xs-offset-11 { - margin-left: 91.66666667%; -} -.col-xs-offset-10 { - margin-left: 83.33333333%; -} -.col-xs-offset-9 { - margin-left: 75%; -} -.col-xs-offset-8 { - margin-left: 66.66666667%; -} -.col-xs-offset-7 { - margin-left: 58.33333333%; -} -.col-xs-offset-6 { - margin-left: 50%; -} -.col-xs-offset-5 { - margin-left: 41.66666667%; -} -.col-xs-offset-4 { - margin-left: 33.33333333%; -} -.col-xs-offset-3 { - margin-left: 25%; -} -.col-xs-offset-2 { - margin-left: 16.66666667%; -} -.col-xs-offset-1 { - margin-left: 8.33333333%; -} -@media (min-width: 768px) { - .container { - width: 750px; - } - .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11 { - float: left; - } - .col-sm-12 { - width: 100%; - } - .col-sm-11 { - width: 91.66666667%; - } - .col-sm-10 { - width: 83.33333333%; - } - .col-sm-9 { - width: 75%; - } - .col-sm-8 { - width: 66.66666667%; - } - .col-sm-7 { - width: 58.33333333%; - } - .col-sm-6 { - width: 50%; - } - .col-sm-5 { - width: 41.66666667%; - } - .col-sm-4 { - width: 33.33333333%; - } - .col-sm-3 { - width: 25%; - } - .col-sm-2 { - width: 16.66666667%; - } - .col-sm-1 { - width: 8.33333333%; - } - .col-sm-pull-12 { - right: 100%; - } - .col-sm-pull-11 { - right: 91.66666667%; - } - .col-sm-pull-10 { - right: 83.33333333%; - } - .col-sm-pull-9 { - right: 75%; - } - .col-sm-pull-8 { - right: 66.66666667%; - } - .col-sm-pull-7 { - right: 58.33333333%; - } - .col-sm-pull-6 { - right: 50%; - } - .col-sm-pull-5 { - right: 41.66666667%; - } - .col-sm-pull-4 { - right: 33.33333333%; - } - .col-sm-pull-3 { - right: 25%; - } - .col-sm-pull-2 { - right: 16.66666667%; - } - .col-sm-pull-1 { - right: 8.33333333%; - } - .col-sm-push-12 { - left: 100%; - } - .col-sm-push-11 { - left: 91.66666667%; - } - .col-sm-push-10 { - left: 83.33333333%; - } - .col-sm-push-9 { - left: 75%; - } - .col-sm-push-8 { - left: 66.66666667%; - } - .col-sm-push-7 { - left: 58.33333333%; - } - .col-sm-push-6 { - left: 50%; - } - .col-sm-push-5 { - left: 41.66666667%; - } - .col-sm-push-4 { - left: 33.33333333%; - } - .col-sm-push-3 { - left: 25%; - } - .col-sm-push-2 { - left: 16.66666667%; - } - .col-sm-push-1 { - left: 8.33333333%; - } - .col-sm-offset-12 { - margin-left: 100%; - } - .col-sm-offset-11 { - margin-left: 91.66666667%; - } - .col-sm-offset-10 { - margin-left: 83.33333333%; - } - .col-sm-offset-9 { - margin-left: 75%; - } - .col-sm-offset-8 { - margin-left: 66.66666667%; - } - .col-sm-offset-7 { - margin-left: 58.33333333%; - } - .col-sm-offset-6 { - margin-left: 50%; - } - .col-sm-offset-5 { - margin-left: 41.66666667%; - } - .col-sm-offset-4 { - margin-left: 33.33333333%; - } - .col-sm-offset-3 { - margin-left: 25%; - } - .col-sm-offset-2 { - margin-left: 16.66666667%; - } - .col-sm-offset-1 { - margin-left: 8.33333333%; - } -} -@media (min-width: 992px) { - .container { - width: 970px; - } - .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11 { - float: left; - } - .col-md-12 { - width: 100%; - } - .col-md-11 { - width: 91.66666667%; - } - .col-md-10 { - width: 83.33333333%; - } - .col-md-9 { - width: 75%; - } - .col-md-8 { - width: 66.66666667%; - } - .col-md-7 { - width: 58.33333333%; - } - .col-md-6 { - width: 50%; - } - .col-md-5 { - width: 41.66666667%; - } - .col-md-4 { - width: 33.33333333%; - } - .col-md-3 { - width: 25%; - } - .col-md-2 { - width: 16.66666667%; - } - .col-md-1 { - width: 8.33333333%; - } - .col-md-pull-12 { - right: 100%; - } - .col-md-pull-11 { - right: 91.66666667%; - } - .col-md-pull-10 { - right: 83.33333333%; - } - .col-md-pull-9 { - right: 75%; - } - .col-md-pull-8 { - right: 66.66666667%; - } - .col-md-pull-7 { - right: 58.33333333%; - } - .col-md-pull-6 { - right: 50%; - } - .col-md-pull-5 { - right: 41.66666667%; - } - .col-md-pull-4 { - right: 33.33333333%; - } - .col-md-pull-3 { - right: 25%; - } - .col-md-pull-2 { - right: 16.66666667%; - } - .col-md-pull-1 { - right: 8.33333333%; - } - .col-md-push-12 { - left: 100%; - } - .col-md-push-11 { - left: 91.66666667%; - } - .col-md-push-10 { - left: 83.33333333%; - } - .col-md-push-9 { - left: 75%; - } - .col-md-push-8 { - left: 66.66666667%; - } - .col-md-push-7 { - left: 58.33333333%; - } - .col-md-push-6 { - left: 50%; - } - .col-md-push-5 { - left: 41.66666667%; - } - .col-md-push-4 { - left: 33.33333333%; - } - .col-md-push-3 { - left: 25%; - } - .col-md-push-2 { - left: 16.66666667%; - } - .col-md-push-1 { - left: 8.33333333%; - } - .col-md-offset-12 { - margin-left: 100%; - } - .col-md-offset-11 { - margin-left: 91.66666667%; - } - .col-md-offset-10 { - margin-left: 83.33333333%; - } - .col-md-offset-9 { - margin-left: 75%; - } - .col-md-offset-8 { - margin-left: 66.66666667%; - } - .col-md-offset-7 { - margin-left: 58.33333333%; - } - .col-md-offset-6 { - margin-left: 50%; - } - .col-md-offset-5 { - margin-left: 41.66666667%; - } - .col-md-offset-4 { - margin-left: 33.33333333%; - } - .col-md-offset-3 { - margin-left: 25%; - } - .col-md-offset-2 { - margin-left: 16.66666667%; - } - .col-md-offset-1 { - margin-left: 8.33333333%; - } -} -@media (min-width: 1200px) { - .container { - width: 1170px; - } - .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11 { - float: left; - } - .col-lg-12 { - width: 100%; - } - .col-lg-11 { - width: 91.66666667%; - } - .col-lg-10 { - width: 83.33333333%; - } - .col-lg-9 { - width: 75%; - } - .col-lg-8 { - width: 66.66666667%; - } - .col-lg-7 { - width: 58.33333333%; - } - .col-lg-6 { - width: 50%; - } - .col-lg-5 { - width: 41.66666667%; - } - .col-lg-4 { - width: 33.33333333%; - } - .col-lg-3 { - width: 25%; - } - .col-lg-2 { - width: 16.66666667%; - } - .col-lg-1 { - width: 8.33333333%; - } - .col-lg-pull-12 { - right: 100%; - } - .col-lg-pull-11 { - right: 91.66666667%; - } - .col-lg-pull-10 { - right: 83.33333333%; - } - .col-lg-pull-9 { - right: 75%; - } - .col-lg-pull-8 { - right: 66.66666667%; - } - .col-lg-pull-7 { - right: 58.33333333%; - } - .col-lg-pull-6 { - right: 50%; - } - .col-lg-pull-5 { - right: 41.66666667%; - } - .col-lg-pull-4 { - right: 33.33333333%; - } - .col-lg-pull-3 { - right: 25%; - } - .col-lg-pull-2 { - right: 16.66666667%; - } - .col-lg-pull-1 { - right: 8.33333333%; - } - .col-lg-push-12 { - left: 100%; - } - .col-lg-push-11 { - left: 91.66666667%; - } - .col-lg-push-10 { - left: 83.33333333%; - } - .col-lg-push-9 { - left: 75%; - } - .col-lg-push-8 { - left: 66.66666667%; - } - .col-lg-push-7 { - left: 58.33333333%; - } - .col-lg-push-6 { - left: 50%; - } - .col-lg-push-5 { - left: 41.66666667%; - } - .col-lg-push-4 { - left: 33.33333333%; - } - .col-lg-push-3 { - left: 25%; - } - .col-lg-push-2 { - left: 16.66666667%; - } - .col-lg-push-1 { - left: 8.33333333%; - } - .col-lg-offset-12 { - margin-left: 100%; - } - .col-lg-offset-11 { - margin-left: 91.66666667%; - } - .col-lg-offset-10 { - margin-left: 83.33333333%; - } - .col-lg-offset-9 { - margin-left: 75%; - } - .col-lg-offset-8 { - margin-left: 66.66666667%; - } - .col-lg-offset-7 { - margin-left: 58.33333333%; - } - .col-lg-offset-6 { - margin-left: 50%; - } - .col-lg-offset-5 { - margin-left: 41.66666667%; - } - .col-lg-offset-4 { - margin-left: 33.33333333%; - } - .col-lg-offset-3 { - margin-left: 25%; - } - .col-lg-offset-2 { - margin-left: 16.66666667%; - } - .col-lg-offset-1 { - margin-left: 8.33333333%; - } -} -table { - max-width: 100%; - background-color: transparent; -} -th { - text-align: left; -} -.table { - width: 100%; - margin-bottom: 20px; -} -.table > thead > tr > th, -.table > tbody > tr > th, -.table > tfoot > tr > th, -.table > thead > tr > td, -.table > tbody > tr > td, -.table > tfoot > tr > td { - padding: 8px; - line-height: 1.42857143; - vertical-align: top; - border-top: 1px solid #dddddd; -} -.table > thead > tr > th { - vertical-align: bottom; - border-bottom: 2px solid #dddddd; -} -.table > caption + thead > tr:first-child > th, -.table > colgroup + thead > tr:first-child > th, -.table > thead:first-child > tr:first-child > th, -.table > caption + thead > tr:first-child > td, -.table > colgroup + thead > tr:first-child > td, -.table > thead:first-child > tr:first-child > td { - border-top: 0; -} -.table > tbody + tbody { - border-top: 2px solid #dddddd; -} -.table .table { - background-color: #ffffff; -} -.table-condensed > thead > tr > th, -.table-condensed > tbody > tr > th, -.table-condensed > tfoot > tr > th, -.table-condensed > thead > tr > td, -.table-condensed > tbody > tr > td, -.table-condensed > tfoot > tr > td { - padding: 5px; -} -.table-bordered { - border: 1px solid #dddddd; -} -.table-bordered > thead > tr > th, -.table-bordered > tbody > tr > th, -.table-bordered > tfoot > tr > th, -.table-bordered > thead > tr > td, -.table-bordered > tbody > tr > td, -.table-bordered > tfoot > tr > td { - border: 1px solid #dddddd; -} -.table-bordered > thead > tr > th, -.table-bordered > thead > tr > td { - border-bottom-width: 2px; -} -.table-striped > tbody > tr:nth-child(odd) > td, -.table-striped > tbody > tr:nth-child(odd) > th { - background-color: #f9f9f9; -} -.table-hover > tbody > tr:hover > td, -.table-hover > tbody > tr:hover > th { - background-color: #f5f5f5; -} -table col[class*="col-"] { - float: none; - display: table-column; -} -table td[class*="col-"], -table th[class*="col-"] { - float: none; - display: table-cell; -} -.table > thead > tr > td.active, -.table > tbody > tr > td.active, -.table > tfoot > tr > td.active, -.table > thead > tr > th.active, -.table > tbody > tr > th.active, -.table > tfoot > tr > th.active, -.table > thead > tr.active > td, -.table > tbody > tr.active > td, -.table > tfoot > tr.active > td, -.table > thead > tr.active > th, -.table > tbody > tr.active > th, -.table > tfoot > tr.active > th { - background-color: #f5f5f5; -} -.table > thead > tr > td.success, -.table > tbody > tr > td.success, -.table > tfoot > tr > td.success, -.table > thead > tr > th.success, -.table > tbody > tr > th.success, -.table > tfoot > tr > th.success, -.table > thead > tr.success > td, -.table > tbody > tr.success > td, -.table > tfoot > tr.success > td, -.table > thead > tr.success > th, -.table > tbody > tr.success > th, -.table > tfoot > tr.success > th { - background-color: #dff0d8; - border-color: #d6e9c6; -} -.table-hover > tbody > tr > td.success:hover, -.table-hover > tbody > tr > th.success:hover, -.table-hover > tbody > tr.success:hover > td, -.table-hover > tbody > tr.success:hover > th { - background-color: #d0e9c6; - border-color: #c9e2b3; -} -.table > thead > tr > td.danger, -.table > tbody > tr > td.danger, -.table > tfoot > tr > td.danger, -.table > thead > tr > th.danger, -.table > tbody > tr > th.danger, -.table > tfoot > tr > th.danger, -.table > thead > tr.danger > td, -.table > tbody > tr.danger > td, -.table > tfoot > tr.danger > td, -.table > thead > tr.danger > th, -.table > tbody > tr.danger > th, -.table > tfoot > tr.danger > th { - background-color: #f2dede; - border-color: #ebccd1; -} -.table-hover > tbody > tr > td.danger:hover, -.table-hover > tbody > tr > th.danger:hover, -.table-hover > tbody > tr.danger:hover > td, -.table-hover > tbody > tr.danger:hover > th { - background-color: #ebcccc; - border-color: #e4b9c0; -} -.table > thead > tr > td.warning, -.table > tbody > tr > td.warning, -.table > tfoot > tr > td.warning, -.table > thead > tr > th.warning, -.table > tbody > tr > th.warning, -.table > tfoot > tr > th.warning, -.table > thead > tr.warning > td, -.table > tbody > tr.warning > td, -.table > tfoot > tr.warning > td, -.table > thead > tr.warning > th, -.table > tbody > tr.warning > th, -.table > tfoot > tr.warning > th { - background-color: #fcf8e3; - border-color: #faebcc; -} -.table-hover > tbody > tr > td.warning:hover, -.table-hover > tbody > tr > th.warning:hover, -.table-hover > tbody > tr.warning:hover > td, -.table-hover > tbody > tr.warning:hover > th { - background-color: #faf2cc; - border-color: #f7e1b5; -} -@media (max-width: 767px) { - .table-responsive { - width: 100%; - margin-bottom: 15px; - overflow-y: hidden; - overflow-x: scroll; - -ms-overflow-style: -ms-autohiding-scrollbar; - border: 1px solid #dddddd; - -webkit-overflow-scrolling: touch; - } - .table-responsive > .table { - margin-bottom: 0; - } - .table-responsive > .table > thead > tr > th, - .table-responsive > .table > tbody > tr > th, - .table-responsive > .table > tfoot > tr > th, - .table-responsive > .table > thead > tr > td, - .table-responsive > .table > tbody > tr > td, - .table-responsive > .table > tfoot > tr > td { - white-space: nowrap; - } - .table-responsive > .table-bordered { - border: 0; - } - .table-responsive > .table-bordered > thead > tr > th:first-child, - .table-responsive > .table-bordered > tbody > tr > th:first-child, - .table-responsive > .table-bordered > tfoot > tr > th:first-child, - .table-responsive > .table-bordered > thead > tr > td:first-child, - .table-responsive > .table-bordered > tbody > tr > td:first-child, - .table-responsive > .table-bordered > tfoot > tr > td:first-child { - border-left: 0; - } - .table-responsive > .table-bordered > thead > tr > th:last-child, - .table-responsive > .table-bordered > tbody > tr > th:last-child, - .table-responsive > .table-bordered > tfoot > tr > th:last-child, - .table-responsive > .table-bordered > thead > tr > td:last-child, - .table-responsive > .table-bordered > tbody > tr > td:last-child, - .table-responsive > .table-bordered > tfoot > tr > td:last-child { - border-right: 0; - } - .table-responsive > .table-bordered > tbody > tr:last-child > th, - .table-responsive > .table-bordered > tfoot > tr:last-child > th, - .table-responsive > .table-bordered > tbody > tr:last-child > td, - .table-responsive > .table-bordered > tfoot > tr:last-child > td { - border-bottom: 0; - } -} -fieldset { - padding: 0; - margin: 0; - border: 0; -} -legend { - display: block; - width: 100%; - padding: 0; - margin-bottom: 20px; - font-size: 21px; - line-height: inherit; - color: #333333; - border: 0; - border-bottom: 1px solid #e5e5e5; -} -label { - display: inline-block; - margin-bottom: 5px; - font-weight: bold; -} -input[type="search"] { - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; -} -input[type="radio"], -input[type="checkbox"] { - margin: 4px 0 0; - margin-top: 1px \9; - /* IE8-9 */ - line-height: normal; -} -input[type="file"] { - display: block; -} -select[multiple], -select[size] { - height: auto; -} -select optgroup { - font-size: inherit; - font-style: inherit; - font-family: inherit; -} -input[type="file"]:focus, -input[type="radio"]:focus, -input[type="checkbox"]:focus { - outline: thin dotted #333; - outline: 5px auto -webkit-focus-ring-color; - outline-offset: -2px; -} -input[type="number"]::-webkit-outer-spin-button, -input[type="number"]::-webkit-inner-spin-button { - height: auto; -} -output { - display: block; - padding-top: 7px; - font-size: 14px; - line-height: 1.42857143; - color: #555555; - vertical-align: middle; -} -.form-control:-moz-placeholder { - color: #999999; -} -.form-control::-moz-placeholder { - color: #999999; -} -.form-control:-ms-input-placeholder { - color: #999999; -} -.form-control::-webkit-input-placeholder { - color: #999999; -} -.form-control { - display: block; - width: 100%; - height: 34px; - padding: 6px 12px; - font-size: 14px; - line-height: 1.42857143; - color: #555555; - vertical-align: middle; - background-color: #ffffff; - background-image: none; - border: 1px solid #cccccc; - border-radius: 4px; - -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); - box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); - -webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; - transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; -} -.form-control:focus { - border-color: #66afe9; - outline: 0; - -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6); - box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6); -} -.form-control[disabled], -.form-control[readonly], -fieldset[disabled] .form-control { - cursor: not-allowed; - background-color: #eeeeee; -} -textarea.form-control { - height: auto; -} -.form-group { - margin-bottom: 15px; -} -.radio, -.checkbox { - display: block; - min-height: 20px; - margin-top: 10px; - margin-bottom: 10px; - padding-left: 20px; - vertical-align: middle; -} -.radio label, -.checkbox label { - display: inline; - margin-bottom: 0; - font-weight: normal; - cursor: pointer; -} -.radio input[type="radio"], -.radio-inline input[type="radio"], -.checkbox input[type="checkbox"], -.checkbox-inline input[type="checkbox"] { - float: left; - margin-left: -20px; -} -.radio + .radio, -.checkbox + .checkbox { - margin-top: -5px; -} -.radio-inline, -.checkbox-inline { - display: inline-block; - padding-left: 20px; - margin-bottom: 0; - vertical-align: middle; - font-weight: normal; - cursor: pointer; -} -.radio-inline + .radio-inline, -.checkbox-inline + .checkbox-inline { - margin-top: 0; - margin-left: 10px; -} -input[type="radio"][disabled], -input[type="checkbox"][disabled], -.radio[disabled], -.radio-inline[disabled], -.checkbox[disabled], -.checkbox-inline[disabled], -fieldset[disabled] input[type="radio"], -fieldset[disabled] input[type="checkbox"], -fieldset[disabled] .radio, -fieldset[disabled] .radio-inline, -fieldset[disabled] .checkbox, -fieldset[disabled] .checkbox-inline { - cursor: not-allowed; -} -.input-sm { - height: 30px; - padding: 5px 10px; - font-size: 12px; - line-height: 1.5; - border-radius: 3px; -} -select.input-sm { - height: 30px; - line-height: 30px; -} -textarea.input-sm { - height: auto; -} -.input-lg { - height: 45px; - padding: 10px 16px; - font-size: 18px; - line-height: 1.33; - border-radius: 6px; -} -select.input-lg { - height: 45px; - line-height: 45px; -} -textarea.input-lg { - height: auto; -} -.has-warning .help-block, -.has-warning .control-label { - color: #c09853; -} -.has-warning .form-control { - border-color: #c09853; - -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); - box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); -} -.has-warning .form-control:focus { - border-color: #a47e3c; - -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #dbc59e; - box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #dbc59e; -} -.has-warning .input-group-addon { - color: #c09853; - border-color: #c09853; - background-color: #fcf8e3; -} -.has-error .help-block, -.has-error .control-label { - color: #b94a48; -} -.has-error .form-control { - border-color: #b94a48; - -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); - box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); -} -.has-error .form-control:focus { - border-color: #953b39; - -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #d59392; - box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #d59392; -} -.has-error .input-group-addon { - color: #b94a48; - border-color: #b94a48; - background-color: #f2dede; -} -.has-success .help-block, -.has-success .control-label { - color: #468847; -} -.has-success .form-control { - border-color: #468847; - -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); - box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); -} -.has-success .form-control:focus { - border-color: #356635; - -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7aba7b; - box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7aba7b; -} -.has-success .input-group-addon { - color: #468847; - border-color: #468847; - background-color: #dff0d8; -} -.form-control-static { - margin-bottom: 0; -} -.help-block { - display: block; - margin-top: 5px; - margin-bottom: 10px; - color: #737373; -} -@media (min-width: 768px) { - .form-inline .form-group { - display: inline-block; - margin-bottom: 0; - vertical-align: middle; - } - .form-inline .form-control { - display: inline-block; - } - .form-inline .radio, - .form-inline .checkbox { - display: inline-block; - margin-top: 0; - margin-bottom: 0; - padding-left: 0; - } - .form-inline .radio input[type="radio"], - .form-inline .checkbox input[type="checkbox"] { - float: none; - margin-left: 0; - } -} -.form-horizontal .control-label, -.form-horizontal .radio, -.form-horizontal .checkbox, -.form-horizontal .radio-inline, -.form-horizontal .checkbox-inline { - margin-top: 0; - margin-bottom: 0; - padding-top: 7px; -} -.form-horizontal .form-group { - margin-left: -15px; - margin-right: -15px; -} -.form-horizontal .form-group:before, -.form-horizontal .form-group:after { - content: " "; - /* 1 */ - display: table; - /* 2 */ -} -.form-horizontal .form-group:after { - clear: both; -} -.form-horizontal .form-group:before, -.form-horizontal .form-group:after { - content: " "; - /* 1 */ - display: table; - /* 2 */ -} -.form-horizontal .form-group:after { - clear: both; -} -.form-horizontal .form-control-static { - padding-top: 7px; -} -@media (min-width: 768px) { - .form-horizontal .control-label { - text-align: right; - } -} -.btn { - display: inline-block; - margin-bottom: 0; - font-weight: normal; - text-align: center; - vertical-align: middle; - cursor: pointer; - background-image: none; - border: 1px solid transparent; - white-space: nowrap; - padding: 6px 12px; - font-size: 14px; - line-height: 1.42857143; - border-radius: 4px; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.btn:focus { - outline: thin dotted #333; - outline: 5px auto -webkit-focus-ring-color; - outline-offset: -2px; -} -.btn:hover, -.btn:focus { - color: #333333; - text-decoration: none; -} -.btn:active, -.btn.active { - outline: 0; - background-image: none; - -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); - box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); -} -.btn.disabled, -.btn[disabled], -fieldset[disabled] .btn { - cursor: not-allowed; - pointer-events: none; - opacity: 0.65; - filter: alpha(opacity=65); - -webkit-box-shadow: none; - box-shadow: none; -} -.btn-default { - color: #333333; - background-color: #ffffff; - border-color: #cccccc; -} -.btn-default:hover, -.btn-default:focus, -.btn-default:active, -.btn-default.active, -.open .dropdown-toggle.btn-default { - color: #333333; - background-color: #ebebeb; - border-color: #adadad; -} -.btn-default:active, -.btn-default.active, -.open .dropdown-toggle.btn-default { - background-image: none; -} -.btn-default.disabled, -.btn-default[disabled], -fieldset[disabled] .btn-default, -.btn-default.disabled:hover, -.btn-default[disabled]:hover, -fieldset[disabled] .btn-default:hover, -.btn-default.disabled:focus, -.btn-default[disabled]:focus, -fieldset[disabled] .btn-default:focus, -.btn-default.disabled:active, -.btn-default[disabled]:active, -fieldset[disabled] .btn-default:active, -.btn-default.disabled.active, -.btn-default[disabled].active, -fieldset[disabled] .btn-default.active { - background-color: #ffffff; - border-color: #cccccc; -} -.btn-primary { - color: #ffffff; - background-color: #bb0000; - border-color: #357ebd; -} -.btn-primary:hover, -.btn-primary:focus, -.btn-primary:active, -.btn-primary.active, -.open .dropdown-toggle.btn-primary { - color: #ffffff; - background-color: #3276b1; - border-color: #285e8e; -} -.btn-primary:active, -.btn-primary.active, -.open .dropdown-toggle.btn-primary { - background-image: none; -} -.btn-primary.disabled, -.btn-primary[disabled], -fieldset[disabled] .btn-primary, -.btn-primary.disabled:hover, -.btn-primary[disabled]:hover, -fieldset[disabled] .btn-primary:hover, -.btn-primary.disabled:focus, -.btn-primary[disabled]:focus, -fieldset[disabled] .btn-primary:focus, -.btn-primary.disabled:active, -.btn-primary[disabled]:active, -fieldset[disabled] .btn-primary:active, -.btn-primary.disabled.active, -.btn-primary[disabled].active, -fieldset[disabled] .btn-primary.active { - background-color: #bb0000; - border-color: #357ebd; -} -.btn-warning { - color: #ffffff; - background-color: #f0ad4e; - border-color: #eea236; -} -.btn-warning:hover, -.btn-warning:focus, -.btn-warning:active, -.btn-warning.active, -.open .dropdown-toggle.btn-warning { - color: #ffffff; - background-color: #ed9c28; - border-color: #d58512; -} -.btn-warning:active, -.btn-warning.active, -.open .dropdown-toggle.btn-warning { - background-image: none; -} -.btn-warning.disabled, -.btn-warning[disabled], -fieldset[disabled] .btn-warning, -.btn-warning.disabled:hover, -.btn-warning[disabled]:hover, -fieldset[disabled] .btn-warning:hover, -.btn-warning.disabled:focus, -.btn-warning[disabled]:focus, -fieldset[disabled] .btn-warning:focus, -.btn-warning.disabled:active, -.btn-warning[disabled]:active, -fieldset[disabled] .btn-warning:active, -.btn-warning.disabled.active, -.btn-warning[disabled].active, -fieldset[disabled] .btn-warning.active { - background-color: #f0ad4e; - border-color: #eea236; -} -.btn-danger { - color: #ffffff; - background-color: #d9534f; - border-color: #d43f3a; -} -.btn-danger:hover, -.btn-danger:focus, -.btn-danger:active, -.btn-danger.active, -.open .dropdown-toggle.btn-danger { - color: #ffffff; - background-color: #d2322d; - border-color: #ac2925; -} -.btn-danger:active, -.btn-danger.active, -.open .dropdown-toggle.btn-danger { - background-image: none; -} -.btn-danger.disabled, -.btn-danger[disabled], -fieldset[disabled] .btn-danger, -.btn-danger.disabled:hover, -.btn-danger[disabled]:hover, -fieldset[disabled] .btn-danger:hover, -.btn-danger.disabled:focus, -.btn-danger[disabled]:focus, -fieldset[disabled] .btn-danger:focus, -.btn-danger.disabled:active, -.btn-danger[disabled]:active, -fieldset[disabled] .btn-danger:active, -.btn-danger.disabled.active, -.btn-danger[disabled].active, -fieldset[disabled] .btn-danger.active { - background-color: #d9534f; - border-color: #d43f3a; -} -.btn-success { - color: #ffffff; - background-color: #5cb85c; - border-color: #4cae4c; -} -.btn-success:hover, -.btn-success:focus, -.btn-success:active, -.btn-success.active, -.open .dropdown-toggle.btn-success { - color: #ffffff; - background-color: #47a447; - border-color: #398439; -} -.btn-success:active, -.btn-success.active, -.open .dropdown-toggle.btn-success { - background-image: none; -} -.btn-success.disabled, -.btn-success[disabled], -fieldset[disabled] .btn-success, -.btn-success.disabled:hover, -.btn-success[disabled]:hover, -fieldset[disabled] .btn-success:hover, -.btn-success.disabled:focus, -.btn-success[disabled]:focus, -fieldset[disabled] .btn-success:focus, -.btn-success.disabled:active, -.btn-success[disabled]:active, -fieldset[disabled] .btn-success:active, -.btn-success.disabled.active, -.btn-success[disabled].active, -fieldset[disabled] .btn-success.active { - background-color: #5cb85c; - border-color: #4cae4c; -} -.btn-info { - color: #ffffff; - background-color: #5bc0de; - border-color: #46b8da; -} -.btn-info:hover, -.btn-info:focus, -.btn-info:active, -.btn-info.active, -.open .dropdown-toggle.btn-info { - color: #ffffff; - background-color: #39b3d7; - border-color: #269abc; -} -.btn-info:active, -.btn-info.active, -.open .dropdown-toggle.btn-info { - background-image: none; -} -.btn-info.disabled, -.btn-info[disabled], -fieldset[disabled] .btn-info, -.btn-info.disabled:hover, -.btn-info[disabled]:hover, -fieldset[disabled] .btn-info:hover, -.btn-info.disabled:focus, -.btn-info[disabled]:focus, -fieldset[disabled] .btn-info:focus, -.btn-info.disabled:active, -.btn-info[disabled]:active, -fieldset[disabled] .btn-info:active, -.btn-info.disabled.active, -.btn-info[disabled].active, -fieldset[disabled] .btn-info.active { - background-color: #5bc0de; - border-color: #46b8da; -} -.btn-link { - color: #bb0000; - font-weight: normal; - cursor: pointer; - border-radius: 0; -} -.btn-link, -.btn-link:active, -.btn-link[disabled], -fieldset[disabled] .btn-link { - background-color: transparent; - -webkit-box-shadow: none; - box-shadow: none; -} -.btn-link, -.btn-link:hover, -.btn-link:focus, -.btn-link:active { - border-color: transparent; -} -.btn-link:hover, -.btn-link:focus { - color: #555555; - text-decoration: underline; - background-color: transparent; -} -.btn-link[disabled]:hover, -fieldset[disabled] .btn-link:hover, -.btn-link[disabled]:focus, -fieldset[disabled] .btn-link:focus { - color: #999999; - text-decoration: none; -} -.btn-lg { - padding: 10px 16px; - font-size: 18px; - line-height: 1.33; - border-radius: 6px; -} -.btn-sm, -.btn-xs { - padding: 5px 10px; - font-size: 12px; - line-height: 1.5; - border-radius: 3px; -} -.btn-xs { - padding: 1px 5px; -} -.btn-block { - display: block; - width: 100%; - padding-left: 0; - padding-right: 0; -} -.btn-block + .btn-block { - margin-top: 5px; -} -input[type="submit"].btn-block, -input[type="reset"].btn-block, -input[type="button"].btn-block { - width: 100%; -} -.fade { - opacity: 0; - -webkit-transition: opacity 0.15s linear; - transition: opacity 0.15s linear; -} -.fade.in { - opacity: 1; -} -.collapse { - display: none; -} -.collapse.in { - display: block; -} -.collapsing { - position: relative; - height: 0; - overflow: hidden; - -webkit-transition: height 0.35s ease; - transition: height 0.35s ease; -} -.caret { - display: inline-block; - width: 0; - height: 0; - margin-left: 2px; - vertical-align: middle; - border-top: 4px solid #000000; - border-right: 4px solid transparent; - border-left: 4px solid transparent; - border-bottom: 0 dotted; -} -.dropdown { - position: relative; -} -.dropdown-toggle:focus { - outline: 0; -} -.dropdown-menu { - position: absolute; - top: 100%; - left: 0; - z-index: 1000; - display: none; - float: left; - min-width: 160px; - padding: 5px 0; - margin: 2px 0 0; - list-style: none; - font-size: 14px; - background-color: #ffffff; - border: 1px solid #cccccc; - border: 1px solid rgba(0, 0, 0, 0.15); - border-radius: 4px; - -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); - box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); - background-clip: padding-box; -} -.dropdown-menu.pull-right { - right: 0; - left: auto; -} -.dropdown-menu .divider { - height: 1px; - margin: 9px 0; - overflow: hidden; - background-color: #e5e5e5; -} -.dropdown-menu > li > a { - display: block; - padding: 3px 20px; - clear: both; - font-weight: normal; - line-height: 1.42857143; - color: #333333; - white-space: nowrap; -} -.dropdown-menu > li > a:hover, -.dropdown-menu > li > a:focus { - text-decoration: none; - color: #262626; - background-color: #f5f5f5; -} -.dropdown-menu > .active > a, -.dropdown-menu > .active > a:hover, -.dropdown-menu > .active > a:focus { - color: #ffffff; - text-decoration: none; - outline: 0; - background-color: #bb0000; -} -.dropdown-menu > .disabled > a, -.dropdown-menu > .disabled > a:hover, -.dropdown-menu > .disabled > a:focus { - color: #999999; -} -.dropdown-menu > .disabled > a:hover, -.dropdown-menu > .disabled > a:focus { - text-decoration: none; - background-color: transparent; - background-image: none; - filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); - cursor: not-allowed; -} -.open > .dropdown-menu { - display: block; -} -.open > a { - outline: 0; -} -.dropdown-header { - display: block; - padding: 3px 20px; - font-size: 12px; - line-height: 1.42857143; - color: #999999; -} -.dropdown-backdrop { - position: fixed; - left: 0; - right: 0; - bottom: 0; - top: 0; - z-index: 990; -} -.pull-right > .dropdown-menu { - right: 0; - left: auto; -} -.dropup .caret, -.navbar-fixed-bottom .dropdown .caret { - border-top: 0 dotted; - border-bottom: 4px solid #000000; - content: ""; -} -.dropup .dropdown-menu, -.navbar-fixed-bottom .dropdown .dropdown-menu { - top: auto; - bottom: 100%; - margin-bottom: 1px; -} -@media (min-width: 768px) { - .navbar-right .dropdown-menu { - right: 0; - left: auto; - } -} -.nav { - margin-bottom: 0; - padding-left: 0; - list-style: none; -} -.nav:before, -.nav:after { - content: " "; - /* 1 */ - display: table; - /* 2 */ -} -.nav:after { - clear: both; -} -.nav:before, -.nav:after { - content: " "; - /* 1 */ - display: table; - /* 2 */ -} -.nav:after { - clear: both; -} -.nav > li { - position: relative; - display: block; -} -.nav > li > a { - position: relative; - display: block; - padding: 10px 15px; -} -.nav > li > a:hover, -.nav > li > a:focus { - text-decoration: none; - background-color: #eeeeee; -} -.nav > li.disabled > a { - color: #999999; -} -.nav > li.disabled > a:hover, -.nav > li.disabled > a:focus { - color: #999999; - text-decoration: none; - background-color: transparent; - cursor: not-allowed; -} -.nav .open > a, -.nav .open > a:hover, -.nav .open > a:focus { - background-color: #eeeeee; - border-color: #bb0000; -} -.nav .open > a .caret, -.nav .open > a:hover .caret, -.nav .open > a:focus .caret { - border-top-color: #555555; - border-bottom-color: #555555; -} -.nav .nav-divider { - height: 1px; - margin: 9px 0; - overflow: hidden; - background-color: #e5e5e5; -} -.nav > li > a > img { - max-width: none; -} -.nav-tabs { - border-bottom: 1px solid #dddddd; -} -.nav-tabs > li { - float: left; - margin-bottom: -1px; -} -.nav-tabs > li > a { - margin-right: 2px; - line-height: 1.42857143; - border: 1px solid transparent; - border-radius: 4px 4px 0 0; -} -.nav-tabs > li > a:hover { - border-color: #eeeeee #eeeeee #dddddd; -} -.nav-tabs > li.active > a, -.nav-tabs > li.active > a:hover, -.nav-tabs > li.active > a:focus { - color: #555555; - background-color: #ffffff; - border: 1px solid #dddddd; - border-bottom-color: transparent; - cursor: default; -} -.nav-tabs.nav-justified { - width: 100%; - border-bottom: 0; -} -.nav-tabs.nav-justified > li { - float: none; -} -.nav-tabs.nav-justified > li > a { - text-align: center; - margin-bottom: 5px; -} -@media (min-width: 768px) { - .nav-tabs.nav-justified > li { - display: table-cell; - width: 1%; - } - .nav-tabs.nav-justified > li > a { - margin-bottom: 0; - } -} -.nav-tabs.nav-justified > li > a { - margin-right: 0; - border-radius: 4px; -} -.nav-tabs.nav-justified > .active > a, -.nav-tabs.nav-justified > .active > a:hover, -.nav-tabs.nav-justified > .active > a:focus { - border: 1px solid #dddddd; -} -@media (min-width: 768px) { - .nav-tabs.nav-justified > li > a { - border-bottom: 1px solid #dddddd; - border-radius: 4px 4px 0 0; - } - .nav-tabs.nav-justified > .active > a, - .nav-tabs.nav-justified > .active > a:hover, - .nav-tabs.nav-justified > .active > a:focus { - border-bottom-color: #ffffff; - } -} -.nav-pills > li { - float: left; -} -.nav-pills > li > a { - border-radius: 4px; -} -.nav-pills > li + li { - margin-left: 2px; -} -.nav-pills > li.active > a, -.nav-pills > li.active > a:hover, -.nav-pills > li.active > a:focus { - color: #ffffff; - background-color: #bb0000; -} -.nav-pills > li.active > a .caret, -.nav-pills > li.active > a:hover .caret, -.nav-pills > li.active > a:focus .caret { - border-top-color: #ffffff; - border-bottom-color: #ffffff; -} -.nav-stacked > li { - float: none; -} -.nav-stacked > li + li { - margin-top: 2px; - margin-left: 0; -} -.nav-justified { - width: 100%; -} -.nav-justified > li { - float: none; -} -.nav-justified > li > a { - text-align: center; - margin-bottom: 5px; -} -@media (min-width: 768px) { - .nav-justified > li { - display: table-cell; - width: 1%; - } - .nav-justified > li > a { - margin-bottom: 0; - } -} -.nav-tabs-justified { - border-bottom: 0; -} -.nav-tabs-justified > li > a { - margin-right: 0; - border-radius: 4px; -} -.nav-tabs-justified > .active > a, -.nav-tabs-justified > .active > a:hover, -.nav-tabs-justified > .active > a:focus { - border: 1px solid #dddddd; -} -@media (min-width: 768px) { - .nav-tabs-justified > li > a { - border-bottom: 1px solid #dddddd; - border-radius: 4px 4px 0 0; - } - .nav-tabs-justified > .active > a, - .nav-tabs-justified > .active > a:hover, - .nav-tabs-justified > .active > a:focus { - border-bottom-color: #ffffff; - } -} -.tab-content > .tab-pane { - display: none; -} -.tab-content > .active { - display: block; -} -.nav .caret { - border-top-color: #bb0000; - border-bottom-color: #bb0000; -} -.nav a:hover .caret { - border-top-color: #555555; - border-bottom-color: #555555; -} -.nav-tabs .dropdown-menu { - margin-top: -1px; - border-top-right-radius: 0; - border-top-left-radius: 0; -} -.navbar { - position: relative; - z-index: 1000; - min-height: 60px; - margin-bottom: 20px; - border: 1px solid transparent; -} -.navbar:before, -.navbar:after { - content: " "; - /* 1 */ - display: table; - /* 2 */ -} -.navbar:after { - clear: both; -} -.navbar:before, -.navbar:after { - content: " "; - /* 1 */ - display: table; - /* 2 */ -} -.navbar:after { - clear: both; -} -@media (min-width: 768px) { - .navbar { - border-radius: 4px; - } -} -.navbar-header:before, -.navbar-header:after { - content: " "; - /* 1 */ - display: table; - /* 2 */ -} -.navbar-header:after { - clear: both; -} -.navbar-header:before, -.navbar-header:after { - content: " "; - /* 1 */ - display: table; - /* 2 */ -} -.navbar-header:after { - clear: both; -} -@media (min-width: 768px) { - .navbar-header { - float: left; - } -} -.navbar-collapse { - max-height: 340px; - overflow-x: visible; - padding-right: 15px; - padding-left: 15px; - border-top: 1px solid transparent; - box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1); - -webkit-overflow-scrolling: touch; -} -.navbar-collapse:before, -.navbar-collapse:after { - content: " "; - /* 1 */ - display: table; - /* 2 */ -} -.navbar-collapse:after { - clear: both; -} -.navbar-collapse:before, -.navbar-collapse:after { - content: " "; - /* 1 */ - display: table; - /* 2 */ -} -.navbar-collapse:after { - clear: both; -} -.navbar-collapse.in { - overflow-y: auto; -} -@media (min-width: 768px) { - .navbar-collapse { - width: auto; - border-top: 0; - box-shadow: none; - } - .navbar-collapse.collapse { - display: block !important; - height: auto !important; - padding-bottom: 0; - overflow: visible !important; - } - .navbar-collapse.in { - overflow-y: visible; - } - .navbar-collapse .navbar-nav.navbar-left:first-child { - margin-left: -15px; - } - .navbar-collapse .navbar-nav.navbar-right:last-child { - margin-right: -15px; - } - .navbar-collapse .navbar-text:last-child { - margin-right: 0; - } -} -.container > .navbar-header, -.container > .navbar-collapse { - margin-right: -15px; - margin-left: -15px; -} -@media (min-width: 768px) { - .container > .navbar-header, - .container > .navbar-collapse { - margin-right: 0; - margin-left: 0; - } -} -.navbar-static-top { - border-width: 0 0 1px; -} -@media (min-width: 768px) { - .navbar-static-top { - border-radius: 0; - } -} -.navbar-fixed-top, -.navbar-fixed-bottom { - position: fixed; - right: 0; - left: 0; - border-width: 0 0 1px; -} -@media (min-width: 768px) { - .navbar-fixed-top, - .navbar-fixed-bottom { - border-radius: 0; - } -} -.navbar-fixed-top { - z-index: 1030; - top: 0; -} -.navbar-fixed-bottom { - bottom: 0; - margin-bottom: 0; -} -.navbar-brand { - float: left; - padding: 20px 15px; - font-size: 18px; - line-height: 20px; - outline: 0; -} -.navbar-brand:hover, -.navbar-brand:focus { - text-decoration: none; -} -@media (min-width: 768px) { - .navbar > .container .navbar-brand { - margin-left: -15px; - } -} -.navbar-toggle { - position: relative; - float: right; - margin-right: 15px; - padding: 9px 10px; - margin-top: 13px; - margin-bottom: 13px; - background-color: transparent; - border: 1px solid transparent; - border-radius: 4px; -} -.navbar-toggle .icon-bar { - display: block; - width: 22px; - height: 2px; - border-radius: 1px; -} -.navbar-toggle .icon-bar + .icon-bar { - margin-top: 4px; -} -@media (min-width: 768px) { - .navbar-toggle { - display: none; - } -} -.navbar-nav { - margin: 10px -15px; -} -.navbar-nav > li > a { - padding-top: 10px; - padding-bottom: 10px; - line-height: 20px; -} -@media (max-width: 767px) { - .navbar-nav .open .dropdown-menu { - position: static; - float: none; - width: auto; - margin-top: 0; - background-color: transparent; - border: 0; - box-shadow: none; - } - .navbar-nav .open .dropdown-menu > li > a, - .navbar-nav .open .dropdown-menu .dropdown-header { - padding: 5px 15px 5px 25px; - } - .navbar-nav .open .dropdown-menu > li > a { - line-height: 20px; - } - .navbar-nav .open .dropdown-menu > li > a:hover, - .navbar-nav .open .dropdown-menu > li > a:focus { - background-image: none; - } -} -@media (min-width: 768px) { - .navbar-nav { - float: left; - margin: 0; - } - .navbar-nav > li { - float: left; - } - .navbar-nav > li > a { - padding-top: 20px; - padding-bottom: 20px; - } -} -@media (min-width: 768px) { - .navbar-left { - float: left !important; - } - .navbar-right { - float: right !important; - } -} -.navbar-form { - margin-left: -15px; - margin-right: -15px; - padding: 10px 15px; - border-top: 1px solid transparent; - border-bottom: 1px solid transparent; - -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1); - box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1); - margin-top: 13px; - margin-bottom: 13px; -} -@media (min-width: 768px) { - .navbar-form .form-group { - display: inline-block; - margin-bottom: 0; - vertical-align: middle; - } - .navbar-form .form-control { - display: inline-block; - } - .navbar-form .radio, - .navbar-form .checkbox { - display: inline-block; - margin-top: 0; - margin-bottom: 0; - padding-left: 0; - } - .navbar-form .radio input[type="radio"], - .navbar-form .checkbox input[type="checkbox"] { - float: none; - margin-left: 0; - } -} -@media (max-width: 767px) { - .navbar-form .form-group { - margin-bottom: 5px; - } -} -@media (min-width: 768px) { - .navbar-form { - width: auto; - border: 0; - margin-left: 0; - margin-right: 0; - padding-top: 0; - padding-bottom: 0; - -webkit-box-shadow: none; - box-shadow: none; - } -} -.navbar-nav > li > .dropdown-menu { - margin-top: 0; - border-top-right-radius: 0; - border-top-left-radius: 0; -} -.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu { - border-bottom-right-radius: 0; - border-bottom-left-radius: 0; -} -.navbar-nav.pull-right > li > .dropdown-menu, -.navbar-nav > li > .dropdown-menu.pull-right { - left: auto; - right: 0; -} -.navbar-btn { - margin-top: 13px; - margin-bottom: 13px; -} -.navbar-text { - float: left; - margin-top: 20px; - margin-bottom: 20px; -} -@media (min-width: 768px) { - .navbar-text { - margin-left: 15px; - margin-right: 15px; - } -} -.navbar-default { - background-color: #f8f8f8; - border-color: #e7e7e7; -} -.navbar-default .navbar-brand { - color: #777777; -} -.navbar-default .navbar-brand:hover, -.navbar-default .navbar-brand:focus { - color: #5e5e5e; - background-color: transparent; -} -.navbar-default .navbar-text { - color: #777777; -} -.navbar-default .navbar-nav > li > a { - color: #777777; -} -.navbar-default .navbar-nav > li > a:hover, -.navbar-default .navbar-nav > li > a:focus { - color: #333333; - background-color: transparent; -} -.navbar-default .navbar-nav > .active > a, -.navbar-default .navbar-nav > .active > a:hover, -.navbar-default .navbar-nav > .active > a:focus { - color: #555555; - background-color: #e7e7e7; -} -.navbar-default .navbar-nav > .disabled > a, -.navbar-default .navbar-nav > .disabled > a:hover, -.navbar-default .navbar-nav > .disabled > a:focus { - color: #cccccc; - background-color: transparent; -} -.navbar-default .navbar-toggle { - border-color: #dddddd; -} -.navbar-default .navbar-toggle:hover, -.navbar-default .navbar-toggle:focus { - background-color: #dddddd; -} -.navbar-default .navbar-toggle .icon-bar { - background-color: #cccccc; -} -.navbar-default .navbar-collapse, -.navbar-default .navbar-form { - border-color: #e7e7e7; -} -.navbar-default .navbar-nav > .dropdown > a:hover .caret, -.navbar-default .navbar-nav > .dropdown > a:focus .caret { - border-top-color: #333333; - border-bottom-color: #333333; -} -.navbar-default .navbar-nav > .open > a, -.navbar-default .navbar-nav > .open > a:hover, -.navbar-default .navbar-nav > .open > a:focus { - background-color: #e7e7e7; - color: #555555; -} -.navbar-default .navbar-nav > .open > a .caret, -.navbar-default .navbar-nav > .open > a:hover .caret, -.navbar-default .navbar-nav > .open > a:focus .caret { - border-top-color: #555555; - border-bottom-color: #555555; -} -.navbar-default .navbar-nav > .dropdown > a .caret { - border-top-color: #777777; - border-bottom-color: #777777; -} -@media (max-width: 767px) { - .navbar-default .navbar-nav .open .dropdown-menu > li > a { - color: #777777; - } - .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover, - .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus { - color: #333333; - background-color: transparent; - } - .navbar-default .navbar-nav .open .dropdown-menu > .active > a, - .navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover, - .navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus { - color: #555555; - background-color: #e7e7e7; - } - .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a, - .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:hover, - .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:focus { - color: #cccccc; - background-color: transparent; - } -} -.navbar-default .navbar-link { - color: #777777; -} -.navbar-default .navbar-link:hover { - color: #333333; -} -.navbar-inverse { - background-color: #666666; - border-color: #222; -} -.navbar-inverse .navbar-brand { - color: #eee; -} -.navbar-inverse .navbar-brand:hover, -.navbar-inverse .navbar-brand:focus { - color: #ffffff; - background-color: transparent; -} -.navbar-inverse .navbar-text { - color: #eee; -} -.navbar-inverse .navbar-nav > li > a { - color: #eee; -} -.navbar-inverse .navbar-nav > li > a:hover, -.navbar-inverse .navbar-nav > li > a:focus { - color: #ffffff; - background-color: transparent; -} -.navbar-inverse .navbar-nav > .active > a, -.navbar-inverse .navbar-nav > .active > a:hover, -.navbar-inverse .navbar-nav > .active > a:focus { - color: #ffffff; - background-color: #222; -} -.navbar-inverse .navbar-nav > .disabled > a, -.navbar-inverse .navbar-nav > .disabled > a:hover, -.navbar-inverse .navbar-nav > .disabled > a:focus { - color: #444444; - background-color: transparent; -} -.navbar-inverse .navbar-toggle { - border-color: #333333; -} -.navbar-inverse .navbar-toggle:hover, -.navbar-inverse .navbar-toggle:focus { - background-color: #333333; -} -.navbar-inverse .navbar-toggle .icon-bar { - background-color: #ffffff; -} -.navbar-inverse .navbar-collapse, -.navbar-inverse .navbar-form { - border-color: #152642; -} -.navbar-inverse .navbar-nav > .open > a, -.navbar-inverse .navbar-nav > .open > a:hover, -.navbar-inverse .navbar-nav > .open > a:focus { - background-color: #222; - color: #ffffff; -} -.navbar-inverse .navbar-nav > .dropdown > a:hover .caret { - border-top-color: #ffffff; - border-bottom-color: #ffffff; -} -.navbar-inverse .navbar-nav > .dropdown > a .caret { - border-top-color: #eee; - border-bottom-color: #eee; -} -.navbar-inverse .navbar-nav > .open > a .caret, -.navbar-inverse .navbar-nav > .open > a:hover .caret, -.navbar-inverse .navbar-nav > .open > a:focus .caret { - border-top-color: #ffffff; - border-bottom-color: #ffffff; -} -@media (max-width: 767px) { - .navbar-inverse .navbar-nav .open .dropdown-menu > .dropdown-header { - border-color: #222; - } - .navbar-inverse .navbar-nav .open .dropdown-menu > li > a { - color: #eee; - } - .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover, - .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus { - color: #ffffff; - background-color: transparent; - } - .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a, - .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:hover, - .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:focus { - color: #ffffff; - background-color: #222; - } - .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a, - .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:hover, - .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:focus { - color: #444444; - background-color: transparent; - } -} -.navbar-inverse .navbar-link { - color: #eee; -} -.navbar-inverse .navbar-link:hover { - color: #ffffff; -} -.breadcrumb { - padding: 8px 15px; - margin-bottom: 20px; - list-style: none; - background-color: #f5f5f5; - border-radius: 4px; -} -.breadcrumb > li { - display: inline-block; -} -.breadcrumb > li + li:before { - content: "/\00a0"; - padding: 0 5px; - color: #cccccc; -} -.breadcrumb > .active { - color: #999999; -} -.pagination { - display: inline-block; - padding-left: 0; - margin: 20px 0; - border-radius: 4px; -} -.pagination > li { - display: inline; -} -.pagination > li > a, -.pagination > li > span { - position: relative; - float: left; - padding: 6px 12px; - line-height: 1.42857143; - text-decoration: none; - background-color: #ffffff; - border: 1px solid #dddddd; - margin-left: -1px; -} -.pagination > li:first-child > a, -.pagination > li:first-child > span { - margin-left: 0; - border-bottom-left-radius: 4px; - border-top-left-radius: 4px; -} -.pagination > li:last-child > a, -.pagination > li:last-child > span { - border-bottom-right-radius: 4px; - border-top-right-radius: 4px; -} -.pagination > li > a:hover, -.pagination > li > span:hover, -.pagination > li > a:focus, -.pagination > li > span:focus { - background-color: #eeeeee; -} -.pagination > .active > a, -.pagination > .active > span, -.pagination > .active > a:hover, -.pagination > .active > span:hover, -.pagination > .active > a:focus, -.pagination > .active > span:focus { - z-index: 2; - color: #ffffff; - background-color: #bb0000; - border-color: #bb0000; - cursor: default; -} -.pagination > .disabled > span, -.pagination > .disabled > span:hover, -.pagination > .disabled > span:focus, -.pagination > .disabled > a, -.pagination > .disabled > a:hover, -.pagination > .disabled > a:focus { - color: #999999; - background-color: #ffffff; - border-color: #dddddd; - cursor: not-allowed; -} -.pagination-lg > li > a, -.pagination-lg > li > span { - padding: 10px 16px; - font-size: 18px; -} -.pagination-lg > li:first-child > a, -.pagination-lg > li:first-child > span { - border-bottom-left-radius: 6px; - border-top-left-radius: 6px; -} -.pagination-lg > li:last-child > a, -.pagination-lg > li:last-child > span { - border-bottom-right-radius: 6px; - border-top-right-radius: 6px; -} -.pagination-sm > li > a, -.pagination-sm > li > span { - padding: 5px 10px; - font-size: 12px; -} -.pagination-sm > li:first-child > a, -.pagination-sm > li:first-child > span { - border-bottom-left-radius: 3px; - border-top-left-radius: 3px; -} -.pagination-sm > li:last-child > a, -.pagination-sm > li:last-child > span { - border-bottom-right-radius: 3px; - border-top-right-radius: 3px; -} -.pager { - padding-left: 0; - margin: 20px 0; - list-style: none; - text-align: center; -} -.pager:before, -.pager:after { - content: " "; - /* 1 */ - display: table; - /* 2 */ -} -.pager:after { - clear: both; -} -.pager:before, -.pager:after { - content: " "; - /* 1 */ - display: table; - /* 2 */ -} -.pager:after { - clear: both; -} -.pager li { - display: inline; -} -.pager li > a, -.pager li > span { - display: inline-block; - padding: 5px 14px; - background-color: #ffffff; - border: 1px solid #dddddd; - border-radius: 15px; -} -.pager li > a:hover, -.pager li > a:focus { - text-decoration: none; - background-color: #eeeeee; -} -.pager .next > a, -.pager .next > span { - float: right; -} -.pager .previous > a, -.pager .previous > span { - float: left; -} -.pager .disabled > a, -.pager .disabled > a:hover, -.pager .disabled > a:focus, -.pager .disabled > span { - color: #999999; - background-color: #ffffff; - cursor: not-allowed; -} -.label { - display: inline; - padding: .2em .6em .3em; - font-size: 75%; - font-weight: bold; - line-height: 1; - color: #ffffff; - text-align: center; - white-space: nowrap; - vertical-align: baseline; - border-radius: .25em; -} -.label[href]:hover, -.label[href]:focus { - color: #ffffff; - text-decoration: none; - cursor: pointer; -} -.label:empty { - display: none; -} -.label-default { - background-color: #999999; -} -.label-default[href]:hover, -.label-default[href]:focus { - background-color: #808080; -} -.label-primary { - background-color: #bb0000; -} -.label-primary[href]:hover, -.label-primary[href]:focus { - background-color: #3071a9; -} -.label-success { - background-color: #5cb85c; -} -.label-success[href]:hover, -.label-success[href]:focus { - background-color: #449d44; -} -.label-info { - background-color: #5bc0de; -} -.label-info[href]:hover, -.label-info[href]:focus { - background-color: #31b0d5; -} -.label-warning { - background-color: #f0ad4e; -} -.label-warning[href]:hover, -.label-warning[href]:focus { - background-color: #ec971f; -} -.label-danger { - background-color: #d9534f; -} -.label-danger[href]:hover, -.label-danger[href]:focus { - background-color: #c9302c; -} -.badge { - display: inline-block; - min-width: 10px; - padding: 3px 7px; - font-size: 12px; - font-weight: bold; - color: #ffffff; - line-height: 1; - vertical-align: baseline; - white-space: nowrap; - text-align: center; - background-color: #999999; - border-radius: 10px; -} -.badge:empty { - display: none; -} -a.badge:hover, -a.badge:focus { - color: #ffffff; - text-decoration: none; - cursor: pointer; -} -.btn .badge { - position: relative; - top: -1px; -} -a.list-group-item.active > .badge, -.nav-pills > .active > a > .badge { - color: #bb0000; - background-color: #ffffff; -} -.nav-pills > li > a > .badge { - margin-left: 3px; -} -.jumbotron { - padding: 30px; - margin-bottom: 30px; - font-size: 21px; - font-weight: 200; - line-height: 2.14285714; - color: inherit; - background-color: #eeeeee; -} -.jumbotron h1 { - line-height: 1; - color: inherit; -} -.jumbotron p { - line-height: 1.4; -} -.container .jumbotron { - border-radius: 6px; -} -@media screen and (min-width: 768px) { - .jumbotron { - padding-top: 48px; - padding-bottom: 48px; - } - .container .jumbotron { - padding-left: 60px; - padding-right: 60px; - } - .jumbotron h1 { - font-size: 63px; - } -} -.thumbnail { - padding: 4px; - line-height: 1.42857143; - background-color: #ffffff; - border: 1px solid #dddddd; - border-radius: 4px; - -webkit-transition: all 0.2s ease-in-out; - transition: all 0.2s ease-in-out; - display: inline-block; - max-width: 100%; - height: auto; - display: block; - margin-bottom: 20px; -} -.thumbnail > img { - display: block; - max-width: 100%; - height: auto; -} -a.thumbnail:hover, -a.thumbnail:focus, -a.thumbnail.active { - border-color: #bb0000; -} -.thumbnail > img { - margin-left: auto; - margin-right: auto; -} -.thumbnail .caption { - padding: 9px; - color: #333333; -} -.alert { - padding: 15px; - margin-bottom: 20px; - border: 1px solid transparent; - border-radius: 4px; -} -.alert h4 { - margin-top: 0; - color: inherit; -} -.alert .alert-link { - font-weight: bold; -} -.alert > p, -.alert > ul { - margin-bottom: 0; -} -.alert > p + p { - margin-top: 5px; -} -.alert-dismissable { - padding-right: 35px; -} -.alert-dismissable .close { - position: relative; - top: -2px; - right: -21px; - color: inherit; -} -.alert-success { - background-color: #dff0d8; - border-color: #d6e9c6; - color: #468847; -} -.alert-success hr { - border-top-color: #c9e2b3; -} -.alert-success .alert-link { - color: #356635; -} -.alert-info { - background-color: #d9edf7; - border-color: #bce8f1; - color: #3a87ad; -} -.alert-info hr { - border-top-color: #a6e1ec; -} -.alert-info .alert-link { - color: #2d6987; -} -.alert-warning { - background-color: #fcf8e3; - border-color: #faebcc; - color: #c09853; -} -.alert-warning hr { - border-top-color: #f7e1b5; -} -.alert-warning .alert-link { - color: #a47e3c; -} -.alert-danger { - background-color: #f2dede; - border-color: #ebccd1; - color: #b94a48; -} -.alert-danger hr { - border-top-color: #e4b9c0; -} -.alert-danger .alert-link { - color: #953b39; -} -@-webkit-keyframes progress-bar-stripes { - from { - background-position: 40px 0; - } - to { - background-position: 0 0; - } -} -@-moz-keyframes progress-bar-stripes { - from { - background-position: 40px 0; - } - to { - background-position: 0 0; - } -} -@-o-keyframes progress-bar-stripes { - from { - background-position: 0 0; - } - to { - background-position: 40px 0; - } -} -@keyframes progress-bar-stripes { - from { - background-position: 40px 0; - } - to { - background-position: 0 0; - } -} -.progress { - overflow: hidden; - height: 20px; - margin-bottom: 20px; - background-color: #f5f5f5; - border-radius: 4px; - -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); - box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); -} -.progress-bar { - float: left; - width: 0%; - height: 100%; - font-size: 12px; - line-height: 20px; - color: #ffffff; - text-align: center; - background-color: #bb0000; - -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15); - box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15); - -webkit-transition: width 0.6s ease; - transition: width 0.6s ease; -} -.progress-striped .progress-bar { - background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent)); - background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); - background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); - background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); - background-size: 40px 40px; -} -.progress.active .progress-bar { - -webkit-animation: progress-bar-stripes 2s linear infinite; - -moz-animation: progress-bar-stripes 2s linear infinite; - -ms-animation: progress-bar-stripes 2s linear infinite; - -o-animation: progress-bar-stripes 2s linear infinite; - animation: progress-bar-stripes 2s linear infinite; -} -.progress-bar-success { - background-color: #5cb85c; -} -.progress-striped .progress-bar-success { - background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent)); - background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); - background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); - background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); -} -.progress-bar-info { - background-color: #5bc0de; -} -.progress-striped .progress-bar-info { - background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent)); - background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); - background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); - background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); -} -.progress-bar-warning { - background-color: #f0ad4e; -} -.progress-striped .progress-bar-warning { - background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent)); - background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); - background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); - background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); -} -.progress-bar-danger { - background-color: #d9534f; -} -.progress-striped .progress-bar-danger { - background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent)); - background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); - background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); - background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); -} -.media, -.media-body { - overflow: hidden; - zoom: 1; -} -.media, -.media .media { - margin-top: 15px; -} -.media:first-child { - margin-top: 0; -} -.media-object { - display: block; -} -.media-heading { - margin: 0 0 5px; -} -.media > .pull-left { - margin-right: 10px; -} -.media > .pull-right { - margin-left: 10px; -} -.media-list { - padding-left: 0; - list-style: none; -} -.list-group { - margin-bottom: 20px; - padding-left: 0; -} -.list-group-item { - position: relative; - display: block; - padding: 10px 15px; - margin-bottom: -1px; - background-color: #ffffff; - border: 1px solid #dddddd; -} -.list-group-item:first-child { - border-top-right-radius: 4px; - border-top-left-radius: 4px; -} -.list-group-item:last-child { - margin-bottom: 0; - border-bottom-right-radius: 4px; - border-bottom-left-radius: 4px; -} -.list-group-item > .badge { - float: right; -} -.list-group-item > .badge + .badge { - margin-right: 5px; -} -a.list-group-item { - color: #555555; -} -a.list-group-item .list-group-item-heading { - color: #333333; -} -a.list-group-item:hover, -a.list-group-item:focus { - text-decoration: none; - background-color: #f5f5f5; -} -a.list-group-item.active, -a.list-group-item.active:hover, -a.list-group-item.active:focus { - z-index: 2; - color: #ffffff; - background-color: #bb0000; - border-color: #bb0000; -} -a.list-group-item.active .list-group-item-heading, -a.list-group-item.active:hover .list-group-item-heading, -a.list-group-item.active:focus .list-group-item-heading { - color: inherit; -} -a.list-group-item.active .list-group-item-text, -a.list-group-item.active:hover .list-group-item-text, -a.list-group-item.active:focus .list-group-item-text { - color: #e1edf7; -} -.list-group-item-heading { - margin-top: 0; - margin-bottom: 5px; -} -.list-group-item-text { - margin-bottom: 0; - line-height: 1.3; -} -.panel { - margin-bottom: 20px; - background-color: #ffffff; - border: 1px solid transparent; - border-radius: 4px; - -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05); - box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05); -} -.panel-body { - padding: 15px; -} -.panel-body:before, -.panel-body:after { - content: " "; - /* 1 */ - display: table; - /* 2 */ -} -.panel-body:after { - clear: both; -} -.panel-body:before, -.panel-body:after { - content: " "; - /* 1 */ - display: table; - /* 2 */ -} -.panel-body:after { - clear: both; -} -.panel > .list-group { - margin-bottom: 0; -} -.panel > .list-group .list-group-item { - border-width: 1px 0; -} -.panel > .list-group .list-group-item:first-child { - border-top-right-radius: 0; - border-top-left-radius: 0; -} -.panel > .list-group .list-group-item:last-child { - border-bottom: 0; -} -.panel-heading + .list-group .list-group-item:first-child { - border-top-width: 0; -} -.panel > .table, -.panel > .table-responsive { - margin-bottom: 0; -} -.panel > .panel-body + .table, -.panel > .panel-body + .table-responsive { - border-top: 1px solid #dddddd; -} -.panel > .table-bordered, -.panel > .table-responsive > .table-bordered { - border: 0; -} -.panel > .table-bordered > thead > tr > th:first-child, -.panel > .table-responsive > .table-bordered > thead > tr > th:first-child, -.panel > .table-bordered > tbody > tr > th:first-child, -.panel > .table-responsive > .table-bordered > tbody > tr > th:first-child, -.panel > .table-bordered > tfoot > tr > th:first-child, -.panel > .table-responsive > .table-bordered > tfoot > tr > th:first-child, -.panel > .table-bordered > thead > tr > td:first-child, -.panel > .table-responsive > .table-bordered > thead > tr > td:first-child, -.panel > .table-bordered > tbody > tr > td:first-child, -.panel > .table-responsive > .table-bordered > tbody > tr > td:first-child, -.panel > .table-bordered > tfoot > tr > td:first-child, -.panel > .table-responsive > .table-bordered > tfoot > tr > td:first-child { - border-left: 0; -} -.panel > .table-bordered > thead > tr > th:last-child, -.panel > .table-responsive > .table-bordered > thead > tr > th:last-child, -.panel > .table-bordered > tbody > tr > th:last-child, -.panel > .table-responsive > .table-bordered > tbody > tr > th:last-child, -.panel > .table-bordered > tfoot > tr > th:last-child, -.panel > .table-responsive > .table-bordered > tfoot > tr > th:last-child, -.panel > .table-bordered > thead > tr > td:last-child, -.panel > .table-responsive > .table-bordered > thead > tr > td:last-child, -.panel > .table-bordered > tbody > tr > td:last-child, -.panel > .table-responsive > .table-bordered > tbody > tr > td:last-child, -.panel > .table-bordered > tfoot > tr > td:last-child, -.panel > .table-responsive > .table-bordered > tfoot > tr > td:last-child { - border-right: 0; -} -.panel > .table-bordered > thead > tr:last-child > th, -.panel > .table-responsive > .table-bordered > thead > tr:last-child > th, -.panel > .table-bordered > tbody > tr:last-child > th, -.panel > .table-responsive > .table-bordered > tbody > tr:last-child > th, -.panel > .table-bordered > tfoot > tr:last-child > th, -.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > th, -.panel > .table-bordered > thead > tr:last-child > td, -.panel > .table-responsive > .table-bordered > thead > tr:last-child > td, -.panel > .table-bordered > tbody > tr:last-child > td, -.panel > .table-responsive > .table-bordered > tbody > tr:last-child > td, -.panel > .table-bordered > tfoot > tr:last-child > td, -.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > td { - border-bottom: 0; -} -.panel-heading { - padding: 10px 15px; - border-bottom: 1px solid transparent; - border-top-right-radius: 3px; - border-top-left-radius: 3px; -} -.panel-title { - margin-top: 0; - margin-bottom: 0; - font-size: 16px; -} -.panel-title > a { - color: inherit; -} -.panel-footer { - padding: 10px 15px; - background-color: #f5f5f5; - border-top: 1px solid #dddddd; - border-bottom-right-radius: 3px; - border-bottom-left-radius: 3px; -} -.panel-group .panel { - margin-bottom: 0; - border-radius: 4px; - overflow: hidden; -} -.panel-group .panel + .panel { - margin-top: 5px; -} -.panel-group .panel-heading { - border-bottom: 0; -} -.panel-group .panel-heading + .panel-collapse .panel-body { - border-top: 1px solid #dddddd; -} -.panel-group .panel-footer { - border-top: 0; -} -.panel-group .panel-footer + .panel-collapse .panel-body { - border-bottom: 1px solid #dddddd; -} -.panel-default { - border-color: #dddddd; -} -.panel-default > .panel-heading { - color: #333333; - background-color: #f5f5f5; - border-color: #dddddd; -} -.panel-default > .panel-heading + .panel-collapse .panel-body { - border-top-color: #dddddd; -} -.panel-default > .panel-footer + .panel-collapse .panel-body { - border-bottom-color: #dddddd; -} -.panel-primary { - border-color: #bb0000; -} -.panel-primary > .panel-heading { - color: #ffffff; - background-color: #bb0000; - border-color: #bb0000; -} -.panel-primary > .panel-heading + .panel-collapse .panel-body { - border-top-color: #bb0000; -} -.panel-primary > .panel-footer + .panel-collapse .panel-body { - border-bottom-color: #bb0000; -} -.panel-success { - border-color: #d6e9c6; -} -.panel-success > .panel-heading { - color: #468847; - background-color: #dff0d8; - border-color: #d6e9c6; -} -.panel-success > .panel-heading + .panel-collapse .panel-body { - border-top-color: #d6e9c6; -} -.panel-success > .panel-footer + .panel-collapse .panel-body { - border-bottom-color: #d6e9c6; -} -.panel-warning { - border-color: #faebcc; -} -.panel-warning > .panel-heading { - color: #c09853; - background-color: #fcf8e3; - border-color: #faebcc; -} -.panel-warning > .panel-heading + .panel-collapse .panel-body { - border-top-color: #faebcc; -} -.panel-warning > .panel-footer + .panel-collapse .panel-body { - border-bottom-color: #faebcc; -} -.panel-danger { - border-color: #ebccd1; -} -.panel-danger > .panel-heading { - color: #b94a48; - background-color: #f2dede; - border-color: #ebccd1; -} -.panel-danger > .panel-heading + .panel-collapse .panel-body { - border-top-color: #ebccd1; -} -.panel-danger > .panel-footer + .panel-collapse .panel-body { - border-bottom-color: #ebccd1; -} -.panel-info { - border-color: #bce8f1; -} -.panel-info > .panel-heading { - color: #3a87ad; - background-color: #d9edf7; - border-color: #bce8f1; -} -.panel-info > .panel-heading + .panel-collapse .panel-body { - border-top-color: #bce8f1; -} -.panel-info > .panel-footer + .panel-collapse .panel-body { - border-bottom-color: #bce8f1; -} -.well { - min-height: 20px; - padding: 19px; - margin-bottom: 20px; - background-color: #f5f5f5; - border: 1px solid #e3e3e3; - border-radius: 4px; - -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05); - box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05); -} -.well blockquote { - border-color: #ddd; - border-color: rgba(0, 0, 0, 0.15); -} -.well-lg { - padding: 24px; - border-radius: 6px; -} -.well-sm { - padding: 9px; - border-radius: 3px; -} -.close { - float: right; - font-size: 21px; - font-weight: bold; - line-height: 1; - color: #000000; - text-shadow: 0 1px 0 #ffffff; - opacity: 0.2; - filter: alpha(opacity=20); -} -.close:hover, -.close:focus { - color: #000000; - text-decoration: none; - cursor: pointer; - opacity: 0.5; - filter: alpha(opacity=50); -} -button.close { - padding: 0; - cursor: pointer; - background: transparent; - border: 0; - -webkit-appearance: none; -} -.modal-open { - overflow: hidden; -} -.modal { - display: none; - overflow: auto; - overflow-y: scroll; - position: fixed; - top: 0; - right: 0; - bottom: 0; - left: 0; - z-index: 1040; -} -.modal.fade .modal-dialog { - -webkit-transform: translate(0, -25%); - -ms-transform: translate(0, -25%); - transform: translate(0, -25%); - -webkit-transition: -webkit-transform 0.3s ease-out; - -moz-transition: -moz-transform 0.3s ease-out; - -o-transition: -o-transform 0.3s ease-out; - transition: transform 0.3s ease-out; -} -.modal.in .modal-dialog { - -webkit-transform: translate(0, 0); - -ms-transform: translate(0, 0); - transform: translate(0, 0); -} -.modal-dialog { - margin-left: auto; - margin-right: auto; - width: auto; - padding: 10px; - z-index: 1050; -} -.modal-content { - position: relative; - background-color: #ffffff; - border: 1px solid #999999; - border: 1px solid rgba(0, 0, 0, 0.2); - border-radius: 6px; - -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5); - box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5); - background-clip: padding-box; - outline: none; -} -.modal-backdrop { - position: fixed; - top: 0; - right: 0; - bottom: 0; - left: 0; - z-index: 1030; - background-color: #000000; -} -.modal-backdrop.fade { - opacity: 0; - filter: alpha(opacity=0); -} -.modal-backdrop.in { - opacity: 0.5; - filter: alpha(opacity=50); -} -.modal-header { - padding: 15px; - border-bottom: 1px solid #e5e5e5; - min-height: 16.42857143px; -} -.modal-header .close { - margin-top: -2px; -} -.modal-title { - margin: 0; - line-height: 1.42857143; -} -.modal-body { - position: relative; - padding: 20px; -} -.modal-footer { - margin-top: 15px; - padding: 19px 20px 20px; - text-align: right; - border-top: 1px solid #e5e5e5; -} -.modal-footer:before, -.modal-footer:after { - content: " "; - /* 1 */ - display: table; - /* 2 */ -} -.modal-footer:after { - clear: both; -} -.modal-footer:before, -.modal-footer:after { - content: " "; - /* 1 */ - display: table; - /* 2 */ -} -.modal-footer:after { - clear: both; -} -.modal-footer .btn + .btn { - margin-left: 5px; - margin-bottom: 0; -} -.modal-footer .btn-group .btn + .btn { - margin-left: -1px; -} -.modal-footer .btn-block + .btn-block { - margin-left: 0; -} -@media screen and (min-width: 768px) { - .modal-dialog { - width: 600px; - padding-top: 30px; - padding-bottom: 30px; - } - .modal-content { - -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5); - box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5); - } -} -.tooltip { - position: absolute; - z-index: 1030; - display: block; - visibility: visible; - font-size: 12px; - line-height: 1.4; - opacity: 0; - filter: alpha(opacity=0); -} -.tooltip.in { - opacity: 0.9; - filter: alpha(opacity=90); -} -.tooltip.top { - margin-top: -3px; - padding: 5px 0; -} -.tooltip.right { - margin-left: 3px; - padding: 0 5px; -} -.tooltip.bottom { - margin-top: 3px; - padding: 5px 0; -} -.tooltip.left { - margin-left: -3px; - padding: 0 5px; -} -.tooltip-inner { - max-width: 200px; - padding: 3px 8px; - color: #ffffff; - text-align: center; - text-decoration: none; - background-color: #000000; - border-radius: 4px; -} -.tooltip-arrow { - position: absolute; - width: 0; - height: 0; - border-color: transparent; - border-style: solid; -} -.tooltip.top .tooltip-arrow { - bottom: 0; - left: 50%; - margin-left: -5px; - border-width: 5px 5px 0; - border-top-color: #000000; -} -.tooltip.top-left .tooltip-arrow { - bottom: 0; - left: 5px; - border-width: 5px 5px 0; - border-top-color: #000000; -} -.tooltip.top-right .tooltip-arrow { - bottom: 0; - right: 5px; - border-width: 5px 5px 0; - border-top-color: #000000; -} -.tooltip.right .tooltip-arrow { - top: 50%; - left: 0; - margin-top: -5px; - border-width: 5px 5px 5px 0; - border-right-color: #000000; -} -.tooltip.left .tooltip-arrow { - top: 50%; - right: 0; - margin-top: -5px; - border-width: 5px 0 5px 5px; - border-left-color: #000000; -} -.tooltip.bottom .tooltip-arrow { - top: 0; - left: 50%; - margin-left: -5px; - border-width: 0 5px 5px; - border-bottom-color: #000000; -} -.tooltip.bottom-left .tooltip-arrow { - top: 0; - left: 5px; - border-width: 0 5px 5px; - border-bottom-color: #000000; -} -.tooltip.bottom-right .tooltip-arrow { - top: 0; - right: 5px; - border-width: 0 5px 5px; - border-bottom-color: #000000; -} -.popover { - position: absolute; - top: 0; - left: 0; - z-index: 1010; - display: none; - max-width: 276px; - padding: 1px; - text-align: left; - background-color: #ffffff; - background-clip: padding-box; - border: 1px solid #cccccc; - border: 1px solid rgba(0, 0, 0, 0.2); - border-radius: 6px; - -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); - box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); - white-space: normal; -} -.popover.top { - margin-top: -10px; -} -.popover.right { - margin-left: 10px; -} -.popover.bottom { - margin-top: 10px; -} -.popover.left { - margin-left: -10px; -} -.popover-title { - margin: 0; - padding: 8px 14px; - font-size: 14px; - font-weight: normal; - line-height: 18px; - background-color: #f7f7f7; - border-bottom: 1px solid #ebebeb; - border-radius: 5px 5px 0 0; -} -.popover-content { - padding: 9px 14px; -} -.popover .arrow, -.popover .arrow:after { - position: absolute; - display: block; - width: 0; - height: 0; - border-color: transparent; - border-style: solid; -} -.popover .arrow { - border-width: 11px; -} -.popover .arrow:after { - border-width: 10px; - content: ""; -} -.popover.top .arrow { - left: 50%; - margin-left: -11px; - border-bottom-width: 0; - border-top-color: #999999; - border-top-color: rgba(0, 0, 0, 0.25); - bottom: -11px; -} -.popover.top .arrow:after { - content: " "; - bottom: 1px; - margin-left: -10px; - border-bottom-width: 0; - border-top-color: #ffffff; -} -.popover.right .arrow { - top: 50%; - left: -11px; - margin-top: -11px; - border-left-width: 0; - border-right-color: #999999; - border-right-color: rgba(0, 0, 0, 0.25); -} -.popover.right .arrow:after { - content: " "; - left: 1px; - bottom: -10px; - border-left-width: 0; - border-right-color: #ffffff; -} -.popover.bottom .arrow { - left: 50%; - margin-left: -11px; - border-top-width: 0; - border-bottom-color: #999999; - border-bottom-color: rgba(0, 0, 0, 0.25); - top: -11px; -} -.popover.bottom .arrow:after { - content: " "; - top: 1px; - margin-left: -10px; - border-top-width: 0; - border-bottom-color: #ffffff; -} -.popover.left .arrow { - top: 50%; - right: -11px; - margin-top: -11px; - border-right-width: 0; - border-left-color: #999999; - border-left-color: rgba(0, 0, 0, 0.25); -} -.popover.left .arrow:after { - content: " "; - right: 1px; - border-right-width: 0; - border-left-color: #ffffff; - bottom: -10px; -} -.carousel { - position: relative; -} -.carousel-inner { - position: relative; - overflow: hidden; - width: 100%; -} -.carousel-inner > .item { - display: none; - position: relative; - -webkit-transition: 0.6s ease-in-out left; - transition: 0.6s ease-in-out left; -} -.carousel-inner > .item > img, -.carousel-inner > .item > a > img { - display: block; - max-width: 100%; - height: auto; - line-height: 1; -} -.carousel-inner > .active, -.carousel-inner > .next, -.carousel-inner > .prev { - display: block; -} -.carousel-inner > .active { - left: 0; -} -.carousel-inner > .next, -.carousel-inner > .prev { - position: absolute; - top: 0; - width: 100%; -} -.carousel-inner > .next { - left: 100%; -} -.carousel-inner > .prev { - left: -100%; -} -.carousel-inner > .next.left, -.carousel-inner > .prev.right { - left: 0; -} -.carousel-inner > .active.left { - left: -100%; -} -.carousel-inner > .active.right { - left: 100%; -} -.carousel-control { - position: absolute; - top: 0; - left: 0; - bottom: 0; - width: 15%; - opacity: 0.5; - filter: alpha(opacity=50); - font-size: 20px; - color: #ffffff; - text-align: center; - text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6); -} -.carousel-control.left { - background-image: -webkit-gradient(linear, 0% top, 100% top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0.0001))); - background-image: -webkit-linear-gradient(left, color-stop(rgba(0, 0, 0, 0.5) 0%), color-stop(rgba(0, 0, 0, 0.0001) 100%)); - background-image: -moz-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%); - background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1); -} -.carousel-control.right { - left: auto; - right: 0; - background-image: -webkit-gradient(linear, 0% top, 100% top, from(rgba(0, 0, 0, 0.0001)), to(rgba(0, 0, 0, 0.5))); - background-image: -webkit-linear-gradient(left, color-stop(rgba(0, 0, 0, 0.0001) 0%), color-stop(rgba(0, 0, 0, 0.5) 100%)); - background-image: -moz-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%); - background-image: linear-gradient(to right, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1); -} -.carousel-control:hover, -.carousel-control:focus { - color: #ffffff; - text-decoration: none; - opacity: 0.9; - filter: alpha(opacity=90); -} -.carousel-control .icon-prev, -.carousel-control .icon-next, -.carousel-control .glyphicon-chevron-left, -.carousel-control .glyphicon-chevron-right { - position: absolute; - top: 50%; - z-index: 5; - display: inline-block; -} -.carousel-control .icon-prev, -.carousel-control .glyphicon-chevron-left { - left: 50%; -} -.carousel-control .icon-next, -.carousel-control .glyphicon-chevron-right { - right: 50%; -} -.carousel-control .icon-prev, -.carousel-control .icon-next { - width: 20px; - height: 20px; - margin-top: -10px; - margin-left: -10px; - font-family: serif; -} -.carousel-control .icon-prev:before { - content: '\2039'; -} -.carousel-control .icon-next:before { - content: '\203a'; -} -.carousel-indicators { - position: absolute; - bottom: 10px; - left: 50%; - z-index: 15; - width: 60%; - margin-left: -30%; - padding-left: 0; - list-style: none; - text-align: center; -} -.carousel-indicators li { - display: inline-block; - width: 10px; - height: 10px; - margin: 1px; - text-indent: -999px; - border: 1px solid #ffffff; - border-radius: 10px; - cursor: pointer; -} -.carousel-indicators .active { - margin: 0; - width: 12px; - height: 12px; - background-color: #ffffff; -} -.carousel-caption { - position: absolute; - left: 15%; - right: 15%; - bottom: 20px; - z-index: 10; - padding-top: 20px; - padding-bottom: 20px; - color: #ffffff; - text-align: center; - text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6); -} -.carousel-caption .btn { - text-shadow: none; -} -@media screen and (min-width: 768px) { - .carousel-control .glyphicons-chevron-left, - .carousel-control .glyphicons-chevron-right, - .carousel-control .icon-prev, - .carousel-control .icon-next { - width: 30px; - height: 30px; - margin-top: -15px; - margin-left: -15px; - font-size: 30px; - } - .carousel-caption { - left: 20%; - right: 20%; - padding-bottom: 30px; - } - .carousel-indicators { - bottom: 20px; - } -} -.clearfix:before, -.clearfix:after { - content: " "; - /* 1 */ - display: table; - /* 2 */ -} -.clearfix:after { - clear: both; -} -.center-block { - display: block; - margin-left: auto; - margin-right: auto; -} -.pull-right { - float: right !important; -} -.pull-left { - float: left !important; -} -.hide { - display: none !important; -} -.show { - display: block !important; -} -.invisible { - visibility: hidden; -} -.text-hide { - font: 0/0 a; - color: transparent; - text-shadow: none; - background-color: transparent; - border: 0; -} -.hidden { - display: none !important; - visibility: hidden !important; -} -.affix { - position: fixed; -} -@-ms-viewport { - width: device-width; -} -.visible-xs, -tr.visible-xs, -th.visible-xs, -td.visible-xs { - display: none !important; -} -@media (max-width: 767px) { - .visible-xs { - display: block !important; - } - tr.visible-xs { - display: table-row !important; - } - th.visible-xs, - td.visible-xs { - display: table-cell !important; - } -} -@media (min-width: 768px) and (max-width: 991px) { - .visible-xs.visible-sm { - display: block !important; - } - tr.visible-xs.visible-sm { - display: table-row !important; - } - th.visible-xs.visible-sm, - td.visible-xs.visible-sm { - display: table-cell !important; - } -} -@media (min-width: 992px) and (max-width: 1199px) { - .visible-xs.visible-md { - display: block !important; - } - tr.visible-xs.visible-md { - display: table-row !important; - } - th.visible-xs.visible-md, - td.visible-xs.visible-md { - display: table-cell !important; - } -} -@media (min-width: 1200px) { - .visible-xs.visible-lg { - display: block !important; - } - tr.visible-xs.visible-lg { - display: table-row !important; - } - th.visible-xs.visible-lg, - td.visible-xs.visible-lg { - display: table-cell !important; - } -} -.visible-sm, -tr.visible-sm, -th.visible-sm, -td.visible-sm { - display: none !important; -} -@media (max-width: 767px) { - .visible-sm.visible-xs { - display: block !important; - } - tr.visible-sm.visible-xs { - display: table-row !important; - } - th.visible-sm.visible-xs, - td.visible-sm.visible-xs { - display: table-cell !important; - } -} -@media (min-width: 768px) and (max-width: 991px) { - .visible-sm { - display: block !important; - } - tr.visible-sm { - display: table-row !important; - } - th.visible-sm, - td.visible-sm { - display: table-cell !important; - } -} -@media (min-width: 992px) and (max-width: 1199px) { - .visible-sm.visible-md { - display: block !important; - } - tr.visible-sm.visible-md { - display: table-row !important; - } - th.visible-sm.visible-md, - td.visible-sm.visible-md { - display: table-cell !important; - } -} -@media (min-width: 1200px) { - .visible-sm.visible-lg { - display: block !important; - } - tr.visible-sm.visible-lg { - display: table-row !important; - } - th.visible-sm.visible-lg, - td.visible-sm.visible-lg { - display: table-cell !important; - } -} -.visible-md, -tr.visible-md, -th.visible-md, -td.visible-md { - display: none !important; -} -@media (max-width: 767px) { - .visible-md.visible-xs { - display: block !important; - } - tr.visible-md.visible-xs { - display: table-row !important; - } - th.visible-md.visible-xs, - td.visible-md.visible-xs { - display: table-cell !important; - } -} -@media (min-width: 768px) and (max-width: 991px) { - .visible-md.visible-sm { - display: block !important; - } - tr.visible-md.visible-sm { - display: table-row !important; - } - th.visible-md.visible-sm, - td.visible-md.visible-sm { - display: table-cell !important; - } -} -@media (min-width: 992px) and (max-width: 1199px) { - .visible-md { - display: block !important; - } - tr.visible-md { - display: table-row !important; - } - th.visible-md, - td.visible-md { - display: table-cell !important; - } -} -@media (min-width: 1200px) { - .visible-md.visible-lg { - display: block !important; - } - tr.visible-md.visible-lg { - display: table-row !important; - } - th.visible-md.visible-lg, - td.visible-md.visible-lg { - display: table-cell !important; - } -} -.visible-lg, -tr.visible-lg, -th.visible-lg, -td.visible-lg { - display: none !important; -} -@media (max-width: 767px) { - .visible-lg.visible-xs { - display: block !important; - } - tr.visible-lg.visible-xs { - display: table-row !important; - } - th.visible-lg.visible-xs, - td.visible-lg.visible-xs { - display: table-cell !important; - } -} -@media (min-width: 768px) and (max-width: 991px) { - .visible-lg.visible-sm { - display: block !important; - } - tr.visible-lg.visible-sm { - display: table-row !important; - } - th.visible-lg.visible-sm, - td.visible-lg.visible-sm { - display: table-cell !important; - } -} -@media (min-width: 992px) and (max-width: 1199px) { - .visible-lg.visible-md { - display: block !important; - } - tr.visible-lg.visible-md { - display: table-row !important; - } - th.visible-lg.visible-md, - td.visible-lg.visible-md { - display: table-cell !important; - } -} -@media (min-width: 1200px) { - .visible-lg { - display: block !important; - } - tr.visible-lg { - display: table-row !important; - } - th.visible-lg, - td.visible-lg { - display: table-cell !important; - } -} -.hidden-xs { - display: block !important; -} -tr.hidden-xs { - display: table-row !important; -} -th.hidden-xs, -td.hidden-xs { - display: table-cell !important; -} -@media (max-width: 767px) { - .hidden-xs, - tr.hidden-xs, - th.hidden-xs, - td.hidden-xs { - display: none !important; - } -} -@media (min-width: 768px) and (max-width: 991px) { - .hidden-xs.hidden-sm, - tr.hidden-xs.hidden-sm, - th.hidden-xs.hidden-sm, - td.hidden-xs.hidden-sm { - display: none !important; - } -} -@media (min-width: 992px) and (max-width: 1199px) { - .hidden-xs.hidden-md, - tr.hidden-xs.hidden-md, - th.hidden-xs.hidden-md, - td.hidden-xs.hidden-md { - display: none !important; - } -} -@media (min-width: 1200px) { - .hidden-xs.hidden-lg, - tr.hidden-xs.hidden-lg, - th.hidden-xs.hidden-lg, - td.hidden-xs.hidden-lg { - display: none !important; - } -} -.hidden-sm { - display: block !important; -} -tr.hidden-sm { - display: table-row !important; -} -th.hidden-sm, -td.hidden-sm { - display: table-cell !important; -} -@media (max-width: 767px) { - .hidden-sm.hidden-xs, - tr.hidden-sm.hidden-xs, - th.hidden-sm.hidden-xs, - td.hidden-sm.hidden-xs { - display: none !important; - } -} -@media (min-width: 768px) and (max-width: 991px) { - .hidden-sm, - tr.hidden-sm, - th.hidden-sm, - td.hidden-sm { - display: none !important; - } -} -@media (min-width: 992px) and (max-width: 1199px) { - .hidden-sm.hidden-md, - tr.hidden-sm.hidden-md, - th.hidden-sm.hidden-md, - td.hidden-sm.hidden-md { - display: none !important; - } -} -@media (min-width: 1200px) { - .hidden-sm.hidden-lg, - tr.hidden-sm.hidden-lg, - th.hidden-sm.hidden-lg, - td.hidden-sm.hidden-lg { - display: none !important; - } -} -.hidden-md { - display: block !important; -} -tr.hidden-md { - display: table-row !important; -} -th.hidden-md, -td.hidden-md { - display: table-cell !important; -} -@media (max-width: 767px) { - .hidden-md.hidden-xs, - tr.hidden-md.hidden-xs, - th.hidden-md.hidden-xs, - td.hidden-md.hidden-xs { - display: none !important; - } -} -@media (min-width: 768px) and (max-width: 991px) { - .hidden-md.hidden-sm, - tr.hidden-md.hidden-sm, - th.hidden-md.hidden-sm, - td.hidden-md.hidden-sm { - display: none !important; - } -} -@media (min-width: 992px) and (max-width: 1199px) { - .hidden-md, - tr.hidden-md, - th.hidden-md, - td.hidden-md { - display: none !important; - } -} -@media (min-width: 1200px) { - .hidden-md.hidden-lg, - tr.hidden-md.hidden-lg, - th.hidden-md.hidden-lg, - td.hidden-md.hidden-lg { - display: none !important; - } -} -.hidden-lg { - display: block !important; -} -tr.hidden-lg { - display: table-row !important; -} -th.hidden-lg, -td.hidden-lg { - display: table-cell !important; -} -@media (max-width: 767px) { - .hidden-lg.hidden-xs, - tr.hidden-lg.hidden-xs, - th.hidden-lg.hidden-xs, - td.hidden-lg.hidden-xs { - display: none !important; - } -} -@media (min-width: 768px) and (max-width: 991px) { - .hidden-lg.hidden-sm, - tr.hidden-lg.hidden-sm, - th.hidden-lg.hidden-sm, - td.hidden-lg.hidden-sm { - display: none !important; - } -} -@media (min-width: 992px) and (max-width: 1199px) { - .hidden-lg.hidden-md, - tr.hidden-lg.hidden-md, - th.hidden-lg.hidden-md, - td.hidden-lg.hidden-md { - display: none !important; - } -} -@media (min-width: 1200px) { - .hidden-lg, - tr.hidden-lg, - th.hidden-lg, - td.hidden-lg { - display: none !important; - } -} -.visible-print, -tr.visible-print, -th.visible-print, -td.visible-print { - display: none !important; -} -@media print { - .visible-print { - display: block !important; - } - tr.visible-print { - display: table-row !important; - } - th.visible-print, - td.visible-print { - display: table-cell !important; - } - .hidden-print, - tr.hidden-print, - th.hidden-print, - td.hidden-print { - display: none !important; - } -} -/*! - * Copyright 2013 Twitter, Inc. - * - * Licensed under the Creative Commons Attribution 3.0 Unported License. For - * details, see http://creativecommons.org/licenses/by/3.0/. - */ -/* - * Bootstrap Documentation - * Special styles for presenting Bootstrap's documentation and code examples. - * - * Table of contents: - * - * Scaffolding - * Main navigation - * Footer - * Social buttons - * Homepage - * Page headers - * Old docs callout - * Ads - * Side navigation - * Docs sections - * Callouts - * Grid styles - * Examples - * Code snippets (highlight) - * Responsive tests - * Glyphicons - * Customizer - * Miscellaneous - */ -/* - * Scaffolding - * Update the basics of our documents to prep for docs content. - */ -body { - position: relative; - /* For scrollyspy */ - padding-top: 50px; - /* Account for fixed navbar */ -} -/* Keep code small in tables on account of limited space */ -.table code { - font-size: 13px; - font-weight: normal; -} -/* - * Footer - * Separated section of content at the bottom of all pages, save the homepage. - */ -.bs-footer { - padding-top: 40px; - padding-bottom: 30px; - margin-top: 100px; - color: #777; - text-align: center; - border-top: 1px solid #e5e5e5; -} -.footer-links { - margin: 10px 0; - padding-left: 0; -} -.footer-links li { - display: inline; - padding: 0 2px; -} -.footer-links li:first-child { - padding-left: 0; -} -@media (min-width: 768px) { - .bs-footer { - text-align: left; - } - .bs-footer p { - margin-bottom: 0; - } -} -/* - * Social buttons - * Twitter and GitHub social action buttons (for homepage and footer). - */ -.bs-social { - margin-top: 20px; - margin-bottom: 20px; - text-align: center; -} -.bs-social-buttons { - display: inline-block; - margin-bottom: 0; - padding-left: 0; - list-style: none; -} -.bs-social-buttons li { - display: inline-block; - line-height: 1; - padding: 5px 8px; -} -.bs-social-buttons .twitter-follow-button { - width: 225px !important; -} -.bs-social-buttons .twitter-share-button { - width: 98px !important; -} -/* Style the GitHub buttons via CSS instead of inline attributes */ -.github-btn { - border: 0; - overflow: hidden; -} -@media (min-width: 768px) { - .bs-social { - text-align: left; - } - .bs-social-buttons li:first-child { - padding-left: 0; - } -} -/* - * Homepage - * Tweaks to the custom homepage and the masthead (main jumbotron). - */ -/* Masthead (headings and download button) */ -.bs-masthead { - position: relative; - padding: 30px 15px; - text-align: center; - text-shadow: 0 1px 0 rgba(0, 0, 0, 0.15); -} -.bs-masthead h1 { - font-size: 50px; - line-height: 1; - color: #fff; -} -.bs-masthead .btn-outline-inverse { - margin: 10px; -} -/* Links to project-level content like the repo, Expo, etc */ -.bs-masthead-links { - margin-top: 20px; - margin-bottom: 40px; - padding: 0 15px; - list-style: none; - text-align: center; -} -.bs-masthead-links li { - display: inline; -} -.bs-masthead-links li + li { - margin-left: 20px; -} -.bs-masthead-links a { - color: #fff; -} -@media (min-width: 768px) { - .bs-masthead { - text-align: left; - padding-top: 140px; - padding-bottom: 140px; - } - .bs-masthead h1 { - font-size: 100px; - } - .bs-masthead .lead { - margin-right: 25%; - font-size: 30px; - } - .bs-masthead .btn-outline-inverse { - width: auto; - margin: 20px 5px 20px 0; - padding: 18px 24px; - font-size: 21px; - } - .bs-masthead-links { - padding: 0; - text-align: left; - } -} -/* - * Callout for 2.3.2 docs - * - * Only appears below page headers (not on the homepage). The homepage gets its - * own link with the masthead links. - */ -.bs-old-docs { - padding: 15px 20px; - color: #777; - background-color: #fafafa; - border-top: 1px solid #fff; - border-bottom: 1px solid #e5e5e5; -} -.bs-old-docs strong { - color: #555; -} -/* - * Grid examples - * - * Highlight the grid columns within the docs so folks can see their padding, - * alignment, sizing, etc. - */ -.show-grid { - margin-bottom: 15px; -} -.show-grid [class^="col-"] { - padding-top: 10px; - padding-bottom: 10px; - background-color: #eee; - border: 1px solid #ddd; - background-color: rgba(86, 61, 124, 0.15); - border: 1px solid rgba(86, 61, 124, 0.2); -} -/* - * Examples - * - * Isolated sections of example content for each component or feature. Usually - * followed by a code snippet. - */ -.bs-example { - position: relative; - padding: 45px 15px 15px; - margin: 0 -15px 15px; - background-color: #fafafa; - box-shadow: inset 0 3px 6px rgba(0, 0, 0, 0.05); - border-color: #e5e5e5 #eee #eee; - border-style: solid; - border-width: 1px 0; -} -/* Echo out a label for the example */ -.bs-example:after { - content: "Example"; - position: absolute; - top: 15px; - left: 15px; - font-size: 12px; - font-weight: bold; - color: #bbb; - text-transform: uppercase; - letter-spacing: 1px; -} -/* Tweak display of the code snippets when following an example */ -.bs-example + .highlight { - margin: -15px -15px 15px; - border-radius: 0; - border-width: 0 0 1px; -} -/* Make the examples and snippets not full-width */ -@media (min-width: 768px) { - .bs-example { - margin-left: 0; - margin-right: 0; - background-color: #fff; - border-width: 1px; - border-color: #ddd; - border-radius: 4px 4px 0 0; - box-shadow: none; - } - .bs-example + .highlight { - margin-top: -16px; - margin-left: 0; - margin-right: 0; - border-width: 1px; - border-bottom-left-radius: 4px; - border-bottom-right-radius: 4px; - } -} -/* Undo width of container */ -.bs-example .container { - width: auto; -} -/* Tweak content of examples for optimum awesome */ -.bs-example > p:last-child, -.bs-example > ul:last-child, -.bs-example > ol:last-child, -.bs-example > blockquote:last-child, -.bs-example > .form-control:last-child, -.bs-example > .table:last-child, -.bs-example > .navbar:last-child, -.bs-example > .jumbotron:last-child, -.bs-example > .alert:last-child, -.bs-example > .panel:last-child, -.bs-example > .list-group:last-child, -.bs-example > .well:last-child, -.bs-example > .progress:last-child, -.bs-example > .table-responsive:last-child > .table { - margin-bottom: 0; -} -.bs-example > p > .close { - float: none; -} -/* Typography */ -.bs-example-type .table .info { - color: #999; - vertical-align: middle; -} -.bs-example-type .table td { - padding: 15px 0; - border-color: #eee; -} -.bs-example-type .table tr:first-child td { - border-top: 0; -} -.bs-example-type h1, -.bs-example-type h2, -.bs-example-type h3, -.bs-example-type h4, -.bs-example-type h5, -.bs-example-type h6 { - margin: 0; -} -/* Images */ -.bs-example > .img-circle, -.bs-example > .img-rounded, -.bs-example > .img-thumbnail { - margin: 5px; -} -/* Tables */ -.bs-example > .table-responsive > .table { - background-color: #fff; -} -/* Buttons */ -.bs-example > .btn, -.bs-example > .btn-group { - margin-top: 5px; - margin-bottom: 5px; -} -.bs-example > .btn-toolbar + .btn-toolbar { - margin-top: 10px; -} -/* Forms */ -.bs-example-control-sizing select, -.bs-example-control-sizing input[type="text"] + input[type="text"] { - margin-top: 10px; -} -.bs-example-form .input-group { - margin-bottom: 10px; -} -.bs-example > textarea.form-control { - resize: vertical; -} -/* List groups */ -.bs-example > .list-group { - max-width: 400px; -} -/* Navbars */ -.bs-example .navbar:last-child { - margin-bottom: 0; -} -.bs-navbar-top-example, -.bs-navbar-bottom-example { - z-index: 1; - padding: 0; - overflow: hidden; - /* cut the drop shadows off */ -} -.bs-navbar-top-example .navbar-header, -.bs-navbar-bottom-example .navbar-header { - margin-left: 0; -} -.bs-navbar-top-example .navbar-fixed-top, -.bs-navbar-bottom-example .navbar-fixed-bottom { - position: relative; - margin-left: 0; - margin-right: 0; -} -.bs-navbar-top-example { - padding-bottom: 45px; -} -.bs-navbar-top-example:after { - top: auto; - bottom: 15px; -} -.bs-navbar-top-example .navbar-fixed-top { - top: -1px; -} -.bs-navbar-bottom-example { - padding-top: 45px; -} -.bs-navbar-bottom-example .navbar-fixed-bottom { - bottom: -1px; -} -.bs-navbar-bottom-example .navbar { - margin-bottom: 0; -} -@media (min-width: 768px) { - .bs-navbar-top-example .navbar-fixed-top, - .bs-navbar-bottom-example .navbar-fixed-bottom { - position: absolute; - } - .bs-navbar-top-example { - border-radius: 0 0 4px 4px; - } - .bs-navbar-bottom-example { - border-radius: 4px 4px 0 0; - } -} -/* Pagination */ -.bs-example .pagination { - margin-top: 10px; - margin-bottom: 10px; -} -/* Pager */ -.bs-example > .pager { - margin-top: 0; -} -/* Example modals */ -.bs-example-modal { - background-color: #f5f5f5; -} -.bs-example-modal .modal { - position: relative; - top: auto; - right: auto; - left: auto; - bottom: auto; - z-index: 1; - display: block; -} -.bs-example-modal .modal-dialog { - left: auto; - margin-left: auto; - margin-right: auto; -} -/* Example dropdowns */ -.bs-example > .dropdown > .dropdown-menu { - position: static; - display: block; - margin-bottom: 5px; -} -/* Example tabbable tabs */ -.bs-example-tabs .nav-tabs { - margin-bottom: 15px; -} -/* Tooltips */ -.bs-example-tooltips { - text-align: center; -} -.bs-example-tooltips > .btn { - margin-top: 5px; - margin-bottom: 5px; -} -/* Popovers */ -.bs-example-popover { - padding-bottom: 24px; - background-color: #f9f9f9; -} -.bs-example-popover .popover { - position: relative; - display: block; - float: left; - width: 260px; - margin: 20px; -} -/* Scrollspy demo on fixed height div */ -.scrollspy-example { - position: relative; - height: 200px; - margin-top: 10px; - overflow: auto; -} -/* - * Code snippets - * - * Generated via Pygments and Jekyll, these are snippets of HTML, CSS, and JS. - */ -.highlight { - display: none; - /* hidden by default, until >480px */ - padding: 9px 14px; - margin-bottom: 14px; - background-color: #f7f7f9; - border: 1px solid #e1e1e8; - border-radius: 4px; -} -.highlight pre { - padding: 0; - margin-top: 0; - margin-bottom: 0; - background-color: transparent; - border: 0; - white-space: nowrap; -} -.highlight pre code { - font-size: inherit; - color: #333; - /* Effectively the base text color */ -} -.highlight pre .lineno { - display: inline-block; - width: 22px; - padding-right: 5px; - margin-right: 10px; - text-align: right; - color: #bebec5; -} -/* Show code snippets when we have the space */ -@media (min-width: 481px) { - .highlight { - display: block; - } -} -/* - * Responsive tests - * - * Generate a set of tests to show the responsive utilities in action. - */ -/* Responsive (scrollable) doc tables */ -.table-responsive .highlight pre { - white-space: normal; -} -/* Utility classes table */ -.bs-table th small, -.responsive-utilities th small { - display: block; - font-weight: normal; - color: #999; -} -.responsive-utilities tbody th { - font-weight: normal; -} -.responsive-utilities td { - text-align: center; -} -.responsive-utilities td.is-visible { - color: #468847; - background-color: #dff0d8 !important; -} -.responsive-utilities td.is-hidden { - color: #ccc; - background-color: #f9f9f9 !important; -} -/* Responsive tests */ -.responsive-utilities-test { - margin-top: 5px; -} -.responsive-utilities-test .col-xs-6 { - margin-bottom: 10px; -} -.responsive-utilities-test span { - padding: 15px 10px; - font-size: 14px; - font-weight: bold; - line-height: 1.1; - text-align: center; - border-radius: 4px; -} -.visible-on .col-xs-6 .hidden-xs, -.visible-on .col-xs-6 .hidden-sm, -.visible-on .col-xs-6 .hidden-md, -.visible-on .col-xs-6 .hidden-lg, -.hidden-on .col-xs-6 .hidden-xs, -.hidden-on .col-xs-6 .hidden-sm, -.hidden-on .col-xs-6 .hidden-md, -.hidden-on .col-xs-6 .hidden-lg { - color: #999; - border: 1px solid #ddd; -} -.visible-on .col-xs-6 .visible-xs, -.visible-on .col-xs-6 .visible-sm, -.visible-on .col-xs-6 .visible-md, -.visible-on .col-xs-6 .visible-lg, -.hidden-on .col-xs-6 .visible-xs, -.hidden-on .col-xs-6 .visible-sm, -.hidden-on .col-xs-6 .visible-md, -.hidden-on .col-xs-6 .visible-lg { - color: #468847; - background-color: #dff0d8; - border: 1px solid #d6e9c6; -} -/* - * Glyphicons - * - * Special styles for displaying the icons and their classes in the docs. - */ -.bs-glyphicons { - padding-left: 0; - padding-bottom: 1px; - margin-bottom: 20px; - list-style: none; - overflow: hidden; -} -.bs-glyphicons li { - float: left; - width: 25%; - height: 115px; - padding: 10px; - margin: 0 -1px -1px 0; - font-size: 12px; - line-height: 1.4; - text-align: center; - border: 1px solid #ddd; -} -.bs-glyphicons .glyphicon { - margin-top: 5px; - margin-bottom: 10px; - font-size: 24px; -} -.bs-glyphicons .glyphicon-class { - display: block; - text-align: center; -} -.bs-glyphicons li:hover { - background-color: rgba(86, 61, 124, 0.1); -} -@media (min-width: 768px) { - .bs-glyphicons li { - width: 12.5%; - } -} -/* - * Customizer - * - * Since this is so form control heavy, we have quite a few styles to customize - * the display of inputs, headings, and more. Also included are all the download - * buttons and actions. - */ -.bs-customizer .toggle { - float: right; - margin-top: 85px; - /* On account of ghetto navbar fix */ -} -/* Headings and form contrls */ -.bs-customizer label { - margin-top: 10px; - font-weight: 500; - color: #555; -} -.bs-customizer h2 { - margin-top: 0; - margin-bottom: 5px; - padding-top: 30px; -} -.bs-customizer h3 { - margin-bottom: 0; -} -.bs-customizer h4 { - margin-top: 15px; - margin-bottom: 0; -} -.bs-customizer .bs-callout h4 { - margin-top: 0; - /* lame, but due to specificity we have to duplicate */ - margin-bottom: 5px; -} -.bs-customizer input[type="text"] { - font-family: Menlo, Monaco, Consolas, "Courier New", monospace; - background-color: #fafafa; -} -.bs-customizer .help-block { - font-size: 12px; - margin-bottom: 5px; -} -/* Downloads */ -.bs-customize-download .btn-outline { - padding: 20px; -} -/* Error handling */ -.bs-customizer-alert { - position: fixed; - top: 51px; - left: 0; - right: 0; - z-index: 1030; - padding: 15px 0; - color: #fff; - background-color: #d9534f; - box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25); - border-bottom: 1px solid #b94441; -} -.bs-customizer-alert .close { - margin-top: -4px; - font-size: 24px; -} -.bs-customizer-alert p { - margin-bottom: 0; -} -.bs-customizer-alert .glyphicon { - margin-right: 5px; -} -.bs-customizer-alert pre { - margin: 10px 0 0; - color: #fff; - background-color: #a83c3a; - border-color: #973634; - box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.05), 0 1px 0 rgba(255, 255, 255, 0.1); -} -/* - * Miscellaneous - * - * Odds and ends for optimum docs display. - */ -/* About page */ -.bs-about { - font-size: 16px; -} -/* Examples gallery: space out content better */ -.bs-examples h4 { - margin-bottom: 5px; -} -.bs-examples p { - margin-bottom: 20px; -} -/* Pseudo :focus state for showing how it looks in the docs */ -#focusedInput { - border-color: rgba(82, 168, 236, 0.8); - outline: 0; - outline: thin dotted \9; - /* IE6-9 */ - -moz-box-shadow: 0 0 8px rgba(82, 168, 236, 0.6); - box-shadow: 0 0 8px rgba(82, 168, 236, 0.6); -} -/* Better spacing on download options in getting started */ -.docs-dl-options h4 { - margin-top: 15px; - margin-bottom: 5px; -} -h1, -h2, -h3 { - margin-top: 30px; - margin-bottom: 15px; -} -/* - * Advertisement that shows on all pages (except homepage) in page headers. - * `!important` is required for any pre-set property. - */ -.ad { - width: auto !important; - margin: 50px -30px -40px !important; - padding: 20px !important; - overflow: hidden; - /* clearfix */ - height: auto !important; - font-size: 13px !important; - line-height: 16px !important; - text-align: left; - background: #172b4a !important; - border: 0 !important; - box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.075); -} -.ad-img { - margin: 0 !important; -} -.ad-text, -.ad-tag { - float: none !important; - display: block !important; - width: auto !important; - height: auto !important; - margin-left: 145px !important; - font-family: "Helvetica Neue", Helvetica, Arial, sans-serif !important; -} -.ad-text { - padding-top: 0 !important; -} -.ad-tag { - color: #eee !important; - text-align: left !important; -} -.ad-text a, -.ad-tag a { - color: #fff !important; -} -.ad #adsense > img { - display: none; - /* hide what I assume are tracking images */ -} -@media (min-width: 768px) { - .ad { - margin: 0 !important; - border-radius: 4px; - box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.075), 0 1px 0 rgba(255, 255, 255, 0.1); - } -} -@media (min-width: 992px) { - .ad { - position: absolute; - top: 20px; - right: 15px; - /* 15px instead of 0 since box-sizing */ - padding: 15px !important; - width: 330px !important; - } -} -/* Homepage variations */ -.docs-home .ad { - margin: 0 -15px 40px !important; -} -@media (min-width: 480px) { - .docs-home .ad { - width: 330px !important; - margin: 0 auto 40px !important; - border-radius: 4px; - } -} -@media (min-width: 768px) { - .docs-home .ad { - float: left; - width: 330px !important; - margin: 0 0 30px !important; - } - .docs-home .bs-social, - .docs-home .bs-masthead-links { - margin-left: 350px; - } - .docs-home .bs-social { - margin-bottom: 10px; - } - .docs-home .bs-masthead-links { - margin-top: 10px; - } -} -@media (min-width: 992px) { - .docs-home .ad { - position: static; - } -} -@media (min-width: 1170px) { - .docs-home .ad { - margin-top: -25px !important; - } -} -.banner { - padding: 15px 20px; - color: #777; - background-color: #fafafa; - border-top: 1px solid #fff; - border-bottom: 1px solid #e5e5e5; - z-index: 9000; -} -.banner strong { - color: #555; -} -.btn-outline { - color: #666666; - background-color: #fff; - border-color: #e5e5e5; -} -.btn-outline:hover, -.btn-outline:focus, -.btn-outline:active { - color: #fff; - background-color: #666666; - border-color: #666666; -} -/* Inverted outline button (white on dark) */ -.btn-outline-inverse { - color: #fff; - background-color: transparent; - border-color: #eee; -} -.btn-outline-inverse:hover, -.btn-outline-inverse:focus, -.btn-outline-inverse:active { - color: #666666; - text-shadow: none; - background-color: #fff; - border-color: #fff; -} -.callout { - margin: 20px 0; - padding: 20px; - border-left: 3px solid #eeeeee; -} -.callout h4 { - margin-top: 0; - margin-bottom: 5px; -} -.callout p:last-child { - margin-bottom: 0; -} -.callout-info { - background-color: #f4f8fa; - border-color: #bce8f1; -} -.callout-info h4 { - color: #3a87ad; -} -.callout-warning { - background-color: #faf8f0; - border-color: #faebcc; -} -.callout-warning h4 { - color: #c09853; -} -.callout-danger { - background-color: #fdf7f7; - border-color: #eed3d7; -} -.callout-danger h4 { - color: #b94a48; -} -.docs-header, -.docs-home { - color: #eee; - background-color: #666666; -} -/* Page headers */ -.docs-header { - padding: 30px 15px 50px; - /* side padding builds on .container 15px, so 30px */ - font-size: 16px; - text-align: center; - text-shadow: 0 1px 0 rgba(0, 0, 0, 0.15); -} -.docs-header h1 { - color: #fff; -} -.docs-header p { - font-weight: 300; - line-height: 1.5; -} -.docs-header .container { - position: relative; -} -@media (min-width: 768px) { - .docs-header { - font-size: 21px; - text-align: left; - } - .docs-header h1 { - font-size: 60px; - line-height: 1; - } -} -@media (min-width: 992px) { - .docs-header h1, - .docs-header p { - margin-right: 380px; - } -} -/** - * Scrollspy and affixed enhanced navigation to highlight sections and secondary - * sections of docs content. - */ -/* By default it's not affixed in mobile views, so undo that */ -.sidebar.affix { - position: static; -} -/* First level of nav */ -.sidenav { - margin-top: 30px; - margin-bottom: 30px; - padding-top: 10px; - padding-bottom: 10px; - text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5); - background-color: #f7f7f8; - border-radius: 5px; -} -/* All levels of nav */ -.sidebar .nav > li > a { - display: block; - color: #bb2a2a; - padding: 5px 20px; -} -.sidebar .nav > li > a:hover, -.sidebar .nav > li > a:focus { - text-decoration: none; - background-color: #e8ebee; - border-right: 1px solid #d8dde2; -} -.sidebar .nav > .active > a, -.sidebar .nav > .active:hover > a, -.sidebar .nav > .active:focus > a { - font-weight: bold; - color: #666666; - background-color: transparent; - border-right: 1px solid #666666; -} -/* Nav: second level (shown on .active) */ -.sidebar .nav .nav { - display: none; - /* Hide by default, but at >768px, show it */ - margin-bottom: 8px; -} -.sidebar .nav .nav > li > a { - padding-top: 3px; - padding-bottom: 3px; - padding-left: 30px; - font-size: 90%; -} -.sidebar .glyphicon { - font-size: 12px; - margin-left: 10px; -} -/* Show and affix the side nav when space allows it */ -@media (min-width: 992px) { - .sidebar .nav > .active > ul { - display: block; - } - /* Widen the fixed sidebar */ - .sidebar.affix, - .sidebar.affix-bottom { - width: 213px; - } - .sidebar.affix { - position: fixed; - /* Undo the static from mobile first approach */ - top: 80px; - } - .sidebar.affix-bottom { - position: absolute; - /* Undo the static from mobile first approach */ - } - .sidebar.affix-bottom .sidenav, - .sidebar.affix .sidenav { - margin-top: 0; - margin-bottom: 0; - } -} -@media (min-width: 1200px) { - /* Widen the fixed sidebar again */ - .sidebar.affix-bottom, - .sidebar.affix { - width: 263px; - } -} -.docs-nav { - text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.15); - background-color: #666666; - border-color: rgba(0, 0, 0, 0.2); - box-shadow: 0 1px 0 rgba(255, 255, 255, 0.07); -} -.docs-nav .navbar-collapse { - border-color: #222; -} -.docs-nav .container .navbar-brand { - margin: 12px 0 0; - width: 100px; - padding: 0; -} -.docs-nav .container .navbar-brand img { - display: block; - max-width: 100%; - height: auto; -} -.docs-nav .navbar-nav > li > a { - color: #eee; -} -.docs-nav .navbar-nav > li > a:hover , -.docs-nav .navbar-nav > .active > a:hover { - color: #fff; - background-color: rgba(0, 0, 0, 0.2); -} -.docs-nav .navbar-nav > .active > a { - color: #fff; - background-color: rgba(0, 0, 0, 0.3); -} -.docs-nav .navbar-toggle { - border-color: #666666; -} -.docs-nav .navbar-toggle:hover { - background-color: #222; - border-color: #222; -} -body { - padding-top: 60px; -} -.docs-section + .docs-section { - padding-top: 40px; -} -h1[id] { - padding-top: 80px; - margin-top: -45px; -} -h2[id], -h3[id] { - padding-top: 80px; - margin-top: -6px; -} -/** - * Neutralize background color to allow our - * syntax highlighter theme to do the work. - */ -pre code { - background: transparent; -} -pre { - background-color: #f8f8f8; - margin: 20px 0 20px 5px; - border: 1px solid #eee; - border-radius: 0; - -webkit-box-shadow: -5px 0 0 #e2e2e2; - box-shadow: -5px 0 0 #e2e2e2; -} -/** - * Add some padding an margins to tables - */ -table { - margin-bottom: 20px; -} -td { - padding: 0 10px 5px 0; -} - -pre { - margin-left: 2em; - padding: 0.5em; -} - -code { - color: #444; - background-color: #eee; - margin: 0; -} - -tt { - color: #773; -} diff --git a/doc/www/css/shadowbox.css b/doc/www/css/shadowbox.css deleted file mode 100644 index 08e44f0d..00000000 --- a/doc/www/css/shadowbox.css +++ /dev/null @@ -1,30 +0,0 @@ -#sb-title-inner,#sb-info-inner,#sb-loading-inner,div.sb-message{font-family:"HelveticaNeue-Light","Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:200;color:#fff;} -#sb-container{position:fixed;margin:0;padding:0;top:0;left:0;z-index:1500;text-align:left;visibility:hidden;display:none;} -#sb-overlay{position:relative;height:100%;width:100%;} -#sb-wrapper{position:absolute;visibility:hidden;width:100px;} -#sb-wrapper-inner{position:relative;border:1px solid #303030;overflow:hidden;height:100px;} -#sb-body{position:relative;height:100%;} -#sb-body-inner{position:absolute;height:100%;width:100%;} -#sb-player.html{height:100%;overflow:auto;} -#sb-body img{border:none;} -#sb-loading{position:relative;height:100%;} -#sb-loading-inner{position:absolute;font-size:14px;line-height:24px;height:24px;top:50%;margin-top:-12px;width:100%;text-align:center;} -#sb-loading-inner span{background:url(../images/loading.gif) no-repeat;padding-left:34px;display:inline-block;} -#sb-body,#sb-loading{background-color:#060606;} -#sb-title,#sb-info{position:relative;margin:0;padding:0;overflow:hidden;} -#sb-title,#sb-title-inner{height:26px;line-height:26px;} -#sb-title-inner{font-size:16px;} -#sb-info,#sb-info-inner{height:20px;line-height:20px;} -#sb-info-inner{font-size:12px;} -#sb-nav{float:right;height:16px;padding:2px 0;width:45%;} -#sb-nav a{display:block;float:right;height:16px;width:16px;margin-left:3px;cursor:pointer;background-repeat:no-repeat;} -#sb-nav-close{background-image:url(../images/close.png);} -#sb-nav-next{background-image:url(../images/next.png);} -#sb-nav-previous{background-image:url(../images/previous.png);} -#sb-nav-play{background-image:url(../images/play.png);} -#sb-nav-pause{background-image:url(../images/pause.png);} -#sb-counter{float:left;width:45%;} -#sb-counter a{padding:0 4px 0 0;text-decoration:none;cursor:pointer;color:#fff;} -#sb-counter a.sb-counter-current{text-decoration:underline;} -div.sb-message{font-size:12px;padding:10px;text-align:center;} -div.sb-message a:link,div.sb-message a:visited{color:#fff;text-decoration:underline;} diff --git a/doc/www/images/banner.png b/doc/www/images/banner.png deleted file mode 100644 index 4c27960e..00000000 Binary files a/doc/www/images/banner.png and /dev/null differ diff --git a/doc/www/images/bitcoin.svg b/doc/www/images/bitcoin.svg deleted file mode 100644 index dc64d878..00000000 --- a/doc/www/images/bitcoin.svg +++ /dev/null @@ -1,135 +0,0 @@ - - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/doc/www/images/close.png b/doc/www/images/close.png deleted file mode 100644 index 33c1aab5..00000000 Binary files a/doc/www/images/close.png and /dev/null differ diff --git a/doc/www/images/debian-128.png b/doc/www/images/debian-128.png deleted file mode 100644 index 64ee1b25..00000000 Binary files a/doc/www/images/debian-128.png and /dev/null differ diff --git a/doc/www/images/donate.png b/doc/www/images/donate.png deleted file mode 100644 index 187ec5ce..00000000 Binary files a/doc/www/images/donate.png and /dev/null differ diff --git a/doc/www/images/download.png b/doc/www/images/download.png deleted file mode 100644 index b3f1328e..00000000 Binary files a/doc/www/images/download.png and /dev/null differ diff --git a/doc/www/images/favicon.ico b/doc/www/images/favicon.ico deleted file mode 100644 index 9c8b942a..00000000 Binary files a/doc/www/images/favicon.ico and /dev/null differ diff --git a/doc/www/images/help.png b/doc/www/images/help.png deleted file mode 100644 index 08a49d23..00000000 Binary files a/doc/www/images/help.png and /dev/null differ diff --git a/doc/www/images/install.png b/doc/www/images/install.png deleted file mode 100644 index 4c8f82ca..00000000 Binary files a/doc/www/images/install.png and /dev/null differ diff --git a/doc/www/images/linux-32bit-128.png b/doc/www/images/linux-32bit-128.png deleted file mode 100644 index 0109e313..00000000 Binary files a/doc/www/images/linux-32bit-128.png and /dev/null differ diff --git a/doc/www/images/linux-64bit-128.png b/doc/www/images/linux-64bit-128.png deleted file mode 100644 index 1748050b..00000000 Binary files a/doc/www/images/linux-64bit-128.png and /dev/null differ diff --git a/doc/www/images/loading.gif b/doc/www/images/loading.gif deleted file mode 100644 index fac5a1b1..00000000 Binary files a/doc/www/images/loading.gif and /dev/null differ diff --git a/doc/www/images/logo.png b/doc/www/images/logo.png deleted file mode 100644 index abefda44..00000000 Binary files a/doc/www/images/logo.png and /dev/null differ diff --git a/doc/www/images/manual/dialog-export.png b/doc/www/images/manual/dialog-export.png deleted file mode 100644 index d2861fb6..00000000 Binary files a/doc/www/images/manual/dialog-export.png and /dev/null differ diff --git a/doc/www/images/manual/dock-context-sim.png b/doc/www/images/manual/dock-context-sim.png deleted file mode 100644 index eb19b6df..00000000 Binary files a/doc/www/images/manual/dock-context-sim.png and /dev/null differ diff --git a/doc/www/images/manual/dock-context-tool.png b/doc/www/images/manual/dock-context-tool.png deleted file mode 100644 index ed644a11..00000000 Binary files a/doc/www/images/manual/dock-context-tool.png and /dev/null differ diff --git a/doc/www/images/manual/dock-estimates.png b/doc/www/images/manual/dock-estimates.png deleted file mode 100644 index cca3489a..00000000 Binary files a/doc/www/images/manual/dock-estimates.png and /dev/null differ diff --git a/doc/www/images/manual/dock-position.png b/doc/www/images/manual/dock-position.png deleted file mode 100644 index 34c3e40b..00000000 Binary files a/doc/www/images/manual/dock-position.png and /dev/null differ diff --git a/doc/www/images/manual/dock-project.png b/doc/www/images/manual/dock-project.png deleted file mode 100644 index 776c11b0..00000000 Binary files a/doc/www/images/manual/dock-project.png and /dev/null differ diff --git a/doc/www/images/manual/dock-status.png b/doc/www/images/manual/dock-status.png deleted file mode 100644 index 78ed91fd..00000000 Binary files a/doc/www/images/manual/dock-status.png and /dev/null differ diff --git a/doc/www/images/manual/dock-tool-path-bounds.png b/doc/www/images/manual/dock-tool-path-bounds.png deleted file mode 100644 index 53a2b634..00000000 Binary files a/doc/www/images/manual/dock-tool-path-bounds.png and /dev/null differ diff --git a/doc/www/images/manual/dock-workpiece-bounds.png b/doc/www/images/manual/dock-workpiece-bounds.png deleted file mode 100644 index f5e0e5db..00000000 Binary files a/doc/www/images/manual/dock-workpiece-bounds.png and /dev/null differ diff --git a/doc/www/images/manual/layout-default.png b/doc/www/images/manual/layout-default.png deleted file mode 100644 index ce0864ad..00000000 Binary files a/doc/www/images/manual/layout-default.png and /dev/null differ diff --git a/doc/www/images/manual/layout-full.png b/doc/www/images/manual/layout-full.png deleted file mode 100644 index 51675819..00000000 Binary files a/doc/www/images/manual/layout-full.png and /dev/null differ diff --git a/doc/www/images/manual/layout-minimal.png b/doc/www/images/manual/layout-minimal.png deleted file mode 100644 index 373a4a5d..00000000 Binary files a/doc/www/images/manual/layout-minimal.png and /dev/null differ diff --git a/doc/www/images/manual/menu-examples.png b/doc/www/images/manual/menu-examples.png deleted file mode 100644 index effe3e52..00000000 Binary files a/doc/www/images/manual/menu-examples.png and /dev/null differ diff --git a/doc/www/images/manual/menu-file.png b/doc/www/images/manual/menu-file.png deleted file mode 100644 index d1c655e1..00000000 Binary files a/doc/www/images/manual/menu-file.png and /dev/null differ diff --git a/doc/www/images/manual/menu-layout.png b/doc/www/images/manual/menu-layout.png deleted file mode 100644 index b9b4a556..00000000 Binary files a/doc/www/images/manual/menu-layout.png and /dev/null differ diff --git a/doc/www/images/manual/menu-project.png b/doc/www/images/manual/menu-project.png deleted file mode 100644 index 60ec4b37..00000000 Binary files a/doc/www/images/manual/menu-project.png and /dev/null differ diff --git a/doc/www/images/manual/modified.png b/doc/www/images/manual/modified.png deleted file mode 100644 index 4cff3d0f..00000000 Binary files a/doc/www/images/manual/modified.png and /dev/null differ diff --git a/doc/www/images/manual/overview.png b/doc/www/images/manual/overview.png deleted file mode 100644 index 2442d84b..00000000 Binary files a/doc/www/images/manual/overview.png and /dev/null differ diff --git a/doc/www/images/manual/playback-control.png b/doc/www/images/manual/playback-control.png deleted file mode 100644 index 7abaf7e4..00000000 Binary files a/doc/www/images/manual/playback-control.png and /dev/null differ diff --git a/doc/www/images/manual/playback-position.png b/doc/www/images/manual/playback-position.png deleted file mode 100644 index a4bc4ed1..00000000 Binary files a/doc/www/images/manual/playback-position.png and /dev/null differ diff --git a/doc/www/images/manual/progressbar.png b/doc/www/images/manual/progressbar.png deleted file mode 100644 index 32a9e5a3..00000000 Binary files a/doc/www/images/manual/progressbar.png and /dev/null differ diff --git a/doc/www/images/manual/project-units.png b/doc/www/images/manual/project-units.png deleted file mode 100644 index f0870315..00000000 Binary files a/doc/www/images/manual/project-units.png and /dev/null differ diff --git a/doc/www/images/manual/resolution.png b/doc/www/images/manual/resolution.png deleted file mode 100644 index c2de673a..00000000 Binary files a/doc/www/images/manual/resolution.png and /dev/null differ diff --git a/doc/www/images/manual/simulation-control.png b/doc/www/images/manual/simulation-control.png deleted file mode 100644 index 085acb22..00000000 Binary files a/doc/www/images/manual/simulation-control.png and /dev/null differ diff --git a/doc/www/images/manual/thumbs/layout-default.png b/doc/www/images/manual/thumbs/layout-default.png deleted file mode 100644 index f1581702..00000000 Binary files a/doc/www/images/manual/thumbs/layout-default.png and /dev/null differ diff --git a/doc/www/images/manual/thumbs/layout-full.png b/doc/www/images/manual/thumbs/layout-full.png deleted file mode 100644 index 737218db..00000000 Binary files a/doc/www/images/manual/thumbs/layout-full.png and /dev/null differ diff --git a/doc/www/images/manual/thumbs/layout-minimal.png b/doc/www/images/manual/thumbs/layout-minimal.png deleted file mode 100644 index d467713d..00000000 Binary files a/doc/www/images/manual/thumbs/layout-minimal.png and /dev/null differ diff --git a/doc/www/images/manual/thumbs/overview.png b/doc/www/images/manual/thumbs/overview.png deleted file mode 100644 index 6652117d..00000000 Binary files a/doc/www/images/manual/thumbs/overview.png and /dev/null differ diff --git a/doc/www/images/manual/thumbs/view-simulation.png b/doc/www/images/manual/thumbs/view-simulation.png deleted file mode 100644 index 3478c9bf..00000000 Binary files a/doc/www/images/manual/thumbs/view-simulation.png and /dev/null differ diff --git a/doc/www/images/manual/thumbs/view-tool.png b/doc/www/images/manual/thumbs/view-tool.png deleted file mode 100644 index 988dfac7..00000000 Binary files a/doc/www/images/manual/thumbs/view-tool.png and /dev/null differ diff --git a/doc/www/images/manual/tool-settings.png b/doc/www/images/manual/tool-settings.png deleted file mode 100644 index 610a19a0..00000000 Binary files a/doc/www/images/manual/tool-settings.png and /dev/null differ diff --git a/doc/www/images/manual/toolbar-perspective.png b/doc/www/images/manual/toolbar-perspective.png deleted file mode 100644 index 4c08e858..00000000 Binary files a/doc/www/images/manual/toolbar-perspective.png and /dev/null differ diff --git a/doc/www/images/manual/toolbar-project.png b/doc/www/images/manual/toolbar-project.png deleted file mode 100644 index 10fb0f1c..00000000 Binary files a/doc/www/images/manual/toolbar-project.png and /dev/null differ diff --git a/doc/www/images/manual/toolbar-view.png b/doc/www/images/manual/toolbar-view.png deleted file mode 100644 index e5118fcf..00000000 Binary files a/doc/www/images/manual/toolbar-view.png and /dev/null differ diff --git a/doc/www/images/manual/tooltable.png b/doc/www/images/manual/tooltable.png deleted file mode 100644 index 837def2d..00000000 Binary files a/doc/www/images/manual/tooltable.png and /dev/null differ diff --git a/doc/www/images/manual/view-simulation.png b/doc/www/images/manual/view-simulation.png deleted file mode 100644 index 1736f048..00000000 Binary files a/doc/www/images/manual/view-simulation.png and /dev/null differ diff --git a/doc/www/images/manual/view-tool.png b/doc/www/images/manual/view-tool.png deleted file mode 100644 index a653ad42..00000000 Binary files a/doc/www/images/manual/view-tool.png and /dev/null differ diff --git a/doc/www/images/manual/workpiece-automatic.png b/doc/www/images/manual/workpiece-automatic.png deleted file mode 100644 index 33f8a2c5..00000000 Binary files a/doc/www/images/manual/workpiece-automatic.png and /dev/null differ diff --git a/doc/www/images/manual/workpiece-manual.png b/doc/www/images/manual/workpiece-manual.png deleted file mode 100644 index 47f66e57..00000000 Binary files a/doc/www/images/manual/workpiece-manual.png and /dev/null differ diff --git a/doc/www/images/manual/workpiece-view.png b/doc/www/images/manual/workpiece-view.png deleted file mode 100644 index 45497a92..00000000 Binary files a/doc/www/images/manual/workpiece-view.png and /dev/null differ diff --git a/doc/www/images/manual/workpiece.png b/doc/www/images/manual/workpiece.png deleted file mode 100644 index 97f30fe4..00000000 Binary files a/doc/www/images/manual/workpiece.png and /dev/null differ diff --git a/doc/www/images/mint-128.png b/doc/www/images/mint-128.png deleted file mode 100644 index 86f45169..00000000 Binary files a/doc/www/images/mint-128.png and /dev/null differ diff --git a/doc/www/images/next.png b/doc/www/images/next.png deleted file mode 100644 index 0c950d6a..00000000 Binary files a/doc/www/images/next.png and /dev/null differ diff --git a/doc/www/images/openscam-bitcoin-donations.gif b/doc/www/images/openscam-bitcoin-donations.gif deleted file mode 100644 index 9378a4c7..00000000 Binary files a/doc/www/images/openscam-bitcoin-donations.gif and /dev/null differ diff --git a/doc/www/images/openscam.png b/doc/www/images/openscam.png deleted file mode 100644 index 649008c4..00000000 Binary files a/doc/www/images/openscam.png and /dev/null differ diff --git a/doc/www/images/osx-128.png b/doc/www/images/osx-128.png deleted file mode 100644 index 5e59a1c0..00000000 Binary files a/doc/www/images/osx-128.png and /dev/null differ diff --git a/doc/www/images/pause.png b/doc/www/images/pause.png deleted file mode 100644 index 0b5f804a..00000000 Binary files a/doc/www/images/pause.png and /dev/null differ diff --git a/doc/www/images/play.png b/doc/www/images/play.png deleted file mode 100644 index d26c9330..00000000 Binary files a/doc/www/images/play.png and /dev/null differ diff --git a/doc/www/images/previous.png b/doc/www/images/previous.png deleted file mode 100644 index f39220d8..00000000 Binary files a/doc/www/images/previous.png and /dev/null differ diff --git a/doc/www/images/screenshots/full_layout.png b/doc/www/images/screenshots/full_layout.png deleted file mode 100644 index 22091b1c..00000000 Binary files a/doc/www/images/screenshots/full_layout.png and /dev/null differ diff --git a/doc/www/images/screenshots/openscam.png b/doc/www/images/screenshots/openscam.png deleted file mode 100644 index 373a4a5d..00000000 Binary files a/doc/www/images/screenshots/openscam.png and /dev/null differ diff --git a/doc/www/images/screenshots/simulation_view.png b/doc/www/images/screenshots/simulation_view.png deleted file mode 100644 index eef404d2..00000000 Binary files a/doc/www/images/screenshots/simulation_view.png and /dev/null differ diff --git a/doc/www/images/screenshots/thumbs/full_layout.png b/doc/www/images/screenshots/thumbs/full_layout.png deleted file mode 100644 index 657ac64b..00000000 Binary files a/doc/www/images/screenshots/thumbs/full_layout.png and /dev/null differ diff --git a/doc/www/images/screenshots/thumbs/openscam.png b/doc/www/images/screenshots/thumbs/openscam.png deleted file mode 100644 index 8b0a89b7..00000000 Binary files a/doc/www/images/screenshots/thumbs/openscam.png and /dev/null differ diff --git a/doc/www/images/screenshots/thumbs/simulation_view.png b/doc/www/images/screenshots/thumbs/simulation_view.png deleted file mode 100644 index 46f2c99c..00000000 Binary files a/doc/www/images/screenshots/thumbs/simulation_view.png and /dev/null differ diff --git a/doc/www/images/screenshots/thumbs/tool_path_view.png b/doc/www/images/screenshots/thumbs/tool_path_view.png deleted file mode 100644 index 2eb85fd9..00000000 Binary files a/doc/www/images/screenshots/thumbs/tool_path_view.png and /dev/null differ diff --git a/doc/www/images/screenshots/thumbs/tool_view.png b/doc/www/images/screenshots/thumbs/tool_view.png deleted file mode 100644 index 417d54d2..00000000 Binary files a/doc/www/images/screenshots/thumbs/tool_view.png and /dev/null differ diff --git a/doc/www/images/screenshots/thumbs/workpiece_view.png b/doc/www/images/screenshots/thumbs/workpiece_view.png deleted file mode 100644 index b11ab3fe..00000000 Binary files a/doc/www/images/screenshots/thumbs/workpiece_view.png and /dev/null differ diff --git a/doc/www/images/screenshots/tool_path_view.png b/doc/www/images/screenshots/tool_path_view.png deleted file mode 100644 index 42d06ad4..00000000 Binary files a/doc/www/images/screenshots/tool_path_view.png and /dev/null differ diff --git a/doc/www/images/screenshots/tool_view.png b/doc/www/images/screenshots/tool_view.png deleted file mode 100644 index 1f08d97a..00000000 Binary files a/doc/www/images/screenshots/tool_view.png and /dev/null differ diff --git a/doc/www/images/screenshots/workpiece_view.png b/doc/www/images/screenshots/workpiece_view.png deleted file mode 100644 index 6ddfcf7a..00000000 Binary files a/doc/www/images/screenshots/workpiece_view.png and /dev/null differ diff --git a/doc/www/images/subscribe.png b/doc/www/images/subscribe.png deleted file mode 100644 index 36c04d7e..00000000 Binary files a/doc/www/images/subscribe.png and /dev/null differ diff --git a/doc/www/images/support_ribbon.png b/doc/www/images/support_ribbon.png deleted file mode 100644 index 3da4833e..00000000 Binary files a/doc/www/images/support_ribbon.png and /dev/null differ diff --git a/doc/www/images/ubuntu-128.png b/doc/www/images/ubuntu-128.png deleted file mode 100644 index 0cdae9df..00000000 Binary files a/doc/www/images/ubuntu-128.png and /dev/null differ diff --git a/doc/www/images/windows-128.png b/doc/www/images/windows-128.png deleted file mode 100644 index bbb3ae0d..00000000 Binary files a/doc/www/images/windows-128.png and /dev/null differ diff --git a/doc/www/jade/download/current.jade b/doc/www/jade/download/current.jade deleted file mode 100644 index 628d2c63..00000000 --- a/doc/www/jade/download/current.jade +++ /dev/null @@ -1,8 +0,0 @@ -.page-header - h1#current-release Current Downloads - -h3= 'Version ' + version -p Click on the boxes below to download OpenSCAM for your platform: - -p - +do_releases(releases, 'beta', 'release') diff --git a/doc/www/jade/download/debug.jade b/doc/www/jade/download/debug.jade deleted file mode 100644 index 325dcb49..00000000 --- a/doc/www/jade/download/debug.jade +++ /dev/null @@ -1,13 +0,0 @@ -.page-header - h1#debug-release Debug Downloads - -h3= 'Version ' + version -p - | The debug builds can be used to help diagnose problems but they - | are not optimized and run substantially slower than the regular - | releases. - -p Click on the boxes below to download OpenSCAM for your platform: - -p - +do_releases(releases, 'beta', 'debug') diff --git a/doc/www/jade/download/install.jade b/doc/www/jade/download/install.jade deleted file mode 100644 index 5556b814..00000000 --- a/doc/www/jade/download/install.jade +++ /dev/null @@ -1,16 +0,0 @@ -.page-header - h1#install Installation -p - | For Windows or Mac OS-X simply run the installer and follow the - | instructions it gives you. - -p - | To install any of the Linux .deb packages open a terminal and go to the - | directory where you downloaded the package and run the following commands: -pre - code. - sudo apt-get install gdebi - sudo gdebi openscam_*.deb - -p Make sure you've got the right package for your system. -p Alternatively, open the package in your system's package manager. diff --git a/doc/www/jade/download/previous.jade b/doc/www/jade/download/previous.jade deleted file mode 100644 index b04d2de9..00000000 --- a/doc/www/jade/download/previous.jade +++ /dev/null @@ -1,24 +0,0 @@ -.page-header - h1#previous-releases Previous Releases -p - | You can browse previous releases here: - | /releases/ - -p - | The directory layout is as follows: - strong= '/releases/////' - -table - tr - th status - td - alpha, beta or public - tr - th mode - td - release or debug - tr - th build - td - - strong= '--' - tr - th version - td - Major and minor version diff --git a/doc/www/jade/download/run.jade b/doc/www/jade/download/run.jade deleted file mode 100644 index 2c7afa8c..00000000 --- a/doc/www/jade/download/run.jade +++ /dev/null @@ -1,28 +0,0 @@ -.page-header - h1#run Starting OpenSCAM - -p - | For more information about running OpenSCAM see - | the user's manual. - -h3 Windows -p - | In Windows you will find OpenSCAM in your Start menu under - | All Programs -> OpenSCAM -> OpenSCAM. - -h3 Mac OS-X -p - | On Mac OS-X OpenSCAM is installed in the Applications folder. - | In Finder under PLACES you will find the Applications. - | Open this folder and double click on the OpenSCAM icon. - -h3 Linux -p - | In Linux, if you've installed a package, you should find OpenSCAM in - | system menu under Other. Alternatively, you can open a terminal - | and run openscam. - -p - | If you bulit OpenSCAM from source with out installing. Then you must - | open a terminal, go to the directory where built OpenSCAM and run - | ./openscam. diff --git a/doc/www/jade/download/source.jade b/doc/www/jade/download/source.jade deleted file mode 100644 index c27cd191..00000000 --- a/doc/www/jade/download/source.jade +++ /dev/null @@ -1,34 +0,0 @@ -.page-header - h1#source-code Source Code - -p You can build from source in Debian Linux with the following commands: -pre - code. - # Install the prerequisites - sudo apt-get install scons build-essential libbz2-dev zlib1g-dev \ - libexpat1-dev libssl-dev libboost-iostreams-dev libboost-system-dev \ - libboost-filesystem-dev libboost-regex-dev libsqlite3-dev libv8-dev \ - qt4-dev-tools libqt4-dev libqt4-opengl-dev libcairo2-dev git - - # Get the source - git clone https://github.com/CauldronDevelopmentLLC/cbang - git clone https://github.com/CauldronDevelopmentLLC/OpenSCAM - - # Build C! - scons -C cbang - export CBANG_HOME=$PWD/cbang - - # Build OpenSCAM - cd OpenSCAM - scons - - # Build the package - scons package - - # Install the package - sudo dpkg -i openscam_*.deb - -p - | Visit the  - a(href=repoURL + '#readme') GitHub page - |  for information on building the source code. diff --git a/doc/www/jade/footer.jade b/doc/www/jade/footer.jade deleted file mode 100644 index 096bc9a0..00000000 --- a/doc/www/jade/footer.jade +++ /dev/null @@ -1,44 +0,0 @@ -- var ggroup = 'http://groups.google.com/group/openscam'; - -footer.bs-footer(role='contentinfo') - .container - .bs-social - ul.bs-social-buttons - li.github-star - li.github-fork - li - a.footer-button(href = ggroup + '-announcements/boxsubscribe') - h1 Subscribe - h2 to Email Updates - li - a.footer-button(href = ggroup + '-users/boxsubscribe') - h1 Join - h2 the Users Forum - - p - | OpenSCAM and these docs are maintained by - | Cauldron Development LLC. - - p - | Source code released under the - | GLPv2+ License, - | documentation under - | CC BY 3.0. - - ul.footer-links - li= 'Current version ' + version - li.muted · - li - a(href=repoURL + '/issues?state=open') Open Issues - li.muted · - li - a(href=repoURL + '/blob/master/CHANGELOG.md') Changelog - -// Placed at the end of the document so the pages load faster -script(src='//code.jquery.com/jquery-1.10.2.min.js') -script(src='//netdna.bootstrapcdn.com/bootstrap/3.0.3/js/bootstrap.min.js') - -script(src='//cdnjs.cloudflare.com/ajax/libs/holder/2.2.0/holder.min.js') - -script(src='js/shadowbox.js') -script(src='js/main.js') diff --git a/doc/www/jade/head.jade b/doc/www/jade/head.jade deleted file mode 100644 index 060dbca2..00000000 --- a/doc/www/jade/head.jade +++ /dev/null @@ -1,30 +0,0 @@ -meta(charset='utf-8') -meta(http-equiv='X-UA-Compatible', content='IE=edge') -meta(name='viewport', content='width=device-width, initial-scale=1.0') -meta(name='description', content='OpenSCAM is an Open-Source software which \ - simulates 3-axis CNC milling or engraving. It is a fast, flexible and user \ - friendly simulation software for the DIY and Open-Source community. \ - OpenSCAM works on Linux, OS-X and Windows.') -meta(name='author', content='Joseph Coffland') - -title OpenSCAM - -// Main styles -link(rel='stylesheet', - href='//netdna.bootstrapcdn.com/bootstrap/3.0.3/css/bootstrap.min.css') -link(rel='stylesheet', - href='//netdna.bootstrapcdn.com/bootstrap/3.0.3/css/bootstrap-theme.min.css') -link(href='css/shadowbox.css', rel='stylesheet') -link(href='css/main.css', rel='stylesheet') - -// Webfonts -- var family = 'Open+Sans:400,600,700,300|Open+Sans+Condensed:300,700'; -link(href='http://fonts.googleapis.com/css?family=' + family, rel='stylesheet', - type='text/css') - -// HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -//if lt IE 9 - script(src='//oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js') - script(src='//oss.maxcdn.com/libs/respond.js/1.3.0/respond.min.js') - -link(rel='shortcut icon', href='images/favicon.ico') diff --git a/doc/www/jade/header.jade b/doc/www/jade/header.jade deleted file mode 100644 index 49ded8af..00000000 --- a/doc/www/jade/header.jade +++ /dev/null @@ -1,51 +0,0 @@ -include mixins - -header.navbar.navbar-inverse.navbar-fixed-top.docs-nav(role='banner') - a#ribbon(title='Click here to learn how you can support this project.', - href='./#donations') - a#ohloh(href='https://www.ohloh.net/p/openscam?ref=sample', target='_blank') - - .container - .navbar-header - button.navbar-toggle(type='button', data-toggle='collapse', - data-target='.bs-navbar-collapse') - span.sr-only Toggle navigation - span.icon-bar - span.icon-bar - span.icon-bar - - nav.collapse.navbar-collapse.bs-navbar-collapse(role='navigation') - ul.nav.navbar-nav - li - a(href='.') About - li - a(href='download.html') Downloads - li - a(href='manual.html') Users Manual - - ul.nav.navbar-nav.navbar-right - li.dropdown - a.dropdown-toggle(href='#', data-toggle='dropdown') - | GitHub - b.caret - ul.dropdown-menu - li - a(target='_blank', href=repoURL) Source Code - li - a(target='_blank', - href=repoURL + '/issues?state=open') Open Issues - li - a(target='_blank', href=repoURL + '/issues/new') New Issue - -#content.docs-header - .container - != pages[page].titleText - != pages[page].subtext - -.banner - .container - = 'OpenSCAM version ' + version + ' has been released -' - |   - strong - a(href=repoURL + '/blob/master/CHANGELOG.md', target='_blank') - | See what's new. diff --git a/doc/www/jade/main/about.jade b/doc/www/jade/main/about.jade deleted file mode 100644 index 40ac4174..00000000 --- a/doc/www/jade/main/about.jade +++ /dev/null @@ -1,22 +0,0 @@ -.page-header - h1#about About - -p - | OpenSCAM is an - | Open-Source - | software which simulates 3-axis - | CNC - | milling or engraving. It is a fast, flexible and user - | friendly simulation software for the DIY and Open-Source - | community. OpenSCAM works on Linux, OS-X and Windows. - -p - | Being able to simulate is a critical part of creating - | CNC tool paths. Programming a CNC with out a simulator - | is cutting with out measuring; it's both dangerous and - | expensive. With OpenSCAM you can preview the results of - | your cutting operation before you fire up your - | machine. This will save you time and money and open up a - | world of creative possibilities by allowing you to - | rapidly visualize and improve upon designs with out - | wasting material or breaking tools. diff --git a/doc/www/jade/main/community.jade b/doc/www/jade/main/community.jade deleted file mode 100644 index 97e0b809..00000000 --- a/doc/www/jade/main/community.jade +++ /dev/null @@ -1,20 +0,0 @@ -.page-header - h1#community Get Involved - -p There are several ways you can get involved in the OpenSCAM community. -ul - li - | Join the Mailing List: This is a very low volume mailing list for - | OpenSCAM announcements. - - li - | Join the User's Forum: Discuss OpenSCAM with other users. - - li - a(href=repoURL) Join the Development: - |  Get involved with development on GitHub by  - a(href=repoURL + '/issues/new') opening an issue - |  or submitting a pull request. diff --git a/doc/www/jade/main/contact.jade b/doc/www/jade/main/contact.jade deleted file mode 100644 index 5104edd2..00000000 --- a/doc/www/jade/main/contact.jade +++ /dev/null @@ -1,7 +0,0 @@ -.page-header - h1#contact Contact - -p - | For more information about OpenSCAM email - | joseph@cauldrondevelopment.com. diff --git a/doc/www/jade/main/donate.jade b/doc/www/jade/main/donate.jade deleted file mode 100644 index ae22846a..00000000 --- a/doc/www/jade/main/donate.jade +++ /dev/null @@ -1,29 +0,0 @@ -.page-header - h1#donations Donations - -p - | This project is funded through donations. If you find - | OpenSCAM useful please consider donating $25 or more. - | Your donations will make new features, bug fixes - | and the continued development of this software possible. - -h3 Paypal -p To donate with Paypal click the button below: - -p - form(action='https://www.paypal.com/cgi-bin/webscr', method='post') - input(name='cmd', value='_s-xclick', type='hidden') - input(name='hosted_button_id', value='FDP4SVEVT68NG', type='hidden') - input.donate-button(src='images/donate.png', name='submit', type='image', - alt='PayPal - The safer, easier way to pay online!') - -h3 BitCoin -p - | Make a donation by sending to the address or QR - | code below: - -p - p 182aJsBrnmcWxqZ9VCACJyFYNWSH7eKS9R - img(src='images/openscam-bitcoin-donations.gif') - diff --git a/doc/www/jade/main/legal.jade b/doc/www/jade/main/legal.jade deleted file mode 100644 index d9037428..00000000 --- a/doc/www/jade/main/legal.jade +++ /dev/null @@ -1,23 +0,0 @@ -.page-header - h1#legal Legal - -h3 License -p - | OpenSCAM is Open-Source - | software. You may use it under the terms of the - | GNU GENERAL PUBLIC - | LICENSE Version 2. - -h3 Disclaimer -p - strong - | Always use caution when operating any dangerous - | machinery. Simulation is no substitute for carefully - | checking the accuracy and safety of your CNC programs. - | This or any other software could very well make - | mistakes. Programs which appear correct in simulations - | might be very dangerous to run on real machines. The - | results of running any CNC program on a real machine are - | the sole responsibility of the CNC operator. Read the - | software license - | for additional disclaimers. diff --git a/doc/www/jade/main/menu.jade b/doc/www/jade/main/menu.jade deleted file mode 100644 index e74775de..00000000 --- a/doc/www/jade/main/menu.jade +++ /dev/null @@ -1,28 +0,0 @@ -ul.nav.sidenav - li - a(href='#about') About - li - a(href='#quick-start') Quick Start - li - a(href='#mission') Mission - li - a(href='#screenshots') Screenshots - li - a(href='#status') Status - ul.nav - li - a(href='#features') Features - li - a(href='#limitations') Limitations - li - a(href='#missing-linuxcnc-codes') Missing G-Codes - li - a(href='#future-plans') Future Plans - li - a(href='#donations') Donations - li - a(href='#community') Get Involved - li - a(href='#legal') Legal - li - a(href='#contact') Contact diff --git a/doc/www/jade/main/mission.jade b/doc/www/jade/main/mission.jade deleted file mode 100644 index e8f196d0..00000000 --- a/doc/www/jade/main/mission.jade +++ /dev/null @@ -1,26 +0,0 @@ -.page-header - h1#mission Mission -p - | At home manufacturing is one of the next big technology - | revolutions. Much like the PC was 30 years ago. There - | have been major advances in desktop 3D printing - | (e.g. Maker Bot) - | yet uptake of desktop CNCs has lagged despite the - | availability of cheap - | CNC machines. One of the major reasons for this is a - | lack of Open-Source simulation and - | CAM - | (3D model to tool path conversion) software. CAM and NC machine simulation - | present some very difficult, yet not insurmountable, - | programming challenges, as is evidenced by 30+ years of - | academic papers on these topics. Whereas, 3D printing - | simulation and tool path generation are much easier. - -p - | OpenSCAM aims to be a useful CNC simulation platform for the - | DIY and Open-Source community. OpenSCAM should serve the highly - | technical user but remain simple and user friendly enough to - | support less techie types as well. To this end OpenSCAM will - | focus on facilitating specific simulation tasks (i.e. use cases) - | such as engraving and PCB board cutting as well as more advanced - | simulation techniques and programming interfaces. diff --git a/doc/www/jade/main/quick-start.jade b/doc/www/jade/main/quick-start.jade deleted file mode 100644 index f393f60b..00000000 --- a/doc/www/jade/main/quick-start.jade +++ /dev/null @@ -1,11 +0,0 @@ -.page-header - h1#quick-start Quick Start - -p Click on the images below to get started: - -a(href='download.html') - img(src='images/download.png') -a(href='download.html#install') - img(src='images/install.png') -a(href='manual.html') - img(src='images/help.png') diff --git a/doc/www/jade/main/screenshots.jade b/doc/www/jade/main/screenshots.jade deleted file mode 100644 index ae6d19cc..00000000 --- a/doc/www/jade/main/screenshots.jade +++ /dev/null @@ -1,10 +0,0 @@ -.page-header - h1#screenshots Screenshots - -p Click on the screenshots below to see a larger view. -.gallery - - var screenshots = 'openscam simulation_view tool_view tool_path_view '; - - screenshots += 'workpiece_view full_layout'; - each img in screenshots.split(' ') - a(href='images/screenshots/' + img + '.png', rel='shadowbox[Screnshots]') - img(src='images/screenshots/thumbs/' + img + '.png') diff --git a/doc/www/jade/main/status.jade b/doc/www/jade/main/status.jade deleted file mode 100644 index 835a55b3..00000000 --- a/doc/www/jade/main/status.jade +++ /dev/null @@ -1,117 +0,0 @@ -.page-header - h1#status Status - -p - | Joseph Coffland of - | Cauldron Development LLC, - | began development of OpenSCAM in - | early 2011. An alpha release of the software was - | first made available to the public in April, 2012. - | OpenSCAM has an active community of users and active - | development continues in to 2014 (and hopefully - | beyond!). Although there are plans to do much more, - | many of its users find OpenSCAM very useful in its - | current state. True to the nature of Open-Source - | software, and unlike our commercial counterparts, - | version number increases and claims of software - | stability remain conservative. - -h2#features Features -ul - li Fast 3-axis cut-workpiece simulation with 3D visualization. - li Simulates cylindrical, conical, ballnose, spheroid and snubnose tool - | shapes. - li Tool path 3D visualization. - li Multi-threaded rendering can take advantage of multi-processor CPUs. - li GCode parsing, simulation, verification and annotation. - li Supports LinuxCNC (AKA EMC2) O-codes. - li Export cut workpiece to STL file. - li Tool table editing. - li Add height probing to 2D GCode files. Very useful for circuit board - | cutting and metal engraving. - li 2D GCode path optimization. (in progress - +issue(11) - | ) - li Operates in Windows and Linux. - li - | Released under the - | GPL v2+ license. - -h2#limitations Limitations -ul - li Simulates only snapshots of the cutting process. See issue - +issue(2) - | . - li No 5-axis simulation. See issue - +issue(17) - | . - li No Lathe simulation. - li No CAM facilities yet, e.g. 3D model to tool path conversion. - li No CNC machine control, not a replacement for LinuxCNC or MACH3. - li Does not yet detect over/under cutting, collisions with - | the tool shaft or fixtures or rapid moves in the material. - li Not all of the LinuxCNC G-Code language is implemented, yet. See below. - -h2#missing-linuxcnc-codes Missing G-Codes -p - | This section lists features of the - | LinuxCNC - | G-Code language which are not yet implemented in OpenSCAM: - -ul - li More than 3-axis movements. Issue - +issue(17) - | . - li Tool offset compensation. Issue - +issue(15) - | . - li Incremental distance mode. G91. Issue - +issue(42) - | . - li Plane rotation. G10 L2 R#. Issue - +issue(41) - | . - li Canned cycles. G73, G76, G81-G89. Issue - +issue(39) - | . - li Feed modes: inverse time, units per revolution. G93 & G95. Issue - +issue(40) - | . (Only important for estimating run time) - li Quadratic B-spline. G5.1. (Experimental in LinuxCNC) - li NURBS. G5.2 & G5.3. (Experimental in LinuxCNC) - li Spindle Constant Surface Speed mode. G96. (Doesn't really apply) - li Spindle-synchronized motion. G33. (Lathe operations are not supported) - li Rigid Tapping. G33.1. (Lathe operations are not supported) - -p This list is probably incomplete. - -p - | See http://linuxcnc.org/docs/html/gcode/gcode.html - -h2#future-plans Future Plans -p - | Many features are planed for the future of OpenSCAM. Much - | of this depends on the availability of developer time and funding. -p Here are some of the current ideas: - ul - li Real-time cutting simulation. - li Rotational axis simulation. - li 5-axis simulation. - li Lathe simulation. - li Tool collision detection. - li Fixture collision detection. - li Simulate cutting multiple sides of a workpiece. - li Feed and speed calculator. - li Simulation result caching. - li Machine description: speeds, dimensions, axes, etc. - li CNC remote control. - li In application G-Code view and edit. - li Workpiece view slicing. - li Multiple workpieces. - li Composite tools. - li Tool library. - li 3D printer simulation. - li CAM routines: pocketing, offsetting, arrays, etc. - li Font V-Carving. - li Tool path optimization. diff --git a/doc/www/jade/main/template.jade b/doc/www/jade/main/template.jade deleted file mode 100644 index 38b71c87..00000000 --- a/doc/www/jade/main/template.jade +++ /dev/null @@ -1,37 +0,0 @@ -- var page = 'main'; -doctype html -html(lang='en') -head - include ../head -body(class = 'page-' + page) - include ../header - - .container.docs-container - .row - .col-md-3 - .sidebar.hidden-print(role='complementary') - #toc - include menu - - .col-md-9(role='main') - - .docs-section - include about - .docs-section - include quick-start - .docs-section - include mission - .docs-section - include screenshots - .docs-section - include status - .docs-section - include donate - .docs-section - include community - .docs-section - include legal - .docs-section - include contact - - include ../footer diff --git a/doc/www/jade/manual/docks.jade b/doc/www/jade/manual/docks.jade deleted file mode 100644 index e6ced2e0..00000000 --- a/doc/www/jade/manual/docks.jade +++ /dev/null @@ -1,77 +0,0 @@ -.page-header - h1#docks Docks -p - | Docks represent logic parts of the GUI. All but the Project - | and Context docks can be moved around by left clicking on the - | dock title bar and dragging or closed by either clicking the dock's - | close button in the top left corner or via the View -> Docks - | menu. - -h2#docks-project Project -img(src='images/manual/dock-project.png') -p - | The project dock cannot be moved or closed. It contains the tree view of - | the project's three main components: - ol - li Tool paths (created from NC files) - li Tool table - li Workpiece - -h2#docks-context Context -p - | The context dock cannot be moved or closed. It changes depending on - | whether the Simulation View or Tool View is selected. - -h3#docks-context-sim Simulation View -img(src='images/manual/dock-context-sim.png') -p - | When the Simulation View is selected the Context dock - | displays project and workpiece settings. - -h3#docks-context-sim Tool View -img(src='images/manual/dock-context-tool.png') -p - | When the Tool View is selected the Context dock - | displays tool settings. - -h2#docks-position Position -img(src='images/manual/dock-position.png') -p - | The Position dock shows the current tool position in the currently. - | selected project units. If you move the - | position slider at the bottom of - | the Simulation View or start tool path playback the tool position - | will likely change. - -h2#docks-estimates Estimates -img(src='images/manual/dock-estimates.png') -p - | The Estimates dock shows estimates of the current, remaining, - | total and percent cutting time and distance travelled by the tool in the - | currently selected project units. - -h2#docks-status Machine Status -img(src='images/manual/dock-status.png') -p - | The Machine Status dock shows the selected tool, - | feed rate, spindle speed, spin direction and program line. These values - | change as the tool path position changes. - -h2#docks-bounds Bounds -p - | The bounds dialogs show the X, Y and Z - | boundaries and dimensions in the currently selected - | project units. - -h3#docks-bounds-tool-path Tool Path -img(src='images/manual/dock-tool-path-bounds.png') -p - | The bounds of the tool path. - -h3#docks-bounds-workpiece Workpiece -img(src='images/manual/dock-workpiece-bounds.png') -p - | The bounds of the currently defined workpiece. - | This may not be the same as the bounds of the currently visible cut - | workpiece if the workpiece has been changed since the simulation was - | last run. diff --git a/doc/www/jade/manual/export.jade b/doc/www/jade/manual/export.jade deleted file mode 100644 index c0a54805..00000000 --- a/doc/www/jade/manual/export.jade +++ /dev/null @@ -1,55 +0,0 @@ -.page-header - h1#export Exports & Snapshots -img(src='images/manual/toolbar-project.png') -p - | It is possible to save a 3D model of the cut surface, the tool path, - | or a snapshot of the Simulation View or Tool View by - | selecting options either from the Project menu or Project - | toolbar. -img(src='images/manual/dialog-export.png') - -h2#export-surface Surface -p - | The cut surface can be exported to either an ASCII or binary format STL - | file. STL files can be imported in to many other tools for further - | analysis such as MeshLab. -p - | Select Project -> Export from the menu or click on the export - | button on the Project toolbar. Then select Surface - | and the STL format of choice. Finally click the Ok button, - | enter a file name and click the Save button. - -h2#export-tool-path Tool Path -p - | A description of the tool path can be exported to a - | JSON file by following the same procedure - | for exporting a surface, selecting Tool Path in the Export - | dialog. Compact format creates smaller files but Pretty - | format is easier to read. -p - | The JSON file format consists of a list of linear tool path moves. - | Non-linear moves, such as arcs, are broken in to several linear moves which - | approximate the non-linear move. Each move can contain the following move - | entries: - ul - li X, Y & Z axes - li A, B & C axes (Currently unused by OpenSCAM) - li U, V & W axes (Currently unused by OpenSCAM) - li type either RAPID, CUTTING, PROBE, - | or DRILL - li line the active program line - li tool the active tool number - li feed the active feed rate - li speed the active spindle speed. Negative for counterclockwise. - | Each move entry is only present if it's value has changed. - -h2#export-snapwhot Snapshot -p - | Snapshots or screenshots of the Simulation View or - | Tool View can be saved in several different image formats by - | either selecting Project -> Snapshot from the menu or clicking the - | shapshot button from the Project toolbar. -p - | The image format is set by the file extension. The available formats - | can be seen in the file dialog's Image files filter. .png is - | a good image format choice. diff --git a/doc/www/jade/manual/layout.jade b/doc/www/jade/manual/layout.jade deleted file mode 100644 index 3579aee6..00000000 --- a/doc/www/jade/manual/layout.jade +++ /dev/null @@ -1,30 +0,0 @@ -.page-header - h1#layout Layout -p - | OpenSCAM's layout can be easily configured in several ways. You can - | enable or disable any of the toolbars or informational docks from the - | View -> Toolbars or View -> Docks menus. -p - | In addition, there are several built-in layouts which can be selected - | from the View menu. -.gallery - each img in ['default', 'minimal', 'full'] - a(href='images/manual/layout-' + img + '.png', rel='shadowbox[Layouts]', \ - title=img + ' layout') - img(src='images/manual/thumbs/layout-' + img + '.png') - -h2#layout-moving Moving Docks & Toolbars -p - | Docks and toolbars can be dragged to different locations by holding down - | the left mouse button on either the toolbar handle on the left or the - | dock titlebar on the top of the dock. - -h2#layout-fullscreen Fullscreen -p - | It's possible to switch to a fullscreen view either by pressing F11 or - | from the View menu. - -h2#layout-saving Saving the Layout -p - | The layout is automatically saved when you exit the program and restored - | on the next run. diff --git a/doc/www/jade/manual/menu.jade b/doc/www/jade/manual/menu.jade deleted file mode 100644 index 8b434e6d..00000000 --- a/doc/www/jade/manual/menu.jade +++ /dev/null @@ -1,108 +0,0 @@ -ul.nav.sidenav - li - a(href='#overview') Overview - li - a(href='#projects') Projects - ul.nav - li - a(href='#projects-file-operations') New, Open, Close, Save & Save As - li - a(href='#projects-detecting-modifications') Detecting Modifications - li - a(href='#projects-viewing-examples') Viewing the Examples - li - a(href='#projects-units') Units - li - a(href='#simulation') Simulation - ul.nav - li - a(href='#simulation-start-stop') Starting, Stopping & Smoothing - li - a(href='#simulation-progress') Progressbar - li - a(href='#simulation-resolution') Adjusting the Resolution - li - a(href='#zoom-translate-rotate') Zoom, Translate & Rotate - li - a(href='#simulation-snapping') Perspective Snapping - li - a(href='#simulation-view') Changing View Options - li - a(href='#simulation-partial') Partial Simulations - li - a(href='#layout') Layout - ul.nav - li - a(href='#layout-moving') Moving Docks & Toolbars - li - a(href='#layout-fullscreen') Fullscreen - li - a(href='#layout-saving') Saving the Layout - li - a(href='#playback') Tool Path Playback - ul.nav - li - a(href='#playback-position') Tool Path Position - li - a(href='#playback-control') Playback Control - li - a(href='#nc-files') NC Files - li - a(href='#tools') Tools - ul.nav - li - a(href='#tools-add-remove') Adding & Removing - li - a(href='#tool-view') Tool View - li - a(href='#tools-order') Changing Tool Order - li - a(href='#tools-description') Description - li - a(href='#tools-units') Units - li - a(href='#tools-shape') Shape - li - a(href='#tools-dimensions') Dimensions - li - a(href='#workpiece') Workpiece - ul.nav - li - a(href='#workpiece-automatic') Automatic - li - a(href='#workpiece-manual') Manual - li - a(href='#workpiece-view') View - li - a(href='#export') Exports & Snapshots - ul.nav - li - a(href='#export-surface') Surface - li - a(href='#export-tool-path') Tool Path - li - a(href='#export-snapwhot') Snapshot - li - a(href='#docks') Docks - ul.nav - li - a(href='#docks-project') Project - li - a(href='#docks-context') Context - li - a(href='#docks-position') Position - li - a(href='#docks-estimates') Estimates - li - a(href='#docks-status') Machine Status - li - a(href='#docks-bounds') Bounds - li - a(href='#toolbars') Toolbars - ul.nav - li - a(href='#toolbars-project') Project - li - a(href='#toolbars-view') View - li - a(href='#toolbars-perspective') Perspective diff --git a/doc/www/jade/manual/nc-files.jade b/doc/www/jade/manual/nc-files.jade deleted file mode 100644 index c0858304..00000000 --- a/doc/www/jade/manual/nc-files.jade +++ /dev/null @@ -1,16 +0,0 @@ -.page-header - h1#nc-files NC Files -p - | NC files, or Numerical Control files, contain tool path information. - | These may either be G-Code files or TPL (Tool Path - | Language) files. G-Code files usually have a .nc, - | .ngc or .gcode file extension. TPL file names should - | end in .tpl. -p - | NC files may be added either via the Project menu - | or by right clicking on the Project dock. To remove an NC file - | right click on it's name in the Project dock and select - | Remove File. -p - | If OpenSCAM detect changes to an NC file it will automatically restart - | the simulation. diff --git a/doc/www/jade/manual/overview.jade b/doc/www/jade/manual/overview.jade deleted file mode 100644 index 144192a9..00000000 --- a/doc/www/jade/manual/overview.jade +++ /dev/null @@ -1,17 +0,0 @@ -.page-header - h1#overview Overview -p - | This manual describes how to use the various parts of the OpenSCAM - | software GUI. The GUI - | consists of a set of menus, toolbars, docks, the simulation view and - | the tool view. These parts are described in detail in the later sections. - | The graphic below highlights these parts. - -a(href='images/manual/overview.png', rel='shadowbox') - img(src='images/manual/thumbs/overview.png') - -h3 Tooltips -p - | All of the parts of the GUI have tooltips which you can view by holding - | the mouse pointer over component for a few seconds. Tooltips explain - | the component's purpose. diff --git a/doc/www/jade/manual/playback.jade b/doc/www/jade/manual/playback.jade deleted file mode 100644 index 3cb6e2a4..00000000 --- a/doc/www/jade/manual/playback.jade +++ /dev/null @@ -1,31 +0,0 @@ -.page-header - h1#playback Tool Path Playback -p - | Although OpenSCAM is not yet able to show real-time simulations ( - +issue(2) - | ) it is possible to playback the tool path moves and to do - | Partial Simulations. - -h2#playback-position Tool Path Position -img(src='images/manual/playback-position.png') -p - | The tool path position can be set manually using the position slider - | found at the bottom of the Simulation View. The - | Position dock will tell you where the tool - | is in 3D space. The Estimates - | dock will give the current distance traveled and estimates of the time. - | The Machine Status dock will tell you the - | current tool, feed, spindle speed and direction as well as the current - | line in the program. - -h2#playback-control Playback Control -img(src='images/manual/playback-control.png') -p - | The Playback buttons allow you to start and stop playback or - | jump to the end or begining of the simulation. -p - | The Speed buttons can increase or decrease the playback speed. - | A value of 1x is real-time. -p - | The Direction button tells in which direction the simulation is - | running and allow you to change the direction. diff --git a/doc/www/jade/manual/projects.jade b/doc/www/jade/manual/projects.jade deleted file mode 100644 index 2b919a04..00000000 --- a/doc/www/jade/manual/projects.jade +++ /dev/null @@ -1,51 +0,0 @@ -.page-header - h1#projects Projects - -p - | OpenSCAM project files keep track of the three main parts of the simulation: -ol - li Tool Paths (NC files). - li Tool tables. - li Workpiece descriptions. - -p - | Project files are stored as - | XML. - | These files contain links to NC files, so they must be kept - | together. - -p - | If you open NC files directly in OpenSCAM, i.e. with out a project file, - | OpenSCAM will create a default workpiece and tool table automatically. - | If you make changes you will want to save the .xml project file and open it, - | instead of the NC file, in future runs. - -h2#projects-file-operations New, Open, Close, Save & Save As -img(src='images/manual/toolbar-project.png') -p - | The main operations on project files are new, open, close, save, and save - | as. These operations can all be accessed through the File menu. -img(src='images/manual/menu-file.png') - -h2#projects-detecting-modifications Detecting Modifications -img(src='images/manual/modified.png') -p - | OpenSCAM will automatically detect any changes to the project. - | When it does this a '*' will appear in the window's title bar. - | Any attempt to close the current project, either by exiting the program, - | or creating or opening a new project will bring up a dialog which - | will ask you to either save the current project, discard the changes - | and proceed with the requested operation or cancel. - -h2#projects-viewing-examples Viewing the Examples -p - | The File menu contains a submenu of example projects which you can try - | out to get a better feel for what OpenSCAM can do. - -img(src='images/manual/menu-examples.png') - -h2#projects-units Units -img(src='images/manual/project-units.png') -p - | Projects may use imperial or metric units. Tools - | units may be configured independently. diff --git a/doc/www/jade/manual/simulation.jade b/doc/www/jade/manual/simulation.jade deleted file mode 100644 index 0ac5a0f7..00000000 --- a/doc/www/jade/manual/simulation.jade +++ /dev/null @@ -1,94 +0,0 @@ -.page-header - h1#simulation Simulation -p - | This section describes how to configure and control simulations. - -a(href='images/manual/view-simulation.png', rel='shadowbox') - img(src='images/manual/thumbs/view-simulation.png') - -h2#simulation-start-stop Starting, Stopping & Smoothing -img(src='images/manual/simulation-control.png') -p - | Simulations can be stopped, started or restarted via the buttons at the - | bottom right of the simulation view. Any time you change the simulation's - | configuration you will need to rerun to view the changes. You can stop - | or restart a simulation at anytime. The status icon in the bottom left - | tells you if a simulation is active. -p - | When you first open a project the simulation will run automatically. - | Simulations will also start automatically when one of the NC files changes - | on disk. You can abort a simulation by clicking the stop button. -p - | If you enable smoothing (on by default), an extra smoothing operation - | will be performed at the end of the simulation. Smoothing does not - | affect accuracy but can improve the visualization. - -h2#simulation-progress Progressbar -img(src='images/manual/progressbar.png') -p - | The progressbar can be found at the bottom of the Simulation View tab. - | It displays an estimate of the current simulation's progress. - -h2#simulation-resolution Adjusting the Resolution -img(src='images/manual/resolution.png') -p - | The simulator can run at different resolutions. Higher resolutions - | improve accuracy but increase simulation time. OpenSCAM automatically - | chooses a simulation resolution based on the workpiece volume. - | You can select a higher or lower resolution using the resolution - | combobox. -p - | It is also possible to manually set the resolution by editing the - | resolution spinbox. The resolution value specifies the size of the - | simulation grid in millimeters. For example, if your workpiece is - | 100x100x10 mm and you select a resolution of 0.1 mm then OpenSCAM will - | probe 100,000,000 points in 3D space. As the simulation value decreases, - | simulation complexity increases exponentially so don't choose resolution - | values which are too small. -p - | Note, the resolution value is not affected by the project units setting. - | It is always in mm. - -h2#zoom-translate-rotate Zoom, Translate & Rotate -p - | The simulation view can be changed by placing the mouse pointer in the - | Simulation View and performing the following actions. - ul - li Zoom in and out using the mouse wheel. - li Translate by holding down either the middle or right mouse button and - | dragging. - li Rotate by holding down the left mouse button and dragging. - | Also see Perspective Snapping. - -h2#simulation-snapping Perspective Snapping -img(src='images/manual/toolbar-perspective.png') -p - | The simulation view can be rotated, translated or zoomed using the mouse. - | The perspective toolbar, or alternately the View menu - | can be used to snap to particular views. The view defaults to the - | isometric perspective. Other perspectives are front, back, left, right, - | top and bottom. - -h2#simulation-view Changing View Options -img(src='images/manual/toolbar-view.png') -p - | You can control what is visible in the simulation window either using - | the view toolbar or the View menu. -p - | The first set of view options let you select which surface is viewed. - | You can view either then cut workpiece, if it's available, the wire - | view of the cut workpiece, the uncut workpiece or no surface. - | The remaining options allow you to turn off or on the tool path, tool - | workpiece bounds or axis indicator. - -h2#simulation-partial Partial Simulations -img(src='images/manual/playback-position.png') -p - | Although OpenSCAM is not yet able to show you the cutting process in - | real-time ( - +issue(2) - | ), it is possible to view the cut workpiece at any point in time by - | setting the tool path position, using the slider bar, and then rerunning - | the simulation by click the rerun button. -p - | Also see the section on Tool Path Playback. diff --git a/doc/www/jade/manual/template.jade b/doc/www/jade/manual/template.jade deleted file mode 100644 index 03265b93..00000000 --- a/doc/www/jade/manual/template.jade +++ /dev/null @@ -1,41 +0,0 @@ -- var page = 'manual'; -doctype html -html(lang='en') -head - include ../head -body(class = 'page-' + page) - include ../header - - .container.docs-container - .row - .col-md-3 - .sidebar.hidden-print(role='complementary') - #toc - include menu - - .col-md-9(role='main') - - .docs-section - include overview - .docs-section - include projects - .docs-section - include simulation - .docs-section - include layout - .docs-section - include playback - .docs-section - include nc-files - .docs-section - include tools - .docs-section - include workpiece - .docs-section - include export - .docs-section - include docks - .docs-section - include toolbars - - include ../footer diff --git a/doc/www/jade/manual/toolbars.jade b/doc/www/jade/manual/toolbars.jade deleted file mode 100644 index e2595cba..00000000 --- a/doc/www/jade/manual/toolbars.jade +++ /dev/null @@ -1,29 +0,0 @@ -.page-header - h1#toolbars Toolbars -p - | The toolbars contain tool buttons which perform various functions when - | clicked. Toolbars can be moved by holding down the left mouse button - | on the toolbars handle (found on the left) and dragging. Toolbars - | may also be enabled or disabled via the View -> Toolbars menu. - -h2#toolbars-project Project -img(src='images/manual/toolbar-project.png') -p - | The Project toolbar allows quick access to - | project file operations - | new, open and save as well as export and snapshot. - -h2#toolbars-view View -img(src='images/manual/toolbar-view.png') -p - | The View toolbar allows you to select - | simulation view options to select - | the surface view or enable/disable the tool path, tool, workpiece bounds, - | or axes. - -h2#toolbars-perspective Perspective -img(src='images/manual/toolbar-perspective.png') -p - | The Perspective toolbar allows you to quickly change the - | simulation perspective to either - | isometric, front, back, left, right, top or bottom. diff --git a/doc/www/jade/manual/tools.jade b/doc/www/jade/manual/tools.jade deleted file mode 100644 index fcad4744..00000000 --- a/doc/www/jade/manual/tools.jade +++ /dev/null @@ -1,66 +0,0 @@ -.page-header - h1#tools Tools -img(src='images/manual/tooltable.png') -p - | The tool table keeps track of the tools used to cut the workpiece. - | These tools are indexed by numbers starting from 1. You can add remove - | and change the parameters of the tools in the tool table. Rerun the - | simulation to see the effect of your changes. -p - | Any tools referenced by the tool path which are not in the tool table - | will be automatically created by the simulator. The default tool is - | probably not what you want so you should add the tools you need, - | edit their parameters and rerun the simulation. - -img(src='images/manual/tool-settings.png') - -h2#tools-add-remove Adding & Removing -p - | New tools can be added either via the Project menu or by right - | clicking on the Project dock and select Add Tool. -p - | To remove a tool right click on the tool and select Remove Tool. - -h2#tool-view Tool View -a(title='Tool View' href='images/manual/view-tool.png') - img(src='images/manual/thumbs/view-tool.png') -p - | The Tool View shows a diagram of the currently selected tool. - | It automatically updates as you change tool parameters. Note, that the - | view automatically zooms to fit the tool so increasing tool length may - | appear to shrink the tool's diameter but it is only the relative - | diameter that is shrinking. - -h2#tools-order Changing Tool Order -p - | Tools are always sorted in numerical order. You can change a tool's order - | by changing it's number. The user interface will not allow you to create - | two tools with the same number. Make sure all of the tools referenced - | by your tool paths are defined in the tool table. - -h2#tools-description Description -p - | OpenSCAM will give each tool a default description based on it's shape - | and diameter. You can change this by editing the Description - | field. - -h2#tools-units Units -p - | Tools can be specified in either millimeters or inches regardless of the - | project units setting. - -h2#tools-shape Shape -p - | OpenSCAM support the following tool shapes: - ul - li Cylinderical - li Conical - li Ballnose - li Spheroid - li Snubnose - -h2#tools-dimensions Dimensions -p - | Tool Length and Diameter can be set. These specify the - | cutting area only and do not include the tool shaft. Snubnose tools have an - | additional parameter Snub Diameter. diff --git a/doc/www/jade/manual/workpiece.jade b/doc/www/jade/manual/workpiece.jade deleted file mode 100644 index 86276245..00000000 --- a/doc/www/jade/manual/workpiece.jade +++ /dev/null @@ -1,40 +0,0 @@ -.page-header - h1#workpiece Workpiece -p - | The workpiece defines the original uncut material. Currently OpenSCAM - | only supports cuboid workpieces. The workpiece may be defined either - | manually or automatically. -img(src='images/manual/workpiece.png') - -h2#workpiece-automatic Automatic -img(src='images/manual/workpiece-automatic.png') -p - | By default OpenSCAM will automatically create a workpiece for you based - | on the tool path and a percent margin. The Margin extends in - | all directions except the positive Z axis direction. There is no margin - | in the positive Z direction because it is assumed this is the zero point - | for your cutting operation. - -h2#workpiece-manual Manual -img(src='images/manual/workpiece-manual.png') -p - | Often the automatic workpiece is close but not perfect. You can fine - | tune the workpiece dimensions by switching to Manual mode. -p - | The X, Y and Z Dimensions specify - | the length, width and height of the workpiece. Offset - | specifies it's offset from the origin (0, 0, 0). - -h2#workpiece-view View -img(src='images/manual/workpiece-view.png') -p - | You can view the workpiece by selecting the workpiece view from the - | View toolbar or View menu. -p - | When the workpiece view is selected you can see changes to the workpiece - | dimensions immediately but you must rerun the simulation to see the effect - | on the final cut workpiece. Be sure to select the cut workpiece view when - | your done. -p - | You can also more details about the workpiece and tool path dimensions in - | the Bounds Docks. diff --git a/doc/www/jade/mixins.jade b/doc/www/jade/mixins.jade deleted file mode 100644 index 0a3d4928..00000000 --- a/doc/www/jade/mixins.jade +++ /dev/null @@ -1,18 +0,0 @@ -mixin issue(n) - |   - a(href=repoURL + '/issues/' + n)= '#' + n - - -mixin do_release(r, release, mode) - - var url = 'http://openscam.org/releases/' + release + '/' + mode; - - url += '/openscam/' + r[2] + '/v0.2/' + r[3]; - .release(title='Download OpenSCAM for ' + r[0]) - each img in r[1] - img(src='images/' + img, alt=r[0]) - h1= r[0] - a(title='Download OpenSCAM for ' + r[0], href=url)= r[3] - - -mixin do_releases(rs, release, mode) - each r in rs - +do_release(r, release, mode) diff --git a/doc/www/jade/notfound.jade b/doc/www/jade/notfound.jade deleted file mode 100644 index 80a982a5..00000000 --- a/doc/www/jade/notfound.jade +++ /dev/null @@ -1,6 +0,0 @@ -doctype html -html(lang='en') - meta(http-equiv='refresh' content='3; url=/') -body - h1 Sorry page not found - h2 Redirecting... diff --git a/doc/www/jade/template_head.jade b/doc/www/jade/template_head.jade deleted file mode 100644 index 36f737ed..00000000 --- a/doc/www/jade/template_head.jade +++ /dev/null @@ -1,15 +0,0 @@ -doctype html -html(lang='en') -head - include ../head -body(class = 'page-' + page) - include ../header - - .container.docs-container - .row - .col-md-3 - .sidebar.hidden-print(role='complementary') - #toc - include menu - - .col-md-9(role='main') diff --git a/doc/www/jade/template_tail.jade b/doc/www/jade/template_tail.jade deleted file mode 100644 index e13edc4c..00000000 --- a/doc/www/jade/template_tail.jade +++ /dev/null @@ -1 +0,0 @@ - include ../footer diff --git a/doc/www/js/main.js b/doc/www/js/main.js deleted file mode 100644 index 3b64d82b..00000000 --- a/doc/www/js/main.js +++ /dev/null @@ -1,74 +0,0 @@ -$(function() { - // IE10 viewport hack for Surface/desktop Windows 8 bug - if (navigator.userAgent.match(/IEMobile\/10\.0/)) { - var msViewportStyle = document.createElement('style') - msViewportStyle.appendChild( - document.createTextNode('@-ms-viewport{width:auto!important}')); - - document.querySelector('head').appendChild(msViewportStyle); - } - - var $window = $(window); - var $body = $(document.body); - - $body.scrollspy({target: '.sidebar'}); - - $window.on('load', function() {$body.scrollspy('refresh');}); - $('.docs-container [href=#]').click(function(e) {e.preventDefault();}); - - // back to top - setTimeout(function () { - var $sideBar = $('.sidebar'); - - $sideBar.affix({ - offset: { - top: function() { - var offsetTop = $sideBar.offset().top; - var sideBarMargin = - parseInt($sideBar.children(0).css('margin-top'), 10); - var navOuterHeight = $('.docs-nav').height(); - - this.top = offsetTop - navOuterHeight - sideBarMargin; - return this.top; - }, - - bottom: function() { - this.bottom = $('.bs-footer').outerHeight(true); - return this.bottom; - } - } - }) - }, 100); - - setTimeout(function() {$('.top').affix();}, 100); - - // Make releases clickable - $('.release').click(function (e) { - window.location = $(this).find('a').attr('href'); - e.preventDefault(); - }); - - // Open external links in new tab - $('a').each(function (index, a) { - a = $(a); - if (a.attr('href').indexOf('//') != -1) - a.attr('target', '_blank'); - }); - - // Enable shadow box - Shadowbox.init({displayNav: true}); - - // Load GitHub iframes - var base = 'http://ghbtns.com/github-btn.html?' + - 'user=CauldronDevelopmentLLC&repo=OpenSCAM&count=true' - $('